@visulima/cerebro 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (89) hide show
  1. package/CHANGELOG.md +327 -0
  2. package/LICENSE.md +589 -4096
  3. package/README.md +26 -0
  4. package/dist/commands/completion-command.d.ts +6 -5
  5. package/dist/commands/completion-command.js +2 -2
  6. package/dist/commands/help-command.d.ts +9 -9
  7. package/dist/commands/help-command.js +1 -1
  8. package/dist/commands/readme-command.d.ts +6 -5
  9. package/dist/commands/readme-command.js +20 -20
  10. package/dist/commands/version-command.d.ts +4 -3
  11. package/dist/index.d.ts +422 -95
  12. package/dist/index.js +1 -1
  13. package/dist/logger/create-pail-logger.d.ts +779 -8
  14. package/dist/logger/create-pail-logger.js +1 -1
  15. package/dist/packem_chunks/has-new-version.js +1 -1
  16. package/dist/packem_shared/Cerebro-DVWKQlmP.js +4 -0
  17. package/dist/packem_shared/VisulimaError-Bh91XNXu.js +76 -0
  18. package/dist/packem_shared/index-B0BiusY7.js +6 -0
  19. package/dist/packem_shared/index.d-Br8HpP0A.d.ts +93 -0
  20. package/dist/packem_shared/lazyNamed-DOmefeJM.js +1 -0
  21. package/dist/packem_shared/plugin-manager.d-Dz-wu1tI.d.ts +544 -0
  22. package/dist/packem_shared/renderError-B_XyYPKJ-B65kP-Ou.js +24 -0
  23. package/dist/packem_shared/{runtime-process-G-n-wOub.js → runtime-process-DKHFvYkv.js} +1 -1
  24. package/dist/plugins/error-handler-plugin.d.ts +21 -19
  25. package/dist/plugins/error-handler-plugin.js +1 -1
  26. package/dist/plugins/runtime-version-check-plugin.d.ts +22 -20
  27. package/dist/plugins/runtime-version-check-plugin.js +1 -1
  28. package/dist/plugins/update-notifier/update-notifier-plugin.d.ts +21 -8
  29. package/dist/plugins/update-notifier/update-notifier-plugin.js +1 -1
  30. package/dist/util/general/compile-cache.d.ts +41 -0
  31. package/dist/util/general/compile-cache.js +1 -0
  32. package/dist/util/general/heap-tuning.d.ts +18 -0
  33. package/dist/util/general/heap-tuning.js +1 -0
  34. package/package.json +52 -44
  35. package/dist/cli.d.ts +0 -203
  36. package/dist/constants.d.ts +0 -29
  37. package/dist/default-env.d.ts +0 -7
  38. package/dist/default-options.d.ts +0 -3
  39. package/dist/empty-toolbox.d.ts +0 -15
  40. package/dist/errors/cerebro-error.d.ts +0 -10
  41. package/dist/errors/command-not-found-error.d.ts +0 -9
  42. package/dist/errors/command-validation-error.d.ts +0 -10
  43. package/dist/errors/completion-error.d.ts +0 -9
  44. package/dist/errors/conflicting-options-error.d.ts +0 -10
  45. package/dist/errors/plugin-error.d.ts +0 -9
  46. package/dist/errors/update-notifier-error.d.ts +0 -7
  47. package/dist/packem_shared/Cerebro-aPZjbfzf.js +0 -4
  48. package/dist/packem_shared/VisulimaError-BJideSBf.js +0 -76
  49. package/dist/packem_shared/help-command-CIRIXN03.js +0 -1
  50. package/dist/packem_shared/index-DQ3pvLQH.js +0 -6
  51. package/dist/packem_shared/renderError-ZMlMvw1N-eVUSdl6c.js +0 -24
  52. package/dist/plugin-manager.d.ts +0 -53
  53. package/dist/plugins/update-notifier/cache.d.ts +0 -11
  54. package/dist/plugins/update-notifier/get-distribution-version.d.ts +0 -2
  55. package/dist/plugins/update-notifier/has-new-version.d.ts +0 -14
  56. package/dist/types/cli.d.ts +0 -102
  57. package/dist/types/command-line-usage.d.ts +0 -37
  58. package/dist/types/command.d.ts +0 -136
  59. package/dist/types/option-types.d.ts +0 -83
  60. package/dist/types/options.d.ts +0 -4
  61. package/dist/types/plugin.d.ts +0 -53
  62. package/dist/types/toolbox.d.ts +0 -96
  63. package/dist/util/arg-processing/get-boolean-values.d.ts +0 -7
  64. package/dist/util/arg-processing/get-parameter-option.d.ts +0 -7
  65. package/dist/util/arg-processing/map-option-type-label.d.ts +0 -3
  66. package/dist/util/arg-processing/option-is-boolean.d.ts +0 -9
  67. package/dist/util/arg-processing/remove-boolean-values.d.ts +0 -9
  68. package/dist/util/command-line-commands.d.ts +0 -10
  69. package/dist/util/command-line-usage/get-terminal-width.d.ts +0 -7
  70. package/dist/util/command-line-usage/index.d.ts +0 -3
  71. package/dist/util/command-line-usage/section/base-section.d.ts +0 -8
  72. package/dist/util/command-line-usage/section/content-section.d.ts +0 -65
  73. package/dist/util/command-line-usage/section/option-list-section.d.ts +0 -44
  74. package/dist/util/command-processing/command-processor.d.ts +0 -37
  75. package/dist/util/command-processing/command-validation.d.ts +0 -17
  76. package/dist/util/command-processing/nested-command-parser.d.ts +0 -25
  77. package/dist/util/command-processing/option-processor.d.ts +0 -44
  78. package/dist/util/data-processing/list-missing-arguments.d.ts +0 -15
  79. package/dist/util/data-processing/merge-arguments.d.ts +0 -7
  80. package/dist/util/general/find-alternatives.d.ts +0 -8
  81. package/dist/util/general/hide-bin.d.ts +0 -2
  82. package/dist/util/general/parse-raw-command.d.ts +0 -7
  83. package/dist/util/general/register-exception-handler.d.ts +0 -9
  84. package/dist/util/general/runtime-process.d.ts +0 -65
  85. package/dist/util/general/semver-gt.d.ts +0 -2
  86. package/dist/util/general/validate-input.d.ts +0 -24
  87. package/dist/util/process-env-variables.d.ts +0 -9
  88. package/dist/util/security.d.ts +0 -58
  89. package/dist/util/text-processing/template-format.d.ts +0 -5
