dimcode 0.0.4-beta.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/cli.mjs +2 -0
  2. package/dist/cli.mjs +925 -0
  3. package/package.json +58 -0
package/dist/cli.mjs ADDED
@@ -0,0 +1,925 @@
1
+ import{createRequire as hI}from"node:module";var yI=Object.create;var{getPrototypeOf:bI,defineProperty:wY,getOwnPropertyNames:xI}=Object;var gI=Object.prototype.hasOwnProperty;var f4=($,U,_)=>{_=$!=null?yI(bI($)):{};let Q=U||!$||!$.__esModule?wY(_,"default",{value:$,enumerable:!0}):_;for(let J of xI($))if(!gI.call(Q,J))wY(Q,J,{get:()=>$[J],enumerable:!0});return Q};var e=($,U)=>()=>(U||$((U={exports:{}}).exports,U),U.exports);var Z0=($,U)=>{for(var _ in U)wY($,_,{get:U[_],enumerable:!0,configurable:!0,set:(Q)=>U[_]=()=>Q})};var T$=hI(import.meta.url);var oj=e((nj)=>{Object.defineProperty(nj,"__esModule",{value:!0});nj.splitWhen=nj.flatten=void 0;function py($){return $.reduce((U,_)=>[].concat(U,_),[])}nj.flatten=py;function oy($,U){let _=[[]],Q=0;for(let J of $)if(U(J))Q++,_[Q]=[];else _[Q].push(J);return _}nj.splitWhen=oy});var ej=e((aj)=>{Object.defineProperty(aj,"__esModule",{value:!0});aj.isEnoentCodeError=void 0;function ty($){return $.code==="ENOENT"}aj.isEnoentCodeError=ty});var _D=e(($D)=>{Object.defineProperty($D,"__esModule",{value:!0});$D.createDirentFromStats=void 0;class sj{constructor($,U){this.name=$,this.isBlockDevice=U.isBlockDevice.bind(U),this.isCharacterDevice=U.isCharacterDevice.bind(U),this.isDirectory=U.isDirectory.bind(U),this.isFIFO=U.isFIFO.bind(U),this.isFile=U.isFile.bind(U),this.isSocket=U.isSocket.bind(U),this.isSymbolicLink=U.isSymbolicLink.bind(U)}}function ey($,U){return new sj($,U)}$D.createDirentFromStats=ey});var VD=e((YD)=>{Object.defineProperty(YD,"__esModule",{value:!0});YD.convertPosixPathToPattern=YD.convertWindowsPathToPattern=YD.convertPathToPattern=YD.escapePosixPath=YD.escapeWindowsPath=YD.escape=YD.removeLeadingDotSegment=YD.makeAbsolute=YD.unixify=void 0;var sy=T$("os"),$b=T$("path"),JD=sy.platform()==="win32",Ub=2,_b=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,Jb=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,Qb=/^\\\\([.?])/,Gb=/\\(?![!()+@[\]{}])/g;function Yb($){return $.replace(/\\/g,"/")}YD.unixify=Yb;function Xb($,U){return $b.resolve($,U)}YD.makeAbsolute=Xb;function Vb($){if($.charAt(0)==="."){let U=$.charAt(1);if(U==="/"||U==="\\")return $.slice(Ub)}return $}YD.removeLeadingDotSegment=Vb;YD.escape=JD?IX:vX;function IX($){return $.replace(Jb,"\\$2")}YD.escapeWindowsPath=IX;function vX($){return $.replace(_b,"\\$2")}YD.escapePosixPath=vX;YD.convertPathToPattern=JD?QD:GD;function QD($){return IX($).replace(Qb,"//$1").replace(Gb,"/")}YD.convertWindowsPathToPattern=QD;function GD($){return vX($)}YD.convertPosixPathToPattern=GD});var ZD=e((e7$,KD)=>{/*!
2
+ * is-extglob <https://github.com/jonschlinkert/is-extglob>
3
+ *
4
+ * Copyright (c) 2014-2016, Jon Schlinkert.
5
+ * Licensed under the MIT License.
6
+ */KD.exports=function(U){if(typeof U!=="string"||U==="")return!1;var _;while(_=/(\\).|([@?!+*]\(.*\))/g.exec(U)){if(_[2])return!0;U=U.slice(_.index+_[0].length)}return!1}});var FD=e((s7$,ND)=>{/*!
7
+ * is-glob <https://github.com/jonschlinkert/is-glob>
8
+ *
9
+ * Copyright (c) 2014-2017, Jon Schlinkert.
10
+ * Released under the MIT License.
11
+ */var Ob=ZD(),WD={"{":"}","(":")","[":"]"},jb=function($){if($[0]==="!")return!0;var U=0,_=-2,Q=-2,J=-2,G=-2,Y=-2;while(U<$.length){if($[U]==="*")return!0;if($[U+1]==="?"&&/[\].+)]/.test($[U]))return!0;if(Q!==-1&&$[U]==="["&&$[U+1]!=="]"){if(Q<U)Q=$.indexOf("]",U);if(Q>U){if(Y===-1||Y>Q)return!0;if(Y=$.indexOf("\\",U),Y===-1||Y>Q)return!0}}if(J!==-1&&$[U]==="{"&&$[U+1]!=="}"){if(J=$.indexOf("}",U),J>U){if(Y=$.indexOf("\\",U),Y===-1||Y>J)return!0}}if(G!==-1&&$[U]==="("&&$[U+1]==="?"&&/[:!=]/.test($[U+2])&&$[U+3]!==")"){if(G=$.indexOf(")",U),G>U){if(Y=$.indexOf("\\",U),Y===-1||Y>G)return!0}}if(_!==-1&&$[U]==="("&&$[U+1]!=="|"){if(_<U)_=$.indexOf("|",U);if(_!==-1&&$[_+1]!==")"){if(G=$.indexOf(")",_),G>_){if(Y=$.indexOf("\\",_),Y===-1||Y>G)return!0}}}if($[U]==="\\"){var X=$[U+1];U+=2;var V=WD[X];if(V){var K=$.indexOf(V,U);if(K!==-1)U=K+1}if($[U]==="!")return!0}else U++}return!1},Db=function($){if($[0]==="!")return!0;var U=0;while(U<$.length){if(/[*?{}()[\]]/.test($[U]))return!0;if($[U]==="\\"){var _=$[U+1];U+=2;var Q=WD[_];if(Q){var J=$.indexOf(Q,U);if(J!==-1)U=J+1}if($[U]==="!")return!0}else U++}return!1};ND.exports=function(U,_){if(typeof U!=="string"||U==="")return!1;if(Ob(U))return!0;var Q=jb;if(_&&_.strict===!1)Q=Db;return Q(U)}});var BD=e(($Q$,qD)=>{var Eb=FD(),Mb=T$("path").posix.dirname,Pb=T$("os").platform()==="win32",CX="/",fb=/\\/g,Lb=/[\{\[].*[\}\]]$/,Rb=/(^|[^\\])([\{\[]|\([^\)]+$)/,wb=/\\([\!\*\?\|\[\]\(\)\{\}])/g;qD.exports=function(U,_){var Q=Object.assign({flipBackslashes:!0},_);if(Q.flipBackslashes&&Pb&&U.indexOf(CX)<0)U=U.replace(fb,CX);if(Lb.test(U))U+=CX;U+="a";do U=Mb(U);while(Eb(U)||Rb.test(U));return U.replace(wb,"$1")}});var S7=e((zb)=>{zb.isInteger=($)=>{if(typeof $==="number")return Number.isInteger($);if(typeof $==="string"&&$.trim()!=="")return Number.isInteger(Number($));return!1};zb.find=($,U)=>$.nodes.find((_)=>_.type===U);zb.exceedsLimit=($,U,_=1,Q)=>{if(Q===!1)return!1;if(!zb.isInteger($)||!zb.isInteger(U))return!1;return(Number(U)-Number($))/Number(_)>=Q};zb.escapeNode=($,U=0,_)=>{let Q=$.nodes[U];if(!Q)return;if(_&&Q.type===_||Q.type==="open"||Q.type==="close"){if(Q.escaped!==!0)Q.value="\\"+Q.value,Q.escaped=!0}};zb.encloseBrace=($)=>{if($.type!=="brace")return!1;if($.commas>>0+$.ranges>>0===0)return $.invalid=!0,!0;return!1};zb.isInvalidBrace=($)=>{if($.type!=="brace")return!1;if($.invalid===!0||$.dollar)return!0;if($.commas>>0+$.ranges>>0===0)return $.invalid=!0,!0;if($.open!==!0||$.close!==!0)return $.invalid=!0,!0;return!1};zb.isOpenOrClose=($)=>{if($.type==="open"||$.type==="close")return!0;return $.open===!0||$.close===!0};zb.reduce=($)=>$.reduce((U,_)=>{if(_.type==="text")U.push(_.value);if(_.type==="range")_.type="text";return U},[]);zb.flatten=(...$)=>{let U=[],_=(Q)=>{for(let J=0;J<Q.length;J++){let G=Q[J];if(Array.isArray(G)){_(G);continue}if(G!==void 0)U.push(G)}return U};return _($),U}});var I7=e((_Q$,OD)=>{var HD=S7();OD.exports=($,U={})=>{let _=(Q,J={})=>{let G=U.escapeInvalid&&HD.isInvalidBrace(J),Y=Q.invalid===!0&&U.escapeInvalid===!0,X="";if(Q.value){if((G||Y)&&HD.isOpenOrClose(Q))return"\\"+Q.value;return Q.value}if(Q.value)return Q.value;if(Q.nodes)for(let V of Q.nodes)X+=_(V);return X};return _($)}});var DD=e((JQ$,jD)=>{/*!
12
+ * is-number <https://github.com/jonschlinkert/is-number>
13
+ *
14
+ * Copyright (c) 2014-present, Jon Schlinkert.
15
+ * Released under the MIT License.
16
+ */jD.exports=function($){if(typeof $==="number")return $-$===0;if(typeof $==="string"&&$.trim()!=="")return Number.isFinite?Number.isFinite(+$):isFinite(+$);return!1}});var AD=e((QQ$,zD)=>{/*!
17
+ * to-regex-range <https://github.com/micromatch/to-regex-range>
18
+ *
19
+ * Copyright (c) 2015-present, Jon Schlinkert.
20
+ * Released under the MIT License.
21
+ */var ED=DD(),bU=($,U,_)=>{if(ED($)===!1)throw TypeError("toRegexRange: expected the first argument to be a number");if(U===void 0||$===U)return String($);if(ED(U)===!1)throw TypeError("toRegexRange: expected the second argument to be a number.");let Q={relaxZeros:!0,..._};if(typeof Q.strictZeros==="boolean")Q.relaxZeros=Q.strictZeros===!1;let J=String(Q.relaxZeros),G=String(Q.shorthand),Y=String(Q.capture),X=String(Q.wrap),V=$+":"+U+"="+J+G+Y+X;if(bU.cache.hasOwnProperty(V))return bU.cache[V].result;let K=Math.min($,U),Z=Math.max($,U);if(Math.abs(K-Z)===1){let O=$+"|"+U;if(Q.capture)return`(${O})`;if(Q.wrap===!1)return O;return`(?:${O})`}let N=wD($)||wD(U),W={min:$,max:U,a:K,b:Z},B=[],q=[];if(N)W.isPadded=N,W.maxLen=String(W.max).length;if(K<0){let O=Z<0?Math.abs(Z):1;q=MD(O,Math.abs(K),W,Q),K=W.a=0}if(Z>=0)B=MD(K,Z,W,Q);if(W.negatives=q,W.positives=B,W.result=bb(q,B,Q),Q.capture===!0)W.result=`(${W.result})`;else if(Q.wrap!==!1&&B.length+q.length>1)W.result=`(?:${W.result})`;return bU.cache[V]=W,W.result};function bb($,U,_){let Q=bX($,U,"-",!1,_)||[],J=bX(U,$,"",!1,_)||[],G=bX($,U,"-?",!0,_)||[];return Q.concat(G).concat(J).join("|")}function xb($,U){let _=1,Q=1,J=fD($,_),G=new Set([U]);while($<=J&&J<=U)G.add(J),_+=1,J=fD($,_);J=LD(U+1,Q)-1;while($<J&&J<=U)G.add(J),Q+=1,J=LD(U+1,Q)-1;return G=[...G],G.sort(ub),G}function gb($,U,_){if($===U)return{pattern:$,count:[],digits:0};let Q=hb($,U),J=Q.length,G="",Y=0;for(let X=0;X<J;X++){let[V,K]=Q[X];if(V===K)G+=V;else if(V!=="0"||K!=="9")G+=mb(V,K,_);else Y++}if(Y)G+=_.shorthand===!0?"\\d":"[0-9]";return{pattern:G,count:[Y],digits:J}}function MD($,U,_,Q){let J=xb($,U),G=[],Y=$,X;for(let V=0;V<J.length;V++){let K=J[V],Z=gb(String(Y),String(K),Q),N="";if(!_.isPadded&&X&&X.pattern===Z.pattern){if(X.count.length>1)X.count.pop();X.count.push(Z.count[0]),X.string=X.pattern+RD(X.count),Y=K+1;continue}if(_.isPadded)N=cb(K,_,Q);Z.string=N+Z.pattern+RD(Z.count),G.push(Z),Y=K+1,X=Z}return G}function bX($,U,_,Q,J){let G=[];for(let Y of $){let{string:X}=Y;if(!Q&&!PD(U,"string",X))G.push(_+X);if(Q&&PD(U,"string",X))G.push(_+X)}return G}function hb($,U){let _=[];for(let Q=0;Q<$.length;Q++)_.push([$[Q],U[Q]]);return _}function ub($,U){return $>U?1:U>$?-1:0}function PD($,U,_){return $.some((Q)=>Q[U]===_)}function fD($,U){return Number(String($).slice(0,-U)+"9".repeat(U))}function LD($,U){return $-$%Math.pow(10,U)}function RD($){let[U=0,_=""]=$;if(_||U>1)return`{${U+(_?","+_:"")}}`;return""}function mb($,U,_){return`[${$}${U-$===1?"":"-"}${U}]`}function wD($){return/^-?(0+)\d/.test($)}function cb($,U,_){if(!U.isPadded)return $;let Q=Math.abs(U.maxLen-String($).length),J=_.relaxZeros!==!1;switch(Q){case 0:return"";case 1:return J?"0?":"0";case 2:return J?"0{0,2}":"00";default:return J?`0{0,${Q}}`:`0{${Q}}`}}bU.cache={};bU.clearCache=()=>bU.cache={};zD.exports=bU});var hX=e((GQ$,yD)=>{/*!
22
+ * fill-range <https://github.com/jonschlinkert/fill-range>
23
+ *
24
+ * Copyright (c) 2014-present, Jon Schlinkert.
25
+ * Licensed under the MIT License.
26
+ */var db=T$("util"),TD=AD(),kD=($)=>$!==null&&typeof $==="object"&&!Array.isArray($),lb=($)=>{return(U)=>$===!0?Number(U):String(U)},xX=($)=>{return typeof $==="number"||typeof $==="string"&&$!==""},q9=($)=>Number.isInteger(+$),gX=($)=>{let U=`${$}`,_=-1;if(U[0]==="-")U=U.slice(1);if(U==="0")return!1;while(U[++_]==="0");return _>0},ib=($,U,_)=>{if(typeof $==="string"||typeof U==="string")return!0;return _.stringify===!0},rb=($,U,_)=>{if(U>0){let Q=$[0]==="-"?"-":"";if(Q)$=$.slice(1);$=Q+$.padStart(Q?U-1:U,"0")}if(_===!1)return String($);return $},C7=($,U)=>{let _=$[0]==="-"?"-":"";if(_)$=$.slice(1),U--;while($.length<U)$="0"+$;return _?"-"+$:$},nb=($,U,_)=>{$.negatives.sort((X,V)=>X<V?-1:X>V?1:0),$.positives.sort((X,V)=>X<V?-1:X>V?1:0);let Q=U.capture?"":"?:",J="",G="",Y;if($.positives.length)J=$.positives.map((X)=>C7(String(X),_)).join("|");if($.negatives.length)G=`-(${Q}${$.negatives.map((X)=>C7(String(X),_)).join("|")})`;if(J&&G)Y=`${J}|${G}`;else Y=J||G;if(U.wrap)return`(${Q}${Y})`;return Y},SD=($,U,_,Q)=>{if(_)return TD($,U,{wrap:!1,...Q});let J=String.fromCharCode($);if($===U)return J;let G=String.fromCharCode(U);return`[${J}-${G}]`},ID=($,U,_)=>{if(Array.isArray($)){let Q=_.wrap===!0,J=_.capture?"":"?:";return Q?`(${J}${$.join("|")})`:$.join("|")}return TD($,U,_)},vD=(...$)=>{return RangeError("Invalid range arguments: "+db.inspect(...$))},CD=($,U,_)=>{if(_.strictRanges===!0)throw vD([$,U]);return[]},pb=($,U)=>{if(U.strictRanges===!0)throw TypeError(`Expected step "${$}" to be a number`);return[]},ob=($,U,_=1,Q={})=>{let J=Number($),G=Number(U);if(!Number.isInteger(J)||!Number.isInteger(G)){if(Q.strictRanges===!0)throw vD([$,U]);return[]}if(J===0)J=0;if(G===0)G=0;let Y=J>G,X=String($),V=String(U),K=String(_);_=Math.max(Math.abs(_),1);let Z=gX(X)||gX(V)||gX(K),N=Z?Math.max(X.length,V.length,K.length):0,W=Z===!1&&ib($,U,Q)===!1,B=Q.transform||lb(W);if(Q.toRegex&&_===1)return SD(C7($,N),C7(U,N),!0,Q);let q={negatives:[],positives:[]},O=(H)=>q[H<0?"negatives":"positives"].push(Math.abs(H)),M=[],P=0;while(Y?J>=G:J<=G){if(Q.toRegex===!0&&_>1)O(J);else M.push(rb(B(J,P),N,W));J=Y?J-_:J+_,P++}if(Q.toRegex===!0)return _>1?nb(q,Q,N):ID(M,null,{wrap:!1,...Q});return M},ab=($,U,_=1,Q={})=>{if(!q9($)&&$.length>1||!q9(U)&&U.length>1)return CD($,U,Q);let J=Q.transform||((W)=>String.fromCharCode(W)),G=`${$}`.charCodeAt(0),Y=`${U}`.charCodeAt(0),X=G>Y,V=Math.min(G,Y),K=Math.max(G,Y);if(Q.toRegex&&_===1)return SD(V,K,!1,Q);let Z=[],N=0;while(X?G>=Y:G<=Y)Z.push(J(G,N)),G=X?G-_:G+_,N++;if(Q.toRegex===!0)return ID(Z,null,{wrap:!1,options:Q});return Z},v7=($,U,_,Q={})=>{if(U==null&&xX($))return[$];if(!xX($)||!xX(U))return CD($,U,Q);if(typeof _==="function")return v7($,U,1,{transform:_});if(kD(_))return v7($,U,0,_);let J={...Q};if(J.capture===!0)J.wrap=!0;if(_=_||J.step||1,!q9(_)){if(_!=null&&!kD(_))return pb(_,J);return v7($,U,1,_)}if(q9($)&&q9(U))return ob($,U,_,J);return ab($,U,Math.max(Math.abs(_),1),J)};yD.exports=v7});var gD=e((YQ$,xD)=>{var tb=hX(),bD=S7(),eb=($,U={})=>{let _=(Q,J={})=>{let G=bD.isInvalidBrace(J),Y=Q.invalid===!0&&U.escapeInvalid===!0,X=G===!0||Y===!0,V=U.escapeInvalid===!0?"\\":"",K="";if(Q.isOpen===!0)return V+Q.value;if(Q.isClose===!0)return console.log("node.isClose",V,Q.value),V+Q.value;if(Q.type==="open")return X?V+Q.value:"(";if(Q.type==="close")return X?V+Q.value:")";if(Q.type==="comma")return Q.prev.type==="comma"?"":X?Q.value:"|";if(Q.value)return Q.value;if(Q.nodes&&Q.ranges>0){let Z=bD.reduce(Q.nodes),N=tb(...Z,{...U,wrap:!1,toRegex:!0,strictZeros:!0});if(N.length!==0)return Z.length>1&&N.length>1?`(${N})`:N}if(Q.nodes)for(let Z of Q.nodes)K+=_(Z,Q);return K};return _($)};xD.exports=eb});var mD=e((XQ$,uD)=>{var sb=hX(),hD=I7(),d_=S7(),xU=($="",U="",_=!1)=>{let Q=[];if($=[].concat($),U=[].concat(U),!U.length)return $;if(!$.length)return _?d_.flatten(U).map((J)=>`{${J}}`):U;for(let J of $)if(Array.isArray(J))for(let G of J)Q.push(xU(G,U,_));else for(let G of U){if(_===!0&&typeof G==="string")G=`{${G}}`;Q.push(Array.isArray(G)?xU(J,G,_):J+G)}return d_.flatten(Q)},$x=($,U={})=>{let _=U.rangeLimit===void 0?1000:U.rangeLimit,Q=(J,G={})=>{J.queue=[];let Y=G,X=G.queue;while(Y.type!=="brace"&&Y.type!=="root"&&Y.parent)Y=Y.parent,X=Y.queue;if(J.invalid||J.dollar){X.push(xU(X.pop(),hD(J,U)));return}if(J.type==="brace"&&J.invalid!==!0&&J.nodes.length===2){X.push(xU(X.pop(),["{}"]));return}if(J.nodes&&J.ranges>0){let N=d_.reduce(J.nodes);if(d_.exceedsLimit(...N,U.step,_))throw RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let W=sb(...N,U);if(W.length===0)W=hD(J,U);X.push(xU(X.pop(),W)),J.nodes=[];return}let V=d_.encloseBrace(J),K=J.queue,Z=J;while(Z.type!=="brace"&&Z.type!=="root"&&Z.parent)Z=Z.parent,K=Z.queue;for(let N=0;N<J.nodes.length;N++){let W=J.nodes[N];if(W.type==="comma"&&J.type==="brace"){if(N===1)K.push("");K.push("");continue}if(W.type==="close"){X.push(xU(X.pop(),K,V));continue}if(W.value&&W.type!=="open"){K.push(xU(K.pop(),W.value));continue}if(W.nodes)Q(W,J)}return K};return d_.flatten(Q($))};uD.exports=$x});var dD=e((VQ$,cD)=>{cD.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
27
+ `,CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var pD=e((KQ$,nD)=>{var Ux=I7(),{MAX_LENGTH:lD,CHAR_BACKSLASH:uX,CHAR_BACKTICK:_x,CHAR_COMMA:Jx,CHAR_DOT:Qx,CHAR_LEFT_PARENTHESES:Gx,CHAR_RIGHT_PARENTHESES:Yx,CHAR_LEFT_CURLY_BRACE:Xx,CHAR_RIGHT_CURLY_BRACE:Vx,CHAR_LEFT_SQUARE_BRACKET:iD,CHAR_RIGHT_SQUARE_BRACKET:rD,CHAR_DOUBLE_QUOTE:Kx,CHAR_SINGLE_QUOTE:Zx,CHAR_NO_BREAK_SPACE:Wx,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Nx}=dD(),Fx=($,U={})=>{if(typeof $!=="string")throw TypeError("Expected a string");let _=U||{},Q=typeof _.maxLength==="number"?Math.min(lD,_.maxLength):lD;if($.length>Q)throw SyntaxError(`Input length (${$.length}), exceeds max characters (${Q})`);let J={type:"root",input:$,nodes:[]},G=[J],Y=J,X=J,V=0,K=$.length,Z=0,N=0,W,B=()=>$[Z++],q=(O)=>{if(O.type==="text"&&X.type==="dot")X.type="text";if(X&&X.type==="text"&&O.type==="text"){X.value+=O.value;return}return Y.nodes.push(O),O.parent=Y,O.prev=X,X=O,O};q({type:"bos"});while(Z<K){if(Y=G[G.length-1],W=B(),W===Nx||W===Wx)continue;if(W===uX){q({type:"text",value:(U.keepEscaping?W:"")+B()});continue}if(W===rD){q({type:"text",value:"\\"+W});continue}if(W===iD){V++;let O;while(Z<K&&(O=B())){if(W+=O,O===iD){V++;continue}if(O===uX){W+=B();continue}if(O===rD){if(V--,V===0)break}}q({type:"text",value:W});continue}if(W===Gx){Y=q({type:"paren",nodes:[]}),G.push(Y),q({type:"text",value:W});continue}if(W===Yx){if(Y.type!=="paren"){q({type:"text",value:W});continue}Y=G.pop(),q({type:"text",value:W}),Y=G[G.length-1];continue}if(W===Kx||W===Zx||W===_x){let O=W,M;if(U.keepQuotes!==!0)W="";while(Z<K&&(M=B())){if(M===uX){W+=M+B();continue}if(M===O){if(U.keepQuotes===!0)W+=M;break}W+=M}q({type:"text",value:W});continue}if(W===Xx){N++;let M={type:"brace",open:!0,close:!1,dollar:X.value&&X.value.slice(-1)==="$"||Y.dollar===!0,depth:N,commas:0,ranges:0,nodes:[]};Y=q(M),G.push(Y),q({type:"open",value:W});continue}if(W===Vx){if(Y.type!=="brace"){q({type:"text",value:W});continue}let O="close";Y=G.pop(),Y.close=!0,q({type:O,value:W}),N--,Y=G[G.length-1];continue}if(W===Jx&&N>0){if(Y.ranges>0){Y.ranges=0;let O=Y.nodes.shift();Y.nodes=[O,{type:"text",value:Ux(Y)}]}q({type:"comma",value:W}),Y.commas++;continue}if(W===Qx&&N>0&&Y.commas===0){let O=Y.nodes;if(N===0||O.length===0){q({type:"text",value:W});continue}if(X.type==="dot"){if(Y.range=[],X.value+=W,X.type="range",Y.nodes.length!==3&&Y.nodes.length!==5){Y.invalid=!0,Y.ranges=0,X.type="text";continue}Y.ranges++,Y.args=[];continue}if(X.type==="range"){O.pop();let M=O[O.length-1];M.value+=X.value+W,X=M,Y.ranges--;continue}q({type:"dot",value:W});continue}q({type:"text",value:W})}do if(Y=G.pop(),Y.type!=="root"){Y.nodes.forEach((P)=>{if(!P.nodes){if(P.type==="open")P.isOpen=!0;if(P.type==="close")P.isClose=!0;if(!P.nodes)P.type="text";P.invalid=!0}});let O=G[G.length-1],M=O.nodes.indexOf(Y);O.nodes.splice(M,1,...Y.nodes)}while(G.length>0);return q({type:"eos"}),J};nD.exports=Fx});var tD=e((ZQ$,aD)=>{var oD=I7(),qx=gD(),Bx=mD(),Hx=pD(),A1=($,U={})=>{let _=[];if(Array.isArray($))for(let Q of $){let J=A1.create(Q,U);if(Array.isArray(J))_.push(...J);else _.push(J)}else _=[].concat(A1.create($,U));if(U&&U.expand===!0&&U.nodupes===!0)_=[...new Set(_)];return _};A1.parse=($,U={})=>Hx($,U);A1.stringify=($,U={})=>{if(typeof $==="string")return oD(A1.parse($,U),U);return oD($,U)};A1.compile=($,U={})=>{if(typeof $==="string")$=A1.parse($,U);return qx($,U)};A1.expand=($,U={})=>{if(typeof $==="string")$=A1.parse($,U);let _=Bx($,U);if(U.noempty===!0)_=_.filter(Boolean);if(U.nodupes===!0)_=[...new Set(_)];return _};A1.create=($,U={})=>{if($===""||$.length<3)return[$];return U.expand!==!0?A1.compile($,U):A1.expand($,U)};aD.exports=A1});var B9=e((WQ$,sD)=>{var Ox=T$("path"),eD={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},jx={...eD,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"},Dx={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};sD.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:Dx,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Ox.sep,extglobChars($){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${$.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars($){return $===!0?jx:eD}}});var H9=e((wx)=>{var Ex=T$("path"),Mx=process.platform==="win32",{REGEX_BACKSLASH:Px,REGEX_REMOVE_BACKSLASH:fx,REGEX_SPECIAL_CHARS:Lx,REGEX_SPECIAL_CHARS_GLOBAL:Rx}=B9();wx.isObject=($)=>$!==null&&typeof $==="object"&&!Array.isArray($);wx.hasRegexChars=($)=>Lx.test($);wx.isRegexChar=($)=>$.length===1&&wx.hasRegexChars($);wx.escapeRegex=($)=>$.replace(Rx,"\\$1");wx.toPosixSlashes=($)=>$.replace(Px,"/");wx.removeBackslashes=($)=>{return $.replace(fx,(U)=>{return U==="\\"?"":U})};wx.supportsLookbehinds=()=>{let $=process.version.slice(1).split(".").map(Number);if($.length===3&&$[0]>=9||$[0]===8&&$[1]>=10)return!0;return!1};wx.isWindows=($)=>{if($&&typeof $.windows==="boolean")return $.windows;return Mx===!0||Ex.sep==="\\"};wx.escapeLast=($,U,_)=>{let Q=$.lastIndexOf(U,_);if(Q===-1)return $;if($[Q-1]==="\\")return wx.escapeLast($,U,Q-1);return`${$.slice(0,Q)}\\${$.slice(Q)}`};wx.removePrefix=($,U={})=>{let _=$;if(_.startsWith("./"))_=_.slice(2),U.prefix="./";return _};wx.wrapOutput=($,U={},_={})=>{let Q=_.contains?"":"^",J=_.contains?"":"$",G=`${Q}(?:${$})${J}`;if(U.negated===!0)G=`(?:^(?!${G}).*$)`;return G}});var KE=e((FQ$,VE)=>{var _E=H9(),{CHAR_ASTERISK:mX,CHAR_AT:bx,CHAR_BACKWARD_SLASH:O9,CHAR_COMMA:xx,CHAR_DOT:cX,CHAR_EXCLAMATION_MARK:dX,CHAR_FORWARD_SLASH:XE,CHAR_LEFT_CURLY_BRACE:lX,CHAR_LEFT_PARENTHESES:iX,CHAR_LEFT_SQUARE_BRACKET:gx,CHAR_PLUS:hx,CHAR_QUESTION_MARK:JE,CHAR_RIGHT_CURLY_BRACE:ux,CHAR_RIGHT_PARENTHESES:QE,CHAR_RIGHT_SQUARE_BRACKET:mx}=B9(),GE=($)=>{return $===XE||$===O9},YE=($)=>{if($.isPrefix!==!0)$.depth=$.isGlobstar?1/0:1},cx=($,U)=>{let _=U||{},Q=$.length-1,J=_.parts===!0||_.scanToEnd===!0,G=[],Y=[],X=[],V=$,K=-1,Z=0,N=0,W=!1,B=!1,q=!1,O=!1,M=!1,P=!1,H=!1,z=!1,A=!1,E=!1,D=0,f,j,T={value:"",depth:0,isGlob:!1},L=()=>K>=Q,k=()=>V.charCodeAt(K+1),R=()=>{return f=j,V.charCodeAt(++K)};while(K<Q){j=R();let b;if(j===O9){if(H=T.backslashes=!0,j=R(),j===lX)P=!0;continue}if(P===!0||j===lX){D++;while(L()!==!0&&(j=R())){if(j===O9){H=T.backslashes=!0,R();continue}if(j===lX){D++;continue}if(P!==!0&&j===cX&&(j=R())===cX){if(W=T.isBrace=!0,q=T.isGlob=!0,E=!0,J===!0)continue;break}if(P!==!0&&j===xx){if(W=T.isBrace=!0,q=T.isGlob=!0,E=!0,J===!0)continue;break}if(j===ux){if(D--,D===0){P=!1,W=T.isBrace=!0,E=!0;break}}}if(J===!0)continue;break}if(j===XE){if(G.push(K),Y.push(T),T={value:"",depth:0,isGlob:!1},E===!0)continue;if(f===cX&&K===Z+1){Z+=2;continue}N=K+1;continue}if(_.noext!==!0){if((j===hx||j===bx||j===mX||j===JE||j===dX)===!0&&k()===iX){if(q=T.isGlob=!0,O=T.isExtglob=!0,E=!0,j===dX&&K===Z)A=!0;if(J===!0){while(L()!==!0&&(j=R())){if(j===O9){H=T.backslashes=!0,j=R();continue}if(j===QE){q=T.isGlob=!0,E=!0;break}}continue}break}}if(j===mX){if(f===mX)M=T.isGlobstar=!0;if(q=T.isGlob=!0,E=!0,J===!0)continue;break}if(j===JE){if(q=T.isGlob=!0,E=!0,J===!0)continue;break}if(j===gx){while(L()!==!0&&(b=R())){if(b===O9){H=T.backslashes=!0,R();continue}if(b===mx){B=T.isBracket=!0,q=T.isGlob=!0,E=!0;break}}if(J===!0)continue;break}if(_.nonegate!==!0&&j===dX&&K===Z){z=T.negated=!0,Z++;continue}if(_.noparen!==!0&&j===iX){if(q=T.isGlob=!0,J===!0){while(L()!==!0&&(j=R())){if(j===iX){H=T.backslashes=!0,j=R();continue}if(j===QE){E=!0;break}}continue}break}if(q===!0){if(E=!0,J===!0)continue;break}}if(_.noext===!0)O=!1,q=!1;let S=V,I="",w="";if(Z>0)I=V.slice(0,Z),V=V.slice(Z),N-=Z;if(S&&q===!0&&N>0)S=V.slice(0,N),w=V.slice(N);else if(q===!0)S="",w=V;else S=V;if(S&&S!==""&&S!=="/"&&S!==V){if(GE(S.charCodeAt(S.length-1)))S=S.slice(0,-1)}if(_.unescape===!0){if(w)w=_E.removeBackslashes(w);if(S&&H===!0)S=_E.removeBackslashes(S)}let C={prefix:I,input:$,start:Z,base:S,glob:w,isBrace:W,isBracket:B,isGlob:q,isExtglob:O,isGlobstar:M,negated:z,negatedExtglob:A};if(_.tokens===!0){if(C.maxDepth=0,!GE(j))Y.push(T);C.tokens=Y}if(_.parts===!0||_.tokens===!0){let b;for(let y=0;y<G.length;y++){let x=b?b+1:Z,l=G[y],t=$.slice(x,l);if(_.tokens){if(y===0&&Z!==0)Y[y].isPrefix=!0,Y[y].value=I;else Y[y].value=t;YE(Y[y]),C.maxDepth+=Y[y].depth}if(y!==0||t!=="")X.push(t);b=l}if(b&&b+1<$.length){let y=$.slice(b+1);if(X.push(y),_.tokens)Y[Y.length-1].value=y,YE(Y[Y.length-1]),C.maxDepth+=Y[Y.length-1].depth}C.slashes=G,C.parts=X}return C};VE.exports=cx});var NE=e((qQ$,WE)=>{var y7=B9(),k1=H9(),{MAX_LENGTH:b7,POSIX_REGEX_SOURCE:dx,REGEX_NON_SPECIAL_CHARS:lx,REGEX_SPECIAL_CHARS_BACKREF:ix,REPLACEMENTS:ZE}=y7,rx=($,U)=>{if(typeof U.expandRange==="function")return U.expandRange(...$,U);$.sort();let _=`[${$.join("-")}]`;try{new RegExp(_)}catch(Q){return $.map((J)=>k1.escapeRegex(J)).join("..")}return _},l_=($,U)=>{return`Missing ${$}: "${U}" - use "\\\\${U}" to match literal characters`},rX=($,U)=>{if(typeof $!=="string")throw TypeError("Expected a string");$=ZE[$]||$;let _={...U},Q=typeof _.maxLength==="number"?Math.min(b7,_.maxLength):b7,J=$.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);let G={type:"bos",value:"",output:_.prepend||""},Y=[G],X=_.capture?"":"?:",V=k1.isWindows(U),K=y7.globChars(V),Z=y7.extglobChars(K),{DOT_LITERAL:N,PLUS_LITERAL:W,SLASH_LITERAL:B,ONE_CHAR:q,DOTS_SLASH:O,NO_DOT:M,NO_DOT_SLASH:P,NO_DOTS_SLASH:H,QMARK:z,QMARK_NO_DOT:A,STAR:E,START_ANCHOR:D}=K,f=(i)=>{return`(${X}(?:(?!${D}${i.dot?O:N}).)*?)`},j=_.dot?"":M,T=_.dot?z:A,L=_.bash===!0?f(_):E;if(_.capture)L=`(${L})`;if(typeof _.noext==="boolean")_.noextglob=_.noext;let k={input:$,index:-1,start:0,dot:_.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:Y};$=k1.removePrefix($,k),J=$.length;let R=[],S=[],I=[],w=G,C,b=()=>k.index===J-1,y=k.peek=(i=1)=>$[k.index+i],x=k.advance=()=>$[++k.index]||"",l=()=>$.slice(k.index+1),t=(i="",n=0)=>{k.consumed+=i,k.index+=n},V$=(i)=>{k.output+=i.output!=null?i.output:i.value,t(i.value)},u$=()=>{let i=1;while(y()==="!"&&(y(2)!=="("||y(3)==="?"))x(),k.start++,i++;if(i%2===0)return!1;return k.negated=!0,k.start++,!0},O$=(i)=>{k[i]++,I.push(i)},q$=(i)=>{k[i]--,I.pop()},m=(i)=>{if(w.type==="globstar"){let n=k.braces>0&&(i.type==="comma"||i.type==="brace"),h=i.extglob===!0||R.length&&(i.type==="pipe"||i.type==="paren");if(i.type!=="slash"&&i.type!=="paren"&&!n&&!h)k.output=k.output.slice(0,-w.output.length),w.type="star",w.value="*",w.output=L,k.output+=w.output}if(R.length&&i.type!=="paren")R[R.length-1].inner+=i.value;if(i.value||i.output)V$(i);if(w&&w.type==="text"&&i.type==="text"){w.value+=i.value,w.output=(w.output||"")+i.value;return}i.prev=w,Y.push(i),w=i},a=(i,n)=>{let h={...Z[n],conditions:1,inner:""};h.prev=w,h.parens=k.parens,h.output=k.output;let _$=(_.capture?"(":"")+h.open;O$("parens"),m({type:i,value:n,output:k.output?"":q}),m({type:"paren",extglob:!0,value:x(),output:_$}),R.push(h)},d=(i)=>{let n=i.close+(_.capture?")":""),h;if(i.type==="negate"){let _$=L;if(i.inner&&i.inner.length>1&&i.inner.includes("/"))_$=f(_);if(_$!==L||b()||/^\)+$/.test(l()))n=i.close=`)$))${_$}`;if(i.inner.includes("*")&&(h=l())&&/^\.[^\\/.]+$/.test(h)){let H$=rX(h,{...U,fastpaths:!1}).output;n=i.close=`)${H$})${_$})`}if(i.prev.type==="bos")k.negatedExtglob=!0}m({type:"paren",extglob:!0,value:C,output:n}),q$("parens")};if(_.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test($)){let i=!1,n=$.replace(ix,(h,_$,H$,D$,j$,r$)=>{if(D$==="\\")return i=!0,h;if(D$==="?"){if(_$)return _$+D$+(j$?z.repeat(j$.length):"");if(r$===0)return T+(j$?z.repeat(j$.length):"");return z.repeat(H$.length)}if(D$===".")return N.repeat(H$.length);if(D$==="*"){if(_$)return _$+D$+(j$?L:"");return L}return _$?h:`\\${h}`});if(i===!0)if(_.unescape===!0)n=n.replace(/\\/g,"");else n=n.replace(/\\+/g,(h)=>{return h.length%2===0?"\\\\":h?"\\":""});if(n===$&&_.contains===!0)return k.output=$,k;return k.output=k1.wrapOutput(n,k,U),k}while(!b()){if(C=x(),C==="\x00")continue;if(C==="\\"){let h=y();if(h==="/"&&_.bash!==!0)continue;if(h==="."||h===";")continue;if(!h){C+="\\",m({type:"text",value:C});continue}let _$=/^\\+/.exec(l()),H$=0;if(_$&&_$[0].length>2){if(H$=_$[0].length,k.index+=H$,H$%2!==0)C+="\\"}if(_.unescape===!0)C=x();else C+=x();if(k.brackets===0){m({type:"text",value:C});continue}}if(k.brackets>0&&(C!=="]"||w.value==="["||w.value==="[^")){if(_.posix!==!1&&C===":"){let h=w.value.slice(1);if(h.includes("[")){if(w.posix=!0,h.includes(":")){let _$=w.value.lastIndexOf("["),H$=w.value.slice(0,_$),D$=w.value.slice(_$+2),j$=dx[D$];if(j$){if(w.value=H$+j$,k.backtrack=!0,x(),!G.output&&Y.indexOf(w)===1)G.output=q;continue}}}}if(C==="["&&y()!==":"||C==="-"&&y()==="]")C=`\\${C}`;if(C==="]"&&(w.value==="["||w.value==="[^"))C=`\\${C}`;if(_.posix===!0&&C==="!"&&w.value==="[")C="^";w.value+=C,V$({value:C});continue}if(k.quotes===1&&C!=='"'){C=k1.escapeRegex(C),w.value+=C,V$({value:C});continue}if(C==='"'){if(k.quotes=k.quotes===1?0:1,_.keepQuotes===!0)m({type:"text",value:C});continue}if(C==="("){O$("parens"),m({type:"paren",value:C});continue}if(C===")"){if(k.parens===0&&_.strictBrackets===!0)throw SyntaxError(l_("opening","("));let h=R[R.length-1];if(h&&k.parens===h.parens+1){d(R.pop());continue}m({type:"paren",value:C,output:k.parens?")":"\\)"}),q$("parens");continue}if(C==="["){if(_.nobracket===!0||!l().includes("]")){if(_.nobracket!==!0&&_.strictBrackets===!0)throw SyntaxError(l_("closing","]"));C=`\\${C}`}else O$("brackets");m({type:"bracket",value:C});continue}if(C==="]"){if(_.nobracket===!0||w&&w.type==="bracket"&&w.value.length===1){m({type:"text",value:C,output:`\\${C}`});continue}if(k.brackets===0){if(_.strictBrackets===!0)throw SyntaxError(l_("opening","["));m({type:"text",value:C,output:`\\${C}`});continue}q$("brackets");let h=w.value.slice(1);if(w.posix!==!0&&h[0]==="^"&&!h.includes("/"))C=`/${C}`;if(w.value+=C,V$({value:C}),_.literalBrackets===!1||k1.hasRegexChars(h))continue;let _$=k1.escapeRegex(w.value);if(k.output=k.output.slice(0,-w.value.length),_.literalBrackets===!0){k.output+=_$,w.value=_$;continue}w.value=`(${X}${_$}|${w.value})`,k.output+=w.value;continue}if(C==="{"&&_.nobrace!==!0){O$("braces");let h={type:"brace",value:C,output:"(",outputIndex:k.output.length,tokensIndex:k.tokens.length};S.push(h),m(h);continue}if(C==="}"){let h=S[S.length-1];if(_.nobrace===!0||!h){m({type:"text",value:C,output:C});continue}let _$=")";if(h.dots===!0){let H$=Y.slice(),D$=[];for(let j$=H$.length-1;j$>=0;j$--){if(Y.pop(),H$[j$].type==="brace")break;if(H$[j$].type!=="dots")D$.unshift(H$[j$].value)}_$=rx(D$,_),k.backtrack=!0}if(h.comma!==!0&&h.dots!==!0){let H$=k.output.slice(0,h.outputIndex),D$=k.tokens.slice(h.tokensIndex);h.value=h.output="\\{",C=_$="\\}",k.output=H$;for(let j$ of D$)k.output+=j$.output||j$.value}m({type:"brace",value:C,output:_$}),q$("braces"),S.pop();continue}if(C==="|"){if(R.length>0)R[R.length-1].conditions++;m({type:"text",value:C});continue}if(C===","){let h=C,_$=S[S.length-1];if(_$&&I[I.length-1]==="braces")_$.comma=!0,h="|";m({type:"comma",value:C,output:h});continue}if(C==="/"){if(w.type==="dot"&&k.index===k.start+1){k.start=k.index+1,k.consumed="",k.output="",Y.pop(),w=G;continue}m({type:"slash",value:C,output:B});continue}if(C==="."){if(k.braces>0&&w.type==="dot"){if(w.value===".")w.output=N;let h=S[S.length-1];w.type="dots",w.output+=C,w.value+=C,h.dots=!0;continue}if(k.braces+k.parens===0&&w.type!=="bos"&&w.type!=="slash"){m({type:"text",value:C,output:N});continue}m({type:"dot",value:C,output:N});continue}if(C==="?"){if(!(w&&w.value==="(")&&_.noextglob!==!0&&y()==="("&&y(2)!=="?"){a("qmark",C);continue}if(w&&w.type==="paren"){let _$=y(),H$=C;if(_$==="<"&&!k1.supportsLookbehinds())throw Error("Node.js v10 or higher is required for regex lookbehinds");if(w.value==="("&&!/[!=<:]/.test(_$)||_$==="<"&&!/<([!=]|\w+>)/.test(l()))H$=`\\${C}`;m({type:"text",value:C,output:H$});continue}if(_.dot!==!0&&(w.type==="slash"||w.type==="bos")){m({type:"qmark",value:C,output:A});continue}m({type:"qmark",value:C,output:z});continue}if(C==="!"){if(_.noextglob!==!0&&y()==="("){if(y(2)!=="?"||!/[!=<:]/.test(y(3))){a("negate",C);continue}}if(_.nonegate!==!0&&k.index===0){u$();continue}}if(C==="+"){if(_.noextglob!==!0&&y()==="("&&y(2)!=="?"){a("plus",C);continue}if(w&&w.value==="("||_.regex===!1){m({type:"plus",value:C,output:W});continue}if(w&&(w.type==="bracket"||w.type==="paren"||w.type==="brace")||k.parens>0){m({type:"plus",value:C});continue}m({type:"plus",value:W});continue}if(C==="@"){if(_.noextglob!==!0&&y()==="("&&y(2)!=="?"){m({type:"at",extglob:!0,value:C,output:""});continue}m({type:"text",value:C});continue}if(C!=="*"){if(C==="$"||C==="^")C=`\\${C}`;let h=lx.exec(l());if(h)C+=h[0],k.index+=h[0].length;m({type:"text",value:C});continue}if(w&&(w.type==="globstar"||w.star===!0)){w.type="star",w.star=!0,w.value+=C,w.output=L,k.backtrack=!0,k.globstar=!0,t(C);continue}let i=l();if(_.noextglob!==!0&&/^\([^?]/.test(i)){a("star",C);continue}if(w.type==="star"){if(_.noglobstar===!0){t(C);continue}let h=w.prev,_$=h.prev,H$=h.type==="slash"||h.type==="bos",D$=_$&&(_$.type==="star"||_$.type==="globstar");if(_.bash===!0&&(!H$||i[0]&&i[0]!=="/")){m({type:"star",value:C,output:""});continue}let j$=k.braces>0&&(h.type==="comma"||h.type==="brace"),r$=R.length&&(h.type==="pipe"||h.type==="paren");if(!H$&&h.type!=="paren"&&!j$&&!r$){m({type:"star",value:C,output:""});continue}while(i.slice(0,3)==="/**"){let Z4=$[k.index+4];if(Z4&&Z4!=="/")break;i=i.slice(3),t("/**",3)}if(h.type==="bos"&&b()){w.type="globstar",w.value+=C,w.output=f(_),k.output=w.output,k.globstar=!0,t(C);continue}if(h.type==="slash"&&h.prev.type!=="bos"&&!D$&&b()){k.output=k.output.slice(0,-(h.output+w.output).length),h.output=`(?:${h.output}`,w.type="globstar",w.output=f(_)+(_.strictSlashes?")":"|$)"),w.value+=C,k.globstar=!0,k.output+=h.output+w.output,t(C);continue}if(h.type==="slash"&&h.prev.type!=="bos"&&i[0]==="/"){let Z4=i[1]!==void 0?"|$":"";k.output=k.output.slice(0,-(h.output+w.output).length),h.output=`(?:${h.output}`,w.type="globstar",w.output=`${f(_)}${B}|${B}${Z4})`,w.value+=C,k.output+=h.output+w.output,k.globstar=!0,t(C+x()),m({type:"slash",value:"/",output:""});continue}if(h.type==="bos"&&i[0]==="/"){w.type="globstar",w.value+=C,w.output=`(?:^|${B}|${f(_)}${B})`,k.output=w.output,k.globstar=!0,t(C+x()),m({type:"slash",value:"/",output:""});continue}k.output=k.output.slice(0,-w.output.length),w.type="globstar",w.output=f(_),w.value+=C,k.output+=w.output,k.globstar=!0,t(C);continue}let n={type:"star",value:C,output:L};if(_.bash===!0){if(n.output=".*?",w.type==="bos"||w.type==="slash")n.output=j+n.output;m(n);continue}if(w&&(w.type==="bracket"||w.type==="paren")&&_.regex===!0){n.output=C,m(n);continue}if(k.index===k.start||w.type==="slash"||w.type==="dot"){if(w.type==="dot")k.output+=P,w.output+=P;else if(_.dot===!0)k.output+=H,w.output+=H;else k.output+=j,w.output+=j;if(y()!=="*")k.output+=q,w.output+=q}m(n)}while(k.brackets>0){if(_.strictBrackets===!0)throw SyntaxError(l_("closing","]"));k.output=k1.escapeLast(k.output,"["),q$("brackets")}while(k.parens>0){if(_.strictBrackets===!0)throw SyntaxError(l_("closing",")"));k.output=k1.escapeLast(k.output,"("),q$("parens")}while(k.braces>0){if(_.strictBrackets===!0)throw SyntaxError(l_("closing","}"));k.output=k1.escapeLast(k.output,"{"),q$("braces")}if(_.strictSlashes!==!0&&(w.type==="star"||w.type==="bracket"))m({type:"maybe_slash",value:"",output:`${B}?`});if(k.backtrack===!0){k.output="";for(let i of k.tokens)if(k.output+=i.output!=null?i.output:i.value,i.suffix)k.output+=i.suffix}return k};rX.fastpaths=($,U)=>{let _={...U},Q=typeof _.maxLength==="number"?Math.min(b7,_.maxLength):b7,J=$.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);$=ZE[$]||$;let G=k1.isWindows(U),{DOT_LITERAL:Y,SLASH_LITERAL:X,ONE_CHAR:V,DOTS_SLASH:K,NO_DOT:Z,NO_DOTS:N,NO_DOTS_SLASH:W,STAR:B,START_ANCHOR:q}=y7.globChars(G),O=_.dot?N:Z,M=_.dot?W:Z,P=_.capture?"":"?:",H={negated:!1,prefix:""},z=_.bash===!0?".*?":B;if(_.capture)z=`(${z})`;let A=(j)=>{if(j.noglobstar===!0)return z;return`(${P}(?:(?!${q}${j.dot?K:Y}).)*?)`},E=(j)=>{switch(j){case"*":return`${O}${V}${z}`;case".*":return`${Y}${V}${z}`;case"*.*":return`${O}${z}${Y}${V}${z}`;case"*/*":return`${O}${z}${X}${V}${M}${z}`;case"**":return O+A(_);case"**/*":return`(?:${O}${A(_)}${X})?${M}${V}${z}`;case"**/*.*":return`(?:${O}${A(_)}${X})?${M}${z}${Y}${V}${z}`;case"**/.*":return`(?:${O}${A(_)}${X})?${Y}${V}${z}`;default:{let T=/^(.*?)\.(\w+)$/.exec(j);if(!T)return;let L=E(T[1]);if(!L)return;return L+Y+T[2]}}},D=k1.removePrefix($,H),f=E(D);if(f&&_.strictSlashes!==!0)f+=`${X}?`;return f};WE.exports=rX});var qE=e((BQ$,FE)=>{var nx=T$("path"),px=KE(),nX=NE(),pX=H9(),ox=B9(),ax=($)=>$&&typeof $==="object"&&!Array.isArray($),Z6=($,U,_=!1)=>{if(Array.isArray($)){let Z=$.map((W)=>Z6(W,U,_));return(W)=>{for(let B of Z){let q=B(W);if(q)return q}return!1}}let Q=ax($)&&$.tokens&&$.input;if($===""||typeof $!=="string"&&!Q)throw TypeError("Expected pattern to be a non-empty string");let J=U||{},G=pX.isWindows(U),Y=Q?Z6.compileRe($,U):Z6.makeRe($,U,!1,!0),X=Y.state;delete Y.state;let V=()=>!1;if(J.ignore){let Z={...U,ignore:null,onMatch:null,onResult:null};V=Z6(J.ignore,Z,_)}let K=(Z,N=!1)=>{let{isMatch:W,match:B,output:q}=Z6.test(Z,Y,U,{glob:$,posix:G}),O={glob:$,state:X,regex:Y,posix:G,input:Z,output:q,match:B,isMatch:W};if(typeof J.onResult==="function")J.onResult(O);if(W===!1)return O.isMatch=!1,N?O:!1;if(V(Z)){if(typeof J.onIgnore==="function")J.onIgnore(O);return O.isMatch=!1,N?O:!1}if(typeof J.onMatch==="function")J.onMatch(O);return N?O:!0};if(_)K.state=X;return K};Z6.test=($,U,_,{glob:Q,posix:J}={})=>{if(typeof $!=="string")throw TypeError("Expected input to be a string");if($==="")return{isMatch:!1,output:""};let G=_||{},Y=G.format||(J?pX.toPosixSlashes:null),X=$===Q,V=X&&Y?Y($):$;if(X===!1)V=Y?Y($):$,X=V===Q;if(X===!1||G.capture===!0)if(G.matchBase===!0||G.basename===!0)X=Z6.matchBase($,U,_,J);else X=U.exec(V);return{isMatch:Boolean(X),match:X,output:V}};Z6.matchBase=($,U,_,Q=pX.isWindows(_))=>{return(U instanceof RegExp?U:Z6.makeRe(U,_)).test(nx.basename($))};Z6.isMatch=($,U,_)=>Z6(U,_)($);Z6.parse=($,U)=>{if(Array.isArray($))return $.map((_)=>Z6.parse(_,U));return nX($,{...U,fastpaths:!1})};Z6.scan=($,U)=>px($,U);Z6.compileRe=($,U,_=!1,Q=!1)=>{if(_===!0)return $.output;let J=U||{},G=J.contains?"":"^",Y=J.contains?"":"$",X=`${G}(?:${$.output})${Y}`;if($&&$.negated===!0)X=`^(?!${X}).*$`;let V=Z6.toRegex(X,U);if(Q===!0)V.state=$;return V};Z6.makeRe=($,U={},_=!1,Q=!1)=>{if(!$||typeof $!=="string")throw TypeError("Expected a non-empty string");let J={negated:!1,fastpaths:!0};if(U.fastpaths!==!1&&($[0]==="."||$[0]==="*"))J.output=nX.fastpaths($,U);if(!J.output)J=nX($,U);return Z6.compileRe(J,U,_,Q)};Z6.toRegex=($,U)=>{try{let _=U||{};return new RegExp($,_.flags||(_.nocase?"i":""))}catch(_){if(U&&U.debug===!0)throw _;return/$^/}};Z6.constants=ox;FE.exports=Z6});var EE=e((HQ$,DE)=>{var HE=T$("util"),OE=tD(),D0=qE(),oX=H9(),BE=($)=>$===""||$==="./",jE=($)=>{let U=$.indexOf("{");return U>-1&&$.indexOf("}",U)>-1},a4=($,U,_)=>{U=[].concat(U),$=[].concat($);let Q=new Set,J=new Set,G=new Set,Y=0,X=(Z)=>{if(G.add(Z.output),_&&_.onResult)_.onResult(Z)};for(let Z=0;Z<U.length;Z++){let N=D0(String(U[Z]),{..._,onResult:X},!0),W=N.state.negated||N.state.negatedExtglob;if(W)Y++;for(let B of $){let q=N(B,!0);if(!(W?!q.isMatch:q.isMatch))continue;if(W)Q.add(q.output);else Q.delete(q.output),J.add(q.output)}}let K=(Y===U.length?[...G]:[...J]).filter((Z)=>!Q.has(Z));if(_&&K.length===0){if(_.failglob===!0)throw Error(`No matches found for "${U.join(", ")}"`);if(_.nonull===!0||_.nullglob===!0)return _.unescape?U.map((Z)=>Z.replace(/\\/g,"")):U}return K};a4.match=a4;a4.matcher=($,U)=>D0($,U);a4.isMatch=($,U,_)=>D0(U,_)($);a4.any=a4.isMatch;a4.not=($,U,_={})=>{U=[].concat(U).map(String);let Q=new Set,J=[],Y=new Set(a4($,U,{..._,onResult:(X)=>{if(_.onResult)_.onResult(X);J.push(X.output)}}));for(let X of J)if(!Y.has(X))Q.add(X);return[...Q]};a4.contains=($,U,_)=>{if(typeof $!=="string")throw TypeError(`Expected a string: "${HE.inspect($)}"`);if(Array.isArray(U))return U.some((Q)=>a4.contains($,Q,_));if(typeof U==="string"){if(BE($)||BE(U))return!1;if($.includes(U)||$.startsWith("./")&&$.slice(2).includes(U))return!0}return a4.isMatch($,U,{..._,contains:!0})};a4.matchKeys=($,U,_)=>{if(!oX.isObject($))throw TypeError("Expected the first argument to be an object");let Q=a4(Object.keys($),U,_),J={};for(let G of Q)J[G]=$[G];return J};a4.some=($,U,_)=>{let Q=[].concat($);for(let J of[].concat(U)){let G=D0(String(J),_);if(Q.some((Y)=>G(Y)))return!0}return!1};a4.every=($,U,_)=>{let Q=[].concat($);for(let J of[].concat(U)){let G=D0(String(J),_);if(!Q.every((Y)=>G(Y)))return!1}return!0};a4.all=($,U,_)=>{if(typeof $!=="string")throw TypeError(`Expected a string: "${HE.inspect($)}"`);return[].concat(U).every((Q)=>D0(Q,_)($))};a4.capture=($,U,_)=>{let Q=oX.isWindows(_),G=D0.makeRe(String($),{..._,capture:!0}).exec(Q?oX.toPosixSlashes(U):U);if(G)return G.slice(1).map((Y)=>Y===void 0?"":Y)};a4.makeRe=(...$)=>D0.makeRe(...$);a4.scan=(...$)=>D0.scan(...$);a4.parse=($,U)=>{let _=[];for(let Q of[].concat($||[]))for(let J of OE(String(Q),U))_.push(D0.parse(J,U));return _};a4.braces=($,U)=>{if(typeof $!=="string")throw TypeError("Expected a string");if(U&&U.nobrace===!0||!jE($))return[$];return OE($,U)};a4.braceExpand=($,U)=>{if(typeof $!=="string")throw TypeError("Expected a string");return a4.braces($,{...U,expand:!0})};a4.hasBraces=jE;DE.exports=a4});var IE=e((TE)=>{Object.defineProperty(TE,"__esModule",{value:!0});TE.isAbsolute=TE.partitionAbsoluteAndRelative=TE.removeDuplicateSlashes=TE.matchAny=TE.convertPatternsToRe=TE.makeRe=TE.getPatternParts=TE.expandBraceExpansion=TE.expandPatternsWithBraceExpansion=TE.isAffectDepthOfReadingPattern=TE.endsWithSlashGlobStar=TE.hasGlobStar=TE.getBaseDirectory=TE.isPatternRelatedToParentDirectory=TE.getPatternsOutsideCurrentDirectory=TE.getPatternsInsideCurrentDirectory=TE.getPositivePatterns=TE.getNegativePatterns=TE.isPositivePattern=TE.isNegativePattern=TE.convertToNegativePattern=TE.convertToPositivePattern=TE.isDynamicPattern=TE.isStaticPattern=void 0;var ME=T$("path"),tx=BD(),aX=EE(),PE="**",ex="\\",sx=/[*?]|^!/,$g=/\[[^[]*]/,Ug=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,_g=/[!*+?@]\([^(]*\)/,Jg=/,|\.\./,Qg=/(?!^)\/{2,}/g;function fE($,U={}){return!LE($,U)}TE.isStaticPattern=fE;function LE($,U={}){if($==="")return!1;if(U.caseSensitiveMatch===!1||$.includes(ex))return!0;if(sx.test($)||$g.test($)||Ug.test($))return!0;if(U.extglob!==!1&&_g.test($))return!0;if(U.braceExpansion!==!1&&Gg($))return!0;return!1}TE.isDynamicPattern=LE;function Gg($){let U=$.indexOf("{");if(U===-1)return!1;let _=$.indexOf("}",U+1);if(_===-1)return!1;let Q=$.slice(U,_);return Jg.test(Q)}function Yg($){return x7($)?$.slice(1):$}TE.convertToPositivePattern=Yg;function Xg($){return"!"+$}TE.convertToNegativePattern=Xg;function x7($){return $.startsWith("!")&&$[1]!=="("}TE.isNegativePattern=x7;function RE($){return!x7($)}TE.isPositivePattern=RE;function Vg($){return $.filter(x7)}TE.getNegativePatterns=Vg;function Kg($){return $.filter(RE)}TE.getPositivePatterns=Kg;function Zg($){return $.filter((U)=>!tX(U))}TE.getPatternsInsideCurrentDirectory=Zg;function Wg($){return $.filter(tX)}TE.getPatternsOutsideCurrentDirectory=Wg;function tX($){return $.startsWith("..")||$.startsWith("./..")}TE.isPatternRelatedToParentDirectory=tX;function Ng($){return tx($,{flipBackslashes:!1})}TE.getBaseDirectory=Ng;function Fg($){return $.includes(PE)}TE.hasGlobStar=Fg;function wE($){return $.endsWith("/"+PE)}TE.endsWithSlashGlobStar=wE;function qg($){let U=ME.basename($);return wE($)||fE(U)}TE.isAffectDepthOfReadingPattern=qg;function Bg($){return $.reduce((U,_)=>{return U.concat(zE(_))},[])}TE.expandPatternsWithBraceExpansion=Bg;function zE($){let U=aX.braces($,{expand:!0,nodupes:!0,keepEscaping:!0});return U.sort((_,Q)=>_.length-Q.length),U.filter((_)=>_!=="")}TE.expandBraceExpansion=zE;function Hg($,U){let{parts:_}=aX.scan($,Object.assign(Object.assign({},U),{parts:!0}));if(_.length===0)_=[$];if(_[0].startsWith("/"))_[0]=_[0].slice(1),_.unshift("");return _}TE.getPatternParts=Hg;function AE($,U){return aX.makeRe($,U)}TE.makeRe=AE;function Og($,U){return $.map((_)=>AE(_,U))}TE.convertPatternsToRe=Og;function jg($,U){return U.some((_)=>_.test($))}TE.matchAny=jg;function Dg($){return $.replace(Qg,"/")}TE.removeDuplicateSlashes=Dg;function Eg($){let U=[],_=[];for(let Q of $)if(kE(Q))U.push(Q);else _.push(Q);return[U,_]}TE.partitionAbsoluteAndRelative=Eg;function kE($){return ME.isAbsolute($)}TE.isAbsolute=kE});var bE=e((jQ$,yE)=>{var lg=T$("stream"),vE=lg.PassThrough,ig=Array.prototype.slice;yE.exports=rg;function rg(){let $=[],U=ig.call(arguments),_=!1,Q=U[U.length-1];if(Q&&!Array.isArray(Q)&&Q.pipe==null)U.pop();else Q={};let J=Q.end!==!1,G=Q.pipeError===!0;if(Q.objectMode==null)Q.objectMode=!0;if(Q.highWaterMark==null)Q.highWaterMark=65536;let Y=vE(Q);function X(){for(let Z=0,N=arguments.length;Z<N;Z++)$.push(CE(arguments[Z],Q));return V(),this}function V(){if(_)return;_=!0;let Z=$.shift();if(!Z){process.nextTick(K);return}if(!Array.isArray(Z))Z=[Z];let N=Z.length+1;function W(){if(--N>0)return;_=!1,V()}function B(q){function O(){if(q.removeListener("merge2UnpipeEnd",O),q.removeListener("end",O),G)q.removeListener("error",M);W()}function M(P){Y.emit("error",P)}if(q._readableState.endEmitted)return W();if(q.on("merge2UnpipeEnd",O),q.on("end",O),G)q.on("error",M);q.pipe(Y,{end:!1}),q.resume()}for(let q=0;q<Z.length;q++)B(Z[q]);W()}function K(){if(_=!1,Y.emit("queueDrain"),J)Y.end()}if(Y.setMaxListeners(0),Y.add=X,Y.on("unpipe",function(Z){Z.emit("merge2UnpipeEnd")}),U.length)X.apply(null,U);return Y}function CE($,U){if(!Array.isArray($)){if(!$._readableState&&$.pipe)$=$.pipe(vE(U));if(!$._readableState||!$.pause||!$.pipe)throw Error("Only readable stream can be merged.");$.pause()}else for(let _=0,Q=$.length;_<Q;_++)$[_]=CE($[_],U);return $}});var uE=e((gE)=>{Object.defineProperty(gE,"__esModule",{value:!0});gE.merge=void 0;var ng=bE();function pg($){let U=ng($);return $.forEach((_)=>{_.once("error",(Q)=>U.emit("error",Q))}),U.once("close",()=>xE($)),U.once("end",()=>xE($)),U}gE.merge=pg;function xE($){$.forEach((U)=>U.emit("close"))}});var dE=e((mE)=>{Object.defineProperty(mE,"__esModule",{value:!0});mE.isEmpty=mE.isString=void 0;function og($){return typeof $==="string"}mE.isString=og;function ag($){return $===""}mE.isEmpty=ag});var o0=e((lE)=>{Object.defineProperty(lE,"__esModule",{value:!0});lE.string=lE.stream=lE.pattern=lE.path=lE.fs=lE.errno=lE.array=void 0;var eg=oj();lE.array=eg;var sg=ej();lE.errno=sg;var $h=_D();lE.fs=$h;var Uh=VD();lE.path=Uh;var _h=IE();lE.pattern=_h;var Jh=uE();lE.stream=Jh;var Qh=dE();lE.string=Qh});var tE=e((oE)=>{Object.defineProperty(oE,"__esModule",{value:!0});oE.convertPatternGroupToTask=oE.convertPatternGroupsToTasks=oE.groupPatternsByBaseDirectory=oE.getNegativePatternsAsPositive=oE.getPositivePatterns=oE.convertPatternsToTasks=oE.generate=void 0;var s1=o0();function Wh($,U){let _=rE($,U),Q=rE(U.ignore,U),J=nE(_),G=pE(_,Q),Y=J.filter((Z)=>s1.pattern.isStaticPattern(Z,U)),X=J.filter((Z)=>s1.pattern.isDynamicPattern(Z,U)),V=eX(Y,G,!1),K=eX(X,G,!0);return V.concat(K)}oE.generate=Wh;function rE($,U){let _=$;if(U.braceExpansion)_=s1.pattern.expandPatternsWithBraceExpansion(_);if(U.baseNameMatch)_=_.map((Q)=>Q.includes("/")?Q:`**/${Q}`);return _.map((Q)=>s1.pattern.removeDuplicateSlashes(Q))}function eX($,U,_){let Q=[],J=s1.pattern.getPatternsOutsideCurrentDirectory($),G=s1.pattern.getPatternsInsideCurrentDirectory($),Y=sX(J),X=sX(G);if(Q.push(...$V(Y,U,_)),"."in X)Q.push(UV(".",G,U,_));else Q.push(...$V(X,U,_));return Q}oE.convertPatternsToTasks=eX;function nE($){return s1.pattern.getPositivePatterns($)}oE.getPositivePatterns=nE;function pE($,U){return s1.pattern.getNegativePatterns($).concat(U).map(s1.pattern.convertToPositivePattern)}oE.getNegativePatternsAsPositive=pE;function sX($){let U={};return $.reduce((_,Q)=>{let J=s1.pattern.getBaseDirectory(Q);if(J in _)_[J].push(Q);else _[J]=[Q];return _},U)}oE.groupPatternsByBaseDirectory=sX;function $V($,U,_){return Object.keys($).map((Q)=>{return UV(Q,$[Q],U,_)})}oE.convertPatternGroupsToTasks=$V;function UV($,U,_,Q){return{dynamic:Q,positive:U,negative:_,base:$,patterns:[].concat(U,_.map(s1.pattern.convertToNegativePattern))}}oE.convertPatternGroupToTask=UV});var UM=e((sE)=>{Object.defineProperty(sE,"__esModule",{value:!0});sE.read=void 0;function jh($,U,_){U.fs.lstat($,(Q,J)=>{if(Q!==null){eE(_,Q);return}if(!J.isSymbolicLink()||!U.followSymbolicLink){_V(_,J);return}U.fs.stat($,(G,Y)=>{if(G!==null){if(U.throwErrorOnBrokenSymbolicLink){eE(_,G);return}_V(_,J);return}if(U.markSymbolicLink)Y.isSymbolicLink=()=>!0;_V(_,Y)})})}sE.read=jh;function eE($,U){$(U)}function _V($,U){$(null,U)}});var QM=e((_M)=>{Object.defineProperty(_M,"__esModule",{value:!0});_M.read=void 0;function Dh($,U){let _=U.fs.lstatSync($);if(!_.isSymbolicLink()||!U.followSymbolicLink)return _;try{let Q=U.fs.statSync($);if(U.markSymbolicLink)Q.isSymbolicLink=()=>!0;return Q}catch(Q){if(!U.throwErrorOnBrokenSymbolicLink)return _;throw Q}}_M.read=Dh});var XM=e((GM)=>{Object.defineProperty(GM,"__esModule",{value:!0});GM.createFileSystemAdapter=GM.FILE_SYSTEM_ADAPTER=void 0;var g7=T$("fs");GM.FILE_SYSTEM_ADAPTER={lstat:g7.lstat,stat:g7.stat,lstatSync:g7.lstatSync,statSync:g7.statSync};function Eh($){if($===void 0)return GM.FILE_SYSTEM_ADAPTER;return Object.assign(Object.assign({},GM.FILE_SYSTEM_ADAPTER),$)}GM.createFileSystemAdapter=Eh});var ZM=e((KM)=>{Object.defineProperty(KM,"__esModule",{value:!0});var Mh=XM();class VM{constructor($={}){this._options=$,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Mh.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue($,U){return $!==null&&$!==void 0?$:U}}KM.default=VM});var gU=e((NM)=>{Object.defineProperty(NM,"__esModule",{value:!0});NM.statSync=NM.stat=NM.Settings=void 0;var WM=UM(),fh=QM(),QV=ZM();NM.Settings=QV.default;function Lh($,U,_){if(typeof U==="function"){WM.read($,GV(),U);return}WM.read($,GV(U),_)}NM.stat=Lh;function Rh($,U){let _=GV(U);return fh.read($,_)}NM.statSync=Rh;function GV($={}){if($ instanceof QV.default)return $;return new QV.default($)}});var HM=e((AQ$,BM)=>{/*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var qM;BM.exports=typeof queueMicrotask==="function"?queueMicrotask.bind(typeof window<"u"?window:global):($)=>(qM||(qM=Promise.resolve())).then($).catch((U)=>setTimeout(()=>{throw U},0))});var jM=e((kQ$,OM)=>{/*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */OM.exports=kh;var Ah=HM();function kh($,U){let _,Q,J,G=!0;if(Array.isArray($))_=[],Q=$.length;else J=Object.keys($),_={},Q=J.length;function Y(V){function K(){if(U)U(V,_);U=null}if(G)Ah(K);else K()}function X(V,K,Z){if(_[V]=Z,--Q===0||K)Y(K)}if(!Q)Y(null);else if(J)J.forEach(function(V){$[V](function(K,Z){X(V,K,Z)})});else $.forEach(function(V,K){V(function(Z,N){X(K,Z,N)})});G=!1}});var YV=e((MM)=>{Object.defineProperty(MM,"__esModule",{value:!0});MM.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var h7=process.versions.node.split(".");if(h7[0]===void 0||h7[1]===void 0)throw Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var DM=Number.parseInt(h7[0],10),Th=Number.parseInt(h7[1],10),EM=10,Sh=10,Ih=DM>EM,vh=DM===EM&&Th>=Sh;MM.IS_SUPPORT_READDIR_WITH_FILE_TYPES=Ih||vh});var wM=e((LM)=>{Object.defineProperty(LM,"__esModule",{value:!0});LM.createDirentFromStats=void 0;class fM{constructor($,U){this.name=$,this.isBlockDevice=U.isBlockDevice.bind(U),this.isCharacterDevice=U.isCharacterDevice.bind(U),this.isDirectory=U.isDirectory.bind(U),this.isFIFO=U.isFIFO.bind(U),this.isFile=U.isFile.bind(U),this.isSocket=U.isSocket.bind(U),this.isSymbolicLink=U.isSymbolicLink.bind(U)}}function Ch($,U){return new fM($,U)}LM.createDirentFromStats=Ch});var XV=e((zM)=>{Object.defineProperty(zM,"__esModule",{value:!0});zM.fs=void 0;var yh=wM();zM.fs=yh});var VV=e((kM)=>{Object.defineProperty(kM,"__esModule",{value:!0});kM.joinPathSegments=void 0;function bh($,U,_){if($.endsWith(_))return $+U;return $+_+U}kM.joinPathSegments=bh});var gM=e((bM)=>{Object.defineProperty(bM,"__esModule",{value:!0});bM.readdir=bM.readdirWithFileTypes=bM.read=void 0;var xh=gU(),SM=jM(),gh=YV(),IM=XV(),vM=VV();function hh($,U,_){if(!U.stats&&gh.IS_SUPPORT_READDIR_WITH_FILE_TYPES){CM($,U,_);return}yM($,U,_)}bM.read=hh;function CM($,U,_){U.fs.readdir($,{withFileTypes:!0},(Q,J)=>{if(Q!==null){u7(_,Q);return}let G=J.map((X)=>({dirent:X,name:X.name,path:vM.joinPathSegments($,X.name,U.pathSegmentSeparator)}));if(!U.followSymbolicLinks){KV(_,G);return}let Y=G.map((X)=>uh(X,U));SM(Y,(X,V)=>{if(X!==null){u7(_,X);return}KV(_,V)})})}bM.readdirWithFileTypes=CM;function uh($,U){return(_)=>{if(!$.dirent.isSymbolicLink()){_(null,$);return}U.fs.stat($.path,(Q,J)=>{if(Q!==null){if(U.throwErrorOnBrokenSymbolicLink){_(Q);return}_(null,$);return}$.dirent=IM.fs.createDirentFromStats($.name,J),_(null,$)})}}function yM($,U,_){U.fs.readdir($,(Q,J)=>{if(Q!==null){u7(_,Q);return}let G=J.map((Y)=>{let X=vM.joinPathSegments($,Y,U.pathSegmentSeparator);return(V)=>{xh.stat(X,U.fsStatSettings,(K,Z)=>{if(K!==null){V(K);return}let N={name:Y,path:X,dirent:IM.fs.createDirentFromStats(Y,Z)};if(U.stats)N.stats=Z;V(null,N)})}});SM(G,(Y,X)=>{if(Y!==null){u7(_,Y);return}KV(_,X)})})}bM.readdir=yM;function u7($,U){$(U)}function KV($,U){$(null,U)}});var iM=e((dM)=>{Object.defineProperty(dM,"__esModule",{value:!0});dM.readdir=dM.readdirWithFileTypes=dM.read=void 0;var dh=gU(),lh=YV(),hM=XV(),uM=VV();function ih($,U){if(!U.stats&&lh.IS_SUPPORT_READDIR_WITH_FILE_TYPES)return mM($,U);return cM($,U)}dM.read=ih;function mM($,U){return U.fs.readdirSync($,{withFileTypes:!0}).map((Q)=>{let J={dirent:Q,name:Q.name,path:uM.joinPathSegments($,Q.name,U.pathSegmentSeparator)};if(J.dirent.isSymbolicLink()&&U.followSymbolicLinks)try{let G=U.fs.statSync(J.path);J.dirent=hM.fs.createDirentFromStats(J.name,G)}catch(G){if(U.throwErrorOnBrokenSymbolicLink)throw G}return J})}dM.readdirWithFileTypes=mM;function cM($,U){return U.fs.readdirSync($).map((Q)=>{let J=uM.joinPathSegments($,Q,U.pathSegmentSeparator),G=dh.statSync(J,U.fsStatSettings),Y={name:Q,path:J,dirent:hM.fs.createDirentFromStats(Q,G)};if(U.stats)Y.stats=G;return Y})}dM.readdir=cM});var pM=e((rM)=>{Object.defineProperty(rM,"__esModule",{value:!0});rM.createFileSystemAdapter=rM.FILE_SYSTEM_ADAPTER=void 0;var i_=T$("fs");rM.FILE_SYSTEM_ADAPTER={lstat:i_.lstat,stat:i_.stat,lstatSync:i_.lstatSync,statSync:i_.statSync,readdir:i_.readdir,readdirSync:i_.readdirSync};function ph($){if($===void 0)return rM.FILE_SYSTEM_ADAPTER;return Object.assign(Object.assign({},rM.FILE_SYSTEM_ADAPTER),$)}rM.createFileSystemAdapter=ph});var tM=e((aM)=>{Object.defineProperty(aM,"__esModule",{value:!0});var oh=T$("path"),ah=gU(),th=pM();class oM{constructor($={}){this._options=$,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=th.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,oh.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new ah.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue($,U){return $!==null&&$!==void 0?$:U}}aM.default=oM});var m7=e((sM)=>{Object.defineProperty(sM,"__esModule",{value:!0});sM.Settings=sM.scandirSync=sM.scandir=void 0;var eM=gM(),sh=iM(),WV=tM();sM.Settings=WV.default;function $u($,U,_){if(typeof U==="function"){eM.read($,NV(),U);return}eM.read($,NV(U),_)}sM.scandir=$u;function Uu($,U){let _=NV(U);return sh.read($,_)}sM.scandirSync=Uu;function NV($={}){if($ instanceof WV.default)return $;return new WV.default($)}});var _P=e((hQ$,UP)=>{function Qu($){var U=new $,_=U;function Q(){var G=U;if(G.next)U=G.next;else U=new $,_=U;return G.next=null,G}function J(G){_.next=G,_=G}return{get:Q,release:J}}UP.exports=Qu});var QP=e((uQ$,FV)=>{var Gu=_P();function JP($,U,_){if(typeof $==="function")_=U,U=$,$=null;if(!(_>=1))throw Error("fastqueue concurrency must be equal to or greater than 1");var Q=Gu(Yu),J=null,G=null,Y=0,X=null,V={push:O,drain:V1,saturated:V1,pause:Z,paused:!1,get concurrency(){return _},set concurrency(D){if(!(D>=1))throw Error("fastqueue concurrency must be equal to or greater than 1");if(_=D,V.paused)return;for(;J&&Y<_;)Y++,P()},running:K,resume:B,idle:q,length:N,getQueue:W,unshift:M,empty:V1,kill:H,killAndDrain:z,error:E,abort:A};return V;function K(){return Y}function Z(){V.paused=!0}function N(){var D=J,f=0;while(D)D=D.next,f++;return f}function W(){var D=J,f=[];while(D)f.push(D.value),D=D.next;return f}function B(){if(!V.paused)return;if(V.paused=!1,J===null){Y++,P();return}for(;J&&Y<_;)Y++,P()}function q(){return Y===0&&V.length()===0}function O(D,f){var j=Q.get();if(j.context=$,j.release=P,j.value=D,j.callback=f||V1,j.errorHandler=X,Y>=_||V.paused)if(G)G.next=j,G=j;else J=j,G=j,V.saturated();else Y++,U.call($,j.value,j.worked)}function M(D,f){var j=Q.get();if(j.context=$,j.release=P,j.value=D,j.callback=f||V1,j.errorHandler=X,Y>=_||V.paused)if(J)j.next=J,J=j;else J=j,G=j,V.saturated();else Y++,U.call($,j.value,j.worked)}function P(D){if(D)Q.release(D);var f=J;if(f&&Y<=_)if(!V.paused){if(G===J)G=null;if(J=f.next,f.next=null,U.call($,f.value,f.worked),G===null)V.empty()}else Y--;else if(--Y===0)V.drain()}function H(){J=null,G=null,V.drain=V1}function z(){J=null,G=null,V.drain(),V.drain=V1}function A(){var D=J;J=null,G=null;while(D){var{next:f,callback:j,errorHandler:T,value:L,context:k}=D;if(D.value=null,D.callback=V1,D.errorHandler=null,T)T(Error("abort"),L);j.call(k,Error("abort")),D.release(D),D=f}V.drain=V1}function E(D){X=D}}function V1(){}function Yu(){this.value=null,this.callback=V1,this.next=null,this.release=V1,this.context=null,this.errorHandler=null;var $=this;this.worked=function(_,Q){var{callback:J,errorHandler:G,value:Y}=$;if($.value=null,$.callback=V1,$.errorHandler)G(_,Y);J.call($.context,_,Q),$.release($)}}function Xu($,U,_){if(typeof $==="function")_=U,U=$,$=null;function Q(Z,N){U.call(this,Z).then(function(W){N(null,W)},N)}var J=JP($,Q,_),G=J.push,Y=J.unshift;return J.push=X,J.unshift=V,J.drained=K,J;function X(Z){var N=new Promise(function(W,B){G(Z,function(q,O){if(q){B(q);return}W(O)})});return N.catch(V1),N}function V(Z){var N=new Promise(function(W,B){Y(Z,function(q,O){if(q){B(q);return}W(O)})});return N.catch(V1),N}function K(){var Z=new Promise(function(N){process.nextTick(function(){if(J.idle())N();else{var W=J.drain;J.drain=function(){if(typeof W==="function")W();N(),J.drain=W}}})});return Z}}FV.exports=JP;FV.exports.promise=Xu});var c7=e((GP)=>{Object.defineProperty(GP,"__esModule",{value:!0});GP.joinPathSegments=GP.replacePathSegmentSeparator=GP.isAppliedFilter=GP.isFatalError=void 0;function Vu($,U){if($.errorFilter===null)return!0;return!$.errorFilter(U)}GP.isFatalError=Vu;function Ku($,U){return $===null||$(U)}GP.isAppliedFilter=Ku;function Zu($,U){return $.split(/[/\\]/).join(U)}GP.replacePathSegmentSeparator=Zu;function Wu($,U,_){if($==="")return U;if($.endsWith(_))return $+U;return $+_+U}GP.joinPathSegments=Wu});var qV=e((VP)=>{Object.defineProperty(VP,"__esModule",{value:!0});var Bu=c7();class XP{constructor($,U){this._root=$,this._settings=U,this._root=Bu.replacePathSegmentSeparator($,U.pathSegmentSeparator)}}VP.default=XP});var BV=e((ZP)=>{Object.defineProperty(ZP,"__esModule",{value:!0});var Ou=T$("events"),ju=m7(),Du=QP(),d7=c7(),Eu=qV();class KP extends Eu.default{constructor($,U){super($,U);this._settings=U,this._scandir=ju.scandir,this._emitter=new Ou.EventEmitter,this._queue=Du(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{if(!this._isFatalError)this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry($){this._emitter.on("entry",$)}onError($){this._emitter.once("error",$)}onEnd($){this._emitter.once("end",$)}_pushToQueue($,U){let _={directory:$,base:U};this._queue.push(_,(Q)=>{if(Q!==null)this._handleError(Q)})}_worker($,U){this._scandir($.directory,this._settings.fsScandirSettings,(_,Q)=>{if(_!==null){U(_,void 0);return}for(let J of Q)this._handleEntry(J,$.base);U(null,void 0)})}_handleError($){if(this._isDestroyed||!d7.isFatalError(this._settings,$))return;this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",$)}_handleEntry($,U){if(this._isDestroyed||this._isFatalError)return;let _=$.path;if(U!==void 0)$.path=d7.joinPathSegments(U,$.name,this._settings.pathSegmentSeparator);if(d7.isAppliedFilter(this._settings.entryFilter,$))this._emitEntry($);if($.dirent.isDirectory()&&d7.isAppliedFilter(this._settings.deepFilter,$))this._pushToQueue(_,U===void 0?void 0:$.path)}_emitEntry($){this._emitter.emit("entry",$)}}ZP.default=KP});var FP=e((NP)=>{Object.defineProperty(NP,"__esModule",{value:!0});var Pu=BV();class WP{constructor($,U){this._root=$,this._settings=U,this._reader=new Pu.default(this._root,this._settings),this._storage=[]}read($){this._reader.onError((U)=>{fu($,U)}),this._reader.onEntry((U)=>{this._storage.push(U)}),this._reader.onEnd(()=>{Lu($,this._storage)}),this._reader.read()}}NP.default=WP;function fu($,U){$(U)}function Lu($,U){$(null,U)}});var HP=e((BP)=>{Object.defineProperty(BP,"__esModule",{value:!0});var wu=T$("stream"),zu=BV();class qP{constructor($,U){this._root=$,this._settings=U,this._reader=new zu.default(this._root,this._settings),this._stream=new wu.Readable({objectMode:!0,read:()=>{},destroy:()=>{if(!this._reader.isDestroyed)this._reader.destroy()}})}read(){return this._reader.onError(($)=>{this._stream.emit("error",$)}),this._reader.onEntry(($)=>{this._stream.push($)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}}BP.default=qP});var DP=e((jP)=>{Object.defineProperty(jP,"__esModule",{value:!0});var ku=m7(),l7=c7(),Tu=qV();class OP extends Tu.default{constructor(){super(...arguments);this._scandir=ku.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue($,U){this._queue.add({directory:$,base:U})}_handleQueue(){for(let $ of this._queue.values())this._handleDirectory($.directory,$.base)}_handleDirectory($,U){try{let _=this._scandir($,this._settings.fsScandirSettings);for(let Q of _)this._handleEntry(Q,U)}catch(_){this._handleError(_)}}_handleError($){if(!l7.isFatalError(this._settings,$))return;throw $}_handleEntry($,U){let _=$.path;if(U!==void 0)$.path=l7.joinPathSegments(U,$.name,this._settings.pathSegmentSeparator);if(l7.isAppliedFilter(this._settings.entryFilter,$))this._pushToStorage($);if($.dirent.isDirectory()&&l7.isAppliedFilter(this._settings.deepFilter,$))this._pushToQueue(_,U===void 0?void 0:$.path)}_pushToStorage($){this._storage.push($)}}jP.default=OP});var PP=e((MP)=>{Object.defineProperty(MP,"__esModule",{value:!0});var Iu=DP();class EP{constructor($,U){this._root=$,this._settings=U,this._reader=new Iu.default(this._root,this._settings)}read(){return this._reader.read()}}MP.default=EP});var RP=e((LP)=>{Object.defineProperty(LP,"__esModule",{value:!0});var Cu=T$("path"),yu=m7();class fP{constructor($={}){this._options=$,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Cu.sep),this.fsScandirSettings=new yu.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue($,U){return $!==null&&$!==void 0?$:U}}LP.default=fP});var r7=e((zP)=>{Object.defineProperty(zP,"__esModule",{value:!0});zP.Settings=zP.walkStream=zP.walkSync=zP.walk=void 0;var wP=FP(),xu=HP(),gu=PP(),HV=RP();zP.Settings=HV.default;function hu($,U,_){if(typeof U==="function"){new wP.default($,i7()).read(U);return}new wP.default($,i7(U)).read(_)}zP.walk=hu;function uu($,U){let _=i7(U);return new gu.default($,_).read()}zP.walkSync=uu;function mu($,U){let _=i7(U);return new xu.default($,_).read()}zP.walkStream=mu;function i7($={}){if($ instanceof HV.default)return $;return new HV.default($)}});var n7=e((SP)=>{Object.defineProperty(SP,"__esModule",{value:!0});var iu=T$("path"),ru=gU(),kP=o0();class TP{constructor($){this._settings=$,this._fsStatSettings=new ru.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath($){return iu.resolve(this._settings.cwd,$)}_makeEntry($,U){let _={name:U,path:U,dirent:kP.fs.createDirentFromStats(U,$)};if(this._settings.stats)_.stats=$;return _}_isFatalError($){return!kP.errno.isEnoentCodeError($)&&!this._settings.suppressErrors}}SP.default=TP});var OV=e((vP)=>{Object.defineProperty(vP,"__esModule",{value:!0});var pu=T$("stream"),ou=gU(),au=r7(),tu=n7();class IP extends tu.default{constructor(){super(...arguments);this._walkStream=au.walkStream,this._stat=ou.stat}dynamic($,U){return this._walkStream($,U)}static($,U){let _=$.map(this._getFullEntryPath,this),Q=new pu.PassThrough({objectMode:!0});Q._write=(J,G,Y)=>{return this._getEntry(_[J],$[J],U).then((X)=>{if(X!==null&&U.entryFilter(X))Q.push(X);if(J===_.length-1)Q.end();Y()}).catch(Y)};for(let J=0;J<_.length;J++)Q.write(J);return Q}_getEntry($,U,_){return this._getStat($).then((Q)=>this._makeEntry(Q,U)).catch((Q)=>{if(_.errorFilter(Q))return null;throw Q})}_getStat($){return new Promise((U,_)=>{this._stat($,this._fsStatSettings,(Q,J)=>{return Q===null?U(J):_(Q)})})}}vP.default=IP});var bP=e((yP)=>{Object.defineProperty(yP,"__esModule",{value:!0});var su=r7(),$m=n7(),Um=OV();class CP extends $m.default{constructor(){super(...arguments);this._walkAsync=su.walk,this._readerStream=new Um.default(this._settings)}dynamic($,U){return new Promise((_,Q)=>{this._walkAsync($,U,(J,G)=>{if(J===null)_(G);else Q(J)})})}async static($,U){let _=[],Q=this._readerStream.static($,U);return new Promise((J,G)=>{Q.once("error",G),Q.on("data",(Y)=>_.push(Y)),Q.once("end",()=>J(_))})}}yP.default=CP});var hP=e((gP)=>{Object.defineProperty(gP,"__esModule",{value:!0});var j9=o0();class xP{constructor($,U,_){this._patterns=$,this._settings=U,this._micromatchOptions=_,this._storage=[],this._fillStorage()}_fillStorage(){for(let $ of this._patterns){let U=this._getPatternSegments($),_=this._splitSegmentsIntoSections(U);this._storage.push({complete:_.length<=1,pattern:$,segments:U,sections:_})}}_getPatternSegments($){return j9.pattern.getPatternParts($,this._micromatchOptions).map((_)=>{if(!j9.pattern.isDynamicPattern(_,this._settings))return{dynamic:!1,pattern:_};return{dynamic:!0,pattern:_,patternRe:j9.pattern.makeRe(_,this._micromatchOptions)}})}_splitSegmentsIntoSections($){return j9.array.splitWhen($,(U)=>U.dynamic&&j9.pattern.hasGlobStar(U.pattern))}}gP.default=xP});var cP=e((mP)=>{Object.defineProperty(mP,"__esModule",{value:!0});var Qm=hP();class uP extends Qm.default{match($){let U=$.split("/"),_=U.length,Q=this._storage.filter((J)=>!J.complete||J.segments.length>_);for(let J of Q){let G=J.sections[0];if(!J.complete&&_>G.length)return!0;if(U.every((X,V)=>{let K=J.segments[V];if(K.dynamic&&K.patternRe.test(X))return!0;if(!K.dynamic&&K.pattern===X)return!0;return!1}))return!0}return!1}}mP.default=uP});var iP=e((lP)=>{Object.defineProperty(lP,"__esModule",{value:!0});var p7=o0(),Ym=cP();class dP{constructor($,U){this._settings=$,this._micromatchOptions=U}getFilter($,U,_){let Q=this._getMatcher(U),J=this._getNegativePatternsRe(_);return(G)=>this._filter($,G,Q,J)}_getMatcher($){return new Ym.default($,this._settings,this._micromatchOptions)}_getNegativePatternsRe($){let U=$.filter(p7.pattern.isAffectDepthOfReadingPattern);return p7.pattern.convertPatternsToRe(U,this._micromatchOptions)}_filter($,U,_,Q){if(this._isSkippedByDeep($,U.path))return!1;if(this._isSkippedSymbolicLink(U))return!1;let J=p7.path.removeLeadingDotSegment(U.path);if(this._isSkippedByPositivePatterns(J,_))return!1;return this._isSkippedByNegativePatterns(J,Q)}_isSkippedByDeep($,U){if(this._settings.deep===1/0)return!1;return this._getEntryLevel($,U)>=this._settings.deep}_getEntryLevel($,U){let _=U.split("/").length;if($==="")return _;let Q=$.split("/").length;return _-Q}_isSkippedSymbolicLink($){return!this._settings.followSymbolicLinks&&$.dirent.isSymbolicLink()}_isSkippedByPositivePatterns($,U){return!this._settings.baseNameMatch&&!U.match($)}_isSkippedByNegativePatterns($,U){return!p7.pattern.matchAny($,U)}}lP.default=dP});var pP=e((nP)=>{Object.defineProperty(nP,"__esModule",{value:!0});var v2=o0();class rP{constructor($,U){this._settings=$,this._micromatchOptions=U,this.index=new Map}getFilter($,U){let[_,Q]=v2.pattern.partitionAbsoluteAndRelative(U),J={positive:{all:v2.pattern.convertPatternsToRe($,this._micromatchOptions)},negative:{absolute:v2.pattern.convertPatternsToRe(_,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0})),relative:v2.pattern.convertPatternsToRe(Q,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0}))}};return(G)=>this._filter(G,J)}_filter($,U){let _=v2.path.removeLeadingDotSegment($.path);if(this._settings.unique&&this._isDuplicateEntry(_))return!1;if(this._onlyFileFilter($)||this._onlyDirectoryFilter($))return!1;let Q=this._isMatchToPatternsSet(_,U,$.dirent.isDirectory());if(this._settings.unique&&Q)this._createIndexRecord(_);return Q}_isDuplicateEntry($){return this.index.has($)}_createIndexRecord($){this.index.set($,void 0)}_onlyFileFilter($){return this._settings.onlyFiles&&!$.dirent.isFile()}_onlyDirectoryFilter($){return this._settings.onlyDirectories&&!$.dirent.isDirectory()}_isMatchToPatternsSet($,U,_){if(!this._isMatchToPatterns($,U.positive.all,_))return!1;if(this._isMatchToPatterns($,U.negative.relative,_))return!1;if(this._isMatchToAbsoluteNegative($,U.negative.absolute,_))return!1;return!0}_isMatchToAbsoluteNegative($,U,_){if(U.length===0)return!1;let Q=v2.path.makeAbsolute(this._settings.cwd,$);return this._isMatchToPatterns(Q,U,_)}_isMatchToPatterns($,U,_){if(U.length===0)return!1;let Q=v2.pattern.matchAny($,U);if(!Q&&_)return v2.pattern.matchAny($+"/",U);return Q}}nP.default=rP});var tP=e((aP)=>{Object.defineProperty(aP,"__esModule",{value:!0});var Km=o0();class oP{constructor($){this._settings=$}getFilter(){return($)=>this._isNonFatalError($)}_isNonFatalError($){return Km.errno.isEnoentCodeError($)||this._settings.suppressErrors}}aP.default=oP});var Uf=e(($f)=>{Object.defineProperty($f,"__esModule",{value:!0});var eP=o0();class sP{constructor($){this._settings=$}getTransformer(){return($)=>this._transform($)}_transform($){let U=$.path;if(this._settings.absolute)U=eP.path.makeAbsolute(this._settings.cwd,U),U=eP.path.unixify(U);if(this._settings.markDirectories&&$.dirent.isDirectory())U+="/";if(!this._settings.objectMode)return U;return Object.assign(Object.assign({},$),{path:U})}}$f.default=sP});var o7=e((Jf)=>{Object.defineProperty(Jf,"__esModule",{value:!0});var Nm=T$("path"),Fm=iP(),qm=pP(),Bm=tP(),Hm=Uf();class _f{constructor($){this._settings=$,this.errorFilter=new Bm.default(this._settings),this.entryFilter=new qm.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Fm.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Hm.default(this._settings)}_getRootDirectory($){return Nm.resolve(this._settings.cwd,$.base)}_getReaderOptions($){let U=$.base==="."?"":$.base;return{basePath:U,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(U,$.positive,$.negative),entryFilter:this.entryFilter.getFilter($.positive,$.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}}Jf.default=_f});var Yf=e((Gf)=>{Object.defineProperty(Gf,"__esModule",{value:!0});var jm=bP(),Dm=o7();class Qf extends Dm.default{constructor(){super(...arguments);this._reader=new jm.default(this._settings)}async read($){let U=this._getRootDirectory($),_=this._getReaderOptions($);return(await this.api(U,$,_)).map((J)=>_.transform(J))}api($,U,_){if(U.dynamic)return this._reader.dynamic($,_);return this._reader.static(U.patterns,_)}}Gf.default=Qf});var Kf=e((Vf)=>{Object.defineProperty(Vf,"__esModule",{value:!0});var Mm=T$("stream"),Pm=OV(),fm=o7();class Xf extends fm.default{constructor(){super(...arguments);this._reader=new Pm.default(this._settings)}read($){let U=this._getRootDirectory($),_=this._getReaderOptions($),Q=this.api(U,$,_),J=new Mm.Readable({objectMode:!0,read:()=>{}});return Q.once("error",(G)=>J.emit("error",G)).on("data",(G)=>J.emit("data",_.transform(G))).once("end",()=>J.emit("end")),J.once("close",()=>Q.destroy()),J}api($,U,_){if(U.dynamic)return this._reader.dynamic($,_);return this._reader.static(U.patterns,_)}}Vf.default=Xf});var Nf=e((Wf)=>{Object.defineProperty(Wf,"__esModule",{value:!0});var Rm=gU(),wm=r7(),zm=n7();class Zf extends zm.default{constructor(){super(...arguments);this._walkSync=wm.walkSync,this._statSync=Rm.statSync}dynamic($,U){return this._walkSync($,U)}static($,U){let _=[];for(let Q of $){let J=this._getFullEntryPath(Q),G=this._getEntry(J,Q,U);if(G===null||!U.entryFilter(G))continue;_.push(G)}return _}_getEntry($,U,_){try{let Q=this._getStat($);return this._makeEntry(Q,U)}catch(Q){if(_.errorFilter(Q))return null;throw Q}}_getStat($){return this._statSync($,this._fsStatSettings)}}Wf.default=Zf});var Bf=e((qf)=>{Object.defineProperty(qf,"__esModule",{value:!0});var km=Nf(),Tm=o7();class Ff extends Tm.default{constructor(){super(...arguments);this._reader=new km.default(this._settings)}read($){let U=this._getRootDirectory($),_=this._getReaderOptions($);return this.api(U,$,_).map(_.transform)}api($,U,_){if(U.dynamic)return this._reader.dynamic($,_);return this._reader.static(U.patterns,_)}}qf.default=Ff});var jf=e((Of)=>{Object.defineProperty(Of,"__esModule",{value:!0});Of.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var r_=T$("fs"),Im=T$("os"),vm=Math.max(Im.cpus().length,1);Of.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:r_.lstat,lstatSync:r_.lstatSync,stat:r_.stat,statSync:r_.statSync,readdir:r_.readdir,readdirSync:r_.readdirSync};class Hf{constructor($={}){if(this._options=$,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,vm),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories)this.onlyFiles=!1;if(this.stats)this.objectMode=!0;this.ignore=[].concat(this.ignore)}_getValue($,U){return $===void 0?U:$}_getFileSystemMethods($={}){return Object.assign(Object.assign({},Of.DEFAULT_FILE_SYSTEM_ADAPTER),$)}}Of.default=Hf});var Mf=e((W3$,Ef)=>{var Df=tE(),ym=Yf(),bm=Kf(),xm=Bf(),DV=jf(),g1=o0();async function EV($,U){$0($);let _=MV($,ym.default,U),Q=await Promise.all(_);return g1.array.flatten(Q)}(function($){$.glob=$,$.globSync=U,$.globStream=_,$.async=$;function U(K,Z){$0(K);let N=MV(K,xm.default,Z);return g1.array.flatten(N)}$.sync=U;function _(K,Z){$0(K);let N=MV(K,bm.default,Z);return g1.stream.merge(N)}$.stream=_;function Q(K,Z){$0(K);let N=[].concat(K),W=new DV.default(Z);return Df.generate(N,W)}$.generateTasks=Q;function J(K,Z){$0(K);let N=new DV.default(Z);return g1.pattern.isDynamicPattern(K,N)}$.isDynamicPattern=J;function G(K){return $0(K),g1.path.escape(K)}$.escapePath=G;function Y(K){return $0(K),g1.path.convertPathToPattern(K)}$.convertPathToPattern=Y;let X;(function(K){function Z(W){return $0(W),g1.path.escapePosixPath(W)}K.escapePath=Z;function N(W){return $0(W),g1.path.convertPosixPathToPattern(W)}K.convertPathToPattern=N})(X=$.posix||($.posix={}));let V;(function(K){function Z(W){return $0(W),g1.path.escapeWindowsPath(W)}K.escapePath=Z;function N(W){return $0(W),g1.path.convertWindowsPathToPattern(W)}K.convertPathToPattern=N})(V=$.win32||($.win32={}))})(EV||(EV={}));function MV($,U,_){let Q=[].concat($),J=new DV.default(_),G=Df.generate(Q,J),Y=new U(J);return G.map(Y.read,Y)}function $0($){if(![].concat($).every((Q)=>g1.string.isString(Q)&&!g1.string.isEmpty(Q)))throw TypeError("Patterns must be a string (non empty) or an array of strings")}Ef.exports=EV});var D9=e((N3$,ff)=>{var Pf={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)",SEP:"/"},gm={...Pf,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},hm={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};ff.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:hm,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars($){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${$.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars($){return $===!0?gm:Pf}}});var E9=e((lm)=>{var{REGEX_BACKSLASH:um,REGEX_REMOVE_BACKSLASH:mm,REGEX_SPECIAL_CHARS:cm,REGEX_SPECIAL_CHARS_GLOBAL:dm}=D9();lm.isObject=($)=>$!==null&&typeof $==="object"&&!Array.isArray($);lm.hasRegexChars=($)=>cm.test($);lm.isRegexChar=($)=>$.length===1&&lm.hasRegexChars($);lm.escapeRegex=($)=>$.replace(dm,"\\$1");lm.toPosixSlashes=($)=>$.replace(um,"/");lm.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let $=navigator.platform.toLowerCase();return $==="win32"||$==="windows"}if(typeof process<"u"&&process.platform)return process.platform==="win32";return!1};lm.removeBackslashes=($)=>{return $.replace(mm,(U)=>{return U==="\\"?"":U})};lm.escapeLast=($,U,_)=>{let Q=$.lastIndexOf(U,_);if(Q===-1)return $;if($[Q-1]==="\\")return lm.escapeLast($,U,Q-1);return`${$.slice(0,Q)}\\${$.slice(Q)}`};lm.removePrefix=($,U={})=>{let _=$;if(_.startsWith("./"))_=_.slice(2),U.prefix="./";return _};lm.wrapOutput=($,U={},_={})=>{let Q=_.contains?"":"^",J=_.contains?"":"$",G=`${Q}(?:${$})${J}`;if(U.negated===!0)G=`(?:^(?!${G}).*$)`;return G};lm.basename=($,{windows:U}={})=>{let _=$.split(U?/[\\/]/:"/"),Q=_[_.length-1];if(Q==="")return _[_.length-2];return Q}});var vf=e((q3$,If)=>{var wf=E9(),{CHAR_ASTERISK:PV,CHAR_AT:$c,CHAR_BACKWARD_SLASH:M9,CHAR_COMMA:Uc,CHAR_DOT:fV,CHAR_EXCLAMATION_MARK:LV,CHAR_FORWARD_SLASH:Sf,CHAR_LEFT_CURLY_BRACE:RV,CHAR_LEFT_PARENTHESES:wV,CHAR_LEFT_SQUARE_BRACKET:_c,CHAR_PLUS:Jc,CHAR_QUESTION_MARK:zf,CHAR_RIGHT_CURLY_BRACE:Qc,CHAR_RIGHT_PARENTHESES:Af,CHAR_RIGHT_SQUARE_BRACKET:Gc}=D9(),kf=($)=>{return $===Sf||$===M9},Tf=($)=>{if($.isPrefix!==!0)$.depth=$.isGlobstar?1/0:1},Yc=($,U)=>{let _=U||{},Q=$.length-1,J=_.parts===!0||_.scanToEnd===!0,G=[],Y=[],X=[],V=$,K=-1,Z=0,N=0,W=!1,B=!1,q=!1,O=!1,M=!1,P=!1,H=!1,z=!1,A=!1,E=!1,D=0,f,j,T={value:"",depth:0,isGlob:!1},L=()=>K>=Q,k=()=>V.charCodeAt(K+1),R=()=>{return f=j,V.charCodeAt(++K)};while(K<Q){j=R();let b;if(j===M9){if(H=T.backslashes=!0,j=R(),j===RV)P=!0;continue}if(P===!0||j===RV){D++;while(L()!==!0&&(j=R())){if(j===M9){H=T.backslashes=!0,R();continue}if(j===RV){D++;continue}if(P!==!0&&j===fV&&(j=R())===fV){if(W=T.isBrace=!0,q=T.isGlob=!0,E=!0,J===!0)continue;break}if(P!==!0&&j===Uc){if(W=T.isBrace=!0,q=T.isGlob=!0,E=!0,J===!0)continue;break}if(j===Qc){if(D--,D===0){P=!1,W=T.isBrace=!0,E=!0;break}}}if(J===!0)continue;break}if(j===Sf){if(G.push(K),Y.push(T),T={value:"",depth:0,isGlob:!1},E===!0)continue;if(f===fV&&K===Z+1){Z+=2;continue}N=K+1;continue}if(_.noext!==!0){if((j===Jc||j===$c||j===PV||j===zf||j===LV)===!0&&k()===wV){if(q=T.isGlob=!0,O=T.isExtglob=!0,E=!0,j===LV&&K===Z)A=!0;if(J===!0){while(L()!==!0&&(j=R())){if(j===M9){H=T.backslashes=!0,j=R();continue}if(j===Af){q=T.isGlob=!0,E=!0;break}}continue}break}}if(j===PV){if(f===PV)M=T.isGlobstar=!0;if(q=T.isGlob=!0,E=!0,J===!0)continue;break}if(j===zf){if(q=T.isGlob=!0,E=!0,J===!0)continue;break}if(j===_c){while(L()!==!0&&(b=R())){if(b===M9){H=T.backslashes=!0,R();continue}if(b===Gc){B=T.isBracket=!0,q=T.isGlob=!0,E=!0;break}}if(J===!0)continue;break}if(_.nonegate!==!0&&j===LV&&K===Z){z=T.negated=!0,Z++;continue}if(_.noparen!==!0&&j===wV){if(q=T.isGlob=!0,J===!0){while(L()!==!0&&(j=R())){if(j===wV){H=T.backslashes=!0,j=R();continue}if(j===Af){E=!0;break}}continue}break}if(q===!0){if(E=!0,J===!0)continue;break}}if(_.noext===!0)O=!1,q=!1;let S=V,I="",w="";if(Z>0)I=V.slice(0,Z),V=V.slice(Z),N-=Z;if(S&&q===!0&&N>0)S=V.slice(0,N),w=V.slice(N);else if(q===!0)S="",w=V;else S=V;if(S&&S!==""&&S!=="/"&&S!==V){if(kf(S.charCodeAt(S.length-1)))S=S.slice(0,-1)}if(_.unescape===!0){if(w)w=wf.removeBackslashes(w);if(S&&H===!0)S=wf.removeBackslashes(S)}let C={prefix:I,input:$,start:Z,base:S,glob:w,isBrace:W,isBracket:B,isGlob:q,isExtglob:O,isGlobstar:M,negated:z,negatedExtglob:A};if(_.tokens===!0){if(C.maxDepth=0,!kf(j))Y.push(T);C.tokens=Y}if(_.parts===!0||_.tokens===!0){let b;for(let y=0;y<G.length;y++){let x=b?b+1:Z,l=G[y],t=$.slice(x,l);if(_.tokens){if(y===0&&Z!==0)Y[y].isPrefix=!0,Y[y].value=I;else Y[y].value=t;Tf(Y[y]),C.maxDepth+=Y[y].depth}if(y!==0||t!=="")X.push(t);b=l}if(b&&b+1<$.length){let y=$.slice(b+1);if(X.push(y),_.tokens)Y[Y.length-1].value=y,Tf(Y[Y.length-1]),C.maxDepth+=Y[Y.length-1].depth}C.slashes=G,C.parts=X}return C};If.exports=Yc});var bf=e((B3$,yf)=>{var a7=D9(),E0=E9(),{MAX_LENGTH:t7,POSIX_REGEX_SOURCE:Xc,REGEX_NON_SPECIAL_CHARS:Vc,REGEX_SPECIAL_CHARS_BACKREF:Kc,REPLACEMENTS:Cf}=a7,Zc=($,U)=>{if(typeof U.expandRange==="function")return U.expandRange(...$,U);$.sort();let _=`[${$.join("-")}]`;try{new RegExp(_)}catch(Q){return $.map((J)=>E0.escapeRegex(J)).join("..")}return _},n_=($,U)=>{return`Missing ${$}: "${U}" - use "\\\\${U}" to match literal characters`},zV=($,U)=>{if(typeof $!=="string")throw TypeError("Expected a string");$=Cf[$]||$;let _={...U},Q=typeof _.maxLength==="number"?Math.min(t7,_.maxLength):t7,J=$.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);let G={type:"bos",value:"",output:_.prepend||""},Y=[G],X=_.capture?"":"?:",V=a7.globChars(_.windows),K=a7.extglobChars(V),{DOT_LITERAL:Z,PLUS_LITERAL:N,SLASH_LITERAL:W,ONE_CHAR:B,DOTS_SLASH:q,NO_DOT:O,NO_DOT_SLASH:M,NO_DOTS_SLASH:P,QMARK:H,QMARK_NO_DOT:z,STAR:A,START_ANCHOR:E}=V,D=(d)=>{return`(${X}(?:(?!${E}${d.dot?q:Z}).)*?)`},f=_.dot?"":O,j=_.dot?H:z,T=_.bash===!0?D(_):A;if(_.capture)T=`(${T})`;if(typeof _.noext==="boolean")_.noextglob=_.noext;let L={input:$,index:-1,start:0,dot:_.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:Y};$=E0.removePrefix($,L),J=$.length;let k=[],R=[],S=[],I=G,w,C=()=>L.index===J-1,b=L.peek=(d=1)=>$[L.index+d],y=L.advance=()=>$[++L.index]||"",x=()=>$.slice(L.index+1),l=(d="",i=0)=>{L.consumed+=d,L.index+=i},t=(d)=>{L.output+=d.output!=null?d.output:d.value,l(d.value)},V$=()=>{let d=1;while(b()==="!"&&(b(2)!=="("||b(3)==="?"))y(),L.start++,d++;if(d%2===0)return!1;return L.negated=!0,L.start++,!0},u$=(d)=>{L[d]++,S.push(d)},O$=(d)=>{L[d]--,S.pop()},q$=(d)=>{if(I.type==="globstar"){let i=L.braces>0&&(d.type==="comma"||d.type==="brace"),n=d.extglob===!0||k.length&&(d.type==="pipe"||d.type==="paren");if(d.type!=="slash"&&d.type!=="paren"&&!i&&!n)L.output=L.output.slice(0,-I.output.length),I.type="star",I.value="*",I.output=T,L.output+=I.output}if(k.length&&d.type!=="paren")k[k.length-1].inner+=d.value;if(d.value||d.output)t(d);if(I&&I.type==="text"&&d.type==="text"){I.output=(I.output||I.value)+d.value,I.value+=d.value;return}d.prev=I,Y.push(d),I=d},m=(d,i)=>{let n={...K[i],conditions:1,inner:""};n.prev=I,n.parens=L.parens,n.output=L.output;let h=(_.capture?"(":"")+n.open;u$("parens"),q$({type:d,value:i,output:L.output?"":B}),q$({type:"paren",extglob:!0,value:y(),output:h}),k.push(n)},a=(d)=>{let i=d.close+(_.capture?")":""),n;if(d.type==="negate"){let h=T;if(d.inner&&d.inner.length>1&&d.inner.includes("/"))h=D(_);if(h!==T||C()||/^\)+$/.test(x()))i=d.close=`)$))${h}`;if(d.inner.includes("*")&&(n=x())&&/^\.[^\\/.]+$/.test(n)){let _$=zV(n,{...U,fastpaths:!1}).output;i=d.close=`)${_$})${h})`}if(d.prev.type==="bos")L.negatedExtglob=!0}q$({type:"paren",extglob:!0,value:w,output:i}),O$("parens")};if(_.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test($)){let d=!1,i=$.replace(Kc,(n,h,_$,H$,D$,j$)=>{if(H$==="\\")return d=!0,n;if(H$==="?"){if(h)return h+H$+(D$?H.repeat(D$.length):"");if(j$===0)return j+(D$?H.repeat(D$.length):"");return H.repeat(_$.length)}if(H$===".")return Z.repeat(_$.length);if(H$==="*"){if(h)return h+H$+(D$?T:"");return T}return h?n:`\\${n}`});if(d===!0)if(_.unescape===!0)i=i.replace(/\\/g,"");else i=i.replace(/\\+/g,(n)=>{return n.length%2===0?"\\\\":n?"\\":""});if(i===$&&_.contains===!0)return L.output=$,L;return L.output=E0.wrapOutput(i,L,U),L}while(!C()){if(w=y(),w==="\x00")continue;if(w==="\\"){let n=b();if(n==="/"&&_.bash!==!0)continue;if(n==="."||n===";")continue;if(!n){w+="\\",q$({type:"text",value:w});continue}let h=/^\\+/.exec(x()),_$=0;if(h&&h[0].length>2){if(_$=h[0].length,L.index+=_$,_$%2!==0)w+="\\"}if(_.unescape===!0)w=y();else w+=y();if(L.brackets===0){q$({type:"text",value:w});continue}}if(L.brackets>0&&(w!=="]"||I.value==="["||I.value==="[^")){if(_.posix!==!1&&w===":"){let n=I.value.slice(1);if(n.includes("[")){if(I.posix=!0,n.includes(":")){let h=I.value.lastIndexOf("["),_$=I.value.slice(0,h),H$=I.value.slice(h+2),D$=Xc[H$];if(D$){if(I.value=_$+D$,L.backtrack=!0,y(),!G.output&&Y.indexOf(I)===1)G.output=B;continue}}}}if(w==="["&&b()!==":"||w==="-"&&b()==="]")w=`\\${w}`;if(w==="]"&&(I.value==="["||I.value==="[^"))w=`\\${w}`;if(_.posix===!0&&w==="!"&&I.value==="[")w="^";I.value+=w,t({value:w});continue}if(L.quotes===1&&w!=='"'){w=E0.escapeRegex(w),I.value+=w,t({value:w});continue}if(w==='"'){if(L.quotes=L.quotes===1?0:1,_.keepQuotes===!0)q$({type:"text",value:w});continue}if(w==="("){u$("parens"),q$({type:"paren",value:w});continue}if(w===")"){if(L.parens===0&&_.strictBrackets===!0)throw SyntaxError(n_("opening","("));let n=k[k.length-1];if(n&&L.parens===n.parens+1){a(k.pop());continue}q$({type:"paren",value:w,output:L.parens?")":"\\)"}),O$("parens");continue}if(w==="["){if(_.nobracket===!0||!x().includes("]")){if(_.nobracket!==!0&&_.strictBrackets===!0)throw SyntaxError(n_("closing","]"));w=`\\${w}`}else u$("brackets");q$({type:"bracket",value:w});continue}if(w==="]"){if(_.nobracket===!0||I&&I.type==="bracket"&&I.value.length===1){q$({type:"text",value:w,output:`\\${w}`});continue}if(L.brackets===0){if(_.strictBrackets===!0)throw SyntaxError(n_("opening","["));q$({type:"text",value:w,output:`\\${w}`});continue}O$("brackets");let n=I.value.slice(1);if(I.posix!==!0&&n[0]==="^"&&!n.includes("/"))w=`/${w}`;if(I.value+=w,t({value:w}),_.literalBrackets===!1||E0.hasRegexChars(n))continue;let h=E0.escapeRegex(I.value);if(L.output=L.output.slice(0,-I.value.length),_.literalBrackets===!0){L.output+=h,I.value=h;continue}I.value=`(${X}${h}|${I.value})`,L.output+=I.value;continue}if(w==="{"&&_.nobrace!==!0){u$("braces");let n={type:"brace",value:w,output:"(",outputIndex:L.output.length,tokensIndex:L.tokens.length};R.push(n),q$(n);continue}if(w==="}"){let n=R[R.length-1];if(_.nobrace===!0||!n){q$({type:"text",value:w,output:w});continue}let h=")";if(n.dots===!0){let _$=Y.slice(),H$=[];for(let D$=_$.length-1;D$>=0;D$--){if(Y.pop(),_$[D$].type==="brace")break;if(_$[D$].type!=="dots")H$.unshift(_$[D$].value)}h=Zc(H$,_),L.backtrack=!0}if(n.comma!==!0&&n.dots!==!0){let _$=L.output.slice(0,n.outputIndex),H$=L.tokens.slice(n.tokensIndex);n.value=n.output="\\{",w=h="\\}",L.output=_$;for(let D$ of H$)L.output+=D$.output||D$.value}q$({type:"brace",value:w,output:h}),O$("braces"),R.pop();continue}if(w==="|"){if(k.length>0)k[k.length-1].conditions++;q$({type:"text",value:w});continue}if(w===","){let n=w,h=R[R.length-1];if(h&&S[S.length-1]==="braces")h.comma=!0,n="|";q$({type:"comma",value:w,output:n});continue}if(w==="/"){if(I.type==="dot"&&L.index===L.start+1){L.start=L.index+1,L.consumed="",L.output="",Y.pop(),I=G;continue}q$({type:"slash",value:w,output:W});continue}if(w==="."){if(L.braces>0&&I.type==="dot"){if(I.value===".")I.output=Z;let n=R[R.length-1];I.type="dots",I.output+=w,I.value+=w,n.dots=!0;continue}if(L.braces+L.parens===0&&I.type!=="bos"&&I.type!=="slash"){q$({type:"text",value:w,output:Z});continue}q$({type:"dot",value:w,output:Z});continue}if(w==="?"){if(!(I&&I.value==="(")&&_.noextglob!==!0&&b()==="("&&b(2)!=="?"){m("qmark",w);continue}if(I&&I.type==="paren"){let h=b(),_$=w;if(I.value==="("&&!/[!=<:]/.test(h)||h==="<"&&!/<([!=]|\w+>)/.test(x()))_$=`\\${w}`;q$({type:"text",value:w,output:_$});continue}if(_.dot!==!0&&(I.type==="slash"||I.type==="bos")){q$({type:"qmark",value:w,output:z});continue}q$({type:"qmark",value:w,output:H});continue}if(w==="!"){if(_.noextglob!==!0&&b()==="("){if(b(2)!=="?"||!/[!=<:]/.test(b(3))){m("negate",w);continue}}if(_.nonegate!==!0&&L.index===0){V$();continue}}if(w==="+"){if(_.noextglob!==!0&&b()==="("&&b(2)!=="?"){m("plus",w);continue}if(I&&I.value==="("||_.regex===!1){q$({type:"plus",value:w,output:N});continue}if(I&&(I.type==="bracket"||I.type==="paren"||I.type==="brace")||L.parens>0){q$({type:"plus",value:w});continue}q$({type:"plus",value:N});continue}if(w==="@"){if(_.noextglob!==!0&&b()==="("&&b(2)!=="?"){q$({type:"at",extglob:!0,value:w,output:""});continue}q$({type:"text",value:w});continue}if(w!=="*"){if(w==="$"||w==="^")w=`\\${w}`;let n=Vc.exec(x());if(n)w+=n[0],L.index+=n[0].length;q$({type:"text",value:w});continue}if(I&&(I.type==="globstar"||I.star===!0)){I.type="star",I.star=!0,I.value+=w,I.output=T,L.backtrack=!0,L.globstar=!0,l(w);continue}let d=x();if(_.noextglob!==!0&&/^\([^?]/.test(d)){m("star",w);continue}if(I.type==="star"){if(_.noglobstar===!0){l(w);continue}let n=I.prev,h=n.prev,_$=n.type==="slash"||n.type==="bos",H$=h&&(h.type==="star"||h.type==="globstar");if(_.bash===!0&&(!_$||d[0]&&d[0]!=="/")){q$({type:"star",value:w,output:""});continue}let D$=L.braces>0&&(n.type==="comma"||n.type==="brace"),j$=k.length&&(n.type==="pipe"||n.type==="paren");if(!_$&&n.type!=="paren"&&!D$&&!j$){q$({type:"star",value:w,output:""});continue}while(d.slice(0,3)==="/**"){let r$=$[L.index+4];if(r$&&r$!=="/")break;d=d.slice(3),l("/**",3)}if(n.type==="bos"&&C()){I.type="globstar",I.value+=w,I.output=D(_),L.output=I.output,L.globstar=!0,l(w);continue}if(n.type==="slash"&&n.prev.type!=="bos"&&!H$&&C()){L.output=L.output.slice(0,-(n.output+I.output).length),n.output=`(?:${n.output}`,I.type="globstar",I.output=D(_)+(_.strictSlashes?")":"|$)"),I.value+=w,L.globstar=!0,L.output+=n.output+I.output,l(w);continue}if(n.type==="slash"&&n.prev.type!=="bos"&&d[0]==="/"){let r$=d[1]!==void 0?"|$":"";L.output=L.output.slice(0,-(n.output+I.output).length),n.output=`(?:${n.output}`,I.type="globstar",I.output=`${D(_)}${W}|${W}${r$})`,I.value+=w,L.output+=n.output+I.output,L.globstar=!0,l(w+y()),q$({type:"slash",value:"/",output:""});continue}if(n.type==="bos"&&d[0]==="/"){I.type="globstar",I.value+=w,I.output=`(?:^|${W}|${D(_)}${W})`,L.output=I.output,L.globstar=!0,l(w+y()),q$({type:"slash",value:"/",output:""});continue}L.output=L.output.slice(0,-I.output.length),I.type="globstar",I.output=D(_),I.value+=w,L.output+=I.output,L.globstar=!0,l(w);continue}let i={type:"star",value:w,output:T};if(_.bash===!0){if(i.output=".*?",I.type==="bos"||I.type==="slash")i.output=f+i.output;q$(i);continue}if(I&&(I.type==="bracket"||I.type==="paren")&&_.regex===!0){i.output=w,q$(i);continue}if(L.index===L.start||I.type==="slash"||I.type==="dot"){if(I.type==="dot")L.output+=M,I.output+=M;else if(_.dot===!0)L.output+=P,I.output+=P;else L.output+=f,I.output+=f;if(b()!=="*")L.output+=B,I.output+=B}q$(i)}while(L.brackets>0){if(_.strictBrackets===!0)throw SyntaxError(n_("closing","]"));L.output=E0.escapeLast(L.output,"["),O$("brackets")}while(L.parens>0){if(_.strictBrackets===!0)throw SyntaxError(n_("closing",")"));L.output=E0.escapeLast(L.output,"("),O$("parens")}while(L.braces>0){if(_.strictBrackets===!0)throw SyntaxError(n_("closing","}"));L.output=E0.escapeLast(L.output,"{"),O$("braces")}if(_.strictSlashes!==!0&&(I.type==="star"||I.type==="bracket"))q$({type:"maybe_slash",value:"",output:`${W}?`});if(L.backtrack===!0){L.output="";for(let d of L.tokens)if(L.output+=d.output!=null?d.output:d.value,d.suffix)L.output+=d.suffix}return L};zV.fastpaths=($,U)=>{let _={...U},Q=typeof _.maxLength==="number"?Math.min(t7,_.maxLength):t7,J=$.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);$=Cf[$]||$;let{DOT_LITERAL:G,SLASH_LITERAL:Y,ONE_CHAR:X,DOTS_SLASH:V,NO_DOT:K,NO_DOTS:Z,NO_DOTS_SLASH:N,STAR:W,START_ANCHOR:B}=a7.globChars(_.windows),q=_.dot?Z:K,O=_.dot?N:K,M=_.capture?"":"?:",P={negated:!1,prefix:""},H=_.bash===!0?".*?":W;if(_.capture)H=`(${H})`;let z=(f)=>{if(f.noglobstar===!0)return H;return`(${M}(?:(?!${B}${f.dot?V:G}).)*?)`},A=(f)=>{switch(f){case"*":return`${q}${X}${H}`;case".*":return`${G}${X}${H}`;case"*.*":return`${q}${H}${G}${X}${H}`;case"*/*":return`${q}${H}${Y}${X}${O}${H}`;case"**":return q+z(_);case"**/*":return`(?:${q}${z(_)}${Y})?${O}${X}${H}`;case"**/*.*":return`(?:${q}${z(_)}${Y})?${O}${H}${G}${X}${H}`;case"**/.*":return`(?:${q}${z(_)}${Y})?${G}${X}${H}`;default:{let j=/^(.*?)\.(\w+)$/.exec(f);if(!j)return;let T=A(j[1]);if(!T)return;return T+G+j[2]}}},E=E0.removePrefix($,P),D=A(E);if(D&&_.strictSlashes!==!0)D+=`${Y}?`;return D};yf.exports=zV});var hf=e((H3$,gf)=>{var Wc=vf(),AV=bf(),xf=E9(),Nc=D9(),Fc=($)=>$&&typeof $==="object"&&!Array.isArray($),W6=($,U,_=!1)=>{if(Array.isArray($)){let Z=$.map((W)=>W6(W,U,_));return(W)=>{for(let B of Z){let q=B(W);if(q)return q}return!1}}let Q=Fc($)&&$.tokens&&$.input;if($===""||typeof $!=="string"&&!Q)throw TypeError("Expected pattern to be a non-empty string");let J=U||{},G=J.windows,Y=Q?W6.compileRe($,U):W6.makeRe($,U,!1,!0),X=Y.state;delete Y.state;let V=()=>!1;if(J.ignore){let Z={...U,ignore:null,onMatch:null,onResult:null};V=W6(J.ignore,Z,_)}let K=(Z,N=!1)=>{let{isMatch:W,match:B,output:q}=W6.test(Z,Y,U,{glob:$,posix:G}),O={glob:$,state:X,regex:Y,posix:G,input:Z,output:q,match:B,isMatch:W};if(typeof J.onResult==="function")J.onResult(O);if(W===!1)return O.isMatch=!1,N?O:!1;if(V(Z)){if(typeof J.onIgnore==="function")J.onIgnore(O);return O.isMatch=!1,N?O:!1}if(typeof J.onMatch==="function")J.onMatch(O);return N?O:!0};if(_)K.state=X;return K};W6.test=($,U,_,{glob:Q,posix:J}={})=>{if(typeof $!=="string")throw TypeError("Expected input to be a string");if($==="")return{isMatch:!1,output:""};let G=_||{},Y=G.format||(J?xf.toPosixSlashes:null),X=$===Q,V=X&&Y?Y($):$;if(X===!1)V=Y?Y($):$,X=V===Q;if(X===!1||G.capture===!0)if(G.matchBase===!0||G.basename===!0)X=W6.matchBase($,U,_,J);else X=U.exec(V);return{isMatch:Boolean(X),match:X,output:V}};W6.matchBase=($,U,_)=>{return(U instanceof RegExp?U:W6.makeRe(U,_)).test(xf.basename($))};W6.isMatch=($,U,_)=>W6(U,_)($);W6.parse=($,U)=>{if(Array.isArray($))return $.map((_)=>W6.parse(_,U));return AV($,{...U,fastpaths:!1})};W6.scan=($,U)=>Wc($,U);W6.compileRe=($,U,_=!1,Q=!1)=>{if(_===!0)return $.output;let J=U||{},G=J.contains?"":"^",Y=J.contains?"":"$",X=`${G}(?:${$.output})${Y}`;if($&&$.negated===!0)X=`^(?!${X}).*$`;let V=W6.toRegex(X,U);if(Q===!0)V.state=$;return V};W6.makeRe=($,U={},_=!1,Q=!1)=>{if(!$||typeof $!=="string")throw TypeError("Expected a non-empty string");let J={negated:!1,fastpaths:!0};if(U.fastpaths!==!1&&($[0]==="."||$[0]==="*"))J.output=AV.fastpaths($,U);if(!J.output)J=AV($,U);return W6.compileRe(J,U,_,Q)};W6.toRegex=($,U)=>{try{let _=U||{};return new RegExp($,_.flags||(_.nocase?"i":""))}catch(_){if(U&&U.debug===!0)throw _;return/$^/}};W6.constants=Nc;gf.exports=W6});var df=e((O3$,cf)=>{var uf=hf(),qc=E9();function mf($,U,_=!1){if(U&&(U.windows===null||U.windows===void 0))U={...U,windows:qc.isWindows()};return uf($,U,_)}Object.assign(mf,uf);cf.exports=mf});var jw=e((iV$,Hn)=>{Hn.exports={name:"dotenv",version:"17.2.3",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Lw=e((rV$,$2)=>{var _B=T$("fs"),l3=T$("path"),On=T$("os"),jn=T$("crypto"),Dn=jw(),JB=Dn.version,Dw=["\uD83D\uDD10 encrypt with Dotenvx: https://dotenvx.com","\uD83D\uDD10 prevent committing .env to code: https://dotenvx.com/precommit","\uD83D\uDD10 prevent building .env in docker: https://dotenvx.com/prebuild","\uD83D\uDCE1 add observability to secrets: https://dotenvx.com/ops","\uD83D\uDC65 sync secrets across teammates & machines: https://dotenvx.com/ops","\uD83D\uDDC2️ backup and recover secrets: https://dotenvx.com/ops","✅ audit secrets and track compliance: https://dotenvx.com/ops","\uD83D\uDD04 add secrets lifecycle management: https://dotenvx.com/ops","\uD83D\uDD11 add access controls to secrets: https://dotenvx.com/ops","\uD83D\uDEE0️ run anywhere with `dotenvx run -- yourcommand`","⚙️ specify custom .env file path with { path: '/custom/path/.env' }","⚙️ enable debug logging with { debug: true }","⚙️ override existing env vars with { override: true }","⚙️ suppress all logs with { quiet: true }","⚙️ write to custom object with { processEnv: myObject }","⚙️ load multiple .env files with { path: ['.env.local', '.env'] }"];function En(){return Dw[Math.floor(Math.random()*Dw.length)]}function AJ($){if(typeof $==="string")return!["false","0","no","off",""].includes($.toLowerCase());return Boolean($)}function Mn(){return process.stdout.isTTY}function Pn($){return Mn()?`\x1B[2m${$}\x1B[0m`:$}var fn=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Ln($){let U={},_=$.toString();_=_.replace(/\r\n?/mg,`
28
+ `);let Q;while((Q=fn.exec(_))!=null){let J=Q[1],G=Q[2]||"";G=G.trim();let Y=G[0];if(G=G.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),Y==='"')G=G.replace(/\\n/g,`
29
+ `),G=G.replace(/\\r/g,"\r");U[J]=G}return U}function Rn($){$=$||{};let U=fw($);$.path=U;let _=R6.configDotenv($);if(!_.parsed){let Y=Error(`MISSING_DATA: Cannot parse ${U} for an unknown reason`);throw Y.code="MISSING_DATA",Y}let Q=Pw($).split(","),J=Q.length,G;for(let Y=0;Y<J;Y++)try{let X=Q[Y].trim(),V=zn(_,X);G=R6.decrypt(V.ciphertext,V.key);break}catch(X){if(Y+1>=J)throw X}return R6.parse(G)}function wn($){console.error(`[dotenv@${JB}][WARN] ${$}`)}function X5($){console.log(`[dotenv@${JB}][DEBUG] ${$}`)}function Mw($){console.log(`[dotenv@${JB}] ${$}`)}function Pw($){if($&&$.DOTENV_KEY&&$.DOTENV_KEY.length>0)return $.DOTENV_KEY;if(process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0)return process.env.DOTENV_KEY;return""}function zn($,U){let _;try{_=new URL(U)}catch(X){if(X.code==="ERR_INVALID_URL"){let V=Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw V.code="INVALID_DOTENV_KEY",V}throw X}let Q=_.password;if(!Q){let X=Error("INVALID_DOTENV_KEY: Missing key part");throw X.code="INVALID_DOTENV_KEY",X}let J=_.searchParams.get("environment");if(!J){let X=Error("INVALID_DOTENV_KEY: Missing environment part");throw X.code="INVALID_DOTENV_KEY",X}let G=`DOTENV_VAULT_${J.toUpperCase()}`,Y=$.parsed[G];if(!Y){let X=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${G} in your .env.vault file.`);throw X.code="NOT_FOUND_DOTENV_ENVIRONMENT",X}return{ciphertext:Y,key:Q}}function fw($){let U=null;if($&&$.path&&$.path.length>0)if(Array.isArray($.path)){for(let _ of $.path)if(_B.existsSync(_))U=_.endsWith(".vault")?_:`${_}.vault`}else U=$.path.endsWith(".vault")?$.path:`${$.path}.vault`;else U=l3.resolve(process.cwd(),".env.vault");if(_B.existsSync(U))return U;return null}function Ew($){return $[0]==="~"?l3.join(On.homedir(),$.slice(1)):$}function An($){let U=AJ(process.env.DOTENV_CONFIG_DEBUG||$&&$.debug),_=AJ(process.env.DOTENV_CONFIG_QUIET||$&&$.quiet);if(U||!_)Mw("Loading env from encrypted .env.vault");let Q=R6._parseVault($),J=process.env;if($&&$.processEnv!=null)J=$.processEnv;return R6.populate(J,Q,$),{parsed:Q}}function kn($){let U=l3.resolve(process.cwd(),".env"),_="utf8",Q=process.env;if($&&$.processEnv!=null)Q=$.processEnv;let J=AJ(Q.DOTENV_CONFIG_DEBUG||$&&$.debug),G=AJ(Q.DOTENV_CONFIG_QUIET||$&&$.quiet);if($&&$.encoding)_=$.encoding;else if(J)X5("No encoding is specified. UTF-8 is used by default");let Y=[U];if($&&$.path)if(!Array.isArray($.path))Y=[Ew($.path)];else{Y=[];for(let Z of $.path)Y.push(Ew(Z))}let X,V={};for(let Z of Y)try{let N=R6.parse(_B.readFileSync(Z,{encoding:_}));R6.populate(V,N,$)}catch(N){if(J)X5(`Failed to load ${Z} ${N.message}`);X=N}let K=R6.populate(Q,V,$);if(J=AJ(Q.DOTENV_CONFIG_DEBUG||J),G=AJ(Q.DOTENV_CONFIG_QUIET||G),J||!G){let Z=Object.keys(K).length,N=[];for(let W of Y)try{let B=l3.relative(process.cwd(),W);N.push(B)}catch(B){if(J)X5(`Failed to load ${W} ${B.message}`);X=B}Mw(`injecting env (${Z}) from ${N.join(",")} ${Pn(`-- tip: ${En()}`)}`)}if(X)return{parsed:V,error:X};else return{parsed:V}}function Tn($){if(Pw($).length===0)return R6.configDotenv($);let U=fw($);if(!U)return wn(`You set DOTENV_KEY but you are missing a .env.vault file at ${U}. Did you forget to build it?`),R6.configDotenv($);return R6._configVault($)}function Sn($,U){let _=Buffer.from(U.slice(-64),"hex"),Q=Buffer.from($,"base64"),J=Q.subarray(0,12),G=Q.subarray(-16);Q=Q.subarray(12,-16);try{let Y=jn.createDecipheriv("aes-256-gcm",_,J);return Y.setAuthTag(G),`${Y.update(Q)}${Y.final()}`}catch(Y){let X=Y instanceof RangeError,V=Y.message==="Invalid key length",K=Y.message==="Unsupported state or unable to authenticate data";if(X||V){let Z=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw Z.code="INVALID_DOTENV_KEY",Z}else if(K){let Z=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw Z.code="DECRYPTION_FAILED",Z}else throw Y}}function In($,U,_={}){let Q=Boolean(_&&_.debug),J=Boolean(_&&_.override),G={};if(typeof U!=="object"){let Y=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw Y.code="OBJECT_REQUIRED",Y}for(let Y of Object.keys(U))if(Object.prototype.hasOwnProperty.call($,Y)){if(J===!0)$[Y]=U[Y],G[Y]=U[Y];if(Q)if(J===!0)X5(`"${Y}" is already defined and WAS overwritten`);else X5(`"${Y}" is already defined and was NOT overwritten`)}else $[Y]=U[Y],G[Y]=U[Y];return G}var R6={configDotenv:kn,_configVault:An,_parseVault:Rn,config:Tn,decrypt:Sn,parse:Ln,populate:In};rV$.configDotenv=R6.configDotenv;rV$._configVault=R6._configVault;rV$._parseVault=R6._parseVault;rV$.config=R6.config;rV$.decrypt=R6.decrypt;rV$.parse=R6.parse;rV$.populate=R6.populate;$2.exports=R6});var ww=e((nV$,Rw)=>{var tU={};if(process.env.DOTENV_CONFIG_ENCODING!=null)tU.encoding=process.env.DOTENV_CONFIG_ENCODING;if(process.env.DOTENV_CONFIG_PATH!=null)tU.path=process.env.DOTENV_CONFIG_PATH;if(process.env.DOTENV_CONFIG_QUIET!=null)tU.quiet=process.env.DOTENV_CONFIG_QUIET;if(process.env.DOTENV_CONFIG_DEBUG!=null)tU.debug=process.env.DOTENV_CONFIG_DEBUG;if(process.env.DOTENV_CONFIG_OVERRIDE!=null)tU.override=process.env.DOTENV_CONFIG_OVERRIDE;if(process.env.DOTENV_CONFIG_DOTENV_KEY!=null)tU.DOTENV_KEY=process.env.DOTENV_CONFIG_DOTENV_KEY;Rw.exports=tU});var Aw=e((pV$,zw)=>{var un=/^dotenv_config_(encoding|path|quiet|debug|override|DOTENV_KEY)=(.+)$/;zw.exports=function(U){let _=U.reduce(function(Q,J){let G=J.match(un);if(G)Q[G[1]]=G[2];return Q},{});if(!("quiet"in _))_.quiet="true";return _}});var kw=e(()=>{(function(){Lw().config(Object.assign({},ww(),Aw()(process.argv)))})()});var n3={};Z0(n3,{toPlainJson:()=>Vp,saveGoatChainUserCache:()=>ZB,normalizeStr:()=>F6,normalizeNum:()=>eU,loadGoatChainUserCache:()=>KB,getGoatChainUserDir:()=>rw});function F6($){return String($??"").trim()||void 0}function eU($){if(typeof $==="number"&&Number.isFinite($))return $;let U=String($??"").trim();if(!U)return;let _=Number(U);return Number.isFinite(_)?_:void 0}function Vp($){return JSON.parse(JSON.stringify($))}async function rw($){let[{homedir:U},_]=await Promise.all([import("node:os"),import("node:path")]),Q=F6($.GOATCHAIN_HOME);if(Q)return _.resolve(Q,"goatchain");let J=F6($.XDG_CONFIG_HOME);if(J)return _.resolve(J,"goatchain","goatchain");return _.resolve(U(),".goatchain","goatchain")}async function KB($){let U=await rw($),[{readFile:_},Q]=await Promise.all([import("node:fs/promises"),import("node:path")]),J=Q.join(U,"cache.json");try{let G=await _(J,"utf8"),Y=JSON.parse(G);if(Y&&typeof Y==="object"&&Y.version===1)return{dir:U,filePath:J,cache:Y}}catch{}return{dir:U,filePath:J,cache:{version:1,updatedAt:0}}}async function ZB($,U){let[{mkdir:_,writeFile:Q,rename:J,chmod:G},Y]=await Promise.all([import("node:fs/promises"),import("node:path")]),X=Y.dirname($);await _(X,{recursive:!0});let V=globalThis.process?.pid??"p",K=`${Date.now()}-${Math.random().toString(16).slice(2)}`,Z=`${$}.${V}.${K}.tmp`,N=`${JSON.stringify(U,null,2)}
30
+ `;await Q(Z,N,{encoding:"utf8",mode:384}),await J(Z,$);try{await G($,384)}catch{}}var M5=e((vq$,LA)=>{var ea=Number.MAX_SAFE_INTEGER||9007199254740991,sa=["major","premajor","minor","preminor","patch","prepatch","prerelease"];LA.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:ea,RELEASE_TYPES:sa,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var P5=e((Cq$,RA)=>{var $t=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};RA.exports=$t});var pJ=e((z0,wA)=>{var{MAX_SAFE_COMPONENT_LENGTH:lB,MAX_SAFE_BUILD_LENGTH:Ut,MAX_LENGTH:_t}=M5(),Jt=P5();z0=wA.exports={};var Qt=z0.re=[],Gt=z0.safeRe=[],w$=z0.src=[],Yt=z0.safeSrc=[],z$=z0.t={},Xt=0,iB="[a-zA-Z0-9-]",Vt=[["\\s",1],["\\d",_t],[iB,Ut]],Kt=($)=>{for(let[U,_]of Vt)$=$.split(`${U}*`).join(`${U}{0,${_}}`).split(`${U}+`).join(`${U}{1,${_}}`);return $},U4=($,U,_)=>{let Q=Kt(U),J=Xt++;Jt($,J,U),z$[$]=J,w$[J]=U,Yt[J]=Q,Qt[J]=new RegExp(U,_?"g":void 0),Gt[J]=new RegExp(Q,_?"g":void 0)};U4("NUMERICIDENTIFIER","0|[1-9]\\d*");U4("NUMERICIDENTIFIERLOOSE","\\d+");U4("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${iB}*`);U4("MAINVERSION",`(${w$[z$.NUMERICIDENTIFIER]})\\.(${w$[z$.NUMERICIDENTIFIER]})\\.(${w$[z$.NUMERICIDENTIFIER]})`);U4("MAINVERSIONLOOSE",`(${w$[z$.NUMERICIDENTIFIERLOOSE]})\\.(${w$[z$.NUMERICIDENTIFIERLOOSE]})\\.(${w$[z$.NUMERICIDENTIFIERLOOSE]})`);U4("PRERELEASEIDENTIFIER",`(?:${w$[z$.NONNUMERICIDENTIFIER]}|${w$[z$.NUMERICIDENTIFIER]})`);U4("PRERELEASEIDENTIFIERLOOSE",`(?:${w$[z$.NONNUMERICIDENTIFIER]}|${w$[z$.NUMERICIDENTIFIERLOOSE]})`);U4("PRERELEASE",`(?:-(${w$[z$.PRERELEASEIDENTIFIER]}(?:\\.${w$[z$.PRERELEASEIDENTIFIER]})*))`);U4("PRERELEASELOOSE",`(?:-?(${w$[z$.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${w$[z$.PRERELEASEIDENTIFIERLOOSE]})*))`);U4("BUILDIDENTIFIER",`${iB}+`);U4("BUILD",`(?:\\+(${w$[z$.BUILDIDENTIFIER]}(?:\\.${w$[z$.BUILDIDENTIFIER]})*))`);U4("FULLPLAIN",`v?${w$[z$.MAINVERSION]}${w$[z$.PRERELEASE]}?${w$[z$.BUILD]}?`);U4("FULL",`^${w$[z$.FULLPLAIN]}$`);U4("LOOSEPLAIN",`[v=\\s]*${w$[z$.MAINVERSIONLOOSE]}${w$[z$.PRERELEASELOOSE]}?${w$[z$.BUILD]}?`);U4("LOOSE",`^${w$[z$.LOOSEPLAIN]}$`);U4("GTLT","((?:<|>)?=?)");U4("XRANGEIDENTIFIERLOOSE",`${w$[z$.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);U4("XRANGEIDENTIFIER",`${w$[z$.NUMERICIDENTIFIER]}|x|X|\\*`);U4("XRANGEPLAIN",`[v=\\s]*(${w$[z$.XRANGEIDENTIFIER]})(?:\\.(${w$[z$.XRANGEIDENTIFIER]})(?:\\.(${w$[z$.XRANGEIDENTIFIER]})(?:${w$[z$.PRERELEASE]})?${w$[z$.BUILD]}?)?)?`);U4("XRANGEPLAINLOOSE",`[v=\\s]*(${w$[z$.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w$[z$.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w$[z$.XRANGEIDENTIFIERLOOSE]})(?:${w$[z$.PRERELEASELOOSE]})?${w$[z$.BUILD]}?)?)?`);U4("XRANGE",`^${w$[z$.GTLT]}\\s*${w$[z$.XRANGEPLAIN]}$`);U4("XRANGELOOSE",`^${w$[z$.GTLT]}\\s*${w$[z$.XRANGEPLAINLOOSE]}$`);U4("COERCEPLAIN",`(^|[^\\d])(\\d{1,${lB}})(?:\\.(\\d{1,${lB}}))?(?:\\.(\\d{1,${lB}}))?`);U4("COERCE",`${w$[z$.COERCEPLAIN]}(?:$|[^\\d])`);U4("COERCEFULL",w$[z$.COERCEPLAIN]+`(?:${w$[z$.PRERELEASE]})?(?:${w$[z$.BUILD]})?(?:$|[^\\d])`);U4("COERCERTL",w$[z$.COERCE],!0);U4("COERCERTLFULL",w$[z$.COERCEFULL],!0);U4("LONETILDE","(?:~>?)");U4("TILDETRIM",`(\\s*)${w$[z$.LONETILDE]}\\s+`,!0);z0.tildeTrimReplace="$1~";U4("TILDE",`^${w$[z$.LONETILDE]}${w$[z$.XRANGEPLAIN]}$`);U4("TILDELOOSE",`^${w$[z$.LONETILDE]}${w$[z$.XRANGEPLAINLOOSE]}$`);U4("LONECARET","(?:\\^)");U4("CARETTRIM",`(\\s*)${w$[z$.LONECARET]}\\s+`,!0);z0.caretTrimReplace="$1^";U4("CARET",`^${w$[z$.LONECARET]}${w$[z$.XRANGEPLAIN]}$`);U4("CARETLOOSE",`^${w$[z$.LONECARET]}${w$[z$.XRANGEPLAINLOOSE]}$`);U4("COMPARATORLOOSE",`^${w$[z$.GTLT]}\\s*(${w$[z$.LOOSEPLAIN]})$|^$`);U4("COMPARATOR",`^${w$[z$.GTLT]}\\s*(${w$[z$.FULLPLAIN]})$|^$`);U4("COMPARATORTRIM",`(\\s*)${w$[z$.GTLT]}\\s*(${w$[z$.LOOSEPLAIN]}|${w$[z$.XRANGEPLAIN]})`,!0);z0.comparatorTrimReplace="$1$2$3";U4("HYPHENRANGE",`^\\s*(${w$[z$.XRANGEPLAIN]})\\s+-\\s+(${w$[z$.XRANGEPLAIN]})\\s*$`);U4("HYPHENRANGELOOSE",`^\\s*(${w$[z$.XRANGEPLAINLOOSE]})\\s+-\\s+(${w$[z$.XRANGEPLAINLOOSE]})\\s*$`);U4("STAR","(<|>)?=?\\s*\\*");U4("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");U4("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var LG=e((yq$,zA)=>{var Zt=Object.freeze({loose:!0}),Wt=Object.freeze({}),Nt=($)=>{if(!$)return Wt;if(typeof $!=="object")return Zt;return $};zA.exports=Nt});var rB=e((bq$,TA)=>{var AA=/^[0-9]+$/,kA=($,U)=>{if(typeof $==="number"&&typeof U==="number")return $===U?0:$<U?-1:1;let _=AA.test($),Q=AA.test(U);if(_&&Q)$=+$,U=+U;return $===U?0:_&&!Q?-1:Q&&!_?1:$<U?-1:1},Ft=($,U)=>kA(U,$);TA.exports={compareIdentifiers:kA,rcompareIdentifiers:Ft}});var i6=e((xq$,IA)=>{var RG=P5(),{MAX_LENGTH:SA,MAX_SAFE_INTEGER:wG}=M5(),{safeRe:zG,t:AG}=pJ(),qt=LG(),{compareIdentifiers:nB}=rB();class Q0{constructor($,U){if(U=qt(U),$ instanceof Q0)if($.loose===!!U.loose&&$.includePrerelease===!!U.includePrerelease)return $;else $=$.version;else if(typeof $!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof $}".`);if($.length>SA)throw TypeError(`version is longer than ${SA} characters`);RG("SemVer",$,U),this.options=U,this.loose=!!U.loose,this.includePrerelease=!!U.includePrerelease;let _=$.trim().match(U.loose?zG[AG.LOOSE]:zG[AG.FULL]);if(!_)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+_[1],this.minor=+_[2],this.patch=+_[3],this.major>wG||this.major<0)throw TypeError("Invalid major version");if(this.minor>wG||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>wG||this.patch<0)throw TypeError("Invalid patch version");if(!_[4])this.prerelease=[];else this.prerelease=_[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let J=+Q;if(J>=0&&J<wG)return J}return Q});this.build=_[5]?_[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare($){if(RG("SemVer.compare",this.version,this.options,$),!($ instanceof Q0)){if(typeof $==="string"&&$===this.version)return 0;$=new Q0($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof Q0))$=new Q0($,this.options);if(this.major<$.major)return-1;if(this.major>$.major)return 1;if(this.minor<$.minor)return-1;if(this.minor>$.minor)return 1;if(this.patch<$.patch)return-1;if(this.patch>$.patch)return 1;return 0}comparePre($){if(!($ instanceof Q0))$=new Q0($,this.options);if(this.prerelease.length&&!$.prerelease.length)return-1;else if(!this.prerelease.length&&$.prerelease.length)return 1;else if(!this.prerelease.length&&!$.prerelease.length)return 0;let U=0;do{let _=this.prerelease[U],Q=$.prerelease[U];if(RG("prerelease compare",U,_,Q),_===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(_===void 0)return-1;else if(_===Q)continue;else return nB(_,Q)}while(++U)}compareBuild($){if(!($ instanceof Q0))$=new Q0($,this.options);let U=0;do{let _=this.build[U],Q=$.build[U];if(RG("build compare",U,_,Q),_===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(_===void 0)return-1;else if(_===Q)continue;else return nB(_,Q)}while(++U)}inc($,U,_){if($.startsWith("pre")){if(!U&&_===!1)throw Error("invalid increment argument: identifier is empty");if(U){let Q=`-${U}`.match(this.options.loose?zG[AG.PRERELEASELOOSE]:zG[AG.PRERELEASE]);if(!Q||Q[1]!==U)throw Error(`invalid identifier: ${U}`)}}switch($){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",U,_);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",U,_);break;case"prepatch":this.prerelease.length=0,this.inc("patch",U,_),this.inc("pre",U,_);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",U,_);this.inc("pre",U,_);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Q=Number(_)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if(U===this.prerelease.join(".")&&_===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if(U){let J=[U,Q];if(_===!1)J=[U];if(nB(this.prerelease[0],U)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${$}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}IA.exports=Q0});var __=e((gq$,CA)=>{var vA=i6(),Bt=($,U,_=!1)=>{if($ instanceof vA)return $;try{return new vA($,U)}catch(Q){if(!_)return null;throw Q}};CA.exports=Bt});var bA=e((hq$,yA)=>{var Ht=__(),Ot=($,U)=>{let _=Ht($,U);return _?_.version:null};yA.exports=Ot});var gA=e((uq$,xA)=>{var jt=__(),Dt=($,U)=>{let _=jt($.trim().replace(/^[=v]+/,""),U);return _?_.version:null};xA.exports=Dt});var mA=e((mq$,uA)=>{var hA=i6(),Et=($,U,_,Q,J)=>{if(typeof _==="string")J=Q,Q=_,_=void 0;try{return new hA($ instanceof hA?$.version:$,_).inc(U,Q,J).version}catch(G){return null}};uA.exports=Et});var lA=e((cq$,dA)=>{var cA=__(),Mt=($,U)=>{let _=cA($,null,!0),Q=cA(U,null,!0),J=_.compare(Q);if(J===0)return null;let G=J>0,Y=G?_:Q,X=G?Q:_,V=!!Y.prerelease.length;if(!!X.prerelease.length&&!V){if(!X.patch&&!X.minor)return"major";if(X.compareMain(Y)===0){if(X.minor&&!X.patch)return"minor";return"patch"}}let Z=V?"pre":"";if(_.major!==Q.major)return Z+"major";if(_.minor!==Q.minor)return Z+"minor";if(_.patch!==Q.patch)return Z+"patch";return"prerelease"};dA.exports=Mt});var rA=e((dq$,iA)=>{var Pt=i6(),ft=($,U)=>new Pt($,U).major;iA.exports=ft});var pA=e((lq$,nA)=>{var Lt=i6(),Rt=($,U)=>new Lt($,U).minor;nA.exports=Rt});var aA=e((iq$,oA)=>{var wt=i6(),zt=($,U)=>new wt($,U).patch;oA.exports=zt});var eA=e((rq$,tA)=>{var At=__(),kt=($,U)=>{let _=At($,U);return _&&_.prerelease.length?_.prerelease:null};tA.exports=kt});var d1=e((nq$,$k)=>{var sA=i6(),Tt=($,U,_)=>new sA($,_).compare(new sA(U,_));$k.exports=Tt});var _k=e((pq$,Uk)=>{var St=d1(),It=($,U,_)=>St(U,$,_);Uk.exports=It});var Qk=e((oq$,Jk)=>{var vt=d1(),Ct=($,U)=>vt($,U,!0);Jk.exports=Ct});var kG=e((aq$,Yk)=>{var Gk=i6(),yt=($,U,_)=>{let Q=new Gk($,_),J=new Gk(U,_);return Q.compare(J)||Q.compareBuild(J)};Yk.exports=yt});var Vk=e((tq$,Xk)=>{var bt=kG(),xt=($,U)=>$.sort((_,Q)=>bt(_,Q,U));Xk.exports=xt});var Zk=e((eq$,Kk)=>{var gt=kG(),ht=($,U)=>$.sort((_,Q)=>gt(Q,_,U));Kk.exports=ht});var f5=e((sq$,Wk)=>{var ut=d1(),mt=($,U,_)=>ut($,U,_)>0;Wk.exports=mt});var TG=e(($B$,Nk)=>{var ct=d1(),dt=($,U,_)=>ct($,U,_)<0;Nk.exports=dt});var pB=e((UB$,Fk)=>{var lt=d1(),it=($,U,_)=>lt($,U,_)===0;Fk.exports=it});var oB=e((_B$,qk)=>{var rt=d1(),nt=($,U,_)=>rt($,U,_)!==0;qk.exports=nt});var SG=e((JB$,Bk)=>{var pt=d1(),ot=($,U,_)=>pt($,U,_)>=0;Bk.exports=ot});var IG=e((QB$,Hk)=>{var at=d1(),tt=($,U,_)=>at($,U,_)<=0;Hk.exports=tt});var aB=e((GB$,Ok)=>{var et=pB(),st=oB(),$e=f5(),Ue=SG(),_e=TG(),Je=IG(),Qe=($,U,_,Q)=>{switch(U){case"===":if(typeof $==="object")$=$.version;if(typeof _==="object")_=_.version;return $===_;case"!==":if(typeof $==="object")$=$.version;if(typeof _==="object")_=_.version;return $!==_;case"":case"=":case"==":return et($,_,Q);case"!=":return st($,_,Q);case">":return $e($,_,Q);case">=":return Ue($,_,Q);case"<":return _e($,_,Q);case"<=":return Je($,_,Q);default:throw TypeError(`Invalid operator: ${U}`)}};Ok.exports=Qe});var Dk=e((YB$,jk)=>{var Ge=i6(),Ye=__(),{safeRe:vG,t:CG}=pJ(),Xe=($,U)=>{if($ instanceof Ge)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;U=U||{};let _=null;if(!U.rtl)_=$.match(U.includePrerelease?vG[CG.COERCEFULL]:vG[CG.COERCE]);else{let V=U.includePrerelease?vG[CG.COERCERTLFULL]:vG[CG.COERCERTL],K;while((K=V.exec($))&&(!_||_.index+_[0].length!==$.length)){if(!_||K.index+K[0].length!==_.index+_[0].length)_=K;V.lastIndex=K.index+K[1].length+K[2].length}V.lastIndex=-1}if(_===null)return null;let Q=_[2],J=_[3]||"0",G=_[4]||"0",Y=U.includePrerelease&&_[5]?`-${_[5]}`:"",X=U.includePrerelease&&_[6]?`+${_[6]}`:"";return Ye(`${Q}.${J}.${G}${Y}${X}`,U)};jk.exports=Xe});var Pk=e((XB$,Mk)=>{class Ek{constructor(){this.max=1000,this.map=new Map}get($){let U=this.map.get($);if(U===void 0)return;else return this.map.delete($),this.map.set($,U),U}delete($){return this.map.delete($)}set($,U){if(!this.delete($)&&U!==void 0){if(this.map.size>=this.max){let Q=this.map.keys().next().value;this.delete(Q)}this.map.set($,U)}return this}}Mk.exports=Ek});var l1=e((VB$,wk)=>{var Ve=/\s+/g;class L5{constructor($,U){if(U=Ze(U),$ instanceof L5)if($.loose===!!U.loose&&$.includePrerelease===!!U.includePrerelease)return $;else return new L5($.raw,U);if($ instanceof tB)return this.raw=$.value,this.set=[[$]],this.formatted=void 0,this;if(this.options=U,this.loose=!!U.loose,this.includePrerelease=!!U.includePrerelease,this.raw=$.trim().replace(Ve," "),this.set=this.raw.split("||").map((_)=>this.parseRange(_.trim())).filter((_)=>_.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let _=this.set[0];if(this.set=this.set.filter((Q)=>!Lk(Q[0])),this.set.length===0)this.set=[_];else if(this.set.length>1){for(let Q of this.set)if(Q.length===1&&Oe(Q[0])){this.set=[Q];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let $=0;$<this.set.length;$++){if($>0)this.formatted+="||";let U=this.set[$];for(let _=0;_<U.length;_++){if(_>0)this.formatted+=" ";this.formatted+=U[_].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange($){let _=((this.options.includePrerelease&&Be)|(this.options.loose&&He))+":"+$,Q=fk.get(_);if(Q)return Q;let J=this.options.loose,G=J?U1[r6.HYPHENRANGELOOSE]:U1[r6.HYPHENRANGE];$=$.replace(G,ze(this.options.includePrerelease)),e4("hyphen replace",$),$=$.replace(U1[r6.COMPARATORTRIM],Ne),e4("comparator trim",$),$=$.replace(U1[r6.TILDETRIM],Fe),e4("tilde trim",$),$=$.replace(U1[r6.CARETTRIM],qe),e4("caret trim",$);let Y=$.split(" ").map((Z)=>je(Z,this.options)).join(" ").split(/\s+/).map((Z)=>we(Z,this.options));if(J)Y=Y.filter((Z)=>{return e4("loose invalid filter",Z,this.options),!!Z.match(U1[r6.COMPARATORLOOSE])});e4("range list",Y);let X=new Map,V=Y.map((Z)=>new tB(Z,this.options));for(let Z of V){if(Lk(Z))return[Z];X.set(Z.value,Z)}if(X.size>1&&X.has(""))X.delete("");let K=[...X.values()];return fk.set(_,K),K}intersects($,U){if(!($ instanceof L5))throw TypeError("a Range is required");return this.set.some((_)=>{return Rk(_,U)&&$.set.some((Q)=>{return Rk(Q,U)&&_.every((J)=>{return Q.every((G)=>{return J.intersects(G,U)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new We($,this.options)}catch(U){return!1}for(let U=0;U<this.set.length;U++)if(Ae(this.set[U],$,this.options))return!0;return!1}}wk.exports=L5;var Ke=Pk(),fk=new Ke,Ze=LG(),tB=R5(),e4=P5(),We=i6(),{safeRe:U1,t:r6,comparatorTrimReplace:Ne,tildeTrimReplace:Fe,caretTrimReplace:qe}=pJ(),{FLAG_INCLUDE_PRERELEASE:Be,FLAG_LOOSE:He}=M5(),Lk=($)=>$.value==="<0.0.0-0",Oe=($)=>$.value==="",Rk=($,U)=>{let _=!0,Q=$.slice(),J=Q.pop();while(_&&Q.length)_=Q.every((G)=>{return J.intersects(G,U)}),J=Q.pop();return _},je=($,U)=>{return $=$.replace(U1[r6.BUILD],""),e4("comp",$,U),$=Me($,U),e4("caret",$),$=De($,U),e4("tildes",$),$=fe($,U),e4("xrange",$),$=Re($,U),e4("stars",$),$},_1=($)=>!$||$.toLowerCase()==="x"||$==="*",De=($,U)=>{return $.trim().split(/\s+/).map((_)=>Ee(_,U)).join(" ")},Ee=($,U)=>{let _=U.loose?U1[r6.TILDELOOSE]:U1[r6.TILDE];return $.replace(_,(Q,J,G,Y,X)=>{e4("tilde",$,Q,J,G,Y,X);let V;if(_1(J))V="";else if(_1(G))V=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(_1(Y))V=`>=${J}.${G}.0 <${J}.${+G+1}.0-0`;else if(X)e4("replaceTilde pr",X),V=`>=${J}.${G}.${Y}-${X} <${J}.${+G+1}.0-0`;else V=`>=${J}.${G}.${Y} <${J}.${+G+1}.0-0`;return e4("tilde return",V),V})},Me=($,U)=>{return $.trim().split(/\s+/).map((_)=>Pe(_,U)).join(" ")},Pe=($,U)=>{e4("caret",$,U);let _=U.loose?U1[r6.CARETLOOSE]:U1[r6.CARET],Q=U.includePrerelease?"-0":"";return $.replace(_,(J,G,Y,X,V)=>{e4("caret",$,J,G,Y,X,V);let K;if(_1(G))K="";else if(_1(Y))K=`>=${G}.0.0${Q} <${+G+1}.0.0-0`;else if(_1(X))if(G==="0")K=`>=${G}.${Y}.0${Q} <${G}.${+Y+1}.0-0`;else K=`>=${G}.${Y}.0${Q} <${+G+1}.0.0-0`;else if(V)if(e4("replaceCaret pr",V),G==="0")if(Y==="0")K=`>=${G}.${Y}.${X}-${V} <${G}.${Y}.${+X+1}-0`;else K=`>=${G}.${Y}.${X}-${V} <${G}.${+Y+1}.0-0`;else K=`>=${G}.${Y}.${X}-${V} <${+G+1}.0.0-0`;else if(e4("no pr"),G==="0")if(Y==="0")K=`>=${G}.${Y}.${X}${Q} <${G}.${Y}.${+X+1}-0`;else K=`>=${G}.${Y}.${X}${Q} <${G}.${+Y+1}.0-0`;else K=`>=${G}.${Y}.${X} <${+G+1}.0.0-0`;return e4("caret return",K),K})},fe=($,U)=>{return e4("replaceXRanges",$,U),$.split(/\s+/).map((_)=>Le(_,U)).join(" ")},Le=($,U)=>{$=$.trim();let _=U.loose?U1[r6.XRANGELOOSE]:U1[r6.XRANGE];return $.replace(_,(Q,J,G,Y,X,V)=>{e4("xRange",$,Q,J,G,Y,X,V);let K=_1(G),Z=K||_1(Y),N=Z||_1(X),W=N;if(J==="="&&W)J="";if(V=U.includePrerelease?"-0":"",K)if(J===">"||J==="<")Q="<0.0.0-0";else Q="*";else if(J&&W){if(Z)Y=0;if(X=0,J===">")if(J=">=",Z)G=+G+1,Y=0,X=0;else Y=+Y+1,X=0;else if(J==="<=")if(J="<",Z)G=+G+1;else Y=+Y+1;if(J==="<")V="-0";Q=`${J+G}.${Y}.${X}${V}`}else if(Z)Q=`>=${G}.0.0${V} <${+G+1}.0.0-0`;else if(N)Q=`>=${G}.${Y}.0${V} <${G}.${+Y+1}.0-0`;return e4("xRange return",Q),Q})},Re=($,U)=>{return e4("replaceStars",$,U),$.trim().replace(U1[r6.STAR],"")},we=($,U)=>{return e4("replaceGTE0",$,U),$.trim().replace(U1[U.includePrerelease?r6.GTE0PRE:r6.GTE0],"")},ze=($)=>(U,_,Q,J,G,Y,X,V,K,Z,N,W)=>{if(_1(Q))_="";else if(_1(J))_=`>=${Q}.0.0${$?"-0":""}`;else if(_1(G))_=`>=${Q}.${J}.0${$?"-0":""}`;else if(Y)_=`>=${_}`;else _=`>=${_}${$?"-0":""}`;if(_1(K))V="";else if(_1(Z))V=`<${+K+1}.0.0-0`;else if(_1(N))V=`<${K}.${+Z+1}.0-0`;else if(W)V=`<=${K}.${Z}.${N}-${W}`;else if($)V=`<${K}.${Z}.${+N+1}-0`;else V=`<=${V}`;return`${_} ${V}`.trim()},Ae=($,U,_)=>{for(let Q=0;Q<$.length;Q++)if(!$[Q].test(U))return!1;if(U.prerelease.length&&!_.includePrerelease){for(let Q=0;Q<$.length;Q++){if(e4($[Q].semver),$[Q].semver===tB.ANY)continue;if($[Q].semver.prerelease.length>0){let J=$[Q].semver;if(J.major===U.major&&J.minor===U.minor&&J.patch===U.patch)return!0}}return!1}return!0}});var R5=e((KB$,Ik)=>{var w5=Symbol("SemVer ANY");class yG{static get ANY(){return w5}constructor($,U){if(U=zk(U),$ instanceof yG)if($.loose===!!U.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),sB("comparator",$,U),this.options=U,this.loose=!!U.loose,this.parse($),this.semver===w5)this.value="";else this.value=this.operator+this.semver.version;sB("comp",this)}parse($){let U=this.options.loose?Ak[kk.COMPARATORLOOSE]:Ak[kk.COMPARATOR],_=$.match(U);if(!_)throw TypeError(`Invalid comparator: ${$}`);if(this.operator=_[1]!==void 0?_[1]:"",this.operator==="=")this.operator="";if(!_[2])this.semver=w5;else this.semver=new Tk(_[2],this.options.loose)}toString(){return this.value}test($){if(sB("Comparator.test",$,this.options.loose),this.semver===w5||$===w5)return!0;if(typeof $==="string")try{$=new Tk($,this.options)}catch(U){return!1}return eB($,this.operator,this.semver,this.options)}intersects($,U){if(!($ instanceof yG))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new Sk($.value,U).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new Sk(this.value,U).test($.semver)}if(U=zk(U),U.includePrerelease&&(this.value==="<0.0.0-0"||$.value==="<0.0.0-0"))return!1;if(!U.includePrerelease&&(this.value.startsWith("<0.0.0")||$.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&$.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&$.operator.startsWith("<"))return!0;if(this.semver.version===$.semver.version&&this.operator.includes("=")&&$.operator.includes("="))return!0;if(eB(this.semver,"<",$.semver,U)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(eB(this.semver,">",$.semver,U)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}Ik.exports=yG;var zk=LG(),{safeRe:Ak,t:kk}=pJ(),eB=aB(),sB=P5(),Tk=i6(),Sk=l1()});var z5=e((ZB$,vk)=>{var ke=l1(),Te=($,U,_)=>{try{U=new ke(U,_)}catch(Q){return!1}return U.test($)};vk.exports=Te});var yk=e((WB$,Ck)=>{var Se=l1(),Ie=($,U)=>new Se($,U).set.map((_)=>_.map((Q)=>Q.value).join(" ").trim().split(" "));Ck.exports=Ie});var xk=e((NB$,bk)=>{var ve=i6(),Ce=l1(),ye=($,U,_)=>{let Q=null,J=null,G=null;try{G=new Ce(U,_)}catch(Y){return null}return $.forEach((Y)=>{if(G.test(Y)){if(!Q||J.compare(Y)===-1)Q=Y,J=new ve(Q,_)}}),Q};bk.exports=ye});var hk=e((FB$,gk)=>{var be=i6(),xe=l1(),ge=($,U,_)=>{let Q=null,J=null,G=null;try{G=new xe(U,_)}catch(Y){return null}return $.forEach((Y)=>{if(G.test(Y)){if(!Q||J.compare(Y)===1)Q=Y,J=new be(Q,_)}}),Q};gk.exports=ge});var ck=e((qB$,mk)=>{var $H=i6(),he=l1(),uk=f5(),ue=($,U)=>{$=new he($,U);let _=new $H("0.0.0");if($.test(_))return _;if(_=new $H("0.0.0-0"),$.test(_))return _;_=null;for(let Q=0;Q<$.set.length;++Q){let J=$.set[Q],G=null;if(J.forEach((Y)=>{let X=new $H(Y.semver.version);switch(Y.operator){case">":if(X.prerelease.length===0)X.patch++;else X.prerelease.push(0);X.raw=X.format();case"":case">=":if(!G||uk(X,G))G=X;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${Y.operator}`)}}),G&&(!_||uk(_,G)))_=G}if(_&&$.test(_))return _;return null};mk.exports=ue});var lk=e((BB$,dk)=>{var me=l1(),ce=($,U)=>{try{return new me($,U).range||"*"}catch(_){return null}};dk.exports=ce});var bG=e((HB$,pk)=>{var de=i6(),nk=R5(),{ANY:le}=nk,ie=l1(),re=z5(),ik=f5(),rk=TG(),ne=IG(),pe=SG(),oe=($,U,_,Q)=>{$=new de($,Q),U=new ie(U,Q);let J,G,Y,X,V;switch(_){case">":J=ik,G=ne,Y=rk,X=">",V=">=";break;case"<":J=rk,G=pe,Y=ik,X="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(re($,U,Q))return!1;for(let K=0;K<U.set.length;++K){let Z=U.set[K],N=null,W=null;if(Z.forEach((B)=>{if(B.semver===le)B=new nk(">=0.0.0");if(N=N||B,W=W||B,J(B.semver,N.semver,Q))N=B;else if(Y(B.semver,W.semver,Q))W=B}),N.operator===X||N.operator===V)return!1;if((!W.operator||W.operator===X)&&G($,W.semver))return!1;else if(W.operator===V&&Y($,W.semver))return!1}return!0};pk.exports=oe});var ak=e((OB$,ok)=>{var ae=bG(),te=($,U,_)=>ae($,U,">",_);ok.exports=te});var ek=e((jB$,tk)=>{var ee=bG(),se=($,U,_)=>ee($,U,"<",_);tk.exports=se});var UT=e((DB$,$T)=>{var sk=l1(),$s=($,U,_)=>{return $=new sk($,_),U=new sk(U,_),$.intersects(U,_)};$T.exports=$s});var JT=e((EB$,_T)=>{var Us=z5(),_s=d1();_T.exports=($,U,_)=>{let Q=[],J=null,G=null,Y=$.sort((Z,N)=>_s(Z,N,_));for(let Z of Y)if(Us(Z,U,_)){if(G=Z,!J)J=Z}else{if(G)Q.push([J,G]);G=null,J=null}if(J)Q.push([J,null]);let X=[];for(let[Z,N]of Q)if(Z===N)X.push(Z);else if(!N&&Z===Y[0])X.push("*");else if(!N)X.push(`>=${Z}`);else if(Z===Y[0])X.push(`<=${N}`);else X.push(`${Z} - ${N}`);let V=X.join(" || "),K=typeof U.raw==="string"?U.raw:String(U);return V.length<K.length?V:U}});var KT=e((MB$,VT)=>{var QT=l1(),_H=R5(),{ANY:UH}=_H,A5=z5(),JH=d1(),Js=($,U,_={})=>{if($===U)return!0;$=new QT($,_),U=new QT(U,_);let Q=!1;$:for(let J of $.set){for(let G of U.set){let Y=Gs(J,G,_);if(Q=Q||Y!==null,Y)continue $}if(Q)return!1}return!0},Qs=[new _H(">=0.0.0-0")],GT=[new _H(">=0.0.0")],Gs=($,U,_)=>{if($===U)return!0;if($.length===1&&$[0].semver===UH)if(U.length===1&&U[0].semver===UH)return!0;else if(_.includePrerelease)$=Qs;else $=GT;if(U.length===1&&U[0].semver===UH)if(_.includePrerelease)return!0;else U=GT;let Q=new Set,J,G;for(let B of $)if(B.operator===">"||B.operator===">=")J=YT(J,B,_);else if(B.operator==="<"||B.operator==="<=")G=XT(G,B,_);else Q.add(B.semver);if(Q.size>1)return null;let Y;if(J&&G){if(Y=JH(J.semver,G.semver,_),Y>0)return null;else if(Y===0&&(J.operator!==">="||G.operator!=="<="))return null}for(let B of Q){if(J&&!A5(B,String(J),_))return null;if(G&&!A5(B,String(G),_))return null;for(let q of U)if(!A5(B,String(q),_))return!1;return!0}let X,V,K,Z,N=G&&!_.includePrerelease&&G.semver.prerelease.length?G.semver:!1,W=J&&!_.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(N&&N.prerelease.length===1&&G.operator==="<"&&N.prerelease[0]===0)N=!1;for(let B of U){if(Z=Z||B.operator===">"||B.operator===">=",K=K||B.operator==="<"||B.operator==="<=",J){if(W){if(B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===W.major&&B.semver.minor===W.minor&&B.semver.patch===W.patch)W=!1}if(B.operator===">"||B.operator===">="){if(X=YT(J,B,_),X===B&&X!==J)return!1}else if(J.operator===">="&&!A5(J.semver,String(B),_))return!1}if(G){if(N){if(B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===N.major&&B.semver.minor===N.minor&&B.semver.patch===N.patch)N=!1}if(B.operator==="<"||B.operator==="<="){if(V=XT(G,B,_),V===B&&V!==G)return!1}else if(G.operator==="<="&&!A5(G.semver,String(B),_))return!1}if(!B.operator&&(G||J)&&Y!==0)return!1}if(J&&K&&!G&&Y!==0)return!1;if(G&&Z&&!J&&Y!==0)return!1;if(W||N)return!1;return!0},YT=($,U,_)=>{if(!$)return U;let Q=JH($.semver,U.semver,_);return Q>0?$:Q<0?U:U.operator===">"&&$.operator===">="?U:$},XT=($,U,_)=>{if(!$)return U;let Q=JH($.semver,U.semver,_);return Q<0?$:Q>0?U:U.operator==="<"&&$.operator==="<="?U:$};VT.exports=Js});var FT=e((PB$,NT)=>{var QH=pJ(),ZT=M5(),Ys=i6(),WT=rB(),Xs=__(),Vs=bA(),Ks=gA(),Zs=mA(),Ws=lA(),Ns=rA(),Fs=pA(),qs=aA(),Bs=eA(),Hs=d1(),Os=_k(),js=Qk(),Ds=kG(),Es=Vk(),Ms=Zk(),Ps=f5(),fs=TG(),Ls=pB(),Rs=oB(),ws=SG(),zs=IG(),As=aB(),ks=Dk(),Ts=R5(),Ss=l1(),Is=z5(),vs=yk(),Cs=xk(),ys=hk(),bs=ck(),xs=lk(),gs=bG(),hs=ak(),us=ek(),ms=UT(),cs=JT(),ds=KT();NT.exports={parse:Xs,valid:Vs,clean:Ks,inc:Zs,diff:Ws,major:Ns,minor:Fs,patch:qs,prerelease:Bs,compare:Hs,rcompare:Os,compareLoose:js,compareBuild:Ds,sort:Es,rsort:Ms,gt:Ps,lt:fs,eq:Ls,neq:Rs,gte:ws,lte:zs,cmp:As,coerce:ks,Comparator:Ts,Range:Ss,satisfies:Is,toComparators:vs,maxSatisfying:Cs,minSatisfying:ys,minVersion:bs,validRange:xs,outside:gs,gtr:hs,ltr:us,intersects:ms,simplifyRange:cs,subset:ds,SemVer:Ys,re:QH.re,src:QH.src,tokens:QH.t,SEMVER_SPEC_VERSION:ZT.SEMVER_SPEC_VERSION,RELEASE_TYPES:ZT.RELEASE_TYPES,compareIdentifiers:WT.compareIdentifiers,rcompareIdentifiers:WT.rcompareIdentifiers}});import{appendFileSync as q6$,writeFileSync as B6$}from"node:fs";function pH($){return $.includes("-h")||$.includes("--help")}function oH(){return"Usage: vue-terminal run [--app goatchain|basic] [--route name] [--approvals auto|all] [--auto-approve|-y] [--cols N --rows N] [--record file] [--replay file] [--snapshot file] [--no-mouse] [--no-alt-screen] [--debug] (default: --app goatchain --route home)"}function aH($,U){let _=U?.stdout,Q=Number.isFinite(_?.columns)?Number(_?.columns):80,J=Number.isFinite(_?.rows)?Number(_?.rows):24,G=Q,Y=J,X=!1,V=!1,K="goatchain",Z="home",N=null,W=null,B=null,q=!0,O=!0,M=null,P=!1;for(let H=0;H<$.length;H++){let z=$[H];if(z==="--cols")G=Number.parseInt($[++H]??"",10),X=!0;else if(z==="--rows")Y=Number.parseInt($[++H]??"",10),V=!0;else if(z==="--app"||z==="--example")K=String($[++H]??K);else if(z==="--route"||z==="--initial-route")Z=String($[++H]??Z);else if(z==="--approvals"||z==="--approval"){let A=String($[++H]??"").trim().toLowerCase();if(A==="auto")M="auto";else if(A==="all"||A==="on"||A==="yes"||A==="true"||A==="1")M="all"}else if(z==="--auto-approve"||z==="--yes"||z==="-y")M="all";else if(z==="--record")N=$[++H]??null;else if(z==="--replay")W=$[++H]??null;else if(z==="--snapshot")B=$[++H]??null;else if(z==="--no-mouse")q=!1;else if(z==="--no-alt-screen")O=!1;else if(z==="--debug")P=!0}return G=Math.max(10,Math.floor(G||Q)),Y=Math.max(5,Math.floor(Y||J)),{cols:G,rows:Y,sizeLocked:X||V,app:K,initialRoute:Z,recordPath:N,replayPath:W,snapshotPath:B,enableMouse:q,altScreen:O,approvals:M,debug:P}}function tH($){let _=["# GoatChain error","","```text",$ instanceof Error?$.stack||$.message:String($),"```"].join(`
31
+ `);return{async*receiveMessage(Q){yield{role:"assistant",content:_,metadata:{done:!0,error:!0,stopReason:"error",originalEventType:"done"}}}}}import{randomUUID as Up}from"node:crypto";import{encoding_for_model as uI,get_encoding as mI}from"tiktoken";var cI="gpt-4o";function g0($,U){if(!$)return 0;let _=null;try{return _=uI(U??cI),_.encode($).length}catch(Q){console.error("Error encoding text:",Q);try{return _=mI("cl100k_base"),_.encode($).length}catch{return Math.ceil($.length/4)}}finally{_?.free()}}function eH($,U){if(typeof $==="string")return g0($,U);if(Array.isArray($))return $.reduce((_,Q)=>{if(typeof Q==="object"&&Q!==null&&"text"in Q)return _+g0(String(Q.text),U);return _},0);return 0}function sH($,U){try{let _=JSON.stringify($);return g0(_,U)}catch{return dI($,U)}}function dI($,U){let Q=4;if(Q+=eH($.content,U),$.role==="assistant"&&$.tool_calls)for(let J of $.tool_calls){Q+=g0(J.function.name,U);let G=typeof J.function.arguments==="string"?J.function.arguments:JSON.stringify(J.function.arguments);Q+=g0(G,U),Q+=10}if($.role==="tool"&&$.name)Q+=g0($.name,U);if($.role==="assistant"&&$.reasoning_content)Q+=g0($.reasoning_content,U);return Q}function N_($,U){if(!$||$.length===0)return 0;try{let _=JSON.stringify($);return g0(_,U)}catch{return $.reduce((Q,J)=>Q+sH(J,U),3)}}var v6={CHECKPOINT:"checkpoint",COMPRESSION:"compression",SESSION:"session",COMPRESSION_SNAPSHOT:"compression-snapshot"};function h0($,U,_="[Previous conversation context]"){let Q=[...$],J=Q.findIndex((W)=>W.role==="system");if(J===-1)return Q;let G=Q[J],Y=G.content;if(!U||U.trim().length===0)return Q;let V={type:"text",text:`${_}
32
+
33
+ ${U}`},Z=[...lI(Y,_),V],N={...G,content:Z};return Q[J]=N,Q}function lI($,U){let _=(Q)=>{let J=Q.indexOf(U);if(J>=0)return Q.slice(0,J).trimEnd();return Q};if(typeof $==="string"){let Q=_($);return Q.trim().length>0?[{type:"text",text:Q}]:[]}if(Array.isArray($)){let Q=[];for(let J of $){if(typeof J==="string"){let G=_(J);if(G.trim().length>0)Q.push({type:"text",text:G});continue}if(J&&typeof J==="object"&&"type"in J){let G=J;if(G.type==="text"){let Y=typeof G.text==="string"?G.text:"",X=_(Y);if(X.trim().length>0)Q.push({...G,text:X});continue}Q.push(G)}}return Q}if($&&typeof $==="object"&&"type"in $){let Q=$;if(Q.type==="text"){let J=typeof Q.text==="string"?Q.text:"",G=_(J);return G.trim().length>0?[{...Q,text:G}]:[]}return[Q]}return[]}function zY($,U){let _=[...$],Q=-1;for(let K=_.length-1;K>=0;K--)if(_[K].role==="user"){Q=K;break}if(Q===-1){let K={role:"user",content:U};return[..._,K]}let J=_[Q],G=J.content,Y,X={type:"text",text:U};if(typeof G==="string")Y=[{type:"text",text:G},X];else if(Array.isArray(G))Y=[...G,X];else Y=[G,X];let V={...J,content:Y};return _[Q]=V,_}var $O="[Old tool result content cleared]",iI=`
34
+ Summarize the conversation context for future continuation.
35
+
36
+ Rules:
37
+ - Be concise and factual
38
+ - Use bullet points (6-12 bullets)
39
+ - Include: user goals, key decisions, files/paths touched, unresolved issues, next steps
40
+ - Keep under 1200 characters
41
+ - If existing summary provided, merge old + new into one consolidated summary
42
+ - Remove redundancy and repeated facts
43
+
44
+ Existing summary (if any):
45
+ {{existingSummary}}
46
+
47
+ Content to summarize:
48
+ {{content}}
49
+ `;function NU($){let{maxTokens:U,protectedTurns:_=0,model:Q,stateStore:J,toolCompressionTarget:G=0.45,minKeepToolResults:Y=5}=$,X=Math.floor(U*0.5),V=Math.floor(U*0.8),K=async(Z,N)=>{let W=await J.load(Z.sessionId,v6.COMPRESSION),B=Z.messages;if(W?.summary)B=h0(B,W.summary);let q=N_(B),O=0,M=0,P=W?.summary,H=!1;if(q>V){let T=tI(B),L=eI(B,_),k=await nI(B,Q,W?.summary,T,L);if(k.summaryApplied)B=k.compressedMessages,P=k.newSummary,M=k.removedCount,H=!0,B=h0(B,P)}if((H?N_(B):q)>X){let T=Math.floor(U*G),L=rI(B,T,Y);B=L.compressedMessages,O=L.clearedCount}let A=H||O>0,E=A?N_(B):q,D=A?Date.now():0;if(H){let T={tokensBefore:q,tokensAfter:E,clearedToolOutputs:O,removedMessages:M,summaryGenerated:!0,timestamp:D},L={lastStats:T,history:[...W?.history??[],T],summary:P,updatedAt:D};await J.save(Z.sessionId,v6.COMPRESSION,L)}let j={...Z,messages:B,metadata:A?{...Z.metadata,lastCompression:{tokensBefore:q,tokensAfter:E,clearedToolOutputs:O,removedMessages:M,summaryGenerated:H,timestamp:D}}:Z.metadata};return N(j)};return K.__middlewareName="context-compression",K}function rI($,U,_){let Q=[];if($.forEach((V,K)=>{if(V.role==="tool")Q.push(K)}),Q.length===0)return{compressedMessages:$,clearedCount:0};let J=Math.min(_,Q.length),G=Q.slice(0,Q.length-J),Y=$,X=0;for(let V of G){let K=Y[V];if(typeof K.content==="string"&&K.content===$O)continue;if(Y=Y.map((N,W)=>{if(W===V)return{...K,content:$O};return N}),X++,N_(Y)<=U)break}return{compressedMessages:Y,clearedCount:X}}async function nI($,U,_,Q,J){let G=$.slice(Q,J);if(G.length===0)return{compressedMessages:$,newSummary:_??"",removedCount:0,summaryApplied:!1};let Y=pI(G),X=await oI(Y,U,_);if(!X)return{compressedMessages:$,newSummary:_??"",removedCount:0,summaryApplied:!1};return{compressedMessages:[...$.slice(0,Q),...$.slice(J)],newSummary:X,removedCount:G.length,summaryApplied:!0}}function pI($){let U=[];for(let _ of $)if(_.role==="user"){let Q=typeof _.content==="string"?_.content:JSON.stringify(_.content);U.push(`## User
50
+ ${Q}`)}else if(_.role==="assistant"){let Q=typeof _.content==="string"?_.content:JSON.stringify(_.content);U.push(`## Assistant
51
+ ${Q}`)}else if(_.role==="tool"){let Q=_,J=typeof Q.content==="string"?Q.content:JSON.stringify(Q.content),G=J.length>5000?`${J.slice(0,5000)}...[truncated]`:J;U.push(`## Tool: ${Q.name||"unknown"}
52
+ ${G}`)}return U.join(`
53
+
54
+ ---
55
+
56
+ `)}async function oI($,U,_,Q){let J=aI(Q??iI,_,$),G=[{role:"system",content:"You are a helpful assistant that creates concise rolling summaries."},{role:"user",content:J}],Y="";for await(let X of U.stream({messages:G,maxOutputTokens:500}))if(X.type==="delta"&&X.chunk.kind==="text")Y+=X.chunk.text;else if(X.type==="response_end")break;return Y.trim()}function aI($,U,_){let Q=$.includes("{{existingSummary}}"),J=$.includes("{{content}}"),G=$;if(Q)G=G.replace("{{existingSummary}}",U??"(none)");if(J)G=G.replace("{{content}}",_);if(Q&&J)return G;let Y=[];if(!Q)Y.push(`Existing summary (if any):
57
+ ${U??"(none)"}`);if(!J)Y.push(`Content to summarize:
58
+ ${_}`);return`${G.trim()}
59
+
60
+ ${Y.join(`
61
+
62
+ `)}
63
+ `}function tI($){let U=-1;for(let Q=0;Q<$.length;Q++)if($[Q].role==="user"){U=Q;break}if(U===-1)return 0;let _=-1;for(let Q=U+1;Q<$.length;Q++)if($[Q].role==="assistant"){_=Q;break}if(_===-1)return U+1;for(let Q=_+1;Q<$.length;Q++)if($[Q].role==="user")return Q;return $.length}function eI($,U){if(U<=0)return $.length;let _=0,Q=[];for(let G=$.length-1;G>=0;G--)if($[G].role==="user"){if(_++,Q.unshift(G),_>=U)return G}let J=6;return Math.max(0,$.length-J)}var sI=["planMode","planModeMiddleware","parallelMode","parallelSubagentMiddleware","blockedTools","commitProcessed","_pendingUserInput"];function AY($){let U={};for(let[_,Q]of Object.entries($))if(!sI.includes(_))U[_]=Q;return U}var $v=1;function d5($,U){let _=U?.phase;if(!_)if(!$.shouldContinue)_="completed";else if($.pendingToolCalls.length>0)_="tool_execution";else _="llm_call";let Q=U?.status;if(!Q)if(_==="completed")Q=`Completed: ${$.stopReason??"unknown"}`;else if(_==="tool_execution")Q=`Executing tools: ${$.pendingToolCalls.map((Y)=>Y.toolCall.function.name).join(", ")}`;else if(_==="approval_pending")Q="Waiting for user approval";else Q=`Iteration ${$.iteration}: Calling LLM`;let J=U?.messages??$.messages;return{schemaVersion:$v,sessionId:$.sessionId,agentName:U?.agentName,iteration:$.iteration,phase:_,status:Q,modelConfig:U?.modelConfig,requestParams:U?.requestParams,messages:[...J],pendingToolCalls:$.pendingToolCalls.map((G)=>({toolCall:{...G.toolCall},result:G.result,isError:G.isError})),currentResponse:$.currentResponse,currentThinking:$.currentThinking,shouldContinue:$.shouldContinue,stopReason:$.stopReason,lastModelStopReason:$.lastModelStopReason,usage:{...$.usage},metadata:AY($.metadata),savedAt:Date.now()}}function V8($){let U=$.schemaVersion??1;if(U!==1)throw Error(`Unsupported checkpoint schemaVersion: ${U}. Please migrate checkpoints or upgrade GoatChain.`);return{sessionId:$.sessionId,iteration:$.iteration,messages:[...$.messages],pendingToolCalls:$.pendingToolCalls.map((_)=>({toolCall:{..._.toolCall},result:_.result,isError:_.isError})),currentResponse:$.currentResponse,currentThinking:$.currentThinking,shouldContinue:$.shouldContinue,stopReason:$.stopReason,lastModelStopReason:$.lastModelStopReason,usage:{...$.usage},metadata:{...$.metadata}}}class kY{stateStore;constructor($){this.stateStore=$}hasStore(){return Boolean(this.stateStore)}async saveCheckpoint($){if(!this.stateStore)return;await this.stateStore.saveCheckpoint($)}async loadCheckpoint($){return this.stateStore?.loadCheckpoint($)}async clearCheckpoint($){if(!this.stateStore)return;await this.stateStore.deleteCheckpoint($)}}import{EventEmitter as RC}from"node:events";class W2 extends Error{constructor($="Agent execution aborted"){super($);this.name="AgentAbortError"}}class FU extends Error{constructor($="Agent execution paused"){super($);this.name="AgentPauseError"}}function u0($,U){if(!$?.aborted)return;let _=$?.reason;if(_ instanceof Error)throw _;throw new W2(typeof _==="string"?_:U?`${U} aborted`:"Agent execution aborted")}function l5($){return(U,_)=>{let Q=-1,J=async(G,Y)=>{if(G<=Q)throw Error("next() called multiple times");if(Q=G,G===$.length)return _?await _(Y):Y;let X=$[G];return X(Y,(V)=>J(G+1,V))};return J(0,U)}}function i5($,U){let _=[{role:"system",content:U},...$.messages??[],{role:"user",content:$.input}];return{sessionId:$.sessionId??"",messages:_,iteration:0,pendingToolCalls:[],currentResponse:"",shouldContinue:!0,usage:{promptTokens:0,completionTokens:0,totalTokens:0},metadata:{}}}class X6 extends Error{code;retryable;status;constructor($,U){super($);this.name="ModelError",this.code=U.code,this.retryable=U.retryable??!1,this.status=U.status}}class F_{static isRetryableStatus($){return $===408||$===409||$===429||$>=500&&$<=599}static async sleep($,U){if($<=0)return Promise.resolve();return new Promise((_,Q)=>{let J=setTimeout(()=>{G(),_()},$);function G(){if(clearTimeout(J),U)U.removeEventListener("abort",Y)}function Y(){G(),Q(Error("Aborted"))}if(U){if(U.aborted)return Y();U.addEventListener("abort",Y)}})}}function r5($="req"){let U=Math.random().toString(16).slice(2),_=Date.now().toString(16);return`${$}_${_}_${U}`}class qU{maxAttempts;baseDelayMs;maxDelayMs;strategy;jitter;multiplier;_previousDelay;constructor($={}){this.maxAttempts=$.maxAttempts??3,this.baseDelayMs=$.baseDelayMs??500,this.maxDelayMs=$.maxDelayMs??30000,this.strategy=$.strategy??"exponential",this.jitter=$.jitter??"equal",this.multiplier=$.multiplier??2,this._previousDelay=this.baseDelayMs}getDelay($){let U;switch(this.strategy){case"exponential":U=this.baseDelayMs*this.multiplier**($-1);break;case"linear":U=this.baseDelayMs*$;break;case"fixed":U=this.baseDelayMs;break}return U=Math.min(U,this.maxDelayMs),U=this.applyJitter(U),this._previousDelay=U,Math.floor(U)}applyJitter($){switch(this.jitter){case"full":return Math.random()*$;case"equal":return $/2+Math.random()*$/2;case"decorrelated":return Math.min(this.maxDelayMs,Math.random()*(this._previousDelay*3-this.baseDelayMs)+this.baseDelayMs);case"none":default:return $}}canRetry($){return $<this.maxAttempts}reset(){this._previousDelay=this.baseDelayMs}toString(){return`RetryPolicy(${this.strategy}, max=${this.maxAttempts}, base=${this.baseDelayMs}ms, cap=${this.maxDelayMs}ms, jitter=${this.jitter})`}static default=new qU;static aggressive=new qU({maxAttempts:5,baseDelayMs:1000,maxDelayMs:60000});static gentle=new qU({maxAttempts:3,baseDelayMs:2000,maxDelayMs:30000,jitter:"full"})}function q_($){let U=$.adapter;if(!U)throw new X6("Missing adapter. Provide `adapter` option.",{code:"missing_adapter",retryable:!1});if(!U.defaultModelId)throw new X6("Adapter must have a defaultModelId.",{code:"missing_model_id",retryable:!1});let _={provider:U.provider,modelId:U.defaultModelId},Q=new qU({maxAttempts:$.retry?.maxAttempts??3,baseDelayMs:$.retry?.baseDelayMs??500,maxDelayMs:$.retry?.maxDelayMs??30000,strategy:$.retry?.strategy??"exponential",jitter:$.retry?.jitter??"equal"}),J=$.timeoutMs??60000;async function*G(X){let V=X.requestId||r5("req"),{model:K,...Z}=X,N=X.model??_,W=X.timeoutMs??J,B=!1,q=0,O=new AbortController,M=X.signal,P=setTimeout(()=>O.abort(),W),H=()=>O.abort();if(M)if(M.aborted)O.abort();else M.addEventListener("abort",H);let z={...Z,requestId:V,model:N,stream:X.stream??!0,signal:O.signal,timeoutMs:W};try{for(let A=1;A<=Q.maxAttempts;A++){q=A;try{for await(let E of U.stream({request:z})){if(E.type==="delta")B=!0;yield E}return}catch(E){let D=UO(E),f=D.retryable;if(B||!f||!Q.canRetry(A))throw D;let j=Q.getDelay(A);$.retry?.onRetry?.({attempt:A,maxAttempts:Q.maxAttempts,delayMs:j,error:{code:D.code,message:D.message,retryable:D.retryable},model:N,request:z}),await F_.sleep(j,O.signal)}}}catch(A){let E=UO(A);throw yield{type:"error",requestId:V,terminal:!0,model:N,attempt:q||1,source:"client",error:{code:E.code,message:E.message,retryable:E.retryable}},E}finally{if(clearTimeout(P),M)M.removeEventListener("abort",H)}throw new X6("Max retry attempts exceeded",{code:"max_retries_exceeded",retryable:!1})}async function Y(X){let V="",K="",Z="error",N,W,B=X.requestId||"",q=!1;for await(let O of G({...X,stream:!0}))if(O.type==="response_start")q=!0,B=O.requestId,W=O.model,V="";else if(O.type==="delta"&&O.chunk.kind==="text")V+=O.chunk.text;else if(O.type==="response_end")K=V,Z=O.stopReason,N=O.usage;else if(O.type==="error")Z="error";if(!W)throw new X6("Missing response_start from adapter",{code:"protocol_error",retryable:!1});return{requestId:B,model:W,text:q?K:V,stopReason:Z,usage:N}}return{get modelId(){return _.modelId},get modelRef(){return _},setModelId(X){_={provider:_.provider,modelId:X}},stream:G,run:Y}}function UO($){if($ instanceof X6)return $;if($&&typeof $==="object"){let U=typeof $.status==="number"?$.status:void 0,_=typeof $.code==="string"?$.code:U?`http_${U}`:"unknown_error",Q=typeof $.message==="string"?$.message:"Unknown error",J=U?F_.isRetryableStatus(U):!1;return new X6(Q,{code:_,retryable:J,status:U})}return new X6(String($||"Unknown error"),{code:"unknown_error",retryable:!1})}function g$($,U,_,Q,J){if(Q==="m")throw TypeError("Private method is not writable");if(Q==="a"&&!J)throw TypeError("Private accessor was defined without a setter");if(typeof U==="function"?$!==U||!J:!U.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Q==="a"?J.call($,_):J?J.value=_:U.set($,_),_}function c($,U,_,Q){if(_==="a"&&!Q)throw TypeError("Private accessor was defined without a getter");if(typeof U==="function"?$!==U||!Q:!U.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return _==="m"?Q:_==="a"?Q.call($):Q?Q.value:U.get($)}var TY=function(){let{crypto:$}=globalThis;if($?.randomUUID)return TY=$.randomUUID.bind($),$.randomUUID();let U=new Uint8Array(1),_=$?()=>$.getRandomValues(U)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(Q)=>(+Q^_()&15>>+Q/4).toString(16))};function K8($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var Z8=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let U=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)U.stack=$.stack;if($.cause&&!U.cause)U.cause=$.cause;if($.name)U.name=$.name;return U}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class f$ extends Error{}class B6 extends f${constructor($,U,_,Q){super(`${B6.makeMessage($,U,_)}`);this.status=$,this.headers=Q,this.requestID=Q?.get("x-request-id"),this.error=U;let J=U;this.code=J?.code,this.param=J?.param,this.type=J?.type}static makeMessage($,U,_){let Q=U?.message?typeof U.message==="string"?U.message:JSON.stringify(U.message):U?JSON.stringify(U):_;if($&&Q)return`${$} ${Q}`;if($)return`${$} status code (no body)`;if(Q)return Q;return"(no status code or body)"}static generate($,U,_,Q){if(!$||!Q)return new BU({message:_,cause:Z8(U)});let J=U?.error;if($===400)return new W8($,J,_,Q);if($===401)return new N8($,J,_,Q);if($===403)return new F8($,J,_,Q);if($===404)return new q8($,J,_,Q);if($===409)return new B8($,J,_,Q);if($===422)return new H8($,J,_,Q);if($===429)return new O8($,J,_,Q);if($>=500)return new j8($,J,_,Q);return new B6($,J,_,Q)}}class M6 extends B6{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class BU extends B6{constructor({message:$,cause:U}){super(void 0,void 0,$||"Connection error.",void 0);if(U)this.cause=U}}class HU extends BU{constructor({message:$}={}){super({message:$??"Request timed out."})}}class W8 extends B6{}class N8 extends B6{}class F8 extends B6{}class q8 extends B6{}class B8 extends B6{}class H8 extends B6{}class O8 extends B6{}class j8 extends B6{}class D8 extends f${constructor(){super("Could not parse response content as the length limit was reached")}}class E8 extends f${constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class m0 extends Error{constructor($){super($)}}var _v=/^[a-z][a-z0-9+.-]*:/i,_O=($)=>{return _v.test($)},d6=($)=>(d6=Array.isArray,d6($)),SY=d6;function IY($){if(typeof $!=="object")return{};return $??{}}function JO($){if(!$)return!0;for(let U in $)return!1;return!0}function QO($,U){return Object.prototype.hasOwnProperty.call($,U)}function M8($){return $!=null&&typeof $==="object"&&!Array.isArray($)}var GO=($,U)=>{if(typeof U!=="number"||!Number.isInteger(U))throw new f$(`${$} must be an integer`);if(U<0)throw new f$(`${$} must be a positive integer`);return U};var YO=($)=>{try{return JSON.parse($)}catch(U){return}};var W0=($)=>new Promise((U)=>setTimeout(U,$));var N2="6.16.0";var ZO=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function Jv(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var Qv=()=>{let $=Jv();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":N2,"X-Stainless-OS":VO(Deno.build.os),"X-Stainless-Arch":XO(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":N2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":N2,"X-Stainless-OS":VO(globalThis.process.platform??"unknown"),"X-Stainless-Arch":XO(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let U=Gv();if(U)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":N2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${U.browser}`,"X-Stainless-Runtime-Version":U.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":N2,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function Gv(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:U,pattern:_}of $){let Q=_.exec(navigator.userAgent);if(Q){let J=Q[1]||0,G=Q[2]||0,Y=Q[3]||0;return{browser:U,version:`${J}.${G}.${Y}`}}}return null}var XO=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},VO=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},KO,WO=()=>{return KO??(KO=Qv())};function NO(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function vY(...$){let U=globalThis.ReadableStream;if(typeof U>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new U(...$)}function n5($){let U=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return vY({start(){},async pull(_){let{done:Q,value:J}=await U.next();if(Q)_.close();else _.enqueue(J)},async cancel(){await U.return?.()}})}function CY($){if($[Symbol.asyncIterator])return $;let U=$.getReader();return{async next(){try{let _=await U.read();if(_?.done)U.releaseLock();return _}catch(_){throw U.releaseLock(),_}},async return(){let _=U.cancel();return U.releaseLock(),await _,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function FO($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let U=$.getReader(),_=U.cancel();U.releaseLock(),await _}var qO=({headers:$,body:U})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(U)}};var p5="RFC3986",yY=($)=>String($),o5={RFC1738:($)=>String($).replace(/%20/g,"+"),RFC3986:yY},bY="RFC1738";var a5=($,U)=>(a5=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),a5($,U)),N0=(()=>{let $=[];for(let U=0;U<256;++U)$.push("%"+((U<16?"0":"")+U.toString(16)).toUpperCase());return $})();var xY=1024,BO=($,U,_,Q,J)=>{if($.length===0)return $;let G=$;if(typeof $==="symbol")G=Symbol.prototype.toString.call($);else if(typeof $!=="string")G=String($);if(_==="iso-8859-1")return escape(G).replace(/%u[0-9a-f]{4}/gi,function(X){return"%26%23"+parseInt(X.slice(2),16)+"%3B"});let Y="";for(let X=0;X<G.length;X+=xY){let V=G.length>=xY?G.slice(X,X+xY):G,K=[];for(let Z=0;Z<V.length;++Z){let N=V.charCodeAt(Z);if(N===45||N===46||N===95||N===126||N>=48&&N<=57||N>=65&&N<=90||N>=97&&N<=122||J===bY&&(N===40||N===41)){K[K.length]=V.charAt(Z);continue}if(N<128){K[K.length]=N0[N];continue}if(N<2048){K[K.length]=N0[192|N>>6]+N0[128|N&63];continue}if(N<55296||N>=57344){K[K.length]=N0[224|N>>12]+N0[128|N>>6&63]+N0[128|N&63];continue}Z+=1,N=65536+((N&1023)<<10|V.charCodeAt(Z)&1023),K[K.length]=N0[240|N>>18]+N0[128|N>>12&63]+N0[128|N>>6&63]+N0[128|N&63]}Y+=K.join("")}return Y};function HO($){if(!$||typeof $!=="object")return!1;return!!($.constructor&&$.constructor.isBuffer&&$.constructor.isBuffer($))}function gY($,U){if(d6($)){let _=[];for(let Q=0;Q<$.length;Q+=1)_.push(U($[Q]));return _}return U($)}var jO={brackets($){return String($)+"[]"},comma:"comma",indices($,U){return String($)+"["+U+"]"},repeat($){return String($)}},DO=function($,U){Array.prototype.push.apply($,d6(U)?U:[U])},OO,P6={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:BO,encodeValuesOnly:!1,format:p5,formatter:yY,indices:!1,serializeDate($){return(OO??(OO=Function.prototype.call.bind(Date.prototype.toISOString)))($)},skipNulls:!1,strictNullHandling:!1};function Vv($){return typeof $==="string"||typeof $==="number"||typeof $==="boolean"||typeof $==="symbol"||typeof $==="bigint"}var hY={};function EO($,U,_,Q,J,G,Y,X,V,K,Z,N,W,B,q,O,M,P){let H=$,z=P,A=0,E=!1;while((z=z.get(hY))!==void 0&&!E){let L=z.get($);if(A+=1,typeof L<"u")if(L===A)throw RangeError("Cyclic object value");else E=!0;if(typeof z.get(hY)>"u")A=0}if(typeof K==="function")H=K(U,H);else if(H instanceof Date)H=W?.(H);else if(_==="comma"&&d6(H))H=gY(H,function(L){if(L instanceof Date)return W?.(L);return L});if(H===null){if(G)return V&&!O?V(U,P6.encoder,M,"key",B):U;H=""}if(Vv(H)||HO(H)){if(V){let L=O?U:V(U,P6.encoder,M,"key",B);return[q?.(L)+"="+q?.(V(H,P6.encoder,M,"value",B))]}return[q?.(U)+"="+q?.(String(H))]}let D=[];if(typeof H>"u")return D;let f;if(_==="comma"&&d6(H)){if(O&&V)H=gY(H,V);f=[{value:H.length>0?H.join(",")||null:void 0}]}else if(d6(K))f=K;else{let L=Object.keys(H);f=Z?L.sort(Z):L}let j=X?String(U).replace(/\./g,"%2E"):String(U),T=Q&&d6(H)&&H.length===1?j+"[]":j;if(J&&d6(H)&&H.length===0)return T+"[]";for(let L=0;L<f.length;++L){let k=f[L],R=typeof k==="object"&&typeof k.value<"u"?k.value:H[k];if(Y&&R===null)continue;let S=N&&X?k.replace(/\./g,"%2E"):k,I=d6(H)?typeof _==="function"?_(T,S):T:T+(N?"."+S:"["+S+"]");P.set($,A);let w=new WeakMap;w.set(hY,P),DO(D,EO(R,I,_,Q,J,G,Y,X,_==="comma"&&O&&d6(H)?null:V,K,Z,N,W,B,q,O,M,w))}return D}function Kv($=P6){if(typeof $.allowEmptyArrays<"u"&&typeof $.allowEmptyArrays!=="boolean")throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof $.encodeDotInKeys<"u"&&typeof $.encodeDotInKeys!=="boolean")throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if($.encoder!==null&&typeof $.encoder<"u"&&typeof $.encoder!=="function")throw TypeError("Encoder has to be a function.");let U=$.charset||P6.charset;if(typeof $.charset<"u"&&$.charset!=="utf-8"&&$.charset!=="iso-8859-1")throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let _=p5;if(typeof $.format<"u"){if(!a5(o5,$.format))throw TypeError("Unknown format option provided.");_=$.format}let Q=o5[_],J=P6.filter;if(typeof $.filter==="function"||d6($.filter))J=$.filter;let G;if($.arrayFormat&&$.arrayFormat in jO)G=$.arrayFormat;else if("indices"in $)G=$.indices?"indices":"repeat";else G=P6.arrayFormat;if("commaRoundTrip"in $&&typeof $.commaRoundTrip!=="boolean")throw TypeError("`commaRoundTrip` must be a boolean, or absent");let Y=typeof $.allowDots>"u"?!!$.encodeDotInKeys===!0?!0:P6.allowDots:!!$.allowDots;return{addQueryPrefix:typeof $.addQueryPrefix==="boolean"?$.addQueryPrefix:P6.addQueryPrefix,allowDots:Y,allowEmptyArrays:typeof $.allowEmptyArrays==="boolean"?!!$.allowEmptyArrays:P6.allowEmptyArrays,arrayFormat:G,charset:U,charsetSentinel:typeof $.charsetSentinel==="boolean"?$.charsetSentinel:P6.charsetSentinel,commaRoundTrip:!!$.commaRoundTrip,delimiter:typeof $.delimiter>"u"?P6.delimiter:$.delimiter,encode:typeof $.encode==="boolean"?$.encode:P6.encode,encodeDotInKeys:typeof $.encodeDotInKeys==="boolean"?$.encodeDotInKeys:P6.encodeDotInKeys,encoder:typeof $.encoder==="function"?$.encoder:P6.encoder,encodeValuesOnly:typeof $.encodeValuesOnly==="boolean"?$.encodeValuesOnly:P6.encodeValuesOnly,filter:J,format:_,formatter:Q,serializeDate:typeof $.serializeDate==="function"?$.serializeDate:P6.serializeDate,skipNulls:typeof $.skipNulls==="boolean"?$.skipNulls:P6.skipNulls,sort:typeof $.sort==="function"?$.sort:null,strictNullHandling:typeof $.strictNullHandling==="boolean"?$.strictNullHandling:P6.strictNullHandling}}function uY($,U={}){let _=$,Q=Kv(U),J,G;if(typeof Q.filter==="function")G=Q.filter,_=G("",_);else if(d6(Q.filter))G=Q.filter,J=G;let Y=[];if(typeof _!=="object"||_===null)return"";let X=jO[Q.arrayFormat],V=X==="comma"&&Q.commaRoundTrip;if(!J)J=Object.keys(_);if(Q.sort)J.sort(Q.sort);let K=new WeakMap;for(let W=0;W<J.length;++W){let B=J[W];if(Q.skipNulls&&_[B]===null)continue;DO(Y,EO(_[B],B,X,V,Q.allowEmptyArrays,Q.strictNullHandling,Q.skipNulls,Q.encodeDotInKeys,Q.encode?Q.encoder:null,Q.filter,Q.sort,Q.allowDots,Q.serializeDate,Q.format,Q.formatter,Q.encodeValuesOnly,Q.charset,K))}let Z=Y.join(Q.delimiter),N=Q.addQueryPrefix===!0?"?":"";if(Q.charsetSentinel)if(Q.charset==="iso-8859-1")N+="utf8=%26%2310003%3B&";else N+="utf8=%E2%9C%93&";return Z.length>0?N+Z:""}function fO($){let U=0;for(let J of $)U+=J.length;let _=new Uint8Array(U),Q=0;for(let J of $)_.set(J,Q),Q+=J.length;return _}var MO;function B_($){let U;return(MO??(U=new globalThis.TextEncoder,MO=U.encode.bind(U)))($)}var PO;function mY($){let U;return(PO??(U=new globalThis.TextDecoder,PO=U.decode.bind(U)))($)}var M1,P1;class H_{constructor(){M1.set(this,void 0),P1.set(this,void 0),g$(this,M1,new Uint8Array,"f"),g$(this,P1,null,"f")}decode($){if($==null)return[];let U=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?B_($):$;g$(this,M1,fO([c(this,M1,"f"),U]),"f");let _=[],Q;while((Q=Wv(c(this,M1,"f"),c(this,P1,"f")))!=null){if(Q.carriage&&c(this,P1,"f")==null){g$(this,P1,Q.index,"f");continue}if(c(this,P1,"f")!=null&&(Q.index!==c(this,P1,"f")+1||Q.carriage)){_.push(mY(c(this,M1,"f").subarray(0,c(this,P1,"f")-1))),g$(this,M1,c(this,M1,"f").subarray(c(this,P1,"f")),"f"),g$(this,P1,null,"f");continue}let J=c(this,P1,"f")!==null?Q.preceding-1:Q.preceding,G=mY(c(this,M1,"f").subarray(0,J));_.push(G),g$(this,M1,c(this,M1,"f").subarray(Q.index),"f"),g$(this,P1,null,"f")}return _}flush(){if(!c(this,M1,"f").length)return[];return this.decode(`
64
+ `)}}M1=new WeakMap,P1=new WeakMap;H_.NEWLINE_CHARS=new Set([`
65
+ `,"\r"]);H_.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Wv($,U){for(let J=U??0;J<$.length;J++){if($[J]===10)return{preceding:J,index:J+1,carriage:!1};if($[J]===13)return{preceding:J,index:J+1,carriage:!0}}return null}function LO($){for(let Q=0;Q<$.length-1;Q++){if($[Q]===10&&$[Q+1]===10)return Q+2;if($[Q]===13&&$[Q+1]===13)return Q+2;if($[Q]===13&&$[Q+1]===10&&Q+3<$.length&&$[Q+2]===13&&$[Q+3]===10)return Q+4}return-1}var e5={off:0,error:200,warn:300,info:400,debug:500},cY=($,U,_)=>{if(!$)return;if(QO(e5,$))return $;K6(_).warn(`${U} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(e5))}`);return};function P8(){}function t5($,U,_){if(!U||e5[$]>e5[_])return P8;else return U[$].bind(U)}var Nv={error:P8,warn:P8,info:P8,debug:P8},RO=new WeakMap;function K6($){let U=$.logger,_=$.logLevel??"off";if(!U)return Nv;let Q=RO.get(U);if(Q&&Q[0]===_)return Q[1];let J={error:t5("error",U,_),warn:t5("warn",U,_),info:t5("info",U,_),debug:t5("debug",U,_)};return RO.set(U,[_,J]),J}var c0=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([U,_])=>[U,U.toLowerCase()==="authorization"||U.toLowerCase()==="cookie"||U.toLowerCase()==="set-cookie"?"***":_]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var f8;class f1{constructor($,U,_){this.iterator=$,f8.set(this,void 0),this.controller=U,g$(this,f8,_,"f")}static fromSSEResponse($,U,_){let Q=!1,J=_?K6(_):console;async function*G(){if(Q)throw new f$("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Q=!0;let Y=!1;try{for await(let X of Fv($,U)){if(Y)continue;if(X.data.startsWith("[DONE]")){Y=!0;continue}if(X.event===null||!X.event.startsWith("thread.")){let V;try{V=JSON.parse(X.data)}catch(K){throw J.error("Could not parse message into JSON:",X.data),J.error("From chunk:",X.raw),K}if(V&&V.error)throw new B6(void 0,V.error,void 0,$.headers);yield V}else{let V;try{V=JSON.parse(X.data)}catch(K){throw console.error("Could not parse message into JSON:",X.data),console.error("From chunk:",X.raw),K}if(X.event=="error")throw new B6(void 0,V.error,V.message,void 0);yield{event:X.event,data:V}}}Y=!0}catch(X){if(K8(X))return;throw X}finally{if(!Y)U.abort()}}return new f1(G,U,_)}static fromReadableStream($,U,_){let Q=!1;async function*J(){let Y=new H_,X=CY($);for await(let V of X)for(let K of Y.decode(V))yield K;for(let V of Y.flush())yield V}async function*G(){if(Q)throw new f$("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Q=!0;let Y=!1;try{for await(let X of J()){if(Y)continue;if(X)yield JSON.parse(X)}Y=!0}catch(X){if(K8(X))return;throw X}finally{if(!Y)U.abort()}}return new f1(G,U,_)}[(f8=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],U=[],_=this.iterator(),Q=(J)=>{return{next:()=>{if(J.length===0){let G=_.next();$.push(G),U.push(G)}return J.shift()}}};return[new f1(()=>Q($),this.controller,c(this,f8,"f")),new f1(()=>Q(U),this.controller,c(this,f8,"f"))]}toReadableStream(){let $=this,U;return vY({async start(){U=$[Symbol.asyncIterator]()},async pull(_){try{let{value:Q,done:J}=await U.next();if(J)return _.close();let G=B_(JSON.stringify(Q)+`
66
+ `);_.enqueue(G)}catch(Q){_.error(Q)}},async cancel(){await U.return?.()}})}}async function*Fv($,U){if(!$.body){if(U.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new f$("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new f$("Attempted to iterate over a response with no body")}let _=new wO,Q=new H_,J=CY($.body);for await(let G of qv(J))for(let Y of Q.decode(G)){let X=_.decode(Y);if(X)yield X}for(let G of Q.flush()){let Y=_.decode(G);if(Y)yield Y}}async function*qv($){let U=new Uint8Array;for await(let _ of $){if(_==null)continue;let Q=_ instanceof ArrayBuffer?new Uint8Array(_):typeof _==="string"?B_(_):_,J=new Uint8Array(U.length+Q.length);J.set(U),J.set(Q,U.length),U=J;let G;while((G=LO(U))!==-1)yield U.slice(0,G),U=U.slice(G)}if(U.length>0)yield U}class wO{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let J={event:this.event,data:this.data.join(`
67
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],J}if(this.chunks.push($),$.startsWith(":"))return null;let[U,_,Q]=Bv($,":");if(Q.startsWith(" "))Q=Q.substring(1);if(U==="event")this.event=Q;else if(U==="data")this.data.push(Q);return null}}function Bv($,U){let _=$.indexOf(U);if(_!==-1)return[$.substring(0,_),U,$.substring(_+U.length)];return[$,"",""]}async function s5($,U){let{response:_,requestLogID:Q,retryOfRequestLogID:J,startTime:G}=U,Y=await(async()=>{if(U.options.stream){if(K6($).debug("response",_.status,_.url,_.headers,_.body),U.options.__streamClass)return U.options.__streamClass.fromSSEResponse(_,U.controller,$);return f1.fromSSEResponse(_,U.controller,$)}if(_.status===204)return null;if(U.options.__binaryResponse)return _;let V=_.headers.get("content-type")?.split(";")[0]?.trim();if(V?.includes("application/json")||V?.endsWith("+json")){let N=await _.json();return dY(N,_)}return await _.text()})();return K6($).debug(`[${Q}] response parsed`,c0({retryOfRequestLogID:J,url:_.url,status:_.status,body:Y,durationMs:Date.now()-G})),Y}function dY($,U){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:U.headers.get("x-request-id"),enumerable:!1})}var L8;class OU extends Promise{constructor($,U,_=s5){super((Q)=>{Q(null)});this.responsePromise=U,this.parseResponse=_,L8.set(this,void 0),g$(this,L8,$,"f")}_thenUnwrap($){return new OU(c(this,L8,"f"),this.responsePromise,async(U,_)=>dY($(await this.parseResponse(U,_),_),_.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,U]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:U,request_id:U.headers.get("x-request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(c(this,L8,"f"),$));return this.parsedPromise}then($,U){return this.parse().then($,U)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}L8=new WeakMap;var $7;class U7{constructor($,U,_,Q){$7.set(this,void 0),g$(this,$7,$,"f"),this.options=Q,this.response=U,this.body=_}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new f$("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await c(this,$7,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[($7=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let U of $.getPaginatedItems())yield U}}class _7 extends OU{constructor($,U,_){super($,U,async(Q,J)=>new _(Q,J.response,await s5(Q,J),J.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let U of $)yield U}}class d0 extends U7{constructor($,U,_,Q){super($,U,_,Q);this.data=_.data||[],this.object=_.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class Q4 extends U7{constructor($,U,_,Q){super($,U,_,Q);this.data=_.data||[],this.has_more=_.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.getPaginatedItems(),U=$[$.length-1]?.id;if(!U)return null;return{...this.options,query:{...IY(this.options.query),after:U}}}}class F2 extends U7{constructor($,U,_,Q){super($,U,_,Q);this.data=_.data||[],this.has_more=_.has_more||!1,this.last_id=_.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.last_id;if(!$)return null;return{...this.options,query:{...IY(this.options.query),after:$}}}}var rY=()=>{if(typeof File>"u"){let{process:$}=globalThis,U=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(U?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function O_($,U,_){return rY(),new File($,U??"unknown_file",_)}function R8($){return(typeof $==="object"&&$!==null&&(("name"in $)&&$.name&&String($.name)||("url"in $)&&$.url&&String($.url)||("filename"in $)&&$.filename&&String($.filename)||("path"in $)&&$.path&&String($.path))||"").split(/[\\/]/).pop()||void 0}var J7=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function",nY=async($,U)=>{if(!lY($.body))return $;return{...$,body:await AO($.body,U)}},L1=async($,U)=>{return{...$,body:await AO($.body,U)}},zO=new WeakMap;function Ov($){let U=typeof $==="function"?$:$.fetch,_=zO.get(U);if(_)return _;let Q=(async()=>{try{let J="Response"in U?U.Response:(await U("data:,")).constructor,G=new FormData;if(G.toString()===await new J(G).text())return!1;return!0}catch{return!0}})();return zO.set(U,Q),Q}var AO=async($,U)=>{if(!await Ov(U))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let _=new FormData;return await Promise.all(Object.entries($||{}).map(([Q,J])=>iY(_,Q,J))),_},kO=($)=>$ instanceof Blob&&("name"in $),jv=($)=>typeof $==="object"&&$!==null&&($ instanceof Response||J7($)||kO($)),lY=($)=>{if(jv($))return!0;if(Array.isArray($))return $.some(lY);if($&&typeof $==="object"){for(let U in $)if(lY($[U]))return!0}return!1},iY=async($,U,_)=>{if(_===void 0)return;if(_==null)throw TypeError(`Received null for "${U}"; to pass null in FormData, you must use the string 'null'`);if(typeof _==="string"||typeof _==="number"||typeof _==="boolean")$.append(U,String(_));else if(_ instanceof Response)$.append(U,O_([await _.blob()],R8(_)));else if(J7(_))$.append(U,O_([await new Response(n5(_)).blob()],R8(_)));else if(kO(_))$.append(U,_,R8(_));else if(Array.isArray(_))await Promise.all(_.map((Q)=>iY($,U+"[]",Q)));else if(typeof _==="object")await Promise.all(Object.entries(_).map(([Q,J])=>iY($,`${U}[${Q}]`,J)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${_} instead`)};var TO=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",Dv=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&TO($),Ev=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function Q7($,U,_){if(rY(),$=await $,Dv($)){if($ instanceof File)return $;return O_([await $.arrayBuffer()],$.name)}if(Ev($)){let J=await $.blob();return U||(U=new URL($.url).pathname.split(/[\\/]/).pop()),O_(await pY(J),U,_)}let Q=await pY($);if(U||(U=R8($)),!_?.type){let J=Q.find((G)=>typeof G==="object"&&("type"in G)&&G.type);if(typeof J==="string")_={..._,type:J}}return O_(Q,U,_)}async function pY($){let U=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)U.push($);else if(TO($))U.push($ instanceof Blob?$:await $.arrayBuffer());else if(J7($))for await(let _ of $)U.push(...await pY(_));else{let _=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${_?`; constructor: ${_}`:""}${Mv($)}`)}return U}function Mv($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((_)=>`"${_}"`).join(", ")}]`}class Q${constructor($){this._client=$}}function IO($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var SO=Object.freeze(Object.create(null)),fv=($=IO)=>function(_,...Q){if(_.length===1)return _[0];let J=!1,G=[],Y=_.reduce((Z,N,W)=>{if(/[?#]/.test(N))J=!0;let B=Q[W],q=(J?encodeURIComponent:$)(""+B);if(W!==Q.length&&(B==null||typeof B==="object"&&B.toString===Object.getPrototypeOf(Object.getPrototypeOf(B.hasOwnProperty??SO)??SO)?.toString))q=B+"",G.push({start:Z.length+N.length,length:q.length,error:`Value of type ${Object.prototype.toString.call(B).slice(8,-1)} is not a valid path parameter`});return Z+N+(W===Q.length?"":q)},""),X=Y.split(/[?#]/,1)[0],V=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,K;while((K=V.exec(X))!==null)G.push({start:K.index,length:K[0].length,error:`Value "${K[0]}" can't be safely passed as a path parameter`});if(G.sort((Z,N)=>Z.start-N.start),G.length>0){let Z=0,N=G.reduce((W,B)=>{let q=" ".repeat(B.start-Z),O="^".repeat(B.length);return Z=B.start+B.length,W+q+O},"");throw new f$(`Path parameters result in path with invalid segments:
68
+ ${G.map((W)=>W.error).join(`
69
+ `)}
70
+ ${Y}
71
+ ${N}`)}return Y},s=fv(IO);class j_ extends Q${list($,U={},_){return this._client.getAPIList(s`/chat/completions/${$}/messages`,Q4,{query:U,..._})}}function w8($){return $!==void 0&&"function"in $&&$.function!==void 0}function z8($){return $?.$brand==="auto-parseable-response-format"}function jU($){return $?.$brand==="auto-parseable-tool"}function vO($,U){if(!U||!oY(U))return{...$,choices:$.choices.map((_)=>{return yO(_.message.tool_calls),{..._,message:{..._.message,parsed:null,..._.message.tool_calls?{tool_calls:_.message.tool_calls}:void 0}}})};return A8($,U)}function A8($,U){let _=$.choices.map((Q)=>{if(Q.finish_reason==="length")throw new D8;if(Q.finish_reason==="content_filter")throw new E8;return yO(Q.message.tool_calls),{...Q,message:{...Q.message,...Q.message.tool_calls?{tool_calls:Q.message.tool_calls?.map((J)=>zv(U,J))??void 0}:void 0,parsed:Q.message.content&&!Q.message.refusal?wv(U,Q.message.content):null}}});return{...$,choices:_}}function wv($,U){if($.response_format?.type!=="json_schema")return null;if($.response_format?.type==="json_schema"){if("$parseRaw"in $.response_format)return $.response_format.$parseRaw(U);return JSON.parse(U)}return null}function zv($,U){let _=$.tools?.find((Q)=>w8(Q)&&Q.function?.name===U.function.name);return{...U,function:{...U.function,parsed_arguments:jU(_)?_.$parseRaw(U.function.arguments):_?.function.strict?JSON.parse(U.function.arguments):null}}}function CO($,U){if(!$||!("tools"in $)||!$.tools)return!1;let _=$.tools?.find((Q)=>w8(Q)&&Q.function?.name===U.function.name);return w8(_)&&(jU(_)||_?.function.strict||!1)}function oY($){if(z8($.response_format))return!0;return $.tools?.some((U)=>jU(U)||U.type==="function"&&U.function.strict===!0)??!1}function yO($){for(let U of $||[])if(U.type!=="function")throw new f$(`Currently only \`function\` tool calls are supported; Received \`${U.type}\``)}function bO($){for(let U of $??[]){if(U.type!=="function")throw new f$(`Currently only \`function\` tool types support auto-parsing; Received \`${U.type}\``);if(U.function.strict!==!0)throw new f$(`The \`${U.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var D_=($)=>{return $?.role==="assistant"},aY=($)=>{return $?.role==="tool"};var tY,G7,Y7,k8,T8,X7,S8,l0,I8,V7,K7,E_,xO;class DU{constructor(){tY.add(this),this.controller=new AbortController,G7.set(this,void 0),Y7.set(this,()=>{}),k8.set(this,()=>{}),T8.set(this,void 0),X7.set(this,()=>{}),S8.set(this,()=>{}),l0.set(this,{}),I8.set(this,!1),V7.set(this,!1),K7.set(this,!1),E_.set(this,!1),g$(this,G7,new Promise(($,U)=>{g$(this,Y7,$,"f"),g$(this,k8,U,"f")}),"f"),g$(this,T8,new Promise(($,U)=>{g$(this,X7,$,"f"),g$(this,S8,U,"f")}),"f"),c(this,G7,"f").catch(()=>{}),c(this,T8,"f").catch(()=>{})}_run($){setTimeout(()=>{$().then(()=>{this._emitFinal(),this._emit("end")},c(this,tY,"m",xO).bind(this))},0)}_connected(){if(this.ended)return;c(this,Y7,"f").call(this),this._emit("connect")}get ended(){return c(this,I8,"f")}get errored(){return c(this,V7,"f")}get aborted(){return c(this,K7,"f")}abort(){this.controller.abort()}on($,U){return(c(this,l0,"f")[$]||(c(this,l0,"f")[$]=[])).push({listener:U}),this}off($,U){let _=c(this,l0,"f")[$];if(!_)return this;let Q=_.findIndex((J)=>J.listener===U);if(Q>=0)_.splice(Q,1);return this}once($,U){return(c(this,l0,"f")[$]||(c(this,l0,"f")[$]=[])).push({listener:U,once:!0}),this}emitted($){return new Promise((U,_)=>{if(g$(this,E_,!0,"f"),$!=="error")this.once("error",_);this.once($,U)})}async done(){g$(this,E_,!0,"f"),await c(this,T8,"f")}_emit($,...U){if(c(this,I8,"f"))return;if($==="end")g$(this,I8,!0,"f"),c(this,X7,"f").call(this);let _=c(this,l0,"f")[$];if(_)c(this,l0,"f")[$]=_.filter((Q)=>!Q.once),_.forEach(({listener:Q})=>Q(...U));if($==="abort"){let Q=U[0];if(!c(this,E_,"f")&&!_?.length)Promise.reject(Q);c(this,k8,"f").call(this,Q),c(this,S8,"f").call(this,Q),this._emit("end");return}if($==="error"){let Q=U[0];if(!c(this,E_,"f")&&!_?.length)Promise.reject(Q);c(this,k8,"f").call(this,Q),c(this,S8,"f").call(this,Q),this._emit("end")}}_emitFinal(){}}G7=new WeakMap,Y7=new WeakMap,k8=new WeakMap,T8=new WeakMap,X7=new WeakMap,S8=new WeakMap,l0=new WeakMap,I8=new WeakMap,V7=new WeakMap,K7=new WeakMap,E_=new WeakMap,tY=new WeakSet,xO=function(U){if(g$(this,V7,!0,"f"),U instanceof Error&&U.name==="AbortError")U=new M6;if(U instanceof M6)return g$(this,K7,!0,"f"),this._emit("abort",U);if(U instanceof f$)return this._emit("error",U);if(U instanceof Error){let _=new f$(U.message);return _.cause=U,this._emit("error",_)}return this._emit("error",new f$(String(U)))};function gO($){return typeof $.parse==="function"}var p6,eY,Z7,sY,$X,UX,hO,uO,Av=10;class v8 extends DU{constructor(){super(...arguments);p6.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion($){this._chatCompletions.push($),this._emit("chatCompletion",$);let U=$.choices[0]?.message;if(U)this._addMessage(U);return $}_addMessage($,U=!0){if(!("content"in $))$.content=null;if(this.messages.push($),U){if(this._emit("message",$),aY($)&&$.content)this._emit("functionToolCallResult",$.content);else if(D_($)&&$.tool_calls){for(let _ of $.tool_calls)if(_.type==="function")this._emit("functionToolCall",_.function)}}}async finalChatCompletion(){await this.done();let $=this._chatCompletions[this._chatCompletions.length-1];if(!$)throw new f$("stream ended without producing a ChatCompletion");return $}async finalContent(){return await this.done(),c(this,p6,"m",eY).call(this)}async finalMessage(){return await this.done(),c(this,p6,"m",Z7).call(this)}async finalFunctionToolCall(){return await this.done(),c(this,p6,"m",sY).call(this)}async finalFunctionToolCallResult(){return await this.done(),c(this,p6,"m",$X).call(this)}async totalUsage(){return await this.done(),c(this,p6,"m",UX).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let $=this._chatCompletions[this._chatCompletions.length-1];if($)this._emit("finalChatCompletion",$);let U=c(this,p6,"m",Z7).call(this);if(U)this._emit("finalMessage",U);let _=c(this,p6,"m",eY).call(this);if(_)this._emit("finalContent",_);let Q=c(this,p6,"m",sY).call(this);if(Q)this._emit("finalFunctionToolCall",Q);let J=c(this,p6,"m",$X).call(this);if(J!=null)this._emit("finalFunctionToolCallResult",J);if(this._chatCompletions.some((G)=>G.usage))this._emit("totalUsage",c(this,p6,"m",UX).call(this))}async _createChatCompletion($,U,_){let Q=_?.signal;if(Q){if(Q.aborted)this.controller.abort();Q.addEventListener("abort",()=>this.controller.abort())}c(this,p6,"m",hO).call(this,U);let J=await $.chat.completions.create({...U,stream:!1},{..._,signal:this.controller.signal});return this._connected(),this._addChatCompletion(A8(J,U))}async _runChatCompletion($,U,_){for(let Q of U.messages)this._addMessage(Q,!1);return await this._createChatCompletion($,U,_)}async _runTools($,U,_){let{tool_choice:J="auto",stream:G,...Y}=U,X=typeof J!=="string"&&J.type==="function"&&J?.function?.name,{maxChatCompletions:V=Av}=_||{},K=U.tools.map((W)=>{if(jU(W)){if(!W.$callback)throw new f$("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:W.$callback,name:W.function.name,description:W.function.description||"",parameters:W.function.parameters,parse:W.$parseRaw,strict:!0}}}return W}),Z={};for(let W of K)if(W.type==="function")Z[W.function.name||W.function.function.name]=W.function;let N="tools"in U?K.map((W)=>W.type==="function"?{type:"function",function:{name:W.function.name||W.function.function.name,parameters:W.function.parameters,description:W.function.description,strict:W.function.strict}}:W):void 0;for(let W of U.messages)this._addMessage(W,!1);for(let W=0;W<V;++W){let q=(await this._createChatCompletion($,{...Y,tool_choice:J,tools:N,messages:[...this.messages]},_)).choices[0]?.message;if(!q)throw new f$("missing message in ChatCompletion response");if(!q.tool_calls?.length)return;for(let O of q.tool_calls){if(O.type!=="function")continue;let M=O.id,{name:P,arguments:H}=O.function,z=Z[P];if(!z){let f=`Invalid tool_call: ${JSON.stringify(P)}. Available options are: ${Object.keys(Z).map((j)=>JSON.stringify(j)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:M,content:f});continue}else if(X&&X!==P){let f=`Invalid tool_call: ${JSON.stringify(P)}. ${JSON.stringify(X)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:M,content:f});continue}let A;try{A=gO(z)?await z.parse(H):H}catch(f){let j=f instanceof Error?f.message:String(f);this._addMessage({role:"tool",tool_call_id:M,content:j});continue}let E=await z.function(A,this),D=c(this,p6,"m",uO).call(this,E);if(this._addMessage({role:"tool",tool_call_id:M,content:D}),X)return}}return}}p6=new WeakSet,eY=function(){return c(this,p6,"m",Z7).call(this).content??null},Z7=function(){let U=this.messages.length;while(U-- >0){let _=this.messages[U];if(D_(_))return{..._,content:_.content??null,refusal:_.refusal??null}}throw new f$("stream ended without producing a ChatCompletionMessage with role=assistant")},sY=function(){for(let U=this.messages.length-1;U>=0;U--){let _=this.messages[U];if(D_(_)&&_?.tool_calls?.length)return _.tool_calls.filter((Q)=>Q.type==="function").at(-1)?.function}return},$X=function(){for(let U=this.messages.length-1;U>=0;U--){let _=this.messages[U];if(aY(_)&&_.content!=null&&typeof _.content==="string"&&this.messages.some((Q)=>Q.role==="assistant"&&Q.tool_calls?.some((J)=>J.type==="function"&&J.id===_.tool_call_id)))return _.content}return},UX=function(){let U={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:_}of this._chatCompletions)if(_)U.completion_tokens+=_.completion_tokens,U.prompt_tokens+=_.prompt_tokens,U.total_tokens+=_.total_tokens;return U},hO=function(U){if(U.n!=null&&U.n>1)throw new f$("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},uO=function(U){return typeof U==="string"?U:U===void 0?"undefined":JSON.stringify(U)};class C8 extends v8{static runTools($,U,_){let Q=new C8,J={..._,headers:{..._?.headers,"X-Stainless-Helper-Method":"runTools"}};return Q._run(()=>Q._runTools($,U,J)),Q}_addMessage($,U=!0){if(super._addMessage($,U),D_($)&&$.content)this._emit("content",$.content)}}var T6={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};class mO extends Error{}class cO extends Error{}function kv($,U=T6.ALL){if(typeof $!=="string")throw TypeError(`expecting str, got ${typeof $}`);if(!$.trim())throw Error(`${$} is empty`);return Tv($.trim(),U)}var Tv=($,U)=>{let _=$.length,Q=0,J=(W)=>{throw new mO(`${W} at position ${Q}`)},G=(W)=>{throw new cO(`${W} at position ${Q}`)},Y=()=>{if(N(),Q>=_)J("Unexpected end of input");if($[Q]==='"')return X();if($[Q]==="{")return V();if($[Q]==="[")return K();if($.substring(Q,Q+4)==="null"||T6.NULL&U&&_-Q<4&&"null".startsWith($.substring(Q)))return Q+=4,null;if($.substring(Q,Q+4)==="true"||T6.BOOL&U&&_-Q<4&&"true".startsWith($.substring(Q)))return Q+=4,!0;if($.substring(Q,Q+5)==="false"||T6.BOOL&U&&_-Q<5&&"false".startsWith($.substring(Q)))return Q+=5,!1;if($.substring(Q,Q+8)==="Infinity"||T6.INFINITY&U&&_-Q<8&&"Infinity".startsWith($.substring(Q)))return Q+=8,1/0;if($.substring(Q,Q+9)==="-Infinity"||T6.MINUS_INFINITY&U&&1<_-Q&&_-Q<9&&"-Infinity".startsWith($.substring(Q)))return Q+=9,-1/0;if($.substring(Q,Q+3)==="NaN"||T6.NAN&U&&_-Q<3&&"NaN".startsWith($.substring(Q)))return Q+=3,NaN;return Z()},X=()=>{let W=Q,B=!1;Q++;while(Q<_&&($[Q]!=='"'||B&&$[Q-1]==="\\"))B=$[Q]==="\\"?!B:!1,Q++;if($.charAt(Q)=='"')try{return JSON.parse($.substring(W,++Q-Number(B)))}catch(q){G(String(q))}else if(T6.STR&U)try{return JSON.parse($.substring(W,Q-Number(B))+'"')}catch(q){return JSON.parse($.substring(W,$.lastIndexOf("\\"))+'"')}J("Unterminated string literal")},V=()=>{Q++,N();let W={};try{while($[Q]!=="}"){if(N(),Q>=_&&T6.OBJ&U)return W;let B=X();N(),Q++;try{let q=Y();Object.defineProperty(W,B,{value:q,writable:!0,enumerable:!0,configurable:!0})}catch(q){if(T6.OBJ&U)return W;else throw q}if(N(),$[Q]===",")Q++}}catch(B){if(T6.OBJ&U)return W;else J("Expected '}' at end of object")}return Q++,W},K=()=>{Q++;let W=[];try{while($[Q]!=="]")if(W.push(Y()),N(),$[Q]===",")Q++}catch(B){if(T6.ARR&U)return W;J("Expected ']' at end of array")}return Q++,W},Z=()=>{if(Q===0){if($==="-"&&T6.NUM&U)J("Not sure what '-' is");try{return JSON.parse($)}catch(B){if(T6.NUM&U)try{if($[$.length-1]===".")return JSON.parse($.substring(0,$.lastIndexOf(".")));return JSON.parse($.substring(0,$.lastIndexOf("e")))}catch(q){}G(String(B))}}let W=Q;if($[Q]==="-")Q++;while($[Q]&&!",]}".includes($[Q]))Q++;if(Q==_&&!(T6.NUM&U))J("Unterminated number literal");try{return JSON.parse($.substring(W,Q))}catch(B){if($.substring(W,Q)==="-"&&T6.NUM&U)J("Not sure what '-' is");try{return JSON.parse($.substring(W,$.lastIndexOf("e")))}catch(q){G(String(q))}}},N=()=>{while(Q<_&&`
72
+ \r `.includes($[Q]))Q++};return Y()},_X=($)=>kv($,T6.ALL^T6.NUM);var f6,i0,M_,q2,JX,W7,QX,GX,YX,N7,XX,dO;class B2 extends v8{constructor($){super();f6.add(this),i0.set(this,void 0),M_.set(this,void 0),q2.set(this,void 0),g$(this,i0,$,"f"),g$(this,M_,[],"f")}get currentChatCompletionSnapshot(){return c(this,q2,"f")}static fromReadableStream($){let U=new B2(null);return U._run(()=>U._fromReadableStream($)),U}static createChatCompletion($,U,_){let Q=new B2(U);return Q._run(()=>Q._runChatCompletion($,{...U,stream:!0},{..._,headers:{..._?.headers,"X-Stainless-Helper-Method":"stream"}})),Q}async _createChatCompletion($,U,_){super._createChatCompletion;let Q=_?.signal;if(Q){if(Q.aborted)this.controller.abort();Q.addEventListener("abort",()=>this.controller.abort())}c(this,f6,"m",JX).call(this);let J=await $.chat.completions.create({...U,stream:!0},{..._,signal:this.controller.signal});this._connected();for await(let G of J)c(this,f6,"m",QX).call(this,G);if(J.controller.signal?.aborted)throw new M6;return this._addChatCompletion(c(this,f6,"m",N7).call(this))}async _fromReadableStream($,U){let _=U?.signal;if(_){if(_.aborted)this.controller.abort();_.addEventListener("abort",()=>this.controller.abort())}c(this,f6,"m",JX).call(this),this._connected();let Q=f1.fromReadableStream($,this.controller),J;for await(let G of Q){if(J&&J!==G.id)this._addChatCompletion(c(this,f6,"m",N7).call(this));c(this,f6,"m",QX).call(this,G),J=G.id}if(Q.controller.signal?.aborted)throw new M6;return this._addChatCompletion(c(this,f6,"m",N7).call(this))}[(i0=new WeakMap,M_=new WeakMap,q2=new WeakMap,f6=new WeakSet,JX=function(){if(this.ended)return;g$(this,q2,void 0,"f")},W7=function(U){let _=c(this,M_,"f")[U.index];if(_)return _;return _={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},c(this,M_,"f")[U.index]=_,_},QX=function(U){if(this.ended)return;let _=c(this,f6,"m",dO).call(this,U);this._emit("chunk",U,_);for(let Q of U.choices){let J=_.choices[Q.index];if(Q.delta.content!=null&&J.message?.role==="assistant"&&J.message?.content)this._emit("content",Q.delta.content,J.message.content),this._emit("content.delta",{delta:Q.delta.content,snapshot:J.message.content,parsed:J.message.parsed});if(Q.delta.refusal!=null&&J.message?.role==="assistant"&&J.message?.refusal)this._emit("refusal.delta",{delta:Q.delta.refusal,snapshot:J.message.refusal});if(Q.logprobs?.content!=null&&J.message?.role==="assistant")this._emit("logprobs.content.delta",{content:Q.logprobs?.content,snapshot:J.logprobs?.content??[]});if(Q.logprobs?.refusal!=null&&J.message?.role==="assistant")this._emit("logprobs.refusal.delta",{refusal:Q.logprobs?.refusal,snapshot:J.logprobs?.refusal??[]});let G=c(this,f6,"m",W7).call(this,J);if(J.finish_reason){if(c(this,f6,"m",YX).call(this,J),G.current_tool_call_index!=null)c(this,f6,"m",GX).call(this,J,G.current_tool_call_index)}for(let Y of Q.delta.tool_calls??[]){if(G.current_tool_call_index!==Y.index){if(c(this,f6,"m",YX).call(this,J),G.current_tool_call_index!=null)c(this,f6,"m",GX).call(this,J,G.current_tool_call_index)}G.current_tool_call_index=Y.index}for(let Y of Q.delta.tool_calls??[]){let X=J.message.tool_calls?.[Y.index];if(!X?.type)continue;if(X?.type==="function")this._emit("tool_calls.function.arguments.delta",{name:X.function?.name,index:Y.index,arguments:X.function.arguments,parsed_arguments:X.function.parsed_arguments,arguments_delta:Y.function?.arguments??""});else iO(X?.type)}}},GX=function(U,_){if(c(this,f6,"m",W7).call(this,U).done_tool_calls.has(_))return;let J=U.message.tool_calls?.[_];if(!J)throw Error("no tool call snapshot");if(!J.type)throw Error("tool call snapshot missing `type`");if(J.type==="function"){let G=c(this,i0,"f")?.tools?.find((Y)=>w8(Y)&&Y.function.name===J.function.name);this._emit("tool_calls.function.arguments.done",{name:J.function.name,index:_,arguments:J.function.arguments,parsed_arguments:jU(G)?G.$parseRaw(J.function.arguments):G?.function.strict?JSON.parse(J.function.arguments):null})}else iO(J.type)},YX=function(U){let _=c(this,f6,"m",W7).call(this,U);if(U.message.content&&!_.content_done){_.content_done=!0;let Q=c(this,f6,"m",XX).call(this);this._emit("content.done",{content:U.message.content,parsed:Q?Q.$parseRaw(U.message.content):null})}if(U.message.refusal&&!_.refusal_done)_.refusal_done=!0,this._emit("refusal.done",{refusal:U.message.refusal});if(U.logprobs?.content&&!_.logprobs_content_done)_.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:U.logprobs.content});if(U.logprobs?.refusal&&!_.logprobs_refusal_done)_.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:U.logprobs.refusal})},N7=function(){if(this.ended)throw new f$("stream has ended, this shouldn't happen");let U=c(this,q2,"f");if(!U)throw new f$("request ended without sending any chunks");return g$(this,q2,void 0,"f"),g$(this,M_,[],"f"),Sv(U,c(this,i0,"f"))},XX=function(){let U=c(this,i0,"f")?.response_format;if(z8(U))return U;return null},dO=function(U){var _,Q,J,G;let Y=c(this,q2,"f"),{choices:X,...V}=U;if(!Y)Y=g$(this,q2,{...V,choices:[]},"f");else Object.assign(Y,V);for(let{delta:K,finish_reason:Z,index:N,logprobs:W=null,...B}of U.choices){let q=Y.choices[N];if(!q)q=Y.choices[N]={finish_reason:Z,index:N,message:{},logprobs:W,...B};if(W)if(!q.logprobs)q.logprobs=Object.assign({},W);else{let{content:E,refusal:D,...f}=W;if(lO(f),Object.assign(q.logprobs,f),E)(_=q.logprobs).content??(_.content=[]),q.logprobs.content.push(...E);if(D)(Q=q.logprobs).refusal??(Q.refusal=[]),q.logprobs.refusal.push(...D)}if(Z){if(q.finish_reason=Z,c(this,i0,"f")&&oY(c(this,i0,"f"))){if(Z==="length")throw new D8;if(Z==="content_filter")throw new E8}}if(Object.assign(q,B),!K)continue;let{content:O,refusal:M,function_call:P,role:H,tool_calls:z,...A}=K;if(lO(A),Object.assign(q.message,A),M)q.message.refusal=(q.message.refusal||"")+M;if(H)q.message.role=H;if(P)if(!q.message.function_call)q.message.function_call=P;else{if(P.name)q.message.function_call.name=P.name;if(P.arguments)(J=q.message.function_call).arguments??(J.arguments=""),q.message.function_call.arguments+=P.arguments}if(O){if(q.message.content=(q.message.content||"")+O,!q.message.refusal&&c(this,f6,"m",XX).call(this))q.message.parsed=_X(q.message.content)}if(z){if(!q.message.tool_calls)q.message.tool_calls=[];for(let{index:E,id:D,type:f,function:j,...T}of z){let L=(G=q.message.tool_calls)[E]??(G[E]={});if(Object.assign(L,T),D)L.id=D;if(f)L.type=f;if(j)L.function??(L.function={name:j.name??"",arguments:""});if(j?.name)L.function.name=j.name;if(j?.arguments){if(L.function.arguments+=j.arguments,CO(c(this,i0,"f"),L))L.function.parsed_arguments=_X(L.function.arguments)}}}}return Y},Symbol.asyncIterator)](){let $=[],U=[],_=!1;return this.on("chunk",(Q)=>{let J=U.shift();if(J)J.resolve(Q);else $.push(Q)}),this.on("end",()=>{_=!0;for(let Q of U)Q.resolve(void 0);U.length=0}),this.on("abort",(Q)=>{_=!0;for(let J of U)J.reject(Q);U.length=0}),this.on("error",(Q)=>{_=!0;for(let J of U)J.reject(Q);U.length=0}),{next:async()=>{if(!$.length){if(_)return{value:void 0,done:!0};return new Promise((J,G)=>U.push({resolve:J,reject:G})).then((J)=>J?{value:J,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new f1(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function Sv($,U){let{id:_,choices:Q,created:J,model:G,system_fingerprint:Y,...X}=$,V={...X,id:_,choices:Q.map(({message:K,finish_reason:Z,index:N,logprobs:W,...B})=>{if(!Z)throw new f$(`missing finish_reason for choice ${N}`);let{content:q=null,function_call:O,tool_calls:M,...P}=K,H=K.role;if(!H)throw new f$(`missing role for choice ${N}`);if(O){let{arguments:z,name:A}=O;if(z==null)throw new f$(`missing function_call.arguments for choice ${N}`);if(!A)throw new f$(`missing function_call.name for choice ${N}`);return{...B,message:{content:q,function_call:{arguments:z,name:A},role:H,refusal:K.refusal??null},finish_reason:Z,index:N,logprobs:W}}if(M)return{...B,index:N,finish_reason:Z,logprobs:W,message:{...P,role:H,content:q,refusal:K.refusal??null,tool_calls:M.map((z,A)=>{let{function:E,type:D,id:f,...j}=z,{arguments:T,name:L,...k}=E||{};if(f==null)throw new f$(`missing choices[${N}].tool_calls[${A}].id
73
+ ${F7($)}`);if(D==null)throw new f$(`missing choices[${N}].tool_calls[${A}].type
74
+ ${F7($)}`);if(L==null)throw new f$(`missing choices[${N}].tool_calls[${A}].function.name
75
+ ${F7($)}`);if(T==null)throw new f$(`missing choices[${N}].tool_calls[${A}].function.arguments
76
+ ${F7($)}`);return{...j,id:f,type:D,function:{...k,name:L,arguments:T}}})}};return{...B,message:{...P,content:q,role:H,refusal:K.refusal??null},finish_reason:Z,index:N,logprobs:W}}),created:J,model:G,object:"chat.completion",...Y?{system_fingerprint:Y}:{}};return vO(V,U)}function F7($){return JSON.stringify($)}function lO($){return}function iO($){}class P_ extends B2{static fromReadableStream($){let U=new P_(null);return U._run(()=>U._fromReadableStream($)),U}static runTools($,U,_){let Q=new P_(U),J={..._,headers:{..._?.headers,"X-Stainless-Helper-Method":"runTools"}};return Q._run(()=>Q._runTools($,U,J)),Q}}class H2 extends Q${constructor(){super(...arguments);this.messages=new j_(this._client)}create($,U){return this._client.post("/chat/completions",{body:$,...U,stream:$.stream??!1})}retrieve($,U){return this._client.get(s`/chat/completions/${$}`,U)}update($,U,_){return this._client.post(s`/chat/completions/${$}`,{body:U,..._})}list($={},U){return this._client.getAPIList("/chat/completions",Q4,{query:$,...U})}delete($,U){return this._client.delete(s`/chat/completions/${$}`,U)}parse($,U){return bO($.tools),this._client.chat.completions.create($,{...U,headers:{...U?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap((_)=>A8(_,$))}runTools($,U){if($.stream)return P_.runTools(this._client,$,U);return C8.runTools(this._client,$,U)}stream($,U){return B2.createChatCompletion(this._client,$,U)}}H2.Messages=j_;class EU extends Q${constructor(){super(...arguments);this.completions=new H2(this._client)}}EU.Completions=H2;var rO=Symbol("brand.privateNullableHeaders");function*vv($){if(!$)return;if(rO in $){let{values:Q,nulls:J}=$;yield*Q.entries();for(let G of J)yield[G,null];return}let U=!1,_;if($ instanceof Headers)_=$.entries();else if(SY($))_=$;else U=!0,_=Object.entries($??{});for(let Q of _){let J=Q[0];if(typeof J!=="string")throw TypeError("expected header name to be a string");let G=SY(Q[1])?Q[1]:[Q[1]],Y=!1;for(let X of G){if(X===void 0)continue;if(U&&!Y)Y=!0,yield[J,null];yield[J,X]}}}var B$=($)=>{let U=new Headers,_=new Set;for(let Q of $){let J=new Set;for(let[G,Y]of vv(Q)){let X=G.toLowerCase();if(!J.has(X))U.delete(G),J.add(X);if(Y===null)U.delete(G),_.add(X);else U.append(G,Y),_.delete(X)}}return{[rO]:!0,values:U,nulls:_}};class y8 extends Q${create($,U){return this._client.post("/audio/speech",{body:$,...U,headers:B$([{Accept:"application/octet-stream"},U?.headers]),__binaryResponse:!0})}}class b8 extends Q${create($,U){return this._client.post("/audio/transcriptions",L1({body:$,...U,stream:$.stream??!1,__metadata:{model:$.model}},this._client))}}class x8 extends Q${create($,U){return this._client.post("/audio/translations",L1({body:$,...U,__metadata:{model:$.model}},this._client))}}class r0 extends Q${constructor(){super(...arguments);this.transcriptions=new b8(this._client),this.translations=new x8(this._client),this.speech=new y8(this._client)}}r0.Transcriptions=b8;r0.Translations=x8;r0.Speech=y8;class f_ extends Q${create($,U){return this._client.post("/batches",{body:$,...U})}retrieve($,U){return this._client.get(s`/batches/${$}`,U)}list($={},U){return this._client.getAPIList("/batches",Q4,{query:$,...U})}cancel($,U){return this._client.post(s`/batches/${$}/cancel`,U)}}class g8 extends Q${create($,U){return this._client.post("/assistants",{body:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}retrieve($,U){return this._client.get(s`/assistants/${$}`,{...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}update($,U,_){return this._client.post(s`/assistants/${$}`,{body:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}list($={},U){return this._client.getAPIList("/assistants",Q4,{query:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}delete($,U){return this._client.delete(s`/assistants/${$}`,{...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}}class h8 extends Q${create($,U){return this._client.post("/realtime/sessions",{body:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}}class u8 extends Q${create($,U){return this._client.post("/realtime/transcription_sessions",{body:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}}class MU extends Q${constructor(){super(...arguments);this.sessions=new h8(this._client),this.transcriptionSessions=new u8(this._client)}}MU.Sessions=h8;MU.TranscriptionSessions=u8;class m8 extends Q${create($,U){return this._client.post("/chatkit/sessions",{body:$,...U,headers:B$([{"OpenAI-Beta":"chatkit_beta=v1"},U?.headers])})}cancel($,U){return this._client.post(s`/chatkit/sessions/${$}/cancel`,{...U,headers:B$([{"OpenAI-Beta":"chatkit_beta=v1"},U?.headers])})}}class c8 extends Q${retrieve($,U){return this._client.get(s`/chatkit/threads/${$}`,{...U,headers:B$([{"OpenAI-Beta":"chatkit_beta=v1"},U?.headers])})}list($={},U){return this._client.getAPIList("/chatkit/threads",F2,{query:$,...U,headers:B$([{"OpenAI-Beta":"chatkit_beta=v1"},U?.headers])})}delete($,U){return this._client.delete(s`/chatkit/threads/${$}`,{...U,headers:B$([{"OpenAI-Beta":"chatkit_beta=v1"},U?.headers])})}listItems($,U={},_){return this._client.getAPIList(s`/chatkit/threads/${$}/items`,F2,{query:U,..._,headers:B$([{"OpenAI-Beta":"chatkit_beta=v1"},_?.headers])})}}class PU extends Q${constructor(){super(...arguments);this.sessions=new m8(this._client),this.threads=new c8(this._client)}}PU.Sessions=m8;PU.Threads=c8;class d8 extends Q${create($,U,_){return this._client.post(s`/threads/${$}/messages`,{body:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}retrieve($,U,_){let{thread_id:Q}=U;return this._client.get(s`/threads/${Q}/messages/${$}`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}update($,U,_){let{thread_id:Q,...J}=U;return this._client.post(s`/threads/${Q}/messages/${$}`,{body:J,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}list($,U={},_){return this._client.getAPIList(s`/threads/${$}/messages`,Q4,{query:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}delete($,U,_){let{thread_id:Q}=U;return this._client.delete(s`/threads/${Q}/messages/${$}`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}}class l8 extends Q${retrieve($,U,_){let{thread_id:Q,run_id:J,...G}=U;return this._client.get(s`/threads/${Q}/runs/${J}/steps/${$}`,{query:G,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}list($,U,_){let{thread_id:Q,...J}=U;return this._client.getAPIList(s`/threads/${Q}/runs/${$}/steps`,Q4,{query:J,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}}var nO=($)=>{if(typeof Buffer<"u"){let U=Buffer.from($,"base64");return Array.from(new Float32Array(U.buffer,U.byteOffset,U.length/Float32Array.BYTES_PER_ELEMENT))}else{let U=atob($),_=U.length,Q=new Uint8Array(_);for(let J=0;J<_;J++)Q[J]=U.charCodeAt(J);return Array.from(new Float32Array(Q.buffer))}};var O2=($)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[$]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.($)?.trim();return};var C6,LU,VX,F0,q7,t1,RU,L_,fU,O7,R1,B7,H7,n8,i8,r8,pO,oO,aO,tO,eO,sO,$j;class j2 extends DU{constructor(){super(...arguments);C6.add(this),VX.set(this,[]),F0.set(this,{}),q7.set(this,{}),t1.set(this,void 0),RU.set(this,void 0),L_.set(this,void 0),fU.set(this,void 0),O7.set(this,void 0),R1.set(this,void 0),B7.set(this,void 0),H7.set(this,void 0),n8.set(this,void 0)}[(VX=new WeakMap,F0=new WeakMap,q7=new WeakMap,t1=new WeakMap,RU=new WeakMap,L_=new WeakMap,fU=new WeakMap,O7=new WeakMap,R1=new WeakMap,B7=new WeakMap,H7=new WeakMap,n8=new WeakMap,C6=new WeakSet,Symbol.asyncIterator)](){let $=[],U=[],_=!1;return this.on("event",(Q)=>{let J=U.shift();if(J)J.resolve(Q);else $.push(Q)}),this.on("end",()=>{_=!0;for(let Q of U)Q.resolve(void 0);U.length=0}),this.on("abort",(Q)=>{_=!0;for(let J of U)J.reject(Q);U.length=0}),this.on("error",(Q)=>{_=!0;for(let J of U)J.reject(Q);U.length=0}),{next:async()=>{if(!$.length){if(_)return{value:void 0,done:!0};return new Promise((J,G)=>U.push({resolve:J,reject:G})).then((J)=>J?{value:J,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}static fromReadableStream($){let U=new LU;return U._run(()=>U._fromReadableStream($)),U}async _fromReadableStream($,U){let _=U?.signal;if(_){if(_.aborted)this.controller.abort();_.addEventListener("abort",()=>this.controller.abort())}this._connected();let Q=f1.fromReadableStream($,this.controller);for await(let J of Q)c(this,C6,"m",i8).call(this,J);if(Q.controller.signal?.aborted)throw new M6;return this._addRun(c(this,C6,"m",r8).call(this))}toReadableStream(){return new f1(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream($,U,_,Q){let J=new LU;return J._run(()=>J._runToolAssistantStream($,U,_,{...Q,headers:{...Q?.headers,"X-Stainless-Helper-Method":"stream"}})),J}async _createToolAssistantStream($,U,_,Q){let J=Q?.signal;if(J){if(J.aborted)this.controller.abort();J.addEventListener("abort",()=>this.controller.abort())}let G={..._,stream:!0},Y=await $.submitToolOutputs(U,G,{...Q,signal:this.controller.signal});this._connected();for await(let X of Y)c(this,C6,"m",i8).call(this,X);if(Y.controller.signal?.aborted)throw new M6;return this._addRun(c(this,C6,"m",r8).call(this))}static createThreadAssistantStream($,U,_){let Q=new LU;return Q._run(()=>Q._threadAssistantStream($,U,{..._,headers:{..._?.headers,"X-Stainless-Helper-Method":"stream"}})),Q}static createAssistantStream($,U,_,Q){let J=new LU;return J._run(()=>J._runAssistantStream($,U,_,{...Q,headers:{...Q?.headers,"X-Stainless-Helper-Method":"stream"}})),J}currentEvent(){return c(this,B7,"f")}currentRun(){return c(this,H7,"f")}currentMessageSnapshot(){return c(this,t1,"f")}currentRunStepSnapshot(){return c(this,n8,"f")}async finalRunSteps(){return await this.done(),Object.values(c(this,F0,"f"))}async finalMessages(){return await this.done(),Object.values(c(this,q7,"f"))}async finalRun(){if(await this.done(),!c(this,RU,"f"))throw Error("Final run was not received.");return c(this,RU,"f")}async _createThreadAssistantStream($,U,_){let Q=_?.signal;if(Q){if(Q.aborted)this.controller.abort();Q.addEventListener("abort",()=>this.controller.abort())}let J={...U,stream:!0},G=await $.createAndRun(J,{..._,signal:this.controller.signal});this._connected();for await(let Y of G)c(this,C6,"m",i8).call(this,Y);if(G.controller.signal?.aborted)throw new M6;return this._addRun(c(this,C6,"m",r8).call(this))}async _createAssistantStream($,U,_,Q){let J=Q?.signal;if(J){if(J.aborted)this.controller.abort();J.addEventListener("abort",()=>this.controller.abort())}let G={..._,stream:!0},Y=await $.create(U,G,{...Q,signal:this.controller.signal});this._connected();for await(let X of Y)c(this,C6,"m",i8).call(this,X);if(Y.controller.signal?.aborted)throw new M6;return this._addRun(c(this,C6,"m",r8).call(this))}static accumulateDelta($,U){for(let[_,Q]of Object.entries(U)){if(!$.hasOwnProperty(_)){$[_]=Q;continue}let J=$[_];if(J===null||J===void 0){$[_]=Q;continue}if(_==="index"||_==="type"){$[_]=Q;continue}if(typeof J==="string"&&typeof Q==="string")J+=Q;else if(typeof J==="number"&&typeof Q==="number")J+=Q;else if(M8(J)&&M8(Q))J=this.accumulateDelta(J,Q);else if(Array.isArray(J)&&Array.isArray(Q)){if(J.every((G)=>typeof G==="string"||typeof G==="number")){J.push(...Q);continue}for(let G of Q){if(!M8(G))throw Error(`Expected array delta entry to be an object but got: ${G}`);let Y=G.index;if(Y==null)throw console.error(G),Error("Expected array delta entry to have an `index` property");if(typeof Y!=="number")throw Error(`Expected array delta entry \`index\` property to be a number but got ${Y}`);let X=J[Y];if(X==null)J.push(G);else J[Y]=this.accumulateDelta(X,G)}continue}else throw Error(`Unhandled record type: ${_}, deltaValue: ${Q}, accValue: ${J}`);$[_]=J}return $}_addRun($){return $}async _threadAssistantStream($,U,_){return await this._createThreadAssistantStream(U,$,_)}async _runAssistantStream($,U,_,Q){return await this._createAssistantStream(U,$,_,Q)}async _runToolAssistantStream($,U,_,Q){return await this._createToolAssistantStream(U,$,_,Q)}}LU=j2,i8=function(U){if(this.ended)return;switch(g$(this,B7,U,"f"),c(this,C6,"m",aO).call(this,U),U.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":c(this,C6,"m",$j).call(this,U);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":c(this,C6,"m",oO).call(this,U);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":c(this,C6,"m",pO).call(this,U);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier");default:rv(U)}},r8=function(){if(this.ended)throw new f$("stream has ended, this shouldn't happen");if(!c(this,RU,"f"))throw Error("Final run has not been received");return c(this,RU,"f")},pO=function(U){let[_,Q]=c(this,C6,"m",eO).call(this,U,c(this,t1,"f"));g$(this,t1,_,"f"),c(this,q7,"f")[_.id]=_;for(let J of Q){let G=_.content[J.index];if(G?.type=="text")this._emit("textCreated",G.text)}switch(U.event){case"thread.message.created":this._emit("messageCreated",U.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",U.data.delta,_),U.data.delta.content)for(let J of U.data.delta.content){if(J.type=="text"&&J.text){let G=J.text,Y=_.content[J.index];if(Y&&Y.type=="text")this._emit("textDelta",G,Y.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(J.index!=c(this,L_,"f")){if(c(this,fU,"f"))switch(c(this,fU,"f").type){case"text":this._emit("textDone",c(this,fU,"f").text,c(this,t1,"f"));break;case"image_file":this._emit("imageFileDone",c(this,fU,"f").image_file,c(this,t1,"f"));break}g$(this,L_,J.index,"f")}g$(this,fU,_.content[J.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(c(this,L_,"f")!==void 0){let J=U.data.content[c(this,L_,"f")];if(J)switch(J.type){case"image_file":this._emit("imageFileDone",J.image_file,c(this,t1,"f"));break;case"text":this._emit("textDone",J.text,c(this,t1,"f"));break}}if(c(this,t1,"f"))this._emit("messageDone",U.data);g$(this,t1,void 0,"f")}},oO=function(U){let _=c(this,C6,"m",tO).call(this,U);switch(g$(this,n8,_,"f"),U.event){case"thread.run.step.created":this._emit("runStepCreated",U.data);break;case"thread.run.step.delta":let Q=U.data.delta;if(Q.step_details&&Q.step_details.type=="tool_calls"&&Q.step_details.tool_calls&&_.step_details.type=="tool_calls")for(let G of Q.step_details.tool_calls)if(G.index==c(this,O7,"f"))this._emit("toolCallDelta",G,_.step_details.tool_calls[G.index]);else{if(c(this,R1,"f"))this._emit("toolCallDone",c(this,R1,"f"));if(g$(this,O7,G.index,"f"),g$(this,R1,_.step_details.tool_calls[G.index],"f"),c(this,R1,"f"))this._emit("toolCallCreated",c(this,R1,"f"))}this._emit("runStepDelta",U.data.delta,_);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(g$(this,n8,void 0,"f"),U.data.step_details.type=="tool_calls"){if(c(this,R1,"f"))this._emit("toolCallDone",c(this,R1,"f")),g$(this,R1,void 0,"f")}this._emit("runStepDone",U.data,_);break;case"thread.run.step.in_progress":break}},aO=function(U){c(this,VX,"f").push(U),this._emit("event",U)},tO=function(U){switch(U.event){case"thread.run.step.created":return c(this,F0,"f")[U.data.id]=U.data,U.data;case"thread.run.step.delta":let _=c(this,F0,"f")[U.data.id];if(!_)throw Error("Received a RunStepDelta before creation of a snapshot");let Q=U.data;if(Q.delta){let J=LU.accumulateDelta(_,Q.delta);c(this,F0,"f")[U.data.id]=J}return c(this,F0,"f")[U.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":c(this,F0,"f")[U.data.id]=U.data;break}if(c(this,F0,"f")[U.data.id])return c(this,F0,"f")[U.data.id];throw Error("No snapshot available")},eO=function(U,_){let Q=[];switch(U.event){case"thread.message.created":return[U.data,Q];case"thread.message.delta":if(!_)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let J=U.data;if(J.delta.content)for(let G of J.delta.content)if(G.index in _.content){let Y=_.content[G.index];_.content[G.index]=c(this,C6,"m",sO).call(this,G,Y)}else _.content[G.index]=G,Q.push(G);return[_,Q];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(_)return[_,Q];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},sO=function(U,_){return LU.accumulateDelta(_,U)},$j=function(U){switch(g$(this,H7,U.data,"f"),U.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":if(g$(this,RU,U.data,"f"),c(this,R1,"f"))this._emit("toolCallDone",c(this,R1,"f")),g$(this,R1,void 0,"f");break;case"thread.run.cancelling":break}};function rv($){}class R_ extends Q${constructor(){super(...arguments);this.steps=new l8(this._client)}create($,U,_){let{include:Q,...J}=U;return this._client.post(s`/threads/${$}/runs`,{query:{include:Q},body:J,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers]),stream:U.stream??!1})}retrieve($,U,_){let{thread_id:Q}=U;return this._client.get(s`/threads/${Q}/runs/${$}`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}update($,U,_){let{thread_id:Q,...J}=U;return this._client.post(s`/threads/${Q}/runs/${$}`,{body:J,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}list($,U={},_){return this._client.getAPIList(s`/threads/${$}/runs`,Q4,{query:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}cancel($,U,_){let{thread_id:Q}=U;return this._client.post(s`/threads/${Q}/runs/${$}/cancel`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}async createAndPoll($,U,_){let Q=await this.create($,U,_);return await this.poll(Q.id,{thread_id:$},_)}createAndStream($,U,_){return j2.createAssistantStream($,this._client.beta.threads.runs,U,_)}async poll($,U,_){let Q=B$([_?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":_?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:J,response:G}=await this.retrieve($,U,{..._,headers:{..._?.headers,...Q}}).withResponse();switch(J.status){case"queued":case"in_progress":case"cancelling":let Y=5000;if(_?.pollIntervalMs)Y=_.pollIntervalMs;else{let X=G.headers.get("openai-poll-after-ms");if(X){let V=parseInt(X);if(!isNaN(V))Y=V}}await W0(Y);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return J}}}stream($,U,_){return j2.createAssistantStream($,this._client.beta.threads.runs,U,_)}submitToolOutputs($,U,_){let{thread_id:Q,...J}=U;return this._client.post(s`/threads/${Q}/runs/${$}/submit_tool_outputs`,{body:J,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers]),stream:U.stream??!1})}async submitToolOutputsAndPoll($,U,_){let Q=await this.submitToolOutputs($,U,_);return await this.poll(Q.id,U,_)}submitToolOutputsStream($,U,_){return j2.createToolAssistantStream($,this._client.beta.threads.runs,U,_)}}R_.Steps=l8;class wU extends Q${constructor(){super(...arguments);this.runs=new R_(this._client),this.messages=new d8(this._client)}create($={},U){return this._client.post("/threads",{body:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}retrieve($,U){return this._client.get(s`/threads/${$}`,{...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}update($,U,_){return this._client.post(s`/threads/${$}`,{body:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}delete($,U){return this._client.delete(s`/threads/${$}`,{...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}createAndRun($,U){return this._client.post("/threads/runs",{body:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers]),stream:$.stream??!1})}async createAndRunPoll($,U){let _=await this.createAndRun($,U);return await this.runs.poll(_.id,{thread_id:_.thread_id},U)}createAndRunStream($,U){return j2.createThreadAssistantStream($,this._client.beta.threads,U)}}wU.Runs=R_;wU.Messages=d8;class q0 extends Q${constructor(){super(...arguments);this.realtime=new MU(this._client),this.chatkit=new PU(this._client),this.assistants=new g8(this._client),this.threads=new wU(this._client)}}q0.Realtime=MU;q0.ChatKit=PU;q0.Assistants=g8;q0.Threads=wU;class w_ extends Q${create($,U){return this._client.post("/completions",{body:$,...U,stream:$.stream??!1})}}class p8 extends Q${retrieve($,U,_){let{container_id:Q}=U;return this._client.get(s`/containers/${Q}/files/${$}/content`,{..._,headers:B$([{Accept:"application/binary"},_?.headers]),__binaryResponse:!0})}}class z_ extends Q${constructor(){super(...arguments);this.content=new p8(this._client)}create($,U,_){return this._client.post(s`/containers/${$}/files`,L1({body:U,..._},this._client))}retrieve($,U,_){let{container_id:Q}=U;return this._client.get(s`/containers/${Q}/files/${$}`,_)}list($,U={},_){return this._client.getAPIList(s`/containers/${$}/files`,Q4,{query:U,..._})}delete($,U,_){let{container_id:Q}=U;return this._client.delete(s`/containers/${Q}/files/${$}`,{..._,headers:B$([{Accept:"*/*"},_?.headers])})}}z_.Content=p8;class zU extends Q${constructor(){super(...arguments);this.files=new z_(this._client)}create($,U){return this._client.post("/containers",{body:$,...U})}retrieve($,U){return this._client.get(s`/containers/${$}`,U)}list($={},U){return this._client.getAPIList("/containers",Q4,{query:$,...U})}delete($,U){return this._client.delete(s`/containers/${$}`,{...U,headers:B$([{Accept:"*/*"},U?.headers])})}}zU.Files=z_;class o8 extends Q${create($,U,_){let{include:Q,...J}=U;return this._client.post(s`/conversations/${$}/items`,{query:{include:Q},body:J,..._})}retrieve($,U,_){let{conversation_id:Q,...J}=U;return this._client.get(s`/conversations/${Q}/items/${$}`,{query:J,..._})}list($,U={},_){return this._client.getAPIList(s`/conversations/${$}/items`,F2,{query:U,..._})}delete($,U,_){let{conversation_id:Q}=U;return this._client.delete(s`/conversations/${Q}/items/${$}`,_)}}class AU extends Q${constructor(){super(...arguments);this.items=new o8(this._client)}create($={},U){return this._client.post("/conversations",{body:$,...U})}retrieve($,U){return this._client.get(s`/conversations/${$}`,U)}update($,U,_){return this._client.post(s`/conversations/${$}`,{body:U,..._})}delete($,U){return this._client.delete(s`/conversations/${$}`,U)}}AU.Items=o8;class A_ extends Q${create($,U){let _=!!$.encoding_format,Q=_?$.encoding_format:"base64";if(_)K6(this._client).debug("embeddings/user defined encoding_format:",$.encoding_format);let J=this._client.post("/embeddings",{body:{...$,encoding_format:Q},...U});if(_)return J;return K6(this._client).debug("embeddings/decoding base64 embeddings from base64"),J._thenUnwrap((G)=>{if(G&&G.data)G.data.forEach((Y)=>{let X=Y.embedding;Y.embedding=nO(X)});return G})}}class a8 extends Q${retrieve($,U,_){let{eval_id:Q,run_id:J}=U;return this._client.get(s`/evals/${Q}/runs/${J}/output_items/${$}`,_)}list($,U,_){let{eval_id:Q,...J}=U;return this._client.getAPIList(s`/evals/${Q}/runs/${$}/output_items`,Q4,{query:J,..._})}}class k_ extends Q${constructor(){super(...arguments);this.outputItems=new a8(this._client)}create($,U,_){return this._client.post(s`/evals/${$}/runs`,{body:U,..._})}retrieve($,U,_){let{eval_id:Q}=U;return this._client.get(s`/evals/${Q}/runs/${$}`,_)}list($,U={},_){return this._client.getAPIList(s`/evals/${$}/runs`,Q4,{query:U,..._})}delete($,U,_){let{eval_id:Q}=U;return this._client.delete(s`/evals/${Q}/runs/${$}`,_)}cancel($,U,_){let{eval_id:Q}=U;return this._client.post(s`/evals/${Q}/runs/${$}`,_)}}k_.OutputItems=a8;class kU extends Q${constructor(){super(...arguments);this.runs=new k_(this._client)}create($,U){return this._client.post("/evals",{body:$,...U})}retrieve($,U){return this._client.get(s`/evals/${$}`,U)}update($,U,_){return this._client.post(s`/evals/${$}`,{body:U,..._})}list($={},U){return this._client.getAPIList("/evals",Q4,{query:$,...U})}delete($,U){return this._client.delete(s`/evals/${$}`,U)}}kU.Runs=k_;class T_ extends Q${create($,U){return this._client.post("/files",L1({body:$,...U},this._client))}retrieve($,U){return this._client.get(s`/files/${$}`,U)}list($={},U){return this._client.getAPIList("/files",Q4,{query:$,...U})}delete($,U){return this._client.delete(s`/files/${$}`,U)}content($,U){return this._client.get(s`/files/${$}/content`,{...U,headers:B$([{Accept:"application/binary"},U?.headers]),__binaryResponse:!0})}async waitForProcessing($,{pollInterval:U=5000,maxWait:_=1800000}={}){let Q=new Set(["processed","error","deleted"]),J=Date.now(),G=await this.retrieve($);while(!G.status||!Q.has(G.status))if(await W0(U),G=await this.retrieve($),Date.now()-J>_)throw new HU({message:`Giving up on waiting for file ${$} to finish processing after ${_} milliseconds.`});return G}}class t8 extends Q${}class e8 extends Q${run($,U){return this._client.post("/fine_tuning/alpha/graders/run",{body:$,...U})}validate($,U){return this._client.post("/fine_tuning/alpha/graders/validate",{body:$,...U})}}class S_ extends Q${constructor(){super(...arguments);this.graders=new e8(this._client)}}S_.Graders=e8;class s8 extends Q${create($,U,_){return this._client.getAPIList(s`/fine_tuning/checkpoints/${$}/permissions`,d0,{body:U,method:"post",..._})}retrieve($,U={},_){return this._client.get(s`/fine_tuning/checkpoints/${$}/permissions`,{query:U,..._})}delete($,U,_){let{fine_tuned_model_checkpoint:Q}=U;return this._client.delete(s`/fine_tuning/checkpoints/${Q}/permissions/${$}`,_)}}class I_ extends Q${constructor(){super(...arguments);this.permissions=new s8(this._client)}}I_.Permissions=s8;class $9 extends Q${list($,U={},_){return this._client.getAPIList(s`/fine_tuning/jobs/${$}/checkpoints`,Q4,{query:U,..._})}}class v_ extends Q${constructor(){super(...arguments);this.checkpoints=new $9(this._client)}create($,U){return this._client.post("/fine_tuning/jobs",{body:$,...U})}retrieve($,U){return this._client.get(s`/fine_tuning/jobs/${$}`,U)}list($={},U){return this._client.getAPIList("/fine_tuning/jobs",Q4,{query:$,...U})}cancel($,U){return this._client.post(s`/fine_tuning/jobs/${$}/cancel`,U)}listEvents($,U={},_){return this._client.getAPIList(s`/fine_tuning/jobs/${$}/events`,Q4,{query:U,..._})}pause($,U){return this._client.post(s`/fine_tuning/jobs/${$}/pause`,U)}resume($,U){return this._client.post(s`/fine_tuning/jobs/${$}/resume`,U)}}v_.Checkpoints=$9;class B0 extends Q${constructor(){super(...arguments);this.methods=new t8(this._client),this.jobs=new v_(this._client),this.checkpoints=new I_(this._client),this.alpha=new S_(this._client)}}B0.Methods=t8;B0.Jobs=v_;B0.Checkpoints=I_;B0.Alpha=S_;class U9 extends Q${}class TU extends Q${constructor(){super(...arguments);this.graderModels=new U9(this._client)}}TU.GraderModels=U9;class C_ extends Q${createVariation($,U){return this._client.post("/images/variations",L1({body:$,...U},this._client))}edit($,U){return this._client.post("/images/edits",L1({body:$,...U,stream:$.stream??!1},this._client))}generate($,U){return this._client.post("/images/generations",{body:$,...U,stream:$.stream??!1})}}class y_ extends Q${retrieve($,U){return this._client.get(s`/models/${$}`,U)}list($){return this._client.getAPIList("/models",d0,$)}delete($,U){return this._client.delete(s`/models/${$}`,U)}}class b_ extends Q${create($,U){return this._client.post("/moderations",{body:$,...U})}}class _9 extends Q${accept($,U,_){return this._client.post(s`/realtime/calls/${$}/accept`,{body:U,..._,headers:B$([{Accept:"*/*"},_?.headers])})}hangup($,U){return this._client.post(s`/realtime/calls/${$}/hangup`,{...U,headers:B$([{Accept:"*/*"},U?.headers])})}refer($,U,_){return this._client.post(s`/realtime/calls/${$}/refer`,{body:U,..._,headers:B$([{Accept:"*/*"},_?.headers])})}reject($,U={},_){return this._client.post(s`/realtime/calls/${$}/reject`,{body:U,..._,headers:B$([{Accept:"*/*"},_?.headers])})}}class J9 extends Q${create($,U){return this._client.post("/realtime/client_secrets",{body:$,...U})}}class D2 extends Q${constructor(){super(...arguments);this.clientSecrets=new J9(this._client),this.calls=new _9(this._client)}}D2.ClientSecrets=J9;D2.Calls=_9;function Uj($,U){if(!U||!WC(U))return{...$,output_parsed:null,output:$.output.map((_)=>{if(_.type==="function_call")return{..._,parsed_arguments:null};if(_.type==="message")return{..._,content:_.content.map((Q)=>({...Q,parsed:null}))};else return _})};return KX($,U)}function KX($,U){let _=$.output.map((J)=>{if(J.type==="function_call")return{...J,parsed_arguments:qC(U,J)};if(J.type==="message"){let G=J.content.map((Y)=>{if(Y.type==="output_text")return{...Y,parsed:ZC(U,Y.text)};return Y});return{...J,content:G}}return J}),Q=Object.assign({},$,{output:_});if(!Object.getOwnPropertyDescriptor($,"output_text"))j7(Q);return Object.defineProperty(Q,"output_parsed",{enumerable:!0,get(){for(let J of Q.output){if(J.type!=="message")continue;for(let G of J.content)if(G.type==="output_text"&&G.parsed!==null)return G.parsed}return null}}),Q}function ZC($,U){if($.text?.format?.type!=="json_schema")return null;if("$parseRaw"in $.text?.format)return($.text?.format).$parseRaw(U);return JSON.parse(U)}function WC($){if(z8($.text?.format))return!0;return!1}function NC($){return $?.$brand==="auto-parseable-tool"}function FC($,U){return $.find((_)=>_.type==="function"&&_.name===U)}function qC($,U){let _=FC($.tools??[],U.name);return{...U,...U,parsed_arguments:NC(_)?_.$parseRaw(U.arguments):_?.strict?JSON.parse(U.arguments):null}}function j7($){let U=[];for(let _ of $.output){if(_.type!=="message")continue;for(let Q of _.content)if(Q.type==="output_text")U.push(Q.text)}$.output_text=U.join("")}var x_,D7,E2,E7,_j,Jj,Qj,Gj;class M7 extends DU{constructor($){super();x_.add(this),D7.set(this,void 0),E2.set(this,void 0),E7.set(this,void 0),g$(this,D7,$,"f")}static createResponse($,U,_){let Q=new M7(U);return Q._run(()=>Q._createOrRetrieveResponse($,U,{..._,headers:{..._?.headers,"X-Stainless-Helper-Method":"stream"}})),Q}async _createOrRetrieveResponse($,U,_){let Q=_?.signal;if(Q){if(Q.aborted)this.controller.abort();Q.addEventListener("abort",()=>this.controller.abort())}c(this,x_,"m",_j).call(this);let J,G=null;if("response_id"in U)J=await $.responses.retrieve(U.response_id,{stream:!0},{..._,signal:this.controller.signal,stream:!0}),G=U.starting_after??null;else J=await $.responses.create({...U,stream:!0},{..._,signal:this.controller.signal});this._connected();for await(let Y of J)c(this,x_,"m",Jj).call(this,Y,G);if(J.controller.signal?.aborted)throw new M6;return c(this,x_,"m",Qj).call(this)}[(D7=new WeakMap,E2=new WeakMap,E7=new WeakMap,x_=new WeakSet,_j=function(){if(this.ended)return;g$(this,E2,void 0,"f")},Jj=function(U,_){if(this.ended)return;let Q=(G,Y)=>{if(_==null||Y.sequence_number>_)this._emit(G,Y)},J=c(this,x_,"m",Gj).call(this,U);switch(Q("event",U),U.type){case"response.output_text.delta":{let G=J.output[U.output_index];if(!G)throw new f$(`missing output at index ${U.output_index}`);if(G.type==="message"){let Y=G.content[U.content_index];if(!Y)throw new f$(`missing content at index ${U.content_index}`);if(Y.type!=="output_text")throw new f$(`expected content to be 'output_text', got ${Y.type}`);Q("response.output_text.delta",{...U,snapshot:Y.text})}break}case"response.function_call_arguments.delta":{let G=J.output[U.output_index];if(!G)throw new f$(`missing output at index ${U.output_index}`);if(G.type==="function_call")Q("response.function_call_arguments.delta",{...U,snapshot:G.arguments});break}default:Q(U.type,U);break}},Qj=function(){if(this.ended)throw new f$("stream has ended, this shouldn't happen");let U=c(this,E2,"f");if(!U)throw new f$("request ended without sending any events");g$(this,E2,void 0,"f");let _=BC(U,c(this,D7,"f"));return g$(this,E7,_,"f"),_},Gj=function(U){let _=c(this,E2,"f");if(!_){if(U.type!=="response.created")throw new f$(`When snapshot hasn't been set yet, expected 'response.created' event, got ${U.type}`);return _=g$(this,E2,U.response,"f"),_}switch(U.type){case"response.output_item.added":{_.output.push(U.item);break}case"response.content_part.added":{let Q=_.output[U.output_index];if(!Q)throw new f$(`missing output at index ${U.output_index}`);let J=Q.type,G=U.part;if(J==="message"&&G.type!=="reasoning_text")Q.content.push(G);else if(J==="reasoning"&&G.type==="reasoning_text"){if(!Q.content)Q.content=[];Q.content.push(G)}break}case"response.output_text.delta":{let Q=_.output[U.output_index];if(!Q)throw new f$(`missing output at index ${U.output_index}`);if(Q.type==="message"){let J=Q.content[U.content_index];if(!J)throw new f$(`missing content at index ${U.content_index}`);if(J.type!=="output_text")throw new f$(`expected content to be 'output_text', got ${J.type}`);J.text+=U.delta}break}case"response.function_call_arguments.delta":{let Q=_.output[U.output_index];if(!Q)throw new f$(`missing output at index ${U.output_index}`);if(Q.type==="function_call")Q.arguments+=U.delta;break}case"response.reasoning_text.delta":{let Q=_.output[U.output_index];if(!Q)throw new f$(`missing output at index ${U.output_index}`);if(Q.type==="reasoning"){let J=Q.content?.[U.content_index];if(!J)throw new f$(`missing content at index ${U.content_index}`);if(J.type!=="reasoning_text")throw new f$(`expected content to be 'reasoning_text', got ${J.type}`);J.text+=U.delta}break}case"response.completed":{g$(this,E2,U.response,"f");break}}return _},Symbol.asyncIterator)](){let $=[],U=[],_=!1;return this.on("event",(Q)=>{let J=U.shift();if(J)J.resolve(Q);else $.push(Q)}),this.on("end",()=>{_=!0;for(let Q of U)Q.resolve(void 0);U.length=0}),this.on("abort",(Q)=>{_=!0;for(let J of U)J.reject(Q);U.length=0}),this.on("error",(Q)=>{_=!0;for(let J of U)J.reject(Q);U.length=0}),{next:async()=>{if(!$.length){if(_)return{value:void 0,done:!0};return new Promise((J,G)=>U.push({resolve:J,reject:G})).then((J)=>J?{value:J,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}async finalResponse(){await this.done();let $=c(this,E7,"f");if(!$)throw new f$("stream ended without producing a ChatCompletion");return $}}function BC($,U){return Uj($,U)}class Q9 extends Q${list($,U={},_){return this._client.getAPIList(s`/responses/${$}/input_items`,Q4,{query:U,..._})}}class G9 extends Q${count($={},U){return this._client.post("/responses/input_tokens",{body:$,...U})}}class M2 extends Q${constructor(){super(...arguments);this.inputItems=new Q9(this._client),this.inputTokens=new G9(this._client)}create($,U){return this._client.post("/responses",{body:$,...U,stream:$.stream??!1})._thenUnwrap((_)=>{if("object"in _&&_.object==="response")j7(_);return _})}retrieve($,U={},_){return this._client.get(s`/responses/${$}`,{query:U,..._,stream:U?.stream??!1})._thenUnwrap((Q)=>{if("object"in Q&&Q.object==="response")j7(Q);return Q})}delete($,U){return this._client.delete(s`/responses/${$}`,{...U,headers:B$([{Accept:"*/*"},U?.headers])})}parse($,U){return this._client.responses.create($,U)._thenUnwrap((_)=>KX(_,$))}stream($,U){return M7.createResponse(this._client,$,U)}cancel($,U){return this._client.post(s`/responses/${$}/cancel`,U)}compact($,U){return this._client.post("/responses/compact",{body:$,...U})}}M2.InputItems=Q9;M2.InputTokens=G9;class Y9 extends Q${create($,U,_){return this._client.post(s`/uploads/${$}/parts`,L1({body:U,..._},this._client))}}class SU extends Q${constructor(){super(...arguments);this.parts=new Y9(this._client)}create($,U){return this._client.post("/uploads",{body:$,...U})}cancel($,U){return this._client.post(s`/uploads/${$}/cancel`,U)}complete($,U,_){return this._client.post(s`/uploads/${$}/complete`,{body:U,..._})}}SU.Parts=Y9;var Yj=async($)=>{let U=await Promise.allSettled($),_=U.filter((J)=>J.status==="rejected");if(_.length){for(let J of _)console.error(J.reason);throw Error(`${_.length} promise(s) failed - see the above errors`)}let Q=[];for(let J of U)if(J.status==="fulfilled")Q.push(J.value);return Q};class X9 extends Q${create($,U,_){return this._client.post(s`/vector_stores/${$}/file_batches`,{body:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}retrieve($,U,_){let{vector_store_id:Q}=U;return this._client.get(s`/vector_stores/${Q}/file_batches/${$}`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}cancel($,U,_){let{vector_store_id:Q}=U;return this._client.post(s`/vector_stores/${Q}/file_batches/${$}/cancel`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}async createAndPoll($,U,_){let Q=await this.create($,U);return await this.poll($,Q.id,_)}listFiles($,U,_){let{vector_store_id:Q,...J}=U;return this._client.getAPIList(s`/vector_stores/${Q}/file_batches/${$}/files`,Q4,{query:J,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}async poll($,U,_){let Q=B$([_?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":_?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:J,response:G}=await this.retrieve(U,{vector_store_id:$},{..._,headers:Q}).withResponse();switch(J.status){case"in_progress":let Y=5000;if(_?.pollIntervalMs)Y=_.pollIntervalMs;else{let X=G.headers.get("openai-poll-after-ms");if(X){let V=parseInt(X);if(!isNaN(V))Y=V}}await W0(Y);break;case"failed":case"cancelled":case"completed":return J}}}async uploadAndPoll($,{files:U,fileIds:_=[]},Q){if(U==null||U.length==0)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let J=Q?.maxConcurrency??5,G=Math.min(J,U.length),Y=this._client,X=U.values(),V=[..._];async function K(N){for(let W of N){let B=await Y.files.create({file:W,purpose:"assistants"},Q);V.push(B.id)}}let Z=Array(G).fill(X).map(K);return await Yj(Z),await this.createAndPoll($,{file_ids:V})}}class V9 extends Q${create($,U,_){return this._client.post(s`/vector_stores/${$}/files`,{body:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}retrieve($,U,_){let{vector_store_id:Q}=U;return this._client.get(s`/vector_stores/${Q}/files/${$}`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}update($,U,_){let{vector_store_id:Q,...J}=U;return this._client.post(s`/vector_stores/${Q}/files/${$}`,{body:J,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}list($,U={},_){return this._client.getAPIList(s`/vector_stores/${$}/files`,Q4,{query:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}delete($,U,_){let{vector_store_id:Q}=U;return this._client.delete(s`/vector_stores/${Q}/files/${$}`,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}async createAndPoll($,U,_){let Q=await this.create($,U,_);return await this.poll($,Q.id,_)}async poll($,U,_){let Q=B$([_?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":_?.pollIntervalMs?.toString()??void 0}]);while(!0){let J=await this.retrieve(U,{vector_store_id:$},{..._,headers:Q}).withResponse(),G=J.data;switch(G.status){case"in_progress":let Y=5000;if(_?.pollIntervalMs)Y=_.pollIntervalMs;else{let X=J.response.headers.get("openai-poll-after-ms");if(X){let V=parseInt(X);if(!isNaN(V))Y=V}}await W0(Y);break;case"failed":case"completed":return G}}}async upload($,U,_){let Q=await this._client.files.create({file:U,purpose:"assistants"},_);return this.create($,{file_id:Q.id},_)}async uploadAndPoll($,U,_){let Q=await this.upload($,U,_);return await this.poll($,Q.id,_)}content($,U,_){let{vector_store_id:Q}=U;return this._client.getAPIList(s`/vector_stores/${Q}/files/${$}/content`,d0,{..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}}class P2 extends Q${constructor(){super(...arguments);this.files=new V9(this._client),this.fileBatches=new X9(this._client)}create($,U){return this._client.post("/vector_stores",{body:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}retrieve($,U){return this._client.get(s`/vector_stores/${$}`,{...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}update($,U,_){return this._client.post(s`/vector_stores/${$}`,{body:U,..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}list($={},U){return this._client.getAPIList("/vector_stores",Q4,{query:$,...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}delete($,U){return this._client.delete(s`/vector_stores/${$}`,{...U,headers:B$([{"OpenAI-Beta":"assistants=v2"},U?.headers])})}search($,U,_){return this._client.getAPIList(s`/vector_stores/${$}/search`,d0,{body:U,method:"post",..._,headers:B$([{"OpenAI-Beta":"assistants=v2"},_?.headers])})}}P2.Files=V9;P2.FileBatches=X9;class g_ extends Q${create($,U){return this._client.post("/videos",nY({body:$,...U},this._client))}retrieve($,U){return this._client.get(s`/videos/${$}`,U)}list($={},U){return this._client.getAPIList("/videos",F2,{query:$,...U})}delete($,U){return this._client.delete(s`/videos/${$}`,U)}downloadContent($,U={},_){return this._client.get(s`/videos/${$}/content`,{query:U,..._,headers:B$([{Accept:"application/binary"},_?.headers]),__binaryResponse:!0})}remix($,U,_){return this._client.post(s`/videos/${$}/remix`,nY({body:U,..._},this._client))}}var h_,Xj,P7;class u_ extends Q${constructor(){super(...arguments);h_.add(this)}async unwrap($,U,_=this._client.webhookSecret,Q=300){return await this.verifySignature($,U,_,Q),JSON.parse($)}async verifySignature($,U,_=this._client.webhookSecret,Q=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!=="function"||typeof crypto.subtle.verify!=="function")throw Error("Webhook signature verification is only supported when the `crypto` global is defined");c(this,h_,"m",Xj).call(this,_);let J=B$([U]).values,G=c(this,h_,"m",P7).call(this,J,"webhook-signature"),Y=c(this,h_,"m",P7).call(this,J,"webhook-timestamp"),X=c(this,h_,"m",P7).call(this,J,"webhook-id"),V=parseInt(Y,10);if(isNaN(V))throw new m0("Invalid webhook timestamp format");let K=Math.floor(Date.now()/1000);if(K-V>Q)throw new m0("Webhook timestamp is too old");if(V>K+Q)throw new m0("Webhook timestamp is too new");let Z=G.split(" ").map((q)=>q.startsWith("v1,")?q.substring(3):q),N=_.startsWith("whsec_")?Buffer.from(_.replace("whsec_",""),"base64"):Buffer.from(_,"utf-8"),W=X?`${X}.${Y}.${$}`:`${Y}.${$}`,B=await crypto.subtle.importKey("raw",N,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let q of Z)try{let O=Buffer.from(q,"base64");if(await crypto.subtle.verify("HMAC",B,O,new TextEncoder().encode(W)))return}catch{continue}throw new m0("The given webhook signature does not match the expected signature")}}h_=new WeakSet,Xj=function(U){if(typeof U!=="string"||U.length===0)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},P7=function(U,_){if(!U)throw Error("Headers are required");let Q=U.get(_);if(Q===null||Q===void 0)throw Error(`Missing required header: ${_}`);return Q};var ZX,WX,f7,Vj;class o${constructor({baseURL:$=O2("OPENAI_BASE_URL"),apiKey:U=O2("OPENAI_API_KEY"),organization:_=O2("OPENAI_ORG_ID")??null,project:Q=O2("OPENAI_PROJECT_ID")??null,webhookSecret:J=O2("OPENAI_WEBHOOK_SECRET")??null,...G}={}){if(ZX.add(this),f7.set(this,void 0),this.completions=new w_(this),this.chat=new EU(this),this.embeddings=new A_(this),this.files=new T_(this),this.images=new C_(this),this.audio=new r0(this),this.moderations=new b_(this),this.models=new y_(this),this.fineTuning=new B0(this),this.graders=new TU(this),this.vectorStores=new P2(this),this.webhooks=new u_(this),this.beta=new q0(this),this.batches=new f_(this),this.uploads=new SU(this),this.responses=new M2(this),this.realtime=new D2(this),this.conversations=new AU(this),this.evals=new kU(this),this.containers=new zU(this),this.videos=new g_(this),U===void 0)throw new f$("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let Y={apiKey:U,organization:_,project:Q,webhookSecret:J,...G,baseURL:$||"https://api.openai.com/v1"};if(!Y.dangerouslyAllowBrowser&&ZO())throw new f$(`It looks like you're running in a browser-like environment.
77
+
78
+ This is disabled by default, as it risks exposing your secret API credentials to attackers.
79
+ If you understand the risks and have appropriate mitigations in place,
80
+ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
81
+
82
+ new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
83
+
84
+ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
85
+ `);this.baseURL=Y.baseURL,this.timeout=Y.timeout??WX.DEFAULT_TIMEOUT,this.logger=Y.logger??console;let X="warn";this.logLevel=X,this.logLevel=cY(Y.logLevel,"ClientOptions.logLevel",this)??cY(O2("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??X,this.fetchOptions=Y.fetchOptions,this.maxRetries=Y.maxRetries??2,this.fetch=Y.fetch??NO(),g$(this,f7,qO,"f"),this._options=Y,this.apiKey=typeof U==="string"?U:"Missing Key",this.organization=_,this.project=Q,this.webhookSecret=J}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:U}){return}async authHeaders($){return B$([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery($){return uY($,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${N2}`}defaultIdempotencyKey(){return`stainless-node-retry-${TY()}`}makeStatusError($,U,_,Q){return B6.generate($,U,_,Q)}async _callApiKey(){let $=this._options.apiKey;if(typeof $!=="function")return!1;let U;try{U=await $()}catch(_){if(_ instanceof f$)throw _;throw new f$(`Failed to get token from 'apiKey' function: ${_.message}`,{cause:_})}if(typeof U!=="string"||!U)throw new f$(`Expected 'apiKey' function argument to return a string but it returned ${U}`);return this.apiKey=U,!0}buildURL($,U,_){let Q=!c(this,ZX,"m",Vj).call(this)&&_||this.baseURL,J=_O($)?new URL($):new URL(Q+(Q.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),G=this.defaultQuery();if(!JO(G))U={...G,...U};if(typeof U==="object"&&U&&!Array.isArray(U))J.search=this.stringifyQuery(U);return J.toString()}async prepareOptions($){await this._callApiKey()}async prepareRequest($,{url:U,options:_}){}get($,U){return this.methodRequest("get",$,U)}post($,U){return this.methodRequest("post",$,U)}patch($,U){return this.methodRequest("patch",$,U)}put($,U){return this.methodRequest("put",$,U)}delete($,U){return this.methodRequest("delete",$,U)}methodRequest($,U,_){return this.request(Promise.resolve(_).then((Q)=>{return{method:$,path:U,...Q}}))}request($,U=null){return new OU(this,this.makeRequest($,U,void 0))}async makeRequest($,U,_){let Q=await $,J=Q.maxRetries??this.maxRetries;if(U==null)U=J;await this.prepareOptions(Q);let{req:G,url:Y,timeout:X}=await this.buildRequest(Q,{retryCount:J-U});await this.prepareRequest(G,{url:Y,options:Q});let V="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),K=_===void 0?"":`, retryOf: ${_}`,Z=Date.now();if(K6(this).debug(`[${V}] sending request`,c0({retryOfRequestLogID:_,method:Q.method,url:Y,options:Q,headers:G.headers})),Q.signal?.aborted)throw new M6;let N=new AbortController,W=await this.fetchWithTimeout(Y,G,X,N).catch(Z8),B=Date.now();if(W instanceof globalThis.Error){let M=`retrying, ${U} attempts remaining`;if(Q.signal?.aborted)throw new M6;let P=K8(W)||/timed? ?out/i.test(String(W)+("cause"in W?String(W.cause):""));if(U)return K6(this).info(`[${V}] connection ${P?"timed out":"failed"} - ${M}`),K6(this).debug(`[${V}] connection ${P?"timed out":"failed"} (${M})`,c0({retryOfRequestLogID:_,url:Y,durationMs:B-Z,message:W.message})),this.retryRequest(Q,U,_??V);if(K6(this).info(`[${V}] connection ${P?"timed out":"failed"} - error; no more retries left`),K6(this).debug(`[${V}] connection ${P?"timed out":"failed"} (error; no more retries left)`,c0({retryOfRequestLogID:_,url:Y,durationMs:B-Z,message:W.message})),P)throw new HU;throw new BU({cause:W})}let q=[...W.headers.entries()].filter(([M])=>M==="x-request-id").map(([M,P])=>", "+M+": "+JSON.stringify(P)).join(""),O=`[${V}${K}${q}] ${G.method} ${Y} ${W.ok?"succeeded":"failed"} with status ${W.status} in ${B-Z}ms`;if(!W.ok){let M=await this.shouldRetry(W);if(U&&M){let D=`retrying, ${U} attempts remaining`;return await FO(W.body),K6(this).info(`${O} - ${D}`),K6(this).debug(`[${V}] response error (${D})`,c0({retryOfRequestLogID:_,url:W.url,status:W.status,headers:W.headers,durationMs:B-Z})),this.retryRequest(Q,U,_??V,W.headers)}let P=M?"error; no more retries left":"error; not retryable";K6(this).info(`${O} - ${P}`);let H=await W.text().catch((D)=>Z8(D).message),z=YO(H),A=z?void 0:H;throw K6(this).debug(`[${V}] response error (${P})`,c0({retryOfRequestLogID:_,url:W.url,status:W.status,headers:W.headers,message:A,durationMs:Date.now()-Z})),this.makeStatusError(W.status,z,A,W.headers)}return K6(this).info(O),K6(this).debug(`[${V}] response start`,c0({retryOfRequestLogID:_,url:W.url,status:W.status,headers:W.headers,durationMs:B-Z})),{response:W,options:Q,controller:N,requestLogID:V,retryOfRequestLogID:_,startTime:Z}}getAPIList($,U,_){return this.requestAPIList(U,{method:"get",path:$,..._})}requestAPIList($,U){let _=this.makeRequest(U,null,void 0);return new _7(this,_,$)}async fetchWithTimeout($,U,_,Q){let{signal:J,method:G,...Y}=U||{};if(J)J.addEventListener("abort",()=>Q.abort());let X=setTimeout(()=>Q.abort(),_),V=globalThis.ReadableStream&&Y.body instanceof globalThis.ReadableStream||typeof Y.body==="object"&&Y.body!==null&&Symbol.asyncIterator in Y.body,K={signal:Q.signal,...V?{duplex:"half"}:{},method:"GET",...Y};if(G)K.method=G.toUpperCase();try{return await this.fetch.call(void 0,$,K)}finally{clearTimeout(X)}}async shouldRetry($){let U=$.headers.get("x-should-retry");if(U==="true")return!0;if(U==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,U,_,Q){let J,G=Q?.get("retry-after-ms");if(G){let X=parseFloat(G);if(!Number.isNaN(X))J=X}let Y=Q?.get("retry-after");if(Y&&!J){let X=parseFloat(Y);if(!Number.isNaN(X))J=X*1000;else J=Date.parse(Y)-Date.now()}if(!(J&&0<=J&&J<60000)){let X=$.maxRetries??this.maxRetries;J=this.calculateDefaultRetryTimeoutMillis(U,X)}return await W0(J),this.makeRequest($,U-1,_)}calculateDefaultRetryTimeoutMillis($,U){let J=U-$,G=Math.min(0.5*Math.pow(2,J),8),Y=1-Math.random()*0.25;return G*Y*1000}async buildRequest($,{retryCount:U=0}={}){let _={...$},{method:Q,path:J,query:G,defaultBaseURL:Y}=_,X=this.buildURL(J,G,Y);if("timeout"in _)GO("timeout",_.timeout);_.timeout=_.timeout??this.timeout;let{bodyHeaders:V,body:K}=this.buildBody({options:_}),Z=await this.buildHeaders({options:$,method:Q,bodyHeaders:V,retryCount:U});return{req:{method:Q,headers:Z,..._.signal&&{signal:_.signal},...globalThis.ReadableStream&&K instanceof globalThis.ReadableStream&&{duplex:"half"},...K&&{body:K},...this.fetchOptions??{},..._.fetchOptions??{}},url:X,timeout:_.timeout}}async buildHeaders({options:$,method:U,bodyHeaders:_,retryCount:Q}){let J={};if(this.idempotencyHeader&&U!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();J[this.idempotencyHeader]=$.idempotencyKey}let G=B$([J,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Q),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...WO(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders($),this._options.defaultHeaders,_,$.headers]);return this.validateHeaders(G),G.values}buildBody({options:{body:$,headers:U}}){if(!$)return{bodyHeaders:void 0,body:void 0};let _=B$([U]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&_.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:n5($)};else return c(this,f7,"f").call(this,{body:$,headers:_})}}WX=o$,f7=new WeakMap,ZX=new WeakSet,Vj=function(){return this.baseURL!=="https://api.openai.com/v1"};o$.OpenAI=WX;o$.DEFAULT_TIMEOUT=600000;o$.OpenAIError=f$;o$.APIError=B6;o$.APIConnectionError=BU;o$.APIConnectionTimeoutError=HU;o$.APIUserAbortError=M6;o$.NotFoundError=q8;o$.ConflictError=B8;o$.RateLimitError=O8;o$.BadRequestError=W8;o$.AuthenticationError=N8;o$.InternalServerError=j8;o$.PermissionDeniedError=F8;o$.UnprocessableEntityError=H8;o$.InvalidWebhookSignatureError=m0;o$.toFile=Q7;o$.Completions=w_;o$.Chat=EU;o$.Embeddings=A_;o$.Files=T_;o$.Images=C_;o$.Audio=r0;o$.Moderations=b_;o$.Models=y_;o$.FineTuning=B0;o$.Graders=TU;o$.VectorStores=P2;o$.Webhooks=u_;o$.Beta=q0;o$.Batches=f_;o$.Uploads=SU;o$.Responses=M2;o$.Realtime=D2;o$.Conversations=AU;o$.Evals=kU;o$.Containers=zU;o$.Videos=g_;function PC($){function U(_,Q){if(typeof _!=="string")return"";let J=_.trim();if(!J)return"";if(/^data:/i.test(J)||/^https?:\/\//i.test(J))return J;if(typeof Q==="string"&&Q.trim())return`data:${Q.trim()};base64,${J}`;return J}if(typeof $==="string")return $.trim().length===0?"":$;if($===null||$===void 0)return"";if(typeof $==="object"&&"type"in $){let _=$;if(_.type==="text"&&_.text)return _.text;if(_.type==="image"){let Q=U(_.data??_.source?.data,_.mimeType??_.source?.media_type??_.source?.mimeType);if(!Q)return"";return[{type:"image_url",image_url:{url:Q}}]}}if(Array.isArray($)){let _=[];for(let Q of $)if(typeof Q==="string")_.push({type:"text",text:Q});else if(Q&&typeof Q==="object"&&"type"in Q){let J=Q;if(J.type==="text"&&J.text)_.push({type:"text",text:J.text});else if(J.type==="image"){let G=U(J.data??J.source?.data,J.mimeType??J.source?.media_type??J.source?.mimeType);if(G)_.push({type:"image_url",image_url:{url:G}})}}return _.length>0?_:""}return String($)}function fC($){return{...$,content:PC($.content)}}function LC($,U){if(typeof U==="string"&&/deepseek/i.test(U))return!0;return/^deepseek-/i.test($)}function m_($={}){let U=$.baseUrl;function _(){if(typeof $.apiKey==="function"){let K=$.apiKey();if(typeof K==="string"){let Z=K.trim();if(!Z)throw new X6("Missing apiKey",{code:"missing_api_key",retryable:!1});return Z}if(K!=null)throw new X6("Invalid apiKey provider",{code:"invalid_api_key",retryable:!1})}if(typeof $.apiKey==="string"){let K=$.apiKey.trim();if(!K)throw new X6("Missing apiKey",{code:"missing_api_key",retryable:!1});return K}let V=typeof process<"u"?process.env?.OPENAI_API_KEY:void 0;if(typeof V!=="string"||!V.trim())throw new X6("Missing OPENAI_API_KEY",{code:"missing_api_key",retryable:!1});return V.trim()}function Q(){if(!(typeof globalThis.window<"u"))return!1;let K=typeof process<"u"&&!!process?.versions?.node,Z=typeof globalThis.Bun<"u"||typeof process<"u"&&!!process?.versions?.bun;return K||Z}function J(){let V=_(),K=Q();if(typeof U==="string"&&/\/chat\/completions\/?$/.test(U))return new o$({apiKey:V,dangerouslyAllowBrowser:K,organization:$.organization,project:$.project,baseURL:"https://api.openai.com/v1",fetch:(N,W)=>{return fetch(U,W)}});return new o$({apiKey:V,dangerouslyAllowBrowser:K,organization:$.organization,project:$.project,baseURL:U||void 0})}function G(V){return{provider:"openai",modelId:V.model.modelId}}function Y(V){if(V instanceof X6)return V;let K=typeof V?.status==="number"?V.status:void 0,Z=typeof V?.message==="string"?V.message:"OpenAI error",N=typeof V?.code==="string"?V.code:K?`openai_http_${K}`:"openai_error",W=K?F_.isRetryableStatus(K):!1;return new X6(Z,{code:N,retryable:W,status:K})}async function*X(V){let{request:K}=V,Z=K.requestId||r5("req"),N=J(),W=K.model.modelId,B=$.compat?.interleavedThinking,q=typeof B==="boolean"?B:LC(W,U),O=K.stream!==!1,M=[];if(K.messages&&Array.isArray(K.messages)){let z=-1;for(let A=K.messages.length-1;A>=0;A--)if(K.messages[A].role==="user"){z=A;break}for(let A=0;A<K.messages.length;A++){let E=K.messages[A],D=fC(E),f=A<z;if(D&&typeof D==="object"&&D.role==="assistant"){if(f){if("reasoning_content"in D)delete D.reasoning_content}else if(!q){if("reasoning_content"in D)delete D.reasoning_content}else if(Array.isArray(D?.tool_calls)&&D.tool_calls.length>0){let j=D.reasoning_content;if(typeof j!=="string"||j.length===0)D.reasoning_content="."}}M.push(D)}}else{if(typeof K.instructions==="string"&&K.instructions.length>0)M.push({role:"system",content:K.instructions});M.push({role:"user",content:K.input})}let P=(()=>{let z=K.reasoning?.effort;if(typeof z!=="string")return;if(z==="none"||z==="minimal"||z==="low"||z==="medium"||z==="high"||z==="xhigh")return z;return})(),H={model:W,messages:M,stream:O,stream_options:O?{include_usage:!0}:void 0,metadata:K.metadata??void 0,reasoning_effort:P,max_completion_tokens:K.maxOutputTokens??void 0,stop:K.stop??void 0,temperature:K.temperature??void 0,top_p:K.topP??void 0};if(K.tools&&Array.isArray(K.tools)&&K.tools.length>0)H.tools=K.tools;try{let z=G(K);if(yield{type:"response_start",requestId:Z,model:z},!O){let L=await N.chat.completions.create({...H,stream:!1},{signal:K.signal,timeout:K.timeoutMs}),k=Array.isArray(L?.choices)?L.choices[0]:void 0,R=k?.message,S=typeof R?.reasoning_content==="string"?R.reasoning_content:"";if(S.length>0)yield{type:"delta",requestId:Z,chunk:{kind:"thinking_start"}},yield{type:"delta",requestId:Z,chunk:{kind:"thinking_delta",text:S}},yield{type:"delta",requestId:Z,chunk:{kind:"thinking_end",text:S}};let I=typeof R?.content==="string"?R.content:"";if(I.length>0)yield{type:"delta",requestId:Z,chunk:{kind:"text",text:I}};let w=Array.isArray(R?.tool_calls)?R.tool_calls:[];for(let b=0;b<w.length;b++){let y=w[b],x=typeof y?.id==="string"?y.id:`call_${b}`,l=typeof y?.function?.name==="string"?y.function.name:void 0,t=typeof y?.function?.arguments==="string"?y.function.arguments:void 0;if(t||l)yield{type:"delta",requestId:Z,chunk:{kind:"tool_call_delta",callId:x,toolId:l,argsTextDelta:t}}}let C=Kj(k?.finish_reason);yield{type:"response_end",requestId:Z,stopReason:C,usage:L?.usage};return}let A=await N.chat.completions.create({...H,stream:!0},{signal:K.signal,timeout:K.timeoutMs}),E=null,D,f=new Map,j=!1,T="";for await(let L of A){if(L?.usage!=null)D=L.usage;let k=Array.isArray(L?.choices)?L.choices:[];for(let R of k){if(R?.finish_reason!=null)E=R.finish_reason;let S=R?.delta,I=S?.reasoning_content;if(typeof I==="string"&&I.length>0){if(!j)j=!0,yield{type:"delta",requestId:Z,chunk:{kind:"thinking_start"}};T+=I,yield{type:"delta",requestId:Z,chunk:{kind:"thinking_delta",text:I}}}let w=S?.content;if(typeof w==="string"&&w.length>0){if(j)j=!1,yield{type:"delta",requestId:Z,chunk:{kind:"thinking_end",text:T||void 0}};yield{type:"delta",requestId:Z,chunk:{kind:"text",text:w}}}let C=Array.isArray(S?.tool_calls)?S.tool_calls:[];for(let b of C){let y=typeof b?.index==="number"?b.index:0,l=f.get(y)||(typeof b?.id==="string"?b.id:`call_${y}`);f.set(y,l);let t=typeof b?.function?.name==="string"?b.function.name:void 0,V$=typeof b?.function?.arguments==="string"?b.function.arguments:void 0;if(t||V$)yield{type:"delta",requestId:Z,chunk:{kind:"tool_call_delta",callId:l,toolId:t,argsTextDelta:V$}}}}}if(j)yield{type:"delta",requestId:Z,chunk:{kind:"thinking_end",text:T||void 0}};yield{type:"response_end",requestId:Z,stopReason:Kj(E),usage:D}}catch(z){if(z?.name==="AbortError")throw new X6("Aborted",{code:"aborted",retryable:!1});throw Y(z)}}return{provider:"openai",defaultModelId:$.defaultModelId,stream:X}}function Kj($){if($==="tool_calls"||$==="function_call")return"tool_call";if($==="length")return"length";if($==="content_filter")return"error";if($==="stop"||$==null)return"final";return"final"}class L7{queue=[];waiters=[];enqueue($){let U=this.waiters.shift();if(U){U($);return}this.queue.push($)}isEmpty(){return this.queue.length===0}async dequeueOrWait($){if(this.queue.length>0)return this.queue.shift();return new Promise((U)=>{let _=setTimeout(()=>{let Q=this.waiters.indexOf(U);if(Q>=0)this.waiters.splice(Q,1);U(void 0)},$);this.waiters.push((Q)=>{clearTimeout(_),U(Q)})})}}class NX{tools;options;eventQueue=new L7;constructor($,U){this.tools=$;this.options=U}async*executeTasksInParallel($,U,_){this.eventQueue=new L7;let Q=!1,J=$.map(async(X)=>{let V=X.toolCall.function.name,K=this.tools?.get(V);if(!K)return{tc:X,result:`Tool "${V}" not found`,isError:!0};try{let Z=typeof X.toolCall.function.arguments==="string"?JSON.parse(X.toolCall.function.arguments):X.toolCall.function.arguments,N=`${U.sessionId}:subagent:${crypto.randomUUID()}`,W={..._,sessionId:N,emitEvent:(q)=>{this.eventQueue.enqueue({...q,sessionId:U.sessionId})}},B=await K.execute(Z,W);return{tc:X,result:B,isError:!1}}catch(Z){return{tc:X,result:`Task execution failed: ${Z instanceof Error?Z.message:String(Z)}`,isError:!0}}}),G=Promise.allSettled(J).then((X)=>{return Q=!0,X});while(!Q||!this.eventQueue.isEmpty()){let X=await this.eventQueue.dequeueOrWait(5);if(X)yield X}let Y=await G;for(let[X,V]of Y.entries()){let K=$[X];if(V.status==="fulfilled"){let{result:Z,isError:N}=V.value;K.result=Z,K.isError=N}else K.result=`Task execution rejected: ${V.reason}`,K.isError=!0;if(!this.options.hasAssistantToolCallMessage(U,K.toolCall.id))this.options.addAssistantMessageWithToolCalls(U);yield{type:"tool_result",tool_call_id:K.toolCall.id,result:K.result,isError:K.isError,sessionId:U.sessionId},this.options.addToolResultToHistory(U,K)}}}class IU{hooks;constructor($){this.hooks=$??{}}async executePreToolUse($){let U=this.hooks.preToolUse;if(!U)return{allow:!0};return await U($)}async executePostToolUse($,U){let _=this.hooks.postToolUse;if(!_)return;await _($,U)}async executePostToolUseFailure($,U){let _=this.hooks.postToolUseFailure;if(!_)return;await _($,U)}}class FX{options;toolEventQueue=[];constructor($){this.options=$}_log(...$){if(this.options.log)this.options.log(...$)}createToolExecutionContext($,U,_,Q){return{sessionId:$.sessionId,toolCallId:_,toolName:Q,signal:U,usage:$.usage,emitEvent:(J)=>{this.toolEventQueue.push({...J,sessionId:$.sessionId})}}}async executeToolCall($,U,_,Q,J){u0(_,`Tool execution: ${$.toolCall.function.name}`);let G=Q?new IU(Q):void 0,Y=$.toolCall.id,X=$.toolCall,V=X,K=(B)=>({sessionId:U.sessionId,toolCall:B,toolContext:U});if(J){if(!J.allow)return $.result="Tool execution blocked by PreToolUse hook",$.isError=!0,{type:"tool_result",tool_call_id:Y,result:$.result,isError:!0,sessionId:U.sessionId};if(J.modifiedToolCall)V={...J.modifiedToolCall,id:Y,type:X.type}}else if(G){let B=await G.executePreToolUse(K(V));if(!B.allow)return $.result="Tool execution blocked by PreToolUse hook",$.isError=!0,{type:"tool_result",tool_call_id:Y,result:$.result,isError:!0,sessionId:U.sessionId};if(B.modifiedToolCall)V={...B.modifiedToolCall,id:Y,type:X.type}}let Z=this.options.tools?.get(V.function.name);if(!Z)return this._log(`Tool NOT FOUND: ${V.function.name}`),$.result=`Tool not found: ${V.function.name}`,$.isError=!0,{type:"tool_result",tool_call_id:Y,result:$.result,isError:!0,sessionId:U.sessionId};let N;try{N=typeof V.function.arguments==="string"?V.function.arguments.trim()===""?{}:JSON.parse(V.function.arguments):V.function.arguments??{}}catch(B){this._log(`Warning: Failed to parse tool arguments for ${V.function.name}, using empty object`),N={}}let W={...U,toolCallId:Y,toolName:V.function.name};try{if($.result=await Z.execute(N,W),$.isError=!1,G)await G.executePostToolUse(K(V),$.result);return{type:"tool_result",tool_call_id:Y,result:$.result,sessionId:U.sessionId}}catch(B){let q=B instanceof Error?B:Error(String(B));if(this._log(`Tool execution threw ERROR: ${V.function.name} - ${q.message}`),$.result=q.message,$.isError=!0,G)await G.executePostToolUseFailure(K(V),q);return{type:"tool_result",tool_call_id:Y,result:$.result,isError:!0,sessionId:U.sessionId}}}async*handleToolCalls($,U,_){let Q=$.pendingToolCalls.length,J=_?.signal,G=_?.toolContextInput,Y=G?.approval,X=Y?.decisions??{},V=(P)=>{return this.options.approvalHandler.shouldRequireApproval(Y,P)},K=(P)=>{return $.messages.some((H)=>{if(!H||typeof H!=="object"||H.role!=="assistant")return!1;let z=H.tool_calls;return Array.isArray(z)&&z.some((A)=>A?.id===P)})},Z=(P)=>{if(!K(P))this.options.addAssistantMessageWithToolCalls($)},N=(P)=>{return $.messages.some((H)=>H&&typeof H==="object"&&H.role==="tool"&&H.tool_call_id===P)},W=new Set,B=(P)=>{try{return typeof P.function.arguments==="string"?JSON.parse(P.function.arguments):P.function.arguments}catch(H){let z=H instanceof Error?H.message:String(H);return{_raw:P.function.arguments,_parseError:z}}},q=(P)=>{let H=[];for(let z=P;z<$.pendingToolCalls.length;z++){let A=$.pendingToolCalls[z];if(N(A.toolCall.id))continue;if(W.has(A.toolCall.id))continue;if(X[A.toolCall.id])continue;let E=this.options.tools?.get(A.toolCall.function.name),D=E?.riskLevel??"safe";if(E&&this.options.isToolDisabled(A.toolCall.function.name))continue;if(E&&this.options.isToolBlocked($,A.toolCall.function.name))continue;if(!E||!V(D))continue;W.add(A.toolCall.id),H.push({type:"tool_approval_requested",tool_call_id:A.toolCall.id,toolName:A.toolCall.function.name,riskLevel:D,args:B(A.toolCall),sessionId:$.sessionId})}return H};if($.metadata?.parallelMode===!0){let P=$.pendingToolCalls.filter((H)=>{let z=H.toolCall.function.name;return z==="Task"||z.endsWith("_Task")});if(P.length>1)yield*this.options.parallelTaskExecutor.executeTasksInParallel(P,$,U),$.pendingToolCalls=$.pendingToolCalls.filter((H)=>!P.includes(H))}let M=this.options.checkpointManager.hasStore();for(let P=0;P<$.pendingToolCalls.length;P++){let H=$.pendingToolCalls[P];if(N(H.toolCall.id)){$.pendingToolCalls.splice(P,1),P--;continue}let z=H.toolCall.function.name,A;if(_?.hooks?.preToolUse){let L=new IU(_.hooks),k=(R)=>({sessionId:$.sessionId,toolCall:R,toolContext:U});if(A=await L.executePreToolUse(k(H.toolCall)),!A.allow){this._log(`Tool BLOCKED by preToolUse hook: ${z}`),H.result="Tool execution blocked by PreToolUse hook",H.isError=!0,Z(H.toolCall.id),yield{type:"tool_result",tool_call_id:H.toolCall.id,result:H.result,isError:!0,sessionId:$.sessionId},this.options.addToolResultToHistory($,H),$.pendingToolCalls.splice(P,1),P--,await this.options.saveCheckpoint($,{phase:"tool_execution",status:`Tool blocked by preToolUse hook: ${z}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});continue}}if(A?.modifiedToolCall)H.toolCall={...A.modifiedToolCall,id:H.toolCall.id,type:H.toolCall.type};let E=H.toolCall.function.name,D=this.options.tools?.get(E),f=D?.riskLevel??"safe";if(D&&this.options.isToolBlocked($,E)){let L=`Tool "${E}" is blocked by middleware`;this._log(`Tool BLOCKED: ${E} - ${L}`),H.result=`Tool execution skipped: ${L}`,H.isError=!0,Z(H.toolCall.id),yield{type:"tool_skipped",tool_call_id:H.toolCall.id,toolName:E,reason:L,sessionId:$.sessionId},yield{type:"tool_result",tool_call_id:H.toolCall.id,result:H.result,isError:!0,sessionId:$.sessionId},this.options.addToolResultToHistory($,H),$.pendingToolCalls.splice(P,1),P--,await this.options.saveCheckpoint($,{phase:"tool_execution",status:`Tool blocked: ${E}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});continue}if(D&&this.options.isToolDisabled(E)){let L=`Tool "${E}" is disabled for this session`;this._log(`Tool DISABLED: ${E}`),H.result=`Tool execution skipped: ${L}`,H.isError=!0,Z(H.toolCall.id),yield{type:"tool_skipped",tool_call_id:H.toolCall.id,toolName:E,reason:L,sessionId:$.sessionId},yield{type:"tool_result",tool_call_id:H.toolCall.id,result:H.result,isError:!0,sessionId:$.sessionId},this.options.addToolResultToHistory($,H),$.pendingToolCalls.splice(P,1),P--,await this.options.saveCheckpoint($,{phase:"tool_execution",status:`Tool disabled: ${E}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});continue}if(D&&V(f)){let L=X[H.toolCall.id];if(!L){this._log(`Tool approval required: ${E} (risk: ${f})`),$.stopReason="approval_required";for(let R of q(P)){if(R.type==="tool_approval_requested")this._log(` - Requesting approval for: ${R.toolName}`);yield R}let k=await this.options.saveCheckpoint($,{phase:"approval_pending",status:`Waiting for approval: ${E}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});throw yield{type:"requires_action",kind:"tool_approval",checkpoint:M?void 0:k,checkpointRef:M?{sessionId:k.sessionId}:void 0,sessionId:$.sessionId},await this.options.persistSessionState($),yield{type:"done",finalResponse:$.currentResponse,stopReason:"approval_required",modelStopReason:$.lastModelStopReason,usage:{...$.usage},sessionId:$.sessionId},new FU}if(!L.approved){let k=L.reason??"User denied approval";this._log(`Tool approval REJECTED: ${E} - ${k}`),H.result=`Tool execution skipped: ${k}`,H.isError=!0,Z(H.toolCall.id),yield{type:"tool_skipped",tool_call_id:H.toolCall.id,toolName:H.toolCall.function.name,reason:k,sessionId:$.sessionId},yield{type:"tool_result",tool_call_id:H.toolCall.id,result:H.result,isError:!0,sessionId:$.sessionId},this.options.addToolResultToHistory($,H),$.pendingToolCalls.splice(P,1),P--,await this.options.saveCheckpoint($,{phase:"tool_execution",status:`Tool approval rejected: ${E}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});continue}this._log(`Tool approval APPROVED: ${E}`)}Z(H.toolCall.id),this._log(`Executing tool: ${E}`),this.toolEventQueue=[];let j=await this.executeToolCall(H,U,J,_?.hooks,A);for(let L of this.toolEventQueue)yield L;if(this.toolEventQueue=[],j.type==="tool_result")if(j.isError||j.result&&typeof j.result==="object"&&j.result.isError===!0){let k=typeof j.result==="string"?j.result:JSON.stringify(j.result);this._log(`Tool execution ERROR: ${E} - ${k.slice(0,100)}`)}else{let k=typeof j.result==="string"?j.result.slice(0,100):JSON.stringify(j.result).slice(0,100);this._log(`Tool execution SUCCESS: ${E} - ${k}${k.length>=100?"...":""}`)}let T=j.type==="tool_result"&&(j.isError||j.result&&typeof j.result==="object"&&j.result.isError===!0);if(D&&D.name==="AskUserQuestion"&&T){let L=G?.askUser?.rejected?.[H.toolCall.id];if(L!==void 0){let R=L||"User cancelled the question";this._log(`AskUser CANCELLED: ${R}`),H.result=`User cancelled the question: ${R}`,H.isError=!0,Z(H.toolCall.id),yield{type:"tool_skipped",tool_call_id:H.toolCall.id,toolName:D.name,reason:R,sessionId:$.sessionId},yield{type:"tool_result",tool_call_id:H.toolCall.id,result:H.result,isError:!0,sessionId:$.sessionId},this.options.addToolResultToHistory($,H),$.pendingToolCalls.splice(P,1),P--,await this.options.saveCheckpoint($,{phase:"tool_execution",status:`AskUser cancelled: ${D.name}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});continue}let k=G?.askUser?.answers?.[H.toolCall.id];if(!k){let S=(typeof H.toolCall.function.arguments==="string"?JSON.parse(H.toolCall.function.arguments):H.toolCall.function.arguments)?.questions||[];this._log(`AskUser waiting for answers (${S.length} questions)`),yield j,$.stopReason="approval_required";let I=await this.options.saveCheckpoint($,{phase:"approval_pending",status:`Waiting for user answers: ${D.name}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});throw await this.options.persistSessionState($),yield{type:"requires_action",kind:"ask_user",toolCallId:H.toolCall.id,questions:S,checkpoint:M?void 0:I,checkpointRef:M?{sessionId:I.sessionId}:void 0,sessionId:$.sessionId},yield{type:"done",finalResponse:$.currentResponse,stopReason:"approval_required",modelStopReason:$.lastModelStopReason,usage:{...$.usage},sessionId:$.sessionId},new FU}else{let S={...typeof H.toolCall.function.arguments==="string"?JSON.parse(H.toolCall.function.arguments):H.toolCall.function.arguments,answers:k};H.toolCall.function.arguments=JSON.stringify(S),this.toolEventQueue=[];let I=await this.executeToolCall(H,U,J,_?.hooks,A);for(let w of this.toolEventQueue)yield w;this.toolEventQueue=[],yield I,this.options.addToolResultToHistory($,H),$.pendingToolCalls.splice(P,1),P--,await this.options.saveCheckpoint($,{phase:"tool_execution",status:H.isError?`AskUser error: ${D.name}`:`AskUser completed: ${D.name}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams});continue}}yield j,this.options.addToolResultToHistory($,H),$.pendingToolCalls.splice(P,1),P--,await this.options.saveCheckpoint($,{phase:"tool_execution",status:H.isError?`Tool error: ${E}`:`Tool completed: ${E}`,modelConfig:_?.checkpointModelConfig,requestParams:_?.requestParams})}$.pendingToolCalls=[],$.iteration++,yield{type:"iteration_end",iteration:$.iteration-1,willContinue:!0,toolCallCount:Q,usage:{...$.usage},sessionId:$.sessionId}}}class R7{static APPROVAL_REQUIRED_LEVELS=new Set(["high","critical"]);requiresApproval($){return R7.APPROVAL_REQUIRED_LEVELS.has($)}shouldRequireApproval($,U){if($?.autoApprove===!0)return!1;if(($?.strategy??"high_risk")==="all")return!0;return this.requiresApproval(U)}}class qX{saveHandler;onError;constructor($,U){this.saveHandler=$;this.onError=U}async trigger(){try{await this.saveHandler()}catch($){let U=$ instanceof Error?$:Error(String($));console.warn("[Session] Auto-save failed:",U.message),this.onError?.(U)}}}var wC=1000;function zC($){if(!$)return;if($ instanceof X6)return{code:$.code,message:$.message,status:$.status,retryable:$.retryable};if($ instanceof Error){let U=$,_=typeof U.code==="string"?U.code:void 0,Q=typeof U.status==="number"?U.status:void 0,J=typeof U.retryable==="boolean"?U.retryable:void 0;return{code:_,message:$.message,status:Q,retryable:J}}return{message:String($)}}function Wj($){let U=$?.function?.arguments;if(typeof U==="string")try{return JSON.parse(U),$}catch(_){let Q=_ instanceof Error?_.message:String(_);return{...$,function:{...$.function,arguments:JSON.stringify({_raw:U,_parseError:Q})}}}if(U&&typeof U==="object")return{...$,function:{...$.function,arguments:JSON.stringify(U)}};return{...$,function:{...$.function,arguments:JSON.stringify(U??null)}}}function Zj($){let U=!1,_=$.map((Q)=>{if(!Q||typeof Q!=="object"||Q.role!=="assistant")return Q;let J=Q.tool_calls;if(!Array.isArray(J)||J.length===0)return Q;let G=!1,Y=J.map((X)=>{let V=Wj(X);if(V!==X)G=!0;return V});if(!G)return Q;return U=!0,{...Q,tool_calls:Y}});return U?_:$}class w1 extends RC{id;createdAt;status;title;updatedAt;lastActiveAt;errorMessage;configOverride;metadata;messages;toolCallCount;usage;responseCount;avgResponseTime;_stateStore;_checkpointManager;_approvalHandler;_parallelTaskExecutor;_toolExecutor;_autoSave;_autoSaveManager;_modelClient;_tools;_middlewares;_systemPrompt;_agentName;_onUsage;_pendingInput=null;_isReceiving=!1;_hooks;_modelOverride;_maxIterations;_requestParams;_emitSessionCreatedEvent;_sessionCreatedEventEmitted=!1;_abortController=null;_enableLogging;_checkpointOriginalMessages;_checkpointNewMessages=[];_checkpointSkipSnapshot;getDisabledToolNames(){let $=this.configOverride?.disabledTools;if(!$||$.length===0)return new Set;return new Set($)}isToolDisabled($){return this.getDisabledToolNames().has($)}collectBlockedTools($){let U=new Set;for(let _ of this._middlewares)if(typeof _.__getBlockedTools==="function"){let Q=_.__getBlockedTools($);(Array.isArray(Q)?Q:Array.from(Q)).forEach((G)=>U.add(G))}return U}isToolBlocked($,U){let _=$.metadata?.blockedTools;if(!_)return!1;if(_ instanceof Set)return _.has(U);if(Array.isArray(_))return _.includes(U);return!1}getToolsForModel($){let U=this._tools?.toOpenAIFormat();if(!U||U.length===0)return;let _=this.getDisabledToolNames(),Q=_.size===0?U:U.filter((G)=>!_.has(G.function.name)),J=$.metadata?.blockedTools;if(J&&J.size>0)Q=Q.filter((G)=>!J.has(G.function.name));return Q.length>0?Q:void 0}getEffectiveSystemPrompt(){let $=this.configOverride?.systemPromptOverride;if(typeof $==="string")return $;return this._systemPrompt}_log(...$){if(this._enableLogging){let U=this._agentName?`[GoatChain:Session:${this._agentName}:${this.id.slice(0,8)}]`:`[GoatChain:Session:${this.id.slice(0,8)}]`;console.warn(U,...$)}}constructor($,U,_,Q){super();if(this._stateStore=$,this._checkpointManager=new kY($),this._approvalHandler=new R7,this.id=U,_)this.createdAt=_.createdAt,this.restoreFromSnapshot(_);else{let J=Date.now();this.createdAt=J,this.status="active",this.updatedAt=J,this.lastActiveAt=J,this.messages=[],this.toolCallCount=0,this.metadata=void 0,this.usage={promptTokens:0,completionTokens:0,totalTokens:0},this.responseCount=0}this._autoSave=!0,this._autoSaveManager=new qX(()=>this.save(),(J)=>{this.emit("auto-save-failed",{error:J})}),this._modelClient=Q?.modelClient,this._tools=Q?.tools,this._middlewares=Q?.middlewares??[],this._systemPrompt=Q?.systemPrompt,this._agentName=Q?.agentName,this._onUsage=Q?.onUsage,this._hooks=Q?.hooks,this._modelOverride=Q?.model,this._maxIterations=Q?.maxIterations,this._requestParams=Q?.requestParams,this._emitSessionCreatedEvent=Q?.emitSessionCreatedEvent===!0,this._enableLogging=Q?.enableLogging??!1,this._parallelTaskExecutor=new NX(this._tools,{hasAssistantToolCallMessage:(J,G)=>this.hasAssistantToolCallMessage(J,G),addAssistantMessageWithToolCalls:(J)=>this.addAssistantMessageWithToolCalls(J),addToolResultToHistory:(J,G)=>this.addToolResultToHistory(J,G)}),this._toolExecutor=new FX({tools:this._tools,approvalHandler:this._approvalHandler,checkpointManager:this._checkpointManager,saveCheckpoint:(J,G)=>this.saveCheckpointForState(J,G),parallelTaskExecutor:this._parallelTaskExecutor,isToolDisabled:(J)=>this.isToolDisabled(J),isToolBlocked:(J,G)=>this.isToolBlocked(J,G),addAssistantMessageWithToolCalls:(J)=>this.addAssistantMessageWithToolCalls(J),addToolResultToHistory:(J,G)=>this.addToolResultToHistory(J,G),persistSessionState:(J)=>this.persistSessionState(J),log:(...J)=>this._log(...J)})}async hasCheckpoint(){try{return await this._checkpointManager.loadCheckpoint(this.id)!=null}catch{return!1}}send($,U){if(this._ensureRuntimeConfigured(!0),this._isReceiving)throw Error("Cannot send while receiving messages");if(this._pendingInput)throw Error("Pending input already exists; call receive() to consume it before sending another message");let _=typeof $==="string"?$:JSON.stringify($);this._log("send() called with input:",_.slice(0,100)+(_.length>100?"...":"")),this._pendingInput={input:$,options:U}}cancel(){if(this._abortController)this._abortController.abort("Session cancelled by user")}async*receive($){if(this._isReceiving)throw Error("Cannot receive concurrently");let U=await this._checkpointManager.loadCheckpoint(this.id).catch(()=>null),_=U!=null;if(!_&&!this._pendingInput)throw Error("Nothing to receive; call send() first (or resume from a session that has a checkpoint)");this._log(`receive() started, hasCheckpoint: ${_}, hasPendingInput: ${!!this._pendingInput}`),this._abortController=new AbortController;let Q=this._abortController.signal;this._isReceiving=!0;try{if(this._emitSessionCreatedEvent&&!this._sessionCreatedEventEmitted)this._sessionCreatedEventEmitted=!0,yield{type:"session_created",sessionId:this.id};if(_&&this._pendingInput){this._log("Resuming from checkpoint with new user message");let{input:J,options:G}=this._pendingInput;this._pendingInput=null;let Y=V8(U);if(Y.sessionId!==this.id)Y.sessionId=this.id;Y.shouldContinue=!0,Y.stopReason=void 0,Y.metadata={...Y.metadata,_pendingUserInput:J};let X=this._requestParams??U.requestParams,V=G??$,K=this.buildAutoRejectToolContext(Y,V?.toolContext);if(!(yield*this._streamWithPauseDetection(Y,{maxIterations:this._maxIterations,signal:Q,model:this.getRuntimeModelOverride(),toolContext:K,hooks:this._hooks,requestParams:X})))await this._finalizeRun(Y,Date.now());return}if(_){this._log("Resuming from checkpoint without new message");let J=V8(U);if(J.sessionId!==this.id)J.sessionId=this.id;let G=this._requestParams??U.requestParams,Y=this.buildAutoRejectToolContext(J,$?.toolContext);if(!(yield*this._streamWithPauseDetection(J,{maxIterations:this._maxIterations,signal:Q,model:this.getRuntimeModelOverride(),toolContext:Y,hooks:this._hooks,requestParams:G})))await this._finalizeRun(J,Date.now());return}if(this._pendingInput){this._log("Starting new message flow");let{input:J,options:G}=this._pendingInput;this._pendingInput=null,yield*this._stream(J,G)}}catch(J){if(J instanceof W2){yield{type:"done",finalResponse:"",stopReason:"cancelled",usage:{promptTokens:0,completionTokens:0,totalTokens:0},sessionId:this.id};return}throw J}finally{this._isReceiving=!1,this._abortController=null}}async*receiveWithApprovals($,U){let _=U?.toolContext,Q={..._??{},approval:{..._?.approval??{},decisions:{..._?.approval?.decisions??{},...$}}};yield*this.receive({...U,toolContext:Q})}async*_stream($,U){this._ensureRuntimeConfigured(!0);let _=Date.now(),Q=this.getRuntimeModelOverride(),J=this._abortController?.signal;if(!this.title&&this.messages.length===0){let V=this.extractTextFromContent($);if(V)this.title=this.createTitle(V)}let G=this.messages.filter((V)=>V.role!=="system");this._log(`Starting agent loop with ${G.length} existing messages`);let Y=i5({sessionId:this.id,input:$,messages:G},this.getEffectiveSystemPrompt()??"");if(!(yield*this._streamWithPauseDetection(Y,{maxIterations:this._maxIterations,signal:J,model:Q,toolContext:U?.toolContext,hooks:this._hooks,requestParams:this._requestParams})))await this._finalizeRun(Y,_)}async*_streamWithPauseDetection($,U){try{return yield*this._streamWithState($,U),!1}catch(_){if(_ instanceof FU)return this.messages=$.messages.filter((Q)=>Q.role!=="system"),!0;throw _}}resolveModelRef($){if($.provider)return{provider:$.provider,modelId:$.modelId};let U=this._modelClient?.modelRef?.provider;if(U)return{provider:U,modelId:$.modelId};return}buildAutoRejectToolContext($,U){if($.pendingToolCalls.length===0)return U??{};let _={},Q={};for(let J of $.pendingToolCalls){let G=J.toolCall.id,Y=J.toolCall.function.name;if(!U?.approval?.decisions?.[G])_[G]={approved:!1,reason:"Auto-rejected: session resumed without tool context"};if(Y==="AskUserQuestion"&&!U?.askUser?.answers?.[G])Q[G]="Auto-rejected: session resumed without user answers"}if(Object.keys(_).length===0&&Object.keys(Q).length===0)return U??{};return{...U,approval:{...U?.approval,decisions:{...U?.approval?.decisions,..._}},askUser:{answers:U?.askUser?.answers??{},rejected:{...U?.askUser?.rejected,...Q}}}}getRuntimeModelOverride(){if(this.configOverride?.model){let $=this.resolveModelRef(this.configOverride.model);if($)return $}return this._modelOverride}_ensureRuntimeConfigured($){if(!this._modelClient)throw Error("Session is not configured with a model client");if($&&this.getEffectiveSystemPrompt()===void 0)throw Error("Session is not configured with a system prompt")}extractTextFromContent($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter((U)=>U.type==="text").map((U)=>U.text).join(" ");if($&&typeof $==="object"&&$.type==="text")return $.text||"";return""}createTitle($,U=50){let _=$.trim();if(_.length<=U)return _;return`${_.substring(0,U).trim()}...`}_recordUsage($){if(this._onUsage)this._onUsage($)}async executeModelStream($,U,_,Q,J){if(!this._modelClient)throw Error("Session is not configured with a model client");let G=[],Y=$.sessionId,X=new Map,V=!1,K=!1,Z=(H)=>{let z=X.get(H);if(z)return z;let A={argsText:"",started:!1};return X.set(H,A),A},N=(H,z)=>{let A=Z(H);if(z&&!A.toolName)A.toolName=z;if(!A.started)A.started=!0,this._log(`Stream: tool_call_start - ${A.toolName} (${H.slice(0,8)})`),G.push({type:"tool_call_start",callId:H,toolName:A.toolName,sessionId:Y})},W=(H,z,A)=>{let E=Z(H);if(z&&!E.toolName)E.toolName=z;if(typeof A==="string"&&A.length>0)E.argsText+=A;N(H,E.toolName),G.push({type:"tool_call_delta",callId:H,toolName:E.toolName,argsTextDelta:A,sessionId:Y})},B=()=>{if(V)return;V=!0,this._log("Stream: text_start"),G.push({type:"text_start",sessionId:Y})},q=()=>{if(!V||K)return;K=!0;let H=$.currentResponse.slice(0,50)+($.currentResponse.length>50?"...":"");this._log(`Stream: text_end - "${H}"`),G.push({type:"text_end",content:$.currentResponse,sessionId:Y})},O=()=>{for(let[H,z]of X){if(!z.toolName)continue;let A={id:H,type:"function",function:{name:z.toolName,arguments:z.argsText}};if(this._tools){$.pendingToolCalls.push({toolCall:A});let E=z.argsText.slice(0,100)+(z.argsText.length>100?"...":"");this._log(`Stream: tool_call_end - ${z.toolName} with args: ${E}`)}G.push({type:"tool_call_end",toolCall:A,sessionId:Y})}X.clear()},M=(()=>{if(!J)return;let H={...J};if(typeof H.maxOutputTokens!=="number"&&typeof J.maxTokens==="number")H.maxOutputTokens=J.maxTokens;return delete H.maxTokens,H})(),P=Q?{model:Q,messages:Zj($.messages),tools:_,signal:U,...M??{}}:{messages:Zj($.messages),tools:_,signal:U,...M??{}};try{for await(let H of this._modelClient.stream(P))if(u0(U,"Session streaming"),H.type==="delta"){if(H.chunk.kind==="text")B(),$.currentResponse+=H.chunk.text,G.push({type:"text_delta",delta:H.chunk.text,sessionId:Y});else if(H.chunk.kind==="thinking_start")this._log("Stream: thinking_start"),G.push({type:"thinking_start",sessionId:Y});else if(H.chunk.kind==="thinking_delta")$.currentThinking=($.currentThinking??"")+H.chunk.text,G.push({type:"thinking_delta",delta:H.chunk.text,sessionId:Y});else if(H.chunk.kind==="thinking_end"){let z=typeof H.chunk.text==="string"?H.chunk.text:"";if(z&&typeof $.currentThinking!=="string")$.currentThinking=z;let A=typeof $.currentThinking==="string"?$.currentThinking:z,E=A?A.slice(0,50)+(A.length>50?"...":""):"";this._log(`Stream: thinking_end - "${E}"`),G.push({type:"thinking_end",sessionId:Y,...A?{content:A}:{}})}else if(H.chunk.kind==="tool_call_delta")W(H.chunk.callId,H.chunk.toolId,H.chunk.argsTextDelta)}else if(H.type==="response_end"){this._log(`Stream: response_end - stopReason: ${H.stopReason}`),q(),O(),$.lastModelStopReason=H.stopReason;let z=H.usage;if(z&&typeof z==="object"){let A=z;if(A.prompt_tokens||A.completion_tokens||A.total_tokens){let E={promptTokens:A.prompt_tokens??0,completionTokens:A.completion_tokens??0,totalTokens:A.total_tokens??0};$.usage.promptTokens=E.promptTokens,$.usage.completionTokens=E.completionTokens,$.usage.totalTokens+=E.totalTokens,this._recordUsage(E)}}}else if(H.type==="error"){if(H.terminal!==!1){let z=H.error?.code??"model_error",A=H.error?.message??"Model error",E=new X6(A,{code:z,retryable:H.error?.retryable});$.error=E,$.shouldContinue=!1,$.stopReason="error"}}}catch(H){if(H instanceof W2)throw H;if(U?.aborted)throw new W2(typeof U?.reason==="string"?U.reason:"Agent execution aborted");$.error=H instanceof Error?H:Error(String(H)),$.shouldContinue=!1,$.stopReason="error"}finally{if(q(),X.size>0)O()}return G}mergeStateResults($,U){if($.currentResponse=U.currentResponse,$.currentThinking=U.currentThinking,$.pendingToolCalls=U.pendingToolCalls,$.usage=U.usage,$.metadata=U.metadata,$.shouldContinue=U.shouldContinue,$.stopReason=U.stopReason,$.lastModelStopReason=U.lastModelStopReason,$.error=U.error,this._checkpointSkipSnapshot=U._skipMessageSnapshot,this._checkpointOriginalMessages&&!this._checkpointSkipSnapshot){let _=this._checkpointOriginalMessages;$.messages=[..._,...this._checkpointNewMessages]}else $.messages=U.messages}appendMessage($,U){if($.messages.push(U),this._checkpointOriginalMessages&&!this._checkpointSkipSnapshot)this._checkpointNewMessages.push(U)}getCheckpointMessages($){if(this._checkpointSkipSnapshot||!this._checkpointOriginalMessages)return $.messages;return[...this._checkpointOriginalMessages,...this._checkpointNewMessages]}async saveCheckpointForState($,U){let _=d5($,{agentName:this._agentName,phase:U?.phase,status:U?.status,modelConfig:U?.modelConfig,requestParams:U?.requestParams,messages:this.getCheckpointMessages($)});return await this._checkpointManager.saveCheckpoint(_),_}addToolResultToHistory($,U){let _=U.result,Q,J=U.isError;if(typeof _==="string")Q=_;else if(_&&typeof _==="object"&&"content"in _){let G=_;if(Q=JSON.stringify(G.content),G.isError===!0)J=!0}else Q=JSON.stringify(_);this.appendMessage($,{role:"tool",tool_call_id:U.toolCall.id,content:Q,...J?{isError:!0}:{}})}addAssistantMessageWithToolCalls($){let U=typeof $.currentThinking==="string"?$.currentThinking:void 0;this.appendMessage($,{role:"assistant",content:$.currentResponse||"",tool_calls:$.pendingToolCalls.map((_)=>Wj(_.toolCall)),...U&&U.length>0?{reasoning_content:U}:{}})}addFinalAssistantMessage($){if($.currentResponse){let U=typeof $.currentThinking==="string"?$.currentThinking:void 0;this.appendMessage($,{role:"assistant",content:$.currentResponse,...U&&U.length>0?{reasoning_content:U}:{}})}}async persistSessionState($){this.messages=$.messages.filter((U)=>U.role!=="system"),await this.save()}async*_streamWithState($,U){let _=U.maxIterations??wC,Q=U.signal,J=l5(this._middlewares),G=this._toolExecutor.createToolExecutionContext($,Q),Y=this._stateStore,X=Y?.deleteOnComplete??!0,V=U.model?{modelId:U.model.modelId,provider:U.model.provider}:this._modelClient?{modelId:this._modelClient.modelId}:void 0,K=async(Z)=>{if(!Y)return;await this.saveCheckpointForState($,{phase:Z?.phase,status:Z?.status,modelConfig:V,requestParams:U.requestParams})};while($.shouldContinue){if(u0(Q,`Session iteration ${$.iteration}`),$.iteration>=_){this._log(`Max iterations (${_}) reached`),$.shouldContinue=!1,$.stopReason="max_iterations",yield{type:"done",finalResponse:$.currentResponse,stopReason:"max_iterations",modelStopReason:$.lastModelStopReason,usage:{...$.usage},sessionId:$.sessionId};break}if(this._log(`Iteration ${$.iteration} started, pending tool calls: ${$.pendingToolCalls.length}`),yield{type:"iteration_start",iteration:$.iteration,sessionId:$.sessionId},this._checkpointOriginalMessages=structuredClone($.messages),this._checkpointNewMessages=[],this._checkpointSkipSnapshot=$._skipMessageSnapshot,$.pendingToolCalls.length>0){if(this._log(`Executing ${$.pendingToolCalls.length} tool calls`),yield*this._toolExecutor.handleToolCalls($,G,{signal:Q,toolContextInput:U.toolContext,hooks:U.hooks,checkpointModelConfig:V,requestParams:U.requestParams}),$.metadata?._pendingUserInput){let W=$.metadata._pendingUserInput;delete $.metadata._pendingUserInput,this.appendMessage($,{role:"user",content:W})}continue}if($.metadata?._pendingUserInput){let W=$.metadata._pendingUserInput;delete $.metadata._pendingUserInput,this.appendMessage($,{role:"user",content:W})}$.currentResponse="",$.currentThinking=void 0,$.pendingToolCalls=[],$.lastModelStopReason=void 0,await K();let Z=[],N=await J({...$,messages:structuredClone($.messages)},async(W)=>{u0(Q,"Session model call");let B=this.collectBlockedTools(W);W.metadata.blockedTools=B;let q=this.getToolsForModel(W),O=q?.length??0;return this._log(`Calling model with ${W.messages.length} messages and ${O} tools`),Z=await this.executeModelStream(W,Q,q,U.model,U.requestParams),this._log(`Model response: ${W.currentResponse.slice(0,100)}${W.currentResponse.length>100?"...":""}, tool calls: ${W.pendingToolCalls.length}`),W});this.mergeStateResults($,N);for(let W of Z)yield W;if(u0(Q,`Session iteration ${$.iteration}`),$.stopReason==="error"){yield{type:"iteration_end",iteration:$.iteration,willContinue:!1,toolCallCount:$.pendingToolCalls.length,usage:{...$.usage},sessionId:$.sessionId},yield{type:"done",finalResponse:$.currentResponse,stopReason:"error",modelStopReason:$.lastModelStopReason,error:zC($.error),usage:{...$.usage},sessionId:$.sessionId};break}if($.pendingToolCalls.length>0)yield*this._toolExecutor.handleToolCalls($,G,{signal:Q,toolContextInput:U.toolContext,hooks:U.hooks,checkpointModelConfig:V,requestParams:U.requestParams});else yield*this.handleFinalResponse($);if(await K(),!$.shouldContinue){if(this._log(`Agent loop finished. Stop reason: ${$.stopReason}`),Y&&X)await Y.deleteCheckpoint($.sessionId);break}}}hasAssistantToolCallMessage($,U){return $.messages.some((_)=>{if(!_||typeof _!=="object"||_.role!=="assistant")return!1;let Q=_.tool_calls;return Array.isArray(Q)&&Q.some((J)=>J?.id===U)})}async*handleFinalResponse($){$.shouldContinue=!1,$.stopReason="final_response",this.addFinalAssistantMessage($),yield{type:"iteration_end",iteration:$.iteration,willContinue:!1,toolCallCount:0,usage:{...$.usage},sessionId:$.sessionId},yield{type:"done",finalResponse:$.currentResponse,stopReason:"final_response",modelStopReason:$.lastModelStopReason,usage:{...$.usage},sessionId:$.sessionId}}async _finalizeRun($,U){if(this.messages=$.messages.filter((Q)=>Q.role!=="system"),$.usage.totalTokens>0)this.addUsage($.usage);let _=Date.now()-U;this.recordResponse(_),await this.save()}getLastMessagePreview($=100){if(this.messages.length===0)return;let U=this.messages[this.messages.length-1],_=typeof U.content==="string"?U.content:JSON.stringify(U.content);return _.length>$?`${_.substring(0,$)}...`:_}toSnapshot(){let $={status:this.status,updatedAt:this.updatedAt,lastActiveAt:this.lastActiveAt,title:this.title,errorMessage:this.errorMessage},U={messages:[...this.messages],messageCount:this.messages.length,lastMessagePreview:this.getLastMessagePreview(),toolCallCount:this.toolCallCount},_={usage:{...this.usage},responseCount:this.responseCount,avgResponseTime:this.avgResponseTime};return{id:this.id,createdAt:this.createdAt,state:$,configOverride:this.configOverride?{...this.configOverride}:void 0,context:U,stats:_,metadata:this.metadata?{...this.metadata}:void 0}}restoreFromSnapshot($){this.status=$.state.status,this.updatedAt=$.state.updatedAt,this.lastActiveAt=$.state.lastActiveAt,this.title=$.state.title,this.errorMessage=$.state.errorMessage,this.configOverride=$.configOverride?{...$.configOverride}:void 0,this.metadata=$.metadata&&typeof $.metadata==="object"?{...$.metadata}:void 0,this.messages=[...$.context.messages],this.toolCallCount=$.context.toolCallCount,this.usage={...$.stats.usage},this.responseCount=$.stats.responseCount,this.avgResponseTime=$.stats.avgResponseTime}async save(){let $=this.toSnapshot();await this._stateStore.save(this.id,v6.SESSION,$)}async load(){let $=await this._stateStore.load(this.id,v6.SESSION);if($)return this.restoreFromSnapshot($),!0;return!1}triggerAutoSave(){this._autoSaveManager.trigger()}setStatus($,U){if(this.status=$,this.errorMessage=U,this.updatedAt=Date.now(),this._autoSave)this.triggerAutoSave()}markActive(){if(this.lastActiveAt=Date.now(),this.updatedAt=Date.now(),this._autoSave)this.triggerAutoSave()}addMessage($){if(this.messages.push($),this.markActive(),this._autoSave)this.triggerAutoSave()}addUsage($){if(this.usage.promptTokens=$.promptTokens,this.usage.completionTokens=$.completionTokens,this.usage.totalTokens+=$.totalTokens,this.updatedAt=Date.now(),this._autoSave)this.triggerAutoSave()}recordResponse($){let U=(this.avgResponseTime??0)*this.responseCount;if(this.responseCount++,this.avgResponseTime=(U+$)/this.responseCount,this.updatedAt=Date.now(),this._autoSave)this.triggerAutoSave()}incrementToolCallCount(){if(this.toolCallCount++,this.updatedAt=Date.now(),this._autoSave)this.triggerAutoSave()}setModelOverride($){if(!this.configOverride)this.configOverride={};if(this.configOverride.model=$,this.updatedAt=Date.now(),this._modelOverride=this.resolveModelRef($)??this._modelOverride,this._autoSave)this.triggerAutoSave()}clearModelOverride(){if(this.configOverride)delete this.configOverride.model,this.updatedAt=Date.now();if(this._modelOverride=void 0,this._autoSave)this.triggerAutoSave()}setSystemPromptOverride($){if(!this.configOverride)this.configOverride={};if(this.configOverride.systemPromptOverride=$,this.updatedAt=Date.now(),this._autoSave)this.triggerAutoSave()}clearSystemPromptOverride(){if(this.configOverride)delete this.configOverride.systemPromptOverride,this.updatedAt=Date.now();if(this._autoSave)this.triggerAutoSave()}disableTools($){if(!this.configOverride)this.configOverride={};if(this.configOverride.disabledTools=[...this.configOverride.disabledTools??[],...$],this.updatedAt=Date.now(),this._autoSave)this.triggerAutoSave()}enableAllTools(){if(this.configOverride)delete this.configOverride.disabledTools,this.updatedAt=Date.now();if(this._autoSave)this.triggerAutoSave()}setAutoSave($){this._autoSave=$}}class K9{}import{randomUUID as AC}from"node:crypto";class w7 extends K9{_stateStore;constructor($){super();this._stateStore=$}async create($){let U=$??AC(),_=Date.now(),Q=(()=>{try{let Y=globalThis?.process;return typeof Y?.cwd==="function"?String(Y.cwd()):void 0}catch{return}})(),J={id:U,createdAt:_,state:{status:"active",updatedAt:_,lastActiveAt:_},context:{messages:[],messageCount:0,toolCallCount:0},stats:{usage:{promptTokens:0,completionTokens:0,totalTokens:0},responseCount:0},metadata:Q?{cwd:Q}:void 0},G=new w1(this._stateStore,U,J);return await G.save(),G}async get($){let U=await this._stateStore.load($,v6.SESSION);if(!U)return;return new w1(this._stateStore,$,U)}async list(){let $=await this._stateStore.listSessions(),U=[];for(let _ of $){let Q=await this._stateStore.load(_,v6.SESSION);if(Q){let J=new w1(this._stateStore,_,Q);U.push(J)}}return U}async destroy($){await this._stateStore.deleteSession($)}}import{existsSync as f2,mkdirSync as Nj,readdirSync as BX,readFileSync as kC,rmSync as HX,writeFileSync as TC}from"node:fs";import CU from"node:path";class vU{deleteOnComplete;constructor($){this.deleteOnComplete=$?.deleteOnComplete??!0}assertValidStorageSegment($,U){if(!U)throw Error(`${$} must be a non-empty string`);if(U==="."||U==="..")throw Error(`${$} must not be "." or ".."`);if(U.includes("/")||U.includes("\\"))throw Error(`${$} must not contain path separators`);if(U.includes("\x00"))throw Error(`${$} must not contain NUL bytes`)}async save($,U,_){let Q=this.buildPath($,U),J=JSON.stringify(_,null,2);await this._write(Q,J)}async load($,U){let _=this.buildPath($,U),Q=await this._read(_);if(Q===void 0)return;try{return JSON.parse(Q)}catch{return}}async delete($,U){let _=this.buildPath($,U);await this._delete(_)}async deleteSession($){let U=this.buildPrefix($),_=await this._list(U);await Promise.all(_.map((Q)=>this._delete(Q)))}async listKeys($){let U=this.buildPrefix($);return(await this._list(U)).map((Q)=>this.extractKey($,Q))}async exists($,U){let _=this.buildPath($,U);return this._exists(_)}async saveCheckpoint($){let U={_meta:{description:"GoatChain Agent Loop Checkpoint - DO NOT EDIT MANUALLY",savedAt:new Date().toISOString(),agentName:$.agentName,sessionId:$.sessionId,iteration:$.iteration,phase:$.phase,status:$.status,messageCount:$.messages.length,toolCallsPending:$.pendingToolCalls?.length??0},checkpoint:$};await this.save($.sessionId,v6.CHECKPOINT,U)}async loadCheckpoint($){return(await this.load($,v6.CHECKPOINT))?.checkpoint}async deleteCheckpoint($){await this.delete($,v6.CHECKPOINT)}async listCheckpoints(){let $=await this.listSessions(),U=[];for(let _ of $){let Q=await this.loadCheckpoint(_);if(Q)U.push(Q)}return U}async listSessions(){let $=await this._list(""),U=new Set;for(let _ of $){let Q=this.extractSessionId(_);if(Q)U.add(Q)}return Array.from(U)}buildPath($,U){return this.assertValidStorageSegment("sessionId",$),this.assertValidStorageSegment("key",U),`${$}/${U}`}buildPrefix($){return this.assertValidStorageSegment("sessionId",$),`${$}/`}extractKey($,U){let _=this.buildPrefix($);return U.startsWith(_)?U.slice(_.length):U}extractSessionId($){let U=$.split("/");return U.length>0?U[0]:void 0}}class L2 extends vU{baseDir;constructor($){super($);this.baseDir=CU.resolve($.dir),this.ensureDir(this.baseDir)}async _write($,U){let _=this.toFilePath($);this.ensureDir(CU.dirname(_)),TC(_,U,"utf-8")}async _read($){let U=this.toFilePath($);try{if(!f2(U))return;return kC(U,"utf-8")}catch{return}}async _delete($){let U=this.toFilePath($);if(f2(U))HX(U);let _=CU.dirname(U);if(f2(_))try{if(BX(_).length===0)HX(_,{recursive:!0})}catch{}}async _exists($){let U=this.toFilePath($);return f2(U)}async _list($){let U=[];if(!f2(this.baseDir))return U;let _=BX(this.baseDir,{withFileTypes:!0}).filter((Q)=>Q.isDirectory()).map((Q)=>Q.name);for(let Q of _){if($&&!Q.startsWith($.split("/")[0]))continue;let J=CU.join(this.baseDir,Q),G=this.listJsonFiles(J);for(let Y of G){let X=CU.basename(Y,".json"),V=`${Q}/${X}`;if(!$||V.startsWith($))U.push(V)}}return U}toFilePath($){return CU.join(this.baseDir,`${$}.json`)}ensureDir($){if(!f2($))Nj($,{recursive:!0})}listJsonFiles($){if(!f2($))return[];return BX($).filter((U)=>U.endsWith(".json")).map((U)=>CU.join($,U))}getBaseDir(){return this.baseDir}clear(){if(f2(this.baseDir))HX(this.baseDir,{recursive:!0}),Nj(this.baseDir,{recursive:!0})}}class R2 extends vU{store=new Map;constructor($){super($)}async _write($,U){this.store.set($,U)}async _read($){return this.store.get($)}async _delete($){this.store.delete($)}async _exists($){return this.store.has($)}async _list($){let U=[];for(let _ of this.store.keys())if($===""||_.startsWith($))U.push(_);return U}clear(){this.store.clear()}stats(){let $=new Set;for(let U of this.store.keys()){let _=this.extractSessionId(U);if(_)$.add(_)}return{entryCount:this.store.size,sessionCount:$.size}}}class H0{id;name;systemPrompt;createdAt;_model;_modelOverride;_tools;_stateStore;_sessionManager;_middlewares=[];_middlewareCounter=0;_middlewareTools=new Map;_enableLogging;_initializationPromise=null;_initialized=!1;constructor($){this.id=$.id??crypto.randomUUID(),this.name=$.name,this.systemPrompt=$.systemPrompt,this.createdAt=Date.now(),this._model=$.model,this._tools=$.tools,this._stateStore=$.stateStore??new R2,this._enableLogging=$.enableLogging??!1,this._sessionManager=new w7(this._stateStore),this._log(`Agent created: ${this.name} (id: ${this.id})`);let U=$.middleware??[];if(U.length>0)this._initializationPromise=this._initializeMiddleware(U)}async _initializeMiddleware($){for(let U of $)await this.use(U);this._initialized=!0}async _ensureInitialized(){if(this._initializationPromise&&!this._initialized)await this._initializationPromise}_log(...$){if(this._enableLogging)console.warn(`[GoatChain:Agent:${this.name}]`,...$)}get model(){return this._model}get modelId(){return this.modelRef?.modelId??this._model.modelId}get modelRef(){return this._modelOverride??this._model.modelRef}get tools(){return this._tools}get stateStore(){return this._stateStore}get sessionManager(){return this._sessionManager}async createSession($){if(await this._ensureInitialized(),!this._sessionManager)throw Error("SessionManager is not configured");let U=await this._sessionManager.create($?.sessionId);if(!this._stateStore)throw Error("StateStore is required to create sessions");this._log(`Creating new session: ${U.id}`);let _=U.toSnapshot();return new w1(this._stateStore,U.id,_,{...$,modelClient:this._model,systemPrompt:this.systemPrompt,agentName:this.name,tools:this._tools,middlewares:this._middlewares.map((Q)=>Q.fn),emitSessionCreatedEvent:!0,enableLogging:this._enableLogging})}async resumeSession($,U){if(!this._sessionManager)throw Error("SessionManager is not configured");let _=await this._sessionManager.get($);if(!_)throw Error(`Session not found: ${$}`);if(!this._stateStore)throw Error("StateStore is required to resume sessions");this._log(`Resuming session: ${$}`);let Q=_.toSnapshot();return new w1(this._stateStore,_.id,Q,{...U,modelClient:this._model,systemPrompt:this.systemPrompt,agentName:this.name,tools:this._tools,middlewares:this._middlewares.map((J)=>J.fn),emitSessionCreatedEvent:!1,enableLogging:this._enableLogging})}async use($,U){let _=U??$.__middlewareName??`middleware_${this._middlewareCounter++}`;if(this._middlewares.some((J)=>J.name===_))throw Error(`Middleware with name "${_}" already exists`);let Q={name:_,fn:$};if(this._middlewares.push(Q),this._log(`Middleware registered: ${_}`),$.__createTools&&typeof $.__createTools==="function")await this._registerMiddlewareTools(_,$.__createTools);return()=>{this.removeMiddleware(_)}}removeMiddleware($){let U=-1,_;if(typeof $==="string")U=this._middlewares.findIndex((Q)=>Q.name===$),_=$;else if(U=this._middlewares.findIndex((Q)=>Q.fn===$),U>-1)_=this._middlewares[U].name;if(U>-1&&_)return this._unregisterMiddlewareTools(_),this._middlewares.splice(U,1),!0;return!1}clearMiddlewares(){for(let $ of this._middlewareTools.keys())this._unregisterMiddlewareTools($);this._middlewares=[]}get middlewares(){return[...this._middlewares]}get middlewareNames(){return this._middlewares.map(($)=>$.name)}setModel($){if(((_)=>{return Boolean(_&&typeof _==="object"&&typeof _.provider==="string"&&typeof _.modelId==="string"&&typeof _.stream!=="function")})($))this._modelOverride=$;else this._model=$,this._modelOverride=void 0}_getNamespacedToolName($,U){return`${$}_${U}`}async _registerMiddlewareTools($,U){if(!this._tools)return;let _=await U(),Q=[];for(let J of _){let G=this._getNamespacedToolName($,J.name),Y=Object.create(Object.getPrototypeOf(J));Object.assign(Y,J),Object.defineProperty(Y,"name",{value:G,writable:!1,configurable:!0});try{this._tools.register(Y),Q.push(G)}catch(X){console.warn(`Failed to register tool ${G}:`,X)}}if(Q.length>0)this._middlewareTools.set($,Q)}_unregisterMiddlewareTools($){if(!this._tools)return;let U=this._middlewareTools.get($);if(!U)return;for(let _ of U)this._tools.unregister(_);this._middlewareTools.delete($)}}import{readFile as CC}from"node:fs/promises";import yC from"node:path";import bC from"node:process";var xC=["AGENTS.md","CLAUDE.md"],gC="[Project Agent Rules]";async function hC($,U){let _=[];for(let Q of U)try{let J=yC.resolve($,Q),G=await CC(J,"utf-8");if(G.trim())_.push(G.trim())}catch{continue}return _.length>0?_.join(`
86
+
87
+ ---
88
+
89
+ `):""}function z7($){let{cwd:U,ruleFiles:_=xC,marker:Q=gC}=$??{},J=async(G,Y)=>{let X=typeof U==="function"?U():U??bC.cwd(),V=await hC(X,_),K=G.messages;if(V)K=h0(K,V,Q);let Z={...G,messages:K};return Y(Z)};return J.__middlewareName="agent-rules",J}import{execSync as H6}from"node:child_process";import{unlinkSync as uC,writeFileSync as mC}from"node:fs";import{tmpdir as cC}from"node:os";import{join as dC}from"node:path";function OX($){try{return H6("git rev-parse --git-dir",{cwd:$,stdio:"pipe"}),!0}catch{return!1}}function Fj($){try{return H6("git add --all",{cwd:$,encoding:"utf-8"}),H6("git diff --staged --name-only",{cwd:$,encoding:"utf-8"}).trim().split(`
90
+ `).filter(Boolean)}catch(U){throw Error(`Failed to stage files: ${U instanceof Error?U.message:String(U)}`)}}function qj($){try{return H6("git diff --staged",{cwd:$,encoding:"utf-8"})}catch(U){throw Error(`Failed to get diff: ${U instanceof Error?U.message:String(U)}`)}}function jX($){try{return H6("git diff --staged --name-only",{cwd:$,encoding:"utf-8"}).trim().length>0}catch{return!1}}function Bj($){try{let U=H6("git diff --staged --name-status",{cwd:$,encoding:"utf-8"});if(!U.trim())return[];return U.trim().split(`
91
+ `).filter(Boolean).map((_)=>{let Q=_.split("\t"),J=Q[0].charAt(0);if(J==="R"||J==="C")return{file:Q[2],status:J,oldFile:Q[1]};return{file:Q[1],status:J}})}catch{return[]}}function DX($){try{if(H6("git diff --name-only",{cwd:$,encoding:"utf-8"}).trim().length>0)return!0;return H6("git ls-files --others --exclude-standard",{cwd:$,encoding:"utf-8"}).trim().length>0}catch{return!1}}function Hj($,U){try{let _=dC(cC(),`goatchain-commit-${Date.now()}.txt`);mC(_,$,"utf-8");try{return H6(`git commit -F "${_}"`,{cwd:U,stdio:"pipe"}),H6("git rev-parse HEAD",{cwd:U,encoding:"utf-8"}).trim()}finally{try{uC(_)}catch{}}}catch(_){throw Error(`Failed to create commit: ${_ instanceof Error?_.message:String(_)}`)}}function EX($){try{let U=H6("git rev-parse --abbrev-ref HEAD",{cwd:$,encoding:"utf-8"}).trim();return U==="HEAD"?null:U}catch{return null}}function lC($,U="origin"){try{return H6("git remote",{cwd:$,encoding:"utf-8"}).split(`
92
+ `).map((Q)=>Q.trim()).includes(U)}catch{return!1}}function iC($){try{return H6("git rev-parse --abbrev-ref --symbolic-full-name @{u}",{cwd:$,encoding:"utf-8"}).trim()||null}catch{return null}}function Oj($,U="origin"){try{return H6(`git fetch ${U}`,{cwd:$,stdio:"pipe"}),!0}catch{return!1}}function rC($){try{let U=H6("git rev-list --left-right --count @{u}...HEAD",{cwd:$,encoding:"utf-8"}).trim(),[_,Q]=U.split(/\s+/).map((J)=>Number.parseInt(J,10));return{ahead:Q||0,behind:_||0,hasUpstream:!0}}catch{return{ahead:0,behind:0,hasUpstream:!1}}}function nC($){try{let U=H6("git status --porcelain",{cwd:$,encoding:"utf-8"});return/^(?:UU|AA|DD|AU|UA|DU|UD)\s/m.test(U)}catch{return!1}}function pC($){try{let U=H6("git status --porcelain",{cwd:$,encoding:"utf-8"}),_=[],Q=U.split(`
93
+ `);for(let J of Q){let G=J.match(/^(?:UU|AA|DD|AU|UA|DU|UD)\s+(\S.*)$/);if(G)_.push(G[1].trim())}return _}catch{return[]}}function oC($){try{try{return H6("git rev-parse --verify MERGE_HEAD",{cwd:$,stdio:"pipe"}),{inMerge:!0,type:"merge"}}catch{}try{return H6("test -d .git/rebase-merge -o -d .git/rebase-apply",{cwd:$,stdio:"pipe"}),{inMerge:!0,type:"rebase"}}catch{}try{return H6("git rev-parse --verify CHERRY_PICK_HEAD",{cwd:$,stdio:"pipe"}),{inMerge:!0,type:"cherry-pick"}}catch{}return{inMerge:!1,type:null}}catch{return{inMerge:!1,type:null}}}function MX($){let U={canCommit:!0,isGitRepo:!1,hasChanges:!1,hasConflicts:!1,conflictFiles:[],inMergeState:!1,mergeStateType:null,hasRemote:!1,hasUpstream:!1,ahead:0,behind:0,isDiverged:!1,currentBranch:null,warnings:[],errors:[]};if(U.isGitRepo=OX($),!U.isGitRepo)return U.canCommit=!1,U.errors.push("Not a git repository"),U;if(U.currentBranch=EX($),!U.currentBranch)U.warnings.push("Detached HEAD state - no branch checked out");let _=oC($);if(U.inMergeState=_.inMerge,U.mergeStateType=_.type,U.inMergeState)U.warnings.push(`Currently in ${U.mergeStateType} state`);if(U.hasConflicts=nC($),U.hasConflicts)U.conflictFiles=pC($),U.canCommit=!1,U.errors.push(`Unresolved conflicts in ${U.conflictFiles.length} file(s): ${U.conflictFiles.join(", ")}`);if(U.hasChanges=DX($)||jX($),!U.hasChanges&&!U.inMergeState)U.canCommit=!1,U.errors.push("No changes to commit");if(U.hasRemote=lC($),U.hasRemote){let Q=iC($);if(U.hasUpstream=!!Q,U.hasUpstream){let J=rC($);if(U.ahead=J.ahead,U.behind=J.behind,U.isDiverged=U.ahead>0&&U.behind>0,U.behind>0)U.warnings.push(`Local branch is ${U.behind} commit(s) behind remote`);if(U.isDiverged)U.warnings.push(`Branch has diverged: ${U.ahead} ahead, ${U.behind} behind`)}else U.warnings.push("No upstream branch configured")}return U}var aC="You are a commit message generator. You print plain text without code blocks and don't talk.";function tC($,U,_){if(_)return _.replace("[DIFF_CONTENT]",$).replace("[LANGUAGE]",U);return`Analyze the following staged diffs and craft a conventional commit message in ${U}.
94
+
95
+ Staged Diffs:
96
+ \`\`\`diff
97
+ ${$}
98
+ \`\`\`
99
+
100
+ Requirements:
101
+ - Title: Under 50 characters with appropriate type (feat/fix/docs/style/refactor/test/chore)
102
+ - Body: List changes in categories (Added/Changed/Fixed/Removed/etc.) with lines under 70 chars
103
+ - Format exactly as:
104
+
105
+ <type>[optional scope]: <title>
106
+
107
+ Added (if applicable):
108
+ - [New features/modules]
109
+
110
+ Changed (if applicable):
111
+ - [Modifications to existing functionality]
112
+
113
+ Fixed (if applicable):
114
+ - [Bug fixes]
115
+
116
+ Security (if applicable):
117
+ - [Security improvements]`}function PX($){let U=[];if($.errors.length>0)U.push("❌ 错误 (Errors):"),$.errors.forEach((_)=>U.push(` • ${_}`));if($.warnings.length>0)U.push("⚠️ 警告 (Warnings):"),$.warnings.forEach((_)=>U.push(` • ${_}`));if($.conflictFiles.length>0)U.push(""),U.push("\uD83D\uDD00 冲突文件 (Conflict files):"),$.conflictFiles.forEach((_)=>U.push(` • ${_}`));if($.inMergeState)U.push(""),U.push(`\uD83D\uDCCC 当前状态: 正在进行 ${$.mergeStateType}`);if($.hasUpstream&&($.ahead>0||$.behind>0)){if(U.push(""),U.push("\uD83D\uDCCA 分支状态:"),$.ahead>0)U.push(` • 领先远程 ${$.ahead} 个提交`);if($.behind>0)U.push(` • 落后远程 ${$.behind} 个提交`)}return U.join(`
118
+ `)}function jj($){switch($){case"A":return"新增 (new file)";case"M":return"修改 (modified)";case"D":return"删除 (deleted)";case"R":return"重命名 (renamed)";case"C":return"复制 (copied)";case"T":return"类型变更 (typechange)";case"U":return"未合并 (unmerged)";default:return $}}function eC($){if($.length===0)return"";let U=["\uD83D\uDCCB Changes to be committed (待提交的更改):",""],_={};for(let J of $){let G=J.status;if(!_[G])_[G]=[];_[G].push(J)}let Q=["A","M","D","R","C","T","U"];for(let J of Q){let G=_[J];if(!G||G.length===0)continue;U.push(` ${jj(J)}:`);for(let Y of G)if(Y.oldFile)U.push(` • ${Y.oldFile} → ${Y.file}`);else U.push(` • ${Y.file}`);U.push("")}for(let[J,G]of Object.entries(_)){if(Q.includes(J))continue;U.push(` ${jj(J)}:`);for(let Y of G)U.push(` • ${Y.file}`);U.push("")}return U.push(` 共 ${$.length} 个文件 (Total: ${$.length} files)`),U.join(`
119
+ `)}function fX($){let U=$.name??"commit-mode",_=$.model,Q=$.defaultLanguage??"English",J=$.defaultAutoStage??!0,G=$.fetchBeforeCommit??!1,Y=$.allowBehindRemote??!1,X=$.cwd??process.cwd(),V=$.customPrompt,K=async(Z,N)=>{if(Z.metadata?.commitProcessed)return N(Z);try{let W=MX(X);if(!W.isGitRepo){let L={role:"assistant",content:`✗ 错误:当前目录不是 git 仓库。
120
+
121
+ Error: Not in a git repository. Please run this from within a git repository.`};return{...Z,messages:[...Z.messages,L],currentResponse:L.content,shouldContinue:!1,stopReason:"final_response",metadata:{...Z.metadata,commitProcessed:!0,preCommitCheck:W}}}let B={fetched:!1,message:""};if(G&&W.hasRemote)if(Oj(X)){B={fetched:!0,message:"已从远程获取最新更新"};let k=MX(X);Object.assign(W,{ahead:k.ahead,behind:k.behind,isDiverged:k.isDiverged})}else B={fetched:!1,message:"无法从远程获取更新(网络问题或无权限)"};if(W.hasConflicts){let L={role:"assistant",content:`✗ 存在未解决的冲突,无法提交。
122
+
123
+ ❌ Cannot commit: Unresolved conflicts detected.
124
+
125
+ ${PX(W)}
126
+
127
+ 请先解决以上冲突文件,然后再次尝试提交。
128
+ Please resolve the conflicts above before committing.`};return{...Z,messages:[...Z.messages,L],currentResponse:L.content,shouldContinue:!1,stopReason:"final_response",metadata:{...Z.metadata,commitProcessed:!0,preCommitCheck:W,hasConflicts:!0}}}if(W.inMergeState&&!W.hasChanges){let L={role:"assistant",content:`✗ 当前正在进行 ${W.mergeStateType},但没有暂存的更改。
129
+
130
+ ❌ Currently in ${W.mergeStateType} state but no staged changes.
131
+
132
+ ${PX(W)}
133
+
134
+ 请先完成或取消当前的 ${W.mergeStateType} 操作。
135
+ Please complete or abort the current ${W.mergeStateType} operation.`};return{...Z,messages:[...Z.messages,L],currentResponse:L.content,shouldContinue:!1,stopReason:"final_response",metadata:{...Z.metadata,commitProcessed:!0,preCommitCheck:W}}}if(!Y&&W.behind>0){let L={role:"assistant",content:`⚠️ 本地分支落后于远程 ${W.behind} 个提交。
136
+
137
+ ⚠️ Local branch is ${W.behind} commit(s) behind remote.
138
+
139
+ ${PX(W)}
140
+
141
+ 建议先执行 git pull 拉取最新更改,解决可能的冲突后再提交。
142
+ Recommend running 'git pull' first to get latest changes and resolve any conflicts before committing.
143
+
144
+ 如需强制提交,请使用 allowBehindRemote: true 选项。`};return{...Z,messages:[...Z.messages,L],currentResponse:L.content,shouldContinue:!1,stopReason:"final_response",metadata:{...Z.metadata,commitProcessed:!0,preCommitCheck:W,isBehindRemote:!0}}}if(J){if(DX(X))Fj(X);else if(!jX(X)&&!W.inMergeState){let L={role:"assistant",content:`✗ 没有需要提交的更改。
145
+
146
+ No changes to commit. Working directory is clean.`};return{...Z,messages:[...Z.messages,L],currentResponse:L.content,shouldContinue:!1,stopReason:"final_response",metadata:{...Z.metadata,commitProcessed:!0,preCommitCheck:W}}}}let q=Bj(X),O=qj(X);if(!O||O.trim().length===0){let L={role:"assistant",content:`✗ 没有暂存的更改。
147
+
148
+ No staged changes to commit. Please stage files first or enable auto_stage.`};return{...Z,messages:[...Z.messages,L],currentResponse:L.content,shouldContinue:!1,stopReason:"final_response",metadata:{...Z.metadata,commitProcessed:!0,preCommitCheck:W}}}if(!_.run)throw Error("Model does not support run() method");let M=tC(O,Q,V),P=[{role:"system",content:aC},{role:"user",content:M}],z=(await _.run({messages:P})).text.trim();if(!z)throw Error("LLM returned empty commit message");let A=Hj(z,X),E=eC(q),D=B.fetched?`
149
+
150
+ \uD83D\uDCE1 ${B.message}`:"",f=W.warnings.length>0?`
151
+
152
+ ⚠️ 注意事项:
153
+ ${W.warnings.map((L)=>` • ${L}`).join(`
154
+ `)}`:"",j=W.currentBranch?`
155
+ 分支: ${W.currentBranch}`:"",T={role:"assistant",content:`✓ 成功创建 commit
156
+
157
+ Commit Hash: ${A}${j}${D}${f}
158
+
159
+ ${E}
160
+
161
+ Commit Message:
162
+ ${z}`};return{...Z,messages:[...Z.messages,T],currentResponse:T.content,shouldContinue:!1,stopReason:"final_response",metadata:{...Z.metadata,commitProcessed:!0,commitHash:A,commitMessage:z,preCommitCheck:W}}}catch(W){let B={role:"assistant",content:`✗ 创建 commit 失败
163
+
164
+ Error: ${W instanceof Error?W.message:String(W)}`};return{...Z,messages:[...Z.messages,B],currentResponse:B.content,shouldContinue:!1,stopReason:"error",metadata:{...Z.metadata,commitProcessed:!0}}}};return K.__middlewareName=U,K}import{readdir as Dj,readFile as sC}from"node:fs/promises";import n0 from"node:path";import Ej from"node:process";var $y="[Environment Information]";async function Uy($){try{let U=n0.join($,".gitignore"),_=await sC(U,"utf-8"),Q=new Set;for(let J of _.split(`
165
+ `)){let G=J.trim();if(G&&!G.startsWith("#"))Q.add(G)}return Q}catch{return new Set}}function Mj($,U,_){if(U===".git")return!0;for(let Q of _)if(Q.endsWith("/")){let J=Q.slice(0,-1);if(U===J||$.startsWith(`${J}/`))return!0}else if(U===Q||$===Q)return!0;else if(Q.includes("*")){if(new RegExp(`^${Q.replace(/\*/g,".*")}$`).test(U))return!0}return!1}function Pj($){return n0.extname($)||$}async function fj($,U,_,Q,J){try{let G=await Dj($,{withFileTypes:!0}),Y=n0.relative(Q.cwd,$),X=[],V={},K=0,Z=G.sort((W,B)=>{if(W.isDirectory()&&!B.isDirectory())return-1;if(!W.isDirectory()&&B.isDirectory())return 1;return W.name.localeCompare(B.name)}),N=0;for(let W of Z){if(N>=Q.maxEntriesPerDir)break;let B=n0.join($,W.name),q=n0.relative(Q.cwd,B);if(Q.respectGitignore&&Mj(q,W.name,J))continue;if(W.isDirectory())if(_<Q.maxDepth){let O=await fj(B,U,_+1,Q,J);if(O){X.push(O),K+=O.totalFiles;for(let[M,P]of Object.entries(O.fileStats))V[M]=(V[M]||0)+P}}else{let O=await Lj(B,J,Q);X.push({name:W.name,path:q,children:[],fileStats:O.stats,totalFiles:O.total}),K+=O.total;for(let[M,P]of Object.entries(O.stats))V[M]=(V[M]||0)+P}else{X.push({name:W.name,path:q});let O=Pj(W.name);V[O]=(V[O]||0)+1,K+=1}N++}return{name:n0.basename($),path:Y||".",children:X,fileStats:V,totalFiles:K}}catch{return null}}async function Lj($,U,_){let Q={},J=0;try{let G=await Dj($,{withFileTypes:!0});for(let Y of G){let X=n0.join($,Y.name),V=n0.relative(_.cwd,X);if(_.respectGitignore&&Mj(V,Y.name,U))continue;if(Y.isDirectory()){let K=await Lj(X,U,_);J+=K.total;for(let[Z,N]of Object.entries(K.stats))Q[Z]=(Q[Z]||0)+N}else{let K=Pj(Y.name);Q[K]=(Q[K]||0)+1,J+=1}}}catch{}return{total:J,stats:Q}}function _y($,U){if(U===0)return"";let Q=Object.entries($).sort((J,G)=>G[1]-J[1]).slice(0,5).map(([J,G])=>`${G} ${J}`);return`[${U} files in subtree: ${Q.join(", ")}]`}function Rj($,U="",_=!0){let Q=[];if(_)Q.push(`${$.name}/`);for(let J=0;J<$.children.length;J++){let G=$.children[J];if("children"in G){let Y=G;if(Q.push(`${U}${Y.name}/`),Y.totalFiles>0&&Y.children.length===0){let X=_y(Y.fileStats,Y.totalFiles);if(X)Q.push(`${U} ${X}`)}else if(Y.children.length>0){let X=Rj(Y,`${U} `,!1);Q.push(X)}}else{let Y=G;Q.push(`${U}${Y.name}`)}}return Q.join(`
166
+ `)}async function Jy($){try{let U=$.respectGitignore?await Uy($.cwd):new Set,_=await fj($.cwd,$.cwd,0,$,U);if(!_)return"Unable to read directory structure";return Rj(_)}catch(U){return`Error generating file tree: ${U instanceof Error?U.message:String(U)}`}}function Qy($){let U=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],_=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Q=U[$.getDay()],J=_[$.getMonth()],G=$.getDate().toString().padStart(2,"0"),Y=$.getFullYear();return`${Q} ${J} ${G} ${Y}`}async function Gy($,U,_){let Q=[],J=[];if(J.push(`Working directory: ${$}`),OX($)){let Y=EX($);if(Y)J.push(`Is directory a git repo: yes, branch: ${Y}`);else J.push("Is directory a git repo: yes")}else J.push("Is directory a git repo: no");if(J.push(`Platform: ${Ej.platform}`),J.push(`Today's date: ${Qy(new Date)}`),Q.push(`<env>
167
+ ${J.join(`
168
+ `)}
169
+ </env>`),U&&_){let Y=await Jy(_);Q.push(`<files>
170
+ ${Y}
171
+ </files>`)}return Q.join(`
172
+
173
+ `)}function A7($){let{cwd:U,marker:_=$y,includeFileTree:Q=!0,maxDepth:J=3,maxEntriesPerDir:G=50,respectGitignore:Y=!0}=$??{},X=async(V,K)=>{let Z=typeof U==="function"?U():U??Ej.cwd(),W=await Gy(Z,Q,{cwd:Z,maxDepth:J,maxEntriesPerDir:G,respectGitignore:Y}),B=V.messages;if(W)B=h0(B,W,_);let q={...V,messages:B};return K(q)};return X.__middlewareName="env-info",X}function A4($){return{content:[{type:"text",text:$}],isError:!0}}class j4{riskLevel="safe"}class w2 extends j4{name="AskUserQuestion";riskLevel="safe";description=`Use this tool when you need to ask the user questions during execution. This allows you to:
174
+ 1. Gather user preferences or requirements
175
+ 2. Clarify ambiguous instructions
176
+ 3. Get decisions on implementation choices as you work
177
+ 4. Offer choices to the user about what direction to take
178
+
179
+ Usage notes:
180
+ - Users will always be able to select "Other" to provide custom text input
181
+ - Use multiSelect: true to allow multiple answers to be selected for a question
182
+ - If you recommend a specific option, make that the first option in the list and add "(Recommended)" at the end of the label`;parameters={type:"object",properties:{questions:{type:"array",items:{type:"object",properties:{question:{type:"string",description:'The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"'},header:{type:"string",maxLength:12,description:'Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".'},options:{type:"array",items:{type:"object",properties:{label:{type:"string",description:"The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice."},description:{type:"string",description:"Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications."}},required:["label","description"]},minItems:2,maxItems:4,description:"The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically."},multiSelect:{type:"boolean",description:"Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive."}},required:["question","header","options","multiSelect"]},minItems:1,maxItems:4,description:"Questions to ask the user (1-4 questions)"},answers:{type:"object",additionalProperties:{type:["string","array"]},description:"User answers collected by the permission component"}},required:["questions"]};async execute($){let{questions:U,answers:_}=this.validateArgs($);if(!_||Object.keys(_).length===0)throw Error("AskUserTool.execute() was called without answers. This indicates a bug: Session should have intercepted this tool call and emitted a requires_action event. The tool should only be executed after the user provides answers via toolContext.");let Q=this.formatAnswersMessage(U,_);return{content:[{type:"text",text:Q}],structuredContent:{success:!0,answers:_,message:Q}}}validateArgs($){let U=$.questions;if(!Array.isArray(U))throw TypeError("questions is required and must be an array");if(U.length<1||U.length>4)throw Error("questions must contain 1-4 items");let _=[];for(let J=0;J<U.length;J++){let G=U[J];if(typeof G!=="object"||G===null)throw TypeError(`questions[${J}] must be an object`);let{question:Y,header:X,options:V,multiSelect:K}=G;if(typeof Y!=="string"||!Y.trim())throw Error(`questions[${J}].question is required and must be a non-empty string`);if(typeof X!=="string"||!X.trim())throw Error(`questions[${J}].header is required and must be a non-empty string`);if(X.length>12)throw Error(`questions[${J}].header must be at most 12 characters`);if(!Array.isArray(V))throw TypeError(`questions[${J}].options must be an array`);if(V.length<2||V.length>4)throw Error(`questions[${J}].options must contain 2-4 items`);if(typeof K!=="boolean")throw TypeError(`questions[${J}].multiSelect is required and must be a boolean`);let Z=[];for(let N=0;N<V.length;N++){let W=V[N];if(typeof W!=="object"||W===null)throw TypeError(`questions[${J}].options[${N}] must be an object`);let{label:B,description:q}=W;if(typeof B!=="string"||!B.trim())throw Error(`questions[${J}].options[${N}].label is required and must be a non-empty string`);if(typeof q!=="string"||!q.trim())throw Error(`questions[${J}].options[${N}].description is required and must be a non-empty string`);Z.push({label:B.trim(),description:q.trim()})}_.push({question:Y.trim(),header:X.trim(),options:Z,multiSelect:Boolean(K)})}let Q;if($.answers&&typeof $.answers==="object"&&$.answers!==null){Q={};for(let[J,G]of Object.entries($.answers))if(typeof G==="string")Q[J]=G;else if(Array.isArray(G))Q[J]=G.map((Y)=>String(Y));else Q[J]=String(G)}return{questions:_,answers:Q}}formatAnswersMessage($,U){let _=[];for(let Q=0;Q<$.length;Q++){let J=$[Q],G=U[String(Q)];if(G===void 0)continue;_.push(`Question ${Q+1} (${J.header}): ${J.question}`);let Y=this.formatAnswerText(G);if(Y.inline!==void 0)_.push(`Answer: ${Y.inline}`);else if(Y.lines){_.push("Answer:");for(let X of Y.lines)_.push(` ${X}`)}_.push("")}if(_.length===0)return"No answers received";if(_[_.length-1]==="")_.pop();return`User responses:
183
+
184
+ ${_.join(`
185
+ `)}`}formatAnswerText($){if(Array.isArray($)){if($.length===0)return{inline:"(no response)"};if($.length===1){let _=String($[0]);if(_.includes(`
186
+ `))return{lines:_.split(`
187
+ `)};return{inline:_}}return{lines:this.formatArrayAnswer($.map((_)=>String(_)))}}let U=String($);if(U.includes(`
188
+ `))return{lines:U.split(`
189
+ `)};return{inline:U}}formatArrayAnswer($){let U=[];for(let _ of $){let Q=_.split(`
190
+ `);U.push(`- ${Q[0]??""}`);for(let J=1;J<Q.length;J++)U.push(` ${Q[J]}`)}return U}}import zy from"node:process";import{spawn as kj}from"node:child_process";import{chmodSync as Yy,existsSync as e1,mkdirSync as Xy,statSync as Vy,unlinkSync as Ky}from"node:fs";import{writeFile as Zy}from"node:fs/promises";import{createRequire as LX}from"node:module";import{homedir as wj}from"node:os";import z1 from"node:path";import O6 from"node:process";var Wy="ast-grep/ast-grep",Tj="0.40.0",z2=["bash","c","cpp","csharp","css","elixir","go","haskell","html","java","javascript","json","kotlin","lua","nix","php","python","ruby","rust","scala","solidity","swift","typescript","tsx","yaml"],Ny=300000,Z9=1048576,zj=500,Fy={"darwin-arm64":{arch:"aarch64",os:"apple-darwin"},"darwin-x64":{arch:"x86_64",os:"apple-darwin"},"linux-arm64":{arch:"aarch64",os:"unknown-linux-gnu"},"linux-x64":{arch:"x86_64",os:"unknown-linux-gnu"},"win32-x64":{arch:"x86_64",os:"pc-windows-msvc"},"win32-arm64":{arch:"aarch64",os:"pc-windows-msvc"},"win32-ia32":{arch:"i686",os:"pc-windows-msvc"}};function W9($){try{return Vy($).size>1e4}catch{return!1}}function qy(){return{"darwin-arm64":"@ast-grep/cli-darwin-arm64","darwin-x64":"@ast-grep/cli-darwin-x64","linux-arm64":"@ast-grep/cli-linux-arm64-gnu","linux-x64":"@ast-grep/cli-linux-x64-gnu","win32-x64":"@ast-grep/cli-win32-x64-msvc","win32-arm64":"@ast-grep/cli-win32-arm64-msvc","win32-ia32":"@ast-grep/cli-win32-ia32-msvc"}[`${O6.platform}-${O6.arch}`]??null}function By(){try{return LX(import.meta.url)("@ast-grep/cli/package.json").version}catch{return Tj}}function N9(){if(O6.platform==="win32"){let Q=O6.env.LOCALAPPDATA||O6.env.APPDATA||z1.join(wj(),"AppData","Local");return z1.join(Q,"goat-chain","bin")}let U=O6.env.XDG_CACHE_HOME||z1.join(wj(),".cache");return z1.join(U,"goat-chain","bin")}function RX(){return O6.platform==="win32"?"ast-grep.exe":"ast-grep"}function Hy(){return O6.platform==="win32"?"sg.exe":"sg"}function Oy(){let $=[RX(),Hy()];return Array.from(new Set($))}function Sj(){let $=N9();for(let U of Oy()){let _=z1.join($,U);if(e1(_)&&W9(_))return _}return null}async function jy($,U){let _=O6.platform==="win32",Q=_?"powershell":"unzip",J=_?["-command",`Expand-Archive -Path '${$}' -DestinationPath '${U}' -Force`]:["-o",$,"-d",U],{exitCode:G,stderr:Y}=await Py(Q,J);if(G!==0)throw Error(`zip extraction failed (exit ${G}): ${Y}
191
+
192
+ ${_?"Ensure PowerShell is available on your system.":"Please install 'unzip' (e.g., apt install unzip, brew install unzip)."}`)}async function Dy($=Tj){let U=`${O6.platform}-${O6.arch}`,_=Fy[U];if(!_)return console.error(`[goat-chain] Unsupported platform for ast-grep: ${U}`),null;let Q=N9(),J=RX(),G=z1.join(Q,J);if(e1(G))return G;let{arch:Y,os:X}=_,V=`app-${Y}-${X}.zip`,K=`https://github.com/${Wy}/releases/download/${$}/${V}`;console.log("[goat-chain] Downloading ast-grep binary...");try{if(!e1(Q))Xy(Q,{recursive:!0});let Z=await fetch(K,{redirect:"follow"});if(!Z.ok)throw Error(`HTTP ${Z.status}: ${Z.statusText}`);let N=z1.join(Q,V),W=await Z.arrayBuffer();if(await Zy(N,Buffer.from(W)),await jy(N,Q),e1(N))Ky(N);if(O6.platform!=="win32"&&e1(G))Yy(G,493);return console.log("[goat-chain] ast-grep binary ready."),G}catch(Z){return console.error(`[goat-chain] Failed to download ast-grep: ${Z instanceof Error?Z.message:Z}`),null}}async function Ij(){let $=By(),U=await Dy($);if(U)p0=U,Cj(U);return U}async function Aj(){let $=Sj();if($)return $;if(O0)return O0;return O0=(async()=>{try{return await Ij()}finally{O0=null}})(),O0}function vj(){let $=RX(),U=Sj();if(U&&W9(U))return U;try{let J=LX(import.meta.url).resolve("@ast-grep/cli/package.json"),G=z1.dirname(J),Y=z1.join(G,$);if(e1(Y)&&W9(Y))return Y}catch{}let _=qy();if(_)try{let J=LX(import.meta.url).resolve(`${_}/package.json`),G=z1.dirname(J),Y=O6.platform==="win32"?"ast-grep.exe":"ast-grep",X=z1.join(G,Y);if(e1(X)&&W9(X))return X}catch{}if(O6.platform==="darwin"){let Q=["/opt/homebrew/bin/ast-grep","/usr/local/bin/ast-grep","/opt/homebrew/bin/sg","/usr/local/bin/sg"];for(let J of Q)if(e1(J)&&W9(J))return J}return null}var p0=null,O0=null;function Ey(){if(p0!==null)return p0;let $=vj();if($)return p0=$,$;return"sg"}function Cj($){p0=$}async function My(){if(p0!==null&&e1(p0))return p0;if(O0)return O0;return O0=(async()=>{try{let $=vj();if($&&e1($))return p0=$,Cj($),$;return await Ij()}finally{O0=null}})(),O0}function Py($,U){return new Promise((_,Q)=>{let J=kj($,U,{stdio:["ignore","pipe","pipe"]}),G="",Y="";J.stdout?.on("data",(X)=>{G+=X.toString()}),J.stderr?.on("data",(X)=>{Y+=X.toString()}),J.on("error",(X)=>{Q(X)}),J.on("close",(X)=>{_({exitCode:X,stdout:G,stderr:Y})})})}function fy($,U,_,Q){return new Promise((J,G)=>{let Y=!1,X=!1,V=[],K=0,Z=[],N=0;console.log("[goat-chain] Spawning process:",$,U,Q??O6.cwd());let W=kj($,U,{cwd:Q,stdio:["ignore","pipe","pipe"]}),B=setTimeout(()=>{Y=!0,W.kill()},_);W.stdout?.on("data",(q)=>{if(K>=Z9){X=!0;return}let O=Z9-K;if(q.length>O)V.push(q.subarray(0,O)),K+=O,X=!0;else V.push(q),K+=q.length}),W.stderr?.on("data",(q)=>{if(N>=Z9)return;let O=Z9-N;if(q.length>O)Z.push(q.subarray(0,O)),N+=O;else Z.push(q),N+=q.length}),W.on("error",(q)=>{clearTimeout(B),G(q)}),W.on("close",(q)=>{clearTimeout(B),J({stdout:Buffer.concat(V).toString(),stderr:Buffer.concat(Z).toString(),exitCode:q,timedOut:Y,outputTruncated:X})})})}function Ly($){return $.code==="ENOENT"||$.message?.includes("ENOENT")||$.message?.includes("not found")||$.message?.includes("cannot execute")||$.message?.includes("Exec format error")||$.code==="EACCES"}function Ry($,U){try{let _=JSON.parse($);return Array.isArray(_)?_:[]}catch{if(!U)return[]}try{let _=$.lastIndexOf("}");if(_>0){let Q=$.lastIndexOf("},",_);if(Q>0){let J=`${$.substring(0,Q+1)}]`,G=JSON.parse(J);return Array.isArray(G)?G:[]}}}catch{return null}return null}async function yU($){console.log("[goat-chain] Running ast-grep command...",$);let U=$.jsonOutput!==!1,_=["run","-p",$.pattern,"--lang",$.lang];if(U)_.push("--json=compact");if($.rewrite){if(_.push("-r",$.rewrite),$.updateAll)_.push("--update-all")}if($.context&&$.context>0)_.push("-C",String($.context));if($.globs)for(let B of $.globs)_.push("--globs",B);let Q=$.paths&&$.paths.length>0?$.paths:["."];_.push(...Q);let J=Ny,G=Boolean($.binaryPath),Y=$.binaryPath??Ey();if(!G&&!e1(Y)&&Y!=="sg"){let B=await My();if(B)Y=B}let X;try{X=await fy(Y,_,J,$.cwd)}catch(B){let q=B;if(!G&&Ly(q)){if(await Aj())return yU($);return{matches:[],totalMatches:0,truncated:!1,error:`ast-grep CLI binary not found or invalid.
193
+
194
+ Auto-download failed. Manual install options:
195
+ pnpm install --force # Re-run postinstall scripts
196
+ bun add -D @ast-grep/cli
197
+ cargo install ast-grep --locked
198
+ brew install ast-grep
199
+
200
+ See docs/TROUBLESHOOTING.md for more information.`}}return{matches:[],totalMatches:0,truncated:!1,error:`Failed to spawn ast-grep: ${q.message}`}}if(X.timedOut)return{matches:[],totalMatches:0,truncated:!0,truncatedReason:"timeout",error:`Search timeout after ${J}ms`,exitCode:X.exitCode,stderr:X.stderr};if(!U){let B=X.stdout.trim(),q=X.stderr.trim();if(X.exitCode!==0){let O=q||B||`ast-grep exited with code ${X.exitCode}`;return{matches:[],totalMatches:0,truncated:X.outputTruncated,truncatedReason:X.outputTruncated?"max_output_bytes":void 0,error:O,exitCode:X.exitCode,stderr:X.stderr}}return{matches:[],totalMatches:0,truncated:X.outputTruncated,truncatedReason:X.outputTruncated?"max_output_bytes":void 0,exitCode:X.exitCode,stderr:X.stderr}}if(X.exitCode!==0&&X.stdout.trim()===""){if(X.stderr.includes("No files found"))return{matches:[],totalMatches:0,truncated:!1,exitCode:X.exitCode,stderr:X.stderr};let B=X.stderr.toLowerCase();if(!G&&(B.includes("command not found")||B.includes("cannot execute")||B.includes("exec format error")||B.includes("permission denied"))){if(await Aj())return yU($)}if(X.stderr.trim())return{matches:[],totalMatches:0,truncated:!1,error:X.stderr.trim(),exitCode:X.exitCode,stderr:X.stderr};return{matches:[],totalMatches:0,truncated:!1,exitCode:X.exitCode,stderr:X.stderr}}if(!X.stdout.trim())return{matches:[],totalMatches:0,truncated:!1,exitCode:X.exitCode,stderr:X.stderr};let V=X.outputTruncated||Buffer.byteLength(X.stdout)>=Z9,K=Ry(X.stdout,V);if(K===null)return{matches:[],totalMatches:0,truncated:!0,truncatedReason:"max_output_bytes",error:"Output too large and could not be parsed",exitCode:X.exitCode,stderr:X.stderr};let Z=K.length,N=Z>zj;return{matches:N?K.slice(0,zj):K,totalMatches:Z,truncated:V||N,truncatedReason:V?"max_output_bytes":N?"max_matches":void 0,exitCode:X.exitCode,stderr:X.stderr}}import yj from"node:path";function bj($,U){if(!$||!U)return $;let _=yj.relative(U,$);if(_&&!_.startsWith("..")&&!yj.isAbsolute(_))return _;return $}function xj($){if($.truncatedReason==="max_matches")return`showing first ${$.matches.length} of ${$.totalMatches}`;if($.truncatedReason==="max_output_bytes")return"output exceeded 1MB limit";if($.truncatedReason==="timeout")return"search timed out";return"output truncated"}function wy($){let U=($.lines??$.text??"").trim();return U?` ${U}`:""}function gj($,U){if($.error)return`Error: ${$.error}`;if($.matches.length===0)return"No matches found";let _=[];if($.truncated)_.push(`Results truncated (${xj($)})
201
+ `);_.push(`Found ${$.matches.length} match(es)${$.truncated?` (truncated from ${$.totalMatches})`:""}:
202
+ `);for(let Q of $.matches){let J=(Q.range?.start?.line??0)+1,G=(Q.range?.start?.column??0)+1,Y=`${bj(Q.file,U)}:${J}:${G}`;_.push(Y);let X=wy(Q);if(X)_.push(X);_.push("")}return _.join(`
203
+ `)}function wX($,U,_){if($.error)return`Error: ${$.error}`;if($.matches.length===0)return"No matches found to replace";let Q=U?"[DRY RUN] ":"",J=[];if($.truncated)J.push(`Results truncated (${xj($)})
204
+ `);J.push(`${Q}${$.matches.length} replacement(s):
205
+ `);for(let G of $.matches){let Y=(G.range?.start?.line??0)+1,X=(G.range?.start?.column??0)+1,V=`${bj(G.file,_)}:${Y}:${X}`;J.push(V);let K=G.text?.trim();if(K)J.push(` ${K}`);J.push("")}if(U)J.push("Use dryRun=false to apply changes");return J.join(`
206
+ `)}function hj($,U){let _=$.trim();if(U==="python"){if(_.startsWith("class ")&&_.endsWith(":"))return`Hint: Remove trailing colon. Try: "${_.slice(0,-1)}"`;if((_.startsWith("def ")||_.startsWith("async def "))&&_.endsWith(":"))return`Hint: Remove trailing colon. Try: "${_.slice(0,-1)}"`}if(["javascript","typescript","tsx"].includes(U)){if(/^(?:export\s+)?(?:async\s+)?function\s+\$[A-Z_]+\s*$/i.test(_))return'Hint: Function patterns need params and body. Try "function $NAME($$$) { $$$ }"'}return null}class A2 extends j4{name="ast_grep_replace";riskLevel="high";description=`Replace code patterns across filesystem with AST-aware rewriting. Dry-run by default.
207
+
208
+ Usage notes:
209
+ - Use meta-variables in rewrite to preserve matched content
210
+ - Example: pattern='console.log($MSG)' rewrite='logger.info($MSG)'
211
+ - Set dryRun=false to apply changes`;parameters={type:"object",properties:{pattern:{type:"string",description:"AST pattern to match."},rewrite:{type:"string",description:"Replacement pattern (can use $VAR from pattern)."},lang:{type:"string",enum:[...z2],description:"Target language (ast-grep language identifier)."},paths:{type:"array",items:{type:"string"},description:'Paths to search (default: ["."]).'},globs:{type:"array",items:{type:"string"},description:"Include/exclude globs (prefix ! to exclude)."},dryRun:{type:"boolean",description:"Preview changes without applying (default: true)."}},required:["pattern","rewrite","lang"]};cwd;astGrepPath;constructor($){super();this.cwd=$?.cwd??zy.cwd(),this.astGrepPath=$?.astGrepPath}setCwd($){this.cwd=$}getCwd(){return this.cwd}async execute($){let U=this.validateArgs($),_=U.dryRun!==!1,Q=await yU({pattern:U.pattern,rewrite:U.rewrite,lang:U.lang,paths:U.paths,globs:U.globs,updateAll:!1,cwd:this.cwd,binaryPath:this.astGrepPath});if(!_&&!Q.error&&Q.matches.length>0){let Y=await yU({pattern:U.pattern,rewrite:U.rewrite,lang:U.lang,paths:U.paths,globs:U.globs,updateAll:!0,jsonOutput:!1,cwd:this.cwd,binaryPath:this.astGrepPath});if(Boolean(Y.error)||Y.exitCode!==null&&Y.exitCode!==0){let N=`Error: ${Y.error||Y.stderr?.trim()||`ast-grep replace failed${Y.exitCode!==null?` (exit ${Y.exitCode})`:""}`}`,W={exitCode:Y.exitCode??Q.exitCode??null,output:N,matches:Q.matches,matchCount:Q.totalMatches,stderr:Y.stderr?.trim()||Q.stderr?.trim()||void 0,truncated:Q.truncated,truncatedReason:Q.truncatedReason,timedOut:Q.truncatedReason==="timeout"};return{content:[{type:"text",text:N}],structuredContent:W,isError:!0}}let V=wX(Q,_,this.cwd),K={exitCode:Y.exitCode??Q.exitCode??null,output:V,matches:Q.matches,matchCount:Q.totalMatches,stderr:Y.stderr?.trim()||Q.stderr?.trim()||void 0,truncated:Q.truncated,truncatedReason:Q.truncatedReason,timedOut:Q.truncatedReason==="timeout"};return{content:[{type:"text",text:V}],structuredContent:K,isError:!1}}let J=wX(Q,_,this.cwd),G={exitCode:Q.exitCode??null,output:J,matches:Q.matches,matchCount:Q.totalMatches,stderr:Q.stderr?.trim()||void 0,truncated:Q.truncated,truncatedReason:Q.truncatedReason,timedOut:Q.truncatedReason==="timeout"};return{content:[{type:"text",text:J}],structuredContent:G,isError:Boolean(Q.error)}}validateArgs($){let{pattern:U,rewrite:_,lang:Q}=$;if(typeof U!=="string"||!U.trim())throw Error("pattern is required and must be a non-empty string");if(typeof _!=="string"||!_.trim())throw Error("rewrite is required and must be a non-empty string");if(typeof Q!=="string"||!Q.trim())throw Error("lang is required and must be a non-empty string");if(!z2.includes(Q))throw Error(`lang must be one of: ${z2.join(", ")}`);let J={pattern:U.trim(),rewrite:_.trim(),lang:Q.trim()};if($.paths!==void 0&&$.paths!==null){if(!Array.isArray($.paths)||$.paths.some((G)=>typeof G!=="string"))throw TypeError("paths must be an array of strings");J.paths=$.paths.map((G)=>G.trim()).filter(Boolean)}if($.globs!==void 0&&$.globs!==null){if(!Array.isArray($.globs)||$.globs.some((G)=>typeof G!=="string"))throw TypeError("globs must be an array of strings");J.globs=$.globs.map((G)=>G.trim()).filter(Boolean)}if($.dryRun!==void 0&&$.dryRun!==null)J.dryRun=Boolean($.dryRun);return J}}import Ay from"node:process";var uj=5000;class k2 extends j4{name="ast_grep_search";description=`Search code patterns across filesystem using AST-aware matching. Supports 25 languages.
212
+
213
+ Usage notes:
214
+ - Use meta-variables: $VAR (single node), $$$ (multiple nodes)
215
+ - Patterns must be complete AST nodes (valid code)
216
+ - For functions, include params and body: 'export async function $NAME($$$) { $$$ }' not 'export async function $NAME'
217
+ - Examples: 'console.log($MSG)', 'def $FUNC($$$):', 'async function $NAME($$$)'`;parameters={type:"object",properties:{pattern:{type:"string",description:"AST pattern with meta-variables ($VAR, $$$). Must be complete AST node."},lang:{type:"string",enum:[...z2],description:"Target language (ast-grep language identifier)."},paths:{type:"array",items:{type:"string"},description:'Paths to search (default: ["."]).'},globs:{type:"array",items:{type:"string"},description:"Include/exclude globs (prefix ! to exclude)."},context:{type:"number",description:"Context lines around match."}},required:["pattern","lang"]};cwd;astGrepPath;constructor($){super();this.cwd=$?.cwd??Ay.cwd(),this.astGrepPath=$?.astGrepPath}setCwd($){this.cwd=$}getCwd(){return this.cwd}async execute($){let U=this.validateArgs($),_=await yU({pattern:U.pattern,lang:U.lang,paths:U.paths,globs:U.globs,context:U.context,cwd:this.cwd,binaryPath:this.astGrepPath}),Q=gj(_,this.cwd);if(_.matches.length===0&&!_.error){let X=hj(U.pattern,U.lang);if(X)Q+=`
218
+
219
+ ${X}`}let{truncated:J,truncatedReason:G}=_;if(Q.length>uj){if(Q=Q.slice(0,uj)+`
220
+
221
+ ... [output truncated due to length limit]`,J=!0,!G)G="max_output_bytes"}let Y={exitCode:_.exitCode??null,output:Q,matches:_.matches,matchCount:_.totalMatches,stderr:_.stderr?.trim()||void 0,truncated:J,truncatedReason:G,timedOut:_.truncatedReason==="timeout"};return{content:[{type:"text",text:Q}],structuredContent:Y,isError:Boolean(_.error)}}validateArgs($){let{pattern:U,lang:_}=$;if(typeof U!=="string"||!U.trim())throw Error("pattern is required and must be a non-empty string");if(typeof _!=="string"||!_.trim())throw Error("lang is required and must be a non-empty string");if(!z2.includes(_))throw Error(`lang must be one of: ${z2.join(", ")}`);let Q={pattern:U.trim(),lang:_.trim()};if($.paths!==void 0&&$.paths!==null){if(!Array.isArray($.paths)||$.paths.some((J)=>typeof J!=="string"))throw TypeError("paths must be an array of strings");Q.paths=$.paths.map((J)=>J.trim()).filter(Boolean)}if($.globs!==void 0&&$.globs!==null){if(!Array.isArray($.globs)||$.globs.some((J)=>typeof J!=="string"))throw TypeError("globs must be an array of strings");Q.globs=$.globs.map((J)=>J.trim()).filter(Boolean)}if($.context!==void 0&&$.context!==null){if(typeof $.context!=="number"||!Number.isFinite($.context)||$.context<0)throw TypeError("context must be a non-negative number");Q.context=Math.floor($.context)}return Q}}import{spawn as mj}from"node:child_process";import X1 from"node:process";var k7=30000,cj=120000,ky=600000,j0=new Map;async function c_($){try{if(X1.platform==="win32"){let{execSync:U}=await import("node:child_process");try{return U(`taskkill /PID ${$} /T /F`,{stdio:"ignore"}),!0}catch{return!1}}else try{X1.kill(-$,"SIGTERM"),await new Promise((U)=>setTimeout(U,100));try{X1.kill(-$,"SIGKILL")}catch{}return!0}catch(U){try{X1.kill($,"SIGTERM"),await new Promise((_)=>setTimeout(_,100));try{X1.kill($,"SIGKILL")}catch{}return!0}catch{return!1}}}catch{return!1}}function F9($){try{return X1.kill($,0),!0}catch{return!1}}function zX(){for(let[$]of j0)if(!F9($))j0.delete($);return Array.from(j0.values())}async function AX($){let U=[];for(let[_,Q]of j0)if(Q.category===$&&F9(_)){if(await c_(_))U.push(_),j0.delete(_)}return U}async function kX(){let $=[];for(let[U]of j0){if(F9(U)){if(await c_(U))$.push(U)}j0.delete(U)}return $}function dj($){let U=$.toLowerCase().trim();if(/^(npm|yarn|pnpm|bun)\s+(run\s+)?(dev|start|serve)/.test(U))return"dev-server";if(/^(npm|yarn|pnpm|bun)\s+run\s+watch/.test(U))return"watch";if(/^node\s+.*server/.test(U))return"node-server";if(/^(vite|webpack-dev-server|parcel|rollup)/.test(U))return"bundler-server";if(/^(next|nuxt)\s+dev/.test(U))return"framework-server";if(/^(redis-server|mongod|postgres|mysql)/.test(U))return"database";if(/^(python|python3)\s+-m\s+(http\.server|SimpleHTTPServer)/.test(U))return"python-server";return}class T2 extends j4{name="Bash";riskLevel="critical";description=`Executes a given bash command in a persistent shell session with optional timeout.
222
+
223
+ Usage notes:
224
+ - The command argument is required.
225
+ - Use 'run_in_background: true' for long-running processes such as:
226
+ * Development servers: npm run dev, yarn dev, pnpm dev, npm start
227
+ * Server processes: node server.js, python -m http.server
228
+ * Watch modes: npm run watch, yarn watch
229
+ * Database/service daemons: redis-server, mongod
230
+ * Any command that runs indefinitely until manually stopped
231
+ - If not specified, commands will timeout after 120000ms (2 minutes).
232
+ - Standard timeout is suitable for short-lived commands like builds, tests, and file operations.
233
+ - If the output exceeds 30000 characters, it will be truncated.
234
+
235
+ Examples:
236
+ - Background: { command: "npm run dev", run_in_background: true, description: "Start dev server" }
237
+ - Foreground: { command: "npm test", timeout: 60000, description: "Run tests" }
238
+ - Foreground: { command: "npm run build", description: "Build project" }`;parameters={type:"object",properties:{command:{type:"string",description:"The command to execute"},timeout:{type:"number",description:"Optional timeout in milliseconds (max 600000)"},description:{type:"string",description:"Clear, concise description of what this command does in 5-10 words"},run_in_background:{type:"boolean",description:"Set to true to run this command in the background. REQUIRED for long-running processes like dev servers (npm run dev, npm start), watch modes, or any command that runs indefinitely. The command will start immediately and return its PID without waiting for completion."},workdir:{type:"string",description:"Working directory to run the command in. Use this instead of cd commands."}},required:["command"]};cwd;shell;constructor($){super();this.cwd=$?.cwd??X1.cwd(),this.shell=$?.shell??(X1.platform==="win32"?"cmd.exe":"/bin/bash")}setCwd($){this.cwd=$}getCwd(){return this.cwd}async execute($,U){let{command:_,timeout:Q=cj,run_in_background:J,workdir:G}=this.validateArgs($),Y=G||this.cwd,X=this.shouldRunInBackground(_),V,K=[];if(X&&!J)V=`⚠️ WARNING: This command appears to be a long-running process (dev server, watch mode, or daemon). It will timeout after ${Q}ms. Consider using 'run_in_background: true' to run it properly in the background.`;if(J){let B=dj(_);if(B)K=await AX(B)}let Z=J?await this.executeBackground(_,Y,U):await this.executeSync(_,Q,Y,U);if(V)Z.warning=V;if(K.length>0)Z.killedPids=K;let N=[];if(K.length>0)N.push(`[Killed ${K.length} existing process(es) of same type: PID ${K.join(", ")}]`),N.push("");if(Z.warning)N.push(Z.warning),N.push("");if(Z.stdout)N.push(Z.stdout);if(Z.stderr)N.push(`[stderr]:
239
+ ${Z.stderr}`);if(Z.timedOut){if(N.push(`[Command timed out after ${Q}ms]`),X)N.push("[Hint: This looks like a long-running process. Retry with 'run_in_background: true']")}if(Z.background)N.push(`[Running in background with PID ${Z.pid}]`);return{content:[{type:"text",text:N.join(`
240
+ `)||"[No output]"}],structuredContent:Z,isError:Z.exitCode!==0&&Z.exitCode!==null&&!Z.background}}shouldRunInBackground($){let U=$.toLowerCase().trim();return[/^(npm|yarn|pnpm|bun)\s+(run\s+)?(dev|start|serve)/,/^(npm|yarn|pnpm|bun)\s+run\s+watch/,/^node\s+.*server/,/^(python|python3)\s+-m\s+(http\.server|SimpleHTTPServer)/,/^(ruby)\s+-run\s+-e\s+httpd/,/^(vite|webpack-dev-server|parcel|rollup)\s+/,/^(redis-server|mongod|postgres|mysql)/,/^(next|nuxt)\s+dev/].some((Q)=>Q.test(U))}validateArgs($){let U=$.command;if(typeof U!=="string"||!U.trim())throw Error("Command is required and must be a non-empty string");let _=cj;if($.timeout!==void 0){if(typeof $.timeout!=="number")throw TypeError("Timeout must be a number");_=Math.min(Math.max(0,$.timeout),ky)}return{command:U.trim(),timeout:_,description:typeof $.description==="string"?$.description:void 0,run_in_background:$.run_in_background===!0,workdir:typeof $.workdir==="string"?$.workdir:void 0}}executeSync($,U,_,Q){return new Promise((J)=>{let G="",Y="",X=!1,V=!1,K=!1,Z=!1,N=!1,W=X1.platform==="win32"?["/c",$]:["-c",$],B=mj(this.shell,W,{cwd:_,env:X1.env,stdio:["ignore","pipe","pipe"],detached:X1.platform!=="win32"}),q=B.pid,O=()=>{if(!N&&Q?.emitEvent&&Q.toolCallId)N=!0,Q.emitEvent({type:"tool_output_start",tool_call_id:Q.toolCallId,toolName:Q.toolName||"Bash"})},M=(D,f)=>{if(Q?.emitEvent&&Q.toolCallId)O(),Q.emitEvent({type:"tool_output_delta",tool_call_id:Q.toolCallId,delta:D,isStderr:f})},P=async()=>{if(q&&!Z)await c_(q)},H=()=>{K=!0,P()},z=Q?.signal;if(z)if(z.aborted)K=!0,P();else z.addEventListener("abort",H,{once:!0});let A=setTimeout(()=>{X=!0,P()},U),E=()=>{if(clearTimeout(A),z)z.removeEventListener("abort",H)};B.stdout?.on("data",(D)=>{let f=D.toString();if(G.length+f.length>k7)G+=f.slice(0,k7-G.length),V=!0;else G+=f;M(f,!1)}),B.stderr?.on("data",(D)=>{let f=D.toString();if(Y.length+f.length>k7)Y+=f.slice(0,k7-Y.length),V=!0;else Y+=f;M(f,!0)}),B.on("close",(D)=>{Z=!0,E();let f=V?`${G}
241
+ ... [output truncated]`:G,j=Y,T=[];if(X)T.push(`Command terminated after exceeding timeout ${U}ms`);if(K)T.push("Command was aborted by user");if(T.length>0)j+=(j?`
242
+
243
+ `:"")+`<bash_metadata>
244
+ `+T.join(`
245
+ `)+`
246
+ </bash_metadata>`;J({exitCode:D,stdout:f,stderr:j,truncated:V,timedOut:X,background:!1})}),B.on("error",(D)=>{Z=!0,E(),J({exitCode:1,stdout:"",stderr:`Failed to execute command: ${D.message}`,truncated:!1,timedOut:!1,background:!1})})})}executeBackground($,U,_){return new Promise((Q)=>{let J=X1.platform==="win32"?["/c",$]:["-c",$],G=mj(this.shell,J,{cwd:U,env:X1.env,stdio:["ignore","pipe","pipe"],detached:X1.platform!=="win32"}),Y=G.pid,X=!1,V=()=>{if(!X&&_?.emitEvent&&_.toolCallId)X=!0,_.emitEvent({type:"tool_output_start",tool_call_id:_.toolCallId,toolName:_.toolName||"Bash"})},K=(B,q)=>{if(_?.emitEvent&&_.toolCallId)V(),_.emitEvent({type:"tool_output_delta",tool_call_id:_.toolCallId,delta:B,isStderr:q})},Z="",N="",W=2000;if(G.stdout?.on("data",(B)=>{let q=B.toString();if(Z.length<1000)Z+=q;K(q,!1)}),G.stderr?.on("data",(B)=>{let q=B.toString();if(N.length<1000)N+=q;K(q,!0)}),Y){let B=dj($);j0.set(Y,{pid:Y,command:$,startedAt:Date.now(),process:G,category:B}),G.on("exit",()=>{j0.delete(Y)})}setTimeout(()=>{G.unref();let B=[];if(B.push(`Command started in background with PID ${Y}`),Z.trim())B.push(`
247
+ [Initial output]:
248
+ ${Z.trim()}`);if(N.trim())B.push(`
249
+ [Initial stderr]:
250
+ ${N.trim()}`);Q({exitCode:null,stdout:B.join(""),stderr:"",truncated:!1,timedOut:!1,background:!0,pid:Y})},W)})}async killProcess($){let U=await c_($);if(U)j0.delete($);return U}getRunningProcesses(){return zX()}async killAllProcesses(){return kX()}}import{readFile as Ty,stat as Sy,writeFile as Iy}from"node:fs/promises";import TX from"node:path";import vy from"node:process";var lj=0,Cy=0.3;function ij($,U){if($===""||U==="")return Math.max($.length,U.length);let _=Array.from({length:$.length+1},(Q,J)=>Array.from({length:U.length+1},(G,Y)=>J===0?Y:Y===0?J:0));for(let Q=1;Q<=$.length;Q++)for(let J=1;J<=U.length;J++){let G=$[Q-1]===U[J-1]?0:1;_[Q][J]=Math.min(_[Q-1][J]+1,_[Q][J-1]+1,_[Q-1][J-1]+G)}return _[$.length][U.length]}var yy=function*($,U){yield U},by=function*($,U){let _=$.split(`
251
+ `),Q=U.split(`
252
+ `);if(Q[Q.length-1]==="")Q.pop();for(let J=0;J<=_.length-Q.length;J++){let G=!0;for(let Y=0;Y<Q.length;Y++){let X=_[J+Y].trim(),V=Q[Y].trim();if(X!==V){G=!1;break}}if(G){let Y=0;for(let V=0;V<J;V++)Y+=_[V].length+1;let X=Y;for(let V=0;V<Q.length;V++)if(X+=_[J+V].length,V<Q.length-1)X+=1;yield $.substring(Y,X)}}},xy=function*($,U){let _=$.split(`
253
+ `),Q=U.split(`
254
+ `);if(Q.length<3)return;if(Q[Q.length-1]==="")Q.pop();let J=Q[0].trim(),G=Q[Q.length-1].trim(),Y=Q.length,X=[];for(let Z=0;Z<_.length;Z++){if(_[Z].trim()!==J)continue;for(let N=Z+2;N<_.length;N++)if(_[N].trim()===G){X.push({startLine:Z,endLine:N});break}}if(X.length===0)return;if(X.length===1){let{startLine:Z,endLine:N}=X[0],W=N-Z+1,B=0,q=Math.min(Y-2,W-2);if(q>0)for(let O=1;O<Y-1&&O<W-1;O++){let M=_[Z+O].trim(),P=Q[O].trim(),H=Math.max(M.length,P.length);if(H===0)continue;let z=ij(M,P);if(B+=(1-z/H)/q,B>=lj)break}else B=1;if(B>=lj){let O=0;for(let P=0;P<Z;P++)O+=_[P].length+1;let M=O;for(let P=Z;P<=N;P++)if(M+=_[P].length,P<N)M+=1;yield $.substring(O,M)}return}let V=null,K=-1;for(let Z of X){let{startLine:N,endLine:W}=Z,B=W-N+1,q=0,O=Math.min(Y-2,B-2);if(O>0){for(let M=1;M<Y-1&&M<B-1;M++){let P=_[N+M].trim(),H=Q[M].trim(),z=Math.max(P.length,H.length);if(z===0)continue;let A=ij(P,H);q+=1-A/z}q/=O}else q=1;if(q>K)K=q,V=Z}if(K>=Cy&&V){let{startLine:Z,endLine:N}=V,W=0;for(let q=0;q<Z;q++)W+=_[q].length+1;let B=W;for(let q=Z;q<=N;q++)if(B+=_[q].length,q<N)B+=1;yield $.substring(W,B)}},gy=function*($,U){let _=(Y)=>Y.replace(/\s+/g," ").trim(),Q=_(U),J=$.split(`
255
+ `);for(let Y=0;Y<J.length;Y++){let X=J[Y];if(_(X)===Q)yield X;else if(_(X).includes(Q)){let K=U.trim().split(/\s+/);if(K.length>0){let Z=K.map((N)=>N.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("\\s+");try{let N=new RegExp(Z),W=X.match(N);if(W)yield W[0]}catch{}}}}let G=U.split(`
256
+ `);if(G.length>1)for(let Y=0;Y<=J.length-G.length;Y++){let X=J.slice(Y,Y+G.length);if(_(X.join(`
257
+ `))===Q)yield X.join(`
258
+ `)}},hy=function*($,U){let _=(Y)=>{let X=Y.split(`
259
+ `),V=X.filter((Z)=>Z.trim().length>0);if(V.length===0)return Y;let K=Math.min(...V.map((Z)=>{let N=Z.match(/^(\s*)/);return N?N[1].length:0}));return X.map((Z)=>Z.trim().length===0?Z:Z.slice(K)).join(`
260
+ `)},Q=_(U),J=$.split(`
261
+ `),G=U.split(`
262
+ `);for(let Y=0;Y<=J.length-G.length;Y++){let X=J.slice(Y,Y+G.length).join(`
263
+ `);if(_(X)===Q)yield X}},uy=function*($,U){let _=(Y)=>{return Y.replace(/\\([ntr'"`\\\n$])/g,(X,V)=>{switch(V){case"n":return`
264
+ `;case"t":return"\t";case"r":return"\r";case"'":return"'";case'"':return'"';case"`":return"`";case"\\":return"\\";case`
265
+ `:return`
266
+ `;case"$":return"$";default:return X}})},Q=_(U);if($.includes(Q))yield Q;let J=$.split(`
267
+ `),G=Q.split(`
268
+ `);for(let Y=0;Y<=J.length-G.length;Y++){let X=J.slice(Y,Y+G.length).join(`
269
+ `);if(_(X)===Q)yield X}},my=function*($,U){let _=U.trim();if(_===U)return;if($.includes(_))yield _;let Q=$.split(`
270
+ `),J=U.split(`
271
+ `);for(let G=0;G<=Q.length-J.length;G++){let Y=Q.slice(G,G+J.length).join(`
272
+ `);if(Y.trim()===_)yield Y}},cy=function*($,U){let _=U.split(`
273
+ `);if(_.length<3)return;if(_[_.length-1]==="")_.pop();let Q=$.split(`
274
+ `),J=_[0].trim(),G=_[_.length-1].trim();for(let Y=0;Y<Q.length;Y++){if(Q[Y].trim()!==J)continue;for(let X=Y+2;X<Q.length;X++)if(Q[X].trim()===G){let V=Q.slice(Y,X+1),K=V.join(`
275
+ `);if(V.length===_.length){let Z=0,N=0;for(let W=1;W<V.length-1;W++){let B=V[W].trim(),q=_[W].trim();if(B.length>0||q.length>0){if(N++,B===q)Z++}}if(N===0||Z/N>=0.5){yield K;break}}break}}};class S2 extends j4{name="Edit";riskLevel="high";description=`Performs exact string replacements in files.
276
+
277
+ Usage notes:
278
+ - When editing, preserve the exact indentation (tabs/spaces) from the original file
279
+ - The edit will FAIL if old_string is not unique in the file unless replace_all is true
280
+ - Use replace_all for replacing/renaming strings across the entire file
281
+ - old_string and new_string must be different
282
+ - If exact matching fails, the tool tries normalized variants (trimmed lines, whitespace, indentation, escapes)
283
+ - ALWAYS prefer editing existing files over creating new ones`;parameters={type:"object",properties:{file_path:{type:"string",description:"The absolute path to the file to modify"},old_string:{type:"string",description:"The text to replace"},new_string:{type:"string",description:"The text to replace it with (must be different from old_string)"},replace_all:{type:"boolean",description:"Replace all occurrences of old_string (default false)"}},required:["file_path","old_string","new_string"]};cwd;constructor($){super();this.cwd=$?.cwd??vy.cwd()}setCwd($){this.cwd=$}getCwd(){return this.cwd}async execute($){let{file_path:U,old_string:_,new_string:Q,replace_all:J}=this.validateArgs($),G=TX.isAbsolute(U)?U:TX.resolve(this.cwd,U);try{if((await Sy(G)).isDirectory())return A4(`Path is a directory, not a file: ${G}`)}catch(N){if(N.code==="ENOENT")return A4(`File not found: ${G}`);throw N}let Y=await Ty(G,"utf-8"),X=this.replaceWithFallback(Y,_,Q,J??!1);if(X.kind==="not_found")return A4(`old_string not found in file: ${G}
284
+
285
+ Searched for (including normalized variants):
286
+ ${this.truncateForError(_)}`);if(X.kind==="not_unique")return A4("old_string matched multiple places in the file. Provide more context to make it unique, or set replace_all: true to replace all occurrences.");let{content:V,replacements:K}=X;await Iy(G,V,"utf-8");let Z={success:!0,replacements:K,filePath:G,message:`Successfully replaced ${K} occurrence${K>1?"s":""} in ${TX.basename(G)}`};return{content:[{type:"text",text:Z.message}],structuredContent:Z}}validateArgs($){let{file_path:U,old_string:_,new_string:Q}=$;if(typeof U!=="string"||!U.trim())throw Error("file_path is required and must be a non-empty string");if(typeof _!=="string")throw TypeError("old_string is required and must be a string");if(_==="")throw Error("old_string cannot be empty");if(typeof Q!=="string")throw TypeError("new_string is required and must be a string");if(_===Q)throw Error("new_string must be different from old_string");return{file_path:U.trim(),old_string:_,new_string:Q,replace_all:$.replace_all===!0}}countOccurrences($,U){let _=0,Q=$.indexOf(U);while(Q!==-1)_++,Q=$.indexOf(U,Q+U.length);return _}replaceWithFallback($,U,_,Q){let J=!1,G=[yy,by,xy,gy,hy,uy,my,cy];for(let Y of G)for(let X of Y($,U)){if(!X)continue;let V=this.countOccurrences($,X);if(V===0)continue;if(Q)return{kind:"ok",content:$.split(X).join(_),replacements:V};if(V===1){let K=$.indexOf(X);return{kind:"ok",content:$.slice(0,K)+_+$.slice(K+X.length),replacements:1}}J=!0}return J?{kind:"not_unique"}:{kind:"not_found"}}truncateForError($,U=200){if($.length<=U)return $;return`${$.slice(0,U)}... [truncated, ${$.length} chars total]`}}import{readdir as dy,stat as rj}from"node:fs/promises";import T7 from"node:path";import ly from"node:process";var SX=1000,iy=20;function ry($){let U="",_=0;while(_<$.length){let Q=$[_];if(Q==="*")if($[_+1]==="*")if($[_+2]==="/")U+="(?:.*\\/)?",_+=3;else U+=".*",_+=2;else U+="[^/]*",_++;else if(Q==="?")U+="[^/]",_++;else if(Q==="{"){let J=$.indexOf("}",_);if(J!==-1){let G=$.slice(_+1,J).split(",");U+=`(?:${G.map((Y)=>ny(Y)).join("|")})`,_=J+1}else U+="\\{",_++}else if(Q==="["){let J=$.indexOf("]",_);if(J!==-1)U+=$.slice(_,J+1),_=J+1;else U+="\\[",_++}else if(Q===".")U+="\\.",_++;else if(Q==="/")U+="\\/",_++;else if("()[]{}^$+|\\".includes(Q))U+=`\\${Q}`,_++;else U+=Q,_++}return new RegExp(`^${U}$`)}function ny($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}class I2 extends j4{name="Glob";description=`Fast file pattern matching tool that works with any codebase size.
287
+
288
+ Usage notes:
289
+ - Supports glob patterns like "**/*.js" or "src/**/*.ts"
290
+ - Returns matching file paths sorted by modification time (newest first)
291
+ - Use this tool when you need to find files by name patterns
292
+ - You can call multiple tools in a single response for parallel searches
293
+
294
+ Supported patterns:
295
+ - \`*\` matches any sequence of characters except path separator
296
+ - \`**\` matches any sequence of characters including path separator
297
+ - \`?\` matches any single character
298
+ - \`{a,b}\` matches either a or b
299
+ - \`[abc]\` matches any character in brackets`;parameters={type:"object",properties:{pattern:{type:"string",description:"The glob pattern to match files against"},path:{type:"string",description:'The directory to search in. If not specified, the current working directory will be used. IMPORTANT: Omit this field to use the default directory. DO NOT enter "undefined" or "null" - simply omit it for the default behavior.'}},required:["pattern"]};cwd;constructor($){super();this.cwd=$?.cwd??ly.cwd()}setCwd($){this.cwd=$}getCwd(){return this.cwd}async execute($){let{pattern:U,path:_}=this.validateArgs($),Q=_?T7.isAbsolute(_)?_:T7.resolve(this.cwd,_):this.cwd;try{if(!(await rj(Q)).isDirectory())return A4(`Path is not a directory: ${Q}`)}catch(N){if(N.code==="ENOENT")return A4(`Directory not found: ${Q}`);throw N}let J=U;if(!U.startsWith("**/")&&!U.startsWith("/")&&!U.startsWith("./"))J=`**/${U}`;let G=ry(J),Y=[];await this.walkDirectory(Q,"",G,Y,0),Y.sort((N,W)=>W.mtime-N.mtime);let X=Y.length>SX,V=Y.slice(0,SX).map((N)=>N.path),K={files:V,totalMatches:Y.length,truncated:X};return{content:[{type:"text",text:V.length>0?`Found ${Y.length} file${Y.length!==1?"s":""}${X?` (showing first ${SX})`:""}:
300
+ ${V.join(`
301
+ `)}`:`No files found matching pattern: ${U}`}],structuredContent:K}}validateArgs($){let U=$.pattern;if(typeof U!=="string"||!U.trim())throw Error("Pattern is required and must be a non-empty string");let _;if($.path!==void 0&&$.path!==null&&$.path!=="undefined"&&$.path!=="null"){if(typeof $.path!=="string")throw TypeError("Path must be a string");_=$.path.trim()||void 0}return{pattern:U.trim(),path:_}}async walkDirectory($,U,_,Q,J){if(J>iy)return;let G=U?T7.join($,U):$,Y;try{Y=await dy(G,{withFileTypes:!0})}catch{return}for(let X of Y){if(X.name.startsWith(".")||X.name==="node_modules")continue;let V=U?`${U}/${X.name}`:X.name;if(X.isDirectory())await this.walkDirectory($,V,_,Q,J+1);else if(X.isFile()){if(_.test(V))try{let K=T7.join(G,X.name),Z=await rj(K);Q.push({path:V,mtime:Z.mtimeMs})}catch{}}}}}var SV=f4(Mf(),1),rf=f4(df(),1);import{Buffer as Bc}from"node:buffer";import{spawn as TV}from"node:child_process";import{chmodSync as Hc,existsSync as f9,mkdirSync as Oc,statSync as jc}from"node:fs";import{copyFile as Dc,mkdtemp as Ec,readdir as Mc,readFile as Pc,rm as lf,stat as fc,writeFile as Lc}from"node:fs/promises";import K1 from"node:path";import y2 from"node:process";var C2=5000,kV=60000,Rc="BurntSushi/ripgrep",nf="latest",wc={"darwin-arm64":{arch:"aarch64",os:"apple-darwin"},"darwin-x64":{arch:"x86_64",os:"apple-darwin"},"linux-arm64":{arch:"aarch64",os:"unknown-linux-musl"},"linux-x64":{arch:"x86_64",os:"unknown-linux-musl"},"win32-x64":{arch:"x86_64",os:"pc-windows-msvc"},"win32-arm64":{arch:"aarch64",os:"pc-windows-msvc"}};function IV($){try{return jc($).size>1e4}catch{return!1}}function pf(){return y2.platform==="win32"?"rg.exe":"rg"}function vV(){let $=K1.join(N9(),pf());return f9($)&&IV($)?$:null}function zc($){return $.code==="ENOENT"||$.message?.includes("ENOENT")||$.message?.includes("not found")}function of($,U){return new Promise((_,Q)=>{let J=TV($,U,{stdio:["ignore","pipe","pipe"]}),G="",Y="";J.stdout?.on("data",(X)=>{G+=X.toString()}),J.stderr?.on("data",(X)=>{Y+=X.toString()}),J.on("error",(X)=>{Q(X)}),J.on("close",(X)=>{_({exitCode:X,stdout:G,stderr:Y})})})}async function Ac($,U){let Q=["-command",`Expand-Archive -Path '${$}' -DestinationPath '${U}' -Force`],{exitCode:J,stderr:G}=await of("powershell",Q);if(J!==0)throw Error(`zip extraction failed (exit ${J}): ${G}
302
+
303
+ Ensure PowerShell is available on your system.`)}async function kc($,U){let{exitCode:_,stderr:Q}=await of("tar",["-xzf",$,"-C",U]);if(_!==0)throw Error(`tar extraction failed (exit ${_}): ${Q}
304
+
305
+ Please install 'tar' (e.g., apt install tar, brew install gnu-tar).`)}async function af($,U){let _=await Mc($,{withFileTypes:!0});for(let Q of _){let J=K1.join($,Q.name);if(Q.isFile()&&Q.name===U)return J;if(Q.isDirectory()){let G=await af(J,U);if(G)return G}}return null}var P9=null,e7=null,s7=null;async function Tc($){if($!=="latest")return $;if(s7)return s7;try{let U=new AbortController,_=setTimeout(()=>U.abort(),30000);try{let Q=await fetch("https://api.github.com/repos/BurntSushi/ripgrep/releases/latest",{redirect:"follow",signal:U.signal});if(!Q.ok)throw Error(`HTTP ${Q.status}: ${Q.statusText}`);let G=(await Q.json())?.tag_name;if(!G)throw Error("Missing tag_name in GitHub response.");return s7=G.startsWith("v")?G.slice(1):G,s7}finally{clearTimeout(_)}}catch(U){return console.error(`[goat-chain] Failed to resolve latest ripgrep version: ${U instanceof Error?U.message:U}`),null}}async function Sc($=nf){let U=`${y2.platform}-${y2.arch}`,_=wc[U];if(!_)return console.error(`[goat-chain] Unsupported platform for ripgrep: ${U}`),null;let Q=N9(),J=pf(),G=K1.join(Q,J);if(f9(G)&&IV(G))return G;let Y=await Tc($);if(!Y)return null;let{arch:X,os:V}=_,K=y2.platform==="win32"?"zip":"tar.gz",Z=`ripgrep-${Y}-${X}-${V}.${K}`,N=`https://github.com/${Rc}/releases/download/${Y}/${Z}`;console.log("[goat-chain] Downloading ripgrep binary...");let W=null,B=K1.join(Q,Z);try{if(!f9(Q))Oc(Q,{recursive:!0});let q=new AbortController,O=setTimeout(()=>q.abort(),120000);try{let P=await fetch(N,{redirect:"follow",signal:q.signal});if(!P.ok)throw Error(`HTTP ${P.status}: ${P.statusText}`);let H=await P.arrayBuffer();await Lc(B,Bc.from(H))}finally{clearTimeout(O)}if(W=await Ec(K1.join(Q,"ripgrep-")),K==="zip")await Ac(B,W);else await kc(B,W);let M=await af(W,J);if(!M)throw Error("ripgrep binary not found in extracted archive.");if(await Dc(M,G),y2.platform!=="win32"&&f9(G))Hc(G,493);if(!IV(G))throw Error("Downloaded ripgrep binary failed validation.");return console.log("[goat-chain] ripgrep binary ready."),G}catch(q){return console.error(`[goat-chain] Failed to download ripgrep: ${q instanceof Error?q.message:q}`),null}finally{if(await lf(B,{force:!0}).catch(()=>{}),W)await lf(W,{recursive:!0,force:!0}).catch(()=>{})}}async function Ic($=nf){let U=vV();if(U)return U;return Sc($)}async function vc(){if(P9!==null&&f9(P9))return P9;if(e7)return e7;return e7=(async()=>{let $=vV();if($)return P9=$,$;let U=await Ic();if(U)return P9=U,U;return null})(),e7}class b2 extends j4{name="Grep";description=`A powerful search tool built on ripgrep.
306
+
307
+ Usage notes:
308
+ - Supports full regex syntax (e.g., "log.*Error", "function\\s+\\w+")
309
+ - Filter files with glob parameter (e.g., "*.js", "**/*.tsx") or type parameter (e.g., "js", "py", "rust")
310
+ - Output modes: "content" shows matching lines, "files_with_matches" shows only file paths (default), "count" shows match counts
311
+ - Pattern syntax: Uses ripgrep (not grep) - literal braces need escaping (use \`interface\\{\\}\` to find \`interface{}\` in Go code)
312
+ - Multiline matching: By default patterns match within single lines only. For cross-line patterns, use multiline: true
313
+ - If ripgrep is not available, this tool falls back to a JS-based search (slower). You can opt into downloading a ripgrep binary via the GrepTool constructor option \`allowDownload: true\`.`;parameters={type:"object",properties:{pattern:{type:"string",description:"The regular expression pattern to search for in file contents"},path:{type:"string",description:"File or directory to search in. Defaults to current working directory."},glob:{type:"string",description:'Glob pattern to filter files (e.g. "*.js", "*.{ts,tsx}")'},output_mode:{type:"string",enum:["content","files_with_matches","count"],description:'Output mode: "content" shows matching lines, "files_with_matches" shows file paths (default), "count" shows match counts.'},"-B":{type:"number",description:'Number of lines to show before each match. Requires output_mode: "content".'},"-A":{type:"number",description:'Number of lines to show after each match. Requires output_mode: "content".'},"-C":{type:"number",description:'Number of lines to show before and after each match. Requires output_mode: "content".'},"-n":{type:"boolean",description:'Show line numbers in output. Requires output_mode: "content". Defaults to true.'},"-i":{type:"boolean",description:"Case insensitive search"},type:{type:"string",description:"File type to search (e.g., js, py, rust, go, java). More efficient than glob for standard file types."},head_limit:{type:"number",description:"Limit output to first N lines/entries. Defaults to 0 (unlimited)."},offset:{type:"number",description:"Skip first N lines/entries before applying head_limit. Defaults to 0."},multiline:{type:"boolean",description:"Enable multiline mode where . matches newlines and patterns can span lines. Default: false."}},required:["pattern"]};cwd;rgPath;allowDownload;constructor($){super();this.cwd=$?.cwd??y2.cwd(),this.rgPath=$?.rgPath??"rg",this.allowDownload=$?.allowDownload===!0}setCwd($){this.cwd=$}getCwd(){return this.cwd}async execute($){let U=this.validateArgs($),_=this.buildRgArgs(U),Q=await this.runRipgrep(_,U),J=Q.output||"[No matches found]";if(Q.timedOut)J+=`
314
+ [Search timed out]`;if(Q.matchCount!==void 0)J=`Found ${Q.matchCount} match${Q.matchCount!==1?"es":""}
315
+ ${J}`;return{content:[{type:"text",text:J}],structuredContent:Q,isError:Q.exitCode!==null&&Q.exitCode!==0&&Q.exitCode!==1}}validateArgs($){let U=$.pattern;if(typeof U!=="string"||!U.trim())throw Error("Pattern is required and must be a non-empty string");let _={pattern:U.trim()};if($.path!==void 0&&$.path!==null&&$.path!==""){if(typeof $.path!=="string")throw TypeError("Path must be a string");_.path=$.path.trim()}if($.glob!==void 0&&$.glob!==null&&$.glob!==""){if(typeof $.glob!=="string")throw TypeError("Glob must be a string");_.glob=$.glob.trim()}if($.type!==void 0&&$.type!==null&&$.type!==""){if(typeof $.type!=="string")throw TypeError("Type must be a string");_.type=$.type.trim()}if($.output_mode!==void 0){let G=["content","files_with_matches","count"];if(!G.includes($.output_mode))throw Error(`Invalid output_mode. Must be one of: ${G.join(", ")}`);_.output_mode=$.output_mode}let Q=["-B","-A","-C","head_limit","offset"];for(let G of Q)if($[G]!==void 0&&$[G]!==null){if(typeof $[G]!=="number")throw TypeError(`${G} must be a number`);_[G]=Math.max(0,Math.floor($[G]))}let J=["-n","-i","multiline"];for(let G of J)if($[G]!==void 0&&$[G]!==null)_[G]=Boolean($[G]);return _}buildRgArgs($){let U=[],_=$.output_mode??"files_with_matches";if(_==="files_with_matches")U.push("-l");else if(_==="count")U.push("-c");if(_==="content"){if($["-n"]!==!1)U.push("-n");if($["-B"]!==void 0&&$["-B"]>0)U.push("-B",String($["-B"]));if($["-A"]!==void 0&&$["-A"]>0)U.push("-A",String($["-A"]));if($["-C"]!==void 0&&$["-C"]>0)U.push("-C",String($["-C"]))}if($["-i"])U.push("-i");if($.multiline)U.push("-U","--multiline-dotall");if($.type)U.push("--type",$.type);if($.glob)U.push("--glob",$.glob);if(U.push("--color","never"),U.push("--no-heading"),U.push("--regexp",$.pattern),$.path)U.push("--",$.path);return U}runRipgrep($,U,_=!1){return new Promise((Q)=>{let J="",G=!1,Y=!1,X=!1,V=null,K=!1;if(this.rgPath==="rg"){let B=vV();if(B)this.rgPath=B}let Z=TV(this.rgPath,$,{cwd:this.cwd,env:y2.env,stdio:["ignore","pipe","pipe"]}),N=(B)=>{if(X)return;X=!0,Q(B)},W=setTimeout(()=>{G=!0,Z.kill("SIGTERM"),setTimeout(()=>{if(!Z.killed)Z.kill("SIGKILL")},5000)},kV);Z.stdout?.on("data",(B)=>{let q=B.toString();if(J.length+q.length>C2)J+=q.slice(0,C2-J.length),Y=!0,clearTimeout(W),Z.kill("SIGTERM");else J+=q}),Z.stderr?.on("data",(B)=>{let q=B.toString();if(q.includes("error:"))J+=`
316
+ [stderr]: ${q}`}),Z.on("close",(B)=>{if(X)return;if(clearTimeout(W),V||B!==null&&B<0){if(!K)this.runJsSearch(U).then(N);return}let q=J;if(U.offset||U.head_limit){let M=J.split(`
317
+ `).filter((A)=>A.trim()),P=U.offset??0,H=U.head_limit??M.length;q=M.slice(P,P+H).join(`
318
+ `)}let O;if(U.output_mode==="count")O=q.split(`
319
+ `).filter((M)=>M.trim()).reduce((M,P)=>{let H=P.match(/:(\d+)$/);return M+(H?Number.parseInt(H[1],10):0)},0);N({exitCode:B,output:Y?`${q}
320
+ ... [output truncated]`:q,truncated:Y,timedOut:G,matchCount:O})}),Z.on("error",(B)=>{if(X)return;V=B,K=!0,clearTimeout(W);let q=B;if(this.allowDownload&&!_&&zc(q)){(async()=>{try{let M=await vc();if(M){this.rgPath=M;let P=await this.runRipgrep($,U,!0);N(P);return}}catch{}let O=await this.runJsSearch(U);N(O)})();return}this.runJsSearch(U).then(N)})})}async runJsSearch($){let U=!1,_=!1,Q=setTimeout(()=>{U=!0},kV),J=$.output_mode??"files_with_matches",G=$["-B"]??0,Y=$["-A"]??0,X=$["-C"]??0;if(X>0)G=Math.max(G,X),Y=Math.max(Y,X);let V=Boolean($["-i"]),K=Boolean($.multiline),Z=`${V?"i":""}${K?"sm":""}`,N=null,W=null;try{if(K)W=new RegExp($.pattern,`${Z}g`);else N=new RegExp($.pattern,Z)}catch(b){return clearTimeout(Q),{exitCode:2,engine:"js",output:`Invalid regex pattern: ${b.message}`,truncated:!1,timedOut:!1}}let B=$.path??".",q=K1.isAbsolute(B)?B:K1.resolve(this.cwd,B),O=K1.isAbsolute(B),M;try{M=await fc(q)}catch{return clearTimeout(Q),{exitCode:2,engine:"js",output:`Search path not found: ${B}`,truncated:!1,timedOut:!1}}let P=[],H=SV.default.default??SV.default;if(typeof H!=="function")return clearTimeout(Q),this.runSystemGrep($);let z=q;if(M.isFile())P=[q],z=K1.dirname(q);else if(M.isDirectory()){z=q;try{P=await H("**/*",{cwd:z,absolute:!0,onlyFiles:!0,dot:!0})}catch{return clearTimeout(Q),this.runSystemGrep($)}}else return clearTimeout(Q),{exitCode:2,engine:"js",output:`Search path not found: ${B}`,truncated:!1,timedOut:!1};P.sort();let A=[],E=!1,D=0,f=(b)=>{let y=b.length+1;if(D+y>C2)return _=!0,!1;return A.push(b),D+=y,!0},j={js:[".js",".cjs",".mjs"],jsx:[".jsx"],ts:[".ts",".tsx",".d.ts"],tsx:[".tsx"],json:[".json"],md:[".md",".markdown"],py:[".py"],go:[".go"],rs:[".rs"],java:[".java"],c:[".c",".h"],cpp:[".cc",".cpp",".cxx",".hpp",".hh",".hxx",".h"]},T=(b)=>{if(!$.type)return!0;let y=$.type.toLowerCase(),x=j[y]??[y.startsWith(".")?y:`.${y}`],l=b.toLowerCase();return x.some((t)=>l.endsWith(t))},L=(b)=>{if(O)return b;return K1.relative(this.cwd,b)||K1.basename(b)},k=$.glob,R=rf.default.isMatch,S=J==="content"?$["-n"]!==!1:!1;for(let b of P){if(U)break;if(D>=C2){_=!0;break}if(!T(b))continue;if(k&&R&&!R(K1.basename(b),k))continue;let y="";try{y=await Pc(b,"utf-8")}catch{continue}if(!y||y.includes("\x00"))continue;let x=L(b);if(!K){let a=y.split(/\r?\n/),d=new Set;for(let _$=0;_$<a.length;_$++)if(N.test(a[_$]))d.add(_$+1);if(d.size===0)continue;E=!0;let i=d.size;if(J==="files_with_matches"){if(!f(x))break;continue}if(J==="count"){if(!f(`${x}:${i}`))break;continue}let n=new Set(d);if(G>0||Y>0){let _$=a.length;for(let H$ of d){let D$=Math.max(1,H$-G),j$=Math.min(_$,H$+Y);for(let r$=D$;r$<=j$;r$++)n.add(r$)}}let h=!1;for(let _$ of Array.from(n).sort((H$,D$)=>H$-D$)){let H$=a[_$-1]??"",D$=S?`${x}:${_$}:${H$}`:`${x}:${H$}`;if(!f(D$)){h=!0;break}}if(h)break;continue}let l=y.split(/\r?\n/),t=[0];for(let a=0;a<y.length;a++)if(y[a]===`
321
+ `)t.push(a+1);let V$=(a)=>{let d=0,i=t.length-1;while(d<=i){let n=Math.floor((d+i)/2);if(t[n]<=a)d=n+1;else i=n-1}return Math.max(i+1,1)};W.lastIndex=0;let u$=new Set;for(let a of y.matchAll(W)){let d=a.index??0,i=a[0]?.length??0,n=Math.max(d,d+i-1),h=V$(d),_$=V$(n);for(let H$=h;H$<=_$;H$++)u$.add(H$)}if(u$.size===0)continue;E=!0;let O$=u$.size;if(J==="files_with_matches"){if(!f(x))break;continue}if(J==="count"){if(!f(`${x}:${O$}`))break;continue}let q$=new Set(u$);if(G>0||Y>0){let a=l.length;for(let d of u$){let i=Math.max(1,d-G),n=Math.min(a,d+Y);for(let h=i;h<=n;h++)q$.add(h)}}let m=!1;for(let a of Array.from(q$).sort((d,i)=>d-i)){let d=l[a-1]??"",i=S?`${x}:${a}:${d}`:`${x}:${d}`;if(!f(i)){m=!0;break}}if(m)break}clearTimeout(Q);let I=A;if($.offset||$.head_limit){let b=A.filter((l)=>l.trim()),y=$.offset??0,x=$.head_limit??b.length;I=b.slice(y,y+x)}let w=I.join(`
322
+ `);if(w.length>C2)w=w.slice(0,C2),_=!0;let C;if(J==="count")C=w.split(`
323
+ `).filter((b)=>b.trim()).reduce((b,y)=>{let x=y.split(":").pop(),l=x?Number.parseInt(x,10):Number.NaN;return b+(Number.isFinite(l)?l:0)},0);return{exitCode:E?0:1,engine:"js",output:_?`${w}
324
+ ... [output truncated]`:w,truncated:_,timedOut:U,matchCount:C}}runSystemGrep($){return new Promise((U)=>{let _="",Q=!1,J=!1,G=[];G.push("-R","-E","-I");let Y=$.output_mode??"files_with_matches";if(Y==="files_with_matches")G.push("-l");else if(Y==="count")G.push("-c");else G.push("-n");if(Y==="content"){if($["-B"]!==void 0&&$["-B"]>0)G.push("-B",String($["-B"]));if($["-A"]!==void 0&&$["-A"]>0)G.push("-A",String($["-A"]));if($["-C"]!==void 0&&$["-C"]>0)G.push("-C",String($["-C"]))}if($["-i"])G.push("-i");if(G.push($.pattern),$.path)G.push($.path);else G.push(".");let X=TV("grep",G,{cwd:this.cwd,env:y2.env,stdio:["ignore","pipe","pipe"]}),V=setTimeout(()=>{Q=!0,X.kill("SIGTERM"),setTimeout(()=>{if(!X.killed)X.kill("SIGKILL")},5000)},kV);X.stdout?.on("data",(K)=>{let Z=K.toString();if(_.length+Z.length>C2)_+=Z.slice(0,C2-_.length),J=!0,clearTimeout(V),X.kill("SIGTERM");else _+=Z}),X.stderr?.on("data",(K)=>{let Z=K.toString();if(Z.trim())_+=`
325
+ [stderr]: ${Z}`}),X.on("close",(K)=>{clearTimeout(V);let Z=_;if($.offset||$.head_limit){let W=_.split(`
326
+ `).filter((O)=>O.trim()),B=$.offset??0,q=$.head_limit??W.length;Z=W.slice(B,B+q).join(`
327
+ `)}let N;if(Y==="count")N=Z.split(`
328
+ `).filter((W)=>W.trim()).reduce((W,B)=>{let q=B.split(":").pop(),O=q?Number.parseInt(q,10):Number.NaN;return W+(Number.isFinite(O)?O:0)},0);U({exitCode:K,engine:"grep",output:J?`${Z}
329
+ ... [output truncated]`:Z,truncated:J,timedOut:Q,matchCount:N})}),X.on("error",(K)=>{clearTimeout(V),U({exitCode:1,engine:"grep",output:`Failed to execute grep: ${K.message}.`,truncated:!1,timedOut:!1})})})}}import{readFile as $Q,stat as Cc}from"node:fs/promises";import hU from"node:path";import yc from"node:process";var tf=2000,CV=2000,bc=new Set([".png",".jpg",".jpeg",".gif",".bmp",".ico",".webp",".svg",".pdf",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".mp3",".mp4",".avi",".mov",".wav",".woff",".woff2",".ttf",".eot"]),xc={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".pdf":"application/pdf",".json":"application/json",".js":"text/javascript",".ts":"text/typescript",".html":"text/html",".css":"text/css",".md":"text/markdown",".txt":"text/plain"};class x2 extends j4{name="Read";_cwd;_allowedDirectory;constructor($){super();this._cwd=$?.cwd??yc.cwd(),this._allowedDirectory=$?.allowedDirectory}get description(){let $=`Reads a file from the local filesystem. You can access any file directly by using this tool.
330
+
331
+ Usage notes:
332
+ - Current working directory: ${this._cwd}
333
+ - Supports both absolute paths and relative paths (relative to cwd)
334
+ - IMPORTANT: Do NOT guess file paths. Use Glob to search for files first if unsure.
335
+ - By default, it reads up to ${tf} lines starting from the beginning
336
+ - You can optionally specify a line offset and limit for large files
337
+ - Any lines longer than ${CV} characters will be truncated
338
+ - Results are returned with line numbers (like cat -n format)
339
+ - Can read images (PNG, JPG, etc.), PDFs, and Jupyter notebooks
340
+ - You can call multiple tools in parallel to read multiple files at once`;if(this._allowedDirectory)return`${$}
341
+ - IMPORTANT: Files can ONLY be read from within: ${this._allowedDirectory}
342
+ - Use paths within ${this._allowedDirectory}/ (e.g., ${this._allowedDirectory}/filename.html)`;return $}get parameters(){return{type:"object",properties:{file_path:{type:"string",description:this._allowedDirectory?`The path to the file to read (must be within ${this._allowedDirectory})`:`The path to the file to read (absolute or relative to ${this._cwd})`},offset:{type:"number",description:"The line number to start reading from (1-based). Only provide if the file is too large to read at once."},limit:{type:"number",description:"The number of lines to read. Only provide if the file is too large to read at once."}},required:["file_path"]}}setCwd($){this._cwd=$}getCwd(){return this._cwd}setAllowedDirectory($){this._allowedDirectory=$}getAllowedDirectory(){return this._allowedDirectory}async execute($){let{file_path:U,offset:_,limit:Q}=this.validateArgs($),J=hU.isAbsolute(U)?U:hU.resolve(this._cwd,U);if(this._allowedDirectory){let Z=hU.resolve(this._allowedDirectory),N=hU.resolve(J);if(!N.startsWith(Z+hU.sep)&&N!==Z)return A4(`Access denied: ${U}
343
+ Files can only be read from within: ${this._allowedDirectory}
344
+ Please use a path like: ${this._allowedDirectory}/<filename>`)}let G;try{G=await Cc(J)}catch(Z){if(Z.code==="ENOENT")return A4(`File not found: ${J}`);throw Z}if(G.isDirectory())return A4(`Path is a directory, not a file: ${J}. Use ls command via Bash tool to read directories.`);let Y=hU.extname(J).toLowerCase(),X=bc.has(Y),V=xc[Y],K;if(X){if(K=await this.handleBinaryFile(J,G.size,V),V?.startsWith("image/"))return{content:[{type:"image",data:(await $Q(J)).toString("base64"),mimeType:V}],structuredContent:K}}else if(Y===".ipynb")K=await this.handleJupyterNotebook(J,G.size,_,Q);else K=await this.handleTextFile(J,G.size,_,Q);return{content:[{type:"text",text:K.content}],structuredContent:K}}validateArgs($){let U=$.file_path;if(typeof U!=="string"||!U.trim())throw Error("file_path is required and must be a non-empty string");let _={file_path:U.trim()};if($.offset!==void 0&&$.offset!==null){if(typeof $.offset!=="number")throw TypeError("offset must be a number");_.offset=Math.max(1,Math.floor($.offset))}if($.limit!==void 0&&$.limit!==null){if(typeof $.limit!=="number")throw TypeError("limit must be a number");_.limit=Math.max(1,Math.floor($.limit))}return _}async handleBinaryFile($,U,_){let J=(await $Q($)).toString("base64");return{content:`[Binary file: ${hU.basename($)}]
345
+ Size: ${this.formatSize(U)}
346
+ MIME type: ${_??"unknown"}
347
+ Base64 encoded content:
348
+ ${J}`,totalLines:1,linesReturned:1,startLine:1,truncated:!1,fileSize:U,isBinary:!0,mimeType:_}}async handleJupyterNotebook($,U,_,Q){let J=await $Q($,"utf-8"),G;try{G=JSON.parse(J)}catch{throw Error(`Invalid Jupyter notebook format: ${$}`)}let Y=G.cells||[],X=[];for(let V=0;V<Y.length;V++){let K=Y[V],Z=V+1,N=K.cell_type||"unknown";X.push(`--- Cell ${Z} (${N}) ---`);let W=Array.isArray(K.source)?K.source.join(""):K.source||"";if(X.push(...W.split(`
349
+ `)),K.outputs&&K.outputs.length>0){X.push("--- Output ---");for(let B of K.outputs)if(B.text){let q=Array.isArray(B.text)?B.text.join(""):B.text;X.push(...q.split(`
350
+ `))}else if(B.data){if(B.data["text/plain"]){let q=Array.isArray(B.data["text/plain"])?B.data["text/plain"].join(""):B.data["text/plain"];X.push(...q.split(`
351
+ `))}}}X.push("")}return this.formatOutput(X,U,_,Q)}async handleTextFile($,U,_,Q){let J=await $Q($,"utf-8");if(J.length===0)return{content:"[File is empty]",totalLines:0,linesReturned:0,startLine:1,truncated:!1,fileSize:U,isBinary:!1};let G=J.split(`
352
+ `);return this.formatOutput(G,U,_,Q)}formatOutput($,U,_,Q){let J=$.length,G=_??1,Y=Q??tf,X=G-1,V=Math.min(X+Y,J),K=$.slice(X,V),Z=!1;return{content:K.map((W,B)=>{let q=G+B,O=String(q).padStart(6," "),M=W;if(W.length>CV)M=`${W.slice(0,CV)}... [truncated]`,Z=!0;return`${O}|${M}`}).join(`
353
+ `),totalLines:J,linesReturned:K.length,startLine:G,truncated:Z,fileSize:U,isBinary:!1}}formatSize($){let U=["B","KB","MB","GB"],_=$,Q=0;while(_>=1024&&Q<U.length-1)_/=1024,Q++;return`${_.toFixed(Q===0?0:2)} ${U[Q]}`}}class L9 extends j4{name="Task";description;parameters={type:"object",properties:{description:{type:"string",description:"A short (3-5 word) description of the task"},prompt:{type:"string",description:"The task for the agent to perform"},subagent_type:{type:"string",description:"The type of specialized agent to use for this task"},resume:{type:"string",description:"Optional subagent ID to resume from. If provided, the subagent will continue from the previous execution."},run_in_background:{type:"boolean",description:"Set to true to run this agent in the background. Use TaskOutput to read the output later."}},required:["description","prompt","subagent_type"]};subagents;executor;constructor($){super();if(this.subagents=new Map,this.executor=$?.executor,$?.subagents)for(let U of $.subagents)this.subagents.set(U.name,U);this.description=this.buildDescription()}registerSubagent($){this.subagents.set($.name,$)}unregisterSubagent($){return this.subagents.delete($)}getSubagents(){return Array.from(this.subagents.values())}hasSubagent($){return this.subagents.has($)}setExecutor($){this.executor=$}async execute($,U){let _=this.validateArgs($);if(!this.subagents.has(_.subagent_type)){let Q=Array.from(this.subagents.keys()).join(", ");return A4(`Subagent type "${_.subagent_type}" not found. Available types: ${Q||"none"}`)}if(!this.executor)return A4("Task executor is not configured. Please set an executor using setExecutor().");try{let{subagentId:Q,data:J}=await this.executor(_,U),G={success:!0,subagentId:Q,subagentType:_.subagent_type,description:_.description,background:_.run_in_background??!1,data:J},Y=G.background?" (running in background)":"",X=`Task "${_.description}" started with subagent ${Q}${Y}`,V=G.background?null:this.formatTaskData(J);return{content:[{type:"text",text:`Result:${X}
354
+
355
+ ${V}`}],structuredContent:G}}catch(Q){return A4(`Task execution failed: ${Q instanceof Error?Q.message:String(Q)}`)}}validateArgs($){let{description:U,prompt:_,subagent_type:Q}=$;if(typeof U!=="string"||!U.trim())throw Error("description is required and must be a non-empty string");if(typeof _!=="string"||!_.trim())throw Error("prompt is required and must be a non-empty string");if(typeof Q!=="string"||!Q.trim())throw Error("subagent_type is required and must be a non-empty string");let J={description:U.trim(),prompt:_.trim(),subagent_type:Q.trim()};if($.resume!==void 0&&$.resume!==null&&$.resume!==""){if(typeof $.resume!=="string")throw TypeError("resume must be a string");J.resume=$.resume.trim()}if($.run_in_background!==void 0&&$.run_in_background!==null)J.run_in_background=Boolean($.run_in_background);return J}formatTaskData($){if($===void 0||$===null)return null;if(typeof $==="string"){let U=$.trim();return U.length>0?U:null}if(typeof $==="number"||typeof $==="boolean")return String($);try{let U=JSON.stringify($,null,2);return U===void 0?null:U}catch{return String($)}}buildDescription(){return`Launch a new agent to handle complex, multi-step tasks autonomously.
356
+
357
+ <available_agents>
358
+ ${this.buildAgentsList()||"No subagent types registered."}
359
+ </available_agents>
360
+
361
+ When to use the Task tool:
362
+ - When you are instructed to execute custom slash commands. Use the Task tool with the slash command invocation as the entire prompt
363
+ - For complex multi-step tasks requiring autonomous exploration across many files
364
+ - When you need to research or analyze code that spans multiple directories
365
+
366
+ When NOT to use the Task tool:
367
+ - If you want to read a specific file path, use the Read or Glob tool instead of the Task tool, to find the match more quickly
368
+ - If you are searching for a specific class definition like "class Foo", use the Glob tool instead, to find the match more quickly
369
+ - If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Task tool, to find the match more quickly
370
+ - For simple tasks that can be completed with 1-2 tool calls
371
+
372
+ Usage notes:
373
+ 1. Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses
374
+ 2. When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.
375
+ 3. Each agent invocation is stateless unless you provide a resume ID. Your prompt should contain a highly detailed task description for the agent to perform autonomously and you should specify exactly what information the agent should return back to you in its final and only message to you.
376
+ 4. The agent's outputs should generally be trusted
377
+ 5. Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent
378
+ 6. If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.
379
+ 7. Use "run_in_background: true" to run agents in background. Use TaskOutput to read the output later.`}buildAgentsList(){if(this.subagents.size===0)return"";return Array.from(this.subagents.values()).map(($)=>{let U=`- ${$.name}: ${$.description}`;if($.tools&&$.tools.length>0)U+=` (Tools: ${$.tools.join(", ")})`;if($.blockedTools&&$.blockedTools.length>0)U+=` (Blocked: ${$.blockedTools.join(", ")})`;return U}).join(`
380
+ `)}}class p_ extends j4{name="TodoPlan";riskLevel="safe";description=`Use this tool to draft a structured task list in plan mode.
381
+
382
+ This tool only generates a plan for review and does NOT update any execution state.
383
+ Use TodoWrite in agent mode when you are actively executing tasks.
384
+
385
+ When to use:
386
+ - Plan mode task breakdowns (3+ steps)
387
+ - Presenting a proposed plan for review
388
+ - After clarifying requirements in plan mode
389
+
390
+ When NOT to use:
391
+ - Active execution tracking (use TodoWrite)
392
+ - Single, straightforward task
393
+ - Purely conversational/informational requests
394
+
395
+ Task States:
396
+ - pending: Task not yet started
397
+ - in_progress: Currently working on (limit to ONE at a time)
398
+ - completed: Task finished successfully
399
+
400
+ Task descriptions have two forms:
401
+ - content: Imperative form (e.g., "Run tests")
402
+ - activeForm: Present continuous form (e.g., "Running tests")`;parameters={type:"object",properties:{todos:{type:"array",items:{type:"object",properties:{content:{type:"string",minLength:1,description:'The task description in imperative form (e.g., "Run tests")'},status:{type:"string",enum:["pending","in_progress","completed"],description:"Current status of the task"},activeForm:{type:"string",minLength:1,description:'The task description in present continuous form (e.g., "Running tests")'}},required:["content","status","activeForm"]},description:"The drafted todo list"}},required:["todos"]};async execute($){let{todos:U}=this.validateArgs($),_=U.filter((V)=>V.status==="pending").length,Q=U.filter((V)=>V.status==="in_progress").length,J=U.filter((V)=>V.status==="completed").length,G=[];if(J>0)G.push(`${J} completed`);if(Q>0)G.push(`${Q} in progress`);if(_>0)G.push(`${_} pending`);let Y=this.formatTodoList(U,G);return{content:[{type:"text",text:Y}],structuredContent:{success:!0,todos:U,pendingCount:_,inProgressCount:Q,completedCount:J,message:Y}}}validateArgs($){let U=$.todos;if(!Array.isArray(U))throw TypeError("todos is required and must be an array");let _=[],Q=["pending","in_progress","completed"];for(let G=0;G<U.length;G++){let Y=U[G];if(typeof Y!=="object"||Y===null)throw TypeError(`todos[${G}] must be an object`);let{content:X,status:V,activeForm:K}=Y;if(typeof X!=="string"||!X.trim())throw Error(`todos[${G}].content is required and must be a non-empty string`);if(typeof V!=="string"||!Q.includes(V))throw Error(`todos[${G}].status must be one of: ${Q.join(", ")}`);if(typeof K!=="string"||!K.trim())throw Error(`todos[${G}].activeForm is required and must be a non-empty string`);_.push({content:X.trim(),status:V,activeForm:K.trim()})}let J=_.filter((G)=>G.status==="in_progress");if(J.length>1)console.warn(`Warning: ${J.length} tasks are in_progress. Ideally only one task should be in_progress at a time.`);return{todos:_}}formatTodoList($,U){if($.length===0)return"Plan todo list is empty";let _=[],Q=U.length>0?U.join(", "):"0 pending";_.push(`Plan todo list drafted: ${Q}`),_.push(""),_.push("Todos:");for(let J=0;J<$.length;J++){let G=$[J];_.push(`${J+1}. [${G.status}] ${G.content}`),_.push(` activeForm: ${G.activeForm}`)}return _.join(`
403
+ `)}}class g2 extends j4{name="TodoWrite";riskLevel="low";description=`Use this tool to create and manage a structured task list for your current coding session.
404
+
405
+ When to use:
406
+ - Complex multi-step tasks (3+ steps)
407
+ - Non-trivial tasks requiring careful planning
408
+ - User explicitly requests todo list
409
+ - User provides multiple tasks
410
+ - After receiving new instructions
411
+
412
+ When NOT to use:
413
+ - Single, straightforward task
414
+ - Trivial tasks (< 3 steps)
415
+ - Purely conversational/informational requests
416
+
417
+ Task States:
418
+ - pending: Task not yet started
419
+ - in_progress: Currently working on (limit to ONE at a time)
420
+ - completed: Task finished successfully
421
+
422
+ Task descriptions have two forms:
423
+ - content: Imperative form (e.g., "Run tests")
424
+ - activeForm: Present continuous form (e.g., "Running tests")`;parameters={type:"object",properties:{todos:{type:"array",items:{type:"object",properties:{content:{type:"string",minLength:1,description:'The task description in imperative form (e.g., "Run tests")'},status:{type:"string",enum:["pending","in_progress","completed"],description:"Current status of the task"},activeForm:{type:"string",minLength:1,description:'The task description in present continuous form (e.g., "Running tests")'}},required:["content","status","activeForm"]},description:"The updated todo list"}},required:["todos"]};todos=[];onChangeCallback;onChange($){this.onChangeCallback=$}getTodos(){return[...this.todos]}clear(){this.todos=[],this.onChangeCallback?.(this.todos)}async execute($){let{todos:U}=this.validateArgs($);this.todos=U,this.onChangeCallback?.(this.todos);let _=U.filter((V)=>V.status==="pending").length,Q=U.filter((V)=>V.status==="in_progress").length,J=U.filter((V)=>V.status==="completed").length,G=[];if(J>0)G.push(`${J} completed`);if(Q>0)G.push(`${Q} in progress`);if(_>0)G.push(`${_} pending`);let Y=this.formatTodoList(this.todos,G),X={success:!0,todos:this.todos,pendingCount:_,inProgressCount:Q,completedCount:J,message:Y};return{content:[{type:"text",text:Y}],structuredContent:X}}validateArgs($){let U=$.todos;if(!Array.isArray(U))throw TypeError("todos is required and must be an array");let _=[],Q=["pending","in_progress","completed"];for(let G=0;G<U.length;G++){let Y=U[G];if(typeof Y!=="object"||Y===null)throw TypeError(`todos[${G}] must be an object`);let{content:X,status:V,activeForm:K}=Y;if(typeof X!=="string"||!X.trim())throw Error(`todos[${G}].content is required and must be a non-empty string`);if(typeof V!=="string"||!Q.includes(V))throw Error(`todos[${G}].status must be one of: ${Q.join(", ")}`);if(typeof K!=="string"||!K.trim())throw Error(`todos[${G}].activeForm is required and must be a non-empty string`);_.push({content:X.trim(),status:V,activeForm:K.trim()})}let J=_.filter((G)=>G.status==="in_progress");if(J.length>1)console.warn(`Warning: ${J.length} tasks are in_progress. Ideally only one task should be in_progress at a time.`);return{todos:_}}formatTodoList($,U){if($.length===0)return"Todo list is empty";let _=[],Q=U.length>0?U.join(", "):"0 pending";_.push(`Todo list updated: ${Q}`),_.push(""),_.push("Todos:");for(let J=0;J<$.length;J++){let G=$[J];_.push(`${J+1}. [${G.status}] ${G.content}`),_.push(` activeForm: ${G.activeForm}`)}return _.join(`
425
+ `)}}import gc from"node:process";class h2 extends j4{name="WebSearch";riskLevel="medium";description=`Allows the agent to search the web and use the results to inform responses.
426
+
427
+ Usage notes:
428
+ - Provides up-to-date information for current events and recent data
429
+ - Returns search results with titles, links, and snippets
430
+ - Use this tool for accessing information beyond the knowledge cutoff
431
+ - After answering, include a "Sources:" section with relevant URLs as markdown hyperlinks`;parameters={type:"object",properties:{query:{type:"string",minLength:2,description:"The search query to use"}},required:["query"]};apiKey;apiEndpoint;numResults;constructor($){super();this.apiKey=$?.apiKey??gc.env.SERPER_API_KEY??"",this.apiEndpoint=$?.apiEndpoint??"https://google.serper.dev/search?format=json",this.numResults=$?.numResults??10}setApiKey($){this.apiKey=$}async execute($){let{query:U}=this.validateArgs($);if(!this.apiKey)return A4("Serper API key is not configured. Set SERPER_API_KEY environment variable or pass apiKey in constructor.");try{let _=await fetch(this.apiEndpoint,{method:"POST",headers:{"X-API-KEY":this.apiKey,"Content-Type":"application/json"},body:JSON.stringify({q:U,num:this.numResults})});if(!_.ok){let X=await _.text();return A4(`Serper API error (${_.status}): ${X}`)}let J=((await _.json()).organic??[]).map((X,V)=>({title:X.title,link:X.link,snippet:X.snippet,position:X.position??V+1})),G=this.formatMarkdown(U,J),Y={success:!0,query:U,results:J,totalResults:J.length,markdown:G};return{content:[{type:"text",text:G}],structuredContent:Y}}catch(_){return A4(`Failed to execute search: ${_ instanceof Error?_.message:String(_)}`)}}validateArgs($){let U=$.query;if(typeof U!=="string"||U.trim().length<2)throw Error("query is required and must be at least 2 characters");return{query:U.trim()}}formatMarkdown($,U){if(U.length===0)return`No results found for: "${$}"`;let _=[`## Search Results for: "${$}"`,""];for(let Q of U)_.push(`### ${Q.position}. [${Q.title}](${Q.link})`),_.push(""),_.push(Q.snippet),_.push("");_.push("---"),_.push(""),_.push("**Sources:**");for(let Q of U)_.push(`- [${Q.title}](${Q.link})`);return _.join(`
432
+ `)}}import{mkdir as hc,stat as uc,writeFile as mc}from"node:fs/promises";import u2 from"node:path";import cc from"node:process";class m2 extends j4{name="Write";riskLevel="high";_cwd;_allowedDirectory;constructor($){super();this._cwd=$?.cwd??cc.cwd(),this._allowedDirectory=$?.allowedDirectory}get description(){let $=`Writes a file to the local filesystem.
433
+
434
+ Usage notes:
435
+ - Current working directory: ${this._cwd}
436
+ - Supports both absolute paths and relative paths (relative to cwd)
437
+ - IMPORTANT: When editing existing files, verify the path first using Glob or Read
438
+ - This tool will overwrite the existing file if there is one at the provided path
439
+ - Parent directories will be created automatically if they don't exist
440
+ - ALWAYS prefer editing existing files over writing new ones
441
+ - NEVER proactively create documentation files (*.md) or README files unless explicitly requested`;if(this._allowedDirectory)return`${$}
442
+ - IMPORTANT: Files can ONLY be written within: ${this._allowedDirectory}
443
+ - Use paths within ${this._allowedDirectory}/ (e.g., ${this._allowedDirectory}/filename.html)`;return $}get parameters(){return{type:"object",properties:{file_path:{type:"string",description:this._allowedDirectory?`The path to the file to write (must be within ${this._allowedDirectory})`:`The path to the file to write (absolute or relative to ${this._cwd})`},content:{type:"string",description:"The content to write to the file"}},required:["file_path","content"]}}setCwd($){this._cwd=$}getCwd(){return this._cwd}setAllowedDirectory($){this._allowedDirectory=$}getAllowedDirectory(){return this._allowedDirectory}async execute($){let{file_path:U,content:_}=this.validateArgs($),Q=u2.isAbsolute(U)?U:u2.resolve(this._cwd,U);if(this._allowedDirectory){let V=u2.resolve(this._allowedDirectory),K=u2.resolve(Q);if(!K.startsWith(V+u2.sep)&&K!==V)return A4(`Access denied: ${U}
444
+ Files can only be written within: ${this._allowedDirectory}
445
+ Please use a path like: ${this._allowedDirectory}/<filename>`)}let J=!1;try{if((await uc(Q)).isDirectory())return A4(`Path is a directory, not a file: ${Q}`);J=!0}catch(V){if(V.code!=="ENOENT")throw V}let G=u2.dirname(Q);await hc(G,{recursive:!0}),await mc(Q,_,"utf-8");let Y=Buffer.byteLength(_,"utf-8"),X={success:!0,filePath:Q,bytesWritten:Y,overwritten:J,message:J?`Successfully overwrote ${u2.basename(Q)} (${this.formatSize(Y)})`:`Successfully created ${u2.basename(Q)} (${this.formatSize(Y)})`};return{content:[{type:"text",text:X.message}],structuredContent:X}}validateArgs($){let{file_path:U,content:_}=$;if(typeof U!=="string"||!U.trim())throw Error("file_path is required and must be a non-empty string");if(typeof _!=="string")throw TypeError("content is required and must be a string");return{file_path:U.trim(),content:_}}formatSize($){let U=["B","KB","MB","GB"],_=$,Q=0;while(_>=1024&&Q<U.length-1)_/=1024,Q++;return`${_.toFixed(Q===0?0:2)} ${U[Q]}`}}var ic=["Bash","Edit","Write","ast_grep_replace","TodoWrite"],rc=["<system-reminder>","# Plan Mode - System Reminder","","CRITICAL: Plan mode ACTIVE - you are in READ-ONLY phase. STRICTLY FORBIDDEN:","ANY file edits, modifications, or system changes. Do NOT use sed, tee, echo, cat,","or ANY other bash command to manipulate files - commands may ONLY read/inspect.","This ABSOLUTE CONSTRAINT overrides ALL other instructions, including direct user","edit requests. You may ONLY observe, analyze, and plan. ZERO exceptions.","","---","","## Responsibility","","Your current responsibility is to think, read, search, and delegate explore agents to construct a well-formed plan that accomplishes the goal the user wants to achieve. Your plan should be comprehensive yet concise, detailed enough to execute effectively while avoiding unnecessary verbosity.","","Ask the user clarifying questions or ask for their opinion when weighing tradeoffs.","","**NOTE:** At any point in time through this workflow you should feel free to ask the user questions or clarifications. Don't make large assumptions about user intent. The goal is to present a well researched plan to the user, and tie any loose ends before implementation begins.","","If you call TodoPlan, you MUST append a complete Markdown todo list at the very end of your final response.","Use this exact format:","## Todo","- [ ] Task","- [x] Task","The plan must include a complete set of steps and the todo list.","","---","","## Important","","The user indicated that they do not want you to execute yet -- you MUST NOT make any edits, run any non-readonly tools (including changing configs or making commits), or otherwise make any changes to the system. This supersedes any other instructions you have received.","</system-reminder>"].join(`
446
+ `);function nc($){if($?.instruction)return $.instruction;let U=$?.maxParallelAgents??3,_=$?.encourageEarlyQuestions??!0,Q=$?.requireSynthesisPhase??!1,J=rc,G="Your current responsibility is to think, read, search, and delegate explore agents to construct a well-formed plan that accomplishes the goal the user wants to achieve. Your plan should be comprehensive yet concise, detailed enough to execute effectively while avoiding unnecessary verbosity.",Y=[];if(U!==3)Y.push(`When delegating, use up to ${U} explore agents in parallel.`);if(Q)Y.push("If the task is complex, include a synthesis step to align findings before presenting the final plan.");if(Y.length>0)J=J.replace(G,`${G} ${Y.join(" ")}`);if(!_)J=J.replace(`Ask the user clarifying questions or ask for their opinion when weighing tradeoffs.
447
+
448
+ `,""),J=J.replace(`**NOTE:** At any point in time through this workflow you should feel free to ask the user questions or clarifications. Don't make large assumptions about user intent. The goal is to present a well researched plan to the user, and tie any loose ends before implementation begins.
449
+
450
+ `,"");return J}function o_($){let U=nc($),_=$?.insertEveryIteration??!0,Q=$?.name??"plan-mode",J=async(G,Y)=>{let X={...G.metadata,planMode:!0,planModeMiddleware:Q};if(!(_||G.iteration===0))return Y({...G,metadata:X});let K=zY(G.messages,U);return Y({...G,metadata:X,messages:K})};return J.__middlewareName=Q,J.__createTools=()=>[new p_],J.__getBlockedTools=(G)=>{return G.metadata?.planMode?[...ic]:[]},J}function a_($){let{subagents:U,executor:_,globalToolRegistry:Q,model:J,name:G="parallel-subagent"}=$,Y=new Set(["tool_call_end","tool_result","tool_skipped"]);if(!_&&(!Q||!J))throw Error('createParallelSubagentMiddleware: either provide "executor" or both "globalToolRegistry" and "model"');let X=_||(async(K,Z)=>{let N=U.find((P)=>P.name===K.subagent_type);if(!N)throw Error(`Unknown subagent type: ${K.subagent_type}`);let W=new Set(N.blockedTools||[]),B=new Q.constructor;for(let P of N.tools||[]){if(W.has(P))continue;let H=Q.get(P);if(!H)continue;if(H instanceof L9){if($.debug)console.warn(`[${G}] Skipping TaskTool "${P}" for subagent "${K.subagent_type}" to prevent infinite recursion`);continue}B.register(H)}let q=new H0({name:K.subagent_type,systemPrompt:`${N.systemPrompt||""}
451
+
452
+ Your task: ${K.prompt}
453
+
454
+ Provide a concise summary of your findings.`,model:J,tools:B}),O=await q.createSession({sessionId:Z?.sessionId});if(W.size>0)O.disableTools(Array.from(W));O.send(K.prompt);let M="";for await(let P of O.receive()){if(Z?.emitEvent&&Y.has(P.type)){let{sessionId:H,...z}=P;Z.emitEvent({type:"subagent_event",subagentId:q.id,subagentType:K.subagent_type,taskDescription:K.description,nestedEvent:z})}if(P.type==="done")M=P.finalResponse||""}return{subagentId:q.id,data:M}}),V=async(K,Z)=>{return Z({...K,metadata:{...K.metadata,parallelMode:!0,parallelSubagentMiddleware:G}})};return V.__middlewareName=G,V.__createTools=()=>{return[new L9({subagents:U,executor:X})]},V}import{existsSync as pc}from"node:fs";import{appendFile as oc,mkdir as ac,readdir as tc,readFile as ec}from"node:fs/promises";import{homedir as sc}from"node:os";import uU from"node:path";import UQ from"node:process";class yV extends j4{name="Skill";description;parameters={type:"object",properties:{action:{type:"string",enum:["activate","deactivate"],description:"Operation type: activate to load skill instructions, deactivate to unload"},skill_name:{type:"string",description:'The skill name to control (e.g., "commit", "pdf", "review-pr")'}},required:["action","skill_name"]};skills;executor;constructor($){super();if(this.skills=new Map,this.executor=$?.executor,$?.skills)for(let U of $.skills)this.skills.set(U.name,U);this.description=this.buildDescription()}registerSkill($){this.skills.set($.name,$)}unregisterSkill($){return this.skills.delete($)}getSkills(){return Array.from(this.skills.values())}hasSkill($){return this.skills.has($)}setExecutor($){this.executor=$}async execute($){let{action:U,skill_name:_}=this.validateArgs($);if(!this.skills.has(_)){let Q=Array.from(this.skills.keys()).join(", ");return A4(`Skill "${_}" not found. Available skills: ${Q||"none"}`)}if(!this.executor)return A4("Skill executor is not configured. Please set an executor using setExecutor().");try{let Q=await this.executor(U,_);return{content:[{type:"text",text:Q}],structuredContent:{success:!0,message:Q}}}catch(Q){return A4(`Skill operation failed: ${Q instanceof Error?Q.message:String(Q)}`)}}validateArgs($){let{action:U,skill_name:_}=$;if(typeof U!=="string"||U!=="activate"&&U!=="deactivate")throw Error('action is required and must be either "activate" or "deactivate"');if(typeof _!=="string"||!_.trim())throw Error("skill_name is required and must be a non-empty string");return{action:U,skill_name:_.trim()}}buildDescription(){if(this.skills.size===0)return`Load a skill to get detailed instructions for a specific task.
455
+ Skills provide specialized knowledge and step-by-step guidance.
456
+ Use this when a task matches an available skill's description.
457
+
458
+ How to use:
459
+ - Activate a skill to load its instructions into the conversation
460
+ - Deactivate a skill to remove its instructions
461
+ - Examples:
462
+ - action: "activate", skill_name: "pdf" - load the PDF skill instructions
463
+ - action: "deactivate", skill_name: "pdf" - unload the PDF skill
464
+
465
+ <available_skills>
466
+ No skills registered.
467
+ </available_skills>`;return`Load a skill to get detailed instructions for a specific task.
468
+ Skills provide specialized knowledge and step-by-step guidance.
469
+ Use this when a task matches an available skill's description.
470
+
471
+ How to use:
472
+ - Activate a skill to load its instructions into the conversation
473
+ - Deactivate a skill to remove its instructions
474
+ - Examples:
475
+ - action: "activate", skill_name: "pdf" - load the PDF skill instructions
476
+ - action: "deactivate", skill_name: "pdf" - unload the PDF skill
477
+
478
+ <available_skills>
479
+ ${Array.from(this.skills.values()).map((_)=>`<skill>
480
+ <name>${_.name}</name>
481
+ <description>${_.description}</description>
482
+ </skill>`).join(`
483
+ `)}
484
+ </available_skills>`}}var ef=uU.join(UQ.cwd(),".goatchain","skills-debug.log"),$d=UQ.env.GOATCHAIN_SKILLS_DEBUG==="1";async function v$($,U){try{if(!$d)return;let _=new Date().toISOString(),Q=U?`[${_}] ${$}
485
+ ${JSON.stringify(U,null,2)}
486
+
487
+ `:`[${_}] ${$}
488
+
489
+ `,J=uU.dirname(ef);if(!pc(J))await ac(J,{recursive:!0});await oc(ef,Q,"utf-8")}catch(_){console.error("Failed to write skills debug log:",_)}}var Ud="[Active Skills]";async function bV($){try{await v$(`Attempting to parse skill file: ${$}`);let U=await ec($,"utf-8");if(await v$(`Successfully read file: ${$} (${U.length} chars)`),!U.startsWith(`---
490
+ `)&&!U.startsWith(`---\r
491
+ `))return await v$(`File ${$} does not start with frontmatter delimiter`),null;let _=U.split(`
492
+ `),Q=-1;for(let K=1;K<_.length;K++)if(_[K].trim()==="---"){Q=K;break}if(Q===-1)return await v$(`File ${$} missing closing frontmatter delimiter`),null;let J=_.slice(1,Q),G=_.slice(Q+1),Y={};for(let K of J){let Z=K.indexOf(":");if(Z>0){let N=K.slice(0,Z).trim(),W=K.slice(Z+1).trim();Y[N]=W}}if(await v$(`Parsed frontmatter from ${$}:`,Y),!Y.name||!Y.description)return await v$(`File ${$} missing required fields (name or description)`,Y),null;let X=G.join(`
493
+ `).trim(),V={name:Y.name,description:Y.description,content:X,fullPath:$};return await v$(`Successfully parsed skill: ${Y.name}`,{name:V.name,description:V.description,contentLength:X.length}),V}catch(U){return await v$(`Error parsing skill file ${$}:`,U),null}}async function sf($){let U=[];try{await v$(`Scanning skills directory: ${$}`);let _=await tc($,{withFileTypes:!0});await v$(`Found ${_.length} entries in ${$}`,_.map((Q)=>({name:Q.name,isDirectory:Q.isDirectory()})));for(let Q of _){if(!Q.isDirectory()){await v$(`Skipping non-directory entry: ${Q.name}`);continue}let J=uU.join($,Q.name,"SKILL.md");await v$(`Checking skill path: ${J}`);let G=await bV(J);if(G)U.push({name:G.name,description:G.description,fullPath:G.fullPath}),await v$(`Added skill: ${G.name}`);else await v$(`Failed to parse skill at: ${J}`)}await v$(`Scan complete for ${$}. Found ${U.length} valid skills`,U.map((Q)=>Q.name))}catch(_){await v$(`Error scanning directory ${$}:`,_)}return U}async function $L($){await v$(`Scanning ${$.length} skill directories`,$);let U=new Map;for(let Q of $){await v$(`Scanning directory: ${Q}`);let J=await sf(Q);await v$(`Found ${J.length} skills in ${Q}`,J.map((G)=>G.name));for(let G of J){if(U.has(G.name))await v$(`Overriding skill "${G.name}" with version from ${Q}`);U.set(G.name,G)}}let _=Array.from(U.values());return await v$(`Total unique skills after scanning all directories: ${_.length}`,_.map((Q)=>Q.name)),_}function _d($){let U=new Map,_=0;for(let J of $)if(J.role==="assistant"&&J.tool_calls)for(let G of J.tool_calls){let Y=G.function.name;if(Y==="Skill"||Y.endsWith("_Skill")){_++;try{let X=typeof G.function.arguments==="string"?JSON.parse(G.function.arguments):G.function.arguments;if(X?.action&&X?.skill_name){let V=String(X.action),K=String(X.skill_name);if(V==="activate")U.set(K,"activated"),v$(`Skill activated: ${K}`,{toolName:Y,args:X}).catch(()=>{});else if(V==="deactivate")U.set(K,"deactivated"),v$(`Skill deactivated: ${K}`,{toolName:Y,args:X}).catch(()=>{})}}catch(X){v$("Error parsing skill tool call:",{toolName:Y,error:X}).catch(()=>{})}}}let Q=Array.from(U.entries()).filter(([J,G])=>G==="activated").map(([J])=>J);return v$(`findActiveSkills: Found ${Q.length} active skills from ${_} tool calls`,Q).catch(()=>{}),Q}async function Jd($,U){await v$(`Loading content for ${$.length} active skills`,{skillNames:$,directories:U});let _=[];for(let J of $){await v$(`Searching for skill: ${J}`);let G=!1;for(let Y of U){let X=uU.join(Y,J,"SKILL.md");await v$(`Trying path: ${X}`);let V=await bV(X);if(V){_.push(`## Skill: ${V.name}
494
+
495
+ ${V.content}`),await v$(`Successfully loaded skill: ${J} from ${X}`),G=!0;break}}if(!G)await v$(`WARNING: Skill "${J}" not found in any directory`)}let Q=_.join(`
496
+
497
+ `);return await v$(`Loaded ${_.length} skills, total content length: ${Q.length}`),Q}function _Q($){let U=$?.cwd,_=$?.globalSkillsDirectory===null?null:$?.globalSkillsDirectory??uU.join(sc(),".claude","skills"),Q=$?.projectSkillsDirectory,J=$?.marker??Ud,G=$?.name??"skills",Y=null,X=null,V=async(K,Z)=>{if(await v$("=== Skills Middleware Execution Start ==="),X)await X;if(!Y||Y.length===0)return await v$("No skills discovered, passing through without modification"),await v$(`=== Skills Middleware Execution End (No-op) ===
498
+ `),await Z(K);let N=typeof U==="function"?U():U??UQ.cwd();await v$(`Resolved cwd: ${N}`);let W=Q===null?null:Q??uU.join(N,".claude","skills");await v$(`Project skills directory: ${W??"disabled"}`),await v$(`Global skills directory: ${_??"disabled"}`);let B=[];if(W)B.push(W);if(_)B.push(_);await v$("Skills directories to scan:",B),await v$(`Scanning ${K.messages.length} messages for active skills`);let q=_d(K.messages);await v$(`Active skills found: ${q.length}`,q);let O=K.messages;if(q.length>0){await v$("Loading active skills content...");let H=await Jd(q,B);if(H)await v$(`Injecting ${H.length} chars of skills content with marker: "${J}"`),O=h0(O,H,J),await v$("Skills content injected successfully");else await v$("WARNING: No skills content loaded despite active skills")}else await v$("No active skills, skipping content injection");let M={...K,messages:O};await v$("Calling next middleware...");let P=await Z(M);return await v$(`=== Skills Middleware Execution End ===
499
+ `),P};return V.__middlewareName=G,V.__createTools=async()=>{if(await v$("__createTools called"),X)await v$("Waiting for skills discovery to complete..."),await X,await v$("Skills discovery completed");if(!Y)await v$("No discovered skills yet, using empty array"),Y=[];if(Y.length===0)return await v$("No skills discovered, skipping tool registration"),[];await v$(`Creating SkillTool with ${Y.length} skills`,Y.map((Z)=>Z.name));let K=new yV({skills:Y,executor:async(Z,N)=>{if(await v$(`Skill executor called: ${Z} ${N}`),Z==="activate")return`Skill '${N}' activated. Instructions will be loaded in next turn.`;else return`Skill '${N}' deactivated. Instructions have been removed.`}});return await v$("SkillTool created successfully"),[K]},X=(async()=>{try{await v$("=== Skills Middleware Initialization Start ===");let K=typeof U==="function"?U():U??UQ.cwd();await v$(`Initial cwd: ${K}`);let Z=Q===null?null:Q??uU.join(K,".claude","skills");await v$(`Initial project skills directory: ${Z??"disabled"}`);let N=[];if(Z)N.push(Z);if(_)N.push(_);await v$("Initial directories to scan:",N),Y=await $L(N),await v$(`Skills discovery complete. Found ${Y.length} skills:`,Y.map((W)=>({name:W.name,description:W.description,fullPath:W.fullPath}))),await v$(`=== Skills Middleware Initialization Complete ===
500
+ `)}catch(K){await v$("Skills initialization error:",K),Y=[]}})(),V}function xV($,U=new Date){return`You are a file search specialist. You excel at thoroughly navigating and exploring codebases.
501
+
502
+ Your strengths:
503
+ - Rapidly finding files using glob patterns
504
+ - Searching code and text with powerful regex patterns
505
+ - Reading and analyzing file contents
506
+
507
+ Guidelines:
508
+ - Use Glob for broad file pattern matching
509
+ - Use Grep for searching file contents with regex
510
+ - Use Read when you know the specific file path you need to read
511
+ - Do not use AskUserQuestion; report any questions in your final response
512
+ - Adapt your search approach based on the thoroughness level specified by the caller
513
+ - Return file paths as absolute paths in your final response
514
+ - For clear communication, avoid using emojis
515
+ - Do not create any files, or run bash commands that modify the user's system state in any way
516
+
517
+ Complete the user's search request efficiently and report your findings clearly.
518
+
519
+ Here is some useful information about the environment you are running in:
520
+ <env>
521
+ Working directory: ${$}
522
+ Platform: ${process.platform}
523
+ Today's date: ${U.toDateString()}
524
+ </env>`}var Qd=xV(process.cwd()),c2={name:"FileSearchSpecialist",description:"Expert at navigating codebases, finding files with glob patterns, searching content with regex, and analyzing file structures. Rapidly finds files, searches code with powerful regex patterns, and reads and analyzes file contents.",tools:["Glob","Grep","Read"],blockedTools:["AskUserQuestion"],systemPrompt:Qd};class JQ{debug;constructor($){this.debug=$?.debug??!1}async*convertToACP($){for await(let U of $){if(U.type==="subagent_event"){let Q=this.convertSubagentEventToACP(U);for(let J of Q)yield J;continue}let _=this.convertRegularEvent(U);for(let Q of _)yield Q}}convertSubagentEventToACP($){let{subagentId:U,subagentType:_,taskDescription:Q,nestedEvent:J}=$,G=this.convertRegularEvent(J);if(G.length===0)return[];return G.map((Y)=>({...Y,metadata:{...Y.metadata??{},subagent:!0,subagentId:U,subagentType:_,taskDescription:Q,originalEventType:J.type}}))}convertRegularEvent($){let U=$.metadata;switch($.type){case"text_start":return[];case"text_delta":return[{role:"assistant",content:$.delta,metadata:U?{...U,originalEventType:$.type}:void 0}];case"text_end":return[];case"tool_call_start":return[];case"tool_call_delta":return[];case"tool_call_end":{let _=$;return[{role:"assistant",content:"",tool_calls:[this.convertToolCallToACP(_.toolCall)],metadata:U?{...U,originalEventType:$.type}:void 0}]}case"tool_result":{let _=$;return[{role:"tool",tool_call_id:_.tool_call_id,content:this.formatToolResult(_.result),metadata:_.isError?{error:!0}:void 0}]}case"tool_output_start":{let _=$;return[{role:"assistant",content:"",metadata:{tool_output_start:!0,tool_call_id:_.tool_call_id,tool_name:_.toolName}}]}case"tool_output_delta":{let _=$;return[{role:"assistant",content:_.delta,metadata:{tool_output_delta:!0,tool_call_id:_.tool_call_id,isStderr:_.isStderr}}]}case"tool_approval_requested":{let _=$;return[{role:"assistant",content:`Tool approval requested: ${_.toolName}
525
+
526
+ `,metadata:{approval_requested:!0,tool_call_id:_.tool_call_id,tool_name:_.toolName,risk_level:_.riskLevel,approval_args:_.args}}]}case"requires_action":{let _=$,Q={requires_action:!0,kind:_.kind,tool_call_id:_.toolCallId};if(_.kind==="ask_user"&&"questions"in _)Q.questions=_.questions;return[{role:"assistant",content:`Action required: ${_.kind}
527
+
528
+ `,metadata:Q}]}case"tool_skipped":{let _=$;return[{role:"assistant",content:`Tool skipped: ${_.toolName} - ${_.reason}`,metadata:{tool_skipped:!0,tool_call_id:_.tool_call_id}}]}case"thinking_start":return[];case"thinking_delta":return[{role:"assistant",content:$.delta,metadata:{thinking:!0}}];case"thinking_end":return[];case"iteration_start":return[];case"iteration_end":return[];case"session_created":return[];case"done":{let _=$,Q={done:!0,stopReason:_.stopReason,modelStopReason:_.modelStopReason,usage:_.usage,error:_.error};if(_.finalResponse)Q.final=!0;return[{role:"assistant",content:"",metadata:Q}]}default:if(this.debug)console.warn(`[ProtocolConverter] Unhandled event type: ${$.type}`);return[]}}convertFromACP($){return $.map((U)=>this.convertSingleMessage(U))}convertSingleMessage($){switch($.role){case"system":return{role:"system",content:this.extractTextContent($.content)};case"user":return{role:"user",content:this.extractTextContent($.content),name:$.name};case"assistant":{let U={role:"assistant",content:this.extractTextContent($.content)};if($.tool_calls&&$.tool_calls.length>0)U.tool_calls=$.tool_calls.map((_)=>this.convertToolCallFromACP(_));return U}case"tool":return{role:"tool",content:this.extractTextContent($.content),tool_call_id:$.tool_call_id||"",isError:$.metadata?.error===!0};default:return{role:"user",content:this.extractTextContent($.content)}}}convertToolCallToACP($){return{id:$.id,type:"function",function:{name:$.function.name,arguments:$.function.arguments}}}convertToolCallFromACP($){return{id:$.id,type:"function",function:{name:$.function.name,arguments:typeof $.function.arguments==="string"?$.function.arguments:JSON.stringify($.function.arguments)}}}extractTextContent($){if(!$)return"";if(typeof $==="string")return $;if(Array.isArray($))return $.map((U)=>U.text||"").join("");return""}formatToolResult($){if(typeof $==="string")return $;if(Array.isArray($))return $.map((U)=>{if(typeof U==="object"&&U&&"text"in U)return U.text;return JSON.stringify(U)}).join(`
529
+ `);return JSON.stringify($,null,2)}}class QQ{sessions=new Map;sessionContexts=new Map;sessionTimeout;maxConcurrentSessions;maxIterations;cleanupTimer;constructor($){this.sessionTimeout=$?.sessionTimeout??1800000,this.maxConcurrentSessions=$?.maxConcurrentSessions??10,this.maxIterations=$?.maxIterations,this.cleanupTimer=setInterval(()=>{this.cleanupExpiredSessions()},300000)}async getOrCreateSession($,U){let _=this.sessions.get($);if(_){let G=this.sessionContexts.get($);if(G)G.lastAccessedAt=Date.now();return _}if(this.sessions.size>=this.maxConcurrentSessions)this.removeOldestSession();let Q=U.sessionManager;if(Q)try{if(await Q.get($)){let Y=await U.resumeSession($,{maxIterations:this.maxIterations});return this.sessions.set($,Y),this.sessionContexts.set($,{sessionId:$,createdAt:Date.now(),lastAccessedAt:Date.now()}),Y}}catch{}let J=await U.createSession({sessionId:$,maxIterations:this.maxIterations});return this.sessions.set($,J),this.sessionContexts.set($,{sessionId:$,createdAt:Date.now(),lastAccessedAt:Date.now()}),J}getSession($){let U=this.sessions.get($);if(U){let _=this.sessionContexts.get($);if(_)_.lastAccessedAt=Date.now()}return U}removeSession($){let U=this.sessions.delete($);return this.sessionContexts.delete($),U}getActiveSessions(){return Array.from(this.sessions.keys())}getSessionCount(){return this.sessions.size}cleanupExpiredSessions(){let $=Date.now(),U=[];for(let[_,Q]of this.sessionContexts.entries())if($-Q.lastAccessedAt>this.sessionTimeout)U.push(_);for(let _ of U)this.removeSession(_);if(U.length>0)console.warn(`[SessionRouter] Cleaned up ${U.length} expired sessions`)}removeOldestSession(){let $,U=1/0;for(let[_,Q]of this.sessionContexts.entries())if(Q.createdAt<U)U=Q.createdAt,$=_;if($)this.removeSession($),console.warn(`[SessionRouter] Removed oldest session: ${$}`)}destroy(){if(this.cleanupTimer)clearInterval(this.cleanupTimer),this.cleanupTimer=void 0;this.sessions.clear(),this.sessionContexts.clear()}}class GQ{agent;router;converter;debug;constructor($,U){if(this.agent=$,this.debug=U?.debug??!1,this.router=new QQ({sessionTimeout:U?.sessionTimeout,maxConcurrentSessions:U?.maxConcurrentSessions,maxIterations:U?.maxIterations}),this.converter=new JQ({debug:this.debug}),this.debug)console.warn("[ACPAgent] Initialized with agent:",$.name),console.warn("[ACPAgent] Middlewares:",$.middlewareNames)}async*receiveMessage($,U){let _=U?.session_id??this.generateSessionId();if(this.debug)console.warn(`[ACPAgent] Receiving ${$.length} messages for session: ${_}`);try{let Q=await this.router.getOrCreateSession(_,this.agent),J=this.converter.convertFromACP($);if(this.debug)console.warn(`[ACPAgent] Converted to ${J.length} GoatChain messages`);let G={},Y=[];for(let W of $)if(W.role==="tool"&&W.tool_call_id){Y.push(this.converter.convertFromACP([W])[0]);try{let B=typeof W.content==="string"?JSON.parse(W.content):W.content;if(B.answers)G[W.tool_call_id]=B.answers}catch{}}let X=Object.keys(G).length>0,V=await Q.hasCheckpoint();if(this.debug)console.warn(`[ACPAgent] Has tool results: ${X}, Has checkpoint: ${V}`);let K=J.filter((W)=>W.role==="user");if(K.length>0){let W=K[K.length-1],B=X?{askUser:{answers:G}}:void 0;if(this.debug)console.warn(`[ACPAgent] Sending user message ${W.content} ${B?" with toolContext":""} `);Q.send(W.content,B?{toolContext:B}:void 0)}else if(V&&!X){if(this.debug)console.warn("[ACPAgent] Resuming from checkpoint without new input")}let Z=0,N=!1;for await(let W of this.converter.convertToACP(Q.receive())){if(Z++,this.debug)console.warn(`[ACPAgent] Event #${Z}:`,W.role,W.metadata?.done?"(done)":"");if(yield W,W.metadata?.done)N=!0}if(N&&this.debug)console.warn(`[ACPAgent] Session ${_} completed with ${Z} events`)}catch(Q){console.error("[ACPAgent] Error processing messages:",Q),yield{role:"assistant",content:`Error: ${Q instanceof Error?Q.message:String(Q)}`,metadata:{error:!0,done:!0}}}}async*receiveWithApprovals($,U){let _=U?.session_id??this.generateSessionId();if(this.debug)console.warn(`[ACPAgent] Resuming with approvals for session: ${_}`);try{let Q=await this.router.getOrCreateSession(_,this.agent),J=0,G=!1;for await(let Y of this.converter.convertToACP(Q.receiveWithApprovals($))){if(J++,this.debug)console.warn(`[ACPAgent] Event #${J}:`,Y.role,Y.metadata?.done?"(done)":"");if(yield Y,Y.metadata?.done)G=!0}if(G&&this.debug)console.warn(`[ACPAgent] Session ${_} completed with ${J} events`)}catch(Q){console.error("[ACPAgent] Error processing approvals:",Q),yield{role:"assistant",content:`Error: ${Q instanceof Error?Q.message:String(Q)}`,metadata:{error:!0,done:!0}}}}getSessionInfo(){return{activeSessions:this.router.getActiveSessions(),sessionCount:this.router.getSessionCount()}}getSession($){return this.router.getSession($)}closeSession($){return this.router.removeSession($)}getAgent(){return this.agent}destroy(){if(this.router.destroy(),this.debug)console.warn("[ACPAgent] Destroyed")}generateSessionId(){return`acp-session-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}}import GB from"node:path";import b6 from"node:process";import{Readable as mn,Writable as cn}from"node:stream";var F={};Z0(F,{xor:()=>zR,xid:()=>aL,void:()=>MR,uuidv7:()=>cL,uuidv6:()=>mL,uuidv4:()=>uL,uuid:()=>hL,util:()=>W$,url:()=>dL,uppercase:()=>VJ,unknown:()=>pU,union:()=>v3,undefined:()=>DR,ulid:()=>oL,uint64:()=>OR,uint32:()=>qR,tuple:()=>$q,trim:()=>qJ,treeifyError:()=>oV,transform:()=>y3,toUpperCase:()=>HJ,toLowerCase:()=>BJ,toJSONSchema:()=>Y3,templateLiteral:()=>uR,symbol:()=>jR,superRefine:()=>zq,success:()=>xR,stringbool:()=>pR,stringFormat:()=>XR,string:()=>N3,strictObject:()=>RR,startsWith:()=>ZJ,slugify:()=>OJ,size:()=>iU,setErrorMap:()=>yi,set:()=>IR,safeParseAsync:()=>AF,safeParse:()=>zF,safeEncodeAsync:()=>yF,safeEncode:()=>vF,safeDecodeAsync:()=>bF,safeDecode:()=>CF,registry:()=>SQ,regexes:()=>u1,regex:()=>YJ,refine:()=>wq,record:()=>Uq,readonly:()=>Eq,property:()=>_3,promise:()=>mR,prettifyError:()=>aV,preprocess:()=>aR,prefault:()=>Fq,positive:()=>eQ,pipe:()=>e9,partialRecord:()=>kR,parseAsync:()=>wF,parse:()=>RF,overwrite:()=>U0,optional:()=>a9,object:()=>LR,number:()=>gF,nullish:()=>bR,nullable:()=>t9,null:()=>dF,normalize:()=>FJ,nonpositive:()=>$3,nonoptional:()=>qq,nonnegative:()=>U3,never:()=>I3,negative:()=>sQ,nativeEnum:()=>vR,nanoid:()=>rL,nan:()=>gR,multipleOf:()=>n2,minSize:()=>L0,minLength:()=>t0,mime:()=>NJ,meta:()=>rR,maxSize:()=>p2,maxLength:()=>rU,map:()=>SR,mac:()=>sL,lte:()=>S1,lt:()=>P0,lowercase:()=>XJ,looseRecord:()=>TR,looseObject:()=>wR,locales:()=>i9,literal:()=>CR,length:()=>nU,lazy:()=>fq,ksuid:()=>tL,keyof:()=>fR,jwt:()=>YR,json:()=>oR,iso:()=>EJ,ipv6:()=>$R,ipv4:()=>eL,intersection:()=>eF,int64:()=>HR,int32:()=>FR,int:()=>F3,instanceof:()=>nR,includes:()=>KJ,httpUrl:()=>lL,hostname:()=>VR,hex:()=>KR,hash:()=>ZR,guid:()=>gL,gte:()=>a6,gt:()=>f0,globalRegistry:()=>y6,getErrorMap:()=>bi,function:()=>cR,fromJSONSchema:()=>eR,formatError:()=>C9,float64:()=>NR,float32:()=>WR,flattenError:()=>v9,file:()=>yR,exactOptional:()=>Vq,enum:()=>C3,endsWith:()=>WJ,encodeAsync:()=>SF,encode:()=>kF,emoji:()=>iL,email:()=>xL,e164:()=>GR,discriminatedUnion:()=>AR,describe:()=>iR,decodeAsync:()=>IF,decode:()=>TF,date:()=>PR,custom:()=>lR,cuid2:()=>pL,cuid:()=>nL,core:()=>e0,config:()=>N6,coerce:()=>kq,codec:()=>hR,clone:()=>o6,cidrv6:()=>_R,cidrv4:()=>UR,check:()=>dR,catch:()=>Oq,boolean:()=>hF,bigint:()=>BR,base64url:()=>QR,base64:()=>JR,array:()=>U5,any:()=>ER,_function:()=>cR,_default:()=>Wq,_ZodString:()=>q3,ZodXor:()=>oF,ZodXID:()=>M3,ZodVoid:()=>nF,ZodUnknown:()=>iF,ZodUnion:()=>J5,ZodUndefined:()=>mF,ZodUUID:()=>R0,ZodURL:()=>s9,ZodULID:()=>E3,ZodType:()=>_4,ZodTuple:()=>sF,ZodTransform:()=>Yq,ZodTemplateLiteral:()=>Mq,ZodSymbol:()=>uF,ZodSuccess:()=>Bq,ZodStringFormat:()=>S4,ZodString:()=>PJ,ZodSet:()=>Jq,ZodRecord:()=>Q5,ZodRealError:()=>N1,ZodReadonly:()=>Dq,ZodPromise:()=>Lq,ZodPrefault:()=>Nq,ZodPipe:()=>g3,ZodOptional:()=>b3,ZodObject:()=>_5,ZodNumberFormat:()=>oU,ZodNumber:()=>LJ,ZodNullable:()=>Kq,ZodNull:()=>cF,ZodNonOptional:()=>x3,ZodNever:()=>rF,ZodNanoID:()=>O3,ZodNaN:()=>jq,ZodMap:()=>_q,ZodMAC:()=>xF,ZodLiteral:()=>Qq,ZodLazy:()=>Pq,ZodKSUID:()=>P3,ZodJWT:()=>T3,ZodIssueCode:()=>Ci,ZodIntersection:()=>tF,ZodISOTime:()=>Z3,ZodISODuration:()=>W3,ZodISODateTime:()=>V3,ZodISODate:()=>K3,ZodIPv6:()=>L3,ZodIPv4:()=>f3,ZodGUID:()=>o9,ZodFunction:()=>Rq,ZodFirstPartyTypeKind:()=>Aq,ZodFile:()=>Gq,ZodExactOptional:()=>Xq,ZodError:()=>Ii,ZodEnum:()=>MJ,ZodEmoji:()=>H3,ZodEmail:()=>B3,ZodE164:()=>k3,ZodDiscriminatedUnion:()=>aF,ZodDefault:()=>Zq,ZodDate:()=>$5,ZodCustomStringFormat:()=>fJ,ZodCustom:()=>G5,ZodCodec:()=>h3,ZodCatch:()=>Hq,ZodCUID2:()=>D3,ZodCUID:()=>j3,ZodCIDRv6:()=>w3,ZodCIDRv4:()=>R3,ZodBoolean:()=>RJ,ZodBigIntFormat:()=>S3,ZodBigInt:()=>wJ,ZodBase64URL:()=>A3,ZodBase64:()=>z3,ZodArray:()=>pF,ZodAny:()=>lF,TimePrecision:()=>$N,NEVER:()=>gV,$output:()=>pW,$input:()=>oW,$brand:()=>hV});var e0={};Z0(e0,{version:()=>iK,util:()=>W$,treeifyError:()=>oV,toJSONSchema:()=>Y3,toDotPath:()=>YL,safeParseAsync:()=>eV,safeParse:()=>tV,safeEncodeAsync:()=>xd,safeEncode:()=>yd,safeDecodeAsync:()=>gd,safeDecode:()=>bd,registry:()=>SQ,regexes:()=>u1,process:()=>L4,prettifyError:()=>aV,parseAsync:()=>KQ,parse:()=>VQ,meta:()=>CN,locales:()=>i9,isValidJWT:()=>RL,isValidBase64URL:()=>LL,isValidBase64:()=>FZ,initializeContext:()=>o2,globalRegistry:()=>y6,globalConfig:()=>R9,formatError:()=>C9,flattenError:()=>v9,finalize:()=>t2,extractDefs:()=>a2,encodeAsync:()=>vd,encode:()=>Sd,describe:()=>vN,decodeAsync:()=>Cd,decode:()=>Id,createToJSONSchemaMethod:()=>bN,createStandardJSONSchemaMethod:()=>DJ,config:()=>N6,clone:()=>o6,_xor:()=>Vi,_xid:()=>cQ,_void:()=>LN,_uuidv7:()=>bQ,_uuidv6:()=>yQ,_uuidv4:()=>CQ,_uuid:()=>vQ,_url:()=>n9,_uppercase:()=>VJ,_unknown:()=>PN,_union:()=>Xi,_undefined:()=>DN,_ulid:()=>mQ,_uint64:()=>ON,_uint32:()=>WN,_tuple:()=>Wi,_trim:()=>qJ,_transform:()=>ji,_toUpperCase:()=>HJ,_toLowerCase:()=>BJ,_templateLiteral:()=>zi,_symbol:()=>jN,_superRefine:()=>IN,_success:()=>fi,_stringbool:()=>yN,_stringFormat:()=>jJ,_string:()=>tW,_startsWith:()=>ZJ,_slugify:()=>OJ,_size:()=>iU,_set:()=>qi,_safeParseAsync:()=>JJ,_safeParse:()=>_J,_safeEncodeAsync:()=>HQ,_safeEncode:()=>qQ,_safeDecodeAsync:()=>OQ,_safeDecode:()=>BQ,_regex:()=>YJ,_refine:()=>SN,_record:()=>Ni,_readonly:()=>wi,_property:()=>_3,_promise:()=>ki,_positive:()=>eQ,_pipe:()=>Ri,_parseAsync:()=>UJ,_parse:()=>$J,_overwrite:()=>U0,_optional:()=>Di,_number:()=>GN,_nullable:()=>Ei,_null:()=>EN,_normalize:()=>FJ,_nonpositive:()=>$3,_nonoptional:()=>Pi,_nonnegative:()=>U3,_never:()=>fN,_negative:()=>sQ,_nativeEnum:()=>Hi,_nanoid:()=>gQ,_nan:()=>zN,_multipleOf:()=>n2,_minSize:()=>L0,_minLength:()=>t0,_min:()=>a6,_mime:()=>NJ,_maxSize:()=>p2,_maxLength:()=>rU,_max:()=>S1,_map:()=>Fi,_mac:()=>sW,_lte:()=>S1,_lt:()=>P0,_lowercase:()=>XJ,_literal:()=>Oi,_length:()=>nU,_lazy:()=>Ai,_ksuid:()=>dQ,_jwt:()=>tQ,_isoTime:()=>JN,_isoDuration:()=>QN,_isoDateTime:()=>UN,_isoDate:()=>_N,_ipv6:()=>iQ,_ipv4:()=>lQ,_intersection:()=>Zi,_int64:()=>HN,_int32:()=>ZN,_int:()=>XN,_includes:()=>KJ,_guid:()=>r9,_gte:()=>a6,_gt:()=>f0,_float64:()=>KN,_float32:()=>VN,_file:()=>kN,_enum:()=>Bi,_endsWith:()=>WJ,_encodeAsync:()=>NQ,_encode:()=>ZQ,_emoji:()=>xQ,_email:()=>IQ,_e164:()=>aQ,_discriminatedUnion:()=>Ki,_default:()=>Mi,_decodeAsync:()=>FQ,_decode:()=>WQ,_date:()=>RN,_custom:()=>TN,_cuid2:()=>uQ,_cuid:()=>hQ,_coercedString:()=>eW,_coercedNumber:()=>YN,_coercedDate:()=>wN,_coercedBoolean:()=>FN,_coercedBigint:()=>BN,_cidrv6:()=>nQ,_cidrv4:()=>rQ,_check:()=>CL,_catch:()=>Li,_boolean:()=>NN,_bigint:()=>qN,_base64url:()=>oQ,_base64:()=>pQ,_array:()=>AN,_any:()=>MN,TimePrecision:()=>$N,NEVER:()=>gV,JSONSchemaGenerator:()=>EF,JSONSchema:()=>yL,Doc:()=>MQ,$output:()=>pW,$input:()=>oW,$constructor:()=>u,$brand:()=>hV,$ZodXor:()=>SZ,$ZodXID:()=>_Z,$ZodVoid:()=>zZ,$ZodUnknown:()=>RZ,$ZodUnion:()=>h9,$ZodUndefined:()=>PZ,$ZodUUID:()=>pK,$ZodURL:()=>aK,$ZodULID:()=>UZ,$ZodType:()=>a$,$ZodTuple:()=>kQ,$ZodTransform:()=>uZ,$ZodTemplateLiteral:()=>tZ,$ZodSymbol:()=>MZ,$ZodSuccess:()=>rZ,$ZodStringFormat:()=>T4,$ZodString:()=>lU,$ZodSet:()=>bZ,$ZodRegistry:()=>aW,$ZodRecord:()=>CZ,$ZodRealError:()=>W1,$ZodReadonly:()=>aZ,$ZodPromise:()=>sZ,$ZodPrefault:()=>lZ,$ZodPipe:()=>oZ,$ZodOptional:()=>TQ,$ZodObjectJIT:()=>TZ,$ZodObject:()=>AL,$ZodNumberFormat:()=>DZ,$ZodNumber:()=>zQ,$ZodNullable:()=>cZ,$ZodNull:()=>fZ,$ZodNonOptional:()=>iZ,$ZodNever:()=>wZ,$ZodNanoID:()=>eK,$ZodNaN:()=>pZ,$ZodMap:()=>yZ,$ZodMAC:()=>ZZ,$ZodLiteral:()=>gZ,$ZodLazy:()=>$W,$ZodKSUID:()=>JZ,$ZodJWT:()=>OZ,$ZodIntersection:()=>vZ,$ZodISOTime:()=>YZ,$ZodISODuration:()=>XZ,$ZodISODateTime:()=>QZ,$ZodISODate:()=>GZ,$ZodIPv6:()=>KZ,$ZodIPv4:()=>VZ,$ZodGUID:()=>nK,$ZodFunction:()=>eZ,$ZodFile:()=>hZ,$ZodExactOptional:()=>mZ,$ZodError:()=>I9,$ZodEnum:()=>xZ,$ZodEncodeError:()=>mU,$ZodEmoji:()=>tK,$ZodEmail:()=>oK,$ZodE164:()=>HZ,$ZodDiscriminatedUnion:()=>IZ,$ZodDefault:()=>dZ,$ZodDate:()=>AZ,$ZodCustomStringFormat:()=>jZ,$ZodCustom:()=>UW,$ZodCodec:()=>u9,$ZodCheckUpperCase:()=>gK,$ZodCheckStringFormat:()=>QJ,$ZodCheckStartsWith:()=>uK,$ZodCheckSizeEquals:()=>IK,$ZodCheckRegex:()=>bK,$ZodCheckProperty:()=>cK,$ZodCheckOverwrite:()=>lK,$ZodCheckNumberFormat:()=>AK,$ZodCheckMultipleOf:()=>zK,$ZodCheckMinSize:()=>SK,$ZodCheckMinLength:()=>CK,$ZodCheckMimeType:()=>dK,$ZodCheckMaxSize:()=>TK,$ZodCheckMaxLength:()=>vK,$ZodCheckLowerCase:()=>xK,$ZodCheckLessThan:()=>DQ,$ZodCheckLengthEquals:()=>yK,$ZodCheckIncludes:()=>hK,$ZodCheckGreaterThan:()=>EQ,$ZodCheckEndsWith:()=>mK,$ZodCheckBigIntFormat:()=>kK,$ZodCheck:()=>h4,$ZodCatch:()=>nZ,$ZodCUID2:()=>$Z,$ZodCUID:()=>sK,$ZodCIDRv6:()=>NZ,$ZodCIDRv4:()=>WZ,$ZodBoolean:()=>g9,$ZodBigIntFormat:()=>EZ,$ZodBigInt:()=>AQ,$ZodBase64URL:()=>BZ,$ZodBase64:()=>qZ,$ZodAsyncError:()=>M0,$ZodArray:()=>kZ,$ZodAny:()=>LZ});var gV=Object.freeze({status:"aborted"});function u($,U,_){function Q(X,V){if(!X._zod)Object.defineProperty(X,"_zod",{value:{def:V,constr:Y,traits:new Set},enumerable:!1});if(X._zod.traits.has($))return;X._zod.traits.add($),U(X,V);let K=Y.prototype,Z=Object.keys(K);for(let N=0;N<Z.length;N++){let W=Z[N];if(!(W in X))X[W]=K[W].bind(X)}}let J=_?.Parent??Object;class G extends J{}Object.defineProperty(G,"name",{value:$});function Y(X){var V;let K=_?.Parent?new G:this;Q(K,X),(V=K._zod).deferred??(V.deferred=[]);for(let Z of K._zod.deferred)Z();return K}return Object.defineProperty(Y,"init",{value:Q}),Object.defineProperty(Y,Symbol.hasInstance,{value:(X)=>{if(_?.Parent&&X instanceof _.Parent)return!0;return X?._zod?.traits?.has($)}}),Object.defineProperty(Y,"name",{value:$}),Y}var hV=Symbol("zod_brand");class M0 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class mU extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}}var R9={};function N6($){if($)Object.assign(R9,$);return R9}var W$={};Z0(W$,{unwrapMessage:()=>w9,uint8ArrayToHex:()=>kd,uint8ArrayToBase64url:()=>zd,uint8ArrayToBase64:()=>JL,stringifyPrimitive:()=>X$,slugify:()=>cV,shallowClone:()=>lV,safeExtend:()=>Md,required:()=>Ld,randomString:()=>qd,propertyKeyTypes:()=>k9,promiseAllObject:()=>Fd,primitiveTypes:()=>iV,prefixIssues:()=>T1,pick:()=>jd,partial:()=>fd,parsedType:()=>K$,optionalKeys:()=>rV,omit:()=>Dd,objectClone:()=>Zd,numKeys:()=>Bd,nullish:()=>d2,normalizeParams:()=>F$,mergeDefs:()=>a0,merge:()=>Pd,jsonStringifyReplacer:()=>t_,joinValues:()=>p,issue:()=>s_,isPlainObject:()=>i2,isObject:()=>cU,hexToUint8Array:()=>Ad,getSizableOrigin:()=>T9,getParsedType:()=>Hd,getLengthableOrigin:()=>S9,getEnumValues:()=>z9,getElementAtPath:()=>Nd,floatSafeRemainder:()=>mV,finalizeIssue:()=>Z1,extend:()=>Ed,escapeRegex:()=>h1,esc:()=>YQ,defineLazy:()=>G4,createTransparentProxy:()=>Od,cloneDef:()=>Wd,clone:()=>o6,cleanRegex:()=>A9,cleanEnum:()=>Rd,captureStackTrace:()=>XQ,cached:()=>e_,base64urlToUint8Array:()=>wd,base64ToUint8Array:()=>_L,assignProp:()=>l2,assertNotEqual:()=>Yd,assertNever:()=>Vd,assertIs:()=>Xd,assertEqual:()=>Gd,assert:()=>Kd,allowsEval:()=>dV,aborted:()=>r2,NUMBER_FORMAT_RANGES:()=>nV,Class:()=>QL,BIGINT_FORMAT_RANGES:()=>pV});function Gd($){return $}function Yd($){return $}function Xd($){}function Vd($){throw Error("Unexpected value in exhaustive check")}function Kd($){}function z9($){let U=Object.values($).filter((Q)=>typeof Q==="number");return Object.entries($).filter(([Q,J])=>U.indexOf(+Q)===-1).map(([Q,J])=>J)}function p($,U="|"){return $.map((_)=>X$(_)).join(U)}function t_($,U){if(typeof U==="bigint")return U.toString();return U}function e_($){return{get value(){{let _=$();return Object.defineProperty(this,"value",{value:_}),_}throw Error("cached value already set")}}}function d2($){return $===null||$===void 0}function A9($){let U=$.startsWith("^")?1:0,_=$.endsWith("$")?$.length-1:$.length;return $.slice(U,_)}function mV($,U){let _=($.toString().split(".")[1]||"").length,Q=U.toString(),J=(Q.split(".")[1]||"").length;if(J===0&&/\d?e-\d?/.test(Q)){let V=Q.match(/\d?e-(\d?)/);if(V?.[1])J=Number.parseInt(V[1])}let G=_>J?_:J,Y=Number.parseInt($.toFixed(G).replace(".","")),X=Number.parseInt(U.toFixed(G).replace(".",""));return Y%X/10**G}var UL=Symbol("evaluating");function G4($,U,_){let Q=void 0;Object.defineProperty($,U,{get(){if(Q===UL)return;if(Q===void 0)Q=UL,Q=_();return Q},set(J){Object.defineProperty($,U,{value:J})},configurable:!0})}function Zd($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function l2($,U,_){Object.defineProperty($,U,{value:_,writable:!0,enumerable:!0,configurable:!0})}function a0(...$){let U={};for(let _ of $){let Q=Object.getOwnPropertyDescriptors(_);Object.assign(U,Q)}return Object.defineProperties({},U)}function Wd($){return a0($._zod.def)}function Nd($,U){if(!U)return $;return U.reduce((_,Q)=>_?.[Q],$)}function Fd($){let U=Object.keys($),_=U.map((Q)=>$[Q]);return Promise.all(_).then((Q)=>{let J={};for(let G=0;G<U.length;G++)J[U[G]]=Q[G];return J})}function qd($=10){let _="";for(let Q=0;Q<$;Q++)_+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return _}function YQ($){return JSON.stringify($)}function cV($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var XQ="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};function cU($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var dV=e_(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function i2($){if(cU($)===!1)return!1;let U=$.constructor;if(U===void 0)return!0;if(typeof U!=="function")return!0;let _=U.prototype;if(cU(_)===!1)return!1;if(Object.prototype.hasOwnProperty.call(_,"isPrototypeOf")===!1)return!1;return!0}function lV($){if(i2($))return{...$};if(Array.isArray($))return[...$];return $}function Bd($){let U=0;for(let _ in $)if(Object.prototype.hasOwnProperty.call($,_))U++;return U}var Hd=($)=>{let U=typeof $;switch(U){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${U}`)}},k9=new Set(["string","number","symbol"]),iV=new Set(["string","number","bigint","boolean","symbol","undefined"]);function h1($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function o6($,U,_){let Q=new $._zod.constr(U??$._zod.def);if(!U||_?.parent)Q._zod.parent=$;return Q}function F$($){let U=$;if(!U)return{};if(typeof U==="string")return{error:()=>U};if(U?.message!==void 0){if(U?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");U.error=U.message}if(delete U.message,typeof U.error==="string")return{...U,error:()=>U.error};return U}function Od($){let U;return new Proxy({},{get(_,Q,J){return U??(U=$()),Reflect.get(U,Q,J)},set(_,Q,J,G){return U??(U=$()),Reflect.set(U,Q,J,G)},has(_,Q){return U??(U=$()),Reflect.has(U,Q)},deleteProperty(_,Q){return U??(U=$()),Reflect.deleteProperty(U,Q)},ownKeys(_){return U??(U=$()),Reflect.ownKeys(U)},getOwnPropertyDescriptor(_,Q){return U??(U=$()),Reflect.getOwnPropertyDescriptor(U,Q)},defineProperty(_,Q,J){return U??(U=$()),Reflect.defineProperty(U,Q,J)}})}function X$($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function rV($){return Object.keys($).filter((U)=>{return $[U]._zod.optin==="optional"&&$[U]._zod.optout==="optional"})}var nV={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},pV={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function jd($,U){let _=$._zod.def,Q=_.checks;if(Q&&Q.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let G=a0($._zod.def,{get shape(){let Y={};for(let X in U){if(!(X in _.shape))throw Error(`Unrecognized key: "${X}"`);if(!U[X])continue;Y[X]=_.shape[X]}return l2(this,"shape",Y),Y},checks:[]});return o6($,G)}function Dd($,U){let _=$._zod.def,Q=_.checks;if(Q&&Q.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let G=a0($._zod.def,{get shape(){let Y={...$._zod.def.shape};for(let X in U){if(!(X in _.shape))throw Error(`Unrecognized key: "${X}"`);if(!U[X])continue;delete Y[X]}return l2(this,"shape",Y),Y},checks:[]});return o6($,G)}function Ed($,U){if(!i2(U))throw Error("Invalid input to extend: expected a plain object");let _=$._zod.def.checks;if(_&&_.length>0){let G=$._zod.def.shape;for(let Y in U)if(Object.getOwnPropertyDescriptor(G,Y)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let J=a0($._zod.def,{get shape(){let G={...$._zod.def.shape,...U};return l2(this,"shape",G),G}});return o6($,J)}function Md($,U){if(!i2(U))throw Error("Invalid input to safeExtend: expected a plain object");let _=a0($._zod.def,{get shape(){let Q={...$._zod.def.shape,...U};return l2(this,"shape",Q),Q}});return o6($,_)}function Pd($,U){let _=a0($._zod.def,{get shape(){let Q={...$._zod.def.shape,...U._zod.def.shape};return l2(this,"shape",Q),Q},get catchall(){return U._zod.def.catchall},checks:[]});return o6($,_)}function fd($,U,_){let J=U._zod.def.checks;if(J&&J.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let Y=a0(U._zod.def,{get shape(){let X=U._zod.def.shape,V={...X};if(_)for(let K in _){if(!(K in X))throw Error(`Unrecognized key: "${K}"`);if(!_[K])continue;V[K]=$?new $({type:"optional",innerType:X[K]}):X[K]}else for(let K in X)V[K]=$?new $({type:"optional",innerType:X[K]}):X[K];return l2(this,"shape",V),V},checks:[]});return o6(U,Y)}function Ld($,U,_){let Q=a0(U._zod.def,{get shape(){let J=U._zod.def.shape,G={...J};if(_)for(let Y in _){if(!(Y in G))throw Error(`Unrecognized key: "${Y}"`);if(!_[Y])continue;G[Y]=new $({type:"nonoptional",innerType:J[Y]})}else for(let Y in J)G[Y]=new $({type:"nonoptional",innerType:J[Y]});return l2(this,"shape",G),G}});return o6(U,Q)}function r2($,U=0){if($.aborted===!0)return!0;for(let _=U;_<$.issues.length;_++)if($.issues[_]?.continue!==!0)return!0;return!1}function T1($,U){return U.map((_)=>{var Q;return(Q=_).path??(Q.path=[]),_.path.unshift($),_})}function w9($){return typeof $==="string"?$:$?.message}function Z1($,U,_){let Q={...$,path:$.path??[]};if(!$.message){let J=w9($.inst?._zod.def?.error?.($))??w9(U?.error?.($))??w9(_.customError?.($))??w9(_.localeError?.($))??"Invalid input";Q.message=J}if(delete Q.inst,delete Q.continue,!U?.reportInput)delete Q.input;return Q}function T9($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function S9($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function K$($){let U=typeof $;switch(U){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let _=$;if(_&&Object.getPrototypeOf(_)!==Object.prototype&&"constructor"in _&&_.constructor)return _.constructor.name}}return U}function s_(...$){let[U,_,Q]=$;if(typeof U==="string")return{message:U,code:"custom",input:_,inst:Q};return{...U}}function Rd($){return Object.entries($).filter(([U,_])=>{return Number.isNaN(Number.parseInt(U,10))}).map((U)=>U[1])}function _L($){let U=atob($),_=new Uint8Array(U.length);for(let Q=0;Q<U.length;Q++)_[Q]=U.charCodeAt(Q);return _}function JL($){let U="";for(let _=0;_<$.length;_++)U+=String.fromCharCode($[_]);return btoa(U)}function wd($){let U=$.replace(/-/g,"+").replace(/_/g,"/"),_="=".repeat((4-U.length%4)%4);return _L(U+_)}function zd($){return JL($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Ad($){let U=$.replace(/^0x/,"");if(U.length%2!==0)throw Error("Invalid hex string length");let _=new Uint8Array(U.length/2);for(let Q=0;Q<U.length;Q+=2)_[Q/2]=Number.parseInt(U.slice(Q,Q+2),16);return _}function kd($){return Array.from($).map((U)=>U.toString(16).padStart(2,"0")).join("")}class QL{constructor(...$){}}var GL=($,U)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:U,enumerable:!1}),$.message=JSON.stringify(U,t_,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},I9=u("$ZodError",GL),W1=u("$ZodError",GL,{Parent:Error});function v9($,U=(_)=>_.message){let _={},Q=[];for(let J of $.issues)if(J.path.length>0)_[J.path[0]]=_[J.path[0]]||[],_[J.path[0]].push(U(J));else Q.push(U(J));return{formErrors:Q,fieldErrors:_}}function C9($,U=(_)=>_.message){let _={_errors:[]},Q=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((Y)=>Q({issues:Y}));else if(G.code==="invalid_key")Q({issues:G.issues});else if(G.code==="invalid_element")Q({issues:G.issues});else if(G.path.length===0)_._errors.push(U(G));else{let Y=_,X=0;while(X<G.path.length){let V=G.path[X];if(X!==G.path.length-1)Y[V]=Y[V]||{_errors:[]};else Y[V]=Y[V]||{_errors:[]},Y[V]._errors.push(U(G));Y=Y[V],X++}}};return Q($),_}function oV($,U=(_)=>_.message){let _={errors:[]},Q=(J,G=[])=>{var Y,X;for(let V of J.issues)if(V.code==="invalid_union"&&V.errors.length)V.errors.map((K)=>Q({issues:K},V.path));else if(V.code==="invalid_key")Q({issues:V.issues},V.path);else if(V.code==="invalid_element")Q({issues:V.issues},V.path);else{let K=[...G,...V.path];if(K.length===0){_.errors.push(U(V));continue}let Z=_,N=0;while(N<K.length){let W=K[N],B=N===K.length-1;if(typeof W==="string")Z.properties??(Z.properties={}),(Y=Z.properties)[W]??(Y[W]={errors:[]}),Z=Z.properties[W];else Z.items??(Z.items=[]),(X=Z.items)[W]??(X[W]={errors:[]}),Z=Z.items[W];if(B)Z.errors.push(U(V));N++}}};return Q($),_}function YL($){let U=[],_=$.map((Q)=>typeof Q==="object"?Q.key:Q);for(let Q of _)if(typeof Q==="number")U.push(`[${Q}]`);else if(typeof Q==="symbol")U.push(`[${JSON.stringify(String(Q))}]`);else if(/[^\w$]/.test(Q))U.push(`[${JSON.stringify(Q)}]`);else{if(U.length)U.push(".");U.push(Q)}return U.join("")}function aV($){let U=[],_=[...$.issues].sort((Q,J)=>(Q.path??[]).length-(J.path??[]).length);for(let Q of _)if(U.push(`✖ ${Q.message}`),Q.path?.length)U.push(` → at ${YL(Q.path)}`);return U.join(`
530
+ `)}var $J=($)=>(U,_,Q,J)=>{let G=Q?Object.assign(Q,{async:!1}):{async:!1},Y=U._zod.run({value:_,issues:[]},G);if(Y instanceof Promise)throw new M0;if(Y.issues.length){let X=new(J?.Err??$)(Y.issues.map((V)=>Z1(V,G,N6())));throw XQ(X,J?.callee),X}return Y.value},VQ=$J(W1),UJ=($)=>async(U,_,Q,J)=>{let G=Q?Object.assign(Q,{async:!0}):{async:!0},Y=U._zod.run({value:_,issues:[]},G);if(Y instanceof Promise)Y=await Y;if(Y.issues.length){let X=new(J?.Err??$)(Y.issues.map((V)=>Z1(V,G,N6())));throw XQ(X,J?.callee),X}return Y.value},KQ=UJ(W1),_J=($)=>(U,_,Q)=>{let J=Q?{...Q,async:!1}:{async:!1},G=U._zod.run({value:_,issues:[]},J);if(G instanceof Promise)throw new M0;return G.issues.length?{success:!1,error:new($??I9)(G.issues.map((Y)=>Z1(Y,J,N6())))}:{success:!0,data:G.value}},tV=_J(W1),JJ=($)=>async(U,_,Q)=>{let J=Q?Object.assign(Q,{async:!0}):{async:!0},G=U._zod.run({value:_,issues:[]},J);if(G instanceof Promise)G=await G;return G.issues.length?{success:!1,error:new $(G.issues.map((Y)=>Z1(Y,J,N6())))}:{success:!0,data:G.value}},eV=JJ(W1),ZQ=($)=>(U,_,Q)=>{let J=Q?Object.assign(Q,{direction:"backward"}):{direction:"backward"};return $J($)(U,_,J)},Sd=ZQ(W1),WQ=($)=>(U,_,Q)=>{return $J($)(U,_,Q)},Id=WQ(W1),NQ=($)=>async(U,_,Q)=>{let J=Q?Object.assign(Q,{direction:"backward"}):{direction:"backward"};return UJ($)(U,_,J)},vd=NQ(W1),FQ=($)=>async(U,_,Q)=>{return UJ($)(U,_,Q)},Cd=FQ(W1),qQ=($)=>(U,_,Q)=>{let J=Q?Object.assign(Q,{direction:"backward"}):{direction:"backward"};return _J($)(U,_,J)},yd=qQ(W1),BQ=($)=>(U,_,Q)=>{return _J($)(U,_,Q)},bd=BQ(W1),HQ=($)=>async(U,_,Q)=>{let J=Q?Object.assign(Q,{direction:"backward"}):{direction:"backward"};return JJ($)(U,_,J)},xd=HQ(W1),OQ=($)=>async(U,_,Q)=>{return JJ($)(U,_,Q)},gd=OQ(W1);var u1={};Z0(u1,{xid:()=>_K,uuid7:()=>cd,uuid6:()=>md,uuid4:()=>ud,uuid:()=>dU,uppercase:()=>wK,unicodeEmail:()=>XL,undefined:()=>LK,ulid:()=>UK,time:()=>OK,string:()=>DK,sha512_hex:()=>Kl,sha512_base64url:()=>Wl,sha512_base64:()=>Zl,sha384_hex:()=>Yl,sha384_base64url:()=>Vl,sha384_base64:()=>Xl,sha256_hex:()=>Jl,sha256_base64url:()=>Gl,sha256_base64:()=>Ql,sha1_hex:()=>$l,sha1_base64url:()=>_l,sha1_base64:()=>Ul,rfc5322Email:()=>ld,number:()=>y9,null:()=>fK,nanoid:()=>QK,md5_hex:()=>td,md5_base64url:()=>sd,md5_base64:()=>ed,mac:()=>WK,lowercase:()=>RK,ksuid:()=>JK,ipv6:()=>ZK,ipv4:()=>KK,integer:()=>MK,idnEmail:()=>id,html5Email:()=>dd,hostname:()=>pd,hex:()=>ad,guid:()=>YK,extendedDuration:()=>hd,emoji:()=>VK,email:()=>XK,e164:()=>BK,duration:()=>GK,domain:()=>od,datetime:()=>jK,date:()=>HK,cuid2:()=>$K,cuid:()=>sV,cidrv6:()=>FK,cidrv4:()=>NK,browserEmail:()=>rd,boolean:()=>PK,bigint:()=>EK,base64url:()=>jQ,base64:()=>qK});var sV=/^[cC][^\s-]{8,}$/,$K=/^[0-9a-z]+$/,UK=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,_K=/^[0-9a-vA-V]{20}$/,JK=/^[A-Za-z0-9]{27}$/,QK=/^[a-zA-Z0-9_-]{21}$/,GK=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,hd=/^[-+]?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)?)??$/,YK=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,dU=($)=>{if(!$)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},ud=dU(4),md=dU(6),cd=dU(7),XK=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,dd=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,ld=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,XL=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,id=XL,rd=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,nd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function VK(){return new RegExp(nd,"u")}var KK=/^(?:(?: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])$/,ZK=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,WK=($)=>{let U=h1($??":");return new RegExp(`^(?:[0-9A-F]{2}${U}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${U}){5}[0-9a-f]{2}$`)},NK=/^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/,FK=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,qK=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,jQ=/^[A-Za-z0-9_-]*$/,pd=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,od=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,BK=/^\+[1-9]\d{6,14}$/,VL="(?:(?:\\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])))",HK=new RegExp(`^${VL}$`);function KL($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function OK($){return new RegExp(`^${KL($)}$`)}function jK($){let U=KL({precision:$.precision}),_=["Z"];if($.local)_.push("");if($.offset)_.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let Q=`${U}(?:${_.join("|")})`;return new RegExp(`^${VL}T(?:${Q})$`)}var DK=($)=>{let U=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${U}$`)},EK=/^-?\d+n?$/,MK=/^-?\d+$/,y9=/^-?\d+(?:\.\d+)?$/,PK=/^(?:true|false)$/i,fK=/^null$/i;var LK=/^undefined$/i;var RK=/^[^A-Z]*$/,wK=/^[^a-z]*$/,ad=/^[0-9a-fA-F]*$/;function b9($,U){return new RegExp(`^[A-Za-z0-9+/]{${$}}${U}$`)}function x9($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var td=/^[0-9a-fA-F]{32}$/,ed=b9(22,"=="),sd=x9(22),$l=/^[0-9a-fA-F]{40}$/,Ul=b9(27,"="),_l=x9(27),Jl=/^[0-9a-fA-F]{64}$/,Ql=b9(43,"="),Gl=x9(43),Yl=/^[0-9a-fA-F]{96}$/,Xl=b9(64,""),Vl=x9(64),Kl=/^[0-9a-fA-F]{128}$/,Zl=b9(86,"=="),Wl=x9(86);var h4=u("$ZodCheck",($,U)=>{var _;$._zod??($._zod={}),$._zod.def=U,(_=$._zod).onattach??(_.onattach=[])}),WL={number:"number",bigint:"bigint",object:"date"},DQ=u("$ZodCheckLessThan",($,U)=>{h4.init($,U);let _=WL[typeof U.value];$._zod.onattach.push((Q)=>{let J=Q._zod.bag,G=(U.inclusive?J.maximum:J.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(U.value<G)if(U.inclusive)J.maximum=U.value;else J.exclusiveMaximum=U.value}),$._zod.check=(Q)=>{if(U.inclusive?Q.value<=U.value:Q.value<U.value)return;Q.issues.push({origin:_,code:"too_big",maximum:typeof U.value==="object"?U.value.getTime():U.value,input:Q.value,inclusive:U.inclusive,inst:$,continue:!U.abort})}}),EQ=u("$ZodCheckGreaterThan",($,U)=>{h4.init($,U);let _=WL[typeof U.value];$._zod.onattach.push((Q)=>{let J=Q._zod.bag,G=(U.inclusive?J.minimum:J.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(U.value>G)if(U.inclusive)J.minimum=U.value;else J.exclusiveMinimum=U.value}),$._zod.check=(Q)=>{if(U.inclusive?Q.value>=U.value:Q.value>U.value)return;Q.issues.push({origin:_,code:"too_small",minimum:typeof U.value==="object"?U.value.getTime():U.value,input:Q.value,inclusive:U.inclusive,inst:$,continue:!U.abort})}}),zK=u("$ZodCheckMultipleOf",($,U)=>{h4.init($,U),$._zod.onattach.push((_)=>{var Q;(Q=_._zod.bag).multipleOf??(Q.multipleOf=U.value)}),$._zod.check=(_)=>{if(typeof _.value!==typeof U.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof _.value==="bigint"?_.value%U.value===BigInt(0):mV(_.value,U.value)===0)return;_.issues.push({origin:typeof _.value,code:"not_multiple_of",divisor:U.value,input:_.value,inst:$,continue:!U.abort})}}),AK=u("$ZodCheckNumberFormat",($,U)=>{h4.init($,U),U.format=U.format||"float64";let _=U.format?.includes("int"),Q=_?"int":"number",[J,G]=nV[U.format];$._zod.onattach.push((Y)=>{let X=Y._zod.bag;if(X.format=U.format,X.minimum=J,X.maximum=G,_)X.pattern=MK}),$._zod.check=(Y)=>{let X=Y.value;if(_){if(!Number.isInteger(X)){Y.issues.push({expected:Q,format:U.format,code:"invalid_type",continue:!1,input:X,inst:$});return}if(!Number.isSafeInteger(X)){if(X>0)Y.issues.push({input:X,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:Q,inclusive:!0,continue:!U.abort});else Y.issues.push({input:X,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:Q,inclusive:!0,continue:!U.abort});return}}if(X<J)Y.issues.push({origin:"number",input:X,code:"too_small",minimum:J,inclusive:!0,inst:$,continue:!U.abort});if(X>G)Y.issues.push({origin:"number",input:X,code:"too_big",maximum:G,inclusive:!0,inst:$,continue:!U.abort})}}),kK=u("$ZodCheckBigIntFormat",($,U)=>{h4.init($,U);let[_,Q]=pV[U.format];$._zod.onattach.push((J)=>{let G=J._zod.bag;G.format=U.format,G.minimum=_,G.maximum=Q}),$._zod.check=(J)=>{let G=J.value;if(G<_)J.issues.push({origin:"bigint",input:G,code:"too_small",minimum:_,inclusive:!0,inst:$,continue:!U.abort});if(G>Q)J.issues.push({origin:"bigint",input:G,code:"too_big",maximum:Q,inclusive:!0,inst:$,continue:!U.abort})}}),TK=u("$ZodCheckMaxSize",($,U)=>{var _;h4.init($,U),(_=$._zod.def).when??(_.when=(Q)=>{let J=Q.value;return!d2(J)&&J.size!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.maximum??Number.POSITIVE_INFINITY;if(U.maximum<J)Q._zod.bag.maximum=U.maximum}),$._zod.check=(Q)=>{let J=Q.value;if(J.size<=U.maximum)return;Q.issues.push({origin:T9(J),code:"too_big",maximum:U.maximum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),SK=u("$ZodCheckMinSize",($,U)=>{var _;h4.init($,U),(_=$._zod.def).when??(_.when=(Q)=>{let J=Q.value;return!d2(J)&&J.size!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(U.minimum>J)Q._zod.bag.minimum=U.minimum}),$._zod.check=(Q)=>{let J=Q.value;if(J.size>=U.minimum)return;Q.issues.push({origin:T9(J),code:"too_small",minimum:U.minimum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),IK=u("$ZodCheckSizeEquals",($,U)=>{var _;h4.init($,U),(_=$._zod.def).when??(_.when=(Q)=>{let J=Q.value;return!d2(J)&&J.size!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.minimum=U.size,J.maximum=U.size,J.size=U.size}),$._zod.check=(Q)=>{let J=Q.value,G=J.size;if(G===U.size)return;let Y=G>U.size;Q.issues.push({origin:T9(J),...Y?{code:"too_big",maximum:U.size}:{code:"too_small",minimum:U.size},inclusive:!0,exact:!0,input:Q.value,inst:$,continue:!U.abort})}}),vK=u("$ZodCheckMaxLength",($,U)=>{var _;h4.init($,U),(_=$._zod.def).when??(_.when=(Q)=>{let J=Q.value;return!d2(J)&&J.length!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.maximum??Number.POSITIVE_INFINITY;if(U.maximum<J)Q._zod.bag.maximum=U.maximum}),$._zod.check=(Q)=>{let J=Q.value;if(J.length<=U.maximum)return;let Y=S9(J);Q.issues.push({origin:Y,code:"too_big",maximum:U.maximum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),CK=u("$ZodCheckMinLength",($,U)=>{var _;h4.init($,U),(_=$._zod.def).when??(_.when=(Q)=>{let J=Q.value;return!d2(J)&&J.length!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(U.minimum>J)Q._zod.bag.minimum=U.minimum}),$._zod.check=(Q)=>{let J=Q.value;if(J.length>=U.minimum)return;let Y=S9(J);Q.issues.push({origin:Y,code:"too_small",minimum:U.minimum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),yK=u("$ZodCheckLengthEquals",($,U)=>{var _;h4.init($,U),(_=$._zod.def).when??(_.when=(Q)=>{let J=Q.value;return!d2(J)&&J.length!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.minimum=U.length,J.maximum=U.length,J.length=U.length}),$._zod.check=(Q)=>{let J=Q.value,G=J.length;if(G===U.length)return;let Y=S9(J),X=G>U.length;Q.issues.push({origin:Y,...X?{code:"too_big",maximum:U.length}:{code:"too_small",minimum:U.length},inclusive:!0,exact:!0,input:Q.value,inst:$,continue:!U.abort})}}),QJ=u("$ZodCheckStringFormat",($,U)=>{var _,Q;if(h4.init($,U),$._zod.onattach.push((J)=>{let G=J._zod.bag;if(G.format=U.format,U.pattern)G.patterns??(G.patterns=new Set),G.patterns.add(U.pattern)}),U.pattern)(_=$._zod).check??(_.check=(J)=>{if(U.pattern.lastIndex=0,U.pattern.test(J.value))return;J.issues.push({origin:"string",code:"invalid_format",format:U.format,input:J.value,...U.pattern?{pattern:U.pattern.toString()}:{},inst:$,continue:!U.abort})});else(Q=$._zod).check??(Q.check=()=>{})}),bK=u("$ZodCheckRegex",($,U)=>{QJ.init($,U),$._zod.check=(_)=>{if(U.pattern.lastIndex=0,U.pattern.test(_.value))return;_.issues.push({origin:"string",code:"invalid_format",format:"regex",input:_.value,pattern:U.pattern.toString(),inst:$,continue:!U.abort})}}),xK=u("$ZodCheckLowerCase",($,U)=>{U.pattern??(U.pattern=RK),QJ.init($,U)}),gK=u("$ZodCheckUpperCase",($,U)=>{U.pattern??(U.pattern=wK),QJ.init($,U)}),hK=u("$ZodCheckIncludes",($,U)=>{h4.init($,U);let _=h1(U.includes),Q=new RegExp(typeof U.position==="number"?`^.{${U.position}}${_}`:_);U.pattern=Q,$._zod.onattach.push((J)=>{let G=J._zod.bag;G.patterns??(G.patterns=new Set),G.patterns.add(Q)}),$._zod.check=(J)=>{if(J.value.includes(U.includes,U.position))return;J.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:U.includes,input:J.value,inst:$,continue:!U.abort})}}),uK=u("$ZodCheckStartsWith",($,U)=>{h4.init($,U);let _=new RegExp(`^${h1(U.prefix)}.*`);U.pattern??(U.pattern=_),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(_)}),$._zod.check=(Q)=>{if(Q.value.startsWith(U.prefix))return;Q.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:U.prefix,input:Q.value,inst:$,continue:!U.abort})}}),mK=u("$ZodCheckEndsWith",($,U)=>{h4.init($,U);let _=new RegExp(`.*${h1(U.suffix)}$`);U.pattern??(U.pattern=_),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(_)}),$._zod.check=(Q)=>{if(Q.value.endsWith(U.suffix))return;Q.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:U.suffix,input:Q.value,inst:$,continue:!U.abort})}});function ZL($,U,_){if($.issues.length)U.issues.push(...T1(_,$.issues))}var cK=u("$ZodCheckProperty",($,U)=>{h4.init($,U),$._zod.check=(_)=>{let Q=U.schema._zod.run({value:_.value[U.property],issues:[]},{});if(Q instanceof Promise)return Q.then((J)=>ZL(J,_,U.property));ZL(Q,_,U.property);return}}),dK=u("$ZodCheckMimeType",($,U)=>{h4.init($,U);let _=new Set(U.mime);$._zod.onattach.push((Q)=>{Q._zod.bag.mime=U.mime}),$._zod.check=(Q)=>{if(_.has(Q.value.type))return;Q.issues.push({code:"invalid_value",values:U.mime,input:Q.value.type,inst:$,continue:!U.abort})}}),lK=u("$ZodCheckOverwrite",($,U)=>{h4.init($,U),$._zod.check=(_)=>{_.value=U.tx(_.value)}});class MQ{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let _=$.split(`
531
+ `).filter((G)=>G),Q=Math.min(..._.map((G)=>G.length-G.trimStart().length)),J=_.map((G)=>G.slice(Q)).map((G)=>" ".repeat(this.indent*2)+G);for(let G of J)this.content.push(G)}compile(){let $=Function,U=this?.args,Q=[...(this?.content??[""]).map((J)=>` ${J}`)];return new $(...U,Q.join(`
532
+ `))}}var iK={major:4,minor:3,patch:5};var a$=u("$ZodType",($,U)=>{var _;$??($={}),$._zod.def=U,$._zod.bag=$._zod.bag||{},$._zod.version=iK;let Q=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))Q.unshift($);for(let J of Q)for(let G of J._zod.onattach)G($);if(Q.length===0)(_=$._zod).deferred??(_.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let J=(Y,X,V)=>{let K=r2(Y),Z;for(let N of X){if(N._zod.def.when){if(!N._zod.def.when(Y))continue}else if(K)continue;let W=Y.issues.length,B=N._zod.check(Y);if(B instanceof Promise&&V?.async===!1)throw new M0;if(Z||B instanceof Promise)Z=(Z??Promise.resolve()).then(async()=>{if(await B,Y.issues.length===W)return;if(!K)K=r2(Y,W)});else{if(Y.issues.length===W)continue;if(!K)K=r2(Y,W)}}if(Z)return Z.then(()=>{return Y});return Y},G=(Y,X,V)=>{if(r2(Y))return Y.aborted=!0,Y;let K=J(X,Q,V);if(K instanceof Promise){if(V.async===!1)throw new M0;return K.then((Z)=>$._zod.parse(Z,V))}return $._zod.parse(K,V)};$._zod.run=(Y,X)=>{if(X.skipChecks)return $._zod.parse(Y,X);if(X.direction==="backward"){let K=$._zod.parse({value:Y.value,issues:[]},{...X,skipChecks:!0});if(K instanceof Promise)return K.then((Z)=>{return G(Z,Y,X)});return G(K,Y,X)}let V=$._zod.parse(Y,X);if(V instanceof Promise){if(X.async===!1)throw new M0;return V.then((K)=>J(K,Q,X))}return J(V,Q,X)}}G4($,"~standard",()=>({validate:(J)=>{try{let G=tV($,J);return G.success?{value:G.data}:{issues:G.error?.issues}}catch(G){return eV($,J).then((Y)=>Y.success?{value:Y.data}:{issues:Y.error?.issues})}},vendor:"zod",version:1}))}),lU=u("$ZodString",($,U)=>{a$.init($,U),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??DK($._zod.bag),$._zod.parse=(_,Q)=>{if(U.coerce)try{_.value=String(_.value)}catch(J){}if(typeof _.value==="string")return _;return _.issues.push({expected:"string",code:"invalid_type",input:_.value,inst:$}),_}}),T4=u("$ZodStringFormat",($,U)=>{QJ.init($,U),lU.init($,U)}),nK=u("$ZodGUID",($,U)=>{U.pattern??(U.pattern=YK),T4.init($,U)}),pK=u("$ZodUUID",($,U)=>{if(U.version){let Q={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[U.version];if(Q===void 0)throw Error(`Invalid UUID version: "${U.version}"`);U.pattern??(U.pattern=dU(Q))}else U.pattern??(U.pattern=dU());T4.init($,U)}),oK=u("$ZodEmail",($,U)=>{U.pattern??(U.pattern=XK),T4.init($,U)}),aK=u("$ZodURL",($,U)=>{T4.init($,U),$._zod.check=(_)=>{try{let Q=_.value.trim(),J=new URL(Q);if(U.hostname){if(U.hostname.lastIndex=0,!U.hostname.test(J.hostname))_.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:U.hostname.source,input:_.value,inst:$,continue:!U.abort})}if(U.protocol){if(U.protocol.lastIndex=0,!U.protocol.test(J.protocol.endsWith(":")?J.protocol.slice(0,-1):J.protocol))_.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:U.protocol.source,input:_.value,inst:$,continue:!U.abort})}if(U.normalize)_.value=J.href;else _.value=Q;return}catch(Q){_.issues.push({code:"invalid_format",format:"url",input:_.value,inst:$,continue:!U.abort})}}}),tK=u("$ZodEmoji",($,U)=>{U.pattern??(U.pattern=VK()),T4.init($,U)}),eK=u("$ZodNanoID",($,U)=>{U.pattern??(U.pattern=QK),T4.init($,U)}),sK=u("$ZodCUID",($,U)=>{U.pattern??(U.pattern=sV),T4.init($,U)}),$Z=u("$ZodCUID2",($,U)=>{U.pattern??(U.pattern=$K),T4.init($,U)}),UZ=u("$ZodULID",($,U)=>{U.pattern??(U.pattern=UK),T4.init($,U)}),_Z=u("$ZodXID",($,U)=>{U.pattern??(U.pattern=_K),T4.init($,U)}),JZ=u("$ZodKSUID",($,U)=>{U.pattern??(U.pattern=JK),T4.init($,U)}),QZ=u("$ZodISODateTime",($,U)=>{U.pattern??(U.pattern=jK(U)),T4.init($,U)}),GZ=u("$ZodISODate",($,U)=>{U.pattern??(U.pattern=HK),T4.init($,U)}),YZ=u("$ZodISOTime",($,U)=>{U.pattern??(U.pattern=OK(U)),T4.init($,U)}),XZ=u("$ZodISODuration",($,U)=>{U.pattern??(U.pattern=GK),T4.init($,U)}),VZ=u("$ZodIPv4",($,U)=>{U.pattern??(U.pattern=KK),T4.init($,U),$._zod.bag.format="ipv4"}),KZ=u("$ZodIPv6",($,U)=>{U.pattern??(U.pattern=ZK),T4.init($,U),$._zod.bag.format="ipv6",$._zod.check=(_)=>{try{new URL(`http://[${_.value}]`)}catch{_.issues.push({code:"invalid_format",format:"ipv6",input:_.value,inst:$,continue:!U.abort})}}}),ZZ=u("$ZodMAC",($,U)=>{U.pattern??(U.pattern=WK(U.delimiter)),T4.init($,U),$._zod.bag.format="mac"}),WZ=u("$ZodCIDRv4",($,U)=>{U.pattern??(U.pattern=NK),T4.init($,U)}),NZ=u("$ZodCIDRv6",($,U)=>{U.pattern??(U.pattern=FK),T4.init($,U),$._zod.check=(_)=>{let Q=_.value.split("/");try{if(Q.length!==2)throw Error();let[J,G]=Q;if(!G)throw Error();let Y=Number(G);if(`${Y}`!==G)throw Error();if(Y<0||Y>128)throw Error();new URL(`http://[${J}]`)}catch{_.issues.push({code:"invalid_format",format:"cidrv6",input:_.value,inst:$,continue:!U.abort})}}});function FZ($){if($==="")return!0;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}var qZ=u("$ZodBase64",($,U)=>{U.pattern??(U.pattern=qK),T4.init($,U),$._zod.bag.contentEncoding="base64",$._zod.check=(_)=>{if(FZ(_.value))return;_.issues.push({code:"invalid_format",format:"base64",input:_.value,inst:$,continue:!U.abort})}});function LL($){if(!jQ.test($))return!1;let U=$.replace(/[-_]/g,(Q)=>Q==="-"?"+":"/"),_=U.padEnd(Math.ceil(U.length/4)*4,"=");return FZ(_)}var BZ=u("$ZodBase64URL",($,U)=>{U.pattern??(U.pattern=jQ),T4.init($,U),$._zod.bag.contentEncoding="base64url",$._zod.check=(_)=>{if(LL(_.value))return;_.issues.push({code:"invalid_format",format:"base64url",input:_.value,inst:$,continue:!U.abort})}}),HZ=u("$ZodE164",($,U)=>{U.pattern??(U.pattern=BK),T4.init($,U)});function RL($,U=null){try{let _=$.split(".");if(_.length!==3)return!1;let[Q]=_;if(!Q)return!1;let J=JSON.parse(atob(Q));if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(U&&(!("alg"in J)||J.alg!==U))return!1;return!0}catch{return!1}}var OZ=u("$ZodJWT",($,U)=>{T4.init($,U),$._zod.check=(_)=>{if(RL(_.value,U.alg))return;_.issues.push({code:"invalid_format",format:"jwt",input:_.value,inst:$,continue:!U.abort})}}),jZ=u("$ZodCustomStringFormat",($,U)=>{T4.init($,U),$._zod.check=(_)=>{if(U.fn(_.value))return;_.issues.push({code:"invalid_format",format:U.format,input:_.value,inst:$,continue:!U.abort})}}),zQ=u("$ZodNumber",($,U)=>{a$.init($,U),$._zod.pattern=$._zod.bag.pattern??y9,$._zod.parse=(_,Q)=>{if(U.coerce)try{_.value=Number(_.value)}catch(Y){}let J=_.value;if(typeof J==="number"&&!Number.isNaN(J)&&Number.isFinite(J))return _;let G=typeof J==="number"?Number.isNaN(J)?"NaN":!Number.isFinite(J)?"Infinity":void 0:void 0;return _.issues.push({expected:"number",code:"invalid_type",input:J,inst:$,...G?{received:G}:{}}),_}}),DZ=u("$ZodNumberFormat",($,U)=>{AK.init($,U),zQ.init($,U)}),g9=u("$ZodBoolean",($,U)=>{a$.init($,U),$._zod.pattern=PK,$._zod.parse=(_,Q)=>{if(U.coerce)try{_.value=Boolean(_.value)}catch(G){}let J=_.value;if(typeof J==="boolean")return _;return _.issues.push({expected:"boolean",code:"invalid_type",input:J,inst:$}),_}}),AQ=u("$ZodBigInt",($,U)=>{a$.init($,U),$._zod.pattern=EK,$._zod.parse=(_,Q)=>{if(U.coerce)try{_.value=BigInt(_.value)}catch(J){}if(typeof _.value==="bigint")return _;return _.issues.push({expected:"bigint",code:"invalid_type",input:_.value,inst:$}),_}}),EZ=u("$ZodBigIntFormat",($,U)=>{kK.init($,U),AQ.init($,U)}),MZ=u("$ZodSymbol",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value;if(typeof J==="symbol")return _;return _.issues.push({expected:"symbol",code:"invalid_type",input:J,inst:$}),_}}),PZ=u("$ZodUndefined",($,U)=>{a$.init($,U),$._zod.pattern=LK,$._zod.values=new Set([void 0]),$._zod.optin="optional",$._zod.optout="optional",$._zod.parse=(_,Q)=>{let J=_.value;if(typeof J>"u")return _;return _.issues.push({expected:"undefined",code:"invalid_type",input:J,inst:$}),_}}),fZ=u("$ZodNull",($,U)=>{a$.init($,U),$._zod.pattern=fK,$._zod.values=new Set([null]),$._zod.parse=(_,Q)=>{let J=_.value;if(J===null)return _;return _.issues.push({expected:"null",code:"invalid_type",input:J,inst:$}),_}}),LZ=u("$ZodAny",($,U)=>{a$.init($,U),$._zod.parse=(_)=>_}),RZ=u("$ZodUnknown",($,U)=>{a$.init($,U),$._zod.parse=(_)=>_}),wZ=u("$ZodNever",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{return _.issues.push({expected:"never",code:"invalid_type",input:_.value,inst:$}),_}}),zZ=u("$ZodVoid",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value;if(typeof J>"u")return _;return _.issues.push({expected:"void",code:"invalid_type",input:J,inst:$}),_}}),AZ=u("$ZodDate",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{if(U.coerce)try{_.value=new Date(_.value)}catch(X){}let J=_.value,G=J instanceof Date;if(G&&!Number.isNaN(J.getTime()))return _;return _.issues.push({expected:"date",code:"invalid_type",input:J,...G?{received:"Invalid Date"}:{},inst:$}),_}});function FL($,U,_){if($.issues.length)U.issues.push(...T1(_,$.issues));U.value[_]=$.value}var kZ=u("$ZodArray",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value;if(!Array.isArray(J))return _.issues.push({expected:"array",code:"invalid_type",input:J,inst:$}),_;_.value=Array(J.length);let G=[];for(let Y=0;Y<J.length;Y++){let X=J[Y],V=U.element._zod.run({value:X,issues:[]},Q);if(V instanceof Promise)G.push(V.then((K)=>FL(K,_,Y)));else FL(V,_,Y)}if(G.length)return Promise.all(G).then(()=>_);return _}});function wQ($,U,_,Q,J){if($.issues.length){if(J&&!(_ in Q))return;U.issues.push(...T1(_,$.issues))}if($.value===void 0){if(_ in Q)U.value[_]=void 0}else U.value[_]=$.value}function wL($){let U=Object.keys($.shape);for(let Q of U)if(!$.shape?.[Q]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${Q}": expected a Zod schema`);let _=rV($.shape);return{...$,keys:U,keySet:new Set(U),numKeys:U.length,optionalKeys:new Set(_)}}function zL($,U,_,Q,J,G){let Y=[],X=J.keySet,V=J.catchall._zod,K=V.def.type,Z=V.optout==="optional";for(let N in U){if(X.has(N))continue;if(K==="never"){Y.push(N);continue}let W=V.run({value:U[N],issues:[]},Q);if(W instanceof Promise)$.push(W.then((B)=>wQ(B,_,N,U,Z)));else wQ(W,_,N,U,Z)}if(Y.length)_.issues.push({code:"unrecognized_keys",keys:Y,input:U,inst:G});if(!$.length)return _;return Promise.all($).then(()=>{return _})}var AL=u("$ZodObject",($,U)=>{if(a$.init($,U),!Object.getOwnPropertyDescriptor(U,"shape")?.get){let X=U.shape;Object.defineProperty(U,"shape",{get:()=>{let V={...X};return Object.defineProperty(U,"shape",{value:V}),V}})}let Q=e_(()=>wL(U));G4($._zod,"propValues",()=>{let X=U.shape,V={};for(let K in X){let Z=X[K]._zod;if(Z.values){V[K]??(V[K]=new Set);for(let N of Z.values)V[K].add(N)}}return V});let J=cU,G=U.catchall,Y;$._zod.parse=(X,V)=>{Y??(Y=Q.value);let K=X.value;if(!J(K))return X.issues.push({expected:"object",code:"invalid_type",input:K,inst:$}),X;X.value={};let Z=[],N=Y.shape;for(let W of Y.keys){let B=N[W],q=B._zod.optout==="optional",O=B._zod.run({value:K[W],issues:[]},V);if(O instanceof Promise)Z.push(O.then((M)=>wQ(M,X,W,K,q)));else wQ(O,X,W,K,q)}if(!G)return Z.length?Promise.all(Z).then(()=>X):X;return zL(Z,K,X,V,Q.value,$)}}),TZ=u("$ZodObjectJIT",($,U)=>{AL.init($,U);let _=$._zod.parse,Q=e_(()=>wL(U)),J=(W)=>{let B=new MQ(["shape","payload","ctx"]),q=Q.value,O=(z)=>{let A=YQ(z);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};B.write("const input = payload.value;");let M=Object.create(null),P=0;for(let z of q.keys)M[z]=`key_${P++}`;B.write("const newResult = {};");for(let z of q.keys){let A=M[z],E=YQ(z),f=W[z]?._zod?.optout==="optional";if(B.write(`const ${A} = ${O(z)};`),f)B.write(`
533
+ if (${A}.issues.length) {
534
+ if (${E} in input) {
535
+ payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
536
+ ...iss,
537
+ path: iss.path ? [${E}, ...iss.path] : [${E}]
538
+ })));
539
+ }
540
+ }
541
+
542
+ if (${A}.value === undefined) {
543
+ if (${E} in input) {
544
+ newResult[${E}] = undefined;
545
+ }
546
+ } else {
547
+ newResult[${E}] = ${A}.value;
548
+ }
549
+
550
+ `);else B.write(`
551
+ if (${A}.issues.length) {
552
+ payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
553
+ ...iss,
554
+ path: iss.path ? [${E}, ...iss.path] : [${E}]
555
+ })));
556
+ }
557
+
558
+ if (${A}.value === undefined) {
559
+ if (${E} in input) {
560
+ newResult[${E}] = undefined;
561
+ }
562
+ } else {
563
+ newResult[${E}] = ${A}.value;
564
+ }
565
+
566
+ `)}B.write("payload.value = newResult;"),B.write("return payload;");let H=B.compile();return(z,A)=>H(W,z,A)},G,Y=cU,X=!R9.jitless,K=X&&dV.value,Z=U.catchall,N;$._zod.parse=(W,B)=>{N??(N=Q.value);let q=W.value;if(!Y(q))return W.issues.push({expected:"object",code:"invalid_type",input:q,inst:$}),W;if(X&&K&&B?.async===!1&&B.jitless!==!0){if(!G)G=J(U.shape);if(W=G(W,B),!Z)return W;return zL([],q,W,B,N,$)}return _(W,B)}});function qL($,U,_,Q){for(let G of $)if(G.issues.length===0)return U.value=G.value,U;let J=$.filter((G)=>!r2(G));if(J.length===1)return U.value=J[0].value,J[0];return U.issues.push({code:"invalid_union",input:U.value,inst:_,errors:$.map((G)=>G.issues.map((Y)=>Z1(Y,Q,N6())))}),U}var h9=u("$ZodUnion",($,U)=>{a$.init($,U),G4($._zod,"optin",()=>U.options.some((J)=>J._zod.optin==="optional")?"optional":void 0),G4($._zod,"optout",()=>U.options.some((J)=>J._zod.optout==="optional")?"optional":void 0),G4($._zod,"values",()=>{if(U.options.every((J)=>J._zod.values))return new Set(U.options.flatMap((J)=>Array.from(J._zod.values)));return}),G4($._zod,"pattern",()=>{if(U.options.every((J)=>J._zod.pattern)){let J=U.options.map((G)=>G._zod.pattern);return new RegExp(`^(${J.map((G)=>A9(G.source)).join("|")})$`)}return});let _=U.options.length===1,Q=U.options[0]._zod.run;$._zod.parse=(J,G)=>{if(_)return Q(J,G);let Y=!1,X=[];for(let V of U.options){let K=V._zod.run({value:J.value,issues:[]},G);if(K instanceof Promise)X.push(K),Y=!0;else{if(K.issues.length===0)return K;X.push(K)}}if(!Y)return qL(X,J,$,G);return Promise.all(X).then((V)=>{return qL(V,J,$,G)})}});function BL($,U,_,Q){let J=$.filter((G)=>G.issues.length===0);if(J.length===1)return U.value=J[0].value,U;if(J.length===0)U.issues.push({code:"invalid_union",input:U.value,inst:_,errors:$.map((G)=>G.issues.map((Y)=>Z1(Y,Q,N6())))});else U.issues.push({code:"invalid_union",input:U.value,inst:_,errors:[],inclusive:!1});return U}var SZ=u("$ZodXor",($,U)=>{h9.init($,U),U.inclusive=!1;let _=U.options.length===1,Q=U.options[0]._zod.run;$._zod.parse=(J,G)=>{if(_)return Q(J,G);let Y=!1,X=[];for(let V of U.options){let K=V._zod.run({value:J.value,issues:[]},G);if(K instanceof Promise)X.push(K),Y=!0;else X.push(K)}if(!Y)return BL(X,J,$,G);return Promise.all(X).then((V)=>{return BL(V,J,$,G)})}}),IZ=u("$ZodDiscriminatedUnion",($,U)=>{U.inclusive=!1,h9.init($,U);let _=$._zod.parse;G4($._zod,"propValues",()=>{let J={};for(let G of U.options){let Y=G._zod.propValues;if(!Y||Object.keys(Y).length===0)throw Error(`Invalid discriminated union option at index "${U.options.indexOf(G)}"`);for(let[X,V]of Object.entries(Y)){if(!J[X])J[X]=new Set;for(let K of V)J[X].add(K)}}return J});let Q=e_(()=>{let J=U.options,G=new Map;for(let Y of J){let X=Y._zod.propValues?.[U.discriminator];if(!X||X.size===0)throw Error(`Invalid discriminated union option at index "${U.options.indexOf(Y)}"`);for(let V of X){if(G.has(V))throw Error(`Duplicate discriminator value "${String(V)}"`);G.set(V,Y)}}return G});$._zod.parse=(J,G)=>{let Y=J.value;if(!cU(Y))return J.issues.push({code:"invalid_type",expected:"object",input:Y,inst:$}),J;let X=Q.value.get(Y?.[U.discriminator]);if(X)return X._zod.run(J,G);if(U.unionFallback)return _(J,G);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:U.discriminator,input:Y,path:[U.discriminator],inst:$}),J}}),vZ=u("$ZodIntersection",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value,G=U.left._zod.run({value:J,issues:[]},Q),Y=U.right._zod.run({value:J,issues:[]},Q);if(G instanceof Promise||Y instanceof Promise)return Promise.all([G,Y]).then(([V,K])=>{return HL(_,V,K)});return HL(_,G,Y)}});function rK($,U){if($===U)return{valid:!0,data:$};if($ instanceof Date&&U instanceof Date&&+$===+U)return{valid:!0,data:$};if(i2($)&&i2(U)){let _=Object.keys(U),Q=Object.keys($).filter((G)=>_.indexOf(G)!==-1),J={...$,...U};for(let G of Q){let Y=rK($[G],U[G]);if(!Y.valid)return{valid:!1,mergeErrorPath:[G,...Y.mergeErrorPath]};J[G]=Y.data}return{valid:!0,data:J}}if(Array.isArray($)&&Array.isArray(U)){if($.length!==U.length)return{valid:!1,mergeErrorPath:[]};let _=[];for(let Q=0;Q<$.length;Q++){let J=$[Q],G=U[Q],Y=rK(J,G);if(!Y.valid)return{valid:!1,mergeErrorPath:[Q,...Y.mergeErrorPath]};_.push(Y.data)}return{valid:!0,data:_}}return{valid:!1,mergeErrorPath:[]}}function HL($,U,_){let Q=new Map,J;for(let X of U.issues)if(X.code==="unrecognized_keys"){J??(J=X);for(let V of X.keys){if(!Q.has(V))Q.set(V,{});Q.get(V).l=!0}}else $.issues.push(X);for(let X of _.issues)if(X.code==="unrecognized_keys")for(let V of X.keys){if(!Q.has(V))Q.set(V,{});Q.get(V).r=!0}else $.issues.push(X);let G=[...Q].filter(([,X])=>X.l&&X.r).map(([X])=>X);if(G.length&&J)$.issues.push({...J,keys:G});if(r2($))return $;let Y=rK(U.value,_.value);if(!Y.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(Y.mergeErrorPath)}`);return $.value=Y.data,$}var kQ=u("$ZodTuple",($,U)=>{a$.init($,U);let _=U.items;$._zod.parse=(Q,J)=>{let G=Q.value;if(!Array.isArray(G))return Q.issues.push({input:G,inst:$,expected:"tuple",code:"invalid_type"}),Q;Q.value=[];let Y=[],X=[..._].reverse().findIndex((Z)=>Z._zod.optin!=="optional"),V=X===-1?0:_.length-X;if(!U.rest){let Z=G.length>_.length,N=G.length<V-1;if(Z||N)return Q.issues.push({...Z?{code:"too_big",maximum:_.length,inclusive:!0}:{code:"too_small",minimum:_.length},input:G,inst:$,origin:"array"}),Q}let K=-1;for(let Z of _){if(K++,K>=G.length){if(K>=V)continue}let N=Z._zod.run({value:G[K],issues:[]},J);if(N instanceof Promise)Y.push(N.then((W)=>PQ(W,Q,K)));else PQ(N,Q,K)}if(U.rest){let Z=G.slice(_.length);for(let N of Z){K++;let W=U.rest._zod.run({value:N,issues:[]},J);if(W instanceof Promise)Y.push(W.then((B)=>PQ(B,Q,K)));else PQ(W,Q,K)}}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}});function PQ($,U,_){if($.issues.length)U.issues.push(...T1(_,$.issues));U.value[_]=$.value}var CZ=u("$ZodRecord",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value;if(!i2(J))return _.issues.push({expected:"record",code:"invalid_type",input:J,inst:$}),_;let G=[],Y=U.keyType._zod.values;if(Y){_.value={};let X=new Set;for(let K of Y)if(typeof K==="string"||typeof K==="number"||typeof K==="symbol"){X.add(typeof K==="number"?K.toString():K);let Z=U.valueType._zod.run({value:J[K],issues:[]},Q);if(Z instanceof Promise)G.push(Z.then((N)=>{if(N.issues.length)_.issues.push(...T1(K,N.issues));_.value[K]=N.value}));else{if(Z.issues.length)_.issues.push(...T1(K,Z.issues));_.value[K]=Z.value}}let V;for(let K in J)if(!X.has(K))V=V??[],V.push(K);if(V&&V.length>0)_.issues.push({code:"unrecognized_keys",input:J,inst:$,keys:V})}else{_.value={};for(let X of Reflect.ownKeys(J)){if(X==="__proto__")continue;let V=U.keyType._zod.run({value:X,issues:[]},Q);if(V instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof X==="string"&&y9.test(X)&&V.issues.length&&V.issues.some((N)=>N.code==="invalid_type"&&N.expected==="number")){let N=U.keyType._zod.run({value:Number(X),issues:[]},Q);if(N instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(N.issues.length===0)V=N}if(V.issues.length){if(U.mode==="loose")_.value[X]=J[X];else _.issues.push({code:"invalid_key",origin:"record",issues:V.issues.map((N)=>Z1(N,Q,N6())),input:X,path:[X],inst:$});continue}let Z=U.valueType._zod.run({value:J[X],issues:[]},Q);if(Z instanceof Promise)G.push(Z.then((N)=>{if(N.issues.length)_.issues.push(...T1(X,N.issues));_.value[V.value]=N.value}));else{if(Z.issues.length)_.issues.push(...T1(X,Z.issues));_.value[V.value]=Z.value}}}if(G.length)return Promise.all(G).then(()=>_);return _}}),yZ=u("$ZodMap",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value;if(!(J instanceof Map))return _.issues.push({expected:"map",code:"invalid_type",input:J,inst:$}),_;let G=[];_.value=new Map;for(let[Y,X]of J){let V=U.keyType._zod.run({value:Y,issues:[]},Q),K=U.valueType._zod.run({value:X,issues:[]},Q);if(V instanceof Promise||K instanceof Promise)G.push(Promise.all([V,K]).then(([Z,N])=>{OL(Z,N,_,Y,J,$,Q)}));else OL(V,K,_,Y,J,$,Q)}if(G.length)return Promise.all(G).then(()=>_);return _}});function OL($,U,_,Q,J,G,Y){if($.issues.length)if(k9.has(typeof Q))_.issues.push(...T1(Q,$.issues));else _.issues.push({code:"invalid_key",origin:"map",input:J,inst:G,issues:$.issues.map((X)=>Z1(X,Y,N6()))});if(U.issues.length)if(k9.has(typeof Q))_.issues.push(...T1(Q,U.issues));else _.issues.push({origin:"map",code:"invalid_element",input:J,inst:G,key:Q,issues:U.issues.map((X)=>Z1(X,Y,N6()))});_.value.set($.value,U.value)}var bZ=u("$ZodSet",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value;if(!(J instanceof Set))return _.issues.push({input:J,inst:$,expected:"set",code:"invalid_type"}),_;let G=[];_.value=new Set;for(let Y of J){let X=U.valueType._zod.run({value:Y,issues:[]},Q);if(X instanceof Promise)G.push(X.then((V)=>jL(V,_)));else jL(X,_)}if(G.length)return Promise.all(G).then(()=>_);return _}});function jL($,U){if($.issues.length)U.issues.push(...$.issues);U.value.add($.value)}var xZ=u("$ZodEnum",($,U)=>{a$.init($,U);let _=z9(U.entries),Q=new Set(_);$._zod.values=Q,$._zod.pattern=new RegExp(`^(${_.filter((J)=>k9.has(typeof J)).map((J)=>typeof J==="string"?h1(J):J.toString()).join("|")})$`),$._zod.parse=(J,G)=>{let Y=J.value;if(Q.has(Y))return J;return J.issues.push({code:"invalid_value",values:_,input:Y,inst:$}),J}}),gZ=u("$ZodLiteral",($,U)=>{if(a$.init($,U),U.values.length===0)throw Error("Cannot create literal schema with no valid values");let _=new Set(U.values);$._zod.values=_,$._zod.pattern=new RegExp(`^(${U.values.map((Q)=>typeof Q==="string"?h1(Q):Q?h1(Q.toString()):String(Q)).join("|")})$`),$._zod.parse=(Q,J)=>{let G=Q.value;if(_.has(G))return Q;return Q.issues.push({code:"invalid_value",values:U.values,input:G,inst:$}),Q}}),hZ=u("$ZodFile",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{let J=_.value;if(J instanceof File)return _;return _.issues.push({expected:"file",code:"invalid_type",input:J,inst:$}),_}}),uZ=u("$ZodTransform",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{if(Q.direction==="backward")throw new mU($.constructor.name);let J=U.transform(_.value,_);if(Q.async)return(J instanceof Promise?J:Promise.resolve(J)).then((Y)=>{return _.value=Y,_});if(J instanceof Promise)throw new M0;return _.value=J,_}});function DL($,U){if($.issues.length&&U===void 0)return{issues:[],value:void 0};return $}var TQ=u("$ZodOptional",($,U)=>{a$.init($,U),$._zod.optin="optional",$._zod.optout="optional",G4($._zod,"values",()=>{return U.innerType._zod.values?new Set([...U.innerType._zod.values,void 0]):void 0}),G4($._zod,"pattern",()=>{let _=U.innerType._zod.pattern;return _?new RegExp(`^(${A9(_.source)})?$`):void 0}),$._zod.parse=(_,Q)=>{if(U.innerType._zod.optin==="optional"){let J=U.innerType._zod.run(_,Q);if(J instanceof Promise)return J.then((G)=>DL(G,_.value));return DL(J,_.value)}if(_.value===void 0)return _;return U.innerType._zod.run(_,Q)}}),mZ=u("$ZodExactOptional",($,U)=>{TQ.init($,U),G4($._zod,"values",()=>U.innerType._zod.values),G4($._zod,"pattern",()=>U.innerType._zod.pattern),$._zod.parse=(_,Q)=>{return U.innerType._zod.run(_,Q)}}),cZ=u("$ZodNullable",($,U)=>{a$.init($,U),G4($._zod,"optin",()=>U.innerType._zod.optin),G4($._zod,"optout",()=>U.innerType._zod.optout),G4($._zod,"pattern",()=>{let _=U.innerType._zod.pattern;return _?new RegExp(`^(${A9(_.source)}|null)$`):void 0}),G4($._zod,"values",()=>{return U.innerType._zod.values?new Set([...U.innerType._zod.values,null]):void 0}),$._zod.parse=(_,Q)=>{if(_.value===null)return _;return U.innerType._zod.run(_,Q)}}),dZ=u("$ZodDefault",($,U)=>{a$.init($,U),$._zod.optin="optional",G4($._zod,"values",()=>U.innerType._zod.values),$._zod.parse=(_,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(_,Q);if(_.value===void 0)return _.value=U.defaultValue,_;let J=U.innerType._zod.run(_,Q);if(J instanceof Promise)return J.then((G)=>EL(G,U));return EL(J,U)}});function EL($,U){if($.value===void 0)$.value=U.defaultValue;return $}var lZ=u("$ZodPrefault",($,U)=>{a$.init($,U),$._zod.optin="optional",G4($._zod,"values",()=>U.innerType._zod.values),$._zod.parse=(_,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(_,Q);if(_.value===void 0)_.value=U.defaultValue;return U.innerType._zod.run(_,Q)}}),iZ=u("$ZodNonOptional",($,U)=>{a$.init($,U),G4($._zod,"values",()=>{let _=U.innerType._zod.values;return _?new Set([..._].filter((Q)=>Q!==void 0)):void 0}),$._zod.parse=(_,Q)=>{let J=U.innerType._zod.run(_,Q);if(J instanceof Promise)return J.then((G)=>ML(G,$));return ML(J,$)}});function ML($,U){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:U});return $}var rZ=u("$ZodSuccess",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{if(Q.direction==="backward")throw new mU("ZodSuccess");let J=U.innerType._zod.run(_,Q);if(J instanceof Promise)return J.then((G)=>{return _.value=G.issues.length===0,_});return _.value=J.issues.length===0,_}}),nZ=u("$ZodCatch",($,U)=>{a$.init($,U),G4($._zod,"optin",()=>U.innerType._zod.optin),G4($._zod,"optout",()=>U.innerType._zod.optout),G4($._zod,"values",()=>U.innerType._zod.values),$._zod.parse=(_,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(_,Q);let J=U.innerType._zod.run(_,Q);if(J instanceof Promise)return J.then((G)=>{if(_.value=G.value,G.issues.length)_.value=U.catchValue({..._,error:{issues:G.issues.map((Y)=>Z1(Y,Q,N6()))},input:_.value}),_.issues=[];return _});if(_.value=J.value,J.issues.length)_.value=U.catchValue({..._,error:{issues:J.issues.map((G)=>Z1(G,Q,N6()))},input:_.value}),_.issues=[];return _}}),pZ=u("$ZodNaN",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{if(typeof _.value!=="number"||!Number.isNaN(_.value))return _.issues.push({input:_.value,inst:$,expected:"nan",code:"invalid_type"}),_;return _}}),oZ=u("$ZodPipe",($,U)=>{a$.init($,U),G4($._zod,"values",()=>U.in._zod.values),G4($._zod,"optin",()=>U.in._zod.optin),G4($._zod,"optout",()=>U.out._zod.optout),G4($._zod,"propValues",()=>U.in._zod.propValues),$._zod.parse=(_,Q)=>{if(Q.direction==="backward"){let G=U.out._zod.run(_,Q);if(G instanceof Promise)return G.then((Y)=>fQ(Y,U.in,Q));return fQ(G,U.in,Q)}let J=U.in._zod.run(_,Q);if(J instanceof Promise)return J.then((G)=>fQ(G,U.out,Q));return fQ(J,U.out,Q)}});function fQ($,U,_){if($.issues.length)return $.aborted=!0,$;return U._zod.run({value:$.value,issues:$.issues},_)}var u9=u("$ZodCodec",($,U)=>{a$.init($,U),G4($._zod,"values",()=>U.in._zod.values),G4($._zod,"optin",()=>U.in._zod.optin),G4($._zod,"optout",()=>U.out._zod.optout),G4($._zod,"propValues",()=>U.in._zod.propValues),$._zod.parse=(_,Q)=>{if((Q.direction||"forward")==="forward"){let G=U.in._zod.run(_,Q);if(G instanceof Promise)return G.then((Y)=>LQ(Y,U,Q));return LQ(G,U,Q)}else{let G=U.out._zod.run(_,Q);if(G instanceof Promise)return G.then((Y)=>LQ(Y,U,Q));return LQ(G,U,Q)}}});function LQ($,U,_){if($.issues.length)return $.aborted=!0,$;if((_.direction||"forward")==="forward"){let J=U.transform($.value,$);if(J instanceof Promise)return J.then((G)=>RQ($,G,U.out,_));return RQ($,J,U.out,_)}else{let J=U.reverseTransform($.value,$);if(J instanceof Promise)return J.then((G)=>RQ($,G,U.in,_));return RQ($,J,U.in,_)}}function RQ($,U,_,Q){if($.issues.length)return $.aborted=!0,$;return _._zod.run({value:U,issues:$.issues},Q)}var aZ=u("$ZodReadonly",($,U)=>{a$.init($,U),G4($._zod,"propValues",()=>U.innerType._zod.propValues),G4($._zod,"values",()=>U.innerType._zod.values),G4($._zod,"optin",()=>U.innerType?._zod?.optin),G4($._zod,"optout",()=>U.innerType?._zod?.optout),$._zod.parse=(_,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(_,Q);let J=U.innerType._zod.run(_,Q);if(J instanceof Promise)return J.then(PL);return PL(J)}});function PL($){return $.value=Object.freeze($.value),$}var tZ=u("$ZodTemplateLiteral",($,U)=>{a$.init($,U);let _=[];for(let Q of U.parts)if(typeof Q==="object"&&Q!==null){if(!Q._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...Q._zod.traits].shift()}`);let J=Q._zod.pattern instanceof RegExp?Q._zod.pattern.source:Q._zod.pattern;if(!J)throw Error(`Invalid template literal part: ${Q._zod.traits}`);let G=J.startsWith("^")?1:0,Y=J.endsWith("$")?J.length-1:J.length;_.push(J.slice(G,Y))}else if(Q===null||iV.has(typeof Q))_.push(h1(`${Q}`));else throw Error(`Invalid template literal part: ${Q}`);$._zod.pattern=new RegExp(`^${_.join("")}$`),$._zod.parse=(Q,J)=>{if(typeof Q.value!=="string")return Q.issues.push({input:Q.value,inst:$,expected:"string",code:"invalid_type"}),Q;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(Q.value))return Q.issues.push({input:Q.value,inst:$,code:"invalid_format",format:U.format??"template_literal",pattern:$._zod.pattern.source}),Q;return Q}}),eZ=u("$ZodFunction",($,U)=>{return a$.init($,U),$._def=U,$._zod.def=U,$.implement=(_)=>{if(typeof _!=="function")throw Error("implement() must be called with a function");return function(...Q){let J=$._def.input?VQ($._def.input,Q):Q,G=Reflect.apply(_,this,J);if($._def.output)return VQ($._def.output,G);return G}},$.implementAsync=(_)=>{if(typeof _!=="function")throw Error("implementAsync() must be called with a function");return async function(...Q){let J=$._def.input?await KQ($._def.input,Q):Q,G=await Reflect.apply(_,this,J);if($._def.output)return await KQ($._def.output,G);return G}},$._zod.parse=(_,Q)=>{if(typeof _.value!=="function")return _.issues.push({code:"invalid_type",expected:"function",input:_.value,inst:$}),_;if($._def.output&&$._def.output._zod.def.type==="promise")_.value=$.implementAsync(_.value);else _.value=$.implement(_.value);return _},$.input=(..._)=>{let Q=$.constructor;if(Array.isArray(_[0]))return new Q({type:"function",input:new kQ({type:"tuple",items:_[0],rest:_[1]}),output:$._def.output});return new Q({type:"function",input:_[0],output:$._def.output})},$.output=(_)=>{return new $.constructor({type:"function",input:$._def.input,output:_})},$}),sZ=u("$ZodPromise",($,U)=>{a$.init($,U),$._zod.parse=(_,Q)=>{return Promise.resolve(_.value).then((J)=>U.innerType._zod.run({value:J,issues:[]},Q))}}),$W=u("$ZodLazy",($,U)=>{a$.init($,U),G4($._zod,"innerType",()=>U.getter()),G4($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),G4($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),G4($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),G4($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(_,Q)=>{return $._zod.innerType._zod.run(_,Q)}}),UW=u("$ZodCustom",($,U)=>{h4.init($,U),a$.init($,U),$._zod.parse=(_,Q)=>{return _},$._zod.check=(_)=>{let Q=_.value,J=U.fn(Q);if(J instanceof Promise)return J.then((G)=>fL(G,_,Q,$));fL(J,_,Q,$);return}});function fL($,U,_,Q){if(!$){let J={code:"custom",input:_,inst:Q,path:[...Q._zod.def.path??[]],continue:!Q._zod.def.abort};if(Q._zod.def.params)J.params=Q._zod.def.params;U.issues.push(s_(J))}}var i9={};Z0(i9,{zhTW:()=>rW,zhCN:()=>iW,yo:()=>nW,vi:()=>lW,uz:()=>dW,ur:()=>cW,uk:()=>l9,ua:()=>mW,tr:()=>uW,th:()=>hW,ta:()=>gW,sv:()=>xW,sl:()=>bW,ru:()=>yW,pt:()=>CW,ps:()=>IW,pl:()=>vW,ota:()=>SW,no:()=>TW,nl:()=>kW,ms:()=>AW,mk:()=>zW,lt:()=>wW,ko:()=>RW,km:()=>c9,kh:()=>LW,ka:()=>fW,ja:()=>PW,it:()=>MW,is:()=>EW,id:()=>DW,hy:()=>jW,hu:()=>OW,he:()=>HW,frCA:()=>BW,fr:()=>qW,fi:()=>FW,fa:()=>NW,es:()=>WW,eo:()=>ZW,en:()=>m9,de:()=>KW,da:()=>VW,cs:()=>XW,ca:()=>YW,bg:()=>GW,be:()=>QW,az:()=>JW,ar:()=>_W});var Fl=()=>{let $={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function U(J){return $[J]??null}let _={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${J.expected}، ولكن تم إدخال ${X}`;return`مدخلات غير مقبولة: يفترض إدخال ${G}، ولكن تم إدخال ${X}`}case"invalid_value":if(J.values.length===1)return`مدخلات غير مقبولة: يفترض إدخال ${X$(J.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return` أكبر من اللازم: يفترض أن تكون ${J.origin??"القيمة"} ${G} ${J.maximum.toString()} ${Y.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${J.origin??"القيمة"} ${G} ${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`أصغر من اللازم: يفترض لـ ${J.origin} أن يكون ${G} ${J.minimum.toString()} ${Y.unit}`;return`أصغر من اللازم: يفترض لـ ${J.origin} أن يكون ${G} ${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`نَص غير مقبول: يجب أن يبدأ بـ "${J.prefix}"`;if(G.format==="ends_with")return`نَص غير مقبول: يجب أن ينتهي بـ "${G.suffix}"`;if(G.format==="includes")return`نَص غير مقبول: يجب أن يتضمَّن "${G.includes}"`;if(G.format==="regex")return`نَص غير مقبول: يجب أن يطابق النمط ${G.pattern}`;return`${_[G.format]??J.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${J.divisor}`;case"unrecognized_keys":return`معرف${J.keys.length>1?"ات":""} غريب${J.keys.length>1?"ة":""}: ${p(J.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${J.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${J.origin}`;default:return"مدخل غير مقبول"}}};function _W(){return{localeError:Fl()}}var ql=()=>{let $={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function U(J){return $[J]??null}let _={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Yanlış dəyər: gözlənilən instanceof ${J.expected}, daxil olan ${X}`;return`Yanlış dəyər: gözlənilən ${G}, daxil olan ${X}`}case"invalid_value":if(J.values.length===1)return`Yanlış dəyər: gözlənilən ${X$(J.values[0])}`;return`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Çox böyük: gözlənilən ${J.origin??"dəyər"} ${G}${J.maximum.toString()} ${Y.unit??"element"}`;return`Çox böyük: gözlənilən ${J.origin??"dəyər"} ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Çox kiçik: gözlənilən ${J.origin} ${G}${J.minimum.toString()} ${Y.unit}`;return`Çox kiçik: gözlənilən ${J.origin} ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Yanlış mətn: "${G.prefix}" ilə başlamalıdır`;if(G.format==="ends_with")return`Yanlış mətn: "${G.suffix}" ilə bitməlidir`;if(G.format==="includes")return`Yanlış mətn: "${G.includes}" daxil olmalıdır`;if(G.format==="regex")return`Yanlış mətn: ${G.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${_[G.format]??J.format}`}case"not_multiple_of":return`Yanlış ədəd: ${J.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${J.keys.length>1?"lar":""}: ${p(J.keys,", ")}`;case"invalid_key":return`${J.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${J.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};function JW(){return{localeError:ql()}}function kL($,U,_,Q){let J=Math.abs($),G=J%10,Y=J%100;if(Y>=11&&Y<=19)return Q;if(G===1)return U;if(G>=2&&G<=4)return _;return Q}var Bl=()=>{let $={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function U(J){return $[J]??null}let _={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},Q={nan:"NaN",number:"лік",array:"масіў"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Няправільны ўвод: чакаўся instanceof ${J.expected}, атрымана ${X}`;return`Няправільны ўвод: чакаўся ${G}, атрымана ${X}`}case"invalid_value":if(J.values.length===1)return`Няправільны ўвод: чакалася ${X$(J.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y){let X=Number(J.maximum),V=kL(X,Y.unit.one,Y.unit.few,Y.unit.many);return`Занадта вялікі: чакалася, што ${J.origin??"значэнне"} павінна ${Y.verb} ${G}${J.maximum.toString()} ${V}`}return`Занадта вялікі: чакалася, што ${J.origin??"значэнне"} павінна быць ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y){let X=Number(J.minimum),V=kL(X,Y.unit.one,Y.unit.few,Y.unit.many);return`Занадта малы: чакалася, што ${J.origin} павінна ${Y.verb} ${G}${J.minimum.toString()} ${V}`}return`Занадта малы: чакалася, што ${J.origin} павінна быць ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Няправільны радок: павінен пачынацца з "${G.prefix}"`;if(G.format==="ends_with")return`Няправільны радок: павінен заканчвацца на "${G.suffix}"`;if(G.format==="includes")return`Няправільны радок: павінен змяшчаць "${G.includes}"`;if(G.format==="regex")return`Няправільны радок: павінен адпавядаць шаблону ${G.pattern}`;return`Няправільны ${_[G.format]??J.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${J.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${J.keys.length>1?"ключы":"ключ"}: ${p(J.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${J.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${J.origin}`;default:return"Няправільны ўвод"}}};function QW(){return{localeError:Bl()}}var Hl=()=>{let $={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function U(J){return $[J]??null}let _={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},Q={nan:"NaN",number:"число",array:"масив"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Невалиден вход: очакван instanceof ${J.expected}, получен ${X}`;return`Невалиден вход: очакван ${G}, получен ${X}`}case"invalid_value":if(J.values.length===1)return`Невалиден вход: очакван ${X$(J.values[0])}`;return`Невалидна опция: очаквано едно от ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Твърде голямо: очаква се ${J.origin??"стойност"} да съдържа ${G}${J.maximum.toString()} ${Y.unit??"елемента"}`;return`Твърде голямо: очаква се ${J.origin??"стойност"} да бъде ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Твърде малко: очаква се ${J.origin} да съдържа ${G}${J.minimum.toString()} ${Y.unit}`;return`Твърде малко: очаква се ${J.origin} да бъде ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Невалиден низ: трябва да започва с "${G.prefix}"`;if(G.format==="ends_with")return`Невалиден низ: трябва да завършва с "${G.suffix}"`;if(G.format==="includes")return`Невалиден низ: трябва да включва "${G.includes}"`;if(G.format==="regex")return`Невалиден низ: трябва да съвпада с ${G.pattern}`;let Y="Невалиден";if(G.format==="emoji")Y="Невалидно";if(G.format==="datetime")Y="Невалидно";if(G.format==="date")Y="Невалидна";if(G.format==="time")Y="Невалидно";if(G.format==="duration")Y="Невалидна";return`${Y} ${_[G.format]??J.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${J.divisor}`;case"unrecognized_keys":return`Неразпознат${J.keys.length>1?"и":""} ключ${J.keys.length>1?"ове":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${J.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${J.origin}`;default:return"Невалиден вход"}}};function GW(){return{localeError:Hl()}}var Ol=()=>{let $={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function U(J){return $[J]??null}let _={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Tipus invàlid: s'esperava instanceof ${J.expected}, s'ha rebut ${X}`;return`Tipus invàlid: s'esperava ${G}, s'ha rebut ${X}`}case"invalid_value":if(J.values.length===1)return`Valor invàlid: s'esperava ${X$(J.values[0])}`;return`Opció invàlida: s'esperava una de ${p(J.values," o ")}`;case"too_big":{let G=J.inclusive?"com a màxim":"menys de",Y=U(J.origin);if(Y)return`Massa gran: s'esperava que ${J.origin??"el valor"} contingués ${G} ${J.maximum.toString()} ${Y.unit??"elements"}`;return`Massa gran: s'esperava que ${J.origin??"el valor"} fos ${G} ${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?"com a mínim":"més de",Y=U(J.origin);if(Y)return`Massa petit: s'esperava que ${J.origin} contingués ${G} ${J.minimum.toString()} ${Y.unit}`;return`Massa petit: s'esperava que ${J.origin} fos ${G} ${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Format invàlid: ha de començar amb "${G.prefix}"`;if(G.format==="ends_with")return`Format invàlid: ha d'acabar amb "${G.suffix}"`;if(G.format==="includes")return`Format invàlid: ha d'incloure "${G.includes}"`;if(G.format==="regex")return`Format invàlid: ha de coincidir amb el patró ${G.pattern}`;return`Format invàlid per a ${_[G.format]??J.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${J.divisor}`;case"unrecognized_keys":return`Clau${J.keys.length>1?"s":""} no reconeguda${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${J.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${J.origin}`;default:return"Entrada invàlida"}}};function YW(){return{localeError:Ol()}}var jl=()=>{let $={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function U(J){return $[J]??null}let _={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},Q={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Neplatný vstup: očekáváno instanceof ${J.expected}, obdrženo ${X}`;return`Neplatný vstup: očekáváno ${G}, obdrženo ${X}`}case"invalid_value":if(J.values.length===1)return`Neplatný vstup: očekáváno ${X$(J.values[0])}`;return`Neplatná možnost: očekávána jedna z hodnot ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Hodnota je příliš velká: ${J.origin??"hodnota"} musí mít ${G}${J.maximum.toString()} ${Y.unit??"prvků"}`;return`Hodnota je příliš velká: ${J.origin??"hodnota"} musí být ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Hodnota je příliš malá: ${J.origin??"hodnota"} musí mít ${G}${J.minimum.toString()} ${Y.unit??"prvků"}`;return`Hodnota je příliš malá: ${J.origin??"hodnota"} musí být ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Neplatný řetězec: musí začínat na "${G.prefix}"`;if(G.format==="ends_with")return`Neplatný řetězec: musí končit na "${G.suffix}"`;if(G.format==="includes")return`Neplatný řetězec: musí obsahovat "${G.includes}"`;if(G.format==="regex")return`Neplatný řetězec: musí odpovídat vzoru ${G.pattern}`;return`Neplatný formát ${_[G.format]??J.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${J.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${p(J.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${J.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${J.origin}`;default:return"Neplatný vstup"}}};function XW(){return{localeError:jl()}}var Dl=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function U(J){return $[J]??null}let _={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Ugyldigt input: forventede instanceof ${J.expected}, fik ${X}`;return`Ugyldigt input: forventede ${G}, fik ${X}`}case"invalid_value":if(J.values.length===1)return`Ugyldig værdi: forventede ${X$(J.values[0])}`;return`Ugyldigt valg: forventede en af følgende ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin),X=Q[J.origin]??J.origin;if(Y)return`For stor: forventede ${X??"value"} ${Y.verb} ${G} ${J.maximum.toString()} ${Y.unit??"elementer"}`;return`For stor: forventede ${X??"value"} havde ${G} ${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin),X=Q[J.origin]??J.origin;if(Y)return`For lille: forventede ${X} ${Y.verb} ${G} ${J.minimum.toString()} ${Y.unit}`;return`For lille: forventede ${X} havde ${G} ${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Ugyldig streng: skal starte med "${G.prefix}"`;if(G.format==="ends_with")return`Ugyldig streng: skal ende med "${G.suffix}"`;if(G.format==="includes")return`Ugyldig streng: skal indeholde "${G.includes}"`;if(G.format==="regex")return`Ugyldig streng: skal matche mønsteret ${G.pattern}`;return`Ugyldig ${_[G.format]??J.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${p(J.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${J.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${J.origin}`;default:return"Ugyldigt input"}}};function VW(){return{localeError:Dl()}}var El=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function U(J){return $[J]??null}let _={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},Q={nan:"NaN",number:"Zahl",array:"Array"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Ungültige Eingabe: erwartet instanceof ${J.expected}, erhalten ${X}`;return`Ungültige Eingabe: erwartet ${G}, erhalten ${X}`}case"invalid_value":if(J.values.length===1)return`Ungültige Eingabe: erwartet ${X$(J.values[0])}`;return`Ungültige Option: erwartet eine von ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Zu groß: erwartet, dass ${J.origin??"Wert"} ${G}${J.maximum.toString()} ${Y.unit??"Elemente"} hat`;return`Zu groß: erwartet, dass ${J.origin??"Wert"} ${G}${J.maximum.toString()} ist`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Zu klein: erwartet, dass ${J.origin} ${G}${J.minimum.toString()} ${Y.unit} hat`;return`Zu klein: erwartet, dass ${J.origin} ${G}${J.minimum.toString()} ist`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Ungültiger String: muss mit "${G.prefix}" beginnen`;if(G.format==="ends_with")return`Ungültiger String: muss mit "${G.suffix}" enden`;if(G.format==="includes")return`Ungültiger String: muss "${G.includes}" enthalten`;if(G.format==="regex")return`Ungültiger String: muss dem Muster ${G.pattern} entsprechen`;return`Ungültig: ${_[G.format]??J.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${J.divisor} sein`;case"unrecognized_keys":return`${J.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${p(J.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${J.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${J.origin}`;default:return"Ungültige Eingabe"}}};function KW(){return{localeError:El()}}var Ml=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function U(J){return $[J]??null}let _={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;return`Invalid input: expected ${G}, received ${X}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${X$(J.values[0])}`;return`Invalid option: expected one of ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Too big: expected ${J.origin??"value"} to have ${G}${J.maximum.toString()} ${Y.unit??"elements"}`;return`Too big: expected ${J.origin??"value"} to be ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Too small: expected ${J.origin} to have ${G}${J.minimum.toString()} ${Y.unit}`;return`Too small: expected ${J.origin} to be ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Invalid string: must start with "${G.prefix}"`;if(G.format==="ends_with")return`Invalid string: must end with "${G.suffix}"`;if(G.format==="includes")return`Invalid string: must include "${G.includes}"`;if(G.format==="regex")return`Invalid string: must match pattern ${G.pattern}`;return`Invalid ${_[G.format]??J.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${J.divisor}`;case"unrecognized_keys":return`Unrecognized key${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Invalid key in ${J.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${J.origin}`;default:return"Invalid input"}}};function m9(){return{localeError:Ml()}}var Pl=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function U(J){return $[J]??null}let _={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},Q={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Nevalida enigo: atendiĝis instanceof ${J.expected}, riceviĝis ${X}`;return`Nevalida enigo: atendiĝis ${G}, riceviĝis ${X}`}case"invalid_value":if(J.values.length===1)return`Nevalida enigo: atendiĝis ${X$(J.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Tro granda: atendiĝis ke ${J.origin??"valoro"} havu ${G}${J.maximum.toString()} ${Y.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${J.origin??"valoro"} havu ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Tro malgranda: atendiĝis ke ${J.origin} havu ${G}${J.minimum.toString()} ${Y.unit}`;return`Tro malgranda: atendiĝis ke ${J.origin} estu ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Nevalida karaktraro: devas komenciĝi per "${G.prefix}"`;if(G.format==="ends_with")return`Nevalida karaktraro: devas finiĝi per "${G.suffix}"`;if(G.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${G.includes}"`;if(G.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${G.pattern}`;return`Nevalida ${_[G.format]??J.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${J.divisor}`;case"unrecognized_keys":return`Nekonata${J.keys.length>1?"j":""} ŝlosilo${J.keys.length>1?"j":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${J.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${J.origin}`;default:return"Nevalida enigo"}}};function ZW(){return{localeError:Pl()}}var fl=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function U(J){return $[J]??null}let _={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},Q={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Entrada inválida: se esperaba instanceof ${J.expected}, recibido ${X}`;return`Entrada inválida: se esperaba ${G}, recibido ${X}`}case"invalid_value":if(J.values.length===1)return`Entrada inválida: se esperaba ${X$(J.values[0])}`;return`Opción inválida: se esperaba una de ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin),X=Q[J.origin]??J.origin;if(Y)return`Demasiado grande: se esperaba que ${X??"valor"} tuviera ${G}${J.maximum.toString()} ${Y.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${X??"valor"} fuera ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin),X=Q[J.origin]??J.origin;if(Y)return`Demasiado pequeño: se esperaba que ${X} tuviera ${G}${J.minimum.toString()} ${Y.unit}`;return`Demasiado pequeño: se esperaba que ${X} fuera ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Cadena inválida: debe comenzar con "${G.prefix}"`;if(G.format==="ends_with")return`Cadena inválida: debe terminar en "${G.suffix}"`;if(G.format==="includes")return`Cadena inválida: debe incluir "${G.includes}"`;if(G.format==="regex")return`Cadena inválida: debe coincidir con el patrón ${G.pattern}`;return`Inválido ${_[G.format]??J.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${J.divisor}`;case"unrecognized_keys":return`Llave${J.keys.length>1?"s":""} desconocida${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Llave inválida en ${Q[J.origin]??J.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${Q[J.origin]??J.origin}`;default:return"Entrada inválida"}}};function WW(){return{localeError:fl()}}var Ll=()=>{let $={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function U(J){return $[J]??null}let _={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},Q={nan:"NaN",number:"عدد",array:"آرایه"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`ورودی نامعتبر: می‌بایست instanceof ${J.expected} می‌بود، ${X} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${G} می‌بود، ${X} دریافت شد`}case"invalid_value":if(J.values.length===1)return`ورودی نامعتبر: می‌بایست ${X$(J.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${p(J.values,"|")} می‌بود`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`خیلی بزرگ: ${J.origin??"مقدار"} باید ${G}${J.maximum.toString()} ${Y.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${J.origin??"مقدار"} باید ${G}${J.maximum.toString()} باشد`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`خیلی کوچک: ${J.origin} باید ${G}${J.minimum.toString()} ${Y.unit} باشد`;return`خیلی کوچک: ${J.origin} باید ${G}${J.minimum.toString()} باشد`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`رشته نامعتبر: باید با "${G.prefix}" شروع شود`;if(G.format==="ends_with")return`رشته نامعتبر: باید با "${G.suffix}" تمام شود`;if(G.format==="includes")return`رشته نامعتبر: باید شامل "${G.includes}" باشد`;if(G.format==="regex")return`رشته نامعتبر: باید با الگوی ${G.pattern} مطابقت داشته باشد`;return`${_[G.format]??J.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${J.divisor} باشد`;case"unrecognized_keys":return`کلید${J.keys.length>1?"های":""} ناشناس: ${p(J.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${J.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${J.origin}`;default:return"ورودی نامعتبر"}}};function NW(){return{localeError:Ll()}}var Rl=()=>{let $={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function U(J){return $[J]??null}let _={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Virheellinen tyyppi: odotettiin instanceof ${J.expected}, oli ${X}`;return`Virheellinen tyyppi: odotettiin ${G}, oli ${X}`}case"invalid_value":if(J.values.length===1)return`Virheellinen syöte: täytyy olla ${X$(J.values[0])}`;return`Virheellinen valinta: täytyy olla yksi seuraavista: ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Liian suuri: ${Y.subject} täytyy olla ${G}${J.maximum.toString()} ${Y.unit}`.trim();return`Liian suuri: arvon täytyy olla ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Liian pieni: ${Y.subject} täytyy olla ${G}${J.minimum.toString()} ${Y.unit}`.trim();return`Liian pieni: arvon täytyy olla ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Virheellinen syöte: täytyy alkaa "${G.prefix}"`;if(G.format==="ends_with")return`Virheellinen syöte: täytyy loppua "${G.suffix}"`;if(G.format==="includes")return`Virheellinen syöte: täytyy sisältää "${G.includes}"`;if(G.format==="regex")return`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${G.pattern}`;return`Virheellinen ${_[G.format]??J.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${J.divisor} monikerta`;case"unrecognized_keys":return`${J.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${p(J.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};function FW(){return{localeError:Rl()}}var wl=()=>{let $={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function U(J){return $[J]??null}let _={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},Q={nan:"NaN",number:"nombre",array:"tableau"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Entrée invalide : instanceof ${J.expected} attendu, ${X} reçu`;return`Entrée invalide : ${G} attendu, ${X} reçu`}case"invalid_value":if(J.values.length===1)return`Entrée invalide : ${X$(J.values[0])} attendu`;return`Option invalide : une valeur parmi ${p(J.values,"|")} attendue`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Trop grand : ${J.origin??"valeur"} doit ${Y.verb} ${G}${J.maximum.toString()} ${Y.unit??"élément(s)"}`;return`Trop grand : ${J.origin??"valeur"} doit être ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Trop petit : ${J.origin} doit ${Y.verb} ${G}${J.minimum.toString()} ${Y.unit}`;return`Trop petit : ${J.origin} doit être ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Chaîne invalide : doit commencer par "${G.prefix}"`;if(G.format==="ends_with")return`Chaîne invalide : doit se terminer par "${G.suffix}"`;if(G.format==="includes")return`Chaîne invalide : doit inclure "${G.includes}"`;if(G.format==="regex")return`Chaîne invalide : doit correspondre au modèle ${G.pattern}`;return`${_[G.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${J.divisor}`;case"unrecognized_keys":return`Clé${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${p(J.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${J.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entrée invalide"}}};function qW(){return{localeError:wl()}}var zl=()=>{let $={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function U(J){return $[J]??null}let _={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Entrée invalide : attendu instanceof ${J.expected}, reçu ${X}`;return`Entrée invalide : attendu ${G}, reçu ${X}`}case"invalid_value":if(J.values.length===1)return`Entrée invalide : attendu ${X$(J.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"≤":"<",Y=U(J.origin);if(Y)return`Trop grand : attendu que ${J.origin??"la valeur"} ait ${G}${J.maximum.toString()} ${Y.unit}`;return`Trop grand : attendu que ${J.origin??"la valeur"} soit ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?"≥":">",Y=U(J.origin);if(Y)return`Trop petit : attendu que ${J.origin} ait ${G}${J.minimum.toString()} ${Y.unit}`;return`Trop petit : attendu que ${J.origin} soit ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Chaîne invalide : doit commencer par "${G.prefix}"`;if(G.format==="ends_with")return`Chaîne invalide : doit se terminer par "${G.suffix}"`;if(G.format==="includes")return`Chaîne invalide : doit inclure "${G.includes}"`;if(G.format==="regex")return`Chaîne invalide : doit correspondre au motif ${G.pattern}`;return`${_[G.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${J.divisor}`;case"unrecognized_keys":return`Clé${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${p(J.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${J.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entrée invalide"}}};function BW(){return{localeError:zl()}}var Al=()=>{let $={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},U={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},_=(K)=>K?$[K]:void 0,Q=(K)=>{let Z=_(K);if(Z)return Z.label;return K??$.unknown.label},J=(K)=>`ה${Q(K)}`,G=(K)=>{return(_(K)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות"},Y=(K)=>{if(!K)return null;return U[K]??null},X={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},V={nan:"NaN"};return(K)=>{switch(K.code){case"invalid_type":{let Z=K.expected,N=V[Z??""]??Q(Z),W=K$(K.input),B=V[W]??$[W]?.label??W;if(/^[A-Z]/.test(K.expected))return`קלט לא תקין: צריך להיות instanceof ${K.expected}, התקבל ${B}`;return`קלט לא תקין: צריך להיות ${N}, התקבל ${B}`}case"invalid_value":{if(K.values.length===1)return`ערך לא תקין: הערך חייב להיות ${X$(K.values[0])}`;let Z=K.values.map((B)=>X$(B));if(K.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${Z[0]} או ${Z[1]}`;let N=Z[Z.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${Z.slice(0,-1).join(", ")} או ${N}`}case"too_big":{let Z=Y(K.origin),N=J(K.origin??"value");if(K.origin==="string")return`${Z?.longLabel??"ארוך"} מדי: ${N} צריכה להכיל ${K.maximum.toString()} ${Z?.unit??""} ${K.inclusive?"או פחות":"לכל היותר"}`.trim();if(K.origin==="number"){let q=K.inclusive?`קטן או שווה ל-${K.maximum}`:`קטן מ-${K.maximum}`;return`גדול מדי: ${N} צריך להיות ${q}`}if(K.origin==="array"||K.origin==="set"){let q=K.origin==="set"?"צריכה":"צריך",O=K.inclusive?`${K.maximum} ${Z?.unit??""} או פחות`:`פחות מ-${K.maximum} ${Z?.unit??""}`;return`גדול מדי: ${N} ${q} להכיל ${O}`.trim()}let W=K.inclusive?"<=":"<",B=G(K.origin??"value");if(Z?.unit)return`${Z.longLabel} מדי: ${N} ${B} ${W}${K.maximum.toString()} ${Z.unit}`;return`${Z?.longLabel??"גדול"} מדי: ${N} ${B} ${W}${K.maximum.toString()}`}case"too_small":{let Z=Y(K.origin),N=J(K.origin??"value");if(K.origin==="string")return`${Z?.shortLabel??"קצר"} מדי: ${N} צריכה להכיל ${K.minimum.toString()} ${Z?.unit??""} ${K.inclusive?"או יותר":"לפחות"}`.trim();if(K.origin==="number"){let q=K.inclusive?`גדול או שווה ל-${K.minimum}`:`גדול מ-${K.minimum}`;return`קטן מדי: ${N} צריך להיות ${q}`}if(K.origin==="array"||K.origin==="set"){let q=K.origin==="set"?"צריכה":"צריך";if(K.minimum===1&&K.inclusive){let M=K.origin==="set"?"לפחות פריט אחד":"לפחות פריט אחד";return`קטן מדי: ${N} ${q} להכיל ${M}`}let O=K.inclusive?`${K.minimum} ${Z?.unit??""} או יותר`:`יותר מ-${K.minimum} ${Z?.unit??""}`;return`קטן מדי: ${N} ${q} להכיל ${O}`.trim()}let W=K.inclusive?">=":">",B=G(K.origin??"value");if(Z?.unit)return`${Z.shortLabel} מדי: ${N} ${B} ${W}${K.minimum.toString()} ${Z.unit}`;return`${Z?.shortLabel??"קטן"} מדי: ${N} ${B} ${W}${K.minimum.toString()}`}case"invalid_format":{let Z=K;if(Z.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${Z.prefix}"`;if(Z.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${Z.suffix}"`;if(Z.format==="includes")return`המחרוזת חייבת לכלול "${Z.includes}"`;if(Z.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${Z.pattern}`;let N=X[Z.format],W=N?.label??Z.format,q=(N?.gender??"m")==="f"?"תקינה":"תקין";return`${W} לא ${q}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${K.divisor}`;case"unrecognized_keys":return`מפתח${K.keys.length>1?"ות":""} לא מזוה${K.keys.length>1?"ים":"ה"}: ${p(K.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${J(K.origin??"array")}`;default:return"קלט לא תקין"}}};function HW(){return{localeError:Al()}}var kl=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function U(J){return $[J]??null}let _={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},Q={nan:"NaN",number:"szám",array:"tömb"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Érvénytelen bemenet: a várt érték instanceof ${J.expected}, a kapott érték ${X}`;return`Érvénytelen bemenet: a várt érték ${G}, a kapott érték ${X}`}case"invalid_value":if(J.values.length===1)return`Érvénytelen bemenet: a várt érték ${X$(J.values[0])}`;return`Érvénytelen opció: valamelyik érték várt ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Túl nagy: ${J.origin??"érték"} mérete túl nagy ${G}${J.maximum.toString()} ${Y.unit??"elem"}`;return`Túl nagy: a bemeneti érték ${J.origin??"érték"} túl nagy: ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Túl kicsi: a bemeneti érték ${J.origin} mérete túl kicsi ${G}${J.minimum.toString()} ${Y.unit}`;return`Túl kicsi: a bemeneti érték ${J.origin} túl kicsi ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Érvénytelen string: "${G.prefix}" értékkel kell kezdődnie`;if(G.format==="ends_with")return`Érvénytelen string: "${G.suffix}" értékkel kell végződnie`;if(G.format==="includes")return`Érvénytelen string: "${G.includes}" értéket kell tartalmaznia`;if(G.format==="regex")return`Érvénytelen string: ${G.pattern} mintának kell megfelelnie`;return`Érvénytelen ${_[G.format]??J.format}`}case"not_multiple_of":return`Érvénytelen szám: ${J.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${J.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${J.origin}`;default:return"Érvénytelen bemenet"}}};function OW(){return{localeError:kl()}}function TL($,U,_){return Math.abs($)===1?U:_}function GJ($){if(!$)return"";let U=["ա","ե","ը","ի","ո","ու","օ"],_=$[$.length-1];return $+(U.includes(_)?"ն":"ը")}var Tl=()=>{let $={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function U(J){return $[J]??null}let _={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},Q={nan:"NaN",number:"թիվ",array:"զանգված"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${J.expected}, ստացվել է ${X}`;return`Սխալ մուտքագրում․ սպասվում էր ${G}, ստացվել է ${X}`}case"invalid_value":if(J.values.length===1)return`Սխալ մուտքագրում․ սպասվում էր ${X$(J.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y){let X=Number(J.maximum),V=TL(X,Y.unit.one,Y.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${GJ(J.origin??"արժեք")} կունենա ${G}${J.maximum.toString()} ${V}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${GJ(J.origin??"արժեք")} լինի ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y){let X=Number(J.minimum),V=TL(X,Y.unit.one,Y.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${GJ(J.origin)} կունենա ${G}${J.minimum.toString()} ${V}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${GJ(J.origin)} լինի ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Սխալ տող․ պետք է սկսվի "${G.prefix}"-ով`;if(G.format==="ends_with")return`Սխալ տող․ պետք է ավարտվի "${G.suffix}"-ով`;if(G.format==="includes")return`Սխալ տող․ պետք է պարունակի "${G.includes}"`;if(G.format==="regex")return`Սխալ տող․ պետք է համապատասխանի ${G.pattern} ձևաչափին`;return`Սխալ ${_[G.format]??J.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${J.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${J.keys.length>1?"ներ":""}. ${p(J.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${GJ(J.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${GJ(J.origin)}-ում`;default:return"Սխալ մուտքագրում"}}};function jW(){return{localeError:Tl()}}var Sl=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function U(J){return $[J]??null}let _={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Input tidak valid: diharapkan instanceof ${J.expected}, diterima ${X}`;return`Input tidak valid: diharapkan ${G}, diterima ${X}`}case"invalid_value":if(J.values.length===1)return`Input tidak valid: diharapkan ${X$(J.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Terlalu besar: diharapkan ${J.origin??"value"} memiliki ${G}${J.maximum.toString()} ${Y.unit??"elemen"}`;return`Terlalu besar: diharapkan ${J.origin??"value"} menjadi ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Terlalu kecil: diharapkan ${J.origin} memiliki ${G}${J.minimum.toString()} ${Y.unit}`;return`Terlalu kecil: diharapkan ${J.origin} menjadi ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`String tidak valid: harus dimulai dengan "${G.prefix}"`;if(G.format==="ends_with")return`String tidak valid: harus berakhir dengan "${G.suffix}"`;if(G.format==="includes")return`String tidak valid: harus menyertakan "${G.includes}"`;if(G.format==="regex")return`String tidak valid: harus sesuai pola ${G.pattern}`;return`${_[G.format]??J.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${J.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${J.origin}`;default:return"Input tidak valid"}}};function DW(){return{localeError:Sl()}}var Il=()=>{let $={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function U(J){return $[J]??null}let _={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},Q={nan:"NaN",number:"númer",array:"fylki"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Rangt gildi: Þú slóst inn ${X} þar sem á að vera instanceof ${J.expected}`;return`Rangt gildi: Þú slóst inn ${X} þar sem á að vera ${G}`}case"invalid_value":if(J.values.length===1)return`Rangt gildi: gert ráð fyrir ${X$(J.values[0])}`;return`Ógilt val: má vera eitt af eftirfarandi ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Of stórt: gert er ráð fyrir að ${J.origin??"gildi"} hafi ${G}${J.maximum.toString()} ${Y.unit??"hluti"}`;return`Of stórt: gert er ráð fyrir að ${J.origin??"gildi"} sé ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Of lítið: gert er ráð fyrir að ${J.origin} hafi ${G}${J.minimum.toString()} ${Y.unit}`;return`Of lítið: gert er ráð fyrir að ${J.origin} sé ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Ógildur strengur: verður að byrja á "${G.prefix}"`;if(G.format==="ends_with")return`Ógildur strengur: verður að enda á "${G.suffix}"`;if(G.format==="includes")return`Ógildur strengur: verður að innihalda "${G.includes}"`;if(G.format==="regex")return`Ógildur strengur: verður að fylgja mynstri ${G.pattern}`;return`Rangt ${_[G.format]??J.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${J.divisor}`;case"unrecognized_keys":return`Óþekkt ${J.keys.length>1?"ir lyklar":"ur lykill"}: ${p(J.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${J.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${J.origin}`;default:return"Rangt gildi"}}};function EW(){return{localeError:Il()}}var vl=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function U(J){return $[J]??null}let _={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"numero",array:"vettore"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Input non valido: atteso instanceof ${J.expected}, ricevuto ${X}`;return`Input non valido: atteso ${G}, ricevuto ${X}`}case"invalid_value":if(J.values.length===1)return`Input non valido: atteso ${X$(J.values[0])}`;return`Opzione non valida: atteso uno tra ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Troppo grande: ${J.origin??"valore"} deve avere ${G}${J.maximum.toString()} ${Y.unit??"elementi"}`;return`Troppo grande: ${J.origin??"valore"} deve essere ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Troppo piccolo: ${J.origin} deve avere ${G}${J.minimum.toString()} ${Y.unit}`;return`Troppo piccolo: ${J.origin} deve essere ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Stringa non valida: deve iniziare con "${G.prefix}"`;if(G.format==="ends_with")return`Stringa non valida: deve terminare con "${G.suffix}"`;if(G.format==="includes")return`Stringa non valida: deve includere "${G.includes}"`;if(G.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${G.pattern}`;return`Invalid ${_[G.format]??J.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${J.divisor}`;case"unrecognized_keys":return`Chiav${J.keys.length>1?"i":"e"} non riconosciut${J.keys.length>1?"e":"a"}: ${p(J.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${J.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${J.origin}`;default:return"Input non valido"}}};function MW(){return{localeError:vl()}}var Cl=()=>{let $={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function U(J){return $[J]??null}let _={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},Q={nan:"NaN",number:"数値",array:"配列"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`無効な入力: instanceof ${J.expected}が期待されましたが、${X}が入力されました`;return`無効な入力: ${G}が期待されましたが、${X}が入力されました`}case"invalid_value":if(J.values.length===1)return`無効な入力: ${X$(J.values[0])}が期待されました`;return`無効な選択: ${p(J.values,"、")}のいずれかである必要があります`;case"too_big":{let G=J.inclusive?"以下である":"より小さい",Y=U(J.origin);if(Y)return`大きすぎる値: ${J.origin??"値"}は${J.maximum.toString()}${Y.unit??"要素"}${G}必要があります`;return`大きすぎる値: ${J.origin??"値"}は${J.maximum.toString()}${G}必要があります`}case"too_small":{let G=J.inclusive?"以上である":"より大きい",Y=U(J.origin);if(Y)return`小さすぎる値: ${J.origin}は${J.minimum.toString()}${Y.unit}${G}必要があります`;return`小さすぎる値: ${J.origin}は${J.minimum.toString()}${G}必要があります`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`無効な文字列: "${G.prefix}"で始まる必要があります`;if(G.format==="ends_with")return`無効な文字列: "${G.suffix}"で終わる必要があります`;if(G.format==="includes")return`無効な文字列: "${G.includes}"を含む必要があります`;if(G.format==="regex")return`無効な文字列: パターン${G.pattern}に一致する必要があります`;return`無効な${_[G.format]??J.format}`}case"not_multiple_of":return`無効な数値: ${J.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${J.keys.length>1?"群":""}: ${p(J.keys,"、")}`;case"invalid_key":return`${J.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${J.origin}内の無効な値`;default:return"無効な入力"}}};function PW(){return{localeError:Cl()}}var yl=()=>{let $={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function U(J){return $[J]??null}let _={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},Q={nan:"NaN",number:"რიცხვი",string:"სტრინგი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${J.expected}, მიღებული ${X}`;return`არასწორი შეყვანა: მოსალოდნელი ${G}, მიღებული ${X}`}case"invalid_value":if(J.values.length===1)return`არასწორი შეყვანა: მოსალოდნელი ${X$(J.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${p(J.values,"|")}-დან`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`ზედმეტად დიდი: მოსალოდნელი ${J.origin??"მნიშვნელობა"} ${Y.verb} ${G}${J.maximum.toString()} ${Y.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${J.origin??"მნიშვნელობა"} იყოს ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`ზედმეტად პატარა: მოსალოდნელი ${J.origin} ${Y.verb} ${G}${J.minimum.toString()} ${Y.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${J.origin} იყოს ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`არასწორი სტრინგი: უნდა იწყებოდეს "${G.prefix}"-ით`;if(G.format==="ends_with")return`არასწორი სტრინგი: უნდა მთავრდებოდეს "${G.suffix}"-ით`;if(G.format==="includes")return`არასწორი სტრინგი: უნდა შეიცავდეს "${G.includes}"-ს`;if(G.format==="regex")return`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${G.pattern}`;return`არასწორი ${_[G.format]??J.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${J.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${J.keys.length>1?"ები":"ი"}: ${p(J.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${J.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${J.origin}-ში`;default:return"არასწორი შეყვანა"}}};function fW(){return{localeError:yl()}}var bl=()=>{let $={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function U(J){return $[J]??null}let _={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},Q={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${J.expected} ប៉ុន្តែទទួលបាន ${X}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${G} ប៉ុន្តែទទួលបាន ${X}`}case"invalid_value":if(J.values.length===1)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${X$(J.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`ធំពេក៖ ត្រូវការ ${J.origin??"តម្លៃ"} ${G} ${J.maximum.toString()} ${Y.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${J.origin??"តម្លៃ"} ${G} ${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`តូចពេក៖ ត្រូវការ ${J.origin} ${G} ${J.minimum.toString()} ${Y.unit}`;return`តូចពេក៖ ត្រូវការ ${J.origin} ${G} ${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${G.prefix}"`;if(G.format==="ends_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${G.suffix}"`;if(G.format==="includes")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${G.includes}"`;if(G.format==="regex")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${G.pattern}`;return`មិនត្រឹមត្រូវ៖ ${_[G.format]??J.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${J.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${p(J.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${J.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${J.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};function c9(){return{localeError:bl()}}function LW(){return c9()}var xl=()=>{let $={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function U(J){return $[J]??null}let _={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`잘못된 입력: 예상 타입은 instanceof ${J.expected}, 받은 타입은 ${X}입니다`;return`잘못된 입력: 예상 타입은 ${G}, 받은 타입은 ${X}입니다`}case"invalid_value":if(J.values.length===1)return`잘못된 입력: 값은 ${X$(J.values[0])} 이어야 합니다`;return`잘못된 옵션: ${p(J.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let G=J.inclusive?"이하":"미만",Y=G==="미만"?"이어야 합니다":"여야 합니다",X=U(J.origin),V=X?.unit??"요소";if(X)return`${J.origin??"값"}이 너무 큽니다: ${J.maximum.toString()}${V} ${G}${Y}`;return`${J.origin??"값"}이 너무 큽니다: ${J.maximum.toString()} ${G}${Y}`}case"too_small":{let G=J.inclusive?"이상":"초과",Y=G==="이상"?"이어야 합니다":"여야 합니다",X=U(J.origin),V=X?.unit??"요소";if(X)return`${J.origin??"값"}이 너무 작습니다: ${J.minimum.toString()}${V} ${G}${Y}`;return`${J.origin??"값"}이 너무 작습니다: ${J.minimum.toString()} ${G}${Y}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`잘못된 문자열: "${G.prefix}"(으)로 시작해야 합니다`;if(G.format==="ends_with")return`잘못된 문자열: "${G.suffix}"(으)로 끝나야 합니다`;if(G.format==="includes")return`잘못된 문자열: "${G.includes}"을(를) 포함해야 합니다`;if(G.format==="regex")return`잘못된 문자열: 정규식 ${G.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${_[G.format]??J.format}`}case"not_multiple_of":return`잘못된 숫자: ${J.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${p(J.keys,", ")}`;case"invalid_key":return`잘못된 키: ${J.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${J.origin}`;default:return"잘못된 입력"}}};function RW(){return{localeError:xl()}}var d9=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)};function SL($){let U=Math.abs($),_=U%10,Q=U%100;if(Q>=11&&Q<=19||_===0)return"many";if(_===1)return"one";return"few"}var gl=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function U(J,G,Y,X){let V=$[J]??null;if(V===null)return V;return{unit:V.unit[G],verb:V.verb[X][Y?"inclusive":"notInclusive"]}}let _={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},Q={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Gautas tipas ${X}, o tikėtasi - instanceof ${J.expected}`;return`Gautas tipas ${X}, o tikėtasi - ${G}`}case"invalid_value":if(J.values.length===1)return`Privalo būti ${X$(J.values[0])}`;return`Privalo būti vienas iš ${p(J.values,"|")} pasirinkimų`;case"too_big":{let G=Q[J.origin]??J.origin,Y=U(J.origin,SL(Number(J.maximum)),J.inclusive??!1,"smaller");if(Y?.verb)return`${d9(G??J.origin??"reikšmė")} ${Y.verb} ${J.maximum.toString()} ${Y.unit??"elementų"}`;let X=J.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${d9(G??J.origin??"reikšmė")} turi būti ${X} ${J.maximum.toString()} ${Y?.unit}`}case"too_small":{let G=Q[J.origin]??J.origin,Y=U(J.origin,SL(Number(J.minimum)),J.inclusive??!1,"bigger");if(Y?.verb)return`${d9(G??J.origin??"reikšmė")} ${Y.verb} ${J.minimum.toString()} ${Y.unit??"elementų"}`;let X=J.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${d9(G??J.origin??"reikšmė")} turi būti ${X} ${J.minimum.toString()} ${Y?.unit}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Eilutė privalo prasidėti "${G.prefix}"`;if(G.format==="ends_with")return`Eilutė privalo pasibaigti "${G.suffix}"`;if(G.format==="includes")return`Eilutė privalo įtraukti "${G.includes}"`;if(G.format==="regex")return`Eilutė privalo atitikti ${G.pattern}`;return`Neteisingas ${_[G.format]??J.format}`}case"not_multiple_of":return`Skaičius privalo būti ${J.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${J.keys.length>1?"i":"as"} rakt${J.keys.length>1?"ai":"as"}: ${p(J.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let G=Q[J.origin]??J.origin;return`${d9(G??J.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};function wW(){return{localeError:gl()}}var hl=()=>{let $={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function U(J){return $[J]??null}let _={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},Q={nan:"NaN",number:"број",array:"низа"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Грешен внес: се очекува instanceof ${J.expected}, примено ${X}`;return`Грешен внес: се очекува ${G}, примено ${X}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${X$(J.values[0])}`;return`Грешана опција: се очекува една ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Премногу голем: се очекува ${J.origin??"вредноста"} да има ${G}${J.maximum.toString()} ${Y.unit??"елементи"}`;return`Премногу голем: се очекува ${J.origin??"вредноста"} да биде ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Премногу мал: се очекува ${J.origin} да има ${G}${J.minimum.toString()} ${Y.unit}`;return`Премногу мал: се очекува ${J.origin} да биде ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Неважечка низа: мора да започнува со "${G.prefix}"`;if(G.format==="ends_with")return`Неважечка низа: мора да завршува со "${G.suffix}"`;if(G.format==="includes")return`Неважечка низа: мора да вклучува "${G.includes}"`;if(G.format==="regex")return`Неважечка низа: мора да одгоара на патернот ${G.pattern}`;return`Invalid ${_[G.format]??J.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${p(J.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${J.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${J.origin}`;default:return"Грешен внес"}}};function zW(){return{localeError:hl()}}var ul=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function U(J){return $[J]??null}let _={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"nombor"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Input tidak sah: dijangka instanceof ${J.expected}, diterima ${X}`;return`Input tidak sah: dijangka ${G}, diterima ${X}`}case"invalid_value":if(J.values.length===1)return`Input tidak sah: dijangka ${X$(J.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Terlalu besar: dijangka ${J.origin??"nilai"} ${Y.verb} ${G}${J.maximum.toString()} ${Y.unit??"elemen"}`;return`Terlalu besar: dijangka ${J.origin??"nilai"} adalah ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Terlalu kecil: dijangka ${J.origin} ${Y.verb} ${G}${J.minimum.toString()} ${Y.unit}`;return`Terlalu kecil: dijangka ${J.origin} adalah ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`String tidak sah: mesti bermula dengan "${G.prefix}"`;if(G.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${G.suffix}"`;if(G.format==="includes")return`String tidak sah: mesti mengandungi "${G.includes}"`;if(G.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${G.pattern}`;return`${_[G.format]??J.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${p(J.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${J.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${J.origin}`;default:return"Input tidak sah"}}};function AW(){return{localeError:ul()}}var ml=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function U(J){return $[J]??null}let _={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},Q={nan:"NaN",number:"getal"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Ongeldige invoer: verwacht instanceof ${J.expected}, ontving ${X}`;return`Ongeldige invoer: verwacht ${G}, ontving ${X}`}case"invalid_value":if(J.values.length===1)return`Ongeldige invoer: verwacht ${X$(J.values[0])}`;return`Ongeldige optie: verwacht één van ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin),X=J.origin==="date"?"laat":J.origin==="string"?"lang":"groot";if(Y)return`Te ${X}: verwacht dat ${J.origin??"waarde"} ${G}${J.maximum.toString()} ${Y.unit??"elementen"} ${Y.verb}`;return`Te ${X}: verwacht dat ${J.origin??"waarde"} ${G}${J.maximum.toString()} is`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin),X=J.origin==="date"?"vroeg":J.origin==="string"?"kort":"klein";if(Y)return`Te ${X}: verwacht dat ${J.origin} ${G}${J.minimum.toString()} ${Y.unit} ${Y.verb}`;return`Te ${X}: verwacht dat ${J.origin} ${G}${J.minimum.toString()} is`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Ongeldige tekst: moet met "${G.prefix}" beginnen`;if(G.format==="ends_with")return`Ongeldige tekst: moet op "${G.suffix}" eindigen`;if(G.format==="includes")return`Ongeldige tekst: moet "${G.includes}" bevatten`;if(G.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${G.pattern}`;return`Ongeldig: ${_[G.format]??J.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${J.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${J.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${J.origin}`;default:return"Ongeldige invoer"}}};function kW(){return{localeError:ml()}}var cl=()=>{let $={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function U(J){return $[J]??null}let _={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"tall",array:"liste"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Ugyldig input: forventet instanceof ${J.expected}, fikk ${X}`;return`Ugyldig input: forventet ${G}, fikk ${X}`}case"invalid_value":if(J.values.length===1)return`Ugyldig verdi: forventet ${X$(J.values[0])}`;return`Ugyldig valg: forventet en av ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`For stor(t): forventet ${J.origin??"value"} til å ha ${G}${J.maximum.toString()} ${Y.unit??"elementer"}`;return`For stor(t): forventet ${J.origin??"value"} til å ha ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`For lite(n): forventet ${J.origin} til å ha ${G}${J.minimum.toString()} ${Y.unit}`;return`For lite(n): forventet ${J.origin} til å ha ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Ugyldig streng: må starte med "${G.prefix}"`;if(G.format==="ends_with")return`Ugyldig streng: må ende med "${G.suffix}"`;if(G.format==="includes")return`Ugyldig streng: må inneholde "${G.includes}"`;if(G.format==="regex")return`Ugyldig streng: må matche mønsteret ${G.pattern}`;return`Ugyldig ${_[G.format]??J.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${p(J.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${J.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${J.origin}`;default:return"Ugyldig input"}}};function TW(){return{localeError:cl()}}var dl=()=>{let $={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function U(J){return $[J]??null}let _={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},Q={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Fâsit giren: umulan instanceof ${J.expected}, alınan ${X}`;return`Fâsit giren: umulan ${G}, alınan ${X}`}case"invalid_value":if(J.values.length===1)return`Fâsit giren: umulan ${X$(J.values[0])}`;return`Fâsit tercih: mûteberler ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Fazla büyük: ${J.origin??"value"}, ${G}${J.maximum.toString()} ${Y.unit??"elements"} sahip olmalıydı.`;return`Fazla büyük: ${J.origin??"value"}, ${G}${J.maximum.toString()} olmalıydı.`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Fazla küçük: ${J.origin}, ${G}${J.minimum.toString()} ${Y.unit} sahip olmalıydı.`;return`Fazla küçük: ${J.origin}, ${G}${J.minimum.toString()} olmalıydı.`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Fâsit metin: "${G.prefix}" ile başlamalı.`;if(G.format==="ends_with")return`Fâsit metin: "${G.suffix}" ile bitmeli.`;if(G.format==="includes")return`Fâsit metin: "${G.includes}" ihtivâ etmeli.`;if(G.format==="regex")return`Fâsit metin: ${G.pattern} nakşına uymalı.`;return`Fâsit ${_[G.format]??J.format}`}case"not_multiple_of":return`Fâsit sayı: ${J.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`${J.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${J.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};function SW(){return{localeError:dl()}}var ll=()=>{let $={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function U(J){return $[J]??null}let _={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},Q={nan:"NaN",number:"عدد",array:"ارې"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`ناسم ورودي: باید instanceof ${J.expected} وای, مګر ${X} ترلاسه شو`;return`ناسم ورودي: باید ${G} وای, مګر ${X} ترلاسه شو`}case"invalid_value":if(J.values.length===1)return`ناسم ورودي: باید ${X$(J.values[0])} وای`;return`ناسم انتخاب: باید یو له ${p(J.values,"|")} څخه وای`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`ډیر لوی: ${J.origin??"ارزښت"} باید ${G}${J.maximum.toString()} ${Y.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${J.origin??"ارزښت"} باید ${G}${J.maximum.toString()} وي`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`ډیر کوچنی: ${J.origin} باید ${G}${J.minimum.toString()} ${Y.unit} ولري`;return`ډیر کوچنی: ${J.origin} باید ${G}${J.minimum.toString()} وي`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`ناسم متن: باید د "${G.prefix}" سره پیل شي`;if(G.format==="ends_with")return`ناسم متن: باید د "${G.suffix}" سره پای ته ورسيږي`;if(G.format==="includes")return`ناسم متن: باید "${G.includes}" ولري`;if(G.format==="regex")return`ناسم متن: باید د ${G.pattern} سره مطابقت ولري`;return`${_[G.format]??J.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${J.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${J.keys.length>1?"کلیډونه":"کلیډ"}: ${p(J.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${J.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${J.origin} کې`;default:return"ناسمه ورودي"}}};function IW(){return{localeError:ll()}}var il=()=>{let $={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function U(J){return $[J]??null}let _={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},Q={nan:"NaN",number:"liczba",array:"tablica"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${J.expected}, otrzymano ${X}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${G}, otrzymano ${X}`}case"invalid_value":if(J.values.length===1)return`Nieprawidłowe dane wejściowe: oczekiwano ${X$(J.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Za duża wartość: oczekiwano, że ${J.origin??"wartość"} będzie mieć ${G}${J.maximum.toString()} ${Y.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${J.origin??"wartość"} będzie wynosić ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Za mała wartość: oczekiwano, że ${J.origin??"wartość"} będzie mieć ${G}${J.minimum.toString()} ${Y.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${J.origin??"wartość"} będzie wynosić ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Nieprawidłowy ciąg znaków: musi zaczynać się od "${G.prefix}"`;if(G.format==="ends_with")return`Nieprawidłowy ciąg znaków: musi kończyć się na "${G.suffix}"`;if(G.format==="includes")return`Nieprawidłowy ciąg znaków: musi zawierać "${G.includes}"`;if(G.format==="regex")return`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${G.pattern}`;return`Nieprawidłow(y/a/e) ${_[G.format]??J.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${J.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${J.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${J.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};function vW(){return{localeError:il()}}var rl=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function U(J){return $[J]??null}let _={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},Q={nan:"NaN",number:"número",null:"nulo"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Tipo inválido: esperado instanceof ${J.expected}, recebido ${X}`;return`Tipo inválido: esperado ${G}, recebido ${X}`}case"invalid_value":if(J.values.length===1)return`Entrada inválida: esperado ${X$(J.values[0])}`;return`Opção inválida: esperada uma das ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Muito grande: esperado que ${J.origin??"valor"} tivesse ${G}${J.maximum.toString()} ${Y.unit??"elementos"}`;return`Muito grande: esperado que ${J.origin??"valor"} fosse ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Muito pequeno: esperado que ${J.origin} tivesse ${G}${J.minimum.toString()} ${Y.unit}`;return`Muito pequeno: esperado que ${J.origin} fosse ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Texto inválido: deve começar com "${G.prefix}"`;if(G.format==="ends_with")return`Texto inválido: deve terminar com "${G.suffix}"`;if(G.format==="includes")return`Texto inválido: deve incluir "${G.includes}"`;if(G.format==="regex")return`Texto inválido: deve corresponder ao padrão ${G.pattern}`;return`${_[G.format]??J.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${J.divisor}`;case"unrecognized_keys":return`Chave${J.keys.length>1?"s":""} desconhecida${J.keys.length>1?"s":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Chave inválida em ${J.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${J.origin}`;default:return"Campo inválido"}}};function CW(){return{localeError:rl()}}function IL($,U,_,Q){let J=Math.abs($),G=J%10,Y=J%100;if(Y>=11&&Y<=19)return Q;if(G===1)return U;if(G>=2&&G<=4)return _;return Q}var nl=()=>{let $={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function U(J){return $[J]??null}let _={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},Q={nan:"NaN",number:"число",array:"массив"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Неверный ввод: ожидалось instanceof ${J.expected}, получено ${X}`;return`Неверный ввод: ожидалось ${G}, получено ${X}`}case"invalid_value":if(J.values.length===1)return`Неверный ввод: ожидалось ${X$(J.values[0])}`;return`Неверный вариант: ожидалось одно из ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y){let X=Number(J.maximum),V=IL(X,Y.unit.one,Y.unit.few,Y.unit.many);return`Слишком большое значение: ожидалось, что ${J.origin??"значение"} будет иметь ${G}${J.maximum.toString()} ${V}`}return`Слишком большое значение: ожидалось, что ${J.origin??"значение"} будет ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y){let X=Number(J.minimum),V=IL(X,Y.unit.one,Y.unit.few,Y.unit.many);return`Слишком маленькое значение: ожидалось, что ${J.origin} будет иметь ${G}${J.minimum.toString()} ${V}`}return`Слишком маленькое значение: ожидалось, что ${J.origin} будет ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Неверная строка: должна начинаться с "${G.prefix}"`;if(G.format==="ends_with")return`Неверная строка: должна заканчиваться на "${G.suffix}"`;if(G.format==="includes")return`Неверная строка: должна содержать "${G.includes}"`;if(G.format==="regex")return`Неверная строка: должна соответствовать шаблону ${G.pattern}`;return`Неверный ${_[G.format]??J.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${J.divisor}`;case"unrecognized_keys":return`Нераспознанн${J.keys.length>1?"ые":"ый"} ключ${J.keys.length>1?"и":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${J.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${J.origin}`;default:return"Неверные входные данные"}}};function yW(){return{localeError:nl()}}var pl=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function U(J){return $[J]??null}let _={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},Q={nan:"NaN",number:"število",array:"tabela"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Neveljaven vnos: pričakovano instanceof ${J.expected}, prejeto ${X}`;return`Neveljaven vnos: pričakovano ${G}, prejeto ${X}`}case"invalid_value":if(J.values.length===1)return`Neveljaven vnos: pričakovano ${X$(J.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Preveliko: pričakovano, da bo ${J.origin??"vrednost"} imelo ${G}${J.maximum.toString()} ${Y.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${J.origin??"vrednost"} ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Premajhno: pričakovano, da bo ${J.origin} imelo ${G}${J.minimum.toString()} ${Y.unit}`;return`Premajhno: pričakovano, da bo ${J.origin} ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Neveljaven niz: mora se začeti z "${G.prefix}"`;if(G.format==="ends_with")return`Neveljaven niz: mora se končati z "${G.suffix}"`;if(G.format==="includes")return`Neveljaven niz: mora vsebovati "${G.includes}"`;if(G.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${G.pattern}`;return`Neveljaven ${_[G.format]??J.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${J.divisor}`;case"unrecognized_keys":return`Neprepoznan${J.keys.length>1?"i ključi":" ključ"}: ${p(J.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${J.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${J.origin}`;default:return"Neveljaven vnos"}}};function bW(){return{localeError:pl()}}var ol=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function U(J){return $[J]??null}let _={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},Q={nan:"NaN",number:"antal",array:"lista"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Ogiltig inmatning: förväntat instanceof ${J.expected}, fick ${X}`;return`Ogiltig inmatning: förväntat ${G}, fick ${X}`}case"invalid_value":if(J.values.length===1)return`Ogiltig inmatning: förväntat ${X$(J.values[0])}`;return`Ogiltigt val: förväntade en av ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`För stor(t): förväntade ${J.origin??"värdet"} att ha ${G}${J.maximum.toString()} ${Y.unit??"element"}`;return`För stor(t): förväntat ${J.origin??"värdet"} att ha ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`För lite(t): förväntade ${J.origin??"värdet"} att ha ${G}${J.minimum.toString()} ${Y.unit}`;return`För lite(t): förväntade ${J.origin??"värdet"} att ha ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Ogiltig sträng: måste börja med "${G.prefix}"`;if(G.format==="ends_with")return`Ogiltig sträng: måste sluta med "${G.suffix}"`;if(G.format==="includes")return`Ogiltig sträng: måste innehålla "${G.includes}"`;if(G.format==="regex")return`Ogiltig sträng: måste matcha mönstret "${G.pattern}"`;return`Ogiltig(t) ${_[G.format]??J.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${p(J.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${J.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${J.origin??"värdet"}`;default:return"Ogiltig input"}}};function xW(){return{localeError:ol()}}var al=()=>{let $={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function U(J){return $[J]??null}let _={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${J.expected}, பெறப்பட்டது ${X}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${G}, பெறப்பட்டது ${X}`}case"invalid_value":if(J.values.length===1)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${X$(J.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${p(J.values,"|")} இல் ஒன்று`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${J.origin??"மதிப்பு"} ${G}${J.maximum.toString()} ${Y.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${J.origin??"மதிப்பு"} ${G}${J.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${J.origin} ${G}${J.minimum.toString()} ${Y.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${J.origin} ${G}${J.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`தவறான சரம்: "${G.prefix}" இல் தொடங்க வேண்டும்`;if(G.format==="ends_with")return`தவறான சரம்: "${G.suffix}" இல் முடிவடைய வேண்டும்`;if(G.format==="includes")return`தவறான சரம்: "${G.includes}" ஐ உள்ளடக்க வேண்டும்`;if(G.format==="regex")return`தவறான சரம்: ${G.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${_[G.format]??J.format}`}case"not_multiple_of":return`தவறான எண்: ${J.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${J.keys.length>1?"கள்":""}: ${p(J.keys,", ")}`;case"invalid_key":return`${J.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${J.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};function gW(){return{localeError:al()}}var tl=()=>{let $={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function U(J){return $[J]??null}let _={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},Q={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${J.expected} แต่ได้รับ ${X}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${G} แต่ได้รับ ${X}`}case"invalid_value":if(J.values.length===1)return`ค่าไม่ถูกต้อง: ควรเป็น ${X$(J.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"ไม่เกิน":"น้อยกว่า",Y=U(J.origin);if(Y)return`เกินกำหนด: ${J.origin??"ค่า"} ควรมี${G} ${J.maximum.toString()} ${Y.unit??"รายการ"}`;return`เกินกำหนด: ${J.origin??"ค่า"} ควรมี${G} ${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?"อย่างน้อย":"มากกว่า",Y=U(J.origin);if(Y)return`น้อยกว่ากำหนด: ${J.origin} ควรมี${G} ${J.minimum.toString()} ${Y.unit}`;return`น้อยกว่ากำหนด: ${J.origin} ควรมี${G} ${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${G.prefix}"`;if(G.format==="ends_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${G.suffix}"`;if(G.format==="includes")return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${G.includes}" อยู่ในข้อความ`;if(G.format==="regex")return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${G.pattern}`;return`รูปแบบไม่ถูกต้อง: ${_[G.format]??J.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${J.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${p(J.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${J.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${J.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};function hW(){return{localeError:tl()}}var el=()=>{let $={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function U(J){return $[J]??null}let _={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Geçersiz değer: beklenen instanceof ${J.expected}, alınan ${X}`;return`Geçersiz değer: beklenen ${G}, alınan ${X}`}case"invalid_value":if(J.values.length===1)return`Geçersiz değer: beklenen ${X$(J.values[0])}`;return`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Çok büyük: beklenen ${J.origin??"değer"} ${G}${J.maximum.toString()} ${Y.unit??"öğe"}`;return`Çok büyük: beklenen ${J.origin??"değer"} ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Çok küçük: beklenen ${J.origin} ${G}${J.minimum.toString()} ${Y.unit}`;return`Çok küçük: beklenen ${J.origin} ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Geçersiz metin: "${G.prefix}" ile başlamalı`;if(G.format==="ends_with")return`Geçersiz metin: "${G.suffix}" ile bitmeli`;if(G.format==="includes")return`Geçersiz metin: "${G.includes}" içermeli`;if(G.format==="regex")return`Geçersiz metin: ${G.pattern} desenine uymalı`;return`Geçersiz ${_[G.format]??J.format}`}case"not_multiple_of":return`Geçersiz sayı: ${J.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${J.keys.length>1?"lar":""}: ${p(J.keys,", ")}`;case"invalid_key":return`${J.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${J.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};function uW(){return{localeError:el()}}var sl=()=>{let $={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function U(J){return $[J]??null}let _={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},Q={nan:"NaN",number:"число",array:"масив"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Неправильні вхідні дані: очікується instanceof ${J.expected}, отримано ${X}`;return`Неправильні вхідні дані: очікується ${G}, отримано ${X}`}case"invalid_value":if(J.values.length===1)return`Неправильні вхідні дані: очікується ${X$(J.values[0])}`;return`Неправильна опція: очікується одне з ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Занадто велике: очікується, що ${J.origin??"значення"} ${Y.verb} ${G}${J.maximum.toString()} ${Y.unit??"елементів"}`;return`Занадто велике: очікується, що ${J.origin??"значення"} буде ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Занадто мале: очікується, що ${J.origin} ${Y.verb} ${G}${J.minimum.toString()} ${Y.unit}`;return`Занадто мале: очікується, що ${J.origin} буде ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Неправильний рядок: повинен починатися з "${G.prefix}"`;if(G.format==="ends_with")return`Неправильний рядок: повинен закінчуватися на "${G.suffix}"`;if(G.format==="includes")return`Неправильний рядок: повинен містити "${G.includes}"`;if(G.format==="regex")return`Неправильний рядок: повинен відповідати шаблону ${G.pattern}`;return`Неправильний ${_[G.format]??J.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${J.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${J.keys.length>1?"і":""}: ${p(J.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${J.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${J.origin}`;default:return"Неправильні вхідні дані"}}};function l9(){return{localeError:sl()}}function mW(){return l9()}var $i=()=>{let $={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function U(J){return $[J]??null}let _={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},Q={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`غلط ان پٹ: instanceof ${J.expected} متوقع تھا، ${X} موصول ہوا`;return`غلط ان پٹ: ${G} متوقع تھا، ${X} موصول ہوا`}case"invalid_value":if(J.values.length===1)return`غلط ان پٹ: ${X$(J.values[0])} متوقع تھا`;return`غلط آپشن: ${p(J.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`بہت بڑا: ${J.origin??"ویلیو"} کے ${G}${J.maximum.toString()} ${Y.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${J.origin??"ویلیو"} کا ${G}${J.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`بہت چھوٹا: ${J.origin} کے ${G}${J.minimum.toString()} ${Y.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${J.origin} کا ${G}${J.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`غلط سٹرنگ: "${G.prefix}" سے شروع ہونا چاہیے`;if(G.format==="ends_with")return`غلط سٹرنگ: "${G.suffix}" پر ختم ہونا چاہیے`;if(G.format==="includes")return`غلط سٹرنگ: "${G.includes}" شامل ہونا چاہیے`;if(G.format==="regex")return`غلط سٹرنگ: پیٹرن ${G.pattern} سے میچ ہونا چاہیے`;return`غلط ${_[G.format]??J.format}`}case"not_multiple_of":return`غلط نمبر: ${J.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${J.keys.length>1?"ز":""}: ${p(J.keys,"، ")}`;case"invalid_key":return`${J.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${J.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};function cW(){return{localeError:$i()}}var Ui=()=>{let $={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"}};function U(J){return $[J]??null}let _={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},Q={nan:"NaN",number:"raqam",array:"massiv"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${J.expected}, qabul qilingan ${X}`;return`Noto‘g‘ri kirish: kutilgan ${G}, qabul qilingan ${X}`}case"invalid_value":if(J.values.length===1)return`Noto‘g‘ri kirish: kutilgan ${X$(J.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Juda katta: kutilgan ${J.origin??"qiymat"} ${G}${J.maximum.toString()} ${Y.unit} ${Y.verb}`;return`Juda katta: kutilgan ${J.origin??"qiymat"} ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Juda kichik: kutilgan ${J.origin} ${G}${J.minimum.toString()} ${Y.unit} ${Y.verb}`;return`Juda kichik: kutilgan ${J.origin} ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Noto‘g‘ri satr: "${G.prefix}" bilan boshlanishi kerak`;if(G.format==="ends_with")return`Noto‘g‘ri satr: "${G.suffix}" bilan tugashi kerak`;if(G.format==="includes")return`Noto‘g‘ri satr: "${G.includes}" ni o‘z ichiga olishi kerak`;if(G.format==="regex")return`Noto‘g‘ri satr: ${G.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${_[G.format]??J.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${J.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${J.keys.length>1?"lar":""}: ${p(J.keys,", ")}`;case"invalid_key":return`${J.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${J.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}};function dW(){return{localeError:Ui()}}var _i=()=>{let $={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function U(J){return $[J]??null}let _={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},Q={nan:"NaN",number:"số",array:"mảng"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Đầu vào không hợp lệ: mong đợi instanceof ${J.expected}, nhận được ${X}`;return`Đầu vào không hợp lệ: mong đợi ${G}, nhận được ${X}`}case"invalid_value":if(J.values.length===1)return`Đầu vào không hợp lệ: mong đợi ${X$(J.values[0])}`;return`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Quá lớn: mong đợi ${J.origin??"giá trị"} ${Y.verb} ${G}${J.maximum.toString()} ${Y.unit??"phần tử"}`;return`Quá lớn: mong đợi ${J.origin??"giá trị"} ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Quá nhỏ: mong đợi ${J.origin} ${Y.verb} ${G}${J.minimum.toString()} ${Y.unit}`;return`Quá nhỏ: mong đợi ${J.origin} ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Chuỗi không hợp lệ: phải bắt đầu bằng "${G.prefix}"`;if(G.format==="ends_with")return`Chuỗi không hợp lệ: phải kết thúc bằng "${G.suffix}"`;if(G.format==="includes")return`Chuỗi không hợp lệ: phải bao gồm "${G.includes}"`;if(G.format==="regex")return`Chuỗi không hợp lệ: phải khớp với mẫu ${G.pattern}`;return`${_[G.format]??J.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${J.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${p(J.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${J.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${J.origin}`;default:return"Đầu vào không hợp lệ"}}};function lW(){return{localeError:_i()}}var Ji=()=>{let $={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function U(J){return $[J]??null}let _={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},Q={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`无效输入:期望 instanceof ${J.expected},实际接收 ${X}`;return`无效输入:期望 ${G},实际接收 ${X}`}case"invalid_value":if(J.values.length===1)return`无效输入:期望 ${X$(J.values[0])}`;return`无效选项:期望以下之一 ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`数值过大:期望 ${J.origin??"值"} ${G}${J.maximum.toString()} ${Y.unit??"个元素"}`;return`数值过大:期望 ${J.origin??"值"} ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`数值过小:期望 ${J.origin} ${G}${J.minimum.toString()} ${Y.unit}`;return`数值过小:期望 ${J.origin} ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`无效字符串:必须以 "${G.prefix}" 开头`;if(G.format==="ends_with")return`无效字符串:必须以 "${G.suffix}" 结尾`;if(G.format==="includes")return`无效字符串:必须包含 "${G.includes}"`;if(G.format==="regex")return`无效字符串:必须满足正则表达式 ${G.pattern}`;return`无效${_[G.format]??J.format}`}case"not_multiple_of":return`无效数字:必须是 ${J.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${p(J.keys,", ")}`;case"invalid_key":return`${J.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${J.origin} 中包含无效值(value)`;default:return"无效输入"}}};function iW(){return{localeError:Ji()}}var Qi=()=>{let $={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function U(J){return $[J]??null}let _={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`無效的輸入值:預期為 instanceof ${J.expected},但收到 ${X}`;return`無效的輸入值:預期為 ${G},但收到 ${X}`}case"invalid_value":if(J.values.length===1)return`無效的輸入值:預期為 ${X$(J.values[0])}`;return`無效的選項:預期為以下其中之一 ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`數值過大:預期 ${J.origin??"值"} 應為 ${G}${J.maximum.toString()} ${Y.unit??"個元素"}`;return`數值過大:預期 ${J.origin??"值"} 應為 ${G}${J.maximum.toString()}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`數值過小:預期 ${J.origin} 應為 ${G}${J.minimum.toString()} ${Y.unit}`;return`數值過小:預期 ${J.origin} 應為 ${G}${J.minimum.toString()}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`無效的字串:必須以 "${G.prefix}" 開頭`;if(G.format==="ends_with")return`無效的字串:必須以 "${G.suffix}" 結尾`;if(G.format==="includes")return`無效的字串:必須包含 "${G.includes}"`;if(G.format==="regex")return`無效的字串:必須符合格式 ${G.pattern}`;return`無效的 ${_[G.format]??J.format}`}case"not_multiple_of":return`無效的數字:必須為 ${J.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${J.keys.length>1?"們":""}:${p(J.keys,"、")}`;case"invalid_key":return`${J.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${J.origin} 中有無效的值`;default:return"無效的輸入值"}}};function rW(){return{localeError:Qi()}}var Gi=()=>{let $={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function U(J){return $[J]??null}let _={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},Q={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return(J)=>{switch(J.code){case"invalid_type":{let G=Q[J.expected]??J.expected,Y=K$(J.input),X=Q[Y]??Y;if(/^[A-Z]/.test(J.expected))return`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${J.expected}, àmọ̀ a rí ${X}`;return`Ìbáwọlé aṣìṣe: a ní láti fi ${G}, àmọ̀ a rí ${X}`}case"invalid_value":if(J.values.length===1)return`Ìbáwọlé aṣìṣe: a ní láti fi ${X$(J.values[0])}`;return`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${p(J.values,"|")}`;case"too_big":{let G=J.inclusive?"<=":"<",Y=U(J.origin);if(Y)return`Tó pọ̀ jù: a ní láti jẹ́ pé ${J.origin??"iye"} ${Y.verb} ${G}${J.maximum} ${Y.unit}`;return`Tó pọ̀ jù: a ní láti jẹ́ ${G}${J.maximum}`}case"too_small":{let G=J.inclusive?">=":">",Y=U(J.origin);if(Y)return`Kéré ju: a ní láti jẹ́ pé ${J.origin} ${Y.verb} ${G}${J.minimum} ${Y.unit}`;return`Kéré ju: a ní láti jẹ́ ${G}${J.minimum}`}case"invalid_format":{let G=J;if(G.format==="starts_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${G.prefix}"`;if(G.format==="ends_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${G.suffix}"`;if(G.format==="includes")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${G.includes}"`;if(G.format==="regex")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${G.pattern}`;return`Aṣìṣe: ${_[G.format]??J.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${J.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${p(J.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${J.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${J.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};function nW(){return{localeError:Gi()}}var vL,pW=Symbol("ZodOutput"),oW=Symbol("ZodInput");class aW{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,...U){let _=U[0];if(this._map.set($,_),_&&typeof _==="object"&&"id"in _)this._idmap.set(_.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let U=this._map.get($);if(U&&typeof U==="object"&&"id"in U)this._idmap.delete(U.id);return this._map.delete($),this}get($){let U=$._zod.parent;if(U){let _={...this.get(U)??{}};delete _.id;let Q={..._,...this._map.get($)};return Object.keys(Q).length?Q:void 0}return this._map.get($)}has($){return this._map.has($)}}function SQ(){return new aW}(vL=globalThis).__zod_globalRegistry??(vL.__zod_globalRegistry=SQ());var y6=globalThis.__zod_globalRegistry;function tW($,U){return new $({type:"string",...F$(U)})}function eW($,U){return new $({type:"string",coerce:!0,...F$(U)})}function IQ($,U){return new $({type:"string",format:"email",check:"string_format",abort:!1,...F$(U)})}function r9($,U){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...F$(U)})}function vQ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...F$(U)})}function CQ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...F$(U)})}function yQ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...F$(U)})}function bQ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...F$(U)})}function n9($,U){return new $({type:"string",format:"url",check:"string_format",abort:!1,...F$(U)})}function xQ($,U){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...F$(U)})}function gQ($,U){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...F$(U)})}function hQ($,U){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...F$(U)})}function uQ($,U){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...F$(U)})}function mQ($,U){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...F$(U)})}function cQ($,U){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...F$(U)})}function dQ($,U){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...F$(U)})}function lQ($,U){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...F$(U)})}function iQ($,U){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...F$(U)})}function sW($,U){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...F$(U)})}function rQ($,U){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...F$(U)})}function nQ($,U){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...F$(U)})}function pQ($,U){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...F$(U)})}function oQ($,U){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...F$(U)})}function aQ($,U){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...F$(U)})}function tQ($,U){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...F$(U)})}var $N={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function UN($,U){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...F$(U)})}function _N($,U){return new $({type:"string",format:"date",check:"string_format",...F$(U)})}function JN($,U){return new $({type:"string",format:"time",check:"string_format",precision:null,...F$(U)})}function QN($,U){return new $({type:"string",format:"duration",check:"string_format",...F$(U)})}function GN($,U){return new $({type:"number",checks:[],...F$(U)})}function YN($,U){return new $({type:"number",coerce:!0,checks:[],...F$(U)})}function XN($,U){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...F$(U)})}function VN($,U){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...F$(U)})}function KN($,U){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...F$(U)})}function ZN($,U){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...F$(U)})}function WN($,U){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...F$(U)})}function NN($,U){return new $({type:"boolean",...F$(U)})}function FN($,U){return new $({type:"boolean",coerce:!0,...F$(U)})}function qN($,U){return new $({type:"bigint",...F$(U)})}function BN($,U){return new $({type:"bigint",coerce:!0,...F$(U)})}function HN($,U){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...F$(U)})}function ON($,U){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...F$(U)})}function jN($,U){return new $({type:"symbol",...F$(U)})}function DN($,U){return new $({type:"undefined",...F$(U)})}function EN($,U){return new $({type:"null",...F$(U)})}function MN($){return new $({type:"any"})}function PN($){return new $({type:"unknown"})}function fN($,U){return new $({type:"never",...F$(U)})}function LN($,U){return new $({type:"void",...F$(U)})}function RN($,U){return new $({type:"date",...F$(U)})}function wN($,U){return new $({type:"date",coerce:!0,...F$(U)})}function zN($,U){return new $({type:"nan",...F$(U)})}function P0($,U){return new DQ({check:"less_than",...F$(U),value:$,inclusive:!1})}function S1($,U){return new DQ({check:"less_than",...F$(U),value:$,inclusive:!0})}function f0($,U){return new EQ({check:"greater_than",...F$(U),value:$,inclusive:!1})}function a6($,U){return new EQ({check:"greater_than",...F$(U),value:$,inclusive:!0})}function eQ($){return f0(0,$)}function sQ($){return P0(0,$)}function $3($){return S1(0,$)}function U3($){return a6(0,$)}function n2($,U){return new zK({check:"multiple_of",...F$(U),value:$})}function p2($,U){return new TK({check:"max_size",...F$(U),maximum:$})}function L0($,U){return new SK({check:"min_size",...F$(U),minimum:$})}function iU($,U){return new IK({check:"size_equals",...F$(U),size:$})}function rU($,U){return new vK({check:"max_length",...F$(U),maximum:$})}function t0($,U){return new CK({check:"min_length",...F$(U),minimum:$})}function nU($,U){return new yK({check:"length_equals",...F$(U),length:$})}function YJ($,U){return new bK({check:"string_format",format:"regex",...F$(U),pattern:$})}function XJ($){return new xK({check:"string_format",format:"lowercase",...F$($)})}function VJ($){return new gK({check:"string_format",format:"uppercase",...F$($)})}function KJ($,U){return new hK({check:"string_format",format:"includes",...F$(U),includes:$})}function ZJ($,U){return new uK({check:"string_format",format:"starts_with",...F$(U),prefix:$})}function WJ($,U){return new mK({check:"string_format",format:"ends_with",...F$(U),suffix:$})}function _3($,U,_){return new cK({check:"property",property:$,schema:U,...F$(_)})}function NJ($,U){return new dK({check:"mime_type",mime:$,...F$(U)})}function U0($){return new lK({check:"overwrite",tx:$})}function FJ($){return U0((U)=>U.normalize($))}function qJ(){return U0(($)=>$.trim())}function BJ(){return U0(($)=>$.toLowerCase())}function HJ(){return U0(($)=>$.toUpperCase())}function OJ(){return U0(($)=>cV($))}function AN($,U,_){return new $({type:"array",element:U,...F$(_)})}function Xi($,U,_){return new $({type:"union",options:U,...F$(_)})}function Vi($,U,_){return new $({type:"union",options:U,inclusive:!1,...F$(_)})}function Ki($,U,_,Q){return new $({type:"union",options:_,discriminator:U,...F$(Q)})}function Zi($,U,_){return new $({type:"intersection",left:U,right:_})}function Wi($,U,_,Q){let J=_ instanceof a$;return new $({type:"tuple",items:U,rest:J?_:null,...F$(J?Q:_)})}function Ni($,U,_,Q){return new $({type:"record",keyType:U,valueType:_,...F$(Q)})}function Fi($,U,_,Q){return new $({type:"map",keyType:U,valueType:_,...F$(Q)})}function qi($,U,_){return new $({type:"set",valueType:U,...F$(_)})}function Bi($,U,_){let Q=Array.isArray(U)?Object.fromEntries(U.map((J)=>[J,J])):U;return new $({type:"enum",entries:Q,...F$(_)})}function Hi($,U,_){return new $({type:"enum",entries:U,...F$(_)})}function Oi($,U,_){return new $({type:"literal",values:Array.isArray(U)?U:[U],...F$(_)})}function kN($,U){return new $({type:"file",...F$(U)})}function ji($,U){return new $({type:"transform",transform:U})}function Di($,U){return new $({type:"optional",innerType:U})}function Ei($,U){return new $({type:"nullable",innerType:U})}function Mi($,U,_){return new $({type:"default",innerType:U,get defaultValue(){return typeof _==="function"?_():lV(_)}})}function Pi($,U,_){return new $({type:"nonoptional",innerType:U,...F$(_)})}function fi($,U){return new $({type:"success",innerType:U})}function Li($,U,_){return new $({type:"catch",innerType:U,catchValue:typeof _==="function"?_:()=>_})}function Ri($,U,_){return new $({type:"pipe",in:U,out:_})}function wi($,U){return new $({type:"readonly",innerType:U})}function zi($,U,_){return new $({type:"template_literal",parts:U,...F$(_)})}function Ai($,U){return new $({type:"lazy",getter:U})}function ki($,U){return new $({type:"promise",innerType:U})}function TN($,U,_){let Q=F$(_);return Q.abort??(Q.abort=!0),new $({type:"custom",check:"custom",fn:U,...Q})}function SN($,U,_){return new $({type:"custom",check:"custom",fn:U,...F$(_)})}function IN($){let U=CL((_)=>{return _.addIssue=(Q)=>{if(typeof Q==="string")_.issues.push(s_(Q,_.value,U._zod.def));else{let J=Q;if(J.fatal)J.continue=!1;J.code??(J.code="custom"),J.input??(J.input=_.value),J.inst??(J.inst=U),J.continue??(J.continue=!U._zod.def.abort),_.issues.push(s_(J))}},$(_.value,_)});return U}function CL($,U){let _=new h4({check:"custom",...F$(U)});return _._zod.check=$,_}function vN($){let U=new h4({check:"describe"});return U._zod.onattach=[(_)=>{let Q=y6.get(_)??{};y6.add(_,{...Q,description:$})}],U._zod.check=()=>{},U}function CN($){let U=new h4({check:"meta"});return U._zod.onattach=[(_)=>{let Q=y6.get(_)??{};y6.add(_,{...Q,...$})}],U._zod.check=()=>{},U}function yN($,U){let _=F$(U),Q=_.truthy??["true","1","yes","on","y","enabled"],J=_.falsy??["false","0","no","off","n","disabled"];if(_.case!=="sensitive")Q=Q.map((B)=>typeof B==="string"?B.toLowerCase():B),J=J.map((B)=>typeof B==="string"?B.toLowerCase():B);let G=new Set(Q),Y=new Set(J),X=$.Codec??u9,V=$.Boolean??g9,Z=new($.String??lU)({type:"string",error:_.error}),N=new V({type:"boolean",error:_.error}),W=new X({type:"pipe",in:Z,out:N,transform:(B,q)=>{let O=B;if(_.case!=="sensitive")O=O.toLowerCase();if(G.has(O))return!0;else if(Y.has(O))return!1;else return q.issues.push({code:"invalid_value",expected:"stringbool",values:[...G,...Y],input:q.value,inst:W,continue:!1}),{}},reverseTransform:(B,q)=>{if(B===!0)return Q[0]||"true";else return J[0]||"false"},error:_.error});return W}function jJ($,U,_,Q={}){let J=F$(Q),G={...F$(Q),check:"string_format",type:"string",format:U,fn:typeof _==="function"?_:(X)=>_.test(X),...J};if(_ instanceof RegExp)G.pattern=_;return new $(G)}function o2($){let U=$?.target??"draft-2020-12";if(U==="draft-4")U="draft-04";if(U==="draft-7")U="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??y6,target:U,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function L4($,U,_={path:[],schemaPath:[]}){var Q;let J=$._zod.def,G=U.seen.get($);if(G){if(G.count++,_.schemaPath.includes($))G.cycle=_.path;return G.schema}let Y={schema:{},count:1,cycle:void 0,path:_.path};U.seen.set($,Y);let X=$._zod.toJSONSchema?.();if(X)Y.schema=X;else{let Z={..._,schemaPath:[..._.schemaPath,$],path:_.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(U,Y.schema,Z);else{let W=Y.schema,B=U.processors[J.type];if(!B)throw Error(`[toJSONSchema]: Non-representable type encountered: ${J.type}`);B($,U,W,Z)}let N=$._zod.parent;if(N){if(!Y.ref)Y.ref=N;L4(N,U,Z),U.seen.get(N).isParent=!0}}let V=U.metadataRegistry.get($);if(V)Object.assign(Y.schema,V);if(U.io==="input"&&t6($))delete Y.schema.examples,delete Y.schema.default;if(U.io==="input"&&Y.schema._prefault)(Q=Y.schema).default??(Q.default=Y.schema._prefault);return delete Y.schema._prefault,U.seen.get($).schema}function a2($,U){let _=$.seen.get(U);if(!_)throw Error("Unprocessed schema. This is a bug in Zod.");let Q=new Map;for(let Y of $.seen.entries()){let X=$.metadataRegistry.get(Y[0])?.id;if(X){let V=Q.get(X);if(V&&V!==Y[0])throw Error(`Duplicate schema id "${X}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);Q.set(X,Y[0])}}let J=(Y)=>{let X=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let N=$.external.registry.get(Y[0])?.id,W=$.external.uri??((q)=>q);if(N)return{ref:W(N)};let B=Y[1].defId??Y[1].schema.id??`schema${$.counter++}`;return Y[1].defId=B,{defId:B,ref:`${W("__shared")}#/${X}/${B}`}}if(Y[1]===_)return{ref:"#"};let K=`${"#"}/${X}/`,Z=Y[1].schema.id??`__schema${$.counter++}`;return{defId:Z,ref:K+Z}},G=(Y)=>{if(Y[1].schema.$ref)return;let X=Y[1],{ref:V,defId:K}=J(Y);if(X.def={...X.schema},K)X.defId=K;let Z=X.schema;for(let N in Z)delete Z[N];Z.$ref=V};if($.cycles==="throw")for(let Y of $.seen.entries()){let X=Y[1];if(X.cycle)throw Error(`Cycle detected: #/${X.cycle?.join("/")}/<root>
567
+
568
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let Y of $.seen.entries()){let X=Y[1];if(U===Y[0]){G(Y);continue}if($.external){let K=$.external.registry.get(Y[0])?.id;if(U!==Y[0]&&K){G(Y);continue}}if($.metadataRegistry.get(Y[0])?.id){G(Y);continue}if(X.cycle){G(Y);continue}if(X.count>1){if($.reused==="ref"){G(Y);continue}}}}function t2($,U){let _=$.seen.get(U);if(!_)throw Error("Unprocessed schema. This is a bug in Zod.");let Q=(Y)=>{let X=$.seen.get(Y);if(X.ref===null)return;let V=X.def??X.schema,K={...V},Z=X.ref;if(X.ref=null,Z){Q(Z);let W=$.seen.get(Z),B=W.schema;if(B.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))V.allOf=V.allOf??[],V.allOf.push(B);else Object.assign(V,B);if(Object.assign(V,K),Y._zod.parent===Z)for(let O in V){if(O==="$ref"||O==="allOf")continue;if(!(O in K))delete V[O]}if(B.$ref)for(let O in V){if(O==="$ref"||O==="allOf")continue;if(O in W.def&&JSON.stringify(V[O])===JSON.stringify(W.def[O]))delete V[O]}}let N=Y._zod.parent;if(N&&N!==Z){Q(N);let W=$.seen.get(N);if(W?.schema.$ref){if(V.$ref=W.schema.$ref,W.def)for(let B in V){if(B==="$ref"||B==="allOf")continue;if(B in W.def&&JSON.stringify(V[B])===JSON.stringify(W.def[B]))delete V[B]}}}$.override({zodSchema:Y,jsonSchema:V,path:X.path??[]})};for(let Y of[...$.seen.entries()].reverse())Q(Y[0]);let J={};if($.target==="draft-2020-12")J.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")J.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")J.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let Y=$.external.registry.get(U)?.id;if(!Y)throw Error("Schema is missing an `id` property");J.$id=$.external.uri(Y)}Object.assign(J,_.def??_.schema);let G=$.external?.defs??{};for(let Y of $.seen.entries()){let X=Y[1];if(X.def&&X.defId)G[X.defId]=X.def}if($.external);else if(Object.keys(G).length>0)if($.target==="draft-2020-12")J.$defs=G;else J.definitions=G;try{let Y=JSON.parse(JSON.stringify(J));return Object.defineProperty(Y,"~standard",{value:{...U["~standard"],jsonSchema:{input:DJ(U,"input",$.processors),output:DJ(U,"output",$.processors)}},enumerable:!1,writable:!1}),Y}catch(Y){throw Error("Error converting schema to JSON.")}}function t6($,U){let _=U??{seen:new Set};if(_.seen.has($))return!1;_.seen.add($);let Q=$._zod.def;if(Q.type==="transform")return!0;if(Q.type==="array")return t6(Q.element,_);if(Q.type==="set")return t6(Q.valueType,_);if(Q.type==="lazy")return t6(Q.getter(),_);if(Q.type==="promise"||Q.type==="optional"||Q.type==="nonoptional"||Q.type==="nullable"||Q.type==="readonly"||Q.type==="default"||Q.type==="prefault")return t6(Q.innerType,_);if(Q.type==="intersection")return t6(Q.left,_)||t6(Q.right,_);if(Q.type==="record"||Q.type==="map")return t6(Q.keyType,_)||t6(Q.valueType,_);if(Q.type==="pipe")return t6(Q.in,_)||t6(Q.out,_);if(Q.type==="object"){for(let J in Q.shape)if(t6(Q.shape[J],_))return!0;return!1}if(Q.type==="union"){for(let J of Q.options)if(t6(J,_))return!0;return!1}if(Q.type==="tuple"){for(let J of Q.items)if(t6(J,_))return!0;if(Q.rest&&t6(Q.rest,_))return!0;return!1}return!1}var bN=($,U={})=>(_)=>{let Q=o2({..._,processors:U});return L4($,Q),a2(Q,$),t2(Q,$)},DJ=($,U,_={})=>(Q)=>{let{libraryOptions:J,target:G}=Q??{},Y=o2({...J??{},target:G,io:U,processors:_});return L4($,Y),a2(Y,$),t2(Y,$)};var Ti={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},xN=($,U,_,Q)=>{let J=_;J.type="string";let{minimum:G,maximum:Y,format:X,patterns:V,contentEncoding:K}=$._zod.bag;if(typeof G==="number")J.minLength=G;if(typeof Y==="number")J.maxLength=Y;if(X){if(J.format=Ti[X]??X,J.format==="")delete J.format;if(X==="time")delete J.format}if(K)J.contentEncoding=K;if(V&&V.size>0){let Z=[...V];if(Z.length===1)J.pattern=Z[0].source;else if(Z.length>1)J.allOf=[...Z.map((N)=>({...U.target==="draft-07"||U.target==="draft-04"||U.target==="openapi-3.0"?{type:"string"}:{},pattern:N.source}))]}},gN=($,U,_,Q)=>{let J=_,{minimum:G,maximum:Y,format:X,multipleOf:V,exclusiveMaximum:K,exclusiveMinimum:Z}=$._zod.bag;if(typeof X==="string"&&X.includes("int"))J.type="integer";else J.type="number";if(typeof Z==="number")if(U.target==="draft-04"||U.target==="openapi-3.0")J.minimum=Z,J.exclusiveMinimum=!0;else J.exclusiveMinimum=Z;if(typeof G==="number"){if(J.minimum=G,typeof Z==="number"&&U.target!=="draft-04")if(Z>=G)delete J.minimum;else delete J.exclusiveMinimum}if(typeof K==="number")if(U.target==="draft-04"||U.target==="openapi-3.0")J.maximum=K,J.exclusiveMaximum=!0;else J.exclusiveMaximum=K;if(typeof Y==="number"){if(J.maximum=Y,typeof K==="number"&&U.target!=="draft-04")if(K<=Y)delete J.maximum;else delete J.exclusiveMaximum}if(typeof V==="number")J.multipleOf=V},hN=($,U,_,Q)=>{_.type="boolean"},uN=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},mN=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},cN=($,U,_,Q)=>{if(U.target==="openapi-3.0")_.type="string",_.nullable=!0,_.enum=[null];else _.type="null"},dN=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},lN=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},iN=($,U,_,Q)=>{_.not={}},rN=($,U,_,Q)=>{},nN=($,U,_,Q)=>{},pN=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},oN=($,U,_,Q)=>{let J=$._zod.def,G=z9(J.entries);if(G.every((Y)=>typeof Y==="number"))_.type="number";if(G.every((Y)=>typeof Y==="string"))_.type="string";_.enum=G},aN=($,U,_,Q)=>{let J=$._zod.def,G=[];for(let Y of J.values)if(Y===void 0){if(U.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof Y==="bigint")if(U.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else G.push(Number(Y));else G.push(Y);if(G.length===0);else if(G.length===1){let Y=G[0];if(_.type=Y===null?"null":typeof Y,U.target==="draft-04"||U.target==="openapi-3.0")_.enum=[Y];else _.const=Y}else{if(G.every((Y)=>typeof Y==="number"))_.type="number";if(G.every((Y)=>typeof Y==="string"))_.type="string";if(G.every((Y)=>typeof Y==="boolean"))_.type="boolean";if(G.every((Y)=>Y===null))_.type="null";_.enum=G}},tN=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},eN=($,U,_,Q)=>{let J=_,G=$._zod.pattern;if(!G)throw Error("Pattern not found in template literal");J.type="string",J.pattern=G.source},sN=($,U,_,Q)=>{let J=_,G={type:"string",format:"binary",contentEncoding:"binary"},{minimum:Y,maximum:X,mime:V}=$._zod.bag;if(Y!==void 0)G.minLength=Y;if(X!==void 0)G.maxLength=X;if(V)if(V.length===1)G.contentMediaType=V[0],Object.assign(J,G);else Object.assign(J,G),J.anyOf=V.map((K)=>({contentMediaType:K}));else Object.assign(J,G)},$F=($,U,_,Q)=>{_.type="boolean"},UF=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},_F=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},JF=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},QF=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},GF=($,U,_,Q)=>{if(U.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},YF=($,U,_,Q)=>{let J=_,G=$._zod.def,{minimum:Y,maximum:X}=$._zod.bag;if(typeof Y==="number")J.minItems=Y;if(typeof X==="number")J.maxItems=X;J.type="array",J.items=L4(G.element,U,{...Q,path:[...Q.path,"items"]})},XF=($,U,_,Q)=>{let J=_,G=$._zod.def;J.type="object",J.properties={};let Y=G.shape;for(let K in Y)J.properties[K]=L4(Y[K],U,{...Q,path:[...Q.path,"properties",K]});let X=new Set(Object.keys(Y)),V=new Set([...X].filter((K)=>{let Z=G.shape[K]._zod;if(U.io==="input")return Z.optin===void 0;else return Z.optout===void 0}));if(V.size>0)J.required=Array.from(V);if(G.catchall?._zod.def.type==="never")J.additionalProperties=!1;else if(!G.catchall){if(U.io==="output")J.additionalProperties=!1}else if(G.catchall)J.additionalProperties=L4(G.catchall,U,{...Q,path:[...Q.path,"additionalProperties"]})},Q3=($,U,_,Q)=>{let J=$._zod.def,G=J.inclusive===!1,Y=J.options.map((X,V)=>L4(X,U,{...Q,path:[...Q.path,G?"oneOf":"anyOf",V]}));if(G)_.oneOf=Y;else _.anyOf=Y},VF=($,U,_,Q)=>{let J=$._zod.def,G=L4(J.left,U,{...Q,path:[...Q.path,"allOf",0]}),Y=L4(J.right,U,{...Q,path:[...Q.path,"allOf",1]}),X=(K)=>("allOf"in K)&&Object.keys(K).length===1,V=[...X(G)?G.allOf:[G],...X(Y)?Y.allOf:[Y]];_.allOf=V},KF=($,U,_,Q)=>{let J=_,G=$._zod.def;J.type="array";let Y=U.target==="draft-2020-12"?"prefixItems":"items",X=U.target==="draft-2020-12"?"items":U.target==="openapi-3.0"?"items":"additionalItems",V=G.items.map((W,B)=>L4(W,U,{...Q,path:[...Q.path,Y,B]})),K=G.rest?L4(G.rest,U,{...Q,path:[...Q.path,X,...U.target==="openapi-3.0"?[G.items.length]:[]]}):null;if(U.target==="draft-2020-12"){if(J.prefixItems=V,K)J.items=K}else if(U.target==="openapi-3.0"){if(J.items={anyOf:V},K)J.items.anyOf.push(K);if(J.minItems=V.length,!K)J.maxItems=V.length}else if(J.items=V,K)J.additionalItems=K;let{minimum:Z,maximum:N}=$._zod.bag;if(typeof Z==="number")J.minItems=Z;if(typeof N==="number")J.maxItems=N},ZF=($,U,_,Q)=>{let J=_,G=$._zod.def;J.type="object";let Y=G.keyType,V=Y._zod.bag?.patterns;if(G.mode==="loose"&&V&&V.size>0){let Z=L4(G.valueType,U,{...Q,path:[...Q.path,"patternProperties","*"]});J.patternProperties={};for(let N of V)J.patternProperties[N.source]=Z}else{if(U.target==="draft-07"||U.target==="draft-2020-12")J.propertyNames=L4(G.keyType,U,{...Q,path:[...Q.path,"propertyNames"]});J.additionalProperties=L4(G.valueType,U,{...Q,path:[...Q.path,"additionalProperties"]})}let K=Y._zod.values;if(K){let Z=[...K].filter((N)=>typeof N==="string"||typeof N==="number");if(Z.length>0)J.required=Z}},WF=($,U,_,Q)=>{let J=$._zod.def,G=L4(J.innerType,U,Q),Y=U.seen.get($);if(U.target==="openapi-3.0")Y.ref=J.innerType,_.nullable=!0;else _.anyOf=[G,{type:"null"}]},NF=($,U,_,Q)=>{let J=$._zod.def;L4(J.innerType,U,Q);let G=U.seen.get($);G.ref=J.innerType},FF=($,U,_,Q)=>{let J=$._zod.def;L4(J.innerType,U,Q);let G=U.seen.get($);G.ref=J.innerType,_.default=JSON.parse(JSON.stringify(J.defaultValue))},qF=($,U,_,Q)=>{let J=$._zod.def;L4(J.innerType,U,Q);let G=U.seen.get($);if(G.ref=J.innerType,U.io==="input")_._prefault=JSON.parse(JSON.stringify(J.defaultValue))},BF=($,U,_,Q)=>{let J=$._zod.def;L4(J.innerType,U,Q);let G=U.seen.get($);G.ref=J.innerType;let Y;try{Y=J.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}_.default=Y},HF=($,U,_,Q)=>{let J=$._zod.def,G=U.io==="input"?J.in._zod.def.type==="transform"?J.out:J.in:J.out;L4(G,U,Q);let Y=U.seen.get($);Y.ref=G},OF=($,U,_,Q)=>{let J=$._zod.def;L4(J.innerType,U,Q);let G=U.seen.get($);G.ref=J.innerType,_.readOnly=!0},jF=($,U,_,Q)=>{let J=$._zod.def;L4(J.innerType,U,Q);let G=U.seen.get($);G.ref=J.innerType},G3=($,U,_,Q)=>{let J=$._zod.def;L4(J.innerType,U,Q);let G=U.seen.get($);G.ref=J.innerType},DF=($,U,_,Q)=>{let J=$._zod.innerType;L4(J,U,Q);let G=U.seen.get($);G.ref=J},J3={string:xN,number:gN,boolean:hN,bigint:uN,symbol:mN,null:cN,undefined:dN,void:lN,never:iN,any:rN,unknown:nN,date:pN,enum:oN,literal:aN,nan:tN,template_literal:eN,file:sN,success:$F,custom:UF,function:_F,transform:JF,map:QF,set:GF,array:YF,object:XF,union:Q3,intersection:VF,tuple:KF,record:ZF,nullable:WF,nonoptional:NF,default:FF,prefault:qF,catch:BF,pipe:HF,readonly:OF,promise:jF,optional:G3,lazy:DF};function Y3($,U){if("_idmap"in $){let Q=$,J=o2({...U,processors:J3}),G={};for(let V of Q._idmap.entries()){let[K,Z]=V;L4(Z,J)}let Y={},X={registry:Q,uri:U?.uri,defs:G};J.external=X;for(let V of Q._idmap.entries()){let[K,Z]=V;a2(J,Z),Y[K]=t2(J,Z)}if(Object.keys(G).length>0){let V=J.target==="draft-2020-12"?"$defs":"definitions";Y.__shared={[V]:G}}return{schemas:Y}}let _=o2({...U,processors:J3});return L4($,_),a2(_,$),t2(_,$)}class EF{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let U=$?.target??"draft-2020-12";if(U==="draft-4")U="draft-04";if(U==="draft-7")U="draft-07";this.ctx=o2({processors:J3,target:U,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,U={path:[],schemaPath:[]}){return L4($,this.ctx,U)}emit($,U){if(U){if(U.cycles)this.ctx.cycles=U.cycles;if(U.reused)this.ctx.reused=U.reused;if(U.external)this.ctx.external=U.external}a2(this.ctx,$);let _=t2(this.ctx,$),{"~standard":Q,...J}=_;return J}}var yL={};var p9={};Z0(p9,{xor:()=>zR,xid:()=>aL,void:()=>MR,uuidv7:()=>cL,uuidv6:()=>mL,uuidv4:()=>uL,uuid:()=>hL,url:()=>dL,unknown:()=>pU,union:()=>v3,undefined:()=>DR,ulid:()=>oL,uint64:()=>OR,uint32:()=>qR,tuple:()=>$q,transform:()=>y3,templateLiteral:()=>uR,symbol:()=>jR,superRefine:()=>zq,success:()=>xR,stringbool:()=>pR,stringFormat:()=>XR,string:()=>N3,strictObject:()=>RR,set:()=>IR,refine:()=>wq,record:()=>Uq,readonly:()=>Eq,promise:()=>mR,preprocess:()=>aR,prefault:()=>Fq,pipe:()=>e9,partialRecord:()=>kR,optional:()=>a9,object:()=>LR,number:()=>gF,nullish:()=>bR,nullable:()=>t9,null:()=>dF,nonoptional:()=>qq,never:()=>I3,nativeEnum:()=>vR,nanoid:()=>rL,nan:()=>gR,meta:()=>rR,map:()=>SR,mac:()=>sL,looseRecord:()=>TR,looseObject:()=>wR,literal:()=>CR,lazy:()=>fq,ksuid:()=>tL,keyof:()=>fR,jwt:()=>YR,json:()=>oR,ipv6:()=>$R,ipv4:()=>eL,intersection:()=>eF,int64:()=>HR,int32:()=>FR,int:()=>F3,instanceof:()=>nR,httpUrl:()=>lL,hostname:()=>VR,hex:()=>KR,hash:()=>ZR,guid:()=>gL,function:()=>cR,float64:()=>NR,float32:()=>WR,file:()=>yR,exactOptional:()=>Vq,enum:()=>C3,emoji:()=>iL,email:()=>xL,e164:()=>GR,discriminatedUnion:()=>AR,describe:()=>iR,date:()=>PR,custom:()=>lR,cuid2:()=>pL,cuid:()=>nL,codec:()=>hR,cidrv6:()=>_R,cidrv4:()=>UR,check:()=>dR,catch:()=>Oq,boolean:()=>hF,bigint:()=>BR,base64url:()=>QR,base64:()=>JR,array:()=>U5,any:()=>ER,_function:()=>cR,_default:()=>Wq,_ZodString:()=>q3,ZodXor:()=>oF,ZodXID:()=>M3,ZodVoid:()=>nF,ZodUnknown:()=>iF,ZodUnion:()=>J5,ZodUndefined:()=>mF,ZodUUID:()=>R0,ZodURL:()=>s9,ZodULID:()=>E3,ZodType:()=>_4,ZodTuple:()=>sF,ZodTransform:()=>Yq,ZodTemplateLiteral:()=>Mq,ZodSymbol:()=>uF,ZodSuccess:()=>Bq,ZodStringFormat:()=>S4,ZodString:()=>PJ,ZodSet:()=>Jq,ZodRecord:()=>Q5,ZodReadonly:()=>Dq,ZodPromise:()=>Lq,ZodPrefault:()=>Nq,ZodPipe:()=>g3,ZodOptional:()=>b3,ZodObject:()=>_5,ZodNumberFormat:()=>oU,ZodNumber:()=>LJ,ZodNullable:()=>Kq,ZodNull:()=>cF,ZodNonOptional:()=>x3,ZodNever:()=>rF,ZodNanoID:()=>O3,ZodNaN:()=>jq,ZodMap:()=>_q,ZodMAC:()=>xF,ZodLiteral:()=>Qq,ZodLazy:()=>Pq,ZodKSUID:()=>P3,ZodJWT:()=>T3,ZodIntersection:()=>tF,ZodIPv6:()=>L3,ZodIPv4:()=>f3,ZodGUID:()=>o9,ZodFunction:()=>Rq,ZodFile:()=>Gq,ZodExactOptional:()=>Xq,ZodEnum:()=>MJ,ZodEmoji:()=>H3,ZodEmail:()=>B3,ZodE164:()=>k3,ZodDiscriminatedUnion:()=>aF,ZodDefault:()=>Zq,ZodDate:()=>$5,ZodCustomStringFormat:()=>fJ,ZodCustom:()=>G5,ZodCodec:()=>h3,ZodCatch:()=>Hq,ZodCUID2:()=>D3,ZodCUID:()=>j3,ZodCIDRv6:()=>w3,ZodCIDRv4:()=>R3,ZodBoolean:()=>RJ,ZodBigIntFormat:()=>S3,ZodBigInt:()=>wJ,ZodBase64URL:()=>A3,ZodBase64:()=>z3,ZodArray:()=>pF,ZodAny:()=>lF});var X3={};Z0(X3,{uppercase:()=>VJ,trim:()=>qJ,toUpperCase:()=>HJ,toLowerCase:()=>BJ,startsWith:()=>ZJ,slugify:()=>OJ,size:()=>iU,regex:()=>YJ,property:()=>_3,positive:()=>eQ,overwrite:()=>U0,normalize:()=>FJ,nonpositive:()=>$3,nonnegative:()=>U3,negative:()=>sQ,multipleOf:()=>n2,minSize:()=>L0,minLength:()=>t0,mime:()=>NJ,maxSize:()=>p2,maxLength:()=>rU,lte:()=>S1,lt:()=>P0,lowercase:()=>XJ,length:()=>nU,includes:()=>KJ,gte:()=>a6,gt:()=>f0,endsWith:()=>WJ});var EJ={};Z0(EJ,{time:()=>fF,duration:()=>LF,datetime:()=>MF,date:()=>PF,ZodISOTime:()=>Z3,ZodISODuration:()=>W3,ZodISODateTime:()=>V3,ZodISODate:()=>K3});var V3=u("ZodISODateTime",($,U)=>{QZ.init($,U),S4.init($,U)});function MF($){return UN(V3,$)}var K3=u("ZodISODate",($,U)=>{GZ.init($,U),S4.init($,U)});function PF($){return _N(K3,$)}var Z3=u("ZodISOTime",($,U)=>{YZ.init($,U),S4.init($,U)});function fF($){return JN(Z3,$)}var W3=u("ZodISODuration",($,U)=>{XZ.init($,U),S4.init($,U)});function LF($){return QN(W3,$)}var bL=($,U)=>{I9.init($,U),$.name="ZodError",Object.defineProperties($,{format:{value:(_)=>C9($,_)},flatten:{value:(_)=>v9($,_)},addIssue:{value:(_)=>{$.issues.push(_),$.message=JSON.stringify($.issues,t_,2)}},addIssues:{value:(_)=>{$.issues.push(..._),$.message=JSON.stringify($.issues,t_,2)}},isEmpty:{get(){return $.issues.length===0}}})},Ii=u("ZodError",bL),N1=u("ZodError",bL,{Parent:Error});var RF=$J(N1),wF=UJ(N1),zF=_J(N1),AF=JJ(N1),kF=ZQ(N1),TF=WQ(N1),SF=NQ(N1),IF=FQ(N1),vF=qQ(N1),CF=BQ(N1),yF=HQ(N1),bF=OQ(N1);var _4=u("ZodType",($,U)=>{return a$.init($,U),Object.assign($["~standard"],{jsonSchema:{input:DJ($,"input"),output:DJ($,"output")}}),$.toJSONSchema=bN($,{}),$.def=U,$.type=U.type,Object.defineProperty($,"_def",{value:U}),$.check=(..._)=>{return $.clone(W$.mergeDefs(U,{checks:[...U.checks??[],..._.map((Q)=>typeof Q==="function"?{_zod:{check:Q,def:{check:"custom"},onattach:[]}}:Q)]}),{parent:!0})},$.with=$.check,$.clone=(_,Q)=>o6($,_,Q),$.brand=()=>$,$.register=(_,Q)=>{return _.add($,Q),$},$.parse=(_,Q)=>RF($,_,Q,{callee:$.parse}),$.safeParse=(_,Q)=>zF($,_,Q),$.parseAsync=async(_,Q)=>wF($,_,Q,{callee:$.parseAsync}),$.safeParseAsync=async(_,Q)=>AF($,_,Q),$.spa=$.safeParseAsync,$.encode=(_,Q)=>kF($,_,Q),$.decode=(_,Q)=>TF($,_,Q),$.encodeAsync=async(_,Q)=>SF($,_,Q),$.decodeAsync=async(_,Q)=>IF($,_,Q),$.safeEncode=(_,Q)=>vF($,_,Q),$.safeDecode=(_,Q)=>CF($,_,Q),$.safeEncodeAsync=async(_,Q)=>yF($,_,Q),$.safeDecodeAsync=async(_,Q)=>bF($,_,Q),$.refine=(_,Q)=>$.check(wq(_,Q)),$.superRefine=(_)=>$.check(zq(_)),$.overwrite=(_)=>$.check(U0(_)),$.optional=()=>a9($),$.exactOptional=()=>Vq($),$.nullable=()=>t9($),$.nullish=()=>a9(t9($)),$.nonoptional=(_)=>qq($,_),$.array=()=>U5($),$.or=(_)=>v3([$,_]),$.and=(_)=>eF($,_),$.transform=(_)=>e9($,y3(_)),$.default=(_)=>Wq($,_),$.prefault=(_)=>Fq($,_),$.catch=(_)=>Oq($,_),$.pipe=(_)=>e9($,_),$.readonly=()=>Eq($),$.describe=(_)=>{let Q=$.clone();return y6.add(Q,{description:_}),Q},Object.defineProperty($,"description",{get(){return y6.get($)?.description},configurable:!0}),$.meta=(..._)=>{if(_.length===0)return y6.get($);let Q=$.clone();return y6.add(Q,_[0]),Q},$.isOptional=()=>$.safeParse(void 0).success,$.isNullable=()=>$.safeParse(null).success,$.apply=(_)=>_($),$}),q3=u("_ZodString",($,U)=>{lU.init($,U),_4.init($,U),$._zod.processJSONSchema=(Q,J,G)=>xN($,Q,J,G);let _=$._zod.bag;$.format=_.format??null,$.minLength=_.minimum??null,$.maxLength=_.maximum??null,$.regex=(...Q)=>$.check(YJ(...Q)),$.includes=(...Q)=>$.check(KJ(...Q)),$.startsWith=(...Q)=>$.check(ZJ(...Q)),$.endsWith=(...Q)=>$.check(WJ(...Q)),$.min=(...Q)=>$.check(t0(...Q)),$.max=(...Q)=>$.check(rU(...Q)),$.length=(...Q)=>$.check(nU(...Q)),$.nonempty=(...Q)=>$.check(t0(1,...Q)),$.lowercase=(Q)=>$.check(XJ(Q)),$.uppercase=(Q)=>$.check(VJ(Q)),$.trim=()=>$.check(qJ()),$.normalize=(...Q)=>$.check(FJ(...Q)),$.toLowerCase=()=>$.check(BJ()),$.toUpperCase=()=>$.check(HJ()),$.slugify=()=>$.check(OJ())}),PJ=u("ZodString",($,U)=>{lU.init($,U),q3.init($,U),$.email=(_)=>$.check(IQ(B3,_)),$.url=(_)=>$.check(n9(s9,_)),$.jwt=(_)=>$.check(tQ(T3,_)),$.emoji=(_)=>$.check(xQ(H3,_)),$.guid=(_)=>$.check(r9(o9,_)),$.uuid=(_)=>$.check(vQ(R0,_)),$.uuidv4=(_)=>$.check(CQ(R0,_)),$.uuidv6=(_)=>$.check(yQ(R0,_)),$.uuidv7=(_)=>$.check(bQ(R0,_)),$.nanoid=(_)=>$.check(gQ(O3,_)),$.guid=(_)=>$.check(r9(o9,_)),$.cuid=(_)=>$.check(hQ(j3,_)),$.cuid2=(_)=>$.check(uQ(D3,_)),$.ulid=(_)=>$.check(mQ(E3,_)),$.base64=(_)=>$.check(pQ(z3,_)),$.base64url=(_)=>$.check(oQ(A3,_)),$.xid=(_)=>$.check(cQ(M3,_)),$.ksuid=(_)=>$.check(dQ(P3,_)),$.ipv4=(_)=>$.check(lQ(f3,_)),$.ipv6=(_)=>$.check(iQ(L3,_)),$.cidrv4=(_)=>$.check(rQ(R3,_)),$.cidrv6=(_)=>$.check(nQ(w3,_)),$.e164=(_)=>$.check(aQ(k3,_)),$.datetime=(_)=>$.check(MF(_)),$.date=(_)=>$.check(PF(_)),$.time=(_)=>$.check(fF(_)),$.duration=(_)=>$.check(LF(_))});function N3($){return tW(PJ,$)}var S4=u("ZodStringFormat",($,U)=>{T4.init($,U),q3.init($,U)}),B3=u("ZodEmail",($,U)=>{oK.init($,U),S4.init($,U)});function xL($){return IQ(B3,$)}var o9=u("ZodGUID",($,U)=>{nK.init($,U),S4.init($,U)});function gL($){return r9(o9,$)}var R0=u("ZodUUID",($,U)=>{pK.init($,U),S4.init($,U)});function hL($){return vQ(R0,$)}function uL($){return CQ(R0,$)}function mL($){return yQ(R0,$)}function cL($){return bQ(R0,$)}var s9=u("ZodURL",($,U)=>{aK.init($,U),S4.init($,U)});function dL($){return n9(s9,$)}function lL($){return n9(s9,{protocol:/^https?$/,hostname:u1.domain,...W$.normalizeParams($)})}var H3=u("ZodEmoji",($,U)=>{tK.init($,U),S4.init($,U)});function iL($){return xQ(H3,$)}var O3=u("ZodNanoID",($,U)=>{eK.init($,U),S4.init($,U)});function rL($){return gQ(O3,$)}var j3=u("ZodCUID",($,U)=>{sK.init($,U),S4.init($,U)});function nL($){return hQ(j3,$)}var D3=u("ZodCUID2",($,U)=>{$Z.init($,U),S4.init($,U)});function pL($){return uQ(D3,$)}var E3=u("ZodULID",($,U)=>{UZ.init($,U),S4.init($,U)});function oL($){return mQ(E3,$)}var M3=u("ZodXID",($,U)=>{_Z.init($,U),S4.init($,U)});function aL($){return cQ(M3,$)}var P3=u("ZodKSUID",($,U)=>{JZ.init($,U),S4.init($,U)});function tL($){return dQ(P3,$)}var f3=u("ZodIPv4",($,U)=>{VZ.init($,U),S4.init($,U)});function eL($){return lQ(f3,$)}var xF=u("ZodMAC",($,U)=>{ZZ.init($,U),S4.init($,U)});function sL($){return sW(xF,$)}var L3=u("ZodIPv6",($,U)=>{KZ.init($,U),S4.init($,U)});function $R($){return iQ(L3,$)}var R3=u("ZodCIDRv4",($,U)=>{WZ.init($,U),S4.init($,U)});function UR($){return rQ(R3,$)}var w3=u("ZodCIDRv6",($,U)=>{NZ.init($,U),S4.init($,U)});function _R($){return nQ(w3,$)}var z3=u("ZodBase64",($,U)=>{qZ.init($,U),S4.init($,U)});function JR($){return pQ(z3,$)}var A3=u("ZodBase64URL",($,U)=>{BZ.init($,U),S4.init($,U)});function QR($){return oQ(A3,$)}var k3=u("ZodE164",($,U)=>{HZ.init($,U),S4.init($,U)});function GR($){return aQ(k3,$)}var T3=u("ZodJWT",($,U)=>{OZ.init($,U),S4.init($,U)});function YR($){return tQ(T3,$)}var fJ=u("ZodCustomStringFormat",($,U)=>{jZ.init($,U),S4.init($,U)});function XR($,U,_={}){return jJ(fJ,$,U,_)}function VR($){return jJ(fJ,"hostname",u1.hostname,$)}function KR($){return jJ(fJ,"hex",u1.hex,$)}function ZR($,U){let _=U?.enc??"hex",Q=`${$}_${_}`,J=u1[Q];if(!J)throw Error(`Unrecognized hash format: ${Q}`);return jJ(fJ,Q,J,U)}var LJ=u("ZodNumber",($,U)=>{zQ.init($,U),_4.init($,U),$._zod.processJSONSchema=(Q,J,G)=>gN($,Q,J,G),$.gt=(Q,J)=>$.check(f0(Q,J)),$.gte=(Q,J)=>$.check(a6(Q,J)),$.min=(Q,J)=>$.check(a6(Q,J)),$.lt=(Q,J)=>$.check(P0(Q,J)),$.lte=(Q,J)=>$.check(S1(Q,J)),$.max=(Q,J)=>$.check(S1(Q,J)),$.int=(Q)=>$.check(F3(Q)),$.safe=(Q)=>$.check(F3(Q)),$.positive=(Q)=>$.check(f0(0,Q)),$.nonnegative=(Q)=>$.check(a6(0,Q)),$.negative=(Q)=>$.check(P0(0,Q)),$.nonpositive=(Q)=>$.check(S1(0,Q)),$.multipleOf=(Q,J)=>$.check(n2(Q,J)),$.step=(Q,J)=>$.check(n2(Q,J)),$.finite=()=>$;let _=$._zod.bag;$.minValue=Math.max(_.minimum??Number.NEGATIVE_INFINITY,_.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(_.maximum??Number.POSITIVE_INFINITY,_.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(_.format??"").includes("int")||Number.isSafeInteger(_.multipleOf??0.5),$.isFinite=!0,$.format=_.format??null});function gF($){return GN(LJ,$)}var oU=u("ZodNumberFormat",($,U)=>{DZ.init($,U),LJ.init($,U)});function F3($){return XN(oU,$)}function WR($){return VN(oU,$)}function NR($){return KN(oU,$)}function FR($){return ZN(oU,$)}function qR($){return WN(oU,$)}var RJ=u("ZodBoolean",($,U)=>{g9.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>hN($,_,Q,J)});function hF($){return NN(RJ,$)}var wJ=u("ZodBigInt",($,U)=>{AQ.init($,U),_4.init($,U),$._zod.processJSONSchema=(Q,J,G)=>uN($,Q,J,G),$.gte=(Q,J)=>$.check(a6(Q,J)),$.min=(Q,J)=>$.check(a6(Q,J)),$.gt=(Q,J)=>$.check(f0(Q,J)),$.gte=(Q,J)=>$.check(a6(Q,J)),$.min=(Q,J)=>$.check(a6(Q,J)),$.lt=(Q,J)=>$.check(P0(Q,J)),$.lte=(Q,J)=>$.check(S1(Q,J)),$.max=(Q,J)=>$.check(S1(Q,J)),$.positive=(Q)=>$.check(f0(BigInt(0),Q)),$.negative=(Q)=>$.check(P0(BigInt(0),Q)),$.nonpositive=(Q)=>$.check(S1(BigInt(0),Q)),$.nonnegative=(Q)=>$.check(a6(BigInt(0),Q)),$.multipleOf=(Q,J)=>$.check(n2(Q,J));let _=$._zod.bag;$.minValue=_.minimum??null,$.maxValue=_.maximum??null,$.format=_.format??null});function BR($){return qN(wJ,$)}var S3=u("ZodBigIntFormat",($,U)=>{EZ.init($,U),wJ.init($,U)});function HR($){return HN(S3,$)}function OR($){return ON(S3,$)}var uF=u("ZodSymbol",($,U)=>{MZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>mN($,_,Q,J)});function jR($){return jN(uF,$)}var mF=u("ZodUndefined",($,U)=>{PZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>dN($,_,Q,J)});function DR($){return DN(mF,$)}var cF=u("ZodNull",($,U)=>{fZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>cN($,_,Q,J)});function dF($){return EN(cF,$)}var lF=u("ZodAny",($,U)=>{LZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>rN($,_,Q,J)});function ER(){return MN(lF)}var iF=u("ZodUnknown",($,U)=>{RZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>nN($,_,Q,J)});function pU(){return PN(iF)}var rF=u("ZodNever",($,U)=>{wZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>iN($,_,Q,J)});function I3($){return fN(rF,$)}var nF=u("ZodVoid",($,U)=>{zZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>lN($,_,Q,J)});function MR($){return LN(nF,$)}var $5=u("ZodDate",($,U)=>{AZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(Q,J,G)=>pN($,Q,J,G),$.min=(Q,J)=>$.check(a6(Q,J)),$.max=(Q,J)=>$.check(S1(Q,J));let _=$._zod.bag;$.minDate=_.minimum?new Date(_.minimum):null,$.maxDate=_.maximum?new Date(_.maximum):null});function PR($){return RN($5,$)}var pF=u("ZodArray",($,U)=>{kZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>YF($,_,Q,J),$.element=U.element,$.min=(_,Q)=>$.check(t0(_,Q)),$.nonempty=(_)=>$.check(t0(1,_)),$.max=(_,Q)=>$.check(rU(_,Q)),$.length=(_,Q)=>$.check(nU(_,Q)),$.unwrap=()=>$.element});function U5($,U){return AN(pF,$,U)}function fR($){let U=$._zod.def.shape;return C3(Object.keys(U))}var _5=u("ZodObject",($,U)=>{TZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>XF($,_,Q,J),W$.defineLazy($,"shape",()=>{return U.shape}),$.keyof=()=>C3(Object.keys($._zod.def.shape)),$.catchall=(_)=>$.clone({...$._zod.def,catchall:_}),$.passthrough=()=>$.clone({...$._zod.def,catchall:pU()}),$.loose=()=>$.clone({...$._zod.def,catchall:pU()}),$.strict=()=>$.clone({...$._zod.def,catchall:I3()}),$.strip=()=>$.clone({...$._zod.def,catchall:void 0}),$.extend=(_)=>{return W$.extend($,_)},$.safeExtend=(_)=>{return W$.safeExtend($,_)},$.merge=(_)=>W$.merge($,_),$.pick=(_)=>W$.pick($,_),$.omit=(_)=>W$.omit($,_),$.partial=(..._)=>W$.partial(b3,$,_[0]),$.required=(..._)=>W$.required(x3,$,_[0])});function LR($,U){let _={type:"object",shape:$??{},...W$.normalizeParams(U)};return new _5(_)}function RR($,U){return new _5({type:"object",shape:$,catchall:I3(),...W$.normalizeParams(U)})}function wR($,U){return new _5({type:"object",shape:$,catchall:pU(),...W$.normalizeParams(U)})}var J5=u("ZodUnion",($,U)=>{h9.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>Q3($,_,Q,J),$.options=U.options});function v3($,U){return new J5({type:"union",options:$,...W$.normalizeParams(U)})}var oF=u("ZodXor",($,U)=>{J5.init($,U),SZ.init($,U),$._zod.processJSONSchema=(_,Q,J)=>Q3($,_,Q,J),$.options=U.options});function zR($,U){return new oF({type:"union",options:$,inclusive:!1,...W$.normalizeParams(U)})}var aF=u("ZodDiscriminatedUnion",($,U)=>{J5.init($,U),IZ.init($,U)});function AR($,U,_){return new aF({type:"union",options:U,discriminator:$,...W$.normalizeParams(_)})}var tF=u("ZodIntersection",($,U)=>{vZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>VF($,_,Q,J)});function eF($,U){return new tF({type:"intersection",left:$,right:U})}var sF=u("ZodTuple",($,U)=>{kQ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>KF($,_,Q,J),$.rest=(_)=>$.clone({...$._zod.def,rest:_})});function $q($,U,_){let Q=U instanceof a$,J=Q?_:U;return new sF({type:"tuple",items:$,rest:Q?U:null,...W$.normalizeParams(J)})}var Q5=u("ZodRecord",($,U)=>{CZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>ZF($,_,Q,J),$.keyType=U.keyType,$.valueType=U.valueType});function Uq($,U,_){return new Q5({type:"record",keyType:$,valueType:U,...W$.normalizeParams(_)})}function kR($,U,_){let Q=o6($);return Q._zod.values=void 0,new Q5({type:"record",keyType:Q,valueType:U,...W$.normalizeParams(_)})}function TR($,U,_){return new Q5({type:"record",keyType:$,valueType:U,mode:"loose",...W$.normalizeParams(_)})}var _q=u("ZodMap",($,U)=>{yZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>QF($,_,Q,J),$.keyType=U.keyType,$.valueType=U.valueType,$.min=(..._)=>$.check(L0(..._)),$.nonempty=(_)=>$.check(L0(1,_)),$.max=(..._)=>$.check(p2(..._)),$.size=(..._)=>$.check(iU(..._))});function SR($,U,_){return new _q({type:"map",keyType:$,valueType:U,...W$.normalizeParams(_)})}var Jq=u("ZodSet",($,U)=>{bZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>GF($,_,Q,J),$.min=(..._)=>$.check(L0(..._)),$.nonempty=(_)=>$.check(L0(1,_)),$.max=(..._)=>$.check(p2(..._)),$.size=(..._)=>$.check(iU(..._))});function IR($,U){return new Jq({type:"set",valueType:$,...W$.normalizeParams(U)})}var MJ=u("ZodEnum",($,U)=>{xZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(Q,J,G)=>oN($,Q,J,G),$.enum=U.entries,$.options=Object.values(U.entries);let _=new Set(Object.keys(U.entries));$.extract=(Q,J)=>{let G={};for(let Y of Q)if(_.has(Y))G[Y]=U.entries[Y];else throw Error(`Key ${Y} not found in enum`);return new MJ({...U,checks:[],...W$.normalizeParams(J),entries:G})},$.exclude=(Q,J)=>{let G={...U.entries};for(let Y of Q)if(_.has(Y))delete G[Y];else throw Error(`Key ${Y} not found in enum`);return new MJ({...U,checks:[],...W$.normalizeParams(J),entries:G})}});function C3($,U){let _=Array.isArray($)?Object.fromEntries($.map((Q)=>[Q,Q])):$;return new MJ({type:"enum",entries:_,...W$.normalizeParams(U)})}function vR($,U){return new MJ({type:"enum",entries:$,...W$.normalizeParams(U)})}var Qq=u("ZodLiteral",($,U)=>{gZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>aN($,_,Q,J),$.values=new Set(U.values),Object.defineProperty($,"value",{get(){if(U.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return U.values[0]}})});function CR($,U){return new Qq({type:"literal",values:Array.isArray($)?$:[$],...W$.normalizeParams(U)})}var Gq=u("ZodFile",($,U)=>{hZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>sN($,_,Q,J),$.min=(_,Q)=>$.check(L0(_,Q)),$.max=(_,Q)=>$.check(p2(_,Q)),$.mime=(_,Q)=>$.check(NJ(Array.isArray(_)?_:[_],Q))});function yR($){return kN(Gq,$)}var Yq=u("ZodTransform",($,U)=>{uZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>JF($,_,Q,J),$._zod.parse=(_,Q)=>{if(Q.direction==="backward")throw new mU($.constructor.name);_.addIssue=(G)=>{if(typeof G==="string")_.issues.push(W$.issue(G,_.value,U));else{let Y=G;if(Y.fatal)Y.continue=!1;Y.code??(Y.code="custom"),Y.input??(Y.input=_.value),Y.inst??(Y.inst=$),_.issues.push(W$.issue(Y))}};let J=U.transform(_.value,_);if(J instanceof Promise)return J.then((G)=>{return _.value=G,_});return _.value=J,_}});function y3($){return new Yq({type:"transform",transform:$})}var b3=u("ZodOptional",($,U)=>{TQ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>G3($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function a9($){return new b3({type:"optional",innerType:$})}var Xq=u("ZodExactOptional",($,U)=>{mZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>G3($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function Vq($){return new Xq({type:"optional",innerType:$})}var Kq=u("ZodNullable",($,U)=>{cZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>WF($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function t9($){return new Kq({type:"nullable",innerType:$})}function bR($){return a9(t9($))}var Zq=u("ZodDefault",($,U)=>{dZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>FF($,_,Q,J),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});function Wq($,U){return new Zq({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():W$.shallowClone(U)}})}var Nq=u("ZodPrefault",($,U)=>{lZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>qF($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function Fq($,U){return new Nq({type:"prefault",innerType:$,get defaultValue(){return typeof U==="function"?U():W$.shallowClone(U)}})}var x3=u("ZodNonOptional",($,U)=>{iZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>NF($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function qq($,U){return new x3({type:"nonoptional",innerType:$,...W$.normalizeParams(U)})}var Bq=u("ZodSuccess",($,U)=>{rZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>$F($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function xR($){return new Bq({type:"success",innerType:$})}var Hq=u("ZodCatch",($,U)=>{nZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>BF($,_,Q,J),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});function Oq($,U){return new Hq({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}var jq=u("ZodNaN",($,U)=>{pZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>tN($,_,Q,J)});function gR($){return zN(jq,$)}var g3=u("ZodPipe",($,U)=>{oZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>HF($,_,Q,J),$.in=U.in,$.out=U.out});function e9($,U){return new g3({type:"pipe",in:$,out:U})}var h3=u("ZodCodec",($,U)=>{g3.init($,U),u9.init($,U)});function hR($,U,_){return new h3({type:"pipe",in:$,out:U,transform:_.decode,reverseTransform:_.encode})}var Dq=u("ZodReadonly",($,U)=>{aZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>OF($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function Eq($){return new Dq({type:"readonly",innerType:$})}var Mq=u("ZodTemplateLiteral",($,U)=>{tZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>eN($,_,Q,J)});function uR($,U){return new Mq({type:"template_literal",parts:$,...W$.normalizeParams(U)})}var Pq=u("ZodLazy",($,U)=>{$W.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>DF($,_,Q,J),$.unwrap=()=>$._zod.def.getter()});function fq($){return new Pq({type:"lazy",getter:$})}var Lq=u("ZodPromise",($,U)=>{sZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>jF($,_,Q,J),$.unwrap=()=>$._zod.def.innerType});function mR($){return new Lq({type:"promise",innerType:$})}var Rq=u("ZodFunction",($,U)=>{eZ.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>_F($,_,Q,J)});function cR($){return new Rq({type:"function",input:Array.isArray($?.input)?$q($?.input):$?.input??U5(pU()),output:$?.output??pU()})}var G5=u("ZodCustom",($,U)=>{UW.init($,U),_4.init($,U),$._zod.processJSONSchema=(_,Q,J)=>UF($,_,Q,J)});function dR($){let U=new h4({check:"custom"});return U._zod.check=$,U}function lR($,U){return TN(G5,$??(()=>!0),U)}function wq($,U={}){return SN(G5,$,U)}function zq($){return IN($)}var iR=vN,rR=CN;function nR($,U={}){let _=new G5({type:"custom",check:"custom",fn:(Q)=>Q instanceof $,abort:!0,...W$.normalizeParams(U)});return _._zod.bag.Class=$,_._zod.check=(Q)=>{if(!(Q.value instanceof $))Q.issues.push({code:"invalid_type",expected:$.name,input:Q.value,inst:_,path:[..._._zod.def.path??[]]})},_}var pR=(...$)=>yN({Codec:h3,Boolean:RJ,String:PJ},...$);function oR($){let U=fq(()=>{return v3([N3($),gF(),hF(),dF(),U5(U),Uq(N3(),U)])});return U}function aR($,U){return e9(y3($),U)}var Ci={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function yi($){N6({customError:$})}function bi(){return N6().customError}var Aq;(function($){})(Aq||(Aq={}));var M$={...p9,...X3,iso:EJ},xi=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function gi($,U){let _=$.$schema;if(_==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(_==="http://json-schema.org/draft-07/schema#")return"draft-7";if(_==="http://json-schema.org/draft-04/schema#")return"draft-4";return U??"draft-2020-12"}function hi($,U){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let _=$.slice(1).split("/").filter(Boolean);if(_.length===0)return U.rootSchema;let Q=U.version==="draft-2020-12"?"$defs":"definitions";if(_[0]===Q){let J=_[1];if(!J||!U.defs[J])throw Error(`Reference not found: ${$}`);return U.defs[J]}throw Error(`Reference not found: ${$}`)}function tR($,U){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return M$.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let J=$.$ref;if(U.refs.has(J))return U.refs.get(J);if(U.processing.has(J))return M$.lazy(()=>{if(!U.refs.has(J))throw Error(`Circular reference not resolved: ${J}`);return U.refs.get(J)});U.processing.add(J);let G=hi(J,U),Y=l6(G,U);return U.refs.set(J,Y),U.processing.delete(J),Y}if($.enum!==void 0){let J=$.enum;if(U.version==="openapi-3.0"&&$.nullable===!0&&J.length===1&&J[0]===null)return M$.null();if(J.length===0)return M$.never();if(J.length===1)return M$.literal(J[0]);if(J.every((Y)=>typeof Y==="string"))return M$.enum(J);let G=J.map((Y)=>M$.literal(Y));if(G.length<2)return G[0];return M$.union([G[0],G[1],...G.slice(2)])}if($.const!==void 0)return M$.literal($.const);let _=$.type;if(Array.isArray(_)){let J=_.map((G)=>{let Y={...$,type:G};return tR(Y,U)});if(J.length===0)return M$.never();if(J.length===1)return J[0];return M$.union(J)}if(!_)return M$.any();let Q;switch(_){case"string":{let J=M$.string();if($.format){let G=$.format;if(G==="email")J=J.check(M$.email());else if(G==="uri"||G==="uri-reference")J=J.check(M$.url());else if(G==="uuid"||G==="guid")J=J.check(M$.uuid());else if(G==="date-time")J=J.check(M$.iso.datetime());else if(G==="date")J=J.check(M$.iso.date());else if(G==="time")J=J.check(M$.iso.time());else if(G==="duration")J=J.check(M$.iso.duration());else if(G==="ipv4")J=J.check(M$.ipv4());else if(G==="ipv6")J=J.check(M$.ipv6());else if(G==="mac")J=J.check(M$.mac());else if(G==="cidr")J=J.check(M$.cidrv4());else if(G==="cidr-v6")J=J.check(M$.cidrv6());else if(G==="base64")J=J.check(M$.base64());else if(G==="base64url")J=J.check(M$.base64url());else if(G==="e164")J=J.check(M$.e164());else if(G==="jwt")J=J.check(M$.jwt());else if(G==="emoji")J=J.check(M$.emoji());else if(G==="nanoid")J=J.check(M$.nanoid());else if(G==="cuid")J=J.check(M$.cuid());else if(G==="cuid2")J=J.check(M$.cuid2());else if(G==="ulid")J=J.check(M$.ulid());else if(G==="xid")J=J.check(M$.xid());else if(G==="ksuid")J=J.check(M$.ksuid())}if(typeof $.minLength==="number")J=J.min($.minLength);if(typeof $.maxLength==="number")J=J.max($.maxLength);if($.pattern)J=J.regex(new RegExp($.pattern));Q=J;break}case"number":case"integer":{let J=_==="integer"?M$.number().int():M$.number();if(typeof $.minimum==="number")J=J.min($.minimum);if(typeof $.maximum==="number")J=J.max($.maximum);if(typeof $.exclusiveMinimum==="number")J=J.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")J=J.gt($.minimum);if(typeof $.exclusiveMaximum==="number")J=J.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")J=J.lt($.maximum);if(typeof $.multipleOf==="number")J=J.multipleOf($.multipleOf);Q=J;break}case"boolean":{Q=M$.boolean();break}case"null":{Q=M$.null();break}case"object":{let J={},G=$.properties||{},Y=new Set($.required||[]);for(let[V,K]of Object.entries(G)){let Z=l6(K,U);J[V]=Y.has(V)?Z:Z.optional()}if($.propertyNames){let V=l6($.propertyNames,U),K=$.additionalProperties&&typeof $.additionalProperties==="object"?l6($.additionalProperties,U):M$.any();if(Object.keys(J).length===0){Q=M$.record(V,K);break}let Z=M$.object(J).passthrough(),N=M$.looseRecord(V,K);Q=M$.intersection(Z,N);break}if($.patternProperties){let V=$.patternProperties,K=Object.keys(V),Z=[];for(let W of K){let B=l6(V[W],U),q=M$.string().regex(new RegExp(W));Z.push(M$.looseRecord(q,B))}let N=[];if(Object.keys(J).length>0)N.push(M$.object(J).passthrough());if(N.push(...Z),N.length===0)Q=M$.object({}).passthrough();else if(N.length===1)Q=N[0];else{let W=M$.intersection(N[0],N[1]);for(let B=2;B<N.length;B++)W=M$.intersection(W,N[B]);Q=W}break}let X=M$.object(J);if($.additionalProperties===!1)Q=X.strict();else if(typeof $.additionalProperties==="object")Q=X.catchall(l6($.additionalProperties,U));else Q=X.passthrough();break}case"array":{let{prefixItems:J,items:G}=$;if(J&&Array.isArray(J)){let Y=J.map((V)=>l6(V,U)),X=G&&typeof G==="object"&&!Array.isArray(G)?l6(G,U):void 0;if(X)Q=M$.tuple(Y).rest(X);else Q=M$.tuple(Y);if(typeof $.minItems==="number")Q=Q.check(M$.minLength($.minItems));if(typeof $.maxItems==="number")Q=Q.check(M$.maxLength($.maxItems))}else if(Array.isArray(G)){let Y=G.map((V)=>l6(V,U)),X=$.additionalItems&&typeof $.additionalItems==="object"?l6($.additionalItems,U):void 0;if(X)Q=M$.tuple(Y).rest(X);else Q=M$.tuple(Y);if(typeof $.minItems==="number")Q=Q.check(M$.minLength($.minItems));if(typeof $.maxItems==="number")Q=Q.check(M$.maxLength($.maxItems))}else if(G!==void 0){let Y=l6(G,U),X=M$.array(Y);if(typeof $.minItems==="number")X=X.min($.minItems);if(typeof $.maxItems==="number")X=X.max($.maxItems);Q=X}else Q=M$.array(M$.any());break}default:throw Error(`Unsupported type: ${_}`)}if($.description)Q=Q.describe($.description);if($.default!==void 0)Q=Q.default($.default);return Q}function l6($,U){if(typeof $==="boolean")return $?M$.any():M$.never();let _=tR($,U),Q=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let X=$.anyOf.map((K)=>l6(K,U)),V=M$.union(X);_=Q?M$.intersection(_,V):V}if($.oneOf&&Array.isArray($.oneOf)){let X=$.oneOf.map((K)=>l6(K,U)),V=M$.xor(X);_=Q?M$.intersection(_,V):V}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)_=Q?_:M$.any();else{let X=Q?_:l6($.allOf[0],U),V=Q?0:1;for(let K=V;K<$.allOf.length;K++)X=M$.intersection(X,l6($.allOf[K],U));_=X}if($.nullable===!0&&U.version==="openapi-3.0")_=M$.nullable(_);if($.readOnly===!0)_=M$.readonly(_);let J={},G=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let X of G)if(X in $)J[X]=$[X];let Y=["contentEncoding","contentMediaType","contentSchema"];for(let X of Y)if(X in $)J[X]=$[X];for(let X of Object.keys($))if(!xi.has(X))J[X]=$[X];if(Object.keys(J).length>0)U.registry.add(_,J);return _}function eR($,U){if(typeof $==="boolean")return $?M$.any():M$.never();let _=gi($,U?.defaultTarget),Q=$.$defs||$.definitions||{},J={version:_,defs:Q,refs:new Map,processing:new Set,rootSchema:$,registry:U?.registry??y6};return l6($,J)}var kq={};Z0(kq,{string:()=>ui,number:()=>mi,date:()=>li,boolean:()=>ci,bigint:()=>di});function ui($){return eW(PJ,$)}function mi($){return YN(LJ,$)}function ci($){return FN(RJ,$)}function di($){return BN(wJ,$)}function li($){return wN($5,$)}N6(m9());var J6={authenticate:"authenticate",initialize:"initialize",session_cancel:"session/cancel",session_fork:"session/fork",session_list:"session/list",session_load:"session/load",session_new:"session/new",session_prompt:"session/prompt",session_resume:"session/resume",session_set_config_option:"session/set_config_option",session_set_mode:"session/set_mode",session_set_model:"session/set_model"},L6={fs_read_text_file:"fs/read_text_file",fs_write_text_file:"fs/write_text_file",session_request_permission:"session/request_permission",session_update:"session/update",terminal_create:"terminal/create",terminal_kill:"terminal/kill",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit"};var ri=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),description:F.union([F.string(),F.null()]).optional(),id:F.string(),name:F.string()}),Sq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),methodId:F.string()}),ni=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),pi=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),blob:F.string(),mimeType:F.union([F.string(),F.null()]).optional(),uri:F.string()}),oi=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),terminalId:F.string()}),ai=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),newText:F.string(),oldText:F.union([F.string(),F.null()]).optional(),path:F.string()}),sR=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),name:F.string(),value:F.string()}),ti=F.union([F.literal(-32700),F.literal(-32600),F.literal(-32601),F.literal(-32602),F.literal(-32603),F.literal(-32800),F.literal(-32000),F.literal(-32002),F.number().int()]),$w=F.object({code:ti,data:F.unknown().optional(),message:F.string()}),Uw=F.unknown(),_w=F.unknown(),Jw=F.unknown(),ei=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),readTextFile:F.boolean().optional().default(!1),writeTextFile:F.boolean().optional().default(!1)}),si=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),fs:ei.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:F.boolean().optional().default(!1)}),Qw=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),name:F.string(),value:F.string()}),Gw=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),name:F.string(),title:F.union([F.string(),F.null()]).optional(),version:F.string()}),$r=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),Iq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),cursor:F.union([F.string(),F.null()]).optional(),cwd:F.union([F.string(),F.null()]).optional()}),Ur=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),http:F.boolean().optional().default(!1),sse:F.boolean().optional().default(!1)}),_r=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),headers:F.array(Qw),name:F.string(),url:F.string()}),Jr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),headers:F.array(Qw),name:F.string(),url:F.string()}),Qr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),args:F.array(F.string()),command:F.string(),env:F.array(sR),name:F.string()}),u3=F.union([_r.and(F.object({type:F.literal("http")})),Jr.and(F.object({type:F.literal("sse")})),Qr]),vq=F.string(),Gr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),description:F.union([F.string(),F.null()]).optional(),modelId:vq,name:F.string()}),Cq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),cwd:F.string(),mcpServers:F.array(u3)}),Yw=F.string(),Yr=F.union([F.literal("allow_once"),F.literal("allow_always"),F.literal("reject_once"),F.literal("reject_always")]),Xr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),kind:Yr,name:F.string(),optionId:Yw}),Vr=F.union([F.literal("high"),F.literal("medium"),F.literal("low")]),Kr=F.union([F.literal("pending"),F.literal("in_progress"),F.literal("completed")]),Zr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),content:F.string(),priority:Vr,status:Kr}),Wr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),entries:F.array(Zr)}),Nr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),audio:F.boolean().optional().default(!1),embeddedContext:F.boolean().optional().default(!1),image:F.boolean().optional().default(!1)}),Xw=F.number().int().gte(0).lte(65535),yq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),clientCapabilities:si.optional().default({fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:F.union([Gw,F.null()]).optional(),protocolVersion:Xw}),Fr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),content:F.string()}),qr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),aU=F.union([F.null(),F.coerce.bigint(),F.string()]),zV$=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),requestId:aU}),Br=F.enum(["assistant","user"]),Y5=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),audience:F.union([F.array(Br),F.null()]).optional(),lastModified:F.union([F.string(),F.null()]).optional(),priority:F.union([F.number(),F.null()]).optional()}),Hr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),annotations:F.union([Y5,F.null()]).optional(),data:F.string(),mimeType:F.string()}),Or=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),annotations:F.union([Y5,F.null()]).optional(),data:F.string(),mimeType:F.string(),uri:F.union([F.string(),F.null()]).optional()}),jr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),annotations:F.union([Y5,F.null()]).optional(),description:F.union([F.string(),F.null()]).optional(),mimeType:F.union([F.string(),F.null()]).optional(),name:F.string(),size:F.union([F.coerce.bigint(),F.null()]).optional(),title:F.union([F.string(),F.null()]).optional(),uri:F.string()}),Dr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),optionId:Yw}),Er=F.union([F.object({outcome:F.literal("cancelled")}),Dr.and(F.object({outcome:F.literal("selected")}))]),Mr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),outcome:Er}),Pr=F.string(),Vw=F.string(),bq=F.string(),Kw=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),description:F.union([F.string(),F.null()]).optional(),name:F.string(),value:bq}),fr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),group:Pr,name:F.string(),options:F.array(Kw)}),Lr=F.union([F.array(Kw),F.array(fr)]),Rr=F.object({currentValue:bq,options:Lr}),zJ=Rr.and(F.object({type:F.literal("select")})).and(F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),description:F.union([F.string(),F.null()]).optional(),id:Vw,name:F.string()})),wr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),configOptions:F.array(zJ)}),zr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),j6=F.string(),xq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),sessionId:j6}),AV$=F.object({method:F.string(),params:F.union([F.union([xq,Uw]),F.null()]).optional()}),gq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),args:F.array(F.string()).optional(),command:F.string(),cwd:F.union([F.string(),F.null()]).optional(),env:F.array(sR).optional(),outputByteLimit:F.union([F.number().int().gte(0),F.null()]).optional(),sessionId:j6}),hq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),cwd:F.string(),mcpServers:F.array(u3).optional(),sessionId:j6}),uq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),sessionId:j6,terminalId:F.string()}),mq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),cwd:F.string(),mcpServers:F.array(u3),sessionId:j6}),cq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),limit:F.union([F.number().int().gte(0),F.null()]).optional(),line:F.union([F.number().int().gte(0),F.null()]).optional(),path:F.string(),sessionId:j6}),dq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),sessionId:j6,terminalId:F.string()}),lq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),cwd:F.string(),mcpServers:F.array(u3).optional(),sessionId:j6}),Ar=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),cwd:F.string(),sessionId:j6,title:F.union([F.string(),F.null()]).optional(),updatedAt:F.union([F.string(),F.null()]).optional()}),kr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),nextCursor:F.union([F.string(),F.null()]).optional(),sessions:F.array(Ar)}),Tr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),title:F.union([F.string(),F.null()]).optional(),updatedAt:F.union([F.string(),F.null()]).optional()}),Sr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),m3=F.string(),Ir=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),currentModeId:m3}),vr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),description:F.union([F.string(),F.null()]).optional(),id:m3,name:F.string()}),c3=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),availableModes:F.array(vr),currentModeId:m3}),d3=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),availableModels:F.array(Gr),currentModelId:vq}),Cr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),configOptions:F.union([F.array(zJ),F.null()]).optional(),models:F.union([d3,F.null()]).optional(),modes:F.union([c3,F.null()]).optional(),sessionId:j6}),yr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),configOptions:F.union([F.array(zJ),F.null()]).optional(),models:F.union([d3,F.null()]).optional(),modes:F.union([c3,F.null()]).optional()}),br=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),configOptions:F.union([F.array(zJ),F.null()]).optional(),models:F.union([d3,F.null()]).optional(),modes:F.union([c3,F.null()]).optional(),sessionId:j6}),xr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),configOptions:F.union([F.array(zJ),F.null()]).optional(),models:F.union([d3,F.null()]).optional(),modes:F.union([c3,F.null()]).optional()}),gr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),hr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),fork:F.union([zr,F.null()]).optional(),list:F.union([Sr,F.null()]).optional(),resume:F.union([gr,F.null()]).optional()}),ur=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),loadSession:F.boolean().optional().default(!1),mcpCapabilities:Ur.optional().default({http:!1,sse:!1}),promptCapabilities:Nr.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:hr.optional().default({})}),mr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),agentCapabilities:ur.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:F.union([Gw,F.null()]).optional(),authMethods:F.array(ri).optional().default([]),protocolVersion:Xw}),cr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),configId:Vw,sessionId:j6,value:bq}),dr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),configOptions:F.array(zJ)}),iq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),modeId:m3,sessionId:j6}),lr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),rq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),modelId:vq,sessionId:j6}),ir=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),rr=F.union([F.literal("end_turn"),F.literal("max_tokens"),F.literal("max_turn_requests"),F.literal("refusal"),F.literal("cancelled")]),nr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),stopReason:rr}),kV$=F.union([F.object({id:aU,result:F.union([mr,ni,br,yr,kr,Cr,xr,lr,dr,nr,ir,Jw])}),F.object({error:$w,id:aU})]),pr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),terminalId:F.string()}),or=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),exitCode:F.union([F.number().int().gte(0),F.null()]).optional(),signal:F.union([F.string(),F.null()]).optional()}),nq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),sessionId:j6,terminalId:F.string()}),ar=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),exitStatus:F.union([or,F.null()]).optional(),output:F.string(),truncated:F.boolean()}),tr=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),annotations:F.union([Y5,F.null()]).optional(),text:F.string()}),er=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),mimeType:F.union([F.string(),F.null()]).optional(),text:F.string(),uri:F.string()}),sr=F.union([er,pi]),$n=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),annotations:F.union([Y5,F.null()]).optional(),resource:sr}),pq=F.union([tr.and(F.object({type:F.literal("text")})),Or.and(F.object({type:F.literal("image")})),Hr.and(F.object({type:F.literal("audio")})),jr.and(F.object({type:F.literal("resource_link")})),$n.and(F.object({type:F.literal("resource")}))]),Un=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),content:pq}),Tq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),content:pq}),oq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),prompt:F.array(pq),sessionId:j6}),TV$=F.object({id:aU,method:F.string(),params:F.union([F.union([yq,Sq,Cq,mq,Iq,hq,lq,iq,cr,oq,rq,_w]),F.null()]).optional()}),Zw=F.union([Un.and(F.object({type:F.literal("content")})),ai.and(F.object({type:F.literal("diff")})),pr.and(F.object({type:F.literal("terminal")}))]),Ww=F.string(),Nw=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),line:F.union([F.number().int().gte(0),F.null()]).optional(),path:F.string()}),Fw=F.union([F.literal("pending"),F.literal("in_progress"),F.literal("completed"),F.literal("failed")]),qw=F.union([F.literal("read"),F.literal("edit"),F.literal("delete"),F.literal("move"),F.literal("search"),F.literal("execute"),F.literal("think"),F.literal("fetch"),F.literal("switch_mode"),F.literal("other")]),_n=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),content:F.array(Zw).optional(),kind:qw.optional(),locations:F.array(Nw).optional(),rawInput:F.unknown().optional(),rawOutput:F.unknown().optional(),status:Fw.optional(),title:F.string(),toolCallId:Ww}),Bw=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),content:F.union([F.array(Zw),F.null()]).optional(),kind:F.union([qw,F.null()]).optional(),locations:F.union([F.array(Nw),F.null()]).optional(),rawInput:F.unknown().optional(),rawOutput:F.unknown().optional(),status:F.union([Fw,F.null()]).optional(),title:F.union([F.string(),F.null()]).optional(),toolCallId:Ww}),aq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),options:F.array(Xr),sessionId:j6,toolCall:Bw}),Jn=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),hint:F.string()}),Qn=Jn,Gn=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),description:F.string(),input:F.union([Qn,F.null()]).optional(),name:F.string()}),Yn=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),availableCommands:F.array(Gn)}),Xn=F.union([Tq.and(F.object({sessionUpdate:F.literal("user_message_chunk")})),Tq.and(F.object({sessionUpdate:F.literal("agent_message_chunk")})),Tq.and(F.object({sessionUpdate:F.literal("agent_thought_chunk")})),_n.and(F.object({sessionUpdate:F.literal("tool_call")})),Bw.and(F.object({sessionUpdate:F.literal("tool_call_update")})),Wr.and(F.object({sessionUpdate:F.literal("plan")})),Yn.and(F.object({sessionUpdate:F.literal("available_commands_update")})),Ir.and(F.object({sessionUpdate:F.literal("current_mode_update")})),wr.and(F.object({sessionUpdate:F.literal("config_option_update")})),Tr.and(F.object({sessionUpdate:F.literal("session_info_update")}))]),tq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),sessionId:j6,update:Xn}),SV$=F.object({method:F.string(),params:F.union([F.union([tq,Uw]),F.null()]).optional()}),eq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),sessionId:j6,terminalId:F.string()}),Vn=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),exitCode:F.union([F.number().int().gte(0),F.null()]).optional(),signal:F.union([F.string(),F.null()]).optional()}),sq=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional(),content:F.string(),path:F.string(),sessionId:j6}),IV$=F.object({id:aU,method:F.string(),params:F.union([F.union([sq,cq,aq,gq,nq,dq,eq,uq,_w]),F.null()]).optional()}),Kn=F.object({_meta:F.union([F.record(F.string(),F.unknown()),F.null()]).optional()}),vV$=F.union([F.object({id:aU,result:F.union([Kn,Fr,Mr,oi,ar,qr,Vn,$r,Jw])}),F.object({error:$w,id:aU})]);function Hw($,U){let _=new TextEncoder,Q=new TextDecoder,J=new ReadableStream({async start(Y){let X="",V=U.getReader();try{while(!0){let{value:K,done:Z}=await V.read();if(Z)break;if(!K)continue;X+=Q.decode(K,{stream:!0});let N=X.split(`
569
+ `);X=N.pop()||"";for(let W of N){let B=W.trim();if(B)try{let q=JSON.parse(B);Y.enqueue(q)}catch(q){console.error("Failed to parse JSON message:",B,q)}}}}finally{V.releaseLock(),Y.close()}}}),G=new WritableStream({async write(Y){let X=JSON.stringify(Y)+`
570
+ `,V=$.getWriter();try{await V.write(_.encode(X))}finally{V.releaseLock()}}});return{readable:J,writable:G}}class $B{#$;constructor($,U){let _=$(this),Q=async(G,Y)=>{switch(G){case J6.initialize:{let X=yq.parse(Y);return _.initialize(X)}case J6.session_new:{let X=Cq.parse(Y);return _.newSession(X)}case J6.session_load:{if(!_.loadSession)throw I4.methodNotFound(G);let X=mq.parse(Y);return _.loadSession(X)}case J6.session_list:{if(!_.unstable_listSessions)throw I4.methodNotFound(G);let X=Iq.parse(Y);return _.unstable_listSessions(X)}case J6.session_fork:{if(!_.unstable_forkSession)throw I4.methodNotFound(G);let X=hq.parse(Y);return _.unstable_forkSession(X)}case J6.session_resume:{if(!_.unstable_resumeSession)throw I4.methodNotFound(G);let X=lq.parse(Y);return _.unstable_resumeSession(X)}case J6.session_set_mode:{if(!_.setSessionMode)throw I4.methodNotFound(G);let X=iq.parse(Y);return await _.setSessionMode(X)??{}}case J6.authenticate:{let X=Sq.parse(Y);return await _.authenticate(X)??{}}case J6.session_prompt:{let X=oq.parse(Y);return _.prompt(X)}case J6.session_set_model:{if(!_.unstable_setSessionModel)throw I4.methodNotFound(G);let X=rq.parse(Y);return await _.unstable_setSessionModel(X)??{}}default:if(G.startsWith("_")){if(!_.extMethod)throw I4.methodNotFound(G);return _.extMethod(G.substring(1),Y)}throw I4.methodNotFound(G)}},J=async(G,Y)=>{switch(G){case J6.session_cancel:{let X=xq.parse(Y);return _.cancel(X)}default:if(G.startsWith("_")){if(!_.extNotification)return;return _.extNotification(G.substring(1),Y)}throw I4.methodNotFound(G)}};this.#$=new UB(Q,J,U)}async sessionUpdate($){return await this.#$.sendNotification(L6.session_update,$)}async requestPermission($){return await this.#$.sendRequest(L6.session_request_permission,$)}async readTextFile($){return await this.#$.sendRequest(L6.fs_read_text_file,$)}async writeTextFile($){return await this.#$.sendRequest(L6.fs_write_text_file,$)??{}}async createTerminal($){let U=await this.#$.sendRequest(L6.terminal_create,$);return new Ow(U.terminalId,$.sessionId,this.#$)}async extMethod($,U){return await this.#$.sendRequest(`_${$}`,U)}async extNotification($,U){return await this.#$.sendNotification(`_${$}`,U)}get signal(){return this.#$.signal}get closed(){return this.#$.closed}}class Ow{id;#$;#U;constructor($,U,_){this.id=$,this.#$=U,this.#U=_}async currentOutput(){return await this.#U.sendRequest(L6.terminal_output,{sessionId:this.#$,terminalId:this.id})}async waitForExit(){return await this.#U.sendRequest(L6.terminal_wait_for_exit,{sessionId:this.#$,terminalId:this.id})}async kill(){return await this.#U.sendRequest(L6.terminal_kill,{sessionId:this.#$,terminalId:this.id})??{}}async release(){return await this.#U.sendRequest(L6.terminal_release,{sessionId:this.#$,terminalId:this.id})??{}}async[Symbol.asyncDispose](){await this.release()}}class Wn{#$;constructor($,U){let _=$(this),Q=async(G,Y)=>{switch(G){case L6.fs_write_text_file:{let X=sq.parse(Y);return _.writeTextFile?.(X)}case L6.fs_read_text_file:{let X=cq.parse(Y);return _.readTextFile?.(X)}case L6.session_request_permission:{let X=aq.parse(Y);return _.requestPermission(X)}case L6.terminal_create:{let X=gq.parse(Y);return _.createTerminal?.(X)}case L6.terminal_output:{let X=nq.parse(Y);return _.terminalOutput?.(X)}case L6.terminal_release:{let X=dq.parse(Y);return await _.releaseTerminal?.(X)??{}}case L6.terminal_wait_for_exit:{let X=eq.parse(Y);return _.waitForTerminalExit?.(X)}case L6.terminal_kill:{let X=uq.parse(Y);return await _.killTerminal?.(X)??{}}default:if(G.startsWith("_")){let X=G.substring(1);if(!_.extMethod)throw I4.methodNotFound(G);return _.extMethod(X,Y)}throw I4.methodNotFound(G)}},J=async(G,Y)=>{switch(G){case L6.session_update:{let X=tq.parse(Y);return _.sessionUpdate(X)}default:if(G.startsWith("_")){let X=G.substring(1);if(!_.extNotification)return;return _.extNotification(X,Y)}throw I4.methodNotFound(G)}};this.#$=new UB(Q,J,U)}async initialize($){return await this.#$.sendRequest(J6.initialize,$)}async newSession($){return await this.#$.sendRequest(J6.session_new,$)}async loadSession($){return await this.#$.sendRequest(J6.session_load,$)??{}}async unstable_forkSession($){return await this.#$.sendRequest(J6.session_fork,$)}async unstable_listSessions($){return await this.#$.sendRequest(J6.session_list,$)}async unstable_resumeSession($){return await this.#$.sendRequest(J6.session_resume,$)}async setSessionMode($){return await this.#$.sendRequest(J6.session_set_mode,$)??{}}async unstable_setSessionModel($){return await this.#$.sendRequest(J6.session_set_model,$)??{}}async authenticate($){return await this.#$.sendRequest(J6.authenticate,$)??{}}async prompt($){return await this.#$.sendRequest(J6.session_prompt,$)}async cancel($){return await this.#$.sendNotification(J6.session_cancel,$)}async extMethod($,U){return await this.#$.sendRequest(`_${$}`,U)}async extNotification($,U){return await this.#$.sendNotification(`_${$}`,U)}get signal(){return this.#$.signal}get closed(){return this.#$.closed}}class UB{#$=new Map;#U=0;#Y;#X;#J;#Q=Promise.resolve();#G=new AbortController;#V;constructor($,U,_){this.#Y=$,this.#X=U,this.#J=_,this.#V=new Promise((Q)=>{this.#G.signal.addEventListener("abort",()=>Q())}),this.#K()}get signal(){return this.#G.signal}get closed(){return this.#V}async#K(){let $=this.#J.readable.getReader();try{while(!0){let{value:U,done:_}=await $.read();if(_)break;if(!U)continue;try{this.#Z(U)}catch(Q){if(console.error("Unexpected error during message processing:",U,Q),"id"in U&&U.id!==void 0)this.#_({jsonrpc:"2.0",id:U.id,error:{code:-32700,message:"Parse error"}})}}}finally{$.releaseLock(),this.#G.abort()}}async#Z($){if("method"in $&&"id"in $){let U=await this.#W($.method,$.params);if("error"in U)console.error("Error handling request",$,U.error);await this.#_({jsonrpc:"2.0",id:$.id,...U})}else if("method"in $){let U=await this.#N($.method,$.params);if("error"in U)console.error("Error handling notification",$,U.error)}else if("id"in $)this.#F($);else console.error("Invalid message",{message:$})}async#W($,U){try{return{result:await this.#Y($,U)??null}}catch(_){if(_ instanceof I4)return _.toResult();if(_ instanceof F.ZodError)return I4.invalidParams(_.format()).toResult();let Q;if(_ instanceof Error)Q=_.message;else if(typeof _==="object"&&_!=null&&"message"in _&&typeof _.message==="string")Q=_.message;try{return I4.internalError(Q?JSON.parse(Q):{}).toResult()}catch{return I4.internalError({details:Q}).toResult()}}}async#N($,U){try{return await this.#X($,U),{result:null}}catch(_){if(_ instanceof I4)return _.toResult();if(_ instanceof F.ZodError)return I4.invalidParams(_.format()).toResult();let Q;if(_ instanceof Error)Q=_.message;else if(typeof _==="object"&&_!=null&&"message"in _&&typeof _.message==="string")Q=_.message;try{return I4.internalError(Q?JSON.parse(Q):{}).toResult()}catch{return I4.internalError({details:Q}).toResult()}}}#F($){let U=this.#$.get($.id);if(U){if("result"in $)U.resolve($.result);else if("error"in $)U.reject($.error);this.#$.delete($.id)}else console.error("Got response to unknown request",$.id)}async sendRequest($,U){let _=this.#U++,Q=new Promise((J,G)=>{this.#$.set(_,{resolve:J,reject:G})});return await this.#_({jsonrpc:"2.0",id:_,method:$,params:U}),Q}async sendNotification($,U){await this.#_({jsonrpc:"2.0",method:$,params:U})}async#_($){return this.#Q=this.#Q.then(async()=>{let U=this.#J.writable.getWriter();try{await U.write($)}finally{U.releaseLock()}}).catch((U)=>{console.error("ACP write error:",U)}),this.#Q}}class I4 extends Error{code;data;constructor($,U,_){super(U);this.code=$,this.name="RequestError",this.data=_}static parseError($,U){return new I4(-32700,`Parse error${U?`: ${U}`:""}`,$)}static invalidRequest($,U){return new I4(-32600,`Invalid request${U?`: ${U}`:""}`,$)}static methodNotFound($){return new I4(-32601,`"Method not found": ${$}`,{method:$})}static invalidParams($,U){return new I4(-32602,`Invalid params${U?`: ${U}`:""}`,$)}static internalError($,U){return new I4(-32603,`Internal error${U?`: ${U}`:""}`,$)}static authRequired($,U){return new I4(-32000,`Authentication required${U?`: ${U}`:""}`,$)}static resourceNotFound($){return new I4(-32002,`Resource not found${$?`: ${$}`:""}`,$&&{uri:$})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}}class s0{tools=new Map;register($){if(this.tools.has($.name))throw Error(`Tool "${$.name}" already registered`);this.tools.set($.name,$)}unregister($){return this.tools.delete($)}get($){return this.tools.get($)}list(){return Array.from(this.tools.values())}has($){return this.tools.has($)}get size(){return this.tools.size}toOpenAIFormat(){return this.list().map(($)=>({type:"function",function:{name:$.name,description:$.description,parameters:$.parameters}}))}}var WK$=f4(kw(),1),YB=b6.env.ACP_DEBUG==="true",kJ=b6.env.ACP_STICKY_SESSION==="true";function D4(...$){if(YB)console.error("[ACP Server]",...$)}var QB="plan-mode",dn="agent",Cw=[{id:"agent",name:"Agent",description:"Standard agent mode with full tool access."},{id:"plan",name:"Plan",description:"Planning mode with read-only tooling and plan helpers."}],ln=new Set(Cw.map(($)=>$.id));function rn($){return ln.has($)?$:null}function i3($){return{currentModeId:$,availableModes:Cw}}function yw(){let $=m_({baseUrl:b6.env.OPENAI_API_BASE_URL,apiKey:b6.env.OPENAI_API_KEY,defaultModelId:b6.env.MODEL_ID||"gpt-4o-mini",compat:{interleavedThinking:!0}});return q_({adapter:$})}function nn(){let $=m_({baseUrl:b6.env.OPENAI_API_BASE_URL,apiKey:b6.env.OPENAI_API_KEY,defaultModelId:b6.env.SUB_MODEL_ID||"gpt-4o-mini",compat:{interleavedThinking:!0}});return q_({adapter:$})}function Tw($,U){if($==="end_turn"||$==="max_tokens"||$==="max_turn_requests"||$==="refusal"||$==="cancelled")return $;switch($){case"final_response":case"stop":case"tool_call":return"end_turn";case"length":return"max_tokens";case"max_iterations":return"max_turn_requests";case"approval_required":case"error":return"end_turn";default:return U}}var Sw="acp-history";function pn($){if(!$)return"";if(typeof $==="string")return $;if(Array.isArray($)){let U=$.map((_)=>_&&typeof _.text==="string"?_.text:"").filter(Boolean);if(U.length>0)return U.join("");return JSON.stringify($)}return JSON.stringify($)}function Iw($){if($.outcome!=="selected")return null;let U=$._meta;if(U&&typeof U==="object"&&"answers"in U&&U.answers&&typeof U.answers==="object")return U.answers;return null}function vw($,U,_,Q){let J=[],G=new Map;(Array.isArray($.options)?$.options:[]).forEach((K,Z)=>{let N=`q${U}:opt${Z}`;if(_.has(N))return;let W=typeof K?.label==="string"&&K.label.trim()?K.label.trim():`Option ${Z+1}`;G.set(N,W),J.push({optionId:N,name:W,kind:"allow_once"})});let X=`q${U}:other`;if(!_.has(X))G.set(X,"Other"),J.push({optionId:X,name:"Other",kind:"allow_once"});let V;if(Q)V=`q${U}:done`,J.push({optionId:V,name:"Done",kind:"reject_once"});if(J.length===0){let K=`q${U}:ok`;G.set(K,"OK"),J.push({optionId:K,name:"OK",kind:"allow_once"})}return{options:J,optionLabelById:G,doneOptionId:V}}async function on($,U,_,Q,J){let G={};for(let Y=0;Y<Q.length;Y++){let X=Q[Y],V=typeof X.header==="string"&&X.header.trim()?X.header.trim():"User Input Required",K={question:X,questionIndex:Y};if(X.multiSelect){let O=[],M=new Set;while(!0){let{options:P,optionLabelById:H,doneOptionId:z}=vw(X,Y,M,!0),A=await $.requestPermission({sessionId:U,toolCall:{toolCallId:_,title:V,kind:J,status:"pending",rawInput:K},options:P}),E=Iw(A.outcome);if(E)return E;if(A.outcome.outcome==="cancelled")return null;let D=A.outcome.optionId;if(z&&D===z)break;let f=H.get(D)??D;if(O.push(f),M.add(D),P.filter((T)=>T.optionId!==z).length<=M.size)break}G[String(Y)]=O;continue}let{options:Z,optionLabelById:N}=vw(X,Y,new Set,!1),W=await $.requestPermission({sessionId:U,toolCall:{toolCallId:_,title:V,kind:J,status:"pending",rawInput:K},options:Z}),B=Iw(W.outcome);if(B)return B;if(W.outcome.outcome==="cancelled")return null;let q=W.outcome.optionId;G[String(Y)]=N.get(q)??q}return G}function an($,U){let _=[];for(let Q=0;Q<$.length;Q++){let J=U[String(Q)];if(!J)continue;let G=$[Q]?.header?.trim()||`Q${Q+1}`,Y=Array.isArray(J)?J.join(", "):J;_.push(`${G}: ${Y}`)}return _.length>0?_.join("; "):"User answers received."}function tn($){let U=`tool:${$}:allow`,_=`tool:${$}:deny`;return{allowOptionId:U,denyOptionId:_,options:[{optionId:U,name:"Allow",kind:"allow_once"},{optionId:_,name:"Deny",kind:"reject_once"}]}}async function en($,U,_){let Q={};for(let J of _){let{options:G,allowOptionId:Y}=tn(J.toolCallId),X=J.riskLevel?`${J.title} (${J.riskLevel})`:J.title,V=await $.requestPermission({sessionId:U,toolCall:{toolCallId:J.toolCallId,title:X,kind:J.kind,status:"pending",rawInput:J.rawInput},options:G});if(V.outcome.outcome==="cancelled")return null;let K=V.outcome.optionId;Q[J.toolCallId]={approved:K===Y}}return Q}class bw{acpAgent;connection=null;sessions=new Map;stickySessionId=null;currentModeId=dn;currentWorkspaceCwd=null;availableCommands=[{name:"new",description:"Start a fresh conversation (creates a new session)."},{name:"agent",description:"Switch to agent mode."},{name:"plan",description:"Switch to plan mode."},{name:"commit",description:"Generate a git commit with auto-generated message based on staged changes."}];constructor($){this.acpAgent=$}setConnection($){this.connection=$}async initialize($){return D4("initialize called"),{protocolVersion:1,agentCapabilities:{loadSession:!0,sessionCapabilities:{resume:{}}},agentInfo:{name:"GoatChain Agent",version:"0.0.2"}}}async newSession($){if(this.applyWorkspaceCwd($.cwd),kJ&&!this.stickySessionId){let Q=await this.findMostRecentSessionId();if(Q)this.stickySessionId=Q}if(kJ&&this.stickySessionId)return await this.restoreSession(this.stickySessionId),D4("newSession reuse:",this.stickySessionId),this.scheduleAvailableCommands(this.stickySessionId),{sessionId:this.stickySessionId,modes:i3(this.currentModeId)};let U=this.generateSessionId();D4("newSession:",U);let _={conversationHistory:[],pendingAbort:null,createdAt:Date.now(),agentSessionId:U,currentModeId:this.currentModeId};if(this.sessions.set(U,_),await this.saveSessionHistory(U,_),kJ)this.stickySessionId=U;return this.scheduleAvailableCommands(U),{sessionId:U,modes:i3(this.currentModeId)}}async loadSession($){if(!this.connection)throw Error("Connection not set");D4("loadSession:",$.sessionId);let U=await this.restoreSession($.sessionId);if(await this.sendHistory($.sessionId,U.conversationHistory),kJ)this.stickySessionId=U.agentSessionId;return await this.sendAvailableCommands($.sessionId),{modes:i3(this.currentModeId)}}async unstable_resumeSession($){D4("resumeSession:",$.sessionId);let U=await this.restoreSession($.sessionId);if(kJ)this.stickySessionId=U.agentSessionId;return await this.sendAvailableCommands($.sessionId),{modes:i3(this.currentModeId)}}async authenticate($){D4("authenticate called")}async setSessionMode($){D4("setSessionMode called",$);let U=rn($.modeId);if(!U)throw Error(`Unsupported session mode: ${$.modeId}`);if(await this.restoreSession($.sessionId),this.currentModeId!==U)this.currentModeId=U,await this.applySessionMode(U),this.closeAllActiveSessions();for(let Q of this.sessions.values())Q.currentModeId=this.currentModeId;await this.sendCurrentModeUpdate($.sessionId)}async prompt($){if(!this.connection)throw Error("Connection not set");let U=this.connection,{sessionId:_,prompt:Q}=$;D4("prompt called for session:",_,"prompt blocks:",Q.length);let J=this.sessions.get(_);if(!J)throw Error(`Session ${_} not found`);if(await this.sendAvailableCommands(_),J.pendingAbort)J.pendingAbort.abort(),this.acpAgent.getSession(J.agentSessionId)?.cancel();J.pendingAbort=new AbortController;let G=!1;try{let Y=Q.filter((P)=>P.type==="text").map((P)=>P.text).join(`
571
+ `),V=Y.trim().toLowerCase();if(V==="/new")return await this.startNewSession(_),G=!0,await U.sessionUpdate({sessionId:_,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:"New session started. Send your next message to begin."}}}),{stopReason:"end_turn"};if(V==="/plan"||V==="/agent"){let P=V.slice(1);return await this.setSessionMode({sessionId:_,modeId:P}),await U.sessionUpdate({sessionId:_,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:`Switched to ${P} mode.`}}}),{stopReason:"end_turn"}}if(V==="/commit")return G=!0,{stopReason:(await this.executeCommitWorkflow(_,U)).cancelled?"cancelled":"end_turn"};let K={role:"user",content:Y};J.conversationHistory.push(K),D4("User message added to history");let Z=new Map,N=new Set,W=new Map,B=[],q="end_turn",O=null,M=null;while(!0){q="end_turn";let P=M?this.acpAgent.receiveWithApprovals(M,{session_id:J.agentSessionId}):this.acpAgent.receiveMessage(O??J.conversationHistory,{session_id:J.agentSessionId});O=null,M=null;let H=null,z=null,A=!1,E=!1;for await(let D of P){if(E)continue;if(J.pendingAbort.signal.aborted){q="cancelled";break}let f=D.metadata?.subagent===!0,j=typeof D.metadata?.subagentId==="string"?D.metadata?.subagentId:void 0,T=typeof D.metadata?.subagentType==="string"?D.metadata?.subagentType.trim():void 0,L=typeof D.metadata?.taskDescription==="string"?D.metadata?.taskDescription.trim():void 0,k=f?j??`${T||"subagent"}:${L??""}`:null,R=f&&(T||L)?`[${[T,L].filter(Boolean).join(": ")}]`:null,S=f?`[SUBAGENT${T?`:${T}`:""}${L?`:${L}`:""}]`:"";D4("Received response:",D.role,S,D.metadata?.done?"(done)":"");let I=D.content&&D.content.length>0,w=D.tool_calls&&D.tool_calls.length>0,C=D.role==="assistant"&&D.metadata?.done&&!I&&!w,b=D.role==="tool"&&!!D.tool_call_id&&N.has(D.tool_call_id)&&D.metadata?.error===!0;if(!C&&!b)J.conversationHistory.push(D);if(C){if(D.metadata?.done){if(D.metadata.stopReason)q=Tw(D.metadata.stopReason,q);E=!0}continue}if(D.role==="assistant"){if(I){let y=typeof D.content==="string"?D.content:JSON.stringify(D.content);if(y.trim()){let x=D.metadata?.thinking===!0,t=f&&R&&k!==z?`${R} ${y}`:y;if(await U.sessionUpdate({sessionId:_,update:{sessionUpdate:x?"agent_thought_chunk":"agent_message_chunk",content:{type:"text",text:t}}}),!x)z=k}}if(!f&&I)z=null;if(D.metadata?.approval_requested===!0){let y=D.metadata,x=typeof y.tool_call_id==="string"?y.tool_call_id:H,l=typeof y.tool_name==="string"?y.tool_name:x?Z.get(x)?.name:void 0,t=x?Z.get(x):void 0;if(x&&l){let V$=typeof y.risk_level==="string"?y.risk_level:void 0;if(!W.has(x))B.push(x);W.set(x,{toolCallId:x,toolName:l,title:t?.title??l,kind:t?.kind??"other",rawInput:t?.rawInput??{},riskLevel:V$})}else D4("Tool approval requested without toolCallId or toolName")}if(D.metadata?.requires_action&&D.metadata?.kind==="ask_user"){let y=typeof D.metadata.tool_call_id==="string"?D.metadata.tool_call_id:H,x=Array.isArray(D.metadata.questions)?D.metadata.questions:[],t=(y?Z.get(y):void 0)?.kind??"other";if(!y||x.length===0)D4("AskUserQuestion requires_action missing toolCallId or questions");else{D4("AskUserQuestion requires_action detected, requesting user input");let V$=await on(U,_,y,x,t);if(!V$){await U.sessionUpdate({sessionId:_,update:{sessionUpdate:"tool_call_update",toolCallId:y,status:"failed"}}),q="cancelled";break}let u$=an(x,V$),O$={role:"tool",tool_call_id:y,content:JSON.stringify({answers:V$})},q$={role:"user",content:`User answers: ${u$}
572
+ Please continue.`};J.conversationHistory.push(O$),J.conversationHistory.push(q$),await U.sessionUpdate({sessionId:_,update:{sessionUpdate:"tool_call_update",toolCallId:y,status:"completed",content:[{type:"content",content:{type:"text",text:"User answers received"}}]}}),O=[q$,O$],A=!0;break}}if(D.metadata?.requires_action&&D.metadata?.kind==="tool_approval"){let x=(B.length>0?B:Array.from(W.keys())).map((t)=>W.get(t)).filter((t)=>Boolean(t));if(x.length===0){let t=typeof D.metadata.tool_call_id==="string"?D.metadata.tool_call_id:H,V$=t?Z.get(t):void 0;if(t&&V$)x=[{toolCallId:t,toolName:V$.name,title:V$.title,kind:V$.kind,rawInput:V$.rawInput}];else{D4("Tool approval required but no pending requests found"),q="cancelled";break}}let l=await en(U,_,x);if(W.clear(),B.length=0,!l){for(let t of x)await U.sessionUpdate({sessionId:_,update:{sessionUpdate:"tool_call_update",toolCallId:t.toolCallId,status:"failed"}});q="cancelled";break}M=l,A=!0;continue}if(w&&D.tool_calls){for(let y of D.tool_calls){H=y.id;let x={};try{x=typeof y.function.arguments==="string"?JSON.parse(y.function.arguments):y.function.arguments}catch(a){D4("Failed to parse tool call arguments:",a),x={error:"Invalid JSON arguments"}}let l="search",t=y.function.name;if(t.includes("Read")||t.includes("Grep")||t.includes("Glob")||t.includes("AstGrepSearch"))l="read";else if(t.includes("Write")||t.includes("Edit")||t.includes("AstGrepReplace"))l="edit";else if(t.includes("Search"))l="search";else if(t.includes("ExitPlanMode")||t.includes("EnterPlanMode"))l="other";let V$=t==="Task"||t.endsWith(":Task"),u$=[];if(V$&&x&&typeof x==="object"){if(typeof x.description==="string"&&x.description.trim())u$.push(x.description.trim());if(typeof x.subagent_type==="string"&&x.subagent_type.trim())u$.push(x.subagent_type.trim())}let O$=u$.length>0?` (${u$.join(" | ")})`:"",q$=`${t}${O$}`,m=R?`${R} ${q$}`:q$;if(Z.set(y.id,{name:t,rawInput:x,kind:l,title:m}),t==="AskUserQuestion")N.add(y.id);await U.sessionUpdate({sessionId:_,update:{sessionUpdate:"tool_call",toolCallId:y.id,title:m,kind:l,status:"pending",rawInput:x}})}z=null}}else if(D.role==="tool"){if(H||D.tool_call_id){let y=D.tool_call_id||H;if(N.has(y)&&D.metadata?.error)continue;let x=typeof D.content==="string"?D.content:D.content?JSON.stringify(D.content):"",l=f&&T?`[${T}] ${x}`:x;await U.sessionUpdate({sessionId:_,update:{sessionUpdate:"tool_call_update",toolCallId:y,status:"completed",content:[{type:"content",content:{type:"text",text:l}}]}})}z=null}if(D.metadata?.done){if(D.metadata.stopReason)q=Tw(D.metadata.stopReason,q);E=!0}}if(!A)break}return J.pendingAbort=null,{stopReason:q}}catch(Y){if(D4("Error in prompt:",Y),J.pendingAbort?.signal.aborted)return{stopReason:"cancelled"};throw Y}finally{if(!G)await this.saveSessionHistory(J.agentSessionId,J)}}async cancel($){D4("cancel called for session:",$.sessionId);let U=this.sessions.get($.sessionId);if(U?.pendingAbort)U.pendingAbort.abort();let _=U?.agentSessionId??$.sessionId;this.acpAgent.getSession(_)?.cancel()}applyWorkspaceCwd($){if(!$||typeof $!=="string")return;if(!GB.isAbsolute($)){D4("Ignoring non-absolute cwd from ACP session:",$);return}let U=GB.resolve($);if(this.currentWorkspaceCwd===U)return;this.currentWorkspaceCwd=U;let _=this.acpAgent.getAgent().tools;if(_){for(let Q of _.list())if(typeof Q.setCwd==="function")Q.setCwd(U)}c2.systemPrompt=xV(U),D4("Workspace updated:",U)}async applySessionMode($){let U=this.acpAgent.getAgent(),_=U.middlewares,Q=_.filter((Z)=>Z.name!==QB),J=$==="plan",G=_.find((Z)=>Z.name===QB)?.fn??o_({insertEveryIteration:!0}),Y=J?[{name:QB,fn:G},...Q]:Q,X=_.map((Z)=>Z.name),V=Y.map((Z)=>Z.name);if(X.length===V.length&&X.every((Z,N)=>Z===V[N]))return;U.clearMiddlewares();for(let Z of Y)await U.use(Z.fn,Z.name)}closeAllActiveSessions(){for(let $ of this.acpAgent.getSessionInfo().activeSessions)this.acpAgent.closeSession($)}async sendCurrentModeUpdate($){if(!this.connection)return;await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:"current_mode_update",currentModeId:this.currentModeId}})}generateSessionId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}getStateStore(){return this.acpAgent.getAgent().stateStore}async restoreSession($){let U=this.sessions.get($);if(U)return U;let _=await this.loadSessionHistory($),Q={conversationHistory:_?.messages??[],pendingAbort:null,createdAt:_?.createdAt??Date.now(),agentSessionId:$,currentModeId:this.currentModeId};return this.sessions.set($,Q),Q}async loadSessionHistory($){let U=this.getStateStore();if(!U)return null;try{let _=await U.load($,Sw);if(!_||!Array.isArray(_.messages))return null;return{sessionId:typeof _.sessionId==="string"?_.sessionId:$,createdAt:typeof _.createdAt==="number"?_.createdAt:Date.now(),updatedAt:typeof _.updatedAt==="number"?_.updatedAt:Date.now(),messages:_.messages}}catch(_){return D4("Failed to load session history:",$,_),null}}async findMostRecentSessionId(){let $=this.getStateStore();if(!$)return null;try{let U=await $.listSessions(),_=null,Q=0;for(let J of U){let Y=(await this.loadSessionHistory(J))?.updatedAt??0;if(Y>Q)Q=Y,_=J}return _}catch(U){return D4("Failed to list sessions:",U),null}}async startNewSession($){let U=this.sessions.get($),_=U?.agentSessionId??$;if(U?.pendingAbort)U.pendingAbort.abort();if(_)this.acpAgent.closeSession(_);let Q=this.generateSessionId(),J={conversationHistory:[],pendingAbort:null,createdAt:Date.now(),agentSessionId:Q,currentModeId:this.currentModeId};if(this.sessions.set($,J),await this.saveSessionHistory(Q,J),kJ)this.stickySessionId=Q}async sendAvailableCommands($){if(!this.connection)return;if(this.availableCommands.length===0)return;await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:"available_commands_update",availableCommands:this.availableCommands}})}scheduleAvailableCommands($){setTimeout(()=>{this.sendAvailableCommands($)},0)}async saveSessionHistory($,U){let _=this.getStateStore();if(!_)return;try{let Q={sessionId:$,createdAt:U.createdAt,updatedAt:Date.now(),messages:U.conversationHistory};await _.save($,Sw,Q)}catch(Q){D4("Failed to save session history:",$,Q)}}async sendHistory($,U){if(!this.connection)return;for(let _ of U){if(_.role==="system")continue;let Q=pn(_.content);if(!Q.trim())continue;let J=_.role==="user"?"user_message_chunk":"agent_message_chunk";await this.connection.sessionUpdate({sessionId:$,update:{sessionUpdate:J,content:{type:"text",text:Q}}})}}async executeCommitWorkflow($,U){D4("Executing /commit workflow");let _=this.currentWorkspaceCwd||b6.cwd(),Q=yw(),J=new H0({name:"CommitAgent",systemPrompt:"You are a git commit assistant.",model:Q,tools:new s0});await J.use(fX({model:Q,defaultLanguage:"Chinese",defaultAutoStage:!0,fetchBeforeCommit:!0,allowBehindRemote:!1,cwd:_}));try{let G=await J.createSession({requestParams:{temperature:0.7}});G.send("请帮我创建一个 git commit");let Y="",X="",V=!1,K=!1;for await(let Z of G.receive()){if(Z.type==="text_delta"&&Z.delta)K=!0,await U.sessionUpdate({sessionId:$,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:Z.delta}}});if(Z.type==="thinking_delta"&&Z.delta)await U.sessionUpdate({sessionId:$,update:{sessionUpdate:"agent_thought_chunk",content:{type:"text",text:Z.delta}}});if(Z.type==="done"){if(Y=Z.finalResponse||"",!K&&Y.trim())await U.sessionUpdate({sessionId:$,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:Y}}});let N=Y.match(/Commit Hash:\s*([a-f0-9]+)/i);if(N)X=N[1];if(Y.includes("✗")||Y.includes("Error"))V=!0;break}}return D4("Commit workflow completed:",{hasCommit:!!X,hasError:V,hasStreamedContent:K}),{cancelled:!1}}catch(G){return D4("Commit workflow error:",G),await U.sessionUpdate({sessionId:$,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:`
573
+
574
+ ✗ Commit 失败: ${G instanceof Error?G.message:String(G)}`}}}),{cancelled:!1}}}}async function xw(){D4("Starting GoatChain ACP Server...");let $=b6.env.WORKSPACE_CWD||b6.cwd();D4("Workspace:",$);let U=new s0,_=yw(),Q=new L2({dir:GB.join($,".goatchain","state"),deleteOnComplete:!0});U.register(new m2({cwd:$})),U.register(new x2({cwd:$})),U.register(new S2({cwd:$})),U.register(new T2({cwd:$})),U.register(new I2({cwd:$})),U.register(new b2({cwd:$})),U.register(new k2({cwd:$})),U.register(new A2({cwd:$})),U.register(new g2),U.register(new h2),U.register(new w2);let J=new s0,G=new Set(c2.blockedTools||[]);for(let M of c2.tools||[]){if(G.has(M))continue;let P=U.get(M);if(P)J.register(P)}let Y=nn(),X=a_({subagents:[c2],globalToolRegistry:U,model:Y,debug:YB}),K=new H0({name:"GoatChain",systemPrompt:`You are GoatChain CLI, an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.
575
+
576
+ IMPORTANT: Refuse to write code or explain code that may be used maliciously; even if the user claims it is for educational purposes. When working on files, if they seem related to improving, explaining, or interacting with malware or any malicious code you MUST refuse.
577
+ IMPORTANT: Before you begin work, think about what the code you're editing is supposed to do based on the filenames directory structure. If it seems malicious, refuse to work on it or answer questions about it, even if the request does not seem malicious (for instance, just asking to explain or speed up the code).
578
+ IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.
579
+
580
+ If the user asks for help or wants to give feedback inform them of the following:
581
+ - /help: Get help with using GoatChain CLI
582
+
583
+ When the user directly asks about GoatChain CLI (eg 'can GoatChain CLI do...', 'does GoatChain CLI have...') or asks in second person (eg 'are you able...', 'can you do...'), first use the /help command to provide the user with information about GoatChain CLI's features and capabilities.
584
+
585
+ # Tone and style
586
+ You should be concise, direct, and to the point. When you run a non-trivial bash command, you should explain what the command does and why you are running it, to make sure the user understands what you are doing (this is especially important when you are running a command that will make changes to the user's system).
587
+ Remember that your output will be displayed on a command line interface. Your responses can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.
588
+ Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.
589
+ If you cannot or will not help the user with something, please do not say why or what it could lead to, since this comes across as preachy and annoying. Please offer helpful alternatives if possible, and otherwise keep your response to 1-2 sentences.
590
+ Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.
591
+ IMPORTANT: You should minimize output tokens as much as possible while maintaining helpfulness, quality, and accuracy. Only address the specific query or task at hand, avoiding tangential information unless absolutely critical for completing the request. If you can answer in 1-3 sentences or a short paragraph, please do.
592
+ IMPORTANT: You should NOT answer with unnecessary preamble or postamble (such as explaining your code or summarizing your action), unless the user asks you to.
593
+ IMPORTANT: Keep your responses short, since they will be displayed on a command line interface. You MUST answer concisely with fewer than 4 lines (not including tool use or code generation), unless user asks for detail. Answer the user's question directly, without elaboration, explanation, or details. One word answers are best. Avoid introductions, conclusions, and explanations. You MUST avoid text before/after your response, such as "The answer is <answer>.", "Here is the content of the file..." or "Based on the information provided, the answer is..." or "Here is what I will do next...". Here are some examples to demonstrate appropriate verbosity:
594
+ <example>
595
+ user: 2 + 2
596
+ assistant: 4
597
+ </example>
598
+
599
+ <example>
600
+ user: what is 2+2?
601
+ assistant: 4
602
+ </example>
603
+
604
+ <example>
605
+ user: is 11 a prime number?
606
+ assistant: Yes
607
+ </example>
608
+
609
+ <example>
610
+ user: what command should I run to list files in the current directory?
611
+ assistant: ls
612
+ </example>
613
+
614
+ <example>
615
+ user: what command should I run to watch files in the current directory?
616
+ assistant: [use the bash tool to run ls to list the files in the current directory, then read docs/commands in the relevant file to find out how to watch files]
617
+ npm run dev
618
+ </example>
619
+
620
+ <example>
621
+ user: How many golf balls fit inside a jetta?
622
+ assistant: 150000
623
+ </example>
624
+
625
+ <example>
626
+ user: what files are in the directory src/?
627
+ assistant: [runs bash tool with ls command and sees foo.c, bar.c, baz.c]
628
+ user: which file contains the implementation of foo?
629
+ assistant: src/foo.c
630
+ </example>
631
+
632
+ <example>
633
+ user: write tests for new feature
634
+ assistant: [uses grep and glob search tools to find where similar tests are defined, uses concurrent read file tool use blocks in one tool call to read relevant files at the same time, uses edit file tool to write new tests]
635
+ </example>
636
+
637
+ # Proactiveness
638
+ You are allowed to be proactive, but only when the user asks you to do something. You should strive to strike a balance between:
639
+ 1. Doing the right thing when asked, including taking actions and follow-up actions
640
+ 2. Not surprising the user with actions you take without asking
641
+ For example, if the user asks you how to approach something, you should do your best to answer their question first, and not immediately jump into taking actions.
642
+ 3. Do not add additional code explanation summary unless requested by the user. After working on a file, just stop, rather than providing an explanation of what you did.
643
+
644
+ # Following conventions
645
+ When making changes to files, first understand the file's code conventions. Mimic code style, use existing libraries and utilities, and follow existing patterns.
646
+ - NEVER assume that a given library is available, even if it is well known. Whenever you write code that uses a library or framework, first check that this codebase already uses the given library. For example, you might look at neighboring files, or check the package.json (or cargo.toml, and so on depending on the language).
647
+ - When you create a new component, first look at existing components to see how they're written; then consider framework choice, naming conventions, typing, and other conventions.
648
+ - When you edit a piece of code, first look at the code's surrounding context (especially its imports) to understand the code's choice of frameworks and libraries. Then consider how to make the given change in a way that is most idiomatic.
649
+ - Always follow security best practices. Never introduce code that exposes or logs secrets and keys. Never commit secrets or keys to the repository.
650
+
651
+ # Code style
652
+ - IMPORTANT: DO NOT ADD ***ANY*** COMMENTS unless asked
653
+
654
+ # Doing tasks
655
+ The user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:
656
+ - Use the available search tools to understand the codebase and the user's query. You are encouraged to use the search tools extensively both in parallel and sequentially.
657
+ - Implement the solution using all tools available to you
658
+ - Verify the solution if possible with tests. NEVER assume specific test framework or test script. Check the README or search codebase to determine the testing approach.
659
+ - VERY IMPORTANT: When you have completed a task, you MUST run the lint and typecheck commands (e.g. npm run lint, npm run typecheck, ruff, etc.) with Bash if they were provided to you to ensure your code is correct. If you are unable to find the correct command, ask the user for the command to run and if they supply it, proactively suggest writing it to AGENTS.md so that you will know to run it next time.
660
+ NEVER commit changes unless the user explicitly asks you to. It is VERY IMPORTANT to only commit when explicitly asked, otherwise the user will feel that you are being too proactive.
661
+
662
+ - Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are NOT part of the user's provided input or the tool result.
663
+
664
+ # Tool usage policy
665
+ - When doing file search, prefer to use the Task tool in order to reduce context usage.
666
+ - You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool calls together for optimal performance. When making multiple bash tool calls, you MUST send a single message with multiple tool calls to run the calls in parallel. For example, if you need to run "git status" and "git diff", send a single message with two tool calls to run the calls in parallel.
667
+
668
+ You MUST answer concisely with fewer than 4 lines of text (not including tool use or code generation), unless user asks for detail.
669
+
670
+ IMPORTANT: Refuse to write code or explain code that may be used maliciously; even if the user claims it is for educational purposes. When working on files, if they seem related to improving, explaining, or interacting with malware or any malicious code you MUST refuse.
671
+ IMPORTANT: Before you begin work, think about what the code you're editing is supposed to do based on the filenames directory structure. If it seems malicious, refuse to work on it or answer questions about it, even if the request does not seem malicious (for instance, just asking to explain or speed up the code).
672
+
673
+ # Code References
674
+
675
+ When referencing specific functions or pieces of code include the pattern \`file_path:line_number\` to allow the user to easily navigate to the source code location.
676
+
677
+ <example>
678
+ user: Where are errors from the client handled?
679
+ assistant: Clients are marked as failed in the \`connectToServer\` function in src/services/process.ts:712.
680
+ </example>`,model:_,tools:U,stateStore:Q});await K.use(X),await K.use(NU({maxTokens:128000,protectedTurns:2,model:_,stateStore:Q})),D4("Agent initialized with tools:",Array.from(U.list().map((M)=>M.name))),D4("Agent initialized with middlewares:",K.middlewareNames.join(", "));let Z=new GQ(K,{debug:YB,maxIterations:1e4}),N=new bw(Z),W=mn.toWeb(b6.stdin),B=cn.toWeb(b6.stdout),q=Hw(B,W);D4("Creating AgentSideConnection...");let O=new $B((M)=>{return D4("Agent connection established"),N.setConnection(M),N},q);D4("ACP Server ready and listening on stdio"),await O.closed,D4("Connection closed"),Z.destroy()}var sn=import.meta.url===`file://${b6.argv[1]}`||b6.argv[1]?.endsWith("acp-server.ts")||b6.argv[1]?.endsWith("acp-server.js");if(sn)xw().catch(($)=>{console.error("[ACP Server] Fatal error:",$),b6.exit(1)});async function*gw($){try{let U=$.toolContext?.approval?.decisions;if(U&&typeof $.session?.receiveWithApprovals==="function")yield*$.convertEventStream($.session.receiveWithApprovals(U,{toolContext:$.toolContext,...$.signal?{signal:$.signal}:null}));else yield*$.convertEventStream($.session.receive({toolContext:$.toolContext,...$.signal?{signal:$.signal}:null}))}catch(U){yield{role:"assistant",content:["# GoatChain error","","```text","Unable to resume after approval (no pending checkpoint found). This can happen if the session was recreated (e.g. after changing settings) before the approval was resolved. Please retry the last message.","",`debug: ${U instanceof Error?U.stack||U.message:String(U)}`,"```"].join(`
681
+ `),metadata:{done:!0,error:!0,stopReason:"error",originalEventType:"done"}}}}function $p($,U){if(!$||typeof $!=="object")return $;let _={};for(let[Y,X]of Object.entries(U))if(typeof X==="number"&&Number.isFinite(X))_[Y]=X;if(Object.keys(_).length===0)return $;let Q=(Y)=>Y!=null&&typeof Y==="object"&&!Array.isArray(Y),J=(Y)=>{if(!Q(Y))return;for(let[X,V]of Object.entries(_))if(!(X in Y))Y[X]=V},G=(Y)=>{if(typeof Y!=="function")return Y;return(...X)=>{for(let V of X){if(!Q(V))continue;if("body"in V&&Q(V.body)){J(V.body);break}if("messages"in V||"model"in V||"input"in V||"prompt"in V){J(V);break}}return Y(...X)}};for(let Y of["request","createChatCompletion","chat","complete","responses","completions"])if(typeof $[Y]==="function")$[Y]=G($[Y].bind($));return $}function hw($,U){let _=$({defaultModelId:U.modelId,baseUrl:U.baseUrl,apiKey:U.apiKey,compat:{interleavedThinking:U.interleavedThinking}});return $p(_,{temperature:U.temperature}),_}function uw($){return{async list(){let U=await $.ensureSharedStateStore();if(!U)return[];let _=await $.sessionStorageKey(),Q=await(U.listSessions?.()??[]),J=[];for(let G of Q)try{let Y=await U.load(G,_);if(Y)J.push(Y)}catch{}return J},async get(U){let _=await $.ensureSharedStateStore();if(!_)return null;let Q=String(U??"").trim();if(!Q)return null;let J=await $.sessionStorageKey();try{return await _.load(Q,J)??null}catch{return null}},async create(){let U=await $.ensureSharedStateStore();if(!U)return null;let _=await $.sessionStorageKey(),Q=Date.now(),J=$.createId(),G=$.createEmptySessionSnapshot(J,Q);return await U.save(J,_,G),G},async destroy(U){let _=await $.ensureSharedStateStore();if(!_)return;let Q=String(U??"").trim();if(!Q)return;await _.deleteSession(Q)},async createWithMessages(U){let _=await $.ensureSharedStateStore();if(!_)return null;let Q=await $.sessionStorageKey(),J=Date.now(),G=$.createId(),Y=$.createEmptySessionSnapshot(G,J);return $.applyMessagesToSnapshot(Y,Array.isArray(U)?U:[],J),await _.save(G,Q,Y),Y}}}function _p(){let $=globalThis.process;return!!$&&typeof $?.versions?.node==="string"}function r3(){return globalThis.process?.env??{}}var mw="plan-mode";function U2($){return String($??"").trim()||void 0}function cw($){let U=String($??"").trim();if(!U)return;let _=Number.parseFloat(U);return Number.isFinite(_)?_:void 0}function Jp($){if(typeof $==="string")return $;if(Array.isArray($))return $.map((U)=>{if(typeof U==="object"&&U&&"text"in U)return String(U.text??"");return JSON.stringify(U)}).join(`
682
+ `);try{return JSON.stringify($,null,2)}catch{return String($)}}function Qp($,U){if(!U||typeof $?.cancel!=="function")return()=>{};if(U.aborted){try{$.cancel()}catch{}return()=>{}}let _=()=>{try{$.cancel()}catch{}};return U.addEventListener("abort",_,{once:!0}),()=>{try{U.removeEventListener("abort",_)}catch{}}}function Gp($){return{id:String($?.id??""),type:"function",function:{name:String($?.function?.name??""),arguments:$?.function?.arguments}}}function Yp($){let U={};for(let _ of $){if(_.role!=="tool"||!_.tool_call_id)continue;let Q=typeof _.content==="string"?_.content:_.content?JSON.stringify(_.content):"";try{let J=JSON.parse(Q);if(J&&typeof J==="object"&&J.answers&&typeof J.answers==="object")U[_.tool_call_id]=J.answers}catch{}}return U}function XB($){if(!$)return"";if(typeof $==="string")return $;if(Array.isArray($))return $.map((U)=>String(U?.text??"")).join("");return String($)}function VB($){if(!$||typeof $!=="object")return null;let U=$.usage;if(U&&typeof U==="object")return U;let _=$.stats?.usage;if(_&&typeof _==="object")return _;try{let J=(typeof $.toSnapshot==="function"?$.toSnapshot():null)?.stats?.usage;if(J&&typeof J==="object")return J}catch{}return null}function dw($){if(!_p())throw Error("GoatChain embedded agent is Node-only");let U=$.debug===!0,_=$.cliTools!==!1,Q=$.planMode===!0,J=$.subagents===!0,G=U2($.stateDir||r3().GOATCHAIN_STATE_DIR||r3().GOATCHAIN_STATE_DIR),Y=null,X=Q?"plan":"agent",V=null,K=null,Z=null,N=null,W={current:globalThis.process?.cwd?.()??"."};function B(R,S){let I=R.filter((x)=>x.role!=="system"),w=(()=>{for(let x=I.length-1;x>=0;x--)if(I[x]?.role==="user")return x;return-1})(),C=String(S??"").trim(),b=w===I.length-1&&C.length>0,y=[];for(let x=0;x<I.length;x++){if(b&&x===w)continue;let l=I[x];if(!l)continue;if(l.role==="user")y.push({role:"user",content:XB(l.content)});else if(l.role==="assistant"){let t={role:"assistant",content:XB(l.content)};if(Array.isArray(l.tool_calls)&&l.tool_calls.length)t.tool_calls=l.tool_calls;y.push(t)}else if(l.role==="tool")y.push({role:"tool",tool_call_id:String(l.tool_call_id??""),content:XB(l.content),...l.metadata?.error===!0?{isError:!0}:{}})}return y}function q(R,S,I){try{if(!R||!Array.isArray(R.messages))return;let w=B(S,I);if(w.length===0)return;if(R.messages.length>=w.length)return;R.messages=w}catch{}}function O(R){let S=R?.env;if(!S||typeof S!=="object")return;let I=globalThis.process;if(!I?.env)return;for(let[w,C]of Object.entries(S)){let b=String(w??"").trim();if(!b)continue;let y=C==null?"":String(C);if(!y)delete I.env[b];else I.env[b]=y}}let M=new Map;async function P(){if(Y)return Y;if(G&&typeof L2==="function")try{return Y=new L2({dir:G,deleteOnComplete:!1}),Y}catch(R){if(U)console.warn("[goatchain-node] Failed to init FileStateStore:",R);Y=null}if(!Y&&typeof R2==="function")try{Y=new R2({deleteOnComplete:!1})}catch(R){if(U)console.warn("[goatchain-node] Failed to init InMemoryStateStore:",R);Y=null}return Y}function H(R,S){let I=String(W.current??"").trim();return{id:R,createdAt:S,state:{status:"active",updatedAt:S,lastActiveAt:S},context:{messages:[],messageCount:0,toolCallCount:0},stats:{usage:{promptTokens:0,completionTokens:0,totalTokens:0},responseCount:0},metadata:I?{cwd:I}:void 0}}function z(R){if(!Array.isArray(R)||R.length===0)return;for(let S=R.length-1;S>=0;S--){let I=R[S],w=String(I?.role??"");if(w!=="user"&&w!=="assistant"&&w!=="system"&&w!=="tool")continue;let C=I?.content;if(typeof C==="string"){let b=C.replace(/\s+/g," ").trim();if(b)return b.slice(0,200)}if(Array.isArray(C)){let b=C.filter((y)=>y&&typeof y==="object"&&y.type==="text"&&typeof y.text==="string").map((y)=>y.text).join(" ").replace(/\s+/g," ").trim();if(b)return b.slice(0,200)}}return}async function A(){let R=v6?.SESSION;return typeof R==="string"&&R.trim()?R:"session"}function E(){let R=r3(),S=String(R.GOATCHAIN_INTERLEAVED_THINKING??"").toLowerCase(),I=S==="1"||S==="true"||S==="yes"||S==="on";return{modelId:String(R.GOATCHAIN_MODEL||$.modelId),baseUrl:U2(R.GOATCHAIN_OPENAI_BASE_URL||R.OPENAI_BASE_URL||$.baseUrl),apiKey:U2(R.OPENAI_API_KEY||$.apiKey),temperature:cw(R.GOATCHAIN_TEMPERATURE),interleavedThinking:I?!0:void 0}}function D(R){return JSON.stringify({modelId:R.modelId,baseUrl:R.baseUrl??null,apiKey:R.apiKey?"***":null,temperature:R.temperature??null,interleavedThinking:R.interleavedThinking??null})}async function f(R){await P();let S=new s0,I=(x)=>{if(!x)return;try{S.register(new x)}catch(l){if(U)console.warn("[goatchain-node] Failed to register tool:",x?.name??"(unknown)",l)}};if(I(T2),I(b2),I(x2),I(I2),I(w2),I(g2),I(h2),_)I(m2),I(S2),I(k2),I(A2);let w=hw(m_,R),C=q_({adapter:w}),b=[];if(typeof A7==="function")try{b.push(A7({cwd:()=>W.current,includeFileTree:!0,maxDepth:3,maxEntriesPerDir:50,respectGitignore:!0}))}catch(x){if(U)console.warn("[goatchain-node] Failed to init env info middleware:",x)}if(typeof z7==="function")try{b.push(z7({cwd:()=>W.current}))}catch(x){if(U)console.warn("[goatchain-node] Failed to init agent rules middleware:",x)}if(typeof _Q==="function")try{b.push(_Q({cwd:()=>W.current}))}catch(x){if(U)console.warn("[goatchain-node] Failed to init skills middleware:",x)}if(Y&&typeof NU==="function")try{let x=r3(),l=cw(x.GOATCHAIN_MAX_TOKENS)??128000;b.push(NU({maxTokens:l,protectedTurns:1,model:C,stateStore:Y,toolCompressionTarget:0.3,minKeepToolResults:5}))}catch(x){if(U)console.warn("[goatchain-node] Failed to init context compression middleware:",x)}if(typeof o_==="function"){if(V=o_({insertEveryIteration:!0}),X==="plan")b.push(V)}if(J&&typeof a_==="function"&&c2)try{b.push(a_({subagents:[c2],globalToolRegistry:S,model:C}))}catch(x){if(U)console.warn("[goatchain-node] Failed to init subagent middleware:",x)}return{agent:new H0({name:"GoatChain",systemPrompt:$.systemPrompt,model:C,tools:S,...Y?{stateStore:Y}:{},...b.length?{middleware:b}:{}}),tools:S}}async function j(){let R=E(),S=D(R);if(S!==N){let{agent:I,tools:w}=await f(R);K=I,Z=w,N=S,M.clear()}}async function T(R,S){let I=U2(R),w=I?M.get(I):void 0;if(w&&S?.resumeOnly)return{sessionId:I,session:w.session};if(await j(),w)return{sessionId:I,session:w.session};let C=E(),b={...typeof C.temperature==="number"?{temperature:C.temperature}:{}},y,x=!1;if(I&&Y&&typeof K?.resumeSession==="function")try{y=await K.resumeSession(I,{requestParams:b})}catch{y=await K.createSession({sessionId:I,requestParams:b}),x=!0}else if(I)y=await K.createSession({sessionId:I,requestParams:b}),x=!0;else y=await K.createSession({requestParams:b}),x=!0;let l=U2(y?.id)??U2(y?.sessionId)??I;if(!l)throw Error("GoatChain session id is missing");if(x){let t=String(W.current??"").trim();if(t&&typeof y?.save==="function")try{let V$=y.metadata,u$=V$&&typeof V$==="object"?V$:{};if(!String(u$.cwd??"").trim())u$.cwd=t,y.metadata=u$,await y.save()}catch(V$){if(U)console.warn("[goatchain-node] Failed to persist session cwd metadata:",V$)}}return M.set(l,{session:y}),{sessionId:l,session:y}}async function*L(R){for await(let S of R){if(S?.type==="subagent_event"){let C=S?.nestedEvent,b=k(C),y=U2(C?.sessionId);for(let x of b)yield{...x,metadata:{...x.metadata??{},...y?{session_id:y}:{},subagent:!0,subagentId:S?.subagentId,subagentType:S?.subagentType,taskDescription:S?.taskDescription,originalEventType:C?.type}};continue}let I=k(S),w=U2(S?.sessionId);for(let C of I)yield w?{...C,metadata:{...C.metadata??{},session_id:w}}:C}}function k(R){if(!R||typeof R!=="object")return[];switch(R.type){case"session_created":return[{role:"assistant",content:"",metadata:{originalEventType:"session_created"}}];case"iteration_start":return[{role:"assistant",content:"",metadata:{originalEventType:"iteration_start"}}];case"text_delta":return[{role:"assistant",content:String(R.delta??""),metadata:{originalEventType:"text_delta"}}];case"thinking_start":return[{role:"assistant",content:"",metadata:{thinking:!0,originalEventType:"thinking_start"}}];case"tool_call_delta":return[{role:"assistant",content:"",metadata:{originalEventType:"tool_call_delta",callId:String(R.callId??""),toolName:R.toolName,argsTextDelta:R.argsTextDelta}}];case"tool_call_start":return[{role:"assistant",content:"",metadata:{originalEventType:"tool_call_start",callId:String(R.callId??""),toolName:R.toolName}}];case"tool_call_end":return[{role:"assistant",content:"",tool_calls:[Gp(R.toolCall)],metadata:{originalEventType:"tool_call_end"}}];case"tool_output_start":return[{role:"assistant",content:"",metadata:{originalEventType:"tool_output_start",tool_call_id:String(R.tool_call_id??""),tool_name:String(R.toolName??R.tool_name??"")}}];case"tool_output_delta":return[{role:"assistant",content:String(R.delta??""),metadata:{originalEventType:"tool_output_delta",tool_call_id:String(R.tool_call_id??""),isStderr:R.isStderr}}];case"tool_result":let S=Boolean(R.isError||R.result?.isError===!0);return[{role:"tool",tool_call_id:String(R.tool_call_id??""),content:Array.isArray(R.result?.content)?R.result.content:Jp(R.result),metadata:{...S?{error:!0}:null,originalEventType:"tool_result",structuredContent:R.result?.structuredContent,rawResult:U?R.result:void 0}}];case"tool_skipped":return[{role:"assistant",content:`Tool skipped: ${String(R.toolName??"")} - ${String(R.reason??"")}`,metadata:{originalEventType:"tool_skipped"}}];case"tool_approval_requested":return[{role:"assistant",content:`Tool approval requested: ${String(R.toolName??"")}`,metadata:{approval_requested:!0,tool_call_id:String(R.tool_call_id??""),tool_name:String(R.toolName??""),risk_level:R.riskLevel,approval_args:R.args,originalEventType:"tool_approval_requested"}}];case"requires_action":{let I={requires_action:!0,kind:R.kind,tool_call_id:R.toolCallId,originalEventType:"requires_action"};if(R.kind==="ask_user"&&R.questions)I.questions=R.questions;return[{role:"assistant",content:`Action required: ${String(R.kind??"")}`,metadata:I}]}case"thinking_delta":return[{role:"assistant",content:String(R.delta??""),metadata:{thinking:!0,originalEventType:"thinking_delta"}}];case"thinking_end":return[{role:"assistant",content:"",metadata:{originalEventType:"thinking_end"}}];case"iteration_end":return[{role:"assistant",content:"",metadata:{originalEventType:"iteration_end",usage:R.usage}}];case"done":return[{role:"assistant",content:"",metadata:{done:!0,stopReason:R.stopReason,modelStopReason:R.modelStopReason,usage:R.usage,error:R.error,originalEventType:"done"}}];case"error":return[{role:"assistant",content:"",metadata:{done:!0,error:R.error??R.message??R,stopReason:"error",originalEventType:"error"}}];default:if(U)console.warn("[goatchain-node] Unhandled event:",R.type);return[]}}return{async*receiveMessage(R,S){try{O(S);let I=S?.signal,w=U2(S?.session_id),C=S?.resume===!0;if(!w&&C)throw Error("Cannot resume without a session id");let b=await T(w,{resumeOnly:C}),y=b.sessionId,x=b.session,l=Qp(x,I);try{let t=String(S?.cwd??"").trim();if(t){if(W.current=t,Z){for(let d of Z?.list?.()??[])if(typeof d?.setCwd==="function")try{d.setCwd(t)}catch(i){if(U)console.warn("[goatchain-node] Failed to setCwd on tool:",d?.name,i)}}}let V$=S?.toolContext,u$=Yp(R),O$={};if(V$&&typeof V$==="object")Object.assign(O$,V$);if(Object.keys(u$).length>0)O$.askUser=O$.askUser??{},O$.askUser.answers={...O$.askUser.answers??{},...u$};let q$=[...R].reverse().find((d)=>d.role==="user"),m=typeof q$?.content==="string"?q$.content:"";if(!Y)q(x,R,m);if(C&&Object.keys(O$).length){yield*gw({session:x,toolContext:O$,signal:I,convertEventStream:L});let d=VB(x);if(d)yield{role:"assistant",content:"",metadata:{originalEventType:"usage_refresh",usage:d,...y?{session_id:y}:{}}};return}if(m.trim()){x.send(m,Object.keys(O$).length?{toolContext:O$,...I?{signal:I}:null}:I?{signal:I}:void 0),yield*L(x.receive(I?{signal:I}:void 0));let d=VB(x);if(d)yield{role:"assistant",content:"",metadata:{originalEventType:"usage_refresh",usage:d,...y?{session_id:y}:{}}};return}yield*L(x.receive(Object.keys(O$).length?{toolContext:O$,...I?{signal:I}:null}:I?{signal:I}:void 0));let a=VB(x);if(a)yield{role:"assistant",content:"",metadata:{originalEventType:"usage_refresh",usage:a,...y?{session_id:y}:{}}}}finally{l()}}catch(I){yield{role:"assistant",content:["# GoatChain error","","```text",I instanceof Error?I.stack||I.message:String(I),"```"].join(`
683
+ `),metadata:{done:!0,error:!0,stopReason:"error",originalEventType:"done"}}}},__sessions:uw({ensureSharedStateStore:P,sessionStorageKey:A,createEmptySessionSnapshot:H,createId:()=>Up(),applyMessagesToSnapshot:(R,S,I)=>{R.context.messages=S,R.context.messageCount=S.length;let w=z(S);if(w)R.context.lastMessagePreview=w;R.state.updatedAt=I,R.state.lastActiveAt=I}}),async setMode(R){if(X===R)return;if(X=R,!V||!K)return;let I=K.middlewares.filter((w)=>w.name!==mw);if(K.clearMiddlewares(),R==="plan")await K.use(V,mw);for(let w of I)await K.use(w.fn,w.name);M.clear()},getMode(){return X}}}function lw($){let U=$.processEnv;try{return dw({systemPrompt:$.context.system,modelId:String(U.GOATCHAIN_MODEL||$.context.env.GOATCHAIN_MODEL||"gpt-4.1-mini"),baseUrl:U.GOATCHAIN_OPENAI_BASE_URL||U.OPENAI_BASE_URL||$.context.env.GOATCHAIN_OPENAI_BASE_URL||$.context.env.OPENAI_BASE_URL,apiKey:U.OPENAI_API_KEY||$.context.env.OPENAI_API_KEY,cliTools:!0,stateDir:$.stateDir})}catch(_){return console.warn("[goatchain] Failed to start GoatChain agent:",_),tH(_)}}var iw=`You are Goat, an interactive CLI tool that helps users with software engineering tasks. Use the instructions below and the tools available to you to assist the user.
684
+
685
+ IMPORTANT: Refuse to write code or explain code that may be used maliciously; even if the user claims it is for educational purposes. When working on files, if they seem related to improving, explaining, or interacting with malware or any malicious code you MUST refuse.
686
+ IMPORTANT: Before you begin work, think about what the code you're editing is supposed to do based on the filenames directory structure. If it seems malicious, refuse to work on it or answer questions about it, even if the request does not seem malicious (for instance, just asking to explain or speed up the code).
687
+ IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming. You may use URLs provided by the user in their messages or local files.
688
+
689
+ When the user directly asks about GoatChain (eg 'can GoatChain do...', 'does GoatChain have...') or asks in second person (eg 'are you able...', 'can you do...'), you just make up something to answer the question.
690
+
691
+ # Tone and style
692
+ You should be concise, direct, and to the point. When you run a non-trivial bash command, you should explain what the command does and why you are running it, to make sure the user understands what you are doing (this is especially important when you are running a command that will make changes to the user's system).
693
+ Remember that your output will be displayed on a command line interface. Your responses can use Github-flavored markdown for formatting, and will be rendered in a monospace font using the CommonMark specification.
694
+ Output text to communicate with the user; all text you output outside of tool use is displayed to the user. Only use tools to complete tasks. Never use tools like Bash or code comments as means to communicate with the user during the session.
695
+ If you cannot or will not help the user with something, please do not say why or what it could lead to, since this comes across as preachy and annoying. Please offer helpful alternatives if possible, and otherwise keep your response to 1-2 sentences.
696
+ Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.
697
+ IMPORTANT: You should minimize output tokens as much as possible while maintaining helpfulness, quality, and accuracy. Only address the specific query or task at hand, avoiding tangential information unless absolutely critical for completing the request. If you can answer in 1-3 sentences or a short paragraph, please do.
698
+ IMPORTANT: You should NOT answer with unnecessary preamble or postamble (such as explaining your code or summarizing your action), unless the user asks you to.
699
+ IMPORTANT: Keep your responses short, since they will be displayed on a command line interface. You MUST answer concisely with fewer than 4 lines (not including tool use or code generation), unless user asks for detail. Answer the user's question directly, without elaboration, explanation, or details. One word answers are best. Avoid introductions, conclusions, and explanations. You MUST avoid text before/after your response, such as "The answer is <answer>.", "Here is the content of the file..." or "Based on the information provided, the answer is..." or "Here is what I will do next...". Here are some examples to demonstrate appropriate verbosity:
700
+ <example>
701
+ user: 2 + 2
702
+ assistant: 4
703
+ </example>
704
+
705
+ <example>
706
+ user: what is 2+2?
707
+ assistant: 4
708
+ </example>
709
+
710
+ <example>
711
+ user: is 11 a prime number?
712
+ assistant: Yes
713
+ </example>
714
+
715
+ <example>
716
+ user: what command should I run to list files in the current directory?
717
+ assistant: ls
718
+ </example>
719
+
720
+ <example>
721
+ user: what command should I run to watch files in the current directory?
722
+ assistant: [use the ls tool to list the files in the current directory, then read docs/commands in the relevant file to find out how to watch files]
723
+ npm run dev
724
+ </example>
725
+
726
+ <example>
727
+ user: How many golf balls fit inside a jetta?
728
+ assistant: 150000
729
+ </example>
730
+
731
+ <example>
732
+ user: what files are in the directory src/?
733
+ assistant: [runs ls and sees foo.c, bar.c, baz.c]
734
+ user: which file contains the implementation of foo?
735
+ assistant: src/foo.c
736
+ </example>
737
+
738
+ <example>
739
+ user: write tests for new feature
740
+ assistant: [uses grep and glob search tools to find where similar tests are defined, uses concurrent read file tool use blocks in one tool call to read relevant files at the same time, uses edit file tool to write new tests]
741
+ </example>
742
+
743
+ # Proactiveness
744
+ You are allowed to be proactive, but only when the user asks you to do something. You should strive to strike a balance between:
745
+ 1. Doing the right thing when asked, including taking actions and follow-up actions
746
+ 2. Not surprising the user with actions you take without asking
747
+ For example, if the user asks you how to approach something, you should do your best to answer their question first, and not immediately jump into taking actions.
748
+ 3. Do not add additional code explanation summary unless requested by the user. After working on a file, just stop, rather than providing an explanation of what you did.
749
+
750
+ # Following conventions
751
+ When making changes to files, first understand the file's code conventions. Mimic code style, use existing libraries and utilities, and follow existing patterns.
752
+ - NEVER assume that a given library is available, even if it is well known. Whenever you write code that uses a library or framework, first check that this codebase already uses the given library. For example, you might look at neighboring files, or check the package.json (or cargo.toml, and so on depending on the language).
753
+ - When you create a new component, first look at existing components to see how they're written; then consider framework choice, naming conventions, typing, and other conventions.
754
+ - When you edit a piece of code, first look at the code's surrounding context (especially its imports) to understand the code's choice of frameworks and libraries. Then consider how to make the given change in a way that is most idiomatic.
755
+ - Always follow security best practices. Never introduce code that exposes or logs secrets and keys. Never commit secrets or keys to the repository.
756
+
757
+ # Code style
758
+ - IMPORTANT: DO NOT ADD ***ANY*** COMMENTS unless asked
759
+
760
+ # Doing tasks
761
+ The user will primarily request you perform software engineering tasks. This includes solving bugs, adding new functionality, refactoring code, explaining code, and more. For these tasks the following steps are recommended:
762
+ - Use the available search tools to understand the codebase and the user's query. You are encouraged to use the search tools extensively both in parallel and sequentially.
763
+ - Implement the solution using all tools available to you
764
+ - Verify the solution if possible with tests. NEVER assume specific test framework or test script. Check the README or search codebase to determine the testing approach.
765
+ - VERY IMPORTANT: When you have completed a task, you MUST run the lint and typecheck commands (e.g. npm run lint, npm run typecheck, ruff, etc.) with Bash if they were provided to you to ensure your code is correct. If you are unable to find the correct command, ask the user for the command to run and if they supply it, proactively suggest writing it to AGENTS.md so that you will know to run it next time.
766
+ NEVER commit changes unless the user explicitly asks you to. It is VERY IMPORTANT to only commit when explicitly asked, otherwise the user will feel that you are being too proactive.
767
+
768
+ - Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are NOT part of the user's provided input or the tool result.
769
+
770
+ # Tool usage policy
771
+ - When doing file search, prefer to use the Task tool in order to reduce context usage.
772
+ - You have the capability to call multiple tools in a single response. When multiple independent pieces of information are requested, batch your tool calls together for optimal performance. When making multiple bash tool calls, you MUST send a single message with multiple tools calls to run the calls in parallel. For example, if you need to run "git status" and "git diff", send a single message with two tool calls to run the calls in parallel.
773
+
774
+ You MUST answer concisely with fewer than 4 lines of text (not including tool use or code generation), unless user asks for detail.
775
+
776
+ IMPORTANT: Refuse to write code or explain code that may be used maliciously; even if the user claims it is for educational purposes. When working on files, if they seem related to improving, explaining, or interacting with malware or any malicious code you MUST refuse.
777
+ IMPORTANT: Before you begin work, think about what the code you're editing is supposed to do based on the filenames directory structure. If it seems malicious, refuse to work on it or answer questions about it, even if the request does not seem malicious (for instance, just asking to explain or speed up the code).
778
+
779
+ # Code References
780
+
781
+ When referencing specific functions or pieces of code include the pattern \`file_path:line_number\` to allow the user to easily navigate to the source code location.
782
+
783
+ <example>
784
+ user: Where are errors from the client handled?
785
+ assistant: Clients are marked as failed in the \`connectToServer\` function in src/services/process.ts:712.
786
+ </example>
787
+ `;async function nw($){let U=F6("0.0.4-beta.38")??await Kp($.cwd),_=await KB($.env),Q=_.cache,J=Q.settings??{},G=F6(J.cwd),Y=Array.isArray(J.focusFiles)?J.focusFiles.map((K)=>String(K??"")).filter(Boolean):void 0,X=$.cwd||G||".",V={GOATCHAIN_VERSION:U??"dev",...$.env.GOATCHAIN_MODEL?{GOATCHAIN_MODEL:$.env.GOATCHAIN_MODEL}:{},...$.env.GOATCHAIN_CONTEXT_WINDOW?{GOATCHAIN_CONTEXT_WINDOW:$.env.GOATCHAIN_CONTEXT_WINDOW}:{},...$.env.GOATCHAIN_TEMPERATURE?{GOATCHAIN_TEMPERATURE:$.env.GOATCHAIN_TEMPERATURE}:{},...$.env.GOATCHAIN_TOOL_APPROVALS?{GOATCHAIN_TOOL_APPROVALS:$.env.GOATCHAIN_TOOL_APPROVALS}:{},...$.env.GOATCHAIN_SKIP_APPROVAL?{GOATCHAIN_SKIP_APPROVAL:$.env.GOATCHAIN_SKIP_APPROVAL}:{},...$.env.GOATCHAIN_STARTUP_TOAST?{GOATCHAIN_STARTUP_TOAST:$.env.GOATCHAIN_STARTUP_TOAST}:{},...$.env.GOATCHAIN_STARTUP_UPGRADE_TOAST?{GOATCHAIN_STARTUP_UPGRADE_TOAST:$.env.GOATCHAIN_STARTUP_UPGRADE_TOAST}:{},...$.env.GOATCHAIN_OPENAI_BASE_URL?{GOATCHAIN_OPENAI_BASE_URL:$.env.GOATCHAIN_OPENAI_BASE_URL}:{},...$.env.OPENAI_BASE_URL?{OPENAI_BASE_URL:$.env.OPENAI_BASE_URL}:{},...$.env.OPENAI_API_KEY?{OPENAI_API_KEY:$.env.OPENAI_API_KEY}:{}};if(!V.GOATCHAIN_MODEL&&F6(J.model))V.GOATCHAIN_MODEL=String(J.model);if(!V.GOATCHAIN_CONTEXT_WINDOW&&eU(J.contextWindow)!=null)V.GOATCHAIN_CONTEXT_WINDOW=String(J.contextWindow);if(!V.GOATCHAIN_TEMPERATURE&&eU(J.temperature)!=null)V.GOATCHAIN_TEMPERATURE=String(J.temperature);if(!V.GOATCHAIN_TOOL_APPROVALS&&J.toolApprovals==="auto")V.GOATCHAIN_TOOL_APPROVALS="auto";if(!V.GOATCHAIN_TOOL_APPROVALS&&J.toolApprovals==="all")V.GOATCHAIN_TOOL_APPROVALS="all";if(!V.GOATCHAIN_TOOL_APPROVALS&&J.toolApprovals==="manual")V.GOATCHAIN_TOOL_APPROVALS="auto";if(!V.GOATCHAIN_OPENAI_BASE_URL&&F6(J.baseUrl))V.GOATCHAIN_OPENAI_BASE_URL=String(J.baseUrl);if(!V.OPENAI_API_KEY&&F6(J.apiKey))V.OPENAI_API_KEY=String(J.apiKey);return{context:{system:iw,cwd:X,env:V,...Y?.length?{focusFiles:Y}:{}},cacheDir:_.dir,cacheFile:_.filePath,cache:Q}}async function Kp($){try{let[{readFile:U},_]=await Promise.all([import("node:fs/promises"),import("node:path")]),Q=await U(_.join($,"package.json"),"utf8"),J=JSON.parse(Q),G=typeof J?.version==="string"?J.version:null;return G&&G.trim()?G.trim():null}catch{return null}}import{watch as o3}from"vue";function TJ($,U){let _=String($??"").replace(/\s+/g," ").trim();if(_.length<=U)return _;return`${_.slice(0,Math.max(0,U-1))}…`}function Zp($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter((_)=>_&&typeof _==="object"&&_.type==="text"&&typeof _.text==="string").map((_)=>_.text).join(" ");if($&&typeof $==="object"){let U=$.text;if(typeof U==="string")return U}return""}function SJ($){if(!$||typeof $!=="object")return"";let U=String($.role??"");if(U==="user")return Zp($.content);if(U==="tool")return String($.result?.output??"");if(U==="assistant"){let _=Array.isArray($.parts)?$.parts:[],Q=_.filter((G)=>G?.type==="markdown").map((G)=>String(G.markdown??"")).join(`
788
+ `);if(Q.trim())return Q;let J=_.find((G)=>G?.type==="status");return J?String(J.text??""):""}return""}function pw($){let _=(Array.isArray($)?$:[]).find((J)=>J&&typeof J==="object"&&J.role==="user"&&TJ(SJ(J),999).length>0),Q=_?SJ(_):"";return TJ(Q||"New session",60)||"New session"}function ow($){let _=(Array.isArray($)?$:[]).find((J)=>J&&typeof J==="object"&&J.role==="user"&&TJ(SJ(J),999).length>0),Q=_?SJ(_):"";return TJ(Q||"New session",120)||"New session"}function aw($){let _=[...Array.isArray($)?$:[]].reverse().find((Q)=>{if(!Q||typeof Q!=="object"||Q.role!=="user")return!1;return TJ(SJ(Q),999).length>0});return TJ(_?SJ(_):"",180)}function p3($){return`${$}_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}function WB($){return $!=null&&typeof $==="object"&&!Array.isArray($)}function Wp($){let U=String($??"").trim();if(!U)return null;if(!(U.startsWith("[")||U.startsWith("{")))return null;try{let _=JSON.parse(U),Q=Array.isArray(_)?_:[_],J=[];for(let G of Q)if(G&&typeof G==="object"&&G.type==="text"){let Y=String(G.text??"").replace(/\r/g,"");if(Y)J.push(Y)}if(J.length===0)return null;return J.join(`
789
+ `)}catch{return null}}function V5($){if($==null)return"";if(typeof $==="string")return $;if(Array.isArray($))return $.map(V5).join("");if(WB($)){if(typeof $.text==="string")return String($.text);if(String($.type??"")==="image")return"[image]";try{return JSON.stringify($)}catch{return String($)}}return String($)}function Np($){if(WB($))return $;if(typeof $==="string"){let U=$.trim();if(!U)return{};try{let _=JSON.parse(U);return WB(_)?_:{_raw:$}}catch{return{_raw:$}}}return{}}function tw($){let U=$?.context?.messages,_=Array.isArray(U)?U:[],Q=[],J=new Map,G=new Map;for(let Y of _){let X=String(Y?.role??"");if(X==="user"){Q.push({id:p3("m"),role:"user",content:V5(Y?.content)});continue}if(X==="assistant"){let V=[],K=V5(Y?.reasoning_content).replace(/\r/g,"").trim();if(K)V.push({type:"thinking",title:"Thinking",collapsed:!0,content:K});let Z=V5(Y?.content);if(Z)V.push({type:"markdown",markdown:Z});let N=Array.isArray(Y?.tool_calls)?Y.tool_calls:[];for(let W of N){let B=String(W?.id??"").trim(),q=String(W?.function?.name??"tool"),O=Np(W?.function?.arguments);if(!B)continue;let M={id:B,name:q,arguments:O};V.push({type:"tool_call",call:M}),J.set(B,Q.length),G.set(B,q)}Q.push({id:p3("m"),role:"assistant",parts:[{type:"status",text:""},...V]});continue}if(X==="tool"){let V=String(Y?.tool_call_id??"").trim(),K=V?G.get(V):void 0,Z=K!=null&&K.toLowerCase().includes("read"),N=Y?.content,B=(Z&&typeof N==="string"?Wp(N):null)??V5(N),q=Y?.isError?"error":"success",O={id:V||p3("tool"),output:B,status:q};Q.push({id:p3("m"),role:"tool",result:O});let M=V?J.get(V):void 0;if(M==null)continue;let P=Q[M];if(!P||P.role!=="assistant")continue;Q[M]={...P,parts:[...P.parts,{type:"tool_result",result:O}]};continue}}return Q}function ew($){let U=[];for(let _ of $){if(_.role==="user"){U.push({role:"user",content:String(_.content??"")});continue}if(_.role==="assistant"){let Q=_.parts.filter((X)=>X.type==="thinking").map((X)=>String(X.content??"")).join(""),J=_.parts.filter((X)=>X.type==="markdown").map((X)=>String(X.markdown??"")).join(""),G=_.parts.flatMap((X)=>X.type==="tool_call"?[X.call]:[]),Y=G.length?G.map((X)=>({id:X.id,type:"function",function:{name:X.name,arguments:X.arguments}})):void 0;U.push({role:"assistant",content:J,...Q.trim()?{reasoning_content:Q}:{},...Y?{tool_calls:Y}:{}});continue}if(_.role==="tool")U.push({role:"tool",tool_call_id:String(_.result.id??""),content:String(_.result.output??""),..._.result.status==="error"?{isError:!0}:{}})}return U}function sw($){return String($?.id??"").trim()}function Fp($){return Number($?.state?.updatedAt??$?.state?.lastActiveAt??0)||0}function $z($){let U=$?.context?.messages;return Array.isArray(U)?U:[]}function qp($){let U=Number($?.context?.messageCount??0);if(Number.isFinite(U)&&U>=0)return U;return $z($).length}function Bp($){let U=$?.stats?.usage;return U&&typeof U==="object"?U:null}function Uz($){let U=sw($);if(!U)return null;let _=Fp($),Q=F6($?.metadata?.cwd),J=$z($),G=F6($?.state?.title)??pw(J),Y=ow(J),X=F6($?.context?.lastMessagePreview)??aw(J),V=qp($);return{id:U,updatedAt:_,cwd:Q??void 0,title:G,summary:Y,messageCount:V,lastMessage:X}}function K5($,U){let _=sw(U);if(_)$.state.sessionId=_;let Q=tw(U);$.state.messages.splice(0,$.state.messages.length,...Q),$.state.revertedMessages.splice(0,$.state.revertedMessages.length),$.state.selectedToolCallId=null,$.state.runningToolCallId=null,$.state.expandedBashOutputs=new Set,$.state.paused=null,$.state.approval.active=null,$.state.approval.pendingAutoRun=null,$.state.approval.queue=[],$.state.approval.decisions={};for(let G of $.state.messages){if(!G||G.role!=="assistant"||!Array.isArray(G.parts))continue;for(let Y of G.parts)if(Y?.type==="tool_result"&&Y.result&&typeof $.scheduleToolResultHighlight==="function")$.scheduleToolResultHighlight(String(G.id??""),Y.result)}let J=Bp(U);if(J){let G=Number(J.promptTokens),Y=Number(J.completionTokens);if(Number.isFinite(G))$.state.usage.prompt_tokens=G;if(Number.isFinite(Y))$.state.usage.completion_tokens=Y;if(Number.isFinite(G)&&Number.isFinite(Y))$.state.usage.total_tokens=G+Y;else{let X=Number(J.totalTokens);if(Number.isFinite(X))$.state.usage.total_tokens=X}}}function _z($){let U=Array.isArray($)?$:[];return ew(U)}function Jz($){let U=$.store,_=U?.state?.context?.env??{},Q=F6(_.GOATCHAIN_OPENAI_BASE_URL||_.OPENAI_BASE_URL),J=F6(_.OPENAI_API_KEY);return{version:1,updatedAt:Date.now(),settings:{cwd:F6(U?.state?.context?.cwd),focusFiles:U?.state?.context?.focusFiles??void 0,model:F6(U?.state?.config?.model),contextWindow:eU(U?.state?.config?.context_window),temperature:eU(U?.state?.config?.temperature),baseUrl:Q,apiKey:J,toolApprovals:U?.state?.approval?.mode==="all"?"all":"auto"},lastSessionId:F6(U?.state?.sessionId)||$.prev.lastSessionId}}function Qz($,U){let _=null,Q=!1,J=!1,G=async()=>{if(Q){J=!0;return}Q=!0,J=!1;try{await $()}finally{if(Q=!1,J)Y()}},Y=()=>{if(J=!0,_)clearTimeout(_);_=setTimeout(G,Math.max(0,U||0))};return{schedule:Y}}function Hp($){return String($?.id??"").trim()}function Gz($){let U=null,_=$.sessionsBackend??null;return{sessions:_?{async list(){return(await _.list()).map(Uz).filter(Boolean)},async use(G){let Y=String(G??"").trim();if(!Y||!U)return;if(String(U.state.sessionId??"")===Y)return;let X=await _.get(Y);if(!X)return;K5(U,X)},async createNew(){if(!U)return;let G=await _.create();if(!G)return;K5(U,G)},async delete(G){let Y=String(G??"").trim();if(!Y)return;if(await _.destroy(Y),U&&String(U.state.sessionId??"")===Y)U.state.sessionId=""},async fork(G){if(!U)return;let Y=Array.isArray(G?.messages)?G.messages:[];if(typeof _.createWithMessages!=="function"){let V=await _.create();if(V)U.state.sessionId=Hp(V);U.state.messages.splice(0,U.state.messages.length,...Y),U.state.revertedMessages.splice(0,U.state.revertedMessages.length),U.state.selectedToolCallId=null,U.state.usage.prompt_tokens=0,U.state.usage.completion_tokens=0,U.state.usage.total_tokens=0;return}let X=await _.createWithMessages(_z(Y));if(!X)return;K5(U,X)}}:void 0,onStoreCreated:(G)=>{if(U=G,_){let X=String(G.state.sessionId??"").trim();if(X)_.get(X).then((V)=>{if(V&&U)K5(U,V)}).catch(()=>{})}let Y=Qz(async()=>{try{let X=Jz({prev:$.cache,store:G});await ZB($.cacheFile,X)}catch(X){console.warn("[goatchain] Failed to persist cache:",X)}},300);o3(()=>G.state.sessionId,Y.schedule),o3(()=>G.state.config,Y.schedule,{deep:!0}),o3(()=>G.state.context,Y.schedule,{deep:!0}),o3(()=>G.state.approval.mode,Y.schedule),Y.schedule()}}}async function NB($){let U=$.sessionsBackend,_=F6($.envSessionId);if(U&&_){if(await U.get(_))return _}return _}function Yz(){return async($)=>{let U=String($?.name??"tool");return{id:String($?.id??"tool"),status:"error",output:["Tool execution is handled by the GoatChain agent.",`This UI cannot run tool "${U}" locally.`].join(`
790
+ `)}}}import*as Xz from"node:path";function Op($){return Xz.join($,"state")}function jp($){$.env.GOATCHAIN_STATE_DIR=$.stateDir,$.context.env.GOATCHAIN_STATE_DIR=$.stateDir}async function FB($){let{context:U,cacheDir:_,cacheFile:Q,cache:J}=await nw({cwd:$.cwd,env:$.env}),G=Op(_);jp({env:$.env,context:U,stateDir:G});let Y=lw({context:U,processEnv:$.env,stateDir:G}),X=Y?.__sessions??null,V=await NB({sessionsBackend:X,envSessionId:$.env.GOATCHAIN_SESSION_ID});$.env.GOATCHAIN_SESSION_ID=V??"",U.env.GOATCHAIN_SESSION_ID=V??"";let{sessions:K,onStoreCreated:Z}=Gz({cacheFile:Q,cache:J,sessionsBackend:X});return{toolRunner:Yz(),context:U,agent:Y,onStoreCreated:Z,sessions:K}}var qB=null,a3=null;function Vz($){qB=$}function Kz($){return a3=$,()=>{if(a3===$)a3=null}}function Z5(){let $=a3;if($&&$.isBusy()){$.showConfirm();return}qB?.()}function t3(){qB?.()}import oa from"node:fs";import{nextTick as fG}from"vue";var Zz=($=0)=>(U)=>`\x1B[${U+$}m`,Wz=($=0)=>(U)=>`\x1B[${38+$};5;${U}m`,Nz=($=0)=>(U,_,Q)=>`\x1B[${38+$};2;${U};${_};${Q}m`,$6={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},MZ$=Object.keys($6.modifier),Dp=Object.keys($6.color),Ep=Object.keys($6.bgColor),PZ$=[...Dp,...Ep];function Mp(){let $=new Map;for(let[U,_]of Object.entries($6)){for(let[Q,J]of Object.entries(_))$6[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},_[Q]=$6[Q],$.set(J[0],J[1]);Object.defineProperty($6,U,{value:_,enumerable:!1})}return Object.defineProperty($6,"codes",{value:$,enumerable:!1}),$6.color.close="\x1B[39m",$6.bgColor.close="\x1B[49m",$6.color.ansi=Zz(),$6.color.ansi256=Wz(),$6.color.ansi16m=Nz(),$6.bgColor.ansi=Zz(10),$6.bgColor.ansi256=Wz(10),$6.bgColor.ansi16m=Nz(10),Object.defineProperties($6,{rgbToAnsi256:{value(U,_,Q){if(U===_&&_===Q){if(U<8)return 16;if(U>248)return 231;return Math.round((U-8)/247*24)+232}return 16+36*Math.round(U/255*5)+6*Math.round(_/255*5)+Math.round(Q/255*5)},enumerable:!1},hexToRgb:{value(U){let _=/[a-f\d]{6}|[a-f\d]{3}/i.exec(U.toString(16));if(!_)return[0,0,0];let[Q]=_;if(Q.length===3)Q=[...Q].map((G)=>G+G).join("");let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(U)=>$6.rgbToAnsi256(...$6.hexToRgb(U)),enumerable:!1},ansi256ToAnsi:{value(U){if(U<8)return 30+U;if(U<16)return 90+(U-8);let _,Q,J;if(U>=232)_=((U-232)*10+8)/255,Q=_,J=_;else{U-=16;let X=U%36;_=Math.floor(U/36)/5,Q=Math.floor(X/6)/5,J=X%6/5}let G=Math.max(_,Q,J)*2;if(G===0)return 30;let Y=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(_));if(G===2)Y+=60;return Y},enumerable:!1},rgbToAnsi:{value:(U,_,Q)=>$6.ansi256ToAnsi($6.rgbToAnsi256(U,_,Q)),enumerable:!1},hexToAnsi:{value:(U)=>$6.ansi256ToAnsi($6.hexToAnsi256(U)),enumerable:!1}}),$6}var Pp=Mp(),w6=Pp;function e2($){return $.replace(/\r\n/g,`
791
+ `).replace(/\r/g,`
792
+ `)}function S$($,U="",_,Q){let J={type:"keydown",key:$,code:U,..._};return Q?{...J,repeat:!0}:J}function e3($){if(!$||!Number.isFinite($))return null;let U=Math.floor($),_={};if(U===2||U===4||U===6||U===8||U===10||U===12||U===14||U===16)_.shiftKey=!0;if(U===3||U===4||U===7||U===8||U===11||U===12||U===15||U===16)_.altKey=!0;if(U===5||U===6||U===7||U===8||U===13||U===14||U===15||U===16)_.ctrlKey=!0;if(U>=9)_.metaKey=U===9||U===10||U===11||U===12||U===13||U===14||U===15||U===16;return Object.keys(_).length?_:null}function fp($){if(!Number.isFinite($)||$<=0)return null;let U=Math.floor($),_={};if(U&1)_.shiftKey=!0;if(U&2)_.altKey=!0;if(U&4)_.ctrlKey=!0;if(U&8)_.metaKey=!0;if(U&32)_.metaKey=!0;return Object.keys(_).length?_:null}function BB($){if(!$||!Number.isFinite($))return null;let U=Math.floor($)-1;return fp(U)}var Lp={57344:{key:"Escape",code:"Escape"},57345:{key:"Enter",code:"Enter"},57346:{key:"Tab",code:"Tab"},57347:{key:"Backspace",code:"Backspace"},57348:{key:"Insert",code:"Insert"},57349:{key:"Delete",code:"Delete"},57350:{key:"ArrowLeft",code:"ArrowLeft"},57351:{key:"ArrowRight",code:"ArrowRight"},57352:{key:"ArrowUp",code:"ArrowUp"},57353:{key:"ArrowDown",code:"ArrowDown"},57354:{key:"PageUp",code:"PageUp"},57355:{key:"PageDown",code:"PageDown"},57356:{key:"Home",code:"Home"},57357:{key:"End",code:"End"},57358:{key:"CapsLock",code:"CapsLock"},57359:{key:"ScrollLock",code:"ScrollLock"},57360:{key:"NumLock",code:"NumLock"},57361:{key:"PrintScreen",code:"PrintScreen"},57362:{key:"Pause",code:"Pause"},57363:{key:"ContextMenu",code:"ContextMenu"},57364:{key:"F1",code:"F1"},57365:{key:"F2",code:"F2"},57366:{key:"F3",code:"F3"},57367:{key:"F4",code:"F4"},57368:{key:"F5",code:"F5"},57369:{key:"F6",code:"F6"},57370:{key:"F7",code:"F7"},57371:{key:"F8",code:"F8"},57372:{key:"F9",code:"F9"},57373:{key:"F10",code:"F10"},57374:{key:"F11",code:"F11"},57375:{key:"F12",code:"F12"},57376:{key:"F13",code:"F13"},57377:{key:"F14",code:"F14"},57378:{key:"F15",code:"F15"},57379:{key:"F16",code:"F16"},57380:{key:"F17",code:"F17"},57381:{key:"F18",code:"F18"},57382:{key:"F19",code:"F19"},57383:{key:"F20",code:"F20"},57384:{key:"F21",code:"F21"},57385:{key:"F22",code:"F22"},57386:{key:"F23",code:"F23"},57387:{key:"F24",code:"F24"},57388:{key:"F25",code:"F25"},57389:{key:"F26",code:"F26"},57390:{key:"F27",code:"F27"},57391:{key:"F28",code:"F28"},57392:{key:"F29",code:"F29"},57393:{key:"F30",code:"F30"},57394:{key:"F31",code:"F31"},57395:{key:"F32",code:"F32"},57396:{key:"F33",code:"F33"},57397:{key:"F34",code:"F34"},57398:{key:"F35",code:"F35"},57399:{key:"0",code:"Numpad0"},57400:{key:"1",code:"Numpad1"},57401:{key:"2",code:"Numpad2"},57402:{key:"3",code:"Numpad3"},57403:{key:"4",code:"Numpad4"},57404:{key:"5",code:"Numpad5"},57405:{key:"6",code:"Numpad6"},57406:{key:"7",code:"Numpad7"},57407:{key:"8",code:"Numpad8"},57408:{key:"9",code:"Numpad9"},57409:{key:".",code:"NumpadDecimal"},57410:{key:"/",code:"NumpadDivide"},57411:{key:"*",code:"NumpadMultiply"},57412:{key:"-",code:"NumpadSubtract"},57413:{key:"+",code:"NumpadAdd"},57414:{key:"Enter",code:"NumpadEnter"},57415:{key:"=",code:"NumpadEqual"},57416:{key:",",code:"NumpadComma"},57417:{key:"ArrowLeft",code:"NumpadArrowLeft"},57418:{key:"ArrowRight",code:"NumpadArrowRight"},57419:{key:"ArrowUp",code:"NumpadArrowUp"},57420:{key:"ArrowDown",code:"NumpadArrowDown"},57421:{key:"PageUp",code:"NumpadPageUp"},57422:{key:"PageDown",code:"NumpadPageDown"},57423:{key:"Home",code:"NumpadHome"}},Rp=/^\x1b\[(\d+);(\d+):(\d+)([A-Z~])$/,wp={A:{key:"ArrowUp",code:"ArrowUp"},B:{key:"ArrowDown",code:"ArrowDown"},C:{key:"ArrowRight",code:"ArrowRight"},D:{key:"ArrowLeft",code:"ArrowLeft"},H:{key:"Home",code:"Home"},F:{key:"End",code:"End"},P:{key:"F1",code:"F1"},Q:{key:"F2",code:"F2"},R:{key:"F3",code:"F3"},S:{key:"F4",code:"F4"}},zp={"1":{key:"Home",code:"Home"},"2":{key:"Insert",code:"Insert"},"3":{key:"Delete",code:"Delete"},"4":{key:"End",code:"End"},"5":{key:"PageUp",code:"PageUp"},"6":{key:"PageDown",code:"PageDown"},"7":{key:"Home",code:"Home"},"8":{key:"End",code:"End"},"11":{key:"F1",code:"F1"},"12":{key:"F2",code:"F2"},"13":{key:"F3",code:"F3"},"14":{key:"F4",code:"F4"},"15":{key:"F5",code:"F5"},"17":{key:"F6",code:"F6"},"18":{key:"F7",code:"F7"},"19":{key:"F8",code:"F8"},"20":{key:"F9",code:"F9"},"21":{key:"F10",code:"F10"},"23":{key:"F11",code:"F11"},"24":{key:"F12",code:"F12"}};function Fz($){if($==="2")return{repeat:!0,release:!1};if($==="3")return{repeat:!1,release:!0};return{repeat:!1,release:!1}}function Ap($){let U=Rp.exec($);if(!U)return{handled:!1,event:null};let _=U[1],Q=U[2],J=U[3],G=U[4],Y;if(G==="~")Y=zp[_];else if(_==="1")Y=wp[G];let X=Fz(J);if(!Y)return{handled:!0,event:null};if(X.release)return{handled:!0,event:null};let V=BB(Number.parseInt(Q,10))??void 0;return{handled:!0,event:S$(Y.key,Y.code,V,X.repeat)}}function kp($,U,_,Q){if(_||Q>2)return!0;if($>=57344)return!0;if(U!=null&&U>16)return!0;return!1}function Tp($){let U=/^\x1b\[([^\x1b]+)u$/.exec($);if(!U)return{handled:!1,event:null};let Q=U[1].split(";"),G=(Q[0]??"").split(":"),Y=G[0]??"",X=Number.parseInt(Y,10),K=(Q[1]??"").split(":"),Z=K[0]?Number.parseInt(K[0],10):null,N=K[1],W=G.length>1||K.length>1;if(!Number.isFinite(X))return{handled:!0,event:null};if(!kp(X,Z,W,Q.length))return{handled:!1,event:null};let B=Fz(N);if(B.release)return{handled:!0,event:null};let q=BB(Z)??void 0,O=Lp[X];if(O)return{handled:!0,event:S$(O.key,O.code,q,B.repeat)};if(X===13)return{handled:!0,event:S$("Enter","Enter",q,B.repeat)};if(X===9)return{handled:!0,event:S$("Tab","Tab",q,B.repeat)};if(X===27)return{handled:!0,event:S$("Escape","Escape",q,B.repeat)};if(X===127)return{handled:!0,event:S$("Backspace","Backspace",q,B.repeat)};if(X>=32)try{return{handled:!0,event:S$(String.fromCodePoint(X),"",q,B.repeat)}}catch{return{handled:!0,event:null}}return{handled:!0,event:null}}function qz($){let U=Ap($);if(U.handled)return U;return Tp($)}function Sp($,U){if(U.includes(":"))return{handled:!1,event:null};let _=$[0]?Number.parseInt($[0],10):Number.NaN;if(!Number.isFinite(_))return{handled:!0,event:null};if(_>=57344)return{handled:!1,event:null};let Q=$[1]?Number.parseInt($[1],10):null,J=e3(Q)??void 0;if(_===13)return{handled:!0,event:S$("Enter","Enter",J)};if(_===9)return{handled:!0,event:S$("Tab","Tab",J)};if(_===27)return{handled:!0,event:S$("Escape","Escape",J)};if(_===127)return{handled:!0,event:S$("Backspace","Backspace",J)};if(_>=32)try{return{handled:!0,event:S$(String.fromCodePoint(_),"",J)}}catch{return{handled:!0,event:null}}return{handled:!0,event:null}}function Ip($){if(!$.startsWith("\x1B["))return{handled:!1,event:null};if($.length<3)return{handled:!0,event:null};let U=$[$.length-1],_=$.slice(2,-1),Q=_?_.split(";"):[""];if(U==="u")return Sp(Q,_);if(U==="Z")return{handled:!0,event:S$("Tab","Tab",{shiftKey:!0})};let J=Q.length>=2?Number.parseInt(Q[Q.length-1],10):null,G=e3(J)??void 0;if(U==="A")return{handled:!0,event:S$("ArrowUp","ArrowUp",G)};if(U==="B")return{handled:!0,event:S$("ArrowDown","ArrowDown",G)};if(U==="C")return{handled:!0,event:S$("ArrowRight","ArrowRight",G)};if(U==="D")return{handled:!0,event:S$("ArrowLeft","ArrowLeft",G)};if(U==="H")return{handled:!0,event:S$("Home","Home",G)};if(U==="F")return{handled:!0,event:S$("End","End",G)};if(U==="~"){if(Q[0]==="27"&&Q.length>=3){let X=Number.parseInt(Q[1],10),V=Number.parseInt(Q[2],10),K=e3(X)??void 0;if(V===13)return{handled:!0,event:S$("Enter","Enter",K)};if(V===9)return{handled:!0,event:S$("Tab","Tab",K)};if(V===27)return{handled:!0,event:S$("Escape","Escape",K)};if(V>=32)try{return{handled:!0,event:S$(String.fromCodePoint(V),"",K)}}catch{return{handled:!0,event:null}}return{handled:!0,event:null}}let Y=Q[0]?Number.parseInt(Q[0],10):Number.NaN;if(Y===1||Y===7)return{handled:!0,event:S$("Home","Home",G)};if(Y===4||Y===8)return{handled:!0,event:S$("End","End",G)};if(Y===2)return{handled:!0,event:S$("Insert","Insert",G)};if(Y===3)return{handled:!0,event:S$("Delete","Delete",G)};if(Y===5)return{handled:!0,event:S$("PageUp","PageUp",G)};if(Y===6)return{handled:!0,event:S$("PageDown","PageDown",G)};if(Y===11)return{handled:!0,event:S$("F1","F1",G)};if(Y===12)return{handled:!0,event:S$("F2","F2",G)};if(Y===13)return{handled:!0,event:S$("F3","F3",G)};if(Y===14)return{handled:!0,event:S$("F4","F4",G)};if(Y===15)return{handled:!0,event:S$("F5","F5",G)};if(Y===17)return{handled:!0,event:S$("F6","F6",G)};if(Y===18)return{handled:!0,event:S$("F7","F7",G)};if(Y===19)return{handled:!0,event:S$("F8","F8",G)};if(Y===20)return{handled:!0,event:S$("F9","F9",G)};if(Y===21)return{handled:!0,event:S$("F10","F10",G)};if(Y===23)return{handled:!0,event:S$("F11","F11",G)};if(Y===24)return{handled:!0,event:S$("F12","F12",G)};return{handled:!0,event:null}}return{handled:!0,event:null}}function vp($){if(!$.startsWith("\x1BO"))return{handled:!1,event:null};if($.length<3)return{handled:!0,event:null};switch($[2]){case"A":return{handled:!0,event:S$("ArrowUp","ArrowUp")};case"B":return{handled:!0,event:S$("ArrowDown","ArrowDown")};case"C":return{handled:!0,event:S$("ArrowRight","ArrowRight")};case"D":return{handled:!0,event:S$("ArrowLeft","ArrowLeft")};case"H":return{handled:!0,event:S$("Home","Home")};case"F":return{handled:!0,event:S$("End","End")};case"P":return{handled:!0,event:S$("F1","F1")};case"Q":return{handled:!0,event:S$("F2","F2")};case"R":return{handled:!0,event:S$("F3","F3")};case"S":return{handled:!0,event:S$("F4","F4")};default:return{handled:!0,event:null}}}function Bz($){if(!$.startsWith("\x1B"))return{handled:!1,event:null};let U=Ip($);if(U.handled)return U;let _=vp($);if(_.handled)return _;return{handled:!1,event:null}}function Cp($){if(!$.startsWith("\x1B[<"))return{handled:!1,event:null};let U=3,_=()=>{let q=U;while(U<$.length){let O=$.charCodeAt(U);if(O<48||O>57)break;U++}if(U===q)return null;return Number.parseInt($.slice(q,U),10)},Q=_();if(Q==null||$[U]!==";")return{handled:!0,event:null};U++;let J=_();if(J==null||$[U]!==";")return{handled:!0,event:null};U++;let G=_();if(G==null)return{handled:!0,event:null};let Y=$[U];if(Y!=="m"&&Y!=="M")return{handled:!0,event:null};U++;let X=Y==="m",V=Math.max(0,J-1),K=Math.max(0,G-1),Z=Boolean(Q&4),N=Boolean(Q&8),W=Boolean(Q&16);if((Q&64)===64){let q=Q&1?1:-1;return{handled:!0,event:{type:"wheel",cellX:V,cellY:K,deltaY:q,shiftKey:Z,altKey:N,ctrlKey:W}}}let B=Q&3;if(!X&&(Q&32)===0&&B===3)return{handled:!0,event:{type:"pointerup",cellX:V,cellY:K,button:B,shiftKey:Z,altKey:N,ctrlKey:W}};if(X)return{handled:!0,event:{type:"pointerup",cellX:V,cellY:K,button:B,shiftKey:Z,altKey:N,ctrlKey:W}};if(Q&32)return{handled:!0,event:{type:"pointermove",cellX:V,cellY:K,button:B,shiftKey:Z,altKey:N,ctrlKey:W}};return{handled:!0,event:{type:"pointerdown",cellX:V,cellY:K,button:B,shiftKey:Z,altKey:N,ctrlKey:W}}}function Hz($){return Cp($)}import{Buffer as yp}from"node:buffer";import{EventEmitter as bp}from"node:events";var _2="\x1B",Oz="\x1B[200~",s3="\x1B[201~";function xp($){if(!$.startsWith(_2))return"not-escape";if($.length===1)return"incomplete";let U=$.slice(1);if(U.startsWith("[")){if(U.startsWith("[M"))return $.length>=6?"complete":"incomplete";return gp($)}if(U.startsWith("]"))return hp($);if(U.startsWith("P"))return up($);if(U.startsWith("_"))return mp($);if(U.startsWith("O"))return U.length>=2?"complete":"incomplete";if(U.length===1)return"complete";return"complete"}function gp($){if(!$.startsWith(`${_2}[`))return"complete";if($.length<3)return"incomplete";let U=$.slice(2),_=U[U.length-1],Q=_.charCodeAt(0);if(Q>=64&&Q<=126){if(U.startsWith("<")){if(/^<\d+;\d+;\d+M$/i.test(U))return"complete";if(_==="M"||_==="m"){let J=U.slice(1,-1).split(";");if(J.length===3&&J.every((G)=>/^\d+$/.test(G)))return"complete"}return"incomplete"}return"complete"}return"incomplete"}function hp($){if(!$.startsWith(`${_2}]`))return"complete";if($.endsWith(`${_2}\\`)||$.endsWith("\x07"))return"complete";return"incomplete"}function up($){if(!$.startsWith(`${_2}P`))return"complete";if($.endsWith(`${_2}\\`))return"complete";return"incomplete"}function mp($){if(!$.startsWith(`${_2}_`))return"complete";if($.endsWith(`${_2}\\`))return"complete";return"incomplete"}function jz($){let U=[],_=0;while(_<$.length){let Q=$.slice(_);if(Q.startsWith(_2)){let J=1;while(J<=Q.length){let G=Q.slice(0,J),Y=xp(G);if(Y==="complete"){U.push(G),_+=J;break}if(Y==="incomplete"){J++;continue}U.push(G),_+=J;break}if(J>Q.length)return{sequences:U,remainder:Q}}else U.push(Q[0]),_++}return{sequences:U,remainder:""}}class HB extends bp{buffer="";timeout=null;timeoutMs;pasteMode=!1;pasteBuffer="";constructor($={}){super();this.timeoutMs=$.timeout??10}process($){if(this.timeout)clearTimeout(this.timeout),this.timeout=null;let U;if(yp.isBuffer($))if($.length===1&&$[0]>127){let J=$[0]-128;U=`\x1B${String.fromCharCode(J)}`}else U=$.toString();else U=$;if(U.length===0&&this.buffer.length===0){this.emit("data","");return}if(this.buffer+=U,this.pasteMode){this.pasteBuffer+=this.buffer,this.buffer="";let J=this.pasteBuffer.indexOf(s3);if(J!==-1){let G=this.pasteBuffer.slice(0,J),Y=this.pasteBuffer.slice(J+s3.length);if(this.pasteMode=!1,this.pasteBuffer="",this.emit("paste",G),Y.length>0)this.process(Y)}return}let _=this.buffer.indexOf(Oz);if(_!==-1){if(_>0){let G=this.buffer.slice(0,_),Y=jz(G);for(let X of Y.sequences)this.emit("data",X)}this.buffer=this.buffer.slice(_+Oz.length),this.pasteMode=!0,this.pasteBuffer=this.buffer,this.buffer="";let J=this.pasteBuffer.indexOf(s3);if(J!==-1){let G=this.pasteBuffer.slice(0,J),Y=this.pasteBuffer.slice(J+s3.length);if(this.pasteMode=!1,this.pasteBuffer="",this.emit("paste",G),Y.length>0)this.process(Y)}return}let Q=jz(this.buffer);this.buffer=Q.remainder;for(let J of Q.sequences)this.emit("data",J);if(this.buffer.length>0)this.timeout=setTimeout(()=>{let J=this.flush();for(let G of J)this.emit("data",G)},this.timeoutMs)}flush(){if(this.timeout)clearTimeout(this.timeout),this.timeout=null;if(this.buffer.length===0)return[];let $=[this.buffer];return this.buffer="",$}clear(){if(this.timeout)clearTimeout(this.timeout),this.timeout=null;this.buffer="",this.pasteMode=!1,this.pasteBuffer=""}getBuffer(){return this.buffer}destroy(){this.clear()}}function Dz($){if($.length===0)return!1;if($.length===1){let U=$.charCodeAt(0);if(U<32||U===127)return!1;return!0}if($.length===2){let U=$.charCodeAt(0);return U>=55296&&U<=56319}return!1}function cp($){if(!$||$.length!==1)return null;let U=$.charCodeAt(0);if(U>=1&&U<=26)return String.fromCharCode(U+96);return null}function $G($){let U=globalThis.process,_=$.stdin??U?.stdin,Q=$.stdout??U?.stdout;if(!_||!Q)throw Error("createStdinDriver requires Node process.stdin/stdout");let J=$.enableMouse??!0,G=!1,Y=!1,X=null,V=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),K=new HB({timeout:10}),Z=(P)=>{if(Y){if(Y=!1,P===`
793
+ `)return}if(P==="\x03"){if(!Boolean($.dispatch(S$("c","",{ctrlKey:!0}))))$.onExit?.();return}if(P==="\r"){Y=!0,$.dispatch(S$("Enter","Enter"));return}if(P===`
794
+ `){$.dispatch({type:"input",data:`
795
+ `,inputType:"insertLineBreak",text:`
796
+ `});return}let H=cp(P);if(H){if(H==="i"){$.dispatch(S$("Tab","Tab"));return}if(H==="h"){$.dispatch(S$("Backspace","Backspace"));return}$.dispatch(S$(H,"",{ctrlKey:!0}));return}if(P===""){$.dispatch(S$("Backspace","Backspace"));return}if(P==="\t"){$.dispatch(S$("Tab","Tab"));return}if(Dz(P))$.dispatch(S$(P))},N=(P)=>{let H=P;if(H.type==="pointerdown")$.dispatch(P),X={cellX:H.cellX,cellY:H.cellY,button:H.button??0,shiftKey:Boolean(H.shiftKey),altKey:Boolean(H.altKey),ctrlKey:Boolean(H.ctrlKey)};else if(H.type==="pointermove"){if(X&&(H.button===3||H.button==null)){let z=X;if(X=null,$.dispatch({type:"pointerup",cellX:z.cellX,cellY:z.cellY,button:3,shiftKey:z.shiftKey,altKey:z.altKey,ctrlKey:z.ctrlKey}),z.button===0)$.dispatch({type:"click",cellX:z.cellX,cellY:z.cellY,shiftKey:z.shiftKey,altKey:z.altKey,ctrlKey:z.ctrlKey});return}$.dispatch(P)}else if(H.type==="pointerup"){$.dispatch(P);let z=X;if(X=null,z&&z.cellX===H.cellX&&z.cellY===H.cellY&&z.button===0&&(H.button===0||H.button===3))$.dispatch({type:"click",cellX:H.cellX,cellY:H.cellY,shiftKey:Boolean(H.shiftKey??z?.shiftKey),altKey:Boolean(H.altKey??z?.altKey),ctrlKey:Boolean(H.ctrlKey??z?.ctrlKey)})}else $.dispatch(P)},W=(P)=>{if(G)return;if(!P)return;let H=Hz(P);if(H.handled){if(H.event)N(H.event);return}let z=qz(P);if(z.handled){if(z.event)$.dispatch(z.event);return}let A=Bz(P);if(A.handled){if(A.event)$.dispatch(A.event);return}if(P.startsWith("\x1B")){if(P.length===2&&Dz(P[1])){$.dispatch(S$(P[1],"",{altKey:!0}));return}if(P==="\x1B"){$.dispatch(S$("Escape","Escape"));return}return}for(let E of P)Z(E)};K.on("data",W),K.on("paste",(P)=>{let H=e2(P);if(H)$.dispatch({type:"paste",text:H})});let B=(P)=>{if(P.length===1&&P[0]>127){let z=P[0]-128;K.process(`\x1B${String.fromCharCode(z)}`);return}let H=V.decode(P,{stream:!0});if(H)K.process(H)},q=(P)=>{if(G)return;if(typeof P==="string"){K.process(P);return}if(P instanceof ArrayBuffer){B(new Uint8Array(P));return}if(ArrayBuffer.isView(P)){let H=P;B(new Uint8Array(H.buffer,H.byteOffset,H.byteLength));return}if(P!=null)try{let H=V.decode(P,{stream:!0});if(H)K.process(H)}catch(H){}},O=_.isRaw;if(_.isTTY)_.setRawMode(!0);if(_.resume(),_.on("data",q),Q.isTTY){if(Q.write("\x1B[?2004h"),J)Q.write("\x1B[?1007h"),Q.write("\x1B[?1000h\x1B[?1002h\x1B[?1006h")}return{dispose:()=>{if(G)return;G=!0,_.off("data",q),K.destroy();try{_.pause()}catch{}try{_.unref?.()}catch{}if(_.isTTY)_.setRawMode(Boolean(O));if(Q.isTTY){if(Q.write("\x1B[?2004l"),J)Q.write("\x1B[?1007l"),Q.write("\x1B[?1000l\x1B[?1002l\x1B[?1006l")}}}}async function Ez(){return import("node:fs/promises")}function sU(){return{async listDir($){return(await(await Ez()).readdir($,{withFileTypes:!0})).map((Q)=>{let J=Q.isDirectory()?"directory":Q.isFile()?"file":"other";return{name:Q.name,kind:J}})},async stat($){let U=await Ez();try{let _=await U.lstat($);return{exists:!0,kind:_.isDirectory()?"directory":_.isFile()?"file":"other"}}catch{return{exists:!1,kind:"other"}}}}}function W5($){return $.replace(/\\/g,"/")}function OB($){let U=W5($);if(U.startsWith("/"))return!0;return/^[A-Z]:\//i.test(U)}function Mz($){let U=W5($);if(U==="/")return U;return U.replace(/\/+$/g,"")}function Pz($,U){let _=W5($),Q=W5(U);if(!_)return Q;if(!Q)return _;if(_.endsWith("/"))return`${_}${Q.startsWith("/")?Q.slice(1):Q}`;return`${_}/${Q.startsWith("/")?Q.slice(1):Q}`}function m1($){let U=W5($);if(!U)return"";let _=U.match(/^([A-Z]:)(\/|$)/i)?.[1]??null,Q=_?U.slice(_.length):U,J=Q.startsWith("/"),G=Q.split("/").filter(Boolean),Y=[];for(let Z of G){if(Z===".")continue;if(Z===".."){if(Y.length>0&&Y[Y.length-1]!==".."){Y.pop();continue}if(!J)Y.push("..");continue}Y.push(Z)}let X=_?`${_}${J?"/":""}`:J?"/":"",V=Y.join("/");return`${X}${V}`||(J?_?`${_}/`:"/":"")}function IJ($,U){let _=m1($),Q=m1(U);if(!_)return Q;if(OB(Q))return Q;return m1(Pz(_,Q))}function fz($){return $.toLowerCase()}function Lz($,U){let _=fz($),Q=fz(U);if(!Q)return 0;if(_===Q)return 2000;if(_.startsWith(Q))return 1500-(_.length-Q.length);let J=_.indexOf(Q);if(J>=0)return 1200-J;let G=0,Y=0,X=0,V=-1;while(G<_.length&&Y<Q.length){if(_[G]===Q[Y]){if(V>=0)X+=G-V-1;V=G,Y++}G++}if(Y!==Q.length)return null;return 800-X}function dp($){let U=$.replace(/\\/g,"/"),_=U.lastIndexOf("/");if(_<0)return{dirPrefix:"",query:U};return{dirPrefix:U.slice(0,_+1),query:U.slice(_+1)}}async function N5($){let U=m1($.workspaceAbs),Q=($.input??"").replace(/\r/g,"").replace(/\\/g,"/"),{dirPrefix:J,query:G}=dp(Q),Y=IJ(U,J||"."),X=$.maxDepth??0,V=Boolean($.showHidden),K=$.mode==="directory"||$.mode==="any"||$.mode==="file",Z=$.mode==="file"||$.mode==="any",N=[];async function W(M,P,H){if(P>X)return;let z=[];try{z=await $.listDir(M)}catch{return}for(let A of z){if(!V&&A.name.startsWith("."))continue;let E=H?`${H}/${A.name}`:A.name;if(A.kind==="directory"){if(!K)continue;let D=Lz(A.name,G);if(D!=null)N.push({score:D,name:A.name,kind:"directory",depth:P,relPath:E});await W(`${M}/${A.name}`,P+1,E);continue}if(A.kind==="file"){if(!Z)continue;let D=Lz(A.name,G);if(D!=null)N.push({score:D,name:A.name,kind:"file",depth:P,relPath:E});continue}}}await W(Y,0,""),N.sort((M,P)=>{if(M.score!==P.score)return P.score-M.score;if(M.depth!==P.depth)return M.depth-P.depth;return M.name.localeCompare(P.name)});let B=Math.max(0,Math.floor($.max)),O=(B?N.slice(0,B):[]).map((M)=>{let P=M.kind==="directory"?"/":"",H=`${J}${M.relPath}${P}`,z=IJ(U,`${J}${M.relPath}`);return{kind:M.kind,display:H,completion:H,absPath:z}});return{baseDirAbs:Y,dirPrefix:J,query:G,suggestions:O}}function J2($,U){let _=(U??"").replace(/\r/g,"").trim();if(!_)return IJ(m1($),".");if(_==="~"||_.startsWith("~/")){let J=globalThis.process?.env?.HOME||globalThis.process?.env?.USERPROFILE||"";if(J){let G=_==="~"?"":_.slice(2);return IJ(m1(J),G)}}let Q=_.replace(/\\/g,"/");if(OB(Q))return m1(Q);return IJ(m1($),Q)}async function jB(){return import("node:fs")}async function DB($,U){let{writeFileSync:_}=await jB(),Q=U.map((J)=>JSON.stringify(J)).join(`
797
+ `);_($,`${Q}${Q?`
798
+ `:""}`,"utf8")}async function UG($,U){let{writeFileSync:_}=await jB();_($,`${U.join(`
799
+ `)}
800
+ `,"utf8")}async function EB($){let{readFileSync:U}=await jB(),_=U($,"utf8"),Q=[];for(let J of _.split(/\r?\n/g)){let G=J.trim();if(!G)continue;Q.push(JSON.parse(G))}return Q}function wz($){switch($){case 30:return"black";case 31:return"red";case 32:return"green";case 33:return"yellow";case 34:return"blue";case 35:return"magenta";case 36:return"cyan";case 37:return"white";case 90:return"blackBright";case 91:return"redBright";case 92:return"greenBright";case 93:return"yellowBright";case 94:return"blueBright";case 95:return"magentaBright";case 96:return"cyanBright";case 97:return"whiteBright";default:return}}function lp($){let U=$>=40&&$<=47?$-10:$>=100&&$<=107?$-10:null;if(U==null)return;return wz(U)}var zz={black:{r:0,g:0,b:0},red:{r:201,g:27,b:0},green:{r:0,g:194,b:0},yellow:{r:199,g:196,b:0},blue:{r:2,g:37,b:199},magenta:{r:201,g:48,b:199},cyan:{r:0,g:197,b:199},white:{r:199,g:199,b:199},blackBright:{r:104,g:104,b:104},redBright:{r:255,g:110,b:103},greenBright:{r:95,g:250,b:104},yellowBright:{r:255,g:252,b:103},blueBright:{r:104,g:113,b:255},magentaBright:{r:255,g:118,b:255},cyanBright:{r:95,g:253,b:255},whiteBright:{r:255,g:255,b:255}};function Rz($,U,_){let Q="white",J=Number.POSITIVE_INFINITY;for(let[G,Y]of Object.entries(zz)){let X=$-Y.r,V=U-Y.g,K=_-Y.b,Z=X*X+V*V+K*K;if(Z<J)J=Z,Q=G}return Q}function ip($){let U=Math.max(0,Math.min(255,Math.trunc($)));if(U<16){let V=["black","red","green","yellow","blue","magenta","cyan","white","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright"][U]??"white";return zz[V]}if(U>=232){let X=8+(U-232)*10;return{r:X,g:X,b:X}}let _=U-16,Q=Math.floor(_/36),J=Math.floor(_%36/6),G=_%6,Y=(X)=>X===0?0:55+X*40;return{r:Y(Q),g:Y(J),b:Y(G)}}function rp($,U){let _={...$};for(let Q=0;Q<U.length;Q++){let J=U[Q];if(J===0){_={};continue}if(J===1)_={..._,bold:!0};else if(J===2)_={..._,dim:!0};else if(J===3)_={..._,italic:!0};else if(J===4)_={..._,underline:!0};else if(J===7)_={..._,inverse:!0};else if(J===22)_={..._,bold:!1,dim:!1};else if(J===23)_={..._,italic:!1};else if(J===24)_={..._,underline:!1};else if(J===27)_={..._,inverse:!1};else if(J===39)_={..._,fg:void 0};else if(J===49)_={..._,bg:void 0};else if(J>=30&&J<=37||J>=90&&J<=97){let G=wz(J);_={..._,fg:G??_.fg}}else if(J>=40&&J<=47||J>=100&&J<=107){let G=lp(J);_={..._,bg:G??_.bg}}else if(J===38||J===48){let G=U[Q+1];if(G===5){let Y=U[Q+2];if(Y!=null){let{r:X,g:V,b:K}=ip(Y),Z=Rz(X,V,K);_=J===38?{..._,fg:Z}:{..._,bg:Z}}Q+=2}else if(G===2){let Y=U[Q+2],X=U[Q+3],V=U[Q+4];if(Y!=null&&X!=null&&V!=null){let K=Rz(Y,X,V);_=J===38?{..._,fg:K}:{..._,bg:K}}Q+=4}}}return _}function vJ($,U={}){let _=[],Q={...U},J=0;for(let G=0;G<$.length;G++){if($[G]!=="\x1B"||$[G+1]!=="[")continue;let Y=G+2;while(Y<$.length){let K=$.charCodeAt(Y);if(K>=48&&K<=57||K===59){Y++;continue}break}if(Y>=$.length||$[Y]!=="m")continue;if(G>J)_.push({text:$.slice(J,G),style:Q});let V=$.slice(G+2,Y).split(";").filter(Boolean).map((K)=>Number.parseInt(K,10)).filter((K)=>Number.isFinite(K));Q=rp(Q,V.length?V:[0]),J=Y+1,G=Y}if(J<$.length)_.push({text:$.slice(J),style:Q});return _}var np=[[4352,4447],[9001,9002],[11904,42191],[44032,55203],[63744,64255],[65040,65049],[65072,65135],[65280,65376],[65504,65510]];function pp($){for(let[U,_]of np)if($>=U&&$<=_)return!0;return!1}function op($){return $>=127744&&$<=129791||$>=127462&&$<=127487}var MB=null;try{MB=new RegExp("\\p{Extended_Pictographic}","u")}catch{MB=null}function k4($){if(!$)return 1;if(MB?.test($))return 2;let U=$.codePointAt(0);if(U==null)return 1;return pp(U)||op(U)?2:1}var kz=Object.freeze({});function _G($){if(!$)return kz;return Object.freeze({...$})}function F1($){return Object.freeze({ch:" ",width:1,style:_G($)})}function Tz($){return Object.freeze({ch:"",width:1,continuation:!0,style:_G($)})}function Sz($,U){let _=Math.max(0,Math.floor($)),Q=Math.max(0,Math.floor(U)),J=F1(),G=Array.from({length:Q},()=>Array.from({length:_},()=>J)),Y=Array.from({length:Q},()=>!0);return{cols:_,rows:Q,grid:G,dirtyRows:Y,cursorX:0,cursorY:0,cursorVisible:!0,cursorStyle:kz,scrollback:[],scrollbackLimit:1000}}function _0($,U,_){return Math.max(U,Math.min(_,$))}function CJ($,U){if(U>=0&&U<$.rows)$.dirtyRows[U]=!0}function ap($,U,_){let Q=F1();for(let J=U;J<_;J++)$[J]=Q}function Az($,U){if(!$[U]?.continuation)return;$[U]=F1()}function Iz($,U){let _=$[U];if(!_)return;if(_.continuation){if(U-1>=0)$[U-1]=F1();$[U]=F1();return}if(_.width===2){if($[U]=F1(),U+1<$.length)$[U+1]=F1()}}function JG($,U,_,Q,J){if(_<0||_>=$.rows)return;if(U<0||U>=$.cols)return;let G=$.grid[_];Iz(G,U);let Y=_G(J),X=k4(Q);if(X===2&&U+1>=$.cols){G[U]=F1(),CJ($,_);return}if(G[U]=Object.freeze({ch:Q,width:X,style:Y}),X===2&&U+1<$.cols)G[U+1]=Tz(Y);CJ($,_)}function vz($,U,_,Q,J,G=" ",Y){if(Q<=0||J<=0||$.cols===0||$.rows===0)return;let X=_0(Math.floor(U),0,$.cols),V=_0(Math.floor(_),0,$.rows),K=_0(Math.floor(U+Q),0,$.cols),Z=_0(Math.floor(_+J),0,$.rows);if(K<=X||Z<=V)return;let N=_G(Y),W=k4(G);for(let B=V;B<Z;B++){let q=$.grid[B];for(let O=X;O<K;O++)if(Iz(q,O),W===2&&O+1>=$.cols)q[O]=F1();else if(q[O]=Object.freeze({ch:G,width:W,style:N}),W===2&&O+1<$.cols)q[O+1]=Tz(N);CJ($,B)}}function Cz($,U,_,Q,J){if($.cols===0||$.rows===0)return;if(U==null||_==null||Q==null||J==null){let K=F1();for(let Z=0;Z<$.rows;Z++)$.grid[Z]=Array.from({length:$.cols},()=>K),$.dirtyRows[Z]=!0;$.cursorX=0,$.cursorY=0;return}if(Q<=0||J<=0)return;let G=_0(Math.floor(U),0,$.cols),Y=_0(Math.floor(_),0,$.rows),X=_0(Math.floor(U+Q),0,$.cols),V=_0(Math.floor(_+J),0,$.rows);if(X<=G||V<=Y)return;for(let K=Y;K<V;K++){let Z=$.grid[K];if(ap(Z,G,X),G-1>=0)Az(Z,G);if(X<$.cols)Az(Z,X);CJ($,K)}}function QG($,U){let _=Math.trunc(U);if(_===0||$.rows===0)return;let Q=()=>Array.from({length:$.cols},()=>F1());if(_>0)for(let J=0;J<_;J++){let G=$.grid.shift();if(G){if($.scrollback.push(G),$.scrollback.length>$.scrollbackLimit)$.scrollback.splice(0,$.scrollback.length-$.scrollbackLimit)}$.grid.push(Q())}else for(let J=0;J<-_;J++)$.grid.pop(),$.grid.unshift(Q());$.dirtyRows=Array.from({length:$.rows},()=>!0),$.cursorY=_0($.cursorY-_,0,Math.max(0,$.rows-1))}function yz($,U,_){let Q=Math.max(0,Math.floor(U)),J=Math.max(0,Math.floor(_));if(Q===$.cols&&J===$.rows)return;if(J<$.rows)$.grid=$.grid.slice(0,J);else if(J>$.rows)for(let G=$.rows;G<J;G++)$.grid.push(Array.from({length:$.cols},()=>F1()));if(Q!==$.cols)for(let G=0;G<$.grid.length;G++){let Y=$.grid[G];if(Q<$.cols)$.grid[G]=Y.slice(0,Q);else $.grid[G]=Y.concat(Array.from({length:Q-$.cols},()=>F1()));let X=$.grid[G];if(Q>0&&X[Q-1]?.continuation)X[Q-1]=F1()}$.cols=Q,$.rows=J,$.dirtyRows=Array.from({length:J},()=>!0),$.cursorX=_0($.cursorX,0,Math.max(0,Q)),$.cursorY=_0($.cursorY,0,Math.max(0,J-1))}function bz($){return $.grid.map((U)=>U.map((_)=>_.continuation?" ":_.ch||" ").join(""))}class PB{listeners=new Map;on($,U){let _=this.listeners.get($);if(!_)_=new Set,this.listeners.set($,_);return _.add(U),()=>{if(_.delete(U),_.size===0)this.listeners.delete($)}}emit($,U){let _=this.listeners.get($);if(!_)return;for(let Q of _)Q(U)}clear(){this.listeners.clear()}}function tp($){return $===`
801
+ `||$==="\r"||$==="\t"}var fB=null;try{fB=new Intl.Segmenter(void 0,{granularity:"grapheme"})}catch{}function ep($){if(fB)return[...fB.segment($)].map((U)=>U.segment);return[...$]}function LB($){let U=new PB,_=Sz($.cols,$.rows),Q=!1,J=0,G=!1;function Y(){if(Q)throw Error("Terminal is disposed")}function X(N,W,B=_.cursorVisible){_.cursorX=Math.max(0,Math.min(_.cols,Math.floor(N))),_.cursorY=Math.max(0,Math.min(_.rows?_.rows-1:0,Math.floor(W))),_.cursorVisible=B,CJ(_,_.cursorY)}function V(N,W,B,q){let O=W,M=B,P=ep(N);for(let H of P){if(tp(H)){if(H===`
802
+ `){if(O=0,M+=1,M>=_.rows)QG(_,1),M=_.rows-1}else if(H==="\r")O=0;else if(H==="\t"){let E=Math.min(_.cols,O+(4-O%4));for(;O<E;O++)JG(_,O,M," ",q)}continue}if(_.cols===0||_.rows===0)break;if(M<0||M>=_.rows)break;if(O>=_.cols)O=0,M+=1;if(M>=_.rows)QG(_,1),M=_.rows-1;JG(_,O,M,H,q);let z=_.grid[M][O];O+=z.width}return{x:O,y:M}}function K(){let N=[];for(let W=0;W<_.dirtyRows.length;W++)if(_.dirtyRows[W])N.push(W);return N}let Z={resize(N,W){Y();let{cols:B,rows:q}=_;if(yz(_,N,W),_.cols!==B||_.rows!==q)U.emit("resize",{cols:_.cols,rows:_.rows})},clear(N,W,B,q){Y(),Cz(_,N,W,B,q)},write(N,W){Y();let B=W?.x,q=W?.y,O=W?.style;if(B==null||q==null){let M=V(N,_.cursorX,_.cursorY,O??_.cursorStyle);_.cursorX=M.x,_.cursorY=M.y}else V(N,B,q,O)},writeAnsi(N,W){Y();let B=W?.x,q=W?.y,O=B!=null&&q!=null,M=O?B:_.cursorX,P=O?q:_.cursorY,H=O?{}:_.cursorStyle;for(let z of vJ(N,H)){let A=V(z.text,M,P,z.style);M=A.x,P=A.y,H=z.style}if(!O)_.cursorX=M,_.cursorY=P,_.cursorStyle=H},put(N,W,B,q){Y(),JG(_,N,W,B,q)},fill(N,W,B,q,O,M){Y(),vz(_,N,W,B,q,O??" ",M)},scroll(N){Y(),QG(_,N)},setCursor:X,batch(N){Y(),J++;try{return N()}finally{if(J--,J===0&&G)G=!1,Z.commit()}},commit(){if(Y(),J>0)return G=!0,K();let N=K();if(N.length===0)return N;for(let W of N)_.dirtyRows[W]=!1;return U.emit("commit",{dirtyRows:N}),N},on(N,W){return Y(),U.on(N,W)},dispose(){Q=!0,U.clear()},snapshot(){return Y(),{cols:_.cols,rows:_.rows,lines:bz(_)}},getCell(N,W){if(Y(),W<0||W>=_.rows||N<0||N>=_.cols)throw RangeError("Cell out of bounds");return _.grid[W][N]},getRow(N){if(Y(),N<0||N>=_.rows)throw RangeError("Row out of bounds");return _.grid[N]},setScrollbackLimit(N){if(Y(),_.scrollbackLimit=Math.max(0,Math.floor(N)),_.scrollback.length>_.scrollbackLimit)_.scrollback.splice(0,_.scrollback.length-_.scrollbackLimit)},getScrollbackLines(N){Y();let W=_.scrollback.map((B)=>B.map((q)=>q.continuation?" ":q.ch||" ").join(""));if(N==null)return W;return W.slice(Math.max(0,W.length-Math.max(0,Math.floor(N))))}};return Z}import{defineComponent as Do,h as wB,provide as xJ,ref as zB,shallowReactive as AB,shallowRef as KG}from"vue";import{createRenderer as sp}from"vue";function $o($){let U={type:$,parent:null,children:[],props:{},style:{}};return U.setAttribute=(_,Q)=>{U.props[_]=Q},U.removeAttribute=(_)=>{delete U.props[_]},U}function Uo($,U,_){$.parent=U;let Q=U.children;if(!_){Q.push($);return}let J=Q.indexOf(_);if(J<0){Q.push($);return}Q.splice(J,0,$)}function _o($){let U=$.parent;if(!U)return;let _=U.children,Q=_.indexOf($);if(Q>=0)_.splice(Q,1);$.parent=null}function Jo($){return $.parent}function Qo($){let U=$.parent;if(!U)return null;let _=U.children.indexOf($);if(_<0)return null;return U.children[_+1]??null}function Go($,U){$.textContent=U,$.children=[]}function Yo($){return{type:"text",parent:null,text:$}}function Xo($,U){$.text=U}function Vo($){return{type:"comment",parent:null,text:$}}function Ko($,U,_,Q){if(U==="style"&&Q&&typeof Q==="object"){Object.assign($.style,Q);return}if(U==="class"){$.className=typeof Q==="string"?Q:"";return}$.props[U]=Q}var Zo={patchProp:Ko,insert:Uo,remove:_o,createElement:$o,createText:Yo,createComment:Vo,setText:Xo,setElementText:Go,parentNode:Jo,nextSibling:Qo},Wo=sp(Zo);function xz(...$){return Wo.createApp(...$)}function gz(){return{children:[]}}function No($,U,_){return U>=$.x&&_>=$.y&&U<$.x+$.w&&_<$.y+$.h}function Fo($,U){return U.x>=$.x&&U.y>=$.y&&U.x+U.w<=$.x+$.w&&U.y+U.h<=$.y+$.h}function yJ($){return Math.max(0,$.w)*Math.max(0,$.h)}function GG($){return $.visible!==!1}function qo(){return typeof performance<"u"?performance.now():Date.now()}var Bo=0;function RB($){let U=new Map,_=null,Q=null,J=$?.record,G=$?.onFocusChange;function Y(E,D){let f=[];for(let j of U.values()){if(!GG(j))continue;if(No(j.rect,E,D))f.push(j)}return f.sort((j,T)=>yJ(T.rect)-yJ(j.rect)||j.zIndex-T.zIndex)}function X(E){if(E.length===0)return null;let D=E[0];for(let f of E)if(f.zIndex>D.zIndex)D=f;else if(f.zIndex===D.zIndex&&yJ(f.rect)<yJ(D.rect))D=f;return D}function V(E,D){if(!D)return[];return[...E.filter((j)=>j.id!==D.id),D]}function K(E){let D=[];for(let j of U.values()){if(!GG(j))continue;if(Fo(j.rect,E.rect))D.push(j)}let f=D.sort((j,T)=>yJ(T.rect)-yJ(j.rect)||j.zIndex-T.zIndex);return V(f,E)}function Z(E,D){return{type:E,target:null,currentTarget:null,eventPhase:2,bubbles:!0,cancelable:!0,defaultPrevented:!1,timeStamp:qo(),__stopped:!1,stopPropagation(){this.__stopped=!0},preventDefault(){this.defaultPrevented=!0},composedPath(){return[...D].reverse()}}}function N(E,D,f){if(f.currentTarget=D,!D)return;let j=D.handlers[E];if(j)try{j(f)}catch(T){try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let k=T$("fs"),R=new Date().toISOString().split("T")[1].slice(0,-1);k.appendFileSync("/tmp/goatchain-debug.log",`[${R}] [EVENT-MGR] ERROR in handler ${D.id}.${E}: ${T}
803
+ `)}}catch{}}}function W(E,D,f,j){j.target=f;let T=`${E}Capture`;j.eventPhase=1;for(let L of D)if(N(T,L,j),j.__stopped)return;if(f){if(j.eventPhase=2,N(E,f,j),j.__stopped)return}j.eventPhase=3;for(let L=D.length-2;L>=0;L--)if(N(E,D[L],j),j.__stopped)return}function B(E){if(_===E)return;let D=_?U.get(_)??null:null,f=E?U.get(E)??null:null,j=f&&GG(f)?f:null;if(_=j?.id??null,G?.(D?.id??null,_),D){let T=K(D),L=Z("blur",T);W("blur",T,D,L)}if(j){let T=K(j),L=Z("focus",T);W("focus",T,j,L)}}function q(E,D,f){let j=Z(E,D);return Object.assign(j,{clientX:f.clientX??f.cellX,clientY:f.clientY??f.cellY,cellX:f.cellX,cellY:f.cellY,button:f.type==="wheel"?void 0:f.button,buttons:f.type==="wheel"?void 0:f.buttons,ctrlKey:f.ctrlKey,shiftKey:f.shiftKey,altKey:f.altKey,metaKey:f.metaKey,deltaY:f.type==="wheel"?f.deltaY:void 0})}function O(E){let D=[];if(E.metaKey)D.push("Meta");if(E.ctrlKey)D.push("Ctrl");if(E.altKey)D.push("Alt");if(E.shiftKey)D.push("Shift");return D.push(E.key),D.join("+")}function M(E,D,f){let j=Z(E,D);return Object.assign(j,{key:f.key,code:f.code??"",combo:O(f),ctrlKey:f.ctrlKey,shiftKey:f.shiftKey,altKey:f.altKey,metaKey:f.metaKey,repeat:f.repeat})}function P(E,D,f){let j=Z(E,D);return Object.assign(j,{data:f.data,inputType:f.inputType,isComposing:f.isComposing,text:f.text})}function H(E,D,f){let j=Y(D.cellX,D.cellY),T=f??X(j),L=T?V(j,T):[],k=q(E,L,D);W(E,L,T,k)}function z(E,D){let f=_?U.get(_)??null:null,j=f?K(f):[],T=M(E,j,D);return W(E,j,f,T),T.defaultPrevented}function A(E,D){let f=_?U.get(_)??null:null,j=f?K(f):[],T=P(E,j,D);return W(E,j,f,T),T.defaultPrevented}return{register(E){let D=E.id??`n${Bo++}`,f=E.focusable,j={id:D,rect:E.rect,zIndex:E.zIndex??0,visible:E.visible??!0,focusable:f,selectable:E.selectable??!f,handlers:E.handlers??{}};return U.set(D,j),j},update(E,D){let f=U.get(E);if(!f)return;let j=D.visible??f.visible;if(j===!1){if(_===E)B(null);if(Q===E)Q=null}U.set(E,{...f,...D,rect:D.rect??f.rect,zIndex:D.zIndex??f.zIndex,visible:j,handlers:D.handlers??f.handlers})},unregister(E){if(Q===E)Q=null;if(U.delete(E),_===E)B(null)},setMetrics(E){},focus(E){B(E)},getFocused(){return _},dispatch(E){if(J?.(E),E.type==="keydown"||E.type==="keyup")return z(E.type,E);if(E.type==="pointerdown"||E.type==="pointermove"||E.type==="pointerup"||E.type==="click"||E.type==="dblclick"||E.type==="contextmenu"||E.type==="wheel"){if(E.type==="pointerdown"){let D=Y(E.cellX,E.cellY),f=X(D);if(f?.focusable)B(f.id);return Q=f?.id??null,H("pointerdown",E,f),!1}if(E.type==="pointermove"&&Q){let D=U.get(Q)??null;if(!D)return!1;let f=K(D),j=q("pointermove",f,E);return W("pointermove",f,D,j),j.defaultPrevented}if(E.type==="pointerup"&&Q){let D=U.get(Q)??null,f=D?K(D):[],j=q("pointerup",f,E);return W("pointerup",f,D,j),Q=null,j.defaultPrevented}if(E.type==="pointerup")return H("pointerup",E),Q=null,!1;return H(E.type,E),!1}if(E.type==="beforeinput"||E.type==="input"||E.type==="compositionstart"||E.type==="compositionupdate"||E.type==="compositionend"||E.type==="paste")return A(E.type,E);return!1},debugNodes(){return Array.from(U.values()).map((E)=>({id:E.id,rect:E.rect,zIndex:E.zIndex,visible:GG(E),focusable:Boolean(E.focusable)}))},dispose(){U.clear(),_=null,Q=null}}}import{ref as Ho,shallowReactive as Oo}from"vue";function hz($){let U=Ho(Boolean($?.enabled)),_=Oo([]),Q=Math.max(10,Math.floor($?.max??400));function J(X){if(!U.value)return;if(_.push(X),_.length>Q)_.splice(0,_.length-Q)}function G(){_.splice(0,_.length)}function Y(){return _.slice()}return{enabled:U,records:_,push:J,clear:G,snapshot:Y}}var YG=Symbol("TerminalContext"),s2=Symbol("LayoutContext"),F5=Symbol("VisibilityContext"),I1=Symbol("EventZIndex"),XG=Symbol("ImeAnchor");var $U=Symbol("RenderStack");var q5=!1;function VG($=!1){if(q5=$,q5)try{T$("fs").writeFileSync("/tmp/goatchain-debug.log",`=== GoatChain Debug Log Started at ${new Date().toISOString()} ===
804
+
805
+ `)}catch(U){}return{render:(U)=>uz("[RENDER]",U),stream:(U)=>uz("[STREAM]",U),error:(U,..._)=>{if(!q5)return;let J=`[${new Date().toISOString().split("T")[1].slice(0,-1)}] [ERROR] ${U}`+(_.length?` ${JSON.stringify(_)}`:"");mz(J+`
806
+ `)}}}function uz($,U){if(!q5)return;let _=new Date().toISOString().split("T")[1].slice(0,-1);mz(`[${_}] ${$} ${U}
807
+ `)}function mz($){if(!q5)return;try{T$("fs").appendFileSync("/tmp/goatchain-debug.log",$)}catch{}}function z6(){if(typeof process>"u")return!1;let $=process.env;return $?.GOATCHAIN_DEBUG==="1"||$?.DEBUG==="1"}var bJ=VG(z6()),cz=0,jo=0;function dz($){let U=0,_=new Map,Q=new Set,J=!0,G=$.snapshot(),Y=G.cols,X=G.rows,V=Array.from({length:X},(D,f)=>f),K=[],Z=!0;$.on("resize",({cols:D,rows:f})=>{Y=D,X=f,J=!0,V=Array.from({length:X},(j,T)=>T)});let N=Object.freeze({id:`s${cz++}`,parent:null,zIndex:0,order:0});function W(D,f){return Object.freeze({id:`s${cz++}`,parent:D,zIndex:Number.isFinite(f)?f:0,order:++U})}function B(D){if(!D){for(let T=0;T<X;T++)Q.add(T);return}let f=Math.floor(D.y),j=f+Math.max(0,Math.floor(D.h));for(let T=f;T<j;T++)Q.add(T)}function q(D){let f=`r${jo++}`,j=Object.freeze({id:f,stack:D.stack,zIndex:D.zIndex??0,order:++U,rect:D.rect??null,paint:D.paint});return _.set(f,j),B(j.rect),Z=!0,j}function O(D,f){let j=_.get(D);if(!j)return;if(f.stack&&f.stack!==j.stack||typeof f.zIndex==="number"&&f.zIndex!==j.zIndex)Z=!0;let T=f.rect??j.rect;B(j.rect),B(T);let L=Object.freeze({...j,stack:f.stack??j.stack,zIndex:f.zIndex??j.zIndex,rect:T,paint:f.paint??j.paint});_.set(D,L)}function M(D){let f=_.get(D);if(f)B(f.rect);_.delete(D),Z=!0}function P(D){let f=[],j=D;while(j)f.push({zIndex:j.zIndex,order:j.order,id:j.id}),j=j.parent;return f.reverse(),f}function H(D){return[...P(D.stack),{zIndex:D.zIndex,order:D.order,id:D.id}]}function z(D,f){if(D.id===f.id)return 0;let j=H(D),T=H(f),L=Math.min(j.length,T.length);for(let k=0;k<L;k++){let R=j[k],S=T[k];if(R.id===S.id)continue;if(R.zIndex!==S.zIndex)return R.zIndex-S.zIndex;return R.order-S.order}return j.length-T.length}function A(D,f){if(!D)return!0;let j=Math.floor(D.y),T=j+Math.max(0,Math.floor(D.h));if(T<=j)return!1;let L=0,k=f.length;while(L<k){let S=L+k>>1;if((f[S]??0)<j)L=S+1;else k=S}let R=f[L];return R!=null&&R<T}function E(){let D=globalThis.process?.env;if(D?.GOATCHAIN_DEBUG==="1")bJ.render("[RENDER-MANAGER] render() called");if(!J&&Q.size===0){if(D?.GOATCHAIN_DEBUG==="1")bJ.render("[RENDER-MANAGER] render() skipped (no dirty rows)");return}if(D?.GOATCHAIN_DEBUG==="1")bJ.render(`[RENDER-MANAGER] fullDirty=${J}, dirtyRows.size=${Q.size}`);if(Z)K=Array.from(_.values()).sort(z).map((L)=>L.id),Z=!1;let f=K.map((L)=>_.get(L)).filter(Boolean),j=J,T=j?V:Array.from(Q).filter((L)=>L>=0&&L<X).sort((L,k)=>L-k);if(J=!1,Q.clear(),T.length===0){if(D?.GOATCHAIN_DEBUG==="1")bJ.render("[RENDER-MANAGER] render() skipped (no rows to paint)");return}if(D?.GOATCHAIN_DEBUG==="1")bJ.render(`[RENDER-MANAGER] calling terminal.batch() with ${f.length} nodes, ${T.length} rows`);if($.batch(()=>{for(let L of T)$.clear(0,L,Y,1);for(let L of f){if(!j&&!A(L.rect,T))continue;L.paint(j?void 0:T)}}),D?.GOATCHAIN_DEBUG==="1")bJ.render("[RENDER-MANAGER] terminal.batch() completed")}return{rootStack:N,createStack:W,register:q,update:O,unregister:M,render:E}}var Eo=0;function lz($){if(!$||typeof $!=="object")return!1;let U=Object.getPrototypeOf($);return U===Object.prototype||U===null}function Mo($,U){if($===U)return!0;if(!lz($)||!lz(U))return!1;let _=Object.keys($),Q=Object.keys(U);if(_.length!==Q.length)return!1;for(let J of _){if(!(J in U))return!1;if($[J]!==U[J])return!1}return!0}function iz($,U){if($===U)return!0;let _=Object.keys($),Q=Object.keys(U);if(_.length!==Q.length)return!1;for(let J of _){if(!(J in U))return!1;if(!Mo($[J],U[J]))return!1}return!0}function kB($){let U=LB({cols:$.cols,rows:$.rows}),_=hz({enabled:Boolean(globalThis.__VT_DEBUG_TRACE__)}),Q=RB({record:(E)=>_.push({type:"event",at:Date.now(),event:E}),onFocusChange:(E,D)=>_.push({type:"focus",at:Date.now(),prev:E,next:D})}),J=dz(U),G=U.on("commit",({dirtyRows:E})=>{_.push({type:"commit",at:Date.now(),dirtyRows:E,focusedId:Q.getFocused()})}),Y=!1,X=!1,V=!1,K=!1;function Z(){if(K)return;Y=!1,X=!0,J.render(),U.commit(),X=!1}function N(){if(K)return;if(Y||X)return;if(Y=!0,typeof process<"u"&&typeof process.nextTick==="function")process.nextTick(()=>{Z()});else if(typeof globalThis.setImmediate==="function")globalThis.setImmediate(()=>{Z()});else setTimeout(()=>{Z()},0)}let W=AB([]),B={mount(E,D){let f=`p${Eo++}`,j={...D},T=AB({id:f,component:E,props:j});W.push(T);let L=!0,k={update(R){if(!L)return;let S={...j,...R};if(iz(j,S))return;j=S,T.props=j,N()},move(R,S){if(!L)return;let I={...j,x:R,y:S};if(iz(j,I))return;j=I,T.props=j,N()},unmount(){if(!L)return;L=!1;let R=W.findIndex((S)=>S.id===f);if(R>=0)W.splice(R,1);N()}};return N(),k}},q=AB({originX:0,originY:0,clipRect:{x:0,y:0,w:$.cols,h:$.rows}}),O=U.on("resize",({cols:E,rows:D})=>{q.clipRect={x:0,y:0,w:E,h:D},N()}),M={terminal:U,renderer:KG(null),events:KG(Q),scheduler:{invalidate:N,flush:Z},runtime:B,observability:{trace:_},defaultStyle:zB($.defaultStyle??{}),render:J},P=KG(null),H=Do({name:"TerminalAppRoot",setup(){return xJ(YG,M),xJ(s2,q),xJ(F5,zB(!0)),xJ(I1,zB(0)),xJ($U,KG(J.rootStack)),xJ(XG,P),()=>{let E=W.map((D)=>wB(D.component,{key:D.id,...D.props}));return wB("div",null,[wB($.component,$.props??{}),...E])}}}),z=xz(H),A=gz();return{app:z,terminal:U,events:Q,scheduler:M.scheduler,getImeAnchor(){return P.value},mount(){if(K||V)return;V=!0,z.mount(A)},dispose(){if(K)return;if(K=!0,V)z.unmount();O?.(),G?.(),Q.dispose(),U.dispose()}}}var Po=Object.freeze({black:"#000000",red:"#c91b00",green:"#00c200",yellow:"#c7c400",blue:"#0225c7",magenta:"#c930c7",cyan:"#00c5c7",white:"#c7c7c7",blackBright:"#686868",redBright:"#ff6e67",greenBright:"#5ffa68",yellowBright:"#fffc67",blueBright:"#6871ff",magentaBright:"#ff76ff",cyanBright:"#5ffdff",whiteBright:"#ffffff"});function ZG($){let U=$.startsWith("#")?$.slice(1):$;if(U.length!==6)return;let _=Number.parseInt(U.slice(0,2),16),Q=Number.parseInt(U.slice(2,4),16),J=Number.parseInt(U.slice(4,6),16);if(!Number.isFinite(_)||!Number.isFinite(Q)||!Number.isFinite(J))return;return{r:_,g:Q,b:J}}var fo=Object.freeze(Object.fromEntries(Object.entries(Po).map(([$,U])=>[$,ZG(U)])));function TB($){if(!$)return;return fo[$]}var SB=null;function A6(){if(!SB)SB=VG(z6());return SB}var IB=null;try{let $=globalThis.require?.("node:fs")??globalThis.require?.("fs");if($?.writeSync)IB=(U,_)=>{let Q=Buffer.from(_,"utf8");$.writeSync(U,Q)}}catch{}var Lo="\x1B[?2026h",rz="\x1B[?2026l",gJ=8192;function WG($,U){let _=globalThis.process,Q=U?.output??_?.stdout;if(!Q)throw Error("createStdoutRenderer requires a Node stdout-like output");let J=Q,G=U?.clear??!0,Y=U?.hideCursor??!0,X=U?.altScreen??Boolean(J.isTTY),V=U?.defaultBg??"black",K=U?.trackResize??!0,Z=U?.getImeAnchor;function N(){if(U?.useSyncOutput!=null)return U.useSyncOutput;let m=_?.env??{},a=m.GOATCHAIN_SYNC_OUTPUT;if(a!=null){let D$=String(a).trim().toLowerCase();return D$==="1"||D$==="true"||D$==="yes"}let d=String(m.TERM??"").toLowerCase(),i=String(m.TERM_PROGRAM??"").toLowerCase(),n=m.TERM_PROGRAM_VERSION;if("GHOSTTY_RESOURCES_DIR"in m||i.includes("apple_terminal")||d.includes("screen")&&!d.includes("tmux"))return!1;if(i.includes("iterm")&&n&&W(String(n),"3.5.0")>=0)return!0;return!1}function W(m,a){let d=m.split(".").map(Number),i=a.split(".").map(Number),n=Math.max(d.length,i.length);for(let h=0;h<n;h++){let _$=d[h]??0,H$=i[h]??0;if(_$!==H$)return _$-H$}return 0}let B=N(),q="GHOSTTY_RESOURCES_DIR"in(_?.env??{}),O=q&&_?.env?.GOATCHAIN_DISABLE_CURSOR_POS==="1",M=!1,P=0,H=!1,z=null,A=null,E=!J.isTTY?0:q?24:16;function D(m){let a=String(m??"").trim().toLowerCase();if(!a)return null;if(a==="truecolor"||a==="24bit"||a==="rgb")return"truecolor";if(a==="ansi256"||a==="256"||a==="xterm256"||a==="xterm-256color")return"ansi256";if(a==="ansi16"||a==="16")return"ansi16";return null}function f(){let m=U?.colorMode??"auto";if(m!=="auto")return m;let a=_?.env??{},d=D(a.GOATCHAIN_COLOR_MODE??a.VUE_TUI_COLOR_MODE);if(d)return d;if(!J.isTTY)return"truecolor";let i=String(a.COLORTERM??"").toLowerCase();if(i.includes("truecolor")||i.includes("24bit"))return"truecolor";if(String(a.TERM_PROGRAM??"").toLowerCase().includes("vscode"))return"truecolor";return"truecolor"}let j=f();function T(m){return[m.fg??"",m.bg??V,m.bold?"1":"0",m.dim?"1":"0",m.italic?"1":"0",m.underline?"1":"0",m.inverse?"1":"0"].join("|")}function L(m){if(!m)return"";if(j==="ansi16")return w6[m]?.open??"";let a=U?.palette?.[m]?ZG(U.palette[m]):TB(m);if(!a)return"";if(j==="ansi256")return w6.color?.ansi256?.(S(a))??"";return w6.color?.ansi16m?.(a.r,a.g,a.b)??""}function k(m){if(!m)return"";if(j==="ansi16"){let d=`bg${m[0].toUpperCase()}${m.slice(1)}`;return w6[d]?.open??""}let a=U?.palette?.[m]?ZG(U.palette[m]):TB(m);if(!a)return"";if(j==="ansi256")return w6.bgColor?.ansi256?.(S(a))??"";return w6.bgColor?.ansi16m?.(a.r,a.g,a.b)??""}function R(m){let a="";if(a+=L(m.fg),a+=k(m.bg??V),m.bold)a+=w6.bold.open;if(m.dim)a+=w6.dim.open;if(m.italic)a+=w6.italic.open;if(m.underline)a+=w6.underline.open;if(m.inverse)a+=w6.inverse.open;return a}function S(m){let a=I(m.r),d=I(m.g),i=I(m.b);if(a===d&&d===i){if(a<8)return 16;if(a>248)return 231;return 232+Math.round((a-8)/10)}let n=(c4)=>Math.round(c4/51),h=n(a),_$=n(d),H$=n(i),D$=16+36*h+6*_$+H$,j$=h*51,r$=_$*51,Z4=H$*51,y4=(a-j$)**2+(d-r$)**2+(i-Z4)**2,P4=Math.round((a+d+i)/3),m4=P4<8?16:P4>248?231:232+Math.round((P4-8)/10),V4=m4===16?0:m4===231?255:8+10*(m4-232);return(a-V4)**2+(d-V4)**2+(i-V4)**2<y4?m4:D$}function I(m){if(!Number.isFinite(m))return 0;return Math.max(0,Math.min(255,Math.round(m)))}let w=0;function C(m){if(!q){if(m.length<=gJ){J.write(m);return}for(let a=0;a<m.length;a+=gJ){let d=m.slice(a,a+gJ);J.write(d)}return}if(z6())A6().render(`writeChunked: sync chunked write of ${m.length} bytes`);try{if(m.length<=gJ)J.write(m);else for(let a=0;a<m.length;a+=gJ){let d=m.slice(a,a+gJ);J.write(d)}if(z6())A6().render("writeChunked: chunked write completed")}catch(a){if(z6())A6().error("writeChunked: write error",a)}}function b(m){if(z6())A6().render(`doRender() START: dirtyRows=${m?.length??"null"}`);if(M)return;H=!1,A=null,P=Date.now();let a=performance.now(),d=$.snapshot(),i=k(V),n=(()=>{if(!m||m.length===0)return null;let j$=m.map((r$)=>Math.floor(r$)).filter((r$)=>r$>=0&&r$<d.rows).sort((r$,Z4)=>r$-Z4);return j$.length?j$:null})(),h=(!q&&B?Lo:"")+"\x1B[?7l",_$=null,H$=(j$)=>{if(!O)h+=`\x1B[${j$+1};1H`;let r$=$.getRow(j$),Z4="",y4=null,P4=null;for(let V4 of r$){if(V4.continuation)continue;let Q6=V4.ch||" ",c4=T(V4.style);if(y4==null){y4=c4,P4=V4.style,Z4=Q6;continue}if(c4===y4){Z4+=Q6;continue}if(_$!==y4)h+=w6.reset.open,h+=R(P4),_$=y4;h+=Z4,y4=c4,P4=V4.style,Z4=Q6}if(y4!=null){if(_$!==y4)h+=w6.reset.open,h+=R(P4),_$=y4;h+=Z4}let m4=T({bg:V});if(_$!==m4)h+=w6.reset.open,h+=i,_$=m4;h+="\x1B[K"};if(!n){if(z6())A6().render(` Full render: ${d.rows} rows`);for(let j$=0;j$<d.rows;j$++)H$(j$)}else{if(z6())A6().render(` Partial render: ${n.length} dirty rows: [${n.join(", ")}]`);for(let j$ of n)H$(j$)}if(!n&&w>d.rows){let j$=w-d.rows,r$=T({bg:V});if(_$!==r$)h+=w6.reset.open,h+=i,_$=r$;for(let Z4=0;Z4<j$;Z4++)h+=`\x1B[${d.rows+Z4+1};1H\x1B[K`}if(!n)w=d.rows;if(Z){let j$=Z();if(j$)h+=`\x1B[${Math.floor(j$.cellY)+1};${Math.floor(j$.cellX)+1}H`}if(h+=w6.reset.open,h+="\x1B[?7h"+(!q&&B?rz:""),z6()){let j$=h.length,r$=(h.match(/\u001B\[\d+;\d+H/g)||[]).length,Z4=(h.match(/\u001B\[0m/g)||[]).length,y4=(performance.now()-a).toFixed(2);A6().render(` Frame built: ${j$} bytes, ${r$} cursor sequences, ${Z4} resets, ${y4}ms`),A6().render(` Terminal: ${q?"GHOSTTY":"other"}, useSyncOutput: ${B}`)}let D$=performance.now();if(z6())A6().render("Before write()");try{if(q){if(z6())A6().render(" Using chunked write for ghostty");C(h)}else if(IB&&J.fd===1){if(z6())A6().render(" Using writeSync");try{IB(1,h)}catch{if(z6())A6().render(" writeSync failed, falling back to stream write");J.write(h)}}else{if(z6())A6().render(" Using stream write");J.write(h)}if(z6()){let j$=(performance.now()-D$).toFixed(2);A6().render(` Write completed in ${j$}ms`)}}catch(j$){if(z6())A6().error("Write ERROR:",j$);if(!q&&B)try{J.write("\x1B[?7h"+rz)}catch{}throw j$}if(z6()){let j$=(performance.now()-a).toFixed(2);A6().render(` Total render time: ${j$}ms`),A6().render("doRender() END")}}function y(m){if(M)return;if(A6().render(`render() called: dirtyRows=${m?.length??"null"}, pending=${H}, elapsed=${Date.now()-P}ms`),m&&m.length>0)if(!A)A=new Set(m);else for(let i of m)A.add(i);else if(!A)A=null;if(H)return;let d=Date.now()-P;if(d>=E){let i=A?Array.from(A):m;b(i)}else{if(H=!0,z)clearTimeout(z);z=setTimeout(()=>{if(z=null,!M){let i=A?Array.from(A):null;b(i)}},E-d)}}if(X&&J.isTTY)J.write("\x1B[?1049h");if(Y)J.write("\x1B[?25l");if(G)J.write(`${w6.reset.open}${k(V)}\x1B[2J\x1B[H${w6.reset.open}`);let x=$.on("commit",({dirtyRows:m})=>{A6().render(`Commit event: dirtyRows=${m?.length??"null"}, rows=${m?.join(",")??"all"}`),y(m)}),l=U?.output??_?.stdout,t=Boolean(K&&J.isTTY&&typeof l?.on==="function"),V$=()=>{let m=Number(l?.columns),a=Number(l?.rows);if(!Number.isFinite(m)||!Number.isFinite(a))return;let d=$.snapshot();if(m===d.cols&&a===d.rows)return;$.resize(m,a),y()};if(t)try{l.on("resize",V$),V$()}catch{}y();function u$(m,a){if(M)return;J.write(`\x1B[${Math.floor(a)+1};${Math.floor(m)+1}H`)}function O$(m){if(M)return;J.write(m?"\x1B[?25h":"\x1B[?25l")}function q$(){if(M)return;if(M=!0,z)clearTimeout(z),z=null;if(A=null,x(),t&&typeof l?.off==="function")try{l.off("resize",V$)}catch{}else if(t&&typeof l?.removeListener==="function")try{l.removeListener("resize",V$)}catch{}if(Y)J.write("\x1B[?25h");if(X&&J.isTTY)J.write("\x1B[?1049l")}return{render:y,dispose:q$,setCursor:u$,showCursor:O$}}import{inject as Ro}from"vue";function U6(){let $=Ro(s2,null);if(!$)throw Error("LayoutContext is missing (TerminalProvider/TView)");return $}import{inject as wo}from"vue";function hJ(){let $=wo($U,null);if(!$)throw Error("RenderStack is missing");return $}import{computed as Ao,onBeforeUnmount as ko,ref as To,watchEffect as So}from"vue";import{inject as zo}from"vue";function M4(){let $=zo(YG,null);if(!$)throw Error("TerminalProvider is missing");return $}function v1($){let{events:U}=M4(),_=To(null),Q=Ao(()=>$()),J=So(()=>{let G=U.value;if(!G)return;let Y=Q.value;if(!_.value){let X=G.register({rect:Y.rect,zIndex:Y.zIndex??0,visible:Y.visible,focusable:Y.focusable,selectable:Y.selectable,handlers:Y.handlers??{}});_.value=X.id;return}G.update(_.value,{rect:Y.rect,zIndex:Y.zIndex??0,visible:Y.visible,focusable:Y.focusable,selectable:Y.selectable,handlers:Y.handlers??{}})});return ko(()=>{J();let G=U.value;if(G&&_.value)G.unregister(_.value)}),{id:_}}import{computed as Io,inject as vo,provide as Co,ref as nz,vShow as yo}from"vue";var NG="__vueTerminalOnShow",pz=!1;function bo(){if(pz)return;pz=!0;let $=yo,U=$.beforeMount,_=$.updated,Q=$.beforeUnmount,J=(G,Y)=>{if(!G||typeof G!=="object")return;let X=G[NG];X?.(Boolean(Y))};if(typeof U==="function")$.beforeMount=(G,Y,X)=>{U(G,Y,X),J(G,Y?.value)};if(typeof _==="function")$.updated=(G,Y,X)=>{_(G,Y,X),J(G,Y?.value)};if(typeof Q==="function")$.beforeUnmount=(G,Y,X)=>{Q(G,Y,X),J(G,Y?.value)}}var xo=Object.freeze({position:"absolute",left:"-9999px",top:"0",width:"0",height:"0",overflow:"hidden"});function e6($){bo();let{scheduler:U}=M4(),_=vo(F5,nz(!0)),Q=nz(!0),J=Io(()=>_.value&&Q.value);if($?.provide)Co(F5,J);let G=(X)=>{Q.value=X,U.invalidate()};return{visible:J,rootProps:{style:xo,onVnodeBeforeMount:(X)=>{let V=X.el;if(V&&typeof V==="object")V[NG]=G},onVnodeBeforeUnmount:(X)=>{let V=X.el;if(V&&typeof V==="object"&&V[NG]===G)delete V[NG]}}}}function q1($,U){let _=Math.max($.x,U.x),Q=Math.max($.y,U.y),J=Math.min($.x+$.w,U.x+U.w),G=Math.min($.y+$.h,U.y+U.h);if(J<=_||G<=Q)return null;return{x:_,y:Q,w:J-_,h:G-Q}}function s6($,U,_){return{x:$.x+U,y:$.y+_,w:$.w,h:$.h}}import{computed as oz,defineComponent as co,h as lo,provide as az,shallowReactive as io,watchEffect as ro}from"vue";import{computed as go,onBeforeUnmount as ho,ref as uo,watchEffect as mo}from"vue";function B1($){let{scheduler:U,render:_}=M4(),Q=hJ(),J=uo(null),G=go(()=>$()),Y=mo(()=>{let X=G.value;X.deps;let V=X.stack??Q.value;if(!V)return;if(!J.value){let K=_.register({stack:V,zIndex:X.zIndex,rect:X.rect,paint:X.paint});J.value=K.id,U.invalidate();return}_.update(J.value,{stack:V,zIndex:X.zIndex??0,rect:X.rect??null,paint:X.paint}),U.invalidate()});return ho(()=>{if(Y(),J.value)_.unregister(J.value),U.invalidate()}),{id:J}}var vB=null;try{vB=typeof Intl<"u"&&"Segmenter"in Intl?new Intl.Segmenter(void 0,{granularity:"grapheme"}):null}catch{vB=null}function CB($,U){if(!$)return;let _=vB;if(!_){for(let Q of $)if(U(Q)===!1)return;return}for(let Q of _.segment($))if(U(Q.segment)===!1)return}function x6($){return $.replace(/[\n\r\t]/g," ")}function UU($){$=$.replace(/\r/g,"").replace(/\t/g," ");let U="";for(let _ of $){let Q=_.codePointAt(0);if(Q<=31&&Q!==10||Q===127)continue;U+=_}return U}function k$($){let U=0;return CB($,(_)=>{U+=k4(_)}),U}function t4($,U){if(U=Math.max(0,Math.floor(U)),U<=0)return"";let _="",Q=0;return CB($,(J)=>{let G=k4(J);if(Q+G>U)return!1;_+=J,Q+=G;return}),_}function $1($,U){U=Math.max(0,Math.floor(U));let _=k$($);if(_>=U)return $;return`${$}${" ".repeat(U-_)}`}function c1($,U){U=Math.max(1,Math.floor(U));let _=[];for(let Q of $.replace(/\r/g,"").split(`
808
+ `)){let J="",G=0;if(CB(Q,(Y)=>{let X=k4(Y);if(G>0&&G+X>U)_.push(J),J="",G=0;if(J+=Y,G+=X,G>=U)_.push(J),J="",G=0}),J||Q.length===0)_.push(J)}return _.length?_:[""]}var _U={tl:"┌",tr:"┐",bl:"└",br:"┘",h:"─",v:"│"},no=-1,po=1e6,H1=co({name:"TBox",props:{x:{type:Number,required:!0},y:{type:Number,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},zIndex:{type:Number,default:0},border:{type:Boolean,default:!0},title:{type:String,default:""},padding:{type:Number,default:0},scrollX:{type:Number,default:0},scrollY:{type:Number,default:0},style:{type:Object,default:void 0},clear:{type:Boolean,default:!0}},setup($,{slots:U}){let{terminal:_,defaultStyle:Q,render:J}=M4(),G=U6(),Y=hJ(),{visible:X,rootProps:V}=e6({provide:!0}),K=oz(()=>{let q={x:$.x,y:$.y,w:$.w,h:$.h},O=s6(q,G.originX,G.originY);if(!G.clipRect)return O;return q1(O,G.clipRect)??{x:0,y:0,w:0,h:0}}),Z=oz(()=>J.createStack(Y.value,$.zIndex)),N=io({originX:0,originY:0,clipRect:null});function W(q,O,M){if(!$.border||q.w<2||q.h<2)return;let P=q.x,H=q.x+q.w-1,z=q.y,A=q.y+q.h-1,E=()=>{_.put(P,z,_U.tl,O),_.put(H,z,_U.tr,O);for(let j=P+1;j<H;j++)_.put(j,z,_U.h,O);if($.title){let j=Math.max(0,q.w-4),T=x6($.title),L=t4(T,j);_.write(` ${L} `,{x:P+1,y:z,style:O})}},D=()=>{_.put(P,A,_U.bl,O),_.put(H,A,_U.br,O);for(let j=P+1;j<H;j++)_.put(j,A,_U.h,O)},f=(j)=>{_.put(P,j,_U.v,O),_.put(H,j,_U.v,O)};if(!M){E(),D();for(let j=z+1;j<A;j++)f(j);return}for(let j of M){if(j<z||j>A)continue;if(j===z)E();else if(j===A)D();else f(j)}}function B(q,O,M){if(!$.clear)return;if(!M){_.fill(q.x,q.y,q.w,q.h," ",O);return}let P=Math.floor(q.y),H=P+Math.max(0,Math.floor(q.h));for(let z of M){if(z<P||z>=H)continue;_.fill(q.x,z,q.w,1," ",O)}}return ro(()=>{let q=K.value,O=$.border?1:0,M=Math.max(0,Math.floor($.padding)),P=Math.max(0,Math.floor((q.w-O*2-1)/2)),H=Math.max(0,Math.floor((q.h-O*2-1)/2)),z=Math.min(M,P,H),A={x:q.x+O+z,y:q.y+O+z,w:Math.max(0,q.w-O*2-z*2),h:Math.max(0,q.h-O*2-z*2)},E=q1(A,q);if(G.clipRect&&E)E=q1(E,G.clipRect);if(!E)E={x:0,y:0,w:0,h:0};N.originX=A.x-Math.floor($.scrollX),N.originY=A.y-Math.floor($.scrollY),N.clipRect=E}),B1(()=>({stack:Z.value,zIndex:no,rect:X.value?K.value:{x:0,y:0,w:0,h:0},deps:[X.value,K.value,$.style,$.clear,Q.value],paint:(q)=>{if(!X.value)return;let O=K.value,M=$.style??Q.value;B(O,M,q??null)}})),B1(()=>({stack:Z.value,zIndex:po,rect:X.value?K.value:{x:0,y:0,w:0,h:0},deps:[X.value,K.value,$.border,$.title,$.style,Q.value],paint:(q)=>{if(!X.value)return;let O=K.value,M=$.style??Q.value;W(O,M,q??null)}})),az(s2,N),az($U,Z),()=>lo("div",V,U.default?.())}});import{computed as tz,defineComponent as oo,h as ao}from"vue";function ez($,U){if(U<=0)return"";return $=x6($),t4($,U)}function $A($){return UU($).split(`
809
+ `)}function sz($){let U=$A($),_=0;for(let Q of U)_=Math.max(_,k$(Q));return _}var $$=oo({name:"TText",props:{x:{type:Number,required:!0},y:{type:Number,required:!0},zIndex:{type:Number,default:0},value:{type:String,required:!0},w:{type:Number,default:void 0},h:{type:Number,default:void 0},style:{type:Object,default:void 0},clear:{type:Boolean,default:!0},wrap:{type:Boolean,default:!1}},setup($){let{terminal:U,defaultStyle:_}=M4(),Q=U6(),{visible:J,rootProps:G}=e6(),Y=tz(()=>{let V=$.w??sz($.value);if(V<=0)return[""];if(!$.wrap)return $A($.value).map((Z)=>ez(Z,V));let K=UU($.value);return c1(K,V).map((Z)=>ez(Z,V))}),X=tz(()=>{let V=$.w??sz($.value),K=$.h??($.wrap?Y.value.length||1:Y.value.length||1),Z={x:$.x,y:$.y,w:V,h:K},N=s6(Z,Q.originX,Q.originY);if(!Q.clipRect)return N;return q1(N,Q.clipRect)??{x:0,y:0,w:0,h:0}});return B1(()=>({zIndex:$.zIndex,rect:J.value?X.value:{x:0,y:0,w:0,h:0},deps:[J.value,X.value,$.value,$.w,$.h,$.wrap,$.style,_.value],paint:(V)=>{if(!J.value)return;let K=X.value;if(K.w<=0||K.h<=0)return;let Z=$.style??_.value,N=$.clear?" ".repeat(K.w):"",W=Y.value,B=Math.min(W.length,Math.max(0,Math.floor(K.h))),q=(O)=>{let M=O-K.y;if(M<0||M>=K.h)return;if($.clear)U.write(N,{x:K.x,y:O,style:Z});if(M<0||M>=B)return;let P=t4(W[M]??"",K.w);U.write($1(P,K.w),{x:K.x,y:O,style:Z})};if(!V){for(let O=0;O<K.h;O++)q(K.y+O);return}for(let O of V)q(O)}})),()=>ao("span",G)}});import{computed as B5,defineComponent as to,h as eo,inject as so,provide as yB,shallowReactive as $a,watchEffect as UA}from"vue";var Ua=Object.freeze({x:0,y:0,w:0,h:0}),v4=to({name:"TView",props:{x:{type:Number,required:!0},y:{type:Number,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},zIndex:{type:Number,default:0},scrollX:{type:Number,default:0},scrollY:{type:Number,default:0},focusable:{type:Boolean,default:!1},selectable:{type:Boolean,default:void 0},autoFocus:{type:Boolean,default:!1}},emits:["clickCapture","click","dblclickCapture","dblclick","pointerdownCapture","pointerdown","pointerupCapture","pointerup","pointermoveCapture","pointermove","wheelCapture","wheel","keydownCapture","keydown","keyupCapture","keyup","focusCapture","focus","blurCapture","blur"],setup($,{emit:U,slots:_}){let Q=U6(),{render:J,events:G}=M4(),Y=hJ(),{visible:X,rootProps:V}=e6({provide:!0}),K=so(I1,B5(()=>0)),Z=B5(()=>(K.value??0)+($.zIndex??0)),N=B5(()=>s6({x:$.x,y:$.y,w:$.w,h:$.h},Q.originX,Q.originY)),W=B5(()=>{let M=N.value;if(!Q.clipRect)return M;return q1(M,Q.clipRect)??Ua}),{id:B}=v1(()=>({rect:W.value,zIndex:Z.value,visible:X.value,focusable:$.focusable,selectable:$.selectable,handlers:{clickCapture:(M)=>U("clickCapture",M),click:(M)=>U("click",M),dblclickCapture:(M)=>U("dblclickCapture",M),dblclick:(M)=>U("dblclick",M),pointerdownCapture:(M)=>U("pointerdownCapture",M),pointerdown:(M)=>U("pointerdown",M),pointerupCapture:(M)=>U("pointerupCapture",M),pointerup:(M)=>U("pointerup",M),pointermoveCapture:(M)=>U("pointermoveCapture",M),pointermove:(M)=>U("pointermove",M),wheelCapture:(M)=>U("wheelCapture",M),wheel:(M)=>U("wheel",M),keydownCapture:(M)=>U("keydownCapture",M),keydown:(M)=>U("keydown",M),keyupCapture:(M)=>U("keyupCapture",M),keyup:(M)=>U("keyup",M),focusCapture:(M)=>U("focusCapture",M),focus:(M)=>U("focus",M),blurCapture:(M)=>U("blurCapture",M),blur:(M)=>U("blur",M)}}));UA(()=>{if(!$.autoFocus)return;if(!X.value)return;let M=G.value,P=B.value;if(!M||!P)return;if(M.getFocused()===P)return;M.focus(P)});let q=$a({originX:0,originY:0,clipRect:null}),O=B5(()=>J.createStack(Y.value,$.zIndex));return UA(()=>{let M=N.value;q.originX=M.x-Math.floor($.scrollX),q.originY=M.y-Math.floor($.scrollY),q.clipRect=W.value}),yB(s2,q),yB($U,O),yB(I1,Z),()=>eo("div",V,_.default?.())}});import{computed as bB,defineComponent as xB,h as Q2,onBeforeUnmount as _a,onMounted as Ja,ref as H5,shallowRef as Qa,watch as JA,watchEffect as Ga}from"vue";function FG($,U,_){return Math.max(U,Math.min(_,$))}function Ya($){let U=Math.max(0,Math.floor($.cols)),_=Math.max(0,Math.floor($.rows)),Q=Math.max(0,Math.floor($.w)),J=Math.max(0,Math.floor($.h)),G=Math.floor($.offsetX),Y=Math.floor($.offsetY),X=Math.max(0,U-Q),V=Math.max(0,_-J),K=Math.floor((U-Q)/2),Z=Math.floor((_-J)/2),N=0,W=0;switch($.placement){case"top":N=K,W=0;break;case"bottom":N=K,W=V;break;case"left":N=0,W=Z;break;case"right":N=X,W=Z;break;case"top-left":N=0,W=0;break;case"top-right":N=X,W=0;break;case"bottom-left":N=0,W=V;break;case"bottom-right":N=X,W=V;break;case"center":default:N=K,W=Z;break}return N=FG(N+G,0,X),W=FG(W+Y,0,V),{x:N,y:W}}function Xa($){let U=$.border?1:0,_=Math.max(0,Math.floor($.padding));return{w:Math.max(0,Math.floor($.w)-U*2-_*2),h:Math.max(0,Math.floor($.h)-U*2-_*2)}}var _A=xB({name:"TDialogSurface",props:{modelValue:{type:Boolean,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},title:{type:String,default:""},padding:{type:Number,default:1},zIndex:{type:Number,default:1000},style:{type:Object,default:void 0},placement:{type:String,default:"center"},offsetX:{type:Number,default:0},offsetY:{type:Number,default:0},backdrop:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},closeOnBlur:{type:Boolean,default:!1},content:{type:[Object,Function],required:!0},onRequestClose:{type:Function,required:!0},onDialogFocus:{type:Function,default:void 0},onDialogBlur:{type:Function,default:void 0},onDialogKeydown:{type:Function,default:void 0},dialogNodeId:{type:String,default:void 0},onDialogNodeId:{type:Function,default:void 0}},setup($){let{events:U,scheduler:_}=M4(),Q=U6(),J=bB(()=>Q.clipRect?.w??0),G=bB(()=>Q.clipRect?.h??0),Y=!1,X=!1,V=!1;function K(){if(Y=!1,X)return;X=!0,$.onDialogFocus?.()}function Z(){Y=!0,queueMicrotask(()=>{if(!Y)return;if(!$.modelValue)return;if(!X)return;if(Y=!1,X=!1,$.onDialogBlur?.(),$.closeOnBlur)$.onRequestClose()})}let N=bB(()=>Ya({cols:J.value,rows:G.value,w:$.w,h:$.h,placement:$.placement,offsetX:$.offsetX,offsetY:$.offsetY}));function W(){if(!$.closeOnBackdrop)return;$.onRequestClose()}function B(M){if($.modelValue&&M?.key==="Tab"&&!M?.defaultPrevented&&!V){let P=U.value;if(P){V=!0;try{let{x:H,y:z}=N.value,A=Math.max(0,Math.floor($.w)),E=Math.max(0,Math.floor($.h)),D=$.zIndex+($.backdrop?1:0),f={x:H,y:z,w:A,h:E},j=P.debugNodes(),T=j.filter((R)=>{if(!R.visible||!R.focusable)return!1;let S=R.rect;return S.x>=f.x&&S.y>=f.y&&S.x+S.w<=f.x+f.w&&S.y+S.h<=f.y+f.h}),L=T.find((R)=>R.zIndex===D&&R.rect.w===A&&R.rect.h===E),k;try{k=T.filter((R)=>R.id!==L?.id).sort((R,S)=>R.rect.y-S.rect.y||R.rect.x-S.rect.x||S.zIndex-R.zIndex)}catch{k=T.filter((R)=>R.id!==L?.id)}if(k.length>0){M.preventDefault?.();let R=M.shiftKey?-1:1,S=P.getFocused(),I=S?k.findIndex((b)=>b.id===S):-1,w=I<0?R>0?0:k.length-1:(I+R+k.length)%k.length,C=k[w]?.id;if(C){if(j.find((y)=>y.id===C&&y.visible&&y.focusable))try{P.focus(C),_.invalidate();return}catch(y){console.warn(`[TDialog] Failed to focus node ${C}:`,y)}}}}catch(H){console.error("[TDialog] Error in Tab handling:",H)}finally{setTimeout(()=>{V=!1},0)}}}if($.onDialogKeydown?.(M),!$.closeOnEsc)return;if(M?.defaultPrevented)return;if(M?.key!=="Escape")return;M.preventDefault?.(),$.onRequestClose()}let q=H5(null),O=!1;return JA(()=>$.modelValue,(M)=>{if(!M){q.value=null;return}if(V)return;queueMicrotask(()=>{queueMicrotask(()=>{if(V)return;let P=U.value;if(!P)return;let{x:H,y:z}=N.value,A=Math.max(0,Math.floor($.w)),E=Math.max(0,Math.floor($.h)),D=$.zIndex+($.backdrop?1:0),f={x:H,y:z,w:A,h:E},j=P.debugNodes().filter((R)=>{if(!R.visible||!R.focusable)return!1;let S=R.rect;return S.x>=f.x&&S.y>=f.y&&S.x+S.w<=f.x+f.w&&S.y+S.h<=f.y+f.h}),T=j.find((R)=>R.zIndex===D&&R.rect.w===A&&R.rect.h===E);if(T)q.value=T.id;let L=P.getFocused();if(L){if(j.find((S)=>S.id===L))return}let k;try{k=j.filter((R)=>R.id!==q.value).sort((R,S)=>R.rect.y-S.rect.y||R.rect.x-S.rect.x)}catch{k=j.filter((R)=>R.id!==q.value)}if(k.length>0){O=!0;try{P.focus(k[0].id),_.invalidate()}finally{O=!1}return}if(q.value){O=!0;try{P.focus(q.value),_.invalidate()}finally{O=!1}}})})},{immediate:!0}),()=>{if(!$.modelValue)return null;let M=Math.max(0,Math.floor($.w)),P=Math.max(0,Math.floor($.h)),{x:H,y:z}=N.value,A=Q2(v4,{x:H,y:z,w:M,h:P,zIndex:$.zIndex+($.backdrop?1:0),focusable:!0,autoFocus:!1,onKeydown:B,onClick:(E)=>{E?.stopPropagation?.()},onFocusCapture:K,onBlurCapture:Z},()=>Q2(H1,{x:0,y:0,w:M,h:P,border:!0,title:$.title,padding:$.padding,style:$.style},()=>Q2($.content)));if(!$.backdrop)return A;return Q2(v4,{x:0,y:0,w:J.value,h:G.value,zIndex:$.zIndex,onClick:W},()=>[Q2(H1,{x:0,y:0,w:J.value,h:G.value,border:!1,padding:0,clear:!0}),A])}}}),u4=xB({name:"TDialog",props:{modelValue:{type:Boolean,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},title:{type:String,default:""},padding:{type:Number,default:1},zIndex:{type:Number,default:1000},style:{type:Object,default:void 0},placement:{type:String,default:"center"},offsetX:{type:Number,default:0},offsetY:{type:Number,default:0},backdrop:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},closeOnBlur:{type:Boolean,default:!1},teleport:{type:Boolean,default:!1},buttons:{type:Array,default:()=>[]},closeOnConfirm:{type:Boolean,default:!0}},emits:["update:modelValue","close","focus","blur","keydown","confirm"],setup($,{emit:U,slots:_}){let{runtime:Q,events:J,scheduler:G}=M4(),Y=H5(!1),X=H5(0),V=H5(null),K=H5(null);function Z(D,f,j){return f>=D.x&&j>=D.y&&f<D.x+D.w&&j<D.y+D.h}function N(D){return Math.max(0,D.w)*Math.max(0,D.h)}function W(){let D=$.buttons.findIndex((f)=>f.default);return D>=0?D:0}function B(D){let f=$.buttons[D];if(!f)return;if(U("confirm",{...f,index:D}),$.closeOnConfirm)H()}function q(){let D=J.value,f=D?.getFocused()??null;if(V.value=f,K.value=null,!D||!f)return;let j=D.debugNodes().find((R)=>R.id===f)??null;if(!j)return;let T=j.rect,L=Math.floor(T.x+Math.max(0,T.w)/2),k=Math.floor(T.y+Math.max(0,T.h)/2);K.value={x:L,y:k}}function O(){let D=V.value,f=K.value;V.value=null,K.value=null;let j=()=>{let T=J.value;if(!T)return;if(D){if(T.debugNodes().find((I)=>I.id===D&&I.visible&&I.focusable)){T.focus(D),G.invalidate();return}}if(f){let S=T.debugNodes().filter((I)=>I.visible&&I.focusable&&Z(I.rect,f.x,f.y)).sort((I,w)=>w.zIndex-I.zIndex||N(I.rect)-N(w.rect))[0]?.id??null;if(S){T.focus(S),G.invalidate();return}}let k=T.debugNodes().filter((R)=>R.visible&&R.focusable).sort((R,S)=>R.zIndex-S.zIndex||N(S.rect)-N(R.rect))[0]?.id??null;if(k)T.focus(k),G.invalidate()};queueMicrotask(()=>{queueMicrotask(()=>{queueMicrotask(()=>{j()})})})}let M=xB({name:"TDialogContent",setup(){return()=>{let D=_.default?.()??null;if(!$.buttons.length)return D;let f=Xa({w:$.w,h:$.h,padding:$.padding,border:!0}),j=Math.max(0,f.h-1),T=2,L=$.buttons.map((C)=>`[ ${C.label} ]`),k=L.map((C)=>k$(C)),R=k.reduce((C,b)=>C+b,0)+T*Math.max(0,k.length-1),I=Math.max(0,f.w-R),w=$.buttons.flatMap((C,b)=>{let y=L[b]??`[ ${C.label} ]`,x=k[b]??k$(y),l=b===X.value,t=C.kind==="primary",V$=C.kind==="danger",u$={...t?{fg:"greenBright",bold:!0}:V$?{fg:"redBright",bold:!0}:{fg:"whiteBright"},...l?{inverse:!0}:{}},O$=[Q2($$,{key:`btn-t-${b}`,x:I,y:j,w:x,value:y,style:u$}),Q2(v4,{key:`btn-v-${b}`,x:I,y:j,w:x,h:1,zIndex:10,onClick:(q$)=>{q$?.stopPropagation?.(),X.value=b,B(b)}})];return I+=x+T,O$});return Q2("div",null,[D,...w])}}}),P=Qa(null);function H(){Y.value=!0,U("update:modelValue",!1),U("close"),O()}function z(){U("focus")}function A(){U("blur")}function E(D){if(U("keydown",D),!$.modelValue)return;if(D?.defaultPrevented)return;if(!$.buttons.length)return;if(D.key==="ArrowLeft"||D.key==="ArrowRight"){D.preventDefault?.();let f=D.key==="ArrowLeft"?-1:1,j=$.buttons.length-1;X.value=FG(X.value+f,0,j);return}if(D.key==="Enter")D.preventDefault?.(),B(X.value)}return JA(()=>$.modelValue,(D,f)=>{if(D&&!f)q();if(D&&!f)X.value=FG(W(),0,Math.max(0,$.buttons.length-1));if(!f||D)return;if(Y.value){Y.value=!1;return}U("close"),O()},{immediate:!0}),Ja(()=>{if(!$.teleport)return;P.value=Q.mount(_A,{modelValue:$.modelValue,w:$.w,h:$.h,title:$.title,padding:$.padding,zIndex:$.zIndex,style:$.style,placement:$.placement,offsetX:$.offsetX,offsetY:$.offsetY,backdrop:$.backdrop,closeOnBackdrop:$.closeOnBackdrop,closeOnEsc:$.closeOnEsc,closeOnBlur:$.closeOnBlur,content:M,onRequestClose:H,onDialogFocus:z,onDialogBlur:A,onDialogKeydown:E})}),Ga(()=>{if(!$.teleport)return;let D=P.value;if(!D)return;D.update({modelValue:$.modelValue,w:$.w,h:$.h,title:$.title,padding:$.padding,zIndex:$.zIndex,style:$.style,placement:$.placement,offsetX:$.offsetX,offsetY:$.offsetY,backdrop:$.backdrop,closeOnBackdrop:$.closeOnBackdrop,closeOnEsc:$.closeOnEsc,closeOnBlur:$.closeOnBlur,content:M,onRequestClose:H,onDialogFocus:z,onDialogBlur:A,onDialogKeydown:E})}),_a(()=>{if(P.value?.unmount(),P.value=null,V.value||K.value)O()}),()=>{if($.teleport)return null;return Q2(_A,{modelValue:$.modelValue,w:$.w,h:$.h,title:$.title,padding:$.padding,zIndex:$.zIndex,style:$.style,placement:$.placement,offsetX:$.offsetX,offsetY:$.offsetY,backdrop:$.backdrop,closeOnBackdrop:$.closeOnBackdrop,closeOnEsc:$.closeOnEsc,closeOnBlur:$.closeOnBlur,content:M,onRequestClose:H,onDialogFocus:z,onDialogBlur:A,onDialogKeydown:E})}}});import{computed as C1,defineComponent as Va,h as Ka,inject as QA,onBeforeUnmount as Za,ref as g6,watch as O5,watchEffect as GA}from"vue";function X4($,U,_){return Math.max(U,Math.min(_,$))}function O1($){let U=0;for(let _ of $)U+=k4(_);return U}function YA($,U){let _=O1($);if(_>=U)return $;return $+" ".repeat(U-_)}var w0="";function XA($,U){return $[U]===w0}function Wa($){return`[... ${($.match(/\n/g)||[]).length+1} lines]`}function JU($,U=$.length){let _=0,Q=X4(U,0,$.length);for(let J=0;J<Q;J++)if($[J]===w0)_++;return _}function gB($,U){return JU($,U)}function U_($,U){let _=String($?.[U]??"");return Wa(_||"")}function qG($,U,_,Q){let J=X4(_,0,$.length),G=X4(Q,J,$.length),Y=0,X=0;for(let V=0;V<G;){if($[V]===w0){if(V>=J){let W=U_(U,X);Y+=O1(W)}X++,V+=1;continue}let Z=$.codePointAt(V)??0,N=String.fromCodePoint(Z);if(V>=J)Y+=k4(N);V+=N.length}return Y}function j5($,U,_){if(U=Math.max(0,Math.floor(U)),_=Math.max(0,Math.floor(_)),_<=0)return"";let Q="",J=0,G=0;for(let Y of $){let X=k4(Y);if(J+X<=U){J+=X;continue}if(G+X>_)break;if(Q+=Y,G+=X,G>=_)break}return Q}function Na($,U){let _=$.trim().toLowerCase(),Q=U.toLowerCase();if(!_)return 0;if(Q===_)return 1e4;let J=0;if(Q.startsWith(_))J+=1000;let G=0,Y=0;for(let X=0;X<Q.length&&G<_.length;X++)if(Q[X]===_[G])G++,Y++,J+=10+Y*5;else Y=0,J+=0;if(G<_.length)return null;return J+=Math.max(0,40-Q.length),J}function NA($){if(J0($))return!0;return/[,;:!?,。!?、()[\]{}<>]/.test($)}function Fa($,U,_){if(!_||$[U]!==_)return!1;if(U<=0)return!0;let Q=$[U-1];return NA(Q)||!/\w/.test(Q)}function qa($){return/^[\w./~\\:-]$/.test($)}function Ba($){let U=String($||""),_=Math.max(U.lastIndexOf("/"),U.lastIndexOf("\\"));return(_>=0?U.slice(_+1):U)||U}function Ha($){let U=$.lastIndexOf(".");if(U===-1)return"";return $.slice(U+1).toLowerCase()}function Oa($){return["png","jpg","jpeg","gif","svg","webp","bmp","ico"].includes($)}function ja($){return["mp4","webm","ogg","avi","mov","mkv","flv","wmv"].includes($)}function Da($){return["mp3","wav","ogg","flac","m4a","wma"].includes($)}function Ea($){return["pdf","doc","docx","txt","rtf","odt"].includes($)}function Ma($){return["js","ts","jsx","tsx","html","css","scss","less","json","xml","yml","yaml","md","markdown","py","java","cpp","c","go","rb","php"].includes($)}function uJ($,U){if(U=Math.max(0,Math.floor(U)),!($?.length??0)||U<=1)return{cells:0,chips:[]};let Q=Math.max(0,U-1),J=0,G=[];if($?.length)for(let Y=0;Y<$.length;Y++){let X=String($[Y]??"");if(!X)continue;let V=Ba(X),K=Ha(V),Z;if(Oa(K))Z="image";else if(ja(K))Z="video";else if(Da(K))Z="audio";else if(Ea(K))Z="document";else if(Ma(K))Z="code";else Z="file";let N=`[${x6(V)}]`,W=J?1:0,B=O1(N),q=J+W+B;if(q>Q){if(J+(J?1:0)+1<=Q){let H=J+(J?1:0),z=H+1;G.push({absPath:"",label:"…",start:H,end:z}),J=z}break}let O=J+W,M=O+B;G.push({absPath:X,label:N,start:O,end:M,type:Z}),J=q}if(J<U)J+=1;return{cells:Math.min(U,J),chips:G}}function Pa($,U,_){_=Math.max(1,Math.floor(_));let Q=[],J=0,G=0,Y=0;for(let X=0;X<$.length;){let V=$[X];if(V===`
810
+ `){Q.push({start:J,end:X}),X+=1,J=X,G=0;continue}let K=0,Z=0;if(V===w0){let N=U_(U,Y);Z=O1(N),K=1,Y++}else{let N=$.codePointAt(X)??0,W=String.fromCodePoint(N);K=W.length,Z=k4(W)}if(G>0&&G+Z>_)Q.push({start:J,end:X}),J=X,G=0;if(G+=Z,X+=K,G>=_)Q.push({start:J,end:X}),J=X,G=0}return Q.push({start:J,end:$.length}),Q.length?Q:[{start:0,end:0}]}function uB($,U,_,Q){if(_=Math.max(1,Math.floor(_)),Q=Math.max(1,Math.floor(Q)),_>=Q)return Pa($,U,Q);let J=[],G=0,Y=0,X=_,V=!0,K=0;for(let Z=0;Z<$.length;){let N=$[Z];if(N===`
811
+ `){J.push({start:G,end:Z}),Z+=1,G=Z,Y=0,V=!1,X=Q;continue}let W=0,B=0;if(N===w0){let q=U_(U,K);B=O1(q),W=1,K++}else{let q=$.codePointAt(Z)??0,O=String.fromCodePoint(q);W=O.length,B=k4(O)}if(Y>0&&Y+B>X){if(J.push({start:G,end:Z}),G=Z,Y=0,V)V=!1,X=Q;continue}if(Y+=B,Z+=W,Y>=X){if(J.push({start:G,end:Z}),G=Z,Y=0,V)V=!1,X=Q}}return J.push({start:G,end:$.length}),J.length?J:[{start:0,end:0}]}function mJ($,U,_,Q,J){let G=X4(_,0,$.length),Y=uB($,U,Q,J);for(let V=0;V<Y.length;V++){let K=Y[V];if(G<=K.end){let Z=qG($,U,K.start,G);return{line:V,col:Z,lines:Y}}}let X=Y[Y.length-1];return{line:Y.length-1,col:qG($,U,X.start,X.end),lines:Y}}function cJ($,U,_){let Q=X4(_,0,$.length),J=BG($);for(let Y=0;Y<J.length;Y++){let X=J[Y];if(Q<=X.end){let V=qG($,U,X.start,Q);return{line:Y,col:V,lines:J}}}let G=J[J.length-1];return{line:J.length-1,col:qG($,U,G.start,G.end),lines:J}}function VA($,U,_,Q,J){let G=Math.max(0,Math.floor(J)),Y=0,X=JU($,_);for(let V=_;V<Q;){if($[V]===w0){let B=U_(U,X),q=O1(B);if(Y+q>G)return{index:V,hitToken:X};if(Y+=q,Y>=G)return{index:V+1,hitToken:null};X++,V+=1;continue}let Z=$.codePointAt(V)??0,N=String.fromCodePoint(Z),W=k4(N);if(Y+W>G)return{index:V,hitToken:null};if(Y+=W,V+=N.length,Y>=G)return{index:V,hitToken:null}}return{index:Q,hitToken:null}}function KA($,U,_,Q){let J=Math.max(0,Math.floor(Q)),G=0,Y=JU($,_.start);for(let X=_.start;X<_.end;){if($[X]===w0){let W=U_(U,Y),B=O1(W);if(G+B>J)return{index:X,hitToken:Y};if(G+=B,G>=J)return{index:X+1,hitToken:null};Y++,X+=1;continue}let K=$.codePointAt(X)??0,Z=String.fromCodePoint(K),N=k4(Z);if(G+N>J)return{index:X,hitToken:null};if(G+=N,X+=Z.length,G>=J)return{index:X,hitToken:null}}return{index:_.end,hitToken:null}}function fa($,U,_,Q,J,G,Y){let X=Math.max(0,Math.floor(Y)),V=X+Math.max(0,Math.floor(G)),K=0,Z=JU($,Q),N="",W=[];for(let q=Q;q<J;){let O=$[q];if(O===`
812
+ `){q+=1;continue}let M="",P=0,H=0,z=!1,A=Z;if(O===w0)M=U_(_,Z),P=O1(M),H=1,Z++,z=!0;else{let T=$.codePointAt(q)??0,L=String.fromCodePoint(T);M=U.slice(q,q+L.length),H=L.length,P=k4(M)}let E=K,D=K+P;if(D<=X){K=D,q+=H;continue}if(E>=V)break;let f=Math.max(0,X-E),j=Math.min(D,V)-Math.max(E,X);if(j>0){let T=j5(M,f,j);if(!T&&P>1&&f>0&&P<=G)T=M;if(N+=T,z){let L=Math.max(E,X)-X;W.push({startCell:L,label:T,tokenIndex:A})}}K=D,q+=H}let B=O1(N);if(B<G)N+=" ".repeat(G-B);return{text:N,chips:W}}function La($,U,_,Q,J,G,Y,X){let V=Math.max(0,Math.floor(X)),K=V+Math.max(0,Math.floor(Y)),Z=0,N=JU($,Q),W=[];for(let B=Q;B<J;){let q=$[B];if(q===`
813
+ `){B+=1;continue}let O="",M=0,P=0;if(q===w0)O=U_(_,N),M=O1(O),P=1,N++;else{let A=$.codePointAt(B)??0,E=String.fromCodePoint(A);O=U.slice(B,B+E.length),P=E.length,M=k4(O)}if(B>=G.end||B+P<=G.start){Z+=M,B+=P;continue}let H=Z,z=Z+M;if(z>V&&H<K){let A=Math.max(0,V-H),E=Math.min(z,K)-Math.max(H,V);if(E>0){let D=j5(O,A,E);if(!D&&M>1&&A>0&&M<=Y)D=O;let f=Math.max(H,V)-V;W.push({startCell:f,text:D})}}Z=z,B+=P}return W}function J0($){return $===" "||$==="\t"||$===`
814
+ `||$==="\r"}function $_($){return/^[\p{L}\p{N}_]$/u.test($)}function ZA($,U){let _=X4(U,0,$.length);if(_===0)return 0;while(_>0&&J0($[_-1]))_--;if(_===0)return 0;let Q=$_($[_-1]);while(_>0){let J=$[_-1];if(J0(J))break;if($_(J)!==Q)break;_--}return _}function WA($,U){let _=X4(U,0,$.length);if(_>=$.length)return $.length;while(_<$.length&&J0($[_]))_++;if(_>=$.length)return $.length;let Q=$_($[_]);while(_<$.length){let J=$[_];if(J0(J))break;if($_(J)!==Q)break;_++}return _}function Ra($){if($.ctrlKey||$.metaKey||$.altKey)return!1;return $.key.length===1}function BG($){let U=[],_=0;for(let Q=0;Q<=$.length;Q++)if(Q===$.length||$[Q]===`
815
+ `)U.push({start:_,end:Q}),_=Q+1;return U.length?U:[{start:0,end:0}]}function hB($,U){let _=X4(U,0,$.length),Q=BG($);for(let G=0;G<Q.length;G++){let Y=Q[G];if(_<=Y.end){let X=$.slice(Y.start,_);return{line:G,col:O1(X),lines:Q}}}let J=Q[Q.length-1];return{line:Q.length-1,col:O1($.slice(J.start,J.end)),lines:Q}}var wa=0,D6=Va({name:"TInput",props:{x:{type:Number,required:!0},y:{type:Number,required:!0},w:{type:Number,required:!0},h:{type:Number,default:1},zIndex:{type:Number,default:0},modelValue:{type:String,required:!0},cursorToEndOnExternalUpdate:{type:Boolean,default:!1},cursorToEndOnFirstFocus:{type:Boolean,default:!1},placeholder:{type:String,default:""},placeholderWhenFocused:{type:Boolean,default:!1},style:{type:Object,default:void 0},autoFocus:{type:Boolean,default:!1},cursorBlink:{type:Boolean,default:!0},cursorShape:{type:String,default:"block"},blinkInterval:{type:Number,default:500},promptSuggestions:{type:Array,default:()=>[]},promptTrigger:{type:String,default:"/"},promptMaxItems:{type:Number,default:6},mentionTrigger:{type:String,default:"@"},mentionWorkspace:{type:String,default:""},mentionMode:{type:String,default:"file"},mentionShowHidden:{type:Boolean,default:!1},mentionSuggestions:{type:Array,default:()=>[]},mentionMaxItems:{type:Number,default:8},collectMentions:{type:Boolean,default:!1},mentions:{type:Array,default:()=>[]},collapseMultiline:{type:Boolean,default:!1},multilineTexts:{type:Array,default:()=>[]},secret:{type:Boolean,default:!1},maskChar:{type:String,default:"•"}},emits:["update:modelValue","input","change","keydown","focus","blur","update:mentions","mentionClick","update:multilineTexts","multilineClick"],setup($,{emit:U}){let{terminal:_,scheduler:Q,defaultStyle:J,events:G,render:Y}=M4(),X=U6(),{visible:V,rootProps:K}=e6(),Z=QA(XG,null),N=`TInput:${wa++}`,W=QA(I1,C1(()=>0)),B=C1(()=>(W.value??0)+($.zIndex??0)),q=Y.createStack(Y.rootStack,1e4),O=1;function M(v){let g=Math.max(0,Math.floor(v.w)),r=Math.max(0,Math.floor(v.h)),J$=X4(1,0,Math.floor(g/2)),U$=Math.max(0,g-J$*2);return{wAll:g,hAll:r,padX:J$,w:U$}}let P=g6(!1),H=g6(0),z=g6(null),A=g6(!1),E=g6(!1),D=g6(0),f=g6(0),j=g6(!1),T=g6(""),L=g6(!1),k=g6(!1),R=g6(!0),S=null,I=g6(null),w=null,C=!1,b=!1,y=!1,x=null,l=450,t=g6(null);function V$(){return t.value??$.modelValue}let u$=200,O$=[],q$=[],m=!1;function a(v){if(m)return;let g={value:V$(),cursor:H.value};if(g.value===v)return;let r=O$[O$.length-1];if(r&&r.value===g.value&&r.cursor===g.cursor)return;if(O$.push(g),O$.length>u$)O$.splice(0,O$.length-u$);q$.length=0}function d(v){m=!0;try{B4(v.value,v.cursor)}finally{m=!1}}function i(){let v=O$.pop();if(!v)return;let g={value:V$(),cursor:H.value};q$.push(g),d(v)}function n(){let v=q$.pop();if(!v)return;let g={value:V$(),cursor:H.value};O$.push(g),d(v)}let h=C1(()=>Math.max(1,Math.floor($.h))>1),_$=C1(()=>{let v={x:$.x,y:$.y,w:$.w,h:Math.max(1,Math.floor($.h))};return s6(v,X.originX,X.originY)});O5(()=>$.modelValue,(v,g)=>{let r=t.value!=null;if(t.value=null,!r)O$.length=0,q$.length=0;let J$=v.length;if(!r&&$.cursorToEndOnExternalUpdate&&!j.value)H.value=J$,z.value=null;else if(H.value=X4(H.value,0,J$),z.value!=null)z.value=X4(z.value,0,J$);if(j.value&&v!==g)L.value=!0,j.value=!1,T.value="";let U$=JU(v),Y$=$.multilineTexts??[];if(Y$.length>U$)U("update:multilineTexts",Y$.slice(0,U$));b4(),Q.invalidate()});let H$=g6(0),D$=g6(null);function j$(v){return String($.maskChar||"•").repeat(Math.max(0,v.length))}function r$(v,g){let r=$.promptTrigger||"/";if(!r)return null;let J$=X4(g,0,v.length),U$=v.lastIndexOf(`
816
+ `,Math.max(0,J$-1))+1;if(v.slice(U$,U$+r.length)!==r)return null;let Y$=v.length;for(let b$=U$;b$<v.length;b$++)if(J0(v[b$])){Y$=b$;break}if(J$<U$||J$>Y$)return null;let Z$=v.slice(U$,Y$),A$=Z$.slice(r.length),I$=`${U$}:${Z$}`;return{tokenStart:U$,tokenEnd:Y$,tokenText:Z$,query:A$,key:I$}}let Z4=C1(()=>{if(!P.value)return null;if(!$.promptSuggestions?.length)return null;return r$(V$(),H.value)});function y4(v,g){let r=$.mentionTrigger||"@";if(!r)return null;let J$=X4(g,0,v.length),U$=-1;for(let s$=J$-1;s$>=0;s$--){let z4=v[s$];if(Fa(v,s$,r)){U$=s$;break}if(NA(z4))break}if(U$<0)return null;let Y$=U$+r.length,Z$=v[Y$];if(Z$==='"'||Z$==="'"){let s$=Z$;Y$+=1;while(Y$<v.length&&v[Y$]!==s$)Y$++;if(Y$<v.length&&v[Y$]===s$)Y$++}else while(Y$<v.length&&qa(v[Y$]))Y$++;if(J$<U$||J$>Y$)return null;let A$=v.slice(U$,Y$),I$=X4(J$,U$+r.length,Y$),b$=v.slice(U$+r.length,I$),l$=`${U$}:${A$}`;return{tokenStart:U$,tokenEnd:Y$,tokenText:A$,query:b$,key:l$}}let P4=C1(()=>{if(!P.value)return null;let v=$.mentionSuggestions?.length>0,g=Boolean($.mentionWorkspace);if(!v&&!g)return null;return y4(V$(),H.value)}),m4=C1(()=>P4.value??Z4.value);O5(()=>m4.value?.key??null,(v,g)=>{if(g&&v!==g)D$.value=null});let V4=g6([]),Q6=0;GA(()=>{let v=P4.value,g=$.mentionWorkspace;if(!v||!g)return;$.mentionMode,$.mentionShowHidden,$.mentionMaxItems;let r=++Q6,J$=sU(),U$=Math.max(0,Math.floor($.mentionMaxItems));N5({workspaceAbs:g,input:v.query,mode:$.mentionMode,max:U$,showHidden:$.mentionShowHidden,listDir:J$.listDir,maxDepth:3}).then((Y$)=>{if(r!==Q6)return;V4.value=Y$.suggestions.map((Z$)=>({value:`${$.mentionTrigger}${Z$.completion}`,insert:`${$.mentionTrigger}${Z$.completion} `,detail:Z$.kind})),Q.invalidate()}).catch(()=>{if(r!==Q6)return;V4.value=[],Q.invalidate()})});let c4=C1(()=>{let v=m4.value;if(!v)return[];let g=$.mentionTrigger||"@",r=$.promptTrigger||"/",J$=v.tokenText.startsWith(g),U$=J$?g:r,Y$=Math.max(0,Math.floor(J$?$.mentionMaxItems:$.promptMaxItems)),Z$=J$?$.mentionWorkspace?V4.value:$.mentionSuggestions??[]:$.promptSuggestions??[],A$=v.query.trim(),I$=[];for(let b$=0;b$<Z$.length;b$++){let l$=Z$[b$],s$=l$.value||"";if(!s$.startsWith(U$))continue;if(J$&&$.mentionWorkspace){I$.push({item:l$,score:0,order:b$});continue}if(!A$){I$.push({item:l$,score:0,order:b$});continue}let z4=[s$.slice(U$.length),l$.label??"",l$.detail??"",...l$.keywords??[]].join(" "),i$=Na(A$,z4);if(i$!=null)I$.push({item:l$,score:i$,order:b$})}if(!A$||J$&&$.mentionWorkspace)return I$.slice(0,Y$);return I$.sort((b$,l$)=>l$.score-b$.score||b$.order-l$.order),I$.slice(0,Y$)});O5(()=>c4.value.length,(v)=>{H$.value=X4(H$.value,0,Math.max(0,v-1))});let e$=C1(()=>{let v=m4.value;if(!v)return!1;if(D$.value&&D$.value===v.key)return!1;return!0}),W4=C1(()=>{let v=_$.value,g=_.snapshot(),r={x:0,y:0,w:g.cols,h:g.rows},J$=Math.max(1,c4.value.length||1),U$=X4(2+J$,3,Math.max(3,Math.floor(r.h))),Y$=X4(Math.floor(v.w),10,Math.max(10,Math.floor(r.w))),Z$=Math.floor(v.y)-U$,A$=Math.floor(v.y)+Math.floor(v.h),I$=Z$>=Math.floor(r.y),b$=A$+U$<=Math.floor(r.y)+Math.floor(r.h),s$=X4(I$?Z$:b$?A$:Z$,Math.floor(r.y),Math.floor(r.y)+Math.floor(r.h)-U$);return{x:X4(Math.floor(v.x),Math.floor(r.x),Math.floor(r.x)+Math.floor(r.w)-Y$),y:s$,w:Y$,h:U$}});function p4(){if(S!=null)clearInterval(S),S=null;R.value=!0}function E6(){if(p4(),!$.cursorBlink)return;let v=Math.max(120,Math.floor($.blinkInterval));S=globalThis.setInterval(()=>{R.value=!R.value,Q.invalidate()},v)}let R4=C1(()=>{let v={x:$.x,y:$.y,w:$.w,h:Math.max(1,Math.floor($.h))},g=s6(v,X.originX,X.originY);if(!X.clipRect)return g;return q1(g,X.clipRect)??{x:0,y:0,w:0,h:0}}),h6=C1(()=>{if(z.value==null||z.value===H.value)return null;let v=Math.min(z.value,H.value),g=Math.max(z.value,H.value);return{start:v,end:g}});function D1(v,g){if(!v)return null;let r=X4(g,0,v.length);if(r===v.length)r=v.length-1;if(r<0)return null;let J$=v[r];if(!J$)return null;let U$=r,Y$=r+1;if(J0(J$)){while(U$>0&&J0(v[U$-1]))U$--;while(Y$<v.length&&J0(v[Y$]))Y$++;return{start:U$,end:Y$}}let Z$=$_(J$);while(U$>0){let A$=v[U$-1];if(J0(A$))break;if($_(A$)!==Z$)break;U$--}while(Y$<v.length){let A$=v[Y$];if(J0(A$))break;if($_(A$)!==Z$)break;Y$++}return{start:U$,end:Y$}}function E1(){let v=V$(),g=D1(v,H.value);if(!g)return;z.value=g.start,H.value=g.end,b4(),Q.invalidate()}function n6(){let v=V$();z.value=0,H.value=v.length,b4(),Q.invalidate()}let I6=C1(()=>{if(V$())return!1;if(!$.placeholder)return!1;if(P.value&&j.value&&T.value)return!1;return!P.value||$.placeholderWhenFocused}),d4=typeof document<"u";function l4(v){let g=X4(H.value,0,v.length);if(j.value&&T.value){let r=`${v.slice(0,g)}${T.value}${v.slice(g)}`,J$=d4?X4(g+T.value.length,0,r.length):g;return{text:r,cursor:J$}}return{text:v,cursor:g}}function b4(){let v=R4.value,{hAll:g,w:r}=M(v),J$=Math.max(1,r),U$=Math.max(1,g),Y$=V$(),Z$=l4(Y$),A$=h.value,I$=uJ($.mentions,J$),b$=Math.max(1,Math.max(1,J$)-I$.cells),{line:l$,col:s$,lines:z4}=A$?mJ(Z$.text,$.multilineTexts,Z$.cursor,b$,J$):cJ(Z$.text,$.multilineTexts,Z$.cursor);if(A$)D.value=0;else if(J$<=0)D.value=0;else{let t$=l$===0?b$:J$;if(s$<D.value)D.value=s$;else if(s$>D.value+t$-1)D.value=Math.max(0,s$-(t$-1))}let i$=Math.max(0,z4.length-U$);if(f.value=X4(f.value,0,i$),l$<f.value)f.value=l$;else if(l$>f.value+U$-1)f.value=X4(l$-(U$-1),0,i$)}function x4(v,g,r=!1,J$){let U$=R4.value,{w:Y$,padX:Z$}=M(U$),A$=Math.max(1,Y$),I$=uJ($.mentions,A$),b$=I$.cells,l$=X4(v-(U$.x+Z$),0,Math.max(0,Y$-1)),s$=X4(g-U$.y,0,Math.max(0,U$.h-1)),z4=f.value===0&&s$===0&&b$>0;if(z4&&l$<b$){for(let x$ of I$.chips)if(l$>=x$.start&&l$<x$.end){if(x$.absPath)U("mentionClick",x$.absPath);J$?.preventDefault?.(),Q.invalidate();return}H.value=0,z.value=null,b4(),Q.invalidate();return}let i$=V$(),t$=h.value,i4=z4?X4(l$-b$,0,Math.max(0,A$)):l$,G6=Math.max(1,Math.max(1,A$)-b$),F4=0,y$=null;if(t$){let x$=uB(i$,$.multilineTexts,G6,A$),n$=X4(f.value+s$,0,x$.length-1),c$=i4,J4=KA(i$,$.multilineTexts,x$[n$],c$);F4=J4.index,y$=J4.hitToken}else{let x$=BG(i$),n$=X4(f.value+s$,0,x$.length-1),c$=D.value+i4,J4=x$[n$],h$=VA(i$,$.multilineTexts,J4.start,J4.end,c$);F4=h$.index,y$=h$.hitToken}if(y$!=null){H.value=F4,z.value=null,b4(),U("multilineClick",y$),J$?.preventDefault?.(),Q.invalidate();return}if(!r)z.value=null;else if(z.value==null)z.value=H.value;H.value=F4,I.value=t$?mJ(i$,$.multilineTexts,H.value,G6,A$).col:cJ(i$,$.multilineTexts,H.value).col,b4()}function B4(v,g,r=!1){let J$=X4(g,0,v.length);if(H.value=J$,z.value=null,j.value=!1,T.value="",t.value=v,h.value){let{w:U$}=M(R4.value),Y$=Math.max(1,U$),Z$=uJ($.mentions,Y$),A$=Math.max(1,Y$-Z$.cells);I.value=mJ(v,$.multilineTexts,J$,A$,Y$).col}else I.value=cJ(v,$.multilineTexts,J$).col;if(b4(),U("update:modelValue",v),U("input",v),r)U("change",v);Q.invalidate()}function L$(v,g){let r=H.value,J$=V$();if(g){if(z.value==null)z.value=r}else z.value=null;if(H.value=X4(v,0,J$.length),h.value){let{w:U$}=M(R4.value),Y$=Math.max(1,U$),Z$=uJ($.mentions,Y$),A$=Math.max(1,Y$-Z$.cells);I.value=mJ(J$,$.multilineTexts,H.value,A$,Y$).col}else I.value=cJ(J$,$.multilineTexts,H.value).col;b4(),Q.invalidate()}O5([()=>R4.value.w,()=>R4.value.h,()=>h.value],()=>{b4(),Q.invalidate()}),O5([()=>$.mentions,()=>$.multilineTexts],()=>{b4(),Q.invalidate()});function d$(v){let g=h6.value;if(!g)return{value:v,cursor:H.value,deleted:!1};let r=JU(v,g.start),J$=JU(v,g.end);if(J$>r){let Y$=$.multilineTexts??[],Z$=[...Y$.slice(0,r),...Y$.slice(J$)];U("update:multilineTexts",Z$)}return{value:v.slice(0,g.start)+v.slice(g.end),cursor:g.start,deleted:!0}}function w4(v){let g=v||"";if(!g)return;let r=V$(),{value:J$,cursor:U$,deleted:Y$}=d$(r),Z$=Y$?J$:r,A$=Y$?U$:H.value,I$=Z$.slice(0,A$)+g+Z$.slice(A$);a(I$),B4(I$,A$+g.length)}function G$(v){let g=V$(),{value:r,cursor:J$,deleted:U$}=d$(g),Y$=U$?r:g,Z$=U$?J$:H.value,A$=gB(Y$,Z$),I$=$.multilineTexts??[],b$=[...I$.slice(0,A$),v,...I$.slice(A$)];U("update:multilineTexts",b$);let l$=`${Y$.slice(0,Z$)}${w0}${Y$.slice(Z$)}`;B4(l$,Z$+1)}function E$(v){if(typeof v.text==="string")return v.text;if(typeof v.data==="string"&&v.data)return v.data;let g=v.nativeEvent,r=g?.clipboardData;if(r?.getData){let U$=r.getData("text/plain")||r.getData("text");if(typeof U$==="string"&&U$)return U$}let J$=g?.target;if(J$&&typeof J$.value==="string"&&J$.value)return J$.value;return""}function P$(v){let g=m4.value;if(!g)return;let r=c4.value[X4(v,0,Math.max(0,c4.value.length-1))];if(!r)return;let J$=r.item,U$=$.mentionTrigger||"@";if(g.tokenText.startsWith(U$)){let s$=String(J$.value||"").startsWith(U$)?String(J$.value).slice(U$.length):String(J$.value),z4=$.mentionWorkspace?J2($.mentionWorkspace,s$):s$;if(z4){let F4=$.mentions??[];if(!F4.includes(z4))U("update:mentions",[...F4,z4])}let i$=V$().slice(0,g.tokenStart),t$=V$().slice(g.tokenEnd),i4=t$.match(/^[\s\u200B]*\]+/u);if(i4){t$=t$.slice(i4[0].length);let F4=i$.length-1;while(F4>=0&&/[\s\u200B]/u.test(i$[F4]))F4--;if(F4>=0&&i$[F4]==="[")i$=i$.slice(0,F4)+i$.slice(F4+1)}if(i$.endsWith(" ")&&t$.startsWith(" "))t$=t$.slice(1);let G6=`${i$}${t$}`.replace(/ {2,}/g," ");D$.value=null,a(G6),B4(G6,g.tokenStart);return}if(typeof J$.onSelect==="function"){if(J$.onSelect({value:J$.value,query:g.query})!==!1){D$.value=g.key,Q.invalidate();return}}let Z$=J$.insert??(J$.value.endsWith(" ")?J$.value:`${J$.value} `),A$=V$().slice(0,g.tokenStart),I$=V$().slice(g.tokenEnd);if(Z$.endsWith(" ")&&I$.startsWith(" "))I$=I$.slice(1);let b$=`${A$}${Z$}${I$}`,l$=g.tokenStart+Z$.length;D$.value=null,a(b$),B4(b$,l$)}function R$(v){if(!e$.value)return!1;if(v.key==="ArrowDown")return v.preventDefault(),H$.value=X4(H$.value+1,0,Math.max(0,c4.value.length-1)),Q.invalidate(),!0;if(v.key==="ArrowUp")return v.preventDefault(),H$.value=X4(H$.value-1,0,Math.max(0,c4.value.length-1)),Q.invalidate(),!0;if(v.key==="Tab"||v.key==="Enter"&&!v.shiftKey){if(c4.value.length===0)return!1;return v.preventDefault(),P$(H$.value),!0}if(v.key==="Escape")return v.preventDefault(),D$.value=m4.value?.key??null,Q.invalidate(),!0;return!1}function C$(v){if(j.value){U("keydown",v);return}if(R$(v)){U("keydown",v);return}if(U("keydown",v),v.defaultPrevented)return;let g=V$(),r=Boolean(v.shiftKey),J$=Boolean(v.altKey||v.ctrlKey&&!v.metaKey&&!v.altKey),U$=Boolean(v.metaKey),Y$=Boolean(v.metaKey||v.ctrlKey&&!v.altKey),Z$=typeof globalThis.window>"u"&&typeof globalThis.process<"u",A$=Boolean((v.metaKey||v.ctrlKey)&&!v.altKey),I$=v.key==="c"||v.key==="C",b$=v.key==="x"||v.key==="X",l$=v.key==="a"||v.key==="A",s$=v.key==="e"||v.key==="E",z4=v.key==="z"||v.key==="Z",i$=v.key==="y"||v.key==="Y",t$=h6.value;if(A$&&z4){if(v.preventDefault(),v.stopPropagation(),v.shiftKey)n();else i();return}if(A$&&i$){v.preventDefault(),v.stopPropagation(),n();return}if(Z$&&v.ctrlKey&&!v.metaKey&&!v.altKey&&(l$||s$)){v.preventDefault();let{line:y$,lines:x$}=hB(g,H.value),n$=l$?x$[y$].start:x$[y$].end;L$(n$,r);return}if(Z$&&v.altKey&&!v.ctrlKey&&!v.metaKey){let y$=v.key==="b"||v.key==="B",x$=v.key==="f"||v.key==="F";if(y$||x$){v.preventDefault();let n$=y$?ZA(g,H.value):WA(g,H.value);L$(n$,r);return}}let i4=(y$)=>{let n$="";for(let c$=0;c$<y$.length;c$+=3){let J4=y$[c$]??0,h$=y$[c$+1]??0,N4=y$[c$+2]??0,H4=J4<<16|h$<<8|N4;n$+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H4>>18&63]??"",n$+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H4>>12&63]??"",n$+=c$+1<y$.length?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H4>>6&63]??"":"=",n$+=c$+2<y$.length?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[H4&63]??"":"="}return n$},G6=(y$)=>{if(typeof TextEncoder<"u")return i4(new TextEncoder().encode(y$));let x$=unescape(encodeURIComponent(y$)),n$=new Uint8Array(x$.length);for(let c$=0;c$<x$.length;c$++)n$[c$]=x$.charCodeAt(c$);return i4(n$)},F4=async(y$)=>{if(!y$)return!1;let x$=globalThis.navigator;if(x$?.clipboard?.writeText)try{return await x$.clipboard.writeText(y$),!0}catch{}let n$=globalThis.process;if(n$?.stdout?.write&&n$?.stdout?.isTTY)try{let J4=G6(y$);return n$.stdout.write(`\x1B]52;c;${J4}\x07`),!0}catch{}let c$=globalThis.document;if(!c$?.createElement||!c$?.body?.appendChild||typeof c$.execCommand!=="function")return!1;try{let J4=c$.activeElement,h$=c$.createElement("textarea");h$.value=y$,h$.setAttribute("readonly","true"),h$.setAttribute("aria-hidden","true"),h$.style.position="fixed",h$.style.left="-9999px",h$.style.top="-9999px",h$.style.opacity="0",c$.body.appendChild(h$),h$.focus(),h$.select(),h$.setSelectionRange(0,h$.value.length);let N4=Boolean(c$.execCommand("copy"));h$.remove();try{J4?.focus?.({preventScroll:!0})}catch{J4?.focus?.()}return N4}catch{return!1}};if(A$&&l$){v.preventDefault(),v.stopPropagation(),z.value=0,H.value=g.length,b4(),Q.invalidate();return}if(A$&&(I$||b$)&&t$){v.preventDefault(),v.stopPropagation();let y$=g.slice(t$.start,t$.end);if(F4(y$).then((x$)=>{if(!Z$)return;let n$=globalThis.__VT_SHOW_COPY_TOAST__;if(typeof n$==="function")n$(x$?"Copied":"Copy failed")}).catch(()=>{if(!Z$)return;let x$=globalThis.__VT_SHOW_COPY_TOAST__;if(typeof x$==="function")x$("Copy failed")}),b$){let x$=g.slice(0,t$.start)+g.slice(t$.end);a(x$),B4(x$,t$.start)}return}if(v.key==="ArrowLeft"){v.preventDefault();let y$=U$?0:J$?ZA(g,H.value):H.value-1;L$(y$,r);return}if(v.key==="ArrowRight"){v.preventDefault();let y$=U$?g.length:J$?WA(g,H.value):H.value+1;L$(y$,r);return}if(v.key==="ArrowUp"||v.key==="ArrowDown"){v.preventDefault();let y$=h.value,{w:x$}=M(R4.value),n$=Math.max(1,x$),c$=uJ($.mentions,n$),J4=Math.max(1,n$-c$.cells),{line:h$,col:N4,lines:H4}=y$?mJ(g,$.multilineTexts,H.value,J4,n$):cJ(g,$.multilineTexts,H.value),_6=v.key==="ArrowUp"?h$-1:h$+1;if(_6<0){let O4=H4[h$].start;L$(O4,r);return}if(_6>=H4.length){let O4=H4[h$].end;L$(O4,r);return}let s4=_6,Y6=I.value??N4,r4=y$?KA(g,$.multilineTexts,H4[s4],Y6).index:VA(g,$.multilineTexts,H4[s4].start,H4[s4].end,Y6).index;L$(r4,r),I.value=Y6;return}if(v.key==="Home"){if(v.preventDefault(),Y$)L$(0,r);else{let{line:y$,lines:x$}=hB(g,H.value),n$=x$[y$].start;L$(n$,r)}return}if(v.key==="End"){if(v.preventDefault(),Y$)L$(g.length,r);else{let{line:y$,lines:x$}=hB(g,H.value),n$=x$[y$].end;L$(n$,r)}return}if(v.key==="Backspace"){let y$=$.mentions??[];if(!g&&H.value<=0&&y$.length>0){v.preventDefault(),U("update:mentions",y$.slice(0,-1)),Q.invalidate();return}v.preventDefault();let{value:x$,cursor:n$,deleted:c$}=d$(g);if(c$){a(x$),B4(x$,n$);return}if(H.value<=0)return;if(XA(g,H.value-1)){let h$=gB(g,H.value-1),N4=$.multilineTexts??[];if(h$>=0&&h$<N4.length){let H4=[...N4.slice(0,h$),...N4.slice(h$+1)];U("update:multilineTexts",H4)}}let J4=g.slice(0,H.value-1)+g.slice(H.value);a(J4),B4(J4,H.value-1);return}if(v.key==="Delete"){v.preventDefault();let{value:y$,cursor:x$,deleted:n$}=d$(g);if(n$){a(y$),B4(y$,x$);return}if(H.value>=g.length)return;if(XA(g,H.value)){let J4=gB(g,H.value),h$=$.multilineTexts??[];if(J4>=0&&J4<h$.length){let N4=[...h$.slice(0,J4),...h$.slice(J4+1)];U("update:multilineTexts",N4)}}let c$=g.slice(0,H.value)+g.slice(H.value+1);a(c$),B4(c$,H.value);return}if(v.key==="Enter"){if(v.preventDefault(),v.shiftKey)w4(`
817
+ `);else U("change",g);return}if(v.key==="Escape"){v.preventDefault(),P.value=!1,z.value=null,U("blur"),Q.invalidate();return}if(Ra(v)){v.preventDefault();let y$=v.key,{value:x$,cursor:n$,deleted:c$}=d$(g),J4=c$?x$:g,h$=c$?n$:H.value,N4=J4.slice(0,h$)+y$+J4.slice(h$);a(N4),B4(N4,h$+1)}}let{id:p$}=v1(()=>({rect:R4.value,zIndex:B.value,visible:V.value,focusable:!0,handlers:{pointerdown:(v)=>{if(v.button!==0)return;w={cellX:v.cellX,cellY:v.cellY},C=Boolean(v.shiftKey),b=!1,y=!1},pointermove:(v)=>{if(!w)return;let g=w.cellX!==v.cellX||w.cellY!==v.cellY;if(!b&&!g)return;if(!b){if(b=!0,y=!0,C){x4(v.cellX,v.cellY,!0,v),Q.invalidate();return}if(x4(w.cellX,w.cellY,!1,v),v.defaultPrevented)return;z.value=H.value}x4(v.cellX,v.cellY,!0,v),Q.invalidate()},pointerup:()=>{if(b)y=!0;w=null,C=!1,b=!1},beforeinput:(v)=>{if(L.value)return;if(v.isComposing||v.inputType==="insertCompositionText")j.value=!0,T.value=E$(v),b4(),Q.invalidate()},click:(v)=>{if(y){y=!1;return}let g=typeof v.timeStamp==="number"?v.timeStamp:Date.now(),r=Boolean(x&&x.cellX===v.cellX&&x.cellY===v.cellY),J$=Boolean(x&&g-x.time<=l),U$=r&&J$?x.count+1:1,Y$=U$===2,Z$=U$>=3;x={time:g,cellX:v.cellX,cellY:v.cellY,count:U$},P.value=!0,E.value=!0;let A$=G.value;if(A$&&p$.value)A$.focus(p$.value);U("focus");let I$=!Y$&&!Z$&&Boolean(v.shiftKey);if(x4(v.cellX,v.cellY,I$,v),v.defaultPrevented)return;if(Z$){n6(),x=null;return}if(Y$)E1();Q.invalidate()},paste:(v)=>{v.preventDefault();let g=e2(E$(v)),J$=UU(g)||g,U$=g.trim();if(U$.startsWith("@")&&!/[\s\r\n]/.test(U$)&&(U$.slice(1).includes("/")||U$.slice(1).includes("\\"))&&$.collectMentions){let Z$=U$.slice(1).trim();if(Z$&&!$.mentions?.includes(Z$))U("update:mentions",[...$.mentions||[],Z$]);return}if($.collapseMultiline){if((J$.match(/\n/g)||[]).length+1>=2){G$(J$);return}}w4(g)},compositionstart:(v)=>{L.value=!1,j.value=!0,T.value=E$(v),b4(),Q.invalidate()},compositionupdate:(v)=>{if(L.value)return;j.value=!0,T.value=E$(v),b4(),Q.invalidate()},compositionend:(v)=>{if(L.value)return;let g=E$(v)||T.value;if(j.value=!1,T.value="",L.value=!1,g)w4(g);k.value=!0,queueMicrotask(()=>{k.value=!1}),Q.invalidate()},input:(v)=>{if(k.value)return;if(L.value)return;if(v.isComposing){j.value=!0,T.value=E$(v),b4(),Q.invalidate();return}if(j.value){let r=E$(v)||T.value;if(j.value=!1,T.value="",r)w4(r);Q.invalidate();return}let g=E$(v);if(g)w4(g)},focus:()=>{P.value=!0,U("focus");let v=V$().length,g=$.cursorToEndOnFirstFocus&&!A.value&&!E.value;if(E.value=!1,g)H.value=v,z.value=null;A.value=!0,H.value=X4(H.value,0,v),b4(),E6(),Q.invalidate()},blur:()=>{if(P.value=!1,z.value=null,L.value=!1,j.value=!1,T.value="",Z?.value?.ownerId===N)Z.value=null;p4(),U("blur"),Q.invalidate()},keydown:C$}}));return v1(()=>({rect:e$.value?W4.value:{x:0,y:0,w:0,h:0},zIndex:B.value+1e4,visible:V.value&&e$.value,focusable:!1,handlers:{click:(v)=>{let g=W4.value,r=v.cellY-g.y;if(r<=0||r>=g.h-1)return;let J$=r-1;H$.value=X4(J$,0,Math.max(0,c4.value.length-1)),P$(H$.value)}}})),GA(()=>{if(!$.autoFocus)return;if(!V.value)return;let v=G.value,g=p$.value;if(!v||!g)return;if(v.getFocused()===g)return;v.focus(g)}),B1(()=>({zIndex:$.zIndex,rect:V.value?R4.value:{x:0,y:0,w:0,h:0},deps:[V.value,R4.value,$.w,$.h,$.zIndex,$.modelValue,$.mentions,$.multilineTexts,$.placeholder,$.placeholderWhenFocused,$.style,$.autoFocus,$.cursorBlink,$.cursorShape,$.blinkInterval,P.value,H.value,z.value,D.value,f.value,j.value,T.value,R.value,J.value],paint:()=>{if(!V.value)return;let v=R4.value;if(v.w<=0||v.h<=0)return;let g=$.style??J.value,r=I6.value,J$=r?0:D.value,U$=r?0:f.value,Y$=h.value&&!r,Z$=V$(),A$=l4(Z$),I$=r?P.value&&$.placeholderWhenFocused?` ${$.placeholder}`:$.placeholder:A$.text,b$=$.secret&&!r?j$(I$):I$,l$=r?{...g,fg:"white"}:g,{wAll:s$,padX:z4,w:i$}=M(v),t$=v.x+z4,i4=Math.max(1,i$),G6=uJ($.mentions,i4),F4=G6.cells,y$=Math.max(1,Math.max(1,i4)-F4),x$=Y$?uB(b$,$.multilineTexts,y$,i4):BG(b$);for(let c$=0;c$<v.h;c$++){let J4=U$+c$,h$=x$[J4],N4=J4===0&&F4>0,H4=N4?F4:0,_6=N4?y$:i4,s4=h$?fa(I$,b$,$.multilineTexts,h$.start,h$.end,_6,Y$?0:J$):{text:" ".repeat(_6),chips:[]},Y6=s4.text;if(_.write(" ".repeat(s$),{x:v.x,y:v.y+c$,style:l$}),i$<=0)continue;let r4=t$+H4;if(N4){for(let O4 of G6.chips){if(!O4.label)continue;let o4;switch(O4.type){case"image":o4={...g,fg:"magentaBright",underline:!0,bold:!0};break;case"video":o4={...g,fg:"yellowBright",underline:!0,bold:!0};break;case"audio":o4={...g,fg:"greenBright",underline:!0,bold:!0};break;case"document":o4={...g,fg:"blueBright",underline:!0,bold:!0};break;case"code":o4={...g,fg:"cyanBright",underline:!0,bold:!0};break;default:o4={...g,fg:"whiteBright",underline:!0};break}_.write(O4.label,{x:t$+O4.start,y:v.y+c$,style:o4})}_.write(Y6,{x:r4,y:v.y+c$,style:l$})}else _.write(Y6,{x:r4,y:v.y+c$,style:l$});if(s4.chips.length>0){let O4={...g,fg:"cyan",dim:!0};for(let o4 of s4.chips)_.write(o4.label,{x:r4+o4.startCell,y:v.y+c$,style:O4})}}let n$=h6.value;if(n$&&!r)for(let h$=0;h$<v.h;h$++){let N4=U$+h$,H4=x$[N4];if(!H4)continue;let _6=N4===0&&F4>0,s4=_6?F4:0,Y6=_6?y$:i4,r4=t$+s4,O4=v.y+h$,o4=Y$?0:J$,KU=La(A$.text,b$,$.multilineTexts,H4.start,H4.end,n$,Y6,o4);for(let a1 of KU){if(!a1.text)continue;_.write(a1.text,{x:r4+a1.startCell,y:O4,style:{...g,fg:"black",bg:"blueBright"}})}}if(P.value&&R.value&&!(h6.value&&!r)){let c$=i4,J4=Math.max(1,c$-F4),h$=r?"":A$.text,N4=$.secret&&!r?j$(h$):h$,H4=Y$?mJ(N4,$.multilineTexts,A$.cursor,J4,c$):cJ(N4,$.multilineTexts,A$.cursor),_6=(H4.line===0?F4:0)+(H4.col-J$),s4=H4.line-U$;if(Z&&P.value){let Y6=X4(_6,0,Math.max(0,i4-1)),r4=X4(s4,0,Math.max(0,v.h-1));Z.value={cellX:v.x+z4+Y6,cellY:v.y+r4,ownerId:N}}if(_6>=0&&_6<i4&&s4>=0&&s4<v.h){let Y6=v.y+s4,r4=t$+_6,O4=null;try{if(O4=_.getCell(r4,Y6),O4.continuation&&r4>0)r4-=1,O4=_.getCell(r4,Y6)}catch{O4=null}let o4=g.fg??J.value.fg??"whiteBright",KU=g.bg??J.value.bg??"black",a1=O4?.style??g,x1={...a1,fg:a1.fg??o4,bg:a1.bg??KU},I0=O4&&!O4.continuation?O4.ch||" ":" ";if($.cursorShape==="underline")_.put(r4,Y6,I0,{...x1,underline:!0});else if($.cursorShape==="bar")if(I0===" ")_.put(r4,Y6,"│",{...x1,fg:x1.fg??o4});else _.put(r4,Y6,I0,{...x1,inverse:!0});else _.put(r4,Y6,I0,{...x1,inverse:!0})}}}})),B1(()=>({zIndex:$.zIndex+5,stack:q,rect:V.value&&e$.value?W4.value:{x:0,y:0,w:0,h:0},deps:[V.value,e$.value,W4.value,c4.value,H$.value,$.style,$.zIndex,J.value],paint:()=>{if(!V.value||!e$.value)return;let v=W4.value;if(v.w<3||v.h<3)return;let g=$.style??J.value,r={...g,dim:!0},J$={...g},U$={...g,bg:"yellow",fg:"black"},Y$={...g,dim:!0},Z$={...g,bg:"yellow",fg:"black",dim:!0},A$={...g,dim:!0},I$=Math.max(0,Math.floor(v.w)),b$=Math.max(0,Math.floor(v.h)),l$=Math.max(0,I$-2);_.put(v.x,v.y,"┌",r),_.put(v.x+I$-1,v.y,"┐",r),_.put(v.x,v.y+b$-1,"└",r),_.put(v.x+I$-1,v.y+b$-1,"┘",r);for(let i$=1;i$<I$-1;i$++)_.put(v.x+i$,v.y,"─",r),_.put(v.x+i$,v.y+b$-1,"─",r);let s$=c4.value,z4=Math.max(0,b$-2);for(let i$=0;i$<z4;i$++){let t$=v.y+1+i$;if(_.put(v.x,t$,"│",r),_.put(v.x+I$-1,t$,"│",r),i$>=s$.length){_.write(" ".repeat(l$),{x:v.x+1,y:t$,style:r});continue}let i4=s$[i$],G6=i$===H$.value,F4=x6(i4.item.value),y$=i4.item.detail?x6(i4.item.detail):"",x$=O1(F4),n$=y$?O1(y$):0,c$=2,J4=l$-x$-c$;if(y$&&J4>=4){let h$=G6?U$:J$;_.write(F4,{x:v.x+1,y:t$,style:h$});let N4=l$-x$-Math.min(n$,J4),H4=G6?U$:J$;_.write(" ".repeat(N4),{x:v.x+1+x$,y:t$,style:H4});let _6=j5(y$,0,J4),s4=G6?Z$:Y$;_.write(_6,{x:v.x+1+x$+N4,y:t$,style:s4})}else{let h$=YA(j5(F4,0,l$),l$),N4=G6?U$:J$;_.write(h$,{x:v.x+1,y:t$,style:N4})}}if(s$.length===0&&z4>0){let i$=v.y+1;_.put(v.x,i$,"│",r),_.put(v.x+I$-1,i$,"│",r);let t$=YA(j5("(no matches)",0,l$),l$);_.write(t$,{x:v.x+1,y:i$,style:A$})}}})),Za(()=>{p4()}),()=>Ka("span",K)}});function za($,U,_){return Math.max(U,Math.min(_,$))}function Aa($){if(Math.abs($)<=3&&Number.isInteger($))return $;return $/100}function ka($,U){let _=$-U;if(!Number.isFinite(_)||_<=0||_>120)return 1;return 1+(1-_/120)*1.5}function FA(){return{accumulator:0,lastAt:0,lastEdgeDir:0,lastEdgeAt:0}}function qA($,U,_,Q,J=Date.now()){if(!Number.isFinite(U)||U===0||Q<=0){if(Q<=0)$.accumulator=0,$.lastEdgeDir=0,$.lastEdgeAt=0;return{nextTop:_,dir:0,lines:0}}let G=ka(J,$.lastAt);$.lastAt=J,$.accumulator+=Aa(U)*G;let Y=Math.trunc($.accumulator);if(Y===0)return{nextTop:_,dir:0,lines:0};$.accumulator-=Y;let X=Y>0?1:-1,V=_<=0,K=_>=Q;if(X<0&&V||X>0&&K)return $.lastEdgeDir=X,$.lastEdgeAt=J,$.accumulator=0,{nextTop:_,dir:0,lines:0};if($.lastEdgeDir!==0&&J-$.lastEdgeAt<120&&X===-$.lastEdgeDir&&(V||K))return{nextTop:_,dir:0,lines:0};let Z=_+Y,N=za(Z,0,Q);if(N===_)return $.accumulator=0,{nextTop:_,dir:0,lines:0};if(N!==Z)$.accumulator=0;return $.lastEdgeDir=0,{nextTop:N,dir:N>_?1:-1,lines:N-_}}import{computed as dJ,defineComponent as Ta,h as Sa,inject as Ia,watchEffect as va}from"vue";var G2={tl:"┌",tr:"┐",bl:"└",br:"┘",h:"─",v:"│"},HG=Ta({name:"TMultilineModal",props:{visible:{type:Boolean,required:!0},content:{type:String,required:!0},title:{type:String,default:"Multiline Text"},style:{type:Object,default:void 0},zIndex:{type:Number,default:1000}},emits:["close"],setup($,{emit:U}){let{terminal:_,scheduler:Q,defaultStyle:J,events:G}=M4(),Y=U6(),{visible:X,rootProps:V}=e6(),K=Ia(I1,dJ(()=>0)),Z=dJ(()=>(K.value??0)+($.zIndex??0)),N=dJ(()=>X.value&&$.visible),W=dJ(()=>{let H=_.snapshot(),z=H.cols,A=H.rows,E=Math.floor(z*0.8),D=Math.floor(A*0.7),f=Math.floor((z-E)/2),j=Math.floor((A-D)/2);return s6({x:f,y:j,w:E,h:D},Y.originX,Y.originY)}),B=dJ(()=>{return UU(String($.content||"")).split(`
818
+ `)}),q=dJ(()=>0);function O(H){if(H.preventDefault(),H.stopPropagation(),H.key==="Escape")U("close"),Q.invalidate()}let M=v1(()=>({rect:N.value?{x:0,y:0,w:_.snapshot().cols,h:_.snapshot().rows}:{x:0,y:0,w:0,h:0},zIndex:Z.value,visible:N.value,focusable:!0,handlers:{click:(H)=>{H.preventDefault(),H.stopPropagation(),U("close"),Q.invalidate()},keydown:O}})),P=v1(()=>({rect:N.value?W.value:{x:0,y:0,w:0,h:0},zIndex:Z.value+1,visible:N.value,focusable:!0,handlers:{click:(H)=>{H.preventDefault(),H.stopPropagation();let z=G.value,A=P.id.value;if(z&&A)z.focus(A)},keydown:O}}));return va(()=>{if(!N.value)return;let H=G.value,z=P.id.value||M.id.value;if(!H||!z)return;H.focus(z)}),B1(()=>({zIndex:$.zIndex,rect:N.value?{x:0,y:0,w:_.snapshot().cols,h:_.snapshot().rows}:{x:0,y:0,w:0,h:0},deps:[N.value,W.value,$.content,$.title,$.style,J.value],paint:()=>{if(!N.value)return;let H=_.snapshot(),z=$.style??J.value,A={...z,bg:"black",dim:!0};for(let O$=0;O$<H.rows;O$++)_.write(" ".repeat(H.cols),{x:0,y:O$,style:A});let E=W.value,D=z.fg??J.value.fg??"whiteBright",f=z.bg??J.value.bg??"black",j={...z,fg:"white"},T={...z,fg:D,bg:f},L={...z,dim:!0};_.put(E.x,E.y,G2.tl,j),_.put(E.x+E.w-1,E.y,G2.tr,j),_.put(E.x,E.y+E.h-1,G2.bl,j),_.put(E.x+E.w-1,E.y+E.h-1,G2.br,j);let k=Math.max(0,E.w-2),R=` ${x6($.title)} `,S=Math.min(R.length,k),I=E.x+1;_.write(R.slice(0,S),{x:I,y:E.y,style:j});let w=k-S;if(w>0)_.write(G2.h.repeat(w),{x:I+S,y:E.y,style:j});let C=" Press ESC to close ",b=Math.min(C.length,k),y=E.x+Math.floor((E.w-b)/2),x=y-E.x-1,l=k-x-b;if(x>0)_.write(G2.h.repeat(x),{x:E.x+1,y:E.y+E.h-1,style:j});if(_.write(C,{x:y,y:E.y+E.h-1,style:L}),l>0)_.write(G2.h.repeat(l),{x:y+b,y:E.y+E.h-1,style:j});for(let O$=1;O$<E.h-1;O$++)_.put(E.x,E.y+O$,G2.v,j),_.put(E.x+E.w-1,E.y+O$,G2.v,j);let t=Math.max(0,E.h-2),V$=B.value,u$=q.value;for(let O$=0;O$<t;O$++){let q$=u$+O$,m=V$[q$]??"",a=t4(m,k),d=a+" ".repeat(Math.max(0,k-a.length));_.write(d,{x:E.x+1,y:E.y+1+O$,style:T})}}})),()=>Sa("span",V)}});import{computed as D5,defineComponent as Ca,h as BA,inject as ya,ref as OG,watch as ba,watchEffect as xa}from"vue";function lJ($,U,_){return Math.max(U,Math.min(_,$))}function HA($){return Boolean($.ctrlKey||$.metaKey)}var jG=Ca({name:"TPathPicker",props:{x:{type:Number,required:!0},y:{type:Number,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},zIndex:{type:Number,default:0},workspace:{type:String,required:!0},mode:{type:String,default:"any"},modelValue:{type:String,required:!0},placeholder:{type:String,default:""},style:{type:Object,default:void 0},autoFocus:{type:Boolean,default:!1},showHidden:{type:Boolean,default:!1},maxSuggestions:{type:Number,default:50},provider:{type:Object,default:void 0}},emits:["update:modelValue","select","invalid","keydown","focus","blur"],setup($,{emit:U}){let{terminal:_,scheduler:Q,defaultStyle:J}=M4(),G=U6(),{visible:Y,rootProps:X}=e6(),V=ya(I1,D5(()=>0)),K=D5(()=>(V.value??0)+($.zIndex??0)),Z=D5(()=>$.provider??sU()),N=OG([]),W=OG(0),B=OG(0),q=OG(null),O=1,M=D5(()=>Math.max(0,Math.floor($.h)-1)),P=D5(()=>{let R={x:$.x,y:$.y+1,w:$.w,h:M.value},S=s6(R,G.originX,G.originY);if(!G.clipRect)return S;return q1(S,G.clipRect)??{x:0,y:0,w:0,h:0}});function H(){let R=Math.max(0,M.value);if(R<=0){B.value=0;return}let S=Math.max(0,N.value.length-R);if(B.value=lJ(B.value,0,S),W.value<B.value)B.value=W.value;else if(W.value>=B.value+R)B.value=lJ(W.value-(R-1),0,S)}ba([()=>W.value,()=>N.value.length,()=>M.value],()=>{H()});async function z(){let R=Math.max(0,Math.floor($.maxSuggestions)),S=await N5({workspaceAbs:$.workspace,input:$.modelValue,mode:$.mode,max:R,showHidden:$.showHidden,listDir:Z.value.listDir});N.value=S.suggestions,W.value=lJ(W.value,0,Math.max(0,N.value.length-1)),H(),Q.invalidate()}let A=0;xa(()=>{if(!Y.value)return;$.workspace,$.mode,$.showHidden,$.modelValue,M.value,q.value=null;let R=++A;z().catch((S)=>{if(R!==A)return;N.value=[],q.value=S instanceof Error?S.message:String(S),Q.invalidate()})});function E(R){let S=R.replace(/\r/g,"").replace(/\n/g," ");U("update:modelValue",S)}function D(R){let S=N.value.length;if(S<=0)return;let I=lJ(W.value+R,0,S-1);if(I!==W.value)W.value=I,H(),Q.invalidate()}function f(){let R=N.value[W.value];if(!R)return;E(R.completion)}async function j(R){let S=await Z.value.stat(R);if(!S.exists){q.value="Not found",U("invalid",{reason:"not_found",absPath:R}),Q.invalidate();return}if($.mode==="file"&&S.kind==="directory"){let I=m1(R),w=m1($.workspace),C=I===w?"":I.startsWith(`${w}/`)?I.slice(w.length+1):I;E(C?`${C}/`:""),q.value=null,Q.invalidate();return}if($.mode==="file"&&S.kind!=="file"){q.value="Not a file",U("invalid",{reason:"not_file",absPath:R}),Q.invalidate();return}if($.mode==="directory"&&S.kind!=="directory"){q.value="Not a directory",U("invalid",{reason:"not_directory",absPath:R}),Q.invalidate();return}U("select",Mz(R))}async function T(){let R=J2($.workspace,$.modelValue),S=await Z.value.stat(R);if(S.exists){if($.mode==="file"&&S.kind==="directory"){let w=$.modelValue.replace(/\r/g,"").replace(/\\/g,"/"),C=w.endsWith("/")?w:`${w}/`;E(C),q.value=null,Q.invalidate();return}await j(R);return}let I=N.value[W.value];if(I){if($.mode==="file"&&I.kind==="directory"){E(I.completion),q.value=null,Q.invalidate();return}await j(I.absPath);return}q.value="Not found",U("invalid",{reason:"not_found",absPath:R}),Q.invalidate()}function L(R){if(U("keydown",R),R.key==="Tab"){R.preventDefault(),f();return}if(R.key==="ArrowUp"){R.preventDefault(),D(-1);return}if(R.key==="ArrowDown"){R.preventDefault(),D(1);return}if(HA(R)&&(R.key==="p"||R.key==="P")){R.preventDefault(),D(-1);return}if(HA(R)&&(R.key==="n"||R.key==="N"))R.preventDefault(),D(1)}let k=FA();return v1(()=>({rect:P.value,zIndex:K.value,visible:Y.value,focusable:!1,handlers:{click:(R)=>{let S=P.value,I=B.value+(R.cellY-S.y);if(I>=0&&I<N.value.length)W.value=I,H(),Q.invalidate()},dblclick:async(R)=>{let S=P.value,I=B.value+(R.cellY-S.y),w=N.value[I];if(!w)return;if($.mode==="file"&&w.kind==="directory"){E(w.completion),q.value=null,Q.invalidate();return}await j(w.absPath)},wheel:(R)=>{let S=R.deltaY??0;if(!S)return;let I=Math.max(0,M.value),w=Math.max(0,N.value.length-I),{nextTop:C,dir:b}=qA(k,S,B.value,w);if(!b||C===B.value)return;B.value=C;let y=C,x=C+I-1;if(W.value<y||W.value>x){let l=b>0?x:y;W.value=lJ(l,0,Math.max(0,N.value.length-1))}Q.invalidate()}}})),B1(()=>({zIndex:$.zIndex,rect:Y.value?P.value:{x:0,y:0,w:0,h:0},deps:[Y.value,P.value,$.w,M.value,$.style,J.value,N.value,W.value,B.value,q.value],paint:()=>{if(!Y.value)return;let R=P.value;if(R.w<=0||R.h<=0)return;let S=$.style??J.value,I=lJ(B.value,0,Math.max(0,N.value.length-R.h));for(let w=0;w<R.h;w++){let C=I+w,b=N.value[C],y=b?x6(b.display):"",x=$1(t4(y,R.w),R.w),l=C===W.value?{...S,inverse:!0}:S;_.write(x,{x:R.x,y:R.y+w,style:l})}if(N.value.length===0&&R.h>0){let w=q.value?`(${x6(q.value)})`:"(no matches)";_.write($1(t4(w,R.w),R.w),{x:R.x,y:R.y,style:{...S,dim:!0}})}}})),()=>BA("span",X,[BA(D6,{x:$.x,y:$.y,w:$.w,h:1,zIndex:$.zIndex,modelValue:$.modelValue,"onUpdate:modelValue":(R)=>E(R),cursorToEndOnExternalUpdate:!0,placeholder:$.placeholder,style:$.style,autoFocus:$.autoFocus,onKeydown:(R)=>L(R),onChange:()=>void T(),onFocus:()=>U("focus"),onBlur:()=>U("blur")})])}});import{computed as mB,defineComponent as ga,h as ha,inject as ua,ref as OA,watchEffect as jA}from"vue";function Y2($,U,_){return Math.max(U,Math.min(_,$))}var j1=ga({name:"TSelect",props:{x:{type:Number,required:!0},y:{type:Number,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},zIndex:{type:Number,default:0},options:{type:Array,required:!0},modelValue:{type:[Number,Array],default:0},multiple:{type:Boolean,default:!1},multipleEmit:{type:String,default:"value"},style:{type:Object,default:void 0},highlightStyle:{type:Object,default:void 0},autoFocus:{type:Boolean,default:!1},closeOnBlur:{type:Boolean,default:!1}},emits:["update:modelValue","change","confirm","close","focus","blur","keydown"],setup($,{emit:U}){let{terminal:_,scheduler:Q,defaultStyle:J,events:G}=M4(),Y=U6(),{visible:X,rootProps:V}=e6(),K=ua(I1,mB(()=>0)),Z=mB(()=>(K.value??0)+($.zIndex??0)),N=OA(!1),W=(()=>{let L=Math.max(0,$.options.length-1);if(!$.multiple){let S=typeof $.modelValue==="number"?$.modelValue:0;return Y2(S,0,L)}let R=(Array.isArray($.modelValue)?$.modelValue:[])[0]??0;return Y2(R,0,L)})(),B=OA(W),q=mB(()=>{let L={x:$.x,y:$.y,w:$.w,h:$.h},k=s6(L,Y.originX,Y.originY);if(!Y.clipRect)return k;return q1(k,Y.clipRect)??{x:0,y:0,w:0,h:0}});jA(()=>{let L=Math.max(0,$.options.length-1);if(!$.multiple){let k=typeof $.modelValue==="number"?$.modelValue:0;B.value=Y2(k,0,L);return}B.value=Y2(B.value,0,L)});function O(L){return typeof L==="string"?L:L.label}function M(L){return typeof L==="string"?void 0:L.detail}function P(L){let k=Y2(L,0,Math.max(0,$.options.length-1));B.value=k,U("update:modelValue",k);let R=$.options[k];U("change",R?O(R):null)}function H(){if(!$.multiple)return[];let L=Math.max(0,$.options.length-1),k=Array.isArray($.modelValue)?$.modelValue:[],R=new Set;for(let S of k){if(typeof S!=="number"||!Number.isFinite(S))continue;R.add(Y2(Math.trunc(S),0,L))}return[...R].sort((S,I)=>S-I)}function z(L){let k=L.map((R)=>$.options[R]).filter(Boolean).map((R)=>O(R));return{indices:L,values:k}}function A(L,k){let R=z(k);if($.multipleEmit==="index"){U(L,R.indices);return}if($.multipleEmit==="both"){U(L,R);return}U(L,R.values)}function E(L){let k=Y2(L,0,Math.max(0,$.options.length-1));B.value=k;let R=new Set(H());if(R.has(k))R.delete(k);else R.add(k);let S=[...R].sort((I,w)=>I-w);U("update:modelValue",S),A("change",S)}function D(){let L=H();A("confirm",L)}function f(L){if($.multiple)E(L);else P(L)}function j(L){if(U("keydown",L),L.defaultPrevented)return;if(L.key==="ArrowUp"){if(L.preventDefault(),B.value=Y2(B.value-1,0,Math.max(0,$.options.length-1)),!$.multiple)U("update:modelValue",B.value);Q.invalidate();return}if(L.key==="ArrowDown"){if(L.preventDefault(),B.value=Y2(B.value+1,0,Math.max(0,$.options.length-1)),!$.multiple)U("update:modelValue",B.value);Q.invalidate();return}if($.multiple&&(L.code==="Space"||L.key===" "||L.key==="Spacebar")){L.preventDefault(),E(B.value);return}if(L.key==="Enter"){if($.multiple){L.preventDefault(),D();return}f(B.value);return}if(L.key==="Escape")L.preventDefault(),U("close")}let{id:T}=v1(()=>({rect:q.value,zIndex:Z.value,visible:X.value,focusable:!0,handlers:{click:(L)=>{let k=q.value,R=L.cellY-k.y;if(R>=0&&R<$.options.length)f(R);else U("close")},focus:()=>{N.value=!0,U("focus"),Q.invalidate()},blur:()=>{if(N.value=!1,U("blur"),$.closeOnBlur)U("close");Q.invalidate()},keydown:j}}));return jA(()=>{if(!$.autoFocus)return;if(!X.value)return;let L=G.value,k=T.value;if(!L||!k)return;if(L.getFocused()===k)return;L.focus(k)}),B1(()=>({zIndex:$.zIndex,rect:X.value?q.value:{x:0,y:0,w:0,h:0},deps:[X.value,q.value,$.w,$.h,$.options,$.modelValue,$.multiple,$.multipleEmit,$.style,$.highlightStyle,N.value,B.value,J.value],paint:(L)=>{if(!X.value)return;let k=q.value;if(k.w<=0||k.h<=0)return;let R=$.style??J.value,S=$.highlightStyle??{...R,bg:"yellow",fg:"black"},I={...R,dim:!0},w={...S,dim:!0},C=$.multiple?new Set(H()):null,b=(y)=>{if(!L)return!0;let x=Math.floor(k.y+y);return L.includes(x)};for(let y=0;y<k.h;y++){if(!b(y))continue;let x=$.options[y];if(!x){_.write(" ".repeat(k.w),{x:k.x,y:k.y+y,style:R});continue}let l=y===B.value,t=$.multiple?C.has(y):l,V$=$.multiple?N.value&&l:l,u$=$.multiple?t?"[x] ":"[ ] ":"",O$=x6(O(x)),q$=M(x),m=q$?x6(q$):"",a=`${u$}${O$}`,d=k$(a),i=1,n=Math.max(0,k.w-d-i);if(m&&n>=4){let h=V$?S:R;_.write(a,{x:k.x,y:k.y+y,style:h});let _$=t4(m,n),H$=k$(_$),D$=Math.max(0,k.w-d-H$),j$=V$?S:R;_.write(" ".repeat(D$),{x:k.x+d,y:k.y+y,style:j$});let r$=V$?w:I;_.write(_$,{x:k.x+d+D$,y:k.y+y,style:r$})}else{let h=$1(t4(a,k.w),k.w),_$=V$?S:R;_.write(h,{x:k.x,y:k.y+y,style:_$})}}}})),()=>ha("span",V)}});import{computed as ma,inject as DA}from"vue";var iJ=Symbol("TerminalRouter"),DG=Symbol("TerminalRoute");function rJ(){let $=DA(iJ,null);if(!$)throw Error("TerminalRouter is missing");return $}function EG(){let $=DA(DG,null);if(!$)throw Error("TerminalRoute is missing");return ma(()=>$.value)}import{ref as ca}from"vue";function EA($,U){let _=typeof $==="string"?{name:$}:$,Q=U.get(_.name);return{name:_.name,params:_.params,meta:Q?.meta}}function E5($){return typeof $==="string"||typeof $==="object"&&$!=null&&"name"in $}function MG($){let U=new Map($.routes.map((N)=>[N.name,N])),_=ca(EA($.initialRoute,U)),Q=[_.value],J=0,G=[],Y=[],X=[];async function V(N,W,B){for(let q of N){let O=await q(W,B);if(O===!1)return!1;if(E5(O))return O}return!0}async function K(N,W){let B=_.value,q=EA(N,U),O=U.get(B.name)??null,M=U.get(q.name)??null,P=await V(G,q,B);if(P===!1)return;if(E5(P))return K(P,W);let H=await V(Y,q,B);if(H===!1)return;if(E5(H))return K(H,W);if(O?.onLeave)await O.onLeave(q,B);if(_.value=q,W==="replace")Q[J]=q;else if(W==="push")Q.splice(J+1),Q.push(q),J=Q.length-1;if(M?.onEnter)await M.onEnter(q,B);for(let z of X)z(q,B)}let Z={currentRoute:_,async push(N){await K(N,"push")},async replace(N){await K(N,"replace")},async back(){if(J<=0)return;let N=_.value,W=Q[J-1],B=U.get(N.name)??null,q=U.get(W.name)??null,O=await V(G,W,N);if(O===!1)return;if(E5(O))return K(O,"push");let M=await V(Y,W,N);if(M===!1)return;if(E5(M))return K(M,"push");if(B?.onLeave)await B.onLeave(W,N);if(J-=1,_.value=W,q?.onEnter)await q.onEnter(W,N);for(let P of X)P(W,N)},beforeEach(N){return G.push(N),()=>{let W=G.indexOf(N);if(W>=0)G.splice(W,1)}},beforeResolve(N){return Y.push(N),()=>{let W=Y.indexOf(N);if(W>=0)Y.splice(W,1)}},afterEach(N){return X.push(N),()=>{let W=X.indexOf(N);if(W>=0)X.splice(W,1)}},install(N){N.provide(iJ,Z),N.provide(DG,_)}};return Z}function MA($,U){let _=$.currentRoute.value;return U.find((J)=>J.name===_.name)?.component??null}import{computed as da,defineComponent as la,h as ia,inject as ra,ref as na,watch as pa}from"vue";var PG=la({name:"TRouterView",props:{routes:{type:Array,required:!0},forceRemount:{type:Boolean,default:!0}},setup($){let U=ra(iJ,null);if(!U)throw Error("TerminalRouter is missing (did you forget to app.use(router)?)");let _=na(0);pa(()=>U.currentRoute.value,()=>{if($.forceRemount)_.value++},{deep:!0});let Q=da(()=>MA(U,$.routes));return()=>{let J=Q.value;return J?ia(J,{key:$.forceRemount?_.value:void 0}):null}}});function cB(){return typeof performance<"u"?performance.now():Date.now()}async function dB($){await new Promise((U)=>setTimeout(U,$))}var PA=null;function nJ($){if(PA?.GOATCHAIN_DEBUG==="1")try{let U=new Date().toISOString().split("T")[1].slice(0,-1);oa.appendFileSync("/tmp/goatchain-debug.log",`[${U}] [GHOSTTY-KEEPALIVE] ${$}
819
+ `)}catch{}}function aa($){let U=kB({cols:$.cols,rows:$.rows,component:$.component,props:$.props,defaultStyle:$.defaultStyle});return $.install?.(U.app),U.mount(),{app:U.app,terminal:U.terminal,events:U.events,scheduler:U.scheduler,getImeAnchor:U.getImeAnchor,dispose:U.dispose}}async function ta($,U,_){let Q=null;for(let J of _){let G=typeof J?.time==="number"?J.time:null;if(G!=null&&Q!=null){let Y=Math.max(0,G-Q);await dB(Math.min(Y,5000))}if(G!=null)Q=G;$.dispatch(J),await fG(),U.flush()}}async function fA($){PA=$.proc.env,nJ("runTerminalUi() called");let U=aa({cols:$.cols,rows:$.rows,component:$.component,props:$.props,install:$.install,defaultStyle:$.defaultStyle}),_=()=>WG(U.terminal,{output:$.proc.stdout,altScreen:$.altScreen,palette:$.palette,trackResize:!$.sizeLocked,hideCursor:!0,defaultBg:$.defaultBg,getImeAnchor:U.getImeAnchor}),Q=_(),J=[],G=cB(),Y=(f)=>{let j=f.time==null?{...f,time:cB()-G}:f;return J.push(j),U.events.dispatch(j)};U.scheduler.flush();let X=null,V="GHOSTTY_RESOURCES_DIR"in($.proc.env??{});nJ(`BEFORE exit setup - Ghostty detection: ${V}`);let K=null,Z=null,N=!1,W=!1,B=()=>{if(K)clearInterval(K),K=null},q=()=>{if(N)return;N=!0;let f=U.scheduler.invalidate;U.scheduler.invalidate=()=>{W=!0,f()}},O=()=>{if(!V||K)return;q(),K=setInterval(()=>{if(W)U.scheduler.flush(),W=!1},100)},M=()=>{if(Z)return;let f=typeof $.proc.exitCode==="number"?$.proc.exitCode:0;Z=setTimeout(()=>{try{$.proc.exit(f)}catch{}},1500),Z.unref?.()},P=()=>{if(B(),X)X.dispose(),X=null;if(Q)Q.dispose(),Q=null},H=!1,z=()=>{if(P(),!H)U.dispose(),H=!0};Vz(()=>{(async()=>{if($.proc.exitCode==null)$.proc.exitCode=0;let f=$.snapshotPath?U.terminal.snapshot().lines:null;if(z(),$.recordPath)await DB($.recordPath,J);if($.snapshotPath&&f)await UG($.snapshotPath,f);M()})()}),$.proc.on("exit",()=>{z()}),$.proc.on("beforeExit",()=>{z()});let E=()=>{P();try{$.proc.removeListener("SIGTSTP",E)}catch{}try{$.proc.kill($.proc.pid,"SIGTSTP")}catch{}},D=()=>{try{let f=typeof $.proc.listeners==="function"?$.proc.listeners("SIGTSTP"):[];if(Array.isArray(f)&&f.includes(E))return}catch{}$.proc.on("SIGTSTP",E)};if(D(),$.proc.on("SIGCONT",()=>{if(D(),!Q)Q=_();if(!X&&!$.replayPath)X=$G({stdin:$.proc.stdin,stdout:$.proc.stdout,dispatch:Y,enableMouse:$.enableMouse,onExit:()=>Z5()}),O();U.scheduler.invalidate(),U.scheduler.flush()}),$.replayPath){await fG(),await fG(),U.scheduler.flush();let f=await EB($.replayPath);if(await ta(U.events,U.scheduler,f),await dB(800),await fG(),U.scheduler.flush(),$.snapshotPath)await UG($.snapshotPath,U.terminal.snapshot().lines);z();return}if(X=$G({stdin:$.proc.stdin,stdout:$.proc.stdout,dispatch:Y,enableMouse:$.enableMouse,onExit:()=>Z5()}),V)nJ("Starting keep-alive interval (100ms)"),O(),nJ("Keep-alive interval created successfully");if($.proc.on("SIGINT",()=>Z5()),$.proc.on("SIGTERM",()=>Z5()),V)nJ("Entering ghostty keep-alive loop (waiting forever)"),await new Promise(()=>{}),nJ("Keep-alive loop exited (this should never happen)")}var xG=f4(FT(),1);import{spawn as ls}from"node:child_process";import{existsSync as is,readFileSync as rs}from"node:fs";import GH from"node:path";import{fileURLToPath as ns}from"node:url";var gG="goatchain-cli",ps="upgrade-toast.json",os="upgrade-check.log",BT=process.env.GOATCHAIN_DEBUG_LOG||"./goatchain-debug.log",as=`https://registry.npmjs.org/${gG}`,ts=5000;async function es(){try{let $=new AbortController,U=setTimeout(()=>$.abort(),ts),_=await fetch(as,{signal:$.signal,headers:{Accept:"application/json"}});if(clearTimeout(U),!_.ok)throw Error(`npm registry returned ${_.status}`);let J=(await _.json())["dist-tags"]?.latest;if(!J||typeof J!=="string")throw Error("No latest version found in registry response");return J}catch($){if($ instanceof Error&&$.name==="AbortError")throw Error("npm registry request timed out");throw $}}async function HT(){if(await J1("start",{disableAutoUpdate:process.env.GOATCHAIN_DISABLE_AUTOUPDATE==="1",autoUpdate:process.env.GOATCHAIN_AUTOUPDATE!=="0",cwd:_$$(),argv:J$$(),debugLogPath:BT}),process.env.GOATCHAIN_DISABLE_AUTOUPDATE==="1")return await J1("skip-disabled"),null;let $=Q$$();if(!$?.version)return await J1("skip-missing-version"),null;let U=$.version,_=$.source==="injected";try{let Q=await es();if(await J1("check-result",{current:U,latest:Q,hasInjectedVersion:_}),!Q)return await J1("error",{message:"Failed to fetch latest version"}),null;if(xG.default.valid(U)&&xG.default.valid(Q)){if(xG.default.gte(U,Q))return await J1("no-update",{current:U,latest:Q}),null;if(process.env.GOATCHAIN_AUTOUPDATE!=="0"&&_)return await J1("update-available",{current:U,latest:Q,autoUpdate:!0}),ss(Q),`Update available: ${gG}@${Q} (current: ${U}). Installing in background. Restart terminal after it finishes.`;return await J1("update-available",{current:U,latest:Q,autoUpdate:!1}),`Update available: ${gG}@${Q} (current: ${U})`}if(U===Q)return await J1("no-update",{current:U,latest:Q}),null;return await J1("update-available",{current:U,latest:Q,autoUpdate:!1}),`Update available: ${gG}@${Q} (current: ${U})`}catch(Q){return await J1("error",{message:Q instanceof Error?Q.message:String(Q)}),null}}function ss($){try{J1("autoupdate-start",{version:$});let U=ls("npm",["install","-g",`goatchain-cli@${$}`],{stdio:"ignore",detached:!0});U.unref();let _=!1,Q=(J)=>{if(_)return;_=!0,J1("autoupdate-finish",{version:$,message:J}),qT(J)};U.on("close",(J)=>{if(J===0)Q(`Update installed: goatchain-cli@${$}. Restart terminal to use the new version.`);else Q("Auto-update failed. Run: npm install -g goatchain-cli")}),U.on("error",()=>{J1("autoupdate-error",{version:$,reason:"process-error"}),Q("Auto-update failed. Run: npm install -g goatchain-cli")})}catch{J1("autoupdate-error",{version:$,reason:"spawn-throw"}),qT("Auto-update failed. Run: npm install -g goatchain-cli")}}function qT($){let U=globalThis?.__GOATCHAIN_UPGRADE_TOAST__;if(typeof U==="function")try{U($);return}catch{}$$$($)}async function $$$($){try{let{getGoatChainUserDir:U}=await Promise.resolve().then(() => n3),[{mkdir:_,writeFile:Q},J]=await Promise.all([import("node:fs/promises"),import("node:path")]),G=await U(process.env);await _(G,{recursive:!0});let Y=J.join(G,ps),X=JSON.stringify({message:$,createdAt:Date.now()});await Q(Y,X,"utf8")}catch{}}async function J1($,U){try{let{getGoatChainUserDir:_}=await Promise.resolve().then(() => n3),[{mkdir:Q,appendFile:J},G]=await Promise.all([import("node:fs/promises"),import("node:path")]),Y=await _(process.env);await Q(Y,{recursive:!0});let X=G.join(Y,os),V={ts:new Date().toISOString(),event:$,...U};await J(X,`${JSON.stringify(V)}
820
+ `,{encoding:"utf8",mode:384}),await U$$(V)}catch{}}async function U$$($){try{let{appendFile:U}=await import("node:fs/promises"),Q=`[${String($.ts??new Date().toISOString())}] upgrade_check ${JSON.stringify($)}
821
+ `;await U(BT,Q,{encoding:"utf8"})}catch{}}function _$$(){try{return process.cwd()}catch{return}}function J$$(){try{return process.argv}catch{return}}function Q$$(){let $="0.0.4-beta.38".trim();if($)return{version:$,source:"injected"};let U=G$$();if(U)return{version:U,source:"package"};return null}function G$$(){try{let $=GH.dirname(ns(import.meta.url));for(let U=0;U<6;U++){let _=GH.join($,"package.json");if(is(_)){let J=rs(_,"utf8"),G=JSON.parse(J),Y=typeof G?.version==="string"?G.version.trim():"";if(Y)return Y}let Q=GH.dirname($);if(Q===$)break;$=Q}}catch{}return null}import{computed as Y1,defineComponent as w4$,h as V_,inject as z4$,nextTick as A4$,onBeforeUnmount as k4$,provide as T4$,ref as K2,watch as J8}from"vue";var J_=Symbol("GoatChainBridge");var OT=["user","assistant","tool"];var jT=["status","thinking","markdown","tool_call","tool_output","tool_result","approve","todo","plan"];var oJ=[...OT,...jT];var hG=["black","red","green","yellow","blue","magenta","cyan","white","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright"];function YH($,U){let _={};for(let Q of oJ)_[Q]={fg:$,bg:U};return _}var DT=Object.freeze({goatchain:{...YH("white","black"),user:{fg:"whiteBright",bg:"blackBright"},assistant:{fg:"white",bg:"black"},tool:{fg:"white",bg:"black"},markdown:{fg:"white",bg:"black"},status:{fg:"white",bg:"black"},thinking:{fg:"blueBright",bg:"black"},tool_call:{fg:"white",bg:"black"},tool_output:{fg:"white",bg:"black"},tool_result:{fg:"white",bg:"black"},approve:{fg:"white",bg:"black"},todo:{fg:"whiteBright",bg:"black"},plan:{fg:"whiteBright",bg:"black"}},mono:{...YH("white","black"),user:{fg:"white",bg:"black"},assistant:{fg:"white",bg:"black"},tool:{fg:"white",bg:"black"},thinking:{fg:"white",bg:"black"}},contrast:{...YH("whiteBright","black"),user:{fg:"whiteBright",bg:"blackBright"},assistant:{fg:"whiteBright",bg:"black"},tool:{fg:"whiteBright",bg:"black"},thinking:{fg:"blueBright",bg:"black"},tool_call:{fg:"yellowBright",bg:"black"},tool_output:{fg:"cyanBright",bg:"black"},tool_result:{fg:"cyanBright",bg:"black"},todo:{fg:"greenBright",bg:"black"},plan:{fg:"magentaBright",bg:"black"}}});function A0($,U){let _=DT[$.preset]??DT.goatchain,Q=_[U]??_.assistant??{fg:"white",bg:"black"},J=$.overrides?.[U]??{};return{...Q,...J}}import XH from"node:fs";function Y$$($){let _="";for(let Q=0;Q<$.length;Q++){if($[Q]!=="\x1B"||$[Q+1]!=="["){_+=$[Q];continue}let J=Q+2;while(J<$.length){let G=$.charCodeAt(J);if(G>=48&&G<=57||G===59){J++;continue}break}if(J<$.length&&$[J]==="m"){Q=J;continue}_+=$[Q]}return _}function ET($){$=Y$$($);let U="";for(let _ of $){let Q=_.codePointAt(0);if(Q<=31&&Q!==10&&Q!==9||Q===127||Q>=128&&Q<=159)continue;U+=_}return U}function aJ($){let U=0;for(let _ of $)U+=k4(_);return U}function uG($,U){if(U=Math.max(0,Math.floor(U)),U<=0)return{chunk:"",rest:$};let _=0,Q=0;for(;Q<$.length;){let J=$.codePointAt(Q)??0,G=String.fromCodePoint(J),Y=k4(G);if(_+Y>U)break;if(_+=Y,Q+=G.length,_>=U)break}return{chunk:$.slice(0,Q),rest:$.slice(Q)}}function k5($,U){return uG($,U).chunk}function MT($,U){U=Math.max(0,Math.floor(U));let _=aJ($);if(_>=U)return k5($,U);return`${$}${" ".repeat(U-_)}`}function PT($,U){if(U=Math.max(1,Math.floor(U)),!$)return[""];let _=[],Q=$;while(!0){let{chunk:J,rest:G}=uG(Q,U);if(_.push(J),!G)break;Q=G}return _}var Q_=new Map,X$$=100,V$$=60000;function K$$($,U){let _=0,Q=`${$}|${U}`;for(let J=0;J<Q.length;J++){let G=Q.charCodeAt(J);_=(_<<5)-_+G,_=_&_}return _.toString(36)}function Z$$(){let $=Date.now();for(let[U,_]of Q_.entries())if($-_.timestamp>V$$)Q_.delete(U)}if(typeof setInterval<"u")setInterval(Z$$,1e4);function mG($){let U=(V)=>{try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let Z=new Date().toISOString().split("T")[1].slice(0,-1);XH.appendFileSync("/tmp/goatchain-debug.log",`[${Z}] [PARSE-INLINE] ${V}
822
+ `)}}catch{}},_=[],Q="",J=0;U(`START: text length=${$.length}`);function G(){if(!Q)return;_.push({kind:"text",text:Q}),Q=""}let Y=0,X=$.length*10+1000;while(J<$.length){if(Y++,Y>X){U(`ERROR: Infinite loop detected! i=${J}, text.length=${$.length}, iterations=${Y}`);break}if(Y%100===0)U(` Progress: i=${J}/${$.length}, iterations=${Y}`);let V=$[J];if(V==="`"){let K=$.indexOf("`",J+1);if(K>J+1){G(),_.push({kind:"code",text:$.slice(J+1,K)}),J=K+1;continue}}if(V==="*"&&$[J+1]==="*"){let K=$.indexOf("**",J+2);if(K>J+2){G(),_.push({kind:"bold",text:$.slice(J+2,K)}),J=K+2;continue}}Q+=V,J++}return G(),U(`END: ${_.length} spans, iterations=${Y}`),_}function cG($,U){let _=(N)=>{try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let B=new Date().toISOString().split("T")[1].slice(0,-1);XH.appendFileSync("/tmp/goatchain-debug.log",`[${B}] [WRAP-SPANS] ${N}
823
+ `)}}catch{}};if(U<=0)return[[{kind:"text",text:""}]];_(`START: spans=${$.length}, width=${U}`);function Q(N){let W=[],B=/\s+/g,q=0;for(let O=B.exec(N.text);O;O=B.exec(N.text)){if(O.index>q)W.push({kind:N.kind,text:N.text.slice(q,O.index)});W.push({kind:N.kind,text:O[0]}),q=O.index+O[0].length}if(q<N.text.length)W.push({kind:N.kind,text:N.text.slice(q)});return W}let J=[],G=[],Y=0;function X(N){if(!N.text)return 0;if(/^\s+$/.test(N.text))return N.text.length;return aJ(N.text)}function V(N){let W=G[G.length-1];if(W&&W.kind===N.kind){W.text+=N.text;return}G.push({...N})}function K(){J.push(G),G=[],Y=0}let Z=0;for(let N of $){Z++;let W=Q(N),B=0;for(let q of W){if(B++,!q.text)continue;if(/^\s+$/.test(q.text)&&Y===0)continue;let O=X(q);if(O<=U-Y){V(q),Y+=O;continue}if(!/^\s+$/.test(q.text)&&Y>0&&O<=U){K(),V(q),Y+=O;continue}let M=q.text,P=0,H=q.text.length*10+100;while(M){if(P++,P>H){_(`ERROR: Infinite loop in chunking! span=${Z}, token=${B}, iterations=${P}, remaining="${M.slice(0,50)}", col=${Y}, width=${U}`);break}let z=U-Y;if(z<=0){K();continue}if(/^\s+$/.test(M)){K(),M="";continue}let A=uG(M,z),E=A.chunk;if(M=A.rest,V({kind:q.kind,text:E}),Y+=aJ(E),Y>=U)K()}}}if(G.length===0)return J.length?J:[[{kind:"text",text:""}]];return J.push(G),_(`END: ${J.length} lines`),J}function fT($,U){let _=(D)=>{try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let j=new Date().toISOString().split("T")[1].slice(0,-1);XH.appendFileSync("/tmp/goatchain-debug.log",`[${j}] [MARKDOWN-PARSE] ${D}
824
+ `)}}catch{}},Q=Date.now();_(`START: markdown length=${$.length}, width=${U}`);let J=K$$($,U),G=Q_.get(J);if(G)return _(`CACHE HIT: returning ${G.lines.length} cached lines`),G.timestamp=Date.now(),G.lines;_("CACHE MISS: parsing markdown");let Y=ET($).split(`
825
+ `);_(`After sanitize: ${Y.length} lines`);let X=[],V=!1,K="",Z=0,N=2,W=!0,B=!0,q=/[┌┐└┘│─├┤┬┴┼╭╮╯╰]/;function O(D){return Math.max(0,Math.floor(D))}function M(D,f){if(f<=0)return"";return MT(D,f)}function P(D,f){if(f=O(f),f<=0)return"";if(f===1)return"┌";let j=Math.max(0,f-2),L=` ${(D||"code").trim()} `;if(j===0)return"┌┐";let k=k5(L,j),R="─".repeat(Math.max(0,j-aJ(k)));return`┌${k}${R}┐`.slice(0,f)}function H(D){if(D=O(D),D<=0)return"";if(D===1)return"└";return`└${"─".repeat(Math.max(0,D-2))}┘`.slice(0,D)}function z(D,f,j){if(j=O(j),j<=0)return"";if(j<4)return k5(D,j);let T=Math.max(0,j-2),k=T<6||!f?"":`${f} │ `;return`│${M(`${k}${D}`,T)}│`.slice(0,j)}let A=0;for(let D of Y){if(A%100===0)_(`Processing line #${A}/${Y.length}`);let f=D.replace(/\r/g,"");if(f.startsWith("```")){if(!V){V=!0,K=f.slice(3).trim(),Z=0,N=2,W=!0,B=!0;let b=0,y=!1;for(let x=A+1;x<Y.length;x++){let l=Y[x].replace(/\r/g,"");if(l.startsWith("```"))break;if(b++,!y&&q.test(l))y=!0}if(N=Math.max(2,String(Math.max(0,b)).length),y)W=!1,B=!1;X.push({kind:"code",spans:[{kind:"text",text:P(K||"code",U)}]})}else V=!1,X.push({kind:"code",spans:[{kind:"text",text:H(U)}]});A++;continue}if(V){Z+=1;let b=String(Z).padStart(N," "),y=Math.max(0,O(U)-2),l=!B||y<6?0:N+3,t=Math.max(1,y-l),V$=W?PT(f,t):[k5(f,t)];for(let[u$,O$]of V$.entries()){let q$=!B?"":u$===0?b:" ".repeat(N);X.push({kind:"code",spans:[{kind:"text",text:z(O$,q$,U)}]})}A++;continue}if(/^#{1,6}\s+/.test(f)){let b=f.replace(/^#{1,6}\s+/,""),y=mG(b);for(let x of cG(y,U))X.push({kind:"heading",spans:x});A++;continue}if(f.startsWith("> ")){let b=f.slice(2),y=mG(b);for(let x of cG(y,Math.max(1,U-2)))X.push({kind:"quote",spans:[{kind:"text",text:"│ "},...x]});A++;continue}let j=0;while(j<f.length&&f[j]===" ")j++;let T=(b)=>f[b]===" "||f[b]==="\t",L=(b)=>{let y=b;while(y<f.length&&T(y))y++;return y},k=!1,R="",S="",I=0,w=f[j];if(w==="-"||w==="*"||w==="+"){let b=j+1;if(T(b)){let y=L(b);if(y<f.length)k=!0,I=Math.floor(j/2),R="•",S=f.slice(y)}}if(!k){let b=j;while(b<f.length){let y=f.charCodeAt(b);if(y<48||y>57)break;b++}if(b>j&&f[b]==="."&&T(b+1)){let y=L(b+1);if(y<f.length)k=!0,I=Math.floor(j/2),R=`${f.slice(j,b)}.`,S=f.slice(y)}}if(k){let y=`${" ".repeat(I*2)}${R} `,x=aJ(y),l=" ".repeat(x),t=mG(S),V$=cG(t,Math.max(1,U-x));for(let[u$,O$]of V$.entries())X.push({kind:"list",spans:[{kind:"text",text:u$===0?y:l},...O$]});A++;continue}if(!f.trim()){X.push({kind:"text",spans:[{kind:"text",text:""}]}),A++;continue}let C=mG(f);for(let b of cG(C,U))X.push({kind:"text",spans:b});A++}if(_(`After parsing: ${X.length} output lines`),Q_.size>=X$$){let D=null,f=Date.now();for(let[j,T]of Q_.entries())if(T.timestamp<f)f=T.timestamp,D=j;if(D)Q_.delete(D)}Q_.set(J,{hash:J,lines:X,timestamp:Date.now()});let E=Date.now()-Q;return _(`END: total ${E}ms, ${X.length} lines`),X}function LT(){return{type:"none"}}function RT($){return{type:"selectToolCall",callId:$}}function wT(){return{type:"openApproval"}}function zT($){return{type:"openFile",absPath:$}}function VH($,U,_){return{type:"toggleItem",messageId:$,part:U,itemId:_}}function dG($,U,_){return{type:"toggleCollapse",messageId:$,part:U,partIndex:_}}function Q1($){return{type:"toggleBashOutput",toolCallId:$}}function AT($){let U=/\[?@((?:\/|\.\.?\/)[^\s[\](){}'"`,;:!?]+)\]*/g,_=[],Q="",J=0,G;G=U.exec($);while(G!==null){let Y=G[0],X=G[1],V=G.index;Q+=$.slice(J,V);let K=X.replace(/[\])'"`,;:!?]+$/,"").replace(/[.-]+$/,""),N=`[${K.split("/").pop()||K}]`,W=Q.length;Q+=N;let B=Q.length;_.push({start:W,end:B,absPath:K}),J=V+Y.length,G=U.exec($)}return Q+=$.slice(J),{displayText:Q,segments:_}}function T5($,U){U=Math.max(1,Math.floor(U));let _=[],Q=0,J=0,G=[],Y=0,X=(V)=>{_.push({text:G.join(""),start:J,end:V}),G=[],Y=0};while(Q<$.length){let V=$.codePointAt(Q)??0,K=String.fromCodePoint(V);if(K===`
826
+ `){X(Q),Q+=K.length,J=Q;continue}let Z=k4(K);if(Y+Z>U){if(Y===0){G=[K],Q+=K.length,X(Q),J=Q;continue}X(Q),J=Q;continue}G.push(K),Y+=Z,Q+=K.length}return _.push({text:G.join(""),start:J,end:$.length}),_}function kT($,U){let _=Math.max(0,Math.floor(U));if(!_)return{text:"",truncated:$.length>0};let Q=[],J=0,G=0;while(G<$.length){let Y=$.codePointAt(G)??0,X=String.fromCodePoint(Y),V=k4(X);if(J+V>_)break;Q.push(X),J+=V,G+=X.length}return{text:Q.join(""),truncated:G<$.length}}var KH=2000,ZH=5000000;function WH($,U){let _=new TextEncoder().encode($).length,Q=new TextEncoder().encode(U).length;if(_>ZH||Q>ZH)return[{type:"context",content:`[Diff too large: ${Math.max(_,Q).toLocaleString()} bytes. Size limit: ${ZH.toLocaleString()} bytes]`}];let J=$.replace(/\r/g,"").split(`
827
+ `),G=U.replace(/\r/g,"").split(`
828
+ `),Y=J.length,X=G.length;if(Y>KH||X>KH)return[{type:"context",content:`[Diff too large: ${Math.max(Y,X).toLocaleString()} lines. Line limit: ${KH.toLocaleString()} lines]`}];let V=Array.from({length:Y+1},()=>Array(X+1).fill(0));for(let q=1;q<=Y;q++)for(let O=1;O<=X;O++)if(J[q-1]===G[O-1])V[q][O]=V[q-1][O-1]+1;else V[q][O]=Math.max(V[q-1][O],V[q][O-1]);let K=[],Z=Y,N=X,W=1,B=1;while(Z>0||N>0)if(Z>0&&N>0&&J[Z-1]===G[N-1])K.unshift({type:"context",lineNumber:B,content:G[N-1]}),Z--,N--,W++,B++;else if(N>0&&(Z===0||V[Z][N-1]>=V[Z-1][N]))K.unshift({type:"added",lineNumber:B,content:G[N-1]}),N--,B++;else if(Z>0&&(N===0||V[Z][N-1]<V[Z-1][N]))K.unshift({type:"removed",lineNumber:W,content:J[Z-1]}),Z--,W++;return K}function TT($,U){let _=WH($,U),Q=0,J=0;for(let G of _)if(G.type==="added")Q++;else if(G.type==="removed")J++;return{added:Q,removed:J}}function ST($,U,_){if(!U&&!_)return!1;let Q=TT(U,_),J=[];if(Q.removed>0)J.push(`-${Q.removed}`);if(Q.added>0)J.push(`+${Q.added}`);if(J.length>0){let G={...$.detailStyle,bold:!0},Y=J.join(" ");return $.pushLine(` diff: ${Y}`,G),!0}return!1}function IT($,U,_){if(!U&&!_)return;let Q=WH(U,_),J=$.maxLines??24,Y=W$$(Q,3,J),X={...$.detailStyle,fg:"yellowBright"},V={...$.detailStyle,fg:"red"},K={...$.detailStyle,fg:"green"};for(let Z of Y){let N=Z.type==="removed"?"- ":Z.type==="added"?"+ ":" ",W=Z.type==="removed"?V:Z.type==="added"?K:X;$.pushLine(` ${N}${Z.content}`,W)}}function W$$($,U,_){let Q=[],J=0;for(let G=0;G<$.length;G++){let Y=$[G];if(Y.type==="context"){let X=G>0?$[G-1]:null,V=G<$.length-1?$[G+1]:null,K=X?.type!=="context"||V?.type!=="context";if(K||J<U)if(Q.push(Y),K)J=0;else J++;else if(J===U)Q.push({type:"context",content:"…"}),J++}else Q.push(Y),J=0;if(Q.length>=_){Q.push({type:"context",content:"… (more lines truncated)"});break}}return Q}function vT($){return $<=31&&$!==9&&$!==10}function CT($){return $>=128&&$<=159}function G0($){let U=String($??""),_="";for(let Q=0;Q<U.length;){let J=U.codePointAt(Q)??0,G=J>65535?2:1;if(J===27||vT(J)||J===127||CT(J)){Q+=G;continue}_+=String.fromCodePoint(J),Q+=G}return _}function NH($){let U=String($??""),_="";for(let Q=0;Q<U.length;){if(U[Q]==="\x1B"){let Y=U[Q+1];if(Y==="["){let X=Q+2;while(X<U.length){let V=U.charCodeAt(X);if(V>=48&&V<=57||V===59){X++;continue}break}if(X<U.length&&U[X]==="m"){_+=U.slice(Q,X+1),Q=X+1;continue}X=Q+2;while(X<U.length){let V=U.charCodeAt(X);if(X++,V>=64&&V<=126)break}Q=X;continue}if(Y==="]"){let X=Q+2;while(X<U.length){if(U.charCodeAt(X)===7){X++;break}if(U[X]==="\x1B"&&U[X+1]==="\\"){X+=2;break}X++}Q=X;continue}if(Q+=1,Q<U.length)Q+=1;continue}let J=U.codePointAt(Q)??0,G=J>65535?2:1;if(vT(J)||J===127||CT(J)){Q+=G;continue}_+=String.fromCodePoint(J),Q+=G}return _}var y1=" ";function i1($,U,_){let Q=A0($,U);return{fg:Q.fg,bg:Q.bg,..._??{}}}function yT($,U){return{pushLine:(G,Y,X)=>{$.push({text:` ${G}`,style:Y,segments:[],action:X})},pushLineWithSegments:(G,Y,X,V)=>{$.push({text:` ${G}`,style:Y,segments:X,action:V})},pushSpans:(G,Y)=>{let X=U,V=[];for(let Z of G){let N=Z.kind==="bold"?{...Y??{},bold:!0}:Z.kind==="code"?{...Y??{},fg:"yellowBright"}:Y,W=k$(Z.text);if(Z.kind!=="text")V.push({x:X,w:W,text:Z.text,style:N});X+=W}let K=G.map((Z)=>Z.text).join("");$.push({text:` ${K}`,style:Y,segments:V.map((Z)=>({...Z,x:Z.x}))})}}}function bT($){let U=[],{pushLine:_}=yT(U,$.contentIndent),Q=i1($.theme,"user",{fg:A0($.theme,"user").fg??"whiteBright"}),J=$.message.content.replace(/\r/g,""),G=Math.max(1,$.width-$.contentIndent),Y=AT(J),X=Y.displayText,V=Y.segments,K=($.message.focusFiles??[]).map((Z)=>String(Z??"")).filter(Boolean);if(K.length>0){let Z="",N=[];for(let q of K){let M=`[${q.split(/[/\\]/).filter(Boolean).pop()??q}]`,P=Z.length?" ":"",H=Z.length+P.length;Z+=`${P}${M}`;let z=Z.length;N.push({start:H,end:z,absPath:q})}let W=X.startsWith(`
829
+ `)?"":X?" ":"",B=Z.length+W.length;X=`${Z}${W}${X}`,V=[...N,...V.map((q)=>({...q,start:q.start+B,end:q.end+B}))]}for(let Z of T5(X,G)){let{text:N,start:W,end:B}=Z,q=[];for(let O of V)if(O.end>W&&O.start<B){let M=Math.max(W,O.start),P=Math.min(B,O.end),H=X.slice(M,P),z=X.slice(W,M),A=$.contentIndent+k$(z);q.push({x:A,w:k$(H),text:H,style:{fg:"cyanBright",bold:!0},action:zT(O.absPath)})}if(q.length>0)U.push({text:` ${N}`,style:Q,segments:q});else _(N,Q)}return U}function N$$($,U){if($.selectedToolCallId!==U)return;let Q=$.toolNameById.get(U);if(Q&&String(Q).toLowerCase()==="bash")return;let G=String($.toolOutputById.get(U)??"").replace(/\r/g,"");if(!G.trim())return;let Y=i1($.theme,"tool_output",{dim:!0});$.pushLine("↳ output",Y);let X=G.split(`
830
+ `),V=10,K=$.expandedBashOutputs.has(U),Z=K?Number.POSITIVE_INFINITY:V,N=Math.max(0,X.length-Z);for(let B of X.slice(N))$.pushLine(G0(B),Y);let W=X.length>V;if(W&&!K){let B={...Y,fg:"cyan"},q=X.length-V;$.pushLine(`... (${q} more lines)`,B,Q1(U))}else if(W&&K){let B={...Y,fg:"cyan"};$.pushLine("... (collapse)",B,Q1(U))}}function tJ($){let U=String($??""),_=U.match(/^( +)(?=\d+\|)/);if(!_)return{text:U,removedCells:0};let Q=_[1].length;return{text:U.slice(Q),removedCells:Q}}function xT($,U){let _=Math.max(0,Math.floor(U));if(!_)return $.slice();let Q=_,J=[];for(let G of $){if(!G||!G.text)continue;if(!Q){J.push(G);continue}let Y=String(G.text),X=0;while(X<Y.length&&Q>0&&Y[X]===" ")X++,Q--;let V=Y.slice(X);if(V)J.push({...G,text:V})}return J}function gT($){let U=String($??"").trim();if(!U)return null;try{let _=JSON.parse(U),Q=Array.isArray(_)?_:[_],J=[];for(let G of Q)if(G&&typeof G==="object"&&G.type==="text"){let Y=String(G.text??"").replace(/\r/g,"");if(Y)J.push(...Y.split(`
831
+ `))}return J.length>0?J:null}catch{return null}}function F$$($,U){if($.selectedToolCallId!==U)return;let Q=$.toolResultById.get(U);if(!Q)return;let J=$.toolNameById.get(U),G=J&&String(J).toLowerCase()==="bash",Y=String(J??"").toLowerCase(),X=i1($.theme,"tool_result",{dim:!0});if(Q.status!=="success")$.pushLine(`✗ ${Q.status}`,X);if(G)return;if(Y==="askuserquestion")return;let V=Y&&Y!=="read"?Q.outputAnsi:void 0,K=typeof V==="string"&&V.trim().length>0,Z=10,N=$.expandedBashOutputs.has(U),W=N?Number.POSITIVE_INFINITY:Z,B=gT(Q.output),q=String(Q.output??"").replace(/\r/g,"").split(`
832
+ `),O=B?.length??q.length,M=Math.min(O,W),P=K?String(V??"").replace(/\r/g,"").split(`
833
+ `):null,H=k$(y1);if(B){for(let E of B.slice(0,M)){let D=tJ(E);$.pushLine(`${y1}${G0(D.text)}`,X)}let A=B.length>Z;if(A&&!N){let E={...X,fg:"cyan"},D=B.length-Z;$.pushLine(`... (${D} more lines)`,E,Q1(U))}else if(A&&N){let E={...X,fg:"cyan"};$.pushLine("... (collapse)",E,Q1(U))}return}for(let A=0;A<M;A++){let E=q[A]??"";if(K&&P&&A<P.length){let f=NH(P[A]??"");if(f===""){$.pushLine(y1,X);continue}let j=vJ(f,{}),T=j.map((w)=>w.text).join(""),L=tJ(T),k=G0(L.text),R=L.removedCells>0?xT(j,L.removedCells):j,S=$.contentIndent+H,I=[];for(let w of R){let C=G0(w.text),b=k$(C);if(b>0&&Object.keys(w.style??{}).length>0)I.push({x:S,w:b,text:C,style:w.style});S+=b}$.pushLineWithSegments(`${y1}${k}`,X,I);continue}if(E===""){$.pushLine(y1,X);continue}let D=tJ(E);$.pushLine(`${y1}${G0(D.text)}`,X)}let z=O>Z;if(z&&!N){let A={...X,fg:"cyan"},E=O-Z;$.pushLine(`... (${E} more lines)`,A,Q1(U))}else if(z&&N){let A={...X,fg:"cyan"};$.pushLine("... (collapse)",A,Q1(U))}}var q$$={status($,U){},thinking($,U){let _=U.collapsed?"▸":"▾",J={...i1($.theme,"thinking"),bold:!0},Y=i1($.theme,"assistant");if($.pushLine(`${_} ${U.title}`,J,dG($.messageId,U.type,$.partIndex)),U.collapsed)return $.pushLine("");let X=String(U.content??"").replace(/\r/g,"").trim();if(!X)return $.pushLine("");let V=" ",K=k$(V),Z=Math.max(10,$.width-$.contentIndent-K),N=X.split(`
834
+ `);$.pushLine("");for(let W of N){let B=T5(W,Z);if(B.length===0){$.pushLine(V,Y);continue}for(let q of B)$.pushLine(`${V}${q.text}`,Y)}$.pushLine("")},markdown($,U){let _=(K)=>{try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let N=T$("node:fs"),W=new Date().toISOString().split("T")[1].slice(0,-1);N.appendFileSync("/tmp/goatchain-debug.log",`[${W}] [RENDER-MARKDOWN] ${K}
835
+ `)}}catch{}},Q=U.markdown,J=$.width-$.contentIndent,G=Date.now();_(`START: markdown length=${Q.length}, width=${J}`);let Y=i1($.theme,"markdown"),X=fT(Q,J);_(`markdownToLines returned: ${X.length} lines in ${Date.now()-G}ms`);let V=0;for(let K of X){if(V%100===0)_(` Processing line #${V}/${X.length}`);let Z=K.kind==="heading"?{...Y,bold:!0}:K.kind==="quote"?{...Y,dim:!0}:K.kind==="code"?{...Y,fg:"yellowBright"}:Y;$.pushSpans(K.spans,Z),V++}_(`END: processed ${X.length} lines in ${Date.now()-G}ms`)},tool_call($,U){if($.partIndex!==void 0&&$.partIndex>0){if($.parts[$.partIndex-1]?.type==="markdown")$.pushLine("")}let _=$.selectedToolCallId===U.call.id,Q=_?"▾":"▸",J=i1($.theme,"tool_call"),G=$.toolResultById.get(U.call.id),Y=(()=>{if(G?.status==="success")return"green";if(G?.status==="error")return"red";return"whiteBright"})(),X="●",V=_?{...J,bold:!0,fg:"white"}:{...J,dim:!0,fg:"white"},K={...J,fg:Y},Z=U.call.arguments,W=((A)=>A!=null&&typeof A==="object"&&!Array.isArray(A))(Z)?Z:null,B=(()=>{let A=String(U.call.name??"").toLowerCase();if(A==="bash"&&W){let E=typeof W.description==="string"?String(W.description).trim():"";if(E)return` ${E}`}else if(A==="read"&&W){let E=typeof W.file_path==="string"?String(W.file_path).trim():"";if(E){let{limit:D,offset:f}=W,j=[];if(typeof f==="number"&&f>0)j.push(`offset ${f}`);if(typeof D==="number"&&D>0)j.push(`limit ${D}`);if(j.length>0)return` ${E} (${j.join(", ")})`;return` ${E}`}}else if(A==="write"){let E=typeof W?.file_path==="string"?String(W.file_path).trim():"";if(E)return` ${E}`;let D=U.call.argumentsText?.match(/"file_path":\s*"([^"]+)"/);if(D)return` ${D[1]}`}else if(A==="glob"&&W){let E=typeof W.pattern==="string"?String(W.pattern).trim():"";if(E){try{let f=JSON.parse(G?.output||"[]")[0].text.match(/Found\s(\d+)\s+files/);if(f){let j=f[1];return` ${E} (${j} matches)`}}catch{}return` ${E}`}}else if(A==="grep"&&W){let E=typeof W.pattern==="string"?String(W.pattern).trim():"";if(E)return` ${E}`}else if(A==="askuserquestion"&&W){let E=Array.isArray(W.questions)?W.questions:[];if(E.length>0&&E[0]?.header){let D=String(E[0].header).trim();if(D)return` [${D}]`}}else if(A==="edit"&&W){if(W.file_path)return` ${W.file_path}`;let E=U.call.argumentsText?.match(/"file_path": "([^:"]+)"/);if(E)return` ${E[1]}`}else if(A==="todoplan"&&W){let E=W.todos;if(Array.isArray(E)&&E.length>0)return` (${E.length} todos)`}return""})(),q=`${Q} `,O=k$(` ${q}`),M=k$(`${X} ${U.call.name}`),P=Math.max(0,$.width-O-M),H=(()=>{if(!B||P<=0)return"";let A=kT(B.trim(),P);if(!A.truncated)return B;return` ${A.text}…`})(),z=`${X} ${U.call.name}${H}`;if($.pushLineWithSegments(`${q}${z}`,_?{...J,bold:!0}:{...J,dim:!0},[{x:O,w:1,text:X,style:K},{x:O+2,w:k$(U.call.name),text:U.call.name,style:V}],RT(U.call.id)),$.pushLine(""),_){let A={...J,dim:!0},E=Math.max(10,$.width-$.contentIndent-2),D=String(U.call.name??"").toLowerCase();if(D==="bash"){let f=typeof W?.command==="string"?String(W.command).trim():"",j=$.toolResultById.get(U.call.id),T=$.toolOutputById.get(U.call.id)?.trim();try{T=j?.output?JSON.parse(j?.output)[0].text.trim():$.toolOutputById.get(U.call.id)?.trim()}catch{}if(f){let L={...J,bold:!0};$.pushLine(" in:",L);let k={...A,fg:"yellowBright"},R=f.replace(/\r/g,"").split(`
836
+ `),S=!0;for(let I of R){let w=S?" $ ":" | ",C=Math.max(5,E-k$(w)+2),b=T5(I,C);if(b.length===0){$.pushLine(` ${w.trim()}`,k),S=!1;continue}for(let y of b){let x=S?" $ ":" | ";$.pushLine(` ${x.trim()}${y.text}`,k),S=!1}}}if(T){let L=$.expandedBashOutputs.has(U.call.id),k=10,R=L?Number.POSITIVE_INFINITY:10,S=T.replace(/\r/g,"").split(`
837
+ `),I=S.length>10,w={...J,bold:!0};$.pushLine(" out:",w);for(let C of S.slice(0,R))$.pushLine(` ${C}`,A);if(I&&!L){let C={...A,fg:"cyan"},b=S.length-10;$.pushLine(` ... (${b} more lines)`,C,Q1(U.call.id))}else if(I&&L){let C={...A,fg:"cyan"};$.pushLine(" ... (collapse)",C,Q1(U.call.id))}}}else{let f=new Set;if(D==="read")f.add("file_path"),f.add("limit"),f.add("offset");else if(D==="glob")f.add("pattern");else if(D==="grep")f.add("pattern");else if(D==="askuserquestion")f.add("questions");else if(D==="write")f.add("file_path");else if(D==="edit")f.add("edit");let j=!1;if(D==="askuserquestion"&&W){let L=Array.isArray(W.questions)?W.questions:[];if(L.length>0){let k={...J,fg:"white"},R={...J,fg:"white"},S={...J,fg:"blackBright"};for(let I=0;I<L.length;I++){let w=L[I];if(w?.question){if($.pushLine(`${y1}Q${I+1}: ${w.question}`,{...k,bold:!0}),Array.isArray(w.options))for(let C=0;C<w.options.length;C++){let b=w.options[C],y=b?.label??"",x=b?.description??"",t=`${C+1}. `;if($.pushLine(`${y1}${y1}${t}${y}`,R),x)$.pushLine(`${y1}${y1}${y1}${x}`,S)}}}}j=!0}else if(D==="edit"&&W){let L=typeof W.new_string==="string"?W.new_string:"",k=typeof W.old_string==="string"?W.old_string:"";ST({pushLine:$.pushLine,detailStyle:J},k,L),IT({pushLine:$.pushLine,detailStyle:A,width:$.width,maxLines:24},k,L),j=!0}else if(D==="todoplan"&&W)j=!0;let T=(L,k)=>{let R=typeof k==="string"?k:JSON.stringify(k);if(!R||!String(R).trim())return;let S=`${y1}${L}: ${String(R)}`;for(let I of T5(S,E))$.pushLine(`${I.text}`,A)};if(!j&&W&&Object.keys(W).length>0){for(let L of["command","description","pattern","query","file_path"]){if(f.has(L))continue;let k=W[L];if(k!=null)T(L,k);f.add(L)}for(let[L,k]of Object.entries(W)){if(f.has(L))continue;if(k==null)continue;T(L,k)}}}N$$($,U.call.id),F$$($,U.call.id)}},tool_output($,U){if($.selectedToolCallId!==U.toolCallId)return;if($.toolNameById.has(U.toolCallId))return;if(String(U.toolName??"").toLowerCase()==="bash")return;let J=String(U.output??"").replace(/\r/g,"");if(!J.trim())return;let G=i1($.theme,"tool_output",{dim:!0});$.pushLine("↳ output",G);let Y=J.split(`
838
+ `),X=10,V=$.expandedBashOutputs.has(U.toolCallId),K=V?Number.POSITIVE_INFINITY:X,Z=Math.max(0,Y.length-K);for(let W of Y.slice(Z))$.pushLine(W,G);let N=Y.length>X;if(N&&!V){let W={...G,fg:"cyan"},B=Y.length-X;$.pushLine(`... (${B} more lines)`,W,Q1(U.toolCallId))}else if(N&&V){let W={...G,fg:"cyan"};$.pushLine("... (collapse)",W,Q1(U.toolCallId))}},tool_result($,U){if($.selectedToolCallId!==U.result.id)return;if($.toolNameById.has(U.result.id))return;let Q=$.toolNameById.get(U.result.id),J=Q&&String(Q).toLowerCase()==="bash",G=i1($.theme,"tool_result",{dim:!0});if(U.result.status!=="success")$.pushLine(`✗ ${U.result.status}`,G);if(J)return;if(String(Q).toLowerCase()==="askuserquestion"){let A=U.result.output;if(A&&A.trim()){try{let D;try{D=JSON.parse(A)}catch{if(typeof A==="object")D=A;else{let T=A.match(/\{[\s\S]*\}/);if(T)D=JSON.parse(T[0])}}let f={...G,fg:"cyan",bold:!0},j={...G,fg:"white"};if(D&&typeof D==="object"&&!Array.isArray(D)){let T=D.answers;if(T&&Object.keys(T).length>0){$.pushLine(" User responses:",f);let L=0;for(let[k,R]of Object.entries(T)){L++;let S=Array.isArray(R)?R.join(", "):String(R);$.pushLine(` Q${L}: ${S}`,j)}return}}else if(Array.isArray(D)){D.map((T)=>{let L=T.text.split(`
839
+ `).filter(Boolean),k=null;for(let R=L.length-1;R>0;R--){let I=L[R].match(/Answer:\s*(.*)/);if(I){k=I[1];let w={...G,fg:"cyan",bold:!0},C={...G,fg:"white"};$.pushLine(" User responses:",w),$.pushLine(` ${k}`,C);return}}});return}}catch(D){console.debug("Failed to parse AskUserQuestion output:",D)}let E=A.split(`
840
+ `);for(let D of E)if(D.trim())$.pushLine(` ${G0(D)}`,G)}return}let Y=String($.toolNameById.get(U.result.id)??"").toLowerCase(),X=Y&&Y!=="read"?U.result.outputAnsi:void 0,V=typeof X==="string"&&X.trim().length>0,K=10,Z=$.expandedBashOutputs.has(U.result.id),N=Z?Number.POSITIVE_INFINITY:K,W=gT(U.result.output),B=String(U.result.output??"").replace(/\r/g,"").split(`
841
+ `),q=W?.length??B.length,O=Math.min(q,N),M=V?String(X??"").replace(/\r/g,"").split(`
842
+ `):null,P=" ",H=k$(P);if(W){for(let E of W.slice(0,O))$.pushLine(`${P}${G0(tJ(E).text)}`,G);let A=W.length>K;if(A&&!Z){let E={...G,fg:"cyan"},D=W.length-K;$.pushLine(` ... (${D} more lines)`,E,Q1(U.result.id))}else if(A&&Z){let E={...G,fg:"cyan"};$.pushLine(" ... (collapse)",E,Q1(U.result.id))}return}for(let A=0;A<O;A++){let E=B[A]??"";if(V&&M&&A<M.length){let D=NH(M[A]??"");if(D===""){$.pushLine(P,G);continue}let f=vJ(D,{}),j=f.map((I)=>I.text).join(""),T=tJ(j),L=G0(T.text),k=T.removedCells>0?xT(f,T.removedCells):f,R=$.contentIndent+H,S=[];for(let I of k){let w=G0(I.text),C=k$(w);if(C>0&&Object.keys(I.style??{}).length>0)S.push({x:R,w:C,text:w,style:I.style});R+=C}$.pushLineWithSegments(`${P}${L}`,G,S);continue}if(E===""){$.pushLine(P,G);continue}$.pushLine(`${P}${G0(tJ(E).text)}`,G)}let z=q>K;if(z&&!Z){let A={...G,fg:"cyan"},E=q-K;$.pushLine(` ... (${E} more lines)`,A,Q1(U.result.id))}else if(z&&Z){let A={...G,fg:"cyan"};$.pushLine(" ... (collapse)",A,Q1(U.result.id))}},approve($,U){let _=U.request.status;if(_==="approved"&&$.toolResultById.has(U.request.toolCallId))return;let Q=_==="pending"?"!":_==="approved"?"✓":"✗",J=i1($.theme,"approve"),G={...J,dim:!0};if($.pushLine(`${Q} ${U.request.tool} — ${U.request.permission}`,_==="pending"?{...J,bold:!0}:G,_==="pending"?wT():LT()),_==="pending")$.pushLine(` ${U.request.reason}`,G)},todo($,U){let _=U.collapsed?"▸":"▾",Q=i1($.theme,"todo"),J={...Q,dim:!0};if($.pushLine(`${_} ${U.title}`,{...Q,bold:!0},dG($.messageId,U.type)),!U.collapsed)for(let G of U.items){let Y=G.done?"☑":"☐";$.pushLine(` ${Y} ${G.text}`,J,VH($.messageId,U.type,G.id))}},plan($,U){let _=U.collapsed?"▸":"▾",Q=i1($.theme,"plan"),J={...Q,dim:!0};if($.pushLine(`${_} ${U.title}`,{...Q,bold:!0},dG($.messageId,U.type)),!U.collapsed)for(let G of U.items){let Y=G.done?"☑":"☐";$.pushLine(` ${Y} ${G.text}`,J,VH($.messageId,U.type,G.id))}}};function hT($){let U=(W)=>{try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let q=T$("node:fs"),O=new Date().toISOString().split("T")[1].slice(0,-1);q.appendFileSync("/tmp/goatchain-debug.log",`[${O}] [RENDER-ASSIST] ${W}
843
+ `)}}catch{}},_=Date.now();U(`START: parts=${$.message.parts.length}, width=${$.width}`);let Q=[],{pushLine:J,pushLineWithSegments:G,pushSpans:Y}=yT(Q,$.contentIndent),X=new Map,V=new Map,K=new Map;for(let W of $.message.parts){if(W.type==="tool_result")X.set(W.result.id,W.result);if(W.type==="tool_output")V.set(W.toolCallId,W.output);if(W.type==="tool_call")K.set(W.call.id,W.call.name)}let Z={messageId:$.message.id,width:$.width,contentIndent:$.contentIndent,selectedToolCallId:$.selectedToolCallId,expandedBashOutputs:$.expandedBashOutputs,toolResultById:X,toolOutputById:V,toolNameById:K,pushLine:J,pushLineWithSegments:G,pushSpans:Y,theme:$.theme,parts:$.message.parts};U(`Starting to render ${$.message.parts.length} parts`);for(let W=0;W<$.message.parts.length;W++){let B=Date.now(),q=$.message.parts[W];U(` Part #${W}: type=${q.type}`);let O=q$$[q.type],M={...Z,partIndex:W};U(` Part #${W}: calling renderer for type=${q.type}`),O(M,q);let P=Date.now()-B;U(` Part #${W}: done in ${P}ms, output lines=${Q.length}`)}let N=Date.now()-_;return U(`END: total ${N}ms, ${Q.length} lines`),Q}function B$$($){return Array.from($).sort().join(",")}function H$$($){let U=$?.preset??"goatchain",_=$?.overrides??{},Q=Object.keys(_).sort();if(Q.length===0)return String(U);let J=Q.map((G)=>{let Y=_[G]??{};return`${G}:${String(Y.fg??"")},${String(Y.bg??"")}`});return`${U}|${J.join("|")}`}function FH($){if($.role==="user"){let _=String($.content??""),Q=$?.focusFiles?.length??0;return`u:${_.length}:${Q}`}if($.role==="assistant"){let _=$.parts??[],Q=`a:${_.length}`;for(let J of _){let G=String(J?.type??"");if(G==="status")Q+=`|s:${String(J?.text??"").length}`;else if(G==="thinking")Q+=`|th:${String(J?.title??"").length}:${J?.collapsed?1:0}:${String(J?.content??"").length}`;else if(G==="markdown")Q+=`|m:${String(J?.markdown??"").length}`;else if(G==="tool_call"){let Y=J?.call??{},X=Y?.argumentsText,V=typeof X==="string"?X.length:(()=>{try{return JSON.stringify(Y?.arguments??{}).length}catch{return 0}})();Q+=`|tc:${String(Y?.id??"")}:${V}`}else if(G==="tool_output")Q+=`|to:${String(J?.toolCallId??"")}:${String(J?.toolName??"").length}:${String(J?.output??"").length}`;else if(G==="tool_result"){let Y=J?.result??{};Q+=`|tr:${String(Y?.id??"")}:${String(Y?.status??"")}:${String(Y?.output??"").length}:${String(Y?.outputAnsi??"").length}`}else if(G==="approve"){let Y=J?.request??{};Q+=`|ap:${String(Y?.id??"")}:${String(Y?.status??"")}`}else if(G==="todo"||G==="plan"){let Y=J?.items??[],X=0;for(let V of Y)if(V?.done)X++;Q+=`|${G}:${String(J?.title??"").length}:${J?.collapsed?1:0}:${Y.length}:${X}`}else Q+=`|${G}`}return Q}let U=$?.result??{};return`t:${String(U?.id??"")}:${String(U?.status??"")}:${String(U?.output??"").length}`}function qH($,U,_,Q,J){let G=(V)=>{try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let Z=T$("fs"),N=new Date().toISOString().split("T")[1].slice(0,-1);Z.appendFileSync("/tmp/goatchain-debug.log",`[${N}] [RENDER-BLOCK] ${V}
844
+ `)}}catch{}},Y=2;if(G(`START: role=${$.role}, width=${U}`),$.role==="user"){G("Rendering user message");let V=bT({message:$,width:U,contentIndent:2,theme:J});return G(`User message: ${V.length} lines`),{role:$.role,messageId:$.id,lines:V}}if($.role==="tool")return G("Tool message: skipped"),null;G("Rendering assistant message");let X=hT({message:$,width:U,contentIndent:2,selectedToolCallId:_,expandedBashOutputs:Q,theme:J});return G(`Assistant message: ${X.length} lines`),{role:$.role,messageId:$.id,lines:X}}function BH($,U,_){let Q=(M)=>{try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let H=T$("fs"),z=new Date().toISOString().split("T")[1].slice(0,-1);H.appendFileSync("/tmp/goatchain-debug.log",`[${z}] [DECORATE] ${M}
845
+ `)}}catch{}};Q(`START: role=${$.role}, lines=${$.lines.length}, isFirst=${_}`);let J=Date.now(),G=[],Y=A0(U,"assistant"),X=A0(U,"user"),V=Y.bg??"black",K=X.bg??"blackBright",Z=V;if(!_)Q(" Adding spacer line"),G.push({text:"",style:{bg:Z},segments:[],hasBackground:!1});let N=$.role==="user",B={fg:"blueBright",bg:N?K:V};if(N)Q(" Adding user top padding"),G.push({text:"┃",style:{bg:K},segments:[{x:0,w:1,text:"┃",style:B}],hasBackground:!0,messageId:$.messageId});Q(` Processing ${$.lines.length} block lines`);let q=0;for(let M of $.lines){if(N){let P=[{x:0,w:1,text:"┃",style:B},...M.segments.map((H)=>({...H,x:H.x+1,style:{...H.style??{},bg:K}}))];G.push({text:`┃${M.text}`,style:{...M.style,bg:K},segments:P,action:M.action,hasBackground:!0,messageId:$.messageId})}else{let P=M.style?.bg??V;G.push({text:M.text,style:{...M.style,bg:P},segments:M.segments.map((H)=>({...H,style:{...H.style??{},bg:P}})),action:M.action,hasBackground:!1,messageId:$.messageId})}if(q++,q%100===0)Q(` Processed ${q}/${$.lines.length} lines`)}if(N)Q(" Adding user bottom padding"),G.push({text:"┃",style:{bg:K},segments:[{x:0,w:1,text:"┃",style:B}],hasBackground:!0,messageId:$.messageId});let O=Date.now()-J;return Q(`END: ${G.length} output lines in ${O}ms`),G}function uT(){let $=-1,U=null,_="",Q="",J=[],G=new Map,Y=[],X=new Map,V=[],K=new Map,Z=new Map;function N(){Y=J.slice(),X=new Map(G)}function W(O,M){for(let P=0;P<O.length;P++){let H=O[P]?.action;if(H?.type==="selectToolCall")G.set(H.callId,M+P)}}function B(O){J=[],G=new Map,V.length=0,K.clear(),Z.clear();let M=Math.max(0,O.width),P=0;for(let H of O.messages){let z=qH(H,M,O.selectedToolCallId,O.expandedBashOutputs,O.theme);if(!z)continue;let A=FH(H),E=BH(z,O.theme,P===0);P++;let D=J.length;J.push(...E);let f=J.length;V.push(z.messageId),K.set(z.messageId,{start:D,end:f}),Z.set(z.messageId,A),W(E,D)}}function q(O,M,P,H){let z=M.id,A=K.get(z);if(!A)return;let{start:E,end:D}=A,f=D-E,j=qH(M,H.width,H.selectedToolCallId,H.expandedBashOutputs,H.theme);if(!j)return;let T=BH(j,H.theme,O===0);J.splice(E,f,...T);let L=T.length-f,k=E+T.length;if(K.set(z,{start:E,end:k}),Z.set(z,P),L!==0)for(let S=O+1;S<V.length;S++){let I=V[S],w=K.get(I);if(!w)continue;K.set(I,{start:w.start+L,end:w.end+L})}let R=new Map;for(let[S,I]of G.entries()){if(I<E){R.set(S,I);continue}if(I>=D){R.set(S,I+L);continue}}G=R,W(T,E)}return(O)=>{let M=Math.max(0,O.width),P=O.selectedToolCallId??null,H=B$$(O.expandedBashOutputs),z=H$$(O.theme),A=!1;try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let L=T$("fs"),k=new Date().toISOString().split("T")[1].slice(0,-1);L.appendFileSync("/tmp/goatchain-debug.log",`[${k}] [LAYOUT-MODEL] buildChatLayoutModel START: messages=${O.messages.length}
846
+ `)}}catch{}if(M!==$||P!==U||H!==_||z!==Q)return B(O),$=M,U=P,_=H,Q=z,A=!0,N(),{lines:Y,toolLineById:X};let D=[];for(let T of O.messages){if(T.role==="tool")continue;D.push(T)}if(D.length<V.length)return B(O),A=!0,N(),{lines:Y,toolLineById:X};for(let T=0;T<V.length;T++)if(D[T]?.id!==V[T])return B(O),A=!0,N(),{lines:Y,toolLineById:X};for(let T=V.length;T<D.length;T++){let L=D[T],k=qH(L,M,P,O.expandedBashOutputs,O.theme);if(!k)continue;let R=FH(L),S=BH(k,O.theme,T===0),I=J.length;J.push(...S);let w=J.length;V.push(k.messageId),K.set(k.messageId,{start:I,end:w}),Z.set(k.messageId,R),W(S,I),A=!0}let f=5,j=Math.max(0,D.length-f);for(let T=j;T<D.length;T++){let L=D[T],k=L.id,R=FH(L),S=Z.get(k);if(R!==S)q(T,L,R,{width:M,selectedToolCallId:P,expandedBashOutputs:O.expandedBashOutputs,theme:O.theme}),A=!0}if(A)N();try{if(globalThis.process?.env?.GOATCHAIN_DEBUG==="1"){let L=T$("fs"),k=new Date().toISOString().split("T")[1].slice(0,-1);L.appendFileSync("/tmp/goatchain-debug.log",`[${k}] [LAYOUT-MODEL] buildChatLayoutModel END: changed=${A}, lines=${Y.length}
847
+ `)}}catch{}return{lines:Y,toolLineById:X}}}import{defineComponent as O$$,h as n1,inject as j$$,onMounted as D$$,ref as E$$}from"vue";var r1=Symbol("GoatChainChatPageContext");var lG={fg:"whiteBright",bg:"black"},S5={fg:"white",dim:!0,bg:"blackBright"},mT={fg:"whiteBright",bg:"blackBright"},cT={fg:"whiteBright",bg:"blackBright"},QU={fg:"white",dim:!0,bg:"black"};var dT=O$$({name:"GoatChainChatBottomPanel",setup(){let $=j$$(r1);if(!$)throw Error("GoatChainChatBottomPanel missing ChatPageContext");let U=$,{events:_,scheduler:Q}=M4(),J=E$$(!1);function G(){J.value=!1;let Y=_.value;if(!Y||typeof Y.debugNodes!=="function"||typeof Y.focus!=="function")return;let X=Math.floor(U.inputX.value),V=Math.floor(U.panelTopY.value),K=Math.floor(U.inputInnerW.value),Z=Math.floor(U.inputLines.value),N=(Y.debugNodes?.()??[]).filter((P)=>P?.visible&&P?.focusable),W=N.find((P)=>{let H=P?.rect;return H&&H.x===X&&H.y===V&&H.w===K&&H.h===Z});if(W?.id){Y.focus(W.id),J.value=!0,Q.invalidate();return}let B=X+Math.floor(Math.max(0,K-1)/2),q=V+Math.floor(Math.max(0,Z-1)/2),O=N.filter((P)=>{let H=P?.rect;return H&&B>=H.x&&q>=H.y&&B<H.x+H.w&&q<H.y+H.h});O.sort((P,H)=>{let z=P?.zIndex??0,A=H?.zIndex??0;if(A!==z)return A-z;let E=P?.rect??{w:0,h:0},D=H?.rect??{w:0,h:0};return E.w*E.h-D.w*D.h});let M=O[0];if(M?.id)Y.focus(M.id),J.value=!0,Q.invalidate()}return D$$(()=>{setTimeout(()=>{G()})}),()=>{let Y=U.panelW.value-2,X=U.panelH.value,V=`╭${"─".repeat(Math.max(0,Y))}╮`,K=`╰${"─".repeat(Math.max(0,Y))}╯`,Z=Array.from({length:X},()=>"│").join(`
848
+ `),N=Array.from({length:X},()=>"│").join(`
849
+ `),W=[n1($$,{key:"panel-top-border",x:U.panelX.value,y:U.panelTopY.value-1,w:U.panelW.value,value:V,style:S5,zIndex:-20}),n1($$,{key:"panel-fill",x:U.panelX.value+1,y:U.panelTopY.value,w:Math.max(0,U.panelW.value-2),h:U.panelH.value,value:"",style:mT,zIndex:-20}),n1($$,{key:"panel-left-border",x:U.panelX.value,y:U.panelTopY.value,w:1,h:X,value:Z,style:S5,zIndex:-19}),n1($$,{key:"panel-right-border",x:U.panelX.value+U.panelW.value-1,y:U.panelTopY.value,w:1,h:X,value:N,style:S5,zIndex:-19}),n1($$,{key:"panel-bottom-border",x:U.panelX.value,y:U.panelTopY.value+U.panelH.value,w:U.panelW.value,value:K,style:S5,zIndex:-20}),n1(v4,{key:"panel-hit",x:U.panelX.value,y:U.panelTopY.value-1,w:U.panelW.value,h:U.panelH.value+2,zIndex:10,focusable:!1,onPointerdownCapture:()=>{U.focusMode.value="input",U.focusBrowserTextarea(),G(),Q.invalidate()}}),n1(D6,{key:"chat-input",x:U.inputX.value,y:U.panelTopY.value,w:U.inputInnerW.value,h:U.inputLines.value,modelValue:U.input.value,"onUpdate:modelValue":(j)=>U.input.value=j,cursorToEndOnExternalUpdate:!0,autoFocus:U.focusMode.value==="input"&&!J.value&&!U.showCommands.value&&!U.showTheme.value&&!U.showSessions.value&&!U.showMessageActions.value&&!U.showRedoConfirm.value&&!U.showConfig.value&&!U.showToolApprovals.value&&!U.showApproval.value&&!U.showAskUser.value&&!U.showPathPicker.value&&!U.showExitConfirm.value,cursorShape:"bar",cursorBlink:!1,placeholder:"Ask anything... (newline: Shift+Enter or Ctrl+J)",placeholderWhenFocused:!0,style:cT,promptSuggestions:U.promptSuggestions,mentionWorkspace:U.nodeLike?U.pickerWorkspace.value:"",mentionMode:"any",collectMentions:!0,mentions:U.focusFiles.value,"onUpdate:mentions":(j)=>U.focusFiles.value=[...j],onMentionClick:(j)=>{if(!U.nodeLike)return;U.showPathPicker.value=!0,U.pathPickerMode.value="file",U.pathPickerQuery.value=j,U.pathPickerError.value=null},onChange:(j)=>U.send(j),onKeydown:U.onInputKeydown,onFocus:()=>{J.value=!0,U.focusMode.value="input"},onBlur:()=>J.value=!1,zIndex:11})],B=U.panelTopY.value+U.inputLines.value+U.modelRowGap.value,q=U.ctxPctChip.value,O=U.modelInfo.value.build,M=U.modelInfo.value.label,P=k$(q),H=k$(O),z=k$(M),A=2,E=P+2+H+1+z,D=U.inputX.value+Math.max(0,U.inputInnerW.value-E),f=Math.max(0,D-U.inputX.value-1);if(f>0){let j=U.modeLabel.value,T=` ${j.toUpperCase()} `,L=j==="plan"?"magentaBright":"greenBright",k=Math.min(f,k$(T));W.push(n1($$,{key:"panel-mode",x:U.inputX.value,y:B,w:k,value:T,style:{fg:"black",bg:L,bold:!0},zIndex:-18}));let R=U.inputX.value+k+1,S=Math.max(0,f-k-1);if(U.assistantStatusDisplay.value&&S>0)W.push(n1($$,{key:"panel-status",x:R,y:B,w:S,value:U.assistantStatusDisplay.value,style:U.assistantStatusStyle.value,zIndex:-18}))}return W.push(n1($$,{key:"ctx-pct",x:D,y:B,value:q,style:{fg:"white",dim:!0,bg:"blackBright"},zIndex:-18})),W.push(n1($$,{key:"model-chip",x:D+P+2,y:B,value:O,style:{fg:"blueBright",bold:!0,bg:"blackBright"},zIndex:-18})),W.push(n1($$,{key:"model-label",x:D+P+2+H+1,y:B,w:Math.max(0,U.inputX.value+U.inputInnerW.value-(D+P+2+H+1)),value:M,style:{fg:"white",dim:!0,bg:"blackBright"},zIndex:-18})),W}}});import{defineComponent as M$$,h as eJ,inject as P$$}from"vue";var lT=M$$({name:"GoatChainChatFooter",setup(){let $=P$$(r1);if(!$)throw Error("GoatChainChatFooter missing ChatPageContext");let U=$;return()=>{let _=Math.max(0,U.rows.value-U.footerH),Q="drag to select",J=U.isLoading.value?[eJ($$,{key:"footer-dots",x:2,y:_,value:U.loadingDots.value,style:{fg:"whiteBright",bg:"black"},zIndex:21}),eJ($$,{key:"footer-esc",x:2+U.loadingDots.value.length+2,y:_,value:"esc",style:{fg:"blackBright",bg:"black"},zIndex:21}),eJ($$,{key:"footer-interrupt",x:2+U.loadingDots.value.length+2+4,y:_,value:"interrupt",style:{fg:"white",dim:!0,bg:"black"},zIndex:21})]:[eJ($$,{key:"footer-left-hint",x:2,y:_,value:"drag to select",style:QU,zIndex:21})];return[U.rows.value>0?eJ($$,{key:"footer-bg",x:0,y:_,w:U.cols.value,value:"",style:lG,zIndex:20}):null,...J,eJ($$,{key:"footer-right",x:Math.max(0,U.contentW.value-2-k$(U.footerRight.value)),y:_,value:U.footerRight.value,style:QU,zIndex:21})]}}});import{defineComponent as f$$,h as I5,inject as L$$}from"vue";function iG($,U){U=Math.max(0,Math.floor(U));let _=String($??"").replace(/\s+/g," ").trim();if(!_||U<=0)return"";if(k$(_)<=U)return _;if(U<=1)return t4(_,U);return`${t4(_,U-1)}…`}var iT=f$$({name:"GoatChainChatHeader",setup(){let $=L$$(r1);if(!$)throw Error("GoatChainChatHeader missing ChatPageContext");let U=$;return()=>{let _=U.headerStatsDisplay.value,Q=k$(_),J=Math.max(0,U.contentW.value-2-Q),G=U.store.state.context?.env??{},Y=String(G.GOATCHAIN_VERSION||G.VUE_TERMINAL_VERSION||"").trim(),X=String(U.pickerWorkspace.value??"").trim(),V=[Y?`v${Y}`:"",X].filter(Boolean).join(" · "),K=Math.max(0,U.contentW.value-4),Z=12,N=2,W=V?Math.max(0,K-12-2):0,B=V?iG(V,W):"",q=B?k$(B):0,O=B?Math.max(0,U.contentW.value-2-q):0,M=2,P=q?Math.max(0,K-q-2):K,H=iG(U.sessionHeaderTitle.value,P),z=2,A=2,E=Math.max(0,J-2-2),D=[I5($$,{key:"page-title",x:2,y:0,w:K,value:"GoatChain",style:QU}),I5($$,{key:"session-title",x:2,y:1,w:P,value:H,style:{fg:"blueBright",bold:!0,bg:"black"}})];if(B)D.push(I5($$,{key:"header-meta",x:O,y:1,value:B,style:QU}));if(D.push(I5($$,{key:"header-stats",x:J,y:2,value:_,style:QU})),E>0)D.push(I5($$,{key:"header-summary",x:2,y:2,w:E,value:iG(U.sessionHeaderSummary.value,E),style:QU}));return D}}});import{computed as R$$,defineComponent as jH,h as X2,inject as w$$}from"vue";var HH=null;try{HH=typeof Intl<"u"&&"Segmenter"in Intl?new Intl.Segmenter(void 0,{granularity:"grapheme"}):null}catch{HH=null}function rT($,U){if(!$)return;let _=0,Q=HH;if(!Q){for(let J of $){let G=J.length>0?k4(J):0,Y=U(J,_,_+G);if(_+=G,Y===!1)return}return}for(let J of Q.segment($)){let G=J.segment,Y=k4(G),X=U(G,_,_+Y);if(_+=Y,X===!1)return}}function OH($,U,_){if(U=Math.max(0,Math.floor(U)),_=Math.max(0,Math.floor(_)),_<=U)return{startCol:U,endCol:_};let Q=U,J=_;return rT($,(G,Y,X)=>{if(U>Y&&U<X)Q=Y;if(_>Y&&_<X)J=X;if(Y>_&&Y>U)return!1;return}),{startCol:Q,endCol:J}}function v5($,U,_){if(U=Math.max(0,Math.floor(U)),_=Math.max(0,Math.floor(_)),_<=U)return"";let Q=OH($,U,_),J=Q.startCol,G=Q.endCol;if(G<=J)return"";let Y="";return rT($,(X,V,K)=>{if(K<=J)return;if(V>=G)return!1;Y+=X;return}),Y}function nT($,U,_){if(!U||!_)return"";let Q=Math.min(U.row,_.row),J=Math.max(U.row,_.row),G=U.row<_.row?U.col:U.row>_.row?_.col:Math.min(U.col,_.col),Y=U.row<_.row?_.col:U.row>_.row?U.col:Math.max(U.col,_.col),X=[];for(let V=Q;V<=J&&V<$.length;V++){let K=$[V]?.text??"";if(Q===J)X.push(v5(K,G,Y));else if(V===Q)X.push(v5(K,G,Number.MAX_SAFE_INTEGER));else if(V===J)X.push(v5(K,0,Y));else X.push(K)}return X.join(`
850
+ `).trim()}function z$$($,U){if(!Boolean($&&U&&($.row!==U.row||$.col!==U.col)))return{active:!1,startRow:-1,endRow:-1,startCol:0,endCol:0};let Q=Math.min($.row,U.row),J=Math.max($.row,U.row),G=$.row<U.row?$.col:$.row>U.row?U.col:Math.min($.col,U.col),Y=$.row<U.row?U.col:$.row>U.row?$.col:Math.max($.col,U.col);return{active:!0,startRow:Q,endRow:J,startCol:G,endCol:Y}}var pT=jH({name:"GoatChainChatMessages",setup(){let $=w$$(r1);if(!$)throw Error("GoatChainChatMessages missing ChatPageContext");let U=$,_=R$$(()=>z$$(U.messageSelectStart.value,U.messageSelectEnd.value));function Q(Y,X){let V=Math.max(0,U.mainW.value-4),K=U.scrollTop.value+X,Z=Y.style?.bg??(Y.hasBackground?"blackBright":"black"),N=_.value,W=N.active&&K>=N.startRow&&K<=N.endRow,B=0,q=0;if(W)if(N.startRow===N.endRow)B=N.startCol,q=N.endCol;else if(K===N.startRow)B=N.startCol,q=V;else if(K===N.endRow)B=0,q=N.endCol;else B=0,q=V;let O=Y.segments.length,M=[X2($$,{key:`r${X}_bg`,x:0,y:X,w:V,value:" ".repeat(V),style:{bg:Z},zIndex:0}),X2($$,{key:`r${X}_base`,x:0,y:X,w:V,value:Y.text,style:{...Y.style,bg:Z},zIndex:1})];M.length=2+O*2;let P=2;for(let H=0;H<O;H++){let z=Y.segments[H];if(M[P++]=X2($$,{key:`r${X}_s${z.x}`,x:z.x,y:X,w:Math.max(0,Math.min(V-z.x,z.w)),value:z.text,style:{...z.style,bg:Z},zIndex:2}),z.action?.type==="openFile")M[P++]=X2(v4,{key:`r${X}_s${z.x}_hit`,x:z.x,y:X,w:Math.max(0,Math.min(V-z.x,z.w)),h:1,zIndex:11,focusable:!1,onClick:async(A)=>{if(!U.nodeLike)return;let E=z.action.absPath;if(A?.metaKey||A?.ctrlKey)try{if(!E||E.includes("\x00"))return;let{spawn:D}=await import("node:child_process"),f=globalThis.process,j=String(f?.platform||"");D(j==="darwin"?"open":j==="win32"?"explorer.exe":"xdg-open",[E],{shell:!1,detached:!0,stdio:"ignore"}).unref()}catch{}}})}if(M.length=P,W&&q>B){let H=OH(Y.text,B,q),z=Math.max(0,Math.min(V,H.startCol)),A=Math.max(0,Math.min(V,H.endCol)),E=Math.min(A-z,V-z);if(E>0){let D=$1(v5(Y.text,z,z+E),E);M.push(X2($$,{key:`r${X}_sel`,x:z,y:X,w:E,value:D,style:{fg:"whiteBright",bg:"blueBright"},zIndex:3}))}}if(!Y.action)return M;return M.push(X2(v4,{key:`r${X}_hit`,x:0,y:X,w:V,h:1,zIndex:10,focusable:!0,onFocusCapture:()=>U.focusMode.value="messages",onKeydown:U.onSelectionKeydown,onClick:()=>U.onLineClick(Y.action)})),M}let J=jH({name:"GoatChainUserMessageBlock",props:{startRow:{type:Number,required:!0},lines:{type:Array,required:!0}},setup(Y){return()=>Y.lines.flatMap((X,V)=>Q(X,Y.startRow+V))}}),G=jH({name:"GoatChainAssistantMessageBlock",props:{startRow:{type:Number,required:!0},lines:{type:Array,required:!0}},setup(Y){return()=>Y.lines.flatMap((X,V)=>Q(X,Y.startRow+V))}});return()=>X2(v4,{x:2,y:U.mainY,w:Math.max(0,U.mainW.value-4),h:U.mainH.value,zIndex:1,selectable:!0,focusable:!0,onFocusCapture:()=>U.focusMode.value="messages",onWheel:U.onWheel,onKeydown:U.onSelectionKeydown,onClickCapture:U.onMessageClick,onPointerdownCapture:U.onMessagePointerDown,onPointermoveCapture:U.onMessagePointerMove,onPointerupCapture:U.onMessagePointerUp,onContextmenuCapture:U.onMessageContextMenu},()=>{let Y=U.messageRoleById.value,X=U.visibleLines.value,V=X.length,K=Math.max(1,Math.floor(V/5)),Z=[];Z.length=K;let N=0;for(let q=0;q<V;q++){let O=X[q],M=String(O?.messageId??"").trim();if(!M){Z[N++]={kind:"spacer",startRow:q,lines:[O]};continue}let P=Y.get(M)==="user"?"user":"assistant",H=Z[N-1];if(H&&H.kind!=="spacer"&&H.messageId===M){H.lines.push(O);continue}Z[N++]={kind:P,messageId:M,startRow:q,lines:[O]}}Z.length=N;let W=[];W.length=N;let B=0;for(let q=0;q<N;q++){let O=Z[q];if(O.kind==="spacer")W[B++]=Q(O.lines[0],O.startRow)[0];else if(O.kind==="user")W[B++]=X2(J,{key:`u_${O.startRow}`,startRow:O.startRow,lines:O.lines});else W[B++]=X2(G,{key:`a_${O.startRow}`,startRow:O.startRow,lines:O.lines})}return W.length=B,W})}});import{defineComponent as Z4$,inject as W4$}from"vue";import{h as JS}from"vue";import{defineComponent as A$$,h as k0,ref as aT,watch as k$$}from"vue";function oT($){return Math.max(1,Math.ceil($.length/4))}function sJ($){try{return JSON.stringify($)}catch{return'"[unserializable]"'}}function Y0($){return $.replace(/\r/g,"").trimEnd()}function $8($,U,_){return Math.max(U,Math.min(_,$))}function tT($){let U=Y0($),_=U.search(/\s(?:Args|Command|Description):\s/i);if(_<=0)return U;return U.slice(0,_).trimEnd()}function T$$($){let Q=Math.max(0,Math.floor($)),J=(Y,X,V)=>{return[Y,X,V].map((N)=>k$(`[ ${N} ]`)).reduce((N,W)=>N+W,0)+2*Math.max(0,2)},G=[{approve:"Approve",always:"Always approve",deny:"Deny"},{approve:"Approve",always:"Always",deny:"Deny"},{approve:"OK",always:"Always",deny:"No"},{approve:"Y",always:"All",deny:"N"}];for(let Y of G)if(J(Y.approve,Y.always,Y.deny)<=Q)return Y;return G[G.length-1]}function eT($){if(!$)return null;let U=$.arguments,_=typeof U?.command==="string"?U.command:void 0,Q=typeof U?.description==="string"?U.description:void 0;if(!_&&!Q)return null;return{command:_,description:Q}}function sT($){if(!$||typeof $!=="object"||Array.isArray($))return null;let U=$,_=typeof U.command==="string"?U.command:void 0,Q=typeof U.description==="string"?U.description:void 0;if(!_&&!Q)return null;return{command:_,description:Q}}var $S=A$$({name:"GoatChainApprovalDialog",props:{modelValue:{type:Boolean,required:!0},request:{type:Object,required:!0},call:{type:Object,required:!1,default:null},w:{type:Number,required:!0},h:{type:Number,required:!0}},emits:{"update:modelValue":($)=>!0,approve:()=>!0,alwaysApprove:()=>!0,deny:()=>!0},setup($,{emit:U}){let Q=aT(0),J=aT(null);return k$$([()=>$.modelValue,()=>$.request.id],([G,Y])=>{if(!G)return;if(J.value!==Y)Q.value=0;J.value=Y},{immediate:!0}),()=>{if(!$.modelValue)return null;let G=Math.max(0,$.w-4),Y=T$$(G),X=()=>{let V=$.request,K=V.args,Z=eT($.call)??sT(K),N=Math.max(0,$.w-4),W=Math.max(0,$.h-4),B=1,q=Math.max(0,W-1),O=2;if(q-O>=4)O+=1;let M=tT(V.reason),P=c1(M,Math.max(1,N)),H=Math.max(0,q-O),z=Z?(Z.description?2:0)+(Z.command?4:0):0,A=(H>=2?1:0)+(H>=2+z?z:0),E=$8(Math.max(1,H-A),1,Math.max(1,H)),D=Math.max(0,P.length-E);return{reasonH:E,maxOffset:D}};return k0(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(V)=>U("update:modelValue",V),onKeydownCapture:(V)=>{if(V?.key==="Enter")V.__goatchainApprovalDialogHandled=!0;if(typeof V?.key==="string"&&V.key.length===1&&!V.ctrlKey&&!V.metaKey&&!V.altKey)V.preventDefault?.(),V.stopPropagation?.()},onKeydown:(V)=>{let{reasonH:K,maxOffset:Z}=X();if(Z<=0)return;let N=Q.value,W=N;if(V?.key==="ArrowUp")W=N-1;else if(V?.key==="ArrowDown")W=N+1;else if(V?.key==="PageUp")W=N-Math.max(1,K);else if(V?.key==="PageDown")W=N+Math.max(1,K);else if(V?.key==="Home")W=0;else if(V?.key==="End")W=Z;else return;V.preventDefault?.(),V.stopPropagation?.(),Q.value=$8(W,0,Z)},w:$.w,h:$.h,title:"Approve Tool Permission",placement:"center",backdrop:!1,padding:1,style:{fg:"yellowBright",bg:"black"},closeOnConfirm:!1,buttons:[{label:Y.approve,value:"approve",kind:"primary",default:!0},{label:Y.always,value:"alwaysApprove",kind:"danger"},{label:Y.deny,value:"deny"}],onConfirm:(V)=>{if(V?.value==="approve")U("approve");else if(V?.value==="alwaysApprove")U("alwaysApprove");else if(V?.value==="deny")U("deny")},onClose:()=>U("update:modelValue",!1)},()=>{let V=$.request,K=V.args,Z=eT($.call)??sT(K),N=Math.max(0,$.w-4),W=Math.max(0,$.h-4),B=1,q=Math.max(0,W-1),O=[k0($$,{x:0,y:0,w:N,h:W,value:"",style:{bg:"black"}}),k0($$,{x:0,y:0,w:N,value:`Tool: ${V.tool}`,style:{fg:"whiteBright",bold:!0,bg:"black"}}),k0($$,{x:0,y:1,w:N,value:`Permission: ${V.permission}`,style:{fg:"cyanBright",bg:"black"}})],M=2;if(q-M>=4)M+=1;if(M<q){let P=Math.max(1,q-M),H=tT(V.reason),z=c1(H,Math.max(1,N)),A=Math.max(0,q-M),E=Z?(Z.description?2:0)+(Z.command?4:0):0,D=(A>=2?1:0)+(A>=2+E?E:0),f=$8(Math.max(1,A-D),1,P),j=Math.max(0,z.length-f),T=$8(Q.value,0,j),L=z.slice(T,T+f).join(`
851
+ `);if(O.push(k0($$,{x:0,y:M,w:N,h:f,value:L,style:{fg:"white",dim:!0,bg:"black"}})),N>0&&f>0){if(T>0)O.push(k0($$,{x:N-1,y:M,w:1,value:"↑",style:{fg:"whiteBright",dim:!0,bg:"black"}}));if(T+f<z.length)O.push(k0($$,{x:N-1,y:M+f-1,w:1,value:"↓",style:{fg:"whiteBright",dim:!0,bg:"black"}}))}M+=f}if(Z&&M<q){if(Z.description&&M<q){let P=Math.max(1,q-M),H=$8(2,1,P);O.push(k0($$,{x:0,y:M,w:N,h:H,wrap:!0,value:`Description: ${Y0(Z.description)}`,style:{fg:"white",dim:!0,bg:"black"}})),M+=H}if(Z.command&&M<q){if(O.push(k0($$,{x:0,y:M,w:N,value:"Command:",style:{fg:"yellowBright",bg:"blackBright",bold:!0}})),M+=1,M<q){let P=Math.max(1,q-M),H=$8(3,1,P);O.push(k0($$,{x:0,y:M,w:N,h:H,wrap:!0,value:Y0(Z.command),style:{fg:"whiteBright",bg:"blackBright"}})),M+=H}}}return O})}}});import{computed as S$$,defineComponent as I$$,h as b1,ref as G_,watch as US}from"vue";function Y_($,U,_){return Math.max(U,Math.min(_,$))}var _S=I$$({name:"GoatChainAskUserDialog",props:{modelValue:{type:Boolean,required:!0},toolCallId:{type:String,required:!0},questions:{type:Array,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0}},emits:{"update:modelValue":($)=>!0,submit:($)=>!0,cancel:()=>!0},setup($,{emit:U}){let _=G_(0),Q=G_(0),J=G_({}),G=G_({}),Y=G_({}),X=G_({}),V=G_({});US(()=>[$.toolCallId,$.questions.length],()=>{_.value=0,Q.value=0;let W={},B={},q={},O={},M={};for(let P=0;P<$.questions.length;P++){let H=String(P);W[H]=0,B[H]=[],q[H]="",O[H]=0,M[H]="select"}J.value=W,G.value=B,Y.value=q,X.value=O,V.value=M},{immediate:!0});let K=S$$(()=>{let W={};for(let B=0;B<$.questions.length;B++){let q=String(B),O=$.questions[B],H=[...(O.options||[]).map((z)=>z.label),"Other"];if(O.multiSelect){let z=G.value[q]??[],A=z.map((j)=>H[j]).filter((j)=>Boolean(j)&&j!=="Other"),E=Y.value[q]?.trim(),D=H.length-1;if(z.includes(D)&&E)A.push(E);W[q]=A.length>0?A:[]}else{let z=J.value[q]??0,A=H[z]??"";if(A==="Other")W[q]=Y.value[q]||"";else W[q]=A}}return W});function Z(){U("submit",{...K.value}),U("update:modelValue",!1)}function N(){U("cancel"),U("update:modelValue",!1)}return US(()=>$.modelValue,(W,B)=>{if(!W||B)return;Q.value=1},{immediate:!0}),()=>{if(!$.modelValue)return null;let W=Math.max(0,$.w-4),B=Math.max(0,$.h-5),q={fg:"whiteBright",bg:"black"},O={fg:"whiteBright",bold:!0},M={fg:"white",dim:!0},P=Y_(_.value,0,Math.max(0,$.questions.length-1)),H=$.questions[P],z=H?.multiSelect??!1,A=String(P);if(!H)return b1(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(w)=>U("update:modelValue",w),w:$.w,h:$.h,title:"No Questions",placement:"center",padding:1,style:{fg:"cyanBright",bg:"black"},buttons:[{label:"Close",value:"close",kind:"primary",default:!0}],onConfirm:()=>N(),onClose:()=>N()},()=>[b1($$,{x:0,y:0,w:W,value:"No questions to answer.",style:M})]);let E=H.options||[],D=E.map((w)=>({label:w.label,detail:w.description}));D.push({label:"Other",detail:"Provide a custom answer"});let j=[...E.map((w)=>w.label),"Other"],T=j.length-1,L=z?(G.value[A]??[]).includes(T):(J.value[A]??0)===T,k=P>=$.questions.length-1,R=P<=0,S=[{label:"Prev",value:"prev"},k?{label:"Submit",value:"submit",kind:"primary",default:!0}:{label:"Next",value:"next",kind:"primary",default:!0},{label:"Cancel",value:"cancel"}],I=(w)=>{if(w==="submit")Z();else if(w==="next")_.value=Math.min(_.value+1,$.questions.length-1);else if(w==="prev"){if(!R)_.value=Math.max(_.value-1,0)}else N()};return b1(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(w)=>U("update:modelValue",w),onKeydownCapture:(w)=>{if(w?.key==="Enter"&&L){let C=(Y.value[A]??"").trim(),b=Number(w?.target?.rect?.h??0);if(!C&&b>1){w.preventDefault?.(),w.stopPropagation?.(),V.value={...V.value,[A]:"input"};let y=X.value[A]??0;X.value={...X.value,[A]:y+1};return}}if(w?.key==="Escape")w.preventDefault?.(),w.stopPropagation?.(),N()},w:$.w,h:$.h,title:`Question ${P+1}/${$.questions.length}: ${H.header||"Question"}`,placement:"center",backdrop:!1,padding:1,style:{fg:"cyanBright",bg:"black"},buttons:S,closeOnConfirm:!1,onKeydown:(w)=>{if(z&&w?.key==="Enter"&&w.defaultPrevented){w.preventDefault?.(),w.stopPropagation?.();let C=Y_(Q.value,0,Math.max(0,S.length-1)),b=S[C];I(String(b?.value??""))}if((w?.key==="ArrowLeft"||w?.key==="ArrowRight")&&!w.defaultPrevented){let C=w.key==="ArrowLeft"?-1:1;Q.value=Y_(Q.value+C,0,Math.max(0,S.length-1))}},onConfirm:(w)=>{if(typeof w?.index==="number")Q.value=Y_(w.index,0,Math.max(0,S.length-1));I(String(w?.value??""))},onClose:()=>N()},()=>{let w=0,C=[];if(L&&V.value[A]==="buttons"){let b=Math.max(0,W-1),y=Math.max(0,B-1);C.push(b1(v4,{x:b,y,w:1,h:1,zIndex:-1,focusable:!0,autoFocus:!0,onKeydown:(x)=>{if(x?.key==="ArrowDown"){x.preventDefault?.(),x.stopPropagation?.();return}if(x?.key!=="ArrowUp")return;x.preventDefault?.(),x.stopPropagation?.(),V.value={...V.value,[A]:"input"}}}))}if(C.push(b1($$,{x:0,y:w++,w:W,wrap:!0,value:H.question||"",style:O})),w++,z){C.push(b1($$,{x:0,y:w++,w:W,value:"[Multi-select] Space to toggle, Enter to confirm",style:{fg:"yellow"}})),w++;let b=G.value[A]??[],y=Math.min(j.length,Math.max(3,B-w-2));if(y>0&&w<B-2){if(C.push(b1(j1,{x:0,y:w,w:W,h:y,multiple:!0,options:D,modelValue:b,"onUpdate:modelValue":(x)=>{if(!Array.isArray(x))return;G.value={...G.value,[A]:x};let l=x.includes(T);V.value={...V.value,[A]:l?"input":"select"}},onFocus:()=>{V.value={...V.value,[A]:"select"}},autoFocus:V.value[A]==="select",style:q,highlightStyle:{fg:"whiteBright",bg:"blueBright",bold:!0}})),w+=y+1,L&&w<B-1)C.push(b1($$,{x:0,y:w++,w:W,value:"Custom answer:",style:M})),C.push(b1(D6,{key:`custom-input:${A}:${X.value[A]??0}`,x:0,y:w,w:W,modelValue:Y.value[A]||"","onUpdate:modelValue":(x)=>{Y.value={...Y.value,[A]:x}},onFocus:()=>{V.value={...V.value,[A]:"input"}},onKeydown:(x)=>{if(x?.key==="ArrowDown"){x.preventDefault?.(),x.stopPropagation?.(),V.value={...V.value,[A]:"buttons"};return}if(x?.key==="Enter"&&!x?.shiftKey){x.preventDefault?.(),x.stopPropagation?.();let l=Y_(Q.value,0,Math.max(0,S.length-1)),t=S[l];I(String(t?.value??""));return}if(x?.key!=="ArrowUp")return;x.preventDefault?.(),x.stopPropagation?.(),V.value={...V.value,[A]:"select"}},autoFocus:V.value[A]==="input",placeholder:"Type your answer...",style:{fg:"whiteBright",bg:"blackBright"}}))}}else{C.push(b1($$,{x:0,y:w++,w:W,value:"[Single-select] Use arrows, Enter to confirm",style:{fg:"yellow"}})),w++;let b=J.value[A]??0,y=Math.min(j.length,Math.max(3,B-w-2));if(C.push(b1(j1,{x:0,y:w,w:W,h:y,options:D,modelValue:b,"onUpdate:modelValue":(x)=>{J.value={...J.value,[A]:x},V.value={...V.value,[A]:x===T?"input":"select"}},onFocus:()=>{V.value={...V.value,[A]:"select"}},autoFocus:V.value[A]==="select",style:q,highlightStyle:{fg:"whiteBright",bg:"blueBright",bold:!0}})),w+=y+1,L&&w<B-1)C.push(b1($$,{x:0,y:w++,w:W,value:"Custom answer:",style:M})),C.push(b1(D6,{key:`custom-input:${A}:${X.value[A]??0}`,x:0,y:w,w:W,modelValue:Y.value[A]||"","onUpdate:modelValue":(x)=>{Y.value={...Y.value,[A]:x}},onFocus:()=>{V.value={...V.value,[A]:"input"}},onKeydown:(x)=>{if(x?.key==="ArrowDown"){x.preventDefault?.(),x.stopPropagation?.(),V.value={...V.value,[A]:"buttons"};return}if(x?.key==="Enter"&&!x?.shiftKey){x.preventDefault?.(),x.stopPropagation?.();let V$=Y_(Q.value,0,Math.max(0,S.length-1)),u$=S[V$];I(String(u$?.value??""));return}if(x?.key!=="ArrowUp")return;x.preventDefault?.(),x.stopPropagation?.();let l=J.value[A]??0,t=Y_(l-1,0,T);J.value={...J.value,[A]:t},V.value={...V.value,[A]:"select"}},autoFocus:V.value[A]==="input",placeholder:"Type your answer...",style:{fg:"whiteBright",bg:"blackBright"}}))}return C})}}});function v$$($,U){let _=String(U??"").trim();if(!_)return null;for(let Q of $.store.state.messages){if(Q.role!=="assistant")continue;for(let J of Q.parts)if(J.type==="tool_call"&&J.call.id===_)return J.call}return null}function QS($){return[$.showApproval.value&&$.activeApproval.value?JS($S,{modelValue:$.showApproval.value,"onUpdate:modelValue":(U)=>$.showApproval.value=U,request:$.activeApproval.value,call:v$$($,$.activeApproval.value.toolCallId),w:$.approvalW.value,h:$.approvalH.value,onApprove:()=>void $.store.approve(),onAlwaysApprove:()=>{$.applyToolApprovals("all"),$.store.approve()},onDeny:()=>void $.store.deny()}):null,$.showAskUser.value&&$.activeAskUser.value?JS(_S,{modelValue:$.showAskUser.value,"onUpdate:modelValue":(U)=>$.showAskUser.value=U,toolCallId:String($.activeAskUser.value.toolCallId??""),questions:$.activeAskUser.value.questions??[],w:$.askUserW.value,h:$.askUserH.value,onSubmit:(U)=>void $.store.submitAskUserAnswers(U),onCancel:()=>$.store.cancelAskUser()}):null]}import{h as x$$}from"vue";import{computed as rG,defineComponent as C$$,ref as y$$,watch as b$$}from"vue";function GS($,U){let _=$.toLowerCase(),Q=U.toLowerCase().trim();if(!Q)return 0;if(_===Q)return 1e4;if(_.startsWith(Q))return 5000-_.length;let J=_.indexOf(Q);if(J>=0)return 2000-J;let G=0,Y=0,X=0;for(let V=0;V<_.length&&G<Q.length;V++)if(_[V]===Q[G])G++,X++,Y+=10+X*5;else X=0;if(G<Q.length)return null;return Y}function V2($,U,_){return Math.max(U,Math.min(_,$))}function YS($,U){let _=U.trim(),Q=[];for(let J=0;J<$.length;J++){let G=$[J],Y=(G.keywords??[]).filter(Boolean).join(" "),X=`${G.label} ${G.detail??""} ${Y}`.trim(),V=GS(X,_);if(V==null)continue;Q.push({idx:J,opt:G,score:V})}return Q.sort((J,G)=>G.score-J.score||J.idx-G.idx),Q}function XS($,U){let _=$.findIndex((Q)=>Q.idx===U);return _>=0?_:0}import{h as X0}from"vue";function VS($){if(!$.modelValue)return null;let U=Math.max(0,Math.floor($.cols)),_=Math.max(0,Math.floor($.rows)),Q=U<=0?0:V2(Math.floor(U*0.78),Math.min(44,U),U),J=_<=0?0:V2(12,10,Math.max(10,Math.min(18,_))),G=Math.max(0,Math.floor(($.cols-Q)/2)),Y=V2(Math.floor($.rows*0.25),1,Math.max(1,$.rows-J-1)),X=Math.max(0,Q-2),V=Math.max(0,J-2),K=Math.max(0,X-2),Z=Math.max(0,V-2),N=$.filtered,W=1,B=2,q=Math.max(B,Z-1),O=Math.max(B,q-2),M=V2(N.length,1,Math.max(1,O-B)),P=Math.max(1,M),H=Math.max(0,N.length-P),z=V2($.selectedFilteredIndex-Math.floor(P/2),0,H),A=N.slice(z,z+P),E=N[$.selectedFilteredIndex]?.opt,D=E?.detail?String(E.detail):"",f=D?c1(D,Math.max(1,K)).slice(0,2):[],j=()=>{$.onUpdateModelValue(!1),$.onClose()},T=(k)=>{if(!N.length)return;let R=V2($.selectedFilteredIndex+k,0,N.length-1),S=N[R]?.idx;if(S!=null)$.onUpdateSelectedIndex(S)},L=()=>{let k=N[$.selectedFilteredIndex];$.onSelect(k?.opt?.label??null)};return X0(v4,{x:0,y:0,w:$.cols,h:$.rows,zIndex:100,focusable:!0,onClick:j,onKeydownCapture:(k)=>{if(k?.key==="Escape")k?.preventDefault?.(),k?.stopPropagation?.(),j()}},()=>X0(H1,{x:G,y:Y,w:Q,h:J,border:!0,title:$.title,padding:1,style:{fg:"blueBright",bg:"black"},zIndex:110},()=>[X0($$,{x:0,y:0,w:K,h:Z,value:"",style:{bg:"black"}}),X0(D6,{x:0,y:0,w:K,modelValue:$.query,"onUpdate:modelValue":(k)=>$.setQuery(k),placeholder:"Search…",placeholderWhenFocused:!0,autoFocus:!0,style:{fg:"whiteBright",bg:"blackBright"},onKeydown:(k)=>{if(k?.key==="ArrowDown")k.preventDefault?.(),T(1);else if(k?.key==="ArrowUp")k.preventDefault?.(),T(-1);else if(k?.key==="Enter")k.preventDefault?.(),L()}}),K>0?X0($$,{x:0,y:W,w:K,value:"─".repeat(K),style:{fg:"white",dim:!0,bg:"black"}}):null,N.length?X0(j1,{x:0,y:B,w:K,h:M,options:A.map((k)=>({label:k.opt.label})),modelValue:V2($.selectedFilteredIndex-z,0,Math.max(0,A.length-1)),"onUpdate:modelValue":(k)=>{let R=A[V2(k,0,Math.max(0,A.length-1))];if(R)$.onUpdateSelectedIndex(R.idx)},style:{fg:"whiteBright",bg:"black"},highlightStyle:{fg:"black",bg:"blueBright",bold:!0},autoFocus:!1,closeOnBlur:!1,onChange:(k)=>$.onSelect(k),onClose:j}):X0($$,{x:0,y:B,w:K,h:M,value:"No matches",style:{fg:"white",dim:!0,bg:"blackBright"}}),f.length?f.map((k,R)=>X0($$,{key:`detail-${R}`,x:0,y:O+R,w:K,value:k,style:{fg:"white",dim:!0,bg:"black"}})):X0($$,{x:0,y:O,w:K,h:2,value:"",style:{bg:"black"}}),X0($$,{x:0,y:q,w:K,value:"Type to filter • Enter: open • Esc: close",style:{fg:"white",dim:!0,bg:"black"}}),K>0?X0($$,{x:Math.max(0,K-1),y:q,w:1,value:" ",style:{bg:"black"}}):null]))}var nG=C$$({name:"GoatChainCommandPalette",props:{modelValue:{type:Boolean,required:!0},title:{type:String,default:"Commands"},initialQuery:{type:String,default:""},options:{type:Array,required:!0},selectedIndex:{type:Number,required:!0}},emits:{"update:modelValue":($)=>!0,"update:selectedIndex":($)=>!0,select:($)=>!0,close:()=>!0},setup($,{emit:U}){let _=U6(),Q=rG(()=>_.clipRect?.w??0),J=rG(()=>_.clipRect?.h??0),G=y$$("");b$$(()=>[$.modelValue,$.initialQuery],([K])=>{if(K)G.value=String($.initialQuery??"")});function Y(){U("close")}let X=rG(()=>YS($.options,G.value)),V=rG(()=>XS(X.value,$.selectedIndex));return()=>{return VS({modelValue:$.modelValue,title:$.title,cols:Q.value,rows:J.value,query:G.value,setQuery:(K)=>G.value=K,filtered:X.value,selectedFilteredIndex:V.value,onUpdateModelValue:(K)=>U("update:modelValue",K),onUpdateSelectedIndex:(K)=>U("update:selectedIndex",K),onSelect:(K)=>U("select",K),onClose:Y})}}});function KS($){return[x$$(nG,{modelValue:$.showCommands.value,"onUpdate:modelValue":(U)=>$.showCommands.value=U,title:"Commands",options:$.commandOptions.value,selectedIndex:$.commandIndex.value,"onUpdate:selectedIndex":(U)=>$.commandIndex.value=U,onSelect:(U)=>$.onCommandSelect(U),onClose:$.closeCommandPalette})]}import{h as h$$}from"vue";import{defineComponent as g$$,h as DH}from"vue";var ZS=g$$({name:"GoatChainExitSessionDialog",props:{modelValue:{type:Boolean,required:!0}},emits:{"update:modelValue":($)=>!0,exit:()=>!0},setup($,{emit:U}){return()=>{if(!$.modelValue)return null;return DH(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(_)=>U("update:modelValue",_),onKeydownCapture:(_)=>{if(_?.key==="Escape"){_.preventDefault?.(),_.stopPropagation?.(),U("update:modelValue",!1);return}if(typeof _?.key==="string"&&_.key.length===1&&!_.ctrlKey&&!_.metaKey&&!_.altKey)_.preventDefault?.(),_.stopPropagation?.()},w:54,h:10,title:"Exit Session",placement:"center",backdrop:!1,padding:1,style:{fg:"yellowBright",bg:"black"},buttons:[{label:"Cancel",value:"cancel"},{label:"Exit",value:"exit",kind:"primary",default:!0}],onConfirm:(_)=>{if(_?.value==="exit")U("exit");U("update:modelValue",!1)},onClose:()=>U("update:modelValue",!1)},()=>[DH($$,{x:0,y:0,w:50,wrap:!0,value:"Exit the current session and return to Home?",style:{fg:"whiteBright",bg:"black"}}),DH($$,{x:0,y:2,w:50,wrap:!0,value:"Next message will start a new session.",style:{fg:"white",dim:!0,bg:"black"}})])}}});function WS($){return[h$$(ZS,{modelValue:$.showExitConfirm.value,"onUpdate:modelValue":(U)=>$.showExitConfirm.value=U,onExit:async()=>{$.showExitConfirm.value=!1,await $.exitSessionToHome()}})]}import{h as X_}from"vue";import{defineComponent as u$$,h as pG}from"vue";var NS=u$$({name:"GoatChainMessageActionsDialog",props:{modelValue:{type:Boolean,required:!0},selectedIndex:{type:Number,required:!0}},emits:{"update:modelValue":($)=>!0,"update:selectedIndex":($)=>!0,action:($)=>!0},setup($,{emit:U}){let _=["Revert undo messages and file changes","Copy message text to clipboard","Fork create a new session"];function Q(Y){return Y===0?"revert":Y===1?"copy":"fork"}function J(){U("update:modelValue",!1),U("update:selectedIndex",0)}function G(Y){if(Y.defaultPrevented)return;if(Y.key==="ArrowUp")Y.preventDefault?.(),Y.stopPropagation?.(),U("update:selectedIndex",Math.max(0,$.selectedIndex-1));else if(Y.key==="ArrowDown")Y.preventDefault?.(),Y.stopPropagation?.(),U("update:selectedIndex",Math.min(2,$.selectedIndex+1));else if(Y.key==="Enter")Y.preventDefault?.(),Y.stopPropagation?.(),U("action",Q($.selectedIndex));else if(Y.key==="Escape")Y.preventDefault?.(),Y.stopPropagation?.(),J()}return()=>{if(!$.modelValue)return null;return pG(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(Y)=>{if(U("update:modelValue",Y),!Y)U("update:selectedIndex",0)},onKeydownCapture:(Y)=>{if(typeof Y?.key==="string"&&Y.key.length===1&&!Y.ctrlKey&&!Y.metaKey&&!Y.altKey)Y.preventDefault?.(),Y.stopPropagation?.()},w:48,h:7,title:"Message Actions",placement:"center",backdrop:!1,padding:1,style:{fg:"blueBright",bg:"black"},onClose:J},()=>pG(v4,{x:0,y:0,w:44,h:3,focusable:!0,autoFocus:!0,onKeydownCapture:G},()=>_.flatMap((Y,X)=>{let V=$.selectedIndex===X,K=V?{fg:"white",bg:"black",bold:!0}:{fg:"whiteBright",dim:!0,bg:"black"},Z=V?"▸ ":" ";return[pG($$,{key:`action-t-${X}`,x:0,y:X,w:44,value:`${Z}${Y}`,style:K}),pG(v4,{key:`action-v-${X}`,x:0,y:X,w:44,h:1,onClick:(N)=>{N?.stopPropagation?.(),U("update:selectedIndex",X),U("action",Q(X))}})]})))}}});import{defineComponent as m$$,h as FS}from"vue";var qS=m$$({name:"GoatChainRedoConfirmDialog",props:{modelValue:{type:Boolean,required:!0}},emits:{"update:modelValue":($)=>!0,confirm:()=>!0,cancel:()=>!0},setup($,{emit:U}){function _(){U("update:modelValue",!1),U("cancel")}return()=>{if(!$.modelValue)return null;return FS(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(Q)=>U("update:modelValue",Q),onKeydownCapture:(Q)=>{if(typeof Q?.key==="string"&&Q.key.length===1&&!Q.ctrlKey&&!Q.metaKey&&!Q.altKey)Q.preventDefault?.(),Q.stopPropagation?.()},w:52,h:8,title:"Confirm Redo",placement:"center",backdrop:!1,padding:1,style:{fg:"whiteBright",bg:"black"},buttons:[{label:"Cancel",value:"cancel"},{label:"Confirm",value:"confirm",kind:"primary",default:!0}],onConfirm:(Q)=>{if(Q?.value==="confirm")U("confirm"),U("update:modelValue",!1);else _()},onClose:_},()=>[FS($$,{x:0,y:1,w:48,value:"Are you sure you want to restore the reverted messages?",style:{fg:"white"}})])}}});function BS($){let U=[];if($.store.hasRevertedMessages.value){let J=$.mainY+$.mainH.value,G=Math.max(0,$.mainW.value-4),Y=Array.from({length:2},()=>"┃").join(`
852
+ `),X=4,V=Math.max(0,G-3);U.push(X_($$,{key:"revert-banner-bg",x:2,y:J,w:G,h:2,value:"",style:{bg:"black"},zIndex:50}),X_($$,{key:"revert-banner-bar",x:2,y:J,w:1,h:2,value:Y,style:{fg:"blueBright",bg:"black"},zIndex:51}),X_($$,{key:"revert-banner-text",x:4,y:J,w:V,value:`${$.store.revertedMessageCount.value} message${$.store.revertedMessageCount.value>1?"s":""} reverted`,style:{fg:"yellowBright",bg:"black"},zIndex:52}),X_($$,{key:"revert-banner-hint",x:4,y:J+1,w:V,value:"click or ctrl+r or /redo to restore",style:{fg:"white",dim:!0,bg:"black",bold:!0},zIndex:52}),X_(v4,{key:"revert-banner-hit",x:2,y:J,w:G,h:2,zIndex:60,focusable:!0,onClick:()=>{$.confirmRestore(),$.focusBrowserTextarea()}}))}return U.push(X_(NS,{modelValue:$.showMessageActions.value,"onUpdate:modelValue":(_)=>{if($.showMessageActions.value=_,!_)$.messageActionsTargetId.value=null,$.messageActionsIndex.value=0},selectedIndex:$.messageActionsIndex.value,"onUpdate:selectedIndex":(_)=>$.messageActionsIndex.value=_,onAction:(_)=>{if(_==="revert")$.handleRevertMessage();else if(_==="copy")$.handleCopyMessage();else $.handleForkSession()}}),X_(qS,{modelValue:$.showRedoConfirm.value,"onUpdate:modelValue":(_)=>$.showRedoConfirm.value=_,onConfirm:$.confirmRestore,onCancel:$.cancelRestore})),U}import{h as l$$}from"vue";import{defineComponent as c$$,h as EH,watch as d$$}from"vue";var oG=c$$({name:"GoatChainPathPickerDialog",props:{modelValue:{type:Boolean,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},title:{type:String,required:!0},workspace:{type:String,required:!0},mode:{type:String,required:!0},query:{type:String,required:!0},placeholder:{type:String,required:!0}},emits:{"update:modelValue":($)=>!0,"update:query":($)=>!0,invalid:($)=>!0,select:($)=>!0,close:()=>!0},setup($,{emit:U}){let _=sU(),Q=!1;function J(){Q=!1}function G(X){let V=X?.key;if(V==="ArrowUp"||V==="ArrowDown"){Q=!0;return}if((X?.ctrlKey||X?.metaKey)&&!X?.altKey&&(V==="p"||V==="P"||V==="n"||V==="N"))Q=!0}let Y={listDir:_.listDir,stat:async(X)=>{if(Q){let V=J2($.workspace,$.query);if(X===V)return Q=!1,{exists:!1,kind:"other"}}return _.stat(X)}};return d$$(()=>$.modelValue,(X)=>{if(!X)J()}),()=>{if(!$.modelValue)return null;let X=Math.max(0,$.w-2),V=Math.max(0,$.h-2);return EH(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(K)=>U("update:modelValue",K),w:$.w,h:$.h,title:$.title,placement:"center",backdrop:!1,padding:1,style:{fg:"blueBright",bg:"black"},onClose:()=>{J(),U("update:modelValue",!1),U("close")}},()=>[EH($$,{x:0,y:0,w:X,value:"↑/↓ select • Tab complete • Enter confirm • Esc close",style:{fg:"white",dim:!0}}),EH(jG,{x:0,y:2,w:X,h:Math.max(0,V-3),workspace:$.workspace,mode:$.mode,provider:Y,modelValue:$.query,"onUpdate:modelValue":(K)=>{J(),U("update:query",K)},placeholder:$.placeholder,autoFocus:!0,style:{fg:"whiteBright",bg:"blackBright"},onKeydown:(K)=>{if(G(K),K?.key!=="Escape")return;K?.preventDefault?.(),J(),U("update:modelValue",!1),U("close")},onInvalid:(K)=>{J(),U("invalid",String(K?.reason??"invalid"))},onSelect:(K)=>{J(),U("select",K)}})])}}});function HS($){return[l$$(oG,{modelValue:$.showPathPicker.value,"onUpdate:modelValue":(U)=>$.showPathPicker.value=U,w:$.pickerW.value,h:$.pickerH.value,title:$.pathPickerTitle.value,workspace:$.pickerWorkspace.value,mode:$.pathPickerMode.value,query:$.pathPickerQuery.value,"onUpdate:query":(U)=>$.pathPickerQuery.value=U,placeholder:$.pathPickerPlaceholder.value,onInvalid:(U)=>$.pathPickerError.value=U,onSelect:(U)=>{if($.pathPickerError.value=null,$.showPathPicker.value=!1,$.pathPickerQuery.value="",$.pathPickerMode.value==="directory")$.setContextCwd(U);else $.input.value=`${U} `},onClose:()=>{$.showPathPicker.value=!1,$.pathPickerQuery.value="",$.pathPickerError.value=null}})]}import{h as ES}from"vue";import{defineComponent as e$$,ref as s$$,watch as $4$}from"vue";function GU($,U,_){return Math.max(U,Math.min(_,$))}function i$$($,U=Date.now()){if(!Number.isFinite($))return"";let _=Number($)-Number(U);if(!Number.isFinite(_))return"";let Q=Math.abs(_);if(Q<60000)return"now";if(Q<3600000)return`${Math.max(1,Math.floor(Q/60000))} min`;if(Q<86400000)return`${Math.max(1,Math.floor(Q/3600000))} hr`;return`${Math.max(1,Math.floor(Q/86400000))} d`}function r$$($,U){U=Math.max(0,Math.floor(U));let _=String($??"").replace(/\s+/g," ").trim();if(!_||U<=0)return"";if(k$(_)<=U)return _;if(U<=1)return t4(_,U);return`${t4(_,U-1)}…`}function n$$($,U){U=Math.max(0,Math.floor(U));let _=String($??"").replace(/\s+/g," ").trim();if(!_||U<=0)return"";if(k$(_)<=U)return _;if(U<=1)return t4(_,U);let Q=[..._],J=U-1,G=0,Y=Q.length;while(G<Y){let X=Math.floor((G+Y)/2),V=Q.slice(X).join("");if(k$(V)<=J)Y=X;else G=X+1}return`…${Q.slice(G).join("")}`}function p$$($,U=3){let _=String($??"").trim();if(!_)return"";let J=_.replace(/[\\/]+/g,"/").split("/").filter(Boolean);if(J.length===0)return _.startsWith("/")?"/":_;let G=/^[A-Za-z]:$/.test(J[0])?J[0]:"",Y=G?J.slice(1):J,X=Y.slice(-Math.max(1,Math.floor(U))),V=Y.length>X.length;if(G){if(V)return`${G}/…/${X.join("/")}`;return`${G}/${X.join("/")}`}if(V)return`…/${X.join("/")}`;return X.join("/")}function o$$($){return $.summary||$.title||"New session"}function OS($,U){return i$$($.updatedAt,U)}function a$$($){return p$$($.cwd,3)}function t$$($){if($<34)return{cwdW:0,summaryW:$,colGap:2};let J=Math.max(0,$-34),G=14+Math.floor(J*0.6),Y=Math.max(0,$-2-G);return{cwdW:G,summaryW:Y,colGap:2}}function jS($){let U=Math.floor($.w??78),_=Math.floor($.h??20),Q=Math.max(0,U-4),J=Math.max(0,_-4),G=Math.max(0,J-1),Y=2,X=1,V=Array.isArray($.sessions)?$.sessions:[],K=V.length,Z=GU(K,1,Math.max(1,G-2-1)),N=GU($.selectedIndex,0,Math.max(0,K-1)),W=Date.now(),B=Math.max(0,...V.map((k)=>k$(OS(k,W)))),q=1,O=Math.max(0,Q-1-B),{cwdW:M,summaryW:P,colGap:H}=t$$(O),z=Math.max(1,Z),A=Math.max(0,K-z),E=GU(N-Math.floor(z/2),0,A),f=V.slice(E,E+z).map((k)=>{let R=[];if(M>0){let S=a$$(k)||"—",I=$1(n$$(S,M),M);R.push(I)}if(P>0){let S=o$$(k),I=$1(r$$(S,P),P);R.push(I)}return{label:R.filter(Boolean).join(" ".repeat(H)).trimEnd(),detail:OS(k,W)}}),j=GU(N-E,0,Math.max(0,f.length-1)),T=`Sessions (${K})`,L=$.loading?"Loading…":$.deleteArmed?"Confirm delete: press Delete again":K?`${K} sessions • Arrow keys to navigate • Enter selects${K>z?` • Showing ${E+1}-${Math.min(K,E+z)}`:""}`:"No saved sessions yet";return{w:U,h:_,innerW:Q,listY:2,listH:Z,offset:E,windowSize:z,totalSessions:K,selectedIndex:N,selectedOptionIndex:j,title:T,headerText:L,options:f}}import{h as MH}from"vue";function DS($){if(!$.modelValue)return null;return MH(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(U)=>$.onUpdateModelValue(U),onKeydownCapture:(U)=>$.onKeydownCapture(U),w:$.vm.w,h:$.vm.h,title:$.vm.title,placement:"center",backdrop:!1,padding:1,style:{fg:"blueBright",bg:"black"},closeOnConfirm:!1,buttons:[{label:"Open",value:"open",kind:"primary",default:!$.deleteArmed},{label:"New",value:"new"},{label:$.deleteArmed?"Delete (confirm)":"Delete",value:"delete",kind:"danger",default:$.deleteArmed},{label:"Refresh",value:"refresh"},{label:"Close",value:"close"}],onConfirm:(U)=>$.onConfirm(U),onClose:()=>$.onClose()},()=>[MH($$,{x:0,y:0,w:$.vm.innerW,value:$.vm.headerText,style:{fg:"white",dim:!0,bg:"black"}}),MH(j1,{x:0,y:$.vm.listY,w:$.vm.innerW,h:$.vm.listH,options:$.vm.options,modelValue:$.vm.selectedOptionIndex,"onUpdate:modelValue":(U)=>{let _=GU($.vm.offset+U,0,Math.max(0,$.vm.totalSessions-1));$.onUpdateSelectedIndex(_)},onKeydownCapture:$.onKeydownCapture,onChange:(U)=>{if(!U)return;$.onOpen()},autoFocus:!0,style:{fg:"whiteBright",bg:"black"},highlightStyle:{fg:"whiteBright",bg:"blueBright",bold:!0},zIndex:1002})])}var aG=e$$({name:"GoatChainSessionsDialog",props:{modelValue:{type:Boolean,required:!0},loading:{type:Boolean,default:!1},deleteArmed:{type:Boolean,default:!1},sessions:{type:Array,required:!0},selectedIndex:{type:Number,required:!0}},emits:{"update:modelValue":($)=>!0,"update:selectedIndex":($)=>!0,open:()=>!0,new:()=>!0,delete:()=>!0,refresh:()=>!0},setup($,{emit:U}){let _=["open","new","delete","refresh","close"],Q=s$$(0),J="__goatchainSessionsDialogHandled";function G(){return $.deleteArmed?_.indexOf("delete"):_.indexOf("open")}function Y(K){let Z=_.length-1;Q.value=GU(Q.value+K,0,Z)}function X(){let K=_[Q.value]??"open";if(K==="open")U("open");else if(K==="new")U("new");else if(K==="delete")U("delete");else if(K==="refresh")U("refresh");else U("update:modelValue",!1)}function V(K){if(!$.modelValue)return;if(!K||typeof K!=="object")return;if(K.__goatchainSessionsDialogHandled)return;if(K.key==="ArrowLeft"||K.key==="ArrowRight"){K.__goatchainSessionsDialogHandled=!0;let Z=K.key==="ArrowLeft"?-1:1;Y(Z);return}if(K.key==="Enter")K.__goatchainSessionsDialogHandled=!0,K.preventDefault?.(),K.stopPropagation?.(),X()}return $4$(()=>$.modelValue,(K,Z)=>{if(K&&!Z)Q.value=G()},{immediate:!0}),()=>{let K=jS({modelValue:$.modelValue,loading:$.loading,deleteArmed:$.deleteArmed,sessions:$.sessions,selectedIndex:$.selectedIndex});return DS({modelValue:$.modelValue,deleteArmed:$.deleteArmed,vm:K,onUpdateModelValue:(Z)=>U("update:modelValue",Z),onUpdateSelectedIndex:(Z)=>U("update:selectedIndex",Z),onOpen:()=>U("open"),onNew:()=>U("new"),onDelete:()=>U("delete"),onRefresh:()=>U("refresh"),onKeydownCapture:(Z)=>{if(Z?.key==="Escape"){Z.preventDefault?.(),Z.stopPropagation?.(),U("update:modelValue",!1);return}if(typeof Z?.key==="string"&&Z.key.length===1&&!Z.ctrlKey&&!Z.metaKey&&!Z.altKey)Z.preventDefault?.(),Z.stopPropagation?.();V(Z)},onConfirm:(Z)=>{let N=String(Z?.value??""),W=_.indexOf(N);if(W>=0)Q.value=W;if(N==="open")U("open");else if(N==="new")U("new");else if(N==="delete")U("delete");else if(N==="refresh")U("refresh");else U("update:modelValue",!1)},onClose:()=>U("update:modelValue",!1)})}}});import{defineComponent as U4$,h as tG}from"vue";var eG=U4$({name:"GoatChainSwitchSessionDialog",props:{modelValue:{type:Boolean,required:!0},title:{type:String,default:"Switch Session"},targetLabel:{type:String,default:""},reason:{type:String,default:""}},emits:{"update:modelValue":($)=>!0,confirm:()=>!0},setup($,{emit:U}){return()=>{if(!$.modelValue)return null;let _=String($.targetLabel??"").trim(),Q=String($.reason??"").trim();return tG(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(J)=>U("update:modelValue",J),onKeydownCapture:(J)=>{if(J?.key==="Escape"){J.preventDefault?.(),J.stopPropagation?.(),U("update:modelValue",!1);return}if(typeof J?.key==="string"&&J.key.length===1&&!J.ctrlKey&&!J.metaKey&&!J.altKey)J.preventDefault?.(),J.stopPropagation?.()},w:64,h:12,title:String($.title??"Switch Session"),placement:"center",backdrop:!1,padding:1,style:{fg:"yellowBright",bg:"black"},buttons:[{label:"Cancel",value:"cancel"},{label:"Switch & Interrupt",value:"confirm",kind:"primary",default:!0}],onConfirm:(J)=>{if(J?.value==="confirm")U("confirm");U("update:modelValue",!1)},onClose:()=>U("update:modelValue",!1)},()=>[tG($$,{x:0,y:0,w:60,wrap:!0,value:_?`Switch to ${_}?`:"Switch sessions now?",style:{fg:"whiteBright",bg:"blackBright"}}),tG($$,{x:0,y:2,w:60,wrap:!0,value:"This will interrupt the current response/flow in the active session.",style:{fg:"white",dim:!0,bg:"blackBright"}}),Q?tG($$,{x:0,y:4,w:60,wrap:!0,value:`Reason: ${Q}`,style:{fg:"white",dim:!0,bg:"blackBright"}}):null])}}});function MS($){return[ES(aG,{modelValue:$.showSessions.value,"onUpdate:modelValue":(U)=>{if($.showSessions.value=U,!U)$.sessionsDeleteArmed.value=!1},loading:$.sessionsLoading.value,deleteArmed:$.sessionsDeleteArmed.value,sessions:$.sessionsList.value,selectedIndex:$.sessionsIndex.value,"onUpdate:selectedIndex":(U)=>{$.sessionsIndex.value=U,$.sessionsDeleteArmed.value=!1},onOpen:async()=>{await $.openSelectedSession()},onNew:async()=>{await $.createNewSession({after:async()=>$.router.push("home")})},onDelete:async()=>{let U=$.sessionsApi,_=$.sessionsList.value[$.sessionsIndex.value];if(!U||!_)return;let Q=$.sessionsIndex.value;if(!$.sessionsDeleteArmed.value){$.sessionsDeleteArmed.value=!0,$.showCopyToast("Press Delete again to confirm.");return}$.sessionsDeleteArmed.value=!1,await U.delete(_.id),await $.refreshSessions({preferIndex:Q})},onRefresh:async()=>{$.sessionsDeleteArmed.value=!1,await $.refreshSessions()}}),ES(eG,{modelValue:$.showSwitchConfirm.value,"onUpdate:modelValue":(U)=>{if($.showSwitchConfirm.value=U,!U)$.cancelSwitch()},title:$.switchConfirmTitle.value,targetLabel:$.switchConfirmTargetLabel.value,reason:$.switchConfirmReason.value,onConfirm:()=>void $.confirmSwitch()})]}import{h as LH}from"vue";import{defineComponent as J4$}from"vue";import{h as G1}from"vue";function _4$($,U,_){return Math.max(U,Math.min(_,$))}function PS($,U){if(!$.modelValue)return null;let _=Math.max(44,Math.floor($.w)),Q=Math.max(18,Math.floor($.h)),J=Math.max(0,_-4),G=Math.max(0,Q-4),Y=Math.max(0,G-1),X={fg:"white",dim:!0},V={fg:"white",bg:"black",dim:!0},K={fg:"whiteBright",bg:"blackBright"},Z=0,N=4,W=3,B=5,q=Y>=N*B+1?N:W,O=Math.max(1,q-2),M=Y>=q*B+1,P=M?G1($$,{x:0,y:0,w:J,value:"Tab/Shift+Tab switch field • Enter Apply • Esc Cancel",style:X}):null,H=q===W?1:2,z=_4$(Math.floor(J*0.28),16,Math.max(16,J-(16+H))),A=Math.max(0,J-z-H),E=M?1+Z:0,D=E;E+=q+Z;let f=E;E+=q+Z;let j=E;E+=q+Z;let T=1,k=Boolean($.apiKeyMasked)&&E+T+q*2<=Y,R=E;if(k)E+=T;let S=E;E+=q+Z;let I=E,w=Math.min(q,Math.max(1,Y-I)),C=Math.max(1,w-2);return G1(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(b)=>U.updateModelValue(b),onKeydownCapture:(b)=>{if(b?.key==="Escape"){b.preventDefault?.(),b.stopPropagation?.(),U.cancel(),U.updateModelValue(!1);return}if(b?.key==="Enter")b.preventDefault?.(),b.stopPropagation?.(),U.apply()},w:_,h:Q,title:"Settings",placement:"center",backdrop:Boolean($.backdrop),closeOnBackdrop:!1,padding:1,style:{fg:"blueBright",bg:"black"},buttons:[{label:"Apply",value:"apply",kind:"primary",default:!0},{label:"Cancel",value:"cancel"}],onConfirm:(b)=>{if(b?.value==="apply")U.apply();else U.cancel()},onClose:()=>U.cancel()},()=>[P,G1(H1,{x:0,y:D,w:J,h:q,border:!0,title:"Model",padding:0,style:V,clear:!0},()=>G1(D6,{x:0,y:0,w:Math.max(0,J-2),h:O,modelValue:$.modelId,"onUpdate:modelValue":(b)=>U.updateModelId(b),placeholder:"deepseek-v3.1",cursorToEndOnFirstFocus:!0,cursorToEndOnExternalUpdate:!0,style:K,zIndex:1002,autoFocus:!0})),G1(H1,{x:0,y:f,w:z,h:q,border:!0,title:"Context Window",padding:0,style:V,clear:!0},()=>G1(D6,{x:0,y:0,w:Math.max(0,z-2),h:O,modelValue:$.contextWindow,"onUpdate:modelValue":(b)=>U.updateContextWindow(b),placeholder:"128000",cursorToEndOnFirstFocus:!0,cursorToEndOnExternalUpdate:!0,style:K,zIndex:1002})),G1(H1,{x:z+H,y:f,w:A,h:q,border:!0,title:"Temperature",padding:0,style:V,clear:!0},()=>G1(D6,{x:0,y:0,w:Math.max(0,A-2),h:O,modelValue:$.temperature,"onUpdate:modelValue":(b)=>U.updateTemperature(b),placeholder:"0.7",cursorToEndOnFirstFocus:!0,cursorToEndOnExternalUpdate:!0,style:K,zIndex:1002})),G1(H1,{x:0,y:j,w:J,h:q,border:!0,title:"Base URL (OpenAI-compatible)",padding:0,style:V,clear:!0},()=>G1(D6,{x:0,y:0,w:Math.max(0,J-2),h:O,modelValue:$.baseUrl,"onUpdate:modelValue":(b)=>U.updateBaseUrl(b),placeholder:"https://api.openai.com/v1",cursorToEndOnFirstFocus:!0,cursorToEndOnExternalUpdate:!0,style:K,zIndex:1002})),k?G1($$,{x:0,y:R,w:J,value:$.apiKeyMasked?`Current: ${$.apiKeyMasked}`:"Current: (not set)",style:X}):null,G1(H1,{x:0,y:S,w:J,h:q,border:!0,title:"API Key",padding:0,style:V,clear:!0},()=>G1(D6,{x:0,y:0,w:Math.max(0,J-2),h:O,modelValue:$.apiKeyDraft,"onUpdate:modelValue":(b)=>U.updateApiKeyDraft(b),placeholder:"Paste a new key to update (leave empty to keep)",secret:!0,cursorToEndOnFirstFocus:!0,cursorToEndOnExternalUpdate:!0,style:K,zIndex:1002})),G1(H1,{x:0,y:I,w:J,h:w,border:!0,title:"Interleaved Thinking",padding:0,style:V,clear:!0},()=>G1(D6,{x:0,y:0,w:Math.max(0,J-2),h:C,modelValue:$.interleavedThinking?"1":"0","onUpdate:modelValue":(b)=>U.updateInterleavedThinking(b.trim()==="1"),placeholder:"0 or 1",cursorToEndOnFirstFocus:!0,cursorToEndOnExternalUpdate:!0,style:K,zIndex:1002}))])}var sG=J4$({name:"GoatChainConfigDialog",props:{modelValue:{type:Boolean,required:!0},w:{type:Number,default:74},h:{type:Number,default:24},backdrop:{type:Boolean,default:!1},modelId:{type:String,required:!0},contextWindow:{type:String,required:!0},temperature:{type:String,required:!0},interleavedThinking:{type:Boolean,required:!0},baseUrl:{type:String,required:!0},apiKeyDraft:{type:String,required:!0},apiKeyMasked:{type:String,required:!0}},emits:{"update:modelValue":($)=>!0,"update:modelId":($)=>!0,"update:contextWindow":($)=>!0,"update:temperature":($)=>!0,"update:interleavedThinking":($)=>!0,"update:baseUrl":($)=>!0,"update:apiKeyDraft":($)=>!0,apply:()=>!0,cancel:()=>!0},setup($,{emit:U}){return()=>{return PS({modelValue:$.modelValue,w:$.w,h:$.h,backdrop:$.backdrop,modelId:$.modelId,contextWindow:$.contextWindow,temperature:$.temperature,interleavedThinking:$.interleavedThinking,baseUrl:$.baseUrl,apiKeyDraft:$.apiKeyDraft,apiKeyMasked:$.apiKeyMasked},{updateModelValue:(_)=>U("update:modelValue",_),updateModelId:(_)=>U("update:modelId",_),updateContextWindow:(_)=>U("update:contextWindow",_),updateTemperature:(_)=>U("update:temperature",_),updateInterleavedThinking:(_)=>U("update:interleavedThinking",_),updateBaseUrl:(_)=>U("update:baseUrl",_),updateApiKeyDraft:(_)=>U("update:apiKeyDraft",_),apply:()=>U("apply"),cancel:()=>U("cancel")})}}});import{computed as PH,defineComponent as Q4$,h as p1,ref as fH,watch as G4$}from"vue";var $Y=["goatchain","mono","contrast"],fS=["inherit",...hG];function LS($,U,_){return Math.max(U,Math.min(_,$))}function RS($){if(!$)return 0;let U=hG.indexOf($);return U>=0?U+1:0}function UY($){if($<=0)return;return hG[$-1]}var wS=Q4$({name:"GoatChainThemeDialog",props:{modelValue:{type:Boolean,required:!0},preset:{type:String,required:!0},overrides:{type:Object,required:!0}},emits:{"update:modelValue":($)=>!0,"update:preset":($)=>!0,setOverride:($,U)=>!0,resetOverrides:()=>!0},setup($,{emit:U}){let _=fH(0),Q=fH(0),J=fH(0),G=PH(()=>{return oJ[LS(_.value,0,oJ.length-1)]});G4$([()=>$.modelValue,G,()=>$.overrides],()=>{if(!$.modelValue)return;let Z=$.overrides[G.value];Q.value=RS(Z?.fg),J.value=RS(Z?.bg)},{immediate:!0});function Y(Z){Q.value=Z;let N=UY(Z),W=UY(J.value);U("setOverride",G.value,!N&&!W?null:{fg:N,bg:W})}function X(Z){J.value=Z;let N=UY(Q.value),W=UY(Z);U("setOverride",G.value,!N&&!W?null:{fg:N,bg:W})}let V=PH(()=>{let Z={preset:$.preset,overrides:$.overrides};return A0(Z,G.value)}),K=PH(()=>{let Z=$Y.indexOf($.preset);return Z>=0?Z:0});return()=>{if(!$.modelValue)return null;let Z={fg:"black",bg:"blueBright",bold:!0},N={fg:"whiteBright",bg:"blackBright"},W={fg:"whiteBright",bold:!0},B={fg:"white",dim:!0};return p1(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(q)=>U("update:modelValue",q),onKeydownCapture:(q)=>{if(q?.key==="Escape"){q.preventDefault?.(),q.stopPropagation?.(),U("update:modelValue",!1);return}if(typeof q?.key==="string"&&q.key.length===1&&!q.ctrlKey&&!q.metaKey&&!q.altKey)q.preventDefault?.(),q.stopPropagation?.()},w:64,h:19,title:"Theme",placement:"center",backdrop:!1,padding:1,style:{fg:"blueBright",bg:"black"},buttons:[{label:"Reset Overrides",value:"reset"},{label:"Close",value:"close",kind:"primary",default:!0}],onConfirm:(q)=>{if(q?.value==="reset")U("resetOverrides");U("update:modelValue",!1)},onClose:()=>U("update:modelValue",!1)},()=>[p1($$,{x:0,y:0,w:60,value:"Preset",style:W}),p1(j1,{x:0,y:1,w:60,h:3,options:[...$Y],modelValue:K.value,"onUpdate:modelValue":(q)=>{let O=$Y[LS(q,0,$Y.length-1)]??"goatchain";U("update:preset",O)},autoFocus:!0,style:N,highlightStyle:Z}),p1($$,{x:0,y:5,w:24,value:"Message Type",style:W}),p1(j1,{x:0,y:6,w:24,h:4,options:[...oJ],modelValue:_.value,"onUpdate:modelValue":(q)=>_.value=q,style:N,highlightStyle:Z}),p1($$,{x:28,y:5,w:10,value:"fg",style:W}),p1($$,{x:46,y:5,w:10,value:"bg",style:W}),p1(j1,{x:28,y:6,w:16,h:4,options:[...fS],modelValue:Q.value,"onUpdate:modelValue":(q)=>Y(q),style:N,highlightStyle:Z}),p1(j1,{x:46,y:6,w:16,h:4,options:[...fS],modelValue:J.value,"onUpdate:modelValue":(q)=>X(q),style:N,highlightStyle:Z}),p1($$,{x:0,y:11,w:60,value:"Preview",style:W}),p1($$,{x:0,y:12,w:60,value:` ${G.value} `,style:{fg:V.value.fg??"whiteBright",bg:V.value.bg??"black"}}),p1($$,{x:0,y:14,w:60,value:'Tip: set fg/bg to "inherit" to use preset.',style:B})])}}});import{defineComponent as Y4$,h as C5,ref as X4$,watch as V4$}from"vue";function K4$($,U){let Q=Math.max(20,Math.floor(U/1));return Math.max(1,Math.ceil($.length/Q))}var _Y=Y4$({name:"GoatChainToolApprovalsDialog",props:{modelValue:{type:Boolean,required:!0},mode:{type:String,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0}},emits:{"update:modelValue":($)=>!0,select:($)=>!0},setup($,{emit:U}){function _(G,Y,X){return Math.max(Y,Math.min(X,G))}let Q=X4$(0);function J(G){return G==="all"?1:0}return V4$([()=>$.modelValue,()=>$.mode],([G])=>{if(!G)return;Q.value=J($.mode)},{immediate:!0}),()=>{if(!$.modelValue)return null;let G=Math.max(0,$.w-4),Y={fg:"black",bg:"blueBright",bold:!0},X={fg:"whiteBright",dim:!0,bg:"black"},V={fg:"white",dim:!0,bg:"blackBright"},K=[{label:"Use Auto",value:"auto"},{label:"Use All",value:"all"},{label:"Close",value:"close"}],Z=_(Q.value,0,K.length-1),N=K[Z]?.value??"auto",W=N==="auto"?"AUTO":N==="all"?"ALL":"CLOSE",B=N==="auto"?"Auto-approve low-risk tools. Prompt before high-risk tools (e.g. network/shell/write).":N==="all"?"Auto-approve everything. No approval prompts (fastest, least safe).":"Close this dialog without changing the current setting.",q=0,O=q+2,P=K4$(B,G),H=O+1,z=2,A=H+P+1,E=A+z,D=Math.max($.h,E+4);return C5(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(f)=>U("update:modelValue",f),onKeydownCapture:(f)=>{if(f?.key==="Escape"){f.preventDefault?.(),f.stopPropagation?.(),U("update:modelValue",!1);return}if(typeof f?.key==="string"&&f.key.length===1&&!f.ctrlKey&&!f.metaKey&&!f.altKey)f.preventDefault?.(),f.stopPropagation?.()},onKeydown:(f)=>{if(f?.key!=="ArrowLeft"&&f?.key!=="ArrowRight")return;let j=f.key==="ArrowLeft"?-1:1;Q.value=_(Q.value+j,0,K.length-1)},w:$.w,h:D,title:"Tool Approvals",placement:"center",backdrop:!1,padding:1,style:{fg:"blueBright",bg:"black"},buttons:[{label:"Use Auto",value:"auto",kind:$.mode==="auto"?"primary":void 0,default:$.mode==="auto"},{label:"Use All",value:"all",kind:$.mode==="all"?"primary":void 0,default:$.mode==="all"},{label:"Close",value:"close"}],onConfirm:(f)=>{if(f?.value==="auto")U("select","auto");else if(f?.value==="all")U("select","all");U("update:modelValue",!1)},onClose:()=>U("update:modelValue",!1)},()=>[C5($$,{x:0,y:q,w:G,value:`Current: ${$.mode}`,style:{fg:"white",dim:!0,bg:"blackBright"}}),C5($$,{x:0,y:O,w:G,value:W,style:Y}),C5($$,{x:0,y:H,w:G,h:P,wrap:!0,value:B,style:V}),C5($$,{x:0,y:A,w:G,h:2,wrap:!0,value:"Tip: use ←/→ to move between buttons, Enter to confirm, Esc to close.",style:X})])}}});function zS($){return[LH(wS,{modelValue:$.showTheme.value,"onUpdate:modelValue":(U)=>$.showTheme.value=U,preset:$.store.state.ui.theme.preset,"onUpdate:preset":(U)=>$.store.setThemePreset(U),overrides:$.store.state.ui.theme.overrides,onSetOverride:(U,_)=>$.store.setMessageTypeThemeOverride(U,_),onResetOverrides:()=>$.store.resetThemeOverrides()}),LH(sG,{modelValue:$.showConfig.value,"onUpdate:modelValue":(U)=>$.showConfig.value=U,w:$.configW.value,h:$.configH.value,modelId:$.modelId.value,"onUpdate:modelId":(U)=>$.modelId.value=U,contextWindow:$.contextWindow.value,"onUpdate:contextWindow":(U)=>$.contextWindow.value=U,temperature:$.temperature.value,"onUpdate:temperature":(U)=>$.temperature.value=U,interleavedThinking:$.interleavedThinking.value,"onUpdate:interleavedThinking":(U)=>$.interleavedThinking.value=U,baseUrl:$.baseUrl.value,"onUpdate:baseUrl":(U)=>$.baseUrl.value=U,apiKeyDraft:$.apiKeyDraft.value,"onUpdate:apiKeyDraft":(U)=>$.apiKeyDraft.value=U,apiKeyMasked:$.apiKeyMasked.value,onApply:$.applyConfig,onCancel:$.closeConfig}),LH(_Y,{modelValue:$.showToolApprovals.value,"onUpdate:modelValue":(U)=>$.showToolApprovals.value=U,mode:String($.store.state.approval.mode??"auto"),w:$.toolApprovalsW.value,h:$.toolApprovalsH.value,onSelect:(U)=>{$.applyToolApprovals(U),$.showToolApprovals.value=!1}})]}import{h as JY}from"vue";function QY($){if(!$.visible.value)return[];let U=String($.text.value??"").trim();if(!U)return[];let _=typeof $.cols==="number"?$.cols:$.cols.value,Q=/\bfail(ed)?\b/i.test(U)||/\berror\b/i.test(U),G=U==="Copied"?"Copied to clipboard":U,Y="blackBright",X="whiteBright",V=Q?"redBright":"cyanBright",K=1,Z=3,N=1,W=Math.max(0,Math.floor(_??0)),B=Math.max(22,Math.min(56,W-4)),q=Math.min(28,B),O=k$(G)+K*2+Z*2,M=Math.min(Math.max(O,q),B),P=Math.max(1,M-K*2-Z*2),H=t4(G,P),z=k$(H),A=Math.max(0,Math.floor((P-z)/2)),E=$1(`${" ".repeat(A)}${H}`,P),D=1+N*2,f=Math.max(2,W-M-2),j=1;return[JY($$,{key:"copy-toast-bg",x:f,y:j,w:M,h:D,value:" ".repeat(M),style:{bg:Y},zIndex:220}),JY($$,{key:"copy-toast-accent-left",x:f,y:j,w:K,h:D,value:" ".repeat(K),style:{bg:V},zIndex:221}),JY($$,{key:"copy-toast-accent-right",x:f+M-K,y:j,w:K,h:D,value:" ".repeat(K),style:{bg:V},zIndex:221}),JY($$,{key:"copy-toast-text",x:f+K+Z,y:j+N,w:P,h:1,value:E,style:{fg:X,bg:Y,bold:!0},zIndex:222})]}function AS($){return QY({visible:$.copyToastVisible,text:$.copyToastText,cols:$.cols})}import{h as GY}from"vue";function YY($){let U=[],_=$.notification;if(!_?.visible)return U;let Q=String(_.message??"").trim();if(!Q)return U;let J=Q.startsWith("Update available")?"update":Q.startsWith("Update installed")||Q.startsWith("No updates")?"ok":Q.startsWith("Auto-update failed")||Q.startsWith("Update check failed")?"error":"info",G=J==="update"?"[UPDATE]":J==="ok"?"[OK]":J==="error"?"[ERROR]":"[INFO]",Y=J==="update"?{bg:"blue",fg:"whiteBright",accentBg:"cyanBright"}:J==="ok"?{bg:"green",fg:"whiteBright",accentBg:"greenBright"}:J==="error"?{bg:"red",fg:"whiteBright",accentBg:"redBright"}:{bg:"blackBright",fg:"white",accentBg:"blueBright"},X=2,V=2,K=1,Z=`${G} ${Q}`,N=Math.max(0,Math.floor($.cols??0)),W=Math.max(30,N-4),B=Math.min(64,W),q=k$(Z)+X+V*2,O=Math.min(Math.max(q,B),W),M=Math.max(1,O-X-V*2),P=3,H=c1(Z,M);if(H.length>P){H=H.slice(0,P);let D=P-1;if(M>1)H[D]=`${t4(H[D],M-1)}…`;else H[D]="…"}let z=Math.max(1,H.length)+K*2,A=Math.max(2,N-O-2),E=1;return U.push(GY($$,{key:"upgrade-toast-bg",x:A,y:E,w:O,h:z,value:" ".repeat(O),style:{bg:Y.bg},zIndex:200}),GY($$,{key:"upgrade-toast-accent",x:A,y:E,w:X,h:z,value:" ".repeat(X),style:{bg:Y.accentBg},zIndex:201}),GY($$,{key:"upgrade-toast-text",x:A+X+V,y:E+K,w:M,h:H.length,value:H.join(`
853
+ `),style:{fg:Y.fg,bg:Y.bg,bold:!0},zIndex:202})),U.push(GY(v4,{key:"upgrade-toast-hit",x:A,y:E,w:O,h:z,zIndex:210,focusable:!0,onClick:()=>{$.onDismiss?.(),$.onFocus?.()}})),U}function kS($){return YY({notification:$.store.upgradeNotification.value,cols:$.cols.value,onDismiss:()=>{$.store.dismissUpgradeNotification(),$.focusBrowserTextarea()}})}var TS=Z4$({name:"GoatChainChatOverlays",setup(){let $=W4$(r1);if(!$)throw Error("GoatChainChatOverlays missing ChatPageContext");let U=$;return()=>[...KS(U),...HS(U),...MS(U),...zS(U),...QS(U),...BS(U),...WS(U),...AS(U),...kS(U)]}});import{computed as S6,ref as SS,watch as N4$}from"vue";function K4($,U,_){return Math.max(U,Math.min(_,$))}function RH($,U){if(U<=0)return 1;let _=0;for(let Q of $.split(`
854
+ `)){if(Q.length===0){_+=1;continue}let J=0;for(let G of Q){let Y=k4(G);if(J+Y>U)_+=1,J=Y;else J+=Y}_+=1}return Math.max(1,_)}function IS($){let U=S6(()=>Math.max(0,$.cols.value??0)),_=S6(()=>Math.max(0,$.rows.value??0)),Q=S6(()=>Math.max(0,U.value)),J=3,G=1,Y=4,X=1,V=2,K=4,Z=1,N=2,W=2,B=S6(()=>{return Math.max(1,Math.max(0,Q.value-4)-4-2)}),q=S6(()=>RH($.input.value,B.value)),O=S6(()=>{return K4(q.value+1,2,4)}),M=S6(()=>q.value+1>4?1:0),P=S6(()=>$.hasRevertedMessages.value?3:1),H=S6(()=>O.value+M.value+1),z=S6(()=>H.value+2),A=S6(()=>Math.max(0,_.value-4-z.value-2-P.value)),E=4,D=S6(()=>4+A.value+P.value+1),f=S6(()=>Math.max(0,Q.value-4)),j=S6(()=>2),T=S6(()=>j.value+1+1),L=S6(()=>Math.max(1,f.value-4-2));return{contentW:U,contentH:_,mainW:Q,mainH:A,mainY:4,panelW:f,panelX:j,panelTopY:D,panelH:H,inputX:T,inputInnerW:L,inputLines:O,modelRowGap:M,inputWrapWidth:B,footerH:2,contentPadX:1}}function vS($){let U=SS(0),_=SS(!0),Q=S6(()=>Math.max(0,$.lines.value.length-$.mainH.value));N4$([()=>$.lines.value.length,()=>$.mainH.value],()=>{if(_.value)U.value=Q.value;else U.value=K4(U.value,0,Q.value)},{immediate:!0});let J=S6(()=>{return $.lines.value.slice(U.value,U.value+$.mainH.value)}),G="GHOSTTY_RESOURCES_DIR"in globalThis.process?.env||!1,Y=G?4:4,X=G?2:2.5,V=0,K=0,Z=0;function N(W){let B=W.deltaY??0;if(!B)return;let q=Date.now(),O=q-V,M=B>0?1:-1;if(Z!==0&&M!==Z)K=0;if(Z=M,K+=Math.abs(B),O<Y)return;V=q;let P=M,H=U.value<=0,z=U.value>=Q.value;if(P<0&&H||P>0&&z){W.preventDefault?.(),K=0;return}let A=Math.max(1,Math.floor(K/X)),E=K4(U.value+P*A,0,Q.value);if(E!==U.value){if(P<0&&_.value)_.value=!1;if(U.value=E,P>0&&E===Q.value&&!_.value)_.value=!0}K=0}return{scrollTop:U,stickToBottom:_,maxScroll:Q,visibleLines:J,onWheel:N}}import{computed as V0,ref as _8,watch as XY}from"vue";function wH($){let U=$.permission,_=String($.riskLevel??"").trim().toLowerCase();if(U==="require_action")return!0;if(!_)return!0;return _==="high"||_==="critical"}function U8($,U){return $==="all"||$==="auto"&&!wH(U)}function CS($,U){if($==="all")return!0;return U==="require_action"}function yS($){let U=_8(!1),_=_8(0),Q=_8(!1),J=_8(!1),G=_8(!1),Y=_8(!1),X=V0(()=>$.store.state.approval.active),V=V0(()=>{let E=Math.min(86,Math.max(1,$.contentW.value)),D=Math.min(46,E),f=Math.floor($.contentW.value*0.5);return K4(f,D,E)}),K=V0(()=>K4(11,9,Math.max(9,$.rows.value-6))),Z=V0(()=>$.store.state.paused?.kind==="ask_user"?$.store.state.paused:null),N=V0(()=>K4(Math.floor($.contentW.value*0.62),40,90)),W=V0(()=>K4(18,14,Math.max(14,$.rows.value-4))),B=V0(()=>K4(Math.floor($.contentW.value*0.78),56,84)),q=V0(()=>K4(24,18,Math.max(18,$.rows.value-4))),O=V0(()=>K4(Math.floor($.contentW.value*0.62),46,86)),M=V0(()=>K4(14,11,Math.max(11,$.rows.value-6)));function P(E){if(String($.store.state.approval.mode??"auto")==="all")return!1;return wH(E)}XY(()=>X.value?.id??null,()=>{let E=X.value;if(E&&E.status==="pending"&&P(E))J.value=!0;else J.value=!1},{immediate:!0}),XY(()=>$.store.state.approval.mode,()=>{let E=X.value;if(!E||E.status!=="pending"||!P(E))J.value=!1}),XY(()=>Z.value?.toolCallId??null,(E)=>{G.value=Boolean(E)});let H=V0(()=>U.value||Q.value||$.showSessions.value||$.showSwitchConfirm.value||$.showMessageActions.value||$.showRedoConfirm.value||$.showConfig.value||$.showToolApprovals.value||J.value||$.showPathPicker.value||G.value||Y.value);XY(H,(E)=>{if(!E)$.focusMode.value="input"});function z(){U.value=!0,_.value=0}function A(){U.value=!1}return{showCommands:U,commandIndex:_,showTheme:Q,showApproval:J,showAskUser:G,showExitConfirm:Y,activeApproval:X,approvalW:V,approvalH:K,activeAskUser:Z,askUserW:N,askUserH:W,configW:B,configH:q,toolApprovalsW:O,toolApprovalsH:M,anyDialogOpen:H,openCommandPalette:z,closeCommandPalette:A}}function bS($){function U(K){let Z=K.trim();return Z===""||Z==="/"}function _(K){let Z=K?.currentTarget?.id;if(typeof Z==="string"&&Z)$.events.value?.focus?.(Z)}function Q(){return $.focusMode.value==="messages"}function J(K,Z){let N=Boolean(Z?.allowAlt),W=Boolean((K.metaKey||K.ctrlKey)&&!K.altKey),B=Boolean(K.altKey&&!K.metaKey&&!K.ctrlKey);if(!(K.key==="c"||K.key==="C"))return!1;if(!$.hasMessageSelection.value)return!1;if(!W&&!(N&&B))return!1;let M=$.getSelectedMessageText();if(!M)return!1;return K.stopPropagation?.(),K.preventDefault?.(),$.copyTextToClipboard(M).then((P)=>$.showCopyToast(P?"Copied":"Copy failed")).catch(()=>$.showCopyToast("Copy failed")),!0}function G(K){if($.anyDialogOpen.value)return;if(J(K,{allowAlt:!1}),K.key==="ArrowUp"){K.preventDefault?.(),$.moveToolSelection(-1),_(K);return}if(K.key==="ArrowDown"){K.preventDefault?.(),$.moveToolSelection(1),_(K);return}if(K.key==="Enter"){if(!$.selectedToolCallId.value)return;K.preventDefault?.(),$.runSelected().finally(()=>_(K))}}function Y(K){if($.showExitConfirm.value){if(K.key==="Escape"){K.preventDefault?.(),$.showExitConfirm.value=!1;return}if(K.key==="Enter"){K.preventDefault?.(),$.showExitConfirm.value=!1,$.exitSessionToHome();return}if(typeof K?.key==="string"&&K.key.length===1&&!K.ctrlKey&&!K.metaKey&&!K.altKey){K.preventDefault?.(),K.stopPropagation?.();return}}if($.showApproval.value&&K.key==="Enter"){K.preventDefault?.(),K.stopPropagation?.(),$.store.approve();return}if(K.defaultPrevented)return;if((K.ctrlKey||K.metaKey)&&(K.key==="p"||K.key==="P")){K.preventDefault?.(),$.openCommandPalette();return}if(K.key==="Tab"&&!K.metaKey&&!K.ctrlKey&&!K.altKey){K.preventDefault?.(),$.cycleUiMode(K.shiftKey?-1:1);return}if((K.ctrlKey||K.metaKey)&&(K.key==="k"||K.key==="K")){K.preventDefault?.(),$.openConfig();return}if(!$.anyDialogOpen.value&&K.key==="Enter"){if(!$.selectedToolCallId.value)return;if($.input.value.trim())return;K.preventDefault?.(),$.runSelected();return}if(K.defaultPrevented)return;let Z=RH($.input.value,$.inputWrapWidth.value);if(K.key==="ArrowUp"){if(Z>1)return;if($.history.value.length===0)return;K.preventDefault?.(),$.historyIndex.value=K4($.historyIndex.value-1,0,$.history.value.length-1),$.input.value=$.history.value[$.historyIndex.value]??"";return}if(K.key==="ArrowDown"){if(Z>1)return;if($.history.value.length===0)return;if(K.preventDefault?.(),$.historyIndex.value>=$.history.value.length-1){$.historyIndex.value=$.history.value.length,$.input.value="";return}$.historyIndex.value=K4($.historyIndex.value+1,0,$.history.value.length-1),$.input.value=$.history.value[$.historyIndex.value]??""}if(K.key==="Escape"&&U($.input.value)){if(K.preventDefault?.(),$.isLoading.value){$.store.interrupt();return}$.showExitConfirm.value=!0}}function X(K){if(J(K,{allowAlt:$.nodeLike}))return;if($.showApproval.value&&K.key==="Enter"){if(K?.__goatchainApprovalDialogHandled)return;if(K.defaultPrevented)return;K.stopPropagation?.(),K.preventDefault?.(),$.store.approve();return}if($.showExitConfirm.value&&K.key==="Enter"){K.stopPropagation?.(),K.preventDefault?.(),$.showExitConfirm.value=!1,$.exitSessionToHome();return}if(K.defaultPrevented)return;if(!$.anyDialogOpen.value){if((K.ctrlKey||K.metaKey)&&!K.altKey&&(K.key==="k"||K.key==="K")){K.stopPropagation?.(),K.preventDefault?.(),$.openConfig();return}if((K.ctrlKey||K.metaKey)&&!K.altKey&&(K.key==="p"||K.key==="P")){K.stopPropagation?.(),K.preventDefault?.(),$.openCommandPalette();return}if(K.key==="Tab"&&!K.metaKey&&!K.ctrlKey&&!K.altKey){K.stopPropagation?.(),K.preventDefault?.(),$.cycleUiMode(K.shiftKey?-1:1);return}}if((K.ctrlKey||K.metaKey)&&!K.altKey&&(K.key==="r"||K.key==="R")){if($.store.hasRevertedMessages.value){K.stopPropagation?.(),K.preventDefault?.(),$.showRedoConfirm.value=!0;return}}if(K.key!=="Escape")return;if(K.stopPropagation?.(),K.preventDefault?.(),$.showRedoConfirm.value)$.showRedoConfirm.value=!1;else if($.showCommands.value)$.closeCommandPalette();else if($.showTheme.value)$.showTheme.value=!1;else if($.showSessions.value)$.showSessions.value=!1;else if($.showMessageActions.value)$.showMessageActions.value=!1;else if($.showConfig.value)$.closeConfig();else if($.showToolApprovals.value)$.showToolApprovals.value=!1;else if($.showApproval.value)$.showApproval.value=!1;else if($.showAskUser.value)$.showAskUser.value=!1;else if($.showPathPicker.value)$.closePathPicker();else if($.showExitConfirm.value)$.showExitConfirm.value=!1;else if($.isLoading.value)$.store.interrupt();else if($.hasMessageSelection.value)$.clearMessageSelection();else $.showExitConfirm.value=!0}function V(K){if($.anyDialogOpen.value)return;if(K.key==="Tab"&&!K.metaKey&&!K.ctrlKey&&!K.altKey){K.stopPropagation?.(),K.preventDefault?.(),$.cycleUiMode(K.shiftKey?-1:1);return}if(!Q())return;if(K.key==="ArrowUp"){K.stopPropagation?.(),K.preventDefault?.(),$.moveToolSelection(-1);return}if(K.key==="ArrowDown"){K.stopPropagation?.(),K.preventDefault?.(),$.moveToolSelection(1);return}if(K.key==="Enter"&&$.selectedToolCallId.value&&!$.input.value.trim())K.stopPropagation?.(),K.preventDefault?.(),$.runSelected()}return{onInputKeydown:Y,onSelectionKeydown:G,onGlobalKeydown:X,onGlobalKeydownCapture:V}}function xS($){if($.role==="user")return String($.content??"");if($.role==="tool")return String($.result.output??"");return $.parts.map((U)=>{if(U.type==="markdown")return String(U.markdown??"");if(U.type==="thinking")return String(U.content??"");if(U.type==="status")return String(U.text??"");return""}).filter(Boolean).join(`
855
+ `)}function F4$($){if($.role!=="assistant")return $;let U=$.parts.filter((_)=>_.type!=="status"&&_.type!=="thinking"&&_.type!=="tool_output");return{...$,parts:U}}function gS($,U){let _=$.findIndex((Q)=>Q.id===U);if(_<0)return null;return $.slice(0,_).map(F4$)}async function hS($){let U=$.sessionsApi;if(U&&typeof U.fork==="function"){await U.fork({messages:$.seed});return}if($.sessionsApi){await $.sessionsApi.createNew(),$.store.state.messages.splice(0,$.store.state.messages.length,...$.seed),$.store.state.revertedMessages.splice(0,$.store.state.revertedMessages.length),$.store.state.selectedToolCallId=null;return}$.store.state.sessionId="",$.store.state.messages.splice(0,$.store.state.messages.length,...$.seed),$.store.state.revertedMessages.splice(0,$.store.state.revertedMessages.length),$.store.state.selectedToolCallId=null,$.store.state.usage.prompt_tokens=0,$.store.state.usage.completion_tokens=0,$.store.state.usage.total_tokens=0}import{computed as q4$,ref as zH}from"vue";function uS($){let U=zH(null),_=zH(null),Q=zH(!1),J=q4$(()=>{let q=U.value,O=_.value;return Boolean(q&&O&&(q.row!==O.row||q.col!==O.col))});function G(){return nT($.lines.value,U.value,_.value)}function Y(){let q=globalThis.getSelection?.();return typeof q?.toString==="function"?String(q.toString()):""}function X(){if($.nodeLike)return;try{globalThis.document?.querySelector?.("[data-vt-host] textarea")?.focus?.()}catch{}}function V(){U.value=null,_.value=null,Q.value=!1}function K(q){if($.focusMode.value="messages",X(),!$.nodeLike&&!q?.altKey)return;let O=(q.cellY??0)-$.mainY,M=(q.cellX??0)-2,P=$.scrollTop.value+O;U.value={row:P,col:Math.max(0,M)},_.value={row:P,col:Math.max(0,M)},Q.value=!0}function Z(q){if(!Q.value)return;let O=(q.cellY??0)-$.mainY,M=(q.cellX??0)-2,P=$.scrollTop.value+O;_.value={row:P,col:Math.max(0,M)};let H=$.mainH.value,z=Math.max(0,$.lines.value.length-H);if(O>=H-1&&$.scrollTop.value<z)$.scrollTop.value=Math.min($.scrollTop.value+1,z);else if(O<0&&$.scrollTop.value>0)$.scrollTop.value=Math.max($.scrollTop.value-1,0)}function N(q){if(!Q.value)return;Q.value=!1;let O=U.value,M=_.value,P=O&&M&&(O.row!==M.row||Math.abs(O.col-M.col)>1);if(!$.nodeLike)return;if(P)return;if(!P&&O){if(q.target&&q.currentTarget&&q.target!==q.currentTarget)return;let H=$.lines.value[O.row];if(!H?.messageId)return;if($.store.state.messages.find((A)=>A.id===H.messageId)?.role!=="user")return;$.messageActionsTargetId.value=H.messageId,$.showMessageActions.value=!0}}function W(q){if($.nodeLike)return;if(X(),$.focusMode.value="messages",Y().trim())return;if(!q?.shiftKey)return;if(q.target&&q.currentTarget&&q.target!==q.currentTarget)return;let O=(q.cellY??0)-$.mainY,M=$.scrollTop.value+O,P=$.lines.value[M];if(!P?.messageId)return;if($.store.state.messages.find((z)=>z.id===P.messageId)?.role!=="user")return;$.messageActionsTargetId.value=P.messageId,$.showMessageActions.value=!0}function B(q){if(Y().trim())return;q.preventDefault?.();let O=(q.cellY??0)-$.mainY,M=$.scrollTop.value+O,P=$.lines.value[M];if(!P?.messageId)return;if($.store.state.messages.find((z)=>z.id===P.messageId)?.role!=="user")return;$.messageActionsTargetId.value=P.messageId,$.showMessageActions.value=!0}return{messageSelectStart:U,messageSelectEnd:_,isSelecting:Q,hasMessageSelection:J,focusBrowserTextarea:X,getSelectedMessageText:G,getNativeSelectionText:Y,clearMessageSelection:V,onMessageClick:W,onMessagePointerDown:K,onMessagePointerMove:Z,onMessagePointerUp:N,onMessageContextMenu:B}}import{computed as K0,onBeforeUnmount as B4$,ref as H4$,watch as O4$}from"vue";function mS($){let U=K0(()=>{let z=$.store.state.messages.length,A=Math.max(0,Number($.store.state.usage.prompt_tokens)||0),E=Math.max(0,Number($.store.state.usage.completion_tokens)||0),D=A+E,f=`${z.toLocaleString()} msgs · ${D.toLocaleString()} tok`;return $.copyToastVisible.value&&$.copyToastText.value?`${f} ${$.copyToastText.value}`:f});function _(z){if(z>=88)return"●";if(z>=63)return"◕";if(z>=38)return"◑";if(z>=13)return"◔";return"○"}let Q=K0(()=>{let z=Math.max(0,Number($.store.state.usage.prompt_tokens)||0),A=Math.max(0,Number($.store.state.usage.completion_tokens)||0),E=z+A,D=Math.max(1,Number($.store.state.config.context_window)||128000),f=K4(Math.round(E/D*100),0,100);return`${_(f)} ${f}%`}),J=K0(()=>{return{build:"■",label:String($.store.state.config.model??"model")}}),G=K0(()=>$.uiMode.value),Y=-1,X="",V=K0(()=>{let z=$.store.state.messages.length;if(z===Y&&X!==void 0)return X;for(let A=$.store.state.messages.length-1;A>=0;A--){let E=$.store.state.messages[A];if(!E||E.role!=="assistant")continue;let D=E.parts.find((j)=>j.type==="status"),f=String(D?.text??"").trim();return Y=z,X=!f||f==="Done."?"":f,X}return Y=z,X="",""}),K=K0(()=>{return{fg:A0($.store.state.ui.theme,"status").fg??"white",bg:"blackBright",dim:!0}}),Z=K0(()=>Boolean($.store.state.runningToolCallId)||Boolean($.store.state.runningAgentRound)),N=H4$(0),W=10,B=3,q=null,O=K0(()=>{if(Z.value)return!0;return/^thinking\b/i.test(V.value)});O4$(O,(z)=>{if(z&&!q)q=setInterval(()=>{N.value=(N.value+1)%W},100);else if(!z&&q)clearInterval(q),q=null,N.value=0},{immediate:!0}),B4$(()=>{if(q)clearInterval(q);q=null});let M=K0(()=>{let z=V.value;if(!z)return"";return z}),P=K0(()=>{let z=[];for(let A=0;A<W;A++){let E=(A-N.value+W)%W;z.push(E>=W-B?"■":"·")}return z.join("")}),H=K0(()=>"Ctrl+K: config Tab: mode Ctrl+P: commands");return{headerStatsDisplay:U,ctxPctChip:Q,modelInfo:J,modeLabel:G,assistantStatusDisplay:M,assistantStatusStyle:K,isLoading:Z,loadingDots:P,footerRight:H}}function YU(){if(typeof globalThis.window<"u")return!1;let $=globalThis.process;return!!$&&typeof $?.versions?.node==="string"&&typeof $?.cwd==="function"}function cS(){try{let $=globalThis.process;return(typeof $?.cwd==="function"?String($.cwd()):"")||"/"}catch{return"/"}}async function VY($){let U=String($??"");if(!U)return!1;let _=globalThis.navigator;if(_?.clipboard?.writeText)try{return await _.clipboard.writeText(U),!0}catch{}if(YU())try{let G=globalThis.process,Y=String(G?.platform||""),{spawn:X}=await import("node:child_process"),V=(K,Z)=>new Promise((N)=>{try{let W=X(K,Z,{stdio:["pipe","ignore","ignore"],windowsHide:!0});W.on("error",()=>N(!1)),W.on("close",(B)=>N(B===0)),W.stdin?.write(U,"utf8"),W.stdin?.end()}catch{N(!1)}});if(Y==="darwin"){if(await V("pbcopy",[]))return!0}else if(Y==="win32"){if(await V("cmd",["/c","clip"]))return!0}else{if(await V("wl-copy",[]))return!0;if(await V("xclip",["-selection","clipboard"]))return!0;if(await V("xsel",["--clipboard","--input"]))return!0}}catch{}let Q=globalThis.process;if(Q?.stdout?.write&&Q?.stdout?.isTTY)try{let G=YU()?(await import("node:buffer")).Buffer.from(U,"utf-8").toString("base64"):btoa(unescape(encodeURIComponent(U)));return Q.stdout.write(`\x1B]52;c;${G}\x07`),!0}catch{}let J=globalThis.document;if(!J?.createElement||!J?.body?.appendChild||typeof J.execCommand!=="function")return!1;try{let G=J.activeElement,Y=J.createElement("textarea");Y.value=U,Y.setAttribute("readonly","true"),Y.setAttribute("aria-hidden","true"),Y.style.position="fixed",Y.style.left="-9999px",Y.style.top="-9999px",Y.style.opacity="0",J.body.appendChild(Y),Y.focus(),Y.select(),Y.setSelectionRange(0,Y.value.length);let X=Boolean(J.execCommand("copy"));Y.remove();try{G?.focus?.({preventScroll:!0})}catch{G?.focus?.()}return X}catch{return!1}}function KY($){let U=String($??"").trim();if(!U.startsWith("/"))return{kind:"none"};if(U==="/approvals"||U==="/approval")return{kind:"approvals"};if(U.startsWith("/approvals ")||U.startsWith("/approval "))return{kind:"approvals_invalid_args"};if(U==="/settings"||U==="/config")return{kind:"settings"};if(U==="/sessions")return{kind:"sessions"};if(U==="/new")return{kind:"new"};if(U==="/redo")return{kind:"redo"};return{kind:"none"}}function ZY($){return[{label:"Sessions",detail:"Pick or create a session (/sessions)",run:$.openSessionsDialog},{label:"New Session",detail:"Start a new session (/new)",run:$.createNewSession},{label:"Settings",detail:"Model + API (/settings, Ctrl+K)",run:$.openConfig},{label:"Tool Approvals",detail:"Configure approvals (/approvals)",run:$.openToolApprovals}]}import{computed as y5,ref as WY}from"vue";function NY($){let U=WY(!1),_=WY("directory"),Q=WY(""),J=WY(null),G=y5(()=>{let W=String($.store.state.context?.cwd??".");if(!$.nodeLike)return W;return J2(cS(),W)}),Y=y5(()=>_.value==="directory"?"Select Workspace":"Select File"),X=y5(()=>_.value==="directory"?"Type a path (../ etc). Tab to complete. Enter selects a directory.":"Type a path (../ etc). Tab to complete. Enter selects a file."),V=y5(()=>K4(Math.min(72,Math.max(32,Math.floor($.cols.value*0.72))),32,Math.max(32,$.cols.value-4))),K=y5(()=>K4(Math.min(18,Math.max(8,Math.floor($.rows.value*0.55))),8,Math.max(8,$.rows.value-6)));function Z(W,B=""){if(!$.nodeLike){J.value="node-only";return}U.value=!0,_.value=W,Q.value=String(B??""),J.value=null}function N(){U.value=!1,Q.value="",J.value=null}return{showPathPicker:U,pathPickerMode:_,pathPickerQuery:Q,pathPickerError:J,pickerWorkspace:G,pickerW:V,pickerH:K,pathPickerTitle:Y,pathPickerPlaceholder:X,openPathPicker:Z,closePathPicker:N}}import{appendFileSync as j4$}from"node:fs";function D4$(){let $=globalThis.process;return Boolean($&&typeof $?.versions?.node==="string")}function E4$(){if(!D4$())return!1;let $=globalThis.process?.env??{},U=String($.GOATCHAIN_DEBUG??"").trim().toLowerCase();return U==="1"||U==="true"||U==="yes"||U==="on"}function M4$(){let $=globalThis.process?.env??{};return String($.GOATCHAIN_DEBUG_LOG??"").trim()||"./goatchain-debug.log"}function C4($,U){if(!E4$())return;let _=String($??"").trim()||"event",J=`[${new Date().toISOString()}] ${_}`;if(U!==void 0)try{J+=` ${JSON.stringify(U)}`}catch{}J+=`
856
+ `;try{j4$(M4$(),J)}catch{}}import{ref as T0,watch as P4$}from"vue";function FY($){let U=T0(!1),_=T0(!1),Q=T0("Switch Session"),J=T0(""),G=T0(""),Y=T0(!1),X=T0(!1),V=T0([]),K=T0(0),Z=T0(null);function N(){let E=$.store.state;if(E.runningAgentRound)return"Agent is still responding";if(E.paused?.kind==="ask_user")return"Awaiting AskUser answers";if(E.paused?.kind==="tool_approval")return"Awaiting tool approval";if(E.approval?.active?.status==="pending")return"Pending approval";return""}function W(){let E=$.store.state;if(E.runningAgentRound)return!0;if(E.paused)return!0;return Boolean(E.approval?.active&&E.approval.active.status==="pending")}async function B(E){if(!$.sessionsApi){$.showToast?.("Sessions are only available in Node/CLI mode."),C4("session_switch_unavailable",{title:E.title,target:E.targetLabel});return}if(!W()){C4("session_switch",{title:E.title,target:E.targetLabel,busy:!1}),await E.run(),_.value=!1,Z.value=null,Q.value="Switch Session",J.value="",G.value="",U.value=!1,X.value=!1;return}Z.value={run:E.run},Q.value=E.title,J.value=E.targetLabel,G.value=N(),_.value=!0,C4("session_switch_prompt",{title:E.title,target:E.targetLabel,reason:G.value})}async function q(E={}){let D=$.sessionsApi;if(!D){V.value=[],K.value=0;return}Y.value=!0;try{let f=await D.list();V.value=f.slice().sort((L,k)=>Number(k?.updatedAt??0)-Number(L?.updatedAt??0));let j=Math.max(0,V.value.length-1),T=-1;if(E.preferId)T=V.value.findIndex((L)=>L.id===E.preferId);if(T<0&&typeof E.preferIndex==="number")T=K4(E.preferIndex,0,j);if(T<0){let L=String($.store.state.sessionId??"");T=V.value.findIndex((k)=>k.id===L)}K.value=T>=0?T:0}catch{V.value=[],K.value=0}finally{Y.value=!1}}async function O(){if(!$.sessionsApi){$.showToast?.("Sessions are only available in Node/CLI mode.");return}X.value=!1,U.value=!0,await q()}async function M(E){let D=$.sessionsApi,f=V.value[K.value];if(!D||!f)return;await B({title:"Switch Session",targetLabel:String(f.title||f.id),run:async()=>{let j=String($.store.state.sessionId??"");await D.use(f.id),C4("session_switch_run",{from:j,to:String(f.id),kind:"use"}),await E?.after?.()}})}async function P(E){let D=$.sessionsApi;if(!D){$.showToast?.("Sessions are only available in Node/CLI mode.");return}await B({title:"New Session",targetLabel:"a new session",run:async()=>{let f=String($.store.state.sessionId??"");await D.createNew(),C4("session_switch_run",{from:f,to:String($.store.state.sessionId??""),kind:"new"}),await E?.after?.()}})}async function H(){let E=Z.value;if(!E)return;_.value=!1,Z.value=null,$.store.interrupt(),C4("session_switch_confirm",{title:Q.value,target:J.value,reason:G.value}),await E.run(),U.value=!1,X.value=!1,Q.value="Switch Session",J.value="",G.value=""}function z(){_.value=!1,Z.value=null,C4("session_switch_cancel",{title:Q.value,target:J.value,reason:G.value}),Q.value="Switch Session",J.value="",G.value=""}return P4$([U,()=>String($.store.state.sessionId??"").trim()],([E,D])=>{if(!E)return;if(!$.sessionsApi||!D)return;q({preferId:D})}),{showSessions:U,showSwitchConfirm:_,switchConfirmTitle:Q,switchConfirmTargetLabel:J,switchConfirmReason:G,sessionsLoading:Y,sessionsDeleteArmed:X,sessionsList:V,sessionsIndex:K,refreshSessions:q,openSessionsDialog:O,openSelectedSession:M,createNewSession:P,confirmSwitch:H,cancelSwitch:z}}import{computed as f4$,ref as XU}from"vue";function dS($){let U=String($??"").trim();if(!U)return"";return`***${U.slice(-4)||"****"}`}function qY($){let U=XU(!1),_=XU(!1),Q=XU(""),J=XU(""),G=XU(""),Y=XU(!1),X=XU(""),V=XU(""),K=f4$(()=>{let M=$.store.state.context?.env??{};return dS(M.OPENAI_API_KEY)});function Z(){return $.store.state.paused?.kind==="tool_approval"||$.store.state.approval.active?.status==="pending"}function N(){Q.value="",J.value="",G.value="",Y.value=!1,X.value="",V.value="",U.value=!0,queueMicrotask(()=>{Q.value=String($.store.state.config.model??"").trim()||"deepseek-v3.1",J.value=String($.store.state.config.context_window??128000),G.value=String($.store.state.config.temperature??""),Y.value=Boolean($.store.state.config.interleaved_thinking??!1);let M=$.store.state.context?.env??{};X.value=String(M.GOATCHAIN_OPENAI_BASE_URL||M.OPENAI_BASE_URL||""),V.value=""})}function W(){U.value=!1}function B(){if($.guardPendingApprovals!==!1&&Z()){$.showToast("Resolve the pending approval before changing settings.");return}let M=Q.value.trim();if(M)$.store.state.config.model=M;$.store.state.config.context_window=K4(Number.parseInt(J.value||"0",10)||$.store.state.config.context_window,1000,2000000);let P=Number.parseFloat(G.value);$.store.state.config.temperature=Number.isFinite(P)?P:$.store.state.config.temperature,$.store.state.config.interleaved_thinking=Y.value,$.store.setEnvVar("GOATCHAIN_MODEL",$.store.state.config.model),$.store.setEnvVar("GOATCHAIN_CONTEXT_WINDOW",String($.store.state.config.context_window)),$.store.setEnvVar("GOATCHAIN_TEMPERATURE",String($.store.state.config.temperature??"")),$.store.setEnvVar("GOATCHAIN_INTERLEAVED_THINKING",Y.value?"1":"0"),$.store.setEnvVar("GOATCHAIN_OPENAI_BASE_URL",X.value.trim()||void 0);let H=V.value.trim();if(H)$.store.setEnvVar("OPENAI_API_KEY",H);if($.nodeLike){let z=globalThis.process;if(z?.env){z.env.GOATCHAIN_MODEL=$.store.state.config.model,z.env.GOATCHAIN_CONTEXT_WINDOW=String($.store.state.config.context_window),z.env.GOATCHAIN_TEMPERATURE=String($.store.state.config.temperature??""),z.env.GOATCHAIN_INTERLEAVED_THINKING=Y.value?"1":"0";let A=X.value.trim();if(A)z.env.GOATCHAIN_OPENAI_BASE_URL=A;else delete z.env.GOATCHAIN_OPENAI_BASE_URL;if(H)z.env.OPENAI_API_KEY=H}}V.value="",W()}function q(){if(Z()){$.showToast("Resolve the pending approval before changing settings.");return}_.value=!0}function O(M){if($.store.state.approval.mode=M,$.store.setEnvVar("GOATCHAIN_TOOL_APPROVALS",M),$.nodeLike){let P=globalThis.process;if(P?.env)P.env.GOATCHAIN_TOOL_APPROVALS=M}$.showToast(`Tool approvals: ${M}`)}return{showConfig:U,showToolApprovals:_,modelId:Q,contextWindow:J,temperature:G,interleavedThinking:Y,baseUrl:X,apiKeyDraft:V,apiKeyMasked:K,openConfig:N,closeConfig:W,applyConfig:B,openToolApprovals:q,applyToolApprovals:O}}function BY($){let U=$.store.state.context?.env??{},_=(Y)=>{if(typeof $.store.showUpgradeNotification==="function")$.store.showUpgradeNotification(Y);else $.showToast(Y)};if($.nodeLike)globalThis.__GOATCHAIN_UPGRADE_TOAST__=_;let Q=String(U.GOATCHAIN_STARTUP_UPGRADE_TOAST??"").trim();if(Q){if(_(Q),$.store.setEnvVar("GOATCHAIN_STARTUP_UPGRADE_TOAST",void 0),$.nodeLike){let Y=globalThis.process;if(Y?.env)delete Y.env.GOATCHAIN_STARTUP_UPGRADE_TOAST}}if($.nodeLike)L4$(U,_);let J=String(U.GOATCHAIN_STARTUP_TOAST??"").trim();if(!J)return;if($.showToast(J),$.store.setEnvVar("GOATCHAIN_STARTUP_TOAST",void 0),!$.nodeLike)return;let G=globalThis.process;if(G?.env)delete G.env.GOATCHAIN_STARTUP_TOAST}async function L4$($,U){try{let{getGoatChainUserDir:_}=await Promise.resolve().then(() => n3),[{readFile:Q,unlink:J},G]=await Promise.all([import("node:fs/promises"),import("node:path")]),Y=await _($),X=G.join(Y,"upgrade-toast.json"),V=await Q(X,"utf8"),K=JSON.parse(V),Z=String(K?.message??"").trim();if(await J(X),Z)U(Z)}catch{}}import{onBeforeUnmount as R4$,ref as lS}from"vue";function HY($=1200){let U=lS(!1),_=lS(""),Q=null,J=(G)=>{if(_.value=String(G??""),U.value=!0,Q)clearTimeout(Q);Q=setTimeout(()=>{U.value=!1,Q=null},Math.max(0,$))};return R4$(()=>{if(Q)clearTimeout(Q);Q=null}),{visible:U,text:_,show:J}}var AH=w4$({name:"GoatChainChatPage",setup(){let $=YU(),U=rJ(),_=EG(),Q=U6(),{events:J,scheduler:G}=M4(),Y=z4$(J_,null);if(!Y)throw Error("GoatChainBridge is missing (did you forget to wrap with <GoatChainProvider />?)");let{store:X,sessions:V}=Y,K=Y1(()=>Q.clipRect?.w??0),Z=Y1(()=>Q.clipRect?.h??0),N=K2(""),W=Y1(()=>{let N$=[];for(let m$ of X.state.messages){if(!m$||m$.role!=="user")continue;let q4=String(m$.content??""),g4=e2(q4).trim();if(!g4)continue;N$.push(g4)}return N$}),B=K2(W.value.length),q=K2([]),O=K2("input"),M=K2(X.getMode?.()??"agent");function P(N$=1){let m$=["plan","agent"],q4=M.value,k6=(m$.indexOf(q4)+N$+m$.length)%m$.length,m6=m$[k6]??"agent";M.value=m6,X.setMode?.(m6)}let H=IS({cols:K,rows:Z,input:N,hasRevertedMessages:X.hasRevertedMessages}),{contentW:z,mainW:A,mainH:E,mainY:D,panelW:f,panelX:j,panelTopY:T,panelH:L,inputX:k,inputInnerW:R,inputLines:S,modelRowGap:I,inputWrapWidth:w,footerH:C}=H,b=HY(1200),y=b.visible,x=b.text,l=(N$)=>{b.show(N$),G.invalidate()};if($){let N$=globalThis,m$=N$.__VT_SHOW_COPY_TOAST__,q4=(g4)=>l(g4);N$.__VT_SHOW_COPY_TOAST__=q4,k4$(()=>{if(N$.__VT_SHOW_COPY_TOAST__===q4)if(m$)N$.__VT_SHOW_COPY_TOAST__=m$;else delete N$.__VT_SHOW_COPY_TOAST__})}let t=mS({store:X,uiMode:M,copyToastVisible:y,copyToastText:x}),{headerStatsDisplay:V$,ctxPctChip:u$,modelInfo:O$,modeLabel:q$,assistantStatusDisplay:m,assistantStatusStyle:a,isLoading:d,loadingDots:i,footerRight:n}=t,h=qY({store:X,nodeLike:$,showToast:l}),{showConfig:_$,showToolApprovals:H$,modelId:D$,contextWindow:j$,temperature:r$,interleavedThinking:Z4,baseUrl:y4,apiKeyDraft:P4,apiKeyMasked:m4,openConfig:V4,closeConfig:Q6,applyConfig:c4,openToolApprovals:e$,applyToolApprovals:W4}=h,p4=FY({store:X,sessionsApi:V,showToast:l}),{showSessions:E6,showSwitchConfirm:R4,switchConfirmTitle:h6,switchConfirmTargetLabel:D1,switchConfirmReason:E1,openSelectedSession:n6,createNewSession:I6,confirmSwitch:d4,cancelSwitch:l4,sessionsLoading:b4,sessionsDeleteArmed:x4,sessionsList:B4,sessionsIndex:L$,refreshSessions:d$,openSessionsDialog:w4}=p4,G$=NY({store:X,cols:K,rows:Z,nodeLike:$}),{showPathPicker:E$,pathPickerMode:P$,pathPickerQuery:R$,pathPickerError:C$,pickerWorkspace:p$,pickerW:v,pickerH:g,pathPickerTitle:r,pathPickerPlaceholder:J$,closePathPicker:U$}=G$;BY({store:X,nodeLike:$,showToast:l});let Y$=[{value:"/new",detail:"Start a new session",onSelect:()=>{I6({after:async()=>U.push("home")}),N.value=""}},{value:"/sessions",detail:"List/pick sessions",onSelect:()=>{w4(),N.value=""}},{value:"/settings",detail:"Configure model + API",onSelect:()=>{V4(),N.value=""}},{value:"/approvals",detail:"Configure tool approvals (auto/all)",onSelect:()=>gH("/approvals")}],Z$=K2(!1),A$=K2(0),I$=K2(!1),b$=K2(null),l$=yS({store:X,rows:Z,contentW:z,focusMode:O,showSessions:E6,showSwitchConfirm:R4,showConfig:_$,showToolApprovals:H$,showPathPicker:E$,showMessageActions:Z$,showRedoConfirm:I$}),{showCommands:s$,commandIndex:z4,showTheme:i$,showApproval:t$,showAskUser:i4,showExitConfirm:G6,activeApproval:F4,approvalW:y$,approvalH:x$,activeAskUser:n$,askUserW:c$,askUserH:J4,configW:h$,configH:N4,toolApprovalsW:H4,toolApprovalsH:_6,anyDialogOpen:s4,openCommandPalette:Y6,closeCommandPalette:r4}=l$;J8(q,(N$)=>{X.setFocusFiles(N$)});let O4=Y1(()=>String(X.state.sessionId??"").trim());J8(O4,(N$)=>{if(!V||!N$)return;d$({preferId:N$})},{immediate:!0}),J8(()=>[O4.value,W.value.length],([N$,m$],q4)=>{let[g4,k6]=q4??[void 0,0];if(N$!==g4){B.value=m$;return}if(m$!==k6&&B.value>=k6)B.value=m$;else if(B.value>m$)B.value=m$},{immediate:!0});let o4=Y1(()=>{let N$=O4.value;if(!N$)return null;return B4.value.find((m$)=>m$.id===N$)??null}),KU=Y1(()=>{return`# ${O4.value||"new"}`}),a1=Y1(()=>{let N$=String(o4.value?.summary??"").trim();if(N$)return N$;let m$=X.state.messages.find((g4)=>g4.role==="user");return String(m$?.content??"").trim()||"New session"}),x1=Y1(()=>[...ZY({openSessionsDialog:()=>void w4(),createNewSession:()=>void I6(),openConfig:V4,openToolApprovals:e$}),{label:"Theme",detail:"Message colors",run:()=>i$.value=!0}]),I0=Y1(()=>x1.value.map((N$)=>({label:N$.label,detail:N$.detail})));function PY(N$){if(r4(),!N$)return;x1.value.find((q4)=>q4.label===N$)?.run()}let b5=uT(),fY=Y1(()=>{let N$=Math.max(0,A.value-4);return b5({messages:X.state.messages,width:N$,selectedToolCallId:X.state.selectedToolCallId,expandedBashOutputs:X.state.expandedBashOutputs,theme:X.state.ui.theme})}),ZU={get value(){return fY.value}},x5=-1,Y8=new Map,LY=Y1(()=>{let N$=X.state.messages.length;if(N$===x5&&Y8.size>0)return Y8;let m$=new Map;for(let q4 of X.state.messages){let g4=String(q4?.id??"").trim(),k6=String(q4?.role??"").trim();if(!g4)continue;if(k6==="user"||k6==="assistant"||k6==="tool")m$.set(g4,k6)}return x5=N$,Y8=m$,m$}),o=Y1(()=>{let N$=Array.from(ZU.value.toolLineById.entries());return N$.sort((m$,q4)=>m$[1]-q4[1]),N$.map(([m$])=>m$)}),Y4=vS({lines:Y1(()=>ZU.value.lines),mainH:E}),{scrollTop:E4,stickToBottom:V6,maxScroll:v0,visibleLines:C0,onWheel:X8}=Y4,y0=uS({nodeLike:$,store:X,mainY:D,mainH:E,scrollTop:E4,lines:Y1(()=>ZU.value.lines),focusMode:O,messageActionsTargetId:b$,showMessageActions:Z$,copyTextToClipboard:VY,showCopyToast:l}),{messageSelectStart:WU,messageSelectEnd:b0,hasMessageSelection:Z2,focusBrowserTextarea:u6,getSelectedMessageText:q6,clearMessageSelection:Z_,onMessageClick:g5,onMessagePointerDown:h5,onMessagePointerMove:u5,onMessagePointerUp:jI,onMessageContextMenu:DI}=y0;function EI(N$){if(!N$||N$.type==="none")return;if(u6(),N$.type==="selectToolCall"){X.selectToolCall(X.state.selectedToolCallId===N$.callId?null:N$.callId),O.value="input",RY(),c5();return}if(N$.type==="openApproval"){if(F4.value)t$.value=!0;return}if(N$.type==="toggleItem"){X.toggleChecklist(N$.messageId,N$.part,N$.itemId);return}if(N$.type==="toggleCollapse"){X.toggleBlockCollapsed(N$.messageId,N$.part,N$.partIndex);return}if(N$.type==="toggleBashOutput"){X.toggleBashOutput(N$.toolCallId),O.value="input",RY(),c5();return}if(N$.type==="showMessageActions")b$.value=N$.messageId,Z$.value=!0}function MI(){let N$=b$.value;if(!N$)return;X.revertFromMessage(N$),Z$.value=!1,b$.value=null,V6.value=!0}function PI(){let N$=b$.value;if(!N$)return;let m$=X.state.messages.find((g4)=>g4.id===N$);if(!m$)return;let q4=xS(m$);if(q4)VY(q4).then((g4)=>l(g4?"Copied":"Copy failed")).catch(()=>l("Copy failed"));Z$.value=!1,b$.value=null}function fI(){X.restoreRevertedMessages(),I$.value=!1,V6.value=!0}function LI(){I$.value=!1}async function RI(){let N$=b$.value;if(!N$)return;let m$=gS(X.state.messages,N$);if(!m$)return;Z$.value=!1,b$.value=null,A$.value=0;try{await hS({sessionsApi:V,store:X,seed:m$})}catch{l("Failed to fork session.")}V6.value=!0,N.value="",q.value=[]}let m5=Y1(()=>X.state.selectedToolCallId);async function wI(){if(!m5.value||X.state.runningToolCallId)return;await X.runToolCall(m5.value)}function zI(N$){let m$=ZU.value.toolLineById.get(N$);if(m$==null)return;let q4=Math.max(0,m$);if(q4<E4.value){E4.value=K4(q4,0,v0.value);return}let g4=E4.value+Math.max(1,E.value)-1;if(m$>g4)E4.value=K4(m$-Math.max(1,E.value)+1,0,v0.value)}function AI(N$){let m$=o.value;if(m$.length===0)return;let q4=m5.value,g4=q4?m$.indexOf(q4):-1,k6=(()=>{if(g4<0)return m$.length-1;let W_=g4+N$;if(W_<0)return m$.length-1;if(W_>=m$.length)return 0;return W_})(),m6=m$[k6];if(!m6)return;X.selectToolCall(m6),zI(m6)}function gH(N$){let m$=Boolean(X.state.approval.pendingAutoRun)||Boolean(X.state.approval.active&&X.state.approval.active.status==="pending")||X.state.approval.queue.length>0;if(d.value&&!X.state.paused&&!m$){l("Please wait for the current response to complete, or press Esc to interrupt.");return}let q4=e2(N$),g4=q4.trimEnd(),k6=q.value;if(!g4&&k6.length===0)return;let m6=KY(g4);if(m6.kind==="approvals"){e$(),N.value="";return}if(m6.kind==="approvals_invalid_args"){l("Use /approvals (no on/off)."),N.value="";return}if(m6.kind==="settings"){V4(),N.value="";return}if(m6.kind==="sessions"){w4(),N.value="";return}if(m6.kind==="new"){I6({after:async()=>U.push("home")}),N.value="";return}if(m6.kind==="redo"){if(X.hasRevertedMessages.value)I$.value=!0;N.value="";return}if(V6.value=!0,k6.length>0)q4=q4.replace(/^[\s\u200B]*\]+/u,""),X.sendUserInput({content:q4,focusFiles:k6});else X.send(q4);q.value=[],B.value=W.value.length,N.value=""}async function hH(){if(X.interrupt(),X.state.sessionId="",X.setEnvVar("GOATCHAIN_SESSION_ID",void 0),YU()){let N$=globalThis.process;if(N$?.env)delete N$.env.GOATCHAIN_SESSION_ID}X.state.messages.splice(0,X.state.messages.length),X.state.revertedMessages.splice(0,X.state.revertedMessages.length),X.state.selectedToolCallId=null,X.state.runningToolCallId=null,X.state.paused=null,X.state.approval.active=null,X.state.approval.pendingAutoRun=null,X.state.approval.queue=[],X.state.approval.decisions={},X.state.approval.approvedToolCalls={},X.state.usage.prompt_tokens=0,X.state.usage.completion_tokens=0,X.state.usage.total_tokens=0,await U.push("home")}J8(()=>_.value.params,(N$)=>{if(N$?.open==="settings")V4(),U.replace("chat")},{immediate:!0});function kI(N$){X.setCwd(N$)}let TI=bS({nodeLike:$,store:X,events:J,input:N,inputWrapWidth:w,history:W,historyIndex:B,focusMode:O,toolCallIds:o,selectedToolCallId:m5,moveToolSelection:AI,runSelected:wI,anyDialogOpen:s4,showCommands:s$,showTheme:i$,showSessions:E6,showMessageActions:Z$,showRedoConfirm:I$,showConfig:_$,showToolApprovals:H$,showApproval:t$,showAskUser:i4,showPathPicker:E$,showExitConfirm:G6,openCommandPalette:Y6,closeCommandPalette:r4,openConfig:V4,closeConfig:Q6,closePathPicker:U$,cycleUiMode:P,isLoading:d,hasMessageSelection:Z2,clearMessageSelection:Z_,getSelectedMessageText:q6,copyTextToClipboard:VY,showCopyToast:l,exitSessionToHome:hH}),{onInputKeydown:SI,onSelectionKeydown:II,onGlobalKeydown:vI,onGlobalKeydownCapture:CI}=TI;function RY(){let N$=J.value;if(!N$||typeof N$.debugNodes!=="function"||typeof N$.focus!=="function")return;let m$=Math.floor(k.value),q4=Math.floor(T.value),g4=Math.floor(R.value),k6=Math.floor(S.value),m6=(N$.debugNodes?.()??[]).filter((x0)=>x0?.visible&&x0?.focusable),W_=m6.find((x0)=>{let c6=x0?.rect;return c6&&c6.x===m$&&c6.y===q4&&c6.w===g4&&c6.h===k6});if(W_?.id){N$.focus(W_.id);return}let uH=m$+Math.floor(Math.max(0,g4-1)/2),mH=q4+Math.floor(Math.max(0,k6-1)/2),cH=m6.filter((x0)=>{let c6=x0?.rect;return c6&&uH>=c6.x&&mH>=c6.y&&uH<c6.x+c6.w&&mH<c6.y+c6.h});cH.sort((x0,c6)=>{let lH=x0?.zIndex??0,iH=c6?.zIndex??0;if(iH!==lH)return iH-lH;let rH=x0?.rect??{w:0,h:0},nH=c6?.rect??{w:0,h:0};return rH.w*rH.h-nH.w*nH.h});let dH=cH[0];if(dH?.id)N$.focus(dH.id),G.invalidate()}async function c5(){await A4$(),queueMicrotask(()=>{queueMicrotask(()=>{setTimeout(()=>{u6(),RY()},0)})})}return J8(s4,(N$)=>{if(N$)return;c5()}),J8(d,(N$,m$)=>{if(N$||!m$)return;if(s4.value||Z2.value)return;O.value="input",c5()}),T4$(r1,{nodeLike:$,router:U,store:X,sessionsApi:V,cols:K,rows:Z,contentW:z,mainY:D,mainW:A,mainH:E,scrollTop:E4,visibleLines:C0,messageRoleById:LY,messageSelectStart:WU,messageSelectEnd:b0,focusMode:O,onWheel:X8,onSelectionKeydown:II,onMessageClick:g5,onMessagePointerDown:h5,onMessagePointerMove:u5,onMessagePointerUp:jI,onMessageContextMenu:DI,onLineClick:EI,focusBrowserTextarea:u6,showCopyToast:l,copyToastVisible:y,copyToastText:x,sessionHeaderTitle:KU,sessionHeaderSummary:a1,headerStatsDisplay:V$,panelW:f,panelX:j,panelTopY:T,panelH:L,inputX:k,inputInnerW:R,inputLines:S,modelRowGap:I,input:N,focusFiles:q,pickerWorkspace:p$,promptSuggestions:Y$,showCommands:s$,showTheme:i$,showSessions:E6,showMessageActions:Z$,showRedoConfirm:I$,showConfig:_$,showToolApprovals:H$,showApproval:t$,showPathPicker:E$,pathPickerMode:P$,pathPickerQuery:R$,pathPickerError:C$,send:gH,onInputKeydown:SI,setContextCwd:kI,ctxPctChip:u$,modelInfo:O$,modeLabel:q$,assistantStatusDisplay:m,assistantStatusStyle:a,footerH:C,footerRight:n,isLoading:d,loadingDots:i,commandOptions:I0,commandIndex:z4,onCommandSelect:PY,closeCommandPalette:r4,refreshSessions:d$,sessionsLoading:b4,sessionsDeleteArmed:x4,sessionsList:B4,sessionsIndex:L$,showSwitchConfirm:R4,switchConfirmTitle:h6,switchConfirmTargetLabel:D1,switchConfirmReason:E1,openSelectedSession:n6,createNewSession:I6,confirmSwitch:d4,cancelSwitch:l4,messageActionsIndex:A$,messageActionsTargetId:b$,handleRevertMessage:MI,handleCopyMessage:PI,handleForkSession:RI,confirmRestore:fI,cancelRestore:LI,pickerW:v,pickerH:g,pathPickerTitle:r,pathPickerPlaceholder:J$,configW:h$,configH:N4,modelId:D$,contextWindow:j$,temperature:r$,interleavedThinking:Z4,baseUrl:y4,apiKeyDraft:P4,apiKeyMasked:m4,applyConfig:c4,closeConfig:Q6,toolApprovalsW:H4,toolApprovalsH:_6,applyToolApprovals:W4,activeApproval:F4,approvalW:y$,approvalH:x$,activeAskUser:n$,showAskUser:i4,askUserW:c$,askUserH:J4,showExitConfirm:G6,exitSessionToHome:hH}),()=>V_(v4,{x:0,y:0,w:K.value,h:Z.value,zIndex:0,focusable:!1,onKeydownCapture:CI,onKeydown:vI},()=>[V_($$,{key:"bg",x:0,y:0,w:K.value,h:Z.value,value:"",style:lG,zIndex:-100}),V_(iT),V_(pT),V_(dT),V_(lT),V_(TS)])}});import{computed as $4,defineComponent as I4$,h as n4,inject as v4$,onBeforeUnmount as C4$,ref as S0,watch as nS}from"vue";var iS=7,S4$=["________ ________ ________ _________ ________ ___ ___ ________ ___ ________","|\\ ____\\|\\ __ \\|\\ __ \\|\\___ ___\\ |\\ ____\\|\\ \\|\\ \\|\\ __ \\|\\ \\|\\ ___ \\","\\ \\ \\___|\\ \\ \\|\\ \\ \\ \\|\\ \\|___ \\ \\_| \\ \\ \\___|\\ \\ \\\\\\ \\ \\ \\|\\ \\ \\ \\ \\ \\\\ \\ \\"," \\ \\ \\ __\\ \\ \\\\\\ \\ \\ __ \\ \\ \\ \\ \\ \\ \\ \\ \\ __ \\ \\ __ \\ \\ \\ \\ \\\\ \\ \\"," \\ \\ \\|\\ \\ \\ \\\\\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\____\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\\\ \\ \\"," \\ \\_______\\ \\_______\\ \\__\\ \\__\\ \\ \\__\\ \\ \\_______\\ \\__\\ \\__\\ \\__\\ \\__\\ \\__\\ \\__\\\\ \\__\\"," \\|_______|\\|_______|\\|__|\\|__| \\|__| \\|_______|\\|__|\\|__|\\|__|\\|__|\\|__|\\|__| \\|__|"];function rS($,U=1){return S4$}var pS="";function y4$($){return`[... ${($.match(/\n/g)||[]).length+1} lines]`}function b4$($,U){if(!$)return"";let _="",Q=0;for(let J=0;J<$.length;){if($[J]===pS){_+=U[Q]??"",Q++,J+=1;continue}let Y=$.codePointAt(J)??0,X=String.fromCodePoint(Y);_+=X,J+=X.length}return _}function x4$($,U){if(!$)return"";let _="",Q=0;for(let J=0;J<$.length;){if($[J]===pS){let V=U[Q]??"";_+=y4$(V),Q++,J+=1;continue}let Y=$.codePointAt(J)??0,X=String.fromCodePoint(Y);_+=X,J+=X.length}return _}var kH=I4$({name:"GoatChainHomePage",setup(){let $=rJ(),U=U6(),{events:_}=M4(),Q=$4(()=>U.clipRect?.w??0),J=$4(()=>U.clipRect?.h??0),G=v4$(J_,null);if(!G)throw Error("GoatChainBridge is missing (did you forget to wrap with <GoatChainProvider />?)");let{store:Y,sessions:X}=G,V=YU(),K=S0(""),Z=S0(!1),N=S0(!1),W=S0(0),B=S0([]),q=S0([]),O=S0(!1),M=S0(""),P=S0("Multiline Text"),H=S0(Y.getMode?.()??"agent");function z(o=1){let Y4=["plan","agent"],E4=H.value,v0=(Y4.indexOf(E4)+o+Y4.length)%Y4.length,C0=Y4[v0]??"agent";H.value=C0,Y.setMode?.(C0)}function A(o){let Y4=q.value[o];if(Y4){M.value=Y4;let E4=(Y4.match(/\n/g)||[]).length+1;P.value=`Multiline Text (${E4} lines)`,O.value=!0}}function E(){O.value=!1}let D=HY(1200),f=D.visible,j=D.text,T=D.show;if(V){let o=globalThis,Y4=o.__VT_SHOW_COPY_TOAST__,E4=(V6)=>T(V6);o.__VT_SHOW_COPY_TOAST__=E4,C4$(()=>{if(o.__VT_SHOW_COPY_TOAST__===E4)if(Y4)o.__VT_SHOW_COPY_TOAST__=Y4;else delete o.__VT_SHOW_COPY_TOAST__})}let L=qY({store:Y,nodeLike:V,showToast:T,guardPendingApprovals:!1}),{showConfig:k,showToolApprovals:R,modelId:S,contextWindow:I,temperature:w,interleavedThinking:C,baseUrl:b,apiKeyDraft:y,apiKeyMasked:x,openConfig:l,closeConfig:t,applyConfig:V$,openToolApprovals:u$,applyToolApprovals:O$}=L,q$=FY({store:Y,sessionsApi:X,showToast:T}),{showSessions:m,showSwitchConfirm:a,switchConfirmTitle:d,switchConfirmTargetLabel:i,switchConfirmReason:n,confirmSwitch:h,cancelSwitch:_$,sessionsLoading:H$,sessionsDeleteArmed:D$,sessionsList:j$,sessionsIndex:r$,refreshSessions:Z4,openSessionsDialog:y4,openSelectedSession:P4,createNewSession:m4}=q$,V4=NY({store:Y,cols:Q,rows:J,nodeLike:V}),{showPathPicker:Q6,pathPickerMode:c4,pathPickerQuery:e$,pathPickerError:W4,pickerWorkspace:p4,pickerW:E6,pickerH:R4,pathPickerTitle:h6,pathPickerPlaceholder:D1,openPathPicker:E1,closePathPicker:n6}=V4;BY({store:Y,nodeLike:V,showToast:T});let I6=[{value:"/sessions",detail:"List/pick sessions",onSelect:()=>{y4(),K.value="",q.value=[]}},{value:"/settings",detail:"Configure model + API",onSelect:()=>{l(),K.value="",q.value=[]}},{value:"/new",detail:"Start a new session",onSelect:()=>{m4(),K.value="",q.value=[]}},{value:"/approvals",detail:"Configure tool approvals (auto/all)",onSelect:()=>{K.value="/approvals",b5()}}];nS(B,(o)=>{Y.setFocusFiles(o)});let d4=$4(()=>{return[...ZY({openSessionsDialog:()=>void y4(),createNewSession:()=>void m4(),openConfig:l,openToolApprovals:u$})]}),l4=$4(()=>d4.value.map((o)=>({label:o.label,detail:o.detail}))),b4=$4(()=>({fg:"whiteBright",bg:"black"})),x4=$4(()=>({fg:"white",dim:!0,bg:"black"})),B4=$4(()=>({fg:"whiteBright",bg:"blackBright"})),L$=$4(()=>({fg:"whiteBright",bg:"blackBright"})),d$=$4(()=>({fg:"blueBright",bg:"blackBright"})),w4=$4(()=>Q.value>=70&&J.value>=26),G$=$4(()=>w4.value?1:0),E$=$4(()=>w4.value?2:1),P$=$4(()=>w4.value?rS("goat",G$.value):["goat"]),R$=$4(()=>w4.value?iS:1),C$=$4(()=>k$(P$.value[0]??"")),p$=$4(()=>C$.value+E$.value),v=$4(()=>Math.max(0,Math.floor((Q.value-p$.value)/2))),g=$4(()=>{let o=Math.max(0,Math.floor(Q.value));if(o<=0)return 0;let Y4=Math.min(44,o),E4=Math.max(Y4,o-8);return K4(Math.floor(o*0.72),Y4,E4)}),r=$4(()=>Math.max(0,Math.floor((Q.value-g.value)/2))),J$=2,U$=$4(()=>r.value+1+J$),Y$=$4(()=>Math.max(0,g.value-1-J$)),Z$=$4(()=>Math.max(1,Y$.value)),A$=$4(()=>{if(!K.value)return 1;let o=Z$.value;if(o<=0)return 1;let Y4=x4$(K.value,q.value);return Math.max(1,c1(Y4,o).length)}),I$=$4(()=>K4(A$.value,1,7)),b$=1,l$=1,s$=$4(()=>b$+I$.value+l$+1+b$),z4=2,i$=$4(()=>{let o=Math.max(1,J.value-z4-R$.value-s$.value-3);return K4(Math.floor(J.value*0.32),1,o)}),t$=$4(()=>i$.value+R$.value+4),i4=$4(()=>t$.value+s$.value-1),G6=$4(()=>t$.value+b$),F4=$4(()=>G6.value+I$.value+l$),y$=$4(()=>Array.from({length:Math.max(0,s$.value)},()=>"┃").join(`
857
+ `)),x$=$4(()=>N.value||Q6.value||m.value||k.value||R.value||O.value);function n$(){if(V)return;try{globalThis.document?.querySelector?.("[data-vt-host] textarea")?.focus?.()}catch{}}function c$(){let o=_.value;if(!o||typeof o.debugNodes!=="function"||typeof o.focus!=="function")return;let Y4=Math.floor(U$.value),E4=Math.floor(G6.value),V6=Math.floor(Y$.value),v0=Math.floor(I$.value),C0=(o.debugNodes?.()??[]).filter((u6)=>u6?.visible&&u6?.focusable),X8=C0.find((u6)=>{let q6=u6?.rect;return q6&&q6.x===Y4&&q6.y===E4&&q6.w===V6&&q6.h===v0});if(X8?.id){o.focus(X8.id);return}let y0=Y4+Math.floor(Math.max(0,V6-1)/2),WU=E4+Math.floor(Math.max(0,v0-1)/2),b0=C0.filter((u6)=>{let q6=u6?.rect;return q6&&y0>=q6.x&&WU>=q6.y&&y0<q6.x+q6.w&&WU<q6.y+q6.h});b0.sort((u6,q6)=>{let Z_=u6?.zIndex??0,g5=q6?.zIndex??0;if(g5!==Z_)return g5-Z_;let h5=u6?.rect??{w:0,h:0},u5=q6?.rect??{w:0,h:0};return h5.w*h5.h-u5.w*u5.h});let Z2=b0[0];if(Z2?.id)o.focus(Z2.id)}nS(x$,(o)=>{if(o)return;setTimeout(()=>{n$(),c$()},0)});let J4=$4(()=>{return{build:"■",label:String(Y.state.config.model??"model")}}),h$=$4(()=>H.value),N4=" ",H4=$4(()=>"tab"),_6=$4(()=>"mode"),s4=$4(()=>"ctrl+p"),Y6=$4(()=>"commands"),r4=$4(()=>{return k$(H4.value)+1+k$(_6.value)+k$(N4)+k$(s4.value)+1+k$(Y6.value)}),O4=$4(()=>{let o=r4.value;if(o<=0)return 0;let Y4=r.value+g.value-o,E4=Math.max(0,Q.value-o);return K4(Y4,0,E4)}),o4=$4(()=>i4.value+2),KU=$4(()=>o4.value>=0&&o4.value<=J.value-z4-1&&O4.value+r4.value<=Q.value),a1=$4(()=>{return p4.value}),x1=$4(()=>{let o=Y.state.context?.env??{},Y4=o.GOATCHAIN_VERSION||o.VUE_TERMINAL_VERSION;return Y4?`v${Y4}`:""});function I0(o){$.push(o)}function PY(o){Y.setCwd(o)}async function b5(){let Y4=b4$(K.value,q.value).trim(),E4=B.value;if(!Y4&&E4.length===0)return;let V6=KY(Y4);if(V6.kind==="approvals"){u$(),K.value="",q.value=[];return}if(V6.kind==="approvals_invalid_args"){T("Use /approvals (no on/off)."),K.value="",q.value=[];return}if(V6.kind==="settings"){l(),K.value="",q.value=[];return}if(V6.kind==="sessions"){await y4(),K.value="",q.value=[];return}if(V6.kind==="new"){await m4(),K.value="",q.value=[];return}if(V6.kind==="redo"){T("Redo is only available in the chat view."),K.value="",q.value=[];return}if(K.value="",q.value=[],I0("chat"),E4.length>0)Y.sendUserInput({content:Y4,focusFiles:E4});else Y.sendUser(Y4);B.value=[]}function fY(){N.value=!0,W.value=0}function ZU(){N.value=!1}function x5(o){if(x$.value)return;if(o?.key==="Tab"&&!o?.metaKey&&!o?.ctrlKey&&!o?.altKey)o?.stopPropagation?.(),o?.preventDefault?.(),z(o.shiftKey?-1:1)}function Y8(o){if(o?.defaultPrevented)return;if((o?.ctrlKey||o?.metaKey)&&(o?.key==="p"||o?.key==="P")){o?.preventDefault?.(),fY();return}if((o?.ctrlKey||o?.metaKey)&&(o?.key==="k"||o?.key==="K")){o?.preventDefault?.(),l();return}if(o?.key==="Tab"&&!o?.metaKey&&!o?.ctrlKey&&!o?.altKey){o?.preventDefault?.(),z(o.shiftKey?-1:1);return}if(o?.key==="Escape")o?.preventDefault?.(),K.value="",q.value=[]}function LY(o){if(ZU(),!o)return;d4.value.find((E4)=>E4.label===o)?.run()}return()=>n4(v4,{x:0,y:0,w:Q.value,h:J.value,zIndex:0,focusable:!1,onKeydownCapture:x5},()=>[n4($$,{key:"bg",x:0,y:0,w:Q.value,h:J.value,value:"",style:b4.value,zIndex:-100}),n4($$,{key:"logo-shadow-open",x:v.value+1,y:i$.value+1,value:P$.value.join(`
858
+ `),style:{fg:"blackBright",dim:!0,bg:"black"},zIndex:-70}),n4($$,{key:"logo-open",x:v.value,y:i$.value,value:P$.value.join(`
859
+ `),style:{fg:"white",dim:!0,bold:!0,bg:"black"},zIndex:-60}),n4($$,{key:"panel-fill",x:r.value,y:t$.value,w:g.value,h:s$.value,value:"",style:B4.value,zIndex:-20}),n4($$,{key:"panel-accent",x:r.value,y:t$.value,w:1,h:s$.value,value:y$.value,style:d$.value,zIndex:-19}),n4(v4,{key:"panel-hit",x:r.value,y:t$.value,w:g.value,h:s$.value,zIndex:10,focusable:!1,onPointerdownCapture:()=>{n$(),c$()}}),n4(D6,{key:"prompt-input",x:U$.value,y:G6.value,w:Y$.value,h:I$.value,modelValue:K.value,"onUpdate:modelValue":(o)=>K.value=o,autoFocus:!x$.value&&!Z.value,cursorShape:"bar",cursorBlink:!1,placeholder:"Ask anything... (newline: Shift+Enter or Ctrl+J)",placeholderWhenFocused:!0,style:L$.value,promptSuggestions:I6,mentionWorkspace:V?p4.value:"",mentionMode:"any",collectMentions:!0,mentions:B.value,"onUpdate:mentions":(o)=>B.value=[...o],onMentionClick:(o)=>{E1("file",o)},collapseMultiline:!0,multilineTexts:q.value,"onUpdate:multilineTexts":(o)=>q.value=[...o],onMultilineClick:A,onChange:()=>void b5(),onKeydown:(o)=>Y8(o),onFocus:()=>{Z.value=!0},onBlur:()=>Z.value=!1,zIndex:11}),(()=>{let o=F4.value,Y4=J4.value.build,E4=J4.value.label,V6=k$(Y4),v0=k$(E4),C0=V6+1+v0,X8=2,y0=U$.value+Math.max(0,Z$.value-C0-2),WU=Math.max(0,y0-U$.value-1),b0=[];if(WU>0){let Z2=h$.value,u6=` ${Z2.toUpperCase()} `,q6=Z2==="plan"?"magentaBright":"greenBright",Z_=Math.min(WU,k$(u6));b0.push(n4($$,{key:"panel-mode",x:U$.value,y:o,w:Z_,value:u6,style:{fg:"black",bg:q6,bold:!0},zIndex:-18}))}return b0.push(n4($$,{key:"model-chip",x:y0,y:o,value:Y4,style:{fg:"blueBright",bold:!0,bg:"blackBright"},zIndex:-18})),b0.push(n4($$,{key:"model-label",x:y0+V6+1,y:o,w:Math.max(0,U$.value+Z$.value-(y0+V6+1)),value:E4,style:{fg:"whiteBright",dim:!0,bg:"blackBright"},zIndex:-18})),b0})(),KU.value?[n4($$,{key:"hints-bg",x:O4.value,y:o4.value,w:r4.value,value:"",style:{bg:"black"},zIndex:4}),n4($$,{key:"hints-key1",x:O4.value,y:o4.value,value:H4.value,style:{fg:"whiteBright",bold:!0,bg:"black"},clear:!1,zIndex:5}),n4($$,{key:"hints-label1",x:O4.value+k$(H4.value)+1,y:o4.value,value:_6.value,style:{fg:"white",dim:!0,bg:"black"},clear:!1,zIndex:5}),n4($$,{key:"hints-key2",x:O4.value+k$(H4.value)+1+k$(_6.value)+k$(N4),y:o4.value,value:s4.value,style:{fg:"whiteBright",bold:!0,bg:"black"},clear:!1,zIndex:5}),n4($$,{key:"hints-label2",x:O4.value+k$(H4.value)+1+k$(_6.value)+k$(N4)+k$(s4.value)+1,y:o4.value,value:Y6.value,style:{fg:"white",dim:!0,bg:"black"},clear:!1,zIndex:5})]:null,J.value>0?n4($$,{key:"footer-bg",x:0,y:J.value-z4,w:Q.value,value:"",style:b4.value,zIndex:20}):null,J.value>0?n4($$,{key:"footer-left",x:2,y:J.value-z4,w:Math.max(0,Q.value-4),value:`cwd ${a1.value}`,style:x4.value,clear:!1,zIndex:21}):null,J.value>0&&x1.value?n4($$,{key:"footer-right",x:Math.max(2,Q.value-2-k$(x1.value)),y:J.value-z4,value:x1.value,style:x4.value,clear:!1,zIndex:21}):null,n4(nG,{modelValue:N.value,"onUpdate:modelValue":(o)=>N.value=o,title:"Commands",options:l4.value,selectedIndex:W.value,"onUpdate:selectedIndex":(o)=>W.value=o,onSelect:(o)=>LY(o),onClose:ZU}),n4(oG,{modelValue:Q6.value,"onUpdate:modelValue":(o)=>{if(!o)n6();else Q6.value=!0},w:E6.value,h:R4.value,title:h6.value,workspace:p4.value,mode:c4.value,query:e$.value,"onUpdate:query":(o)=>e$.value=o,placeholder:D1.value,onInvalid:(o)=>W4.value=o,onSelect:(o)=>{if(c4.value==="directory")PY(o);else if(!B.value.includes(o))B.value=[...B.value,o];n6()},onClose:n6}),n4(aG,{modelValue:m.value,"onUpdate:modelValue":(o)=>{if(m.value=o,!o)D$.value=!1},loading:H$.value,deleteArmed:D$.value,sessions:j$.value,selectedIndex:r$.value,"onUpdate:selectedIndex":(o)=>{r$.value=o,D$.value=!1},onOpen:async()=>{await P4({after:async()=>I0("chat")})},onNew:async()=>{await m4()},onDelete:async()=>{let o=X,Y4=j$.value[r$.value];if(!o||!Y4)return;let E4=r$.value;if(!D$.value){D$.value=!0,T("Press Delete again to confirm.");return}D$.value=!1,await o.delete(Y4.id),await Z4({preferIndex:E4})},onRefresh:async()=>{D$.value=!1,await Z4()}}),n4(eG,{modelValue:a.value,"onUpdate:modelValue":(o)=>{if(a.value=o,!o)_$()},title:d.value,targetLabel:i.value,reason:n.value,onConfirm:()=>void h()}),n4(sG,{modelValue:k.value,"onUpdate:modelValue":(o)=>k.value=o,w:K4(Math.floor(Q.value*0.78),56,84),h:K4(24,18,Math.max(18,J.value-4)),modelId:S.value,"onUpdate:modelId":(o)=>S.value=o,contextWindow:I.value,"onUpdate:contextWindow":(o)=>I.value=o,temperature:w.value,"onUpdate:temperature":(o)=>w.value=o,interleavedThinking:C.value,"onUpdate:interleavedThinking":(o)=>C.value=o,baseUrl:b.value,"onUpdate:baseUrl":(o)=>b.value=o,apiKeyDraft:y.value,"onUpdate:apiKeyDraft":(o)=>y.value=o,apiKeyMasked:x.value,onApply:V$,onCancel:t}),n4(_Y,{modelValue:R.value,"onUpdate:modelValue":(o)=>R.value=o,mode:String(Y.state.approval.mode??"auto"),w:K4(Math.floor(Q.value*0.62),46,86),h:K4(14,11,Math.max(11,J.value-6)),onSelect:(o)=>{O$(o),R.value=!1}}),...YY({notification:Y.upgradeNotification?.value,cols:Q.value,onDismiss:()=>{Y.dismissUpgradeNotification?.()}}),...QY({visible:f,text:j,cols:Q}),n4(HG,{visible:O.value,content:M.value,title:P.value,onClose:E,zIndex:2000})])}});import{defineComponent as X6$,h as FI,inject as V6$,onUnmounted as K6$,provide as Z6$,ref as qI}from"vue";import{computed as OY,reactive as G6$,watch as ZI}from"vue";function g4$($,U){let _=$.replace(/\[/g,"\\[").replace(/\]/g,"\\]"),Q=U.replace(/\)/g,"\\)");return`- [${_}](<${Q}>)`}function h4$($){let U=($??[]).map((Q)=>String(Q??"")).filter(Boolean);if(!U.length)return"";return`[focus_files]
860
+ ${U.map((Q)=>{let J=String(Q??""),G=J.split(/[/\\]/).filter(Boolean).pop()??J;return g4$(G,J)}).join(`
861
+ `)}
862
+
863
+ `}function u4$($){return{id:$.id,type:"function",function:{name:$.name,arguments:$.arguments}}}function m4$($){if($.role==="user")return{role:"user",content:`${h4$($.focusFiles)}${$.content??""}`};if($.role==="tool")return{role:"tool",tool_call_id:$.result.id,content:$.result.output,metadata:$.result.status==="error"?{error:!0}:void 0};let U=$.parts.filter((J)=>J.type==="markdown").map((J)=>J.markdown).join(""),_=$.parts.flatMap((J)=>J.type==="tool_call"?[J.call]:[]),Q=_.length?_.map(u4$):void 0;if(!U&&(!Q||Q.length===0))return null;return{role:"assistant",content:U||"",tool_calls:Q}}function c4$($){if($.role!=="assistant")return!1;let U=$.parts.find((Q)=>Q.type==="status");if(U?.type==="status"&&U.text==="Interrupted.")return!0;return $.parts.filter((Q)=>Q.type==="markdown").map((Q)=>String(Q.markdown??"")).join(`
864
+ `).includes("> **Interrupted** · Response canceled by user (`Esc`).")}function d4$($){let U=[];for(let _ of $.parts)if(_.type==="tool_call")U.push(String(_.call.id??"").trim());else if(_.type==="tool_output")U.push(String(_.toolCallId??"").trim());else if(_.type==="tool_result")U.push(String(_.result.id??"").trim());return U.filter(Boolean)}function TH($){let U=[],_=new Set;for(let Q of $){if(Q.role==="tool"&&_.has(String(Q.result.id??"").trim()))continue;if(Q.role==="assistant"&&c4$(Q)){if(U.length&&U[U.length-1]?.role==="user")U.pop();for(let J of d4$(Q))_.add(J);continue}U.push(Q)}return U}function oS($,U){let _=[];_.push({role:"system",content:String($??"")});for(let Q of TH(U)){let J=m4$(Q);if(J)_.push(J)}return _}function aS($){let U=(G)=>String($?.[G]??"").trim();return{str:U,bool:(G)=>{let Y=U(G).toLowerCase();if(!Y)return;if(Y==="1"||Y==="true"||Y==="yes"||Y==="on")return!0;if(Y==="0"||Y==="false"||Y==="no"||Y==="off")return!1;return},int:(G)=>{let Y=U(G);if(!Y)return;let X=Number.parseInt(Y,10);return Number.isFinite(X)?X:void 0},float:(G)=>{let Y=U(G);if(!Y)return;let X=Number.parseFloat(Y);return Number.isFinite(X)?X:void 0}}}function tS($){let U=$.str("GOATCHAIN_TOOL_APPROVALS").toLowerCase(),_=U==="all"?"all":"auto";if(!U)return $.bool("GOATCHAIN_SKIP_APPROVAL")?"all":"auto";return _}function eS($){return{model:$.str("GOATCHAIN_MODEL")||"deepseek-v3.1",context_window:$.int("GOATCHAIN_CONTEXT_WINDOW")||128000,temperature:$.float("GOATCHAIN_TEMPERATURE")??0.7,interleaved_thinking:$.bool("GOATCHAIN_INTERLEAVED_THINKING")??!1}}function sS($){return $.str("GOATCHAIN_SESSION_ID")||""}function $I($){return{idleMs:$.int("GOATCHAIN_STREAM_IDLE_TIMEOUT_MS")??90000,totalMs:$.int("GOATCHAIN_STREAM_TOTAL_TIMEOUT_MS")??300000}}function SH($){if(!$)return"Unknown error.";if($ instanceof Error)return $.stack||$.message||String($);if(typeof $==="string")return $.trim()?$:"Unknown error.";if(typeof $==="object"){let U=$?.message;if(typeof U==="string"&&U.trim())return U.trim()}try{return sJ($)}catch{return String($)}}function VU($,U){let _=Boolean(String(U?.OPENAI_API_KEY??"").trim()),Q=$.toLowerCase();if(Q.includes("max_tokens")||Q.includes("max tokens")||Q.includes("context length")||Q.includes("token")&&Q.includes("limit"))return"Hint: reduce context size by starting a new session or summarizing previous messages.";if(!_||Q.includes("api key")||Q.includes("openai_api_key")||Q.includes("unauthorized")||Q.includes("401"))return"Hint: set `OPENAI_API_KEY` via `/settings` (or Ctrl+K), then retry.";if(Q.includes("etimedout")||Q.includes("timeout")||Q.includes("econnreset")||Q.includes("enotfound")||Q.includes("fetch failed"))return"Hint: check network / proxy / `GOATCHAIN_OPENAI_BASE_URL`, then retry.";return null}function l4$($){let _=String($??"").replace(/\\/g,"/").split("/").filter(Boolean);return(_[_.length-1]??"").trim()}function _I($){let U=l4$($).toLowerCase();if(!U)return null;if(U==="dockerfile")return"dockerfile";if(U==="makefile")return"make";if(U.endsWith(".d.ts"))return"ts";switch(U.includes(".")?U.split(".").pop()??"":""){case"ts":return"ts";case"tsx":return"tsx";case"js":return"js";case"jsx":return"jsx";case"mjs":return"js";case"cjs":return"js";case"json":return"json";case"jsonc":return"jsonc";case"md":return"md";case"vue":return"vue";case"html":return"html";case"css":return"css";case"scss":return"scss";case"less":return"less";case"yml":return"yaml";case"yaml":return"yaml";case"toml":return"toml";case"xml":return"xml";case"sql":return"sql";case"sh":return"bash";case"bash":return"bash";case"zsh":return"bash";case"fish":return"fish";case"py":return"python";case"go":return"go";case"rs":return"rust";case"c":return"c";case"cc":return"cpp";case"cpp":return"cpp";case"h":return"cpp";case"hpp":return"cpp";case"java":return"java";case"kt":return"kotlin";case"swift":return"swift";case"rb":return"ruby";case"php":return"php";case"diff":return"diff";case"patch":return"diff";case"graphql":return"graphql";case"gql":return"graphql";default:return"text"}}function UI($){let _=String($??"").trim().match(/^#?([0-9a-f]{6})([0-9a-f]{2})?$/i);if(!_)return null;let Q=_[1],J=Number.parseInt(Q.slice(0,2),16),G=Number.parseInt(Q.slice(2,4),16),Y=Number.parseInt(Q.slice(4,6),16);return Number.isFinite(J)&&Number.isFinite(G)&&Number.isFinite(Y)?{r:J,g:G,b:Y}:null}function IH($){return`\x1B[${$.join(";")}m`}function i4$($){return IH([38,2,$.r,$.g,$.b])}function r4$($){let U=Number($??0),_=[];if(U&2)_.push(1);if(U&1)_.push(3);if(U&4)_.push(4);return _}function n4$($,U){let _=String($??"").replace(/\r/g,"").split(`
865
+ `);if(_.length<=U)return{text:_.join(`
866
+ `),truncated:!1};return{text:_.slice(0,U).join(`
867
+ `),truncated:!0}}async function JI($){let U=String($.language??"").trim()||"text",_=String($.theme??"github-dark").trim()||"github-dark",Q=Math.max(1,Math.floor($.maxLines??24)),G=n4$($.code,Q).text;if(!G.trim())return null;try{let Y=await import("shiki"),X=Y.codeToTokensBase,V=Y.getSingletonHighlighter;if(typeof X!=="function"||typeof V!=="function")return null;let K=await X(G,{lang:U,theme:_}),Z=await V(),N=Z?.getTheme?Z.getTheme(_):null,W=String(N?.fg??"#ffffff"),B=UI(W)??{r:255,g:255,b:255},q="";for(let O=0;O<K.length;O++){let M=K[O];for(let P of M){let H=UI(P?.color)??B,z=r4$(P?.fontStyle);if(q+=i4$(H),z.length)q+=IH(z);q+=String(P?.content??""),q+=IH([0])}if(O<K.length-1)q+=`
868
+ `}return q}catch{return null}}function p4$($,U,_){let Q=$.find((G)=>G.id===U);if(!Q||Q.role!=="assistant")return null;let J=Q.parts.find((G)=>G.type==="tool_call"&&G.call.id===_);return J?.call?.name?String(J.call.name):null}function o4$($,U,_){let Q=$.find((G)=>G.id===U);if(!Q||Q.role!=="assistant")return null;let J=Q.parts.find((G)=>G.type==="tool_call"&&G.call.id===_);return J?.call?J.call:null}function a4$($){let U=$??{},_=[U.file_path,U.filePath,U.path];for(let Q of _)if(typeof Q==="string"&&Q.trim())return Q.trim();return null}function t4$($,U){return!1}function QI($){let U=String($.result.id??"").trim();if(!U)return;let _=p4$($.state.messages,$.assistantId,U),Q=o4$($.state.messages,$.assistantId,U),J=a4$(Q?.arguments);if(!t4$(_,J))return;let G=_I(J);if(!G)return;(async()=>{let Y=await JI({code:$.result.output,language:G,maxLines:10});if(!Y||!Y.trim())return;$.updateAssistant($.assistantId,(X)=>{let V=X.parts.slice(),K=V.findIndex((N)=>N.type==="tool_result"&&N.result.id===U);if(K<0)return X;let Z=V[K];if(Z.result.output!==$.result.output)return X;if(Z.result.outputAnsi&&Z.result.outputAnsi.trim())return X;return V[K]={type:"tool_result",result:{...Z.result,outputAnsi:Y}},{...X,parts:V}})})()}var e4$=0;function Q8($){return`${$}_${Date.now()}_${e4$++}`}import{computed as GI}from"vue";function YI($){function U(f){$.messages.push(f)}function _(f,j){let T=$.messages.findIndex((L)=>L.id===f);if(T>=0)$.messages[T]=j}function Q(f,j){let T=$.messages.find((L)=>L.id===f);if(!T||T.role!=="assistant")return;_(f,j(T))}function J(f,j){Q(f,(T)=>{let L=T.parts.map((k)=>k.type==="status"?{type:"status",text:j}:k);return{...T,parts:L}})}function G(f,j,T){let L=String(j??"");Q(f,(k)=>{let R=k.parts.slice(),S=-1;if(T!==void 0){let w=0;for(let C=0;C<R.length;C++)if(R[C].type==="thinking"){if(w===T){S=C;break}w++}}else S=R.findLastIndex((w)=>w.type==="thinking");if(S>=0){let w=R[S];return R[S]={type:"thinking",title:w.title,collapsed:w.collapsed,content:L},{...k,parts:R}}let I=Math.max(0,R.findIndex((w)=>w.type==="status")+1);return R.splice(I,0,{type:"thinking",title:"Thinking",collapsed:!1,content:L}),{...k,parts:R}})}function Y(f){Q(f,(j)=>{let T=j.parts.slice();return T.push({type:"thinking",title:"Thinking",collapsed:!0,content:""}),{...j,parts:T}})}function X(f,j,T){Q(f,(L)=>{let k=L.parts.slice(),R=-1,S=0;for(let I=0;I<k.length;I++)if(k[I].type==="thinking"){if(S===j){R=I;break}S++}if(R>=0){let I=k[R];return k[R]={type:"thinking",title:I.title,collapsed:I.collapsed,content:T!==void 0?T:I.content},{...L,parts:k}}return L})}function V(f,j){let T=String(j??"");if(!T)return;Q(f,(L)=>{let k=L.parts[L.parts.length-1];if(k?.type==="markdown"){let S=L.parts.slice();return S[L.parts.length-1]={type:"markdown",markdown:`${k.markdown}${T}`},{...L,parts:S}}let R=[...L.parts,{type:"markdown",markdown:T}];return{...L,parts:R}})}function K(f,j,T,L){let k=String(j??"").trim();if(!k)return;let R=String(T??"").trim()||"tool",S=String(L??"");Q(f,(I)=>{let w=I.parts.slice(),C=w.findIndex((y)=>y.type==="tool_call"&&y.call.id===k);if(C>=0){let y=w[C],x=y.call.argumentsText??"",l={...y.call,name:R,argumentsText:`${x}${S}`};return w[C]={type:"tool_call",call:l},{...I,parts:w}}let b={id:k,name:R,arguments:{},argumentsText:S};return w.push({type:"tool_call",call:b}),{...I,parts:w}})}function Z(f,j,T,L){let k=String(j??"").trim();if(!k)return;Q(f,(R)=>{let S=R.parts.slice(),I=S.findIndex((y)=>y.type==="tool_call"&&y.call.id===k),w=I>=0&&S[I]?.type==="tool_call"?S[I].call.argumentsText:void 0,b={type:"tool_call",call:{id:k,name:T,arguments:L,argumentsText:w}};if(I>=0)S[I]=b;else S.push(b);return{...R,parts:S}})}function N(f,j,T){let L=String(j??"").trim();if(!L)return;let k=String(T??"").trim()||"tool";Q(f,(R)=>{let S=R.parts.slice(),I=S.findIndex((b)=>b.type==="tool_output"&&b.toolCallId===L),w={type:"tool_output",toolCallId:L,toolName:k,output:""};if(I>=0)return S[I]=w,{...R,parts:S};let C=S.findIndex((b)=>b.type==="tool_call"&&b.call.id===L);if(C>=0){let b=C+1;while(b<S.length&&S[b]?.type==="approve"&&S[b]?.request?.toolCallId===L)b++;S.splice(b,0,w)}else S.push(w);return{...R,parts:S}})}function W(f,j,T,L){let k=String(j??"").trim();if(!k)return;let R=String(L??"");if(!R)return;let S=String(T??"").trim()||"tool";Q(f,(I)=>{let w=I.parts.slice(),C=w.findIndex((x)=>x.type==="tool_output"&&x.toolCallId===k);if(C>=0){let x=w[C];return w[C]={type:"tool_output",toolCallId:k,toolName:x.toolName||S,output:`${x.output}${R}`},{...I,parts:w}}let b={type:"tool_output",toolCallId:k,toolName:S,output:R},y=w.findIndex((x)=>x.type==="tool_call"&&x.call.id===k);if(y>=0){let x=y+1;while(x<w.length&&w[x]?.type==="approve"&&w[x]?.request?.toolCallId===k)x++;w.splice(x,0,b)}else w.push(b);return{...I,parts:w}})}function B(f,j){let T=String(j.id??"").trim();if(!T)return;Q(f,(L)=>{let k=L.parts.slice(),R=k.findIndex((w)=>w.type==="tool_call"&&w.call.id===T),I=k.filter((w)=>!(w.type==="tool_result"&&w.result.id===T)).slice();if(R>=0){let w=I.findIndex((C)=>C.type==="tool_call"&&C.call.id===T);if(w>=0){let C=w+1;while(C<I.length&&I[C]?.type==="approve"&&I[C]?.request?.toolCallId===T)C++;while(C<I.length&&I[C]?.type==="tool_output"&&I[C]?.toolCallId===T)C++;I.splice(C,0,{type:"tool_result",result:j})}else I.push({type:"tool_result",result:j})}else I.push({type:"tool_result",result:j});return{...L,parts:I}})}function q(f,j){Q(f,(T)=>{if(T.parts.some((S)=>S.type==="approve"&&S.request.toolCallId===j.toolCallId&&S.request.status==="pending"))return T;let k=T.parts.slice(),R=k.findIndex((S)=>S.type==="tool_call"&&S.call.id===j.toolCallId);if(R>=0)k.splice(R+1,0,{type:"approve",request:j});else k.push({type:"approve",request:j});return{...T,parts:k}})}function O(f,j,T){let L=$.messages.find((R)=>R.id===f);if(!L||L.role!=="assistant")return;let k=L.parts.map((R)=>{if(R.type!==j)return R;return{...R,items:R.items.map((S)=>S.id===T?{...S,done:!S.done}:S)}});_(f,{...L,parts:k})}function M(f,j,T){let L=$.messages.find((R)=>R.id===f);if(!L||L.role!=="assistant")return;let k=L.parts.map((R,S)=>{if(R.type!==j)return R;if(T!==void 0&&S!==T)return R;return{...R,collapsed:!R.collapsed}});_(f,{...L,parts:k})}function P(f){let j=$.messages.findIndex((L)=>L.id===f);if(j<0)return 0;let T=$.messages.splice(j);return $.revertedMessages=T,T.length}function H(){if($.revertedMessages.length===0)return 0;let f=$.revertedMessages.length;return $.messages.push(...$.revertedMessages),$.revertedMessages=[],f}function z(){$.revertedMessages=[]}let A=GI(()=>$.revertedMessages.length>0),E=GI(()=>$.revertedMessages.length);function D(f,j,T,L){let k=L?.todos;if(!Array.isArray(k))return;let R=k.map((I,w)=>({id:`${T}:${w}`,text:String(I?.content??"").trim(),done:String(I?.status??"")==="completed"})).filter((I)=>Boolean(I.text));if(R.length===0)return;let S=j==="plan"?"Plan":"Todo";Q(f,(I)=>{let w=I.parts.slice(),C=w.findIndex((b)=>b.type===j&&b.title===S);if(C>=0){let b=w[C];return w[C]={type:j,title:S,collapsed:Boolean(b?.collapsed),items:R},{...I,parts:w}}return w.push({type:j,title:S,collapsed:!1,items:R}),{...I,parts:w}})}return{pushMessage:U,replaceMessage:_,updateAssistant:Q,setAssistantStatus:J,setAssistantThinking:G,startNewThinkingBlock:Y,endThinkingBlock:X,appendAssistantMarkdown:V,upsertToolCallDelta:K,upsertToolCallEnd:Z,upsertToolOutputStart:N,appendToolOutputDelta:W,attachToolResultPart:B,insertApprovalPart:q,toggleChecklist:O,toggleBlockCollapsed:M,revertFromMessage:P,restoreRevertedMessages:H,clearRevertedMessages:z,hasRevertedMessages:A,revertedMessageCount:E,upsertChecklistPartFromGoatChain:D}}var s4$=["iteration_start","text_delta","thinking_start","thinking_delta","thinking_end","tool_call_start","tool_call_delta","tool_call_end","tool_output_start","tool_output_delta","tool_result","tool_approval_requested","requires_action","tool_skipped","iteration_end","done","error"];function XI($){let U=$?.metadata?.originalEventType;return s4$.includes(U)?U:null}function G8($){if(!$)return"";if(typeof $==="string")return $;if(Array.isArray($))return $.map((U)=>String(U?.text??"")).join("");return""}var $6$=180;function vH($){return Y0($).replace(/\s+/g," ").trim()}function U6$($,U){if($.length<=U)return $;if(U<=3)return $.slice(0,U);return`${$.slice(0,U-3).trimEnd()}...`}function _6$($,U){if(!U||typeof U!=="object"||Array.isArray(U))return null;let _=U;if(String($??"").toLowerCase()==="bash"){let G=typeof _.command==="string"?vH(_.command):"",Y=typeof _.description==="string"?vH(_.description):"";if(G&&Y)return`Command: ${G} - ${Y}`;if(G)return`Command: ${G}`;if(Y)return`Description: ${Y}`}let J=vH(sJ(_));if(!J||J==="{}"||J==="null")return null;return`Args: ${J}`}function J6$($,U,_){let Q=_6$(U,_);if(!Q)return $;return`${$} ${U6$(Q,$6$)}`}function VI($){let Q=25,J=null,G=null,Y=null,X=null;function V(){return new Promise((j)=>{let T=globalThis.setImmediate;if(typeof T==="function")T(j);else setTimeout(j,0)})}function K(){let j=Y;Y=null;try{j?.abort()}catch{}}function Z(){let j=J;if(J=null,K(),!j)return;try{j.return?.()}catch{}}function N(){let j=null;return{promise:new Promise((L)=>{j=L}),resolve:()=>j?.()}}function W(){let j=G;G=null,K(),j?.resolve()}function B(j,T){let L=$.state.messages.find((R)=>R.id===j);if(!L||L.role!=="assistant")return null;let k=L.parts.find((R)=>R.type==="tool_call"&&R.call.id===T);return k?.call?.name?String(k.call.name):null}let q=-1,O=new Map;function M(j){let T=String(j??"").trim();if(!T)return null;let L=$.state.messages.length;if(L!==q)O.clear(),q=L;let k=O.get(T);if(k)return k;for(let R=$.state.messages.length-1;R>=0;R--){let S=$.state.messages[R];if(!S||S.role!=="assistant")continue;for(let I of S.parts)if(I.type==="tool_call"&&I.call.id===T){let w=String(I.call.name??"").trim()||"tool",C={assistantId:S.id,toolName:w};return O.set(T,C),C}}return null}function P(j){let T=String(j??"").trim();if(!T)return null;for(let L=$.state.messages.length-1;L>=0;L--){let k=$.state.messages[L];if(!k||k.role!=="assistant")continue;for(let R of k.parts)if(R.type==="tool_call"&&R.call.id===T){let S=R.call.arguments;if(S&&typeof S==="object"&&!Array.isArray(S))return S;return null}}return null}function H(j,T){let L=String(j?.tool_call_id??j?.toolCallId??j?.callId??"").trim();if(!L)return C4("missing_tool_call_id",{session_id:String($.state.sessionId??""),event_type:T.eventType,assistant_id:T.assistantId,metadata_keys:Object.keys(j??{}).filter((k)=>k.toLowerCase().includes("call")||k.toLowerCase().includes("id"))}),"";return L}let z={assistantId(j){if(!j||typeof j!=="string"||!j.trim())throw Error(`Invalid assistant ID: ${JSON.stringify(j)}`)},toolCallId(j){let T=String(j??"").trim();if(!T)throw Error("Tool call ID cannot be empty");return T},toolName(j,T="tool"){return String(j??"").trim()||T},sessionId(j){if(j&&typeof j==="string"&&!j.trim())throw Error("Session ID cannot be empty string")}};function A(j){if(!j)return j;if(j.tool_call_id&&!j.toolCallId)j.toolCallId=j.tool_call_id;if(j.callId&&!j.toolCallId)j.toolCallId=j.callId;if(j.tool_name&&!j.toolName)j.toolName=j.tool_name;return j}function E(j){let T=$.state.messages.find((L)=>L.id===j);if(!T||T.role!=="assistant")return!1;return T.parts.some((L)=>L.type==="markdown"&&Boolean(String(L.markdown??"").trim()))}function D(j){if(j.appendToExisting)return["","","> **Interrupted** · Response canceled by user (`Esc`)."].join(`
869
+ `);return"> **Interrupted** · Response canceled by user (`Esc`)."}async function f(j){let T=$.id("round");if(X!==null)return C4("agent_round_concurrent",{session_id:String($.state.sessionId??""),existing_round:X,new_round:T}),{assistantId:$.id("m"),toolCalls:[],success:!1,error:Error("Cannot run agent round while another round is already running")};X=T;try{let L=(j?.baseMessages??$.state.messages).slice(),k=String($.state.context?.system??""),R=$.buildAcpConversation(k,L),S=$.id("m");z.assistantId(S),z.sessionId($.state.sessionId),$.state.thinking.active=!1,$.pushMessage({id:S,role:"assistant",parts:[{type:"status",text:""}]});let I=String($.state.sessionId??"").trim(),w={...I?{session_id:I}:{},cwd:$.state.context.cwd,env:$.state.context.env};Y=new AbortController,w.signal=Y.signal;let C=j?.toolContext,b=$.state.approval.mode==="all"?{...C??{},approval:{...C?.approval??{},autoApprove:!0}}:C;if(b)w.toolContext=b;if(j?.toolContext)w.resume=!0;let y=()=>{let l=$.state.messages.find((V$)=>V$.id===S);if(!l||l.role!=="assistant")return"";let t=l.parts.find((V$)=>V$.type==="status");return String(t?.text??"")},x={isThinking:!1,start(){if(this.isThinking)return;this.isThinking=!0,$.state.thinking.active=!0},end(){if(!this.isThinking){if($.state.thinking.active)C4("thinking_state_inconsistent",{session_id:String($.state.sessionId??""),was_active:!0}),$.state.thinking.active=!1;return}this.isThinking=!1,$.state.thinking.active=!1;let l=y();if(/^thinking\\b/i.test(l))$.setAssistantStatus(S,"")},forceEnd(){let l=this.isThinking||$.state.thinking.active;if(this.isThinking=!1,$.state.thinking.active=!1,l){let t=y();if(/^thinking\\b/i.test(t))$.setAssistantStatus(S,"");C4("thinking_force_ended",{session_id:String($.state.sessionId??"")})}},validate(){let l=this.isThinking,t=$.state.thinking.active;if(l!==t)return C4("thinking_state_mismatch",{session_id:String($.state.sessionId??""),local_active:l,state_active:t}),!1;return!0}};try{let y4=function(e$){return{tool_result:10,tool_output_delta:9,tool_output_start:8,error:7,done:5}[e$||""]??0};$.state.runningAgentRound=!0,C4("agent_round_start",{session_id:String($.state.sessionId??""),resume:Boolean(j?.toolContext)});let l=$.agent.receiveMessage(R,w);J=l;let t=N();G=t;let V$=Date.now(),u$=V$,O$=0,q$=[],m=-1,a=V$,d=V$,i={counts:{},textChars:0,thinkingChars:0,toolArgsChars:0,toolOutputChars:0},n=()=>x.start(),h=()=>x.end(),_$=null,H$=500,D$=50,j$=null,r$=1000,Z4=32,P4=async(e$)=>{let W4=Date.now();if(!(Boolean(e$?.force)||W4-a>=Q))return;a=W4,await V()},m4=(e$,W4=1)=>{let p4=String(e$??"").trim();if(!p4)return;i.counts[p4]=(i.counts[p4]??0)+W4},V4=(e$)=>{let W4=Date.now();if(!(Boolean(e$?.force)||W4-d>=1000))return;d=W4,C4("agent_round_stats",{session_id:String($.state.sessionId??""),counts:i.counts,textChars:i.textChars,thinkingChars:i.thinkingChars,toolArgsChars:i.toolArgsChars,toolOutputChars:i.toolOutputChars})},Q6=async(e$,W4)=>{let p4=Math.max(0,Math.floor(W4));if(p4<=0)return{kind:"timeout"};let E6=null,R4=!1,h6=t.promise.then(()=>{R4=!0});try{let D1=new Promise((I6)=>{E6=setTimeout(()=>I6({kind:"timeout"}),p4)}),E1=t.promise.then(()=>({kind:"abort"})),n6=await Promise.race([E1,e$.then((I6)=>({kind:"value",value:I6})),D1]);if(R4)return{kind:"abort"};return n6}finally{if(E6)clearTimeout(E6);h6.catch(()=>{})}};while(!0){let e$=Date.now(),W4=$.streamTotalTimeoutMs-(e$-V$),E6=(j$?Math.max($.streamIdleTimeoutMs,r$*2):$.streamIdleTimeoutMs)-(e$-u$),R4=$.state.approval.active,h6=Boolean(R4)&&R4.status==="pending"&&$.state.paused?.kind==="tool_approval"&&U8($.state.approval.mode,R4),D1;if(h6){if(!_$)_$=e$;let L$=e$-_$,d$=Math.min(D$*(1+Math.floor(L$/200)),D$*4);D1=Math.min(Math.min(W4,E6),d$)}else{if(_$)C4("auto_approve_wait_end",{session_id:String($.state.sessionId??""),waited_ms:e$-_$}),_$=null;D1=Math.min(W4,E6)}let E1=await Q6(l.next(),D1);if(E1.kind==="abort"){x.forceEnd(),$.appendAssistantMarkdown(S,D({appendToExisting:E(S)})),$.state.paused=null,$.state.approval.active=null,$.state.approval.pendingAutoRun=null,$.state.approval.queue=[],$.state.approval.decisions={},$.setAssistantStatus(S,"Interrupted.");break}if(E1.kind==="timeout"){if(h6){let G$=_$?e$-_$:0;if(G$>H$||E6<=0){C4("auto_approve_timeout_trigger_resume",{session_id:String($.state.sessionId??""),waited_ms:G$,idle_left_ms:E6,total_left_ms:W4}),$.setAssistantStatus(S,"Awaiting approval…");break}else continue}if(j$){let G$=e$-j$;if(G$<=r$*2){C4("timeout_during_done_drain_extend",{session_id:String($.state.sessionId??""),drain_elapsed_ms:G$,idle_left_ms:E6,total_left_ms:W4});continue}}let L$=$.state.context?.env,d$=["Agent stream timed out.","",`idle_timeout_ms=${$.streamIdleTimeoutMs}`,`total_timeout_ms=${$.streamTotalTimeoutMs}`,...j$?[`done_received_at=${new Date(j$).toISOString()}`,`drain_elapsed_ms=${e$-j$}`]:[]].join(`
870
+ `),w4=VU(d$,L$)||"Hint: retry or start a new session if context is too large.";$.appendAssistantMarkdown(S,["# Error","","```text",d$,"```","",w4].join(`
871
+ `)),$.state.paused=null,$.state.approval.active=null,$.state.approval.pendingAutoRun=null,$.state.approval.queue=[],$.state.approval.decisions={},x.forceEnd(),K(),C4("agent_round_timeout",{session_id:String($.state.sessionId??""),idle_timeout_ms:$.streamIdleTimeoutMs,total_timeout_ms:$.streamTotalTimeoutMs,thinking_was_active:x.isThinking,auto_approve_waited_ms:_$?e$-_$:void 0,done_received:j$!==null,drain_elapsed_ms:j$?e$-j$:void 0,drain_steps:O$}),$.setAssistantStatus(S,"Error.");break}let{value:n6,done:I6}=E1.value;if(I6)break;let d4=n6;u$=Date.now();let l4=d4?.metadata;l4=A(l4);let b4=String(l4?.session_id??"").trim();if(b4&&b4!==$.state.sessionId)$.state.sessionId=b4;if(l4?.usage)$.applyUsageFromSession(l4.usage);let x4=XI(d4)??String(l4?.originalEventType??"");if(m4(x4||`${d4.role}_message`),x4==="tool_output_start"){let L$=H(l4,{eventType:x4,assistantId:S});if(L$){let d$=M(L$),w4=z.toolName(l4?.toolName??l4?.tool_name??d$?.toolName??B(S,L$)),G$=d$?.assistantId??S;$.upsertToolOutputStart(G$,L$,w4)}await P4(),V4();continue}if(x4==="tool_output_delta"){let L$=H(l4,{eventType:x4,assistantId:S});if(L$){let d$=M(L$),w4=z.toolName(l4?.toolName??l4?.tool_name??d$?.toolName??B(S,L$)),G$=d$?.assistantId??S,E$=String(l4?.delta??G8(d4.content)??"");if(E$)$.appendToolOutputDelta(G$,L$,w4,E$),i.toolOutputChars+=E$.length,await P4(),V4()}else await P4(),V4();continue}if(x4==="thinking_start"){m+=1,q$[m]="",$.startNewThinkingBlock(S),n(),await P4(),V4();continue}if(x4==="thinking_delta"){n();let L$=G8(d4.content);if(L$&&m>=0)q$[m]+=L$,$.setAssistantThinking(S,q$[m],m),i.thinkingChars+=L$.length,await P4(),V4();continue}if(x4==="thinking_end"){h();let L$=G8(d4.content);if(L$&&m>=0){let d$=q$[m];if(L$&&L$!==d$){if(d$&&L$.startsWith(d$))q$[m]=L$;else if(d$&&!d$.startsWith(L$))q$[m]+=L$;else if(!d$)q$[m]=L$}$.endThinkingBlock(S,m,q$[m])}await P4(),V4();continue}if($.state.thinking.active)h();if(x4==="tool_call_delta"){$.upsertToolCallDelta(S,String(l4?.callId??""),l4?.toolName,l4?.argsTextDelta),i.toolArgsChars+=String(l4?.argsTextDelta??"").length,await P4(),V4();continue}if(d4.role==="assistant"){let L$=d4?.metadata,d$=G8(d4.content),w4=String(d$??"").trim(),G$=(()=>{if(!w4)return!1;if((x4==="tool_approval_requested"||Boolean(L$?.approval_requested))&&/^tool approval requested:/i.test(w4))return!0;if((x4==="requires_action"||Boolean(L$?.requires_action))&&/^action required:/i.test(w4))return!0;return!1})();if(d$&&!G$)C4("stream.append",{chars:d$.length,total:i.textChars+d$.length,preview:d$.slice(0,100)}),$.appendAssistantMarkdown(S,d$),await P4(),i.textChars+=String(d$).length,V4();let E$=Array.isArray(d4.tool_calls)?d4.tool_calls:[];for(let P$ of E$){let R$=z.toolName(P$?.function?.name),C$=P$?.function?.arguments,p$={};if(C$&&typeof C$==="object"&&!Array.isArray(C$))p$=C$;else if(typeof C$==="string")try{let v=JSON.parse(C$);p$=v&&typeof v==="object"&&!Array.isArray(v)?v:{_raw:C$}}catch{p$={_raw:C$}}$.upsertToolCallEnd(S,String(P$.id??""),R$,p$)}if(E$.length)await P4();if(E$.length)V4();if(L$?.approval_requested&&L$?.tool_call_id&&L$?.tool_name){let P$=String(L$.tool_call_id),R$=String(L$.tool_name),C$=L$.risk_level,p$=L$?.approval_args??L$?.approvalArgs??L$?.args,v;if(p$&&typeof p$==="object"&&!Array.isArray(p$))v=p$;else if(typeof p$==="string"&&p$.trim())try{let I$=JSON.parse(p$);if(I$&&typeof I$==="object"&&!Array.isArray(I$))v=I$;else v={_raw:p$}}catch{v={_raw:p$}}let r=(Boolean(v&&Object.keys(v).length>0)?v:null)??P(P$)??v??void 0,J$=C$==="critical"?"require_action":C$==="high"?"require_action":"pass",U$={id:$.id("approve"),toolCallId:P$,tool:R$,permission:J$,reason:J6$(`GoatChain approval required (${String(C$??"unknown")}).`,R$,r),...r?{args:r}:{},source:"goatchain",riskLevel:C$,status:"pending"},Z$=M(P$)?.assistantId??S;if(!($.state.approval.active?.toolCallId===P$||$.state.approval.queue.some((I$)=>I$.request.toolCallId===P$))){if(!$.state.approval.active&&$.state.approval.queue.length===0)$.state.approval.decisions={};if($.insertApprovalPart(Z$,U$),!$.state.approval.active)$.state.approval.active=U$,$.state.approval.pendingAutoRun={assistantId:Z$,toolCallId:P$},$.setAssistantStatus(S,U8($.state.approval.mode,U$)?`Auto-approving (${String(C$??"risk")})…`:`Awaiting approval (${String(C$??"risk")})…`);else $.state.approval.queue.push({request:U$,assistantId:Z$})}C4("approval_requested",{session_id:String($.state.sessionId??""),tool_call_id:P$,tool_name:R$,risk_level:C$}),await P4(),V4()}if(L$?.requires_action)$.state.paused={kind:String(L$?.kind??"")==="ask_user"?"ask_user":"tool_approval",toolCallId:L$?.tool_call_id??L$?.toolCallId,questions:L$?.questions},$.setAssistantStatus(S,$.state.paused.kind==="ask_user"?"Awaiting answers…":"Awaiting approval…"),C4("requires_action",{session_id:String($.state.sessionId??""),kind:L$?.kind,tool_call_id:L$?.tool_call_id??L$?.toolCallId}),await P4(),V4()}else if(d4.role==="tool"){let L$=G8(d4.content),d$=String(d4.tool_call_id??""),w4=d4?.metadata?.error===!0,G$={id:d$||$.id("tool"),output:L$,status:w4?"error":"success"},E$=d$?M(d$):null,P$=E$?.assistantId??S;$.pushMessage({id:$.id("m"),role:"tool",result:G$}),$.attachToolResultPart(P$,G$),$.scheduleToolResultHighlight(P$,G$),await P4(),V4();let R$=d$?E$?.toolName??B(S,d$):null,C$=d4?.metadata?.structuredContent;if(R$==="TodoWrite")$.upsertChecklistPartFromGoatChain(P$,"todo",d$,C$);else if(R$==="TodoPlan")$.upsertChecklistPartFromGoatChain(P$,"plan",d$,C$)}let B4=d4?.metadata;if(B4?.done){if(!j$)if(j$=Date.now(),await $.refreshUsageFromPersistedSession(),h(),C4("agent_round_done",{session_id:String($.state.sessionId??""),stopReason:B4?.stopReason,modelStopReason:B4?.modelStopReason,error:Boolean(B4?.error)}),V4({force:!0}),B4?.stopReason==="approval_required"||$.state.paused)$.setAssistantStatus(S,$.state.paused?.kind==="ask_user"?"Awaiting answers…":"Awaiting approval…");else{if(B4?.error)$.ensureErrorVisibleInTranscript(S,B4.error);$.setAssistantStatus(S,B4?.error?"Error.":"Done.")}let L$=j$?Date.now()-j$:1/0;O$+=1;let d$=y4(x4);if(!(O$<=Z4&&L$<=r$&&(d$>0||O$===1))){if(O$>Z4)C4("done_drain_step_limit",{session_id:String($.state.sessionId??""),steps:O$,last_event_type:x4});else if(L$>r$)C4("done_drain_time_limit",{session_id:String($.state.sessionId??""),duration_ms:L$,last_event_type:x4});else if(d$===0&&O$>1)C4("done_drain_skip_low_priority",{session_id:String($.state.sessionId??""),event_type:x4,step:O$});break}continue}}if(!$.state.paused){let e$=$.state.messages.find((p4)=>p4.id===S),W4=e$&&e$.role==="assistant"?e$.parts.find((p4)=>p4.type==="status"):null;if(W4&&W4.text==="Thinking…")$.setAssistantStatus(S,"Done.")}let c4=(()=>{let e$=$.state.messages.find((W4)=>W4.id===S);if(!e$||e$.role!=="assistant")return[];return e$.parts.flatMap((W4)=>W4.type==="tool_call"?[W4.call]:[])})();return{assistantId:S,toolCalls:c4,success:!0}}catch(l){x.forceEnd();let t=l instanceof Error?l:Error(String(l)),V$=t.stack||t.message||String(l),u$=$.state.context?.env,O$=VU(V$,u$);$.appendAssistantMarkdown(S,["# Error","","```text",V$,"```",...O$?["",O$]:[]].join(`
872
+ `)),$.setAssistantStatus(S,"Error."),C4("agent_round_error",{session_id:String($.state.sessionId??""),error_message:t.message,error_name:t.name,assistant_id:S});let q$=(()=>{let m=$.state.messages.find((a)=>a.id===S);if(!m||m.role!=="assistant")return[];return m.parts.flatMap((a)=>a.type==="tool_call"?[a.call]:[])})();return{assistantId:S,toolCalls:q$,success:!1,error:t}}finally{if(X===T){if(J)Z();if(G)W()}x.forceEnd(),$.state.runningAgentRound=!1,X=null}}catch(L){throw L}finally{X=null}}return{runAgentRound:f,cancelActiveAgentStream:Z,abortActiveAgentRound:W}}function Q6$($){let U=String($.name??"").toLowerCase();if(U==="search")return{permission:"require_action",reason:"Search may access the network."};if(U==="bash")return{permission:"require_action",reason:"Bash can execute commands."};if(U==="grep")return{permission:"pass",reason:"Grep may read local files."};return null}function KI($){function U(G,Y){let X=Q6$(Y);if(!X)return"ok";if(CS($.state.approval.mode,X.permission))return"ok";if($.state.approval.approvedToolCalls[Y.id])return"ok";let V=$.state.approval.active;if(V?.toolCallId===Y.id)return"pending";if(V)return $.setAssistantStatus(G,`Another approval is pending (${V.permission})…`),"pending";let K={id:$.id("approve"),toolCallId:Y.id,tool:Y.name,permission:X.permission,reason:X.reason,args:Y.arguments,status:"pending"};return $.state.approval.active=K,$.state.approval.pendingAutoRun={assistantId:G,toolCallId:Y.id},$.insertApprovalPart(G,K),$.setAssistantStatus(G,`Awaiting approval (${X.permission})…`),"pending"}function _(G){for(let Y of $.state.messages){if(Y.role!=="assistant")continue;for(let X of Y.parts)if(X.type==="tool_call"&&X.call.id===G)return{messageId:Y.id,call:X.call}}return null}async function Q(G){let Y=$.state.approval.active;if(!Y)return;let X={...Y,status:G},K=$.state.approval.pendingAutoRun?.assistantId;if(K)$.updateAssistant(K,(W)=>{let B=W.parts.map((q)=>{if(q.type==="approve"&&q.request.id===Y.id)return{type:"approve",request:X};return q});return{...W,parts:B}});if((Y.source??"local")==="goatchain"){$.state.approval.decisions[Y.toolCallId]=G==="approved"?{approved:!0}:{approved:!1,reason:Y.reason||"User denied approval"};let W=$.state.approval.queue.shift()??null;if(W){if($.state.approval.active=W.request,$.state.approval.pendingAutoRun={assistantId:W.assistantId,toolCallId:W.request.toolCallId},$.state.paused?.kind==="tool_approval")$.state.paused={...$.state.paused,toolCallId:W.request.toolCallId};$.setAssistantStatus(W.assistantId,`Awaiting approval (${String(W.request.riskLevel??W.request.permission??"risk")})…`);return}$.state.approval.active=null,$.state.approval.pendingAutoRun=null;let B={...$.state.approval.decisions};$.state.approval.decisions={};let q=Object.values(B).some((P)=>P.approved),O=Object.values(B).some((P)=>!P.approved);if(K){let P=q&&!O?"Approved. Resuming…":O&&!q?"Denied. Resuming…":"Resuming…";$.setAssistantStatus(K,P)}let M=async()=>{$.state.paused=null,await $.runAgentRound({toolContext:{approval:{decisions:B}}})};if($.isInSendQueueRun()){await M();return}await $.serializeReceive(M);return}if(G==="approved")$.state.approval.approvedToolCalls[Y.toolCallId]=!0;if($.state.approval.active=null,$.state.approval.pendingAutoRun=null,G==="denied"){if(!K)return;$.setAssistantStatus(K,"Permission denied.");let W=["# Tool permission denied","",`- tool: \`${Y.tool}\``,`- permission: \`${Y.permission}\``,"","You can re-select the tool_call and try again."].join(`
873
+ `);$.pushMessage({id:$.id("m"),role:"assistant",parts:[{type:"markdown",markdown:W}]});return}if(!K)return;$.setAssistantStatus(K,`Running ${Y.tool}…`),await $.sleep(180);let Z=await J(Y.toolCallId);if($.setAssistantStatus(K,"Done."),!Z)return;let N=["# Approved + executed tool","",`Permission \`${Y.permission}\` approved for \`${Y.tool}\`.`,"","```text",Y0(Z.output).split(`
874
+ `).slice(0,8).join(`
875
+ `),"```"].join(`
876
+ `);$.pushMessage({id:$.id("m"),role:"assistant",parts:[{type:"markdown",markdown:N}]})}async function J(G){if($.externalAgentProvided)return null;let Y=_(G);if(!Y)return null;if(!$.state.approval.approvedToolCalls[G]){if(U(Y.messageId,Y.call)==="pending")return null}$.state.runningToolCallId=G;try{let X=await(async()=>{try{return await $.toolRunner(Y.call)}catch(V){let K=V instanceof Error?V.stack||V.message:String(V);return{id:G,status:"error",output:`Tool runner error:
877
+ ${K}`}}})();return $.pushMessage({id:$.id("m"),role:"tool",result:X}),$.attachToolResultPart(Y.messageId,X),X}finally{$.state.runningToolCallId=null}}return{ensureApproved:U,findToolCall:_,resolveActiveApproval:Q,runToolCall:J}}async function K_($){await new Promise((U)=>setTimeout(U,$))}function WI($){let U=Boolean($.agent),_=$.context?.env,Q=aS(_),J=tS(Q),G=G6$({config:{...eS(Q)},usage:{prompt_tokens:0,completion_tokens:0,total_tokens:0,budget:4000},runningAgentRound:!1,thinking:{active:!1},ui:{theme:{preset:"goatchain",overrides:{}},upgradeNotification:{visible:!1,message:""}},context:$.context,messages:[],revertedMessages:[],selectedToolCallId:null,runningToolCallId:null,expandedBashOutputs:new Set,sessionId:sS(Q),paused:null,approval:{active:null,approvedToolCalls:{},pendingAutoRun:null,mode:J,queue:[],decisions:{}}}),Y=$I(Q),X=Y.idleMs,V=Y.totalMs,K=!1,Z=$.agent;function N(){if(K)return!1;let G$=G.approval.active;if(!G$||G$.status!=="pending")return!1;if(!U8(G.approval.mode,G$))return!1;if(G.runningAgentRound)return!1;return!0}let W=OY(()=>{let G$=Math.max(1,G.usage.budget);return Math.min(1,G.usage.total_tokens/G$)}),B=OY(()=>{let G$=`${G.context.system}
878
+ `,E$=G.context.focusFiles;if(E$?.length){let P$=E$.map((R$)=>{let C$=String(R$??"");return`- [${C$.split(/[/\\]/).filter(Boolean).pop()??C$}](${C$})`});G$+=`
879
+ [focus_files]
880
+ ${P$.join(`
881
+ `)}
882
+ `}for(let P$ of TH(G.messages)){if(P$.role==="user"){if(P$.focusFiles?.length){let R$=P$.focusFiles.map((C$)=>{let p$=String(C$??"");return`- [${p$.split(/[/\\]/).filter(Boolean).pop()??p$}](${p$})`});G$+=`
883
+ [user_focus_files]
884
+ ${R$.join(`
885
+ `)}
886
+ `}G$+=`
887
+ [user]
888
+ ${P$.content}
889
+ `;continue}if(P$.role==="tool"){G$+=`
890
+ [tool]
891
+ ${P$.result.output}
892
+ `;continue}G$+=`
893
+ [assistant]
894
+ `;for(let R$ of P$.parts)if(R$.type==="status")G$+=`${R$.text}
895
+ `;else if(R$.type==="markdown")G$+=`${R$.markdown}
896
+ `;else if(R$.type==="tool_call")G$+=`${R$.call.name} ${sJ(R$.call.arguments)}
897
+ `;else if(R$.type==="tool_result")G$+=`${R$.result.output}
898
+ `;else if(R$.type==="approve")G$+=`approve ${R$.request.permission} ${R$.request.tool} ${R$.request.status}
899
+ `;else if(R$.type==="todo"||R$.type==="plan")G$+=`${R$.title}
900
+ ${R$.items.map((C$)=>`- ${C$.done?"[x]":"[ ]"} ${C$.text}`).join(`
901
+ `)}
902
+ `}return oT(G$)}),q=OY(()=>{let G$=Math.max(1,G.config.context_window);return Math.min(1,B.value/G$)});function O(G$){if(!G$||typeof G$!=="object")return;let E$=G$,P$=Number(E$.promptTokens??E$.prompt_tokens),R$=Number(E$.completionTokens??E$.completion_tokens),C$=Number(E$.totalTokens??E$.total_tokens);if(Number.isFinite(P$))G.usage.prompt_tokens=P$;if(Number.isFinite(R$))G.usage.completion_tokens=R$;if(Number.isFinite(P$)&&Number.isFinite(R$))G.usage.total_tokens=P$+R$;else if(Number.isFinite(C$))G.usage.total_tokens=C$}async function M(){let G$=String(G.sessionId??"").trim();if(!G$)return;let E$=G.context?.env,P$=Boolean(String(E$?.GOATCHAIN_STATE_DIR??globalThis?.process?.env?.GOATCHAIN_STATE_DIR??"").trim()),R$=Boolean(String(E$?.GOATCHAIN_HOME??globalThis?.process?.env?.GOATCHAIN_HOME??"").trim()),C$=async()=>{try{let[{homedir:v},g]=await Promise.all([import("node:os"),import("node:path")]),r=globalThis?.process?.env,J$=(Z$)=>String(E$?.[Z$]??r?.[Z$]??"").trim()||void 0,U$=J$("GOATCHAIN_HOME");if(U$)return g.resolve(U$,"goatchain","state");let Y$=J$("XDG_CONFIG_HOME");if(Y$)return g.resolve(Y$,"goatchain","goatchain","state");return g.resolve(v(),".goatchain","goatchain","state")}catch{return null}},p$=String(E$?.GOATCHAIN_STATE_DIR??globalThis?.process?.env?.GOATCHAIN_STATE_DIR??"").trim();if(!p$)p$=await C$()??"";if(!p$)return;try{let[{readFile:v},g]=await Promise.all([import("node:fs/promises"),import("node:path")]),r=g.join(p$,G$,"session.json");for(let J$=0;J$<40;J$++){try{let U$=await v(r,"utf8"),Z$=JSON.parse(U$)?.stats?.usage;if(Z$&&typeof Z$==="object"){O(Z$);return}}catch{if(!P$&&!R$)return}if(P$||R$)await K_(50);else return}}catch{}}function P(G$){let E$=G.context,P$=(G$??[]).map((R$)=>String(R$??"")).filter(Boolean);G.context={...E$??{},focusFiles:P$.length?P$:void 0}}function H(G$){let E$=G.context,P$=String(G$??"").trim()||".";G.context={...E$??{},cwd:P$}}function z(G$,E$){let P$=G.context,R$={...P$?.env??{}},C$=String(G$??"").trim();if(!C$)return;let p$=E$==null?"":String(E$);if(!p$)delete R$[C$];else R$[C$]=p$;G.context={...P$??{},env:R$}}function A(G$){z("GOATCHAIN_AGENT",G$)}function E(G$){G.ui.theme.preset=G$}function D(G$,E$){let P$=G$,R$=G.ui.theme.overrides??{};if(!E$||!E$.fg&&!E$.bg){let{[P$]:C$,...p$}=R$;G.ui.theme.overrides=p$;return}G.ui.theme.overrides={...R$,[P$]:{fg:E$.fg,bg:E$.bg}}}function f(){G.ui.theme.overrides={}}let j=YI(G),{pushMessage:T,updateAssistant:L,setAssistantStatus:k,setAssistantThinking:R,startNewThinkingBlock:S,endThinkingBlock:I,appendAssistantMarkdown:w,upsertToolCallDelta:C,upsertToolCallEnd:b,upsertToolOutputStart:y,appendToolOutputDelta:x,attachToolResultPart:l,insertApprovalPart:t,toggleChecklist:V$,toggleBlockCollapsed:u$,revertFromMessage:O$,restoreRevertedMessages:q$,clearRevertedMessages:m,hasRevertedMessages:a,revertedMessageCount:d,upsertChecklistPartFromGoatChain:i}=j;function n(G$){G.selectedToolCallId=G$}function h(G$){let E$=new Set(G.expandedBashOutputs);if(E$.has(G$))E$.delete(G$);else E$.add(G$);G.expandedBashOutputs=E$}function _$(G$,E$){let P$=G.messages.find((U$)=>U$.id===G$);if(!P$||P$.role!=="assistant")return;let C$=P$.parts.flatMap((U$)=>U$.type==="markdown"?[String(U$.markdown??"")]:[]).join(`
903
+ `),p$=C$.trim();if(/\nHint:/.test(C$))return;let g=G.context?.env,r="",J$=null;if(typeof E$==="boolean"&&E$)J$=VU(C$,g);else if(E$){r=SH(E$);let U$=/(?:^|\n)#+\s*error\b/i.test(C$),Y$=r.trim()?C$.includes(r):!1;if(!U$&&!Y$){J$=VU(r,g),w(G$,`${p$?`
904
+
905
+ `:""}${["# Error","","```text",r,"```",...J$?["",J$]:[]].join(`
906
+ `)}`);return}J$=VU(r,g)}if(J$)w(G$,`
907
+
908
+ ${J$}`)}function H$(G$,E$){QI({state:G,assistantId:G$,result:E$,updateAssistant:L})}let D$=Promise.resolve(),j$=!1,r$=null,Z4=null,y4=0,P4=60,m4=async(G$)=>{D$=D$.then(G$,G$),await D$},V4=VI({state:G,agent:Z,id:Q8,buildAcpConversation:oS,streamIdleTimeoutMs:X,streamTotalTimeoutMs:V,pushMessage:T,setAssistantStatus:k,setAssistantThinking:R,startNewThinkingBlock:S,endThinkingBlock:I,appendAssistantMarkdown:w,upsertToolCallDelta:C,upsertToolCallEnd:b,upsertToolOutputStart:y,appendToolOutputDelta:x,insertApprovalPart:t,attachToolResultPart:l,scheduleToolResultHighlight:H$,upsertChecklistPartFromGoatChain:i,applyUsageFromSession:O,refreshUsageFromPersistedSession:M,ensureErrorVisibleInTranscript:_$}),{runAgentRound:Q6,cancelActiveAgentStream:c4,abortActiveAgentRound:e$}=V4,W4=KI({state:G,externalAgentProvided:U,toolRunner:$.toolRunner,id:Q8,pushMessage:T,updateAssistant:L,setAssistantStatus:k,insertApprovalPart:t,attachToolResultPart:l,runAgentRound:(G$)=>Q6(G$),sleep:K_,serializeReceive:m4,isInSendQueueRun:()=>K}),{ensureApproved:p4,findToolCall:E6,resolveActiveApproval:R4,runToolCall:h6}=W4;ZI(()=>G.approval.mode,()=>{if(N())R4("approved")}),ZI(()=>G.runningAgentRound,(G$)=>{if(G$)return;if(N())R4("approved")});function D1(){if(G.runningAgentRound)return!0;if(G.paused)return!0;return Boolean(G.approval.active&&G.approval.active.status==="pending")}function E1(G$,E$){let P$=String(G$??""),R$=E$?.length?[...E$]:void 0;if(Z4){let p$=G.messages.findIndex((v)=>v.role==="user"&&v.id===Z4);if(p$>=0){let v=G.messages[p$];G.messages[p$]={...v,content:P$,focusFiles:R$};return}}let C$=Q8("m");Z4=C$,T({id:C$,role:"user",content:P$,focusFiles:R$})}async function n6(G$){let E$=typeof G$==="string"?G$:G$.content,P$=typeof G$==="string"?void 0:G$.focusFiles,R$=Y0(E$);if(!R$&&!P$?.length)return;if(P$?.length)P(P$);if(r$={content:R$,...P$?.length?{focusFiles:P$}:{}},E1(R$,P$),D1())y4=Date.now()+P4,I6(),G.paused=null,G.approval.active=null,G.approval.pendingAutoRun=null,G.approval.queue=[],G.approval.decisions={};let C$=async()=>{if(j$)return;j$=!0;try{while(r$){let p$=Date.now();if(y4>p$){await K_(y4-p$);continue}r$=null,Z4=null,K=!0;let v=G.messages.slice();try{let{assistantId:g,toolCalls:r,success:J$,error:U$}=await Q6({baseMessages:v});if(!J$&&U$){console.warn("Agent round failed:",U$.message),G.runningAgentRound=!1,K=!1;continue}if(G.paused){if(G.paused.kind==="tool_approval")for(let Y$=0;Y$<16;Y$++){let Z$=G.approval.active;if(!Z$||Z$.status!=="pending")break;if(!U8(G.approval.mode,Z$))break;if(await R4("approved"),!G.paused||G.paused.kind!=="tool_approval")break}continue}if(U)continue;if(await K_(500),k(g,r.length?"Planning…":"Drafting…"),await K_(500),r[0]){if(G.messages.some((A$)=>A$.role==="tool"&&A$.result.id===r[0].id)){k(g,"Done.");continue}if(p4(g,r[0])==="pending")continue;k(g,`Running ${r[0].name}…`),await K_(500);let Z$=await h6(r[0].id);if(await K_(300),k(g,"Done."),Z$){let A$=["# Summary","","Here is a mocked end-to-end flow:","",`- Ran \`${r[0].name}\` and captured a tool result`,"- Rendered markdown + code fences","","## Tool output (excerpt)","","```text",Y0(Z$.output).split(`
909
+ `).slice(0,8).join(`
910
+ `),"```","","## Next","","- You can select a `tool_call` on the left and re-run it","- (Coming next) approval-gated tools + context token breakdown"].join(`
911
+ `);T({id:Q8("m"),role:"assistant",parts:[{type:"markdown",markdown:A$}]})}}else k(g,"Done.")}catch(g){e$(),c4(),G.runningAgentRound=!1,G.runningToolCallId=null,G.paused=null,G.approval.active=null,G.approval.pendingAutoRun=null,G.approval.queue=[],G.approval.decisions={};let r=G.context?.env,J$=SH(g),U$=VU(J$,r),Y$=["# Error","","```text",J$,"```",...U$?["",U$]:[]].join(`
912
+ `);T({id:Q8("m"),role:"assistant",parts:[{type:"status",text:"Error."},{type:"markdown",markdown:Y$}]})}finally{K=!1}}}finally{j$=!1}};D$=D$.then(C$,C$),await D$}function I6(){if(G.runningAgentRound)e$(),c4(),G.runningAgentRound=!1;if(G.runningToolCallId){let G$=G.runningToolCallId;G.runningToolCallId=null;let E$=E6(G$);if(E$)k(E$.messageId,"Interrupted.")}if(G.approval.pendingAutoRun||G.approval.active||G.approval.queue.length)G.approval.active=null,G.approval.pendingAutoRun=null,G.approval.queue=[],G.approval.decisions={}}async function d4(G$){let E$=G.paused;if(!E$||E$.kind!=="ask_user")return;let P$=String(E$.toolCallId??"").trim();if(!P$)return;G.paused=null,await m4(async()=>{let C$=await Q6({toolContext:{askUser:{answers:{[P$]:{...G$}}}}});if(!C$.success&&C$.error)console.warn("Failed to resume after ask user:",C$.error.message)})}async function l4(){let G$=G.paused;if(!G$||G$.kind!=="ask_user")return;let E$=String(G$.toolCallId??"").trim();if(!E$)return;G.paused=null,await m4(async()=>{let R$=await Q6({toolContext:{askUser:{answers:{},rejected:{[E$]:"User cancelled the question"}}}});if(!R$.success&&R$.error)console.warn("Failed to resume after cancel ask user:",R$.error.message)})}function b4(G$){if(typeof Z.setMode==="function")Z.setMode(G$)}function x4(){if(typeof Z.getMode==="function")return Z.getMode();return"agent"}let B4=null;function L$(G$){if(G.ui.upgradeNotification.visible=!0,G.ui.upgradeNotification.message=G$,B4)clearTimeout(B4);B4=setTimeout(()=>{d$(),B4=null},3000)}function d$(){if(G.ui.upgradeNotification.visible=!1,G.ui.upgradeNotification.message="",B4)clearTimeout(B4),B4=null}let w4=OY(()=>G.ui.upgradeNotification);return{state:G,usagePct:W,contextTokens:B,contextPct:q,scheduleToolResultHighlight:H$,selectToolCall:n,toggleBashOutput:h,toggleChecklist:V$,toggleBlockCollapsed:u$,send:n6,sendUser:n6,sendUserInput:(G$)=>n6(G$),setFocusFiles:P,setCwd:H,setEnvVar:z,setAgent:A,setThemePreset:E,setMessageTypeThemeOverride:D,resetThemeOverrides:f,approve:()=>R4("approved"),deny:()=>R4("denied"),runToolCall:h6,interrupt:I6,submitAskUserAnswers:d4,cancelAskUser:l4,revertFromMessage:O$,restoreRevertedMessages:q$,clearRevertedMessages:m,hasRevertedMessages:a,revertedMessageCount:d,setMode:b4,getMode:x4,upgradeNotification:w4,showUpgradeNotification:L$,dismissUpgradeNotification:d$}}import{defineComponent as Y6$,h as jY}from"vue";var NI=Y6$({name:"GoatChainExitAppDialog",props:{modelValue:{type:Boolean,required:!0},reason:{type:String,default:""}},emits:{"update:modelValue":($)=>!0,exit:()=>!0},setup($,{emit:U}){return()=>{if(!$.modelValue)return null;let _=String($.reason??"").trim();return jY(u4,{modelValue:$.modelValue,"onUpdate:modelValue":(Q)=>U("update:modelValue",Q),onKeydownCapture:(Q)=>{if(Q?.key==="Escape"){Q.preventDefault?.(),Q.stopPropagation?.(),U("update:modelValue",!1);return}if(typeof Q?.key==="string"&&Q.key.length===1&&!Q.ctrlKey&&!Q.metaKey&&!Q.altKey)Q.preventDefault?.(),Q.stopPropagation?.()},w:64,h:12,title:"Exit GoatChain",placement:"center",backdrop:!1,padding:1,style:{fg:"yellowBright",bg:"black"},buttons:[{label:"Cancel",value:"cancel"},{label:"Exit",value:"exit",kind:"primary",default:!0}],onConfirm:(Q)=>{if(Q?.value==="exit")U("exit");U("update:modelValue",!1)},onClose:()=>U("update:modelValue",!1)},()=>[jY($$,{x:0,y:0,w:60,wrap:!0,value:"Exit now?",style:{fg:"whiteBright",bg:"black"}}),jY($$,{x:0,y:2,w:60,wrap:!0,value:"An agent response is still in progress. Exiting will interrupt it.",style:{fg:"white",dim:!0,bg:"black"}}),_?jY($$,{x:0,y:4,w:60,wrap:!0,value:`Reason: ${_}`,style:{fg:"white",dim:!0,bg:"black"}}):null])}}});var CH=X6$({name:"GoatChainProvider",props:{toolRunner:{type:Function,required:!0},context:{type:Object,required:!0},agent:{type:Object,required:!0},onStoreCreated:{type:Function,default:void 0},sessions:{type:Object,default:void 0}},setup($,{slots:U}){if(V6$(J_,null))return()=>U.default?.();let Q=WI({toolRunner:$.toolRunner,context:$.context,agent:$.agent});$.onStoreCreated?.(Q),Z6$(J_,{store:Q,sessions:$.sessions});let J=qI(!1),G=qI(""),Y=()=>{let V=Q.state;if(V.runningAgentRound)return"Agent is still responding";if(V.paused?.kind==="ask_user")return"Awaiting AskUser answers";if(V.paused?.kind==="tool_approval")return"Awaiting tool approval";if(V.approval?.active?.status==="pending")return"Pending approval";return""},X=Kz({isBusy:()=>{let V=Q.state;if(V.runningAgentRound)return!0;if(V.paused)return!0;return Boolean(V.approval?.active&&V.approval.active.status==="pending")},showConfirm:()=>{G.value=Y(),J.value=!0}});return K6$(()=>X()),()=>FI("div",null,[U.default?.(),FI(NI,{modelValue:J.value,"onUpdate:modelValue":(V)=>J.value=V,reason:G.value,onExit:()=>t3()})])}});var DY=[{name:"home",component:kH},{name:"chat",component:AH}];function W6$($){if(typeof $==="string")return $;if($&&typeof $==="object"&&"name"in $)return String($.name??"");return""}function N6$($,U){let _=W6$(U)||"home";return $.some((Q)=>Q.name===_)?_:"home"}function yH($){return MG({routes:DY,initialRoute:N6$(DY,$?.initialRoute??"home")})}import{defineComponent as F6$,h as BI}from"vue";var bH=F6$({name:"GoatChainShell",props:{toolRunner:{type:Function,required:!0},context:{type:Object,required:!0},agent:{type:Object,required:!0},onStoreCreated:{type:Function,default:void 0},sessions:{type:Object,default:void 0}},setup($){return()=>BI(CH,{toolRunner:$.toolRunner,context:$.context,agent:$.agent,onStoreCreated:$.onStoreCreated,sessions:$.sessions},()=>BI(PG,{routes:DY}))}});var MY=process.env.GOATCHAIN_DEBUG==="1"||process.argv.includes("--debug"),EY=process.env.GOATCHAIN_DEBUG_LOG||"./goatchain-debug.log",HI=1500;function o1($,U){if(!MY)return;let Q=`[${new Date().toISOString()}] ${$}${U?`: ${JSON.stringify(U,null,2)}`:""}
913
+ `;try{q6$(EY,Q)}catch{}}function OI(){if(!MY)return;B6$(EY,`=== GoatChain Debug Log ===
914
+ Started at: ${new Date().toISOString()}
915
+ PID: ${process.pid}
916
+ Argv: ${JSON.stringify(process.argv)}
917
+ Bun: ${typeof globalThis.Bun<"u"}
918
+
919
+ `),process.on("uncaughtException",($,U)=>{o1("UNCAUGHT EXCEPTION",{origin:U,error:$.message,stack:$.stack}),console.error(`
920
+
921
+ === CRASH: Uncaught Exception ===`),console.error("Error:",$.message),console.error("Stack:",$.stack),console.error(`
922
+ Debug log written to: ${EY}`),xH(1)}),process.on("unhandledRejection",($,U)=>{let _=$ instanceof Error?$:Error(String($));o1("UNHANDLED REJECTION",{error:_.message,stack:_.stack}),console.error(`
923
+
924
+ === CRASH: Unhandled Promise Rejection ===`),console.error("Reason:",_.message),console.error("Stack:",_.stack),console.error(`
925
+ Debug log written to: ${EY}`),xH(1)}),process.on("SIGINT",()=>{o1("Received SIGINT")}),process.on("SIGTERM",()=>{o1("Received SIGTERM")}),o1("Crash handlers installed")}function xH($){let U=Number.isFinite($)?Math.trunc($):1;process.exitCode=U;try{t3();return}catch{}setTimeout(()=>{try{process.exit(U)}catch{}},1500).unref?.()}function H6$($){let U=String($??"").trim();if(!U)return;let _=globalThis.__GOATCHAIN_UPGRADE_TOAST__;if(typeof _==="function"){_(U);return}if(!process.env.GOATCHAIN_STARTUP_UPGRADE_TOAST)process.env.GOATCHAIN_STARTUP_UPGRADE_TOAST=U}async function O6$($,U){return await Promise.race([$,new Promise((_)=>setTimeout(()=>_(null),U))])}async function j6$($){let U=globalThis.process;if(!U)throw Error("runCli is only supported in Node");let _=$??U.argv?.slice(2)??[];if(pH(_)){console.log(oH());return}let Q=aH(_,{stdout:U.stdout});if(Q.debug){if(U.env.GOATCHAIN_DEBUG="1",!MY)MY=!0,OI()}if(o1("[CLI] runCli() called"),o1("[CLI] args",{app:Q.app,cols:Q.cols,rows:Q.rows}),Q.approvals)U.env.GOATCHAIN_TOOL_APPROVALS=Q.approvals;let J=Q.app==="goatchain"?(Y)=>{let X=yH({initialRoute:Q.initialRoute||"home"});Y.use(X)}:void 0;o1("[CLI] Before createGoatChainShellProps");let G=Q.app==="goatchain"?await FB({cwd:String(U.cwd?.()??"."),env:U.env}):{cols:Q.cols,rows:Q.rows};o1("[CLI] After createGoatChainShellProps"),o1("[CLI] About to call runTerminalUi"),await fA({proc:U,cols:Q.cols,rows:Q.rows,sizeLocked:Q.sizeLocked,component:bH,props:G,install:J,defaultStyle:Q.app==="goatchain"?{fg:"whiteBright",bg:"black"}:void 0,palette:Q.app==="goatchain"?{blackBright:"#262626"}:void 0,defaultBg:Q.app==="goatchain"?"black":void 0,altScreen:Q.altScreen,enableMouse:Q.enableMouse,recordPath:Q.recordPath,replayPath:Q.replayPath,snapshotPath:Q.snapshotPath})}async function D6$(){OI();let $=!1,U=(J)=>{if($||!J)return;$=!0,H6$(J)},_=HT();_.then(U).catch((J)=>{o1("[CLI] npm upgrade check failed",{error:J instanceof Error?J.message:String(J)})});let Q=await O6$(_,HI);if(Q===null)o1("[CLI] npm upgrade check timed out",{timeoutMs:HI});U(Q),await j6$()}if(T$.main==T$.module||import.meta.url===`file://${process.argv[1]}`)D6$().catch(($)=>{console.error("Fatal error during setup:",$),xH(1)});export{j6$ as runCli};