zen-code 4.10.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/app.js +149 -239
  2. package/dist/{chunk-vbb3m0vz.js → chunk-069q9hkz.js} +1 -1
  3. package/dist/chunk-06trk066.js +1 -0
  4. package/dist/chunk-0kfw8bwn.js +2 -0
  5. package/dist/chunk-0mq8786q.js +281 -0
  6. package/dist/{chunk-mmx0k2yq.js → chunk-0qz8rr2k.js} +1 -1
  7. package/dist/chunk-1d47g6nc.js +2 -0
  8. package/dist/{chunk-nqh1pptf.js → chunk-1gssqf6g.js} +1 -1
  9. package/dist/{chunk-s5cqejr6.js → chunk-1rcc9xzn.js} +1 -1
  10. package/dist/{chunk-tjvhqr94.js → chunk-2bjeg40f.js} +1 -1
  11. package/dist/chunk-2gd8vzrf.js +2 -0
  12. package/dist/{chunk-spx7nn8t.js → chunk-2gprcgep.js} +2 -2
  13. package/dist/chunk-3k3c686f.js +1 -0
  14. package/dist/chunk-43h0n2td.js +1 -0
  15. package/dist/{chunk-8f19qk9r.js → chunk-492hjs9k.js} +1 -1
  16. package/dist/{chunk-pe8mzxwn.js → chunk-4eaqmt3c.js} +11 -11
  17. package/dist/{chunk-y8qhrx11.js → chunk-4fs853nh.js} +1 -1
  18. package/dist/chunk-5fe27s34.js +2 -0
  19. package/dist/{chunk-4wnmk2tj.js → chunk-5hqvapp1.js} +3 -3
  20. package/dist/chunk-6b3vfr39.js +2 -0
  21. package/dist/{chunk-t6440ajd.js → chunk-6j695pam.js} +2 -2
  22. package/dist/{chunk-pzb224c5.js → chunk-6saqxa3z.js} +2 -2
  23. package/dist/{chunk-tjg2e8v3.js → chunk-78ksrp8v.js} +2 -2
  24. package/dist/chunk-7cx9kda0.js +228 -0
  25. package/dist/chunk-7qba2raw.js +2 -0
  26. package/dist/chunk-81b2s97q.js +1 -0
  27. package/dist/chunk-88w3txtb.js +160 -0
  28. package/dist/chunk-8ygdre0g.js +1 -0
  29. package/dist/{chunk-fzh0v6r0.js → chunk-9011y634.js} +2 -2
  30. package/dist/chunk-9zcr1qh6.js +1 -0
  31. package/dist/chunk-a0nr8jva.js +2 -0
  32. package/dist/{chunk-5c3bpcpm.js → chunk-agevsn2e.js} +1 -1
  33. package/dist/{chunk-8tbtavry.js → chunk-akc3s5aw.js} +2 -2
  34. package/dist/{chunk-spa69h7p.js → chunk-b0beqmg2.js} +2 -2
  35. package/dist/{chunk-zg54h6gy.js → chunk-b175s7dm.js} +1 -1
  36. package/dist/chunk-bk32cwxa.js +5 -0
  37. package/dist/{chunk-vrnj0659.js → chunk-bn077sjq.js} +15 -15
  38. package/dist/{chunk-qxebn3jw.js → chunk-c9yrpb3g.js} +3 -3
  39. package/dist/{chunk-hnnwbfqk.js → chunk-cb0f54ar.js} +2 -2
  40. package/dist/chunk-ctqtahz4.js +1 -0
  41. package/dist/{chunk-gt8c6dne.js → chunk-d2sr8fnm.js} +1 -1
  42. package/dist/chunk-d5gzkkgg.js +1 -0
  43. package/dist/{chunk-bzgznka5.js → chunk-dh2f4xyb.js} +1 -1
  44. package/dist/chunk-dr32dt9y.js +1 -0
  45. package/dist/chunk-dv1vt080.js +1 -0
  46. package/dist/{chunk-vfxjbdz4.js → chunk-dz9sqfph.js} +1 -1
  47. package/dist/chunk-e7mbewmw.js +1 -0
  48. package/dist/chunk-em03xqy9.js +1 -0
  49. package/dist/chunk-fkt5b511.js +1 -0
  50. package/dist/{chunk-k4q8j7pg.js → chunk-gphssgy6.js} +1 -1
  51. package/dist/chunk-h2hk7vx4.js +1 -0
  52. package/dist/{chunk-c7kd2qrp.js → chunk-h7ypcqp3.js} +112 -111
  53. package/dist/{chunk-nsw5168d.js → chunk-j8tq0e8m.js} +2 -2
  54. package/dist/{chunk-40ht9pe1.js → chunk-jd1razfg.js} +2 -2
  55. package/dist/chunk-jhxvctg5.js +8 -0
  56. package/dist/chunk-kada5fyh.js +1 -0
  57. package/dist/chunk-kgc6ws03.js +1 -0
  58. package/dist/chunk-mk8ggmt8.js +17 -0
  59. package/dist/{chunk-e8kxa5vj.js → chunk-mv5m8bf4.js} +2 -2
  60. package/dist/chunk-mv8a5svx.js +1 -0
  61. package/dist/chunk-n61yv4t5.js +2 -0
  62. package/dist/chunk-nt2yp4jh.js +1 -0
  63. package/dist/chunk-p7ew4trx.js +1 -0
  64. package/dist/{chunk-s1tbdcs8.js → chunk-pgnhcznr.js} +1 -1
  65. package/dist/chunk-q8cfxky4.js +8 -0
  66. package/dist/{chunk-g2zskge5.js → chunk-q8zsxwd8.js} +2 -2
  67. package/dist/{chunk-nmzx5nmt.js → chunk-qfa5v4n5.js} +1 -1
  68. package/dist/chunk-qhzztj83.js +1 -0
  69. package/dist/chunk-snmkgfbe.js +15 -0
  70. package/dist/chunk-ss4bh5wb.js +2 -0
  71. package/dist/chunk-sv0k2v66.js +1 -0
  72. package/dist/{chunk-wmyc17aa.js → chunk-tbav8trq.js} +1 -1
  73. package/dist/chunk-tmyzfvsy.js +1 -0
  74. package/dist/chunk-ts4jreym.js +7 -0
  75. package/dist/chunk-tws3wcnm.js +2 -0
  76. package/dist/chunk-v0e9bsvt.js +89 -0
  77. package/dist/{chunk-n9rpnke9.js → chunk-vwj4n000.js} +1 -1
  78. package/dist/{chunk-gfhmzpy7.js → chunk-wd6s7gg7.js} +2 -3
  79. package/dist/{chunk-f0m4532p.js → chunk-y524zd2h.js} +5 -5
  80. package/dist/{chunk-hve2a279.js → chunk-yb71zqvt.js} +2 -2
  81. package/dist/{chunk-n7s6my89.js → chunk-yejgw2hm.js} +32 -32
  82. package/dist/{chunk-g974hxbz.js → chunk-yfjs6pf8.js} +1 -1
  83. package/dist/chunk-zhqdp4ak.js +2 -0
  84. package/dist/chunk-zkd3m39v.js +1 -0
  85. package/dist/cli.js +1 -1
  86. package/dist/nonInteractive.js +80 -80
  87. package/dist/zen-core.js +644 -0
  88. package/dist/zen-keyboard.js +1 -1
  89. package/package.json +5 -3
  90. package/dist/chunk-0ddrb30y.js +0 -1
  91. package/dist/chunk-215an3fz.js +0 -1
  92. package/dist/chunk-4z0w0ng1.js +0 -2
  93. package/dist/chunk-57bj89e2.js +0 -1
  94. package/dist/chunk-5a5mepqj.js +0 -1
  95. package/dist/chunk-7kw7ss8d.js +0 -1
  96. package/dist/chunk-86m0rmtc.js +0 -1
  97. package/dist/chunk-9rayxazs.js +0 -8
  98. package/dist/chunk-a9gpb2tx.js +0 -2
  99. package/dist/chunk-a9tw6d68.js +0 -1
  100. package/dist/chunk-anbtppz1.js +0 -294
  101. package/dist/chunk-bca8tkkr.js +0 -1
  102. package/dist/chunk-bdqds8vh.js +0 -1
  103. package/dist/chunk-dvbb3dd1.js +0 -233
  104. package/dist/chunk-ehmmd8qc.js +0 -1
  105. package/dist/chunk-ejfa95sm.js +0 -1
  106. package/dist/chunk-f7cps5x1.js +0 -1
  107. package/dist/chunk-fbemqjck.js +0 -2
  108. package/dist/chunk-feeqtzv5.js +0 -1
  109. package/dist/chunk-g9911ymn.js +0 -1
  110. package/dist/chunk-h8fdexm4.js +0 -2
  111. package/dist/chunk-hp2jzn9x.js +0 -166
  112. package/dist/chunk-js4qp900.js +0 -2
  113. package/dist/chunk-m21hvv91.js +0 -2
  114. package/dist/chunk-mnnyjmgw.js +0 -224
  115. package/dist/chunk-mw7x6xqp.js +0 -1
  116. package/dist/chunk-nk62q95g.js +0 -93
  117. package/dist/chunk-pg1ppq4y.js +0 -1
  118. package/dist/chunk-q1cxrg0x.js +0 -2
  119. package/dist/chunk-swc7se71.js +0 -2
  120. package/dist/chunk-swyc15ym.js +0 -1
  121. package/dist/chunk-t2s3s6af.js +0 -1
  122. package/dist/chunk-vdmq9d9x.js +0 -4
  123. package/dist/chunk-wt3p1w1g.js +0 -1
  124. package/dist/chunk-y5ry5c7v.js +0 -1
  125. package/dist/chunk-yy8p9zph.js +0 -2
  126. package/dist/chunk-z61m3anh.js +0 -1
  127. package/dist/chunk-zr90qp47.js +0 -1
  128. package/dist/chunk-zsa62xr0.js +0 -2
package/dist/app.js CHANGED
@@ -1,66 +1,21 @@
1
- import{h as c7,i as p7}from"./chunk-js4qp900.js";import{j as p1,k as i9}from"./chunk-h8fdexm4.js";import{l as w1,m as c9}from"./chunk-9rayxazs.js";import{o as RZ,p as S8,q as I0,s as R0,t as V8,u as $4}from"./chunk-4z0w0ng1.js";import{A as d1,B as d9,v as W6,w as R1,x as T1,y as h1,z as V6}from"./chunk-fbemqjck.js";import"./chunk-pzb224c5.js";import{D as V7,E as o4,F as i7,G as l9,H as R9,I as F8,J as S0,K as VZ}from"./chunk-pg1ppq4y.js";import{L as Q7,M as y6,N as M7,P as L9,Q as A9,R as M0}from"./chunk-m21hvv91.js";import{S as h6,T as SK,V as g6,W as w8,Y as M8}from"./chunk-4wnmk2tj.js";import"./chunk-n9rpnke9.js";import{re as b7}from"./chunk-gfhmzpy7.js";import{ue as C$,ve as s4}from"./chunk-hnnwbfqk.js";import{Ae as N,Be as _6,Ce as O8,Ee as P9,Fe as F7,Ge as H7,He as i0,Ie as b0,Je as V,Ke as y0,Me as p4,Oe as u9,Pe as AX,we as e,xe as LX,ye as T6,ze as w}from"./chunk-c7kd2qrp.js";import{Se as Z5}from"./chunk-vdmq9d9x.js";import"./chunk-dvbb3dd1.js";import{$e as r6,Ue as f7,Ve as y7,We as S$,Xe as tY,Ye as eY,Ze as j8,_e as n6,af as D7,bf as k7,df as Z9}from"./chunk-vrnj0659.js";import"./chunk-a9tw6d68.js";import"./chunk-k4q8j7pg.js";import"./chunk-spx7nn8t.js";import"./chunk-vfxjbdz4.js";import"./chunk-qxebn3jw.js";import{nf as i5,of as o5}from"./chunk-n7s6my89.js";import"./chunk-yy8p9zph.js";import"./chunk-mnnyjmgw.js";import"./chunk-fzh0v6r0.js";import"./chunk-t6440ajd.js";import"./chunk-f0m4532p.js";import"./chunk-pe8mzxwn.js";import"./chunk-hp2jzn9x.js";import"./chunk-nk62q95g.js";import"./chunk-nmzx5nmt.js";import"./chunk-e8kxa5vj.js";import{Jk as q}from"./chunk-q1cxrg0x.js";import{tl as j}from"./chunk-tjg2e8v3.js";import"./chunk-nsw5168d.js";import{Cl as AQ,xl as $9}from"./chunk-hve2a279.js";import{Dl as B,Fl as B7,Hl as YW,Il as f0}from"./chunk-y8qhrx11.js";class K7{renderers=new Map;register($,Z){this.renderers.set($,Z)}get($){return this.renderers.get($)}has($){return this.renderers.has($)}list(){return Array.from(this.renderers.keys())}unregister($){this.renderers.delete($)}clear(){this.renderers.clear()}}var S4;var eZ=YW(()=>{S4=new K7});var P7=B7((O3,M$)=>{var k=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=0.5,this.Match_Distance=1000,this.Patch_DeleteThreshold=0.5,this.Patch_Margin=4,this.Match_MaxBits=32},A1=-1,C1=1,s=0;k.Diff=function($,Z){return[$,Z]};k.prototype.diff_main=function($,Z,X,Y){if(typeof Y>"u")if(this.Diff_Timeout<=0)Y=Number.MAX_VALUE;else Y=new Date().getTime()+this.Diff_Timeout*1000;var J=Y;if($==null||Z==null)throw Error("Null input. (diff_main)");if($==Z){if($)return[new k.Diff(s,$)];return[]}if(typeof X>"u")X=!0;var W=X,K=this.diff_commonPrefix($,Z),Q=$.substring(0,K);$=$.substring(K),Z=Z.substring(K),K=this.diff_commonSuffix($,Z);var z=$.substring($.length-K);$=$.substring(0,$.length-K),Z=Z.substring(0,Z.length-K);var G=this.diff_compute_($,Z,W,J);if(Q)G.unshift(new k.Diff(s,Q));if(z)G.push(new k.Diff(s,z));return this.diff_cleanupMerge(G),G};k.prototype.diff_compute_=function($,Z,X,Y){var J;if(!$)return[new k.Diff(C1,Z)];if(!Z)return[new k.Diff(A1,$)];var W=$.length>Z.length?$:Z,K=$.length>Z.length?Z:$,Q=W.indexOf(K);if(Q!=-1){if(J=[new k.Diff(C1,W.substring(0,Q)),new k.Diff(s,K),new k.Diff(C1,W.substring(Q+K.length))],$.length>Z.length)J[0][0]=J[2][0]=A1;return J}if(K.length==1)return[new k.Diff(A1,$),new k.Diff(C1,Z)];var z=this.diff_halfMatch_($,Z);if(z){var G=z[0],O=z[1],H=z[2],U=z[3],M=z[4],A=this.diff_main(G,H,X,Y),F=this.diff_main(O,U,X,Y);return A.concat([new k.Diff(s,M)],F)}if(X&&$.length>100&&Z.length>100)return this.diff_lineMode_($,Z,Y);return this.diff_bisect_($,Z,Y)};k.prototype.diff_lineMode_=function($,Z,X){var Y=this.diff_linesToChars_($,Z);$=Y.chars1,Z=Y.chars2;var J=Y.lineArray,W=this.diff_main($,Z,!1,X);this.diff_charsToLines_(W,J),this.diff_cleanupSemantic(W),W.push(new k.Diff(s,""));var K=0,Q=0,z=0,G="",O="";while(K<W.length){switch(W[K][0]){case C1:z++,O+=W[K][1];break;case A1:Q++,G+=W[K][1];break;case s:if(Q>=1&&z>=1){W.splice(K-Q-z,Q+z),K=K-Q-z;var H=this.diff_main(G,O,!1,X);for(var U=H.length-1;U>=0;U--)W.splice(K,0,H[U]);K=K+H.length}z=0,Q=0,G="",O="";break}K++}return W.pop(),W};k.prototype.diff_bisect_=function($,Z,X){var Y=$.length,J=Z.length,W=Math.ceil((Y+J)/2),K=W,Q=2*W,z=Array(Q),G=Array(Q);for(var O=0;O<Q;O++)z[O]=-1,G[O]=-1;z[K+1]=0,G[K+1]=0;var H=Y-J,U=H%2!=0,M=0,A=0,F=0,P=0;for(var S=0;S<W;S++){if(new Date().getTime()>X)break;for(var T=-S+M;T<=S-A;T+=2){var p=K+T,f;if(T==-S||T!=S&&z[p-1]<z[p+1])f=z[p+1];else f=z[p-1]+1;var a=f-T;while(f<Y&&a<J&&$.charAt(f)==Z.charAt(a))f++,a++;if(z[p]=f,f>Y)A+=2;else if(a>J)M+=2;else if(U){var b=K+H-T;if(b>=0&&b<Q&&G[b]!=-1){var _=Y-G[b];if(f>=_)return this.diff_bisectSplit_($,Z,f,a,X)}}}for(var Z1=-S+F;Z1<=S-P;Z1+=2){var b=K+Z1,_;if(Z1==-S||Z1!=S&&G[b-1]<G[b+1])_=G[b+1];else _=G[b-1]+1;var E=_-Z1;while(_<Y&&E<J&&$.charAt(Y-_-1)==Z.charAt(J-E-1))_++,E++;if(G[b]=_,_>Y)P+=2;else if(E>J)F+=2;else if(!U){var p=K+H-Z1;if(p>=0&&p<Q&&z[p]!=-1){var f=z[p],a=K+f-p;if(_=Y-_,f>=_)return this.diff_bisectSplit_($,Z,f,a,X)}}}}return[new k.Diff(A1,$),new k.Diff(C1,Z)]};k.prototype.diff_bisectSplit_=function($,Z,X,Y,J){var W=$.substring(0,X),K=Z.substring(0,Y),Q=$.substring(X),z=Z.substring(Y),G=this.diff_main(W,K,!1,J),O=this.diff_main(Q,z,!1,J);return G.concat(O)};k.prototype.diff_linesToChars_=function($,Z){var X=[],Y={};X[0]="";function J(z){var G="",O=0,H=-1,U=X.length;while(H<z.length-1){if(H=z.indexOf(`
2
- `,O),H==-1)H=z.length-1;var M=z.substring(O,H+1);if(Y.hasOwnProperty?Y.hasOwnProperty(M):Y[M]!==void 0)G+=String.fromCharCode(Y[M]);else{if(U==W)M=z.substring(O),H=z.length;G+=String.fromCharCode(U),Y[M]=U,X[U++]=M}O=H+1}return G}var W=40000,K=J($);W=65535;var Q=J(Z);return{chars1:K,chars2:Q,lineArray:X}};k.prototype.diff_charsToLines_=function($,Z){for(var X=0;X<$.length;X++){var Y=$[X][1],J=[];for(var W=0;W<Y.length;W++)J[W]=Z[Y.charCodeAt(W)];$[X][1]=J.join("")}};k.prototype.diff_commonPrefix=function($,Z){if(!$||!Z||$.charAt(0)!=Z.charAt(0))return 0;var X=0,Y=Math.min($.length,Z.length),J=Y,W=0;while(X<J){if($.substring(W,J)==Z.substring(W,J))X=J,W=X;else Y=J;J=Math.floor((Y-X)/2+X)}return J};k.prototype.diff_commonSuffix=function($,Z){if(!$||!Z||$.charAt($.length-1)!=Z.charAt(Z.length-1))return 0;var X=0,Y=Math.min($.length,Z.length),J=Y,W=0;while(X<J){if($.substring($.length-J,$.length-W)==Z.substring(Z.length-J,Z.length-W))X=J,W=X;else Y=J;J=Math.floor((Y-X)/2+X)}return J};k.prototype.diff_commonOverlap_=function($,Z){var X=$.length,Y=Z.length;if(X==0||Y==0)return 0;if(X>Y)$=$.substring(X-Y);else if(X<Y)Z=Z.substring(0,X);var J=Math.min(X,Y);if($==Z)return J;var W=0,K=1;while(!0){var Q=$.substring(J-K),z=Z.indexOf(Q);if(z==-1)return W;if(K+=z,z==0||$.substring(J-K)==Z.substring(0,K))W=K,K++}};k.prototype.diff_halfMatch_=function($,Z){if(this.Diff_Timeout<=0)return null;var X=$.length>Z.length?$:Z,Y=$.length>Z.length?Z:$;if(X.length<4||Y.length*2<X.length)return null;var J=this;function W(A,F,P){var S=A.substring(P,P+Math.floor(A.length/4)),T=-1,p="",f,a,b,_;while((T=F.indexOf(S,T+1))!=-1){var Z1=J.diff_commonPrefix(A.substring(P),F.substring(T)),E=J.diff_commonSuffix(A.substring(0,P),F.substring(0,T));if(p.length<E+Z1)p=F.substring(T-E,T)+F.substring(T,T+Z1),f=A.substring(0,P-E),a=A.substring(P+Z1),b=F.substring(0,T-E),_=F.substring(T+Z1)}if(p.length*2>=A.length)return[f,a,b,_,p];else return null}var K=W(X,Y,Math.ceil(X.length/4)),Q=W(X,Y,Math.ceil(X.length/2)),z;if(!K&&!Q)return null;else if(!Q)z=K;else if(!K)z=Q;else z=K[4].length>Q[4].length?K:Q;var G,O,H,U;if($.length>Z.length)G=z[0],O=z[1],H=z[2],U=z[3];else H=z[0],U=z[1],G=z[2],O=z[3];var M=z[4];return[G,O,H,U,M]};k.prototype.diff_cleanupSemantic=function($){var Z=!1,X=[],Y=0,J=null,W=0,K=0,Q=0,z=0,G=0;while(W<$.length){if($[W][0]==s)X[Y++]=W,K=z,Q=G,z=0,G=0,J=$[W][1];else{if($[W][0]==C1)z+=$[W][1].length;else G+=$[W][1].length;if(J&&J.length<=Math.max(K,Q)&&J.length<=Math.max(z,G))$.splice(X[Y-1],0,new k.Diff(A1,J)),$[X[Y-1]+1][0]=C1,Y--,Y--,W=Y>0?X[Y-1]:-1,K=0,Q=0,z=0,G=0,J=null,Z=!0}W++}if(Z)this.diff_cleanupMerge($);this.diff_cleanupSemanticLossless($),W=1;while(W<$.length){if($[W-1][0]==A1&&$[W][0]==C1){var O=$[W-1][1],H=$[W][1],U=this.diff_commonOverlap_(O,H),M=this.diff_commonOverlap_(H,O);if(U>=M){if(U>=O.length/2||U>=H.length/2)$.splice(W,0,new k.Diff(s,H.substring(0,U))),$[W-1][1]=O.substring(0,O.length-U),$[W+1][1]=H.substring(U),W++}else if(M>=O.length/2||M>=H.length/2)$.splice(W,0,new k.Diff(s,O.substring(0,M))),$[W-1][0]=C1,$[W-1][1]=H.substring(0,H.length-M),$[W+1][0]=A1,$[W+1][1]=O.substring(M),W++;W++}W++}};k.prototype.diff_cleanupSemanticLossless=function($){function Z(M,A){if(!M||!A)return 6;var F=M.charAt(M.length-1),P=A.charAt(0),S=F.match(k.nonAlphaNumericRegex_),T=P.match(k.nonAlphaNumericRegex_),p=S&&F.match(k.whitespaceRegex_),f=T&&P.match(k.whitespaceRegex_),a=p&&F.match(k.linebreakRegex_),b=f&&P.match(k.linebreakRegex_),_=a&&M.match(k.blanklineEndRegex_),Z1=b&&A.match(k.blanklineStartRegex_);if(_||Z1)return 5;else if(a||b)return 4;else if(S&&!p&&f)return 3;else if(p||f)return 2;else if(S||T)return 1;return 0}var X=1;while(X<$.length-1){if($[X-1][0]==s&&$[X+1][0]==s){var Y=$[X-1][1],J=$[X][1],W=$[X+1][1],K=this.diff_commonSuffix(Y,J);if(K){var Q=J.substring(J.length-K);Y=Y.substring(0,Y.length-K),J=Q+J.substring(0,J.length-K),W=Q+W}var z=Y,G=J,O=W,H=Z(Y,J)+Z(J,W);while(J.charAt(0)===W.charAt(0)){Y+=J.charAt(0),J=J.substring(1)+W.charAt(0),W=W.substring(1);var U=Z(Y,J)+Z(J,W);if(U>=H)H=U,z=Y,G=J,O=W}if($[X-1][1]!=z){if(z)$[X-1][1]=z;else $.splice(X-1,1),X--;if($[X][1]=G,O)$[X+1][1]=O;else $.splice(X+1,1),X--}}X++}};k.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;k.whitespaceRegex_=/\s/;k.linebreakRegex_=/[\r\n]/;k.blanklineEndRegex_=/\n\r?\n$/;k.blanklineStartRegex_=/^\r?\n\r?\n/;k.prototype.diff_cleanupEfficiency=function($){var Z=!1,X=[],Y=0,J=null,W=0,K=!1,Q=!1,z=!1,G=!1;while(W<$.length){if($[W][0]==s){if($[W][1].length<this.Diff_EditCost&&(z||G))X[Y++]=W,K=z,Q=G,J=$[W][1];else Y=0,J=null;z=G=!1}else{if($[W][0]==A1)G=!0;else z=!0;if(J&&(K&&Q&&z&&G||J.length<this.Diff_EditCost/2&&K+Q+z+G==3)){if($.splice(X[Y-1],0,new k.Diff(A1,J)),$[X[Y-1]+1][0]=C1,Y--,J=null,K&&Q)z=G=!0,Y=0;else Y--,W=Y>0?X[Y-1]:-1,z=G=!1;Z=!0}}W++}if(Z)this.diff_cleanupMerge($)};k.prototype.diff_cleanupMerge=function($){$.push(new k.Diff(s,""));var Z=0,X=0,Y=0,J="",W="",K;while(Z<$.length)switch($[Z][0]){case C1:Y++,W+=$[Z][1],Z++;break;case A1:X++,J+=$[Z][1],Z++;break;case s:if(X+Y>1){if(X!==0&&Y!==0){if(K=this.diff_commonPrefix(W,J),K!==0){if(Z-X-Y>0&&$[Z-X-Y-1][0]==s)$[Z-X-Y-1][1]+=W.substring(0,K);else $.splice(0,0,new k.Diff(s,W.substring(0,K))),Z++;W=W.substring(K),J=J.substring(K)}if(K=this.diff_commonSuffix(W,J),K!==0)$[Z][1]=W.substring(W.length-K)+$[Z][1],W=W.substring(0,W.length-K),J=J.substring(0,J.length-K)}if(Z-=X+Y,$.splice(Z,X+Y),J.length)$.splice(Z,0,new k.Diff(A1,J)),Z++;if(W.length)$.splice(Z,0,new k.Diff(C1,W)),Z++;Z++}else if(Z!==0&&$[Z-1][0]==s)$[Z-1][1]+=$[Z][1],$.splice(Z,1);else Z++;Y=0,X=0,J="",W="";break}if($[$.length-1][1]==="")$.pop();var Q=!1;Z=1;while(Z<$.length-1){if($[Z-1][0]==s&&$[Z+1][0]==s){if($[Z][1].substring($[Z][1].length-$[Z-1][1].length)==$[Z-1][1])$[Z][1]=$[Z-1][1]+$[Z][1].substring(0,$[Z][1].length-$[Z-1][1].length),$[Z+1][1]=$[Z-1][1]+$[Z+1][1],$.splice(Z-1,1),Q=!0;else if($[Z][1].substring(0,$[Z+1][1].length)==$[Z+1][1])$[Z-1][1]+=$[Z+1][1],$[Z][1]=$[Z][1].substring($[Z+1][1].length)+$[Z+1][1],$.splice(Z+1,1),Q=!0}Z++}if(Q)this.diff_cleanupMerge($)};k.prototype.diff_xIndex=function($,Z){var X=0,Y=0,J=0,W=0,K;for(K=0;K<$.length;K++){if($[K][0]!==C1)X+=$[K][1].length;if($[K][0]!==A1)Y+=$[K][1].length;if(X>Z)break;J=X,W=Y}if($.length!=K&&$[K][0]===A1)return W;return W+(Z-J)};k.prototype.diff_prettyHtml=function($){var Z=[],X=/&/g,Y=/</g,J=/>/g,W=/\n/g;for(var K=0;K<$.length;K++){var Q=$[K][0],z=$[K][1],G=z.replace(X,"&amp;").replace(Y,"&lt;").replace(J,"&gt;").replace(W,"&para;<br>");switch(Q){case C1:Z[K]='<ins style="background:#e6ffe6;">'+G+"</ins>";break;case A1:Z[K]='<del style="background:#ffe6e6;">'+G+"</del>";break;case s:Z[K]="<span>"+G+"</span>";break}}return Z.join("")};k.prototype.diff_text1=function($){var Z=[];for(var X=0;X<$.length;X++)if($[X][0]!==C1)Z[X]=$[X][1];return Z.join("")};k.prototype.diff_text2=function($){var Z=[];for(var X=0;X<$.length;X++)if($[X][0]!==A1)Z[X]=$[X][1];return Z.join("")};k.prototype.diff_levenshtein=function($){var Z=0,X=0,Y=0;for(var J=0;J<$.length;J++){var W=$[J][0],K=$[J][1];switch(W){case C1:X+=K.length;break;case A1:Y+=K.length;break;case s:Z+=Math.max(X,Y),X=0,Y=0;break}}return Z+=Math.max(X,Y),Z};k.prototype.diff_toDelta=function($){var Z=[];for(var X=0;X<$.length;X++)switch($[X][0]){case C1:Z[X]="+"+encodeURI($[X][1]);break;case A1:Z[X]="-"+$[X][1].length;break;case s:Z[X]="="+$[X][1].length;break}return Z.join("\t").replace(/%20/g," ")};k.prototype.diff_fromDelta=function($,Z){var X=[],Y=0,J=0,W=Z.split(/\t/g);for(var K=0;K<W.length;K++){var Q=W[K].substring(1);switch(W[K].charAt(0)){case"+":try{X[Y++]=new k.Diff(C1,decodeURI(Q))}catch(O){throw Error("Illegal escape in diff_fromDelta: "+Q)}break;case"-":case"=":var z=parseInt(Q,10);if(isNaN(z)||z<0)throw Error("Invalid number in diff_fromDelta: "+Q);var G=$.substring(J,J+=z);if(W[K].charAt(0)=="=")X[Y++]=new k.Diff(s,G);else X[Y++]=new k.Diff(A1,G);break;default:if(W[K])throw Error("Invalid diff operation in diff_fromDelta: "+W[K])}}if(J!=$.length)throw Error("Delta length ("+J+") does not equal source text length ("+$.length+").");return X};k.prototype.match_main=function($,Z,X){if($==null||Z==null||X==null)throw Error("Null input. (match_main)");if(X=Math.max(0,Math.min(X,$.length)),$==Z)return 0;else if(!$.length)return-1;else if($.substring(X,X+Z.length)==Z)return X;else return this.match_bitap_($,Z,X)};k.prototype.match_bitap_=function($,Z,X){if(Z.length>this.Match_MaxBits)throw Error("Pattern too long for this browser.");var Y=this.match_alphabet_(Z),J=this;function W(f,a){var b=f/Z.length,_=Math.abs(X-a);if(!J.Match_Distance)return _?1:b;return b+_/J.Match_Distance}var K=this.Match_Threshold,Q=$.indexOf(Z,X);if(Q!=-1){if(K=Math.min(W(0,Q),K),Q=$.lastIndexOf(Z,X+Z.length),Q!=-1)K=Math.min(W(0,Q),K)}var z=1<<Z.length-1;Q=-1;var G,O,H=Z.length+$.length,U;for(var M=0;M<Z.length;M++){G=0,O=H;while(G<O){if(W(M,X+O)<=K)G=O;else H=O;O=Math.floor((H-G)/2+G)}H=O;var A=Math.max(1,X-O+1),F=Math.min(X+O,$.length)+Z.length,P=Array(F+2);P[F+1]=(1<<M)-1;for(var S=F;S>=A;S--){var T=Y[$.charAt(S-1)];if(M===0)P[S]=(P[S+1]<<1|1)&T;else P[S]=(P[S+1]<<1|1)&T|((U[S+1]|U[S])<<1|1)|U[S+1];if(P[S]&z){var p=W(M,S-1);if(p<=K)if(K=p,Q=S-1,Q>X)A=Math.max(1,2*X-Q);else break}}if(W(M+1,X)>K)break;U=P}return Q};k.prototype.match_alphabet_=function($){var Z={};for(var X=0;X<$.length;X++)Z[$.charAt(X)]=0;for(var X=0;X<$.length;X++)Z[$.charAt(X)]|=1<<$.length-X-1;return Z};k.prototype.patch_addContext_=function($,Z){if(Z.length==0)return;if($.start2===null)throw Error("patch not initialized");var X=Z.substring($.start2,$.start2+$.length1),Y=0;while(Z.indexOf(X)!=Z.lastIndexOf(X)&&X.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin)Y+=this.Patch_Margin,X=Z.substring($.start2-Y,$.start2+$.length1+Y);Y+=this.Patch_Margin;var J=Z.substring($.start2-Y,$.start2);if(J)$.diffs.unshift(new k.Diff(s,J));var W=Z.substring($.start2+$.length1,$.start2+$.length1+Y);if(W)$.diffs.push(new k.Diff(s,W));$.start1-=J.length,$.start2-=J.length,$.length1+=J.length+W.length,$.length2+=J.length+W.length};k.prototype.patch_make=function($,Z,X){var Y,J;if(typeof $=="string"&&typeof Z=="string"&&typeof X>"u"){if(Y=$,J=this.diff_main(Y,Z,!0),J.length>2)this.diff_cleanupSemantic(J),this.diff_cleanupEfficiency(J)}else if($&&typeof $=="object"&&typeof Z>"u"&&typeof X>"u")J=$,Y=this.diff_text1(J);else if(typeof $=="string"&&Z&&typeof Z=="object"&&typeof X>"u")Y=$,J=Z;else if(typeof $=="string"&&typeof Z=="string"&&X&&typeof X=="object")Y=$,J=X;else throw Error("Unknown call format to patch_make.");if(J.length===0)return[];var W=[],K=new k.patch_obj,Q=0,z=0,G=0,O=Y,H=Y;for(var U=0;U<J.length;U++){var M=J[U][0],A=J[U][1];if(!Q&&M!==s)K.start1=z,K.start2=G;switch(M){case C1:K.diffs[Q++]=J[U],K.length2+=A.length,H=H.substring(0,G)+A+H.substring(G);break;case A1:K.length1+=A.length,K.diffs[Q++]=J[U],H=H.substring(0,G)+H.substring(G+A.length);break;case s:if(A.length<=2*this.Patch_Margin&&Q&&J.length!=U+1)K.diffs[Q++]=J[U],K.length1+=A.length,K.length2+=A.length;else if(A.length>=2*this.Patch_Margin){if(Q)this.patch_addContext_(K,O),W.push(K),K=new k.patch_obj,Q=0,O=H,z=G}break}if(M!==C1)z+=A.length;if(M!==A1)G+=A.length}if(Q)this.patch_addContext_(K,O),W.push(K);return W};k.prototype.patch_deepCopy=function($){var Z=[];for(var X=0;X<$.length;X++){var Y=$[X],J=new k.patch_obj;J.diffs=[];for(var W=0;W<Y.diffs.length;W++)J.diffs[W]=new k.Diff(Y.diffs[W][0],Y.diffs[W][1]);J.start1=Y.start1,J.start2=Y.start2,J.length1=Y.length1,J.length2=Y.length2,Z[X]=J}return Z};k.prototype.patch_apply=function($,Z){if($.length==0)return[Z,[]];$=this.patch_deepCopy($);var X=this.patch_addPadding($);Z=X+Z+X,this.patch_splitMax($);var Y=0,J=[];for(var W=0;W<$.length;W++){var K=$[W].start2+Y,Q=this.diff_text1($[W].diffs),z,G=-1;if(Q.length>this.Match_MaxBits){if(z=this.match_main(Z,Q.substring(0,this.Match_MaxBits),K),z!=-1){if(G=this.match_main(Z,Q.substring(Q.length-this.Match_MaxBits),K+Q.length-this.Match_MaxBits),G==-1||z>=G)z=-1}}else z=this.match_main(Z,Q,K);if(z==-1)J[W]=!1,Y-=$[W].length2-$[W].length1;else{J[W]=!0,Y=z-K;var O;if(G==-1)O=Z.substring(z,z+Q.length);else O=Z.substring(z,G+this.Match_MaxBits);if(Q==O)Z=Z.substring(0,z)+this.diff_text2($[W].diffs)+Z.substring(z+Q.length);else{var H=this.diff_main(Q,O,!1);if(Q.length>this.Match_MaxBits&&this.diff_levenshtein(H)/Q.length>this.Patch_DeleteThreshold)J[W]=!1;else{this.diff_cleanupSemanticLossless(H);var U=0,M;for(var A=0;A<$[W].diffs.length;A++){var F=$[W].diffs[A];if(F[0]!==s)M=this.diff_xIndex(H,U);if(F[0]===C1)Z=Z.substring(0,z+M)+F[1]+Z.substring(z+M);else if(F[0]===A1)Z=Z.substring(0,z+M)+Z.substring(z+this.diff_xIndex(H,U+F[1].length));if(F[0]!==A1)U+=F[1].length}}}}}return Z=Z.substring(X.length,Z.length-X.length),[Z,J]};k.prototype.patch_addPadding=function($){var Z=this.Patch_Margin,X="";for(var Y=1;Y<=Z;Y++)X+=String.fromCharCode(Y);for(var Y=0;Y<$.length;Y++)$[Y].start1+=Z,$[Y].start2+=Z;var J=$[0],W=J.diffs;if(W.length==0||W[0][0]!=s)W.unshift(new k.Diff(s,X)),J.start1-=Z,J.start2-=Z,J.length1+=Z,J.length2+=Z;else if(Z>W[0][1].length){var K=Z-W[0][1].length;W[0][1]=X.substring(W[0][1].length)+W[0][1],J.start1-=K,J.start2-=K,J.length1+=K,J.length2+=K}if(J=$[$.length-1],W=J.diffs,W.length==0||W[W.length-1][0]!=s)W.push(new k.Diff(s,X)),J.length1+=Z,J.length2+=Z;else if(Z>W[W.length-1][1].length){var K=Z-W[W.length-1][1].length;W[W.length-1][1]+=X.substring(0,K),J.length1+=K,J.length2+=K}return X};k.prototype.patch_splitMax=function($){var Z=this.Match_MaxBits;for(var X=0;X<$.length;X++){if($[X].length1<=Z)continue;var Y=$[X];$.splice(X--,1);var{start1:J,start2:W}=Y,K="";while(Y.diffs.length!==0){var Q=new k.patch_obj,z=!0;if(Q.start1=J-K.length,Q.start2=W-K.length,K!=="")Q.length1=Q.length2=K.length,Q.diffs.push(new k.Diff(s,K));while(Y.diffs.length!==0&&Q.length1<Z-this.Patch_Margin){var G=Y.diffs[0][0],O=Y.diffs[0][1];if(G===C1)Q.length2+=O.length,W+=O.length,Q.diffs.push(Y.diffs.shift()),z=!1;else if(G===A1&&Q.diffs.length==1&&Q.diffs[0][0]==s&&O.length>2*Z)Q.length1+=O.length,J+=O.length,z=!1,Q.diffs.push(new k.Diff(G,O)),Y.diffs.shift();else{if(O=O.substring(0,Z-Q.length1-this.Patch_Margin),Q.length1+=O.length,J+=O.length,G===s)Q.length2+=O.length,W+=O.length;else z=!1;if(Q.diffs.push(new k.Diff(G,O)),O==Y.diffs[0][1])Y.diffs.shift();else Y.diffs[0][1]=Y.diffs[0][1].substring(O.length)}}K=this.diff_text2(Q.diffs),K=K.substring(K.length-this.Patch_Margin);var H=this.diff_text1(Y.diffs).substring(0,this.Patch_Margin);if(H!=="")if(Q.length1+=H.length,Q.length2+=H.length,Q.diffs.length!==0&&Q.diffs[Q.diffs.length-1][0]===s)Q.diffs[Q.diffs.length-1][1]+=H;else Q.diffs.push(new k.Diff(s,H));if(!z)$.splice(++X,0,Q)}}};k.prototype.patch_toText=function($){var Z=[];for(var X=0;X<$.length;X++)Z[X]=$[X];return Z.join("")};k.prototype.patch_fromText=function($){var Z=[];if(!$)return Z;var X=$.split(`
3
- `),Y=0,J=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;while(Y<X.length){var W=X[Y].match(J);if(!W)throw Error("Invalid patch string: "+X[Y]);var K=new k.patch_obj;if(Z.push(K),K.start1=parseInt(W[1],10),W[2]==="")K.start1--,K.length1=1;else if(W[2]=="0")K.length1=0;else K.start1--,K.length1=parseInt(W[2],10);if(K.start2=parseInt(W[3],10),W[4]==="")K.start2--,K.length2=1;else if(W[4]=="0")K.length2=0;else K.start2--,K.length2=parseInt(W[4],10);Y++;while(Y<X.length){var Q=X[Y].charAt(0);try{var z=decodeURI(X[Y].substring(1))}catch(G){throw Error("Illegal escape in patch_fromText: "+z)}if(Q=="-")K.diffs.push(new k.Diff(A1,z));else if(Q=="+")K.diffs.push(new k.Diff(C1,z));else if(Q==" ")K.diffs.push(new k.Diff(s,z));else if(Q=="@")break;else if(Q==="");else throw Error('Invalid patch mode "'+Q+'" in: '+z);Y++}}return Z};k.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};k.patch_obj.prototype.toString=function(){var $,Z;if(this.length1===0)$=this.start1+",0";else if(this.length1==1)$=this.start1+1;else $=this.start1+1+","+this.length1;if(this.length2===0)Z=this.start2+",0";else if(this.length2==1)Z=this.start2+1;else Z=this.start2+1+","+this.length2;var X=["@@ -"+$+" +"+Z+` @@
4
- `],Y;for(var J=0;J<this.diffs.length;J++){switch(this.diffs[J][0]){case C1:Y="+";break;case A1:Y="-";break;case s:Y=" ";break}X[J+1]=Y+encodeURI(this.diffs[J][1])+`
5
- `}return X.join("").replace(/%20/g," ")};M$.exports=k;M$.exports.diff_match_patch=k;M$.exports.DIFF_DELETE=A1;M$.exports.DIFF_INSERT=C1;M$.exports.DIFF_EQUAL=s});var W9=B7((J9,q8)=>{(($,Z)=>{if(typeof define==="function"&&define.amd)define([],Z);else if(typeof q8==="object"&&q8.exports)q8.exports=Z();else $.fuzzysort=Z()})(J9,($)=>{var Z=(R,L)=>{if(!R||!L)return P1;var y=M(R);if(!q4(L))L=U(L);var x=y.bitflags;if((x&L._bitflags)!==x)return P1;return F(y,L)},X=(R,L,y)=>{if(!R)return y?.all?A(L,y):t0;var x=M(R),u=x.bitflags,h=x.containsSpace,D=O(y?.threshold||0),l=y?.limit||PZ,c=0,z1=0,Y1=L.length;function W0(y4){if(c<l)j4.add(y4),++c;else if(++z1,y4._score>j4.peek()._score)j4.replaceTop(y4)}if(y?.key){var l1=y.key;for(var G1=0;G1<Y1;++G1){var s1=L[G1],N1=D4(s1,l1);if(!N1)continue;if(!q4(N1))N1=U(N1);if((u&N1._bitflags)!==u)continue;var M1=F(x,N1);if(M1===P1)continue;if(M1._score<D)continue;M1.obj=s1,W0(M1)}}else if(y?.keys){var A4=y.keys,L0=A4.length;$:for(var G1=0;G1<Y1;++G1){var s1=L[G1];{var i1=0;for(var J1=0;J1<L0;++J1){var l1=A4[J1],N1=D4(s1,l1);if(!N1){a1[J1]=J0;continue}if(!q4(N1))N1=U(N1);a1[J1]=N1,i1|=N1._bitflags}if((u&i1)!==u)continue}if(h)for(let U1=0;U1<x.spaceSearches.length;U1++)n[U1]=f1;for(var J1=0;J1<L0;++J1){if(N1=a1[J1],N1===J0){Y0[J1]=J0;continue}if(Y0[J1]=F(x,N1,!1,h),Y0[J1]===P1){Y0[J1]=J0;continue}if(h)for(let q1=0;q1<x.spaceSearches.length;q1++){if(Q1[q1]>-1000){if(n[q1]>f1){var u1=(n[q1]+Q1[q1])/4;if(u1>n[q1])n[q1]=u1}}if(Q1[q1]>n[q1])n[q1]=Q1[q1]}}if(h){for(let U1=0;U1<x.spaceSearches.length;U1++)if(n[U1]===f1)continue $}else{var X1=!1;for(let U1=0;U1<L0;U1++)if(Y0[U1]._score!==f1){X1=!0;break}if(!X1)continue}var O0=new Q(L0);for(let U1=0;U1<L0;U1++)O0[U1]=Y0[U1];if(h){var I1=0;for(let U1=0;U1<x.spaceSearches.length;U1++)I1+=n[U1]}else{var I1=f1;for(let q1=0;q1<L0;q1++){var M1=O0[q1];if(M1._score>-1000){if(I1>f1){var u1=(I1+M1._score)/4;if(u1>I1)I1=u1}}if(M1._score>I1)I1=M1._score}}if(O0.obj=s1,O0._score=I1,y?.scoreFn){if(I1=y.scoreFn(O0),!I1)continue;I1=O(I1),O0._score=I1}if(I1<D)continue;W0(O0)}}else for(var G1=0;G1<Y1;++G1){var N1=L[G1];if(!N1)continue;if(!q4(N1))N1=U(N1);if((u&N1._bitflags)!==u)continue;var M1=F(x,N1);if(M1===P1)continue;if(M1._score<D)continue;W0(M1)}if(c===0)return t0;var F4=Array(c);for(var G1=c-1;G1>=0;--G1)F4[G1]=j4.poll();return F4.total=c+z1,F4},Y=(R,L="<b>",y="</b>")=>{var x=typeof L==="function"?L:void 0,u=R.target,h=u.length,D=R.indexes,l="",c=0,z1=0,Y1=!1,W0=[];for(var l1=0;l1<h;++l1){var G1=u[l1];if(D[z1]===l1){if(++z1,!Y1)if(Y1=!0,x)W0.push(l),l="";else l+=L;if(z1===D.length){if(x)l+=G1,W0.push(x(l,c++)),l="",W0.push(u.substr(l1+1));else l+=G1+y+u.substr(l1+1);break}}else if(Y1)if(Y1=!1,x)W0.push(x(l,c++)),l="";else l+=y;l+=G1}return x?W0:l},J=(R)=>{if(typeof R==="number")R=""+R;else if(typeof R!=="string")R="";var L=T(R);return z(R,{_targetLower:L._lower,_targetLowerCodes:L.lowerCodes,_bitflags:L.bitflags})},W=()=>{a.clear(),b.clear()};class K{get["indexes"](){return this._indexes.slice(0,this._indexes.len).sort((R,L)=>R-L)}set["indexes"](R){return this._indexes=R}["highlight"](R,L){return Y(this,R,L)}get["score"](){return G(this._score)}set["score"](R){this._score=O(R)}}class Q extends Array{get["score"](){return G(this._score)}set["score"](R){this._score=O(R)}}var z=(R,L)=>{let y=new K;return y.target=R,y.obj=L.obj??P1,y._score=L._score??f1,y._indexes=L._indexes??[],y._targetLower=L._targetLower??"",y._targetLowerCodes=L._targetLowerCodes??P1,y._nextBeginningIndexes=L._nextBeginningIndexes??P1,y._bitflags=L._bitflags??0,y},G=(R)=>{if(R===f1)return 0;if(R>1)return R;return Math.E**(((-R+1)**0.04307-1)*-2)},O=(R)=>{if(R===0)return f1;if(R>1)return R;return 1-Math.pow(Math.log(R)/-2+1,23.218017181332716)},H=(R)=>{if(typeof R==="number")R=""+R;else if(typeof R!=="string")R="";R=R.trim();var L=T(R),y=[];if(L.containsSpace){var x=R.split(/\s+/);x=[...new Set(x)];for(var u=0;u<x.length;u++){if(x[u]==="")continue;var h=T(x[u]);y.push({lowerCodes:h.lowerCodes,_lower:x[u].toLowerCase(),containsSpace:!1})}}return{lowerCodes:L.lowerCodes,_lower:L._lower,containsSpace:L.containsSpace,bitflags:L.bitflags,spaceSearches:y}},U=(R)=>{if(R.length>999)return J(R);var L=a.get(R);if(L!==void 0)return L;return L=J(R),a.set(R,L),L},M=(R)=>{if(R.length>999)return H(R);var L=b.get(R);if(L!==void 0)return L;return L=H(R),b.set(R,L),L},A=(R,L)=>{var y=[];y.total=R.length;var x=L?.limit||PZ;if(L?.key)for(var u=0;u<R.length;u++){var h=R[u],D=D4(h,L.key);if(D==P1)continue;if(!q4(D))D=U(D);var l=z(D.target,{_score:D._score,obj:h});if(y.push(l),y.length>=x)return y}else if(L?.keys)for(var u=0;u<R.length;u++){var h=R[u],c=new Q(L.keys.length);for(var z1=L.keys.length-1;z1>=0;--z1){var D=D4(h,L.keys[z1]);if(!D){c[z1]=J0;continue}if(!q4(D))D=U(D);D._score=f1,D._indexes.len=0,c[z1]=D}if(c.obj=h,c._score=f1,y.push(c),y.length>=x)return y}else for(var u=0;u<R.length;u++){var D=R[u];if(D==P1)continue;if(!q4(D))D=U(D);if(D._score=f1,D._indexes.len=0,y.push(D),y.length>=x)return y}return y},F=(R,L,y=!1,x=!1)=>{if(y===!1&&R.containsSpace)return P(R,L,x);var{_lower:u,lowerCodes:h}=R,D=h[0],l=L._targetLowerCodes,c=h.length,z1=l.length,G1=0,Y1=0,W0=0;for(;;){var l1=D===l[Y1];if(l1){if(_[W0++]=Y1,++G1,G1===c)break;D=h[G1]}if(++Y1,Y1>=z1)return P1}var G1=0,s1=!1,N1=0,M1=L._nextBeginningIndexes;if(M1===P1)M1=L._nextBeginningIndexes=f(L.target);Y1=_[0]===0?0:M1[_[0]-1];var A4=0;if(Y1!==z1)for(;;)if(Y1>=z1){if(G1<=0)break;if(++A4,A4>200)break;--G1;var L0=Z1[--N1];Y1=M1[L0]}else{var l1=h[G1]===l[Y1];if(l1){if(Z1[N1++]=Y1,++G1,G1===c){s1=!0;break}++Y1}else Y1=M1[Y1]}var i1=c<=1?-1:L._targetLower.indexOf(u,_[0]),J1=!!~i1,u1=!J1?!1:i1===0||L._nextBeginningIndexes[i1-1]===i1;if(J1&&!u1)for(var X1=0;X1<M1.length;X1=M1[X1]){if(X1<=i1)continue;for(var O0=0;O0<c;O0++)if(h[O0]!==L._targetLowerCodes[X1+O0])break;if(O0===c){i1=X1,u1=!0;break}}var I1=(U1)=>{var q1=0,f6=0;for(var e0=1;e0<c;++e0)if(U1[e0]-U1[e0-1]!==1)q1-=U1[e0],++f6;var o9=U1[c-1]-U1[0]-(c-1);if(q1-=(12+o9)*f6,U1[0]!==0)q1-=U1[0]*U1[0]*0.2;if(!s1)q1*=1000;else{var L8=1;for(var e0=M1[0];e0<z1;e0=M1[e0])++L8;if(L8>24)q1*=(L8-24)*10}if(q1-=(z1-c)/2,J1)q1/=1+c*c*1;if(u1)q1/=1+c*c*1;return q1-=(z1-c)/2,q1};if(!s1){if(J1)for(var X1=0;X1<c;++X1)_[X1]=i1+X1;var F4=_,y4=I1(F4)}else if(u1){for(var X1=0;X1<c;++X1)_[X1]=i1+X1;var F4=_,y4=I1(_)}else var F4=Z1,y4=I1(Z1);L._score=y4;for(var X1=0;X1<c;++X1)L._indexes[X1]=F4[X1];L._indexes.len=c;let LZ=new K;return LZ.target=L.target,LZ._score=L._score,LZ._indexes=L._indexes,LZ},P=(R,L,y)=>{var x=new Set,u=0,h=P1,D=0,l=R.spaceSearches,c=l.length,z1=0,Y1=()=>{for(let u1=z1-1;u1>=0;u1--)L._nextBeginningIndexes[E[u1*2+0]]=E[u1*2+1]},W0=!1;for(var J1=0;J1<c;++J1){Q1[J1]=f1;var l1=l[J1];if(h=F(l1,L),y){if(h===P1)continue;W0=!0}else if(h===P1)return Y1(),P1;var G1=J1===c-1;if(!G1){var s1=h._indexes,N1=!0;for(let X1=0;X1<s1.len-1;X1++)if(s1[X1+1]-s1[X1]!==1){N1=!1;break}if(N1){var M1=s1[s1.len-1]+1,A4=L._nextBeginningIndexes[M1-1];for(let X1=M1-1;X1>=0;X1--){if(A4!==L._nextBeginningIndexes[X1])break;L._nextBeginningIndexes[X1]=M1,E[z1*2+0]=X1,E[z1*2+1]=A4,z1++}}}if(u+=h._score/c,Q1[J1]=h._score/c,h._indexes[0]<D)u-=(D-h._indexes[0])*2;D=h._indexes[0];for(var L0=0;L0<h._indexes.len;++L0)x.add(h._indexes[L0])}if(y&&!W0)return P1;Y1();var i1=F(R,L,!0);if(i1!==P1&&i1._score>u){if(y)for(var J1=0;J1<c;++J1)Q1[J1]=i1._score/c;return i1}if(y)h=L;h._score=u;var J1=0;for(let u1 of x)h._indexes[J1++]=u1;return h._indexes.len=J1,h},S=(R)=>R.replace(/\p{Script=Latin}+/gu,(L)=>L.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),T=(R)=>{R=S(R);var L=R.length,y=R.toLowerCase(),x=[],u=0,h=!1;for(var D=0;D<L;++D){var l=x[D]=y.charCodeAt(D);if(l===32){h=!0;continue}var c=l>=97&&l<=122?l-97:l>=48&&l<=57?26:l<=127?30:31;u|=1<<c}return{lowerCodes:x,bitflags:u,containsSpace:h,_lower:y}},p=(R)=>{var L=R.length,y=[],x=0,u=!1,h=!1;for(var D=0;D<L;++D){var l=R.charCodeAt(D),c=l>=65&&l<=90,z1=c||l>=97&&l<=122||l>=48&&l<=57,Y1=c&&!u||!h||!z1;if(u=c,h=z1,Y1)y[x++]=D}return y},f=(R)=>{R=S(R);var L=R.length,y=p(R),x=[],u=y[0],h=0;for(var D=0;D<L;++D)if(u>D)x[D]=u;else u=y[++h],x[D]=u===void 0?L:u;return x},a=new Map,b=new Map,_=[],Z1=[],E=[],n=[],Q1=[],a1=[],Y0=[],D4=(R,L)=>{var y=R[L];if(y!==void 0)return y;if(typeof L==="function")return L(R);var x=L;if(!Array.isArray(L))x=L.split(".");var u=x.length,h=-1;while(R&&++h<u)R=R[x[h]];return R},q4=(R)=>{return typeof R==="object"&&typeof R._bitflags==="number"},PZ=1/0,f1=-PZ,t0=[];t0.total=0;var P1=null,J0=J(""),P$=(R)=>{var L=[],y=0,x={},u=(h)=>{for(var D=0,l=L[D],c=1;c<y;){var z1=c+1;D=c,z1<y&&L[z1]._score<L[c]._score&&(D=z1),L[D-1>>1]=L[D],c=1+(D<<1)}for(var Y1=D-1>>1;D>0&&l._score<L[Y1]._score;Y1=(D=Y1)-1>>1)L[D]=L[Y1];L[D]=l};return x.add=(h)=>{var D=y;L[y++]=h;for(var l=D-1>>1;D>0&&h._score<L[l]._score;l=(D=l)-1>>1)L[D]=L[l];L[D]=h},x.poll=(h)=>{if(y!==0){var D=L[0];return L[0]=L[--y],u(),D}},x.peek=(h)=>{if(y!==0)return L[0]},x.replaceTop=(h)=>{L[0]=h,u()},x},j4=P$();return{single:Z,go:X,prepare:J,cleanup:W}})});var x6=B(V(),1),n9=new h6({defaultOptions:{queries:{retry:($,Z)=>{if(Z instanceof TypeError&&Z.message.includes("fetch"))return $<2;return!1},refetchOnWindowFocus:!1,refetchOnMount:!0,refetchOnReconnect:!1,staleTime:300000,gcTime:600000,networkMode:"online"},mutations:{retry:1,networkMode:"online"}}});function m6({children:$}){return x6.jsxDEV(g6,{client:n9,children:$},void 0,!1,void 0,this)}async function u6($,Z,X,Y){let J={threadId:Z,graphId:X,runId:Y};try{let K=(await $.get(Z)).values;if(!K?.messages||!Array.isArray(K.messages)||K.messages.length===0)return;let z=await R0.getTitleGenerator()(K,{thread_id:Z,graph_id:X,run_id:Y});if(z){if(!await $.setTitleIfNull(Z,z))return}}catch(W){console.warn("Failed to generate thread title:",{...J,error:W instanceof Error?W.message:String(W)})}}var c6={async search($){let Z=Object.entries(RZ).map(([W,K])=>({assistant_id:W,graph_id:W,config:{},metadata:{},version:1,name:W,description:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()}));if($?.graphId)Z=Z.filter((W)=>W.graph_id===$.graphId);if($?.metadata&&Object.keys($.metadata).length>0)Z=Z.filter((W)=>{return Object.entries($.metadata).every(([K,Q])=>{return W.metadata&&W.metadata[K]===Q})});if($?.sortBy)Z.sort((W,K)=>{let Q=W[$.sortBy],z=K[$.sortBy],G=Q<z?-1:Q>z?1:0;return $.sortOrder==="desc"?-G:G});let X=$?.offset??0,Y=$?.limit;return Y?Z.slice(X,X+Y):Z.slice(X)},async count($){return(await this.search($)).length},async get($){if(!Object.entries(RZ).find(([X,Y])=>X===$))throw Error(`Assistant not found: ${$}`);return{assistant_id:$,graph_id:$,config:{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),metadata:{},version:1,name:$,description:""}},async delete($){throw Error("Deleting assistants is not supported. Assistants are generated from registered graphs.")},async update($,Z){throw Error("Updating assistants is not supported. Assistants are generated from registered graphs.")},async getGraph($,Z){let X={};return(await(await I0($,X)).getGraphAsync({...X,xray:Z?.xray??void 0})).toJSON()},async getSchemas($){let X=(await I0($,{})).builder;return console.log(X),{graph_id:$,state_schema:X._inputDefinition,input_schema:X._inputDefinition,output_schema:X._outputDefinition,config_schema:X._configSchema,context_schema:X._configSchema}},async getVersions($,Z){let X=await this.get($),Y=Z?.offset??0,J=Z?.limit;return J?[X].slice(Y,Y+J):[X].slice(Y)},async setLatest($,Z){let X=await this.get($);return X.version=Z,X},async create($){if(console.warn("⚠️ Creating assistants is not supported. Assistants are generated from registered graphs. Returning mock data."),!Object.keys(RZ).includes($.graphId)){if($.ifExists==="raise")throw Error(`Graph not found: ${$.graphId}`)}return{assistant_id:$.assistantId||$.graphId,graph_id:$.graphId,name:$.name||$.graphId,description:$.description||"",metadata:$.metadata||{},config:$.config||{},version:1,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}}},R8=()=>{let $=()=>{return R0.globalThreadsManager};return{assistants:c6,get threads(){return R0.globalThreadsManager},runs:{list(Z,X){return $().listRuns(Z,X)},async cancel(Z,X,Y,J){return await R0.globalMessageQueue.cancelQueue(X)},async*stream(Z,X,Y){Y.config={...Y.config??{},configurable:{...Y.config?.configurable??{},graph_id:X,thread_id:Z}};let J=$(),W=J.createRun(Z,X,Y);try{for await(let Q of $4(J,W,Y,{attempt:0,getGraph:I0}))yield Q;let K=await W;await u6(J,Z,X,K.run_id)}catch(K){try{let Q=await W;await u6(J,Z,X,Q.run_id)}catch{}throw K}},async*joinStream(Z,X,Y){let J=Y&&typeof Y==="object"&&"signal"in Y?Y:{},W=(Y instanceof AbortSignal?Y:J.signal)||new AbortController().signal,K=null,Q=null;try{K=await R0.globalMessageQueue.getQueue(X);let z=await K.getAll();for(let G of z){if(W.aborted)return;if(yield{id:G.id,event:G.event,data:G.data},G.event==="__stream_end__"||G.event==="__stream_error__"||G.event==="__stream_cancel__")return}Q=K.onDataReceive();for await(let G of Q){if(W.aborted)break;let{event:O,data:H}=G;if(yield{id:G.id,event:O,data:H},G.event==="__stream_end__"||G.event==="__stream_error__"||G.event==="__stream_cancel__")break}}catch(z){if(!(z instanceof Error)||!z.message.includes("does not exist"))console.warn("Join stream failed:",z)}finally{if(Q)try{await Q.return(void 0)}catch(z){}}}}}};var E4=($,Z)=>$.constructor.name===Z.name,o1=new Map;o1.set(j.ZodBoolean.name,()=>!1),o1.set(j.ZodNumber.name,()=>0),o1.set(j.ZodString.name,()=>""),o1.set(j.ZodArray.name,()=>[]),o1.set(j.ZodRecord.name,()=>({})),o1.set(j.ZodDefault.name,($)=>$.def.defaultValue),o1.set(j.ZodPipe.name,($)=>L$($.def.in)),o1.set(j.ZodOptional.name,($)=>E4($.def.innerType,j.ZodDefault)?$.def.innerType.def.defaultValue:void 0),o1.set(j.ZodTuple.name,($)=>{let Z=[];for(let X of $.def.items)Z.push(L$(X));return Z}),o1.set(j.ZodPipe.name,($)=>L$($.def.in)),o1.set(j.ZodUnion.name,($)=>L$($.def.options[0])),o1.set(j.ZodObject.name,($)=>v4($)),o1.set(j.ZodRecord.name,($)=>v4($)),o1.set(j.ZodIntersection.name,($)=>v4($));function L$($){let Z=$.constructor.name;if(!o1.has(Z)){console.warn("getSchemaDefaultForField: Unhandled type",$.constructor.name);return}return o1.get(Z)($)}function v4($){if(E4($,j.ZodRecord))return{};if(E4($,j.ZodPipe))return v4($.def.in);if(E4($,j.ZodIntersection))return{...v4($.def.left),...v4($.def.right)};if(E4($,j.ZodUnion)){for(let Z of $.def.options)if(E4(Z,j.ZodObject))return v4(Z);return console.warn("getSchemaDefaultObject: No object found in union, returning empty object"),{}}return E4($,j.ZodObject)?Object.fromEntries(Object.entries($.shape).map(([Z,X])=>[Z,L$(X)]).filter((Z)=>Z[1]!==void 0)):(console.warn(`getSchemaDefaultObject: Expected object schema, got ${$.constructor.name}`),{})}var Wz=j.object({task_store:j.record(j.string(),j.any()).default({})}),Kz=j.object({task_id:j.string().optional().describe("The task id to ask the subagent, if not provided, will use the tool call id"),subagent_id:j.string(),task_description:j.string().describe("Describe the user state and what you want the subagent to do."),data_transfer:j.any().optional().describe("Data to transfer to the subagent.")});var $1=R8(),r9=q.object({thread_id:q.string().optional(),thread_ts:q.string().optional()}).catchall(q.unknown()),$$=q.object({tags:q.array(q.string()).optional(),recursion_limit:q.number().int().optional(),configurable:r9.optional()}).catchall(q.unknown()).describe("The configuration of an assistant.");q.object({assistant_id:q.string(),graph_id:q.string(),config:$$,created_at:q.string(),updated_at:q.string(),metadata:q.object({}).catchall(q.any())});var d0=q.object({source:q.union([q.literal("input"),q.literal("loop"),q.literal("update"),q.string()]).optional(),step:q.number().optional(),writes:q.any().nullable().optional(),parents:q.any().optional()}).catchall(q.unknown()),p6=q.object({node:q.string(),input:q.unknown().optional()}),k8=q.object({update:q.union([q.any(),q.array(q.tuple([q.string(),q.any()]))]).nullable().optional(),resume:q.unknown().optional(),goto:q.union([p6,q.array(p6),q.string(),q.array(q.string())]).optional()});q.object({limit:q.number().int().optional(),offset:q.number().int().optional()});var K0=q.object({thread_id:q.string()}),R$=q.object({thread_id:q.string(),run_id:q.string()}),a9=q.object({graph_id:q.string().optional(),metadata:d0.optional(),limit:q.number().int().optional(),offset:q.number().int().optional(),sort_by:q.enum(["assistant_id","graph_id","name","created_at","updated_at"]).optional(),sort_order:q.enum(["asc","desc"]).optional()}),s9=q.object({graph_id:q.string().optional(),metadata:d0.optional()}),t9=q.object({xray:q.union([q.string(),q.boolean(),q.number()]).optional()}),d6=q.object({name:q.string().optional(),description:q.string().optional(),metadata:d0.optional(),config:$$.optional()}).optional(),e9=q.object({assistant_id:q.string().optional(),graph_id:q.string().describe("The ID of graph to create an assistant from."),name:q.string().optional(),description:q.string().optional(),metadata:d0.optional(),config:$$.optional(),if_exists:q.enum(["raise","do_nothing"]).optional()}),$Y=q.object({assistant_id:q.union([q.string(),q.string()]),checkpoint_id:q.string().optional(),input:q.any().optional(),command:k8.optional(),metadata:d0.optional(),config:$$.optional(),webhook:q.string().optional(),interrupt_before:q.union([q.literal("*"),q.array(q.string())]).optional(),interrupt_after:q.union([q.literal("*"),q.array(q.string())]).optional(),on_disconnect:q.enum(["cancel","continue"]).optional().default("continue"),multitask_strategy:q.enum(["reject","rollback","interrupt","enqueue"]).optional(),stream_mode:q.array(q.enum(["values","messages","messages-tuple","updates","events","debug","custom"])).optional(),stream_subgraphs:q.boolean().optional(),stream_resumable:q.boolean().optional(),after_seconds:q.number().optional(),if_not_exists:q.enum(["create","reject"]).optional(),on_completion:q.enum(["complete","continue"]).optional(),feedback_keys:q.array(q.string()).optional(),langsmith_tracer:q.unknown().optional()}).describe("Payload for creating a stateful run."),ZY=q.object({limit:q.coerce.number().int().optional().default(10),offset:q.coerce.number().int().optional().default(0),status:q.enum(["pending","running","error","success","timeout","interrupted"]).optional()}),XY=q.object({wait:q.coerce.boolean().optional().default(!1),action:q.enum(["interrupt","rollback"]).optional().default("interrupt")}),YY=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1),last_event_id:q.string().optional(),stream_mode:q.enum(["values","messages","messages-tuple","updates","events","debug","custom"]).optional()}),JY=q.object({thread_id:q.string().describe("The ID of thread. If not provided, an ID is generated.").optional(),metadata:d0.optional(),if_exists:q.union([q.literal("raise"),q.literal("do_nothing")]).optional()}).describe("Payload for creating a thread."),l6=q.object({ids:q.array(q.string()).describe("List of thread IDs to include. Others are excluded.").optional(),metadata:d0.describe("Metadata to search for.").optional(),status:q.enum(["idle","busy","interrupted","error"]).describe("Filter by thread status.").optional(),values:q.any().describe("Filter by thread values.").optional(),limit:q.number().int().gte(1).lte(1000).describe("Maximum number to return.").optional(),offset:q.number().int().gte(0).describe("Offset to start from.").optional(),sort_by:q.enum(["thread_id","status","created_at","updated_at"]).describe("Sort by field.").optional(),sort_order:q.enum(["asc","desc"]).describe("Sort order.").optional(),select:q.array(q.enum(["thread_id","created_at","updated_at","metadata","config","context","status","values","interrupts","title"])).describe("Specify which fields to return. If not provided, all fields are returned.").optional(),without_details:q.boolean().describe("Whether to return values.").optional()}).describe("Payload for listing threads.");q.object({values:q.union([q.record(q.string(),q.unknown()),q.array(q.record(q.string(),q.unknown()))]).nullish()}).describe("Payload for adding state to a thread.");var WY=q.object({metadata:d0.optional(),status:q.enum(["idle","busy","interrupted","error"]).optional(),values:q.any().optional()}).describe("Payload for patching a thread."),i6=q.object({assistant_id:q.string(),input:q.any().optional(),command:k8.optional(),metadata:d0.optional(),config:$$.optional(),webhook:q.string().optional(),interrupt_before:q.union([q.literal("*"),q.array(q.string())]).optional(),interrupt_after:q.union([q.literal("*"),q.array(q.string())]).optional(),on_disconnect:q.enum(["cancel","continue"]).optional().default("continue"),multitask_strategy:q.enum(["reject","rollback","interrupt","enqueue"]).optional(),stream_mode:q.array(q.enum(["values","messages","messages-tuple","updates","events","debug","custom"])).optional(),stream_subgraphs:q.boolean().optional(),stream_resumable:q.boolean().optional(),after_seconds:q.number().optional(),if_not_exists:q.enum(["create","reject"]).optional(),on_completion:q.enum(["complete","continue"]).optional(),feedback_keys:q.array(q.string()).optional(),langsmith_tracer:q.unknown().optional()}).describe("Payload for creating a run (background/wait)."),KY=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1)}),QY=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1)}),SZ=q.object({assistant_id:q.string().describe("The assistant ID or graph name to run."),input:q.any().optional().describe("The input to the graph."),command:k8.optional(),metadata:d0.optional().describe("Metadata to assign to the run."),config:$$.optional(),context:q.object({}).catchall(q.any()).optional().describe("Static context added to the assistant."),webhook:q.string().optional(),interrupt_before:q.union([q.literal("*"),q.array(q.string())]).optional(),interrupt_after:q.union([q.literal("*"),q.array(q.string())]).optional(),stream_mode:q.union([q.enum(["values","messages","messages-tuple","tasks","checkpoints","updates","events","debug","custom"]),q.array(q.enum(["values","messages","messages-tuple","tasks","checkpoints","updates","events","debug","custom"]))]).optional().default(["values"]),feedback_keys:q.array(q.string()).optional(),stream_subgraphs:q.boolean().optional().default(!1),stream_resumable:q.boolean().optional().default(!1)}).describe("Payload for creating a stateless run."),zY=q.array(SZ).min(1).describe("Payload for creating a batch of stateless runs."),GY=q.object({action:q.enum(["interrupt","rollback"]).optional().default("interrupt").describe("Action to take when cancelling the run."),wait:q.coerce.boolean().optional().default(!1)}),OY=q.union([q.object({status:q.enum(["pending","running","all"]).describe("Filter runs by status to cancel.")}),q.object({thread_id:q.string().describe("The ID of the thread containing runs to cancel.")}),q.object({run_ids:q.array(q.string()).min(1).describe("List of run IDs to cancel.")})]);function D1($,Z){let X=Z.split("/").filter((W)=>W),Y=new URL($).pathname.split("/").filter((W)=>W),J={};return X.forEach((W,K)=>{if(W.startsWith(":")){let Q=W.slice(1);J[Q]=Y[K]}}),J}function D0($){let Z=new URL($).searchParams,X={};return Z.forEach((Y,J)=>{if(!isNaN(Number(Y))&&Y!=="")X[J]=Number(Y);else if(Y==="true"||Y==="false")X[J]=Y==="true";else X[J]=Y}),X}function o($,Z){let X=$.safeParse(Z);if(!X.success)throw new T8(X.error.issues);return X.data}class T8 extends Error{errors;constructor($){super("Validation failed");this.name="ValidationError",this.errors=$}}function W1($,Z=200,X){return new Response(JSON.stringify($),{status:Z,headers:{"Content-Type":"application/json",...X}})}function r($,Z=500){if($ instanceof T8)return W1({error:"Validation Error",details:$.errors},400);return W1({error:$ instanceof Error?$.message:"Unknown error"},Z)}function b8($){let Z,X=!1,Y=new AbortController,J=new ReadableStream({async start(W){Z=W;let K=new TextEncoder,Q={signal:Y.signal,writeSSE:async({data:z,event:G,id:O})=>{if(X||Y.signal.aborted)return;try{let H="";if(O)H+=`id: ${O}
6
- `;if(G)H+=`event: ${G}
7
- `;H+=`data: ${z}
8
-
9
- `,Z.enqueue(K.encode(H))}catch(H){if(!X&&!Y.signal.aborted)throw H}},close:()=>{if(!X){X=!0;try{Z.close()}catch(z){}}}};try{await $(Q)}catch(z){if(!Y.signal.aborted)console.error("SSE stream error:",z)}finally{if(!X){X=!0;try{Z.close()}catch(z){}}}},cancel(){if(X=!0,!Y.signal.aborted)Y.abort("Client disconnected")}});return new Response(J,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function I8($,Z=process.env.HEARTBEAT_INTERVAL?parseInt(process.env.HEARTBEAT_INTERVAL):1500){return async(X)=>{let Y=null,J=!1,W=()=>{if(Y)clearInterval(Y),Y=null},K=()=>{W(),Y=setInterval(async()=>{if(X.signal.aborted||J){W();return}try{await X.writeSSE({event:"ping",data:"{}"})}catch(G){W()}},Z)},Q=()=>{W()};X.signal.addEventListener("abort",Q);let z={signal:X.signal,writeSSE:async(G)=>{if(X.signal.aborted)return;if(W(),await X.writeSSE(G),!X.signal.aborted)K()},close:()=>{W(),X.close()}};K();try{await $(z)}finally{J=!0,W(),X.signal.removeEventListener("abort",Q)}}}async function HY($,Z){try{let X=await $.json(),Y=o(a9,X),J=await $1.assistants.search(h1(Y));return W1(J,200,{"X-Pagination-Total":"0"})}catch(X){return r(X)}}async function NY($,Z){try{let X=await $.json(),Y=o(s9,X),J=await $1.assistants.count(h1(Y));return W1(J)}catch(X){return r(X)}}async function UY($,Z){try{let J=new URL($.url).pathname.split("/").filter((K)=>K)[1],W=await $1.assistants.get(J);return W1(W)}catch(X){return r(X)}}async function wY($,Z){try{let J=new URL($.url).pathname.split("/").filter((W)=>W)[1];return await $1.assistants.delete(J),W1({})}catch(X){return r(X)}}async function MY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=await $.json(),K=o(d6,W),Q=await $1.assistants.update(J,h1(K));return W1(Q)}catch(X){return r(X)}}async function qY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=D0($.url),{xray:K}=o(t9,W),Q=await $1.assistants.getGraph(J,{xray:K!==void 0?K==="true":void 0});return W1(Q)}catch(X){return r(X)}}async function AY($,Z){return r({},501)}async function FY($,Z){return r({},501)}async function CY($,Z){try{let J=new URL($.url).pathname.split("/").filter((K)=>K)[1],W=await $1.assistants.getSchemas(J);return W1(W)}catch(X){return r(X)}}async function BY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=await $.json(),K=o(d6,W),Q=await $1.assistants.getVersions(J,h1(K));return W1(Q)}catch(X){return r(X)}}async function PY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=D0($.url),K=W.version?parseInt(W.version):1,Q=await $1.assistants.setLatest(J,K);return W1(Q)}catch(X){return r(X)}}async function LY($,Z){try{let X=await $.json(),Y=o(e9,X),J=await $1.assistants.create(h1(Y));return W1(J)}catch(X){return r(X)}}async function RY($,Z){try{let X=await $.json(),Y=o(JY,X),J=await $1.threads.create(h1(Y));return W1(J)}catch(X){return r(X)}}async function SY($,Z){try{let X=await $.json(),Y=o(l6,X),J=await $1.threads.search(h1(Y));return W1(J,200,{"X-Pagination-Total":J.length.toString()})}catch(X){return r(X)}}async function VY($,Z){try{let X=await $.json(),Y=o(l6.partial(),X),J=await $1.threads.count(h1(Y));return W1(J)}catch(X){return r(X)}}async function kY($,Z){try{let X=D1($.url,"/threads/:thread_id"),{thread_id:Y}=o(K0,X),J=await $1.threads.get(Y);return W1(J)}catch(X){return r(X)}}async function TY($,Z){try{let X=D1($.url,"/threads/:thread_id"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o(WY,J),K=await $1.threads.patch(Y,h1(W));return W1(K)}catch(X){return r(X)}}async function bY($,Z){try{let X=D1($.url,"/threads/:thread_id"),{thread_id:Y}=o(K0,X);return await $1.threads.delete(Y),new Response(null,{status:204})}catch(X){return r(X)}}async function IY($,Z){try{let X=D1($.url,"/threads/:thread_id/state"),{thread_id:Y}=o(K0,X),J=D0($.url),W={subgraphs:J.subgraphs==="true"||J.subgraphs===!0},K=await $1.threads.getState(Y,W);return W1(K)}catch(X){return r(X)}}async function DY($,Z){try{let X=D1($.url,"/threads/:thread_id/state"),{thread_id:Y}=o(K0,X),J=await $.json(),W=await $1.threads.updateState(Y,h1(J));return W1(W)}catch(X){return r(X)}}async function jY($,Z){try{let X=D1($.url,"/threads/:thread_id/state/checkpoint"),{thread_id:Y}=o(K0,X),J=await $.json(),W=D0($.url),K={subgraphs:W.subgraphs==="true"||W.subgraphs===!0,...J},Q=await $1.threads.getState(Y,K);return W1(Q)}catch(X){return r(X)}}async function yY($,Z){try{let X=D1($.url,"/threads/:thread_id/history"),{thread_id:Y}=o(K0,X),J=D0($.url),W={limit:J.limit?parseInt(J.limit,10):void 0,before:J.before},K=await $1.threads.getStateHistory(Y,W);return W1(K)}catch(X){return r(X)}}async function EY($,Z){try{let X=D1($.url,"/threads/:thread_id/history"),{thread_id:Y}=o(K0,X),J=await $.json(),W={limit:J.limit,before:J.before},K=await $1.threads.getStateHistory(Y,W);return W1(K)}catch(X){return r(X)}}async function vY($,Z){try{let X=D1($.url,"/threads/:thread_id/copy"),{thread_id:Y}=o(K0,X),J=await $1.threads.copy(Y);return W1(J)}catch(X){return r(X)}}async function _Y($,Z){try{let X=D1($.url,"/threads/:thread_id/stream"),{thread_id:Y}=o(K0,X),J=D0($.url),W={lastEventId:$.headers.get("Last-Event-ID")||J.last_event_id,streamModes:J.stream_modes?Array.isArray(J.stream_modes)?J.stream_modes:[J.stream_modes]:void 0};return new Response(`data: {"status": "stream_ready"}
10
-
11
- `,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(X){return r(X)}}async function fY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/stream"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o($Y,J);return b8(I8(async(K)=>{W.config=W.config||{},W.config.configurable=W.config.configurable||{};let Q=Z?.langgraph_context;if(Q)Object.assign(W.config.configurable,Q);let z=null,G=!1,O=()=>{G=!0};K.signal.addEventListener("abort",O);try{z=$1.runs.stream(Y,W.assistant_id,h1(W));for await(let{event:H,data:U}of z){if(G||K.signal.aborted)break;await K.writeSSE({data:V8(U)??"",event:H})}}catch(H){if(!K.signal.aborted&&!G)throw H}finally{if(K.signal.removeEventListener("abort",O),z){try{await z.return(void 0)}catch(H){}z=null}}}))}catch(X){return r(X)}}async function hY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id/stream"),{thread_id:Y,run_id:J}=o(R$,X),W=D0($.url),{cancel_on_disconnect:K,last_event_id:Q,stream_mode:z}=o(YY,W);return b8(I8(async(G)=>{let O=new AbortController,H=null,U=!1,M=[],A=()=>{O.abort("Client disconnected")};if($.signal)$.signal.addEventListener("abort",A),M.push({signal:$.signal,handler:A});let F=()=>{U=!0,O.abort("SSE stream closed")};G.signal.addEventListener("abort",F),M.push({signal:G.signal,handler:F});try{H=$1.runs.joinStream(Y,J,{signal:O.signal,cancelOnDisconnect:K,lastEventId:Q,streamMode:z?[z]:void 0});for await(let{event:P,data:S,id:T}of H){if(U||G.signal.aborted||O.signal.aborted)break;await G.writeSSE({data:V8(S)??"",event:P,id:T})}}catch(P){if(!(O.signal.aborted||G.signal.aborted)&&!(P instanceof Error&&P.message.includes("user cancel")))console.error("Join stream error:",P),await G.writeSSE({event:"error",data:JSON.stringify({error:P instanceof Error?P.message:"Unknown error"})})}finally{for(let{signal:P,handler:S}of M)try{P.removeEventListener("abort",S)}catch(T){}if(H){try{await H.return(void 0)}catch(P){}H=null}}}))}catch(X){return r(X)}}async function gY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs"),{thread_id:Y}=o(K0,X),J=D0($.url),{limit:W,offset:K,status:Q}=o(ZY,J),z=await $1.runs.list(Y,{limit:W,offset:K,status:Q});return W1(z)}catch(X){return r(X)}}async function mY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id/cancel"),{thread_id:Y,run_id:J}=o(R$,X),W=D0($.url),{wait:K,action:Q}=o(XY,W),z=$1.runs.cancel(Y,J,K,Q);if(K)await z;return new Response(null,{status:K?204:202})}catch(X){return r(X)}}async function xY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o(i6,J),K=h1(W);K.config=K.config||{},K.config.configurable=K.config.configurable||{};let Q=Z?.langgraph_context;if(Q)Object.assign(K.config.configurable,Q);K.config.configurable.graph_id=W.assistant_id,K.config.configurable.thread_id=Y;let z=$1.threads,G=await z.createRun(Y,W.assistant_id,K);return(async()=>{let O=!1;try{for await(let H of $4(z,G,K,{attempt:0,getGraph:I0}));}catch(H){console.error("Background run error:",H)}finally{if(!O){O=!0;try{await R0.globalMessageQueue.removeQueue(G.run_id)}catch(H){}}}})(),W1(G,200,{"Content-Location":`/threads/${Y}/runs/${G.run_id}`})}catch(X){return r(X)}}async function uY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/wait"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o(i6,J),K=D0($.url),{cancel_on_disconnect:Q}=o(KY,K),z=h1(W);z.config=z.config||{},z.config.configurable=z.config.configurable||{};let G=Z?.langgraph_context;if(G)Object.assign(z.config.configurable,G);z.config.configurable.graph_id=W.assistant_id,z.config.configurable.thread_id=Y;let O=$1.threads,H=await O.createRun(Y,W.assistant_id,z),U={};for await(let{event:M,data:A}of $4(O,H,z,{attempt:0,getGraph:I0}))if(M==="end"||M==="writes/value"){if(A&&typeof A==="object")Object.assign(U,A)}return W1(U,200,{"Content-Location":`/threads/${Y}/runs/${H.run_id}`})}catch(X){return r(X)}}async function cY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:Y,run_id:J}=o(R$,X),K=(await $1.runs.list(Y,{limit:1000})).find((Q)=>Q.run_id===J);if(!K)return r(Error("Run not found"),404);return W1(K)}catch(X){return r(X)}}async function pY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:Y,run_id:J}=o(R$,X);return await $1.threads.updateRun(J,{status:"deleted"}),new Response(null,{status:204})}catch(X){return r(X)}}async function dY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id/join"),{thread_id:Y,run_id:J}=o(R$,X),W=D0($.url),{cancel_on_disconnect:K}=o(QY,W),z=(await $1.runs.list(Y,{limit:1000})).find((H)=>H.run_id===J);if(!z)return r(Error("Run not found"),404);if(z.status==="success"||z.status==="error")return W1({});let G=new AbortController;if(K){let H=()=>{G.abort("Client disconnected")};$.signal?.addEventListener("abort",H)}let O={};for await(let{event:H,data:U}of $1.runs.joinStream(Y,J,{signal:G.signal,cancelOnDisconnect:K}))if(H.event==="end"||H.event==="writes/value"){if(U&&typeof U==="object")Object.assign(O,U)}return W1(O)}catch(X){return r(X)}}async function lY($,Z){try{let X=await $.json(),Y=o(SZ,X),J=h1(Y);J.config=J.config||{},J.config.configurable=J.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(J.config.configurable,W);let K=$1.threads,Q=await K.create({metadata:{...J.metadata,temporary:!0}});J.config.configurable.graph_id=Y.assistant_id,J.config.configurable.thread_id=Q.thread_id,J.temporary=!0;let z=await K.createRun(Q.thread_id,Y.assistant_id,J);return(async()=>{let G=!1;try{for await(let O of $4(K,z,J,{attempt:0,getGraph:I0}));}catch(O){console.error("Stateless run error:",O)}finally{try{await K.delete(Q.thread_id)}catch(O){console.error("Error cleaning up temporary thread:",O)}if(!G){G=!0;try{await R0.globalMessageQueue.removeQueue(z.run_id)}catch(O){}}}})(),W1(z,200,{"Content-Location":`/threads/${Q.thread_id}/runs/${z.run_id}`})}catch(X){return r(X)}}async function iY($,Z){try{let X=await $.json(),Y=o(SZ,X),J=h1(Y);J.config=J.config||{},J.config.configurable=J.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(J.config.configurable,W);let K=$1.threads,Q=await K.create({metadata:{...J.metadata,temporary:!0}});J.config.configurable.graph_id=Y.assistant_id,J.config.configurable.thread_id=Q.thread_id,J.temporary=!0;let z=await K.createRun(Q.thread_id,Y.assistant_id,J);return b8(I8(async(G)=>{try{for await(let O of $4(K,z,J,{attempt:0,getGraph:I0}))await G.writeSSE({data:JSON.stringify(O),event:"data"})}catch(O){if(O instanceof Error&&O.name!=="AbortError")throw console.error("Stream error:",O),O}finally{try{await K.delete(Q.thread_id)}catch(O){console.error("Error cleaning up temporary thread:",O)}}}))}catch(X){return r(X)}}async function oY($,Z){try{let X=await $.json(),Y=o(SZ,X),J=h1(Y);J.config=J.config||{},J.config.configurable=J.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(J.config.configurable,W);let K=$1.threads,Q=await K.create({metadata:{...J.metadata,temporary:!0}});J.config.configurable.graph_id=Y.assistant_id,J.config.configurable.thread_id=Q.thread_id,J.temporary=!0;let z=await K.createRun(Q.thread_id,Y.assistant_id,J),G={};try{for await(let{event:O,data:H}of $4(K,z,J,{attempt:0,getGraph:I0}))if(O==="end"||O==="writes/value"){if(H&&typeof H==="object")Object.assign(G,H)}}finally{try{await K.delete(Q.thread_id)}catch(O){console.error("Error cleaning up temporary thread:",O)}}return W1(G,200,{"Content-Location":`/threads/${Q.thread_id}/runs/${z.run_id}`})}catch(X){return r(X)}}async function nY($,Z){try{let X=await $.json(),Y=o(zY,X),J=$1.threads,W=[],K=Y.map(async(z)=>{try{let G=h1(z);G.config=G.config||{},G.config.configurable=G.config.configurable||{};let O=Z?.langgraph_context;if(O)Object.assign(G.config.configurable,O);let H=await J.create({metadata:{...G.metadata,temporary:!0}});G.config.configurable.graph_id=z.assistant_id,G.config.configurable.thread_id=H.thread_id,G.temporary=!0;let U=await J.createRun(H.thread_id,z.assistant_id,G);return(async()=>{let M=!1;try{for await(let A of $4(J,U,G,{attempt:0,getGraph:I0}));}catch(A){console.error("Batch run error:",A)}finally{try{await J.delete(H.thread_id)}catch(A){console.error("Error cleaning up temporary thread:",A)}if(!M){M=!0;try{await R0.globalMessageQueue.removeQueue(U.run_id)}catch(A){}}}})(),{thread_id:H.thread_id,run_id:U.run_id}}catch(G){return console.error("Batch run creation error:",G),{error:(G instanceof Error?G.message:"Unknown error")||"Unknown error"}}}),Q=await Promise.all(K);return W.push(...Q),W1(W,200)}catch(X){return r(X)}}async function rY($,Z){try{let X=await $.json(),Y=o(OY,X),J=new URL($.url),W=o(GY,{action:J.searchParams.get("action")||"interrupt"}),K=$1.threads,Q=[];if("run_ids"in Y&&Y.run_ids)for(let z of Y.run_ids)try{console.warn(`Cancel by run_id ${z} not fully implemented yet`)}catch(G){console.error(`Error cancelling run ${z}:`,G)}else if("thread_id"in Y&&Y.thread_id){let z=Y.thread_id;try{let G=await K.listRuns(z,{limit:1000,offset:0});for(let O of G)try{$1.runs.cancel(z,O.run_id,W.wait,W.action),Q.push(O.run_id)}catch(H){console.error(`Error cancelling run ${O.run_id}:`,H)}}catch(G){console.error(`Error listing runs for thread ${z}:`,G)}}else if("status"in Y&&Y.status)console.warn(`Cancel by status ${Y.status} not fully implemented yet`);return new Response(null,{status:204})}catch(X){return r(X)}}var aY=[{method:"POST",pattern:/^\/assistants\/search$/,handler:HY},{method:"POST",pattern:/^\/assistants\/count$/,handler:NY},{method:"GET",pattern:/^\/assistants\/[^/]+$/,handler:UY},{method:"DELETE",pattern:/^\/assistants\/[^/]+$/,handler:wY},{method:"PATCH",pattern:/^\/assistants\/[^/]+$/,handler:MY},{method:"GET",pattern:/^\/assistants\/[^/]+\/graph$/,handler:qY},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs$/,handler:AY},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs\/[^/]+$/,handler:FY},{method:"GET",pattern:/^\/assistants\/[^/]+\/schemas$/,handler:CY},{method:"POST",pattern:/^\/assistants\/[^/]+\/versions$/,handler:BY},{method:"POST",pattern:/^\/assistants\/[^/]+\/latest$/,handler:PY},{method:"POST",pattern:/^\/assistants$/,handler:LY},{method:"POST",pattern:/^\/threads$/,handler:RY},{method:"POST",pattern:/^\/threads\/search$/,handler:SY},{method:"POST",pattern:/^\/threads\/count$/,handler:VY},{method:"GET",pattern:/^\/threads\/[^/]+$/,handler:kY},{method:"PATCH",pattern:/^\/threads\/[^/]+$/,handler:TY},{method:"DELETE",pattern:/^\/threads\/[^/]+$/,handler:bY},{method:"GET",pattern:/^\/threads\/[^/]+\/state$/,handler:IY},{method:"POST",pattern:/^\/threads\/[^/]+\/state$/,handler:DY},{method:"POST",pattern:/^\/threads\/[^/]+\/state\/checkpoint$/,handler:jY},{method:"GET",pattern:/^\/threads\/[^/]+\/history$/,handler:yY},{method:"POST",pattern:/^\/threads\/[^/]+\/history$/,handler:EY},{method:"POST",pattern:/^\/threads\/[^/]+\/copy$/,handler:vY},{method:"GET",pattern:/^\/threads\/[^/]+\/stream$/,handler:_Y},{method:"POST",pattern:/^\/threads\/[^/]+\/runs$/,handler:xY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/stream$/,handler:fY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/wait$/,handler:uY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/cancel$/,handler:mY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs$/,handler:gY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:cY},{method:"DELETE",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:pY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/join$/,handler:dY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/stream$/,handler:hY},{method:"POST",pattern:/^\/runs$/,handler:lY},{method:"POST",pattern:/^\/runs\/stream$/,handler:iY},{method:"POST",pattern:/^\/runs\/wait$/,handler:oY},{method:"POST",pattern:/^\/runs\/batch$/,handler:nY},{method:"POST",pattern:/^\/runs\/cancel$/,handler:rY}],sY=($)=>{let Z=new URL($.url).pathname.toString(),X="";if(Z.includes("/threads"))X=Z.split("/threads")[0];else if(Z.includes("/assistants"))X=Z.split("/assistants")[0];return new Request($.url.replace(X,""),{method:$.method,headers:$.headers,body:$.body,duplex:$.duplex})};async function o6($,Z={}){$=sY($);try{await R0.initGlobal();let Y=new URL($.url).pathname,J=$.method;for(let W of aY)if(W.method===J&&W.pattern.test(Y))return await W.handler($,Z);return new Response("Not Found",{status:404})}catch(X){return console.error("Request error:",X),r(X)}}var a6=B(tY(),1),s6=B(eY(),1);import*as V$ from"node:os";import{dirname as t6,join as $J}from"node:path";import{pipeline as ZJ}from"node:stream/promises";import{fileURLToPath as XJ}from"node:url";var{mkdir:y8,createWriteStream:YJ,move:JJ}=s6.default,e6=t6(XJ(import.meta.url)),WJ="microsoft/ripgrep-prebuilt",D8=process.env.RIPGREP_VERSION||"v15.0.0",KJ=()=>{let $=process.env.npm_config_arch||V$.arch(),Z=process.env.platform||V$.platform();switch(Z){case"darwin":switch($){case"arm64":return"aarch64-apple-darwin.tar.gz";default:return"x86_64-apple-darwin.tar.gz"}case"win32":switch($){case"x64":return"x86_64-pc-windows-msvc.zip";case"arm":return"aarch64-pc-windows-msvc.zip";default:return"i686-pc-windows-msvc.zip"}case"linux":switch($){case"x64":return"x86_64-unknown-linux-musl.tar.gz";case"arm":case"armv7l":return"arm-unknown-linux-gnueabihf.tar.gz";case"arm64":return"aarch64-unknown-linux-gnu.tar.gz";case"ppc64":return"powerpc64le-unknown-linux-gnu.tar.gz";case"s390x":return"s390x-unknown-linux-gnu.tar.gz";default:return"i686-unknown-linux-musl.tar.gz"}default:throw Error("Unknown platform: "+Z)}},QJ=async($,Z)=>{try{let X=n6(),Y=await fetch($);if(!Y.ok)throw Error(`HTTP ${Y.status}: ${Y.statusText}`);await ZJ(Y.body,YJ(X)),await y8(t6(Z),{recursive:!0}),await JJ(X,Z)}catch(X){throw console.error(`Failed to download "${$}"`),X}},zJ=async($,Z)=>{try{await y8(Z,{recursive:!0}),await a6.default($,{dir:Z})}catch(X){throw console.error(`Failed to unzip "${$}"`),X}},GJ=async($,Z)=>{try{await y8(Z,{recursive:!0}),await S$("tar",["xvf",$,"-C",Z])}catch(X){throw console.error(`Failed to extract "${$}"`),X}},OJ=async($)=>{if($==="android")try{return await S$("pkg",["install","ripgrep","-y"]),!0}catch(Z){return console.info("Could not install ripgrep via pkg. Falling back to download."),!1}return!1},HJ=$J(e6,`rg${process.platform==="win32"?".exe":""}`),$5=async($)=>{if(await j8(HJ)){console.log("rg cached");return}let Z=process.env.platform||V$.platform();if(Z==="android"){if(await OJ(Z))return}let X=KJ(),J=`${process.env.RIPGREP_PREBUILT_BINARIES_MIRROR||`https://v6.gh-proxy.org/https://github.com/${WJ}/releases/download`}/${D8}/ripgrep-${D8}-${X}`,W=`${r6}/vscode-ripgrep/ripgrep-${D8}-${X}`,K=$??e6;if(!await j8(W))await QJ(J,W);else console.info(`File ${W} has been cached`);if(W.endsWith(".tar.gz"))await GJ(W,K);else if(W.endsWith(".zip"))await zJ(W,K);else throw Error(`Invalid downloadPath ${W}`)};await $5();S8("code",Z5);var X5=($,Z={})=>{return o6(new Request($,Z),{})};function I($,Z,X,Y,J){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!J)throw TypeError("Private accessor was defined without a setter");if(typeof Z==="function"?$!==Z||!J:!Z.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?J.call($,X):J?J.value=X:Z.set($,X),X}function C($,Z,X,Y){if(X==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Z==="function"?$!==Z||!Y:!Z.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call($):Y?Y.value:Z.get($)}var E8=function(){let{crypto:$}=globalThis;if($?.randomUUID)return E8=$.randomUUID.bind($),$.randomUUID();let Z=new Uint8Array(1),X=$?()=>$.getRandomValues(Z)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(Y)=>(+Y^X()&15>>+Y/4).toString(16))};function Z4($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var k$=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let Z=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)Z.stack=$.stack;if($.cause&&!Z.cause)Z.cause=$.cause;if($.name)Z.name=$.name;return Z}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class m extends Error{}class j1 extends m{constructor($,Z,X,Y){super(`${j1.makeMessage($,Z,X)}`);this.status=$,this.headers=Y,this.requestID=Y?.get("request-id"),this.error=Z}static makeMessage($,Z,X){let Y=Z?.message?typeof Z.message==="string"?Z.message:JSON.stringify(Z.message):Z?JSON.stringify(Z):X;if($&&Y)return`${$} ${Y}`;if($)return`${$} status code (no body)`;if(Y)return Y;return"(no status code or body)"}static generate($,Z,X,Y){if(!$||!Y)return new _4({message:X,cause:k$(Z)});let J=Z;if($===400)return new b$($,J,X,Y);if($===401)return new I$($,J,X,Y);if($===403)return new D$($,J,X,Y);if($===404)return new j$($,J,X,Y);if($===409)return new y$($,J,X,Y);if($===422)return new E$($,J,X,Y);if($===429)return new v$($,J,X,Y);if($>=500)return new _$($,J,X,Y);return new j1($,J,X,Y)}}class n1 extends j1{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class _4 extends j1{constructor({message:$,cause:Z}){super(void 0,void 0,$||"Connection error.",void 0);if(Z)this.cause=Z}}class T$ extends _4{constructor({message:$}={}){super({message:$??"Request timed out."})}}class b$ extends j1{}class I$ extends j1{}class D$ extends j1{}class j$ extends j1{}class y$ extends j1{}class E$ extends j1{}class v$ extends j1{}class _$ extends j1{}var UJ=/^[a-z][a-z0-9+.-]*:/i,Y5=($)=>{return UJ.test($)},v8=($)=>(v8=Array.isArray,v8($)),_8=v8;function kZ($){if(typeof $!=="object")return{};return $??{}}function J5($){if(!$)return!0;for(let Z in $)return!1;return!0}function W5($,Z){return Object.prototype.hasOwnProperty.call($,Z)}var K5=($,Z)=>{if(typeof Z!=="number"||!Number.isInteger(Z))throw new m(`${$} must be an integer`);if(Z<0)throw new m(`${$} must be a positive integer`);return Z};var TZ=($)=>{try{return JSON.parse($)}catch(Z){return}};var Q5=($)=>new Promise((Z)=>setTimeout(Z,$));var C4="0.71.2";var H5=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function wJ(){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 MJ=()=>{let $=wJ();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C4,"X-Stainless-OS":G5(Deno.build.os),"X-Stainless-Arch":z5(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":C4,"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":C4,"X-Stainless-OS":G5(globalThis.process.platform??"unknown"),"X-Stainless-Arch":z5(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let Z=qJ();if(Z)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C4,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${Z.browser}`,"X-Stainless-Runtime-Version":Z.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C4,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function qJ(){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:Z,pattern:X}of $){let Y=X.exec(navigator.userAgent);if(Y){let J=Y[1]||0,W=Y[2]||0,K=Y[3]||0;return{browser:Z,version:`${J}.${W}.${K}`}}}return null}var z5=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},G5=($)=>{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"},O5,N5=()=>{return O5??(O5=MJ())};function U5(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function f8(...$){let Z=globalThis.ReadableStream;if(typeof Z>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new Z(...$)}function bZ($){let Z=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return f8({start(){},async pull(X){let{done:Y,value:J}=await Z.next();if(Y)X.close();else X.enqueue(J)},async cancel(){await Z.return?.()}})}function f$($){if($[Symbol.asyncIterator])return $;let Z=$.getReader();return{async next(){try{let X=await Z.read();if(X?.done)Z.releaseLock();return X}catch(X){throw Z.releaseLock(),X}},async return(){let X=Z.cancel();return Z.releaseLock(),await X,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function w5($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let Z=$.getReader(),X=Z.cancel();Z.releaseLock(),await X}var M5=({headers:$,body:Z})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(Z)}};function F5($){let Z=0;for(let J of $)Z+=J.length;let X=new Uint8Array(Z),Y=0;for(let J of $)X.set(J,Y),Y+=J.length;return X}var q5;function h$($){let Z;return(q5??(Z=new globalThis.TextEncoder,q5=Z.encode.bind(Z)))($)}var A5;function h8($){let Z;return(A5??(Z=new globalThis.TextDecoder,A5=Z.decode.bind(Z)))($)}var H0,N0;class B4{constructor(){H0.set(this,void 0),N0.set(this,void 0),I(this,H0,new Uint8Array,"f"),I(this,N0,null,"f")}decode($){if($==null)return[];let Z=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?h$($):$;I(this,H0,F5([C(this,H0,"f"),Z]),"f");let X=[],Y;while((Y=CJ(C(this,H0,"f"),C(this,N0,"f")))!=null){if(Y.carriage&&C(this,N0,"f")==null){I(this,N0,Y.index,"f");continue}if(C(this,N0,"f")!=null&&(Y.index!==C(this,N0,"f")+1||Y.carriage)){X.push(h8(C(this,H0,"f").subarray(0,C(this,N0,"f")-1))),I(this,H0,C(this,H0,"f").subarray(C(this,N0,"f")),"f"),I(this,N0,null,"f");continue}let J=C(this,N0,"f")!==null?Y.preceding-1:Y.preceding,W=h8(C(this,H0,"f").subarray(0,J));X.push(W),I(this,H0,C(this,H0,"f").subarray(Y.index),"f"),I(this,N0,null,"f")}return X}flush(){if(!C(this,H0,"f").length)return[];return this.decode(`
12
- `)}}H0=new WeakMap,N0=new WeakMap;B4.NEWLINE_CHARS=new Set([`
13
- `,"\r"]);B4.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function CJ($,Z){for(let J=Z??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 C5($){for(let Y=0;Y<$.length-1;Y++){if($[Y]===10&&$[Y+1]===10)return Y+2;if($[Y]===13&&$[Y+1]===13)return Y+2;if($[Y]===13&&$[Y+1]===10&&Y+3<$.length&&$[Y+2]===13&&$[Y+3]===10)return Y+4}return-1}var DZ={off:0,error:200,warn:300,info:400,debug:500},g8=($,Z,X)=>{if(!$)return;if(W5(DZ,$))return $;g1(X).warn(`${Z} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(DZ))}`);return};function g$(){}function IZ($,Z,X){if(!Z||DZ[$]>DZ[X])return g$;else return Z[$].bind(Z)}var BJ={error:g$,warn:g$,info:g$,debug:g$},B5=new WeakMap;function g1($){let Z=$.logger,X=$.logLevel??"off";if(!Z)return BJ;let Y=B5.get(Z);if(Y&&Y[0]===X)return Y[1];let J={error:IZ("error",Z,X),warn:IZ("warn",Z,X),info:IZ("info",Z,X),debug:IZ("debug",Z,X)};return B5.set(Z,[X,J]),J}var X4=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([Z,X])=>[Z,Z.toLowerCase()==="x-api-key"||Z.toLowerCase()==="authorization"||Z.toLowerCase()==="cookie"||Z.toLowerCase()==="set-cookie"?"***":X]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var m$;class U0{constructor($,Z,X){this.iterator=$,m$.set(this,void 0),this.controller=Z,I(this,m$,X,"f")}static fromSSEResponse($,Z,X){let Y=!1,J=X?g1(X):console;async function*W(){if(Y)throw new m("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Y=!0;let K=!1;try{for await(let Q of PJ($,Z)){if(Q.event==="completion")try{yield JSON.parse(Q.data)}catch(z){throw J.error("Could not parse message into JSON:",Q.data),J.error("From chunk:",Q.raw),z}if(Q.event==="message_start"||Q.event==="message_delta"||Q.event==="message_stop"||Q.event==="content_block_start"||Q.event==="content_block_delta"||Q.event==="content_block_stop")try{yield JSON.parse(Q.data)}catch(z){throw J.error("Could not parse message into JSON:",Q.data),J.error("From chunk:",Q.raw),z}if(Q.event==="ping")continue;if(Q.event==="error")throw new j1(void 0,TZ(Q.data)??Q.data,void 0,$.headers)}K=!0}catch(Q){if(Z4(Q))return;throw Q}finally{if(!K)Z.abort()}}return new U0(W,Z,X)}static fromReadableStream($,Z,X){let Y=!1;async function*J(){let K=new B4,Q=f$($);for await(let z of Q)for(let G of K.decode(z))yield G;for(let z of K.flush())yield z}async function*W(){if(Y)throw new m("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Y=!0;let K=!1;try{for await(let Q of J()){if(K)continue;if(Q)yield JSON.parse(Q)}K=!0}catch(Q){if(Z4(Q))return;throw Q}finally{if(!K)Z.abort()}}return new U0(W,Z,X)}[(m$=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],Z=[],X=this.iterator(),Y=(J)=>{return{next:()=>{if(J.length===0){let W=X.next();$.push(W),Z.push(W)}return J.shift()}}};return[new U0(()=>Y($),this.controller,C(this,m$,"f")),new U0(()=>Y(Z),this.controller,C(this,m$,"f"))]}toReadableStream(){let $=this,Z;return f8({async start(){Z=$[Symbol.asyncIterator]()},async pull(X){try{let{value:Y,done:J}=await Z.next();if(J)return X.close();let W=h$(JSON.stringify(Y)+`
14
- `);X.enqueue(W)}catch(Y){X.error(Y)}},async cancel(){await Z.return?.()}})}}async function*PJ($,Z){if(!$.body){if(Z.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new m("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 m("Attempted to iterate over a response with no body")}let X=new P5,Y=new B4,J=f$($.body);for await(let W of LJ(J))for(let K of Y.decode(W)){let Q=X.decode(K);if(Q)yield Q}for(let W of Y.flush()){let K=X.decode(W);if(K)yield K}}async function*LJ($){let Z=new Uint8Array;for await(let X of $){if(X==null)continue;let Y=X instanceof ArrayBuffer?new Uint8Array(X):typeof X==="string"?h$(X):X,J=new Uint8Array(Z.length+Y.length);J.set(Z),J.set(Y,Z.length),Z=J;let W;while((W=C5(Z))!==-1)yield Z.slice(0,W),Z=Z.slice(W)}if(Z.length>0)yield Z}class P5{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(`
15
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],J}if(this.chunks.push($),$.startsWith(":"))return null;let[Z,X,Y]=RJ($,":");if(Y.startsWith(" "))Y=Y.substring(1);if(Z==="event")this.event=Y;else if(Z==="data")this.data.push(Y);return null}}function RJ($,Z){let X=$.indexOf(Z);if(X!==-1)return[$.substring(0,X),Z,$.substring(X+Z.length)];return[$,"",""]}async function jZ($,Z){let{response:X,requestLogID:Y,retryOfRequestLogID:J,startTime:W}=Z,K=await(async()=>{if(Z.options.stream){if(g1($).debug("response",X.status,X.url,X.headers,X.body),Z.options.__streamClass)return Z.options.__streamClass.fromSSEResponse(X,Z.controller);return U0.fromSSEResponse(X,Z.controller)}if(X.status===204)return null;if(Z.options.__binaryResponse)return X;let z=X.headers.get("content-type")?.split(";")[0]?.trim();if(z?.includes("application/json")||z?.endsWith("+json")){let H=await X.json();return m8(H,X)}return await X.text()})();return g1($).debug(`[${Y}] response parsed`,X4({retryOfRequestLogID:J,url:X.url,status:X.status,body:K,durationMs:Date.now()-W})),K}function m8($,Z){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:Z.headers.get("request-id"),enumerable:!1})}var x$;class f4 extends Promise{constructor($,Z,X=jZ){super((Y)=>{Y(null)});this.responsePromise=Z,this.parseResponse=X,x$.set(this,void 0),I(this,x$,$,"f")}_thenUnwrap($){return new f4(C(this,x$,"f"),this.responsePromise,async(Z,X)=>m8($(await this.parseResponse(Z,X),X),X.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,Z]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:Z,request_id:Z.headers.get("request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(C(this,x$,"f"),$));return this.parsedPromise}then($,Z){return this.parse().then($,Z)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}x$=new WeakMap;var yZ;class x8{constructor($,Z,X,Y){yZ.set(this,void 0),I(this,yZ,$,"f"),this.options=Y,this.response=Z,this.body=X}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new m("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await C(this,yZ,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(yZ=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let Z of $.getPaginatedItems())yield Z}}class EZ extends f4{constructor($,Z,X){super($,Z,async(Y,J)=>new X(Y,J.response,await jZ(Y,J),J.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let Z of $)yield Z}}class j0 extends x8{constructor($,Z,X,Y){super($,Z,X,Y);this.data=X.data||[],this.has_more=X.has_more||!1,this.first_id=X.first_id||null,this.last_id=X.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let Z=this.first_id;if(!Z)return null;return{...this.options,query:{...kZ(this.options.query),before_id:Z}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...kZ(this.options.query),after_id:$}}}}class u$ extends x8{constructor($,Z,X,Y){super($,Z,X,Y);this.data=X.data||[],this.has_more=X.has_more||!1,this.next_page=X.next_page||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.next_page;if(!$)return null;return{...this.options,query:{...kZ(this.options.query),page:$}}}}var c8=()=>{if(typeof File>"u"){let{process:$}=globalThis,Z=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(Z?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function h4($,Z,X){return c8(),new File($,Z??"unknown_file",X)}function c$($){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 p8=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var Z$=async($,Z)=>{return{...$,body:await kJ($.body,Z)}},L5=new WeakMap;function VJ($){let Z=typeof $==="function"?$:$.fetch,X=L5.get(Z);if(X)return X;let Y=(async()=>{try{let J="Response"in Z?Z.Response:(await Z("data:,")).constructor,W=new FormData;if(W.toString()===await new J(W).text())return!1;return!0}catch{return!0}})();return L5.set(Z,Y),Y}var kJ=async($,Z)=>{if(!await VJ(Z))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let X=new FormData;return await Promise.all(Object.entries($||{}).map(([Y,J])=>u8(X,Y,J))),X},TJ=($)=>$ instanceof Blob&&("name"in $);var u8=async($,Z,X)=>{if(X===void 0)return;if(X==null)throw TypeError(`Received null for "${Z}"; to pass null in FormData, you must use the string 'null'`);if(typeof X==="string"||typeof X==="number"||typeof X==="boolean")$.append(Z,String(X));else if(X instanceof Response){let Y={},J=X.headers.get("Content-Type");if(J)Y={type:J};$.append(Z,h4([await X.blob()],c$(X),Y))}else if(p8(X))$.append(Z,h4([await new Response(bZ(X)).blob()],c$(X)));else if(TJ(X))$.append(Z,h4([X],c$(X),{type:X.type}));else if(Array.isArray(X))await Promise.all(X.map((Y)=>u8($,Z+"[]",Y)));else if(typeof X==="object")await Promise.all(Object.entries(X).map(([Y,J])=>u8($,`${Z}[${Y}]`,J)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${X} instead`)};var R5=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",bJ=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&R5($),IJ=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function vZ($,Z,X){if(c8(),$=await $,Z||(Z=c$($)),bJ($)){if($ instanceof File&&Z==null&&X==null)return $;return h4([await $.arrayBuffer()],Z??$.name,{type:$.type,lastModified:$.lastModified,...X})}if(IJ($)){let J=await $.blob();return Z||(Z=new URL($.url).pathname.split(/[\\/]/).pop()),h4(await d8(J),Z,X)}let Y=await d8($);if(!X?.type){let J=Y.find((W)=>typeof W==="object"&&("type"in W)&&W.type);if(typeof J==="string")X={...X,type:J}}return h4(Y,Z,X)}async function d8($){let Z=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)Z.push($);else if(R5($))Z.push($ instanceof Blob?$:await $.arrayBuffer());else if(p8($))for await(let X of $)Z.push(...await d8(X));else{let X=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${X?`; constructor: ${X}`:""}${DJ($)}`)}return Z}function DJ($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((X)=>`"${X}"`).join(", ")}]`}class S1{constructor($){this._client=$}}var S5=Symbol.for("brand.privateNullableHeaders");function*yJ($){if(!$)return;if(S5 in $){let{values:Y,nulls:J}=$;yield*Y.entries();for(let W of J)yield[W,null];return}let Z=!1,X;if($ instanceof Headers)X=$.entries();else if(_8($))X=$;else Z=!0,X=Object.entries($??{});for(let Y of X){let J=Y[0];if(typeof J!=="string")throw TypeError("expected header name to be a string");let W=_8(Y[1])?Y[1]:[Y[1]],K=!1;for(let Q of W){if(Q===void 0)continue;if(Z&&!K)K=!0,yield[J,null];yield[J,Q]}}}var i=($)=>{let Z=new Headers,X=new Set;for(let Y of $){let J=new Set;for(let[W,K]of yJ(Y)){let Q=W.toLowerCase();if(!J.has(Q))Z.delete(W),J.add(Q);if(K===null)Z.delete(W),X.add(Q);else Z.append(W,K),X.delete(Q)}}return{[S5]:!0,values:Z,nulls:X}};function k5($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var V5=Object.freeze(Object.create(null)),EJ=($=k5)=>function(X,...Y){if(X.length===1)return X[0];let J=!1,W=[],K=X.reduce((O,H,U)=>{if(/[?#]/.test(H))J=!0;let M=Y[U],A=(J?encodeURIComponent:$)(""+M);if(U!==Y.length&&(M==null||typeof M==="object"&&M.toString===Object.getPrototypeOf(Object.getPrototypeOf(M.hasOwnProperty??V5)??V5)?.toString))A=M+"",W.push({start:O.length+H.length,length:A.length,error:`Value of type ${Object.prototype.toString.call(M).slice(8,-1)} is not a valid path parameter`});return O+H+(U===Y.length?"":A)},""),Q=K.split(/[?#]/,1)[0],z=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,G;while((G=z.exec(Q))!==null)W.push({start:G.index,length:G[0].length,error:`Value "${G[0]}" can't be safely passed as a path parameter`});if(W.sort((O,H)=>O.start-H.start),W.length>0){let O=0,H=W.reduce((U,M)=>{let A=" ".repeat(M.start-O),F="^".repeat(M.length);return O=M.start+M.length,U+A+F},"");throw new m(`Path parameters result in path with invalid segments:
16
- ${W.map((U)=>U.error).join(`
17
- `)}
18
- ${K}
19
- ${H}`)}return K},L1=EJ(k5);class p$ extends S1{list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/files",j0,{query:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"files-api-2025-04-14"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L1`/v1/files/${$}`,{...X,headers:i([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString()},X?.headers])})}download($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/files/${$}/content`,{...X,headers:i([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},X?.headers]),__binaryResponse:!0})}retrieveMetadata($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/files/${$}`,{...X,headers:i([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString()},X?.headers])})}upload($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/files",Z$({body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"files-api-2025-04-14"].toString()},Z?.headers])},this._client))}}class d$ extends S1{retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/models/${$}?beta=true`,{...X,headers:i([{...Y?.toString()!=null?{"anthropic-beta":Y?.toString()}:void 0},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/models?beta=true",j0,{query:Y,...Z,headers:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers])})}}var _Z={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};function l8($,Z,X){if(!Z||!("parse"in(Z.output_format??{})))return{...$,content:$.content.map((Y)=>{if(Y.type==="text"){let J=Object.defineProperty({...Y},"parsed_output",{value:null,enumerable:!1});return Object.defineProperty(J,"parsed",{get(){return X.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return Y}),parsed_output:null};return i8($,Z,X)}function i8($,Z,X){let Y=null,J=$.content.map((W)=>{if(W.type==="text"){let K=fJ(Z,W.text);if(Y===null)Y=K;let Q=Object.defineProperty({...W},"parsed_output",{value:K,enumerable:!1});return Object.defineProperty(Q,"parsed",{get(){return X.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),K},enumerable:!1})}return W});return{...$,content:J,parsed_output:Y}}function fJ($,Z){if($.output_format?.type!=="json_schema")return null;try{if("parse"in $.output_format)return $.output_format.parse(Z);return JSON.parse(Z)}catch(X){throw new m(`Failed to parse structured output: ${X}`)}}var hJ=($)=>{let Z=0,X=[];while(Z<$.length){let Y=$[Z];if(Y==="\\"){Z++;continue}if(Y==="{"){X.push({type:"brace",value:"{"}),Z++;continue}if(Y==="}"){X.push({type:"brace",value:"}"}),Z++;continue}if(Y==="["){X.push({type:"paren",value:"["}),Z++;continue}if(Y==="]"){X.push({type:"paren",value:"]"}),Z++;continue}if(Y===":"){X.push({type:"separator",value:":"}),Z++;continue}if(Y===","){X.push({type:"delimiter",value:","}),Z++;continue}if(Y==='"'){let Q="",z=!1;Y=$[++Z];while(Y!=='"'){if(Z===$.length){z=!0;break}if(Y==="\\"){if(Z++,Z===$.length){z=!0;break}Q+=Y+$[Z],Y=$[++Z]}else Q+=Y,Y=$[++Z]}if(Y=$[++Z],!z)X.push({type:"string",value:Q});continue}if(Y&&/\s/.test(Y)){Z++;continue}let W=/[0-9]/;if(Y&&W.test(Y)||Y==="-"||Y==="."){let Q="";if(Y==="-")Q+=Y,Y=$[++Z];while(Y&&W.test(Y)||Y===".")Q+=Y,Y=$[++Z];X.push({type:"number",value:Q});continue}let K=/[a-z]/i;if(Y&&K.test(Y)){let Q="";while(Y&&K.test(Y)){if(Z===$.length)break;Q+=Y,Y=$[++Z]}if(Q=="true"||Q=="false"||Q==="null")X.push({type:"name",value:Q});else{Z++;continue}continue}Z++}return X},X$=($)=>{if($.length===0)return $;let Z=$[$.length-1];switch(Z.type){case"separator":return $=$.slice(0,$.length-1),X$($);break;case"number":let X=Z.value[Z.value.length-1];if(X==="."||X==="-")return $=$.slice(0,$.length-1),X$($);case"string":let Y=$[$.length-2];if(Y?.type==="delimiter")return $=$.slice(0,$.length-1),X$($);else if(Y?.type==="brace"&&Y.value==="{")return $=$.slice(0,$.length-1),X$($);break;case"delimiter":return $=$.slice(0,$.length-1),X$($);break}return $},gJ=($)=>{let Z=[];if($.map((X)=>{if(X.type==="brace")if(X.value==="{")Z.push("}");else Z.splice(Z.lastIndexOf("}"),1);if(X.type==="paren")if(X.value==="[")Z.push("]");else Z.splice(Z.lastIndexOf("]"),1)}),Z.length>0)Z.reverse().map((X)=>{if(X==="}")$.push({type:"brace",value:"}"});else if(X==="]")$.push({type:"paren",value:"]"})});return $},mJ=($)=>{let Z="";return $.map((X)=>{switch(X.type){case"string":Z+='"'+X.value+'"';break;default:Z+=X.value;break}}),Z},fZ=($)=>JSON.parse(mJ(gJ(X$(hJ($)))));var V0,P4,Y$,l$,hZ,i$,o$,gZ,n$,Y4,r$,mZ,xZ,g4,uZ,cZ,a$,o8,T5,pZ,n8,r8,a8,b5,I5="__json_buf";function D5($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}class s${constructor($,Z){V0.add(this),this.messages=[],this.receivedMessages=[],P4.set(this,void 0),Y$.set(this,null),this.controller=new AbortController,l$.set(this,void 0),hZ.set(this,()=>{}),i$.set(this,()=>{}),o$.set(this,void 0),gZ.set(this,()=>{}),n$.set(this,()=>{}),Y4.set(this,{}),r$.set(this,!1),mZ.set(this,!1),xZ.set(this,!1),g4.set(this,!1),uZ.set(this,void 0),cZ.set(this,void 0),a$.set(this,void 0),pZ.set(this,(X)=>{if(I(this,mZ,!0,"f"),Z4(X))X=new n1;if(X instanceof n1)return I(this,xZ,!0,"f"),this._emit("abort",X);if(X instanceof m)return this._emit("error",X);if(X instanceof Error){let Y=new m(X.message);return Y.cause=X,this._emit("error",Y)}return this._emit("error",new m(String(X)))}),I(this,l$,new Promise((X,Y)=>{I(this,hZ,X,"f"),I(this,i$,Y,"f")}),"f"),I(this,o$,new Promise((X,Y)=>{I(this,gZ,X,"f"),I(this,n$,Y,"f")}),"f"),C(this,l$,"f").catch(()=>{}),C(this,o$,"f").catch(()=>{}),I(this,Y$,$,"f"),I(this,a$,Z?.logger??console,"f")}get response(){return C(this,uZ,"f")}get request_id(){return C(this,cZ,"f")}async withResponse(){I(this,g4,!0,"f");let $=await C(this,l$,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let Z=new s$(null);return Z._run(()=>Z._fromReadableStream($)),Z}static createMessage($,Z,X,{logger:Y}={}){let J=new s$(Z,{logger:Y});for(let W of Z.messages)J._addMessageParam(W);return I(J,Y$,{...Z,stream:!0},"f"),J._run(()=>J._createMessage($,{...Z,stream:!0},{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),J}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},C(this,pZ,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,Z=!0){if(this.receivedMessages.push($),Z)this._emit("message",$)}async _createMessage($,Z,X){let Y=X?.signal,J;if(Y){if(Y.aborted)this.controller.abort();J=this.controller.abort.bind(this.controller),Y.addEventListener("abort",J)}try{C(this,V0,"m",n8).call(this);let{response:W,data:K}=await $.create({...Z,stream:!0},{...X,signal:this.controller.signal}).withResponse();this._connected(W);for await(let Q of K)C(this,V0,"m",r8).call(this,Q);if(K.controller.signal?.aborted)throw new n1;C(this,V0,"m",a8).call(this)}finally{if(Y&&J)Y.removeEventListener("abort",J)}}_connected($){if(this.ended)return;I(this,uZ,$,"f"),I(this,cZ,$?.headers.get("request-id"),"f"),C(this,hZ,"f").call(this,$),this._emit("connect")}get ended(){return C(this,r$,"f")}get errored(){return C(this,mZ,"f")}get aborted(){return C(this,xZ,"f")}abort(){this.controller.abort()}on($,Z){return(C(this,Y4,"f")[$]||(C(this,Y4,"f")[$]=[])).push({listener:Z}),this}off($,Z){let X=C(this,Y4,"f")[$];if(!X)return this;let Y=X.findIndex((J)=>J.listener===Z);if(Y>=0)X.splice(Y,1);return this}once($,Z){return(C(this,Y4,"f")[$]||(C(this,Y4,"f")[$]=[])).push({listener:Z,once:!0}),this}emitted($){return new Promise((Z,X)=>{if(I(this,g4,!0,"f"),$!=="error")this.once("error",X);this.once($,Z)})}async done(){I(this,g4,!0,"f"),await C(this,o$,"f")}get currentMessage(){return C(this,P4,"f")}async finalMessage(){return await this.done(),C(this,V0,"m",o8).call(this)}async finalText(){return await this.done(),C(this,V0,"m",T5).call(this)}_emit($,...Z){if(C(this,r$,"f"))return;if($==="end")I(this,r$,!0,"f"),C(this,gZ,"f").call(this);let X=C(this,Y4,"f")[$];if(X)C(this,Y4,"f")[$]=X.filter((Y)=>!Y.once),X.forEach(({listener:Y})=>Y(...Z));if($==="abort"){let Y=Z[0];if(!C(this,g4,"f")&&!X?.length)Promise.reject(Y);C(this,i$,"f").call(this,Y),C(this,n$,"f").call(this,Y),this._emit("end");return}if($==="error"){let Y=Z[0];if(!C(this,g4,"f")&&!X?.length)Promise.reject(Y);C(this,i$,"f").call(this,Y),C(this,n$,"f").call(this,Y),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",C(this,V0,"m",o8).call(this))}async _fromReadableStream($,Z){let X=Z?.signal,Y;if(X){if(X.aborted)this.controller.abort();Y=this.controller.abort.bind(this.controller),X.addEventListener("abort",Y)}try{C(this,V0,"m",n8).call(this),this._connected(null);let J=U0.fromReadableStream($,this.controller);for await(let W of J)C(this,V0,"m",r8).call(this,W);if(J.controller.signal?.aborted)throw new n1;C(this,V0,"m",a8).call(this)}finally{if(X&&Y)X.removeEventListener("abort",Y)}}[(P4=new WeakMap,Y$=new WeakMap,l$=new WeakMap,hZ=new WeakMap,i$=new WeakMap,o$=new WeakMap,gZ=new WeakMap,n$=new WeakMap,Y4=new WeakMap,r$=new WeakMap,mZ=new WeakMap,xZ=new WeakMap,g4=new WeakMap,uZ=new WeakMap,cZ=new WeakMap,a$=new WeakMap,pZ=new WeakMap,V0=new WeakSet,o8=function(){if(this.receivedMessages.length===0)throw new m("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},T5=function(){if(this.receivedMessages.length===0)throw new m("stream ended without producing a Message with role=assistant");let Z=this.receivedMessages.at(-1).content.filter((X)=>X.type==="text").map((X)=>X.text);if(Z.length===0)throw new m("stream ended without producing a content block with type=text");return Z.join(" ")},n8=function(){if(this.ended)return;I(this,P4,void 0,"f")},r8=function(Z){if(this.ended)return;let X=C(this,V0,"m",b5).call(this,Z);switch(this._emit("streamEvent",Z,X),Z.type){case"content_block_delta":{let Y=X.content.at(-1);switch(Z.delta.type){case"text_delta":{if(Y.type==="text")this._emit("text",Z.delta.text,Y.text||"");break}case"citations_delta":{if(Y.type==="text")this._emit("citation",Z.delta.citation,Y.citations??[]);break}case"input_json_delta":{if(D5(Y)&&Y.input)this._emit("inputJson",Z.delta.partial_json,Y.input);break}case"thinking_delta":{if(Y.type==="thinking")this._emit("thinking",Z.delta.thinking,Y.thinking);break}case"signature_delta":{if(Y.type==="thinking")this._emit("signature",Y.signature);break}default:j5(Z.delta)}break}case"message_stop":{this._addMessageParam(X),this._addMessage(l8(X,C(this,Y$,"f"),{logger:C(this,a$,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",X.content.at(-1));break}case"message_start":{I(this,P4,X,"f");break}case"content_block_start":case"message_delta":break}},a8=function(){if(this.ended)throw new m("stream has ended, this shouldn't happen");let Z=C(this,P4,"f");if(!Z)throw new m("request ended without sending any chunks");return I(this,P4,void 0,"f"),l8(Z,C(this,Y$,"f"),{logger:C(this,a$,"f")})},b5=function(Z){let X=C(this,P4,"f");if(Z.type==="message_start"){if(X)throw new m(`Unexpected event order, got ${Z.type} before receiving "message_stop"`);return Z.message}if(!X)throw new m(`Unexpected event order, got ${Z.type} before "message_start"`);switch(Z.type){case"message_stop":return X;case"message_delta":if(X.container=Z.delta.container,X.stop_reason=Z.delta.stop_reason,X.stop_sequence=Z.delta.stop_sequence,X.usage.output_tokens=Z.usage.output_tokens,X.context_management=Z.context_management,Z.usage.input_tokens!=null)X.usage.input_tokens=Z.usage.input_tokens;if(Z.usage.cache_creation_input_tokens!=null)X.usage.cache_creation_input_tokens=Z.usage.cache_creation_input_tokens;if(Z.usage.cache_read_input_tokens!=null)X.usage.cache_read_input_tokens=Z.usage.cache_read_input_tokens;if(Z.usage.server_tool_use!=null)X.usage.server_tool_use=Z.usage.server_tool_use;return X;case"content_block_start":return X.content.push(Z.content_block),X;case"content_block_delta":{let Y=X.content.at(Z.index);switch(Z.delta.type){case"text_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,text:(Y.text||"")+Z.delta.text};break}case"citations_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,citations:[...Y.citations??[],Z.delta.citation]};break}case"input_json_delta":{if(Y&&D5(Y)){let J=Y[I5]||"";J+=Z.delta.partial_json;let W={...Y};if(Object.defineProperty(W,I5,{value:J,enumerable:!1,writable:!0}),J)try{W.input=fZ(J)}catch(K){let Q=new m(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${K}. JSON: ${J}`);C(this,pZ,"f").call(this,Q)}X.content[Z.index]=W}break}case"thinking_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,thinking:Y.thinking+Z.delta.thinking};break}case"signature_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,signature:Z.delta.signature};break}default:j5(Z.delta)}return X}case"content_block_stop":return X}},Symbol.asyncIterator)](){let $=[],Z=[],X=!1;return this.on("streamEvent",(Y)=>{let J=Z.shift();if(J)J.resolve(Y);else $.push(Y)}),this.on("end",()=>{X=!0;for(let Y of Z)Y.resolve(void 0);Z.length=0}),this.on("abort",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),this.on("error",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),{next:async()=>{if(!$.length){if(X)return{value:void 0,done:!0};return new Promise((J,W)=>Z.push({resolve:J,reject:W})).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 U0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function j5($){}var y5=1e5,E5=`You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
20
- 1. Task Overview
21
- The user's core request and success criteria
22
- Any clarifications or constraints they specified
23
- 2. Current State
24
- What has been completed so far
25
- Files created, modified, or analyzed (with paths if relevant)
26
- Key outputs or artifacts produced
27
- 3. Important Discoveries
28
- Technical constraints or requirements uncovered
29
- Decisions made and their rationale
30
- Errors encountered and how they were resolved
31
- What approaches were tried that didn't work (and why)
32
- 4. Next Steps
33
- Specific actions needed to complete the task
34
- Any blockers or open questions to resolve
35
- Priority order if multiple steps remain
36
- 5. Context to Preserve
37
- User preferences or style requirements
38
- Domain-specific details that aren't obvious
39
- Any promises made to the user
40
- Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
41
- Wrap your summary in <summary></summary> tags.`;var t$,J$,m4,y1,e$,w0,J4,L4,$Z,v5,s8;function _5(){let $,Z;return{promise:new Promise((Y,J)=>{$=Y,Z=J}),resolve:$,reject:Z}}class ZZ{constructor($,Z,X){t$.add(this),this.client=$,J$.set(this,!1),m4.set(this,!1),y1.set(this,void 0),e$.set(this,void 0),w0.set(this,void 0),J4.set(this,void 0),L4.set(this,void 0),$Z.set(this,0),I(this,y1,{params:{...Z,messages:structuredClone(Z.messages)}},"f"),I(this,e$,{...X,headers:i([{"x-stainless-helper":"BetaToolRunner"},X?.headers])},"f"),I(this,L4,_5(),"f")}async*[(J$=new WeakMap,m4=new WeakMap,y1=new WeakMap,e$=new WeakMap,w0=new WeakMap,J4=new WeakMap,L4=new WeakMap,$Z=new WeakMap,t$=new WeakSet,v5=async function(){let Z=C(this,y1,"f").params.compactionControl;if(!Z||!Z.enabled)return!1;let X=0;if(C(this,w0,"f")!==void 0)try{let z=await C(this,w0,"f");X=z.usage.input_tokens+(z.usage.cache_creation_input_tokens??0)+(z.usage.cache_read_input_tokens??0)+z.usage.output_tokens}catch{return!1}let Y=Z.contextTokenThreshold??y5;if(X<Y)return!1;let J=Z.model??C(this,y1,"f").params.model,W=Z.summaryPrompt??E5,K=C(this,y1,"f").params.messages;if(K[K.length-1].role==="assistant"){let z=K[K.length-1];if(Array.isArray(z.content)){let G=z.content.filter((O)=>O.type!=="tool_use");if(G.length===0)K.pop();else z.content=G}}let Q=await this.client.beta.messages.create({model:J,messages:[...K,{role:"user",content:[{type:"text",text:W}]}],max_tokens:C(this,y1,"f").params.max_tokens},{headers:{"x-stainless-helper":"compaction"}});if(Q.content[0]?.type!=="text")throw new m("Expected text response for compaction");return C(this,y1,"f").params.messages=[{role:"user",content:Q.content}],!0},Symbol.asyncIterator)](){var $;if(C(this,J$,"f"))throw new m("Cannot iterate over a consumed stream");I(this,J$,!0,"f"),I(this,m4,!0,"f"),I(this,J4,void 0,"f");try{while(!0){let Z;try{if(C(this,y1,"f").params.max_iterations&&C(this,$Z,"f")>=C(this,y1,"f").params.max_iterations)break;I(this,m4,!1,"f"),I(this,J4,void 0,"f"),I(this,$Z,($=C(this,$Z,"f"),$++,$),"f"),I(this,w0,void 0,"f");let{max_iterations:X,compactionControl:Y,...J}=C(this,y1,"f").params;if(J.stream)Z=this.client.beta.messages.stream({...J},C(this,e$,"f")),I(this,w0,Z.finalMessage(),"f"),C(this,w0,"f").catch(()=>{}),yield Z;else I(this,w0,this.client.beta.messages.create({...J,stream:!1},C(this,e$,"f")),"f"),yield C(this,w0,"f");if(!await C(this,t$,"m",v5).call(this)){if(!C(this,m4,"f")){let{role:Q,content:z}=await C(this,w0,"f");C(this,y1,"f").params.messages.push({role:Q,content:z})}let K=await C(this,t$,"m",s8).call(this,C(this,y1,"f").params.messages.at(-1));if(K)C(this,y1,"f").params.messages.push(K);else if(!C(this,m4,"f"))break}}finally{if(Z)Z.abort()}}if(!C(this,w0,"f"))throw new m("ToolRunner concluded without a message from the server");C(this,L4,"f").resolve(await C(this,w0,"f"))}catch(Z){throw I(this,J$,!1,"f"),C(this,L4,"f").promise.catch(()=>{}),C(this,L4,"f").reject(Z),I(this,L4,_5(),"f"),Z}}setMessagesParams($){if(typeof $==="function")C(this,y1,"f").params=$(C(this,y1,"f").params);else C(this,y1,"f").params=$;I(this,m4,!0,"f"),I(this,J4,void 0,"f")}async generateToolResponse(){let $=await C(this,w0,"f")??this.params.messages.at(-1);if(!$)return null;return C(this,t$,"m",s8).call(this,$)}done(){return C(this,L4,"f").promise}async runUntilDone(){if(!C(this,J$,"f"))for await(let $ of this);return this.done()}get params(){return C(this,y1,"f").params}pushMessages(...$){this.setMessagesParams((Z)=>({...Z,messages:[...Z.messages,...$]}))}then($,Z){return this.runUntilDone().then($,Z)}}s8=async function(Z){if(C(this,J4,"f")!==void 0)return C(this,J4,"f");return I(this,J4,xJ(C(this,y1,"f").params,Z),"f"),C(this,J4,"f")};async function xJ($,Z=$.messages.at(-1)){if(!Z||Z.role!=="assistant"||!Z.content||typeof Z.content==="string")return null;let X=Z.content.filter((J)=>J.type==="tool_use");if(X.length===0)return null;return{role:"user",content:await Promise.all(X.map(async(J)=>{let W=$.tools.find((K)=>("name"in K?K.name:K.mcp_server_name)===J.name);if(!W||!("run"in W))return{type:"tool_result",tool_use_id:J.id,content:`Error: Tool '${J.name}' not found`,is_error:!0};try{let K=J.input;if("parse"in W&&W.parse)K=W.parse(K);let Q=await W.run(K);return{type:"tool_result",tool_use_id:J.id,content:Q}}catch(K){return{type:"tool_result",tool_use_id:J.id,content:`Error: ${K instanceof Error?K.message:String(K)}`,is_error:!0}}}))}}class W${constructor($,Z){this.iterator=$,this.controller=Z}async*decoder(){let $=new B4;for await(let Z of this.iterator)for(let X of $.decode(Z))yield JSON.parse(X);for(let Z of $.flush())yield JSON.parse(Z)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse($,Z){if(!$.body){if(Z.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new m("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 m("Attempted to iterate over a response with no body")}return new W$(f$($.body),Z)}}class XZ extends S1{create($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/messages/batches?beta=true",{body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/messages/batches/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString()},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/messages/batches?beta=true",j0,{query:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L1`/v1/messages/batches/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString()},X?.headers])})}cancel($,Z={},X){let{betas:Y}=Z??{};return this._client.post(L1`/v1/messages/batches/${$}/cancel?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString()},X?.headers])})}async results($,Z={},X){let Y=await this.retrieve($);if(!Y.results_url)throw new m(`No batch \`results_url\`; Has it finished processing? ${Y.processing_status} - ${Y.id}`);let{betas:J}=Z??{};return this._client.get(Y.results_url,{...X,headers:i([{"anthropic-beta":[...J??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},X?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((W,K)=>W$.fromResponse(K.response,K.controller))}}var f5={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"};class x4 extends S1{constructor(){super(...arguments);this.batches=new XZ(this._client)}create($,Z){let{betas:X,...Y}=$;if(Y.model in f5)console.warn(`The model '${Y.model}' is deprecated and will reach end-of-life on ${f5[Y.model]}
42
- Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let J=this._client._options.timeout;if(!Y.stream&&J==null){let W=_Z[Y.model]??void 0;J=this._client.calculateNonstreamingTimeout(Y.max_tokens,W)}return this._client.post("/v1/messages?beta=true",{body:Y,timeout:J??600000,...Z,headers:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers]),stream:$.stream??!1})}parse($,Z){return Z={...Z,headers:i([{"anthropic-beta":[...$.betas??[],"structured-outputs-2025-11-13"].toString()},Z?.headers])},this.create($,Z).then((X)=>i8(X,$,{logger:this._client.logger??console}))}stream($,Z){return s$.createMessage(this,$,Z)}countTokens($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/messages/count_tokens?beta=true",{body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"token-counting-2024-11-01"].toString()},Z?.headers])})}toolRunner($,Z){return new ZZ(this._client,$,Z)}}x4.Batches=XZ;x4.BetaToolRunner=ZZ;class YZ extends S1{create($,Z={},X){let{betas:Y,...J}=Z??{};return this._client.post(L1`/v1/skills/${$}/versions?beta=true`,Z$({body:J,...X,headers:i([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])},this._client))}retrieve($,Z,X){let{skill_id:Y,betas:J}=Z;return this._client.get(L1`/v1/skills/${Y}/versions/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}list($,Z={},X){let{betas:Y,...J}=Z??{};return this._client.getAPIList(L1`/v1/skills/${$}/versions?beta=true`,u$,{query:J,...X,headers:i([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}delete($,Z,X){let{skill_id:Y,betas:J}=Z;return this._client.delete(L1`/v1/skills/${Y}/versions/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}}class K$ extends S1{constructor(){super(...arguments);this.versions=new YZ(this._client)}create($={},Z){let{betas:X,...Y}=$??{};return this._client.post("/v1/skills?beta=true",Z$({body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"skills-2025-10-02"].toString()},Z?.headers])},this._client))}retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/skills/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/skills?beta=true",u$,{query:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"skills-2025-10-02"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L1`/v1/skills/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}}K$.Versions=YZ;class l0 extends S1{constructor(){super(...arguments);this.models=new d$(this._client),this.messages=new x4(this._client),this.files=new p$(this._client),this.skills=new K$(this._client)}}l0.Models=d$;l0.Messages=x4;l0.Files=p$;l0.Skills=K$;class Q$ extends S1{create($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/complete",{body:Y,timeout:this._client._options.timeout??600000,...Z,headers:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers]),stream:$.stream??!1})}}var k0,R4,JZ,dZ,WZ,KZ,lZ,QZ,W4,zZ,iZ,oZ,u4,nZ,rZ,t8,h5,e8,$6,Z6,X6,g5,m5="__json_buf";function x5($){return $.type==="tool_use"||$.type==="server_tool_use"}class GZ{constructor(){k0.add(this),this.messages=[],this.receivedMessages=[],R4.set(this,void 0),this.controller=new AbortController,JZ.set(this,void 0),dZ.set(this,()=>{}),WZ.set(this,()=>{}),KZ.set(this,void 0),lZ.set(this,()=>{}),QZ.set(this,()=>{}),W4.set(this,{}),zZ.set(this,!1),iZ.set(this,!1),oZ.set(this,!1),u4.set(this,!1),nZ.set(this,void 0),rZ.set(this,void 0),e8.set(this,($)=>{if(I(this,iZ,!0,"f"),Z4($))$=new n1;if($ instanceof n1)return I(this,oZ,!0,"f"),this._emit("abort",$);if($ instanceof m)return this._emit("error",$);if($ instanceof Error){let Z=new m($.message);return Z.cause=$,this._emit("error",Z)}return this._emit("error",new m(String($)))}),I(this,JZ,new Promise(($,Z)=>{I(this,dZ,$,"f"),I(this,WZ,Z,"f")}),"f"),I(this,KZ,new Promise(($,Z)=>{I(this,lZ,$,"f"),I(this,QZ,Z,"f")}),"f"),C(this,JZ,"f").catch(()=>{}),C(this,KZ,"f").catch(()=>{})}get response(){return C(this,nZ,"f")}get request_id(){return C(this,rZ,"f")}async withResponse(){I(this,u4,!0,"f");let $=await C(this,JZ,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let Z=new GZ;return Z._run(()=>Z._fromReadableStream($)),Z}static createMessage($,Z,X){let Y=new GZ;for(let J of Z.messages)Y._addMessageParam(J);return Y._run(()=>Y._createMessage($,{...Z,stream:!0},{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),Y}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},C(this,e8,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,Z=!0){if(this.receivedMessages.push($),Z)this._emit("message",$)}async _createMessage($,Z,X){let Y=X?.signal,J;if(Y){if(Y.aborted)this.controller.abort();J=this.controller.abort.bind(this.controller),Y.addEventListener("abort",J)}try{C(this,k0,"m",$6).call(this);let{response:W,data:K}=await $.create({...Z,stream:!0},{...X,signal:this.controller.signal}).withResponse();this._connected(W);for await(let Q of K)C(this,k0,"m",Z6).call(this,Q);if(K.controller.signal?.aborted)throw new n1;C(this,k0,"m",X6).call(this)}finally{if(Y&&J)Y.removeEventListener("abort",J)}}_connected($){if(this.ended)return;I(this,nZ,$,"f"),I(this,rZ,$?.headers.get("request-id"),"f"),C(this,dZ,"f").call(this,$),this._emit("connect")}get ended(){return C(this,zZ,"f")}get errored(){return C(this,iZ,"f")}get aborted(){return C(this,oZ,"f")}abort(){this.controller.abort()}on($,Z){return(C(this,W4,"f")[$]||(C(this,W4,"f")[$]=[])).push({listener:Z}),this}off($,Z){let X=C(this,W4,"f")[$];if(!X)return this;let Y=X.findIndex((J)=>J.listener===Z);if(Y>=0)X.splice(Y,1);return this}once($,Z){return(C(this,W4,"f")[$]||(C(this,W4,"f")[$]=[])).push({listener:Z,once:!0}),this}emitted($){return new Promise((Z,X)=>{if(I(this,u4,!0,"f"),$!=="error")this.once("error",X);this.once($,Z)})}async done(){I(this,u4,!0,"f"),await C(this,KZ,"f")}get currentMessage(){return C(this,R4,"f")}async finalMessage(){return await this.done(),C(this,k0,"m",t8).call(this)}async finalText(){return await this.done(),C(this,k0,"m",h5).call(this)}_emit($,...Z){if(C(this,zZ,"f"))return;if($==="end")I(this,zZ,!0,"f"),C(this,lZ,"f").call(this);let X=C(this,W4,"f")[$];if(X)C(this,W4,"f")[$]=X.filter((Y)=>!Y.once),X.forEach(({listener:Y})=>Y(...Z));if($==="abort"){let Y=Z[0];if(!C(this,u4,"f")&&!X?.length)Promise.reject(Y);C(this,WZ,"f").call(this,Y),C(this,QZ,"f").call(this,Y),this._emit("end");return}if($==="error"){let Y=Z[0];if(!C(this,u4,"f")&&!X?.length)Promise.reject(Y);C(this,WZ,"f").call(this,Y),C(this,QZ,"f").call(this,Y),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",C(this,k0,"m",t8).call(this))}async _fromReadableStream($,Z){let X=Z?.signal,Y;if(X){if(X.aborted)this.controller.abort();Y=this.controller.abort.bind(this.controller),X.addEventListener("abort",Y)}try{C(this,k0,"m",$6).call(this),this._connected(null);let J=U0.fromReadableStream($,this.controller);for await(let W of J)C(this,k0,"m",Z6).call(this,W);if(J.controller.signal?.aborted)throw new n1;C(this,k0,"m",X6).call(this)}finally{if(X&&Y)X.removeEventListener("abort",Y)}}[(R4=new WeakMap,JZ=new WeakMap,dZ=new WeakMap,WZ=new WeakMap,KZ=new WeakMap,lZ=new WeakMap,QZ=new WeakMap,W4=new WeakMap,zZ=new WeakMap,iZ=new WeakMap,oZ=new WeakMap,u4=new WeakMap,nZ=new WeakMap,rZ=new WeakMap,e8=new WeakMap,k0=new WeakSet,t8=function(){if(this.receivedMessages.length===0)throw new m("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},h5=function(){if(this.receivedMessages.length===0)throw new m("stream ended without producing a Message with role=assistant");let Z=this.receivedMessages.at(-1).content.filter((X)=>X.type==="text").map((X)=>X.text);if(Z.length===0)throw new m("stream ended without producing a content block with type=text");return Z.join(" ")},$6=function(){if(this.ended)return;I(this,R4,void 0,"f")},Z6=function(Z){if(this.ended)return;let X=C(this,k0,"m",g5).call(this,Z);switch(this._emit("streamEvent",Z,X),Z.type){case"content_block_delta":{let Y=X.content.at(-1);switch(Z.delta.type){case"text_delta":{if(Y.type==="text")this._emit("text",Z.delta.text,Y.text||"");break}case"citations_delta":{if(Y.type==="text")this._emit("citation",Z.delta.citation,Y.citations??[]);break}case"input_json_delta":{if(x5(Y)&&Y.input)this._emit("inputJson",Z.delta.partial_json,Y.input);break}case"thinking_delta":{if(Y.type==="thinking")this._emit("thinking",Z.delta.thinking,Y.thinking);break}case"signature_delta":{if(Y.type==="thinking")this._emit("signature",Y.signature);break}default:u5(Z.delta)}break}case"message_stop":{this._addMessageParam(X),this._addMessage(X,!0);break}case"content_block_stop":{this._emit("contentBlock",X.content.at(-1));break}case"message_start":{I(this,R4,X,"f");break}case"content_block_start":case"message_delta":break}},X6=function(){if(this.ended)throw new m("stream has ended, this shouldn't happen");let Z=C(this,R4,"f");if(!Z)throw new m("request ended without sending any chunks");return I(this,R4,void 0,"f"),Z},g5=function(Z){let X=C(this,R4,"f");if(Z.type==="message_start"){if(X)throw new m(`Unexpected event order, got ${Z.type} before receiving "message_stop"`);return Z.message}if(!X)throw new m(`Unexpected event order, got ${Z.type} before "message_start"`);switch(Z.type){case"message_stop":return X;case"message_delta":if(X.stop_reason=Z.delta.stop_reason,X.stop_sequence=Z.delta.stop_sequence,X.usage.output_tokens=Z.usage.output_tokens,Z.usage.input_tokens!=null)X.usage.input_tokens=Z.usage.input_tokens;if(Z.usage.cache_creation_input_tokens!=null)X.usage.cache_creation_input_tokens=Z.usage.cache_creation_input_tokens;if(Z.usage.cache_read_input_tokens!=null)X.usage.cache_read_input_tokens=Z.usage.cache_read_input_tokens;if(Z.usage.server_tool_use!=null)X.usage.server_tool_use=Z.usage.server_tool_use;return X;case"content_block_start":return X.content.push({...Z.content_block}),X;case"content_block_delta":{let Y=X.content.at(Z.index);switch(Z.delta.type){case"text_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,text:(Y.text||"")+Z.delta.text};break}case"citations_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,citations:[...Y.citations??[],Z.delta.citation]};break}case"input_json_delta":{if(Y&&x5(Y)){let J=Y[m5]||"";J+=Z.delta.partial_json;let W={...Y};if(Object.defineProperty(W,m5,{value:J,enumerable:!1,writable:!0}),J)W.input=fZ(J);X.content[Z.index]=W}break}case"thinking_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,thinking:Y.thinking+Z.delta.thinking};break}case"signature_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,signature:Z.delta.signature};break}default:u5(Z.delta)}return X}case"content_block_stop":return X}},Symbol.asyncIterator)](){let $=[],Z=[],X=!1;return this.on("streamEvent",(Y)=>{let J=Z.shift();if(J)J.resolve(Y);else $.push(Y)}),this.on("end",()=>{X=!0;for(let Y of Z)Y.resolve(void 0);Z.length=0}),this.on("abort",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),this.on("error",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),{next:async()=>{if(!$.length){if(X)return{value:void 0,done:!0};return new Promise((J,W)=>Z.push({resolve:J,reject:W})).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 U0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function u5($){}class OZ extends S1{create($,Z){return this._client.post("/v1/messages/batches",{body:$,...Z})}retrieve($,Z){return this._client.get(L1`/v1/messages/batches/${$}`,Z)}list($={},Z){return this._client.getAPIList("/v1/messages/batches",j0,{query:$,...Z})}delete($,Z){return this._client.delete(L1`/v1/messages/batches/${$}`,Z)}cancel($,Z){return this._client.post(L1`/v1/messages/batches/${$}/cancel`,Z)}async results($,Z){let X=await this.retrieve($);if(!X.results_url)throw new m(`No batch \`results_url\`; Has it finished processing? ${X.processing_status} - ${X.id}`);return this._client.get(X.results_url,{...Z,headers:i([{Accept:"application/binary"},Z?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Y,J)=>W$.fromResponse(J.response,J.controller))}}class c4 extends S1{constructor(){super(...arguments);this.batches=new OZ(this._client)}create($,Z){if($.model in c5)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${c5[$.model]}
43
- Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let X=this._client._options.timeout;if(!$.stream&&X==null){let Y=_Z[$.model]??void 0;X=this._client.calculateNonstreamingTimeout($.max_tokens,Y)}return this._client.post("/v1/messages",{body:$,timeout:X??600000,...Z,stream:$.stream??!1})}stream($,Z){return GZ.createMessage(this,$,Z)}countTokens($,Z){return this._client.post("/v1/messages/count_tokens",{body:$,...Z})}}var c5={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"};c4.Batches=OZ;class z$ extends S1{retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/models/${$}`,{...X,headers:i([{...Y?.toString()!=null?{"anthropic-beta":Y?.toString()}:void 0},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/models",j0,{query:Y,...Z,headers:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers])})}}var HZ=($)=>{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 Y6,J6,aZ,p5,d5="\\n\\nHuman:",l5="\\n\\nAssistant:";class k1{constructor({baseURL:$=HZ("ANTHROPIC_BASE_URL"),apiKey:Z=HZ("ANTHROPIC_API_KEY")??null,authToken:X=HZ("ANTHROPIC_AUTH_TOKEN")??null,...Y}={}){Y6.add(this),aZ.set(this,void 0);let J={apiKey:Z,authToken:X,...Y,baseURL:$||"https://api.anthropic.com"};if(!J.dangerouslyAllowBrowser&&H5())throw new m(`It looks like you're running in a browser-like environment.
44
-
45
- This is disabled by default, as it risks exposing your secret API credentials to attackers.
46
- If you understand the risks and have appropriate mitigations in place,
47
- you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
48
-
49
- new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
50
- `);this.baseURL=J.baseURL,this.timeout=J.timeout??J6.DEFAULT_TIMEOUT,this.logger=J.logger??console;let W="warn";this.logLevel=W,this.logLevel=g8(J.logLevel,"ClientOptions.logLevel",this)??g8(HZ("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??W,this.fetchOptions=J.fetchOptions,this.maxRetries=J.maxRetries??2,this.fetch=J.fetch??U5(),I(this,aZ,M5,"f"),this._options=J,this.apiKey=typeof Z==="string"?Z:null,this.authToken=X}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,authToken:this.authToken,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:Z}){if($.get("x-api-key")||$.get("authorization"))return;if(this.apiKey&&$.get("x-api-key"))return;if(Z.has("x-api-key"))return;if(this.authToken&&$.get("authorization"))return;if(Z.has("authorization"))return;throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders($){return i([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return i([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return i([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery($){return Object.entries($).filter(([Z,X])=>typeof X<"u").map(([Z,X])=>{if(typeof X==="string"||typeof X==="number"||typeof X==="boolean")return`${encodeURIComponent(Z)}=${encodeURIComponent(X)}`;if(X===null)return`${encodeURIComponent(Z)}=`;throw new m(`Cannot stringify type ${typeof X}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${C4}`}defaultIdempotencyKey(){return`stainless-node-retry-${E8()}`}makeStatusError($,Z,X,Y){return j1.generate($,Z,X,Y)}buildURL($,Z,X){let Y=!C(this,Y6,"m",p5).call(this)&&X||this.baseURL,J=Y5($)?new URL($):new URL(Y+(Y.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),W=this.defaultQuery();if(!J5(W))Z={...W,...Z};if(typeof Z==="object"&&Z&&!Array.isArray(Z))J.search=this.stringifyQuery(Z);return J.toString()}_calculateNonstreamingTimeout($){if(3600*$/128000>600)throw new m("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600000}async prepareOptions($){}async prepareRequest($,{url:Z,options:X}){}get($,Z){return this.methodRequest("get",$,Z)}post($,Z){return this.methodRequest("post",$,Z)}patch($,Z){return this.methodRequest("patch",$,Z)}put($,Z){return this.methodRequest("put",$,Z)}delete($,Z){return this.methodRequest("delete",$,Z)}methodRequest($,Z,X){return this.request(Promise.resolve(X).then((Y)=>{return{method:$,path:Z,...Y}}))}request($,Z=null){return new f4(this,this.makeRequest($,Z,void 0))}async makeRequest($,Z,X){let Y=await $,J=Y.maxRetries??this.maxRetries;if(Z==null)Z=J;await this.prepareOptions(Y);let{req:W,url:K,timeout:Q}=await this.buildRequest(Y,{retryCount:J-Z});await this.prepareRequest(W,{url:K,options:Y});let z="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),G=X===void 0?"":`, retryOf: ${X}`,O=Date.now();if(g1(this).debug(`[${z}] sending request`,X4({retryOfRequestLogID:X,method:Y.method,url:K,options:Y,headers:W.headers})),Y.signal?.aborted)throw new n1;let H=new AbortController,U=await this.fetchWithTimeout(K,W,Q,H).catch(k$),M=Date.now();if(U instanceof globalThis.Error){let P=`retrying, ${Z} attempts remaining`;if(Y.signal?.aborted)throw new n1;let S=Z4(U)||/timed? ?out/i.test(String(U)+("cause"in U?String(U.cause):""));if(Z)return g1(this).info(`[${z}] connection ${S?"timed out":"failed"} - ${P}`),g1(this).debug(`[${z}] connection ${S?"timed out":"failed"} (${P})`,X4({retryOfRequestLogID:X,url:K,durationMs:M-O,message:U.message})),this.retryRequest(Y,Z,X??z);if(g1(this).info(`[${z}] connection ${S?"timed out":"failed"} - error; no more retries left`),g1(this).debug(`[${z}] connection ${S?"timed out":"failed"} (error; no more retries left)`,X4({retryOfRequestLogID:X,url:K,durationMs:M-O,message:U.message})),S)throw new T$;throw new _4({cause:U})}let A=[...U.headers.entries()].filter(([P])=>P==="request-id").map(([P,S])=>", "+P+": "+JSON.stringify(S)).join(""),F=`[${z}${G}${A}] ${W.method} ${K} ${U.ok?"succeeded":"failed"} with status ${U.status} in ${M-O}ms`;if(!U.ok){let P=await this.shouldRetry(U);if(Z&&P){let b=`retrying, ${Z} attempts remaining`;return await w5(U.body),g1(this).info(`${F} - ${b}`),g1(this).debug(`[${z}] response error (${b})`,X4({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,durationMs:M-O})),this.retryRequest(Y,Z,X??z,U.headers)}let S=P?"error; no more retries left":"error; not retryable";g1(this).info(`${F} - ${S}`);let T=await U.text().catch((b)=>k$(b).message),p=TZ(T),f=p?void 0:T;throw g1(this).debug(`[${z}] response error (${S})`,X4({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,message:f,durationMs:Date.now()-O})),this.makeStatusError(U.status,p,f,U.headers)}return g1(this).info(F),g1(this).debug(`[${z}] response start`,X4({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,durationMs:M-O})),{response:U,options:Y,controller:H,requestLogID:z,retryOfRequestLogID:X,startTime:O}}getAPIList($,Z,X){return this.requestAPIList(Z,{method:"get",path:$,...X})}requestAPIList($,Z){let X=this.makeRequest(Z,null,void 0);return new EZ(this,X,$)}async fetchWithTimeout($,Z,X,Y){let{signal:J,method:W,...K}=Z||{};if(J)J.addEventListener("abort",()=>Y.abort());let Q=setTimeout(()=>Y.abort(),X),z=globalThis.ReadableStream&&K.body instanceof globalThis.ReadableStream||typeof K.body==="object"&&K.body!==null&&Symbol.asyncIterator in K.body,G={signal:Y.signal,...z?{duplex:"half"}:{},method:"GET",...K};if(W)G.method=W.toUpperCase();try{return await this.fetch.call(void 0,$,G)}finally{clearTimeout(Q)}}async shouldRetry($){let Z=$.headers.get("x-should-retry");if(Z==="true")return!0;if(Z==="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($,Z,X,Y){let J,W=Y?.get("retry-after-ms");if(W){let Q=parseFloat(W);if(!Number.isNaN(Q))J=Q}let K=Y?.get("retry-after");if(K&&!J){let Q=parseFloat(K);if(!Number.isNaN(Q))J=Q*1000;else J=Date.parse(K)-Date.now()}if(!(J&&0<=J&&J<60000)){let Q=$.maxRetries??this.maxRetries;J=this.calculateDefaultRetryTimeoutMillis(Z,Q)}return await Q5(J),this.makeRequest($,Z-1,X)}calculateDefaultRetryTimeoutMillis($,Z){let J=Z-$,W=Math.min(0.5*Math.pow(2,J),8),K=1-Math.random()*0.25;return W*K*1000}calculateNonstreamingTimeout($,Z){if(3600000*$/128000>600000||Z!=null&&$>Z)throw new m("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 600000}async buildRequest($,{retryCount:Z=0}={}){let X={...$},{method:Y,path:J,query:W,defaultBaseURL:K}=X,Q=this.buildURL(J,W,K);if("timeout"in X)K5("timeout",X.timeout);X.timeout=X.timeout??this.timeout;let{bodyHeaders:z,body:G}=this.buildBody({options:X}),O=await this.buildHeaders({options:$,method:Y,bodyHeaders:z,retryCount:Z});return{req:{method:Y,headers:O,...X.signal&&{signal:X.signal},...globalThis.ReadableStream&&G instanceof globalThis.ReadableStream&&{duplex:"half"},...G&&{body:G},...this.fetchOptions??{},...X.fetchOptions??{}},url:Q,timeout:X.timeout}}async buildHeaders({options:$,method:Z,bodyHeaders:X,retryCount:Y}){let J={};if(this.idempotencyHeader&&Z!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();J[this.idempotencyHeader]=$.idempotencyKey}let W=i([J,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Y),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...N5(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders($),this._options.defaultHeaders,X,$.headers]);return this.validateHeaders(W),W.values}buildBody({options:{body:$,headers:Z}}){if(!$)return{bodyHeaders:void 0,body:void 0};let X=i([Z]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&X.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:bZ($)};else return C(this,aZ,"f").call(this,{body:$,headers:X})}}J6=k1,aZ=new WeakMap,Y6=new WeakSet,p5=function(){return this.baseURL!=="https://api.anthropic.com"};k1.Anthropic=J6;k1.HUMAN_PROMPT=d5;k1.AI_PROMPT=l5;k1.DEFAULT_TIMEOUT=600000;k1.AnthropicError=m;k1.APIError=j1;k1.APIConnectionError=_4;k1.APIConnectionTimeoutError=T$;k1.APIUserAbortError=n1;k1.NotFoundError=j$;k1.ConflictError=y$;k1.RateLimitError=v$;k1.BadRequestError=b$;k1.AuthenticationError=I$;k1.InternalServerError=_$;k1.PermissionDeniedError=D$;k1.UnprocessableEntityError=E$;k1.toFile=vZ;class K4 extends k1{constructor(){super(...arguments);this.completions=new Q$(this),this.messages=new c4(this),this.models=new z$(this),this.beta=new l0(this)}}K4.Completions=Q$;K4.Messages=c4;K4.Models=z$;K4.Beta=l0;var oJ=async()=>{if(!process.env.ANTHROPIC_API_KEY)return[];let $=[];try{for await(let Z of new K4().beta.models.list())$.push({id:Z.id,name:Z.display_name,provider:"anthropic"})}catch(Z){console.error("Failed to fetch Anthropic models:",Z)}return $},nJ=async()=>{if(!process.env.OPENAI_API_KEY)return[];try{return await new i5().models.list().then(($)=>$.data.map((Z)=>{return{id:Z.id,name:Z.id,provider:"openai"}}).sort((Z,X)=>Z.id.localeCompare(X.id)))}catch($){return console.error("Failed to fetch OpenAI models:",$),[]}},rJ=async()=>{let $=process.env.GEMINI_API_KEY;if(!$)return[];let Z=[{id:"gemini-2.5-flash-preview-06-17",name:"Gemini 2.5 Flash Preview (06-17)",provider:"gemini"},{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview (06-05)",provider:"gemini"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",provider:"gemini"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",provider:"gemini"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",provider:"gemini"},{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash 8B",provider:"gemini"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",provider:"gemini"},{id:"gemini-1.0-pro",name:"Gemini 1.0 Pro",provider:"gemini"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Experimental",provider:"gemini"},{id:"gemini-exp-1206",name:"Gemini Experimental 1206",provider:"gemini"},{id:"gemini-2.5-pro-exp-03-25",name:"Gemini 2.5 Pro Experimental (03-25)",provider:"gemini"},{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview (05-20)",provider:"gemini"}];try{return await new o5($).getGenerativeModel({model:"gemini-1.5-flash"}),Z}catch(X){return console.error("Failed to verify Gemini API key:",X),[]}},n5=async()=>{return(await Promise.all([oJ().catch(()=>[]),nJ().catch(()=>[]),rJ().catch(()=>[])])).flat()};var sZ=B(e(),1);function r5({tools:$,setTools:Z}){let X=sZ.useRef(!1);sZ.useEffect(()=>{if(!X.current)Z($),X.current=!0},[$,Z])}var s5=B(e(),1);function a5($){if(!$)return{isValid:!1,needsSetup:!0,reason:"未找到配置文件"};if(!$.providers||$.providers.length===0)return{isValid:!1,needsSetup:!0,reason:"未配置任何 Provider"};let Z=$.providers.find((X)=>X.id===$.provider_id);if(!Z)return{isValid:!1,needsSetup:!0,reason:`Provider "${$.provider_id}" 不存在`,invalidProviderRef:!0};if(!Z.apiKey||Z.apiKey.trim()==="")return{isValid:!1,needsSetup:!0,reason:`Provider "${$.provider_id}" 未配置 API Key`,missingApiKey:!0};return{isValid:!0,needsSetup:!1}}function t5({config:$}){return s5.useMemo(()=>{if(!$)return{validation:null,needsSetup:!0,isValid:!1};let Z=a5($);return{validation:Z,needsSetup:Z.needsSetup,isValid:!Z.needsSetup}},[$])}var e5=B(e(),1);function $7({shouldFocus:$}){let Z=i0();e5.useEffect(()=>{if($)Z.focus("global-input")},[$,Z])}var T0=B(e(),1);function Z7(){let[$,Z]=T0.useState("chat"),X=i0(),Y=T0.useCallback(()=>{Z("history")},[]),J=T0.useCallback(()=>{Z("knowledge")},[]),W=T0.useCallback(()=>{Z("settings")},[]),K=T0.useCallback(()=>{Z("model-provider")},[]),Q=T0.useCallback(()=>{Z("agent")},[]),z=T0.useCallback(()=>{Z("mcp")},[]),G=T0.useCallback(()=>{Z("process")},[]),O=T0.useCallback(()=>{Z("errors")},[]),H=T0.useCallback(()=>{Z("chat"),X.focus("global-input")},[X]);return{activeView:$,isChatView:$==="chat",switchToHistory:Y,switchToKnowledge:J,switchToSettings:W,switchToModelProvider:K,switchToAgent:Q,switchToMcp:z,switchToProcess:G,switchToErrors:O,closePanel:H}}var tZ=B(e(),1),J7=B(V(),1),X7=tZ.createContext(void 0),G$=()=>{let $=tZ.useContext(X7);if($===void 0)throw Error("useChatPanel must be used within ChatPanelProvider. Make sure your component is a child of ChatController.");return $},Y7=({children:$,value:Z})=>{return J7.jsxDEV(X7.Provider,{value:Z,children:$},void 0,!1,void 0,this)};var l4=B(e(),1);var W7=($)=>{return $.additional_kwargs?.reasoning_content||Array.isArray($.content)&&$.content.find((Z)=>Z.type==="thinking")?.thinking},O$=($)=>{return typeof $.content==="string"?$.content:$.content?.filter((Z)=>{return Z.type==="text"}).map((Z)=>Z.text).join("")};eZ();var K6=B(e(),1),B1=B(V(),1),JW={approve:"green",reject:"red",edit:"yellow",modify:"cyan"},WW=($)=>{return JW[$.toLowerCase()]||"white"},z7=({request:$,allowedDecisions:Z=["approve","edit","reject"],onApprove:X,onEdit:Y,onReject:J,autoFocus:W=!0})=>{let[K,Q]=K6.useState("approve"),{value:z,setTrue:G,setFalse:O}=Q7(!1),[H,U]=K6.useState(""),M=i0(),A=$.messageIndex,F=$.description;b0((b,_)=>{if(z&&_.escape)S()},{isActive:z});let P=()=>{if(!H.trim())return;if(K==="edit")try{let b=JSON.parse(H);Y(b)}catch(b){console.error("Invalid JSON:",b);return}else{let b=`User rejected to run this tool, reason: ${H}`;J(b)}O(),U("")},S=()=>{O(),U("")},T=([b])=>{if(b==="approve"){X(),M.focus("global-input");return}if(Q(b),G(),b==="edit")U(JSON.stringify($.toolCall.args,null,2));else U("")},p=Z.map((b)=>({label:b,value:b}));return z?(()=>{let b=WW(K),_=K==="edit";return B1.jsxDEV(w,{flexDirection:"column",paddingX:1,marginTop:0,children:[B1.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[B1.jsxDEV(N,{color:b,bold:!0,children:[K.toUpperCase()," MODE - ",$.toolCall.name]},void 0,!0,void 0,this),A!==void 0&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Message Index: ",A]},void 0,!0,void 0,this),F&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Description: ",F]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),_?B1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:[B1.jsxDEV(N,{color:"yellow",dimColor:!0,children:"Editing action arguments (JSON format):"},void 0,!1,void 0,this),B1.jsxDEV(w,{paddingX:1,children:B1.jsxDEV(y0,{value:H,onChange:U,onSubmit:P,placeholder:"Enter JSON...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):B1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:[B1.jsxDEV(N,{color:"cyan",dimColor:!0,children:"Enter additional message for this action:"},void 0,!1,void 0,this),B1.jsxDEV(w,{padding:1,children:B1.jsxDEV(y0,{value:H,onChange:U,onSubmit:P,placeholder:"Enter message...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),B1.jsxDEV(w,{marginTop:0,children:B1.jsxDEV(N,{color:"gray",children:[B1.jsxDEV(N,{color:b,bold:!0,children:"↵"},void 0,!1,void 0,this)," ","Submit |",B1.jsxDEV(N,{color:"red",bold:!0,children:[" ","Esc"]},void 0,!0,void 0,this)," ","Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)})():(()=>B1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[B1.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[B1.jsxDEV(N,{color:"cyan",bold:!0,children:$.toolCall.name},void 0,!1,void 0,this),A!==void 0&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Message Index: ",A]},void 0,!0,void 0,this),F&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Description: ",F]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),B1.jsxDEV(w,{children:B1.jsxDEV(p4,{singleSelect:!0,options:p,onSubmit:T,autoFocus:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this))()};var $8=B(e(),1),G7=B(V(),1),Q6={type:"approval",render($,Z){let{content:X,metadata:Y}=$,J=i0(),W=$8.useCallback(()=>{Z({state:"submitted",result:{status:"approved"}}),J.focus("global-input")},[Z,J]),K=$8.useCallback((G)=>{Z({state:"edited",result:{status:"edited",editedArgs:G}}),J.focus("global-input")},[Z,J]),Q=$8.useCallback((G)=>{Z({state:"cancelled",result:{status:"rejected",message:G}}),J.focus("global-input")},[Z,J]),z={id:$.id,toolCall:X.toolCall,status:$.state==="submitted"?"approved":$.state==="edited"?"edited":$.state==="cancelled"?"rejected":"pending",createdAt:$.createdAt,messageIndex:Y.messageIndex,description:Y.description};return G7.jsxDEV(z7,{request:z,allowedDecisions:["approve","edit","reject"],onApprove:W,onEdit:K,onReject:Q,autoFocus:!0},$.id,!1,void 0,this)},defaultConfig:{layout:{border:!1,padding:0},interaction:{autoSubmit:!1,allowSkip:!1}}};var z6=B(e(),1);var KW={title:{maxWidth:60,ellipsis:"…"},description:{maxWidth:80,ellipsis:"…"},optionLabel:{maxWidth:50,ellipsis:"…"},tabLabel:{maxWidth:30,ellipsis:"…"},fullTitle:{maxWidth:80,ellipsis:"…"}},QW=($,Z=20,X="…")=>{if(!$)return"";if($.length<=Z)return $;return $.substring(0,Z-X.length)+X},H$=($,Z)=>{let X=KW[Z];return QW($,X.maxWidth,X.ellipsis)};var Q4=B(V(),1),zW=($)=>{return H$($,"optionLabel")},G6={type:"selection",render($,Z){let{content:X,metadata:Y,result:J}=$,[W,K]=z6.useState(J?.selected||[]),[Q,z]=z6.useState(J?.customInput||""),G=X.options.map((P)=>({label:zW(P.label),value:P.value})),O=(P,S)=>{Z({result:{selected:P??W,customInput:S??Q}})},H=(P)=>{K(P),O(P,void 0)},U=(P)=>{z(P),O(void 0,P)},M=()=>{Z({state:"submitted",result:{selected:W,customInput:Q}})},A=Y?.title?H$(Y.title,"title"):null,F=Y?.description?H$(Y.description,"description"):null;return Q4.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[A&&Q4.jsxDEV(w,{marginBottom:1,children:Q4.jsxDEV(N,{color:"cyan",bold:!0,children:A},void 0,!1,void 0,this)},void 0,!1,void 0,this),F&&Q4.jsxDEV(w,{marginBottom:1,children:Q4.jsxDEV(N,{dimColor:!0,children:F},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q4.jsxDEV(p4,{options:G,singleSelect:X.singleSelect,values:W,onChange:H,onSubmit:M,autoFocus:!0},void 0,!1,void 0,this),X.allowCustomInput&&Q4.jsxDEV(w,{marginTop:1,flexDirection:"column",children:Q4.jsxDEV(y0,{value:Q,onChange:U,onSubmit:M,placeholder:X.placeholder||"Type custom option...",autoFocus:!1},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate($){if($.options.length===0)return"At least one option is required";if($.singleSelect&&$.maxSelections&&$.maxSelections>1)return"Single select cannot have maxSelections > 1";return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var O7=B(e(),1);var o0=B(V(),1),O6={type:"input",render($,Z){let{content:X,metadata:Y}=$,[J,W]=O7.useState(X.defaultValue||""),K=()=>{Z({state:"submitted",result:{value:J}})};return o0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[Y?.title&&o0.jsxDEV(w,{marginBottom:1,children:o0.jsxDEV(N,{color:"cyan",bold:!0,children:Y.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y?.description&&o0.jsxDEV(w,{marginBottom:1,children:o0.jsxDEV(N,{dimColor:!0,children:Y.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),o0.jsxDEV(w,{children:[o0.jsxDEV(y0,{value:J,onChange:W,onSubmit:K,placeholder:X.placeholder,autoFocus:!0},void 0,!1,void 0,this),")"]},void 0,!0,void 0,this),X.maxLength&&o0.jsxDEV(w,{marginTop:1,children:o0.jsxDEV(N,{dimColor:!0,children:["Max length: ",X.maxLength]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate($){if($.validation?.pattern&&$.defaultValue){if(!$.validation.pattern.test($.defaultValue))return"Input does not match required pattern"}if($.validation?.minLength&&$.defaultValue&&$.defaultValue.length<$.validation.minLength)return`Input must be at least ${$.validation.minLength} characters`;return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var d4=B(V(),1),H6={type:"confirm",render($,Z){let{content:X,metadata:Y}=$,J=()=>{Z({state:"submitted",result:{confirmed:!0}})},W=()=>{Z({state:"cancelled",result:{confirmed:!1}})},K=[{label:X.confirmLabel||"Confirm",value:"confirm"},{label:X.cancelLabel||"Cancel",value:"cancel"}],Q=([z])=>{if(z==="confirm")J();else W()};return d4.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[Y?.title&&d4.jsxDEV(w,{marginBottom:1,children:d4.jsxDEV(N,{color:X.danger?"red":"cyan",bold:!0,children:Y.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),d4.jsxDEV(w,{marginBottom:1,children:d4.jsxDEV(N,{children:X.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),d4.jsxDEV(p4,{options:K,singleSelect:!0,onSubmit:Q,autoFocus:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var GW=B(e(),1);var OW=B(V(),1);var n0=B(e(),1);var N$=B(e(),1);var E1=B(V(),1),N7=({items:$,defaultIndex:Z=0,onChange:X,disabled:Y=!1,autoFocus:J=!0,variant:W="line"})=>{let{isFocused:K}=H7({autoFocus:J}),[Q,z]=N$.useState(Z),G=N$.default.useMemo(()=>`tabs-${Math.random().toString(36).substring(2,9)}`,[]),O=N$.useCallback((M)=>{if(M<0||M>=$.length||$[M].disabled)return;z(M),X?.(M,$[M])},[$,X]);b0((M,A)=>{if(Y)return;if(A.leftArrow)O(Q-1);else if(A.rightArrow)O(Q+1)},{isActive:!Y});let H=()=>{return $.map((M,A)=>{let F=A===Q,P=K&&!Y,S;if(W==="line")S=E1.jsxDEV(w,{marginRight:1,children:[E1.jsxDEV(N,{color:M.disabled?"gray":F?P?"green":"cyan":"gray",bold:F&&P,children:M.label},void 0,!1,void 0,this),F&&E1.jsxDEV(N,{color:P?"green":"cyan",children:"_"},void 0,!1,void 0,this)]},`${G}-${M.id}`,!0,void 0,this);else if(W==="enclosed"){let T=A===0||F?"┌":"─",p=A===$.length-1||F?"┐":"─",f=A===0||F?"│":" ",a=A===$.length-1||F?"│":" ",b=F?"─":" ",_=F?" ":"",Z1=M.disabled?"gray":F?P?"green":"cyan":"gray";S=E1.jsxDEV(w,{children:E1.jsxDEV(w,{flexDirection:"column",children:[E1.jsxDEV(w,{children:[E1.jsxDEV(N,{color:Z1,children:T},void 0,!1,void 0,this),E1.jsxDEV(N,{color:Z1,bold:F&&P,children:[_,M.label,_]},void 0,!0,void 0,this),E1.jsxDEV(N,{color:Z1,children:p},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F&&E1.jsxDEV(w,{children:[E1.jsxDEV(N,{color:Z1,children:f},void 0,!1,void 0,this),E1.jsxDEV(N,{color:Z1,children:b.repeat(M.label.length+2)},void 0,!1,void 0,this),E1.jsxDEV(N,{color:Z1,children:a},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},`${G}-${M.id}`,!1,void 0,this)}else{let T=F?"●":"○";S=E1.jsxDEV(w,{marginRight:2,children:E1.jsxDEV(N,{color:M.disabled?"gray":F?P?"green":"cyan":"gray",bold:F&&P,children:[T," ",M.label]},void 0,!0,void 0,this)},`${G}-${M.id}`,!1,void 0,this)}return S})},U=()=>{let M=$[Q];if(!M?.content)return null;return E1.jsxDEV(w,{marginTop:1,paddingX:2,paddingY:1,flexDirection:"column",children:M.content},void 0,!1,void 0,this)};return E1.jsxDEV(w,{flexDirection:"column",flexGrow:1,children:[E1.jsxDEV(w,{children:H()},void 0,!1,void 0,this),$.some((M)=>M.content)&&U()]},void 0,!0,void 0,this)};var U7=B(e(),1);var w7=B(V(),1),N6=({interaction:$,renderer:Z,onChange:X})=>{let Y=U7.useMemo(()=>{return{layout:{border:!1,padding:0,...Z.defaultConfig?.layout,...$.config.layout},interaction:{autoSubmit:!1,allowSkip:!1,showPreview:!0,...Z.defaultConfig?.interaction,...$.config.interaction},style:{...Z.defaultConfig?.style,...$.config.style}}},[$.config,Z.defaultConfig]),J=Y.style.backgroundColor;return w7.jsxDEV(w,{backgroundColor:J,paddingX:Y.layout.padding,marginBottom:1,flexDirection:"column",children:Z.render({...$,config:Y},X)},void 0,!1,void 0,this)};eZ();var z4=B(V(),1),HW=($)=>{return H$($,"fullTitle")},U6=()=>{let $=S0(),[Z,X]=n0.useState(null),{focusNext:Y,focus:J}=i0(),W=n0.useMemo(()=>{return $.getInteractions()},[$.getInteractions()]);n0.useEffect(()=>{if(W.length>0&&!Z)X(W[0].id)},[W,Z]);let K=n0.useMemo(()=>{return W.map((H)=>{let U={idle:"\uD83D\uDD04",active:"\uD83D\uDD04",submitted:"✅",edited:"⛔",cancelled:"\uD83D\uDEAB"}[H.state]||"",M=HW(H.metadata.title||H.content.type);return{id:H.id,label:`${U} ${M}`,content:null}})},[W]),Q=n0.useCallback((H,U)=>{X(U.id)},[]),z=n0.useCallback((H)=>{if(W.every((F)=>F.state==="submitted"||F.state==="edited"||F.state==="cancelled")){J("global-input");return}let A=(W.findIndex((F)=>F.id===H)+1)%W.length;X(W[A].id)},[W,J]),G=M7(()=>{Y()});M0(G,Z?100:null);let O=()=>{if(!Z)return null;let H=W.find((M)=>M.id===Z);if(!H)return null;let U=S4.get(H.content.type);if(!U)return z4.jsxDEV(w,{paddingX:1,children:z4.jsxDEV(N,{color:"red",children:["Unknown renderer: ",H.content.type]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return z4.jsxDEV(N6,{interaction:H,renderer:U,onChange:(M)=>{if($.updateInteraction(H.id,M),M.state==="submitted"||M.state==="edited"||M.state==="cancelled")z(H.id)}},H.id,!1,void 0,this)};if(W.length===0)return null;return z4.jsxDEV(w,{flexDirection:"column",width:"100%",children:[z4.jsxDEV(w,{justifyContent:"space-between",paddingX:1,marginBottom:1,children:z4.jsxDEV(N,{color:"cyan",bold:!0,children:["Interactions (",W.length,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z4.jsxDEV(w,{paddingX:1,marginBottom:1,children:z4.jsxDEV(N7,{items:K,defaultIndex:K.findIndex((H)=>H.id===Z),onChange:Q,autoFocus:!0,variant:"line"},Z,!1,void 0,this)},void 0,!1,void 0,this),O()]},void 0,!0,void 0,this)};eZ();function q7(){S4.register("approval",Q6),S4.register("selection",G6),S4.register("input",O6),S4.register("confirm",H6)}q7();var U$=B(V(),1),NW=j.object({label:j.string().min(1).max(50).describe("选项显示文本,简洁明了(1-50 字符)")}),UW=j.object({description:j.string().min(1).describe("向用户提出的问题,清晰具体,包含必要的上下文"),type:j.enum(["single_select","multi_select"]).describe("选择类型:single_select(单选)或 multi_select(多选)"),options:j.array(NW).min(2).max(6).describe("选项列表,至少 2 个,最多 6 个"),allow_custom_input:j.boolean().default(!0).describe("是否允许用户输入自定义文本,默认 true"),placeholder:j.string().optional().describe("自定义输入框的占位符文本")}),wW=({tool:$})=>{let{addInteraction:Z,getInteractions:X,updateInteraction:Y}=S0(),[J,W]=l4.useState(null),K=l4.useRef(!1),Q=$.getInputRepaired();if(l4.useEffect(()=>{if($.state==="interrupted"&&!J&&!K.current){let G=(Array.isArray(Q.options)?Q.options:[]).map((M)=>{let A=M&&typeof M==="object"&&typeof M.label==="string"?M.label:String(M??"");return{label:A,value:A}}),O=Q.type==="single_select",H={type:"selection",options:G,singleSelect:O,allowCustomInput:typeof Q.allow_custom_input==="boolean"?Q.allow_custom_input:!0,placeholder:typeof Q.placeholder==="string"?Q.placeholder:void 0},U=Z(H,{tool:$,metadata:{title:typeof Q.description==="string"&&Q.description?Q.description:"请选择一个选项",groupKey:"user-input"}});W(U.id)}},[$,J,Z,Q]),l4.useEffect(()=>{if(!J||K.current)return;let z=()=>{let H=X().find((U)=>U.id===J);if(H&&(H.state==="submitted"||H.state==="edited"||H.state==="cancelled")&&!H.resultSent){K.current=!0;let U=H.result,M="";if(U){if(U.selected&&U.selected.length>0)M+=`User selected:
51
- ${U.selected.join(`
52
- - `)}`;if(U.customInput&&U.customInput.trim())M+=(M?`
53
- `:"")+`User Custom Input: ${U.customInput}`}$.sendResumeData({type:"respond",message:M||"User made a selection"}),Y(J,{resultSent:!0})}};z();let G=setInterval(z,100);return()=>clearInterval(G)},[J,X,Y,$]),$.state==="interrupted"&&!$.output)return U$.jsxDEV(w,{flexDirection:"column",children:U$.jsxDEV(w,{paddingX:1,children:U$.jsxDEV(N,{color:"yellow",children:"⏳ 等待用户选择..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.output)return U$.jsxDEV(N,{color:"yellow",children:$.output},void 0,!1,void 0,this);return null},A7=R1({name:"ask_user_questions",description:"Ask the user a question with selectable options",parameters:UW,handler:T1.waitForUIDone,render($){return U$.jsxDEV(wW,{tool:$},void 0,!1,void 0,this)}});var i4=B(e(),1);var NZ=B(V(),1),w$=({content:$,maxLines:Z=10,borderColor:X="cyan",borderStyle:Y="single",marginTop:J=0,paddingX:W=0,showOmittedInfo:K=!0})=>{let{stdout:Q}=F7();if(!$)return null;let z=Q.columns,G=$.split(`
54
- `).map((U)=>U.slice(0,z-10)),O=Math.max(0,G.length-Z),H=G.slice(-Z).join(`
55
- `);return NZ.jsxDEV(w,{flexDirection:"column",width:z-5,children:NZ.jsxDEV(w,{borderStyle:Y,borderColor:X,borderLeft:!1,borderRight:!1,flexDirection:"column",paddingX:W,marginTop:J,children:[K&&O>0&&NZ.jsxDEV(N,{color:"gray",dimColor:!0,children:["... ",O," lines omitted ..."]},void 0,!0,void 0,this),NZ.jsxDEV(N,{dimColor:!0,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)};var Q0=B(V(),1),MW=({tool:$})=>{let{addInteraction:Z,getInteractions:X,updateInteraction:Y}=S0(),[J,W]=i4.useState(null),K=i4.useRef(!1),Q=$.getHumanInTheLoopData();if(i4.useEffect(()=>{if(Q?.reviewConfig&&$.state==="interrupted"&&!J&&!K.current){let G=$.getInputRepaired()?.description,O={type:"approval",toolCall:{name:$.message.name,args:$.getInputRepaired()},editableFields:["args"]},H=Z(O,{tool:$,metadata:{title:`Approve ${$.message.name}`,description:G,groupKey:"approvals"}});W(H.id)}},[Q,$,J,Z]),i4.useEffect(()=>{if(!J||K.current)return;let G=()=>{let U=X().find((M)=>M.id===J);if(U&&(U.state==="submitted"||U.state==="edited"||U.state==="cancelled")&&!U.resultSent){K.current=!0;let M=U.result;if(M){if(M.status==="approved")$.sendResumeData({type:"approve"});else if(M.status==="edited"){let A={name:$.message.name,args:M.editedArgs};$.sendResumeData({type:"edit",edited_action:A})}else if(M.status==="rejected"){let A=M.message||"User rejected to run this tool";$.sendResumeData({type:"reject",message:A})}}Y(J,{resultSent:!0})}};G();let O=setInterval(G,100);return()=>clearInterval(O)},[J,X,Y,$]),Q?.reviewConfig&&J&&!$.output)return Q0.jsxDEV(w,{flexDirection:"column",children:Q0.jsxDEV(w,{paddingX:1,paddingY:1,children:Q0.jsxDEV(N,{color:"yellow",children:"⏳ Wait for Approval"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return Q0.jsxDEV(w,{flexDirection:"column",children:(()=>{if(!$.output)return null;return Q0.jsxDEV(w$,{content:$.output,maxLines:5,borderColor:"cyan"},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},qW=({tool:$})=>{let Z=$.getInputRepaired(),X=typeof Z?.command==="string"?Z.command:String(Z?.command??""),Y=X.length>50?X.substring(0,50)+"...":X;return Q0.jsxDEV(w,{paddingX:1,children:[Q0.jsxDEV(N,{color:"magenta",children:"Run "},void 0,!1,void 0,this),Q0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),Q0.jsxDEV(N,{color:"magenta",children:Y},void 0,!1,void 0,this),Q0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},C7=R1({name:"terminal",description:"",parameters:{},handler:T1.waitForUIDone,render($){return Q0.jsxDEV(w,{flexDirection:"column",children:[Q0.jsxDEV(qW,{tool:$},void 0,!1,void 0,this),Q0.jsxDEV(MW,{tool:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var R7=B(P7(),1);function AW($,Z,X){if($===Z)return[{type:"unchanged",content:$,lineNumbers:{old:1,new:1}}];let Y=new R7.diff_match_patch,J=Y.diff_main($,Z);Y.diff_cleanupSemantic(J);let W=[],K=1,Q=1,z=[];for(let[P,S]of J){if(S==="")continue;let T=S.split(`
56
- `),p=S.endsWith(`
57
- `);for(let f=0;f<T.length;f++){let a=T[f];if(a===""&&(f<T.length-1||!p))continue;let b={type:P===0?"unchanged":P===-1?"added":"removed",content:a};if(P===0)b.lineNumbers={old:K,new:Q},K++,Q++;else if(P===-1)b.lineNumbers={new:Q},Q++;else if(P===1)b.lineNumbers={old:K},K++;z.push(b)}}if(!X?.maxLines)return z;let G=X.maxLines,O=X.contextLines||3,H=z.map((P,S)=>P.type!=="unchanged"?S:-1).filter((P)=>P!==-1);if(H.length===0||z.length<=G)return z;let U=[],M=0,A=[],F=[];for(let P=0;P<H.length;P++)if(F.length===0)F.push(H[P]);else{let S=F[F.length-1];if(H[P]-S<=1)F.push(H[P]);else A.push([...F]),F=[H[P]]}if(F.length>0)A.push(F);for(let P of A){if(M>=G)break;let S=P[0],T=P[P.length-1],p=Math.max(0,S-O),f=Math.min(z.length-1,T+O),a=f-p+1;if(M+a>G&&M>0){U.push({type:"unchanged",content:"..."});break}for(let b=p;b<=f;b++){if(M>=G){if(b<f)U.push({type:"unchanged",content:"..."});break}U.push(z[b]),M++}if(P===A[A.length-1]&&M<z.length){let b=z.length-f-1;if(b>0)U.push({type:"unchanged",content:`... (${b} more lines)`})}}return U}function L7($,Z=1000){return $=$||"",$.length>Z||$.split(`
58
- `).length>50}function S7($,Z,X){let Y=L7($)||L7(Z),W=X!==void 0&&"maxLines"in X?X.maxLines:Y?10:20,K=X?.contextLines??(Y?1:3);return AW($,Z,{maxLines:W,contextLines:K})}var q$=B(V(),1),FW=["sky","primary"];function CW($){let Z=$%2;return o4(FW[Z])}function BW($){let Z=[];if($.startsWith("/"))Z.push({type:"separator",value:"/"}),$=$.slice(1);let X=$.split("/");return X.forEach((Y,J)=>{if(Y)Z.push({type:"segment",value:Y});if(J<X.length-1)Z.push({type:"separator",value:"/"})}),Z}var PW=({path:$,color:Z="cyan",line:X,rainbow:Y=!1})=>{let J=V7($)??"",W=X!==void 0?`:${X}`:"";if(!Y)return q$.jsxDEV(N,{color:o4(Z),children:[J,W]},void 0,!0,void 0,this);let K=BW(J),Q=-1;for(let G=K.length-1;G>=0;G--)if(K[G].type==="segment"){Q=G;break}let z=0;return q$.jsxDEV(N,{children:[K.map((G,O)=>{if(G.type==="separator")return q$.jsxDEV(N,{dimColor:!0,color:"gray",children:G.value},`sep-${O}`,!1,void 0,this);let H=O===Q,U=CW(z);return z++,q$.jsxDEV(N,{color:U,dimColor:!H,children:G.value},`seg-${O}`,!1,void 0,this)}),W&&q$.jsxDEV(N,{color:"gray",children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},q0=PW;var v1=B(V(),1),LW=k7.schema,T7=R1({name:"edit_file",description:"Performs exact string replacements in files with diff visualization",parameters:LW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output,Y=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??""),J=typeof Z?.old_string==="string"?Z.old_string:"",W=typeof Z?.new_string==="string"?Z.new_string:"",K=J.length>0&&W.length>0&&J!==W,Q=typeof X==="string"?X:"",z=0,G=0;if(K){let O=S7(J,W,{maxLines:void 0});for(let H of O){if(H.type==="removed")z++;if(H.type==="added")G++}}return v1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[v1.jsxDEV(w,{children:[v1.jsxDEV(N,{color:"yellow",children:"Edit "},void 0,!1,void 0,this),v1.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),v1.jsxDEV(q0,{path:Y,rainbow:!0},void 0,!1,void 0,this),v1.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),K&&v1.jsxDEV(v1.Fragment,{children:[v1.jsxDEV(N,{color:"gray",children:" ("},void 0,!1,void 0,this),v1.jsxDEV(N,{color:"red",children:["-",z]},void 0,!0,void 0,this),v1.jsxDEV(N,{color:"gray",children:"/"},void 0,!1,void 0,this),v1.jsxDEV(N,{color:"green",children:["+",G]},void 0,!0,void 0,this),v1.jsxDEV(N,{color:"gray",children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q&&Q.startsWith("Error:")&&v1.jsxDEV(w,{marginTop:0,marginLeft:1,marginBottom:1,children:v1.jsxDEV(N,{color:"red",children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this),!Q&&v1.jsxDEV(w,{marginTop:0,children:v1.jsxDEV(N,{color:"gray",children:"Press Enter to confirm, Ctrl+C to cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var E0=B(V(),1),RW=["pending","in_progress","completed"],SW={pending:"gray",in_progress:"yellow",completed:"green"},VW={pending:"○",in_progress:"◐",completed:"✓"};function kW($,Z){let X=$&&typeof $==="object"?$:{},Y=typeof X.id==="string"?X.id:String(Z),J=typeof X.content==="string"?X.content:String(X.content??""),W=RW.includes(X.status)?X.status:"pending";return{id:Y,content:J,status:W}}var I7=R1({name:"todo_write",description:"Use this tool to create and manage a structured task list",parameters:b7.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=(Z&&Array.isArray(Z.todos)?Z.todos:[]).map(kW);if(!Z)return E0.jsxDEV(w,{flexDirection:"column",borderStyle:"round",borderColor:"red",children:E0.jsxDEV(N,{color:"red",children:"Error: Invalid todo data structure"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return E0.jsxDEV(w,{flexDirection:"column",paddingY:1,children:E0.jsxDEV(w,{flexDirection:"column",marginTop:0,children:(()=>{if(Y.length===0)return E0.jsxDEV(w,{paddingX:1,children:E0.jsxDEV(N,{color:"gray",children:"No tasks in todo list"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return E0.jsxDEV(w,{flexDirection:"column",marginTop:0,children:Y.map((W,K)=>E0.jsxDEV(w,{paddingX:1,paddingY:0,children:[E0.jsxDEV(N,{color:SW[W.status],bold:!0,children:[VW[W.status]," "]},void 0,!0,void 0,this),E0.jsxDEV(N,{color:W.status==="in_progress"?"white":"gray",children:[K+1,". ",W.content]},void 0,!0,void 0,this)]},W.id,!0,void 0,this))},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},void 0,!1,void 0,this)}});var v0=B(V(),1),TW=D7.schema,j7=R1({name:"read_file",description:"Reads a file from the local filesystem",parameters:TW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return v0.jsxDEV(v0.Fragment,{},void 0,!1,void 0,this);let W=(typeof X==="string"?X:String(X??"")).split(`
59
- `).length,K=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??"");return v0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:v0.jsxDEV(w,{children:[v0.jsxDEV(N,{color:"blue",children:"Read "},void 0,!1,void 0,this),v0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),v0.jsxDEV(q0,{path:K,rainbow:!0},void 0,!1,void 0,this),v0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),v0.jsxDEV(N,{color:"gray",dimColor:!0,children:[" ","(",W," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var _0=B(V(),1),bW=y7.schema,E7=R1({name:"glob_files",description:"Find files by name patterns",parameters:bW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return _0.jsxDEV(_0.Fragment,{},void 0,!1,void 0,this);let J=X.split(`
60
- `).filter(Boolean).length,W=typeof Z?.pattern==="string"?Z.pattern:String(Z?.pattern??"");return _0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:_0.jsxDEV(N,{children:[_0.jsxDEV(N,{color:"cyan",children:"Glob "},void 0,!1,void 0,this),_0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),_0.jsxDEV(q0,{path:W,rainbow:!0},void 0,!1,void 0,this),_0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),_0.jsxDEV(N,{color:"gray",dimColor:!0,children:[" ","(",J," files)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var c1=B(V(),1),IW=j.object({args:j.array(j.string()).optional().describe("ripgrep 参数数组,格式为 [OPTIONS...] PATTERN [PATH...]"),pattern:j.string().optional().describe("搜索模式(结构化参数)"),path:j.string().optional().describe("搜索路径(结构化参数)"),description:j.string().optional().describe("操作描述"),head_limit:j.number().optional().describe("限制输出行数")}),v7=R1({name:"search_files_rg",description:"Ripgrep - fast text search tool",parameters:IW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return c1.jsxDEV(c1.Fragment,{},void 0,!1,void 0,this);let W=(typeof X==="string"?X:String(X??"")).split(`
61
- `).filter(Boolean).length,K=typeof Z?.pattern==="string"?Z.pattern:void 0,Q=typeof Z?.path==="string"?Z.path:void 0;if(!K&&Z?.args){let O=(Array.isArray(Z.args)?Z.args:[]).filter((H)=>typeof H==="string").filter((H)=>!H.startsWith("-"));if(O.length>0){if(Q=O[O.length-1],O.length>1)K=O[O.length-2]}}return c1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:c1.jsxDEV(N,{children:[c1.jsxDEV(N,{color:"magenta",children:"Ripgrep "},void 0,!1,void 0,this),K&&c1.jsxDEV(c1.Fragment,{children:[c1.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),c1.jsxDEV(q0,{path:K,color:"magenta"},void 0,!1,void 0,this),c1.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&Q!=="./"&&c1.jsxDEV(c1.Fragment,{children:[c1.jsxDEV(N,{dimColor:!0,children:" in "},void 0,!1,void 0,this),c1.jsxDEV(q0,{path:Q,rainbow:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c1.jsxDEV(N,{color:"gray",dimColor:!0,children:[" ","(",W," matches)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var r0=B(V(),1),DW=j.object({description:j.string().optional(),file_path:j.string(),content:j.string()}),_7=R1({name:"write_file",description:"Writes a file to the local filesystem",parameters:DW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output,Y=typeof Z?.content==="string"?Z.content:String(Z?.content??""),J=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??""),W=Y.split(`
62
- `).length,K=typeof X==="string"?X:"";return r0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[r0.jsxDEV(w,{children:[r0.jsxDEV(N,{color:"green",children:"Write "},void 0,!1,void 0,this),r0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),r0.jsxDEV(q0,{path:J,rainbow:!0},void 0,!1,void 0,this),r0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),r0.jsxDEV(N,{dimColor:!0,children:[" (",W," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K&&K.startsWith("Error:")&&r0.jsxDEV(w,{marginTop:0,marginLeft:1,marginBottom:1,children:r0.jsxDEV(N,{color:"red",children:K},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var t1=B(V(),1),jW=f7.schema,h7=R1({name:"folder_operations",description:"Unified folder operations tool supporting create, list, delete, and existence check",parameters:jW.shape,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return t1.jsxDEV(t1.Fragment,{},void 0,!1,void 0,this);let Y=typeof X==="string"?X:String(X??""),J=typeof Z?.operation==="string"?Z.operation:String(Z?.operation??""),W=typeof Z?.folder_path==="string"?Z.folder_path:String(Z?.folder_path??""),Q={create:"green",list:"blue",exists:"yellow",delete:"red"}[J]??"cyan",G=Y.split(`
63
- `).map((O,H)=>{if(O.match(/\d+ \w+|[\d-]+ [\d:]+/))return t1.jsxDEV(N,{dimColor:!0,children:O},H,!1,void 0,this);if(O.includes("✓")||O.includes("successfully")||O.includes("created")||O.includes("deleted"))return t1.jsxDEV(N,{color:"green",children:O},H,!1,void 0,this);if(O.includes("✗")||O.includes("Error")||O.includes("not found")||O.includes("failed"))return t1.jsxDEV(N,{color:"red",children:O},H,!1,void 0,this);if(O.startsWith("/")||O.includes("/:"))return t1.jsxDEV(N,{color:"cyan",children:O},H,!1,void 0,this);return t1.jsxDEV(N,{children:O},H,!1,void 0,this)});return t1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:t1.jsxDEV(w,{children:[t1.jsxDEV(N,{bold:!0,color:Q,children:[J,"Folder"]},void 0,!0,void 0,this),t1.jsxDEV(N,{dimColor:!0,children:" ("},void 0,!1,void 0,this),t1.jsxDEV(q0,{path:W,rainbow:!0},void 0,!1,void 0,this),t1.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var m1=B(V(),1),yW=j.object({}),g7=R1({name:"load_mcp_tools",description:`加载并查询所有可用的 MCP 工具列表。
1
+ import{h as w$,i as O1,j as N1,k as f$,l as y1,m as s9}from"./chunk-ss4bh5wb.js";import"./chunk-2gd8vzrf.js";import{o as l6,p as e0,q as q8,r as T9,s as $$,t as $0,u as D4}from"./chunk-81b2s97q.js";import{v as G8,w as Q8}from"./chunk-zhqdp4ak.js";import{B as k9,C as T5,D as o1,x as b6,y as Y6,z as j6}from"./chunk-6b3vfr39.js";import{E as T1,F as e9}from"./chunk-1d47g6nc.js";import{G as t9,H as t4}from"./chunk-5fe27s34.js";import{I as H6,J as DX,L as O6,M as a4,O as s4}from"./chunk-5hqvapp1.js";import{P as W1,Q as n9}from"./chunk-q8cfxky4.js";import{S as R4,T as Y4}from"./chunk-cb0f54ar.js";import{$ as C5,U as o,V as c8,W as m$,X as A,Y as O,Z as G6,_ as r4,ba as S9,ca as f6,da as y6,ea as M0,fa as v,ga as X0,ha as G0,ja as n0,la as i9,ma as h8}from"./chunk-h7ypcqp3.js";import{Hg as Z8}from"./chunk-0mq8786q.js";import"./chunk-tws3wcnm.js";import"./chunk-6saqxa3z.js";import"./chunk-6j695pam.js";import{Og as e6,Pg as n6,Qg as v1,Rg as I1,Vg as E5,Yg as o6,Zg as x6}from"./chunk-bn077sjq.js";import"./chunk-9011y634.js";import"./chunk-v0e9bsvt.js";import"./chunk-j8tq0e8m.js";import"./chunk-bk32cwxa.js";import"./chunk-qfa5v4n5.js";import"./chunk-0kfw8bwn.js";import{Bl as x}from"./chunk-78ksrp8v.js";import{Cl as IJ}from"./chunk-yb71zqvt.js";import{$l as J0,Wl as M,Yl as u6,_l as H7}from"./chunk-4fs853nh.js";class v6{renderers=new Map;register(X,J){this.renderers.set(X,J)}get(X){return this.renderers.get(X)}has(X){return this.renderers.has(X)}list(){return Array.from(this.renderers.keys())}unregister(X){this.renderers.delete(X)}clear(){this.renderers.clear()}}var c0;var E4=H7(()=>{c0=new v6});var g6=u6((iK,U4)=>{var b=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=0.5,this.Match_Distance=1000,this.Patch_DeleteThreshold=0.5,this.Patch_Margin=4,this.Match_MaxBits=32},H1=-1,z1=1,i=0;b.Diff=function(X,J){return[X,J]};b.prototype.diff_main=function(X,J,Y,K){if(typeof K>"u")if(this.Diff_Timeout<=0)K=Number.MAX_VALUE;else K=new Date().getTime()+this.Diff_Timeout*1000;var Z=K;if(X==null||J==null)throw Error("Null input. (diff_main)");if(X==J){if(X)return[new b.Diff(i,X)];return[]}if(typeof Y>"u")Y=!0;var W=Y,G=this.diff_commonPrefix(X,J),Q=X.substring(0,G);X=X.substring(G),J=J.substring(G),G=this.diff_commonSuffix(X,J);var H=X.substring(X.length-G);X=X.substring(0,X.length-G),J=J.substring(0,J.length-G);var z=this.diff_compute_(X,J,W,Z);if(Q)z.unshift(new b.Diff(i,Q));if(H)z.push(new b.Diff(i,H));return this.diff_cleanupMerge(z),z};b.prototype.diff_compute_=function(X,J,Y,K){var Z;if(!X)return[new b.Diff(z1,J)];if(!J)return[new b.Diff(H1,X)];var W=X.length>J.length?X:J,G=X.length>J.length?J:X,Q=W.indexOf(G);if(Q!=-1){if(Z=[new b.Diff(z1,W.substring(0,Q)),new b.Diff(i,G),new b.Diff(z1,W.substring(Q+G.length))],X.length>J.length)Z[0][0]=Z[2][0]=H1;return Z}if(G.length==1)return[new b.Diff(H1,X),new b.Diff(z1,J)];var H=this.diff_halfMatch_(X,J);if(H){var z=H[0],q=H[1],U=H[2],N=H[3],w=H[4],F=this.diff_main(z,U,Y,K),R=this.diff_main(q,N,Y,K);return F.concat([new b.Diff(i,w)],R)}if(Y&&X.length>100&&J.length>100)return this.diff_lineMode_(X,J,K);return this.diff_bisect_(X,J,K)};b.prototype.diff_lineMode_=function(X,J,Y){var K=this.diff_linesToChars_(X,J);X=K.chars1,J=K.chars2;var Z=K.lineArray,W=this.diff_main(X,J,!1,Y);this.diff_charsToLines_(W,Z),this.diff_cleanupSemantic(W),W.push(new b.Diff(i,""));var G=0,Q=0,H=0,z="",q="";while(G<W.length){switch(W[G][0]){case z1:H++,q+=W[G][1];break;case H1:Q++,z+=W[G][1];break;case i:if(Q>=1&&H>=1){W.splice(G-Q-H,Q+H),G=G-Q-H;var U=this.diff_main(z,q,!1,Y);for(var N=U.length-1;N>=0;N--)W.splice(G,0,U[N]);G=G+U.length}H=0,Q=0,z="",q="";break}G++}return W.pop(),W};b.prototype.diff_bisect_=function(X,J,Y){var K=X.length,Z=J.length,W=Math.ceil((K+Z)/2),G=W,Q=2*W,H=Array(Q),z=Array(Q);for(var q=0;q<Q;q++)H[q]=-1,z[q]=-1;H[G+1]=0,z[G+1]=0;var U=K-Z,N=U%2!=0,w=0,F=0,R=0,B=0;for(var L=0;L<W;L++){if(new Date().getTime()>Y)break;for(var k=-L+w;k<=L-F;k+=2){var D=G+k,S;if(k==-L||k!=L&&H[D-1]<H[D+1])S=H[D+1];else S=H[D-1]+1;var V=S-k;while(S<K&&V<Z&&X.charAt(S)==J.charAt(V))S++,V++;if(H[D]=S,S>K)F+=2;else if(V>Z)w+=2;else if(N){var T=G+U-k;if(T>=0&&T<Q&&z[T]!=-1){var _=K-z[T];if(S>=_)return this.diff_bisectSplit_(X,J,S,V,Y)}}}for(var n=-L+R;n<=L-B;n+=2){var T=G+n,_;if(n==-L||n!=L&&z[T-1]<z[T+1])_=z[T+1];else _=z[T-1]+1;var u=_-n;while(_<K&&u<Z&&X.charAt(K-_-1)==J.charAt(Z-u-1))_++,u++;if(z[T]=_,_>K)B+=2;else if(u>Z)R+=2;else if(!N){var D=G+U-n;if(D>=0&&D<Q&&H[D]!=-1){var S=H[D],V=G+S-D;if(_=K-_,S>=_)return this.diff_bisectSplit_(X,J,S,V,Y)}}}}return[new b.Diff(H1,X),new b.Diff(z1,J)]};b.prototype.diff_bisectSplit_=function(X,J,Y,K,Z){var W=X.substring(0,Y),G=J.substring(0,K),Q=X.substring(Y),H=J.substring(K),z=this.diff_main(W,G,!1,Z),q=this.diff_main(Q,H,!1,Z);return z.concat(q)};b.prototype.diff_linesToChars_=function(X,J){var Y=[],K={};Y[0]="";function Z(H){var z="",q=0,U=-1,N=Y.length;while(U<H.length-1){if(U=H.indexOf(`
2
+ `,q),U==-1)U=H.length-1;var w=H.substring(q,U+1);if(K.hasOwnProperty?K.hasOwnProperty(w):K[w]!==void 0)z+=String.fromCharCode(K[w]);else{if(N==W)w=H.substring(q),U=H.length;z+=String.fromCharCode(N),K[w]=N,Y[N++]=w}q=U+1}return z}var W=40000,G=Z(X);W=65535;var Q=Z(J);return{chars1:G,chars2:Q,lineArray:Y}};b.prototype.diff_charsToLines_=function(X,J){for(var Y=0;Y<X.length;Y++){var K=X[Y][1],Z=[];for(var W=0;W<K.length;W++)Z[W]=J[K.charCodeAt(W)];X[Y][1]=Z.join("")}};b.prototype.diff_commonPrefix=function(X,J){if(!X||!J||X.charAt(0)!=J.charAt(0))return 0;var Y=0,K=Math.min(X.length,J.length),Z=K,W=0;while(Y<Z){if(X.substring(W,Z)==J.substring(W,Z))Y=Z,W=Y;else K=Z;Z=Math.floor((K-Y)/2+Y)}return Z};b.prototype.diff_commonSuffix=function(X,J){if(!X||!J||X.charAt(X.length-1)!=J.charAt(J.length-1))return 0;var Y=0,K=Math.min(X.length,J.length),Z=K,W=0;while(Y<Z){if(X.substring(X.length-Z,X.length-W)==J.substring(J.length-Z,J.length-W))Y=Z,W=Y;else K=Z;Z=Math.floor((K-Y)/2+Y)}return Z};b.prototype.diff_commonOverlap_=function(X,J){var Y=X.length,K=J.length;if(Y==0||K==0)return 0;if(Y>K)X=X.substring(Y-K);else if(Y<K)J=J.substring(0,Y);var Z=Math.min(Y,K);if(X==J)return Z;var W=0,G=1;while(!0){var Q=X.substring(Z-G),H=J.indexOf(Q);if(H==-1)return W;if(G+=H,H==0||X.substring(Z-G)==J.substring(0,G))W=G,G++}};b.prototype.diff_halfMatch_=function(X,J){if(this.Diff_Timeout<=0)return null;var Y=X.length>J.length?X:J,K=X.length>J.length?J:X;if(Y.length<4||K.length*2<Y.length)return null;var Z=this;function W(F,R,B){var L=F.substring(B,B+Math.floor(F.length/4)),k=-1,D="",S,V,T,_;while((k=R.indexOf(L,k+1))!=-1){var n=Z.diff_commonPrefix(F.substring(B),R.substring(k)),u=Z.diff_commonSuffix(F.substring(0,B),R.substring(0,k));if(D.length<u+n)D=R.substring(k-u,k)+R.substring(k,k+n),S=F.substring(0,B-u),V=F.substring(B+n),T=R.substring(0,k-u),_=R.substring(k+n)}if(D.length*2>=F.length)return[S,V,T,_,D];else return null}var G=W(Y,K,Math.ceil(Y.length/4)),Q=W(Y,K,Math.ceil(Y.length/2)),H;if(!G&&!Q)return null;else if(!Q)H=G;else if(!G)H=Q;else H=G[4].length>Q[4].length?G:Q;var z,q,U,N;if(X.length>J.length)z=H[0],q=H[1],U=H[2],N=H[3];else U=H[0],N=H[1],z=H[2],q=H[3];var w=H[4];return[z,q,U,N,w]};b.prototype.diff_cleanupSemantic=function(X){var J=!1,Y=[],K=0,Z=null,W=0,G=0,Q=0,H=0,z=0;while(W<X.length){if(X[W][0]==i)Y[K++]=W,G=H,Q=z,H=0,z=0,Z=X[W][1];else{if(X[W][0]==z1)H+=X[W][1].length;else z+=X[W][1].length;if(Z&&Z.length<=Math.max(G,Q)&&Z.length<=Math.max(H,z))X.splice(Y[K-1],0,new b.Diff(H1,Z)),X[Y[K-1]+1][0]=z1,K--,K--,W=K>0?Y[K-1]:-1,G=0,Q=0,H=0,z=0,Z=null,J=!0}W++}if(J)this.diff_cleanupMerge(X);this.diff_cleanupSemanticLossless(X),W=1;while(W<X.length){if(X[W-1][0]==H1&&X[W][0]==z1){var q=X[W-1][1],U=X[W][1],N=this.diff_commonOverlap_(q,U),w=this.diff_commonOverlap_(U,q);if(N>=w){if(N>=q.length/2||N>=U.length/2)X.splice(W,0,new b.Diff(i,U.substring(0,N))),X[W-1][1]=q.substring(0,q.length-N),X[W+1][1]=U.substring(N),W++}else if(w>=q.length/2||w>=U.length/2)X.splice(W,0,new b.Diff(i,q.substring(0,w))),X[W-1][0]=z1,X[W-1][1]=U.substring(0,U.length-w),X[W+1][0]=H1,X[W+1][1]=q.substring(w),W++;W++}W++}};b.prototype.diff_cleanupSemanticLossless=function(X){function J(w,F){if(!w||!F)return 6;var R=w.charAt(w.length-1),B=F.charAt(0),L=R.match(b.nonAlphaNumericRegex_),k=B.match(b.nonAlphaNumericRegex_),D=L&&R.match(b.whitespaceRegex_),S=k&&B.match(b.whitespaceRegex_),V=D&&R.match(b.linebreakRegex_),T=S&&B.match(b.linebreakRegex_),_=V&&w.match(b.blanklineEndRegex_),n=T&&F.match(b.blanklineStartRegex_);if(_||n)return 5;else if(V||T)return 4;else if(L&&!D&&S)return 3;else if(D||S)return 2;else if(L||k)return 1;return 0}var Y=1;while(Y<X.length-1){if(X[Y-1][0]==i&&X[Y+1][0]==i){var K=X[Y-1][1],Z=X[Y][1],W=X[Y+1][1],G=this.diff_commonSuffix(K,Z);if(G){var Q=Z.substring(Z.length-G);K=K.substring(0,K.length-G),Z=Q+Z.substring(0,Z.length-G),W=Q+W}var H=K,z=Z,q=W,U=J(K,Z)+J(Z,W);while(Z.charAt(0)===W.charAt(0)){K+=Z.charAt(0),Z=Z.substring(1)+W.charAt(0),W=W.substring(1);var N=J(K,Z)+J(Z,W);if(N>=U)U=N,H=K,z=Z,q=W}if(X[Y-1][1]!=H){if(H)X[Y-1][1]=H;else X.splice(Y-1,1),Y--;if(X[Y][1]=z,q)X[Y+1][1]=q;else X.splice(Y+1,1),Y--}}Y++}};b.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;b.whitespaceRegex_=/\s/;b.linebreakRegex_=/[\r\n]/;b.blanklineEndRegex_=/\n\r?\n$/;b.blanklineStartRegex_=/^\r?\n\r?\n/;b.prototype.diff_cleanupEfficiency=function(X){var J=!1,Y=[],K=0,Z=null,W=0,G=!1,Q=!1,H=!1,z=!1;while(W<X.length){if(X[W][0]==i){if(X[W][1].length<this.Diff_EditCost&&(H||z))Y[K++]=W,G=H,Q=z,Z=X[W][1];else K=0,Z=null;H=z=!1}else{if(X[W][0]==H1)z=!0;else H=!0;if(Z&&(G&&Q&&H&&z||Z.length<this.Diff_EditCost/2&&G+Q+H+z==3)){if(X.splice(Y[K-1],0,new b.Diff(H1,Z)),X[Y[K-1]+1][0]=z1,K--,Z=null,G&&Q)H=z=!0,K=0;else K--,W=K>0?Y[K-1]:-1,H=z=!1;J=!0}}W++}if(J)this.diff_cleanupMerge(X)};b.prototype.diff_cleanupMerge=function(X){X.push(new b.Diff(i,""));var J=0,Y=0,K=0,Z="",W="",G;while(J<X.length)switch(X[J][0]){case z1:K++,W+=X[J][1],J++;break;case H1:Y++,Z+=X[J][1],J++;break;case i:if(Y+K>1){if(Y!==0&&K!==0){if(G=this.diff_commonPrefix(W,Z),G!==0){if(J-Y-K>0&&X[J-Y-K-1][0]==i)X[J-Y-K-1][1]+=W.substring(0,G);else X.splice(0,0,new b.Diff(i,W.substring(0,G))),J++;W=W.substring(G),Z=Z.substring(G)}if(G=this.diff_commonSuffix(W,Z),G!==0)X[J][1]=W.substring(W.length-G)+X[J][1],W=W.substring(0,W.length-G),Z=Z.substring(0,Z.length-G)}if(J-=Y+K,X.splice(J,Y+K),Z.length)X.splice(J,0,new b.Diff(H1,Z)),J++;if(W.length)X.splice(J,0,new b.Diff(z1,W)),J++;J++}else if(J!==0&&X[J-1][0]==i)X[J-1][1]+=X[J][1],X.splice(J,1);else J++;K=0,Y=0,Z="",W="";break}if(X[X.length-1][1]==="")X.pop();var Q=!1;J=1;while(J<X.length-1){if(X[J-1][0]==i&&X[J+1][0]==i){if(X[J][1].substring(X[J][1].length-X[J-1][1].length)==X[J-1][1])X[J][1]=X[J-1][1]+X[J][1].substring(0,X[J][1].length-X[J-1][1].length),X[J+1][1]=X[J-1][1]+X[J+1][1],X.splice(J-1,1),Q=!0;else if(X[J][1].substring(0,X[J+1][1].length)==X[J+1][1])X[J-1][1]+=X[J+1][1],X[J][1]=X[J][1].substring(X[J+1][1].length)+X[J+1][1],X.splice(J+1,1),Q=!0}J++}if(Q)this.diff_cleanupMerge(X)};b.prototype.diff_xIndex=function(X,J){var Y=0,K=0,Z=0,W=0,G;for(G=0;G<X.length;G++){if(X[G][0]!==z1)Y+=X[G][1].length;if(X[G][0]!==H1)K+=X[G][1].length;if(Y>J)break;Z=Y,W=K}if(X.length!=G&&X[G][0]===H1)return W;return W+(J-Z)};b.prototype.diff_prettyHtml=function(X){var J=[],Y=/&/g,K=/</g,Z=/>/g,W=/\n/g;for(var G=0;G<X.length;G++){var Q=X[G][0],H=X[G][1],z=H.replace(Y,"&amp;").replace(K,"&lt;").replace(Z,"&gt;").replace(W,"&para;<br>");switch(Q){case z1:J[G]='<ins style="background:#e6ffe6;">'+z+"</ins>";break;case H1:J[G]='<del style="background:#ffe6e6;">'+z+"</del>";break;case i:J[G]="<span>"+z+"</span>";break}}return J.join("")};b.prototype.diff_text1=function(X){var J=[];for(var Y=0;Y<X.length;Y++)if(X[Y][0]!==z1)J[Y]=X[Y][1];return J.join("")};b.prototype.diff_text2=function(X){var J=[];for(var Y=0;Y<X.length;Y++)if(X[Y][0]!==H1)J[Y]=X[Y][1];return J.join("")};b.prototype.diff_levenshtein=function(X){var J=0,Y=0,K=0;for(var Z=0;Z<X.length;Z++){var W=X[Z][0],G=X[Z][1];switch(W){case z1:Y+=G.length;break;case H1:K+=G.length;break;case i:J+=Math.max(Y,K),Y=0,K=0;break}}return J+=Math.max(Y,K),J};b.prototype.diff_toDelta=function(X){var J=[];for(var Y=0;Y<X.length;Y++)switch(X[Y][0]){case z1:J[Y]="+"+encodeURI(X[Y][1]);break;case H1:J[Y]="-"+X[Y][1].length;break;case i:J[Y]="="+X[Y][1].length;break}return J.join("\t").replace(/%20/g," ")};b.prototype.diff_fromDelta=function(X,J){var Y=[],K=0,Z=0,W=J.split(/\t/g);for(var G=0;G<W.length;G++){var Q=W[G].substring(1);switch(W[G].charAt(0)){case"+":try{Y[K++]=new b.Diff(z1,decodeURI(Q))}catch(q){throw Error("Illegal escape in diff_fromDelta: "+Q)}break;case"-":case"=":var H=parseInt(Q,10);if(isNaN(H)||H<0)throw Error("Invalid number in diff_fromDelta: "+Q);var z=X.substring(Z,Z+=H);if(W[G].charAt(0)=="=")Y[K++]=new b.Diff(i,z);else Y[K++]=new b.Diff(H1,z);break;default:if(W[G])throw Error("Invalid diff operation in diff_fromDelta: "+W[G])}}if(Z!=X.length)throw Error("Delta length ("+Z+") does not equal source text length ("+X.length+").");return Y};b.prototype.match_main=function(X,J,Y){if(X==null||J==null||Y==null)throw Error("Null input. (match_main)");if(Y=Math.max(0,Math.min(Y,X.length)),X==J)return 0;else if(!X.length)return-1;else if(X.substring(Y,Y+J.length)==J)return Y;else return this.match_bitap_(X,J,Y)};b.prototype.match_bitap_=function(X,J,Y){if(J.length>this.Match_MaxBits)throw Error("Pattern too long for this browser.");var K=this.match_alphabet_(J),Z=this;function W(S,V){var T=S/J.length,_=Math.abs(Y-V);if(!Z.Match_Distance)return _?1:T;return T+_/Z.Match_Distance}var G=this.Match_Threshold,Q=X.indexOf(J,Y);if(Q!=-1){if(G=Math.min(W(0,Q),G),Q=X.lastIndexOf(J,Y+J.length),Q!=-1)G=Math.min(W(0,Q),G)}var H=1<<J.length-1;Q=-1;var z,q,U=J.length+X.length,N;for(var w=0;w<J.length;w++){z=0,q=U;while(z<q){if(W(w,Y+q)<=G)z=q;else U=q;q=Math.floor((U-z)/2+z)}U=q;var F=Math.max(1,Y-q+1),R=Math.min(Y+q,X.length)+J.length,B=Array(R+2);B[R+1]=(1<<w)-1;for(var L=R;L>=F;L--){var k=K[X.charAt(L-1)];if(w===0)B[L]=(B[L+1]<<1|1)&k;else B[L]=(B[L+1]<<1|1)&k|((N[L+1]|N[L])<<1|1)|N[L+1];if(B[L]&H){var D=W(w,L-1);if(D<=G)if(G=D,Q=L-1,Q>Y)F=Math.max(1,2*Y-Q);else break}}if(W(w+1,Y)>G)break;N=B}return Q};b.prototype.match_alphabet_=function(X){var J={};for(var Y=0;Y<X.length;Y++)J[X.charAt(Y)]=0;for(var Y=0;Y<X.length;Y++)J[X.charAt(Y)]|=1<<X.length-Y-1;return J};b.prototype.patch_addContext_=function(X,J){if(J.length==0)return;if(X.start2===null)throw Error("patch not initialized");var Y=J.substring(X.start2,X.start2+X.length1),K=0;while(J.indexOf(Y)!=J.lastIndexOf(Y)&&Y.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin)K+=this.Patch_Margin,Y=J.substring(X.start2-K,X.start2+X.length1+K);K+=this.Patch_Margin;var Z=J.substring(X.start2-K,X.start2);if(Z)X.diffs.unshift(new b.Diff(i,Z));var W=J.substring(X.start2+X.length1,X.start2+X.length1+K);if(W)X.diffs.push(new b.Diff(i,W));X.start1-=Z.length,X.start2-=Z.length,X.length1+=Z.length+W.length,X.length2+=Z.length+W.length};b.prototype.patch_make=function(X,J,Y){var K,Z;if(typeof X=="string"&&typeof J=="string"&&typeof Y>"u"){if(K=X,Z=this.diff_main(K,J,!0),Z.length>2)this.diff_cleanupSemantic(Z),this.diff_cleanupEfficiency(Z)}else if(X&&typeof X=="object"&&typeof J>"u"&&typeof Y>"u")Z=X,K=this.diff_text1(Z);else if(typeof X=="string"&&J&&typeof J=="object"&&typeof Y>"u")K=X,Z=J;else if(typeof X=="string"&&typeof J=="string"&&Y&&typeof Y=="object")K=X,Z=Y;else throw Error("Unknown call format to patch_make.");if(Z.length===0)return[];var W=[],G=new b.patch_obj,Q=0,H=0,z=0,q=K,U=K;for(var N=0;N<Z.length;N++){var w=Z[N][0],F=Z[N][1];if(!Q&&w!==i)G.start1=H,G.start2=z;switch(w){case z1:G.diffs[Q++]=Z[N],G.length2+=F.length,U=U.substring(0,z)+F+U.substring(z);break;case H1:G.length1+=F.length,G.diffs[Q++]=Z[N],U=U.substring(0,z)+U.substring(z+F.length);break;case i:if(F.length<=2*this.Patch_Margin&&Q&&Z.length!=N+1)G.diffs[Q++]=Z[N],G.length1+=F.length,G.length2+=F.length;else if(F.length>=2*this.Patch_Margin){if(Q)this.patch_addContext_(G,q),W.push(G),G=new b.patch_obj,Q=0,q=U,H=z}break}if(w!==z1)H+=F.length;if(w!==H1)z+=F.length}if(Q)this.patch_addContext_(G,q),W.push(G);return W};b.prototype.patch_deepCopy=function(X){var J=[];for(var Y=0;Y<X.length;Y++){var K=X[Y],Z=new b.patch_obj;Z.diffs=[];for(var W=0;W<K.diffs.length;W++)Z.diffs[W]=new b.Diff(K.diffs[W][0],K.diffs[W][1]);Z.start1=K.start1,Z.start2=K.start2,Z.length1=K.length1,Z.length2=K.length2,J[Y]=Z}return J};b.prototype.patch_apply=function(X,J){if(X.length==0)return[J,[]];X=this.patch_deepCopy(X);var Y=this.patch_addPadding(X);J=Y+J+Y,this.patch_splitMax(X);var K=0,Z=[];for(var W=0;W<X.length;W++){var G=X[W].start2+K,Q=this.diff_text1(X[W].diffs),H,z=-1;if(Q.length>this.Match_MaxBits){if(H=this.match_main(J,Q.substring(0,this.Match_MaxBits),G),H!=-1){if(z=this.match_main(J,Q.substring(Q.length-this.Match_MaxBits),G+Q.length-this.Match_MaxBits),z==-1||H>=z)H=-1}}else H=this.match_main(J,Q,G);if(H==-1)Z[W]=!1,K-=X[W].length2-X[W].length1;else{Z[W]=!0,K=H-G;var q;if(z==-1)q=J.substring(H,H+Q.length);else q=J.substring(H,z+this.Match_MaxBits);if(Q==q)J=J.substring(0,H)+this.diff_text2(X[W].diffs)+J.substring(H+Q.length);else{var U=this.diff_main(Q,q,!1);if(Q.length>this.Match_MaxBits&&this.diff_levenshtein(U)/Q.length>this.Patch_DeleteThreshold)Z[W]=!1;else{this.diff_cleanupSemanticLossless(U);var N=0,w;for(var F=0;F<X[W].diffs.length;F++){var R=X[W].diffs[F];if(R[0]!==i)w=this.diff_xIndex(U,N);if(R[0]===z1)J=J.substring(0,H+w)+R[1]+J.substring(H+w);else if(R[0]===H1)J=J.substring(0,H+w)+J.substring(H+this.diff_xIndex(U,N+R[1].length));if(R[0]!==H1)N+=R[1].length}}}}}return J=J.substring(Y.length,J.length-Y.length),[J,Z]};b.prototype.patch_addPadding=function(X){var J=this.Patch_Margin,Y="";for(var K=1;K<=J;K++)Y+=String.fromCharCode(K);for(var K=0;K<X.length;K++)X[K].start1+=J,X[K].start2+=J;var Z=X[0],W=Z.diffs;if(W.length==0||W[0][0]!=i)W.unshift(new b.Diff(i,Y)),Z.start1-=J,Z.start2-=J,Z.length1+=J,Z.length2+=J;else if(J>W[0][1].length){var G=J-W[0][1].length;W[0][1]=Y.substring(W[0][1].length)+W[0][1],Z.start1-=G,Z.start2-=G,Z.length1+=G,Z.length2+=G}if(Z=X[X.length-1],W=Z.diffs,W.length==0||W[W.length-1][0]!=i)W.push(new b.Diff(i,Y)),Z.length1+=J,Z.length2+=J;else if(J>W[W.length-1][1].length){var G=J-W[W.length-1][1].length;W[W.length-1][1]+=Y.substring(0,G),Z.length1+=G,Z.length2+=G}return Y};b.prototype.patch_splitMax=function(X){var J=this.Match_MaxBits;for(var Y=0;Y<X.length;Y++){if(X[Y].length1<=J)continue;var K=X[Y];X.splice(Y--,1);var{start1:Z,start2:W}=K,G="";while(K.diffs.length!==0){var Q=new b.patch_obj,H=!0;if(Q.start1=Z-G.length,Q.start2=W-G.length,G!=="")Q.length1=Q.length2=G.length,Q.diffs.push(new b.Diff(i,G));while(K.diffs.length!==0&&Q.length1<J-this.Patch_Margin){var z=K.diffs[0][0],q=K.diffs[0][1];if(z===z1)Q.length2+=q.length,W+=q.length,Q.diffs.push(K.diffs.shift()),H=!1;else if(z===H1&&Q.diffs.length==1&&Q.diffs[0][0]==i&&q.length>2*J)Q.length1+=q.length,Z+=q.length,H=!1,Q.diffs.push(new b.Diff(z,q)),K.diffs.shift();else{if(q=q.substring(0,J-Q.length1-this.Patch_Margin),Q.length1+=q.length,Z+=q.length,z===i)Q.length2+=q.length,W+=q.length;else H=!1;if(Q.diffs.push(new b.Diff(z,q)),q==K.diffs[0][1])K.diffs.shift();else K.diffs[0][1]=K.diffs[0][1].substring(q.length)}}G=this.diff_text2(Q.diffs),G=G.substring(G.length-this.Patch_Margin);var U=this.diff_text1(K.diffs).substring(0,this.Patch_Margin);if(U!=="")if(Q.length1+=U.length,Q.length2+=U.length,Q.diffs.length!==0&&Q.diffs[Q.diffs.length-1][0]===i)Q.diffs[Q.diffs.length-1][1]+=U;else Q.diffs.push(new b.Diff(i,U));if(!H)X.splice(++Y,0,Q)}}};b.prototype.patch_toText=function(X){var J=[];for(var Y=0;Y<X.length;Y++)J[Y]=X[Y];return J.join("")};b.prototype.patch_fromText=function(X){var J=[];if(!X)return J;var Y=X.split(`
3
+ `),K=0,Z=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;while(K<Y.length){var W=Y[K].match(Z);if(!W)throw Error("Invalid patch string: "+Y[K]);var G=new b.patch_obj;if(J.push(G),G.start1=parseInt(W[1],10),W[2]==="")G.start1--,G.length1=1;else if(W[2]=="0")G.length1=0;else G.start1--,G.length1=parseInt(W[2],10);if(G.start2=parseInt(W[3],10),W[4]==="")G.start2--,G.length2=1;else if(W[4]=="0")G.length2=0;else G.start2--,G.length2=parseInt(W[4],10);K++;while(K<Y.length){var Q=Y[K].charAt(0);try{var H=decodeURI(Y[K].substring(1))}catch(z){throw Error("Illegal escape in patch_fromText: "+H)}if(Q=="-")G.diffs.push(new b.Diff(H1,H));else if(Q=="+")G.diffs.push(new b.Diff(z1,H));else if(Q==" ")G.diffs.push(new b.Diff(i,H));else if(Q=="@")break;else if(Q==="");else throw Error('Invalid patch mode "'+Q+'" in: '+H);K++}}return J};b.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};b.patch_obj.prototype.toString=function(){var X,J;if(this.length1===0)X=this.start1+",0";else if(this.length1==1)X=this.start1+1;else X=this.start1+1+","+this.length1;if(this.length2===0)J=this.start2+",0";else if(this.length2==1)J=this.start2+1;else J=this.start2+1+","+this.length2;var Y=["@@ -"+X+" +"+J+` @@
4
+ `],K;for(var Z=0;Z<this.diffs.length;Z++){switch(this.diffs[Z][0]){case z1:K="+";break;case H1:K="-";break;case i:K=" ";break}Y[Z+1]=K+encodeURI(this.diffs[Z][1])+`
5
+ `}return Y.join("").replace(/%20/g," ")};U4.exports=b;U4.exports.diff_match_patch=b;U4.exports.DIFF_DELETE=H1;U4.exports.DIFF_INSERT=z1;U4.exports.DIFF_EQUAL=i});var u$=u6((R5,e4)=>{((X,J)=>{if(typeof define==="function"&&define.amd)define([],J);else if(typeof e4==="object"&&e4.exports)e4.exports=J();else X.fuzzysort=J()})(R5,(X)=>{var J=(C,P)=>{if(!C||!P)return w1;var I=w(C);if(!T0(P))P=N(P);var g=I.bitflags;if((g&P._bitflags)!==g)return w1;return R(I,P)},Y=(C,P,I)=>{if(!C)return I?.all?F(P,I):u0;var g=w(C),m=g.bitflags,f=g.containsSpace,y=q(I?.threshold||0),l=I?.limit||W4,p=0,X1=0,s=P.length;function p1(i0){if(p<l)g0.add(i0),++p;else if(++X1,i0._score>g0.peek()._score)g0.replaceTop(i0)}if(I?.key){var D1=I.key;for(var J1=0;J1<s;++J1){var f1=P[J1],Z1=K0(f1,D1);if(!Z1)continue;if(!T0(Z1))Z1=N(Z1);if((m&Z1._bitflags)!==m)continue;var G1=R(g,Z1);if(G1===w1)continue;if(G1._score<y)continue;G1.obj=f1,p1(G1)}}else if(I?.keys){var m0=I.keys,e1=m0.length;$:for(var J1=0;J1<s;++J1){var f1=P[J1];{var j1=0;for(var t=0;t<e1;++t){var D1=m0[t],Z1=K0(f1,D1);if(!Z1){V1[t]=W0;continue}if(!T0(Z1))Z1=N(Z1);V1[t]=Z1,j1|=Z1._bitflags}if((m&j1)!==m)continue}if(f)for(let K1=0;K1<g.spaceSearches.length;K1++)E[K1]=b1;for(var t=0;t<e1;++t){if(Z1=V1[t],Z1===W0){F1[t]=W0;continue}if(F1[t]=R(g,Z1,!1,f),F1[t]===w1){F1[t]=W0;continue}if(f)for(let Q1=0;Q1<g.spaceSearches.length;Q1++){if(r[Q1]>-1000){if(E[Q1]>b1){var S1=(E[Q1]+r[Q1])/4;if(S1>E[Q1])E[Q1]=S1}}if(r[Q1]>E[Q1])E[Q1]=r[Q1]}}if(f){for(let K1=0;K1<g.spaceSearches.length;K1++)if(E[K1]===b1)continue $}else{var a=!1;for(let K1=0;K1<e1;K1++)if(F1[K1]._score!==b1){a=!0;break}if(!a)continue}var d1=new Q(e1);for(let K1=0;K1<e1;K1++)d1[K1]=F1[K1];if(f){var P1=0;for(let K1=0;K1<g.spaceSearches.length;K1++)P1+=E[K1]}else{var P1=b1;for(let Q1=0;Q1<e1;Q1++){var G1=d1[Q1];if(G1._score>-1000){if(P1>b1){var S1=(P1+G1._score)/4;if(S1>P1)P1=S1}}if(G1._score>P1)P1=G1._score}}if(d1.obj=f1,d1._score=P1,I?.scoreFn){if(P1=I.scoreFn(d1),!P1)continue;P1=q(P1),d1._score=P1}if(P1<y)continue;p1(d1)}}else for(var J1=0;J1<s;++J1){var Z1=P[J1];if(!Z1)continue;if(!T0(Z1))Z1=N(Z1);if((m&Z1._bitflags)!==m)continue;var G1=R(g,Z1);if(G1===w1)continue;if(G1._score<y)continue;p1(G1)}if(p===0)return u0;var p0=Array(p);for(var J1=p-1;J1>=0;--J1)p0[J1]=g0.poll();return p0.total=p+X1,p0},K=(C,P="<b>",I="</b>")=>{var g=typeof P==="function"?P:void 0,m=C.target,f=m.length,y=C.indexes,l="",p=0,X1=0,s=!1,p1=[];for(var D1=0;D1<f;++D1){var J1=m[D1];if(y[X1]===D1){if(++X1,!s)if(s=!0,g)p1.push(l),l="";else l+=P;if(X1===y.length){if(g)l+=J1,p1.push(g(l,p++)),l="",p1.push(m.substr(D1+1));else l+=J1+I+m.substr(D1+1);break}}else if(s)if(s=!1,g)p1.push(g(l,p++)),l="";else l+=I;l+=J1}return g?p1:l},Z=(C)=>{if(typeof C==="number")C=""+C;else if(typeof C!=="string")C="";var P=k(C);return H(C,{_targetLower:P._lower,_targetLowerCodes:P.lowerCodes,_bitflags:P.bitflags})},W=()=>{V.clear(),T.clear()};class G{get["indexes"](){return this._indexes.slice(0,this._indexes.len).sort((C,P)=>C-P)}set["indexes"](C){return this._indexes=C}["highlight"](C,P){return K(this,C,P)}get["score"](){return z(this._score)}set["score"](C){this._score=q(C)}}class Q extends Array{get["score"](){return z(this._score)}set["score"](C){this._score=q(C)}}var H=(C,P)=>{let I=new G;return I.target=C,I.obj=P.obj??w1,I._score=P._score??b1,I._indexes=P._indexes??[],I._targetLower=P._targetLower??"",I._targetLowerCodes=P._targetLowerCodes??w1,I._nextBeginningIndexes=P._nextBeginningIndexes??w1,I._bitflags=P._bitflags??0,I},z=(C)=>{if(C===b1)return 0;if(C>1)return C;return Math.E**(((-C+1)**0.04307-1)*-2)},q=(C)=>{if(C===0)return b1;if(C>1)return C;return 1-Math.pow(Math.log(C)/-2+1,23.218017181332716)},U=(C)=>{if(typeof C==="number")C=""+C;else if(typeof C!=="string")C="";C=C.trim();var P=k(C),I=[];if(P.containsSpace){var g=C.split(/\s+/);g=[...new Set(g)];for(var m=0;m<g.length;m++){if(g[m]==="")continue;var f=k(g[m]);I.push({lowerCodes:f.lowerCodes,_lower:g[m].toLowerCase(),containsSpace:!1})}}return{lowerCodes:P.lowerCodes,_lower:P._lower,containsSpace:P.containsSpace,bitflags:P.bitflags,spaceSearches:I}},N=(C)=>{if(C.length>999)return Z(C);var P=V.get(C);if(P!==void 0)return P;return P=Z(C),V.set(C,P),P},w=(C)=>{if(C.length>999)return U(C);var P=T.get(C);if(P!==void 0)return P;return P=U(C),T.set(C,P),P},F=(C,P)=>{var I=[];I.total=C.length;var g=P?.limit||W4;if(P?.key)for(var m=0;m<C.length;m++){var f=C[m],y=K0(f,P.key);if(y==w1)continue;if(!T0(y))y=N(y);var l=H(y.target,{_score:y._score,obj:f});if(I.push(l),I.length>=g)return I}else if(P?.keys)for(var m=0;m<C.length;m++){var f=C[m],p=new Q(P.keys.length);for(var X1=P.keys.length-1;X1>=0;--X1){var y=K0(f,P.keys[X1]);if(!y){p[X1]=W0;continue}if(!T0(y))y=N(y);y._score=b1,y._indexes.len=0,p[X1]=y}if(p.obj=f,p._score=b1,I.push(p),I.length>=g)return I}else for(var m=0;m<C.length;m++){var y=C[m];if(y==w1)continue;if(!T0(y))y=N(y);if(y._score=b1,y._indexes.len=0,I.push(y),I.length>=g)return I}return I},R=(C,P,I=!1,g=!1)=>{if(I===!1&&C.containsSpace)return B(C,P,g);var{_lower:m,lowerCodes:f}=C,y=f[0],l=P._targetLowerCodes,p=f.length,X1=l.length,J1=0,s=0,p1=0;for(;;){var D1=y===l[s];if(D1){if(_[p1++]=s,++J1,J1===p)break;y=f[J1]}if(++s,s>=X1)return w1}var J1=0,f1=!1,Z1=0,G1=P._nextBeginningIndexes;if(G1===w1)G1=P._nextBeginningIndexes=S(P.target);s=_[0]===0?0:G1[_[0]-1];var m0=0;if(s!==X1)for(;;)if(s>=X1){if(J1<=0)break;if(++m0,m0>200)break;--J1;var e1=n[--Z1];s=G1[e1]}else{var D1=f[J1]===l[s];if(D1){if(n[Z1++]=s,++J1,J1===p){f1=!0;break}++s}else s=G1[s]}var j1=p<=1?-1:P._targetLower.indexOf(m,_[0]),t=!!~j1,S1=!t?!1:j1===0||P._nextBeginningIndexes[j1-1]===j1;if(t&&!S1)for(var a=0;a<G1.length;a=G1[a]){if(a<=j1)continue;for(var d1=0;d1<p;d1++)if(f[d1]!==P._targetLowerCodes[a+d1])break;if(d1===p){j1=a,S1=!0;break}}var P1=(K1)=>{var Q1=0,Q6=0;for(var y0=1;y0<p;++y0)if(K1[y0]-K1[y0-1]!==1)Q1-=K1[y0],++Q6;var $7=K1[p-1]-K1[0]-(p-1);if(Q1-=(12+$7)*Q6,K1[0]!==0)Q1-=K1[0]*K1[0]*0.2;if(!f1)Q1*=1000;else{var A$=1;for(var y0=G1[0];y0<X1;y0=G1[y0])++A$;if(A$>24)Q1*=(A$-24)*10}if(Q1-=(X1-p)/2,t)Q1/=1+p*p*1;if(S1)Q1/=1+p*p*1;return Q1-=(X1-p)/2,Q1};if(!f1){if(t)for(var a=0;a<p;++a)_[a]=j1+a;var p0=_,i0=P1(p0)}else if(S1){for(var a=0;a<p;++a)_[a]=j1+a;var p0=_,i0=P1(_)}else var p0=n,i0=P1(n);P._score=i0;for(var a=0;a<p;++a)P._indexes[a]=p0[a];P._indexes.len=p;let V4=new G;return V4.target=P.target,V4._score=P._score,V4._indexes=P._indexes,V4},B=(C,P,I)=>{var g=new Set,m=0,f=w1,y=0,l=C.spaceSearches,p=l.length,X1=0,s=()=>{for(let S1=X1-1;S1>=0;S1--)P._nextBeginningIndexes[u[S1*2+0]]=u[S1*2+1]},p1=!1;for(var t=0;t<p;++t){r[t]=b1;var D1=l[t];if(f=R(D1,P),I){if(f===w1)continue;p1=!0}else if(f===w1)return s(),w1;var J1=t===p-1;if(!J1){var f1=f._indexes,Z1=!0;for(let a=0;a<f1.len-1;a++)if(f1[a+1]-f1[a]!==1){Z1=!1;break}if(Z1){var G1=f1[f1.len-1]+1,m0=P._nextBeginningIndexes[G1-1];for(let a=G1-1;a>=0;a--){if(m0!==P._nextBeginningIndexes[a])break;P._nextBeginningIndexes[a]=G1,u[X1*2+0]=a,u[X1*2+1]=m0,X1++}}}if(m+=f._score/p,r[t]=f._score/p,f._indexes[0]<y)m-=(y-f._indexes[0])*2;y=f._indexes[0];for(var e1=0;e1<f._indexes.len;++e1)g.add(f._indexes[e1])}if(I&&!p1)return w1;s();var j1=R(C,P,!0);if(j1!==w1&&j1._score>m){if(I)for(var t=0;t<p;++t)r[t]=j1._score/p;return j1}if(I)f=P;f._score=m;var t=0;for(let S1 of g)f._indexes[t++]=S1;return f._indexes.len=t,f},L=(C)=>C.replace(/\p{Script=Latin}+/gu,(P)=>P.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),k=(C)=>{C=L(C);var P=C.length,I=C.toLowerCase(),g=[],m=0,f=!1;for(var y=0;y<P;++y){var l=g[y]=I.charCodeAt(y);if(l===32){f=!0;continue}var p=l>=97&&l<=122?l-97:l>=48&&l<=57?26:l<=127?30:31;m|=1<<p}return{lowerCodes:g,bitflags:m,containsSpace:f,_lower:I}},D=(C)=>{var P=C.length,I=[],g=0,m=!1,f=!1;for(var y=0;y<P;++y){var l=C.charCodeAt(y),p=l>=65&&l<=90,X1=p||l>=97&&l<=122||l>=48&&l<=57,s=p&&!m||!f||!X1;if(m=p,f=X1,s)I[g++]=y}return I},S=(C)=>{C=L(C);var P=C.length,I=D(C),g=[],m=I[0],f=0;for(var y=0;y<P;++y)if(m>y)g[y]=m;else m=I[++f],g[y]=m===void 0?P:m;return g},V=new Map,T=new Map,_=[],n=[],u=[],E=[],r=[],V1=[],F1=[],K0=(C,P)=>{var I=C[P];if(I!==void 0)return I;if(typeof P==="function")return P(C);var g=P;if(!Array.isArray(P))g=P.split(".");var m=g.length,f=-1;while(C&&++f<m)C=C[g[f]];return C},T0=(C)=>{return typeof C==="object"&&typeof C._bitflags==="number"},W4=1/0,b1=-W4,u0=[];u0.total=0;var w1=null,W0=Z(""),R0=(C)=>{var P=[],I=0,g={},m=(f)=>{for(var y=0,l=P[y],p=1;p<I;){var X1=p+1;y=p,X1<I&&P[X1]._score<P[p]._score&&(y=X1),P[y-1>>1]=P[y],p=1+(y<<1)}for(var s=y-1>>1;y>0&&l._score<P[s]._score;s=(y=s)-1>>1)P[y]=P[s];P[y]=l};return g.add=(f)=>{var y=I;P[I++]=f;for(var l=y-1>>1;y>0&&f._score<P[l]._score;l=(y=l)-1>>1)P[y]=P[l];P[y]=f},g.poll=(f)=>{if(I!==0){var y=P[0];return P[0]=P[--I],m(),y}},g.peek=(f)=>{if(I!==0)return P[0]},g.replaceTop=(f)=>{P[0]=f,m()},g},g0=R0();return{single:J,go:Y,prepare:Z,cleanup:W}})});var q6=M(v(),1),X7=new H6({defaultOptions:{queries:{retry:(X,J)=>{if(J instanceof TypeError&&J.message.includes("fetch"))return X<2;return!1},refetchOnWindowFocus:!1,refetchOnMount:!0,refetchOnReconnect:!1,staleTime:300000,gcTime:600000,networkMode:"online"},mutations:{retry:1,networkMode:"online"}}});function z6({children:X}){return q6.jsxDEV(O6,{client:X7,children:X},void 0,!1,void 0,this)}var O8=M(o(),1);var j4=M(o(),1);function U6({tools:X,setTools:J}){let Y=j4.useRef(!1);j4.useEffect(()=>{if(!Y.current)J(X),Y.current=!0},[X,J])}var A6=M(o(),1);function N6(X){if(!X)return{isValid:!1,needsSetup:!0,reason:"未找到配置文件"};if(!X.providers||X.providers.length===0)return{isValid:!1,needsSetup:!0,reason:"未配置任何 Provider"};let J=X.providers.find((Y)=>Y.id===X.provider_id);if(!J)return{isValid:!1,needsSetup:!0,reason:`Provider "${X.provider_id}" 不存在`,invalidProviderRef:!0};if(!J.apiKey||J.apiKey.trim()==="")return{isValid:!1,needsSetup:!0,reason:`Provider "${X.provider_id}" 未配置 API Key`,missingApiKey:!0};return{isValid:!0,needsSetup:!1}}function w6({config:X}){return A6.useMemo(()=>{if(!X)return{validation:null,needsSetup:!0,isValid:!1};let J=N6(X);return{validation:J,needsSetup:J.needsSetup,isValid:!J.needsSetup}},[X])}var R6=M(o(),1);function M6({shouldFocus:X}){let J=M0();R6.useEffect(()=>{if(X)J.focus("global-input")},[X,J])}var r1=M(o(),1);function F6(){let[X,J]=r1.useState("chat"),Y=M0(),K=r1.useCallback(()=>{J("history")},[]),Z=r1.useCallback(()=>{J("knowledge")},[]),W=r1.useCallback(()=>{J("settings")},[]),G=r1.useCallback(()=>{J("model-provider")},[]),Q=r1.useCallback(()=>{J("agent")},[]),H=r1.useCallback(()=>{J("mcp")},[]),z=r1.useCallback(()=>{J("process")},[]),q=r1.useCallback(()=>{J("errors")},[]),U=r1.useCallback(()=>{J("cron")},[]),N=r1.useCallback(()=>{J("chat"),Y.focus("global-input")},[Y]);return{activeView:X,isChatView:X==="chat",switchToHistory:K,switchToKnowledge:Z,switchToSettings:W,switchToModelProvider:G,switchToAgent:Q,switchToMcp:H,switchToProcess:z,switchToErrors:q,switchToCron:U,closePanel:N}}var _4=M(o(),1),C6=M(v(),1),P6=_4.createContext(void 0),G4=()=>{let X=_4.useContext(P6);if(X===void 0)throw Error("useChatPanel must be used within ChatPanelProvider. Make sure your component is a child of ChatController.");return X},B6=({children:X,value:J})=>{return C6.jsxDEV(P6.Provider,{value:J,children:X},void 0,!1,void 0,this)};var s0=M(o(),1);var L6=(X)=>{return X.additional_kwargs?.reasoning_content||Array.isArray(X.content)&&X.content.find((J)=>J.type==="thinking")?.thinking},Q4=(X)=>{return typeof X.content==="string"?X.content:X.content?.filter((J)=>{return J.type==="text"}).map((J)=>J.text).join("")};E4();var R$=M(o(),1),q1=M(v(),1),O7={approve:"green",reject:"red",edit:"yellow",modify:"cyan"},z7=(X)=>{return O7[X.toLowerCase()]||"white"},S6=({request:X,allowedDecisions:J=["approve","edit","reject"],onApprove:Y,onEdit:K,onReject:Z,autoFocus:W=!0})=>{let[G,Q]=R$.useState("approve"),{value:H,setTrue:z,setFalse:q}=b6(!1),[U,N]=R$.useState(""),w=M0(),F=X.messageIndex,R=X.description;X0((T,_)=>{if(H&&_.escape)L()},{isActive:H});let B=()=>{if(!U.trim())return;if(G==="edit")try{let T=JSON.parse(U);K(T)}catch(T){console.error("Invalid JSON:",T);return}else{let T=`User rejected to run this tool, reason: ${U}`;Z(T)}q(),N("")},L=()=>{q(),N("")},k=([T])=>{if(T==="approve"){Y(),w.focus("global-input");return}if(Q(T),z(),T==="edit")N(JSON.stringify(X.toolCall.args,null,2));else N("")},D=J.map((T)=>({label:T,value:T}));return H?(()=>{let T=z7(G),_=G==="edit";return q1.jsxDEV(A,{flexDirection:"column",paddingX:1,marginTop:0,children:[q1.jsxDEV(A,{flexDirection:"column",marginBottom:1,children:[q1.jsxDEV(O,{color:T,bold:!0,children:[G.toUpperCase()," MODE - ",X.toolCall.name]},void 0,!0,void 0,this),F!==void 0&&q1.jsxDEV(O,{color:"gray",dimColor:!0,children:["Message Index: ",F]},void 0,!0,void 0,this),R&&q1.jsxDEV(O,{color:"gray",dimColor:!0,children:["Description: ",R]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),_?q1.jsxDEV(A,{flexDirection:"column",marginTop:0,children:[q1.jsxDEV(O,{color:"yellow",dimColor:!0,children:"Editing action arguments (JSON format):"},void 0,!1,void 0,this),q1.jsxDEV(A,{paddingX:1,children:q1.jsxDEV(G0,{value:U,onChange:N,onSubmit:B,placeholder:"Enter JSON...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):q1.jsxDEV(A,{flexDirection:"column",marginTop:0,children:[q1.jsxDEV(O,{color:"cyan",dimColor:!0,children:"Enter additional message for this action:"},void 0,!1,void 0,this),q1.jsxDEV(A,{padding:1,children:q1.jsxDEV(G0,{value:U,onChange:N,onSubmit:B,placeholder:"Enter message...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),q1.jsxDEV(A,{marginTop:0,children:q1.jsxDEV(O,{color:"gray",children:[q1.jsxDEV(O,{color:T,bold:!0,children:"↵"},void 0,!1,void 0,this)," ","Submit |",q1.jsxDEV(O,{color:"red",bold:!0,children:[" ","Esc"]},void 0,!0,void 0,this)," ","Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)})():(()=>q1.jsxDEV(A,{flexDirection:"column",paddingX:1,children:[q1.jsxDEV(A,{flexDirection:"column",marginBottom:1,children:[q1.jsxDEV(O,{color:"cyan",bold:!0,children:X.toolCall.name},void 0,!1,void 0,this),F!==void 0&&q1.jsxDEV(O,{color:"gray",dimColor:!0,children:["Message Index: ",F]},void 0,!0,void 0,this),R&&q1.jsxDEV(O,{color:"gray",dimColor:!0,children:["Description: ",R]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),q1.jsxDEV(A,{children:q1.jsxDEV(n0,{singleSelect:!0,options:D,onSubmit:k,autoFocus:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this))()};var f4=M(o(),1),k6=M(v(),1),M$={type:"approval",render(X,J){let{content:Y,metadata:K}=X,Z=M0(),W=f4.useCallback(()=>{J({state:"submitted",result:{status:"approved"}}),Z.focus("global-input")},[J,Z]),G=f4.useCallback((z)=>{J({state:"edited",result:{status:"edited",editedArgs:z}}),Z.focus("global-input")},[J,Z]),Q=f4.useCallback((z)=>{J({state:"cancelled",result:{status:"rejected",message:z}}),Z.focus("global-input")},[J,Z]),H={id:X.id,toolCall:Y.toolCall,status:X.state==="submitted"?"approved":X.state==="edited"?"edited":X.state==="cancelled"?"rejected":"pending",createdAt:X.createdAt,messageIndex:K.messageIndex,description:K.description};return k6.jsxDEV(S6,{request:H,allowedDecisions:["approve","edit","reject"],onApprove:W,onEdit:G,onReject:Q,autoFocus:!0},X.id,!1,void 0,this)},defaultConfig:{layout:{border:!1,padding:0},interaction:{autoSubmit:!1,allowSkip:!1}}};var F$=M(o(),1);var q7={title:{maxWidth:60,ellipsis:"…"},description:{maxWidth:80,ellipsis:"…"},optionLabel:{maxWidth:50,ellipsis:"…"},tabLabel:{maxWidth:30,ellipsis:"…"},fullTitle:{maxWidth:80,ellipsis:"…"}},U7=(X,J=20,Y="…")=>{if(!X)return"";if(X.length<=J)return X;return X.substring(0,J-Y.length)+Y},H4=(X,J)=>{let Y=q7[J];return U7(X,Y.maxWidth,Y.ellipsis)};var I0=M(v(),1),N7=(X)=>{return H4(X,"optionLabel")},P$={type:"selection",render(X,J){let{content:Y,metadata:K,result:Z}=X,[W,G]=F$.useState(Z?.selected||[]),[Q,H]=F$.useState(Z?.customInput||""),z=Y.options.map((B)=>({label:N7(B.label),value:B.value})),q=(B,L)=>{J({result:{selected:B??W,customInput:L??Q}})},U=(B)=>{G(B),q(B,void 0)},N=(B)=>{H(B),q(void 0,B)},w=()=>{J({state:"submitted",result:{selected:W,customInput:Q}})},F=K?.title?H4(K.title,"title"):null,R=K?.description?H4(K.description,"description"):null;return I0.jsxDEV(A,{flexDirection:"column",paddingX:1,children:[F&&I0.jsxDEV(A,{marginBottom:1,children:I0.jsxDEV(O,{color:"cyan",bold:!0,children:F},void 0,!1,void 0,this)},void 0,!1,void 0,this),R&&I0.jsxDEV(A,{marginBottom:1,children:I0.jsxDEV(O,{dimColor:!0,children:R},void 0,!1,void 0,this)},void 0,!1,void 0,this),I0.jsxDEV(n0,{options:z,singleSelect:Y.singleSelect,values:W,onChange:U,onSubmit:w,autoFocus:!0},void 0,!1,void 0,this),Y.allowCustomInput&&I0.jsxDEV(A,{marginTop:1,flexDirection:"column",children:I0.jsxDEV(G0,{value:Q,onChange:N,onSubmit:w,placeholder:Y.placeholder||"Type custom option...",autoFocus:!1},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate(X){if(X.options.length===0)return"At least one option is required";if(X.singleSelect&&X.maxSelections&&X.maxSelections>1)return"Single select cannot have maxSelections > 1";return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var T6=M(o(),1);var F0=M(v(),1),B$={type:"input",render(X,J){let{content:Y,metadata:K}=X,[Z,W]=T6.useState(Y.defaultValue||""),G=()=>{J({state:"submitted",result:{value:Z}})};return F0.jsxDEV(A,{flexDirection:"column",paddingX:1,children:[K?.title&&F0.jsxDEV(A,{marginBottom:1,children:F0.jsxDEV(O,{color:"cyan",bold:!0,children:K.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),K?.description&&F0.jsxDEV(A,{marginBottom:1,children:F0.jsxDEV(O,{dimColor:!0,children:K.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),F0.jsxDEV(A,{children:[F0.jsxDEV(G0,{value:Z,onChange:W,onSubmit:G,placeholder:Y.placeholder,autoFocus:!0},void 0,!1,void 0,this),")"]},void 0,!0,void 0,this),Y.maxLength&&F0.jsxDEV(A,{marginTop:1,children:F0.jsxDEV(O,{dimColor:!0,children:["Max length: ",Y.maxLength]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate(X){if(X.validation?.pattern&&X.defaultValue){if(!X.validation.pattern.test(X.defaultValue))return"Input does not match required pattern"}if(X.validation?.minLength&&X.defaultValue&&X.defaultValue.length<X.validation.minLength)return`Input must be at least ${X.validation.minLength} characters`;return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var a0=M(v(),1),C$={type:"confirm",render(X,J){let{content:Y,metadata:K}=X,Z=()=>{J({state:"submitted",result:{confirmed:!0}})},W=()=>{J({state:"cancelled",result:{confirmed:!1}})},G=[{label:Y.confirmLabel||"Confirm",value:"confirm"},{label:Y.cancelLabel||"Cancel",value:"cancel"}],Q=([H])=>{if(H==="confirm")Z();else W()};return a0.jsxDEV(A,{flexDirection:"column",paddingX:1,children:[K?.title&&a0.jsxDEV(A,{marginBottom:1,children:a0.jsxDEV(O,{color:Y.danger?"red":"cyan",bold:!0,children:K.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),a0.jsxDEV(A,{marginBottom:1,children:a0.jsxDEV(O,{children:Y.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),a0.jsxDEV(n0,{options:G,singleSelect:!0,onSubmit:Q,autoFocus:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var A7=M(o(),1);var w7=M(v(),1);var P0=M(o(),1);var O4=M(o(),1);var B1=M(v(),1),I6=({items:X,defaultIndex:J=0,onChange:Y,disabled:K=!1,autoFocus:Z=!0,variant:W="line"})=>{let{isFocused:G}=y6({autoFocus:Z}),[Q,H]=O4.useState(J),z=O4.default.useMemo(()=>`tabs-${Math.random().toString(36).substring(2,9)}`,[]),q=O4.useCallback((w)=>{if(w<0||w>=X.length||X[w].disabled)return;H(w),Y?.(w,X[w])},[X,Y]);X0((w,F)=>{if(K)return;if(F.leftArrow)q(Q-1);else if(F.rightArrow)q(Q+1)},{isActive:!K});let U=()=>{return X.map((w,F)=>{let R=F===Q,B=G&&!K,L;if(W==="line")L=B1.jsxDEV(A,{marginRight:1,children:[B1.jsxDEV(O,{color:w.disabled?"gray":R?B?"green":"cyan":"gray",bold:R&&B,children:w.label},void 0,!1,void 0,this),R&&B1.jsxDEV(O,{color:B?"green":"cyan",children:"_"},void 0,!1,void 0,this)]},`${z}-${w.id}`,!0,void 0,this);else if(W==="enclosed"){let k=F===0||R?"┌":"─",D=F===X.length-1||R?"┐":"─",S=F===0||R?"│":" ",V=F===X.length-1||R?"│":" ",T=R?"─":" ",_=R?" ":"",n=w.disabled?"gray":R?B?"green":"cyan":"gray";L=B1.jsxDEV(A,{children:B1.jsxDEV(A,{flexDirection:"column",children:[B1.jsxDEV(A,{children:[B1.jsxDEV(O,{color:n,children:k},void 0,!1,void 0,this),B1.jsxDEV(O,{color:n,bold:R&&B,children:[_,w.label,_]},void 0,!0,void 0,this),B1.jsxDEV(O,{color:n,children:D},void 0,!1,void 0,this)]},void 0,!0,void 0,this),R&&B1.jsxDEV(A,{children:[B1.jsxDEV(O,{color:n,children:S},void 0,!1,void 0,this),B1.jsxDEV(O,{color:n,children:T.repeat(w.label.length+2)},void 0,!1,void 0,this),B1.jsxDEV(O,{color:n,children:V},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},`${z}-${w.id}`,!1,void 0,this)}else{let k=R?"●":"○";L=B1.jsxDEV(A,{marginRight:2,children:B1.jsxDEV(O,{color:w.disabled?"gray":R?B?"green":"cyan":"gray",bold:R&&B,children:[k," ",w.label]},void 0,!0,void 0,this)},`${z}-${w.id}`,!1,void 0,this)}return L})},N=()=>{let w=X[Q];if(!w?.content)return null;return B1.jsxDEV(A,{marginTop:1,paddingX:2,paddingY:1,flexDirection:"column",children:w.content},void 0,!1,void 0,this)};return B1.jsxDEV(A,{flexDirection:"column",flexGrow:1,children:[B1.jsxDEV(A,{children:U()},void 0,!1,void 0,this),X.some((w)=>w.content)&&N()]},void 0,!0,void 0,this)};var V6=M(o(),1);var D6=M(v(),1),L$=({interaction:X,renderer:J,onChange:Y})=>{let K=V6.useMemo(()=>{return{layout:{border:!1,padding:0,...J.defaultConfig?.layout,...X.config.layout},interaction:{autoSubmit:!1,allowSkip:!1,showPreview:!0,...J.defaultConfig?.interaction,...X.config.interaction},style:{...J.defaultConfig?.style,...X.config.style}}},[X.config,J.defaultConfig]),Z=K.style.backgroundColor;return D6.jsxDEV(A,{backgroundColor:Z,paddingX:K.layout.padding,marginBottom:1,flexDirection:"column",children:J.render({...X,config:K},Y)},void 0,!1,void 0,this)};E4();var V0=M(v(),1),R7=(X)=>{return H4(X,"fullTitle")},v$=()=>{let X=$0(),[J,Y]=P0.useState(null),{focusNext:K,focus:Z}=M0(),W=P0.useMemo(()=>{return X.getInteractions()},[X.getInteractions()]);P0.useEffect(()=>{if(W.length>0&&!J)Y(W[0].id)},[W,J]);let G=P0.useMemo(()=>{return W.map((U)=>{let N={idle:"\uD83D\uDD04",active:"\uD83D\uDD04",submitted:"✅",edited:"⛔",cancelled:"\uD83D\uDEAB"}[U.state]||"",w=R7(U.metadata.title||U.content.type);return{id:U.id,label:`${N} ${w}`,content:null}})},[W]),Q=P0.useCallback((U,N)=>{Y(N.id)},[]),H=P0.useCallback((U)=>{if(W.every((R)=>R.state==="submitted"||R.state==="edited"||R.state==="cancelled")){Z("global-input");return}let F=(W.findIndex((R)=>R.id===U)+1)%W.length;Y(W[F].id)},[W,Z]),z=j6(()=>{K()});o1(z,J?100:null);let q=()=>{if(!J)return null;let U=W.find((w)=>w.id===J);if(!U)return null;let N=c0.get(U.content.type);if(!N)return V0.jsxDEV(A,{paddingX:1,children:V0.jsxDEV(O,{color:"red",children:["Unknown renderer: ",U.content.type]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return V0.jsxDEV(L$,{interaction:U,renderer:N,onChange:(w)=>{if(X.updateInteraction(U.id,w),w.state==="submitted"||w.state==="edited"||w.state==="cancelled")H(U.id)}},U.id,!1,void 0,this)};if(W.length===0)return null;return V0.jsxDEV(A,{flexDirection:"column",width:"100%",children:[V0.jsxDEV(A,{justifyContent:"space-between",paddingX:1,marginBottom:1,children:V0.jsxDEV(O,{color:"cyan",bold:!0,children:["Interactions (",W.length,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),V0.jsxDEV(A,{paddingX:1,marginBottom:1,children:V0.jsxDEV(I6,{items:G,defaultIndex:G.findIndex((U)=>U.id===J),onChange:Q,autoFocus:!0,variant:"line"},J,!1,void 0,this)},void 0,!1,void 0,this),q()]},void 0,!0,void 0,this)};E4();function _6(){c0.register("approval",M$),c0.register("selection",P$),c0.register("input",B$),c0.register("confirm",C$)}_6();var z4=M(v(),1),M7=x.object({label:x.string().min(1).max(50).describe("选项显示文本,简洁明了(1-50 字符)")}),F7=x.object({description:x.string().min(1).describe("向用户提出的问题,清晰具体,包含必要的上下文"),type:x.enum(["single_select","multi_select"]).describe("选择类型:single_select(单选)或 multi_select(多选)"),options:x.array(M7).min(2).max(6).describe("选项列表,至少 2 个,最多 6 个"),allow_custom_input:x.boolean().default(!0).describe("是否允许用户输入自定义文本,默认 true"),placeholder:x.string().optional().describe("自定义输入框的占位符文本")}),P7=({tool:X})=>{let{addInteraction:J,getInteractions:Y,updateInteraction:K}=$0(),[Z,W]=s0.useState(null),G=s0.useRef(!1),Q=X.getInputRepaired();if(s0.useEffect(()=>{if(X.state==="interrupted"&&!Z&&!G.current){let z=(Array.isArray(Q.options)?Q.options:[]).map((w)=>{let F=w&&typeof w==="object"&&typeof w.label==="string"?w.label:String(w??"");return{label:F,value:F}}),q=Q.type==="single_select",U={type:"selection",options:z,singleSelect:q,allowCustomInput:typeof Q.allow_custom_input==="boolean"?Q.allow_custom_input:!0,placeholder:typeof Q.placeholder==="string"?Q.placeholder:void 0},N=J(U,{tool:X,metadata:{title:typeof Q.description==="string"&&Q.description?Q.description:"请选择一个选项",groupKey:"user-input"}});W(N.id)}},[X,Z,J,Q]),s0.useEffect(()=>{if(!Z||G.current)return;let H=()=>{let U=Y().find((N)=>N.id===Z);if(U&&(U.state==="submitted"||U.state==="edited"||U.state==="cancelled")&&!U.resultSent){G.current=!0;let N=U.result,w="";if(N){if(N.selected&&N.selected.length>0)w+=`User selected:
6
+ ${N.selected.join(`
7
+ - `)}`;if(N.customInput&&N.customInput.trim())w+=(w?`
8
+ `:"")+`User Custom Input: ${N.customInput}`}X.sendResumeData({type:"respond",message:w||"User made a selection"}),K(Z,{resultSent:!0})}};H();let z=setInterval(H,100);return()=>clearInterval(z)},[Z,Y,K,X]),X.state==="interrupted"&&!X.output)return z4.jsxDEV(A,{flexDirection:"column",children:z4.jsxDEV(A,{paddingX:1,children:z4.jsxDEV(O,{color:"yellow",children:"⏳ 等待用户选择..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(X.output)return z4.jsxDEV(O,{color:"yellow",children:X.output},void 0,!1,void 0,this);return null},E6=O1({name:"ask_user_questions",description:"Ask the user a question with selectable options",parameters:F7,handler:N1.waitForUIDone,render(X){return z4.jsxDEV(P7,{tool:X},void 0,!1,void 0,this)}});var t0=M(o(),1);var F4=M(v(),1),q4=({content:X,maxLines:J=10,borderColor:Y="cyan",borderStyle:K="single",marginTop:Z=0,paddingX:W=0,showOmittedInfo:G=!0})=>{let{stdout:Q}=f6();if(!X)return null;let H=Q.columns,z=X.split(`
9
+ `).map((N)=>N.slice(0,H-10)),q=Math.max(0,z.length-J),U=z.slice(-J).join(`
10
+ `);return F4.jsxDEV(A,{flexDirection:"column",width:H-5,children:F4.jsxDEV(A,{borderStyle:K,borderColor:Y,borderLeft:!1,borderRight:!1,flexDirection:"column",paddingX:W,marginTop:Z,children:[G&&q>0&&F4.jsxDEV(O,{color:"gray",dimColor:!0,children:["... ",q," lines omitted ..."]},void 0,!0,void 0,this),F4.jsxDEV(O,{dimColor:!0,children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)};var c1=M(v(),1),B7=({tool:X})=>{let{addInteraction:J,getInteractions:Y,updateInteraction:K}=$0(),[Z,W]=t0.useState(null),G=t0.useRef(!1),Q=X.getHumanInTheLoopData();if(t0.useEffect(()=>{if(Q?.reviewConfig&&X.state==="interrupted"&&!Z&&!G.current){let z=X.getInputRepaired()?.description,q={type:"approval",toolCall:{name:X.message.name,args:X.getInputRepaired()},editableFields:["args"]},U=J(q,{tool:X,metadata:{title:`Approve ${X.message.name}`,description:z,groupKey:"approvals"}});W(U.id)}},[Q,X,Z,J]),t0.useEffect(()=>{if(!Z||G.current)return;let z=()=>{let N=Y().find((w)=>w.id===Z);if(N&&(N.state==="submitted"||N.state==="edited"||N.state==="cancelled")&&!N.resultSent){G.current=!0;let w=N.result;if(w){if(w.status==="approved")X.sendResumeData({type:"approve"});else if(w.status==="edited"){let F={name:X.message.name,args:w.editedArgs};X.sendResumeData({type:"edit",edited_action:F})}else if(w.status==="rejected"){let F=w.message||"User rejected to run this tool";X.sendResumeData({type:"reject",message:F})}}K(Z,{resultSent:!0})}};z();let q=setInterval(z,100);return()=>clearInterval(q)},[Z,Y,K,X]),Q?.reviewConfig&&Z&&!X.output)return c1.jsxDEV(A,{flexDirection:"column",children:c1.jsxDEV(A,{paddingX:1,paddingY:1,children:c1.jsxDEV(O,{color:"yellow",children:"⏳ Wait for Approval"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return c1.jsxDEV(A,{flexDirection:"column",children:(()=>{if(!X.output)return null;return c1.jsxDEV(q4,{content:X.output,maxLines:5,borderColor:"cyan"},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},C7=({tool:X})=>{let J=X.getInputRepaired(),Y=typeof J?.command==="string"?J.command:String(J?.command??""),K=Y.length>50?Y.substring(0,50)+"...":Y;return c1.jsxDEV(A,{paddingX:1,children:[c1.jsxDEV(O,{color:"magenta",children:"Run "},void 0,!1,void 0,this),c1.jsxDEV(O,{dimColor:!0,children:"("},void 0,!1,void 0,this),c1.jsxDEV(O,{color:"magenta",children:K},void 0,!1,void 0,this),c1.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},h6=O1({name:"terminal",description:"",parameters:{},handler:N1.waitForUIDone,render(X){return c1.jsxDEV(A,{flexDirection:"column",children:[c1.jsxDEV(C7,{tool:X},void 0,!1,void 0,this),c1.jsxDEV(B7,{tool:X},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var p6=M(g6(),1);function L7(X,J,Y){if(X===J)return[{type:"unchanged",content:X,lineNumbers:{old:1,new:1}}];let K=new p6.diff_match_patch,Z=K.diff_main(X,J);K.diff_cleanupSemantic(Z);let W=[],G=1,Q=1,H=[];for(let[B,L]of Z){if(L==="")continue;let k=L.split(`
11
+ `),D=L.endsWith(`
12
+ `);for(let S=0;S<k.length;S++){let V=k[S];if(V===""&&(S<k.length-1||!D))continue;let T={type:B===0?"unchanged":B===-1?"added":"removed",content:V};if(B===0)T.lineNumbers={old:G,new:Q},G++,Q++;else if(B===-1)T.lineNumbers={new:Q},Q++;else if(B===1)T.lineNumbers={old:G},G++;H.push(T)}}if(!Y?.maxLines)return H;let z=Y.maxLines,q=Y.contextLines||3,U=H.map((B,L)=>B.type!=="unchanged"?L:-1).filter((B)=>B!==-1);if(U.length===0||H.length<=z)return H;let N=[],w=0,F=[],R=[];for(let B=0;B<U.length;B++)if(R.length===0)R.push(U[B]);else{let L=R[R.length-1];if(U[B]-L<=1)R.push(U[B]);else F.push([...R]),R=[U[B]]}if(R.length>0)F.push(R);for(let B of F){if(w>=z)break;let L=B[0],k=B[B.length-1],D=Math.max(0,L-q),S=Math.min(H.length-1,k+q),V=S-D+1;if(w+V>z&&w>0){N.push({type:"unchanged",content:"..."});break}for(let T=D;T<=S;T++){if(w>=z){if(T<S)N.push({type:"unchanged",content:"..."});break}N.push(H[T]),w++}if(B===F[F.length-1]&&w<H.length){let T=H.length-S-1;if(T>0)N.push({type:"unchanged",content:`... (${T} more lines)`})}}return N}function m6(X,J=1000){return X=X||"",X.length>J||X.split(`
13
+ `).length>50}function c6(X,J,Y){let K=m6(X)||m6(J),W=Y!==void 0&&"maxLines"in Y?Y.maxLines:K?10:20,G=Y?.contextLines??(K?1:3);return L7(X,J,{maxLines:W,contextLines:G})}var N4=M(v(),1),v7=["sky","primary"];function b7(X){let J=X%2;return e0(v7[J])}function S7(X){let J=[];if(X.startsWith("/"))J.push({type:"separator",value:"/"}),X=X.slice(1);let Y=X.split("/");return Y.forEach((K,Z)=>{if(K)J.push({type:"segment",value:K});if(Z<Y.length-1)J.push({type:"separator",value:"/"})}),J}var k7=({path:X,color:J="cyan",line:Y,rainbow:K=!1})=>{let Z=l6(X)??"",W=Y!==void 0?`:${Y}`:"";if(!K)return N4.jsxDEV(O,{color:e0(J),children:[Z,W]},void 0,!0,void 0,this);let G=S7(Z),Q=-1;for(let z=G.length-1;z>=0;z--)if(G[z].type==="segment"){Q=z;break}let H=0;return N4.jsxDEV(O,{children:[G.map((z,q)=>{if(z.type==="separator")return N4.jsxDEV(O,{dimColor:!0,color:"gray",children:z.value},`sep-${q}`,!1,void 0,this);let U=q===Q,N=b7(H);return H++,N4.jsxDEV(O,{color:N,dimColor:!U,children:z.value},`seg-${q}`,!1,void 0,this)}),W&&N4.jsxDEV(O,{color:"gray",children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},i1=k7;var C1=M(v(),1),T7=x6.schema,d6=O1({name:"edit_file",description:"Performs exact string replacements in files with diff visualization",parameters:T7.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),Y=X.output,K=typeof J?.file_path==="string"?J.file_path:String(J?.file_path??""),Z=typeof J?.old_string==="string"?J.old_string:"",W=typeof J?.new_string==="string"?J.new_string:"",G=Z.length>0&&W.length>0&&Z!==W,Q=typeof Y==="string"?Y:"",H=0,z=0;if(G){let q=c6(Z,W,{maxLines:void 0});for(let U of q){if(U.type==="removed")H++;if(U.type==="added")z++}}return C1.jsxDEV(A,{flexDirection:"column",paddingX:1,children:[C1.jsxDEV(A,{children:[C1.jsxDEV(O,{color:"yellow",children:"Edit "},void 0,!1,void 0,this),C1.jsxDEV(O,{dimColor:!0,children:"("},void 0,!1,void 0,this),C1.jsxDEV(i1,{path:K,rainbow:!0},void 0,!1,void 0,this),C1.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this),G&&C1.jsxDEV(C1.Fragment,{children:[C1.jsxDEV(O,{color:"gray",children:" ("},void 0,!1,void 0,this),C1.jsxDEV(O,{color:"red",children:["-",H]},void 0,!0,void 0,this),C1.jsxDEV(O,{color:"gray",children:"/"},void 0,!1,void 0,this),C1.jsxDEV(O,{color:"green",children:["+",z]},void 0,!0,void 0,this),C1.jsxDEV(O,{color:"gray",children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q&&Q.startsWith("Error:")&&C1.jsxDEV(A,{marginTop:0,marginLeft:1,marginBottom:1,children:C1.jsxDEV(O,{color:"red",children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this),!Q&&C1.jsxDEV(A,{marginTop:0,children:C1.jsxDEV(O,{color:"gray",children:"Press Enter to confirm, Ctrl+C to cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var Q0=M(v(),1),y7=x.object({content:x.string().min(1),status:x.enum(["pending","in_progress","completed"]),id:x.string()}),I7=x.object({todos:x.array(y7).describe("The updated todo list")}),V7=["pending","in_progress","completed"],D7={pending:"gray",in_progress:"yellow",completed:"green"},j7={pending:"○",in_progress:"◐",completed:"✓"};function _7(X,J){let Y=X&&typeof X==="object"?X:{},K=typeof Y.id==="string"?Y.id:String(J),Z=typeof Y.content==="string"?Y.content:String(Y.content??""),W=V7.includes(Y.status)?Y.status:"pending";return{id:K,content:Z,status:W}}var r6=O1({name:"todo_write",description:"Use this tool to create and manage a structured task list",parameters:I7.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),K=(J&&Array.isArray(J.todos)?J.todos:[]).map(_7);if(!J)return Q0.jsxDEV(A,{flexDirection:"column",borderStyle:"round",borderColor:"red",children:Q0.jsxDEV(O,{color:"red",children:"Error: Invalid todo data structure"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return Q0.jsxDEV(A,{flexDirection:"column",paddingY:1,children:Q0.jsxDEV(A,{flexDirection:"column",marginTop:0,children:(()=>{if(K.length===0)return Q0.jsxDEV(A,{paddingX:1,children:Q0.jsxDEV(O,{color:"gray",children:"No tasks in todo list"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return Q0.jsxDEV(A,{flexDirection:"column",marginTop:0,children:K.map((W,G)=>Q0.jsxDEV(A,{paddingX:1,paddingY:0,children:[Q0.jsxDEV(O,{color:D7[W.status],bold:!0,children:[j7[W.status]," "]},void 0,!0,void 0,this),Q0.jsxDEV(O,{color:W.status==="in_progress"?"white":"gray",children:[G+1,". ",W.content]},void 0,!0,void 0,this)]},W.id,!0,void 0,this))},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},void 0,!1,void 0,this)}});var H0=M(v(),1),E7=o6.schema,i6=O1({name:"read_file",description:"Reads a file from the local filesystem",parameters:E7.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),Y=X.output;if(!Y)return H0.jsxDEV(H0.Fragment,{},void 0,!1,void 0,this);let W=(typeof Y==="string"?Y:String(Y??"")).split(`
14
+ `).length,G=typeof J?.file_path==="string"?J.file_path:String(J?.file_path??"");return H0.jsxDEV(A,{flexDirection:"column",paddingX:1,children:H0.jsxDEV(A,{children:[H0.jsxDEV(O,{color:"blue",children:"Read "},void 0,!1,void 0,this),H0.jsxDEV(O,{dimColor:!0,children:"("},void 0,!1,void 0,this),H0.jsxDEV(i1,{path:G,rainbow:!0},void 0,!1,void 0,this),H0.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this),H0.jsxDEV(O,{color:"gray",dimColor:!0,children:[" ","(",W," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var O0=M(v(),1),f7=n6.schema,a6=O1({name:"glob_files",description:"Find files by name patterns",parameters:f7.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),Y=X.output;if(!Y)return O0.jsxDEV(O0.Fragment,{},void 0,!1,void 0,this);let Z=Y.split(`
15
+ `).filter(Boolean).length,W=typeof J?.pattern==="string"?J.pattern:String(J?.pattern??"");return O0.jsxDEV(A,{flexDirection:"column",paddingX:1,children:O0.jsxDEV(O,{children:[O0.jsxDEV(O,{color:"cyan",children:"Glob "},void 0,!1,void 0,this),O0.jsxDEV(O,{dimColor:!0,children:"("},void 0,!1,void 0,this),O0.jsxDEV(i1,{path:W,rainbow:!0},void 0,!1,void 0,this),O0.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this),O0.jsxDEV(O,{color:"gray",dimColor:!0,children:[" ","(",Z," files)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var k1=M(v(),1),h7=x.object({args:x.array(x.string()).optional().describe("ripgrep 参数数组,格式为 [OPTIONS...] PATTERN [PATH...]"),pattern:x.string().optional().describe("搜索模式(结构化参数)"),path:x.string().optional().describe("搜索路径(结构化参数)"),description:x.string().optional().describe("操作描述"),head_limit:x.number().optional().describe("限制输出行数")}),s6=O1({name:"search_files_rg",description:"Ripgrep - fast text search tool",parameters:h7.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),Y=X.output;if(!Y)return k1.jsxDEV(k1.Fragment,{},void 0,!1,void 0,this);let W=(typeof Y==="string"?Y:String(Y??"")).split(`
16
+ `).filter(Boolean).length,G=typeof J?.pattern==="string"?J.pattern:void 0,Q=typeof J?.path==="string"?J.path:void 0;if(!G&&J?.args){let q=(Array.isArray(J.args)?J.args:[]).filter((U)=>typeof U==="string").filter((U)=>!U.startsWith("-"));if(q.length>0){if(Q=q[q.length-1],q.length>1)G=q[q.length-2]}}return k1.jsxDEV(A,{flexDirection:"column",paddingX:1,children:k1.jsxDEV(O,{children:[k1.jsxDEV(O,{color:"magenta",children:"Ripgrep "},void 0,!1,void 0,this),G&&k1.jsxDEV(k1.Fragment,{children:[k1.jsxDEV(O,{dimColor:!0,children:"("},void 0,!1,void 0,this),k1.jsxDEV(i1,{path:G,color:"magenta"},void 0,!1,void 0,this),k1.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&Q!=="./"&&k1.jsxDEV(k1.Fragment,{children:[k1.jsxDEV(O,{dimColor:!0,children:" in "},void 0,!1,void 0,this),k1.jsxDEV(i1,{path:Q,rainbow:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this),k1.jsxDEV(O,{color:"gray",dimColor:!0,children:[" ","(",W," matches)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var B0=M(v(),1),u7=x.object({description:x.string().optional(),file_path:x.string(),content:x.string()}),t6=O1({name:"write_file",description:"Writes a file to the local filesystem",parameters:u7.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),Y=X.output,K=typeof J?.content==="string"?J.content:String(J?.content??""),Z=typeof J?.file_path==="string"?J.file_path:String(J?.file_path??""),W=K.split(`
17
+ `).length,G=typeof Y==="string"?Y:"";return B0.jsxDEV(A,{flexDirection:"column",paddingX:1,children:[B0.jsxDEV(A,{children:[B0.jsxDEV(O,{color:"green",children:"Write "},void 0,!1,void 0,this),B0.jsxDEV(O,{dimColor:!0,children:"("},void 0,!1,void 0,this),B0.jsxDEV(i1,{path:Z,rainbow:!0},void 0,!1,void 0,this),B0.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this),B0.jsxDEV(O,{dimColor:!0,children:[" (",W," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),G&&G.startsWith("Error:")&&B0.jsxDEV(A,{marginTop:0,marginLeft:1,marginBottom:1,children:B0.jsxDEV(O,{color:"red",children:G},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var h1=M(v(),1),g7=e6.schema,$8=O1({name:"folder_operations",description:"Unified folder operations tool supporting create, list, delete, and existence check",parameters:g7.shape,render(X){let J=X.getInputRepaired(),Y=X.output;if(!Y)return h1.jsxDEV(h1.Fragment,{},void 0,!1,void 0,this);let K=typeof Y==="string"?Y:String(Y??""),Z=typeof J?.operation==="string"?J.operation:String(J?.operation??""),W=typeof J?.folder_path==="string"?J.folder_path:String(J?.folder_path??""),Q={create:"green",list:"blue",exists:"yellow",delete:"red"}[Z]??"cyan",z=K.split(`
18
+ `).map((q,U)=>{if(q.match(/\d+ \w+|[\d-]+ [\d:]+/))return h1.jsxDEV(O,{dimColor:!0,children:q},U,!1,void 0,this);if(q.includes("✓")||q.includes("successfully")||q.includes("created")||q.includes("deleted"))return h1.jsxDEV(O,{color:"green",children:q},U,!1,void 0,this);if(q.includes("✗")||q.includes("Error")||q.includes("not found")||q.includes("failed"))return h1.jsxDEV(O,{color:"red",children:q},U,!1,void 0,this);if(q.startsWith("/")||q.includes("/:"))return h1.jsxDEV(O,{color:"cyan",children:q},U,!1,void 0,this);return h1.jsxDEV(O,{children:q},U,!1,void 0,this)});return h1.jsxDEV(A,{flexDirection:"column",paddingX:1,children:h1.jsxDEV(A,{children:[h1.jsxDEV(O,{bold:!0,color:Q,children:[Z,"Folder"]},void 0,!0,void 0,this),h1.jsxDEV(O,{dimColor:!0,children:" ("},void 0,!1,void 0,this),h1.jsxDEV(i1,{path:W,rainbow:!0},void 0,!1,void 0,this),h1.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var L1=M(v(),1),m7=x.object({}),X8=O1({name:"load_mcp_tools",description:`加载并查询所有可用的 MCP 工具列表。
64
19
 
65
20
  返回:
66
21
  - tools: MCP 工具列表,每个工具包含 name, description, schema
@@ -71,7 +26,7 @@ ${U.selected.join(`
71
26
  - 获取工具的参数格式
72
27
  - 检查 MCP 连接状态
73
28
 
74
- 重要:工具列表是动态的,建议在需要时调用此命令获取最新信息。`,parameters:yW.shape,handler:T1.waitForUIDone,render($){let Z=$.output,X=typeof Z==="string"?Z:"",Y=null;try{Y=JSON.parse(X)}catch(Q){}let J=Array.isArray(Y?.tools)?Y.tools:[],W=Array.isArray(Y?.status?.servers)?Y.status.servers.filter((Q)=>typeof Q==="string"):[],K=typeof Y?.status?.toolCount==="number"?Y.status.toolCount:void 0;return m1.jsxDEV(w,{flexDirection:"column",children:[m1.jsxDEV(w,{children:m1.jsxDEV(N,{color:"blue",bold:!0,children:"load_mcp_tools"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y?.status&&m1.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[m1.jsxDEV(N,{color:"green",children:"✓ MCP 已连接"},void 0,!1,void 0,this),W.length>0&&m1.jsxDEV(w,{marginLeft:2,children:m1.jsxDEV(N,{color:"gray",children:["服务器: ",W.join(", ")]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K!==void 0&&m1.jsxDEV(w,{marginLeft:2,children:m1.jsxDEV(N,{color:"gray",children:["工具数量: ",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J.length>0&&m1.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[m1.jsxDEV(N,{color:"gray",dimColor:!0,children:["可用工具 (",J.length,"):"]},void 0,!0,void 0,this),J.slice(0,5).map((Q,z)=>{let G=typeof Q?.name==="string"?Q.name:String(Q?.name??""),O=typeof Q?.description==="string"?Q.description:"";return m1.jsxDEV(w,{marginLeft:2,children:[m1.jsxDEV(N,{color:"cyan",children:G},void 0,!1,void 0,this),O&&m1.jsxDEV(N,{color:"gray",dimColor:!0,children:[" ","- ",O.slice(0,50),O.length>50?"...":""]},void 0,!0,void 0,this)]},z,!0,void 0,this)}),J.length>5&&m1.jsxDEV(w,{marginLeft:2,children:m1.jsxDEV(N,{color:"gray",dimColor:!0,children:["... 还有 ",J.length-5," 个工具"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&m1.jsxDEV(w$,{content:X,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var z0=B(V(),1),EW=j.object({commands:j.array(j.object({name:j.string().describe("MCP 工具名称"),args:j.record(j.string(),j.any()).describe("工具参数,JSON 对象格式")})).describe("要执行的 MCP 工具列表")}),m7=R1({name:"execute_mcp_tool",description:`执行一个或多个 MCP 工具。
29
+ 重要:工具列表是动态的,建议在需要时调用此命令获取最新信息。`,parameters:m7.shape,handler:N1.waitForUIDone,render(X){let J=X.output,Y=typeof J==="string"?J:"",K=null;try{K=JSON.parse(Y)}catch(Q){}let Z=Array.isArray(K?.tools)?K.tools:[],W=Array.isArray(K?.status?.servers)?K.status.servers.filter((Q)=>typeof Q==="string"):[],G=typeof K?.status?.toolCount==="number"?K.status.toolCount:void 0;return L1.jsxDEV(A,{flexDirection:"column",children:[L1.jsxDEV(A,{children:L1.jsxDEV(O,{color:"blue",bold:!0,children:"load_mcp_tools"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K?.status&&L1.jsxDEV(A,{flexDirection:"column",marginTop:1,children:[L1.jsxDEV(O,{color:"green",children:"✓ MCP 已连接"},void 0,!1,void 0,this),W.length>0&&L1.jsxDEV(A,{marginLeft:2,children:L1.jsxDEV(O,{color:"gray",children:["服务器: ",W.join(", ")]},void 0,!0,void 0,this)},void 0,!1,void 0,this),G!==void 0&&L1.jsxDEV(A,{marginLeft:2,children:L1.jsxDEV(O,{color:"gray",children:["工具数量: ",G]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z.length>0&&L1.jsxDEV(A,{flexDirection:"column",marginTop:1,children:[L1.jsxDEV(O,{color:"gray",dimColor:!0,children:["可用工具 (",Z.length,"):"]},void 0,!0,void 0,this),Z.slice(0,5).map((Q,H)=>{let z=typeof Q?.name==="string"?Q.name:String(Q?.name??""),q=typeof Q?.description==="string"?Q.description:"";return L1.jsxDEV(A,{marginLeft:2,children:[L1.jsxDEV(O,{color:"cyan",children:z},void 0,!1,void 0,this),q&&L1.jsxDEV(O,{color:"gray",dimColor:!0,children:[" ","- ",q.slice(0,50),q.length>50?"...":""]},void 0,!0,void 0,this)]},H,!0,void 0,this)}),Z.length>5&&L1.jsxDEV(A,{marginLeft:2,children:L1.jsxDEV(O,{color:"gray",dimColor:!0,children:["... 还有 ",Z.length-5," 个工具"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&L1.jsxDEV(q4,{content:Y,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var l1=M(v(),1),p7=x.object({commands:x.array(x.object({name:x.string().describe("MCP 工具名称"),args:x.record(x.string(),x.any()).describe("工具参数,JSON 对象格式")})).describe("要执行的 MCP 工具列表")}),J8=O1({name:"execute_mcp_tool",description:`执行一个或多个 MCP 工具。
75
30
 
76
31
  使用格式:
77
32
  - commands: MCP 工具数组,每个工具包含 name 和 args
@@ -83,107 +38,95 @@ ${U.selected.join(`
83
38
  重要:
84
39
  - 所有工具独立执行,失败不影响其他工具
85
40
  - 返回结果按命令顺序排列
86
- - 适合批量执行 MCP 相关操作`,parameters:EW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output,Y=typeof X==="string"?X:"",J=null;try{J=JSON.parse(Y)}catch(K){}let W=Array.isArray(Z?.commands)?Z.commands:[];return z0.jsxDEV(w,{flexDirection:"column",children:[z0.jsxDEV(w,{children:z0.jsxDEV(N,{color:"blue",bold:!0,children:"execute_mcp_tool"},void 0,!1,void 0,this)},void 0,!1,void 0,this),W.length>0&&z0.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[z0.jsxDEV(N,{color:"gray",dimColor:!0,children:["执行 ",W.length," 个 MCP 工具:"]},void 0,!0,void 0,this),W.map((K,Q)=>{let z=K&&typeof K==="object"&&typeof K.name==="string"?K.name:String(K?.name??"");return z0.jsxDEV(w,{marginLeft:2,children:[z0.jsxDEV(N,{color:"yellow",children:[Q+1,"."]},void 0,!0,void 0,this),z0.jsxDEV(N,{color:"cyan",children:z},void 0,!1,void 0,this)]},Q,!0,void 0,this)})]},void 0,!0,void 0,this),Array.isArray(J?.results)&&z0.jsxDEV(w,{flexDirection:"column",marginTop:1,children:J.results.map((K,Q)=>z0.jsxDEV(w,{marginLeft:2,children:K?.error?z0.jsxDEV(N,{color:"red",children:["✗ ",typeof K.tool==="string"?K.tool:""]},void 0,!0,void 0,this):z0.jsxDEV(N,{color:"green",children:["✓ ",typeof K.tool==="string"?K.tool:""]},void 0,!0,void 0,this)},Q,!1,void 0,this))},void 0,!1,void 0,this),Y&&z0.jsxDEV(w$,{content:Y,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var A0=B(V(),1),vW=j.object({task_id:j.string().optional().describe("The task id to ask the subagent"),subagent_id:j.string().describe("The id of subagent to use"),subagent_type:j.string().describe("The type of subagent to use (general-purpose, statusline-setup, output-style-setup)"),task_description:j.string().describe("Describe what you want the subagent to do"),data_transfer:j.any().optional().describe("Data to transfer to the subagent")}),_W=({tool:$})=>{let Z=$.getInputRepaired(),X=typeof Z?.subagent_id==="string"?Z.subagent_id:String(Z?.subagent_id??""),Y=Z?.task_description,J=Y?Y.slice(0,50):"",W=Y&&Y.length>50;return A0.jsxDEV(w,{paddingX:1,flexDirection:"column",children:[A0.jsxDEV(w,{children:[A0.jsxDEV(N,{color:"yellow",children:"Task "},void 0,!1,void 0,this),A0.jsxDEV(N,{dimColor:!0,children:"→ "},void 0,!1,void 0,this),A0.jsxDEV(N,{color:"cyan",children:["@",X]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),A0.jsxDEV(w,{children:[A0.jsxDEV(N,{dimColor:!0,children:" "},void 0,!1,void 0,this),A0.jsxDEV(N,{color:"gray",italic:!0,children:[J,W&&A0.jsxDEV(N,{color:"dim",children:"..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},fW=({tool:$})=>{return A0.jsxDEV(w,{flexDirection:"column",children:A0.jsxDEV(_W,{tool:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},x7=R1({name:"task",description:"Launch a subagent to handle complex tasks autonomously",parameters:vW.shape,handler:T1.waitForUIDone,render($){return A0.jsxDEV(fW,{tool:$},void 0,!1,void 0,this)}});var u7=[C7,A7,T7,I7,j7,E7,v7,_7,h7,g7,m7,x7];var V1=B(e(),1);var v=B(V(),1),hW=({validation:$,onComplete:Z})=>{let{config:X,updateConfig:Y}=p1(),[J,W]=V1.useState("welcome"),[K,Q]=V1.useState(!1),[z,G]=V1.useState(null),[O,H]=V1.useState(0),[U,M]=V1.useState(null),A=V1.useRef(!0),F=V1.useRef([]),P=V1.useRef(O),S=X?.providers||[];V1.useEffect(()=>{F.current=S},[S]),V1.useEffect(()=>{P.current=O},[O]);let T=S[O],p=V1.useCallback(()=>M(null),[]);M0(p,U?3000:null);let f=V1.useCallback(()=>{A.current=!0,G(null),Q(!0),M(null)},[]),a=V1.useCallback(()=>{let E=F.current,n=P.current,Q1=E[n];if(!Q1)return;A.current=!1,G(Q1),Q(!0),M(null)},[]),b=V1.useCallback(()=>{Q(!1),G(null),M(null)},[]),_=V1.useCallback(async(E)=>{let n=F.current,Q1=A.current,a1=Q1?[...n,E]:n.map((Y0)=>Y0.id===E.id?E:Y0);if(await Y({providers:a1}),M(Q1?`已添加 Provider: ${E.id}`:`已更新 Provider: ${E.id}`),Q1){let Y0=a1.findIndex((D4)=>D4.id===E.id);H(Y0>=0?Y0:0)}b()},[Y,b]),Z1=V1.useCallback(()=>{if(!T||!T.apiKey){M("请先配置 Provider 的 API Key");return}Y({provider_id:T.id,provider_type:T.type}).then(()=>{W("model")})},[T,Y]);if(b0((E,n)=>{if(n.return||E===" ")W("provider")},{isActive:J==="welcome"}),b0((E,n)=>{if(K)return;if(n.upArrow)H((Q1)=>Q1>0?Q1-1:S.length-1);else if(n.downArrow)H((Q1)=>Q1<S.length-1?Q1+1:0);else if(E==="n"||E==="N")f();else if((E==="e"||E==="E"||n.return)&&T)a();else if(E==="s"||E==="S")Z1()},{isActive:J==="provider"}),J==="welcome")return v.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,width:"100%",children:[v.jsxDEV(w,{marginBottom:1,children:v.jsxDEV(N,{bold:!0,color:"cyan",children:"欢迎使用 Zen Code"},void 0,!1,void 0,this)},void 0,!1,void 0,this),v.jsxDEV(w,{marginBottom:1,children:v.jsxDEV(N,{color:"yellow",children:$.reason||"需要进行初始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),v.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[v.jsxDEV(N,{dimColor:!0,children:"接下来将引导你完成:"},void 0,!1,void 0,this),v.jsxDEV(N,{dimColor:!0,children:" 1. 配置 Provider(API 服务提供商)"},void 0,!1,void 0,this),v.jsxDEV(N,{dimColor:!0,children:" 2. 选择 Model(AI 模型)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v.jsxDEV(w,{children:v.jsxDEV(N,{color:"green",bold:!0,children:"按 Enter 开始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(J==="provider")return v.jsxDEV(w,{flexDirection:"column",width:"100%",children:[v.jsxDEV(w,{paddingX:2,paddingY:1,children:v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 1/2: Provider 配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K?v.jsxDEV(p7,{provider:z||void 0,onCancel:b,onSave:_},void 0,!1,void 0,this):v.jsxDEV(v.Fragment,{children:v.jsxDEV(w,{flexDirection:"column",paddingX:2,gap:1,children:[S.length===0?v.jsxDEV(w,{paddingY:1,children:v.jsxDEV(N,{color:"yellow",children:"未配置任何 Provider,请按 'n' 新增"},void 0,!1,void 0,this)},void 0,!1,void 0,this):S.map((E,n)=>{let Q1=!!E.apiKey,a1=Q1?"green":"yellow";return v.jsxDEV(w,{marginBottom:0,gap:1,children:[v.jsxDEV(N,{color:n===O?"cyan":"gray",bold:n===O,children:n===O?">":" "},void 0,!1,void 0,this),v.jsxDEV(N,{bold:n===O,color:n===O?"cyan":void 0,children:E.id},void 0,!1,void 0,this),v.jsxDEV(N,{color:"gray",dimColor:n!==O,children:[" ",E.type]},void 0,!0,void 0,this),v.jsxDEV(N,{color:a1,dimColor:n!==O,children:[" ","[",Q1?"已配置":"未配置","]"]},void 0,!0,void 0,this)]},E.id,!0,void 0,this)}),v.jsxDEV(w,{marginTop:1,children:[v.jsxDEV(N,{color:"gray",dimColor:!0,children:[v.jsxDEV(N,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",v.jsxDEV(N,{color:"cyan",children:"n"},void 0,!1,void 0,this)," 新增"," ",v.jsxDEV(N,{color:"cyan",children:"e/Enter"},void 0,!1,void 0,this)," 编辑"," "]},void 0,!0,void 0,this),S.some((E)=>E.apiKey)&&v.jsxDEV(N,{children:[v.jsxDEV(N,{color:"green",children:"s"},void 0,!1,void 0,this)," 下一步"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),U&&v.jsxDEV(w,{paddingX:2,paddingY:0,children:v.jsxDEV(N,{color:"green",children:U},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(J==="model")return v.jsxDEV(gW,{onComplete:Z,onBack:()=>W("provider")},void 0,!1,void 0,this);return null},gW=({onComplete:$,onBack:Z})=>{let{config:X,updateConfig:Y}=p1(),[J,W]=V1.useState(0),K=V1.useMemo(()=>{return X?.providers.find((H)=>H.id===X.provider_id)||null},[X?.providers,X?.provider_id]),{data:Q=[],isLoading:z,error:G}=c7({provider:K,enabled:!!K?.apiKey}),O=Q[J];if(b0((H,U)=>{if(U.upArrow)W((M)=>M>0?M-1:Q.length-1);else if(U.downArrow)W((M)=>M<Q.length-1?M+1:0);else if(U.escape||H==="b"||H==="B")Z();else if((U.return||H===" ")&&O)Y({model_id:O.id}).then(()=>{$()})},{isActive:!z&&!G&&X!==null}),z)return v.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,children:[v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,children:v.jsxDEV(N,{color:"gray",children:"加载模型列表中..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(G)return v.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,children:[v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,children:v.jsxDEV(N,{color:"red",children:["加载失败: ",G.message]},void 0,!0,void 0,this)},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,children:v.jsxDEV(N,{color:"gray",dimColor:!0,children:["按 ",v.jsxDEV(N,{color:"cyan",children:"Esc"},void 0,!1,void 0,this)," 返回上一步"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return v.jsxDEV(w,{flexDirection:"column",width:"100%",children:[v.jsxDEV(w,{paddingX:2,paddingY:1,children:[v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),K&&v.jsxDEV(N,{dimColor:!0,children:[" ","- ",K.id," (",K.type,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),v.jsxDEV(w,{flexDirection:"column",paddingX:2,gap:0,children:Q.map((H,U)=>v.jsxDEV(w,{marginBottom:0,gap:1,children:[v.jsxDEV(N,{color:U===J?"cyan":"gray",bold:U===J,children:U===J?">":" "},void 0,!1,void 0,this),v.jsxDEV(N,{bold:U===J,color:U===J?"cyan":void 0,children:H.id},void 0,!1,void 0,this),H.name!==H.id&&v.jsxDEV(N,{dimColor:U!==J,children:["(",H.name,")"]},void 0,!0,void 0,this)]},H.id,!0,void 0,this))},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,paddingX:2,children:v.jsxDEV(N,{color:"gray",dimColor:!0,children:[v.jsxDEV(N,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",v.jsxDEV(N,{color:"cyan",children:"Enter/Space"},void 0,!1,void 0,this)," 确认"," ",v.jsxDEV(N,{color:"cyan",children:"Esc/B"},void 0,!1,void 0,this)," 返回"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},d7=hW;var A$=B(V(),1),mW=({children:$})=>{let{extraParams:Z,toggleCompactMode:X,config:Y}=p1(),{setTools:J,loading:W}=d1(),{hasPendingInteractions:K}=S0();r5({tools:u7,setTools:J});let{needsSetup:Q,validation:z}=t5({config:Y});$7({shouldFocus:!W});let G=Z7(),{isChatView:O}=G;if(b0((U,M)=>{if(M.ctrl&&U==="o"&&O&&!W)X();else if(M.ctrl&&U==="z"&&globalThis.Bun)import("v8").then((A)=>{A.writeHeapSnapshot("my-application.heapsnapshot")})},{isActive:O}),Q&&z)return A$.jsxDEV(w1,{name:"SetupWizard",fallback:null,children:A$.jsxDEV(d7,{validation:z,onComplete:G.closePanel},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H={activeView:G.activeView,isChatView:G.isChatView,switchToHistory:G.switchToHistory,switchToKnowledge:G.switchToKnowledge,switchToSettings:G.switchToSettings,switchToModelProvider:G.switchToModelProvider,switchToAgent:G.switchToAgent,switchToMcp:G.switchToMcp,switchToProcess:G.switchToProcess,switchToErrors:G.switchToErrors,closePanel:G.closePanel,hasPendingInteractions:K};return A$.jsxDEV(w1,{name:"ChatPanelContext",fallback:null,children:A$.jsxDEV(Y7,{value:H,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},l7=({children:$})=>{return A$.jsxDEV(mW,{children:$},void 0,!1,void 0,this)};var S9=B(e(),1);var H8=B(e(),1);var G4=B(V(),1),xW=({content:$,messageNumber:Z})=>{let X=i7(),Y=()=>{if(typeof $==="string")return G4.jsxDEV(N,{color:"white",children:$},void 0,!1,void 0,this);if(Array.isArray($))return $.filter((J)=>J.type==="text").map((J,W)=>G4.jsxDEV(N,{color:"white",children:J.text},void 0,!1,void 0,this));return G4.jsxDEV(N,{color:"white",children:JSON.stringify($)},void 0,!1,void 0,this)};return G4.jsxDEV(w,{flexDirection:"column",children:[G4.jsxDEV(w,{children:G4.jsxDEV(N,{color:o4("amber"),children:[Z," ",X]},void 0,!0,void 0,this)},void 0,!1,void 0,this),G4.jsxDEV(w,{children:G4.jsxDEV(N,{color:"gray",children:["└─ ",Y()]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},Z8=xW;var g=B(SK(),1);function M6(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var r4=M6();function e7($){r4=$}var qZ={exec:()=>null};function K1($,Z=""){let X=typeof $=="string"?$:$.source,Y={replace:(J,W)=>{let K=typeof W=="string"?W:W.source;return K=K.replace(e1.caret,"$1"),X=X.replace(J,K),Y},getRegex:()=>new RegExp(X,Z)};return Y}var uW=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),e1={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:($)=>new RegExp(`^( {0,3}${$})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}#`),htmlBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}<(?:[a-z].*>|!--)`,"i")},cW=/^(?:[ \t]*(?:\n|$))+/,pW=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,dW=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,AZ=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,lW=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,q6=/(?:[*+-]|\d{1,9}[.)])/,$X=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ZX=K1($X).replace(/bull/g,q6).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),iW=K1($X).replace(/bull/g,q6).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),A6=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,oW=/^[^\n]+/,F6=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,nW=K1(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",F6).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),rW=K1(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,q6).getRegex(),K8="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",C6=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,aW=K1("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",C6).replace("tag",K8).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XX=K1(A6).replace("hr",AZ).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",K8).getRegex(),sW=K1(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XX).getRegex(),B6={blockquote:sW,code:pW,def:nW,fences:dW,heading:lW,hr:AZ,html:aW,lheading:ZX,list:rW,newline:cW,paragraph:XX,table:qZ,text:oW},o7=K1("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",AZ).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",K8).getRegex(),tW={...B6,lheading:iW,table:o7,paragraph:K1(A6).replace("hr",AZ).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",o7).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",K8).getRegex()},eW={...B6,html:K1(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",C6).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:qZ,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:K1(A6).replace("hr",AZ).replace("heading",` *#{1,6} *[^
87
- ]`).replace("lheading",ZX).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},$K=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ZK=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,YX=/^( {2,}|\\)\n(?!\s*$)/,XK=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Q8=/[\p{P}\p{S}]/u,P6=/[\s\p{P}\p{S}]/u,JX=/[^\s\p{P}\p{S}]/u,YK=K1(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,P6).getRegex(),WX=/(?!~)[\p{P}\p{S}]/u,JK=/(?!~)[\s\p{P}\p{S}]/u,WK=/(?:[^\s\p{P}\p{S}]|~)/u,KK=K1(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",uW?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),KX=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,QK=K1(KX,"u").replace(/punct/g,Q8).getRegex(),zK=K1(KX,"u").replace(/punct/g,WX).getRegex(),QX="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",GK=K1(QX,"gu").replace(/notPunctSpace/g,JX).replace(/punctSpace/g,P6).replace(/punct/g,Q8).getRegex(),OK=K1(QX,"gu").replace(/notPunctSpace/g,WK).replace(/punctSpace/g,JK).replace(/punct/g,WX).getRegex(),HK=K1("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,JX).replace(/punctSpace/g,P6).replace(/punct/g,Q8).getRegex(),NK=K1(/\\(punct)/,"gu").replace(/punct/g,Q8).getRegex(),UK=K1(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[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])?)+(?![-_])/).getRegex(),wK=K1(C6).replace("(?:-->|$)","-->").getRegex(),MK=K1("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",wK).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Y8=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,qK=K1(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Y8).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),zX=K1(/^!?\[(label)\]\[(ref)\]/).replace("label",Y8).replace("ref",F6).getRegex(),GX=K1(/^!?\[(ref)\](?:\[\])?/).replace("ref",F6).getRegex(),AK=K1("reflink|nolink(?!\\()","g").replace("reflink",zX).replace("nolink",GX).getRegex(),n7=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,L6={_backpedal:qZ,anyPunctuation:NK,autolink:UK,blockSkip:KK,br:YX,code:ZK,del:qZ,emStrongLDelim:QK,emStrongRDelimAst:GK,emStrongRDelimUnd:HK,escape:$K,link:qK,nolink:GX,punctuation:YK,reflink:zX,reflinkSearch:AK,tag:MK,text:XK,url:qZ},FK={...L6,link:K1(/^!?\[(label)\]\((.*?)\)/).replace("label",Y8).getRegex(),reflink:K1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Y8).getRegex()},w6={...L6,emStrongRDelimAst:OK,emStrongLDelim:zK,url:K1(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",n7).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:K1(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",n7).getRegex()},CK={...w6,br:K1(YX).replace("{2,}","*").getRegex(),text:K1(w6.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},X8={normal:B6,gfm:tW,pedantic:eW},UZ={normal:L6,gfm:w6,breaks:CK,pedantic:FK},BK={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},r7=($)=>BK[$];function a0($,Z){if(Z){if(e1.escapeTest.test($))return $.replace(e1.escapeReplace,r7)}else if(e1.escapeTestNoEncode.test($))return $.replace(e1.escapeReplaceNoEncode,r7);return $}function a7($){try{$=encodeURI($).replace(e1.percentDecode,"%")}catch{return null}return $}function s7($,Z){let X=$.replace(e1.findPipe,(W,K,Q)=>{let z=!1,G=K;for(;--G>=0&&Q[G]==="\\";)z=!z;return z?"|":" |"}),Y=X.split(e1.splitPipe),J=0;if(Y[0].trim()||Y.shift(),Y.length>0&&!Y.at(-1)?.trim()&&Y.pop(),Z)if(Y.length>Z)Y.splice(Z);else for(;Y.length<Z;)Y.push("");for(;J<Y.length;J++)Y[J]=Y[J].trim().replace(e1.slashPipe,"|");return Y}function wZ($,Z,X){let Y=$.length;if(Y===0)return"";let J=0;for(;J<Y;){let W=$.charAt(Y-J-1);if(W===Z&&!X)J++;else if(W!==Z&&X)J++;else break}return $.slice(0,Y-J)}function PK($,Z){if($.indexOf(Z[1])===-1)return-1;let X=0;for(let Y=0;Y<$.length;Y++)if($[Y]==="\\")Y++;else if($[Y]===Z[0])X++;else if($[Y]===Z[1]&&(X--,X<0))return Y;return X>0?-2:-1}function t7($,Z,X,Y,J){let W=Z.href,K=Z.title||null,Q=$[1].replace(J.other.outputLinkReplace,"$1");Y.state.inLink=!0;let z={type:$[0].charAt(0)==="!"?"image":"link",raw:X,href:W,title:K,text:Q,tokens:Y.inlineTokens(Q)};return Y.state.inLink=!1,z}function LK($,Z,X){let Y=$.match(X.other.indentCodeCompensation);if(Y===null)return Z;let J=Y[1];return Z.split(`
88
- `).map((W)=>{let K=W.match(X.other.beginningSpace);if(K===null)return W;let[Q]=K;return Q.length>=J.length?W.slice(J.length):W}).join(`
89
- `)}var J8=class{options;rules;lexer;constructor($){this.options=$||r4}space($){let Z=this.rules.block.newline.exec($);if(Z&&Z[0].length>0)return{type:"space",raw:Z[0]}}code($){let Z=this.rules.block.code.exec($);if(Z){let X=Z[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:Z[0],codeBlockStyle:"indented",text:this.options.pedantic?X:wZ(X,`
90
- `)}}}fences($){let Z=this.rules.block.fences.exec($);if(Z){let X=Z[0],Y=LK(X,Z[3]||"",this.rules);return{type:"code",raw:X,lang:Z[2]?Z[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):Z[2],text:Y}}}heading($){let Z=this.rules.block.heading.exec($);if(Z){let X=Z[2].trim();if(this.rules.other.endingHash.test(X)){let Y=wZ(X,"#");(this.options.pedantic||!Y||this.rules.other.endingSpaceChar.test(Y))&&(X=Y.trim())}return{type:"heading",raw:Z[0],depth:Z[1].length,text:X,tokens:this.lexer.inline(X)}}}hr($){let Z=this.rules.block.hr.exec($);if(Z)return{type:"hr",raw:wZ(Z[0],`
91
- `)}}blockquote($){let Z=this.rules.block.blockquote.exec($);if(Z){let X=wZ(Z[0],`
41
+ - 适合批量执行 MCP 相关操作`,parameters:p7.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),Y=X.output,K=typeof Y==="string"?Y:"",Z=null;try{Z=JSON.parse(K)}catch(G){}let W=Array.isArray(J?.commands)?J.commands:[];return l1.jsxDEV(A,{flexDirection:"column",children:[l1.jsxDEV(A,{children:l1.jsxDEV(O,{color:"blue",bold:!0,children:"execute_mcp_tool"},void 0,!1,void 0,this)},void 0,!1,void 0,this),W.length>0&&l1.jsxDEV(A,{flexDirection:"column",marginTop:1,children:[l1.jsxDEV(O,{color:"gray",dimColor:!0,children:["执行 ",W.length," 个 MCP 工具:"]},void 0,!0,void 0,this),W.map((G,Q)=>{let H=G&&typeof G==="object"&&typeof G.name==="string"?G.name:String(G?.name??"");return l1.jsxDEV(A,{marginLeft:2,children:[l1.jsxDEV(O,{color:"yellow",children:[Q+1,"."]},void 0,!0,void 0,this),l1.jsxDEV(O,{color:"cyan",children:H},void 0,!1,void 0,this)]},Q,!0,void 0,this)})]},void 0,!0,void 0,this),Array.isArray(Z?.results)&&l1.jsxDEV(A,{flexDirection:"column",marginTop:1,children:Z.results.map((G,Q)=>l1.jsxDEV(A,{marginLeft:2,children:G?.error?l1.jsxDEV(O,{color:"red",children:["✗ ",typeof G.tool==="string"?G.tool:""]},void 0,!0,void 0,this):l1.jsxDEV(O,{color:"green",children:["✓ ",typeof G.tool==="string"?G.tool:""]},void 0,!0,void 0,this)},Q,!1,void 0,this))},void 0,!1,void 0,this),K&&l1.jsxDEV(q4,{content:K,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var n1=M(v(),1),c7=x.object({task_id:x.string().optional().describe("The task id to ask the subagent"),subagent_id:x.string().describe("The id of subagent to use"),subagent_type:x.string().describe("The type of subagent to use (general-purpose, statusline-setup, output-style-setup)"),task_description:x.string().describe("Describe what you want the subagent to do"),data_transfer:x.any().optional().describe("Data to transfer to the subagent")}),l7=({tool:X})=>{let J=X.getInputRepaired(),Y=typeof J?.subagent_id==="string"?J.subagent_id:String(J?.subagent_id??""),K=J?.task_description,Z=K?K.slice(0,50):"",W=K&&K.length>50;return n1.jsxDEV(A,{paddingX:1,flexDirection:"column",children:[n1.jsxDEV(A,{children:[n1.jsxDEV(O,{color:"yellow",children:"Task "},void 0,!1,void 0,this),n1.jsxDEV(O,{dimColor:!0,children:"→ "},void 0,!1,void 0,this),n1.jsxDEV(O,{color:"cyan",children:["@",Y]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),n1.jsxDEV(A,{children:[n1.jsxDEV(O,{dimColor:!0,children:" "},void 0,!1,void 0,this),n1.jsxDEV(O,{color:"gray",italic:!0,children:[Z,W&&n1.jsxDEV(O,{color:"dim",children:"..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},x7=({tool:X})=>{return n1.jsxDEV(A,{flexDirection:"column",children:n1.jsxDEV(l7,{tool:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)},Y8=O1({name:"task",description:"Launch a subagent to handle complex tasks autonomously",parameters:c7.shape,handler:N1.waitForUIDone,render(X){return n1.jsxDEV(x7,{tool:X},void 0,!1,void 0,this)}});var l0=M(v(),1),K8=O1({name:"web_fetch",description:"Fetch and extract readable content from one or more URLs.",parameters:Z8.shape,handler:N1.waitForUIDone,render(X){let J=X.getInputRepaired(),Y=X.output,K=Array.isArray(J?.urls)?J.urls:[],Z=K.length===1?K[0]:`${K.length} URLs`,W=typeof Z==="string"&&Z.length>60?Z.substring(0,60)+"...":Z,G=typeof Y==="string"?Y:"",Q=G.length;return l0.jsxDEV(A,{flexDirection:"column",paddingX:1,children:l0.jsxDEV(A,{children:[l0.jsxDEV(O,{color:"green",children:"Fetch "},void 0,!1,void 0,this),l0.jsxDEV(O,{dimColor:!0,children:"("},void 0,!1,void 0,this),l0.jsxDEV(O,{color:"cyan",children:W},void 0,!1,void 0,this),l0.jsxDEV(O,{dimColor:!0,children:")"},void 0,!1,void 0,this),G?l0.jsxDEV(O,{color:"gray",dimColor:!0,children:[" ","(",Q," chars)"]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var W8=[h6,E6,d6,r6,i6,a6,s6,t6,$8,X8,J8,Y8,K8];var A1=M(o(),1);var j=M(v(),1),d7=({validation:X,onComplete:J})=>{let{config:Y,updateConfig:K}=T1(),[Z,W]=A1.useState("welcome"),[G,Q]=A1.useState(!1),[H,z]=A1.useState(null),[q,U]=A1.useState(0),[N,w]=A1.useState(null),F=A1.useRef(!0),R=A1.useRef([]),B=A1.useRef(q),L=Y?.providers||[];A1.useEffect(()=>{R.current=L},[L]),A1.useEffect(()=>{B.current=q},[q]);let k=L[q],D=A1.useCallback(()=>w(null),[]);o1(D,N?3000:null);let S=A1.useCallback(()=>{F.current=!0,z(null),Q(!0),w(null)},[]),V=A1.useCallback(()=>{let u=R.current,E=B.current,r=u[E];if(!r)return;F.current=!1,z(r),Q(!0),w(null)},[]),T=A1.useCallback(()=>{Q(!1),z(null),w(null)},[]),_=A1.useCallback(async(u)=>{let E=R.current,r=F.current,V1=r?[...E,u]:E.map((F1)=>F1.id===u.id?u:F1);if(await K({providers:V1}),w(r?`已添加 Provider: ${u.id}`:`已更新 Provider: ${u.id}`),r){let F1=V1.findIndex((K0)=>K0.id===u.id);U(F1>=0?F1:0)}T()},[K,T]),n=A1.useCallback(()=>{if(!k||!k.apiKey){w("请先配置 Provider 的 API Key");return}K({provider_id:k.id,provider_type:k.type}).then(()=>{W("model")})},[k,K]);if(X0((u,E)=>{if(E.return||u===" ")W("provider")},{isActive:Z==="welcome"}),X0((u,E)=>{if(G)return;if(E.upArrow)U((r)=>r>0?r-1:L.length-1);else if(E.downArrow)U((r)=>r<L.length-1?r+1:0);else if(u==="n"||u==="N")S();else if((u==="e"||u==="E"||E.return)&&k)V();else if(u==="s"||u==="S")n()},{isActive:Z==="provider"}),Z==="welcome")return j.jsxDEV(A,{flexDirection:"column",paddingX:2,paddingY:1,width:"100%",children:[j.jsxDEV(A,{marginBottom:1,children:j.jsxDEV(O,{bold:!0,color:"cyan",children:"欢迎使用 Zen Code"},void 0,!1,void 0,this)},void 0,!1,void 0,this),j.jsxDEV(A,{marginBottom:1,children:j.jsxDEV(O,{color:"yellow",children:X.reason||"需要进行初始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),j.jsxDEV(A,{flexDirection:"column",marginBottom:1,children:[j.jsxDEV(O,{dimColor:!0,children:"接下来将引导你完成:"},void 0,!1,void 0,this),j.jsxDEV(O,{dimColor:!0,children:" 1. 配置 Provider(API 服务提供商)"},void 0,!1,void 0,this),j.jsxDEV(O,{dimColor:!0,children:" 2. 选择 Model(AI 模型)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),j.jsxDEV(A,{children:j.jsxDEV(O,{color:"green",bold:!0,children:"按 Enter 开始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(Z==="provider")return j.jsxDEV(A,{flexDirection:"column",width:"100%",children:[j.jsxDEV(A,{paddingX:2,paddingY:1,children:j.jsxDEV(O,{bold:!0,color:"cyan",children:"步骤 1/2: Provider 配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),G?j.jsxDEV(Q8,{provider:H||void 0,onCancel:T,onSave:_},void 0,!1,void 0,this):j.jsxDEV(j.Fragment,{children:j.jsxDEV(A,{flexDirection:"column",paddingX:2,gap:1,children:[L.length===0?j.jsxDEV(A,{paddingY:1,children:j.jsxDEV(O,{color:"yellow",children:"未配置任何 Provider,请按 'n' 新增"},void 0,!1,void 0,this)},void 0,!1,void 0,this):L.map((u,E)=>{let r=!!u.apiKey,V1=r?"green":"yellow";return j.jsxDEV(A,{marginBottom:0,gap:1,children:[j.jsxDEV(O,{color:E===q?"cyan":"gray",bold:E===q,children:E===q?">":" "},void 0,!1,void 0,this),j.jsxDEV(O,{bold:E===q,color:E===q?"cyan":void 0,children:u.id},void 0,!1,void 0,this),j.jsxDEV(O,{color:"gray",dimColor:E!==q,children:[" ",u.type]},void 0,!0,void 0,this),j.jsxDEV(O,{color:V1,dimColor:E!==q,children:[" ","[",r?"已配置":"未配置","]"]},void 0,!0,void 0,this)]},u.id,!0,void 0,this)}),j.jsxDEV(A,{marginTop:1,children:[j.jsxDEV(O,{color:"gray",dimColor:!0,children:[j.jsxDEV(O,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",j.jsxDEV(O,{color:"cyan",children:"n"},void 0,!1,void 0,this)," 新增"," ",j.jsxDEV(O,{color:"cyan",children:"e/Enter"},void 0,!1,void 0,this)," 编辑"," "]},void 0,!0,void 0,this),L.some((u)=>u.apiKey)&&j.jsxDEV(O,{children:[j.jsxDEV(O,{color:"green",children:"s"},void 0,!1,void 0,this)," 下一步"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),N&&j.jsxDEV(A,{paddingX:2,paddingY:0,children:j.jsxDEV(O,{color:"green",children:N},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(Z==="model")return j.jsxDEV(r7,{onComplete:J,onBack:()=>W("provider")},void 0,!1,void 0,this);return null},r7=({onComplete:X,onBack:J})=>{let{config:Y,updateConfig:K}=T1(),[Z,W]=A1.useState(0),G=A1.useMemo(()=>{return Y?.providers.find((U)=>U.id===Y.provider_id)||null},[Y?.providers,Y?.provider_id]),{data:Q=[],isLoading:H,error:z}=G8({provider:G,enabled:!!G?.apiKey}),q=Q[Z];if(X0((U,N)=>{if(N.upArrow)W((w)=>w>0?w-1:Q.length-1);else if(N.downArrow)W((w)=>w<Q.length-1?w+1:0);else if(N.escape||U==="b"||U==="B")J();else if((N.return||U===" ")&&q)K({model_id:q.id}).then(()=>{X()})},{isActive:!H&&!z&&Y!==null}),H)return j.jsxDEV(A,{flexDirection:"column",paddingX:2,paddingY:1,children:[j.jsxDEV(O,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),j.jsxDEV(A,{marginTop:1,children:j.jsxDEV(O,{color:"gray",children:"加载模型列表中..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(z)return j.jsxDEV(A,{flexDirection:"column",paddingX:2,paddingY:1,children:[j.jsxDEV(O,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),j.jsxDEV(A,{marginTop:1,children:j.jsxDEV(O,{color:"red",children:["加载失败: ",z.message]},void 0,!0,void 0,this)},void 0,!1,void 0,this),j.jsxDEV(A,{marginTop:1,children:j.jsxDEV(O,{color:"gray",dimColor:!0,children:["按 ",j.jsxDEV(O,{color:"cyan",children:"Esc"},void 0,!1,void 0,this)," 返回上一步"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return j.jsxDEV(A,{flexDirection:"column",width:"100%",children:[j.jsxDEV(A,{paddingX:2,paddingY:1,children:[j.jsxDEV(O,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),G&&j.jsxDEV(O,{dimColor:!0,children:[" ","- ",G.id," (",G.type,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),j.jsxDEV(A,{flexDirection:"column",paddingX:2,gap:0,children:Q.map((U,N)=>j.jsxDEV(A,{marginBottom:0,gap:1,children:[j.jsxDEV(O,{color:N===Z?"cyan":"gray",bold:N===Z,children:N===Z?">":" "},void 0,!1,void 0,this),j.jsxDEV(O,{bold:N===Z,color:N===Z?"cyan":void 0,children:U.id},void 0,!1,void 0,this),U.name!==U.id&&j.jsxDEV(O,{dimColor:N!==Z,children:["(",U.name,")"]},void 0,!0,void 0,this)]},U.id,!0,void 0,this))},void 0,!1,void 0,this),j.jsxDEV(A,{marginTop:1,paddingX:2,children:j.jsxDEV(O,{color:"gray",dimColor:!0,children:[j.jsxDEV(O,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",j.jsxDEV(O,{color:"cyan",children:"Enter/Space"},void 0,!1,void 0,this)," 确认"," ",j.jsxDEV(O,{color:"cyan",children:"Esc/B"},void 0,!1,void 0,this)," 返回"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},H8=d7;var A4=M(v(),1),o7=({children:X})=>{let{extraParams:J,toggleCompactMode:Y,config:K}=T1(),{setTools:Z,loading:W}=y1(),{hasPendingInteractions:G}=$0();U6({tools:W8,setTools:Z});let{needsSetup:Q,validation:H}=w6({config:K});M6({shouldFocus:!W});let z=F6(),{isChatView:q}=z;if(X0((N,w)=>{if(w.ctrl&&N==="o"&&q&&!W)Y();else if(w.ctrl&&N==="z"&&globalThis.Bun)import("v8").then((F)=>{F.writeHeapSnapshot("my-application.heapsnapshot")})},{isActive:q}),Q&&H)return A4.jsxDEV(W1,{name:"SetupWizard",fallback:null,children:A4.jsxDEV(H8,{validation:H,onComplete:z.closePanel},void 0,!1,void 0,this)},void 0,!1,void 0,this);let U=O8.useMemo(()=>({activeView:z.activeView,isChatView:z.isChatView,switchToHistory:z.switchToHistory,switchToKnowledge:z.switchToKnowledge,switchToSettings:z.switchToSettings,switchToModelProvider:z.switchToModelProvider,switchToAgent:z.switchToAgent,switchToMcp:z.switchToMcp,switchToProcess:z.switchToProcess,switchToErrors:z.switchToErrors,switchToCron:z.switchToCron,closePanel:z.closePanel,hasPendingInteractions:G}),[z.activeView,z.isChatView,z.switchToHistory,z.switchToKnowledge,z.switchToSettings,z.switchToModelProvider,z.switchToAgent,z.switchToMcp,z.switchToProcess,z.switchToErrors,z.switchToCron,z.closePanel,G]);return A4.jsxDEV(W1,{name:"ChatPanelContext",fallback:null,children:A4.jsxDEV(B6,{value:U,children:X},void 0,!1,void 0,this)},void 0,!1,void 0,this)},z8=({children:X})=>{return A4.jsxDEV(o7,{children:X},void 0,!1,void 0,this)};var y9=M(o(),1);var o4=M(o(),1);var C0=M(v(),1),i7=({content:X,messageNumber:J})=>{let Y=q8(),K=()=>{if(typeof X==="string")return C0.jsxDEV(O,{color:"white",children:X},void 0,!1,void 0,this);if(Array.isArray(X))return X.map((Z,W)=>{if(Z.type==="text")return C0.jsxDEV(O,{color:"white",children:Z.text},W,!1,void 0,this);if(Z.type==="image")return C0.jsxDEV(O,{color:"cyan",children:["\uD83D\uDCCE [image/",Z.mime_type?.split("/")[1]??"png","]"]},W,!0,void 0,this);return null});return C0.jsxDEV(O,{color:"white",children:JSON.stringify(X)},void 0,!1,void 0,this)};return C0.jsxDEV(A,{flexDirection:"column",children:[C0.jsxDEV(A,{children:C0.jsxDEV(O,{color:e0("amber"),children:[J," ",Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this),C0.jsxDEV(A,{children:C0.jsxDEV(O,{color:"gray",children:["└─ ",K()]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},h4=i7;var h=M(DX(),1);function S$(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var X4=S$();function F8(X){X4=X}var L4={exec:()=>null};function e(X,J=""){let Y=typeof X=="string"?X:X.source,K={replace:(Z,W)=>{let G=typeof W=="string"?W:W.source;return G=G.replace(u1.caret,"$1"),Y=Y.replace(Z,G),K},getRegex:()=>new RegExp(Y,J)};return K}var n7=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),u1={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:(X)=>new RegExp(`^( {0,3}${X})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:(X)=>new RegExp(`^ {0,${Math.min(3,X-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:(X)=>new RegExp(`^ {0,${Math.min(3,X-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:(X)=>new RegExp(`^ {0,${Math.min(3,X-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:(X)=>new RegExp(`^ {0,${Math.min(3,X-1)}}#`),htmlBeginRegex:(X)=>new RegExp(`^ {0,${Math.min(3,X-1)}}<(?:[a-z].*>|!--)`,"i")},a7=/^(?:[ \t]*(?:\n|$))+/,s7=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,t7=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,v4=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,e7=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,k$=/(?:[*+-]|\d{1,9}[.)])/,P8=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,B8=e(P8).replace(/bull/g,k$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),$X=e(P8).replace(/bull/g,k$).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),T$=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,XX=/^[^\n]+/,y$=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,JX=e(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",y$).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),YX=e(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,k$).getRegex(),c4="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",I$=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,ZX=e("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",I$).replace("tag",c4).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),C8=e(T$).replace("hr",v4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",c4).getRegex(),KX=e(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",C8).getRegex(),V$={blockquote:KX,code:s7,def:JX,fences:t7,heading:e7,hr:v4,html:ZX,lheading:B8,list:YX,newline:a7,paragraph:C8,table:L4,text:XX},U8=e("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",v4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",c4).getRegex(),WX={...V$,lheading:$X,table:U8,paragraph:e(T$).replace("hr",v4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",U8).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",c4).getRegex()},GX={...V$,html:e(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",I$).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:L4,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:e(T$).replace("hr",v4).replace("heading",` *#{1,6} *[^
42
+ ]`).replace("lheading",B8).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},QX=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,HX=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,L8=/^( {2,}|\\)\n(?!\s*$)/,OX=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,l4=/[\p{P}\p{S}]/u,D$=/[\s\p{P}\p{S}]/u,v8=/[^\s\p{P}\p{S}]/u,zX=e(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,D$).getRegex(),b8=/(?!~)[\p{P}\p{S}]/u,qX=/(?!~)[\s\p{P}\p{S}]/u,UX=/(?:[^\s\p{P}\p{S}]|~)/u,NX=e(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",n7?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),S8=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,AX=e(S8,"u").replace(/punct/g,l4).getRegex(),wX=e(S8,"u").replace(/punct/g,b8).getRegex(),k8="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",RX=e(k8,"gu").replace(/notPunctSpace/g,v8).replace(/punctSpace/g,D$).replace(/punct/g,l4).getRegex(),MX=e(k8,"gu").replace(/notPunctSpace/g,UX).replace(/punctSpace/g,qX).replace(/punct/g,b8).getRegex(),FX=e("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,v8).replace(/punctSpace/g,D$).replace(/punct/g,l4).getRegex(),PX=e(/\\(punct)/,"gu").replace(/punct/g,l4).getRegex(),BX=e(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[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])?)+(?![-_])/).getRegex(),CX=e(I$).replace("(?:-->|$)","-->").getRegex(),LX=e("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",CX).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),g4=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,vX=e(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",g4).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),T8=e(/^!?\[(label)\]\[(ref)\]/).replace("label",g4).replace("ref",y$).getRegex(),y8=e(/^!?\[(ref)\](?:\[\])?/).replace("ref",y$).getRegex(),bX=e("reflink|nolink(?!\\()","g").replace("reflink",T8).replace("nolink",y8).getRegex(),N8=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,j$={_backpedal:L4,anyPunctuation:PX,autolink:BX,blockSkip:NX,br:L8,code:HX,del:L4,emStrongLDelim:AX,emStrongRDelimAst:RX,emStrongRDelimUnd:FX,escape:QX,link:vX,nolink:y8,punctuation:zX,reflink:T8,reflinkSearch:bX,tag:LX,text:OX,url:L4},SX={...j$,link:e(/^!?\[(label)\]\((.*?)\)/).replace("label",g4).getRegex(),reflink:e(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",g4).getRegex()},b$={...j$,emStrongRDelimAst:MX,emStrongLDelim:wX,url:e(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",N8).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:e(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",N8).getRegex()},kX={...b$,br:e(L8).replace("{2,}","*").getRegex(),text:e(b$.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},u4={normal:V$,gfm:WX,pedantic:GX},P4={normal:j$,gfm:b$,breaks:kX,pedantic:SX},TX={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},A8=(X)=>TX[X];function L0(X,J){if(J){if(u1.escapeTest.test(X))return X.replace(u1.escapeReplace,A8)}else if(u1.escapeTestNoEncode.test(X))return X.replace(u1.escapeReplaceNoEncode,A8);return X}function w8(X){try{X=encodeURI(X).replace(u1.percentDecode,"%")}catch{return null}return X}function R8(X,J){let Y=X.replace(u1.findPipe,(W,G,Q)=>{let H=!1,z=G;for(;--z>=0&&Q[z]==="\\";)H=!H;return H?"|":" |"}),K=Y.split(u1.splitPipe),Z=0;if(K[0].trim()||K.shift(),K.length>0&&!K.at(-1)?.trim()&&K.pop(),J)if(K.length>J)K.splice(J);else for(;K.length<J;)K.push("");for(;Z<K.length;Z++)K[Z]=K[Z].trim().replace(u1.slashPipe,"|");return K}function B4(X,J,Y){let K=X.length;if(K===0)return"";let Z=0;for(;Z<K;){let W=X.charAt(K-Z-1);if(W===J&&!Y)Z++;else if(W!==J&&Y)Z++;else break}return X.slice(0,K-Z)}function yX(X,J){if(X.indexOf(J[1])===-1)return-1;let Y=0;for(let K=0;K<X.length;K++)if(X[K]==="\\")K++;else if(X[K]===J[0])Y++;else if(X[K]===J[1]&&(Y--,Y<0))return K;return Y>0?-2:-1}function M8(X,J,Y,K,Z){let W=J.href,G=J.title||null,Q=X[1].replace(Z.other.outputLinkReplace,"$1");K.state.inLink=!0;let H={type:X[0].charAt(0)==="!"?"image":"link",raw:Y,href:W,title:G,text:Q,tokens:K.inlineTokens(Q)};return K.state.inLink=!1,H}function IX(X,J,Y){let K=X.match(Y.other.indentCodeCompensation);if(K===null)return J;let Z=K[1];return J.split(`
43
+ `).map((W)=>{let G=W.match(Y.other.beginningSpace);if(G===null)return W;let[Q]=G;return Q.length>=Z.length?W.slice(Z.length):W}).join(`
44
+ `)}var m4=class{options;rules;lexer;constructor(X){this.options=X||X4}space(X){let J=this.rules.block.newline.exec(X);if(J&&J[0].length>0)return{type:"space",raw:J[0]}}code(X){let J=this.rules.block.code.exec(X);if(J){let Y=J[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:J[0],codeBlockStyle:"indented",text:this.options.pedantic?Y:B4(Y,`
45
+ `)}}}fences(X){let J=this.rules.block.fences.exec(X);if(J){let Y=J[0],K=IX(Y,J[3]||"",this.rules);return{type:"code",raw:Y,lang:J[2]?J[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):J[2],text:K}}}heading(X){let J=this.rules.block.heading.exec(X);if(J){let Y=J[2].trim();if(this.rules.other.endingHash.test(Y)){let K=B4(Y,"#");(this.options.pedantic||!K||this.rules.other.endingSpaceChar.test(K))&&(Y=K.trim())}return{type:"heading",raw:J[0],depth:J[1].length,text:Y,tokens:this.lexer.inline(Y)}}}hr(X){let J=this.rules.block.hr.exec(X);if(J)return{type:"hr",raw:B4(J[0],`
46
+ `)}}blockquote(X){let J=this.rules.block.blockquote.exec(X);if(J){let Y=B4(J[0],`
92
47
  `).split(`
93
- `),Y="",J="",W=[];for(;X.length>0;){let K=!1,Q=[],z;for(z=0;z<X.length;z++)if(this.rules.other.blockquoteStart.test(X[z]))Q.push(X[z]),K=!0;else if(!K)Q.push(X[z]);else break;X=X.slice(z);let G=Q.join(`
94
- `),O=G.replace(this.rules.other.blockquoteSetextReplace,`
95
- $1`).replace(this.rules.other.blockquoteSetextReplace2,"");Y=Y?`${Y}
96
- ${G}`:G,J=J?`${J}
97
- ${O}`:O;let H=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(O,W,!0),this.lexer.state.top=H,X.length===0)break;let U=W.at(-1);if(U?.type==="code")break;if(U?.type==="blockquote"){let M=U,A=M.raw+`
98
- `+X.join(`
99
- `),F=this.blockquote(A);W[W.length-1]=F,Y=Y.substring(0,Y.length-M.raw.length)+F.raw,J=J.substring(0,J.length-M.text.length)+F.text;break}else if(U?.type==="list"){let M=U,A=M.raw+`
100
- `+X.join(`
101
- `),F=this.list(A);W[W.length-1]=F,Y=Y.substring(0,Y.length-U.raw.length)+F.raw,J=J.substring(0,J.length-M.raw.length)+F.raw,X=A.substring(W.at(-1).raw.length).split(`
102
- `);continue}}return{type:"blockquote",raw:Y,tokens:W,text:J}}}list($){let Z=this.rules.block.list.exec($);if(Z){let X=Z[1].trim(),Y=X.length>1,J={type:"list",raw:"",ordered:Y,start:Y?+X.slice(0,-1):"",loose:!1,items:[]};X=Y?`\\d{1,9}\\${X.slice(-1)}`:`\\${X}`,this.options.pedantic&&(X=Y?X:"[*+-]");let W=this.rules.other.listItemRegex(X),K=!1;for(;$;){let z=!1,G="",O="";if(!(Z=W.exec($))||this.rules.block.hr.test($))break;G=Z[0],$=$.substring(G.length);let H=Z[2].split(`
103
- `,1)[0].replace(this.rules.other.listReplaceTabs,(S)=>" ".repeat(3*S.length)),U=$.split(`
104
- `,1)[0],M=!H.trim(),A=0;if(this.options.pedantic?(A=2,O=H.trimStart()):M?A=Z[1].length+1:(A=Z[2].search(this.rules.other.nonSpaceChar),A=A>4?1:A,O=H.slice(A),A+=Z[1].length),M&&this.rules.other.blankLine.test(U)&&(G+=U+`
105
- `,$=$.substring(U.length+1),z=!0),!z){let S=this.rules.other.nextBulletRegex(A),T=this.rules.other.hrRegex(A),p=this.rules.other.fencesBeginRegex(A),f=this.rules.other.headingBeginRegex(A),a=this.rules.other.htmlBeginRegex(A);for(;$;){let b=$.split(`
106
- `,1)[0],_;if(U=b,this.options.pedantic?(U=U.replace(this.rules.other.listReplaceNesting," "),_=U):_=U.replace(this.rules.other.tabCharGlobal," "),p.test(U)||f.test(U)||a.test(U)||S.test(U)||T.test(U))break;if(_.search(this.rules.other.nonSpaceChar)>=A||!U.trim())O+=`
107
- `+_.slice(A);else{if(M||H.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||p.test(H)||f.test(H)||T.test(H))break;O+=`
108
- `+U}!M&&!U.trim()&&(M=!0),G+=b+`
109
- `,$=$.substring(b.length+1),H=_.slice(A)}}J.loose||(K?J.loose=!0:this.rules.other.doubleBlankLine.test(G)&&(K=!0));let F=null,P;this.options.gfm&&(F=this.rules.other.listIsTask.exec(O),F&&(P=F[0]!=="[ ] ",O=O.replace(this.rules.other.listReplaceTask,""))),J.items.push({type:"list_item",raw:G,task:!!F,checked:P,loose:!1,text:O,tokens:[]}),J.raw+=G}let Q=J.items.at(-1);if(Q)Q.raw=Q.raw.trimEnd(),Q.text=Q.text.trimEnd();else return;J.raw=J.raw.trimEnd();for(let z=0;z<J.items.length;z++)if(this.lexer.state.top=!1,J.items[z].tokens=this.lexer.blockTokens(J.items[z].text,[]),!J.loose){let G=J.items[z].tokens.filter((H)=>H.type==="space"),O=G.length>0&&G.some((H)=>this.rules.other.anyLine.test(H.raw));J.loose=O}if(J.loose)for(let z=0;z<J.items.length;z++)J.items[z].loose=!0;return J}}html($){let Z=this.rules.block.html.exec($);if(Z)return{type:"html",block:!0,raw:Z[0],pre:Z[1]==="pre"||Z[1]==="script"||Z[1]==="style",text:Z[0]}}def($){let Z=this.rules.block.def.exec($);if(Z){let X=Z[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),Y=Z[2]?Z[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",J=Z[3]?Z[3].substring(1,Z[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):Z[3];return{type:"def",tag:X,raw:Z[0],href:Y,title:J}}}table($){let Z=this.rules.block.table.exec($);if(!Z||!this.rules.other.tableDelimiter.test(Z[2]))return;let X=s7(Z[1]),Y=Z[2].replace(this.rules.other.tableAlignChars,"").split("|"),J=Z[3]?.trim()?Z[3].replace(this.rules.other.tableRowBlankLine,"").split(`
110
- `):[],W={type:"table",raw:Z[0],header:[],align:[],rows:[]};if(X.length===Y.length){for(let K of Y)this.rules.other.tableAlignRight.test(K)?W.align.push("right"):this.rules.other.tableAlignCenter.test(K)?W.align.push("center"):this.rules.other.tableAlignLeft.test(K)?W.align.push("left"):W.align.push(null);for(let K=0;K<X.length;K++)W.header.push({text:X[K],tokens:this.lexer.inline(X[K]),header:!0,align:W.align[K]});for(let K of J)W.rows.push(s7(K,W.header.length).map((Q,z)=>({text:Q,tokens:this.lexer.inline(Q),header:!1,align:W.align[z]})));return W}}lheading($){let Z=this.rules.block.lheading.exec($);if(Z)return{type:"heading",raw:Z[0],depth:Z[2].charAt(0)==="="?1:2,text:Z[1],tokens:this.lexer.inline(Z[1])}}paragraph($){let Z=this.rules.block.paragraph.exec($);if(Z){let X=Z[1].charAt(Z[1].length-1)===`
111
- `?Z[1].slice(0,-1):Z[1];return{type:"paragraph",raw:Z[0],text:X,tokens:this.lexer.inline(X)}}}text($){let Z=this.rules.block.text.exec($);if(Z)return{type:"text",raw:Z[0],text:Z[0],tokens:this.lexer.inline(Z[0])}}escape($){let Z=this.rules.inline.escape.exec($);if(Z)return{type:"escape",raw:Z[0],text:Z[1]}}tag($){let Z=this.rules.inline.tag.exec($);if(Z)return!this.lexer.state.inLink&&this.rules.other.startATag.test(Z[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(Z[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(Z[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(Z[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:Z[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:Z[0]}}link($){let Z=this.rules.inline.link.exec($);if(Z){let X=Z[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(X)){if(!this.rules.other.endAngleBracket.test(X))return;let W=wZ(X.slice(0,-1),"\\");if((X.length-W.length)%2===0)return}else{let W=PK(Z[2],"()");if(W===-2)return;if(W>-1){let K=(Z[0].indexOf("!")===0?5:4)+Z[1].length+W;Z[2]=Z[2].substring(0,W),Z[0]=Z[0].substring(0,K).trim(),Z[3]=""}}let Y=Z[2],J="";if(this.options.pedantic){let W=this.rules.other.pedanticHrefTitle.exec(Y);W&&(Y=W[1],J=W[3])}else J=Z[3]?Z[3].slice(1,-1):"";return Y=Y.trim(),this.rules.other.startAngleBracket.test(Y)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(X)?Y=Y.slice(1):Y=Y.slice(1,-1)),t7(Z,{href:Y&&Y.replace(this.rules.inline.anyPunctuation,"$1"),title:J&&J.replace(this.rules.inline.anyPunctuation,"$1")},Z[0],this.lexer,this.rules)}}reflink($,Z){let X;if((X=this.rules.inline.reflink.exec($))||(X=this.rules.inline.nolink.exec($))){let Y=(X[2]||X[1]).replace(this.rules.other.multipleSpaceGlobal," "),J=Z[Y.toLowerCase()];if(!J){let W=X[0].charAt(0);return{type:"text",raw:W,text:W}}return t7(X,J,X[0],this.lexer,this.rules)}}emStrong($,Z,X=""){let Y=this.rules.inline.emStrongLDelim.exec($);if(!Y||Y[3]&&X.match(this.rules.other.unicodeAlphaNumeric))return;if(!(Y[1]||Y[2])||!X||this.rules.inline.punctuation.exec(X)){let J=[...Y[0]].length-1,W,K,Q=J,z=0,G=Y[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(G.lastIndex=0,Z=Z.slice(-1*$.length+J);(Y=G.exec(Z))!=null;){if(W=Y[1]||Y[2]||Y[3]||Y[4]||Y[5]||Y[6],!W)continue;if(K=[...W].length,Y[3]||Y[4]){Q+=K;continue}else if((Y[5]||Y[6])&&J%3&&!((J+K)%3)){z+=K;continue}if(Q-=K,Q>0)continue;K=Math.min(K,K+Q+z);let O=[...Y[0]][0].length,H=$.slice(0,J+Y.index+O+K);if(Math.min(J,K)%2){let M=H.slice(1,-1);return{type:"em",raw:H,text:M,tokens:this.lexer.inlineTokens(M)}}let U=H.slice(2,-2);return{type:"strong",raw:H,text:U,tokens:this.lexer.inlineTokens(U)}}}}codespan($){let Z=this.rules.inline.code.exec($);if(Z){let X=Z[2].replace(this.rules.other.newLineCharGlobal," "),Y=this.rules.other.nonSpaceChar.test(X),J=this.rules.other.startingSpaceChar.test(X)&&this.rules.other.endingSpaceChar.test(X);return Y&&J&&(X=X.substring(1,X.length-1)),{type:"codespan",raw:Z[0],text:X}}}br($){let Z=this.rules.inline.br.exec($);if(Z)return{type:"br",raw:Z[0]}}del($){let Z=this.rules.inline.del.exec($);if(Z)return{type:"del",raw:Z[0],text:Z[2],tokens:this.lexer.inlineTokens(Z[2])}}autolink($){let Z=this.rules.inline.autolink.exec($);if(Z){let X,Y;return Z[2]==="@"?(X=Z[1],Y="mailto:"+X):(X=Z[1],Y=X),{type:"link",raw:Z[0],text:X,href:Y,tokens:[{type:"text",raw:X,text:X}]}}}url($){let Z;if(Z=this.rules.inline.url.exec($)){let X,Y;if(Z[2]==="@")X=Z[0],Y="mailto:"+X;else{let J;do J=Z[0],Z[0]=this.rules.inline._backpedal.exec(Z[0])?.[0]??"";while(J!==Z[0]);X=Z[0],Z[1]==="www."?Y="http://"+Z[0]:Y=Z[0]}return{type:"link",raw:Z[0],text:X,href:Y,tokens:[{type:"text",raw:X,text:X}]}}}inlineText($){let Z=this.rules.inline.text.exec($);if(Z){let X=this.lexer.state.inRawBlock;return{type:"text",raw:Z[0],text:Z[0],escaped:X}}}},h0=class ${tokens;options;state;tokenizer;inlineQueue;constructor(Z){this.tokens=[],this.tokens.links=Object.create(null),this.options=Z||r4,this.options.tokenizer=this.options.tokenizer||new J8,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let X={other:e1,block:X8.normal,inline:UZ.normal};this.options.pedantic?(X.block=X8.pedantic,X.inline=UZ.pedantic):this.options.gfm&&(X.block=X8.gfm,this.options.breaks?X.inline=UZ.breaks:X.inline=UZ.gfm),this.tokenizer.rules=X}static get rules(){return{block:X8,inline:UZ}}static lex(Z,X){return new $(X).lex(Z)}static lexInline(Z,X){return new $(X).inlineTokens(Z)}lex(Z){Z=Z.replace(e1.carriageReturn,`
112
- `),this.blockTokens(Z,this.tokens);for(let X=0;X<this.inlineQueue.length;X++){let Y=this.inlineQueue[X];this.inlineTokens(Y.src,Y.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(Z,X=[],Y=!1){for(this.options.pedantic&&(Z=Z.replace(e1.tabCharGlobal," ").replace(e1.spaceLine,""));Z;){let J;if(this.options.extensions?.block?.some((K)=>(J=K.call({lexer:this},Z,X))?(Z=Z.substring(J.raw.length),X.push(J),!0):!1))continue;if(J=this.tokenizer.space(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);J.raw.length===1&&K!==void 0?K.raw+=`
113
- `:X.push(J);continue}if(J=this.tokenizer.code(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);K?.type==="paragraph"||K?.type==="text"?(K.raw+=(K.raw.endsWith(`
48
+ `),K="",Z="",W=[];for(;Y.length>0;){let G=!1,Q=[],H;for(H=0;H<Y.length;H++)if(this.rules.other.blockquoteStart.test(Y[H]))Q.push(Y[H]),G=!0;else if(!G)Q.push(Y[H]);else break;Y=Y.slice(H);let z=Q.join(`
49
+ `),q=z.replace(this.rules.other.blockquoteSetextReplace,`
50
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");K=K?`${K}
51
+ ${z}`:z,Z=Z?`${Z}
52
+ ${q}`:q;let U=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(q,W,!0),this.lexer.state.top=U,Y.length===0)break;let N=W.at(-1);if(N?.type==="code")break;if(N?.type==="blockquote"){let w=N,F=w.raw+`
53
+ `+Y.join(`
54
+ `),R=this.blockquote(F);W[W.length-1]=R,K=K.substring(0,K.length-w.raw.length)+R.raw,Z=Z.substring(0,Z.length-w.text.length)+R.text;break}else if(N?.type==="list"){let w=N,F=w.raw+`
55
+ `+Y.join(`
56
+ `),R=this.list(F);W[W.length-1]=R,K=K.substring(0,K.length-N.raw.length)+R.raw,Z=Z.substring(0,Z.length-w.raw.length)+R.raw,Y=F.substring(W.at(-1).raw.length).split(`
57
+ `);continue}}return{type:"blockquote",raw:K,tokens:W,text:Z}}}list(X){let J=this.rules.block.list.exec(X);if(J){let Y=J[1].trim(),K=Y.length>1,Z={type:"list",raw:"",ordered:K,start:K?+Y.slice(0,-1):"",loose:!1,items:[]};Y=K?`\\d{1,9}\\${Y.slice(-1)}`:`\\${Y}`,this.options.pedantic&&(Y=K?Y:"[*+-]");let W=this.rules.other.listItemRegex(Y),G=!1;for(;X;){let H=!1,z="",q="";if(!(J=W.exec(X))||this.rules.block.hr.test(X))break;z=J[0],X=X.substring(z.length);let U=J[2].split(`
58
+ `,1)[0].replace(this.rules.other.listReplaceTabs,(L)=>" ".repeat(3*L.length)),N=X.split(`
59
+ `,1)[0],w=!U.trim(),F=0;if(this.options.pedantic?(F=2,q=U.trimStart()):w?F=J[1].length+1:(F=J[2].search(this.rules.other.nonSpaceChar),F=F>4?1:F,q=U.slice(F),F+=J[1].length),w&&this.rules.other.blankLine.test(N)&&(z+=N+`
60
+ `,X=X.substring(N.length+1),H=!0),!H){let L=this.rules.other.nextBulletRegex(F),k=this.rules.other.hrRegex(F),D=this.rules.other.fencesBeginRegex(F),S=this.rules.other.headingBeginRegex(F),V=this.rules.other.htmlBeginRegex(F);for(;X;){let T=X.split(`
61
+ `,1)[0],_;if(N=T,this.options.pedantic?(N=N.replace(this.rules.other.listReplaceNesting," "),_=N):_=N.replace(this.rules.other.tabCharGlobal," "),D.test(N)||S.test(N)||V.test(N)||L.test(N)||k.test(N))break;if(_.search(this.rules.other.nonSpaceChar)>=F||!N.trim())q+=`
62
+ `+_.slice(F);else{if(w||U.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(U)||S.test(U)||k.test(U))break;q+=`
63
+ `+N}!w&&!N.trim()&&(w=!0),z+=T+`
64
+ `,X=X.substring(T.length+1),U=_.slice(F)}}Z.loose||(G?Z.loose=!0:this.rules.other.doubleBlankLine.test(z)&&(G=!0));let R=null,B;this.options.gfm&&(R=this.rules.other.listIsTask.exec(q),R&&(B=R[0]!=="[ ] ",q=q.replace(this.rules.other.listReplaceTask,""))),Z.items.push({type:"list_item",raw:z,task:!!R,checked:B,loose:!1,text:q,tokens:[]}),Z.raw+=z}let Q=Z.items.at(-1);if(Q)Q.raw=Q.raw.trimEnd(),Q.text=Q.text.trimEnd();else return;Z.raw=Z.raw.trimEnd();for(let H=0;H<Z.items.length;H++)if(this.lexer.state.top=!1,Z.items[H].tokens=this.lexer.blockTokens(Z.items[H].text,[]),!Z.loose){let z=Z.items[H].tokens.filter((U)=>U.type==="space"),q=z.length>0&&z.some((U)=>this.rules.other.anyLine.test(U.raw));Z.loose=q}if(Z.loose)for(let H=0;H<Z.items.length;H++)Z.items[H].loose=!0;return Z}}html(X){let J=this.rules.block.html.exec(X);if(J)return{type:"html",block:!0,raw:J[0],pre:J[1]==="pre"||J[1]==="script"||J[1]==="style",text:J[0]}}def(X){let J=this.rules.block.def.exec(X);if(J){let Y=J[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),K=J[2]?J[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",Z=J[3]?J[3].substring(1,J[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):J[3];return{type:"def",tag:Y,raw:J[0],href:K,title:Z}}}table(X){let J=this.rules.block.table.exec(X);if(!J||!this.rules.other.tableDelimiter.test(J[2]))return;let Y=R8(J[1]),K=J[2].replace(this.rules.other.tableAlignChars,"").split("|"),Z=J[3]?.trim()?J[3].replace(this.rules.other.tableRowBlankLine,"").split(`
65
+ `):[],W={type:"table",raw:J[0],header:[],align:[],rows:[]};if(Y.length===K.length){for(let G of K)this.rules.other.tableAlignRight.test(G)?W.align.push("right"):this.rules.other.tableAlignCenter.test(G)?W.align.push("center"):this.rules.other.tableAlignLeft.test(G)?W.align.push("left"):W.align.push(null);for(let G=0;G<Y.length;G++)W.header.push({text:Y[G],tokens:this.lexer.inline(Y[G]),header:!0,align:W.align[G]});for(let G of Z)W.rows.push(R8(G,W.header.length).map((Q,H)=>({text:Q,tokens:this.lexer.inline(Q),header:!1,align:W.align[H]})));return W}}lheading(X){let J=this.rules.block.lheading.exec(X);if(J)return{type:"heading",raw:J[0],depth:J[2].charAt(0)==="="?1:2,text:J[1],tokens:this.lexer.inline(J[1])}}paragraph(X){let J=this.rules.block.paragraph.exec(X);if(J){let Y=J[1].charAt(J[1].length-1)===`
66
+ `?J[1].slice(0,-1):J[1];return{type:"paragraph",raw:J[0],text:Y,tokens:this.lexer.inline(Y)}}}text(X){let J=this.rules.block.text.exec(X);if(J)return{type:"text",raw:J[0],text:J[0],tokens:this.lexer.inline(J[0])}}escape(X){let J=this.rules.inline.escape.exec(X);if(J)return{type:"escape",raw:J[0],text:J[1]}}tag(X){let J=this.rules.inline.tag.exec(X);if(J)return!this.lexer.state.inLink&&this.rules.other.startATag.test(J[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(J[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(J[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(J[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:J[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:J[0]}}link(X){let J=this.rules.inline.link.exec(X);if(J){let Y=J[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(Y)){if(!this.rules.other.endAngleBracket.test(Y))return;let W=B4(Y.slice(0,-1),"\\");if((Y.length-W.length)%2===0)return}else{let W=yX(J[2],"()");if(W===-2)return;if(W>-1){let G=(J[0].indexOf("!")===0?5:4)+J[1].length+W;J[2]=J[2].substring(0,W),J[0]=J[0].substring(0,G).trim(),J[3]=""}}let K=J[2],Z="";if(this.options.pedantic){let W=this.rules.other.pedanticHrefTitle.exec(K);W&&(K=W[1],Z=W[3])}else Z=J[3]?J[3].slice(1,-1):"";return K=K.trim(),this.rules.other.startAngleBracket.test(K)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(Y)?K=K.slice(1):K=K.slice(1,-1)),M8(J,{href:K&&K.replace(this.rules.inline.anyPunctuation,"$1"),title:Z&&Z.replace(this.rules.inline.anyPunctuation,"$1")},J[0],this.lexer,this.rules)}}reflink(X,J){let Y;if((Y=this.rules.inline.reflink.exec(X))||(Y=this.rules.inline.nolink.exec(X))){let K=(Y[2]||Y[1]).replace(this.rules.other.multipleSpaceGlobal," "),Z=J[K.toLowerCase()];if(!Z){let W=Y[0].charAt(0);return{type:"text",raw:W,text:W}}return M8(Y,Z,Y[0],this.lexer,this.rules)}}emStrong(X,J,Y=""){let K=this.rules.inline.emStrongLDelim.exec(X);if(!K||K[3]&&Y.match(this.rules.other.unicodeAlphaNumeric))return;if(!(K[1]||K[2])||!Y||this.rules.inline.punctuation.exec(Y)){let Z=[...K[0]].length-1,W,G,Q=Z,H=0,z=K[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(z.lastIndex=0,J=J.slice(-1*X.length+Z);(K=z.exec(J))!=null;){if(W=K[1]||K[2]||K[3]||K[4]||K[5]||K[6],!W)continue;if(G=[...W].length,K[3]||K[4]){Q+=G;continue}else if((K[5]||K[6])&&Z%3&&!((Z+G)%3)){H+=G;continue}if(Q-=G,Q>0)continue;G=Math.min(G,G+Q+H);let q=[...K[0]][0].length,U=X.slice(0,Z+K.index+q+G);if(Math.min(Z,G)%2){let w=U.slice(1,-1);return{type:"em",raw:U,text:w,tokens:this.lexer.inlineTokens(w)}}let N=U.slice(2,-2);return{type:"strong",raw:U,text:N,tokens:this.lexer.inlineTokens(N)}}}}codespan(X){let J=this.rules.inline.code.exec(X);if(J){let Y=J[2].replace(this.rules.other.newLineCharGlobal," "),K=this.rules.other.nonSpaceChar.test(Y),Z=this.rules.other.startingSpaceChar.test(Y)&&this.rules.other.endingSpaceChar.test(Y);return K&&Z&&(Y=Y.substring(1,Y.length-1)),{type:"codespan",raw:J[0],text:Y}}}br(X){let J=this.rules.inline.br.exec(X);if(J)return{type:"br",raw:J[0]}}del(X){let J=this.rules.inline.del.exec(X);if(J)return{type:"del",raw:J[0],text:J[2],tokens:this.lexer.inlineTokens(J[2])}}autolink(X){let J=this.rules.inline.autolink.exec(X);if(J){let Y,K;return J[2]==="@"?(Y=J[1],K="mailto:"+Y):(Y=J[1],K=Y),{type:"link",raw:J[0],text:Y,href:K,tokens:[{type:"text",raw:Y,text:Y}]}}}url(X){let J;if(J=this.rules.inline.url.exec(X)){let Y,K;if(J[2]==="@")Y=J[0],K="mailto:"+Y;else{let Z;do Z=J[0],J[0]=this.rules.inline._backpedal.exec(J[0])?.[0]??"";while(Z!==J[0]);Y=J[0],J[1]==="www."?K="http://"+J[0]:K=J[0]}return{type:"link",raw:J[0],text:Y,href:K,tokens:[{type:"text",raw:Y,text:Y}]}}}inlineText(X){let J=this.rules.inline.text.exec(X);if(J){let Y=this.lexer.state.inRawBlock;return{type:"text",raw:J[0],text:J[0],escaped:Y}}}},z0=class X{tokens;options;state;tokenizer;inlineQueue;constructor(J){this.tokens=[],this.tokens.links=Object.create(null),this.options=J||X4,this.options.tokenizer=this.options.tokenizer||new m4,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let Y={other:u1,block:u4.normal,inline:P4.normal};this.options.pedantic?(Y.block=u4.pedantic,Y.inline=P4.pedantic):this.options.gfm&&(Y.block=u4.gfm,this.options.breaks?Y.inline=P4.breaks:Y.inline=P4.gfm),this.tokenizer.rules=Y}static get rules(){return{block:u4,inline:P4}}static lex(J,Y){return new X(Y).lex(J)}static lexInline(J,Y){return new X(Y).inlineTokens(J)}lex(J){J=J.replace(u1.carriageReturn,`
67
+ `),this.blockTokens(J,this.tokens);for(let Y=0;Y<this.inlineQueue.length;Y++){let K=this.inlineQueue[Y];this.inlineTokens(K.src,K.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(J,Y=[],K=!1){for(this.options.pedantic&&(J=J.replace(u1.tabCharGlobal," ").replace(u1.spaceLine,""));J;){let Z;if(this.options.extensions?.block?.some((G)=>(Z=G.call({lexer:this},J,Y))?(J=J.substring(Z.raw.length),Y.push(Z),!0):!1))continue;if(Z=this.tokenizer.space(J)){J=J.substring(Z.raw.length);let G=Y.at(-1);Z.raw.length===1&&G!==void 0?G.raw+=`
68
+ `:Y.push(Z);continue}if(Z=this.tokenizer.code(J)){J=J.substring(Z.raw.length);let G=Y.at(-1);G?.type==="paragraph"||G?.type==="text"?(G.raw+=(G.raw.endsWith(`
114
69
  `)?"":`
115
- `)+J.raw,K.text+=`
116
- `+J.text,this.inlineQueue.at(-1).src=K.text):X.push(J);continue}if(J=this.tokenizer.fences(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.heading(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.hr(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.blockquote(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.list(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.html(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.def(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);K?.type==="paragraph"||K?.type==="text"?(K.raw+=(K.raw.endsWith(`
70
+ `)+Z.raw,G.text+=`
71
+ `+Z.text,this.inlineQueue.at(-1).src=G.text):Y.push(Z);continue}if(Z=this.tokenizer.fences(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}if(Z=this.tokenizer.heading(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}if(Z=this.tokenizer.hr(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}if(Z=this.tokenizer.blockquote(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}if(Z=this.tokenizer.list(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}if(Z=this.tokenizer.html(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}if(Z=this.tokenizer.def(J)){J=J.substring(Z.raw.length);let G=Y.at(-1);G?.type==="paragraph"||G?.type==="text"?(G.raw+=(G.raw.endsWith(`
117
72
  `)?"":`
118
- `)+J.raw,K.text+=`
119
- `+J.raw,this.inlineQueue.at(-1).src=K.text):this.tokens.links[J.tag]||(this.tokens.links[J.tag]={href:J.href,title:J.title},X.push(J));continue}if(J=this.tokenizer.table(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.lheading(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}let W=Z;if(this.options.extensions?.startBlock){let K=1/0,Q=Z.slice(1),z;this.options.extensions.startBlock.forEach((G)=>{z=G.call({lexer:this},Q),typeof z=="number"&&z>=0&&(K=Math.min(K,z))}),K<1/0&&K>=0&&(W=Z.substring(0,K+1))}if(this.state.top&&(J=this.tokenizer.paragraph(W))){let K=X.at(-1);Y&&K?.type==="paragraph"?(K.raw+=(K.raw.endsWith(`
73
+ `)+Z.raw,G.text+=`
74
+ `+Z.raw,this.inlineQueue.at(-1).src=G.text):this.tokens.links[Z.tag]||(this.tokens.links[Z.tag]={href:Z.href,title:Z.title},Y.push(Z));continue}if(Z=this.tokenizer.table(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}if(Z=this.tokenizer.lheading(J)){J=J.substring(Z.raw.length),Y.push(Z);continue}let W=J;if(this.options.extensions?.startBlock){let G=1/0,Q=J.slice(1),H;this.options.extensions.startBlock.forEach((z)=>{H=z.call({lexer:this},Q),typeof H=="number"&&H>=0&&(G=Math.min(G,H))}),G<1/0&&G>=0&&(W=J.substring(0,G+1))}if(this.state.top&&(Z=this.tokenizer.paragraph(W))){let G=Y.at(-1);K&&G?.type==="paragraph"?(G.raw+=(G.raw.endsWith(`
120
75
  `)?"":`
121
- `)+J.raw,K.text+=`
122
- `+J.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=K.text):X.push(J),Y=W.length!==Z.length,Z=Z.substring(J.raw.length);continue}if(J=this.tokenizer.text(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);K?.type==="text"?(K.raw+=(K.raw.endsWith(`
76
+ `)+Z.raw,G.text+=`
77
+ `+Z.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=G.text):Y.push(Z),K=W.length!==J.length,J=J.substring(Z.raw.length);continue}if(Z=this.tokenizer.text(J)){J=J.substring(Z.raw.length);let G=Y.at(-1);G?.type==="text"?(G.raw+=(G.raw.endsWith(`
123
78
  `)?"":`
124
- `)+J.raw,K.text+=`
125
- `+J.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=K.text):X.push(J);continue}if(Z){let K="Infinite loop on byte: "+Z.charCodeAt(0);if(this.options.silent){console.error(K);break}else throw Error(K)}}return this.state.top=!0,X}inline(Z,X=[]){return this.inlineQueue.push({src:Z,tokens:X}),X}inlineTokens(Z,X=[]){let Y=Z,J=null;if(this.tokens.links){let z=Object.keys(this.tokens.links);if(z.length>0)for(;(J=this.tokenizer.rules.inline.reflinkSearch.exec(Y))!=null;)z.includes(J[0].slice(J[0].lastIndexOf("[")+1,-1))&&(Y=Y.slice(0,J.index)+"["+"a".repeat(J[0].length-2)+"]"+Y.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(J=this.tokenizer.rules.inline.anyPunctuation.exec(Y))!=null;)Y=Y.slice(0,J.index)+"++"+Y.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let W;for(;(J=this.tokenizer.rules.inline.blockSkip.exec(Y))!=null;)W=J[2]?J[2].length:0,Y=Y.slice(0,J.index+W)+"["+"a".repeat(J[0].length-W-2)+"]"+Y.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);Y=this.options.hooks?.emStrongMask?.call({lexer:this},Y)??Y;let K=!1,Q="";for(;Z;){K||(Q=""),K=!1;let z;if(this.options.extensions?.inline?.some((O)=>(z=O.call({lexer:this},Z,X))?(Z=Z.substring(z.raw.length),X.push(z),!0):!1))continue;if(z=this.tokenizer.escape(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.tag(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.link(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.reflink(Z,this.tokens.links)){Z=Z.substring(z.raw.length);let O=X.at(-1);z.type==="text"&&O?.type==="text"?(O.raw+=z.raw,O.text+=z.text):X.push(z);continue}if(z=this.tokenizer.emStrong(Z,Y,Q)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.codespan(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.br(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.del(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.autolink(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(!this.state.inLink&&(z=this.tokenizer.url(Z))){Z=Z.substring(z.raw.length),X.push(z);continue}let G=Z;if(this.options.extensions?.startInline){let O=1/0,H=Z.slice(1),U;this.options.extensions.startInline.forEach((M)=>{U=M.call({lexer:this},H),typeof U=="number"&&U>=0&&(O=Math.min(O,U))}),O<1/0&&O>=0&&(G=Z.substring(0,O+1))}if(z=this.tokenizer.inlineText(G)){Z=Z.substring(z.raw.length),z.raw.slice(-1)!=="_"&&(Q=z.raw.slice(-1)),K=!0;let O=X.at(-1);O?.type==="text"?(O.raw+=z.raw,O.text+=z.text):X.push(z);continue}if(Z){let O="Infinite loop on byte: "+Z.charCodeAt(0);if(this.options.silent){console.error(O);break}else throw Error(O)}}return X}},W8=class{options;parser;constructor($){this.options=$||r4}space($){return""}code({text:$,lang:Z,escaped:X}){let Y=(Z||"").match(e1.notSpaceStart)?.[0],J=$.replace(e1.endingNewline,"")+`
126
- `;return Y?'<pre><code class="language-'+a0(Y)+'">'+(X?J:a0(J,!0))+`</code></pre>
127
- `:"<pre><code>"+(X?J:a0(J,!0))+`</code></pre>
128
- `}blockquote({tokens:$}){return`<blockquote>
129
- ${this.parser.parse($)}</blockquote>
130
- `}html({text:$}){return $}def($){return""}heading({tokens:$,depth:Z}){return`<h${Z}>${this.parser.parseInline($)}</h${Z}>
131
- `}hr($){return`<hr>
132
- `}list($){let{ordered:Z,start:X}=$,Y="";for(let K=0;K<$.items.length;K++){let Q=$.items[K];Y+=this.listitem(Q)}let J=Z?"ol":"ul",W=Z&&X!==1?' start="'+X+'"':"";return"<"+J+W+`>
133
- `+Y+"</"+J+`>
134
- `}listitem($){let Z="";if($.task){let X=this.checkbox({checked:!!$.checked});$.loose?$.tokens[0]?.type==="paragraph"?($.tokens[0].text=X+" "+$.tokens[0].text,$.tokens[0].tokens&&$.tokens[0].tokens.length>0&&$.tokens[0].tokens[0].type==="text"&&($.tokens[0].tokens[0].text=X+" "+a0($.tokens[0].tokens[0].text),$.tokens[0].tokens[0].escaped=!0)):$.tokens.unshift({type:"text",raw:X+" ",text:X+" ",escaped:!0}):Z+=X+" "}return Z+=this.parser.parse($.tokens,!!$.loose),`<li>${Z}</li>
135
- `}checkbox({checked:$}){return"<input "+($?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:$}){return`<p>${this.parser.parseInline($)}</p>
136
- `}table($){let Z="",X="";for(let J=0;J<$.header.length;J++)X+=this.tablecell($.header[J]);Z+=this.tablerow({text:X});let Y="";for(let J=0;J<$.rows.length;J++){let W=$.rows[J];X="";for(let K=0;K<W.length;K++)X+=this.tablecell(W[K]);Y+=this.tablerow({text:X})}return Y&&(Y=`<tbody>${Y}</tbody>`),`<table>
79
+ `)+Z.raw,G.text+=`
80
+ `+Z.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=G.text):Y.push(Z);continue}if(J){let G="Infinite loop on byte: "+J.charCodeAt(0);if(this.options.silent){console.error(G);break}else throw Error(G)}}return this.state.top=!0,Y}inline(J,Y=[]){return this.inlineQueue.push({src:J,tokens:Y}),Y}inlineTokens(J,Y=[]){let K=J,Z=null;if(this.tokens.links){let H=Object.keys(this.tokens.links);if(H.length>0)for(;(Z=this.tokenizer.rules.inline.reflinkSearch.exec(K))!=null;)H.includes(Z[0].slice(Z[0].lastIndexOf("[")+1,-1))&&(K=K.slice(0,Z.index)+"["+"a".repeat(Z[0].length-2)+"]"+K.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(Z=this.tokenizer.rules.inline.anyPunctuation.exec(K))!=null;)K=K.slice(0,Z.index)+"++"+K.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let W;for(;(Z=this.tokenizer.rules.inline.blockSkip.exec(K))!=null;)W=Z[2]?Z[2].length:0,K=K.slice(0,Z.index+W)+"["+"a".repeat(Z[0].length-W-2)+"]"+K.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);K=this.options.hooks?.emStrongMask?.call({lexer:this},K)??K;let G=!1,Q="";for(;J;){G||(Q=""),G=!1;let H;if(this.options.extensions?.inline?.some((q)=>(H=q.call({lexer:this},J,Y))?(J=J.substring(H.raw.length),Y.push(H),!0):!1))continue;if(H=this.tokenizer.escape(J)){J=J.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.tag(J)){J=J.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.link(J)){J=J.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.reflink(J,this.tokens.links)){J=J.substring(H.raw.length);let q=Y.at(-1);H.type==="text"&&q?.type==="text"?(q.raw+=H.raw,q.text+=H.text):Y.push(H);continue}if(H=this.tokenizer.emStrong(J,K,Q)){J=J.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.codespan(J)){J=J.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.br(J)){J=J.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.del(J)){J=J.substring(H.raw.length),Y.push(H);continue}if(H=this.tokenizer.autolink(J)){J=J.substring(H.raw.length),Y.push(H);continue}if(!this.state.inLink&&(H=this.tokenizer.url(J))){J=J.substring(H.raw.length),Y.push(H);continue}let z=J;if(this.options.extensions?.startInline){let q=1/0,U=J.slice(1),N;this.options.extensions.startInline.forEach((w)=>{N=w.call({lexer:this},U),typeof N=="number"&&N>=0&&(q=Math.min(q,N))}),q<1/0&&q>=0&&(z=J.substring(0,q+1))}if(H=this.tokenizer.inlineText(z)){J=J.substring(H.raw.length),H.raw.slice(-1)!=="_"&&(Q=H.raw.slice(-1)),G=!0;let q=Y.at(-1);q?.type==="text"?(q.raw+=H.raw,q.text+=H.text):Y.push(H);continue}if(J){let q="Infinite loop on byte: "+J.charCodeAt(0);if(this.options.silent){console.error(q);break}else throw Error(q)}}return Y}},p4=class{options;parser;constructor(X){this.options=X||X4}space(X){return""}code({text:X,lang:J,escaped:Y}){let K=(J||"").match(u1.notSpaceStart)?.[0],Z=X.replace(u1.endingNewline,"")+`
81
+ `;return K?'<pre><code class="language-'+L0(K)+'">'+(Y?Z:L0(Z,!0))+`</code></pre>
82
+ `:"<pre><code>"+(Y?Z:L0(Z,!0))+`</code></pre>
83
+ `}blockquote({tokens:X}){return`<blockquote>
84
+ ${this.parser.parse(X)}</blockquote>
85
+ `}html({text:X}){return X}def(X){return""}heading({tokens:X,depth:J}){return`<h${J}>${this.parser.parseInline(X)}</h${J}>
86
+ `}hr(X){return`<hr>
87
+ `}list(X){let{ordered:J,start:Y}=X,K="";for(let G=0;G<X.items.length;G++){let Q=X.items[G];K+=this.listitem(Q)}let Z=J?"ol":"ul",W=J&&Y!==1?' start="'+Y+'"':"";return"<"+Z+W+`>
88
+ `+K+"</"+Z+`>
89
+ `}listitem(X){let J="";if(X.task){let Y=this.checkbox({checked:!!X.checked});X.loose?X.tokens[0]?.type==="paragraph"?(X.tokens[0].text=Y+" "+X.tokens[0].text,X.tokens[0].tokens&&X.tokens[0].tokens.length>0&&X.tokens[0].tokens[0].type==="text"&&(X.tokens[0].tokens[0].text=Y+" "+L0(X.tokens[0].tokens[0].text),X.tokens[0].tokens[0].escaped=!0)):X.tokens.unshift({type:"text",raw:Y+" ",text:Y+" ",escaped:!0}):J+=Y+" "}return J+=this.parser.parse(X.tokens,!!X.loose),`<li>${J}</li>
90
+ `}checkbox({checked:X}){return"<input "+(X?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:X}){return`<p>${this.parser.parseInline(X)}</p>
91
+ `}table(X){let J="",Y="";for(let Z=0;Z<X.header.length;Z++)Y+=this.tablecell(X.header[Z]);J+=this.tablerow({text:Y});let K="";for(let Z=0;Z<X.rows.length;Z++){let W=X.rows[Z];Y="";for(let G=0;G<W.length;G++)Y+=this.tablecell(W[G]);K+=this.tablerow({text:Y})}return K&&(K=`<tbody>${K}</tbody>`),`<table>
137
92
  <thead>
138
- `+Z+`</thead>
139
- `+Y+`</table>
140
- `}tablerow({text:$}){return`<tr>
141
- ${$}</tr>
142
- `}tablecell($){let Z=this.parser.parseInline($.tokens),X=$.header?"th":"td";return($.align?`<${X} align="${$.align}">`:`<${X}>`)+Z+`</${X}>
143
- `}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${a0($,!0)}</code>`}br($){return"<br>"}del({tokens:$}){return`<del>${this.parser.parseInline($)}</del>`}link({href:$,title:Z,tokens:X}){let Y=this.parser.parseInline(X),J=a7($);if(J===null)return Y;$=J;let W='<a href="'+$+'"';return Z&&(W+=' title="'+a0(Z)+'"'),W+=">"+Y+"</a>",W}image({href:$,title:Z,text:X,tokens:Y}){Y&&(X=this.parser.parseInline(Y,this.parser.textRenderer));let J=a7($);if(J===null)return a0(X);$=J;let W=`<img src="${$}" alt="${X}"`;return Z&&(W+=` title="${a0(Z)}"`),W+=">",W}text($){return"tokens"in $&&$.tokens?this.parser.parseInline($.tokens):("escaped"in $)&&$.escaped?$.text:a0($.text)}},R6=class{strong({text:$}){return $}em({text:$}){return $}codespan({text:$}){return $}del({text:$}){return $}html({text:$}){return $}text({text:$}){return $}link({text:$}){return""+$}image({text:$}){return""+$}br(){return""}},g0=class ${options;renderer;textRenderer;constructor(Z){this.options=Z||r4,this.options.renderer=this.options.renderer||new W8,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new R6}static parse(Z,X){return new $(X).parse(Z)}static parseInline(Z,X){return new $(X).parseInline(Z)}parse(Z,X=!0){let Y="";for(let J=0;J<Z.length;J++){let W=Z[J];if(this.options.extensions?.renderers?.[W.type]){let Q=W,z=this.options.extensions.renderers[Q.type].call({parser:this},Q);if(z!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(Q.type)){Y+=z||"";continue}}let K=W;switch(K.type){case"space":{Y+=this.renderer.space(K);continue}case"hr":{Y+=this.renderer.hr(K);continue}case"heading":{Y+=this.renderer.heading(K);continue}case"code":{Y+=this.renderer.code(K);continue}case"table":{Y+=this.renderer.table(K);continue}case"blockquote":{Y+=this.renderer.blockquote(K);continue}case"list":{Y+=this.renderer.list(K);continue}case"html":{Y+=this.renderer.html(K);continue}case"def":{Y+=this.renderer.def(K);continue}case"paragraph":{Y+=this.renderer.paragraph(K);continue}case"text":{let Q=K,z=this.renderer.text(Q);for(;J+1<Z.length&&Z[J+1].type==="text";)Q=Z[++J],z+=`
144
- `+this.renderer.text(Q);X?Y+=this.renderer.paragraph({type:"paragraph",raw:z,text:z,tokens:[{type:"text",raw:z,text:z,escaped:!0}]}):Y+=z;continue}default:{let Q='Token with "'+K.type+'" type was not found.';if(this.options.silent)return console.error(Q),"";throw Error(Q)}}}return Y}parseInline(Z,X=this.renderer){let Y="";for(let J=0;J<Z.length;J++){let W=Z[J];if(this.options.extensions?.renderers?.[W.type]){let Q=this.options.extensions.renderers[W.type].call({parser:this},W);if(Q!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(W.type)){Y+=Q||"";continue}}let K=W;switch(K.type){case"escape":{Y+=X.text(K);break}case"html":{Y+=X.html(K);break}case"link":{Y+=X.link(K);break}case"image":{Y+=X.image(K);break}case"strong":{Y+=X.strong(K);break}case"em":{Y+=X.em(K);break}case"codespan":{Y+=X.codespan(K);break}case"br":{Y+=X.br(K);break}case"del":{Y+=X.del(K);break}case"text":{Y+=X.text(K);break}default:{let Q='Token with "'+K.type+'" type was not found.';if(this.options.silent)return console.error(Q),"";throw Error(Q)}}}return Y}},MZ=class{options;block;constructor($){this.options=$||r4}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess($){return $}postprocess($){return $}processAllTokens($){return $}emStrongMask($){return $}provideLexer(){return this.block?h0.lex:h0.lexInline}provideParser(){return this.block?g0.parse:g0.parseInline}},RK=class{defaults=M6();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=g0;Renderer=W8;TextRenderer=R6;Lexer=h0;Tokenizer=J8;Hooks=MZ;constructor(...$){this.use(...$)}walkTokens($,Z){let X=[];for(let Y of $)switch(X=X.concat(Z.call(this,Y)),Y.type){case"table":{let J=Y;for(let W of J.header)X=X.concat(this.walkTokens(W.tokens,Z));for(let W of J.rows)for(let K of W)X=X.concat(this.walkTokens(K.tokens,Z));break}case"list":{let J=Y;X=X.concat(this.walkTokens(J.items,Z));break}default:{let J=Y;this.defaults.extensions?.childTokens?.[J.type]?this.defaults.extensions.childTokens[J.type].forEach((W)=>{let K=J[W].flat(1/0);X=X.concat(this.walkTokens(K,Z))}):J.tokens&&(X=X.concat(this.walkTokens(J.tokens,Z)))}}return X}use(...$){let Z=this.defaults.extensions||{renderers:{},childTokens:{}};return $.forEach((X)=>{let Y={...X};if(Y.async=this.defaults.async||Y.async||!1,X.extensions&&(X.extensions.forEach((J)=>{if(!J.name)throw Error("extension name required");if("renderer"in J){let W=Z.renderers[J.name];W?Z.renderers[J.name]=function(...K){let Q=J.renderer.apply(this,K);return Q===!1&&(Q=W.apply(this,K)),Q}:Z.renderers[J.name]=J.renderer}if("tokenizer"in J){if(!J.level||J.level!=="block"&&J.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let W=Z[J.level];W?W.unshift(J.tokenizer):Z[J.level]=[J.tokenizer],J.start&&(J.level==="block"?Z.startBlock?Z.startBlock.push(J.start):Z.startBlock=[J.start]:J.level==="inline"&&(Z.startInline?Z.startInline.push(J.start):Z.startInline=[J.start]))}"childTokens"in J&&J.childTokens&&(Z.childTokens[J.name]=J.childTokens)}),Y.extensions=Z),X.renderer){let J=this.defaults.renderer||new W8(this.defaults);for(let W in X.renderer){if(!(W in J))throw Error(`renderer '${W}' does not exist`);if(["options","parser"].includes(W))continue;let K=W,Q=X.renderer[K],z=J[K];J[K]=(...G)=>{let O=Q.apply(J,G);return O===!1&&(O=z.apply(J,G)),O||""}}Y.renderer=J}if(X.tokenizer){let J=this.defaults.tokenizer||new J8(this.defaults);for(let W in X.tokenizer){if(!(W in J))throw Error(`tokenizer '${W}' does not exist`);if(["options","rules","lexer"].includes(W))continue;let K=W,Q=X.tokenizer[K],z=J[K];J[K]=(...G)=>{let O=Q.apply(J,G);return O===!1&&(O=z.apply(J,G)),O}}Y.tokenizer=J}if(X.hooks){let J=this.defaults.hooks||new MZ;for(let W in X.hooks){if(!(W in J))throw Error(`hook '${W}' does not exist`);if(["options","block"].includes(W))continue;let K=W,Q=X.hooks[K],z=J[K];MZ.passThroughHooks.has(W)?J[K]=(G)=>{if(this.defaults.async&&MZ.passThroughHooksRespectAsync.has(W))return(async()=>{let H=await Q.call(J,G);return z.call(J,H)})();let O=Q.call(J,G);return z.call(J,O)}:J[K]=(...G)=>{if(this.defaults.async)return(async()=>{let H=await Q.apply(J,G);return H===!1&&(H=await z.apply(J,G)),H})();let O=Q.apply(J,G);return O===!1&&(O=z.apply(J,G)),O}}Y.hooks=J}if(X.walkTokens){let J=this.defaults.walkTokens,W=X.walkTokens;Y.walkTokens=function(K){let Q=[];return Q.push(W.call(this,K)),J&&(Q=Q.concat(J.call(this,K))),Q}}this.defaults={...this.defaults,...Y}}),this}setOptions($){return this.defaults={...this.defaults,...$},this}lexer($,Z){return h0.lex($,Z??this.defaults)}parser($,Z){return g0.parse($,Z??this.defaults)}parseMarkdown($){return(Z,X)=>{let Y={...X},J={...this.defaults,...Y},W=this.onError(!!J.silent,!!J.async);if(this.defaults.async===!0&&Y.async===!1)return W(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof Z>"u"||Z===null)return W(Error("marked(): input parameter is undefined or null"));if(typeof Z!="string")return W(Error("marked(): input parameter is of type "+Object.prototype.toString.call(Z)+", string expected"));if(J.hooks&&(J.hooks.options=J,J.hooks.block=$),J.async)return(async()=>{let K=J.hooks?await J.hooks.preprocess(Z):Z,Q=await(J.hooks?await J.hooks.provideLexer():$?h0.lex:h0.lexInline)(K,J),z=J.hooks?await J.hooks.processAllTokens(Q):Q;J.walkTokens&&await Promise.all(this.walkTokens(z,J.walkTokens));let G=await(J.hooks?await J.hooks.provideParser():$?g0.parse:g0.parseInline)(z,J);return J.hooks?await J.hooks.postprocess(G):G})().catch(W);try{J.hooks&&(Z=J.hooks.preprocess(Z));let K=(J.hooks?J.hooks.provideLexer():$?h0.lex:h0.lexInline)(Z,J);J.hooks&&(K=J.hooks.processAllTokens(K)),J.walkTokens&&this.walkTokens(K,J.walkTokens);let Q=(J.hooks?J.hooks.provideParser():$?g0.parse:g0.parseInline)(K,J);return J.hooks&&(Q=J.hooks.postprocess(Q)),Q}catch(K){return W(K)}}}onError($,Z){return(X)=>{if(X.message+=`
145
- Please report this to https://github.com/markedjs/marked.`,$){let Y="<p>An error occurred:</p><pre>"+a0(X.message+"",!0)+"</pre>";return Z?Promise.resolve(Y):Y}if(Z)return Promise.reject(X);throw X}}},n4=new RK;function O1($,Z){return n4.parse($,Z)}O1.options=O1.setOptions=function($){return n4.setOptions($),O1.defaults=n4.defaults,e7(O1.defaults),O1};O1.getDefaults=M6;O1.defaults=r4;O1.use=function(...$){return n4.use(...$),O1.defaults=n4.defaults,e7(O1.defaults),O1};O1.walkTokens=function($,Z){return n4.walkTokens($,Z)};O1.parseInline=n4.parseInline;O1.Parser=g0;O1.parser=g0.parse;O1.Renderer=W8;O1.TextRenderer=R6;O1.Lexer=h0;O1.lexer=h0.lex;O1.Tokenizer=J8;O1.Hooks=MZ;O1.parse=O1;var{options:s2,setOptions:t2,use:e2,walkTokens:$w,parseInline:Zw}=O1;var Xw=g0.parse,Yw=h0.lex;var a4=B(e(),1),$0={h1:{bold:!0,marginBottom:1,color:"#f74cc7ff"},h2:{bold:!0,marginBottom:1,color:"#326cfcff"},h3:{bold:!0,color:"#24ffedff"},h4:{bold:!0,color:"#e29418ff"},h5:{bold:!0,color:"#9fc214ff"},h6:{bold:!0,dimColor:!0,color:"#88eb2bff"},paragraph:{},blockquote:{paddingLeft:1,dimColor:!0,borderTop:!1,borderBottom:!1,borderRight:!1,borderStyle:"single",borderDimColor:!0},code:{marginTop:1,paddingX:2},codespan:{dimColor:!0},list:{},listItem:{bullet:"●",paddingLeft:2},hr:{char:"─",width:40,dimColor:!0},link:{color:"#343afcff",underline:!0},strong:{bold:!0},em:{italic:!0},del:{strikethrough:!0,dimColor:!0},image:{color:"blue"},table:{},tableCell:{paddingRight:2}},VK=["color","backgroundColor","dimColor","bold","italic","underline","strikethrough","inverse","wrap"],kK=["paddingLeft","paddingRight","paddingTop","paddingBottom","padding","paddingX","paddingY","marginLeft","marginRight","marginTop","marginBottom","margin","marginX","marginY","borderStyle","borderColor","borderTop","borderBottom","borderLeft","borderRight","borderDimColor","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopDimColor","borderBottomDimColor","borderLeftDimColor","borderRightDimColor"];function G0($){if(!$)return{};let Z={};for(let X of VK)if(X in $)Z[X]=$[X];return Z}function O4($){if(!$)return{};let Z={};for(let X of kK)if(X in $)Z[X]=$[X];return Z}function Z0($,Z){if(!$&&!Z)return{};if(!$)return Z;if(!Z)return $;return{...$,...Z}}function F0($,Z,X){if(!$||$.length===0)return null;return $.map((Y,J)=>{let W=`inline-${J}`;switch(Y.type){case"text":case"escape":{let K=Y;if("tokens"in K&&K.tokens)return g.jsx(N,{children:F0(K.tokens,Z,X)},W);return g.jsx(N,{children:K.text},W)}case"strong":{let K=Y,Q=Z0($0.strong,Z.strong);if(X.strong)return g.jsx(N,{children:X.strong(F0(K.tokens,Z,X),K)},W);return g.jsx(N,{...G0(Q),children:F0(K.tokens,Z,X)},W)}case"em":{let K=Y,Q=Z0($0.em,Z.em);if(X.em)return g.jsx(N,{children:X.em(F0(K.tokens,Z,X),K)},W);return g.jsx(N,{...G0(Q),children:F0(K.tokens,Z,X)},W)}case"del":{let K=Y,Q=Z0($0.del,Z.del);if(X.del)return g.jsx(N,{children:X.del(F0(K.tokens,Z,X),K)},W);return g.jsx(N,{...G0(Q),children:F0(K.tokens,Z,X)},W)}case"codespan":{let K=Y,Q=Z0($0.codespan,Z.codespan);if(X.codespan)return g.jsx(N,{children:X.codespan(K.text,K)},W);return g.jsx(N,{...G0(Q),children:K.text},W)}case"link":{let K=Y,Q=Z0($0.link,Z.link);if(X.link)return g.jsx(N,{children:X.link(K.text,K.href,K.title,K)},W);return g.jsxs(N,{...G0(Q),children:[K.text,K.href&&` (${K.href})`]},W)}case"image":{let K=Y,Q=Z0($0.image,Z.image);if(X.image)return g.jsx(N,{children:X.image(K.text,K.href,K.title,K)},W);return g.jsxs(N,{...G0(Q),children:["[Image: ",K.text||K.href,"]"]},W)}case"br":return g.jsx(N,{children:`
146
- `},W);default:if("text"in Y)return g.jsx(N,{children:Y.text},W);return null}})}function OX($,Z,X,Y){switch($.type){case"heading":{let J=$,W=`h${J.depth}`,K=`h${J.depth}`,Q=X[W];if(Q)return Q(J.text,J);let z=Z0($0[K],Z[K]),G=typeof z.showSharp=="boolean"?z.showSharp:Boolean(Y);return g.jsx(w,{...O4(z),children:g.jsxs(N,{...G0(z),children:[G&&`${"#".repeat(J.depth)} `,F0(J.tokens,Z,X)]})})}case"paragraph":{let J=$,W=Z0($0.paragraph,Z.paragraph),K=F0(J.tokens,Z,X);if(X.paragraph)return X.paragraph(K,J);return g.jsx(w,{...O4(W),children:g.jsx(N,{...G0(W),children:K})})}case"code":{let J=$,W=Z0($0.code,Z.code);if(X.code)return X.code(J.text,J.lang,J);return g.jsx(w,{...O4(W),children:g.jsx(N,{...G0(W),children:J.text})})}case"blockquote":{let J=$,W=Z0($0.blockquote,Z.blockquote);if(X.blockquote){let K=J.tokens.map((Q,z)=>g.jsx(w,{children:OX(Q,Z,X,Y)},`bq-${z}`));return X.blockquote(K,J)}return g.jsx(w,{...O4(W),children:g.jsx(w,{flexDirection:"column",children:J.tokens.map((K,Q)=>g.jsx(N,{...G0(W),children:K.type==="paragraph"?F0(K.tokens,Z,X):K.text||""},`bq-text-${Q}`))})})}case"list":{let J=$,W=Z0($0.list,Z.list),K=Z0($0.listItem,Z.listItem),Q=K.bullet||"●",z=J.items.map((G,O)=>{let H=typeof J.start=="number"?J.start:1,U=J.ordered?`${H+O}. `:`${Q} `,M=F0(G.tokens,Z,X);if(X.listItem)return g.jsx(w,{...O4(K),children:X.listItem(M,G)},`li-${O}`);return g.jsx(w,{...O4(K),children:g.jsxs(N,{...G0(K),children:[U,M]})},`li-${O}`)});if(X.list)return X.list(z,J.ordered,J);return g.jsx(w,{flexDirection:"column",...O4(W),children:z})}case"hr":{let J=$,W=Z0($0.hr,Z.hr),K=W.char||"─",Q=W.width||40;if(X.hr)return X.hr(J);return g.jsx(w,{...O4(W),children:g.jsx(N,{...G0(W),children:K.repeat(Q)})})}case"table":{let J=$,W=Z0($0.table,Z.table),K=Z0($0.tableCell,Z.tableCell),Q=(F)=>F.map((P)=>{if("text"in P)return P.text;return""}).join(""),z=J.header.map((F,P)=>{let S=Q(F.tokens).length,T=Math.max(...J.rows.map((p)=>{let f=p[P]?.tokens;return f?Q(f).length:0}),0);return Math.max(S,T,3)}),G=g.jsxs(N,{dimColor:!0,children:["┌─",z.map((F)=>"─".repeat(F)).join("─┬─"),"─┐"]}),O=g.jsxs(N,{children:[g.jsx(N,{dimColor:!0,children:"│ "}),J.header.map((F,P)=>{let S=F0(F.tokens,Z,X),T=Q(F.tokens);return g.jsxs(N,{children:[g.jsxs(N,{bold:!0,...G0(K),children:[S," ".repeat(Math.max(0,(z[P]||3)-T.length))]}),g.jsxs(N,{dimColor:!0,children:[" ","│",P<J.header.length-1?" ":""]})]},`th-${P}`)})]}),H=g.jsxs(N,{dimColor:!0,children:["├─",z.map((F)=>"─".repeat(F)).join("─┼─"),"─┤"]}),U=J.rows.map((F,P)=>g.jsxs(N,{children:[g.jsx(N,{dimColor:!0,children:"│ "}),F.map((S,T)=>{let p=F0(S.tokens,Z,X),f=Q(S.tokens),a=z[T]||3;return g.jsxs(N,{children:[g.jsxs(N,{...G0(K),children:[p," ".repeat(Math.max(0,a-f.length))]}),g.jsxs(N,{dimColor:!0,children:[" │",T<F.length-1?" ":""]})]},`td-${P}-${T}`)})]},`tr-${P}`)),M=g.jsxs(N,{dimColor:!0,children:["└─",z.map((F)=>"─".repeat(F)).join("─┴─"),"─┘"]}),A=g.jsxs(g.Fragment,{children:[G,O,H,U,M]});if(X.table)return X.table(O,U,J);return g.jsx(w,{flexDirection:"column",...O4(W),children:A})}case"space":return g.jsx(N,{children:`
147
- `});case"html":return g.jsx(N,{dimColor:!0,children:$.text});default:if("text"in $)return g.jsx(N,{children:$.text});return null}}var HX=a4.memo(function({token:$,styles:Z,renderers:X,showSharp:Y}){return g.jsx(g.Fragment,{children:OX($,Z,X,Y)})},($,Z)=>$.token===Z.token);HX.displayName="MemoizedBlock";function TK({children:$,id:Z,styles:X={},renderers:Y={},showSharp:J=!1}){let W=a4.useId(),K=Z||W,Q=a4.useMemo(()=>O1.lexer($,{silent:!0,gfm:!0}),[$]);return g.jsx(w,{flexDirection:"column",children:Q.map((z,G)=>g.jsx(HX,{token:z,styles:X,renderers:Y,showSharp:J},`${K}-block-${G}`))})}var NX=a4.memo(TK);NX.displayName="Markdown";var bK=NX,UX=bK;var wX=B(e(),1);var FZ=B(V(),1),MX=({children:$,color:Z,dim:X,bold:Y,italic:J})=>{let W=wX.useMemo(()=>{return $.split(`
148
- `).map((K)=>K===""?`
149
- `:K)},[$]);return FZ.jsxDEV(FZ.Fragment,{children:W.map((K,Q)=>FZ.jsxDEV(N,{color:Z,dimColor:X,bold:Y,italic:J,children:K},Q,!1,void 0,this))},void 0,!1,void 0,this)};var z8=B(e(),1),S6=B(V(),1),IK=($,Z,X=5)=>{if(!Z||!$||$.trim()==="")return $;let Y=$.split(`
150
- `);if(Y.length<=X)return $;let J=Y.length-X,W=Y.slice(-X);return`\x1B[33m${J} rows hidden...\x1B[0m
93
+ `+J+`</thead>
94
+ `+K+`</table>
95
+ `}tablerow({text:X}){return`<tr>
96
+ ${X}</tr>
97
+ `}tablecell(X){let J=this.parser.parseInline(X.tokens),Y=X.header?"th":"td";return(X.align?`<${Y} align="${X.align}">`:`<${Y}>`)+J+`</${Y}>
98
+ `}strong({tokens:X}){return`<strong>${this.parser.parseInline(X)}</strong>`}em({tokens:X}){return`<em>${this.parser.parseInline(X)}</em>`}codespan({text:X}){return`<code>${L0(X,!0)}</code>`}br(X){return"<br>"}del({tokens:X}){return`<del>${this.parser.parseInline(X)}</del>`}link({href:X,title:J,tokens:Y}){let K=this.parser.parseInline(Y),Z=w8(X);if(Z===null)return K;X=Z;let W='<a href="'+X+'"';return J&&(W+=' title="'+L0(J)+'"'),W+=">"+K+"</a>",W}image({href:X,title:J,text:Y,tokens:K}){K&&(Y=this.parser.parseInline(K,this.parser.textRenderer));let Z=w8(X);if(Z===null)return L0(Y);X=Z;let W=`<img src="${X}" alt="${Y}"`;return J&&(W+=` title="${L0(J)}"`),W+=">",W}text(X){return"tokens"in X&&X.tokens?this.parser.parseInline(X.tokens):("escaped"in X)&&X.escaped?X.text:L0(X.text)}},_$=class{strong({text:X}){return X}em({text:X}){return X}codespan({text:X}){return X}del({text:X}){return X}html({text:X}){return X}text({text:X}){return X}link({text:X}){return""+X}image({text:X}){return""+X}br(){return""}},q0=class X{options;renderer;textRenderer;constructor(J){this.options=J||X4,this.options.renderer=this.options.renderer||new p4,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new _$}static parse(J,Y){return new X(Y).parse(J)}static parseInline(J,Y){return new X(Y).parseInline(J)}parse(J,Y=!0){let K="";for(let Z=0;Z<J.length;Z++){let W=J[Z];if(this.options.extensions?.renderers?.[W.type]){let Q=W,H=this.options.extensions.renderers[Q.type].call({parser:this},Q);if(H!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(Q.type)){K+=H||"";continue}}let G=W;switch(G.type){case"space":{K+=this.renderer.space(G);continue}case"hr":{K+=this.renderer.hr(G);continue}case"heading":{K+=this.renderer.heading(G);continue}case"code":{K+=this.renderer.code(G);continue}case"table":{K+=this.renderer.table(G);continue}case"blockquote":{K+=this.renderer.blockquote(G);continue}case"list":{K+=this.renderer.list(G);continue}case"html":{K+=this.renderer.html(G);continue}case"def":{K+=this.renderer.def(G);continue}case"paragraph":{K+=this.renderer.paragraph(G);continue}case"text":{let Q=G,H=this.renderer.text(Q);for(;Z+1<J.length&&J[Z+1].type==="text";)Q=J[++Z],H+=`
99
+ `+this.renderer.text(Q);Y?K+=this.renderer.paragraph({type:"paragraph",raw:H,text:H,tokens:[{type:"text",raw:H,text:H,escaped:!0}]}):K+=H;continue}default:{let Q='Token with "'+G.type+'" type was not found.';if(this.options.silent)return console.error(Q),"";throw Error(Q)}}}return K}parseInline(J,Y=this.renderer){let K="";for(let Z=0;Z<J.length;Z++){let W=J[Z];if(this.options.extensions?.renderers?.[W.type]){let Q=this.options.extensions.renderers[W.type].call({parser:this},W);if(Q!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(W.type)){K+=Q||"";continue}}let G=W;switch(G.type){case"escape":{K+=Y.text(G);break}case"html":{K+=Y.html(G);break}case"link":{K+=Y.link(G);break}case"image":{K+=Y.image(G);break}case"strong":{K+=Y.strong(G);break}case"em":{K+=Y.em(G);break}case"codespan":{K+=Y.codespan(G);break}case"br":{K+=Y.br(G);break}case"del":{K+=Y.del(G);break}case"text":{K+=Y.text(G);break}default:{let Q='Token with "'+G.type+'" type was not found.';if(this.options.silent)return console.error(Q),"";throw Error(Q)}}}return K}},C4=class{options;block;constructor(X){this.options=X||X4}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(X){return X}postprocess(X){return X}processAllTokens(X){return X}emStrongMask(X){return X}provideLexer(){return this.block?z0.lex:z0.lexInline}provideParser(){return this.block?q0.parse:q0.parseInline}},VX=class{defaults=S$();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=q0;Renderer=p4;TextRenderer=_$;Lexer=z0;Tokenizer=m4;Hooks=C4;constructor(...X){this.use(...X)}walkTokens(X,J){let Y=[];for(let K of X)switch(Y=Y.concat(J.call(this,K)),K.type){case"table":{let Z=K;for(let W of Z.header)Y=Y.concat(this.walkTokens(W.tokens,J));for(let W of Z.rows)for(let G of W)Y=Y.concat(this.walkTokens(G.tokens,J));break}case"list":{let Z=K;Y=Y.concat(this.walkTokens(Z.items,J));break}default:{let Z=K;this.defaults.extensions?.childTokens?.[Z.type]?this.defaults.extensions.childTokens[Z.type].forEach((W)=>{let G=Z[W].flat(1/0);Y=Y.concat(this.walkTokens(G,J))}):Z.tokens&&(Y=Y.concat(this.walkTokens(Z.tokens,J)))}}return Y}use(...X){let J=this.defaults.extensions||{renderers:{},childTokens:{}};return X.forEach((Y)=>{let K={...Y};if(K.async=this.defaults.async||K.async||!1,Y.extensions&&(Y.extensions.forEach((Z)=>{if(!Z.name)throw Error("extension name required");if("renderer"in Z){let W=J.renderers[Z.name];W?J.renderers[Z.name]=function(...G){let Q=Z.renderer.apply(this,G);return Q===!1&&(Q=W.apply(this,G)),Q}:J.renderers[Z.name]=Z.renderer}if("tokenizer"in Z){if(!Z.level||Z.level!=="block"&&Z.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let W=J[Z.level];W?W.unshift(Z.tokenizer):J[Z.level]=[Z.tokenizer],Z.start&&(Z.level==="block"?J.startBlock?J.startBlock.push(Z.start):J.startBlock=[Z.start]:Z.level==="inline"&&(J.startInline?J.startInline.push(Z.start):J.startInline=[Z.start]))}"childTokens"in Z&&Z.childTokens&&(J.childTokens[Z.name]=Z.childTokens)}),K.extensions=J),Y.renderer){let Z=this.defaults.renderer||new p4(this.defaults);for(let W in Y.renderer){if(!(W in Z))throw Error(`renderer '${W}' does not exist`);if(["options","parser"].includes(W))continue;let G=W,Q=Y.renderer[G],H=Z[G];Z[G]=(...z)=>{let q=Q.apply(Z,z);return q===!1&&(q=H.apply(Z,z)),q||""}}K.renderer=Z}if(Y.tokenizer){let Z=this.defaults.tokenizer||new m4(this.defaults);for(let W in Y.tokenizer){if(!(W in Z))throw Error(`tokenizer '${W}' does not exist`);if(["options","rules","lexer"].includes(W))continue;let G=W,Q=Y.tokenizer[G],H=Z[G];Z[G]=(...z)=>{let q=Q.apply(Z,z);return q===!1&&(q=H.apply(Z,z)),q}}K.tokenizer=Z}if(Y.hooks){let Z=this.defaults.hooks||new C4;for(let W in Y.hooks){if(!(W in Z))throw Error(`hook '${W}' does not exist`);if(["options","block"].includes(W))continue;let G=W,Q=Y.hooks[G],H=Z[G];C4.passThroughHooks.has(W)?Z[G]=(z)=>{if(this.defaults.async&&C4.passThroughHooksRespectAsync.has(W))return(async()=>{let U=await Q.call(Z,z);return H.call(Z,U)})();let q=Q.call(Z,z);return H.call(Z,q)}:Z[G]=(...z)=>{if(this.defaults.async)return(async()=>{let U=await Q.apply(Z,z);return U===!1&&(U=await H.apply(Z,z)),U})();let q=Q.apply(Z,z);return q===!1&&(q=H.apply(Z,z)),q}}K.hooks=Z}if(Y.walkTokens){let Z=this.defaults.walkTokens,W=Y.walkTokens;K.walkTokens=function(G){let Q=[];return Q.push(W.call(this,G)),Z&&(Q=Q.concat(Z.call(this,G))),Q}}this.defaults={...this.defaults,...K}}),this}setOptions(X){return this.defaults={...this.defaults,...X},this}lexer(X,J){return z0.lex(X,J??this.defaults)}parser(X,J){return q0.parse(X,J??this.defaults)}parseMarkdown(X){return(J,Y)=>{let K={...Y},Z={...this.defaults,...K},W=this.onError(!!Z.silent,!!Z.async);if(this.defaults.async===!0&&K.async===!1)return W(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof J>"u"||J===null)return W(Error("marked(): input parameter is undefined or null"));if(typeof J!="string")return W(Error("marked(): input parameter is of type "+Object.prototype.toString.call(J)+", string expected"));if(Z.hooks&&(Z.hooks.options=Z,Z.hooks.block=X),Z.async)return(async()=>{let G=Z.hooks?await Z.hooks.preprocess(J):J,Q=await(Z.hooks?await Z.hooks.provideLexer():X?z0.lex:z0.lexInline)(G,Z),H=Z.hooks?await Z.hooks.processAllTokens(Q):Q;Z.walkTokens&&await Promise.all(this.walkTokens(H,Z.walkTokens));let z=await(Z.hooks?await Z.hooks.provideParser():X?q0.parse:q0.parseInline)(H,Z);return Z.hooks?await Z.hooks.postprocess(z):z})().catch(W);try{Z.hooks&&(J=Z.hooks.preprocess(J));let G=(Z.hooks?Z.hooks.provideLexer():X?z0.lex:z0.lexInline)(J,Z);Z.hooks&&(G=Z.hooks.processAllTokens(G)),Z.walkTokens&&this.walkTokens(G,Z.walkTokens);let Q=(Z.hooks?Z.hooks.provideParser():X?q0.parse:q0.parseInline)(G,Z);return Z.hooks&&(Q=Z.hooks.postprocess(Q)),Q}catch(G){return W(G)}}}onError(X,J){return(Y)=>{if(Y.message+=`
100
+ Please report this to https://github.com/markedjs/marked.`,X){let K="<p>An error occurred:</p><pre>"+L0(Y.message+"",!0)+"</pre>";return J?Promise.resolve(K):K}if(J)return Promise.reject(Y);throw Y}}},$4=new VX;function Y1(X,J){return $4.parse(X,J)}Y1.options=Y1.setOptions=function(X){return $4.setOptions(X),Y1.defaults=$4.defaults,F8(Y1.defaults),Y1};Y1.getDefaults=S$;Y1.defaults=X4;Y1.use=function(...X){return $4.use(...X),Y1.defaults=$4.defaults,F8(Y1.defaults),Y1};Y1.walkTokens=function(X,J){return $4.walkTokens(X,J)};Y1.parseInline=$4.parseInline;Y1.Parser=q0;Y1.parser=q0.parse;Y1.Renderer=p4;Y1.TextRenderer=_$;Y1.Lexer=z0;Y1.lexer=z0.lex;Y1.Tokenizer=m4;Y1.Hooks=C4;Y1.parse=Y1;var{options:pG,setOptions:cG,use:lG,walkTokens:xG,parseInline:dG}=Y1;var rG=q0.parse,oG=z0.lex;var J4=M(o(),1),g1={h1:{bold:!0,marginBottom:1,color:"#f74cc7ff"},h2:{bold:!0,marginBottom:1,color:"#326cfcff"},h3:{bold:!0,color:"#24ffedff"},h4:{bold:!0,color:"#e29418ff"},h5:{bold:!0,color:"#9fc214ff"},h6:{bold:!0,dimColor:!0,color:"#88eb2bff"},paragraph:{},blockquote:{paddingLeft:1,dimColor:!0,borderTop:!1,borderBottom:!1,borderRight:!1,borderStyle:"single",borderDimColor:!0},code:{marginTop:1,paddingX:2},codespan:{dimColor:!0},list:{},listItem:{bullet:"●",paddingLeft:2},hr:{char:"─",width:40,dimColor:!0},link:{color:"#343afcff",underline:!0},strong:{bold:!0},em:{italic:!0},del:{strikethrough:!0,dimColor:!0},image:{color:"blue"},table:{},tableCell:{paddingRight:2}},jX=["color","backgroundColor","dimColor","bold","italic","underline","strikethrough","inverse","wrap"],_X=["paddingLeft","paddingRight","paddingTop","paddingBottom","padding","paddingX","paddingY","marginLeft","marginRight","marginTop","marginBottom","margin","marginX","marginY","borderStyle","borderColor","borderTop","borderBottom","borderLeft","borderRight","borderDimColor","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopDimColor","borderBottomDimColor","borderLeftDimColor","borderRightDimColor"];function x1(X){if(!X)return{};let J={};for(let Y of jX)if(Y in X)J[Y]=X[Y];return J}function D0(X){if(!X)return{};let J={};for(let Y of _X)if(Y in X)J[Y]=X[Y];return J}function m1(X,J){if(!X&&!J)return{};if(!X)return J;if(!J)return X;return{...X,...J}}function a1(X,J,Y){if(!X||X.length===0)return null;return X.map((K,Z)=>{let W=`inline-${Z}`;switch(K.type){case"text":case"escape":{let G=K;if("tokens"in G&&G.tokens)return h.jsx(O,{children:a1(G.tokens,J,Y)},W);return h.jsx(O,{children:G.text},W)}case"strong":{let G=K,Q=m1(g1.strong,J.strong);if(Y.strong)return h.jsx(O,{children:Y.strong(a1(G.tokens,J,Y),G)},W);return h.jsx(O,{...x1(Q),children:a1(G.tokens,J,Y)},W)}case"em":{let G=K,Q=m1(g1.em,J.em);if(Y.em)return h.jsx(O,{children:Y.em(a1(G.tokens,J,Y),G)},W);return h.jsx(O,{...x1(Q),children:a1(G.tokens,J,Y)},W)}case"del":{let G=K,Q=m1(g1.del,J.del);if(Y.del)return h.jsx(O,{children:Y.del(a1(G.tokens,J,Y),G)},W);return h.jsx(O,{...x1(Q),children:a1(G.tokens,J,Y)},W)}case"codespan":{let G=K,Q=m1(g1.codespan,J.codespan);if(Y.codespan)return h.jsx(O,{children:Y.codespan(G.text,G)},W);return h.jsx(O,{...x1(Q),children:G.text},W)}case"link":{let G=K,Q=m1(g1.link,J.link);if(Y.link)return h.jsx(O,{children:Y.link(G.text,G.href,G.title,G)},W);return h.jsxs(O,{...x1(Q),children:[G.text,G.href&&` (${G.href})`]},W)}case"image":{let G=K,Q=m1(g1.image,J.image);if(Y.image)return h.jsx(O,{children:Y.image(G.text,G.href,G.title,G)},W);return h.jsxs(O,{...x1(Q),children:["[Image: ",G.text||G.href,"]"]},W)}case"br":return h.jsx(O,{children:`
101
+ `},W);default:if("text"in K)return h.jsx(O,{children:K.text},W);return null}})}function I8(X,J,Y,K){switch(X.type){case"heading":{let Z=X,W=`h${Z.depth}`,G=`h${Z.depth}`,Q=Y[W];if(Q)return Q(Z.text,Z);let H=m1(g1[G],J[G]),z=typeof H.showSharp=="boolean"?H.showSharp:Boolean(K);return h.jsx(A,{...D0(H),children:h.jsxs(O,{...x1(H),children:[z&&`${"#".repeat(Z.depth)} `,a1(Z.tokens,J,Y)]})})}case"paragraph":{let Z=X,W=m1(g1.paragraph,J.paragraph),G=a1(Z.tokens,J,Y);if(Y.paragraph)return Y.paragraph(G,Z);return h.jsx(A,{...D0(W),children:h.jsx(O,{...x1(W),children:G})})}case"code":{let Z=X,W=m1(g1.code,J.code);if(Y.code)return Y.code(Z.text,Z.lang,Z);return h.jsx(A,{...D0(W),children:h.jsx(O,{...x1(W),children:Z.text})})}case"blockquote":{let Z=X,W=m1(g1.blockquote,J.blockquote);if(Y.blockquote){let G=Z.tokens.map((Q,H)=>h.jsx(A,{children:I8(Q,J,Y,K)},`bq-${H}`));return Y.blockquote(G,Z)}return h.jsx(A,{...D0(W),children:h.jsx(A,{flexDirection:"column",children:Z.tokens.map((G,Q)=>h.jsx(O,{...x1(W),children:G.type==="paragraph"?a1(G.tokens,J,Y):G.text||""},`bq-text-${Q}`))})})}case"list":{let Z=X,W=m1(g1.list,J.list),G=m1(g1.listItem,J.listItem),Q=G.bullet||"●",H=Z.items.map((z,q)=>{let U=typeof Z.start=="number"?Z.start:1,N=Z.ordered?`${U+q}. `:`${Q} `,w=a1(z.tokens,J,Y);if(Y.listItem)return h.jsx(A,{...D0(G),children:Y.listItem(w,z)},`li-${q}`);return h.jsx(A,{...D0(G),children:h.jsxs(O,{...x1(G),children:[N,w]})},`li-${q}`)});if(Y.list)return Y.list(H,Z.ordered,Z);return h.jsx(A,{flexDirection:"column",...D0(W),children:H})}case"hr":{let Z=X,W=m1(g1.hr,J.hr),G=W.char||"─",Q=W.width||40;if(Y.hr)return Y.hr(Z);return h.jsx(A,{...D0(W),children:h.jsx(O,{...x1(W),children:G.repeat(Q)})})}case"table":{let Z=X,W=m1(g1.table,J.table),G=m1(g1.tableCell,J.tableCell),Q=(R)=>R.map((B)=>{if("text"in B)return B.text;return""}).join(""),H=Z.header.map((R,B)=>{let L=Q(R.tokens).length,k=Math.max(...Z.rows.map((D)=>{let S=D[B]?.tokens;return S?Q(S).length:0}),0);return Math.max(L,k,3)}),z=h.jsxs(O,{dimColor:!0,children:["┌─",H.map((R)=>"─".repeat(R)).join("─┬─"),"─┐"]}),q=h.jsxs(O,{children:[h.jsx(O,{dimColor:!0,children:"│ "}),Z.header.map((R,B)=>{let L=a1(R.tokens,J,Y),k=Q(R.tokens);return h.jsxs(O,{children:[h.jsxs(O,{bold:!0,...x1(G),children:[L," ".repeat(Math.max(0,(H[B]||3)-k.length))]}),h.jsxs(O,{dimColor:!0,children:[" ","│",B<Z.header.length-1?" ":""]})]},`th-${B}`)})]}),U=h.jsxs(O,{dimColor:!0,children:["├─",H.map((R)=>"─".repeat(R)).join("─┼─"),"─┤"]}),N=Z.rows.map((R,B)=>h.jsxs(O,{children:[h.jsx(O,{dimColor:!0,children:"│ "}),R.map((L,k)=>{let D=a1(L.tokens,J,Y),S=Q(L.tokens),V=H[k]||3;return h.jsxs(O,{children:[h.jsxs(O,{...x1(G),children:[D," ".repeat(Math.max(0,V-S.length))]}),h.jsxs(O,{dimColor:!0,children:[" │",k<R.length-1?" ":""]})]},`td-${B}-${k}`)})]},`tr-${B}`)),w=h.jsxs(O,{dimColor:!0,children:["└─",H.map((R)=>"─".repeat(R)).join("─┴─"),"─┘"]}),F=h.jsxs(h.Fragment,{children:[z,q,U,N,w]});if(Y.table)return Y.table(q,N,Z);return h.jsx(A,{flexDirection:"column",...D0(W),children:F})}case"space":return h.jsx(O,{children:`
102
+ `});case"html":return h.jsx(O,{dimColor:!0,children:X.text});default:if("text"in X)return h.jsx(O,{children:X.text});return null}}var V8=J4.memo(function({token:X,styles:J,renderers:Y,showSharp:K}){return h.jsx(h.Fragment,{children:I8(X,J,Y,K)})},(X,J)=>X.token===J.token);V8.displayName="MemoizedBlock";function EX({children:X,id:J,styles:Y={},renderers:K={},showSharp:Z=!1}){let W=J4.useId(),G=J||W,Q=J4.useMemo(()=>Y1.lexer(X,{silent:!0,gfm:!0}),[X]);return h.jsx(A,{flexDirection:"column",children:Q.map((H,z)=>h.jsx(V8,{token:H,styles:Y,renderers:K,showSharp:Z},`${G}-block-${z}`))})}var D8=J4.memo(EX);D8.displayName="Markdown";var fX=D8,j8=fX;var _8=M(o(),1);var b4=M(v(),1),E8=({children:X,color:J,dim:Y,bold:K,italic:Z})=>{let W=_8.useMemo(()=>{return X.split(`
103
+ `).map((G)=>G===""?`
104
+ `:G)},[X]);return b4.jsxDEV(b4.Fragment,{children:W.map((G,Q)=>b4.jsxDEV(O,{color:J,dimColor:Y,bold:K,italic:Z,children:G},Q,!1,void 0,this))},void 0,!1,void 0,this)};var x4=M(o(),1),E$=M(v(),1),hX=(X,J,Y=5)=>{if(!J||!X||X.trim()==="")return X;let K=X.split(`
105
+ `);if(K.length<=Y)return X;let Z=K.length-Y,W=K.slice(-Y);return`\x1B[33m${Z} rows hidden...\x1B[0m
151
106
  ${W.join(`
152
- `)}`},DK=({children:$,simple:Z,loading:X,maxRows:Y=5})=>{let J=z8.useMemo(()=>{return IK($,X,Y)},[$,X,Y]);if(Z)return S6.jsxDEV(MX,{children:J},void 0,!1,void 0,this);return S6.jsxDEV(UX,{children:J},void 0,!1,void 0,this)},qX=z8.memo(DK);var C0=B(V(),1),jK=({message:$,messageNumber:Z,loading:X})=>{let J=W7($),W=O$($);if(!W)return C0.jsxDEV(C0.Fragment,{},void 0,!1,void 0,this);return C0.jsxDEV(w,{flexDirection:"column",children:[C0.jsxDEV(w,{paddingBottom:0,marginBottom:1,children:C0.jsxDEV(N,{color:o4("teal"),children:[Z," ","Zen Code"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J&&C0.jsxDEV(yK,{thinking:J,visible:W.trim().length===0},void 0,!1,void 0,this),C0.jsxDEV(qX,{simple:!1,loading:X,children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},yK=({thinking:$,visible:Z})=>{let X=$.split(`
153
- `);return C0.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[C0.jsxDEV(w,{paddingBottom:0,children:C0.jsxDEV(N,{color:"gray",bold:!0,children:["Think ",X.length," rows"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Z&&C0.jsxDEV(AX,{content:$,maxLines:3},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},G8=jK;var CX=B(e(),1);var d=B(V(),1),FX=["yellow","magenta","blue"],EK=($)=>{let Z=0;for(let Y=0;Y<$.length;Y++)Z=$.charCodeAt(Y)+((Z<<5)-Z);let X=Math.abs(Z%FX.length);return FX[X]},vK=($)=>{return{success:"✓",completed:"✓",ok:"✓",error:"✗",failed:"✗",pending:"⏳",in_progress:"⏳",running:"⏳",cancelled:"⏹"}[$]||"⏳"},_K=($,Z=4,X=100)=>{let Y=$.split(`
154
- `),J=(Q)=>{if(Q.length<=X)return Q;return Q.substring(0,X)+`... (${Q.length-X} more chars)`};if(Y.length<=Z)return Y.map(J).join(`
155
- `);let W=Y.slice(0,2).map(J),K=Y.slice(Y.length-3).map(J);return[...W,`... and more ${Y.length-5} lines`,...K].join(`
156
- `)},fK=({content:$})=>{let Z=(X,Y=0,J=0)=>{let K=" ".repeat(Y);if(J>=3)return d.jsxDEV(N,{dimColor:!0,children:"{...} (truncated)"},void 0,!1,void 0,this);if(X===null)return d.jsxDEV(N,{color:"gray",children:"null"},void 0,!1,void 0,this);if(typeof X!=="object"){let G=JSON.stringify(X);if(typeof X==="string"&&G.length>102){let O=G.substring(1,101);return d.jsxDEV(N,{children:[d.jsxDEV(N,{color:"cyan",children:['"',O,'..."']},void 0,!0,void 0,this)," ",d.jsxDEV(N,{dimColor:!0,children:["(truncated, ",G.length-2," chars)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof X==="string")return d.jsxDEV(N,{color:"cyan",children:G},void 0,!1,void 0,this);else if(typeof X==="number")return d.jsxDEV(N,{color:"yellow",children:X},void 0,!1,void 0,this);else if(typeof X==="boolean")return d.jsxDEV(N,{color:"magenta",children:X.toString()},void 0,!1,void 0,this);else return d.jsxDEV(N,{children:G},void 0,!1,void 0,this)}if(Array.isArray(X)){if(X.length===0)return d.jsxDEV(N,{color:"gray",children:"[]"},void 0,!1,void 0,this);let G=5;return d.jsxDEV(d.Fragment,{children:[`
157
- `,X.slice(0,G).map((O,H)=>d.jsxDEV(N,{children:[d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{color:"green",children:"- "},void 0,!1,void 0,this)," ",Z(O,Y+1,J+1),H<Math.min(X.length,G)-1?`
158
- `:""]},void 0,!0,void 0,this)),X.length>G&&d.jsxDEV(N,{children:[`
159
- `,d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{dimColor:!0,children:["... (",X.length-G," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}let Q=Object.keys(X);if(Q.length===0)return d.jsxDEV(N,{color:"gray"},void 0,!1,void 0,this);let z=5;return d.jsxDEV(d.Fragment,{children:[Q.slice(0,z).map((G,O)=>d.jsxDEV(N,{children:[d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{color:"blue",children:G},void 0,!1,void 0,this)," ",d.jsxDEV(N,{color:"gray",children:": "},void 0,!1,void 0,this)," ",Z(X[G],Y+1,J+1),O<Math.min(Q.length,z)-1?`
160
- `:""]},void 0,!0,void 0,this)),Q.length>z&&d.jsxDEV(N,{children:[`
161
- `,d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{dimColor:!0,children:["... (",Q.length-z," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};return d.jsxDEV(N,{children:Z($)},void 0,!1,void 0,this)},hK=({message:$,messageNumber:Z})=>{let{getToolUIRender:X,client:Y}=d1(),J=new W6($,Y),W=J.getInputRepaired(),K=W?.title?`: ${W.title}`:W?.description?`: ${W.description}`:"",Q=$.name?X($.name):null,z=EK($.name||"");return z=$.status==="error"?"red":"yellow",CX.default.useEffect(()=>{if($.status==="error"&&$.name)import("./chunk-5c3bpcpm.js").then(({logToolError:G,logTerminalError:O,logAgentError:H})=>{let U=V6($.content),M=typeof U==="string"?U:JSON.stringify(U);if($.name==="terminal"){let A=W?.command||"unknown";O(A,M)}else if($.name?.startsWith("Agent:"))H($.name,M);else G($.name,M)}).catch((G)=>{console.warn("Failed to log error:",G)})},[$.status,$.name,$.content,W?.command]),d.jsxDEV(w1,{children:d.jsxDEV(w,{flexDirection:"column",children:[d.jsxDEV(w,{children:[d.jsxDEV(N,{color:z,children:[Z," ",$.name,d.jsxDEV(N,{color:"gray",children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(N,{children:[" ",vK($?.status)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q?d.jsxDEV(w,{children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(w,{flexDirection:"column",children:Q($)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):d.jsxDEV(w,{flexDirection:"column",paddingTop:0,children:[d.jsxDEV(w,{children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(fK,{content:J.getInputRepaired()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{paddingTop:0,paddingBottom:0,children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(N,{dimColor:!0,italic:!0,children:_K(V6($.content))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.sub_messages?.length?d.jsxDEV(w,{children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(N,{color:z,dimColor:!0,children:["(hidden ",$.sub_messages.length," subagent messages)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},BX=hK;var V4=B(V(),1),PX=H8.memo(function({renderMessages:Z,startIndex:X,staticKey:Y,loading:J}){let[W,K]=H8.useState(!1);M0(()=>K(!0),W?null:0);let Q=(H,U,M,A)=>V4.jsxDEV(w,{flexDirection:"column",paddingLeft:1,paddingBottom:1,children:H.type==="human"?V4.jsxDEV(Z8,{content:H.content,messageNumber:U+1+X},void 0,!1,void 0,this):H.type==="tool"?V4.jsxDEV(BX,{message:H,messageNumber:U+1+X},void 0,!1,void 0,this):V4.jsxDEV(G8,{message:H,messageNumber:U+1+X,loading:J},void 0,!1,void 0,this)},H.id?`${A}-${H.id}`:`${A}-msg-${U}`,!1,void 0,this),z=Z.findIndex((H)=>{if(H.type==="tool"&&!H.done&&!["success","error"].includes(H.status))return!0;return!1});if(z===-1)z=Z.length-1;let G=Z.slice(0,z),O=Z.slice(z);if(!W)return V4.jsxDEV(w,{flexDirection:"column",children:Z.map((H,U)=>Q(H,U,U===z,"init"))},void 0,!1,void 0,this);return V4.jsxDEV(w,{flexDirection:"column",children:[V4.jsxDEV(O8,{items:G,children:(H,U)=>Q(H,U,!1,"hist")},Y,!1,void 0,this),O.map((H,U)=>Q(H,G.length+U,!0,"curr"))]},void 0,!0,void 0,this)});var k4=B(e(),1);var F$=B(e(),1);var N8=B(V(),1),gK=({staticKey:$,children:Z,delay:X=1})=>{let[Y,J]=F$.useState(!0),W=F$.useRef(!0);return F$.useEffect(()=>{J(!1),W.current=!0},[$]),M0(()=>{if(W.current)process.stdout.write(LX),J(!0),W.current=!1},Y?null:X),N8.jsxDEV(N8.Fragment,{children:Y?Z():null},void 0,!1,void 0,this)},RX=gK;var b1=B(V(),1),mK=k4.memo(function({toolGroup:Z,groupId:X,getToolUIRender:Y,depth:J=0,loading:W}){if(J>1)return null;return b1.jsxDEV(w,{flexDirection:"column",children:Z.map((K,Q)=>{let z=K.name?Y(K.name):null;if(!z)return null;let G=K.sub_messages||[],O=G.length;return b1.jsxDEV(k4.Fragment,{children:[b1.jsxDEV(()=>{return b1.jsxDEV(w1,{fallback:K.name+" is error",children:z(K)},void 0,!1,void 0,this)},{},void 0,!1,void 0,this),G.length?b1.jsxDEV(b1.Fragment,{children:O>0&&b1.jsxDEV(w,{paddingLeft:2,children:b1.jsxDEV(N,{dimColor:!0,children:["... ",O," more submessage",O>1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},`${X}-${Q}-${K.status}`,!0,void 0,this)})},void 0,!1,void 0,this)}),SX=k4.memo(function({message:Z,displayIndex:X,isCurrent:Y,startIndex:J=0,getToolUIRender:W,depth:K=0,loading:Q}){return b1.jsxDEV(w,{flexDirection:"column",paddingBottom:1,children:[Z.type==="human"?b1.jsxDEV(Z8,{content:Z.content,messageNumber:X+1+J},void 0,!1,void 0,this):null,Z.type==="ai"?b1.jsxDEV(G8,{message:Z,messageNumber:X+1+J,loading:Q},void 0,!1,void 0,this):null,Z.type==="group"&&b1.jsxDEV(b1.Fragment,{children:b1.jsxDEV(mK,{toolGroup:Z.toolGroup,groupId:Z.id,getToolUIRender:W,depth:K,loading:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}),VX=($)=>{if($.type!=="ai")return!0;try{let Z=O$($);return!!(Z&&Z.trim().length>0)}catch{return!1}},kX=k4.memo(function({renderMessages:Z,startIndex:X,staticKey:Y,depth:J=0,getToolUIRender:W,loading:K}){let Q=k4.useMemo(()=>{let H=0;return Z.filter((U)=>{if(U.type==="ai")return VX(U);return!0}).reduce((U,M)=>{if(M.type==="tool"){let A=U[U.length-1];if(A&&A.type==="group"&&A.toolGroup.length<5)A.toolGroup.push(M);else U.push({id:`tool-group-${H++}`,type:"group",toolGroup:[M]})}else U.push(M);return U},[])},[Z,VX]),z=Q.length-1;if(z===-1)z=Q.length-1;if(!K)z=Q.length;let G=Q.slice(0,z),O=Q.slice(z);return b1.jsxDEV(w,{flexDirection:"column",children:[b1.jsxDEV(RX,{staticKey:`${Y} ${G.length}`,children:()=>b1.jsxDEV(O8,{items:G,children:(H,U)=>b1.jsxDEV(SX,{message:H,displayIndex:U,isCurrent:!1,startIndex:X,getToolUIRender:W,depth:J,loading:K},H.id?`hist-${H.id}`:`hist-msg-${J}-${U}`,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),O.map((H,U)=>b1.jsxDEV(SX,{message:H,displayIndex:G.length+U,isCurrent:!0,startIndex:X,getToolUIRender:W,depth:J,loading:K},H.id?`curr-${H.id}`:`curr-msg-${J}-${G.length}-${U}`,!1,void 0,this))]},void 0,!0,void 0,this)});var TX={name:"zen-code",version:"4.10.2",description:"",main:"./dist/cli.js",bin:"./dist/cli.js",files:["dist"],scripts:{dev:"bun run --smol src/cli.ts",build:"bun run bun.build.ts",prepublishOnly:"bun run build",test:"vitest","test:ui":"vitest --ui","test:coverage":"vitest --coverage"},keywords:[],author:"KonghaYao",license:"Apache-2.0",dependencies:{},devDependencies:{"@anthropic-ai/sdk":"^0.71.2","@codegraph/agent":"workspace:^","@codegraph/config":"workspace:^","@codegraph/union-client":"workspace:^","@google/generative-ai":"^0.24.1","@inkjs/ui":"^2.0.0","@langchain/anthropic":"^1.3.22","@langchain/core":"^1.1.31","@langchain/google-genai":"^2.1.18","@langchain/langgraph":"^1.2.1","@langchain/mcp-adapters":"^1.1.1","@langchain/openai":"^1.2.12","@langgraph-js/agent-middlewares":"workspace:^","@langgraph-js/pure-graph":"^3.3.0","@langgraph-js/sdk":"^4.6.4","@langgraph-js/standard-agent":"workspace:^","@nanostores/react":"^1.0.0","@tanstack/react-query":"^5.90.21","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/diff-match-patch":"^1.0.36","@types/fs-extra":"^11.0.4","@types/node-notifier":"^8.0.5","@types/react":"^19.2.14","@vitejs/plugin-react":"^5.1.2","ansi-escapes":"^7.3.0",chalk:"^5.6.2","diff-match-patch":"^1.0.5",execa:"^9.6.1","extract-zip":"^2.0.1","fs-extra":"^11.3.3",fuzzysort:"^3.1.0","happy-dom":"^20.3.9",ink:"^6.8.0","ink-markdown-es":"^1.4.0","ink-pro":"workspace:^","ink-spinner":"^5.0.0","ink-syntax-highlight":"^2.0.2",kysely:"^0.28.11","kysely-bun-worker":"^1.2.1","kysely-wasm":"^1.2.1",langchain:"^1.2.30",lowdb:"^7.0.1",marked:"^17.0.3",micromatch:"^4.0.8","node-notifier":"^10.0.1","node-sqlite3-wasm":"^0.8.53",openai:"^6.16.0","path-exists":"^5.0.0",pidusage:"^4","proper-lockfile":"^4.1.2",react:"^19.2.3","react-devtools-core":"^7.0.1","string-width":"^8.1.0",tempy:"^3.1.0","usehooks-ts":"^3.1.1",vite:"^7.3.1","vite-bundle-analyzer":"^1.3.2","vite-plugin-static-copy":"^3.1.4",vitest:"^4.0.18","xdg-basedir":"^5.1.0",yaml:"^2.8.2",zod:"^4.3.5"},babel:{presets:["@babel/preset-react"]}};var H1=B(V(),1),uK=[[[" ▓▓ ▓▓ ","yellow"]],[[" ▓▓▓▓▓▓▓▓ ","yellow"]],[[" ▓▓ ","yellow"],[">","cyan"],[" ","yellow"],["<","cyan"],[" ▓▓ ","yellow"]],[[" ▓▓▓▓▓▓▓▓▓▓ ","yellow"]],[["▓▓▓▓▓","cyan"],["▓▓","yellow"],["▓▓▓▓▓","cyan"]],[[" ▓▓▓▓","cyan"],["▓▓","yellow"],["▓▓▓▓ ","cyan"]],[[" ▀▀▀▀▀▀▀▀ ","gray"]]],bX=[["/model","模型"],["/mcp","MCP"],["/agent","Agent"],["/new","新对话"],["/plan","规划"],["/settings","设置"],["/help","帮助"]],U8=({label:$,value:Z,valueColor:X="white"})=>H1.jsxDEV(w,{gap:1,children:[H1.jsxDEV(N,{color:"blue",dimColor:!0,children:$.padEnd(10)},void 0,!1,void 0,this),H1.jsxDEV(N,{color:X,children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),cK=()=>{let{AVAILABLE_MODELS:$,config:Z,extraParams:X}=p1(),Y=Z?.provider_id||process.env.MODEL_PROVIDER||"openai",W=!!Z?.providers?.find((A)=>A.id===Y)?.apiKey,K=$.length>0,Q=W&&K,z=X?.model_id||Z?.model_id||"—",G=X?.switch_command||"default",O=process.cwd(),H=4,U=bX.slice(0,4),M=bX.slice(4);return H1.jsxDEV(w,{flexDirection:"column",paddingX:1,marginBottom:1,children:[H1.jsxDEV(w,{justifyContent:"space-between",marginBottom:1,children:[H1.jsxDEV(w,{gap:2,children:[H1.jsxDEV(N,{color:"cyan",bold:!0,children:"ZEN CODE"},void 0,!1,void 0,this),H1.jsxDEV(N,{dimColor:!0,children:["v",TX.version]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H1.jsxDEV(N,{color:Q?"green":"red",bold:!0,children:Q?"● ONLINE":"● OFFLINE"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H1.jsxDEV(w,{flexDirection:"row",gap:3,children:[H1.jsxDEV(w,{flexDirection:"column",alignItems:"center",children:uK.map((A,F)=>H1.jsxDEV(w,{children:A.map(([P,S],T)=>H1.jsxDEV(N,{color:S,children:P},T,!1,void 0,this))},F,!1,void 0,this))},void 0,!1,void 0,this),H1.jsxDEV(w,{flexDirection:"column",justifyContent:"center",gap:0,children:[H1.jsxDEV(U8,{label:"Provider",value:Y,valueColor:"cyan"},void 0,!1,void 0,this),H1.jsxDEV(U8,{label:"Model",value:z,valueColor:"yellow"},void 0,!1,void 0,this),H1.jsxDEV(U8,{label:"Agent",value:G,valueColor:"magenta"},void 0,!1,void 0,this),H1.jsxDEV(U8,{label:"CWD",value:O.length>40?"…"+O.slice(-39):O,valueColor:"gray"},void 0,!1,void 0,this),!Q&&H1.jsxDEV(w,{marginTop:1,children:H1.jsxDEV(N,{color:"yellow",children:!W?"⚠ 运行 /model 配置 API Key":"⚠ 运行 /model 检查模型列表"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H1.jsxDEV(w,{flexDirection:"column",gap:0,borderTop:!0,borderStyle:"single",borderBottom:!0,borderLeft:!1,borderRight:!1,children:[H1.jsxDEV(w,{gap:4,children:U.map(([A,F])=>H1.jsxDEV(w,{gap:1,children:[H1.jsxDEV(N,{color:"cyan",children:A},void 0,!1,void 0,this),H1.jsxDEV(N,{dimColor:!0,children:F},void 0,!1,void 0,this)]},A,!0,void 0,this))},void 0,!1,void 0,this),H1.jsxDEV(w,{gap:4,children:M.map(([A,F])=>H1.jsxDEV(w,{gap:1,children:[H1.jsxDEV(N,{color:"cyan",children:A},void 0,!1,void 0,this),H1.jsxDEV(N,{dimColor:!0,children:F},void 0,!1,void 0,this)]},A,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},IX=cK;var B8=B(e(),1);var BZ=B(e(),1);class DX{commands=new Map;aliases=new Map;register($){if(this.commands.set($.name,$),$.aliases)$.aliases.forEach((Z)=>{this.aliases.set(Z,$.name)})}getCommand($){let Z=this.aliases.get($)||$;return this.commands.get(Z)}getAllCommands(){return Array.from(this.commands.values())}isCommand($){return $.trim().startsWith("/")}parseCommand($){if(!this.isCommand($))return null;let X=$.trim().slice(1).split(/\s+/),Y=X[0],J=X.slice(1);return{command:Y,args:J}}async executeCommand($,Z){let X=this.parseCommand($);if(!X)return{success:!1,message:"无效的命令格式"};let{command:Y,args:J}=X,W=this.getCommand(Y);if(!W)return{success:!1,message:`未知命令: /${Y}`};if(W.requiresArgs&&J.length===0)return{success:!1,message:`命令 /${Y} 需要参数。用法: ${W.usage||`/${Y} <args>`}`};if(W.validateArgs&&!W.validateArgs(J))return{success:!1,message:`命令 /${Y} 参数无效。用法: ${W.usage||`/${Y} <args>`}`};try{return await W.execute(J,Z)}catch(K){return{success:!1,message:`命令执行失败: ${K instanceof Error?K.message:String(K)}`}}}getSuggestions($){if(!$.startsWith("/"))return[];let Z=$.slice(1).toLowerCase(),X=[];if(Z===""){let Q=["new","history","task","agent","model","settings","mcp","knowledge","summarize","template","plan","interview","help"];for(let z of Q){let G=this.commands.get(z);if(G)X.push({command:z,displayText:`/${z}`,description:G.description})}return X.slice(0,10)}let Y=new Set(["history","knowledge","help","init","model","config"]),J=[],W=[];for(let[Q,z]of this.commands){let G=Q.toLowerCase();if(G.startsWith(Z))J.push({command:Q,displayText:`/${Q}`,description:z.description});else if(G.includes(Z))W.push({command:Q,displayText:`/${Q}`,description:z.description});if(z.aliases)for(let O of z.aliases){let H=O.toLowerCase();if(H.startsWith(Z))J.push({command:Q,displayText:`/${O}`,description:`${z.description} (别名)`});else if(H.includes(Z))W.push({command:Q,displayText:`/${O}`,description:`${z.description} (别名)`})}}let K=(Q,z)=>{let G=Y.has(Q.command)?1:0,O=Y.has(z.command)?1:0;if(G!==O)return O-G;return Q.displayText.length-z.displayText.length};return J.sort(K),W.sort(K),X.push(...J,...W),X.slice(0,10)}getHelp($){if($){let X=this.getCommand($);if(!X)return`未找到命令: /${$}`;let Y=`命令: /${X.name}
162
- `;if(Y+=`描述: ${X.description}
163
- `,X.usage)Y+=`用法: ${X.usage}
164
- `;if(X.aliases&&X.aliases.length>0)Y+=`别名: ${X.aliases.map((J)=>`/${J}`).join(", ")}
165
- `;return Y}let Z=`可用命令:
166
- `;for(let X of this.getAllCommands())Z+=` /${X.name} - ${X.description}
167
- `;return Z+=`
168
- 使用 /help <命令名> 获取具体命令的帮助信息`,Z}}var H4=new DX;var jX={name:"settings",description:"打开 Settings 面板(Model 和 Provider 配置)",aliases:["s","model","settings","m"],usage:"/settings",execute:async($,Z)=>{return Z.switchToSettings?.(),{success:!0,message:"打开 Settings 面板",shouldClearInput:!0}}};var pK={name:"new",description:"初始化新的对话会话",aliases:["new","n"],usage:"/new [主题]",execute:async($,Z)=>{let X=$.join(" ");if(await Z.createNewChat(),X){let Y=`我想开始一个关于 "${X}" 的新对话。`;return Z.sendMessage([{type:"human",content:Y}]),{success:!0,message:`已创建新对话,主题: ${X}`,shouldClearInput:!0}}return{success:!0,message:"已创建新对话",shouldClearInput:!0}}},dK={name:"help",description:"显示命令帮助信息",aliases:["h","?"],usage:"/help [命令名]",execute:async($,Z)=>{let X=$[0];return{success:!0,message:H4.getHelp(X),shouldClearInput:!0}}},lK={name:"process",description:"打开进程管理器面板",aliases:["ps","proc"],usage:"/process",execute:async($,Z)=>{return Z.switchToProcess?.(),{success:!0,message:"打开进程管理器",shouldClearInput:!0}}},yX=[pK,dK,jX,lK];import{readFileSync as iK,readdirSync as oK}from"fs";import{join as EX}from"path";var CZ=null;function nK($){let Z=$.split(`
169
- `);if(Z[0]!=="---")return{metadata:{},content:$};let X=Z.indexOf("---",1);if(X===-1)return{metadata:{},content:$};let Y=Z.slice(1,X),J={};for(let K of Y){let Q=K.match(/^(\w+):\s*(.+)$/);if(Q){let[,z,G]=Q;if(z==="name")J.name=G.trim();if(z==="description")J.description=G.trim()}}let W=Z.slice(X+1).join(`
170
- `).trim();return{metadata:J,content:W}}function vX($,Z){let X=new Map;try{let Y=oK($,{withFileTypes:!0});for(let J of Y){let W=EX($,J.name);if(J.isDirectory())vX(W,Z).forEach((Q)=>X.set(Q.name,Q));else if(J.name.endsWith(".md"))try{let K=iK(W,"utf-8"),{metadata:Q,content:z}=nK(K),G=Q.name||J.name.replace(/\.md$/,"");if(!Q.name)console.warn(`Template missing "name" in frontmatter: ${W}`);X.set(G,{name:G,description:Q.description||"No description",content:z,path:W})}catch(K){console.warn(`Failed to read template file: ${W}`,K)}}}catch(Y){if(Y.code!=="ENOENT")console.warn(`Error scanning templates directory: ${$}`,Y)}return X}function _X(){CZ=null}function fX($="./.claude/templates"){if(CZ)return Array.from(CZ.values());let Z=$.startsWith("/")?$:EX(process.cwd(),$);return CZ=vX(Z,Z),Array.from(CZ.values())}var rK={name:"status",description:"显示当前聊天状态信息",aliases:["stat","info"],execute:async($,Z)=>{return{success:!0,message:[`当前代理: ${Z.client?.availableAssistants.find((J)=>J.graph_id===Z.currentAgent)?.name||"未选择"} (${Z.currentAgent||"N/A"})`,`聊天ID: ${Z.client?.currentChatId?.slice(-8)||"N/A"}`,`可用代理数: ${Z.client?.availableAssistants?.length||0}`,`模型: ${Z.extraParams?.model_id||"N/A"}`].join(`
171
- `),shouldClearInput:!0}}},aK={name:"template",description:"插入预定义的消息模板",aliases:["tpl","t"],usage:"/template <模板名>",execute:async($,Z)=>{let X=$[0];if($.includes("--refresh"))return _X(),{success:!0,message:"模板缓存已清除",shouldClearInput:!0};let Y=fX();if(!X){if(Y.length===0)return{success:!0,message:"当前没有可用的模板。可以在 ./.claude/templates/ 目录下创建 .md 模板文件。",shouldClearInput:!0};return{success:!0,message:`可用模板:
172
- ${Y.map((K)=>` - ${K.name}: ${K.description}`).join(`
173
- `)}
174
-
175
- 使用 /template <name> 插入模板`,shouldClearInput:!0}}let J=Y.find((W)=>W.name===X);if(!J){let W=Y.map((K)=>K.name).join(", ");return{success:!1,message:`未找到模板 "${X}"。可用模板: ${W||"(无)"}`}}return Z.setUserInput(J.content),{success:!0,message:`已插入模板: ${J.name}
176
- ${J.description}`,shouldClearInput:!1}}},sK={name:"config",description:"查看或设置配置项",aliases:["cfg"],usage:"/config [key] [value]",execute:async($,Z)=>{if($.length===0)return{success:!0,message:["当前配置:",` model_id: ${Z.extraParams?.model_id||"N/A"}`,` provider_id: ${Z.extraParams?.provider_id||"N/A"}`,` enable_thinking: ${Z.extraParams?.enable_thinking??!0}`,` compact_mode: ${Z.compactMode??!1}`,` stream_refresh_interval: ${Z.extraParams?.stream_refresh_interval}`,"","使用方法:"," /config <key> <value> - 设置配置项"," /config <key> - 查看配置项","","可用配置项:"," model_id - 当前使用的模型 ID"," provider_id - 当前使用的 Provider ID"," enable_thinking - 启用思考模式 (true, false)"," compact_mode - 紧凑模式 (true, false)"," stream_refresh_interval - 流刷新间隔"].join(`
177
- `),shouldClearInput:!0};let X=$[0],Y=["enable_thinking","stream_refresh_interval","provider_id","model_id","compact_mode"];if(!Y.includes(X))return{success:!1,message:`无效的配置项: ${X}
178
- 可用配置项: ${Y.join(", ")}`,shouldClearInput:!0};if($.length===1){let W;switch(X){case"model_id":W=Z.extraParams?.model_id;break;case"provider_id":W=Z.extraParams?.provider_id;break;case"enable_thinking":W=Z.extraParams?.enable_thinking??!0;break;case"compact_mode":W=Z.compactMode??!1;break;case"stream_refresh_interval":W=Z.extraParams?.stream_refresh_interval;break}return{success:!0,message:`${X}: ${W??"未设置"}`,shouldClearInput:!0}}let J=$.slice(1).join(" ");if(X==="enable_thinking"||X==="compact_mode"){if(J==="true"||J==="1"||J==="yes")J=!0;else if(J==="false"||J==="0"||J==="no")J=!1}if(X==="stream_refresh_interval"){let W=parseInt(J,10);if(!isNaN(W))J=W}try{if(!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};await Z.updateConfig({[X]:J});let W=`配置已更新: ${X} = ${J} 重启程序生效`;if(X==="model_id"||X==="provider_id")W+=`
179
-
180
- 提示: 更换模型或提供商后,请重启程序以确保完整生效`;return{success:!0,message:W,shouldClearInput:!0}}catch(W){return{success:!1,message:`配置更新失败: ${W instanceof Error?W.message:String(W)}`,shouldClearInput:!0}}}},tK={name:"mcp",description:"管理 MCP 服务器配置",aliases:[],usage:"/mcp [list|add|remove|get] [args]",execute:async($,Z)=>{if($.length===0)return{success:!0,message:["MCP 配置管理命令:","","用法:"," /mcp list - 列出所有 MCP 服务器"," /mcp add <name> <json_string> - 添加 MCP 服务器 (传统格式)"," /mcp remove <name> - 移除 MCP 服务器"," /mcp get <name> - 查看 MCP 服务器详情","","示例 (JSON 格式):",' /mcp add context7 {"name":"context7","url":"https://mcp.context7.com/mcp"}',""].join(`
181
- `),shouldClearInput:!0};let X=$[0];try{let J=(Z.extraParams||{}).mcp_config||{};switch(X){case"list":{let W=Object.keys(J);if(W.length===0)return{success:!0,message:"当前未配置任何 MCP 服务器",shouldClearInput:!0};return{success:!0,message:`已配置的 MCP 服务器:
107
+ `)}`},uX=({children:X,simple:J,loading:Y,maxRows:K=5})=>{let Z=x4.useMemo(()=>{return hX(X,Y,K)},[X,Y,K]);if(J)return E$.jsxDEV(E8,{children:Z},void 0,!1,void 0,this);return E$.jsxDEV(j8,{children:Z},void 0,!1,void 0,this)},f8=x4.memo(uX);var s1=M(v(),1),gX=({message:X,messageNumber:J,loading:Y})=>{let Z=L6(X),W=Q4(X);if(!W)return s1.jsxDEV(s1.Fragment,{},void 0,!1,void 0,this);return s1.jsxDEV(A,{flexDirection:"column",children:[s1.jsxDEV(A,{paddingBottom:0,marginBottom:1,children:s1.jsxDEV(O,{color:e0("teal"),children:[J," ","Zen Code"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Z&&s1.jsxDEV(mX,{thinking:Z,visible:W.trim().length===0},void 0,!1,void 0,this),s1.jsxDEV(f8,{simple:!1,loading:Y,children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},mX=({thinking:X,visible:J})=>{let Y=X.split(`
108
+ `);return s1.jsxDEV(A,{flexDirection:"column",marginBottom:1,children:[s1.jsxDEV(A,{paddingBottom:0,children:s1.jsxDEV(O,{color:"gray",bold:!0,children:["Think ",Y.length," rows"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J&&s1.jsxDEV(h8,{content:X,maxLines:3},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},d4=gX;var g8=M(o(),1);var c=M(v(),1),u8=["yellow","magenta","blue"],pX=(X)=>{let J=0;for(let K=0;K<X.length;K++)J=X.charCodeAt(K)+((J<<5)-J);let Y=Math.abs(J%u8.length);return u8[Y]},cX=(X)=>{return{success:"✓",completed:"✓",ok:"✓",error:"✗",failed:"✗",pending:"⏳",in_progress:"⏳",running:"⏳",cancelled:"⏹"}[X]||"⏳"},lX=(X,J=4,Y=100)=>{let K=X.split(`
109
+ `),Z=(Q)=>{if(Q.length<=Y)return Q;return Q.substring(0,Y)+`... (${Q.length-Y} more chars)`};if(K.length<=J)return K.map(Z).join(`
110
+ `);let W=K.slice(0,2).map(Z),G=K.slice(K.length-3).map(Z);return[...W,`... and more ${K.length-5} lines`,...G].join(`
111
+ `)},xX=({content:X})=>{let J=(Y,K=0,Z=0)=>{let G=" ".repeat(K);if(Z>=3)return c.jsxDEV(O,{dimColor:!0,children:"{...} (truncated)"},void 0,!1,void 0,this);if(Y===null)return c.jsxDEV(O,{color:"gray",children:"null"},void 0,!1,void 0,this);if(typeof Y!=="object"){let z=JSON.stringify(Y);if(typeof Y==="string"&&z.length>102){let q=z.substring(1,101);return c.jsxDEV(O,{children:[c.jsxDEV(O,{color:"cyan",children:['"',q,'..."']},void 0,!0,void 0,this)," ",c.jsxDEV(O,{dimColor:!0,children:["(truncated, ",z.length-2," chars)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof Y==="string")return c.jsxDEV(O,{color:"cyan",children:z},void 0,!1,void 0,this);else if(typeof Y==="number")return c.jsxDEV(O,{color:"yellow",children:Y},void 0,!1,void 0,this);else if(typeof Y==="boolean")return c.jsxDEV(O,{color:"magenta",children:Y.toString()},void 0,!1,void 0,this);else return c.jsxDEV(O,{children:z},void 0,!1,void 0,this)}if(Array.isArray(Y)){if(Y.length===0)return c.jsxDEV(O,{color:"gray",children:"[]"},void 0,!1,void 0,this);let z=5;return c.jsxDEV(c.Fragment,{children:[`
112
+ `,Y.slice(0,z).map((q,U)=>c.jsxDEV(O,{children:[c.jsxDEV(O,{children:G},void 0,!1,void 0,this),c.jsxDEV(O,{color:"green",children:"- "},void 0,!1,void 0,this)," ",J(q,K+1,Z+1),U<Math.min(Y.length,z)-1?`
113
+ `:""]},void 0,!0,void 0,this)),Y.length>z&&c.jsxDEV(O,{children:[`
114
+ `,c.jsxDEV(O,{children:G},void 0,!1,void 0,this),c.jsxDEV(O,{dimColor:!0,children:["... (",Y.length-z," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}let Q=Object.keys(Y);if(Q.length===0)return c.jsxDEV(O,{color:"gray"},void 0,!1,void 0,this);let H=5;return c.jsxDEV(c.Fragment,{children:[Q.slice(0,H).map((z,q)=>c.jsxDEV(O,{children:[c.jsxDEV(O,{children:G},void 0,!1,void 0,this),c.jsxDEV(O,{color:"blue",children:z},void 0,!1,void 0,this)," ",c.jsxDEV(O,{color:"gray",children:": "},void 0,!1,void 0,this)," ",J(Y[z],K+1,Z+1),q<Math.min(Q.length,H)-1?`
115
+ `:""]},void 0,!0,void 0,this)),Q.length>H&&c.jsxDEV(O,{children:[`
116
+ `,c.jsxDEV(O,{children:G},void 0,!1,void 0,this),c.jsxDEV(O,{dimColor:!0,children:["... (",Q.length-H," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};return c.jsxDEV(O,{children:J(X)},void 0,!1,void 0,this)},dX=({message:X,messageNumber:J})=>{let{getToolUIRender:Y,client:K}=y1(),Z=new w$(X,K),W=Z.getInputRepaired(),G=W?.title?`: ${W.title}`:W?.description?`: ${W.description}`:"",Q=X.name?Y(X.name):null,H=pX(X.name||"");return H=X.status==="error"?"red":"yellow",g8.default.useEffect(()=>{if(X.status==="error"&&X.name)import("./chunk-agevsn2e.js").then(({logToolError:z,logTerminalError:q,logAgentError:U})=>{let N=f$(X.content),w=typeof N==="string"?N:JSON.stringify(N);if(X.name==="terminal"){let F=W?.command||"unknown";q(F,w)}else if(X.name?.startsWith("Agent:"))U(X.name,w);else z(X.name,w)}).catch((z)=>{console.warn("Failed to log error:",z)})},[X.status,X.name,X.content,W?.command]),c.jsxDEV(W1,{children:c.jsxDEV(A,{flexDirection:"column",children:[c.jsxDEV(A,{children:[c.jsxDEV(O,{color:H,children:[J," ",X.name,c.jsxDEV(O,{color:"gray",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c.jsxDEV(O,{children:[" ",cX(X?.status)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q?c.jsxDEV(A,{children:[c.jsxDEV(O,{color:"gray",children:"└─ "},void 0,!1,void 0,this),c.jsxDEV(A,{flexDirection:"column",children:Q(X)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):c.jsxDEV(A,{flexDirection:"column",paddingTop:0,children:[c.jsxDEV(A,{children:[c.jsxDEV(O,{color:"gray",children:"└─ "},void 0,!1,void 0,this),c.jsxDEV(xX,{content:Z.getInputRepaired()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c.jsxDEV(A,{paddingTop:0,paddingBottom:0,children:[c.jsxDEV(O,{color:"gray",children:"└─ "},void 0,!1,void 0,this),c.jsxDEV(O,{dimColor:!0,italic:!0,children:lX(f$(X.content))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),X.sub_messages?.length?c.jsxDEV(A,{children:[c.jsxDEV(O,{color:"gray",children:"└─ "},void 0,!1,void 0,this),c.jsxDEV(O,{color:H,dimColor:!0,children:["(hidden ",X.sub_messages.length," subagent messages)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},m8=dX;var x0=M(v(),1),p8=o4.memo(function({renderMessages:J,startIndex:Y,staticKey:K,loading:Z}){let[W,G]=o4.useState(!1);o1(()=>G(!0),W?null:0);let Q=(U,N,w,F)=>x0.jsxDEV(A,{flexDirection:"column",paddingLeft:1,paddingBottom:1,children:U.type==="human"?x0.jsxDEV(h4,{content:U.content,messageNumber:N+1+Y},void 0,!1,void 0,this):U.type==="tool"?x0.jsxDEV(m8,{message:U,messageNumber:N+1+Y},void 0,!1,void 0,this):x0.jsxDEV(d4,{message:U,messageNumber:N+1+Y,loading:Z},void 0,!1,void 0,this)},U.id?`${F}-${U.id}`:`${F}-msg-${N}`,!1,void 0,this),H=J.findIndex((U)=>{if(U.type==="tool"&&!U.done&&!["success","error"].includes(U.status))return!0;return!1});if(H===-1)H=J.length-1;let z=J.slice(0,H),q=J.slice(H);if(!W)return x0.jsxDEV(A,{flexDirection:"column",children:J.map((U,N)=>Q(U,N,N===H,"init"))},void 0,!1,void 0,this);return x0.jsxDEV(A,{flexDirection:"column",children:[x0.jsxDEV(r4,{items:z,children:(U,N)=>Q(U,N,!1,"hist")},K,!1,void 0,this),q.map((U,N)=>Q(U,z.length+N,!0,"curr"))]},void 0,!0,void 0,this)});var d0=M(o(),1);var w4=M(o(),1);var i4=M(v(),1),rX=({staticKey:X,children:J,delay:Y=1})=>{let[K,Z]=w4.useState(!0),W=w4.useRef(!0);return w4.useEffect(()=>{Z(!1),W.current=!0},[X]),o1(()=>{if(W.current)process.stdout.write(c8),Z(!0),W.current=!1},K?null:Y),i4.jsxDEV(i4.Fragment,{children:K?J():null},void 0,!1,void 0,this)},l8=rX;var R1=M(v(),1),oX=d0.memo(function({toolGroup:J,groupId:Y,getToolUIRender:K,depth:Z=0,loading:W}){if(Z>1)return null;return R1.jsxDEV(A,{flexDirection:"column",children:J.map((G,Q)=>{let H=G.name?K(G.name):null;if(!H)return null;let z=G.sub_messages||[],q=z.length;return R1.jsxDEV(d0.Fragment,{children:[R1.jsxDEV(()=>{return R1.jsxDEV(W1,{fallback:G.name+" is error",children:H(G)},void 0,!1,void 0,this)},{},void 0,!1,void 0,this),z.length?R1.jsxDEV(R1.Fragment,{children:q>0&&R1.jsxDEV(A,{paddingLeft:2,children:R1.jsxDEV(O,{dimColor:!0,children:["... ",q," more submessage",q>1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},`${Y}-${Q}-${G.status}`,!0,void 0,this)})},void 0,!1,void 0,this)}),x8=d0.memo(function({message:J,displayIndex:Y,isCurrent:K,startIndex:Z=0,getToolUIRender:W,depth:G=0,loading:Q}){return R1.jsxDEV(A,{flexDirection:"column",paddingBottom:1,children:[J.type==="human"?R1.jsxDEV(h4,{content:J.content,messageNumber:Y+1+Z},void 0,!1,void 0,this):null,J.type==="ai"?R1.jsxDEV(d4,{message:J,messageNumber:Y+1+Z,loading:Q},void 0,!1,void 0,this):null,J.type==="group"&&R1.jsxDEV(R1.Fragment,{children:R1.jsxDEV(oX,{toolGroup:J.toolGroup,groupId:J.id,getToolUIRender:W,depth:G,loading:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}),d8=(X)=>{if(X.type!=="ai")return!0;try{let J=Q4(X);return!!(J&&J.trim().length>0)}catch{return!1}},r8=d0.memo(function({renderMessages:J,startIndex:Y,staticKey:K,depth:Z=0,getToolUIRender:W,loading:G}){let Q=d0.useMemo(()=>{let U=0;return J.filter((N)=>{if(N.type==="ai")return d8(N);return!0}).reduce((N,w)=>{if(w.type==="tool"){let F=N[N.length-1];if(F&&F.type==="group"&&F.toolGroup.length<5)F.toolGroup.push(w);else N.push({id:`tool-group-${U++}`,type:"group",toolGroup:[w]})}else N.push(w);return N},[])},[J,d8]),H=Q.length-1;if(H===-1)H=Q.length-1;if(!G)H=Q.length;let z=Q.slice(0,H),q=Q.slice(H);return R1.jsxDEV(A,{flexDirection:"column",children:[R1.jsxDEV(l8,{staticKey:`${K} ${z.length}`,children:()=>R1.jsxDEV(r4,{items:z,children:(U,N)=>R1.jsxDEV(x8,{message:U,displayIndex:N,isCurrent:!1,startIndex:Y,getToolUIRender:W,depth:Z,loading:G},U.id?`hist-${U.id}`:`hist-msg-${Z}-${N}`,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),q.map((U,N)=>R1.jsxDEV(x8,{message:U,displayIndex:z.length+N,isCurrent:!0,startIndex:Y,getToolUIRender:W,depth:Z,loading:G},U.id?`curr-${U.id}`:`curr-msg-${Z}-${z.length}-${N}`,!1,void 0,this))]},void 0,!0,void 0,this)});var o8={name:"zen-code",version:"5.0.0",description:"",main:"./dist/cli.js",bin:"./dist/cli.js",files:["dist"],scripts:{dev:"bun run --smol src/cli.ts",build:"bun run bun.build.ts",prepublishOnly:"bun run build",test:"vitest","test:ui":"vitest --ui","test:coverage":"vitest --coverage"},keywords:[],author:"KonghaYao",license:"Apache-2.0",dependencies:{},devDependencies:{"@anthropic-ai/sdk":"^0.71.2","@codegraph/config":"workspace:^","@codegraph/union-client":"workspace:^","@google/generative-ai":"^0.24.1","@inkjs/ui":"^2.0.0","@langchain/anthropic":"^1.3.22","@langchain/core":"^1.1.31","@langchain/google-genai":"^2.1.18","@langchain/langgraph":"^1.2.1","@langchain/mcp-adapters":"^1.1.1","@langchain/openai":"^1.2.12","@langgraph-js/agent-middlewares":"workspace:^","@langgraph-js/web-fetch":"workspace:^","@langgraph-js/pure-graph":"^3.3.0","@langgraph-js/sdk":"^4.6.6","@langgraph-js/standard-agent":"workspace:^","@nanostores/react":"^1.0.0","@tanstack/react-query":"^5.90.21","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/diff-match-patch":"^1.0.36","@types/fs-extra":"^11.0.4","@types/node-notifier":"^8.0.5","@types/react":"^19.2.14","@vitejs/plugin-react":"^5.1.2","ansi-escapes":"^7.3.0",chalk:"^5.6.2",clipboardy:"^5.3.1","diff-match-patch":"^1.0.5",execa:"^9.6.1","extract-zip":"^2.0.1","fs-extra":"^11.3.3",fuzzysort:"^3.1.0","happy-dom":"^20.3.9",ink:"^6.8.0","ink-markdown-es":"^1.4.0","ink-pro":"workspace:^","ink-spinner":"^5.0.0","ink-syntax-highlight":"^2.0.2",kysely:"^0.28.11","kysely-bun-worker":"^1.2.1","kysely-wasm":"^1.2.1",langchain:"^1.2.30",lowdb:"^7.0.1",marked:"^17.0.3",micromatch:"^4.0.8","node-notifier":"^10.0.1","node-sqlite3-wasm":"^0.8.53",openai:"^6.16.0","path-exists":"^5.0.0",pidusage:"^4","proper-lockfile":"^4.1.2",react:"^19.2.3","react-devtools-core":"^7.0.1","string-width":"^8.1.0",tempy:"^3.1.0","usehooks-ts":"^3.1.1",vite:"^7.3.1","vite-bundle-analyzer":"^1.3.2","vite-plugin-static-copy":"^3.1.4",vitest:"^4.0.18","xdg-basedir":"^5.1.0",yaml:"^2.8.2","zen-core":"workspace:^",zod:"^4.3.5"},babel:{presets:["@babel/preset-react"]}};var $1=M(v(),1),nX=[[[" ▓▓ ▓▓ ","yellow"]],[[" ▓▓▓▓▓▓▓▓ ","yellow"]],[[" ▓▓ ","yellow"],[">","cyan"],[" ","yellow"],["<","cyan"],[" ▓▓ ","yellow"]],[[" ▓▓▓▓▓▓▓▓▓▓ ","yellow"]],[["▓▓▓▓▓","cyan"],["▓▓","yellow"],["▓▓▓▓▓","cyan"]],[[" ▓▓▓▓","cyan"],["▓▓","yellow"],["▓▓▓▓ ","cyan"]],[[" ▀▀▀▀▀▀▀▀ ","gray"]]],i8=[["/model","模型"],["/mcp","MCP"],["/agent","Agent"],["/new","新对话"],["/plan","规划"],["/settings","设置"],["/help","帮助"]],n4=({label:X,value:J,valueColor:Y="white"})=>$1.jsxDEV(A,{gap:1,children:[$1.jsxDEV(O,{color:"blue",dimColor:!0,children:X.padEnd(10)},void 0,!1,void 0,this),$1.jsxDEV(O,{color:Y,children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this),aX=()=>{let{AVAILABLE_MODELS:X,config:J,extraParams:Y}=T1(),K=J?.provider_id||process.env.MODEL_PROVIDER||"openai",W=!!J?.providers?.find((F)=>F.id===K)?.apiKey,G=X.length>0,Q=W,H=Y?.model_id||J?.model_id||"—",z=Y?.active_agent||"default",q=process.cwd(),U=4,N=i8.slice(0,4),w=i8.slice(4);return $1.jsxDEV(A,{flexDirection:"column",paddingX:1,marginBottom:1,children:[$1.jsxDEV(A,{justifyContent:"space-between",marginBottom:1,children:[$1.jsxDEV(A,{gap:2,children:[$1.jsxDEV(O,{color:"cyan",bold:!0,children:"ZEN CODE"},void 0,!1,void 0,this),$1.jsxDEV(O,{dimColor:!0,children:["v",o8.version]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$1.jsxDEV(O,{color:Q?"green":"red",bold:!0,children:Q?"● ONLINE":"● OFFLINE"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$1.jsxDEV(A,{flexDirection:"row",gap:3,children:[$1.jsxDEV(A,{flexDirection:"column",alignItems:"center",children:nX.map((F,R)=>$1.jsxDEV(A,{children:F.map(([B,L],k)=>$1.jsxDEV(O,{color:L,children:B},k,!1,void 0,this))},R,!1,void 0,this))},void 0,!1,void 0,this),$1.jsxDEV(A,{flexDirection:"column",justifyContent:"center",gap:0,children:[$1.jsxDEV(n4,{label:"Provider",value:K,valueColor:"cyan"},void 0,!1,void 0,this),$1.jsxDEV(n4,{label:"Model",value:H,valueColor:"yellow"},void 0,!1,void 0,this),$1.jsxDEV(n4,{label:"Agent",value:z,valueColor:"magenta"},void 0,!1,void 0,this),$1.jsxDEV(n4,{label:"CWD",value:q.length>40?"…"+q.slice(-39):q,valueColor:"gray"},void 0,!1,void 0,this),!W&&$1.jsxDEV(A,{marginTop:1,children:$1.jsxDEV(O,{color:"yellow",children:"⚠ 运行 /model 配置 API Key"},void 0,!1,void 0,this)},void 0,!1,void 0,this),W&&!G&&$1.jsxDEV(A,{marginTop:1,children:$1.jsxDEV(O,{color:"yellow",children:"⚠ 运行 /model 检查模型列表"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$1.jsxDEV(A,{flexDirection:"column",gap:0,borderTop:!0,borderStyle:"single",borderBottom:!0,borderLeft:!1,borderRight:!1,children:[$1.jsxDEV(A,{gap:4,children:N.map(([F,R])=>$1.jsxDEV(A,{gap:1,children:[$1.jsxDEV(O,{color:"cyan",children:F},void 0,!1,void 0,this),$1.jsxDEV(O,{dimColor:!0,children:R},void 0,!1,void 0,this)]},F,!0,void 0,this))},void 0,!1,void 0,this),$1.jsxDEV(A,{gap:4,children:w.map(([F,R])=>$1.jsxDEV(A,{gap:1,children:[$1.jsxDEV(O,{color:"cyan",children:F},void 0,!1,void 0,this),$1.jsxDEV(O,{dimColor:!0,children:R},void 0,!1,void 0,this)]},F,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},n8=aX;var q$=M(o(),1);import HY from"node:fs/promises";import OY from"node:path";var S4=M(o(),1);class a8{commands=new Map;aliases=new Map;register(X){if(this.commands.set(X.name,X),X.aliases)X.aliases.forEach((J)=>{this.aliases.set(J,X.name)})}getCommand(X){let J=this.aliases.get(X)||X;return this.commands.get(J)}getAllCommands(){return Array.from(this.commands.values())}isCommand(X){return X.trim().startsWith("/")}parseCommand(X){if(!this.isCommand(X))return null;let Y=X.trim().slice(1).split(/\s+/),K=Y[0],Z=Y.slice(1);return{command:K,args:Z}}async executeCommand(X,J){let Y=this.parseCommand(X);if(!Y)return{success:!1,message:"无效的命令格式"};let{command:K,args:Z}=Y,W=this.getCommand(K);if(!W)return{success:!1,message:`未知命令: /${K}`};if(W.requiresArgs&&Z.length===0)return{success:!1,message:`命令 /${K} 需要参数。用法: ${W.usage||`/${K} <args>`}`};if(W.validateArgs&&!W.validateArgs(Z))return{success:!1,message:`命令 /${K} 参数无效。用法: ${W.usage||`/${K} <args>`}`};try{return await W.execute(Z,J)}catch(G){return{success:!1,message:`命令执行失败: ${G instanceof Error?G.message:String(G)}`}}}getSuggestions(X){if(!X.startsWith("/"))return[];let J=X.slice(1).toLowerCase(),Y=[];if(J===""){let z=["new","history","task","agent","model","settings","mcp","knowledge","summarize","template","plan","interview","help"];for(let q of z){let U=this.commands.get(q);if(U)Y.push({command:q,displayText:`/${q}`,description:U.description})}return Y.slice(0,10)}let K=new Set(["history","knowledge","help","init","model","config"]),Z=[],W=[];for(let[z,q]of this.commands){let U=z.toLowerCase();if(U.startsWith(J))Z.push({command:z,displayText:`/${z}`,description:q.description});else if(U.includes(J))W.push({command:z,displayText:`/${z}`,description:q.description});if(q.aliases)for(let N of q.aliases){let w=N.toLowerCase();if(w.startsWith(J))Z.push({command:z,displayText:`/${N}`,description:`${q.description} (别名)`});else if(w.includes(J))W.push({command:z,displayText:`/${N}`,description:`${q.description} (别名)`})}}let G=(z,q)=>{let U=K.has(z.command)?1:0,N=K.has(q.command)?1:0;if(U!==N)return N-U;return z.displayText.length-q.displayText.length};Z.sort(G),W.sort(G);let Q=new Set,H=[];for(let z of[...Z,...W])if(!Q.has(z.command))Q.add(z.command),H.push(z);return Y.push(...H),Y.slice(0,10)}getHelp(X){if(X){let Y=this.getCommand(X);if(!Y)return`未找到命令: /${X}`;let K=`命令: /${Y.name}
117
+ `;if(K+=`描述: ${Y.description}
118
+ `,Y.usage)K+=`用法: ${Y.usage}
119
+ `;if(Y.aliases&&Y.aliases.length>0)K+=`别名: ${Y.aliases.map((Z)=>`/${Z}`).join(", ")}
120
+ `;return K}let J=`可用命令:
121
+ `;for(let Y of this.getAllCommands())J+=` /${Y.name} - ${Y.description}
122
+ `;return J+=`
123
+ 使用 /help <命令名> 获取具体命令的帮助信息`,J}}var j0=new a8;var s8={name:"settings",description:"打开 Settings 面板(Model 和 Provider 配置)",aliases:["s","model","settings","m"],usage:"/settings",execute:async(X,J)=>{return J.switchToSettings?.(),{success:!0,message:"打开 Settings 面板",shouldClearInput:!0}}};var sX={name:"new",description:"初始化新的对话会话",aliases:["new","n"],usage:"/new [主题]",execute:async(X,J)=>{let Y=X.join(" ");if(await J.createNewChat(),Y){let K=`我想开始一个关于 "${Y}" 的新对话。`;return J.sendMessage([{type:"human",content:K}]),{success:!0,message:`已创建新对话,主题: ${Y}`,shouldClearInput:!0}}return{success:!0,message:"已创建新对话",shouldClearInput:!0}}},tX={name:"help",description:"显示命令帮助信息",aliases:["h","?"],usage:"/help [命令名]",execute:async(X,J)=>{let Y=X[0];return{success:!0,message:j0.getHelp(Y),shouldClearInput:!0}}},eX={name:"process",description:"打开进程管理器面板",aliases:["ps","proc"],usage:"/process",execute:async(X,J)=>{return J.switchToProcess?.(),{success:!0,message:"打开进程管理器",shouldClearInput:!0}}},t8=[sX,tX,s8,eX];var $J={name:"mcp",description:"管理 MCP 服务器配置",aliases:[],usage:"/mcp [list|add|remove|get] [args]",execute:async(X,J)=>{if(X.length===0)return{success:!0,message:["MCP 配置管理命令:","","用法:"," /mcp list - 列出所有 MCP 服务器"," /mcp add <name> <json_string> - 添加 MCP 服务器 (传统格式)"," /mcp remove <name> - 移除 MCP 服务器"," /mcp get <name> - 查看 MCP 服务器详情","","示例 (JSON 格式):",' /mcp add context7 {"name":"context7","url":"https://mcp.context7.com/mcp"}',""].join(`
124
+ `),shouldClearInput:!0};let Y=X[0];try{let Z=(J.extraParams||{}).mcp_config||{};switch(Y){case"list":{let W=Object.keys(Z);if(W.length===0)return{success:!0,message:"当前未配置任何 MCP 服务器",shouldClearInput:!0};return{success:!0,message:`已配置的 MCP 服务器:
182
125
  ${W.map((Q)=>{return` - ${Q}`}).join(`
183
- `)}`,shouldClearInput:!0}}case"add":{if($.length<2)return{success:!1,message:"用法: /mcp add <name> <json_string>",shouldClearInput:!0};let[W,K,...Q]=$,z=Q.join(""),G={...J,[K]:JSON.parse(z)};if(!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await Z.updateConfig({mcp_config:G}),{success:!0,message:`MCP 服务器 "${K}" 已添加`,shouldClearInput:!0}}case"remove":{if($.length<2)return{success:!1,message:"用法: /mcp remove <name>",shouldClearInput:!0};let W=$[1];if(!J[W])return{success:!1,message:`MCP 服务器 "${W}" 不存在`,shouldClearInput:!0};let K={...J};if(delete K[W],!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await Z.updateConfig({mcp_config:K}),{success:!0,message:`MCP 服务器 "${W}" 已移除
184
- 重启程序生效`,shouldClearInput:!0}}case"get":{if($.length<2)return{success:!1,message:"用法: /mcp get <name>",shouldClearInput:!0};let W=$[1],K=J[W];if(!K)return{success:!1,message:`MCP 服务器 "${W}" 不存在`,shouldClearInput:!0};return{success:!0,message:[`MCP 服务器: ${W}`,` URL: ${K.url}`,` Headers: ${JSON.stringify(K.headers||{},null,2)}`].join(`
185
- `),shouldClearInput:!0}}default:return{success:!1,message:`未知操作: ${X}
186
- 可用操作: list, add, remove, get`,shouldClearInput:!0}}}catch(Y){return{success:!1,message:`MCP 操作失败: ${Y instanceof Error?Y.message:String(Y)}`,shouldClearInput:!0}}}},eK={name:"summarize",description:"智能总结对话并提取有价值信息保存为记忆",aliases:["sum","summary","compact"],usage:"/sum",execute:async($,Z)=>{if(!Z.renderMessages||Z.renderMessages.length===0)return{success:!1,message:"当前会话没有消息可以总结",shouldClearInput:!0};let X=Z.renderMessages.length;try{let Y={...Z.extraParams,switch_command:"smart_memory"};return await Z.sendMessage([],{extraParams:Y}),{success:!0,message:`正在智能分析 ${X} 条消息并提取记忆...`,shouldClearInput:!0}}catch(Y){return{success:!1,message:`总结失败: ${Y instanceof Error?Y.message:String(Y)}`,shouldClearInput:!0}}}},$Q={name:"history",description:"打开历史面板",aliases:["h"],execute:async($,Z)=>{if(Z.switchToHistory)return Z.switchToHistory(),{success:!0,message:"已打开历史面板",shouldClearInput:!0};return{success:!1,message:"面板切换功能不可用",shouldClearInput:!0}}},ZQ={name:"knowledge",description:"打开知识库面板",aliases:["k"],execute:async($,Z)=>{if(Z.switchToKnowledge)return Z.switchToKnowledge(),{success:!0,message:"已打开知识库面板",shouldClearInput:!0};return{success:!1,message:"面板切换功能不可用",shouldClearInput:!0}}},XQ={name:"close",description:"关闭当前面板返回聊天",aliases:["c","q"],execute:async($,Z)=>{if(Z.closePanel)return Z.closePanel(),{success:!0,message:"已关闭面板",shouldClearInput:!0};return{success:!1,message:"面板关闭功能不可用",shouldClearInput:!0}}},YQ={name:"model",description:"打开模型/Provider配置面板",aliases:["mp","m"],execute:async($,Z)=>{if(Z.switchToModelProvider)return Z.switchToModelProvider(),{success:!0,message:"已打开模型/Provider配置面板",shouldClearInput:!0};return{success:!1,message:"模型面板切换功能不可用",shouldClearInput:!0}}},JQ={name:"ralph",description:"进入循环模式,持续发送响应直到返回 <COMPLETE></COMPLETE>",aliases:[],usage:"/ralph <text>",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ");if(!X.trim())return{success:!1,message:"请提供要循环的文本内容",shouldClearInput:!0};if(Z.startRalphLoop)return Z.startRalphLoop(X),{success:!0,message:`进入 Ralph 循环模式: "${X}"`,shouldClearInput:!0};return{success:!1,message:"Ralph 循环功能不可用",shouldClearInput:!0}}},hX=[rK,aK,sK,tK,eK,$Q,ZQ,XQ,YQ,JQ];var WQ={name:"agent",description:"打开 Agent 选择面板",aliases:["a"],usage:"/agent",execute:async($,Z)=>{if(Z.switchToAgent)Z.switchToAgent();return{success:!0,message:"打开 Agent 面板",shouldClearInput:!0}}},gX=[WQ];var KQ=`
126
+ `)}`,shouldClearInput:!0}}case"add":{if(X.length<2)return{success:!1,message:"用法: /mcp add <name> <json_string>",shouldClearInput:!0};let[W,G,...Q]=X,H=Q.join(""),z={...Z,[G]:JSON.parse(H)};if(!J.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await J.updateConfig({mcp_config:z}),{success:!0,message:`MCP 服务器 "${G}" 已添加`,shouldClearInput:!0}}case"remove":{if(X.length<2)return{success:!1,message:"用法: /mcp remove <name>",shouldClearInput:!0};let W=X[1];if(!Z[W])return{success:!1,message:`MCP 服务器 "${W}" 不存在`,shouldClearInput:!0};let G={...Z};if(delete G[W],!J.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await J.updateConfig({mcp_config:G}),{success:!0,message:`MCP 服务器 "${W}" 已移除
127
+ 重启程序生效`,shouldClearInput:!0}}case"get":{if(X.length<2)return{success:!1,message:"用法: /mcp get <name>",shouldClearInput:!0};let W=X[1],G=Z[W];if(!G)return{success:!1,message:`MCP 服务器 "${W}" 不存在`,shouldClearInput:!0};return{success:!0,message:[`MCP 服务器: ${W}`,` URL: ${G.url}`,` Headers: ${JSON.stringify(G.headers||{},null,2)}`].join(`
128
+ `),shouldClearInput:!0}}default:return{success:!1,message:`未知操作: ${Y}
129
+ 可用操作: list, add, remove, get`,shouldClearInput:!0}}}catch(K){return{success:!1,message:`MCP 操作失败: ${K instanceof Error?K.message:String(K)}`,shouldClearInput:!0}}}},XJ={name:"history",description:"打开历史面板",aliases:["h"],execute:async(X,J)=>{if(J.switchToHistory)return J.switchToHistory(),{success:!0,message:"已打开历史面板",shouldClearInput:!0};return{success:!1,message:"面板切换功能不可用",shouldClearInput:!0}}},JJ={name:"close",description:"关闭当前面板返回聊天",aliases:["c","q"],execute:async(X,J)=>{if(J.closePanel)return J.closePanel(),{success:!0,message:"已关闭面板",shouldClearInput:!0};return{success:!1,message:"面板关闭功能不可用",shouldClearInput:!0}}},YJ={name:"model",description:"打开模型/Provider配置面板",aliases:["mp","m"],execute:async(X,J)=>{if(J.switchToModelProvider)return J.switchToModelProvider(),{success:!0,message:"已打开模型/Provider配置面板",shouldClearInput:!0};return{success:!1,message:"模型面板切换功能不可用",shouldClearInput:!0}}},ZJ={name:"ralph",description:"进入循环模式,持续发送响应直到返回 <COMPLETE></COMPLETE>",aliases:[],usage:"/ralph <text>",requiresArgs:!0,execute:async(X,J)=>{let Y=X.join(" ");if(!Y.trim())return{success:!1,message:"请提供要循环的文本内容",shouldClearInput:!0};if(J.startRalphLoop)return J.startRalphLoop(Y),{success:!0,message:`进入 Ralph 循环模式: "${Y}"`,shouldClearInput:!0};return{success:!1,message:"Ralph 循环功能不可用",shouldClearInput:!0}}},e8=[$J,XJ,JJ,YJ,ZJ];var KJ={name:"agent",description:"打开 Agent 选择面板",aliases:["a"],usage:"/agent",execute:async(X,J)=>{if(J.switchToAgent)J.switchToAgent();return{success:!0,message:"打开 Agent 面板",shouldClearInput:!0}}},$5=[KJ];var WJ=`
187
130
  [Interview Mode Activated]
188
131
 
189
132
  I want to clarify requirements through guided questions.
@@ -202,8 +145,8 @@ After getting answers:
202
145
  ---
203
146
 
204
147
  User's original message:
205
- `,QQ={name:"interview",description:"Start Interview mode to clarify requirements through questions",aliases:["i"],usage:"/interview [your request]",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ").trim();if(!X)return{success:!1,message:`❌ Interview 模式需要提供任务描述
206
- 用法: /interview [your request]`};let Y=KQ+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Interview mode activated",shouldClearInput:!0}}},mX=[QQ];var zQ=`
148
+ `,GJ={name:"interview",description:"Start Interview mode to clarify requirements through questions",aliases:["i"],usage:"/interview [your request]",requiresArgs:!0,execute:async(X,J)=>{let Y=X.join(" ").trim();if(!Y)return{success:!1,message:`❌ Interview 模式需要提供任务描述
149
+ 用法: /interview [your request]`};let K=WJ+Y;return J.sendMessage([{type:"human",content:K}],{extraParams:J.extraParams}),{success:!0,message:"\uD83D\uDCCB Interview mode activated",shouldClearInput:!0}}},X5=[GJ];var QJ=`
207
150
  [Plan Mode Activated]
208
151
 
209
152
  I want to create a comprehensive implementation plan for this task.
@@ -226,8 +169,8 @@ After the plan is created, ask if I want to execute it immediately or save for l
226
169
  ---
227
170
 
228
171
  User's original request:
229
- `,GQ={name:"plan",description:"Enter Plan mode to create detailed implementation plans",aliases:["p"],usage:"/plan [your task description]",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ").trim();if(!X)return{success:!1,message:`❌ Plan 模式需要提供任务描述
230
- 用法: /plan [your task description]`};let Y=zQ+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Plan mode activated",shouldClearInput:!0}}},xX=[GQ];var uX=`
172
+ `,HJ={name:"plan",description:"Enter Plan mode to create detailed implementation plans",aliases:["p"],usage:"/plan [your task description]",requiresArgs:!0,execute:async(X,J)=>{let Y=X.join(" ").trim();if(!Y)return{success:!1,message:`❌ Plan 模式需要提供任务描述
173
+ 用法: /plan [your task description]`};let K=QJ+Y;return J.sendMessage([{type:"human",content:K}],{extraParams:J.extraParams}),{success:!0,message:"\uD83D\uDCCB Plan mode activated",shouldClearInput:!0}}},J5=[HJ];var Y5=`
231
174
  [Create AGENTS.md Mode Activated]
232
175
 
233
176
  I want to create or update the AGENTS.md file for this project.
@@ -259,85 +202,52 @@ After the AGENTS.md is created or updated, provide a summary of the changes made
259
202
  ---
260
203
 
261
204
  User's request:
262
- `,OQ={name:"create-agent-md",description:"Create or update AGENTS.md file with project guidelines",aliases:["agentmd","am"],usage:"/create-agent-md [description or goal for AGENTS.md]",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ").trim();if(!X)return{success:!1,message:"❌ 需要提供描述或目标。例如: /create-agent-md 初始化项目指南文档",shouldClearInput:!1};let Y=uX+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD AGENTS.md creation mode activated",shouldClearInput:!0}}},HQ={name:"init-agents-md",description:"快速初始化 AGENTS.md 项目指南文档",aliases:["iam","init-agents"],usage:"/init-agents-md",requiresArgs:!1,execute:async($,Z)=>{let Y=uX+"初始化项目 AGENTS.md 指南文档";return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD 开始初始化 AGENTS.md...",shouldClearInput:!0}}},cX=[OQ,HQ];var pX={name:"compact-message",description:"切换紧凑消息显示模式 (紧凑模式显示简化的消息预览)",aliases:["cm"],usage:"/compact-message",requiresArgs:!1,execute:async($,Z)=>{try{let{updateConfig:X,compactMode:Y}=Z;if(!X)return{success:!1,message:"配置更新功能不可用"};let J=Y??!1;return await X({compact_mode:!J}),{success:!0,message:!J?"紧凑模式已启用":"紧凑模式已关闭",shouldClearInput:!0}}catch(X){return{success:!1,message:`切换紧凑模式失败: ${X instanceof Error?X.message:String(X)}`}}}};var dX={name:"mcp",description:"打开 MCP 服务器配置面板",aliases:[],usage:"/mcp",execute:async($,Z)=>{return Z.switchToMcp?.(),{success:!0,message:"打开 MCP 配置面板",shouldClearInput:!0}}};var lX={name:"settings",description:"打开通用设置面板",aliases:["set"],usage:"/settings",execute:async($,Z)=>{if(Z.switchToSettings)return Z.switchToSettings(),{success:!0,message:"打开通用设置面板",shouldClearInput:!0};return{success:!1,message:"Settings 面板不可用",shouldClearInput:!0}}};var NQ=`
263
- [Memory Organization Mode Activated]
264
-
265
- I want to organize and manage the .claude/memories folder.
266
-
267
- **Your Role:** You are in Memory Organization Mode - analyze, organize, and maintain the project memory files in .claude/memories/.
268
-
269
- **Process:**
270
- 1. Read all memory files in .claude/memories/ directory
271
- 2. Analyze the structure and identify issues:
272
- - Duplicate or overlapping memories
273
- - Outdated or irrelevant content
274
- - Poorly organized categories
275
- - Missing or inconsistent metadata
276
- 3. Propose and execute organization actions:
277
- - Merge related memories
278
- - Update outdated information
279
- - Improve categorization and tags
280
- - Remove or archive obsolete memories
281
- - Improve file naming consistency
282
- 4. Generate a summary report of changes made
283
-
284
- **Memory File Format:**
285
- - Each memory is a directory with MEMORY.md file
286
- - MEMORY.md contains YAML frontmatter + Markdown content
287
- - Frontmatter fields: name, description, tags, category, created, last_updated, priority, context_scope
288
-
289
- **Evaluation Criteria for Keeping/Merging:**
290
- - **Relevance**: Is this still applicable to the project?
291
- - **Accuracy**: Is the information still correct?
292
- - **Uniqueness**: Does this duplicate other memories?
293
- - **Completeness**: Is the information sufficient?
294
-
295
- **Categories:**
296
- - architecture: 架构决策、设计模式、系统结构
297
- - bug-fix: Bug 修复和问题解决方案
298
- - workflow: 工作流程和最佳实践
299
- - configuration: 配置和环境设置
300
- - optimization: 性能优化和改进
301
-
302
- **Priority Levels:**
303
- - high: 关键架构决策、重要问题解决方案
304
- - medium: 有用的模式、次要配置信息
305
- - low: 一般性建议、参考信息
306
-
307
- **Output Format:**
308
- Provide a detailed report of:
309
- - Current state of memories (count by category)
310
- - Issues identified
311
- - Actions taken (merged, updated, removed, archived)
312
- - Recommendations for future memory maintenance
313
-
314
- ---
315
-
316
- `,UQ={name:"memory-clear",description:"整理 .claude/memories 文件夹,清理、合并和优化项目记忆",aliases:["mem-clean","clean-memory"],usage:"/memory-clear",execute:async($,Z)=>{let X=$.join(" ").trim(),Y=NQ+(X?`Additional context: ${X}
317
-
318
- ---`:"开始整理记忆文件夹。");return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83E\uDDE0 记忆整理模式已激活 - 正在分析 .claude/memories 文件夹...",shouldClearInput:!0}}},iX=[UQ];function m0($){if($===0)return"0 B";let Z=1024,X=["B","KB","MB","GB"],Y=Math.floor(Math.log($)/Math.log(Z));return parseFloat(($/Math.pow(Z,Y)).toFixed(2))+" "+X[Y]}function k6(){let $=process.memoryUsage();return{heapTotal:$.heapTotal,heapUsed:$.heapUsed,external:$.external,rss:$.rss,heapUsedMB:($.heapUsed/1024/1024).toFixed(2),heapTotalMB:($.heapTotal/1024/1024).toFixed(2)}}function oX(){return typeof Bun<"u"}function wQ(){let $=k6();if(oX()&&typeof Bun.gc==="function"){Bun.gc(!0);let Z=k6(),X=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:X,message:`GC 执行成功,释放了 ${m0(Math.max(0,X))} 内存`}}if(globalThis.global&&typeof globalThis.global.gc==="function"){globalThis.global.gc();let Z=k6(),X=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:X,message:`GC 执行成功,释放了 ${m0(Math.max(0,X))} 内存`}}return{success:!1,before:$,message:`/gc 命令仅在 Bun 或者 node --expose-gc 可用
319
- `+"当前内存使用: "+m0($.heapUsed)+" / "+m0($.heapTotal)}}function MQ(){let $=[];if(!oX())$.push("/gc 命令仅支持 Bun 运行时,请使用 bun 启动应用");else $.push("当前运行在 Bun 环境,/gc 命令已就绪");return $.join(`
320
- `)}var nX={name:"gc",description:"手动触发垃圾回收,减少内存占用",aliases:["garbage-collect","mem-opt","memory"],usage:"/gc",execute:async($,Z)=>{let X=$.includes("-v")||$.includes("--verbose"),Y=wQ(),J=`\uD83D\uDDD1️ ${Y.message}
321
- `;if(Y.before&&Y.after){if(J+=`
205
+ `,OJ={name:"create-agent-md",description:"Create or update AGENTS.md file with project guidelines",aliases:["agentmd","am"],usage:"/create-agent-md [description or goal for AGENTS.md]",requiresArgs:!0,execute:async(X,J)=>{let Y=X.join(" ").trim();if(!Y)return{success:!1,message:"❌ 需要提供描述或目标。例如: /create-agent-md 初始化项目指南文档",shouldClearInput:!1};let K=Y5+Y;return J.sendMessage([{type:"human",content:K}],{extraParams:J.extraParams}),{success:!0,message:"\uD83D\uDCDD AGENTS.md creation mode activated",shouldClearInput:!0}}},zJ={name:"init-agents-md",description:"快速初始化 AGENTS.md 项目指南文档",aliases:["iam","init-agents"],usage:"/init-agents-md",requiresArgs:!1,execute:async(X,J)=>{let K=Y5+"初始化项目 AGENTS.md 指南文档";return J.sendMessage([{type:"human",content:K}],{extraParams:J.extraParams}),{success:!0,message:"\uD83D\uDCDD 开始初始化 AGENTS.md...",shouldClearInput:!0}}},Z5=[OJ,zJ];var K5={name:"compact-message",description:"切换紧凑消息显示模式 (紧凑模式显示简化的消息预览)",aliases:["cm"],usage:"/compact-message",requiresArgs:!1,execute:async(X,J)=>{try{let{updateConfig:Y,compactMode:K}=J;if(!Y)return{success:!1,message:"配置更新功能不可用"};let Z=K??!1;return await Y({compact_mode:!Z}),{success:!0,message:!Z?"紧凑模式已启用":"紧凑模式已关闭",shouldClearInput:!0}}catch(Y){return{success:!1,message:`切换紧凑模式失败: ${Y instanceof Error?Y.message:String(Y)}`}}}};var W5={name:"mcp",description:"打开 MCP 服务器配置面板",aliases:[],usage:"/mcp",execute:async(X,J)=>{return J.switchToMcp?.(),{success:!0,message:"打开 MCP 配置面板",shouldClearInput:!0}}};var G5={name:"settings",description:"打开通用设置面板",aliases:["set"],usage:"/settings",execute:async(X,J)=>{if(J.switchToSettings)return J.switchToSettings(),{success:!0,message:"打开通用设置面板",shouldClearInput:!0};return{success:!1,message:"Settings 面板不可用",shouldClearInput:!0}}};function U0(X){if(X===0)return"0 B";let J=1024,Y=["B","KB","MB","GB"],K=Math.floor(Math.log(X)/Math.log(J));return parseFloat((X/Math.pow(J,K)).toFixed(2))+" "+Y[K]}function h$(){let X=process.memoryUsage();return{heapTotal:X.heapTotal,heapUsed:X.heapUsed,external:X.external,rss:X.rss,heapUsedMB:(X.heapUsed/1024/1024).toFixed(2),heapTotalMB:(X.heapTotal/1024/1024).toFixed(2)}}function Q5(){return typeof Bun<"u"}function qJ(){let X=h$();if(Q5()&&typeof Bun.gc==="function"){Bun.gc(!0);let J=h$(),Y=X.heapUsed-J.heapUsed;return{success:!0,before:X,after:J,freed:Y,message:`GC 执行成功,释放了 ${U0(Math.max(0,Y))} 内存`}}if(globalThis.global&&typeof globalThis.global.gc==="function"){globalThis.global.gc();let J=h$(),Y=X.heapUsed-J.heapUsed;return{success:!0,before:X,after:J,freed:Y,message:`GC 执行成功,释放了 ${U0(Math.max(0,Y))} 内存`}}return{success:!1,before:X,message:`/gc 命令仅在 Bun 或者 node --expose-gc 可用
206
+ `+"当前内存使用: "+U0(X.heapUsed)+" / "+U0(X.heapTotal)}}function UJ(){let X=[];if(!Q5())X.push("/gc 命令仅支持 Bun 运行时,请使用 bun 启动应用");else X.push("当前运行在 Bun 环境,/gc 命令已就绪");return X.join(`
207
+ `)}var H5={name:"gc",description:"手动触发垃圾回收,减少内存占用",aliases:["garbage-collect","mem-opt","memory"],usage:"/gc",execute:async(X,J)=>{let Y=X.includes("-v")||X.includes("--verbose"),K=qJ(),Z=`\uD83D\uDDD1️ ${K.message}
208
+ `;if(K.before&&K.after){if(Z+=`
322
209
  \uD83D\uDCCA 内存统计:
323
- `,J+=` Before: ${m0(Y.before.heapUsed)} / ${m0(Y.before.heapTotal)}
324
- `,J+=` After: ${m0(Y.after.heapUsed)} / ${m0(Y.after.heapTotal)}
325
- `,Y.freed!==void 0&&Y.freed>0)J+=` Freed: ${m0(Y.freed)}
326
- `}else if(Y.before)J+=`
327
- \uD83D\uDCCA 当前内存使用: ${m0(Y.before.heapUsed)} / ${m0(Y.before.heapTotal)}
328
- `;if(!Y.success||X)J+=`
210
+ `,Z+=` Before: ${U0(K.before.heapUsed)} / ${U0(K.before.heapTotal)}
211
+ `,Z+=` After: ${U0(K.after.heapUsed)} / ${U0(K.after.heapTotal)}
212
+ `,K.freed!==void 0&&K.freed>0)Z+=` Freed: ${U0(K.freed)}
213
+ `}else if(K.before)Z+=`
214
+ \uD83D\uDCCA 当前内存使用: ${U0(K.before.heapUsed)} / ${U0(K.before.heapTotal)}
215
+ `;if(!K.success||Y)Z+=`
329
216
  \uD83D\uDCA1 提示:
330
- `,J+=` ${MQ().replace(/\n/g,`
217
+ `,Z+=` ${UJ().replace(/\n/g,`
331
218
  `)}
332
- `;return{success:Y.success,message:J,shouldClearInput:!0}}};var rX={name:"errors",description:"打开错误日志面板",aliases:["error","err"],usage:"/errors",execute:async($,Z)=>{return Z.switchToErrors?.(),{success:!0,message:"打开错误日志面板",shouldClearInput:!0}}};[...yX,...hX,...gX,...mX,...xX,...cX,...iX,pX,dX,lX,nX,rX].forEach(($)=>{H4.register($)});var N4=B(V(),1),aX=($)=>{let{onCommandExecuted:Z,switchToHistory:X,switchToKnowledge:Y,switchToSettings:J,switchToAgent:W,closePanel:K,switchToModelProvider:Q,switchToMcp:z,switchToProcess:G,switchToErrors:O}=$,{userInput:H,setUserInput:U,sendMessage:M,currentAgent:A,client:F,createNewChat:P,renderMessages:S}=d1(),{extraParams:T,updateConfig:p,AVAILABLE_MODELS:f,compactMode:a}=p1(),[b,_]=BZ.useState(null),[Z1,E]=BZ.useState(null);M0(()=>{_(null)},b?3000:null),M0(()=>{E(null)},Z1?5000:null);let n=H.startsWith("/"),Q1=n?H4.getSuggestions(H):[],a1=n,Y0=BZ.useCallback(async(f1)=>{let t0=f1||H;if(!H4.isCommand(t0))return!1;try{let P1={userInput:t0,setUserInput:U,sendMessage(P$,j4={}){return M(P$,{extraParams:{...T,...j4.extraParams},...j4,metadata:s4})},currentAgent:A,client:F,extraParams:T,createNewChat(){return P(s4)},updateConfig:p,AVAILABLE_MODELS:f,renderMessages:S,compactMode:a,switchToHistory:X,switchToKnowledge:Y,switchToSettings:J,switchToModelProvider:Q,switchToAgent:W,switchToMcp:z,switchToProcess:G,switchToErrors:O,closePanel:K,startRalphLoop:$.startRalphLoop},J0=await H4.executeCommand(t0,P1);if(!J0.success)_(J0.message||"命令执行失败");else if(J0.message)E(J0.message);if(J0.shouldClearInput)U("");if(J0.shouldSendMessage&&J0.messageContent){let P$=[{type:"human",content:J0.messageContent}];M(P$,{extraParams:T})}return Z?.(),!0}catch(P1){return _(`命令执行错误: ${P1 instanceof Error?P1.message:String(P1)}`),!0}},[H,U,M,A,F,T,P,Z,f,a,X,Y,J,Q,W,z,G,O,K,$.startRalphLoop]);return{isCommandInput:n,commandSuggestions:Q1,showCommandHint:a1,commandError:b,executeCommand:Y0,CommandHintUI:()=>{if(!a1||Q1.length===0)return null;return N4.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[N4.jsxDEV(N,{color:"yellow",bold:!0,children:"命令建议:"},void 0,!1,void 0,this),Q1.slice(0,5).map((f1,t0)=>N4.jsxDEV(N,{color:"cyan",children:[f1.displayText," - ",f1.description]},t0,!0,void 0,this)),Q1.length>5&&N4.jsxDEV(N,{color:"gray",children:["...还有 ",Q1.length-5," 个命令"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},CommandErrorUI:()=>{if(!b)return null;return N4.jsxDEV(w,{marginBottom:1,children:N4.jsxDEV(N,{color:"red",children:[" ",b]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},CommandSuccessUI:()=>{if(!Z1)return null;return N4.jsxDEV(w,{marginBottom:1,children:N4.jsxDEV(N,{color:"green",children:["✅ ",Z1]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}}};function sX({manager:$,enabled:Z=!0}){return w8({queryKey:M8.skills.list(),queryFn:async()=>{if(!$)throw Error("ConfigManager not initialized");return await $.listSkills()},enabled:Z&&!!$,staleTime:120000})}var qQ=[{id:"agents/default",name:"Jarvis",description:"代码实现助手"},{id:"agents/manager",name:"Manager",description:"任务管理员"}];function tX({enabled:$=!0}={}){return w8({queryKey:M8.agents.list(),queryFn:async()=>{return qQ},enabled:$,staleTime:300000})}var x0=B(e(),1);function eX({loading:$,renderMessages:Z,sendMessage:X,setUserInput:Y,extraParams:J}){let[W,K]=x0.useState(null),[Q,z]=x0.useState(!1),G=x0.useRef(!1),O=x0.useRef(0),H=x0.useCallback(async(M)=>{if(!M)return;let A=G.current?`
333
-
334
- [System Context: You are currently in Ralph loop mode. Continue executing the task based on previous context. Respond with <COMPLETE></COMPLETE> tag when the task is complete.]`:"",F=[{type:"human",content:M+A}];await X(F,{extraParams:J,metadata:s4})},[X,J]);M0(()=>{if(W)H(W);z(!1)},Q?100:null);let U=x0.useCallback((M)=>{K(M),G.current=!0,O.current=0,z(!0)},[]);return x0.useEffect(()=>{if(G.current&&W&&!$){let M=Z.length;if(M>O.current){O.current=M;let A=Z[M-1],F=O$(A);if(typeof F==="string"&&F.includes("<COMPLETE></COMPLETE>"))G.current=!1,K(null),C$("Ralph 循环完成");else H(W)}}},[$,Z,W,H]),{ralphLoopText:W,startRalphLoop:U,sendTextMessage:H}}var s0=B(e(),1);AQ();var FQ=new Map;async function X9($){let{command:Z,cwd:X,timeout:Y}=$,J=$9();try{let W=process.platform==="win32",z=S$(W?"cmd.exe":"/bin/bash",[...W?["/d","/s","/c"]:["-c"],Z],{cwd:X,detached:!0,reject:!1,windowsVerbatimArguments:W,timeout:Y});if(!z.pid)return{id:J,pid:0,output:"Error: Failed to start command",status:"failed",exitCode:-1};let G={process:z,stdout:[],stderr:[],command:Z,startTime:Date.now()};Z9.set(z.pid,G),FQ.set(J,z.pid);let O=[];z.stdout?.on("data",(U)=>{let M=U.toString();O.push(M),G.stdout.push(M)}),z.stderr?.on("data",(U)=>{let M=U.toString();O.push(M),G.stderr.push(M)}),z.on("close",(U)=>{G.status=U===0?"completed":"failed",G.exitCode=U}),await new Promise((U)=>setTimeout(U,100));let H=G.status||"running";return{id:J,pid:z.pid,output:O.join(""),status:H,exitCode:G.exitCode}}catch(W){let K=W instanceof Error?W.message:"Unknown error";return{id:J,pid:0,output:`Error: ${K}`,status:"failed",exitCode:-1}}}var CQ=["vim","nano","less","more","top","htop","git rebase -i","crontab -e","vi","emacs"],BQ=($)=>{let Z=$.toLowerCase().trim(),X=Z.split(/\s+/);for(let Y of CQ)if(Z===Y||Z.startsWith(Y+" "))return`⚠️ 交互式命令不支持,请使用非交互模式:
335
- `+' 例如: git commit -m "message" 或使用 --no-edit 参数';if(X[0]==="git"&&X[1]==="commit"){if(!(X.includes("-m")||X.includes("--message")||X.includes("--amend")||X.includes("--no-edit")))return`⚠️ 交互式命令不支持,请使用非交互模式:
336
- `+' 例如: git commit -m "message" 或使用 --no-edit 参数'}return null};var Y9=()=>{let[$,Z]=s0.useState(null),[X,Y]=s0.useState(!1),J=s0.useRef(null);s0.useEffect(()=>{return()=>{if(J.current)clearTimeout(J.current)}},[]);let W=s0.useCallback(()=>{if(Z(null),Y(!1),J.current)clearTimeout(J.current),J.current=null},[]);return{executeCommand:s0.useCallback(async(Q)=>{let z=Q.trim();if(!z)return null;let G=BQ(z);if(G)return Z({id:"",command:z,output:G,status:"failed"}),Y(!1),$;Y(!0);try{let O=await X9({command:z,cwd:process.cwd()}),H={id:O.id,command:z,output:O.output||"",status:O.status||"completed",exitCode:O.exitCode,pid:O.pid};if(Z(H),Y(!1),H.status==="completed"||H.status==="failed")J.current=setTimeout(()=>{W()},5000);return H}catch(O){let H=O instanceof Error?O.message:"Unknown error",U={id:"",command:z,output:`Error executing command: ${H}`,status:"failed"};return Z(U),Y(!1),J.current=setTimeout(()=>{W()},5000),U}},[W,$]),activeCommand:$,clearOutput:W,isExecuting:X}};var x1=B(e(),1);var t4=B(e(),1),A8=B(W9(),1);function K9($,Z){if(Z===0)return!0;let X=$[Z-1];return X===" "||X===`
337
- `||X==="\t"}function Q9($,Z){let X=Z+1;while(X<$.length&&!/[\s\n\t]/.test($[X]))X++;return $.slice(Z+1,X)}function PQ($,Z,X){if(!Z)return $.slice(0,X).map((K)=>({skill:K,result:null}));let Y=$.map((K)=>({skill:K,name:A8.default.prepare(K.name.toLowerCase()),description:A8.default.prepare((K.description||"").toLowerCase())}));return A8.default.go(Z.toLowerCase(),Y,{key:"name",limit:X,threshold:-1e4}).map((K)=>({skill:K.obj.skill,result:K}))}function z9({skills:$,maxSuggestions:Z=5}){let[X,Y]=t4.useState({visible:!1,query:"",filteredSkills:[],triggerPosition:-1}),J=t4.useCallback((G,O)=>{let H=G.lastIndexOf("#");if(H===-1){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}if(!K9(G,H)){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}let U=Q9(G,H),M=PQ($,U,Z);if(M.length===1&&M[0].skill.name.toLowerCase()===U.toLowerCase()){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}Y((A)=>({...A,visible:!0,query:U,filteredSkills:M,triggerPosition:H}))},[$.length,Z]),W=t4.useCallback(()=>{if(!X.visible||X.filteredSkills.length===0)return null;return X.filteredSkills[0]?.skill??null},[X.visible,X.filteredSkills]),K=t4.useCallback((G)=>{let O=W();if(!O)return G;let H=G.lastIndexOf("#");if(H===-1||!K9(G,H))return G;let U=Q9(G,H),M=G.slice(0,H),A=G.slice(H+1+U.length);return`${M}#${O.name} ${A.trimStart()}`},[W]),Q=t4.useCallback(()=>{Y((G)=>({...G,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}))},[]),z=X.visible&&X.filteredSkills.length>0;return{state:X,checkTrigger:J,getFirstSkill:W,complete:K,hide:Q,isActive:z}}var e4=B(e(),1);function G9($,Z){if(Z===0)return!0;let X=$[Z-1];return X===" "||X===`
338
- `||X==="\t"}function O9($,Z){let X=Z+1;while(X<$.length&&!/[\s\n\t]/.test($[X]))X++;return $.slice(Z+1,X)}function LQ($,Z,X){let Y=Z.toLowerCase(),J=$.filter((W)=>{let K=W.name.toLowerCase(),Q=W.id.toLowerCase();return K.startsWith(Y)||Q.includes(Y)});return J.sort((W,K)=>W.name.localeCompare(K.name)),J.slice(0,X)}function H9({agents:$,maxSuggestions:Z=5}){let[X,Y]=e4.useState({visible:!1,query:"",filteredAgents:[],triggerPosition:-1}),J=e4.useCallback((G,O)=>{let H=G.lastIndexOf("@");if(H===-1){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}if(!G9(G,H)){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}let U=O9(G,H),M=LQ($,U,Z);if(M.length===1&&M[0].name.toLowerCase()===U.toLowerCase()){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}Y((A)=>({...A,visible:!0,query:U,filteredAgents:M,triggerPosition:H}))},[$.length,Z]),W=e4.useCallback(()=>{if(!X.visible||X.filteredAgents.length===0)return null;return X.filteredAgents[0]??null},[X.visible,X.filteredAgents]),K=e4.useCallback((G)=>{let O=W();if(!O)return G;let H=G.lastIndexOf("@");if(H===-1||!G9(G,H))return G;let U=O9(G,H),M=G.slice(0,H),A=G.slice(H+1+U.length);return`${M}@${O.name} ${A.trimStart()}`},[W]),Q=e4.useCallback(()=>{Y((G)=>({...G,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}))},[]),z=X.visible&&X.filteredAgents.length>0;return{state:X,checkTrigger:J,getFirstAgent:W,complete:K,hide:Q,isActive:z}}var N9=B(e(),1);var B0=B(V(),1);function RQ({name:$,result:Z}){if(!Z)return B0.jsxDEV(N,{color:"cyan",children:$},void 0,!1,void 0,this);let X=Z.highlight((Y)=>B0.jsxDEV(N,{color:"green",bold:!0,children:Y},void 0,!1,void 0,this));if(Array.isArray(X))return B0.jsxDEV(N,{color:"cyan",children:X.map((Y,J)=>{if(typeof Y==="string")return B0.jsxDEV(N,{children:Y},`p-${J}`,!1,void 0,this);return B0.jsxDEV(N9.default.Fragment,{children:Y},`m-${J}`,!1,void 0,this)})},void 0,!1,void 0,this);return B0.jsxDEV(N,{color:"cyan",children:$},void 0,!1,void 0,this)}var U9=({visible:$,skills:Z,query:X,maxVisible:Y=5})=>{if(!$||Z.length===0)return null;let J=Z.slice(0,Y);return B0.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[B0.jsxDEV(N,{color:"yellow",bold:!0,children:"技能建议 (按 → 补全):"},void 0,!1,void 0,this),J.map(({skill:W,result:K},Q)=>B0.jsxDEV(w,{children:[B0.jsxDEV(N,{color:Q===0?"yellow":void 0,children:Q===0?"▶ #":" #"},void 0,!1,void 0,this),B0.jsxDEV(RQ,{name:W.name,result:K},void 0,!1,void 0,this)]},W.name,!0,void 0,this)),Z.length>Y&&B0.jsxDEV(N,{color:"gray",children:["...还有 ",Z.length-Y," 个技能"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var X0=B(V(),1);function SQ({name:$,query:Z}){if(!Z)return X0.jsxDEV(N,{color:"magenta",children:$},void 0,!1,void 0,this);let X=$.toLowerCase(),Y=Z.toLowerCase();if(X.startsWith(Y))return X0.jsxDEV(X0.Fragment,{children:[X0.jsxDEV(N,{color:"green",bold:!0,children:$.slice(0,Z.length)},void 0,!1,void 0,this),X0.jsxDEV(N,{color:"magenta",children:$.slice(Z.length)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return X0.jsxDEV(N,{color:"magenta",children:$},void 0,!1,void 0,this)}var w9=({visible:$,agents:Z,query:X,maxVisible:Y=5})=>{if(!$||Z.length===0)return null;let J=Z.slice(0,Y);return X0.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[X0.jsxDEV(N,{color:"yellow",bold:!0,children:"Agent 建议 (按 → 补全):"},void 0,!1,void 0,this),J.map((W,K)=>X0.jsxDEV(w,{children:[X0.jsxDEV(N,{color:K===0?"yellow":void 0,children:K===0?"▶ @":" @"},void 0,!1,void 0,this),X0.jsxDEV(SQ,{name:W.name,query:X},void 0,!1,void 0,this),X0.jsxDEV(N,{dimColor:!0,children:[" - ",W.description]},void 0,!0,void 0,this)]},W.id,!0,void 0,this)),Z.length>Y&&X0.jsxDEV(N,{color:"gray",children:["...还有 ",Z.length-Y," 个 Agent"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};function VQ($){if($.length===0)return[];let Z=[];if($.startsWith("/")){let X=$.indexOf(" ");if(X===-1)return Z.push({type:"command",value:$}),Z;let Y=$.slice(0,X),J=$.slice(X);return Z.push({type:"command",value:Y}),Z.push(...M9(J,"args")),Z}return Z.push(...M9($,"text")),Z}function M9($,Z){let X=[],Y=/(^|(?<=\s))(#[\w-]+)/g,J=0,W;while((W=Y.exec($))!==null){let K=W[2],Q=W.index+W[1].length;if(Q>J)X.push({type:Z,value:$.slice(J,Q)});X.push({type:"skill",value:K}),J=Q+K.length}if(J<$.length)X.push({type:Z,value:$.slice(J)});return X}function kQ($){return $.map(({type:Z,value:X})=>{switch(Z){case"command":return T6.cyan.bold(X);case"args":return X;case"skill":return T6.green.bold(X);case"text":return X}}).join("")}function q9($){if($.length===0)return $;let Z=VQ($);return kQ(Z)}var F9=B(e(),1);function C9(){let{extraParams:$}=p1(),{sendMessage:Z,loading:X}=d1(),{bufferedMessage:Y,clearBuffer:J}=F8(),W=A9();F9.useEffect(()=>{if(!X&&Y.trim()){let K=[{type:"human",content:Y}];J(),Z(K,{extraParams:$}).then(()=>{C$("Zen Code 完成任务")}).catch((Q)=>{console.error("Failed to send buffered message:",Q)})}},[X,Y,Z,$,J,W])}var U4=B(V(),1),B9=({value:$,onChange:Z,onSubmit:X,loading:Y,placeholder:J="输入消息...",commandHandler:W,skills:K=[],agents:Q=[]})=>{C9();let{bufferedMessage:z,setBufferedMessage:G,clearBuffer:O}=F8(),[H,U]=x1.useState($),M=x1.useRef(!1),A=z9({skills:K,maxSuggestions:5}),F=H9({agents:Q,maxSuggestions:5});x1.useEffect(()=>{if($!==H)M.current=!0,U($)},[$]);let P=x1.useMemo(()=>H.startsWith("/"),[H]),S=x1.useMemo(()=>H.startsWith("/")&&!H.includes(" "),[H]);x1.useEffect(()=>{if(!S)A.checkTrigger(H),F.checkTrigger(H)},[H,S]);let T=x1.useCallback((E)=>{if(M.current){M.current=!1;return}U(E),Z(E)},[Z]),p=x1.useCallback((E)=>{if(!E.trim())return;if(A.hide(),F.hide(),P){X(E),U("");return}if(Y)G(E),U("");else X(E),U("")},[P,Y,X,G,A,F]),f=x1.useCallback(()=>{if(F.isActive){F.hide();return}if(A.isActive){A.hide();return}if(z)O();else U("")},[z,O,A.isActive,F.isActive]),a=x1.useCallback(()=>{if(!P||!W.commandSuggestions||W.commandSuggestions.length===0)return!1;let n=W.commandSuggestions[0],a1=(n.displayText||n.command||"")+" ";return T(a1),!0},[P,W.commandSuggestions,T]),b=x1.useCallback(()=>{if(!A.isActive)return!1;let E=A.complete(H);return T(E),A.hide(),!0},[A.isActive,A.complete,A.hide,H,T]),_=x1.useCallback(()=>{if(!F.isActive)return!1;let E=F.complete(H);return T(E),F.hide(),!0},[F.isActive,F.complete,F.hide,H,T]),Z1=x1.useMemo(()=>{if(Y)return z?"按 Esc 清空缓冲区":"AI 响应中,Enter 将消息加入缓冲区";if(P)return"输入命令... (试试 /help,按 → 补全第一个建议)";if(F.isActive)return"按 → 补全 Agent";if(A.isActive)return"按 → 补全技能";return J},[Y,z,P,F.isActive,A.isActive,J]);return U4.jsxDEV(w,{flexDirection:"column",children:[z&&U4.jsxDEV(w,{padding:1,children:U4.jsxDEV(N,{color:"yellow",children:["\uD83D\uDCDD 缓冲区: ",z.slice(0,50),z.length>50?"...":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),U4.jsxDEV(W.CommandHintUI,{},void 0,!1,void 0,this),U4.jsxDEV(w9,{visible:F.state.visible,agents:F.state.filteredAgents,query:F.state.query},void 0,!1,void 0,this),U4.jsxDEV(U9,{visible:A.state.visible,skills:A.state.filteredSkills,query:A.state.query},void 0,!1,void 0,this),U4.jsxDEV(w,{paddingY:1,children:U4.jsxDEV(y0,{id:"global-input",value:H,onChange:T,onSubmit:p,colorizeContent:q9,onHotKey:(E,n)=>{if(n.escape)return f(),!1;if(n.rightArrow){if(F.isActive){if(_())return!1}if(A.isActive){if(b())return!1}if(a())return!1}return!0},placeholder:Z1},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};var C8=B(e(),1);var r1=B(V(),1);var TQ=($)=>{switch($){case"running":return{icon:"⏳",color:"yellow"};case"completed":return{icon:"✓",color:"green"};case"failed":return{icon:"✗",color:"red"}}},bQ=($,Z=10)=>{if(!$)return"";let X=$.split(`
339
- `);if(X.length<=Z)return $;return[...X.slice(0,Z),"... (more)"].join(`
340
- `)},b6=C8.memo(({commandResult:$,onClose:Z,onStop:X})=>{let{exit:Y}=P9();if(C8.useEffect(()=>{let F=(P)=>{if(P.key==="escape")Z()};return process.stdin.on("keypress",F),()=>{process.stdin.off("keypress",F)}},[Z]),!$)return null;let{command:J,output:W,status:K,pid:Q}=$,{icon:z,color:G}=TQ(K),O=bQ(W,10),H=r1.jsxDEV(w,{justifyContent:"space-between",children:[r1.jsxDEV(w,{children:r1.jsxDEV(N,{bold:!0,color:"cyan",children:["\uD83D\uDCDF $ ",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this),r1.jsxDEV(w,{children:[K==="running"&&X&&r1.jsxDEV(N,{bold:!0,color:"red",children:[" ","[⏹ 停止]"]},void 0,!0,void 0,this),r1.jsxDEV(N,{bold:!0,color:"gray",children:[" ","[×]"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),U=r1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:O.split(`
341
- `).map((F,P)=>r1.jsxDEV(w,{children:r1.jsxDEV(N,{color:"gray",children:F},void 0,!1,void 0,this)},P,!1,void 0,this))},void 0,!1,void 0,this),M=r1.jsxDEV(w,{justifyContent:"space-between",marginTop:0,children:[r1.jsxDEV(N,{color:G,children:[z," ",K==="running"?"Running...":K.charAt(0).toUpperCase()+K.slice(1)]},void 0,!0,void 0,this),Q&&r1.jsxDEV(N,{color:"gray",children:["PID: ",Q]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return r1.jsxDEV(w,{flexDirection:"column",paddingX:1,paddingY:0,borderStyle:"single",borderColor:"gray",width:"100%",children:[H,r1.jsxDEV(w,{children:r1.jsxDEV(N,{color:"gray",children:"────────────────────────────────────────────────────────"},void 0,!1,void 0,this)},void 0,!1,void 0,this),O&&U,M]},void 0,!0,void 0,this)});b6.displayName="ShellOutputPreview";var B$=B(V(),1),I6=B8.memo(()=>{let{userInput:$,setUserInput:Z,loading:X,renderMessages:Y,sendMessage:J}=d1(),{extraParams:W,manager:K}=p1(),{executeCommand:Q,activeCommand:z,clearOutput:G,isExecuting:O}=Y9(),{switchToHistory:H,switchToKnowledge:U,switchToSettings:M,switchToModelProvider:A,switchToAgent:F,switchToMcp:P,switchToProcess:S,switchToErrors:T,closePanel:p}=G$(),{data:f=[]}=sX({manager:K}),{data:a=[]}=tX(),{startRalphLoop:b}=eX({loading:X,renderMessages:Y,sendMessage:J,setUserInput:Z,extraParams:W}),_=aX({extraParams:W,switchToHistory:H,switchToKnowledge:U,switchToSettings:M,switchToModelProvider:A,switchToAgent:F,switchToMcp:P,switchToProcess:S,switchToErrors:T,closePanel:p,startRalphLoop:b}),Z1=B8.useCallback(async(E)=>{if(!E)return;if(E.startsWith("!")){let n=E.slice(1).trim();if(n)await Q(n),Z("");return}if(E.startsWith("/")){if(await _.executeCommand(E)){Z("");return}}await J([{type:"human",content:E}],{extraParams:W,metadata:s4}),C$("Zen Code 完成任务")},[_,Z,Q,W,J]);return B$.jsxDEV(w,{flexDirection:"column",paddingX:0,paddingY:0,borderColor:"grey",borderTop:!0,borderStyle:"single",borderLeft:!1,borderBottom:!1,borderRight:!1,children:[z&&B$.jsxDEV(b6,{commandResult:z,onClose:G},void 0,!1,void 0,this),B$.jsxDEV(_.CommandErrorUI,{},void 0,!1,void 0,this),B$.jsxDEV(_.CommandSuccessUI,{},void 0,!1,void 0,this),B$.jsxDEV(B9,{value:$,onChange:Z,onSubmit:Z1,loading:X,commandHandler:{isCommandInput:_.isCommandInput,CommandHintUI:_.CommandHintUI,commandSuggestions:_.commandSuggestions},skills:f,agents:a},void 0,!1,void 0,this)]},void 0,!0,void 0,this)});I6.displayName="ChatInput";var P0=B(V(),1),IQ=()=>{let{renderMessages:$,currentChatId:Z,getToolUIRender:X,loading:Y}=d1(),{compactMode:J}=p1(),[W]=L9($,500),K=S9.useCallback((Q)=>X(Q),[X]);return P0.jsxDEV(w,{flexDirection:"column",flexGrow:1,paddingX:0,paddingY:0,children:W.length===0?P0.jsxDEV(IX,{},void 0,!1,void 0,this):J?P0.jsxDEV(kX,{renderMessages:W,startIndex:0,staticKey:Z,getToolUIRender:K,loading:Y},Z,!1,void 0,this):P0.jsxDEV(PX,{loading:Y,renderMessages:W,startIndex:0,staticKey:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)},D6=()=>{let{hasPendingInteractions:$}=S0();return P0.jsxDEV(w,{flexDirection:"column",flexGrow:1,children:[P0.jsxDEV(w1,{name:"ChatMessages",fallback:null,children:P0.jsxDEV(IQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),P0.jsxDEV(R9,{children:P0.jsxDEV(w1,{name:"InteractionArea",fallback:null,children:$?P0.jsxDEV(w,{paddingX:0,paddingY:0,children:P0.jsxDEV(U6,{},void 0,!1,void 0,this)},void 0,!1,void 0,this):P0.jsxDEV(I6,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};D6.displayName="ChatMain";var u0=B(e(),1);var w4=B(e(),1),V9=w4.lazy(()=>import("./chunk-feeqtzv5.js").then(($)=>({default:$.default}))),k9=w4.lazy(()=>import("./chunk-ejfa95sm.js").then(($)=>({default:$.default}))),T9=w4.lazy(()=>import("./chunk-215an3fz.js").then(($)=>({default:$.default}))),b9=w4.lazy(()=>import("./chunk-g9911ymn.js").then(($)=>({default:$.default}))),I9=w4.lazy(()=>import("./chunk-5a5mepqj.js").then(($)=>({default:$.default}))),D9=w4.lazy(()=>import("./chunk-s1tbdcs8.js").then(($)=>({default:$.default}))),j9=w4.lazy(()=>import("./chunk-gt8c6dne.js").then(($)=>({default:$.default}))),y9=w4.lazy(()=>import("./chunk-bdqds8vh.js").then(($)=>({default:$.default})));var t=B(V(),1),T4=()=>t.jsxDEV(w,{paddingX:1,paddingY:1,children:t.jsxDEV(N,{color:"grey",children:"Loading..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),b4=($)=>t.jsxDEV(w,{paddingX:1,paddingY:1,children:[t.jsxDEV(N,{color:"red",children:["✗ ",$," panel error"]},void 0,!0,void 0,this),t.jsxDEV(w,{marginTop:1,children:t.jsxDEV(N,{color:"gray",children:"Try reopening or press ESC to return"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),j6=u0.memo(()=>{let{activeView:$,closePanel:Z}=G$();return t.jsxDEV(w,{flexGrow:1,flexDirection:"row",children:[$==="history"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"HistoryPanel",fallback:b4("History"),children:t.jsxDEV(V9,{onClose:Z},void 0,!1,void 0,this)},"history-panel",!1,void 0,this)},"history-suspense",!1,void 0,this),$==="knowledge"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"KnowledgePanel",fallback:b4("Knowledge"),children:t.jsxDEV(k9,{onClose:Z},void 0,!1,void 0,this)},"knowledge-panel",!1,void 0,this)},"knowledge-suspense",!1,void 0,this),$==="settings"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"SettingsPanel",fallback:b4("Settings"),children:t.jsxDEV(T9,{onClose:Z},void 0,!1,void 0,this)},"settings-panel",!1,void 0,this)},"settings-suspense",!1,void 0,this),$==="model-provider"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"ModelProviderPanel",fallback:b4("Model Provider"),children:t.jsxDEV(b9,{onClose:Z},void 0,!1,void 0,this)},"model-provider-panel",!1,void 0,this)},"model-provider-suspense",!1,void 0,this),$==="agent"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"AgentPanel",fallback:b4("Agent"),children:t.jsxDEV(I9,{onClose:Z},void 0,!1,void 0,this)},"agent-panel",!1,void 0,this)},"agent-suspense",!1,void 0,this),$==="mcp"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"McpPanel",fallback:b4("MCP"),children:t.jsxDEV(D9,{onClose:Z},void 0,!1,void 0,this)},"mcp-panel",!1,void 0,this)},"mcp-suspense",!1,void 0,this),$==="process"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"ProcessPanel",fallback:b4("Process"),children:t.jsxDEV(j9,{onClose:Z},void 0,!1,void 0,this)},"process-panel",!1,void 0,this)},"process-suspense",!1,void 0,this),$==="errors"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"ErrorPanel",fallback:b4("Errors"),children:t.jsxDEV(y9,{onClose:Z},void 0,!1,void 0,this)},"errors-panel",!1,void 0,this)},"errors-suspense",!1,void 0,this)]},void 0,!0,void 0,this)});j6.displayName="LazyChatViewManager";var I4=B(e(),1);var E9=B(e(),1);var P8=B(V(),1),v9=()=>{let{renderMessages:$}=d1(),Z=E9.default.useMemo(()=>{if(!$)return null;for(let X=$.length-1;X>=0;X--){let Y=$[X];if(Y.role==="assistant"&&Y.content)try{let W=(Array.isArray(Y.content)?Y.content:[{type:"text",text:Y.content}]).find((K)=>K.type==="text")?.text||"";if(W.includes("load_mcp_tools"))try{let K=JSON.parse(W);if(K.status&&K.status.toolCount!==void 0)return K.status}catch(K){}}catch(J){}}return null},[$]);if(!Z||Z.toolCount===0)return null;return P8.jsxDEV(w,{paddingX:1,children:[P8.jsxDEV(N,{color:"green",bold:!0,children:"MCP"},void 0,!1,void 0,this),P8.jsxDEV(N,{color:"cyan",children:[" ",Z.toolCount]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var c0=B(e(),1);function E6($){if($===0)return"0";if($<1024)return`${$}`;if($<1048576)return`${($/1024).toFixed(0)}K`;if($<1073741824)return`${($/1048576).toFixed(0)}M`;return`${($/1073741824).toFixed(1)}G`}function _9($){let Z=Math.floor($/1000),X=Math.floor(Z/3600),Y=Math.floor(Z%3600/60),J=Z%60;if(X>0)return`${X}:${String(Y).padStart(2,"0")}:${String(J).padStart(2,"0")}`;return`${String(Y).padStart(2,"0")}:${String(J).padStart(2,"0")}`}function f9($){let[Z,X]=c0.useState(0),Y=c0.useRef(null);return c0.useEffect(()=>{if($)Y.current=Date.now(),X(0);else Y.current=null,X(0)},[$]),y6(()=>{if(Y.current)X(Date.now()-Y.current)},$?1000:null),Z}function h9(){let[$,Z]=c0.useState({cpuPercent:0,memoryRSS:0,memoryHeapUsed:0,memoryHeapTotal:0}),X=c0.useRef(process.cpuUsage()),Y=c0.useRef(Date.now()),J=()=>{let W=Date.now(),K=process.cpuUsage(),Q=process.memoryUsage(),z=W-Y.current,G=K.user-X.current.user,O=K.system-X.current.system,U=(G+O)/1000/z*100;Z({cpuPercent:Math.min(100,Math.max(0,U)),memoryRSS:Q.rss,memoryHeapUsed:Q.heapUsed,memoryHeapTotal:Q.heapTotal}),X.current=K,Y.current=W};return c0.useEffect(()=>{J()},[]),y6(J,2000),$}function g9($){if($<50)return"green";if($<80)return"yellow";return"red"}function m9($,Z){if(Z===0)return"gray";let X=$/Z*100;if(X<50)return"green";if(X<80)return"yellow";return"red"}var M4=B(V(),1),DQ=()=>{let $=h9(),Z=g9($.cpuPercent),X=m9($.memoryHeapUsed,$.memoryHeapTotal);return M4.jsxDEV(w,{paddingX:1,width:"100%",children:M4.jsxDEV(w,{gap:2,children:[M4.jsxDEV(w,{children:[M4.jsxDEV(N,{dimColor:!0,children:"CPU:"},void 0,!1,void 0,this),M4.jsxDEV(N,{color:Z,children:[" ",$.cpuPercent.toFixed(0),"%"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),M4.jsxDEV(w,{children:[M4.jsxDEV(N,{dimColor:!0,children:"MEM:"},void 0,!1,void 0,this),M4.jsxDEV(N,{color:X,children:[E6($.memoryHeapUsed),"/",E6($.memoryRSS)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},x9=DQ;var _1=B(V(),1);import jQ from"path";var yQ=()=>{let{extraParams:$,compactMode:Z,showDetailedInfo:X}=p1(),{currentChatId:Y,renderMessages:J}=d1(),{loading:W,stopGeneration:K}=d1(),Q=process.env.YOLO_MODE==="true",[z,G]=I4.useState(0);I4.useEffect(()=>{let F=async()=>{let S=await c9.getProcessList();G(S.length)};F();let P=setInterval(F,2000);return()=>clearInterval(P)},[]);let O=I4.useCallback((F,P)=>{if(P.ctrl&&F==="c")process.exit()},[W,K]);b0(O);let H=f9(W),U=I4.default.useMemo(()=>{return jQ.basename(process.cwd())},[]),A=(J?.length||0)>100;return _1.jsxDEV(w,{flexDirection:"column",width:"100%",children:[_1.jsxDEV(w,{paddingX:1,paddingY:0,justifyContent:"space-between",width:"100%",marginBottom:1,children:[_1.jsxDEV(w,{gap:1,children:[W&&_1.jsxDEV(N,{color:"yellow",bold:!0,children:_1.jsxDEV(u9,{text:"LOADING"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!W&&_1.jsxDEV(N,{color:"magenta",bold:!0,children:"Zen Code"},void 0,!1,void 0,this),_1.jsxDEV(N,{color:"cyan",bold:!0,children:[" ",$.model_id]},void 0,!0,void 0,this),_1.jsxDEV(N,{color:"yellow",bold:!0,children:[" ","@",$.switch_command||"default"]},void 0,!0,void 0,this),!Z&&_1.jsxDEV(N,{color:"blue",bold:!0,children:[" ","[FULL]"]},void 0,!0,void 0,this),Q&&_1.jsxDEV(N,{color:"red",bold:!0,children:[" ","YOLO"]},void 0,!0,void 0,this),_1.jsxDEV(v9,{},void 0,!1,void 0,this),z>0&&_1.jsxDEV(N,{color:"magenta",bold:!0,children:[" ","● BG (",z,")"]},void 0,!0,void 0,this),A&&_1.jsxDEV(N,{color:"red",bold:!0,children:[" ","/summary"]},void 0,!0,void 0,this),_1.jsxDEV(N,{color:"green",bold:!0,children:J.length},void 0,!1,void 0,this),_1.jsxDEV(N,{color:"blue",children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W&&_1.jsxDEV(w,{children:_1.jsxDEV(N,{color:"yellow",children:_9(H)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&_1.jsxDEV(x9,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},p9=yQ;var F1=B(V(),1),EQ=()=>{let{activeView:$}=G$();return F1.jsxDEV(w,{flexDirection:"column",width:"100%",children:[F1.jsxDEV(w,{flexGrow:1,flexDirection:"row",children:[F1.jsxDEV(w1,{name:"ChatMain",fallback:F1.jsxDEV(N,{color:"yellow",children:"Chat view unavailable"},void 0,!1,void 0,this),children:$==="chat"?F1.jsxDEV(D6,{},void 0,!1,void 0,this):null},"chat-main-view",!1,void 0,this),F1.jsxDEV(w1,{name:"PanelView",fallback:F1.jsxDEV(N,{color:"yellow",children:"Panel unavailable"},void 0,!1,void 0,this),children:$!=="chat"?F1.jsxDEV(j6,{},void 0,!1,void 0,this):null},"panel-view",!1,void 0,this)]},void 0,!0,void 0,this),F1.jsxDEV(w1,{name:"StatusBar",fallback:null,children:F1.jsxDEV(p9,{},void 0,!1,void 0,this)},"status-bar",!1,void 0,this)]},void 0,!0,void 0,this)},vQ=()=>{return F1.jsxDEV(w1,{name:"Chat",children:F1.jsxDEV(l7,{children:F1.jsxDEV(EQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},_Q=({children:$})=>{return F1.jsxDEV(d9,{apiUrl:"http://127.0.0.1:8123",defaultAgent:"code",defaultHeaders:{},withCredentials:!1,showHistory:!1,showGraph:!1,onInitError:(Z,X)=>{console.error(Z,X),import("./chunk-5c3bpcpm.js").then(({logAgentError:Y})=>{Y("ChatProvider",Z)}).catch(()=>{})},fetch:X5,autoRestoreLastSession:!0,historyFilter:{metadata:{path:process.cwd()}},children:$},void 0,!1,void 0,this)},fQ=()=>{return F1.jsxDEV(w1,{name:"AppRoot",children:F1.jsxDEV(w1,{name:"TanStackQueryProvider",children:F1.jsxDEV(m6,{children:F1.jsxDEV(w1,{name:"SettingsProvider",children:F1.jsxDEV(i9,{get_allowed_models:n5,children:F1.jsxDEV(_Q,{children:F1.jsxDEV(w1,{name:"ApprovalProvider",children:F1.jsxDEV(l9,{children:F1.jsxDEV(w1,{name:"InteractionProvider",children:F1.jsxDEV(VZ,{children:F1.jsxDEV(vQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"interaction-provider",!1,void 0,this)},void 0,!1,void 0,this)},"approval-provider",!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"settings-provider",!1,void 0,this)},void 0,!1,void 0,this)},"tanstack-query-provider",!1,void 0,this)},"app-root",!1,void 0,this)},hQ=()=>F1.jsxDEV(fQ,{},void 0,!1,void 0,this),v6=hQ;var p0=B(V(),1),gQ=({error:$})=>p0.jsxDEV(w,{flexDirection:"column",padding:2,borderStyle:"double",borderColor:"red",children:[p0.jsxDEV(N,{color:"red",bold:!0,children:"✗ Application Crashed"},void 0,!1,void 0,this),p0.jsxDEV(w,{marginTop:1,children:p0.jsxDEV(N,{color:"red",children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),p0.jsxDEV(w,{marginTop:1,children:p0.jsxDEV(N,{color:"gray",children:["Stack: ",$.stack?.split(`
219
+ `;return{success:K.success,message:Z,shouldClearInput:!0}}};var O5={name:"errors",description:"打开错误日志面板",aliases:["error","err"],usage:"/errors",execute:async(X,J)=>{return J.switchToErrors?.(),{success:!0,message:"打开错误日志面板",shouldClearInput:!0}}};var z5={name:"cron",description:"打开 Cron 定时任务面板",aliases:[],usage:"/cron",execute:async(X,J)=>{if(J.switchToCron)return J.switchToCron(),{success:!0,message:"打开 Cron 定时任务面板",shouldClearInput:!0};return{success:!1,message:"Cron 面板不可用",shouldClearInput:!0}}};[...t8,...e8,...$5,...X5,...J5,...Z5,K5,W5,G5,H5,O5,z5].forEach((X)=>{j0.register(X)});var r0=M(v(),1),q5=(X)=>{let{onCommandExecuted:J,switchToHistory:Y,switchToKnowledge:K,switchToSettings:Z,switchToAgent:W,closePanel:G,switchToModelProvider:Q,switchToMcp:H,switchToProcess:z,switchToErrors:q,switchToCron:U}=X,{userInput:N,setUserInput:w,sendMessage:F,currentAgent:R,client:B,createNewChat:L,renderMessages:k}=y1(),{extraParams:D,updateConfig:S,AVAILABLE_MODELS:V,compactMode:T}=T1(),[_,n]=S4.useState(null),[u,E]=S4.useState(null);o1(()=>{n(null)},_?3000:null),o1(()=>{E(null)},u?5000:null);let r=N.startsWith("/"),V1=r?j0.getSuggestions(N):[],F1=r,K0=S4.useCallback(async(u0)=>{let w1=u0||N;if(!j0.isCommand(w1))return!1;try{let W0={userInput:w1,setUserInput:w,sendMessage(g0,C={}){return F(g0,{extraParams:{...D,...C.extraParams},...C,metadata:Y4})},currentAgent:R,client:B,extraParams:D,createNewChat(){return L(Y4)},updateConfig:S,AVAILABLE_MODELS:V,renderMessages:k,compactMode:T,switchToHistory:Y,switchToKnowledge:K,switchToSettings:Z,switchToModelProvider:Q,switchToAgent:W,switchToMcp:H,switchToProcess:z,switchToErrors:q,switchToCron:U,closePanel:G,startRalphLoop:X.startRalphLoop},R0=await j0.executeCommand(w1,W0);if(!R0.success)n(R0.message||"命令执行失败");else if(R0.message)E(R0.message);if(R0.shouldClearInput)w("");if(R0.shouldSendMessage&&R0.messageContent){let g0=[{type:"human",content:R0.messageContent}];F(g0,{extraParams:D})}return J?.(),!0}catch(W0){return n(`命令执行错误: ${W0 instanceof Error?W0.message:String(W0)}`),!0}},[N,w,F,R,B,D,L,J,V,T,Y,K,Z,Q,W,H,z,q,U,G,X.startRalphLoop]);return{isCommandInput:r,commandSuggestions:V1,showCommandHint:F1,commandError:_,executeCommand:K0,CommandHintUI:()=>{return r0.jsxDEV(r0.Fragment,{children:[_&&r0.jsxDEV(A,{marginBottom:1,children:r0.jsxDEV(O,{color:"red",children:[" ",_]},void 0,!0,void 0,this)},void 0,!1,void 0,this),u&&r0.jsxDEV(A,{marginBottom:1,children:r0.jsxDEV(O,{color:"green",children:[" ",u]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},CommandErrorUI:()=>null,CommandSuccessUI:()=>null}};function U5({enabled:X=!0}={}){let J=t4();return a4({queryKey:s4.skills.list(),queryFn:()=>J.skills.list.query(),enabled:X,staleTime:120000})}var NJ=[{id:"agents/default",name:"Jarvis",description:"代码实现助手"},{id:"agents/manager",name:"Manager",description:"任务管理员"}];function N5({enabled:X=!0}={}){return a4({queryKey:s4.agents.list(),queryFn:async()=>{return NJ},enabled:X,staleTime:300000})}var v0=M(o(),1);function AJ(X,J){switch(J.type){case"START":return{status:"waitSend",text:J.text,prevMessagesLength:0};case"SEND":return X.status==="waitSend"?{...X,status:"waitReply"}:X;case"SENT":return X.status==="waitReply"?X:X;case"COMPLETE":return{status:"idle",text:null,prevMessagesLength:0};case"CONTINUE":return X.status==="checkReply"?{...X,status:"waitSend",prevMessagesLength:J.prevLength}:X;case"RESET":return{status:"idle",text:null,prevMessagesLength:0};default:return X}}var wJ={status:"idle",text:null,prevMessagesLength:0};function A5({loading:X,renderMessages:J,sendMessage:Y,setUserInput:K,extraParams:Z}){let[W,G]=v0.useReducer(AJ,wJ),Q=v0.useRef(Y);Q.current=Y;let H=v0.useRef(Z);H.current=Z;let z=v0.useCallback(async(U)=>{if(!U)return;let w=[{type:"human",content:U+`
220
+
221
+ [System Context: You are currently in Ralph loop mode. Continue executing the task based on previous context. Respond with <COMPLETE></COMPLETE> tag when the task is complete.]`}];await Q.current(w,{extraParams:H.current,metadata:Y4})},[]);o1(()=>{if(W.status==="waitSend"&&W.text)G({type:"SEND"}),z(W.text).catch((U)=>{console.error("[RalphLoop] sendTextMessage failed:",U),G({type:"RESET"})})},W.status==="waitSend"?100:null),v0.useEffect(()=>{if(W.status!=="waitReply")return;if(X)return;let U=J.length;if(U<=W.prevMessagesLength)return;let N=J[U-1],w=Q4(N);if(typeof w==="string"&&w.includes("<COMPLETE></COMPLETE>"))G({type:"COMPLETE"}),R4("Ralph 循环完成");else G({type:"CONTINUE",prevLength:U})},[X,J,W.status,W.prevMessagesLength]);let q=v0.useCallback((U)=>{G({type:"START",text:U})},[]);return{ralphLoopText:W.text,startRalphLoop:q,sendTextMessage:z}}var b0=M(o(),1);var RJ=["vim","nano","less","more","top","htop","git rebase -i","crontab -e","vi","emacs"],MJ=(X)=>{let J=X.toLowerCase().trim(),Y=J.split(/\s+/);for(let K of RJ)if(J===K||J.startsWith(K+" "))return`⚠️ 交互式命令不支持,请使用非交互模式:
222
+ `+' 例如: git commit -m "message" 或使用 --no-edit 参数';if(Y[0]==="git"&&Y[1]==="commit"){if(!(Y.includes("-m")||Y.includes("--message")||Y.includes("--amend")||Y.includes("--no-edit")))return`⚠️ 交互式命令不支持,请使用非交互模式:
223
+ `+' 例如: git commit -m "message" 或使用 --no-edit 参数'}return null};var w5=()=>{let X=t4(),[J,Y]=b0.useState(null),[K,Z]=b0.useState(!1),W=b0.useRef(null);b0.useEffect(()=>{return()=>{if(W.current)clearTimeout(W.current)}},[]);let G=b0.useCallback(()=>{if(Y(null),Z(!1),W.current)clearTimeout(W.current),W.current=null},[]);return{executeCommand:b0.useCallback(async(H)=>{let z=H.trim();if(!z)return null;let q=MJ(z);if(q){let U={id:"",command:z,output:q,status:"failed"};return Y(U),Z(!1),U}Z(!0);try{let U=await X.processes.exec.mutate({command:z,cwd:process.cwd()}),N={id:U.id,command:z,output:U.stdout||"",status:U.status||"completed",exitCode:U.exitCode,pid:U.pid};if(Y(N),Z(!1),N.status==="completed"||N.status==="failed")W.current=setTimeout(()=>{G()},5000);return N}catch(U){let N=U instanceof Error?U.message:"Unknown error",w={id:"",command:z,output:`Error executing command: ${N}`,status:"failed"};return Y(w),Z(!1),W.current=setTimeout(()=>{G()},5000),w}},[G,X]),activeCommand:J,clearOutput:G,isExecuting:K}};var _1=M(o(),1);var Y0=M(o(),1),g$=M(u$(),1),M5={"/":"command","#":"skill","@":"agent"};function F5(X,J){if(J===0)return!0;let Y=X[J-1];return Y===" "||Y===`
224
+ `||Y==="\t"}function P5(X,J){let Y=J+1;while(Y<X.length&&!/[\s\n\t]/.test(X[Y]))Y++;return X.slice(J+1,Y)}function FJ(X,J,Y){if(!X||X.length===0)return[];let K=J.toLowerCase();return X.filter((W)=>{return(W.name||W.command||"").toLowerCase().startsWith(K)}).slice(0,Y).map((W,G)=>{let Q=W.name||W.command;return{id:Q||`cmd-${G}`,name:Q||"",displayText:W.displayText||(Q?`/${Q}`:""),description:W.description,raw:W}})}function PJ(X,J,Y){if(!X||X.length===0)return[];if(!J)return X.slice(0,Y).map((W)=>({id:W.name,name:W.name,displayText:`#${W.name}`,description:W.description,raw:W}));let K=X.map((W)=>({skill:W,name:g$.default.prepare(W.name.toLowerCase())}));return g$.default.go(J.toLowerCase(),K,{key:"name",limit:Y,threshold:-1e4}).map((W)=>({id:W.obj.skill.name,name:W.obj.skill.name,displayText:`#${W.obj.skill.name}`,description:W.obj.skill.description,score:W.score,raw:W.obj.skill}))}function BJ(X,J,Y){if(!X||X.length===0)return[];let K=J.toLowerCase(),Z=X.filter((W)=>{let G=W.name.toLowerCase(),Q=W.id.toLowerCase();return G.startsWith(K)||Q.includes(K)});return Z.sort((W,G)=>W.name.localeCompare(G.name)),Z.slice(0,Y).map((W)=>({id:W.id,name:W.name,displayText:`@${W.name}`,description:W.description,raw:W}))}function B5({commands:X=[],skills:J=[],agents:Y=[],maxVisible:K=5}){let[Z,W]=Y0.useState({type:null,visible:!1,query:"",items:[],selectedIndex:0,triggerPosition:-1}),G=Y0.useRef(0),Q=Y0.useCallback((R,B)=>{let L=-1,k=null;for(let V=R.length-1;V>=0;V--){let T=R[V];if(M5[T]&&F5(R,V)){L=V,k=M5[T];break}}if(L===-1||k===null){W((V)=>({...V,type:null,visible:!1,query:"",items:[],triggerPosition:-1,selectedIndex:0}));return}let D=P5(R,L),S=[];switch(k){case"command":S=FJ(X,D,K);break;case"skill":S=PJ(J,D,K);break;case"agent":S=BJ(Y,D,K);break}if(S.length===1&&S[0].name.toLowerCase()===D.toLowerCase()){W((V)=>({...V,type:null,visible:!1,query:"",items:[],triggerPosition:-1,selectedIndex:0}));return}if(S.length===0){W((V)=>({...V,type:null,visible:!1,query:"",items:[],triggerPosition:-1,selectedIndex:0}));return}W((V)=>{let T=V.items.length!==S.length;return{...V,type:k,visible:!0,query:D,items:S,selectedIndex:T?0:Math.min(V.selectedIndex,S.length-1),triggerPosition:L}})},[X.length,J.length,Y.length,K]),H=Y0.useCallback(()=>{W((R)=>{if(!R.visible||R.items.length===0)return R;let B=(R.selectedIndex+1)%R.items.length;return{...R,selectedIndex:B}})},[]),z=Y0.useCallback(()=>{W((R)=>{if(!R.visible||R.items.length===0)return R;let B=R.selectedIndex===0?R.items.length-1:R.selectedIndex-1;return{...R,selectedIndex:B}})},[]),q=Y0.useCallback(()=>{if(!Z.visible||Z.items.length===0)return null;return Z.items[Z.selectedIndex]??null},[Z.visible,Z.items,Z.selectedIndex]),U=Y0.useCallback((R)=>{let B=q();if(!B)return R;let L=Z.triggerPosition;if(L===-1)return R;if(!F5(R,L))return R;let k=P5(R,L),D=R.slice(0,L),S=R.slice(L+1+k.length),V=Z.type==="command"?"/":Z.type==="skill"?"#":"@";return`${D}${V}${B.name} ${S.trimStart()}`},[q,Z.triggerPosition,Z.type]),N=Y0.useCallback(()=>{W((R)=>({...R,type:null,visible:!1,query:"",items:[],triggerPosition:-1,selectedIndex:0}))},[]),w=Z.visible&&Z.items.length>0,F=Y0.useCallback((R)=>{if(!w)return!1;if(R.upArrow)return z(),!0;if(R.downArrow)return H(),!0;if(R.tab||R.rightArrow)return!0;if(R.escape)return N(),!0;return!1},[w,z,H,N]);return{state:Z,checkTrigger:Q,selectNext:H,selectPrev:z,getSelectedItem:q,complete:U,hide:N,isActive:w,handleKeyDown:F}}var L5=M(o(),1);var v5=M(u$(),1),N0=M(v(),1),CJ=({text:X,query:J,isHighlighted:Y})=>{let K=L5.useMemo(()=>{if(!J)return[{text:X,highlight:!1}];let Z=v5.default.go(J,[X],{threshold:-1e4})[0];if(!Z||!Z.indexes||Z.indexes.length===0)return[{text:X,highlight:!1}];let W=new Set(Z.indexes),G=[],Q="",H=W.has(0);for(let z=0;z<X.length;z++){let q=W.has(z);if(q!==H){if(Q)G.push({text:Q,highlight:H});Q=X[z],H=q}else Q+=X[z]}if(Q)G.push({text:Q,highlight:H});return G},[X,J]);return N0.jsxDEV(O,{color:Y?"yellow":void 0,bold:Y,children:K.map((Z,W)=>N0.jsxDEV(O,{color:Z.highlight?Y?"yellow":"cyan":Y?"yellow":void 0,bold:Z.highlight||Y,children:Z.text},W,!1,void 0,this))},void 0,!1,void 0,this)};var b5=({visible:X,type:J,items:Y,selectedIndex:K,query:Z,maxVisible:W=5})=>{if(!X||Y.length===0||!J)return null;let G={command:"命令建议",skill:"技能建议",agent:"Agent 建议"},Q=Y.slice(0,W);return N0.jsxDEV(A,{marginBottom:1,flexDirection:"column",children:[N0.jsxDEV(O,{color:"yellow",bold:!0,children:[G[J]," (↑↓ 选择, Tab/→ 补全):"]},void 0,!0,void 0,this),Q.map((H,z)=>N0.jsxDEV(A,{children:[N0.jsxDEV(O,{color:z===K?"yellow":void 0,children:z===K?"▶ ":" "},void 0,!1,void 0,this),N0.jsxDEV(CJ,{text:H.displayText,query:Z,isHighlighted:z===K},void 0,!1,void 0,this),N0.jsxDEV(C5,{},void 0,!1,void 0,this),H.description&&N0.jsxDEV(O,{dimColor:z!==K,color:z===K?"yellow":void 0,children:H.description.length>30?H.description.slice(0,30)+"...":H.description},void 0,!1,void 0,this)]},H.id,!0,void 0,this)),Y.length>W&&N0.jsxDEV(O,{color:"gray",children:["...还有 ",Y.length-W," 项"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};function LJ(X){if(X.length===0)return[];let J=[];if(X.startsWith("/")){let Y=X.indexOf(" ");if(Y===-1)return J.push({type:"command",value:X}),J;let K=X.slice(0,Y),Z=X.slice(Y);return J.push({type:"command",value:K}),J.push(...S5(Z,"args")),J}return J.push(...S5(X,"text")),J}function S5(X,J){let Y=[],K=/(^|(?<=\s))(#[\w-]+)/g,Z=0,W;while((W=K.exec(X))!==null){let G=W[2],Q=W.index+W[1].length;if(Q>Z)Y.push({type:J,value:X.slice(Z,Q)});Y.push({type:"skill",value:G}),Z=Q+G.length}if(Z<X.length)Y.push({type:J,value:X.slice(Z)});return Y}function vJ(X){return X.map(({type:J,value:Y})=>{switch(J){case"command":return m$.cyan.bold(Y);case"args":return Y;case"skill":return m$.green.bold(Y);case"text":return Y}}).join("")}function k5(X){if(X.length===0)return X;let J=LJ(X);return vJ(J)}var y5=M(o(),1);function I5(){let{extraParams:X}=T1(),{sendMessage:J,loading:Y}=y1(),{bufferedMessage:K,clearBuffer:Z}=$$(),W=T5();y5.useEffect(()=>{if(!Y&&K.trim()){let G=[{type:"human",content:K}];Z(),J(G,{extraParams:X}).then(()=>{R4("Zen Code 完成任务")}).catch((Q)=>{console.error("Failed to send buffered message:",Q)})}},[Y,K,J,X,Z,W])}var O$=M(o(),1);import B9 from"node:process";import j5 from"node:process";import yJ from"node:os";import x$ from"node:fs";import kJ from"node:fs";import V5 from"node:fs";var p$;function bJ(){try{return V5.statSync("/.dockerenv"),!0}catch{return!1}}function SJ(){try{return V5.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function c$(){if(p$===void 0)p$=bJ()||SJ();return p$}var l$,TJ=()=>{try{return kJ.statSync("/run/.containerenv"),!0}catch{return!1}};function k4(){if(l$===void 0)l$=TJ()||c$();return l$}var D5=()=>{if(j5.platform!=="linux")return!1;if(yJ.release().toLowerCase().includes("microsoft")){if(k4())return!1;return!0}try{if(x$.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return!k4()}catch{}if(x$.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||x$.existsSync("/run/WSL"))return!k4();return!1},_5=j5.env.__IS_WSL_TEST__?D5:D5();import d$ from"node:process";function r$(){if(d$.platform!=="linux")return!1;if(d$.env.WAYLAND_DISPLAY)return!0;if(d$.env.XDG_SESSION_TYPE==="wayland")return!0;return!1}import n$ from"node:process";import{fileURLToPath as fJ}from"node:url";function X$(X){if(typeof X!=="string")throw TypeError("Expected a string");return X.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}class S0{static parse(X,J){return new S0(J).parse(X)}static parseAll(X,J){if(J&&!Array.isArray(J))throw TypeError("IDs is supposed to be an array");let Y={data:new Map,rest:X},K=J?J:S0._extractIDs(X);if(!J)try{S0._checkIntegrity(X)}catch(Z){throw Error(`Could not parse because the string's integrity is compromised: ${Z.message}`)}for(let Z of K){if(Y.data.get(Z))throw Error("IDs aren't supposed to be repeated at the same level in a string");let W=S0.parse(Y.rest,Z);Y.data.set(Z,W.data),Y.rest=W.rest}return Y}static _extractIDs(X){try{S0._checkIntegrity(X)}catch(Z){throw Error(`Could not extract IDs because the string's integrity is compromised: ${Z.message}`)}let J=/@@\[(.{32})]@@.*##\[\1]##/g,Y=[],K;do if(K=J.exec(X),K){let[,Z]=K;Y.push(Z)}while(K);return Y}static _checkIntegrity(X){let J=/([#|@])\1\[(.{32})]\1{2}/g,Y=new Map,K=[],Z;do if(Z=J.exec(X),Z){let[,W,G]=Z;if(W==="@"){let Q=Y;for(let H of K)Q=Q.get(H);if(Q.get(G))throw Error("There are duplicate IDs in the same scope.");Q.set(G,new Map),K.push(G)}else K.pop()}while(Z);if(K.length>0)throw Error("There is a mismatch between prefixes and suffixes");return Y}constructor(X){if(X&&(X.includes("@@[")||X.includes("##[")))throw Error("`@@[` and `##[` cannot be used in the ID");this.id=X?X:E5(),this.prefix=`@@[${this.id}]@@`,this.postfix=`##[${this.id}]##`,this.regex=new RegExp(X$(this.prefix)+"([\\S\\s]*)"+X$(this.postfix),"g")}compose(X){return this.prefix+X+this.postfix}parse(X){try{S0._checkIntegrity(X)}catch(Y){throw Error(`Could not extract IDs because the string's integrity is compromised: ${Y.message}`)}let J={};return J.rest=X.replace(this.regex,(Y,K)=>{if(K)J.data=K;return""}),J}}var h5=M(IJ(),1);import f5 from"node:process";import VJ from"node:fs";var u5=f5.platform==="darwin",o$,g5=(X)=>{let{length:J}=X.split(".");if(J===1)return`${X}.0.0`;if(J===2)return`${X}.0`;return X},m5=(X)=>{let J=/<key>ProductVersion<\/key>\s*<string>([\d.]+)<\/string>/.exec(X);if(!J)return;return J[1].replace("10.16","11")};function p5(){if(!u5)return;if(!o$){let X=VJ.readFileSync("/System/Library/CoreServices/SystemVersion.plist","utf8"),J=m5(X);if(!J)return;o$=g5(J)}return o$}if(f5.env.NODE_ENV==="test")p5._parseVersion=m5;function DJ(X){if(!u5)return!1;return X=X.replace("10.16","11"),h5.default.gte(p5(),g5(X))}function c5(X){if(X=X.replace("10.16","11"),!DJ(X))throw Error(`Requires macOS ${X} or later`)}var i$=new S0,jJ=["-l","JavaScript"],_J=(X,J)=>{let Y=`function(){const args=[].slice.call(arguments);
225
+ ${X}
226
+ }`,K=typeof X==="function"?X.toString():Y,Z=(J||[]).map((H)=>JSON.stringify(H)).join(","),G=`JSON.stringify({data: ${`(${K})(${Z})`}})`;return{input:`console.log('${i$.prefix}' + ${G} + '${i$.postfix}');`}},EJ=(X)=>{let J=i$.parse(X),Y=J.rest.slice(0,-1);if(Y.length>0)console.log(Y);return J.data&&JSON.parse(J.data).data};async function J$(X,J){c5("10.10");let{stderr:Y}=await v1("osascript",jJ,_J(X,J));return EJ(Y)}async function l5(){if(n$.platform!=="darwin")return!1;return await J$(()=>{ObjC.import("AppKit"),ObjC.import("Foundation");let J=$.NSPasteboard.generalPasteboard,{imageTypes:Y}=$.NSImage,K=$.NSMutableDictionary.dictionary;K.setObjectForKey(Y,$("NSPasteboardURLReadingContentsConformToTypesKey")),K.setObjectForKey($.NSNumber.numberWithBool(!0),$("NSPasteboardURLReadingFileURLsOnlyKey"));let Z=$.NSMutableArray.array;Z.addObject($.NSURL),Z.addObject($.NSImage);let W=J.readObjectsForClassesOptions(Z,K);return W&&W.count>0})}async function x5(){if(n$.platform!=="darwin")return[];return await J$(()=>{ObjC.import("AppKit"),ObjC.import("Foundation");let J=$.NSPasteboard.generalPasteboard,{imageTypes:Y}=$.NSImage,K=$.NSMutableDictionary.dictionary;K.setObjectForKey(Y,$("NSPasteboardURLReadingContentsConformToTypesKey")),K.setObjectForKey($.NSNumber.numberWithBool(!0),$("NSPasteboardURLReadingFileURLsOnlyKey"));let Z=$.NSMutableArray.array;Z.addObject($.NSURL),Z.addObject($.NSImage);let W=J.readObjectsForClassesOptions(Z,K);if(!W||W.count===0)return[];let G=$.NSFileManager.defaultManager,Q=$.NSURL.fileURLWithPathIsDirectory($(ObjC.unwrap($.NSTemporaryDirectory())),!0),H=$.NSUUID.UUID.UUIDString,z=Q.URLByAppendingPathComponent($(H));G.createDirectoryAtURLWithIntermediateDirectoriesAttributesError(z,!0,$(),$());let q=[],U=new Set;for(let N=0;N<W.count;N++){let w=W.objectAtIndex(N),F=null,R=`clipboard-image-${N}.png`;if(w.isKindOfClass($.NSURL)){F=$.NSImage.alloc.initWithContentsOfURL(w);let S=ObjC.unwrap(w.lastPathComponent);if(S&&S!==""){let V=S.replace(/\.[^/.]+$/,"");R=`${V}.png`;let T=1;while(U.has(R))R=`${V}-${T}.png`,T++}}else if(w.isKindOfClass($.NSImage))F=w;if(!F)continue;let B=F.TIFFRepresentation,L=$.NSBitmapImageRep.imageRepWithData(B);if(!L)continue;let k=L.representationUsingTypeProperties($.NSPNGFileType,$({}));U.add(R);let D=z.URLByAppendingPathComponent($(R));k.writeToURLAtomically(D,!0),q.push(ObjC.unwrap(D.path))}return q})}async function d5(X){if(n$.platform!=="darwin")return;let J=X.map((Y)=>Y instanceof URL?fJ(Y):Y);await J$((...Y)=>{if(ObjC.import("AppKit"),ObjC.import("Foundation"),Y.length===0)throw Error("Expected at least one image path");let K=$.NSMutableArray.array;for(let W of Y){let G=$.NSURL.fileURLWithPath($(W)),Q=$.NSImage.alloc.initWithContentsOfURL(G);if(!Q||Q.isNil())throw Error("Invalid image file: "+W);K.addObject(Q)}let Z=$.NSPasteboard.generalPasteboard;if(Z.clearContents,Z.writeObjects)Z.writeObjects(K);else{let W=K.count>0?K.objectAtIndex(0):void 0;if(!W)return;let G=W.TIFFRepresentation,Q=$.NSBitmapImageRep.imageRepWithData(G);if(!Q)return;let H=Q.representationUsingTypeProperties($.NSPNGFileType,$({}));Z.setDataForType(H,$("public.png"))}},J)}var Y$=(X)=>{if(X.code==="ENOENT")throw Error("Couldn't find the `termux-api` scripts. You can install them with: apt install termux-api");throw X},hJ={async copy(X){try{await v1("termux-clipboard-set",X)}catch(J){Y$(J)}},async paste(X){try{let{stdout:J}=await v1("termux-clipboard-get",X);return J}catch(J){Y$(J)}},copySync(X){try{I1("termux-clipboard-set",X)}catch(J){Y$(J)}},pasteSync(X){try{return I1("termux-clipboard-get",X).stdout}catch(J){Y$(J)}}},r5=hJ;import uJ from"node:fs";import s5 from"node:path";import{fileURLToPath as gJ}from"node:url";var mJ=s5.dirname(gJ(import.meta.url)),t5="xsel",a$=s5.join(mJ,"../fallbacks/linux/xsel"),s$=uJ.existsSync(a$),o5=["--clipboard","--input"],i5=["--clipboard","--output"],pJ=(X)=>/Can't open display|Inappropriate ioctl/i.test(X.stderr??""),Z$=(X,J)=>{let Y;if(X.code==="ENOENT"){if(Y="Couldn't find the `xsel` binary and fallback didn't work. On Debian/Ubuntu you can install xsel with: sudo apt install xsel",!s$)Y+="\nThe bundled `xsel` fallback was not found. This can happen when running in a bundled environment (e.g. Node.js SEA)."}else if(pJ(X))Y="Clipboard access requires a display server (X11 or Wayland). This doesn't work in headless environments like CI servers, Docker containers, or SSH sessions without X11 forwarding.";else Y="Both xsel and fallback failed";let K=Error(Y);if(X.code!=="ENOENT")K.xselError=X;if(J)K.fallbackError=J;return K},n5=async(X,J)=>{try{let{stdout:Y}=await v1(t5,X,J);return Y}catch(Y){if(!s$)throw Z$(Y);try{let{stdout:K}=await v1(a$,X,J);return K}catch(K){throw Z$(Y,K)}}},a5=(X,J)=>{try{return I1(t5,X,J).stdout}catch(Y){if(!s$)throw Z$(Y);try{return I1(a$,X,J).stdout}catch(K){throw Z$(Y,K)}}},cJ={async copy(X){await n5(o5,X)},copySync(X){a5(o5,X)},paste:(X)=>n5(i5,X),pasteSync:(X)=>a5(i5,X)},Z4=cJ;var K$=["--type","text/plain"],X9=(X,J)=>{if(J.code==="ENOENT")return Error(`Couldn't find the \`${X}\` binary. On Debian/Ubuntu you can install wl-clipboard with: sudo apt install wl-clipboard`);return Error(`Command \`${X}\` failed: ${J.message}`)},e5=async(X,J,Y,K)=>{try{return(await v1(X,J,Y)).stdout}catch(Z){if(X==="wl-paste"&&/nothing is copied|no selection|selection owner/i.test(Z.stderr||""))return"";if(Z.code==="ENOENT"||/wayland|wayland_display|failed to connect|display/i.test(Z.stderr||""))return K(Y);throw X9(X,Z)}},$9=(X,J,Y,K)=>{try{return I1(X,J,Y).stdout}catch(Z){if(X==="wl-paste"&&/nothing is copied|no selection|selection owner/i.test(Z.stderr||""))return"";if(Z.code==="ENOENT"||/wayland|wayland_display|failed to connect|display/i.test(Z.stderr||""))return K(Y);throw X9(X,Z)}},lJ={async copy(X){await e5("wl-copy",K$,X,Z4.copy)},copySync(X){$9("wl-copy",K$,X,Z4.copySync)},async paste(X){return e5("wl-paste",[...K$,"--no-newline"],X,Z4.paste)},pasteSync(X){return $9("wl-paste",[...K$,"--no-newline"],X,Z4.pasteSync)}},J9=lJ;var W$={LC_CTYPE:"UTF-8"},xJ={copy:async(X)=>v1("pbcopy",{...X,env:W$}),async paste(X){let{stdout:J}=await v1("pbpaste",{...X,env:W$});return J},copySync:(X)=>I1("pbcopy",{...X,env:W$}),pasteSync:(X)=>I1("pbpaste",{...X,env:W$}).stdout},Y9=xJ;import eJ from"node:fs";import M9 from"node:path";import{fileURLToPath as $Y}from"node:url";import{promisify as dJ}from"node:util";import rJ from"node:process";import T4 from"node:child_process";var tO=dJ(T4.execFile);function Z9(){let{arch:X,platform:J,env:Y}=rJ;if(J==="darwin"&&X==="x64")return T4.execFileSync("sysctl",["-inq","sysctl.proc_translated"],{encoding:"utf8"}).trim()==="1"?"arm64":"x64";if(X==="arm64"||X==="x64")return X;if(J==="win32"&&Object.hasOwn(Y,"PROCESSOR_ARCHITEW6432"))return"x64";if(J==="linux"){if(T4.execFileSync("getconf",["LONG_BIT"],{encoding:"utf8"}).trim()==="64")return"x64"}return X}var oJ=new Set(["arm64","x64","ppc64","riscv64"]);function K9(){return oJ.has(Z9())}import W9 from"node:process";import{Buffer as iJ}from"node:buffer";import{promisify as nJ}from"node:util";import aJ from"node:child_process";var sJ=nJ(aJ.execFile),G$=()=>`${W9.env.SYSTEMROOT||W9.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;var G9=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"],Q9=(X)=>iJ.from(X,"utf16le").toString("base64"),tJ=(X)=>`'${String(X).replaceAll("'","''")}'`,H9=(X)=>[...G9,Q9(X)],K4=async(X,J={})=>{let{powerShellPath:Y,...K}=J;return sJ(Y??G$(),H9(X),{encoding:"utf8",...K})};K4.argumentsPrefix=G9;K4.encodeCommand=Q9;K4.escapeArgument=tJ;K4.createArguments=H9;var XY=M9.dirname($Y(import.meta.url)),JY=process.arch==="arm64"?"aarch64":K9()?"x86_64":"i686",t$=M9.join(XY,`../fallbacks/windows/clipboard_${JY}.exe`),F9=eJ.existsSync(t$),O9=`
227
+ try {
228
+ [Console]::InputEncoding = [System.Text.Encoding]::UTF8
229
+ $inputStream = [Console]::OpenStandardInput()
230
+ $memoryStream = New-Object System.IO.MemoryStream
231
+ $inputStream.CopyTo($memoryStream)
232
+ $text = [Console]::InputEncoding.GetString($memoryStream.ToArray())
233
+ Set-Clipboard -Value $text
234
+ } catch {
235
+ Write-Error "Failed to set clipboard: $($_.Exception.Message)"
236
+ exit 1
237
+ }
238
+ `.trim(),z9=`
239
+ try {
240
+ $content = Get-Clipboard -Raw -ErrorAction Stop
241
+ if ($content -eq $null) { $content = '' }
242
+ [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
243
+ [Console]::Out.Write($content)
244
+ } catch {
245
+ Write-Error "Failed to get clipboard: $($_.Exception.Message)"
246
+ exit 1
247
+ }
248
+ `.trim(),q9=async(X,J)=>{try{return await X()}catch{if(!F9)throw Error("PowerShell clipboard operation failed and the bundled fallback binary was not found. This can happen when running in a bundled environment (e.g. Node.js SEA).");return J()}},U9=(X,J)=>{try{return X()}catch{if(!F9)throw Error("PowerShell clipboard operation failed and the bundled fallback binary was not found. This can happen when running in a bundled environment (e.g. Node.js SEA).");return J()}},N9=(X,J)=>v1(G$(),K4.createArguments(X),{windowsHide:!0,...J}),A9=(X,J)=>I1(G$(),K4.createArguments(X),{windowsHide:!0,...J}),w9=(X,J)=>v1(t$,X,{windowsHide:!0,...J}),R9=(X,J)=>I1(t$,X,{windowsHide:!0,...J}),YY={copy:async(X)=>q9(async()=>N9(O9,X),async()=>w9(["--copy"],X)),async paste(X){let{stdout:J}=await q9(async()=>N9(z9,X),async()=>w9(["--paste"],X));return J},copySync:(X)=>U9(()=>A9(O9,X),()=>R9(["--copy"],X)),pasteSync:(X)=>U9(()=>A9(z9,X),()=>R9(["--paste"],X)).stdout},y4=YY;var ZY={async copy(X){await v1("clip.exe",[],X)},copySync(X){I1("clip.exe",[],X)},paste:(X)=>y4.paste(X),pasteSync:(X)=>y4.pasteSync(X)},P9=ZY;var Q$=(()=>{switch(B9.platform){case"darwin":return Y9;case"win32":return y4;case"android":{if(B9.env.TERMUX_VERSION===void 0)throw Error("You need to install Termux for this module to work on Android: https://termux.com");return r5}default:{if(_5)return P9;if(r$())return J9;return Z4}}})(),KY={async write(X){if(typeof X!=="string")throw TypeError(`Expected a string, got ${typeof X}`);await Q$.copy({input:X})},async read(){return Q$.paste({stripFinalNewline:!1})},writeSync(X){if(typeof X!=="string")throw TypeError(`Expected a string, got ${typeof X}`);Q$.copySync({input:X})},readSync(){return Q$.pasteSync({stripFinalNewline:!1})},async writeImages(X){if(!Array.isArray(X))throw TypeError(`Expected an array, got ${typeof X}`);await d5(X)},async readImages(){return x5()},async hasImages(){return l5()}},H$=KY;import WY from"node:path";var C9=5;function L9(X){let{attachedImages:J,onImagesChange:Y}=X,K=O$.useCallback(async()=>{try{if(!await H$.hasImages())return!1;if(J.length>=C9)return!0;let Q=await H$.readImages();if(!Q||Q.length===0)return!1;let H=Q.map((z)=>({id:`img_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,filePath:z,fileName:WY.basename(z)}));return Y([...J,...H].slice(0,C9)),!0}catch{return!1}},[J,Y]),Z=O$.useCallback((G)=>{Y(J.filter((Q)=>Q.id!==G))},[J,Y]),W=O$.useCallback(()=>{Y([])},[Y]);return{handlePaste:K,removeImage:Z,clearImages:W}}var I4=M(v(),1),v9=({images:X,onRemove:J})=>{if(X.length===0)return null;return I4.jsxDEV(A,{flexDirection:"row",flexWrap:"wrap",paddingX:1,gap:1,children:X.map((Y)=>I4.jsxDEV(A,{children:[I4.jsxDEV(O,{color:"cyan",children:"\uD83D\uDCCE "},void 0,!1,void 0,this),I4.jsxDEV(O,{color:"cyan",dimColor:!0,children:["[",Y.fileName,"]"]},void 0,!0,void 0,this)]},Y.id,!0,void 0,this))},void 0,!1,void 0,this)};var _0=M(v(),1),b9=({value:X,onChange:J,onSubmit:Y,loading:K,placeholder:Z="输入消息...",commandHandler:W,skills:G=[],agents:Q=[]})=>{I5();let{bufferedMessage:H,setBufferedMessage:z,clearBuffer:q}=$$(),[U,N]=_1.useState(X),[w,F]=_1.useState([]),{handlePaste:R,removeImage:B,clearImages:L}=L9({attachedImages:w,onImagesChange:F}),k=_1.useRef(!1),D=_1.useMemo(()=>{if(!W.commandSuggestions)return[];return W.commandSuggestions.map((E,r)=>({id:E.command||E.name||`cmd-${r}`,name:E.command||E.name||"",displayText:E.displayText||(E.command?`/${E.command}`:""),description:E.description}))},[W.commandSuggestions]),S=B5({commands:D,skills:G,agents:Q,maxVisible:5});_1.useEffect(()=>{if(X!==U)k.current=!0,N(X)},[X]);let V=_1.useMemo(()=>U.startsWith("/"),[U]);_1.useEffect(()=>{S.checkTrigger(U)},[U]);let T=_1.useCallback((E)=>{if(k.current){k.current=!1;return}N(E),J(E)},[J]),_=_1.useCallback((E)=>{if(!E.trim()&&w.length===0)return;if(S.hide(),V){Y(E),N("");return}if(K)z(E),N("");else{let r=w.length>0?[...w]:void 0;Y(E,r),N(""),L()}},[V,K,Y,z,S,w,L]),n=_1.useCallback(()=>{if(S.isActive){S.hide();return}if(w.length>0){B(w[w.length-1].id);return}if(H)q();else N("")},[H,q,S,w,B]),u=_1.useMemo(()=>{if(K)return H?"按 Esc 清空缓冲区":"AI 响应中,Enter 将消息加入缓冲区";if(S.isActive){let E=S.state.type;if(E==="command")return"↑↓ 选择, Tab/→ 补全命令";if(E==="skill")return"↑↓ 选择, Tab/→ 补全技能";if(E==="agent")return"↑↓ 选择, Tab/→ 补全 Agent"}if(V)return"输入命令... (试试 /help)";return Z},[K,H,V,S.isActive,S.state.type,Z]);return _0.jsxDEV(A,{flexDirection:"column",children:[H&&_0.jsxDEV(A,{padding:1,children:_0.jsxDEV(O,{color:"yellow",children:["\uD83D\uDCDD 缓冲区: ",H.slice(0,50),H.length>50?"...":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),_0.jsxDEV(W.CommandHintUI,{},void 0,!1,void 0,this),_0.jsxDEV(b5,{visible:S.state.visible,type:S.state.type,items:S.state.items,selectedIndex:S.state.selectedIndex,query:S.state.query},void 0,!1,void 0,this),_0.jsxDEV(v9,{images:w,onRemove:B},void 0,!1,void 0,this),_0.jsxDEV(A,{paddingY:1,children:_0.jsxDEV(G0,{id:"global-input",value:U,onChange:T,onSubmit:_,colorizeContent:k5,onHotKey:(E,r)=>{if(r.escape)return n(),!1;if(r.backspace&&U===""&&w.length>0)return B(w[w.length-1].id),!1;if(r.ctrl&&E==="v")return R().then((V1)=>{}),!0;if(S.isActive){if(r.upArrow)return S.selectPrev(),!1;if(r.downArrow)return S.selectNext(),!1;if(r.tab||r.rightArrow){let V1=S.complete(U);return T(V1),S.hide(),!1}}return!0},placeholder:u},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};var z$=M(o(),1);var E1=M(v(),1);var GY=(X)=>{switch(X){case"running":return{icon:"⏳",color:"yellow"};case"completed":return{icon:"✓",color:"green"};case"failed":return{icon:"✗",color:"red"}}},QY=(X,J=10)=>{if(!X)return"";let Y=X.split(`
249
+ `);if(Y.length<=J)return X;return[...Y.slice(0,J),"... (more)"].join(`
250
+ `)},e$=z$.memo(({commandResult:X,onClose:J,onStop:Y})=>{let{exit:K}=S9();if(z$.useEffect(()=>{let R=(B)=>{if(B.key==="escape")J()};return process.stdin.on("keypress",R),()=>{process.stdin.off("keypress",R)}},[J]),!X)return null;let{command:Z,output:W,status:G,pid:Q}=X,{icon:H,color:z}=GY(G),q=QY(W,10),U=E1.jsxDEV(A,{justifyContent:"space-between",children:[E1.jsxDEV(A,{children:E1.jsxDEV(O,{bold:!0,color:"cyan",children:["\uD83D\uDCDF $ ",Z]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E1.jsxDEV(A,{children:[G==="running"&&Y&&E1.jsxDEV(O,{bold:!0,color:"red",children:[" ","[⏹ 停止]"]},void 0,!0,void 0,this),E1.jsxDEV(O,{bold:!0,color:"gray",children:[" ","[×]"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),N=E1.jsxDEV(A,{flexDirection:"column",marginTop:0,children:q.split(`
251
+ `).map((R,B)=>E1.jsxDEV(A,{children:E1.jsxDEV(O,{color:"gray",children:R},void 0,!1,void 0,this)},B,!1,void 0,this))},void 0,!1,void 0,this),w=E1.jsxDEV(A,{justifyContent:"space-between",marginTop:0,children:[E1.jsxDEV(O,{color:z,children:[H," ",G==="running"?"Running...":G.charAt(0).toUpperCase()+G.slice(1)]},void 0,!0,void 0,this),Q&&E1.jsxDEV(O,{color:"gray",children:["PID: ",Q]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return E1.jsxDEV(A,{flexDirection:"column",paddingX:1,paddingY:0,borderStyle:"single",borderColor:"gray",width:"100%",children:[U,E1.jsxDEV(A,{children:E1.jsxDEV(O,{color:"gray",children:"────────────────────────────────────────────────────────"},void 0,!1,void 0,this)},void 0,!1,void 0,this),q&&N,w]},void 0,!0,void 0,this)});e$.displayName="ShellOutputPreview";var M4=M(v(),1),$6=q$.memo(()=>{let{userInput:X,setUserInput:J,loading:Y,renderMessages:K,sendMessage:Z}=y1(),{extraParams:W}=T1(),{executeCommand:G,activeCommand:Q,clearOutput:H,isExecuting:z}=w5(),{switchToHistory:q,switchToKnowledge:U,switchToSettings:N,switchToModelProvider:w,switchToAgent:F,switchToMcp:R,switchToProcess:B,switchToErrors:L,switchToCron:k,closePanel:D}=G4(),{data:S=[]}=U5(),{data:V=[]}=N5(),{startRalphLoop:T}=A5({loading:Y,renderMessages:K,sendMessage:Z,setUserInput:J,extraParams:W}),_=q5({extraParams:W,switchToHistory:q,switchToKnowledge:U,switchToSettings:N,switchToModelProvider:w,switchToAgent:F,switchToMcp:R,switchToProcess:B,switchToErrors:L,switchToCron:k,closePanel:D,startRalphLoop:T}),n=q$.useCallback(async(u,E)=>{if(!u&&(!E||E.length===0))return;if(u.startsWith("!")){let F1=u.slice(1).trim();if(F1)await G(F1),J("");return}if(u.startsWith("/")){if(await _.executeCommand(u)){J("");return}}let r=E&&E.length>0,V1=u;if(r)V1=[...await Promise.all(E.map(async(K0)=>{let W4=(await HY.readFile(K0.filePath)).toString("base64"),b1=OY.extname(K0.fileName).slice(1).toLowerCase()||"jpeg",u0={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp"};return{type:"image",source_type:"base64",data:W4,mime_type:u0[b1]??"image/jpeg",mimeType:u0[b1]??"image/jpeg"}})),...u?[{type:"text",text:u}]:[]];await Z([{type:"human",content:V1}],{extraParams:W,metadata:Y4}),R4("Zen Code 完成任务")},[_,J,G,W,Z]);return M4.jsxDEV(A,{flexDirection:"column",paddingX:0,paddingY:0,borderColor:"grey",borderTop:!0,borderStyle:"single",borderLeft:!1,borderBottom:!1,borderRight:!1,children:[Q&&M4.jsxDEV(e$,{commandResult:Q,onClose:H},void 0,!1,void 0,this),M4.jsxDEV(_.CommandErrorUI,{},void 0,!1,void 0,this),M4.jsxDEV(_.CommandSuccessUI,{},void 0,!1,void 0,this),M4.jsxDEV(b9,{value:X,onChange:J,onSubmit:n,loading:Y,commandHandler:{isCommandInput:_.isCommandInput,CommandHintUI:_.CommandHintUI,commandSuggestions:_.commandSuggestions},skills:S,agents:V},void 0,!1,void 0,this)]},void 0,!0,void 0,this)});$6.displayName="ChatInput";var t1=M(v(),1),zY=()=>{let{renderMessages:X,currentChatId:J,getToolUIRender:Y,loading:K}=y1(),{compactMode:Z}=T1(),[W]=k9(X,500),G=y9.useCallback((Q)=>Y(Q),[Y]);return t1.jsxDEV(A,{flexDirection:"column",flexGrow:1,paddingX:0,paddingY:0,children:W.length===0?t1.jsxDEV(n8,{},void 0,!1,void 0,this):Z?t1.jsxDEV(r8,{renderMessages:W,startIndex:0,staticKey:J,getToolUIRender:G,loading:K},J,!1,void 0,this):t1.jsxDEV(p8,{loading:K,renderMessages:W,startIndex:0,staticKey:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)},X6=()=>{let{hasPendingInteractions:X}=$0();return t1.jsxDEV(A,{flexDirection:"column",flexGrow:1,children:[t1.jsxDEV(W1,{name:"ChatMessages",fallback:null,children:t1.jsxDEV(zY,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),t1.jsxDEV(T9,{children:t1.jsxDEV(W1,{name:"InteractionArea",fallback:null,children:X?t1.jsxDEV(A,{paddingX:0,paddingY:0,children:t1.jsxDEV(v$,{},void 0,!1,void 0,this)},void 0,!1,void 0,this):t1.jsxDEV($6,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};X6.displayName="ChatMain";var Z0=M(o(),1);var k0=M(o(),1),I9=k0.lazy(()=>import("./chunk-fkt5b511.js").then((X)=>({default:X.default}))),V9=k0.lazy(()=>import("./chunk-h2hk7vx4.js").then((X)=>({default:X.default}))),D9=k0.lazy(()=>import("./chunk-kgc6ws03.js").then((X)=>({default:X.default}))),j9=k0.lazy(()=>import("./chunk-mv8a5svx.js").then((X)=>({default:X.default}))),_9=k0.lazy(()=>import("./chunk-3k3c686f.js").then((X)=>({default:X.default}))),E9=k0.lazy(()=>import("./chunk-pgnhcznr.js").then((X)=>({default:X.default}))),f9=k0.lazy(()=>import("./chunk-d2sr8fnm.js").then((X)=>({default:X.default}))),h9=k0.lazy(()=>import("./chunk-43h0n2td.js").then((X)=>({default:X.default}))),u9=k0.lazy(()=>import("./chunk-e7mbewmw.js").then((X)=>({default:X.default})));var d=M(v(),1),E0=()=>d.jsxDEV(A,{paddingX:1,paddingY:1,children:d.jsxDEV(O,{color:"grey",children:"Loading..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),f0=(X)=>d.jsxDEV(A,{paddingX:1,paddingY:1,children:[d.jsxDEV(O,{color:"red",children:["✗ ",X," panel error"]},void 0,!0,void 0,this),d.jsxDEV(A,{marginTop:1,children:d.jsxDEV(O,{color:"gray",children:"Try reopening or press ESC to return"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J6=Z0.memo(()=>{let{activeView:X,closePanel:J}=G4();return d.jsxDEV(A,{flexGrow:1,flexDirection:"row",children:[X==="history"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"HistoryPanel",fallback:f0("History"),children:d.jsxDEV(I9,{onClose:J},void 0,!1,void 0,this)},"history-panel",!1,void 0,this)},"history-suspense",!1,void 0,this),X==="knowledge"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"KnowledgePanel",fallback:f0("Knowledge"),children:d.jsxDEV(V9,{onClose:J},void 0,!1,void 0,this)},"knowledge-panel",!1,void 0,this)},"knowledge-suspense",!1,void 0,this),X==="settings"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"SettingsPanel",fallback:f0("Settings"),children:d.jsxDEV(D9,{onClose:J},void 0,!1,void 0,this)},"settings-panel",!1,void 0,this)},"settings-suspense",!1,void 0,this),X==="model-provider"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"ModelProviderPanel",fallback:f0("Model Provider"),children:d.jsxDEV(j9,{onClose:J},void 0,!1,void 0,this)},"model-provider-panel",!1,void 0,this)},"model-provider-suspense",!1,void 0,this),X==="agent"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"AgentPanel",fallback:f0("Agent"),children:d.jsxDEV(_9,{onClose:J},void 0,!1,void 0,this)},"agent-panel",!1,void 0,this)},"agent-suspense",!1,void 0,this),X==="mcp"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"McpPanel",fallback:f0("MCP"),children:d.jsxDEV(E9,{onClose:J},void 0,!1,void 0,this)},"mcp-panel",!1,void 0,this)},"mcp-suspense",!1,void 0,this),X==="process"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"ProcessPanel",fallback:f0("Process"),children:d.jsxDEV(f9,{onClose:J},void 0,!1,void 0,this)},"process-panel",!1,void 0,this)},"process-suspense",!1,void 0,this),X==="errors"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"ErrorPanel",fallback:f0("Errors"),children:d.jsxDEV(h9,{onClose:J},void 0,!1,void 0,this)},"errors-panel",!1,void 0,this)},"errors-suspense",!1,void 0,this),X==="cron"&&d.jsxDEV(Z0.Suspense,{fallback:d.jsxDEV(E0,{},void 0,!1,void 0,this),children:d.jsxDEV(W1,{name:"CronPanel",fallback:f0("Cron"),children:d.jsxDEV(u9,{onClose:J},void 0,!1,void 0,this)},"cron-panel",!1,void 0,this)},"cron-suspense",!1,void 0,this)]},void 0,!0,void 0,this)});J6.displayName="LazyChatViewManager";var o0=M(o(),1);var g9=M(o(),1);var U$=M(v(),1),m9=()=>{let{renderMessages:X}=y1(),J=g9.default.useMemo(()=>{if(!X)return null;for(let Y=X.length-1;Y>=0;Y--){let K=X[Y];if(K.role==="assistant"&&K.content)try{let W=(Array.isArray(K.content)?K.content:[{type:"text",text:K.content}]).find((G)=>G.type==="text")?.text||"";if(W.includes("load_mcp_tools"))try{let G=JSON.parse(W);if(G.status&&G.status.toolCount!==void 0)return G.status}catch(G){}}catch(Z){}}return null},[X]);if(!J||J.toolCount===0)return null;return U$.jsxDEV(A,{paddingX:1,children:[U$.jsxDEV(O,{color:"green",bold:!0,children:"MCP"},void 0,!1,void 0,this),U$.jsxDEV(O,{color:"cyan",children:[" ",J.toolCount]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var A0=M(o(),1);function Z6(X){if(X===0)return"0";if(X<1024)return`${X}`;if(X<1048576)return`${(X/1024).toFixed(0)}K`;if(X<1073741824)return`${(X/1048576).toFixed(0)}M`;return`${(X/1073741824).toFixed(1)}G`}function p9(X){let J=Math.floor(X/1000),Y=Math.floor(J/3600),K=Math.floor(J%3600/60),Z=J%60;if(Y>0)return`${Y}:${String(K).padStart(2,"0")}:${String(Z).padStart(2,"0")}`;return`${String(K).padStart(2,"0")}:${String(Z).padStart(2,"0")}`}function c9(X){let[J,Y]=A0.useState(0),K=A0.useRef(null);return A0.useEffect(()=>{if(X)K.current=Date.now(),Y(0);else K.current=null,Y(0)},[X]),Y6(()=>{if(K.current)Y(Date.now()-K.current)},X?1000:null),J}function l9(){let[X,J]=A0.useState({cpuPercent:0,memoryRSS:0,memoryHeapUsed:0,memoryHeapTotal:0}),Y=A0.useRef(process.cpuUsage()),K=A0.useRef(Date.now()),Z=()=>{let W=Date.now(),G=process.cpuUsage(),Q=process.memoryUsage(),H=W-K.current,z=G.user-Y.current.user,q=G.system-Y.current.system,N=(z+q)/1000/H*100;J({cpuPercent:Math.min(100,Math.max(0,N)),memoryRSS:Q.rss,memoryHeapUsed:Q.heapUsed,memoryHeapTotal:Q.heapTotal}),Y.current=G,K.current=W};return A0.useEffect(()=>{Z()},[]),Y6(Z,2000),X}function x9(X){if(X<50)return"green";if(X<80)return"yellow";return"red"}function d9(X,J){if(J===0)return"gray";let Y=X/J*100;if(Y<50)return"green";if(Y<80)return"yellow";return"red"}var h0=M(v(),1),qY=()=>{let X=l9(),J=x9(X.cpuPercent),Y=d9(X.memoryHeapUsed,X.memoryHeapTotal);return h0.jsxDEV(A,{paddingX:1,width:"100%",children:h0.jsxDEV(A,{gap:2,children:[h0.jsxDEV(A,{children:[h0.jsxDEV(O,{dimColor:!0,children:"CPU:"},void 0,!1,void 0,this),h0.jsxDEV(O,{color:J,children:[" ",X.cpuPercent.toFixed(0),"%"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),h0.jsxDEV(A,{children:[h0.jsxDEV(O,{dimColor:!0,children:"MEM:"},void 0,!1,void 0,this),h0.jsxDEV(O,{color:Y,children:[Z6(X.memoryHeapUsed),"/",Z6(X.memoryRSS)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},r9=qY;var N$=M(o(),1),UY=1e4,K6=Number(process.env.ZEN_CORE_PORT||8125);function o9(){let[X,J]=N$.useState({online:!!globalThis.__zenCoreConnection,version:null,port:K6});return N$.useEffect(()=>{let Y=!1,K=async()=>{try{let W=await fetch(`http://127.0.0.1:${K6}/health`,{signal:AbortSignal.timeout(2000)});if(!Y&&W.ok){let G=await W.json();J({online:!0,version:G.version??null,port:G.port??K6})}}catch{if(!Y)J((W)=>({...W,online:!1}))}};K();let Z=setInterval(K,UY);return()=>{Y=!0,clearInterval(Z)}},[]),X}var M1=M(v(),1);import NY from"path";var AY=()=>{let{extraParams:X,compactMode:J,showDetailedInfo:Y}=T1(),{currentChatId:K,renderMessages:Z}=y1(),{loading:W,stopGeneration:G}=y1(),Q=process.env.YOLO_MODE==="true",[H,z]=o0.useState(0),q=o9();o0.useEffect(()=>{let B=async()=>{let k=await n9.getProcessList();z(k.length)};B();let L=setInterval(B,2000);return()=>clearInterval(L)},[]);let U=o0.useCallback((B,L)=>{if(L.ctrl&&B==="c")if(W)G();else process.exit()},[W,G]);X0(U);let N=c9(W),w=o0.default.useMemo(()=>{return NY.basename(process.cwd())},[]),R=(Z?.length||0)>100;return M1.jsxDEV(A,{flexDirection:"column",width:"100%",children:[M1.jsxDEV(A,{paddingX:1,paddingY:0,justifyContent:"space-between",width:"100%",marginBottom:1,children:[M1.jsxDEV(A,{gap:1,children:[W&&M1.jsxDEV(O,{color:"yellow",bold:!0,children:M1.jsxDEV(i9,{text:"LOADING"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!W&&M1.jsxDEV(O,{color:"magenta",bold:!0,children:"Zen Code"},void 0,!1,void 0,this),M1.jsxDEV(O,{color:"cyan",bold:!0,children:[" ",X.model_id]},void 0,!0,void 0,this),M1.jsxDEV(O,{color:"yellow",bold:!0,children:[" ","@",X.active_agent||"default"]},void 0,!0,void 0,this),!J&&M1.jsxDEV(O,{color:"blue",bold:!0,children:[" ","[FULL]"]},void 0,!0,void 0,this),Q&&M1.jsxDEV(O,{color:"red",bold:!0,children:[" ","YOLO"]},void 0,!0,void 0,this),M1.jsxDEV(m9,{},void 0,!1,void 0,this),M1.jsxDEV(O,{color:q.online?"green":"red",children:q.online?"● core":"○ core"},void 0,!1,void 0,this),H>0&&M1.jsxDEV(O,{color:"magenta",bold:!0,children:[" ","● BG (",H,")"]},void 0,!0,void 0,this),R&&M1.jsxDEV(O,{color:"red",bold:!0,children:[" ","/summary"]},void 0,!0,void 0,this),M1.jsxDEV(O,{color:"green",bold:!0,children:Z.length},void 0,!1,void 0,this),M1.jsxDEV(O,{color:"blue",children:w},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W&&M1.jsxDEV(A,{children:M1.jsxDEV(O,{color:"yellow",children:p9(N)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&M1.jsxDEV(r9,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},a9=AY;var U1=M(v(),1),wY=()=>{let{activeView:X}=G4();return U1.jsxDEV(A,{flexDirection:"column",width:"100%",children:[U1.jsxDEV(A,{flexGrow:1,flexDirection:"row",children:[U1.jsxDEV(W1,{name:"ChatMain",fallback:U1.jsxDEV(O,{color:"yellow",children:"Chat view unavailable"},void 0,!1,void 0,this),children:X==="chat"?U1.jsxDEV(X6,{},void 0,!1,void 0,this):null},"chat-main-view",!1,void 0,this),U1.jsxDEV(W1,{name:"PanelView",fallback:U1.jsxDEV(O,{color:"yellow",children:"Panel unavailable"},void 0,!1,void 0,this),children:X!=="chat"?U1.jsxDEV(J6,{},void 0,!1,void 0,this):null},"panel-view",!1,void 0,this)]},void 0,!0,void 0,this),U1.jsxDEV(W1,{name:"StatusBar",fallback:null,children:U1.jsxDEV(a9,{},void 0,!1,void 0,this)},"status-bar",!1,void 0,this)]},void 0,!0,void 0,this)},RY=()=>{return U1.jsxDEV(W1,{name:"Chat",children:U1.jsxDEV(z8,{children:U1.jsxDEV(wY,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},MY=({children:X,apiUrl:J})=>{return U1.jsxDEV(s9,{apiUrl:J,defaultAgent:"code",defaultHeaders:{},withCredentials:!1,showHistory:!1,showGraph:!1,onInitError:(Y,K)=>{console.error(Y,K),import("./chunk-agevsn2e.js").then(({logAgentError:Z})=>{Z("ChatProvider",Y)}).catch(()=>{})},autoRestoreLastSession:!0,historyFilter:{metadata:{path:process.cwd()}},children:X},void 0,!1,void 0,this)},FY=()=>{let X=globalThis.__zenCoreConnection||null,J=X?.apiUrl||"http://127.0.0.1:8125";return U1.jsxDEV(W1,{name:"AppRoot",children:U1.jsxDEV(z6,{children:U1.jsxDEV(t9,{value:X,children:U1.jsxDEV(W1,{name:"DataLayer",children:U1.jsxDEV(e9,{children:U1.jsxDEV(MY,{apiUrl:J,children:U1.jsxDEV(W1,{name:"UILayer",children:U1.jsxDEV(D4,{children:U1.jsxDEV(RY,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"ui-layer",!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"data-layer",!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"app-root",!1,void 0,this)},PY=()=>U1.jsxDEV(FY,{},void 0,!1,void 0,this),W6=PY;var w0=M(v(),1),BY=({error:X})=>w0.jsxDEV(A,{flexDirection:"column",padding:2,borderStyle:"double",borderColor:"red",children:[w0.jsxDEV(O,{color:"red",bold:!0,children:"✗ Application Crashed"},void 0,!1,void 0,this),w0.jsxDEV(A,{marginTop:1,children:w0.jsxDEV(O,{color:"red",children:X.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),w0.jsxDEV(A,{marginTop:1,children:w0.jsxDEV(O,{color:"gray",children:["Stack: ",X.stack?.split(`
342
252
  `).slice(0,3).join(`
343
- `)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),p0.jsxDEV(w,{marginTop:1,children:p0.jsxDEV(N,{color:"blue",children:"Press Ctrl+C to exit"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);try{_6(p0.jsxDEV(v6,{},void 0,!1,void 0,this),{exitOnCtrlC:!1})}catch($){console.error("Critical rendering error:",$),_6(p0.jsxDEV(gQ,{error:$},void 0,!1,void 0,this))}process.on("unhandledRejection",($,Z)=>{console.error("Unhandled Rejection at:",Z,"reason:",$)});process.on("uncaughtException",($)=>{console.error("Uncaught Exception:",$)});
253
+ `)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),w0.jsxDEV(A,{marginTop:1,children:w0.jsxDEV(O,{color:"blue",children:"Press Ctrl+C to exit"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);try{G6(w0.jsxDEV(W6,{},void 0,!1,void 0,this),{exitOnCtrlC:!1})}catch(X){console.error("Critical rendering error:",X),G6(w0.jsxDEV(BY,{error:X},void 0,!1,void 0,this))}process.on("unhandledRejection",(X,J)=>{console.error("Unhandled Rejection at:",J,"reason:",X)});process.on("uncaughtException",(X)=>{console.error("Uncaught Exception:",X)});