@automagik/genie 0.260202.453 → 0.260202.1607

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/term.js CHANGED
@@ -1,68 +1,68 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var F0=Object.create;var{getPrototypeOf:D0,defineProperty:m,getOwnPropertyNames:y0}=Object;var P0=Object.prototype.hasOwnProperty;var j0=($,J,q)=>{q=$!=null?F0(D0($)):{};let U=J||!$||!$.__esModule?m(q,"default",{value:$,enumerable:!0}):q;for(let G of y0($))if(!P0.call(U,G))m(U,G,{get:()=>$[G],enumerable:!0});return U};var A=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var R6=($,J)=>{for(var q in J)m($,q,{get:J[q],enumerable:!0,configurable:!0,set:(U)=>J[q]=()=>U})};var f=import.meta.require;var b=A((A0)=>{class r extends Error{constructor($,J,q){super(q);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=J,this.exitCode=$,this.nestedError=void 0}}class H1 extends r{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}A0.CommanderError=r;A0.InvalidArgumentError=H1});var v=A((C0)=>{var{InvalidArgumentError:O0}=b();class R1{constructor($,J){switch(this.description=J||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue($,J){if(J===this.defaultValue||!Array.isArray(J))return[$];return J.concat($)}default($,J){return this.defaultValue=$,this.defaultValueDescription=J,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(J,q)=>{if(!this.argChoices.includes(J))throw new O0(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(J,q);return J},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function f0($){let J=$.name()+($.variadic===!0?"...":"");return $.required?"<"+J+">":"["+J+"]"}C0.Argument=R1;C0.humanReadableArgName=f0});var s=A((x0)=>{var{humanReadableArgName:b0}=v();class B1{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands($){let J=$.commands.filter((U)=>!U._hidden),q=$._getHelpCommand();if(q&&!q._hidden)J.push(q);if(this.sortSubcommands)J.sort((U,G)=>{return U.name().localeCompare(G.name())});return J}compareOptions($,J){let q=(U)=>{return U.short?U.short.replace(/^-/,""):U.long.replace(/^--/,"")};return q($).localeCompare(q(J))}visibleOptions($){let J=$.options.filter((U)=>!U.hidden),q=$._getHelpOption();if(q&&!q.hidden){let U=q.short&&$._findOption(q.short),G=q.long&&$._findOption(q.long);if(!U&&!G)J.push(q);else if(q.long&&!G)J.push($.createOption(q.long,q.description));else if(q.short&&!U)J.push($.createOption(q.short,q.description))}if(this.sortOptions)J.sort(this.compareOptions);return J}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let J=[];for(let q=$.parent;q;q=q.parent){let U=q.options.filter((G)=>!G.hidden);J.push(...U)}if(this.sortOptions)J.sort(this.compareOptions);return J}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((J)=>{J.description=J.description||$._argsDescription[J.name()]||""});if($.registeredArguments.find((J)=>J.description))return $.registeredArguments;return[]}subcommandTerm($){let J=$.registeredArguments.map((q)=>b0(q)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(J?" "+J:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,J){return J.visibleCommands($).reduce((q,U)=>{return Math.max(q,J.subcommandTerm(U).length)},0)}longestOptionTermLength($,J){return J.visibleOptions($).reduce((q,U)=>{return Math.max(q,J.optionTerm(U).length)},0)}longestGlobalOptionTermLength($,J){return J.visibleGlobalOptions($).reduce((q,U)=>{return Math.max(q,J.optionTerm(U).length)},0)}longestArgumentTermLength($,J){return J.visibleArguments($).reduce((q,U)=>{return Math.max(q,J.argumentTerm(U).length)},0)}commandUsage($){let J=$._name;if($._aliases[0])J=J+"|"+$._aliases[0];let q="";for(let U=$.parent;U;U=U.parent)q=U.name()+" "+q;return q+J+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let J=[];if($.argChoices)J.push(`choices: ${$.argChoices.map((q)=>JSON.stringify(q)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")J.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)J.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)J.push(`env: ${$.envVar}`);if(J.length>0)return`${$.description} (${J.join(", ")})`;return $.description}argumentDescription($){let J=[];if($.argChoices)J.push(`choices: ${$.argChoices.map((q)=>JSON.stringify(q)).join(", ")}`);if($.defaultValue!==void 0)J.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(J.length>0){let q=`(${J.join(", ")})`;if($.description)return`${$.description} ${q}`;return q}return $.description}formatHelp($,J){let q=J.padWidth($,J),U=J.helpWidth||80,G=2,X=2;function Q(H,T){if(T){let j=`${H.padEnd(q+2)}${T}`;return J.wrap(j,U-2,q+2)}return H}function Z(H){return H.join(`
4
- `).replace(/^/gm," ".repeat(2))}let _=[`Usage: ${J.commandUsage($)}`,""],Y=J.commandDescription($);if(Y.length>0)_=_.concat([J.wrap(Y,U,0),""]);let S=J.visibleArguments($).map((H)=>{return Q(J.argumentTerm(H),J.argumentDescription(H))});if(S.length>0)_=_.concat(["Arguments:",Z(S),""]);let W=J.visibleOptions($).map((H)=>{return Q(J.optionTerm(H),J.optionDescription(H))});if(W.length>0)_=_.concat(["Options:",Z(W),""]);if(this.showGlobalOptions){let H=J.visibleGlobalOptions($).map((T)=>{return Q(J.optionTerm(T),J.optionDescription(T))});if(H.length>0)_=_.concat(["Global Options:",Z(H),""])}let B=J.visibleCommands($).map((H)=>{return Q(J.subcommandTerm(H),J.subcommandDescription(H))});if(B.length>0)_=_.concat(["Commands:",Z(B),""]);return _.join(`
5
- `)}padWidth($,J){return Math.max(J.longestOptionTermLength($,J),J.longestGlobalOptionTermLength($,J),J.longestSubcommandTermLength($,J),J.longestArgumentTermLength($,J))}wrap($,J,q,U=40){let X=new RegExp(`[\\n][${" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF"}]+`);if($.match(X))return $;let Q=J-q;if(Q<U)return $;let Z=$.slice(0,q),_=$.slice(q).replace(`\r
3
+ var X6=Object.create;var{getPrototypeOf:Q6,defineProperty:Q1,getOwnPropertyNames:W6}=Object;var Y6=Object.prototype.hasOwnProperty;var H6=($,q,J)=>{J=$!=null?X6(Q6($)):{};let X=q||!$||!$.__esModule?Q1(J,"default",{value:$,enumerable:!0}):J;for(let Q of W6($))if(!Y6.call(X,Q))Q1(X,Q,{get:()=>$[Q],enumerable:!0});return X};var Q$=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports);var _6=($,q)=>{for(var J in q)Q1($,J,{get:q[J],enumerable:!0,configurable:!0,set:(X)=>q[J]=()=>X})};var R$=import.meta.require;var T$=Q$((B6)=>{class W1 extends Error{constructor($,q,J){super(J);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=q,this.exitCode=$,this.nestedError=void 0}}class f1 extends W1{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}B6.CommanderError=W1;B6.InvalidArgumentError=f1});var m$=Q$((R6)=>{var{InvalidArgumentError:z6}=T$();class P1{constructor($,q){switch(this.description=q||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue($,q){if(q===this.defaultValue||!Array.isArray(q))return[$];return q.concat($)}default($,q){return this.defaultValue=$,this.defaultValueDescription=q,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(q,J)=>{if(!this.argChoices.includes(q))throw new z6(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(q,J);return q},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function U6($){let q=$.name()+($.variadic===!0?"...":"");return $.required?"<"+q+">":"["+q+"]"}R6.Argument=P1;R6.humanReadableArgName=U6});var Y1=Q$((j6)=>{var{humanReadableArgName:E6}=m$();class k1{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands($){let q=$.commands.filter((X)=>!X._hidden),J=$._getHelpCommand();if(J&&!J._hidden)q.push(J);if(this.sortSubcommands)q.sort((X,Q)=>{return X.name().localeCompare(Q.name())});return q}compareOptions($,q){let J=(X)=>{return X.short?X.short.replace(/^-/,""):X.long.replace(/^--/,"")};return J($).localeCompare(J(q))}visibleOptions($){let q=$.options.filter((X)=>!X.hidden),J=$._getHelpOption();if(J&&!J.hidden){let X=J.short&&$._findOption(J.short),Q=J.long&&$._findOption(J.long);if(!X&&!Q)q.push(J);else if(J.long&&!Q)q.push($.createOption(J.long,J.description));else if(J.short&&!X)q.push($.createOption(J.short,J.description))}if(this.sortOptions)q.sort(this.compareOptions);return q}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let q=[];for(let J=$.parent;J;J=J.parent){let X=J.options.filter((Q)=>!Q.hidden);q.push(...X)}if(this.sortOptions)q.sort(this.compareOptions);return q}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((q)=>{q.description=q.description||$._argsDescription[q.name()]||""});if($.registeredArguments.find((q)=>q.description))return $.registeredArguments;return[]}subcommandTerm($){let q=$.registeredArguments.map((J)=>E6(J)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(q?" "+q:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,q){return q.visibleCommands($).reduce((J,X)=>{return Math.max(J,q.subcommandTerm(X).length)},0)}longestOptionTermLength($,q){return q.visibleOptions($).reduce((J,X)=>{return Math.max(J,q.optionTerm(X).length)},0)}longestGlobalOptionTermLength($,q){return q.visibleGlobalOptions($).reduce((J,X)=>{return Math.max(J,q.optionTerm(X).length)},0)}longestArgumentTermLength($,q){return q.visibleArguments($).reduce((J,X)=>{return Math.max(J,q.argumentTerm(X).length)},0)}commandUsage($){let q=$._name;if($._aliases[0])q=q+"|"+$._aliases[0];let J="";for(let X=$.parent;X;X=X.parent)J=X.name()+" "+J;return J+q+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let q=[];if($.argChoices)q.push(`choices: ${$.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")q.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)q.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)q.push(`env: ${$.envVar}`);if(q.length>0)return`${$.description} (${q.join(", ")})`;return $.description}argumentDescription($){let q=[];if($.argChoices)q.push(`choices: ${$.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if($.defaultValue!==void 0)q.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(q.length>0){let J=`(${q.join(", ")})`;if($.description)return`${$.description} ${J}`;return J}return $.description}formatHelp($,q){let J=q.padWidth($,q),X=q.helpWidth||80,Q=2,W=2;function Y(F,y){if(y){let X$=`${F.padEnd(J+2)}${y}`;return q.wrap(X$,X-2,J+2)}return F}function H(F){return F.join(`
4
+ `).replace(/^/gm," ".repeat(2))}let _=[`Usage: ${q.commandUsage($)}`,""],B=q.commandDescription($);if(B.length>0)_=_.concat([q.wrap(B,X,0),""]);let R=q.visibleArguments($).map((F)=>{return Y(q.argumentTerm(F),q.argumentDescription(F))});if(R.length>0)_=_.concat(["Arguments:",H(R),""]);let K=q.visibleOptions($).map((F)=>{return Y(q.optionTerm(F),q.optionDescription(F))});if(K.length>0)_=_.concat(["Options:",H(K),""]);if(this.showGlobalOptions){let F=q.visibleGlobalOptions($).map((y)=>{return Y(q.optionTerm(y),q.optionDescription(y))});if(F.length>0)_=_.concat(["Global Options:",H(F),""])}let A=q.visibleCommands($).map((F)=>{return Y(q.subcommandTerm(F),q.subcommandDescription(F))});if(A.length>0)_=_.concat(["Commands:",H(A),""]);return _.join(`
5
+ `)}padWidth($,q){return Math.max(q.longestOptionTermLength($,q),q.longestGlobalOptionTermLength($,q),q.longestSubcommandTermLength($,q),q.longestArgumentTermLength($,q))}wrap($,q,J,X=40){let W=new RegExp(`[\\n][${" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF"}]+`);if($.match(W))return $;let Y=q-J;if(Y<X)return $;let H=$.slice(0,J),_=$.slice(J).replace(`\r
6
6
  `,`
7
- `),Y=" ".repeat(q),W=`\\s${"\u200B"}`,B=new RegExp(`
8
- |.{1,${Q-1}}([${W}]|$)|[^${W}]+?([${W}]|$)`,"g"),H=_.match(B)||[];return Z+H.map((T,j)=>{if(T===`
9
- `)return"";return(j>0?Y:"")+T.trimEnd()}).join(`
10
- `)}}x0.Help=B1});var i=A((c0)=>{var{InvalidArgumentError:h0}=b();class K1{constructor($,J){this.flags=$,this.description=J||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let q=u0($);if(this.short=q.shortFlag,this.long=q.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default($,J){return this.defaultValue=$,this.defaultValueDescription=J,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let J=$;if(typeof $==="string")J={[$]:!0};return this.implied=Object.assign(this.implied||{},J),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_concatValue($,J){if(J===this.defaultValue||!Array.isArray(J))return[$];return J.concat($)}choices($){return this.argChoices=$.slice(),this.parseArg=(J,q)=>{if(!this.argChoices.includes(J))throw new h0(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(J,q);return J},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){return g0(this.name().replace(/^no-/,""))}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class E1{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((J)=>{if(J.negate)this.negativeOptions.set(J.attributeName(),J);else this.positiveOptions.set(J.attributeName(),J)}),this.negativeOptions.forEach((J,q)=>{if(this.positiveOptions.has(q))this.dualOptions.add(q)})}valueFromOption($,J){let q=J.attributeName();if(!this.dualOptions.has(q))return!0;let U=this.negativeOptions.get(q).presetArg,G=U!==void 0?U:!1;return J.negate===(G===$)}}function g0($){return $.split("-").reduce((J,q)=>{return J+q[0].toUpperCase()+q.slice(1)})}function u0($){let J,q,U=$.split(/[ |,]+/);if(U.length>1&&!/^[[<]/.test(U[1]))J=U.shift();if(q=U.shift(),!J&&/^-[^-]$/.test(q))J=q,q=void 0;return{shortFlag:J,longFlag:q}}c0.Option=K1;c0.DualOptions=E1});var z1=A((r0)=>{function p0($,J){if(Math.abs($.length-J.length)>3)return Math.max($.length,J.length);let q=[];for(let U=0;U<=$.length;U++)q[U]=[U];for(let U=0;U<=J.length;U++)q[0][U]=U;for(let U=1;U<=J.length;U++)for(let G=1;G<=$.length;G++){let X=1;if($[G-1]===J[U-1])X=0;else X=1;if(q[G][U]=Math.min(q[G-1][U]+1,q[G][U-1]+1,q[G-1][U-1]+X),G>1&&U>1&&$[G-1]===J[U-2]&&$[G-2]===J[U-1])q[G][U]=Math.min(q[G][U],q[G-2][U-2]+1)}return q[$.length][J.length]}function m0($,J){if(!J||J.length===0)return"";J=Array.from(new Set(J));let q=$.startsWith("--");if(q)$=$.slice(2),J=J.map((Q)=>Q.slice(2));let U=[],G=3,X=0.4;if(J.forEach((Q)=>{if(Q.length<=1)return;let Z=p0($,Q),_=Math.max($.length,Q.length);if((_-Z)/_>X){if(Z<G)G=Z,U=[Q];else if(Z===G)U.push(Q)}}),U.sort((Q,Z)=>Q.localeCompare(Z)),q)U=U.map((Q)=>`--${Q}`);if(U.length>1)return`
11
- (Did you mean one of ${U.join(", ")}?)`;if(U.length===1)return`
12
- (Did you mean ${U[0]}?)`;return""}r0.suggestSimilar=m0});var T1=A((e0)=>{var i0=f("events").EventEmitter,t=f("child_process"),y=f("path"),o=f("fs"),E=f("process"),{Argument:t0,humanReadableArgName:o0}=v(),{CommanderError:a}=b(),{Help:a0}=s(),{Option:L1,DualOptions:n0}=i(),{suggestSimilar:V1}=z1();class n extends i0{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!0,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._outputConfiguration={writeOut:(J)=>E.stdout.write(J),writeErr:(J)=>E.stderr.write(J),getOutHelpWidth:()=>E.stdout.isTTY?E.stdout.columns:void 0,getErrHelpWidth:()=>E.stderr.isTTY?E.stderr.columns:void 0,outputError:(J,q)=>q(J)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let J=this;J;J=J.parent)$.push(J);return $}command($,J,q){let U=J,G=q;if(typeof U==="object"&&U!==null)G=U,U=null;G=G||{};let[,X,Q]=$.match(/([^ ]+) *(.*)/),Z=this.createCommand(X);if(U)Z.description(U),Z._executableHandler=!0;if(G.isDefault)this._defaultCommandName=Z._name;if(Z._hidden=!!(G.noHelp||G.hidden),Z._executableFile=G.executableFile||null,Q)Z.arguments(Q);if(this._registerCommand(Z),Z.parent=this,Z.copyInheritedSettings(this),U)return this;return Z}createCommand($){return new n($)}createHelp(){return Object.assign(new a0,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,$),this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,J){if(!$._name)throw Error(`Command passed to .addCommand() must have a name
13
- - specify the name in Command constructor or using .name()`);if(J=J||{},J.isDefault)this._defaultCommandName=$._name;if(J.noHelp||J.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,J){return new t0($,J)}argument($,J,q,U){let G=this.createArgument($,J);if(typeof q==="function")G.default(U).argParser(q);else G.default(q);return this.addArgument(G),this}arguments($){return $.trim().split(/ +/).forEach((J)=>{this.argument(J)}),this}addArgument($){let J=this.registeredArguments.slice(-1)[0];if(J&&J.variadic)throw Error(`only the last argument can be variadic '${J.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,J){if(typeof $==="boolean")return this._addImplicitHelpCommand=$,this;$=$??"help [command]";let[,q,U]=$.match(/([^ ]+) *(.*)/),G=J??"display help for command",X=this.createCommand(q);if(X.helpOption(!1),U)X.arguments(U);if(G)X.description(G);return this._addImplicitHelpCommand=!0,this._helpCommand=X,this}addHelpCommand($,J){if(typeof $!=="object")return this.helpCommand($,J),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,J){let q=["preSubcommand","preAction","postAction"];if(!q.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'.
14
- Expecting one of '${q.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(J);else this._lifeCycleHooks[$]=[J];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(J)=>{if(J.code!=="commander.executeSubCommandAsync")throw J};return this}_exit($,J,q){if(this._exitCallback)this._exitCallback(new a($,J,q));E.exit($)}action($){let J=(q)=>{let U=this.registeredArguments.length,G=q.slice(0,U);if(this._storeOptionsAsProperties)G[U]=this;else G[U]=this.opts();return G.push(this),$.apply(this,G)};return this._actionHandler=J,this}createOption($,J){return new L1($,J)}_callParseArg($,J,q,U){try{return $.parseArg(J,q)}catch(G){if(G.code==="commander.invalidArgument"){let X=`${U} ${G.message}`;this.error(X,{exitCode:G.exitCode,code:G.code})}throw G}}_registerOption($){let J=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(J){let q=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${q}'
15
- - already used by option '${J.flags}'`)}this.options.push($)}_registerCommand($){let J=(U)=>{return[U.name()].concat(U.aliases())},q=J($).find((U)=>this._findCommand(U));if(q){let U=J(this._findCommand(q)).join("|"),G=J($).join("|");throw Error(`cannot add command '${G}' as already have command '${U}'`)}this.commands.push($)}addOption($){this._registerOption($);let J=$.name(),q=$.attributeName();if($.negate){let G=$.long.replace(/^--no-/,"--");if(!this._findOption(G))this.setOptionValueWithSource(q,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(q,$.defaultValue,"default");let U=(G,X,Q)=>{if(G==null&&$.presetArg!==void 0)G=$.presetArg;let Z=this.getOptionValue(q);if(G!==null&&$.parseArg)G=this._callParseArg($,G,Z,X);else if(G!==null&&$.variadic)G=$._concatValue(G,Z);if(G==null)if($.negate)G=!1;else if($.isBoolean()||$.optional)G=!0;else G="";this.setOptionValueWithSource(q,G,Q)};if(this.on("option:"+J,(G)=>{let X=`error: option '${$.flags}' argument '${G}' is invalid.`;U(G,X,"cli")}),$.envVar)this.on("optionEnv:"+J,(G)=>{let X=`error: option '${$.flags}' value '${G}' from env '${$.envVar}' is invalid.`;U(G,X,"env")});return this}_optionEx($,J,q,U,G){if(typeof J==="object"&&J instanceof L1)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let X=this.createOption(J,q);if(X.makeOptionMandatory(!!$.mandatory),typeof U==="function")X.default(G).argParser(U);else if(U instanceof RegExp){let Q=U;U=(Z,_)=>{let Y=Q.exec(Z);return Y?Y[0]:_},X.default(G).argParser(U)}else X.default(U);return this.addOption(X)}option($,J,q,U){return this._optionEx({},$,J,q,U)}requiredOption($,J,q,U){return this._optionEx({mandatory:!0},$,J,q,U)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,J){return this.setOptionValueWithSource($,J,void 0)}setOptionValueWithSource($,J,q){if(this._storeOptionsAsProperties)this[$]=J;else this._optionValues[$]=J;return this._optionValueSources[$]=q,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let J;return this._getCommandAndAncestors().forEach((q)=>{if(q.getOptionValueSource($)!==void 0)J=q.getOptionValueSource($)}),J}_prepareUserArgs($,J){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(J=J||{},$===void 0&&J.from===void 0){if(E.versions?.electron)J.from="electron";let U=E.execArgv??[];if(U.includes("-e")||U.includes("--eval")||U.includes("-p")||U.includes("--print"))J.from="eval"}if($===void 0)$=E.argv;this.rawArgs=$.slice();let q;switch(J.from){case void 0:case"node":this._scriptPath=$[1],q=$.slice(2);break;case"electron":if(E.defaultApp)this._scriptPath=$[1],q=$.slice(2);else q=$.slice(1);break;case"user":q=$.slice(0);break;case"eval":q=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${J.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",q}parse($,J){let q=this._prepareUserArgs($,J);return this._parseCommand([],q),this}async parseAsync($,J){let q=this._prepareUserArgs($,J);return await this._parseCommand([],q),this}_executeSubCommand($,J){J=J.slice();let q=!1,U=[".js",".ts",".tsx",".mjs",".cjs"];function G(Y,S){let W=y.resolve(Y,S);if(o.existsSync(W))return W;if(U.includes(y.extname(S)))return;let B=U.find((H)=>o.existsSync(`${W}${H}`));if(B)return`${W}${B}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let X=$._executableFile||`${this._name}-${$._name}`,Q=this._executableDir||"";if(this._scriptPath){let Y;try{Y=o.realpathSync(this._scriptPath)}catch(S){Y=this._scriptPath}Q=y.resolve(y.dirname(Y),Q)}if(Q){let Y=G(Q,X);if(!Y&&!$._executableFile&&this._scriptPath){let S=y.basename(this._scriptPath,y.extname(this._scriptPath));if(S!==this._name)Y=G(Q,`${S}-${$._name}`)}X=Y||X}q=U.includes(y.extname(X));let Z;if(E.platform!=="win32")if(q)J.unshift(X),J=M1(E.execArgv).concat(J),Z=t.spawn(E.argv[0],J,{stdio:"inherit"});else Z=t.spawn(X,J,{stdio:"inherit"});else J.unshift(X),J=M1(E.execArgv).concat(J),Z=t.spawn(E.execPath,J,{stdio:"inherit"});if(!Z.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((S)=>{E.on(S,()=>{if(Z.killed===!1&&Z.exitCode===null)Z.kill(S)})});let _=this._exitCallback;Z.on("close",(Y)=>{if(Y=Y??1,!_)E.exit(Y);else _(new a(Y,"commander.executeSubCommandAsync","(close)"))}),Z.on("error",(Y)=>{if(Y.code==="ENOENT"){let S=Q?`searched for local subcommand relative to directory '${Q}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",W=`'${X}' does not exist
7
+ `),B=" ".repeat(J),K=`\\s${"\u200B"}`,A=new RegExp(`
8
+ |.{1,${Y-1}}([${K}]|$)|[^${K}]+?([${K}]|$)`,"g"),F=_.match(A)||[];return H+F.map((y,X$)=>{if(y===`
9
+ `)return"";return(X$>0?B:"")+y.trimEnd()}).join(`
10
+ `)}}j6.Help=k1});var H1=Q$((F6)=>{var{InvalidArgumentError:K6}=T$();class I1{constructor($,q){this.flags=$,this.description=q||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let J=A6($);if(this.short=J.shortFlag,this.long=J.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default($,q){return this.defaultValue=$,this.defaultValueDescription=q,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let q=$;if(typeof $==="string")q={[$]:!0};return this.implied=Object.assign(this.implied||{},q),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_concatValue($,q){if(q===this.defaultValue||!Array.isArray(q))return[$];return q.concat($)}choices($){return this.argChoices=$.slice(),this.parseArg=(q,J)=>{if(!this.argChoices.includes(q))throw new K6(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(q,J);return q},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){return D6(this.name().replace(/^no-/,""))}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class T1{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((q)=>{if(q.negate)this.negativeOptions.set(q.attributeName(),q);else this.positiveOptions.set(q.attributeName(),q)}),this.negativeOptions.forEach((q,J)=>{if(this.positiveOptions.has(J))this.dualOptions.add(J)})}valueFromOption($,q){let J=q.attributeName();if(!this.dualOptions.has(J))return!0;let X=this.negativeOptions.get(J).presetArg,Q=X!==void 0?X:!1;return q.negate===(Q===$)}}function D6($){return $.split("-").reduce((q,J)=>{return q+J[0].toUpperCase()+J.slice(1)})}function A6($){let q,J,X=$.split(/[ |,]+/);if(X.length>1&&!/^[[<]/.test(X[1]))q=X.shift();if(J=X.shift(),!q&&/^-[^-]$/.test(J))q=J,J=void 0;return{shortFlag:q,longFlag:J}}F6.Option=I1;F6.DualOptions=T1});var C1=Q$((v6)=>{function N6($,q){if(Math.abs($.length-q.length)>3)return Math.max($.length,q.length);let J=[];for(let X=0;X<=$.length;X++)J[X]=[X];for(let X=0;X<=q.length;X++)J[0][X]=X;for(let X=1;X<=q.length;X++)for(let Q=1;Q<=$.length;Q++){let W=1;if($[Q-1]===q[X-1])W=0;else W=1;if(J[Q][X]=Math.min(J[Q-1][X]+1,J[Q][X-1]+1,J[Q-1][X-1]+W),Q>1&&X>1&&$[Q-1]===q[X-2]&&$[Q-2]===q[X-1])J[Q][X]=Math.min(J[Q][X],J[Q-2][X-2]+1)}return J[$.length][q.length]}function b6($,q){if(!q||q.length===0)return"";q=Array.from(new Set(q));let J=$.startsWith("--");if(J)$=$.slice(2),q=q.map((Y)=>Y.slice(2));let X=[],Q=3,W=0.4;if(q.forEach((Y)=>{if(Y.length<=1)return;let H=N6($,Y),_=Math.max($.length,Y.length);if((_-H)/_>W){if(H<Q)Q=H,X=[Y];else if(H===Q)X.push(Y)}}),X.sort((Y,H)=>Y.localeCompare(H)),J)X=X.map((Y)=>`--${Y}`);if(X.length>1)return`
11
+ (Did you mean one of ${X.join(", ")}?)`;if(X.length===1)return`
12
+ (Did you mean ${X[0]}?)`;return""}v6.suggestSimilar=b6});var x1=Q$((y6)=>{var P6=R$("events").EventEmitter,_1=R$("child_process"),i=R$("path"),B1=R$("fs"),b=R$("process"),{Argument:k6,humanReadableArgName:I6}=m$(),{CommanderError:G1}=T$(),{Help:T6}=Y1(),{Option:y1,DualOptions:C6}=H1(),{suggestSimilar:h1}=C1();class M1 extends P6{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!0,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._outputConfiguration={writeOut:(q)=>b.stdout.write(q),writeErr:(q)=>b.stderr.write(q),getOutHelpWidth:()=>b.stdout.isTTY?b.stdout.columns:void 0,getErrHelpWidth:()=>b.stderr.isTTY?b.stderr.columns:void 0,outputError:(q,J)=>J(q)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let q=this;q;q=q.parent)$.push(q);return $}command($,q,J){let X=q,Q=J;if(typeof X==="object"&&X!==null)Q=X,X=null;Q=Q||{};let[,W,Y]=$.match(/([^ ]+) *(.*)/),H=this.createCommand(W);if(X)H.description(X),H._executableHandler=!0;if(Q.isDefault)this._defaultCommandName=H._name;if(H._hidden=!!(Q.noHelp||Q.hidden),H._executableFile=Q.executableFile||null,Y)H.arguments(Y);if(this._registerCommand(H),H.parent=this,H.copyInheritedSettings(this),X)return this;return H}createCommand($){return new M1($)}createHelp(){return Object.assign(new T6,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,$),this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,q){if(!$._name)throw Error(`Command passed to .addCommand() must have a name
13
+ - specify the name in Command constructor or using .name()`);if(q=q||{},q.isDefault)this._defaultCommandName=$._name;if(q.noHelp||q.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,q){return new k6($,q)}argument($,q,J,X){let Q=this.createArgument($,q);if(typeof J==="function")Q.default(X).argParser(J);else Q.default(J);return this.addArgument(Q),this}arguments($){return $.trim().split(/ +/).forEach((q)=>{this.argument(q)}),this}addArgument($){let q=this.registeredArguments.slice(-1)[0];if(q&&q.variadic)throw Error(`only the last argument can be variadic '${q.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,q){if(typeof $==="boolean")return this._addImplicitHelpCommand=$,this;$=$??"help [command]";let[,J,X]=$.match(/([^ ]+) *(.*)/),Q=q??"display help for command",W=this.createCommand(J);if(W.helpOption(!1),X)W.arguments(X);if(Q)W.description(Q);return this._addImplicitHelpCommand=!0,this._helpCommand=W,this}addHelpCommand($,q){if(typeof $!=="object")return this.helpCommand($,q),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,q){let J=["preSubcommand","preAction","postAction"];if(!J.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'.
14
+ Expecting one of '${J.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(q);else this._lifeCycleHooks[$]=[q];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(q)=>{if(q.code!=="commander.executeSubCommandAsync")throw q};return this}_exit($,q,J){if(this._exitCallback)this._exitCallback(new G1($,q,J));b.exit($)}action($){let q=(J)=>{let X=this.registeredArguments.length,Q=J.slice(0,X);if(this._storeOptionsAsProperties)Q[X]=this;else Q[X]=this.opts();return Q.push(this),$.apply(this,Q)};return this._actionHandler=q,this}createOption($,q){return new y1($,q)}_callParseArg($,q,J,X){try{return $.parseArg(q,J)}catch(Q){if(Q.code==="commander.invalidArgument"){let W=`${X} ${Q.message}`;this.error(W,{exitCode:Q.exitCode,code:Q.code})}throw Q}}_registerOption($){let q=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(q){let J=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${J}'
15
+ - already used by option '${q.flags}'`)}this.options.push($)}_registerCommand($){let q=(X)=>{return[X.name()].concat(X.aliases())},J=q($).find((X)=>this._findCommand(X));if(J){let X=q(this._findCommand(J)).join("|"),Q=q($).join("|");throw Error(`cannot add command '${Q}' as already have command '${X}'`)}this.commands.push($)}addOption($){this._registerOption($);let q=$.name(),J=$.attributeName();if($.negate){let Q=$.long.replace(/^--no-/,"--");if(!this._findOption(Q))this.setOptionValueWithSource(J,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(J,$.defaultValue,"default");let X=(Q,W,Y)=>{if(Q==null&&$.presetArg!==void 0)Q=$.presetArg;let H=this.getOptionValue(J);if(Q!==null&&$.parseArg)Q=this._callParseArg($,Q,H,W);else if(Q!==null&&$.variadic)Q=$._concatValue(Q,H);if(Q==null)if($.negate)Q=!1;else if($.isBoolean()||$.optional)Q=!0;else Q="";this.setOptionValueWithSource(J,Q,Y)};if(this.on("option:"+q,(Q)=>{let W=`error: option '${$.flags}' argument '${Q}' is invalid.`;X(Q,W,"cli")}),$.envVar)this.on("optionEnv:"+q,(Q)=>{let W=`error: option '${$.flags}' value '${Q}' from env '${$.envVar}' is invalid.`;X(Q,W,"env")});return this}_optionEx($,q,J,X,Q){if(typeof q==="object"&&q instanceof y1)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let W=this.createOption(q,J);if(W.makeOptionMandatory(!!$.mandatory),typeof X==="function")W.default(Q).argParser(X);else if(X instanceof RegExp){let Y=X;X=(H,_)=>{let B=Y.exec(H);return B?B[0]:_},W.default(Q).argParser(X)}else W.default(X);return this.addOption(W)}option($,q,J,X){return this._optionEx({},$,q,J,X)}requiredOption($,q,J,X){return this._optionEx({mandatory:!0},$,q,J,X)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,q){return this.setOptionValueWithSource($,q,void 0)}setOptionValueWithSource($,q,J){if(this._storeOptionsAsProperties)this[$]=q;else this._optionValues[$]=q;return this._optionValueSources[$]=J,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let q;return this._getCommandAndAncestors().forEach((J)=>{if(J.getOptionValueSource($)!==void 0)q=J.getOptionValueSource($)}),q}_prepareUserArgs($,q){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(q=q||{},$===void 0&&q.from===void 0){if(b.versions?.electron)q.from="electron";let X=b.execArgv??[];if(X.includes("-e")||X.includes("--eval")||X.includes("-p")||X.includes("--print"))q.from="eval"}if($===void 0)$=b.argv;this.rawArgs=$.slice();let J;switch(q.from){case void 0:case"node":this._scriptPath=$[1],J=$.slice(2);break;case"electron":if(b.defaultApp)this._scriptPath=$[1],J=$.slice(2);else J=$.slice(1);break;case"user":J=$.slice(0);break;case"eval":J=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${q.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",J}parse($,q){let J=this._prepareUserArgs($,q);return this._parseCommand([],J),this}async parseAsync($,q){let J=this._prepareUserArgs($,q);return await this._parseCommand([],J),this}_executeSubCommand($,q){q=q.slice();let J=!1,X=[".js",".ts",".tsx",".mjs",".cjs"];function Q(B,R){let K=i.resolve(B,R);if(B1.existsSync(K))return K;if(X.includes(i.extname(R)))return;let A=X.find((F)=>B1.existsSync(`${K}${F}`));if(A)return`${K}${A}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=$._executableFile||`${this._name}-${$._name}`,Y=this._executableDir||"";if(this._scriptPath){let B;try{B=B1.realpathSync(this._scriptPath)}catch(R){B=this._scriptPath}Y=i.resolve(i.dirname(B),Y)}if(Y){let B=Q(Y,W);if(!B&&!$._executableFile&&this._scriptPath){let R=i.basename(this._scriptPath,i.extname(this._scriptPath));if(R!==this._name)B=Q(Y,`${R}-${$._name}`)}W=B||W}J=X.includes(i.extname(W));let H;if(b.platform!=="win32")if(J)q.unshift(W),q=Z1(b.execArgv).concat(q),H=_1.spawn(b.argv[0],q,{stdio:"inherit"});else H=_1.spawn(W,q,{stdio:"inherit"});else q.unshift(W),q=Z1(b.execArgv).concat(q),H=_1.spawn(b.execPath,q,{stdio:"inherit"});if(!H.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((R)=>{b.on(R,()=>{if(H.killed===!1&&H.exitCode===null)H.kill(R)})});let _=this._exitCallback;H.on("close",(B)=>{if(B=B??1,!_)b.exit(B);else _(new G1(B,"commander.executeSubCommandAsync","(close)"))}),H.on("error",(B)=>{if(B.code==="ENOENT"){let R=Y?`searched for local subcommand relative to directory '${Y}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",K=`'${W}' does not exist
16
16
  - if '${$._name}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
17
17
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
18
- - ${S}`;throw Error(W)}else if(Y.code==="EACCES")throw Error(`'${X}' not executable`);if(!_)E.exit(1);else{let S=new a(1,"commander.executeSubCommandAsync","(error)");S.nestedError=Y,_(S)}}),this.runningCommand=Z}_dispatchSubcommand($,J,q){let U=this._findCommand($);if(!U)this.help({error:!0});let G;return G=this._chainOrCallSubCommandHook(G,U,"preSubcommand"),G=this._chainOrCall(G,()=>{if(U._executableHandler)this._executeSubCommand(U,J.concat(q));else return U._parseCommand(J,q)}),G}_dispatchHelpCommand($){if(!$)this.help();let J=this._findCommand($);if(J&&!J._executableHandler)J.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,J)=>{if($.required&&this.args[J]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(q,U,G)=>{let X=U;if(U!==null&&q.parseArg){let Q=`error: command-argument value '${U}' is invalid for argument '${q.name()}'.`;X=this._callParseArg(q,U,G,Q)}return X};this._checkNumberOfArguments();let J=[];this.registeredArguments.forEach((q,U)=>{let G=q.defaultValue;if(q.variadic){if(U<this.args.length){if(G=this.args.slice(U),q.parseArg)G=G.reduce((X,Q)=>{return $(q,Q,X)},q.defaultValue)}else if(G===void 0)G=[]}else if(U<this.args.length){if(G=this.args[U],q.parseArg)G=$(q,G,q.defaultValue)}J[U]=G}),this.processedArgs=J}_chainOrCall($,J){if($&&$.then&&typeof $.then==="function")return $.then(()=>J());return J()}_chainOrCallHooks($,J){let q=$,U=[];if(this._getCommandAndAncestors().reverse().filter((G)=>G._lifeCycleHooks[J]!==void 0).forEach((G)=>{G._lifeCycleHooks[J].forEach((X)=>{U.push({hookedCommand:G,callback:X})})}),J==="postAction")U.reverse();return U.forEach((G)=>{q=this._chainOrCall(q,()=>{return G.callback(G.hookedCommand,this)})}),q}_chainOrCallSubCommandHook($,J,q){let U=$;if(this._lifeCycleHooks[q]!==void 0)this._lifeCycleHooks[q].forEach((G)=>{U=this._chainOrCall(U,()=>{return G(this,J)})});return U}_parseCommand($,J){let q=this.parseOptions(J);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(q.operands),J=q.unknown,this.args=$.concat(J),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),J);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(J),this._dispatchSubcommand(this._defaultCommandName,$,J);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(q.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let U=()=>{if(q.unknown.length>0)this.unknownOption(q.unknown[0])},G=`command:${this.name()}`;if(this._actionHandler){U(),this._processArguments();let X;if(X=this._chainOrCallHooks(X,"preAction"),X=this._chainOrCall(X,()=>this._actionHandler(this.processedArgs)),this.parent)X=this._chainOrCall(X,()=>{this.parent.emit(G,$,J)});return X=this._chainOrCallHooks(X,"postAction"),X}if(this.parent&&this.parent.listenerCount(G))U(),this._processArguments(),this.parent.emit(G,$,J);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,J);if(this.listenerCount("command:*"))this.emit("command:*",$,J);else if(this.commands.length)this.unknownCommand();else U(),this._processArguments()}else if(this.commands.length)U(),this.help({error:!0});else U(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((J)=>J._name===$||J._aliases.includes($))}_findOption($){return this.options.find((J)=>J.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((J)=>{if(J.mandatory&&$.getOptionValue(J.attributeName())===void 0)$.missingMandatoryOptionValue(J)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((q)=>{let U=q.attributeName();if(this.getOptionValue(U)===void 0)return!1;return this.getOptionValueSource(U)!=="default"});$.filter((q)=>q.conflictsWith.length>0).forEach((q)=>{let U=$.find((G)=>q.conflictsWith.includes(G.attributeName()));if(U)this._conflictingOption(q,U)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let J=[],q=[],U=J,G=$.slice();function X(Z){return Z.length>1&&Z[0]==="-"}let Q=null;while(G.length){let Z=G.shift();if(Z==="--"){if(U===q)U.push(Z);U.push(...G);break}if(Q&&!X(Z)){this.emit(`option:${Q.name()}`,Z);continue}if(Q=null,X(Z)){let _=this._findOption(Z);if(_){if(_.required){let Y=G.shift();if(Y===void 0)this.optionMissingArgument(_);this.emit(`option:${_.name()}`,Y)}else if(_.optional){let Y=null;if(G.length>0&&!X(G[0]))Y=G.shift();this.emit(`option:${_.name()}`,Y)}else this.emit(`option:${_.name()}`);Q=_.variadic?_:null;continue}}if(Z.length>2&&Z[0]==="-"&&Z[1]!=="-"){let _=this._findOption(`-${Z[1]}`);if(_){if(_.required||_.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${_.name()}`,Z.slice(2));else this.emit(`option:${_.name()}`),G.unshift(`-${Z.slice(2)}`);continue}}if(/^--[^=]+=/.test(Z)){let _=Z.indexOf("="),Y=this._findOption(Z.slice(0,_));if(Y&&(Y.required||Y.optional)){this.emit(`option:${Y.name()}`,Z.slice(_+1));continue}}if(X(Z))U=q;if((this._enablePositionalOptions||this._passThroughOptions)&&J.length===0&&q.length===0){if(this._findCommand(Z)){if(J.push(Z),G.length>0)q.push(...G);break}else if(this._getHelpCommand()&&Z===this._getHelpCommand().name()){if(J.push(Z),G.length>0)J.push(...G);break}else if(this._defaultCommandName){if(q.push(Z),G.length>0)q.push(...G);break}}if(this._passThroughOptions){if(U.push(Z),G.length>0)U.push(...G);break}U.push(Z)}return{operands:J,unknown:q}}opts(){if(this._storeOptionsAsProperties){let $={},J=this.options.length;for(let q=0;q<J;q++){let U=this.options[q].attributeName();$[U]=U===this._versionOptionName?this._version:this[U]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,J)=>Object.assign($,J.opts()),{})}error($,J){if(this._outputConfiguration.outputError(`${$}
18
+ - ${R}`;throw Error(K)}else if(B.code==="EACCES")throw Error(`'${W}' not executable`);if(!_)b.exit(1);else{let R=new G1(1,"commander.executeSubCommandAsync","(error)");R.nestedError=B,_(R)}}),this.runningCommand=H}_dispatchSubcommand($,q,J){let X=this._findCommand($);if(!X)this.help({error:!0});let Q;return Q=this._chainOrCallSubCommandHook(Q,X,"preSubcommand"),Q=this._chainOrCall(Q,()=>{if(X._executableHandler)this._executeSubCommand(X,q.concat(J));else return X._parseCommand(q,J)}),Q}_dispatchHelpCommand($){if(!$)this.help();let q=this._findCommand($);if(q&&!q._executableHandler)q.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,q)=>{if($.required&&this.args[q]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(J,X,Q)=>{let W=X;if(X!==null&&J.parseArg){let Y=`error: command-argument value '${X}' is invalid for argument '${J.name()}'.`;W=this._callParseArg(J,X,Q,Y)}return W};this._checkNumberOfArguments();let q=[];this.registeredArguments.forEach((J,X)=>{let Q=J.defaultValue;if(J.variadic){if(X<this.args.length){if(Q=this.args.slice(X),J.parseArg)Q=Q.reduce((W,Y)=>{return $(J,Y,W)},J.defaultValue)}else if(Q===void 0)Q=[]}else if(X<this.args.length){if(Q=this.args[X],J.parseArg)Q=$(J,Q,J.defaultValue)}q[X]=Q}),this.processedArgs=q}_chainOrCall($,q){if($&&$.then&&typeof $.then==="function")return $.then(()=>q());return q()}_chainOrCallHooks($,q){let J=$,X=[];if(this._getCommandAndAncestors().reverse().filter((Q)=>Q._lifeCycleHooks[q]!==void 0).forEach((Q)=>{Q._lifeCycleHooks[q].forEach((W)=>{X.push({hookedCommand:Q,callback:W})})}),q==="postAction")X.reverse();return X.forEach((Q)=>{J=this._chainOrCall(J,()=>{return Q.callback(Q.hookedCommand,this)})}),J}_chainOrCallSubCommandHook($,q,J){let X=$;if(this._lifeCycleHooks[J]!==void 0)this._lifeCycleHooks[J].forEach((Q)=>{X=this._chainOrCall(X,()=>{return Q(this,q)})});return X}_parseCommand($,q){let J=this.parseOptions(q);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(J.operands),q=J.unknown,this.args=$.concat(q),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),q);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(q),this._dispatchSubcommand(this._defaultCommandName,$,q);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(J.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let X=()=>{if(J.unknown.length>0)this.unknownOption(J.unknown[0])},Q=`command:${this.name()}`;if(this._actionHandler){X(),this._processArguments();let W;if(W=this._chainOrCallHooks(W,"preAction"),W=this._chainOrCall(W,()=>this._actionHandler(this.processedArgs)),this.parent)W=this._chainOrCall(W,()=>{this.parent.emit(Q,$,q)});return W=this._chainOrCallHooks(W,"postAction"),W}if(this.parent&&this.parent.listenerCount(Q))X(),this._processArguments(),this.parent.emit(Q,$,q);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,q);if(this.listenerCount("command:*"))this.emit("command:*",$,q);else if(this.commands.length)this.unknownCommand();else X(),this._processArguments()}else if(this.commands.length)X(),this.help({error:!0});else X(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((q)=>q._name===$||q._aliases.includes($))}_findOption($){return this.options.find((q)=>q.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((q)=>{if(q.mandatory&&$.getOptionValue(q.attributeName())===void 0)$.missingMandatoryOptionValue(q)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((J)=>{let X=J.attributeName();if(this.getOptionValue(X)===void 0)return!1;return this.getOptionValueSource(X)!=="default"});$.filter((J)=>J.conflictsWith.length>0).forEach((J)=>{let X=$.find((Q)=>J.conflictsWith.includes(Q.attributeName()));if(X)this._conflictingOption(J,X)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let q=[],J=[],X=q,Q=$.slice();function W(H){return H.length>1&&H[0]==="-"}let Y=null;while(Q.length){let H=Q.shift();if(H==="--"){if(X===J)X.push(H);X.push(...Q);break}if(Y&&!W(H)){this.emit(`option:${Y.name()}`,H);continue}if(Y=null,W(H)){let _=this._findOption(H);if(_){if(_.required){let B=Q.shift();if(B===void 0)this.optionMissingArgument(_);this.emit(`option:${_.name()}`,B)}else if(_.optional){let B=null;if(Q.length>0&&!W(Q[0]))B=Q.shift();this.emit(`option:${_.name()}`,B)}else this.emit(`option:${_.name()}`);Y=_.variadic?_:null;continue}}if(H.length>2&&H[0]==="-"&&H[1]!=="-"){let _=this._findOption(`-${H[1]}`);if(_){if(_.required||_.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${_.name()}`,H.slice(2));else this.emit(`option:${_.name()}`),Q.unshift(`-${H.slice(2)}`);continue}}if(/^--[^=]+=/.test(H)){let _=H.indexOf("="),B=this._findOption(H.slice(0,_));if(B&&(B.required||B.optional)){this.emit(`option:${B.name()}`,H.slice(_+1));continue}}if(W(H))X=J;if((this._enablePositionalOptions||this._passThroughOptions)&&q.length===0&&J.length===0){if(this._findCommand(H)){if(q.push(H),Q.length>0)J.push(...Q);break}else if(this._getHelpCommand()&&H===this._getHelpCommand().name()){if(q.push(H),Q.length>0)q.push(...Q);break}else if(this._defaultCommandName){if(J.push(H),Q.length>0)J.push(...Q);break}}if(this._passThroughOptions){if(X.push(H),Q.length>0)X.push(...Q);break}X.push(H)}return{operands:q,unknown:J}}opts(){if(this._storeOptionsAsProperties){let $={},q=this.options.length;for(let J=0;J<q;J++){let X=this.options[J].attributeName();$[X]=X===this._versionOptionName?this._version:this[X]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,q)=>Object.assign($,q.opts()),{})}error($,q){if(this._outputConfiguration.outputError(`${$}
19
19
  `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
20
20
  `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
21
- `),this.outputHelp({error:!0});let q=J||{},U=q.exitCode||1,G=q.code||"commander.error";this._exit(U,G,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in E.env){let J=$.attributeName();if(this.getOptionValue(J)===void 0||["default","config","env"].includes(this.getOptionValueSource(J)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,E.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new n0(this.options),J=(q)=>{return this.getOptionValue(q)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(q))};this.options.filter((q)=>q.implied!==void 0&&J(q.attributeName())&&$.valueFromOption(this.getOptionValue(q.attributeName()),q)).forEach((q)=>{Object.keys(q.implied).filter((U)=>!J(U)).forEach((U)=>{this.setOptionValueWithSource(U,q.implied[U],"implied")})})}missingArgument($){let J=`error: missing required argument '${$}'`;this.error(J,{code:"commander.missingArgument"})}optionMissingArgument($){let J=`error: option '${$.flags}' argument missing`;this.error(J,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let J=`error: required option '${$.flags}' not specified`;this.error(J,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,J){let q=(X)=>{let Q=X.attributeName(),Z=this.getOptionValue(Q),_=this.options.find((S)=>S.negate&&Q===S.attributeName()),Y=this.options.find((S)=>!S.negate&&Q===S.attributeName());if(_&&(_.presetArg===void 0&&Z===!1||_.presetArg!==void 0&&Z===_.presetArg))return _;return Y||X},U=(X)=>{let Q=q(X),Z=Q.attributeName();if(this.getOptionValueSource(Z)==="env")return`environment variable '${Q.envVar}'`;return`option '${Q.flags}'`},G=`error: ${U($)} cannot be used with ${U(J)}`;this.error(G,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let J="";if($.startsWith("--")&&this._showSuggestionAfterError){let U=[],G=this;do{let X=G.createHelp().visibleOptions(G).filter((Q)=>Q.long).map((Q)=>Q.long);U=U.concat(X),G=G.parent}while(G&&!G._enablePositionalOptions);J=V1($,U)}let q=`error: unknown option '${$}'${J}`;this.error(q,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let J=this.registeredArguments.length,q=J===1?"":"s",G=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${J} argument${q} but got ${$.length}.`;this.error(G,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],J="";if(this._showSuggestionAfterError){let U=[];this.createHelp().visibleCommands(this).forEach((G)=>{if(U.push(G.name()),G.alias())U.push(G.alias())}),J=V1($,U)}let q=`error: unknown command '${$}'${J}`;this.error(q,{code:"commander.unknownCommand"})}version($,J,q){if($===void 0)return this._version;this._version=$,J=J||"-V, --version",q=q||"output the version number";let U=this.createOption(J,q);return this._versionOptionName=U.attributeName(),this._registerOption(U),this.on("option:"+U.name(),()=>{this._outputConfiguration.writeOut(`${$}
22
- `),this._exit(0,"commander.version",$)}),this}description($,J){if($===void 0&&J===void 0)return this._description;if(this._description=$,J)this._argsDescription=J;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let J=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)J=this.commands[this.commands.length-1];if($===J._name)throw Error("Command alias can't be the same as its name");let q=this.parent?._findCommand($);if(q){let U=[q.name()].concat(q.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${U}'`)}return J._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((J)=>this.alias(J)),this}usage($){if($===void 0){if(this._usage)return this._usage;let J=this.registeredArguments.map((q)=>{return o0(q)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?J:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}nameFromFilename($){return this._name=y.basename($,y.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let J=this.createHelp();if(J.helpWidth===void 0)J.helpWidth=$&&$.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth();return J.formatHelp(this,J)}_getHelpContext($){$=$||{};let J={error:!!$.error},q;if(J.error)q=(U)=>this._outputConfiguration.writeErr(U);else q=(U)=>this._outputConfiguration.writeOut(U);return J.write=$.write||q,J.command=this,J}outputHelp($){let J;if(typeof $==="function")J=$,$=void 0;let q=this._getHelpContext($);this._getCommandAndAncestors().reverse().forEach((G)=>G.emit("beforeAllHelp",q)),this.emit("beforeHelp",q);let U=this.helpInformation(q);if(J){if(U=J(U),typeof U!=="string"&&!Buffer.isBuffer(U))throw Error("outputHelp callback must return a string or a Buffer")}if(q.write(U),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",q),this._getCommandAndAncestors().forEach((G)=>G.emit("afterAllHelp",q))}helpOption($,J){if(typeof $==="boolean"){if($)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return $=$??"-h, --help",J=J??"display help for command",this._helpOption=this.createOption($,J),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this}help($){this.outputHelp($);let J=E.exitCode||0;if(J===0&&$&&typeof $!=="function"&&$.error)J=1;this._exit(J,"commander.help","(outputHelp)")}addHelpText($,J){let q=["beforeAll","before","after","afterAll"];if(!q.includes($))throw Error(`Unexpected value for position to addHelpText.
23
- Expecting one of '${q.join("', '")}'`);let U=`${$}Help`;return this.on(U,(G)=>{let X;if(typeof J==="function")X=J({error:G.error,command:G.command});else X=J;if(X)G.write(`${X}
24
- `)}),this}_outputHelpIfRequested($){let J=this._getHelpOption();if(J&&$.find((U)=>J.is(U)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function M1($){return $.map((J)=>{if(!J.startsWith("--inspect"))return J;let q,U="127.0.0.1",G="9229",X;if((X=J.match(/^(--inspect(-brk)?)$/))!==null)q=X[1];else if((X=J.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(q=X[1],/^\d+$/.test(X[3]))G=X[3];else U=X[3];else if((X=J.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)q=X[1],U=X[3],G=X[4];if(q&&G!=="0")return`${q}=${U}:${parseInt(G)+1}`;return J})}e0.Command=n});var P1=A((U$)=>{var{Argument:F1}=v(),{Command:e}=T1(),{CommanderError:J$,InvalidArgumentError:D1}=b(),{Help:q$}=s(),{Option:y1}=i();U$.program=new e;U$.createCommand=($)=>new e($);U$.createOption=($,J)=>new y1($,J);U$.createArgument=($,J)=>new F1($,J);U$.Command=e;U$.Option=y1;U$.Argument=F1;U$.Help=q$;U$.CommanderError=J$;U$.InvalidArgumentError=D1;U$.InvalidOptionArgumentError=D1});var j1=j0(P1(),1),{program:F6,createCommand:D6,createArgument:y6,createOption:P6,CommanderError:j6,InvalidArgumentError:A6,InvalidOptionArgumentError:I6,Command:A1,Argument:N6,Option:O6,Help:f6}=j1.default;var I1="0.260202.0453";import{join as u$}from"path";var z=[];for(let $=0;$<256;++$)z.push(($+256).toString(16).slice(1));function N1($,J=0){return(z[$[J+0]]+z[$[J+1]]+z[$[J+2]]+z[$[J+3]]+"-"+z[$[J+4]]+z[$[J+5]]+"-"+z[$[J+6]]+z[$[J+7]]+"-"+z[$[J+8]]+z[$[J+9]]+"-"+z[$[J+10]]+z[$[J+11]]+z[$[J+12]]+z[$[J+13]]+z[$[J+14]]+z[$[J+15]]).toLowerCase()}import{randomFillSync as K$}from"crypto";var g=new Uint8Array(256),h=g.length;function $1(){if(h>g.length-16)K$(g),h=0;return g.slice(h,h+=16)}import{randomUUID as E$}from"crypto";var J1={randomUUID:E$};function z$($,J,q){if(J1.randomUUID&&!J&&!$)return J1.randomUUID();$=$||{};let U=$.random??$.rng?.()??$1();if(U.length<16)throw Error("Random bytes length must be >= 16");if(U[6]=U[6]&15|64,U[8]=U[8]&63|128,J){if(q=q||0,q<0||q+16>J.length)throw RangeError(`UUID byte range ${q}:${q+15} is out of buffer bounds`);for(let G=0;G<16;++G)J[q+G]=U[G];return J}return N1(U)}var u=z$;import{exec as L$}from"child_process";import{promisify as V$}from"util";import{join as M$}from"path";import{mkdirSync as T$,existsSync as F$}from"fs";import{homedir as D$}from"os";var y$=V$(L$);function P$(){let $=M$(D$(),".genie","logs","tmux");if(!F$($))T$($,{recursive:!0});return $}function j$($){return $.filter((J)=>!/^-v+$/.test(J))}function A$(){return process.env.GENIE_TMUX_DEBUG==="1"}async function O1($){let J=typeof $==="string"?$.split(/\s+/).filter(Boolean):$,q=j$(J),U=A$(),G={};if(U)q=["-v",...q],G.cwd=P$();let X=`tmux ${q.join(" ")}`,{stdout:Q}=await y$(X,G);return Q.trim()}var I$={type:"bash"};async function R($){try{return await O1($)}catch(J){throw Error(`Failed to execute tmux command: ${J.message}`)}}async function G1(){try{let J=await R("list-sessions -F '#{session_id}:#{session_name}:#{?session_attached,1,0}:#{session_windows}'");if(!J)return[];return J.split(`
25
- `).map((q)=>{let[U,G,X,Q]=q.split(":");return{id:U,name:G,attached:X==="1",windows:parseInt(Q,10)}})}catch($){if($.message.includes("no server running"))return[];throw $}}async function K($){try{return(await G1()).find((q)=>q.name===$)||null}catch(J){return null}}async function L($){try{let q=await R(`list-windows -t '${$}' -F '#{window_id}:#{window_name}:#{?window_active,1,0}'`);if(!q)return[];return q.split(`
26
- `).map((U)=>{let[G,X,Q]=U.split(":");return{id:G,name:X,active:Q==="1",sessionId:$}})}catch(J){if(J.message.includes("no server running")||J.message.includes("session not found"))return[];throw J}}async function M($){try{let q=await R(`list-panes -t '${$}' -F '#{pane_id}:#{pane_title}:#{?pane_active,1,0}'`);if(!q)return[];return q.split(`
27
- `).map((U)=>{let[G,X,Q]=U.split(":");return{id:G,windowId:$,title:X,active:Q==="1"}})}catch(J){if(J.message.includes("no server running")||J.message.includes("window not found"))return[];throw J}}async function I($,J=200,q=!1){try{return await R(`capture-pane -p ${q?"-e":""} -t '${$}' -S -${J} -E -`)}catch(U){if(U.message.includes("no server running")||U.message.includes("pane not found"))return"";throw U}}async function l($){return await R(`new-session -d -s "${$}" -e LC_ALL=C.UTF-8 -e LANG=C.UTF-8`),K($)}async function d($,J){let q=await R(`new-window -t '${$}' -n '${J}'`);return(await L($)).find((G)=>G.name===J)||null}async function f1($){await R(`kill-session -t '${$}'`)}async function C1($){await R(`kill-window -t '${$}'`)}async function k1($){await R(`kill-pane -t '${$}'`)}async function w1($,J="vertical",q){let U="split-window";if(J==="horizontal")U+=" -h";else U+=" -v";if(U+=` -t '${$}'`,q!==void 0&&q>0&&q<100)U+=` -p ${q}`;await R(U);let G=await R(`display-message -p -t '${$}' '#{window_id}'`),X=await M(G);return X.length>0?X[X.length-1]:null}var q1=new Map,U1="TMUX_MCP_START",c="TMUX_MCP_DONE_";async function b1($,J,q,U){let G=u(),X;if(q||U)X=J;else{let Q=N$();X=`echo "${U1}"; ${J}; echo "${Q}"`}if(q1.set(G,{id:G,paneId:$,command:J,status:"pending",startTime:new Date,rawMode:q||U}),U)if(["Up","Down","Left","Right","Escape","Tab","Enter","Space","BSpace","Delete","Home","End","PageUp","PageDown","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"].includes(X))await R(`send-keys -t '${$}' ${X}`);else for(let Z of X)await R(`send-keys -t '${$}' '${Z.replace(/'/g,"'\\''")}'`);else await R(`send-keys -t '${$}' '${X.replace(/'/g,"'\\''")}' Enter`);return G}async function x1($){let J=q1.get($);if(!J)return null;if(J.status!=="pending")return J;let q=await I(J.paneId,1000);if(J.rawMode)return J.result="Status tracking unavailable for rawMode commands. Use capture-pane to monitor interactive apps instead.",J;let U=q.lastIndexOf(U1),G=q.lastIndexOf(c);if(U===-1||G===-1||G<=U)return J.result="Command output could not be captured properly",J;let X=q.substring(G).split(`
28
- `)[0],Q=new RegExp(`${c}(\\d+)`),Z=X.match(Q);if(Z){let _=parseInt(Z[1],10);J.status=_===0?"completed":"error",J.exitCode=_;let Y=U+U1.length,S=q.substring(Y,G).trim();J.result=S.substring(S.indexOf(`
29
- `)+1).trim(),q1.set($,J)}return J}function N$(){return I$.type==="fish"?`${c}$status`:`${c}$?`}async function v1($,J,q=120000){let U=u().substring(0,8),G=`/tmp/genie-${U}.out`,X=`/tmp/genie-${U}.exit`,Q=`genie-${U}`,_=`{ ${J.replace(/'/g,"'\\''")}; } 2>&1 | tee ${G}; echo \${PIPESTATUS[0]} > ${X}; tmux wait-for -S ${Q}`;await R(`send-keys -t '${$}' '${_.replace(/'/g,"'\\''")}' Enter`);try{await Promise.race([R(`wait-for ${Q}`),new Promise((W,B)=>setTimeout(()=>B(Error("Command timed out")),q))])}catch(W){if(W.message==="Command timed out"){try{await R(`wait-for -S ${Q}`)}catch{}return{output:"",exitCode:124}}throw W}let Y="",S=0;try{let{readFile:W,unlink:B}=await import("fs/promises");Y=await W(G,"utf-8"),Y=Y.trim();let H=await W(X,"utf-8");S=parseInt(H.trim(),10)||0,await B(G).catch(()=>{}),await B(X).catch(()=>{})}catch(W){console.error("Failed to read command output:",W)}return{output:Y,exitCode:S}}var{$:P}=globalThis.Bun;import{mkdir as h1,rm as g1,access as X1,readFile as O$,writeFile as f$}from"fs/promises";import{join as C,basename as C$}from"path";function p($){return $.replace(/\//g,"-").replace(/\\/g,"-").replace(/[^a-zA-Z0-9-_.]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}function k$($){let J=$.match(/^(\d+)([hdwm])$/i);if(!J)throw Error(`Invalid timeframe format: ${$}. Use format like 7d, 2w, 1m, 24h`);let q=parseInt(J[1],10),U=J[2].toLowerCase();return q*{h:3600000,d:86400000,w:604800000,m:2592000000}[U]}class u1{baseDir;repoPath;metadataPath;constructor($){this.baseDir=$.baseDir,this.repoPath=$.repoPath,this.metadataPath=C(this.baseDir,".metadata.json")}async loadMetadata(){try{let $=await O$(this.metadataPath,"utf-8");return JSON.parse($)}catch{return{worktrees:{}}}}async saveMetadata($){await h1(this.baseDir,{recursive:!0}),await f$(this.metadataPath,JSON.stringify($,null,2))}async createWorktree($,J=!1,q){let U=p($),G=C(this.baseDir,U);await h1(this.baseDir,{recursive:!0});try{throw await X1(G),Error(`Worktree already exists at ${G}`)}catch(Z){if(Z.code!=="ENOENT")throw Z}if(J)if(q)await P`git -C ${this.repoPath} worktree add -b ${$} ${G} ${q}`.quiet();else await P`git -C ${this.repoPath} worktree add -b ${$} ${G}`.quiet();else{if(!await this.branchExists($))throw Error(`Branch '${$}' does not exist. Use -b to create a new branch.`);await P`git -C ${this.repoPath} worktree add ${G} ${$}`.quiet()}let X=await this.loadMetadata();X.worktrees[U]={branch:$,createdAt:new Date().toISOString()},await this.saveMetadata(X);let Q=await this.getCommitHash(G);return{path:G,branch:$,commitHash:Q,createdAt:new Date}}async removeWorktree($){let J=p($),q=C(this.baseDir,J);try{await P`git -C ${this.repoPath} worktree remove ${q} --force`.quiet()}catch{try{await g1(q,{recursive:!0,force:!0})}catch{}}try{await X1(q),await g1(q,{recursive:!0,force:!0})}catch{}let U=await this.loadMetadata();delete U.worktrees[J],await this.saveMetadata(U)}async listWorktrees(){let J=(await P`git -C ${this.repoPath} worktree list --porcelain`.quiet()).stdout.toString(),q=[],U={};for(let Q of J.split(`
30
- `))if(Q.startsWith("worktree ")){if(U.path)q.push(U);U={path:Q.slice(9)}}else if(Q.startsWith("HEAD "))U.commitHash=Q.slice(5);else if(Q.startsWith("branch "))U.branch=Q.slice(7).replace("refs/heads/","");if(U.path)q.push(U);let G=q.filter((Q)=>Q.path.startsWith(this.baseDir)),X=await this.loadMetadata();for(let Q of G){let Z=C$(Q.path),_=X.worktrees[Z];if(_)Q.createdAt=new Date(_.createdAt);Q.size=await this.getDiskUsage(Q.path)}return G}async cleanup($,J=!1){let q=k$($),U=Date.now(),G=await this.listWorktrees(),X=[];for(let Q of G)if(Q.createdAt){if(U-Q.createdAt.getTime()>q)X.push(Q)}if(!J)for(let Q of X)await this.removeWorktree(Q.branch);return X}async prune(){await P`git -C ${this.repoPath} worktree prune`.quiet()}async getDiskUsage($){try{let q=(await P`du -sb ${$}`.quiet()).stdout.toString().trim(),U=parseInt(q.split("\t")[0],10);return isNaN(U)?0:U}catch{return 0}}getWorktreePath($){let J=p($);return C(this.baseDir,J)}async worktreeExists($){let J=p($),q=C(this.baseDir,J);try{return await X1(q),!0}catch{return!1}}async branchExists($){try{return await P`git -C ${this.repoPath} rev-parse --verify ${$}`.quiet(),!0}catch{return!1}}async getCommitHash($){return(await P`git -C ${$} rev-parse HEAD`.quiet()).stdout.toString().trim()}}function k($){let J=$?.baseDir||C(process.cwd(),".worktrees"),q=$?.repoPath||process.cwd();return new u1({baseDir:J,repoPath:q})}import{mkdir as w$,readFile as b$,writeFile as x$,access as v$}from"fs/promises";import{join as c1}from"path";import{homedir as h$}from"os";var l1=c1(h$(),".config","term"),Q1=c1(l1,"sessions.json");async function g$(){await w$(l1,{recursive:!0})}async function Z1(){try{await v$(Q1);let $=await b$(Q1,"utf-8");return JSON.parse($)}catch{return{sessions:{}}}}async function d1($){await g$(),await x$(Q1,JSON.stringify($,null,2))}async function p1($,J){let q=await Z1();q.sessions[$]={...J,createdAt:new Date().toISOString()},await d1(q)}async function m1($){return(await Z1()).sessions[$]||null}async function r1($){let J=await Z1();delete J.sessions[$],await d1(J)}async function s1($,J={}){try{if(await K($))console.error(`\u274C Session "${$}" already exists`),process.exit(1);let U=J.workspace||process.cwd(),G;if(J.worktree){if(!J.workspace)console.error("\u274C --worktree requires --workspace"),process.exit(1);let Q=k({baseDir:u$(J.workspace,".worktrees"),repoPath:J.workspace});if(await Q.worktreeExists($))console.error(`\u274C Worktree for "${$}" already exists`),process.exit(1);let _=await Q.createWorktree($,!0);G=_.path,U=_.path,console.log(`\u2705 Worktree created at ${G}`)}if(!await l($))console.error(`\u274C Failed to create session "${$}"`),process.exit(1);if(await R(`send-keys -t '${$}' 'cd ${U}' Enter`),G)await p1($,{worktreePath:G,workspace:J.workspace});if(console.log(`\u2705 Session "${$}" created`),U!==process.cwd())console.log(` Working directory: ${U}`);console.log(`
31
- To attach: term attach ${$}`)}catch(q){console.error(`\u274C Error creating session: ${q.message}`),process.exit(1)}}async function i1($={}){try{let J=await G1();if($.json){console.log(JSON.stringify(J,null,2));return}if(J.length===0){console.log("No tmux sessions found");return}console.log("SESSION ID\t\tNAME\t\t\tWINDOWS\t\tATTACHED"),console.log("\u2500".repeat(80));for(let q of J){let U=q.attached?"yes":"no";console.log(`${q.id} ${q.name} ${q.windows} ${U}`)}}catch(J){console.error(`Error listing sessions: ${J.message}`),process.exit(1)}}import{exec as d$}from"child_process";import{promisify as p$}from"util";var m$=p$(d$);async function t1($){try{if(!await K($))console.error(`\u274C Session "${$}" not found`),process.exit(1);console.log(`\uD83D\uDCCE Attaching to session "${$}"...`),await m$(`tmux attach -t "${$}"`)}catch(J){console.error(`\u274C Error attaching to session: ${J.message}`),process.exit(1)}}import{join as s$}from"path";async function o1($,J={}){try{let q=await K($);if(!q)console.error(`\u274C Session "${$}" not found`),process.exit(1);let U=await m1($);if(await f1(q.id),U?.worktreePath&&U?.workspace&&!J.keepWorktree)await k({baseDir:s$(U.workspace,".worktrees"),repoPath:U.workspace}).removeWorktree($),console.log(`\u2705 Session "${$}" and worktree removed`);else if(U?.worktreePath&&J.keepWorktree)console.log(`\u2705 Session "${$}" removed (worktree kept at ${U.worktreePath})`);else console.log(`\u2705 Session "${$}" removed`);if(U)await r1($)}catch(q){console.error(`\u274C Error removing session: ${q.message}`),process.exit(1)}}function x($){let q=$.split(`
32
- `).filter((U)=>{let G=U.trim();if(G.match(/^TMUX_MCP_START$/))return!1;if(G.match(/^TMUX_MCP_DONE_\d+$/))return!1;if(G.includes("TMUX_MCP_START"))return!1;if(G.includes("TMUX_MCP_DONE_"))return!1;if(U.includes('echo "TMUX_MCP_START"'))return!1;if(U.includes('echo "TMUX_MCP_DONE_'))return!1;if(U.includes("-bash:"))return!1;if(U.includes("warning: setlocale:"))return!1;if(U.includes("cannot change locale"))return!1;if(G==="or directory")return!1;return!0});while(q.length>0&&q[0].trim()==="")q.shift();while(q.length>0&&q[q.length-1].trim()==="")q.pop();return q.join(`
33
- `)}async function a1($,J={}){let q=await K($);if(!q)throw Error(`Session "${$}" not found`);let U=await L(q.id);if(!U||U.length===0)throw Error(`No windows found in session "${$}"`);let G=await M(U[0].id);if(!G||G.length===0)throw Error(`No panes found in session "${$}"`);let X=G[0].id;if(J.range){let _=J.range.split(":");if(_.length===2)J.from=parseInt(_[0],10),J.to=parseInt(_[1],10)}if(J.all){let _=await I(X,1e4);return x(_)}if(J.from!==void 0&&J.to!==void 0){let _=await I(X,1e4),W=x(_).split(`
34
- `).slice(J.from,J.to+1).join(`
35
- `);if(J.reverse)return W.split(`
21
+ `),this.outputHelp({error:!0});let J=q||{},X=J.exitCode||1,Q=J.code||"commander.error";this._exit(X,Q,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in b.env){let q=$.attributeName();if(this.getOptionValue(q)===void 0||["default","config","env"].includes(this.getOptionValueSource(q)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,b.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new C6(this.options),q=(J)=>{return this.getOptionValue(J)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(J))};this.options.filter((J)=>J.implied!==void 0&&q(J.attributeName())&&$.valueFromOption(this.getOptionValue(J.attributeName()),J)).forEach((J)=>{Object.keys(J.implied).filter((X)=>!q(X)).forEach((X)=>{this.setOptionValueWithSource(X,J.implied[X],"implied")})})}missingArgument($){let q=`error: missing required argument '${$}'`;this.error(q,{code:"commander.missingArgument"})}optionMissingArgument($){let q=`error: option '${$.flags}' argument missing`;this.error(q,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let q=`error: required option '${$.flags}' not specified`;this.error(q,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,q){let J=(W)=>{let Y=W.attributeName(),H=this.getOptionValue(Y),_=this.options.find((R)=>R.negate&&Y===R.attributeName()),B=this.options.find((R)=>!R.negate&&Y===R.attributeName());if(_&&(_.presetArg===void 0&&H===!1||_.presetArg!==void 0&&H===_.presetArg))return _;return B||W},X=(W)=>{let Y=J(W),H=Y.attributeName();if(this.getOptionValueSource(H)==="env")return`environment variable '${Y.envVar}'`;return`option '${Y.flags}'`},Q=`error: ${X($)} cannot be used with ${X(q)}`;this.error(Q,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let q="";if($.startsWith("--")&&this._showSuggestionAfterError){let X=[],Q=this;do{let W=Q.createHelp().visibleOptions(Q).filter((Y)=>Y.long).map((Y)=>Y.long);X=X.concat(W),Q=Q.parent}while(Q&&!Q._enablePositionalOptions);q=h1($,X)}let J=`error: unknown option '${$}'${q}`;this.error(J,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let q=this.registeredArguments.length,J=q===1?"":"s",Q=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${q} argument${J} but got ${$.length}.`;this.error(Q,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],q="";if(this._showSuggestionAfterError){let X=[];this.createHelp().visibleCommands(this).forEach((Q)=>{if(X.push(Q.name()),Q.alias())X.push(Q.alias())}),q=h1($,X)}let J=`error: unknown command '${$}'${q}`;this.error(J,{code:"commander.unknownCommand"})}version($,q,J){if($===void 0)return this._version;this._version=$,q=q||"-V, --version",J=J||"output the version number";let X=this.createOption(q,J);return this._versionOptionName=X.attributeName(),this._registerOption(X),this.on("option:"+X.name(),()=>{this._outputConfiguration.writeOut(`${$}
22
+ `),this._exit(0,"commander.version",$)}),this}description($,q){if($===void 0&&q===void 0)return this._description;if(this._description=$,q)this._argsDescription=q;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let q=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)q=this.commands[this.commands.length-1];if($===q._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand($);if(J){let X=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${X}'`)}return q._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((q)=>this.alias(q)),this}usage($){if($===void 0){if(this._usage)return this._usage;let q=this.registeredArguments.map((J)=>{return I6(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?q:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}nameFromFilename($){return this._name=i.basename($,i.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let q=this.createHelp();if(q.helpWidth===void 0)q.helpWidth=$&&$.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth();return q.formatHelp(this,q)}_getHelpContext($){$=$||{};let q={error:!!$.error},J;if(q.error)J=(X)=>this._outputConfiguration.writeErr(X);else J=(X)=>this._outputConfiguration.writeOut(X);return q.write=$.write||J,q.command=this,q}outputHelp($){let q;if(typeof $==="function")q=$,$=void 0;let J=this._getHelpContext($);this._getCommandAndAncestors().reverse().forEach((Q)=>Q.emit("beforeAllHelp",J)),this.emit("beforeHelp",J);let X=this.helpInformation(J);if(q){if(X=q(X),typeof X!=="string"&&!Buffer.isBuffer(X))throw Error("outputHelp callback must return a string or a Buffer")}if(J.write(X),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",J),this._getCommandAndAncestors().forEach((Q)=>Q.emit("afterAllHelp",J))}helpOption($,q){if(typeof $==="boolean"){if($)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return $=$??"-h, --help",q=q??"display help for command",this._helpOption=this.createOption($,q),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this}help($){this.outputHelp($);let q=b.exitCode||0;if(q===0&&$&&typeof $!=="function"&&$.error)q=1;this._exit(q,"commander.help","(outputHelp)")}addHelpText($,q){let J=["beforeAll","before","after","afterAll"];if(!J.includes($))throw Error(`Unexpected value for position to addHelpText.
23
+ Expecting one of '${J.join("', '")}'`);let X=`${$}Help`;return this.on(X,(Q)=>{let W;if(typeof q==="function")W=q({error:Q.error,command:Q.command});else W=q;if(W)Q.write(`${W}
24
+ `)}),this}_outputHelpIfRequested($){let q=this._getHelpOption();if(q&&$.find((X)=>q.is(X)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function Z1($){return $.map((q)=>{if(!q.startsWith("--inspect"))return q;let J,X="127.0.0.1",Q="9229",W;if((W=q.match(/^(--inspect(-brk)?)$/))!==null)J=W[1];else if((W=q.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(J=W[1],/^\d+$/.test(W[3]))Q=W[3];else X=W[3];else if((W=q.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)J=W[1],X=W[3],Q=W[4];if(J&&Q!=="0")return`${J}=${X}:${parseInt(Q)+1}`;return q})}y6.Command=M1});var m1=Q$((g6)=>{var{Argument:g1}=m$(),{Command:z1}=x1(),{CommanderError:Z6,InvalidArgumentError:l1}=T$(),{Help:x6}=Y1(),{Option:u1}=H1();g6.program=new z1;g6.createCommand=($)=>new z1($);g6.createOption=($,q)=>new u1($,q);g6.createArgument=($,q)=>new g1($,q);g6.Command=z1;g6.Option=u1;g6.Argument=g1;g6.Help=x6;g6.CommanderError=Z6;g6.InvalidArgumentError=l1;g6.InvalidOptionArgumentError=l1});var c1=H6(m1(),1),{program:wJ,createCommand:OJ,createArgument:NJ,createOption:bJ,CommanderError:vJ,InvalidArgumentError:fJ,InvalidOptionArgumentError:PJ,Command:p1,Argument:kJ,Option:IJ,Help:TJ}=c1.default;var d1="0.260202.1607";import{join as A8}from"path";var v=[];for(let $=0;$<256;++$)v.push(($+256).toString(16).slice(1));function r1($,q=0){return(v[$[q+0]]+v[$[q+1]]+v[$[q+2]]+v[$[q+3]]+"-"+v[$[q+4]]+v[$[q+5]]+"-"+v[$[q+6]]+v[$[q+7]]+"-"+v[$[q+8]]+v[$[q+9]]+"-"+v[$[q+10]]+v[$[q+11]]+v[$[q+12]]+v[$[q+13]]+v[$[q+14]]+v[$[q+15]]).toLowerCase()}import{randomFillSync as a6}from"crypto";var p$=new Uint8Array(256),c$=p$.length;function U1(){if(c$>p$.length-16)a6(p$),c$=0;return p$.slice(c$,c$+=16)}import{randomUUID as t6}from"crypto";var R1={randomUUID:t6};function e6($,q,J){if(R1.randomUUID&&!q&&!$)return R1.randomUUID();$=$||{};let X=$.random??$.rng?.()??U1();if(X.length<16)throw Error("Random bytes length must be >= 16");if(X[6]=X[6]&15|64,X[8]=X[8]&63|128,q){if(J=J||0,J<0||J+16>q.length)throw RangeError(`UUID byte range ${J}:${J+15} is out of buffer bounds`);for(let Q=0;Q<16;++Q)q[J+Q]=X[Q];return q}return r1(X)}var d$=e6;import{exec as $8}from"child_process";import{promisify as q8}from"util";import{join as J8}from"path";import{mkdirSync as X8,existsSync as Q8}from"fs";import{homedir as W8}from"os";var Y8=q8($8);function H8(){let $=J8(W8(),".genie","logs","tmux");if(!Q8($))X8($,{recursive:!0});return $}function _8($){return $.filter((q)=>!/^-v+$/.test(q))}function B8(){return process.env.GENIE_TMUX_DEBUG==="1"}async function i1($){let q=typeof $==="string"?$.split(/\s+/).filter(Boolean):$,J=_8(q),X=B8(),Q={};if(X)J=["-v",...J],Q.cwd=H8();let W=`tmux ${J.join(" ")}`,{stdout:Y}=await Y8(W,Q);return Y.trim()}var G8={type:"bash"};async function w($){try{return await i1($)}catch(q){throw Error(`Failed to execute tmux command: ${q.message}`)}}async function E1(){try{let q=await w("list-sessions -F '#{session_id}:#{session_name}:#{?session_attached,1,0}:#{session_windows}'");if(!q)return[];return q.split(`
25
+ `).map((J)=>{let[X,Q,W,Y]=J.split(":");return{id:X,name:Q,attached:W==="1",windows:parseInt(Y,10)}})}catch($){if($.message.includes("no server running"))return[];throw $}}async function O($){try{return(await E1()).find((J)=>J.name===$)||null}catch(q){return null}}async function P($){try{let J=await w(`list-windows -t '${$}' -F '#{window_id}:#{window_name}:#{?window_active,1,0}'`);if(!J)return[];return J.split(`
26
+ `).map((X)=>{let[Q,W,Y]=X.split(":");return{id:Q,name:W,active:Y==="1",sessionId:$}})}catch(q){if(q.message.includes("no server running")||q.message.includes("session not found"))return[];throw q}}async function T($){try{let J=await w(`list-panes -t '${$}' -F '#{pane_id}:#{pane_title}:#{?pane_active,1,0}'`);if(!J)return[];return J.split(`
27
+ `).map((X)=>{let[Q,W,Y]=X.split(":");return{id:Q,windowId:$,title:W,active:Y==="1"}})}catch(q){if(q.message.includes("no server running")||q.message.includes("window not found"))return[];throw q}}async function W$($,q=200,J=!1){try{return await w(`capture-pane -p ${J?"-e":""} -t '${$}' -S -${q} -E -`)}catch(X){if(X.message.includes("no server running")||X.message.includes("pane not found"))return"";throw X}}async function i$($){return await w(`new-session -d -s "${$}" -e LC_ALL=C.UTF-8 -e LANG=C.UTF-8`),O($)}async function n$($,q){let J=await w(`new-window -t '${$}' -n '${q}'`);return(await P($)).find((Q)=>Q.name===q)||null}async function n1($){await w(`kill-session -t '${$}'`)}async function o1($){await w(`kill-window -t '${$}'`)}async function s1($){await w(`kill-pane -t '${$}'`)}async function a1($,q="vertical",J){let X="split-window";if(q==="horizontal")X+=" -h";else X+=" -v";if(X+=` -t '${$}'`,J!==void 0&&J>0&&J<100)X+=` -p ${J}`;await w(X);let Q=await w(`display-message -p -t '${$}' '#{window_id}'`),W=await T(Q);return W.length>0?W[W.length-1]:null}var S1=new Map,V1="TMUX_MCP_START",r$="TMUX_MCP_DONE_";async function t1($,q,J,X){let Q=d$(),W;if(J||X)W=q;else{let Y=M8();W=`echo "${V1}"; ${q}; echo "${Y}"`}if(S1.set(Q,{id:Q,paneId:$,command:q,status:"pending",startTime:new Date,rawMode:J||X}),X)if(["Up","Down","Left","Right","Escape","Tab","Enter","Space","BSpace","Delete","Home","End","PageUp","PageDown","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"].includes(W))await w(`send-keys -t '${$}' ${W}`);else for(let H of W)await w(`send-keys -t '${$}' '${H.replace(/'/g,"'\\''")}'`);else await w(`send-keys -t '${$}' '${W.replace(/'/g,"'\\''")}' Enter`);return Q}async function e1($){let q=S1.get($);if(!q)return null;if(q.status!=="pending")return q;let J=await W$(q.paneId,1000);if(q.rawMode)return q.result="Status tracking unavailable for rawMode commands. Use capture-pane to monitor interactive apps instead.",q;let X=J.lastIndexOf(V1),Q=J.lastIndexOf(r$);if(X===-1||Q===-1||Q<=X)return q.result="Command output could not be captured properly",q;let W=J.substring(Q).split(`
28
+ `)[0],Y=new RegExp(`${r$}(\\d+)`),H=W.match(Y);if(H){let _=parseInt(H[1],10);q.status=_===0?"completed":"error",q.exitCode=_;let B=X+V1.length,R=J.substring(B,Q).trim();q.result=R.substring(R.indexOf(`
29
+ `)+1).trim(),S1.set($,q)}return q}function M8(){return G8.type==="fish"?`${r$}$status`:`${r$}$?`}async function $0($,q,J=120000){let X=d$().substring(0,8),Q=`/tmp/genie-${X}.out`,W=`/tmp/genie-${X}.exit`,Y=`genie-${X}`,_=`{ ${q.replace(/'/g,"'\\''")}; } 2>&1 | tee ${Q}; echo \${PIPESTATUS[0]} > ${W}; tmux wait-for -S ${Y}`;await w(`send-keys -t '${$}' '${_.replace(/'/g,"'\\''")}' Enter`);try{await Promise.race([w(`wait-for ${Y}`),new Promise((K,A)=>setTimeout(()=>A(Error("Command timed out")),J))])}catch(K){if(K.message==="Command timed out"){try{await w(`wait-for -S ${Y}`)}catch{}return{output:"",exitCode:124}}throw K}let B="",R=0;try{let{readFile:K,unlink:A}=await import("fs/promises");B=await K(Q,"utf-8"),B=B.trim();let F=await K(W,"utf-8");R=parseInt(F.trim(),10)||0,await A(Q).catch(()=>{}),await A(W).catch(()=>{})}catch(K){console.error("Failed to read command output:",K)}return{output:B,exitCode:R}}var{$:n}=globalThis.Bun;import{mkdir as q0,rm as J0,access as j1,readFile as z8,writeFile as U8}from"fs/promises";import{join as S$,basename as R8}from"path";function o$($){return $.replace(/\//g,"-").replace(/\\/g,"-").replace(/[^a-zA-Z0-9-_.]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}function S8($){let q=$.match(/^(\d+)([hdwm])$/i);if(!q)throw Error(`Invalid timeframe format: ${$}. Use format like 7d, 2w, 1m, 24h`);let J=parseInt(q[1],10),X=q[2].toLowerCase();return J*{h:3600000,d:86400000,w:604800000,m:2592000000}[X]}class X0{baseDir;repoPath;metadataPath;constructor($){this.baseDir=$.baseDir,this.repoPath=$.repoPath,this.metadataPath=S$(this.baseDir,".metadata.json")}async loadMetadata(){try{let $=await z8(this.metadataPath,"utf-8");return JSON.parse($)}catch{return{worktrees:{}}}}async saveMetadata($){await q0(this.baseDir,{recursive:!0}),await U8(this.metadataPath,JSON.stringify($,null,2))}async createWorktree($,q=!1,J){let X=o$($),Q=S$(this.baseDir,X);await q0(this.baseDir,{recursive:!0});try{throw await j1(Q),Error(`Worktree already exists at ${Q}`)}catch(H){if(H.code!=="ENOENT")throw H}if(q)if(J)await n`git -C ${this.repoPath} worktree add -b ${$} ${Q} ${J}`.quiet();else await n`git -C ${this.repoPath} worktree add -b ${$} ${Q}`.quiet();else{if(!await this.branchExists($))throw Error(`Branch '${$}' does not exist. Use -b to create a new branch.`);await n`git -C ${this.repoPath} worktree add ${Q} ${$}`.quiet()}let W=await this.loadMetadata();W.worktrees[X]={branch:$,createdAt:new Date().toISOString()},await this.saveMetadata(W);let Y=await this.getCommitHash(Q);return{path:Q,branch:$,commitHash:Y,createdAt:new Date}}async removeWorktree($){let q=o$($),J=S$(this.baseDir,q);try{await n`git -C ${this.repoPath} worktree remove ${J} --force`.quiet()}catch{try{await J0(J,{recursive:!0,force:!0})}catch{}}try{await j1(J),await J0(J,{recursive:!0,force:!0})}catch{}let X=await this.loadMetadata();delete X.worktrees[q],await this.saveMetadata(X)}async listWorktrees(){let q=(await n`git -C ${this.repoPath} worktree list --porcelain`.quiet()).stdout.toString(),J=[],X={};for(let Y of q.split(`
30
+ `))if(Y.startsWith("worktree ")){if(X.path)J.push(X);X={path:Y.slice(9)}}else if(Y.startsWith("HEAD "))X.commitHash=Y.slice(5);else if(Y.startsWith("branch "))X.branch=Y.slice(7).replace("refs/heads/","");if(X.path)J.push(X);let Q=J.filter((Y)=>Y.path.startsWith(this.baseDir)),W=await this.loadMetadata();for(let Y of Q){let H=R8(Y.path),_=W.worktrees[H];if(_)Y.createdAt=new Date(_.createdAt);Y.size=await this.getDiskUsage(Y.path)}return Q}async cleanup($,q=!1){let J=S8($),X=Date.now(),Q=await this.listWorktrees(),W=[];for(let Y of Q)if(Y.createdAt){if(X-Y.createdAt.getTime()>J)W.push(Y)}if(!q)for(let Y of W)await this.removeWorktree(Y.branch);return W}async prune(){await n`git -C ${this.repoPath} worktree prune`.quiet()}async getDiskUsage($){try{let J=(await n`du -sb ${$}`.quiet()).stdout.toString().trim(),X=parseInt(J.split("\t")[0],10);return isNaN(X)?0:X}catch{return 0}}getWorktreePath($){let q=o$($);return S$(this.baseDir,q)}async worktreeExists($){let q=o$($),J=S$(this.baseDir,q);try{return await j1(J),!0}catch{return!1}}async branchExists($){try{return await n`git -C ${this.repoPath} rev-parse --verify ${$}`.quiet(),!0}catch{return!1}}async getCommitHash($){return(await n`git -C ${$} rev-parse HEAD`.quiet()).stdout.toString().trim()}}function V$($){let q=$?.baseDir||S$(process.cwd(),".worktrees"),J=$?.repoPath||process.cwd();return new X0({baseDir:q,repoPath:J})}import{mkdir as V8,readFile as E8,writeFile as j8,access as L8}from"fs/promises";import{join as Q0}from"path";import{homedir as K8}from"os";var W0=Q0(K8(),".config","term"),L1=Q0(W0,"sessions.json");async function D8(){await V8(W0,{recursive:!0})}async function K1(){try{await L8(L1);let $=await E8(L1,"utf-8");return JSON.parse($)}catch{return{sessions:{}}}}async function Y0($){await D8(),await j8(L1,JSON.stringify($,null,2))}async function H0($,q){let J=await K1();J.sessions[$]={...q,createdAt:new Date().toISOString()},await Y0(J)}async function _0($){return(await K1()).sessions[$]||null}async function B0($){let q=await K1();delete q.sessions[$],await Y0(q)}async function G0($,q={}){try{if(await O($))console.error(`\u274C Session "${$}" already exists`),process.exit(1);let X=q.workspace||process.cwd(),Q;if(q.worktree){if(!q.workspace)console.error("\u274C --worktree requires --workspace"),process.exit(1);let Y=V$({baseDir:A8(q.workspace,".worktrees"),repoPath:q.workspace});if(await Y.worktreeExists($))console.error(`\u274C Worktree for "${$}" already exists`),process.exit(1);let _=await Y.createWorktree($,!0);Q=_.path,X=_.path,console.log(`\u2705 Worktree created at ${Q}`)}if(!await i$($))console.error(`\u274C Failed to create session "${$}"`),process.exit(1);if(await w(`send-keys -t '${$}' 'cd ${X}' Enter`),Q)await H0($,{worktreePath:Q,workspace:q.workspace});if(console.log(`\u2705 Session "${$}" created`),X!==process.cwd())console.log(` Working directory: ${X}`);console.log(`
31
+ To attach: term attach ${$}`)}catch(J){console.error(`\u274C Error creating session: ${J.message}`),process.exit(1)}}async function M0($={}){try{let q=await E1();if($.json){console.log(JSON.stringify(q,null,2));return}if(q.length===0){console.log("No tmux sessions found");return}console.log("SESSION ID\t\tNAME\t\t\tWINDOWS\t\tATTACHED"),console.log("\u2500".repeat(80));for(let J of q){let X=J.attached?"yes":"no";console.log(`${J.id} ${J.name} ${J.windows} ${X}`)}}catch(q){console.error(`Error listing sessions: ${q.message}`),process.exit(1)}}import{exec as O8}from"child_process";import{promisify as N8}from"util";var b8=N8(O8);async function z0($){try{if(!await O($))console.error(`\u274C Session "${$}" not found`),process.exit(1);console.log(`\uD83D\uDCCE Attaching to session "${$}"...`),await b8(`tmux attach -t "${$}"`)}catch(q){console.error(`\u274C Error attaching to session: ${q.message}`),process.exit(1)}}import{join as f8}from"path";async function U0($,q={}){try{let J=await O($);if(!J)console.error(`\u274C Session "${$}" not found`),process.exit(1);let X=await _0($);if(await n1(J.id),X?.worktreePath&&X?.workspace&&!q.keepWorktree)await V$({baseDir:f8(X.workspace,".worktrees"),repoPath:X.workspace}).removeWorktree($),console.log(`\u2705 Session "${$}" and worktree removed`);else if(X?.worktreePath&&q.keepWorktree)console.log(`\u2705 Session "${$}" removed (worktree kept at ${X.worktreePath})`);else console.log(`\u2705 Session "${$}" removed`);if(X)await B0($)}catch(J){console.error(`\u274C Error removing session: ${J.message}`),process.exit(1)}}function C$($){let J=$.split(`
32
+ `).filter((X)=>{let Q=X.trim();if(Q.match(/^TMUX_MCP_START$/))return!1;if(Q.match(/^TMUX_MCP_DONE_\d+$/))return!1;if(Q.includes("TMUX_MCP_START"))return!1;if(Q.includes("TMUX_MCP_DONE_"))return!1;if(X.includes('echo "TMUX_MCP_START"'))return!1;if(X.includes('echo "TMUX_MCP_DONE_'))return!1;if(X.includes("-bash:"))return!1;if(X.includes("warning: setlocale:"))return!1;if(X.includes("cannot change locale"))return!1;if(Q==="or directory")return!1;return!0});while(J.length>0&&J[0].trim()==="")J.shift();while(J.length>0&&J[J.length-1].trim()==="")J.pop();return J.join(`
33
+ `)}async function R0($,q={}){let J=await O($);if(!J)throw Error(`Session "${$}" not found`);let X=await P(J.id);if(!X||X.length===0)throw Error(`No windows found in session "${$}"`);let Q=await T(X[0].id);if(!Q||Q.length===0)throw Error(`No panes found in session "${$}"`);let W=Q[0].id;if(q.range){let _=q.range.split(":");if(_.length===2)q.from=parseInt(_[0],10),q.to=parseInt(_[1],10)}if(q.all){let _=await W$(W,1e4);return C$(_)}if(q.from!==void 0&&q.to!==void 0){let _=await W$(W,1e4),K=C$(_).split(`
34
+ `).slice(q.from,q.to+1).join(`
35
+ `);if(q.reverse)return K.split(`
36
36
  `).reverse().join(`
37
- `);return W}if(J.search||J.grep){let _=J.search||J.grep,Y=await I(X,1e4),W=x(Y).split(`
38
- `);try{let B=new RegExp(_,"i"),H=W.filter((T)=>B.test(T));if(J.reverse)return H.reverse().join(`
39
- `);return H.join(`
40
- `)}catch(B){throw Error(`Invalid regex pattern: ${B.message}`)}}let Q=J.lines||100,Z=await I(X,Q);if(Z=x(Z),J.reverse)Z=Z.split(`
37
+ `);return K}if(q.search||q.grep){let _=q.search||q.grep,B=await W$(W,1e4),K=C$(B).split(`
38
+ `);try{let A=new RegExp(_,"i"),F=K.filter((y)=>A.test(y));if(q.reverse)return F.reverse().join(`
39
+ `);return F.join(`
40
+ `)}catch(A){throw Error(`Invalid regex pattern: ${A.message}`)}}let Y=q.lines||100,H=await W$(W,Y);if(H=C$(H),q.reverse)H=H.split(`
41
41
  `).reverse().join(`
42
- `);return Z}async function n1($,J){let q=await K($);if(!q)throw Error(`Session "${$}" not found`);let U=await L(q.id);if(!U||U.length===0)throw Error(`No windows found in session "${$}"`);let G=await M(U[0].id);if(!G||G.length===0)throw Error(`No panes found in session "${$}"`);let X=G[0].id,Q="",Z=!0,_=setInterval(async()=>{if(!Z){clearInterval(_);return}try{let Y=await I(X,100),S=x(Y);if(S!==Q){let W=S.split(`
43
- `),B=Q.split(`
44
- `),H=B.length>0?B.length-1:0;W.slice(H).forEach((j)=>{if(j&&j!==B[B.length-1])J(j)}),Q=S}}catch(Y){clearInterval(_),Z=!1}},500);return()=>{Z=!1,clearInterval(_)}}async function e1($,J){try{let q={lines:J.lines?parseInt(J.lines,10):100,from:J.from?parseInt(J.from,10):void 0,to:J.to?parseInt(J.to,10):void 0,range:J.range,search:J.search,grep:J.grep,follow:J.follow,all:J.all,reverse:J.reverse};if(J.follow){console.log(`Following session "${$}" (Ctrl+C to stop)...`),console.log("");let G=await n1($,(X)=>{console.log(X)});process.on("SIGINT",()=>{G(),console.log(`
45
- Stopped following`),process.exit(0)}),await new Promise(()=>{});return}let U=await a1($,q);if(J.json){let G=U.split(`
46
- `);console.log(JSON.stringify({session:$,lineCount:G.length,content:G},null,2));return}console.log(U)}catch(q){console.error(`Error reading session logs: ${q.message}`),process.exit(1)}}async function $0($,J){let[q,U]=$.includes(":")?$.split(":"):[$,"shell"];try{let G=await K(q);if(!G){if(console.error(`Session "${q}" not found, creating...`),G=await l(q),!G)console.error(`Failed to create session "${q}"`),process.exit(1)}let Q=(await L(G.id)).find((S)=>S.name===U);if(!Q){if(console.error(`Window "${U}" not found, creating...`),Q=await d(G.id,U),!Q)console.error(`Failed to create window "${U}"`),process.exit(1)}let Z=await M(Q.id);if(!Z||Z.length===0)console.error(`No panes found in window "${U}"`),process.exit(1);let{output:_,exitCode:Y}=await v1(Z[0].id,J);if(_)console.log(_);process.exit(Y)}catch(G){console.error(`Error: ${G.message}`),process.exit(1)}}async function J0($,J){try{let q=await K($);if(!q)console.error(`\u274C Session "${$}" not found`),process.exit(1);let U=await L(q.id);if(!U||U.length===0)console.error(`\u274C No windows found in session "${$}"`),process.exit(1);let G=await M(U[0].id);if(!G||G.length===0)console.error(`\u274C No panes found in session "${$}"`),process.exit(1);let X=G[0].id;await b1(X,J,!1,!0),console.log(`\u2705 Keys sent to session "${$}"`)}catch(q){console.error(`\u274C Error sending keys: ${q.message}`),process.exit(1)}}import{join as e$}from"path";async function q0($,J,q={}){try{let U=await K($);if(!U)console.error(`\u274C Session "${$}" not found`),process.exit(1);let G=await L(U.id);if(!G||G.length===0)console.error(`\u274C No windows found in session "${$}"`),process.exit(1);let X=await M(G[0].id);if(!X||X.length===0)console.error(`\u274C No panes found in session "${$}"`),process.exit(1);let Q=X[0].id,Z=J==="h"?"horizontal":"vertical",_;if(q.worktree){if(!q.workspace)console.error("\u274C --worktree requires --workspace"),process.exit(1);let S=k({baseDir:e$(q.workspace,".worktrees"),repoPath:q.workspace});if(!await S.worktreeExists(q.worktree)){let B=await S.createWorktree(q.worktree,!0);console.log(`\u2705 Worktree created at ${B.path}`)}_=S.getWorktreePath(q.worktree)}else if(q.workspace)_=q.workspace;let Y=await w1(Q,Z);if(!Y)console.error("\u274C Failed to split pane"),process.exit(1);if(_&&Y)await R(`send-keys -t '${Y.id}' 'cd ${_}' Enter`);if(console.log(`\u2705 Pane split ${Z}ly in session "${$}"`),_)console.log(` Working directory: ${_}`)}catch(U){console.error(`\u274C Error splitting pane: ${U.message}`),process.exit(1)}}async function U0($,J){await R(`set-hook -g ${$} '${J.replace(/'/g,"'\\''")}'`)}async function G0($){await R(`set-hook -gu ${$}`)}async function X0(){let $=["after-bind-key","after-capture-pane","after-copy-mode","after-display-message","after-display-panes","after-kill-pane","after-list-buffers","after-list-clients","after-list-keys","after-list-panes","after-list-sessions","after-list-windows","after-load-buffer","after-lock-server","after-new-session","after-new-window","after-paste-buffer","after-pipe-pane","after-queue","after-refresh-client","after-rename-session","after-rename-window","after-resize-pane","after-resize-window","after-save-buffer","after-select-layout","after-select-pane","after-select-window","after-send-keys","after-set-buffer","after-set-environment","after-set-option","after-show-environment","after-show-messages","after-show-options","after-split-window","after-unbind-key","alert-activity","alert-bell","alert-silence","client-attached","client-detached","client-resized","client-session-changed","pane-died","pane-exited","pane-focus-in","pane-focus-out","pane-mode-changed","pane-set-clipboard","session-closed","session-created","session-renamed","session-window-changed","window-linked","window-pane-changed","window-renamed","window-unlinked"],J=[];for(let q of $)try{let U=await R(`show-hooks -g ${q}`);if(U.trim()){let G=U.trim().split(" ");if(G.length>=2)J.push({event:G[0],command:G.slice(1).join(" ")})}}catch(U){continue}return J}async function Q0($,J){try{await U0($,J),console.log(`\u2705 Hook set: ${$} \u2192 ${J}`)}catch(q){console.error(`\u274C Error setting hook: ${q.message}`),process.exit(1)}}async function Z0(){try{let $=await X0();if($.length===0){console.log("No hooks configured");return}console.log("EVENT\t\t\t\tCOMMAND"),console.log("\u2500".repeat(80));for(let J of $)console.log(`${J.event} ${J.command}`)}catch($){console.error(`\u274C Error listing hooks: ${$.message}`),process.exit(1)}}async function _0($){try{await G0($),console.log(`\u2705 Hook removed: ${$}`)}catch(J){console.error(`\u274C Error removing hook: ${J.message}`),process.exit(1)}}async function Y0($,J={}){try{let q=await K($);if(!q)console.error(`Session "${$}" not found`),process.exit(1);let U=await L(q.id);if(J.json){console.log(JSON.stringify(U,null,2));return}if(U.length===0){console.log("No windows found");return}console.log("WINDOW ID\t\tNAME\t\t\tACTIVE"),console.log("\u2500".repeat(60));for(let G of U){let X=G.active?"yes":"no";console.log(`${G.id} ${G.name} ${X}`)}}catch(q){console.error(`Error listing windows: ${q.message}`),process.exit(1)}}async function S0($,J){try{let q=await K($);if(!q)console.error(`Session "${$}" not found`),process.exit(1);let U=await d(q.id,J);if(U)console.log(`Window created: ${U.id}`);else console.error("Failed to create window"),process.exit(1)}catch(q){console.error(`Error creating window: ${q.message}`),process.exit(1)}}async function W0($){try{await C1($),console.log(`Window removed: ${$}`)}catch(J){console.error(`Error removing window: ${J.message}`),process.exit(1)}}async function H0($,J={}){try{let q=await K($);if(!q)console.error(`Session "${$}" not found`),process.exit(1);let U=await L(q.id);if(U.length===0){if(J.json)console.log("[]");else console.log("No panes found");return}let G=[];for(let X of U){let Q=await M(X.id);for(let Z of Q)G.push({id:Z.id,windowId:X.id,windowName:X.name,title:Z.title,active:Z.active})}if(J.json){console.log(JSON.stringify(G,null,2));return}if(G.length===0){console.log("No panes found");return}console.log("PANE ID\t\tWINDOW\t\t\tTITLE\t\t\tACTIVE"),console.log("\u2500".repeat(80));for(let X of G){let Q=X.active?"yes":"no",Z=X.title||"-";console.log(`${X.id} ${X.windowName} ${Z} ${Q}`)}}catch(q){console.error(`Error listing panes: ${q.message}`),process.exit(1)}}async function R0($){try{await k1($),console.log(`Pane removed: ${$}`)}catch(J){console.error(`Error removing pane: ${J.message}`),process.exit(1)}}async function B0($,J={}){try{if(J.command){await X6(J.command,J.json);return}let q=await K($);if(!q)console.error(`Session "${$}" not found`),process.exit(1);let U=await L(q.id),G=0;for(let Z of U){let _=await M(Z.id);G+=_.length}let X="idle",Q={session:q.name,id:q.id,attached:q.attached,windows:U.length,panes:G,state:X};if(J.json){console.log(JSON.stringify(Q,null,2));return}console.log(`Session: ${Q.session}`),console.log(`ID: ${Q.id}`),console.log(`Attached: ${Q.attached?"yes":"no"}`),console.log(`Windows: ${Q.windows}`),console.log(`Panes: ${Q.panes}`),console.log(`State: ${Q.state}`)}catch(q){console.error(`Error getting status: ${q.message}`),process.exit(1)}}async function X6($,J){try{let q=await x1($);if(!q)console.error(`Command "${$}" not found`),process.exit(1);let U={id:q.id,paneId:q.paneId,command:q.command,status:q.status,exitCode:q.exitCode,startTime:q.startTime.toISOString(),result:q.result};if(J){console.log(JSON.stringify(U,null,2));return}if(console.log(`Command: ${U.id}`),console.log(`Status: ${U.status}`),console.log(`Exit Code: ${U.exitCode??"N/A"}`),console.log(`Start Time: ${U.startTime}`),U.result)console.log(`
42
+ `);return H}async function S0($,q){let J=await O($);if(!J)throw Error(`Session "${$}" not found`);let X=await P(J.id);if(!X||X.length===0)throw Error(`No windows found in session "${$}"`);let Q=await T(X[0].id);if(!Q||Q.length===0)throw Error(`No panes found in session "${$}"`);let W=Q[0].id,Y="",H=!0,_=setInterval(async()=>{if(!H){clearInterval(_);return}try{let B=await W$(W,100),R=C$(B);if(R!==Y){let K=R.split(`
43
+ `),A=Y.split(`
44
+ `),F=A.length>0?A.length-1:0;K.slice(F).forEach((X$)=>{if(X$&&X$!==A[A.length-1])q(X$)}),Y=R}}catch(B){clearInterval(_),H=!1}},500);return()=>{H=!1,clearInterval(_)}}import{existsSync as q1,mkdirSync as nq,readFileSync as v0,writeFileSync as oq}from"fs";import{homedir as f0}from"os";import{join as P0}from"path";var D={};_6(D,{void:()=>Sq,util:()=>L,unknown:()=>Uq,union:()=>Lq,undefined:()=>Gq,tuple:()=>Aq,transformer:()=>Iq,symbol:()=>Bq,string:()=>w0,strictObject:()=>jq,setErrorMap:()=>C8,set:()=>Oq,record:()=>Fq,quotelessJson:()=>I8,promise:()=>kq,preprocess:()=>yq,pipeline:()=>hq,ostring:()=>Zq,optional:()=>Tq,onumber:()=>xq,oboolean:()=>gq,objectUtil:()=>D1,object:()=>Eq,number:()=>O0,nullable:()=>Cq,null:()=>Mq,never:()=>Rq,nativeEnum:()=>Pq,nan:()=>Yq,map:()=>wq,makeIssue:()=>y$,literal:()=>vq,lazy:()=>bq,late:()=>Qq,isValid:()=>t,isDirty:()=>a$,isAsync:()=>j$,isAborted:()=>s$,intersection:()=>Dq,instanceof:()=>Wq,getParsedType:()=>p,getErrorMap:()=>E$,function:()=>Nq,enum:()=>fq,effect:()=>Iq,discriminatedUnion:()=>Kq,defaultErrorMap:()=>o,datetimeRegex:()=>D0,date:()=>_q,custom:()=>F0,coerce:()=>lq,boolean:()=>N0,bigint:()=>Hq,array:()=>Vq,any:()=>zq,addIssueToContext:()=>z,ZodVoid:()=>Z$,ZodUnknown:()=>e,ZodUnion:()=>w$,ZodUndefined:()=>A$,ZodType:()=>j,ZodTuple:()=>r,ZodTransformer:()=>u,ZodSymbol:()=>h$,ZodString:()=>Z,ZodSet:()=>B$,ZodSchema:()=>j,ZodRecord:()=>x$,ZodReadonly:()=>k$,ZodPromise:()=>G$,ZodPipeline:()=>u$,ZodParsedType:()=>M,ZodOptional:()=>g,ZodObject:()=>N,ZodNumber:()=>$$,ZodNullable:()=>a,ZodNull:()=>F$,ZodNever:()=>d,ZodNativeEnum:()=>v$,ZodNaN:()=>l$,ZodMap:()=>g$,ZodLiteral:()=>b$,ZodLazy:()=>N$,ZodIssueCode:()=>G,ZodIntersection:()=>O$,ZodFunction:()=>K$,ZodFirstPartyTypeKind:()=>V,ZodError:()=>C,ZodEnum:()=>J$,ZodEffects:()=>u,ZodDiscriminatedUnion:()=>t$,ZodDefault:()=>f$,ZodDate:()=>H$,ZodCatch:()=>P$,ZodBranded:()=>e$,ZodBoolean:()=>D$,ZodBigInt:()=>q$,ZodArray:()=>x,ZodAny:()=>_$,Schema:()=>j,ParseStatus:()=>f,OK:()=>k,NEVER:()=>uq,INVALID:()=>S,EMPTY_PATH:()=>y8,DIRTY:()=>Y$,BRAND:()=>Xq});var L;(function($){$.assertEqual=(Q)=>{};function q(Q){}$.assertIs=q;function J(Q){throw Error()}$.assertNever=J,$.arrayToEnum=(Q)=>{let W={};for(let Y of Q)W[Y]=Y;return W},$.getValidEnumValues=(Q)=>{let W=$.objectKeys(Q).filter((H)=>typeof Q[Q[H]]!=="number"),Y={};for(let H of W)Y[H]=Q[H];return $.objectValues(Y)},$.objectValues=(Q)=>{return $.objectKeys(Q).map(function(W){return Q[W]})},$.objectKeys=typeof Object.keys==="function"?(Q)=>Object.keys(Q):(Q)=>{let W=[];for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))W.push(Y);return W},$.find=(Q,W)=>{for(let Y of Q)if(W(Y))return Y;return},$.isInteger=typeof Number.isInteger==="function"?(Q)=>Number.isInteger(Q):(Q)=>typeof Q==="number"&&Number.isFinite(Q)&&Math.floor(Q)===Q;function X(Q,W=" | "){return Q.map((Y)=>typeof Y==="string"?`'${Y}'`:Y).join(W)}$.joinValues=X,$.jsonStringifyReplacer=(Q,W)=>{if(typeof W==="bigint")return W.toString();return W}})(L||(L={}));var D1;(function($){$.mergeShapes=(q,J)=>{return{...q,...J}}})(D1||(D1={}));var M=L.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),p=($)=>{switch(typeof $){case"undefined":return M.undefined;case"string":return M.string;case"number":return Number.isNaN($)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":if(Array.isArray($))return M.array;if($===null)return M.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return M.promise;if(typeof Map<"u"&&$ instanceof Map)return M.map;if(typeof Set<"u"&&$ instanceof Set)return M.set;if(typeof Date<"u"&&$ instanceof Date)return M.date;return M.object;default:return M.unknown}};var G=L.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),I8=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class C extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let q=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,q);else this.__proto__=q;this.name="ZodError",this.issues=$}format($){let q=$||function(Q){return Q.message},J={_errors:[]},X=(Q)=>{for(let W of Q.issues)if(W.code==="invalid_union")W.unionErrors.map(X);else if(W.code==="invalid_return_type")X(W.returnTypeError);else if(W.code==="invalid_arguments")X(W.argumentsError);else if(W.path.length===0)J._errors.push(q(W));else{let Y=J,H=0;while(H<W.path.length){let _=W.path[H];if(H!==W.path.length-1)Y[_]=Y[_]||{_errors:[]};else Y[_]=Y[_]||{_errors:[]},Y[_]._errors.push(q(W));Y=Y[_],H++}}};return X(this),J}static assert($){if(!($ instanceof C))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,L.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(q)=>q.message){let q={},J=[];for(let X of this.issues)if(X.path.length>0){let Q=X.path[0];q[Q]=q[Q]||[],q[Q].push($(X))}else J.push($(X));return{formErrors:J,fieldErrors:q}}get formErrors(){return this.flatten()}}C.create=($)=>{return new C($)};var T8=($,q)=>{let J;switch($.code){case G.invalid_type:if($.received===M.undefined)J="Required";else J=`Expected ${$.expected}, received ${$.received}`;break;case G.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify($.expected,L.jsonStringifyReplacer)}`;break;case G.unrecognized_keys:J=`Unrecognized key(s) in object: ${L.joinValues($.keys,", ")}`;break;case G.invalid_union:J="Invalid input";break;case G.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${L.joinValues($.options)}`;break;case G.invalid_enum_value:J=`Invalid enum value. Expected ${L.joinValues($.options)}, received '${$.received}'`;break;case G.invalid_arguments:J="Invalid function arguments";break;case G.invalid_return_type:J="Invalid function return type";break;case G.invalid_date:J="Invalid date";break;case G.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(J=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)J=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)J=`Invalid input: must end with "${$.validation.endsWith}"`;else L.assertNever($.validation);else if($.validation!=="regex")J=`Invalid ${$.validation}`;else J="Invalid";break;case G.too_small:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else J="Invalid input";break;case G.too_big:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")J=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else J="Invalid input";break;case G.custom:J="Invalid input";break;case G.invalid_intersection_types:J="Intersection results could not be merged";break;case G.not_multiple_of:J=`Number must be a multiple of ${$.multipleOf}`;break;case G.not_finite:J="Number must be finite";break;default:J=q.defaultError,L.assertNever($)}return{message:J}},o=T8;var V0=o;function C8($){V0=$}function E$(){return V0}var y$=($)=>{let{data:q,path:J,errorMaps:X,issueData:Q}=$,W=[...J,...Q.path||[]],Y={...Q,path:W};if(Q.message!==void 0)return{...Q,path:W,message:Q.message};let H="",_=X.filter((B)=>!!B).slice().reverse();for(let B of _)H=B(Y,{data:q,defaultError:H}).message;return{...Q,path:W,message:H}},y8=[];function z($,q){let J=E$(),X=y$({issueData:q,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J,J===o?void 0:o].filter((Q)=>!!Q)});$.common.issues.push(X)}class f{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,q){let J=[];for(let X of q){if(X.status==="aborted")return S;if(X.status==="dirty")$.dirty();J.push(X.value)}return{status:$.value,value:J}}static async mergeObjectAsync($,q){let J=[];for(let X of q){let Q=await X.key,W=await X.value;J.push({key:Q,value:W})}return f.mergeObjectSync($,J)}static mergeObjectSync($,q){let J={};for(let X of q){let{key:Q,value:W}=X;if(Q.status==="aborted")return S;if(W.status==="aborted")return S;if(Q.status==="dirty")$.dirty();if(W.status==="dirty")$.dirty();if(Q.value!=="__proto__"&&(typeof W.value<"u"||X.alwaysSet))J[Q.value]=W.value}return{status:$.value,value:J}}}var S=Object.freeze({status:"aborted"}),Y$=($)=>({status:"dirty",value:$}),k=($)=>({status:"valid",value:$}),s$=($)=>$.status==="aborted",a$=($)=>$.status==="dirty",t=($)=>$.status==="valid",j$=($)=>typeof Promise<"u"&&$ instanceof Promise;var U;(function($){$.errToObj=(q)=>typeof q==="string"?{message:q}:q||{},$.toString=(q)=>typeof q==="string"?q:q?.message})(U||(U={}));class l{constructor($,q,J,X){this._cachedPath=[],this.parent=$,this.data=q,this._path=J,this._key=X}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var E0=($,q)=>{if(t(q))return{success:!0,data:q.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new C($.common.issues);return this._error=J,this._error}}}};function E($){if(!$)return{};let{errorMap:q,invalid_type_error:J,required_error:X,description:Q}=$;if(q&&(J||X))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(q)return{errorMap:q,description:Q};return{errorMap:(Y,H)=>{let{message:_}=$;if(Y.code==="invalid_enum_value")return{message:_??H.defaultError};if(typeof H.data>"u")return{message:_??X??H.defaultError};if(Y.code!=="invalid_type")return{message:H.defaultError};return{message:_??J??H.defaultError}},description:Q}}class j{get description(){return this._def.description}_getType($){return p($.data)}_getOrReturnCtx($,q){return q||{common:$.parent.common,data:$.data,parsedType:p($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new f,ctx:{common:$.parent.common,data:$.data,parsedType:p($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let q=this._parse($);if(j$(q))throw Error("Synchronous parse encountered promise.");return q}_parseAsync($){let q=this._parse($);return Promise.resolve(q)}parse($,q){let J=this.safeParse($,q);if(J.success)return J.data;throw J.error}safeParse($,q){let J={common:{issues:[],async:q?.async??!1,contextualErrorMap:q?.errorMap},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:p($)},X=this._parseSync({data:$,path:J.path,parent:J});return E0(J,X)}"~validate"($){let q={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:p($)};if(!this["~standard"].async)try{let J=this._parseSync({data:$,path:[],parent:q});return t(J)?{value:J.value}:{issues:q.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;q.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:q}).then((J)=>t(J)?{value:J.value}:{issues:q.common.issues})}async parseAsync($,q){let J=await this.safeParseAsync($,q);if(J.success)return J.data;throw J.error}async safeParseAsync($,q){let J={common:{issues:[],contextualErrorMap:q?.errorMap,async:!0},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:p($)},X=this._parse({data:$,path:J.path,parent:J}),Q=await(j$(X)?X:Promise.resolve(X));return E0(J,Q)}refine($,q){let J=(X)=>{if(typeof q==="string"||typeof q>"u")return{message:q};else if(typeof q==="function")return q(X);else return q};return this._refinement((X,Q)=>{let W=$(X),Y=()=>Q.addIssue({code:G.custom,...J(X)});if(typeof Promise<"u"&&W instanceof Promise)return W.then((H)=>{if(!H)return Y(),!1;else return!0});if(!W)return Y(),!1;else return!0})}refinement($,q){return this._refinement((J,X)=>{if(!$(J))return X.addIssue(typeof q==="function"?q(J,X):q),!1;else return!0})}_refinement($){return new u({schema:this,typeName:V.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(q)=>this["~validate"](q)}}optional(){return g.create(this,this._def)}nullable(){return a.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return x.create(this)}promise(){return G$.create(this,this._def)}or($){return w$.create([this,$],this._def)}and($){return O$.create(this,$,this._def)}transform($){return new u({...E(this._def),schema:this,typeName:V.ZodEffects,effect:{type:"transform",transform:$}})}default($){let q=typeof $==="function"?$:()=>$;return new f$({...E(this._def),innerType:this,defaultValue:q,typeName:V.ZodDefault})}brand(){return new e$({typeName:V.ZodBranded,type:this,...E(this._def)})}catch($){let q=typeof $==="function"?$:()=>$;return new P$({...E(this._def),innerType:this,catchValue:q,typeName:V.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return u$.create(this,$)}readonly(){return k$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var h8=/^c[^\s-]{8,}$/i,Z8=/^[0-9a-z]+$/,x8=/^[0-9A-HJKMNP-TV-Z]{26}$/i,g8=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,l8=/^[a-z0-9_-]{21}$/i,u8=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,m8=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,c8=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,p8="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",A1,d8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,r8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,i8=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,n8=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,o8=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,s8=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,L0="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",a8=new RegExp(`^${L0}$`);function K0($){let q="[0-5]\\d";if($.precision)q=`${q}\\.\\d{${$.precision}}`;else if($.precision==null)q=`${q}(\\.\\d+)?`;let J=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${q})${J}`}function t8($){return new RegExp(`^${K0($)}$`)}function D0($){let q=`${L0}T${K0($)}`,J=[];if(J.push($.local?"Z?":"Z"),$.offset)J.push("([+-]\\d{2}:?\\d{2})");return q=`${q}(${J.join("|")})`,new RegExp(`^${q}$`)}function e8($,q){if((q==="v4"||!q)&&d8.test($))return!0;if((q==="v6"||!q)&&i8.test($))return!0;return!1}function $q($,q){if(!u8.test($))return!1;try{let[J]=$.split(".");if(!J)return!1;let X=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),Q=JSON.parse(atob(X));if(typeof Q!=="object"||Q===null)return!1;if("typ"in Q&&Q?.typ!=="JWT")return!1;if(!Q.alg)return!1;if(q&&Q.alg!==q)return!1;return!0}catch{return!1}}function qq($,q){if((q==="v4"||!q)&&r8.test($))return!0;if((q==="v6"||!q)&&n8.test($))return!0;return!1}class Z extends j{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==M.string){let Q=this._getOrReturnCtx($);return z(Q,{code:G.invalid_type,expected:M.string,received:Q.parsedType}),S}let J=new f,X=void 0;for(let Q of this._def.checks)if(Q.kind==="min"){if($.data.length<Q.value)X=this._getOrReturnCtx($,X),z(X,{code:G.too_small,minimum:Q.value,type:"string",inclusive:!0,exact:!1,message:Q.message}),J.dirty()}else if(Q.kind==="max"){if($.data.length>Q.value)X=this._getOrReturnCtx($,X),z(X,{code:G.too_big,maximum:Q.value,type:"string",inclusive:!0,exact:!1,message:Q.message}),J.dirty()}else if(Q.kind==="length"){let W=$.data.length>Q.value,Y=$.data.length<Q.value;if(W||Y){if(X=this._getOrReturnCtx($,X),W)z(X,{code:G.too_big,maximum:Q.value,type:"string",inclusive:!0,exact:!0,message:Q.message});else if(Y)z(X,{code:G.too_small,minimum:Q.value,type:"string",inclusive:!0,exact:!0,message:Q.message});J.dirty()}}else if(Q.kind==="email"){if(!c8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"email",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="emoji"){if(!A1)A1=new RegExp(p8,"u");if(!A1.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"emoji",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="uuid"){if(!g8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"uuid",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="nanoid"){if(!l8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"nanoid",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="cuid"){if(!h8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"cuid",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="cuid2"){if(!Z8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"cuid2",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="ulid"){if(!x8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"ulid",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="url")try{new URL($.data)}catch{X=this._getOrReturnCtx($,X),z(X,{validation:"url",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="regex"){if(Q.regex.lastIndex=0,!Q.regex.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"regex",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="trim")$.data=$.data.trim();else if(Q.kind==="includes"){if(!$.data.includes(Q.value,Q.position))X=this._getOrReturnCtx($,X),z(X,{code:G.invalid_string,validation:{includes:Q.value,position:Q.position},message:Q.message}),J.dirty()}else if(Q.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(Q.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(Q.kind==="startsWith"){if(!$.data.startsWith(Q.value))X=this._getOrReturnCtx($,X),z(X,{code:G.invalid_string,validation:{startsWith:Q.value},message:Q.message}),J.dirty()}else if(Q.kind==="endsWith"){if(!$.data.endsWith(Q.value))X=this._getOrReturnCtx($,X),z(X,{code:G.invalid_string,validation:{endsWith:Q.value},message:Q.message}),J.dirty()}else if(Q.kind==="datetime"){if(!D0(Q).test($.data))X=this._getOrReturnCtx($,X),z(X,{code:G.invalid_string,validation:"datetime",message:Q.message}),J.dirty()}else if(Q.kind==="date"){if(!a8.test($.data))X=this._getOrReturnCtx($,X),z(X,{code:G.invalid_string,validation:"date",message:Q.message}),J.dirty()}else if(Q.kind==="time"){if(!t8(Q).test($.data))X=this._getOrReturnCtx($,X),z(X,{code:G.invalid_string,validation:"time",message:Q.message}),J.dirty()}else if(Q.kind==="duration"){if(!m8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"duration",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="ip"){if(!e8($.data,Q.version))X=this._getOrReturnCtx($,X),z(X,{validation:"ip",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="jwt"){if(!$q($.data,Q.alg))X=this._getOrReturnCtx($,X),z(X,{validation:"jwt",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="cidr"){if(!qq($.data,Q.version))X=this._getOrReturnCtx($,X),z(X,{validation:"cidr",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="base64"){if(!o8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"base64",code:G.invalid_string,message:Q.message}),J.dirty()}else if(Q.kind==="base64url"){if(!s8.test($.data))X=this._getOrReturnCtx($,X),z(X,{validation:"base64url",code:G.invalid_string,message:Q.message}),J.dirty()}else L.assertNever(Q);return{status:J.value,value:$.data}}_regex($,q,J){return this.refinement((X)=>$.test(X),{validation:q,code:G.invalid_string,...U.errToObj(J)})}_addCheck($){return new Z({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...U.errToObj($)})}url($){return this._addCheck({kind:"url",...U.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...U.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...U.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...U.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...U.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...U.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...U.errToObj($)})}base64($){return this._addCheck({kind:"base64",...U.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...U.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...U.errToObj($)})}ip($){return this._addCheck({kind:"ip",...U.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...U.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...U.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...U.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...U.errToObj($)})}regex($,q){return this._addCheck({kind:"regex",regex:$,...U.errToObj(q)})}includes($,q){return this._addCheck({kind:"includes",value:$,position:q?.position,...U.errToObj(q?.message)})}startsWith($,q){return this._addCheck({kind:"startsWith",value:$,...U.errToObj(q)})}endsWith($,q){return this._addCheck({kind:"endsWith",value:$,...U.errToObj(q)})}min($,q){return this._addCheck({kind:"min",value:$,...U.errToObj(q)})}max($,q){return this._addCheck({kind:"max",value:$,...U.errToObj(q)})}length($,q){return this._addCheck({kind:"length",value:$,...U.errToObj(q)})}nonempty($){return this.min(1,U.errToObj($))}trim(){return new Z({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Z({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Z({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxLength(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}Z.create=($)=>{return new Z({checks:[],typeName:V.ZodString,coerce:$?.coerce??!1,...E($)})};function Jq($,q){let J=($.toString().split(".")[1]||"").length,X=(q.toString().split(".")[1]||"").length,Q=J>X?J:X,W=Number.parseInt($.toFixed(Q).replace(".","")),Y=Number.parseInt(q.toFixed(Q).replace(".",""));return W%Y/10**Q}class $$ extends j{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==M.number){let Q=this._getOrReturnCtx($);return z(Q,{code:G.invalid_type,expected:M.number,received:Q.parsedType}),S}let J=void 0,X=new f;for(let Q of this._def.checks)if(Q.kind==="int"){if(!L.isInteger($.data))J=this._getOrReturnCtx($,J),z(J,{code:G.invalid_type,expected:"integer",received:"float",message:Q.message}),X.dirty()}else if(Q.kind==="min"){if(Q.inclusive?$.data<Q.value:$.data<=Q.value)J=this._getOrReturnCtx($,J),z(J,{code:G.too_small,minimum:Q.value,type:"number",inclusive:Q.inclusive,exact:!1,message:Q.message}),X.dirty()}else if(Q.kind==="max"){if(Q.inclusive?$.data>Q.value:$.data>=Q.value)J=this._getOrReturnCtx($,J),z(J,{code:G.too_big,maximum:Q.value,type:"number",inclusive:Q.inclusive,exact:!1,message:Q.message}),X.dirty()}else if(Q.kind==="multipleOf"){if(Jq($.data,Q.value)!==0)J=this._getOrReturnCtx($,J),z(J,{code:G.not_multiple_of,multipleOf:Q.value,message:Q.message}),X.dirty()}else if(Q.kind==="finite"){if(!Number.isFinite($.data))J=this._getOrReturnCtx($,J),z(J,{code:G.not_finite,message:Q.message}),X.dirty()}else L.assertNever(Q);return{status:X.value,value:$.data}}gte($,q){return this.setLimit("min",$,!0,U.toString(q))}gt($,q){return this.setLimit("min",$,!1,U.toString(q))}lte($,q){return this.setLimit("max",$,!0,U.toString(q))}lt($,q){return this.setLimit("max",$,!1,U.toString(q))}setLimit($,q,J,X){return new $$({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:J,message:U.toString(X)}]})}_addCheck($){return new $$({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:U.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:U.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:U.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:U.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:U.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:U.toString(q)})}finite($){return this._addCheck({kind:"finite",message:U.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:U.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:U.toString($)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&L.isInteger($.value))}get isFinite(){let $=null,q=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if(q===null||J.value>q)q=J.value}else if(J.kind==="max"){if($===null||J.value<$)$=J.value}return Number.isFinite(q)&&Number.isFinite($)}}$$.create=($)=>{return new $$({checks:[],typeName:V.ZodNumber,coerce:$?.coerce||!1,...E($)})};class q$ extends j{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==M.bigint)return this._getInvalidInput($);let J=void 0,X=new f;for(let Q of this._def.checks)if(Q.kind==="min"){if(Q.inclusive?$.data<Q.value:$.data<=Q.value)J=this._getOrReturnCtx($,J),z(J,{code:G.too_small,type:"bigint",minimum:Q.value,inclusive:Q.inclusive,message:Q.message}),X.dirty()}else if(Q.kind==="max"){if(Q.inclusive?$.data>Q.value:$.data>=Q.value)J=this._getOrReturnCtx($,J),z(J,{code:G.too_big,type:"bigint",maximum:Q.value,inclusive:Q.inclusive,message:Q.message}),X.dirty()}else if(Q.kind==="multipleOf"){if($.data%Q.value!==BigInt(0))J=this._getOrReturnCtx($,J),z(J,{code:G.not_multiple_of,multipleOf:Q.value,message:Q.message}),X.dirty()}else L.assertNever(Q);return{status:X.value,value:$.data}}_getInvalidInput($){let q=this._getOrReturnCtx($);return z(q,{code:G.invalid_type,expected:M.bigint,received:q.parsedType}),S}gte($,q){return this.setLimit("min",$,!0,U.toString(q))}gt($,q){return this.setLimit("min",$,!1,U.toString(q))}lte($,q){return this.setLimit("max",$,!0,U.toString(q))}lt($,q){return this.setLimit("max",$,!1,U.toString(q))}setLimit($,q,J,X){return new q$({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:J,message:U.toString(X)}]})}_addCheck($){return new q$({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:U.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:U.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:U.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:U.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:U.toString(q)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}q$.create=($)=>{return new q$({checks:[],typeName:V.ZodBigInt,coerce:$?.coerce??!1,...E($)})};class D$ extends j{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==M.boolean){let J=this._getOrReturnCtx($);return z(J,{code:G.invalid_type,expected:M.boolean,received:J.parsedType}),S}return k($.data)}}D$.create=($)=>{return new D$({typeName:V.ZodBoolean,coerce:$?.coerce||!1,...E($)})};class H$ extends j{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==M.date){let Q=this._getOrReturnCtx($);return z(Q,{code:G.invalid_type,expected:M.date,received:Q.parsedType}),S}if(Number.isNaN($.data.getTime())){let Q=this._getOrReturnCtx($);return z(Q,{code:G.invalid_date}),S}let J=new f,X=void 0;for(let Q of this._def.checks)if(Q.kind==="min"){if($.data.getTime()<Q.value)X=this._getOrReturnCtx($,X),z(X,{code:G.too_small,message:Q.message,inclusive:!0,exact:!1,minimum:Q.value,type:"date"}),J.dirty()}else if(Q.kind==="max"){if($.data.getTime()>Q.value)X=this._getOrReturnCtx($,X),z(X,{code:G.too_big,message:Q.message,inclusive:!0,exact:!1,maximum:Q.value,type:"date"}),J.dirty()}else L.assertNever(Q);return{status:J.value,value:new Date($.data.getTime())}}_addCheck($){return new H$({...this._def,checks:[...this._def.checks,$]})}min($,q){return this._addCheck({kind:"min",value:$.getTime(),message:U.toString(q)})}max($,q){return this._addCheck({kind:"max",value:$.getTime(),message:U.toString(q)})}get minDate(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $!=null?new Date($):null}}H$.create=($)=>{return new H$({checks:[],coerce:$?.coerce||!1,typeName:V.ZodDate,...E($)})};class h$ extends j{_parse($){if(this._getType($)!==M.symbol){let J=this._getOrReturnCtx($);return z(J,{code:G.invalid_type,expected:M.symbol,received:J.parsedType}),S}return k($.data)}}h$.create=($)=>{return new h$({typeName:V.ZodSymbol,...E($)})};class A$ extends j{_parse($){if(this._getType($)!==M.undefined){let J=this._getOrReturnCtx($);return z(J,{code:G.invalid_type,expected:M.undefined,received:J.parsedType}),S}return k($.data)}}A$.create=($)=>{return new A$({typeName:V.ZodUndefined,...E($)})};class F$ extends j{_parse($){if(this._getType($)!==M.null){let J=this._getOrReturnCtx($);return z(J,{code:G.invalid_type,expected:M.null,received:J.parsedType}),S}return k($.data)}}F$.create=($)=>{return new F$({typeName:V.ZodNull,...E($)})};class _$ extends j{constructor(){super(...arguments);this._any=!0}_parse($){return k($.data)}}_$.create=($)=>{return new _$({typeName:V.ZodAny,...E($)})};class e extends j{constructor(){super(...arguments);this._unknown=!0}_parse($){return k($.data)}}e.create=($)=>{return new e({typeName:V.ZodUnknown,...E($)})};class d extends j{_parse($){let q=this._getOrReturnCtx($);return z(q,{code:G.invalid_type,expected:M.never,received:q.parsedType}),S}}d.create=($)=>{return new d({typeName:V.ZodNever,...E($)})};class Z$ extends j{_parse($){if(this._getType($)!==M.undefined){let J=this._getOrReturnCtx($);return z(J,{code:G.invalid_type,expected:M.void,received:J.parsedType}),S}return k($.data)}}Z$.create=($)=>{return new Z$({typeName:V.ZodVoid,...E($)})};class x extends j{_parse($){let{ctx:q,status:J}=this._processInputParams($),X=this._def;if(q.parsedType!==M.array)return z(q,{code:G.invalid_type,expected:M.array,received:q.parsedType}),S;if(X.exactLength!==null){let W=q.data.length>X.exactLength.value,Y=q.data.length<X.exactLength.value;if(W||Y)z(q,{code:W?G.too_big:G.too_small,minimum:Y?X.exactLength.value:void 0,maximum:W?X.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:X.exactLength.message}),J.dirty()}if(X.minLength!==null){if(q.data.length<X.minLength.value)z(q,{code:G.too_small,minimum:X.minLength.value,type:"array",inclusive:!0,exact:!1,message:X.minLength.message}),J.dirty()}if(X.maxLength!==null){if(q.data.length>X.maxLength.value)z(q,{code:G.too_big,maximum:X.maxLength.value,type:"array",inclusive:!0,exact:!1,message:X.maxLength.message}),J.dirty()}if(q.common.async)return Promise.all([...q.data].map((W,Y)=>{return X.type._parseAsync(new l(q,W,q.path,Y))})).then((W)=>{return f.mergeArray(J,W)});let Q=[...q.data].map((W,Y)=>{return X.type._parseSync(new l(q,W,q.path,Y))});return f.mergeArray(J,Q)}get element(){return this._def.type}min($,q){return new x({...this._def,minLength:{value:$,message:U.toString(q)}})}max($,q){return new x({...this._def,maxLength:{value:$,message:U.toString(q)}})}length($,q){return new x({...this._def,exactLength:{value:$,message:U.toString(q)}})}nonempty($){return this.min(1,$)}}x.create=($,q)=>{return new x({type:$,minLength:null,maxLength:null,exactLength:null,typeName:V.ZodArray,...E(q)})};function L$($){if($ instanceof N){let q={};for(let J in $.shape){let X=$.shape[J];q[J]=g.create(L$(X))}return new N({...$._def,shape:()=>q})}else if($ instanceof x)return new x({...$._def,type:L$($.element)});else if($ instanceof g)return g.create(L$($.unwrap()));else if($ instanceof a)return a.create(L$($.unwrap()));else if($ instanceof r)return r.create($.items.map((q)=>L$(q)));else return $}class N extends j{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),q=L.objectKeys($);return this._cached={shape:$,keys:q},this._cached}_parse($){if(this._getType($)!==M.object){let _=this._getOrReturnCtx($);return z(_,{code:G.invalid_type,expected:M.object,received:_.parsedType}),S}let{status:J,ctx:X}=this._processInputParams($),{shape:Q,keys:W}=this._getCached(),Y=[];if(!(this._def.catchall instanceof d&&this._def.unknownKeys==="strip")){for(let _ in X.data)if(!W.includes(_))Y.push(_)}let H=[];for(let _ of W){let B=Q[_],R=X.data[_];H.push({key:{status:"valid",value:_},value:B._parse(new l(X,R,X.path,_)),alwaysSet:_ in X.data})}if(this._def.catchall instanceof d){let _=this._def.unknownKeys;if(_==="passthrough")for(let B of Y)H.push({key:{status:"valid",value:B},value:{status:"valid",value:X.data[B]}});else if(_==="strict"){if(Y.length>0)z(X,{code:G.unrecognized_keys,keys:Y}),J.dirty()}else if(_==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let _=this._def.catchall;for(let B of Y){let R=X.data[B];H.push({key:{status:"valid",value:B},value:_._parse(new l(X,R,X.path,B)),alwaysSet:B in X.data})}}if(X.common.async)return Promise.resolve().then(async()=>{let _=[];for(let B of H){let R=await B.key,K=await B.value;_.push({key:R,value:K,alwaysSet:B.alwaysSet})}return _}).then((_)=>{return f.mergeObjectSync(J,_)});else return f.mergeObjectSync(J,H)}get shape(){return this._def.shape()}strict($){return U.errToObj,new N({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(q,J)=>{let X=this._def.errorMap?.(q,J).message??J.defaultError;if(q.code==="unrecognized_keys")return{message:U.errToObj($).message??X};return{message:X}}}:{}})}strip(){return new N({...this._def,unknownKeys:"strip"})}passthrough(){return new N({...this._def,unknownKeys:"passthrough"})}extend($){return new N({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new N({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:V.ZodObject})}setKey($,q){return this.augment({[$]:q})}catchall($){return new N({...this._def,catchall:$})}pick($){let q={};for(let J of L.objectKeys($))if($[J]&&this.shape[J])q[J]=this.shape[J];return new N({...this._def,shape:()=>q})}omit($){let q={};for(let J of L.objectKeys(this.shape))if(!$[J])q[J]=this.shape[J];return new N({...this._def,shape:()=>q})}deepPartial(){return L$(this)}partial($){let q={};for(let J of L.objectKeys(this.shape)){let X=this.shape[J];if($&&!$[J])q[J]=X;else q[J]=X.optional()}return new N({...this._def,shape:()=>q})}required($){let q={};for(let J of L.objectKeys(this.shape))if($&&!$[J])q[J]=this.shape[J];else{let Q=this.shape[J];while(Q instanceof g)Q=Q._def.innerType;q[J]=Q}return new N({...this._def,shape:()=>q})}keyof(){return A0(L.objectKeys(this.shape))}}N.create=($,q)=>{return new N({shape:()=>$,unknownKeys:"strip",catchall:d.create(),typeName:V.ZodObject,...E(q)})};N.strictCreate=($,q)=>{return new N({shape:()=>$,unknownKeys:"strict",catchall:d.create(),typeName:V.ZodObject,...E(q)})};N.lazycreate=($,q)=>{return new N({shape:$,unknownKeys:"strip",catchall:d.create(),typeName:V.ZodObject,...E(q)})};class w$ extends j{_parse($){let{ctx:q}=this._processInputParams($),J=this._def.options;function X(Q){for(let Y of Q)if(Y.result.status==="valid")return Y.result;for(let Y of Q)if(Y.result.status==="dirty")return q.common.issues.push(...Y.ctx.common.issues),Y.result;let W=Q.map((Y)=>new C(Y.ctx.common.issues));return z(q,{code:G.invalid_union,unionErrors:W}),S}if(q.common.async)return Promise.all(J.map(async(Q)=>{let W={...q,common:{...q.common,issues:[]},parent:null};return{result:await Q._parseAsync({data:q.data,path:q.path,parent:W}),ctx:W}})).then(X);else{let Q=void 0,W=[];for(let H of J){let _={...q,common:{...q.common,issues:[]},parent:null},B=H._parseSync({data:q.data,path:q.path,parent:_});if(B.status==="valid")return B;else if(B.status==="dirty"&&!Q)Q={result:B,ctx:_};if(_.common.issues.length)W.push(_.common.issues)}if(Q)return q.common.issues.push(...Q.ctx.common.issues),Q.result;let Y=W.map((H)=>new C(H));return z(q,{code:G.invalid_union,unionErrors:Y}),S}}get options(){return this._def.options}}w$.create=($,q)=>{return new w$({options:$,typeName:V.ZodUnion,...E(q)})};var s=($)=>{if($ instanceof N$)return s($.schema);else if($ instanceof u)return s($.innerType());else if($ instanceof b$)return[$.value];else if($ instanceof J$)return $.options;else if($ instanceof v$)return L.objectValues($.enum);else if($ instanceof f$)return s($._def.innerType);else if($ instanceof A$)return[void 0];else if($ instanceof F$)return[null];else if($ instanceof g)return[void 0,...s($.unwrap())];else if($ instanceof a)return[null,...s($.unwrap())];else if($ instanceof e$)return s($.unwrap());else if($ instanceof k$)return s($.unwrap());else if($ instanceof P$)return s($._def.innerType);else return[]};class t$ extends j{_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==M.object)return z(q,{code:G.invalid_type,expected:M.object,received:q.parsedType}),S;let J=this.discriminator,X=q.data[J],Q=this.optionsMap.get(X);if(!Q)return z(q,{code:G.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),S;if(q.common.async)return Q._parseAsync({data:q.data,path:q.path,parent:q});else return Q._parseSync({data:q.data,path:q.path,parent:q})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,q,J){let X=new Map;for(let Q of q){let W=s(Q.shape[$]);if(!W.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let Y of W){if(X.has(Y))throw Error(`Discriminator property ${String($)} has duplicate value ${String(Y)}`);X.set(Y,Q)}}return new t$({typeName:V.ZodDiscriminatedUnion,discriminator:$,options:q,optionsMap:X,...E(J)})}}function F1($,q){let J=p($),X=p(q);if($===q)return{valid:!0,data:$};else if(J===M.object&&X===M.object){let Q=L.objectKeys(q),W=L.objectKeys($).filter((H)=>Q.indexOf(H)!==-1),Y={...$,...q};for(let H of W){let _=F1($[H],q[H]);if(!_.valid)return{valid:!1};Y[H]=_.data}return{valid:!0,data:Y}}else if(J===M.array&&X===M.array){if($.length!==q.length)return{valid:!1};let Q=[];for(let W=0;W<$.length;W++){let Y=$[W],H=q[W],_=F1(Y,H);if(!_.valid)return{valid:!1};Q.push(_.data)}return{valid:!0,data:Q}}else if(J===M.date&&X===M.date&&+$===+q)return{valid:!0,data:$};else return{valid:!1}}class O$ extends j{_parse($){let{status:q,ctx:J}=this._processInputParams($),X=(Q,W)=>{if(s$(Q)||s$(W))return S;let Y=F1(Q.value,W.value);if(!Y.valid)return z(J,{code:G.invalid_intersection_types}),S;if(a$(Q)||a$(W))q.dirty();return{status:q.value,value:Y.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([Q,W])=>X(Q,W));else return X(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}O$.create=($,q,J)=>{return new O$({left:$,right:q,typeName:V.ZodIntersection,...E(J)})};class r extends j{_parse($){let{status:q,ctx:J}=this._processInputParams($);if(J.parsedType!==M.array)return z(J,{code:G.invalid_type,expected:M.array,received:J.parsedType}),S;if(J.data.length<this._def.items.length)return z(J,{code:G.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),S;if(!this._def.rest&&J.data.length>this._def.items.length)z(J,{code:G.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q.dirty();let Q=[...J.data].map((W,Y)=>{let H=this._def.items[Y]||this._def.rest;if(!H)return null;return H._parse(new l(J,W,J.path,Y))}).filter((W)=>!!W);if(J.common.async)return Promise.all(Q).then((W)=>{return f.mergeArray(q,W)});else return f.mergeArray(q,Q)}get items(){return this._def.items}rest($){return new r({...this._def,rest:$})}}r.create=($,q)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new r({items:$,typeName:V.ZodTuple,rest:null,...E(q)})};class x$ extends j{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:J}=this._processInputParams($);if(J.parsedType!==M.object)return z(J,{code:G.invalid_type,expected:M.object,received:J.parsedType}),S;let X=[],Q=this._def.keyType,W=this._def.valueType;for(let Y in J.data)X.push({key:Q._parse(new l(J,Y,J.path,Y)),value:W._parse(new l(J,J.data[Y],J.path,Y)),alwaysSet:Y in J.data});if(J.common.async)return f.mergeObjectAsync(q,X);else return f.mergeObjectSync(q,X)}get element(){return this._def.valueType}static create($,q,J){if(q instanceof j)return new x$({keyType:$,valueType:q,typeName:V.ZodRecord,...E(J)});return new x$({keyType:Z.create(),valueType:$,typeName:V.ZodRecord,...E(q)})}}class g$ extends j{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:J}=this._processInputParams($);if(J.parsedType!==M.map)return z(J,{code:G.invalid_type,expected:M.map,received:J.parsedType}),S;let X=this._def.keyType,Q=this._def.valueType,W=[...J.data.entries()].map(([Y,H],_)=>{return{key:X._parse(new l(J,Y,J.path,[_,"key"])),value:Q._parse(new l(J,H,J.path,[_,"value"]))}});if(J.common.async){let Y=new Map;return Promise.resolve().then(async()=>{for(let H of W){let _=await H.key,B=await H.value;if(_.status==="aborted"||B.status==="aborted")return S;if(_.status==="dirty"||B.status==="dirty")q.dirty();Y.set(_.value,B.value)}return{status:q.value,value:Y}})}else{let Y=new Map;for(let H of W){let{key:_,value:B}=H;if(_.status==="aborted"||B.status==="aborted")return S;if(_.status==="dirty"||B.status==="dirty")q.dirty();Y.set(_.value,B.value)}return{status:q.value,value:Y}}}}g$.create=($,q,J)=>{return new g$({valueType:q,keyType:$,typeName:V.ZodMap,...E(J)})};class B$ extends j{_parse($){let{status:q,ctx:J}=this._processInputParams($);if(J.parsedType!==M.set)return z(J,{code:G.invalid_type,expected:M.set,received:J.parsedType}),S;let X=this._def;if(X.minSize!==null){if(J.data.size<X.minSize.value)z(J,{code:G.too_small,minimum:X.minSize.value,type:"set",inclusive:!0,exact:!1,message:X.minSize.message}),q.dirty()}if(X.maxSize!==null){if(J.data.size>X.maxSize.value)z(J,{code:G.too_big,maximum:X.maxSize.value,type:"set",inclusive:!0,exact:!1,message:X.maxSize.message}),q.dirty()}let Q=this._def.valueType;function W(H){let _=new Set;for(let B of H){if(B.status==="aborted")return S;if(B.status==="dirty")q.dirty();_.add(B.value)}return{status:q.value,value:_}}let Y=[...J.data.values()].map((H,_)=>Q._parse(new l(J,H,J.path,_)));if(J.common.async)return Promise.all(Y).then((H)=>W(H));else return W(Y)}min($,q){return new B$({...this._def,minSize:{value:$,message:U.toString(q)}})}max($,q){return new B$({...this._def,maxSize:{value:$,message:U.toString(q)}})}size($,q){return this.min($,q).max($,q)}nonempty($){return this.min(1,$)}}B$.create=($,q)=>{return new B$({valueType:$,minSize:null,maxSize:null,typeName:V.ZodSet,...E(q)})};class K$ extends j{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==M.function)return z(q,{code:G.invalid_type,expected:M.function,received:q.parsedType}),S;function J(Y,H){return y$({data:Y,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,E$(),o].filter((_)=>!!_),issueData:{code:G.invalid_arguments,argumentsError:H}})}function X(Y,H){return y$({data:Y,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,E$(),o].filter((_)=>!!_),issueData:{code:G.invalid_return_type,returnTypeError:H}})}let Q={errorMap:q.common.contextualErrorMap},W=q.data;if(this._def.returns instanceof G$){let Y=this;return k(async function(...H){let _=new C([]),B=await Y._def.args.parseAsync(H,Q).catch((A)=>{throw _.addIssue(J(H,A)),_}),R=await Reflect.apply(W,this,B);return await Y._def.returns._def.type.parseAsync(R,Q).catch((A)=>{throw _.addIssue(X(R,A)),_})})}else{let Y=this;return k(function(...H){let _=Y._def.args.safeParse(H,Q);if(!_.success)throw new C([J(H,_.error)]);let B=Reflect.apply(W,this,_.data),R=Y._def.returns.safeParse(B,Q);if(!R.success)throw new C([X(B,R.error)]);return R.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new K$({...this._def,args:r.create($).rest(e.create())})}returns($){return new K$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,q,J){return new K$({args:$?$:r.create([]).rest(e.create()),returns:q||e.create(),typeName:V.ZodFunction,...E(J)})}}class N$ extends j{get schema(){return this._def.getter()}_parse($){let{ctx:q}=this._processInputParams($);return this._def.getter()._parse({data:q.data,path:q.path,parent:q})}}N$.create=($,q)=>{return new N$({getter:$,typeName:V.ZodLazy,...E(q)})};class b$ extends j{_parse($){if($.data!==this._def.value){let q=this._getOrReturnCtx($);return z(q,{received:q.data,code:G.invalid_literal,expected:this._def.value}),S}return{status:"valid",value:$.data}}get value(){return this._def.value}}b$.create=($,q)=>{return new b$({value:$,typeName:V.ZodLiteral,...E(q)})};function A0($,q){return new J$({values:$,typeName:V.ZodEnum,...E(q)})}class J$ extends j{_parse($){if(typeof $.data!=="string"){let q=this._getOrReturnCtx($),J=this._def.values;return z(q,{expected:L.joinValues(J),received:q.parsedType,code:G.invalid_type}),S}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let q=this._getOrReturnCtx($),J=this._def.values;return z(q,{received:q.data,code:G.invalid_enum_value,options:J}),S}return k($.data)}get options(){return this._def.values}get enum(){let $={};for(let q of this._def.values)$[q]=q;return $}get Values(){let $={};for(let q of this._def.values)$[q]=q;return $}get Enum(){let $={};for(let q of this._def.values)$[q]=q;return $}extract($,q=this._def){return J$.create($,{...this._def,...q})}exclude($,q=this._def){return J$.create(this.options.filter((J)=>!$.includes(J)),{...this._def,...q})}}J$.create=A0;class v$ extends j{_parse($){let q=L.getValidEnumValues(this._def.values),J=this._getOrReturnCtx($);if(J.parsedType!==M.string&&J.parsedType!==M.number){let X=L.objectValues(q);return z(J,{expected:L.joinValues(X),received:J.parsedType,code:G.invalid_type}),S}if(!this._cache)this._cache=new Set(L.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let X=L.objectValues(q);return z(J,{received:J.data,code:G.invalid_enum_value,options:X}),S}return k($.data)}get enum(){return this._def.values}}v$.create=($,q)=>{return new v$({values:$,typeName:V.ZodNativeEnum,...E(q)})};class G$ extends j{unwrap(){return this._def.type}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==M.promise&&q.common.async===!1)return z(q,{code:G.invalid_type,expected:M.promise,received:q.parsedType}),S;let J=q.parsedType===M.promise?q.data:Promise.resolve(q.data);return k(J.then((X)=>{return this._def.type.parseAsync(X,{path:q.path,errorMap:q.common.contextualErrorMap})}))}}G$.create=($,q)=>{return new G$({type:$,typeName:V.ZodPromise,...E(q)})};class u extends j{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===V.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:q,ctx:J}=this._processInputParams($),X=this._def.effect||null,Q={addIssue:(W)=>{if(z(J,W),W.fatal)q.abort();else q.dirty()},get path(){return J.path}};if(Q.addIssue=Q.addIssue.bind(Q),X.type==="preprocess"){let W=X.transform(J.data,Q);if(J.common.async)return Promise.resolve(W).then(async(Y)=>{if(q.value==="aborted")return S;let H=await this._def.schema._parseAsync({data:Y,path:J.path,parent:J});if(H.status==="aborted")return S;if(H.status==="dirty")return Y$(H.value);if(q.value==="dirty")return Y$(H.value);return H});else{if(q.value==="aborted")return S;let Y=this._def.schema._parseSync({data:W,path:J.path,parent:J});if(Y.status==="aborted")return S;if(Y.status==="dirty")return Y$(Y.value);if(q.value==="dirty")return Y$(Y.value);return Y}}if(X.type==="refinement"){let W=(Y)=>{let H=X.refinement(Y,Q);if(J.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Y};if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(Y.status==="aborted")return S;if(Y.status==="dirty")q.dirty();return W(Y.value),{status:q.value,value:Y.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(Y.status==="aborted")return S;if(Y.status==="dirty")q.dirty();return W(Y.value).then(()=>{return{status:q.value,value:Y.value}})})}if(X.type==="transform")if(J.common.async===!1){let W=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!t(W))return S;let Y=X.transform(W.value,Q);if(Y instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:q.value,value:Y}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((W)=>{if(!t(W))return S;return Promise.resolve(X.transform(W.value,Q)).then((Y)=>({status:q.value,value:Y}))});L.assertNever(X)}}u.create=($,q,J)=>{return new u({schema:$,typeName:V.ZodEffects,effect:q,...E(J)})};u.createWithPreprocess=($,q,J)=>{return new u({schema:q,effect:{type:"preprocess",transform:$},typeName:V.ZodEffects,...E(J)})};class g extends j{_parse($){if(this._getType($)===M.undefined)return k(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}g.create=($,q)=>{return new g({innerType:$,typeName:V.ZodOptional,...E(q)})};class a extends j{_parse($){if(this._getType($)===M.null)return k(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}a.create=($,q)=>{return new a({innerType:$,typeName:V.ZodNullable,...E(q)})};class f$ extends j{_parse($){let{ctx:q}=this._processInputParams($),J=q.data;if(q.parsedType===M.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:q.path,parent:q})}removeDefault(){return this._def.innerType}}f$.create=($,q)=>{return new f$({innerType:$,typeName:V.ZodDefault,defaultValue:typeof q.default==="function"?q.default:()=>q.default,...E(q)})};class P$ extends j{_parse($){let{ctx:q}=this._processInputParams($),J={...q,common:{...q.common,issues:[]}},X=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(j$(X))return X.then((Q)=>{return{status:"valid",value:Q.status==="valid"?Q.value:this._def.catchValue({get error(){return new C(J.common.issues)},input:J.data})}});else return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new C(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}P$.create=($,q)=>{return new P$({innerType:$,typeName:V.ZodCatch,catchValue:typeof q.catch==="function"?q.catch:()=>q.catch,...E(q)})};class l$ extends j{_parse($){if(this._getType($)!==M.nan){let J=this._getOrReturnCtx($);return z(J,{code:G.invalid_type,expected:M.nan,received:J.parsedType}),S}return{status:"valid",value:$.data}}}l$.create=($)=>{return new l$({typeName:V.ZodNaN,...E($)})};var Xq=Symbol("zod_brand");class e$ extends j{_parse($){let{ctx:q}=this._processInputParams($),J=q.data;return this._def.type._parse({data:J,path:q.path,parent:q})}unwrap(){return this._def.type}}class u$ extends j{_parse($){let{status:q,ctx:J}=this._processInputParams($);if(J.common.async)return(async()=>{let Q=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(Q.status==="aborted")return S;if(Q.status==="dirty")return q.dirty(),Y$(Q.value);else return this._def.out._parseAsync({data:Q.value,path:J.path,parent:J})})();else{let X=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(X.status==="aborted")return S;if(X.status==="dirty")return q.dirty(),{status:"dirty",value:X.value};else return this._def.out._parseSync({data:X.value,path:J.path,parent:J})}}static create($,q){return new u$({in:$,out:q,typeName:V.ZodPipeline})}}class k$ extends j{_parse($){let q=this._def.innerType._parse($),J=(X)=>{if(t(X))X.value=Object.freeze(X.value);return X};return j$(q)?q.then((X)=>J(X)):J(q)}unwrap(){return this._def.innerType}}k$.create=($,q)=>{return new k$({innerType:$,typeName:V.ZodReadonly,...E(q)})};function j0($,q){let J=typeof $==="function"?$(q):typeof $==="string"?{message:$}:$;return typeof J==="string"?{message:J}:J}function F0($,q={},J){if($)return _$.create().superRefine((X,Q)=>{let W=$(X);if(W instanceof Promise)return W.then((Y)=>{if(!Y){let H=j0(q,X),_=H.fatal??J??!0;Q.addIssue({code:"custom",...H,fatal:_})}});if(!W){let Y=j0(q,X),H=Y.fatal??J??!0;Q.addIssue({code:"custom",...Y,fatal:H})}return});return _$.create()}var Qq={object:N.lazycreate},V;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(V||(V={}));var Wq=($,q={message:`Input not instance of ${$.name}`})=>F0((J)=>J instanceof $,q),w0=Z.create,O0=$$.create,Yq=l$.create,Hq=q$.create,N0=D$.create,_q=H$.create,Bq=h$.create,Gq=A$.create,Mq=F$.create,zq=_$.create,Uq=e.create,Rq=d.create,Sq=Z$.create,Vq=x.create,Eq=N.create,jq=N.strictCreate,Lq=w$.create,Kq=t$.create,Dq=O$.create,Aq=r.create,Fq=x$.create,wq=g$.create,Oq=B$.create,Nq=K$.create,bq=N$.create,vq=b$.create,fq=J$.create,Pq=v$.create,kq=G$.create,Iq=u.create,Tq=g.create,Cq=a.create,yq=u.createWithPreprocess,hq=u$.create,Zq=()=>w0().optional(),xq=()=>O0().optional(),gq=()=>N0().optional(),lq={string:($)=>Z.create({...$,coerce:!0}),number:($)=>$$.create({...$,coerce:!0}),boolean:($)=>D$.create({...$,coerce:!0}),bigint:($)=>q$.create({...$,coerce:!0}),date:($)=>H$.create({...$,coerce:!0})};var uq=S;var mq=D.object({name:D.string().default("genie"),defaultWindow:D.string().default("shell"),autoCreate:D.boolean().default(!0)}),cq=D.object({execTimeout:D.number().default(120000),readLines:D.number().default(100),worktreeBase:D.string().default(".worktrees")}),pq=D.object({tmuxDebug:D.boolean().default(!1),verbose:D.boolean().default(!1)}),dq=D.object({preference:D.enum(["auto","zsh","bash","fish"]).default("auto")}),rq=D.object({tmuxInstalled:D.boolean().default(!1),shellInstalled:D.boolean().default(!1)}),iq=D.object({enabled:D.boolean().default(!1)}),m=D.object({version:D.number().default(2),session:mq.default({}),terminal:cq.default({}),logging:pq.default({}),shell:dq.default({}),shortcuts:rq.default({}),claudio:iq.optional(),installMethod:D.enum(["source","npm","bun"]).optional(),setupComplete:D.boolean().default(!1),lastSetupAt:D.string().optional()}),b0=D.object({session:D.object({name:D.string().default("genie"),defaultWindow:D.string().default("shell")}).default({}),logging:D.object({tmuxDebug:D.boolean().default(!1)}).default({}),installMethod:D.enum(["source","npm","bun"]).optional()});var $1=P0(f0(),".genie"),M$=P0($1,"config.json"),w1=2;function JX(){return $1}function XX(){return M$}function sq(){return q1(M$)}function aq(){if(!q1($1))nq($1,{recursive:!0})}function k0($){let q=b0.safeParse($);if(q.success){let J=q.data;return m.parse({version:w1,session:{name:J.session.name,defaultWindow:J.session.defaultWindow,autoCreate:!0},terminal:{execTimeout:120000,readLines:100,worktreeBase:".worktrees"},logging:{tmuxDebug:J.logging.tmuxDebug,verbose:!1},shell:{preference:"auto"},shortcuts:{tmuxInstalled:!1,shellInstalled:!1},installMethod:J.installMethod,setupComplete:!1})}return m.parse({})}async function I0(){if(!q1(M$))return m.parse({});try{let $=v0(M$,"utf-8"),q=JSON.parse($);if(!q.version||q.version<w1){let J=k0(q);return await J1(J),J}return m.parse(q)}catch($){return console.warn(`Warning: Invalid genie config, using defaults: ${$.message}`),m.parse({})}}async function J1($){aq();try{let q=m.parse($),J=JSON.stringify(q,null,2);oq(M$,J,"utf-8")}catch(q){throw Error(`Failed to save genie config: ${q.message}`)}}function tq(){return m.parse({})}function T0(){if(!q1(M$))return m.parse({});try{let $=v0(M$,"utf-8"),q=JSON.parse($);if(!q.version||q.version<w1)return k0(q);return m.parse(q)}catch{return m.parse({})}}function QX($){let q=f0();if($.startsWith(q+"/"))return"~"+$.slice(q.length);if($===q)return"~";return $}function X1(){return T0().terminal}function WX(){if(!sq())return!1;return T0().setupComplete??!1}async function YX(){let $=await I0();$.setupComplete=!0,$.lastSetupAt=new Date().toISOString(),await J1($)}async function HX(){let $=tq();await J1($)}async function _X($){let q=await I0();q.shortcuts={...q.shortcuts,...$},await J1(q)}async function C0($,q){try{let X=X1().readLines,Q={lines:q.lines?parseInt(q.lines,10):X,from:q.from?parseInt(q.from,10):void 0,to:q.to?parseInt(q.to,10):void 0,range:q.range,search:q.search,grep:q.grep,follow:q.follow,all:q.all,reverse:q.reverse};if(q.follow){console.log(`Following session "${$}" (Ctrl+C to stop)...`),console.log("");let Y=await S0($,(H)=>{console.log(H)});process.on("SIGINT",()=>{Y(),console.log(`
45
+ Stopped following`),process.exit(0)}),await new Promise(()=>{});return}let W=await R0($,Q);if(q.json){let Y=W.split(`
46
+ `);console.log(JSON.stringify({session:$,lineCount:Y.length,content:Y},null,2));return}console.log(W)}catch(J){console.error(`Error reading session logs: ${J.message}`),process.exit(1)}}async function y0($,q,J={}){let[X,Q]=$.includes(":")?$.split(":"):[$,"shell"];try{let W=await O(X);if(!W){if(!J.quiet)console.error(`Session "${X}" not found, creating...`);if(W=await i$(X),!W)console.error(`Failed to create session "${X}"`),process.exit(1)}let H=(await P(W.id)).find((F)=>F.name===Q);if(!H){if(!J.quiet)console.error(`Window "${Q}" not found, creating...`);if(H=await n$(W.id,Q),!H)console.error(`Failed to create window "${Q}"`),process.exit(1)}let _=await T(H.id);if(!_||_.length===0)console.error(`No panes found in window "${Q}"`),process.exit(1);let B=X1(),R=J.timeout??B.execTimeout,{output:K,exitCode:A}=await $0(_[0].id,q,R);if(K&&!J.quiet)console.log(K);process.exit(A)}catch(W){console.error(`Error: ${W.message}`),process.exit(1)}}async function h0($,q){try{let J=await O($);if(!J)console.error(`\u274C Session "${$}" not found`),process.exit(1);let X=await P(J.id);if(!X||X.length===0)console.error(`\u274C No windows found in session "${$}"`),process.exit(1);let Q=await T(X[0].id);if(!Q||Q.length===0)console.error(`\u274C No panes found in session "${$}"`),process.exit(1);let W=Q[0].id;await t1(W,q,!1,!0),console.log(`\u2705 Keys sent to session "${$}"`)}catch(J){console.error(`\u274C Error sending keys: ${J.message}`),process.exit(1)}}import{join as JJ}from"path";async function Z0($,q,J={}){try{let X=await O($);if(!X)console.error(`\u274C Session "${$}" not found`),process.exit(1);let Q=await P(X.id);if(!Q||Q.length===0)console.error(`\u274C No windows found in session "${$}"`),process.exit(1);let W=await T(Q[0].id);if(!W||W.length===0)console.error(`\u274C No panes found in session "${$}"`),process.exit(1);let Y=W[0].id,H=q==="h"?"horizontal":"vertical",_;if(J.worktree){if(!J.workspace)console.error("\u274C --worktree requires --workspace"),process.exit(1);let R=V$({baseDir:JJ(J.workspace,".worktrees"),repoPath:J.workspace});if(!await R.worktreeExists(J.worktree)){let A=await R.createWorktree(J.worktree,!0);console.log(`\u2705 Worktree created at ${A.path}`)}_=R.getWorktreePath(J.worktree)}else if(J.workspace)_=J.workspace;let B=await a1(Y,H);if(!B)console.error("\u274C Failed to split pane"),process.exit(1);if(_&&B)await w(`send-keys -t '${B.id}' 'cd ${_}' Enter`);if(console.log(`\u2705 Pane split ${H}ly in session "${$}"`),_)console.log(` Working directory: ${_}`)}catch(X){console.error(`\u274C Error splitting pane: ${X.message}`),process.exit(1)}}async function x0($,q){await w(`set-hook -g ${$} '${q.replace(/'/g,"'\\''")}'`)}async function g0($){await w(`set-hook -gu ${$}`)}async function l0(){let $=["after-bind-key","after-capture-pane","after-copy-mode","after-display-message","after-display-panes","after-kill-pane","after-list-buffers","after-list-clients","after-list-keys","after-list-panes","after-list-sessions","after-list-windows","after-load-buffer","after-lock-server","after-new-session","after-new-window","after-paste-buffer","after-pipe-pane","after-queue","after-refresh-client","after-rename-session","after-rename-window","after-resize-pane","after-resize-window","after-save-buffer","after-select-layout","after-select-pane","after-select-window","after-send-keys","after-set-buffer","after-set-environment","after-set-option","after-show-environment","after-show-messages","after-show-options","after-split-window","after-unbind-key","alert-activity","alert-bell","alert-silence","client-attached","client-detached","client-resized","client-session-changed","pane-died","pane-exited","pane-focus-in","pane-focus-out","pane-mode-changed","pane-set-clipboard","session-closed","session-created","session-renamed","session-window-changed","window-linked","window-pane-changed","window-renamed","window-unlinked"],q=[];for(let J of $)try{let X=await w(`show-hooks -g ${J}`);if(X.trim()){let Q=X.trim().split(" ");if(Q.length>=2)q.push({event:Q[0],command:Q.slice(1).join(" ")})}}catch(X){continue}return q}async function u0($,q){try{await x0($,q),console.log(`\u2705 Hook set: ${$} \u2192 ${q}`)}catch(J){console.error(`\u274C Error setting hook: ${J.message}`),process.exit(1)}}async function m0(){try{let $=await l0();if($.length===0){console.log("No hooks configured");return}console.log("EVENT\t\t\t\tCOMMAND"),console.log("\u2500".repeat(80));for(let q of $)console.log(`${q.event} ${q.command}`)}catch($){console.error(`\u274C Error listing hooks: ${$.message}`),process.exit(1)}}async function c0($){try{await g0($),console.log(`\u2705 Hook removed: ${$}`)}catch(q){console.error(`\u274C Error removing hook: ${q.message}`),process.exit(1)}}async function p0($,q={}){try{let J=await O($);if(!J)console.error(`Session "${$}" not found`),process.exit(1);let X=await P(J.id);if(q.json){console.log(JSON.stringify(X,null,2));return}if(X.length===0){console.log("No windows found");return}console.log("WINDOW ID\t\tNAME\t\t\tACTIVE"),console.log("\u2500".repeat(60));for(let Q of X){let W=Q.active?"yes":"no";console.log(`${Q.id} ${Q.name} ${W}`)}}catch(J){console.error(`Error listing windows: ${J.message}`),process.exit(1)}}async function d0($,q){try{let J=await O($);if(!J)console.error(`Session "${$}" not found`),process.exit(1);let X=await n$(J.id,q);if(X)console.log(`Window created: ${X.id}`);else console.error("Failed to create window"),process.exit(1)}catch(J){console.error(`Error creating window: ${J.message}`),process.exit(1)}}async function r0($){try{await o1($),console.log(`Window removed: ${$}`)}catch(q){console.error(`Error removing window: ${q.message}`),process.exit(1)}}async function i0($,q={}){try{let J=await O($);if(!J)console.error(`Session "${$}" not found`),process.exit(1);let X=await P(J.id);if(X.length===0){if(q.json)console.log("[]");else console.log("No panes found");return}let Q=[];for(let W of X){let Y=await T(W.id);for(let H of Y)Q.push({id:H.id,windowId:W.id,windowName:W.name,title:H.title,active:H.active})}if(q.json){console.log(JSON.stringify(Q,null,2));return}if(Q.length===0){console.log("No panes found");return}console.log("PANE ID\t\tWINDOW\t\t\tTITLE\t\t\tACTIVE"),console.log("\u2500".repeat(80));for(let W of Q){let Y=W.active?"yes":"no",H=W.title||"-";console.log(`${W.id} ${W.windowName} ${H} ${Y}`)}}catch(J){console.error(`Error listing panes: ${J.message}`),process.exit(1)}}async function n0($){try{await s1($),console.log(`Pane removed: ${$}`)}catch(q){console.error(`Error removing pane: ${q.message}`),process.exit(1)}}async function o0($,q={}){try{if(q.command){await _J(q.command,q.json);return}let J=await O($);if(!J)console.error(`Session "${$}" not found`),process.exit(1);let X=await P(J.id),Q=0;for(let H of X){let _=await T(H.id);Q+=_.length}let W="idle",Y={session:J.name,id:J.id,attached:J.attached,windows:X.length,panes:Q,state:W};if(q.json){console.log(JSON.stringify(Y,null,2));return}console.log(`Session: ${Y.session}`),console.log(`ID: ${Y.id}`),console.log(`Attached: ${Y.attached?"yes":"no"}`),console.log(`Windows: ${Y.windows}`),console.log(`Panes: ${Y.panes}`),console.log(`State: ${Y.state}`)}catch(J){console.error(`Error getting status: ${J.message}`),process.exit(1)}}async function _J($,q){try{let J=await e1($);if(!J)console.error(`Command "${$}" not found`),process.exit(1);let X={id:J.id,paneId:J.paneId,command:J.command,status:J.status,exitCode:J.exitCode,startTime:J.startTime.toISOString(),result:J.result};if(q){console.log(JSON.stringify(X,null,2));return}if(console.log(`Command: ${X.id}`),console.log(`Status: ${X.status}`),console.log(`Exit Code: ${X.exitCode??"N/A"}`),console.log(`Start Time: ${X.startTime}`),X.result)console.log(`
47
47
  Output:
48
- ${U.result}`)}catch(q){console.error(`Error getting command status: ${q.message}`),process.exit(1)}}import{homedir as K0}from"os";import{join as D}from"path";import{existsSync as N,readFileSync as E0,writeFileSync as Z6,mkdirSync as _6,appendFileSync as _1}from"fs";import*as z0 from"readline";function L0(){return`# Warp-like keyboard shortcuts (generated by genie-cli)
48
+ ${X.result}`)}catch(J){console.error(`Error getting command status: ${J.message}`),process.exit(1)}}import{homedir as s0}from"os";import{join as c}from"path";import{existsSync as z$,readFileSync as a0,writeFileSync as GJ,mkdirSync as MJ,appendFileSync as O1}from"fs";import*as t0 from"readline";function e0(){return`# Warp-like keyboard shortcuts (generated by genie-cli)
49
49
  # To use: add to ~/.tmux.conf or source this file
50
50
 
51
51
  # Ctrl+T: New window (tab) in current session
52
- bind-key -n C-t new-window
52
+ bind-key -n C-t new-window -c "#{pane_current_path}"
53
53
 
54
54
  # Ctrl+S: Vertical split (requires stty -ixon in shell rc)
55
- bind-key -n C-s split-window -v
55
+ bind-key -n C-s split-window -v -c "#{pane_current_path}"
56
56
 
57
- # Alt+S: Horizontal split
58
- bind-key -n M-s split-window -h
59
- `}function V0(){return`# Warp-like extra keys (generated by genie-cli)
57
+ # Ctrl+Shift+S: Horizontal split
58
+ bind-key -n C-S split-window -h -c "#{pane_current_path}"
59
+ `}function $6(){return`# Warp-like extra keys (generated by genie-cli)
60
60
  # To use: add to ~/.termux/termux.properties
61
61
 
62
62
  # Extra keys row with F-keys for shortcuts
63
63
  # F1=New Tab, F2=VSplit, F3=HSplit
64
64
  extra-keys = [['ESC','TAB','CTRL','ALT','F1','F2','F3']]
65
- `}function Y6(){return`# Warp-like shortcuts (generated by genie-cli)
65
+ `}function zJ(){return`# Warp-like shortcuts (generated by genie-cli)
66
66
  # To use: add to ~/.bashrc or ~/.zshrc
67
67
 
68
68
  # Disable Ctrl+S flow control (required for Ctrl+S to work in tmux)
@@ -73,7 +73,7 @@ genie-new-tab() {
73
73
  local session
74
74
  session=$(tmux display-message -p '#S' 2>/dev/null)
75
75
  if [ -n "$session" ]; then
76
- tmux new-window
76
+ tmux new-window -c "#{pane_current_path}"
77
77
  else
78
78
  echo "Not in a tmux session"
79
79
  fi
@@ -81,7 +81,7 @@ genie-new-tab() {
81
81
 
82
82
  genie-vsplit() {
83
83
  if tmux display-message -p '#S' >/dev/null 2>&1; then
84
- tmux split-window -v
84
+ tmux split-window -v -c "#{pane_current_path}"
85
85
  else
86
86
  echo "Not in a tmux session"
87
87
  fi
@@ -89,7 +89,7 @@ genie-vsplit() {
89
89
 
90
90
  genie-hsplit() {
91
91
  if tmux display-message -p '#S' >/dev/null 2>&1; then
92
- tmux split-window -h
92
+ tmux split-window -h -c "#{pane_current_path}"
93
93
  else
94
94
  echo "Not in a tmux session"
95
95
  fi
@@ -99,16 +99,16 @@ genie-hsplit() {
99
99
  bind -x '"eOP":"genie-new-tab"' 2>/dev/null # F1
100
100
  bind -x '"eOQ":"genie-vsplit"' 2>/dev/null # F2
101
101
  bind -x '"eOR":"genie-hsplit"' 2>/dev/null # F3
102
- `}function S6(){console.log(`
102
+ `}function UJ(){console.log(`
103
103
  Warp-like Terminal Shortcuts for tmux + Termux
104
104
 
105
- \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510
106
- \u2502 Shortcut \u2502 Action \u2502
107
- \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524
108
- \u2502 Ctrl+T \u2502 New tab (window) in current session \u2502
109
- \u2502 Ctrl+S \u2502 Vertical split in current session \u2502
110
- \u2502 Alt+S \u2502 Horizontal split in current session \u2502
111
- \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518
105
+ \u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510
106
+ \u2502 Shortcut \u2502 Action \u2502
107
+ \u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524
108
+ \u2502 Ctrl+T \u2502 New tab (window) in current session \u2502
109
+ \u2502 Ctrl+S \u2502 Vertical split in current session \u2502
110
+ \u2502 Ctrl+Shift+S \u2502 Horizontal split in current session \u2502
111
+ \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518
112
112
 
113
113
  Termux Extra Keys (F1-F3):
114
114
  F1 \u2192 New tab F2 \u2192 Vertical split
@@ -118,19 +118,24 @@ Commands:
118
118
  term shortcuts --tmux Output tmux.conf snippet
119
119
  term shortcuts --termux Output termux.properties snippet
120
120
  term shortcuts --install Install to config files
121
- `)}async function w($){let J=z0.createInterface({input:process.stdin,output:process.stdout});return new Promise((q)=>{J.question($,(U)=>{J.close(),q(U.trim().toLowerCase())})})}function O($,J){if(!N($))return!1;return E0($,"utf-8").includes(J)}async function W6(){let $=K0(),J="generated by genie-cli";console.log(`Installing Warp-like shortcuts...
122
- `);let q=D($,".tmux.conf");if(O(q,"generated by genie-cli"))console.log("\u2713 tmux.conf already has genie shortcuts");else if(await w(`Add shortcuts to ${q}? [Y/n] `)!=="n"){let _=`
123
- `+L0();_1(q,_),console.log(`\u2705 Added to ${q}`)}else console.log("\u23ED\uFE0F Skipped tmux.conf");let U=N(D($,".zshrc"))?D($,".zshrc"):D($,".bashrc");if(O(U,"generated by genie-cli"))console.log(`\u2713 ${U} already has genie shortcuts`);else if(await w(`Add shell functions to ${U}? [Y/n] `)!=="n"){let _=`
124
- `+Y6();_1(U,_),console.log(`\u2705 Added to ${U}`)}else console.log(`\u23ED\uFE0F Skipped ${U}`);let G=D($,".termux"),X=D(G,"termux.properties"),Q=N(G)||process.env.TERMUX_VERSION;if(Q)if(O(X,"generated by genie-cli"))console.log("\u2713 termux.properties already has genie shortcuts");else if(await w(`Add extra keys to ${X}? [Y/n] `)!=="n"){if(!N(G))_6(G,{recursive:!0});let _=`
125
- `+V0();_1(X,_),console.log(`\u2705 Added to ${X}`),console.log(" Run: termux-reload-settings")}else console.log("\u23ED\uFE0F Skipped termux.properties");if(console.log(`
121
+ `)}async function I$($){let q=t0.createInterface({input:process.stdin,output:process.stdout});return new Promise((J)=>{q.question($,(X)=>{q.close(),J(X.trim().toLowerCase())})})}function U$($,q){if(!z$($))return!1;return a0($,"utf-8").includes(q)}async function RJ(){let $=s0(),q="generated by genie-cli";console.log(`Installing Warp-like shortcuts...
122
+ `);let J=c($,".tmux.conf");if(U$(J,"generated by genie-cli"))console.log("\u2713 tmux.conf already has genie shortcuts");else if(await I$(`Add shortcuts to ${J}? [Y/n] `)!=="n"){let _=`
123
+ `+e0();O1(J,_),console.log(`\u2705 Added to ${J}`)}else console.log("\u23ED\uFE0F Skipped tmux.conf");let X=z$(c($,".zshrc"))?c($,".zshrc"):c($,".bashrc");if(U$(X,"generated by genie-cli"))console.log(`\u2713 ${X} already has genie shortcuts`);else if(await I$(`Add shell functions to ${X}? [Y/n] `)!=="n"){let _=`
124
+ `+zJ();O1(X,_),console.log(`\u2705 Added to ${X}`)}else console.log(`\u23ED\uFE0F Skipped ${X}`);let Q=c($,".termux"),W=c(Q,"termux.properties"),Y=z$(Q)||process.env.TERMUX_VERSION;if(Y)if(U$(W,"generated by genie-cli"))console.log("\u2713 termux.properties already has genie shortcuts");else if(await I$(`Add extra keys to ${W}? [Y/n] `)!=="n"){if(!z$(Q))MJ(Q,{recursive:!0});let _=`
125
+ `+$6();O1(W,_),console.log(`\u2705 Added to ${W}`),console.log(" Run: termux-reload-settings")}else console.log("\u23ED\uFE0F Skipped termux.properties");if(console.log(`
126
126
  \u2705 Installation complete!`),console.log(`
127
- Next steps:`),console.log(" 1. Reload tmux: tmux source ~/.tmux.conf"),console.log(" 2. Restart your shell or run: source ~/.bashrc"),Q)console.log(" 3. Reload Termux: termux-reload-settings")}function D8($){return O($,"generated by genie-cli")}function Y1($,J){if(!N($))return!1;let q=E0($,"utf-8");if(!q.includes(J))return!1;let U=q.split(`
128
- `),G=[],X=!1,Q=-1;for(let _=0;_<U.length;_++){let Y=U[_];if(Y.includes(J)&&!X){if(X=!0,Q===-1&&G.length>0&&G[G.length-1].trim()==="")G.pop();continue}if(X){if(Y.trim()===""&&_+1<U.length&&!U[_+1].includes("genie")){X=!1;continue}if(!(Y.includes("genie")||Y.includes("Ctrl+")||Y.includes("split-window")||Y.includes("new-window")||Y.includes("stty -ixon")||Y.includes("Warp-like")||Y.includes("bind-key -n")||Y.includes("extra-keys")||Y.includes("F1=")||Y.includes("bind -x")||Y.startsWith("#")&&U[_-1]?.includes("genie"))&&Y.trim()!=="")X=!1,G.push(Y);continue}G.push(Y)}while(G.length>0&&G[G.length-1].trim()==="")G.pop();let Z=G.length>0?G.join(`
127
+ Next steps:`),console.log(" 1. Reload tmux: tmux source ~/.tmux.conf"),console.log(" 2. Restart your shell or run: source ~/.bashrc"),Y)console.log(" 3. Reload Termux: termux-reload-settings")}function jX($){return U$($,"generated by genie-cli")}function N1($,q){if(!z$($))return!1;let J=a0($,"utf-8");if(!J.includes(q))return!1;let X=J.split(`
128
+ `),Q=[],W=!1,Y=-1;for(let _=0;_<X.length;_++){let B=X[_];if(B.includes(q)&&!W){if(W=!0,Y===-1&&Q.length>0&&Q[Q.length-1].trim()==="")Q.pop();continue}if(W){if(B.trim()===""&&_+1<X.length&&!X[_+1].includes("genie")){W=!1;continue}if(!(B.includes("genie")||B.includes("Ctrl+")||B.includes("split-window")||B.includes("new-window")||B.includes("stty -ixon")||B.includes("Warp-like")||B.includes("bind-key -n")||B.includes("extra-keys")||B.includes("F1=")||B.includes("bind -x")||B.startsWith("#")&&X[_-1]?.includes("genie"))&&B.trim()!=="")W=!1,Q.push(B);continue}Q.push(B)}while(Q.length>0&&Q[Q.length-1].trim()==="")Q.pop();let H=Q.length>0?Q.join(`
129
129
  `)+`
130
- `:"";return Z6($,Z),!0}async function y8(){let $=K0(),J="generated by genie-cli";console.log(`Uninstalling Warp-like shortcuts...
131
- `);let q=D($,".tmux.conf");if(!O(q,"generated by genie-cli"))console.log("\u2713 tmux.conf has no genie shortcuts");else if(await w(`Remove shortcuts from ${q}? [Y/n] `)!=="n"){if(Y1(q,"generated by genie-cli"))console.log(`\u2705 Removed from ${q}`)}else console.log("\u23ED\uFE0F Skipped tmux.conf");let U=D($,".zshrc"),G=D($,".bashrc");for(let _ of[U,G]){if(!N(_))continue;if(!O(_,"generated by genie-cli"))console.log(`\u2713 ${_} has no genie shortcuts`);else if(await w(`Remove shell functions from ${_}? [Y/n] `)!=="n"){if(Y1(_,"generated by genie-cli"))console.log(`\u2705 Removed from ${_}`)}else console.log(`\u23ED\uFE0F Skipped ${_}`)}let X=D($,".termux"),Q=D(X,"termux.properties"),Z=N(X)||process.env.TERMUX_VERSION;if(Z)if(!O(Q,"generated by genie-cli"))console.log("\u2713 termux.properties has no genie shortcuts");else if(await w(`Remove extra keys from ${Q}? [Y/n] `)!=="n"){if(Y1(Q,"generated by genie-cli"))console.log(`\u2705 Removed from ${Q}`),console.log(" Run: termux-reload-settings")}else console.log("\u23ED\uFE0F Skipped termux.properties");if(console.log(`
130
+ `:"";return GJ($,H),!0}async function LX(){let $=s0(),q="generated by genie-cli";console.log(`Uninstalling Warp-like shortcuts...
131
+ `);let J=c($,".tmux.conf");if(!U$(J,"generated by genie-cli"))console.log("\u2713 tmux.conf has no genie shortcuts");else if(await I$(`Remove shortcuts from ${J}? [Y/n] `)!=="n"){if(N1(J,"generated by genie-cli"))console.log(`\u2705 Removed from ${J}`)}else console.log("\u23ED\uFE0F Skipped tmux.conf");let X=c($,".zshrc"),Q=c($,".bashrc");for(let _ of[X,Q]){if(!z$(_))continue;if(!U$(_,"generated by genie-cli"))console.log(`\u2713 ${_} has no genie shortcuts`);else if(await I$(`Remove shell functions from ${_}? [Y/n] `)!=="n"){if(N1(_,"generated by genie-cli"))console.log(`\u2705 Removed from ${_}`)}else console.log(`\u23ED\uFE0F Skipped ${_}`)}let W=c($,".termux"),Y=c(W,"termux.properties"),H=z$(W)||process.env.TERMUX_VERSION;if(H)if(!U$(Y,"generated by genie-cli"))console.log("\u2713 termux.properties has no genie shortcuts");else if(await I$(`Remove extra keys from ${Y}? [Y/n] `)!=="n"){if(N1(Y,"generated by genie-cli"))console.log(`\u2705 Removed from ${Y}`),console.log(" Run: termux-reload-settings")}else console.log("\u23ED\uFE0F Skipped termux.properties");if(console.log(`
132
132
  \u2705 Uninstallation complete!`),console.log(`
133
- Next steps:`),console.log(" 1. Reload tmux: tmux source ~/.tmux.conf"),console.log(" 2. Restart your shell or run: source ~/.bashrc"),Z)console.log(" 3. Reload Termux: termux-reload-settings")}async function M0($){if($.tmux)console.log(L0());else if($.termux)console.log(V0());else if($.install)await W6();else S6()}var V=new A1;V.name("term").description(`AI-friendly terminal orchestration (tmux wrapper)
133
+ Next steps:`),console.log(" 1. Reload tmux: tmux source ~/.tmux.conf"),console.log(" 2. Restart your shell or run: source ~/.bashrc"),H)console.log(" 3. Reload Termux: termux-reload-settings")}async function q6($){if($.tmux)console.log(e0());else if($.termux)console.log($6());else if($.install)await RJ();else UJ()}var I=new p1;I.name("term").description(`AI-friendly terminal orchestration (tmux wrapper)
134
+
135
+ Collaborative Usage:
136
+ AI runs: term exec genie:shell '<command>'
137
+ Human watches: tmux attach -t genie
138
+ AI reads: term read genie
134
139
 
135
140
  Workflow: new \u2192 exec \u2192 read \u2192 rm
136
- Full control: window new/ls/rm, pane ls/rm, split, status`).version(I1);V.command("new <name>").description("Create a new tmux session").option("-d, --workspace <path>","Working directory for the session").option("-w, --worktree","Create git worktree in .worktrees/<name>/").action(async($,J)=>{await s1($,J)});V.command("ls").description("List all tmux sessions").option("--json","Output as JSON").action(async($)=>{await i1($)});V.command("attach <name>").description("Attach to a tmux session").action(async($)=>{await t1($)});V.command("rm <name>").description("Remove a tmux session").option("--keep-worktree","Keep worktree folder when removing session").action(async($,J)=>{await o1($,J)});V.command("read <session>").description("Read logs from a tmux session").option("-n, --lines <number>","Number of lines to read (default: 100)","100").option("--from <line>","Start line number").option("--to <line>","End line number").option("--range <range>","Line range (e.g., 100:200)").option("--search <pattern>","Search for pattern").option("--grep <pattern>","Regex search pattern").option("-f, --follow","Follow mode (live tail)").option("--all","Export entire scrollback buffer").option("--reverse","Reverse chronological (newest first)").option("--json","Output as JSON").action(async($,J)=>{await e1($,J)});V.command("exec <session> <command...>").description("Execute command in a tmux session").action(async($,J)=>{await $0($,J.join(" "))});V.command("send <session> <keys>").description("Send raw keys to a tmux session").action(async($,J)=>{await J0($,J)});V.command("split <session> [direction]").description("Split pane in a tmux session (h=horizontal, v=vertical)").option("-d, --workspace <path>","Working directory for the new pane").option("-w, --worktree <branch>","Create git worktree in .worktrees/<branch>/").action(async($,J,q)=>{await q0($,J,q)});V.command("status <session>").description("Check session state (idle/busy, pane count)").option("--command <id>","Check specific command status").option("--json","Output as JSON").action(async($,J)=>{await B0($,J)});var S1=V.command("window").description("Manage tmux windows");S1.command("new <session> <name>").description("Create a new window in session").action(async($,J)=>{await S0($,J)});S1.command("ls <session>").description("List windows in session").option("--json","Output as JSON").action(async($,J)=>{await Y0($,J)});S1.command("rm <window-id>").description("Remove window by ID").action(async($)=>{await W0($)});var T0=V.command("pane").description("Manage tmux panes");T0.command("ls <session>").description("List all panes in session").option("--json","Output as JSON").action(async($,J)=>{await H0($,J)});T0.command("rm <pane-id>").description("Remove pane by ID").action(async($)=>{await R0($)});var W1=V.command("hook").description("Manage tmux hooks");W1.command("set <event> <command>").description("Set a tmux hook").action(async($,J)=>{await Q0($,J)});W1.command("list").description("List all tmux hooks").action(async()=>{await Z0()});W1.command("rm <event>").description("Remove a tmux hook").action(async($)=>{await _0($)});V.command("shortcuts").description("Warp-like keyboard shortcuts for tmux/Termux").option("--tmux","Output tmux.conf snippet").option("--termux","Output termux.properties snippet").option("--install","Install to config files (interactive)").action(async($)=>{await M0($)});V.parse();
141
+ Full control: window new/ls/rm, pane ls/rm, split, status`).version(d1);I.command("new <name>").description("Create a new tmux session").option("-d, --workspace <path>","Working directory for the session").option("-w, --worktree","Create git worktree in .worktrees/<name>/").action(async($,q)=>{await G0($,q)});I.command("ls").description("List all tmux sessions").option("--json","Output as JSON").action(async($)=>{await M0($)});I.command("attach <name>").description("Attach to a tmux session").action(async($)=>{await z0($)});I.command("rm <name>").description("Remove a tmux session").option("--keep-worktree","Keep worktree folder when removing session").action(async($,q)=>{await U0($,q)});I.command("read <session>").description("Read logs from a tmux session").option("-n, --lines <number>","Number of lines to read (default: 100)","100").option("--from <line>","Start line number").option("--to <line>","End line number").option("--range <range>","Line range (e.g., 100:200)").option("--search <pattern>","Search for pattern").option("--grep <pattern>","Regex search pattern").option("-f, --follow","Follow mode (live tail)").option("--all","Export entire scrollback buffer").option("--reverse","Reverse chronological (newest first)").option("--json","Output as JSON").action(async($,q)=>{await C0($,q)});I.command("exec <session> <command...>").description("Execute command in a tmux session").option("-q, --quiet","Suppress stdout output").option("-t, --timeout <ms>","Timeout in milliseconds (default: 120000)").action(async($,q,J)=>{await y0($,q.join(" "),{quiet:J.quiet,timeout:J.timeout?parseInt(J.timeout,10):void 0})});I.command("send <session> <keys>").description("Send raw keys to a tmux session").action(async($,q)=>{await h0($,q)});I.command("split <session> [direction]").description("Split pane in a tmux session (h=horizontal, v=vertical)").option("-d, --workspace <path>","Working directory for the new pane").option("-w, --worktree <branch>","Create git worktree in .worktrees/<branch>/").action(async($,q,J)=>{await Z0($,q,J)});I.command("status <session>").description("Check session state (idle/busy, pane count)").option("--command <id>","Check specific command status").option("--json","Output as JSON").action(async($,q)=>{await o0($,q)});var b1=I.command("window").description("Manage tmux windows");b1.command("new <session> <name>").description("Create a new window in session").action(async($,q)=>{await d0($,q)});b1.command("ls <session>").description("List windows in session").option("--json","Output as JSON").action(async($,q)=>{await p0($,q)});b1.command("rm <window-id>").description("Remove window by ID").action(async($)=>{await r0($)});var J6=I.command("pane").description("Manage tmux panes");J6.command("ls <session>").description("List all panes in session").option("--json","Output as JSON").action(async($,q)=>{await i0($,q)});J6.command("rm <pane-id>").description("Remove pane by ID").action(async($)=>{await n0($)});var v1=I.command("hook").description("Manage tmux hooks");v1.command("set <event> <command>").description("Set a tmux hook").action(async($,q)=>{await u0($,q)});v1.command("list").description("List all tmux hooks").action(async()=>{await m0()});v1.command("rm <event>").description("Remove a tmux hook").action(async($)=>{await c0($)});I.command("shortcuts").description("Warp-like keyboard shortcuts for tmux/Termux").option("--tmux","Output tmux.conf snippet").option("--termux","Output termux.properties snippet").option("--install","Install to config files (interactive)").action(async($)=>{await q6($)});I.parse();