@politty/zod 0.2.4 → 0.3.0

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.
Files changed (48) hide show
  1. package/README.md +22 -1
  2. package/dist/{arg-registry-C-fvuAAg.d.ts → arg-registry-DdEs3jd0.d.ts} +8 -2
  3. package/dist/augment.d.ts +3 -2
  4. package/dist/cli-main-DXoFbgu3.js +1 -0
  5. package/dist/{cli-main-KajE103P.js → cli-main-q4kY1qaL.js} +2 -2
  6. package/dist/cli-run-HJaZHDXb.js +1 -0
  7. package/dist/cli.js +1 -1
  8. package/dist/compile-cache-6u9hgeWu.js +1 -0
  9. package/dist/compile-cache.d.ts +5 -6
  10. package/dist/compile-cache.js +1 -1
  11. package/dist/completion-CDwNvtfE.js +1 -0
  12. package/dist/{completion-BqYtsuso.js → completion-DwBjO-3Q.js} +5 -5
  13. package/dist/completion.d.ts +29 -18
  14. package/dist/completion.js +1 -1
  15. package/dist/docs.d.ts +46 -46
  16. package/dist/docs.js +5 -5
  17. package/dist/dynamic-BBr42fJH.js +1 -0
  18. package/dist/dynamic-BK6Tq_FR.js +6 -0
  19. package/dist/field-meta-D7G8a7IG.js +1 -0
  20. package/dist/index.d.ts +240 -52
  21. package/dist/index.js +1 -1
  22. package/dist/logger-CoeDrmRr.js +1 -0
  23. package/dist/prompt-clack.d.ts +3 -4
  24. package/dist/prompt-clack.js +1 -1
  25. package/dist/prompt-inquirer.d.ts +3 -4
  26. package/dist/prompt-inquirer.js +1 -1
  27. package/dist/prompt.d.ts +7 -7
  28. package/dist/prompt.js +1 -1
  29. package/dist/{register-C1WbbeYH.js → register-D0mDOOyc.js} +1 -1
  30. package/dist/runner-FI1rpYp3.js +1 -0
  31. package/dist/runner-bjKUtqk1.js +29 -0
  32. package/dist/{schema-extractor-DU0Vuhbd.js → schema-extractor-QpSHJvwI.js} +1 -1
  33. package/dist/{schema-BiUP_KyV.js → schema-ohwvrBGz.js} +1 -1
  34. package/dist/skill.d.ts +13 -13
  35. package/dist/skill.js +1 -1
  36. package/dist/{with-completion-command-DMPw58_x.d.ts → with-completion-command-Bi7v_Wlq.d.ts} +1 -1
  37. package/dist/{with-completion-command-DM6F5LyO.js → with-completion-command-CZ9qcezN.js} +2 -2
  38. package/package.json +2 -2
  39. package/dist/cli-main-B0jMuGGi.js +0 -1
  40. package/dist/cli-run-Bm3vsxIB.js +0 -1
  41. package/dist/compile-cache-VuUbFWIo.js +0 -1
  42. package/dist/completion-OEWfekOk.js +0 -1
  43. package/dist/dynamic-D7QInkeD.js +0 -6
  44. package/dist/dynamic-DPbDLfHB.js +0 -1
  45. package/dist/field-meta-COGya7xp.js +0 -1
  46. package/dist/logger-CJsyJ8sb.js +0 -1
  47. package/dist/runner-CPganzL6.js +0 -1
  48. package/dist/runner-DECNQyff.js +0 -29