@@ -1,10 +0,0 @@
1
- import CerebroError from "./cerebro-error.d.ts";
2
- /**
3
- * Error thrown when command validation fails.
4
- */
5
- declare class CommandValidationError extends CerebroError {
6
- readonly commandName: string;
7
- readonly missingOptions: string[];
8
- constructor(commandName: string, missingOptions: string[]);
9
- }
10
- export default CommandValidationError;
@@ -1,9 +0,0 @@
1
- import CerebroError from "./cerebro-error.d.ts";
2
- /**
3
- * Error thrown when completion command operations fail.
4
- */
5
- declare class CompletionError extends CerebroError {
6
- readonly troubleshooting: string[];
7
- constructor(message: string, code: string, troubleshooting?: string[]);
8
- }
9
- export default CompletionError;
@@ -1,10 +0,0 @@
1
- import CerebroError from "./cerebro-error.d.ts";
2
- /**
3
- * Error thrown when there are conflicting options.
4
- */
5
- declare class ConflictingOptionsError extends CerebroError {
6
- readonly option1: string;
7
- readonly option2: string;
8
- constructor(option1: string, option2: string);
9
- }
10
- export default ConflictingOptionsError;
@@ -1,9 +0,0 @@
1
- import CerebroError from "./cerebro-error.d.ts";
2
- /**
3
- * Error thrown when plugin operations fail.
4
- */
5
- declare class PluginError extends CerebroError {
6
- readonly pluginName: string;
7
- constructor(pluginName: string, message: string, originalError?: Error);
8
- }
9
- export default PluginError;
@@ -1,7 +0,0 @@
1
- import CerebroError from "./cerebro-error.d.ts";
2
- /**
3
- * Error thrown when update notifier operations fail.
4
- */
5
- export default class UpdateNotifierError extends CerebroError {
6
- constructor(message: string, code?: string, context?: Record<string, unknown>);
7
- }
@@ -1,4 +0,0 @@
1
- var It=Object.defineProperty;var $=(t,e)=>It(t,"name",{value:e,configurable:!0});import{createRequire as St}from"node:module";import{o as Vt,D as Tt}from"./help-command-CIRIXN03.js";import{VERBOSITY_DEBUG as W,POSITIONALS_KEY as te,VERBOSITY_QUIET as Rt,VERBOSITY_VERBOSE as Dt,VERBOSITY_NORMAL as Ne}from"./VERBOSITY_QUIET-XPultrIA.js";import{c as k}from"./cerebro-error-BnJTixb2.js";import{d as q,f as Ee,e as ie,o as xe,a as Bt,h as zt,i as Wt}from"./runtime-process-G-n-wOub.js";import{distance as Ft}from"fastest-levenshtein";const Ut=St(import.meta.url),Y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Mt=$(t=>{if(typeof Y<"u"&&Y.versions&&Y.versions.node){const[e,n]=Y.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return Y.getBuiltinModule(t)}return Ut(t)},"__cjs_getBuiltinModule"),{createRequire:qt}=Mt("node:module");var Gt=Object.defineProperty,Ht=$((t,e)=>Gt(t,"name",{value:e,configurable:!0}),"t$9");let D=class extends k{static{$(this,"a")}static{Ht(this,"CommandNotFoundError")}commandName;constructor(e,n=[]){const a=`Command "${e}" not found${n.length>0?`. Did you mean: ${n.join(", ")}?`:""}`;super(a,"COMMAND_NOT_FOUND",{commandName:e,suggestions:n}),this.name="CommandNotFoundError",this.commandName=e,n.length>0&&(this.hint=`Try one of these commands: ${n.join(", ")}`)}};var Kt=Object.defineProperty,Yt=$((t,e)=>Kt(t,"name",{value:e,configurable:!0}),"e$6");let Qe=class extends k{static{$(this,"o")}static{Yt(this,"ConflictingOptionsError")}option1;option2;constructor(e,n){super(`Options "${e}" and "${n}" cannot be used together`,"CONFLICTING_OPTIONS",{option1:e,option2:n}),this.name="ConflictingOptionsError",this.option1=e,this.option2=n,this.hint=`Remove either --${e} or --${n}`}};var Jt=Object.defineProperty,Qt=$((t,e)=>Jt(t,"name",{value:e,configurable:!0}),"e$5");let Zt=class extends k{static{$(this,"o")}static{Qt(this,"PluginError")}pluginName;constructor(e,n,a){super(`Plugin "${e}" error: ${n}`,"PLUGIN_ERROR",{originalError:a,pluginName:e}),this.name="PluginError",this.pluginName=e,a&&(this.cause=a)}};var Xt=Object.defineProperty,je=$((t,e)=>Xt(t,"name",{value:e,configurable:!0}),"d$6");let en=class{static{$(this,"p")}static{je(this,"PluginManager")}logger;plugins=new Map;initialized=!1;cachedDependencyOrder=void 0;constructor(e){this.logger=e}hasPlugins(){return this.plugins.size>0}register(e){if(this.initialized)throw new Error(`Cannot register plugin "${e.name}" after initialization`);if(this.plugins.has(e.name))throw new Error(`Plugin "${e.name}" is already registered`);q().CEREBRO_OUTPUT_LEVEL===String(W)&&this.logger.debug(`registering plugin: ${e.name}`),this.plugins.set(e.name,e),this.cachedDependencyOrder=void 0}async init(e){if(this.initialized)throw new Error("PluginManager already initialized");if(this.plugins.size===0){this.logger.debug("no plugins registered, skipping initialization"),this.initialized=!0;return}this.validateDependencies();const n=this.getDependencyOrder();this.logger.debug(`initializing ${n.length} plugin(s)...`);for(const a of n)if(typeof a.init=="function"){this.logger.debug(`initializing plugin: ${a.name}`);try{await a.init(e)}catch(o){const i=new Zt(a.name,`Failed to initialize: ${o instanceof Error?o.message:String(o)}`,o instanceof Error?o:void 0);throw this.logger.error(i.message),i}}this.initialized=!0}async executeLifecycle(e,n,a){if(!this.initialized)throw new Error("PluginManager not initialized");if(this.plugins.size===0)return;const o=this.getDependencyOrder();for(const i of o){const u=i[e];if(typeof u=="function"){this.logger.debug(`executing ${e} hook for plugin: ${i.name}`);try{await(e==="afterCommand"?u(n,a):u(n))}catch(s){throw this.logger.error(`Error in ${e} hook for plugin "${i.name}":`,s),s}}}}async executeErrorHandlers(e,n){if(!this.initialized||this.plugins.size===0)return;const a=this.getDependencyOrder();for(const o of a)if(typeof o.onError=="function"){this.logger.debug(`executing error handler for plugin: ${o.name}`);try{await o.onError(e,n)}catch(i){this.logger.error(`Error in error handler for plugin "${o.name}":`,i)}}}getDependencyOrder(){if(this.cachedDependencyOrder!==void 0)return this.cachedDependencyOrder;const e=[],n=new Set,a=new Set,o=je(i=>{if(n.has(i))return;if(a.has(i))throw new Error(`Circular dependency detected involving plugin "${i}"`);const u=this.plugins.get(i);if(!u)throw new Error(`Plugin "${i}" not found`);if(a.add(i),u.dependencies)for(const s of u.dependencies)o(s);a.delete(i),n.add(i),e.push(u)},"visit");for(const i of this.plugins.keys())o(i);return this.cachedDependencyOrder=e,e}validateDependencies(){for(const e of this.plugins.values())if(e.dependencies){for(const n of e.dependencies)if(!this.plugins.has(n))throw new Error(`Plugin "${e.name}" depends on "${n}" which is not registered`)}}};var tn=Object.defineProperty,nn=$((t,e)=>tn(t,"name",{value:e,configurable:!0}),"n$b");const X=nn(t=>t.type?.name==="Boolean","optionIsBoolean");var an=Object.defineProperty,Ze=$((t,e)=>an(t,"name",{value:e,configurable:!0}),"p$b");const rn=Ze(t=>{let e=t.type?t.type.name.toLowerCase():"string";const n=t.multiple??t.lazyMultiple?"[]":"";return e&&(e=e==="boolean"?"":`{underline ${e}${n}}`),e},"getTypeLabel"),on=Ze(t=>(X(t)||(t.typeLabel=t.typeLabel??rn(t),t.defaultOption&&(t.typeLabel=`${t.typeLabel} (D)`),t.required&&(t.typeLabel=`${t.typeLabel} (R)`)),t),"mapOptionTypeLabel");var sn=Object.defineProperty,Xe=$((t,e)=>sn(t,"name",{value:e,configurable:!0}),"e$3");const ln=new RegExp(/^-([^\d-])$/),cn=new RegExp(/^--(\S+)/),un=new RegExp(/^-([^\d-]{2,})$/),pn=Xe(t=>ln.test(t)||cn.test(t)||un.test(t),"isOption"),fn=Xe((t,e)=>{const n=e[0]&&pn(e[0])||e.length===0?null:e.shift()??null;if(!t.includes(n)){const a=new Error(`Command not recognised: ${n}`);throw a.command=n,a.name="INVALID_COMMAND",a}return{argv:e,command:n}},"commandLineCommands");var hn=Object.defineProperty,et=$((t,e)=>hn(t,"name",{value:e,configurable:!0}),"i$a"),dn=Object.defineProperty,tt=et((t,e)=>dn(t,"name",{value:e,configurable:!0}),"i"),mn=Object.defineProperty,nt=tt((t,e)=>mn(t,"name",{value:e,configurable:!0}),"s"),gn=Object.defineProperty,it=nt((t,e)=>gn(t,"name",{value:e,configurable:!0}),"i"),vn=Object.defineProperty,at=it((t,e)=>vn(t,"name",{value:e,configurable:!0}),"t");at(t=>t instanceof Error&&t.type==="VisulimaError","isVisulimaError");class re extends Error{static{$(this,"v")}static{et(this,"g")}static{tt(this,"p")}static{nt(this,"V")}static{it(this,"VisulimaError")}static{at(this,"VisulimaError")}loc;title;hint;type="VisulimaError";constructor({cause:e,hint:n,location:a,message:o,name:i,stack:u,title:s}){super(o,{cause:e}),this.title=s,this.name=i,this.stack=u??this.stack,this.loc=a,this.hint=n}setLocation(e){this.loc=e}setName(e){this.name=e}setMessage(e){this.message=e}setHint(e){this.hint=e}}var yn=Object.defineProperty,rt=$((t,e)=>yn(t,"name",{value:e,configurable:!0}),"o$b"),wn=Object.defineProperty,ot=rt((t,e)=>wn(t,"name",{value:e,configurable:!0}),"o"),bn=Object.defineProperty,$n=ot((t,e)=>bn(t,"name",{value:e,configurable:!0}),"i");let On=class st extends re{static{$(this,"a")}static{rt(this,"a")}static{ot(this,"t")}static{$n(this,"AlreadySetError")}optionName;constructor(e){super({cause:void 0,hint:`Remove the duplicate option '${e}' from your command line arguments.`,location:void 0,message:`Option '${e}' is already set`,name:"ALREADY_SET",stack:void 0,title:"Option Already Set"}),this.optionName=e,Object.setPrototypeOf(this,st.prototype)}};var En=Object.defineProperty,lt=$((t,e)=>En(t,"name",{value:e,configurable:!0}),"t$7"),An=Object.defineProperty,ct=lt((t,e)=>An(t,"name",{value:e,configurable:!0}),"e"),Pn=Object.defineProperty,Cn=ct((t,e)=>Pn(t,"name",{value:e,configurable:!0}),"e");let _e=class ut extends re{static{$(this,"n")}static{lt(this,"n")}static{ct(this,"o")}static{Cn(this,"UnknownOptionError")}optionName;constructor(e){super({cause:void 0,hint:`Check your option definitions or remove the unknown option '${e}' from your command line arguments.`,location:void 0,message:`Unknown option: --${e}`,name:"UNKNOWN_OPTION",stack:void 0,title:"Unknown Option"}),this.optionName=`--${e}`,Object.setPrototypeOf(this,ut.prototype)}};var kn=Object.defineProperty,pt=$((t,e)=>kn(t,"name",{value:e,configurable:!0}),"a$6"),Nn=Object.defineProperty,ft=pt((t,e)=>Nn(t,"name",{value:e,configurable:!0}),"a"),xn=Object.defineProperty,jn=ft((t,e)=>xn(t,"name",{value:e,configurable:!0}),"o");let _n=class ht extends re{static{$(this,"n")}static{pt(this,"o")}static{ft(this,"e")}static{jn(this,"UnknownValueError")}value;constructor(e){super({hint:"Use a defined option or add a defaultOption to capture this value.",message:`Unknown value: ${e}`,name:"UNKNOWN_VALUE",title:"Unknown Value"}),this.value=e,Object.setPrototypeOf(this,ht.prototype)}};var Ln=Object.defineProperty,dt=$((t,e)=>Ln(t,"name",{value:e,configurable:!0}),"i$7"),In=Object.defineProperty,mt=dt((t,e)=>In(t,"name",{value:e,configurable:!0}),"i"),Sn=Object.defineProperty,Un=mt((t,e)=>Sn(t,"name",{value:e,configurable:!0}),"i");let j=class gt extends re{static{$(this,"a")}static{dt(this,"o")}static{mt(this,"e")}static{Un(this,"InvalidDefinitionsError")}constructor(e,n){super({cause:void 0,hint:n,location:void 0,message:e,name:"INVALID_DEFINITIONS",stack:void 0,title:"Invalid Option Definition"}),Object.setPrototypeOf(this,gt.prototype)}};var Mn=Object.defineProperty,Vn=$((t,e)=>Mn(t,"name",{value:e,configurable:!0}),"T$1"),Tn=Object.defineProperty,H=Vn((t,e)=>Tn(t,"name",{value:e,configurable:!0}),"P"),Rn=Object.defineProperty,oe=H((t,e)=>Rn(t,"name",{value:e,configurable:!0}),"o");const Le=oe(t=>t===Boolean||typeof t=="function"&&t.name?.startsWith("Boolean"),"isBooleanType"),Ie=oe(t=>t===Number||typeof t=="function"&&t.name==="Number","isNumberType"),Se=oe(t=>t===String||typeof t=="function"&&t.name==="String","isStringType"),Dn=oe((t,e)=>Array.isArray(t)?Le(e)?t.map(Boolean):Ie(e)?t.map(Number):Se(e)?t.map(String):t.map(n=>e(String(n))):t===null?null:Le(e)?!!t:Ie(e)?Number(t):Se(e)?String(t):e(String(t)),"convertValue");var Bn=Object.defineProperty,zn=H((t,e)=>Bn(t,"name",{value:e,configurable:!0}),"e");const x=zn((t,e,n,...a)=>{t&&console.debug(`[command-line-args:${n}] ${e}`,...a)},"debug");var Wn=Object.defineProperty,T=H((t,e)=>Wn(t,"name",{value:e,configurable:!0}),"A");const Fn=/-([a-z])/g,me=T(t=>t===Boolean||typeof t=="function"&&t.name?.startsWith("Boolean"),"isBooleanType"),qn=T(t=>t.codePointAt(0)===95,"isSpecialKey"),Ue=T((t,e)=>Array.isArray(t)?[...t,...e]:[t,...e],"appendToArrayMultiple"),Me=T(t=>t==="__proto__"||t==="constructor"||t==="prototype","isUnsafeKey"),Ve=T((t,e,n,a=!1)=>{t[e]===void 0?t[e]=a?[n]:n:a&&Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]},"createOrAppendArray"),Gn=T((t,e,n,a,o)=>{let i=e.get(t)||n.get(t);if(!i&&a){const u=t.toLowerCase();i=a.get(u)||o?.get(u)}return i},"getDefinition"),Hn=T((t,e,n,a)=>{const o=n.debug||!1;x(o,"resolveArgs called with options:","resolver",{partial:n.partial,stopAtFirstUnknown:n.stopAtFirstUnknown}),x(o,"Starting argument resolution","resolver"),x(o,"Tokens:","resolver",t),x(o,"Definitions:","resolver",e),x(o,"Processing tokens...","resolver");const i=new Map,u=new Map,s=n.caseInsensitive?new Map:void 0,g=n.caseInsensitive?new Map:void 0,r=n.camelCase?new Map:void 0,p=n.camelCase?new Map:void 0;for(const f of e)if(i.set(f.name,f),f.alias&&u.set(f.alias,f),n.caseInsensitive&&s&&(s.set(f.name.toLowerCase(),f),f.alias&&g&&g.set(f.alias.toLowerCase(),f)),n.camelCase&&r&&p){const m=f.name.replaceAll(Fn,(v,y)=>y.toUpperCase());r.set(f.name,m),p.set(m,f.name)}const c={},l={},d=[],h=new Set;let O=!1;const b=e.find(f=>f.defaultOption),w=e.some(f=>f.group),P=e.some(f=>f.type===Number);for(let f=0;f<t.length;f++){const m=t[f];if(m.kind==="option-terminator"){c._unknown=a.slice(m.index),O=!0;break}if(m.kind==="option"&&m.name){let v=Gn(m.name,i,u,s,g);if(!v&&m.value===void 0&&P&&/^\d+$/.test(m.name)){const A=e.find(I=>I.type===Number);A&&(v=A,m.value=m.name,m.name=A.name)}const y=v?v.name:m.name,E=v&&v.multiple,N=v&&v.lazyMultiple;if(l[y]!==void 0&&!E&&!N&&!n.partial)throw new On(y);if(!v&&n.partial){const A=m.rawName||`--${m.name}${m.value!==void 0&&m.inlineValue?`=${m.value}`:""}`;d.push({index:m.index,value:A});continue}if(!v&&n.stopAtFirstUnknown){c._unknown=a.slice(m.index);break}if(!v&&!n.partial)throw new _e(m.name);if(m.value===void 0){const A=t[f+1],I=A&&A.kind==="option"&&!("name"in A)&&A.value!==void 0,L=A&&v&&!(v.type&&me(v.type))&&(A.kind==="positional"||I),Lt=v&&v.defaultOption&&!v.multiple&&!v.lazyMultiple;if(L&&(!v?.defaultOption||Lt))if(E){let S=f+1;const de=[];for(;S<t.length&&(t[S].kind==="positional"||t[S].kind==="option"&&!("name"in t[S])&&t[S].value!==void 0);)de.push(t[S].value),h.add(t[S].index),S++;l[y]=l[y]===void 0?de:Ue(l[y],de),f=S-1}else N?(Ve(l,y,A.value,!0),h.add(A.index),f++):(l[y]=A.value,h.add(A.index),f++);else v&&v.type&&me(v.type)?Ve(l,y,!0,E):l[y]=E?[]:null}else{let{value:A}=m;if(v&&v.type&&me(v.type))switch(A){case"":{if(n.partial)l._unknown||(l._unknown=[]),l._unknown.push(`${m.rawName||`--${m.name}`}${m.value?`=${m.value}`:""}`),A=!0;else throw new _e(m.name);break}case"false":{A=!1;break}case"true":{A=!0;break}default:A=!0}const I=A===void 0?[]:[A];if(E){let L=f+1;for(;L<t.length&&t[L].kind==="positional";)I.push(t[L].value),h.add(t[L].index),L++;f=L-1}l[y]===void 0?l[y]=E||N?I:A:E||N?l[y]=Ue(l[y],I):l[y]=A}}else if(m.kind==="positional"&&n.stopAtFirstUnknown&&!h.has(m.index)){x(o,`Found unconsumed positional token at index ${m.index}, stopping processing`,"resolver"),c._unknown=a.slice(m.index);break}}for(const[f,m]of Object.entries(l)){const v=i.get(f);v&&(v.multiple||v.lazyMultiple)&&!Array.isArray(m)&&(l[f]=[m])}if(b){const f=[],m=[];for(const v of t)v.kind==="positional"&&!h.has(v.index)&&(f.push(v.value),m.push(v));if(f.length>0){const v=l[b.name],y=b.multiple||b.lazyMultiple;v===void 0?y?(m.forEach(E=>h.add(E.index)),l[b.name]=f):(h.add(m[0].index),l[b.name]=f[0]):y&&(m.forEach(E=>h.add(E.index)),l[b.name]=Array.isArray(v)?[...f,...v]:[...f,v])}}if(!n.partial){for(const f of t)if(f.kind==="positional"&&!h.has(f.index))throw new _n(a[f.index])}if(n.partial&&!n.stopAtFirstUnknown){const f=[...d];if(l._unknown){const m=new Map;for(const[v,y]of a.entries())m.set(y,v);for(const v of l._unknown){const y=m.get(v);y!==void 0&&f.push({index:y,value:v})}}for(const m of t)m.kind==="positional"&&!h.has(m.index)&&f.push({index:m.index,value:a[m.index]});f.length>0&&(f.sort((m,v)=>m.index-v.index),c._unknown=f.map(m=>m.value))}if(n.stopAtFirstUnknown&&!O){const f=t.findIndex(y=>y.kind==="option"&&!i.has(y.name||"")&&!u.has(y.name||"")&&(!n.caseInsensitive||!s?.has(y.name?.toLowerCase()||"")&&!g?.has(y.name?.toLowerCase()||""))),m=t.findIndex(y=>y.kind==="positional"&&!h.has(y.index));let v=-1;if(f!==-1&&m!==-1?v=Math.min(f,m):f!==-1?v=f:m!==-1&&(v=m),v>=0){const y=t[v].index;c._unknown=a.slice(y)}}else d.length>0&&!n.partial&&(c._unknown=d.map(f=>f.value));for(const[f,m]of Object.entries(l)){const v=n.camelCase&&r?.get(f)||f,y=i.get(f);c[v]=y&&y.type?Dn(m,y.type):m===void 0?null:m}for(const f of e){const m=n.camelCase&&r?.get(f.name)||f.name;!(m in c)&&f.defaultValue!==void 0&&(f.multiple||f.lazyMultiple?c[m]=Array.isArray(f.defaultValue)?[...f.defaultValue]:[f.defaultValue]:c[m]=f.defaultValue)}if(w){const f={},m={},v={};for(const E of e)if(E.group){const N=Array.isArray(E.group)?E.group:[E.group];for(const A of N)Me(A)||f[A]||(f[A]={})}for(const E of Object.keys(c))if(!qn(E)){m[E]=c[E];let N=E;n.camelCase&&(N=p?.get(E)||E);const A=i.get(N);if(A&&A.group){const I=Array.isArray(A.group)?A.group:[A.group];for(const L of I)Me(L)||f[L]&&(f[L][E]=c[E])}else v[E]=c[E]}const y={_all:m};for(const[E,N]of Object.entries(f))y[E]=N;Object.keys(v).length>0&&(y._none=v),c._unknown&&(y._unknown=c._unknown),Object.keys(c).forEach(E=>delete c[E]),Object.assign(c,y)}return x(o,"Final parsed result:","resolver",c),c},"resolveArgs");var Kn=Object.defineProperty,R=H((t,e)=>Kn(t,"name",{value:e,configurable:!0}),"l");const V="-".codePointAt(0),M="=",Yn=M.codePointAt(0),Jn="--",Qn="-",Zn="--",vt=R(t=>t.length>2&&t.startsWith(Zn),"hasLongOptionPrefix"),Xn=R(t=>vt(t)&&!t.includes(M,3),"isLongOption"),ei=R(t=>vt(t)&&t.includes(M,3),"isLongOptionAndValue"),ti=R(t=>t!==void 0&&t.length>0&&t.codePointAt(0)!==V,"hasOptionValue"),ni=R(t=>{if(t.length!==2||t.codePointAt(0)!==V||t.codePointAt(1)===V)return!1;const e=t.codePointAt(1);return e!==void 0&&(e<48||e>57)},"isShortOption"),ii=R(t=>!(t.length<=2||t.codePointAt(0)!==V||t.codePointAt(1)===V),"isShortOptionGroup"),ai=R(t=>{const e=[],n=[...t];let a=-1,o=0;for(;n.length>0;){const i=n.shift();if(i===void 0)break;const u=n[0];if(o>0?o--:a++,i===Jn){e.push({index:a,kind:"option-terminator"});const s=n.map((g,r)=>({index:a+r+1,kind:"positional",value:g}));e.push(...s),a+=n.length;break}if(ni(i)){const s=i.charAt(1);let g,r;o?(e.push({index:a,inlineValue:r,kind:"option",name:s,rawName:i,value:g}),o===1&&ti(u)&&(g=n.shift(),e.push({index:a,inlineValue:r,kind:"option",value:g}))):e.push({index:a,inlineValue:r,kind:"option",name:s,rawName:i,value:g}),g!==void 0&&++a;continue}if(ii(i)&&!i.includes(M)){const s=[];let g="",r=!1;for(let p=1;p<i.length;p++){const c=i.charAt(p);r?g+=c:c.codePointAt(0)===Yn?r=!0:s.push(`${Qn}${c}`)}if(r)if(s.length>0){const p=s.pop();s.push(`${p}=${g}`)}else s.push(g);n.unshift(...s),o=s.length;continue}if(Xn(i)){const s=i.slice(2);e.push({index:a,kind:"option",name:s,rawName:i});continue}if(ei(i)){const s=i.indexOf(M),g=i.slice(2,s),r=i.slice(s+1);e.push({index:a,inlineValue:!0,kind:"option",name:g,rawName:i,value:r});continue}if(i.length>2&&i.codePointAt(0)===V&&i.codePointAt(1)!==V&&i.includes(M)){const s=i.indexOf(M),g=i.charAt(1),r=i.slice(s+1);e.push({index:a,inlineValue:!0,kind:"option",name:g,rawName:i,value:r});continue}e.push({index:a,kind:"positional",value:i})}return e},"parseArgsTokens");var ri=Object.defineProperty,Pe=H((t,e)=>ri(t,"name",{value:e,configurable:!0}),"d");const oi=Pe(t=>t&&(t===Boolean||typeof t=="function"&&t.name?.startsWith("Boolean")),"isBooleanType"),si=Pe(t=>typeof t=="function","isValidCustomTypeFunction"),li=Pe((t,e,n)=>{const a=n?.debug||!1;x(a,"Validating definitions:","validation",t,"caseInsensitive:",e);const o=new Set,i=new Set,u=new Set,s=new Set;let g=0;for(const r of t){if(x(a,"Checking definition:","validation",r),!r.name)throw x(a,"Validation failed: name is required","validation"),new j("Invalid option definition: name is required");if(typeof r.name!="string")throw new j("Invalid option definition: name must be a string");if(r.name.trim()==="")throw new j("Invalid option definition: name cannot be empty");const p=e?r.name.toLowerCase():"";if(o.has(r.name)||e&&u.has(p))throw new j(`Invalid option definition: duplicate name '${r.name}'`);if(i.has(r.name)||e&&s.has(p))throw new j(`Invalid option definition: name '${r.name}' conflicts with an existing alias`);if(o.add(r.name),e&&u.add(p),r.alias!==void 0){if(typeof r.alias!="string")throw new j("Invalid option definition: alias must be a string");if(r.alias.length!==1)throw new j("Invalid option definition: alias must be a single character");if(/\d/.test(r.alias))throw new j("Invalid option definition: alias cannot be numeric");if(r.alias==="-")throw new j('Invalid option definition: alias cannot be "-"');const c=e?r.alias.toLowerCase():"";if(i.has(r.alias)||e&&s.has(c))throw new j(`Invalid option definition: duplicate alias '${r.alias}'`);if(o.has(r.alias)||e&&u.has(c))throw new j(`Invalid option definition: alias '${r.alias}' conflicts with an existing option name`);i.add(r.alias),e&&s.add(c)}if(r.defaultOption&&(g++,r.type!==void 0&&oi(r.type)))throw new j("Invalid option definition: defaultOption cannot be Boolean type");if(r.type!==void 0&&!(r.type===Boolean||r.type===Number||r.type===String||typeof r.type=="function"&&si(r.type)))throw new j("Invalid option definition: invalid type")}if(g>1)throw x(a,"Validation failed: multiple defaultOptions not allowed","validation"),new j("Invalid option definition: multiple defaultOptions not allowed");x(a,"Validation completed successfully","validation")},"validateDefinitions");var ci=Object.defineProperty,ui=H((t,e)=>ci(t,"name",{value:e,configurable:!0}),"O");const pi=ui((t,e={})=>{const n=e.debug||!1;x(n,"Starting command-line-args parsing","index"),x(n,"Options:","index",e);const a={...e};a.stopAtFirstUnknown&&(a.partial=!0);const o=Array.isArray(t)?t:[t];x(n,"Normalized definitions:","index",o),li(o,a.caseInsensitive,n?a:void 0);let{argv:i}=a;if(!i&&(i=process.argv.slice(2),process.execArgv?.length)){const r=new Set(process.execArgv);i=i.filter(p=>!r.has(p))}x(n,"Using argv:","index",i);let u=i;a.caseInsensitive&&i&&(u=i.map(r=>{if(r.startsWith("--")){const p=r.indexOf("="),c=(p===-1?r.slice(2):r.slice(2,p)).toLowerCase();return p===-1?`--${c}`:`--${c}${r.slice(p)}`}if(r.startsWith("-")&&!r.startsWith("--")&&r.length>1){const p=r.slice(1).split("=",2),c=p[0],l=p[1];if(!c)return r;const d=c.toLowerCase();return l===void 0?`-${d}`:`-${d}=${l}`}return r}));const s=ai((u??i??[]).map(String));x(n,"Tokenized arguments:","index",s);const g=Hn(s,o,a,i??[]);return x(n,"Command-line-args parsing completed","index"),g},"commandLineArgs");var fi=Object.defineProperty,hi=$((t,e)=>fi(t,"name",{value:e,configurable:!0}),"m$6");let di=class{static{$(this,"a")}static{hi(this,"EmptyToolbox")}result;argv;options;argument;command;commandName;env;logger;runtime;constructor(e,n){this.commandName=e,this.command=n}};var mi=Object.defineProperty,gi=$((t,e)=>mi(t,"name",{value:e,configurable:!0}),"f$4");const vi=/^-{1,2}(\w+)(=(.+))?$/,yt=gi((t,e,n,a)=>{const o=vi.exec(t);if(o==null)return{};const i=o[1];if(!i)return{};const u=n&&a?n.get(i)??a.get(i):e.find(s=>s.name===i||s.alias===i);return u!==void 0?{argName:u.name,argValue:o[3],option:u}:{}},"getParameterOption");var yi=Object.defineProperty,Ae=$((t,e)=>yi(t,"name",{value:e,configurable:!0}),"e$2");const Te=Ae((t,e)=>{if(e.type===void 0)return t;if(e.type.name==="Boolean"){if(t==="true"||t==="1")return e.type(!0);if(t==="false"||t==="0")return e.type(!1)}return e.type(t)},"convertType"),wi=new Set(["0","1","false","true"]),bi=Ae((t,e,n,a)=>{if(e.length===0||t.length===0)return{};const o=Ae((i,u)=>{const{argName:s,argValue:g,option:r}=yt(u,e,n,a),{lastOption:p}=i;return r&&X(r)&&g&&s?i.partial[s]=Te(g,r):i.lastName&&p&&X(p)&&wi.has(u)&&(i.partial[i.lastName]=Te(u,p)),{lastName:s,lastOption:r,partial:i.partial}},"getBooleanValue");return t.reduce(o,{partial:{}}).partial},"getBooleanValues");var $i=Object.defineProperty,Re=$((t,e)=>$i(t,"name",{value:e,configurable:!0}),"s$8");const Oi=new Set(["0","1","false","true"]),Ei=Re((t,e,n,a)=>{if(e.length===0||t.length===0)return t;const o=Re((i,u)=>{const{argValue:s,option:g}=yt(u,e,n,a),{lastOption:r}=i;if(r&&X(r)&&Oi.has(u)){const{args:p}=i;return{args:p.slice(0,-1)}}return g&&X(g)&&s?{args:i.args}:{args:[...i.args,u],lastOption:g}},"removeBooleanArguments");return t.reduce(o,{args:[]}).args},"removeBooleanValues");var Ai=Object.defineProperty,Pi=$((t,e)=>Ai(t,"name",{value:e,configurable:!0}),"o$8");const De=Pi(t=>{const e=new Map;for(const n of t){const a=e.get(n.name);a?e.set(n.name,{...a,...n}):e.set(n.name,n)}return[...e.values()]},"mergeArguments");var Ci=Object.defineProperty,se=$((t,e)=>Ci(t,"name",{value:e,configurable:!0}),"o$7");const ki=se(t=>{if(t===void 0)return;const e=t.toLowerCase().trim();return e==="true"||e==="1"||e==="yes"||e==="on"},"transformBooleanEnv"),Ni=se((t,e)=>{if(!t.type)return e;if(e!==void 0){if(t.type===Boolean||typeof t.type=="function"&&t.type.name==="Boolean")return ki(e);if(t.type===Number||typeof t.type=="function"&&t.type.name==="Number"){const n=Number.parseFloat(e);return Number.isNaN(n)?void 0:n}return t.type===String||typeof t.type=="function"&&t.type.name==="String"?e:t.type(e)}},"transformEnvValue"),xi=se(t=>t.toLowerCase().replaceAll(/_./g,e=>e[1]?.toUpperCase()??e).replace(/^[A-Z]/,e=>e.toLowerCase()),"toCamelCase"),ji=se(t=>{if(!t||t.length===0)return{};const e={},n=q();for(const a of t){const o=n[a.name],i=Ni(a,o),u=i===void 0?a.defaultValue:i,s=xi(a.name);e[s]=u}return e},"processEnvVariables");var _i=Object.defineProperty,le=$((t,e)=>_i(t,"name",{value:e,configurable:!0}),"l$a");const Li=le(t=>{const e=new Map,n=new Map;for(const a of t)if(e.set(a.name,a),a.alias){const o=Array.isArray(a.alias)?a.alias:[a.alias];for(const i of o)n.set(i,a)}return{optionMapByAlias:n,optionMapByName:e}},"buildOptionMaps"),Ii=le((t,e,n,a)=>{const o=new di(t.name,t),{_all:i,positionals:u}=e,s=Object.keys(n).length>0?{...i,...n}:i;te in s&&delete s[te],o.argument=u?.[te]??[];const g=Object.keys(a).length>0;return o.options=g?{...s,...a}:s,o.env=ji(t.env),o},"prepareToolbox"),Si=le((t,e,n)=>{const a=t.options??[],o=a.length>0;let i=De(o?[...a,...n]:n);if(i.length>0){for(const r of i)if(r.multiple&&r.lazyMultiple)throw new Error(`Argument "${r.name}" cannot have both multiple and lazyMultiple options, please choose one.`)}t.argument&&(i=[{defaultOption:!0,description:t.argument?.description,group:"positionals",multiple:!0,name:te,type:t.argument?.type,typeLabel:t.argument?.typeLabel},...i]);let u,s;if(o){const{optionMapByAlias:r,optionMapByName:p}=Li(a);u=Ei(e,a,p,r),s=bi(e,a,p,r)}else u=e,s={};const g=pi(i,{argv:u,camelCase:!0,partial:!0,stopAtFirstUnknown:!0});return{arguments_:i,booleanValues:s,parsedArgs:g}},"processCommandArgs"),B=le(async(t,e,n)=>await t.execute(e),"executeCommand");var Ui=Object.defineProperty,Mi=$((t,e)=>Ui(t,"name",{value:e,configurable:!0}),"n$6");let Vi=class extends k{static{$(this,"s")}static{Mi(this,"CommandValidationError")}commandName;missingOptions;constructor(e,n){super(`Command "${e}" is missing required options: ${n.join(", ")}`,"COMMAND_VALIDATION_ERROR",{commandName:e,missingOptions:n}),this.name="CommandValidationError",this.commandName=e,this.missingOptions=n,this.hint=`Provide the following required options: ${n.join(", ")}`}};var Ti=Object.defineProperty,Ri=$((t,e)=>Ti(t,"name",{value:e,configurable:!0}),"t$5");const Be=Ri((t,e,n=!1)=>{const a=[];for(const o of t)if(!(!n&&!o.required)&&e[o.name]===void 0){if(o.type?.name==="Boolean"){e[o.name]=!1;continue}a.push(o)}return a},"listMissingArguments");var Di=Object.defineProperty,wt=$((t,e)=>Di(t,"name",{value:e,configurable:!0}),"n$5");const Bi=wt((t,e)=>e.includes(t)?!0:Math.abs(t.length-e.length)>t.length/2?!1:Ft(t,e)<=t.length/3,"isSimilar"),F=wt((t,e)=>{const n=t.toLowerCase();return e.filter(a=>Bi(a.toLowerCase(),n))},"findAlternatives");var zi=Object.defineProperty,ce=$((t,e)=>zi(t,"name",{value:e,configurable:!0}),"a$2");const Wi=ce((t,e)=>{const n=[];if(t._unknown&&t._unknown.forEach(a=>{const o=a.startsWith("--");let i=`Found unknown ${o?"option":"argument"} "${a}"`;if(o){const u=F(a.replace("--",""),(e.options??[]).map(s=>s.name));if(u.length>0){const[s,...g]=u.map(r=>`--${r}`);i+=g.length>0?`, did you mean ${s} or ${g.join(", ")}?`:`, did you mean ${s}?`}}n.push(i)}),n.length>0)throw new Error(n.join(`
2
- `))},"validateUnknownOptions"),Fi=ce((t,e,n)=>{const a=n.__requiredOptions__?Be(n.__requiredOptions__,e,!0):Be(t,e,!1);if(a.length>0)throw new Vi(n.name,a.map(o=>o.name));e._unknown&&e._unknown.length>0&&!n.argument&&Wi(e,n)},"validateRequiredOptions"),qi=ce((t,e,n)=>{const a=n.__conflictingOptions__??t.filter(o=>o.conflicts!==void 0);if(a.length>0){const o=a.find(i=>Array.isArray(i.conflicts)?i.conflicts.some(u=>e[u]!==void 0)&&e[i.name]!==void 0:e[i.conflicts]!==void 0&&e[i.name]!==void 0);if(o)throw new Qe(o.name,typeof o.conflicts=="string"?o.conflicts:o.conflicts?.[0]??"unknown")}},"validateConflictingOptions"),Gi=ce(t=>{if(!Array.isArray(t.options))return;const e=new Map,n=new Map;for(const o of t.options){if(o.name){const i=e.get(o.name)??[];i.push(o),e.set(o.name,i)}if(typeof o.alias=="string"&&o.alias.length>0){const i=n.get(o.alias)??[];i.push(o),n.set(o.alias,i)}else if(Array.isArray(o.alias)){for(const i of o.alias)if(i.length>0){const u=n.get(i)??[];u.push(o),n.set(i,u)}}}const a=[];for(const[o,i]of e)i.length>1&&a.push(`Duplicate option name "${o}" in command "${t.name}": ${JSON.stringify(i)}`);for(const[o,i]of n)i.length>1&&a.push(`Duplicate option alias "-${o}" used by options ${i.map(u=>`"${u.name}"`).join(", ")} in command "${t.name}"`);if(a.length>0)throw new Error(a.join(`
3
- `))},"validateDuplicateOptions");var Hi=Object.defineProperty,Ce=$((t,e)=>Hi(t,"name",{value:e,configurable:!0}),"r$7");const Ki=Ce((t,e)=>{if(e.length===0)return{argv:[],commandPath:void 0};const n=[];for(let a=1;a<=e.length;a+=1){const o=e[a-1];if(o===void 0)break;n.push(o);const i=n.join(" ");if(t.has(i))return{argv:e.slice(a),commandPath:[...n]}}return{argv:e,commandPath:void 0}},"parseNestedCommand"),J=Ce(t=>t.join(" "),"getCommandPathKey"),Yi=Ce((t,e)=>e&&e.length>0?[...e,t]:[t],"getFullCommandPath");var Ji=Object.defineProperty,Qi=$((t,e)=>Ji(t,"name",{value:e,configurable:!0}),"p$4"),Zi=Object.defineProperty,bt=Qi((t,e)=>Zi(t,"name",{value:e,configurable:!0}),"e"),Xi=Object.defineProperty,ea=bt((t,e)=>Xi(t,"name",{value:e,configurable:!0}),"E");const $t=String.raw,ze=$t`\p{Emoji}(?:\p{EMod}|[\u{E0020}-\u{E007E}]+\u{E007F}|\uFE0F?\u20E3?)`,ta=ea(()=>new RegExp($t`\p{RI}{2}|(?![#*\d](?!\uFE0F?\u20E3))${ze}(?:\u200D${ze})*`,"gu"),"default");var na=Object.defineProperty,ia=bt((t,e)=>na(t,"name",{value:e,configurable:!0}),"p");Object.freeze(new Map([[0,0],[1,22],[2,22],[3,23],[4,24],[7,27],[8,28],[9,29],[30,39],[31,39],[32,39],[33,39],[34,39],[35,39],[36,39],[37,39],[40,49],[41,49],[42,49],[43,49],[44,49],[45,49],[46,49],[47,49],[90,39]]));const G=ta(),aa=/[-_./\s]+/g,Z=/(\u001B\[[0-9;]*[a-z])/i,We=new RegExp("\\p{Script=Arabic}","u"),ra=new RegExp("\\p{Script=Bengali}","u"),z=new RegExp("\\p{Script=Cyrillic}","u"),oa=new RegExp("\\p{Script=Devanagari}","u"),sa=new RegExp("\\p{Script=Ethiopic}","u"),ge=new RegExp("\\p{Script=Greek}","u"),la=new RegExp("\\p{Script=Greek}+|\\p{Script=Latin}+|[^\\p{Script=Greek}\\p{Script=Latin}]+","gu"),ca=new RegExp("\\p{Script=Gujarati}","u"),ua=new RegExp("\\p{Script=Gurmukhi}","u"),Fe=new RegExp("\\p{Script=Hangul}","u"),qe=new RegExp("\\p{Script=Hebrew}","u"),pa=new RegExp("\\p{Script=Hiragana}","u"),Ge=new RegExp("\\p{Script=Han}","u"),fa=new RegExp("\\p{Script=Kannada}","u"),ha=new RegExp("\\p{Script=Katakana}","u"),da=new RegExp("\\p{Script=Khmer}","u"),ma=new RegExp("\\p{Script=Lao}","u"),_=new RegExp("\\p{Script=Latin}","u"),ga=new RegExp("\\p{Script=Malayalam}","u"),va=new RegExp("\\p{Script=Myanmar}","u"),ya=new RegExp("\\p{Script=Oriya}","u"),wa=new RegExp("\\p{Script=Sinhala}","u"),ba=new RegExp("\\p{Script=Tamil}","u"),$a=new RegExp("\\p{Script=Telugu}","u"),Oa=new RegExp("\\p{Script=Thai}","u"),Ea=new RegExp("\\p{Script=Tibetan}","u"),He=/[\u02BB\u02BC\u0027]/u,Aa=ia(t=>t.replace(G,""),"stripEmoji");var Pa=Object.defineProperty,Ot=$((t,e)=>Pa(t,"name",{value:e,configurable:!0}),"i$6"),Ca=Object.defineProperty,Et=Ot((t,e)=>Ca(t,"name",{value:e,configurable:!0}),"r"),ka=Object.defineProperty,Na=Et((t,e)=>ka(t,"name",{value:e,configurable:!0}),"c");let At=class{static{$(this,"l")}static{Ot(this,"y")}static{Et(this,"s")}static{Na(this,"LRUCache")}capacity;cache;keyOrder;constructor(e){this.capacity=e,this.cache=new Map,this.keyOrder=[]}get(e){if(this.cache.has(e))return this.keyOrder=this.keyOrder.filter(n=>n!==e),this.keyOrder.push(e),this.cache.get(e)}has(e){return this.cache.has(e)}set(e,n){if(this.cache.has(e))this.keyOrder=this.keyOrder.filter(a=>a!==e);else if(this.cache.size>=this.capacity){const a=this.keyOrder.shift();a!==void 0&&this.cache.delete(a)}this.cache.set(e,n),this.keyOrder.push(e)}delete(e){this.cache.delete(e),this.keyOrder=this.keyOrder.filter(n=>n!==e)}clear(){this.cache.clear(),this.keyOrder=[]}size(){return this.cache.size}};var xa=Object.defineProperty,ja=$((t,e)=>xa(t,"name",{value:e,configurable:!0}),"r$5"),_a=Object.defineProperty,La=ja((t,e)=>_a(t,"name",{value:e,configurable:!0}),"a"),Ia=Object.defineProperty,Sa=La((t,e)=>Ia(t,"name",{value:e,configurable:!0}),"s");const Ua=Sa((t,e)=>typeof t!="string"||t===""?"":(e?.locale?t[0].toLocaleLowerCase(e.locale):t[0].toLowerCase())+t.slice(1),"lowerFirst");var Ma=Object.defineProperty,Va=$((t,e)=>Ma(t,"name",{value:e,configurable:!0}),"I"),Ta=Object.defineProperty,ue=Va((t,e)=>Ta(t,"name",{value:e,configurable:!0}),"j");const Ra=qt(import.meta.url),Q=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Da=ue(t=>{if(typeof Q<"u"&&Q.versions&&Q.versions.node){const[e,n]=Q.versions.node.split(".").map(Number);if(e>22||e===22&&n>=3||e===20&&n>=16)return Q.getBuiltinModule(t)}return Ra(t)},"__cjs_getBuiltinModule"),{stripVTControlCharacters:Ba}=Da("node:util");var za=Object.defineProperty,Wa=ue((t,e)=>za(t,"name",{value:e,configurable:!0}),"g");const ve=new At(1e3),Fa=Wa(t=>{const e=t.join("");if(ve.has(e))return ve.get(e);const n=t.map(o=>o.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`)).join("|"),a=new RegExp(n,"g");return ve.set(e,a),a},"getSeparatorsRegex");var qa=Object.defineProperty,Ga=ue((t,e)=>qa(t,"name",{value:e,configurable:!0}),"t");const Ha=Ga(t=>{const e=[];let n=0,a;for(G.lastIndex=0;(a=G.exec(t))!==null;)a.index>n&&e.push(t.slice(n,a.index)),e.push(a[0]),n=G.lastIndex;return n<t.length&&e.push(t.slice(n)),e.filter(Boolean)},"splitByEmoji");var Ka=Object.defineProperty,C=ue((t,e)=>Ka(t,"name",{value:e,configurable:!0}),"u");const Pt=new Uint8Array(128),Ct=new Uint8Array(128),kt=new Uint8Array(128);for(let t=0;t<128;t++)Pt[t]=t>=65&&t<=90?1:0,Ct[t]=t>=97&&t<=122?1:0,kt[t]=t>=48&&t<=57?1:0;const ye=C(t=>Pt[t],"isUpper"),Ke=C(t=>Ct[t],"isLower"),we=C(t=>kt[t],"isDigit"),U=C((t,e,n,a,o)=>{if(t.length===0)return[];let i=!1;for(const c of Object.values(e))if(c(t[0])){i=!0;break}if(!i&&!n)return[t];const u=[...t],s=[];let g=u[0],r="other";for(const[c,l]of Object.entries(e))if(l(u[0])){r=c;break}let p=n&&a?u[0]===u[0].toLocaleUpperCase(a):!1;for(let c=1;c<u.length;c++){const l=u[c];let d="other";for(const[b,w]of Object.entries(e))if(w(l)){d=b;break}const h=n&&a?l===l.toLocaleUpperCase(a):!1;let O=!1;o?O=o(r,d,p,h,l,c,u):(r!==d&&r!=="other"&&d!=="other"&&(O=!0),n&&d!=="other"&&!p&&h&&(O=!0)),O?(s.push(g),g=l):g+=l,r=d,n&&(p=h)}return g&&g.length>0&&s.push(g),s.length>0?s:[t]},"handleScriptTransitions"),Ya=C((t,e,n,a)=>{if(n.size===0)return e;for(const o of n)if(t.startsWith(o,e))return a.push(o),e+o.length;return e},"detectAndProcessAcronym"),Nt=C((t,e=new Set)=>{if(t.length===0)return[];if(t.toUpperCase()===t)return[t];let n=0;const a=[],o=t.length;for(let i=1;i<o;i++){const u=Ya(t,n,e,a);if(u!==n){n=u,i=n-1;continue}const s=t.codePointAt(i-1),g=t.codePointAt(i),r=s&&s<128&&ye(s),p=g&&g<128&&ye(g),c=s&&s<128&&Ke(s),l=s&&s<128&&we(s),d=g&&g<128&&we(g);if(c&&p){a.push(t.slice(n,i)),n=i;continue}if(l&&!d||!l&&d){a.push(t.slice(n,i)),n=i;continue}if(d&&!l){let h=!1,O=!1;if(i+1<o){const b=t.codePointAt(i+1);h=b&&b<128&&ye(b),O=b&&b<128&&we(b)}if(!O&&h){a.push(t.slice(n,i),t.slice(i,i+1)),n=i+1;continue}}if(i+1<o){const h=t.codePointAt(i+1),O=h&&h<128&&Ke(h);if(r&&p&&O){const b=t.slice(n,i+1);e.has(b)||(a.push(t.slice(n,i)),n=i)}}}return n<o&&a.push(t.slice(n)),a.filter(i=>i!=="")},"splitCamelCaseFast"),xt=C((t,e,n)=>{if(t.length===0)return[];const a=t===t.toLocaleUpperCase(e);if(e.startsWith("de")){if(!a&&t.replaceAll("ß","SS")===t.toLocaleUpperCase(e))return[t];const r=[...t],p=r.length,c=[];let l=r[0],d=r[0]===r[0].toLocaleUpperCase(e),h=d,O=d?0:-1;for(let b=1;b<p;b++){const w=r[b],P=w===w.toLocaleUpperCase(e);if(P===d)l+=w;else if(P)l&&l.length>0&&(c.push(l),l=w),h=!0,O=b;else{if(h&&b-O>1){const f=r[b-1],m=l.slice(0,-1);m&&m.length>0&&c.push(m),l=f+w}else l+=w;h=!1,O=-1}d=P}return l&&l.length>0&&c.push(l),c}if(e.startsWith("uk")||e.startsWith("ru")||e.startsWith("bg")||e.startsWith("sr")||e.startsWith("mk")||e.startsWith("be")){if(!z.test(t)&&!_.test(t))return[t];const r=[...t],p=r.length,c=[];let l=r[0];const d=r[0];let h;z.test(d)?h=1:_.test(d)?h=2:h=0;let O=d===d.toLocaleUpperCase(e);for(let w=1;w<p;w++){const P=r[w];let f;z.test(P)?f=1:_.test(P)?f=2:f=0;const m=P===P.toLocaleUpperCase(e);h!==f&&(h===1||h===2)&&(f===1||f===2)||f===h&&!O&&m?(c.push(l),l=P):l+=P,h=f,O=m}l&&l.length>0&&c.push(l);const b=[];for(let w=0;w<c.length;w++)w<c.length-1&&c[w].length===1&&_.test(c[w])&&z.test(c[w+1][0])?(b.push(c[w]+c[w+1]),w+=1):b.push(c[w]);return b}if(e.startsWith("el")){if(!ge.test(t)&&!_.test(t))return[t];const r=t.match(la)??[t],p=[];if(r.length===1){const c=r[0];if(!c||!ge.test(c[0])||c.length===1)return[c||t]}for(const c of r){if(!c)continue;if(!ge.test(c[0])||c.length===1){p.push(c);continue}const l=c.length;let d=c[0],h=c[0]===c[0].toLocaleUpperCase(e);for(let O=1;O<l;O++){const b=c[O],w=b===b.toLocaleUpperCase(e);!h&&w?(p.push(d),d=b):d+=b,h=w}d&&p.push(d)}return p}if(e.startsWith("ja")||e.startsWith("ko")){const r=e.startsWith("ja"),p=r?{hiragana:C(l=>pa.test(l),"hiragana"),kanji:C(l=>Ge.test(l),"kanji"),katakana:C(l=>ha.test(l),"katakana"),latin:C(l=>_.test(l),"latin")}:{hangul:C(l=>Fe.test(l),"hangul"),latin:C(l=>_.test(l),"latin")},c=new Set(["が","で","と","に","の","は","へ","も","や","を"]);if(r){const l=U(t,p,!1,e,(h,O)=>h==="hiragana"&&O==="katakana"||h==="katakana"&&O==="hiragana"||h==="hiragana"&&O==="latin"||h==="katakana"&&O==="latin"||h==="kanji"&&O==="latin"||h==="latin"&&(O==="hiragana"||O==="katakana"||O==="kanji")),d=[];for(const h of l)h.length===1&&c.has(h)&&d.length>0?d[d.length-1]+=h:d.push(h);return d.length>0?d:[t]}return U(t,p,!1,e,(l,d)=>l==="hangul"&&d==="latin"||l==="latin"&&d==="hangul")}if(e.startsWith("sl")){const r=[...t],p=r.length,c=[];let l=r[0],d=r[0]===r[0].toLocaleUpperCase(e);for(let h=1;h<p;h++){const O=r[h],b=O===O.toLocaleUpperCase(e),w=/[ČŠŽĐ]/i.test(O),P=h<p-1&&r[h+1]===r[h+1].toLocaleUpperCase(e);!d&&b||w&&P?(c.push(l),l=O,w&&P&&(c.push(l),l="")):l+=O,d=b}return l&&l.length>0&&c.push(l),c}if(e.startsWith("zh"))return U(t,{han:C(r=>Ge.test(r),"han"),latin:C(r=>_.test(r),"latin")},!1,e);if(["ar","fa","he","ur"].includes(e.split("-")[0])){const r=C(p=>qe.test(p)||We.test(p),"isRtlChar");return U(t,{latin:C(p=>_.test(p),"latin"),rtl:C(p=>r(p),"rtl")},!1,e)}if(["am","bn","gu","hi","km","kn","lo","ml","mr","ne","or","pa","si","ta","te","th"].includes(e.split("-")[0])){const r=C(p=>oa.test(p)||ra.test(p)||ca.test(p)||ua.test(p)||fa.test(p)||ba.test(p)||$a.test(p)||ga.test(p)||wa.test(p)||Oa.test(p)||ma.test(p)||Ea.test(p)||va.test(p)||sa.test(p)||da.test(p)||ya.test(p),"isIndicChar");return U(t,{indic:C(p=>r(p),"indic"),latin:C(p=>_.test(p),"latin")},!1,e)}if(["be","bg","ru","sr","uk"].includes(e))return U(t,{cyrillic:C(r=>z.test(r),"cyrillic"),latin:C(r=>_.test(r),"latin")},!0,e);if(["ar","fa","he"].includes(e))return U(t,{latin:C(r=>_.test(r),"latin"),rtl:C(r=>qe.test(r)||We.test(r),"rtl")},!1,e);if(e.startsWith("ko"))return U(t,{hangul:C(r=>Fe.test(r),"hangul"),latin:C(r=>_.test(r),"latin")},!1,e);if(e.startsWith("uz")){if(!z.test(t)&&!_.test(t))return[t];const r=[...t],p=r.length,c=[];let l=r[0],d=r[0]===r[0].toLocaleUpperCase(e);for(let h=1;h<p;h++){const O=r[h],b=O===O.toLocaleUpperCase(e);if(He.test(O)||He.test(r[h-1])){l+=O;continue}!d&&b?(c.push(l),l=O):l+=O,d=b}return l&&l.length>0&&c.push(l),c}const o=[...t],i=o.length,u=[];let s=o[0],g=o[0]===o[0].toLocaleUpperCase(e);for(const r of n)if(t.startsWith(r)){u.push(r),s=o[r.length],g=s===s.toLocaleUpperCase(e);break}for(let r=1;r<i;r++){const p=o[r],c=p===p.toLocaleUpperCase(e);let l=0;for(const d of n)if(t.startsWith(d,r)){u.push(s,d),l=d.length,s="";const h=d[d.length-1];h&&(g=h===h.toLocaleUpperCase(e));break}if(l>0){r+=l-1;continue}!g&&c?(u.push(s),s=p):s+=p,g=c}return s&&u.push(s),u},"splitCamelCaseLocale"),Ja=C((t,e,n)=>{const a=[],o=Z.test(t)?t.split(Z).filter(Boolean):[t];for(const i of o)if(Z.test(i))a.push(i);else{const u=G.test(i)?Ha(i).filter(Boolean):[i];for(const s of u)if(G.test(s))a.push(s);else if(e){const g=e.toLowerCase().split("-")[0];a.push(...xt(s,g,n))}else a.push(...Nt(s,n))}return a},"processTextWithAnsiEmoji"),Qa=C((t,e={})=>{if(!t||typeof t!="string")return[];const{handleAnsi:n=!1,handleEmoji:a=!1,knownAcronyms:o=[],locale:i,normalize:u=!1,separators:s,stripAnsi:g=!1,stripEmoji:r=!1}=e,p=new Set([...o].toSorted((w,P)=>P.length-w.length));let c=t;g&&(c=Ba(c)),r&&(c=Aa(c));let l;Array.isArray(s)?l=Fa(s):s instanceof RegExp?l=s:l=aa;const d=[];let h=c;const O=l.flags.includes("g")?l:new RegExp(l.source,`${l.flags}g`);for(;h.length>0;){const w=O.exec(h);if(!w){h===".."?d.push(".."):h==="."?d.push("."):h.length>0&&d.push(h);break}const P=w.index,f=w[0],m=f.length,v=h.slice(0,P),y=h.slice(P+m);if(f.startsWith("../"))d.push(".."),h=h.slice(P+3);else if(f.startsWith("./"))d.push("."),h=h.slice(P+2);else if(P===0&&f==="..")d.push(".."),h=h.slice(2);else if(P===0&&f===".")d.push("."),h=h.slice(1);else{v.length>0&&d.push(v);let E=0;for(;(E=f.indexOf("../",E))!==-1;)d.push(".."),E+=3;for(E=0;(E=f.indexOf("./",E))!==-1;)(E===0||f[E-1]!==".")&&d.push("."),E+=2;let N=y;for(;N.startsWith("../");)d.push(".."),N=N.slice(3);for(;N.startsWith("./");)d.push("."),N=N.slice(2);if(N===".."){d.push("..");break}else if(N==="."){d.push(".");break}else h=N}O.lastIndex=0}if(d.length===0){const w=c.split(l).filter(Boolean);d.push(...w)}let b=[];for(const w of d)n||a?b.push(...Ja(w,i,p)):i?b.push(...xt(w,i,p)):b.push(...Nt(w,p));return u&&(b=b.map(w=>p.has(w)?w:i&&w===w.toLocaleUpperCase(i)?w[0]+w.slice(1).toLocaleLowerCase(i):w.toUpperCase()===w&&!p.has(w)?w.slice(0,1)+w.slice(1).toLowerCase():w)),b},"splitByCase");var Za=Object.defineProperty,Xa=$((t,e)=>Za(t,"name",{value:e,configurable:!0}),"r$4"),er=Object.defineProperty,tr=Xa((t,e)=>er(t,"name",{value:e,configurable:!0}),"o"),nr=Object.defineProperty,ir=tr((t,e)=>nr(t,"name",{value:e,configurable:!0}),"s");const ar=ir((t,e)=>typeof t!="string"||t===""?"":(e?.locale?t[0].toLocaleUpperCase(e.locale):t[0].toUpperCase())+t.slice(1),"upperFirst");var rr=Object.defineProperty,or=$((t,e)=>rr(t,"name",{value:e,configurable:!0}),"r$3"),sr=Object.defineProperty,lr=or((t,e)=>sr(t,"name",{value:e,configurable:!0}),"r"),cr=Object.defineProperty,ur=lr((t,e)=>cr(t,"name",{value:e,configurable:!0}),"n");const pr=ur((t,e)=>`${t}::${e?.joiner??""}::${e?.locale??""}::${e?.knownAcronyms?.join(",")??""}::${e?.normalize?"true":"false"}`,"generateCacheKey");var fr=Object.defineProperty,hr=$((t,e)=>fr(t,"name",{value:e,configurable:!0}),"i$4"),dr=Object.defineProperty,mr=hr((t,e)=>dr(t,"name",{value:e,configurable:!0}),"a"),gr=Object.defineProperty,vr=mr((t,e)=>gr(t,"name",{value:e,configurable:!0}),"l");const yr=vr((t,e)=>{const{length:n}=t;if(n===0)return"";if(n===1)return t[0];const a=[];let o="",i="";for(let u=0;u<n;u++){const s=t[u];if(Z.test(s)){o?(a.push(o+i+s),o="",i=""):(a.length>0&&a.push(e),o=s);continue}o?(i&&(i+=e),i+=s):(a.length>0&&a.push(e),a.push(s))}return a.join("")},"joinSegments");var wr=Object.defineProperty,br=$((t,e)=>wr(t,"name",{value:e,configurable:!0}),"r$2"),$r=Object.defineProperty,Or=br((t,e)=>$r(t,"name",{value:e,configurable:!0}),"a"),Er=Object.defineProperty,Ar=Or((t,e)=>Er(t,"name",{value:e,configurable:!0}),"t");const Pr=Ar(t=>t.replaceAll(/(?<![a-zß])SS(?![a-z])/g,"ß"),"normalizeGermanEszett");var Cr=Object.defineProperty,kr=$((t,e)=>Cr(t,"name",{value:e,configurable:!0}),"l$2"),Nr=Object.defineProperty,xr=kr((t,e)=>Nr(t,"name",{value:e,configurable:!0}),"n"),jr=Object.defineProperty,_r=xr((t,e)=>jr(t,"name",{value:e,configurable:!0}),"l");const Lr=new At(1e3),jt=_r((t,e)=>{if(typeof t!="string"||!t)return"";const n=e?.cache??!1,a=e?.cacheStore??Lr;let o;if(n&&(o=pr(t,e)),n&&o&&a.has(o))return a.get(o);let i=!0;const u=yr(Qa(t,{handleAnsi:e?.handleAnsi,handleEmoji:e?.handleEmoji,knownAcronyms:e?.knownAcronyms,locale:e?.locale,normalize:e?.normalize,separators:void 0,stripAnsi:e?.stripAnsi,stripEmoji:e?.stripEmoji}).map(s=>e?.handleAnsi&&Z.test(s)?s:(s=e?.locale?.startsWith("de")?Pr(s):s,s=e?.locale?s.toLocaleLowerCase(e.locale):s.toLowerCase(),i?(i=!1,Ua(s,e)):ar(s,e))),"");return n&&o&&a.set(o,u),u},"camelCase");var Ir=Object.defineProperty,pe=$((t,e)=>Ir(t,"name",{value:e,configurable:!0}),"a");const Sr=pe(t=>{t.options?.forEach(e=>{e.__camelCaseName__=jt(e.name)})},"processOptionNames"),Ur=pe(t=>{if(!Array.isArray(t.options)||t.options.length===0)return;const e=new Set;for(const a of t.options)e.add(a.name);const n=[];for(const a of t.options)if(a.name.startsWith("no-")){const o=a.name.replace("no-","");if(!e.has(o)){if(a.type!==Boolean)throw new Error(`Cannot add negated option "${a.name}" to command "${t.name}" because it is not a boolean.`);const i={...a,defaultValue:a.defaultValue===void 0?!0:!a.defaultValue,name:o};n.push(i),e.add(o)}}n.length>0&&t.options.push(...n)},"addNegatableOptions"),Mr=pe((t,e)=>{if(!e.options||e.options.length===0)return;const n=t.options,a=new Map;for(const i of e.options)if(i.name.startsWith("no-")){const u=jt(i.name);a.set(u,i)}const o=Object.keys(n).filter(i=>a.has(i));if(o.length!==0)for(const i of o){const u=i.charAt(2);if(!u)continue;const s=u.toLowerCase()+i.slice(3),g=a.get(i);g&&(g.__negated__=!0),n[s]=!n[i],Reflect.deleteProperty(n,i)}},"mapNegatableOptions"),Vr=pe((t,e)=>{if(!e.options||e.options.length===0)return;const n=new Map;for(const o of e.options)o.__camelCaseName__&&o.__negated__===void 0&&o.implies!==void 0&&n.set(o.__camelCaseName__,o);if(n.size===0)return;const a=t.options;for(const o of Object.keys(a)){const i=n.get(o);if(i?.implies){const u=i.implies;for(const[s,g]of Object.entries(u))a[s]===void 0&&(a[s]=g)}}},"mapImpliedOptions");var Tr=Object.defineProperty,fe=$((t,e)=>Tr(t,"name",{value:e,configurable:!0}),"e$1");const Rr=fe(()=>!!process.versions.electron,"isElectronApp"),Dr=fe(()=>Rr()&&!process.defaultApp,"isBundledElectronApp"),Br=fe(()=>Dr()?0:1,"getProcessArgvBinIndex"),zr=fe(t=>t.slice(Br()+1),"hideBin");var Wr=Object.defineProperty,_t=$((t,e)=>Wr(t,"name",{value:e,configurable:!0}),"s$2");const Fr=" ",qr=_t((t,e)=>t===e?!0:t.length!==e.length?!1:t.every((n,a)=>n===e[a]),"equals"),Gr=_t(t=>{if(typeof t=="string")return t.split(Fr);const e=Ee();return qr(t,e)?zr(t):t},"parseRawCommand");var Hr=Object.defineProperty,be=$((t,e)=>Hr(t,"name",{value:e,configurable:!0}),"r");const Kr=be(t=>{const e=be(i=>{t.error(`Uncaught exception: ${i.message||i}`),i.stack&&t.error(i.stack),ie(1)},"uncaughtExceptionHandler"),n=be((i,u)=>{if(i instanceof Error)t.error(`Promise rejection: ${i.message||i}`),i.stack&&t.error(i.stack);else{let s;if(typeof i=="string")s=i;else try{s=JSON.stringify(i)}catch{s=String(i)}t.error(`Promise rejection: ${s}`)}ie(1)},"unhandledRejectionHandler"),a=xe("uncaughtException",e),o=xe("unhandledRejection",n);return()=>{a(),o()}},"registerExceptionHandler");var Yr=Object.defineProperty,K=$((t,e)=>Yr(t,"name",{value:e,configurable:!0}),"e");const ae=100,ke=K((t,e)=>{if(typeof t!="string"||t.trim().length===0)throw new k(`${e} must be a non-empty string`,"INVALID_INPUT",{fieldName:e,value:t});return t.trim()},"validateNonEmptyString"),Ye=K((t,e)=>{if(!Array.isArray(t)||!t.every(n=>typeof n=="string"))throw new k(`${e} must be an array of strings`,"INVALID_INPUT",{fieldName:e,value:t});return t},"validateStringArray");K((t,e)=>{if(typeof t!="function")throw new k(`${e} must be a function`,"INVALID_INPUT",{fieldName:e,value:t});return t},"validateFunction");const $e=K((t,e)=>{if(typeof t!="object"||t===null)throw new k(`${e} must be an object`,"INVALID_INPUT",{fieldName:e,value:t});return t},"validateObject"),ee=K(t=>{const e=ke(t,"Command name");if(e.length>ae)throw new k(`Command name is too long (maximum ${ae} characters)`,"INVALID_COMMAND_NAME",{commandName:e,length:e.length});if(e.includes("..")||e.includes("/")||e.includes("\\")||e.includes(";")||e.includes("|")||e.includes("&"))throw new k(`Command name "${e}" contains invalid characters`,"INVALID_COMMAND_NAME",{commandName:e});if(!/^[a-z][\w-]*$/i.test(e))throw new k(`Command name "${e}" must start with a letter and contain only letters, numbers, hyphens, and underscores`,"INVALID_COMMAND_NAME",{commandName:e});return e},"validateCommandName");K(t=>{const e=ke(t,"Plugin name");if(e.length>ae)throw new k(`Plugin name is too long (maximum ${ae} characters)`,"INVALID_PLUGIN_NAME",{length:e.length,pluginName:e});if(e.includes("..")||e.includes("/")||e.includes("\\")||e.includes(";")||e.includes("|")||e.includes("&"))throw new k(`Plugin name "${e}" contains invalid characters`,"INVALID_PLUGIN_NAME",{pluginName:e});if(!/^[a-z][\w-]*$/i.test(e))throw new k(`Plugin name "${e}" must start with a letter and contain only letters, numbers, hyphens, and underscores`,"INVALID_PLUGIN_NAME",{pluginName:e});return e},"validatePluginName");var Jr=Object.defineProperty,he=$((t,e)=>Jr(t,"name",{value:e,configurable:!0}),"s");const Qr=new Set([`
4
- `,"\r"," ","\0",'"',"$","&","'","(",")",";","<",">","[","\\","]","`","{","|","}"]),Zr=he(t=>{if(typeof t!="string")throw new TypeError("Argument must be a string");if(t.length>1e4)throw new Error("Argument is too long (maximum 10000 characters)");for(const e of t)if(Qr.has(e))throw new Error(`Argument contains dangerous character: ${e}`);return t.trim()},"sanitizeArgument"),Je=he(t=>{if(!Array.isArray(t))throw new TypeError("Arguments must be an array");if(t.length>100)throw new Error("Too many arguments (maximum 100)");return t.map(e=>Zr(e))},"sanitizeArguments");he(t=>{if(typeof t!="string")throw new TypeError("Path must be a string");const e=t.trim();if(e.includes("..")||e.includes("../")||e.includes("..\\"))throw new Error("Path contains directory traversal sequences");if(e.startsWith("/")||/^[A-Z]:/i.test(e))throw new Error("Absolute paths are not allowed");if(e.length>1e3)throw new Error("Path is too long");return e},"validateSafePath");class yo{static{$(this,"RateLimiter")}static{he(this,"RateLimiter")}attempts=new Map;maxAttempts;windowMs;constructor(e=5,n=6e4){if(e<=0||n<=0)throw new Error("maxAttempts and windowMs must be positive numbers");this.maxAttempts=e,this.windowMs=n}checkLimit(e){const n=Date.now(),a=this.attempts.get(e);return!a||n>a.resetTime?(this.attempts.set(e,{count:1,resetTime:n+this.windowMs}),this.cleanup(n),!0):a.count>=this.maxAttempts?!1:(a.count+=1,!0)}reset(e){this.attempts.delete(e)}cleanup(e){for(const[n,a]of this.attempts.entries())e>a.resetTime&&this.attempts.delete(n)}}var Xr=Object.defineProperty,ne=$((t,e)=>Xr(t,"name",{value:e,configurable:!0}),"_");const eo=/^-([^\d-])$/,to=/^--(\S+)/,no=/^-([^\d-]{2,})$/,Oe=ne(t=>eo.test(t)||to.test(t)||no.test(t),"isOption");class wo{static{$(this,"Cli")}static{ne(this,"Cli")}#t;#e;#r;#c;#g;#u;#v;#o;#n;#i;#p;#s;#l;#f=!1;#y;#w=!1;#h;#d;#m;#E(){return this.#h===void 0&&(this.#h=[...this.#i.keys()]),this.#h}#b(){return this.#d===void 0&&(this.#d=[...this.#n.keys()]),this.#d}#a(){return this.#m===void 0&&(this.#m=[...this.#E(),...this.#b()]),this.#m}#A(){this.#h=void 0,this.#d=void 0,this.#m=void 0}#$(){if(this.#r===void 0){const e=Gr(this.#e.argv);this.#r=Je(e),this.#P()}return this.#r}#P(){if(!this.#r)return;const e=q();let n=!1;for(const a of this.#r){if(a==="--quiet"||a==="-q"){e.CEREBRO_OUTPUT_LEVEL=String(Rt),n=!0;break}if(a==="--verbose"||a==="-v"){e.CEREBRO_OUTPUT_LEVEL=String(Dt),n=!0;break}if(a==="--debug"||a==="-vvv"){e.CEREBRO_OUTPUT_LEVEL=String(W),n=!0;break}}n||(e.CEREBRO_OUTPUT_LEVEL=Object.hasOwn(e,"DEBUG")?String(W):String(Ne))}#C(){this.#w||(this.#y=Kr(this.#t),this.#w=!0)}#O(e,n,a,o){this.#t.debug(`command '${o}' found, parsing command args: ${n.join(", ")}`);const{arguments_:i,booleanValues:u,parsedArgs:s}=Si(e,n,Vt),g=Object.keys(u).length>0?{...s,_all:{...s._all,...u}}:s;Fi(i,g,e);const r=Ii(e,s,u,a);r.runtime=this,r.argv=this.#$();const p=e.options&&e.options.length>0;if(p&&e.options){const c=e.options.filter(l=>l.name.startsWith("no-"));for(const l of c){const d=l.name.replace("no-",""),h=`--${l.name}`,O=`--${d}`,b=n.includes(h),w=n.includes(O);if(b&&w)throw new Qe(d,l.name)}}return p&&(Mr(r,e),Vr(r,e)),qi(i,r.options,e),q().CEREBRO_OUTPUT_LEVEL===String(W)&&(this.#t.debug("command options parsed from options:"),this.#t.debug(JSON.stringify(r.options,null,2)),this.#t.debug("command argument parsed from argument:"),this.#t.debug(JSON.stringify(r.argument,null,2))),{arguments_:i,booleanValues:u,commandArgs:g,parsedArgs:s,toolbox:r}}constructor(e,n={}){if(typeof e!="string"||e.trim().length===0)throw new k("CLI name must be a non-empty string","INVALID_INPUT",{cliName:e});this.#g=e.trim();const a=n.argv??Ee(),o=n.cwd??Bt();if(this.#e={...n,argv:a,cwd:o},this.#e.argv&&!Array.isArray(this.#e.argv))throw new k("CLI argv option must be an array of strings","INVALID_INPUT",{argv:this.#e.argv});if(this.#e.cwd&&typeof this.#e.cwd!="string")throw new k("CLI cwd option must be a string","INVALID_INPUT",{cwd:this.#e.cwd});if(this.#e.packageName&&typeof this.#e.packageName!="string")throw new k("CLI packageName option must be a string","INVALID_INPUT",{packageName:this.#e.packageName});if(this.#e.packageVersion&&typeof this.#e.packageVersion!="string")throw new k("CLI packageVersion option must be a string","INVALID_INPUT",{packageVersion:this.#e.packageVersion});const i=q();if(i.CEREBRO_OUTPUT_LEVEL=String(Ne),typeof this.#e.logger=="object"){const u=["debug","error","info","log","warn"],s=[],g=this.#e.logger;for(const r of u)typeof g[r]!="function"&&s.push(r);if(s.length>0)throw new k(`Logger object is missing required methods: ${s.join(", ")}`,"INVALID_INPUT",{logger:this.#e.logger,missingMethods:s});this.#t=this.#e.logger}else this.#t={...console,debug:ne((...u)=>{i.CEREBRO_OUTPUT_LEVEL===String(W)&&console.debug(...u)},"debug")};this.#u=this.#e.packageVersion,this.#v=this.#e.packageName,this.#c=this.#e.cwd,this.#s="help",this.#l={},this.#n=new Map,this.#i=new Map,this.#p=new Map}setCommandSection(e){return this.#l=e,this}getCommandSection(){return this.#l.header||(this.#l.header=`${this.#g}${this.#u?` v${this.#u}`:""}`),this.#l}setDefaultCommand(e){return this.#s=e,this}get defaultCommand(){return this.#s}addCommand(e){$e(e,"Command"),ee(e.name),e.alias&&(typeof e.alias=="string"?ee(e.alias):Ye(e.alias,"Command alias").forEach(o=>ee(o))),e.argument&&$e(e.argument,"Command argument"),e.options&&$e(e.options,"Command options"),e.commandPath&&(Ye(e.commandPath,"Command commandPath"),e.commandPath.forEach(o=>{ee(o)}));const n=Yi(e.name,e.commandPath),a=J(n);if(this.#i.has(a))throw new k(`Command with path "${a}" already exists`,"DUPLICATE_COMMAND",{commandName:e.name,commandPath:e.commandPath});if(this.#n.has(e.name)&&!e.commandPath)throw new k(`Command with name "${e.name}" already exists`,"DUPLICATE_COMMAND",{commandName:e.name});if(e.options)for(const o of e.options)on(o);if(Gi(e),Ur(e),Sr(e),e.options&&(e.__conflictingOptions__=e.options.filter(o=>o.conflicts!==void 0),e.__requiredOptions__=e.options.filter(o=>o.required===!0)),this.#n.set(e.name,e),this.#i.set(a,n),this.#p.set(a,e),this.#A(),e.alias!==void 0){const o=typeof e.alias=="string"?[e.alias]:e.alias;for(const i of o){if(q().CEREBRO_OUTPUT_LEVEL===String(W)&&this.#t.debug("adding alias",i),this.#n.has(i))throw new k(`Command alias "${i}" conflicts with existing command`,"DUPLICATE_COMMAND",{alias:i,commandName:e.name});this.#n.set(i,e)}}return this}addPlugin(e){return this.getPluginManager().register(e),this}getPluginManager(){return this.#o?this.#o:(this.#o=new en(this.#t),this.#o.register({description:"Attaches the logger to the toolbox",execute:ne(e=>{e.logger=this.#t},"execute"),name:"logger"}),this.#o)}getCliName(){return this.#g}getPackageVersion(){return this.#u}getPackageName(){return this.#v}getCommands(){return this.#n}getCwd(){return this.#c}dispose(){this.#y?.()}async run(e={}){const{autoDispose:n=!0,shouldExitProcess:a=!0,...o}=e;this.#n.has("help")||this.addCommand(new Tt(this.#n));const i=this.#b(),u=this.#i;this.#C();const s=this.#$();let g,r=[...s];const p=zt(),c=Wt(),l=Ee();this.#t.debug(`process.execPath: ${p}`),this.#t.debug(`process.execArgv: ${c.join(" ")}`),this.#t.debug(`process.argv: ${l.join(" ")}`);const d=Ki(u,[...s]);if(d.commandPath)g=d.commandPath,r=d.argv;else{if(s.length>1&&s[0]&&s[1]&&!Oe(s[0])&&!Oe(s[1])){const y=[];let E=0;for(;E<s.length;){const A=s[E];if(!A||Oe(A))break;y.push(A),E+=1}const N=J(y);if(y[0]&&!i.includes(y[0])){const A=this.#a(),I=F(N,A);throw new D(N,I)}}let v;try{v=fn([null,...i],[...s])}catch(y){if(y instanceof Error&&y.name==="INVALID_COMMAND"&&"command"in y){const E=y.command,N=this.#a(),A=F(E,N);throw new D(E,A)}throw y}v.command&&(g=[v.command],r=v.argv)}if(!g)if(this.#s)g=[this.#s];else{const v=this.#a();throw new D("",v)}const h=J(g),O=this.#i.get(h);let b;if(O){if(b=this.#p.get(h),!b||J(O)!==h){const v=this.#a(),y=F(h,v);throw new D(h,y)}}else{const v=g[g.length-1];if(b=v?this.#n.get(v):void 0,!b){const y=this.#a(),E=F(h,y);throw new D(h,E)}}if(typeof b.execute!="function")return this.#t.error(`Command "${b.name}" has no function to execute.`),a?ie(1):void 0;const w=r,{commandArgs:P,toolbox:f}=this.#O(b,w,o,h),m=this.getPluginManager();try{!this.#f&&m.hasPlugins()&&(await m.init({cli:this,cwd:this.#c,logger:this.#t}),this.#f=!0),await m.executeLifecycle("execute",f),await m.executeLifecycle("beforeCommand",f);let v;if(P.global?.help){const y=this.#n.get("help");if(!y)throw new k("Help command not found","COMMAND_NOT_FOUND");v=await B(y,f,P)}else if(P.global?.version||P.global?.V){const y=this.#n.get("version");if(!y)throw new k("Version command not found","COMMAND_NOT_FOUND");v=await B(y,f,P)}else v=await B(b,f,P);return await m.executeLifecycle("afterCommand",f,v),a?ie(0):void 0}catch(v){throw await m.executeErrorHandlers(v,f),v}finally{n&&this.dispose()}}async runCommand(e,n={}){const{argv:a=[],...o}=n;ke(e,"Command name");const i=e.split(" ").filter(Boolean),u=J(i),s=this.#i.get(u)?this.#p.get(u):this.#n.get(e);if(!s){const l=this.#a(),d=F(u||e,l);throw new D(e,d)}if(typeof s.execute!="function")throw new k(`Command "${s.name}" has no function to execute`,"INVALID_COMMAND",{commandName:s.name});const g=[...Je(a)];this.#t.debug(`running command '${e}' programmatically with args: ${g.join(", ")}`);const{commandArgs:r,toolbox:p}=this.#O(s,g,o,u||e),c=this.getPluginManager();try{!this.#f&&c.hasPlugins()&&(await c.init({cli:this,cwd:this.#c,logger:this.#t}),this.#f=!0),await c.executeLifecycle("execute",p),await c.executeLifecycle("beforeCommand",p);let l;if(r.global?.help){const d=this.#n.get("help");if(!d)throw new k("Help command not found","COMMAND_NOT_FOUND");l=await B(d,p,r)}else if(r.global?.version||r.global?.V){const d=this.#n.get("version");if(!d)throw new k("Version command not found","COMMAND_NOT_FOUND");l=await B(d,p,r)}else l=await B(s,p,r);return await c.executeLifecycle("afterCommand",p,l),l}catch(l){throw await c.executeErrorHandlers(l,p),l}}}export{wo as Cli};
@@ -1,76 +0,0 @@
1
- var q=Object.defineProperty;var s=(e,r)=>q(e,"name",{value:r,configurable:!0});import{createRequire as z}from"node:module";import{k as Rr,N as Fr,P as Mr,G as Vr}from"./renderError-ZMlMvw1N-eVUSdl6c.js";import{p as qr,V as zr}from"./isVisulimaError-jVZgumOU-C4fgdbWg.js";const B=z(import.meta.url),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,K=s(e=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[r,t]=g.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return g.getBuiltinModule(e)}return B(e)},"__cjs_getBuiltinModule"),{createRequire:Y}=K("node:module");var H=Object.defineProperty,X=s((e,r)=>H(e,"name",{value:r,configurable:!0}),"s$6"),W=Object.defineProperty,G=X((e,r)=>W(e,"name",{value:r,configurable:!0}),"o"),Q=Object.defineProperty,x=G((e,r)=>Q(e,"name",{value:r,configurable:!0}),"l");const A=x((e,r)=>{let t=0,n=r.length-2;for(;t<n;){const o=t+(n-t>>1);if(e<r[o])n=o-1;else if(e>=r[o+1])t=o+1;else{t=o;break}}return t},"binarySearch"),Z=x(e=>e.split(/\n|\r(?!\n)/).reduce((r,t)=>(r.push(r.at(-1)+t.length+1),r),[0]),"getLineStartIndexes"),Er=x((e,r,t)=>{const n=t?.skipChecks??!1;if(!n&&(!Array.isArray(e)&&typeof e!="string"||(typeof e=="string"||Array.isArray(e))&&e.length===0))return{column:0,line:0};if(!n&&(typeof r!="number"||typeof e=="string"&&r>=e.length||Array.isArray(e)&&r+1>=e.at(-1)))return{column:0,line:0};if(typeof e=="string"){const a=Z(e),i=A(r,a);return{column:r-a[i]+1,line:i+1}}const o=A(r,e);return{column:r-e[o]+1,line:o+1}},"indexToLineColumn");var ee=Object.defineProperty,re=s((e,r)=>ee(e,"name",{value:r,configurable:!0}),"t$5"),te=Object.defineProperty,ne=re((e,r)=>te(e,"name",{value:r,configurable:!0}),"n"),oe=Object.defineProperty,ae=ne((e,r)=>oe(e,"name",{value:r,configurable:!0}),"t");const Pr=ae(({applicationType:e,error:r,file:t})=>`You are a very skilled ${t.language} programmer.
2
-
3
- ${e?`You are working on a ${e} application.`:""}
4
-
5
- Use the following context to find a possible fix for the exception message at the end. Limit your answer to 4 or 5 sentences. Also include a few links to documentation that might help.
6
-
7
- Use this format in your answer, make sure links are json:
8
-
9
- FIX
10
- insert the possible fix here
11
- ENDFIX
12
- LINKS
13
- {"title": "Title link 1", "url": "URL link 1"}
14
- {"title": "Title link 2", "url": "URL link 2"}
15
- ENDLINKS
16
- ---
17
-
18
- Here comes the context and the exception message:
19
-
20
- Line: ${t.line}
21
-
22
- File:
23
- ${t.file}
24
-
25
- Snippet including line numbers:
26
- ${t.snippet}
27
-
28
- Exception class:
29
- ${r.name}
30
-
31
- Exception message:
32
- ${r.message}`,"aiPrompt");var ie=Object.defineProperty,se=s((e,r)=>ie(e,"name",{value:r,configurable:!0}),"o$5"),ue=Object.defineProperty,ce=se((e,r)=>ue(e,"name",{value:r,configurable:!0}),"i"),le=Object.defineProperty,C=ce((e,r)=>le(e,"name",{value:r,configurable:!0}),"i");const T=C((e,r,t)=>{const n=t.indexOf(e);if(n===-1)return"";const o=n+e.length,a=t.indexOf(r,o);return a===-1?"":t.slice(o,a).trim()},"between"),xr=C(e=>{const r=T("FIX","ENDFIX",e);if(!r)return["No solution found.",'Provide this response to the Maintainer of <a href="https://github.com/visulima/visulima/issues/new?assignees=&labels=s%3A+pending+triage%2Cc%3A+bug&projects=&template=bug_report.yml" target="_blank" rel="noopener noreferrer" class="text-blue-500 hover:underline inline-flex items-center text-sm">@visulima/error</a>.',`"${e}"`].join("</br></br>");const t=T("LINKS","ENDLINKS",e).split(`
33
- `).map(n=>JSON.parse(n));return`${r.replaceAll(/"([^"]*)"(\s|\.)/g,"<code>$1</code> ")}
34
-
35
- ## Links
36
-
37
- ${t.map(n=>`- <a href="${n.url}" target="_blank" rel="noopener noreferrer">${n.title}</a>`).join(`
38
- `)}
39
-
40
- --------------------
41
- This solution was generated with the <a href="https://sdk.vercel.ai/" target="_blank" rel="noopener noreferrer">AI SDK</a> and may not be 100% accurate.`},"aiSolutionResponse");var fe=Object.defineProperty,me=s((e,r)=>fe(e,"name",{value:r,configurable:!0}),"r$2"),pe=Object.defineProperty,de=me((e,r)=>pe(e,"name",{value:r,configurable:!0}),"r"),ge=Object.defineProperty,be=de((e,r)=>ge(e,"name",{value:r,configurable:!0}),"i");const kr={handle:be(async e=>{if(!(e.hint===void 0||e.hint===null)){if(typeof e.hint=="string"&&e.hint!=="")return{body:e.hint};if(typeof e.hint=="object"&&typeof e.hint.body=="string")return e.hint;if(Array.isArray(e.hint))return{body:e.hint.join(`
42
- `)}}},"handle"),name:"errorHint",priority:1};var ye=Object.defineProperty,he=s((e,r)=>ye(e,"name",{value:r,configurable:!0}),"m$2"),ve=Object.defineProperty,$e=he((e,r)=>ve(e,"name",{value:r,configurable:!0}),"m"),je=Object.defineProperty,u=$e((e,r)=>je(e,"name",{value:r,configurable:!0}),"t");const Se=u(e=>`\`\`\`
43
- ${e.trim()}
44
- \`\`\``,"code"),h=u(e=>`\`\`\`bash
45
- ${e.trim()}
46
- \`\`\``,"bash"),v=u(e=>`\`\`\`ts
47
- ${e.trim()}
48
- \`\`\``,"ts"),Oe=u(e=>`\`\`\`js
49
- ${e.trim()}
50
- \`\`\``,"js"),f=u((e,...r)=>{const t=e.toLowerCase();return r.some(n=>t.includes(n.toLowerCase()))},"has"),Ee=[{name:"esm-cjs-interop",test:u(e=>{const r=(e?.message||String(e||"")).toString();if(f(r,"err_require_esm","cannot use import statement outside a module","must use import to load es module","require() of es module","does not provide an export named"))return{md:["Your project or a dependency may be mixing CommonJS and ES Modules.","","Try:","- Ensure package.json has the correct `type` (either `module` or `commonjs`).","- Use dynamic `import()` when requiring ESM from CJS.","- Prefer ESM-compatible entrypoints from dependencies.","- In Node, align `module` resolution with your bundler config.","","Check Node resolution:",h(`node -v
51
- cat package.json | jq .type`),"","Example dynamic import in CJS:",Oe("(async () => { const mod = await import('some-esm'); mod.default(); })();")].join(`
52
- `),title:"ESM/CJS interop"}},"test")},{name:"missing-default-export",test:u(e=>{const r=(e?.message||String(e||"")).toString();if(f(r,"default export not found","has no default export","does not provide an export named 'default'","is not exported from"))return{md:["Verify your import/export shapes.","","Default export example:",v(`export default function Component() {}
53
- // import Component from './file'`),"","Named export example:",v(`export function Component() {}
54
- // import { Component } from './file'`)].join(`
55
- `),title:"Export mismatch (default vs named)"}},"test")},{name:"port-in-use",test:u(e=>{const r=(e?.message||String(e||"")).toString();if(f(r,"eaddrinuse","address already in use","listen eaddrinuse"))return{md:["Another process is using the port.","","Change the port or stop the other process.","","On macOS/Linux:",h(`lsof -i :3000
56
- kill -9 <PID>`),"","On Windows (PowerShell):",h(`netstat -ano | findstr :3000
57
- taskkill /PID <PID> /F`)].join(`
58
- `),title:"Port already in use"}},"test")},{name:"file-not-found-or-case",test:u((e,r)=>{const t=(e?.message||String(e||"")).toString();if(f(t,"enoent","module not found","cannot find module"))return{md:["Check the import path and filename case (Linux/macOS are case-sensitive).","If using TS path aliases, verify `tsconfig.paths` and bundler aliases.","","Current file:",Se(`${r.file}:${r.line}`)].join(`
59
- `),title:"Missing file or path case mismatch"}},"test")},{name:"ts-path-mapping",test:u(e=>{const r=(e?.message||String(e||"")).toString();if(f(r,"ts2307","cannot find module")||r.includes("TS2307"))return{md:["If you use path aliases, align TS `paths` with Vite/Webpack resolve aliases.","Ensure file extensions are correct and included in resolver.","","tsconfig.json excerpt:",v(`{
60
- "compilerOptions": {
61
- "baseUrl": ".",
62
- "paths": { "@/*": ["src/*"] }
63
- }
64
- }`)].join(`
65
- `),title:"TypeScript path mapping / resolution"}},"test")},{name:"network-dns-enotfound",test:u(e=>{const r=(e?.message||String(e||"")).toString();if(f(r,"enotfound","getaddrinfo enotfound","dns","fetch failed","ecconnrefused","econnrefused"))return{md:["The host may be unreachable or misconfigured.","","Try:","- Verify the hostname and protocol (http/https).","- Check VPN/proxy and firewall.","- Confirm the service is running and listening on the expected port.","",h(`ping <host>
66
- nslookup <host>
67
- curl -v http://<host>:<port>`)].join(`
68
- `),title:"Network/DNS connection issue"}},"test")},{name:"undefined-property",test:u(e=>{const r=(e?.message||String(e||"")).toString();if(f(r,"cannot read properties of undefined","reading '"))return{md:["A variable or function returned `undefined`.","","Mitigations:","- Add nullish checks before property access.","- Validate function return values and input props/state.","",v("const value = maybe?.prop; // or: if (maybe) { use(maybe.prop) }")].join(`
69
- `),title:"Accessing property of undefined"}},"test")}],wr={handle:u(async(e,r)=>{try{const t=Ee.map(o=>({match:o.test(e,r),rule:o})).filter(o=>!!o.match);if(t.length===0)return;const n=t.toSorted((o,a)=>(o.match.priority||0)-(a.match.priority||0)).map(o=>`#### ${o.match.title}
70
-
71
- ${o.match.md}`).join(`
72
-
73
- ---
74
-
75
- `);return n===""?void 0:{body:n,header:"### Potential fixes detected"}}catch{return}},"handle"),name:"ruleBasedHints",priority:0};var Pe=Object.defineProperty,xe=s((e,r)=>Pe(e,"name",{value:r,configurable:!0}),"a$4"),ke=Object.defineProperty,we=xe((e,r)=>ke(e,"name",{value:r,configurable:!0}),"a"),Ne=Object.defineProperty,Ae=we((e,r)=>Ne(e,"name",{value:r,configurable:!0}),"e");const Nr=Ae(()=>{if(!Error.captureStackTrace)return;const e=new Error;return Error.captureStackTrace(e),e.stack},"captureRawStackTrace");var Te=Object.defineProperty,_=s((e,r)=>Te(e,"name",{value:r,configurable:!0}),"r"),Ie=Object.defineProperty,D=_((e,r)=>Ie(e,"name",{value:r,configurable:!0}),"o"),Ce=Object.defineProperty,_e=D((e,r)=>Ce(e,"name",{value:r,configurable:!0}),"e");function d(e){if(typeof e!="object"||e===null)return!1;const r=Object.getPrototypeOf(e);return(r===null||r===Object.prototype||Object.getPrototypeOf(r)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}s(d,"o$2");_(d,"i");D(d,"r");_e(d,"isPlainObject");var De=Object.defineProperty,Je=s((e,r)=>De(e,"name",{value:r,configurable:!0}),"E$1"),Le=Object.defineProperty,Re=Je((e,r)=>Le(e,"name",{value:r,configurable:!0}),"E"),Fe=Object.defineProperty,j=Re((e,r)=>Fe(e,"name",{value:r,configurable:!0}),"n");const y=new Map([["Error",Error],["EvalError",EvalError],["RangeError",RangeError],["ReferenceError",ReferenceError],["SyntaxError",SyntaxError],["TypeError",TypeError],["URIError",URIError]]);typeof AggregateError<"u"&&y.set("AggregateError",AggregateError);const Ar=j((e,r)=>{let t;try{t=new e}catch(o){throw new Error(`The error constructor "${e.name}" is not compatible`,{cause:o})}const n=r??t.name;if(y.has(n))throw new Error(`The error constructor "${n}" is already known.`);y.set(n,e)},"addKnownErrorConstructor");j(()=>new Map(y),"getKnownErrorConstructors");const J=j(e=>y.get(e),"getErrorConstructor"),k=j(e=>e!==null&&typeof e=="object"&&typeof e.name=="string"&&typeof e.message=="string"&&(J(e.name)!==void 0||e.name==="Error"),"isErrorLike");var Me=Object.defineProperty,L=s((e,r)=>Me(e,"name",{value:r,configurable:!0}),"t$1"),Ve=Object.defineProperty,R=L((e,r)=>Ve(e,"name",{value:r,configurable:!0}),"t"),Ue=Object.defineProperty,qe=R((e,r)=>Ue(e,"name",{value:r,configurable:!0}),"s");let p=class extends Error{static{s(this,"i")}static{L(this,"c")}static{R(this,"e")}static{qe(this,"NonError")}constructor(r){super(r),this.name="NonError"}};var ze=Object.defineProperty,Be=s((e,r)=>ze(e,"name",{value:r,configurable:!0}),"d$1"),Ke=Object.defineProperty,Ye=Be((e,r)=>Ke(e,"name",{value:r,configurable:!0}),"d"),He=Object.defineProperty,c=Ye((e,r)=>He(e,"name",{value:r,configurable:!0}),"o");const Xe={maxDepth:Number.POSITIVE_INFINITY},F=c((e,r,t=0)=>k(e)?w(e,r,t):r.maxDepth!==void 0&&t>=r.maxDepth?new p(JSON.stringify(e)):new p(JSON.stringify(e)),"deserializePlainObject"),We=c((e,r,t,n,o)=>{const a=r.map(i=>S(i,n,o+1));return new e(a,t)},"reconstructAggregateError"),w=c((e,r,t)=>{if(r.maxDepth!==void 0&&t>=r.maxDepth)return new p(JSON.stringify(e));const{cause:n,errors:o,message:a,name:i,stack:m,...E}=e,N=J(i)||Error,l=i==="AggregateError"&&Array.isArray(o)?We(N,o,a,r,t):new N(a);return!l.name&&i&&(l.name=i),a!==void 0&&(l.message=a),m&&(l.stack=m),Ge(l,E,n,i,r,t),n!==void 0&&(l.cause=S(n,r,t+1)),Qe(l,e),l},"reconstructError"),S=c((e,r,t)=>d(e)?F(e,r,t):Array.isArray(e)?e.map(n=>S(n,r,t)):e,"deserializeValue"),Ge=c((e,r,t,n,o,a)=>{const i=e;for(const[m,E]of Object.entries(r))if(!(m==="cause"&&t!==void 0)){if(m==="errors"&&n==="AggregateError")continue;i[m]=S(E,o,a+1)}},"restoreErrorProperties"),Qe=c((e,r)=>{const t=new Set(["message","name","stack"]);for(const n of Object.keys(r))t.add(n);for(const n of t)if(n in e){const o=Object.getOwnPropertyDescriptor(e,n);o&&!o.enumerable&&Object.defineProperty(e,n,{...o,enumerable:!0})}},"makePropertiesEnumerable"),I=c(e=>new p(JSON.stringify(e)),"handlePrimitive"),Ze=c(e=>new p(JSON.stringify(e)),"handleArray"),er=c((e,r)=>k(e)?w(e,r,0):F(e,r),"handlePlainObject"),Ir=c((e,r={})=>{const t={...Xe,...r};return e instanceof Error?e:e===null?I(null):typeof e=="string"||typeof e=="number"||typeof e=="boolean"?I(e):Array.isArray(e)?Ze(e):k(e)?w(e,t,0):d(e)?er(e,t):new p(JSON.stringify(e))},"deserialize");var rr=Object.defineProperty,tr=s((e,r)=>rr(e,"name",{value:r,configurable:!0}),"a"),nr=Object.defineProperty,M=tr((e,r)=>nr(e,"name",{value:r,configurable:!0}),"n");const or=Y(import.meta.url),b=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ar=M(e=>{if(typeof b<"u"&&b.versions&&b.versions.node){const[r,t]=b.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return b.getBuiltinModule(e)}return or(e)},"__cjs_getBuiltinModule"),{inspect:ir}=ar("node:util");var sr=Object.defineProperty,ur=M((e,r)=>sr(e,"name",{value:r,configurable:!0}),"a");const Cr=ur(e=>{const r=new Set,t=[];let n=e;for(;n;){if(r.has(n)){console.error(`Circular reference detected in error causes: ${ir(e)}`);break}if(t.push(n),r.add(n),!n.cause)break;n=n.cause}return t},"getErrorCauses");var cr=Object.defineProperty,lr=s((e,r)=>cr(e,"name",{value:r,configurable:!0}),"l"),fr=Object.defineProperty,mr=lr((e,r)=>fr(e,"name",{value:r,configurable:!0}),"f");const pr=Object.create({},{cause:{enumerable:!0,value:void 0,writable:!0},code:{enumerable:!0,value:void 0,writable:!0},errors:{enumerable:!0,value:void 0,writable:!0},message:{enumerable:!0,value:void 0,writable:!0},name:{enumerable:!0,value:void 0,writable:!0},stack:{enumerable:!0,value:void 0,writable:!0}});var dr=Object.defineProperty,O=mr((e,r)=>dr(e,"name",{value:r,configurable:!0}),"c");const P=new WeakSet,gr=O(e=>{P.add(e);const r=e.toJSON();return P.delete(e),r},"toJSON"),V=O((e,r,t,n)=>{if(e&&e instanceof Uint8Array&&e.constructor.name==="Buffer")return"[object Buffer]";if(e!==null&&typeof e=="object"&&typeof e.pipe=="function")return"[object Stream]";if(e instanceof Error)return r.includes(e)?"[Circular]":(t+=1,$(e,n,r,t));if(n.useToJSON&&typeof e.toJSON=="function")return e.toJSON();if(typeof e=="object"&&e instanceof Date)return e.toISOString();if(typeof e=="function")return`[Function: ${e.name||"anonymous"}]`;if(d(e)){if(t+=1,n.maxDepth&&t>=n.maxDepth)return{};const o={};for(const a in e)o[a]=V(e[a],r,t,n);return o}try{return e}catch{return"[Not Available]"}},"serializeValue"),$=O((e,r,t,n)=>{if(t.push(e),r.maxDepth===0)return{};if(r.useToJSON&&typeof e.toJSON=="function"&&!P.has(e))return gr(e);const o=Object.create(pr);if(o.name=Object.prototype.toString.call(e.constructor)==="[object Function]"?e.constructor.name:e.name,o.message=e.message,o.stack=e.stack,Array.isArray(e.errors)){const a=[];for(const i of e.errors){if(!(i instanceof Error))throw new TypeError("All errors in the 'errors' property must be instances of Error");if(t.includes(i))return o.errors=[],o;a.push($(i,r,t,n))}o.errors=a}e.cause instanceof Error&&!t.includes(e.cause)&&(o.cause=$(e.cause,r,t,n));for(const a in e)if(o[a]===void 0){const i=e[a];o[a]=V(i,t,n,r)}if(Array.isArray(r.exclude)&&r.exclude.length>0)for(const a of r.exclude)try{delete o[a]}catch{}return o},"_serialize"),_r=O((e,r={})=>$(e,{exclude:r.exclude??[],maxDepth:r.maxDepth??Number.POSITIVE_INFINITY,useToJSON:r.useToJSON??!1},[],0),"serialize");var br=Object.defineProperty,yr=s((e,r)=>br(e,"name",{value:r,configurable:!0}),"o"),hr=Object.defineProperty,vr=yr((e,r)=>hr(e,"name",{value:r,configurable:!0}),"n"),$r=Object.defineProperty,U=vr((e,r)=>$r(e,"name",{value:r,configurable:!0}),"s");const jr=U(e=>{const r=e.methodName&&e.methodName!=="<unknown>"?`${e.methodName} `:"",t=e.file??"<unknown>",n=e.line??0,o=e.column??0;return r.trim()?` at ${r}(${t}:${n}:${o})`:` at ${t}:${n}:${o}`},"formatStackFrameLine"),Dr=U((e,r)=>{const t=[];if(r?.header&&(r.header.name||r.header.message)){const n=String(r.header.name||"Error"),o=String(r.header.message||"");t.push(`${n}${o?": ":""}${o}`)}for(const n of e)t.push(jr(n));return t.join(`
76
- `)},"formatStacktrace");export{Rr as CODE_FRAME_POINTER,p as NonError,qr as VisulimaError,Ar as addKnownErrorConstructor,Pr as aiPrompt,xr as aiSolutionResponse,Nr as captureRawStackTrace,Fr as codeFrame,Ir as deserializeError,kr as errorHintFinder,jr as formatStackFrameLine,Dr as formatStacktrace,Cr as getErrorCauses,Er as indexToLineColumn,k as isErrorLike,zr as isVisulimaError,Mr as parseStacktrace,Vr as renderError,wr as ruleBasedFinder,_r as serializeError};
@@ -1 +0,0 @@
1
- var E=Object.defineProperty;var g=(i,r)=>E(i,"name",{value:r,configurable:!0});import{green as d,inverse as s,cyan as c,yellow as f}from"@visulima/colorize";import{f as y,p as $}from"./index-DQ3pvLQH.js";const O=[{defaultValue:"32",description:"Controls the verbosity level of output. Valid values: '16' (quiet), '32' (normal), '64' (verbose), '128' (debug)",name:"CEREBRO_OUTPUT_LEVEL",type:String},{description:"Sets the minimum required Node.js version. Overrides the default minimum version check",name:"CEREBRO_MIN_NODE_VERSION",type:Number},{defaultValue:!1,description:"When set, disables the update notifier check",name:"NO_UPDATE_NOTIFIER",type:Boolean},{description:"Standard Node.js environment variable. When set to 'test', disables update notifier",name:"NODE_ENV",type:String},{defaultValue:!1,description:"When set, enables debug output (same as --debug flag)",name:"DEBUG",type:Boolean},{description:"Sets the terminal width for table rendering. Useful for testing and consistent output",name:"CEREBRO_TERMINAL_WIDTH",type:Number}],C=[{description:"Turn on verbose output",group:"global",name:"verbose",type:Boolean},{description:"Turn on debugging output",group:"global",name:"debug",type:Boolean},{alias:"h",description:"Print out helpful usage information",group:"global",name:"help",type:Boolean},{alias:"q",description:"Silence output",group:"global",name:"quiet",type:Boolean},{alias:"V",description:"Print version info",group:"global",name:"version",type:Boolean},{description:"Turn off colored output",group:"global",name:"no-color",type:Boolean},{description:"Force colored output",group:"global",name:"color",type:Boolean}];var N=Object.defineProperty,u=g((i,r)=>N(i,"name",{value:r,configurable:!0}),"p");const b="__Other",v=u(i=>i.charAt(0).toUpperCase()+i.slice(1),"upperFirstChar"),A=u((i,r,p,t)=>{i.debug("no command given, printing general help...");let n=[...new Set(p.values())].filter(e=>!e.hidden);t&&(n=n.filter(e=>e.group===t));const a=n.reduce((e,o)=>{const l=o.group??b;return e[l]||(e[l]=[]),e[l].push(o),e},{}),m=u(e=>e.map(o=>{let l="";typeof o.alias=="string"?l=o.alias:Array.isArray(o.alias)&&(l=o.alias.join(", ")),l!==""&&(l=` [${l}]`);let h=o.name;return o.commandPath&&o.commandPath.length>0&&(h=`${o.commandPath.join(" ")} ${o.name}`),[`${d(h)}${l}`,o.description??""]}),"buildCommandList");(i?.raw??i.log)($([{content:`${c(r.getCliName())} ${d("<command>")} [positional arguments] ${f("[options]")}`,header:s.cyan(" Usage ")},...Object.keys(a).map(e=>{const o=t?` ${v(t)}`:"";return{content:m(a[e]),header:e===b||t?s.green(` Available${o} Commands `):` ${s.green(` ${v(e)} `)}`}}),p.has("help")?{header:s.yellow(" Command Options "),optionList:p.get("help").options?.filter(e=>!e.hidden)}:void 0,{header:s.yellow(" Global Options "),optionList:C},{content:O.filter(e=>!e.hidden).map(e=>[e.name,e.description??""]),header:s.magenta(" Environment Variables ")},{content:`Run "${c(r.getCliName())} ${d("help <command>")}" or "${c(r.getCliName())} ${d("<command>")} ${f("--help")}" for help with a specific command.`,raw:!0}].filter(Boolean)))},"printGeneralHelp"),B=u((i,r,p,t)=>{let n=p.get(t);if(!n)for(const e of p.values()){const o=e.commandPath?[...e.commandPath,e.name]:[e.name];if(o[o.length-1]===t||o.join(" ")===t){n=e;break}}if(!n){i.error(`Command "${t}" not found`);return}const a=[],m=(n.commandPath?[...n.commandPath,n.name]:[n.name]).join(" ");if(a.push({content:`${c(r.getCliName())} ${d(m)}${n.argument?" [positional arguments]":""}${n.options?" [options]":""}`,header:s.cyan(" Usage ")}),n.description&&a.push({content:n.description,header:s.green(" Description ")}),n.argument&&a.push({header:"Command Positional Arguments",isArgument:!0,optionList:[n.argument]}),Array.isArray(n.options)&&n.options.length>0&&a.push({header:s.yellow(" Command Options "),optionList:n.options.filter(e=>!e.hidden)}),a.push({header:s.yellow(" Global Options "),optionList:C}),Array.isArray(n.env)&&n.env.length>0){const e=n.env.filter(o=>!o.hidden);e.length>0&&a.push({content:e.map(o=>[o.name,o.description??""]),header:s.magenta(" Environment Variables ")})}if(n.alias!==void 0&&n.alias.length>0){let e=n.alias;typeof n.alias=="string"&&(e=[n.alias]),a.splice(1,0,{content:e,header:"Alias(es)"})}Array.isArray(n.examples)&&n.examples.length>0&&a.push({content:n.examples,header:"Examples"}),(i?.raw??i.log)($(a))},"printCommandHelp");class R{static{g(this,"D")}static{u(this,"HelpCommand")}name="help";options=[{description:"Display only the specified group",name:"group",type:String}];commands;constructor(r){this.commands=r}execute(r){const{commandName:p,logger:t,options:n,runtime:a}=r,{footer:m,header:e}=a.getCommandSection();e&&(t?.raw??t.log)(y(e)),p==="help"?A(t,a,this.commands,typeof n?.group=="string"?n.group:void 0):B(t,a,this.commands,p),m&&(t?.raw??t.log)(y(m))}}export{R as D,C as o};
@@ -1,6 +0,0 @@
1
- var m=Object.defineProperty;var s=(r,e)=>m(r,"name",{value:e,configurable:!0});import{createRequire as b}from"node:module";import{createTable as p}from"@visulima/tabular";import{NO_BORDER as u}from"@visulima/tabular/style";import $ from"@visulima/colorize/template";import{d as O}from"./runtime-process-G-n-wOub.js";import{bold as R}from"@visulima/colorize";const v=b(import.meta.url),l=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,w=s(r=>{if(typeof l<"u"&&l.versions&&l.versions.node){const[e,t]=l.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return l.getBuiltinModule(r)}return v(r)},"__cjs_getBuiltinModule"),A=w("node:os");var j=Object.defineProperty,_=s((r,e)=>j(r,"name",{value:e,configurable:!0}),"s");const c=new Map,E=500,o=_(r=>{if(!r||r==="")return"";const e=c.get(r);if(e!==void 0)return e;const t=$(Object.assign([],{raw:[r]}));if(c.size>=E){const n=c.keys().next().value;n!==void 0&&c.delete(n)}return c.set(r,t),t},"templateFormat");var L=Object.defineProperty,N=s((r,e)=>L(r,"name",{value:e,configurable:!0}),"t$1");const g=N(()=>{const r=O().CEREBRO_TERMINAL_WIDTH;if(r===void 0)return;const e=Number.parseInt(r,10);if(!(Number.isNaN(e)||e<=0))return e},"getTerminalWidth");var S=Object.defineProperty,W=s((r,e)=>S(r,"name",{value:e,configurable:!0}),"t");class h{static{s(this,"n")}static{W(this,"BaseSection")}lines;constructor(){this.lines=[]}add(e){this.lines.push(e)}toString(){return this.lines.join(A.EOL)}header(e){this.add(R(e)),this.lines.push("")}}var T=Object.defineProperty,B=s((r,e)=>T(r,"name",{value:e,configurable:!0}),"f");class P extends h{static{s(this,"l")}static{B(this,"ContentSection")}constructor(e){if(super(),e.header&&this.header(o(e.header)),e.content){if(e.raw)if(Array.isArray(e.content)&&e.content.every(t=>typeof t=="string"))e.content.forEach(t=>{Array.isArray(t)?t.forEach(n=>this.add(o(n))):this.add(o(t))});else if(typeof e.content=="string")this.add(o(e.content));else throw new TypeError("Invalid raw content, must be a string or array of strings.");else this.add(this.getContentLines(e.content));this.add("")}}getContentLines(e){if(typeof e=="string"){const t=p({showHeader:!1,style:{border:u,paddingLeft:4,paddingRight:1},terminalWidth:g(),truncateOverflow:!1,wordWrap:!0});return t.addRow([o(e)]),t.toString()}if(Array.isArray(e)&&e.every(t=>typeof t=="string"||Array.isArray(t)&&t.every(n=>typeof n=="string"))){const t=p({showHeader:!1,style:{border:u,paddingLeft:4,paddingRight:1},terminalWidth:g(),truncateOverflow:!1,wordWrap:!0});return e.forEach(n=>{Array.isArray(n)?t.addRow(n.map(i=>o(i))):t.addRow([o(n)])}),t.toString()}if(typeof e=="object"){const t=e;if(!t.options||!t.data)throw new Error(`Must have an "options" or "data" property
2
- ${JSON.stringify(e)}`);const n=p({showHeader:!1,style:{border:u,paddingLeft:4,paddingRight:1},terminalWidth:g(),truncateOverflow:!1,wordWrap:!0});return t.data.forEach(i=>{Array.isArray(i)?n.addRow(i.map(d=>o(d))):n.addRow([o(i)])}),n.toString()}throw new Error(`invalid input - 'content' must be a string, array of strings or a object:
3
-
4
- ${JSON.stringify(e)}`)}}var M=Object.defineProperty,C=s((r,e)=>M(r,"name",{value:e,configurable:!0}),"a");class H extends h{static{s(this,"b")}static{C(this,"OptionListSection")}constructor(e){super();let t=e.optionList??[];const n=Array.isArray(e.hide)?e.hide:[e.hide].filter(Boolean),i=Array.isArray(e.group)?e.group:[e.group].filter(Boolean);n.length>0&&(t=t.filter(a=>!n.includes(a.name))),e.header&&this.header(o(e.header)),i.length>0&&(t=t.filter(a=>{const f=i.includes("_none")&&!a.group,y=this.intersect(Array.isArray(a.group)?a.group:[a.group],i);return f||y?a:void 0}));const d=p({showHeader:!1,style:{border:u,paddingLeft:2,paddingRight:1,...e.tableOptions?.style},terminalWidth:g()??e.tableOptions?.terminalWidth,truncateOverflow:!1,wordWrap:e.tableOptions?.wordWrap??!0,...e.tableOptions});t.forEach(a=>d.addRow([this.getOptionNames(a,e.reverseNameOrder??!1,e.isArgument??!1),o(a.description)])),this.add(d.toString()),this.lines.push("")}getOptionNames(e,t,n){if(!e.name)throw new TypeError("Invalid option definition, name is required.");let i=e.type?e.type.name.toLowerCase():"string";const d=e.multiple||e.lazyMultiple?"[]":"";i=o(e.typeLabel??`{underline ${i}${d}}`);let a;if(e.alias)if(e.name){const f=n?e.name:`{yellow --${e.name}}`;a=o(t?`{bold ${f}}, {bold -${e.alias}} ${i}`:`{bold -${e.alias}}, {bold ${f}} ${i}`)}else t?a=o(`{bold -${e.alias}} ${i}`):a=o(`{bold -${e.alias}} ${i}`);else a=o(`{bold ${n?e.name:`{yellow --${e.name}}`}} ${i}`);return a}intersect(e,t){return e.some(n=>t.includes(n))}}var I=Object.defineProperty,q=s((r,e)=>I(r,"name",{value:e,configurable:!0}),"o");const G=q(r=>(Array.isArray(r)?r:[r]).length===0?"":`
5
- ${r.map(e=>e.optionList?new H(e).toString():new P(e).toString()).join(`
6
- `)}`,"commandLineUsage");export{o as f,G as p};
@@ -1,24 +0,0 @@
1
- var Y=Object.defineProperty;var N=(r,e)=>Y(r,"name",{value:e,configurable:!0});import{createRequire as K}from"node:module";const Q=K(import.meta.url),S=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,X=N(r=>{if(typeof S<"u"&&S.versions&&S.versions.node){const[e,t]=S.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return S.getBuiltinModule(r)}return Q(r)},"__cjs_getBuiltinModule"),{createRequire:Z}=X("node:module");var ee=Object.defineProperty,re=N((r,e)=>ee(r,"name",{value:e,configurable:!0}),"A$2"),te=Object.defineProperty,A=re((r,e)=>te(r,"name",{value:e,configurable:!0}),"v"),ie=Object.defineProperty,oe=A((r,e)=>ie(r,"name",{value:e,configurable:!0}),"r$1");const ne=oe(r=>r.replaceAll(/\r\n|\r(?!\n)|\n/gu,`
2
- `),"normalizeLF"),se=globalThis.process||Object.create(null),M={versions:{}},_=new Proxy(se,{get(r,e){if(e in r)return r[e];if(e in M)return M[e]}});var ae=Object.defineProperty,le=A((r,e)=>ae(r,"name",{value:e,configurable:!0}),"b");const ce=le((r,e,t,i)=>{const o={column:0,line:-1,...r.start},n={...o,...r.end},s=o.line,a=o.column,c=n.line,u=n.column;let l=Math.max(s-(t+1),0),g=Math.min(e.length,c+i);s===-1&&(l=0),c===-1&&(g=e.length);const w=c-s,m={};if(w)for(let d=0;d<=w;d++){const v=d+s;if(!a)m[v]=!0;else if(d===0){const $=e[v-1]?.length;m[v]=[a,($??0)-a+1]}else if(d===w)m[v]=[0,u];else{const $=e[v-d]?.length;m[v]=[0,$]}}else a===u?m[s]=a?[a,0]:!0:m[s]=[a,(u??0)-(a??0)];return{end:g,markerLines:m,start:l}},"getMarkerLines");var ue=Object.defineProperty,E=A((r,e)=>ue(r,"name",{value:e,configurable:!0}),"o");const de=_.platform==="win32"&&!_.env?.WT_SESSION?">":"❯",fe=E((r,e,t)=>{const i={linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,tabWidth:4,...t,color:{gutter:E(d=>d,"gutter"),marker:E(d=>d,"marker"),message:E(d=>d,"message"),...t?.color}},o=e.start&&typeof e.start.column=="number";let n=ne(r).split(`
3
- `);typeof i?.tabWidth=="number"&&(n=n.map(d=>d.replaceAll(" "," ".repeat(i.tabWidth))));const{end:s,markerLines:a,start:c}=ce(e,n,i.linesAbove,i.linesBelow),u=String(s).length,{gutter:l,marker:g,message:w}=i.color;let m=n.slice(c,s).map((d,v)=>{const $=c+1+v,k=a[$],z=` ${$}`.slice(-u),D=!a[$+1],j=` ${z}${i.showGutter?" |":""}`;if(k){let O="";if(Array.isArray(k)){const U=d.replaceAll(/[^\t]/g," ").slice(0,Math.max(k[0]-1,0)),H=k[1]||1;O=[`
4
- `,i.prefix+l(j.replaceAll(/\d/g," "))," ",U,g("^").repeat(H)].join(""),D&&i.message&&(O+=` ${w(i.message)}`)}return[i.prefix+g(de),l(j),d.length>0?` ${d}`:"",O].join("")}return`${i.prefix} ${l(j)}${d.length>0?` ${d}`:""}`}).join(`
5
- `);return i.message&&!o&&(m=`${i.prefix+" ".repeat(u+1)+i.message}
6
- ${m}`),m},"codeFrame");var me=Object.defineProperty,pe=N((r,e)=>me(r,"name",{value:e,configurable:!0}),"v$1"),ve=Object.defineProperty,ge=pe((r,e)=>ve(r,"name",{value:e,configurable:!0}),"v"),$e=Object.defineProperty,p=ge((r,e)=>$e(r,"name",{value:e,configurable:!0}),"u");const h=p((r,...e)=>{process.env.DEBUG&&String(process.env.DEBUG)==="true"&&console.debug(`error:parse-stacktrace: ${r}`,...e)},"debugLog"),b="<unknown>",he=/^.*?\s*at\s(?:(.+?\)(?:\s\[.+\])?|\(?.*?)\s?\((?:address\sat\s)?)?(?:async\s)?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,be=/\((\S+)\),\s(<[^>]+>)?:(\d+)?:(\d+)?\)?/,ye=/(.*?):(\d+):(\d+)(\s<-\s(.+):(\d+):(\d+))?/,xe=/(eval)\sat\s(<anonymous>)\s\((.*)\)?:(\d+)?:(\d+)\),\s*(<anonymous>)?:(\d+)?:(\d+)/,we=/^\s*in\s(?:([^\\/]+(?:\s\[as\s\S+\])?)\s\(?)?\(at?\s?(.*?):(\d+)(?::(\d+))?\)?\s*$/,Ne=/in\s(.*)\s\(at\s(.+)\)\sat/,Se=/^(?:.*@)?(.*):(\d+):(\d+)$/,ke=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. \/=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Ee=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,je=/(\S[^\s[]*\[.*\]|.*?)@(.*):(\d+):(\d+)/,T=/\(error: (.*)\)/,B=p((r,e)=>{const t=r.includes("safari-extension"),i=r.includes("safari-web-extension");return t||i?[r.includes("@")?r.split("@")[0]:b,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[r,e]},"extractSafariExtensionDetails"),C=p((r,e)=>{const t=ye.exec(e);t&&(r.file=t[1],r.line=+t[2],r.column=+t[3])},"parseMapped"),Oe=p(r=>{const e=Ne.exec(r);if(e){h(`parse nested node error stack line: "${r}"`,`found: ${JSON.stringify(e)}`);const i=e[2].split(":");return{column:i[2]?+i[2]:void 0,file:i[0],line:i[1]?+i[1]:void 0,methodName:e[1]||b,raw:r,type:void 0}}const t=we.exec(r);if(t){h(`parse node error stack line: "${r}"`,`found: ${JSON.stringify(t)}`);const i={column:t[4]?+t[4]:void 0,file:t[2]?t[2].replace(/at\s/,""):void 0,line:t[3]?+t[3]:void 0,methodName:t[1]||b,raw:r,type:r.startsWith("internal")?"internal":void 0};return C(i,`${t[2]}:${t[3]}:${t[4]}`),i}},"parseNode"),Ae=p(r=>{const e=he.exec(r);if(e){h(`parse chrome error stack line: "${r}"`,`found: ${JSON.stringify(e)}`);const t=e[2]?.startsWith("native"),i=e[2]?.startsWith("eval")||e[1]?.startsWith("eval");let o,n;if(i){const u=be.exec(r);if(u){const l=/^(\S+):(\d+):(\d+)$|^(\S+):(\d+)$/.exec(u[1]);l?(e[2]=l[4]??l[1],e[3]=l[5]??l[2],e[4]=l[3]):u[2]&&(e[2]=u[1]),u[2]&&(o={column:u[4]?+u[4]:void 0,file:u[2],line:u[3]?+u[3]:void 0,methodName:"eval",raw:r,type:"eval"})}else{const l=xe.exec(r);l&&(n={column:l[5]?+l[5]:void 0,file:l[3],line:l[4]?+l[4]:void 0},o={column:l[8]?+l[8]:void 0,file:l[2],line:l[7]?+l[7]:void 0,methodName:"eval",raw:l[0],type:"eval"})}}const[s,a]=B(e[1]?e[1].replace(/^Anonymous function$/,"<anonymous>"):b,e[2]),c={column:e[4]?+e[4]:void 0,evalOrigin:o,file:a,line:e[3]?+e[3]:void 0,methodName:s,raw:r,type:i?"eval":t?"native":void 0};return n?(c.column=n.column,c.file=n.file,c.line=n.line):C(c,`${a}:${e[3]}:${e[4]}`),c}},"parseChromium"),Le=p((r,e)=>{const t=ke.exec(r);if(t){h(`parse gecko error stack line: "${r}"`,`found: ${JSON.stringify(t)}`);const i=t[3]?.includes(" > eval"),o=i&&t[3]&&Ee.exec(t[3]);let n;i&&o&&(t[3]=o[1],n={column:t[5]?+t[5]:void 0,file:t[3],line:t[4]?+t[4]:void 0,methodName:"eval",raw:r,type:"eval"},t[4]=o[2]);const[s,a]=B(t[1]?t[1].replace(/^Anonymous function$/,"<anonymous>"):b,t[3]);let c;(e?.type==="safari"||!i&&e?.type==="firefox")&&e.column?c=e.column:!i&&t[5]&&(c=+t[5]);let u;return(e?.type==="safari"||!i&&e?.type==="firefox")&&e.line?u=e.line:t[4]&&(u=+t[4]),{column:c,evalOrigin:n,file:a,line:u,methodName:s,raw:r,type:i?"eval":a.includes("[native code]")?"native":void 0}}},"parseGecko"),Pe=p((r,e)=>{const t=je.exec(r);if(!(t&&t[2].includes(" > eval"))&&t)return h(`parse firefox error stack line: "${r}"`,`found: ${JSON.stringify(t)}`),{column:t[4]?+t[4]:e?.column??void 0,file:t[2],line:t[3]?+t[3]:e?.line??void 0,methodName:t[1]||b,raw:r,type:void 0}},"parseFirefox"),Me=p(r=>{const e=Se.exec(r);if(e)return h(`parse react android native error stack line: "${r}"`,`found: ${JSON.stringify(e)}`),{column:e[3]?+e[3]:void 0,file:e[1],line:e[2]?+e[2]:void 0,methodName:b,raw:r,type:void 0}},"parseReactAndroidNative"),W=p((r,{filter:e,frameLimit:t=50}={})=>{let i=(r.stacktrace??r.stack??"").split(`
7
- `).map(o=>(T.test(o)?o.replace(T,"$1"):o).replace(/^\s+|\s+$/g,"")).filter(o=>!/\S*(?:Error: |AggregateError:)/.test(o)&&o!=="eval code");return e&&(i=i.filter(o=>e(o))),i=i.slice(0,t),i.reduce((o,n,s)=>{if(!n||n.length>1024)return o;let a;if(/^\s*in\s.*/.test(n))a=Oe(n);else if(/^.*?\s*at\s.*/.test(n))a=Ae(n);else if(/^.*?\s*@.*|\[native code\]/.test(n)){let c;s===0&&(r.columnNumber||r.lineNumber?c={column:r.columnNumber,line:r.lineNumber,type:"firefox"}:(r.line||r.column)&&(c={column:r.column,line:r.line,type:"safari"})),a=Pe(n,c)||Le(n,c)}else a=Me(n);return a?o.push(a):h(`parse error stack line: "${n}"`,"not parser found"),o},[])},"parseStacktrace");var _e=Object.defineProperty,Te=N((r,e)=>_e(r,"name",{value:e,configurable:!0}),"p"),Be=Object.defineProperty,G=Te((r,e)=>Be(r,"name",{value:e,configurable:!0}),"m");const Ce=Z(import.meta.url),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,L=G(r=>{if(typeof y<"u"&&y.versions&&y.versions.node){const[e,t]=y.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return y.getBuiltinModule(r)}return Ce(r)},"__cjs_getBuiltinModule"),{existsSync:We,readFileSync:Ge}=L("node:fs"),{relative:Re}=L("node:path"),{cwd:Ve}=y,{fileURLToPath:Fe}=L("node:url");var Ie=Object.defineProperty,f=G((r,e)=>Ie(r,"name",{value:e,configurable:!0}),"o");const x=f((r,e,t)=>t===0?r.toString():e===" "?r+" ".repeat(t):r+" ".repeat(e*t),"getPrefix"),Je=f((r,e)=>{const t=r.replace("async file:","file:");return Re(e,t.startsWith("file:")?Fe(t):t)},"getRelativePath"),qe=f((r,e,t)=>{if(e)return t.title(r.message);const i=r.message?`: ${r.message}`:"";return t.title(r.name+i)},"getTitleText"),R=f((r,{color:e,hideErrorTitle:t,indentation:i,prefix:o},n)=>`${x(o,i,n)}${qe(r,t,e)}
8
- `,"getMessage"),V=f((r,{color:e,indentation:t,prefix:i},o)=>{if(r.hint===void 0)return;const n=x(i,t,o);let s="";if(Array.isArray(r.hint))for(const a of r.hint)s+=`${(n+a).toString()}
9
- `;else s+=n+r.hint;return e.hint(s)},"getHint"),P=f((r,{color:e,cwd:t,displayShortPath:i,indentation:o,prefix:n},s=0)=>{const a=i?Je(r.file,t):r.file,{fileLine:c,method:u}=e;return`${x(n,o,s)}at ${r.methodName?`${u(r.methodName)} `:""}${c(a)}:${c(r.line?.toString()??"")}`.toString()},"getMainFrame"),F=f((r,{color:e,indentation:t,linesAbove:i,linesBelow:o,prefix:n,showGutter:s,showLineNumbers:a,tabWidth:c},u)=>{if(r.file===void 0)return;const l=r.file.replace("file://","");if(!We(l))return;const g=Ge(l,"utf8");return fe(g,{start:{column:r.column,line:r.line}},{color:e,linesAbove:i,linesBelow:o,prefix:x(n,t,u),showGutter:s,showLineNumbers:a,tabWidth:c})},"getCode"),I=f((r,e,t)=>{if(r.errors.length===0)return;let i=`${x(e.prefix,e.indentation,t)}Errors:
10
-
11
- `,o=!0;for(const n of r.errors)o?o=!1:i+=`
12
-
13
- `,i+=q(n,{...e,framesMaxLimit:1,hideErrorCodeView:e.hideErrorErrorsCodeView},t+1);return`
14
- ${i}`},"getErrors"),J=f((r,e,t)=>{let i=`${x(e.prefix,e.indentation,t)}Caused by:
15
-
16
- `;const o=r.cause;i+=R(o,e,t);const n=W(o).shift(),s=V(o,e,t);if(s&&(i+=`${s}
17
- `),n&&(i+=P(n,e,t),!e.hideErrorCauseCodeView)){const a=F(n,e,t);a!==void 0&&(i+=`
18
- ${a}`)}if(o.cause)i+=`
19
- ${J(o,e,t+1)}`;else if(o instanceof AggregateError){const a=I(o,e,t);a!==void 0&&(i+=`
20
- ${a}`)}return`
21
- ${i}`},"getCause"),ze=f((r,e)=>(r.length>0?`
22
- `:"")+r.map(t=>P(t,e)).join(`
23
- `),"getStacktrace"),q=f((r,e,t)=>{const i={cwd:Ve(),displayShortPath:!1,filterStacktrace:void 0,framesMaxLimit:Number.POSITIVE_INFINITY,hideErrorCauseCodeView:!1,hideErrorCodeView:!1,hideErrorErrorsCodeView:!1,hideErrorTitle:!1,hideMessage:!1,indentation:4,linesAbove:2,linesBelow:3,prefix:"",showGutter:!0,showLineNumbers:!0,tabWidth:4,...e,color:{fileLine:f(s=>s,"fileLine"),gutter:f(s=>s,"gutter"),hint:f(s=>s,"hint"),marker:f(s=>s,"marker"),message:f(s=>s,"message"),method:f(s=>s,"method"),title:f(s=>s,"title"),...e.color}},o=W(r,{filter:e.filterStacktrace,frameLimit:i.framesMaxLimit}),n=o.shift();return[e.hideMessage?void 0:R(r,i,t),V(r,i,t),n?P(n,i,t):void 0,n&&!i.hideErrorCodeView?F(n,i,t):void 0,r instanceof AggregateError?I(r,i,t):void 0,r.cause===void 0?void 0:J(r,i,t),o.length>0?ze(o,i):void 0].filter(Boolean).join(`
24
- `).replaceAll("\\","/")},"internalRenderError"),He=f((r,e={})=>{if(e.framesMaxLimit!==void 0&&e.framesMaxLimit<=0)throw new RangeError("The 'framesMaxLimit' option must be a positive number");return q(r,e,0)},"renderError");export{He as G,fe as N,W as P,de as k};
@@ -1,53 +0,0 @@
1
- import type { Plugin, PluginContext } from "./types/plugin.d.ts";
2
- import type { Toolbox } from "./types/toolbox.d.ts";
3
- type Logger = Console;
4
- /**
5
- * Manages plugin lifecycle and execution
6
- */
7
- declare class PluginManager<T extends Logger = Logger> {
8
- private readonly logger;
9
- private readonly plugins;
10
- private initialized;
11
- private cachedDependencyOrder;
12
- constructor(logger: T);
13
- /**
14
- * Checks if any plugins are registered.
15
- * @returns True if at least one plugin is registered
16
- */
17
- hasPlugins(): boolean;
18
- /**
19
- * Registers a plugin.
20
- * @param plugin The plugin to register
21
- * @throws {Error} If plugin name is already registered or dependencies are invalid
22
- */
23
- register(plugin: Plugin<T>): void;
24
- /**
25
- * Initializes all registered plugins.
26
- * @param context The plugin context for initialization
27
- */
28
- init(context: PluginContext<T>): Promise<void>;
29
- /**
30
- * Executes a specific lifecycle hook for all plugins.
31
- * @param hook The lifecycle hook name
32
- * @param toolbox The command toolbox (for command-specific hooks)
33
- * @param result The command result (for afterCommand hook)
34
- */
35
- executeLifecycle(hook: "beforeCommand" | "afterCommand" | "execute", toolbox: Toolbox<T>, result?: unknown): Promise<void>;
36
- /**
37
- * Executes error handlers for all plugins.
38
- * @param error The error that occurred
39
- * @param toolbox The command toolbox
40
- */
41
- executeErrorHandlers(error: Error, toolbox: Toolbox<T>): Promise<void>;
42
- /**
43
- * Gets all registered plugins in dependency order.
44
- * @returns Array of plugins sorted by dependencies
45
- */
46
- getDependencyOrder(): Plugin<T>[];
47
- /**
48
- * Validates that all plugin dependencies exist.
49
- * @throws {Error} If any dependencies are missing
50
- */
51
- private validateDependencies;
52
- }
53
- export default PluginManager;
@@ -1,11 +0,0 @@
1
- /**
2
- * Retrieves the last update check timestamp for the specified package.
3
- * @param packageName
4
- * @returns - The timestamp of the last update check, or undefined if the check failed.
5
- */
6
- export declare const getLastUpdate: (packageName: string) => number | undefined;
7
- /**
8
- * Saves the last update time for a given package.
9
- * @param packageName
10
- */
11
- export declare const saveLastUpdate: (packageName: string) => void;
@@ -1,2 +0,0 @@
1
- declare const getDistributionVersion: (packageName: string, distributionTag: string, registryUrl: string) => Promise<string>;
2
- export default getDistributionVersion;
@@ -1,14 +0,0 @@
1
- declare const hasNewVersion: ({ alwaysRun, debug, distTag: distributionTag, pkg, registryUrl, updateCheckInterval, }: UpdateNotifierOptions) => Promise<string | undefined>;
2
- export type UpdateNotifierOptions = {
3
- alwaysRun?: boolean;
4
- debug?: boolean;
5
- distTag?: string;
6
- pkg: {
7
- name: string;
8
- version: string;
9
- };
10
- registryUrl?: string;
11
- shouldNotifyInNpmScript?: boolean;
12
- updateCheckInterval?: number;
13
- };
14
- export default hasNewVersion;
@@ -1,102 +0,0 @@
1
- import type PluginManager from "../plugin-manager.d.ts";
2
- import type { Command as ICommand, OptionDefinition } from "./command.d.ts";
3
- import type { Plugin } from "./plugin.d.ts";
4
- export type CommandSection = {
5
- footer?: string;
6
- header?: string;
7
- };
8
- export type CliRunOptions = {
9
- [key: string]: unknown;
10
- /**
11
- * Whether to automatically dispose/cleanup the CLI instance after execution
12
- * @default true
13
- */
14
- autoDispose?: boolean;
15
- shouldExitProcess?: boolean;
16
- };
17
- export type RunCommandOptions = {
18
- /**
19
- * Extra options to merge into the command's options.
20
- * These will be merged with the command's default options and parsed arguments.
21
- * Use this to override or add additional options programmatically.
22
- * @default Empty object
23
- */
24
- [key: string]: unknown;
25
- /**
26
- * Command-line arguments to pass to the command.
27
- * If not provided, uses the default argv from the CLI instance.
28
- * These arguments will be parsed and merged with the command's options.
29
- * @default Empty array
30
- */
31
- argv?: string[];
32
- };
33
- export interface Cli<T extends Console> {
34
- /**
35
- * Add an arbitrary command to the CLI.
36
- * @param command The command to add.
37
- * @returns self
38
- */
39
- addCommand: <OD extends OptionDefinition<unknown> = OptionDefinition<unknown>>(command: ICommand<OD, T>) => this;
40
- /**
41
- * Add a plugin to extend the CLI functionality
42
- * @param plugin The plugin to add.
43
- * @returns self
44
- */
45
- addPlugin: (plugin: Plugin<T>) => this;
46
- /**
47
- * Disposes the CLI instance and cleans up resources
48
- * @returns void
49
- */
50
- dispose: () => void;
51
- getCliName: () => string;
52
- getCommands: () => Map<string, ICommand<OptionDefinition<unknown>, T>>;
53
- getCommandSection: () => CommandSection;
54
- getCwd: () => string;
55
- getPackageName: () => string | undefined;
56
- getPackageVersion: () => string | undefined;
57
- /**
58
- * Get the plugin manager instance
59
- * @returns The plugin manager
60
- */
61
- getPluginManager: () => PluginManager<T>;
62
- run: (extraOptions?: CliRunOptions) => Promise<void>;
63
- /**
64
- * Runs a command programmatically from within another command.
65
- * This allows commands to call other commands during execution.
66
- * @param commandName The name of the command to execute
67
- * @param options Optional options including argv and other command options
68
- * @returns A promise that resolves with the command's result (or void if command doesn't return a value)
69
- * @throws {Error} If the specified command doesn't exist or command arguments are invalid
70
- * @example
71
- * ```typescript
72
- * cli.addCommand({
73
- * name: 'deploy',
74
- * execute: async ({ runtime, logger }) => {
75
- * logger.info('Building...');
76
- * const buildResult = await runtime.runCommand('build', { argv: ['--production'] });
77
- * // buildResult is the return value from the build command's execute function
78
- *
79
- * logger.info('Testing...');
80
- * await runtime.runCommand('test', { argv: ['--coverage'] });
81
- * }
82
- * });
83
- * ```
84
- */
85
- runCommand: (commandName: string, options?: RunCommandOptions) => Promise<unknown>;
86
- setCommandSection: (commandSection: CommandSection) => this;
87
- /**
88
- * Set a default command, to display a different command if cli is call without command.
89
- * @param commandName
90
- * @returns self
91
- */
92
- setDefaultCommand: (commandName: string) => this;
93
- }
94
- /**
95
- * Any of the output types [[OUTPUT_NORMAL]], [[OUTPUT_RAW]] and [[OUTPUT_PLAIN]].
96
- */
97
- export type OutputType = 1 | 2 | 4;
98
- /**
99
- * Any of the verbosity types
100
- * [[VERBOSITY_QUIET]], [[VERBOSITY_NORMAL]], [[VERBOSITY_VERBOSE]] and [[VERBOSITY_DEBUG]].
101
- */
102
- export type VERBOSITY_LEVEL = 16 | 32 | 64 | 128 | 256;