@datadog/create-apps 0.0.15 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +75 -53
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Copyright 2019-Present Datadog, Inc.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
"use strict";var
|
|
7
|
+
"use strict";var li=Object.create;var Nt=Object.defineProperty;var pi=Object.getOwnPropertyDescriptor;var Di=Object.getOwnPropertyNames;var fi=Object.getPrototypeOf,hi=Object.prototype.hasOwnProperty;var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),P=(e,t)=>{for(var n in t)Nt(e,n,{get:t[n],enumerable:!0})},gi=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Di(t))!hi.call(e,o)&&o!==n&&Nt(e,o,{get:()=>t[o],enumerable:!(r=pi(t,o))||r.enumerable});return e};var Q=(e,t,n)=>(n=e!=null?li(fi(e)):{},gi(t||!e||!e.__esModule?Nt(n,"default",{value:e,enumerable:!0}):n,e));var tt=w(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});(function(e){e.StartOfInput="\0",e.EndOfInput="",e.EndOfPartialInput=""})(Y.SpecialToken||(Y.SpecialToken={}));(function(e){e[e.InitialNode=0]="InitialNode",e[e.SuccessNode=1]="SuccessNode",e[e.ErrorNode=2]="ErrorNode",e[e.CustomNode=3]="CustomNode"})(Y.NodeType||(Y.NodeType={}));var mi=-1,Ai=/^(-h|--help)(?:=([0-9]+))?$/,Fi=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,Ei=/^-[a-zA-Z]{2,}$/,Ci=/^([^=]+)=([\s\S]*)$/,yi=process.env.DEBUG_CLI==="1";Y.BATCH_REGEX=Ei;Y.BINDING_REGEX=Ci;Y.HELP_COMMAND_INDEX=mi;Y.HELP_REGEX=Ai;Y.IS_DEBUG=yi;Y.OPTION_REGEX=Fi});var nt=w(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});var io=tt(),Rt=class extends Error{constructor(t){super(t),this.clipanion={type:"usage"},this.name="UsageError"}},jt=class extends Error{constructor(t,n){if(super(),this.input=t,this.candidates=n,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(r=>r.reason!==null&&r.reason===n[0].reason)){let[{reason:r}]=this.candidates;this.message=`${r}
|
|
8
8
|
|
|
9
9
|
${this.candidates.map(({usage:o})=>`$ ${o}`).join(`
|
|
10
10
|
`)}`}else if(this.candidates.length===1){let[{usage:r}]=this.candidates;this.message=`Command not found; did you mean:
|
|
@@ -20,25 +20,25 @@ ${Lt(t)}`}},Mt=class extends Error{constructor(t,n){super(),this.input=t,this.us
|
|
|
20
20
|
${this.usages.map((r,o)=>`${`${o}.`.padStart(4)} ${r}`).join(`
|
|
21
21
|
`)}
|
|
22
22
|
|
|
23
|
-
${Lt(t)}`}},Lt=e=>`While running ${e.filter(t=>t!==
|
|
23
|
+
${Lt(t)}`}},Lt=e=>`While running ${e.filter(t=>t!==io.SpecialToken.EndOfInput&&t!==io.SpecialToken.EndOfPartialInput).map(t=>{let n=JSON.stringify(t);return t.match(/\s/)||t.length===0||n!==`"${t}"`?n:t}).join(" ")}`;Ne.AmbiguousSyntaxError=Mt;Ne.UnknownSyntaxError=jt;Ne.UsageError=Rt});var Ht=w(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});var so=80,Gt=Array(so).fill("\u2501");for(let e=0;e<=24;++e)Gt[Gt.length-e]=`\x1B[38;5;${232+e}m\u2501`;var bi={header:e=>`\x1B[1m\u2501\u2501\u2501 ${e}${e.length<so-5?` ${Gt.slice(e.length+5).join("")}`:":"}\x1B[0m`,bold:e=>`\x1B[1m${e}\x1B[22m`,error:e=>`\x1B[31m\x1B[1m${e}\x1B[22m\x1B[39m`,code:e=>`\x1B[36m${e}\x1B[39m`},vi={header:e=>e,bold:e=>e,error:e=>e,code:e=>e};function wi(e){let t=e.split(`
|
|
24
24
|
`),n=t.filter(o=>o.match(/\S/)),r=n.length>0?n.reduce((o,i)=>Math.min(o,i.length-i.trimStart().length),Number.MAX_VALUE):0;return t.map(o=>o.slice(r).trimRight()).join(`
|
|
25
|
-
`)}function
|
|
26
|
-
`),e=
|
|
25
|
+
`)}function xi(e,{format:t,paragraphs:n}){return e=e.replace(/\r\n?/g,`
|
|
26
|
+
`),e=wi(e),e=e.replace(/^\n+|\n+$/g,""),e=e.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2
|
|
27
27
|
|
|
28
28
|
`),e=e.replace(/\n(\n)?\n*/g,(r,o)=>o||" "),n&&(e=e.split(/\n/).map(r=>{let o=r.match(/^\s*[*-][\t ]+(.*)/);if(!o)return r.match(/(.{1,80})(?: |$)/g).join(`
|
|
29
29
|
`);let i=r.length-r.trimStart().length;return o[1].match(new RegExp(`(.{1,${78-i}})(?: |$)`,"g")).map((a,s)=>" ".repeat(i)+(s===0?"- ":" ")+a).join(`
|
|
30
30
|
`)}).join(`
|
|
31
31
|
|
|
32
32
|
`)),e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(r,o,i)=>t.code(o+i+o)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,o,i)=>t.bold(o+i+o)),e?`${e}
|
|
33
|
-
`:""}Re.formatMarkdownish=
|
|
33
|
+
`:""}Re.formatMarkdownish=xi;Re.richFormat=bi;Re.textFormat=vi});var $=w(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});var ao=nt(),uo=Symbol("clipanion/isOption");function Bi(e){return{...e,[uo]:!0}}function ki(e,t){return typeof e>"u"?[e,t]:typeof e=="object"&&e!==null&&!Array.isArray(e)?[void 0,e]:[e,t]}function Ut(e,{mergeName:t=!1}={}){let n=e.match(/^([^:]+): (.*)$/m);if(!n)return"validation failed";let[,r,o]=n;return t&&(o=o[0].toLowerCase()+o.slice(1)),o=r!=="."||!t?`${r.replace(/^\.(\[|$)/,"$1")}: ${o}`:`: ${o}`,o}function co(e,t){return t.length===1?new ao.UsageError(`${e}${Ut(t[0],{mergeName:!0})}`):new ao.UsageError(`${e}:
|
|
34
34
|
${t.map(n=>`
|
|
35
|
-
- ${Ut(n)}`).join("")}`)}function ki(e,t,n){if(typeof n>"u")return t;let r=[],o=[],i=s=>{let u=t;return t=s,i.bind(null,u)};if(!n(t,{errors:r,coercions:o,coercion:i}))throw uo(`Invalid value for ${e}`,r);for(let[,s]of o)s();return t}ie.applyValidator=ki;ie.cleanValidationError=Ut;ie.formatError=uo;ie.isOptionSymbol=ao;ie.makeCommandOption=xi;ie.rerouteArguments=Bi});var go=w(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});var Oi=/^[a-zA-Z_][a-zA-Z0-9_]*$/;function b(e){return e===null?"null":e===void 0?"undefined":e===""?"an empty string":typeof e=="symbol"?`<${e.toString()}>`:Array.isArray(e)?"an array":JSON.stringify(e)}function Ce(e,t){if(e.length===0)return"nothing";if(e.length===1)return b(e[0]);let n=e.slice(0,-1),r=e[e.length-1],o=e.length>2?`, ${t} `:` ${t} `;return`${n.map(i=>b(i)).join(", ")}${o}${b(r)}`}function se(e,t){var n,r,o;return typeof t=="number"?`${(n=e?.p)!==null&&n!==void 0?n:"."}[${t}]`:Oi.test(t)?`${(r=e?.p)!==null&&r!==void 0?r:""}.${t}`:`${(o=e?.p)!==null&&o!==void 0?o:"."}[${JSON.stringify(t)}]`}function zt(e,t,n){return e===1?t:n}var Pi=/^#[0-9a-f]{6}$/i,Si=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,Ii=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Ti=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,co=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;function g({errors:e,p:t}={},n){return e?.push(`${t??"."}: ${n}`),!1}function Ni(e,t){return n=>{e[t]=n}}function Z(e,t){return n=>{let r=e[t];return e[t]=n,Z(e,t).bind(null,r)}}function je(e,t,n){let r=()=>(e(n()),o),o=()=>(e(t),r);return r}function qt(){return E({test:(e,t)=>!0})}function lo(e){return E({test:(t,n)=>t!==e?g(n,`Expected ${b(e)} (got ${b(t)})`):!0})}function po(){return E({test:(e,t)=>typeof e!="string"?g(t,`Expected a string (got ${b(e)})`):!0})}function Ri(e){let t=Array.isArray(e)?e:Object.values(e),n=t.every(o=>typeof o=="string"||typeof o=="number"),r=new Set(t);return r.size===1?lo([...r][0]):E({test:(o,i)=>r.has(o)?!0:n?g(i,`Expected one of ${Ce(t,"or")} (got ${b(o)})`):g(i,`Expected a valid enumeration value (got ${b(o)})`)})}var ji=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);function Mi(){return E({test:(e,t)=>{var n;if(typeof e!="boolean"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return g(t,"Unbound coercion result");let r=ji.get(e);if(typeof r<"u")return t.coercions.push([(n=t.p)!==null&&n!==void 0?n:".",t.coercion.bind(null,r)]),!0}return g(t,`Expected a boolean (got ${b(e)})`)}return!0}})}function Li(){return E({test:(e,t)=>{var n;if(typeof e!="number"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return g(t,"Unbound coercion result");let r;if(typeof e=="string"){let o;try{o=JSON.parse(e)}catch{}if(typeof o=="number")if(JSON.stringify(o)===e)r=o;else return g(t,`Received a number that can't be safely represented by the runtime (${e})`)}if(typeof r<"u")return t.coercions.push([(n=t.p)!==null&&n!==void 0?n:".",t.coercion.bind(null,r)]),!0}return g(t,`Expected a number (got ${b(e)})`)}return!0}})}function Hi(e){return E({test:(t,n)=>{var r;if(typeof n?.coercions>"u")return g(n,"The isPayload predicate can only be used with coercion enabled");if(typeof n.coercion>"u")return g(n,"Unbound coercion result");if(typeof t!="string")return g(n,`Expected a string (got ${b(t)})`);let o;try{o=JSON.parse(t)}catch{return g(n,`Expected a JSON string (got ${b(t)})`)}let i={value:o};return e(o,Object.assign(Object.assign({},n),{coercion:Z(i,"value")}))?(n.coercions.push([(r=n.p)!==null&&r!==void 0?r:".",n.coercion.bind(null,i.value)]),!0):!1}})}function Gi(){return E({test:(e,t)=>{var n;if(!(e instanceof Date)){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return g(t,"Unbound coercion result");let r;if(typeof e=="string"&&co.test(e))r=new Date(e);else{let o;if(typeof e=="string"){let i;try{i=JSON.parse(e)}catch{}typeof i=="number"&&(o=i)}else typeof e=="number"&&(o=e);if(typeof o<"u")if(Number.isSafeInteger(o)||!Number.isSafeInteger(o*1e3))r=new Date(o*1e3);else return g(t,`Received a timestamp that can't be safely represented by the runtime (${e})`)}if(typeof r<"u")return t.coercions.push([(n=t.p)!==null&&n!==void 0?n:".",t.coercion.bind(null,r)]),!0}return g(t,`Expected a date (got ${b(e)})`)}return!0}})}function ot(e,{delimiter:t}={}){return E({test:(n,r)=>{var o;let i=n;if(typeof n=="string"&&typeof t<"u"&&typeof r?.coercions<"u"){if(typeof r?.coercion>"u")return g(r,"Unbound coercion result");n=n.split(t)}if(!Array.isArray(n))return g(r,`Expected an array (got ${b(n)})`);let a=!0;for(let s=0,u=n.length;s<u&&(a=e(n[s],Object.assign(Object.assign({},r),{p:se(r,s),coercion:Z(n,s)}))&&a,!(!a&&r?.errors==null));++s);return n!==i&&r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n)]),a}})}function Ui(e,{delimiter:t}={}){let n=ot(e,{delimiter:t});return E({test:(r,o)=>{var i,a;if(Object.getPrototypeOf(r).toString()==="[object Set]")if(typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return g(o,"Unbound coercion result");let s=[...r],u=[...r];if(!n(u,Object.assign(Object.assign({},o),{coercion:void 0})))return!1;let d=()=>u.some((l,c)=>l!==s[c])?new Set(u):r;return o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",je(o.coercion,r,d)]),!0}else{let s=!0;for(let u of r)if(s=e(u,Object.assign({},o))&&s,!s&&o?.errors==null)break;return s}if(typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return g(o,"Unbound coercion result");let s={value:r};return n(r,Object.assign(Object.assign({},o),{coercion:Z(s,"value")}))?(o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",je(o.coercion,r,()=>new Set(s.value))]),!0):!1}return g(o,`Expected a set (got ${b(r)})`)}})}function zi(e,t){let n=ot(rt([e,t])),r=it(t,{keys:e});return E({test:(o,i)=>{var a,s,u;if(Object.getPrototypeOf(o).toString()==="[object Map]")if(typeof i?.coercions<"u"){if(typeof i?.coercion>"u")return g(i,"Unbound coercion result");let d=[...o],l=[...o];if(!n(l,Object.assign(Object.assign({},i),{coercion:void 0})))return!1;let c=()=>l.some((p,D)=>p[0]!==d[D][0]||p[1]!==d[D][1])?new Map(l):o;return i.coercions.push([(a=i.p)!==null&&a!==void 0?a:".",je(i.coercion,o,c)]),!0}else{let d=!0;for(let[l,c]of o)if(d=e(l,Object.assign({},i))&&d,!d&&i?.errors==null||(d=t(c,Object.assign(Object.assign({},i),{p:se(i,l)}))&&d,!d&&i?.errors==null))break;return d}if(typeof i?.coercions<"u"){if(typeof i?.coercion>"u")return g(i,"Unbound coercion result");let d={value:o};return Array.isArray(o)?n(o,Object.assign(Object.assign({},i),{coercion:void 0}))?(i.coercions.push([(s=i.p)!==null&&s!==void 0?s:".",je(i.coercion,o,()=>new Map(d.value))]),!0):!1:r(o,Object.assign(Object.assign({},i),{coercion:Z(d,"value")}))?(i.coercions.push([(u=i.p)!==null&&u!==void 0?u:".",je(i.coercion,o,()=>new Map(Object.entries(d.value)))]),!0):!1}return g(i,`Expected a map (got ${b(o)})`)}})}function rt(e,{delimiter:t}={}){let n=ho(e.length);return E({test:(r,o)=>{var i;if(typeof r=="string"&&typeof t<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return g(o,"Unbound coercion result");r=r.split(t),o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",o.coercion.bind(null,r)])}if(!Array.isArray(r))return g(o,`Expected a tuple (got ${b(r)})`);let a=n(r,Object.assign({},o));for(let s=0,u=r.length;s<u&&s<e.length&&(a=e[s](r[s],Object.assign(Object.assign({},o),{p:se(o,s),coercion:Z(r,s)}))&&a,!(!a&&o?.errors==null));++s);return a}})}function it(e,{keys:t=null}={}){let n=ot(rt([t??po(),e]));return E({test:(r,o)=>{var i;if(Array.isArray(r)&&typeof o?.coercions<"u")return typeof o?.coercion>"u"?g(o,"Unbound coercion result"):n(r,Object.assign(Object.assign({},o),{coercion:void 0}))?(r=Object.fromEntries(r),o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",o.coercion.bind(null,r)]),!0):!1;if(typeof r!="object"||r===null)return g(o,`Expected an object (got ${b(r)})`);let a=Object.keys(r),s=!0;for(let u=0,d=a.length;u<d&&(s||o?.errors!=null);++u){let l=a[u],c=r[l];if(l==="__proto__"||l==="constructor"){s=g(Object.assign(Object.assign({},o),{p:se(o,l)}),"Unsafe property name");continue}if(t!==null&&!t(l,o)){s=!1;continue}if(!e(c,Object.assign(Object.assign({},o),{p:se(o,l),coercion:Z(r,l)}))){s=!1;continue}}return s}})}function qi(e,t={}){return it(e,t)}function Do(e,{extra:t=null}={}){let n=Object.keys(e),r=E({test:(o,i)=>{if(typeof o!="object"||o===null)return g(i,`Expected an object (got ${b(o)})`);let a=new Set([...n,...Object.keys(o)]),s={},u=!0;for(let d of a){if(d==="constructor"||d==="__proto__")u=g(Object.assign(Object.assign({},i),{p:se(i,d)}),"Unsafe property name");else{let l=Object.prototype.hasOwnProperty.call(e,d)?e[d]:void 0,c=Object.prototype.hasOwnProperty.call(o,d)?o[d]:void 0;typeof l<"u"?u=l(c,Object.assign(Object.assign({},i),{p:se(i,d),coercion:Z(o,d)}))&&u:t===null?u=g(Object.assign(Object.assign({},i),{p:se(i,d)}),`Extraneous property (got ${b(c)})`):Object.defineProperty(s,d,{enumerable:!0,get:()=>c,set:Ni(o,d)})}if(!u&&i?.errors==null)break}return t!==null&&(u||i?.errors!=null)&&(u=t(s,i)&&u),u}});return Object.assign(r,{properties:e})}function Qi(e){return Do(e,{extra:it(qt())})}var Yi=e=>E({test:(t,n)=>t instanceof e?!0:g(n,`Expected an instance of ${e.name} (got ${b(t)})`)}),Ki=(e,{exclusive:t=!1}={})=>E({test:(n,r)=>{var o,i,a;let s=[],u=typeof r?.errors<"u"?[]:void 0;for(let d=0,l=e.length;d<l;++d){let c=typeof r?.errors<"u"?[]:void 0,p=typeof r?.coercions<"u"?[]:void 0;if(e[d](n,Object.assign(Object.assign({},r),{errors:c,coercions:p,p:`${(o=r?.p)!==null&&o!==void 0?o:"."}#${d+1}`}))){if(s.push([`#${d+1}`,p]),!t)break}else u?.push(c[0])}if(s.length===1){let[,d]=s[0];return typeof d<"u"&&((i=r?.coercions)===null||i===void 0||i.push(...d)),!0}return s.length>1?g(r,`Expected to match exactly a single predicate (matched ${s.join(", ")})`):(a=r?.errors)===null||a===void 0||a.push(...u),!1}});function fo(e){return()=>e}function E({test:e}){return fo(e)()}var ae=class extends Error{constructor({errors:t}={}){let n="Type mismatch";if(t&&t.length>0){n+=`
|
|
35
|
+
- ${Ut(n)}`).join("")}`)}function Oi(e,t,n){if(typeof n>"u")return t;let r=[],o=[],i=s=>{let u=t;return t=s,i.bind(null,u)};if(!n(t,{errors:r,coercions:o,coercion:i}))throw co(`Invalid value for ${e}`,r);for(let[,s]of o)s();return t}ie.applyValidator=Oi;ie.cleanValidationError=Ut;ie.formatError=co;ie.isOptionSymbol=uo;ie.makeCommandOption=Bi;ie.rerouteArguments=ki});var Ao=w(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});var Pi=/^[a-zA-Z_][a-zA-Z0-9_]*$/;function b(e){return e===null?"null":e===void 0?"undefined":e===""?"an empty string":typeof e=="symbol"?`<${e.toString()}>`:Array.isArray(e)?"an array":JSON.stringify(e)}function Ce(e,t){if(e.length===0)return"nothing";if(e.length===1)return b(e[0]);let n=e.slice(0,-1),r=e[e.length-1],o=e.length>2?`, ${t} `:` ${t} `;return`${n.map(i=>b(i)).join(", ")}${o}${b(r)}`}function se(e,t){var n,r,o;return typeof t=="number"?`${(n=e?.p)!==null&&n!==void 0?n:"."}[${t}]`:Pi.test(t)?`${(r=e?.p)!==null&&r!==void 0?r:""}.${t}`:`${(o=e?.p)!==null&&o!==void 0?o:"."}[${JSON.stringify(t)}]`}function zt(e,t,n){return e===1?t:n}var Si=/^#[0-9a-f]{6}$/i,Ii=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,Ti=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Ni=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,lo=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;function m({errors:e,p:t}={},n){return e?.push(`${t??"."}: ${n}`),!1}function Ri(e,t){return n=>{e[t]=n}}function Z(e,t){return n=>{let r=e[t];return e[t]=n,Z(e,t).bind(null,r)}}function je(e,t,n){let r=()=>(e(n()),o),o=()=>(e(t),r);return r}function qt(){return E({test:(e,t)=>!0})}function po(e){return E({test:(t,n)=>t!==e?m(n,`Expected ${b(e)} (got ${b(t)})`):!0})}function Do(){return E({test:(e,t)=>typeof e!="string"?m(t,`Expected a string (got ${b(e)})`):!0})}function ji(e){let t=Array.isArray(e)?e:Object.values(e),n=t.every(o=>typeof o=="string"||typeof o=="number"),r=new Set(t);return r.size===1?po([...r][0]):E({test:(o,i)=>r.has(o)?!0:n?m(i,`Expected one of ${Ce(t,"or")} (got ${b(o)})`):m(i,`Expected a valid enumeration value (got ${b(o)})`)})}var Mi=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);function Li(){return E({test:(e,t)=>{var n;if(typeof e!="boolean"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return m(t,"Unbound coercion result");let r=Mi.get(e);if(typeof r<"u")return t.coercions.push([(n=t.p)!==null&&n!==void 0?n:".",t.coercion.bind(null,r)]),!0}return m(t,`Expected a boolean (got ${b(e)})`)}return!0}})}function Gi(){return E({test:(e,t)=>{var n;if(typeof e!="number"){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return m(t,"Unbound coercion result");let r;if(typeof e=="string"){let o;try{o=JSON.parse(e)}catch{}if(typeof o=="number")if(JSON.stringify(o)===e)r=o;else return m(t,`Received a number that can't be safely represented by the runtime (${e})`)}if(typeof r<"u")return t.coercions.push([(n=t.p)!==null&&n!==void 0?n:".",t.coercion.bind(null,r)]),!0}return m(t,`Expected a number (got ${b(e)})`)}return!0}})}function Hi(e){return E({test:(t,n)=>{var r;if(typeof n?.coercions>"u")return m(n,"The isPayload predicate can only be used with coercion enabled");if(typeof n.coercion>"u")return m(n,"Unbound coercion result");if(typeof t!="string")return m(n,`Expected a string (got ${b(t)})`);let o;try{o=JSON.parse(t)}catch{return m(n,`Expected a JSON string (got ${b(t)})`)}let i={value:o};return e(o,Object.assign(Object.assign({},n),{coercion:Z(i,"value")}))?(n.coercions.push([(r=n.p)!==null&&r!==void 0?r:".",n.coercion.bind(null,i.value)]),!0):!1}})}function Ui(){return E({test:(e,t)=>{var n;if(!(e instanceof Date)){if(typeof t?.coercions<"u"){if(typeof t?.coercion>"u")return m(t,"Unbound coercion result");let r;if(typeof e=="string"&&lo.test(e))r=new Date(e);else{let o;if(typeof e=="string"){let i;try{i=JSON.parse(e)}catch{}typeof i=="number"&&(o=i)}else typeof e=="number"&&(o=e);if(typeof o<"u")if(Number.isSafeInteger(o)||!Number.isSafeInteger(o*1e3))r=new Date(o*1e3);else return m(t,`Received a timestamp that can't be safely represented by the runtime (${e})`)}if(typeof r<"u")return t.coercions.push([(n=t.p)!==null&&n!==void 0?n:".",t.coercion.bind(null,r)]),!0}return m(t,`Expected a date (got ${b(e)})`)}return!0}})}function ot(e,{delimiter:t}={}){return E({test:(n,r)=>{var o;let i=n;if(typeof n=="string"&&typeof t<"u"&&typeof r?.coercions<"u"){if(typeof r?.coercion>"u")return m(r,"Unbound coercion result");n=n.split(t)}if(!Array.isArray(n))return m(r,`Expected an array (got ${b(n)})`);let a=!0;for(let s=0,u=n.length;s<u&&(a=e(n[s],Object.assign(Object.assign({},r),{p:se(r,s),coercion:Z(n,s)}))&&a,!(!a&&r?.errors==null));++s);return n!==i&&r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n)]),a}})}function zi(e,{delimiter:t}={}){let n=ot(e,{delimiter:t});return E({test:(r,o)=>{var i,a;if(Object.getPrototypeOf(r).toString()==="[object Set]")if(typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return m(o,"Unbound coercion result");let s=[...r],u=[...r];if(!n(u,Object.assign(Object.assign({},o),{coercion:void 0})))return!1;let d=()=>u.some((l,c)=>l!==s[c])?new Set(u):r;return o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",je(o.coercion,r,d)]),!0}else{let s=!0;for(let u of r)if(s=e(u,Object.assign({},o))&&s,!s&&o?.errors==null)break;return s}if(typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return m(o,"Unbound coercion result");let s={value:r};return n(r,Object.assign(Object.assign({},o),{coercion:Z(s,"value")}))?(o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",je(o.coercion,r,()=>new Set(s.value))]),!0):!1}return m(o,`Expected a set (got ${b(r)})`)}})}function qi(e,t){let n=ot(rt([e,t])),r=it(t,{keys:e});return E({test:(o,i)=>{var a,s,u;if(Object.getPrototypeOf(o).toString()==="[object Map]")if(typeof i?.coercions<"u"){if(typeof i?.coercion>"u")return m(i,"Unbound coercion result");let d=[...o],l=[...o];if(!n(l,Object.assign(Object.assign({},i),{coercion:void 0})))return!1;let c=()=>l.some((p,D)=>p[0]!==d[D][0]||p[1]!==d[D][1])?new Map(l):o;return i.coercions.push([(a=i.p)!==null&&a!==void 0?a:".",je(i.coercion,o,c)]),!0}else{let d=!0;for(let[l,c]of o)if(d=e(l,Object.assign({},i))&&d,!d&&i?.errors==null||(d=t(c,Object.assign(Object.assign({},i),{p:se(i,l)}))&&d,!d&&i?.errors==null))break;return d}if(typeof i?.coercions<"u"){if(typeof i?.coercion>"u")return m(i,"Unbound coercion result");let d={value:o};return Array.isArray(o)?n(o,Object.assign(Object.assign({},i),{coercion:void 0}))?(i.coercions.push([(s=i.p)!==null&&s!==void 0?s:".",je(i.coercion,o,()=>new Map(d.value))]),!0):!1:r(o,Object.assign(Object.assign({},i),{coercion:Z(d,"value")}))?(i.coercions.push([(u=i.p)!==null&&u!==void 0?u:".",je(i.coercion,o,()=>new Map(Object.entries(d.value)))]),!0):!1}return m(i,`Expected a map (got ${b(o)})`)}})}function rt(e,{delimiter:t}={}){let n=go(e.length);return E({test:(r,o)=>{var i;if(typeof r=="string"&&typeof t<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return m(o,"Unbound coercion result");r=r.split(t),o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",o.coercion.bind(null,r)])}if(!Array.isArray(r))return m(o,`Expected a tuple (got ${b(r)})`);let a=n(r,Object.assign({},o));for(let s=0,u=r.length;s<u&&s<e.length&&(a=e[s](r[s],Object.assign(Object.assign({},o),{p:se(o,s),coercion:Z(r,s)}))&&a,!(!a&&o?.errors==null));++s);return a}})}function it(e,{keys:t=null}={}){let n=ot(rt([t??Do(),e]));return E({test:(r,o)=>{var i;if(Array.isArray(r)&&typeof o?.coercions<"u")return typeof o?.coercion>"u"?m(o,"Unbound coercion result"):n(r,Object.assign(Object.assign({},o),{coercion:void 0}))?(r=Object.fromEntries(r),o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",o.coercion.bind(null,r)]),!0):!1;if(typeof r!="object"||r===null)return m(o,`Expected an object (got ${b(r)})`);let a=Object.keys(r),s=!0;for(let u=0,d=a.length;u<d&&(s||o?.errors!=null);++u){let l=a[u],c=r[l];if(l==="__proto__"||l==="constructor"){s=m(Object.assign(Object.assign({},o),{p:se(o,l)}),"Unsafe property name");continue}if(t!==null&&!t(l,o)){s=!1;continue}if(!e(c,Object.assign(Object.assign({},o),{p:se(o,l),coercion:Z(r,l)}))){s=!1;continue}}return s}})}function Qi(e,t={}){return it(e,t)}function fo(e,{extra:t=null}={}){let n=Object.keys(e),r=E({test:(o,i)=>{if(typeof o!="object"||o===null)return m(i,`Expected an object (got ${b(o)})`);let a=new Set([...n,...Object.keys(o)]),s={},u=!0;for(let d of a){if(d==="constructor"||d==="__proto__")u=m(Object.assign(Object.assign({},i),{p:se(i,d)}),"Unsafe property name");else{let l=Object.prototype.hasOwnProperty.call(e,d)?e[d]:void 0,c=Object.prototype.hasOwnProperty.call(o,d)?o[d]:void 0;typeof l<"u"?u=l(c,Object.assign(Object.assign({},i),{p:se(i,d),coercion:Z(o,d)}))&&u:t===null?u=m(Object.assign(Object.assign({},i),{p:se(i,d)}),`Extraneous property (got ${b(c)})`):Object.defineProperty(s,d,{enumerable:!0,get:()=>c,set:Ri(o,d)})}if(!u&&i?.errors==null)break}return t!==null&&(u||i?.errors!=null)&&(u=t(s,i)&&u),u}});return Object.assign(r,{properties:e})}function Yi(e){return fo(e,{extra:it(qt())})}var Ki=e=>E({test:(t,n)=>t instanceof e?!0:m(n,`Expected an instance of ${e.name} (got ${b(t)})`)}),Wi=(e,{exclusive:t=!1}={})=>E({test:(n,r)=>{var o,i,a;let s=[],u=typeof r?.errors<"u"?[]:void 0;for(let d=0,l=e.length;d<l;++d){let c=typeof r?.errors<"u"?[]:void 0,p=typeof r?.coercions<"u"?[]:void 0;if(e[d](n,Object.assign(Object.assign({},r),{errors:c,coercions:p,p:`${(o=r?.p)!==null&&o!==void 0?o:"."}#${d+1}`}))){if(s.push([`#${d+1}`,p]),!t)break}else u?.push(c[0])}if(s.length===1){let[,d]=s[0];return typeof d<"u"&&((i=r?.coercions)===null||i===void 0||i.push(...d)),!0}return s.length>1?m(r,`Expected to match exactly a single predicate (matched ${s.join(", ")})`):(a=r?.errors)===null||a===void 0||a.push(...u),!1}});function ho(e){return()=>e}function E({test:e}){return ho(e)()}var ae=class extends Error{constructor({errors:t}={}){let n="Type mismatch";if(t&&t.length>0){n+=`
|
|
36
36
|
`;for(let r of t)n+=`
|
|
37
|
-
- ${r}`}super(n)}};function Wi(e,t){if(!t(e))throw new ae}function Vi(e,t){let n=[];if(!t(e,{errors:n}))throw new ae({errors:n})}function Zi(e,t){}function Xi(e,t,{coerce:n=!1,errors:r,throw:o}={}){let i=r?[]:void 0;if(!n){if(t(e,{errors:i}))return o?e:{value:e,errors:void 0};if(o)throw new ae({errors:i});return{value:void 0,errors:i??!0}}let a={value:e},s=Z(a,"value"),u=[];if(!t(e,{errors:i,coercion:s,coercions:u})){if(o)throw new ae({errors:i});return{value:void 0,errors:i??!0}}for(let[,d]of u)d();return o?a.value:{value:a.value,errors:void 0}}function Ji(e,t){let n=rt(e);return((...r)=>{if(!n(r))throw new ae;return t(...r)})}function _i(e){return E({test:(t,n)=>t.length>=e?!0:g(n,`Expected to have a length of at least ${e} elements (got ${t.length})`)})}function $i(e){return E({test:(t,n)=>t.length<=e?!0:g(n,`Expected to have a length of at most ${e} elements (got ${t.length})`)})}function ho(e){return E({test:(t,n)=>t.length!==e?g(n,`Expected to have a length of exactly ${e} elements (got ${t.length})`):!0})}function es({map:e}={}){return E({test:(t,n)=>{let r=new Set,o=new Set;for(let i=0,a=t.length;i<a;++i){let s=t[i],u=typeof e<"u"?e(s):s;if(r.has(u)){if(o.has(u))continue;g(n,`Expected to contain unique elements; got a duplicate with ${b(t)}`),o.add(u)}else r.add(u)}return o.size===0}})}function ts(){return E({test:(e,t)=>e<=0?!0:g(t,`Expected to be negative (got ${e})`)})}function ns(){return E({test:(e,t)=>e>=0?!0:g(t,`Expected to be positive (got ${e})`)})}function os(e){return E({test:(t,n)=>t>=e?!0:g(n,`Expected to be at least ${e} (got ${t})`)})}function rs(e){return E({test:(t,n)=>t<=e?!0:g(n,`Expected to be at most ${e} (got ${t})`)})}function is(e,t){return E({test:(n,r)=>n>=e&&n<=t?!0:g(r,`Expected to be in the [${e}; ${t}] range (got ${n})`)})}function ss(e,t){return E({test:(n,r)=>n>=e&&n<t?!0:g(r,`Expected to be in the [${e}; ${t}[ range (got ${n})`)})}function as({unsafe:e=!1}={}){return E({test:(t,n)=>t!==Math.round(t)?g(n,`Expected to be an integer (got ${t})`):!e&&!Number.isSafeInteger(t)?g(n,`Expected to be a safe integer (got ${t})`):!0})}function us(e){return E({test:(t,n)=>e.test(t)?!0:g(n,`Expected to match the pattern ${e.toString()} (got ${b(t)})`)})}function ds(){return E({test:(e,t)=>e!==e.toLowerCase()?g(t,`Expected to be all-lowercase (got ${e})`):!0})}function cs(){return E({test:(e,t)=>e!==e.toUpperCase()?g(t,`Expected to be all-uppercase (got ${e})`):!0})}function ls(){return E({test:(e,t)=>Ti.test(e)?!0:g(t,`Expected to be a valid UUID v4 (got ${b(e)})`)})}function ps(){return E({test:(e,t)=>co.test(e)?!0:g(t,`Expected to be a valid ISO 8601 date string (got ${b(e)})`)})}function Ds({alpha:e=!1}){return E({test:(t,n)=>(e?Pi.test(t):Si.test(t))?!0:g(n,`Expected to be a valid hexadecimal color string (got ${b(t)})`)})}function fs(){return E({test:(e,t)=>Ii.test(e)?!0:g(t,`Expected to be a valid base 64 string (got ${b(e)})`)})}function hs(e=qt()){return E({test:(t,n)=>{let r;try{r=JSON.parse(t)}catch{return g(n,`Expected to be a valid JSON string (got ${b(t)})`)}return e(r,n)}})}function mo(e,...t){let n=Array.isArray(t[0])?t[0]:t;return E({test:(r,o)=>{var i,a;let s={value:r},u=typeof o?.coercions<"u"?Z(s,"value"):void 0,d=typeof o?.coercions<"u"?[]:void 0;if(!e(r,Object.assign(Object.assign({},o),{coercion:u,coercions:d})))return!1;let l=[];if(typeof d<"u")for(let[,c]of d)l.push(c());try{if(typeof o?.coercions<"u"){if(s.value!==r){if(typeof o?.coercion>"u")return g(o,"Unbound coercion result");o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",o.coercion.bind(null,s.value)])}(a=o?.coercions)===null||a===void 0||a.push(...d)}return n.every(c=>c(s.value,o))}finally{for(let c of l)c()}}})}function ms(e,...t){let n=Array.isArray(t[0])?t[0]:t;return mo(e,n)}function gs(e){return E({test:(t,n)=>typeof t>"u"?!0:e(t,n)})}function As(e){return E({test:(t,n)=>t===null?!0:e(t,n)})}var st={missing:(e,t)=>e.has(t),undefined:(e,t,n)=>e.has(t)&&typeof n[t]<"u",nil:(e,t,n)=>e.has(t)&&n[t]!=null,falsy:(e,t,n)=>e.has(t)&&!!n[t]};function Fs(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>{let s=new Set(Object.keys(i)),u=[];for(let d of r)o(s,d,i)||u.push(d);return u.length>0?g(a,`Missing required ${zt(u.length,"property","properties")} ${Ce(u,"and")}`):!0}})}function Es(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>Object.keys(i).some(d=>o(r,d,i))?!0:g(a,`Missing at least one property from ${Ce(Array.from(r),"or")}`)})}function Cs(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>{let s=new Set(Object.keys(i)),u=[];for(let d of r)o(s,d,i)&&u.push(d);return u.length>0?g(a,`Forbidden ${zt(u.length,"property","properties")} ${Ce(u,"and")}`):!0}})}function ys(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>{let s=new Set(Object.keys(i)),u=[];for(let d of r)o(s,d,i)&&u.push(d);return u.length>1?g(a,`Mutually exclusive properties ${Ce(u,"and")}`):!0}})}(function(e){e.Forbids="Forbids",e.Requires="Requires"})(m.KeyRelationship||(m.KeyRelationship={}));var bs={[m.KeyRelationship.Forbids]:{expect:!1,message:"forbids using"},[m.KeyRelationship.Requires]:{expect:!0,message:"requires using"}};function vs(e,t,n,{ignore:r=[]}={}){let o=new Set(r),i=new Set(n),a=bs[t],s=t===m.KeyRelationship.Forbids?"or":"and";return E({test:(u,d)=>{let l=new Set(Object.keys(u));if(!l.has(e)||o.has(u[e]))return!0;let c=[];for(let p of i)(l.has(p)&&!o.has(u[p]))!==a.expect&&c.push(p);return c.length>=1?g(d,`Property "${e}" ${a.message} ${zt(c.length,"property","properties")} ${Ce(c,s)}`):!0}})}m.TypeAssertionError=ae;m.applyCascade=ms;m.as=Xi;m.assert=Wi;m.assertWithErrors=Vi;m.cascade=mo;m.fn=Ji;m.hasAtLeastOneKey=Es;m.hasExactLength=ho;m.hasForbiddenKeys=Cs;m.hasKeyRelationship=vs;m.hasMaxLength=$i;m.hasMinLength=_i;m.hasMutuallyExclusiveKeys=ys;m.hasRequiredKeys=Fs;m.hasUniqueItems=es;m.isArray=ot;m.isAtLeast=os;m.isAtMost=rs;m.isBase64=fs;m.isBoolean=Mi;m.isDate=Gi;m.isDict=qi;m.isEnum=Ri;m.isHexColor=Ds;m.isISO8601=ps;m.isInExclusiveRange=ss;m.isInInclusiveRange=is;m.isInstanceOf=Yi;m.isInteger=as;m.isJSON=hs;m.isLiteral=lo;m.isLowerCase=ds;m.isMap=zi;m.isNegative=ts;m.isNullable=As;m.isNumber=Li;m.isObject=Do;m.isOneOf=Ki;m.isOptional=gs;m.isPartial=Qi;m.isPayload=Hi;m.isPositive=ns;m.isRecord=it;m.isSet=Ui;m.isString=po;m.isTuple=rt;m.isUUID4=ls;m.isUnknown=qt;m.isUpperCase=cs;m.makeTrait=fo;m.makeValidator=E;m.matchesRegExp=us;m.softAssert=Zi});var ue=w(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});var Ao=$();function ws(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if(n!=="default"){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var Me=class{constructor(){this.help=!1}static Usage(t){return t}async catch(t){throw t}async validateAndExecute(){let n=this.constructor.schema;if(Array.isArray(n)){let{isDict:o,isUnknown:i,applyCascade:a}=await Promise.resolve().then(function(){return ws(go())}),s=a(o(i()),n),u=[],d=[];if(!s(this,{errors:u,coercions:d}))throw Ao.formatError("Invalid option schema",u);for(let[,c]of d)c()}else if(n!=null)throw new Error("Invalid command schema");let r=await this.execute();return typeof r<"u"?r:0}};Me.isOption=Ao.isOptionSymbol;Me.Default=[];Qt.Command=Me});var lt=w(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});var f=tt(),dt=nt();function R(e){f.IS_DEBUG&&console.log(e)}var Fo={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:f.HELP_COMMAND_INDEX,tokens:[]};function Kt(){let e={nodes:[]};for(let t=0;t<f.NodeType.CustomNode;++t)e.nodes.push(j());return e}function Eo(e){let t=Kt(),n=[],r=t.nodes.length;for(let o of e){n.push(r);for(let i=0;i<o.nodes.length;++i)Wt(i)||t.nodes.push(ko(o.nodes[i],r));r+=o.nodes.length-f.NodeType.CustomNode+1}for(let o of n)le(t,f.NodeType.InitialNode,o);return t}function U(e,t){return e.nodes.push(t),e.nodes.length-1}function Co(e){let t=new Set,n=r=>{if(t.has(r))return;t.add(r);let o=e.nodes[r];for(let a of Object.values(o.statics))for(let{to:s}of a)n(s);for(let[,{to:a}]of o.dynamics)n(a);for(let{to:a}of o.shortcuts)n(a);let i=new Set(o.shortcuts.map(({to:a})=>a));for(;o.shortcuts.length>0;){let{to:a}=o.shortcuts.shift(),s=e.nodes[a];for(let[u,d]of Object.entries(s.statics)){let l=Object.prototype.hasOwnProperty.call(o.statics,u)?o.statics[u]:o.statics[u]=[];for(let c of d)l.some(({to:p})=>c.to===p)||l.push(c)}for(let[u,d]of s.dynamics)o.dynamics.some(([l,{to:c}])=>u===l&&d.to===c)||o.dynamics.push([u,d]);for(let u of s.shortcuts)i.has(u.to)||(o.shortcuts.push(u),i.add(u.to))}};n(f.NodeType.InitialNode)}function yo(e,{prefix:t=""}={}){if(f.IS_DEBUG){R(`${t}Nodes are:`);for(let n=0;n<e.nodes.length;++n)R(`${t} ${n}: ${JSON.stringify(e.nodes[n])}`)}}function bo(e,t,n=!1){R(`Running a vm on ${JSON.stringify(t)}`);let r=[{node:f.NodeType.InitialNode,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null,tokens:[]}}];yo(e,{prefix:" "});let o=[f.SpecialToken.StartOfInput,...t];for(let i=0;i<o.length;++i){let a=o[i],s=a===f.SpecialToken.EndOfInput||a===f.SpecialToken.EndOfPartialInput,u=i-1;R(` Processing ${JSON.stringify(a)}`);let d=[];for(let{node:l,state:c}of r){R(` Current node is ${l}`);let p=e.nodes[l];if(l===f.NodeType.ErrorNode){d.push({node:l,state:c});continue}console.assert(p.shortcuts.length===0,"Shortcuts should have been eliminated by now");let D=Object.prototype.hasOwnProperty.call(p.statics,a);if(!n||i<o.length-1||D)if(D){let h=p.statics[a];for(let{to:A,reducer:F}of h)d.push({node:A,state:typeof F<"u"?Le(ut,F,c,a,u):c}),R(` Static transition to ${A} found`)}else R(" No static transition found");else{let h=!1;for(let A of Object.keys(p.statics))if(A.startsWith(a)){if(a===A)for(let{to:F,reducer:C}of p.statics[A])d.push({node:F,state:typeof C<"u"?Le(ut,C,c,a,u):c}),R(` Static transition to ${F} found`);else for(let{to:F}of p.statics[A])d.push({node:F,state:{...c,remainder:A.slice(a.length)}}),R(` Static transition to ${F} found (partial match)`);h=!0}h||R(" No partial static transition found")}if(!s)for(let[h,{to:A,reducer:F}]of p.dynamics)Le(Oo,h,c,a,u)&&(d.push({node:A,state:typeof F<"u"?Le(ut,F,c,a,u):c}),R(` Dynamic transition to ${A} found (via ${h})`))}if(d.length===0&&s&&t.length===1)return[{node:f.NodeType.InitialNode,state:Fo}];if(d.length===0)throw new dt.UnknownSyntaxError(t,r.filter(({node:l})=>l!==f.NodeType.ErrorNode).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(d.every(({node:l})=>l===f.NodeType.ErrorNode))throw new dt.UnknownSyntaxError(t,d.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));r=vo(d)}if(r.length>0){R(" Results:");for(let i of r)R(` - ${i.node} -> ${JSON.stringify(i.state)}`)}else R(" No results");return r}function xs(e,t,{endToken:n=f.SpecialToken.EndOfInput}={}){let r=bo(e,[...t,n]);return wo(t,r.map(({state:o})=>o))}function vo(e){let t=0;for(let{state:n}of e)n.path.length>t&&(t=n.path.length);return e.filter(({state:n})=>n.path.length===t)}function wo(e,t){let n=t.filter(c=>c.selectedIndex!==null);if(n.length===0)throw new Error;let r=n.filter(c=>c.selectedIndex===f.HELP_COMMAND_INDEX||c.requiredOptions.every(p=>p.some(D=>c.options.find(h=>h.name===D))));if(r.length===0)throw new dt.UnknownSyntaxError(e,n.map(c=>({usage:c.candidateUsage,reason:null})));let o=0;for(let c of r)c.path.length>o&&(o=c.path.length);let i=r.filter(c=>c.path.length===o),a=c=>c.positionals.filter(({extra:p})=>!p).length+c.options.length,s=i.map(c=>({state:c,positionalCount:a(c)})),u=0;for(let{positionalCount:c}of s)c>u&&(u=c);let d=s.filter(({positionalCount:c})=>c===u).map(({state:c})=>c),l=xo(d);if(l.length>1)throw new dt.AmbiguousSyntaxError(e,l.map(c=>c.candidateUsage));return l[0]}function xo(e){let t=[],n=[];for(let r of e)r.selectedIndex===f.HELP_COMMAND_INDEX?n.push(r):t.push(r);return n.length>0&&t.push({...Fo,path:Bo(...n.map(r=>r.path)),options:n.reduce((r,o)=>r.concat(o.options),[])}),t}function Bo(e,t,...n){return t===void 0?Array.from(e):Bo(e.filter((r,o)=>r===t[o]),...n)}function j(){return{dynamics:[],shortcuts:[],statics:{}}}function Wt(e){return e===f.NodeType.SuccessNode||e===f.NodeType.ErrorNode}function at(e,t=0){return{to:Wt(e.to)?e.to:e.to>=f.NodeType.CustomNode?e.to+t-f.NodeType.CustomNode+1:e.to+t,reducer:e.reducer}}function ko(e,t=0){let n=j();for(let[r,o]of e.dynamics)n.dynamics.push([r,at(o,t)]);for(let r of e.shortcuts)n.shortcuts.push(at(r,t));for(let[r,o]of Object.entries(e.statics))n.statics[r]=o.map(i=>at(i,t));return n}function P(e,t,n,r,o){e.nodes[t].dynamics.push([n,{to:r,reducer:o}])}function le(e,t,n,r){e.nodes[t].shortcuts.push({to:n,reducer:r})}function T(e,t,n,r,o){(Object.prototype.hasOwnProperty.call(e.nodes[t].statics,n)?e.nodes[t].statics[n]:e.nodes[t].statics[n]=[]).push({to:r,reducer:o})}function Le(e,t,n,r,o){if(Array.isArray(t)){let[i,...a]=t;return e[i](n,r,o,...a)}else return e[t](n,r,o)}var Oo={always:()=>!0,isOptionLike:(e,t)=>!e.ignoreOptions&&t!=="-"&&t.startsWith("-"),isNotOptionLike:(e,t)=>e.ignoreOptions||t==="-"||!t.startsWith("-"),isOption:(e,t,n,r)=>!e.ignoreOptions&&t===r,isBatchOption:(e,t,n,r)=>!e.ignoreOptions&&f.BATCH_REGEX.test(t)&&[...t.slice(1)].every(o=>r.has(`-${o}`)),isBoundOption:(e,t,n,r,o)=>{let i=t.match(f.BINDING_REGEX);return!e.ignoreOptions&&!!i&&f.OPTION_REGEX.test(i[1])&&r.has(i[1])&&o.filter(a=>a.nameSet.includes(i[1])).every(a=>a.allowBinding)},isNegatedOption:(e,t,n,r)=>!e.ignoreOptions&&t===`--no-${r.slice(2)}`,isHelp:(e,t)=>!e.ignoreOptions&&f.HELP_REGEX.test(t),isUnsupportedOption:(e,t,n,r)=>!e.ignoreOptions&&t.startsWith("-")&&f.OPTION_REGEX.test(t)&&!r.has(t),isInvalidOption:(e,t)=>!e.ignoreOptions&&t.startsWith("-")&&!f.OPTION_REGEX.test(t)},ut={setCandidateState:(e,t,n,r)=>({...e,...r}),setSelectedIndex:(e,t,n,r)=>({...e,selectedIndex:r}),pushBatch:(e,t,n,r)=>{let o=e.options.slice(),i=e.tokens.slice();for(let a=1;a<t.length;++a){let s=r.get(`-${t[a]}`),u=a===1?[0,2]:[a,a+1];o.push({name:s,value:!0}),i.push({segmentIndex:n,type:"option",option:s,slice:u})}return{...e,options:o,tokens:i}},pushBound:(e,t,n)=>{let[,r,o]=t.match(f.BINDING_REGEX),i=e.options.concat({name:r,value:o}),a=e.tokens.concat([{segmentIndex:n,type:"option",slice:[0,r.length],option:r},{segmentIndex:n,type:"assign",slice:[r.length,r.length+1]},{segmentIndex:n,type:"value",slice:[r.length+1,r.length+o.length+1]}]);return{...e,options:i,tokens:a}},pushPath:(e,t,n)=>{let r=e.path.concat(t),o=e.tokens.concat({segmentIndex:n,type:"path"});return{...e,path:r,tokens:o}},pushPositional:(e,t,n)=>{let r=e.positionals.concat({value:t,extra:!1}),o=e.tokens.concat({segmentIndex:n,type:"positional"});return{...e,positionals:r,tokens:o}},pushExtra:(e,t,n)=>{let r=e.positionals.concat({value:t,extra:!0}),o=e.tokens.concat({segmentIndex:n,type:"positional"});return{...e,positionals:r,tokens:o}},pushExtraNoLimits:(e,t,n)=>{let r=e.positionals.concat({value:t,extra:X}),o=e.tokens.concat({segmentIndex:n,type:"positional"});return{...e,positionals:r,tokens:o}},pushTrue:(e,t,n,r)=>{let o=e.options.concat({name:r,value:!0}),i=e.tokens.concat({segmentIndex:n,type:"option",option:r});return{...e,options:o,tokens:i}},pushFalse:(e,t,n,r)=>{let o=e.options.concat({name:r,value:!1}),i=e.tokens.concat({segmentIndex:n,type:"option",option:r});return{...e,options:o,tokens:i}},pushUndefined:(e,t,n,r)=>{let o=e.options.concat({name:t,value:void 0}),i=e.tokens.concat({segmentIndex:n,type:"option",option:t});return{...e,options:o,tokens:i}},pushStringValue:(e,t,n)=>{var r;let o=e.options[e.options.length-1],i=e.options.slice(),a=e.tokens.concat({segmentIndex:n,type:"value"});return o.value=((r=o.value)!==null&&r!==void 0?r:[]).concat([t]),{...e,options:i,tokens:a}},setStringValue:(e,t,n)=>{let r=e.options[e.options.length-1],o=e.options.slice(),i=e.tokens.concat({segmentIndex:n,type:"value"});return r.value=t,{...e,options:o,tokens:i}},inhibateOptions:e=>({...e,ignoreOptions:!0}),useHelp:(e,t,n,r)=>{let[,,o]=t.match(f.HELP_REGEX);return typeof o<"u"?{...e,options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}:{...e,options:[{name:"-c",value:String(r)}]}},setError:(e,t,n,r)=>t===f.SpecialToken.EndOfInput||t===f.SpecialToken.EndOfPartialInput?{...e,errorMessage:`${r}.`}:{...e,errorMessage:`${r} ("${t}").`},setOptionArityError:(e,t)=>{let n=e.options[e.options.length-1];return{...e,errorMessage:`Not enough arguments to option ${n.name}.`}}},X=Symbol(),ct=class{constructor(t,n){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=t,this.cliOpts=n}addPath(t){this.paths.push(t)}setArity({leading:t=this.arity.leading,trailing:n=this.arity.trailing,extra:r=this.arity.extra,proxy:o=this.arity.proxy}){Object.assign(this.arity,{leading:t,trailing:n,extra:r,proxy:o})}addPositional({name:t="arg",required:n=!0}={}){if(!n&&this.arity.extra===X)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!n&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!n&&this.arity.extra!==X?this.arity.extra.push(t):this.arity.extra!==X&&this.arity.extra.length===0?this.arity.leading.push(t):this.arity.trailing.push(t)}addRest({name:t="arg",required:n=0}={}){if(this.arity.extra===X)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let r=0;r<n;++r)this.addPositional({name:t});this.arity.extra=X}addProxy({required:t=0}={}){this.addRest({required:t}),this.arity.proxy=!0}addOption({names:t,description:n,arity:r=0,hidden:o=!1,required:i=!1,allowBinding:a=!0}){if(!a&&r>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(r))throw new Error(`The arity must be an integer, got ${r}`);if(r<0)throw new Error(`The arity must be positive, got ${r}`);let s=t.reduce((u,d)=>d.length>u.length?d:u,"");for(let u of t)this.allOptionNames.set(u,s);this.options.push({preferredName:s,nameSet:t,description:n,arity:r,hidden:o,required:i,allowBinding:a})}setContext(t){this.context=t}usage({detailed:t=!0,inlineOptions:n=!0}={}){let r=[this.cliOpts.binaryName],o=[];if(this.paths.length>0&&r.push(...this.paths[0]),t){for(let{preferredName:a,nameSet:s,arity:u,hidden:d,description:l,required:c}of this.options){if(d)continue;let p=[];for(let h=0;h<u;++h)p.push(` #${h}`);let D=`${s.join(",")}${p.join("")}`;!n&&l?o.push({preferredName:a,nameSet:s,definition:D,description:l,required:c}):r.push(c?`<${D}>`:`[${D}]`)}r.push(...this.arity.leading.map(a=>`<${a}>`)),this.arity.extra===X?r.push("..."):r.push(...this.arity.extra.map(a=>`[${a}]`)),r.push(...this.arity.trailing.map(a=>`<${a}>`))}return{usage:r.join(" "),options:o}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let t=Kt(),n=f.NodeType.InitialNode,r=this.usage().usage,o=this.options.filter(s=>s.required).map(s=>s.nameSet);n=U(t,j()),T(t,f.NodeType.InitialNode,f.SpecialToken.StartOfInput,n,["setCandidateState",{candidateUsage:r,requiredOptions:o}]);let i=this.arity.proxy?"always":"isNotOptionLike",a=this.paths.length>0?this.paths:[[]];for(let s of a){let u=n;if(s.length>0){let p=U(t,j());le(t,u,p),this.registerOptions(t,p),u=p}for(let p=0;p<s.length;++p){let D=U(t,j());if(T(t,u,s[p],D,"pushPath"),u=D,p+1<s.length){let h=U(t,j());P(t,u,"isHelp",h,["useHelp",this.cliIndex]),T(t,h,f.SpecialToken.EndOfInput,f.NodeType.SuccessNode,["setSelectedIndex",f.HELP_COMMAND_INDEX])}}if(this.arity.leading.length>0||!this.arity.proxy){let p=U(t,j());P(t,u,"isHelp",p,["useHelp",this.cliIndex]),P(t,p,"always",p,"pushExtra"),T(t,p,f.SpecialToken.EndOfInput,f.NodeType.SuccessNode,["setSelectedIndex",f.HELP_COMMAND_INDEX]),this.registerOptions(t,u)}this.arity.leading.length>0&&(T(t,u,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,u,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex]));let d=u;for(let p=0;p<this.arity.leading.length;++p){let D=U(t,j());(!this.arity.proxy||p+1!==this.arity.leading.length)&&this.registerOptions(t,D),(this.arity.trailing.length>0||p+1!==this.arity.leading.length)&&(T(t,D,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,D,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex])),P(t,d,"isNotOptionLike",D,"pushPositional"),d=D}let l=d;if(this.arity.extra===X||this.arity.extra.length>0){let p=U(t,j());if(le(t,d,p),this.arity.extra===X){let D=U(t,j());this.arity.proxy||this.registerOptions(t,D),P(t,d,i,D,"pushExtraNoLimits"),P(t,D,i,D,"pushExtraNoLimits"),le(t,D,p)}else for(let D=0;D<this.arity.extra.length;++D){let h=U(t,j());(!this.arity.proxy||D>0)&&this.registerOptions(t,h),P(t,l,i,h,"pushExtra"),le(t,h,p),l=h}l=p}this.arity.trailing.length>0&&(T(t,l,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,l,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex]));let c=l;for(let p=0;p<this.arity.trailing.length;++p){let D=U(t,j());this.arity.proxy||this.registerOptions(t,D),p+1<this.arity.trailing.length&&(T(t,D,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,D,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex])),P(t,c,"isNotOptionLike",D,"pushPositional"),c=D}P(t,c,i,f.NodeType.ErrorNode,["setError","Extraneous positional argument"]),T(t,c,f.SpecialToken.EndOfInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex]),T(t,c,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex])}return{machine:t,context:this.context}}registerOptions(t,n){P(t,n,["isOption","--"],n,"inhibateOptions"),P(t,n,["isBatchOption",this.allOptionNames],n,["pushBatch",this.allOptionNames]),P(t,n,["isBoundOption",this.allOptionNames,this.options],n,"pushBound"),P(t,n,["isUnsupportedOption",this.allOptionNames],f.NodeType.ErrorNode,["setError","Unsupported option name"]),P(t,n,["isInvalidOption"],f.NodeType.ErrorNode,["setError","Invalid option name"]);for(let r of this.options)if(r.arity===0)for(let o of r.nameSet)P(t,n,["isOption",o],n,["pushTrue",r.preferredName]),o.startsWith("--")&&!o.startsWith("--no-")&&P(t,n,["isNegatedOption",o],n,["pushFalse",r.preferredName]);else{let o=U(t,j());for(let i of r.nameSet)P(t,n,["isOption",i],o,["pushUndefined",r.preferredName]);for(let i=0;i<r.arity;++i){let a=U(t,j());T(t,o,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,"setOptionArityError"),T(t,o,f.SpecialToken.EndOfPartialInput,f.NodeType.ErrorNode,"setOptionArityError"),P(t,o,"isOptionLike",f.NodeType.ErrorNode,"setOptionArityError");let s=r.arity===1?"setStringValue":"pushStringValue";P(t,o,"isNotOptionLike",a,s),o=a}le(t,o,n)}}},Yt=class e{constructor({binaryName:t="..."}={}){this.builders=[],this.opts={binaryName:t}}static build(t,n={}){return new e(n).commands(t).compile()}getBuilderByIndex(t){if(!(t>=0&&t<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${t})`);return this.builders[t]}commands(t){for(let n of t)n(this.command());return this}command(){let t=new ct(this.builders.length,this.opts);return this.builders.push(t),t}compile(){let t=[],n=[];for(let o of this.builders){let{machine:i,context:a}=o.compile();t.push(i),n.push(a)}let r=Eo(t);return Co(r),{machine:r,contexts:n,process:(o,{partial:i}={})=>{let a=i?f.SpecialToken.EndOfPartialInput:f.SpecialToken.EndOfInput;return xs(r,o,{endToken:a})}}}};x.CliBuilder=Yt;x.CommandBuilder=ct;x.NoLimits=X;x.aggregateHelpStates=xo;x.cloneNode=ko;x.cloneTransition=at;x.debug=R;x.debugMachine=yo;x.execute=Le;x.injectNode=U;x.isTerminalNode=Wt;x.makeAnyOfMachine=Eo;x.makeNode=j;x.makeStateMachine=Kt;x.reducers=ut;x.registerDynamic=P;x.registerShortcut=le;x.registerStatic=T;x.runMachineInternal=bo;x.selectBestState=wo;x.simplifyMachine=Co;x.tests=Oo;x.trimSmallerBranches=vo});var So=w(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});var Bs=require("tty");function ks(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var Vt=ks(Bs);function Os(){return Vt.default&&"getColorDepth"in Vt.default.WriteStream.prototype?Vt.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Po;function Ps(e){let t=Po;if(typeof t>"u"){if(e.stdout===process.stdout&&e.stderr===process.stderr)return null;let{AsyncLocalStorage:n}=require("async_hooks");t=Po=new n;let r=process.stdout._write;process.stdout._write=function(i,a,s){let u=t.getStore();return typeof u>"u"?r.call(this,i,a,s):u.stdout.write(i,a,s)};let o=process.stderr._write;process.stderr._write=function(i,a,s){let u=t.getStore();return typeof u>"u"?o.call(this,i,a,s):u.stderr.write(i,a,s)}}return n=>t.run(e,n)}pt.getCaptureActivator=Ps;pt.getDefaultColorDepth=Os});var Io=w(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});var Ss=ue(),Zt=class e extends Ss.Command{constructor(t){super(),this.contexts=t,this.commands=[]}static from(t,n){let r=new e(n);r.path=t.path;for(let o of t.options)switch(o.name){case"-c":r.commands.push(Number(o.value));break;case"-i":r.index=Number(o.value);break}return r}async execute(){let t=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<t.length&&(t=[t[this.index]]),t.length===0)this.context.stdout.write(this.cli.usage());else if(t.length===1)this.context.stdout.write(this.cli.usage(this.contexts[t[0]].commandClass,{detailed:!0}));else if(t.length>1){this.context.stdout.write(`Multiple commands match your selection:
|
|
37
|
+
- ${r}`}super(n)}};function Vi(e,t){if(!t(e))throw new ae}function Zi(e,t){let n=[];if(!t(e,{errors:n}))throw new ae({errors:n})}function Xi(e,t){}function Ji(e,t,{coerce:n=!1,errors:r,throw:o}={}){let i=r?[]:void 0;if(!n){if(t(e,{errors:i}))return o?e:{value:e,errors:void 0};if(o)throw new ae({errors:i});return{value:void 0,errors:i??!0}}let a={value:e},s=Z(a,"value"),u=[];if(!t(e,{errors:i,coercion:s,coercions:u})){if(o)throw new ae({errors:i});return{value:void 0,errors:i??!0}}for(let[,d]of u)d();return o?a.value:{value:a.value,errors:void 0}}function _i(e,t){let n=rt(e);return((...r)=>{if(!n(r))throw new ae;return t(...r)})}function $i(e){return E({test:(t,n)=>t.length>=e?!0:m(n,`Expected to have a length of at least ${e} elements (got ${t.length})`)})}function es(e){return E({test:(t,n)=>t.length<=e?!0:m(n,`Expected to have a length of at most ${e} elements (got ${t.length})`)})}function go(e){return E({test:(t,n)=>t.length!==e?m(n,`Expected to have a length of exactly ${e} elements (got ${t.length})`):!0})}function ts({map:e}={}){return E({test:(t,n)=>{let r=new Set,o=new Set;for(let i=0,a=t.length;i<a;++i){let s=t[i],u=typeof e<"u"?e(s):s;if(r.has(u)){if(o.has(u))continue;m(n,`Expected to contain unique elements; got a duplicate with ${b(t)}`),o.add(u)}else r.add(u)}return o.size===0}})}function ns(){return E({test:(e,t)=>e<=0?!0:m(t,`Expected to be negative (got ${e})`)})}function os(){return E({test:(e,t)=>e>=0?!0:m(t,`Expected to be positive (got ${e})`)})}function rs(e){return E({test:(t,n)=>t>=e?!0:m(n,`Expected to be at least ${e} (got ${t})`)})}function is(e){return E({test:(t,n)=>t<=e?!0:m(n,`Expected to be at most ${e} (got ${t})`)})}function ss(e,t){return E({test:(n,r)=>n>=e&&n<=t?!0:m(r,`Expected to be in the [${e}; ${t}] range (got ${n})`)})}function as(e,t){return E({test:(n,r)=>n>=e&&n<t?!0:m(r,`Expected to be in the [${e}; ${t}[ range (got ${n})`)})}function us({unsafe:e=!1}={}){return E({test:(t,n)=>t!==Math.round(t)?m(n,`Expected to be an integer (got ${t})`):!e&&!Number.isSafeInteger(t)?m(n,`Expected to be a safe integer (got ${t})`):!0})}function ds(e){return E({test:(t,n)=>e.test(t)?!0:m(n,`Expected to match the pattern ${e.toString()} (got ${b(t)})`)})}function cs(){return E({test:(e,t)=>e!==e.toLowerCase()?m(t,`Expected to be all-lowercase (got ${e})`):!0})}function ls(){return E({test:(e,t)=>e!==e.toUpperCase()?m(t,`Expected to be all-uppercase (got ${e})`):!0})}function ps(){return E({test:(e,t)=>Ni.test(e)?!0:m(t,`Expected to be a valid UUID v4 (got ${b(e)})`)})}function Ds(){return E({test:(e,t)=>lo.test(e)?!0:m(t,`Expected to be a valid ISO 8601 date string (got ${b(e)})`)})}function fs({alpha:e=!1}){return E({test:(t,n)=>(e?Si.test(t):Ii.test(t))?!0:m(n,`Expected to be a valid hexadecimal color string (got ${b(t)})`)})}function hs(){return E({test:(e,t)=>Ti.test(e)?!0:m(t,`Expected to be a valid base 64 string (got ${b(e)})`)})}function gs(e=qt()){return E({test:(t,n)=>{let r;try{r=JSON.parse(t)}catch{return m(n,`Expected to be a valid JSON string (got ${b(t)})`)}return e(r,n)}})}function mo(e,...t){let n=Array.isArray(t[0])?t[0]:t;return E({test:(r,o)=>{var i,a;let s={value:r},u=typeof o?.coercions<"u"?Z(s,"value"):void 0,d=typeof o?.coercions<"u"?[]:void 0;if(!e(r,Object.assign(Object.assign({},o),{coercion:u,coercions:d})))return!1;let l=[];if(typeof d<"u")for(let[,c]of d)l.push(c());try{if(typeof o?.coercions<"u"){if(s.value!==r){if(typeof o?.coercion>"u")return m(o,"Unbound coercion result");o.coercions.push([(i=o.p)!==null&&i!==void 0?i:".",o.coercion.bind(null,s.value)])}(a=o?.coercions)===null||a===void 0||a.push(...d)}return n.every(c=>c(s.value,o))}finally{for(let c of l)c()}}})}function ms(e,...t){let n=Array.isArray(t[0])?t[0]:t;return mo(e,n)}function As(e){return E({test:(t,n)=>typeof t>"u"?!0:e(t,n)})}function Fs(e){return E({test:(t,n)=>t===null?!0:e(t,n)})}var st={missing:(e,t)=>e.has(t),undefined:(e,t,n)=>e.has(t)&&typeof n[t]<"u",nil:(e,t,n)=>e.has(t)&&n[t]!=null,falsy:(e,t,n)=>e.has(t)&&!!n[t]};function Es(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>{let s=new Set(Object.keys(i)),u=[];for(let d of r)o(s,d,i)||u.push(d);return u.length>0?m(a,`Missing required ${zt(u.length,"property","properties")} ${Ce(u,"and")}`):!0}})}function Cs(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>Object.keys(i).some(d=>o(r,d,i))?!0:m(a,`Missing at least one property from ${Ce(Array.from(r),"or")}`)})}function ys(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>{let s=new Set(Object.keys(i)),u=[];for(let d of r)o(s,d,i)&&u.push(d);return u.length>0?m(a,`Forbidden ${zt(u.length,"property","properties")} ${Ce(u,"and")}`):!0}})}function bs(e,t){var n;let r=new Set(e),o=st[(n=t?.missingIf)!==null&&n!==void 0?n:"missing"];return E({test:(i,a)=>{let s=new Set(Object.keys(i)),u=[];for(let d of r)o(s,d,i)&&u.push(d);return u.length>1?m(a,`Mutually exclusive properties ${Ce(u,"and")}`):!0}})}(function(e){e.Forbids="Forbids",e.Requires="Requires"})(g.KeyRelationship||(g.KeyRelationship={}));var vs={[g.KeyRelationship.Forbids]:{expect:!1,message:"forbids using"},[g.KeyRelationship.Requires]:{expect:!0,message:"requires using"}};function ws(e,t,n,{ignore:r=[]}={}){let o=new Set(r),i=new Set(n),a=vs[t],s=t===g.KeyRelationship.Forbids?"or":"and";return E({test:(u,d)=>{let l=new Set(Object.keys(u));if(!l.has(e)||o.has(u[e]))return!0;let c=[];for(let p of i)(l.has(p)&&!o.has(u[p]))!==a.expect&&c.push(p);return c.length>=1?m(d,`Property "${e}" ${a.message} ${zt(c.length,"property","properties")} ${Ce(c,s)}`):!0}})}g.TypeAssertionError=ae;g.applyCascade=ms;g.as=Ji;g.assert=Vi;g.assertWithErrors=Zi;g.cascade=mo;g.fn=_i;g.hasAtLeastOneKey=Cs;g.hasExactLength=go;g.hasForbiddenKeys=ys;g.hasKeyRelationship=ws;g.hasMaxLength=es;g.hasMinLength=$i;g.hasMutuallyExclusiveKeys=bs;g.hasRequiredKeys=Es;g.hasUniqueItems=ts;g.isArray=ot;g.isAtLeast=rs;g.isAtMost=is;g.isBase64=hs;g.isBoolean=Li;g.isDate=Ui;g.isDict=Qi;g.isEnum=ji;g.isHexColor=fs;g.isISO8601=Ds;g.isInExclusiveRange=as;g.isInInclusiveRange=ss;g.isInstanceOf=Ki;g.isInteger=us;g.isJSON=gs;g.isLiteral=po;g.isLowerCase=cs;g.isMap=qi;g.isNegative=ns;g.isNullable=Fs;g.isNumber=Gi;g.isObject=fo;g.isOneOf=Wi;g.isOptional=As;g.isPartial=Yi;g.isPayload=Hi;g.isPositive=os;g.isRecord=it;g.isSet=zi;g.isString=Do;g.isTuple=rt;g.isUUID4=ps;g.isUnknown=qt;g.isUpperCase=ls;g.makeTrait=ho;g.makeValidator=E;g.matchesRegExp=ds;g.softAssert=Xi});var ue=w(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});var Fo=$();function xs(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if(n!=="default"){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var Me=class{constructor(){this.help=!1}static Usage(t){return t}async catch(t){throw t}async validateAndExecute(){let n=this.constructor.schema;if(Array.isArray(n)){let{isDict:o,isUnknown:i,applyCascade:a}=await Promise.resolve().then(function(){return xs(Ao())}),s=a(o(i()),n),u=[],d=[];if(!s(this,{errors:u,coercions:d}))throw Fo.formatError("Invalid option schema",u);for(let[,c]of d)c()}else if(n!=null)throw new Error("Invalid command schema");let r=await this.execute();return typeof r<"u"?r:0}};Me.isOption=Fo.isOptionSymbol;Me.Default=[];Qt.Command=Me});var lt=w(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});var f=tt(),dt=nt();function R(e){f.IS_DEBUG&&console.log(e)}var Eo={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:f.HELP_COMMAND_INDEX,tokens:[]};function Kt(){let e={nodes:[]};for(let t=0;t<f.NodeType.CustomNode;++t)e.nodes.push(j());return e}function Co(e){let t=Kt(),n=[],r=t.nodes.length;for(let o of e){n.push(r);for(let i=0;i<o.nodes.length;++i)Wt(i)||t.nodes.push(Oo(o.nodes[i],r));r+=o.nodes.length-f.NodeType.CustomNode+1}for(let o of n)le(t,f.NodeType.InitialNode,o);return t}function U(e,t){return e.nodes.push(t),e.nodes.length-1}function yo(e){let t=new Set,n=r=>{if(t.has(r))return;t.add(r);let o=e.nodes[r];for(let a of Object.values(o.statics))for(let{to:s}of a)n(s);for(let[,{to:a}]of o.dynamics)n(a);for(let{to:a}of o.shortcuts)n(a);let i=new Set(o.shortcuts.map(({to:a})=>a));for(;o.shortcuts.length>0;){let{to:a}=o.shortcuts.shift(),s=e.nodes[a];for(let[u,d]of Object.entries(s.statics)){let l=Object.prototype.hasOwnProperty.call(o.statics,u)?o.statics[u]:o.statics[u]=[];for(let c of d)l.some(({to:p})=>c.to===p)||l.push(c)}for(let[u,d]of s.dynamics)o.dynamics.some(([l,{to:c}])=>u===l&&d.to===c)||o.dynamics.push([u,d]);for(let u of s.shortcuts)i.has(u.to)||(o.shortcuts.push(u),i.add(u.to))}};n(f.NodeType.InitialNode)}function bo(e,{prefix:t=""}={}){if(f.IS_DEBUG){R(`${t}Nodes are:`);for(let n=0;n<e.nodes.length;++n)R(`${t} ${n}: ${JSON.stringify(e.nodes[n])}`)}}function vo(e,t,n=!1){R(`Running a vm on ${JSON.stringify(t)}`);let r=[{node:f.NodeType.InitialNode,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null,tokens:[]}}];bo(e,{prefix:" "});let o=[f.SpecialToken.StartOfInput,...t];for(let i=0;i<o.length;++i){let a=o[i],s=a===f.SpecialToken.EndOfInput||a===f.SpecialToken.EndOfPartialInput,u=i-1;R(` Processing ${JSON.stringify(a)}`);let d=[];for(let{node:l,state:c}of r){R(` Current node is ${l}`);let p=e.nodes[l];if(l===f.NodeType.ErrorNode){d.push({node:l,state:c});continue}console.assert(p.shortcuts.length===0,"Shortcuts should have been eliminated by now");let D=Object.prototype.hasOwnProperty.call(p.statics,a);if(!n||i<o.length-1||D)if(D){let h=p.statics[a];for(let{to:A,reducer:F}of h)d.push({node:A,state:typeof F<"u"?Le(ut,F,c,a,u):c}),R(` Static transition to ${A} found`)}else R(" No static transition found");else{let h=!1;for(let A of Object.keys(p.statics))if(A.startsWith(a)){if(a===A)for(let{to:F,reducer:C}of p.statics[A])d.push({node:F,state:typeof C<"u"?Le(ut,C,c,a,u):c}),R(` Static transition to ${F} found`);else for(let{to:F}of p.statics[A])d.push({node:F,state:{...c,remainder:A.slice(a.length)}}),R(` Static transition to ${F} found (partial match)`);h=!0}h||R(" No partial static transition found")}if(!s)for(let[h,{to:A,reducer:F}]of p.dynamics)Le(Po,h,c,a,u)&&(d.push({node:A,state:typeof F<"u"?Le(ut,F,c,a,u):c}),R(` Dynamic transition to ${A} found (via ${h})`))}if(d.length===0&&s&&t.length===1)return[{node:f.NodeType.InitialNode,state:Eo}];if(d.length===0)throw new dt.UnknownSyntaxError(t,r.filter(({node:l})=>l!==f.NodeType.ErrorNode).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(d.every(({node:l})=>l===f.NodeType.ErrorNode))throw new dt.UnknownSyntaxError(t,d.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));r=wo(d)}if(r.length>0){R(" Results:");for(let i of r)R(` - ${i.node} -> ${JSON.stringify(i.state)}`)}else R(" No results");return r}function Bs(e,t,{endToken:n=f.SpecialToken.EndOfInput}={}){let r=vo(e,[...t,n]);return xo(t,r.map(({state:o})=>o))}function wo(e){let t=0;for(let{state:n}of e)n.path.length>t&&(t=n.path.length);return e.filter(({state:n})=>n.path.length===t)}function xo(e,t){let n=t.filter(c=>c.selectedIndex!==null);if(n.length===0)throw new Error;let r=n.filter(c=>c.selectedIndex===f.HELP_COMMAND_INDEX||c.requiredOptions.every(p=>p.some(D=>c.options.find(h=>h.name===D))));if(r.length===0)throw new dt.UnknownSyntaxError(e,n.map(c=>({usage:c.candidateUsage,reason:null})));let o=0;for(let c of r)c.path.length>o&&(o=c.path.length);let i=r.filter(c=>c.path.length===o),a=c=>c.positionals.filter(({extra:p})=>!p).length+c.options.length,s=i.map(c=>({state:c,positionalCount:a(c)})),u=0;for(let{positionalCount:c}of s)c>u&&(u=c);let d=s.filter(({positionalCount:c})=>c===u).map(({state:c})=>c),l=Bo(d);if(l.length>1)throw new dt.AmbiguousSyntaxError(e,l.map(c=>c.candidateUsage));return l[0]}function Bo(e){let t=[],n=[];for(let r of e)r.selectedIndex===f.HELP_COMMAND_INDEX?n.push(r):t.push(r);return n.length>0&&t.push({...Eo,path:ko(...n.map(r=>r.path)),options:n.reduce((r,o)=>r.concat(o.options),[])}),t}function ko(e,t,...n){return t===void 0?Array.from(e):ko(e.filter((r,o)=>r===t[o]),...n)}function j(){return{dynamics:[],shortcuts:[],statics:{}}}function Wt(e){return e===f.NodeType.SuccessNode||e===f.NodeType.ErrorNode}function at(e,t=0){return{to:Wt(e.to)?e.to:e.to>=f.NodeType.CustomNode?e.to+t-f.NodeType.CustomNode+1:e.to+t,reducer:e.reducer}}function Oo(e,t=0){let n=j();for(let[r,o]of e.dynamics)n.dynamics.push([r,at(o,t)]);for(let r of e.shortcuts)n.shortcuts.push(at(r,t));for(let[r,o]of Object.entries(e.statics))n.statics[r]=o.map(i=>at(i,t));return n}function S(e,t,n,r,o){e.nodes[t].dynamics.push([n,{to:r,reducer:o}])}function le(e,t,n,r){e.nodes[t].shortcuts.push({to:n,reducer:r})}function T(e,t,n,r,o){(Object.prototype.hasOwnProperty.call(e.nodes[t].statics,n)?e.nodes[t].statics[n]:e.nodes[t].statics[n]=[]).push({to:r,reducer:o})}function Le(e,t,n,r,o){if(Array.isArray(t)){let[i,...a]=t;return e[i](n,r,o,...a)}else return e[t](n,r,o)}var Po={always:()=>!0,isOptionLike:(e,t)=>!e.ignoreOptions&&t!=="-"&&t.startsWith("-"),isNotOptionLike:(e,t)=>e.ignoreOptions||t==="-"||!t.startsWith("-"),isOption:(e,t,n,r)=>!e.ignoreOptions&&t===r,isBatchOption:(e,t,n,r)=>!e.ignoreOptions&&f.BATCH_REGEX.test(t)&&[...t.slice(1)].every(o=>r.has(`-${o}`)),isBoundOption:(e,t,n,r,o)=>{let i=t.match(f.BINDING_REGEX);return!e.ignoreOptions&&!!i&&f.OPTION_REGEX.test(i[1])&&r.has(i[1])&&o.filter(a=>a.nameSet.includes(i[1])).every(a=>a.allowBinding)},isNegatedOption:(e,t,n,r)=>!e.ignoreOptions&&t===`--no-${r.slice(2)}`,isHelp:(e,t)=>!e.ignoreOptions&&f.HELP_REGEX.test(t),isUnsupportedOption:(e,t,n,r)=>!e.ignoreOptions&&t.startsWith("-")&&f.OPTION_REGEX.test(t)&&!r.has(t),isInvalidOption:(e,t)=>!e.ignoreOptions&&t.startsWith("-")&&!f.OPTION_REGEX.test(t)},ut={setCandidateState:(e,t,n,r)=>({...e,...r}),setSelectedIndex:(e,t,n,r)=>({...e,selectedIndex:r}),pushBatch:(e,t,n,r)=>{let o=e.options.slice(),i=e.tokens.slice();for(let a=1;a<t.length;++a){let s=r.get(`-${t[a]}`),u=a===1?[0,2]:[a,a+1];o.push({name:s,value:!0}),i.push({segmentIndex:n,type:"option",option:s,slice:u})}return{...e,options:o,tokens:i}},pushBound:(e,t,n)=>{let[,r,o]=t.match(f.BINDING_REGEX),i=e.options.concat({name:r,value:o}),a=e.tokens.concat([{segmentIndex:n,type:"option",slice:[0,r.length],option:r},{segmentIndex:n,type:"assign",slice:[r.length,r.length+1]},{segmentIndex:n,type:"value",slice:[r.length+1,r.length+o.length+1]}]);return{...e,options:i,tokens:a}},pushPath:(e,t,n)=>{let r=e.path.concat(t),o=e.tokens.concat({segmentIndex:n,type:"path"});return{...e,path:r,tokens:o}},pushPositional:(e,t,n)=>{let r=e.positionals.concat({value:t,extra:!1}),o=e.tokens.concat({segmentIndex:n,type:"positional"});return{...e,positionals:r,tokens:o}},pushExtra:(e,t,n)=>{let r=e.positionals.concat({value:t,extra:!0}),o=e.tokens.concat({segmentIndex:n,type:"positional"});return{...e,positionals:r,tokens:o}},pushExtraNoLimits:(e,t,n)=>{let r=e.positionals.concat({value:t,extra:X}),o=e.tokens.concat({segmentIndex:n,type:"positional"});return{...e,positionals:r,tokens:o}},pushTrue:(e,t,n,r)=>{let o=e.options.concat({name:r,value:!0}),i=e.tokens.concat({segmentIndex:n,type:"option",option:r});return{...e,options:o,tokens:i}},pushFalse:(e,t,n,r)=>{let o=e.options.concat({name:r,value:!1}),i=e.tokens.concat({segmentIndex:n,type:"option",option:r});return{...e,options:o,tokens:i}},pushUndefined:(e,t,n,r)=>{let o=e.options.concat({name:t,value:void 0}),i=e.tokens.concat({segmentIndex:n,type:"option",option:t});return{...e,options:o,tokens:i}},pushStringValue:(e,t,n)=>{var r;let o=e.options[e.options.length-1],i=e.options.slice(),a=e.tokens.concat({segmentIndex:n,type:"value"});return o.value=((r=o.value)!==null&&r!==void 0?r:[]).concat([t]),{...e,options:i,tokens:a}},setStringValue:(e,t,n)=>{let r=e.options[e.options.length-1],o=e.options.slice(),i=e.tokens.concat({segmentIndex:n,type:"value"});return r.value=t,{...e,options:o,tokens:i}},inhibateOptions:e=>({...e,ignoreOptions:!0}),useHelp:(e,t,n,r)=>{let[,,o]=t.match(f.HELP_REGEX);return typeof o<"u"?{...e,options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}:{...e,options:[{name:"-c",value:String(r)}]}},setError:(e,t,n,r)=>t===f.SpecialToken.EndOfInput||t===f.SpecialToken.EndOfPartialInput?{...e,errorMessage:`${r}.`}:{...e,errorMessage:`${r} ("${t}").`},setOptionArityError:(e,t)=>{let n=e.options[e.options.length-1];return{...e,errorMessage:`Not enough arguments to option ${n.name}.`}}},X=Symbol(),ct=class{constructor(t,n){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=t,this.cliOpts=n}addPath(t){this.paths.push(t)}setArity({leading:t=this.arity.leading,trailing:n=this.arity.trailing,extra:r=this.arity.extra,proxy:o=this.arity.proxy}){Object.assign(this.arity,{leading:t,trailing:n,extra:r,proxy:o})}addPositional({name:t="arg",required:n=!0}={}){if(!n&&this.arity.extra===X)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!n&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!n&&this.arity.extra!==X?this.arity.extra.push(t):this.arity.extra!==X&&this.arity.extra.length===0?this.arity.leading.push(t):this.arity.trailing.push(t)}addRest({name:t="arg",required:n=0}={}){if(this.arity.extra===X)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let r=0;r<n;++r)this.addPositional({name:t});this.arity.extra=X}addProxy({required:t=0}={}){this.addRest({required:t}),this.arity.proxy=!0}addOption({names:t,description:n,arity:r=0,hidden:o=!1,required:i=!1,allowBinding:a=!0}){if(!a&&r>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(r))throw new Error(`The arity must be an integer, got ${r}`);if(r<0)throw new Error(`The arity must be positive, got ${r}`);let s=t.reduce((u,d)=>d.length>u.length?d:u,"");for(let u of t)this.allOptionNames.set(u,s);this.options.push({preferredName:s,nameSet:t,description:n,arity:r,hidden:o,required:i,allowBinding:a})}setContext(t){this.context=t}usage({detailed:t=!0,inlineOptions:n=!0}={}){let r=[this.cliOpts.binaryName],o=[];if(this.paths.length>0&&r.push(...this.paths[0]),t){for(let{preferredName:a,nameSet:s,arity:u,hidden:d,description:l,required:c}of this.options){if(d)continue;let p=[];for(let h=0;h<u;++h)p.push(` #${h}`);let D=`${s.join(",")}${p.join("")}`;!n&&l?o.push({preferredName:a,nameSet:s,definition:D,description:l,required:c}):r.push(c?`<${D}>`:`[${D}]`)}r.push(...this.arity.leading.map(a=>`<${a}>`)),this.arity.extra===X?r.push("..."):r.push(...this.arity.extra.map(a=>`[${a}]`)),r.push(...this.arity.trailing.map(a=>`<${a}>`))}return{usage:r.join(" "),options:o}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let t=Kt(),n=f.NodeType.InitialNode,r=this.usage().usage,o=this.options.filter(s=>s.required).map(s=>s.nameSet);n=U(t,j()),T(t,f.NodeType.InitialNode,f.SpecialToken.StartOfInput,n,["setCandidateState",{candidateUsage:r,requiredOptions:o}]);let i=this.arity.proxy?"always":"isNotOptionLike",a=this.paths.length>0?this.paths:[[]];for(let s of a){let u=n;if(s.length>0){let p=U(t,j());le(t,u,p),this.registerOptions(t,p),u=p}for(let p=0;p<s.length;++p){let D=U(t,j());if(T(t,u,s[p],D,"pushPath"),u=D,p+1<s.length){let h=U(t,j());S(t,u,"isHelp",h,["useHelp",this.cliIndex]),T(t,h,f.SpecialToken.EndOfInput,f.NodeType.SuccessNode,["setSelectedIndex",f.HELP_COMMAND_INDEX])}}if(this.arity.leading.length>0||!this.arity.proxy){let p=U(t,j());S(t,u,"isHelp",p,["useHelp",this.cliIndex]),S(t,p,"always",p,"pushExtra"),T(t,p,f.SpecialToken.EndOfInput,f.NodeType.SuccessNode,["setSelectedIndex",f.HELP_COMMAND_INDEX]),this.registerOptions(t,u)}this.arity.leading.length>0&&(T(t,u,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,u,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex]));let d=u;for(let p=0;p<this.arity.leading.length;++p){let D=U(t,j());(!this.arity.proxy||p+1!==this.arity.leading.length)&&this.registerOptions(t,D),(this.arity.trailing.length>0||p+1!==this.arity.leading.length)&&(T(t,D,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,D,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex])),S(t,d,"isNotOptionLike",D,"pushPositional"),d=D}let l=d;if(this.arity.extra===X||this.arity.extra.length>0){let p=U(t,j());if(le(t,d,p),this.arity.extra===X){let D=U(t,j());this.arity.proxy||this.registerOptions(t,D),S(t,d,i,D,"pushExtraNoLimits"),S(t,D,i,D,"pushExtraNoLimits"),le(t,D,p)}else for(let D=0;D<this.arity.extra.length;++D){let h=U(t,j());(!this.arity.proxy||D>0)&&this.registerOptions(t,h),S(t,l,i,h,"pushExtra"),le(t,h,p),l=h}l=p}this.arity.trailing.length>0&&(T(t,l,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,l,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex]));let c=l;for(let p=0;p<this.arity.trailing.length;++p){let D=U(t,j());this.arity.proxy||this.registerOptions(t,D),p+1<this.arity.trailing.length&&(T(t,D,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,["setError","Not enough positional arguments"]),T(t,D,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex])),S(t,c,"isNotOptionLike",D,"pushPositional"),c=D}S(t,c,i,f.NodeType.ErrorNode,["setError","Extraneous positional argument"]),T(t,c,f.SpecialToken.EndOfInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex]),T(t,c,f.SpecialToken.EndOfPartialInput,f.NodeType.SuccessNode,["setSelectedIndex",this.cliIndex])}return{machine:t,context:this.context}}registerOptions(t,n){S(t,n,["isOption","--"],n,"inhibateOptions"),S(t,n,["isBatchOption",this.allOptionNames],n,["pushBatch",this.allOptionNames]),S(t,n,["isBoundOption",this.allOptionNames,this.options],n,"pushBound"),S(t,n,["isUnsupportedOption",this.allOptionNames],f.NodeType.ErrorNode,["setError","Unsupported option name"]),S(t,n,["isInvalidOption"],f.NodeType.ErrorNode,["setError","Invalid option name"]);for(let r of this.options)if(r.arity===0)for(let o of r.nameSet)S(t,n,["isOption",o],n,["pushTrue",r.preferredName]),o.startsWith("--")&&!o.startsWith("--no-")&&S(t,n,["isNegatedOption",o],n,["pushFalse",r.preferredName]);else{let o=U(t,j());for(let i of r.nameSet)S(t,n,["isOption",i],o,["pushUndefined",r.preferredName]);for(let i=0;i<r.arity;++i){let a=U(t,j());T(t,o,f.SpecialToken.EndOfInput,f.NodeType.ErrorNode,"setOptionArityError"),T(t,o,f.SpecialToken.EndOfPartialInput,f.NodeType.ErrorNode,"setOptionArityError"),S(t,o,"isOptionLike",f.NodeType.ErrorNode,"setOptionArityError");let s=r.arity===1?"setStringValue":"pushStringValue";S(t,o,"isNotOptionLike",a,s),o=a}le(t,o,n)}}},Yt=class e{constructor({binaryName:t="..."}={}){this.builders=[],this.opts={binaryName:t}}static build(t,n={}){return new e(n).commands(t).compile()}getBuilderByIndex(t){if(!(t>=0&&t<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${t})`);return this.builders[t]}commands(t){for(let n of t)n(this.command());return this}command(){let t=new ct(this.builders.length,this.opts);return this.builders.push(t),t}compile(){let t=[],n=[];for(let o of this.builders){let{machine:i,context:a}=o.compile();t.push(i),n.push(a)}let r=Co(t);return yo(r),{machine:r,contexts:n,process:(o,{partial:i}={})=>{let a=i?f.SpecialToken.EndOfPartialInput:f.SpecialToken.EndOfInput;return Bs(r,o,{endToken:a})}}}};x.CliBuilder=Yt;x.CommandBuilder=ct;x.NoLimits=X;x.aggregateHelpStates=Bo;x.cloneNode=Oo;x.cloneTransition=at;x.debug=R;x.debugMachine=bo;x.execute=Le;x.injectNode=U;x.isTerminalNode=Wt;x.makeAnyOfMachine=Co;x.makeNode=j;x.makeStateMachine=Kt;x.reducers=ut;x.registerDynamic=S;x.registerShortcut=le;x.registerStatic=T;x.runMachineInternal=vo;x.selectBestState=xo;x.simplifyMachine=yo;x.tests=Po;x.trimSmallerBranches=wo});var Io=w(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});var ks=require("tty");function Os(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var Vt=Os(ks);function Ps(){return Vt.default&&"getColorDepth"in Vt.default.WriteStream.prototype?Vt.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var So;function Ss(e){let t=So;if(typeof t>"u"){if(e.stdout===process.stdout&&e.stderr===process.stderr)return null;let{AsyncLocalStorage:n}=require("async_hooks");t=So=new n;let r=process.stdout._write;process.stdout._write=function(i,a,s){let u=t.getStore();return typeof u>"u"?r.call(this,i,a,s):u.stdout.write(i,a,s)};let o=process.stderr._write;process.stderr._write=function(i,a,s){let u=t.getStore();return typeof u>"u"?o.call(this,i,a,s):u.stderr.write(i,a,s)}}return n=>t.run(e,n)}pt.getCaptureActivator=Ss;pt.getDefaultColorDepth=Ps});var To=w(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});var Is=ue(),Zt=class e extends Is.Command{constructor(t){super(),this.contexts=t,this.commands=[]}static from(t,n){let r=new e(n);r.path=t.path;for(let o of t.options)switch(o.name){case"-c":r.commands.push(Number(o.value));break;case"-i":r.index=Number(o.value);break}return r}async execute(){let t=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<t.length&&(t=[t[this.index]]),t.length===0)this.context.stdout.write(this.cli.usage());else if(t.length===1)this.context.stdout.write(this.cli.usage(this.contexts[t[0]].commandClass,{detailed:!0}));else if(t.length>1){this.context.stdout.write(`Multiple commands match your selection:
|
|
38
38
|
`),this.context.stdout.write(`
|
|
39
39
|
`);let n=0;for(let r of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[r].commandClass,{prefix:`${n++}. `.padStart(5)}));this.context.stdout.write(`
|
|
40
40
|
`),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.
|
|
41
|
-
`)}}};Xt.HelpCommand=Zt});var
|
|
41
|
+
`)}}};Xt.HelpCommand=Zt});var Lo=w(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});var Ts=tt(),Ns=lt(),z=Ht(),jo=Io(),Dt=ue(),Rs=To(),No=Symbol("clipanion/errorCommand");async function js(...e){let{resolvedOptions:t,resolvedCommandClasses:n,resolvedArgv:r,resolvedContext:o}=Mo(e);return ye.from(n,t).runExit(r,o)}async function Ms(...e){let{resolvedOptions:t,resolvedCommandClasses:n,resolvedArgv:r,resolvedContext:o}=Mo(e);return ye.from(n,t).run(r,o)}function Mo(e){let t,n,r,o;switch(typeof process<"u"&&typeof process.argv<"u"&&(r=process.argv.slice(2)),e.length){case 1:n=e[0];break;case 2:e[0]&&e[0].prototype instanceof Dt.Command||Array.isArray(e[0])?(n=e[0],Array.isArray(e[1])?r=e[1]:o=e[1]):(t=e[0],n=e[1]);break;case 3:Array.isArray(e[2])?(t=e[0],n=e[1],r=e[2]):e[0]&&e[0].prototype instanceof Dt.Command||Array.isArray(e[0])?(n=e[0],r=e[1],o=e[2]):(t=e[0],n=e[1],o=e[2]);break;default:t=e[0],n=e[1],r=e[2],o=e[3];break}if(typeof r>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:t,resolvedCommandClasses:n,resolvedArgv:r,resolvedContext:o}}var ye=class e{constructor({binaryLabel:t,binaryName:n="...",binaryVersion:r,enableCapture:o=!1,enableColors:i}={}){this.registrations=new Map,this.builder=new Ns.CliBuilder({binaryName:n}),this.binaryLabel=t,this.binaryName=n,this.binaryVersion=r,this.enableCapture=o,this.enableColors=i}static from(t,n={}){let r=new e(n),o=Array.isArray(t)?t:[t];for(let i of o)r.register(i);return r}register(t){var n;let r=new Map,o=new t;for(let u in o){let d=o[u];typeof d=="object"&&d!==null&&d[Dt.Command.isOption]&&r.set(u,d)}let i=this.builder.command(),a=i.cliIndex,s=(n=t.paths)!==null&&n!==void 0?n:o.paths;if(typeof s<"u")for(let u of s)i.addPath(u);this.registrations.set(t,{specs:r,builder:i,index:a});for(let[u,{definition:d}]of r.entries())d(i,u);i.setContext({commandClass:t})}process(t,n){let{input:r,context:o,partial:i}=typeof t=="object"&&Array.isArray(t)?{input:t,context:n}:t,{contexts:a,process:s}=this.builder.compile(),u=s(r,{partial:i}),d={...e.defaultContext,...o};switch(u.selectedIndex){case Ts.HELP_COMMAND_INDEX:{let l=Rs.HelpCommand.from(u,a);return l.context=d,l.tokens=u.tokens,l}default:{let{commandClass:l}=a[u.selectedIndex],c=this.registrations.get(l);if(typeof c>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let p=new l;p.context=d,p.tokens=u.tokens,p.path=u.path;try{for(let[D,{transformer:h}]of c.specs.entries())p[D]=h(c.builder,D,u,d);return p}catch(D){throw D[No]=p,D}}break}}async run(t,n){var r,o;let i,a={...e.defaultContext,...n},s=(r=this.enableColors)!==null&&r!==void 0?r:a.colorDepth>1;if(!Array.isArray(t))i=t;else try{i=this.process(t,a)}catch(l){return a.stdout.write(this.error(l,{colored:s})),1}if(i.help)return a.stdout.write(this.usage(i,{colored:s,detailed:!0})),0;i.context=a,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:l=>this.definition(l),error:(l,c)=>this.error(l,c),format:l=>this.format(l),process:(l,c)=>this.process(l,{...a,...c}),run:(l,c)=>this.run(l,{...a,...c}),usage:(l,c)=>this.usage(l,c)};let u=this.enableCapture&&(o=jo.getCaptureActivator(a))!==null&&o!==void 0?o:Ro,d;try{d=await u(()=>i.validateAndExecute().catch(l=>i.catch(l).then(()=>0)))}catch(l){return a.stdout.write(this.error(l,{colored:s,command:i})),1}return d}async runExit(t,n){process.exitCode=await this.run(t,n)}definition(t,{colored:n=!1}={}){if(!t.usage)return null;let{usage:r}=this.getUsageByRegistration(t,{detailed:!1}),{usage:o,options:i}=this.getUsageByRegistration(t,{detailed:!0,inlineOptions:!1}),a=typeof t.usage.category<"u"?z.formatMarkdownish(t.usage.category,{format:this.format(n),paragraphs:!1}):void 0,s=typeof t.usage.description<"u"?z.formatMarkdownish(t.usage.description,{format:this.format(n),paragraphs:!1}):void 0,u=typeof t.usage.details<"u"?z.formatMarkdownish(t.usage.details,{format:this.format(n),paragraphs:!0}):void 0,d=typeof t.usage.examples<"u"?t.usage.examples.map(([l,c])=>[z.formatMarkdownish(l,{format:this.format(n),paragraphs:!1}),c.replace(/\$0/g,this.binaryName)]):void 0;return{path:r,usage:o,category:a,description:s,details:u,examples:d,options:i}}definitions({colored:t=!1}={}){let n=[];for(let r of this.registrations.keys()){let o=this.definition(r,{colored:t});o&&n.push(o)}return n}usage(t=null,{colored:n,detailed:r=!1,prefix:o="$ "}={}){var i;if(t===null){for(let u of this.registrations.keys()){let d=u.paths,l=typeof u.usage<"u";if(!d||d.length===0||d.length===1&&d[0].length===0||((i=d?.some(D=>D.length===0))!==null&&i!==void 0?i:!1))if(t){t=null;break}else t=u;else if(l){t=null;continue}}t&&(r=!0)}let a=t!==null&&t instanceof Dt.Command?t.constructor:t,s="";if(a)if(r){let{description:u="",details:d="",examples:l=[]}=a.usage||{};u!==""&&(s+=z.formatMarkdownish(u,{format:this.format(n),paragraphs:!1}).replace(/^./,D=>D.toUpperCase()),s+=`
|
|
42
42
|
`),(d!==""||l.length>0)&&(s+=`${this.format(n).header("Usage")}
|
|
43
43
|
`,s+=`
|
|
44
44
|
`);let{usage:c,options:p}=this.getUsageByRegistration(a,{inlineOptions:!1});if(s+=`${this.format(n).bold(o)}${c}
|
|
@@ -64,13 +64,13 @@ ${t.map(n=>`
|
|
|
64
64
|
`;for(let{commandClass:A,usage:F}of D){let C=A.usage.description||"undocumented";s+=`
|
|
65
65
|
`,s+=` ${this.format(n).bold(F)}
|
|
66
66
|
`,s+=` ${z.formatMarkdownish(C,{format:this.format(n),paragraphs:!1})}`}}s+=`
|
|
67
|
-
`,s+=z.formatMarkdownish("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(n),paragraphs:!0})}return s}error(t,n){var r,{colored:o,command:i=(r=t[
|
|
67
|
+
`,s+=z.formatMarkdownish("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(n),paragraphs:!0})}return s}error(t,n){var r,{colored:o,command:i=(r=t[No])!==null&&r!==void 0?r:null}=n===void 0?{}:n;(!t||typeof t!="object"||!("stack"in t))&&(t=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(t)})`));let a="",s=t.name.replace(/([a-z])([A-Z])/g,"$1 $2");s==="Error"&&(s="Internal Error"),a+=`${this.format(o).error(s)}: ${t.message}
|
|
68
68
|
`;let u=t.clipanion;return typeof u<"u"?u.type==="usage"&&(a+=`
|
|
69
69
|
`,a+=this.usage(i)):t.stack&&(a+=`${t.stack.replace(/^.*\n/,"")}
|
|
70
|
-
`),a}format(t){var n;return((n=t??this.enableColors)!==null&&n!==void 0?n:e.defaultContext.colorDepth>1)?z.richFormat:z.textFormat}getUsageByRegistration(t,n){let r=this.registrations.get(t);if(typeof r>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(r.index,n)}getUsageByIndex(t,n){return this.builder.getBuilderByIndex(t).usage(n)}};ye.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:
|
|
71
|
-
`)}};ft.paths=[["--clipanion=definitions"]];Jt.DefinitionsCommand=ft});var Ho=w(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});var
|
|
72
|
-
`)}};
|
|
73
|
-
`)}};gt.paths=[["-v"],["--version"]];nn.VersionCommand=gt});var zo=w(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});var Qs=Lo(),Ys=Ho(),Ks=Go(),Ws=Uo();be.DefinitionsCommand=Qs.DefinitionsCommand;be.HelpCommand=Ys.HelpCommand;be.TokensCommand=Ks.TokensCommand;be.VersionCommand=Ws.VersionCommand});var qo=w(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});var on=$();function Vs(e,t,n){let[r,o]=on.rerouteArguments(t,n??{}),{arity:i=1}=o,a=e.split(","),s=new Set(a);return on.makeCommandOption({definition(u){u.addOption({names:a,arity:i,hidden:o?.hidden,description:o?.description,required:o.required})},transformer(u,d,l){let c,p=typeof r<"u"?[...r]:void 0;for(let{name:D,value:h}of l.options)s.has(D)&&(c=D,p=p??[],p.push(h));return typeof p<"u"?on.applyValidator(c??d,p,o.validator):p}})}rn.Array=Vs});var Yo=w(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});var Qo=$();function Zs(e,t,n){let[r,o]=Qo.rerouteArguments(t,n??{}),i=e.split(","),a=new Set(i);return Qo.makeCommandOption({definition(s){s.addOption({names:i,allowBinding:!1,arity:0,hidden:o.hidden,description:o.description,required:o.required})},transformer(s,u,d){let l=r;for(let{name:c,value:p}of d.options)a.has(c)&&(l=p);return l}})}sn.Boolean=Zs});var Wo=w(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});var Ko=$();function Xs(e,t,n){let[r,o]=Ko.rerouteArguments(t,n??{}),i=e.split(","),a=new Set(i);return Ko.makeCommandOption({definition(s){s.addOption({names:i,allowBinding:!1,arity:0,hidden:o.hidden,description:o.description,required:o.required})},transformer(s,u,d){let l=r;for(let{name:c,value:p}of d.options)a.has(c)&&(l??(l=0),p?l+=1:l=0);return l}})}an.Counter=Xs});var Vo=w(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});var Js=lt(),_s=$();function $s(e={}){return _s.makeCommandOption({definition(t,n){var r;t.addRest({name:(r=e.name)!==null&&r!==void 0?r:n,required:e.required})},transformer(t,n,r){let o=a=>{let s=r.positionals[a];return s.extra===Js.NoLimits||s.extra===!1&&a<t.arity.leading.length},i=0;for(;i<r.positionals.length&&o(i);)i+=1;return r.positionals.splice(0,i).map(({value:a})=>a)}})}un.Rest=$s});var Zo=w(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});var ea=lt(),Ge=$();function ta(e,t,n){let[r,o]=Ge.rerouteArguments(t,n??{}),{arity:i=1}=o,a=e.split(","),s=new Set(a);return Ge.makeCommandOption({definition(u){u.addOption({names:a,arity:o.tolerateBoolean?0:i,hidden:o.hidden,description:o.description,required:o.required})},transformer(u,d,l,c){let p,D=r;typeof o.env<"u"&&c.env[o.env]&&(p=o.env,D=c.env[o.env]);for(let{name:h,value:A}of l.options)s.has(h)&&(p=h,D=A);return typeof D=="string"?Ge.applyValidator(p??d,D,o.validator):D}})}function na(e={}){let{required:t=!0}=e;return Ge.makeCommandOption({definition(n,r){var o;n.addPositional({name:(o=e.name)!==null&&o!==void 0?o:r,required:e.required})},transformer(n,r,o){var i;for(let a=0;a<o.positionals.length;++a){if(o.positionals[a].extra===ea.NoLimits||t&&o.positionals[a].extra===!0||!t&&o.positionals[a].extra===!1)continue;let[s]=o.positionals.splice(a,1);return Ge.applyValidator((i=e.name)!==null&&i!==void 0?i:r,s.value,e.validator)}}})}function oa(e,...t){return typeof e=="string"?ta(e,...t):na(e)}dn.String=oa});var Xo=w(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});var ve=$(),ra=en(),ia=qo(),sa=Yo(),aa=Wo(),ua=Vo(),da=Zo();M.applyValidator=ve.applyValidator;M.cleanValidationError=ve.cleanValidationError;M.formatError=ve.formatError;M.isOptionSymbol=ve.isOptionSymbol;M.makeCommandOption=ve.makeCommandOption;M.rerouteArguments=ve.rerouteArguments;M.Proxy=ra.Proxy;M.Array=ia.Array;M.Boolean=sa.Boolean;M.Counter=aa.Counter;M.Rest=ua.Rest;M.String=da.String});var ln=w(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});var ca=nt(),la=Gt(),pa=ue(),cn=Mo(),Da=zo(),fa=Xo();J.UsageError=ca.UsageError;J.formatMarkdownish=la.formatMarkdownish;J.Command=pa.Command;J.Cli=cn.Cli;J.run=cn.run;J.runExit=cn.runExit;J.Builtins=Da;J.Option=fa});var hr=w((Kd,fr)=>{"use strict";fr.exports=ba;function ya(e){let t={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(t).forEach(function(n){e[n]||(e[n]=t[n])}),e):t}function ba(e){let t=ya(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let n=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(n)&&n!==0)return n}return t.defaultWidth}});var Cr=w((ec,Er)=>{Er.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var Tr=w((gc,Ir)=>{var La=require("stream"),Cn=class extends La{#n=null;constructor(t={}){super(t),this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=t.replace,this._prompt=t.prompt||null,this._hadControl=!1}#t(t,n){return this._dest?this._dest[t]:this._src?this._src[t]:n}#e(t,...n){typeof this._dest?.[t]=="function"&&this._dest[t](...n),typeof this._src?.[t]=="function"&&this._src[t](...n)}get isTTY(){return this.#n!==null?this.#n:this.#t("isTTY",!1)}set isTTY(t){this.#n=t}get rows(){return this.#t("rows")}get columns(){return this.#t("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(t){this._src=t}pipe(t,n){return this._dest=t,super.pipe(t,n)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(t){if(this.muted){if(!this.replace)return!0;if(t.match(/^\u001b/))return t.indexOf(this._prompt)===0&&(t=t.slice(this._prompt.length),t=t.replace(/./g,this.replace),t=this._prompt+t),this._hadControl=!0,this.emit("data",t);this._prompt&&this._hadControl&&t.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),t=t.slice(this._prompt.length)),t=t.toString().replace(/./g,this.replace)}this.emit("data",t)}end(t){this.muted&&(t&&this.replace?t=t.toString().replace(/./g,this.replace):t=null),t&&this.emit("data",t),this.emit("end")}destroy(...t){return this.#e("destroy",...t)}destroySoon(...t){return this.#e("destroySoon",...t)}close(...t){return this.#e("close",...t)}};Ir.exports=Cn});var _e=Q(ln());var H=Q(ln()),ui=Q(require("node:path"));var xe=require("node:util");var de=require("node:util"),ee=e=>(0,de.styleText)(["bgMagenta","white","bold"],e),I=e=>(0,de.styleText)(["dim"],e),Jo=e=>(0,de.styleText)(["bold"],e),pn=e=>(0,de.styleText)(["bold","green"],e),we=e=>(0,de.styleText)(["bold","red"],e),L=e=>(0,de.styleText)(["bold","cyan"],e),v=e=>(0,de.styleText)(["magentaBright","bold"],e);var _o=`
|
|
70
|
+
`),a}format(t){var n;return((n=t??this.enableColors)!==null&&n!==void 0?n:e.defaultContext.colorDepth>1)?z.richFormat:z.textFormat}getUsageByRegistration(t,n){let r=this.registrations.get(t);if(typeof r>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(r.index,n)}getUsageByIndex(t,n){return this.builder.getBuilderByIndex(t).usage(n)}};ye.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:jo.getDefaultColorDepth()};function Ro(e){return e()}Ge.Cli=ye;Ge.run=Ms;Ge.runExit=js});var Go=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});var Ls=ue(),ft=class extends Ls.Command{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)}
|
|
71
|
+
`)}};ft.paths=[["--clipanion=definitions"]];Jt.DefinitionsCommand=ft});var Ho=w(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});var Gs=ue(),ht=class extends Gs.Command{async execute(){this.context.stdout.write(this.cli.usage())}};ht.paths=[["-h"],["--help"]];_t.HelpCommand=ht});var en=w($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});var Hs=$();function Us(e={}){return Hs.makeCommandOption({definition(t,n){var r;t.addProxy({name:(r=e.name)!==null&&r!==void 0?r:n,required:e.required})},transformer(t,n,r){return r.positionals.map(({value:o})=>o)}})}$t.Proxy=Us});var Uo=w(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});var zs=ue(),qs=en(),gt=class extends zs.Command{constructor(){super(...arguments),this.args=qs.Proxy()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)}
|
|
72
|
+
`)}};gt.paths=[["--clipanion=tokens"]];tn.TokensCommand=gt});var zo=w(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});var Qs=ue(),mt=class extends Qs.Command{async execute(){var t;this.context.stdout.write(`${(t=this.cli.binaryVersion)!==null&&t!==void 0?t:"<unknown>"}
|
|
73
|
+
`)}};mt.paths=[["-v"],["--version"]];nn.VersionCommand=mt});var qo=w(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});var Ys=Go(),Ks=Ho(),Ws=Uo(),Vs=zo();be.DefinitionsCommand=Ys.DefinitionsCommand;be.HelpCommand=Ks.HelpCommand;be.TokensCommand=Ws.TokensCommand;be.VersionCommand=Vs.VersionCommand});var Qo=w(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});var on=$();function Zs(e,t,n){let[r,o]=on.rerouteArguments(t,n??{}),{arity:i=1}=o,a=e.split(","),s=new Set(a);return on.makeCommandOption({definition(u){u.addOption({names:a,arity:i,hidden:o?.hidden,description:o?.description,required:o.required})},transformer(u,d,l){let c,p=typeof r<"u"?[...r]:void 0;for(let{name:D,value:h}of l.options)s.has(D)&&(c=D,p=p??[],p.push(h));return typeof p<"u"?on.applyValidator(c??d,p,o.validator):p}})}rn.Array=Zs});var Ko=w(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});var Yo=$();function Xs(e,t,n){let[r,o]=Yo.rerouteArguments(t,n??{}),i=e.split(","),a=new Set(i);return Yo.makeCommandOption({definition(s){s.addOption({names:i,allowBinding:!1,arity:0,hidden:o.hidden,description:o.description,required:o.required})},transformer(s,u,d){let l=r;for(let{name:c,value:p}of d.options)a.has(c)&&(l=p);return l}})}sn.Boolean=Xs});var Vo=w(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});var Wo=$();function Js(e,t,n){let[r,o]=Wo.rerouteArguments(t,n??{}),i=e.split(","),a=new Set(i);return Wo.makeCommandOption({definition(s){s.addOption({names:i,allowBinding:!1,arity:0,hidden:o.hidden,description:o.description,required:o.required})},transformer(s,u,d){let l=r;for(let{name:c,value:p}of d.options)a.has(c)&&(l??(l=0),p?l+=1:l=0);return l}})}an.Counter=Js});var Zo=w(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});var _s=lt(),$s=$();function ea(e={}){return $s.makeCommandOption({definition(t,n){var r;t.addRest({name:(r=e.name)!==null&&r!==void 0?r:n,required:e.required})},transformer(t,n,r){let o=a=>{let s=r.positionals[a];return s.extra===_s.NoLimits||s.extra===!1&&a<t.arity.leading.length},i=0;for(;i<r.positionals.length&&o(i);)i+=1;return r.positionals.splice(0,i).map(({value:a})=>a)}})}un.Rest=ea});var Xo=w(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});var ta=lt(),He=$();function na(e,t,n){let[r,o]=He.rerouteArguments(t,n??{}),{arity:i=1}=o,a=e.split(","),s=new Set(a);return He.makeCommandOption({definition(u){u.addOption({names:a,arity:o.tolerateBoolean?0:i,hidden:o.hidden,description:o.description,required:o.required})},transformer(u,d,l,c){let p,D=r;typeof o.env<"u"&&c.env[o.env]&&(p=o.env,D=c.env[o.env]);for(let{name:h,value:A}of l.options)s.has(h)&&(p=h,D=A);return typeof D=="string"?He.applyValidator(p??d,D,o.validator):D}})}function oa(e={}){let{required:t=!0}=e;return He.makeCommandOption({definition(n,r){var o;n.addPositional({name:(o=e.name)!==null&&o!==void 0?o:r,required:e.required})},transformer(n,r,o){var i;for(let a=0;a<o.positionals.length;++a){if(o.positionals[a].extra===ta.NoLimits||t&&o.positionals[a].extra===!0||!t&&o.positionals[a].extra===!1)continue;let[s]=o.positionals.splice(a,1);return He.applyValidator((i=e.name)!==null&&i!==void 0?i:r,s.value,e.validator)}}})}function ra(e,...t){return typeof e=="string"?na(e,...t):oa(e)}dn.String=ra});var Jo=w(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});var ve=$(),ia=en(),sa=Qo(),aa=Ko(),ua=Vo(),da=Zo(),ca=Xo();M.applyValidator=ve.applyValidator;M.cleanValidationError=ve.cleanValidationError;M.formatError=ve.formatError;M.isOptionSymbol=ve.isOptionSymbol;M.makeCommandOption=ve.makeCommandOption;M.rerouteArguments=ve.rerouteArguments;M.Proxy=ia.Proxy;M.Array=sa.Array;M.Boolean=aa.Boolean;M.Counter=ua.Counter;M.Rest=da.Rest;M.String=ca.String});var ln=w(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});var la=nt(),pa=Ht(),Da=ue(),cn=Lo(),fa=qo(),ha=Jo();J.UsageError=la.UsageError;J.formatMarkdownish=pa.formatMarkdownish;J.Command=Da.Command;J.Cli=cn.Cli;J.run=cn.run;J.runExit=cn.runExit;J.Builtins=fa;J.Option=ha});var gr=w((Zd,hr)=>{"use strict";hr.exports=va;function ba(e){let t={defaultWidth:0,output:process.stdout,tty:require("tty")};return e?(Object.keys(t).forEach(function(n){e[n]||(e[n]=t[n])}),e):t}function va(e){let t=ba(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let n=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(n)&&n!==0)return n}return t.defaultWidth}});var yr=w((oc,Cr)=>{Cr.exports=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g});var Nr=w((Ec,Tr)=>{var Ga=require("stream"),Cn=class extends Ga{#n=null;constructor(t={}){super(t),this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=t.replace,this._prompt=t.prompt||null,this._hadControl=!1}#t(t,n){return this._dest?this._dest[t]:this._src?this._src[t]:n}#e(t,...n){typeof this._dest?.[t]=="function"&&this._dest[t](...n),typeof this._src?.[t]=="function"&&this._src[t](...n)}get isTTY(){return this.#n!==null?this.#n:this.#t("isTTY",!1)}set isTTY(t){this.#n=t}get rows(){return this.#t("rows")}get columns(){return this.#t("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(t){this._src=t}pipe(t,n){return this._dest=t,super.pipe(t,n)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(t){if(this.muted){if(!this.replace)return!0;if(t.match(/^\u001b/))return t.indexOf(this._prompt)===0&&(t=t.slice(this._prompt.length),t=t.replace(/./g,this.replace),t=this._prompt+t),this._hadControl=!0,this.emit("data",t);this._prompt&&this._hadControl&&t.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),t=t.slice(this._prompt.length)),t=t.toString().replace(/./g,this.replace)}this.emit("data",t)}end(t){this.muted&&(t&&this.replace?t=t.toString().replace(/./g,this.replace):t=null),t&&this.emit("data",t),this.emit("end")}destroy(...t){return this.#e("destroy",...t)}destroySoon(...t){return this.#e("destroySoon",...t)}close(...t){return this.#e("close",...t)}};Tr.exports=Cn});var _e=Q(ln());var G=Q(ln()),di=Q(require("node:path"));var xe=require("node:util");var de=require("node:util"),ee=e=>(0,de.styleText)(["bgMagenta","white","bold"],e),I=e=>(0,de.styleText)(["dim"],e),_o=e=>(0,de.styleText)(["bold"],e),pn=e=>(0,de.styleText)(["bold","green"],e),we=e=>(0,de.styleText)(["bold","red"],e),L=e=>(0,de.styleText)(["bold","cyan"],e),v=e=>(0,de.styleText)(["magentaBright","bold"],e);var $o=`
|
|
74
74
|
${ee(" ")}
|
|
75
75
|
${ee(" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ")}
|
|
76
76
|
${ee(" \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588 \u2588\u2588\u2588 ")}
|
|
@@ -86,41 +86,58 @@ ${ee("
|
|
|
86
86
|
${L("\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2588\u2588\u2551")}
|
|
87
87
|
${L("\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551")}
|
|
88
88
|
${L("\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D")}
|
|
89
|
-
`;function
|
|
89
|
+
`;function er(e,t=2,n=1){let o=Math.max(...e.map(s=>(0,xe.stripVTControlCharacters)(s).length))+t*2,i=`|${" ".repeat(o+2)}|`,a=[` .\xB7${"\xAF".repeat(o-4)}\xB7. `];for(let s=0;s<n-1;s++)a.push(i);for(let[s,u]of e.entries()){let d=(0,xe.stripVTControlCharacters)(u).length,l=o-t-d,c=s===0?"/":s===e.length-1?"\\":"|",p=s===0?"\\":s===e.length-1?"/":"|";a.push(`${c}${" ".repeat(t)}${u}${" ".repeat(l)}${p}`)}for(let s=0;s<n-1;s++)a.push(i);return a.push(` \xB7.${"_".repeat(o-4)}.\xB7 `),a}var tr=()=>{let e=["",L(" Good Bye!"),"\u{1F44B} until next time!",""],t=er(e);return or(t)},nr=e=>{let t=[`${L(e.name)} is ready!`,"","Next steps:",` 1. ${pn(`cd ${e.directory}`)}`,` 2. ${pn("npx datadog-apps")} ${I("\u2014 see available commands")}`],n=er(t);return or(n)},or=e=>{let t=[` ${v("___")}`,` ${v("___ (DATADOG\\")}`,` ${v("/DATAD) __/O/_/___ \\DAT\\ADOG\\")}`,` ${v("/DATADOGDATADOGDATADOGDATA| \\ATA)")}`,v("(DATADOGD TADOGDATADOGDATAD\\ |TA/"),v("(DATADOGD) )ATADOGDATADOGDAT)"),` ${v("\\DATADOG) )DATADOGDATADOG\xAF\xAF\\")}`,` ${v("\\DATAD/ )OGDA/\xAF\xAF\xAFTADOGDA .|")}`,` ${v(" \xAF\xAF\xAF /DATADO .GDATADOGD\\")}`,` ${v("|DATADOGDATADOGDATADOGDATA\\")}`,` ${v("|DATADOGDATADOGDATADOG\xAF\xAF\xAF\xAFD)")}`,` ${v("\\DATADOGDATADOGDATADO\\__/DA)")}`,` ${v("\\DATADOGDATADOGDATADOGDATA) __.")}`,` ${v("\\DATADOG\\ \\DATADOG/ |A/ ____/TADOG|")}`,` ${v(")DATADOGD\\_ _/ATADOGDATADOGDAT|")}`,` ${v(")DATADO |OGDATADOGDATADOGDATADOG/|D|")}`,` ${v("/DATADOG |DATADOGDATADOGDA/\\TADO/ |A|")}`,` ${v("/DATADOGD |ATADOGDATADOGDA/ \\GD/ |T|")}`,` ${v("/D\\._ \xAF\\ATA |DATAD/\\DOGDAT/ \\/ |A|")}`,` ${v("/DATADOG\\ \\DA |TADO/ \\GD/ |D|")}`,` ${v("(DATADOGDA\\ \\| |TAD/ \\/ |O|")}`,` ${v("(DATADOGDAT\\ \\ |AD/ ___/DATADOG|")}`,` ${v("\\DATADOGDAT) |A| _/DATADOG/\xAF")}`,` ${v("\\DATADOGDA) |T/\xAF")}`,` ${v("\\DATADO/")}`,` ${v("\xAF\xAF\xAF")}`],n=e.length-3,r=12-e.length,o=[],a=36+Math.max(...e.map(s=>(0,xe.stripVTControlCharacters)(s).length));for(let[s,u]of t.entries()){let d=s-r;if(d>=0&&d<e.length){let l=e[d]||"",c=a-((0,xe.stripVTControlCharacters)(u).length+(0,xe.stripVTControlCharacters)(l).length);d===n&&(l=l.replace(/^./,"< "),c-=1);let p=" ".repeat(c);o.push(`${u}${p}${l}`)}else o.push(u)}return`
|
|
90
90
|
${o.join(`
|
|
91
91
|
`)}
|
|
92
|
-
`};function or(e){return e instanceof Error&&e.name==="ExitPromptError"||e instanceof Error&&e.message==="Operation cancelled by user"}function rr(e){let t=e instanceof Error&&e.message.trim()!==""?e.message:String(e);console.error(),console.error(we(t))}var Ue=(e,t=[])=>e.name==="up"||t.includes("vim")&&e.name==="k"||t.includes("emacs")&&e.ctrl&&e.name==="p",At=(e,t=[])=>e.name==="down"||t.includes("vim")&&e.name==="j"||t.includes("emacs")&&e.ctrl&&e.name==="n";var ze=e=>e.name==="backspace",qe=e=>e.name==="tab",Dn=e=>"1234567890".includes(e.name),pe=e=>e.name==="enter"||e.name==="return";var Ft=class extends Error{name="AbortPromptError";message="Prompt was aborted";constructor(t){super(),this.cause=t?.cause}},Et=class extends Error{name="CancelPromptError";message="Prompt was canceled"},Qe=class extends Error{name="ExitPromptError"},Ct=class extends Error{name="HookError"},Be=class extends Error{name="ValidationError"};var ur=require("node:async_hooks");var yt=require("node:async_hooks");var ir=new yt.AsyncLocalStorage;function ha(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function sr(e,t){let n=ha(e);return ir.run(n,()=>{function r(o){n.handleChange=()=>{n.index=0,o()},n.handleChange()}return t(r)})}function De(){let e=ir.getStore();if(!e)throw new Ct("[Inquirer] Hook functions can only be called from within a prompt");return e}function fn(){return De().rl}function hn(e){let t=(...n)=>{let r=De(),o=!1,i=r.handleChange;r.handleChange=()=>{o=!0};let a=e(...n);return o&&i(),r.handleChange=i,a};return yt.AsyncResource.bind(t)}function ke(e){let t=De(),{index:n}=t,r={get(){return t.hooks[n]},set(i){t.hooks[n]=i},initialized:n in t.hooks},o=e(r);return t.index++,o}function ar(){De().handleChange()}var fe={queue(e){let t=De(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(fn());if(r!=null&&typeof r!="function")throw new Be("useEffect return value must be a cleanup function or nothing.");t.hooksCleanup[n]=r})},run(){let e=De();hn(()=>{e.hooksEffect.forEach(t=>{t()}),e.hooksEffect.length=0})()},clearAll(){let e=De();e.hooksCleanup.forEach(t=>{t?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function N(e){return ke(t=>{let n=ur.AsyncResource.bind(function(i){t.get()!==i&&(t.set(i),ar())});if(t.initialized)return[t.get(),n];let r=typeof e=="function"?e():e;return t.set(r),[r,n]})}function te(e,t){ke(n=>{let r=n.get();(!Array.isArray(r)||t.some((i,a)=>!Object.is(i,r[a])))&&fe.queue(e),n.set(t)})}var K=require("node:util");var W=Q(require("node:process"),1);function ma(){return W.default.platform!=="win32"?W.default.env.TERM!=="linux":!!W.default.env.WT_SESSION||!!W.default.env.TERMINUS_SUBLIME||W.default.env.ConEmuTask==="{cmd::Cmder}"||W.default.env.TERM_PROGRAM==="Terminus-Sublime"||W.default.env.TERM_PROGRAM==="vscode"||W.default.env.TERM==="xterm-256color"||W.default.env.TERM==="alacritty"||W.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var dr={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},cr={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},ga={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},Aa={...dr,...cr},Fa={...dr,...ga},Ea=ma(),Ca=Ea?Aa:Fa,Oe=Ca,kd=Object.entries(cr);var lr={prefix:{idle:(0,K.styleText)("blue","?"),done:(0,K.styleText)("green",Oe.tick)},spinner:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map(e=>(0,K.styleText)("yellow",e))},style:{answer:e=>(0,K.styleText)("cyan",e),message:e=>(0,K.styleText)("bold",e),error:e=>(0,K.styleText)("red",`> ${e}`),defaultAnswer:e=>(0,K.styleText)("dim",`(${e})`),help:e=>(0,K.styleText)("dim",e),highlight:e=>(0,K.styleText)("cyan",e),key:e=>(0,K.styleText)("cyan",(0,K.styleText)("bold",`<${e}>`))}};function pr(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Dr(...e){let t={};for(let n of e)for(let[r,o]of Object.entries(n)){let i=t[r];t[r]=pr(i)&&pr(o)?Dr(i,o):o}return t}function ne(...e){let t=[lr,...e.filter(n=>n!=null)];return Dr(...t)}function he({status:e="idle",theme:t}){let[n,r]=N(!1),[o,i]=N(0),{prefix:a,spinner:s}=ne(t);return te(()=>{if(e==="loading"){let d,l=-1,c=setTimeout(()=>{r(!0),d=setInterval(()=>{l=l+1,i(l%s.frames.length)},s.interval)},300);return()=>{clearTimeout(c),clearInterval(d)}}else r(!1)},[e]),n?s.frames[o]:typeof a=="string"?a:a[e==="loading"?"idle":e]??a.idle}function Ye(e,t){return ke(n=>{let r=n.get();if(!r||r.dependencies.length!==t.length||r.dependencies.some((o,i)=>o!==t[i])){let o=e();return n.set({value:o,dependencies:t}),o}return r.value})}function me(e){return N({current:e})[0]}function ge(e){let t=me(e);t.current=e,te(n=>{let r=!1,o=hn((i,a)=>{r||t.current(a,n)});return n.input.on("keypress",o),()=>{r=!0,n.input.removeListener("keypress",o)}},[])}var Sr=Q(hr(),1);function mn({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var va=mn();function Ke(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(va,"")}function mr(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function gr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Ar(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function wa(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Fr(e,{ambiguousAsWide:t=!1}={}){return wa(e),gr(e)||Ar(e)||t&&mr(e)?2:1}var yr=Q(Cr(),1),xa=new Intl.Segmenter,Ba=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u");function Ae(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t;if(r||(e=Ke(e)),e.length===0)return 0;let o=0,i={ambiguousAsWide:!n};for(let{segment:a}of xa.segment(e)){let s=a.codePointAt(0);if(!(s<=31||s>=127&&s<=159)&&!(s>=8203&&s<=8207||s===65279)&&!(s>=768&&s<=879||s>=6832&&s<=6911||s>=7616&&s<=7679||s>=8400&&s<=8447||s>=65056&&s<=65071)&&!(s>=55296&&s<=57343)&&!(s>=65024&&s<=65039)&&!Ba.test(a)){if((0,yr.default)().test(a)){o+=2;continue}o+=Fr(s,i)}}return o}var br=(e=0)=>t=>`\x1B[${t+e}m`,vr=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,wr=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,B={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},rc=Object.keys(B.modifier),ka=Object.keys(B.color),Oa=Object.keys(B.bgColor),ic=[...ka,...Oa];function Pa(){let e=new Map;for(let[t,n]of Object.entries(B)){for(let[r,o]of Object.entries(n))B[r]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},n[r]=B[r],e.set(o[0],o[1]);Object.defineProperty(B,t,{value:n,enumerable:!1})}return Object.defineProperty(B,"codes",{value:e,enumerable:!1}),B.color.close="\x1B[39m",B.bgColor.close="\x1B[49m",B.color.ansi=br(),B.color.ansi256=vr(),B.color.ansi16m=wr(),B.bgColor.ansi=br(10),B.bgColor.ansi256=vr(10),B.bgColor.ansi16m=wr(10),Object.defineProperties(B,{rgbToAnsi256:{value:(t,n,r)=>t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:t=>{let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(i=>i+i).join(""));let o=Number.parseInt(r,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:t=>B.rgbToAnsi256(...B.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,r,o;if(t>=232)n=((t-232)*10+8)/255,r=n,o=n;else{t-=16;let s=t%36;n=Math.floor(t/36)/5,r=Math.floor(s/6)/5,o=s%6/5}let i=Math.max(n,r,o)*2;if(i===0)return 30;let a=30+(Math.round(o)<<2|Math.round(r)<<1|Math.round(n));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,n,r)=>B.ansi256ToAnsi(B.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>B.ansi256ToAnsi(B.hexToAnsi256(t)),enumerable:!1}}),B}var Sa=Pa(),xr=Sa;var vt=new Set(["\x1B","\x9B"]),Ia=39,An="\x07",Or="[",Ta="]",Pr="m",bt=`${Ta}8;;`,Br=e=>`${vt.values().next().value}${Or}${e}${Pr}`,kr=e=>`${vt.values().next().value}${bt}${e}${An}`,Na=e=>e.split(" ").map(t=>Ae(t)),gn=(e,t,n)=>{let r=[...t],o=!1,i=!1,a=Ae(Ke(e.at(-1)));for(let[s,u]of r.entries()){let d=Ae(u);if(a+d<=n?e[e.length-1]+=u:(e.push(u),a=0),vt.has(u)&&(o=!0,i=r.slice(s+1,s+1+bt.length).join("")===bt),o){i?u===An&&(o=!1,i=!1):u===Pr&&(o=!1);continue}a+=d,a===n&&s<r.length-1&&(e.push(""),a=0)}!a&&e.at(-1).length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Ra=e=>{let t=e.split(" "),n=t.length;for(;n>0&&!(Ae(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(" ")+t.slice(n).join("")},ja=(e,t,n={})=>{if(n.trim!==!1&&e.trim()==="")return"";let r="",o,i,a=Na(e),s=[""];for(let[c,p]of e.split(" ").entries()){n.trim!==!1&&(s[s.length-1]=s.at(-1).trimStart());let D=Ae(s.at(-1));if(c!==0&&(D>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(""),D=0),(D>0||n.trim===!1)&&(s[s.length-1]+=" ",D++)),n.hard&&a[c]>t){let h=t-D,A=1+Math.floor((a[c]-h-1)/t);Math.floor((a[c]-1)/t)<A&&s.push(""),gn(s,p,t);continue}if(D+a[c]>t&&D>0&&a[c]>0){if(n.wordWrap===!1&&D<t){gn(s,p,t);continue}s.push("")}if(D+a[c]>t&&n.wordWrap===!1){gn(s,p,t);continue}s[s.length-1]+=p}n.trim!==!1&&(s=s.map(c=>Ra(c)));let u=s.join(`
|
|
93
|
-
`),d=[...u],l=0;for(let[c,p]of d.entries()){if(r+=p,vt.has(p)){let{groups:h}=new RegExp(`(?:\\${
|
|
94
|
-
`?(i&&(r+=
|
|
95
|
-
`&&(o&&D&&(r+=
|
|
92
|
+
`};function rr(e){return e instanceof Error&&e.name==="ExitPromptError"||e instanceof Error&&e.message==="Operation cancelled by user"}function ir(e){let t=e instanceof Error&&e.message.trim()!==""?e.message:String(e);console.error(),console.error(we(t))}var Ue=(e,t=[])=>e.name==="up"||t.includes("vim")&&e.name==="k"||t.includes("emacs")&&e.ctrl&&e.name==="p",At=(e,t=[])=>e.name==="down"||t.includes("vim")&&e.name==="j"||t.includes("emacs")&&e.ctrl&&e.name==="n";var ze=e=>e.name==="backspace",qe=e=>e.name==="tab",Dn=e=>"1234567890".includes(e.name),pe=e=>e.name==="enter"||e.name==="return";var Ft=class extends Error{name="AbortPromptError";message="Prompt was aborted";constructor(t){super(),this.cause=t?.cause}},Et=class extends Error{name="CancelPromptError";message="Prompt was canceled"},Qe=class extends Error{name="ExitPromptError"},Ct=class extends Error{name="HookError"},Be=class extends Error{name="ValidationError"};var dr=require("node:async_hooks");var yt=require("node:async_hooks");var sr=new yt.AsyncLocalStorage;function ga(e){return{rl:e,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function ar(e,t){let n=ga(e);return sr.run(n,()=>{function r(o){n.handleChange=()=>{n.index=0,o()},n.handleChange()}return t(r)})}function De(){let e=sr.getStore();if(!e)throw new Ct("[Inquirer] Hook functions can only be called from within a prompt");return e}function fn(){return De().rl}function hn(e){let t=(...n)=>{let r=De(),o=!1,i=r.handleChange;r.handleChange=()=>{o=!0};let a=e(...n);return o&&i(),r.handleChange=i,a};return yt.AsyncResource.bind(t)}function ke(e){let t=De(),{index:n}=t,r={get(){return t.hooks[n]},set(i){t.hooks[n]=i},initialized:n in t.hooks},o=e(r);return t.index++,o}function ur(){De().handleChange()}var fe={queue(e){let t=De(),{index:n}=t;t.hooksEffect.push(()=>{t.hooksCleanup[n]?.();let r=e(fn());if(r!=null&&typeof r!="function")throw new Be("useEffect return value must be a cleanup function or nothing.");t.hooksCleanup[n]=r})},run(){let e=De();hn(()=>{e.hooksEffect.forEach(t=>{t()}),e.hooksEffect.length=0})()},clearAll(){let e=De();e.hooksCleanup.forEach(t=>{t?.()}),e.hooksEffect.length=0,e.hooksCleanup.length=0}};function N(e){return ke(t=>{let n=dr.AsyncResource.bind(function(i){t.get()!==i&&(t.set(i),ur())});if(t.initialized)return[t.get(),n];let r=typeof e=="function"?e():e;return t.set(r),[r,n]})}function te(e,t){ke(n=>{let r=n.get();(!Array.isArray(r)||t.some((i,a)=>!Object.is(i,r[a])))&&fe.queue(e),n.set(t)})}var K=require("node:util");var W=Q(require("node:process"),1);function ma(){return W.default.platform!=="win32"?W.default.env.TERM!=="linux":!!W.default.env.WT_SESSION||!!W.default.env.TERMINUS_SUBLIME||W.default.env.ConEmuTask==="{cmd::Cmder}"||W.default.env.TERM_PROGRAM==="Terminus-Sublime"||W.default.env.TERM_PROGRAM==="vscode"||W.default.env.TERM==="xterm-256color"||W.default.env.TERM==="alacritty"||W.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var cr={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},lr={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},Aa={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},Fa={...cr,...lr},Ea={...cr,...Aa},Ca=ma(),ya=Ca?Fa:Ea,Oe=ya,Sd=Object.entries(lr);var pr={prefix:{idle:(0,K.styleText)("blue","?"),done:(0,K.styleText)("green",Oe.tick)},spinner:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map(e=>(0,K.styleText)("yellow",e))},style:{answer:e=>(0,K.styleText)("cyan",e),message:e=>(0,K.styleText)("bold",e),error:e=>(0,K.styleText)("red",`> ${e}`),defaultAnswer:e=>(0,K.styleText)("dim",`(${e})`),help:e=>(0,K.styleText)("dim",e),highlight:e=>(0,K.styleText)("cyan",e),key:e=>(0,K.styleText)("cyan",(0,K.styleText)("bold",`<${e}>`))}};function Dr(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function fr(...e){let t={};for(let n of e)for(let[r,o]of Object.entries(n)){let i=t[r];t[r]=Dr(i)&&Dr(o)?fr(i,o):o}return t}function ne(...e){let t=[pr,...e.filter(n=>n!=null)];return fr(...t)}function he({status:e="idle",theme:t}){let[n,r]=N(!1),[o,i]=N(0),{prefix:a,spinner:s}=ne(t);return te(()=>{if(e==="loading"){let d,l=-1,c=setTimeout(()=>{r(!0),d=setInterval(()=>{l=l+1,i(l%s.frames.length)},s.interval)},300);return()=>{clearTimeout(c),clearInterval(d)}}else r(!1)},[e]),n?s.frames[o]:typeof a=="string"?a:a[e==="loading"?"idle":e]??a.idle}function Ye(e,t){return ke(n=>{let r=n.get();if(!r||r.dependencies.length!==t.length||r.dependencies.some((o,i)=>o!==t[i])){let o=e();return n.set({value:o,dependencies:t}),o}return r.value})}function ge(e){return N({current:e})[0]}function me(e){let t=ge(e);t.current=e,te(n=>{let r=!1,o=hn((i,a)=>{r||t.current(a,n)});return n.input.on("keypress",o),()=>{r=!0,n.input.removeListener("keypress",o)}},[])}var Ir=Q(gr(),1);function gn({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var wa=gn();function Ke(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(wa,"")}function mr(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Ar(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Fr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function xa(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Er(e,{ambiguousAsWide:t=!1}={}){return xa(e),Ar(e)||Fr(e)||t&&mr(e)?2:1}var br=Q(yr(),1),Ba=new Intl.Segmenter,ka=new RegExp("^\\p{Default_Ignorable_Code_Point}$","u");function Ae(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t;if(r||(e=Ke(e)),e.length===0)return 0;let o=0,i={ambiguousAsWide:!n};for(let{segment:a}of Ba.segment(e)){let s=a.codePointAt(0);if(!(s<=31||s>=127&&s<=159)&&!(s>=8203&&s<=8207||s===65279)&&!(s>=768&&s<=879||s>=6832&&s<=6911||s>=7616&&s<=7679||s>=8400&&s<=8447||s>=65056&&s<=65071)&&!(s>=55296&&s<=57343)&&!(s>=65024&&s<=65039)&&!ka.test(a)){if((0,br.default)().test(a)){o+=2;continue}o+=Er(s,i)}}return o}var vr=(e=0)=>t=>`\x1B[${t+e}m`,wr=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,xr=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,B={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},ac=Object.keys(B.modifier),Oa=Object.keys(B.color),Pa=Object.keys(B.bgColor),uc=[...Oa,...Pa];function Sa(){let e=new Map;for(let[t,n]of Object.entries(B)){for(let[r,o]of Object.entries(n))B[r]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},n[r]=B[r],e.set(o[0],o[1]);Object.defineProperty(B,t,{value:n,enumerable:!1})}return Object.defineProperty(B,"codes",{value:e,enumerable:!1}),B.color.close="\x1B[39m",B.bgColor.close="\x1B[49m",B.color.ansi=vr(),B.color.ansi256=wr(),B.color.ansi16m=xr(),B.bgColor.ansi=vr(10),B.bgColor.ansi256=wr(10),B.bgColor.ansi16m=xr(10),Object.defineProperties(B,{rgbToAnsi256:{value:(t,n,r)=>t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:t=>{let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(i=>i+i).join(""));let o=Number.parseInt(r,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:t=>B.rgbToAnsi256(...B.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,r,o;if(t>=232)n=((t-232)*10+8)/255,r=n,o=n;else{t-=16;let s=t%36;n=Math.floor(t/36)/5,r=Math.floor(s/6)/5,o=s%6/5}let i=Math.max(n,r,o)*2;if(i===0)return 30;let a=30+(Math.round(o)<<2|Math.round(r)<<1|Math.round(n));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,n,r)=>B.ansi256ToAnsi(B.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>B.ansi256ToAnsi(B.hexToAnsi256(t)),enumerable:!1}}),B}var Ia=Sa(),Br=Ia;var vt=new Set(["\x1B","\x9B"]),Ta=39,An="\x07",Pr="[",Na="]",Sr="m",bt=`${Na}8;;`,kr=e=>`${vt.values().next().value}${Pr}${e}${Sr}`,Or=e=>`${vt.values().next().value}${bt}${e}${An}`,Ra=e=>e.split(" ").map(t=>Ae(t)),mn=(e,t,n)=>{let r=[...t],o=!1,i=!1,a=Ae(Ke(e.at(-1)));for(let[s,u]of r.entries()){let d=Ae(u);if(a+d<=n?e[e.length-1]+=u:(e.push(u),a=0),vt.has(u)&&(o=!0,i=r.slice(s+1,s+1+bt.length).join("")===bt),o){i?u===An&&(o=!1,i=!1):u===Sr&&(o=!1);continue}a+=d,a===n&&s<r.length-1&&(e.push(""),a=0)}!a&&e.at(-1).length>0&&e.length>1&&(e[e.length-2]+=e.pop())},ja=e=>{let t=e.split(" "),n=t.length;for(;n>0&&!(Ae(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(" ")+t.slice(n).join("")},Ma=(e,t,n={})=>{if(n.trim!==!1&&e.trim()==="")return"";let r="",o,i,a=Ra(e),s=[""];for(let[c,p]of e.split(" ").entries()){n.trim!==!1&&(s[s.length-1]=s.at(-1).trimStart());let D=Ae(s.at(-1));if(c!==0&&(D>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(""),D=0),(D>0||n.trim===!1)&&(s[s.length-1]+=" ",D++)),n.hard&&a[c]>t){let h=t-D,A=1+Math.floor((a[c]-h-1)/t);Math.floor((a[c]-1)/t)<A&&s.push(""),mn(s,p,t);continue}if(D+a[c]>t&&D>0&&a[c]>0){if(n.wordWrap===!1&&D<t){mn(s,p,t);continue}s.push("")}if(D+a[c]>t&&n.wordWrap===!1){mn(s,p,t);continue}s[s.length-1]+=p}n.trim!==!1&&(s=s.map(c=>ja(c)));let u=s.join(`
|
|
93
|
+
`),d=[...u],l=0;for(let[c,p]of d.entries()){if(r+=p,vt.has(p)){let{groups:h}=new RegExp(`(?:\\${Pr}(?<code>\\d+)m|\\${bt}(?<uri>.*)${An})`).exec(u.slice(l))||{groups:{}};if(h.code!==void 0){let A=Number.parseFloat(h.code);o=A===Ta?void 0:A}else h.uri!==void 0&&(i=h.uri.length===0?void 0:h.uri)}let D=Br.codes.get(Number(o));d[c+1]===`
|
|
94
|
+
`?(i&&(r+=Or("")),o&&D&&(r+=kr(D))):p===`
|
|
95
|
+
`&&(o&&D&&(r+=kr(o)),i&&(r+=Or(i))),l+=p.length}return r};function Fn(e,t,n){return String(e).normalize().replaceAll(`\r
|
|
96
96
|
`,`
|
|
97
97
|
`).split(`
|
|
98
|
-
`).map(r=>
|
|
98
|
+
`).map(r=>Ma(r,t,n)).join(`
|
|
99
99
|
`)}function We(e,t){return e.split(`
|
|
100
100
|
`).flatMap(n=>Fn(n,t,{trim:!1,hard:!0}).split(`
|
|
101
101
|
`).map(r=>r.trimEnd())).join(`
|
|
102
|
-
`)}function wt(){return(0,
|
|
103
|
-
`)),u=s.reduce((C,y)=>C+y.length,0),d=C=>s[C]??[],l=
|
|
104
|
-
`)}var
|
|
105
|
-
`).length,
|
|
106
|
-
`).pop()??"",Ve=class{height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(t){this.rl=t,this.cursorPos=t.getCursorPos()}write(t){this.rl.output.unmute(),this.rl.output.write(t),this.rl.output.mute()}render(t,n=""){let r=
|
|
102
|
+
`)}function wt(){return(0,Ir.default)({defaultWidth:80,output:fn().output})}function La({active:e,renderedItems:t,pageSize:n,loop:r}){let o=ge({lastPointer:e,lastActive:void 0}),{lastPointer:i,lastActive:a}=o.current,s=Math.floor(n/2),u=t.reduce((c,p)=>c+p.length,0),d=t.slice(0,e).reduce((c,p)=>c+p.length,0),l=d;if(u>n)if(r)l=i,a!=null&&a<e&&e-a<n&&(l=Math.min(s,Math.abs(e-a)===1?Math.min(i+(t[a]?.length??0),Math.max(d,i)):i+e-a));else{let c=t.slice(e).reduce((p,D)=>p+D.length,0);l=c<n-s?n-c:Math.min(d,s)}return o.current.lastPointer=l,o.current.lastActive=e,l}function En({items:e,active:t,renderItem:n,pageSize:r,loop:o=!0}){let i=wt(),a=C=>(C%e.length+e.length)%e.length,s=e.map((C,y)=>C==null?[]:We(n({item:C,index:y,isActive:y===t}),i).split(`
|
|
103
|
+
`)),u=s.reduce((C,y)=>C+y.length,0),d=C=>s[C]??[],l=La({active:t,renderedItems:s,pageSize:r,loop:o}),c=d(t).slice(0,r),p=l+c.length<=r?l:r-c.length,D=Array.from({length:r});D.splice(p,c.length,...c);let h=new Set([t]),A=p+c.length,F=a(t+1);for(;A<r&&!h.has(F)&&(o&&u>r?F!==t:F>t);){let y=d(F).slice(0,r-A);D.splice(A,y.length,...y),h.add(F),A+=y.length,F=a(F+1)}for(A=p-1,F=a(t-1);A>=0&&!h.has(F)&&(o&&u>r?F!==t:F<t);){let C=d(F),y=C.slice(Math.max(0,C.length-A-1));D.splice(A-y.length+1,y.length,...y),h.add(F),A-=y.length,F=a(F-1)}return D.filter(C=>typeof C=="string").join(`
|
|
104
|
+
`)}var Ur=Q(require("node:readline"),1),zr=require("node:async_hooks"),qr=Q(Nr(),1);var Fe=[];Fe.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Fe.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Fe.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var xt=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",yn=Symbol.for("signal-exit emitter"),bn=globalThis,Ha=Object.defineProperty.bind(Object),vn=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(bn[yn])return bn[yn];Ha(bn,yn,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,n){this.listeners[t].push(n)}removeListener(t,n){let r=this.listeners[t],o=r.indexOf(n);o!==-1&&(o===0&&r.length===1?r.length=0:r.splice(o,1))}emit(t,n,r){if(this.emitted[t])return!1;this.emitted[t]=!0;let o=!1;for(let i of this.listeners[t])o=i(n,r)===!0||o;return t==="exit"&&(o=this.emit("afterExit",n,r)||o),o}},Bt=class{},Ua=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),wn=class extends Bt{onExit(){return()=>{}}load(){}unload(){}},xn=class extends Bt{#n=Bn.platform==="win32"?"SIGINT":"SIGHUP";#t=new vn;#e;#i;#s;#r={};#o=!1;constructor(t){super(),this.#e=t,this.#r={};for(let n of Fe)this.#r[n]=()=>{let r=this.#e.listeners(n),{count:o}=this.#t,i=t;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(o+=i.__signal_exit_emitter__.count),r.length===o){this.unload();let a=this.#t.emit("exit",null,n),s=n==="SIGHUP"?this.#n:n;a||t.kill(t.pid,s)}};this.#s=t.reallyExit,this.#i=t.emit}onExit(t,n){if(!xt(this.#e))return()=>{};this.#o===!1&&this.load();let r=n?.alwaysLast?"afterExit":"exit";return this.#t.on(r,t),()=>{this.#t.removeListener(r,t),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(let t of Fe)try{let n=this.#r[t];n&&this.#e.on(t,n)}catch{}this.#e.emit=(t,...n)=>this.#u(t,...n),this.#e.reallyExit=t=>this.#a(t)}}unload(){this.#o&&(this.#o=!1,Fe.forEach(t=>{let n=this.#r[t];if(!n)throw new Error("Listener not defined for signal: "+t);try{this.#e.removeListener(t,n)}catch{}}),this.#e.emit=this.#i,this.#e.reallyExit=this.#s,this.#t.count-=1)}#a(t){return xt(this.#e)?(this.#e.exitCode=t||0,this.#t.emit("exit",this.#e.exitCode,null),this.#s.call(this.#e,this.#e.exitCode)):0}#u(t,...n){let r=this.#i;if(t==="exit"&&xt(this.#e)){typeof n[0]=="number"&&(this.#e.exitCode=n[0]);let o=r.call(this.#e,t,...n);return this.#t.emit("exit",this.#e.exitCode,null),o}else return r.call(this.#e,t,...n)}},Bn=globalThis.process,{onExit:Rr,load:bc,unload:vc}=Ua(xt(Bn)?new xn(Bn):new wn);var Hr=require("node:util");var Mr="\x1B[?25l",Lr="\x1B[?25h",kn=(e=1)=>e>0?`\x1B[${e}A`:"",On=(e=1)=>e>0?`\x1B[${e}B`:"",Pn=(e,t)=>typeof t=="number"&&!Number.isNaN(t)?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`,jr="\x1B[2K",Sn=e=>e>0?(jr+kn(1)).repeat(e-1)+jr+"\x1B[G":"";var Gr=e=>e.split(`
|
|
105
|
+
`).length,za=e=>e.split(`
|
|
106
|
+
`).pop()??"",Ve=class{height=0;extraLinesUnderPrompt=0;cursorPos;rl;constructor(t){this.rl=t,this.cursorPos=t.getCursorPos()}write(t){this.rl.output.unmute(),this.rl.output.write(t),this.rl.output.mute()}render(t,n=""){let r=za(t),o=(0,Hr.stripVTControlCharacters)(r),i=o;this.rl.line.length>0&&(i=i.slice(0,-this.rl.line.length)),this.rl.setPrompt(i),this.cursorPos=this.rl.getCursorPos();let a=wt();t=We(t,a),n=We(n,a),o.length%a===0&&(t+=`
|
|
107
107
|
`);let s=t+(n?`
|
|
108
|
-
`+n:""),d=Math.floor(o.length/a)-this.cursorPos.rows+(n?
|
|
109
|
-
`,n+=
|
|
110
|
-
at ${$e}`)}let[V,_]=typeof k=="string"?[k]:k;l.render(V,_),fe.run()}catch(k){D(k)}}),Object.assign(c.then(k=>(fe.clearAll(),k),k=>{throw fe.clearAll(),k}).finally(()=>{s.forEach(k=>k()),l.done({clearContent:!!o.clearPromptOnDone}),u.end()}).then(()=>c),{cancel:h})})}}var
|
|
111
|
-
`).trimEnd()}${
|
|
112
|
-
Skipped post-scaffold commands. You can run them manually later.`));return}console.log(),console.log("Running post-scaffold commands..."),console.log();let s=0,u;for(let l of o)try{console.log(` ${I("$")} ${l}`),(0,
|
|
108
|
+
`+n:""),d=Math.floor(o.length/a)-this.cursorPos.rows+(n?Gr(n):0);d>0&&(s+=kn(d)),s+=Pn(this.cursorPos.cols),this.write(On(this.extraLinesUnderPrompt)+Sn(this.height)+s),this.extraLinesUnderPrompt=d,this.height=Gr(s)}checkCursorPos(){let t=this.rl.getCursorPos();t.cols!==this.cursorPos.cols&&(this.write(Pn(t.cols)),this.cursorPos=t)}done({clearContent:t}){this.rl.setPrompt("");let n=On(this.extraLinesUnderPrompt);n+=t?Sn(this.height):`
|
|
109
|
+
`,n+=Lr,this.write(n),this.rl.close()}};var kt=class extends Promise{static withResolver(){let t,n;return{promise:new Promise((o,i)=>{t=o,n=i}),resolve:t,reject:n}}};function qa(){let e=Error.prepareStackTrace,t=[];try{Error.prepareStackTrace=(n,r)=>{let o=r.slice(1);return t=o,o},new Error().stack}catch{return t}return Error.prepareStackTrace=e,t}function Ee(e){let t=qa();return(r,o={})=>{let{input:i=process.stdin,signal:a}=o,s=new Set,u=new qr.default;u.pipe(o.output??process.stdout);let d=Ur.createInterface({terminal:!0,input:i,output:u}),l=new Ve(d),{promise:c,resolve:p,reject:D}=kt.withResolver(),h=()=>D(new Et);if(a){let C=()=>D(new Ft({cause:a.reason}));if(a.aborted)return C(),Object.assign(c,{cancel:h});a.addEventListener("abort",C),s.add(()=>a.removeEventListener("abort",C))}s.add(Rr((C,y)=>{D(new Qe(`User force closed the prompt with ${C} ${y}`))}));let A=()=>D(new Qe("User force closed the prompt with SIGINT"));d.on("SIGINT",A),s.add(()=>d.removeListener("SIGINT",A));let F=()=>l.checkCursorPos();return d.input.on("keypress",F),s.add(()=>d.input.removeListener("keypress",F)),ar(d,C=>{let y=zr.AsyncResource.bind(()=>fe.clearAll());return d.on("close",y),s.add(()=>d.removeListener("close",y)),C(()=>{try{let k=e(r,$e=>{setImmediate(()=>p($e))});if(k===void 0){let $e=t[1]?.getFileName();throw new Error(`Prompt functions must return a string.
|
|
110
|
+
at ${$e}`)}let[V,_]=typeof k=="string"?[k]:k;l.render(V,_),fe.run()}catch(k){D(k)}}),Object.assign(c.then(k=>(fe.clearAll(),k),k=>{throw fe.clearAll(),k}).finally(()=>{s.forEach(k=>k()),l.done({clearContent:!!o.clearPromptOnDone}),u.end()}).then(()=>c),{cancel:h})})}}var Qr=require("node:util");var oe=class{separator=(0,Qr.styleText)("dim",Array.from({length:15}).join(Oe.line));type="separator";constructor(t){t&&(this.separator=t)}static isSeparator(t){return!!(t&&typeof t=="object"&&"type"in t&&t.type==="separator")}};function Yr(e,t){let n=t!==!1;return/^(y|yes)/i.test(e)?n=!0:/^(n|no)/i.test(e)&&(n=!1),n}function Kr(e){return e?"Yes":"No"}var Ze=Ee((e,t)=>{let{transformer:n=Kr}=e,[r,o]=N("idle"),[i,a]=N(""),s=ne(e.theme),u=he({status:r,theme:s});me((p,D)=>{if(r==="idle")if(pe(p)){let h=Yr(i,e.default);a(n(h)),o("done"),t(h)}else if(qe(p)){let h=Kr(!Yr(i,e.default));D.clearLine(0),D.write(h),a(h)}else a(D.line)});let d=i,l="";r==="done"?d=s.style.answer(i):l=` ${s.style.defaultAnswer(e.default===!1?"y/N":"Y/n")}`;let c=s.style.message(e.message,r);return`${u} ${c}${l} ${d}`});var Qa={validationFailureMode:"keep"},Pe=Ee((e,t)=>{let{prefill:n="tab"}=e,r=ne(Qa,e.theme),[o,i]=N("idle"),[a="",s]=N(e.default),[u,d]=N(),[l,c]=N(""),p=he({status:o,theme:r});async function D(y){let{required:k,pattern:V,patternError:_="Invalid input"}=e;return k&&!y?"You must provide a value":V&&!V.test(y)?_:typeof e.validate=="function"?await e.validate(y)||"You must provide a valid value":!0}me(async(y,k)=>{if(o==="idle")if(pe(y)){let V=l||a;i("loading");let _=await D(V);_===!0?(c(V),i("done"),t(V)):(r.validationFailureMode==="clear"?c(""):k.write(l),d(_),i("idle"))}else ze(y)&&!l?s(void 0):qe(y)&&!l?(s(void 0),k.clearLine(0),k.write(a),c(a)):(c(k.line),d(void 0))}),te(y=>{n==="editable"&&a&&(y.write(a),c(a))},[]);let h=r.style.message(e.message,o),A=l;typeof e.transformer=="function"?A=e.transformer(l,{isFinal:o==="done"}):o==="done"&&(A=r.style.answer(l));let F;a&&o!=="done"&&!l&&(F=r.style.defaultAnswer(a));let C="";return u&&(C=r.style.error(u)),[[p,h,F,A].filter(y=>y!==void 0).join(" "),C]});var Ie=require("node:util");var Ya={icon:{cursor:Oe.pointer},style:{disabled:e=>(0,Ie.styleText)("dim",`- ${e}`),description:e=>(0,Ie.styleText)("cyan",e),keysHelpTip:e=>e.map(([t,n])=>`${(0,Ie.styleText)("bold",t)} ${(0,Ie.styleText)("dim",n)}`).join((0,Ie.styleText)("dim"," \u2022 "))},indexMode:"hidden",keybindings:[]};function Se(e){return!oe.isSeparator(e)&&!e.disabled}function Ka(e){return e.map(t=>{if(oe.isSeparator(t))return t;if(typeof t!="object"||t===null||!("value"in t)){let o=String(t);return{value:t,name:o,short:o,disabled:!1}}let n=t.name??String(t.value),r={value:t.value,name:n,short:t.short??n,disabled:t.disabled??!1};return t.description&&(r.description=t.description),r})}var In=Ee((e,t)=>{let{loop:n=!0,pageSize:r=7}=e,o=ne(Ya,e.theme),{keybindings:i}=o,[a,s]=N("idle"),u=he({status:a,theme:o}),d=ge(),l=!i.includes("vim"),c=Ye(()=>Ka(e.choices),[e.choices]),p=Ye(()=>{let O=c.findIndex(Se),q=c.findLastIndex(Se);if(O===-1)throw new Be("[select prompt] No selectable choices. All choices are disabled.");return{first:O,last:q}},[c]),D=Ye(()=>"default"in e?c.findIndex(O=>Se(O)&&O.value===e.default):-1,[e.default,c]),[h,A]=N(D===-1?p.first:D),F=c[h];me((O,q)=>{if(clearTimeout(d.current),pe(O))s("done"),t(F.value);else if(Ue(O,i)||At(O,i)){if(q.clearLine(0),n||Ue(O,i)&&h!==p.first||At(O,i)&&h!==p.last){let ce=Ue(O,i)?-1:1,H=h;do H=(H+ce+c.length)%c.length;while(!Se(c[H]));A(H)}}else if(Dn(O)&&!Number.isNaN(Number(q.line))){let ce=Number(q.line)-1,H=-1,re=c.findIndex(Te=>oe.isSeparator(Te)?!1:(H++,H===ce)),et=c[re];et!=null&&Se(et)&&A(re),d.current=setTimeout(()=>{q.clearLine(0)},700)}else if(ze(O))q.clearLine(0);else if(l){let ce=q.line.toLowerCase(),H=c.findIndex(re=>oe.isSeparator(re)||!Se(re)?!1:re.name.toLowerCase().startsWith(ce));H!==-1&&A(H),d.current=setTimeout(()=>{q.clearLine(0)},700)}}),te(()=>()=>{clearTimeout(d.current)},[]);let C=o.style.message(e.message,a),y=o.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]),k=0,V=En({items:c,active:h,renderItem({item:O,isActive:q,index:ce}){if(oe.isSeparator(O))return k++,` ${O.separator}`;let H=o.indexMode==="number"?`${ce+1-k}. `:"";if(O.disabled){let Te=typeof O.disabled=="string"?O.disabled:"(disabled)";return o.style.disabled(`${H}${O.name} ${Te}`)}let re=q?o.style.highlight:Te=>Te,et=q?o.icon.cursor:" ";return re(`${et} ${H}${O.name}`)},pageSize:r,loop:n});if(a==="done")return[u,C,o.style.answer(F.short)].filter(Boolean).join(" ");let{description:_}=F;return`${[[u,C].filter(Boolean).join(" "),V," ",_?o.style.description(_):"",y].filter(Boolean).join(`
|
|
111
|
+
`).trimEnd()}${Mr}`});var Zr=require("node:child_process");var Wr=require("node:child_process");function Vr(e){try{return(0,Wr.execSync)("git rev-parse --is-inside-work-tree",{cwd:e,stdio:["ignore","pipe","ignore"],encoding:"utf-8"}).trim()==="true"}catch{return!1}}function Wa(e,t){let n=e.postScaffoldCommands;if(!n)return{commands:[],gitInitSkipped:!1};let r=n.setup??[],o=n.gitInit??[],i=o.length>0&&Vr(t);return{commands:i?[...r]:[...r,...o],gitInitSkipped:i}}async function Xr(e,t,n=!1,r=!1){let{commands:o,gitInitSkipped:i}=Wa(t,e);if(o.length===0){i&&(console.log(),console.log(I(`Existing git repo detected at ${e} \u2014 skipping git setup commands.`)));return}if(console.log(),i&&console.log(I(`Existing git repo detected at ${e} \u2014 skipping git setup commands.`)),console.log("The following commands will be executed:"),o.forEach(l=>{console.log(` ${I("$")} ${l}`)}),console.log(),!(!n&&(r||await Ze({message:"Continue?",default:!0})))){console.log(I(`
|
|
112
|
+
Skipped post-scaffold commands. You can run them manually later.`));return}console.log(),console.log("Running post-scaffold commands..."),console.log();let s=0,u;for(let l of o)try{console.log(` ${I("$")} ${l}`),(0,Zr.execSync)(l,{cwd:e,stdio:"inherit"}),s++}catch(c){u=c instanceof Error?c.message:String(c);break}if(!u)return;let d=o[s];console.error(we(`
|
|
113
113
|
Failed to execute command: ${d}
|
|
114
114
|
${u}
|
|
115
115
|
`)),console.error(we(`\u26A0\uFE0F Aborting post-scaffold commands.
|
|
116
|
-
`)),console.log("Command execution status:"),o.forEach((l,c)=>{c<s?console.log(` \u2713 ${I(l)}`):console.log(c===s?` \u2717 ${we(l)}`:` - ${I(l)} ${I("(skipped)")}`)}),console.log(),console.log("You can run the remaining commands manually from your project directory:"),console.log(` ${I("cd")} ${e}`),o.slice(s).forEach(l=>{console.log(` ${I("$")} ${l}`)}),console.log()}var Tn=["datadoghq.com","us3.datadoghq.com","us5.datadoghq.com","datadoghq.eu","ddog-gov.com","us2.ddog-gov.com","ap1.datadoghq.com","ap2.datadoghq.com","uk1.datadoghq.com","datad0g.com"];var
|
|
117
|
-
If your org has a custom subdomain (e.g. acme.datadoghq.com), use that instead:`,default:Ot,validate:Rn});d=Nn(l)??Ot}if(n&&!t&&Xe.default.existsSync(u))throw new Error(`Directory ${u} already exists. Use --overwrite to replace it.`);return await
|
|
116
|
+
`)),console.log("Command execution status:"),o.forEach((l,c)=>{c<s?console.log(` \u2713 ${I(l)}`):console.log(c===s?` \u2717 ${we(l)}`:` - ${I(l)} ${I("(skipped)")}`)}),console.log(),console.log("You can run the remaining commands manually from your project directory:"),console.log(` ${I("cd")} ${e}`),o.slice(s).forEach(l=>{console.log(` ${I("$")} ${l}`)}),console.log()}var Tn=["datadoghq.com","us3.datadoghq.com","us5.datadoghq.com","datadoghq.eu","ddog-gov.com","us2.ddog-gov.com","ap1.datadoghq.com","ap2.datadoghq.com","uk1.datadoghq.com","datad0g.com"];var Va=new Set(["api","app"]);function Za(e){return(e.trim().replace(/^[a-z][a-z0-9+.-]*:\/\//i,"").split(/[/?#]/)[0]??"").trim().toLowerCase()}function Jr(e){if(typeof e!="string"||e.length===0)return;let t=Za(e),n=Tn.find(s=>s===t);if(n)return{site:n};let r=Tn.filter(s=>t.endsWith(`.${s}`)),[o]=r;if(o===void 0)return;let i=o;for(let s of r)s.length>i.length&&(i=s);let a=t.slice(0,t.length-i.length-1);if(!(!a||!/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/.test(a)))return Va.has(a)?{site:i}:{site:i,subdomain:a}}function Nn(e){let t=Jr(e);if(t!==void 0)return t.subdomain?`${t.subdomain}.${t.site}`:t.site}var Xa=new Set(["datad0g.com"]),Ja=Tn.filter(e=>!Xa.has(e));function _a(){return Ja.join(", ")}function Rn(e){return!e||!e.trim()?"The Datadog site cannot be empty.":Jr(e)!==void 0?!0:`"${e}" is not a known Datadog site. Known sites: ${_a()}.`}var Xe=Q(require("node:fs")),St=Q(require("node:path"));var Ot="datadoghq.com";function _r(e){return e?/^[a-z0-9][a-z0-9-]*$/.test(e)?!0:"Directory name must start with a lowercase letter or number and contain only lowercase letters, numbers, and hyphens.":"The directory name cannot be empty."}function Pt(e){let t=e.trim();return t?/[{}<>`$]/.test(t)?"The app name cannot contain the characters {, }, <, >, `, or $.":!0:"The app name cannot be empty."}function $a(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function $r(e){return e.split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}async function eu(e,t){if(!Xe.default.existsSync(e))return;if(t){console.log(I("Deleting directory.")),Xe.default.rmSync(e,{force:!0,recursive:!0});return}if(console.log(),await Ze({message:`Directory ${L(e)} already exists. Overwrite?`,default:!1}))console.log(I("Deleting directory.")),Xe.default.rmSync(e,{force:!0,recursive:!0});else throw console.log(I("Cancelled.")),new Error("Operation cancelled by user")}async function ei(e,t,n,r,o){let i,a;if(e){let l=St.default.basename(e),c=_r(l);if(c!==!0)throw new Error(c);if(a=e,r!==void 0){let p=Pt(r);if(p!==!0)throw new Error(p);i=r.trim()}else n?i=$r(l):i=(await Pe({message:"Enter your app name:",default:$r(l),validate:Pt})).trim()}else{if(n)throw new Error("A directory name is required when using --yes. Pass it as a positional argument.");{if(r!==void 0){let c=Pt(r);if(c!==!0)throw new Error(c);i=r.trim()}else i=(await Pe({message:"Enter your app name:",validate:Pt})).trim();let l=$a(i);a=await Pe({message:"Enter the directory name for your app:",default:l,validate:c=>_r(c)})}}let s=St.default.basename(a),u=St.default.resolve(process.cwd(),a),d=Ot;if(o!==void 0){let l=Rn(o);if(l!==!0)throw new Error(l);d=Nn(o)??Ot}else if(!n){let l=await Pe({message:`Enter your Datadog site (e.g. datadoghq.com, datadoghq.eu, ap1.datadoghq.com).
|
|
117
|
+
If your org has a custom subdomain (e.g. acme.datadoghq.com), use that instead:`,default:Ot,validate:Rn});d=Nn(l)??Ot}if(n&&!t&&Xe.default.existsSync(u))throw new Error(`Directory ${u} already exists. Use --overwrite to replace it.`);return await eu(u,t),{name:i,directoryName:s,directory:a,datadogSite:d,description:""}}var no=Q(require("node:fs/promises")),oo=Q(require("node:path"));var jn={};P(jn,{contents:()=>nu,filepath:()=>tu});var tu="./src/App.tsx",nu=e=>`import { useQuery } from '@tanstack/react-query';
|
|
118
|
+
import { Button } from '@datadog/druids/form/Button';
|
|
118
119
|
import { Grid } from '@datadog/druids/layout/Grid';
|
|
119
120
|
import { GridItem } from '@datadog/druids/layout/GridItem';
|
|
120
121
|
import { Spacing } from '@datadog/druids/layout/Spacing';
|
|
121
122
|
import { Text } from '@datadog/druids/typography/Text';
|
|
122
123
|
|
|
124
|
+
import { getGreeting } from './getGreeting.backend';
|
|
125
|
+
|
|
123
126
|
function App() {
|
|
127
|
+
const { data: greeting, isLoading, isError } = useQuery({
|
|
128
|
+
queryKey: ['greeting'],
|
|
129
|
+
queryFn: () => getGreeting(${JSON.stringify(e.name)}),
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
let greetingText: string;
|
|
133
|
+
if (isLoading) {
|
|
134
|
+
greetingText = 'Calling a backend function\u2026';
|
|
135
|
+
} else if (isError) {
|
|
136
|
+
greetingText = 'Unable to load greeting.';
|
|
137
|
+
} else {
|
|
138
|
+
greetingText = greeting ?? '';
|
|
139
|
+
}
|
|
140
|
+
|
|
124
141
|
return (
|
|
125
142
|
<Spacing as="main" padding="lg">
|
|
126
143
|
<Grid columns={1} gap="lg" isFullWidth>
|
|
@@ -134,6 +151,9 @@ function App() {
|
|
|
134
151
|
DRUIDS components, Datadog backend functions, and the
|
|
135
152
|
app upload workflow.
|
|
136
153
|
</Text>
|
|
154
|
+
<Text as="p" size="md" marginBottom="md">
|
|
155
|
+
{greetingText}
|
|
156
|
+
</Text>
|
|
137
157
|
<Button
|
|
138
158
|
href="https://docs.datadoghq.com/actions/datadog_apps/"
|
|
139
159
|
isExternal
|
|
@@ -148,7 +168,7 @@ function App() {
|
|
|
148
168
|
}
|
|
149
169
|
|
|
150
170
|
export default App;
|
|
151
|
-
`;var Mn={};
|
|
171
|
+
`;var Mn={};P(Mn,{contents:()=>ru,filepath:()=>ou});var ou="./docs/agents/backend-functions.md",ru=e=>`# Backend Functions
|
|
152
172
|
|
|
153
173
|
Backend functions are Datadog-managed server-side functions. They do not ship to the browser.
|
|
154
174
|
|
|
@@ -161,9 +181,9 @@ Backend functions are Datadog-managed server-side functions. They do not ship to
|
|
|
161
181
|
|
|
162
182
|
## Runtime behavior
|
|
163
183
|
|
|
164
|
-
-
|
|
184
|
+
- \`npm run dev\` executes backend functions in-process, in the same local Node.js process as the dev server \u2014 no bundling, no network round trip.
|
|
185
|
+
- \`npm run dev:verify\` routes the same backend functions through the real cloud path instead \u2014 the same sandboxed environment a deployed app uses \u2014 as a pre-publish parity check. Use it before publishing if local behavior needs to be confirmed against production.
|
|
165
186
|
- Deployed apps call backend functions through the embedded Datadog runtime bridge.
|
|
166
|
-
- Backend functions do not run in the user's local Node.js process.
|
|
167
187
|
|
|
168
188
|
## Backend helper library
|
|
169
189
|
|
|
@@ -175,6 +195,7 @@ Datadog provides \`@datadog/apps-backend\`, a library of tools to make backend f
|
|
|
175
195
|
- Never hardcode API keys, app keys, OAuth tokens, passwords, private keys, or third-party credentials.
|
|
176
196
|
- Frontend code should not call Datadog APIs or other privileged services directly.
|
|
177
197
|
- Validate frontend inputs before using them in backend function calls.
|
|
198
|
+
- These rules hold under \`npm run dev\` too: even though backend functions execute in the local Node process there, the plugin blocks raw network and subprocess access during the call \u2014 the only sanctioned outbound path is the generic HTTP action described below.
|
|
178
199
|
|
|
179
200
|
## External network requests
|
|
180
201
|
|
|
@@ -261,7 +282,7 @@ The generated app wraps React in \`QueryClientProvider\` in \`src/main.tsx\`. Pr
|
|
|
261
282
|
|
|
262
283
|
- For choosing between DDSQL and Action Catalog, configuring Connections, or querying app datastores, read \`docs/agents/data.md\`.
|
|
263
284
|
- For triggering or polling a Workflow Automation workflow, read \`docs/agents/workflow-automation.md\`.
|
|
264
|
-
`;var Ln={};
|
|
285
|
+
`;var Ln={};P(Ln,{contents:()=>su,filepath:()=>iu});var iu="./docs/agents/build-upload-auth.md",su=e=>'# Build, Auth, And Upload\n\nThis scaffold uses npm. Prefer the scripts in `package.json` over ad hoc commands.\n\n## Scripts\n\n- `npm run dev` \u2014 start the dev server through `datadog-apps`, which resolves Datadog credentials for it.\n- `npm run build` \u2014 local production build. Does not upload anything.\n- `npm run upload` \u2014 build, upload, and publish the app live.\n- `npm run cli` \u2014 open the `datadog-apps` command menu (a plain command listing in non-interactive contexts).\n- `npm run typecheck` \u2014 TypeScript check without emitting files. Use this for credential-free validation.\n- `npm run lint` / `npm run lint:fix` \u2014 run ESLint.\n\n## App identity (do not change)\n\n- `id` in `datadog-app.config.json` is this app\'s permanent identity. It was generated once when the project was scaffolded.\n- Every upload updates the app that matches this identifier. **Never change it** \u2014 changing it makes the next upload create a brand-new duplicate app instead of updating the existing one.\n\n## Auth\n\nApps use **OAuth by default**. On first `npm run dev`, the `datadog-apps` CLI opens a browser window for Datadog login and stores the token on this machine in `credentials.json` \u2014 under `$DD_APPS_CONFIG_DIR` or `$DATADOG_APPS_CONFIG_DIR` if set, else `$XDG_CONFIG_HOME/datadog-apps` (when absolute), else `~/.config/datadog-apps`. Treat that file as a secret; `npx datadog-apps auth logout` revokes and clears it. No credentials needed in advance.\n\n**API key fallback** \u2014 use when OAuth isn\'t available (headless CI, restricted networks). The `datadog-apps` CLI reads credentials from the environment, not from `.env.local`, so export both keys before running `npm run dev`, `npm run build`, or `npm run upload`:\n\n```bash\nexport DD_API_KEY="<YOUR_API_KEY>"\nexport DD_APP_KEY="<YOUR_APPLICATION_KEY>"\n```\n\nKeys are at:\n- API keys: `https://app.datadoghq.com/organization-settings/api-keys`\n- Application keys: `https://app.datadoghq.com/organization-settings/application-keys` \u2014 the key needs **two scopes**: **Actions API Access** and **Apps**\n\nDo not ask users to paste key values into the conversation; point them at the pages above.\n\n## Non-US1 site\n\nSet `datadogSite` in `datadog-app.config.json` so local dev and uploads target the right site:\n\n```json\n{ "datadogSite": "<YOUR_DATADOG_SITE>" }\n```\n\n## Upload\n\nBuild, upload, and publish in one command:\n\n```bash\nnpm run upload\n```\n\nWith API keys (CI environments):\n\n```bash\nexport DD_API_KEY="<YOUR_API_KEY>"\nexport DD_APP_KEY="<YOUR_APPLICATION_KEY>"\nnpm run upload\n```\n\nA successful upload prints a Datadog URL for the app.\n\n**Older scaffolded projects** \u2014 if the `upload` script is missing, add it to `package.json` and install the CLI it runs:\n\n```json\n{ "scripts": { "upload": "npx datadog-apps upload" } }\n```\n\n```bash\nnpm install -D @datadog/apps-cli\n```\n\n## Troubleshooting\n\n**401 / missing authentication token / credentials not configured**\n\n- OAuth: if the browser window didn\'t open, the environment may not support it. Fall back to API keys.\n- API keys: verify `DD_API_KEY` and `DD_APP_KEY` are set and the application key has both **Actions API Access** and **Apps** scopes.\n- Check `datadogSite` in `datadog-app.config.json` matches the credentials\' Datadog site.\n\n**403 "you do not have access to this app" on upload**\n\nThe application key needs both scopes enabled \u2014 not just one:\n\n1. **Actions API Access** \u2014 required for backend function execution.\n2. **Apps** (or **App Builder**) \u2014 required for uploading and publishing.\n\nGo to `https://app.datadoghq.com/organization-settings/application-keys`, confirm both scopes, or create a new key with both.\n\n**Build succeeds but nothing goes live**\n\n- Use `npm run upload`, not `npm run build`, when the intent is to publish. `npm run build` builds locally and uploads nothing.\n- Confirm `dryRun` in `vite.config.ts` is not `true`.\n\n**Build fails with missing credentials**\n\n- `npm run build` is a local build and needs no credentials; if it fails, read the error from Vite or the Datadog Vite plugin.\n- For credential-free validation, prefer `npm run typecheck`.\n\n**Node or scaffolding errors**\n\n- Check `package.json` `engines.node` for the supported Node.js versions.\n- Use Volta, nvm, or fnm to switch versions. Prefer a current Node 22 release when debugging.\n\n**Datadog site mismatch**\n\n- Inspect `datadog-app.config.json` for the configured site and confirm CI uses the same value.\n';var Gn={};P(Gn,{contents:()=>uu,filepath:()=>au});var au="./docs/agents/cicd.md",uu=e=>`# CI/CD
|
|
265
286
|
|
|
266
287
|
## GitHub Actions
|
|
267
288
|
|
|
@@ -293,7 +314,7 @@ jobs:
|
|
|
293
314
|
uses: actions/setup-node@v6
|
|
294
315
|
|
|
295
316
|
- name: Deploy
|
|
296
|
-
uses: DataDog/apps-github-action@v0.0
|
|
317
|
+
uses: DataDog/apps-github-action@d600eb3ad1b7a6f5ce0be33601daf009128fce26 # v0.1.0
|
|
297
318
|
with:
|
|
298
319
|
datadog-api-key: \${{ secrets.DATADOG_API_KEY }}
|
|
299
320
|
datadog-app-key: \${{ secrets.DATADOG_APP_KEY }}
|
|
@@ -303,7 +324,7 @@ jobs:
|
|
|
303
324
|
Store \`DATADOG_API_KEY\` and \`DATADOG_APP_KEY\` as [encrypted secrets](https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions) in the repository or organization settings. The application key needs both **Actions API Access** and **Apps** scopes.
|
|
304
325
|
|
|
305
326
|
For non-US1 organizations, configure the Datadog site in \`datadog-app.config.json\` (\`datadogSite\` field) and ensure CI and local config are aligned.
|
|
306
|
-
`;var
|
|
327
|
+
`;var Hn={};P(Hn,{contents:()=>cu,filepath:()=>du});var du="./docs/agents/data.md",cu=e=>`# Data Access
|
|
307
328
|
|
|
308
329
|
Backend functions have two primary data access paths: DDSQL and Action Catalog.
|
|
309
330
|
|
|
@@ -366,7 +387,7 @@ Connections are optional, reusable auth configuration for Action Catalog actions
|
|
|
366
387
|
Integrations such as GitHub, Jira, Slack, PagerDuty, and Statuspage may inherit credentials from their Datadog integration tile and may not need an explicit connection.
|
|
367
388
|
|
|
368
389
|
Public docs: [Connections](https://docs.datadoghq.com/actions/connections/), [Action Catalog](https://docs.datadoghq.com/actions/action_interface/)
|
|
369
|
-
`;var Un={};
|
|
390
|
+
`;var Un={};P(Un,{contents:()=>pu,filepath:()=>lu});var lu="./docs/agents/runtime-context.md",pu=e=>`# Runtime Context
|
|
370
391
|
|
|
371
392
|
Datadog Apps are embedded inside the Datadog UI. Treat this app as iframe-hosted browser code with Datadog-managed backend execution.
|
|
372
393
|
|
|
@@ -400,12 +421,13 @@ Check out this library for features, tools, utils and more
|
|
|
400
421
|
|
|
401
422
|
Frontend code imports backend functions like normal ES modules, but those imports are rewritten by the Datadog Vite plugin. The function body does not run in the browser.
|
|
402
423
|
|
|
403
|
-
- In local dev, backend calls
|
|
424
|
+
- In local dev (\`npm run dev\`), backend calls run in-process in the same local Node.js process as the dev server.
|
|
425
|
+
- \`npm run dev:verify\` routes the same calls through the real cloud path instead, as a pre-publish parity check.
|
|
404
426
|
- In deployed apps, backend calls go through the Datadog iframe/runtime bridge.
|
|
405
|
-
- Do not build app logic that depends on
|
|
427
|
+
- Do not build app logic that depends on which of these transports handles a given call \u2014 the contract (async function in, structured-cloneable result out) is the same across all three.
|
|
406
428
|
|
|
407
429
|
For backend implementation details, read \`backend-functions.md\`.
|
|
408
|
-
`;var zn={};
|
|
430
|
+
`;var zn={};P(zn,{contents:()=>fu,filepath:()=>Du});var Du="./docs/agents/upgrading.md",fu=e=>'# Upgrading\n\n## Primary packages\n\n- `@datadog/vite-plugin`: Vite integration for local development, build, and deploy.\n- `@datadog/action-catalog`: typed Action Catalog client for backend functions.\n- `@datadog/apps-backend`: Datadog-provided helpers for backend function development.\n- `@datadog/apps-frontend`: Datadog-provided helpers and utils for apps, such as getting input context from the page!\n\nPreserve the existing package manager and lockfile style.\n\n## Before upgrading\n\nCheck release notes before changing versions:\n\n```bash\nnpm view @datadog/vite-plugin version repository.url homepage\nnpm view @datadog/action-catalog version repository.url homepage\nnpm view @datadog/apps-backend version repository.url homepage\nnpm view @datadog/apps-frontend version repository.url homepage\n```\n\nInspect the current app:\n\n```bash\nnpm outdated @datadog/vite-plugin @datadog/action-catalog @datadog/apps-backend @datadog/apps-frontend\nnpm ls @datadog/vite-plugin @datadog/action-catalog @datadog/apps-backend @datadog/apps-frontend\n```\n\n## Upgrade\n\n```bash\nnpm install @datadog/action-catalog@latest\nnpm install @datadog/apps-backend@latest\nnpm install @datadog/apps-frontend@latest\nnpm install -D @datadog/vite-plugin@latest\n```\n\nAfter upgrading, verify:\n\n- `datadog-app.config.json` app definition and configuration fields (`datadogSite`, `id`, `name`, `description`, `selfService`, `permissions`) and `vite.config.ts` Datadog plugin config.\n- `package.json` scripts \u2014 check for the `dev`, `build`, and `upload` scripts that run the `datadog-apps` CLI, and for `@datadog/apps-cli` in `devDependencies`.\n- Backend function imports from `@datadog/action-catalog/...`.\n- Frontend embedding and input imports from `@datadog/apps-frontend/...`.\n- Project-local instructions in `AGENTS.md`.\n\n## Compare against a fresh scaffold\n\nTo pull in changes from the latest scaffolder without guessing:\n\n```bash\ntmp_dir="$(mktemp -d)"\nnpm create @datadog/apps@latest -- "$tmp_dir/base-app" --template vite-react -y --skip-post-scaffold\ndiff -ru "$tmp_dir/base-app/package.json" package.json\ndiff -ru "$tmp_dir/base-app/datadog-app.config.json" datadog-app.config.json\ndiff -ru "$tmp_dir/base-app/vite.config.ts" vite.config.ts\ndiff -ru "$tmp_dir/base-app/src" src\n```\n\nPort only the specific changes needed. Do not replace the app wholesale.\n\n**Preserve your existing `id`** \u2014 the fresh scaffold generates a new random `id` in `datadog-app.config.json`. Do not copy it into your project; keep your existing `id` to avoid creating a duplicate app on the next upload.\n\n## Verify\n\n```bash\nnpm run typecheck\nnpm run lint\nnpm run build\n```\n';var qn={};P(qn,{contents:()=>gu,filepath:()=>hu});var hu="./docs/agents/workflow-automation.md",gu=e=>`# Workflow Automation
|
|
409
431
|
|
|
410
432
|
Use this when a backend function needs to trigger a Datadog Workflow Automation workflow and poll for the result.
|
|
411
433
|
|
|
@@ -555,7 +577,7 @@ Treat \`statusKind === "SUCCEEDED"\` as success. All other terminal statuses (\`
|
|
|
555
577
|
- \`input parameter not in workflow input schema\`: update \`meta.payload\` keys to match \`inputSchema.parameters\`.
|
|
556
578
|
- \`Expected trigger type TRIGGER_TYPE_API not found\`: add and publish an API trigger on the workflow.
|
|
557
579
|
- 401/403: confirm \`DD_API_KEY\` and \`DD_APP_KEY\` are set with Actions API Access, and the app site matches the API host.
|
|
558
|
-
`;var Qn={};
|
|
580
|
+
`;var Qn={};P(Qn,{contents:()=>Au,filepath:()=>mu});var mu="./AGENTS.md",Au=e=>`# ${e.name}
|
|
559
581
|
|
|
560
582
|
This is a Datadog App scaffolded with \`npm create @datadog/apps\`.
|
|
561
583
|
|
|
@@ -604,9 +626,9 @@ This app uses the published \`@datadog/druids\` package. In scaffolded apps, imp
|
|
|
604
626
|
- Use Datadog MCP tools when available for Datadog-specific lookup, diagnostics, or API-backed workflows.
|
|
605
627
|
|
|
606
628
|
Primary docs: https://docs.datadoghq.com/actions/datadog_apps/
|
|
607
|
-
`;var Yn={};
|
|
608
|
-
`;var Kn={};
|
|
609
|
-
`};var Wn={};
|
|
629
|
+
`;var Yn={};P(Yn,{contents:()=>Eu,filepath:()=>Fu});var Fu="./CLAUDE.md",Eu=e=>`@AGENTS.md
|
|
630
|
+
`;var Kn={};P(Kn,{contents:()=>bu,filepath:()=>Cu});var ti=require("node:crypto"),Cu="./datadog-app.config.json",yu=/^([0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$/,bu=e=>{let t=e.identifier?.trim();if(t&&!yu.test(t))throw new Error(`Invalid --identifier "${e.identifier}": must be a lowercase 32-character hex string or a lowercase UUID.`);let n=t||(0,ti.createHash)("md5").update(`${Math.random().toString()}:${e.name}`).digest("hex"),r={$schema:"https://unpkg.com/@datadog/create-apps/dist/datadog-app.config.schema.json",datadogSite:e.datadogSite,id:n,name:e.name};return`${JSON.stringify(r,null,2)}
|
|
631
|
+
`};var Wn={};P(Wn,{contents:()=>wu,filepath:()=>vu});var vu="./eslint.config.mjs",wu=e=>`import js from '@eslint/js';
|
|
610
632
|
import { defineConfig, globalIgnores } from 'eslint/config';
|
|
611
633
|
import reactHooks from 'eslint-plugin-react-hooks';
|
|
612
634
|
import reactRefresh from 'eslint-plugin-react-refresh';
|
|
@@ -629,7 +651,7 @@ export default defineConfig([
|
|
|
629
651
|
},
|
|
630
652
|
},
|
|
631
653
|
]);
|
|
632
|
-
`;var Vn={};S(Vn,{contents:()=>xu,filepath:()=>wu});var wu="./public/favicon.ico",xu=e=>Buffer.from("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o0l2/6RLeP+mT3v/8uXr///////9/P3///////jx9f+tXIX/oUVz/6VMeP+fQXD/mjdp/5k1Z/+cOmv/oEJx/6RKd/+nUHz/qFN+/6hSff+nT3v/pUx4/6NIdv+iRnT/okZ0/6NIdf+kSnf/pEp3/6RKd/+kSnf/pEt4/6JHdf+oUn3/mjdo/82btP//////+PL1///////48vX//////8qWsP+eP2//pUx5/9m0x//kydb/0KG5/8KGpP+xZIv/pUx4/507bP+ZNWf/mjdo/54+bv+iRnT/pk56/6hSff+pU37/pk56/6RKd/+kSnf/pEp3/6RLd/+jSHX/pk56/54+bv+9fJ3//fz9//38/P////////////z5+///////0KK5/5o3aP+qVoD/6dTf/8mVr//Uqr//5MnW/+vY4f/s2uP/5s7a/9q1x//KlrD/uXWX/6pXgf+gQnH/mjdp/5k1Z/+fP2//pEp3/6RKd/+kSnf/o0h2/6ZOev+gQXD/uneZ///////9+/z///////79/f///////Pr7///////BhaP/o0h1/7Fkiv/w4un/okd1/5cxZP+cOWv/oUNy/61chP+9fZ3/z5+3/96+zv/p1N//7t3l/+vY4f/hxNL/06e9/7p2mP+kSnf/pEp3/6RLeP+iR3X/p1B8/5w7bP/WrsL///////v4+f////////////37/P//////8ubs/7VskP/37/P/vX2d///////evs7/okZ0/6xag/+mT3v/pEt3/508bf+ZNWf/mjZo/58/b/+oU37/uHKV/8WNqf/dvc3/8OHo/6VLeP+kS3f/pEt3/6NHdf+nT3v/nj1u/8SLp///////+/b4////////////+/f5///////DiKX/1q3C//v4+v+/gaD///////7+/v+8epv/mTVn/6BBcP+dPG3/pk96/6lUfv+oU33/p1B8/6FEcv+gQnH/li9j/6dQfP/lzNj/okVz/6VNef+kSnf/pEp3/6RJdv+lS3j/o0h2/+jS3f///////Pn6//7+/v//////2LLF/8SKp///////5s7a/8iRrP///////fz8//Pn7P+yZoz/woak/+HD0v+zaI3/nj5u/6NJdv+hRHL/pk56/6pWgP+hRXP/vXyd/+XM2f+ePm7/p097/6RKd/+kSnf/pEl2/6RLeP+jSHX/pk16/+jR3P//////7dzl/928zf/fv8//+vX4///////evs7/zZy0///////69vj///////79/f/9+/z//////+bO2v+gQ3H/p1F8/6ZPev+cO2z/pEp3/5s4af+/f5//4cPS/5s5av+oUX3/pEp3/6RKd/+kSnf/o0l2/6RLeP+jSXb/oEJx/928zf///////Pn6///////48fT//////9Sqv//WrsL///////v2+f///////v3+//79/f/58/b//////8OIpv+cOmv/nj5u/8KGpP++fZ3/lS1h/8yZsv/bt8n/mjZo/6hTfv+kSnf/pEp3/6RKd/+kS3f/o0l2/6RKd/+mTnr/nTxs/969zf//////+/j6//v4+v//////yZSv/927zP//////+vT3//37/P/7+Pn///////79/v//////8+ft/7Bjif/atsn//////+fP2/+VLGH/06i+/9Sqv/+aNmj/qVN+/6RKd/+kSnf/pEp3/6RKd/+kS3j/o0h2/6RKd/+kS3j/pEt3//Tq7///////+/f5///////Hj6v/7Nni///////8+fv////////////9+/z//Pn6//7+/v/9/Pz//Pn7///////69vj//////6xbhP/Uq8D/0KK5/5k0Zv+pU37/pEp3/6RKd/+kSnf/pEp3/6RKd/+kS3j/okd1/6ZOev+eP27/37/P///////69fj//////7Rqj//dvMz///////Pn7f/cusz/3LrL//nz9v////////7///79/f/79vj/+/f5//n09///////1q7C/9u3yf/Jla//mjVn/6hTff+kSnf/pEp3/6RKd/+kSnf/pEp3/6RLd/+jR3X/pk96/59AcP/nz9v///////37/P///v7/4sbU/82btP+oU37/qlaA/7Bjiv+tXIT/qFJ9/+fQ3P/9+/z//fv8/////////////v39///////27PH/8+ju/7t4mv+ePm7/pk97/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0h2/6ZOev+hRXP/rFqD//r19////////v7+///////48fX/zJu0/9Onvf/37/P///7+///////nz9v/p1F8/7l0lv/Mm7T/ypaw/9u4yv/r1+H/+PH1//79/v//////s2iN/6BDcf+lTXn/pEp3/6RKd/+kSnf/pEp3/6NJdv+lS3j/oURz/6tZgv/u3ub///////78/f//////+PH0/9Sqv//w4un///////79/f/9/Pz/+/f5///////z5+3/69jh///////Jk67/lzBk/6NJdv+nUXz/tGuP/8KGpP+pVH//o0d1/6VLeP+kSnf/pEp3/6RKd/+jSXb/pUx5/6FEc/+zaY7/8+ft///+/v/+/v7////////////79/n//Pr7///////7+Pn//vz9///////+/f7///////Hj6v/dvM3///////Hj6v+mT3v/pk96/6JHdf+gQnH/nj5u/6NIdf+kSnf/pEp3/6RKd/+kSnf/pEt4/6JHdf+nUHz/nDxs/8yas///////+/f5///////+/v7////////////9/P3//vz9/////////////fv8///////Vq8D/mjdp/5QrYP/WrsL/+/f5/6VMeP+jSXb/pEt3/6VNef+nT3v/pEt4/6RKd/+kSnf/pEp3/6RKd/+kS3f/o0h1/6ZPe/+ePm7/3r7O///////8+fr///////7+/v///////vz9//z6+//9/Pz//vz9///////9/P3//////+HD0v/ChaT/sGGJ/8iSrf/16/D/okZ0/6ZNef+jSHb/o0h2/6NHdf+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6VMeP/y5ev///////38/P/+/f7////////////////////////////+/v7//////////////////v7+///////79/n//////82ctP+dPW3/p1B7/6NHdf+kS3f/pEt3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6NJdv+lTXn/pEp3/9u4yf/du8z/8eTr///////+/P3///////ny9f/Qobj/5cvY//v3+f///////v7+///////8+fv/+fT3///////n0Nv/okV0/6VMeP+jSXb/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RLd/+jSHX/pk56/58/b/+wY4r/1azB/75/n/+dPGz/3r7O////////////27jK/5YuYv+ePW7/y5iy///////8+fr////////////8+fr//Pn6/7JmjP+gQ3H/pk56/6NIdv+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kS3f/o0h1/6ZPev+fP2//v4Cg///+/v/79vn//////82btP+yZ43///////7+/v/y5uz/s2iN/5o3af/WrcL///////z6+////////fz9/7JmjP++f57/sWWL/54+bv+mTnr/o0l2/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6NIdv+mTnr/n0Fw/7Vskf/+/P3//v7+//nz9v//////7t7m/8KFo////////Pn6///////48vX/5s3Z//jx9f///////Pn6///////n0Nz/nTxs/9KlvP+nUHv/pk56/6RLeP+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0h2/6ZNev+gQ3L/58/b///////9+/z//vz9///////q1uD/0KO6///////8+fr///////38/f///////fz9//7+/v/+/f7///////ny9v/+/v7/yZSu/5s5av+gQ3L/o0h1/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+jSXb/pUx4/6NIdv/t2+T////////////8+fr//////+HD0v/jx9X///////r1+P///////v7+//79/f/+/v7////////////9/Pz//////9m0x/+ZNGf/sGKJ/8OIpf+iR3T/pUx4/6RJdv+kSnf/pEp3/6RKd/+kSnf/pEp3/6NHdf+nUHv/nT1t/9Gkuv//////+vb4///+////////3bzN//fw9P///////v39//38/f/9+/z//v39//z5+//8+Pn//fz8//78/f/o0dz/yZOu/6pWgP/69ff/7Nnj/6FDcv+mTnr/o0h2/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6NJdv+lTHj/pk56/+bO2v///////fz9//jx9P/s2uP/9u3x/9Wswf/v3+f///////7+/v////////////79/v//////9ezw///////PoLj/3LrL///////Gjqr/nj9v/6dPe/+jR3X/pEt4/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6VMeP+gQ3L/r2CH/+nT3v/9/P3//////+fR3P+mT3r/nTxs/6FEcv/Dh6X/7dzl/+LG1P/Uqr//y5ix/+nU3////////fz8/8mUr///////8OLp/6ZOev+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEl2/6VMeP+iR3X/n0Fw/7dvk//LmLH/qFN+/6FEc/+oU37/pEp3/59Ab/+kS3j/oUVz/508bf+dPG3/n0Bw/+nT3v/9/P3/5s3a//38/f+xZYv/oENy/6VNef+jSHb/pEt3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6RLeP+mTnr/oEJx/5w6a/+jSXb/pUx4/6JGdP+kSnf/pk56/6RLeP+mTXn/pk56/6hTfv+iRnT/q1mC/+TJ1v/lzNn/smWL/59AcP+mTnr/o0h1/6RLd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6NIdv+mTXn/p1F8/6RKd/+jSXb/pEt4/6RKd/+jSHX/o0l2/6NIdv+iSHX/oUZ0/6RLeP+iR3T/n0Jw/6BCcf+hRHL/pk16/6NIdv+kS3f/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo0h1/aZOev2ePm79tWyQ/fv4+f39/P39uniZ/aJHdf21bZH9qFR+/aFGdP2eP279nTxs/Z09bf2gQ3L9pEt3/aRKd/2jSXb9qFJ9/e7f5v38+vv9/////ceRrP2wY4n91q3B/cWNqf3Qo7r9x5Gs/cGEov24dJb9rV2F/aNIdv2nUHz9nDpr/dGjuv3////9+vb4/f79/v3Kl7H93LvL/dGlu/2TKl/9oUVz/axag/27eJr9v4Gg/dSrwP21bZH9pUx4/aFEcv2zaY79+fP2/fz6+/3hxtT96dTf/eLH1P3+/f39y5my/c6ft/2iR3X9nDts/ZEmXP28e5z9t3CT/aNIdv2lTXn9n0Bv/bRrkP3v4ej9/Pv7/fPp7v3evs79/////fn09v3////9xIqn/bNojv27eZr9wIOh/bRqj/2kS3f9okd1/adRfP2cPGz9unaY/f////3p1N7948nW/f////3x5ev9/////fXt8f3+/f7959Hc/cKIpf2vYYj9pEp3/aNIdv2kTHj9oERy/axbhP3////99/Dz/cuZsv3Mm7T9zJqz/dewxP3v4Of9+vb4/f////3n0dz9pEp3/aRKd/2jSXb9pEt3/aNIdf3hw9L9/////fbu8v3u3ub9+/j6/f////3nz9v959Db/bRqj/26eJn9woek/aJHdf2iR3X9pk97/Zw7bP3Qo7n9/////fr2+P3////9/v7+/fz7/P3+//79t3GU/dq2yP2+f579lS5i/aFEc/2jSHX9okd0/adRfP2dPW392bTG/f////38+vv9/f39/fz6+/3////9/fz8/fLm7P3kytf9qliB/aRLeP2nUHv9o0l2/aVMeP2hRHP9p1J9/du5yv3Gjqr9/////d28zP2pVX/9/v39/fz6+/327vL9xY2p/Z0+bv2kS3j9oUVz/aRLd/2kSnf9pk56/eXM2f3////93LrL/enV3/38+vv93LvM/f38/P3+/f39y5my/aVMeP2gQ3L9pUx4/aNJdv2kSnf9oEJx/bNojf39/P39+/n6/evZ4v369ff9/////f////38+vv9/////dexxP22cJP9sWSK/Z9BcP2lTXn9o0l2/aVNef2gQ3L92rfJ/f////3t3OX92LLF/fHk6v37+Pn99/Dz/f7+/v3Uq8D97+Ho/a1chP2hRXP9pUx4/aNJdv2kSnf9pEp3/aJHdP3FjKj9uXSW/ZcyZP2pVX/9tGqP/aVOev3buMr9+fT2/b19nf2ePm79pk96/aJHdf2kS3f9pEp3/aRKd/2kS3f9nDxs/Z9CcP2oUnz9okd1/aFEcv2gQ3L9pEt4/a1dhf2fQnD9pk56/aNIdv2kSnf9pEp3/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","base64");var Zn={};S(Zn,{contents:()=>ku,filepath:()=>Bu});var Bu="./.gitignore",ku=e=>`logs
|
|
654
|
+
`;var Vn={};P(Vn,{contents:()=>Bu,filepath:()=>xu});var xu="./public/favicon.ico",Bu=e=>Buffer.from("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o0l2/6RLeP+mT3v/8uXr///////9/P3///////jx9f+tXIX/oUVz/6VMeP+fQXD/mjdp/5k1Z/+cOmv/oEJx/6RKd/+nUHz/qFN+/6hSff+nT3v/pUx4/6NIdv+iRnT/okZ0/6NIdf+kSnf/pEp3/6RKd/+kSnf/pEt4/6JHdf+oUn3/mjdo/82btP//////+PL1///////48vX//////8qWsP+eP2//pUx5/9m0x//kydb/0KG5/8KGpP+xZIv/pUx4/507bP+ZNWf/mjdo/54+bv+iRnT/pk56/6hSff+pU37/pk56/6RKd/+kSnf/pEp3/6RLd/+jSHX/pk56/54+bv+9fJ3//fz9//38/P////////////z5+///////0KK5/5o3aP+qVoD/6dTf/8mVr//Uqr//5MnW/+vY4f/s2uP/5s7a/9q1x//KlrD/uXWX/6pXgf+gQnH/mjdp/5k1Z/+fP2//pEp3/6RKd/+kSnf/o0h2/6ZOev+gQXD/uneZ///////9+/z///////79/f///////Pr7///////BhaP/o0h1/7Fkiv/w4un/okd1/5cxZP+cOWv/oUNy/61chP+9fZ3/z5+3/96+zv/p1N//7t3l/+vY4f/hxNL/06e9/7p2mP+kSnf/pEp3/6RLeP+iR3X/p1B8/5w7bP/WrsL///////v4+f////////////37/P//////8ubs/7VskP/37/P/vX2d///////evs7/okZ0/6xag/+mT3v/pEt3/508bf+ZNWf/mjZo/58/b/+oU37/uHKV/8WNqf/dvc3/8OHo/6VLeP+kS3f/pEt3/6NHdf+nT3v/nj1u/8SLp///////+/b4////////////+/f5///////DiKX/1q3C//v4+v+/gaD///////7+/v+8epv/mTVn/6BBcP+dPG3/pk96/6lUfv+oU33/p1B8/6FEcv+gQnH/li9j/6dQfP/lzNj/okVz/6VNef+kSnf/pEp3/6RJdv+lS3j/o0h2/+jS3f///////Pn6//7+/v//////2LLF/8SKp///////5s7a/8iRrP///////fz8//Pn7P+yZoz/woak/+HD0v+zaI3/nj5u/6NJdv+hRHL/pk56/6pWgP+hRXP/vXyd/+XM2f+ePm7/p097/6RKd/+kSnf/pEl2/6RLeP+jSHX/pk16/+jR3P//////7dzl/928zf/fv8//+vX4///////evs7/zZy0///////69vj///////79/f/9+/z//////+bO2v+gQ3H/p1F8/6ZPev+cO2z/pEp3/5s4af+/f5//4cPS/5s5av+oUX3/pEp3/6RKd/+kSnf/o0l2/6RLeP+jSXb/oEJx/928zf///////Pn6///////48fT//////9Sqv//WrsL///////v2+f///////v3+//79/f/58/b//////8OIpv+cOmv/nj5u/8KGpP++fZ3/lS1h/8yZsv/bt8n/mjZo/6hTfv+kSnf/pEp3/6RKd/+kS3f/o0l2/6RKd/+mTnr/nTxs/969zf//////+/j6//v4+v//////yZSv/927zP//////+vT3//37/P/7+Pn///////79/v//////8+ft/7Bjif/atsn//////+fP2/+VLGH/06i+/9Sqv/+aNmj/qVN+/6RKd/+kSnf/pEp3/6RKd/+kS3j/o0h2/6RKd/+kS3j/pEt3//Tq7///////+/f5///////Hj6v/7Nni///////8+fv////////////9+/z//Pn6//7+/v/9/Pz//Pn7///////69vj//////6xbhP/Uq8D/0KK5/5k0Zv+pU37/pEp3/6RKd/+kSnf/pEp3/6RKd/+kS3j/okd1/6ZOev+eP27/37/P///////69fj//////7Rqj//dvMz///////Pn7f/cusz/3LrL//nz9v////////7///79/f/79vj/+/f5//n09///////1q7C/9u3yf/Jla//mjVn/6hTff+kSnf/pEp3/6RKd/+kSnf/pEp3/6RLd/+jR3X/pk96/59AcP/nz9v///////37/P///v7/4sbU/82btP+oU37/qlaA/7Bjiv+tXIT/qFJ9/+fQ3P/9+/z//fv8/////////////v39///////27PH/8+ju/7t4mv+ePm7/pk97/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0h2/6ZOev+hRXP/rFqD//r19////////v7+///////48fX/zJu0/9Onvf/37/P///7+///////nz9v/p1F8/7l0lv/Mm7T/ypaw/9u4yv/r1+H/+PH1//79/v//////s2iN/6BDcf+lTXn/pEp3/6RKd/+kSnf/pEp3/6NJdv+lS3j/oURz/6tZgv/u3ub///////78/f//////+PH0/9Sqv//w4un///////79/f/9/Pz/+/f5///////z5+3/69jh///////Jk67/lzBk/6NJdv+nUXz/tGuP/8KGpP+pVH//o0d1/6VLeP+kSnf/pEp3/6RKd/+jSXb/pUx5/6FEc/+zaY7/8+ft///+/v/+/v7////////////79/n//Pr7///////7+Pn//vz9///////+/f7///////Hj6v/dvM3///////Hj6v+mT3v/pk96/6JHdf+gQnH/nj5u/6NIdf+kSnf/pEp3/6RKd/+kSnf/pEt4/6JHdf+nUHz/nDxs/8yas///////+/f5///////+/v7////////////9/P3//vz9/////////////fv8///////Vq8D/mjdp/5QrYP/WrsL/+/f5/6VMeP+jSXb/pEt3/6VNef+nT3v/pEt4/6RKd/+kSnf/pEp3/6RKd/+kS3f/o0h1/6ZPe/+ePm7/3r7O///////8+fr///////7+/v///////vz9//z6+//9/Pz//vz9///////9/P3//////+HD0v/ChaT/sGGJ/8iSrf/16/D/okZ0/6ZNef+jSHb/o0h2/6NHdf+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6VMeP/y5ev///////38/P/+/f7////////////////////////////+/v7//////////////////v7+///////79/n//////82ctP+dPW3/p1B7/6NHdf+kS3f/pEt3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6NJdv+lTXn/pEp3/9u4yf/du8z/8eTr///////+/P3///////ny9f/Qobj/5cvY//v3+f///////v7+///////8+fv/+fT3///////n0Nv/okV0/6VMeP+jSXb/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RLd/+jSHX/pk56/58/b/+wY4r/1azB/75/n/+dPGz/3r7O////////////27jK/5YuYv+ePW7/y5iy///////8+fr////////////8+fr//Pn6/7JmjP+gQ3H/pk56/6NIdv+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kS3f/o0h1/6ZPev+fP2//v4Cg///+/v/79vn//////82btP+yZ43///////7+/v/y5uz/s2iN/5o3af/WrcL///////z6+////////fz9/7JmjP++f57/sWWL/54+bv+mTnr/o0l2/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6NIdv+mTnr/n0Fw/7Vskf/+/P3//v7+//nz9v//////7t7m/8KFo////////Pn6///////48vX/5s3Z//jx9f///////Pn6///////n0Nz/nTxs/9KlvP+nUHv/pk56/6RLeP+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0h2/6ZNev+gQ3L/58/b///////9+/z//vz9///////q1uD/0KO6///////8+fr///////38/f///////fz9//7+/v/+/f7///////ny9v/+/v7/yZSu/5s5av+gQ3L/o0h1/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+jSXb/pUx4/6NIdv/t2+T////////////8+fr//////+HD0v/jx9X///////r1+P///////v7+//79/f/+/v7////////////9/Pz//////9m0x/+ZNGf/sGKJ/8OIpf+iR3T/pUx4/6RJdv+kSnf/pEp3/6RKd/+kSnf/pEp3/6NHdf+nUHv/nT1t/9Gkuv//////+vb4///+////////3bzN//fw9P///////v39//38/f/9+/z//v39//z5+//8+Pn//fz8//78/f/o0dz/yZOu/6pWgP/69ff/7Nnj/6FDcv+mTnr/o0h2/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6NJdv+lTHj/pk56/+bO2v///////fz9//jx9P/s2uP/9u3x/9Wswf/v3+f///////7+/v////////////79/v//////9ezw///////PoLj/3LrL///////Gjqr/nj9v/6dPe/+jR3X/pEt4/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6VMeP+gQ3L/r2CH/+nT3v/9/P3//////+fR3P+mT3r/nTxs/6FEcv/Dh6X/7dzl/+LG1P/Uqr//y5ix/+nU3////////fz8/8mUr///////8OLp/6ZOev+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEl2/6VMeP+iR3X/n0Fw/7dvk//LmLH/qFN+/6FEc/+oU37/pEp3/59Ab/+kS3j/oUVz/508bf+dPG3/n0Bw/+nT3v/9/P3/5s3a//38/f+xZYv/oENy/6VNef+jSHb/pEt3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6RLeP+mTnr/oEJx/5w6a/+jSXb/pUx4/6JGdP+kSnf/pk56/6RLeP+mTXn/pk56/6hTfv+iRnT/q1mC/+TJ1v/lzNn/smWL/59AcP+mTnr/o0h1/6RLd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/o0l2/6NIdv+mTXn/p1F8/6RKd/+jSXb/pEt4/6RKd/+jSHX/o0l2/6NIdv+iSHX/oUZ0/6RLeP+iR3T/n0Jw/6BCcf+hRHL/pk16/6NIdv+kS3f/pEp3/6RKd/+kSnf/pEp3/6RKd/+kSnf/pEp3/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo0h1/aZOev2ePm79tWyQ/fv4+f39/P39uniZ/aJHdf21bZH9qFR+/aFGdP2eP279nTxs/Z09bf2gQ3L9pEt3/aRKd/2jSXb9qFJ9/e7f5v38+vv9/////ceRrP2wY4n91q3B/cWNqf3Qo7r9x5Gs/cGEov24dJb9rV2F/aNIdv2nUHz9nDpr/dGjuv3////9+vb4/f79/v3Kl7H93LvL/dGlu/2TKl/9oUVz/axag/27eJr9v4Gg/dSrwP21bZH9pUx4/aFEcv2zaY79+fP2/fz6+/3hxtT96dTf/eLH1P3+/f39y5my/c6ft/2iR3X9nDts/ZEmXP28e5z9t3CT/aNIdv2lTXn9n0Bv/bRrkP3v4ej9/Pv7/fPp7v3evs79/////fn09v3////9xIqn/bNojv27eZr9wIOh/bRqj/2kS3f9okd1/adRfP2cPGz9unaY/f////3p1N7948nW/f////3x5ev9/////fXt8f3+/f7959Hc/cKIpf2vYYj9pEp3/aNIdv2kTHj9oERy/axbhP3////99/Dz/cuZsv3Mm7T9zJqz/dewxP3v4Of9+vb4/f////3n0dz9pEp3/aRKd/2jSXb9pEt3/aNIdf3hw9L9/////fbu8v3u3ub9+/j6/f////3nz9v959Db/bRqj/26eJn9woek/aJHdf2iR3X9pk97/Zw7bP3Qo7n9/////fr2+P3////9/v7+/fz7/P3+//79t3GU/dq2yP2+f579lS5i/aFEc/2jSHX9okd0/adRfP2dPW392bTG/f////38+vv9/f39/fz6+/3////9/fz8/fLm7P3kytf9qliB/aRLeP2nUHv9o0l2/aVMeP2hRHP9p1J9/du5yv3Gjqr9/////d28zP2pVX/9/v39/fz6+/327vL9xY2p/Z0+bv2kS3j9oUVz/aRLd/2kSnf9pk56/eXM2f3////93LrL/enV3/38+vv93LvM/f38/P3+/f39y5my/aVMeP2gQ3L9pUx4/aNJdv2kSnf9oEJx/bNojf39/P39+/n6/evZ4v369ff9/////f////38+vv9/////dexxP22cJP9sWSK/Z9BcP2lTXn9o0l2/aVNef2gQ3L92rfJ/f////3t3OX92LLF/fHk6v37+Pn99/Dz/f7+/v3Uq8D97+Ho/a1chP2hRXP9pUx4/aNJdv2kSnf9pEp3/aJHdP3FjKj9uXSW/ZcyZP2pVX/9tGqP/aVOev3buMr9+fT2/b19nf2ePm79pk96/aJHdf2kS3f9pEp3/aRKd/2kS3f9nDxs/Z9CcP2oUnz9okd1/aFEcv2gQ3L9pEt4/a1dhf2fQnD9pk56/aNIdv2kSnf9pEp3/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","base64");var Zn={};P(Zn,{contents:()=>Ou,filepath:()=>ku});var ku="./src/getGreeting.backend.ts",Ou=e=>"export async function getGreeting(name: string) {\n return `Hello, ${name}! This greeting ran as a backend function.`;\n}\n";var Xn={};P(Xn,{contents:()=>Su,filepath:()=>Pu});var Pu="./.gitignore",Su=e=>`logs
|
|
633
655
|
*.log
|
|
634
656
|
npm-debug.log*
|
|
635
657
|
yarn-debug.log*
|
|
@@ -657,7 +679,7 @@ dist-ssr
|
|
|
657
679
|
.env
|
|
658
680
|
.env.local
|
|
659
681
|
.env.*.local
|
|
660
|
-
`;var
|
|
682
|
+
`;var Jn={};P(Jn,{contents:()=>Tu,filepath:()=>Iu});var Iu="./index.html",Tu=e=>`<!DOCTYPE html>
|
|
661
683
|
<html lang="en">
|
|
662
684
|
|
|
663
685
|
<head>
|
|
@@ -672,7 +694,7 @@ dist-ssr
|
|
|
672
694
|
</body>
|
|
673
695
|
|
|
674
696
|
</html>
|
|
675
|
-
`;var
|
|
697
|
+
`;var _n={};P(_n,{contents:()=>Ru,filepath:()=>Nu});var Nu="./src/main.tsx",Ru=e=>`import '@datadog/druids/styles.css';
|
|
676
698
|
|
|
677
699
|
import { DruidsEnvironmentWithThemeInput } from '@datadog/apps-frontend/druids/react';
|
|
678
700
|
import { DatadogAppProvider } from '@datadog/apps-frontend/embedding/react';
|
|
@@ -702,7 +724,7 @@ if (appRoot) {
|
|
|
702
724
|
} else {
|
|
703
725
|
console.error('Missing #app div for createRoot.');
|
|
704
726
|
}
|
|
705
|
-
`;var
|
|
727
|
+
`;var $n={};P($n,{contents:()=>Mu,filepath:()=>ju});var ju="./package.json",Mu=e=>{let t={name:e.directoryName,version:"0.0.1",private:!0,engines:{node:"^20.19.0 || >=22.13.0"},scripts:{dev:"npx datadog-apps dev","dev:verify":"npx datadog-apps dev --mode dev-verify",build:"npx datadog-apps build",upload:"npx datadog-apps upload",cli:"npx datadog-apps",lint:"eslint . --report-unused-disable-directives --max-warnings 0","lint:fix":"eslint . --fix",preview:"vite preview",typecheck:"tsc --noEmit"},dependencies:{"@datadog/action-catalog":"^0.0.7","@datadog/apps-backend":">=0.0.1 <0.1.0","@datadog/apps-frontend":">=0.0.7 <0.1.0","@datadog/druids":"^0.0.7","@tanstack/react-query":"^5.101.4",react:"^19.2.8","react-dom":"^19.2.8"},optionalDependencies:{"@napi-rs/keyring":"^1.3.0"},devDependencies:{"@datadog/apps-cli":">=0.0.2 <0.1.0","@datadog/vite-plugin":"^3.3.0","@eslint/js":"^9.39.5","@types/node":"^24.12.2","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","@vitejs/plugin-react":"^6.1.0",eslint:"^9.39.5","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-react-refresh":"^0.5.4",globals:"^17.11.0",typescript:"^5.9.3","typescript-eslint":"^8.67.0",vite:"^8.2.2"}};return JSON.stringify(t,null,2)};var eo={};P(eo,{contents:()=>Gu,filepath:()=>Lu});var Lu="./tsconfig.json",Gu=e=>JSON.stringify({compilerOptions:{target:"ES2020",useDefineForClassFields:!0,lib:["ES2020","DOM","DOM.Iterable"],module:"ESNext",skipLibCheck:!0,moduleResolution:"bundler",allowImportingTsExtensions:!0,resolveJsonModule:!0,isolatedModules:!0,noEmit:!0,jsx:"react-jsx",strict:!0,noUnusedLocals:!0,noUnusedParameters:!0,noFallthroughCasesInSwitch:!0},include:["src"]},null,2);var to={};P(to,{contents:()=>Uu,filepath:()=>Hu});var Hu="./vite.config.ts",Uu=e=>{let t="";return(e.rumConfig?.applicationId||e.rumConfig?.clientToken)&&(t=`
|
|
706
728
|
rum: {
|
|
707
729
|
enable: true,
|
|
708
730
|
sdk: {
|
|
@@ -763,7 +785,7 @@ export default defineConfig({
|
|
|
763
785
|
}),
|
|
764
786
|
],
|
|
765
787
|
});
|
|
766
|
-
`};var
|
|
767
|
-
Only ${i} commands without dangerous patterns (${a}) are allowed.`)}return n}function
|
|
768
|
-
`);return console.log(t),1}return 0}function
|
|
769
|
-
${I(r)}`,value:n}))})}async function
|
|
788
|
+
`};var ni={name:"Vite & React",description:"A basic React application bundled with Vite.",requiresRumConfig:!0,postScaffoldCommands:{setup:["npm install"],gitInit:["git init","git add .",'git commit -m "Initial commit"']}};var oi={metadata:ni,files:[Kn,jn,Qn,Un,Mn,Ln,Gn,Hn,qn,zn,Yn,Wn,Zn,Xn,Vn,Jn,_n,$n,eo,to]};var Je={"vite-react":oi};function qu(e,t){let n=[];return typeof e!="object"||e===null?(n.push(`[${t}] metadata.json must be a valid JSON object`),n):(!("name"in e)||typeof e.name!="string"?n.push(`[${t}] metadata.json is missing required "name" field (string)`):e.name.trim()===""&&n.push(`[${t}] metadata.json "name" field cannot be empty`),!("description"in e)||typeof e.description!="string"?n.push(`[${t}] metadata.json is missing required "description" field (string)`):e.description.trim()===""&&n.push(`[${t}] metadata.json "description" field cannot be empty`),n)}function Qu(e,t){let n=[];return typeof e!="object"||e===null?(n.push(`[${t}] must export an object`),n):("filepath"in e?typeof e.filepath!="string"&&n.push(`[${t}] "filepath" must be a string, got ${typeof e.filepath}`):n.push(`[${t}] missing required export "filepath"`),"contents"in e?typeof e.contents!="function"&&n.push(`[${t}] "contents" must be a function, got ${typeof e.contents}`):n.push(`[${t}] missing required export "contents"`),n)}var ri=["npm","yarn","git"],ii=["|",">","<","$(","`","&&","||",";"];function Yu(e){let t=e.trim(),r=t.split(/\s+/)[0];if(!r||!ri.includes(r))return!1;for(let o of ii)if(t.includes(o))return!1;return!0}function Ku(e,t){let n=[];if(!e.postScaffoldCommands)return n;let r=[...e.postScaffoldCommands.setup??[],...e.postScaffoldCommands.gitInit??[]];for(let o of r)if(!Yu(o)){let i=ri.join(", "),a=ii.join(", ");n.push(`[${t}] Unsafe post-scaffold command: "${o}".
|
|
789
|
+
Only ${i} commands without dangerous patterns (${a}) are allowed.`)}return n}function si(){let e=[];for(let[t,n]of Object.entries(Je)){e.push(...qu(n.metadata,t)),e.push(...Ku(n.metadata,t));for(let r of n.files)e.push(...Qu(r,n.metadata.name))}if(e.length>0){let t=["Template validation errors:",...e.map(n=>` - ${n}`)].join(`
|
|
790
|
+
`);return console.log(t),1}return 0}function ro(e){let t=Je[e];if(!t){let n=Object.keys(Je).join(", ");throw new Error(`Unknown template "${e}". Available templates: ${n}. Remove the --template option to select from the list instead.`)}return t}async function ai(){let e=Object.values(Je).map(t=>({name:t.metadata.name,value:t,description:t.metadata.description}));if(e.length===0)throw new Error("No templates found.");return In({message:"Select a template",choices:e.map(({name:t,value:n,description:r})=>({name:`${_o(t)}
|
|
791
|
+
${I(r)}`,value:n}))})}async function ui(e,t){let n=t.map(async({filepath:r,contents:o})=>{let i=oo.default.join(e,r);await no.default.mkdir(oo.default.dirname(i),{recursive:!0}),await no.default.writeFile(i,o,Buffer.isBuffer(o)?void 0:{encoding:"utf-8"})});await Promise.all(n)}var It=class extends G.Command{static paths=[G.Command.Default];static usage=G.Command.Usage({description:"Create a new Datadog App",examples:[["Create a new app interactively","npm init @datadog/apps my-app"],["Create a new app non-interactively","npm init @datadog/apps my-app --template vite-react -y"],["Create an app with a custom name and site",'npm init @datadog/apps my-app --name "My App" --site datadoghq.eu -y']]});directory=G.Option.String({required:!1});template=G.Option.String("--template",{required:!1,description:"Template to use (e.g., vite-react)"});appName=G.Option.String("--name",{required:!1,description:"App name (user-facing)"});datadogSite=G.Option.String("--site",{required:!1,description:"Datadog site (e.g. datadoghq.com, datadoghq.eu)"});identifier=G.Option.String("--identifier",{required:!1,description:"App identifier baked into datadog-app.config.json (defaults to a generated value)"});yes=G.Option.Boolean("--yes,-y",{description:"Accept all defaults without prompting"});overwrite=G.Option.Boolean("--overwrite",{description:"Overwrite existing directory without prompting"});validate=G.Option.Boolean("--validate",{description:"Validate templates and exit"});skipPostScaffold=G.Option.Boolean("--skip-post-scaffold",{description:"Skip post-scaffold commands"});async execute(){console.log($o),console.log(),console.log();try{if(this.validate)return si();let t=await ei(this.directory,this.overwrite,this.yes,this.appName,this.datadogSite),n=di.default.resolve(process.cwd(),t.directory),r=this.template?ro(this.template):this.yes?ro("vite-react"):await ai(),o=r.metadata;console.log(),console.log(),console.log(`Creating ${L(t.name)} in ${L(n)}...`),console.log(),console.log();let i=r.files.map(a=>({filepath:a.filepath,contents:a.contents({name:t.name,directoryName:t.directoryName,datadogSite:t.datadogSite,identifier:this.identifier})}));return await ui(n,i),await Xr(n,o,this.skipPostScaffold,this.yes),console.log(nr(t)),0}catch(t){return rr(t)?console.log(tr()):ir(t),1}}};var ci="0.1.1";var Tt=new _e.Cli({binaryLabel:"create-apps",binaryName:"npm init @datadog/apps",binaryVersion:ci});Tt.register(It);Tt.register(_e.Builtins.HelpCommand);Tt.register(_e.Builtins.VersionCommand);Tt.runExit(process.argv.slice(2));
|