@@ -1,29 +0,0 @@
1
- import{a as e,i as t,r as n,t as r}from"./field-meta-COGya7xp.js";import{n as i,o as a,s as o,t as s}from"./schema-extractor-DU0Vuhbd.js";import{n as c}from"./compile-cache-VuUbFWIo.js";import{n as l,r as u,t as d}from"./log-collector-DICKib75.js";import{a as f,c as p,n as m,o as h,r as g,t as _}from"./subcommand-router-D8GTMXYL.js";import{a as v,i as y}from"./logger-CJsyJ8sb.js";import{stripVTControlCharacters as b}from"node:util";async function x(e,t,n={}){let r,i,a=n.captureLogs??!1?d():null;a?.start();let o={args:t},s={args:t,error:r},c;n.handleSignals&&(c=async t=>{c&&(process.off(`SIGINT`,c),process.off(`SIGTERM`,c));let r=Error(`Process interrupted`);if(s.error=r,e.cleanup)try{await e.cleanup(s)}catch(e){console.error(`Error during signal cleanup:`,e)}if(n.globalCleanup)try{await n.globalCleanup({error:r})}catch(e){console.error(`Error during global signal cleanup:`,e)}a?.stop(),process.stdout.writableNeedDrain&&await new Promise(e=>{let t=setTimeout(()=>{process.stdout.off(`drain`,n),e()},200),n=()=>{clearTimeout(t),e()};process.stdout.once(`drain`,n)}),process.exit(1)},process.on(`SIGINT`,c),process.on(`SIGTERM`,c));try{e.setup&&await e.setup(o),e.run&&(i=await e.run(t))}catch(e){r=e instanceof Error?e:Error(String(e))}finally{c&&(process.off(`SIGINT`,c),process.off(`SIGTERM`,c))}if(e.cleanup){s.error=r;try{await e.cleanup(s)}catch(e){r||=e instanceof Error?e:Error(String(e))}}a?.stop();let f=n.existingLogs??l(),p=a?.getLogs()??l(),m=u(f,p);return r?{success:!1,error:r,exitCode:1,logs:m}:{success:!0,result:i,exitCode:0,logs:m}}function S(e){return e<=31||e>=127&&e<=159||e>=768&&e<=879||e>=6832&&e<=6911||e>=7616&&e<=7679||e>=8400&&e<=8447||e>=65056&&e<=65071||e===8203||e>=8204&&e<=8207||e===65279||e>=65024&&e<=65039||e>=917760&&e<=917999}function C(e){return e>=4352&&e<=4447||e>=11904&&e<=12350||e>=12353&&e<=13311||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=40960&&e<=42191||e>=43360&&e<=43391||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=110592&&e<=110959||e>=127488&&e<=127569||e>=131072&&e<=262141||e>=9728&&e<=10175||e>=126976&&e<=129791}function w(e){let t=!1,n=!1,r=!1;for(let i of e){let e=i.codePointAt(0);if(e===65039){r=!0;continue}S(e)||(t=!0,C(e)&&(n=!0))}return t?n||r?2:1:0}const T=(()=>{try{return new Intl.Segmenter(`en`,{granularity:`grapheme`})}catch{return}})();function E(e){if(e.length===0)return 0;let t=e.includes(`\x1B`)||e.includes(`›`)?b(e):e,n=0;if(T)for(let{segment:e}of T.segment(t))n+=w(e);else for(let e of t)n+=w(e);return n}function D(e){let t=[],n=e.replace(/`([^`]+)`/g,(e,n)=>{let r=t.length;return t.push(y.cyan(n)),`\x00CODE${r}\x00`});return n=n.replace(/\*\*(.+?)\*\*/g,(e,t)=>y.bold(t)),n=n.replace(/__(.+?)__/g,(e,t)=>y.bold(t)),n=n.replace(/\*(.+?)\*/g,(e,t)=>y.italic(t)),n=n.replace(/(?<!\w)_(.+?)_(?!\w)/g,(e,t)=>y.italic(t)),n=n.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,n)=>`${y.underline(t)} ${y.dim(`(${n})`)}`),n=n.replace(/\x00CODE(\d+)\x00/g,(e,n)=>t[Number(n)]),n}function O(e){return ie(e.split(`
2
- `)).map(le).join(`
3
-
4
- `)}const k=/^(#{1,6})\s+(.+)$/,A=/^(?:---+|\*\*\*+|___+)\s*$/,j=/^>\s?(.*)$/,M=/^-\s+(.+)$/,N=/^(\d+)[.)]\s+(.+)$/,ee=/^(`{3,}|~{3,})(\S*)\s*$/,te=/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*$/,ne=/^\|(.+)\|$/,re=/^\|(\s*:?-+:?\s*\|)+$/;function ie(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.trim()===``){n++;continue}let i=r.match(ee);if(i){let r=i[1],a=i[2]??``,o=[];for(n++;n<e.length;){if(e[n].startsWith(r.charAt(0).repeat(r.length))&&e[n].trim()===r.charAt(0).repeat(Math.max(r.length,e[n].trim().length))){n++;break}o.push(e[n]),n++}t.push({type:`code`,lang:a,lines:o});continue}let a=r.match(k);if(a){t.push({type:`heading`,level:a[1].length,content:a[2]}),n++;continue}if(A.test(r)){t.push({type:`hr`}),n++;continue}if(j.test(r)){let r=[];for(;n<e.length;){let t=e[n].match(j);if(t)r.push(t[1]),n++;else break}if(r.length>0){let e=r[0].match(te);if(e){let n=r.slice(1).filter(e=>e!==``);t.push({type:`alert`,alertType:e[1],lines:n});continue}}t.push({type:`blockquote`,lines:r});continue}if(M.test(r)){let r=[];for(;n<e.length;){let t=e[n].match(M);if(t)r.push(t[1]),n++;else break}t.push({type:`ul`,items:r});continue}let o=r.match(N);if(o){let r=Number(o[1]),i=[];for(;n<e.length;){let t=e[n].match(N);if(t)i.push(t[2]),n++;else break}t.push({type:`ol`,items:i,start:r});continue}if(ne.test(r)&&n+1<e.length&&re.test(e[n+1])){let i=ae(r),a=oe(e[n+1]);n+=2;let o=[];for(;n<e.length&&ne.test(e[n]);)o.push(ae(e[n])),n++;t.push({type:`table`,headers:i,alignments:a,rows:o});continue}let s=[];for(;n<e.length;){let t=e[n];if(t.trim()===``||k.test(t)||A.test(t)||j.test(t)||M.test(t)||N.test(t)||ee.test(t)||ne.test(t)&&n+1<e.length&&re.test(e[n+1]))break;s.push(t),n++}s.length>0&&t.push({type:`paragraph`,lines:s})}return t}function ae(e){return e.slice(1,-1).split(`|`).map(e=>e.trim())}function oe(e){return e.slice(1,-1).split(`|`).map(e=>{let t=e.trim();return t.startsWith(`:`)&&t.endsWith(`:`)?`center`:t.endsWith(`:`)?`right`:`left`})}function se(e,t,n){let r=E(e),i=Math.max(0,t-r);if(n===`right`)return` `.repeat(i)+e;if(n===`center`){let t=Math.floor(i/2);return` `.repeat(t)+e+` `.repeat(i-t)}return e+` `.repeat(i)}const ce={NOTE:{icon:`ℹ`,label:`Note`,styleFn:y.cyan},TIP:{icon:`💡`,label:`Tip`,styleFn:y.green},IMPORTANT:{icon:`❗`,label:`Important`,styleFn:y.magenta},WARNING:{icon:`⚠`,label:`Warning`,styleFn:y.yellow},CAUTION:{icon:`🔴`,label:`Caution`,styleFn:y.red}};function le(e){switch(e.type){case`heading`:return y.green(y.bold(D(e.content)));case`hr`:return y.dim(`─`.repeat(40));case`blockquote`:{let t=y.dim(`│ `);return e.lines.map(e=>`${t}${D(e)}`).join(`
5
- `)}case`alert`:{let{icon:t,label:n,styleFn:r}=ce[e.alertType],i=r(y.bold(`│`))+` `,a=`${i}${r(t)} ${r(n)}`;return e.lines.length===0?a:`${a}\n${e.lines.map(e=>`${i}${D(e)}`).join(`
6
- `)}`}case`ul`:return e.items.map(e=>`${y.dim(`•`)} ${D(e)}`).join(`
7
- `);case`ol`:{let t=e.start+e.items.length-1,n=String(t).length;return e.items.map((t,r)=>{let i=String(e.start+r).padStart(n,` `);return`${y.dim(`${i}.`)} ${D(t)}`}).join(`
8
- `)}case`table`:{let t=e.headers.length,n=e.headers.map(e=>D(e)),r=e.rows.map(e=>Array.from({length:t},(t,n)=>D(e[n]??``))),i=n.map((e,t)=>{let n=E(e),i=r.map(e=>E(e[t]));return Math.max(n,...i)}),a=y.dim(`│`),o=y.dim(`┌─${i.map(e=>`─`.repeat(e)).join(`─┬─`)}─┐`),s=y.dim(`├─${i.map(e=>`─`.repeat(e)).join(`─┼─`)}─┤`),c=y.dim(`└─${i.map(e=>`─`.repeat(e)).join(`─┴─`)}─┘`);return[o,`${a} ${n.map((t,n)=>y.bold(se(t,i[n],e.alignments[n]??`left`))).join(` ${a} `)} ${a}`,s,...r.map(t=>{let n=t.map((t,n)=>se(t,i[n],e.alignments[n]??`left`));return`${a} ${n.join(` ${a} `)} ${a}`}),c].join(`
9
- `)}case`code`:return e.lines.map(e=>` ${y.yellow(e)}`).join(`
10
- `);case`paragraph`:return D(e.lines.join(` `))}}const P={help:`Show help`,helpAll:`Show help with all subcommand options`,version:`Show version`};function ue(e){return!e.startsWith(`__`)}function F(e){return Object.entries(e).filter(([e])=>ue(e))}function de(e,t){return t?.rootName&&t.commandPath&&t.commandPath.length>0?t.commandPath.join(` `):e.name??`command`}function fe(e,t){return t?.rootName&&t.commandPath&&t.commandPath.length>0?`${t.rootName} ${t.commandPath.join(` `)}`:e.name??`command`}function pe(e,t){let n=[],r=fe(e,t);n.push(y.commandName(r)),t?.globalExtracted?.fields.length&&n.push(y.placeholder(`[global options]`));let a=i(e);if(a){let t=a.fields.filter(e=>e.positional);a.fields.filter(e=>!e.positional).length>0&&n.push(y.placeholder(`[options]`)),e.subCommands&&F(e.subCommands).length>0&&(e.run?n.push(y.placeholder(`[command]`)):n.push(y.option(`<command>`)));for(let e of t)e.required?n.push(y.option(`<${e.name}>`)):n.push(y.placeholder(`[${e.name}]`))}else e.subCommands&&F(e.subCommands).length>0&&(e.run?n.push(y.placeholder(`[command]`)):n.push(y.option(`<command>`)));return n.join(` `)}function me(e,t={},n){let a=[],o={help:t.help??P.help,helpAll:t.helpAll??P.helpAll,version:t.version??P.version},s=i(e),c=s?.fields.some(e=>e.overrideBuiltinAlias===!0&&r(e).includes(`h`))??!1,l=s?.fields.some(e=>e.overrideBuiltinAlias===!0&&r(e).includes(`H`))??!1;if(c?a.push(z(y.option(`--help`),o.help)):a.push(z(`${y.option(`-h`)}, ${y.option(`--help`)}`,o.help)),l?a.push(z(y.option(`--help-all`),o.helpAll)):a.push(z(`${y.option(`-H`)}, ${y.option(`--help-all`)}`,o.helpAll)),n?.rootVersion&&a.push(z(y.option(`--version`),o.version)),!s)return a.join(`
11
- `);if(s.schemaType===`discriminatedUnion`&&s.discriminator)return he(s,e,a);if(s.schemaType===`union`&&s.unionOptions||s.schemaType===`xor`&&s.unionOptions)return ge(s,e,a);let u=s.fields.filter(e=>!e.positional);for(let e of u){let t=L(e),n=e.description??``;e.defaultValue!==void 0&&(n+=` ${y.defaultValue(`(default: ${JSON.stringify(e.defaultValue)})`)}`),e.required&&(n+=` ${y.required(`(required)`)}`);let r=R(e.env);r&&(n+=` ${r}`),a.push(z(t,n));let i=I(e);i&&a.push(i)}return a.join(`
12
- `)}function I(e,t=0,n=0){return!e.negationDisplay||!e.negationDescription?null:z(y.option(`--${e.negationDisplay}`),`${e.negationDescription} ${y.dim(`(↔ --${e.cliName})`)}`,t,n)}function he(e,t,n){let r=e.discriminator,i=e.variants??[],a=e.fields.find(e=>e.name===r);if(a){let t=i.map(e=>e.discriminatorValue).join(`|`),o=`${y.option(`--${r}`)} ${y.placeholder(`<${t}>`)}`,s=e.description??a.description??`Action to perform`;n.push(z(o,s))}let o=new Set,s=new Set;for(let e of i)for(let t of e.fields)s.add(t.name);for(let e of s)e!==r&&i.every(t=>t.fields.some(t=>t.name===e))&&o.add(e);for(let t of o){let r=e.fields.find(e=>e.name===t);if(r&&!r.positional){let e=L(r),t=r.description??``;r.defaultValue!==void 0&&(t+=` ${y.defaultValue(`(default: ${JSON.stringify(r.defaultValue)})`)}`);let i=R(r.env);i&&(t+=` ${i}`),n.push(z(e,t));let a=I(r);a&&n.push(a)}}for(let e of i){let t=e.fields.filter(e=>e.name!==r&&!o.has(e.name)&&!e.positional);if(t.length>0){n.push(``);let i=e.description?`${y.dim(`When`)} ${y.option(r)}=${y.bold(e.discriminatorValue)}: ${e.description}`:`${y.dim(`When`)} ${y.option(r)}=${y.bold(e.discriminatorValue)}:`;n.push(i);for(let e of t){let t=L(e),r=e.description??``;e.defaultValue!==void 0&&(r+=` ${y.defaultValue(`(default: ${JSON.stringify(e.defaultValue)})`)}`),e.required&&(r+=` ${y.required(`(required)`)}`);let i=R(e.env);i&&(r+=` ${i}`),n.push(z(t,r,1));let a=I(e,1);a&&n.push(a)}}}return n.join(`
13
- `)}function ge(e,t,n){let r=e.unionOptions??[],i=new Set,a=new Set;for(let e of r)for(let t of e.fields)a.add(t.name);for(let e of a)r.every(t=>t.fields.some(t=>t.name===e))&&i.add(e);for(let t of i){let r=e.fields.find(e=>e.name===t);if(r&&!r.positional){let e=L(r),t=r.description??``;r.defaultValue!==void 0&&(t+=` ${y.defaultValue(`(default: ${JSON.stringify(r.defaultValue)})`)}`);let i=R(r.env);i&&(t+=` ${i}`),n.push(z(e,t));let a=I(r);a&&n.push(a)}}for(let e=0;e<r.length;e++){let t=r[e];if(!t)continue;let a=t.fields.filter(e=>!i.has(e.name)&&!e.positional),o=t.description??`Variant ${e+1}`;if(a.length>0){n.push(``),n.push(` ${y.bold(`${o}:`)}`);for(let e of a){let t=L(e),r=e.description??``;e.defaultValue!==void 0&&(r+=` ${y.defaultValue(`(default: ${JSON.stringify(e.defaultValue)})`)}`),e.required&&(r+=` ${y.required(`(required)`)}`);let i=R(e.env);i&&(r+=` ${i}`),n.push(z(t,r,1));let a=I(e,1);a&&n.push(a)}}else n.push(``),n.push(` ${y.bold(`${o}:`)}`),n.push(` ${y.dim(y.italic(`no options`))}`)}return n.join(`
14
- `)}function L(e){let t=[];if(e.alias)for(let n of e.alias)n.length===1&&t.push(y.option(`-${n}`));let n=y.option(`--${e.cliName}`);if(e.type!==`boolean`){let t=e.placeholder??e.cliName.toUpperCase();n+=` ${y.placeholder(`<${t}>`)}`}if(t.push(n),e.alias){for(let n of e.alias)if(n.length>1){let r=y.option(`--${n}`);if(e.type!==`boolean`){let t=e.placeholder??e.cliName.toUpperCase();r+=` ${y.placeholder(`<${t}>`)}`}t.push(r)}}let r=t.join(`, `);return e.type===`boolean`&&e.negationDisplay&&!e.negationDescription?`${r} / ${y.option(`--${e.negationDisplay}`)}`:r}function R(e){if(!e)return``;let t=Array.isArray(e)?e:[e];return y.dim(`[env: ${t.join(`, `)}]`)}function _e(e){return e.replace(/\x1B\[[0-9;]*m/g,``)}function ve(e,t){let n=_e(e).length,r=Math.max(0,t-n);return e+` `.repeat(r)}function ye(e,t){if(!e.includes(`
15
- `))return e;let n=` `.repeat(t);return e.split(`
16
- `).join(`\n${n}`)}function z(e,t,n=0,r=0){let i=` `.repeat(n),a=_e(e).length,o=32-n*2+r,s=o+2+n*2,c=ye(t,s);return a>=o?`${i} ${e}\n${` `.repeat(s)}${c}`:`${i} ${ve(e,o)}${c}`}function be(e,t=0,n=0){let r=L(e),i=e.description??``;e.defaultValue!==void 0&&(i+=` ${y.defaultValue(`(default: ${JSON.stringify(e.defaultValue)})`)}`),e.required&&(i+=` ${y.required(`(required)`)}`);let a=R(e.env);return a&&(i+=` ${a}`),z(r,i,t,n)}function xe(e){let t=[];for(let n of e.fields){if(n.positional)continue;t.push(be(n));let e=I(n);e&&t.push(e)}return t.join(`
17
- `)}function Se(e,t){let n=[],r=i(e);if(r){let e=r.fields.filter(e=>!e.positional);for(let r of e){let e=L(r),i=r.description??``;r.defaultValue!==void 0&&(i+=` ${y.defaultValue(`(default: ${JSON.stringify(r.defaultValue)})`)}`);let a=R(r.env);a&&(i+=` ${a}`),n.push(z(e,i,t,2));let o=I(r,t,2);o&&n.push(o)}}return n}function Ce(e,t,n){let r=[];for(let[i,a]of F(e)){let e=p(a),o=t?`${t} ${i}`:i,s=e?.description??``,c=e?.aliases,l=c&&c.length>0?`${o}, ${c.join(`, `)}`:o;if(r.push(z(y.command(l),s,n)),e){let t=Se(e,n+1);r.push(...t);let i=e.subCommands?Object.fromEntries(F(e.subCommands)):void 0;if(i&&Object.keys(i).length>0){let e=Ce(i,o,n);r.push(...e)}}}return r}function we(e,t){let n=[],r=t.context,i=de(e,r);if(i){let e=y.commandName(i);r?.rootName&&r.commandPath&&r.commandPath.length>0?r.rootVersion?e+=` ${y.version(`(${r.rootName} v${r.rootVersion})`)}`:e+=` ${y.version(`(${r.rootName})`)}`:r?.rootVersion&&(e+=` ${y.version(`v${r.rootVersion}`)}`),n.push(e)}r?.aliasFor&&n.push(y.dim(`Alias for ${y.commandName(r.aliasFor)}`)),e.description&&n.push(e.description),!r?.aliasFor&&e.aliases&&e.aliases.length>0&&n.push(`${y.sectionHeader(`Aliases:`)} ${e.aliases.map(e=>y.command(e)).join(`, `)}`),n.push(`${y.sectionHeader(`Usage:`)} ${pe(e,r)}`);let a=me(e,t.descriptions,r);if(a&&n.push(`${y.sectionHeader(`Options:`)}\n${a}`),r?.globalExtracted?.fields.length&&n.push(`${y.sectionHeader(`Global Options:`)}\n${xe(r.globalExtracted)}`),t.showSubcommands!==!1&&e.subCommands&&F(e.subCommands).length>0){let i=r?.commandPath?.join(` `)??``,a=Object.fromEntries(F(e.subCommands));if(t.showSubcommandOptions){let e=Ce(a,i,0);n.push(`${y.sectionHeader(`Commands:`)}\n${e.join(`
18
- `)}`)}else{let e=[];for(let[t,n]of Object.entries(a)){let r=p(n),a=r?.description??``,o=i?`${i} ${t}`:t,s=r?.aliases,c=s&&s.length>0?`${o}, ${s.join(`, `)}`:o;e.push(z(y.command(c),a))}n.push(`${y.sectionHeader(`Commands:`)}\n${e.join(`
19
- `)}`)}}if(e.examples&&e.examples.length>0){let t=Te(e.examples,r);n.push(`${y.sectionHeader(`Examples:`)}\n${t}`)}if(e.notes){let t=O(e.notes).split(`
20
- `).map(e=>e===``?``:` ${e}`).join(`
21
- `);n.push(`${y.sectionHeader(`Notes:`)}\n${t}`)}return`\n${n.join(`
22
-
23
- `)}\n`}function Te(e,t){let n=[],r=t?.rootName?`${t.rootName} `:``,i=t?.commandPath?.join(` `)??``,a=i?`${r}${i} `:r;for(let t of e){if(n.push(` ${y.dim(t.desc).split(`
24
- `).join(`
25
- `)}`),n.push(` ${y.dim(`$`)} ${a}${t.cmd}`),t.output)for(let e of t.output.split(`
26
- `))n.push(` ${e}`);n.push(``)}return n.length>0&&n[n.length-1]===``&&n.pop(),n.join(`
27
- `)}var Ee=class extends Error{constructor(e){super(e),this.name=`PositionalConfigError`}},De=class extends Error{constructor(e){super(e),this.name=`ReservedAliasError`}},Oe=class extends Error{constructor(e){super(e),this.name=`DuplicateFieldError`}},ke=class extends Error{constructor(e){super(e),this.name=`DuplicateAliasError`}},Ae=class extends Error{constructor(e){super(e),this.name=`CaseVariantCollisionError`}},je=class extends Error{constructor(e){super(e),this.name=`DuplicateNegationError`}},Me=class extends Error{constructor(e){super(e),this.name=`ReservedFieldNameError`}},Ne=class extends Error{constructor(e){super(e),this.name=`DefaultSubCommandError`}},Pe=class extends Error{constructor(e){super(e),this.name=`FieldTypeConflictError`}};function Fe(e,t){let n=[],r=new Map;for(let i of e.fields)r.has(i.name)&&n.push({commandPath:t,type:`duplicate_field`,message:`Duplicate field name "${i.name}" detected.`,field:i.name}),r.set(i.name,i.name);return n}function Ie(e,t){let r=[],i=new Map;for(let a of e.fields){let e=n(a.name),o=i.get(e);o&&o!==a.name&&r.push({commandPath:t,type:`case_variant_collision`,message:`Fields "${o}" and "${a.name}" are case variants of each other and would collide.`,field:a.name}),i.set(e,a.name)}return r}function Le(e,t){let i=[],a=new Map,o=new Set(e.fields.map(e=>e.name)),s=new Set(e.fields.map(e=>e.cliName)),c=(e,n,r)=>{(o.has(e)||s.has(e))&&i.push({commandPath:t,type:`duplicate_alias`,message:`Alias "${e}" for field "${n}" conflicts with existing field name or CLI name "${e}".`,field:n});let c=a.get(e);if(c&&c!==n){let a=r?` (derived camelCase variant)`:``;i.push({commandPath:t,type:`duplicate_alias`,message:`Duplicate alias "${e}"${a} detected. Both "${c}" and "${n}" use the same alias.`,field:n})}a.set(e,n)};for(let t of e.fields){let e=r(t);if(e.length!==0){for(let r of e)if(c(r,t.name,!1),r.length>1&&r.includes(`-`)){let e=n(r);e!==r&&!o.has(e)&&c(e,t.name,!0)}}}return i}function Re(e,t){let i=[],a=new Map,o=(e,t,n)=>{a.has(e)||a.set(e,{field:t,kind:n})};for(let t of e.fields){if(o(t.name,t.name,`field name`),t.name.includes(`-`)){let e=n(t.name);e!==t.name&&o(e,t.name,`field name`)}if(t.cliName!==t.name&&o(t.cliName,t.name,`CLI name`),t.cliName.includes(`-`)){let e=n(t.cliName);e!==t.cliName&&o(e,t.name,`CLI name`)}for(let e of r(t))if(o(e,t.name,`alias`),e.length>1&&e.includes(`-`)){let r=n(e);r!==e&&o(r,t.name,`alias`)}if(t.type===`boolean`&&t.negation===!0){let e=`no-${t.cliName}`;o(e,t.name,`default negation`);let r=n(t.cliName),i=`no${r[0]?.toUpperCase()??``}${r.slice(1)}`;i!==e&&o(i,t.name,`default negation`)}}let s=new Map,c=(e,n,r)=>{let o=a.get(e);if(o){let a=r?` (derived camelCase variant)`:``,s=o.field===n?`the same field's own ${o.kind} "${e}"`:`${o.kind} "${e}" of field "${o.field}"`;i.push({commandPath:t,type:`duplicate_negation`,message:`Negation "${e}"${a} for field "${n}" conflicts with ${s}.`,field:n})}let c=s.get(e);if(c&&c!==n){let a=r?` (derived camelCase variant)`:``;i.push({commandPath:t,type:`duplicate_negation`,message:`Duplicate negation "${e}"${a} detected. Both "${c}" and "${n}" use the same negation name.`,field:n})}s.set(e,n)};for(let t of e.fields)if(typeof t.negation==`string`&&(c(t.negation,t.name,!1),t.negation.includes(`-`))){let e=n(t.negation);e!==t.negation&&c(e,t.name,!0)}return i}function ze(e,t){let n=[],r=e.fields.filter(e=>e.positional),i=null,a=null;for(let e of r)i!==null&&n.push({commandPath:t,type:`positional_config`,message:`Positional argument "${e.name}" cannot follow array positional argument "${i}".`,field:e.name}),e.type===`array`&&a!==null&&n.push({commandPath:t,type:`positional_config`,message:`Array positional "${e.name}" cannot be used with optional positional "${a}" (ambiguous parsing).`,field:e.name}),a!==null&&e.required&&n.push({commandPath:t,type:`positional_config`,message:`Required positional "${e.name}" cannot follow optional positional "${a}".`,field:e.name}),e.type===`array`&&(i=e.name),e.required||(a=e.name);return n}function Be(e,t){let n=[];for(let i of e.fields)if(i.overrideBuiltinAlias!==!0)for(let e of r(i))(e===`h`||e===`H`)&&n.push({commandPath:t,type:`reserved_alias`,message:`Alias "${e}" is reserved for --${e===`h`?`help`:`help-all`}.`,field:i.name});return n}function Ve(e,t){let n=[];for(let r of e.fields)r.name.startsWith(`$`)&&n.push({commandPath:t,type:`reserved_field_name`,message:`Field "${r.name}" starts with "$", which is reserved for framework-injected helpers (e.g. $source).`,field:r.name});return n}function He(e){let t=Fe(e,[]);if(t.length>0)throw new Oe(`Duplicate field name "${t[0]?.field??`unknown`}" detected. Each field must have a unique name.`)}function Ue(e){let t=Le(e,[]);if(t.length>0){let e=t[0];throw new ke(e.message)}}function We(e){let t=ze(e,[]);if(t.length>0){let e=t[0];throw new Ee(e.message)}}function B(e,t){let n=Be(e,[]);if(n.length>0){let t=n[0].field??`unknown`,i=e.fields.find(e=>e.name===t),a=(i?r(i):[]).find(e=>e===`h`||e===`H`)??`h`;throw new De(`Alias "${a}" is reserved for --${a===`h`?`help`:`help-all`}. To override this, set { overrideBuiltinAlias: true } for "${t}" and keep the alias where it is currently defined (in alias or hiddenAlias).`)}}function V(e){let t=Ve(e,[]);if(t.length>0){let e=t[0];throw new Me(e.message)}}function H(e){let t=Re(e,[]);if(t.length>0){let e=t[0];throw new je(e.message)}}function U(e){let t=Ie(e,[]);if(t.length>0){let e=t[0];throw new Ae(e.message)}}function Ge(e,t){if(e.type!==t.type||e.positional!==t.positional)return!1;let n=e.enumValues,r=t.enumValues;if(!n&&!r)return!0;if(!n||!r)return!1;let i=new Set(n),a=new Set(r);if(i.size!==a.size)return!1;for(let e of i)if(!a.has(e))return!1;return!0}function Ke(e,t,r){let i=[],a=new Map;for(let t of e.fields)a.set(n(t.name),t);for(let e of t.fields){let t=n(e.name),o=a.get(t);if(o){if(o.name!==e.name){i.push({commandPath:r,type:`case_variant_collision`,message:`Global field "${o.name}" and command field "${e.name}" are case variants of each other and would collide.`,field:e.name});continue}Ge(o,e)||i.push({commandPath:r,type:`field_type_conflict`,message:`Global field "${o.name}" and command field "${e.name}" share the same name but have different definitions.`,field:e.name})}}return i}function qe(e,t){let n=Ke(e,t,[])[0];if(n)throw n.type===`case_variant_collision`?new Ae(n.message):new Pe(n.message)}function Je(e,t,n){return[...Fe(e,n),...Ie(e,n),...Le(e,n),...Re(e,n),...ze(e,n),...Be(e,n),...Ve(e,n)]}function Ye(e,t){let n=e,r=[];if(n.defaultSubCommand===void 0)return r;n.run&&r.push({commandPath:t,type:`default_subcommand_conflict`,message:`Command "${n.name}" defines both "run" and "defaultSubCommand". Define only one.`});let i=e.subCommands?Object.keys(e.subCommands):[];return i.includes(n.defaultSubCommand)||r.push({commandPath:t,type:`default_subcommand_not_found`,message:`defaultSubCommand "${n.defaultSubCommand}" does not match any subCommands key of "${n.name}". Registered: ${i.length>0?i.join(`, `):`(none)`}.`,field:n.defaultSubCommand}),r}function W(e){let t=Ye(e,[]);if(t.length>0)throw new Ne(t[0].message)}function Xe(e,t){let n=[];if(!e.subCommands)return n;let r=new Map;for(let[t]of Object.entries(e.subCommands))r.set(t,t);for(let[i,a]of Object.entries(e.subCommands)){let e=h(a)?a.meta:typeof a==`function`?null:a;if(!e?.aliases)continue;let o=[...t,i];for(let t of e.aliases){if(!/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/.test(t)){n.push({commandPath:o,type:`invalid_alias`,message:`Alias "${t}" is invalid. Aliases must start with an alphanumeric character and contain only alphanumeric characters, hyphens, or underscores.`,field:i});continue}if(t===i){n.push({commandPath:o,type:`duplicate_alias`,message:`Alias "${t}" conflicts with its own name.`,field:i});continue}let e=r.get(t);e?e===i?n.push({commandPath:o,type:`duplicate_alias`,message:`Alias "${t}" is duplicated within the alias list.`,field:i}):n.push({commandPath:o,type:`duplicate_alias`,message:`Alias "${t}" conflicts with existing subcommand or alias "${e}".`,field:i}):r.set(t,i)}}return n}function Ze(e,t,n){return e===t?[]:[{commandPath:[...n,e],type:`subcommand_key_name_mismatch`,message:`Subcommand registered as "${e}" but its own name is "${t}".`,field:e}]}async function Qe(e,t={}){let n=t.commandPath??[e.name],r=[],i=e.subCommands?Object.keys(e.subCommands).length>0:!1,a=t.globalArgs?s(t.globalArgs):void 0;if(e.args){let t=s(e.args);r.push(...Je(t,i,n)),a&&r.push(...Ke(a,t,n))}if(r.push(...Xe(e,n)),r.push(...Ye(e,n)),e.subCommands)for(let[i,a]of Object.entries(e.subCommands)){let e=await g(a);r.push(...Ze(i,e.name,n));let o=await Qe(e,{commandPath:[...n,i],...t.globalArgs?{globalArgs:t.globalArgs}:{}});o.valid||r.push(...o.errors)}return r.length===0?{valid:!0}:{valid:!1,errors:r}}function $e(e){if(e.length===0)return``;let t=[`Command definition errors:`];for(let n of e){let e=n.commandPath.join(` > `);t.push(` - [${e}] ${n.message}`)}return t.join(`
28
- `)}const et=new Set([`1`,`t`,`T`,`TRUE`,`true`,`True`]),tt=new Set([`0`,`f`,`F`,`FALSE`,`false`,`False`]);function G(e){return et.has(e)?!0:!tt.has(e)&&e}function nt(e,t){return t===`boolean`?G(e):e}function K(e){let t=e.indexOf(`=`);return t>=0?e.slice(2,t):e.slice(2)}function rt(e,t){let n=K(e);if(!e.includes(`=`)){let e=t.negationMap.get(n);if(e&&t.booleanFlags.has(e))return{resolvedName:e,withoutDashes:n,isNegated:!0,isCustomNegation:!0,isSuppressedNegation:!1}}let r=e.includes(`=`);if(!r&&n.startsWith(`no-`)){let e=n.slice(3);if(e===e.toLowerCase()){let r=t.aliasMap.get(e)??e;if(t.booleanFlags.has(r)){let e=t.aliasMap.get(n)??n;if(!t.definedNames.has(e))return t.defaultNegationDisabledFields.has(r)?{resolvedName:r,withoutDashes:n,isNegated:!1,isCustomNegation:!1,isSuppressedNegation:!0}:{resolvedName:r,withoutDashes:n,isNegated:!0,isCustomNegation:!1,isSuppressedNegation:!1}}}}if(!r&&n.length>2&&n.startsWith(`no`)&&/[A-Z]/.test(n[2])){let e=n[2].toLowerCase()+n.slice(3),r=t.aliasMap.get(e)??e;if(t.booleanFlags.has(r)){let e=t.aliasMap.get(n)??n;if(!t.definedNames.has(e))return t.defaultNegationDisabledFields.has(r)?{resolvedName:r,withoutDashes:n,isNegated:!1,isCustomNegation:!1,isSuppressedNegation:!0}:{resolvedName:r,withoutDashes:n,isNegated:!0,isCustomNegation:!1,isSuppressedNegation:!1}}}return{resolvedName:t.aliasMap.get(n)??n,withoutDashes:n,isNegated:!1,isCustomNegation:!1,isSuppressedNegation:!1}}const it=/^-\.?\d/;function at(e){return it.test(e)}function q(e,t={}){let{aliasMap:n=new Map,booleanFlags:r=new Set,arrayFlags:i=new Set,definedNames:a=new Set,negationMap:o=new Map,defaultNegationDisabledFields:s}=t,c={aliasMap:n,booleanFlags:r,definedNames:a,negationMap:o,defaultNegationDisabledFields:s??new Set(r)},l={options:{},positionals:[],rest:[]},u=0,d=!1,f=(e,t)=>{let r=n.get(e)??e;if(i.has(r)){let e=l.options[r];Array.isArray(e)?e.push(t):e===void 0?l.options[r]=[t]:l.options[r]=[e,t]}else l.options[r]=t};for(;u<e.length;){let t=e[u];if(d){l.rest.push(t),u++;continue}if(t===`--`){d=!0,u++;continue}if(t.startsWith(`--`)){let i=t.slice(2),a=rt(t,c);if(a.isSuppressedNegation){f(a.withoutDashes,!0),u++;continue}if(a.isNegated){f(a.resolvedName,!1),u++;continue}let o=i.indexOf(`=`);if(o!==-1){let e=i.slice(0,o),t=i.slice(o+1),a=n.get(e)??e;f(e,r.has(a)?G(t):t),u++}else{let t=i,a=n.get(t)??t;if(r.has(a))f(t,!0),u++;else{let n=e[u+1];n!==void 0&&(!n.startsWith(`-`)||at(n))?(f(t,n),u+=2):(f(t,!0),u++)}}continue}if(t.startsWith(`-`)&&t.length>1&&!t.startsWith(`--`)){let i=t.slice(1),a=i.indexOf(`=`);if(a!==-1){let e=i.slice(0,a),t=i.slice(a+1),o=n.get(e)??e;f(e,r.has(o)?G(t):t),u++}else if(i.length===1){let t=i,a=n.get(t)??t;if(r.has(a))f(t,!0),u++;else{let n=e[u+1];n!==void 0&&(!n.startsWith(`-`)||at(n))?(f(t,n),u+=2):(f(t,!0),u++)}}else{for(let e of i)f(e,!0);u++}continue}l.positionals.push(t),u++}return l}function J(e){let t=new Map,i=new Set,a=new Set,o=new Set,s=new Map,c=new Set;for(let t of e.fields)o.add(t.name);for(let l of e.fields){l.cliName!==l.name&&t.set(l.cliName,l.name);for(let e of r(l))if(t.set(e,l.name),e.length>1&&e.includes(`-`)){let r=n(e);r!==e&&!o.has(r)&&!t.has(r)&&t.set(r,l.name)}let e=n(l.name);if(e!==l.name&&!o.has(e)&&!t.has(e)&&t.set(e,l.name),l.type===`boolean`&&i.add(l.name),l.type===`array`&&a.add(l.name),l.type===`boolean`&&l.negation!==!0&&(c.add(l.name),typeof l.negation==`string`&&(s.set(l.negation,l.name),l.negation.includes(`-`)))){let e=n(l.negation);e!==l.negation&&s.set(e,l.name)}}return{aliasMap:t,booleanFlags:i,arrayFlags:a,definedNames:o,negationMap:s,defaultNegationDisabledFields:c}}function ot(e,t){let n={...e.options},r=t.fields.filter(e=>e.positional),i=e.rest.length>0?[...e.positionals,...e.rest]:e.positionals,a=0;for(let e of r){if(a>=i.length)break;if(e.type===`array`){n[e.name]=i.slice(a);break}n[e.name]=i[a],a++}return n}function Y(e){let{aliasMap:t=new Map,booleanFlags:n=new Set,definedNames:i=new Set,negationMap:a=new Map,defaultNegationDisabledFields:o=new Set}=J(e),s=new Set;for(let t of e.fields)for(let e of r(t))e.length===1&&s.add(e);return{aliasMap:t,booleanFlags:n,definedNames:i,flagNames:new Set(e.fields.map(e=>e.name)),cliNames:new Set(e.fields.map(e=>e.cliName)),aliases:s,negationMap:a,defaultNegationDisabledFields:o}}function st(e,t){let{resolvedName:n,withoutDashes:r,isNegated:i,isCustomNegation:a,isSuppressedNegation:o}=rt(e,t);if(o)return{resolvedName:n,withoutDashes:r,isNegated:!1,isGlobal:!1,isSuppressedNegation:o};let s=i&&!a?r.startsWith(`no-`)?r.slice(3):r[2].toLowerCase()+r.slice(3):r;return{resolvedName:n,withoutDashes:r,isNegated:i,isGlobal:t.flagNames.has(n)||t.cliNames.has(r)||t.cliNames.has(s),isSuppressedNegation:!1}}function ct(e,t,n,r,i){return!e.includes(`=`)&&!i.has(t)&&!n&&r!==void 0&&!r.startsWith(`-`)}function X(e,t,n,r,i,a){let o=e[t];return a.push(o),ct(o,n,r,e[t+1],i)?(a.push(e[t+1]),2):1}function lt(e,t,n){let r=Y(n),i=new Set(t),a=[],o=[],s=0;for(;s<e.length;){let t=e[s];if(t===`--`||ut.has(t))break;if(!t.startsWith(`-`)&&i.has(t))return{subCommandIndex:s,globalTokensBefore:a,tokensAfterSubcommand:e.slice(s+1),suppressedTokens:o};if(t.startsWith(`--`)){let{resolvedName:n,withoutDashes:i,isNegated:c,isGlobal:l,isSuppressedNegation:u}=st(t,r);if(l){s+=X(e,s,n,c,r.booleanFlags,a);continue}if(u){o.push(i),s++;continue}break}if(t.startsWith(`-`)&&t.length>1){let n=t.includes(`=`)?t.slice(1,t.indexOf(`=`)):t.slice(1);if(n.length===1){let t=r.aliasMap.get(n)??n;if(r.aliases.has(n)||r.flagNames.has(t)){s+=X(e,s,t,!1,r.booleanFlags,a);continue}}break}break}return{subCommandIndex:-1,globalTokensBefore:a,tokensAfterSubcommand:[],suppressedTokens:o}}const ut=new Set([`--help`,`-h`,`--help-all`,`-H`,`--version`]);function dt(e,t,n={}){let r=n.stopOnSuppressedNegation===!0||t?.unknownKeysMode===`strict`,i=t?Y(t):{aliasMap:new Map,booleanFlags:new Set,definedNames:new Set,flagNames:new Set,cliNames:new Set,aliases:new Set,negationMap:new Map,defaultNegationDisabledFields:new Set};for(let t=0;t<e.length;t++){let n=e[t];if(!n.startsWith(`-`))return t;if(n===`--`||ut.has(n))return-1;if(n.startsWith(`--`)){let{resolvedName:a,isNegated:o,isGlobal:s,isSuppressedNegation:c}=st(n,i);if(s){ct(n,a,o,e[t+1],i.booleanFlags)&&t++;continue}if(c){if(r)return-1;continue}return-1}let a=n.includes(`=`)?n.slice(1,n.indexOf(`=`)):n.slice(1);if(a.length===1){let r=i.aliasMap.get(a)??a;if(i.aliases.has(a)||i.flagNames.has(r)){ct(n,r,!1,e[t+1],i.booleanFlags)&&t++;continue}}return-1}return-1}function Z(e,t){let n=dt(e,t);return n>=0?e[n]:void 0}function ft(e,t,n={}){let i=_(t),a=[...i],o=a.length>0;if(o&&e.length>0){if(n.globalExtracted){let t=lt(e,a,n.globalExtracted);if(t.subCommandIndex>=0){let r=pt(t.globalTokensBefore,n.globalExtracted);return{helpRequested:!1,helpAllRequested:!1,versionRequested:!1,subCommand:e[t.subCommandIndex],remainingArgs:t.tokensAfterSubcommand,rawArgs:{},positionals:[],rest:[],unknownFlags:t.suppressedTokens,unknownGlobalFlags:t.suppressedTokens,rawGlobalArgs:r}}}else{let t=e[0];if(t&&!t.startsWith(`-`)&&i.has(t))return{helpRequested:!1,helpAllRequested:!1,versionRequested:!1,subCommand:t,remainingArgs:e.slice(1),rawArgs:{},positionals:[],rest:[],unknownFlags:[]}}}let c;t.args&&(c=s(t.args),n.skipValidation||(He(c),U(c),Ue(c),H(c),We(c),B(c,o),V(c),n.globalExtracted&&qe(n.globalExtracted,c)));let l=e,u,d=[];if(n.globalExtracted){let{separated:t,globalParsed:r,suppressedTokens:i}=mt(e,n.globalExtracted,c);l=t,u=r,d=i}let f=e.indexOf(`--`),p=f>=0?e.slice(0,f):e,m=c?.fields.some(e=>e.overrideBuiltinAlias===!0&&r(e).includes(`H`))??!1,h=c?.fields.some(e=>e.overrideBuiltinAlias===!0&&r(e).includes(`h`))??!1,g=p.includes(`--help-all`)||!m&&p.includes(`-H`),v=!g&&(p.includes(`--help`)||!h&&p.includes(`-h`)),y=p.includes(`--version`);if(v||g||y)return{helpRequested:v,helpAllRequested:g,versionRequested:y,subCommand:void 0,remainingArgs:[],rawArgs:{},positionals:[],rest:[],unknownFlags:[],unknownGlobalFlags:d,rawGlobalArgs:u};if(!c){let e=l.indexOf(`--`);return{helpRequested:!1,helpAllRequested:!1,versionRequested:!1,subCommand:void 0,remainingArgs:[],rawArgs:{},positionals:e>=0?l.slice(0,e):l,rest:e>=0?l.slice(e+1):[],unknownFlags:[],unknownGlobalFlags:d,rawGlobalArgs:u}}let b=J(c),x=q(l,b),S=ot(x,c),C=new Set;for(let e of c.fields)if(e.env&&S[e.name]===void 0){let t=Array.isArray(e.env)?e.env:[e.env];for(let n of t){let t=process.env[n];if(t!==void 0){S[e.name]=nt(t,e.type),C.add(e.name);break}}}let w=new Set(c.fields.map(e=>e.name)),T=new Set(c.fields.map(e=>e.cliName)),E=new Set;for(let e of c.fields)for(let t of r(e))E.add(t);if(n.globalExtracted)for(let e of n.globalExtracted.fields){w.add(e.name),T.add(e.cliName);for(let t of r(e))E.add(t)}let D=[];for(let e of Object.keys(x.options))!w.has(e)&&!T.has(e)&&!E.has(e)&&D.push(e);return{helpRequested:!1,helpAllRequested:!1,versionRequested:!1,subCommand:void 0,remainingArgs:[],rawArgs:S,positionals:x.positionals,rest:x.rest,unknownFlags:D,unknownGlobalFlags:d,extractedFields:c,rawGlobalArgs:u,envFallbackFields:C}}function pt(e,t){return e.length===0?{}:ot(q(e,J(t)),t)}function mt(e,t,i){let a=Y(t),o=new Set(i?.fields.map(e=>e.name)??[]),s=new Set(i?.fields.map(e=>e.cliName)??[]),c=i?J(i):void 0,l=new Set(c?.aliasMap?.keys()??[]),u=new Set(c?.negationMap?.keys()??[]),d=new Set;for(let e of i?.fields??[])if(e.type===`boolean`&&e.negation===!0)for(let t of[e.cliName,...r(e)]){let e=`no-${t}`;d.add(e),d.add(n(e))}let f=[],p=[],m=[];for(let t=0;t<e.length;t++){let n=e[t];if(n===`--`){p.push(...e.slice(t));break}if(n.startsWith(`--`)){let{resolvedName:r,withoutDashes:i,isNegated:c,isGlobal:p,isSuppressedNegation:h}=st(n,a),g=r,_=o.has(i)||o.has(g)||s.has(i)||s.has(g)||l.has(i)||l.has(g)||u.has(i)||u.has(g)||d.has(i);if(p&&!_){t+=X(e,t,r,c,a.booleanFlags,f)-1;continue}if(h&&!_){m.push(i);continue}}else if(n.startsWith(`-`)&&n.length>1){let r=n.includes(`=`)?n.slice(1,n.indexOf(`=`)):n.slice(1);if(r.length===1){let n=a.aliasMap.get(r)??r;if((a.aliases.has(r)||a.flagNames.has(n))&&!l.has(r)){t+=X(e,t,n,!1,a.booleanFlags,f)-1;continue}}}p.push(n)}return{separated:p,globalParsed:pt(f,t),suppressedTokens:m}}function ht(t,n){return a(n)?o(t,n):e().validate(t,n)}function gt(e){return e.map(e=>`${e.path.length>0?`${e.path.join(`.`)}: `:``}${e.message}`).join(`
29
- `)}function _t(e,t){let n=[];for(let e=0;e<=t.length;e++)n[e]=[e];for(let t=0;t<=e.length;t++)n[0][t]=t;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++)t.charAt(r-1)===e.charAt(i-1)?n[r][i]=n[r-1][i-1]:n[r][i]=Math.min(n[r-1][i-1]+1,n[r][i-1]+1,n[r-1][i]+1);return n[t.length][e.length]}function vt(e,t){let n=Math.max(2,Math.floor(e.length/2));return t.map(t=>({candidate:t,distance:_t(e.toLowerCase(),t.toLowerCase())})).filter(({distance:e})=>e<=n).sort((e,t)=>e.distance-t.distance).map(({candidate:e})=>e).slice(0,3)}function yt(e,t){let n=vt(e.replace(/^-{1,2}/,``),t),r=`${y.warning(`Warning: Unknown option:`)} ${y.bold(e)}`;if(n.length>0){r+=`\n\n${y.info(`Did you mean?`)}`;for(let e of n)r+=`\n ${v.arrow} ${y.option(`--${e}`)}`}return r}function bt(e,t){return t&&e.stack?`${y.error(`Error:`)} ${e.message}\n\n${y.dim(e.stack)}`:`${y.error(`Error:`)} ${e.message}`}function Q(e){return new Proxy(e,{get(e,r,i){if(typeof r==`string`){if(r in e)return Reflect.get(e,r,i);let a=n(r);if(a!==r&&a in e)return Reflect.get(e,a,i);let o=t(r);if(o!==r&&o in e)return Reflect.get(e,o,i)}return Reflect.get(e,r,i)},has(e,r){if(typeof r==`string`){if(r in e)return!0;let i=n(r);if(i!==r&&i in e)return!0;let a=t(r);if(a!==r&&a in e)return!0}return Reflect.has(e,r)}})}async function xt(e,t,n){for(let r of t.fields)r.effect&&await r.effect(e[r.name],{name:r.name,args:e,...n!=null&&{globalArgs:n}})}const St={log:e=>console.log(e),error:e=>console.error(e),warn:e=>console.warn(e)};function Ct(e,r){Object.defineProperty(e,"$source",{value:e=>r.get(e)??r.get(n(e))??r.get(t(e))??`default`,enumerable:!1})}function wt(e,t){Object.defineProperty(e,"$invocation",{value:t,enumerable:!1})}function Tt(e,t){let n=t.commandPath?.at(-1)??e.name;return t.aliasFor?{name:n,aliasFor:t.aliasFor}:{name:n}}async function Et(e,t,n={}){let r=At(n),i=n.captureLogs??!1,a=i?d():null;if(n.setup){a?.start();try{await n.setup({})}catch(e){let t=e instanceof Error?e:Error(String(e));if(n.cleanup)try{await n.cleanup({error:t})}catch{}return a?.stop(),{success:!1,error:t,exitCode:1,logs:a?.getLogs()??l()}}a?.stop()}let o=await $(e,t,{...n,handleSignals:!1,_globalExtracted:r,_globalCleanup:n.cleanup,_existingLogs:a?.getLogs()});if(n.cleanup){let e=i?d():null;e?.start();let t={error:o.success?void 0:o.error};try{await n.cleanup(t)}catch(t){if(o.success){let n=t instanceof Error?t:Error(String(t));return e?.stop(),{success:!1,error:n,exitCode:1,logs:u(o.logs,e?.getLogs()??l())}}}e?.stop();let r=e?.getLogs()??l();if(r.entries.length>0)return{...o,logs:u(o.logs,r)}}return o}function Dt(e,t,n){let r=Z(t,n);return!r||!r.startsWith(`__`)?!1:Object.hasOwn(e.subCommands??{},r)}async function Ot(e,t={}){if(t.compileCache!==!1&&c(typeof t.compileCache==`string`?{cacheDir:t.compileCache}:{programName:e.name}),e.runMainHook)try{e.runMainHook(process.argv.slice(2))}catch{}let n=process.argv.slice(2),r;if(t.globalArgs)try{r=s(t.globalArgs)}catch{}let i=t;if(Dt(e,n,r)){let{setup:e,cleanup:n,prompt:r,globalArgs:a,...o}=t;i=o}let a=At(i);if(i.skipValidation||W(e),i.onUnknownSubcommand&&!e.run&&!Dt(e,n,r)){let t=_(e);if(t.size>0){let e=dt(n,a,{stopOnSuppressedNegation:a?.unknownKeysMode!==`passthrough`}),r=e>=0?n[e]:void 0;if(r&&!t.has(r)){let t=n.slice(e+1),a=await i.onUnknownSubcommand({commandPath:[],name:r,args:t,precedingArgs:n.slice(0,e)});if(typeof a==`number`)return await kt(),process.exit(a)}}}if(i.setup)try{await i.setup({})}catch(e){let t=e instanceof Error?e:Error(String(e));if(i.cleanup)try{await i.cleanup({error:t})}catch{}process.exit(1)}let o=await $(e,n,{debug:i.debug,captureLogs:i.captureLogs,skipValidation:i.skipValidation,handleSignals:!0,logger:i.logger,globalArgs:i.globalArgs,prompt:i.prompt,onUnknownSubcommand:i.onUnknownSubcommand,_globalExtracted:a,_globalCleanup:i.cleanup,_context:{commandPath:[],rootName:e.name,rootVersion:i.version,globalExtracted:a}});if((i.displayErrors??!0)&&!o.success&&o.error&&(i.logger??St).error(bt(o.error,i.debug??!1)),i.cleanup){let e={error:o.success?void 0:o.error};try{await i.cleanup(e)}catch{}}await kt(),process.exit(o.exitCode)}async function kt(){await Promise.all([process.stdout,process.stderr].map(e=>e.writableLength>0?new Promise(t=>e.write(``,()=>t())):Promise.resolve()))}async function $(e,t,n={}){let r=n.logger??St,i=n._context??{commandPath:[],rootName:e.name,globalExtracted:n._globalExtracted},a=n.captureLogs??!1?d():null;a?.start();let o=()=>{let e=n._existingLogs??l(),t=a?.getLogs()??l();return u(e,t)};try{n.skipValidation||W(e);let s=ft(t,e,{skipValidation:n.skipValidation,globalExtracted:n._globalExtracted}),c={...n._parsedGlobalArgs,...s.rawGlobalArgs},l=i.commandPath??[];if(n.onUnknownSubcommand&&!e.run&&l.length>0){let r=_(e);if(r.size>0){let e=dt(t,n._globalExtracted,{stopOnSuppressedNegation:n._globalExtracted?.unknownKeysMode!==`passthrough`}),i=e>=0?t[e]:void 0;if(i&&!r.has(i)){let r=t.slice(e+1),s=await n.onUnknownSubcommand({commandPath:l,name:i,args:r,precedingArgs:[...n._precedingArgs??[],...t.slice(0,e)]});if(typeof s==`number`){if(a?.stop(),n.handleSignals){if(n._globalCleanup)try{await n._globalCleanup({error:void 0})}catch{}await kt(),process.exit(s)}return s===0?{success:!0,result:void 0,exitCode:0,logs:o()}:{success:!1,error:Error(`Plugin "${[...l,i].join(` `)}" exited with code ${s}`),exitCode:s,logs:o()}}}}}if(s.helpRequested||s.helpAllRequested){let c=!1,l=m(e),u=_(e);if(l.length>0){let e=Z(t,i.globalExtracted);e&&!u.has(e)&&(c=!0)}let d=we(e,{showSubcommands:n.showSubcommands??!0,showSubcommandOptions:s.helpAllRequested||n.showSubcommandOptions,context:i});if(r.log(d),a?.stop(),c){let e=Z(t,i.globalExtracted)??``,n=vt(e,[...u]),r=n.length>0?` Did you mean: ${n.join(`, `)}?`:``;return{success:!1,error:Error(`Unknown subcommand: ${e}${r?`.${r}`:``}`),exitCode:1,logs:o()}}return{success:!0,result:void 0,exitCode:0,logs:o()}}if(s.unknownGlobalFlags&&s.unknownGlobalFlags.length>0){let e=i.globalExtracted?.unknownKeysMode??`strip`;if(e===`strict`)return a?.stop(),{success:!1,error:Error(`Unknown flags: ${s.unknownGlobalFlags.join(`, `)}`),exitCode:1,logs:o()};if(e===`strip`){let e=i.globalExtracted?.fields.map(e=>e.name)??[];for(let t of s.unknownGlobalFlags)r.error(yt(t,e))}}if(s.versionRequested){let e=i.rootVersion;return e&&r.log(e),a?.stop(),{success:!0,result:void 0,exitCode:0,logs:o()}}if(s.subCommand){let r=await f(e,s.subCommand);if(r){let e={commandPath:[...i.commandPath??[],s.subCommand],rootName:i.rootName,rootVersion:i.rootVersion,globalExtracted:i.globalExtracted,aliasFor:r.aliasFor};a?.stop();let l=new Set(n._globalExtracted?.unknownKeysMode===`passthrough`?[]:s.unknownGlobalFlags??[]),u=e=>e.startsWith(`--`)&&l.has(K(e)),d=t.slice(0,t.length-s.remainingArgs.length-1).filter(e=>!u(e));return $(r.command,s.remainingArgs,{...n,_context:e,_existingLogs:o(),_parsedGlobalArgs:c,_precedingArgs:[...n._precedingArgs??[],...d]})}}let u=s.extractedFields?.fields.filter(e=>e.positional)??[],d=u.some(e=>e.type===`array`),p=[...s.positionals,...s.rest],h=d?[]:p.slice(u.length),v=d?[]:s.positionals.slice(u.length);if(m(e).length>0&&!s.subCommand&&!e.run&&h.length===0){if(e.defaultSubCommand&&s.unknownFlags.length===0){let r=e.subCommands?.[e.defaultSubCommand];if(r){let l=await g(r),u={commandPath:[...i.commandPath??[],e.defaultSubCommand],rootName:i.rootName,rootVersion:i.rootVersion,globalExtracted:i.globalExtracted};a?.stop();let d=new Set(n._globalExtracted?.unknownKeysMode===`passthrough`?[]:s.unknownGlobalFlags??[]),f=e=>e.startsWith(`--`)&&d.has(K(e)),p=t.filter(e=>!f(e));return $(l,[],{...n,_context:u,_existingLogs:o(),_parsedGlobalArgs:c,_precedingArgs:[...n._precedingArgs??[],...p]})}}let l=we(e,{showSubcommands:n.showSubcommands??!0,context:i});return r.log(l),a?.stop(),{success:!0,result:void 0,exitCode:0,logs:o()}}if(s.unknownFlags.length>0){let e=s.extractedFields?.unknownKeysMode??`strip`,t=s.extractedFields?.fields.map(e=>e.name)??[];if(e===`strict`)return a?.stop(),{success:!1,error:Error(`Unknown flags: ${s.unknownFlags.join(`, `)}`),exitCode:1,logs:o()};if(e===`strip`)for(let e of s.unknownFlags)r.error(yt(e,t))}if(h.length>0){let t=_(e);if(t.size>0){let e=v.find(e=>!e.startsWith(`-`)&&!t.has(e));if(e){let n=vt(e,[...t]),r=n.length>0?` Did you mean: ${n.join(`, `)}?`:``;return a?.stop(),{success:!1,error:Error(`Unknown subcommand: ${e}${r?`.${r}`:``}`),exitCode:1,logs:o()}}}let n=s.extractedFields?.unknownKeysMode??`strip`;if(n===`strict`)return a?.stop(),{success:!1,error:Error(`Unexpected positional argument${h.length>1?`s`:``}: ${h.join(`, `)}`),exitCode:1,logs:o()};if(n===`strip`)for(let e of h)(r.warn??r.error)(`Warning: Unexpected positional argument: ${e}`)}let y={},b=e.name===`__complete`,S=new Set(Object.keys(c)),C=new Set;if(n.globalArgs&&n._globalExtracted&&!b){for(let e of n._globalExtracted.fields)if(e.env&&c[e.name]===void 0){let t=Array.isArray(e.env)?e.env:[e.env];for(let n of t){let t=process.env[n];if(t!==void 0){c[e.name]=nt(t,e.type),C.add(e.name);break}}}if(n.prompt){let e=await n.prompt(c,n._globalExtracted);for(let[t,n]of Object.entries(e))n!==void 0&&(c[t]=n)}let e=ht(c,n.globalArgs);if(!e.success)return a?.stop(),{success:!1,error:Error(gt(e.errors)),exitCode:1,logs:o()};y=e.data}if(!e.args){let t=new Map;for(let e of S)t.set(e,`cli`);for(let e of C)t.set(e,`env`);Ct(y,t),wt(y,Tt(e,i));let r=Q(y);return n._globalExtracted&&!b&&await xt(r,n._globalExtracted,r),a?.stop(),await x(e,r,{handleSignals:n.handleSignals,captureLogs:n.captureLogs,existingLogs:o(),globalCleanup:n._globalCleanup})}let w=s.rawArgs,T=new Set;if(n.prompt&&s.extractedFields){let e=await n.prompt(w,s.extractedFields),t={...w};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r,T.add(n));w=t}let E=new Set;if(s.extractedFields)for(let e of s.extractedFields.fields)!(Object.hasOwn(s.rawArgs,e.name)||T.has(e.name))&&S.has(e.name)&&Object.hasOwn(y,e.name)&&(w={...w,[e.name]:y[e.name]},E.add(e.name));let D=ht(w,e.args);if(!D.success)return a?.stop(),{success:!1,error:Error(gt(D.errors)),exitCode:1,logs:o()};let O=Q(D.data),k=Q(y);n._globalExtracted&&!b&&await xt(k,n._globalExtracted,k),s.extractedFields&&!b&&await xt(O,s.extractedFields,k);let A={...k,...O},j=new Map;for(let e of S)j.set(e,`cli`);for(let e of C)j.set(e,`env`);let M=s.envFallbackFields??new Set;for(let e of s.extractedFields?.fields??[]){if(E.has(e.name)){j.set(e.name,`cli`);continue}let t=Object.hasOwn(s.rawArgs,e.name)||M.has(e.name);j.set(e.name,t?M.has(e.name)?`env`:`cli`:`default`)}Ct(A,j),wt(A,Tt(e,i));let N=Q(A);return a?.stop(),await x(e,N,{handleSignals:n.handleSignals,captureLogs:n.captureLogs,existingLogs:o(),globalCleanup:n._globalCleanup})}catch(e){let t=e instanceof Error?e:Error(String(e));return a?.stop(),{success:!1,error:t,exitCode:1,logs:o()}}}function At(e){if(!e.globalArgs)return;let t=s(e.globalArgs);if(!e.skipValidation){He(t),U(t),Ue(t),H(t),B(t,!0),V(t);let e=t.fields.filter(e=>e.positional).map(e=>e.name);if(e.length>0)throw Error(`Global options schema must not contain positional arguments. Found: ${e.join(`, `)}`)}return t}export{Ee as C,D,we as E,O,Pe as S,Me as T,Ae as _,q as a,Oe as b,Qe as c,Ue as d,He as f,V as g,B as h,gt as i,qe as l,We as m,Ot as n,$e as o,H as p,Q as r,U as s,Et as t,W as u,Ne as v,De as w,je as x,ke as y};