@automagik/genie 3.260317.6 → 3.260317.7

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/genie.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var KJ=Object.create;var{getPrototypeOf:MJ,defineProperty:q6,getOwnPropertyNames:EJ}=Object;var AJ=Object.prototype.hasOwnProperty;function RJ(D){return this[D]}var OJ,CJ,U2=(D,F,$)=>{var J=D!=null&&typeof D==="object";if(J){var B=F?OJ??=new WeakMap:CJ??=new WeakMap,X=B.get(D);if(X)return X}$=D!=null?KJ(MJ(D)):{};let Q=F||!D||!D.__esModule?q6($,"default",{value:D,enumerable:!0}):$;for(let Y of EJ(D))if(!AJ.call(Q,Y))q6(Q,Y,{get:RJ.bind(D,Y),enumerable:!0});if(J)B.set(D,Q);return Q};var l=(D,F)=>()=>(F||D((F={exports:{}}).exports,F),F.exports);var jJ=(D)=>D;function _J(D,F){this[D]=jJ.bind(null,F)}var JD=(D,F)=>{for(var $ in F)q6(D,$,{get:F[$],enumerable:!0,configurable:!0,set:_J.bind(F,$)})};var S=(D,F)=>()=>(D&&(F=D(D=0)),F);var P=import.meta.require;var k0=l((LJ)=>{class G6 extends Error{constructor(D,F,$){super($);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=F,this.exitCode=D,this.nestedError=void 0}}class Z5 extends G6{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}LJ.CommanderError=G6;LJ.InvalidArgumentError=Z5});var l3=l((IJ)=>{var{InvalidArgumentError:NJ}=k0();class T5{constructor(D,F){switch(this.description=F||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;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(D,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.concat(D)}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,$)=>{if(!this.argChoices.includes(F))throw new NJ(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(F,$);return F},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function SJ(D){let F=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+F+">":"["+F+"]"}IJ.Argument=T5;IJ.humanReadableArgName=SJ});var H6=l((kJ)=>{var{humanReadableArgName:PJ}=l3();class N5{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(D){let F=D.commands.filter((J)=>!J._hidden),$=D._getHelpCommand();if($&&!$._hidden)F.push($);if(this.sortSubcommands)F.sort((J,B)=>{return J.name().localeCompare(B.name())});return F}compareOptions(D,F){let $=(J)=>{return J.short?J.short.replace(/^-/,""):J.long.replace(/^--/,"")};return $(D).localeCompare($(F))}visibleOptions(D){let F=D.options.filter((J)=>!J.hidden),$=D._getHelpOption();if($&&!$.hidden){let J=$.short&&D._findOption($.short),B=$.long&&D._findOption($.long);if(!J&&!B)F.push($);else if($.long&&!B)F.push(D.createOption($.long,$.description));else if($.short&&!J)F.push(D.createOption($.short,$.description))}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let F=[];for(let $=D.parent;$;$=$.parent){let J=$.options.filter((B)=>!B.hidden);F.push(...J)}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((F)=>{F.description=F.description||D._argsDescription[F.name()]||""});if(D.registeredArguments.find((F)=>F.description))return D.registeredArguments;return[]}subcommandTerm(D){let F=D.registeredArguments.map(($)=>PJ($)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(F?" "+F:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,F){return F.visibleCommands(D).reduce(($,J)=>{return Math.max($,F.subcommandTerm(J).length)},0)}longestOptionTermLength(D,F){return F.visibleOptions(D).reduce(($,J)=>{return Math.max($,F.optionTerm(J).length)},0)}longestGlobalOptionTermLength(D,F){return F.visibleGlobalOptions(D).reduce(($,J)=>{return Math.max($,F.optionTerm(J).length)},0)}longestArgumentTermLength(D,F){return F.visibleArguments(D).reduce(($,J)=>{return Math.max($,F.argumentTerm(J).length)},0)}commandUsage(D){let F=D._name;if(D._aliases[0])F=F+"|"+D._aliases[0];let $="";for(let J=D.parent;J;J=J.parent)$=J.name()+" "+$;return $+F+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map(($)=>JSON.stringify($)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)F.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)F.push(`env: ${D.envVar}`);if(F.length>0)return`${D.description} (${F.join(", ")})`;return D.description}argumentDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map(($)=>JSON.stringify($)).join(", ")}`);if(D.defaultValue!==void 0)F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(F.length>0){let $=`(${F.join(", ")})`;if(D.description)return`${D.description} ${$}`;return $}return D.description}formatHelp(D,F){let $=F.padWidth(D,F),J=F.helpWidth||80,B=2,X=2;function Q(W,z){if(z){let A=`${W.padEnd($+2)}${z}`;return F.wrap(A,J-2,$+2)}return W}function Y(W){return W.join(`
3
+ var KJ=Object.create;var{getPrototypeOf:MJ,defineProperty:q6,getOwnPropertyNames:EJ}=Object;var AJ=Object.prototype.hasOwnProperty;function RJ(D){return this[D]}var OJ,CJ,U2=(D,F,$)=>{var J=D!=null&&typeof D==="object";if(J){var B=F?OJ??=new WeakMap:CJ??=new WeakMap,X=B.get(D);if(X)return X}$=D!=null?KJ(MJ(D)):{};let Q=F||!D||!D.__esModule?q6($,"default",{value:D,enumerable:!0}):$;for(let Y of EJ(D))if(!AJ.call(Q,Y))q6(Q,Y,{get:RJ.bind(D,Y),enumerable:!0});if(J)B.set(D,Q);return Q};var l=(D,F)=>()=>(F||D((F={exports:{}}).exports,F),F.exports);var jJ=(D)=>D;function _J(D,F){this[D]=jJ.bind(null,F)}var BD=(D,F)=>{for(var $ in F)q6(D,$,{get:F[$],enumerable:!0,configurable:!0,set:_J.bind(F,$)})};var S=(D,F)=>()=>(D&&(F=D(D=0)),F);var P=import.meta.require;var k0=l((LJ)=>{class G6 extends Error{constructor(D,F,$){super($);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=F,this.exitCode=D,this.nestedError=void 0}}class Z5 extends G6{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}LJ.CommanderError=G6;LJ.InvalidArgumentError=Z5});var l3=l((IJ)=>{var{InvalidArgumentError:NJ}=k0();class T5{constructor(D,F){switch(this.description=F||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;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(D,F){if(F===this.defaultValue||!Array.isArray(F))return[D];return F.concat(D)}default(D,F){return this.defaultValue=D,this.defaultValueDescription=F,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(F,$)=>{if(!this.argChoices.includes(F))throw new NJ(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue(F,$);return F},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function SJ(D){let F=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+F+">":"["+F+"]"}IJ.Argument=T5;IJ.humanReadableArgName=SJ});var H6=l((kJ)=>{var{humanReadableArgName:PJ}=l3();class N5{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(D){let F=D.commands.filter((J)=>!J._hidden),$=D._getHelpCommand();if($&&!$._hidden)F.push($);if(this.sortSubcommands)F.sort((J,B)=>{return J.name().localeCompare(B.name())});return F}compareOptions(D,F){let $=(J)=>{return J.short?J.short.replace(/^-/,""):J.long.replace(/^--/,"")};return $(D).localeCompare($(F))}visibleOptions(D){let F=D.options.filter((J)=>!J.hidden),$=D._getHelpOption();if($&&!$.hidden){let J=$.short&&D._findOption($.short),B=$.long&&D._findOption($.long);if(!J&&!B)F.push($);else if($.long&&!B)F.push(D.createOption($.long,$.description));else if($.short&&!J)F.push(D.createOption($.short,$.description))}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let F=[];for(let $=D.parent;$;$=$.parent){let J=$.options.filter((B)=>!B.hidden);F.push(...J)}if(this.sortOptions)F.sort(this.compareOptions);return F}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((F)=>{F.description=F.description||D._argsDescription[F.name()]||""});if(D.registeredArguments.find((F)=>F.description))return D.registeredArguments;return[]}subcommandTerm(D){let F=D.registeredArguments.map(($)=>PJ($)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(F?" "+F:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,F){return F.visibleCommands(D).reduce(($,J)=>{return Math.max($,F.subcommandTerm(J).length)},0)}longestOptionTermLength(D,F){return F.visibleOptions(D).reduce(($,J)=>{return Math.max($,F.optionTerm(J).length)},0)}longestGlobalOptionTermLength(D,F){return F.visibleGlobalOptions(D).reduce(($,J)=>{return Math.max($,F.optionTerm(J).length)},0)}longestArgumentTermLength(D,F){return F.visibleArguments(D).reduce(($,J)=>{return Math.max($,F.argumentTerm(J).length)},0)}commandUsage(D){let F=D._name;if(D._aliases[0])F=F+"|"+D._aliases[0];let $="";for(let J=D.parent;J;J=J.parent)$=J.name()+" "+$;return $+F+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map(($)=>JSON.stringify($)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)F.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)F.push(`env: ${D.envVar}`);if(F.length>0)return`${D.description} (${F.join(", ")})`;return D.description}argumentDescription(D){let F=[];if(D.argChoices)F.push(`choices: ${D.argChoices.map(($)=>JSON.stringify($)).join(", ")}`);if(D.defaultValue!==void 0)F.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(F.length>0){let $=`(${F.join(", ")})`;if(D.description)return`${D.description} ${$}`;return $}return D.description}formatHelp(D,F){let $=F.padWidth(D,F),J=F.helpWidth||80,B=2,X=2;function Q(W,z){if(z){let A=`${W.padEnd($+2)}${z}`;return F.wrap(A,J-2,$+2)}return W}function Y(W){return W.join(`
4
4
  `).replace(/^/gm," ".repeat(2))}let q=[`Usage: ${F.commandUsage(D)}`,""],G=F.commandDescription(D);if(G.length>0)q=q.concat([F.wrap(G,J,0),""]);let H=F.visibleArguments(D).map((W)=>{return Q(F.argumentTerm(W),F.argumentDescription(W))});if(H.length>0)q=q.concat(["Arguments:",Y(H),""]);let V=F.visibleOptions(D).map((W)=>{return Q(F.optionTerm(W),F.optionDescription(W))});if(V.length>0)q=q.concat(["Options:",Y(V),""]);if(this.showGlobalOptions){let W=F.visibleGlobalOptions(D).map((z)=>{return Q(F.optionTerm(z),F.optionDescription(z))});if(W.length>0)q=q.concat(["Global Options:",Y(W),""])}let U=F.visibleCommands(D).map((W)=>{return Q(F.subcommandTerm(W),F.subcommandDescription(W))});if(U.length>0)q=q.concat(["Commands:",Y(U),""]);return q.join(`
5
5
  `)}padWidth(D,F){return Math.max(F.longestOptionTermLength(D,F),F.longestGlobalOptionTermLength(D,F),F.longestSubcommandTermLength(D,F),F.longestArgumentTermLength(D,F))}wrap(D,F,$,J=40){let X=new RegExp(`[\\n][${" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF"}]+`);if(D.match(X))return D;let Q=F-$;if(Q<J)return D;let Y=D.slice(0,$),q=D.slice($).replace(`\r
6
6
  `,`
@@ -21,7 +21,7 @@ Expecting one of '${$.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycl
21
21
  `),this.outputHelp({error:!0});let $=F||{},J=$.exitCode||1,B=$.code||"commander.error";this._exit(J,B,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in m.env){let F=D.attributeName();if(this.getOptionValue(F)===void 0||["default","config","env"].includes(this.getOptionValueSource(F)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,m.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new oJ(this.options),F=($)=>{return this.getOptionValue($)!==void 0&&!["default","implied"].includes(this.getOptionValueSource($))};this.options.filter(($)=>$.implied!==void 0&&F($.attributeName())&&D.valueFromOption(this.getOptionValue($.attributeName()),$)).forEach(($)=>{Object.keys($.implied).filter((J)=>!F(J)).forEach((J)=>{this.setOptionValueWithSource(J,$.implied[J],"implied")})})}missingArgument(D){let F=`error: missing required argument '${D}'`;this.error(F,{code:"commander.missingArgument"})}optionMissingArgument(D){let F=`error: option '${D.flags}' argument missing`;this.error(F,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let F=`error: required option '${D.flags}' not specified`;this.error(F,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,F){let $=(X)=>{let Q=X.attributeName(),Y=this.getOptionValue(Q),q=this.options.find((H)=>H.negate&&Q===H.attributeName()),G=this.options.find((H)=>!H.negate&&Q===H.attributeName());if(q&&(q.presetArg===void 0&&Y===!1||q.presetArg!==void 0&&Y===q.presetArg))return q;return G||X},J=(X)=>{let Q=$(X),Y=Q.attributeName();if(this.getOptionValueSource(Y)==="env")return`environment variable '${Q.envVar}'`;return`option '${Q.flags}'`},B=`error: ${J(D)} cannot be used with ${J(F)}`;this.error(B,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let F="";if(D.startsWith("--")&&this._showSuggestionAfterError){let J=[],B=this;do{let X=B.createHelp().visibleOptions(B).filter((Q)=>Q.long).map((Q)=>Q.long);J=J.concat(X),B=B.parent}while(B&&!B._enablePositionalOptions);F=P5(D,J)}let $=`error: unknown option '${D}'${F}`;this.error($,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let F=this.registeredArguments.length,$=F===1?"":"s",B=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${F} argument${$} but got ${D.length}.`;this.error(B,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],F="";if(this._showSuggestionAfterError){let J=[];this.createHelp().visibleCommands(this).forEach((B)=>{if(J.push(B.name()),B.alias())J.push(B.alias())}),F=P5(D,J)}let $=`error: unknown command '${D}'${F}`;this.error($,{code:"commander.unknownCommand"})}version(D,F,$){if(D===void 0)return this._version;this._version=D,F=F||"-V, --version",$=$||"output the version number";let J=this.createOption(F,$);return this._versionOptionName=J.attributeName(),this._registerOption(J),this.on("option:"+J.name(),()=>{this._outputConfiguration.writeOut(`${D}
22
22
  `),this._exit(0,"commander.version",D)}),this}description(D,F){if(D===void 0&&F===void 0)return this._description;if(this._description=D,F)this._argsDescription=F;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let F=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)F=this.commands[this.commands.length-1];if(D===F._name)throw Error("Command alias can't be the same as its name");let $=this.parent?._findCommand(D);if($){let J=[$.name()].concat($.aliases()).join("|");throw Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${J}'`)}return F._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((F)=>this.alias(F)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let F=this.registeredArguments.map(($)=>{return rJ($)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?F:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}nameFromFilename(D){return this._name=xD.basename(D,xD.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let F=this.createHelp();if(F.helpWidth===void 0)F.helpWidth=D&&D.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth();return F.formatHelp(this,F)}_getHelpContext(D){D=D||{};let F={error:!!D.error},$;if(F.error)$=(J)=>this._outputConfiguration.writeErr(J);else $=(J)=>this._outputConfiguration.writeOut(J);return F.write=D.write||$,F.command=this,F}outputHelp(D){let F;if(typeof D==="function")F=D,D=void 0;let $=this._getHelpContext(D);this._getCommandAndAncestors().reverse().forEach((B)=>B.emit("beforeAllHelp",$)),this.emit("beforeHelp",$);let J=this.helpInformation($);if(F){if(J=F(J),typeof J!=="string"&&!Buffer.isBuffer(J))throw Error("outputHelp callback must return a string or a Buffer")}if($.write(J),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",$),this._getCommandAndAncestors().forEach((B)=>B.emit("afterAllHelp",$))}helpOption(D,F){if(typeof D==="boolean"){if(D)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return D=D??"-h, --help",F=F??"display help for command",this._helpOption=this.createOption(D,F),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this}help(D){this.outputHelp(D);let F=m.exitCode||0;if(F===0&&D&&typeof D!=="function"&&D.error)F=1;this._exit(F,"commander.help","(outputHelp)")}addHelpText(D,F){let $=["beforeAll","before","after","afterAll"];if(!$.includes(D))throw Error(`Unexpected value for position to addHelpText.
23
23
  Expecting one of '${$.join("', '")}'`);let J=`${D}Help`;return this.on(J,(B)=>{let X;if(typeof F==="function")X=F({error:B.error,command:B.command});else X=F;if(X)B.write(`${X}
24
- `)}),this}_outputHelpIfRequested(D){let F=this._getHelpOption();if(F&&D.find((J)=>F.is(J)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function k5(D){return D.map((F)=>{if(!F.startsWith("--inspect"))return F;let $,J="127.0.0.1",B="9229",X;if((X=F.match(/^(--inspect(-brk)?)$/))!==null)$=X[1];else if((X=F.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if($=X[1],/^\d+$/.test(X[3]))B=X[3];else J=X[3];else if((X=F.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)$=X[1],J=X[3],B=X[4];if($&&B!=="0")return`${$}=${J}:${parseInt(B)+1}`;return F})}sJ.Command=K6});var y5=l((DB)=>{var{Argument:f5}=l3(),{Command:M6}=w5(),{CommanderError:tJ,InvalidArgumentError:u5}=k0(),{Help:eJ}=H6(),{Option:x5}=V6();DB.program=new M6;DB.createCommand=(D)=>new M6(D);DB.createOption=(D,F)=>new x5(D,F);DB.createArgument=(D,F)=>new f5(D,F);DB.Command=M6;DB.Option=x5;DB.Argument=f5;DB.Help=eJ;DB.CommanderError=tJ;DB.InvalidArgumentError=u5;DB.InvalidOptionArgumentError=u5});var w,A6,M,SD=(D)=>{switch(typeof D){case"undefined":return M.undefined;case"string":return M.string;case"number":return Number.isNaN(D)?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(D))return M.array;if(D===null)return M.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return M.promise;if(typeof Map<"u"&&D instanceof Map)return M.map;if(typeof Set<"u"&&D instanceof Set)return M.set;if(typeof Date<"u"&&D instanceof Date)return M.date;return M.object;default:return M.unknown}};var w0=S(()=>{(function(D){D.assertEqual=(B)=>{};function F(B){}D.assertIs=F;function $(B){throw Error()}D.assertNever=$,D.arrayToEnum=(B)=>{let X={};for(let Q of B)X[Q]=Q;return X},D.getValidEnumValues=(B)=>{let X=D.objectKeys(B).filter((Y)=>typeof B[B[Y]]!=="number"),Q={};for(let Y of X)Q[Y]=B[Y];return D.objectValues(Q)},D.objectValues=(B)=>{return D.objectKeys(B).map(function(X){return B[X]})},D.objectKeys=typeof Object.keys==="function"?(B)=>Object.keys(B):(B)=>{let X=[];for(let Q in B)if(Object.prototype.hasOwnProperty.call(B,Q))X.push(Q);return X},D.find=(B,X)=>{for(let Q of B)if(X(Q))return Q;return},D.isInteger=typeof Number.isInteger==="function"?(B)=>Number.isInteger(B):(B)=>typeof B==="number"&&Number.isFinite(B)&&Math.floor(B)===B;function J(B,X=" | "){return B.map((Q)=>typeof Q==="string"?`'${Q}'`:Q).join(X)}D.joinValues=J,D.jsonStringifyReplacer=(B,X)=>{if(typeof X==="bigint")return X.toString();return X}})(w||(w={}));(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(A6||(A6={}));M=w.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"])});var K,MB=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")},BD;var d3=S(()=>{w0();K=w.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"]);BD=class BD extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=($)=>{this.issues=[...this.issues,$]},this.addIssues=($=[])=>{this.issues=[...this.issues,...$]};let F=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,F);else this.__proto__=F;this.name="ZodError",this.issues=D}format(D){let F=D||function(B){return B.message},$={_errors:[]},J=(B)=>{for(let X of B.issues)if(X.code==="invalid_union")X.unionErrors.map(J);else if(X.code==="invalid_return_type")J(X.returnTypeError);else if(X.code==="invalid_arguments")J(X.argumentsError);else if(X.path.length===0)$._errors.push(F(X));else{let Q=$,Y=0;while(Y<X.path.length){let q=X.path[Y];if(Y!==X.path.length-1)Q[q]=Q[q]||{_errors:[]};else Q[q]=Q[q]||{_errors:[]},Q[q]._errors.push(F(X));Q=Q[q],Y++}}};return J(this),$}static assert(D){if(!(D instanceof BD))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,w.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=(F)=>F.message){let F={},$=[];for(let J of this.issues)if(J.path.length>0){let B=J.path[0];F[B]=F[B]||[],F[B].push(D(J))}else $.push(D(J));return{formErrors:$,fieldErrors:F}}get formErrors(){return this.flatten()}};BD.create=(D)=>{return new BD(D)}});var EB=(D,F)=>{let $;switch(D.code){case K.invalid_type:if(D.received===M.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case K.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,w.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:$=`Unrecognized key(s) in object: ${w.joinValues(D.keys,", ")}`;break;case K.invalid_union:$="Invalid input";break;case K.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${w.joinValues(D.options)}`;break;case K.invalid_enum_value:$=`Invalid enum value. Expected ${w.joinValues(D.options)}, received '${D.received}'`;break;case K.invalid_arguments:$="Invalid function arguments";break;case K.invalid_return_type:$="Invalid function return type";break;case K.invalid_date:$="Invalid date";break;case K.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if($=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")$=`${$} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)$=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)$=`Invalid input: must end with "${D.validation.endsWith}"`;else w.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case K.too_small:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else $="Invalid input";break;case K.too_big:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")$=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else $="Invalid input";break;case K.custom:$="Invalid input";break;case K.invalid_intersection_types:$="Intersection results could not be merged";break;case K.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case K.not_finite:$="Number must be finite";break;default:$=F.defaultError,w.assertNever(D)}return{message:$}},yD;var R6=S(()=>{d3();w0();yD=EB});function AB(D){n5=D}function r2(){return n5}var n5;var c3=S(()=>{R6();n5=yD});function R(D,F){let $=r2(),J=f0({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===yD?void 0:yD].filter((B)=>!!B)});D.common.issues.push(J)}class n{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,F){let $=[];for(let J of F){if(J.status==="aborted")return T;if(J.status==="dirty")D.dirty();$.push(J.value)}return{status:D.value,value:$}}static async mergeObjectAsync(D,F){let $=[];for(let J of F){let B=await J.key,X=await J.value;$.push({key:B,value:X})}return n.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let J of F){let{key:B,value:X}=J;if(B.status==="aborted")return T;if(X.status==="aborted")return T;if(B.status==="dirty")D.dirty();if(X.status==="dirty")D.dirty();if(B.value!=="__proto__"&&(typeof X.value<"u"||J.alwaysSet))$[B.value]=X.value}return{status:D.value,value:$}}}var f0=(D)=>{let{data:F,path:$,errorMaps:J,issueData:B}=D,X=[...$,...B.path||[]],Q={...B,path:X};if(B.message!==void 0)return{...B,path:X,message:B.message};let Y="",q=J.filter((G)=>!!G).slice().reverse();for(let G of q)Y=G(Q,{data:F,defaultError:Y}).message;return{...B,path:X,message:Y}},RB,T,z2=(D)=>({status:"dirty",value:D}),t=(D)=>({status:"valid",value:D}),i3=(D)=>D.status==="aborted",r3=(D)=>D.status==="dirty",eD=(D)=>D.status==="valid",n2=(D)=>typeof Promise<"u"&&D instanceof Promise;var O6=S(()=>{c3();R6();RB=[];T=Object.freeze({status:"aborted"})});var o5=()=>{};var C;var s5=S(()=>{(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(C||(C={}))});class jD{constructor(D,F,$,J){this._cachedPath=[],this.parent=D,this.data=F,this._path=$,this._key=J}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}}function I(D){if(!D)return{};let{errorMap:F,invalid_type_error:$,required_error:J,description:B}=D;if(F&&($||J))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:B};return{errorMap:(Q,Y)=>{let{message:q}=D;if(Q.code==="invalid_enum_value")return{message:q??Y.defaultError};if(typeof Y.data>"u")return{message:q??J??Y.defaultError};if(Q.code!=="invalid_type")return{message:Y.defaultError};return{message:q??$??Y.defaultError}},description:B}}class k{get description(){return this._def.description}_getType(D){return SD(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:SD(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new n,ctx:{common:D.parent.common,data:D.data,parsedType:SD(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(n2(F))throw Error("Synchronous parse encountered promise.");return F}_parseAsync(D){let F=this._parse(D);return Promise.resolve(F)}parse(D,F){let $=this.safeParse(D,F);if($.success)return $.data;throw $.error}safeParse(D,F){let $={common:{issues:[],async:F?.async??!1,contextualErrorMap:F?.errorMap},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:SD(D)},J=this._parseSync({data:D,path:$.path,parent:$});return a5($,J)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:SD(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return eD($)?{value:$.value}:{issues:F.common.issues}}catch($){if($?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;F.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:F}).then(($)=>eD($)?{value:$.value}:{issues:F.common.issues})}async parseAsync(D,F){let $=await this.safeParseAsync(D,F);if($.success)return $.data;throw $.error}async safeParseAsync(D,F){let $={common:{issues:[],contextualErrorMap:F?.errorMap,async:!0},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:SD(D)},J=this._parse({data:D,path:$.path,parent:$}),B=await(n2(J)?J:Promise.resolve(J));return a5($,B)}refine(D,F){let $=(J)=>{if(typeof F==="string"||typeof F>"u")return{message:F};else if(typeof F==="function")return F(J);else return F};return this._refinement((J,B)=>{let X=D(J),Q=()=>B.addIssue({code:K.custom,...$(J)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Y)=>{if(!Y)return Q(),!1;else return!0});if(!X)return Q(),!1;else return!0})}refinement(D,F){return this._refinement(($,J)=>{if(!D($))return J.addIssue(typeof F==="function"?F($,J):F),!1;else return!0})}_refinement(D){return new _D({schema:this,typeName:N.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,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:(F)=>this["~validate"](F)}}optional(){return CD.create(this,this._def)}nullable(){return gD.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return OD.create(this)}promise(){return A2.create(this,this._def)}or(D){return D0.create([this,D],this._def)}and(D){return F0.create(this,D,this._def)}transform(D){return new _D({...I(this._def),schema:this,typeName:N.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new X0({...I(this._def),innerType:this,defaultValue:F,typeName:N.ZodDefault})}brand(){return new o3({typeName:N.ZodBranded,type:this,...I(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new Q0({...I(this._def),innerType:this,catchValue:F,typeName:N.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return m0.create(this,D)}readonly(){return Y0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}function D7(D){let F="[0-5]\\d";if(D.precision)F=`${F}\\.\\d{${D.precision}}`;else if(D.precision==null)F=`${F}(\\.\\d+)?`;let $=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${F})${$}`}function uB(D){return new RegExp(`^${D7(D)}$`)}function F7(D){let F=`${e5}T${D7(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function xB(D,F){if((F==="v4"||!F)&&IB.test(D))return!0;if((F==="v6"||!F)&&vB.test(D))return!0;return!1}function yB(D,F){if(!ZB.test(D))return!1;try{let[$]=D.split(".");if(!$)return!1;let J=$.replace(/-/g,"+").replace(/_/g,"/").padEnd($.length+(4-$.length%4)%4,"="),B=JSON.parse(atob(J));if(typeof B!=="object"||B===null)return!1;if("typ"in B&&B?.typ!=="JWT")return!1;if(!B.alg)return!1;if(F&&B.alg!==F)return!1;return!0}catch{return!1}}function hB(D,F){if((F==="v4"||!F)&&bB.test(D))return!0;if((F==="v6"||!F)&&PB.test(D))return!0;return!1}function gB(D,F){let $=(D.toString().split(".")[1]||"").length,J=(F.toString().split(".")[1]||"").length,B=$>J?$:J,X=Number.parseInt(D.toFixed(B).replace(".","")),Q=Number.parseInt(F.toFixed(B).replace(".",""));return X%Q/10**B}function o2(D){if(D instanceof g){let F={};for(let $ in D.shape){let J=D.shape[$];F[$]=CD.create(o2(J))}return new g({...D._def,shape:()=>F})}else if(D instanceof OD)return new OD({...D._def,type:o2(D.element)});else if(D instanceof CD)return CD.create(o2(D.unwrap()));else if(D instanceof gD)return gD.create(o2(D.unwrap()));else if(D instanceof bD)return bD.create(D.items.map((F)=>o2(F)));else return D}function j6(D,F){let $=SD(D),J=SD(F);if(D===F)return{valid:!0,data:D};else if($===M.object&&J===M.object){let B=w.objectKeys(F),X=w.objectKeys(D).filter((Y)=>B.indexOf(Y)!==-1),Q={...D,...F};for(let Y of X){let q=j6(D[Y],F[Y]);if(!q.valid)return{valid:!1};Q[Y]=q.data}return{valid:!0,data:Q}}else if($===M.array&&J===M.array){if(D.length!==F.length)return{valid:!1};let B=[];for(let X=0;X<D.length;X++){let Q=D[X],Y=F[X],q=j6(Q,Y);if(!q.valid)return{valid:!1};B.push(q.data)}return{valid:!0,data:B}}else if($===M.date&&J===M.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}function $7(D,F){return new J2({values:D,typeName:N.ZodEnum,...I(F)})}function t5(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function J7(D,F={},$){if(D)return M2.create().superRefine((J,B)=>{let X=D(J);if(X instanceof Promise)return X.then((Q)=>{if(!Q){let Y=t5(F,J),q=Y.fatal??$??!0;B.addIssue({code:"custom",...Y,fatal:q})}});if(!X){let Q=t5(F,J),Y=Q.fatal??$??!0;B.addIssue({code:"custom",...Q,fatal:Y})}return});return M2.create()}var a5=(D,F)=>{if(eD(F))return{success:!0,data:F.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let $=new BD(D.common.issues);return this._error=$,this._error}}}},OB,CB,jB,_B,LB,ZB,TB,NB,SB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",C6,IB,bB,vB,PB,kB,wB,e5="((\\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])))",fB,RD,F2,$2,a2,K2,u0,t2,e2,M2,D2,ID,x0,OD,g,D0,hD=(D)=>{if(D instanceof $0)return hD(D.schema);else if(D instanceof _D)return hD(D.innerType());else if(D instanceof J0)return[D.value];else if(D instanceof J2)return D.options;else if(D instanceof B0)return w.objectValues(D.enum);else if(D instanceof X0)return hD(D._def.innerType);else if(D instanceof t2)return[void 0];else if(D instanceof e2)return[null];else if(D instanceof CD)return[void 0,...hD(D.unwrap())];else if(D instanceof gD)return[null,...hD(D.unwrap())];else if(D instanceof o3)return hD(D.unwrap());else if(D instanceof Y0)return hD(D.unwrap());else if(D instanceof Q0)return hD(D._def.innerType);else return[]},n3,F0,bD,y0,h0,E2,s2,$0,J0,J2,B0,A2,_D,CD,gD,X0,Q0,g0,mB,o3,m0,Y0,lB,N,pB=(D,F={message:`Input not instance of ${D.name}`})=>J7(($)=>$ instanceof D,F),B7,X7,dB,cB,Q7,iB,rB,nB,oB,sB,aB,tB,eB,DX,FX,$X,JX,BX,XX,QX,YX,qX,GX,HX,VX,WX,UX,zX,KX,MX,EX,AX,RX,OX,CX=()=>B7().optional(),jX=()=>X7().optional(),_X=()=>Q7().optional(),LX,ZX;var Y7=S(()=>{d3();c3();s5();O6();w0();OB=/^c[^\s-]{8,}$/i,CB=/^[0-9a-z]+$/,jB=/^[0-9A-HJKMNP-TV-Z]{26}$/i,_B=/^[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,LB=/^[a-z0-9_-]{21}$/i,ZB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,TB=/^[-+]?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)?)??$/,NB=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,IB=/^(?:(?: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])$/,bB=/^(?:(?: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])$/,vB=/^(([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]))$/,PB=/^(([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])$/,kB=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,wB=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,fB=new RegExp(`^${e5}$`);RD=class RD extends k{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==M.string){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_type,expected:M.string,received:B.parsedType}),T}let $=new n,J=void 0;for(let B of this._def.checks)if(B.kind==="min"){if(D.data.length<B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_small,minimum:B.value,type:"string",inclusive:!0,exact:!1,message:B.message}),$.dirty()}else if(B.kind==="max"){if(D.data.length>B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_big,maximum:B.value,type:"string",inclusive:!0,exact:!1,message:B.message}),$.dirty()}else if(B.kind==="length"){let X=D.data.length>B.value,Q=D.data.length<B.value;if(X||Q){if(J=this._getOrReturnCtx(D,J),X)R(J,{code:K.too_big,maximum:B.value,type:"string",inclusive:!0,exact:!0,message:B.message});else if(Q)R(J,{code:K.too_small,minimum:B.value,type:"string",inclusive:!0,exact:!0,message:B.message});$.dirty()}}else if(B.kind==="email"){if(!NB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"email",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="emoji"){if(!C6)C6=new RegExp(SB,"u");if(!C6.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"emoji",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="uuid"){if(!_B.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"uuid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="nanoid"){if(!LB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"nanoid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="cuid"){if(!OB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"cuid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="cuid2"){if(!CB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"cuid2",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="ulid"){if(!jB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"ulid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="url")try{new URL(D.data)}catch{J=this._getOrReturnCtx(D,J),R(J,{validation:"url",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="regex"){if(B.regex.lastIndex=0,!B.regex.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"regex",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="trim")D.data=D.data.trim();else if(B.kind==="includes"){if(!D.data.includes(B.value,B.position))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:{includes:B.value,position:B.position},message:B.message}),$.dirty()}else if(B.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(B.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(B.kind==="startsWith"){if(!D.data.startsWith(B.value))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:{startsWith:B.value},message:B.message}),$.dirty()}else if(B.kind==="endsWith"){if(!D.data.endsWith(B.value))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:{endsWith:B.value},message:B.message}),$.dirty()}else if(B.kind==="datetime"){if(!F7(B).test(D.data))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:"datetime",message:B.message}),$.dirty()}else if(B.kind==="date"){if(!fB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:"date",message:B.message}),$.dirty()}else if(B.kind==="time"){if(!uB(B).test(D.data))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:"time",message:B.message}),$.dirty()}else if(B.kind==="duration"){if(!TB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"duration",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="ip"){if(!xB(D.data,B.version))J=this._getOrReturnCtx(D,J),R(J,{validation:"ip",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="jwt"){if(!yB(D.data,B.alg))J=this._getOrReturnCtx(D,J),R(J,{validation:"jwt",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="cidr"){if(!hB(D.data,B.version))J=this._getOrReturnCtx(D,J),R(J,{validation:"cidr",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="base64"){if(!kB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"base64",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="base64url"){if(!wB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"base64url",code:K.invalid_string,message:B.message}),$.dirty()}else w.assertNever(B);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((J)=>D.test(J),{validation:F,code:K.invalid_string,...C.errToObj($)})}_addCheck(D){return new RD({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...C.errToObj(D)})}url(D){return this._addCheck({kind:"url",...C.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...C.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...C.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...C.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...C.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...C.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...C.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...C.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...C.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...C.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...C.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...C.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...C.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision>"u"?null:D?.precision,...C.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...C.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,...C.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,...C.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,...C.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,...C.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,...C.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,...C.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,...C.errToObj(F)})}nonempty(D){return this.min(1,C.errToObj(D))}trim(){return new RD({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new RD({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new RD({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxLength(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}};RD.create=(D)=>{return new RD({checks:[],typeName:N.ZodString,coerce:D?.coerce??!1,...I(D)})};F2=class F2 extends k{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==M.number){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_type,expected:M.number,received:B.parsedType}),T}let $=void 0,J=new n;for(let B of this._def.checks)if(B.kind==="int"){if(!w.isInteger(D.data))$=this._getOrReturnCtx(D,$),R($,{code:K.invalid_type,expected:"integer",received:"float",message:B.message}),J.dirty()}else if(B.kind==="min"){if(B.inclusive?D.data<B.value:D.data<=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_small,minimum:B.value,type:"number",inclusive:B.inclusive,exact:!1,message:B.message}),J.dirty()}else if(B.kind==="max"){if(B.inclusive?D.data>B.value:D.data>=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_big,maximum:B.value,type:"number",inclusive:B.inclusive,exact:!1,message:B.message}),J.dirty()}else if(B.kind==="multipleOf"){if(gB(D.data,B.value)!==0)$=this._getOrReturnCtx(D,$),R($,{code:K.not_multiple_of,multipleOf:B.value,message:B.message}),J.dirty()}else if(B.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),R($,{code:K.not_finite,message:B.message}),J.dirty()}else w.assertNever(B);return{status:J.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,C.toString(F))}gt(D,F){return this.setLimit("min",D,!1,C.toString(F))}lte(D,F){return this.setLimit("max",D,!0,C.toString(F))}lt(D,F){return this.setLimit("max",D,!1,C.toString(F))}setLimit(D,F,$,J){return new F2({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:C.toString(J)}]})}_addCheck(D){return new F2({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:C.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:C.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:C.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:C.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:C.toString(D)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&w.isInteger(D.value))}get isFinite(){let D=null,F=null;for(let $ of this._def.checks)if($.kind==="finite"||$.kind==="int"||$.kind==="multipleOf")return!0;else if($.kind==="min"){if(F===null||$.value>F)F=$.value}else if($.kind==="max"){if(D===null||$.value<D)D=$.value}return Number.isFinite(F)&&Number.isFinite(D)}};F2.create=(D)=>{return new F2({checks:[],typeName:N.ZodNumber,coerce:D?.coerce||!1,...I(D)})};$2=class $2 extends k{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==M.bigint)return this._getInvalidInput(D);let $=void 0,J=new n;for(let B of this._def.checks)if(B.kind==="min"){if(B.inclusive?D.data<B.value:D.data<=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_small,type:"bigint",minimum:B.value,inclusive:B.inclusive,message:B.message}),J.dirty()}else if(B.kind==="max"){if(B.inclusive?D.data>B.value:D.data>=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_big,type:"bigint",maximum:B.value,inclusive:B.inclusive,message:B.message}),J.dirty()}else if(B.kind==="multipleOf"){if(D.data%B.value!==BigInt(0))$=this._getOrReturnCtx(D,$),R($,{code:K.not_multiple_of,multipleOf:B.value,message:B.message}),J.dirty()}else w.assertNever(B);return{status:J.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return R(F,{code:K.invalid_type,expected:M.bigint,received:F.parsedType}),T}gte(D,F){return this.setLimit("min",D,!0,C.toString(F))}gt(D,F){return this.setLimit("min",D,!1,C.toString(F))}lte(D,F){return this.setLimit("max",D,!0,C.toString(F))}lt(D,F){return this.setLimit("max",D,!1,C.toString(F))}setLimit(D,F,$,J){return new $2({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:C.toString(J)}]})}_addCheck(D){return new $2({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:C.toString(F)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}};$2.create=(D)=>{return new $2({checks:[],typeName:N.ZodBigInt,coerce:D?.coerce??!1,...I(D)})};a2=class a2 extends k{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==M.boolean){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.boolean,received:$.parsedType}),T}return t(D.data)}};a2.create=(D)=>{return new a2({typeName:N.ZodBoolean,coerce:D?.coerce||!1,...I(D)})};K2=class K2 extends k{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==M.date){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_type,expected:M.date,received:B.parsedType}),T}if(Number.isNaN(D.data.getTime())){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_date}),T}let $=new n,J=void 0;for(let B of this._def.checks)if(B.kind==="min"){if(D.data.getTime()<B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_small,message:B.message,inclusive:!0,exact:!1,minimum:B.value,type:"date"}),$.dirty()}else if(B.kind==="max"){if(D.data.getTime()>B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_big,message:B.message,inclusive:!0,exact:!1,maximum:B.value,type:"date"}),$.dirty()}else w.assertNever(B);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new K2({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:C.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:C.toString(F)})}get minDate(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D!=null?new Date(D):null}};K2.create=(D)=>{return new K2({checks:[],coerce:D?.coerce||!1,typeName:N.ZodDate,...I(D)})};u0=class u0 extends k{_parse(D){if(this._getType(D)!==M.symbol){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.symbol,received:$.parsedType}),T}return t(D.data)}};u0.create=(D)=>{return new u0({typeName:N.ZodSymbol,...I(D)})};t2=class t2 extends k{_parse(D){if(this._getType(D)!==M.undefined){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.undefined,received:$.parsedType}),T}return t(D.data)}};t2.create=(D)=>{return new t2({typeName:N.ZodUndefined,...I(D)})};e2=class e2 extends k{_parse(D){if(this._getType(D)!==M.null){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.null,received:$.parsedType}),T}return t(D.data)}};e2.create=(D)=>{return new e2({typeName:N.ZodNull,...I(D)})};M2=class M2 extends k{constructor(){super(...arguments);this._any=!0}_parse(D){return t(D.data)}};M2.create=(D)=>{return new M2({typeName:N.ZodAny,...I(D)})};D2=class D2 extends k{constructor(){super(...arguments);this._unknown=!0}_parse(D){return t(D.data)}};D2.create=(D)=>{return new D2({typeName:N.ZodUnknown,...I(D)})};ID=class ID extends k{_parse(D){let F=this._getOrReturnCtx(D);return R(F,{code:K.invalid_type,expected:M.never,received:F.parsedType}),T}};ID.create=(D)=>{return new ID({typeName:N.ZodNever,...I(D)})};x0=class x0 extends k{_parse(D){if(this._getType(D)!==M.undefined){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.void,received:$.parsedType}),T}return t(D.data)}};x0.create=(D)=>{return new x0({typeName:N.ZodVoid,...I(D)})};OD=class OD extends k{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),J=this._def;if(F.parsedType!==M.array)return R(F,{code:K.invalid_type,expected:M.array,received:F.parsedType}),T;if(J.exactLength!==null){let X=F.data.length>J.exactLength.value,Q=F.data.length<J.exactLength.value;if(X||Q)R(F,{code:X?K.too_big:K.too_small,minimum:Q?J.exactLength.value:void 0,maximum:X?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),$.dirty()}if(J.minLength!==null){if(F.data.length<J.minLength.value)R(F,{code:K.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),$.dirty()}if(J.maxLength!==null){if(F.data.length>J.maxLength.value)R(F,{code:K.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),$.dirty()}if(F.common.async)return Promise.all([...F.data].map((X,Q)=>{return J.type._parseAsync(new jD(F,X,F.path,Q))})).then((X)=>{return n.mergeArray($,X)});let B=[...F.data].map((X,Q)=>{return J.type._parseSync(new jD(F,X,F.path,Q))});return n.mergeArray($,B)}get element(){return this._def.type}min(D,F){return new OD({...this._def,minLength:{value:D,message:C.toString(F)}})}max(D,F){return new OD({...this._def,maxLength:{value:D,message:C.toString(F)}})}length(D,F){return new OD({...this._def,exactLength:{value:D,message:C.toString(F)}})}nonempty(D){return this.min(1,D)}};OD.create=(D,F)=>{return new OD({type:D,minLength:null,maxLength:null,exactLength:null,typeName:N.ZodArray,...I(F)})};g=class g extends k{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),F=w.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==M.object){let q=this._getOrReturnCtx(D);return R(q,{code:K.invalid_type,expected:M.object,received:q.parsedType}),T}let{status:$,ctx:J}=this._processInputParams(D),{shape:B,keys:X}=this._getCached(),Q=[];if(!(this._def.catchall instanceof ID&&this._def.unknownKeys==="strip")){for(let q in J.data)if(!X.includes(q))Q.push(q)}let Y=[];for(let q of X){let G=B[q],H=J.data[q];Y.push({key:{status:"valid",value:q},value:G._parse(new jD(J,H,J.path,q)),alwaysSet:q in J.data})}if(this._def.catchall instanceof ID){let q=this._def.unknownKeys;if(q==="passthrough")for(let G of Q)Y.push({key:{status:"valid",value:G},value:{status:"valid",value:J.data[G]}});else if(q==="strict"){if(Q.length>0)R(J,{code:K.unrecognized_keys,keys:Q}),$.dirty()}else if(q==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let q=this._def.catchall;for(let G of Q){let H=J.data[G];Y.push({key:{status:"valid",value:G},value:q._parse(new jD(J,H,J.path,G)),alwaysSet:G in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let q=[];for(let G of Y){let H=await G.key,V=await G.value;q.push({key:H,value:V,alwaysSet:G.alwaysSet})}return q}).then((q)=>{return n.mergeObjectSync($,q)});else return n.mergeObjectSync($,Y)}get shape(){return this._def.shape()}strict(D){return C.errToObj,new g({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let J=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:C.errToObj(D).message??J};return{message:J}}}:{}})}strip(){return new g({...this._def,unknownKeys:"strip"})}passthrough(){return new g({...this._def,unknownKeys:"passthrough"})}extend(D){return new g({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new g({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:N.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new g({...this._def,catchall:D})}pick(D){let F={};for(let $ of w.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new g({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of w.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new g({...this._def,shape:()=>F})}deepPartial(){return o2(this)}partial(D){let F={};for(let $ of w.objectKeys(this.shape)){let J=this.shape[$];if(D&&!D[$])F[$]=J;else F[$]=J.optional()}return new g({...this._def,shape:()=>F})}required(D){let F={};for(let $ of w.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let B=this.shape[$];while(B instanceof CD)B=B._def.innerType;F[$]=B}return new g({...this._def,shape:()=>F})}keyof(){return $7(w.objectKeys(this.shape))}};g.create=(D,F)=>{return new g({shape:()=>D,unknownKeys:"strip",catchall:ID.create(),typeName:N.ZodObject,...I(F)})};g.strictCreate=(D,F)=>{return new g({shape:()=>D,unknownKeys:"strict",catchall:ID.create(),typeName:N.ZodObject,...I(F)})};g.lazycreate=(D,F)=>{return new g({shape:D,unknownKeys:"strip",catchall:ID.create(),typeName:N.ZodObject,...I(F)})};D0=class D0 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function J(B){for(let Q of B)if(Q.result.status==="valid")return Q.result;for(let Q of B)if(Q.result.status==="dirty")return F.common.issues.push(...Q.ctx.common.issues),Q.result;let X=B.map((Q)=>new BD(Q.ctx.common.issues));return R(F,{code:K.invalid_union,unionErrors:X}),T}if(F.common.async)return Promise.all($.map(async(B)=>{let X={...F,common:{...F.common,issues:[]},parent:null};return{result:await B._parseAsync({data:F.data,path:F.path,parent:X}),ctx:X}})).then(J);else{let B=void 0,X=[];for(let Y of $){let q={...F,common:{...F.common,issues:[]},parent:null},G=Y._parseSync({data:F.data,path:F.path,parent:q});if(G.status==="valid")return G;else if(G.status==="dirty"&&!B)B={result:G,ctx:q};if(q.common.issues.length)X.push(q.common.issues)}if(B)return F.common.issues.push(...B.ctx.common.issues),B.result;let Q=X.map((Y)=>new BD(Y));return R(F,{code:K.invalid_union,unionErrors:Q}),T}}get options(){return this._def.options}};D0.create=(D,F)=>{return new D0({options:D,typeName:N.ZodUnion,...I(F)})};n3=class n3 extends k{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==M.object)return R(F,{code:K.invalid_type,expected:M.object,received:F.parsedType}),T;let $=this.discriminator,J=F.data[$],B=this.optionsMap.get(J);if(!B)return R(F,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),T;if(F.common.async)return B._parseAsync({data:F.data,path:F.path,parent:F});else return B._parseSync({data:F.data,path:F.path,parent:F})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,F,$){let J=new Map;for(let B of F){let X=hD(B.shape[D]);if(!X.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let Q of X){if(J.has(Q))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(Q)}`);J.set(Q,B)}}return new n3({typeName:N.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:J,...I($)})}};F0=class F0 extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),J=(B,X)=>{if(i3(B)||i3(X))return T;let Q=j6(B.value,X.value);if(!Q.valid)return R($,{code:K.invalid_intersection_types}),T;if(r3(B)||r3(X))F.dirty();return{status:F.value,value:Q.data}};if($.common.async)return Promise.all([this._def.left._parseAsync({data:$.data,path:$.path,parent:$}),this._def.right._parseAsync({data:$.data,path:$.path,parent:$})]).then(([B,X])=>J(B,X));else return J(this._def.left._parseSync({data:$.data,path:$.path,parent:$}),this._def.right._parseSync({data:$.data,path:$.path,parent:$}))}};F0.create=(D,F,$)=>{return new F0({left:D,right:F,typeName:N.ZodIntersection,...I($)})};bD=class bD extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.array)return R($,{code:K.invalid_type,expected:M.array,received:$.parsedType}),T;if($.data.length<this._def.items.length)return R($,{code:K.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),T;if(!this._def.rest&&$.data.length>this._def.items.length)R($,{code:K.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let B=[...$.data].map((X,Q)=>{let Y=this._def.items[Q]||this._def.rest;if(!Y)return null;return Y._parse(new jD($,X,$.path,Q))}).filter((X)=>!!X);if($.common.async)return Promise.all(B).then((X)=>{return n.mergeArray(F,X)});else return n.mergeArray(F,B)}get items(){return this._def.items}rest(D){return new bD({...this._def,rest:D})}};bD.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new bD({items:D,typeName:N.ZodTuple,rest:null,...I(F)})};y0=class y0 extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.object)return R($,{code:K.invalid_type,expected:M.object,received:$.parsedType}),T;let J=[],B=this._def.keyType,X=this._def.valueType;for(let Q in $.data)J.push({key:B._parse(new jD($,Q,$.path,Q)),value:X._parse(new jD($,$.data[Q],$.path,Q)),alwaysSet:Q in $.data});if($.common.async)return n.mergeObjectAsync(F,J);else return n.mergeObjectSync(F,J)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof k)return new y0({keyType:D,valueType:F,typeName:N.ZodRecord,...I($)});return new y0({keyType:RD.create(),valueType:D,typeName:N.ZodRecord,...I(F)})}};h0=class h0 extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.map)return R($,{code:K.invalid_type,expected:M.map,received:$.parsedType}),T;let J=this._def.keyType,B=this._def.valueType,X=[...$.data.entries()].map(([Q,Y],q)=>{return{key:J._parse(new jD($,Q,$.path,[q,"key"])),value:B._parse(new jD($,Y,$.path,[q,"value"]))}});if($.common.async){let Q=new Map;return Promise.resolve().then(async()=>{for(let Y of X){let q=await Y.key,G=await Y.value;if(q.status==="aborted"||G.status==="aborted")return T;if(q.status==="dirty"||G.status==="dirty")F.dirty();Q.set(q.value,G.value)}return{status:F.value,value:Q}})}else{let Q=new Map;for(let Y of X){let{key:q,value:G}=Y;if(q.status==="aborted"||G.status==="aborted")return T;if(q.status==="dirty"||G.status==="dirty")F.dirty();Q.set(q.value,G.value)}return{status:F.value,value:Q}}}};h0.create=(D,F,$)=>{return new h0({valueType:F,keyType:D,typeName:N.ZodMap,...I($)})};E2=class E2 extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.set)return R($,{code:K.invalid_type,expected:M.set,received:$.parsedType}),T;let J=this._def;if(J.minSize!==null){if($.data.size<J.minSize.value)R($,{code:K.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),F.dirty()}if(J.maxSize!==null){if($.data.size>J.maxSize.value)R($,{code:K.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),F.dirty()}let B=this._def.valueType;function X(Y){let q=new Set;for(let G of Y){if(G.status==="aborted")return T;if(G.status==="dirty")F.dirty();q.add(G.value)}return{status:F.value,value:q}}let Q=[...$.data.values()].map((Y,q)=>B._parse(new jD($,Y,$.path,q)));if($.common.async)return Promise.all(Q).then((Y)=>X(Y));else return X(Q)}min(D,F){return new E2({...this._def,minSize:{value:D,message:C.toString(F)}})}max(D,F){return new E2({...this._def,maxSize:{value:D,message:C.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}};E2.create=(D,F)=>{return new E2({valueType:D,minSize:null,maxSize:null,typeName:N.ZodSet,...I(F)})};s2=class s2 extends k{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==M.function)return R(F,{code:K.invalid_type,expected:M.function,received:F.parsedType}),T;function $(Q,Y){return f0({data:Q,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,r2(),yD].filter((q)=>!!q),issueData:{code:K.invalid_arguments,argumentsError:Y}})}function J(Q,Y){return f0({data:Q,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,r2(),yD].filter((q)=>!!q),issueData:{code:K.invalid_return_type,returnTypeError:Y}})}let B={errorMap:F.common.contextualErrorMap},X=F.data;if(this._def.returns instanceof A2){let Q=this;return t(async function(...Y){let q=new BD([]),G=await Q._def.args.parseAsync(Y,B).catch((U)=>{throw q.addIssue($(Y,U)),q}),H=await Reflect.apply(X,this,G);return await Q._def.returns._def.type.parseAsync(H,B).catch((U)=>{throw q.addIssue(J(H,U)),q})})}else{let Q=this;return t(function(...Y){let q=Q._def.args.safeParse(Y,B);if(!q.success)throw new BD([$(Y,q.error)]);let G=Reflect.apply(X,this,q.data),H=Q._def.returns.safeParse(G,B);if(!H.success)throw new BD([J(G,H.error)]);return H.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new s2({...this._def,args:bD.create(D).rest(D2.create())})}returns(D){return new s2({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new s2({args:D?D:bD.create([]).rest(D2.create()),returns:F||D2.create(),typeName:N.ZodFunction,...I($)})}};$0=class $0 extends k{get schema(){return this._def.getter()}_parse(D){let{ctx:F}=this._processInputParams(D);return this._def.getter()._parse({data:F.data,path:F.path,parent:F})}};$0.create=(D,F)=>{return new $0({getter:D,typeName:N.ZodLazy,...I(F)})};J0=class J0 extends k{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return R(F,{received:F.data,code:K.invalid_literal,expected:this._def.value}),T}return{status:"valid",value:D.data}}get value(){return this._def.value}};J0.create=(D,F)=>{return new J0({value:D,typeName:N.ZodLiteral,...I(F)})};J2=class J2 extends k{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return R(F,{expected:w.joinValues($),received:F.parsedType,code:K.invalid_type}),T}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let F=this._getOrReturnCtx(D),$=this._def.values;return R(F,{received:F.data,code:K.invalid_enum_value,options:$}),T}return t(D.data)}get options(){return this._def.values}get enum(){let D={};for(let F of this._def.values)D[F]=F;return D}get Values(){let D={};for(let F of this._def.values)D[F]=F;return D}get Enum(){let D={};for(let F of this._def.values)D[F]=F;return D}extract(D,F=this._def){return J2.create(D,{...this._def,...F})}exclude(D,F=this._def){return J2.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}};J2.create=$7;B0=class B0 extends k{_parse(D){let F=w.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==M.string&&$.parsedType!==M.number){let J=w.objectValues(F);return R($,{expected:w.joinValues(J),received:$.parsedType,code:K.invalid_type}),T}if(!this._cache)this._cache=new Set(w.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let J=w.objectValues(F);return R($,{received:$.data,code:K.invalid_enum_value,options:J}),T}return t(D.data)}get enum(){return this._def.values}};B0.create=(D,F)=>{return new B0({values:D,typeName:N.ZodNativeEnum,...I(F)})};A2=class A2 extends k{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==M.promise&&F.common.async===!1)return R(F,{code:K.invalid_type,expected:M.promise,received:F.parsedType}),T;let $=F.parsedType===M.promise?F.data:Promise.resolve(F.data);return t($.then((J)=>{return this._def.type.parseAsync(J,{path:F.path,errorMap:F.common.contextualErrorMap})}))}};A2.create=(D,F)=>{return new A2({type:D,typeName:N.ZodPromise,...I(F)})};_D=class _D extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===N.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:F,ctx:$}=this._processInputParams(D),J=this._def.effect||null,B={addIssue:(X)=>{if(R($,X),X.fatal)F.abort();else F.dirty()},get path(){return $.path}};if(B.addIssue=B.addIssue.bind(B),J.type==="preprocess"){let X=J.transform($.data,B);if($.common.async)return Promise.resolve(X).then(async(Q)=>{if(F.value==="aborted")return T;let Y=await this._def.schema._parseAsync({data:Q,path:$.path,parent:$});if(Y.status==="aborted")return T;if(Y.status==="dirty")return z2(Y.value);if(F.value==="dirty")return z2(Y.value);return Y});else{if(F.value==="aborted")return T;let Q=this._def.schema._parseSync({data:X,path:$.path,parent:$});if(Q.status==="aborted")return T;if(Q.status==="dirty")return z2(Q.value);if(F.value==="dirty")return z2(Q.value);return Q}}if(J.type==="refinement"){let X=(Q)=>{let Y=J.refinement(Q,B);if($.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Q};if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(Q.status==="aborted")return T;if(Q.status==="dirty")F.dirty();return X(Q.value),{status:F.value,value:Q.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(Q.status==="aborted")return T;if(Q.status==="dirty")F.dirty();return X(Q.value).then(()=>{return{status:F.value,value:Q.value}})})}if(J.type==="transform")if($.common.async===!1){let X=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!eD(X))return T;let Q=J.transform(X.value,B);if(Q instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:Q}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((X)=>{if(!eD(X))return T;return Promise.resolve(J.transform(X.value,B)).then((Q)=>({status:F.value,value:Q}))});w.assertNever(J)}};_D.create=(D,F,$)=>{return new _D({schema:D,typeName:N.ZodEffects,effect:F,...I($)})};_D.createWithPreprocess=(D,F,$)=>{return new _D({schema:F,effect:{type:"preprocess",transform:D},typeName:N.ZodEffects,...I($)})};CD=class CD extends k{_parse(D){if(this._getType(D)===M.undefined)return t(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};CD.create=(D,F)=>{return new CD({innerType:D,typeName:N.ZodOptional,...I(F)})};gD=class gD extends k{_parse(D){if(this._getType(D)===M.null)return t(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};gD.create=(D,F)=>{return new gD({innerType:D,typeName:N.ZodNullable,...I(F)})};X0=class X0 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===M.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}};X0.create=(D,F)=>{return new X0({innerType:D,typeName:N.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...I(F)})};Q0=class Q0 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},J=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(n2(J))return J.then((B)=>{return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new BD($.common.issues)},input:$.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new BD($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}};Q0.create=(D,F)=>{return new Q0({innerType:D,typeName:N.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...I(F)})};g0=class g0 extends k{_parse(D){if(this._getType(D)!==M.nan){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.nan,received:$.parsedType}),T}return{status:"valid",value:D.data}}};g0.create=(D)=>{return new g0({typeName:N.ZodNaN,...I(D)})};mB=Symbol("zod_brand");o3=class o3 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;return this._def.type._parse({data:$,path:F.path,parent:F})}unwrap(){return this._def.type}};m0=class m0 extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.common.async)return(async()=>{let B=await this._def.in._parseAsync({data:$.data,path:$.path,parent:$});if(B.status==="aborted")return T;if(B.status==="dirty")return F.dirty(),z2(B.value);else return this._def.out._parseAsync({data:B.value,path:$.path,parent:$})})();else{let J=this._def.in._parseSync({data:$.data,path:$.path,parent:$});if(J.status==="aborted")return T;if(J.status==="dirty")return F.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:$.path,parent:$})}}static create(D,F){return new m0({in:D,out:F,typeName:N.ZodPipeline})}};Y0=class Y0 extends k{_parse(D){let F=this._def.innerType._parse(D),$=(J)=>{if(eD(J))J.value=Object.freeze(J.value);return J};return n2(F)?F.then((J)=>$(J)):$(F)}unwrap(){return this._def.innerType}};Y0.create=(D,F)=>{return new Y0({innerType:D,typeName:N.ZodReadonly,...I(F)})};lB={object:g.lazycreate};(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(N||(N={}));B7=RD.create,X7=F2.create,dB=g0.create,cB=$2.create,Q7=a2.create,iB=K2.create,rB=u0.create,nB=t2.create,oB=e2.create,sB=M2.create,aB=D2.create,tB=ID.create,eB=x0.create,DX=OD.create,FX=g.create,$X=g.strictCreate,JX=D0.create,BX=n3.create,XX=F0.create,QX=bD.create,YX=y0.create,qX=h0.create,GX=E2.create,HX=s2.create,VX=$0.create,WX=J0.create,UX=J2.create,zX=B0.create,KX=A2.create,MX=_D.create,EX=CD.create,AX=gD.create,RX=_D.createWithPreprocess,OX=m0.create,LX={string:(D)=>RD.create({...D,coerce:!0}),number:(D)=>F2.create({...D,coerce:!0}),boolean:(D)=>a2.create({...D,coerce:!0}),bigint:(D)=>$2.create({...D,coerce:!0}),date:(D)=>K2.create({...D,coerce:!0})},ZX=T});var E={};JD(E,{void:()=>eB,util:()=>w,unknown:()=>aB,union:()=>JX,undefined:()=>nB,tuple:()=>QX,transformer:()=>MX,symbol:()=>rB,string:()=>B7,strictObject:()=>$X,setErrorMap:()=>AB,set:()=>GX,record:()=>YX,quotelessJson:()=>MB,promise:()=>KX,preprocess:()=>RX,pipeline:()=>OX,ostring:()=>CX,optional:()=>EX,onumber:()=>jX,oboolean:()=>_X,objectUtil:()=>A6,object:()=>FX,number:()=>X7,nullable:()=>AX,null:()=>oB,never:()=>tB,nativeEnum:()=>zX,nan:()=>dB,map:()=>qX,makeIssue:()=>f0,literal:()=>WX,lazy:()=>VX,late:()=>lB,isValid:()=>eD,isDirty:()=>r3,isAsync:()=>n2,isAborted:()=>i3,intersection:()=>XX,instanceof:()=>pB,getParsedType:()=>SD,getErrorMap:()=>r2,function:()=>HX,enum:()=>UX,effect:()=>MX,discriminatedUnion:()=>BX,defaultErrorMap:()=>yD,datetimeRegex:()=>F7,date:()=>iB,custom:()=>J7,coerce:()=>LX,boolean:()=>Q7,bigint:()=>cB,array:()=>DX,any:()=>sB,addIssueToContext:()=>R,ZodVoid:()=>x0,ZodUnknown:()=>D2,ZodUnion:()=>D0,ZodUndefined:()=>t2,ZodType:()=>k,ZodTuple:()=>bD,ZodTransformer:()=>_D,ZodSymbol:()=>u0,ZodString:()=>RD,ZodSet:()=>E2,ZodSchema:()=>k,ZodRecord:()=>y0,ZodReadonly:()=>Y0,ZodPromise:()=>A2,ZodPipeline:()=>m0,ZodParsedType:()=>M,ZodOptional:()=>CD,ZodObject:()=>g,ZodNumber:()=>F2,ZodNullable:()=>gD,ZodNull:()=>e2,ZodNever:()=>ID,ZodNativeEnum:()=>B0,ZodNaN:()=>g0,ZodMap:()=>h0,ZodLiteral:()=>J0,ZodLazy:()=>$0,ZodIssueCode:()=>K,ZodIntersection:()=>F0,ZodFunction:()=>s2,ZodFirstPartyTypeKind:()=>N,ZodError:()=>BD,ZodEnum:()=>J2,ZodEffects:()=>_D,ZodDiscriminatedUnion:()=>n3,ZodDefault:()=>X0,ZodDate:()=>K2,ZodCatch:()=>Q0,ZodBranded:()=>o3,ZodBoolean:()=>a2,ZodBigInt:()=>$2,ZodArray:()=>OD,ZodAny:()=>M2,Schema:()=>k,ParseStatus:()=>n,OK:()=>t,NEVER:()=>ZX,INVALID:()=>T,EMPTY_PATH:()=>RB,DIRTY:()=>z2,BRAND:()=>mB});var _6=S(()=>{c3();O6();o5();w0();Y7();d3()});var s3=S(()=>{_6();_6()});var TX,NX,SX,IX,bX,vX,PX,kX,mD;var q7=S(()=>{s3();TX=E.object({name:E.string().default("genie"),defaultWindow:E.string().default("shell"),autoCreate:E.boolean().default(!0)}),NX=E.object({execTimeout:E.number().default(120000),readLines:E.number().default(100),worktreeBase:E.string().optional()}),SX=E.object({tmuxDebug:E.boolean().default(!1),verbose:E.boolean().default(!1)}),IX=E.object({preference:E.enum(["auto","zsh","bash","fish"]).default("auto")}),bX=E.object({tmuxInstalled:E.boolean().default(!1),shellInstalled:E.boolean().default(!1)}),vX=E.object({configured:E.boolean().default(!1)}),PX=E.object({launcher:E.preprocess((D)=>D==="claudio"?"claude":D,E.literal("claude")),claudeArgs:E.array(E.string())}).passthrough(),kX=E.object({left:E.string(),right:E.string(),skill:E.string().default("council")}),mD=E.object({version:E.number().default(2),session:TX.default({}),terminal:NX.default({}),logging:SX.default({}),shell:IX.default({}),shortcuts:bX.default({}),codex:vX.optional(),installMethod:E.enum(["source","npm","bun"]).optional(),updateChannel:E.enum(["latest","next"]).default("latest"),setupComplete:E.boolean().default(!1),lastSetupAt:E.string().optional(),sourcePath:E.string().optional(),workerProfiles:E.record(E.string(),PX).optional(),defaultWorkerProfile:E.string().optional(),councilPresets:E.record(E.string(),kX).optional(),defaultCouncilPreset:E.string().optional(),promptMode:E.enum(["append","system"]).default("append"),autoMergeDev:E.boolean().default(!1)})});import{existsSync as t3,mkdirSync as wX,readFileSync as G7,writeFileSync as fX}from"fs";import{homedir as H7}from"os";import{join as V7}from"path";function W7(){return a3}function l0(){return R2}function O2(){return t3(R2)}function uX(){if(!t3(a3))wX(a3,{recursive:!0})}async function VD(){if(!t3(R2))return mD.parse({});try{let D=G7(R2,"utf-8"),F=JSON.parse(D);return mD.parse(F)}catch(D){let F=D instanceof Error?D.message:String(D);return console.warn(`Warning: Invalid genie config, using defaults: ${F}`),mD.parse({})}}async function vD(D){uX();try{let F=mD.parse(D),$=JSON.stringify(F,null,2);fX(R2,$,"utf-8")}catch(F){let $=F instanceof Error?F.message:String(F);throw Error(`Failed to save genie config: ${$}`)}}function xX(){return mD.parse({})}function q0(){if(!t3(R2))return mD.parse({});try{let D=G7(R2,"utf-8"),F=JSON.parse(D);return mD.parse(F)}catch{return mD.parse({})}}function WD(D){let F=H7();if(D.startsWith(`${F}/`))return`~${D.slice(F.length)}`;if(D===F)return"~";return D}function U7(){return q0().terminal}function z7(){if(!O2())return!1;return q0().setupComplete??!1}async function K7(){let D=await VD();D.setupComplete=!0,D.lastSetupAt=new Date().toISOString(),await vD(D)}async function M7(){let D=xX();await vD(D)}async function E7(D){let F=await VD();F.shortcuts={...F.shortcuts,...D},await vD(F)}var a3,R2;var lD=S(()=>{q7();a3=V7(H7(),".genie"),R2=V7(a3,"config.json")});var $8=l((FM,_7)=>{var oX=P("tty"),sX=oX?.WriteStream?.prototype?.hasColors?.()??!1,v=(D,F)=>{if(!sX)return(B)=>B;let $=`\x1B[${D}m`,J=`\x1B[${F}m`;return(B)=>{let X=B+"",Q=X.indexOf(J);if(Q===-1)return $+X+J;let Y=$,q=0,H=(F===22?J:"")+$;while(Q!==-1)Y+=X.slice(q,Q)+H,q=Q+J.length,Q=X.indexOf(J,q);return Y+=X.slice(q)+J,Y}},b={};b.reset=v(0,0);b.bold=v(1,22);b.dim=v(2,22);b.italic=v(3,23);b.underline=v(4,24);b.overline=v(53,55);b.inverse=v(7,27);b.hidden=v(8,28);b.strikethrough=v(9,29);b.black=v(30,39);b.red=v(31,39);b.green=v(32,39);b.yellow=v(33,39);b.blue=v(34,39);b.magenta=v(35,39);b.cyan=v(36,39);b.white=v(37,39);b.gray=v(90,39);b.bgBlack=v(40,49);b.bgRed=v(41,49);b.bgGreen=v(42,49);b.bgYellow=v(43,49);b.bgBlue=v(44,49);b.bgMagenta=v(45,49);b.bgCyan=v(46,49);b.bgWhite=v(47,49);b.bgGray=v(100,49);b.redBright=v(91,39);b.greenBright=v(92,39);b.yellowBright=v(93,39);b.blueBright=v(94,39);b.magentaBright=v(95,39);b.cyanBright=v(96,39);b.whiteBright=v(97,39);b.bgRedBright=v(101,49);b.bgGreenBright=v(102,49);b.bgYellowBright=v(103,49);b.bgBlueBright=v(104,49);b.bgMagentaBright=v(105,49);b.bgCyanBright=v(106,49);b.bgWhiteBright=v(107,49);_7.exports=b});var b7=l((CM,I7)=>{I7.exports=BQ;function JQ(D){let F={defaultWidth:0,output:process.stdout,tty:P("tty")};if(!D)return F;return Object.keys(F).forEach(function($){if(!D[$])D[$]=F[$]}),D}function BQ(D){let F=JQ(D);if(F.output.getWindowSize)return F.output.getWindowSize()[0]||F.defaultWidth;if(F.tty.getWindowSize)return F.tty.getWindowSize()[1]||F.defaultWidth;if(F.output.columns)return F.output.columns;if(process.env.CLI_WIDTH){let $=parseInt(process.env.CLI_WIDTH,10);if(!isNaN($)&&$!==0)return $}return F.defaultWidth}});var P7=l((jM,v7)=>{v7.exports=({onlyFirst:D=!1}={})=>{let F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(F,D?void 0:"g")}});var v6=l((_M,k7)=>{var XQ=P7();k7.exports=(D)=>typeof D==="string"?D.replace(XQ(),""):D});var f7=l((LM,P6)=>{var w7=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};P6.exports=w7;P6.exports.default=w7});var x7=l((ZM,u7)=>{u7.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var h7=l((TM,k6)=>{var QQ=v6(),YQ=f7(),qQ=x7(),y7=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=QQ(D),D.length===0)return 0;D=D.replace(qQ()," ");let F=0;for(let $=0;$<D.length;$++){let J=D.codePointAt($);if(J<=31||J>=127&&J<=159)continue;if(J>=768&&J<=879)continue;if(J>65535)$++;F+=YQ(J)?2:1}return F};k6.exports=y7;k6.exports.default=y7});var m7=l((NM,g7)=>{g7.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var w6=l((SM,p7)=>{var n0=m7(),l7={};for(let D of Object.keys(n0))l7[n0[D]]=D;var j={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};p7.exports=j;for(let D of Object.keys(j)){if(!("channels"in j[D]))throw Error("missing channels property: "+D);if(!("labels"in j[D]))throw Error("missing channel labels property: "+D);if(j[D].labels.length!==j[D].channels)throw Error("channel and label counts mismatch: "+D);let{channels:F,labels:$}=j[D];delete j[D].channels,delete j[D].labels,Object.defineProperty(j[D],"channels",{value:F}),Object.defineProperty(j[D],"labels",{value:$})}j.rgb.hsl=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255,B=Math.min(F,$,J),X=Math.max(F,$,J),Q=X-B,Y,q;if(X===B)Y=0;else if(F===X)Y=($-J)/Q;else if($===X)Y=2+(J-F)/Q;else if(J===X)Y=4+(F-$)/Q;if(Y=Math.min(Y*60,360),Y<0)Y+=360;let G=(B+X)/2;if(X===B)q=0;else if(G<=0.5)q=Q/(X+B);else q=Q/(2-X-B);return[Y,q*100,G*100]};j.rgb.hsv=function(D){let F,$,J,B,X,Q=D[0]/255,Y=D[1]/255,q=D[2]/255,G=Math.max(Q,Y,q),H=G-Math.min(Q,Y,q),V=function(U){return(G-U)/6/H+0.5};if(H===0)B=0,X=0;else{if(X=H/G,F=V(Q),$=V(Y),J=V(q),Q===G)B=J-$;else if(Y===G)B=0.3333333333333333+F-J;else if(q===G)B=0.6666666666666666+$-F;if(B<0)B+=1;else if(B>1)B-=1}return[B*360,X*100,G*100]};j.rgb.hwb=function(D){let F=D[0],$=D[1],J=D[2],B=j.rgb.hsl(D)[0],X=0.00392156862745098*Math.min(F,Math.min($,J));return J=1-0.00392156862745098*Math.max(F,Math.max($,J)),[B,X*100,J*100]};j.rgb.cmyk=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255,B=Math.min(1-F,1-$,1-J),X=(1-F-B)/(1-B)||0,Q=(1-$-B)/(1-B)||0,Y=(1-J-B)/(1-B)||0;return[X*100,Q*100,Y*100,B*100]};function GQ(D,F){return(D[0]-F[0])**2+(D[1]-F[1])**2+(D[2]-F[2])**2}j.rgb.keyword=function(D){let F=l7[D];if(F)return F;let $=1/0,J;for(let B of Object.keys(n0)){let X=n0[B],Q=GQ(D,X);if(Q<$)$=Q,J=B}return J};j.keyword.rgb=function(D){return n0[D]};j.rgb.xyz=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255;F=F>0.04045?((F+0.055)/1.055)**2.4:F/12.92,$=$>0.04045?(($+0.055)/1.055)**2.4:$/12.92,J=J>0.04045?((J+0.055)/1.055)**2.4:J/12.92;let B=F*0.4124+$*0.3576+J*0.1805,X=F*0.2126+$*0.7152+J*0.0722,Q=F*0.0193+$*0.1192+J*0.9505;return[B*100,X*100,Q*100]};j.rgb.lab=function(D){let F=j.rgb.xyz(D),$=F[0],J=F[1],B=F[2];$/=95.047,J/=100,B/=108.883,$=$>0.008856?$**0.3333333333333333:7.787*$+0.13793103448275862,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862,B=B>0.008856?B**0.3333333333333333:7.787*B+0.13793103448275862;let X=116*J-16,Q=500*($-J),Y=200*(J-B);return[X,Q,Y]};j.hsl.rgb=function(D){let F=D[0]/360,$=D[1]/100,J=D[2]/100,B,X,Q;if($===0)return Q=J*255,[Q,Q,Q];if(J<0.5)B=J*(1+$);else B=J+$-J*$;let Y=2*J-B,q=[0,0,0];for(let G=0;G<3;G++){if(X=F+0.3333333333333333*-(G-1),X<0)X++;if(X>1)X--;if(6*X<1)Q=Y+(B-Y)*6*X;else if(2*X<1)Q=B;else if(3*X<2)Q=Y+(B-Y)*(0.6666666666666666-X)*6;else Q=Y;q[G]=Q*255}return q};j.hsl.hsv=function(D){let F=D[0],$=D[1]/100,J=D[2]/100,B=$,X=Math.max(J,0.01);J*=2,$*=J<=1?J:2-J,B*=X<=1?X:2-X;let Q=(J+$)/2,Y=J===0?2*B/(X+B):2*$/(J+$);return[F,Y*100,Q*100]};j.hsv.rgb=function(D){let F=D[0]/60,$=D[1]/100,J=D[2]/100,B=Math.floor(F)%6,X=F-Math.floor(F),Q=255*J*(1-$),Y=255*J*(1-$*X),q=255*J*(1-$*(1-X));switch(J*=255,B){case 0:return[J,q,Q];case 1:return[Y,J,Q];case 2:return[Q,J,q];case 3:return[Q,Y,J];case 4:return[q,Q,J];case 5:return[J,Q,Y]}};j.hsv.hsl=function(D){let F=D[0],$=D[1]/100,J=D[2]/100,B=Math.max(J,0.01),X,Q;Q=(2-$)*J;let Y=(2-$)*B;return X=$*B,X/=Y<=1?Y:2-Y,X=X||0,Q/=2,[F,X*100,Q*100]};j.hwb.rgb=function(D){let F=D[0]/360,$=D[1]/100,J=D[2]/100,B=$+J,X;if(B>1)$/=B,J/=B;let Q=Math.floor(6*F),Y=1-J;if(X=6*F-Q,(Q&1)!==0)X=1-X;let q=$+X*(Y-$),G,H,V;switch(Q){default:case 6:case 0:G=Y,H=q,V=$;break;case 1:G=q,H=Y,V=$;break;case 2:G=$,H=Y,V=q;break;case 3:G=$,H=q,V=Y;break;case 4:G=q,H=$,V=Y;break;case 5:G=Y,H=$,V=q;break}return[G*255,H*255,V*255]};j.cmyk.rgb=function(D){let F=D[0]/100,$=D[1]/100,J=D[2]/100,B=D[3]/100,X=1-Math.min(1,F*(1-B)+B),Q=1-Math.min(1,$*(1-B)+B),Y=1-Math.min(1,J*(1-B)+B);return[X*255,Q*255,Y*255]};j.xyz.rgb=function(D){let F=D[0]/100,$=D[1]/100,J=D[2]/100,B,X,Q;return B=F*3.2406+$*-1.5372+J*-0.4986,X=F*-0.9689+$*1.8758+J*0.0415,Q=F*0.0557+$*-0.204+J*1.057,B=B>0.0031308?1.055*B**0.4166666666666667-0.055:B*12.92,X=X>0.0031308?1.055*X**0.4166666666666667-0.055:X*12.92,Q=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92,B=Math.min(Math.max(0,B),1),X=Math.min(Math.max(0,X),1),Q=Math.min(Math.max(0,Q),1),[B*255,X*255,Q*255]};j.xyz.lab=function(D){let F=D[0],$=D[1],J=D[2];F/=95.047,$/=100,J/=108.883,F=F>0.008856?F**0.3333333333333333:7.787*F+0.13793103448275862,$=$>0.008856?$**0.3333333333333333:7.787*$+0.13793103448275862,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862;let B=116*$-16,X=500*(F-$),Q=200*($-J);return[B,X,Q]};j.lab.xyz=function(D){let F=D[0],$=D[1],J=D[2],B,X,Q;X=(F+16)/116,B=$/500+X,Q=X-J/200;let Y=X**3,q=B**3,G=Q**3;return X=Y>0.008856?Y:(X-0.13793103448275862)/7.787,B=q>0.008856?q:(B-0.13793103448275862)/7.787,Q=G>0.008856?G:(Q-0.13793103448275862)/7.787,B*=95.047,X*=100,Q*=108.883,[B,X,Q]};j.lab.lch=function(D){let F=D[0],$=D[1],J=D[2],B;if(B=Math.atan2(J,$)*360/2/Math.PI,B<0)B+=360;let Q=Math.sqrt($*$+J*J);return[F,Q,B]};j.lch.lab=function(D){let F=D[0],$=D[1],B=D[2]/360*2*Math.PI,X=$*Math.cos(B),Q=$*Math.sin(B);return[F,X,Q]};j.rgb.ansi16=function(D,F=null){let[$,J,B]=D,X=F===null?j.rgb.hsv(D)[2]:F;if(X=Math.round(X/50),X===0)return 30;let Q=30+(Math.round(B/255)<<2|Math.round(J/255)<<1|Math.round($/255));if(X===2)Q+=60;return Q};j.hsv.ansi16=function(D){return j.rgb.ansi16(j.hsv.rgb(D),D[2])};j.rgb.ansi256=function(D){let F=D[0],$=D[1],J=D[2];if(F===$&&$===J){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round($/255*5)+Math.round(J/255*5)};j.ansi16.rgb=function(D){let F=D%10;if(F===0||F===7){if(D>50)F+=3.5;return F=F/10.5*255,[F,F,F]}let $=(~~(D>50)+1)*0.5,J=(F&1)*$*255,B=(F>>1&1)*$*255,X=(F>>2&1)*$*255;return[J,B,X]};j.ansi256.rgb=function(D){if(D>=232){let X=(D-232)*10+8;return[X,X,X]}D-=16;let F,$=Math.floor(D/36)/5*255,J=Math.floor((F=D%36)/6)/5*255,B=F%6/5*255;return[$,J,B]};j.rgb.hex=function(D){let $=(((Math.round(D[0])&255)<<16)+((Math.round(D[1])&255)<<8)+(Math.round(D[2])&255)).toString(16).toUpperCase();return"000000".substring($.length)+$};j.hex.rgb=function(D){let F=D.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!F)return[0,0,0];let $=F[0];if(F[0].length===3)$=$.split("").map((Y)=>{return Y+Y}).join("");let J=parseInt($,16),B=J>>16&255,X=J>>8&255,Q=J&255;return[B,X,Q]};j.rgb.hcg=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255,B=Math.max(Math.max(F,$),J),X=Math.min(Math.min(F,$),J),Q=B-X,Y,q;if(Q<1)Y=X/(1-Q);else Y=0;if(Q<=0)q=0;else if(B===F)q=($-J)/Q%6;else if(B===$)q=2+(J-F)/Q;else q=4+(F-$)/Q;return q/=6,q%=1,[q*360,Q*100,Y*100]};j.hsl.hcg=function(D){let F=D[1]/100,$=D[2]/100,J=$<0.5?2*F*$:2*F*(1-$),B=0;if(J<1)B=($-0.5*J)/(1-J);return[D[0],J*100,B*100]};j.hsv.hcg=function(D){let F=D[1]/100,$=D[2]/100,J=F*$,B=0;if(J<1)B=($-J)/(1-J);return[D[0],J*100,B*100]};j.hcg.rgb=function(D){let F=D[0]/360,$=D[1]/100,J=D[2]/100;if($===0)return[J*255,J*255,J*255];let B=[0,0,0],X=F%1*6,Q=X%1,Y=1-Q,q=0;switch(Math.floor(X)){case 0:B[0]=1,B[1]=Q,B[2]=0;break;case 1:B[0]=Y,B[1]=1,B[2]=0;break;case 2:B[0]=0,B[1]=1,B[2]=Q;break;case 3:B[0]=0,B[1]=Y,B[2]=1;break;case 4:B[0]=Q,B[1]=0,B[2]=1;break;default:B[0]=1,B[1]=0,B[2]=Y}return q=(1-$)*J,[($*B[0]+q)*255,($*B[1]+q)*255,($*B[2]+q)*255]};j.hcg.hsv=function(D){let F=D[1]/100,$=D[2]/100,J=F+$*(1-F),B=0;if(J>0)B=F/J;return[D[0],B*100,J*100]};j.hcg.hsl=function(D){let F=D[1]/100,J=D[2]/100*(1-F)+0.5*F,B=0;if(J>0&&J<0.5)B=F/(2*J);else if(J>=0.5&&J<1)B=F/(2*(1-J));return[D[0],B*100,J*100]};j.hcg.hwb=function(D){let F=D[1]/100,$=D[2]/100,J=F+$*(1-F);return[D[0],(J-F)*100,(1-J)*100]};j.hwb.hcg=function(D){let F=D[1]/100,J=1-D[2]/100,B=J-F,X=0;if(B<1)X=(J-B)/(1-B);return[D[0],B*100,X*100]};j.apple.rgb=function(D){return[D[0]/65535*255,D[1]/65535*255,D[2]/65535*255]};j.rgb.apple=function(D){return[D[0]/255*65535,D[1]/255*65535,D[2]/255*65535]};j.gray.rgb=function(D){return[D[0]/100*255,D[0]/100*255,D[0]/100*255]};j.gray.hsl=function(D){return[0,0,D[0]]};j.gray.hsv=j.gray.hsl;j.gray.hwb=function(D){return[0,100,D[0]]};j.gray.cmyk=function(D){return[0,0,0,D[0]]};j.gray.lab=function(D){return[D[0],0,0]};j.gray.hex=function(D){let F=Math.round(D[0]/100*255)&255,J=((F<<16)+(F<<8)+F).toString(16).toUpperCase();return"000000".substring(J.length)+J};j.rgb.gray=function(D){return[(D[0]+D[1]+D[2])/3/255*100]}});var c7=l((IM,d7)=>{var J8=w6();function HQ(){let D={},F=Object.keys(J8);for(let $=F.length,J=0;J<$;J++)D[F[J]]={distance:-1,parent:null};return D}function VQ(D){let F=HQ(),$=[D];F[D].distance=0;while($.length){let J=$.pop(),B=Object.keys(J8[J]);for(let X=B.length,Q=0;Q<X;Q++){let Y=B[Q],q=F[Y];if(q.distance===-1)q.distance=F[J].distance+1,q.parent=J,$.unshift(Y)}}return F}function WQ(D,F){return function($){return F(D($))}}function UQ(D,F){let $=[F[D].parent,D],J=J8[F[D].parent][D],B=F[D].parent;while(F[B].parent)$.unshift(F[B].parent),J=WQ(J8[F[B].parent][B],J),B=F[B].parent;return J.conversion=$,J}d7.exports=function(D){let F=VQ(D),$={},J=Object.keys(F);for(let B=J.length,X=0;X<B;X++){let Q=J[X];if(F[Q].parent===null)continue;$[Q]=UQ(Q,F)}return $}});var r7=l((bM,i7)=>{var f6=w6(),zQ=c7(),V0={},KQ=Object.keys(f6);function MQ(D){let F=function(...$){let J=$[0];if(J===void 0||J===null)return J;if(J.length>1)$=J;return D($)};if("conversion"in D)F.conversion=D.conversion;return F}function EQ(D){let F=function(...$){let J=$[0];if(J===void 0||J===null)return J;if(J.length>1)$=J;let B=D($);if(typeof B==="object")for(let X=B.length,Q=0;Q<X;Q++)B[Q]=Math.round(B[Q]);return B};if("conversion"in D)F.conversion=D.conversion;return F}KQ.forEach((D)=>{V0[D]={},Object.defineProperty(V0[D],"channels",{value:f6[D].channels}),Object.defineProperty(V0[D],"labels",{value:f6[D].labels});let F=zQ(D);Object.keys(F).forEach((J)=>{let B=F[J];V0[D][J]=EQ(B),V0[D][J].raw=MQ(B)})});i7.exports=V0});var e7=l((vM,t7)=>{var n7=(D,F)=>(...$)=>{return`\x1B[${D(...$)+F}m`},o7=(D,F)=>(...$)=>{let J=D(...$);return`\x1B[${38+F};5;${J}m`},s7=(D,F)=>(...$)=>{let J=D(...$);return`\x1B[${38+F};2;${J[0]};${J[1]};${J[2]}m`},B8=(D)=>D,a7=(D,F,$)=>[D,F,$],W0=(D,F,$)=>{Object.defineProperty(D,F,{get:()=>{let J=$();return Object.defineProperty(D,F,{value:J,enumerable:!0,configurable:!0}),J},enumerable:!0,configurable:!0})},u6,U0=(D,F,$,J)=>{if(u6===void 0)u6=r7();let B=J?10:0,X={};for(let[Q,Y]of Object.entries(u6)){let q=Q==="ansi16"?"ansi":Q;if(Q===F)X[q]=D($,B);else if(typeof Y==="object")X[q]=D(Y[F],B)}return X};function AQ(){let D=new Map,F={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};F.color.gray=F.color.blackBright,F.bgColor.bgGray=F.bgColor.bgBlackBright,F.color.grey=F.color.blackBright,F.bgColor.bgGrey=F.bgColor.bgBlackBright;for(let[$,J]of Object.entries(F)){for(let[B,X]of Object.entries(J))F[B]={open:`\x1B[${X[0]}m`,close:`\x1B[${X[1]}m`},J[B]=F[B],D.set(X[0],X[1]);Object.defineProperty(F,$,{value:J,enumerable:!1})}return Object.defineProperty(F,"codes",{value:D,enumerable:!1}),F.color.close="\x1B[39m",F.bgColor.close="\x1B[49m",W0(F.color,"ansi",()=>U0(n7,"ansi16",B8,!1)),W0(F.color,"ansi256",()=>U0(o7,"ansi256",B8,!1)),W0(F.color,"ansi16m",()=>U0(s7,"rgb",a7,!1)),W0(F.bgColor,"ansi",()=>U0(n7,"ansi16",B8,!0)),W0(F.bgColor,"ansi256",()=>U0(o7,"ansi256",B8,!0)),W0(F.bgColor,"ansi16m",()=>U0(s7,"rgb",a7,!0)),F}Object.defineProperty(t7,"exports",{enumerable:!0,get:AQ})});var $9=l((PM,F9)=>{var o0=h7(),RQ=v6(),OQ=e7(),y6=new Set(["\x1B","\x9B"]),D9=(D)=>`${y6.values().next().value}[${D}m`,CQ=(D)=>D.split(" ").map((F)=>o0(F)),x6=(D,F,$)=>{let J=[...F],B=!1,X=o0(RQ(D[D.length-1]));for(let[Q,Y]of J.entries()){let q=o0(Y);if(X+q<=$)D[D.length-1]+=Y;else D.push(Y),X=0;if(y6.has(Y))B=!0;else if(B&&Y==="m"){B=!1;continue}if(B)continue;if(X+=q,X===$&&Q<J.length-1)D.push(""),X=0}if(!X&&D[D.length-1].length>0&&D.length>1)D[D.length-2]+=D.pop()},jQ=(D)=>{let F=D.split(" "),$=F.length;while($>0){if(o0(F[$-1])>0)break;$--}if($===F.length)return D;return F.slice(0,$).join(" ")+F.slice($).join("")},_Q=(D,F,$={})=>{if($.trim!==!1&&D.trim()==="")return"";let J="",B="",X,Q=CQ(D),Y=[""];for(let[q,G]of D.split(" ").entries()){if($.trim!==!1)Y[Y.length-1]=Y[Y.length-1].trimLeft();let H=o0(Y[Y.length-1]);if(q!==0){if(H>=F&&($.wordWrap===!1||$.trim===!1))Y.push(""),H=0;if(H>0||$.trim===!1)Y[Y.length-1]+=" ",H++}if($.hard&&Q[q]>F){let V=F-H,U=1+Math.floor((Q[q]-V-1)/F);if(Math.floor((Q[q]-1)/F)<U)Y.push("");x6(Y,G,F);continue}if(H+Q[q]>F&&H>0&&Q[q]>0){if($.wordWrap===!1&&H<F){x6(Y,G,F);continue}Y.push("")}if(H+Q[q]>F&&$.wordWrap===!1){x6(Y,G,F);continue}Y[Y.length-1]+=G}if($.trim!==!1)Y=Y.map(jQ);J=Y.join(`
24
+ `)}),this}_outputHelpIfRequested(D){let F=this._getHelpOption();if(F&&D.find((J)=>F.is(J)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function k5(D){return D.map((F)=>{if(!F.startsWith("--inspect"))return F;let $,J="127.0.0.1",B="9229",X;if((X=F.match(/^(--inspect(-brk)?)$/))!==null)$=X[1];else if((X=F.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if($=X[1],/^\d+$/.test(X[3]))B=X[3];else J=X[3];else if((X=F.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)$=X[1],J=X[3],B=X[4];if($&&B!=="0")return`${$}=${J}:${parseInt(B)+1}`;return F})}sJ.Command=K6});var y5=l((DB)=>{var{Argument:f5}=l3(),{Command:M6}=w5(),{CommanderError:tJ,InvalidArgumentError:u5}=k0(),{Help:eJ}=H6(),{Option:x5}=V6();DB.program=new M6;DB.createCommand=(D)=>new M6(D);DB.createOption=(D,F)=>new x5(D,F);DB.createArgument=(D,F)=>new f5(D,F);DB.Command=M6;DB.Option=x5;DB.Argument=f5;DB.Help=eJ;DB.CommanderError=tJ;DB.InvalidArgumentError=u5;DB.InvalidOptionArgumentError=u5});var w,A6,M,SD=(D)=>{switch(typeof D){case"undefined":return M.undefined;case"string":return M.string;case"number":return Number.isNaN(D)?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(D))return M.array;if(D===null)return M.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return M.promise;if(typeof Map<"u"&&D instanceof Map)return M.map;if(typeof Set<"u"&&D instanceof Set)return M.set;if(typeof Date<"u"&&D instanceof Date)return M.date;return M.object;default:return M.unknown}};var w0=S(()=>{(function(D){D.assertEqual=(B)=>{};function F(B){}D.assertIs=F;function $(B){throw Error()}D.assertNever=$,D.arrayToEnum=(B)=>{let X={};for(let Q of B)X[Q]=Q;return X},D.getValidEnumValues=(B)=>{let X=D.objectKeys(B).filter((Y)=>typeof B[B[Y]]!=="number"),Q={};for(let Y of X)Q[Y]=B[Y];return D.objectValues(Q)},D.objectValues=(B)=>{return D.objectKeys(B).map(function(X){return B[X]})},D.objectKeys=typeof Object.keys==="function"?(B)=>Object.keys(B):(B)=>{let X=[];for(let Q in B)if(Object.prototype.hasOwnProperty.call(B,Q))X.push(Q);return X},D.find=(B,X)=>{for(let Q of B)if(X(Q))return Q;return},D.isInteger=typeof Number.isInteger==="function"?(B)=>Number.isInteger(B):(B)=>typeof B==="number"&&Number.isFinite(B)&&Math.floor(B)===B;function J(B,X=" | "){return B.map((Q)=>typeof Q==="string"?`'${Q}'`:Q).join(X)}D.joinValues=J,D.jsonStringifyReplacer=(B,X)=>{if(typeof X==="bigint")return X.toString();return X}})(w||(w={}));(function(D){D.mergeShapes=(F,$)=>{return{...F,...$}}})(A6||(A6={}));M=w.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"])});var K,MB=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")},XD;var d3=S(()=>{w0();K=w.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"]);XD=class XD extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=($)=>{this.issues=[...this.issues,$]},this.addIssues=($=[])=>{this.issues=[...this.issues,...$]};let F=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,F);else this.__proto__=F;this.name="ZodError",this.issues=D}format(D){let F=D||function(B){return B.message},$={_errors:[]},J=(B)=>{for(let X of B.issues)if(X.code==="invalid_union")X.unionErrors.map(J);else if(X.code==="invalid_return_type")J(X.returnTypeError);else if(X.code==="invalid_arguments")J(X.argumentsError);else if(X.path.length===0)$._errors.push(F(X));else{let Q=$,Y=0;while(Y<X.path.length){let q=X.path[Y];if(Y!==X.path.length-1)Q[q]=Q[q]||{_errors:[]};else Q[q]=Q[q]||{_errors:[]},Q[q]._errors.push(F(X));Q=Q[q],Y++}}};return J(this),$}static assert(D){if(!(D instanceof XD))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,w.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=(F)=>F.message){let F={},$=[];for(let J of this.issues)if(J.path.length>0){let B=J.path[0];F[B]=F[B]||[],F[B].push(D(J))}else $.push(D(J));return{formErrors:$,fieldErrors:F}}get formErrors(){return this.flatten()}};XD.create=(D)=>{return new XD(D)}});var EB=(D,F)=>{let $;switch(D.code){case K.invalid_type:if(D.received===M.undefined)$="Required";else $=`Expected ${D.expected}, received ${D.received}`;break;case K.invalid_literal:$=`Invalid literal value, expected ${JSON.stringify(D.expected,w.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:$=`Unrecognized key(s) in object: ${w.joinValues(D.keys,", ")}`;break;case K.invalid_union:$="Invalid input";break;case K.invalid_union_discriminator:$=`Invalid discriminator value. Expected ${w.joinValues(D.options)}`;break;case K.invalid_enum_value:$=`Invalid enum value. Expected ${w.joinValues(D.options)}, received '${D.received}'`;break;case K.invalid_arguments:$="Invalid function arguments";break;case K.invalid_return_type:$="Invalid function return type";break;case K.invalid_date:$="Invalid date";break;case K.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if($=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")$=`${$} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)$=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)$=`Invalid input: must end with "${D.validation.endsWith}"`;else w.assertNever(D.validation);else if(D.validation!=="regex")$=`Invalid ${D.validation}`;else $="Invalid";break;case K.too_small:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")$=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else $="Invalid input";break;case K.too_big:if(D.type==="array")$=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")$=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")$=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")$=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")$=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else $="Invalid input";break;case K.custom:$="Invalid input";break;case K.invalid_intersection_types:$="Intersection results could not be merged";break;case K.not_multiple_of:$=`Number must be a multiple of ${D.multipleOf}`;break;case K.not_finite:$="Number must be finite";break;default:$=F.defaultError,w.assertNever(D)}return{message:$}},yD;var R6=S(()=>{d3();w0();yD=EB});function AB(D){n5=D}function r2(){return n5}var n5;var c3=S(()=>{R6();n5=yD});function R(D,F){let $=r2(),J=f0({issueData:F,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,$,$===yD?void 0:yD].filter((B)=>!!B)});D.common.issues.push(J)}class n{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,F){let $=[];for(let J of F){if(J.status==="aborted")return T;if(J.status==="dirty")D.dirty();$.push(J.value)}return{status:D.value,value:$}}static async mergeObjectAsync(D,F){let $=[];for(let J of F){let B=await J.key,X=await J.value;$.push({key:B,value:X})}return n.mergeObjectSync(D,$)}static mergeObjectSync(D,F){let $={};for(let J of F){let{key:B,value:X}=J;if(B.status==="aborted")return T;if(X.status==="aborted")return T;if(B.status==="dirty")D.dirty();if(X.status==="dirty")D.dirty();if(B.value!=="__proto__"&&(typeof X.value<"u"||J.alwaysSet))$[B.value]=X.value}return{status:D.value,value:$}}}var f0=(D)=>{let{data:F,path:$,errorMaps:J,issueData:B}=D,X=[...$,...B.path||[]],Q={...B,path:X};if(B.message!==void 0)return{...B,path:X,message:B.message};let Y="",q=J.filter((G)=>!!G).slice().reverse();for(let G of q)Y=G(Q,{data:F,defaultError:Y}).message;return{...B,path:X,message:Y}},RB,T,z2=(D)=>({status:"dirty",value:D}),e=(D)=>({status:"valid",value:D}),i3=(D)=>D.status==="aborted",r3=(D)=>D.status==="dirty",eD=(D)=>D.status==="valid",n2=(D)=>typeof Promise<"u"&&D instanceof Promise;var O6=S(()=>{c3();R6();RB=[];T=Object.freeze({status:"aborted"})});var o5=()=>{};var C;var s5=S(()=>{(function(D){D.errToObj=(F)=>typeof F==="string"?{message:F}:F||{},D.toString=(F)=>typeof F==="string"?F:F?.message})(C||(C={}))});class jD{constructor(D,F,$,J){this._cachedPath=[],this.parent=D,this.data=F,this._path=$,this._key=J}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}}function I(D){if(!D)return{};let{errorMap:F,invalid_type_error:$,required_error:J,description:B}=D;if(F&&($||J))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(F)return{errorMap:F,description:B};return{errorMap:(Q,Y)=>{let{message:q}=D;if(Q.code==="invalid_enum_value")return{message:q??Y.defaultError};if(typeof Y.data>"u")return{message:q??J??Y.defaultError};if(Q.code!=="invalid_type")return{message:Y.defaultError};return{message:q??$??Y.defaultError}},description:B}}class k{get description(){return this._def.description}_getType(D){return SD(D.data)}_getOrReturnCtx(D,F){return F||{common:D.parent.common,data:D.data,parsedType:SD(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new n,ctx:{common:D.parent.common,data:D.data,parsedType:SD(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let F=this._parse(D);if(n2(F))throw Error("Synchronous parse encountered promise.");return F}_parseAsync(D){let F=this._parse(D);return Promise.resolve(F)}parse(D,F){let $=this.safeParse(D,F);if($.success)return $.data;throw $.error}safeParse(D,F){let $={common:{issues:[],async:F?.async??!1,contextualErrorMap:F?.errorMap},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:SD(D)},J=this._parseSync({data:D,path:$.path,parent:$});return a5($,J)}"~validate"(D){let F={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:SD(D)};if(!this["~standard"].async)try{let $=this._parseSync({data:D,path:[],parent:F});return eD($)?{value:$.value}:{issues:F.common.issues}}catch($){if($?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;F.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:F}).then(($)=>eD($)?{value:$.value}:{issues:F.common.issues})}async parseAsync(D,F){let $=await this.safeParseAsync(D,F);if($.success)return $.data;throw $.error}async safeParseAsync(D,F){let $={common:{issues:[],contextualErrorMap:F?.errorMap,async:!0},path:F?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:SD(D)},J=this._parse({data:D,path:$.path,parent:$}),B=await(n2(J)?J:Promise.resolve(J));return a5($,B)}refine(D,F){let $=(J)=>{if(typeof F==="string"||typeof F>"u")return{message:F};else if(typeof F==="function")return F(J);else return F};return this._refinement((J,B)=>{let X=D(J),Q=()=>B.addIssue({code:K.custom,...$(J)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Y)=>{if(!Y)return Q(),!1;else return!0});if(!X)return Q(),!1;else return!0})}refinement(D,F){return this._refinement(($,J)=>{if(!D($))return J.addIssue(typeof F==="function"?F($,J):F),!1;else return!0})}_refinement(D){return new _D({schema:this,typeName:N.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,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:(F)=>this["~validate"](F)}}optional(){return CD.create(this,this._def)}nullable(){return gD.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return OD.create(this)}promise(){return A2.create(this,this._def)}or(D){return D0.create([this,D],this._def)}and(D){return F0.create(this,D,this._def)}transform(D){return new _D({...I(this._def),schema:this,typeName:N.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let F=typeof D==="function"?D:()=>D;return new X0({...I(this._def),innerType:this,defaultValue:F,typeName:N.ZodDefault})}brand(){return new o3({typeName:N.ZodBranded,type:this,...I(this._def)})}catch(D){let F=typeof D==="function"?D:()=>D;return new Q0({...I(this._def),innerType:this,catchValue:F,typeName:N.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return m0.create(this,D)}readonly(){return Y0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}function D7(D){let F="[0-5]\\d";if(D.precision)F=`${F}\\.\\d{${D.precision}}`;else if(D.precision==null)F=`${F}(\\.\\d+)?`;let $=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${F})${$}`}function uB(D){return new RegExp(`^${D7(D)}$`)}function F7(D){let F=`${e5}T${D7(D)}`,$=[];if($.push(D.local?"Z?":"Z"),D.offset)$.push("([+-]\\d{2}:?\\d{2})");return F=`${F}(${$.join("|")})`,new RegExp(`^${F}$`)}function xB(D,F){if((F==="v4"||!F)&&IB.test(D))return!0;if((F==="v6"||!F)&&vB.test(D))return!0;return!1}function yB(D,F){if(!ZB.test(D))return!1;try{let[$]=D.split(".");if(!$)return!1;let J=$.replace(/-/g,"+").replace(/_/g,"/").padEnd($.length+(4-$.length%4)%4,"="),B=JSON.parse(atob(J));if(typeof B!=="object"||B===null)return!1;if("typ"in B&&B?.typ!=="JWT")return!1;if(!B.alg)return!1;if(F&&B.alg!==F)return!1;return!0}catch{return!1}}function hB(D,F){if((F==="v4"||!F)&&bB.test(D))return!0;if((F==="v6"||!F)&&PB.test(D))return!0;return!1}function gB(D,F){let $=(D.toString().split(".")[1]||"").length,J=(F.toString().split(".")[1]||"").length,B=$>J?$:J,X=Number.parseInt(D.toFixed(B).replace(".","")),Q=Number.parseInt(F.toFixed(B).replace(".",""));return X%Q/10**B}function o2(D){if(D instanceof g){let F={};for(let $ in D.shape){let J=D.shape[$];F[$]=CD.create(o2(J))}return new g({...D._def,shape:()=>F})}else if(D instanceof OD)return new OD({...D._def,type:o2(D.element)});else if(D instanceof CD)return CD.create(o2(D.unwrap()));else if(D instanceof gD)return gD.create(o2(D.unwrap()));else if(D instanceof bD)return bD.create(D.items.map((F)=>o2(F)));else return D}function j6(D,F){let $=SD(D),J=SD(F);if(D===F)return{valid:!0,data:D};else if($===M.object&&J===M.object){let B=w.objectKeys(F),X=w.objectKeys(D).filter((Y)=>B.indexOf(Y)!==-1),Q={...D,...F};for(let Y of X){let q=j6(D[Y],F[Y]);if(!q.valid)return{valid:!1};Q[Y]=q.data}return{valid:!0,data:Q}}else if($===M.array&&J===M.array){if(D.length!==F.length)return{valid:!1};let B=[];for(let X=0;X<D.length;X++){let Q=D[X],Y=F[X],q=j6(Q,Y);if(!q.valid)return{valid:!1};B.push(q.data)}return{valid:!0,data:B}}else if($===M.date&&J===M.date&&+D===+F)return{valid:!0,data:D};else return{valid:!1}}function $7(D,F){return new J2({values:D,typeName:N.ZodEnum,...I(F)})}function t5(D,F){let $=typeof D==="function"?D(F):typeof D==="string"?{message:D}:D;return typeof $==="string"?{message:$}:$}function J7(D,F={},$){if(D)return M2.create().superRefine((J,B)=>{let X=D(J);if(X instanceof Promise)return X.then((Q)=>{if(!Q){let Y=t5(F,J),q=Y.fatal??$??!0;B.addIssue({code:"custom",...Y,fatal:q})}});if(!X){let Q=t5(F,J),Y=Q.fatal??$??!0;B.addIssue({code:"custom",...Q,fatal:Y})}return});return M2.create()}var a5=(D,F)=>{if(eD(F))return{success:!0,data:F.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let $=new XD(D.common.issues);return this._error=$,this._error}}}},OB,CB,jB,_B,LB,ZB,TB,NB,SB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",C6,IB,bB,vB,PB,kB,wB,e5="((\\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])))",fB,RD,F2,$2,a2,K2,u0,t2,e2,M2,D2,ID,x0,OD,g,D0,hD=(D)=>{if(D instanceof $0)return hD(D.schema);else if(D instanceof _D)return hD(D.innerType());else if(D instanceof J0)return[D.value];else if(D instanceof J2)return D.options;else if(D instanceof B0)return w.objectValues(D.enum);else if(D instanceof X0)return hD(D._def.innerType);else if(D instanceof t2)return[void 0];else if(D instanceof e2)return[null];else if(D instanceof CD)return[void 0,...hD(D.unwrap())];else if(D instanceof gD)return[null,...hD(D.unwrap())];else if(D instanceof o3)return hD(D.unwrap());else if(D instanceof Y0)return hD(D.unwrap());else if(D instanceof Q0)return hD(D._def.innerType);else return[]},n3,F0,bD,y0,h0,E2,s2,$0,J0,J2,B0,A2,_D,CD,gD,X0,Q0,g0,mB,o3,m0,Y0,lB,N,pB=(D,F={message:`Input not instance of ${D.name}`})=>J7(($)=>$ instanceof D,F),B7,X7,dB,cB,Q7,iB,rB,nB,oB,sB,aB,tB,eB,DX,FX,$X,JX,BX,XX,QX,YX,qX,GX,HX,VX,WX,UX,zX,KX,MX,EX,AX,RX,OX,CX=()=>B7().optional(),jX=()=>X7().optional(),_X=()=>Q7().optional(),LX,ZX;var Y7=S(()=>{d3();c3();s5();O6();w0();OB=/^c[^\s-]{8,}$/i,CB=/^[0-9a-z]+$/,jB=/^[0-9A-HJKMNP-TV-Z]{26}$/i,_B=/^[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,LB=/^[a-z0-9_-]{21}$/i,ZB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,TB=/^[-+]?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)?)??$/,NB=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,IB=/^(?:(?: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])$/,bB=/^(?:(?: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])$/,vB=/^(([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]))$/,PB=/^(([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])$/,kB=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,wB=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,fB=new RegExp(`^${e5}$`);RD=class RD extends k{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==M.string){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_type,expected:M.string,received:B.parsedType}),T}let $=new n,J=void 0;for(let B of this._def.checks)if(B.kind==="min"){if(D.data.length<B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_small,minimum:B.value,type:"string",inclusive:!0,exact:!1,message:B.message}),$.dirty()}else if(B.kind==="max"){if(D.data.length>B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_big,maximum:B.value,type:"string",inclusive:!0,exact:!1,message:B.message}),$.dirty()}else if(B.kind==="length"){let X=D.data.length>B.value,Q=D.data.length<B.value;if(X||Q){if(J=this._getOrReturnCtx(D,J),X)R(J,{code:K.too_big,maximum:B.value,type:"string",inclusive:!0,exact:!0,message:B.message});else if(Q)R(J,{code:K.too_small,minimum:B.value,type:"string",inclusive:!0,exact:!0,message:B.message});$.dirty()}}else if(B.kind==="email"){if(!NB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"email",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="emoji"){if(!C6)C6=new RegExp(SB,"u");if(!C6.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"emoji",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="uuid"){if(!_B.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"uuid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="nanoid"){if(!LB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"nanoid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="cuid"){if(!OB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"cuid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="cuid2"){if(!CB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"cuid2",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="ulid"){if(!jB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"ulid",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="url")try{new URL(D.data)}catch{J=this._getOrReturnCtx(D,J),R(J,{validation:"url",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="regex"){if(B.regex.lastIndex=0,!B.regex.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"regex",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="trim")D.data=D.data.trim();else if(B.kind==="includes"){if(!D.data.includes(B.value,B.position))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:{includes:B.value,position:B.position},message:B.message}),$.dirty()}else if(B.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(B.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(B.kind==="startsWith"){if(!D.data.startsWith(B.value))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:{startsWith:B.value},message:B.message}),$.dirty()}else if(B.kind==="endsWith"){if(!D.data.endsWith(B.value))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:{endsWith:B.value},message:B.message}),$.dirty()}else if(B.kind==="datetime"){if(!F7(B).test(D.data))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:"datetime",message:B.message}),$.dirty()}else if(B.kind==="date"){if(!fB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:"date",message:B.message}),$.dirty()}else if(B.kind==="time"){if(!uB(B).test(D.data))J=this._getOrReturnCtx(D,J),R(J,{code:K.invalid_string,validation:"time",message:B.message}),$.dirty()}else if(B.kind==="duration"){if(!TB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"duration",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="ip"){if(!xB(D.data,B.version))J=this._getOrReturnCtx(D,J),R(J,{validation:"ip",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="jwt"){if(!yB(D.data,B.alg))J=this._getOrReturnCtx(D,J),R(J,{validation:"jwt",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="cidr"){if(!hB(D.data,B.version))J=this._getOrReturnCtx(D,J),R(J,{validation:"cidr",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="base64"){if(!kB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"base64",code:K.invalid_string,message:B.message}),$.dirty()}else if(B.kind==="base64url"){if(!wB.test(D.data))J=this._getOrReturnCtx(D,J),R(J,{validation:"base64url",code:K.invalid_string,message:B.message}),$.dirty()}else w.assertNever(B);return{status:$.value,value:D.data}}_regex(D,F,$){return this.refinement((J)=>D.test(J),{validation:F,code:K.invalid_string,...C.errToObj($)})}_addCheck(D){return new RD({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...C.errToObj(D)})}url(D){return this._addCheck({kind:"url",...C.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...C.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...C.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...C.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...C.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...C.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...C.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...C.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...C.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...C.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...C.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...C.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...C.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision>"u"?null:D?.precision,...C.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...C.errToObj(D)})}regex(D,F){return this._addCheck({kind:"regex",regex:D,...C.errToObj(F)})}includes(D,F){return this._addCheck({kind:"includes",value:D,position:F?.position,...C.errToObj(F?.message)})}startsWith(D,F){return this._addCheck({kind:"startsWith",value:D,...C.errToObj(F)})}endsWith(D,F){return this._addCheck({kind:"endsWith",value:D,...C.errToObj(F)})}min(D,F){return this._addCheck({kind:"min",value:D,...C.errToObj(F)})}max(D,F){return this._addCheck({kind:"max",value:D,...C.errToObj(F)})}length(D,F){return this._addCheck({kind:"length",value:D,...C.errToObj(F)})}nonempty(D){return this.min(1,C.errToObj(D))}trim(){return new RD({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new RD({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new RD({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxLength(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}};RD.create=(D)=>{return new RD({checks:[],typeName:N.ZodString,coerce:D?.coerce??!1,...I(D)})};F2=class F2 extends k{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==M.number){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_type,expected:M.number,received:B.parsedType}),T}let $=void 0,J=new n;for(let B of this._def.checks)if(B.kind==="int"){if(!w.isInteger(D.data))$=this._getOrReturnCtx(D,$),R($,{code:K.invalid_type,expected:"integer",received:"float",message:B.message}),J.dirty()}else if(B.kind==="min"){if(B.inclusive?D.data<B.value:D.data<=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_small,minimum:B.value,type:"number",inclusive:B.inclusive,exact:!1,message:B.message}),J.dirty()}else if(B.kind==="max"){if(B.inclusive?D.data>B.value:D.data>=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_big,maximum:B.value,type:"number",inclusive:B.inclusive,exact:!1,message:B.message}),J.dirty()}else if(B.kind==="multipleOf"){if(gB(D.data,B.value)!==0)$=this._getOrReturnCtx(D,$),R($,{code:K.not_multiple_of,multipleOf:B.value,message:B.message}),J.dirty()}else if(B.kind==="finite"){if(!Number.isFinite(D.data))$=this._getOrReturnCtx(D,$),R($,{code:K.not_finite,message:B.message}),J.dirty()}else w.assertNever(B);return{status:J.value,value:D.data}}gte(D,F){return this.setLimit("min",D,!0,C.toString(F))}gt(D,F){return this.setLimit("min",D,!1,C.toString(F))}lte(D,F){return this.setLimit("max",D,!0,C.toString(F))}lt(D,F){return this.setLimit("max",D,!1,C.toString(F))}setLimit(D,F,$,J){return new F2({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:C.toString(J)}]})}_addCheck(D){return new F2({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:C.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:C.toString(F)})}finite(D){return this._addCheck({kind:"finite",message:C.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:C.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:C.toString(D)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&w.isInteger(D.value))}get isFinite(){let D=null,F=null;for(let $ of this._def.checks)if($.kind==="finite"||$.kind==="int"||$.kind==="multipleOf")return!0;else if($.kind==="min"){if(F===null||$.value>F)F=$.value}else if($.kind==="max"){if(D===null||$.value<D)D=$.value}return Number.isFinite(F)&&Number.isFinite(D)}};F2.create=(D)=>{return new F2({checks:[],typeName:N.ZodNumber,coerce:D?.coerce||!1,...I(D)})};$2=class $2 extends k{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==M.bigint)return this._getInvalidInput(D);let $=void 0,J=new n;for(let B of this._def.checks)if(B.kind==="min"){if(B.inclusive?D.data<B.value:D.data<=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_small,type:"bigint",minimum:B.value,inclusive:B.inclusive,message:B.message}),J.dirty()}else if(B.kind==="max"){if(B.inclusive?D.data>B.value:D.data>=B.value)$=this._getOrReturnCtx(D,$),R($,{code:K.too_big,type:"bigint",maximum:B.value,inclusive:B.inclusive,message:B.message}),J.dirty()}else if(B.kind==="multipleOf"){if(D.data%B.value!==BigInt(0))$=this._getOrReturnCtx(D,$),R($,{code:K.not_multiple_of,multipleOf:B.value,message:B.message}),J.dirty()}else w.assertNever(B);return{status:J.value,value:D.data}}_getInvalidInput(D){let F=this._getOrReturnCtx(D);return R(F,{code:K.invalid_type,expected:M.bigint,received:F.parsedType}),T}gte(D,F){return this.setLimit("min",D,!0,C.toString(F))}gt(D,F){return this.setLimit("min",D,!1,C.toString(F))}lte(D,F){return this.setLimit("max",D,!0,C.toString(F))}lt(D,F){return this.setLimit("max",D,!1,C.toString(F))}setLimit(D,F,$,J){return new $2({...this._def,checks:[...this._def.checks,{kind:D,value:F,inclusive:$,message:C.toString(J)}]})}_addCheck(D){return new $2({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(D)})}multipleOf(D,F){return this._addCheck({kind:"multipleOf",value:D,message:C.toString(F)})}get minValue(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D}get maxValue(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D}};$2.create=(D)=>{return new $2({checks:[],typeName:N.ZodBigInt,coerce:D?.coerce??!1,...I(D)})};a2=class a2 extends k{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==M.boolean){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.boolean,received:$.parsedType}),T}return e(D.data)}};a2.create=(D)=>{return new a2({typeName:N.ZodBoolean,coerce:D?.coerce||!1,...I(D)})};K2=class K2 extends k{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==M.date){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_type,expected:M.date,received:B.parsedType}),T}if(Number.isNaN(D.data.getTime())){let B=this._getOrReturnCtx(D);return R(B,{code:K.invalid_date}),T}let $=new n,J=void 0;for(let B of this._def.checks)if(B.kind==="min"){if(D.data.getTime()<B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_small,message:B.message,inclusive:!0,exact:!1,minimum:B.value,type:"date"}),$.dirty()}else if(B.kind==="max"){if(D.data.getTime()>B.value)J=this._getOrReturnCtx(D,J),R(J,{code:K.too_big,message:B.message,inclusive:!0,exact:!1,maximum:B.value,type:"date"}),$.dirty()}else w.assertNever(B);return{status:$.value,value:new Date(D.data.getTime())}}_addCheck(D){return new K2({...this._def,checks:[...this._def.checks,D]})}min(D,F){return this._addCheck({kind:"min",value:D.getTime(),message:C.toString(F)})}max(D,F){return this._addCheck({kind:"max",value:D.getTime(),message:C.toString(F)})}get minDate(){let D=null;for(let F of this._def.checks)if(F.kind==="min"){if(D===null||F.value>D)D=F.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let F of this._def.checks)if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return D!=null?new Date(D):null}};K2.create=(D)=>{return new K2({checks:[],coerce:D?.coerce||!1,typeName:N.ZodDate,...I(D)})};u0=class u0 extends k{_parse(D){if(this._getType(D)!==M.symbol){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.symbol,received:$.parsedType}),T}return e(D.data)}};u0.create=(D)=>{return new u0({typeName:N.ZodSymbol,...I(D)})};t2=class t2 extends k{_parse(D){if(this._getType(D)!==M.undefined){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.undefined,received:$.parsedType}),T}return e(D.data)}};t2.create=(D)=>{return new t2({typeName:N.ZodUndefined,...I(D)})};e2=class e2 extends k{_parse(D){if(this._getType(D)!==M.null){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.null,received:$.parsedType}),T}return e(D.data)}};e2.create=(D)=>{return new e2({typeName:N.ZodNull,...I(D)})};M2=class M2 extends k{constructor(){super(...arguments);this._any=!0}_parse(D){return e(D.data)}};M2.create=(D)=>{return new M2({typeName:N.ZodAny,...I(D)})};D2=class D2 extends k{constructor(){super(...arguments);this._unknown=!0}_parse(D){return e(D.data)}};D2.create=(D)=>{return new D2({typeName:N.ZodUnknown,...I(D)})};ID=class ID extends k{_parse(D){let F=this._getOrReturnCtx(D);return R(F,{code:K.invalid_type,expected:M.never,received:F.parsedType}),T}};ID.create=(D)=>{return new ID({typeName:N.ZodNever,...I(D)})};x0=class x0 extends k{_parse(D){if(this._getType(D)!==M.undefined){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.void,received:$.parsedType}),T}return e(D.data)}};x0.create=(D)=>{return new x0({typeName:N.ZodVoid,...I(D)})};OD=class OD extends k{_parse(D){let{ctx:F,status:$}=this._processInputParams(D),J=this._def;if(F.parsedType!==M.array)return R(F,{code:K.invalid_type,expected:M.array,received:F.parsedType}),T;if(J.exactLength!==null){let X=F.data.length>J.exactLength.value,Q=F.data.length<J.exactLength.value;if(X||Q)R(F,{code:X?K.too_big:K.too_small,minimum:Q?J.exactLength.value:void 0,maximum:X?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),$.dirty()}if(J.minLength!==null){if(F.data.length<J.minLength.value)R(F,{code:K.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),$.dirty()}if(J.maxLength!==null){if(F.data.length>J.maxLength.value)R(F,{code:K.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),$.dirty()}if(F.common.async)return Promise.all([...F.data].map((X,Q)=>{return J.type._parseAsync(new jD(F,X,F.path,Q))})).then((X)=>{return n.mergeArray($,X)});let B=[...F.data].map((X,Q)=>{return J.type._parseSync(new jD(F,X,F.path,Q))});return n.mergeArray($,B)}get element(){return this._def.type}min(D,F){return new OD({...this._def,minLength:{value:D,message:C.toString(F)}})}max(D,F){return new OD({...this._def,maxLength:{value:D,message:C.toString(F)}})}length(D,F){return new OD({...this._def,exactLength:{value:D,message:C.toString(F)}})}nonempty(D){return this.min(1,D)}};OD.create=(D,F)=>{return new OD({type:D,minLength:null,maxLength:null,exactLength:null,typeName:N.ZodArray,...I(F)})};g=class g extends k{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),F=w.objectKeys(D);return this._cached={shape:D,keys:F},this._cached}_parse(D){if(this._getType(D)!==M.object){let q=this._getOrReturnCtx(D);return R(q,{code:K.invalid_type,expected:M.object,received:q.parsedType}),T}let{status:$,ctx:J}=this._processInputParams(D),{shape:B,keys:X}=this._getCached(),Q=[];if(!(this._def.catchall instanceof ID&&this._def.unknownKeys==="strip")){for(let q in J.data)if(!X.includes(q))Q.push(q)}let Y=[];for(let q of X){let G=B[q],H=J.data[q];Y.push({key:{status:"valid",value:q},value:G._parse(new jD(J,H,J.path,q)),alwaysSet:q in J.data})}if(this._def.catchall instanceof ID){let q=this._def.unknownKeys;if(q==="passthrough")for(let G of Q)Y.push({key:{status:"valid",value:G},value:{status:"valid",value:J.data[G]}});else if(q==="strict"){if(Q.length>0)R(J,{code:K.unrecognized_keys,keys:Q}),$.dirty()}else if(q==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let q=this._def.catchall;for(let G of Q){let H=J.data[G];Y.push({key:{status:"valid",value:G},value:q._parse(new jD(J,H,J.path,G)),alwaysSet:G in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let q=[];for(let G of Y){let H=await G.key,V=await G.value;q.push({key:H,value:V,alwaysSet:G.alwaysSet})}return q}).then((q)=>{return n.mergeObjectSync($,q)});else return n.mergeObjectSync($,Y)}get shape(){return this._def.shape()}strict(D){return C.errToObj,new g({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:(F,$)=>{let J=this._def.errorMap?.(F,$).message??$.defaultError;if(F.code==="unrecognized_keys")return{message:C.errToObj(D).message??J};return{message:J}}}:{}})}strip(){return new g({...this._def,unknownKeys:"strip"})}passthrough(){return new g({...this._def,unknownKeys:"passthrough"})}extend(D){return new g({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new g({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:N.ZodObject})}setKey(D,F){return this.augment({[D]:F})}catchall(D){return new g({...this._def,catchall:D})}pick(D){let F={};for(let $ of w.objectKeys(D))if(D[$]&&this.shape[$])F[$]=this.shape[$];return new g({...this._def,shape:()=>F})}omit(D){let F={};for(let $ of w.objectKeys(this.shape))if(!D[$])F[$]=this.shape[$];return new g({...this._def,shape:()=>F})}deepPartial(){return o2(this)}partial(D){let F={};for(let $ of w.objectKeys(this.shape)){let J=this.shape[$];if(D&&!D[$])F[$]=J;else F[$]=J.optional()}return new g({...this._def,shape:()=>F})}required(D){let F={};for(let $ of w.objectKeys(this.shape))if(D&&!D[$])F[$]=this.shape[$];else{let B=this.shape[$];while(B instanceof CD)B=B._def.innerType;F[$]=B}return new g({...this._def,shape:()=>F})}keyof(){return $7(w.objectKeys(this.shape))}};g.create=(D,F)=>{return new g({shape:()=>D,unknownKeys:"strip",catchall:ID.create(),typeName:N.ZodObject,...I(F)})};g.strictCreate=(D,F)=>{return new g({shape:()=>D,unknownKeys:"strict",catchall:ID.create(),typeName:N.ZodObject,...I(F)})};g.lazycreate=(D,F)=>{return new g({shape:D,unknownKeys:"strip",catchall:ID.create(),typeName:N.ZodObject,...I(F)})};D0=class D0 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$=this._def.options;function J(B){for(let Q of B)if(Q.result.status==="valid")return Q.result;for(let Q of B)if(Q.result.status==="dirty")return F.common.issues.push(...Q.ctx.common.issues),Q.result;let X=B.map((Q)=>new XD(Q.ctx.common.issues));return R(F,{code:K.invalid_union,unionErrors:X}),T}if(F.common.async)return Promise.all($.map(async(B)=>{let X={...F,common:{...F.common,issues:[]},parent:null};return{result:await B._parseAsync({data:F.data,path:F.path,parent:X}),ctx:X}})).then(J);else{let B=void 0,X=[];for(let Y of $){let q={...F,common:{...F.common,issues:[]},parent:null},G=Y._parseSync({data:F.data,path:F.path,parent:q});if(G.status==="valid")return G;else if(G.status==="dirty"&&!B)B={result:G,ctx:q};if(q.common.issues.length)X.push(q.common.issues)}if(B)return F.common.issues.push(...B.ctx.common.issues),B.result;let Q=X.map((Y)=>new XD(Y));return R(F,{code:K.invalid_union,unionErrors:Q}),T}}get options(){return this._def.options}};D0.create=(D,F)=>{return new D0({options:D,typeName:N.ZodUnion,...I(F)})};n3=class n3 extends k{_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==M.object)return R(F,{code:K.invalid_type,expected:M.object,received:F.parsedType}),T;let $=this.discriminator,J=F.data[$],B=this.optionsMap.get(J);if(!B)return R(F,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[$]}),T;if(F.common.async)return B._parseAsync({data:F.data,path:F.path,parent:F});else return B._parseSync({data:F.data,path:F.path,parent:F})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,F,$){let J=new Map;for(let B of F){let X=hD(B.shape[D]);if(!X.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let Q of X){if(J.has(Q))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(Q)}`);J.set(Q,B)}}return new n3({typeName:N.ZodDiscriminatedUnion,discriminator:D,options:F,optionsMap:J,...I($)})}};F0=class F0 extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D),J=(B,X)=>{if(i3(B)||i3(X))return T;let Q=j6(B.value,X.value);if(!Q.valid)return R($,{code:K.invalid_intersection_types}),T;if(r3(B)||r3(X))F.dirty();return{status:F.value,value:Q.data}};if($.common.async)return Promise.all([this._def.left._parseAsync({data:$.data,path:$.path,parent:$}),this._def.right._parseAsync({data:$.data,path:$.path,parent:$})]).then(([B,X])=>J(B,X));else return J(this._def.left._parseSync({data:$.data,path:$.path,parent:$}),this._def.right._parseSync({data:$.data,path:$.path,parent:$}))}};F0.create=(D,F,$)=>{return new F0({left:D,right:F,typeName:N.ZodIntersection,...I($)})};bD=class bD extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.array)return R($,{code:K.invalid_type,expected:M.array,received:$.parsedType}),T;if($.data.length<this._def.items.length)return R($,{code:K.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),T;if(!this._def.rest&&$.data.length>this._def.items.length)R($,{code:K.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),F.dirty();let B=[...$.data].map((X,Q)=>{let Y=this._def.items[Q]||this._def.rest;if(!Y)return null;return Y._parse(new jD($,X,$.path,Q))}).filter((X)=>!!X);if($.common.async)return Promise.all(B).then((X)=>{return n.mergeArray(F,X)});else return n.mergeArray(F,B)}get items(){return this._def.items}rest(D){return new bD({...this._def,rest:D})}};bD.create=(D,F)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new bD({items:D,typeName:N.ZodTuple,rest:null,...I(F)})};y0=class y0 extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.object)return R($,{code:K.invalid_type,expected:M.object,received:$.parsedType}),T;let J=[],B=this._def.keyType,X=this._def.valueType;for(let Q in $.data)J.push({key:B._parse(new jD($,Q,$.path,Q)),value:X._parse(new jD($,$.data[Q],$.path,Q)),alwaysSet:Q in $.data});if($.common.async)return n.mergeObjectAsync(F,J);else return n.mergeObjectSync(F,J)}get element(){return this._def.valueType}static create(D,F,$){if(F instanceof k)return new y0({keyType:D,valueType:F,typeName:N.ZodRecord,...I($)});return new y0({keyType:RD.create(),valueType:D,typeName:N.ZodRecord,...I(F)})}};h0=class h0 extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.map)return R($,{code:K.invalid_type,expected:M.map,received:$.parsedType}),T;let J=this._def.keyType,B=this._def.valueType,X=[...$.data.entries()].map(([Q,Y],q)=>{return{key:J._parse(new jD($,Q,$.path,[q,"key"])),value:B._parse(new jD($,Y,$.path,[q,"value"]))}});if($.common.async){let Q=new Map;return Promise.resolve().then(async()=>{for(let Y of X){let q=await Y.key,G=await Y.value;if(q.status==="aborted"||G.status==="aborted")return T;if(q.status==="dirty"||G.status==="dirty")F.dirty();Q.set(q.value,G.value)}return{status:F.value,value:Q}})}else{let Q=new Map;for(let Y of X){let{key:q,value:G}=Y;if(q.status==="aborted"||G.status==="aborted")return T;if(q.status==="dirty"||G.status==="dirty")F.dirty();Q.set(q.value,G.value)}return{status:F.value,value:Q}}}};h0.create=(D,F,$)=>{return new h0({valueType:F,keyType:D,typeName:N.ZodMap,...I($)})};E2=class E2 extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.parsedType!==M.set)return R($,{code:K.invalid_type,expected:M.set,received:$.parsedType}),T;let J=this._def;if(J.minSize!==null){if($.data.size<J.minSize.value)R($,{code:K.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),F.dirty()}if(J.maxSize!==null){if($.data.size>J.maxSize.value)R($,{code:K.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),F.dirty()}let B=this._def.valueType;function X(Y){let q=new Set;for(let G of Y){if(G.status==="aborted")return T;if(G.status==="dirty")F.dirty();q.add(G.value)}return{status:F.value,value:q}}let Q=[...$.data.values()].map((Y,q)=>B._parse(new jD($,Y,$.path,q)));if($.common.async)return Promise.all(Q).then((Y)=>X(Y));else return X(Q)}min(D,F){return new E2({...this._def,minSize:{value:D,message:C.toString(F)}})}max(D,F){return new E2({...this._def,maxSize:{value:D,message:C.toString(F)}})}size(D,F){return this.min(D,F).max(D,F)}nonempty(D){return this.min(1,D)}};E2.create=(D,F)=>{return new E2({valueType:D,minSize:null,maxSize:null,typeName:N.ZodSet,...I(F)})};s2=class s2 extends k{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==M.function)return R(F,{code:K.invalid_type,expected:M.function,received:F.parsedType}),T;function $(Q,Y){return f0({data:Q,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,r2(),yD].filter((q)=>!!q),issueData:{code:K.invalid_arguments,argumentsError:Y}})}function J(Q,Y){return f0({data:Q,path:F.path,errorMaps:[F.common.contextualErrorMap,F.schemaErrorMap,r2(),yD].filter((q)=>!!q),issueData:{code:K.invalid_return_type,returnTypeError:Y}})}let B={errorMap:F.common.contextualErrorMap},X=F.data;if(this._def.returns instanceof A2){let Q=this;return e(async function(...Y){let q=new XD([]),G=await Q._def.args.parseAsync(Y,B).catch((U)=>{throw q.addIssue($(Y,U)),q}),H=await Reflect.apply(X,this,G);return await Q._def.returns._def.type.parseAsync(H,B).catch((U)=>{throw q.addIssue(J(H,U)),q})})}else{let Q=this;return e(function(...Y){let q=Q._def.args.safeParse(Y,B);if(!q.success)throw new XD([$(Y,q.error)]);let G=Reflect.apply(X,this,q.data),H=Q._def.returns.safeParse(G,B);if(!H.success)throw new XD([J(G,H.error)]);return H.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new s2({...this._def,args:bD.create(D).rest(D2.create())})}returns(D){return new s2({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,F,$){return new s2({args:D?D:bD.create([]).rest(D2.create()),returns:F||D2.create(),typeName:N.ZodFunction,...I($)})}};$0=class $0 extends k{get schema(){return this._def.getter()}_parse(D){let{ctx:F}=this._processInputParams(D);return this._def.getter()._parse({data:F.data,path:F.path,parent:F})}};$0.create=(D,F)=>{return new $0({getter:D,typeName:N.ZodLazy,...I(F)})};J0=class J0 extends k{_parse(D){if(D.data!==this._def.value){let F=this._getOrReturnCtx(D);return R(F,{received:F.data,code:K.invalid_literal,expected:this._def.value}),T}return{status:"valid",value:D.data}}get value(){return this._def.value}};J0.create=(D,F)=>{return new J0({value:D,typeName:N.ZodLiteral,...I(F)})};J2=class J2 extends k{_parse(D){if(typeof D.data!=="string"){let F=this._getOrReturnCtx(D),$=this._def.values;return R(F,{expected:w.joinValues($),received:F.parsedType,code:K.invalid_type}),T}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let F=this._getOrReturnCtx(D),$=this._def.values;return R(F,{received:F.data,code:K.invalid_enum_value,options:$}),T}return e(D.data)}get options(){return this._def.values}get enum(){let D={};for(let F of this._def.values)D[F]=F;return D}get Values(){let D={};for(let F of this._def.values)D[F]=F;return D}get Enum(){let D={};for(let F of this._def.values)D[F]=F;return D}extract(D,F=this._def){return J2.create(D,{...this._def,...F})}exclude(D,F=this._def){return J2.create(this.options.filter(($)=>!D.includes($)),{...this._def,...F})}};J2.create=$7;B0=class B0 extends k{_parse(D){let F=w.getValidEnumValues(this._def.values),$=this._getOrReturnCtx(D);if($.parsedType!==M.string&&$.parsedType!==M.number){let J=w.objectValues(F);return R($,{expected:w.joinValues(J),received:$.parsedType,code:K.invalid_type}),T}if(!this._cache)this._cache=new Set(w.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let J=w.objectValues(F);return R($,{received:$.data,code:K.invalid_enum_value,options:J}),T}return e(D.data)}get enum(){return this._def.values}};B0.create=(D,F)=>{return new B0({values:D,typeName:N.ZodNativeEnum,...I(F)})};A2=class A2 extends k{unwrap(){return this._def.type}_parse(D){let{ctx:F}=this._processInputParams(D);if(F.parsedType!==M.promise&&F.common.async===!1)return R(F,{code:K.invalid_type,expected:M.promise,received:F.parsedType}),T;let $=F.parsedType===M.promise?F.data:Promise.resolve(F.data);return e($.then((J)=>{return this._def.type.parseAsync(J,{path:F.path,errorMap:F.common.contextualErrorMap})}))}};A2.create=(D,F)=>{return new A2({type:D,typeName:N.ZodPromise,...I(F)})};_D=class _D extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===N.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:F,ctx:$}=this._processInputParams(D),J=this._def.effect||null,B={addIssue:(X)=>{if(R($,X),X.fatal)F.abort();else F.dirty()},get path(){return $.path}};if(B.addIssue=B.addIssue.bind(B),J.type==="preprocess"){let X=J.transform($.data,B);if($.common.async)return Promise.resolve(X).then(async(Q)=>{if(F.value==="aborted")return T;let Y=await this._def.schema._parseAsync({data:Q,path:$.path,parent:$});if(Y.status==="aborted")return T;if(Y.status==="dirty")return z2(Y.value);if(F.value==="dirty")return z2(Y.value);return Y});else{if(F.value==="aborted")return T;let Q=this._def.schema._parseSync({data:X,path:$.path,parent:$});if(Q.status==="aborted")return T;if(Q.status==="dirty")return z2(Q.value);if(F.value==="dirty")return z2(Q.value);return Q}}if(J.type==="refinement"){let X=(Q)=>{let Y=J.refinement(Q,B);if($.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Q};if($.common.async===!1){let Q=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(Q.status==="aborted")return T;if(Q.status==="dirty")F.dirty();return X(Q.value),{status:F.value,value:Q.value}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((Q)=>{if(Q.status==="aborted")return T;if(Q.status==="dirty")F.dirty();return X(Q.value).then(()=>{return{status:F.value,value:Q.value}})})}if(J.type==="transform")if($.common.async===!1){let X=this._def.schema._parseSync({data:$.data,path:$.path,parent:$});if(!eD(X))return T;let Q=J.transform(X.value,B);if(Q instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:F.value,value:Q}}else return this._def.schema._parseAsync({data:$.data,path:$.path,parent:$}).then((X)=>{if(!eD(X))return T;return Promise.resolve(J.transform(X.value,B)).then((Q)=>({status:F.value,value:Q}))});w.assertNever(J)}};_D.create=(D,F,$)=>{return new _D({schema:D,typeName:N.ZodEffects,effect:F,...I($)})};_D.createWithPreprocess=(D,F,$)=>{return new _D({schema:F,effect:{type:"preprocess",transform:D},typeName:N.ZodEffects,...I($)})};CD=class CD extends k{_parse(D){if(this._getType(D)===M.undefined)return e(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};CD.create=(D,F)=>{return new CD({innerType:D,typeName:N.ZodOptional,...I(F)})};gD=class gD extends k{_parse(D){if(this._getType(D)===M.null)return e(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};gD.create=(D,F)=>{return new gD({innerType:D,typeName:N.ZodNullable,...I(F)})};X0=class X0 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;if(F.parsedType===M.undefined)$=this._def.defaultValue();return this._def.innerType._parse({data:$,path:F.path,parent:F})}removeDefault(){return this._def.innerType}};X0.create=(D,F)=>{return new X0({innerType:D,typeName:N.ZodDefault,defaultValue:typeof F.default==="function"?F.default:()=>F.default,...I(F)})};Q0=class Q0 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$={...F,common:{...F.common,issues:[]}},J=this._def.innerType._parse({data:$.data,path:$.path,parent:{...$}});if(n2(J))return J.then((B)=>{return{status:"valid",value:B.status==="valid"?B.value:this._def.catchValue({get error(){return new XD($.common.issues)},input:$.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new XD($.common.issues)},input:$.data})}}removeCatch(){return this._def.innerType}};Q0.create=(D,F)=>{return new Q0({innerType:D,typeName:N.ZodCatch,catchValue:typeof F.catch==="function"?F.catch:()=>F.catch,...I(F)})};g0=class g0 extends k{_parse(D){if(this._getType(D)!==M.nan){let $=this._getOrReturnCtx(D);return R($,{code:K.invalid_type,expected:M.nan,received:$.parsedType}),T}return{status:"valid",value:D.data}}};g0.create=(D)=>{return new g0({typeName:N.ZodNaN,...I(D)})};mB=Symbol("zod_brand");o3=class o3 extends k{_parse(D){let{ctx:F}=this._processInputParams(D),$=F.data;return this._def.type._parse({data:$,path:F.path,parent:F})}unwrap(){return this._def.type}};m0=class m0 extends k{_parse(D){let{status:F,ctx:$}=this._processInputParams(D);if($.common.async)return(async()=>{let B=await this._def.in._parseAsync({data:$.data,path:$.path,parent:$});if(B.status==="aborted")return T;if(B.status==="dirty")return F.dirty(),z2(B.value);else return this._def.out._parseAsync({data:B.value,path:$.path,parent:$})})();else{let J=this._def.in._parseSync({data:$.data,path:$.path,parent:$});if(J.status==="aborted")return T;if(J.status==="dirty")return F.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:$.path,parent:$})}}static create(D,F){return new m0({in:D,out:F,typeName:N.ZodPipeline})}};Y0=class Y0 extends k{_parse(D){let F=this._def.innerType._parse(D),$=(J)=>{if(eD(J))J.value=Object.freeze(J.value);return J};return n2(F)?F.then((J)=>$(J)):$(F)}unwrap(){return this._def.innerType}};Y0.create=(D,F)=>{return new Y0({innerType:D,typeName:N.ZodReadonly,...I(F)})};lB={object:g.lazycreate};(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(N||(N={}));B7=RD.create,X7=F2.create,dB=g0.create,cB=$2.create,Q7=a2.create,iB=K2.create,rB=u0.create,nB=t2.create,oB=e2.create,sB=M2.create,aB=D2.create,tB=ID.create,eB=x0.create,DX=OD.create,FX=g.create,$X=g.strictCreate,JX=D0.create,BX=n3.create,XX=F0.create,QX=bD.create,YX=y0.create,qX=h0.create,GX=E2.create,HX=s2.create,VX=$0.create,WX=J0.create,UX=J2.create,zX=B0.create,KX=A2.create,MX=_D.create,EX=CD.create,AX=gD.create,RX=_D.createWithPreprocess,OX=m0.create,LX={string:(D)=>RD.create({...D,coerce:!0}),number:(D)=>F2.create({...D,coerce:!0}),boolean:(D)=>a2.create({...D,coerce:!0}),bigint:(D)=>$2.create({...D,coerce:!0}),date:(D)=>K2.create({...D,coerce:!0})},ZX=T});var E={};BD(E,{void:()=>eB,util:()=>w,unknown:()=>aB,union:()=>JX,undefined:()=>nB,tuple:()=>QX,transformer:()=>MX,symbol:()=>rB,string:()=>B7,strictObject:()=>$X,setErrorMap:()=>AB,set:()=>GX,record:()=>YX,quotelessJson:()=>MB,promise:()=>KX,preprocess:()=>RX,pipeline:()=>OX,ostring:()=>CX,optional:()=>EX,onumber:()=>jX,oboolean:()=>_X,objectUtil:()=>A6,object:()=>FX,number:()=>X7,nullable:()=>AX,null:()=>oB,never:()=>tB,nativeEnum:()=>zX,nan:()=>dB,map:()=>qX,makeIssue:()=>f0,literal:()=>WX,lazy:()=>VX,late:()=>lB,isValid:()=>eD,isDirty:()=>r3,isAsync:()=>n2,isAborted:()=>i3,intersection:()=>XX,instanceof:()=>pB,getParsedType:()=>SD,getErrorMap:()=>r2,function:()=>HX,enum:()=>UX,effect:()=>MX,discriminatedUnion:()=>BX,defaultErrorMap:()=>yD,datetimeRegex:()=>F7,date:()=>iB,custom:()=>J7,coerce:()=>LX,boolean:()=>Q7,bigint:()=>cB,array:()=>DX,any:()=>sB,addIssueToContext:()=>R,ZodVoid:()=>x0,ZodUnknown:()=>D2,ZodUnion:()=>D0,ZodUndefined:()=>t2,ZodType:()=>k,ZodTuple:()=>bD,ZodTransformer:()=>_D,ZodSymbol:()=>u0,ZodString:()=>RD,ZodSet:()=>E2,ZodSchema:()=>k,ZodRecord:()=>y0,ZodReadonly:()=>Y0,ZodPromise:()=>A2,ZodPipeline:()=>m0,ZodParsedType:()=>M,ZodOptional:()=>CD,ZodObject:()=>g,ZodNumber:()=>F2,ZodNullable:()=>gD,ZodNull:()=>e2,ZodNever:()=>ID,ZodNativeEnum:()=>B0,ZodNaN:()=>g0,ZodMap:()=>h0,ZodLiteral:()=>J0,ZodLazy:()=>$0,ZodIssueCode:()=>K,ZodIntersection:()=>F0,ZodFunction:()=>s2,ZodFirstPartyTypeKind:()=>N,ZodError:()=>XD,ZodEnum:()=>J2,ZodEffects:()=>_D,ZodDiscriminatedUnion:()=>n3,ZodDefault:()=>X0,ZodDate:()=>K2,ZodCatch:()=>Q0,ZodBranded:()=>o3,ZodBoolean:()=>a2,ZodBigInt:()=>$2,ZodArray:()=>OD,ZodAny:()=>M2,Schema:()=>k,ParseStatus:()=>n,OK:()=>e,NEVER:()=>ZX,INVALID:()=>T,EMPTY_PATH:()=>RB,DIRTY:()=>z2,BRAND:()=>mB});var _6=S(()=>{c3();O6();o5();w0();Y7();d3()});var s3=S(()=>{_6();_6()});var TX,NX,SX,IX,bX,vX,PX,kX,mD;var q7=S(()=>{s3();TX=E.object({name:E.string().default("genie"),defaultWindow:E.string().default("shell"),autoCreate:E.boolean().default(!0)}),NX=E.object({execTimeout:E.number().default(120000),readLines:E.number().default(100),worktreeBase:E.string().optional()}),SX=E.object({tmuxDebug:E.boolean().default(!1),verbose:E.boolean().default(!1)}),IX=E.object({preference:E.enum(["auto","zsh","bash","fish"]).default("auto")}),bX=E.object({tmuxInstalled:E.boolean().default(!1),shellInstalled:E.boolean().default(!1)}),vX=E.object({configured:E.boolean().default(!1)}),PX=E.object({launcher:E.preprocess((D)=>D==="claudio"?"claude":D,E.literal("claude")),claudeArgs:E.array(E.string())}).passthrough(),kX=E.object({left:E.string(),right:E.string(),skill:E.string().default("council")}),mD=E.object({version:E.number().default(2),session:TX.default({}),terminal:NX.default({}),logging:SX.default({}),shell:IX.default({}),shortcuts:bX.default({}),codex:vX.optional(),installMethod:E.enum(["source","npm","bun"]).optional(),updateChannel:E.enum(["latest","next"]).default("latest"),setupComplete:E.boolean().default(!1),lastSetupAt:E.string().optional(),sourcePath:E.string().optional(),workerProfiles:E.record(E.string(),PX).optional(),defaultWorkerProfile:E.string().optional(),councilPresets:E.record(E.string(),kX).optional(),defaultCouncilPreset:E.string().optional(),promptMode:E.enum(["append","system"]).default("append"),autoMergeDev:E.boolean().default(!1)})});import{existsSync as t3,mkdirSync as wX,readFileSync as G7,writeFileSync as fX}from"fs";import{homedir as H7}from"os";import{join as V7}from"path";function W7(){return a3}function l0(){return R2}function O2(){return t3(R2)}function uX(){if(!t3(a3))wX(a3,{recursive:!0})}async function VD(){if(!t3(R2))return mD.parse({});try{let D=G7(R2,"utf-8"),F=JSON.parse(D);return mD.parse(F)}catch(D){let F=D instanceof Error?D.message:String(D);return console.warn(`Warning: Invalid genie config, using defaults: ${F}`),mD.parse({})}}async function vD(D){uX();try{let F=mD.parse(D),$=JSON.stringify(F,null,2);fX(R2,$,"utf-8")}catch(F){let $=F instanceof Error?F.message:String(F);throw Error(`Failed to save genie config: ${$}`)}}function xX(){return mD.parse({})}function q0(){if(!t3(R2))return mD.parse({});try{let D=G7(R2,"utf-8"),F=JSON.parse(D);return mD.parse(F)}catch{return mD.parse({})}}function WD(D){let F=H7();if(D.startsWith(`${F}/`))return`~${D.slice(F.length)}`;if(D===F)return"~";return D}function U7(){return q0().terminal}function z7(){if(!O2())return!1;return q0().setupComplete??!1}async function K7(){let D=await VD();D.setupComplete=!0,D.lastSetupAt=new Date().toISOString(),await vD(D)}async function M7(){let D=xX();await vD(D)}async function E7(D){let F=await VD();F.shortcuts={...F.shortcuts,...D},await vD(F)}var a3,R2;var lD=S(()=>{q7();a3=V7(H7(),".genie"),R2=V7(a3,"config.json")});var $8=l((FM,_7)=>{var oX=P("tty"),sX=oX?.WriteStream?.prototype?.hasColors?.()??!1,v=(D,F)=>{if(!sX)return(B)=>B;let $=`\x1B[${D}m`,J=`\x1B[${F}m`;return(B)=>{let X=B+"",Q=X.indexOf(J);if(Q===-1)return $+X+J;let Y=$,q=0,H=(F===22?J:"")+$;while(Q!==-1)Y+=X.slice(q,Q)+H,q=Q+J.length,Q=X.indexOf(J,q);return Y+=X.slice(q)+J,Y}},b={};b.reset=v(0,0);b.bold=v(1,22);b.dim=v(2,22);b.italic=v(3,23);b.underline=v(4,24);b.overline=v(53,55);b.inverse=v(7,27);b.hidden=v(8,28);b.strikethrough=v(9,29);b.black=v(30,39);b.red=v(31,39);b.green=v(32,39);b.yellow=v(33,39);b.blue=v(34,39);b.magenta=v(35,39);b.cyan=v(36,39);b.white=v(37,39);b.gray=v(90,39);b.bgBlack=v(40,49);b.bgRed=v(41,49);b.bgGreen=v(42,49);b.bgYellow=v(43,49);b.bgBlue=v(44,49);b.bgMagenta=v(45,49);b.bgCyan=v(46,49);b.bgWhite=v(47,49);b.bgGray=v(100,49);b.redBright=v(91,39);b.greenBright=v(92,39);b.yellowBright=v(93,39);b.blueBright=v(94,39);b.magentaBright=v(95,39);b.cyanBright=v(96,39);b.whiteBright=v(97,39);b.bgRedBright=v(101,49);b.bgGreenBright=v(102,49);b.bgYellowBright=v(103,49);b.bgBlueBright=v(104,49);b.bgMagentaBright=v(105,49);b.bgCyanBright=v(106,49);b.bgWhiteBright=v(107,49);_7.exports=b});var b7=l((CM,I7)=>{I7.exports=BQ;function JQ(D){let F={defaultWidth:0,output:process.stdout,tty:P("tty")};if(!D)return F;return Object.keys(F).forEach(function($){if(!D[$])D[$]=F[$]}),D}function BQ(D){let F=JQ(D);if(F.output.getWindowSize)return F.output.getWindowSize()[0]||F.defaultWidth;if(F.tty.getWindowSize)return F.tty.getWindowSize()[1]||F.defaultWidth;if(F.output.columns)return F.output.columns;if(process.env.CLI_WIDTH){let $=parseInt(process.env.CLI_WIDTH,10);if(!isNaN($)&&$!==0)return $}return F.defaultWidth}});var P7=l((jM,v7)=>{v7.exports=({onlyFirst:D=!1}={})=>{let F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(F,D?void 0:"g")}});var v6=l((_M,k7)=>{var XQ=P7();k7.exports=(D)=>typeof D==="string"?D.replace(XQ(),""):D});var f7=l((LM,P6)=>{var w7=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};P6.exports=w7;P6.exports.default=w7});var x7=l((ZM,u7)=>{u7.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var h7=l((TM,k6)=>{var QQ=v6(),YQ=f7(),qQ=x7(),y7=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=QQ(D),D.length===0)return 0;D=D.replace(qQ()," ");let F=0;for(let $=0;$<D.length;$++){let J=D.codePointAt($);if(J<=31||J>=127&&J<=159)continue;if(J>=768&&J<=879)continue;if(J>65535)$++;F+=YQ(J)?2:1}return F};k6.exports=y7;k6.exports.default=y7});var m7=l((NM,g7)=>{g7.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var w6=l((SM,p7)=>{var n0=m7(),l7={};for(let D of Object.keys(n0))l7[n0[D]]=D;var j={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};p7.exports=j;for(let D of Object.keys(j)){if(!("channels"in j[D]))throw Error("missing channels property: "+D);if(!("labels"in j[D]))throw Error("missing channel labels property: "+D);if(j[D].labels.length!==j[D].channels)throw Error("channel and label counts mismatch: "+D);let{channels:F,labels:$}=j[D];delete j[D].channels,delete j[D].labels,Object.defineProperty(j[D],"channels",{value:F}),Object.defineProperty(j[D],"labels",{value:$})}j.rgb.hsl=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255,B=Math.min(F,$,J),X=Math.max(F,$,J),Q=X-B,Y,q;if(X===B)Y=0;else if(F===X)Y=($-J)/Q;else if($===X)Y=2+(J-F)/Q;else if(J===X)Y=4+(F-$)/Q;if(Y=Math.min(Y*60,360),Y<0)Y+=360;let G=(B+X)/2;if(X===B)q=0;else if(G<=0.5)q=Q/(X+B);else q=Q/(2-X-B);return[Y,q*100,G*100]};j.rgb.hsv=function(D){let F,$,J,B,X,Q=D[0]/255,Y=D[1]/255,q=D[2]/255,G=Math.max(Q,Y,q),H=G-Math.min(Q,Y,q),V=function(U){return(G-U)/6/H+0.5};if(H===0)B=0,X=0;else{if(X=H/G,F=V(Q),$=V(Y),J=V(q),Q===G)B=J-$;else if(Y===G)B=0.3333333333333333+F-J;else if(q===G)B=0.6666666666666666+$-F;if(B<0)B+=1;else if(B>1)B-=1}return[B*360,X*100,G*100]};j.rgb.hwb=function(D){let F=D[0],$=D[1],J=D[2],B=j.rgb.hsl(D)[0],X=0.00392156862745098*Math.min(F,Math.min($,J));return J=1-0.00392156862745098*Math.max(F,Math.max($,J)),[B,X*100,J*100]};j.rgb.cmyk=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255,B=Math.min(1-F,1-$,1-J),X=(1-F-B)/(1-B)||0,Q=(1-$-B)/(1-B)||0,Y=(1-J-B)/(1-B)||0;return[X*100,Q*100,Y*100,B*100]};function GQ(D,F){return(D[0]-F[0])**2+(D[1]-F[1])**2+(D[2]-F[2])**2}j.rgb.keyword=function(D){let F=l7[D];if(F)return F;let $=1/0,J;for(let B of Object.keys(n0)){let X=n0[B],Q=GQ(D,X);if(Q<$)$=Q,J=B}return J};j.keyword.rgb=function(D){return n0[D]};j.rgb.xyz=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255;F=F>0.04045?((F+0.055)/1.055)**2.4:F/12.92,$=$>0.04045?(($+0.055)/1.055)**2.4:$/12.92,J=J>0.04045?((J+0.055)/1.055)**2.4:J/12.92;let B=F*0.4124+$*0.3576+J*0.1805,X=F*0.2126+$*0.7152+J*0.0722,Q=F*0.0193+$*0.1192+J*0.9505;return[B*100,X*100,Q*100]};j.rgb.lab=function(D){let F=j.rgb.xyz(D),$=F[0],J=F[1],B=F[2];$/=95.047,J/=100,B/=108.883,$=$>0.008856?$**0.3333333333333333:7.787*$+0.13793103448275862,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862,B=B>0.008856?B**0.3333333333333333:7.787*B+0.13793103448275862;let X=116*J-16,Q=500*($-J),Y=200*(J-B);return[X,Q,Y]};j.hsl.rgb=function(D){let F=D[0]/360,$=D[1]/100,J=D[2]/100,B,X,Q;if($===0)return Q=J*255,[Q,Q,Q];if(J<0.5)B=J*(1+$);else B=J+$-J*$;let Y=2*J-B,q=[0,0,0];for(let G=0;G<3;G++){if(X=F+0.3333333333333333*-(G-1),X<0)X++;if(X>1)X--;if(6*X<1)Q=Y+(B-Y)*6*X;else if(2*X<1)Q=B;else if(3*X<2)Q=Y+(B-Y)*(0.6666666666666666-X)*6;else Q=Y;q[G]=Q*255}return q};j.hsl.hsv=function(D){let F=D[0],$=D[1]/100,J=D[2]/100,B=$,X=Math.max(J,0.01);J*=2,$*=J<=1?J:2-J,B*=X<=1?X:2-X;let Q=(J+$)/2,Y=J===0?2*B/(X+B):2*$/(J+$);return[F,Y*100,Q*100]};j.hsv.rgb=function(D){let F=D[0]/60,$=D[1]/100,J=D[2]/100,B=Math.floor(F)%6,X=F-Math.floor(F),Q=255*J*(1-$),Y=255*J*(1-$*X),q=255*J*(1-$*(1-X));switch(J*=255,B){case 0:return[J,q,Q];case 1:return[Y,J,Q];case 2:return[Q,J,q];case 3:return[Q,Y,J];case 4:return[q,Q,J];case 5:return[J,Q,Y]}};j.hsv.hsl=function(D){let F=D[0],$=D[1]/100,J=D[2]/100,B=Math.max(J,0.01),X,Q;Q=(2-$)*J;let Y=(2-$)*B;return X=$*B,X/=Y<=1?Y:2-Y,X=X||0,Q/=2,[F,X*100,Q*100]};j.hwb.rgb=function(D){let F=D[0]/360,$=D[1]/100,J=D[2]/100,B=$+J,X;if(B>1)$/=B,J/=B;let Q=Math.floor(6*F),Y=1-J;if(X=6*F-Q,(Q&1)!==0)X=1-X;let q=$+X*(Y-$),G,H,V;switch(Q){default:case 6:case 0:G=Y,H=q,V=$;break;case 1:G=q,H=Y,V=$;break;case 2:G=$,H=Y,V=q;break;case 3:G=$,H=q,V=Y;break;case 4:G=q,H=$,V=Y;break;case 5:G=Y,H=$,V=q;break}return[G*255,H*255,V*255]};j.cmyk.rgb=function(D){let F=D[0]/100,$=D[1]/100,J=D[2]/100,B=D[3]/100,X=1-Math.min(1,F*(1-B)+B),Q=1-Math.min(1,$*(1-B)+B),Y=1-Math.min(1,J*(1-B)+B);return[X*255,Q*255,Y*255]};j.xyz.rgb=function(D){let F=D[0]/100,$=D[1]/100,J=D[2]/100,B,X,Q;return B=F*3.2406+$*-1.5372+J*-0.4986,X=F*-0.9689+$*1.8758+J*0.0415,Q=F*0.0557+$*-0.204+J*1.057,B=B>0.0031308?1.055*B**0.4166666666666667-0.055:B*12.92,X=X>0.0031308?1.055*X**0.4166666666666667-0.055:X*12.92,Q=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92,B=Math.min(Math.max(0,B),1),X=Math.min(Math.max(0,X),1),Q=Math.min(Math.max(0,Q),1),[B*255,X*255,Q*255]};j.xyz.lab=function(D){let F=D[0],$=D[1],J=D[2];F/=95.047,$/=100,J/=108.883,F=F>0.008856?F**0.3333333333333333:7.787*F+0.13793103448275862,$=$>0.008856?$**0.3333333333333333:7.787*$+0.13793103448275862,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862;let B=116*$-16,X=500*(F-$),Q=200*($-J);return[B,X,Q]};j.lab.xyz=function(D){let F=D[0],$=D[1],J=D[2],B,X,Q;X=(F+16)/116,B=$/500+X,Q=X-J/200;let Y=X**3,q=B**3,G=Q**3;return X=Y>0.008856?Y:(X-0.13793103448275862)/7.787,B=q>0.008856?q:(B-0.13793103448275862)/7.787,Q=G>0.008856?G:(Q-0.13793103448275862)/7.787,B*=95.047,X*=100,Q*=108.883,[B,X,Q]};j.lab.lch=function(D){let F=D[0],$=D[1],J=D[2],B;if(B=Math.atan2(J,$)*360/2/Math.PI,B<0)B+=360;let Q=Math.sqrt($*$+J*J);return[F,Q,B]};j.lch.lab=function(D){let F=D[0],$=D[1],B=D[2]/360*2*Math.PI,X=$*Math.cos(B),Q=$*Math.sin(B);return[F,X,Q]};j.rgb.ansi16=function(D,F=null){let[$,J,B]=D,X=F===null?j.rgb.hsv(D)[2]:F;if(X=Math.round(X/50),X===0)return 30;let Q=30+(Math.round(B/255)<<2|Math.round(J/255)<<1|Math.round($/255));if(X===2)Q+=60;return Q};j.hsv.ansi16=function(D){return j.rgb.ansi16(j.hsv.rgb(D),D[2])};j.rgb.ansi256=function(D){let F=D[0],$=D[1],J=D[2];if(F===$&&$===J){if(F<8)return 16;if(F>248)return 231;return Math.round((F-8)/247*24)+232}return 16+36*Math.round(F/255*5)+6*Math.round($/255*5)+Math.round(J/255*5)};j.ansi16.rgb=function(D){let F=D%10;if(F===0||F===7){if(D>50)F+=3.5;return F=F/10.5*255,[F,F,F]}let $=(~~(D>50)+1)*0.5,J=(F&1)*$*255,B=(F>>1&1)*$*255,X=(F>>2&1)*$*255;return[J,B,X]};j.ansi256.rgb=function(D){if(D>=232){let X=(D-232)*10+8;return[X,X,X]}D-=16;let F,$=Math.floor(D/36)/5*255,J=Math.floor((F=D%36)/6)/5*255,B=F%6/5*255;return[$,J,B]};j.rgb.hex=function(D){let $=(((Math.round(D[0])&255)<<16)+((Math.round(D[1])&255)<<8)+(Math.round(D[2])&255)).toString(16).toUpperCase();return"000000".substring($.length)+$};j.hex.rgb=function(D){let F=D.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!F)return[0,0,0];let $=F[0];if(F[0].length===3)$=$.split("").map((Y)=>{return Y+Y}).join("");let J=parseInt($,16),B=J>>16&255,X=J>>8&255,Q=J&255;return[B,X,Q]};j.rgb.hcg=function(D){let F=D[0]/255,$=D[1]/255,J=D[2]/255,B=Math.max(Math.max(F,$),J),X=Math.min(Math.min(F,$),J),Q=B-X,Y,q;if(Q<1)Y=X/(1-Q);else Y=0;if(Q<=0)q=0;else if(B===F)q=($-J)/Q%6;else if(B===$)q=2+(J-F)/Q;else q=4+(F-$)/Q;return q/=6,q%=1,[q*360,Q*100,Y*100]};j.hsl.hcg=function(D){let F=D[1]/100,$=D[2]/100,J=$<0.5?2*F*$:2*F*(1-$),B=0;if(J<1)B=($-0.5*J)/(1-J);return[D[0],J*100,B*100]};j.hsv.hcg=function(D){let F=D[1]/100,$=D[2]/100,J=F*$,B=0;if(J<1)B=($-J)/(1-J);return[D[0],J*100,B*100]};j.hcg.rgb=function(D){let F=D[0]/360,$=D[1]/100,J=D[2]/100;if($===0)return[J*255,J*255,J*255];let B=[0,0,0],X=F%1*6,Q=X%1,Y=1-Q,q=0;switch(Math.floor(X)){case 0:B[0]=1,B[1]=Q,B[2]=0;break;case 1:B[0]=Y,B[1]=1,B[2]=0;break;case 2:B[0]=0,B[1]=1,B[2]=Q;break;case 3:B[0]=0,B[1]=Y,B[2]=1;break;case 4:B[0]=Q,B[1]=0,B[2]=1;break;default:B[0]=1,B[1]=0,B[2]=Y}return q=(1-$)*J,[($*B[0]+q)*255,($*B[1]+q)*255,($*B[2]+q)*255]};j.hcg.hsv=function(D){let F=D[1]/100,$=D[2]/100,J=F+$*(1-F),B=0;if(J>0)B=F/J;return[D[0],B*100,J*100]};j.hcg.hsl=function(D){let F=D[1]/100,J=D[2]/100*(1-F)+0.5*F,B=0;if(J>0&&J<0.5)B=F/(2*J);else if(J>=0.5&&J<1)B=F/(2*(1-J));return[D[0],B*100,J*100]};j.hcg.hwb=function(D){let F=D[1]/100,$=D[2]/100,J=F+$*(1-F);return[D[0],(J-F)*100,(1-J)*100]};j.hwb.hcg=function(D){let F=D[1]/100,J=1-D[2]/100,B=J-F,X=0;if(B<1)X=(J-B)/(1-B);return[D[0],B*100,X*100]};j.apple.rgb=function(D){return[D[0]/65535*255,D[1]/65535*255,D[2]/65535*255]};j.rgb.apple=function(D){return[D[0]/255*65535,D[1]/255*65535,D[2]/255*65535]};j.gray.rgb=function(D){return[D[0]/100*255,D[0]/100*255,D[0]/100*255]};j.gray.hsl=function(D){return[0,0,D[0]]};j.gray.hsv=j.gray.hsl;j.gray.hwb=function(D){return[0,100,D[0]]};j.gray.cmyk=function(D){return[0,0,0,D[0]]};j.gray.lab=function(D){return[D[0],0,0]};j.gray.hex=function(D){let F=Math.round(D[0]/100*255)&255,J=((F<<16)+(F<<8)+F).toString(16).toUpperCase();return"000000".substring(J.length)+J};j.rgb.gray=function(D){return[(D[0]+D[1]+D[2])/3/255*100]}});var c7=l((IM,d7)=>{var J8=w6();function HQ(){let D={},F=Object.keys(J8);for(let $=F.length,J=0;J<$;J++)D[F[J]]={distance:-1,parent:null};return D}function VQ(D){let F=HQ(),$=[D];F[D].distance=0;while($.length){let J=$.pop(),B=Object.keys(J8[J]);for(let X=B.length,Q=0;Q<X;Q++){let Y=B[Q],q=F[Y];if(q.distance===-1)q.distance=F[J].distance+1,q.parent=J,$.unshift(Y)}}return F}function WQ(D,F){return function($){return F(D($))}}function UQ(D,F){let $=[F[D].parent,D],J=J8[F[D].parent][D],B=F[D].parent;while(F[B].parent)$.unshift(F[B].parent),J=WQ(J8[F[B].parent][B],J),B=F[B].parent;return J.conversion=$,J}d7.exports=function(D){let F=VQ(D),$={},J=Object.keys(F);for(let B=J.length,X=0;X<B;X++){let Q=J[X];if(F[Q].parent===null)continue;$[Q]=UQ(Q,F)}return $}});var r7=l((bM,i7)=>{var f6=w6(),zQ=c7(),V0={},KQ=Object.keys(f6);function MQ(D){let F=function(...$){let J=$[0];if(J===void 0||J===null)return J;if(J.length>1)$=J;return D($)};if("conversion"in D)F.conversion=D.conversion;return F}function EQ(D){let F=function(...$){let J=$[0];if(J===void 0||J===null)return J;if(J.length>1)$=J;let B=D($);if(typeof B==="object")for(let X=B.length,Q=0;Q<X;Q++)B[Q]=Math.round(B[Q]);return B};if("conversion"in D)F.conversion=D.conversion;return F}KQ.forEach((D)=>{V0[D]={},Object.defineProperty(V0[D],"channels",{value:f6[D].channels}),Object.defineProperty(V0[D],"labels",{value:f6[D].labels});let F=zQ(D);Object.keys(F).forEach((J)=>{let B=F[J];V0[D][J]=EQ(B),V0[D][J].raw=MQ(B)})});i7.exports=V0});var e7=l((vM,t7)=>{var n7=(D,F)=>(...$)=>{return`\x1B[${D(...$)+F}m`},o7=(D,F)=>(...$)=>{let J=D(...$);return`\x1B[${38+F};5;${J}m`},s7=(D,F)=>(...$)=>{let J=D(...$);return`\x1B[${38+F};2;${J[0]};${J[1]};${J[2]}m`},B8=(D)=>D,a7=(D,F,$)=>[D,F,$],W0=(D,F,$)=>{Object.defineProperty(D,F,{get:()=>{let J=$();return Object.defineProperty(D,F,{value:J,enumerable:!0,configurable:!0}),J},enumerable:!0,configurable:!0})},u6,U0=(D,F,$,J)=>{if(u6===void 0)u6=r7();let B=J?10:0,X={};for(let[Q,Y]of Object.entries(u6)){let q=Q==="ansi16"?"ansi":Q;if(Q===F)X[q]=D($,B);else if(typeof Y==="object")X[q]=D(Y[F],B)}return X};function AQ(){let D=new Map,F={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};F.color.gray=F.color.blackBright,F.bgColor.bgGray=F.bgColor.bgBlackBright,F.color.grey=F.color.blackBright,F.bgColor.bgGrey=F.bgColor.bgBlackBright;for(let[$,J]of Object.entries(F)){for(let[B,X]of Object.entries(J))F[B]={open:`\x1B[${X[0]}m`,close:`\x1B[${X[1]}m`},J[B]=F[B],D.set(X[0],X[1]);Object.defineProperty(F,$,{value:J,enumerable:!1})}return Object.defineProperty(F,"codes",{value:D,enumerable:!1}),F.color.close="\x1B[39m",F.bgColor.close="\x1B[49m",W0(F.color,"ansi",()=>U0(n7,"ansi16",B8,!1)),W0(F.color,"ansi256",()=>U0(o7,"ansi256",B8,!1)),W0(F.color,"ansi16m",()=>U0(s7,"rgb",a7,!1)),W0(F.bgColor,"ansi",()=>U0(n7,"ansi16",B8,!0)),W0(F.bgColor,"ansi256",()=>U0(o7,"ansi256",B8,!0)),W0(F.bgColor,"ansi16m",()=>U0(s7,"rgb",a7,!0)),F}Object.defineProperty(t7,"exports",{enumerable:!0,get:AQ})});var $9=l((PM,F9)=>{var o0=h7(),RQ=v6(),OQ=e7(),y6=new Set(["\x1B","\x9B"]),D9=(D)=>`${y6.values().next().value}[${D}m`,CQ=(D)=>D.split(" ").map((F)=>o0(F)),x6=(D,F,$)=>{let J=[...F],B=!1,X=o0(RQ(D[D.length-1]));for(let[Q,Y]of J.entries()){let q=o0(Y);if(X+q<=$)D[D.length-1]+=Y;else D.push(Y),X=0;if(y6.has(Y))B=!0;else if(B&&Y==="m"){B=!1;continue}if(B)continue;if(X+=q,X===$&&Q<J.length-1)D.push(""),X=0}if(!X&&D[D.length-1].length>0&&D.length>1)D[D.length-2]+=D.pop()},jQ=(D)=>{let F=D.split(" "),$=F.length;while($>0){if(o0(F[$-1])>0)break;$--}if($===F.length)return D;return F.slice(0,$).join(" ")+F.slice($).join("")},_Q=(D,F,$={})=>{if($.trim!==!1&&D.trim()==="")return"";let J="",B="",X,Q=CQ(D),Y=[""];for(let[q,G]of D.split(" ").entries()){if($.trim!==!1)Y[Y.length-1]=Y[Y.length-1].trimLeft();let H=o0(Y[Y.length-1]);if(q!==0){if(H>=F&&($.wordWrap===!1||$.trim===!1))Y.push(""),H=0;if(H>0||$.trim===!1)Y[Y.length-1]+=" ",H++}if($.hard&&Q[q]>F){let V=F-H,U=1+Math.floor((Q[q]-V-1)/F);if(Math.floor((Q[q]-1)/F)<U)Y.push("");x6(Y,G,F);continue}if(H+Q[q]>F&&H>0&&Q[q]>0){if($.wordWrap===!1&&H<F){x6(Y,G,F);continue}Y.push("")}if(H+Q[q]>F&&$.wordWrap===!1){x6(Y,G,F);continue}Y[Y.length-1]+=G}if($.trim!==!1)Y=Y.map(jQ);J=Y.join(`
25
25
  `);for(let[q,G]of[...J].entries()){if(B+=G,y6.has(G)){let V=parseFloat(/\d[^m]*/.exec(J.slice(q,q+4)));X=V===39?null:V}let H=OQ.codes.get(Number(X));if(X&&H){if(J[q+1]===`
26
26
  `)B+=D9(H);else if(G===`
27
27
  `)B+=D9(X)}}return B};F9.exports=(D,F,$)=>{return String(D).normalize().replace(/\r\n/g,`
@@ -37,11 +37,11 @@ ${F}`),changed:!0}}function gQ(D){if(D.includes("disable_paste_burst"))return{co
37
37
  ${D.slice(F)}`,changed:!0};if(F===0)return{content:`disable_paste_burst = true
38
38
  ${D}`,changed:!0};return{content:`${D}
39
39
  disable_paste_burst = true
40
- `,changed:!0}}function a0(){try{uQ(L9,{recursive:!0});let D=C9(M0)?j9(M0,"utf-8"):"",F=!1,$=hQ(D);D=$.content,F=F||$.changed;let J=gQ(D);if(D=J.content,F=F||J.changed,F)xQ(M0,D);return F?"changed":"unchanged"}catch{return"error"}}function T9(){return M0}var E0=14318,L9,M0;var s6=S(()=>{L9=_9(yQ(),".codex"),M0=_9(L9,"config.toml")});import{open as PY,stat as kY,unlink as Q1}from"fs/promises";async function xY(D){try{let F=await kY(D);if(Date.now()-F.mtimeMs>uY){try{await Q1(D)}catch{}return!0}}catch{return!0}return!1}async function yY(D){try{let F=await PY(D,"wx");return await F.writeFile(String(process.pid)),await F.close(),async()=>{try{await Q1(D)}catch{}}}catch(F){if((F instanceof Error&&"code"in F?F.code:void 0)!=="EEXIST")throw F;return null}}async function HD(D){let F=`${D}.lock`,$=Date.now()+wY;while(!0){let J=await yY(F);if(J)return J;if(await xY(F))continue;if(Date.now()>$){try{await Q1(F)}catch{throw Error(`Lock timeout: could not remove stale lock at ${F}`)}continue}await new Promise((X)=>setTimeout(X,fY))}}var wY=5000,fY=50,uY=1e4;var w2=()=>{};var zD={};JD(zD,{update:()=>q1,unregister:()=>wD,saveTemplate:()=>j0,removeSubPane:()=>sY,register:()=>f2,listTemplates:()=>$3,list:()=>p,getPane:()=>oY,getElapsedTime:()=>H1,get:()=>iD,findByWindow:()=>rY,findByTask:()=>G1,findByPane:()=>iY,addSubPane:()=>nY});import{mkdir as hY,readFile as gY,writeFile as mY}from"fs/promises";import{homedir as lY}from"os";import{dirname as pY,join as B4}from"path";function dY(){return process.env.GENIE_HOME??B4(lY(),".genie")}function Y1(){return B4(dY(),"workers.json")}async function F3(D){try{let F=D??Y1(),$=await gY(F,"utf-8"),J=JSON.parse($);if(!J.templates)J.templates={};return J}catch{return{workers:{},templates:{},lastUpdated:new Date().toISOString()}}}async function cY(D,F){let $=F??Y1();await hY(pY($),{recursive:!0}),D.lastUpdated=new Date().toISOString(),await mY($,JSON.stringify(D,null,2))}async function C0(D,F){let $=F??Y1(),J=await HD($);try{let B=await F3(F),X=await D(B);return await cY(B,F),X}finally{await J()}}async function f2(D){await C0((F)=>{F.workers[D.id]=D})}async function wD(D){await C0((F)=>{delete F.workers[D]})}async function iD(D){return(await F3()).workers[D]??null}async function p(){let D=await F3();return Object.values(D.workers)}async function q1(D,F){await C0(($)=>{let J=$.workers[D];if(J){if(Object.assign(J,F),F.state)J.lastStateChange=new Date().toISOString()}})}async function iY(D){let F=await p(),$=D.startsWith("%")?D:`%${D}`;return F.find((J)=>J.paneId===$)??null}async function rY(D){let F=await p(),$=D.startsWith("@")?D:`@${D}`;return F.find((J)=>J.windowId===$)??null}async function G1(D){return(await p()).find(($)=>$.taskId===D)??null}function H1(D){let F=new Date(D.startedAt).getTime(),$=Date.now()-F,J=Math.floor($/60000),B=Math.floor(J/60),X;if(B>0)X=`${B}h ${J%60}m`;else if(J>0)X=`${J}m`;else X="<1m";return{ms:$,formatted:X}}async function nY(D,F,$){await C0((J)=>{let B=J.workers[D];if(!B)return;if(!B.subPanes)B.subPanes=[];B.subPanes.push(F)},$)}async function oY(D,F,$){let B=(await F3($)).workers[D];if(!B)return null;if(F===0)return B.paneId;let X=F-1;if(!B.subPanes||X>=B.subPanes.length||X<0)return null;return B.subPanes[X]}async function sY(D,F,$){await C0((J)=>{let B=J.workers[D];if(!B||!B.subPanes)return;B.subPanes=B.subPanes.filter((X)=>X!==F)},$)}async function j0(D){await C0((F)=>{F.templates[D.id]=D})}async function $3(){let D=await F3();return Object.values(D.templates??{})}var KD=S(()=>{w2()});function B3(D){return aY.parse(D)}function s(D){return`'${D.replace(/'/g,"'\\''")}'`}function tY(D){try{let F=Bun;if(typeof F.which==="function")return Boolean(F.which(D));let{execSync:$}=P("child_process");return $(`which ${D}`,{stdio:"ignore"}),!0}catch{return!1}}function X4(D){if(!tY(D))throw Error(`Provider binary "${D}" not found on PATH. Install ${D} or check your environment.`)}function eY(D,F,$,J){F.CLAUDECODE="1",F.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS="1";let B=$.agentName??J.role??"worker";if(F.GENIE_AGENT_NAME=B,D.push("--agent-id",s(`${B}@${J.team}`)),D.push("--agent-name",s(B)),D.push("--team-name",s(J.team)),$.color)D.push("--agent-color",s($.color));if($.parentSessionId)D.push("--parent-session-id",s($.parentSessionId));if($.agentType)D.push("--agent-type",s($.agentType));if($.planModeRequired)D.push("--plan-mode-required");if($.permissionMode)D.push("--permission-mode",s($.permissionMode))}function Dq(D,F){if(F.systemPrompt){let{mkdirSync:$,writeFileSync:J,readFileSync:B}=P("fs"),{join:X}=P("path"),Q="/tmp/genie-prompts";$("/tmp/genie-prompts",{recursive:!0});let Y=Date.now().toString(36),q=X("/tmp/genie-prompts",`${F.role||"agent"}-${Y}.md`),G=F.systemPrompt;if(F.systemPromptFile)G=`${B(F.systemPromptFile,"utf-8")}
40
+ `,changed:!0}}function a0(){try{uQ(L9,{recursive:!0});let D=C9(M0)?j9(M0,"utf-8"):"",F=!1,$=hQ(D);D=$.content,F=F||$.changed;let J=gQ(D);if(D=J.content,F=F||J.changed,F)xQ(M0,D);return F?"changed":"unchanged"}catch{return"error"}}function T9(){return M0}var E0=14318,L9,M0;var s6=S(()=>{L9=_9(yQ(),".codex"),M0=_9(L9,"config.toml")});import{open as PY,stat as kY,unlink as Q1}from"fs/promises";async function xY(D){try{let F=await kY(D);if(Date.now()-F.mtimeMs>uY){try{await Q1(D)}catch{}return!0}}catch{return!0}return!1}async function yY(D){try{let F=await PY(D,"wx");return await F.writeFile(String(process.pid)),await F.close(),async()=>{try{await Q1(D)}catch{}}}catch(F){if((F instanceof Error&&"code"in F?F.code:void 0)!=="EEXIST")throw F;return null}}async function HD(D){let F=`${D}.lock`,$=Date.now()+wY;while(!0){let J=await yY(F);if(J)return J;if(await xY(F))continue;if(Date.now()>$){try{await Q1(F)}catch{throw Error(`Lock timeout: could not remove stale lock at ${F}`)}continue}await new Promise((X)=>setTimeout(X,fY))}}var wY=5000,fY=50,uY=1e4;var w2=()=>{};var zD={};BD(zD,{update:()=>q1,unregister:()=>wD,saveTemplate:()=>j0,removeSubPane:()=>sY,register:()=>f2,listTemplates:()=>$3,list:()=>p,getPane:()=>oY,getElapsedTime:()=>H1,get:()=>iD,findByWindow:()=>rY,findByTask:()=>G1,findByPane:()=>iY,addSubPane:()=>nY});import{mkdir as hY,readFile as gY,writeFile as mY}from"fs/promises";import{homedir as lY}from"os";import{dirname as pY,join as B4}from"path";function dY(){return process.env.GENIE_HOME??B4(lY(),".genie")}function Y1(){return B4(dY(),"workers.json")}async function F3(D){try{let F=D??Y1(),$=await gY(F,"utf-8"),J=JSON.parse($);if(!J.templates)J.templates={};return J}catch{return{workers:{},templates:{},lastUpdated:new Date().toISOString()}}}async function cY(D,F){let $=F??Y1();await hY(pY($),{recursive:!0}),D.lastUpdated=new Date().toISOString(),await mY($,JSON.stringify(D,null,2))}async function C0(D,F){let $=F??Y1(),J=await HD($);try{let B=await F3(F),X=await D(B);return await cY(B,F),X}finally{await J()}}async function f2(D){await C0((F)=>{F.workers[D.id]=D})}async function wD(D){await C0((F)=>{delete F.workers[D]})}async function iD(D){return(await F3()).workers[D]??null}async function p(){let D=await F3();return Object.values(D.workers)}async function q1(D,F){await C0(($)=>{let J=$.workers[D];if(J){if(Object.assign(J,F),F.state)J.lastStateChange=new Date().toISOString()}})}async function iY(D){let F=await p(),$=D.startsWith("%")?D:`%${D}`;return F.find((J)=>J.paneId===$)??null}async function rY(D){let F=await p(),$=D.startsWith("@")?D:`@${D}`;return F.find((J)=>J.windowId===$)??null}async function G1(D){return(await p()).find(($)=>$.taskId===D)??null}function H1(D){let F=new Date(D.startedAt).getTime(),$=Date.now()-F,J=Math.floor($/60000),B=Math.floor(J/60),X;if(B>0)X=`${B}h ${J%60}m`;else if(J>0)X=`${J}m`;else X="<1m";return{ms:$,formatted:X}}async function nY(D,F,$){await C0((J)=>{let B=J.workers[D];if(!B)return;if(!B.subPanes)B.subPanes=[];B.subPanes.push(F)},$)}async function oY(D,F,$){let B=(await F3($)).workers[D];if(!B)return null;if(F===0)return B.paneId;let X=F-1;if(!B.subPanes||X>=B.subPanes.length||X<0)return null;return B.subPanes[X]}async function sY(D,F,$){await C0((J)=>{let B=J.workers[D];if(!B||!B.subPanes)return;B.subPanes=B.subPanes.filter((X)=>X!==F)},$)}async function j0(D){await C0((F)=>{F.templates[D.id]=D})}async function $3(){let D=await F3();return Object.values(D.templates??{})}var KD=S(()=>{w2()});function B3(D){return aY.parse(D)}function s(D){return`'${D.replace(/'/g,"'\\''")}'`}function tY(D){try{let F=Bun;if(typeof F.which==="function")return Boolean(F.which(D));let{execSync:$}=P("child_process");return $(`which ${D}`,{stdio:"ignore"}),!0}catch{return!1}}function X4(D){if(!tY(D))throw Error(`Provider binary "${D}" not found on PATH. Install ${D} or check your environment.`)}function eY(D,F,$,J){F.CLAUDECODE="1",F.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS="1";let B=$.agentName??J.role??"worker";if(F.GENIE_AGENT_NAME=B,D.push("--agent-id",s(`${B}@${J.team}`)),D.push("--agent-name",s(B)),D.push("--team-name",s(J.team)),$.color)D.push("--agent-color",s($.color));if($.parentSessionId)D.push("--parent-session-id",s($.parentSessionId));if($.agentType)D.push("--agent-type",s($.agentType));if($.planModeRequired)D.push("--plan-mode-required");if($.permissionMode)D.push("--permission-mode",s($.permissionMode))}function Dq(D,F){if(F.systemPrompt){let{mkdirSync:$,writeFileSync:J,readFileSync:B}=P("fs"),{join:X}=P("path"),Q="/tmp/genie-prompts";$("/tmp/genie-prompts",{recursive:!0});let Y=Date.now().toString(36),q=X("/tmp/genie-prompts",`${F.role||"agent"}-${Y}.md`),G=F.systemPrompt;if(F.systemPromptFile)G=`${B(F.systemPromptFile,"utf-8")}
41
41
 
42
42
  ${G}`;if(F.extraArgs){let V=F.extraArgs.indexOf("--append-system-prompt-file");if(V!==-1&&F.extraArgs[V+1])G=`${G}
43
43
 
44
- ${B(F.extraArgs[V+1],"utf-8")}`,F.extraArgs.splice(V,2)}J(q,G);let H=F.promptMode==="system"?"--system-prompt-file":"--append-system-prompt-file";D.push(H,s(q))}else if(F.systemPromptFile){let $=F.promptMode==="system"?"--system-prompt-file":"--append-system-prompt-file";D.push($,s(F.systemPromptFile))}}function Fq(D){X4("claude");let F=["claude","--dangerously-skip-permissions"],$={};if(D.role)$.GENIE_AGENT_NAME=D.role;if(D.team)$.GENIE_TEAM=D.team;if(D.nativeTeam?.enabled)eY(F,$,D.nativeTeam,D);if(D.resume)F.push("--resume",s(D.resume));else if(D.sessionId)F.push("--session-id",s(D.sessionId));if(D.role)F.push("--agent",s(D.role));if(D.model)F.push("--model",s(D.model));if(Dq(F,D),D.extraArgs)for(let J of D.extraArgs)F.push(s(J));if(D.initialPrompt)F.push(s(D.initialPrompt));return{command:F.join(" "),provider:"claude",env:Object.keys($).length>0?$:void 0,meta:{role:D.role,skill:D.skill}}}function $q(D){X4("codex");let F=["codex"];if(F.push("--yolo"),F.push("--no-alt-screen"),D.extraArgs)for(let B of D.extraArgs)F.push(s(B));let $=[`Genie worker. Team: ${D.team}.`];if(D.role)$.push(`Role: ${D.role}.`);if(D.skill)$.push(`Execute the ${D.skill} skill instructions.`);let J=$.join(" ");return F.push(s(J)),{command:F.join(" "),provider:"codex",meta:{role:D.role,skill:D.skill}}}function U8(D){let F=B3(D);switch(F.provider){case"claude":return Fq(F);case"codex":return $q(F);default:throw Error(`Unknown provider "${F.provider}". Valid providers: claude, codex`)}}var J3,aY;var z8=S(()=>{s3();J3=["red","blue","green","yellow","purple","orange","pink","cyan"],aY=E.object({provider:E.enum(["claude","codex"]),team:E.string().min(1,"Team name is required"),role:E.string().optional(),skill:E.string().optional(),extraArgs:E.array(E.string()).optional(),nativeTeam:E.object({enabled:E.boolean(),parentSessionId:E.string().optional(),color:E.string().optional(),agentType:E.string().optional(),planModeRequired:E.boolean().optional(),permissionMode:E.string().optional(),agentName:E.string().optional()}).optional(),sessionId:E.string().uuid().optional(),resume:E.string().uuid().optional(),systemPromptFile:E.string().optional(),systemPrompt:E.string().optional(),promptMode:E.enum(["system","append"]).optional(),model:E.string().optional(),initialPrompt:E.string().optional()})});import{existsSync as W1}from"fs";import{mkdir as V1,readFile as U1,readdir as Y4,rm as Jq,stat as Bq,unlink as Xq,writeFile as u2}from"fs/promises";import{homedir as Qq}from"os";import{join as rD}from"path";function q4(){return process.env.CLAUDE_CONFIG_DIR??rD(Qq(),".claude")}function G4(){return rD(q4(),"teams")}function r(D){return D.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function K8(D){return rD(G4(),r(D))}function H4(D){return rD(K8(D),"config.json")}function z1(D){return rD(K8(D),"inboxes")}function M8(D,F){return rD(z1(D),`${r(F)}.json`)}function V4(D){return`${D}.lock`}async function W4(D){let F=V4(D),$=Date.now()+Yq;while(Date.now()<$)try{await u2(F,String(process.pid),{flag:"wx"});return}catch{let J=Math.floor(Math.random()*Q4);await new Promise((B)=>setTimeout(B,Q4+J))}console.warn(`[claude-native-teams] Force-acquiring stale lock: ${F}`),await u2(F,String(process.pid))}async function U4(D){try{await Xq(V4(D))}catch{}}async function x2(D){try{let F=await U1(H4(D),"utf-8");return JSON.parse(F)}catch(F){if(F instanceof Error&&"code"in F&&F.code==="ENOENT")return null;let $=F instanceof Error?F.message:String(F);return console.warn(`[claude-native-teams] Failed to load config for "${D}": ${$}`),null}}async function X3(D,F){await u2(H4(D),JSON.stringify(F,null,2))}async function y2(D,F,$){let J=K8(D),B=z1(D);await V1(J,{recursive:!0}),await V1(B,{recursive:!0});let X=await x2(D);if(X)return X;let Q=r(D),Y={name:Q,description:F,createdAt:Date.now(),leadAgentId:`team-lead@${Q}`,leadSessionId:$,members:[]};return await X3(D,Y),Y}async function h2(D,F){let $=await x2(D);if(!$)throw Error(`Native team "${D}" not found`);let J=r(D),B=`${r(F.agentName)}@${J}`;$.members=$.members.filter((Q)=>Q.agentId!==B),$.members.push({agentId:B,name:r(F.agentName),agentType:F.agentType??"general-purpose",joinedAt:Date.now(),tmuxPaneId:F.tmuxPaneId,cwd:F.cwd??process.cwd(),backendType:"tmux",color:F.color,planModeRequired:F.planModeRequired??!1,isActive:!0}),await X3(D,$);let X=M8(D,F.agentName);if(!W1(X))await u2(X,"[]")}async function K1(D,F){let $=await x2(D);if(!$)return;let J=r(D),B=`${r(F)}@${J}`,X=$.members.find((Q)=>Q.agentId===B);if(X)X.isActive=!1;await X3(D,$)}async function g2(D,F,$){let J=M8(D,F);await V1(z1(D),{recursive:!0}),await W4(J);try{let B=[];try{let X=await U1(J,"utf-8");B=JSON.parse(X)}catch{}B.push($),await u2(J,JSON.stringify(B,null,2))}finally{await U4(J)}}async function E8(D){let F=await x2(D);if(!F)return J3[0];let $=new Set(F.members.map((J)=>J.color));for(let J of J3)if(!$.has(J))return J;return J3[F.members.length%J3.length]}async function M1(D,F){let $=M8(D,F);await W4($);try{await u2($,"[]")}finally{await U4($)}}async function Q3(D){let F=K8(D);if(!W1(F))return!1;return await Jq(F,{recursive:!0,force:!0}),!0}function qq(D){return D.replace(/[^a-zA-Z0-9]/g,"-")}async function _0(D){let F=process.env.CLAUDE_CODE_SESSION_ID;if(F)return F;let $=rD(q4(),"projects",qq(D??process.cwd()));try{let B=(await Y4($)).filter((Q)=>Q.endsWith(".jsonl"));if(B.length===0)return null;let X=null;for(let Q of B){let Y=await Bq(rD($,Q));if(!X||Y.mtimeMs>X.mtime)X={name:Q,mtime:Y.mtimeMs}}if(!X)return null;return X.name.replace(".jsonl","")}catch{return null}}function z4(){return process.env.CLAUDECODE==="1"}async function A8(D){let F=process.env.GENIE_TEAM;if(F)return F;let $=await _0(D);if(!$)return null;let J=G4();try{let B=await Y4(J);for(let X of B){let Q=rD(J,X,"config.json");try{let Y=await U1(Q,"utf-8"),q=JSON.parse(Y);if(q.leadSessionId===$)return q.name}catch{}}}catch{}return null}async function K4(D,F){let $=await _0(F?.cwd);if(!$)throw Error("Could not discover Claude Code session ID. Are you running inside Claude Code with CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1?");let J=await y2(D,`Genie team: ${D}`,$);if(J.leadSessionId!==$)J.leadSessionId=$,await X3(D,J);let X=`team-lead@${r(D)}`,Q=J.members.find((H)=>H.agentId===X),Y=F?.tmuxPaneId??process.env.TMUX_PANE;if(!Q||!Q.isActive)await h2(D,{agentName:"team-lead",agentType:"general-purpose",color:F?.color??"blue",tmuxPaneId:Y,cwd:F?.cwd??process.cwd()});else if(Y&&Q.tmuxPaneId!==Y)Q.tmuxPaneId=Y,await X3(D,J);let q=M8(D,"team-lead");if(!W1(q))await u2(q,"[]");let G=await x2(D);if(!G)throw Error(`Failed to load config for team "${D}" after creation`);return{sessionId:$,config:G}}var Yq=5000,Q4=50;var m2=S(()=>{z8()});var M4={};JD(M4,{shellQuote:()=>u,buildTeamLeadCommand:()=>E1});import{basename as Gq}from"path";function u(D){return`'${D.replace(/'/g,"'\\''")}'`}function E1(D,F){let $=r(D),J=u($),B=Gq(process.cwd()),X=["CLAUDECODE=1","CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1",`GENIE_TEAM=${J}`,`GENIE_AGENT_NAME=${u(B)}`,"claude",`--agent-id ${u(`${B}@${$}`)}`,`--agent-name ${u(B)}`,`--team-name ${J}`,"--dangerously-skip-permissions"];if(F?.resumeSessionId)X.push(`--resume ${u(F.resumeSessionId)}`);else if(F?.sessionId)X.push(`--session-id ${u(F.sessionId)}`);if(F?.systemPromptFile){let Y=(F?.promptMode??q0().promptMode)==="system"?"--system-prompt-file":"--append-system-prompt-file";X.push(`${Y} ${u(F.systemPromptFile)}`)}return X.join(" ")}var O8=S(()=>{m2();lD()});import{exec as Hq}from"child_process";import{existsSync as Vq,mkdirSync as Wq}from"fs";import{homedir as Uq}from"os";import{join as zq}from"path";import{promisify as Kq}from"util";function Eq(){let D=zq(Uq(),".genie","logs","tmux");if(!Vq(D))Wq(D,{recursive:!0});return D}function Aq(D){return D.filter((F)=>!/^-v+$/.test(F))}function Rq(){return process.env.GENIE_TMUX_DEBUG==="1"}async function E4(D){let F=typeof D==="string"?D.split(/\s+/).filter(Boolean):D,$=Aq(F),J=Rq(),B={};if(J)$=["-v",...$],B.cwd=Eq();let X=`tmux ${$.join(" ")}`,{stdout:Q}=await Mq(X,B);return Q.trim()}var Mq;var A4=S(()=>{Mq=Kq(Hq)});var ND={};JD(ND,{setWindowEnv:()=>C8,listWindows:()=>MD,listSessions:()=>C4,listPanes:()=>L0,killSession:()=>R1,isPaneAlive:()=>TD,getWindowEnv:()=>A1,findWindowByName:()=>j8,findSessionByName:()=>nD,executeTmux:()=>f,ensureTeamWindow:()=>p2,createWindow:()=>j4,createSession:()=>O1,capturePaneContent:()=>ED,applyPaneColor:()=>q3});async function f(D){try{return await E4(D)}catch(F){let $=F instanceof Error?F.message:String(F);throw Error(`Failed to execute tmux command: ${$}`)}}async function C4(){try{let F=await f("list-sessions -F '#{session_id}:#{session_name}:#{?session_attached,1,0}:#{session_windows}'");if(!F)return[];return F.split(`
44
+ ${B(F.extraArgs[V+1],"utf-8")}`,F.extraArgs.splice(V,2)}J(q,G);let H=F.promptMode==="system"?"--system-prompt-file":"--append-system-prompt-file";D.push(H,s(q))}else if(F.systemPromptFile){let $=F.promptMode==="system"?"--system-prompt-file":"--append-system-prompt-file";D.push($,s(F.systemPromptFile))}}function Fq(D){X4("claude");let F=["claude","--dangerously-skip-permissions"],$={};if(D.role)$.GENIE_AGENT_NAME=D.role;if(D.team)$.GENIE_TEAM=D.team;if(D.nativeTeam?.enabled)eY(F,$,D.nativeTeam,D);if(D.resume)F.push("--resume",s(D.resume));else if(D.sessionId)F.push("--session-id",s(D.sessionId));if(D.role)F.push("--agent",s(D.role));if(D.model)F.push("--model",s(D.model));if(Dq(F,D),D.extraArgs)for(let J of D.extraArgs)F.push(s(J));if(D.initialPrompt)F.push(s(D.initialPrompt));return{command:F.join(" "),provider:"claude",env:Object.keys($).length>0?$:void 0,meta:{role:D.role,skill:D.skill}}}function $q(D){X4("codex");let F=["codex"];if(F.push("--yolo"),F.push("--no-alt-screen"),D.extraArgs)for(let B of D.extraArgs)F.push(s(B));let $=[`Genie worker. Team: ${D.team}.`];if(D.role)$.push(`Role: ${D.role}.`);if(D.skill)$.push(`Execute the ${D.skill} skill instructions.`);let J=$.join(" ");return F.push(s(J)),{command:F.join(" "),provider:"codex",meta:{role:D.role,skill:D.skill}}}function U8(D){let F=B3(D);switch(F.provider){case"claude":return Fq(F);case"codex":return $q(F);default:throw Error(`Unknown provider "${F.provider}". Valid providers: claude, codex`)}}var J3,aY;var z8=S(()=>{s3();J3=["red","blue","green","yellow","purple","orange","pink","cyan"],aY=E.object({provider:E.enum(["claude","codex"]),team:E.string().min(1,"Team name is required"),role:E.string().optional(),skill:E.string().optional(),extraArgs:E.array(E.string()).optional(),nativeTeam:E.object({enabled:E.boolean(),parentSessionId:E.string().optional(),color:E.string().optional(),agentType:E.string().optional(),planModeRequired:E.boolean().optional(),permissionMode:E.string().optional(),agentName:E.string().optional()}).optional(),sessionId:E.string().uuid().optional(),resume:E.string().uuid().optional(),systemPromptFile:E.string().optional(),systemPrompt:E.string().optional(),promptMode:E.enum(["system","append"]).optional(),model:E.string().optional(),initialPrompt:E.string().optional()})});import{existsSync as W1}from"fs";import{mkdir as V1,readFile as U1,readdir as Y4,rm as Jq,stat as Bq,unlink as Xq,writeFile as u2}from"fs/promises";import{homedir as Qq}from"os";import{join as rD}from"path";function q4(){return process.env.CLAUDE_CONFIG_DIR??rD(Qq(),".claude")}function G4(){return rD(q4(),"teams")}function r(D){return D.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase()}function K8(D){return rD(G4(),r(D))}function H4(D){return rD(K8(D),"config.json")}function z1(D){return rD(K8(D),"inboxes")}function M8(D,F){return rD(z1(D),`${r(F)}.json`)}function V4(D){return`${D}.lock`}async function W4(D){let F=V4(D),$=Date.now()+Yq;while(Date.now()<$)try{await u2(F,String(process.pid),{flag:"wx"});return}catch{let J=Math.floor(Math.random()*Q4);await new Promise((B)=>setTimeout(B,Q4+J))}console.warn(`[claude-native-teams] Force-acquiring stale lock: ${F}`),await u2(F,String(process.pid))}async function U4(D){try{await Xq(V4(D))}catch{}}async function x2(D){try{let F=await U1(H4(D),"utf-8");return JSON.parse(F)}catch(F){if(F instanceof Error&&"code"in F&&F.code==="ENOENT")return null;let $=F instanceof Error?F.message:String(F);return console.warn(`[claude-native-teams] Failed to load config for "${D}": ${$}`),null}}async function X3(D,F){await u2(H4(D),JSON.stringify(F,null,2))}async function y2(D,F,$){let J=K8(D),B=z1(D);await V1(J,{recursive:!0}),await V1(B,{recursive:!0});let X=await x2(D);if(X)return X;let Q=r(D),Y={name:Q,description:F,createdAt:Date.now(),leadAgentId:`team-lead@${Q}`,leadSessionId:$,members:[]};return await X3(D,Y),Y}async function h2(D,F){let $=await x2(D);if(!$)throw Error(`Native team "${D}" not found`);let J=r(D),B=`${r(F.agentName)}@${J}`;$.members=$.members.filter((Q)=>Q.agentId!==B),$.members.push({agentId:B,name:r(F.agentName),agentType:F.agentType??"general-purpose",joinedAt:Date.now(),tmuxPaneId:F.tmuxPaneId,cwd:F.cwd??process.cwd(),backendType:"tmux",color:F.color,planModeRequired:F.planModeRequired??!1,isActive:!0}),await X3(D,$);let X=M8(D,F.agentName);if(!W1(X))await u2(X,"[]")}async function K1(D,F){let $=await x2(D);if(!$)return;let J=r(D),B=`${r(F)}@${J}`,X=$.members.find((Q)=>Q.agentId===B);if(X)X.isActive=!1;await X3(D,$)}async function g2(D,F,$){let J=M8(D,F);await V1(z1(D),{recursive:!0}),await W4(J);try{let B=[];try{let X=await U1(J,"utf-8");B=JSON.parse(X)}catch{}B.push($),await u2(J,JSON.stringify(B,null,2))}finally{await U4(J)}}async function E8(D){let F=await x2(D);if(!F)return J3[0];let $=new Set(F.members.map((J)=>J.color));for(let J of J3)if(!$.has(J))return J;return J3[F.members.length%J3.length]}async function M1(D,F){let $=M8(D,F);await W4($);try{await u2($,"[]")}finally{await U4($)}}async function Q3(D){let F=K8(D);if(!W1(F))return!1;return await Jq(F,{recursive:!0,force:!0}),!0}function qq(D){return D.replace(/[^a-zA-Z0-9]/g,"-")}async function _0(D){let F=process.env.CLAUDE_CODE_SESSION_ID;if(F)return F;let $=rD(q4(),"projects",qq(D??process.cwd()));try{let B=(await Y4($)).filter((Q)=>Q.endsWith(".jsonl"));if(B.length===0)return null;let X=null;for(let Q of B){let Y=await Bq(rD($,Q));if(!X||Y.mtimeMs>X.mtime)X={name:Q,mtime:Y.mtimeMs}}if(!X)return null;return X.name.replace(".jsonl","")}catch{return null}}function z4(){return process.env.CLAUDECODE==="1"}async function A8(D){let F=process.env.GENIE_TEAM;if(F)return F;let $=await _0(D);if(!$)return null;let J=G4();try{let B=await Y4(J);for(let X of B){let Q=rD(J,X,"config.json");try{let Y=await U1(Q,"utf-8"),q=JSON.parse(Y);if(q.leadSessionId===$)return q.name}catch{}}}catch{}return null}async function K4(D,F){let $=await _0(F?.cwd);if(!$)throw Error("Could not discover Claude Code session ID. Are you running inside Claude Code with CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1?");let J=await y2(D,`Genie team: ${D}`,$);if(J.leadSessionId!==$)J.leadSessionId=$,await X3(D,J);let X=`team-lead@${r(D)}`,Q=J.members.find((H)=>H.agentId===X),Y=F?.tmuxPaneId??process.env.TMUX_PANE;if(!Q||!Q.isActive)await h2(D,{agentName:"team-lead",agentType:"general-purpose",color:F?.color??"blue",tmuxPaneId:Y,cwd:F?.cwd??process.cwd()});else if(Y&&Q.tmuxPaneId!==Y)Q.tmuxPaneId=Y,await X3(D,J);let q=M8(D,"team-lead");if(!W1(q))await u2(q,"[]");let G=await x2(D);if(!G)throw Error(`Failed to load config for team "${D}" after creation`);return{sessionId:$,config:G}}var Yq=5000,Q4=50;var m2=S(()=>{z8()});var M4={};BD(M4,{shellQuote:()=>u,buildTeamLeadCommand:()=>E1});import{basename as Gq}from"path";function u(D){return`'${D.replace(/'/g,"'\\''")}'`}function E1(D,F){let $=r(D),J=u($),B=Gq(process.cwd()),X=["CLAUDECODE=1","CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1",`GENIE_TEAM=${J}`,`GENIE_AGENT_NAME=${u(B)}`,"claude",`--agent-id ${u(`${B}@${$}`)}`,`--agent-name ${u(B)}`,`--team-name ${J}`,"--dangerously-skip-permissions"];if(F?.resumeSessionId)X.push(`--resume ${u(F.resumeSessionId)}`);else if(F?.sessionId)X.push(`--session-id ${u(F.sessionId)}`);if(F?.systemPromptFile){let Y=(F?.promptMode??q0().promptMode)==="system"?"--system-prompt-file":"--append-system-prompt-file";X.push(`${Y} ${u(F.systemPromptFile)}`)}return X.join(" ")}var O8=S(()=>{m2();lD()});import{exec as Hq}from"child_process";import{existsSync as Vq,mkdirSync as Wq}from"fs";import{homedir as Uq}from"os";import{join as zq}from"path";import{promisify as Kq}from"util";function Eq(){let D=zq(Uq(),".genie","logs","tmux");if(!Vq(D))Wq(D,{recursive:!0});return D}function Aq(D){return D.filter((F)=>!/^-v+$/.test(F))}function Rq(){return process.env.GENIE_TMUX_DEBUG==="1"}async function E4(D){let F=typeof D==="string"?D.split(/\s+/).filter(Boolean):D,$=Aq(F),J=Rq(),B={};if(J)$=["-v",...$],B.cwd=Eq();let X=`tmux ${$.join(" ")}`,{stdout:Q}=await Mq(X,B);return Q.trim()}var Mq;var A4=S(()=>{Mq=Kq(Hq)});var ND={};BD(ND,{setWindowEnv:()=>C8,listWindows:()=>MD,listSessions:()=>C4,listPanes:()=>L0,killSession:()=>R1,isPaneAlive:()=>TD,getWindowEnv:()=>A1,findWindowByName:()=>j8,findSessionByName:()=>nD,executeTmux:()=>f,ensureTeamWindow:()=>p2,createWindow:()=>j4,createSession:()=>O1,capturePaneContent:()=>ED,applyPaneColor:()=>q3});async function f(D){try{return await E4(D)}catch(F){let $=F instanceof Error?F.message:String(F);throw Error(`Failed to execute tmux command: ${$}`)}}async function C4(){try{let F=await f("list-sessions -F '#{session_id}:#{session_name}:#{?session_attached,1,0}:#{session_windows}'");if(!F)return[];return F.split(`
45
45
  `).map(($)=>{let[J,B,X,Q]=$.split(":");return{id:J,name:B,attached:X==="1",windows:Number.parseInt(Q,10)}})}catch(D){if((D instanceof Error?D.message:String(D)).includes("no server running"))return[];throw D}}async function nD(D){try{return(await C4()).find(($)=>$.name===D)||null}catch(F){return null}}async function A1(D,F){try{let $=await f(`show-environment -t ${u(D)} ${u(F)}`),J=`${F}=`;if($?.startsWith(J))return $.slice(J.length).trim();return null}catch{return null}}async function C8(D,F,$){await f(`set-environment -t ${u(D)} ${u(F)} ${u($)}`)}async function R1(D){await f(`kill-session -t '${D}'`)}async function MD(D){try{let $=await f(`list-windows -t '${D}' -F '#{window_id}:#{window_name}:#{?window_active,1,0}'`);if(!$)return[];return $.split(`
46
46
  `).map((J)=>{let[B,X,Q]=J.split(":");return{id:B,name:X,active:Q==="1",sessionId:D}})}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("no server running")||$.includes("session not found"))return[];throw F}}async function L0(D){try{let $=await f(`list-panes -t '${D}' -F '#{pane_id}:#{pane_title}:#{?pane_active,1,0}'`);if(!$)return[];return $.split(`
47
47
  `).map((J)=>{let[B,X,Q]=J.split(":");return{id:B,windowId:D,title:X,active:Q==="1"}})}catch(F){let $=F instanceof Error?F.message:String(F);if($.includes("no server running")||$.includes("window not found"))return[];throw F}}async function ED(D,F=200,$=!1){try{return await f(`capture-pane -p ${$?"-e":""} -t '${D}' -S -${F} -E -`)}catch(J){let B=J instanceof Error?J.message:String(J);if(B.includes("no server running")||B.includes("pane not found"))return"";throw J}}async function O1(D){return await f(`new-session -d -s "${D}" -e LC_ALL=C.UTF-8 -e LANG=C.UTF-8`),nD(D)}async function j4(D,F,$){let J=$?` -c '${$.replace(/'/g,"'\\''")}'`:"",X=(await f(`new-window -d -P -F '#{window_id}' -t '${D}:' -n '${F}'${J}`)).trim();if(!X)return null;try{await f(`set-window-option -t '${X}' automatic-rename off`)}catch{}return{id:X,name:F,active:!1,sessionId:D}}async function j8(D,F){return(await MD(D)).find((J)=>J.name===F)||null}async function p2(D,F,$){let J=await j8(D,F);if(J){try{await f(`set-window-option -t '${J.id}' automatic-rename off`)}catch{}await O4(J.id);let Y=await L0(J.id),q=Y.length>0?Y[0].id:`${D}:${F}.0`;return{windowId:J.id,windowName:F,paneId:q,created:!1}}let B=await j4(D,F,$);if(!B)throw Error(`Failed to create team window "${F}" in session "${D}"`);await O4(B.id);let X=await L0(B.id),Q=X.length>0?X[0].id:`${D}:${F}.0`;return{windowId:B.id,windowName:F,paneId:Q,created:!0}}function _4(){let{existsSync:D,writeFileSync:F,mkdirSync:$,chmodSync:J}=P("fs"),{dirname:B}=P("path");if(D(l2))return;$(B(l2),{recursive:!0}),F(l2,`#!/bin/bash
@@ -52,25 +52,25 @@ MAP="$HOME/.genie/pane-colors.json"
52
52
  COLOR=$(jq -r --arg p "$PANE_ID" '.[$p] // empty' "$MAP" 2>/dev/null)
53
53
  [ -z "$COLOR" ] && COLOR="default"
54
54
  tmux set-option -w pane-active-border-style "fg=$COLOR"
55
- `),J(l2,493)}async function q3(D,F,$){let J=R4[F]??R4.blue,{readFileSync:B,writeFileSync:X,existsSync:Q,mkdirSync:Y}=P("fs"),{dirname:q}=P("path");try{_4();let G={};if(Q(Y3))try{G=JSON.parse(B(Y3,"utf-8"))}catch{G={}}else Y(q(Y3),{recursive:!0});if(G[D]=J,X(Y3,JSON.stringify(G,null,2)),$)await f(`set-hook -w -t '${$}' pane-focus-in "run-shell '${l2} #{pane_id}'"`)}catch{}}async function O4(D){let{existsSync:F}=P("fs");try{if(!F(Y3)||!F(l2))return;_4(),await f(`set-hook -w -t '${D}' pane-focus-in "run-shell '${l2} #{pane_id}'"`)}catch{}}async function TD(D){if(!D||D==="inline")return!1;if(!/^%\d+$/.test(D))return!1;try{return await ED(D,1),!0}catch{return!1}}var R4,Y3,l2;var FD=S(()=>{O8();A4();R4={red:"#b83030",blue:"#2a6cb8",green:"#20a050",yellow:"#b8a020",purple:"#7830b8",orange:"#b86820",pink:"#b83078",cyan:"#20a0a0"},Y3=`${P("os").homedir()}/.genie/pane-colors.json`,l2=`${P("os").homedir()}/.genie/tmux-pane-color.sh`});function h4(D){return typeof D>"u"||D===null}function Oq(D){return typeof D==="object"&&D!==null}function Cq(D){if(Array.isArray(D))return D;else if(h4(D))return[];return[D]}function jq(D,F){var $,J,B,X;if(F){X=Object.keys(F);for($=0,J=X.length;$<J;$+=1)B=X[$],D[B]=F[B]}return D}function _q(D,F){var $="",J;for(J=0;J<F;J+=1)$+=D;return $}function Lq(D){return D===0&&Number.NEGATIVE_INFINITY===1/D}function g4(D,F){var $="",J=D.reason||"(unknown reason)";if(!D.mark)return J;if(D.mark.name)$+='in "'+D.mark.name+'" ';if($+="("+(D.mark.line+1)+":"+(D.mark.column+1)+")",!F&&D.mark.snippet)$+=`
55
+ `),J(l2,493)}async function q3(D,F,$){let J=R4[F]??R4.blue,{readFileSync:B,writeFileSync:X,existsSync:Q,mkdirSync:Y}=P("fs"),{dirname:q}=P("path");try{_4();let G={};if(Q(Y3))try{G=JSON.parse(B(Y3,"utf-8"))}catch{G={}}else Y(q(Y3),{recursive:!0});if(G[D]=J,X(Y3,JSON.stringify(G,null,2)),$)await f(`set-hook -w -t '${$}' pane-focus-in "run-shell '${l2} #{pane_id}'"`)}catch{}}async function O4(D){let{existsSync:F}=P("fs");try{if(!F(Y3)||!F(l2))return;_4(),await f(`set-hook -w -t '${D}' pane-focus-in "run-shell '${l2} #{pane_id}'"`)}catch{}}async function TD(D){if(!D||D==="inline")return!1;if(!/^%\d+$/.test(D))return!1;try{return await ED(D,1),!0}catch{return!1}}var R4,Y3,l2;var $D=S(()=>{O8();A4();R4={red:"#b83030",blue:"#2a6cb8",green:"#20a050",yellow:"#b8a020",purple:"#7830b8",orange:"#b86820",pink:"#b83078",cyan:"#20a0a0"},Y3=`${P("os").homedir()}/.genie/pane-colors.json`,l2=`${P("os").homedir()}/.genie/tmux-pane-color.sh`});function h4(D){return typeof D>"u"||D===null}function Oq(D){return typeof D==="object"&&D!==null}function Cq(D){if(Array.isArray(D))return D;else if(h4(D))return[];return[D]}function jq(D,F){var $,J,B,X;if(F){X=Object.keys(F);for($=0,J=X.length;$<J;$+=1)B=X[$],D[B]=F[B]}return D}function _q(D,F){var $="",J;for(J=0;J<F;J+=1)$+=D;return $}function Lq(D){return D===0&&Number.NEGATIVE_INFINITY===1/D}function g4(D,F){var $="",J=D.reason||"(unknown reason)";if(!D.mark)return J;if(D.mark.name)$+='in "'+D.mark.name+'" ';if($+="("+(D.mark.line+1)+":"+(D.mark.column+1)+")",!F&&D.mark.snippet)$+=`
56
56
 
57
57
  `+D.mark.snippet;return J+" "+$}function H3(D,F){if(Error.call(this),this.name="YAMLException",this.reason=D,this.mark=F,this.message=g4(this,!1),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=Error().stack||""}function C1(D,F,$,J,B){var X="",Q="",Y=Math.floor(B/2)-1;if(J-F>Y)X=" ... ",F=J-Y+X.length;if($-J>Y)Q=" ...",$=J+Y-Q.length;return{str:X+D.slice(F,$).replace(/\t/g,"\u2192")+Q,pos:J-F+X.length}}function j1(D,F){return i.repeat(" ",F-D.length)+D}function vq(D,F){if(F=Object.create(F||null),!D.buffer)return null;if(!F.maxLength)F.maxLength=79;if(typeof F.indent!=="number")F.indent=1;if(typeof F.linesBefore!=="number")F.linesBefore=3;if(typeof F.linesAfter!=="number")F.linesAfter=2;var $=/\r?\n|\r|\0/g,J=[0],B=[],X,Q=-1;while(X=$.exec(D.buffer))if(B.push(X.index),J.push(X.index+X[0].length),D.position<=X.index&&Q<0)Q=J.length-2;if(Q<0)Q=J.length-1;var Y="",q,G,H=Math.min(D.line+F.linesAfter,B.length).toString().length,V=F.maxLength-(F.indent+H+3);for(q=1;q<=F.linesBefore;q++){if(Q-q<0)break;G=C1(D.buffer,J[Q-q],B[Q-q],D.position-(J[Q]-J[Q-q]),V),Y=i.repeat(" ",F.indent)+j1((D.line-q+1).toString(),H)+" | "+G.str+`
58
58
  `+Y}G=C1(D.buffer,J[Q],B[Q],D.position,V),Y+=i.repeat(" ",F.indent)+j1((D.line+1).toString(),H)+" | "+G.str+`
59
59
  `,Y+=i.repeat("-",F.indent+H+3+G.pos)+`^
60
60
  `;for(q=1;q<=F.linesAfter;q++){if(Q+q>=B.length)break;G=C1(D.buffer,J[Q+q],B[Q+q],D.position-(J[Q]-J[Q+q]),V),Y+=i.repeat(" ",F.indent)+j1((D.line+q+1).toString(),H)+" | "+G.str+`
61
- `}return Y.replace(/\n$/,"")}function fq(D){var F={};if(D!==null)Object.keys(D).forEach(function($){D[$].forEach(function(J){F[String(J)]=$})});return F}function uq(D,F){if(F=F||{},Object.keys(F).forEach(function($){if(kq.indexOf($)===-1)throw new QD('Unknown option "'+$+'" is met in definition of "'+D+'" YAML type.')}),this.options=F,this.tag=D,this.kind=F.kind||null,this.resolve=F.resolve||function(){return!0},this.construct=F.construct||function($){return $},this.instanceOf=F.instanceOf||null,this.predicate=F.predicate||null,this.represent=F.represent||null,this.representName=F.representName||null,this.defaultStyle=F.defaultStyle||null,this.multi=F.multi||!1,this.styleAliases=fq(F.styleAliases||null),wq.indexOf(this.kind)===-1)throw new QD('Unknown kind "'+this.kind+'" is specified for "'+D+'" YAML type.')}function L4(D,F){var $=[];return D[F].forEach(function(J){var B=$.length;$.forEach(function(X,Q){if(X.tag===J.tag&&X.kind===J.kind&&X.multi===J.multi)B=Q}),$[B]=J}),$}function xq(){var D={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},F,$;function J(B){if(B.multi)D.multi[B.kind].push(B),D.multi.fallback.push(B);else D[B.kind][B.tag]=D.fallback[B.tag]=B}for(F=0,$=arguments.length;F<$;F+=1)arguments[F].forEach(J);return D}function L1(D){return this.extend(D)}function pq(D){if(D===null)return!0;var F=D.length;return F===1&&D==="~"||F===4&&(D==="null"||D==="Null"||D==="NULL")}function dq(){return null}function cq(D){return D===null}function rq(D){if(D===null)return!1;var F=D.length;return F===4&&(D==="true"||D==="True"||D==="TRUE")||F===5&&(D==="false"||D==="False"||D==="FALSE")}function nq(D){return D==="true"||D==="True"||D==="TRUE"}function oq(D){return Object.prototype.toString.call(D)==="[object Boolean]"}function aq(D){return 48<=D&&D<=57||65<=D&&D<=70||97<=D&&D<=102}function tq(D){return 48<=D&&D<=55}function eq(D){return 48<=D&&D<=57}function DG(D){if(D===null)return!1;var F=D.length,$=0,J=!1,B;if(!F)return!1;if(B=D[$],B==="-"||B==="+")B=D[++$];if(B==="0"){if($+1===F)return!0;if(B=D[++$],B==="b"){$++;for(;$<F;$++){if(B=D[$],B==="_")continue;if(B!=="0"&&B!=="1")return!1;J=!0}return J&&B!=="_"}if(B==="x"){$++;for(;$<F;$++){if(B=D[$],B==="_")continue;if(!aq(D.charCodeAt($)))return!1;J=!0}return J&&B!=="_"}if(B==="o"){$++;for(;$<F;$++){if(B=D[$],B==="_")continue;if(!tq(D.charCodeAt($)))return!1;J=!0}return J&&B!=="_"}}if(B==="_")return!1;for(;$<F;$++){if(B=D[$],B==="_")continue;if(!eq(D.charCodeAt($)))return!1;J=!0}if(!J||B==="_")return!1;return!0}function FG(D){var F=D,$=1,J;if(F.indexOf("_")!==-1)F=F.replace(/_/g,"");if(J=F[0],J==="-"||J==="+"){if(J==="-")$=-1;F=F.slice(1),J=F[0]}if(F==="0")return 0;if(J==="0"){if(F[1]==="b")return $*parseInt(F.slice(2),2);if(F[1]==="x")return $*parseInt(F.slice(2),16);if(F[1]==="o")return $*parseInt(F.slice(2),8)}return $*parseInt(F,10)}function $G(D){return Object.prototype.toString.call(D)==="[object Number]"&&(D%1===0&&!i.isNegativeZero(D))}function XG(D){if(D===null)return!1;if(!BG.test(D)||D[D.length-1]==="_")return!1;return!0}function QG(D){var F,$;if(F=D.replace(/_/g,"").toLowerCase(),$=F[0]==="-"?-1:1,"+-".indexOf(F[0])>=0)F=F.slice(1);if(F===".inf")return $===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;else if(F===".nan")return NaN;return $*parseFloat(F,10)}function qG(D,F){var $;if(isNaN(D))switch(F){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===D)switch(F){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===D)switch(F){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(D))return"-0.0";return $=D.toString(10),YG.test($)?$.replace("e",".e"):$}function GG(D){return Object.prototype.toString.call(D)==="[object Number]"&&(D%1!==0||i.isNegativeZero(D))}function UG(D){if(D===null)return!1;if(m4.exec(D)!==null)return!0;if(l4.exec(D)!==null)return!0;return!1}function zG(D){var F,$,J,B,X,Q,Y,q=0,G=null,H,V,U;if(F=m4.exec(D),F===null)F=l4.exec(D);if(F===null)throw Error("Date resolve error");if($=+F[1],J=+F[2]-1,B=+F[3],!F[4])return new Date(Date.UTC($,J,B));if(X=+F[4],Q=+F[5],Y=+F[6],F[7]){q=F[7].slice(0,3);while(q.length<3)q+="0";q=+q}if(F[9]){if(H=+F[10],V=+(F[11]||0),G=(H*60+V)*60000,F[9]==="-")G=-G}if(U=new Date(Date.UTC($,J,B,X,Q,Y,q)),G)U.setTime(U.getTime()-G);return U}function KG(D){return D.toISOString()}function EG(D){return D==="<<"||D===null}function RG(D){if(D===null)return!1;var F,$,J=0,B=D.length,X=I1;for($=0;$<B;$++){if(F=X.indexOf(D.charAt($)),F>64)continue;if(F<0)return!1;J+=6}return J%8===0}function OG(D){var F,$,J=D.replace(/[\r\n=]/g,""),B=J.length,X=I1,Q=0,Y=[];for(F=0;F<B;F++){if(F%4===0&&F)Y.push(Q>>16&255),Y.push(Q>>8&255),Y.push(Q&255);Q=Q<<6|X.indexOf(J.charAt(F))}if($=B%4*6,$===0)Y.push(Q>>16&255),Y.push(Q>>8&255),Y.push(Q&255);else if($===18)Y.push(Q>>10&255),Y.push(Q>>2&255);else if($===12)Y.push(Q>>4&255);return new Uint8Array(Y)}function CG(D){var F="",$=0,J,B,X=D.length,Q=I1;for(J=0;J<X;J++){if(J%3===0&&J)F+=Q[$>>18&63],F+=Q[$>>12&63],F+=Q[$>>6&63],F+=Q[$&63];$=($<<8)+D[J]}if(B=X%3,B===0)F+=Q[$>>18&63],F+=Q[$>>12&63],F+=Q[$>>6&63],F+=Q[$&63];else if(B===2)F+=Q[$>>10&63],F+=Q[$>>4&63],F+=Q[$<<2&63],F+=Q[64];else if(B===1)F+=Q[$>>2&63],F+=Q[$<<4&63],F+=Q[64],F+=Q[64];return F}function jG(D){return Object.prototype.toString.call(D)==="[object Uint8Array]"}function TG(D){if(D===null)return!0;var F=[],$,J,B,X,Q,Y=D;for($=0,J=Y.length;$<J;$+=1){if(B=Y[$],Q=!1,ZG.call(B)!=="[object Object]")return!1;for(X in B)if(LG.call(B,X))if(!Q)Q=!0;else return!1;if(!Q)return!1;if(F.indexOf(X)===-1)F.push(X);else return!1}return!0}function NG(D){return D!==null?D:[]}function bG(D){if(D===null)return!0;var F,$,J,B,X,Q=D;X=Array(Q.length);for(F=0,$=Q.length;F<$;F+=1){if(J=Q[F],IG.call(J)!=="[object Object]")return!1;if(B=Object.keys(J),B.length!==1)return!1;X[F]=[B[0],J[B[0]]]}return!0}function vG(D){if(D===null)return[];var F,$,J,B,X,Q=D;X=Array(Q.length);for(F=0,$=Q.length;F<$;F+=1)J=Q[F],B=Object.keys(J),X[F]=[B[0],J[B[0]]];return X}function wG(D){if(D===null)return!0;var F,$=D;for(F in $)if(kG.call($,F)){if($[F]!==null)return!1}return!0}function fG(D){return D!==null?D:{}}function T4(D){return Object.prototype.toString.call(D)}function fD(D){return D===10||D===13}function d2(D){return D===9||D===32}function YD(D){return D===9||D===32||D===10||D===13}function T0(D){return D===44||D===91||D===93||D===123||D===125}function mG(D){var F;if(48<=D&&D<=57)return D-48;if(F=D|32,97<=F&&F<=102)return F-97+10;return-1}function lG(D){if(D===120)return 2;if(D===117)return 4;if(D===85)return 8;return 0}function pG(D){if(48<=D&&D<=57)return D-48;return-1}function N4(D){return D===48?"\x00":D===97?"\x07":D===98?"\b":D===116?"\t":D===9?"\t":D===110?`
62
- `:D===118?"\v":D===102?"\f":D===114?"\r":D===101?"\x1B":D===32?" ":D===34?'"':D===47?"/":D===92?"\\":D===78?"\x85":D===95?"\xA0":D===76?"\u2028":D===80?"\u2029":""}function dG(D){if(D<=65535)return String.fromCharCode(D);return String.fromCharCode((D-65536>>10)+55296,(D-65536&1023)+56320)}function n4(D,F,$){if(F==="__proto__")Object.defineProperty(D,F,{configurable:!0,enumerable:!0,writable:!0,value:$});else D[F]=$}function cG(D,F){this.input=D,this.filename=F.filename||null,this.schema=F.schema||p4,this.onWarning=F.onWarning||null,this.legacy=F.legacy||!1,this.json=F.json||!1,this.listener=F.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=D.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function a4(D,F){var $={name:D.filename,buffer:D.input.slice(0,-1),position:D.position,line:D.line,column:D.position-D.lineStart};return $.snippet=Pq($),new QD(F,$)}function L(D,F){throw a4(D,F)}function Z8(D,F){if(D.onWarning)D.onWarning.call(null,a4(D,F))}function Y2(D,F,$,J){var B,X,Q,Y;if(F<$){if(Y=D.input.slice(F,$),J){for(B=0,X=Y.length;B<X;B+=1)if(Q=Y.charCodeAt(B),!(Q===9||32<=Q&&Q<=1114111))L(D,"expected valid JSON character")}else if(yG.test(Y))L(D,"the stream contains non-printable characters");D.result+=Y}}function I4(D,F,$,J){var B,X,Q,Y;if(!i.isObject($))L(D,"cannot merge mappings; the provided source object is unacceptable");B=Object.keys($);for(Q=0,Y=B.length;Q<Y;Q+=1)if(X=B[Q],!q2.call(F,X))n4(F,X,$[X]),J[X]=!0}function N0(D,F,$,J,B,X,Q,Y,q){var G,H;if(Array.isArray(B)){B=Array.prototype.slice.call(B);for(G=0,H=B.length;G<H;G+=1){if(Array.isArray(B[G]))L(D,"nested arrays are not supported inside keys");if(typeof B==="object"&&T4(B[G])==="[object Object]")B[G]="[object Object]"}}if(typeof B==="object"&&T4(B)==="[object Object]")B="[object Object]";if(B=String(B),F===null)F={};if(J==="tag:yaml.org,2002:merge")if(Array.isArray(X))for(G=0,H=X.length;G<H;G+=1)I4(D,F,X[G],$);else I4(D,F,X,$);else{if(!D.json&&!q2.call($,B)&&q2.call(F,B))D.line=Q||D.line,D.lineStart=Y||D.lineStart,D.position=q||D.position,L(D,"duplicated mapping key");n4(F,B,X),delete $[B]}return F}function b1(D){var F=D.input.charCodeAt(D.position);if(F===10)D.position++;else if(F===13){if(D.position++,D.input.charCodeAt(D.position)===10)D.position++}else L(D,"a line break is expected");D.line+=1,D.lineStart=D.position,D.firstTabInLine=-1}function c(D,F,$){var J=0,B=D.input.charCodeAt(D.position);while(B!==0){while(d2(B)){if(B===9&&D.firstTabInLine===-1)D.firstTabInLine=D.position;B=D.input.charCodeAt(++D.position)}if(F&&B===35)do B=D.input.charCodeAt(++D.position);while(B!==10&&B!==13&&B!==0);if(fD(B)){b1(D),B=D.input.charCodeAt(D.position),J++,D.lineIndent=0;while(B===32)D.lineIndent++,B=D.input.charCodeAt(++D.position)}else break}if($!==-1&&J!==0&&D.lineIndent<$)Z8(D,"deficient indentation");return J}function S8(D){var F=D.position,$;if($=D.input.charCodeAt(F),($===45||$===46)&&$===D.input.charCodeAt(F+1)&&$===D.input.charCodeAt(F+2)){if(F+=3,$=D.input.charCodeAt(F),$===0||YD($))return!0}return!1}function v1(D,F){if(F===1)D.result+=" ";else if(F>1)D.result+=i.repeat(`
63
- `,F-1)}function iG(D,F,$){var J,B,X,Q,Y,q,G,H,V=D.kind,U=D.result,W;if(W=D.input.charCodeAt(D.position),YD(W)||T0(W)||W===35||W===38||W===42||W===33||W===124||W===62||W===39||W===34||W===37||W===64||W===96)return!1;if(W===63||W===45){if(B=D.input.charCodeAt(D.position+1),YD(B)||$&&T0(B))return!1}D.kind="scalar",D.result="",X=Q=D.position,Y=!1;while(W!==0){if(W===58){if(B=D.input.charCodeAt(D.position+1),YD(B)||$&&T0(B))break}else if(W===35){if(J=D.input.charCodeAt(D.position-1),YD(J))break}else if(D.position===D.lineStart&&S8(D)||$&&T0(W))break;else if(fD(W))if(q=D.line,G=D.lineStart,H=D.lineIndent,c(D,!1,-1),D.lineIndent>=F){Y=!0,W=D.input.charCodeAt(D.position);continue}else{D.position=Q,D.line=q,D.lineStart=G,D.lineIndent=H;break}if(Y)Y2(D,X,Q,!1),v1(D,D.line-q),X=Q=D.position,Y=!1;if(!d2(W))Q=D.position+1;W=D.input.charCodeAt(++D.position)}if(Y2(D,X,Q,!1),D.result)return!0;return D.kind=V,D.result=U,!1}function rG(D,F){var $,J,B;if($=D.input.charCodeAt(D.position),$!==39)return!1;D.kind="scalar",D.result="",D.position++,J=B=D.position;while(($=D.input.charCodeAt(D.position))!==0)if($===39)if(Y2(D,J,D.position,!0),$=D.input.charCodeAt(++D.position),$===39)J=D.position,D.position++,B=D.position;else return!0;else if(fD($))Y2(D,J,B,!0),v1(D,c(D,!1,F)),J=B=D.position;else if(D.position===D.lineStart&&S8(D))L(D,"unexpected end of the document within a single quoted scalar");else D.position++,B=D.position;L(D,"unexpected end of the stream within a single quoted scalar")}function nG(D,F){var $,J,B,X,Q,Y;if(Y=D.input.charCodeAt(D.position),Y!==34)return!1;D.kind="scalar",D.result="",D.position++,$=J=D.position;while((Y=D.input.charCodeAt(D.position))!==0)if(Y===34)return Y2(D,$,D.position,!0),D.position++,!0;else if(Y===92){if(Y2(D,$,D.position,!0),Y=D.input.charCodeAt(++D.position),fD(Y))c(D,!1,F);else if(Y<256&&o4[Y])D.result+=s4[Y],D.position++;else if((Q=lG(Y))>0){B=Q,X=0;for(;B>0;B--)if(Y=D.input.charCodeAt(++D.position),(Q=mG(Y))>=0)X=(X<<4)+Q;else L(D,"expected hexadecimal character");D.result+=dG(X),D.position++}else L(D,"unknown escape sequence");$=J=D.position}else if(fD(Y))Y2(D,$,J,!0),v1(D,c(D,!1,F)),$=J=D.position;else if(D.position===D.lineStart&&S8(D))L(D,"unexpected end of the document within a double quoted scalar");else D.position++,J=D.position;L(D,"unexpected end of the stream within a double quoted scalar")}function oG(D,F){var $=!0,J,B,X,Q=D.tag,Y,q=D.anchor,G,H,V,U,W,z=Object.create(null),A,_,Z,O;if(O=D.input.charCodeAt(D.position),O===91)H=93,W=!1,Y=[];else if(O===123)H=125,W=!0,Y={};else return!1;if(D.anchor!==null)D.anchorMap[D.anchor]=Y;O=D.input.charCodeAt(++D.position);while(O!==0){if(c(D,!0,F),O=D.input.charCodeAt(D.position),O===H)return D.position++,D.tag=Q,D.anchor=q,D.kind=W?"mapping":"sequence",D.result=Y,!0;else if(!$)L(D,"missed comma between flow collection entries");else if(O===44)L(D,"expected the node content, but found ','");if(_=A=Z=null,V=U=!1,O===63){if(G=D.input.charCodeAt(D.position+1),YD(G))V=U=!0,D.position++,c(D,!0,F)}if(J=D.line,B=D.lineStart,X=D.position,S0(D,F,_8,!1,!0),_=D.tag,A=D.result,c(D,!0,F),O=D.input.charCodeAt(D.position),(U||D.line===J)&&O===58)V=!0,O=D.input.charCodeAt(++D.position),c(D,!0,F),S0(D,F,_8,!1,!0),Z=D.result;if(W)N0(D,Y,z,_,A,Z,J,B,X);else if(V)Y.push(N0(D,null,z,_,A,Z,J,B,X));else Y.push(A);if(c(D,!0,F),O=D.input.charCodeAt(D.position),O===44)$=!0,O=D.input.charCodeAt(++D.position);else $=!1}L(D,"unexpected end of the stream within a flow collection")}function sG(D,F){var $,J,B=_1,X=!1,Q=!1,Y=F,q=0,G=!1,H,V;if(V=D.input.charCodeAt(D.position),V===124)J=!1;else if(V===62)J=!0;else return!1;D.kind="scalar",D.result="";while(V!==0)if(V=D.input.charCodeAt(++D.position),V===43||V===45)if(_1===B)B=V===43?Z4:xG;else L(D,"repeat of a chomping mode identifier");else if((H=pG(V))>=0)if(H===0)L(D,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!Q)Y=F+H-1,Q=!0;else L(D,"repeat of an indentation width identifier");else break;if(d2(V)){do V=D.input.charCodeAt(++D.position);while(d2(V));if(V===35)do V=D.input.charCodeAt(++D.position);while(!fD(V)&&V!==0)}while(V!==0){b1(D),D.lineIndent=0,V=D.input.charCodeAt(D.position);while((!Q||D.lineIndent<Y)&&V===32)D.lineIndent++,V=D.input.charCodeAt(++D.position);if(!Q&&D.lineIndent>Y)Y=D.lineIndent;if(fD(V)){q++;continue}if(D.lineIndent<Y){if(B===Z4)D.result+=i.repeat(`
61
+ `}return Y.replace(/\n$/,"")}function fq(D){var F={};if(D!==null)Object.keys(D).forEach(function($){D[$].forEach(function(J){F[String(J)]=$})});return F}function uq(D,F){if(F=F||{},Object.keys(F).forEach(function($){if(kq.indexOf($)===-1)throw new YD('Unknown option "'+$+'" is met in definition of "'+D+'" YAML type.')}),this.options=F,this.tag=D,this.kind=F.kind||null,this.resolve=F.resolve||function(){return!0},this.construct=F.construct||function($){return $},this.instanceOf=F.instanceOf||null,this.predicate=F.predicate||null,this.represent=F.represent||null,this.representName=F.representName||null,this.defaultStyle=F.defaultStyle||null,this.multi=F.multi||!1,this.styleAliases=fq(F.styleAliases||null),wq.indexOf(this.kind)===-1)throw new YD('Unknown kind "'+this.kind+'" is specified for "'+D+'" YAML type.')}function L4(D,F){var $=[];return D[F].forEach(function(J){var B=$.length;$.forEach(function(X,Q){if(X.tag===J.tag&&X.kind===J.kind&&X.multi===J.multi)B=Q}),$[B]=J}),$}function xq(){var D={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},F,$;function J(B){if(B.multi)D.multi[B.kind].push(B),D.multi.fallback.push(B);else D[B.kind][B.tag]=D.fallback[B.tag]=B}for(F=0,$=arguments.length;F<$;F+=1)arguments[F].forEach(J);return D}function L1(D){return this.extend(D)}function pq(D){if(D===null)return!0;var F=D.length;return F===1&&D==="~"||F===4&&(D==="null"||D==="Null"||D==="NULL")}function dq(){return null}function cq(D){return D===null}function rq(D){if(D===null)return!1;var F=D.length;return F===4&&(D==="true"||D==="True"||D==="TRUE")||F===5&&(D==="false"||D==="False"||D==="FALSE")}function nq(D){return D==="true"||D==="True"||D==="TRUE"}function oq(D){return Object.prototype.toString.call(D)==="[object Boolean]"}function aq(D){return 48<=D&&D<=57||65<=D&&D<=70||97<=D&&D<=102}function tq(D){return 48<=D&&D<=55}function eq(D){return 48<=D&&D<=57}function DG(D){if(D===null)return!1;var F=D.length,$=0,J=!1,B;if(!F)return!1;if(B=D[$],B==="-"||B==="+")B=D[++$];if(B==="0"){if($+1===F)return!0;if(B=D[++$],B==="b"){$++;for(;$<F;$++){if(B=D[$],B==="_")continue;if(B!=="0"&&B!=="1")return!1;J=!0}return J&&B!=="_"}if(B==="x"){$++;for(;$<F;$++){if(B=D[$],B==="_")continue;if(!aq(D.charCodeAt($)))return!1;J=!0}return J&&B!=="_"}if(B==="o"){$++;for(;$<F;$++){if(B=D[$],B==="_")continue;if(!tq(D.charCodeAt($)))return!1;J=!0}return J&&B!=="_"}}if(B==="_")return!1;for(;$<F;$++){if(B=D[$],B==="_")continue;if(!eq(D.charCodeAt($)))return!1;J=!0}if(!J||B==="_")return!1;return!0}function FG(D){var F=D,$=1,J;if(F.indexOf("_")!==-1)F=F.replace(/_/g,"");if(J=F[0],J==="-"||J==="+"){if(J==="-")$=-1;F=F.slice(1),J=F[0]}if(F==="0")return 0;if(J==="0"){if(F[1]==="b")return $*parseInt(F.slice(2),2);if(F[1]==="x")return $*parseInt(F.slice(2),16);if(F[1]==="o")return $*parseInt(F.slice(2),8)}return $*parseInt(F,10)}function $G(D){return Object.prototype.toString.call(D)==="[object Number]"&&(D%1===0&&!i.isNegativeZero(D))}function XG(D){if(D===null)return!1;if(!BG.test(D)||D[D.length-1]==="_")return!1;return!0}function QG(D){var F,$;if(F=D.replace(/_/g,"").toLowerCase(),$=F[0]==="-"?-1:1,"+-".indexOf(F[0])>=0)F=F.slice(1);if(F===".inf")return $===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;else if(F===".nan")return NaN;return $*parseFloat(F,10)}function qG(D,F){var $;if(isNaN(D))switch(F){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===D)switch(F){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===D)switch(F){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(D))return"-0.0";return $=D.toString(10),YG.test($)?$.replace("e",".e"):$}function GG(D){return Object.prototype.toString.call(D)==="[object Number]"&&(D%1!==0||i.isNegativeZero(D))}function UG(D){if(D===null)return!1;if(m4.exec(D)!==null)return!0;if(l4.exec(D)!==null)return!0;return!1}function zG(D){var F,$,J,B,X,Q,Y,q=0,G=null,H,V,U;if(F=m4.exec(D),F===null)F=l4.exec(D);if(F===null)throw Error("Date resolve error");if($=+F[1],J=+F[2]-1,B=+F[3],!F[4])return new Date(Date.UTC($,J,B));if(X=+F[4],Q=+F[5],Y=+F[6],F[7]){q=F[7].slice(0,3);while(q.length<3)q+="0";q=+q}if(F[9]){if(H=+F[10],V=+(F[11]||0),G=(H*60+V)*60000,F[9]==="-")G=-G}if(U=new Date(Date.UTC($,J,B,X,Q,Y,q)),G)U.setTime(U.getTime()-G);return U}function KG(D){return D.toISOString()}function EG(D){return D==="<<"||D===null}function RG(D){if(D===null)return!1;var F,$,J=0,B=D.length,X=I1;for($=0;$<B;$++){if(F=X.indexOf(D.charAt($)),F>64)continue;if(F<0)return!1;J+=6}return J%8===0}function OG(D){var F,$,J=D.replace(/[\r\n=]/g,""),B=J.length,X=I1,Q=0,Y=[];for(F=0;F<B;F++){if(F%4===0&&F)Y.push(Q>>16&255),Y.push(Q>>8&255),Y.push(Q&255);Q=Q<<6|X.indexOf(J.charAt(F))}if($=B%4*6,$===0)Y.push(Q>>16&255),Y.push(Q>>8&255),Y.push(Q&255);else if($===18)Y.push(Q>>10&255),Y.push(Q>>2&255);else if($===12)Y.push(Q>>4&255);return new Uint8Array(Y)}function CG(D){var F="",$=0,J,B,X=D.length,Q=I1;for(J=0;J<X;J++){if(J%3===0&&J)F+=Q[$>>18&63],F+=Q[$>>12&63],F+=Q[$>>6&63],F+=Q[$&63];$=($<<8)+D[J]}if(B=X%3,B===0)F+=Q[$>>18&63],F+=Q[$>>12&63],F+=Q[$>>6&63],F+=Q[$&63];else if(B===2)F+=Q[$>>10&63],F+=Q[$>>4&63],F+=Q[$<<2&63],F+=Q[64];else if(B===1)F+=Q[$>>2&63],F+=Q[$<<4&63],F+=Q[64],F+=Q[64];return F}function jG(D){return Object.prototype.toString.call(D)==="[object Uint8Array]"}function TG(D){if(D===null)return!0;var F=[],$,J,B,X,Q,Y=D;for($=0,J=Y.length;$<J;$+=1){if(B=Y[$],Q=!1,ZG.call(B)!=="[object Object]")return!1;for(X in B)if(LG.call(B,X))if(!Q)Q=!0;else return!1;if(!Q)return!1;if(F.indexOf(X)===-1)F.push(X);else return!1}return!0}function NG(D){return D!==null?D:[]}function bG(D){if(D===null)return!0;var F,$,J,B,X,Q=D;X=Array(Q.length);for(F=0,$=Q.length;F<$;F+=1){if(J=Q[F],IG.call(J)!=="[object Object]")return!1;if(B=Object.keys(J),B.length!==1)return!1;X[F]=[B[0],J[B[0]]]}return!0}function vG(D){if(D===null)return[];var F,$,J,B,X,Q=D;X=Array(Q.length);for(F=0,$=Q.length;F<$;F+=1)J=Q[F],B=Object.keys(J),X[F]=[B[0],J[B[0]]];return X}function wG(D){if(D===null)return!0;var F,$=D;for(F in $)if(kG.call($,F)){if($[F]!==null)return!1}return!0}function fG(D){return D!==null?D:{}}function T4(D){return Object.prototype.toString.call(D)}function fD(D){return D===10||D===13}function d2(D){return D===9||D===32}function qD(D){return D===9||D===32||D===10||D===13}function T0(D){return D===44||D===91||D===93||D===123||D===125}function mG(D){var F;if(48<=D&&D<=57)return D-48;if(F=D|32,97<=F&&F<=102)return F-97+10;return-1}function lG(D){if(D===120)return 2;if(D===117)return 4;if(D===85)return 8;return 0}function pG(D){if(48<=D&&D<=57)return D-48;return-1}function N4(D){return D===48?"\x00":D===97?"\x07":D===98?"\b":D===116?"\t":D===9?"\t":D===110?`
62
+ `:D===118?"\v":D===102?"\f":D===114?"\r":D===101?"\x1B":D===32?" ":D===34?'"':D===47?"/":D===92?"\\":D===78?"\x85":D===95?"\xA0":D===76?"\u2028":D===80?"\u2029":""}function dG(D){if(D<=65535)return String.fromCharCode(D);return String.fromCharCode((D-65536>>10)+55296,(D-65536&1023)+56320)}function n4(D,F,$){if(F==="__proto__")Object.defineProperty(D,F,{configurable:!0,enumerable:!0,writable:!0,value:$});else D[F]=$}function cG(D,F){this.input=D,this.filename=F.filename||null,this.schema=F.schema||p4,this.onWarning=F.onWarning||null,this.legacy=F.legacy||!1,this.json=F.json||!1,this.listener=F.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=D.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function a4(D,F){var $={name:D.filename,buffer:D.input.slice(0,-1),position:D.position,line:D.line,column:D.position-D.lineStart};return $.snippet=Pq($),new YD(F,$)}function L(D,F){throw a4(D,F)}function Z8(D,F){if(D.onWarning)D.onWarning.call(null,a4(D,F))}function Y2(D,F,$,J){var B,X,Q,Y;if(F<$){if(Y=D.input.slice(F,$),J){for(B=0,X=Y.length;B<X;B+=1)if(Q=Y.charCodeAt(B),!(Q===9||32<=Q&&Q<=1114111))L(D,"expected valid JSON character")}else if(yG.test(Y))L(D,"the stream contains non-printable characters");D.result+=Y}}function I4(D,F,$,J){var B,X,Q,Y;if(!i.isObject($))L(D,"cannot merge mappings; the provided source object is unacceptable");B=Object.keys($);for(Q=0,Y=B.length;Q<Y;Q+=1)if(X=B[Q],!q2.call(F,X))n4(F,X,$[X]),J[X]=!0}function N0(D,F,$,J,B,X,Q,Y,q){var G,H;if(Array.isArray(B)){B=Array.prototype.slice.call(B);for(G=0,H=B.length;G<H;G+=1){if(Array.isArray(B[G]))L(D,"nested arrays are not supported inside keys");if(typeof B==="object"&&T4(B[G])==="[object Object]")B[G]="[object Object]"}}if(typeof B==="object"&&T4(B)==="[object Object]")B="[object Object]";if(B=String(B),F===null)F={};if(J==="tag:yaml.org,2002:merge")if(Array.isArray(X))for(G=0,H=X.length;G<H;G+=1)I4(D,F,X[G],$);else I4(D,F,X,$);else{if(!D.json&&!q2.call($,B)&&q2.call(F,B))D.line=Q||D.line,D.lineStart=Y||D.lineStart,D.position=q||D.position,L(D,"duplicated mapping key");n4(F,B,X),delete $[B]}return F}function b1(D){var F=D.input.charCodeAt(D.position);if(F===10)D.position++;else if(F===13){if(D.position++,D.input.charCodeAt(D.position)===10)D.position++}else L(D,"a line break is expected");D.line+=1,D.lineStart=D.position,D.firstTabInLine=-1}function c(D,F,$){var J=0,B=D.input.charCodeAt(D.position);while(B!==0){while(d2(B)){if(B===9&&D.firstTabInLine===-1)D.firstTabInLine=D.position;B=D.input.charCodeAt(++D.position)}if(F&&B===35)do B=D.input.charCodeAt(++D.position);while(B!==10&&B!==13&&B!==0);if(fD(B)){b1(D),B=D.input.charCodeAt(D.position),J++,D.lineIndent=0;while(B===32)D.lineIndent++,B=D.input.charCodeAt(++D.position)}else break}if($!==-1&&J!==0&&D.lineIndent<$)Z8(D,"deficient indentation");return J}function S8(D){var F=D.position,$;if($=D.input.charCodeAt(F),($===45||$===46)&&$===D.input.charCodeAt(F+1)&&$===D.input.charCodeAt(F+2)){if(F+=3,$=D.input.charCodeAt(F),$===0||qD($))return!0}return!1}function v1(D,F){if(F===1)D.result+=" ";else if(F>1)D.result+=i.repeat(`
63
+ `,F-1)}function iG(D,F,$){var J,B,X,Q,Y,q,G,H,V=D.kind,U=D.result,W;if(W=D.input.charCodeAt(D.position),qD(W)||T0(W)||W===35||W===38||W===42||W===33||W===124||W===62||W===39||W===34||W===37||W===64||W===96)return!1;if(W===63||W===45){if(B=D.input.charCodeAt(D.position+1),qD(B)||$&&T0(B))return!1}D.kind="scalar",D.result="",X=Q=D.position,Y=!1;while(W!==0){if(W===58){if(B=D.input.charCodeAt(D.position+1),qD(B)||$&&T0(B))break}else if(W===35){if(J=D.input.charCodeAt(D.position-1),qD(J))break}else if(D.position===D.lineStart&&S8(D)||$&&T0(W))break;else if(fD(W))if(q=D.line,G=D.lineStart,H=D.lineIndent,c(D,!1,-1),D.lineIndent>=F){Y=!0,W=D.input.charCodeAt(D.position);continue}else{D.position=Q,D.line=q,D.lineStart=G,D.lineIndent=H;break}if(Y)Y2(D,X,Q,!1),v1(D,D.line-q),X=Q=D.position,Y=!1;if(!d2(W))Q=D.position+1;W=D.input.charCodeAt(++D.position)}if(Y2(D,X,Q,!1),D.result)return!0;return D.kind=V,D.result=U,!1}function rG(D,F){var $,J,B;if($=D.input.charCodeAt(D.position),$!==39)return!1;D.kind="scalar",D.result="",D.position++,J=B=D.position;while(($=D.input.charCodeAt(D.position))!==0)if($===39)if(Y2(D,J,D.position,!0),$=D.input.charCodeAt(++D.position),$===39)J=D.position,D.position++,B=D.position;else return!0;else if(fD($))Y2(D,J,B,!0),v1(D,c(D,!1,F)),J=B=D.position;else if(D.position===D.lineStart&&S8(D))L(D,"unexpected end of the document within a single quoted scalar");else D.position++,B=D.position;L(D,"unexpected end of the stream within a single quoted scalar")}function nG(D,F){var $,J,B,X,Q,Y;if(Y=D.input.charCodeAt(D.position),Y!==34)return!1;D.kind="scalar",D.result="",D.position++,$=J=D.position;while((Y=D.input.charCodeAt(D.position))!==0)if(Y===34)return Y2(D,$,D.position,!0),D.position++,!0;else if(Y===92){if(Y2(D,$,D.position,!0),Y=D.input.charCodeAt(++D.position),fD(Y))c(D,!1,F);else if(Y<256&&o4[Y])D.result+=s4[Y],D.position++;else if((Q=lG(Y))>0){B=Q,X=0;for(;B>0;B--)if(Y=D.input.charCodeAt(++D.position),(Q=mG(Y))>=0)X=(X<<4)+Q;else L(D,"expected hexadecimal character");D.result+=dG(X),D.position++}else L(D,"unknown escape sequence");$=J=D.position}else if(fD(Y))Y2(D,$,J,!0),v1(D,c(D,!1,F)),$=J=D.position;else if(D.position===D.lineStart&&S8(D))L(D,"unexpected end of the document within a double quoted scalar");else D.position++,J=D.position;L(D,"unexpected end of the stream within a double quoted scalar")}function oG(D,F){var $=!0,J,B,X,Q=D.tag,Y,q=D.anchor,G,H,V,U,W,z=Object.create(null),A,_,Z,O;if(O=D.input.charCodeAt(D.position),O===91)H=93,W=!1,Y=[];else if(O===123)H=125,W=!0,Y={};else return!1;if(D.anchor!==null)D.anchorMap[D.anchor]=Y;O=D.input.charCodeAt(++D.position);while(O!==0){if(c(D,!0,F),O=D.input.charCodeAt(D.position),O===H)return D.position++,D.tag=Q,D.anchor=q,D.kind=W?"mapping":"sequence",D.result=Y,!0;else if(!$)L(D,"missed comma between flow collection entries");else if(O===44)L(D,"expected the node content, but found ','");if(_=A=Z=null,V=U=!1,O===63){if(G=D.input.charCodeAt(D.position+1),qD(G))V=U=!0,D.position++,c(D,!0,F)}if(J=D.line,B=D.lineStart,X=D.position,S0(D,F,_8,!1,!0),_=D.tag,A=D.result,c(D,!0,F),O=D.input.charCodeAt(D.position),(U||D.line===J)&&O===58)V=!0,O=D.input.charCodeAt(++D.position),c(D,!0,F),S0(D,F,_8,!1,!0),Z=D.result;if(W)N0(D,Y,z,_,A,Z,J,B,X);else if(V)Y.push(N0(D,null,z,_,A,Z,J,B,X));else Y.push(A);if(c(D,!0,F),O=D.input.charCodeAt(D.position),O===44)$=!0,O=D.input.charCodeAt(++D.position);else $=!1}L(D,"unexpected end of the stream within a flow collection")}function sG(D,F){var $,J,B=_1,X=!1,Q=!1,Y=F,q=0,G=!1,H,V;if(V=D.input.charCodeAt(D.position),V===124)J=!1;else if(V===62)J=!0;else return!1;D.kind="scalar",D.result="";while(V!==0)if(V=D.input.charCodeAt(++D.position),V===43||V===45)if(_1===B)B=V===43?Z4:xG;else L(D,"repeat of a chomping mode identifier");else if((H=pG(V))>=0)if(H===0)L(D,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!Q)Y=F+H-1,Q=!0;else L(D,"repeat of an indentation width identifier");else break;if(d2(V)){do V=D.input.charCodeAt(++D.position);while(d2(V));if(V===35)do V=D.input.charCodeAt(++D.position);while(!fD(V)&&V!==0)}while(V!==0){b1(D),D.lineIndent=0,V=D.input.charCodeAt(D.position);while((!Q||D.lineIndent<Y)&&V===32)D.lineIndent++,V=D.input.charCodeAt(++D.position);if(!Q&&D.lineIndent>Y)Y=D.lineIndent;if(fD(V)){q++;continue}if(D.lineIndent<Y){if(B===Z4)D.result+=i.repeat(`
64
64
  `,X?1+q:q);else if(B===_1){if(X)D.result+=`
65
65
  `}break}if(J)if(d2(V))G=!0,D.result+=i.repeat(`
66
66
  `,X?1+q:q);else if(G)G=!1,D.result+=i.repeat(`
67
67
  `,q+1);else if(q===0){if(X)D.result+=" "}else D.result+=i.repeat(`
68
68
  `,q);else D.result+=i.repeat(`
69
- `,X?1+q:q);X=!0,Q=!0,q=0,$=D.position;while(!fD(V)&&V!==0)V=D.input.charCodeAt(++D.position);Y2(D,$,D.position,!1)}return!0}function b4(D,F){var $,J=D.tag,B=D.anchor,X=[],Q,Y=!1,q;if(D.firstTabInLine!==-1)return!1;if(D.anchor!==null)D.anchorMap[D.anchor]=X;q=D.input.charCodeAt(D.position);while(q!==0){if(D.firstTabInLine!==-1)D.position=D.firstTabInLine,L(D,"tab characters must not be used in indentation");if(q!==45)break;if(Q=D.input.charCodeAt(D.position+1),!YD(Q))break;if(Y=!0,D.position++,c(D,!0,-1)){if(D.lineIndent<=F){X.push(null),q=D.input.charCodeAt(D.position);continue}}if($=D.line,S0(D,F,c4,!1,!0),X.push(D.result),c(D,!0,-1),q=D.input.charCodeAt(D.position),(D.line===$||D.lineIndent>F)&&q!==0)L(D,"bad indentation of a sequence entry");else if(D.lineIndent<F)break}if(Y)return D.tag=J,D.anchor=B,D.kind="sequence",D.result=X,!0;return!1}function aG(D,F,$){var J,B,X,Q,Y,q,G=D.tag,H=D.anchor,V={},U=Object.create(null),W=null,z=null,A=null,_=!1,Z=!1,O;if(D.firstTabInLine!==-1)return!1;if(D.anchor!==null)D.anchorMap[D.anchor]=V;O=D.input.charCodeAt(D.position);while(O!==0){if(!_&&D.firstTabInLine!==-1)D.position=D.firstTabInLine,L(D,"tab characters must not be used in indentation");if(J=D.input.charCodeAt(D.position+1),X=D.line,(O===63||O===58)&&YD(J)){if(O===63){if(_)N0(D,V,U,W,z,null,Q,Y,q),W=z=A=null;Z=!0,_=!0,B=!0}else if(_)_=!1,B=!0;else L(D,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");D.position+=1,O=J}else{if(Q=D.line,Y=D.lineStart,q=D.position,!S0(D,$,d4,!1,!0))break;if(D.line===X){O=D.input.charCodeAt(D.position);while(d2(O))O=D.input.charCodeAt(++D.position);if(O===58){if(O=D.input.charCodeAt(++D.position),!YD(O))L(D,"a whitespace character is expected after the key-value separator within a block mapping");if(_)N0(D,V,U,W,z,null,Q,Y,q),W=z=A=null;Z=!0,_=!1,B=!1,W=D.tag,z=D.result}else if(Z)L(D,"can not read an implicit mapping pair; a colon is missed");else return D.tag=G,D.anchor=H,!0}else if(Z)L(D,"can not read a block mapping entry; a multiline key may not be an implicit key");else return D.tag=G,D.anchor=H,!0}if(D.line===X||D.lineIndent>F){if(_)Q=D.line,Y=D.lineStart,q=D.position;if(S0(D,F,L8,!0,B))if(_)z=D.result;else A=D.result;if(!_)N0(D,V,U,W,z,A,Q,Y,q),W=z=A=null;c(D,!0,-1),O=D.input.charCodeAt(D.position)}if((D.line===X||D.lineIndent>F)&&O!==0)L(D,"bad indentation of a mapping entry");else if(D.lineIndent<F)break}if(_)N0(D,V,U,W,z,null,Q,Y,q);if(Z)D.tag=G,D.anchor=H,D.kind="mapping",D.result=V;return Z}function tG(D){var F,$=!1,J=!1,B,X,Q;if(Q=D.input.charCodeAt(D.position),Q!==33)return!1;if(D.tag!==null)L(D,"duplication of a tag property");if(Q=D.input.charCodeAt(++D.position),Q===60)$=!0,Q=D.input.charCodeAt(++D.position);else if(Q===33)J=!0,B="!!",Q=D.input.charCodeAt(++D.position);else B="!";if(F=D.position,$){do Q=D.input.charCodeAt(++D.position);while(Q!==0&&Q!==62);if(D.position<D.length)X=D.input.slice(F,D.position),Q=D.input.charCodeAt(++D.position);else L(D,"unexpected end of the stream within a verbatim tag")}else{while(Q!==0&&!YD(Q)){if(Q===33)if(!J){if(B=D.input.slice(F-1,D.position+1),!i4.test(B))L(D,"named tag handle cannot contain such characters");J=!0,F=D.position+1}else L(D,"tag suffix cannot contain exclamation marks");Q=D.input.charCodeAt(++D.position)}if(X=D.input.slice(F,D.position),gG.test(X))L(D,"tag suffix cannot contain flow indicator characters")}if(X&&!r4.test(X))L(D,"tag name cannot contain such characters: "+X);try{X=decodeURIComponent(X)}catch(Y){L(D,"tag name is malformed: "+X)}if($)D.tag=X;else if(q2.call(D.tagMap,B))D.tag=D.tagMap[B]+X;else if(B==="!")D.tag="!"+X;else if(B==="!!")D.tag="tag:yaml.org,2002:"+X;else L(D,'undeclared tag handle "'+B+'"');return!0}function eG(D){var F,$;if($=D.input.charCodeAt(D.position),$!==38)return!1;if(D.anchor!==null)L(D,"duplication of an anchor property");$=D.input.charCodeAt(++D.position),F=D.position;while($!==0&&!YD($)&&!T0($))$=D.input.charCodeAt(++D.position);if(D.position===F)L(D,"name of an anchor node must contain at least one character");return D.anchor=D.input.slice(F,D.position),!0}function DH(D){var F,$,J;if(J=D.input.charCodeAt(D.position),J!==42)return!1;J=D.input.charCodeAt(++D.position),F=D.position;while(J!==0&&!YD(J)&&!T0(J))J=D.input.charCodeAt(++D.position);if(D.position===F)L(D,"name of an alias node must contain at least one character");if($=D.input.slice(F,D.position),!q2.call(D.anchorMap,$))L(D,'unidentified alias "'+$+'"');return D.result=D.anchorMap[$],c(D,!0,-1),!0}function S0(D,F,$,J,B){var X,Q,Y,q=1,G=!1,H=!1,V,U,W,z,A,_;if(D.listener!==null)D.listener("open",D);if(D.tag=null,D.anchor=null,D.kind=null,D.result=null,X=Q=Y=L8===$||c4===$,J){if(c(D,!0,-1)){if(G=!0,D.lineIndent>F)q=1;else if(D.lineIndent===F)q=0;else if(D.lineIndent<F)q=-1}}if(q===1)while(tG(D)||eG(D))if(c(D,!0,-1)){if(G=!0,Y=X,D.lineIndent>F)q=1;else if(D.lineIndent===F)q=0;else if(D.lineIndent<F)q=-1}else Y=!1;if(Y)Y=G||B;if(q===1||L8===$){if(_8===$||d4===$)A=F;else A=F+1;if(_=D.position-D.lineStart,q===1)if(Y&&(b4(D,_)||aG(D,_,A))||oG(D,A))H=!0;else{if(Q&&sG(D,A)||rG(D,A)||nG(D,A))H=!0;else if(DH(D)){if(H=!0,D.tag!==null||D.anchor!==null)L(D,"alias node should not have any properties")}else if(iG(D,A,_8===$)){if(H=!0,D.tag===null)D.tag="?"}if(D.anchor!==null)D.anchorMap[D.anchor]=D.result}else if(q===0)H=Y&&b4(D,_)}if(D.tag===null){if(D.anchor!==null)D.anchorMap[D.anchor]=D.result}else if(D.tag==="?"){if(D.result!==null&&D.kind!=="scalar")L(D,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+D.kind+'"');for(V=0,U=D.implicitTypes.length;V<U;V+=1)if(z=D.implicitTypes[V],z.resolve(D.result)){if(D.result=z.construct(D.result),D.tag=z.tag,D.anchor!==null)D.anchorMap[D.anchor]=D.result;break}}else if(D.tag!=="!"){if(q2.call(D.typeMap[D.kind||"fallback"],D.tag))z=D.typeMap[D.kind||"fallback"][D.tag];else{z=null,W=D.typeMap.multi[D.kind||"fallback"];for(V=0,U=W.length;V<U;V+=1)if(D.tag.slice(0,W[V].tag.length)===W[V].tag){z=W[V];break}}if(!z)L(D,"unknown tag !<"+D.tag+">");if(D.result!==null&&z.kind!==D.kind)L(D,"unacceptable node kind for !<"+D.tag+'> tag; it should be "'+z.kind+'", not "'+D.kind+'"');if(!z.resolve(D.result,D.tag))L(D,"cannot resolve a node with !<"+D.tag+"> explicit tag");else if(D.result=z.construct(D.result,D.tag),D.anchor!==null)D.anchorMap[D.anchor]=D.result}if(D.listener!==null)D.listener("close",D);return D.tag!==null||D.anchor!==null||H}function FH(D){var F=D.position,$,J,B,X=!1,Q;D.version=null,D.checkLineBreaks=D.legacy,D.tagMap=Object.create(null),D.anchorMap=Object.create(null);while((Q=D.input.charCodeAt(D.position))!==0){if(c(D,!0,-1),Q=D.input.charCodeAt(D.position),D.lineIndent>0||Q!==37)break;X=!0,Q=D.input.charCodeAt(++D.position),$=D.position;while(Q!==0&&!YD(Q))Q=D.input.charCodeAt(++D.position);if(J=D.input.slice($,D.position),B=[],J.length<1)L(D,"directive name must not be less than one character in length");while(Q!==0){while(d2(Q))Q=D.input.charCodeAt(++D.position);if(Q===35){do Q=D.input.charCodeAt(++D.position);while(Q!==0&&!fD(Q));break}if(fD(Q))break;$=D.position;while(Q!==0&&!YD(Q))Q=D.input.charCodeAt(++D.position);B.push(D.input.slice($,D.position))}if(Q!==0)b1(D);if(q2.call(S4,J))S4[J](D,J,B);else Z8(D,'unknown document directive "'+J+'"')}if(c(D,!0,-1),D.lineIndent===0&&D.input.charCodeAt(D.position)===45&&D.input.charCodeAt(D.position+1)===45&&D.input.charCodeAt(D.position+2)===45)D.position+=3,c(D,!0,-1);else if(X)L(D,"directives end mark is expected");if(S0(D,D.lineIndent-1,L8,!1,!0),c(D,!0,-1),D.checkLineBreaks&&hG.test(D.input.slice(F,D.position)))Z8(D,"non-ASCII line breaks are interpreted as content");if(D.documents.push(D.result),D.position===D.lineStart&&S8(D)){if(D.input.charCodeAt(D.position)===46)D.position+=3,c(D,!0,-1);return}if(D.position<D.length-1)L(D,"end of the stream or a document separator is expected");else return}function t4(D,F){if(D=String(D),F=F||{},D.length!==0){if(D.charCodeAt(D.length-1)!==10&&D.charCodeAt(D.length-1)!==13)D+=`
70
- `;if(D.charCodeAt(0)===65279)D=D.slice(1)}var $=new cG(D,F),J=D.indexOf("\x00");if(J!==-1)$.position=J,L($,"null byte is not allowed in input");$.input+="\x00";while($.input.charCodeAt($.position)===32)$.lineIndent+=1,$.position+=1;while($.position<$.length-1)FH($);return $.documents}function $H(D,F,$){if(F!==null&&typeof F==="object"&&typeof $>"u")$=F,F=null;var J=t4(D,$);if(typeof F!=="function")return J;for(var B=0,X=J.length;B<X;B+=1)F(J[B])}function JH(D,F){var $=t4(D,F);if($.length===0)return;else if($.length===1)return $[0];throw new QD("expected a single document in the stream, but found more")}function LH(D,F){var $,J,B,X,Q,Y,q;if(F===null)return{};$={},J=Object.keys(F);for(B=0,X=J.length;B<X;B+=1){if(Q=J[B],Y=String(F[Q]),Q.slice(0,2)==="!!")Q="tag:yaml.org,2002:"+Q.slice(2);if(q=D.compiledTypeMap.fallback[Q],q&&FF.call(q.styleAliases,Y))Y=q.styleAliases[Y];$[Q]=Y}return $}function ZH(D){var F,$,J;if(F=D.toString(16).toUpperCase(),D<=255)$="x",J=2;else if(D<=65535)$="u",J=4;else if(D<=4294967295)$="U",J=8;else throw new QD("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+$+i.repeat("0",J-F.length)+F}function NH(D){this.schema=D.schema||p4,this.indent=Math.max(1,D.indent||2),this.noArrayIndent=D.noArrayIndent||!1,this.skipInvalid=D.skipInvalid||!1,this.flowLevel=i.isNothing(D.flowLevel)?-1:D.flowLevel,this.styleMap=LH(this.schema,D.styles||null),this.sortKeys=D.sortKeys||!1,this.lineWidth=D.lineWidth||80,this.noRefs=D.noRefs||!1,this.noCompatMode=D.noCompatMode||!1,this.condenseFlow=D.condenseFlow||!1,this.quotingType=D.quotingType==='"'?W3:TH,this.forceQuotes=D.forceQuotes||!1,this.replacer=typeof D.replacer==="function"?D.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function v4(D,F){var $=i.repeat(" ",F),J=0,B=-1,X="",Q,Y=D.length;while(J<Y){if(B=D.indexOf(`
69
+ `,X?1+q:q);X=!0,Q=!0,q=0,$=D.position;while(!fD(V)&&V!==0)V=D.input.charCodeAt(++D.position);Y2(D,$,D.position,!1)}return!0}function b4(D,F){var $,J=D.tag,B=D.anchor,X=[],Q,Y=!1,q;if(D.firstTabInLine!==-1)return!1;if(D.anchor!==null)D.anchorMap[D.anchor]=X;q=D.input.charCodeAt(D.position);while(q!==0){if(D.firstTabInLine!==-1)D.position=D.firstTabInLine,L(D,"tab characters must not be used in indentation");if(q!==45)break;if(Q=D.input.charCodeAt(D.position+1),!qD(Q))break;if(Y=!0,D.position++,c(D,!0,-1)){if(D.lineIndent<=F){X.push(null),q=D.input.charCodeAt(D.position);continue}}if($=D.line,S0(D,F,c4,!1,!0),X.push(D.result),c(D,!0,-1),q=D.input.charCodeAt(D.position),(D.line===$||D.lineIndent>F)&&q!==0)L(D,"bad indentation of a sequence entry");else if(D.lineIndent<F)break}if(Y)return D.tag=J,D.anchor=B,D.kind="sequence",D.result=X,!0;return!1}function aG(D,F,$){var J,B,X,Q,Y,q,G=D.tag,H=D.anchor,V={},U=Object.create(null),W=null,z=null,A=null,_=!1,Z=!1,O;if(D.firstTabInLine!==-1)return!1;if(D.anchor!==null)D.anchorMap[D.anchor]=V;O=D.input.charCodeAt(D.position);while(O!==0){if(!_&&D.firstTabInLine!==-1)D.position=D.firstTabInLine,L(D,"tab characters must not be used in indentation");if(J=D.input.charCodeAt(D.position+1),X=D.line,(O===63||O===58)&&qD(J)){if(O===63){if(_)N0(D,V,U,W,z,null,Q,Y,q),W=z=A=null;Z=!0,_=!0,B=!0}else if(_)_=!1,B=!0;else L(D,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");D.position+=1,O=J}else{if(Q=D.line,Y=D.lineStart,q=D.position,!S0(D,$,d4,!1,!0))break;if(D.line===X){O=D.input.charCodeAt(D.position);while(d2(O))O=D.input.charCodeAt(++D.position);if(O===58){if(O=D.input.charCodeAt(++D.position),!qD(O))L(D,"a whitespace character is expected after the key-value separator within a block mapping");if(_)N0(D,V,U,W,z,null,Q,Y,q),W=z=A=null;Z=!0,_=!1,B=!1,W=D.tag,z=D.result}else if(Z)L(D,"can not read an implicit mapping pair; a colon is missed");else return D.tag=G,D.anchor=H,!0}else if(Z)L(D,"can not read a block mapping entry; a multiline key may not be an implicit key");else return D.tag=G,D.anchor=H,!0}if(D.line===X||D.lineIndent>F){if(_)Q=D.line,Y=D.lineStart,q=D.position;if(S0(D,F,L8,!0,B))if(_)z=D.result;else A=D.result;if(!_)N0(D,V,U,W,z,A,Q,Y,q),W=z=A=null;c(D,!0,-1),O=D.input.charCodeAt(D.position)}if((D.line===X||D.lineIndent>F)&&O!==0)L(D,"bad indentation of a mapping entry");else if(D.lineIndent<F)break}if(_)N0(D,V,U,W,z,null,Q,Y,q);if(Z)D.tag=G,D.anchor=H,D.kind="mapping",D.result=V;return Z}function tG(D){var F,$=!1,J=!1,B,X,Q;if(Q=D.input.charCodeAt(D.position),Q!==33)return!1;if(D.tag!==null)L(D,"duplication of a tag property");if(Q=D.input.charCodeAt(++D.position),Q===60)$=!0,Q=D.input.charCodeAt(++D.position);else if(Q===33)J=!0,B="!!",Q=D.input.charCodeAt(++D.position);else B="!";if(F=D.position,$){do Q=D.input.charCodeAt(++D.position);while(Q!==0&&Q!==62);if(D.position<D.length)X=D.input.slice(F,D.position),Q=D.input.charCodeAt(++D.position);else L(D,"unexpected end of the stream within a verbatim tag")}else{while(Q!==0&&!qD(Q)){if(Q===33)if(!J){if(B=D.input.slice(F-1,D.position+1),!i4.test(B))L(D,"named tag handle cannot contain such characters");J=!0,F=D.position+1}else L(D,"tag suffix cannot contain exclamation marks");Q=D.input.charCodeAt(++D.position)}if(X=D.input.slice(F,D.position),gG.test(X))L(D,"tag suffix cannot contain flow indicator characters")}if(X&&!r4.test(X))L(D,"tag name cannot contain such characters: "+X);try{X=decodeURIComponent(X)}catch(Y){L(D,"tag name is malformed: "+X)}if($)D.tag=X;else if(q2.call(D.tagMap,B))D.tag=D.tagMap[B]+X;else if(B==="!")D.tag="!"+X;else if(B==="!!")D.tag="tag:yaml.org,2002:"+X;else L(D,'undeclared tag handle "'+B+'"');return!0}function eG(D){var F,$;if($=D.input.charCodeAt(D.position),$!==38)return!1;if(D.anchor!==null)L(D,"duplication of an anchor property");$=D.input.charCodeAt(++D.position),F=D.position;while($!==0&&!qD($)&&!T0($))$=D.input.charCodeAt(++D.position);if(D.position===F)L(D,"name of an anchor node must contain at least one character");return D.anchor=D.input.slice(F,D.position),!0}function DH(D){var F,$,J;if(J=D.input.charCodeAt(D.position),J!==42)return!1;J=D.input.charCodeAt(++D.position),F=D.position;while(J!==0&&!qD(J)&&!T0(J))J=D.input.charCodeAt(++D.position);if(D.position===F)L(D,"name of an alias node must contain at least one character");if($=D.input.slice(F,D.position),!q2.call(D.anchorMap,$))L(D,'unidentified alias "'+$+'"');return D.result=D.anchorMap[$],c(D,!0,-1),!0}function S0(D,F,$,J,B){var X,Q,Y,q=1,G=!1,H=!1,V,U,W,z,A,_;if(D.listener!==null)D.listener("open",D);if(D.tag=null,D.anchor=null,D.kind=null,D.result=null,X=Q=Y=L8===$||c4===$,J){if(c(D,!0,-1)){if(G=!0,D.lineIndent>F)q=1;else if(D.lineIndent===F)q=0;else if(D.lineIndent<F)q=-1}}if(q===1)while(tG(D)||eG(D))if(c(D,!0,-1)){if(G=!0,Y=X,D.lineIndent>F)q=1;else if(D.lineIndent===F)q=0;else if(D.lineIndent<F)q=-1}else Y=!1;if(Y)Y=G||B;if(q===1||L8===$){if(_8===$||d4===$)A=F;else A=F+1;if(_=D.position-D.lineStart,q===1)if(Y&&(b4(D,_)||aG(D,_,A))||oG(D,A))H=!0;else{if(Q&&sG(D,A)||rG(D,A)||nG(D,A))H=!0;else if(DH(D)){if(H=!0,D.tag!==null||D.anchor!==null)L(D,"alias node should not have any properties")}else if(iG(D,A,_8===$)){if(H=!0,D.tag===null)D.tag="?"}if(D.anchor!==null)D.anchorMap[D.anchor]=D.result}else if(q===0)H=Y&&b4(D,_)}if(D.tag===null){if(D.anchor!==null)D.anchorMap[D.anchor]=D.result}else if(D.tag==="?"){if(D.result!==null&&D.kind!=="scalar")L(D,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+D.kind+'"');for(V=0,U=D.implicitTypes.length;V<U;V+=1)if(z=D.implicitTypes[V],z.resolve(D.result)){if(D.result=z.construct(D.result),D.tag=z.tag,D.anchor!==null)D.anchorMap[D.anchor]=D.result;break}}else if(D.tag!=="!"){if(q2.call(D.typeMap[D.kind||"fallback"],D.tag))z=D.typeMap[D.kind||"fallback"][D.tag];else{z=null,W=D.typeMap.multi[D.kind||"fallback"];for(V=0,U=W.length;V<U;V+=1)if(D.tag.slice(0,W[V].tag.length)===W[V].tag){z=W[V];break}}if(!z)L(D,"unknown tag !<"+D.tag+">");if(D.result!==null&&z.kind!==D.kind)L(D,"unacceptable node kind for !<"+D.tag+'> tag; it should be "'+z.kind+'", not "'+D.kind+'"');if(!z.resolve(D.result,D.tag))L(D,"cannot resolve a node with !<"+D.tag+"> explicit tag");else if(D.result=z.construct(D.result,D.tag),D.anchor!==null)D.anchorMap[D.anchor]=D.result}if(D.listener!==null)D.listener("close",D);return D.tag!==null||D.anchor!==null||H}function FH(D){var F=D.position,$,J,B,X=!1,Q;D.version=null,D.checkLineBreaks=D.legacy,D.tagMap=Object.create(null),D.anchorMap=Object.create(null);while((Q=D.input.charCodeAt(D.position))!==0){if(c(D,!0,-1),Q=D.input.charCodeAt(D.position),D.lineIndent>0||Q!==37)break;X=!0,Q=D.input.charCodeAt(++D.position),$=D.position;while(Q!==0&&!qD(Q))Q=D.input.charCodeAt(++D.position);if(J=D.input.slice($,D.position),B=[],J.length<1)L(D,"directive name must not be less than one character in length");while(Q!==0){while(d2(Q))Q=D.input.charCodeAt(++D.position);if(Q===35){do Q=D.input.charCodeAt(++D.position);while(Q!==0&&!fD(Q));break}if(fD(Q))break;$=D.position;while(Q!==0&&!qD(Q))Q=D.input.charCodeAt(++D.position);B.push(D.input.slice($,D.position))}if(Q!==0)b1(D);if(q2.call(S4,J))S4[J](D,J,B);else Z8(D,'unknown document directive "'+J+'"')}if(c(D,!0,-1),D.lineIndent===0&&D.input.charCodeAt(D.position)===45&&D.input.charCodeAt(D.position+1)===45&&D.input.charCodeAt(D.position+2)===45)D.position+=3,c(D,!0,-1);else if(X)L(D,"directives end mark is expected");if(S0(D,D.lineIndent-1,L8,!1,!0),c(D,!0,-1),D.checkLineBreaks&&hG.test(D.input.slice(F,D.position)))Z8(D,"non-ASCII line breaks are interpreted as content");if(D.documents.push(D.result),D.position===D.lineStart&&S8(D)){if(D.input.charCodeAt(D.position)===46)D.position+=3,c(D,!0,-1);return}if(D.position<D.length-1)L(D,"end of the stream or a document separator is expected");else return}function t4(D,F){if(D=String(D),F=F||{},D.length!==0){if(D.charCodeAt(D.length-1)!==10&&D.charCodeAt(D.length-1)!==13)D+=`
70
+ `;if(D.charCodeAt(0)===65279)D=D.slice(1)}var $=new cG(D,F),J=D.indexOf("\x00");if(J!==-1)$.position=J,L($,"null byte is not allowed in input");$.input+="\x00";while($.input.charCodeAt($.position)===32)$.lineIndent+=1,$.position+=1;while($.position<$.length-1)FH($);return $.documents}function $H(D,F,$){if(F!==null&&typeof F==="object"&&typeof $>"u")$=F,F=null;var J=t4(D,$);if(typeof F!=="function")return J;for(var B=0,X=J.length;B<X;B+=1)F(J[B])}function JH(D,F){var $=t4(D,F);if($.length===0)return;else if($.length===1)return $[0];throw new YD("expected a single document in the stream, but found more")}function LH(D,F){var $,J,B,X,Q,Y,q;if(F===null)return{};$={},J=Object.keys(F);for(B=0,X=J.length;B<X;B+=1){if(Q=J[B],Y=String(F[Q]),Q.slice(0,2)==="!!")Q="tag:yaml.org,2002:"+Q.slice(2);if(q=D.compiledTypeMap.fallback[Q],q&&FF.call(q.styleAliases,Y))Y=q.styleAliases[Y];$[Q]=Y}return $}function ZH(D){var F,$,J;if(F=D.toString(16).toUpperCase(),D<=255)$="x",J=2;else if(D<=65535)$="u",J=4;else if(D<=4294967295)$="U",J=8;else throw new YD("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+$+i.repeat("0",J-F.length)+F}function NH(D){this.schema=D.schema||p4,this.indent=Math.max(1,D.indent||2),this.noArrayIndent=D.noArrayIndent||!1,this.skipInvalid=D.skipInvalid||!1,this.flowLevel=i.isNothing(D.flowLevel)?-1:D.flowLevel,this.styleMap=LH(this.schema,D.styles||null),this.sortKeys=D.sortKeys||!1,this.lineWidth=D.lineWidth||80,this.noRefs=D.noRefs||!1,this.noCompatMode=D.noCompatMode||!1,this.condenseFlow=D.condenseFlow||!1,this.quotingType=D.quotingType==='"'?W3:TH,this.forceQuotes=D.forceQuotes||!1,this.replacer=typeof D.replacer==="function"?D.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function v4(D,F){var $=i.repeat(" ",F),J=0,B=-1,X="",Q,Y=D.length;while(J<Y){if(B=D.indexOf(`
71
71
  `,J),B===-1)Q=D.slice(J),J=Y;else Q=D.slice(J,B+1),J=B+1;if(Q.length&&Q!==`
72
72
  `)X+=$;X+=Q}return X}function T1(D,F){return`
73
- `+i.repeat(" ",D.indent*F)}function SH(D,F){var $,J,B;for($=0,J=D.implicitTypes.length;$<J;$+=1)if(B=D.implicitTypes[$],B.resolve(F))return!0;return!1}function N8(D){return D===qH||D===QH}function U3(D){return 32<=D&&D<=126||161<=D&&D<=55295&&D!==8232&&D!==8233||57344<=D&&D<=65533&&D!==P1||65536<=D&&D<=1114111}function P4(D){return U3(D)&&D!==P1&&D!==YH&&D!==V3}function k4(D,F,$){var J=P4(D),B=J&&!N8(D);return($?J:J&&D!==$F&&D!==JF&&D!==BF&&D!==XF&&D!==QF)&&D!==Z1&&!(F===T8&&!B)||P4(F)&&!N8(F)&&D===Z1||F===T8&&B}function IH(D){return U3(D)&&D!==P1&&!N8(D)&&D!==KH&&D!==AH&&D!==T8&&D!==$F&&D!==JF&&D!==BF&&D!==XF&&D!==QF&&D!==Z1&&D!==WH&&D!==zH&&D!==GH&&D!==CH&&D!==MH&&D!==EH&&D!==UH&&D!==HH&&D!==VH&&D!==RH&&D!==OH}function bH(D){return!N8(D)&&D!==T8}function G3(D,F){var $=D.charCodeAt(F),J;if($>=55296&&$<=56319&&F+1<D.length){if(J=D.charCodeAt(F+1),J>=56320&&J<=57343)return($-55296)*1024+J-56320+65536}return $}function YF(D){var F=/^\n* /;return F.test(D)}function vH(D,F,$,J,B,X,Q,Y){var q,G=0,H=null,V=!1,U=!1,W=J!==-1,z=-1,A=IH(G3(D,0))&&bH(G3(D,D.length-1));if(F||Q)for(q=0;q<D.length;G>=65536?q+=2:q++){if(G=G3(D,q),!U3(G))return Z0;A=A&&k4(G,H,Y),H=G}else{for(q=0;q<D.length;G>=65536?q+=2:q++){if(G=G3(D,q),G===V3){if(V=!0,W)U=U||q-z-1>J&&D[z+1]!==" ",z=q}else if(!U3(G))return Z0;A=A&&k4(G,H,Y),H=G}U=U||W&&(q-z-1>J&&D[z+1]!==" ")}if(!V&&!U){if(A&&!Q&&!B(D))return qF;return X===W3?Z0:N1}if($>9&&YF(D))return Z0;if(!Q)return U?HF:GF;return X===W3?Z0:N1}function PH(D,F,$,J,B){D.dump=function(){if(F.length===0)return D.quotingType===W3?'""':"''";if(!D.noCompatMode){if(jH.indexOf(F)!==-1||_H.test(F))return D.quotingType===W3?'"'+F+'"':"'"+F+"'"}var X=D.indent*Math.max(1,$),Q=D.lineWidth===-1?-1:Math.max(Math.min(D.lineWidth,40),D.lineWidth-X),Y=J||D.flowLevel>-1&&$>=D.flowLevel;function q(G){return SH(D,G)}switch(vH(F,Y,D.indent,Q,q,D.quotingType,D.forceQuotes&&!J,B)){case qF:return F;case N1:return"'"+F.replace(/'/g,"''")+"'";case GF:return"|"+w4(F,D.indent)+f4(v4(F,X));case HF:return">"+w4(F,D.indent)+f4(v4(kH(F,Q),X));case Z0:return'"'+wH(F)+'"';default:throw new QD("impossible error: invalid scalar style")}}()}function w4(D,F){var $=YF(D)?String(F):"",J=D[D.length-1]===`
73
+ `+i.repeat(" ",D.indent*F)}function SH(D,F){var $,J,B;for($=0,J=D.implicitTypes.length;$<J;$+=1)if(B=D.implicitTypes[$],B.resolve(F))return!0;return!1}function N8(D){return D===qH||D===QH}function U3(D){return 32<=D&&D<=126||161<=D&&D<=55295&&D!==8232&&D!==8233||57344<=D&&D<=65533&&D!==P1||65536<=D&&D<=1114111}function P4(D){return U3(D)&&D!==P1&&D!==YH&&D!==V3}function k4(D,F,$){var J=P4(D),B=J&&!N8(D);return($?J:J&&D!==$F&&D!==JF&&D!==BF&&D!==XF&&D!==QF)&&D!==Z1&&!(F===T8&&!B)||P4(F)&&!N8(F)&&D===Z1||F===T8&&B}function IH(D){return U3(D)&&D!==P1&&!N8(D)&&D!==KH&&D!==AH&&D!==T8&&D!==$F&&D!==JF&&D!==BF&&D!==XF&&D!==QF&&D!==Z1&&D!==WH&&D!==zH&&D!==GH&&D!==CH&&D!==MH&&D!==EH&&D!==UH&&D!==HH&&D!==VH&&D!==RH&&D!==OH}function bH(D){return!N8(D)&&D!==T8}function G3(D,F){var $=D.charCodeAt(F),J;if($>=55296&&$<=56319&&F+1<D.length){if(J=D.charCodeAt(F+1),J>=56320&&J<=57343)return($-55296)*1024+J-56320+65536}return $}function YF(D){var F=/^\n* /;return F.test(D)}function vH(D,F,$,J,B,X,Q,Y){var q,G=0,H=null,V=!1,U=!1,W=J!==-1,z=-1,A=IH(G3(D,0))&&bH(G3(D,D.length-1));if(F||Q)for(q=0;q<D.length;G>=65536?q+=2:q++){if(G=G3(D,q),!U3(G))return Z0;A=A&&k4(G,H,Y),H=G}else{for(q=0;q<D.length;G>=65536?q+=2:q++){if(G=G3(D,q),G===V3){if(V=!0,W)U=U||q-z-1>J&&D[z+1]!==" ",z=q}else if(!U3(G))return Z0;A=A&&k4(G,H,Y),H=G}U=U||W&&(q-z-1>J&&D[z+1]!==" ")}if(!V&&!U){if(A&&!Q&&!B(D))return qF;return X===W3?Z0:N1}if($>9&&YF(D))return Z0;if(!Q)return U?HF:GF;return X===W3?Z0:N1}function PH(D,F,$,J,B){D.dump=function(){if(F.length===0)return D.quotingType===W3?'""':"''";if(!D.noCompatMode){if(jH.indexOf(F)!==-1||_H.test(F))return D.quotingType===W3?'"'+F+'"':"'"+F+"'"}var X=D.indent*Math.max(1,$),Q=D.lineWidth===-1?-1:Math.max(Math.min(D.lineWidth,40),D.lineWidth-X),Y=J||D.flowLevel>-1&&$>=D.flowLevel;function q(G){return SH(D,G)}switch(vH(F,Y,D.indent,Q,q,D.quotingType,D.forceQuotes&&!J,B)){case qF:return F;case N1:return"'"+F.replace(/'/g,"''")+"'";case GF:return"|"+w4(F,D.indent)+f4(v4(F,X));case HF:return">"+w4(F,D.indent)+f4(v4(kH(F,Q),X));case Z0:return'"'+wH(F)+'"';default:throw new YD("impossible error: invalid scalar style")}}()}function w4(D,F){var $=YF(D)?String(F):"",J=D[D.length-1]===`
74
74
  `,B=J&&(D[D.length-2]===`
75
75
  `||D===`
76
76
  `),X=B?"+":J?"":"-";return $+X+`
@@ -81,9 +81,9 @@ tmux set-option -w pane-active-border-style "fg=$COLOR"
81
81
  `:"")+u4(q,F),B=X}return J}function u4(D,F){if(D===""||D[0]===" ")return D;var $=/ [^ ]/g,J,B=0,X,Q=0,Y=0,q="";while(J=$.exec(D)){if(Y=J.index,Y-B>F)X=Q>B?Q:Y,q+=`
82
82
  `+D.slice(B,X),B=X+1;Q=Y}if(q+=`
83
83
  `,D.length-B>F&&Q>B)q+=D.slice(B,Q)+`
84
- `+D.slice(Q+1);else q+=D.slice(B);return q.slice(1)}function wH(D){var F="",$=0,J;for(var B=0;B<D.length;$>=65536?B+=2:B++)if($=G3(D,B),J=DD[$],!J&&U3($)){if(F+=D[B],$>=65536)F+=D[B+1]}else F+=J||ZH($);return F}function fH(D,F,$){var J="",B=D.tag,X,Q,Y;for(X=0,Q=$.length;X<Q;X+=1){if(Y=$[X],D.replacer)Y=D.replacer.call($,String(X),Y);if(oD(D,F,Y,!1,!1)||typeof Y>"u"&&oD(D,F,null,!1,!1)){if(J!=="")J+=","+(!D.condenseFlow?" ":"");J+=D.dump}}D.tag=B,D.dump="["+J+"]"}function x4(D,F,$,J){var B="",X=D.tag,Q,Y,q;for(Q=0,Y=$.length;Q<Y;Q+=1){if(q=$[Q],D.replacer)q=D.replacer.call($,String(Q),q);if(oD(D,F+1,q,!0,!0,!1,!0)||typeof q>"u"&&oD(D,F+1,null,!0,!0,!1,!0)){if(!J||B!=="")B+=T1(D,F);if(D.dump&&V3===D.dump.charCodeAt(0))B+="-";else B+="- ";B+=D.dump}}D.tag=X,D.dump=B||"[]"}function uH(D,F,$){var J="",B=D.tag,X=Object.keys($),Q,Y,q,G,H;for(Q=0,Y=X.length;Q<Y;Q+=1){if(H="",J!=="")H+=", ";if(D.condenseFlow)H+='"';if(q=X[Q],G=$[q],D.replacer)G=D.replacer.call($,q,G);if(!oD(D,F,q,!1,!1))continue;if(D.dump.length>1024)H+="? ";if(H+=D.dump+(D.condenseFlow?'"':"")+":"+(D.condenseFlow?"":" "),!oD(D,F,G,!1,!1))continue;H+=D.dump,J+=H}D.tag=B,D.dump="{"+J+"}"}function xH(D,F,$,J){var B="",X=D.tag,Q=Object.keys($),Y,q,G,H,V,U;if(D.sortKeys===!0)Q.sort();else if(typeof D.sortKeys==="function")Q.sort(D.sortKeys);else if(D.sortKeys)throw new QD("sortKeys must be a boolean or a function");for(Y=0,q=Q.length;Y<q;Y+=1){if(U="",!J||B!=="")U+=T1(D,F);if(G=Q[Y],H=$[G],D.replacer)H=D.replacer.call($,G,H);if(!oD(D,F+1,G,!0,!0,!0))continue;if(V=D.tag!==null&&D.tag!=="?"||D.dump&&D.dump.length>1024,V)if(D.dump&&V3===D.dump.charCodeAt(0))U+="?";else U+="? ";if(U+=D.dump,V)U+=T1(D,F);if(!oD(D,F+1,H,!0,V))continue;if(D.dump&&V3===D.dump.charCodeAt(0))U+=":";else U+=": ";U+=D.dump,B+=U}D.tag=X,D.dump=B||"{}"}function y4(D,F,$){var J,B,X,Q,Y,q;B=$?D.explicitTypes:D.implicitTypes;for(X=0,Q=B.length;X<Q;X+=1)if(Y=B[X],(Y.instanceOf||Y.predicate)&&(!Y.instanceOf||typeof F==="object"&&F instanceof Y.instanceOf)&&(!Y.predicate||Y.predicate(F))){if($)if(Y.multi&&Y.representName)D.tag=Y.representName(F);else D.tag=Y.tag;else D.tag="?";if(Y.represent){if(q=D.styleMap[Y.tag]||Y.defaultStyle,DF.call(Y.represent)==="[object Function]")J=Y.represent(F,q);else if(FF.call(Y.represent,q))J=Y.represent[q](F,q);else throw new QD("!<"+Y.tag+'> tag resolver accepts not "'+q+'" style');D.dump=J}return!0}return!1}function oD(D,F,$,J,B,X,Q){if(D.tag=null,D.dump=$,!y4(D,$,!1))y4(D,$,!0);var Y=DF.call(D.dump),q=J,G;if(J)J=D.flowLevel<0||D.flowLevel>F;var H=Y==="[object Object]"||Y==="[object Array]",V,U;if(H)V=D.duplicates.indexOf($),U=V!==-1;if(D.tag!==null&&D.tag!=="?"||U||D.indent!==2&&F>0)B=!1;if(U&&D.usedDuplicates[V])D.dump="*ref_"+V;else{if(H&&U&&!D.usedDuplicates[V])D.usedDuplicates[V]=!0;if(Y==="[object Object]"){if(J&&Object.keys(D.dump).length!==0){if(xH(D,F,D.dump,B),U)D.dump="&ref_"+V+D.dump}else if(uH(D,F,D.dump),U)D.dump="&ref_"+V+" "+D.dump}else if(Y==="[object Array]"){if(J&&D.dump.length!==0){if(D.noArrayIndent&&!Q&&F>0)x4(D,F-1,D.dump,B);else x4(D,F,D.dump,B);if(U)D.dump="&ref_"+V+D.dump}else if(fH(D,F,D.dump),U)D.dump="&ref_"+V+" "+D.dump}else if(Y==="[object String]"){if(D.tag!=="?")PH(D,D.dump,F,X,q)}else if(Y==="[object Undefined]")return!1;else{if(D.skipInvalid)return!1;throw new QD("unacceptable kind of an object to dump "+Y)}if(D.tag!==null&&D.tag!=="?"){if(G=encodeURI(D.tag[0]==="!"?D.tag.slice(1):D.tag).replace(/!/g,"%21"),D.tag[0]==="!")G="!"+G;else if(G.slice(0,18)==="tag:yaml.org,2002:")G="!!"+G.slice(18);else G="!<"+G+">";D.dump=G+" "+D.dump}}return!0}function yH(D,F){var $=[],J=[],B,X;S1(D,$,J);for(B=0,X=J.length;B<X;B+=1)F.duplicates.push($[J[B]]);F.usedDuplicates=Array(X)}function S1(D,F,$){var J,B,X;if(D!==null&&typeof D==="object")if(B=F.indexOf(D),B!==-1){if($.indexOf(B)===-1)$.push(B)}else if(F.push(D),Array.isArray(D))for(B=0,X=D.length;B<X;B+=1)S1(D[B],F,$);else{J=Object.keys(D);for(B=0,X=J.length;B<X;B+=1)S1(D[J[B]],F,$)}}function hH(D,F){F=F||{};var $=new NH(F);if(!$.noRefs)yH(D,$);var J=D;if($.replacer)J=$.replacer.call({"":J},"",J);if(oD($,0,J,!0,!0))return $.dump+`
85
- `;return""}function k1(D,F){return function(){throw Error("Function yaml."+D+" is removed in js-yaml 4. Use yaml."+F+" instead, which is now safe by default.")}}var Zq,Tq,Nq,Sq,Iq,bq,i,QD,Pq,kq,wq,e,yq,hq,gq,mq,lq,iq,sq,JG,BG,YG,HG,VG,WG,m4,l4,MG,AG,I1=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
86
- \r`,_G,LG,ZG,SG,IG,PG,kG,uG,p4,q2,_8=1,d4=2,c4=3,L8=4,_1=1,xG=2,Z4=3,yG,hG,gG,i4,r4,o4,s4,Q2,S4,BH,XH,e4,DF,FF,P1=65279,QH=9,V3=10,YH=13,qH=32,GH=33,HH=34,Z1=35,VH=37,WH=38,UH=39,zH=42,$F=44,KH=45,T8=58,MH=61,EH=62,AH=63,RH=64,JF=91,BF=93,OH=96,XF=123,CH=124,QF=125,DD,jH,_H,TH=1,W3=2,qF=1,N1=2,GF=3,HF=4,Z0=5,gH,mH,VF,DR,FR,$R,JR,BR;var WF=S(()=>{/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */Zq=h4,Tq=Oq,Nq=Cq,Sq=_q,Iq=Lq,bq=jq,i={isNothing:Zq,isObject:Tq,toArray:Nq,repeat:Sq,isNegativeZero:Iq,extend:bq};H3.prototype=Object.create(Error.prototype);H3.prototype.constructor=H3;H3.prototype.toString=function(F){return this.name+": "+g4(this,F)};QD=H3;Pq=vq,kq=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],wq=["scalar","sequence","mapping"];e=uq;L1.prototype.extend=function(F){var $=[],J=[];if(F instanceof e)J.push(F);else if(Array.isArray(F))J=J.concat(F);else if(F&&(Array.isArray(F.implicit)||Array.isArray(F.explicit))){if(F.implicit)$=$.concat(F.implicit);if(F.explicit)J=J.concat(F.explicit)}else throw new QD("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");$.forEach(function(X){if(!(X instanceof e))throw new QD("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(X.loadKind&&X.loadKind!=="scalar")throw new QD("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(X.multi)throw new QD("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),J.forEach(function(X){if(!(X instanceof e))throw new QD("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var B=Object.create(L1.prototype);return B.implicit=(this.implicit||[]).concat($),B.explicit=(this.explicit||[]).concat(J),B.compiledImplicit=L4(B,"implicit"),B.compiledExplicit=L4(B,"explicit"),B.compiledTypeMap=xq(B.compiledImplicit,B.compiledExplicit),B};yq=L1,hq=new e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(D){return D!==null?D:""}}),gq=new e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(D){return D!==null?D:[]}}),mq=new e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(D){return D!==null?D:{}}}),lq=new yq({explicit:[hq,gq,mq]});iq=new e("tag:yaml.org,2002:null",{kind:"scalar",resolve:pq,construct:dq,predicate:cq,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});sq=new e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:rq,construct:nq,predicate:oq,represent:{lowercase:function(D){return D?"true":"false"},uppercase:function(D){return D?"TRUE":"FALSE"},camelcase:function(D){return D?"True":"False"}},defaultStyle:"lowercase"});JG=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:DG,construct:FG,predicate:$G,represent:{binary:function(D){return D>=0?"0b"+D.toString(2):"-0b"+D.toString(2).slice(1)},octal:function(D){return D>=0?"0o"+D.toString(8):"-0o"+D.toString(8).slice(1)},decimal:function(D){return D.toString(10)},hexadecimal:function(D){return D>=0?"0x"+D.toString(16).toUpperCase():"-0x"+D.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),BG=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");YG=/^[-+]?[0-9]+e/;HG=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:XG,construct:QG,predicate:GG,represent:qG,defaultStyle:"lowercase"}),VG=lq.extend({implicit:[iq,sq,JG,HG]}),WG=VG,m4=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),l4=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");MG=new e("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:UG,construct:zG,instanceOf:Date,represent:KG});AG=new e("tag:yaml.org,2002:merge",{kind:"scalar",resolve:EG});_G=new e("tag:yaml.org,2002:binary",{kind:"scalar",resolve:RG,construct:OG,predicate:jG,represent:CG}),LG=Object.prototype.hasOwnProperty,ZG=Object.prototype.toString;SG=new e("tag:yaml.org,2002:omap",{kind:"sequence",resolve:TG,construct:NG}),IG=Object.prototype.toString;PG=new e("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:bG,construct:vG}),kG=Object.prototype.hasOwnProperty;uG=new e("tag:yaml.org,2002:set",{kind:"mapping",resolve:wG,construct:fG}),p4=WG.extend({implicit:[MG,AG],explicit:[_G,SG,PG,uG]}),q2=Object.prototype.hasOwnProperty,yG=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,hG=/[\x85\u2028\u2029]/,gG=/[,\[\]\{\}]/,i4=/^(?:!|!!|![a-z\-]+!)$/i,r4=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o4=Array(256),s4=Array(256);for(Q2=0;Q2<256;Q2++)o4[Q2]=N4(Q2)?1:0,s4[Q2]=N4(Q2);S4={YAML:function(F,$,J){var B,X,Q;if(F.version!==null)L(F,"duplication of %YAML directive");if(J.length!==1)L(F,"YAML directive accepts exactly one argument");if(B=/^([0-9]+)\.([0-9]+)$/.exec(J[0]),B===null)L(F,"ill-formed argument of the YAML directive");if(X=parseInt(B[1],10),Q=parseInt(B[2],10),X!==1)L(F,"unacceptable YAML version of the document");if(F.version=J[0],F.checkLineBreaks=Q<2,Q!==1&&Q!==2)Z8(F,"unsupported YAML version of the document")},TAG:function(F,$,J){var B,X;if(J.length!==2)L(F,"TAG directive accepts exactly two arguments");if(B=J[0],X=J[1],!i4.test(B))L(F,"ill-formed tag handle (first argument) of the TAG directive");if(q2.call(F.tagMap,B))L(F,'there is a previously declared suffix for "'+B+'" tag handle');if(!r4.test(X))L(F,"ill-formed tag prefix (second argument) of the TAG directive");try{X=decodeURIComponent(X)}catch(Q){L(F,"tag prefix is malformed: "+X)}F.tagMap[B]=X}};BH=$H,XH=JH,e4={loadAll:BH,load:XH},DF=Object.prototype.toString,FF=Object.prototype.hasOwnProperty,DD={};DD[0]="\\0";DD[7]="\\a";DD[8]="\\b";DD[9]="\\t";DD[10]="\\n";DD[11]="\\v";DD[12]="\\f";DD[13]="\\r";DD[27]="\\e";DD[34]="\\\"";DD[92]="\\\\";DD[133]="\\N";DD[160]="\\_";DD[8232]="\\L";DD[8233]="\\P";jH=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],_H=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;gH=hH,mH={dump:gH};VF=e4.load,DR=e4.loadAll,FR=mH.dump,$R=k1("safeLoad","load"),JR=k1("safeLoadAll","loadAll"),BR=k1("safeDump","dump")});import{existsSync as w1,readFileSync as pH,readdirSync as dH,realpathSync as cH}from"fs";import{dirname as I8,join as f1,resolve as b8}from"path";function iH(){let D=cH(process.argv[1]||""),F=[b8(I8(D),".."),b8(I8(D),"..",".."),b8(I8(import.meta.dir??__dirname),"..",".."),b8(I8(import.meta.dir??__dirname),"..")];for(let $ of F)if(w1(f1($,"plugins","genie","agents")))return $;return F[0]}function rH(D){let F=D.match(/^---\n([\s\S]*?)\n---/);if(!F)return{};try{return VF(F[1])??{}}catch{return{}}}function nH(D){if(!w1(D))return[];let F=[],$;try{$=dH(D,{withFileTypes:!0})}catch{return[]}for(let J of $){if(!J.isDirectory())continue;let B=f1(D,J.name,"AGENTS.md");if(!w1(B))continue;let X=pH(B,"utf-8"),Q=rH(X),Y=Q.name||J.name,q=Y.startsWith("council");F.push({name:Y,description:Q.description||"",agentPath:B,model:Q.model==="inherit"?void 0:Q.model,promptMode:Q.promptMode||void 0,category:q?"council":"role",color:Q.color})}return F}function sH(D){return v8.find((F)=>F.name===D)??null}function zF(D){return sH(D)?.agentPath??null}var __dirname="/home/runner/_work/genie/genie/src/lib",oH,u1,UF,z3,v8;var K3=S(()=>{WF();oH=f1(iH(),"plugins","genie","agents"),u1=nH(oH),UF=u1.filter((D)=>D.category==="role"),z3=u1.filter((D)=>D.category==="council"),v8=u1});var R3={};JD(R3,{rm:()=>p1,resolve:()=>E3,ls:()=>A3,loadIdentity:()=>c1,getProjectRoot:()=>EF,get:()=>$V,edit:()=>d1,add:()=>l1});import{execSync as x1}from"child_process";import{existsSync as M3}from"fs";import{mkdir as MF,readFile as aH,writeFile as tH}from"fs/promises";import{homedir as eH}from"os";import{dirname as y1,join as H2}from"path";function DV(){return process.env.GENIE_HOME??H2(eH(),".genie")}function h1(){return H2(DV(),"agent-directory.json")}function EF(){if(process.env.GENIE_PROJECT_ROOT)return process.env.GENIE_PROJECT_ROOT;try{return x1("git rev-parse --show-toplevel",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{return process.cwd()}}function AF(){try{let D=x1("git rev-parse --git-common-dir",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim(),F=x1("git rev-parse --show-toplevel",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim(),{resolve:$}=P("path"),J=$(D),B=y1(J);if(B===F)return null;return B}catch{return null}}function g1(){return H2(EF(),".genie","agents.json")}function P8(D){return D?h1():g1()}async function G2(D){try{let F=await aH(D,"utf-8");return JSON.parse(F)}catch{return{entries:{},lastUpdated:new Date().toISOString()}}}async function FV(D,F){await MF(y1(F),{recursive:!0}),D.lastUpdated=new Date().toISOString(),await tH(F,JSON.stringify(D,null,2))}async function m1(D,F){await MF(y1(D),{recursive:!0});let $=await HD(D);try{let J=await G2(D),B=await F(J);return await FV(J,D),B}finally{await $()}}async function l1(D,F){if(!D.name||D.name.trim()==="")throw Error("Agent name is required.");if(!D.dir||D.dir.trim()==="")throw Error("Agent directory (--dir) is required.");if(!M3(D.dir))throw Error(`Directory does not exist: ${D.dir}`);let $=H2(D.dir,"AGENTS.md");if(!M3($))throw Error(`AGENTS.md not found in ${D.dir}. Each agent directory must contain an AGENTS.md file.`);let J={...D,promptMode:D.promptMode??"append",registeredAt:new Date().toISOString()},B=P8(F?.global);return await m1(B,(X)=>{if(X.entries[D.name])throw Error(`Agent "${D.name}" already exists. Use "genie dir edit" to update or "genie dir rm" first.`);X.entries[D.name]=J}),J}async function p1(D,F){let $=!1,J=P8(F?.global);return await m1(J,(B)=>{if(B.entries[D])delete B.entries[D],$=!0}),$}async function E3(D){let $=(await G2(g1())).entries[D];if($)return{entry:$,builtin:!1};let J=AF();if(J){let q=H2(J,".genie","agents.json"),H=(await G2(q)).entries[D];if(H)return{entry:H,builtin:!1}}let X=(await G2(h1())).entries[D];if(X)return{entry:X,builtin:!1};let Q=UF.find((q)=>q.name===D);if(Q)return{entry:KF(Q),builtin:!0};let Y=z3.find((q)=>q.name===D);if(Y)return{entry:KF(Y),builtin:!0};return null}async function A3(){let D=[],F=new Set,$=await G2(g1());for(let X of Object.values($.entries))D.push({...X,scope:"project"}),F.add(X.name);let J=AF();if(J){let X=H2(J,".genie","agents.json"),Q=await G2(X);for(let Y of Object.values(Q.entries))if(!F.has(Y.name))D.push({...Y,scope:"project"}),F.add(Y.name)}let B=await G2(h1());for(let X of Object.values(B.entries))if(!F.has(X.name))D.push({...X,scope:"global"}),F.add(X.name);return D}async function $V(D,F){let $=P8(F?.global);return(await G2($)).entries[D]??null}async function d1(D,F,$){let J=null,B=P8($?.global);if(await m1(B,(X)=>{let Q=X.entries[D];if(!Q)throw Error(`Agent "${D}" not found in directory.`);if(F.dir){if(!M3(F.dir))throw Error(`Directory does not exist: ${F.dir}`);let Y=H2(F.dir,"AGENTS.md");if(!M3(Y))throw Error(`AGENTS.md not found in ${F.dir}.`)}Object.assign(Q,F),J=Q}),!J)throw Error(`Agent "${D}" not found in directory.`);return J}function c1(D){let F=H2(D.dir,"AGENTS.md");if(M3(F))return F;return null}function KF(D){return{name:D.name,dir:"",promptMode:D.promptMode??"append",model:D.model,roles:[],registeredAt:"(built-in)"}}var O3=S(()=>{K3();w2()});function CF(D){return XV.has(D)}var C3,XV;var i1=S(()=>{C3=["PreToolUse","PostToolUse","SessionStart","SessionEnd","TeammateIdle","TaskCompleted"],XV=new Set(["PreToolUse","UserPromptSubmit","TeammateIdle","TaskCompleted","PermissionRequest"])});function k8(D,F="mosaic"){return`select-layout -t '${D}' ${F==="vertical"?"even-horizontal":"tiled"}`}function w8(D){if(D==="vertical")return"vertical";return"mosaic"}var _3={};JD(_3,{validateBranchName:()=>SF,setTeamStatus:()=>l8,pruneStaleWorktrees:()=>IF,listTeams:()=>g8,listMembers:()=>a1,killTeamMembers:()=>m8,hireAgent:()=>h8,getTeam:()=>AD,fireAgent:()=>o1,disbandTeam:()=>s1,createTeam:()=>n1});import{existsSync as f8}from"fs";import{mkdir as LF,readFile as u8,readdir as ZF,rm as zV,unlink as TF,writeFile as x8}from"fs/promises";import{homedir as KV}from"os";import j3,{join as aD}from"path";var{$:sD}=globalThis.Bun;function NF(){return process.env.GENIE_HOME??aD(KV(),".genie")}function y8(){return aD(NF(),"teams")}function MV(D){return D.replace(/\//g,"--")}function I0(D){let F=MV(j3.basename(D)===D?D:D);return aD(y8(),`${F}.json`)}function EV(D){let $=q0().terminal?.worktreeBase;if($){if(j3.isAbsolute($))return $;return aD(D,$)}let J=j3.basename(D);return aD(NF(),"worktrees",J)}function SF(D){let F=[];if(/\s/.test(D))F.push("contains spaces");if(D.includes(".."))F.push('contains ".."');if(D.includes("~"))F.push('contains "~"');if(D.includes("^"))F.push('contains "^"');if(D.includes(":"))F.push('contains ":"');if(D.includes("?"))F.push('contains "?"');if(D.includes("*"))F.push('contains "*"');if(D.includes("["))F.push('contains "["');if(D.includes("\\"))F.push('contains "\\"');if(/[\x00-\x1f\x7f]/.test(D))F.push("contains control characters");if(D.endsWith(".lock"))F.push('ends with ".lock"');if(D.endsWith("/"))F.push('ends with "/"');if(D.endsWith("."))F.push('ends with "."');if(D.startsWith("-"))F.push('starts with "-"');if(F.length>0)throw Error(`Invalid team name '${D}': must be a valid git branch name (${F.join(", ")})`)}async function r1(D,F){let J=(await p()).filter((B)=>(B.role===D||B.id===D)&&(!F||B.team===F));for(let B of J){try{if(B.paneId&&B.paneId!=="inline"){let{execSync:X}=P("child_process");X(`tmux kill-pane -t ${B.paneId}`,{stdio:"ignore"})}}catch{}await wD(B.id)}}async function AV(D,F,$,J){try{await sD`git -C ${D} fetch origin ${J}`.quiet()}catch{}if(await LF(j3.dirname($),{recursive:!0}),f8($))return;let B=!1;try{await sD`git -C ${D} rev-parse --verify ${F}`.quiet(),B=!0}catch{}if(B){await sD`git -C ${D} worktree add ${$} ${F}`.quiet();return}try{await sD`git -C ${D} worktree add -b ${F} ${$} origin/${J}`.quiet()}catch{try{await sD`git -C ${D} worktree add -b ${F} ${$} ${J}`.quiet()}catch{await sD`git -C ${D} worktree add -b ${F} ${$}`.quiet()}}}async function n1(D,F,$="dev"){SF(D);let J=j3.resolve(F),B=y8();await LF(B,{recursive:!0});let X=I0(D);if(f8(X)){let H=await u8(X,"utf-8");return JSON.parse(H)}let Q=EV(J),Y=aD(Q,D);await AV(J,D,Y,$);let q=new Date().toISOString(),G={name:D,repo:J,baseBranch:$,worktreePath:Y,members:[],status:"in_progress",createdAt:q};if(z4()){G.nativeTeamsEnabled=!0;try{let H=await K4(D);G.nativeTeamParentSessionId=H.sessionId}catch{}}return await x8(X,JSON.stringify(G,null,2)),G}async function h8(D,F){let $=await AD(D);if(!$)throw Error(`Team "${D}" not found.`);let J;if(F==="council")J=z3.map((Q)=>Q.name).filter((Q)=>!$.members.includes(Q)),$.members.push(...J);else{if($.members.includes(F))return[];$.members.push(F),J=[F]}let B=I0(D);return await x8(B,JSON.stringify($,null,2)),J}async function o1(D,F){let $=await AD(D);if(!$)throw Error(`Team "${D}" not found.`);let J=$.members.indexOf(F);if(J===-1)return!1;$.members.splice(J,1);let B=I0(D);await x8(B,JSON.stringify($,null,2));try{await r1(F)}catch{}return!0}async function s1(D){let F=await AD(D);if(!F)return!1;if(F.nativeTeamsEnabled)try{await Q3(D)}catch{}for(let B of F.members)try{await r1(B,D)}catch{}let $=F.repo;if(F.worktreePath&&f8(F.worktreePath))try{await sD`git -C ${$} worktree remove ${F.worktreePath} --force`.quiet()}catch{try{await zV(F.worktreePath,{recursive:!0,force:!0}),await sD`git -C ${$} worktree prune`.quiet()}catch{}}let J=I0(D);try{await TF(J)}catch{return!1}return await IF($),!0}async function IF(D){let F=y8(),$;try{$=await ZF(F)}catch{return}for(let J of $){if(!J.endsWith(".json"))continue;try{let B=await u8(aD(F,J),"utf-8"),X=JSON.parse(B);if(X.worktreePath&&!f8(X.worktreePath))await TF(aD(F,J))}catch{}}try{await sD`git -C ${D} worktree prune`.quiet()}catch{}}async function AD(D){try{let F=await u8(I0(D),"utf-8");return JSON.parse(F)}catch{return null}}async function g8(){let D=y8();try{let F=await ZF(D),$=[];for(let J of F){if(!J.endsWith(".json"))continue;try{let B=await u8(aD(D,J),"utf-8");$.push(JSON.parse(B))}catch{}}return $}catch{return[]}}async function a1(D){let F=await AD(D);if(!F)return null;return F.members}async function m8(D){let F=await AD(D);if(!F)return;for(let $ of F.members)try{await r1($,D)}catch{}}async function l8(D,F){let $=I0(D),J=await HD($);try{let B=await AD(D);if(!B)throw Error(`Team "${D}" not found.`);B.status=F,await x8($,JSON.stringify(B,null,2))}finally{await J()}}var L3=S(()=>{KD();K3();m2();w2();lD()});var kF={};JD(kF,{isTeamHooked:()=>NV,injectTeamHooks:()=>TV});import{existsSync as bF}from"fs";import{mkdir as RV,readFile as vF,writeFile as OV}from"fs/promises";import{homedir as CV}from"os";import{join as t1}from"path";function _V(){return process.env.CLAUDE_CONFIG_DIR??t1(CV(),".claude")}function PF(D){let F=D.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase();return t1(_V(),"teams",F,"settings.json")}function LV(){let D={};for(let F of C3)D[F]=[{hooks:[{type:"command",command:p8,timeout:jV}]}];return D}async function ZV(D){let F={};if(bF(D))try{let Q=await vF(D,"utf-8");F=JSON.parse(Q)}catch{}let $=LV(),J=F.hooks;if(J){if(C3.every((Y)=>{return J[Y]?.some((G)=>G.hooks?.some((H)=>H.command===p8))}))return!1}let B=J?{...J}:{};for(let Q of C3){let Y=$[Q][0],q=B[Q]??[];if(!q.some((H)=>H.hooks?.some((V)=>V.command===p8)))B[Q]=[...q,Y]}F.hooks=B;let X=t1(D,"..");return await RV(X,{recursive:!0}),await OV(D,JSON.stringify(F,null,2)),!0}async function TV(D){let F=PF(D);return ZV(F)}async function NV(D){let F=PF(D);if(!bF(F))return!1;try{let $=await vF(F,"utf-8"),B=JSON.parse($).hooks;if(!B)return!1;return C3.every((X)=>{return B[X]?.some((Y)=>Y.hooks?.some((q)=>q.command===p8))})}catch{return!1}}var p8="genie hook dispatch",jV=15;var wF=S(()=>{i1()});var hF={};JD(hF,{suspendWorker:()=>yF,getIdleTimeoutMs:()=>xF,checkIdleWorkers:()=>IV,WATCHDOG_POLL_INTERVAL_MS:()=>SV});function xF(){let D=process.env.GENIE_IDLE_TIMEOUT_MS;if(D!==void 0){if(D==="")return fF;let F=Number(D);if(!Number.isNaN(F)&&F>=0)return F}return fF}async function yF(D,F=uF){let $=await F.registryGet(D);if(!$)return!1;if($.state==="suspended")return!0;if($.paneId&&$.paneId!=="inline")try{await F.executeTmux(`kill-pane -t '${$.paneId}'`)}catch{}return await F.registryUpdate(D,{state:"suspended",suspendedAt:new Date().toISOString()}),!0}async function IV(D=uF){let F=xF();if(F===0)return[];let $=await D.registryList(),J=[];for(let B of $){if(B.state!=="idle")continue;if(Date.now()-new Date(B.lastStateChange).getTime()<F)continue;if(!await D.isPaneAlive(B.paneId)){await D.registryUpdate(B.id,{state:"suspended",suspendedAt:new Date().toISOString()}),J.push(B.id);continue}if(await yF(B.id,D))J.push(B.id)}return J}var uF,fF=1800000,SV=60000;var gF=S(()=>{KD();FD();uF={registryGet:iD,registryList:p,registryUpdate:q1,executeTmux:f,isPaneAlive:TD}});var iF={};JD(iF,{handleWorkerStop:()=>D5,handleWorkerSpawn:()=>V2,handleWorkerKill:()=>e1,handleLsCommand:()=>F5});function mF(D){let{readFileSync:F,existsSync:$}=P("fs");if(!$(D))return!1;try{let J=Number.parseInt(F(D,"utf-8").trim());if(J>0)return process.kill(J,0),!0}catch{}return!1}async function bV(D){let{writeFileSync:F,mkdirSync:$}=P("fs"),{join:J}=P("path"),{homedir:B}=P("os"),X=J(B(),".genie","relay");$(X,{recursive:!0});let Q=J(X,"otel-relay.pid"),Y=J(X,"otel-relay.mjs");if(mF(Q))return!0;let q=J(process.env.CLAUDE_CONFIG_DIR??J(B(),".claude"),"teams",D,"inboxes"),G=X.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),H=q.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),V=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'");try{F(Y,`import { createServer } from 'http';
84
+ `+D.slice(Q+1);else q+=D.slice(B);return q.slice(1)}function wH(D){var F="",$=0,J;for(var B=0;B<D.length;$>=65536?B+=2:B++)if($=G3(D,B),J=FD[$],!J&&U3($)){if(F+=D[B],$>=65536)F+=D[B+1]}else F+=J||ZH($);return F}function fH(D,F,$){var J="",B=D.tag,X,Q,Y;for(X=0,Q=$.length;X<Q;X+=1){if(Y=$[X],D.replacer)Y=D.replacer.call($,String(X),Y);if(oD(D,F,Y,!1,!1)||typeof Y>"u"&&oD(D,F,null,!1,!1)){if(J!=="")J+=","+(!D.condenseFlow?" ":"");J+=D.dump}}D.tag=B,D.dump="["+J+"]"}function x4(D,F,$,J){var B="",X=D.tag,Q,Y,q;for(Q=0,Y=$.length;Q<Y;Q+=1){if(q=$[Q],D.replacer)q=D.replacer.call($,String(Q),q);if(oD(D,F+1,q,!0,!0,!1,!0)||typeof q>"u"&&oD(D,F+1,null,!0,!0,!1,!0)){if(!J||B!=="")B+=T1(D,F);if(D.dump&&V3===D.dump.charCodeAt(0))B+="-";else B+="- ";B+=D.dump}}D.tag=X,D.dump=B||"[]"}function uH(D,F,$){var J="",B=D.tag,X=Object.keys($),Q,Y,q,G,H;for(Q=0,Y=X.length;Q<Y;Q+=1){if(H="",J!=="")H+=", ";if(D.condenseFlow)H+='"';if(q=X[Q],G=$[q],D.replacer)G=D.replacer.call($,q,G);if(!oD(D,F,q,!1,!1))continue;if(D.dump.length>1024)H+="? ";if(H+=D.dump+(D.condenseFlow?'"':"")+":"+(D.condenseFlow?"":" "),!oD(D,F,G,!1,!1))continue;H+=D.dump,J+=H}D.tag=B,D.dump="{"+J+"}"}function xH(D,F,$,J){var B="",X=D.tag,Q=Object.keys($),Y,q,G,H,V,U;if(D.sortKeys===!0)Q.sort();else if(typeof D.sortKeys==="function")Q.sort(D.sortKeys);else if(D.sortKeys)throw new YD("sortKeys must be a boolean or a function");for(Y=0,q=Q.length;Y<q;Y+=1){if(U="",!J||B!=="")U+=T1(D,F);if(G=Q[Y],H=$[G],D.replacer)H=D.replacer.call($,G,H);if(!oD(D,F+1,G,!0,!0,!0))continue;if(V=D.tag!==null&&D.tag!=="?"||D.dump&&D.dump.length>1024,V)if(D.dump&&V3===D.dump.charCodeAt(0))U+="?";else U+="? ";if(U+=D.dump,V)U+=T1(D,F);if(!oD(D,F+1,H,!0,V))continue;if(D.dump&&V3===D.dump.charCodeAt(0))U+=":";else U+=": ";U+=D.dump,B+=U}D.tag=X,D.dump=B||"{}"}function y4(D,F,$){var J,B,X,Q,Y,q;B=$?D.explicitTypes:D.implicitTypes;for(X=0,Q=B.length;X<Q;X+=1)if(Y=B[X],(Y.instanceOf||Y.predicate)&&(!Y.instanceOf||typeof F==="object"&&F instanceof Y.instanceOf)&&(!Y.predicate||Y.predicate(F))){if($)if(Y.multi&&Y.representName)D.tag=Y.representName(F);else D.tag=Y.tag;else D.tag="?";if(Y.represent){if(q=D.styleMap[Y.tag]||Y.defaultStyle,DF.call(Y.represent)==="[object Function]")J=Y.represent(F,q);else if(FF.call(Y.represent,q))J=Y.represent[q](F,q);else throw new YD("!<"+Y.tag+'> tag resolver accepts not "'+q+'" style');D.dump=J}return!0}return!1}function oD(D,F,$,J,B,X,Q){if(D.tag=null,D.dump=$,!y4(D,$,!1))y4(D,$,!0);var Y=DF.call(D.dump),q=J,G;if(J)J=D.flowLevel<0||D.flowLevel>F;var H=Y==="[object Object]"||Y==="[object Array]",V,U;if(H)V=D.duplicates.indexOf($),U=V!==-1;if(D.tag!==null&&D.tag!=="?"||U||D.indent!==2&&F>0)B=!1;if(U&&D.usedDuplicates[V])D.dump="*ref_"+V;else{if(H&&U&&!D.usedDuplicates[V])D.usedDuplicates[V]=!0;if(Y==="[object Object]"){if(J&&Object.keys(D.dump).length!==0){if(xH(D,F,D.dump,B),U)D.dump="&ref_"+V+D.dump}else if(uH(D,F,D.dump),U)D.dump="&ref_"+V+" "+D.dump}else if(Y==="[object Array]"){if(J&&D.dump.length!==0){if(D.noArrayIndent&&!Q&&F>0)x4(D,F-1,D.dump,B);else x4(D,F,D.dump,B);if(U)D.dump="&ref_"+V+D.dump}else if(fH(D,F,D.dump),U)D.dump="&ref_"+V+" "+D.dump}else if(Y==="[object String]"){if(D.tag!=="?")PH(D,D.dump,F,X,q)}else if(Y==="[object Undefined]")return!1;else{if(D.skipInvalid)return!1;throw new YD("unacceptable kind of an object to dump "+Y)}if(D.tag!==null&&D.tag!=="?"){if(G=encodeURI(D.tag[0]==="!"?D.tag.slice(1):D.tag).replace(/!/g,"%21"),D.tag[0]==="!")G="!"+G;else if(G.slice(0,18)==="tag:yaml.org,2002:")G="!!"+G.slice(18);else G="!<"+G+">";D.dump=G+" "+D.dump}}return!0}function yH(D,F){var $=[],J=[],B,X;S1(D,$,J);for(B=0,X=J.length;B<X;B+=1)F.duplicates.push($[J[B]]);F.usedDuplicates=Array(X)}function S1(D,F,$){var J,B,X;if(D!==null&&typeof D==="object")if(B=F.indexOf(D),B!==-1){if($.indexOf(B)===-1)$.push(B)}else if(F.push(D),Array.isArray(D))for(B=0,X=D.length;B<X;B+=1)S1(D[B],F,$);else{J=Object.keys(D);for(B=0,X=J.length;B<X;B+=1)S1(D[J[B]],F,$)}}function hH(D,F){F=F||{};var $=new NH(F);if(!$.noRefs)yH(D,$);var J=D;if($.replacer)J=$.replacer.call({"":J},"",J);if(oD($,0,J,!0,!0))return $.dump+`
85
+ `;return""}function k1(D,F){return function(){throw Error("Function yaml."+D+" is removed in js-yaml 4. Use yaml."+F+" instead, which is now safe by default.")}}var Zq,Tq,Nq,Sq,Iq,bq,i,YD,Pq,kq,wq,DD,yq,hq,gq,mq,lq,iq,sq,JG,BG,YG,HG,VG,WG,m4,l4,MG,AG,I1=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
86
+ \r`,_G,LG,ZG,SG,IG,PG,kG,uG,p4,q2,_8=1,d4=2,c4=3,L8=4,_1=1,xG=2,Z4=3,yG,hG,gG,i4,r4,o4,s4,Q2,S4,BH,XH,e4,DF,FF,P1=65279,QH=9,V3=10,YH=13,qH=32,GH=33,HH=34,Z1=35,VH=37,WH=38,UH=39,zH=42,$F=44,KH=45,T8=58,MH=61,EH=62,AH=63,RH=64,JF=91,BF=93,OH=96,XF=123,CH=124,QF=125,FD,jH,_H,TH=1,W3=2,qF=1,N1=2,GF=3,HF=4,Z0=5,gH,mH,VF,DR,FR,$R,JR,BR;var WF=S(()=>{/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */Zq=h4,Tq=Oq,Nq=Cq,Sq=_q,Iq=Lq,bq=jq,i={isNothing:Zq,isObject:Tq,toArray:Nq,repeat:Sq,isNegativeZero:Iq,extend:bq};H3.prototype=Object.create(Error.prototype);H3.prototype.constructor=H3;H3.prototype.toString=function(F){return this.name+": "+g4(this,F)};YD=H3;Pq=vq,kq=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],wq=["scalar","sequence","mapping"];DD=uq;L1.prototype.extend=function(F){var $=[],J=[];if(F instanceof DD)J.push(F);else if(Array.isArray(F))J=J.concat(F);else if(F&&(Array.isArray(F.implicit)||Array.isArray(F.explicit))){if(F.implicit)$=$.concat(F.implicit);if(F.explicit)J=J.concat(F.explicit)}else throw new YD("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");$.forEach(function(X){if(!(X instanceof DD))throw new YD("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(X.loadKind&&X.loadKind!=="scalar")throw new YD("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(X.multi)throw new YD("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),J.forEach(function(X){if(!(X instanceof DD))throw new YD("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var B=Object.create(L1.prototype);return B.implicit=(this.implicit||[]).concat($),B.explicit=(this.explicit||[]).concat(J),B.compiledImplicit=L4(B,"implicit"),B.compiledExplicit=L4(B,"explicit"),B.compiledTypeMap=xq(B.compiledImplicit,B.compiledExplicit),B};yq=L1,hq=new DD("tag:yaml.org,2002:str",{kind:"scalar",construct:function(D){return D!==null?D:""}}),gq=new DD("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(D){return D!==null?D:[]}}),mq=new DD("tag:yaml.org,2002:map",{kind:"mapping",construct:function(D){return D!==null?D:{}}}),lq=new yq({explicit:[hq,gq,mq]});iq=new DD("tag:yaml.org,2002:null",{kind:"scalar",resolve:pq,construct:dq,predicate:cq,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});sq=new DD("tag:yaml.org,2002:bool",{kind:"scalar",resolve:rq,construct:nq,predicate:oq,represent:{lowercase:function(D){return D?"true":"false"},uppercase:function(D){return D?"TRUE":"FALSE"},camelcase:function(D){return D?"True":"False"}},defaultStyle:"lowercase"});JG=new DD("tag:yaml.org,2002:int",{kind:"scalar",resolve:DG,construct:FG,predicate:$G,represent:{binary:function(D){return D>=0?"0b"+D.toString(2):"-0b"+D.toString(2).slice(1)},octal:function(D){return D>=0?"0o"+D.toString(8):"-0o"+D.toString(8).slice(1)},decimal:function(D){return D.toString(10)},hexadecimal:function(D){return D>=0?"0x"+D.toString(16).toUpperCase():"-0x"+D.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),BG=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");YG=/^[-+]?[0-9]+e/;HG=new DD("tag:yaml.org,2002:float",{kind:"scalar",resolve:XG,construct:QG,predicate:GG,represent:qG,defaultStyle:"lowercase"}),VG=lq.extend({implicit:[iq,sq,JG,HG]}),WG=VG,m4=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),l4=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");MG=new DD("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:UG,construct:zG,instanceOf:Date,represent:KG});AG=new DD("tag:yaml.org,2002:merge",{kind:"scalar",resolve:EG});_G=new DD("tag:yaml.org,2002:binary",{kind:"scalar",resolve:RG,construct:OG,predicate:jG,represent:CG}),LG=Object.prototype.hasOwnProperty,ZG=Object.prototype.toString;SG=new DD("tag:yaml.org,2002:omap",{kind:"sequence",resolve:TG,construct:NG}),IG=Object.prototype.toString;PG=new DD("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:bG,construct:vG}),kG=Object.prototype.hasOwnProperty;uG=new DD("tag:yaml.org,2002:set",{kind:"mapping",resolve:wG,construct:fG}),p4=WG.extend({implicit:[MG,AG],explicit:[_G,SG,PG,uG]}),q2=Object.prototype.hasOwnProperty,yG=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,hG=/[\x85\u2028\u2029]/,gG=/[,\[\]\{\}]/,i4=/^(?:!|!!|![a-z\-]+!)$/i,r4=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o4=Array(256),s4=Array(256);for(Q2=0;Q2<256;Q2++)o4[Q2]=N4(Q2)?1:0,s4[Q2]=N4(Q2);S4={YAML:function(F,$,J){var B,X,Q;if(F.version!==null)L(F,"duplication of %YAML directive");if(J.length!==1)L(F,"YAML directive accepts exactly one argument");if(B=/^([0-9]+)\.([0-9]+)$/.exec(J[0]),B===null)L(F,"ill-formed argument of the YAML directive");if(X=parseInt(B[1],10),Q=parseInt(B[2],10),X!==1)L(F,"unacceptable YAML version of the document");if(F.version=J[0],F.checkLineBreaks=Q<2,Q!==1&&Q!==2)Z8(F,"unsupported YAML version of the document")},TAG:function(F,$,J){var B,X;if(J.length!==2)L(F,"TAG directive accepts exactly two arguments");if(B=J[0],X=J[1],!i4.test(B))L(F,"ill-formed tag handle (first argument) of the TAG directive");if(q2.call(F.tagMap,B))L(F,'there is a previously declared suffix for "'+B+'" tag handle');if(!r4.test(X))L(F,"ill-formed tag prefix (second argument) of the TAG directive");try{X=decodeURIComponent(X)}catch(Q){L(F,"tag prefix is malformed: "+X)}F.tagMap[B]=X}};BH=$H,XH=JH,e4={loadAll:BH,load:XH},DF=Object.prototype.toString,FF=Object.prototype.hasOwnProperty,FD={};FD[0]="\\0";FD[7]="\\a";FD[8]="\\b";FD[9]="\\t";FD[10]="\\n";FD[11]="\\v";FD[12]="\\f";FD[13]="\\r";FD[27]="\\e";FD[34]="\\\"";FD[92]="\\\\";FD[133]="\\N";FD[160]="\\_";FD[8232]="\\L";FD[8233]="\\P";jH=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],_H=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;gH=hH,mH={dump:gH};VF=e4.load,DR=e4.loadAll,FR=mH.dump,$R=k1("safeLoad","load"),JR=k1("safeLoadAll","loadAll"),BR=k1("safeDump","dump")});import{existsSync as w1,readFileSync as pH,readdirSync as dH,realpathSync as cH}from"fs";import{dirname as I8,join as f1,resolve as b8}from"path";function iH(){let D=cH(process.argv[1]||""),F=[b8(I8(D),".."),b8(I8(D),"..",".."),b8(I8(import.meta.dir??__dirname),"..",".."),b8(I8(import.meta.dir??__dirname),"..")];for(let $ of F)if(w1(f1($,"plugins","genie","agents")))return $;return F[0]}function rH(D){let F=D.match(/^---\n([\s\S]*?)\n---/);if(!F)return{};try{return VF(F[1])??{}}catch{return{}}}function nH(D){if(!w1(D))return[];let F=[],$;try{$=dH(D,{withFileTypes:!0})}catch{return[]}for(let J of $){if(!J.isDirectory())continue;let B=f1(D,J.name,"AGENTS.md");if(!w1(B))continue;let X=pH(B,"utf-8"),Q=rH(X),Y=Q.name||J.name,q=Y.startsWith("council");F.push({name:Y,description:Q.description||"",agentPath:B,model:Q.model==="inherit"?void 0:Q.model,promptMode:Q.promptMode||void 0,category:q?"council":"role",color:Q.color})}return F}function sH(D){return v8.find((F)=>F.name===D)??null}function zF(D){return sH(D)?.agentPath??null}var __dirname="/home/runner/_work/genie/genie/src/lib",oH,u1,UF,z3,v8;var K3=S(()=>{WF();oH=f1(iH(),"plugins","genie","agents"),u1=nH(oH),UF=u1.filter((D)=>D.category==="role"),z3=u1.filter((D)=>D.category==="council"),v8=u1});var R3={};BD(R3,{rm:()=>p1,resolve:()=>E3,ls:()=>A3,loadIdentity:()=>c1,getProjectRoot:()=>EF,get:()=>$V,edit:()=>d1,add:()=>l1});import{execSync as x1}from"child_process";import{existsSync as M3}from"fs";import{mkdir as MF,readFile as aH,writeFile as tH}from"fs/promises";import{homedir as eH}from"os";import{dirname as y1,join as H2}from"path";function DV(){return process.env.GENIE_HOME??H2(eH(),".genie")}function h1(){return H2(DV(),"agent-directory.json")}function EF(){if(process.env.GENIE_PROJECT_ROOT)return process.env.GENIE_PROJECT_ROOT;try{return x1("git rev-parse --show-toplevel",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{return process.cwd()}}function AF(){try{let D=x1("git rev-parse --git-common-dir",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim(),F=x1("git rev-parse --show-toplevel",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim(),{resolve:$}=P("path"),J=$(D),B=y1(J);if(B===F)return null;return B}catch{return null}}function g1(){return H2(EF(),".genie","agents.json")}function P8(D){return D?h1():g1()}async function G2(D){try{let F=await aH(D,"utf-8");return JSON.parse(F)}catch{return{entries:{},lastUpdated:new Date().toISOString()}}}async function FV(D,F){await MF(y1(F),{recursive:!0}),D.lastUpdated=new Date().toISOString(),await tH(F,JSON.stringify(D,null,2))}async function m1(D,F){await MF(y1(D),{recursive:!0});let $=await HD(D);try{let J=await G2(D),B=await F(J);return await FV(J,D),B}finally{await $()}}async function l1(D,F){if(!D.name||D.name.trim()==="")throw Error("Agent name is required.");if(!D.dir||D.dir.trim()==="")throw Error("Agent directory (--dir) is required.");if(!M3(D.dir))throw Error(`Directory does not exist: ${D.dir}`);let $=H2(D.dir,"AGENTS.md");if(!M3($))throw Error(`AGENTS.md not found in ${D.dir}. Each agent directory must contain an AGENTS.md file.`);let J={...D,promptMode:D.promptMode??"append",registeredAt:new Date().toISOString()},B=P8(F?.global);return await m1(B,(X)=>{if(X.entries[D.name])throw Error(`Agent "${D.name}" already exists. Use "genie dir edit" to update or "genie dir rm" first.`);X.entries[D.name]=J}),J}async function p1(D,F){let $=!1,J=P8(F?.global);return await m1(J,(B)=>{if(B.entries[D])delete B.entries[D],$=!0}),$}async function E3(D){let $=(await G2(g1())).entries[D];if($)return{entry:$,builtin:!1};let J=AF();if(J){let q=H2(J,".genie","agents.json"),H=(await G2(q)).entries[D];if(H)return{entry:H,builtin:!1}}let X=(await G2(h1())).entries[D];if(X)return{entry:X,builtin:!1};let Q=UF.find((q)=>q.name===D);if(Q)return{entry:KF(Q),builtin:!0};let Y=z3.find((q)=>q.name===D);if(Y)return{entry:KF(Y),builtin:!0};return null}async function A3(){let D=[],F=new Set,$=await G2(g1());for(let X of Object.values($.entries))D.push({...X,scope:"project"}),F.add(X.name);let J=AF();if(J){let X=H2(J,".genie","agents.json"),Q=await G2(X);for(let Y of Object.values(Q.entries))if(!F.has(Y.name))D.push({...Y,scope:"project"}),F.add(Y.name)}let B=await G2(h1());for(let X of Object.values(B.entries))if(!F.has(X.name))D.push({...X,scope:"global"}),F.add(X.name);return D}async function $V(D,F){let $=P8(F?.global);return(await G2($)).entries[D]??null}async function d1(D,F,$){let J=null,B=P8($?.global);if(await m1(B,(X)=>{let Q=X.entries[D];if(!Q)throw Error(`Agent "${D}" not found in directory.`);if(F.dir){if(!M3(F.dir))throw Error(`Directory does not exist: ${F.dir}`);let Y=H2(F.dir,"AGENTS.md");if(!M3(Y))throw Error(`AGENTS.md not found in ${F.dir}.`)}Object.assign(Q,F),J=Q}),!J)throw Error(`Agent "${D}" not found in directory.`);return J}function c1(D){let F=H2(D.dir,"AGENTS.md");if(M3(F))return F;return null}function KF(D){return{name:D.name,dir:"",promptMode:D.promptMode??"append",model:D.model,roles:[],registeredAt:"(built-in)"}}var O3=S(()=>{K3();w2()});function CF(D){return XV.has(D)}var C3,XV;var i1=S(()=>{C3=["PreToolUse","PostToolUse","SessionStart","SessionEnd","TeammateIdle","TaskCompleted"],XV=new Set(["PreToolUse","UserPromptSubmit","TeammateIdle","TaskCompleted","PermissionRequest"])});function k8(D,F="mosaic"){return`select-layout -t '${D}' ${F==="vertical"?"even-horizontal":"tiled"}`}function w8(D){if(D==="vertical")return"vertical";return"mosaic"}var _3={};BD(_3,{validateBranchName:()=>SF,setTeamStatus:()=>l8,pruneStaleWorktrees:()=>IF,listTeams:()=>g8,listMembers:()=>a1,killTeamMembers:()=>m8,hireAgent:()=>h8,getTeam:()=>AD,fireAgent:()=>o1,disbandTeam:()=>s1,createTeam:()=>n1});import{existsSync as f8}from"fs";import{mkdir as LF,readFile as u8,readdir as ZF,rm as zV,unlink as TF,writeFile as x8}from"fs/promises";import{homedir as KV}from"os";import j3,{join as aD}from"path";var{$:sD}=globalThis.Bun;function NF(){return process.env.GENIE_HOME??aD(KV(),".genie")}function y8(){return aD(NF(),"teams")}function MV(D){return D.replace(/\//g,"--")}function I0(D){let F=MV(j3.basename(D)===D?D:D);return aD(y8(),`${F}.json`)}function EV(D){let $=q0().terminal?.worktreeBase;if($){if(j3.isAbsolute($))return $;return aD(D,$)}let J=j3.basename(D);return aD(NF(),"worktrees",J)}function SF(D){let F=[];if(/\s/.test(D))F.push("contains spaces");if(D.includes(".."))F.push('contains ".."');if(D.includes("~"))F.push('contains "~"');if(D.includes("^"))F.push('contains "^"');if(D.includes(":"))F.push('contains ":"');if(D.includes("?"))F.push('contains "?"');if(D.includes("*"))F.push('contains "*"');if(D.includes("["))F.push('contains "["');if(D.includes("\\"))F.push('contains "\\"');if(/[\x00-\x1f\x7f]/.test(D))F.push("contains control characters");if(D.endsWith(".lock"))F.push('ends with ".lock"');if(D.endsWith("/"))F.push('ends with "/"');if(D.endsWith("."))F.push('ends with "."');if(D.startsWith("-"))F.push('starts with "-"');if(F.length>0)throw Error(`Invalid team name '${D}': must be a valid git branch name (${F.join(", ")})`)}async function r1(D,F){let J=(await p()).filter((B)=>(B.role===D||B.id===D)&&(!F||B.team===F));for(let B of J){try{if(B.paneId&&B.paneId!=="inline"){let{execSync:X}=P("child_process");X(`tmux kill-pane -t ${B.paneId}`,{stdio:"ignore"})}}catch{}await wD(B.id)}}async function AV(D,F,$,J){try{await sD`git -C ${D} fetch origin ${J}`.quiet()}catch{}if(await LF(j3.dirname($),{recursive:!0}),f8($))return;let B=!1;try{await sD`git -C ${D} rev-parse --verify ${F}`.quiet(),B=!0}catch{}if(B){await sD`git -C ${D} worktree add ${$} ${F}`.quiet();return}try{await sD`git -C ${D} worktree add -b ${F} ${$} origin/${J}`.quiet()}catch{try{await sD`git -C ${D} worktree add -b ${F} ${$} ${J}`.quiet()}catch{await sD`git -C ${D} worktree add -b ${F} ${$}`.quiet()}}}async function n1(D,F,$="dev"){SF(D);let J=j3.resolve(F),B=y8();await LF(B,{recursive:!0});let X=I0(D);if(f8(X)){let H=await u8(X,"utf-8");return JSON.parse(H)}let Q=EV(J),Y=aD(Q,D);await AV(J,D,Y,$);let q=new Date().toISOString(),G={name:D,repo:J,baseBranch:$,worktreePath:Y,members:[],status:"in_progress",createdAt:q};if(z4()){G.nativeTeamsEnabled=!0;try{let H=await K4(D);G.nativeTeamParentSessionId=H.sessionId}catch{}}return await x8(X,JSON.stringify(G,null,2)),G}async function h8(D,F){let $=await AD(D);if(!$)throw Error(`Team "${D}" not found.`);let J;if(F==="council")J=z3.map((Q)=>Q.name).filter((Q)=>!$.members.includes(Q)),$.members.push(...J);else{if($.members.includes(F))return[];$.members.push(F),J=[F]}let B=I0(D);return await x8(B,JSON.stringify($,null,2)),J}async function o1(D,F){let $=await AD(D);if(!$)throw Error(`Team "${D}" not found.`);let J=$.members.indexOf(F);if(J===-1)return!1;$.members.splice(J,1);let B=I0(D);await x8(B,JSON.stringify($,null,2));try{await r1(F)}catch{}return!0}async function s1(D){let F=await AD(D);if(!F)return!1;if(F.nativeTeamsEnabled)try{await Q3(D)}catch{}for(let B of F.members)try{await r1(B,D)}catch{}let $=F.repo;if(F.worktreePath&&f8(F.worktreePath))try{await sD`git -C ${$} worktree remove ${F.worktreePath} --force`.quiet()}catch{try{await zV(F.worktreePath,{recursive:!0,force:!0}),await sD`git -C ${$} worktree prune`.quiet()}catch{}}let J=I0(D);try{await TF(J)}catch{return!1}return await IF($),!0}async function IF(D){let F=y8(),$;try{$=await ZF(F)}catch{return}for(let J of $){if(!J.endsWith(".json"))continue;try{let B=await u8(aD(F,J),"utf-8"),X=JSON.parse(B);if(X.worktreePath&&!f8(X.worktreePath))await TF(aD(F,J))}catch{}}try{await sD`git -C ${D} worktree prune`.quiet()}catch{}}async function AD(D){try{let F=await u8(I0(D),"utf-8");return JSON.parse(F)}catch{return null}}async function g8(){let D=y8();try{let F=await ZF(D),$=[];for(let J of F){if(!J.endsWith(".json"))continue;try{let B=await u8(aD(D,J),"utf-8");$.push(JSON.parse(B))}catch{}}return $}catch{return[]}}async function a1(D){let F=await AD(D);if(!F)return null;return F.members}async function m8(D){let F=await AD(D);if(!F)return;for(let $ of F.members)try{await r1($,D)}catch{}}async function l8(D,F){let $=I0(D),J=await HD($);try{let B=await AD(D);if(!B)throw Error(`Team "${D}" not found.`);B.status=F,await x8($,JSON.stringify(B,null,2))}finally{await J()}}var L3=S(()=>{KD();K3();m2();w2();lD()});var kF={};BD(kF,{isTeamHooked:()=>NV,injectTeamHooks:()=>TV});import{existsSync as bF}from"fs";import{mkdir as RV,readFile as vF,writeFile as OV}from"fs/promises";import{homedir as CV}from"os";import{join as t1}from"path";function _V(){return process.env.CLAUDE_CONFIG_DIR??t1(CV(),".claude")}function PF(D){let F=D.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase();return t1(_V(),"teams",F,"settings.json")}function LV(){let D={};for(let F of C3)D[F]=[{hooks:[{type:"command",command:p8,timeout:jV}]}];return D}async function ZV(D){let F={};if(bF(D))try{let Q=await vF(D,"utf-8");F=JSON.parse(Q)}catch{}let $=LV(),J=F.hooks;if(J){if(C3.every((Y)=>{return J[Y]?.some((G)=>G.hooks?.some((H)=>H.command===p8))}))return!1}let B=J?{...J}:{};for(let Q of C3){let Y=$[Q][0],q=B[Q]??[];if(!q.some((H)=>H.hooks?.some((V)=>V.command===p8)))B[Q]=[...q,Y]}F.hooks=B;let X=t1(D,"..");return await RV(X,{recursive:!0}),await OV(D,JSON.stringify(F,null,2)),!0}async function TV(D){let F=PF(D);return ZV(F)}async function NV(D){let F=PF(D);if(!bF(F))return!1;try{let $=await vF(F,"utf-8"),B=JSON.parse($).hooks;if(!B)return!1;return C3.every((X)=>{return B[X]?.some((Y)=>Y.hooks?.some((q)=>q.command===p8))})}catch{return!1}}var p8="genie hook dispatch",jV=15;var wF=S(()=>{i1()});var hF={};BD(hF,{suspendWorker:()=>yF,getIdleTimeoutMs:()=>xF,checkIdleWorkers:()=>IV,WATCHDOG_POLL_INTERVAL_MS:()=>SV});function xF(){let D=process.env.GENIE_IDLE_TIMEOUT_MS;if(D!==void 0){if(D==="")return fF;let F=Number(D);if(!Number.isNaN(F)&&F>=0)return F}return fF}async function yF(D,F=uF){let $=await F.registryGet(D);if(!$)return!1;if($.state==="suspended")return!0;if($.paneId&&$.paneId!=="inline")try{await F.executeTmux(`kill-pane -t '${$.paneId}'`)}catch{}return await F.registryUpdate(D,{state:"suspended",suspendedAt:new Date().toISOString()}),!0}async function IV(D=uF){let F=xF();if(F===0)return[];let $=await D.registryList(),J=[];for(let B of $){if(B.state!=="idle")continue;if(Date.now()-new Date(B.lastStateChange).getTime()<F)continue;if(!await D.isPaneAlive(B.paneId)){await D.registryUpdate(B.id,{state:"suspended",suspendedAt:new Date().toISOString()}),J.push(B.id);continue}if(await yF(B.id,D))J.push(B.id)}return J}var uF,fF=1800000,SV=60000;var gF=S(()=>{KD();$D();uF={registryGet:iD,registryList:p,registryUpdate:q1,executeTmux:f,isPaneAlive:TD}});var iF={};BD(iF,{handleWorkerStop:()=>D5,handleWorkerSpawn:()=>V2,handleWorkerKill:()=>e1,handleLsCommand:()=>F5});function mF(D){let{readFileSync:F,existsSync:$}=P("fs");if(!$(D))return!1;try{let J=Number.parseInt(F(D,"utf-8").trim());if(J>0)return process.kill(J,0),!0}catch{}return!1}async function bV(D){let{writeFileSync:F,mkdirSync:$}=P("fs"),{join:J}=P("path"),{homedir:B}=P("os"),X=J(B(),".genie","relay");$(X,{recursive:!0});let Q=J(X,"otel-relay.pid"),Y=J(X,"otel-relay.mjs");if(mF(Q))return!0;let q=J(process.env.CLAUDE_CONFIG_DIR??J(B(),".claude"),"teams",D,"inboxes"),G=X.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),H=q.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),V=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'");try{F(Y,`import { createServer } from 'http';
87
87
  import { execSync } from 'child_process';
88
88
  import { readFileSync, writeFileSync, mkdirSync, readdirSync, unlinkSync, statSync } from 'fs';
89
89
  import { createHash } from 'crypto';
@@ -334,14 +334,14 @@ process.on('SIGINT', () => { server.close(); process.exit(0); });
334
334
  `,{mode:420});let{spawn:U}=P("child_process");U("node",[Y],{detached:!0,stdio:"ignore"}).unref();for(let z=0;z<30;z++)if(await new Promise((A)=>setTimeout(A,100)),mF(Q))return!0;return!1}catch{return!1}}async function vV(D,F){let $=F?`${D}-${F}`:D;if(!(await p()).some((X)=>X.id===$))return $;let B=crypto.randomUUID().slice(0,8);return`${$}-${B}`}async function pF(D,F,$){let J=D.validated.nativeTeam,B={id:D.workerId,paneId:F,session:"genie",provider:D.validated.provider,transport:D.transport,role:D.validated.role,skill:D.validated.skill,team:D.validated.team,worktree:null,startedAt:D.now,state:"spawning",lastStateChange:D.now,repoPath:D.cwd,claudeSessionId:D.claudeSessionId,nativeTeamEnabled:J?.enabled??!1,nativeAgentId:`${D.agentName}@${D.validated.team}`,nativeColor:J?.color??D.spawnColor,parentSessionId:J?.parentSessionId??D.parentSessionId,window:$?.windowName,windowName:$?.windowName,windowId:$?.windowId};return await f2(B),B}async function dF(D,F){let $=D.validated.nativeTeam;await h2(D.validated.team,{agentName:D.agentName,agentType:$?.agentType??D.validated.role??"general-purpose",color:$?.color??D.spawnColor??"blue",tmuxPaneId:F,cwd:D.cwd,planModeRequired:$?.planModeRequired}),await g2(D.validated.team,"team-lead",{from:D.agentName,text:`Worker ${D.agentName} (${D.validated.provider}) joined team ${D.validated.team}. cwd: ${D.cwd}. Ready for tasks.`,summary:`${D.agentName} (${D.validated.provider}) joined`,timestamp:new Date().toISOString(),color:$?.color??D.spawnColor??"blue",read:!1})}function PV(D,F,$,J){let{writeFileSync:B}=P("fs"),{join:X}=P("path"),{homedir:Q}=P("os"),Y=X(Q(),".genie","relay");B(X(Y,`${D}-pane`),F),B(X(Y,`${D}-meta`),JSON.stringify({agent:$,color:J}))}function kV(D,F,$){let J=D.validated.nativeTeam;if(console.log(`Agent "${D.workerId}" spawned.`),console.log(` Provider: ${D.launch.provider}`),console.log(` Command: ${D.fullCommand}`),console.log(` Team: ${D.validated.team}`),console.log(` Pane: ${F}`),D.validated.role)console.log(` Role: ${D.validated.role}`);if(D.validated.skill)console.log(` Skill: ${D.validated.skill}`);if($.claudeSessionId)console.log(` Session: ${$.claudeSessionId}`);if(console.log(` Layout: ${D.layoutMode}`),J?.enabled)console.log(" Native: enabled"),console.log(` AgentID: ${$.nativeAgentId}`),console.log(` Color: ${J.color}`);if(D.otelRelayActive)console.log(` OTel: relay on port ${E0}`)}async function wV(D,F){if(!D)return null;try{return await p2("genie",D,F)}catch($){return console.warn(`Warning: could not ensure team window for "${D}": ${$ instanceof Error?$.message:$}`),null}}function fV(D,F){let{execSync:$}=P("child_process");if(F?.created){let Q=$(`tmux list-panes -t '${F.windowId}' -F '#{pane_id}'`,{encoding:"utf-8"}).trim().split(`
335
335
  `)[0];if(D.cwd)$(`tmux send-keys -t '${Q}' 'cd ${D.cwd.replace(/'/g,"'\\''")}' Enter`,{encoding:"utf-8"});return $(`tmux send-keys -t '${Q}' '${D.fullCommand.replace(/'/g,"'\\''")}' Enter`,{encoding:"utf-8"}),Q}let J=F?`-t '${F.windowId}'`:"",B=D.cwd?`-c '${D.cwd}'`:"",X=`tmux split-window -d ${J} ${B} -P -F '#{pane_id}' ${D.fullCommand}`;return $(X,{encoding:"utf-8"}).trim()}async function uV(D,F){let{execSync:$}=P("child_process"),J="genie",B=`genie:${F?.windowName??""}`;if(!F){let X=await MD("genie");B=X[0]?X[0].id:"genie:"}try{$(`tmux ${k8(B,D.layoutMode)}`,{stdio:"ignore"})}catch{}}async function xV(D){let F=D.spawnIntoCurrentWindow?null:await wV(D.validated.team,D.cwd),$;try{$=fV(D,F)}catch(B){console.error(`Failed to create tmux pane: ${B instanceof Error?B.message:"unknown error"}`),process.exit(1)}await uV(D,F);let J=await pF(D,$,F);if(await dF(D,$),D.spawnColor&&$!=="inline")await q3($,D.spawnColor,F?.windowId);if(await j0({id:D.validated.role??D.workerId,provider:D.validated.provider,team:D.validated.team,role:D.validated.role,skill:D.validated.skill,cwd:D.cwd,extraArgs:D.extraArgs,nativeTeamEnabled:J.nativeTeamEnabled,lastSpawnedAt:new Date().toISOString(),lastSessionId:J.claudeSessionId}),D.otelRelayActive&&$!=="%0")PV(D.workerId,$,D.agentName,D.spawnColor);if(F)console.log(` Window: ${F.windowName} (${F.windowId})`);kV(D,$,J)}async function yV(D){let F=D.validated.nativeTeam,$="inline",J=await pF(D,"inline");if(await dF(D,"inline"),console.log(`Agent "${D.workerId}" starting inline...`),console.log(` Provider: ${D.launch.provider} | Team: ${D.validated.team} | Role: ${D.validated.role??"-"}`),F?.enabled)console.log(` Native: enabled | AgentID: ${J.nativeAgentId}`);console.log("");let{spawnSync:B}=P("child_process"),X={...process.env,...D.launch.env??{}},Q=B("sh",["-c",D.launch.command],{env:X,stdio:"inherit"});if(await wD(D.workerId),F?.enabled&&D.agentName)await M1(D.validated.team,D.agentName).catch(()=>{}),await K1(D.validated.team,D.agentName).catch(()=>{});console.log(`
336
336
  Agent "${D.workerId}" session ended.`),process.exit(Q.status??0)}function hV(D,F){if(!F||Object.keys(F).length===0)return D;return`env ${Object.entries(F).map(([J,B])=>`${J}=${B}`).join(" ")} ${D}`}async function gV(D,F){let $=await p();for(let J of $)if(J.role===F&&J.team===D&&await TD(J.paneId))console.error(`Error: Worker with role "${F}" already exists in team "${D}" (state: ${J.state}, pane: ${J.paneId})
337
- Use a different --role name for a second worker, e.g.: --role ${F}-2`),process.exit(1)}async function mV(D,F,$){let B=(await AD(D))?.nativeTeamParentSessionId;if(!B)B=await _0()??crypto.randomUUID();await y2(D,`Genie team: ${D}`,B);let X=$.color??await E8(D),Q;if($.provider==="claude")Q={enabled:!0,parentSessionId:B,color:X,agentType:$.role??"general-purpose",planModeRequired:$.planMode,permissionMode:$.permissionMode,agentName:$.role};return{parentSessionId:B,spawnColor:X,nativeTeam:Q}}async function lV(D,F){let $=await E3(D);if(!$)console.error(`Error: Agent "${D}" not found in directory or built-ins.`),console.error(` Register with: genie dir add ${D} --dir <path>`),console.error(" Or use a built-in: engineer, reviewer, qa, fix, ..."),process.exit(1);let J=$.entry,B=null;if($.builtin)B=zF(D);else if(J.dir)B=c1(J);return{entry:J,repoPath:F.cwd??(J.dir||void 0)??process.cwd(),identityPath:B,model:F.model??J.model}}async function pV(D,F,$,J){let B={provider:$.provider,team:F,role:D,skill:$.skill,extraArgs:$.extraArgs,model:J.model,systemPromptFile:J.identityPath??void 0,promptMode:J.entry.promptMode,initialPrompt:$.initialPrompt},{parentSessionId:X,spawnColor:Q,nativeTeam:Y}=await mV(F,J.repoPath,{...$,role:D});if(Y)B.nativeTeam=Y;try{let{injectTeamHooks:G}=await Promise.resolve().then(() => (wF(),kF));if(await G(F))console.log(` Hooks: injected genie hook dispatch into team "${F}"`)}catch(G){console.warn(`Warning: could not inject hooks for team "${F}": ${G instanceof Error?G.message:G}`)}let q=B.provider==="claude"?crypto.randomUUID():void 0;if(q)B.sessionId=q;return{params:B,parentSessionId:X,spawnColor:Q}}async function V2(D,F){let $=await lV(D,F),J=Boolean(F.team),B=F.team||await A8();if(!B)console.error("Error: --team is required (or set GENIE_TEAM, or run inside a genie session)"),process.exit(1);await gV(B,D);let X=await AD(B);if(X?.worktreePath)$={...$,repoPath:X.worktreePath};let{params:Q,parentSessionId:Y,spawnColor:q}=await pV(D,B,F,$),G=B3(Q),H=U8(G),V=w8(F.layout),U=await vV(G.team,D),W=Boolean(process.env.TMUX),z=G.nativeTeam,A=new Date().toISOString(),_=z?.agentName??D,Z=!1;if(!z?.enabled&&G.provider==="codex"&&W)a0(),Z=await bV(G.team);let O=hV(H.command,H.env),x={workerId:U,validated:G,launch:H,layoutMode:V,fullCommand:O,agentName:_,spawnColor:q,parentSessionId:Y,claudeSessionId:Q.sessionId,otelRelayActive:Z,now:A,transport:W?"tmux":"inline",extraArgs:F.extraArgs,cwd:$.repoPath,spawnIntoCurrentWindow:!J&&W};if(W)await xV(x);else await yV(x)}async function dV(D){if(!D.team||!D.nativeAgentId)return;let F=D.nativeAgentId.split("@")[0];await M1(D.team,F).catch(()=>{}),await K1(D.team,F).catch(()=>{})}function cV(D){try{let{execSync:F}=P("child_process"),$=F("tmux display-message -p '#{pane_id}'",{encoding:"utf-8"}).trim();if(D.paneId&&/^(%\d+|inline)$/.test(D.paneId)&&D.paneId!==$)F(`tmux kill-pane -t ${D.paneId}`,{stdio:"ignore"});else if(D.paneId===$)console.log(" (skipped pane kill \u2014 would kill current session)")}catch{}}function iV(D){try{let{join:F}=P("path"),{homedir:$}=P("os"),{unlinkSync:J}=P("fs"),B=F($(),".genie","relay");for(let X of["-pane","-meta"])try{J(F(B,`${D}${X}`))}catch{}}catch{}}async function cF(D){let F=await iD(D);if(F)return F;let $=await p(),J=$.filter((X)=>X.role===D);if(J.length===1)return J[0];if(J.length>1){console.error(`Multiple agents with role "${D}". Specify full ID:`);for(let X of J)console.error(` ${X.id} (team: ${X.team})`);process.exit(1)}let B=$.filter((X)=>X.id.endsWith(`-${D}`));if(B.length===1)return B[0];if(B.length>1){console.error(`Multiple agents matching "${D}". Specify full ID:`);for(let X of B)console.error(` ${X.id}`);process.exit(1)}console.error(`Agent "${D}" not found.`),console.error(" Run `genie ls` to see agents."),process.exit(1)}async function e1(D){let F=await cF(D);if(cV(F),iV(F.id),await dV(F),F.claudeSessionId){let J=(await $3()).find((B)=>B.id===F.id||B.id===F.role||B.role===F.role);if(J)await j0({...J,lastSessionId:F.claudeSessionId})}await wD(F.id),console.log(`Agent "${F.id}" killed and unregistered (template preserved).`)}async function D5(D){let F=await cF(D);if(F.state==="suspended"){console.log(`Agent "${F.id}" is already stopped.`);return}let{suspendWorker:$}=await Promise.resolve().then(() => (gF(),hF));if(await $(F.id)){if(console.log(`Agent "${F.id}" stopped.`),F.claudeSessionId)console.log(` Session preserved: ${F.claudeSessionId}`);console.log(` Send a message to auto-resume: genie send '...' --to ${F.id}`)}else console.error(`Failed to stop agent "${F.id}".`),process.exit(1)}async function F5(D){let F=await A3(),$=await p(),J=new Map;for(let X of $){let Q=X.role||X.id;if(await TD(X.paneId))J.set(Q,{state:X.state,team:X.team||"-"})}let B=[];for(let X of F){let Q=J.get(X.name);B.push({name:X.name,dir:X.dir||"-",status:Q?Q.state:"offline",team:Q?.team||"-",model:X.model||"-"}),J.delete(X.name)}for(let[X,Q]of J)B.push({name:X,dir:"(built-in)",status:Q.state,team:Q.team,model:"-"});if(D.json){console.log(JSON.stringify(B,null,2));return}if(B.length===0){console.log("No agents registered. Use `genie dir add <name> --dir <path>` to register one.");return}console.log(""),console.log(lF("NAME","DIR","STATUS","TEAM","MODEL")),console.log("-".repeat(94));for(let X of B)console.log(lF(X.name,X.dir,X.status,X.team,X.model));console.log("")}function lF(D,F,$,J,B){return`${D.padEnd(20).substring(0,20)}${F.padEnd(40).substring(0,40)}${$.padEnd(12).substring(0,12)}${J.padEnd(12).substring(0,12)}${B}`}var d8=S(()=>{O3();KD();K3();m2();s6();z8();L3();FD();FD()});import{randomUUID as aW}from"crypto";var B5;var E$=S(()=>{B5={randomUUID:aW}});import{randomFillSync as tW}from"crypto";function X5(){if(a8>t8.length-16)tW(t8),a8=0;return t8.slice(a8,a8+=16)}var t8,a8;var A$=S(()=>{t8=new Uint8Array(256),a8=t8.length});function R$(D,F=0){return(a[D[F+0]]+a[D[F+1]]+a[D[F+2]]+a[D[F+3]]+"-"+a[D[F+4]]+a[D[F+5]]+"-"+a[D[F+6]]+a[D[F+7]]+"-"+a[D[F+8]]+a[D[F+9]]+"-"+a[D[F+10]]+a[D[F+11]]+a[D[F+12]]+a[D[F+13]]+a[D[F+14]]+a[D[F+15]]).toLowerCase()}var a;var O$=S(()=>{a=[];for(let D=0;D<256;++D)a.push((D+256).toString(16).slice(1))});function eW(D,F,$){if(B5.randomUUID&&!F&&!D)return B5.randomUUID();D=D||{};let J=D.random??D.rng?.()??X5();if(J.length<16)throw Error("Random bytes length must be >= 16");if(J[6]=J[6]&15|64,J[8]=J[8]&63|128,F){if($=$||0,$<0||$+16>F.length)throw RangeError(`UUID byte range ${$}:${$+15} is out of buffer bounds`);for(let B=0;B<16;++B)F[$+B]=J[B];return F}return R$(J)}var P3;var C$=S(()=>{E$();A$();O$();P3=eW});var Q5=S(()=>{C$()});import{mkdir as Y5,readFile as DU,writeFile as FU}from"fs/promises";import $U,{join as j$}from"path";function e8(D){return j$(D,".genie","mailbox")}function D6(D,F){let $=$U.basename(F);return j$(e8(D),`${$}.json`)}async function q5(D,F){try{let $=await DU(D6(D,F),"utf-8");return JSON.parse($)}catch{return{workerId:F,messages:[],lastUpdated:new Date().toISOString()}}}async function _$(D,F){let $=e8(D);await Y5($,{recursive:!0}),F.lastUpdated=new Date().toISOString(),await FU(D6(D,F.workerId),JSON.stringify(F,null,2))}function JU(){return`msg-${P3()}`}async function G5(D,F,$,J){await Y5(e8(D),{recursive:!0});let B=await HD(D6(D,$));try{let X=await q5(D,$),Q={id:JU(),from:F,to:$,body:J,createdAt:new Date().toISOString(),read:!1,deliveredAt:null};return X.messages.push(Q),await _$(D,X),Q}finally{await B()}}async function L$(D,F){return(await q5(D,F)).messages}async function H5(D,F,$){await Y5(e8(D),{recursive:!0});let J=await HD(D6(D,F));try{let B=await q5(D,F),X=B.messages.find((Q)=>Q.id===$);if(!X)return!1;return X.deliveredAt=new Date().toISOString(),await _$(D,B),!0}finally{await J()}}function Z$(D,F="blue"){let $=D.body.split(/\s+/),J=$.slice(0,8).join(" ")+($.length>8?"...":"");return{from:D.from,text:D.body,summary:J,timestamp:D.createdAt,color:F,read:!1}}var T$=S(()=>{Q5();w2()});function c2(D){return D.replace(/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g,"")}function F6(D,F){let $=c2(D),J=[];for(let B of F){let X=new RegExp(B.pattern.source,B.pattern.flags||"g"),Q=X.exec($);while(Q!==null){if(J.push({type:B.type,match:Q,extracted:B.extract?B.extract(Q):void 0}),!B.pattern.flags?.includes("g"))break;Q=X.exec($)}}return J}function k3(D,F){return F6(D,F).length>0}function $6(D,F){let $=F6(D,F);return $.length>0?$[0]:null}var N$,V5,S$,I$,b$,v$,P$;var W5=S(()=>{N$=[{type:"bash_permission",pattern:/Allow (?:Bash|bash|command|shell).*\?\s*(?:\[([YyNn])\/([YyNn])\])?/i,extract:(D)=>({default:D[1]||"y"})},{type:"file_permission",pattern:/Allow (?:Edit|Write|Read|file|reading|writing|editing).*\?\s*(?:\[([YyNn])\/([YyNn])\])?/i,extract:(D)=>({default:D[1]||"y"})},{type:"mcp_permission",pattern:/Allow (?:MCP|mcp|tool).*\?\s*(?:\[([YyNn])\/([YyNn])\])?/i,extract:(D)=>({default:D[1]||"y"})},{type:"generic_permission",pattern:/^(?:Allow|Confirm|Approve)\s+(?:this|the|once|always)?\s*(?:\w+)?\s*\?\s*(?:\[([YyNn])\/([YyNn])\])?/im,extract:(D)=>({default:D[1]||"y"})},{type:"claude_code_yes_no",pattern:/(?:Yes|No)\s*$/m},{type:"claude_code_permission_block",pattern:/(?:Allow|Run|Execute)\s+(?:once|always)/i}],V5=[{type:"numbered_options",pattern:/\[(\d+)\]\s+(.+?)(?=\[(\d+)\]|$)/g,extract:(D)=>({number:D[1],option:D[2].trim()})},{type:"lettered_options",pattern:/\(([a-z])\)\s+(.+?)(?=\([a-z]\)|$)/gi,extract:(D)=>({letter:D[1],option:D[2].trim()})},{type:"yes_no_question",pattern:/\?\s*\[([YyNn])\/([YyNn])\]\s*$/,extract:(D)=>({default:D[1]})},{type:"claude_code_numbered_options",pattern:/(?:\u276F|>)?\s*(\d+)\.\s+(.+?)(?:\n|$)/g,extract:(D)=>({number:D[1],option:D[2].trim()})},{type:"claude_code_plan_approval",pattern:/Would you like to proceed\?/i}],S$=[{type:"error",pattern:/(?:^|\n)\s*(?:Error|ERROR|error):\s*(.+)/,extract:(D)=>({message:D[1]})},{type:"failed",pattern:/(?:^|\n)\s*(?:Failed|FAILED|failed):\s*(.+)/,extract:(D)=>({message:D[1]})},{type:"exception",pattern:/(?:^|\n)\s*(?:Exception|EXCEPTION|Uncaught|Unhandled):\s*(.+)/,extract:(D)=>({message:D[1]})},{type:"api_error",pattern:/(?:API|api)\s+(?:error|Error|ERROR):\s*(.+)/,extract:(D)=>({message:D[1]})}],I$=[{type:"checkmark",pattern:/(?:\u2713|\u2714|\u2611\uFE0E)/},{type:"success_message",pattern:/(?:Successfully|Completed|Done|Finished|Created|Updated|Saved)/i},{type:"task_complete",pattern:/(?:task|operation|process)\s+(?:complete|completed|finished|done)/i}],b$=[{type:"thinking",pattern:/(?:Thinking|thinking|Processing|processing)\.\.\./},{type:"spinner",pattern:/[\u280B\u2819\u2839\u2838\u283C\u2834\u2826\u2827\u2807\u280F\u28FE\u28FD\u28FB\u28BF\u287F\u28DF\u28EF\u28F7]/},{type:"loading",pattern:/(?:Loading|loading|Working|working)\.\.\./},{type:"claude_code_working",pattern:/(?:\uD83D\uDEE0\uFE0F|\uD83D\uDD27|\u2699\uFE0F)\s*(?:Read|Edit|Write|Bash|Glob|Grep|Task)/u},{type:"claude_code_streaming",pattern:/\u258C$/},{type:"claude_code_propagating",pattern:/Propagating\u2026/}],v$=[{type:"claude_prompt",pattern:/(?:^|\n)\s*>\s*$/},{type:"claude_code_prompt",pattern:/\u276F\s*(?!\d\.)/},{type:"claude_code_input_line",pattern:/\u276F\s*.+\n\u2500+\n/},{type:"idle_indicator",pattern:/\|\s*idle\s*$/i},{type:"input_prompt",pattern:/(?:^|\n)(?:Enter|Input|Type|Provide).*:\s*$/i}],P$=[{type:"run_command",pattern:/(?:Run|Running|Executing)\s+(?:command|bash):\s*(.+)/i,extract:(D)=>({command:D[1]})},{type:"read_file",pattern:/(?:Read|Reading)\s+(?:file):\s*(.+)/i,extract:(D)=>({file:D[1]})},{type:"write_file",pattern:/(?:Write|Writing|Edit|Editing)\s+(?:file|to):\s*(.+)/i,extract:(D)=>({file:D[1]})},{type:"search",pattern:/(?:Search|Searching|Grep|Glob)(?:ing)?:\s*(.+)/i,extract:(D)=>({query:D[1]})}]});function XU(D,F,$){if(D.length===0&&!F)return null;let J=D.filter((X)=>X.type==="claude_code_numbered_options"&&X.extracted?.option).map((X)=>X.extracted?.option).filter((X)=>X!==void 0);if(J.length>=2||F)return{...$,type:"question",options:J.length>0?J:void 0,detail:F?"plan_approval":void 0,confidence:0.85};let B=D.filter((X)=>X.extracted?.option&&X.type!=="claude_code_numbered_options").map((X)=>X.extracted?.option).filter((X)=>X!==void 0);if(B.length>=2)return{...$,type:"question",options:B,confidence:0.85};return null}function J6(D,F={}){let{linesToAnalyze:$=50,minConfidence:J=0.3}=F,B=D.split(`
337
+ Use a different --role name for a second worker, e.g.: --role ${F}-2`),process.exit(1)}async function mV(D,F,$){let B=(await AD(D))?.nativeTeamParentSessionId;if(!B)B=await _0()??crypto.randomUUID();await y2(D,`Genie team: ${D}`,B);let X=$.color??await E8(D),Q;if($.provider==="claude")Q={enabled:!0,parentSessionId:B,color:X,agentType:$.role??"general-purpose",planModeRequired:$.planMode,permissionMode:$.permissionMode,agentName:$.role};return{parentSessionId:B,spawnColor:X,nativeTeam:Q}}async function lV(D,F){let $=await E3(D);if(!$)console.error(`Error: Agent "${D}" not found in directory or built-ins.`),console.error(` Register with: genie dir add ${D} --dir <path>`),console.error(" Or use a built-in: engineer, reviewer, qa, fix, ..."),process.exit(1);let J=$.entry,B=null;if($.builtin)B=zF(D);else if(J.dir)B=c1(J);return{entry:J,repoPath:F.cwd??(J.dir||void 0)??process.cwd(),identityPath:B,model:F.model??J.model}}async function pV(D,F,$,J){let B={provider:$.provider,team:F,role:D,skill:$.skill,extraArgs:$.extraArgs,model:J.model,systemPromptFile:J.identityPath??void 0,promptMode:J.entry.promptMode,initialPrompt:$.initialPrompt},{parentSessionId:X,spawnColor:Q,nativeTeam:Y}=await mV(F,J.repoPath,{...$,role:D});if(Y)B.nativeTeam=Y;try{let{injectTeamHooks:G}=await Promise.resolve().then(() => (wF(),kF));if(await G(F))console.log(` Hooks: injected genie hook dispatch into team "${F}"`)}catch(G){console.warn(`Warning: could not inject hooks for team "${F}": ${G instanceof Error?G.message:G}`)}let q=B.provider==="claude"?crypto.randomUUID():void 0;if(q)B.sessionId=q;return{params:B,parentSessionId:X,spawnColor:Q}}async function V2(D,F){let $=F.role??D,J=await lV(D,F),B=Boolean(F.team),X=F.team||await A8();if(!X)console.error("Error: --team is required (or set GENIE_TEAM, or run inside a genie session)"),process.exit(1);await gV(X,$);let Q=await AD(X);if(Q?.worktreePath)J={...J,repoPath:Q.worktreePath};let{params:Y,parentSessionId:q,spawnColor:G}=await pV($,X,F,J),H=B3(Y),V=U8(H),U=w8(F.layout),W=await vV(H.team,$),z=Boolean(process.env.TMUX),A=H.nativeTeam,_=new Date().toISOString(),Z=A?.agentName??$,O=!1;if(!A?.enabled&&H.provider==="codex"&&z)a0(),O=await bV(H.team);let x=hV(V.command,V.env),t={workerId:W,validated:H,launch:V,layoutMode:U,fullCommand:x,agentName:Z,spawnColor:G,parentSessionId:q,claudeSessionId:Y.sessionId,otelRelayActive:O,now:_,transport:z?"tmux":"inline",extraArgs:F.extraArgs,cwd:J.repoPath,spawnIntoCurrentWindow:!B&&z};if(z)await xV(t);else await yV(t)}async function dV(D){if(!D.team||!D.nativeAgentId)return;let F=D.nativeAgentId.split("@")[0];await M1(D.team,F).catch(()=>{}),await K1(D.team,F).catch(()=>{})}function cV(D){try{let{execSync:F}=P("child_process"),$=F("tmux display-message -p '#{pane_id}'",{encoding:"utf-8"}).trim();if(D.paneId&&/^(%\d+|inline)$/.test(D.paneId)&&D.paneId!==$)F(`tmux kill-pane -t ${D.paneId}`,{stdio:"ignore"});else if(D.paneId===$)console.log(" (skipped pane kill \u2014 would kill current session)")}catch{}}function iV(D){try{let{join:F}=P("path"),{homedir:$}=P("os"),{unlinkSync:J}=P("fs"),B=F($(),".genie","relay");for(let X of["-pane","-meta"])try{J(F(B,`${D}${X}`))}catch{}}catch{}}async function cF(D){let F=await iD(D);if(F)return F;let $=await p(),J=$.filter((X)=>X.role===D);if(J.length===1)return J[0];if(J.length>1){console.error(`Multiple agents with role "${D}". Specify full ID:`);for(let X of J)console.error(` ${X.id} (team: ${X.team})`);process.exit(1)}let B=$.filter((X)=>X.id.endsWith(`-${D}`));if(B.length===1)return B[0];if(B.length>1){console.error(`Multiple agents matching "${D}". Specify full ID:`);for(let X of B)console.error(` ${X.id}`);process.exit(1)}console.error(`Agent "${D}" not found.`),console.error(" Run `genie ls` to see agents."),process.exit(1)}async function e1(D){let F=await cF(D);if(cV(F),iV(F.id),await dV(F),F.claudeSessionId){let J=(await $3()).find((B)=>B.id===F.id||B.id===F.role||B.role===F.role);if(J)await j0({...J,lastSessionId:F.claudeSessionId})}await wD(F.id),console.log(`Agent "${F.id}" killed and unregistered (template preserved).`)}async function D5(D){let F=await cF(D);if(F.state==="suspended"){console.log(`Agent "${F.id}" is already stopped.`);return}let{suspendWorker:$}=await Promise.resolve().then(() => (gF(),hF));if(await $(F.id)){if(console.log(`Agent "${F.id}" stopped.`),F.claudeSessionId)console.log(` Session preserved: ${F.claudeSessionId}`);console.log(` Send a message to auto-resume: genie send '...' --to ${F.id}`)}else console.error(`Failed to stop agent "${F.id}".`),process.exit(1)}async function F5(D){let F=await A3(),$=await p(),J=new Map;for(let X of $){let Q=X.role||X.id;if(await TD(X.paneId))J.set(Q,{state:X.state,team:X.team||"-"})}let B=[];for(let X of F){let Q=J.get(X.name);B.push({name:X.name,dir:X.dir||"-",status:Q?Q.state:"offline",team:Q?.team||"-",model:X.model||"-"}),J.delete(X.name)}for(let[X,Q]of J)B.push({name:X,dir:"(built-in)",status:Q.state,team:Q.team,model:"-"});if(D.json){console.log(JSON.stringify(B,null,2));return}if(B.length===0){console.log("No agents registered. Use `genie dir add <name> --dir <path>` to register one.");return}console.log(""),console.log(lF("NAME","DIR","STATUS","TEAM","MODEL")),console.log("-".repeat(94));for(let X of B)console.log(lF(X.name,X.dir,X.status,X.team,X.model));console.log("")}function lF(D,F,$,J,B){return`${D.padEnd(20).substring(0,20)}${F.padEnd(40).substring(0,40)}${$.padEnd(12).substring(0,12)}${J.padEnd(12).substring(0,12)}${B}`}var d8=S(()=>{O3();KD();K3();m2();s6();z8();L3();$D();$D()});import{randomUUID as aW}from"crypto";var B5;var E$=S(()=>{B5={randomUUID:aW}});import{randomFillSync as tW}from"crypto";function X5(){if(a8>t8.length-16)tW(t8),a8=0;return t8.slice(a8,a8+=16)}var t8,a8;var A$=S(()=>{t8=new Uint8Array(256),a8=t8.length});function R$(D,F=0){return(a[D[F+0]]+a[D[F+1]]+a[D[F+2]]+a[D[F+3]]+"-"+a[D[F+4]]+a[D[F+5]]+"-"+a[D[F+6]]+a[D[F+7]]+"-"+a[D[F+8]]+a[D[F+9]]+"-"+a[D[F+10]]+a[D[F+11]]+a[D[F+12]]+a[D[F+13]]+a[D[F+14]]+a[D[F+15]]).toLowerCase()}var a;var O$=S(()=>{a=[];for(let D=0;D<256;++D)a.push((D+256).toString(16).slice(1))});function eW(D,F,$){if(B5.randomUUID&&!F&&!D)return B5.randomUUID();D=D||{};let J=D.random??D.rng?.()??X5();if(J.length<16)throw Error("Random bytes length must be >= 16");if(J[6]=J[6]&15|64,J[8]=J[8]&63|128,F){if($=$||0,$<0||$+16>F.length)throw RangeError(`UUID byte range ${$}:${$+15} is out of buffer bounds`);for(let B=0;B<16;++B)F[$+B]=J[B];return F}return R$(J)}var P3;var C$=S(()=>{E$();A$();O$();P3=eW});var Q5=S(()=>{C$()});import{mkdir as Y5,readFile as DU,writeFile as FU}from"fs/promises";import $U,{join as j$}from"path";function e8(D){return j$(D,".genie","mailbox")}function D6(D,F){let $=$U.basename(F);return j$(e8(D),`${$}.json`)}async function q5(D,F){try{let $=await DU(D6(D,F),"utf-8");return JSON.parse($)}catch{return{workerId:F,messages:[],lastUpdated:new Date().toISOString()}}}async function _$(D,F){let $=e8(D);await Y5($,{recursive:!0}),F.lastUpdated=new Date().toISOString(),await FU(D6(D,F.workerId),JSON.stringify(F,null,2))}function JU(){return`msg-${P3()}`}async function G5(D,F,$,J){await Y5(e8(D),{recursive:!0});let B=await HD(D6(D,$));try{let X=await q5(D,$),Q={id:JU(),from:F,to:$,body:J,createdAt:new Date().toISOString(),read:!1,deliveredAt:null};return X.messages.push(Q),await _$(D,X),Q}finally{await B()}}async function L$(D,F){return(await q5(D,F)).messages}async function H5(D,F,$){await Y5(e8(D),{recursive:!0});let J=await HD(D6(D,F));try{let B=await q5(D,F),X=B.messages.find((Q)=>Q.id===$);if(!X)return!1;return X.deliveredAt=new Date().toISOString(),await _$(D,B),!0}finally{await J()}}function Z$(D,F="blue"){let $=D.body.split(/\s+/),J=$.slice(0,8).join(" ")+($.length>8?"...":"");return{from:D.from,text:D.body,summary:J,timestamp:D.createdAt,color:F,read:!1}}var T$=S(()=>{Q5();w2()});function c2(D){return D.replace(/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g,"")}function F6(D,F){let $=c2(D),J=[];for(let B of F){let X=new RegExp(B.pattern.source,B.pattern.flags||"g"),Q=X.exec($);while(Q!==null){if(J.push({type:B.type,match:Q,extracted:B.extract?B.extract(Q):void 0}),!B.pattern.flags?.includes("g"))break;Q=X.exec($)}}return J}function k3(D,F){return F6(D,F).length>0}function $6(D,F){let $=F6(D,F);return $.length>0?$[0]:null}var N$,V5,S$,I$,b$,v$,P$;var W5=S(()=>{N$=[{type:"bash_permission",pattern:/Allow (?:Bash|bash|command|shell).*\?\s*(?:\[([YyNn])\/([YyNn])\])?/i,extract:(D)=>({default:D[1]||"y"})},{type:"file_permission",pattern:/Allow (?:Edit|Write|Read|file|reading|writing|editing).*\?\s*(?:\[([YyNn])\/([YyNn])\])?/i,extract:(D)=>({default:D[1]||"y"})},{type:"mcp_permission",pattern:/Allow (?:MCP|mcp|tool).*\?\s*(?:\[([YyNn])\/([YyNn])\])?/i,extract:(D)=>({default:D[1]||"y"})},{type:"generic_permission",pattern:/^(?:Allow|Confirm|Approve)\s+(?:this|the|once|always)?\s*(?:\w+)?\s*\?\s*(?:\[([YyNn])\/([YyNn])\])?/im,extract:(D)=>({default:D[1]||"y"})},{type:"claude_code_yes_no",pattern:/(?:Yes|No)\s*$/m},{type:"claude_code_permission_block",pattern:/(?:Allow|Run|Execute)\s+(?:once|always)/i}],V5=[{type:"numbered_options",pattern:/\[(\d+)\]\s+(.+?)(?=\[(\d+)\]|$)/g,extract:(D)=>({number:D[1],option:D[2].trim()})},{type:"lettered_options",pattern:/\(([a-z])\)\s+(.+?)(?=\([a-z]\)|$)/gi,extract:(D)=>({letter:D[1],option:D[2].trim()})},{type:"yes_no_question",pattern:/\?\s*\[([YyNn])\/([YyNn])\]\s*$/,extract:(D)=>({default:D[1]})},{type:"claude_code_numbered_options",pattern:/(?:\u276F|>)?\s*(\d+)\.\s+(.+?)(?:\n|$)/g,extract:(D)=>({number:D[1],option:D[2].trim()})},{type:"claude_code_plan_approval",pattern:/Would you like to proceed\?/i}],S$=[{type:"error",pattern:/(?:^|\n)\s*(?:Error|ERROR|error):\s*(.+)/,extract:(D)=>({message:D[1]})},{type:"failed",pattern:/(?:^|\n)\s*(?:Failed|FAILED|failed):\s*(.+)/,extract:(D)=>({message:D[1]})},{type:"exception",pattern:/(?:^|\n)\s*(?:Exception|EXCEPTION|Uncaught|Unhandled):\s*(.+)/,extract:(D)=>({message:D[1]})},{type:"api_error",pattern:/(?:API|api)\s+(?:error|Error|ERROR):\s*(.+)/,extract:(D)=>({message:D[1]})}],I$=[{type:"checkmark",pattern:/(?:\u2713|\u2714|\u2611\uFE0E)/},{type:"success_message",pattern:/(?:Successfully|Completed|Done|Finished|Created|Updated|Saved)/i},{type:"task_complete",pattern:/(?:task|operation|process)\s+(?:complete|completed|finished|done)/i}],b$=[{type:"thinking",pattern:/(?:Thinking|thinking|Processing|processing)\.\.\./},{type:"spinner",pattern:/[\u280B\u2819\u2839\u2838\u283C\u2834\u2826\u2827\u2807\u280F\u28FE\u28FD\u28FB\u28BF\u287F\u28DF\u28EF\u28F7]/},{type:"loading",pattern:/(?:Loading|loading|Working|working)\.\.\./},{type:"claude_code_working",pattern:/(?:\uD83D\uDEE0\uFE0F|\uD83D\uDD27|\u2699\uFE0F)\s*(?:Read|Edit|Write|Bash|Glob|Grep|Task)/u},{type:"claude_code_streaming",pattern:/\u258C$/},{type:"claude_code_propagating",pattern:/Propagating\u2026/}],v$=[{type:"claude_prompt",pattern:/(?:^|\n)\s*>\s*$/},{type:"claude_code_prompt",pattern:/\u276F\s*(?!\d\.)/},{type:"claude_code_input_line",pattern:/\u276F\s*.+\n\u2500+\n/},{type:"idle_indicator",pattern:/\|\s*idle\s*$/i},{type:"input_prompt",pattern:/(?:^|\n)(?:Enter|Input|Type|Provide).*:\s*$/i}],P$=[{type:"run_command",pattern:/(?:Run|Running|Executing)\s+(?:command|bash):\s*(.+)/i,extract:(D)=>({command:D[1]})},{type:"read_file",pattern:/(?:Read|Reading)\s+(?:file):\s*(.+)/i,extract:(D)=>({file:D[1]})},{type:"write_file",pattern:/(?:Write|Writing|Edit|Editing)\s+(?:file|to):\s*(.+)/i,extract:(D)=>({file:D[1]})},{type:"search",pattern:/(?:Search|Searching|Grep|Glob)(?:ing)?:\s*(.+)/i,extract:(D)=>({query:D[1]})}]});function XU(D,F,$){if(D.length===0&&!F)return null;let J=D.filter((X)=>X.type==="claude_code_numbered_options"&&X.extracted?.option).map((X)=>X.extracted?.option).filter((X)=>X!==void 0);if(J.length>=2||F)return{...$,type:"question",options:J.length>0?J:void 0,detail:F?"plan_approval":void 0,confidence:0.85};let B=D.filter((X)=>X.extracted?.option&&X.type!=="claude_code_numbered_options").map((X)=>X.extracted?.option).filter((X)=>X!==void 0);if(B.length>=2)return{...$,type:"question",options:B,confidence:0.85};return null}function J6(D,F={}){let{linesToAnalyze:$=50,minConfidence:J=0.3}=F,B=D.split(`
338
338
  `),X=B.slice(-$).join(`
339
339
  `),Q=c2(X),Y={timestamp:Date.now(),rawOutput:X},q=$6(Q,N$);if(q)return{...Y,type:"permission",detail:q.type.replace("_permission",""),confidence:0.9};let G=k3(Q,V5.filter((O)=>O.type==="claude_code_plan_approval")),H=c2(B.slice(-15).join(`
340
340
  `)),V=F6(H,V5),U=XU(V,G,Y);if(U)return U;let W=V.find((O)=>O.type==="yes_no_question");if(W)return{...Y,type:"question",options:["Yes","No"],detail:`default: ${W.extracted?.default||"y"}`,confidence:0.85};let z=$6(Q,S$);if(z)return{...Y,type:"error",detail:z.extracted?.message||z.match[0],confidence:0.8};let A=$6(Q,P$);if(A)return{...Y,type:"tool_use",detail:`${A.type}: ${A.extracted?.command||A.extracted?.file||A.extracted?.query||""}`,confidence:0.75};if(k3(Q,b$))return{...Y,type:"working",confidence:0.7};if(k3(Q,I$))return{...Y,type:"complete",confidence:0.6};let _=c2(B.slice(-5).join(`
341
- `));if(k3(_,v$))return{...Y,type:"idle",confidence:0.7};let Z=_.trim();if(Z.endsWith(">")||Z.match(/>\s*$/))return{...Y,type:"idle",detail:"prompt detected",confidence:0.65};return{...Y,type:"unknown",confidence:J}}var k$=S(()=>{W5()});var U5=S(()=>{W5();k$()});var f$={};JD(f$,{spawnWorkerFromTemplate:()=>WU});import{exec as QU}from"child_process";import{promisify as YU}from"util";async function qU(D,F){let $=await AD(F);if($?.nativeTeamParentSessionId)return $.nativeTeamParentSessionId;return await _0()??crypto.randomUUID()}function GU(D,F,$,J){let B=D.provider==="claude",X={provider:D.provider,team:D.team,role:D.role,skill:D.skill,extraArgs:D.extraArgs,sessionId:B&&!J?crypto.randomUUID():void 0,resume:B?J:void 0};if(B)X.nativeTeam={enabled:!0,parentSessionId:F,color:$,agentType:D.role??"general-purpose",agentName:D.role};return X}function HU(D){if(D.env&&Object.keys(D.env).length>0)return`env ${Object.entries(D.env).map(([$,J])=>`${$}=${J}`).join(" ")} ${D.command}`;return D.command}async function VU(D,F){let $=F?`${D}-${F}`:D;return(await p()).some((B)=>B.id===$)?`${$}-${crypto.randomUUID().slice(0,8)}`:$}async function WU(D,F){let $=D.cwd??process.cwd(),J=D.team,B=await qU($,J);await y2(J,`Genie team: ${J}`,B);let X=await E8(J),Q=GU(D,B,X,F),Y=U8(B3(Q)),q=HU(Y),G=await VU(J,D.role),H="genie",V=null;try{V=await p2(H,J,$)}catch{}let U=V?`-t '${V.windowId}'`:"",{stdout:W}=await w$(`tmux split-window -d ${U} -P -F '#{pane_id}' ${q}`),z=W.trim(),A=`${H}:${V?.windowName??""}`;if(!V){let qD=await MD(H);A=qD[0]?qD[0].id:`${H}:`}try{await w$(`tmux ${k8(A,w8())}`)}catch{}let _=new Date().toISOString(),Z=D.role??"worker",O=D.provider==="claude",x={id:G,paneId:z,session:H,provider:D.provider,transport:"tmux",role:D.role,skill:D.skill,team:J,worktree:null,startedAt:_,state:"spawning",lastStateChange:_,repoPath:$,claudeSessionId:F??Q.sessionId,nativeTeamEnabled:O,nativeAgentId:`${Z}@${J}`,nativeColor:X,parentSessionId:B,window:V?.windowName,windowName:V?.windowName,windowId:V?.windowId};if(await f2(x),await h2(J,{agentName:Z,agentType:D.role??"general-purpose",color:X??"blue",tmuxPaneId:z,cwd:$}),await g2(J,"team-lead",{from:Z,text:`Worker ${Z} (${D.provider}) auto-spawned${F?" with --resume":""}. Ready for tasks.`,summary:`${Z} auto-spawned`,timestamp:_,color:X??"blue",read:!1}),X)await q3(z,X,V?.windowId);return{worker:x,paneId:z,workerId:G}}var w$;var u$=S(()=>{KD();m2();z8();L3();FD();w$=YU(QU)});var h$={};JD(h$,{sendMessage:()=>OU,getInbox:()=>_U});async function KU(D,F=UU){let $=Date.now();while(Date.now()-$<F){try{let J=await ED(D,30);if(J6(J).type==="idle")return!0}catch{}await new Promise((J)=>setTimeout(J,zU))}return!1}async function y$(D){let F=await p(),$=[],J=[],B=[];for(let X of F){if(X.state==="suspended")continue;if(!await TD(X.paneId))continue;if(X.id===D)$.push(X);else if(X.role===D)J.push(X);else if(`${X.team}:${X.role}`===D)B.push(X)}if($.length>0)return $;if(J.length>0)return J;return B}async function MU(D){let F=await y$(D);return F.length===1?F[0]:null}async function EU(D,F){if(D&&D.state!=="suspended"&&await TD(D.paneId))return{worker:D,respawned:!1};let $=await MU(F);if($)return{worker:$,respawned:!1};if(!process.env.TMUX)return null;let J=await $3(),B=[D?.role,D?.id,F].filter((G)=>Boolean(G)),X=[...new Set(B)],Q=D?.team,Y=J.find((G)=>{if(Q&&G.team!==Q)return!1;return X.some((H)=>G.id===H||G.role===H||`${G.team}:${G.role}`===H)});if(!Y)return null;let q=Y.provider==="claude"?D?.claudeSessionId??Y.lastSessionId:void 0;try{if(await AU(F,Q),D)await wD(D.id);let{spawnWorkerFromTemplate:G}=await Promise.resolve().then(() => (u$(),f$)),H=await G(Y,q);if(await j0({...Y,lastSpawnedAt:new Date().toISOString(),lastSessionId:H.worker.claudeSessionId}),await KU(H.paneId),!await TD(H.paneId))return await wD(H.worker.id),null;return{worker:H.worker,respawned:!0}}catch{return null}}async function AU(D,F){let $=await p();for(let J of $){if(F&&J.team!==F)continue;if(!(J.role===D||J.id===D))continue;if(await TD(J.paneId))continue;await wD(J.id)}}async function x$(D,F,$,J){let B=await G5(D,F,$.id,J),X=$.nativeTeamEnabled&&$.team&&$.role?await CU($,B):await jU($,B);if(X)await H5(D,$.id,B.id);return{messageId:B.id,workerId:$.id,delivered:X}}async function RU(D,F,$,J,B){let X=B??await A8();if(!X)return null;let Q=await x2(X).catch(()=>null);if(!Q)return null;if(!Q.members?.some((q)=>q.name===$||q.agentId===`${$}@${X}`))return null;try{let q=await G5(D,F,$,J),G={from:F,text:J,summary:J.length>50?`${J.substring(0,50)}...`:J,timestamp:new Date().toISOString(),color:"blue",read:!1};return await g2(X,$,G),await H5(D,$,q.id),{messageId:q.id,workerId:$,delivered:!0}}catch{return null}}async function OU(D,F,$,J,B){let X=await y$($);if(X.length===1)return x$(D,F,X[0],J);if(X.length>1)return{messageId:"",workerId:$,delivered:!1,reason:`Worker "${$}" is ambiguous. Found ${X.length} live matches: ${X.map((H)=>H.id).join(", ")}. Use exact worker ID.`};let{resolve:Q}=await Promise.resolve().then(() => (O3(),R3)),Y=await Q($),q=await iD($);if(!q){let H=await p();q=H.find((V)=>V.role===$&&V.state==="suspended")??H.find((V)=>V.role===$)??null}if(Y||q){let H=await EU(q,$);if(H)return x$(D,F,H.worker,J)}let G=await RU(D,F,$,J,B);if(G)return G;return{messageId:"",workerId:$,delivered:!1,reason:`Worker "${$}" not found or not alive`}}async function CU(D,F){try{let $=Z$(F,D.nativeColor??"blue"),J=D.role??D.id;return await g2(D.team??"",J,$),!0}catch{return!1}}async function jU(D,F){if(!D.paneId)return!1;if(!/^%\d+$/.test(D.paneId))return!1;try{let $=F.body.replace(/'/g,"'\\''");return await f(`send-keys -t '${D.paneId}' '${$}'`),await new Promise((J)=>setTimeout(J,200)),await f(`send-keys -t '${D.paneId}' Enter`),!0}catch{return!1}}async function _U(D,F){return L$(D,F)}var UU=15000,zU=1000;var g$=S(()=>{KD();m2();T$();U5();FD()});var p$={};JD(p$,{readMessages:()=>SU,postMessage:()=>NU});import{appendFile as LU,mkdir as ZU,readFile as TU}from"fs/promises";import{join as m$}from"path";function l$(D){return m$(D,".genie","chat")}function z5(D,F){let $=F.replace(/\//g,"--");return m$(l$(D),`${$}.jsonl`)}async function NU(D,F,$,J){let B=l$(D);await ZU(B,{recursive:!0});let X=await HD(z5(D,F));try{let Q={id:`chat-${P3()}`,sender:$,body:J,timestamp:new Date().toISOString()},Y=z5(D,F);return await LU(Y,`${JSON.stringify(Q)}
341
+ `));if(k3(_,v$))return{...Y,type:"idle",confidence:0.7};let Z=_.trim();if(Z.endsWith(">")||Z.match(/>\s*$/))return{...Y,type:"idle",detail:"prompt detected",confidence:0.65};return{...Y,type:"unknown",confidence:J}}var k$=S(()=>{W5()});var U5=S(()=>{W5();k$()});var f$={};BD(f$,{spawnWorkerFromTemplate:()=>WU});import{exec as QU}from"child_process";import{promisify as YU}from"util";async function qU(D,F){let $=await AD(F);if($?.nativeTeamParentSessionId)return $.nativeTeamParentSessionId;return await _0()??crypto.randomUUID()}function GU(D,F,$,J){let B=D.provider==="claude",X={provider:D.provider,team:D.team,role:D.role,skill:D.skill,extraArgs:D.extraArgs,sessionId:B&&!J?crypto.randomUUID():void 0,resume:B?J:void 0};if(B)X.nativeTeam={enabled:!0,parentSessionId:F,color:$,agentType:D.role??"general-purpose",agentName:D.role};return X}function HU(D){if(D.env&&Object.keys(D.env).length>0)return`env ${Object.entries(D.env).map(([$,J])=>`${$}=${J}`).join(" ")} ${D.command}`;return D.command}async function VU(D,F){let $=F?`${D}-${F}`:D;return(await p()).some((B)=>B.id===$)?`${$}-${crypto.randomUUID().slice(0,8)}`:$}async function WU(D,F){let $=D.cwd??process.cwd(),J=D.team,B=await qU($,J);await y2(J,`Genie team: ${J}`,B);let X=await E8(J),Q=GU(D,B,X,F),Y=U8(B3(Q)),q=HU(Y),G=await VU(J,D.role),H="genie",V=null;try{V=await p2(H,J,$)}catch{}let U=V?`-t '${V.windowId}'`:"",{stdout:W}=await w$(`tmux split-window -d ${U} -P -F '#{pane_id}' ${q}`),z=W.trim(),A=`${H}:${V?.windowName??""}`;if(!V){let t=await MD(H);A=t[0]?t[0].id:`${H}:`}try{await w$(`tmux ${k8(A,w8())}`)}catch{}let _=new Date().toISOString(),Z=D.role??"worker",O=D.provider==="claude",x={id:G,paneId:z,session:H,provider:D.provider,transport:"tmux",role:D.role,skill:D.skill,team:J,worktree:null,startedAt:_,state:"spawning",lastStateChange:_,repoPath:$,claudeSessionId:F??Q.sessionId,nativeTeamEnabled:O,nativeAgentId:`${Z}@${J}`,nativeColor:X,parentSessionId:B,window:V?.windowName,windowName:V?.windowName,windowId:V?.windowId};if(await f2(x),await h2(J,{agentName:Z,agentType:D.role??"general-purpose",color:X??"blue",tmuxPaneId:z,cwd:$}),await g2(J,"team-lead",{from:Z,text:`Worker ${Z} (${D.provider}) auto-spawned${F?" with --resume":""}. Ready for tasks.`,summary:`${Z} auto-spawned`,timestamp:_,color:X??"blue",read:!1}),X)await q3(z,X,V?.windowId);return{worker:x,paneId:z,workerId:G}}var w$;var u$=S(()=>{KD();m2();z8();L3();$D();w$=YU(QU)});var h$={};BD(h$,{sendMessage:()=>OU,getInbox:()=>_U});async function KU(D,F=UU){let $=Date.now();while(Date.now()-$<F){try{let J=await ED(D,30);if(J6(J).type==="idle")return!0}catch{}await new Promise((J)=>setTimeout(J,zU))}return!1}async function y$(D){let F=await p(),$=[],J=[],B=[];for(let X of F){if(X.state==="suspended")continue;if(!await TD(X.paneId))continue;if(X.id===D)$.push(X);else if(X.role===D)J.push(X);else if(`${X.team}:${X.role}`===D)B.push(X)}if($.length>0)return $;if(J.length>0)return J;return B}async function MU(D){let F=await y$(D);return F.length===1?F[0]:null}async function EU(D,F){if(D&&D.state!=="suspended"&&await TD(D.paneId))return{worker:D,respawned:!1};let $=await MU(F);if($)return{worker:$,respawned:!1};if(!process.env.TMUX)return null;let J=await $3(),B=[D?.role,D?.id,F].filter((G)=>Boolean(G)),X=[...new Set(B)],Q=D?.team,Y=J.find((G)=>{if(Q&&G.team!==Q)return!1;return X.some((H)=>G.id===H||G.role===H||`${G.team}:${G.role}`===H)});if(!Y)return null;let q=Y.provider==="claude"?D?.claudeSessionId??Y.lastSessionId:void 0;try{if(await AU(F,Q),D)await wD(D.id);let{spawnWorkerFromTemplate:G}=await Promise.resolve().then(() => (u$(),f$)),H=await G(Y,q);if(await j0({...Y,lastSpawnedAt:new Date().toISOString(),lastSessionId:H.worker.claudeSessionId}),await KU(H.paneId),!await TD(H.paneId))return await wD(H.worker.id),null;return{worker:H.worker,respawned:!0}}catch{return null}}async function AU(D,F){let $=await p();for(let J of $){if(F&&J.team!==F)continue;if(!(J.role===D||J.id===D))continue;if(await TD(J.paneId))continue;await wD(J.id)}}async function x$(D,F,$,J){let B=await G5(D,F,$.id,J),X=$.nativeTeamEnabled&&$.team&&$.role?await CU($,B):await jU($,B);if(X)await H5(D,$.id,B.id);return{messageId:B.id,workerId:$.id,delivered:X}}async function RU(D,F,$,J,B){let X=B??await A8();if(!X)return null;let Q=await x2(X).catch(()=>null);if(!Q)return null;if(!Q.members?.some((q)=>q.name===$||q.agentId===`${$}@${X}`))return null;try{let q=await G5(D,F,$,J),G={from:F,text:J,summary:J.length>50?`${J.substring(0,50)}...`:J,timestamp:new Date().toISOString(),color:"blue",read:!1};return await g2(X,$,G),await H5(D,$,q.id),{messageId:q.id,workerId:$,delivered:!0}}catch{return null}}async function OU(D,F,$,J,B){let X=await y$($);if(X.length===1)return x$(D,F,X[0],J);if(X.length>1)return{messageId:"",workerId:$,delivered:!1,reason:`Worker "${$}" is ambiguous. Found ${X.length} live matches: ${X.map((H)=>H.id).join(", ")}. Use exact worker ID.`};let{resolve:Q}=await Promise.resolve().then(() => (O3(),R3)),Y=await Q($),q=await iD($);if(!q){let H=await p();q=H.find((V)=>V.role===$&&V.state==="suspended")??H.find((V)=>V.role===$)??null}if(Y||q){let H=await EU(q,$);if(H)return x$(D,F,H.worker,J)}let G=await RU(D,F,$,J,B);if(G)return G;return{messageId:"",workerId:$,delivered:!1,reason:`Worker "${$}" not found or not alive`}}async function CU(D,F){try{let $=Z$(F,D.nativeColor??"blue"),J=D.role??D.id;return await g2(D.team??"",J,$),!0}catch{return!1}}async function jU(D,F){if(!D.paneId)return!1;if(!/^%\d+$/.test(D.paneId))return!1;try{let $=F.body.replace(/'/g,"'\\''");return await f(`send-keys -t '${D.paneId}' '${$}'`),await new Promise((J)=>setTimeout(J,200)),await f(`send-keys -t '${D.paneId}' Enter`),!0}catch{return!1}}async function _U(D,F){return L$(D,F)}var UU=15000,zU=1000;var g$=S(()=>{KD();m2();T$();U5();$D()});var p$={};BD(p$,{readMessages:()=>SU,postMessage:()=>NU});import{appendFile as LU,mkdir as ZU,readFile as TU}from"fs/promises";import{join as m$}from"path";function l$(D){return m$(D,".genie","chat")}function z5(D,F){let $=F.replace(/\//g,"--");return m$(l$(D),`${$}.jsonl`)}async function NU(D,F,$,J){let B=l$(D);await ZU(B,{recursive:!0});let X=await HD(z5(D,F));try{let Q={id:`chat-${P3()}`,sender:$,body:J,timestamp:new Date().toISOString()},Y=z5(D,F);return await LU(Y,`${JSON.stringify(Q)}
342
342
  `),Q}finally{await X()}}async function SU(D,F,$){let J=z5(D,F),B;try{B=await TU(J,"utf-8")}catch{return[]}let X=B.trim().split(`
343
- `).filter(Boolean),Q=[];for(let Y of X)try{Q.push(JSON.parse(Y))}catch{}if($){let Y=new Date($).getTime();Q=Q.filter((q)=>new Date(q.timestamp).getTime()>=Y)}return Q}var d$=S(()=>{Q5();w2()});var qJ={};JD(qJ,{getOrCreateSession:()=>Ez});import{mkdir as Vz,readFile as Wz,writeFile as Uz}from"fs/promises";import{homedir as zz}from"os";import{dirname as Kz,join as XJ}from"path";function YJ(){return XJ(process.env.GENIE_HOME??XJ(zz(),".genie"),"sessions.json")}async function Mz(){try{let D=await Wz(YJ(),"utf-8");return JSON.parse(D)}catch{return{sessions:{}}}}async function QJ(D){let F=YJ();await Vz(Kz(F),{recursive:!0}),await Uz(F,JSON.stringify(D,null,2))}async function Ez(D){let F=await Mz(),$=F.sessions[D];if($)return $.lastUsedAt=new Date().toISOString(),await QJ(F),{uuid:$.uuid,isNew:!1};let J=crypto.randomUUID();return F.sessions[D]={uuid:J,createdAt:new Date().toISOString(),lastUsedAt:new Date().toISOString()},await QJ(F),{uuid:J,isNew:!0}}var GJ=()=>{};var _5={};JD(_5,{sessionCommand:()=>kz,sanitizeWindowName:()=>x3,getAgentsFilePath:()=>VJ,buildClaudeCommand:()=>j5});import{spawnSync as Az}from"child_process";import{createHash as Rz}from"crypto";import{existsSync as HJ,readFileSync as Oz,readdirSync as Cz,statSync as jz}from"fs";import{homedir as _z}from"os";import{basename as y3,join as C5}from"path";function Zz(D){return Rz("md5").update(D).digest("hex").slice(0,4)}function VJ(){let D=C5(process.cwd(),"AGENTS.md");if(HJ(D))return D;return null}function Tz(D){return D.replace(/\//g,"-")}function WJ(D,F,$){let J=Tz($),B=C5(_z(),".claude","projects",J);if(!HJ(B))return null;let X;try{X=Cz(B).filter((Q)=>Q.endsWith(".jsonl")).map((Q)=>{let Y=C5(B,Q);return{path:Y,mtime:jz(Y).mtimeMs}}).sort((Q,Y)=>Y.mtime-Q.mtime)}catch{return null}for(let{path:Q}of X)try{let Y=Oz(Q,"utf-8").split(`
344
- `)[0];if(!Y)continue;let q=JSON.parse(Y);if(q.teamName===D&&q.agentName===F&&q.sessionId)return q.sessionId}catch{}return null}async function UJ(D,F){await y2(D,`Genie team: ${D}`,"pending"),await h2(D,{agentName:y3(F),agentType:"general-purpose",color:"blue",cwd:F})}function j5(D,F,$){return E1(D,{systemPromptFile:F,resumeSessionId:$})}async function zJ(D,F,$){try{let J=`${D}:${F}`,B=(await f(`display -t ${u(J)} -p '#{pane_id}'`)).trim(),X=new Date().toISOString(),Q=r(F);await f2({id:`${Q}-team-lead`,paneId:B,session:D,team:F,role:"team-lead",worktree:null,startedAt:X,state:"working",lastStateChange:X,repoPath:$,provider:"claude",transport:"tmux",nativeTeamEnabled:!0,nativeAgentId:`team-lead@${Q}`})}catch{}}async function Nz(D,F){let $=x3(y3(F));if(!await j8(D,$))return $;if(await A1(`${D}:${$}`,"GENIE_CWD")===F)return $;return`${$}-${Zz(F)}`}async function Sz(D,F,$,J){if(await UJ(F,$),console.log(`Native team "${F}" ready at ~/.claude/teams/${r(F)}/`),console.log(`Creating session "${D}"...`),!await O1(D))console.error(`Failed to create session "${D}"`),process.exit(1);let Q=(await MD(D))[0];if(!Q)console.error(`Failed to find initial window in session "${D}"`),process.exit(1);await f(`rename-window -t ${u(Q.id)} ${u(F)}`),await f(`set-window-option -t ${u(Q.id)} automatic-rename off`),await C8(`${D}:${F}`,"GENIE_CWD",$);let Y=`${D}:${F}`,q=`cd ${u($)}`;await f(`send-keys -t ${u(Y)} ${u(q)} Enter`);let G=y3($),H=WJ(r(F),G,$);if(H)console.log(`Resuming previous session: ${H}`);let V=j5(F,J||void 0,H||void 0);await f(`send-keys -t ${u(Y)} ${u(V)} Enter`),console.log(`Started Claude Code as ${G}@${r(F)} in ${$}`),await zJ(D,F,$)}async function Iz(D,F,$,J){if((await p2(D,F,$)).created){console.log(`Created team window "${F}"`),await C8(`${D}:${F}`,"GENIE_CWD",$),await UJ(F,$);let X=`${D}:${F}`,Q=`cd ${u($)}`;await f(`send-keys -t ${u(X)} ${u(Q)} Enter`);let Y=y3($),q=WJ(r(F),Y,$);if(q)console.log(`Resuming previous session: ${q}`);let G=j5(F,J||void 0,q||void 0);await f(`send-keys -t ${u(X)} ${u(G)} Enter`),console.log(`Started Claude Code as ${Y}@${r(F)} in ${$}`),await zJ(D,F,$)}await f(`select-window -t ${u(`${D}:${F}`)}`),console.log(`Focused team window "${F}"`)}function x3(D){return D.replace(/\./g,"-")}async function bz(D,F,$){if($)return x3($);if(await nD(D))return x3(await Nz(D,F));return x3(y3(F))}async function vz(D,F){let $=await nD(D);if($){let J=await MD($.id);console.log(`Resetting session "${D}"...`),await R1($.id),await Promise.all(J.map((B)=>Q3(B.name)))}else await Q3(F)}function Pz(D,F){console.log("Attaching...");let $=`${D}:${F}`,J=process.env.TMUX?"switch-client":"attach";Az("tmux",[J,"-t",$],{stdio:"inherit"})}async function kz(D={}){let F=D.name??Lz,$=D.dir??process.cwd();try{let J=await bz(F,$,D.team);if(D.reset)await vz(F,J);let B=await nD(F),X=VJ();if(!X)console.warn("Info: No AGENTS.md found in current directory. Team-lead will use orchestration rules only.");if(!B)await Sz(F,J,$,X);else console.log(`Session "${F}" already exists`),await Iz(F,J,$,X);Pz(F,J)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}var Lz="genie";var L5=S(()=>{KD();m2();O8();FD()});var h5=U2(y5(),1),{program:pz,createCommand:dz,createArgument:cz,createOption:iz,CommanderError:rz,InvalidArgumentError:nz,InvalidOptionArgumentError:oz,Command:g5,Argument:sz,Option:az,Help:tz}=h5.default;import{existsSync as yX}from"fs";var{$:A7}=globalThis.Bun;import{existsSync as m5,unlinkSync as WB}from"fs";import{homedir as l5}from"os";import{join as p3}from"path";var p5=p3(l5(),".claude"),UB=p3(p5,"hooks"),zB=p3(p5,"settings.json"),KB="genie-bash-hook.sh";function d5(){return zB}function c5(){return p3(UB,KB)}function i5(){return m5(c5())}function r5(){let D=c5();if(m5(D))WB(D)}function E6(D){let F=l5();if(D.startsWith(`${F}/`))return`~${D.slice(F.length)}`;if(D===F)return"~";return D}lD();var{$:L6}=globalThis.Bun;async function C2(D){try{let $=(await L6`which ${D}`.quiet().text()).trim();if(!$)return{exists:!1};let J;try{let X=(await L6`${D} --version`.quiet().text()).split(`
343
+ `).filter(Boolean),Q=[];for(let Y of X)try{Q.push(JSON.parse(Y))}catch{}if($){let Y=new Date($).getTime();Q=Q.filter((q)=>new Date(q.timestamp).getTime()>=Y)}return Q}var d$=S(()=>{Q5();w2()});var qJ={};BD(qJ,{getOrCreateSession:()=>Ez});import{mkdir as Vz,readFile as Wz,writeFile as Uz}from"fs/promises";import{homedir as zz}from"os";import{dirname as Kz,join as XJ}from"path";function YJ(){return XJ(process.env.GENIE_HOME??XJ(zz(),".genie"),"sessions.json")}async function Mz(){try{let D=await Wz(YJ(),"utf-8");return JSON.parse(D)}catch{return{sessions:{}}}}async function QJ(D){let F=YJ();await Vz(Kz(F),{recursive:!0}),await Uz(F,JSON.stringify(D,null,2))}async function Ez(D){let F=await Mz(),$=F.sessions[D];if($)return $.lastUsedAt=new Date().toISOString(),await QJ(F),{uuid:$.uuid,isNew:!1};let J=crypto.randomUUID();return F.sessions[D]={uuid:J,createdAt:new Date().toISOString(),lastUsedAt:new Date().toISOString()},await QJ(F),{uuid:J,isNew:!0}}var GJ=()=>{};var _5={};BD(_5,{sessionCommand:()=>kz,sanitizeWindowName:()=>x3,getAgentsFilePath:()=>VJ,buildClaudeCommand:()=>j5});import{spawnSync as Az}from"child_process";import{createHash as Rz}from"crypto";import{existsSync as HJ,readFileSync as Oz,readdirSync as Cz,statSync as jz}from"fs";import{homedir as _z}from"os";import{basename as y3,join as C5}from"path";function Zz(D){return Rz("md5").update(D).digest("hex").slice(0,4)}function VJ(){let D=C5(process.cwd(),"AGENTS.md");if(HJ(D))return D;return null}function Tz(D){return D.replace(/\//g,"-")}function WJ(D,F,$){let J=Tz($),B=C5(_z(),".claude","projects",J);if(!HJ(B))return null;let X;try{X=Cz(B).filter((Q)=>Q.endsWith(".jsonl")).map((Q)=>{let Y=C5(B,Q);return{path:Y,mtime:jz(Y).mtimeMs}}).sort((Q,Y)=>Y.mtime-Q.mtime)}catch{return null}for(let{path:Q}of X)try{let Y=Oz(Q,"utf-8").split(`
344
+ `)[0];if(!Y)continue;let q=JSON.parse(Y);if(q.teamName===D&&q.agentName===F&&q.sessionId)return q.sessionId}catch{}return null}async function UJ(D,F){await y2(D,`Genie team: ${D}`,"pending"),await h2(D,{agentName:y3(F),agentType:"general-purpose",color:"blue",cwd:F})}function j5(D,F,$){return E1(D,{systemPromptFile:F,resumeSessionId:$})}async function zJ(D,F,$){try{let J=`${D}:${F}`,B=(await f(`display -t ${u(J)} -p '#{pane_id}'`)).trim(),X=new Date().toISOString(),Q=r(F);await f2({id:`${Q}-team-lead`,paneId:B,session:D,team:F,role:"team-lead",worktree:null,startedAt:X,state:"working",lastStateChange:X,repoPath:$,provider:"claude",transport:"tmux",nativeTeamEnabled:!0,nativeAgentId:`team-lead@${Q}`})}catch{}}async function Nz(D,F){let $=x3(y3(F));if(!await j8(D,$))return $;if(await A1(`${D}:${$}`,"GENIE_CWD")===F)return $;return`${$}-${Zz(F)}`}async function Sz(D,F,$,J){if(await UJ(F,$),console.log(`Native team "${F}" ready at ~/.claude/teams/${r(F)}/`),console.log(`Creating session "${D}"...`),!await O1(D))console.error(`Failed to create session "${D}"`),process.exit(1);let Q=(await MD(D))[0];if(!Q)console.error(`Failed to find initial window in session "${D}"`),process.exit(1);await f(`rename-window -t ${u(Q.id)} ${u(F)}`),await f(`set-window-option -t ${u(Q.id)} automatic-rename off`),await C8(`${D}:${F}`,"GENIE_CWD",$);let Y=`${D}:${F}`,q=`cd ${u($)}`;await f(`send-keys -t ${u(Y)} ${u(q)} Enter`);let G=y3($),H=WJ(r(F),G,$);if(H)console.log(`Resuming previous session: ${H}`);let V=j5(F,J||void 0,H||void 0);await f(`send-keys -t ${u(Y)} ${u(V)} Enter`),console.log(`Started Claude Code as ${G}@${r(F)} in ${$}`),await zJ(D,F,$)}async function Iz(D,F,$,J){if((await p2(D,F,$)).created){console.log(`Created team window "${F}"`),await C8(`${D}:${F}`,"GENIE_CWD",$),await UJ(F,$);let X=`${D}:${F}`,Q=`cd ${u($)}`;await f(`send-keys -t ${u(X)} ${u(Q)} Enter`);let Y=y3($),q=WJ(r(F),Y,$);if(q)console.log(`Resuming previous session: ${q}`);let G=j5(F,J||void 0,q||void 0);await f(`send-keys -t ${u(X)} ${u(G)} Enter`),console.log(`Started Claude Code as ${Y}@${r(F)} in ${$}`),await zJ(D,F,$)}await f(`select-window -t ${u(`${D}:${F}`)}`),console.log(`Focused team window "${F}"`)}function x3(D){return D.replace(/\./g,"-")}async function bz(D,F,$){if($)return x3($);if(await nD(D))return x3(await Nz(D,F));return x3(y3(F))}async function vz(D,F){let $=await nD(D);if($){let J=await MD($.id);console.log(`Resetting session "${D}"...`),await R1($.id),await Promise.all(J.map((B)=>Q3(B.name)))}else await Q3(F)}function Pz(D,F){console.log("Attaching...");let $=`${D}:${F}`,J=process.env.TMUX?"switch-client":"attach";Az("tmux",[J,"-t",$],{stdio:"inherit"})}async function kz(D={}){let F=D.name??Lz,$=D.dir??process.cwd();try{let J=await bz(F,$,D.team);if(D.reset)await vz(F,J);let B=await nD(F),X=VJ();if(!X)console.warn("Info: No AGENTS.md found in current directory. Team-lead will use orchestration rules only.");if(!B)await Sz(F,J,$,X);else console.log(`Session "${F}" already exists`),await Iz(F,J,$,X);Pz(F,J)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}var Lz="genie";var L5=S(()=>{KD();m2();O8();$D()});var h5=U2(y5(),1),{program:pz,createCommand:dz,createArgument:cz,createOption:iz,CommanderError:rz,InvalidArgumentError:nz,InvalidOptionArgumentError:oz,Command:g5,Argument:sz,Option:az,Help:tz}=h5.default;import{existsSync as yX}from"fs";var{$:A7}=globalThis.Bun;import{existsSync as m5,unlinkSync as WB}from"fs";import{homedir as l5}from"os";import{join as p3}from"path";var p5=p3(l5(),".claude"),UB=p3(p5,"hooks"),zB=p3(p5,"settings.json"),KB="genie-bash-hook.sh";function d5(){return zB}function c5(){return p3(UB,KB)}function i5(){return m5(c5())}function r5(){let D=c5();if(m5(D))WB(D)}function E6(D){let F=l5();if(D.startsWith(`${F}/`))return`~${D.slice(F.length)}`;if(D===F)return"~";return D}lD();var{$:L6}=globalThis.Bun;async function C2(D){try{let $=(await L6`which ${D}`.quiet().text()).trim();if(!$)return{exists:!1};let J;try{let X=(await L6`${D} --version`.quiet().text()).split(`
345
345
  `)[0].trim(),Q=X.match(/(\d+\.[\d.]+[a-z0-9-]*)/i);J=Q?Q[1]:X.slice(0,50)}catch{try{let X=(await L6`${D} -v`.quiet().text()).split(`
346
346
  `)[0].trim(),Q=X.match(/(\d+\.[\d.]+[a-z0-9-]*)/i);J=Q?Q[1]:X.slice(0,50)}catch{}}return{exists:!0,version:J,path:$}}catch{return{exists:!1}}}function hX(D){console.log(),console.log(`\x1B[1m${D}:\x1B[0m`)}function gX(D){let $={pass:"\x1B[32m\u2713\x1B[0m",fail:"\x1B[31m\u2717\x1B[0m",warn:"\x1B[33m!\x1B[0m"}[D.status],J=D.message?` ${D.message}`:"";if(console.log(` ${$} ${D.name}${J}`),D.suggestion)console.log(` \x1B[2m${D.suggestion}\x1B[0m`)}async function mX(){let D=[],F=await C2("tmux");if(F.exists)D.push({name:"tmux",status:"pass",message:F.version||""});else D.push({name:"tmux",status:"fail",suggestion:"Install with: brew install tmux (or apt install tmux)"});let $=await C2("jq");if($.exists)D.push({name:"jq",status:"pass",message:$.version||""});else D.push({name:"jq",status:"fail",suggestion:"Install with: brew install jq (or apt install jq)"});let J=await C2("bun");if(J.exists)D.push({name:"bun",status:"pass",message:J.version||""});else D.push({name:"bun",status:"fail",suggestion:"Install with: curl -fsSL https://bun.sh/install | bash"});let B=await C2("claude");if(B.exists)D.push({name:"Claude Code",status:"pass",message:B.version||""});else D.push({name:"Claude Code",status:"warn",suggestion:"Install with: npm install -g @anthropic-ai/claude-code"});return D}async function lX(){let D=[];if(O2())D.push({name:"Genie config exists",status:"pass",message:E6(l0())});else D.push({name:"Genie config exists",status:"warn",message:"not found",suggestion:"Run: genie setup"});if(z7())D.push({name:"Setup complete",status:"pass"});else D.push({name:"Setup complete",status:"warn",message:"not completed",suggestion:"Run: genie setup"});let F=d5();if(yX(F))D.push({name:"Claude settings exists",status:"pass",message:E6(F)});else D.push({name:"Claude settings exists",status:"warn",message:"not found",suggestion:"Claude Code creates this on first run"});return D}async function pX(){let D=[];try{if((await A7`tmux list-sessions 2>/dev/null`.quiet()).exitCode===0)D.push({name:"Server running",status:"pass"});else return D.push({name:"Server running",status:"warn",message:"no sessions",suggestion:"Start with: tmux new-session -d -s genie"}),D}catch{return D.push({name:"Server running",status:"warn",message:"could not check"}),D}let $=(await VD()).session.name;try{if((await A7`tmux has-session -t ${$} 2>/dev/null`.quiet()).exitCode===0)D.push({name:`Session '${$}' exists`,status:"pass"});else D.push({name:`Session '${$}' exists`,status:"warn",suggestion:`Start with: tmux new-session -d -s ${$}`})}catch{D.push({name:`Session '${$}' exists`,status:"warn",message:"could not check"})}return D}async function dX(){let D=[];if(!O2())return D.push({name:"Worker profiles",status:"warn",message:"no genie config",suggestion:"Run: genie setup"}),D;let F=await VD(),$=F.workerProfiles;if(!$||Object.keys($).length===0)return D.push({name:"Worker profiles",status:"pass",message:"none configured (using defaults)"}),D;let J=Object.keys($).length;D.push({name:"Profiles configured",status:"pass",message:`${J} profile${J===1?"":"s"}`});for(let B of Object.keys($))D.push({name:`Profile '${B}'`,status:"pass",message:"claude (direct)"});if(F.defaultWorkerProfile)if($[F.defaultWorkerProfile])D.push({name:"Default profile",status:"pass",message:F.defaultWorkerProfile});else D.push({name:"Default profile",status:"warn",message:`'${F.defaultWorkerProfile}' not found`,suggestion:"Run: genie profiles default <profile>"});return D}function e3(D,F,$){hX(D);for(let J of F){if(gX(J),J.status==="fail")$.errors=!0;if(J.status==="warn")$.warnings=!0}}async function R7(){console.log(),console.log("\x1B[1mGenie Doctor\x1B[0m"),console.log(`\x1B[2m${"\u2500".repeat(40)}\x1B[0m`);let D={errors:!1,warnings:!1};if(e3("Prerequisites",await mX(),D),e3("Configuration",await lX(),D),e3("Tmux",await pX(),D),e3("Worker Profiles",await dX(),D),console.log(),console.log(`\x1B[2m${"\u2500".repeat(40)}\x1B[0m`),D.errors)console.log("\x1B[31mSome checks failed.\x1B[0m Run \x1B[36mgenie setup\x1B[0m to fix.");else if(D.warnings)console.log("\x1B[33mSome warnings detected.\x1B[0m Everything should still work.");else console.log("\x1B[32mAll checks passed!\x1B[0m");if(console.log(),D.errors)process.exit(1)}import{homedir as eQ}from"os";import{join as DY}from"path";var p0=(D,F=[])=>D.name==="up"||F.includes("vim")&&D.name==="k"||F.includes("emacs")&&D.ctrl&&D.name==="p",D8=(D,F=[])=>D.name==="down"||F.includes("vim")&&D.name==="j"||F.includes("emacs")&&D.ctrl&&D.name==="n";var d0=(D)=>D.name==="backspace",c0=(D)=>D.name==="tab",Z6=(D)=>"1234567890".includes(D.name),j2=(D)=>D.name==="enter"||D.name==="return";class T6 extends Error{name="AbortPromptError";message="Prompt was aborted";constructor(D){super();this.cause=D?.cause}}class N6 extends Error{name="CancelPromptError";message="Prompt was canceled"}class F8 extends Error{name="ExitPromptError"}class S6 extends Error{name="HookError"}class i0 extends Error{name="ValidationError"}import{AsyncResource as nX}from"async_hooks";import{AsyncLocalStorage as cX,AsyncResource as iX}from"async_hooks";var O7=new cX;function rX(D){return{rl:D,hooks:[],hooksCleanup:[],hooksEffect:[],index:0,handleChange(){}}}function C7(D,F){let $=rX(D);return O7.run($,()=>{function J(B){$.handleChange=()=>{$.index=0,B()},$.handleChange()}return F(J)})}function _2(){let D=O7.getStore();if(!D)throw new S6("[Inquirer] Hook functions can only be called from within a prompt");return D}function I6(){return _2().rl}function b6(D){let F=(...$)=>{let J=_2(),B=!1,X=J.handleChange;J.handleChange=()=>{B=!0};let Q=D(...$);if(B)X();return J.handleChange=X,Q};return iX.bind(F)}function G0(D){let F=_2(),{index:$}=F,J={get(){return F.hooks[$]},set(X){F.hooks[$]=X},initialized:$ in F.hooks},B=D(J);return F.index++,B}function j7(){_2().handleChange()}var L2={queue(D){let F=_2(),{index:$}=F;F.hooksEffect.push(()=>{F.hooksCleanup[$]?.();let J=D(I6());if(J!=null&&typeof J!=="function")throw new i0("useEffect return value must be a cleanup function or nothing.");F.hooksCleanup[$]=J})},run(){let D=_2();b6(()=>{D.hooksEffect.forEach((F)=>{F()}),D.hooksEffect.length=0})()},clearAll(){let D=_2();D.hooksCleanup.forEach((F)=>{F?.()}),D.hooksEffect.length=0,D.hooksCleanup.length=0}};function o(D){return G0((F)=>{let $=nX.bind(function(X){if(F.get()!==X)F.set(X),j7()});if(F.initialized)return[F.get(),$];let J=typeof D==="function"?D():D;return F.set(J),[J,$]})}function pD(D,F){G0(($)=>{let J=$.get();if(!Array.isArray(J)||F.some((X,Q)=>!Object.is(X,J[Q])))L2.queue(D);$.set(F)})}var UD=U2($8(),1);import PD from"process";function aX(){if(PD.platform!=="win32")return PD.env.TERM!=="linux";return Boolean(PD.env.WT_SESSION)||Boolean(PD.env.TERMINUS_SUBLIME)||PD.env.ConEmuTask==="{cmd::Cmder}"||PD.env.TERM_PROGRAM==="Terminus-Sublime"||PD.env.TERM_PROGRAM==="vscode"||PD.env.TERM==="xterm-256color"||PD.env.TERM==="alacritty"||PD.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var L7={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},Z7={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},tX={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},eX={...L7,...Z7},DQ={...L7,...tX},FQ=aX(),$Q=FQ?eX:DQ,H0=$Q,JM=Object.entries(Z7);var T7={prefix:{idle:UD.default.blue("?"),done:UD.default.green(H0.tick)},spinner:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"].map((D)=>UD.default.yellow(D))},style:{answer:UD.default.cyan,message:UD.default.bold,error:(D)=>UD.default.red(`> ${D}`),defaultAnswer:(D)=>UD.default.dim(`(${D})`),help:UD.default.dim,highlight:UD.default.cyan,key:(D)=>UD.default.cyan(UD.default.bold(`<${D}>`))}};function N7(D){if(typeof D!=="object"||D===null)return!1;let F=D;while(Object.getPrototypeOf(F)!==null)F=Object.getPrototypeOf(F);return Object.getPrototypeOf(D)===F}function S7(...D){let F={};for(let $ of D)for(let[J,B]of Object.entries($)){let X=F[J];F[J]=N7(X)&&N7(B)?S7(X,B):B}return F}function dD(...D){let F=[T7,...D.filter(($)=>$!=null)];return S7(...F)}function Z2({status:D="idle",theme:F}){let[$,J]=o(!1),[B,X]=o(0),{prefix:Q,spinner:Y}=dD(F);if(pD(()=>{if(D==="loading"){let G,H=-1,V=setTimeout(()=>{J(!0),G=setInterval(()=>{H=H+1,X(H%Y.frames.length)},Y.interval)},300);return()=>{clearTimeout(V),clearInterval(G)}}else J(!1)},[D]),$)return Y.frames[B];return typeof Q==="string"?Q:Q[D==="loading"?"idle":D]??Q.idle}function r0(D,F){return G0(($)=>{let J=$.get();if(!J||J.dependencies.length!==F.length||J.dependencies.some((B,X)=>B!==F[X])){let B=D();return $.set({value:B,dependencies:F}),B}return J.value})}function T2(D){return o({current:D})[0]}function N2(D){let F=T2(D);F.current=D,pD(($)=>{let J=!1,B=b6((X,Q)=>{if(J)return;F.current(Q,$)});return $.input.on("keypress",B),()=>{J=!0,$.input.removeListener("keypress",B)}},[])}var J9=U2(b7(),1),B9=U2($9(),1);function s0(D,F){return D.split(`
347
347
  `).flatMap(($)=>B9.default($,F,{trim:!1,hard:!0}).split(`
@@ -354,7 +354,7 @@ Use a different --role name for a second worker, e.g.: --role ${F}-2`),process.e
354
354
  `;let Q=D+(F?`
355
355
  `+F:""),q=Math.floor(J.length/X)-this.cursorPos.rows+(F?K9(F):0);if(q>0)Q+=d6(q);Q+=i6(this.cursorPos.cols),this.write(c6(this.extraLinesUnderPrompt)+r6(this.height)+Q),this.extraLinesUnderPrompt=q,this.height=K9(Q)}checkCursorPos(){let D=this.rl.getCursorPos();if(D.cols!==this.cursorPos.cols)this.write(i6(D.cols)),this.cursorPos=D}done({clearContent:D}){this.rl.setPrompt("");let F=c6(this.extraLinesUnderPrompt);F+=D?r6(this.height):`
356
356
  `,F+=z9,this.write(F),this.rl.close()}}class n6 extends Promise{static withResolver(){let D,F;return{promise:new Promise((J,B)=>{D=J,F=B}),resolve:D,reject:F}}}function PQ(){let D=Error.prepareStackTrace,F=[];try{Error.prepareStackTrace=($,J)=>{let B=J.slice(1);return F=B,B},Error().stack}catch{return F}return Error.prepareStackTrace=D,F}function I2(D){let F=PQ();return(J,B={})=>{let{input:X=process.stdin,signal:Q}=B,Y=new Set,q=new E9.default;q.pipe(B.output??process.stdout);let G=M9.createInterface({terminal:!0,input:X,output:q}),H=new Y8(G),{promise:V,resolve:U,reject:W}=n6.withResolver(),z=()=>W(new N6);if(Q){let Z=()=>W(new T6({cause:Q.reason}));if(Q.aborted)return Z(),Object.assign(V,{cancel:z});Q.addEventListener("abort",Z),Y.add(()=>Q.removeEventListener("abort",Z))}Y.add(V9((Z,O)=>{W(new F8(`User force closed the prompt with ${Z} ${O}`))}));let A=()=>W(new F8("User force closed the prompt with SIGINT"));G.on("SIGINT",A),Y.add(()=>G.removeListener("SIGINT",A));let _=()=>H.checkCursorPos();return G.input.on("keypress",_),Y.add(()=>G.input.removeListener("keypress",_)),C7(G,(Z)=>{let O=vQ.bind(()=>L2.clearAll());return G.on("close",O),Y.add(()=>G.removeListener("close",O)),Z(()=>{try{let x=D(J,(g3)=>{setImmediate(()=>U(g3))});if(x===void 0){let g3=F[1]?.getFileName();throw Error(`Prompt functions must return a string.
357
- at ${g3}`)}let[qD,uD]=typeof x==="string"?[x]:x;H.render(qD,uD),L2.run()}catch(x){W(x)}}),Object.assign(V.then((x)=>{return L2.clearAll(),x},(x)=>{throw L2.clearAll(),x}).finally(()=>{Y.forEach((x)=>x()),H.done({clearContent:Boolean(B.clearPromptOnDone)}),q.end()}).then(()=>V),{cancel:z})})}}var A9=U2($8(),1);class B2{separator=A9.default.dim(Array.from({length:15}).join(H0.line));type="separator";constructor(D){if(D)this.separator=D}static isSeparator(D){return Boolean(D&&typeof D==="object"&&"type"in D&&D.type==="separator")}}function R9(D,F){let $=F!==!1;if(/^(y|yes)/i.test(D))$=!0;else if(/^(n|no)/i.test(D))$=!1;return $}function O9(D){return D?"Yes":"No"}var cD=I2((D,F)=>{let{transformer:$=O9}=D,[J,B]=o("idle"),[X,Q]=o(""),Y=dD(D.theme),q=Z2({status:J,theme:Y});N2((U,W)=>{if(J!=="idle")return;if(j2(U)){let z=R9(X,D.default);Q($(z)),B("done"),F(z)}else if(c0(U)){let z=O9(!R9(X,D.default));W.clearLine(0),W.write(z),Q(z)}else Q(W.line)});let G=X,H="";if(J==="done")G=Y.style.answer(X);else H=` ${Y.style.defaultAnswer(D.default===!1?"y/N":"Y/n")}`;let V=Y.style.message(D.message,J);return`${q} ${V}${H} ${G}`});var kQ={validationFailureMode:"keep"},b2=I2((D,F)=>{let{prefill:$="tab"}=D,J=dD(kQ,D.theme),[B,X]=o("idle"),[Q="",Y]=o(D.default),[q,G]=o(),[H,V]=o(""),U=Z2({status:B,theme:J});async function W(O){let{required:x,pattern:qD,patternError:uD="Invalid input"}=D;if(x&&!O)return"You must provide a value";if(qD&&!qD.test(O))return uD;if(typeof D.validate==="function")return await D.validate(O)||"You must provide a valid value";return!0}N2(async(O,x)=>{if(B!=="idle")return;if(j2(O)){let qD=H||Q;X("loading");let uD=await W(qD);if(uD===!0)V(qD),X("done"),F(qD);else{if(J.validationFailureMode==="clear")V("");else x.write(H);G(uD),X("idle")}}else if(d0(O)&&!H)Y(void 0);else if(c0(O)&&!H)Y(void 0),x.clearLine(0),x.write(Q),V(Q);else V(x.line),G(void 0)}),pD((O)=>{if($==="editable"&&Q)O.write(Q),V(Q)},[]);let z=J.style.message(D.message,B),A=H;if(typeof D.transformer==="function")A=D.transformer(H,{isFinal:B==="done"});else if(B==="done")A=J.style.answer(H);let _;if(Q&&B!=="done"&&!H)_=J.style.defaultAnswer(Q);let Z="";if(q)Z=J.style.error(q);return[[U,z,_,A].filter((O)=>O!==void 0).join(" "),Z]});var K0=U2($8(),1);var wQ={icon:{cursor:H0.pointer},style:{disabled:(D)=>K0.default.dim(`- ${D}`),description:(D)=>K0.default.cyan(D),keysHelpTip:(D)=>D.map(([F,$])=>`${K0.default.bold(F)} ${K0.default.dim($)}`).join(K0.default.dim(" \u2022 "))},helpMode:"always",indexMode:"hidden",keybindings:[]};function z0(D){return!B2.isSeparator(D)&&!D.disabled}function fQ(D){return D.map((F)=>{if(B2.isSeparator(F))return F;if(typeof F==="string")return{value:F,name:F,short:F,disabled:!1};let $=F.name??String(F.value),J={value:F.value,name:$,short:F.short??$,disabled:F.disabled??!1};if(F.description)J.description=F.description;return J})}var o6=I2((D,F)=>{let{loop:$=!0,pageSize:J=7}=D,B=dD(wQ,D.theme),{keybindings:X}=B,[Q,Y]=o("idle"),q=Z2({status:Q,theme:B}),G=T2(),H=!X.includes("vim"),V=r0(()=>fQ(D.choices),[D.choices]),U=r0(()=>{let h=V.findIndex(z0),$D=V.findLastIndex(z0);if(h===-1)throw new i0("[select prompt] No selectable choices. All choices are disabled.");return{first:h,last:$D}},[V]),W=r0(()=>{if(!("default"in D))return-1;return V.findIndex((h)=>z0(h)&&h.value===D.default)},[D.default,V]),[z,A]=o(W===-1?U.first:W),_=V[z];N2((h,$D)=>{if(clearTimeout(G.current),j2(h))Y("done"),F(_.value);else if(p0(h,X)||D8(h,X)){if($D.clearLine(0),$||p0(h,X)&&z!==U.first||D8(h,X)&&z!==U.last){let W2=p0(h,X)?-1:1,GD=z;do GD=(GD+W2+V.length)%V.length;while(!z0(V[GD]));A(GD)}}else if(Z6(h)&&!Number.isNaN(Number($D.line))){let W2=Number($D.line)-1,GD=-1,tD=V.findIndex((P0)=>{if(B2.isSeparator(P0))return!1;return GD++,GD===W2}),m3=V[tD];if(m3!=null&&z0(m3))A(tD);G.current=setTimeout(()=>{$D.clearLine(0)},700)}else if(d0(h))$D.clearLine(0);else if(H){let W2=$D.line.toLowerCase(),GD=V.findIndex((tD)=>{if(B2.isSeparator(tD)||!z0(tD))return!1;return tD.name.toLowerCase().startsWith(W2)});if(GD!==-1)A(GD);G.current=setTimeout(()=>{$D.clearLine(0)},700)}}),pD(()=>()=>{clearTimeout(G.current)},[]);let Z=B.style.message(D.message,Q),O;if(B.helpMode!=="never")if(D.instructions){let{pager:h,navigation:$D}=D.instructions;O=B.style.help(V.length>J?h:$D)}else O=B.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let x=0,qD=h6({items:V,active:z,renderItem({item:h,isActive:$D,index:W2}){if(B2.isSeparator(h))return x++,` ${h.separator}`;let GD=B.indexMode==="number"?`${W2+1-x}. `:"";if(h.disabled){let P0=typeof h.disabled==="string"?h.disabled:"(disabled)";return B.style.disabled(`${GD}${h.name} ${P0}`)}let tD=$D?B.style.highlight:(P0)=>P0,m3=$D?B.icon.cursor:" ";return tD(`${m3} ${GD}${h.name}`)},pageSize:J,loop:$});if(Q==="done")return[q,Z,B.style.answer(_.short)].filter(Boolean).join(" ");let{description:uD}=_;return`${[[q,Z].filter(Boolean).join(" "),qD," ",uD?B.style.description(uD):"",O].filter(Boolean).join(`
357
+ at ${g3}`)}let[t,uD]=typeof x==="string"?[x]:x;H.render(t,uD),L2.run()}catch(x){W(x)}}),Object.assign(V.then((x)=>{return L2.clearAll(),x},(x)=>{throw L2.clearAll(),x}).finally(()=>{Y.forEach((x)=>x()),H.done({clearContent:Boolean(B.clearPromptOnDone)}),q.end()}).then(()=>V),{cancel:z})})}}var A9=U2($8(),1);class B2{separator=A9.default.dim(Array.from({length:15}).join(H0.line));type="separator";constructor(D){if(D)this.separator=D}static isSeparator(D){return Boolean(D&&typeof D==="object"&&"type"in D&&D.type==="separator")}}function R9(D,F){let $=F!==!1;if(/^(y|yes)/i.test(D))$=!0;else if(/^(n|no)/i.test(D))$=!1;return $}function O9(D){return D?"Yes":"No"}var cD=I2((D,F)=>{let{transformer:$=O9}=D,[J,B]=o("idle"),[X,Q]=o(""),Y=dD(D.theme),q=Z2({status:J,theme:Y});N2((U,W)=>{if(J!=="idle")return;if(j2(U)){let z=R9(X,D.default);Q($(z)),B("done"),F(z)}else if(c0(U)){let z=O9(!R9(X,D.default));W.clearLine(0),W.write(z),Q(z)}else Q(W.line)});let G=X,H="";if(J==="done")G=Y.style.answer(X);else H=` ${Y.style.defaultAnswer(D.default===!1?"y/N":"Y/n")}`;let V=Y.style.message(D.message,J);return`${q} ${V}${H} ${G}`});var kQ={validationFailureMode:"keep"},b2=I2((D,F)=>{let{prefill:$="tab"}=D,J=dD(kQ,D.theme),[B,X]=o("idle"),[Q="",Y]=o(D.default),[q,G]=o(),[H,V]=o(""),U=Z2({status:B,theme:J});async function W(O){let{required:x,pattern:t,patternError:uD="Invalid input"}=D;if(x&&!O)return"You must provide a value";if(t&&!t.test(O))return uD;if(typeof D.validate==="function")return await D.validate(O)||"You must provide a valid value";return!0}N2(async(O,x)=>{if(B!=="idle")return;if(j2(O)){let t=H||Q;X("loading");let uD=await W(t);if(uD===!0)V(t),X("done"),F(t);else{if(J.validationFailureMode==="clear")V("");else x.write(H);G(uD),X("idle")}}else if(d0(O)&&!H)Y(void 0);else if(c0(O)&&!H)Y(void 0),x.clearLine(0),x.write(Q),V(Q);else V(x.line),G(void 0)}),pD((O)=>{if($==="editable"&&Q)O.write(Q),V(Q)},[]);let z=J.style.message(D.message,B),A=H;if(typeof D.transformer==="function")A=D.transformer(H,{isFinal:B==="done"});else if(B==="done")A=J.style.answer(H);let _;if(Q&&B!=="done"&&!H)_=J.style.defaultAnswer(Q);let Z="";if(q)Z=J.style.error(q);return[[U,z,_,A].filter((O)=>O!==void 0).join(" "),Z]});var K0=U2($8(),1);var wQ={icon:{cursor:H0.pointer},style:{disabled:(D)=>K0.default.dim(`- ${D}`),description:(D)=>K0.default.cyan(D),keysHelpTip:(D)=>D.map(([F,$])=>`${K0.default.bold(F)} ${K0.default.dim($)}`).join(K0.default.dim(" \u2022 "))},helpMode:"always",indexMode:"hidden",keybindings:[]};function z0(D){return!B2.isSeparator(D)&&!D.disabled}function fQ(D){return D.map((F)=>{if(B2.isSeparator(F))return F;if(typeof F==="string")return{value:F,name:F,short:F,disabled:!1};let $=F.name??String(F.value),J={value:F.value,name:$,short:F.short??$,disabled:F.disabled??!1};if(F.description)J.description=F.description;return J})}var o6=I2((D,F)=>{let{loop:$=!0,pageSize:J=7}=D,B=dD(wQ,D.theme),{keybindings:X}=B,[Q,Y]=o("idle"),q=Z2({status:Q,theme:B}),G=T2(),H=!X.includes("vim"),V=r0(()=>fQ(D.choices),[D.choices]),U=r0(()=>{let h=V.findIndex(z0),JD=V.findLastIndex(z0);if(h===-1)throw new i0("[select prompt] No selectable choices. All choices are disabled.");return{first:h,last:JD}},[V]),W=r0(()=>{if(!("default"in D))return-1;return V.findIndex((h)=>z0(h)&&h.value===D.default)},[D.default,V]),[z,A]=o(W===-1?U.first:W),_=V[z];N2((h,JD)=>{if(clearTimeout(G.current),j2(h))Y("done"),F(_.value);else if(p0(h,X)||D8(h,X)){if(JD.clearLine(0),$||p0(h,X)&&z!==U.first||D8(h,X)&&z!==U.last){let W2=p0(h,X)?-1:1,GD=z;do GD=(GD+W2+V.length)%V.length;while(!z0(V[GD]));A(GD)}}else if(Z6(h)&&!Number.isNaN(Number(JD.line))){let W2=Number(JD.line)-1,GD=-1,tD=V.findIndex((P0)=>{if(B2.isSeparator(P0))return!1;return GD++,GD===W2}),m3=V[tD];if(m3!=null&&z0(m3))A(tD);G.current=setTimeout(()=>{JD.clearLine(0)},700)}else if(d0(h))JD.clearLine(0);else if(H){let W2=JD.line.toLowerCase(),GD=V.findIndex((tD)=>{if(B2.isSeparator(tD)||!z0(tD))return!1;return tD.name.toLowerCase().startsWith(W2)});if(GD!==-1)A(GD);G.current=setTimeout(()=>{JD.clearLine(0)},700)}}),pD(()=>()=>{clearTimeout(G.current)},[]);let Z=B.style.message(D.message,Q),O;if(B.helpMode!=="never")if(D.instructions){let{pager:h,navigation:JD}=D.instructions;O=B.style.help(V.length>J?h:JD)}else O=B.style.keysHelpTip([["\u2191\u2193","navigate"],["\u23CE","select"]]);let x=0,t=h6({items:V,active:z,renderItem({item:h,isActive:JD,index:W2}){if(B2.isSeparator(h))return x++,` ${h.separator}`;let GD=B.indexMode==="number"?`${W2+1-x}. `:"";if(h.disabled){let P0=typeof h.disabled==="string"?h.disabled:"(disabled)";return B.style.disabled(`${GD}${h.name} ${P0}`)}let tD=JD?B.style.highlight:(P0)=>P0,m3=JD?B.icon.cursor:" ";return tD(`${m3} ${GD}${h.name}`)},pageSize:J,loop:$});if(Q==="done")return[q,Z,B.style.answer(_.short)].filter(Boolean).join(" ");let{description:uD}=_;return`${[[q,Z].filter(Boolean).join(" "),t," ",uD?B.style.description(uD):"",O].filter(Boolean).join(`
358
358
  `).trimEnd()}${U9}`});s6();lD();import{appendFileSync as mQ,existsSync as v2,mkdirSync as lQ,readFileSync as S9,writeFileSync as pQ}from"fs";import{homedir as I9}from"os";import{join as LD}from"path";import*as b9 from"readline";function dQ(){return`# Warp-like keyboard shortcuts (generated by genie-cli)
359
359
  # To use: add to ~/.tmux.conf or source this file
360
360
 
@@ -438,7 +438,7 @@ Next steps:`),console.log(" 1. Reload tmux: tmux source ~/.tmux.conf"),console.
438
438
  `:"";return pQ(D,B),!0}async function t6(D,F,$){if(!v2(D))return;if(!t0(D,F)){console.log(`\u2713 ${$} has no genie shortcuts`);return}if(await P9(`Remove shortcuts from ${D}? [Y/n] `)==="n"){console.log(`\u23ED\uFE0F Skipped ${$}`);return}if(tQ(D,F))console.log(`\u2705 Removed from ${D}`)}async function k9(){let D=I9(),F="generated by genie-cli";console.log(`Uninstalling Warp-like shortcuts...
439
439
  `),await t6(LD(D,".tmux.conf"),"generated by genie-cli","tmux.conf");for(let B of[LD(D,".zshrc"),LD(D,".bashrc")])await t6(B,"generated by genie-cli",B);let $=LD(D,".termux"),J=v2($)||process.env.TERMUX_VERSION;if(J){let B=LD($,"termux.properties");if(await t6(B,"generated by genie-cli","termux.properties"),!t0(B,"generated by genie-cli"))console.log(" Run: termux-reload-settings")}if(console.log(`
440
440
  \u2705 Uninstallation complete!`),console.log(`
441
- Next steps:`),console.log(" 1. Reload tmux: tmux source ~/.tmux.conf"),console.log(" 2. Restart your shell or run: source ~/.bashrc"),J)console.log(" 3. Reload Termux: termux-reload-settings")}function D3(){console.log(),console.log(`\x1B[1m\x1B[36m${"=".repeat(64)}\x1B[0m`),console.log("\x1B[1m\x1B[36m Genie Setup Wizard\x1B[0m"),console.log(`\x1B[1m\x1B[36m${"=".repeat(64)}\x1B[0m`),console.log()}function P2(D,F){if(console.log(),console.log(`\x1B[1m${D}\x1B[0m`),F)console.log(`\x1B[2m${F}\x1B[0m`);console.log()}async function w9(D,F){if(P2("2. Session Configuration","Configure tmux session settings"),F)return console.log(` Using defaults: session="${D.session.name}", window="${D.session.defaultWindow}"`),D;let $=await b2({message:"Session name:",default:D.session.name}),J=await b2({message:"Default window name:",default:D.session.defaultWindow}),B=await cD({message:"Auto-create session on connect?",default:D.session.autoCreate});return D.session={name:$,defaultWindow:J,autoCreate:B},D}async function f9(D,F){if(P2("3. Terminal Defaults","Configure default values for term commands"),F)return console.log(` Using defaults: timeout=${D.terminal.execTimeout}ms, lines=${D.terminal.readLines}`),D;let $=await b2({message:"Exec timeout (milliseconds):",default:String(D.terminal.execTimeout),validate:(X)=>{let Q=Number.parseInt(X,10);return!Number.isNaN(Q)&&Q>0?!0:"Must be a positive number"}}),J=await b2({message:"Read lines (default for genie agent read):",default:String(D.terminal.readLines),validate:(X)=>{let Q=Number.parseInt(X,10);return!Number.isNaN(Q)&&Q>0?!0:"Must be a positive number"}}),B=await b2({message:"Worktree base directory (leave empty for ~/.genie/worktrees/<project>/):",default:D.terminal.worktreeBase??""});return D.terminal={execTimeout:Number.parseInt($,10),readLines:Number.parseInt(J,10),...B?{worktreeBase:B}:{}},D}async function u9(D,F){P2("4. Keyboard Shortcuts","Warp-like tmux shortcuts for quick navigation");let $=eQ(),J=DY($,".tmux.conf");if(e0(J))return console.log(" \x1B[32m\u2713\x1B[0m Tmux shortcuts already installed"),D.shortcuts.tmuxInstalled=!0,D;if(console.log(" Available shortcuts:"),console.log(" \x1B[36mCtrl+T\x1B[0m \u2192 New tab (window)"),console.log(" \x1B[36mCtrl+S\x1B[0m \u2192 Vertical split"),console.log(" \x1B[36mCtrl+H\x1B[0m \u2192 Horizontal split"),console.log(),F)return console.log(" Skipped in quick mode. Run \x1B[36mgenie setup --shortcuts\x1B[0m to install."),D;if(await cD({message:"Install tmux keyboard shortcuts?",default:!1}))console.log(),await q8(),D.shortcuts.tmuxInstalled=!0,await E7({tmuxInstalled:!0});else console.log(" Skipped. Run \x1B[36mgenie shortcuts install\x1B[0m later.");return D}function x9(D){if(D==="changed")console.log(" \x1B[32m\u2713\x1B[0m Codex config updated");else if(D==="unchanged")console.log(" \x1B[32m\u2713\x1B[0m Codex config already up to date");else console.log(" \x1B[31m\u2717\x1B[0m Failed to update codex config")}async function y9(D,F){P2("5. Codex Integration","Configure OpenAI Codex for genie agents");let $=await C2("codex");if(!$.exists)return console.log(" \x1B[33m!\x1B[0m Codex CLI not found. Skipping codex integration."),D;if(console.log(` \x1B[32m\u2713\x1B[0m Codex CLI found (${$.version??"unknown version"})`),Z9())return console.log(" \x1B[32m\u2713\x1B[0m Codex config already configured"),D.codex={configured:!0},D;if(console.log(),console.log(" Genie needs to configure codex for agent communication:"),console.log(" \x1B[36mdisable_paste_burst\x1B[0m \u2192 Reliable tmux command injection"),console.log(" \x1B[36mOTel exporter\x1B[0m \u2192 Telemetry relay for state detection"),console.log(` Config: \x1B[2m${WD(T9())}\x1B[0m`),console.log(),F){let B=a0();return x9(B),D.codex={configured:B!=="error"},D}if(await cD({message:"Configure Codex for genie agent integration?",default:!0})){let B=a0();x9(B),D.codex={configured:B!=="error"}}else console.log(" Skipped. Run \x1B[36mgenie setup --codex\x1B[0m later.");return D}async function FY(D,F){if(P2("6. Debug Options","Logging and debugging settings"),F)return console.log(" Using defaults: tmuxDebug=false, verbose=false"),D;let $=await cD({message:"Enable tmux debug logging?",default:D.logging.tmuxDebug}),J=await cD({message:"Enable verbose mode?",default:D.logging.verbose});return D.logging={tmuxDebug:$,verbose:J},D}async function $Y(D,F){if(P2("7. Prompt Mode","Controls how genie injects system prompts into Claude Code"),F)return console.log(` Using default: promptMode="${D.promptMode}"`),D;console.log(" append \u2014 Uses --append-system-prompt-file (preserves Claude Code default system prompt)"),console.log(" system \u2014 Uses --system-prompt-file (replaces Claude Code default system prompt)"),console.log();let $=await o6({message:"Prompt mode:",choices:[{name:"append (recommended \u2014 preserves CC default)",value:"append"},{name:"system (replaces CC default)",value:"system"}],default:D.promptMode});return D.promptMode=$,D}async function JY(D){P2("Summary",`Configuration will be saved to ${WD(l0())}`),console.log(` Session: \x1B[36m${D.session.name}\x1B[0m (window: ${D.session.defaultWindow})`),console.log(` Terminal: timeout=${D.terminal.execTimeout}ms, lines=${D.terminal.readLines}`),console.log(` Shortcuts: ${D.shortcuts.tmuxInstalled?"\x1B[32minstalled\x1B[0m":"\x1B[2mnot installed\x1B[0m"}`),console.log(` Codex: ${D.codex?.configured?"\x1B[32mconfigured\x1B[0m":"\x1B[2mnot configured\x1B[0m"}`),console.log(` Debug: tmux=${D.logging.tmuxDebug}, verbose=${D.logging.verbose}`),console.log(` Prompt mode: \x1B[36m${D.promptMode}\x1B[0m`),console.log(),D.setupComplete=!0,D.lastSetupAt=new Date().toISOString(),await vD(D),console.log("\x1B[32m\u2713 Configuration saved!\x1B[0m")}async function BY(){let D=await VD();console.log(),console.log("\x1B[1mCurrent Genie Configuration\x1B[0m"),console.log(`\x1B[2m${WD(l0())}\x1B[0m`),console.log(),console.log(JSON.stringify(D,null,2)),console.log()}function XY(){console.log(),console.log("\x1B[1mNext Steps:\x1B[0m"),console.log(),console.log(" Start a session: \x1B[36mgenie\x1B[0m"),console.log(" Watch AI work: \x1B[36mtmux attach -t genie\x1B[0m"),console.log(" Check health: \x1B[36mgenie doctor\x1B[0m"),console.log()}async function h9(D={}){if(D.show){await BY();return}if(D.reset){await M7(),console.log("\x1B[32m\u2713 Configuration reset to defaults.\x1B[0m"),console.log();return}let F=await VD();if(D.shortcuts){D3(),await u9(F,!1),await K7();return}if(D.terminal){D3(),F=await f9(F,!1),await vD(F),console.log("\x1B[32m\u2713 Terminal configuration saved.\x1B[0m");return}if(D.session){D3(),F=await w9(F,!1),await vD(F),console.log("\x1B[32m\u2713 Session configuration saved.\x1B[0m");return}if(D.codex){if(D3(),F=await y9(F,!1),await vD(F),F.codex?.configured)console.log("\x1B[32m\u2713 Codex configuration saved.\x1B[0m");return}let $=D.quick??!1;if(D3(),$)console.log("\x1B[2mQuick mode: accepting all defaults\x1B[0m");F=await w9(F,$),F=await f9(F,$),F=await u9(F,$),F=await y9(F,$),F=await FY(F,$),F=await $Y(F,$),await JY(F),XY()}import{existsSync as QY}from"fs";import{homedir as YY}from"os";import{join as e6}from"path";async function D1(){v9();let D=YY(),F=e6(D,".tmux.conf"),$=e6(D,".zshrc"),J=e6(D,".bashrc");if(console.log("Installation status:"),e0(F))console.log(" \x1B[32m\u2713\x1B[0m tmux.conf");else console.log(" \x1B[33m-\x1B[0m tmux.conf");let B=QY($)?$:J;if(e0(B))console.log(` \x1B[32m\u2713\x1B[0m ${B.replace(D,"~")}`);else console.log(` \x1B[33m-\x1B[0m ${B.replace(D,"~")}`);console.log(),console.log("Run \x1B[36mgenie shortcuts install\x1B[0m to install shortcuts."),console.log("Run \x1B[36mgenie shortcuts uninstall\x1B[0m to remove shortcuts."),console.log()}async function g9(){await q8()}async function m9(){await k9()}import{existsSync as G8,lstatSync as qY,rmSync as GY,unlinkSync as l9}from"fs";import{homedir as p9}from"os";import{join as H8}from"path";lD();var $1=H8(p9(),".claude","rules","genie-orchestration.md"),d9=H8(p9(),".local","bin"),c9=["genie","term"];function i9(D){try{if(!G8(D))return!1;if(!qY(D).isSymbolicLink())return!1;return!0}catch{return!1}}function HY(){let D=[];for(let F of c9){let $=H8(d9,F);if(i9($))try{l9($),D.push(F)}catch{}}return D}function F1(D,F,$){console.log(`\x1B[2m${D}\x1B[0m`);try{$(),console.log(` \x1B[32m+\x1B[0m ${F}`)}catch(J){let B=J instanceof Error?J.message:String(J);console.log(` \x1B[33m!\x1B[0m ${D.replace("...","")} failed: ${B}`)}}function VY(D,F,$,J){if(D)F1("Removing hook script...","Hook script removed",()=>r5());if(F.length>0){console.log("\x1B[2mRemoving symlinks...\x1B[0m");let B=HY();if(B.length>0)console.log(` \x1B[32m+\x1B[0m Removed: ${B.join(", ")}`)}if(G8($1))F1("Removing orchestration rules...","Orchestration rules removed (~/.claude/rules/genie-orchestration.md)",()=>l9($1));if(J)F1("Removing genie directory...","Directory removed",()=>GY($,{recursive:!0,force:!0}))}async function r9(){console.log(),console.log("\x1B[1m\x1B[33m Uninstall Genie CLI\x1B[0m"),console.log();let D=W7(),F=G8(D),$=i5(),J=G8($1),B=c9.filter((Q)=>i9(H8(d9,Q)));if(console.log("\x1B[2mThis will remove:\x1B[0m"),$)console.log(" \x1B[31m-\x1B[0m Hook script (~/.claude/hooks/genie-bash-hook.sh)");if(J)console.log(" \x1B[31m-\x1B[0m Orchestration rules (~/.claude/rules/genie-orchestration.md)");if(F)console.log(` \x1B[31m-\x1B[0m Genie directory (${WD(D)})`);if(B.length>0)console.log(` \x1B[31m-\x1B[0m Symlinks from ~/.local/bin: ${B.join(", ")}`);if(console.log(),!F&&!$&&!J&&B.length===0){console.log("\x1B[33mNothing to uninstall.\x1B[0m"),console.log();return}if(!await cD({message:"Are you sure you want to uninstall Genie CLI?",default:!1})){console.log(),console.log("\x1B[2mUninstall cancelled.\x1B[0m"),console.log();return}console.log(),VY($,B,D,F),console.log(),console.log("\x1B[32m+\x1B[0m Genie CLI uninstalled."),console.log(),console.log("\x1B[2mNote: If you installed via npm/bun, also run:\x1B[0m"),console.log(" \x1B[36mbun remove -g @automagik/genie\x1B[0m"),console.log(" \x1B[2mor\x1B[0m"),console.log(" \x1B[36mnpm uninstall -g @automagik/genie\x1B[0m"),console.log()}lD();import{spawn as t9}from"child_process";import{copyFileSync as WY,existsSync as ZD,mkdirSync as UY,readFileSync as e9,readdirSync as zY,rmSync as KY,writeFileSync as MY}from"fs";import{chmod as EY,copyFile as D4,mkdir as n9,unlink as o9}from"fs/promises";import{homedir as O0}from"os";import{join as y}from"path";var F4=process.env.GENIE_HOME||y(O0(),".genie"),X2=y(F4,"src"),V8=y(F4,"bin"),W8=y(O0(),".local","bin");function XD(D){console.log(`\x1B[32m\u25B8\x1B[0m ${D}`)}function R0(D){console.log(`\x1B[32m\u2714\x1B[0m ${D}`)}function kD(D){console.log(`\x1B[31m\u2716\x1B[0m ${D}`)}async function A0(D,F,$){return new Promise((J)=>{let B=[],X=t9(D,F,{cwd:$,stdio:["inherit","pipe","pipe"],env:{...process.env,FORCE_COLOR:"1"}});X.stdout?.on("data",(Q)=>{let Y=Q.toString();B.push(Y),process.stdout.write(Y)}),X.stderr?.on("data",(Q)=>{let Y=Q.toString();B.push(Y),process.stderr.write(Y)}),X.on("close",(Q)=>{J({success:Q===0,output:B.join("")})}),X.on("error",(Q)=>{kD(Q.message),J({success:!1,output:Q.message})})})}async function s9(D){try{let F=await k2("git",["rev-parse","--abbrev-ref","HEAD"],D),$=await k2("git",["rev-parse","--short","HEAD"],D),J=await k2("git",["log","-1","--format=%ci"],D);if(F.success&&$.success&&J.success)return{branch:F.output.trim(),commit:$.output.trim(),commitDate:J.output.trim().split(" ")[0]}}catch{}return null}async function k2(D,F,$){return new Promise((J)=>{let B=[],X=t9(D,F,{cwd:$,stdio:["inherit","pipe","pipe"]});X.stdout?.on("data",(Q)=>{B.push(Q.toString())}),X.stderr?.on("data",(Q)=>{B.push(Q.toString())}),X.on("close",(Q)=>{J({success:Q===0,output:B.join("")})}),X.on("error",(Q)=>{J({success:!1,output:Q.message})})})}function AY(D){if(D.includes(".bun"))return"bun";if(D.includes("node_modules"))return"npm";if(D===y(W8,"genie")||D.startsWith(V8))return"source";return null}async function RY(){if(O2())try{let J=await VD();if(J.installMethod)return J.installMethod}catch{}if(ZD(y(X2,".git")))return"source";let D=await k2("which",["genie"]);if(!D.success)return"unknown";let F=AY(D.output.trim());if(F)return F;return(await k2("which",["bun"])).success?"bun":"npm"}async function OY(D){try{P("fs").unlinkSync(y(O0(),".bun","install","global","bun.lock"))}catch{}if(XD(`Updating via bun (channel: ${D})...`),!(await A0("bun",["add","-g","--force","--no-cache",`@automagik/genie@${D}`])).success)kD("Failed to update via bun"),process.exit(1);console.log(),R0(`Genie CLI updated (${D})!`)}async function CY(D){if(XD(`Updating via npm (channel: ${D})...`),!(await A0("npm",["install","-g",`@automagik/genie@${D}`])).success)kD("Failed to update via npm"),process.exit(1);console.log(),R0(`Genie CLI updated (${D})!`)}async function jY(){let D=await s9(X2);if(D)console.log(`Current: \x1B[2m${D.branch}@${D.commit} (${D.commitDate})\x1B[0m`),console.log();if(XD("Fetching latest changes..."),!(await A0("git",["fetch","origin"],X2)).success)kD("Failed to fetch from origin"),process.exit(1);if(XD("Resetting to origin/main..."),!(await A0("git",["reset","--hard","origin/main"],X2)).success)kD("Failed to reset to origin/main"),process.exit(1);console.log();let J=await s9(X2);if(D&&J&&D.commit===J.commit){R0("Already up to date!"),console.log();return}if(XD("Installing dependencies..."),!(await A0("bun",["install"],X2)).success)kD("Failed to install dependencies"),process.exit(1);if(console.log(),XD("Building..."),!(await A0("bun",["run","build"],X2)).success)kD("Failed to build"),process.exit(1);console.log(),XD("Installing binaries...");try{await n9(V8,{recursive:!0}),await n9(W8,{recursive:!0});let Q=["genie.js","term.js"],Y=["genie","term"];for(let q=0;q<Q.length;q++){let G=y(X2,"dist",Q[q]),H=y(V8,Q[q]),V=y(W8,Y[q]);await D4(G,H),await EY(H,493),await _Y(H,V)}for(let q of["claudio.js","claudio"]){let G=y(V8,q),H=y(W8,q);try{await o9(G)}catch{}try{await o9(H)}catch{}}R0("Binaries installed")}catch(Q){kD(`Failed to install binaries: ${Q}`),process.exit(1)}if(console.log(),console.log("\x1B[2m\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\x1B[0m"),R0("Genie CLI updated successfully!"),console.log(),J)console.log(`Version: \x1B[36m${J.branch}@${J.commit}\x1B[0m (${J.commitDate})`),console.log()}async function _Y(D,F){let{symlink:$,unlink:J}=await import("fs/promises");try{if(ZD(F))await J(F);await $(D,F)}catch{await D4(D,F)}}function J1(D,F){UY(F,{recursive:!0});for(let $ of zY(D,{withFileTypes:!0})){let J=y(D,$.name),B=y(F,$.name);if($.isDirectory())J1(J,B);else WY(J,B)}}async function LY(D){if(D==="bun"){let J=y(O0(),".bun","install","global","node_modules","@automagik","genie");if(ZD(J))return J}if(D==="npm"){let J=await k2("npm",["root","-g"]);if(J.success){let B=y(J.output.trim(),"@automagik","genie");if(ZD(B))return B}}let F=y(O0(),".bun","install","global","node_modules","@automagik","genie");if(ZD(F))return F;let $=await k2("npm",["root","-g"]);if($.success){let J=y($.output.trim(),"@automagik","genie");if(ZD(J))return J}return null}function ZY(D,F,$){let J=y(D,"installed_plugins.json");try{if(!ZD(J))return;let B=JSON.parse(e9(J,"utf-8")),X=B.plugins?.["genie@automagik"];if(!Array.isArray(X))return;for(let Q of X)if(Q.scope==="user")Q.installPath=F,Q.version=$,Q.lastUpdated=new Date().toISOString();MY(J,JSON.stringify(B,null,2))}catch(B){XD(`Registry update failed (non-fatal): ${B}`)}}async function a9(D){XD("Syncing Claude Code plugin...");let F=await LY(D);if(!F){XD("Could not find installed package \u2014 skipping plugin sync");return}let $=y(F,"plugins","genie");if(!ZD($)){XD("Plugin source not found in package \u2014 skipping plugin sync");return}let J;try{J=JSON.parse(e9(y(F,"package.json"),"utf-8")).version}catch{XD("Could not read package version \u2014 skipping plugin sync");return}let B=y(O0(),".claude","plugins"),X=y(B,"cache","automagik","genie",J);try{if(ZD(X))KY(X,{recursive:!0,force:!0});J1($,X);let Q=y(F,"skills");if(ZD(Q)&&!ZD(y(X,"skills")))J1(Q,y(X,"skills"))}catch(Q){kD(`Failed to copy plugin: ${Q}`);return}ZY(B,X,J),R0(`Plugin synced to v${J}`)}async function TY(D){if(D.next)return"next";if(D.stable)return"latest";if(O2())try{let F=await VD();if(F.updateChannel)return F.updateChannel}catch{}return"latest"}async function NY(D){try{let F=await VD();F.updateChannel=D,await vD(F)}catch{}}async function $4(D={}){console.log(),console.log("\x1B[1m\uD83E\uDDDE Genie CLI Update\x1B[0m"),console.log("\x1B[2m\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\x1B[0m"),console.log();let F=await TY(D);if(D.next||D.stable)await NY(F);let $=await RY();if(XD(`Detected installation: ${$}`),XD(`Channel: ${F}${F==="next"?" (dev builds)":" (stable)"}`),console.log(),$==="unknown")kD("No Genie CLI installation found"),console.log(),console.log("Install method not configured. Please reinstall genie:"),console.log("\x1B[36m curl -fsSL https://raw.githubusercontent.com/automagik-dev/genie/main/install.sh | bash\x1B[0m"),console.log(),process.exit(1);switch($){case"source":await jY();break;case"bun":await OY(F),await a9($);break;case"npm":await CY(F),await a9($);break}}import{existsSync as SY,readFileSync as IY}from"fs";import{dirname as B1,resolve as X1}from"path";var __dirname="/home/runner/_work/genie/genie/src/lib",bY="0.0.0-unknown";function vY(){let D=[X1(B1(import.meta.dir??__dirname),"..","..","package.json"),X1(B1(import.meta.dir??__dirname),"..","package.json"),X1(B1(import.meta.dir??__dirname),"package.json")];for(let F of D)try{if(SY(F)){let $=JSON.parse(IY(F,"utf-8"));if($.version)return $.version}}catch{}return bY}var J4=vY();function JV(D,F){let $=new Set([D]);if(F){if($.add(F.entry.name),F.entry.roles)for(let J of F.entry.roles)$.add(J)}return $}function BV(D){let F=["spawn","--provider",D.provider,"--team",D.team];if(D.role)F.push("--role",D.role);if(D.skill)F.push("--skill",D.skill);if(D.cwd)F.push("--cwd",D.cwd);if(D.lastSessionId)F.push("--resume",D.lastSessionId);if(D.extraArgs)F.push(...D.extraArgs);return F}async function RF(D){let F=D.tool_input;if(!F||F.type!=="message")return;let $=F.recipient;if(!$||$==="team-lead")return;let J=process.env.GENIE_TEAM??D.team_name;if(!J)return;try{let B=await Promise.resolve().then(() => (KD(),zD)),X=await Promise.resolve().then(() => (FD(),ND)),Q=await Promise.resolve().then(() => (O3(),R3)),q=(await B.list()).find((z)=>(z.role===$||z.id===$)&&z.team===J);if(q&&await X.isPaneAlive(q.paneId))return;let G=await Q.resolve($),H=await B.listTemplates(),V=JV($,G),U=H.find((z)=>{if(z.team!==J)return!1;return[...V].some((A)=>z.id===A||z.role===A)});if(!U){if(G)console.error(`[genie-hook] Agent "${$}" is registered in directory but has no spawn template in team "${J}".`);return}let{spawnSync:W}=P("child_process");W("genie",BV(U),{timeout:1e4,stdio:"ignore",env:{...process.env,GENIE_TEAM:J}}),console.error(`[genie-hook] Auto-spawned "${$}" in team "${J}"`)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`[genie-hook] Auto-spawn failed for "${$}": ${X}`)}}async function OF(D){let F=D.tool_input;if(!F)return;let $=F.type;if($!=="message"&&$!=="broadcast")return;let J=process.env.GENIE_AGENT_NAME;if(!J)return;let B=F.content;if(!B)return;if(B.startsWith(`[from:${J}]`))return;return{updatedInput:{...F,content:`[from:${J}] ${B}`}}}i1();var QV=[{name:"identity-inject",event:"PreToolUse",matcher:/^SendMessage$/,priority:10,fn:OF},{name:"auto-spawn",event:"PreToolUse",matcher:/^SendMessage$/,priority:20,fn:RF}];function YV(D,F){return QV.filter(($)=>{if($.event!==D)return!1;if($.matcher&&F&&!$.matcher.test(F))return!1;if($.matcher&&!F)return!1;return!0}).sort(($,J)=>$.priority-J.priority)}async function qV(D,F,$){let J={...F};if($)J.tool_input=$;try{return await D.fn(J)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`[genie-hook] Handler "${D.name}" threw: ${X}`);return}}async function GV(D,F){let $=F.tool_input?{...F.tool_input}:void 0;for(let J of D){let B=await qV(J,F,$);if(!B)continue;if(B.decision==="deny")return{decision:"deny",reason:B.reason??`Denied by handler: ${J.name}`};if(B.updatedInput)$={...$,...B.updatedInput}}if($&&F.tool_input&&JSON.stringify($)!==JSON.stringify(F.tool_input))return{updatedInput:$};return{}}async function HV(D,F){await Promise.allSettled(D.map(($)=>$.fn(F).catch((J)=>{let B=J instanceof Error?J.message:String(J);console.error(`[genie-hook] Handler "${$.name}" threw: ${B}`)})))}async function jF(D){let F;try{F=JSON.parse(D)}catch{return console.error("[genie-hook] Invalid JSON on stdin"),""}let $=F.hook_event_name;if(!$)return console.error("[genie-hook] Missing hook_event_name in payload"),"";let J=F.tool_name,B=YV($,J);if(B.length===0)return"";if(CF($)){let X=await GV(B,F);if(X.decision||X.updatedInput)return JSON.stringify(X);return""}return await HV(B,F),""}async function VV(){let D=[];for await(let F of Bun.stdin.stream())D.push(Buffer.from(F));return Buffer.concat(D).toString("utf-8")}async function WV(){let D=await VV();if(!D.trim())process.exit(0);let F=await jF(D);if(F)process.stdout.write(F)}function _F(D){D.command("hook").description("Hook middleware for Claude Code integration").command("dispatch").description("Dispatch a CC hook event (reads JSON from stdin, writes decision to stdout)").action(WV)}d8();O3();K3();lD();import{resolve as c8}from"path";function rF(D){let F=D.command("dir").description("Agent directory management");F.command("add <name>").description("Register an agent in the directory").requiredOption("--dir <path>","Agent folder (CWD + AGENTS.md)").option("--repo <path>","Default git repo (overridden by team)").option("--prompt-mode <mode>","Prompt mode: append or system","append").option("--model <model>","Default model (sonnet, opus, codex)").option("--roles <roles...>","Built-in roles this agent can orchestrate").option("--global","Write to global directory instead of project").action(async($,J)=>{try{let B=nF(J.promptMode),X=await l1({name:$,dir:c8(J.dir),repo:J.repo?c8(J.repo):void 0,promptMode:B,model:J.model,roles:J.roles},{global:J.global}),Q=J.global?"global":"project";if(console.log(`Agent "${X.name}" registered (${Q}).`),console.log(` Dir: ${WD(X.dir)}`),X.repo)console.log(` Repo: ${WD(X.repo)}`);if(console.log(` Prompt mode: ${X.promptMode}`),X.model)console.log(` Model: ${X.model}`);if(X.roles?.length)console.log(` Roles: ${X.roles.join(", ")}`)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}}),F.command("rm <name>").description("Remove an agent from the directory").option("--global","Remove from global directory instead of project").action(async($,J)=>{try{if(await p1($,{global:J.global})){let X=J.global?"global":"project";console.log(`Agent "${$}" removed from ${X} directory.`)}else console.error(`Agent "${$}" not found in directory.`),process.exit(1)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}}),F.command("ls [name]").description("List all agents or show single entry details").option("--json","Output as JSON").option("--builtins","Include built-in roles and council members").action(async($,J)=>{try{if($)await nV($,J.json);else await oV(J.json,J.builtins)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}}),F.command("edit <name>").description("Update an agent directory entry").option("--dir <path>","Agent folder (CWD + AGENTS.md)").option("--repo <path>","Default git repo").option("--prompt-mode <mode>","Prompt mode: append or system").option("--model <model>","Default model").option("--roles <roles...>","Built-in roles this agent can orchestrate").option("--global","Edit in global directory instead of project").action(async($,J)=>{try{await rV($,J)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}})}async function rV(D,F){let $={};if(F.dir)$.dir=c8(F.dir);if(F.repo)$.repo=c8(F.repo);if(F.promptMode)$.promptMode=nF(F.promptMode);if(F.model)$.model=F.model;if(F.roles)$.roles=F.roles;if(Object.keys($).length===0)console.error("No fields to update. Provide at least one of: --dir, --repo, --prompt-mode, --model, --roles"),process.exit(1);let J=await d1(D,$,{global:F.global}),B=F.global?"global":"project";console.log(`Agent "${D}" updated (${B}).`),oF(J)}function nF(D){if(D!=="system"&&D!=="append")throw Error(`Invalid prompt mode "${D}". Must be "append" or "system".`);return D}function oF(D){if(console.log(` Name: ${D.name}`),console.log(` Dir: ${WD(D.dir)}`),D.repo)console.log(` Repo: ${WD(D.repo)}`);if(console.log(` Prompt mode: ${D.promptMode}`),D.model)console.log(` Model: ${D.model}`);if(D.roles?.length)console.log(` Roles: ${D.roles.join(", ")}`);console.log(` Registered: ${D.registeredAt}`)}async function nV(D,F){let $=await E3(D);if(!$)console.error(`Agent "${D}" not found in directory or built-ins.`),process.exit(1);if(F){console.log(JSON.stringify({...$.entry,builtin:$.builtin},null,2));return}if($.builtin)console.log(`
441
+ Next steps:`),console.log(" 1. Reload tmux: tmux source ~/.tmux.conf"),console.log(" 2. Restart your shell or run: source ~/.bashrc"),J)console.log(" 3. Reload Termux: termux-reload-settings")}function D3(){console.log(),console.log(`\x1B[1m\x1B[36m${"=".repeat(64)}\x1B[0m`),console.log("\x1B[1m\x1B[36m Genie Setup Wizard\x1B[0m"),console.log(`\x1B[1m\x1B[36m${"=".repeat(64)}\x1B[0m`),console.log()}function P2(D,F){if(console.log(),console.log(`\x1B[1m${D}\x1B[0m`),F)console.log(`\x1B[2m${F}\x1B[0m`);console.log()}async function w9(D,F){if(P2("2. Session Configuration","Configure tmux session settings"),F)return console.log(` Using defaults: session="${D.session.name}", window="${D.session.defaultWindow}"`),D;let $=await b2({message:"Session name:",default:D.session.name}),J=await b2({message:"Default window name:",default:D.session.defaultWindow}),B=await cD({message:"Auto-create session on connect?",default:D.session.autoCreate});return D.session={name:$,defaultWindow:J,autoCreate:B},D}async function f9(D,F){if(P2("3. Terminal Defaults","Configure default values for term commands"),F)return console.log(` Using defaults: timeout=${D.terminal.execTimeout}ms, lines=${D.terminal.readLines}`),D;let $=await b2({message:"Exec timeout (milliseconds):",default:String(D.terminal.execTimeout),validate:(X)=>{let Q=Number.parseInt(X,10);return!Number.isNaN(Q)&&Q>0?!0:"Must be a positive number"}}),J=await b2({message:"Read lines (default for genie agent read):",default:String(D.terminal.readLines),validate:(X)=>{let Q=Number.parseInt(X,10);return!Number.isNaN(Q)&&Q>0?!0:"Must be a positive number"}}),B=await b2({message:"Worktree base directory (leave empty for ~/.genie/worktrees/<project>/):",default:D.terminal.worktreeBase??""});return D.terminal={execTimeout:Number.parseInt($,10),readLines:Number.parseInt(J,10),...B?{worktreeBase:B}:{}},D}async function u9(D,F){P2("4. Keyboard Shortcuts","Warp-like tmux shortcuts for quick navigation");let $=eQ(),J=DY($,".tmux.conf");if(e0(J))return console.log(" \x1B[32m\u2713\x1B[0m Tmux shortcuts already installed"),D.shortcuts.tmuxInstalled=!0,D;if(console.log(" Available shortcuts:"),console.log(" \x1B[36mCtrl+T\x1B[0m \u2192 New tab (window)"),console.log(" \x1B[36mCtrl+S\x1B[0m \u2192 Vertical split"),console.log(" \x1B[36mCtrl+H\x1B[0m \u2192 Horizontal split"),console.log(),F)return console.log(" Skipped in quick mode. Run \x1B[36mgenie setup --shortcuts\x1B[0m to install."),D;if(await cD({message:"Install tmux keyboard shortcuts?",default:!1}))console.log(),await q8(),D.shortcuts.tmuxInstalled=!0,await E7({tmuxInstalled:!0});else console.log(" Skipped. Run \x1B[36mgenie shortcuts install\x1B[0m later.");return D}function x9(D){if(D==="changed")console.log(" \x1B[32m\u2713\x1B[0m Codex config updated");else if(D==="unchanged")console.log(" \x1B[32m\u2713\x1B[0m Codex config already up to date");else console.log(" \x1B[31m\u2717\x1B[0m Failed to update codex config")}async function y9(D,F){P2("5. Codex Integration","Configure OpenAI Codex for genie agents");let $=await C2("codex");if(!$.exists)return console.log(" \x1B[33m!\x1B[0m Codex CLI not found. Skipping codex integration."),D;if(console.log(` \x1B[32m\u2713\x1B[0m Codex CLI found (${$.version??"unknown version"})`),Z9())return console.log(" \x1B[32m\u2713\x1B[0m Codex config already configured"),D.codex={configured:!0},D;if(console.log(),console.log(" Genie needs to configure codex for agent communication:"),console.log(" \x1B[36mdisable_paste_burst\x1B[0m \u2192 Reliable tmux command injection"),console.log(" \x1B[36mOTel exporter\x1B[0m \u2192 Telemetry relay for state detection"),console.log(` Config: \x1B[2m${WD(T9())}\x1B[0m`),console.log(),F){let B=a0();return x9(B),D.codex={configured:B!=="error"},D}if(await cD({message:"Configure Codex for genie agent integration?",default:!0})){let B=a0();x9(B),D.codex={configured:B!=="error"}}else console.log(" Skipped. Run \x1B[36mgenie setup --codex\x1B[0m later.");return D}async function FY(D,F){if(P2("6. Debug Options","Logging and debugging settings"),F)return console.log(" Using defaults: tmuxDebug=false, verbose=false"),D;let $=await cD({message:"Enable tmux debug logging?",default:D.logging.tmuxDebug}),J=await cD({message:"Enable verbose mode?",default:D.logging.verbose});return D.logging={tmuxDebug:$,verbose:J},D}async function $Y(D,F){if(P2("7. Prompt Mode","Controls how genie injects system prompts into Claude Code"),F)return console.log(` Using default: promptMode="${D.promptMode}"`),D;console.log(" append \u2014 Uses --append-system-prompt-file (preserves Claude Code default system prompt)"),console.log(" system \u2014 Uses --system-prompt-file (replaces Claude Code default system prompt)"),console.log();let $=await o6({message:"Prompt mode:",choices:[{name:"append (recommended \u2014 preserves CC default)",value:"append"},{name:"system (replaces CC default)",value:"system"}],default:D.promptMode});return D.promptMode=$,D}async function JY(D){P2("Summary",`Configuration will be saved to ${WD(l0())}`),console.log(` Session: \x1B[36m${D.session.name}\x1B[0m (window: ${D.session.defaultWindow})`),console.log(` Terminal: timeout=${D.terminal.execTimeout}ms, lines=${D.terminal.readLines}`),console.log(` Shortcuts: ${D.shortcuts.tmuxInstalled?"\x1B[32minstalled\x1B[0m":"\x1B[2mnot installed\x1B[0m"}`),console.log(` Codex: ${D.codex?.configured?"\x1B[32mconfigured\x1B[0m":"\x1B[2mnot configured\x1B[0m"}`),console.log(` Debug: tmux=${D.logging.tmuxDebug}, verbose=${D.logging.verbose}`),console.log(` Prompt mode: \x1B[36m${D.promptMode}\x1B[0m`),console.log(),D.setupComplete=!0,D.lastSetupAt=new Date().toISOString(),await vD(D),console.log("\x1B[32m\u2713 Configuration saved!\x1B[0m")}async function BY(){let D=await VD();console.log(),console.log("\x1B[1mCurrent Genie Configuration\x1B[0m"),console.log(`\x1B[2m${WD(l0())}\x1B[0m`),console.log(),console.log(JSON.stringify(D,null,2)),console.log()}function XY(){console.log(),console.log("\x1B[1mNext Steps:\x1B[0m"),console.log(),console.log(" Start a session: \x1B[36mgenie\x1B[0m"),console.log(" Watch AI work: \x1B[36mtmux attach -t genie\x1B[0m"),console.log(" Check health: \x1B[36mgenie doctor\x1B[0m"),console.log()}async function h9(D={}){if(D.show){await BY();return}if(D.reset){await M7(),console.log("\x1B[32m\u2713 Configuration reset to defaults.\x1B[0m"),console.log();return}let F=await VD();if(D.shortcuts){D3(),await u9(F,!1),await K7();return}if(D.terminal){D3(),F=await f9(F,!1),await vD(F),console.log("\x1B[32m\u2713 Terminal configuration saved.\x1B[0m");return}if(D.session){D3(),F=await w9(F,!1),await vD(F),console.log("\x1B[32m\u2713 Session configuration saved.\x1B[0m");return}if(D.codex){if(D3(),F=await y9(F,!1),await vD(F),F.codex?.configured)console.log("\x1B[32m\u2713 Codex configuration saved.\x1B[0m");return}let $=D.quick??!1;if(D3(),$)console.log("\x1B[2mQuick mode: accepting all defaults\x1B[0m");F=await w9(F,$),F=await f9(F,$),F=await u9(F,$),F=await y9(F,$),F=await FY(F,$),F=await $Y(F,$),await JY(F),XY()}import{existsSync as QY}from"fs";import{homedir as YY}from"os";import{join as e6}from"path";async function D1(){v9();let D=YY(),F=e6(D,".tmux.conf"),$=e6(D,".zshrc"),J=e6(D,".bashrc");if(console.log("Installation status:"),e0(F))console.log(" \x1B[32m\u2713\x1B[0m tmux.conf");else console.log(" \x1B[33m-\x1B[0m tmux.conf");let B=QY($)?$:J;if(e0(B))console.log(` \x1B[32m\u2713\x1B[0m ${B.replace(D,"~")}`);else console.log(` \x1B[33m-\x1B[0m ${B.replace(D,"~")}`);console.log(),console.log("Run \x1B[36mgenie shortcuts install\x1B[0m to install shortcuts."),console.log("Run \x1B[36mgenie shortcuts uninstall\x1B[0m to remove shortcuts."),console.log()}async function g9(){await q8()}async function m9(){await k9()}import{existsSync as G8,lstatSync as qY,rmSync as GY,unlinkSync as l9}from"fs";import{homedir as p9}from"os";import{join as H8}from"path";lD();var $1=H8(p9(),".claude","rules","genie-orchestration.md"),d9=H8(p9(),".local","bin"),c9=["genie","term"];function i9(D){try{if(!G8(D))return!1;if(!qY(D).isSymbolicLink())return!1;return!0}catch{return!1}}function HY(){let D=[];for(let F of c9){let $=H8(d9,F);if(i9($))try{l9($),D.push(F)}catch{}}return D}function F1(D,F,$){console.log(`\x1B[2m${D}\x1B[0m`);try{$(),console.log(` \x1B[32m+\x1B[0m ${F}`)}catch(J){let B=J instanceof Error?J.message:String(J);console.log(` \x1B[33m!\x1B[0m ${D.replace("...","")} failed: ${B}`)}}function VY(D,F,$,J){if(D)F1("Removing hook script...","Hook script removed",()=>r5());if(F.length>0){console.log("\x1B[2mRemoving symlinks...\x1B[0m");let B=HY();if(B.length>0)console.log(` \x1B[32m+\x1B[0m Removed: ${B.join(", ")}`)}if(G8($1))F1("Removing orchestration rules...","Orchestration rules removed (~/.claude/rules/genie-orchestration.md)",()=>l9($1));if(J)F1("Removing genie directory...","Directory removed",()=>GY($,{recursive:!0,force:!0}))}async function r9(){console.log(),console.log("\x1B[1m\x1B[33m Uninstall Genie CLI\x1B[0m"),console.log();let D=W7(),F=G8(D),$=i5(),J=G8($1),B=c9.filter((Q)=>i9(H8(d9,Q)));if(console.log("\x1B[2mThis will remove:\x1B[0m"),$)console.log(" \x1B[31m-\x1B[0m Hook script (~/.claude/hooks/genie-bash-hook.sh)");if(J)console.log(" \x1B[31m-\x1B[0m Orchestration rules (~/.claude/rules/genie-orchestration.md)");if(F)console.log(` \x1B[31m-\x1B[0m Genie directory (${WD(D)})`);if(B.length>0)console.log(` \x1B[31m-\x1B[0m Symlinks from ~/.local/bin: ${B.join(", ")}`);if(console.log(),!F&&!$&&!J&&B.length===0){console.log("\x1B[33mNothing to uninstall.\x1B[0m"),console.log();return}if(!await cD({message:"Are you sure you want to uninstall Genie CLI?",default:!1})){console.log(),console.log("\x1B[2mUninstall cancelled.\x1B[0m"),console.log();return}console.log(),VY($,B,D,F),console.log(),console.log("\x1B[32m+\x1B[0m Genie CLI uninstalled."),console.log(),console.log("\x1B[2mNote: If you installed via npm/bun, also run:\x1B[0m"),console.log(" \x1B[36mbun remove -g @automagik/genie\x1B[0m"),console.log(" \x1B[2mor\x1B[0m"),console.log(" \x1B[36mnpm uninstall -g @automagik/genie\x1B[0m"),console.log()}lD();import{spawn as t9}from"child_process";import{copyFileSync as WY,existsSync as ZD,mkdirSync as UY,readFileSync as e9,readdirSync as zY,rmSync as KY,writeFileSync as MY}from"fs";import{chmod as EY,copyFile as D4,mkdir as n9,unlink as o9}from"fs/promises";import{homedir as O0}from"os";import{join as y}from"path";var F4=process.env.GENIE_HOME||y(O0(),".genie"),X2=y(F4,"src"),V8=y(F4,"bin"),W8=y(O0(),".local","bin");function QD(D){console.log(`\x1B[32m\u25B8\x1B[0m ${D}`)}function R0(D){console.log(`\x1B[32m\u2714\x1B[0m ${D}`)}function kD(D){console.log(`\x1B[31m\u2716\x1B[0m ${D}`)}async function A0(D,F,$){return new Promise((J)=>{let B=[],X=t9(D,F,{cwd:$,stdio:["inherit","pipe","pipe"],env:{...process.env,FORCE_COLOR:"1"}});X.stdout?.on("data",(Q)=>{let Y=Q.toString();B.push(Y),process.stdout.write(Y)}),X.stderr?.on("data",(Q)=>{let Y=Q.toString();B.push(Y),process.stderr.write(Y)}),X.on("close",(Q)=>{J({success:Q===0,output:B.join("")})}),X.on("error",(Q)=>{kD(Q.message),J({success:!1,output:Q.message})})})}async function s9(D){try{let F=await k2("git",["rev-parse","--abbrev-ref","HEAD"],D),$=await k2("git",["rev-parse","--short","HEAD"],D),J=await k2("git",["log","-1","--format=%ci"],D);if(F.success&&$.success&&J.success)return{branch:F.output.trim(),commit:$.output.trim(),commitDate:J.output.trim().split(" ")[0]}}catch{}return null}async function k2(D,F,$){return new Promise((J)=>{let B=[],X=t9(D,F,{cwd:$,stdio:["inherit","pipe","pipe"]});X.stdout?.on("data",(Q)=>{B.push(Q.toString())}),X.stderr?.on("data",(Q)=>{B.push(Q.toString())}),X.on("close",(Q)=>{J({success:Q===0,output:B.join("")})}),X.on("error",(Q)=>{J({success:!1,output:Q.message})})})}function AY(D){if(D.includes(".bun"))return"bun";if(D.includes("node_modules"))return"npm";if(D===y(W8,"genie")||D.startsWith(V8))return"source";return null}async function RY(){if(O2())try{let J=await VD();if(J.installMethod)return J.installMethod}catch{}if(ZD(y(X2,".git")))return"source";let D=await k2("which",["genie"]);if(!D.success)return"unknown";let F=AY(D.output.trim());if(F)return F;return(await k2("which",["bun"])).success?"bun":"npm"}async function OY(D){try{P("fs").unlinkSync(y(O0(),".bun","install","global","bun.lock"))}catch{}if(QD(`Updating via bun (channel: ${D})...`),!(await A0("bun",["add","-g","--force","--no-cache",`@automagik/genie@${D}`])).success)kD("Failed to update via bun"),process.exit(1);console.log(),R0(`Genie CLI updated (${D})!`)}async function CY(D){if(QD(`Updating via npm (channel: ${D})...`),!(await A0("npm",["install","-g",`@automagik/genie@${D}`])).success)kD("Failed to update via npm"),process.exit(1);console.log(),R0(`Genie CLI updated (${D})!`)}async function jY(){let D=await s9(X2);if(D)console.log(`Current: \x1B[2m${D.branch}@${D.commit} (${D.commitDate})\x1B[0m`),console.log();if(QD("Fetching latest changes..."),!(await A0("git",["fetch","origin"],X2)).success)kD("Failed to fetch from origin"),process.exit(1);if(QD("Resetting to origin/main..."),!(await A0("git",["reset","--hard","origin/main"],X2)).success)kD("Failed to reset to origin/main"),process.exit(1);console.log();let J=await s9(X2);if(D&&J&&D.commit===J.commit){R0("Already up to date!"),console.log();return}if(QD("Installing dependencies..."),!(await A0("bun",["install"],X2)).success)kD("Failed to install dependencies"),process.exit(1);if(console.log(),QD("Building..."),!(await A0("bun",["run","build"],X2)).success)kD("Failed to build"),process.exit(1);console.log(),QD("Installing binaries...");try{await n9(V8,{recursive:!0}),await n9(W8,{recursive:!0});let Q=["genie.js","term.js"],Y=["genie","term"];for(let q=0;q<Q.length;q++){let G=y(X2,"dist",Q[q]),H=y(V8,Q[q]),V=y(W8,Y[q]);await D4(G,H),await EY(H,493),await _Y(H,V)}for(let q of["claudio.js","claudio"]){let G=y(V8,q),H=y(W8,q);try{await o9(G)}catch{}try{await o9(H)}catch{}}R0("Binaries installed")}catch(Q){kD(`Failed to install binaries: ${Q}`),process.exit(1)}if(console.log(),console.log("\x1B[2m\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\x1B[0m"),R0("Genie CLI updated successfully!"),console.log(),J)console.log(`Version: \x1B[36m${J.branch}@${J.commit}\x1B[0m (${J.commitDate})`),console.log()}async function _Y(D,F){let{symlink:$,unlink:J}=await import("fs/promises");try{if(ZD(F))await J(F);await $(D,F)}catch{await D4(D,F)}}function J1(D,F){UY(F,{recursive:!0});for(let $ of zY(D,{withFileTypes:!0})){let J=y(D,$.name),B=y(F,$.name);if($.isDirectory())J1(J,B);else WY(J,B)}}async function LY(D){if(D==="bun"){let J=y(O0(),".bun","install","global","node_modules","@automagik","genie");if(ZD(J))return J}if(D==="npm"){let J=await k2("npm",["root","-g"]);if(J.success){let B=y(J.output.trim(),"@automagik","genie");if(ZD(B))return B}}let F=y(O0(),".bun","install","global","node_modules","@automagik","genie");if(ZD(F))return F;let $=await k2("npm",["root","-g"]);if($.success){let J=y($.output.trim(),"@automagik","genie");if(ZD(J))return J}return null}function ZY(D,F,$){let J=y(D,"installed_plugins.json");try{if(!ZD(J))return;let B=JSON.parse(e9(J,"utf-8")),X=B.plugins?.["genie@automagik"];if(!Array.isArray(X))return;for(let Q of X)if(Q.scope==="user")Q.installPath=F,Q.version=$,Q.lastUpdated=new Date().toISOString();MY(J,JSON.stringify(B,null,2))}catch(B){QD(`Registry update failed (non-fatal): ${B}`)}}async function a9(D){QD("Syncing Claude Code plugin...");let F=await LY(D);if(!F){QD("Could not find installed package \u2014 skipping plugin sync");return}let $=y(F,"plugins","genie");if(!ZD($)){QD("Plugin source not found in package \u2014 skipping plugin sync");return}let J;try{J=JSON.parse(e9(y(F,"package.json"),"utf-8")).version}catch{QD("Could not read package version \u2014 skipping plugin sync");return}let B=y(O0(),".claude","plugins"),X=y(B,"cache","automagik","genie",J);try{if(ZD(X))KY(X,{recursive:!0,force:!0});J1($,X);let Q=y(F,"skills");if(ZD(Q)&&!ZD(y(X,"skills")))J1(Q,y(X,"skills"))}catch(Q){kD(`Failed to copy plugin: ${Q}`);return}ZY(B,X,J),R0(`Plugin synced to v${J}`)}async function TY(D){if(D.next)return"next";if(D.stable)return"latest";if(O2())try{let F=await VD();if(F.updateChannel)return F.updateChannel}catch{}return"latest"}async function NY(D){try{let F=await VD();F.updateChannel=D,await vD(F)}catch{}}async function $4(D={}){console.log(),console.log("\x1B[1m\uD83E\uDDDE Genie CLI Update\x1B[0m"),console.log("\x1B[2m\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\x1B[0m"),console.log();let F=await TY(D);if(D.next||D.stable)await NY(F);let $=await RY();if(QD(`Detected installation: ${$}`),QD(`Channel: ${F}${F==="next"?" (dev builds)":" (stable)"}`),console.log(),$==="unknown")kD("No Genie CLI installation found"),console.log(),console.log("Install method not configured. Please reinstall genie:"),console.log("\x1B[36m curl -fsSL https://raw.githubusercontent.com/automagik-dev/genie/main/install.sh | bash\x1B[0m"),console.log(),process.exit(1);switch($){case"source":await jY();break;case"bun":await OY(F),await a9($);break;case"npm":await CY(F),await a9($);break}}import{existsSync as SY,readFileSync as IY}from"fs";import{dirname as B1,resolve as X1}from"path";var __dirname="/home/runner/_work/genie/genie/src/lib",bY="0.0.0-unknown";function vY(){let D=[X1(B1(import.meta.dir??__dirname),"..","..","package.json"),X1(B1(import.meta.dir??__dirname),"..","package.json"),X1(B1(import.meta.dir??__dirname),"package.json")];for(let F of D)try{if(SY(F)){let $=JSON.parse(IY(F,"utf-8"));if($.version)return $.version}}catch{}return bY}var J4=vY();function JV(D,F){let $=new Set([D]);if(F){if($.add(F.entry.name),F.entry.roles)for(let J of F.entry.roles)$.add(J)}return $}function BV(D){let F=["spawn","--provider",D.provider,"--team",D.team];if(D.role)F.push("--role",D.role);if(D.skill)F.push("--skill",D.skill);if(D.cwd)F.push("--cwd",D.cwd);if(D.lastSessionId)F.push("--resume",D.lastSessionId);if(D.extraArgs)F.push(...D.extraArgs);return F}async function RF(D){let F=D.tool_input;if(!F||F.type!=="message")return;let $=F.recipient;if(!$||$==="team-lead")return;let J=process.env.GENIE_TEAM??D.team_name;if(!J)return;try{let B=await Promise.resolve().then(() => (KD(),zD)),X=await Promise.resolve().then(() => ($D(),ND)),Q=await Promise.resolve().then(() => (O3(),R3)),q=(await B.list()).find((z)=>(z.role===$||z.id===$)&&z.team===J);if(q&&await X.isPaneAlive(q.paneId))return;let G=await Q.resolve($),H=await B.listTemplates(),V=JV($,G),U=H.find((z)=>{if(z.team!==J)return!1;return[...V].some((A)=>z.id===A||z.role===A)});if(!U){if(G)console.error(`[genie-hook] Agent "${$}" is registered in directory but has no spawn template in team "${J}".`);return}let{spawnSync:W}=P("child_process");W("genie",BV(U),{timeout:1e4,stdio:"ignore",env:{...process.env,GENIE_TEAM:J}}),console.error(`[genie-hook] Auto-spawned "${$}" in team "${J}"`)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`[genie-hook] Auto-spawn failed for "${$}": ${X}`)}}async function OF(D){let F=D.tool_input;if(!F)return;let $=F.type;if($!=="message"&&$!=="broadcast")return;let J=process.env.GENIE_AGENT_NAME;if(!J)return;let B=F.content;if(!B)return;if(B.startsWith(`[from:${J}]`))return;return{updatedInput:{...F,content:`[from:${J}] ${B}`}}}i1();var QV=[{name:"identity-inject",event:"PreToolUse",matcher:/^SendMessage$/,priority:10,fn:OF},{name:"auto-spawn",event:"PreToolUse",matcher:/^SendMessage$/,priority:20,fn:RF}];function YV(D,F){return QV.filter(($)=>{if($.event!==D)return!1;if($.matcher&&F&&!$.matcher.test(F))return!1;if($.matcher&&!F)return!1;return!0}).sort(($,J)=>$.priority-J.priority)}async function qV(D,F,$){let J={...F};if($)J.tool_input=$;try{return await D.fn(J)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`[genie-hook] Handler "${D.name}" threw: ${X}`);return}}async function GV(D,F){let $=F.tool_input?{...F.tool_input}:void 0;for(let J of D){let B=await qV(J,F,$);if(!B)continue;if(B.decision==="deny")return{decision:"deny",reason:B.reason??`Denied by handler: ${J.name}`};if(B.updatedInput)$={...$,...B.updatedInput}}if($&&F.tool_input&&JSON.stringify($)!==JSON.stringify(F.tool_input))return{updatedInput:$};return{}}async function HV(D,F){await Promise.allSettled(D.map(($)=>$.fn(F).catch((J)=>{let B=J instanceof Error?J.message:String(J);console.error(`[genie-hook] Handler "${$.name}" threw: ${B}`)})))}async function jF(D){let F;try{F=JSON.parse(D)}catch{return console.error("[genie-hook] Invalid JSON on stdin"),""}let $=F.hook_event_name;if(!$)return console.error("[genie-hook] Missing hook_event_name in payload"),"";let J=F.tool_name,B=YV($,J);if(B.length===0)return"";if(CF($)){let X=await GV(B,F);if(X.decision||X.updatedInput)return JSON.stringify(X);return""}return await HV(B,F),""}async function VV(){let D=[];for await(let F of Bun.stdin.stream())D.push(Buffer.from(F));return Buffer.concat(D).toString("utf-8")}async function WV(){let D=await VV();if(!D.trim())process.exit(0);let F=await jF(D);if(F)process.stdout.write(F)}function _F(D){D.command("hook").description("Hook middleware for Claude Code integration").command("dispatch").description("Dispatch a CC hook event (reads JSON from stdin, writes decision to stdout)").action(WV)}d8();O3();K3();lD();import{resolve as c8}from"path";function rF(D){let F=D.command("dir").description("Agent directory management");F.command("add <name>").description("Register an agent in the directory").requiredOption("--dir <path>","Agent folder (CWD + AGENTS.md)").option("--repo <path>","Default git repo (overridden by team)").option("--prompt-mode <mode>","Prompt mode: append or system","append").option("--model <model>","Default model (sonnet, opus, codex)").option("--roles <roles...>","Built-in roles this agent can orchestrate").option("--global","Write to global directory instead of project").action(async($,J)=>{try{let B=nF(J.promptMode),X=await l1({name:$,dir:c8(J.dir),repo:J.repo?c8(J.repo):void 0,promptMode:B,model:J.model,roles:J.roles},{global:J.global}),Q=J.global?"global":"project";if(console.log(`Agent "${X.name}" registered (${Q}).`),console.log(` Dir: ${WD(X.dir)}`),X.repo)console.log(` Repo: ${WD(X.repo)}`);if(console.log(` Prompt mode: ${X.promptMode}`),X.model)console.log(` Model: ${X.model}`);if(X.roles?.length)console.log(` Roles: ${X.roles.join(", ")}`)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}}),F.command("rm <name>").description("Remove an agent from the directory").option("--global","Remove from global directory instead of project").action(async($,J)=>{try{if(await p1($,{global:J.global})){let X=J.global?"global":"project";console.log(`Agent "${$}" removed from ${X} directory.`)}else console.error(`Agent "${$}" not found in directory.`),process.exit(1)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}}),F.command("ls [name]").description("List all agents or show single entry details").option("--json","Output as JSON").option("--builtins","Include built-in roles and council members").action(async($,J)=>{try{if($)await nV($,J.json);else await oV(J.json,J.builtins)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}}),F.command("edit <name>").description("Update an agent directory entry").option("--dir <path>","Agent folder (CWD + AGENTS.md)").option("--repo <path>","Default git repo").option("--prompt-mode <mode>","Prompt mode: append or system").option("--model <model>","Default model").option("--roles <roles...>","Built-in roles this agent can orchestrate").option("--global","Edit in global directory instead of project").action(async($,J)=>{try{await rV($,J)}catch(B){let X=B instanceof Error?B.message:String(B);console.error(`Error: ${X}`),process.exit(1)}})}async function rV(D,F){let $={};if(F.dir)$.dir=c8(F.dir);if(F.repo)$.repo=c8(F.repo);if(F.promptMode)$.promptMode=nF(F.promptMode);if(F.model)$.model=F.model;if(F.roles)$.roles=F.roles;if(Object.keys($).length===0)console.error("No fields to update. Provide at least one of: --dir, --repo, --prompt-mode, --model, --roles"),process.exit(1);let J=await d1(D,$,{global:F.global}),B=F.global?"global":"project";console.log(`Agent "${D}" updated (${B}).`),oF(J)}function nF(D){if(D!=="system"&&D!=="append")throw Error(`Invalid prompt mode "${D}". Must be "append" or "system".`);return D}function oF(D){if(console.log(` Name: ${D.name}`),console.log(` Dir: ${WD(D.dir)}`),D.repo)console.log(` Repo: ${WD(D.repo)}`);if(console.log(` Prompt mode: ${D.promptMode}`),D.model)console.log(` Model: ${D.model}`);if(D.roles?.length)console.log(` Roles: ${D.roles.join(", ")}`);console.log(` Registered: ${D.registeredAt}`)}async function nV(D,F){let $=await E3(D);if(!$)console.error(`Agent "${D}" not found in directory or built-ins.`),process.exit(1);if(F){console.log(JSON.stringify({...$.entry,builtin:$.builtin},null,2));return}if($.builtin)console.log(`
442
442
  (built-in ${$.entry.registeredAt==="(built-in)"?"agent":"agent"})`);console.log(""),oF($.entry),console.log("")}async function oV(D,F){let $=await A3();if(D){sV($,F);return}if($.length===0&&!F){console.log(`
443
443
  No agents registered. Add one with: genie dir add <name> --dir <path>`),console.log(`Use --builtins to also see built-in roles and council members.
444
444
  `);return}if($.length>0)aV($);if(F)tV()}function sV(D,F){let $=D.map((J)=>({...J,builtin:!1}));if(F)for(let J of v8)$.push({name:J.name,description:J.description,model:J.model,category:J.category,scope:"built-in",builtin:!0});console.log(JSON.stringify($,null,2))}function aV(D){console.log(""),console.log("REGISTERED AGENTS"),console.log("-".repeat(85)),console.log(` ${"NAME".padEnd(22)}${"SCOPE".padEnd(10)}${"DIR".padEnd(30)}${"MODE".padEnd(8)}${"MODEL".padEnd(8)}ROLES`),console.log(` ${"-".repeat(20)} ${"-".repeat(8)} ${"-".repeat(28)} ${"-".repeat(6)} ${"-".repeat(6)} ${"-".repeat(15)}`);for(let Q of D){let Y=WD(Q.dir),q=Y.length>28?`${Y.slice(0,25)}...`:Y,G=Q.roles?.join(", ")||"-";console.log(` ${Q.name.padEnd(22)}${Q.scope.padEnd(10)}${q.padEnd(30)}${Q.promptMode.padEnd(8)}${(Q.model||"-").padEnd(8)}${G}`)}console.log("")}function tV(){console.log("BUILT-IN AGENTS"),console.log("-".repeat(80)),console.log(` ${"NAME".padEnd(22)}${"TYPE".padEnd(10)}${"MODEL".padEnd(8)}DESCRIPTION`),console.log(` ${"-".repeat(20)} ${"-".repeat(8)} ${"-".repeat(6)} ${"-".repeat(30)}`);for(let J of v8)console.log(` ${J.name.padEnd(22)}${J.category.padEnd(10)}${(J.model||"-").padEnd(8)}${J.description}`);console.log("")}import{execSync as Q$}from"child_process";import{existsSync as i8}from"fs";import{mkdir as WW,readFile as r8,writeFile as UW}from"fs/promises";import{tmpdir as zW}from"os";import{join as b0}from"path";s3();w2();import{mkdir as sF,readFile as eV,writeFile as DW}from"fs/promises";import{dirname as aF,join as FW}from"path";var $W=E.enum(["blocked","ready","in_progress","done"]),JW=E.object({status:$W,assignee:E.string().optional(),dependsOn:E.array(E.string()).default([]),startedAt:E.string().optional(),completedAt:E.string().optional()}),BW=E.object({wish:E.string(),groups:E.record(E.string(),JW),createdAt:E.string(),updatedAt:E.string()});async function $5(D,F){let $=await HD(D);try{let J=await tF(D);if(!J)throw Error(`State file not found: ${D}`);let B=await F(J);return await eF(D,J),B}finally{await $()}}function Z3(D,F){return FW(F??process.cwd(),".genie","state",`${D}.json`)}async function tF(D){try{let F=await eV(D,"utf-8");return BW.parse(JSON.parse(F))}catch{return null}}async function eF(D,F){await sF(aF(D),{recursive:!0}),F.updatedAt=new Date().toISOString(),await DW(D,JSON.stringify(F,null,2))}function XW(D){for(let[,F]of Object.entries(D.groups)){if(F.status!=="blocked")continue;if(F.dependsOn.length===0)continue;if(F.dependsOn.every((J)=>{return D.groups[J]?.status==="done"}))F.status="ready"}}function QW(D){let F=new Set(D.map(($)=>$.name));for(let $ of D){if($.dependsOn?.includes($.name))throw Error(`Group "${$.name}" depends on itself`);for(let J of $.dependsOn??[])if(!F.has(J))throw Error(`Group "${$.name}" depends on non-existent group "${J}"`)}}function YW(D){let F={},$={};for(let X of D)F[X.name]=(X.dependsOn??[]).length,$[X.name]=[];for(let X of D)for(let Q of X.dependsOn??[])$[Q].push(X.name);let J=Object.entries(F).filter(([,X])=>X===0).map(([X])=>X),B=0;while(J.length>0){let X=J.shift();if(!X)break;B++;for(let Q of $[X])if(F[Q]--,F[Q]===0)J.push(Q)}if(B!==D.length){let X=Object.entries(F).filter(([,Q])=>Q>0).map(([Q])=>Q);throw Error(`Dependency cycle detected among groups: ${X.join(", ")}`)}}function qW(D){QW(D),YW(D)}async function D$(D,F,$){qW(F);let J=Z3(D,$);await sF(aF(J),{recursive:!0});let B=new Date().toISOString(),X={};for(let Y of F){let q=Y.dependsOn??[];X[Y.name]={status:q.length===0?"ready":"blocked",dependsOn:q}}let Q={wish:D,groups:X,createdAt:B,updatedAt:B};return await eF(J,Q),Q}async function F$(D,F,$,J){let B=Z3(D,J);return $5(B,(X)=>{let Q=X.groups[F];if(!Q)throw Error(`Group "${F}" not found in wish "${D}"`);if(Q.status==="in_progress")throw Error(`Group "${F}" is already in progress (assigned to ${Q.assignee??"unknown"})`);if(Q.status==="done")throw Error(`Group "${F}" is already done`);for(let Y of Q.dependsOn){let q=X.groups[Y];if(!q)throw Error(`Dependency "${Y}" not found in wish "${D}"`);if(q.status!=="done")throw Error(`Cannot start group "${F}": dependency "${Y}" is ${q.status} (must be done)`)}return Q.status="in_progress",Q.assignee=$,Q.startedAt=new Date().toISOString(),{...Q}})}async function $$(D,F,$){let J=Z3(D,$);return $5(J,(B)=>{let X=B.groups[F];if(!X)throw Error(`Group "${F}" not found in wish "${D}"`);if(X.status!=="in_progress")throw Error(`Cannot complete group "${F}": must be in_progress (currently ${X.status})`);return X.status="done",X.completedAt=new Date().toISOString(),XW(B),{...X}})}async function J$(D,F,$){let J=Z3(D,$);return $5(J,(B)=>{let X=B.groups[F];if(!X)throw Error(`Group "${F}" not found`);if(X.status!=="in_progress")throw Error(`Cannot reset: must be in_progress (currently ${X.status})`);return X.status="ready",X.assignee=void 0,X.startedAt=void 0,{...X}})}async function T3(D,F){let $=Z3(D,F);return tF($)}d8();function S3(D){let F=D.indexOf("#");if(F===-1)throw Error(`Invalid reference "${D}". Expected format: <slug>#<group>`);let $=D.slice(0,F),J=D.slice(F+1);if(!$||!J)throw Error(`Invalid reference "${D}". Both slug and group are required.`);return{slug:$,group:J}}var GW={blocked:"\uD83D\uDD12",ready:"\uD83D\uDFE2",in_progress:"\uD83D\uDD04",done:"\u2705"};function J5(D){if(!D)return"";return new Date(D).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})}function N3(D,F){return D.length>=F?D:D+" ".repeat(F-D.length)}async function HW(D){try{let{slug:F,group:$}=S3(D),J=await $$(F,$);if(console.log(`\u2705 Group "${$}" marked as done in wish "${F}"`),J.completedAt)console.log(` Completed at: ${J5(J.completedAt)}`);let B=await T3(F);if(B){let X=Object.entries(B.groups).filter(([,Q])=>Q.status==="ready"&&Q.dependsOn.includes($)).map(([Q])=>Q);if(X.length>0)console.log(` Unblocked: ${X.join(", ")}`)}}catch(F){let $=F instanceof Error?F.message:String(F);console.error(`\u274C ${$}`),process.exit(1)}}async function VW(D){try{let F=await T3(D);if(!F)console.error(`\u274C No state found for wish "${D}"`),console.error(" State file expected at: .genie/state/<slug>.json"),process.exit(1);console.log(`
@@ -446,7 +446,7 @@ Wish: ${F.wish}`),console.log("\u2500".repeat(60));let $=Object.entries(F.groups
446
446
  `)}function MW(){try{let D=Q$("git diff HEAD",{encoding:"utf-8",maxBuffer:1048576}),F=Q$("git diff --cached",{encoding:"utf-8",maxBuffer:1048576}),$=[D,F].filter(Boolean).join(`
447
447
  `);if($.length>50000)return`${$.slice(0,50000)}
448
448
 
449
- ... (diff truncated at 50KB)`;return $}catch{return""}}function EW(D){let F=[],$=/^### Group ([A-Za-z0-9]+):/gim,J=$.exec(D);while(J!==null){let B=J[1],X=J.index,Q=D.slice(X+J[0].length),Y=Q.search(/^### Group [A-Za-z0-9]+:/m),G=(Y!==-1?Q.slice(0,Y):Q).match(/\*\*depends-on:\*\*\s*(.+)/i),H=[];if(G){let V=G[1].trim();if(V.toLowerCase()!=="none")H=V.split(",").map((U)=>U.trim().replace(/^group\s*/i,"")).filter(Boolean)}F.push({name:B,dependsOn:H}),J=$.exec(D)}return F}async function AW(D,F){let $=b0(process.cwd(),".genie","brainstorms",F,"DRAFT.md");if(!i8($))console.error(`\u274C Draft not found: ${$}`),console.error(` Create it first: mkdir -p .genie/brainstorms/${F} && touch .genie/brainstorms/${F}/DRAFT.md`),process.exit(1);let J=await r8($,"utf-8"),B=o8({filePath:$,sectionContent:J,command:"brainstorm",skill:"brainstorm"}),X=await n8(B);console.log(`\uD83D\uDCDD Dispatching brainstorm to ${D} for "${F}"`),console.log(` Draft: ${$}`),await V2(D,{provider:"claude",team:process.env.GENIE_TEAM??"genie",extraArgs:["--append-system-prompt-file",X],initialPrompt:`Brainstorm "${F}". Your context is in the system prompt. Explore the idea, ask clarifying questions, and build toward a design.`})}async function RW(D,F){let $=b0(process.cwd(),".genie","brainstorms",F,"DESIGN.md");if(!i8($))console.error(`\u274C Design not found: ${$}`),console.error(` Run brainstorm first: genie brainstorm <agent> ${F}`),process.exit(1);let J=await r8($,"utf-8"),B=o8({filePath:$,sectionContent:J,command:"wish",skill:"wish"}),X=await n8(B);console.log(`\uD83D\uDCDD Dispatching wish to ${D} for "${F}"`),console.log(` Design: ${$}`),await V2(D,{provider:"claude",team:process.env.GENIE_TEAM??"genie",extraArgs:["--append-system-prompt-file",X],initialPrompt:`Create a wish from the design for "${F}". Your context is in the system prompt. Write the WISH.md with execution groups, acceptance criteria, and validation commands.`})}async function OW(D,F){let{slug:$,group:J}=S3(F),B=b0(process.cwd(),".genie","wishes",$,"WISH.md");if(!i8(B))console.error(`\u274C Wish not found: ${B}`),console.error(` Create it first: genie wish <agent> ${$}`),process.exit(1);let X=await r8(B,"utf-8"),Q=Y$(X,J);if(!Q){console.error(`\u274C Group "${J}" not found in ${B}`),console.error(" Available groups:");let V=X.match(/^### Group [A-Za-z0-9]+:.*$/gm);if(V)for(let U of V)console.error(` ${U}`);process.exit(1)}let Y=await T3($);if(!Y){let V=EW(X);Y=await D$($,V),console.log(`\uD83D\uDCDD Initialized state for wish "${$}" (${V.length} groups)`)}try{await F$($,J,D),console.log(`\u2705 Group "${J}" set to in_progress (assigned to ${D})`)}catch(V){let U=V instanceof Error?V.message:String(V);console.error(`\u274C ${U}`),process.exit(1)}let q=q$(X),G=o8({filePath:B,sectionContent:Q,wishContext:q,command:`work ${F}`,skill:"work"}),H=await n8(G);console.log(`\uD83D\uDD27 Dispatching work to ${D} for "${F}"`),console.log(` Wish: ${B}`),console.log(` Group: ${J}`),await V2(D,{provider:"claude",team:process.env.GENIE_TEAM??"genie",extraArgs:["--append-system-prompt-file",H],initialPrompt:`Execute Group ${J} of wish "${$}". Your full context is in the system prompt. Read the wish at ${B} if needed. Implement all deliverables, run validation, and report completion.`})}async function CW(D,F){let{slug:$,group:J}=S3(F),B=b0(process.cwd(),".genie","wishes",$,"WISH.md");if(!i8(B))console.error(`\u274C Wish not found: ${B}`),process.exit(1);let X=await r8(B,"utf-8"),Q=Y$(X,J);if(!Q)console.error(`\u274C Group "${J}" not found in ${B}`),process.exit(1);let Y=MW(),q=q$(X),G=[Q,"","## Git Diff (changes to review)","",Y?`\`\`\`diff
449
+ ... (diff truncated at 50KB)`;return $}catch{return""}}function EW(D){let F=[],$=/^### Group ([A-Za-z0-9]+):/gim,J=$.exec(D);while(J!==null){let B=J[1],X=J.index,Q=D.slice(X+J[0].length),Y=Q.search(/^### Group [A-Za-z0-9]+:/m),G=(Y!==-1?Q.slice(0,Y):Q).match(/\*\*depends-on:\*\*\s*(.+)/i),H=[];if(G){let V=G[1].trim();if(V.toLowerCase()!=="none")H=V.split(",").map((U)=>U.trim().replace(/^group\s*/i,"")).filter(Boolean)}F.push({name:B,dependsOn:H}),J=$.exec(D)}return F}async function AW(D,F){let $=b0(process.cwd(),".genie","brainstorms",F,"DRAFT.md");if(!i8($))console.error(`\u274C Draft not found: ${$}`),console.error(` Create it first: mkdir -p .genie/brainstorms/${F} && touch .genie/brainstorms/${F}/DRAFT.md`),process.exit(1);let J=await r8($,"utf-8"),B=o8({filePath:$,sectionContent:J,command:"brainstorm",skill:"brainstorm"}),X=await n8(B);console.log(`\uD83D\uDCDD Dispatching brainstorm to ${D} for "${F}"`),console.log(` Draft: ${$}`),await V2(D,{provider:"claude",team:process.env.GENIE_TEAM??"genie",extraArgs:["--append-system-prompt-file",X],initialPrompt:`Brainstorm "${F}". Your context is in the system prompt. Explore the idea, ask clarifying questions, and build toward a design.`})}async function RW(D,F){let $=b0(process.cwd(),".genie","brainstorms",F,"DESIGN.md");if(!i8($))console.error(`\u274C Design not found: ${$}`),console.error(` Run brainstorm first: genie brainstorm <agent> ${F}`),process.exit(1);let J=await r8($,"utf-8"),B=o8({filePath:$,sectionContent:J,command:"wish",skill:"wish"}),X=await n8(B);console.log(`\uD83D\uDCDD Dispatching wish to ${D} for "${F}"`),console.log(` Design: ${$}`),await V2(D,{provider:"claude",team:process.env.GENIE_TEAM??"genie",extraArgs:["--append-system-prompt-file",X],initialPrompt:`Create a wish from the design for "${F}". Your context is in the system prompt. Write the WISH.md with execution groups, acceptance criteria, and validation commands.`})}async function OW(D,F){let{slug:$,group:J}=S3(F),B=b0(process.cwd(),".genie","wishes",$,"WISH.md");if(!i8(B))console.error(`\u274C Wish not found: ${B}`),console.error(` Create it first: genie wish <agent> ${$}`),process.exit(1);let X=await r8(B,"utf-8"),Q=Y$(X,J);if(!Q){console.error(`\u274C Group "${J}" not found in ${B}`),console.error(" Available groups:");let V=X.match(/^### Group [A-Za-z0-9]+:.*$/gm);if(V)for(let U of V)console.error(` ${U}`);process.exit(1)}let Y=await T3($);if(!Y){let V=EW(X);Y=await D$($,V),console.log(`\uD83D\uDCDD Initialized state for wish "${$}" (${V.length} groups)`)}try{await F$($,J,D),console.log(`\u2705 Group "${J}" set to in_progress (assigned to ${D})`)}catch(V){let U=V instanceof Error?V.message:String(V);console.error(`\u274C ${U}`),process.exit(1)}let q=q$(X),G=o8({filePath:B,sectionContent:Q,wishContext:q,command:`work ${F}`,skill:"work"}),H=await n8(G);console.log(`\uD83D\uDD27 Dispatching work to ${D} for "${F}"`),console.log(` Wish: ${B}`),console.log(` Group: ${J}`),await V2(D,{provider:"claude",team:process.env.GENIE_TEAM??"genie",role:`${D}-${J}`,extraArgs:["--append-system-prompt-file",H],initialPrompt:`Execute Group ${J} of wish "${$}". Your full context is in the system prompt. Read the wish at ${B} if needed. Implement all deliverables, run validation, and report completion.`})}async function CW(D,F){let{slug:$,group:J}=S3(F),B=b0(process.cwd(),".genie","wishes",$,"WISH.md");if(!i8(B))console.error(`\u274C Wish not found: ${B}`),process.exit(1);let X=await r8(B,"utf-8"),Q=Y$(X,J);if(!Q)console.error(`\u274C Group "${J}" not found in ${B}`),process.exit(1);let Y=MW(),q=q$(X),G=[Q,"","## Git Diff (changes to review)","",Y?`\`\`\`diff
450
450
  ${Y}
451
451
  \`\`\``:"(no uncommitted changes found \u2014 review committed changes)"].join(`
452
452
  `),H=o8({filePath:B,sectionContent:G,wishContext:q,command:`review ${F}`,skill:"review"}),V=await n8(H);if(console.log(`\uD83D\uDD0D Dispatching review to ${D} for "${F}"`),console.log(` Wish: ${B}`),console.log(` Group: ${J}`),Y)console.log(` Diff: ${Y.split(`
@@ -456,11 +456,11 @@ ${Y}
456
456
  [${F}] USER:`,s8(D.message.content)];if(D.type!=="assistant")return[];if(D.toolCalls&&D.toolCalls.length>0)return[`
457
457
  [${F}] ASSISTANT (tools):`,...D.toolCalls.map(dW)];if(D.message){let $=s8(D.message.content);if($)return[`
458
458
  [${F}] ASSISTANT:`,$.slice(0,500)+($.length>500?"...":"")]}return[]}function iW(D){return D.flatMap(cW).join(`
459
- `)}async function rW(D){let F=await iD(D);if(F)return F;if(F=await G1(D),F)return F;return(await p()).find((B)=>B.id.includes(D)||B.taskId?.includes(D)||B.taskTitle?.toLowerCase().includes(D.toLowerCase()))||null}async function nW(D,F){if(F.logFile)return{logPath:F.logFile,workerId:"direct",duration:"N/A"};let $=await rW(D);if(!$)console.error(`\u274C Agent "${D}" not found.`),console.error(" Run `genie ls` to see agents."),process.exit(1);let J=$.worktree||$.repoPath,B=await U$(J);if(!B)console.error(`\u274C No Claude logs found for agent "${$.id}"`),console.error(` Workspace: ${J}`),process.exit(1);let X=H1($);return{logPath:B.logPath,workerId:$.id,branch:$.worktree?`work/${$.taskId}`:void 0,duration:X.formatted}}function oW(D,F){let $=0;for(let J=D.length-1;J>=0;J--)if(D[J].type==="user"){if($++,$>=F)return D.slice(J)}return D}async function M$(D,F){let{logPath:$,workerId:J,branch:B,duration:X}=await nW(D,F),Q=await W$($);if(Q.length===0)console.error(`\u274C Log file is empty: ${$}`),process.exit(1);let Y=Q.filter((W)=>W.type==="user"||W.type==="assistant"),q=F.since&&F.since>0?oW(Y,F.since):Y;if(F.raw){for(let W of q)console.log(JSON.stringify(W.raw));return}if(F.full){console.log(iW(q));return}let G=hW(q),H=Q.reduce((W,z)=>W+(z.toolCalls?.length||0),0),V=Q.filter((W)=>W.type==="user").length,U={workerId:J,taskId:J,branch:B,duration:X,totalLines:Q.length,compressedLines:G.length,compressionRatio:Q.length/Math.max(G.length,1),exchanges:V,toolCalls:H,status:mW(Q)};if(F.json){console.log(JSON.stringify({stats:U,events:G},null,2));return}console.log(lW(G,U))}import{readFile as IU}from"fs/promises";import{homedir as bU}from"os";import{join as c$}from"path";var K5;async function vU(){if(!K5)K5=await Promise.resolve().then(() => (KD(),zD));return K5}var M5;async function E5(){if(!M5)M5=await Promise.resolve().then(() => (g$(),h$));return M5}var A5;async function i$(){if(!A5)A5=await Promise.resolve().then(() => (L3(),_3));return A5}var R5;async function PU(){if(!R5)R5=await Promise.resolve().then(() => (d$(),p$));return R5}async function B6(D){let F=process.env.GENIE_AGENT_NAME;if(F)return F;let $=process.env.TMUX_PANE;if(!$)return"cli";let J=await vU(),B=typeof J.findByPane==="function"?await J.findByPane($):null;if(B)return B.role??B.id;let X=D??process.env.GENIE_TEAM;if(X){let Q=await kU(X,$);if(Q)return Q}return"cli"}async function kU(D,F){let $=process.env.CLAUDE_CONFIG_DIR??c$(bU(),".claude"),J=D.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase(),B=c$($,"teams",J,"config.json");try{let X=await IU(B,"utf-8");return(JSON.parse(X).members??[]).find((G)=>G.tmuxPaneId===F)?.name??null}catch{return null}}async function wU(D,F,$){if(F==="cli")return null;let B=await(await i$()).listTeams(),X=B.filter((Y)=>Y.members.includes(F));if(F==="team-lead"){let Y=process.env.GENIE_TEAM;if(Y){let q=B.find((G)=>G.name===Y);if(q&&!X.some((G)=>G.name===q.name))X=[...X,q]}}if(X.length===0)return null;for(let Y of X)if(Y.members.includes($)||$==="team-lead")return null;let Q=X.map((Y)=>Y.name).join(", ");return`Scope violation: "${$}" is not in sender's team(s): ${Q}`}async function r$(D,F){let J=await(await i$()).listTeams(),B=J.find((X)=>X.members.includes(F));if(B)return B;if(F==="team-lead"){let X=process.env.GENIE_TEAM;if(X)return J.find((Q)=>Q.name===X)??null}return null}function fU(D,F,$){if(F.length===0){console.log(`No ${$?"unread ":""}messages for "${D}".`);return}console.log(""),console.log(`INBOX: ${D}`),console.log("-".repeat(60));for(let J of F){let B=J.read?"read":"UNREAD",X=J.deliveredAt?"delivered":"pending",Q=new Date(J.createdAt).toLocaleTimeString();console.log(` [${B}] [${X}] ${Q} from=${J.from}`),console.log(` ${J.body}`),console.log("")}}function uU(D,F){if(F.length===0){console.log(`No messages in "${D}" channel.`);return}console.log(""),console.log(`CHAT: ${D}`),console.log("-".repeat(60));for(let $ of F){let J=new Date($.timestamp).toLocaleTimeString();console.log(` [${J}] ${$.sender}: ${$.body}`)}console.log("")}async function xU(D,F,$){if(D)return D;let B=(await r$(F,$))?.name??process.env.GENIE_TEAM;if(!B)console.error("Error: Could not auto-detect team. Use --team <name>."),process.exit(1);return B}function n$(D){D.command("send <body>").description("Send a message to an agent").option("--to <agent>","Recipient agent name (default: team-lead)","team-lead").option("--from <sender>","Sender ID (auto-detected from context)").action(async(F,$)=>{try{let J=await E5(),B=process.cwd(),X=$.from??await B6(),Q=await wU(B,X,$.to);if(Q)console.error(`Error: ${Q}`),process.exit(1);let Y=await J.sendMessage(B,X,$.to,F);if(Y.delivered)console.log(`Message sent to "${Y.workerId}".`),console.log(` ID: ${Y.messageId}`);else console.error(`Failed to send: ${Y.reason}`),process.exit(1)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}),D.command("broadcast <body>").description("Send a message to all members of your team (one-way)").option("--from <sender>","Sender ID (auto-detected from context)").action(async(F,$)=>{try{let J=await E5(),B=process.cwd(),X=$.from??await B6(),Q=await r$(B,X);if(!Q)console.error(`Error: Could not find team for sender "${X}".`),process.exit(1);let Y=Q.members.filter((H)=>H!==X);if(Y.length===0){console.log("No team members to broadcast to.");return}let q=0,G=0;for(let H of Y){let V=await J.sendMessage(B,X,H,F);if(V.delivered)q++;else G++,console.error(` Failed to deliver to "${H}": ${V.reason}`)}console.log(`Broadcast complete: ${q} delivered, ${G} failed (${Y.length} total).`)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}),D.command("inbox [agent]").description("View message inbox for an agent (auto-detected if omitted)").option("--json","Output as JSON").option("--unread","Show only unread messages").action(async(F,$)=>{try{let J=await E5(),B=process.cwd(),X=F??await B6(),Q=await J.getInbox(B,X);if($.unread)Q=Q.filter((Y)=>!Y.read);if($.json){console.log(JSON.stringify(Q,null,2));return}fU(X,Q,$.unread)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}),D.command("chat [args...]").description('Team chat: "genie chat <msg>" to post, "genie chat read" to read history').option("--team <name>","Team name (auto-detected from context)").option("--since <timestamp>","Show messages since timestamp (read mode)").option("--json","Output as JSON").option("--from <sender>","Sender ID (auto-detected from context)").action(async(F,$)=>{try{let J=process.cwd(),B=$.from??await B6(),X=await xU($.team,J,B),Q=await PU();if(F.length===0||F[0]==="read"){let Y=await Q.readMessages(J,X,$.since);if($.json){console.log(JSON.stringify(Y,null,2));return}uU(X,Y)}else{let Y=F.join(" "),q=await Q.postMessage(J,X,B,Y);console.log(`Posted to "${X}" channel.`),console.log(` ID: ${q.id}`)}}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}})}function yU(D){if(process.env.DEBUG)console.error(`[target-resolver] ${D}`)}async function hU(D,F){try{let $=await Promise.resolve().then(() => (FD(),ND)),J=await $.findSessionByName(D);if(!J)return null;let B=await $.listWindows(J.id);if(!B||B.length===0)return null;let X;if(F){if(X=B.find((q)=>q.name===F),!X)return null}else X=B.find((q)=>q.active)||B[0];let Q=await $.listPanes(X.id);if(!Q||Q.length===0)return null;return{paneId:(Q.find((q)=>q.active)||Q[0]).id,session:D}}catch{return null}}async function gU(D){try{return(await(await Promise.resolve().then(() => (FD(),ND))).executeTmux(`display-message -p -t '${D}' '#{pane_id}'`)).trim()===D}catch{return!1}}async function mU(D,F){try{await(await Promise.resolve().then(() => (KD(),zD))).removeSubPane(D,F)}catch{}}async function lU(D){try{return(await(await Promise.resolve().then(() => (FD(),ND))).executeTmux(`display-message -p -t '${D}' '#{session_name}'`)).trim()||null}catch{return null}}async function w3(D,F,$,J){if(!await F(D)){if(J)await J();throw Error($)}}async function pU(D,F){if(F.checkLiveness)await w3(D,F.isPaneLive,`Pane ${D} is dead or does not exist. Check with: tmux list-panes -a`);let $=await F.deriveSession(D);return{paneId:D,session:$??void 0,resolvedVia:"raw"}}async function dU(D,F,$){let J=Object.values(F).find((B)=>B.windowId===D);if(!J)throw Error(`Window "${D}" not found in worker registry.
459
+ `)}async function rW(D){let F=await iD(D);if(F)return F;if(F=await G1(D),F)return F;return(await p()).find((B)=>B.id.includes(D)||B.taskId?.includes(D)||B.taskTitle?.toLowerCase().includes(D.toLowerCase()))||null}async function nW(D,F){if(F.logFile)return{logPath:F.logFile,workerId:"direct",duration:"N/A"};let $=await rW(D);if(!$)console.error(`\u274C Agent "${D}" not found.`),console.error(" Run `genie ls` to see agents."),process.exit(1);let J=$.worktree||$.repoPath,B=await U$(J);if(!B)console.error(`\u274C No Claude logs found for agent "${$.id}"`),console.error(` Workspace: ${J}`),process.exit(1);let X=H1($);return{logPath:B.logPath,workerId:$.id,branch:$.worktree?`work/${$.taskId}`:void 0,duration:X.formatted}}function oW(D,F){let $=0;for(let J=D.length-1;J>=0;J--)if(D[J].type==="user"){if($++,$>=F)return D.slice(J)}return D}async function M$(D,F){let{logPath:$,workerId:J,branch:B,duration:X}=await nW(D,F),Q=await W$($);if(Q.length===0)console.error(`\u274C Log file is empty: ${$}`),process.exit(1);let Y=Q.filter((W)=>W.type==="user"||W.type==="assistant"),q=F.since&&F.since>0?oW(Y,F.since):Y;if(F.raw){for(let W of q)console.log(JSON.stringify(W.raw));return}if(F.full){console.log(iW(q));return}let G=hW(q),H=Q.reduce((W,z)=>W+(z.toolCalls?.length||0),0),V=Q.filter((W)=>W.type==="user").length,U={workerId:J,taskId:J,branch:B,duration:X,totalLines:Q.length,compressedLines:G.length,compressionRatio:Q.length/Math.max(G.length,1),exchanges:V,toolCalls:H,status:mW(Q)};if(F.json){console.log(JSON.stringify({stats:U,events:G},null,2));return}console.log(lW(G,U))}import{readFile as IU}from"fs/promises";import{homedir as bU}from"os";import{join as c$}from"path";var K5;async function vU(){if(!K5)K5=await Promise.resolve().then(() => (KD(),zD));return K5}var M5;async function E5(){if(!M5)M5=await Promise.resolve().then(() => (g$(),h$));return M5}var A5;async function i$(){if(!A5)A5=await Promise.resolve().then(() => (L3(),_3));return A5}var R5;async function PU(){if(!R5)R5=await Promise.resolve().then(() => (d$(),p$));return R5}async function B6(D){let F=process.env.GENIE_AGENT_NAME;if(F)return F;let $=process.env.TMUX_PANE;if(!$)return"cli";let J=await vU(),B=typeof J.findByPane==="function"?await J.findByPane($):null;if(B)return B.role??B.id;let X=D??process.env.GENIE_TEAM;if(X){let Q=await kU(X,$);if(Q)return Q}return"cli"}async function kU(D,F){let $=process.env.CLAUDE_CONFIG_DIR??c$(bU(),".claude"),J=D.replace(/[^a-zA-Z0-9]/g,"-").toLowerCase(),B=c$($,"teams",J,"config.json");try{let X=await IU(B,"utf-8");return(JSON.parse(X).members??[]).find((G)=>G.tmuxPaneId===F)?.name??null}catch{return null}}async function wU(D,F,$){if(F==="cli")return null;let B=await(await i$()).listTeams(),X=B.filter((Y)=>Y.members.includes(F));if(F==="team-lead"){let Y=process.env.GENIE_TEAM;if(Y){let q=B.find((G)=>G.name===Y);if(q&&!X.some((G)=>G.name===q.name))X=[...X,q]}}if(X.length===0)return null;for(let Y of X)if(Y.members.includes($)||$==="team-lead")return null;let Q=X.map((Y)=>Y.name).join(", ");return`Scope violation: "${$}" is not in sender's team(s): ${Q}`}async function r$(D,F){let J=await(await i$()).listTeams(),B=J.find((X)=>X.members.includes(F));if(B)return B;if(F==="team-lead"){let X=process.env.GENIE_TEAM;if(X)return J.find((Q)=>Q.name===X)??null}return null}function fU(D,F,$){if(F.length===0){console.log(`No ${$?"unread ":""}messages for "${D}".`);return}console.log(""),console.log(`INBOX: ${D}`),console.log("-".repeat(60));for(let J of F){let B=J.read?"read":"UNREAD",X=J.deliveredAt?"delivered":"pending",Q=new Date(J.createdAt).toLocaleTimeString();console.log(` [${B}] [${X}] ${Q} from=${J.from}`),console.log(` ${J.body}`),console.log("")}}function uU(D,F){if(F.length===0){console.log(`No messages in "${D}" channel.`);return}console.log(""),console.log(`CHAT: ${D}`),console.log("-".repeat(60));for(let $ of F){let J=new Date($.timestamp).toLocaleTimeString();console.log(` [${J}] ${$.sender}: ${$.body}`)}console.log("")}async function xU(D,F,$){if(D)return D;let B=(await r$(F,$))?.name??process.env.GENIE_TEAM;if(!B)console.error("Error: Could not auto-detect team. Use --team <name>."),process.exit(1);return B}function n$(D){D.command("send <body>").description("Send a message to an agent").option("--to <agent>","Recipient agent name (default: team-lead)","team-lead").option("--from <sender>","Sender ID (auto-detected from context)").action(async(F,$)=>{try{let J=await E5(),B=process.cwd(),X=$.from??await B6(),Q=await wU(B,X,$.to);if(Q)console.error(`Error: ${Q}`),process.exit(1);let Y=await J.sendMessage(B,X,$.to,F);if(Y.delivered)console.log(`Message sent to "${Y.workerId}".`),console.log(` ID: ${Y.messageId}`);else console.error(`Failed to send: ${Y.reason}`),process.exit(1)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}),D.command("broadcast <body>").description("Send a message to all members of your team (one-way)").option("--from <sender>","Sender ID (auto-detected from context)").action(async(F,$)=>{try{let J=await E5(),B=process.cwd(),X=$.from??await B6(),Q=await r$(B,X);if(!Q)console.error(`Error: Could not find team for sender "${X}".`),process.exit(1);let Y=Q.members.filter((H)=>H!==X);if(Y.length===0){console.log("No team members to broadcast to.");return}let q=0,G=0;for(let H of Y){let V=await J.sendMessage(B,X,H,F);if(V.delivered)q++;else G++,console.error(` Failed to deliver to "${H}": ${V.reason}`)}console.log(`Broadcast complete: ${q} delivered, ${G} failed (${Y.length} total).`)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}),D.command("inbox [agent]").description("View message inbox for an agent (auto-detected if omitted)").option("--json","Output as JSON").option("--unread","Show only unread messages").action(async(F,$)=>{try{let J=await E5(),B=process.cwd(),X=F??await B6(),Q=await J.getInbox(B,X);if($.unread)Q=Q.filter((Y)=>!Y.read);if($.json){console.log(JSON.stringify(Q,null,2));return}fU(X,Q,$.unread)}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}}),D.command("chat [args...]").description('Team chat: "genie chat <msg>" to post, "genie chat read" to read history').option("--team <name>","Team name (auto-detected from context)").option("--since <timestamp>","Show messages since timestamp (read mode)").option("--json","Output as JSON").option("--from <sender>","Sender ID (auto-detected from context)").action(async(F,$)=>{try{let J=process.cwd(),B=$.from??await B6(),X=await xU($.team,J,B),Q=await PU();if(F.length===0||F[0]==="read"){let Y=await Q.readMessages(J,X,$.since);if($.json){console.log(JSON.stringify(Y,null,2));return}uU(X,Y)}else{let Y=F.join(" "),q=await Q.postMessage(J,X,B,Y);console.log(`Posted to "${X}" channel.`),console.log(` ID: ${q.id}`)}}catch(J){let B=J instanceof Error?J.message:String(J);console.error(`Error: ${B}`),process.exit(1)}})}function yU(D){if(process.env.DEBUG)console.error(`[target-resolver] ${D}`)}async function hU(D,F){try{let $=await Promise.resolve().then(() => ($D(),ND)),J=await $.findSessionByName(D);if(!J)return null;let B=await $.listWindows(J.id);if(!B||B.length===0)return null;let X;if(F){if(X=B.find((q)=>q.name===F),!X)return null}else X=B.find((q)=>q.active)||B[0];let Q=await $.listPanes(X.id);if(!Q||Q.length===0)return null;return{paneId:(Q.find((q)=>q.active)||Q[0]).id,session:D}}catch{return null}}async function gU(D){try{return(await(await Promise.resolve().then(() => ($D(),ND))).executeTmux(`display-message -p -t '${D}' '#{pane_id}'`)).trim()===D}catch{return!1}}async function mU(D,F){try{await(await Promise.resolve().then(() => (KD(),zD))).removeSubPane(D,F)}catch{}}async function lU(D){try{return(await(await Promise.resolve().then(() => ($D(),ND))).executeTmux(`display-message -p -t '${D}' '#{session_name}'`)).trim()||null}catch{return null}}async function w3(D,F,$,J){if(!await F(D)){if(J)await J();throw Error($)}}async function pU(D,F){if(F.checkLiveness)await w3(D,F.isPaneLive,`Pane ${D} is dead or does not exist. Check with: tmux list-panes -a`);let $=await F.deriveSession(D);return{paneId:D,session:$??void 0,resolvedVia:"raw"}}async function dU(D,F,$){let J=Object.values(F).find((B)=>B.windowId===D);if(!J)throw Error(`Window "${D}" not found in worker registry.
460
460
  Run 'genie ls' to list agents.`);if($.checkLiveness)await w3(J.paneId,$.isPaneLive,`Window ${D}: worker ${J.id} pane ${J.paneId} is dead. Run 'genie kill ${J.id}' to clean up.`);return{paneId:J.paneId,session:J.session,workerId:J.id,resolvedVia:"worker"}}function cU(D,F,$){let J=Number.parseInt($,10);if(Number.isNaN(J)||J<0)throw Error(`Invalid sub-pane index "${$}" for worker "${F}". Use a non-negative integer (0 = primary, 1+ = sub-panes).`);let B=iU(D,J);if(!B){let X=D.subPanes?D.subPanes.length:0;throw Error(`Worker "${F}" has no sub-pane index ${J}. Available: 0 (primary)${X>0?`, 1-${X} (sub-panes)`:""}. Sub-pane index ${J} does not exist.`)}return B}async function X6(D,F={}){let{checkLiveness:$=!1,workers:J,tmuxLookup:B=hU,isPaneLive:X=gU,cleanupDeadPane:Q=mU,deriveSession:Y=lU}=F;if(yU(`resolving "${D}"`),D.startsWith("%"))return pU(D,{checkLiveness:$,isPaneLive:X,deriveSession:Y});if(D.startsWith("@")){let V=await o$(J,F.registryPath);return dU(D,V,{checkLiveness:$,isPaneLive:X})}let q=await o$(J,F.registryPath),G=D.indexOf(":");if(G!==-1){let V=D.substring(0,G),U=D.substring(G+1),W=q[V];if(W){let A=cU(W,V,U),_=Number.parseInt(U,10);if($)await w3(A,X,`Worker ${V}: pane ${A} is dead. Run 'genie kill ${V}' to clean up.`,()=>Q(V,A));return{paneId:A,session:W.session,workerId:V,paneIndex:_,resolvedVia:"worker"}}let z=await B(V,U);if(!z)throw Error(`Target "${D}" not found. No worker "${V}" in registry and no tmux session:window "${V}:${U}" found.
461
461
  Run 'genie ls' to list agents.`);if($)await w3(z.paneId,X,`Session "${V}" window "${U}": pane ${z.paneId} is dead.`);return{paneId:z.paneId,session:z.session,resolvedVia:"session:window"}}let H=q[D];if(H){if($)await w3(H.paneId,X,`Worker ${D}: pane ${H.paneId} is dead. Run 'genie kill ${D}' to clean up.`,()=>Q(D,H.paneId));return{paneId:H.paneId,session:H.session,workerId:D,resolvedVia:"worker"}}throw Error(`Target "${D}" not found. Not a worker or pane ID.
462
- Run 'genie ls' to list agents.`)}function s$(D,F){let $=[];if(D.workerId){if($.push(D.workerId),D.paneIndex!==void 0&&D.paneIndex>0)$[$.length-1]+=`:${D.paneIndex}`}else $.push(F);let J=[`pane ${D.paneId}`];if(D.session)J.push(`session ${D.session}`);return`${$[0]} (${J.join(", ")})`}async function o$(D,F){if(D!==void 0)return D;try{let J=await(await Promise.resolve().then(() => (KD(),zD))).list(),B={};for(let X of J)B[X.id]=X;return B}catch{return{}}}function iU(D,F){if(F===0)return D.paneId;let $=F-1;if(!D.subPanes||$>=D.subPanes.length||$<0)return null;return D.subPanes[$]}FD();U5();async function rU(D){let F=await X6(D);return{paneId:F.paneId,session:F.session||D,label:s$(F,D)}}async function nU(D,F){await f(`send-keys -t '${D}' End`),await f3(100),await f(`send-keys -t '${D}' Enter`),await f3(100),await f(`send-keys -t '${D}' ${aU(F)}`),await f3(100),await f(`send-keys -t '${D}' Enter`)}function oU(D){let F=c2(D).split(`
463
- `);for(let $ of F){let J=$.match(/^\s*\u276F\s*(\d+)\./);if(J)return Number.parseInt(J[1],10)}return 1}async function sU(D,F,$){let J=F-$,B=J>0?"Down":"Up";for(let X=0;X<Math.abs(J);X++)await f(`send-keys -t '${D}' ${B}`),await f3(50);await f3(100),await f(`send-keys -t '${D}' Enter`)}async function a$(D,F){try{let{paneId:$,label:J}=await rU(D),B=await ED($,50),X=J6(B);if(X.type!=="question"){console.log(`No question pending (state: ${X.type})`);return}if(F.startsWith("text:")){let Q=F.slice(5);await nU($,Q),console.log(`Sent feedback: "${Q.substring(0,50)}${Q.length>50?"...":""}"`)}else if(/^\d+$/.test(F)){let Q=Number.parseInt(F,10);await sU($,Q,oU(B)),console.log(`Selected option ${Q} for ${J}`)}else await f(`send-keys -t '${$}' '${F}'`),console.log(`Sent '${F}' to ${J}`)}catch($){let J=$ instanceof Error?$.message:String($);console.error(`Error: ${J}`),process.exit(1)}}function aU(D){return`"${D.replace(/"/g,"\\\"").replace(/\$/g,"\\$")}"`}function f3(D){return new Promise((F)=>setTimeout(F,D))}lD();FD();function eU(D){let F=D.trim();if(F.includes("TMUX_MCP_START")||F.includes("TMUX_MCP_DONE_"))return!0;if(D.includes('echo "TMUX_MCP_START"')||D.includes('echo "TMUX_MCP_DONE_'))return!0;if(D.includes("-bash:")||D.includes("warning: setlocale:")||D.includes("cannot change locale"))return!0;if(F==="or directory")return!0;return!1}function u3(D){let F=D.split(`
462
+ Run 'genie ls' to list agents.`)}function s$(D,F){let $=[];if(D.workerId){if($.push(D.workerId),D.paneIndex!==void 0&&D.paneIndex>0)$[$.length-1]+=`:${D.paneIndex}`}else $.push(F);let J=[`pane ${D.paneId}`];if(D.session)J.push(`session ${D.session}`);return`${$[0]} (${J.join(", ")})`}async function o$(D,F){if(D!==void 0)return D;try{let J=await(await Promise.resolve().then(() => (KD(),zD))).list(),B={};for(let X of J)B[X.id]=X;return B}catch{return{}}}function iU(D,F){if(F===0)return D.paneId;let $=F-1;if(!D.subPanes||$>=D.subPanes.length||$<0)return null;return D.subPanes[$]}$D();U5();async function rU(D){let F=await X6(D);return{paneId:F.paneId,session:F.session||D,label:s$(F,D)}}async function nU(D,F){await f(`send-keys -t '${D}' End`),await f3(100),await f(`send-keys -t '${D}' Enter`),await f3(100),await f(`send-keys -t '${D}' ${aU(F)}`),await f3(100),await f(`send-keys -t '${D}' Enter`)}function oU(D){let F=c2(D).split(`
463
+ `);for(let $ of F){let J=$.match(/^\s*\u276F\s*(\d+)\./);if(J)return Number.parseInt(J[1],10)}return 1}async function sU(D,F,$){let J=F-$,B=J>0?"Down":"Up";for(let X=0;X<Math.abs(J);X++)await f(`send-keys -t '${D}' ${B}`),await f3(50);await f3(100),await f(`send-keys -t '${D}' Enter`)}async function a$(D,F){try{let{paneId:$,label:J}=await rU(D),B=await ED($,50),X=J6(B);if(X.type!=="question"){console.log(`No question pending (state: ${X.type})`);return}if(F.startsWith("text:")){let Q=F.slice(5);await nU($,Q),console.log(`Sent feedback: "${Q.substring(0,50)}${Q.length>50?"...":""}"`)}else if(/^\d+$/.test(F)){let Q=Number.parseInt(F,10);await sU($,Q,oU(B)),console.log(`Selected option ${Q} for ${J}`)}else await f(`send-keys -t '${$}' '${F}'`),console.log(`Sent '${F}' to ${J}`)}catch($){let J=$ instanceof Error?$.message:String($);console.error(`Error: ${J}`),process.exit(1)}}function aU(D){return`"${D.replace(/"/g,"\\\"").replace(/\$/g,"\\$")}"`}function f3(D){return new Promise((F)=>setTimeout(F,D))}lD();$D();function eU(D){let F=D.trim();if(F.includes("TMUX_MCP_START")||F.includes("TMUX_MCP_DONE_"))return!0;if(D.includes('echo "TMUX_MCP_START"')||D.includes('echo "TMUX_MCP_DONE_'))return!0;if(D.includes("-bash:")||D.includes("warning: setlocale:")||D.includes("cannot change locale"))return!0;if(F==="or directory")return!0;return!1}function u3(D){let F=D.split(`
464
464
  `).filter(($)=>!eU($));while(F.length>0&&F[0].trim()==="")F.shift();while(F.length>0&&F[F.length-1].trim()==="")F.pop();return F.join(`
465
465
  `)}async function Dz(D,F){let $=await MD(F.id);if(!$||$.length===0)throw Error(`No windows found in session "${D}"`);let J=$.find((X)=>X.active)||$[0],B=await L0(J.id);if(!B||B.length===0)throw Error(`No panes found in session "${D}"`);return(B.find((X)=>X.active)||B[0]).id}function O5(D,F){return F?D.split(`
466
466
  `).reverse().join(`