From fd1a4d691000e6665f5503bcaea9c4902788ee8a Mon Sep 17 00:00:00 2001 From: ezynda3 Date: Tue, 2 Jun 2026 11:12:28 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20mark3lab?= =?UTF-8?q?s/kit@7e4708f511ce6b6728eb9e8ac8028dfac2ded716=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _pagefind/fragment/en_712ea35.pf_fragment | Bin 0 -> 4177 bytes _pagefind/fragment/en_ef553dc.pf_fragment | Bin 4019 -> 0 bytes _pagefind/index/en_914a53f.pf_index | Bin 35557 -> 0 bytes _pagefind/index/en_9a482ea.pf_index | Bin 0 -> 35386 bytes _pagefind/index/en_bfde2d1.pf_index | Bin 24271 -> 0 bytes _pagefind/index/en_cda3abc.pf_index | Bin 0 -> 24680 bytes _pagefind/pagefind-entry.json | 2 +- _pagefind/pagefind.en_a3aaf3ec3b.pf_meta | Bin 279 -> 0 bytes _pagefind/pagefind.en_a4ece2a269.pf_meta | Bin 0 -> 278 bytes advanced/json-output/index.html | 2 +- advanced/subagents/index.html | 2 +- advanced/testing/index.html | 2 +- ...-BBLRnNLZ.js => configuration-BOyO9N_c.js} | 12 ++++- .../{index-BlpsZ4Ox.js => index-Q95EUVzd.js} | 46 +++++++++--------- cli/commands/index.html | 2 +- cli/flags/index.html | 2 +- configuration/index.html | 8 ++- development/index.html | 2 +- extensions/capabilities/index.html | 2 +- extensions/examples/index.html | 2 +- extensions/loading/index.html | 2 +- extensions/overview/index.html | 2 +- extensions/testing/index.html | 2 +- index.html | 2 +- installation/index.html | 2 +- llms-full.txt | 6 ++- mcp.json | 2 +- providers/index.html | 2 +- quick-start/index.html | 2 +- sdk/callbacks/index.html | 2 +- sdk/options/index.html | 2 +- sdk/overview/index.html | 2 +- sdk/sessions/index.html | 2 +- search.json | 2 +- sessions/index.html | 2 +- themes/index.html | 2 +- 36 files changed, 68 insertions(+), 52 deletions(-) create mode 100644 _pagefind/fragment/en_712ea35.pf_fragment delete mode 100644 _pagefind/fragment/en_ef553dc.pf_fragment delete mode 100644 _pagefind/index/en_914a53f.pf_index create mode 100644 _pagefind/index/en_9a482ea.pf_index delete mode 100644 _pagefind/index/en_bfde2d1.pf_index create mode 100644 _pagefind/index/en_cda3abc.pf_index delete mode 100644 _pagefind/pagefind.en_a3aaf3ec3b.pf_meta create mode 100644 _pagefind/pagefind.en_a4ece2a269.pf_meta rename assets/{configuration-BBLRnNLZ.js => configuration-BOyO9N_c.js} (79%) rename assets/{index-BlpsZ4Ox.js => index-Q95EUVzd.js} (87%) diff --git a/_pagefind/fragment/en_712ea35.pf_fragment b/_pagefind/fragment/en_712ea35.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..51e9424ffaeabaf65c9588c91eb9292062b73ea1 GIT binary patch literal 4177 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 CTl7Ex diff --git a/_pagefind/index/en_cda3abc.pf_index b/_pagefind/index/en_cda3abc.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..c4bc8744caec6b694ba109c6986440cafd5e601e GIT binary patch literal 24680 zcmV(!K;^$5iwFP!00002|E0ZmeB@QtKb}vSK9jo1p1Xx@*=&{_Shldcw52St^xoSt zNhZl`CNtS7DF~8Hwl_Mg0s>M5r71{JKtxdl1w}x75EZbCsHk65K!2y*NdnLF`$K(R z51YC7e(vXf?mhS1bKa-izEoGbGn4CB)6w3s{!@O#Xix7@Po|U}ETwbB^`kW-D*$dA z9vqo1p)Xiflc2G>W7t*Dk^pI`62Fp9C zywJaXv}&Xo4#R>R6%>n^d~R(qpTnLb^s)}D>BE{*zL2K&=|Z`Hb#dy)iD2d6)ZU?T zrr4byNR><7IDp>1k~GYvdbMHTJ#5(BJ2a5#=t|@0>Nn8ScX|OVPUS{N!}QyIHxL^h z_4v=ds^Jj)n?It82AfM|2U0lxD8Kh4Eb74S)4N8U%~WtYd@XLA70?nI9(A_18ux-= z(m1PO05(zeF<6TI!r>u!NMGSBbHc+i9nJyx#}=$!2`|Oq0w-jgoAiMx5g-5B(F)V5 zVO`L8KKAN)FehN#)3IVF{*1!kBF1?Y8@ES%$iv>oc^ods%I$OTyPHj5H+-?x1b&k= z!Fl*H|BT^LcQ?#2{*PKrAUG)rAHutyaV8n(K{yqAITpTC3oY<1I5U`l%iw#)Sv)-I z@0w%WC9o~f3hyQ1L1=^XX&rCIH}5G!HEtJN4)@tlx&vn@olBK6xWJQW9p^|vf2M20 zXpoz1#DR>`9~Z#7;nCpMX5)9eN#kEYqpXcNI8ht%`&y|9B=GSpKb|V3JM)DeB{Ba3 ztXOL+O8NDpb=-L?uTVNw80EJi&Fa8{!=nMF!GB7NbjM~T$`9}}sp(O+>621mJe)Fz zM(TbVzHI+I)dX>^L-;qGY@FBl>(V#|BrYD;Bhq~ysjGUl#dx>CLj0i7S;je`3O{^9 zi*fJ8XK56J$5Fddce*#-mG3T<`ifndQg^wnJ>T1#D)cPLrrL_Q2ivmww%$~+lrE$P zQ@wpz+zz}eal;hHbzo=U1Q`8 zcB$}Rq!!J_nN16ogjVRsKbW2`3k7`7{^$z(NI&>d&ZbsK)mO)1g#N~*J1$DEoeOv1 z?<;2;H`NSp8Rw!F;|#XKawM1K@Ok*QalVWb@tAR5G7ip>b4@e+(fC6!6%K@!78CAi z1>C`p!rt%}Twt6=SeT3&_XHa8L$a9gK0bC?5^jSuwwexm*TF$B4F^00mcmlw-0u^2 z!Y>o7QSuCUSlC8PHp~NlpMU0ejaF?;!YA?BY?P_y}J%B4|V-3s3_?v>PbIr6~+ z;bb@k>pyMW3><>fW1KZ`3{uZo#(9sJZ4%M}e9qg3bayaz_$W@#B$}(kjeC)CT4W!< zfy`m@?YNO}Z96k`$Ph))yLiR%xEmR*z8u-qvR32o*M#F*;d+ka&_XA}w4xq<33kXG zb)?(7Gue(pI%iqcA-oV&f$y+|EBSQ6LLx9JTEWzcMS8+Y>A|+!z7+OZ8f(5EQ!!Q) z@|DI1*|O45pDo*8-jp89;LAhw$@`_NI9-3=pj~!Sz*;tYYbbDu+7Dxppfq(it##q?G^1N3uRG=P`U+W@11| z!X4t@eZ3>R#{wvpgn78{+KO_z(KmDQ1b zvB{o7VgB-RZ(F)B!ksv`4v$7qrt&VO>S@O5B>6W#Dss=Yx)S>g^Pv!@7v>kK`1TBK z*!-d_3R%UHmVJv`EYV-gO!7-6wD=B}EuB#IT^dz>X>TT%(URwB(Rd4O)Gc%mTr$iX zqz-rHjuzw3!Dg>UaoxSza1%Tnhc+GT+1L)L1#nALGjHnRj?%di*&i8U4MD6aa!qf0 zAOB1LpD*Zw`*V0uZKS)5>clS;f`luEM-wRLz@?!e>=Tl9q+g6EV`x_~*8h=lujLu( z+`-~}!nlDriXokN61f-9L5PP#6U`f3qI~!k8>SlPP@RMykwCcuqQ(is*R-rxUO_a_p6~43jJrNrr@Qr4pGXAh;bE0# zov#J#NcOh8^f7ulN`G(T1BVGeP3JpHbeu6abw9-)OWd2qz(;&k0sLBiU$#S;cPBrU z#j{Bz4Tn#md^VfvP4RXl_Je{DTnX#2{Q*S&S*hm#EE(Yy;#M?tY({%N-rXLBm2z#?8*DJ_;#1(kqcPhPDY?MKnpEqt0 zE|U+ayh2W*gXQ%qPWBZ@Y|~yoFZ0u0Mo^GDn;2n$SnNkNV&b*~>V~waqo!hQ#vr?o_TzC*d|BL?pr@%}y7QLN;wl z!KHcc8&{1_mr}O!k&jd=2}|XDLRv_S*raGn?~r9cNUe~uOS1&a)?phZ+U|0xBR`;; z2XY7gd|NrTNgAc6V!m8xw>?cGS(RF)(*>l*V!7AWtd`Hmnm&XGS-6w|y+T5#R7@ED zcZATXyj&zPT#A3mQUMm@M^`$(K*z|16T5#$woL_$W@w78C6-PYf1Pl)U%+#x?56Iw{*TQwXUp!gqLTE z=u78FlbS<_Aj(p(MqyAV9>XOUKGk8%Cc`?C6|BT6l=43c6}Qx&1aKpjyoRtMphg(p z+Df`leG=xw)WBqD=Rx8dQ<+V82BWN-tw;1>6$y!Qhk{qwv{ z;Q&XP2#nQrrg}5kjHrP0al95>)74j6n%|&j)v94#6r=JR50%b-9VfFUe6Bs;v0f({ zm9m*yl%A-R74aw?Ym1$HnRyHr74mdeO`?P6LRVL=ppdV7n;^Kx`FU6+@;}(Kv_=au zIt^R2B5)#~(|uM?@T%lPNKZh}6JDb>2N~znybqCbN|~GpEby8vBW(wSSa&uXZ+R7B z@U@7}pNva&CcXA4SPiRH>e@lze~?Cg3<-G7)+Dqsyox0!!LOB`evbd{o`S;Ln^nen zqY8Gnz-7jpjX>AE4!m8JM0J@#)`MV>jxg8-pD=D5?j=k%3C4K8a*gu?i>@BN0(=jJ zN0eRfGhXY8JDri4&ZtY0-cS`y+3B!{Pcm>bJc7T;oZ)UlNNhS+W{q>N6`Oa;0@Bwm zvPy53)i5qAPK4TIYkiTKo~;)sL2B+BS5xdjf+}f^e?5`K>4SybUN!LKe)kST}+Jjh4j zZd6pJ!Y|+8oyQFeTw$?D(P(0 zUmZS%wlm|LQymn243Ve5!eTx%Q9Ez%CMZx&)}YJ`9HXMGlY#wtgB3d1!oi4zPTo7h zQtGVz<}Lw5akfbKev#G(8RiQtP!-7pkn8UqS|c`0OGGd5s}W}? zSbGm6np`rFDOySU2- z1r@9dc*lQUc)(t;6*p-Z9@ow3Y)&G-?5rhSn1pVgYcc@RIzNI6XAISFWq1TuY;J|0 zp}OwUcg!@-#l&q|;T`C!WfP7G_ft)G6wYLwgNO?s$zf*&$Qd+49Hj5~9*u4mEFwOz zl*eY=`BZM4vl}DuMwAZ){@OLAd=DW9q_WTl@UhJ`h@y=M_Cen;%tqe??SQf9$w!V3pa(#8bP|EK8Sgf0{!Tx|zZ$aEk@Ux7vI zh;zRSYwO_x1SS?G!r=)1kI;)K3l>+9#iL6tM@x)@rbs`5kOe#}xENyIVfYoywR6y) zNe_&oij7FYo6RP?y^0s#I8#|G7RZcF-ofd%HSs?EQxsMb#wcFJ112ng|d}ToBaqR@pDNB=|s)BC)KrCFrKH_FrI`Lg_j*PoM`#1WHpyR&;CB zXld5z^g;1GE0jmlVuaYsptQ!53FU}Uv?qNL2JzLKar>c--``;vWeQJa5=0X`y@Ax+ zESb@KZ1OgUE8%a;*30jOChWf**JuD*D%l#GGGo>M9wQ4Ft zi$8xn*_lQVa85ETNM<@VHuXpio3{v$7TA!drGRE6h9#USFi&@&OCr<`#IVjMhXXi} zhTRB1L#S;5?5#%r!|0J|Os8w9moytmtSS32?VKP#B7_6rF2pNYrg}wKJ!ExmN*Pkc zgk7NcUB`Rii?G9ow=EBBmEMZQjV$~{;7W@iJ|o~>0Df!yQ;d6s95t{Rmg!02%$FrC z76WD658SWSiH>P z;~&i^ULPJg1mt{lR zUnT|=aGC#aC;m^;UXjKl#5DWs2DtCMz9H90A)ueiN1En#6Ew+NX=q?}Onyp)Ti zHPovdhY4hzR8`(X{FD8XXnG4$Inj|Q$kVfjC)CCDVx^*|9u>+#vs@v!i8pDj$|=*~ zL@Ufbrmh~}V-yP)Ca{nwY%c_SS6bR=mX3zxv#TpE6>WX2lq5m+NJnQ;b(FoC98fbt z<{&Fr8z0ue-WBKGsIrvVz-KE8YX~UA(gY)?}mlOJs-{D^zd`W z`G;q5`VppnM44y;Sh%~|p5B+p*B5#-2RQ3s?GAbTCL(6ID(XjNNp1>dNMGxUm zFr{K0fqWZ8%*9#qW_)apEK=HTCDMnCv)=B-&zj%``VC?%65fL%Q;hlc3C7)F>odjD zcA*H%qXL)dc0bJa{RCnmQnX7>!%%>{rkK}yXnAq8_9i=kHkhw0=`bbdl<|r>JP7w7UZ{LF)6V9?*~a~qyf;g} zGUPJndDzKwEKgElx)UWJG7AZ*KgXj+v!#k2?wyKm`4Qrlh>zTlM(i6eA2rU; zWQb_vY_rmIaH|ZCK-m&|#tNN1E<@=nBbN*l$TwF{9QP1g)2IA>nv8=GPcoyKKoTy5 zL*XE4SIpof@&ui)()eer@8-)eD<<%paqq0s`h^$y~ zei;$HVw?8UnJ#R^6BdQoPr(YBh+QF=+obRyxv^|UWADCfj|#$^YSn{qx<&&VTi|Hp zZ6&JxsqHN@s0?$K@X5(6oi`|(!)Z&86C`jxJEZ*p+@$~25t zwk-BYtF$t5{+6jq$iiL zfF@6-$7B><2kOF}jQ3g5=xxF>p zrfcnShI9W7-9LY}^5GAx!{@2iI`pJ!KfEWf_Y5-KjMYrC!@?`QTd^ZX-PXg`eOL)e z6f)+?=Vf{`6(_+>@_EP?w%`kq%ucm4`$G~CP~k9&0sp)fTOS5aDlw-7SbrNZ0XEtXyWTjns|QEs=W@RRzot^%1xMIzWw zR)EWTQzf;aczdb*^tg~Q*_m~x+#<7p58#k(^TkT-U!kGnX|xw=^W=1k49)+xad+a+ zr|}<}4c#>y%CVh2H}@cqVLXvrVQ*KYoJZJY1m3Xn<8Oq4hd$6z?aeI1xOvv-NKYpY zGCx#JYNNY#7F>Zv4mT}OEajt$ay+5087pz0az>cer=nT@^Ji=yd zzaoc+?O$ghRgxrhigs2gqkQupOG6X-P>JYj#!#dNRf=|YJgoR{3IK2=Gmv`mQGWzB z#f|$ew2@;iY%=a|p+5i%0|9Yk(9XEn|Zi7+q4#)M{e1^XuA z<$IEw&USXJHqJtLko-O2Kxj|E?WEfyT|VfxG8KBwWdDZ0B$x_tH6hH}KMHLGWU$M= zPZM`&)FZRf9?fv8@eUx1lKW-2wiS-XCtzU`QGWb=2Sa#^f(hg90b2vex(@Uc4mpQ9 zn<@5$$i|tXSRgOq#gHVt8+Xe|Rn=9osw9O}96;o=3QbRh-nGJ;_V|@ZB@7m8Or%Eiyk_~t2gdeD^xcNU!fUqFAXX~*htHNf|UL@cxc+f!uhL0t+*vg;vx<*$nlLoi_GNm~LmLIeMz$+xdG&&$Od?7Ag(;ZT*k!=2*?UtK60)byB$BeTtZu+Xz;sZ@QC;Z&rrlST|M|i6<)DOPX&7mX)n5^fB5;IW3C4vs%@P6Qx2hH9X}#7?Qmrfikb? ze9hBlX;kak{Mi*#sBf-%dN-l?smjj%%G{E48uLI%y^tOBBs*HAP`#~E3{j4(q#}ra z*B4%Fkvig!9R-H364*mygdi^>gYE#lC3TtN2uqIV8UL56O}5dT7gD*7e6PkVe8L`G z7u&7(|K#ah*9N7;-PXN6Uu&_@EStD!(L&PWI6HiR&c60SYJgNHGG5TK5gEi#`S4C9 z%Q7AqsrGJ*$lhlW*?u%$^UKjptZ?iv)#>(n(VG^*4PrdxNg;1H@?!O9Nc#w_c<&Gu zT!_>qG7o82{M((C0 zyp3|{w-UBkDM~nT@EsGv8mqPwfsj@NJXtwn)!|Hq75dI%d@dIJjE9#It!xXEf z|6HBoUXmb5@9+5Hf1yPp1n=1<#7&AHb>vM~On5GNbo5R1{wRY;>lclFmB^qRN-ORBvc8KBE-v&y4?QHvuZ*Df>OOhts zPKN4yRDn3Z0l_(GRxS{4C8l!}bn~`M<8uPJsjSLCHMZ?g&-qq5d{L~F67jhyc3VL@ zs;4s#t|No5Am0({=1qyF4K_qbeF+e{+GCrP3)UMEt7W%zk_#YD&p`rF1Wu;M259{d zC75TaL4E8Rtc3L|3p?(TF|B|z&N6wsR*>qog>+Y{(2-^Q%c(3YHtgc_M?kU;TU0Dh?vZD;jv-alIgIm3)IOc{Qrw%$pecp- zNw*$J;py_a-h4@M+OLXB6*A2LOoL{M_l<32LDgFbudoLKx9?XsmU(cqr5oavTW6!8 z4!>n3JT05~6;_7PmhAlq2mb=KdsMtB*~Rx>desJDn*iRg*jnhCmbv@f*?A6DS`i|;|n&x4~Yl1!cWIEE<`!FnS^kJD>gprF(YOn zrKHIM;75u+S)T{GF@o6}~INKxS z)8Kr{1W#f2V-xraeaGz)jk>2rSSOvNZGaBhjq56|Cj1HtLLeC|uymLWj^P?R?sB1B zwRuFVVp~a=L+9sI}yP ziMx9}J=Ehtmh!t0(>z8}oxl{|gF`~()#a$qtfv}wB~q04)pSDcb~eNQt#Ck+Ll~F1 z4E?P%&R!B%juUqp!3Z!j4AaTNuU&kXc5xE^NMk(#{^g<8KUJ4IP%WE)hn#M=Avhjs zby-`C<#~&0kuz0qr9un@97poU@g0o`KevfcS+u5&fSn_W(~zzCsIC@nLu)a4%$~ew zi0K55l@k~bk4$^TW@p16!pCS2C^l>p8^mthLSK-%b}z&UI|K&m7=pb9zQo+(aPE}o16`~qFZVR4QPBWa< ziqh;8gz*^Xc$dBRU?&)~i)a0cPh^ zw0Y2JbP;(N`ny{cMnw?zsb=`VxPPvysq(6-THvn)v^qG*qoeRp6x$~u6^X{9@T!M; zWP*)py)vmO1_UdM_zh(egleX2!im6B!uP3k9A%imH%08B^3H6ktC;0X2~u~`SWhe{ zd6kqa+SB-)7=b5s(_?vms!(Jx%SJkxz)^Bm+FGPAPW~j7$0_?O_ihs9c|GX~LE_F| zh6PP99Y0rg+Pa9{IGc1+c3Ii^Z$f4z79S#Gk|Kw|Qbjsv&E}z#WcA()BW3VMCyNo=zuF=|^K zB5_Ml3}43d>H~4M|FlV;pv5qcT#D{vuJ?zZXfnI1smsiu)XN}sRDch39KI$tII@2L^oF~rx2^!YP+nW06bKwLy+&J&j zq83w~X{*&wv)=kB;a$&oWhYfvQWJPr$`ifmjVjvatUY0u9n*=ZlG!PFNu$=>9^QX0Uqdp~|0Xz#Ud4TO`1+pJE$WA4sgGhAFRnldnB~$7; z!%v`UW3vGLTe>c!DH?CjT(xh1FKle3XRhR?Y~}j#@TK z1luY2PSt*|r543YSPcu9>Ue5C^z2{Dg5np2N8oG)VOP`V`MkSlq8X78tIqa0e@lsvbLf~*ArGGGG z5KJ^8=f}6h*1z!!yi)1(c1_aJ1J4?lB2z?t9kiq}$8xf-SlxU-xD#|AQNyDJ>6!h|3cZ?7p-y0W+E-jVCj8!Gh2Pb7z=mlf zo$VZDZN@uRPCxe>a?ChqYd4+U`C`fPp<~6pY+P+I)0MO4sc*;^qX1PJ(e#=x+wj;+ zVU@fv*RheqUXI~l($%n>lqEr#(@M6hXt1s1%It1J1?nZFh94&dgy^CUI1Q*TQLPjO zvz7|2PiXxZU{NGnuAP?4_4TDKvdNcO507aus_gszv9w1zNmp9cdz*y}UST&m<2|c` zDKUB{RJ}vUu`gBFASc@`N^Nr##J_o1@s!`o)2Q#~@O0-)hluU0rC080ye^U}u;@D3 zlKdrwOe(94On5zO;*_AO-Z)>?HvQz6PiH#Z8V8ajo$GK1U4vciLYocCg#i@fn_*@w z26H@E3VXpx{-o+)gN^ly1dKb2Qr+#Ih2(iQ%teu4pK6#<7bAK~@5qEARWV{6~4#cakGT!lqKG#11a;Uw+ z1Mwhyu7N?m8si0hm{MC0tLoq|wDdMN!iO*~f)p|STe#1zYY4E6}H_!!5uNewwGNP2_5 zR9hySDP=g}ob6+cU5<=(%Hp(6T^dqy`DoQvPLUXcY%EX>glWXC; zFdK|Elfa#X);O-$L2+EcX(ThlbEL{GM;0-kRIwV4=}Dr*{Uqf|^nz$Ep9L3%>tl(! zNGK4AdZB1dRltk;p}J^oBoy(YO~FYp8(OOEae^v65zonqNFt%}x$i=6B<@ASe!vSS z$d_pMqB-#As%Chj1@;T0$}_(e*J35~QHapYxC4b6nCYTL3q`bn6Q5?eVsbn>6g&!p0631~oIGzF&5@6yk`v9F{ zoc9|Oi6%-Amy`4~H>fl6wibB2wK2E?CI{g*+})&&a6Y0%uvShs_ezwTZ>oY*s^FR` zn1W!X`(1KDG|F-4kf`ym93n6#o|ymldhMlplFFpFg6r*+W3qHP&N-4ozKWeqOyIM)8cSUmf|-&E-Xff;wFv>C!t{;!V}FZ#=mYeC&u;MboL`~*z68Wh2r-he@A$hXad>m%~vCvMbBi)%| zyA;bxMh?}|__Wx*o_eM6aQqMCped2pe!{vXA;&9KvQtZ(JGbh$mR=4_Y9m_^9`Nu6 z*LJ50sQw07@F~Fw-XzZ+eS}(%wjdzS4zb*jt;ymm|49n%mWE%Ij?$zilPlJfRUB-{ zg_%wZmOd;N77h~X=896P&HC6pY!BX(`Dp9T^o{bN9guhUmV|DUUKwu>q4L*+BK#@P zh5ubI-C|8U<$$RsujPk01pA9#O&!}r;4T`NIFD@A{{J>@vJP%il;}rOO4IBacOj7(}GYOdP2%Uf$Ci^@!KVAg8-&mpZ>-rr7YBDme zXEBF*8AZ9XvvMRoCf_Fcm?ZTz*%ZPXS_xk?#3fj4S|=&k-0$*eGn8vqPQF)EC=N`O z8j;wNR$$9y$1tW~2M;a7+F(qxmXIrTfUR#m@XS|iN`9Dt)CejztqJ;NcncSxpnZdp`M% zR8iDx)ubwVn}2H+fvwPtWOYjjnd@Cn+((w=0L5kd^>9fbG|8=t*Cse=Ieyhj7ScKC zd4@l0e9GU)n6pr6M_N=@Tk};W7OG*D?gDb-~= zc)ZfVK=)WS;wN~;dNO?*IdM1Vq4wcUGHD<#21nSWb5#Di8d=_94?`%SFquRE+eM=# z++o}onIU3V5?G@{qTmw&zGKZ_|7(muBUq zg*)HSg2EsUnyq{-l+VGp^NT-c(@&%#v{!grkR82Hk7D~7#_L2@{4P$_&K9^FE^384 zB0<+dbmq>8yfm*ltl$b6Rla2N|6VEuXye+dCzH)~KToBRbK+uW^rkQ@JRn16 zG7jUlf{gtP{$X634BxvY#B)ylkJ);>Dg4qtb`uLK!Y1qXGe&{2$|hg&YP9VD#b9r1 zhOe)HXb3)4N7j_d)e3z0s7QNgA9pV!_CRs{Y(s42tp1J-#>KsC0-TilL#9jWl=HyZ z6>)e)*f(>RsFUPfv|+YHKTyg|Prb7$+O`NsX>$G&Jnnu*V8tqGO`G$x;ZSJaGVaF2^*}~PJC)CHb|VS*dL|6Sh0g5BwN1$$uPdH<|?fO~z z82rwI;Y4T^ezz2^SBjnqr&G`)v!oZ`d5Nz;WH3brlB3zJc@AuEMuA~<3xe*uP||Ee zg&I|3x5lk?VH*NeE|5`&oL$kz>R;Q8z>~Y4Q?MehYHe&pW$Oszw!+>NAOjtQ7n(`1 zap7oF(<=$60 z-wAp3ZjdHV6LNq@Tb^7@@SsGhAmj8|_@;9?lSquOs(=slrV5(gQrc!u`w}iJ%bqWh zIdxw+%cc@H?hfPpf&3|jxBRO{iTyhki21%n=Nf~-Aa6(Pm=x|>n`g6&ONutj?=@D$ zI@=xw2(-5HCA zJ?C1KANE7}!JXovxH1yO9Z{2@>>X&Ly%U~+2V?MAmqbTB7gy6F4IV3_CxxW=e>;+u z5D)*qVj#vkuuc&7>go?EZ@5}!sRNC(y1OWv5M_aVIrwM?X$b-(pJv?yib4b(WbY)i z)^lpsTE${HmE(W%B*a%qWTmqARra~O)_lzp?k{u@_|T~B(p7KwpzS)%*+}g@J%`se za2hM)9l?vR4dzqQ5EkO@Vey(NqmsWg-7$719U(l0>MDUM_sG1Y`!;YF-{O?y%vOKQ zA{F9kQziu5;+Frm8*>vBXHl*t>(${5f?X6wbZ!}ZK%+yz2jM^}J;!+WBR^-{pprUu z%p>9@nL16KI#&K|TVCd*ww3a?WIi(OHiz#TEvQ7F<6){_`vpCt?ltZYDL*rRXPza# zaiHaV1}$CdR!dpQ{R)El8M{#L+tct38Cbq=jX1F?rh?DP+~)fT8?`A-=p_?elgO(h zrI!FT=#2{>!X7Z!hR|vXFF0SmE6+ME7BrC|2It@PeB~fX~K{(q`#GnY969S1^m}lH$*rh8Y17S_uu@0ny=DZ`zPu1*Io3q&x$p2+R*4wd_ zep|l{RV_4xT*pX8LVze^+X4eMY?8Klk2l~V!mmiD5Yb`g0h6VF#z~53zb|=4)Zp( zB^ho8q?qzUl1oUDVdhl9CO&qex}ascWq=cWIotgvI#MDG8&XEB9wF1P2}UFdaJM{A zMjlQ3Bc^!4YRyQrkh07&!@N`W%TPAGQM?Iuh;Os^1kQHFWWGQr_Uj0YsH39Fp(K!% z+vJXn;In!|KpS^T((_ha&I3^}uY#jsY83WF{B|F>5lJpVDf4k*H$bQ@RqF0}&k5I~eJlJh8YjoeM1*Yb zGvdLjXmvCO2R8wP$lS}>)q+gS?96JM&Z-DQPi-~hRf+fcOc|enn)azM#M_v_#!^s^ z)qIyRT$_VB)zP2IwWm8&84(u!)$tuyjsSU_Ln5brq!R!7_?=W=;3#L?l5X4hPeUgs z_F+YbJaZ|nvN$DE-3J`DIkD=$eYfq!zMbOx2B%D{El#|di#dBUit}@r(U#l9_dico z>l)(XbE;7_*V&SDsNBXG7Q&kCgLZYfP2>D!dq#pm;xZAv@Xf6xmlP?Y+(zh4+bH{N zyGKzr6KYsMp=S%xun=z$@xd{}GJA*Q?4z=?Z1~7rD=mG2`4YA%WlH6es!_*TaelJR zpY^_e1}E<0@LF$A^|vUul`3fnk7a4P+%Df0v!TL-3;Js%O|5#0Y$tpES)3&q+jnc+ z+5_^tBX6DRPpd>gamSsVoHoa|dMOrlb)_r$V*I;>vuHX4cA&yh6H#akhP`QMGv5iw zqIsdtuGN03-Q~r_$sb^Y99p(^Q{1MvWfuIJ+|L(alizV(r7r2aqB8%E?r*^pi^9zP zav~!8jhkGQZY!j6))h?>EDj!5sr=8$xYB`|uYWCzlFMZ@(b-=t#;{ao!`dp7f(~|3 zNuCs0XN$rT?y)ef!8j{4y@#)BaH$*@ariSLYF4}Yl=Aeu$KevpD(}#WAK2NglKDm{ zVyXxVel?=4?A^qT2@m< z8{R~>hzSL~FZ-vDGq#BDKV_1p7(zG*Ck2rrrn!Pe(fseoJQX@q)++0-k%=lGxM36S za)#KB;sE)e%3*#3KgV}?Smf(j>!*F34JbUV$vVPKirI^EjJMmiBPn$Y8YXdYp95pu zGZDsIZWr)0l@jMumeb?-Z9~0nq;!dV*TA1Tgj80b@HS73(CrPGb`Ib=RAAEW#kYwSgh ze8lV&+dtP#%%Ce7dt{=gvRcB8Gz2`X7b(b2xt|XPu9x07i@qR}rHaz26pw$j#TwqS zi+qmt7_vUW^rd#UeVY6VDG+Td@v?Aj2u@3cHNw$^t|b(!UCm`5F{NQ~mvvnaNFpo- z>pM!Rp0p}+{?nSbWxyUpMah)cS@CD4__gDR`WMTy#h#6n5}p_b`Gi)%v*iB{$Ko13 z4LjjXH%fL~<9rV;i^9xc^(4fiTJ*ZdsX(81Q3wu&Gh#4M??H=4f>&hsRAMB^fakf5 z0RS?H>;=JQ;r52eB+7#Z3s8x# zi6N~wJ1(psu*E+LrdLrU!YZPuy=S z`3TQ@Fg+AS?PMO^4e6p@=Dy4TKO7cobm3I?d!#8zmAmY%JpoQ2vEL`-F5tW{ofBi& zebo?y2=+{-b0S0aoFG?SCOI!JNeW!SR5YTn%~Wzk5>Kj^iPES=aUXes0=n;UecZFVg8F3TyR)>rU$O>N9AD~apnv`w?jIKHNs&7-P9hfl6c z;2`O@xAHP%?jx!k6M<#zF-GsJp_Ujw%pGx|Cglt^8M#l2CcH2 zoq)IWjlqW?MNo2y(#0WK_or57ZtbOZo2oCcKz@_NgBXVQp2HqlK7UJlVcdO^SjS7) zUa&BQl>S{xX#{L!tG6t)y_8O^=XiGb5__g~l=yy{2HLJ?@jT$~$_>{nTyc4KDVd? zbQH12;4~&=$-<)e&B{16JCYLjZMNBeSY+b+0LEqf`K)o?_8ge!Kqt9aZsk18Q#dIE z{45Ygxxw3s<6cq)=a4LQm?H#@THeV#S@>4OY$$L+SSsI^hkTe_1u2=7^HqtA8;z0` z<^7~wnTk!wxlv=f+%GC4{u#2yZ3MIu#7cu0gl=*v`69e*h2&bTHdn>;BEG4-NCYG8!cWgv zHKN*w#oM^J&_v$ryEjP|PsA|LDu@W+v>FdyfwNoSGT0B+c^-ll^I*1zkP{;Rb3K?% z$<#iLi))~@7QPE7qh`F+IKPpbiRUBR4B&s`0a!tS5px2_NcDc=72pLTKI{>oJLD36 zBp43{D6?|wYjE#hHrk2Or zZxf83n#1xMwNHXzZw(t@Iw2hCU$xkBk!nwjlPg$`WMCsLbR=h*O)ntl0|OdUwUxyf{MS?QKBGi$pQ*9aMk~Q|qn}L=y=A|U?P--SJkfrk(tV|3mmL843X7aK z_NMdYL>esZ8cT)1X3&E|&=5u?X+td9)X4C=~D@A)xd;dC**eXKo?U6yeNV$D*MY?G;ytJOB@FB@0@` zZHnAU7>PG}inY)M)g|K`g)a^m=L}#R{vMbQdm%vGFeyp~kl8-$7qu4x-Rx2D>Umx; zBx^fZB5y(~3+yZVaL@vuqTmN)l?F>6F=~+!IbZ5bp~1GZoJ$Y(u_#q97D1X;zK@6b ziT^4buSJA|a2&`Y_%ee3tV|NOEz0dR^mIW?%`x^RV(H)j<5cbi|Adw755*_=sy6Fw zBu*I#SZ3V4VYk|=|IODeY#<-+12`9ji1^Dn$3r`A%xl=e0Ifvn0Gvps`rUI7vWIhE zI}D%zkf!_)Q6zH%ExwD*Of_1U<|hz2|87kn6biwrXea=Chso2&xt2U*Ce^?hUI^w) zLaZD*;aoJU%=RLv`y_N7g0LnQhh;IoGnih!685S|P#7Lh#WJ=v@18=erKS$1C6FMd zp_GE=t4Ub7G8PYnyg=OZLM|L&KW@GR=+FR`BLTF)8MW}c+GxBQriXnJG@ATC4F^Th zHeMV>^JW0{458R_M4+aIE~{cM^GpEc90M=ln$;QS1+QMdYxgX=N}~uT1!2EL99H3u zSOaU}6dDN5$ugMh$32QxogQjx@({K^k#FzWy^^j@b_VN!ILAEX8&h#oH{!pi!Ac*N z_;t0|)09a8lwnV=izn*C-elNSpAY)pFOV|qMA`sKlmFu`tR(#~V3<`&u}UouZK3GBy&(=~r_9hsx3;vP06n_FBDX)ZBRvEVPMCPO@;u zPqe$<^rlhgnr0KYxJsPGodb-2I19deMT|c`UhRf`zt*>rfXjUgk4+2EjdZ(#(!w}y zK>im&P2*M6G+wLXXud!g_Ko@s%^K$f%Fu7M6nFR8$b>GgGL9jChy9TM zom)Me@j0-35)SJOApSGMOH?BbHNyQ34JaiC zt3BLba6|;|h{k;14+Ro|c%5ej;XeL)gf8<1>#8Vf+y^YFQf0AsNbfnKUqii>RD#H9 zg#TZ|hY7c(|JwRXZBFOcbWL(<0(U=W+)r2q_dxX@rj%uAYlqyeCB?KR9<#w}f%7<3 zJ98go+&1IymHO|m$EO)vA-6t?8b3mpaGfJWQZ4+ejxVud`0=N5i z#U=-bD|S9zfc2GFViNee#Xu|`s8`6u7Sd_C(2ioD!z1c$QE?UT!WQ{*SNCSkZ>OLB zefy^GSS0coJBZ&|y!uj6nqzXgR7WX8`&CRomy}W89p!@FGN2E#Ab=I9@|R2YI^5~jb<^hN2^|r(J)qQQ z)8#xa-aFTdaw9+|Zt6?d9s%_i4NUBh@k9=h=K$=LA&gFZ`WcoG)1Ozw<<;w0oRWfLkdY zr@F8)l{+3E@PTkDk10zDyEmvmc3{jG`?zr~!W+c}+a{Ci#fQlI8Ub-M#>kXXs1!SS z9bq@kJGyD;N&ej4GTImXD^RqEG`TQ^fNK;UCL?ye;!byDrb{?n{%T2%@emXJRdgX0 z`Gw=L_9mX2+vBi@+e8){v`_3g8KwI@HQ~e{fg*jl-!@UC5OJLd+zET>R{TjgT1(Eg zm)nc1j<1Flh-d7D$2=skL%Ma99*R=1(INC^+U;;8cDfPvL}_DBFika0^{_A!#lMr3 zAIsS^2mVY4@Ez>4vKe;|Jc%I8QVJxSFQN+NH9HZe1#oD0)cRJYD^-{ph6i7zbPUm=2z>JnkznotHmPxU~4v4%W+KJ#?qB zv)gdmVkc+3&!T*Qv%5FUG2U;H3)}|F0_^g<0xpdk_x?m8#t8+lque>Iu*ii^$KaeK zEWq>S;#iE5&B9eMEmj+{ZY$S{BacIu-6C$aWO60K?Bwy8BgE&l)!kFOnzbc5-TlBss9+V0~hZMakj?&|S zaD+trG{l*-ckkUykuT(~fN0@0VU&grMK*<_u7SBRI5OT;g93F10YAD#Yo!~49Ew0e z$~FSoAnFn;QQ{538(}y_@;n_Df(OV=`(IHFL0m~em(DiM^n`qf{Un_L{E9>icXy}U zhk)t|!i~+1)%Ys>0}gd+8=X4XW}L5uTbin&zX_&9UC$2?o$c#J-I&{mSZckC=J#2x zC}X4IbOLUIH_rYpOm`=_#);#|Jv8skaeU)aZn3iiuwPR{J&MvTsI;00 z^d=(FL?luj$E|%6D^cWGUWGvGNHe@eHW)a^#Wi=TPyrZ?wBjK)5Bh51vPcr%fEjdC zqz8k@EuJ*aW1?~_rGyJDCfozls#@V%Cl zXG9x)iejMHx9P+e$seCSkyHsvxz`N0VD~q`If%|TAiLNT)k#LL;rJ@pRt5J|!Jbuo zPwXNTe11fu+aEu42~`I0=?5tI7_HYYd-Vch|Jj2~E4(!c^(7>c<;EGJ>nsZnq+q|= zTHoP~{vaG!6LkUz0UYdxJOrhaF}RCDn=Vxu;!I69vxC6_+zxBn=>|sOH7hxN$|&DA z{1p{}-G6f8VuoVYRPKjgqZh=>a|hFNa)J2!d`(^tw-!)sgDNAG!ApBTnl8bRAVj?~ zoAY6@pg|AP{bk|GiM-CDdhE}T8wXG9V0c1nHMy%?hDPBgWj<@Q*1{cB_haK+Dm+8$ zDj8vmny_^(tfP!9=?-|CG%d5mO4~G^K;*NHfZbnJ)Y{7gKz^AN|(j?Km|9n;qvbBodeRYEf*k zj9xyARxLiKaGz2E-GC}wl64tsowHsw`?IK;@7pBO-legS@qX-+0iCkPoM~aV53Fc1 z91B@ro8LMr@SKdQ{pV|fa*Fo#$n9Qu_ISVXt=6;M%C5gtQ|MW!`vqn2eXJ>}PuZE; zOP}^~DVv0~mtot>Za;$&>32oYs23Niu zPKre@r=08dZ98m9k98H9soLjX)r+poNh`5Qx--*5u{F)r%t{KWT#;_@8ySsK5ZIHF z49aj+G7_r9MIw>TthCJZrn=Hm9I30uUm`N>MR8U8u}f%nt5OCA?-p!l(5(~!oJ zd(}}+NlS>@@utz>rev6$-4Rg_SgG|qUoi2fl5l%aE`fm;!Nx;YeT)tg5rCuB6~bX%$@!f{yP-rIv33n}YYNpuu=Q0Mde@@R&5iH2o| zY*;q)O?;?wG1iCjA?5T|y_FlfQ1w9z_rvZuQI~xhf3Hw=f3>Zt)zlSh=u56r;FYB5 zW5aGkq9%+Y!;KZ6Gsc7{-L|auhsGI@ftGXaDVsQJC;L+rCFL~m^-^j&v55(9;=@PE z*gn{su}OhKVy=_AiT5_%%spBE7AgA-PX%ewaq`n1G43<;9b34#oYCAp>R?AOw9EG| z|5c~|9f>;$kW*^le{{1xz&GyNTjZEQFRZ0(x!gS&w-h(a8#6>AU@0a1@s-?VOz(#0_TDCLMZ-$s7kX-Z0_ff%~`ayoE0b%Xc6V(D^j+?5MN`WY@Mwo_J9q0WpvT(M~(-F=P9kC5jPnL$d$mI-M`mh+T4 zDRLa9z2k}6Quvhcy}B{CGFCXTQboF2`GB5We!%)R1&)#Dv&8MAvZc6DmM#+j zWB7$N3!ErX(8}^^^tNLz6U9&AyFNPMLE2MOBbuGF)L9i zTB1b@!D!8s^;bp2jpD`w$z7BgW<%4p;4rjN2 zK+QP6G46Mb|3Huj)`w!`Hj1Y;?kNZnl#~yi$+uC!*>vWeS3?P<+^x;9s09`qFN^IK zpfbH&<9?&~Y)oASJ$%_UGy+Xg3D@Z$(-tFsL;ZT64vIe+G8rC3TCXqS)Cp&YRn@{~ zJn4OuB;Tfr=?9C;I1ljb6g0yoC9P>M7c%y?ob4Lj-4OAmCX4&^$|T)k)B_9S(B{^K z=qefbJaMH%kd^F!5+xF(3|K6t!I?a%xNlZS5^kR9K2E^Gcf`J|xupWT;RMP|)(Zbb zbJYm^q&~@4AsH_UC)FUJGTY}{AZpu!6Gbr`pJYZyQx>V`6m{ypMQDoqT6Ii$+cX&EtA98iYrXNvC?`>y6UD}gdj}er z(h98ZLHX?2ka!%-W^>o~LU1>-(Sl%@h=FL=N>Q;c(uHHY`aqawVM%Sb0I zp{qcTgv}J7u^tvD;BDi)SV_8{tYpqekOpKG@)hH*E2o|CwDG=0_me1T{!$y>2>(yk zBVE`g9^%i8-7`r6+ixTZ%9d9>CYJ|#HBPhf=-9aq&a0>4NBIUATEF1YC_qp!uJ<&j zu-dmuS^ieOzhT21*b#~7J~_*(CnqA7c^cC`4ueD-+4Rpa^TZ+!IuQ5Mh;7DRz070& zQqNx?T!(Jt;4lXbyBH-O=qk%*`fllzzQj z=`Cj^J@RtvL_-aGe~Sn=NjG7)$B|cL#X;$g`1U=<;X9*O@RXBvN9|>fy%O#O3wzyX zuirstah$#bDQGh%BmI|(LYt7Qovj;h-+<&TIAWY#X;kb=Wa6Jq$t4gHo(|8UX^&it zk}xwCk2XZ z%XQASqQZ@0s%4|@p~hPZvusvu(n3fpOpx9|vsP`K8I+bw7U`d{5HC`u&DsH;;h|^J zd>^{ppnfSHWqhZCt89zM-fJULIFE0VK?{7am!-8j3uC1FGkw%kY=cdz_d}JN2}4Kd z^-cIQNs!zOWi}f>a;x3qr%Si86e8EYqDAFYB`RhQD;K>Z@8r7(8!Fd+^=Gp-^`=WE z_O^bTT4+B1Dr)L8hi~Mynal@LBxSNPx||LqF>9Y~uRC5RZ79`T9Ho6fZ(Q<4&QMXi zm{sfxP&DD+yXT>vOFPn^Nz{-xsNuv=? zL6jj%3%wUCLX{crMb<_xa|?{K7OfqeDu<36{|OCk5yHL5vW=U@WPSdabS~X*qiZ=G z#{hZr*e#)ID_sgmM9`g<>j`CW_a%4%yEBShenKA4a3*giyJ-pz4Jay7wl@hqrA@OI z3~)I;Hy(mw3rXwvHD2w^xd$5Jl8nG?XtAa(LDwq~VBh!aK zQSlc*OOi7Gpq?IteSDbVbL534(Yc?7)gspUU6jGIDp3`$c%>3!c55}Q)Lb^`!tz#l zg|m3jol%r0r-jT_htnN0DA%`;e`*{{CnL>OQD#pM=%&d=_$Hi%m9fBfL3p1M&ZXOtzyv zRjA~$xJ1@Co3&Beot6!@GsRKH9s!lA)W62Ni%(Uggj`2{Ks9FXSG0Qql2=9{`|BI^ zuyFJxrEa;>99|HQghtek(B^m}kSFE7wFm$`poi)0x=(-KDC$W7vSFBQvvO_Zix_S} z-QtgulGC^?a00B2!>J9LqjOCF)h~DfPGJS-a=td_F}jc3`5|T6S_EyeC@N9wDN9RM zG%4c_a`M-el%QlWN-%Al@{`9g#5aj=qZ`if*B{WR<)-0T)R?-Ol;QNC31nYweF$ar zB_SaQNRTm3K(U3cALneRa5u4!qd0ZocKWndy6<>J7zLs^uuv{q;raVatxPldxM?Q5 zYXr(P&L}0XoyUxV?$9omY?N}7I&%Jiush~@FY*O6Y~BA-1kE@UH79MqZV$Rklu^#m zNA|3Q(Ra%bE@FyF$X!N67WqmBzD8bK_T-;XQ0P(M&Ak|ADQUD=eDFdGe(X|dDtHyV z3ybwG2Tq&DBm5qdEcVrz%?~KCw{ic4%6&m@3r_P9}hL48cyhv@!1;W;DhFWElSOPJ9Pa!f|+*{5Jd5^V}me%*t5^GFMQ zx-8;P*aE~?*g9KVU~UpV2e*<-=${Z1^0X0oKT+<#ixFdPfuoIwAh_FCXPhIU#b#e> zAIg_C59I!KM;)ZxU>66>D>?Pr4ILpxQFp*8N}%_O>=QBGN_a_EVulI4V%uFm?(V3K zq+XaBxI@*_6OHp)h~hkZ?4)rzT^v_or>e-?X%1YQd8446>7_jI41Q_lDnM5+VI-c_ zD2$+%V;-oZz*TU2)EY!*+Vqsh84|leLljjPfT@(B@?^T<rX*oc&evEhB)6yck$etOaAXriC z0YZZ45rT>e4#FWg0bBt(npk$q&z^tu&t15Zv>ABK#E+s@xY94XYZ=zgpkfo3zeSP| z4HL{i3Mv0_>tXU*7}0ZR5t{SDzGb75g65>KBTZd!%ZD1}j#xUFNR4ub+G%M1k5S!o zV3=MM`rh>9EHr0z*jVQ*!Su7x1}1R?v-g@sP8tOkPsddlwa-~9#NN9uSDyb>#^@bK zXxiE_X(rV|b6Tj-dlho_yIwC6Jtvr77BYD&Ho|OCOGZP4dDYi$A6gp1ZFyBTph^4e dk$&EuOaH{8S#7uXGH%8jIRN>z{+4|K005o?fc^jg diff --git a/_pagefind/pagefind.en_a4ece2a269.pf_meta b/_pagefind/pagefind.en_a4ece2a269.pf_meta new file mode 100644 index 0000000000000000000000000000000000000000..0f2c3ec7dd6293114530464859b2f8d98d924778 GIT binary patch literal 278 zcmV+x0qOo9iwFP!00002|1HotPD3#efMLBPPm06^GA##)ye~a1EuxF;nRzHI5k(rh zkRW=5prYa;90G9wxB_%EvFwze?cW;vHeK+rT+xD%9$C)qT)k{Bd9`rbO451uTjizV zq%HJcm00#jL>RqRW*aF93*BjD5TxZGp*w0VD)hx7O02EW`BaaFxv}mKG~*h|ZUh`@hDVqoWL+ zXfqCqPzvadE2WK5rqX^_GINeJK!09I7!8{YlW7|=YeZYF`rPi4z?(a+tI34&XS?Dn c{CRtBZ%;a9+-&Z7y - + diff --git a/advanced/subagents/index.html b/advanced/subagents/index.html index f04b2092..bd4e593c 100644 --- a/advanced/subagents/index.html +++ b/advanced/subagents/index.html @@ -7,7 +7,7 @@ - + diff --git a/advanced/testing/index.html b/advanced/testing/index.html index bff4791c..7f163873 100644 --- a/advanced/testing/index.html +++ b/advanced/testing/index.html @@ -7,7 +7,7 @@ - + diff --git a/assets/configuration-BBLRnNLZ.js b/assets/configuration-BOyO9N_c.js similarity index 79% rename from assets/configuration-BBLRnNLZ.js rename to assets/configuration-BOyO9N_c.js index 0b265a99..9818f35d 100644 --- a/assets/configuration-BBLRnNLZ.js +++ b/assets/configuration-BOyO9N_c.js @@ -173,6 +173,9 @@ const e={frontmatter:{title:"Configuration",description:"Configure Kit using con type: remote url: "https://pubmed.mcp.example.com" noOAuth: true # skip OAuth for public servers + headers: + - "ApiKey: \${env://API_KEY}" # required env var + - "X-Tenant: \${env://TENANT_ID:-default}" # with fallback default builds: type: remote @@ -224,13 +227,18 @@ const e={frontmatter:{title:"Configuration",description:"Configure Kit using con Skip OAuth for this server (for public servers that don't require auth) +headers +list of strings +HTTP headers to attach to every request, each as a "Key: Value" string. Values support env-substitution: \${env://VAR} or \${env://VAR:-default}. + + tasksMode string When to augment tools/call with MCP task metadata: auto (default — only when the server advertises task support), never, or always. See MCP tasks. -

A legacy format with transport, args, env, and headers fields is also supported.

+

A legacy format with transport, args, and env fields is also supported; headers works in both the current and legacy formats.

MCP tasks (long-running tools)

Kit advertises MCP task support during initialize so servers can respond to tools/call with a @@ -458,4 +466,4 @@ plug in a progress callback — see SDK options

  • Config file (model:, thinking-level:)
  • Saved preferences (~/.config/kit/preferences.yml)
  • Default values
  • -`,headings:[{depth:2,text:"Basic configuration",id:"basic-configuration"},{depth:2,text:"All configuration keys",id:"all-configuration-keys"},{depth:2,text:"Environment variables",id:"environment-variables"},{depth:2,text:"MCP server configuration",id:"mcp-server-configuration"},{depth:3,text:"MCP server fields",id:"mcp-server-fields"},{depth:3,text:"MCP tasks (long-running tools)",id:"mcp-tasks-long-running-tools"},{depth:2,text:"Custom models",id:"custom-models"},{depth:3,text:"Custom model fields",id:"custom-model-fields"},{depth:2,text:"Per-model settings",id:"per-model-settings"},{depth:3,text:"Per-model fields",id:"per-model-fields"},{depth:3,text:"Precedence summary",id:"precedence-summary"},{depth:2,text:"Theme configuration",id:"theme-configuration"},{depth:2,text:"Preferences persistence",id:"preferences-persistence"}],raw:'\n# Configuration\n\nKit looks for configuration in the following locations, in order of priority:\n\n1. CLI flags\n2. Environment variables (with `KIT_` prefix)\n3. `./.kit.yml` / `./.kit.yaml` / `./.kit.json` (project-local)\n4. `~/.kit.yml` / `~/.kit.yaml` / `~/.kit.json` (global)\n\n## Basic configuration\n\nCreate `~/.kit.yml`:\n\n```yaml\nmodel: anthropic/claude-sonnet-latest\nmax-tokens: 8192\ntemperature: 0.7\nstream: true\n```\n\n## All configuration keys\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `model` | string | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `max-tokens` | int | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher and no explicit value is set. Use [`modelSettings[provider/model].maxTokens`](#per-model-settings) to override per-model. |\n| `temperature` | float | `0.7` | Randomness 0.0–1.0 |\n| `top-p` | float | `0.95` | Nucleus sampling 0.0–1.0 |\n| `top-k` | int | `40` | Limit top K tokens |\n| `stream` | bool | `true` | Enable streaming output |\n| `debug` | bool | `false` | Enable debug logging |\n| `compact` | bool | `false` | Enable compact output mode |\n| `system-prompt` | string | — | System prompt text or file path |\n| `max-steps` | int | `0` | Maximum agent steps (0 = unlimited) |\n| `thinking-level` | string | `off` | Extended thinking: off, none, minimal, low, medium, high |\n| `provider-api-key` | string | — | API key for the provider |\n| `provider-url` | string | — | Base URL for provider API |\n| `tls-skip-verify` | bool | `false` | Skip TLS certificate verification |\n| `frequency-penalty` | float | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `presence-penalty` | float | `0.0` | Penalize present tokens (0.0–2.0) |\n| `stop-sequences` | list | — | Custom stop sequences |\n| `theme` | object or string | — | UI theme ([inline overrides or file path](/themes)) |\n| `prompt-templates` | bool | `true` | Enable prompt template loading |\n| `prompt-template` | string | — | Specific template to load by name |\n\n## Environment variables\n\nAny configuration key can be set via environment variable with the `KIT_` prefix. Hyphens become underscores:\n\n```bash\nexport KIT_MODEL="openai/gpt-4o"\nexport KIT_MAX_TOKENS="8192"\nexport KIT_TEMPERATURE="0.5"\n```\n\nProvider API keys use their own environment variables:\n\n```bash\nexport ANTHROPIC_API_KEY="sk-..."\nexport OPENAI_API_KEY="sk-..."\nexport GOOGLE_API_KEY="..."\n```\n\n## MCP server configuration\n\nAdd external MCP servers to your `.kit.yml`:\n\n```yaml\nmcpServers:\n filesystem:\n type: local\n command: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed"]\n environment:\n LOG_LEVEL: "info"\n allowedTools: ["read_file", "write_file"]\n excludedTools: ["delete_file"]\n\n search:\n type: remote\n url: "https://mcp.example.com/search"\n\n pubmed:\n type: remote\n url: "https://pubmed.mcp.example.com"\n noOAuth: true # skip OAuth for public servers\n\n builds:\n type: remote\n url: "https://builds.mcp.example.com"\n tasksMode: always # always run tools/call as async tasks (Phase 1 MVP)\n```\n\n### MCP server fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `type` | string | `local` (stdio) or `remote` (streamable HTTP) |\n| `command` | list | Command and args for local servers |\n| `environment` | map | Environment variables for the server process |\n| `url` | string | URL for remote servers |\n| `allowedTools` | list | Whitelist of tool names to expose |\n| `excludedTools` | list | Blacklist of tool names to hide |\n| `noOAuth` | bool | Skip OAuth for this server (for public servers that don\'t require auth) |\n| `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). |\n\nA legacy format with `transport`, `args`, `env`, and `headers` fields is also supported.\n\n### MCP tasks (long-running tools)\n\nKit advertises [MCP task support](https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks)\nduring `initialize` so servers can respond to `tools/call` with a\n`CreateTaskResult` (a task ID + `working` status) instead of blocking until\nthe operation finishes. Kit then polls `tasks/get` / `tasks/result` until the\ntask reaches a terminal state, and best-effort `tasks/cancel`s on context\ncancellation.\n\nThis avoids HTTP/SSE proxy timeouts on long builds, deploys, and batch jobs,\nand lets the user/agent abort cleanly with Ctrl-C.\n\n**Per-server `tasksMode`:**\n\n| Value | Behaviour |\n|-------|-----------|\n| `auto` (default) | Augment `tools/call` with task metadata only when the server advertised `tasks/toolCalls` capability. Servers that don\'t advertise it run synchronously, exactly as before. |\n| `never` | Always issue `tools/call` synchronously, regardless of server capability. |\n| `always` | Always opt into task augmentation, even when the server didn\'t advertise the capability. The server may still respond synchronously — this just expresses client intent unconditionally. |\n\nDefaults are safe: any existing MCP server keeps its previous behaviour\nbit-for-bit. SDK consumers can also override the mode programmatically and\nplug in a progress callback — see [SDK options](/sdk/options#mcp-tasks).\n\n## Custom models\n\nDefine custom models in your `.kit.yml` for use with the `custom` provider. This is useful for self-hosted models or API endpoints not in the built-in database:\n\n```yaml\ncustomModels:\n my-model:\n name: "My Custom Model"\n baseUrl: "http://localhost:8080/v1"\n apiKey: "my-secret-key"\n reasoning: true\n temperature: true\n cost:\n input: 0.002\n output: 0.004\n limit:\n context: 128000\n output: 32000\n```\n\n### Custom model fields\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `name` | string | Yes | Display name for the model |\n| `baseUrl` | string | No | Per-model base URL override; when set, `--provider-url` is not required |\n| `apiKey` | string | No | Per-model API key override |\n| `reasoning` | bool | No | Whether the model supports reasoning/thinking |\n| `temperature` | bool | No | Whether the model supports temperature adjustment |\n| `cost.input` | float | No | Cost per 1K input tokens |\n| `cost.output` | float | No | Cost per 1K output tokens |\n| `limit.context` | int | Yes | Maximum context window in tokens |\n| `limit.output` | int | No | Maximum output tokens |\n\nUse with a per-model `baseUrl` (no `--provider-url` needed):\n\n```bash\nkit --model custom/my-model "Hello"\n```\n\nOr override the base URL at runtime:\n\n```bash\nkit --provider-url "http://localhost:8080/v1" --model custom/my-model "Hello"\n```\n\nWhen `--provider-url` is specified without `--model`, Kit defaults to `custom/custom` which has zero cost tracking and a 262K context window.\n\n## Per-model settings\n\nOverride generation parameters and system prompt on a per-model basis using `modelSettings`:\n\n```yaml\nmodelSettings:\n anthropic/claude-sonnet-4-5-20250929:\n temperature: 0.3\n maxTokens: 8192\n systemPrompt: "You are a concise coding assistant."\n openai/gpt-4o:\n temperature: 0.7\n frequencyPenalty: 0.5\n```\n\n### Per-model fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `temperature` | float | Temperature override for this model |\n| `maxTokens` | int | Max output tokens override |\n| `topP` | float | Top-p override |\n| `topK` | int | Top-k override |\n| `frequencyPenalty` | float | Frequency penalty override |\n| `presencePenalty` | float | Presence penalty override |\n| `stopSequences` | list | Stop sequences override |\n| `thinkingLevel` | string | Thinking level override |\n| `systemPrompt` | string | Per-model system prompt (used when no explicit prompt is set) |\n\nSettings from `modelSettings` and `customModels.params` act as model-level defaults — explicit CLI flags, `KIT_*` environment variables, global config values, and SDK `Options.*` fields all take precedence over them.\n\nWhen switching models via `/model` or `SetModel()`, if the new model has a per-model system prompt and no custom global prompt was set, the per-model prompt automatically replaces the previous one.\n\n### Precedence summary\n\nFor the generation and provider parameters documented above, the resolved value at runtime comes from the first source that sets it:\n\n1. CLI flag (e.g. `--max-tokens`, `--temperature`, `--provider-api-key`)\n2. SDK `Options.X` when embedding Kit as a library (`kit.Options.MaxTokens`, `Temperature`, `ProviderAPIKey`, etc.)\n3. `KIT_*` environment variable (`KIT_MAX_TOKENS`, `KIT_TEMPERATURE`, ...)\n4. `.kit.yml` / `.kit.yaml` / `.kit.json` (project-local, then global)\n5. Per-model defaults (`modelSettings[provider/model]` / `customModels[...].params`)\n6. Provider-level defaults (e.g. Anthropic\'s own temperature default)\n7. SDK last-resort floor — currently an 8192 output-token ceiling matching the CLI `--max-tokens` default, auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher\n\nSee the [SDK options reference](/sdk/options) for the full list of `kit.Options` fields that map to these keys.\n\n## Theme configuration\n\n```yaml\n# Inline partial overrides (unspecified fields inherit from default)\ntheme:\n primary:\n light: "#8839ef"\n dark: "#cba6f7"\n error:\n dark: "#FF0000"\n```\n\n```yaml\n# Reference external theme file\ntheme: "./themes/my-custom-theme.yml"\n```\n\nSee [Themes](/themes) for the full theme file format, built-in themes, and the extension theme API.\n\n## Preferences persistence\n\nKit automatically saves your UI preferences across sessions to `~/.config/kit/preferences.yml`:\n\n- **Theme** — Set via `/theme ` or `ctx.SetTheme()`\n- **Model** — Set via `/model ` or the model selector\n- **Thinking level** — Set via `/thinking ` or Shift+Tab cycling\n\nThese preferences are restored on next launch. Precedence (highest to lowest):\n1. CLI flags (`--model`, `--thinking-level`)\n2. Config file (`model:`, `thinking-level:`)\n3. Saved preferences (`~/.config/kit/preferences.yml`)\n4. Default values\n'};export{e as default}; +`,headings:[{depth:2,text:"Basic configuration",id:"basic-configuration"},{depth:2,text:"All configuration keys",id:"all-configuration-keys"},{depth:2,text:"Environment variables",id:"environment-variables"},{depth:2,text:"MCP server configuration",id:"mcp-server-configuration"},{depth:3,text:"MCP server fields",id:"mcp-server-fields"},{depth:3,text:"MCP tasks (long-running tools)",id:"mcp-tasks-long-running-tools"},{depth:2,text:"Custom models",id:"custom-models"},{depth:3,text:"Custom model fields",id:"custom-model-fields"},{depth:2,text:"Per-model settings",id:"per-model-settings"},{depth:3,text:"Per-model fields",id:"per-model-fields"},{depth:3,text:"Precedence summary",id:"precedence-summary"},{depth:2,text:"Theme configuration",id:"theme-configuration"},{depth:2,text:"Preferences persistence",id:"preferences-persistence"}],raw:'\n# Configuration\n\nKit looks for configuration in the following locations, in order of priority:\n\n1. CLI flags\n2. Environment variables (with `KIT_` prefix)\n3. `./.kit.yml` / `./.kit.yaml` / `./.kit.json` (project-local)\n4. `~/.kit.yml` / `~/.kit.yaml` / `~/.kit.json` (global)\n\n## Basic configuration\n\nCreate `~/.kit.yml`:\n\n```yaml\nmodel: anthropic/claude-sonnet-latest\nmax-tokens: 8192\ntemperature: 0.7\nstream: true\n```\n\n## All configuration keys\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `model` | string | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `max-tokens` | int | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher and no explicit value is set. Use [`modelSettings[provider/model].maxTokens`](#per-model-settings) to override per-model. |\n| `temperature` | float | `0.7` | Randomness 0.0–1.0 |\n| `top-p` | float | `0.95` | Nucleus sampling 0.0–1.0 |\n| `top-k` | int | `40` | Limit top K tokens |\n| `stream` | bool | `true` | Enable streaming output |\n| `debug` | bool | `false` | Enable debug logging |\n| `compact` | bool | `false` | Enable compact output mode |\n| `system-prompt` | string | — | System prompt text or file path |\n| `max-steps` | int | `0` | Maximum agent steps (0 = unlimited) |\n| `thinking-level` | string | `off` | Extended thinking: off, none, minimal, low, medium, high |\n| `provider-api-key` | string | — | API key for the provider |\n| `provider-url` | string | — | Base URL for provider API |\n| `tls-skip-verify` | bool | `false` | Skip TLS certificate verification |\n| `frequency-penalty` | float | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `presence-penalty` | float | `0.0` | Penalize present tokens (0.0–2.0) |\n| `stop-sequences` | list | — | Custom stop sequences |\n| `theme` | object or string | — | UI theme ([inline overrides or file path](/themes)) |\n| `prompt-templates` | bool | `true` | Enable prompt template loading |\n| `prompt-template` | string | — | Specific template to load by name |\n\n## Environment variables\n\nAny configuration key can be set via environment variable with the `KIT_` prefix. Hyphens become underscores:\n\n```bash\nexport KIT_MODEL="openai/gpt-4o"\nexport KIT_MAX_TOKENS="8192"\nexport KIT_TEMPERATURE="0.5"\n```\n\nProvider API keys use their own environment variables:\n\n```bash\nexport ANTHROPIC_API_KEY="sk-..."\nexport OPENAI_API_KEY="sk-..."\nexport GOOGLE_API_KEY="..."\n```\n\n## MCP server configuration\n\nAdd external MCP servers to your `.kit.yml`:\n\n```yaml\nmcpServers:\n filesystem:\n type: local\n command: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed"]\n environment:\n LOG_LEVEL: "info"\n allowedTools: ["read_file", "write_file"]\n excludedTools: ["delete_file"]\n\n search:\n type: remote\n url: "https://mcp.example.com/search"\n\n pubmed:\n type: remote\n url: "https://pubmed.mcp.example.com"\n noOAuth: true # skip OAuth for public servers\n headers:\n - "ApiKey: ${env://API_KEY}" # required env var\n - "X-Tenant: ${env://TENANT_ID:-default}" # with fallback default\n\n builds:\n type: remote\n url: "https://builds.mcp.example.com"\n tasksMode: always # always run tools/call as async tasks (Phase 1 MVP)\n```\n\n### MCP server fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `type` | string | `local` (stdio) or `remote` (streamable HTTP) |\n| `command` | list | Command and args for local servers |\n| `environment` | map | Environment variables for the server process |\n| `url` | string | URL for remote servers |\n| `allowedTools` | list | Whitelist of tool names to expose |\n| `excludedTools` | list | Blacklist of tool names to hide |\n| `noOAuth` | bool | Skip OAuth for this server (for public servers that don\'t require auth) |\n| `headers` | list of strings | HTTP headers to attach to every request, each as a `"Key: Value"` string. Values support env-substitution: `${env://VAR}` or `${env://VAR:-default}`. |\n| `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). |\n\nA legacy format with `transport`, `args`, and `env` fields is also supported; `headers` works in both the current and legacy formats.\n\n### MCP tasks (long-running tools)\n\nKit advertises [MCP task support](https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks)\nduring `initialize` so servers can respond to `tools/call` with a\n`CreateTaskResult` (a task ID + `working` status) instead of blocking until\nthe operation finishes. Kit then polls `tasks/get` / `tasks/result` until the\ntask reaches a terminal state, and best-effort `tasks/cancel`s on context\ncancellation.\n\nThis avoids HTTP/SSE proxy timeouts on long builds, deploys, and batch jobs,\nand lets the user/agent abort cleanly with Ctrl-C.\n\n**Per-server `tasksMode`:**\n\n| Value | Behaviour |\n|-------|-----------|\n| `auto` (default) | Augment `tools/call` with task metadata only when the server advertised `tasks/toolCalls` capability. Servers that don\'t advertise it run synchronously, exactly as before. |\n| `never` | Always issue `tools/call` synchronously, regardless of server capability. |\n| `always` | Always opt into task augmentation, even when the server didn\'t advertise the capability. The server may still respond synchronously — this just expresses client intent unconditionally. |\n\nDefaults are safe: any existing MCP server keeps its previous behaviour\nbit-for-bit. SDK consumers can also override the mode programmatically and\nplug in a progress callback — see [SDK options](/sdk/options#mcp-tasks).\n\n## Custom models\n\nDefine custom models in your `.kit.yml` for use with the `custom` provider. This is useful for self-hosted models or API endpoints not in the built-in database:\n\n```yaml\ncustomModels:\n my-model:\n name: "My Custom Model"\n baseUrl: "http://localhost:8080/v1"\n apiKey: "my-secret-key"\n reasoning: true\n temperature: true\n cost:\n input: 0.002\n output: 0.004\n limit:\n context: 128000\n output: 32000\n```\n\n### Custom model fields\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `name` | string | Yes | Display name for the model |\n| `baseUrl` | string | No | Per-model base URL override; when set, `--provider-url` is not required |\n| `apiKey` | string | No | Per-model API key override |\n| `reasoning` | bool | No | Whether the model supports reasoning/thinking |\n| `temperature` | bool | No | Whether the model supports temperature adjustment |\n| `cost.input` | float | No | Cost per 1K input tokens |\n| `cost.output` | float | No | Cost per 1K output tokens |\n| `limit.context` | int | Yes | Maximum context window in tokens |\n| `limit.output` | int | No | Maximum output tokens |\n\nUse with a per-model `baseUrl` (no `--provider-url` needed):\n\n```bash\nkit --model custom/my-model "Hello"\n```\n\nOr override the base URL at runtime:\n\n```bash\nkit --provider-url "http://localhost:8080/v1" --model custom/my-model "Hello"\n```\n\nWhen `--provider-url` is specified without `--model`, Kit defaults to `custom/custom` which has zero cost tracking and a 262K context window.\n\n## Per-model settings\n\nOverride generation parameters and system prompt on a per-model basis using `modelSettings`:\n\n```yaml\nmodelSettings:\n anthropic/claude-sonnet-4-5-20250929:\n temperature: 0.3\n maxTokens: 8192\n systemPrompt: "You are a concise coding assistant."\n openai/gpt-4o:\n temperature: 0.7\n frequencyPenalty: 0.5\n```\n\n### Per-model fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `temperature` | float | Temperature override for this model |\n| `maxTokens` | int | Max output tokens override |\n| `topP` | float | Top-p override |\n| `topK` | int | Top-k override |\n| `frequencyPenalty` | float | Frequency penalty override |\n| `presencePenalty` | float | Presence penalty override |\n| `stopSequences` | list | Stop sequences override |\n| `thinkingLevel` | string | Thinking level override |\n| `systemPrompt` | string | Per-model system prompt (used when no explicit prompt is set) |\n\nSettings from `modelSettings` and `customModels.params` act as model-level defaults — explicit CLI flags, `KIT_*` environment variables, global config values, and SDK `Options.*` fields all take precedence over them.\n\nWhen switching models via `/model` or `SetModel()`, if the new model has a per-model system prompt and no custom global prompt was set, the per-model prompt automatically replaces the previous one.\n\n### Precedence summary\n\nFor the generation and provider parameters documented above, the resolved value at runtime comes from the first source that sets it:\n\n1. CLI flag (e.g. `--max-tokens`, `--temperature`, `--provider-api-key`)\n2. SDK `Options.X` when embedding Kit as a library (`kit.Options.MaxTokens`, `Temperature`, `ProviderAPIKey`, etc.)\n3. `KIT_*` environment variable (`KIT_MAX_TOKENS`, `KIT_TEMPERATURE`, ...)\n4. `.kit.yml` / `.kit.yaml` / `.kit.json` (project-local, then global)\n5. Per-model defaults (`modelSettings[provider/model]` / `customModels[...].params`)\n6. Provider-level defaults (e.g. Anthropic\'s own temperature default)\n7. SDK last-resort floor — currently an 8192 output-token ceiling matching the CLI `--max-tokens` default, auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher\n\nSee the [SDK options reference](/sdk/options) for the full list of `kit.Options` fields that map to these keys.\n\n## Theme configuration\n\n```yaml\n# Inline partial overrides (unspecified fields inherit from default)\ntheme:\n primary:\n light: "#8839ef"\n dark: "#cba6f7"\n error:\n dark: "#FF0000"\n```\n\n```yaml\n# Reference external theme file\ntheme: "./themes/my-custom-theme.yml"\n```\n\nSee [Themes](/themes) for the full theme file format, built-in themes, and the extension theme API.\n\n## Preferences persistence\n\nKit automatically saves your UI preferences across sessions to `~/.config/kit/preferences.yml`:\n\n- **Theme** — Set via `/theme ` or `ctx.SetTheme()`\n- **Model** — Set via `/model ` or the model selector\n- **Thinking level** — Set via `/thinking ` or Shift+Tab cycling\n\nThese preferences are restored on next launch. Precedence (highest to lowest):\n1. CLI flags (`--model`, `--thinking-level`)\n2. Config file (`model:`, `thinking-level:`)\n3. Saved preferences (`~/.config/kit/preferences.yml`)\n4. Default values\n'};export{e as default}; diff --git a/assets/index-BlpsZ4Ox.js b/assets/index-Q95EUVzd.js similarity index 87% rename from assets/index-BlpsZ4Ox.js rename to assets/index-Q95EUVzd.js index 50888f40..61a9d782 100644 --- a/assets/index-BlpsZ4Ox.js +++ b/assets/index-Q95EUVzd.js @@ -1,4 +1,4 @@ -(function(){const h=document.createElement("link").relList;if(h&&h.supports&&h.supports("modulepreload"))return;for(const v of document.querySelectorAll('link[rel="modulepreload"]'))c(v);new MutationObserver(v=>{for(const E of v)if(E.type==="childList")for(const A of E.addedNodes)A.tagName==="LINK"&&A.rel==="modulepreload"&&c(A)}).observe(document,{childList:!0,subtree:!0});function d(v){const E={};return v.integrity&&(E.integrity=v.integrity),v.referrerPolicy&&(E.referrerPolicy=v.referrerPolicy),v.crossOrigin==="use-credentials"?E.credentials="include":v.crossOrigin==="anonymous"?E.credentials="omit":E.credentials="same-origin",E}function c(v){if(v.ep)return;v.ep=!0;const E=d(v);fetch(v.href,E)}})();function Ch(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var Lu={exports:{}},ii={};/** +(function(){const h=document.createElement("link").relList;if(h&&h.supports&&h.supports("modulepreload"))return;for(const v of document.querySelectorAll('link[rel="modulepreload"]'))c(v);new MutationObserver(v=>{for(const E of v)if(E.type==="childList")for(const M of E.addedNodes)M.tagName==="LINK"&&M.rel==="modulepreload"&&c(M)}).observe(document,{childList:!0,subtree:!0});function d(v){const E={};return v.integrity&&(E.integrity=v.integrity),v.referrerPolicy&&(E.referrerPolicy=v.referrerPolicy),v.crossOrigin==="use-credentials"?E.credentials="include":v.crossOrigin==="anonymous"?E.credentials="omit":E.credentials="same-origin",E}function c(v){if(v.ep)return;v.ep=!0;const E=d(v);fetch(v.href,E)}})();function Ch(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var Lu={exports:{}},ii={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Yd;function jh(){if(Yd)return ii;Yd=1;var u=Symbol.for("react.transitional.element"),h=Symbol.for("react.fragment");function d(c,v,E){var A=null;if(E!==void 0&&(A=""+E),v.key!==void 0&&(A=""+v.key),"key"in v){E={};for(var O in v)O!=="key"&&(E[O]=v[O])}else E=v;return v=E.ref,{$$typeof:u,type:c,key:A,ref:v!==void 0?v:null,props:E}}return ii.Fragment=h,ii.jsx=d,ii.jsxs=d,ii}var Kd;function Mh(){return Kd||(Kd=1,Lu.exports=jh()),Lu.exports}var s=Mh(),Gu={exports:{}},ot={};/** + */var Yd;function Ah(){if(Yd)return ii;Yd=1;var u=Symbol.for("react.transitional.element"),h=Symbol.for("react.fragment");function d(c,v,E){var M=null;if(E!==void 0&&(M=""+E),v.key!==void 0&&(M=""+v.key),"key"in v){E={};for(var O in v)O!=="key"&&(E[O]=v[O])}else E=v;return v=E.ref,{$$typeof:u,type:c,key:M,ref:v!==void 0?v:null,props:E}}return ii.Fragment=h,ii.jsx=d,ii.jsxs=d,ii}var Kd;function jh(){return Kd||(Kd=1,Lu.exports=Ah()),Lu.exports}var s=jh(),Gu={exports:{}},ot={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Xd;function Ah(){if(Xd)return ot;Xd=1;var u=Symbol.for("react.transitional.element"),h=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),v=Symbol.for("react.profiler"),E=Symbol.for("react.consumer"),A=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),G=Symbol.for("react.lazy"),R=Symbol.for("react.activity"),K=Symbol.iterator;function nt(m){return m===null||typeof m!="object"?null:(m=K&&m[K]||m["@@iterator"],typeof m=="function"?m:null)}var xt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Dt=Object.assign,Mt={};function W(m,_,N){this.props=m,this.context=_,this.refs=Mt,this.updater=N||xt}W.prototype.isReactComponent={},W.prototype.setState=function(m,_){if(typeof m!="object"&&typeof m!="function"&&m!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,m,_,"setState")},W.prototype.forceUpdate=function(m){this.updater.enqueueForceUpdate(this,m,"forceUpdate")};function I(){}I.prototype=W.prototype;function ct(m,_,N){this.props=m,this.context=_,this.refs=Mt,this.updater=N||xt}var Q=ct.prototype=new I;Q.constructor=ct,Dt(Q,W.prototype),Q.isPureReactComponent=!0;var Y=Array.isArray;function H(){}var U={H:null,A:null,T:null,S:null},at=Object.prototype.hasOwnProperty;function lt(m,_,N){var L=N.ref;return{$$typeof:u,type:m,key:_,ref:L!==void 0?L:null,props:N}}function P(m,_){return lt(m.type,_,m.props)}function mt(m){return typeof m=="object"&&m!==null&&m.$$typeof===u}function tt(m){var _={"=":"=0",":":"=2"};return"$"+m.replace(/[=:]/g,function(N){return _[N]})}var At=/\/+/g;function $t(m,_){return typeof m=="object"&&m!==null&&m.key!=null?tt(""+m.key):_.toString(36)}function ft(m){switch(m.status){case"fulfilled":return m.value;case"rejected":throw m.reason;default:switch(typeof m.status=="string"?m.then(H,H):(m.status="pending",m.then(function(_){m.status==="pending"&&(m.status="fulfilled",m.value=_)},function(_){m.status==="pending"&&(m.status="rejected",m.reason=_)})),m.status){case"fulfilled":return m.value;case"rejected":throw m.reason}}throw m}function j(m,_,N,L,it){var rt=typeof m;(rt==="undefined"||rt==="boolean")&&(m=null);var Et=!1;if(m===null)Et=!0;else switch(rt){case"bigint":case"string":case"number":Et=!0;break;case"object":switch(m.$$typeof){case u:case h:Et=!0;break;case G:return Et=m._init,j(Et(m._payload),_,N,L,it)}}if(Et)return it=it(m),Et=L===""?"."+$t(m,0):L,Y(it)?(N="",Et!=null&&(N=Et.replace(At,"$&/")+"/"),j(it,_,N,"",function(Ze){return Ze})):it!=null&&(mt(it)&&(it=P(it,N+(it.key==null||m&&m.key===it.key?"":(""+it.key).replace(At,"$&/")+"/")+Et)),_.push(it)),1;Et=0;var It=L===""?".":L+":";if(Y(m))for(var Ut=0;Ut>>1,Tt=j[J];if(0>>1;Jv(N,Z))Lv(it,N)?(j[J]=it,j[L]=Z,J=L):(j[J]=N,j[_]=Z,J=_);else if(Lv(it,Z))j[J]=it,j[L]=Z,J=L;else break t}}return B}function v(j,B){var Z=j.sortIndex-B.sortIndex;return Z!==0?Z:j.id-B.id}if(u.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var E=performance;u.unstable_now=function(){return E.now()}}else{var A=Date,O=A.now();u.unstable_now=function(){return A.now()-O}}var C=[],y=[],G=1,R=null,K=3,nt=!1,xt=!1,Dt=!1,Mt=!1,W=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,ct=typeof setImmediate<"u"?setImmediate:null;function Q(j){for(var B=d(y);B!==null;){if(B.callback===null)c(y);else if(B.startTime<=j)c(y),B.sortIndex=B.expirationTime,h(C,B);else break;B=d(y)}}function Y(j){if(Dt=!1,Q(j),!xt)if(d(C)!==null)xt=!0,H||(H=!0,tt());else{var B=d(y);B!==null&&ft(Y,B.startTime-j)}}var H=!1,U=-1,at=5,lt=-1;function P(){return Mt?!0:!(u.unstable_now()-ltj&&P());){var J=R.callback;if(typeof J=="function"){R.callback=null,K=R.priorityLevel;var Tt=J(R.expirationTime<=j);if(j=u.unstable_now(),typeof Tt=="function"){R.callback=Tt,Q(j),B=!0;break e}R===d(C)&&c(C),Q(j)}else c(C);R=d(C)}if(R!==null)B=!0;else{var m=d(y);m!==null&&ft(Y,m.startTime-j),B=!1}}break t}finally{R=null,K=Z,nt=!1}B=void 0}}finally{B?tt():H=!1}}}var tt;if(typeof ct=="function")tt=function(){ct(mt)};else if(typeof MessageChannel<"u"){var At=new MessageChannel,$t=At.port2;At.port1.onmessage=mt,tt=function(){$t.postMessage(null)}}else tt=function(){W(mt,0)};function ft(j,B){U=W(function(){j(u.unstable_now())},B)}u.unstable_IdlePriority=5,u.unstable_ImmediatePriority=1,u.unstable_LowPriority=4,u.unstable_NormalPriority=3,u.unstable_Profiling=null,u.unstable_UserBlockingPriority=2,u.unstable_cancelCallback=function(j){j.callback=null},u.unstable_forceFrameRate=function(j){0>j||125J?(j.sortIndex=Z,h(y,j),d(C)===null&&j===d(y)&&(Dt?(I(U),U=-1):Dt=!0,ft(Y,Z-J))):(j.sortIndex=Tt,h(C,j),xt||nt||(xt=!0,H||(H=!0,tt()))),j},u.unstable_shouldYield=P,u.unstable_wrapCallback=function(j){var B=K;return function(){var Z=K;K=B;try{return j.apply(this,arguments)}finally{K=Z}}}})(Xu)),Xu}var Zd;function _h(){return Zd||(Zd=1,Ku.exports=kh()),Ku.exports}var Qu={exports:{}},re={};/** + */var Vd;function kh(){return Vd||(Vd=1,(function(u){function h(A,B){var Z=A.length;A.push(B);t:for(;0>>1,Tt=A[J];if(0>>1;Jv(N,Z))Lv(it,N)?(A[J]=it,A[L]=Z,J=L):(A[J]=N,A[_]=Z,J=_);else if(Lv(it,Z))A[J]=it,A[L]=Z,J=L;else break t}}return B}function v(A,B){var Z=A.sortIndex-B.sortIndex;return Z!==0?Z:A.id-B.id}if(u.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var E=performance;u.unstable_now=function(){return E.now()}}else{var M=Date,O=M.now();u.unstable_now=function(){return M.now()-O}}var C=[],y=[],G=1,R=null,K=3,nt=!1,xt=!1,Dt=!1,jt=!1,W=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,ct=typeof setImmediate<"u"?setImmediate:null;function Q(A){for(var B=d(y);B!==null;){if(B.callback===null)c(y);else if(B.startTime<=A)c(y),B.sortIndex=B.expirationTime,h(C,B);else break;B=d(y)}}function Y(A){if(Dt=!1,Q(A),!xt)if(d(C)!==null)xt=!0,H||(H=!0,tt());else{var B=d(y);B!==null&&ft(Y,B.startTime-A)}}var H=!1,U=-1,at=5,lt=-1;function P(){return jt?!0:!(u.unstable_now()-ltA&&P());){var J=R.callback;if(typeof J=="function"){R.callback=null,K=R.priorityLevel;var Tt=J(R.expirationTime<=A);if(A=u.unstable_now(),typeof Tt=="function"){R.callback=Tt,Q(A),B=!0;break e}R===d(C)&&c(C),Q(A)}else c(C);R=d(C)}if(R!==null)B=!0;else{var m=d(y);m!==null&&ft(Y,m.startTime-A),B=!1}}break t}finally{R=null,K=Z,nt=!1}B=void 0}}finally{B?tt():H=!1}}}var tt;if(typeof ct=="function")tt=function(){ct(mt)};else if(typeof MessageChannel<"u"){var Mt=new MessageChannel,$t=Mt.port2;Mt.port1.onmessage=mt,tt=function(){$t.postMessage(null)}}else tt=function(){W(mt,0)};function ft(A,B){U=W(function(){A(u.unstable_now())},B)}u.unstable_IdlePriority=5,u.unstable_ImmediatePriority=1,u.unstable_LowPriority=4,u.unstable_NormalPriority=3,u.unstable_Profiling=null,u.unstable_UserBlockingPriority=2,u.unstable_cancelCallback=function(A){A.callback=null},u.unstable_forceFrameRate=function(A){0>A||125J?(A.sortIndex=Z,h(y,A),d(C)===null&&A===d(y)&&(Dt?(I(U),U=-1):Dt=!0,ft(Y,Z-J))):(A.sortIndex=Tt,h(C,A),xt||nt||(xt=!0,H||(H=!0,tt()))),A},u.unstable_shouldYield=P,u.unstable_wrapCallback=function(A){var B=K;return function(){var Z=K;K=B;try{return A.apply(this,arguments)}finally{K=Z}}}})(Xu)),Xu}var Zd;function _h(){return Zd||(Zd=1,Ku.exports=kh()),Ku.exports}var Qu={exports:{}},re={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Jd;function Dh(){if(Jd)return re;Jd=1;var u=$u();function h(C){var y="https://react.dev/errors/"+C;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(h){console.error(h)}}return u(),Qu.exports=Dh(),Qu.exports}/** + */var Jd;function Dh(){if(Jd)return re;Jd=1;var u=$u();function h(C){var y="https://react.dev/errors/"+C;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(h){console.error(h)}}return u(),Qu.exports=Dh(),Qu.exports}/** * @license React * react-dom-client.production.js * @@ -38,24 +38,24 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Fd;function Rh(){if(Fd)return oi;Fd=1;var u=_h(),h=$u(),d=Oh();function c(t){var e="https://react.dev/errors/"+t;if(1Tt||(t.current=J[Tt],J[Tt]=null,Tt--)}function N(t,e){Tt++,J[Tt]=t.current,t.current=e}var L=m(null),it=m(null),rt=m(null),Et=m(null);function It(t,e){switch(N(rt,e),N(it,t),N(L,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?fd(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=fd(e),t=dd(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}_(L),N(L,t)}function Ut(){_(L),_(it),_(rt)}function Ze(t){t.memoizedState!==null&&N(Et,t);var e=L.current,n=dd(e,t.type);e!==n&&(N(it,t),N(L,n))}function pa(t){it.current===t&&(_(L),_(it)),Et.current===t&&(_(Et),ei._currentValue=Z)}var ha,rl;function Je(t){if(ha===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);ha=e&&e[1]||"",rl=-1Tt||(t.current=J[Tt],J[Tt]=null,Tt--)}function N(t,e){Tt++,J[Tt]=t.current,t.current=e}var L=m(null),it=m(null),rt=m(null),Et=m(null);function It(t,e){switch(N(rt,e),N(it,t),N(L,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?fd(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=fd(e),t=dd(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}_(L),N(L,t)}function Ut(){_(L),_(it),_(rt)}function Ze(t){t.memoizedState!==null&&N(Et,t);var e=L.current,n=dd(e,t.type);e!==n&&(N(it,t),N(L,n))}function pa(t){it.current===t&&(_(L),_(it)),Et.current===t&&(_(Et),ei._currentValue=Z)}var ha,rl;function Je(t){if(ha===void 0)try{throw Error()}catch(n){var e=n.stack.trim().match(/\n( *(at )?)/);ha=e&&e[1]||"",rl=-1)":-1l||f[a]!==S[l]){var M=` -`+f[a].replace(" at new "," at ");return t.displayName&&M.includes("")&&(M=M.replace("",t.displayName)),M}while(1<=a&&0<=l);break}}}finally{cl=!1,Error.prepareStackTrace=n}return(n=t?t.displayName||t.name:"")?Je(n):""}function Do(t,e){switch(t.tag){case 26:case 27:case 5:return Je(t.type);case 16:return Je("Lazy");case 13:return t.child!==e&&e!==null?Je("Suspense Fallback"):Je("Suspense");case 19:return Je("SuspenseList");case 0:case 15:return ga(t.type,!1);case 11:return ga(t.type.render,!1);case 1:return ga(t.type,!0);case 31:return Je("Activity");default:return""}}function We(t){try{var e="",n=null;do e+=Do(t,n),n=t,t=t.return;while(t);return e}catch(a){return` +`);for(l=a=0;al||f[a]!==S[l]){var j=` +`+f[a].replace(" at new "," at ");return t.displayName&&j.includes("")&&(j=j.replace("",t.displayName)),j}while(1<=a&&0<=l);break}}}finally{cl=!1,Error.prepareStackTrace=n}return(n=t?t.displayName||t.name:"")?Je(n):""}function Do(t,e){switch(t.tag){case 26:case 27:case 5:return Je(t.type);case 16:return Je("Lazy");case 13:return t.child!==e&&e!==null?Je("Suspense Fallback"):Je("Suspense");case 19:return Je("SuspenseList");case 0:case 15:return ga(t.type,!1);case 11:return ga(t.type.render,!1);case 1:return ga(t.type,!0);case 31:return Je("Activity");default:return""}}function We(t){try{var e="",n=null;do e+=Do(t,n),n=t,t=t.return;while(t);return e}catch(a){return` Error generating stack: `+a.message+` -`+a.stack}}var Fn=Object.prototype.hasOwnProperty,fl=u.unstable_scheduleCallback,va=u.unstable_cancelCallback,Oo=u.unstable_shouldYield,si=u.unstable_requestPaint,se=u.unstable_now,ui=u.unstable_getCurrentPriorityLevel,te=u.unstable_ImmediatePriority,ya=u.unstable_UserBlockingPriority,xn=u.unstable_NormalPriority,Sn=u.unstable_LowPriority,ri=u.unstable_IdlePriority,Pu=u.log,ba=u.unstable_setDisableYieldValue,ye=null,ue=null;function Me(t){if(typeof Pu=="function"&&ba(t),ue&&typeof ue.setStrictMode=="function")try{ue.setStrictMode(ye,t)}catch{}}var ee=Math.clz32?Math.clz32:Sa,ci=Math.log,xa=Math.LN2;function Sa(t){return t>>>=0,t===0?32:31-(ci(t)/xa|0)|0}var Fe=256,$e=262144,Ie=4194304;function Pe(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ta(t,e,n){var a=t.pendingLanes;if(a===0)return 0;var l=0,i=t.suspendedLanes,o=t.pingedLanes;t=t.warmLanes;var r=a&134217727;return r!==0?(a=r&~i,a!==0?l=Pe(a):(o&=r,o!==0?l=Pe(o):n||(n=r&~t,n!==0&&(l=Pe(n))))):(r=a&~i,r!==0?l=Pe(r):o!==0?l=Pe(o):n||(n=a&~t,n!==0&&(l=Pe(n)))),l===0?0:e!==0&&e!==l&&(e&i)===0&&(i=l&-l,n=e&-e,i>=n||i===32&&(n&4194048)!==0)?e:l}function Tn(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function Ne(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ea(){var t=Ie;return Ie<<=1,(Ie&62914560)===0&&(Ie=4194304),t}function za(t){for(var e=[],n=0;31>n;n++)e.push(t);return e}function En(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function fi(t,e,n,a,l,i){var o=t.pendingLanes;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=n,t.entangledLanes&=n,t.errorRecoveryDisabledLanes&=n,t.shellSuspendCounter=0;var r=t.entanglements,f=t.expirationTimes,S=t.hiddenUpdates;for(n=o&~n;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var bm=/[\n"\\]/g;function ke(t){return t.replace(bm,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function wo(t,e,n,a,l,i,o,r){t.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?t.type=o:t.removeAttribute("type"),e!=null?o==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+Ae(e)):t.value!==""+Ae(e)&&(t.value=""+Ae(e)):o!=="submit"&&o!=="reset"||t.removeAttribute("value"),e!=null?Bo(t,o,Ae(e)):n!=null?Bo(t,o,Ae(n)):a!=null&&t.removeAttribute("value"),l==null&&i!=null&&(t.defaultChecked=!!i),l!=null&&(t.checked=l&&typeof l!="function"&&typeof l!="symbol"),r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?t.name=""+Ae(r):t.removeAttribute("name")}function lr(t,e,n,a,l,i,o,r){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.type=i),e!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||e!=null)){Ro(t);return}n=n!=null?""+Ae(n):"",e=e!=null?""+Ae(e):n,r||e===t.value||(t.value=e),t.defaultValue=e}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,t.checked=r?t.checked:!!a,t.defaultChecked=!!a,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(t.name=o),Ro(t)}function Bo(t,e,n){e==="number"&&vi(t.ownerDocument)===t||t.defaultValue===""+n||(t.defaultValue=""+n)}function ka(t,e,n,a){if(t=t.options,e){e={};for(var l=0;l"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lo=!1;if(an)try{var bl={};Object.defineProperty(bl,"passive",{get:function(){Lo=!0}}),window.addEventListener("test",bl,bl),window.removeEventListener("test",bl,bl)}catch{Lo=!1}var Cn=null,Go=null,bi=null;function fr(){if(bi)return bi;var t,e=Go,n=e.length,a,l="value"in Cn?Cn.value:Cn.textContent,i=l.length;for(t=0;t=Tl),vr=" ",yr=!1;function br(t,e){switch(t){case"keyup":return Zm.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xr(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ra=!1;function Wm(t,e){switch(t){case"compositionend":return xr(e);case"keypress":return e.which!==32?null:(yr=!0,vr);case"textInput":return t=e.data,t===vr&&yr?null:t;default:return null}}function Fm(t,e){if(Ra)return t==="compositionend"||!Vo&&br(t,e)?(t=fr(),bi=Go=Cn=null,Ra=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=a}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Ar(n)}}function _r(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?_r(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Dr(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=vi(t.document);e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=vi(t.document)}return e}function Wo(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var lp=an&&"documentMode"in document&&11>=document.documentMode,wa=null,Fo=null,jl=null,$o=!1;function Or(t,e,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$o||wa==null||wa!==vi(a)||(a=wa,"selectionStart"in a&&Wo(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),jl&&Cl(jl,a)||(jl=a,a=mo(Fo,"onSelect"),0>=o,l-=o,Ke=1<<32-ee(e)+l|n<ut?(vt=V,V=null):vt=V.sibling;var Ct=T(g,V,x[ut],k);if(Ct===null){V===null&&(V=vt);break}t&&V&&Ct.alternate===null&&e(g,V),p=i(Ct,p,ut),zt===null?F=Ct:zt.sibling=Ct,zt=Ct,V=vt}if(ut===x.length)return n(g,V),bt&&on(g,ut),F;if(V===null){for(;utut?(vt=V,V=null):vt=V.sibling;var Zn=T(g,V,Ct.value,k);if(Zn===null){V===null&&(V=vt);break}t&&V&&Zn.alternate===null&&e(g,V),p=i(Zn,p,ut),zt===null?F=Zn:zt.sibling=Zn,zt=Zn,V=vt}if(Ct.done)return n(g,V),bt&&on(g,ut),F;if(V===null){for(;!Ct.done;ut++,Ct=x.next())Ct=D(g,Ct.value,k),Ct!==null&&(p=i(Ct,p,ut),zt===null?F=Ct:zt.sibling=Ct,zt=Ct);return bt&&on(g,ut),F}for(V=a(V);!Ct.done;ut++,Ct=x.next())Ct=z(V,g,ut,Ct.value,k),Ct!==null&&(t&&Ct.alternate!==null&&V.delete(Ct.key===null?ut:Ct.key),p=i(Ct,p,ut),zt===null?F=Ct:zt.sibling=Ct,zt=Ct);return t&&V.forEach(function(zh){return e(g,zh)}),bt&&on(g,ut),F}function wt(g,p,x,k){if(typeof x=="object"&&x!==null&&x.type===Dt&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case nt:t:{for(var F=x.key;p!==null;){if(p.key===F){if(F=x.type,F===Dt){if(p.tag===7){n(g,p.sibling),k=l(p,x.props.children),k.return=g,g=k;break t}}else if(p.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===at&&sa(F)===p.type){n(g,p.sibling),k=l(p,x.props),Ol(k,x),k.return=g,g=k;break t}n(g,p);break}else e(g,p);p=p.sibling}x.type===Dt?(k=na(x.props.children,g.mode,k,x.key),k.return=g,g=k):(k=ki(x.type,x.key,x.props,null,g.mode,k),Ol(k,x),k.return=g,g=k)}return o(g);case xt:t:{for(F=x.key;p!==null;){if(p.key===F)if(p.tag===4&&p.stateNode.containerInfo===x.containerInfo&&p.stateNode.implementation===x.implementation){n(g,p.sibling),k=l(p,x.children||[]),k.return=g,g=k;break t}else{n(g,p);break}else e(g,p);p=p.sibling}k=ls(x,g.mode,k),k.return=g,g=k}return o(g);case at:return x=sa(x),wt(g,p,x,k)}if(ft(x))return X(g,p,x,k);if(tt(x)){if(F=tt(x),typeof F!="function")throw Error(c(150));return x=F.call(x),$(g,p,x,k)}if(typeof x.then=="function")return wt(g,p,Ui(x),k);if(x.$$typeof===ct)return wt(g,p,Oi(g,x),k);Hi(g,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,p!==null&&p.tag===6?(n(g,p.sibling),k=l(p,x),k.return=g,g=k):(n(g,p),k=as(x,g.mode,k),k.return=g,g=k),o(g)):n(g,p)}return function(g,p,x,k){try{Dl=0;var F=wt(g,p,x,k);return Qa=null,F}catch(V){if(V===Xa||V===wi)throw V;var zt=xe(29,V,null,g.mode);return zt.lanes=k,zt.return=g,zt}finally{}}}var ra=ec(!0),nc=ec(!1),_n=!1;function gs(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function vs(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Dn(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function On(t,e,n){var a=t.updateQueue;if(a===null)return null;if(a=a.shared,(jt&2)!==0){var l=a.pending;return l===null?e.next=e:(e.next=l.next,l.next=e),a.pending=e,e=Ai(t),qr(t,null,n),e}return Mi(t,a,e,n),Ai(t)}function Rl(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194048)!==0)){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,ml(t,n)}}function ys(t,e){var n=t.updateQueue,a=t.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=e:i=i.next=e}else l=i=e;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}var bs=!1;function wl(){if(bs){var t=Ka;if(t!==null)throw t}}function Bl(t,e,n,a){bs=!1;var l=t.updateQueue;_n=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,r=l.shared.pending;if(r!==null){l.shared.pending=null;var f=r,S=f.next;f.next=null,o===null?i=S:o.next=S,o=f;var M=t.alternate;M!==null&&(M=M.updateQueue,r=M.lastBaseUpdate,r!==o&&(r===null?M.firstBaseUpdate=S:r.next=S,M.lastBaseUpdate=f))}if(i!==null){var D=l.baseState;o=0,M=S=f=null,r=i;do{var T=r.lane&-536870913,z=T!==r.lane;if(z?(gt&T)===T:(a&T)===T){T!==0&&T===Ya&&(bs=!0),M!==null&&(M=M.next={lane:0,tag:r.tag,payload:r.payload,callback:null,next:null});t:{var X=t,$=r;T=e;var wt=n;switch($.tag){case 1:if(X=$.payload,typeof X=="function"){D=X.call(wt,D,T);break t}D=X;break t;case 3:X.flags=X.flags&-65537|128;case 0:if(X=$.payload,T=typeof X=="function"?X.call(wt,D,T):X,T==null)break t;D=R({},D,T);break t;case 2:_n=!0}}T=r.callback,T!==null&&(t.flags|=64,z&&(t.flags|=8192),z=l.callbacks,z===null?l.callbacks=[T]:z.push(T))}else z={lane:T,tag:r.tag,payload:r.payload,callback:r.callback,next:null},M===null?(S=M=z,f=D):M=M.next=z,o|=T;if(r=r.next,r===null){if(r=l.shared.pending,r===null)break;z=r,r=z.next,z.next=null,l.lastBaseUpdate=z,l.shared.pending=null}}while(!0);M===null&&(f=D),l.baseState=f,l.firstBaseUpdate=S,l.lastBaseUpdate=M,i===null&&(l.shared.lanes=0),Hn|=o,t.lanes=o,t.memoizedState=D}}function ac(t,e){if(typeof t!="function")throw Error(c(191,t));t.call(e)}function lc(t,e){var n=t.callbacks;if(n!==null)for(t.callbacks=null,t=0;ti?i:8;var o=j.T,r={};j.T=r,Ns(t,!1,e,n);try{var f=l(),S=j.S;if(S!==null&&S(r,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var M=mp(f,a);Nl(t,e,M,Ce(t))}else Nl(t,e,a,Ce(t))}catch(D){Nl(t,e,{then:function(){},status:"rejected",reason:D},Ce())}finally{B.p=i,o!==null&&r.types!==null&&(o.types=r.types),j.T=o}}function bp(){}function Us(t,e,n,a){if(t.tag!==5)throw Error(c(476));var l=Uc(t).queue;Bc(t,l,e,Z,n===null?bp:function(){return Hc(t),n(a)})}function Uc(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cn,lastRenderedState:Z},next:null};var n={};return e.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cn,lastRenderedState:n},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function Hc(t){var e=Uc(t);e.next===null&&(e=t.alternate.memoizedState),Nl(t,e.next.queue,{},Ce())}function Hs(){return le(ei)}function Nc(){return Xt().memoizedState}function qc(){return Xt().memoizedState}function xp(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var n=Ce();t=Dn(n);var a=On(e,t,n);a!==null&&(ve(a,e,n),Rl(a,e,n)),e={cache:ds()},t.payload=e;return}e=e.return}}function Sp(t,e,n){var a=Ce();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Zi(t)?Gc(e,n):(n=es(t,e,n,a),n!==null&&(ve(n,t,a),Yc(n,e,a)))}function Lc(t,e,n){var a=Ce();Nl(t,e,n,a)}function Nl(t,e,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Zi(t))Gc(e,l);else{var i=t.alternate;if(t.lanes===0&&(i===null||i.lanes===0)&&(i=e.lastRenderedReducer,i!==null))try{var o=e.lastRenderedState,r=i(o,n);if(l.hasEagerState=!0,l.eagerState=r,be(r,o))return Mi(t,e,l,0),Bt===null&&ji(),!1}catch{}finally{}if(n=es(t,e,l,a),n!==null)return ve(n,t,a),Yc(n,e,a),!0}return!1}function Ns(t,e,n,a){if(a={lane:2,revertLane:gu(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Zi(t)){if(e)throw Error(c(479))}else e=es(t,n,a,2),e!==null&&ve(e,t,2)}function Zi(t){var e=t.alternate;return t===st||e!==null&&e===st}function Gc(t,e){Za=Li=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function Yc(t,e,n){if((n&4194048)!==0){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,ml(t,n)}}var ql={readContext:le,use:Ki,useCallback:Gt,useContext:Gt,useEffect:Gt,useImperativeHandle:Gt,useLayoutEffect:Gt,useInsertionEffect:Gt,useMemo:Gt,useReducer:Gt,useRef:Gt,useState:Gt,useDebugValue:Gt,useDeferredValue:Gt,useTransition:Gt,useSyncExternalStore:Gt,useId:Gt,useHostTransitionStatus:Gt,useFormState:Gt,useActionState:Gt,useOptimistic:Gt,useMemoCache:Gt,useCacheRefresh:Gt};ql.useEffectEvent=Gt;var Kc={readContext:le,use:Ki,useCallback:function(t,e){return fe().memoizedState=[t,e===void 0?null:e],t},useContext:le,useEffect:jc,useImperativeHandle:function(t,e,n){n=n!=null?n.concat([t]):null,Qi(4194308,4,_c.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Qi(4194308,4,t,e)},useInsertionEffect:function(t,e){Qi(4,2,t,e)},useMemo:function(t,e){var n=fe();e=e===void 0?null:e;var a=t();if(ca){Me(!0);try{t()}finally{Me(!1)}}return n.memoizedState=[a,e],a},useReducer:function(t,e,n){var a=fe();if(n!==void 0){var l=n(e);if(ca){Me(!0);try{n(e)}finally{Me(!1)}}}else l=e;return a.memoizedState=a.baseState=l,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:l},a.queue=t,t=t.dispatch=Sp.bind(null,st,t),[a.memoizedState,t]},useRef:function(t){var e=fe();return t={current:t},e.memoizedState=t},useState:function(t){t=Ds(t);var e=t.queue,n=Lc.bind(null,st,e);return e.dispatch=n,[t.memoizedState,n]},useDebugValue:ws,useDeferredValue:function(t,e){var n=fe();return Bs(n,t,e)},useTransition:function(){var t=Ds(!1);return t=Bc.bind(null,st,t.queue,!0,!1),fe().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,n){var a=st,l=fe();if(bt){if(n===void 0)throw Error(c(407));n=n()}else{if(n=e(),Bt===null)throw Error(c(349));(gt&127)!==0||cc(a,e,n)}l.memoizedState=n;var i={value:n,getSnapshot:e};return l.queue=i,jc(dc.bind(null,a,i,t),[t]),a.flags|=2048,Wa(9,{destroy:void 0},fc.bind(null,a,i,n,e),null),n},useId:function(){var t=fe(),e=Bt.identifierPrefix;if(bt){var n=Xe,a=Ke;n=(a&~(1<<32-ee(a)-1)).toString(32)+n,e="_"+e+"R_"+n,n=Gi++,0<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?o.createElement("select",{is:a.is}):o.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?o.createElement(l,{is:a.is}):o.createElement(l)}}i[Qt]=e,i[ne]=a;t:for(o=e.child;o!==null;){if(o.tag===5||o.tag===6)i.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===e)break t;for(;o.sibling===null;){if(o.return===null||o.return===e)break t;o=o.return}o.sibling.return=o.return,o=o.sibling}e.stateNode=i;t:switch(oe(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break t;case"img":a=!0;break t;default:a=!1}a&&dn(e)}}return Nt(e),Is(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,n),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==a&&dn(e);else{if(typeof a!="string"&&e.stateNode===null)throw Error(c(166));if(t=rt.current,La(e)){if(t=e.stateNode,n=e.memoizedProps,a=null,l=ae,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}t[Qt]=e,t=!!(t.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||rd(t.nodeValue,n)),t||An(e,!0)}else t=po(t).createTextNode(a),t[Qt]=e,e.stateNode=t}return Nt(e),null;case 31:if(n=e.memoizedState,t===null||t.memoizedState!==null){if(a=La(e),n!==null){if(t===null){if(!a)throw Error(c(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(c(557));t[Qt]=e}else aa(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Nt(e),t=!1}else n=us(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=n),t=!0;if(!t)return e.flags&256?(Te(e),e):(Te(e),null);if((e.flags&128)!==0)throw Error(c(558))}return Nt(e),null;case 13:if(a=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(l=La(e),a!==null&&a.dehydrated!==null){if(t===null){if(!l)throw Error(c(318));if(l=e.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(c(317));l[Qt]=e}else aa(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Nt(e),l=!1}else l=us(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=l),l=!0;if(!l)return e.flags&256?(Te(e),e):(Te(e),null)}return Te(e),(e.flags&128)!==0?(e.lanes=n,e):(n=a!==null,t=t!==null&&t.memoizedState!==null,n&&(a=e.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==t&&n&&(e.child.flags|=8192),Ii(e,e.updateQueue),Nt(e),null);case 4:return Ut(),t===null&&xu(e.stateNode.containerInfo),Nt(e),null;case 10:return un(e.type),Nt(e),null;case 19:if(_(Kt),a=e.memoizedState,a===null)return Nt(e),null;if(l=(e.flags&128)!==0,i=a.rendering,i===null)if(l)Gl(a,!1);else{if(Yt!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(i=qi(t),i!==null){for(e.flags|=128,Gl(a,!1),t=i.updateQueue,e.updateQueue=t,Ii(e,t),e.subtreeFlags=0,t=n,n=e.child;n!==null;)Lr(n,t),n=n.sibling;return N(Kt,Kt.current&1|2),bt&&on(e,a.treeForkCount),e.child}t=t.sibling}a.tail!==null&&se()>ao&&(e.flags|=128,l=!0,Gl(a,!1),e.lanes=4194304)}else{if(!l)if(t=qi(i),t!==null){if(e.flags|=128,l=!0,t=t.updateQueue,e.updateQueue=t,Ii(e,t),Gl(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!bt)return Nt(e),null}else 2*se()-a.renderingStartTime>ao&&n!==536870912&&(e.flags|=128,l=!0,Gl(a,!1),e.lanes=4194304);a.isBackwards?(i.sibling=e.child,e.child=i):(t=a.last,t!==null?t.sibling=i:e.child=i,a.last=i)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=se(),t.sibling=null,n=Kt.current,N(Kt,l?n&1|2:n&1),bt&&on(e,a.treeForkCount),t):(Nt(e),null);case 22:case 23:return Te(e),Ss(),a=e.memoizedState!==null,t!==null?t.memoizedState!==null!==a&&(e.flags|=8192):a&&(e.flags|=8192),a?(n&536870912)!==0&&(e.flags&128)===0&&(Nt(e),e.subtreeFlags&6&&(e.flags|=8192)):Nt(e),n=e.updateQueue,n!==null&&Ii(e,n.retryQueue),n=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),a=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),a!==n&&(e.flags|=2048),t!==null&&_(oa),null;case 24:return n=null,t!==null&&(n=t.memoizedState.cache),e.memoizedState.cache!==n&&(e.flags|=2048),un(Vt),Nt(e),null;case 25:return null;case 30:return null}throw Error(c(156,e.tag))}function jp(t,e){switch(os(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return un(Vt),Ut(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return pa(e),null;case 31:if(e.memoizedState!==null){if(Te(e),e.alternate===null)throw Error(c(340));aa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(Te(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(c(340));aa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return _(Kt),null;case 4:return Ut(),null;case 10:return un(e.type),null;case 22:case 23:return Te(e),Ss(),t!==null&&_(oa),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return un(Vt),null;case 25:return null;default:return null}}function pf(t,e){switch(os(e),e.tag){case 3:un(Vt),Ut();break;case 26:case 27:case 5:pa(e);break;case 4:Ut();break;case 31:e.memoizedState!==null&&Te(e);break;case 13:Te(e);break;case 19:_(Kt);break;case 10:un(e.type);break;case 22:case 23:Te(e),Ss(),t!==null&&_(oa);break;case 24:un(Vt)}}function Yl(t,e){try{var n=e.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&t)===t){a=void 0;var i=n.create,o=n.inst;a=i(),o.destroy=a}n=n.next}while(n!==l)}}catch(r){_t(e,e.return,r)}}function Bn(t,e,n){try{var a=e.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&t)===t){var o=a.inst,r=o.destroy;if(r!==void 0){o.destroy=void 0,l=e;var f=n,S=r;try{S()}catch(M){_t(l,f,M)}}}a=a.next}while(a!==i)}}catch(M){_t(e,e.return,M)}}function hf(t){var e=t.updateQueue;if(e!==null){var n=t.stateNode;try{lc(e,n)}catch(a){_t(t,t.return,a)}}}function gf(t,e,n){n.props=fa(t.type,t.memoizedProps),n.state=t.memoizedState;try{n.componentWillUnmount()}catch(a){_t(t,e,a)}}function Kl(t,e){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case 27:case 5:var a=t.stateNode;break;case 30:a=t.stateNode;break;default:a=t.stateNode}typeof n=="function"?t.refCleanup=n(a):n.current=a}}catch(l){_t(t,e,l)}}function Qe(t,e){var n=t.ref,a=t.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){_t(t,e,l)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){_t(t,e,l)}else n.current=null}function vf(t){var e=t.type,n=t.memoizedProps,a=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break t;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){_t(t,t.return,l)}}function Ps(t,e,n){try{var a=t.stateNode;Jp(a,t.type,n,e),a[ne]=e}catch(l){_t(t,t.return,l)}}function yf(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Yn(t.type)||t.tag===4}function tu(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||yf(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Yn(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function eu(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(t,e):(e=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,e.appendChild(t),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=nn));else if(a!==4&&(a===27&&Yn(t.type)&&(n=t.stateNode,e=null),t=t.child,t!==null))for(eu(t,e,n),t=t.sibling;t!==null;)eu(t,e,n),t=t.sibling}function Pi(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(a!==4&&(a===27&&Yn(t.type)&&(n=t.stateNode),t=t.child,t!==null))for(Pi(t,e,n),t=t.sibling;t!==null;)Pi(t,e,n),t=t.sibling}function bf(t){var e=t.stateNode,n=t.memoizedProps;try{for(var a=t.type,l=e.attributes;l.length;)e.removeAttributeNode(l[0]);oe(e,a,n),e[Qt]=t,e[ne]=n}catch(i){_t(t,t.return,i)}}var mn=!1,Wt=!1,nu=!1,xf=typeof WeakSet=="function"?WeakSet:Set,Pt=null;function Mp(t,e){if(t=t.containerInfo,Eu=So,t=Dr(t),Wo(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else t:{n=(n=t.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break t}var o=0,r=-1,f=-1,S=0,M=0,D=t,T=null;e:for(;;){for(var z;D!==n||l!==0&&D.nodeType!==3||(r=o+l),D!==i||a!==0&&D.nodeType!==3||(f=o+a),D.nodeType===3&&(o+=D.nodeValue.length),(z=D.firstChild)!==null;)T=D,D=z;for(;;){if(D===t)break e;if(T===n&&++S===l&&(r=o),T===i&&++M===a&&(f=o),(z=D.nextSibling)!==null)break;D=T,T=D.parentNode}D=z}n=r===-1||f===-1?null:{start:r,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(zu={focusedElem:t,selectionRange:n},So=!1,Pt=e;Pt!==null;)if(e=Pt,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Pt=t;else for(;Pt!==null;){switch(e=Pt,i=e.alternate,t=e.flags,e.tag){case 0:if((t&4)!==0&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(n=0;n title"))),oe(i,a,n),i[Qt]=t,yt(i),a=i;break t;case"link":var o=jd("link","href",l).get(a+(n.href||""));if(o){for(var r=0;rwt&&(o=wt,wt=$,$=o);var g=kr(r,$),p=kr(r,wt);if(g&&p&&(z.rangeCount!==1||z.anchorNode!==g.node||z.anchorOffset!==g.offset||z.focusNode!==p.node||z.focusOffset!==p.offset)){var x=D.createRange();x.setStart(g.node,g.offset),z.removeAllRanges(),$>wt?(z.addRange(x),z.extend(p.node,p.offset)):(x.setEnd(p.node,p.offset),z.addRange(x))}}}}for(D=[],z=r;z=z.parentNode;)z.nodeType===1&&D.push({element:z,left:z.scrollLeft,top:z.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;rn?32:n,j.T=null,n=ru,ru=null;var i=qn,o=yn;if(Ft=0,tl=qn=null,yn=0,(jt&6)!==0)throw Error(c(331));var r=jt;if(jt|=4,Df(i.current),Af(i,i.current,o,n),jt=r,Wl(0,!1),ue&&typeof ue.onPostCommitFiberRoot=="function")try{ue.onPostCommitFiberRoot(ye,i)}catch{}return!0}finally{B.p=l,j.T=a,Wf(t,e)}}function $f(t,e,n){e=De(n,e),e=Ys(t.stateNode,e,2),t=On(t,e,2),t!==null&&(En(t,2),Ve(t))}function _t(t,e,n){if(t.tag===3)$f(t,t,n);else for(;e!==null;){if(e.tag===3){$f(e,t,n);break}else if(e.tag===1){var a=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Nn===null||!Nn.has(a))){t=De(n,t),n=$c(2),a=On(e,n,2),a!==null&&(Ic(n,a,e,t),En(a,2),Ve(a));break}}e=e.return}}function mu(t,e,n){var a=t.pingCache;if(a===null){a=t.pingCache=new _p;var l=new Set;a.set(e,l)}else l=a.get(e),l===void 0&&(l=new Set,a.set(e,l));l.has(n)||(iu=!0,l.add(n),t=Bp.bind(null,t,e,n),e.then(t,t))}function Bp(t,e,n){var a=t.pingCache;a!==null&&a.delete(e),t.pingedLanes|=t.suspendedLanes&n,t.warmLanes&=~n,Bt===t&&(gt&n)===n&&(Yt===4||Yt===3&&(gt&62914560)===gt&&300>se()-no?(jt&2)===0&&el(t,0):ou|=n,Pa===gt&&(Pa=0)),Ve(t)}function If(t,e){e===0&&(e=Ea()),t=ea(t,e),t!==null&&(En(t,e),Ve(t))}function Up(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),If(t,n)}function Hp(t,e){var n=0;switch(t.tag){case 31:case 13:var a=t.stateNode,l=t.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=t.stateNode;break;case 22:a=t.stateNode._retryCache;break;default:throw Error(c(314))}a!==null&&a.delete(e),If(t,n)}function Np(t,e){return fl(t,e)}var ro=null,al=null,pu=!1,co=!1,hu=!1,Gn=0;function Ve(t){t!==al&&t.next===null&&(al===null?ro=al=t:al=al.next=t),co=!0,pu||(pu=!0,Lp())}function Wl(t,e){if(!hu&&co){hu=!0;do for(var n=!1,a=ro;a!==null;){if(t!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var o=a.suspendedLanes,r=a.pingedLanes;i=(1<<31-ee(42|t)+1)-1,i&=l&~(o&~r),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,nd(a,i))}else i=gt,i=Ta(a,a===Bt?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Tn(a,i)||(n=!0,nd(a,i));a=a.next}while(n);hu=!1}}function qp(){Pf()}function Pf(){co=pu=!1;var t=0;Gn!==0&&Fp()&&(t=Gn);for(var e=se(),n=null,a=ro;a!==null;){var l=a.next,i=td(a,e);i===0?(a.next=null,n===null?ro=l:n.next=l,l===null&&(al=n)):(n=a,(t!==0||(i&3)!==0)&&(co=!0)),a=l}Ft!==0&&Ft!==5||Wl(t),Gn!==0&&(Gn=0)}function td(t,e){for(var n=t.suspendedLanes,a=t.pingedLanes,l=t.expirationTimes,i=t.pendingLanes&-62914561;0r)break;var M=f.transferSize,D=f.initiatorType;M&&cd(D)&&(f=f.responseEnd,o+=M*(f"u"?null:document;function Td(t,e,n){var a=ll;if(a&&typeof e=="string"&&e){var l=ke(e);l='link[rel="'+t+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),Sd.has(l)||(Sd.add(l),t={rel:t,crossOrigin:n,href:e},a.querySelector(l)===null&&(e=a.createElement("link"),oe(e,"link",t),yt(e),a.head.appendChild(e)))}}function ih(t){bn.D(t),Td("dns-prefetch",t,null)}function oh(t,e){bn.C(t,e),Td("preconnect",t,e)}function sh(t,e,n){bn.L(t,e,n);var a=ll;if(a&&t&&e){var l='link[rel="preload"][as="'+ke(e)+'"]';e==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+ke(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+ke(n.imageSizes)+'"]')):l+='[href="'+ke(t)+'"]';var i=l;switch(e){case"style":i=il(t);break;case"script":i=ol(t)}He.has(i)||(t=R({rel:"preload",href:e==="image"&&n&&n.imageSrcSet?void 0:t,as:e},n),He.set(i,t),a.querySelector(l)!==null||e==="style"&&a.querySelector(Pl(i))||e==="script"&&a.querySelector(ti(i))||(e=a.createElement("link"),oe(e,"link",t),yt(e),a.head.appendChild(e)))}}function uh(t,e){bn.m(t,e);var n=ll;if(n&&t){var a=e&&typeof e.as=="string"?e.as:"script",l='link[rel="modulepreload"][as="'+ke(a)+'"][href="'+ke(t)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=ol(t)}if(!He.has(i)&&(t=R({rel:"modulepreload",href:t},e),He.set(i,t),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(ti(i)))return}a=n.createElement("link"),oe(a,"link",t),yt(a),n.head.appendChild(a)}}}function rh(t,e,n){bn.S(t,e,n);var a=ll;if(a&&t){var l=St(a).hoistableStyles,i=il(t);e=e||"default";var o=l.get(i);if(!o){var r={loading:0,preload:null};if(o=a.querySelector(Pl(i)))r.loading=5;else{t=R({rel:"stylesheet",href:t,"data-precedence":e},n),(n=He.get(i))&&Du(t,n);var f=o=a.createElement("link");yt(f),oe(f,"link",t),f._p=new Promise(function(S,M){f.onload=S,f.onerror=M}),f.addEventListener("load",function(){r.loading|=1}),f.addEventListener("error",function(){r.loading|=2}),r.loading|=4,go(o,e,a)}o={type:"stylesheet",instance:o,count:1,state:r},l.set(i,o)}}}function ch(t,e){bn.X(t,e);var n=ll;if(n&&t){var a=St(n).hoistableScripts,l=ol(t),i=a.get(l);i||(i=n.querySelector(ti(l)),i||(t=R({src:t,async:!0},e),(e=He.get(l))&&Ou(t,e),i=n.createElement("script"),yt(i),oe(i,"link",t),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function fh(t,e){bn.M(t,e);var n=ll;if(n&&t){var a=St(n).hoistableScripts,l=ol(t),i=a.get(l);i||(i=n.querySelector(ti(l)),i||(t=R({src:t,async:!0,type:"module"},e),(e=He.get(l))&&Ou(t,e),i=n.createElement("script"),yt(i),oe(i,"link",t),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ed(t,e,n,a){var l=(l=rt.current)?ho(l):null;if(!l)throw Error(c(446));switch(t){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(e=il(n.href),n=St(l).hoistableStyles,a=n.get(e),a||(a={type:"style",instance:null,count:0,state:null},n.set(e,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){t=il(n.href);var i=St(l).hoistableStyles,o=i.get(t);if(o||(l=l.ownerDocument||l,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(t,o),(i=l.querySelector(Pl(t)))&&!i._p&&(o.instance=i,o.state.loading=5),He.has(t)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},He.set(t,n),i||dh(l,t,n,o.state))),e&&a===null)throw Error(c(528,""));return o}if(e&&a!==null)throw Error(c(529,""));return null;case"script":return e=n.async,n=n.src,typeof n=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=ol(n),n=St(l).hoistableScripts,a=n.get(e),a||(a={type:"script",instance:null,count:0,state:null},n.set(e,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,t))}}function il(t){return'href="'+ke(t)+'"'}function Pl(t){return'link[rel="stylesheet"]['+t+"]"}function zd(t){return R({},t,{"data-precedence":t.precedence,precedence:null})}function dh(t,e,n,a){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?a.loading=1:(e=t.createElement("link"),a.preload=e,e.addEventListener("load",function(){return a.loading|=1}),e.addEventListener("error",function(){return a.loading|=2}),oe(e,"link",n),yt(e),t.head.appendChild(e))}function ol(t){return'[src="'+ke(t)+'"]'}function ti(t){return"script[async]"+t}function Cd(t,e,n){if(e.count++,e.instance===null)switch(e.type){case"style":var a=t.querySelector('style[data-href~="'+ke(n.href)+'"]');if(a)return e.instance=a,yt(a),a;var l=R({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(t.ownerDocument||t).createElement("style"),yt(a),oe(a,"style",l),go(a,n.precedence,t),e.instance=a;case"stylesheet":l=il(n.href);var i=t.querySelector(Pl(l));if(i)return e.state.loading|=4,e.instance=i,yt(i),i;a=zd(n),(l=He.get(l))&&Du(a,l),i=(t.ownerDocument||t).createElement("link"),yt(i);var o=i;return o._p=new Promise(function(r,f){o.onload=r,o.onerror=f}),oe(i,"link",a),e.state.loading|=4,go(i,n.precedence,t),e.instance=i;case"script":return i=ol(n.src),(l=t.querySelector(ti(i)))?(e.instance=l,yt(l),l):(a=n,(l=He.get(i))&&(a=R({},n),Ou(a,l)),t=t.ownerDocument||t,l=t.createElement("script"),yt(l),oe(l,"link",a),t.head.appendChild(l),e.instance=l);case"void":return null;default:throw Error(c(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(a=e.instance,e.state.loading|=4,go(a,n.precedence,t));return e.instance}function go(t,e,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,o=0;o title"):null)}function mh(t,e,n){if(n===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function Ad(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function ph(t,e,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=il(a.href),i=e.querySelector(Pl(l));if(i){e=i._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=yo.bind(t),e.then(t,t)),n.state.loading|=4,n.instance=i,yt(i);return}i=e.ownerDocument||e,a=zd(a),(l=He.get(l))&&Du(a,l),i=i.createElement("link"),yt(i);var o=i;o._p=new Promise(function(r,f){o.onload=r,o.onerror=f}),oe(i,"link",a),n.instance=i}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(n,e),(e=n.state.preload)&&(n.state.loading&3)===0&&(t.count++,n=yo.bind(t),e.addEventListener("load",n),e.addEventListener("error",n))}}var Ru=0;function hh(t,e){return t.stylesheets&&t.count===0&&xo(t,t.stylesheets),0Ru?50:800)+e);return t.unsuspend=n,function(){t.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function yo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xo(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var bo=null;function xo(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,bo=new Map,e.forEach(gh,t),bo=null,yo.call(t))}function gh(t,e){if(!(e.state.loading&4)){var n=bo.get(t);if(n)var a=n.get(null);else{n=new Map,bo.set(t,n);for(var l=t.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(h){console.error(h)}}return u(),Yu.exports=Rh(),Yu.exports}var Bh=wh();const Uh="modulepreload",Hh=function(u){return"/"+u},Id={},Lt=function(h,d,c){let v=Promise.resolve();if(d&&d.length>0){let A=function(y){return Promise.all(y.map(G=>Promise.resolve(G).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};document.getElementsByTagName("link");const O=document.querySelector("meta[property=csp-nonce]"),C=(O==null?void 0:O.nonce)||(O==null?void 0:O.getAttribute("nonce"));v=A(d.map(y=>{if(y=Hh(y),y in Id)return;Id[y]=!0;const G=y.endsWith(".css"),R=G?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${y}"]${R}`))return;const K=document.createElement("link");if(K.rel=G?"stylesheet":Uh,G||(K.as="script"),K.crossOrigin="",K.href=y,C&&K.setAttribute("nonce",C),document.head.appendChild(K),G)return new Promise((nt,xt)=>{K.addEventListener("load",nt),K.addEventListener("error",()=>xt(new Error(`Unable to preload CSS for ${y}`)))})}))}function E(A){const O=new Event("vite:preloadError",{cancelable:!0});if(O.payload=A,window.dispatchEvent(O),!O.defaultPrevented)throw A}return v.then(A=>{for(const O of A||[])O.status==="rejected"&&E(O.reason);return h().catch(E)})},Ao={amber:{dark:{bg:"#09090b",sf:"#111114",sfH:"#18181c",bd:"#1e1e24",tx:"#e4e4e7",tx2:"#a1a1aa",txM:"#919199",ac:"#e8a845",acD:"rgba(232,168,69,0.12)",acT:"#fbbf24",cdBg:"#0c0c0f",cdTx:"#c4c4cc",sbBg:"#0c0c0e",hdBg:"rgba(9,9,11,0.85)"},light:{bg:"#fafaf9",sf:"#ffffff",sfH:"#f5f5f4",bd:"#e7e5e4",tx:"#1c1917",tx2:"#57534e",txM:"#706b66",ac:"#96640a",acD:"rgba(150,100,10,0.08)",acT:"#7a5208",cdBg:"#f5f3f0",cdTx:"#2c2520",sbBg:"#f5f5f3",hdBg:"rgba(250,250,249,0.85)"},fonts:{heading:"Instrument Serif",body:"DM Sans",code:"JetBrains Mono"}},editorial:{dark:{bg:"#080c1f",sf:"#0e1333",sfH:"#141940",bd:"#1a2050",tx:"#e8e6f0",tx2:"#b5b1c8",txM:"#9490ae",ac:"#ff6b4a",acD:"rgba(255,107,74,0.1)",acT:"#ff8a70",cdBg:"#0a0e27",cdTx:"#b8b4cc",sbBg:"#0a0e27",hdBg:"rgba(8,12,31,0.9)"},light:{bg:"#f6f4f0",sf:"#ffffff",sfH:"#eeece6",bd:"#ddd9d0",tx:"#1a1716",tx2:"#4a443e",txM:"#706960",ac:"#b83d22",acD:"rgba(184,61,34,0.07)",acT:"#9c3019",cdBg:"#edeae4",cdTx:"#3a3530",sbBg:"#f0ede8",hdBg:"rgba(246,244,240,0.92)"},fonts:{heading:"Cormorant Garamond",body:"Bricolage Grotesque",code:"Fira Code"}},cipher:{dark:{bg:"#050508",sf:"#0c0c12",sfH:"#12121a",bd:"#1a1a25",tx:"#d4ff00",tx2:"#8a90a0",txM:"#6a7080",ac:"#6666ff",acD:"rgba(102,102,255,0.10)",acT:"#8080ff",cdBg:"#08080e",cdTx:"#b0c870",sbBg:"#08080d",hdBg:"rgba(5,5,8,0.88)"},light:{bg:"#f0f2f5",sf:"#ffffff",sfH:"#e8eaef",bd:"#d0d4db",tx:"#0f1219",tx2:"#4a5060",txM:"#6a7080",ac:"#2020cc",acD:"rgba(32,32,204,0.08)",acT:"#1a1aa8",cdBg:"#e6e9ef",cdTx:"#2a3520",sbBg:"#ebedf2",hdBg:"rgba(240,242,245,0.90)"},fonts:{heading:"Bodoni Moda",body:"Space Grotesk",code:"Source Code Pro"}},mint:{dark:{bg:"#0d1117",sf:"#161b22",sfH:"#1c2129",bd:"#21262d",tx:"#e6edf3",tx2:"#8b949e",txM:"#6e7681",ac:"#0ea371",acD:"rgba(14,163,113,0.10)",acT:"#2dd4a0",cdBg:"#0a0e14",cdTx:"#adbac7",sbBg:"#0d1117",hdBg:"rgba(13,17,23,0.88)"},light:{bg:"#ffffff",sf:"#f6f8fa",sfH:"#eef1f5",bd:"#d8dee4",tx:"#1f2328",tx2:"#59636e",txM:"#6e7681",ac:"#0a7b53",acD:"rgba(10,123,83,0.07)",acT:"#087a50",cdBg:"#f0f3f6",cdTx:"#24292f",sbBg:"#f6f8fa",hdBg:"rgba(255,255,255,0.90)"},fonts:{heading:"Inter",body:"Inter",code:"Fira Code"}}},Nh=()=>s.jsx("svg",{width:22,height:22,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})}),qh=()=>s.jsx("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M18 6L6 18M6 6l12 12"})}),Lh=()=>s.jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4z"})});function um(u){let h="You are a helpful documentation assistant. Answer questions accurately based on the documentation provided below. If the answer isn't in the documentation, say so clearly. Keep answers concise and reference specific sections when possible.";if(u){const d=u.length>1e5?u.slice(0,1e5)+` +`+a.stack}}var Fn=Object.prototype.hasOwnProperty,fl=u.unstable_scheduleCallback,va=u.unstable_cancelCallback,Oo=u.unstable_shouldYield,si=u.unstable_requestPaint,se=u.unstable_now,ui=u.unstable_getCurrentPriorityLevel,te=u.unstable_ImmediatePriority,ya=u.unstable_UserBlockingPriority,xn=u.unstable_NormalPriority,Sn=u.unstable_LowPriority,ri=u.unstable_IdlePriority,Pu=u.log,ba=u.unstable_setDisableYieldValue,ye=null,ue=null;function je(t){if(typeof Pu=="function"&&ba(t),ue&&typeof ue.setStrictMode=="function")try{ue.setStrictMode(ye,t)}catch{}}var ee=Math.clz32?Math.clz32:Sa,ci=Math.log,xa=Math.LN2;function Sa(t){return t>>>=0,t===0?32:31-(ci(t)/xa|0)|0}var Fe=256,$e=262144,Ie=4194304;function Pe(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ta(t,e,n){var a=t.pendingLanes;if(a===0)return 0;var l=0,i=t.suspendedLanes,o=t.pingedLanes;t=t.warmLanes;var r=a&134217727;return r!==0?(a=r&~i,a!==0?l=Pe(a):(o&=r,o!==0?l=Pe(o):n||(n=r&~t,n!==0&&(l=Pe(n))))):(r=a&~i,r!==0?l=Pe(r):o!==0?l=Pe(o):n||(n=a&~t,n!==0&&(l=Pe(n)))),l===0?0:e!==0&&e!==l&&(e&i)===0&&(i=l&-l,n=e&-e,i>=n||i===32&&(n&4194048)!==0)?e:l}function Tn(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function Ne(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ea(){var t=Ie;return Ie<<=1,(Ie&62914560)===0&&(Ie=4194304),t}function za(t){for(var e=[],n=0;31>n;n++)e.push(t);return e}function En(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function fi(t,e,n,a,l,i){var o=t.pendingLanes;t.pendingLanes=n,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=n,t.entangledLanes&=n,t.errorRecoveryDisabledLanes&=n,t.shellSuspendCounter=0;var r=t.entanglements,f=t.expirationTimes,S=t.hiddenUpdates;for(n=o&~n;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var bm=/[\n"\\]/g;function ke(t){return t.replace(bm,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function wo(t,e,n,a,l,i,o,r){t.name="",o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"?t.type=o:t.removeAttribute("type"),e!=null?o==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+Me(e)):t.value!==""+Me(e)&&(t.value=""+Me(e)):o!=="submit"&&o!=="reset"||t.removeAttribute("value"),e!=null?Bo(t,o,Me(e)):n!=null?Bo(t,o,Me(n)):a!=null&&t.removeAttribute("value"),l==null&&i!=null&&(t.defaultChecked=!!i),l!=null&&(t.checked=l&&typeof l!="function"&&typeof l!="symbol"),r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?t.name=""+Me(r):t.removeAttribute("name")}function lr(t,e,n,a,l,i,o,r){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.type=i),e!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||e!=null)){Ro(t);return}n=n!=null?""+Me(n):"",e=e!=null?""+Me(e):n,r||e===t.value||(t.value=e),t.defaultValue=e}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,t.checked=r?t.checked:!!a,t.defaultChecked=!!a,o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(t.name=o),Ro(t)}function Bo(t,e,n){e==="number"&&vi(t.ownerDocument)===t||t.defaultValue===""+n||(t.defaultValue=""+n)}function ka(t,e,n,a){if(t=t.options,e){e={};for(var l=0;l"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lo=!1;if(an)try{var bl={};Object.defineProperty(bl,"passive",{get:function(){Lo=!0}}),window.addEventListener("test",bl,bl),window.removeEventListener("test",bl,bl)}catch{Lo=!1}var Cn=null,Go=null,bi=null;function fr(){if(bi)return bi;var t,e=Go,n=e.length,a,l="value"in Cn?Cn.value:Cn.textContent,i=l.length;for(t=0;t=Tl),vr=" ",yr=!1;function br(t,e){switch(t){case"keyup":return Zm.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xr(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ra=!1;function Wm(t,e){switch(t){case"compositionend":return xr(e);case"keypress":return e.which!==32?null:(yr=!0,vr);case"textInput":return t=e.data,t===vr&&yr?null:t;default:return null}}function Fm(t,e){if(Ra)return t==="compositionend"||!Vo&&br(t,e)?(t=fr(),bi=Go=Cn=null,Ra=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=a}t:{for(;n;){if(n.nextSibling){n=n.nextSibling;break t}n=n.parentNode}n=void 0}n=Mr(n)}}function _r(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?_r(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Dr(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=vi(t.document);e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=vi(t.document)}return e}function Wo(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var lp=an&&"documentMode"in document&&11>=document.documentMode,wa=null,Fo=null,Al=null,$o=!1;function Or(t,e,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$o||wa==null||wa!==vi(a)||(a=wa,"selectionStart"in a&&Wo(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Al&&Cl(Al,a)||(Al=a,a=mo(Fo,"onSelect"),0>=o,l-=o,Ke=1<<32-ee(e)+l|n<ut?(vt=V,V=null):vt=V.sibling;var Ct=T(g,V,x[ut],k);if(Ct===null){V===null&&(V=vt);break}t&&V&&Ct.alternate===null&&e(g,V),p=i(Ct,p,ut),zt===null?F=Ct:zt.sibling=Ct,zt=Ct,V=vt}if(ut===x.length)return n(g,V),bt&&on(g,ut),F;if(V===null){for(;utut?(vt=V,V=null):vt=V.sibling;var Zn=T(g,V,Ct.value,k);if(Zn===null){V===null&&(V=vt);break}t&&V&&Zn.alternate===null&&e(g,V),p=i(Zn,p,ut),zt===null?F=Zn:zt.sibling=Zn,zt=Zn,V=vt}if(Ct.done)return n(g,V),bt&&on(g,ut),F;if(V===null){for(;!Ct.done;ut++,Ct=x.next())Ct=D(g,Ct.value,k),Ct!==null&&(p=i(Ct,p,ut),zt===null?F=Ct:zt.sibling=Ct,zt=Ct);return bt&&on(g,ut),F}for(V=a(V);!Ct.done;ut++,Ct=x.next())Ct=z(V,g,ut,Ct.value,k),Ct!==null&&(t&&Ct.alternate!==null&&V.delete(Ct.key===null?ut:Ct.key),p=i(Ct,p,ut),zt===null?F=Ct:zt.sibling=Ct,zt=Ct);return t&&V.forEach(function(zh){return e(g,zh)}),bt&&on(g,ut),F}function wt(g,p,x,k){if(typeof x=="object"&&x!==null&&x.type===Dt&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case nt:t:{for(var F=x.key;p!==null;){if(p.key===F){if(F=x.type,F===Dt){if(p.tag===7){n(g,p.sibling),k=l(p,x.props.children),k.return=g,g=k;break t}}else if(p.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===at&&sa(F)===p.type){n(g,p.sibling),k=l(p,x.props),Ol(k,x),k.return=g,g=k;break t}n(g,p);break}else e(g,p);p=p.sibling}x.type===Dt?(k=na(x.props.children,g.mode,k,x.key),k.return=g,g=k):(k=ki(x.type,x.key,x.props,null,g.mode,k),Ol(k,x),k.return=g,g=k)}return o(g);case xt:t:{for(F=x.key;p!==null;){if(p.key===F)if(p.tag===4&&p.stateNode.containerInfo===x.containerInfo&&p.stateNode.implementation===x.implementation){n(g,p.sibling),k=l(p,x.children||[]),k.return=g,g=k;break t}else{n(g,p);break}else e(g,p);p=p.sibling}k=ls(x,g.mode,k),k.return=g,g=k}return o(g);case at:return x=sa(x),wt(g,p,x,k)}if(ft(x))return X(g,p,x,k);if(tt(x)){if(F=tt(x),typeof F!="function")throw Error(c(150));return x=F.call(x),$(g,p,x,k)}if(typeof x.then=="function")return wt(g,p,Ui(x),k);if(x.$$typeof===ct)return wt(g,p,Oi(g,x),k);Hi(g,x)}return typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint"?(x=""+x,p!==null&&p.tag===6?(n(g,p.sibling),k=l(p,x),k.return=g,g=k):(n(g,p),k=as(x,g.mode,k),k.return=g,g=k),o(g)):n(g,p)}return function(g,p,x,k){try{Dl=0;var F=wt(g,p,x,k);return Qa=null,F}catch(V){if(V===Xa||V===wi)throw V;var zt=xe(29,V,null,g.mode);return zt.lanes=k,zt.return=g,zt}finally{}}}var ra=ec(!0),nc=ec(!1),_n=!1;function gs(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function vs(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Dn(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function On(t,e,n){var a=t.updateQueue;if(a===null)return null;if(a=a.shared,(At&2)!==0){var l=a.pending;return l===null?e.next=e:(e.next=l.next,l.next=e),a.pending=e,e=Mi(t),qr(t,null,n),e}return ji(t,a,e,n),Mi(t)}function Rl(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194048)!==0)){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,ml(t,n)}}function ys(t,e){var n=t.updateQueue,a=t.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=e:i=i.next=e}else l=i=e;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}var bs=!1;function wl(){if(bs){var t=Ka;if(t!==null)throw t}}function Bl(t,e,n,a){bs=!1;var l=t.updateQueue;_n=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,r=l.shared.pending;if(r!==null){l.shared.pending=null;var f=r,S=f.next;f.next=null,o===null?i=S:o.next=S,o=f;var j=t.alternate;j!==null&&(j=j.updateQueue,r=j.lastBaseUpdate,r!==o&&(r===null?j.firstBaseUpdate=S:r.next=S,j.lastBaseUpdate=f))}if(i!==null){var D=l.baseState;o=0,j=S=f=null,r=i;do{var T=r.lane&-536870913,z=T!==r.lane;if(z?(gt&T)===T:(a&T)===T){T!==0&&T===Ya&&(bs=!0),j!==null&&(j=j.next={lane:0,tag:r.tag,payload:r.payload,callback:null,next:null});t:{var X=t,$=r;T=e;var wt=n;switch($.tag){case 1:if(X=$.payload,typeof X=="function"){D=X.call(wt,D,T);break t}D=X;break t;case 3:X.flags=X.flags&-65537|128;case 0:if(X=$.payload,T=typeof X=="function"?X.call(wt,D,T):X,T==null)break t;D=R({},D,T);break t;case 2:_n=!0}}T=r.callback,T!==null&&(t.flags|=64,z&&(t.flags|=8192),z=l.callbacks,z===null?l.callbacks=[T]:z.push(T))}else z={lane:T,tag:r.tag,payload:r.payload,callback:r.callback,next:null},j===null?(S=j=z,f=D):j=j.next=z,o|=T;if(r=r.next,r===null){if(r=l.shared.pending,r===null)break;z=r,r=z.next,z.next=null,l.lastBaseUpdate=z,l.shared.pending=null}}while(!0);j===null&&(f=D),l.baseState=f,l.firstBaseUpdate=S,l.lastBaseUpdate=j,i===null&&(l.shared.lanes=0),Hn|=o,t.lanes=o,t.memoizedState=D}}function ac(t,e){if(typeof t!="function")throw Error(c(191,t));t.call(e)}function lc(t,e){var n=t.callbacks;if(n!==null)for(t.callbacks=null,t=0;ti?i:8;var o=A.T,r={};A.T=r,Ns(t,!1,e,n);try{var f=l(),S=A.S;if(S!==null&&S(r,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var j=mp(f,a);Nl(t,e,j,Ce(t))}else Nl(t,e,a,Ce(t))}catch(D){Nl(t,e,{then:function(){},status:"rejected",reason:D},Ce())}finally{B.p=i,o!==null&&r.types!==null&&(o.types=r.types),A.T=o}}function bp(){}function Us(t,e,n,a){if(t.tag!==5)throw Error(c(476));var l=Uc(t).queue;Bc(t,l,e,Z,n===null?bp:function(){return Hc(t),n(a)})}function Uc(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cn,lastRenderedState:Z},next:null};var n={};return e.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cn,lastRenderedState:n},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function Hc(t){var e=Uc(t);e.next===null&&(e=t.alternate.memoizedState),Nl(t,e.next.queue,{},Ce())}function Hs(){return le(ei)}function Nc(){return Xt().memoizedState}function qc(){return Xt().memoizedState}function xp(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var n=Ce();t=Dn(n);var a=On(e,t,n);a!==null&&(ve(a,e,n),Rl(a,e,n)),e={cache:ds()},t.payload=e;return}e=e.return}}function Sp(t,e,n){var a=Ce();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Zi(t)?Gc(e,n):(n=es(t,e,n,a),n!==null&&(ve(n,t,a),Yc(n,e,a)))}function Lc(t,e,n){var a=Ce();Nl(t,e,n,a)}function Nl(t,e,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Zi(t))Gc(e,l);else{var i=t.alternate;if(t.lanes===0&&(i===null||i.lanes===0)&&(i=e.lastRenderedReducer,i!==null))try{var o=e.lastRenderedState,r=i(o,n);if(l.hasEagerState=!0,l.eagerState=r,be(r,o))return ji(t,e,l,0),Bt===null&&Ai(),!1}catch{}finally{}if(n=es(t,e,l,a),n!==null)return ve(n,t,a),Yc(n,e,a),!0}return!1}function Ns(t,e,n,a){if(a={lane:2,revertLane:gu(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Zi(t)){if(e)throw Error(c(479))}else e=es(t,n,a,2),e!==null&&ve(e,t,2)}function Zi(t){var e=t.alternate;return t===st||e!==null&&e===st}function Gc(t,e){Za=Li=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function Yc(t,e,n){if((n&4194048)!==0){var a=e.lanes;a&=t.pendingLanes,n|=a,e.lanes=n,ml(t,n)}}var ql={readContext:le,use:Ki,useCallback:Gt,useContext:Gt,useEffect:Gt,useImperativeHandle:Gt,useLayoutEffect:Gt,useInsertionEffect:Gt,useMemo:Gt,useReducer:Gt,useRef:Gt,useState:Gt,useDebugValue:Gt,useDeferredValue:Gt,useTransition:Gt,useSyncExternalStore:Gt,useId:Gt,useHostTransitionStatus:Gt,useFormState:Gt,useActionState:Gt,useOptimistic:Gt,useMemoCache:Gt,useCacheRefresh:Gt};ql.useEffectEvent=Gt;var Kc={readContext:le,use:Ki,useCallback:function(t,e){return fe().memoizedState=[t,e===void 0?null:e],t},useContext:le,useEffect:Ac,useImperativeHandle:function(t,e,n){n=n!=null?n.concat([t]):null,Qi(4194308,4,_c.bind(null,e,t),n)},useLayoutEffect:function(t,e){return Qi(4194308,4,t,e)},useInsertionEffect:function(t,e){Qi(4,2,t,e)},useMemo:function(t,e){var n=fe();e=e===void 0?null:e;var a=t();if(ca){je(!0);try{t()}finally{je(!1)}}return n.memoizedState=[a,e],a},useReducer:function(t,e,n){var a=fe();if(n!==void 0){var l=n(e);if(ca){je(!0);try{n(e)}finally{je(!1)}}}else l=e;return a.memoizedState=a.baseState=l,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:l},a.queue=t,t=t.dispatch=Sp.bind(null,st,t),[a.memoizedState,t]},useRef:function(t){var e=fe();return t={current:t},e.memoizedState=t},useState:function(t){t=Ds(t);var e=t.queue,n=Lc.bind(null,st,e);return e.dispatch=n,[t.memoizedState,n]},useDebugValue:ws,useDeferredValue:function(t,e){var n=fe();return Bs(n,t,e)},useTransition:function(){var t=Ds(!1);return t=Bc.bind(null,st,t.queue,!0,!1),fe().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,n){var a=st,l=fe();if(bt){if(n===void 0)throw Error(c(407));n=n()}else{if(n=e(),Bt===null)throw Error(c(349));(gt&127)!==0||cc(a,e,n)}l.memoizedState=n;var i={value:n,getSnapshot:e};return l.queue=i,Ac(dc.bind(null,a,i,t),[t]),a.flags|=2048,Wa(9,{destroy:void 0},fc.bind(null,a,i,n,e),null),n},useId:function(){var t=fe(),e=Bt.identifierPrefix;if(bt){var n=Xe,a=Ke;n=(a&~(1<<32-ee(a)-1)).toString(32)+n,e="_"+e+"R_"+n,n=Gi++,0<\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?o.createElement("select",{is:a.is}):o.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?o.createElement(l,{is:a.is}):o.createElement(l)}}i[Qt]=e,i[ne]=a;t:for(o=e.child;o!==null;){if(o.tag===5||o.tag===6)i.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===e)break t;for(;o.sibling===null;){if(o.return===null||o.return===e)break t;o=o.return}o.sibling.return=o.return,o=o.sibling}e.stateNode=i;t:switch(oe(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break t;case"img":a=!0;break t;default:a=!1}a&&dn(e)}}return Nt(e),Is(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,n),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==a&&dn(e);else{if(typeof a!="string"&&e.stateNode===null)throw Error(c(166));if(t=rt.current,La(e)){if(t=e.stateNode,n=e.memoizedProps,a=null,l=ae,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}t[Qt]=e,t=!!(t.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||rd(t.nodeValue,n)),t||Mn(e,!0)}else t=po(t).createTextNode(a),t[Qt]=e,e.stateNode=t}return Nt(e),null;case 31:if(n=e.memoizedState,t===null||t.memoizedState!==null){if(a=La(e),n!==null){if(t===null){if(!a)throw Error(c(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(c(557));t[Qt]=e}else aa(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Nt(e),t=!1}else n=us(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=n),t=!0;if(!t)return e.flags&256?(Te(e),e):(Te(e),null);if((e.flags&128)!==0)throw Error(c(558))}return Nt(e),null;case 13:if(a=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(l=La(e),a!==null&&a.dehydrated!==null){if(t===null){if(!l)throw Error(c(318));if(l=e.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(c(317));l[Qt]=e}else aa(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;Nt(e),l=!1}else l=us(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=l),l=!0;if(!l)return e.flags&256?(Te(e),e):(Te(e),null)}return Te(e),(e.flags&128)!==0?(e.lanes=n,e):(n=a!==null,t=t!==null&&t.memoizedState!==null,n&&(a=e.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==t&&n&&(e.child.flags|=8192),Ii(e,e.updateQueue),Nt(e),null);case 4:return Ut(),t===null&&xu(e.stateNode.containerInfo),Nt(e),null;case 10:return un(e.type),Nt(e),null;case 19:if(_(Kt),a=e.memoizedState,a===null)return Nt(e),null;if(l=(e.flags&128)!==0,i=a.rendering,i===null)if(l)Gl(a,!1);else{if(Yt!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(i=qi(t),i!==null){for(e.flags|=128,Gl(a,!1),t=i.updateQueue,e.updateQueue=t,Ii(e,t),e.subtreeFlags=0,t=n,n=e.child;n!==null;)Lr(n,t),n=n.sibling;return N(Kt,Kt.current&1|2),bt&&on(e,a.treeForkCount),e.child}t=t.sibling}a.tail!==null&&se()>ao&&(e.flags|=128,l=!0,Gl(a,!1),e.lanes=4194304)}else{if(!l)if(t=qi(i),t!==null){if(e.flags|=128,l=!0,t=t.updateQueue,e.updateQueue=t,Ii(e,t),Gl(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!bt)return Nt(e),null}else 2*se()-a.renderingStartTime>ao&&n!==536870912&&(e.flags|=128,l=!0,Gl(a,!1),e.lanes=4194304);a.isBackwards?(i.sibling=e.child,e.child=i):(t=a.last,t!==null?t.sibling=i:e.child=i,a.last=i)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=se(),t.sibling=null,n=Kt.current,N(Kt,l?n&1|2:n&1),bt&&on(e,a.treeForkCount),t):(Nt(e),null);case 22:case 23:return Te(e),Ss(),a=e.memoizedState!==null,t!==null?t.memoizedState!==null!==a&&(e.flags|=8192):a&&(e.flags|=8192),a?(n&536870912)!==0&&(e.flags&128)===0&&(Nt(e),e.subtreeFlags&6&&(e.flags|=8192)):Nt(e),n=e.updateQueue,n!==null&&Ii(e,n.retryQueue),n=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),a=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),a!==n&&(e.flags|=2048),t!==null&&_(oa),null;case 24:return n=null,t!==null&&(n=t.memoizedState.cache),e.memoizedState.cache!==n&&(e.flags|=2048),un(Vt),Nt(e),null;case 25:return null;case 30:return null}throw Error(c(156,e.tag))}function Ap(t,e){switch(os(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return un(Vt),Ut(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return pa(e),null;case 31:if(e.memoizedState!==null){if(Te(e),e.alternate===null)throw Error(c(340));aa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(Te(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(c(340));aa()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return _(Kt),null;case 4:return Ut(),null;case 10:return un(e.type),null;case 22:case 23:return Te(e),Ss(),t!==null&&_(oa),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return un(Vt),null;case 25:return null;default:return null}}function pf(t,e){switch(os(e),e.tag){case 3:un(Vt),Ut();break;case 26:case 27:case 5:pa(e);break;case 4:Ut();break;case 31:e.memoizedState!==null&&Te(e);break;case 13:Te(e);break;case 19:_(Kt);break;case 10:un(e.type);break;case 22:case 23:Te(e),Ss(),t!==null&&_(oa);break;case 24:un(Vt)}}function Yl(t,e){try{var n=e.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&t)===t){a=void 0;var i=n.create,o=n.inst;a=i(),o.destroy=a}n=n.next}while(n!==l)}}catch(r){_t(e,e.return,r)}}function Bn(t,e,n){try{var a=e.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&t)===t){var o=a.inst,r=o.destroy;if(r!==void 0){o.destroy=void 0,l=e;var f=n,S=r;try{S()}catch(j){_t(l,f,j)}}}a=a.next}while(a!==i)}}catch(j){_t(e,e.return,j)}}function hf(t){var e=t.updateQueue;if(e!==null){var n=t.stateNode;try{lc(e,n)}catch(a){_t(t,t.return,a)}}}function gf(t,e,n){n.props=fa(t.type,t.memoizedProps),n.state=t.memoizedState;try{n.componentWillUnmount()}catch(a){_t(t,e,a)}}function Kl(t,e){try{var n=t.ref;if(n!==null){switch(t.tag){case 26:case 27:case 5:var a=t.stateNode;break;case 30:a=t.stateNode;break;default:a=t.stateNode}typeof n=="function"?t.refCleanup=n(a):n.current=a}}catch(l){_t(t,e,l)}}function Qe(t,e){var n=t.ref,a=t.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){_t(t,e,l)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){_t(t,e,l)}else n.current=null}function vf(t){var e=t.type,n=t.memoizedProps,a=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break t;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){_t(t,t.return,l)}}function Ps(t,e,n){try{var a=t.stateNode;Jp(a,t.type,n,e),a[ne]=e}catch(l){_t(t,t.return,l)}}function yf(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Yn(t.type)||t.tag===4}function tu(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||yf(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Yn(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function eu(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(t,e):(e=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,e.appendChild(t),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=nn));else if(a!==4&&(a===27&&Yn(t.type)&&(n=t.stateNode,e=null),t=t.child,t!==null))for(eu(t,e,n),t=t.sibling;t!==null;)eu(t,e,n),t=t.sibling}function Pi(t,e,n){var a=t.tag;if(a===5||a===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(a!==4&&(a===27&&Yn(t.type)&&(n=t.stateNode),t=t.child,t!==null))for(Pi(t,e,n),t=t.sibling;t!==null;)Pi(t,e,n),t=t.sibling}function bf(t){var e=t.stateNode,n=t.memoizedProps;try{for(var a=t.type,l=e.attributes;l.length;)e.removeAttributeNode(l[0]);oe(e,a,n),e[Qt]=t,e[ne]=n}catch(i){_t(t,t.return,i)}}var mn=!1,Wt=!1,nu=!1,xf=typeof WeakSet=="function"?WeakSet:Set,Pt=null;function jp(t,e){if(t=t.containerInfo,Eu=So,t=Dr(t),Wo(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else t:{n=(n=t.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break t}var o=0,r=-1,f=-1,S=0,j=0,D=t,T=null;e:for(;;){for(var z;D!==n||l!==0&&D.nodeType!==3||(r=o+l),D!==i||a!==0&&D.nodeType!==3||(f=o+a),D.nodeType===3&&(o+=D.nodeValue.length),(z=D.firstChild)!==null;)T=D,D=z;for(;;){if(D===t)break e;if(T===n&&++S===l&&(r=o),T===i&&++j===a&&(f=o),(z=D.nextSibling)!==null)break;D=T,T=D.parentNode}D=z}n=r===-1||f===-1?null:{start:r,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(zu={focusedElem:t,selectionRange:n},So=!1,Pt=e;Pt!==null;)if(e=Pt,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Pt=t;else for(;Pt!==null;){switch(e=Pt,i=e.alternate,t=e.flags,e.tag){case 0:if((t&4)!==0&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(n=0;n title"))),oe(i,a,n),i[Qt]=t,yt(i),a=i;break t;case"link":var o=Ad("link","href",l).get(a+(n.href||""));if(o){for(var r=0;rwt&&(o=wt,wt=$,$=o);var g=kr(r,$),p=kr(r,wt);if(g&&p&&(z.rangeCount!==1||z.anchorNode!==g.node||z.anchorOffset!==g.offset||z.focusNode!==p.node||z.focusOffset!==p.offset)){var x=D.createRange();x.setStart(g.node,g.offset),z.removeAllRanges(),$>wt?(z.addRange(x),z.extend(p.node,p.offset)):(x.setEnd(p.node,p.offset),z.addRange(x))}}}}for(D=[],z=r;z=z.parentNode;)z.nodeType===1&&D.push({element:z,left:z.scrollLeft,top:z.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;rn?32:n,A.T=null,n=ru,ru=null;var i=qn,o=yn;if(Ft=0,tl=qn=null,yn=0,(At&6)!==0)throw Error(c(331));var r=At;if(At|=4,Df(i.current),Mf(i,i.current,o,n),At=r,Wl(0,!1),ue&&typeof ue.onPostCommitFiberRoot=="function")try{ue.onPostCommitFiberRoot(ye,i)}catch{}return!0}finally{B.p=l,A.T=a,Wf(t,e)}}function $f(t,e,n){e=De(n,e),e=Ys(t.stateNode,e,2),t=On(t,e,2),t!==null&&(En(t,2),Ve(t))}function _t(t,e,n){if(t.tag===3)$f(t,t,n);else for(;e!==null;){if(e.tag===3){$f(e,t,n);break}else if(e.tag===1){var a=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Nn===null||!Nn.has(a))){t=De(n,t),n=$c(2),a=On(e,n,2),a!==null&&(Ic(n,a,e,t),En(a,2),Ve(a));break}}e=e.return}}function mu(t,e,n){var a=t.pingCache;if(a===null){a=t.pingCache=new _p;var l=new Set;a.set(e,l)}else l=a.get(e),l===void 0&&(l=new Set,a.set(e,l));l.has(n)||(iu=!0,l.add(n),t=Bp.bind(null,t,e,n),e.then(t,t))}function Bp(t,e,n){var a=t.pingCache;a!==null&&a.delete(e),t.pingedLanes|=t.suspendedLanes&n,t.warmLanes&=~n,Bt===t&&(gt&n)===n&&(Yt===4||Yt===3&&(gt&62914560)===gt&&300>se()-no?(At&2)===0&&el(t,0):ou|=n,Pa===gt&&(Pa=0)),Ve(t)}function If(t,e){e===0&&(e=Ea()),t=ea(t,e),t!==null&&(En(t,e),Ve(t))}function Up(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),If(t,n)}function Hp(t,e){var n=0;switch(t.tag){case 31:case 13:var a=t.stateNode,l=t.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=t.stateNode;break;case 22:a=t.stateNode._retryCache;break;default:throw Error(c(314))}a!==null&&a.delete(e),If(t,n)}function Np(t,e){return fl(t,e)}var ro=null,al=null,pu=!1,co=!1,hu=!1,Gn=0;function Ve(t){t!==al&&t.next===null&&(al===null?ro=al=t:al=al.next=t),co=!0,pu||(pu=!0,Lp())}function Wl(t,e){if(!hu&&co){hu=!0;do for(var n=!1,a=ro;a!==null;){if(t!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var o=a.suspendedLanes,r=a.pingedLanes;i=(1<<31-ee(42|t)+1)-1,i&=l&~(o&~r),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,nd(a,i))}else i=gt,i=Ta(a,a===Bt?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||Tn(a,i)||(n=!0,nd(a,i));a=a.next}while(n);hu=!1}}function qp(){Pf()}function Pf(){co=pu=!1;var t=0;Gn!==0&&Fp()&&(t=Gn);for(var e=se(),n=null,a=ro;a!==null;){var l=a.next,i=td(a,e);i===0?(a.next=null,n===null?ro=l:n.next=l,l===null&&(al=n)):(n=a,(t!==0||(i&3)!==0)&&(co=!0)),a=l}Ft!==0&&Ft!==5||Wl(t),Gn!==0&&(Gn=0)}function td(t,e){for(var n=t.suspendedLanes,a=t.pingedLanes,l=t.expirationTimes,i=t.pendingLanes&-62914561;0r)break;var j=f.transferSize,D=f.initiatorType;j&&cd(D)&&(f=f.responseEnd,o+=j*(f"u"?null:document;function Td(t,e,n){var a=ll;if(a&&typeof e=="string"&&e){var l=ke(e);l='link[rel="'+t+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),Sd.has(l)||(Sd.add(l),t={rel:t,crossOrigin:n,href:e},a.querySelector(l)===null&&(e=a.createElement("link"),oe(e,"link",t),yt(e),a.head.appendChild(e)))}}function ih(t){bn.D(t),Td("dns-prefetch",t,null)}function oh(t,e){bn.C(t,e),Td("preconnect",t,e)}function sh(t,e,n){bn.L(t,e,n);var a=ll;if(a&&t&&e){var l='link[rel="preload"][as="'+ke(e)+'"]';e==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+ke(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+ke(n.imageSizes)+'"]')):l+='[href="'+ke(t)+'"]';var i=l;switch(e){case"style":i=il(t);break;case"script":i=ol(t)}He.has(i)||(t=R({rel:"preload",href:e==="image"&&n&&n.imageSrcSet?void 0:t,as:e},n),He.set(i,t),a.querySelector(l)!==null||e==="style"&&a.querySelector(Pl(i))||e==="script"&&a.querySelector(ti(i))||(e=a.createElement("link"),oe(e,"link",t),yt(e),a.head.appendChild(e)))}}function uh(t,e){bn.m(t,e);var n=ll;if(n&&t){var a=e&&typeof e.as=="string"?e.as:"script",l='link[rel="modulepreload"][as="'+ke(a)+'"][href="'+ke(t)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=ol(t)}if(!He.has(i)&&(t=R({rel:"modulepreload",href:t},e),He.set(i,t),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(ti(i)))return}a=n.createElement("link"),oe(a,"link",t),yt(a),n.head.appendChild(a)}}}function rh(t,e,n){bn.S(t,e,n);var a=ll;if(a&&t){var l=St(a).hoistableStyles,i=il(t);e=e||"default";var o=l.get(i);if(!o){var r={loading:0,preload:null};if(o=a.querySelector(Pl(i)))r.loading=5;else{t=R({rel:"stylesheet",href:t,"data-precedence":e},n),(n=He.get(i))&&Du(t,n);var f=o=a.createElement("link");yt(f),oe(f,"link",t),f._p=new Promise(function(S,j){f.onload=S,f.onerror=j}),f.addEventListener("load",function(){r.loading|=1}),f.addEventListener("error",function(){r.loading|=2}),r.loading|=4,go(o,e,a)}o={type:"stylesheet",instance:o,count:1,state:r},l.set(i,o)}}}function ch(t,e){bn.X(t,e);var n=ll;if(n&&t){var a=St(n).hoistableScripts,l=ol(t),i=a.get(l);i||(i=n.querySelector(ti(l)),i||(t=R({src:t,async:!0},e),(e=He.get(l))&&Ou(t,e),i=n.createElement("script"),yt(i),oe(i,"link",t),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function fh(t,e){bn.M(t,e);var n=ll;if(n&&t){var a=St(n).hoistableScripts,l=ol(t),i=a.get(l);i||(i=n.querySelector(ti(l)),i||(t=R({src:t,async:!0,type:"module"},e),(e=He.get(l))&&Ou(t,e),i=n.createElement("script"),yt(i),oe(i,"link",t),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ed(t,e,n,a){var l=(l=rt.current)?ho(l):null;if(!l)throw Error(c(446));switch(t){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(e=il(n.href),n=St(l).hoistableStyles,a=n.get(e),a||(a={type:"style",instance:null,count:0,state:null},n.set(e,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){t=il(n.href);var i=St(l).hoistableStyles,o=i.get(t);if(o||(l=l.ownerDocument||l,o={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(t,o),(i=l.querySelector(Pl(t)))&&!i._p&&(o.instance=i,o.state.loading=5),He.has(t)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},He.set(t,n),i||dh(l,t,n,o.state))),e&&a===null)throw Error(c(528,""));return o}if(e&&a!==null)throw Error(c(529,""));return null;case"script":return e=n.async,n=n.src,typeof n=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=ol(n),n=St(l).hoistableScripts,a=n.get(e),a||(a={type:"script",instance:null,count:0,state:null},n.set(e,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,t))}}function il(t){return'href="'+ke(t)+'"'}function Pl(t){return'link[rel="stylesheet"]['+t+"]"}function zd(t){return R({},t,{"data-precedence":t.precedence,precedence:null})}function dh(t,e,n,a){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?a.loading=1:(e=t.createElement("link"),a.preload=e,e.addEventListener("load",function(){return a.loading|=1}),e.addEventListener("error",function(){return a.loading|=2}),oe(e,"link",n),yt(e),t.head.appendChild(e))}function ol(t){return'[src="'+ke(t)+'"]'}function ti(t){return"script[async]"+t}function Cd(t,e,n){if(e.count++,e.instance===null)switch(e.type){case"style":var a=t.querySelector('style[data-href~="'+ke(n.href)+'"]');if(a)return e.instance=a,yt(a),a;var l=R({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(t.ownerDocument||t).createElement("style"),yt(a),oe(a,"style",l),go(a,n.precedence,t),e.instance=a;case"stylesheet":l=il(n.href);var i=t.querySelector(Pl(l));if(i)return e.state.loading|=4,e.instance=i,yt(i),i;a=zd(n),(l=He.get(l))&&Du(a,l),i=(t.ownerDocument||t).createElement("link"),yt(i);var o=i;return o._p=new Promise(function(r,f){o.onload=r,o.onerror=f}),oe(i,"link",a),e.state.loading|=4,go(i,n.precedence,t),e.instance=i;case"script":return i=ol(n.src),(l=t.querySelector(ti(i)))?(e.instance=l,yt(l),l):(a=n,(l=He.get(i))&&(a=R({},n),Ou(a,l)),t=t.ownerDocument||t,l=t.createElement("script"),yt(l),oe(l,"link",a),t.head.appendChild(l),e.instance=l);case"void":return null;default:throw Error(c(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(a=e.instance,e.state.loading|=4,go(a,n.precedence,t));return e.instance}function go(t,e,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,o=0;o title"):null)}function mh(t,e,n){if(n===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function Md(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function ph(t,e,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=il(a.href),i=e.querySelector(Pl(l));if(i){e=i._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=yo.bind(t),e.then(t,t)),n.state.loading|=4,n.instance=i,yt(i);return}i=e.ownerDocument||e,a=zd(a),(l=He.get(l))&&Du(a,l),i=i.createElement("link"),yt(i);var o=i;o._p=new Promise(function(r,f){o.onload=r,o.onerror=f}),oe(i,"link",a),n.instance=i}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(n,e),(e=n.state.preload)&&(n.state.loading&3)===0&&(t.count++,n=yo.bind(t),e.addEventListener("load",n),e.addEventListener("error",n))}}var Ru=0;function hh(t,e){return t.stylesheets&&t.count===0&&xo(t,t.stylesheets),0Ru?50:800)+e);return t.unsuspend=n,function(){t.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function yo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)xo(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var bo=null;function xo(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,bo=new Map,e.forEach(gh,t),bo=null,yo.call(t))}function gh(t,e){if(!(e.state.loading&4)){var n=bo.get(t);if(n)var a=n.get(null);else{n=new Map,bo.set(t,n);for(var l=t.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(h){console.error(h)}}return u(),Yu.exports=Rh(),Yu.exports}var Bh=wh();const Uh="modulepreload",Hh=function(u){return"/"+u},Id={},Lt=function(h,d,c){let v=Promise.resolve();if(d&&d.length>0){let M=function(y){return Promise.all(y.map(G=>Promise.resolve(G).then(R=>({status:"fulfilled",value:R}),R=>({status:"rejected",reason:R}))))};document.getElementsByTagName("link");const O=document.querySelector("meta[property=csp-nonce]"),C=(O==null?void 0:O.nonce)||(O==null?void 0:O.getAttribute("nonce"));v=M(d.map(y=>{if(y=Hh(y),y in Id)return;Id[y]=!0;const G=y.endsWith(".css"),R=G?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${y}"]${R}`))return;const K=document.createElement("link");if(K.rel=G?"stylesheet":Uh,G||(K.as="script"),K.crossOrigin="",K.href=y,C&&K.setAttribute("nonce",C),document.head.appendChild(K),G)return new Promise((nt,xt)=>{K.addEventListener("load",nt),K.addEventListener("error",()=>xt(new Error(`Unable to preload CSS for ${y}`)))})}))}function E(M){const O=new Event("vite:preloadError",{cancelable:!0});if(O.payload=M,window.dispatchEvent(O),!O.defaultPrevented)throw M}return v.then(M=>{for(const O of M||[])O.status==="rejected"&&E(O.reason);return h().catch(E)})},Mo={amber:{dark:{bg:"#09090b",sf:"#111114",sfH:"#18181c",bd:"#1e1e24",tx:"#e4e4e7",tx2:"#a1a1aa",txM:"#919199",ac:"#e8a845",acD:"rgba(232,168,69,0.12)",acT:"#fbbf24",cdBg:"#0c0c0f",cdTx:"#c4c4cc",sbBg:"#0c0c0e",hdBg:"rgba(9,9,11,0.85)"},light:{bg:"#fafaf9",sf:"#ffffff",sfH:"#f5f5f4",bd:"#e7e5e4",tx:"#1c1917",tx2:"#57534e",txM:"#706b66",ac:"#96640a",acD:"rgba(150,100,10,0.08)",acT:"#7a5208",cdBg:"#f5f3f0",cdTx:"#2c2520",sbBg:"#f5f5f3",hdBg:"rgba(250,250,249,0.85)"},fonts:{heading:"Instrument Serif",body:"DM Sans",code:"JetBrains Mono"}},editorial:{dark:{bg:"#080c1f",sf:"#0e1333",sfH:"#141940",bd:"#1a2050",tx:"#e8e6f0",tx2:"#b5b1c8",txM:"#9490ae",ac:"#ff6b4a",acD:"rgba(255,107,74,0.1)",acT:"#ff8a70",cdBg:"#0a0e27",cdTx:"#b8b4cc",sbBg:"#0a0e27",hdBg:"rgba(8,12,31,0.9)"},light:{bg:"#f6f4f0",sf:"#ffffff",sfH:"#eeece6",bd:"#ddd9d0",tx:"#1a1716",tx2:"#4a443e",txM:"#706960",ac:"#b83d22",acD:"rgba(184,61,34,0.07)",acT:"#9c3019",cdBg:"#edeae4",cdTx:"#3a3530",sbBg:"#f0ede8",hdBg:"rgba(246,244,240,0.92)"},fonts:{heading:"Cormorant Garamond",body:"Bricolage Grotesque",code:"Fira Code"}},cipher:{dark:{bg:"#050508",sf:"#0c0c12",sfH:"#12121a",bd:"#1a1a25",tx:"#d4ff00",tx2:"#8a90a0",txM:"#6a7080",ac:"#6666ff",acD:"rgba(102,102,255,0.10)",acT:"#8080ff",cdBg:"#08080e",cdTx:"#b0c870",sbBg:"#08080d",hdBg:"rgba(5,5,8,0.88)"},light:{bg:"#f0f2f5",sf:"#ffffff",sfH:"#e8eaef",bd:"#d0d4db",tx:"#0f1219",tx2:"#4a5060",txM:"#6a7080",ac:"#2020cc",acD:"rgba(32,32,204,0.08)",acT:"#1a1aa8",cdBg:"#e6e9ef",cdTx:"#2a3520",sbBg:"#ebedf2",hdBg:"rgba(240,242,245,0.90)"},fonts:{heading:"Bodoni Moda",body:"Space Grotesk",code:"Source Code Pro"}},mint:{dark:{bg:"#0d1117",sf:"#161b22",sfH:"#1c2129",bd:"#21262d",tx:"#e6edf3",tx2:"#8b949e",txM:"#6e7681",ac:"#0ea371",acD:"rgba(14,163,113,0.10)",acT:"#2dd4a0",cdBg:"#0a0e14",cdTx:"#adbac7",sbBg:"#0d1117",hdBg:"rgba(13,17,23,0.88)"},light:{bg:"#ffffff",sf:"#f6f8fa",sfH:"#eef1f5",bd:"#d8dee4",tx:"#1f2328",tx2:"#59636e",txM:"#6e7681",ac:"#0a7b53",acD:"rgba(10,123,83,0.07)",acT:"#087a50",cdBg:"#f0f3f6",cdTx:"#24292f",sbBg:"#f6f8fa",hdBg:"rgba(255,255,255,0.90)"},fonts:{heading:"Inter",body:"Inter",code:"Fira Code"}}},Nh=()=>s.jsx("svg",{width:22,height:22,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})}),qh=()=>s.jsx("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M18 6L6 18M6 6l12 12"})}),Lh=()=>s.jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4z"})});function um(u){let h="You are a helpful documentation assistant. Answer questions accurately based on the documentation provided below. If the answer isn't in the documentation, say so clearly. Keep answers concise and reference specific sections when possible.";if(u){const d=u.length>1e5?u.slice(0,1e5)+` [Documentation truncated...]`:u;h+=` Documentation: -${d}`}return h}async function Gh(u,h,d,c){var A,O,C;const v=await fetch("https://api.openai.com/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${h}`},body:JSON.stringify({model:d,messages:[{role:"system",content:um(c)},...u.map(y=>({role:y.role,content:y.content}))]})});if(!v.ok){const y=await v.text();throw new Error(`OpenAI API error (${v.status}): ${y}`)}return((C=(O=(A=(await v.json()).choices)==null?void 0:A[0])==null?void 0:O.message)==null?void 0:C.content)||"No response."}async function Yh(u,h,d,c){var A,O;const v=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":h,"anthropic-version":"2023-06-01","anthropic-dangerous-direct-browser-access":"true"},body:JSON.stringify({model:d,max_tokens:1024,system:um(c),messages:u.map(C=>({role:C.role,content:C.content}))})});if(!v.ok){const C=await v.text();throw new Error(`Anthropic API error (${v.status}): ${C}`)}return((O=(A=(await v.json()).content)==null?void 0:A[0])==null?void 0:O.text)||"No response."}function Kh(u){return u==="openai"?"gpt-4o-mini":"claude-sonnet-4-20250514"}function Xh({provider:u,model:h,apiKey:d,context:c}){const[v,E]=w.useState(!1),[A,O]=w.useState([]),[C,y]=w.useState(""),[G,R]=w.useState(!1),[K,nt]=w.useState(null),xt=w.useRef(null),Dt=w.useRef(null),Mt=d||(typeof window<"u"?window.__TOME_AI_API_KEY__:void 0),W=h||Kh(u);w.useEffect(()=>{var Q;(Q=xt.current)==null||Q.scrollIntoView({behavior:"smooth"})},[A]),w.useEffect(()=>{v&&setTimeout(()=>{var Q;return(Q=Dt.current)==null?void 0:Q.focus()},100)},[v]);const I=w.useCallback(async()=>{const Q=C.trim();if(!Q||G||!Mt)return;const Y={role:"user",content:Q},H=[...A,Y];O(H),y(""),R(!0),nt(null);try{let U;u==="openai"?U=await Gh(H,Mt,W,c):U=await Yh(H,Mt,W,c),O(at=>[...at,{role:"assistant",content:U}])}catch(U){nt(U instanceof Error?U.message:"Failed to get response")}finally{R(!1)}},[C,G,A,u,Mt,W,c]),ct=w.useCallback(Q=>{Q.key==="Enter"&&!Q.shiftKey&&(Q.preventDefault(),I())},[I]);return v?s.jsxs("div",{"data-testid":"ai-chat-panel",style:{position:"fixed",bottom:24,right:24,zIndex:900,width:380,maxWidth:"calc(100vw - 48px)",height:520,maxHeight:"calc(100vh - 48px)",background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:12,boxShadow:"0 16px 64px rgba(0,0,0,0.3)",display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"var(--font-body)"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px",borderBottom:"1px solid var(--bd)",flexShrink:0},children:[s.jsx("span",{style:{fontSize:14,fontWeight:600,color:"var(--tx)"},children:"Ask AI"}),s.jsx("button",{"data-testid":"ai-chat-close",onClick:()=>E(!1),"aria-label":"Close AI chat",style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex",padding:4},children:s.jsx(qh,{})})]}),s.jsxs("div",{style:{flex:1,overflow:"auto",padding:"12px 16px"},children:[!Mt&&s.jsxs("div",{"data-testid":"ai-chat-no-key",style:{textAlign:"center",color:"var(--txM)",fontSize:13,padding:"24px 8px",lineHeight:1.6},children:[s.jsx("p",{style:{marginBottom:8,fontWeight:500,color:"var(--tx)"},children:"AI not configured"}),s.jsxs("p",{style:{marginBottom:8},children:["To enable AI chat, set the ",s.jsx("code",{style:{fontFamily:"var(--font-code)",fontSize:"0.88em",background:"var(--cdBg)",padding:"0.15em 0.4em",borderRadius:4},children:"apiKeyEnv"})," in ",s.jsx("code",{style:{fontFamily:"var(--font-code)",fontSize:"0.88em",background:"var(--cdBg)",padding:"0.15em 0.4em",borderRadius:4},children:"tome.config.js"})," and provide the environment variable at build time."]}),s.jsxs("p",{style:{fontSize:11.5,color:"var(--txM)"},children:["Example: ",s.jsx("code",{style:{fontFamily:"var(--font-code)",fontSize:"0.88em",background:"var(--cdBg)",padding:"0.15em 0.4em",borderRadius:4},children:"TOME_AI_KEY=sk-... tome build"})]})]}),A.map((Q,Y)=>s.jsx("div",{"data-testid":`ai-chat-message-${Q.role}`,style:{marginBottom:12,display:"flex",justifyContent:Q.role==="user"?"flex-end":"flex-start"},children:s.jsx("div",{style:{maxWidth:"85%",padding:"8px 12px",borderRadius:10,fontSize:13,lineHeight:1.55,whiteSpace:"pre-wrap",wordBreak:"break-word",background:Q.role==="user"?"var(--ac)":"var(--cdBg)",color:Q.role==="user"?"#fff":"var(--tx)"},children:Q.content})},Y)),G&&s.jsx("div",{"data-testid":"ai-chat-loading",style:{display:"flex",justifyContent:"flex-start",marginBottom:12},children:s.jsx("div",{style:{padding:"8px 12px",borderRadius:10,fontSize:13,background:"var(--cdBg)",color:"var(--txM)"},children:"Thinking..."})}),K&&s.jsx("div",{"data-testid":"ai-chat-error",style:{padding:"8px 12px",borderRadius:8,fontSize:12,background:"rgba(220,50,50,0.1)",color:"#d44",marginBottom:12},children:K}),s.jsx("div",{ref:xt})]}),s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 12px",borderTop:"1px solid var(--bd)",flexShrink:0},children:[s.jsx("input",{ref:Dt,"data-testid":"ai-chat-input",value:C,onChange:Q=>y(Q.target.value),onKeyDown:ct,placeholder:Mt?"Ask a question...":"API key required",disabled:!Mt,style:{flex:1,background:"var(--cdBg)",border:"1px solid var(--bd)",borderRadius:8,padding:"8px 12px",color:"var(--tx)",fontSize:13,fontFamily:"var(--font-body)",outline:"none"}}),s.jsx("button",{"data-testid":"ai-chat-send",onClick:I,disabled:!Mt||!C.trim()||G,"aria-label":"Send message",style:{width:34,height:34,borderRadius:8,background:Mt&&C.trim()?"var(--ac)":"var(--cdBg)",color:Mt&&C.trim()?"#fff":"var(--txM)",border:"none",cursor:Mt&&C.trim()?"pointer":"default",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s.jsx(Lh,{})})]})]}):s.jsx("button",{"data-testid":"ai-chat-button",onClick:()=>E(!0),"aria-label":"Open AI chat",style:{position:"fixed",bottom:24,right:24,zIndex:900,width:48,height:48,borderRadius:"50%",background:"var(--ac)",color:"#fff",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 4px 16px rgba(0,0,0,0.25)",transition:"transform 0.15s"},children:s.jsx(Nh,{})})}function Qh(u){const h=/^#([0-9a-f]{6})$/i.exec(u.trim());if(!h)return null;const d=parseInt(h[1],16);return[d>>16&255,d>>8&255,d&255]}function Vh(u,h){const d=Qh(u);if(!d)return null;const[c,v,E]=d,A=`rgba(${c},${v},${E},${h?.12:.08})`,O=h?1.15:.85,C=Math.min(255,Math.round(c*O)),y=Math.min(255,Math.round(v*O)),G=Math.min(255,Math.round(E*O)),R=`rgb(${C},${y},${G})`;return{ac:u,acD:A,acT:R}}const je=({d:u,size:h=16})=>s.jsx("svg",{width:h,height:h,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:u})}),rm=()=>s.jsx(je,{d:"M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM21 21l-4.3-4.3"}),Pd=()=>s.jsx(je,{d:"M9 18l6-6-6-6",size:14}),Vu=()=>s.jsx(je,{d:"M6 9l6 6 6-6",size:14}),Zh=()=>s.jsx(je,{d:"M3 12h18M3 6h18M3 18h18",size:20}),Jh=()=>s.jsx(je,{d:"M18 6L6 18M6 6l12 12",size:18}),tm=()=>s.jsx(je,{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"}),em=()=>s.jsx(je,{d:"M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0-4a1 1 0 0 1 1-1v-1a1 1 0 0 1-2 0v1a1 1 0 0 1 1 1Zm0 16a1 1 0 0 1 1 1v1a1 1 0 0 1-2 0v-1a1 1 0 0 1 1-1ZM4 12a1 1 0 0 1-1 1H2a1 1 0 0 1 0-2h1a1 1 0 0 1 1 1Zm18-1h-1a1 1 0 0 1 0 2h1a1 1 0 0 1 0-2ZM6.34 6.34a1 1 0 0 1-1.41 0l-.71-.71a1 1 0 0 1 1.41-1.41l.71.71a1 1 0 0 1 0 1.41Zm12.73-2.12-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 1 1 1.41 1.41ZM6.34 17.66l-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 1.41Zm12.73 2.12-.71-.71a1 1 0 0 1 1.41-1.41l.71.71a1 1 0 0 1-1.41 1.41Z"}),nm=()=>s.jsx(je,{d:"M19 12H5M12 19l-7-7 7-7",size:14}),am=()=>s.jsx(je,{d:"M5 12h14M12 5l7 7-7 7",size:14}),Wh=()=>s.jsx(je,{d:"M17 3a2.83 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",size:13});function Fh(u){const h=new Date(u),c=new Date().getTime()-h.getTime();if(isNaN(c))return"";const v=Math.floor(c/1e3),E=Math.floor(v/60),A=Math.floor(E/60),O=Math.floor(A/24),C=Math.floor(O/30),y=Math.floor(O/365);return v<60?"just now":E<60?`${E} minute${E===1?"":"s"} ago`:A<24?`${A} hour${A===1?"":"s"} ago`:O<30?`${O} day${O===1?"":"s"} ago`:C<12?`${C} month${C===1?"":"s"} ago`:y>=1?`${y} year${y===1?"":"s"} ago`:h.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}let ul=null;const $h="/_pagefind/pagefind.js";async function Ih(){if(ul)return ul;try{return ul=await import($h),await ul.init(),ul}catch{return null}}let ko=null;function Ph(){return ko||(ko=Lt(()=>import("./theme-BIHI7g3E.js"),[]).catch(()=>null),ko)}function t0({appId:u,apiKey:h,indexName:d,onNavigate:c,onClose:v,basePath:E=""}){const[A,O]=w.useState(null),[C,y]=w.useState(!1);w.useEffect(()=>{Ph().then(R=>{R&&R.DocSearch?O(()=>R.DocSearch):R&&R.default?O(()=>R.default):y(!0)})},[]);const G=w.useCallback(R=>{try{let nt=new URL(R,"http://localhost").pathname;if(E){const xt=E.replace(/\/$/,"");nt.startsWith(xt)&&(nt=nt.slice(xt.length))}return nt.replace(/^\//,"").replace(/\/index\.html$/,"").replace(/\.html$/,"")||"index"}catch{return"index"}},[E]);return C?s.jsx("div",{onClick:v,style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(6px)",display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"12vh"},children:s.jsx("div",{onClick:R=>R.stopPropagation(),style:{background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:12,width:"100%",maxWidth:520,boxShadow:"0 24px 80px rgba(0,0,0,0.4)",padding:"32px 18px",textAlign:"center",color:"var(--txM)",fontSize:14},children:"Algolia DocSearch is not available. Install @docsearch/react to enable it."})}):A?s.jsx("div",{"data-testid":"algolia-search-modal",children:s.jsx(A,{appId:u,apiKey:h,indexName:d,navigator:{navigate({itemUrl:R}){const K=G(R);c(K)}},hitComponent:({hit:R,children:K})=>s.jsx("a",{href:R.url,onClick:nt=>{nt.preventDefault();const xt=G(R.url);c(xt)},children:K})})}):s.jsx("div",{onClick:v,style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(6px)",display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"12vh"},children:s.jsx("div",{style:{background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:12,width:"100%",maxWidth:520,boxShadow:"0 24px 80px rgba(0,0,0,0.4)",padding:"32px 18px",textAlign:"center",color:"var(--txM)",fontSize:14},children:"Loading search..."})})}const e0=()=>s.jsx(je,{d:"M12 8v4l3 3m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z",size:14}),n0=()=>s.jsx(je,{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18ZM3.6 9h16.8M3.6 15h16.8M12 3a15 15 0 0 1 4 9 15 15 0 0 1-4 9 15 15 0 0 1-4-9 15 15 0 0 1 4-9Z",size:14}),a0=()=>s.jsx(je,{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6M15 3h6v6M10 14L21 3",size:11}),l0={github:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z",twitter:"M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z",discord:"M13.545 2.907a13.227 13.227 0 00-3.257-1.011.05.05 0 00-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 00-3.658 0 8.258 8.258 0 00-.412-.833.051.051 0 00-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 00-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 003.995 2.02.05.05 0 00.056-.019c.308-.42.582-.863.818-1.329a.05.05 0 00-.028-.07 8.735 8.735 0 01-1.248-.595.05.05 0 01-.005-.083c.084-.063.168-.129.248-.195a.05.05 0 01.051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 01.053.007c.08.066.164.132.248.195a.051.051 0 01-.004.085c-.399.232-.813.431-1.249.594a.05.05 0 00-.03.07c.24.465.515.909.817 1.329a.05.05 0 00.056.019 13.235 13.235 0 004.001-2.02.049.049 0 00.021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 00-.02-.019z",linkedin:"M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 01.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z",youtube:"M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 011.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 01-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 01-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 010 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 011.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 017.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z",mastodon:"M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765 2.79.765.504 1.783.504 5.253c-.005.995-.01 2.19.013 3.44.075 4.21.56 8.354 3.383 9.386 1.302.476 2.418.576 3.317.507 1.628-.125 2.541-.8 2.541-.8l-.054-1.182s-1.163.366-2.47.322c-1.293-.044-2.658-.138-2.867-1.716a3.23 3.23 0 01-.028-.465s1.27.31 2.879.384c.984.045 1.905-.058 2.842-.17zM13 8.59V5.319c0-.67-.17-1.2-.507-1.592-.348-.4-.806-.605-1.373-.605-.656 0-1.154.252-1.486.756L9.2 4.595l-.434-.717c-.332-.504-.83-.756-1.486-.756-.567 0-1.025.204-1.373.605-.338.392-.507.923-.507 1.592V8.59h1.69V5.468c0-.67.285-1.012.855-1.012.63 0 .946.404.946 1.204V7.11h1.682V5.66c0-.8.316-1.204.946-1.204.57 0 .855.342.855 1.012V8.59H13z",bluesky:"M3.468 1.948C5.303 3.325 7.276 6.118 8 7.616c.724-1.498 2.697-4.29 4.532-5.668C13.855 1.013 16 .638 16 3.14c0 .5-.286 4.2-.454 4.8-.585 2.093-2.716 2.628-4.544 2.305 3.195.564 4.007 2.433 2.25 4.302-3.337 3.548-4.8-1.244-5.252-2.547 0 0-.116-.334-.166-.334h.332C8.166 11.666 8.05 12 8.05 12c-.452 1.303-1.916 6.095-5.252 2.547-1.756-1.869-.946-3.738 2.25-4.302-1.829.323-3.96-.212-4.544-2.305C.336 7.34.05 3.64.05 3.14.05.638 2.195 1.013 3.468 1.948z"},i0=({platform:u,customIcon:h})=>{const d=u==="custom"&&h?h:l0[u];return d?s.jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",children:s.jsx("path",{d})}):null},o0={Added:"#22c55e",Changed:"#3b82f6",Deprecated:"#f59e0b",Removed:"#ef4444",Fixed:"#8b5cf6",Security:"#f97316"};function s0({entries:u}){const[h,d]=w.useState(u.length<=5),c=h?u:u.slice(0,5);return s.jsxs("div",{"data-testid":"changelog-timeline",style:{position:"relative"},children:[s.jsx("div",{style:{position:"absolute",left:15,top:8,bottom:8,width:2,background:"var(--bd)"}}),c.map((v,E)=>s.jsxs("div",{"data-testid":`changelog-entry-${v.version}`,style:{position:"relative",paddingLeft:44,paddingBottom:E{const O=o0[A.type]||"#6b7280";return s.jsxs("div",{style:{marginBottom:16},children:[s.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,marginBottom:8},children:[s.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:O}}),s.jsx("span",{style:{fontSize:12,fontWeight:600,textTransform:"uppercase",letterSpacing:".06em",color:O,fontFamily:"var(--font-code, monospace)"},children:A.type})]}),s.jsx("ul",{style:{margin:0,paddingLeft:18,listStyleType:"disc",color:"var(--tx2)"},children:A.items.map((C,y)=>s.jsx("li",{style:{fontSize:14,lineHeight:1.7,color:"var(--tx2)",marginBottom:2},children:C},y))})]},A.type)})]},v.version)),!h&&u.length>5&&s.jsx("div",{style:{textAlign:"center",marginTop:24},children:s.jsxs("button",{"data-testid":"changelog-show-more",onClick:()=>d(!0),style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"8px 20px",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body, inherit)",cursor:"pointer"},children:["Show all ",u.length," releases"]})})]})}function u0(u,h,d){if(h==="index")return[];for(const c of u)if(c.pages.find(E=>E.id===h)){const E=[],A=c.pages[0];return E.push({label:c.section,href:A?A.urlPath:null}),E.push({label:d,href:null}),E}return[]}function r0({config:u,navigation:h,currentPageId:d,pageHtml:c,pageComponent:v,mdxComponents:E,pageTitle:A,pageDescription:O,headings:C,tocEnabled:y=!0,editUrl:G,lastUpdated:R,changelogEntries:K,apiManifest:nt,apiBaseUrl:xt,apiPlayground:Dt,apiAuth:Mt,ApiReferenceComponent:W,onNavigate:I,allPages:ct,versioning:Q,currentVersion:Y,i18n:H,currentLocale:U,docContext:at,basePath:lt="",isDraft:P,dir:mt,overrides:tt}){var za,En,fi,dl,ml,pl,Ca,ja,hl,gl,qe,Qt,ne,tn,Ma,di,mi,vl,zn;const At=U||(H==null?void 0:H.defaultLocale)||"en",$t=mt||((za=H==null?void 0:H.localeDirs)==null?void 0:za[At])||"ltr",ft=$t==="rtl",j=((En=u.theme)==null?void 0:En.mode)||"auto",[B,Z]=w.useState(()=>{var b;return j==="dark"?!0:j==="light"?!1:((b=window.matchMedia)==null?void 0:b.call(window,"(prefers-color-scheme: dark)").matches)??!1}),[J,Tt]=w.useState(()=>typeof window<"u"&&window.innerWidth<768),[m,_]=w.useState(()=>typeof window<"u"&&window.innerWidth>=768),[N,L]=w.useState(!1),[it,rt]=w.useState(!1),[Et,It]=w.useState(!1),[Ut,Ze]=w.useState(null),[pa,ha]=w.useState({}),[rl,Je]=w.useState(()=>{var b;if(!((b=u.banner)!=null&&b.text))return!0;try{const q=Array.from(u.banner.text).reduce((et,dt)=>(et<<5)-et+dt.charCodeAt(0)|0,0).toString(36);return localStorage.getItem("tome-banner-dismissed")===q}catch{return!1}}),cl=Q&&Y&&Y!==Q.current,[ga,Do]=w.useState(h.map(b=>b.section)),We=w.useRef(null),Fn=w.useRef(null),fl=w.useRef(""),[va,Oo]=w.useState(()=>typeof window<"u"&&window.innerWidth>1100),si=((fi=u.theme)==null?void 0:fi.preset)||"amber",se=((dl=Ao[si])==null?void 0:dl[B?"dark":"light"])||Ao.amber.dark,ui=(ml=u.theme)!=null&&ml.accent?Vh(u.theme.accent,B):null,te=ui?{...se,...ui}:se,ya=((pl=Ao[si])==null?void 0:pl.fonts)||Ao.amber.fonts,xn={heading:((ja=(Ca=u.theme)==null?void 0:Ca.fonts)==null?void 0:ja.heading)||ya.heading,body:((gl=(hl=u.theme)==null?void 0:hl.fonts)==null?void 0:gl.body)||ya.body,code:((Qt=(qe=u.theme)==null?void 0:qe.fonts)==null?void 0:Qt.code)||ya.code};w.useEffect(()=>{if(j!=="auto")return;const b=window.matchMedia("(prefers-color-scheme: dark)"),q=et=>Z(et.matches);return b.addEventListener("change",q),()=>b.removeEventListener("change",q)},[j]),w.useEffect(()=>{document.documentElement.classList.toggle("dark",B)},[B]),w.useEffect(()=>{const b=()=>{const q=window.innerWidth;Oo(q>1100),Tt(q<768)};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]),w.useEffect(()=>{if(J&&m)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[J,m]),w.useEffect(()=>{var b;(b=We.current)==null||b.scrollTo(0,0)},[d]),w.useEffect(()=>{const b=We.current;if(!b)return;const q=et=>{const dt=et.target;dt.tagName==="IMG"&&dt.closest(".tome-content")&&Ze(dt.src)};return b.addEventListener("click",q),()=>b.removeEventListener("click",q)},[]),w.useEffect(()=>{const b=We.current;if(!b)return;const q=et=>{const dt=et.target.closest("a");if(!dt)return;const St=dt.getAttribute("href");if(!St||St.startsWith("http://")||St.startsWith("https://")||St.startsWith("mailto:")||St.startsWith("tel:")||St.startsWith("//")||St.startsWith("#"))return;et.preventDefault();let yt=St.replace(/^\.\//,"").replace(/^\//,"").replace(/\.mdx?$/,"").replace(/\/$/,"");if(lt){const ce=lt.replace(/^\//,"").replace(/\/$/,"");ce&&yt.startsWith(ce+"/")?yt=yt.slice(ce.length+1):ce&&yt===ce&&(yt="index")}yt||(yt="index"),I(yt)};return b.addEventListener("click",q),()=>b.removeEventListener("click",q)},[I,lt]),w.useEffect(()=>{if(!Ut)return;const b=q=>{q.key==="Escape"&&Ze(null)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[Ut]);const Sn=u.toc,ri=(Sn==null?void 0:Sn.depth)??3,ba=(Sn==null?void 0:Sn.enabled)!==!1&&y,ye=C.filter(b=>b.depth<=ri),[ue,Me]=w.useState("");w.useEffect(()=>{if(!ba||ye.length<2)return;const b=We.current;if(!b)return;const q=setTimeout(()=>{const et=[];for(const St of ye){const yt=b.querySelector(`#${CSS.escape(St.id)}`);yt&&et.push(yt)}if(et.length===0)return;const dt=new IntersectionObserver(St=>{const yt=St.filter(ce=>ce.isIntersecting).sort((ce,pi)=>ce.boundingClientRect.top-pi.boundingClientRect.top);yt.length>0&&Me(yt[0].target.id)},{root:b,rootMargin:"0px 0px -80% 0px",threshold:0});for(const St of et)dt.observe(St);ee.current=dt},100);return()=>{var et;clearTimeout(q),(et=ee.current)==null||et.disconnect(),ee.current=null}},[d,ba,ye.map(b=>b.id).join(",")]);const ee=w.useRef(null);w.useEffect(()=>{Me("")},[d]),w.useLayoutEffect(()=>{if(!Fn.current||!c)return;const b=c.replace(/]*>[\s\S]*?<\/h1>\s*/,"");Fn.current.innerHTML=b,fl.current=b},[c,d]);const ci=w.useCallback((b,q)=>{b.preventDefault();const et=We.current;if(!et)return;const dt=et.querySelector(`#${CSS.escape(q)}`);dt&&(dt.scrollIntoView({behavior:"smooth",block:"start"}),Me(q))},[]);w.useEffect(()=>{const b=q=>{(q.metaKey||q.ctrlKey)&&q.key==="k"&&(q.preventDefault(),L(!0)),q.key==="Escape"&&L(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[]);const xa=h.flatMap(b=>b.pages),Sa=xa.findIndex(b=>b.id===d),Fe=Sa>0?xa[Sa-1]:null,$e=SaDo(q=>q.includes(b)?q.filter(et=>et!==b):[...q,b]),Ta={"--bg":te.bg,"--sf":te.sf,"--sfH":te.sfH,"--bd":te.bd,"--tx":te.tx,"--tx2":te.tx2,"--txM":te.txM,"--ac":te.ac,"--acD":te.acD,"--acT":te.acT,"--cdBg":te.cdBg,"--cdTx":te.cdTx,"--sbBg":te.sbBg,"--hdBg":te.hdBg,"--font-heading":`"${xn.heading}", serif`,"--font-body":`"${xn.body}", sans-serif`,"--font-code":`"${xn.code}", monospace`},Tn=v,Ne=(ne=u.banner)==null?void 0:ne.link,Ea=Ne?Ne.startsWith("#")||lt&&Ne.startsWith(lt+"/"):!1;return s.jsxs("div",{dir:$t,className:"tome-grain",style:{...Ta,color:"var(--tx)",background:"var(--bg)",fontFamily:"var(--font-body)",height:"100vh",overflow:"clip"},children:[((tn=u.banner)==null?void 0:tn.text)&&!rl&&s.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:12,background:"var(--ac)",color:"#fff",padding:"8px 16px",fontSize:13,fontFamily:"var(--font-body)",fontWeight:500,textAlign:"center",width:"100vw",boxSizing:"border-box"},children:[u.banner.link?s.jsx("a",{href:Ea&&Ne.startsWith("#")?lt+"/"+Ne.slice(1):Ne,...Ea?{}:{target:"_blank",rel:"noopener noreferrer"},style:{color:"#fff",textDecoration:"underline"},onClick:Ea?b=>{b.preventDefault();const q=lt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),et=Ne.startsWith("#")?Ne.slice(1):Ne.replace(new RegExp("^"+q+"/?"),"");I(et||"index")}:void 0,children:u.banner.text}):s.jsx("span",{children:u.banner.text}),u.banner.dismissible!==!1&&s.jsx("button",{onClick:()=>{Je(!0);try{const b=Array.from(u.banner.text).reduce((q,et)=>(q<<5)-q+et.charCodeAt(0)|0,0).toString(36);localStorage.setItem("tome-banner-dismissed",b)}catch{}},"aria-label":"Dismiss banner",style:{background:"none",border:"none",color:"#fff",cursor:"pointer",fontSize:16,lineHeight:1,padding:0,opacity:.8},children:"×"})]}),N&&((Ma=u.search)==null?void 0:Ma.provider)==="algolia"&&u.search.appId&&u.search.apiKey&&u.search.indexName?s.jsx(t0,{appId:u.search.appId,apiKey:u.search.apiKey,indexName:u.search.indexName,onNavigate:b=>{I(b),L(!1)},onClose:()=>L(!1),basePath:lt}):N?s.jsx(c0,{allPages:ct,onNavigate:b=>{I(b),L(!1)},onClose:()=>L(!1),mobile:J}):null,s.jsxs("div",{style:{display:"flex",flexDirection:ft?"row-reverse":"row",flex:1,height:(di=u.banner)!=null&&di.text&&!rl?"calc(100vh - 32px)":"100vh"},children:[J&&m&&s.jsx("div",{onClick:()=>_(!1),style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0,0,0,0.4)",backdropFilter:"blur(2px)"}}),tt!=null&&tt.Sidebar?s.jsx(tt.Sidebar,{config:u,navigation:h,currentPageId:d,onNavigate:I,mobile:J,sbOpen:m,setSbOpen:_,versioning:Q,currentVersion:Y}):s.jsxs("aside",{style:{width:m?270:0,minWidth:m?270:0,background:"var(--sbBg)",[ft?"borderLeft":"borderRight"]:"1px solid var(--bd)",display:"flex",flexDirection:"column",transition:"width .2s, min-width .2s",overflow:"hidden",...J?{position:"fixed",top:0,[ft?"right":"left"]:0,bottom:0,zIndex:201}:{}},children:[s.jsxs("a",{href:"/",style:{padding:"18px 20px",display:"flex",alignItems:"baseline",gap:6,borderBottom:"1px solid var(--bd)",textDecoration:"none",color:"inherit"},children:[s.jsx("span",{style:{fontFamily:"var(--font-heading)",fontSize:22,fontWeight:700,fontStyle:"italic"},children:u.name}),s.jsx("span",{style:{width:5,height:5,borderRadius:"50%",background:"var(--ac)",display:"inline-block"}})]}),s.jsx("div",{style:{padding:"12px 14px"},children:s.jsxs("button",{onClick:()=>{L(!0),J&&_(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",background:"var(--cdBg)",border:"1px solid var(--bd)",borderRadius:2,padding:"8px 12px",cursor:"pointer",color:"var(--txM)",fontSize:12.5,fontFamily:"var(--font-body)"},children:[s.jsx(rm,{}),s.jsx("span",{style:{flex:1,textAlign:ft?"right":"left"},children:"Search..."}),s.jsx("kbd",{style:{fontFamily:"var(--font-code)",fontSize:9,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,padding:"2px 6px"},children:"⌘K"})]})}),s.jsx("nav",{style:{flex:1,overflow:"auto",padding:"4px 10px 20px"},children:h.map(b=>s.jsxs("div",{style:{marginBottom:8},children:[s.jsxs("button",{onClick:()=>Pe(b.section),style:{display:"flex",alignItems:"center",gap:6,width:"100%",background:"none",border:"none",padding:"8px 10px",cursor:"pointer",borderRadius:2,color:"var(--txM)",fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:".1em",fontFamily:"var(--font-code)"},children:[ga.includes(b.section)?s.jsx(Vu,{}):s.jsx(Pd,{}),b.section]}),ga.includes(b.section)&&s.jsx("div",{style:{[ft?"marginRight":"marginLeft"]:8,[ft?"borderRight":"borderLeft"]:"1px solid var(--bd)",[ft?"paddingRight":"paddingLeft"]:0},children:b.pages.map(q=>{const et=d===q.id;return s.jsxs("button",{onClick:()=>{I(q.id),J&&_(!1)},style:{display:"flex",alignItems:"center",gap:10,width:"100%",textAlign:ft?"right":"left",background:"none",border:"none",borderRadius:0,[ft?"borderRight":"borderLeft"]:et?"2px solid var(--ac)":"2px solid transparent",padding:"7px 14px",cursor:"pointer",color:et?"var(--ac)":"var(--tx2)",fontSize:13,fontWeight:et?500:400,fontFamily:"var(--font-body)",transition:"all .12s"},children:[q.title,q.badge&&(()=>{const dt={default:{bg:"var(--sf)",text:"var(--tx2)"},info:{bg:"rgba(59,130,246,0.15)",text:"rgb(59,130,246)"},success:{bg:"rgba(34,197,94,0.15)",text:"rgb(34,197,94)"},warning:{bg:"rgba(234,179,8,0.15)",text:"rgb(202,138,4)"},danger:{bg:"rgba(239,68,68,0.15)",text:"rgb(239,68,68)"}},St=dt[q.badge.variant||"default"]||dt.default;return s.jsx("span",{style:{fontSize:10,fontWeight:600,padding:"2px 6px",borderRadius:4,marginLeft:6,whiteSpace:"nowrap",background:St.bg,color:St.text},children:q.badge.text})})()]},q.id)})})]},b.section))}),Q&&J&&s.jsx("div",{style:{padding:"8px 16px",borderTop:"1px solid var(--bd)",display:"flex",gap:6},children:Q.versions.map(b=>s.jsxs("button",{onClick:()=>{const q=b===Q.current?"index":`${b}/index`;I(q)},style:{flex:1,padding:"3px 0",textAlign:"center",background:b===(Y||Q.current)?"var(--acD)":"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,cursor:"pointer",color:b===(Y||Q.current)?"var(--ac)":"var(--tx2)",fontSize:11,fontFamily:"var(--font-code)",fontWeight:b===Q.current?600:400},children:[b,b===Q.current?" (latest)":""]},b))}),s.jsxs("div",{style:{padding:"12px 16px",borderTop:"1px solid var(--bd)",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[j==="auto"?s.jsx("button",{"aria-label":B?"Switch to light mode":"Switch to dark mode",onClick:()=>Z(b=>!b),style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex"},children:B?s.jsx(em,{}):s.jsx(tm,{})}):s.jsx("div",{}),s.jsxs("span",{style:{fontSize:11,color:"var(--txM)",letterSpacing:.2},children:["Built with ","♡"," by Tome"]}),s.jsx("span",{style:{fontFamily:"var(--font-code)",fontSize:10,color:"var(--txM)"},children:"v0.5.0"})]})]}),s.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[tt!=null&&tt.Header?s.jsx(tt.Header,{config:u,navigation:h,currentPageId:d,onNavigate:I,mobile:J,sbOpen:m,setSbOpen:_,isDark:B,setDark:Z,versioning:Q,currentVersion:Y,i18n:H,currentLocale:U,onSearchOpen:()=>L(!0),basePath:lt}):s.jsxs("header",{style:{display:"flex",alignItems:"center",gap:J?8:12,padding:J?"8px 12px":"10px 24px",borderBottom:"1px solid var(--bd)",background:"var(--hdBg)",backdropFilter:"blur(12px)",maxWidth:"100vw",overflow:"visible",position:"relative",zIndex:200},children:[s.jsx("button",{"aria-label":m?"Close sidebar":"Open sidebar",onClick:()=>_(!m),style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex"},children:m?s.jsx(Jh,{}):s.jsx(Zh,{})}),J?s.jsx("span",{style:{fontSize:13,color:"var(--ac)",fontFamily:"var(--font-code)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:((mi=h.flatMap(b=>b.pages).find(b=>b.id===d))==null?void 0:mi.title)||""}):s.jsx("div",{style:{display:"flex",alignItems:"center",gap:8,fontFamily:"var(--font-code)",fontSize:11,color:"var(--txM)",letterSpacing:".03em",flex:1},children:h.map(b=>{const q=b.pages.find(et=>et.id===d);return q?s.jsxs("span",{style:{display:"flex",alignItems:"center",gap:8},children:[s.jsx("span",{children:b.section}),s.jsx(Pd,{}),s.jsx("span",{style:{color:"var(--ac)"},children:q.title})]},b.section):null})}),u.topNav&&u.topNav.length>0&&!J&&s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[u.topNav.map(b=>{const q=b.href.startsWith("#")||lt&&b.href.startsWith(lt+"/"),et=!q;return s.jsxs("a",{href:q&&b.href.startsWith("#")?lt+"/"+b.href.slice(1):b.href,...et?{target:"_blank",rel:"noopener noreferrer"}:{},onClick:q?dt=>{dt.preventDefault();const St=b.href.startsWith("#")?b.href.slice(1):b.href.replace(new RegExp("^"+lt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"/?"),"");I(St)}:void 0,style:{display:"flex",alignItems:"center",gap:4,color:"var(--txM)",textDecoration:"none",fontSize:12,fontFamily:"var(--font-body)",fontWeight:500,transition:"color .15s"},onMouseOver:dt=>dt.currentTarget.style.color="var(--ac)",onMouseOut:dt=>dt.currentTarget.style.color="var(--txM)",children:[b.label,et&&s.jsx(a0,{})]},b.label)}),s.jsx("span",{style:{width:1,height:16,background:"var(--bd)"}})]}),u.socialLinks&&u.socialLinks.length>0&&!J&&s.jsx("div",{style:{display:"flex",alignItems:"center",gap:8},children:u.socialLinks.map(b=>s.jsx("a",{href:b.url,target:"_blank",rel:"noopener noreferrer","aria-label":b.label||b.platform,"data-testid":`social-link-${b.platform}`,style:{display:"flex",alignItems:"center",justifyContent:"center",color:"var(--tx2)",cursor:"pointer",transition:"color .15s"},onMouseOver:q=>q.currentTarget.style.color="var(--tx)",onMouseOut:q=>q.currentTarget.style.color="var(--tx2)",children:s.jsx(i0,{platform:b.platform,customIcon:b.icon})},b.url))}),J&&j==="auto"&&s.jsx("button",{"aria-label":B?"Switch to light mode":"Switch to dark mode",onClick:()=>Z(b=>!b),style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex",flexShrink:0},children:B?s.jsx(em,{}):s.jsx(tm,{})}),Q&&!J&&s.jsxs("div",{style:{position:"relative"},children:[s.jsxs("button",{"data-testid":"version-switcher",onClick:()=>rt(b=>!b),style:{display:"flex",alignItems:"center",gap:6,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,padding:"5px 10px",cursor:"pointer",color:"var(--tx2)",fontSize:12,fontFamily:"var(--font-code)"},children:[s.jsx(e0,{}),Y||Q.current,s.jsx(Vu,{})]}),it&&s.jsx("div",{"data-testid":"version-dropdown",style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,boxShadow:"0 8px 32px rgba(0,0,0,0.2)",overflow:"hidden",zIndex:100,minWidth:120},children:Q.versions.map(b=>s.jsxs("button",{onClick:()=>{rt(!1);const q=b===Q.current?"index":`${b}/index`;I(q)},style:{display:"block",width:"100%",textAlign:"left",background:b===(Y||Q.current)?"var(--acD)":"none",border:"none",padding:"8px 14px",cursor:"pointer",color:b===(Y||Q.current)?"var(--ac)":"var(--tx2)",fontSize:12,fontFamily:"var(--font-code)",fontWeight:b===Q.current?600:400},children:[b,b===Q.current?" (latest)":""]},b))})]}),H&&H.locales.length>1&&!J&&s.jsxs("div",{style:{position:"relative"},children:[s.jsxs("button",{"data-testid":"language-switcher",onClick:()=>It(b=>!b),style:{display:"flex",alignItems:"center",gap:6,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,padding:"5px 10px",cursor:"pointer",color:"var(--tx2)",fontSize:12,fontFamily:"var(--font-body)"},children:[s.jsx(n0,{}),((vl=H.localeNames)==null?void 0:vl[U||H.defaultLocale])||U||H.defaultLocale,s.jsx(Vu,{})]}),Et&&s.jsx("div",{"data-testid":"language-dropdown",style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,boxShadow:"0 8px 32px rgba(0,0,0,0.2)",overflow:"hidden",zIndex:100,minWidth:120},children:H.locales.map(b=>{var ce;const q=b===(U||H.defaultLocale),et=((ce=H.localeNames)==null?void 0:ce[b])||b,dt=U||H.defaultLocale;let St=d;dt!==H.defaultLocale&&d.startsWith(`${dt}/`)&&(St=d.slice(dt.length+1));const yt=b===H.defaultLocale?St:`${b}/${St}`;return s.jsx("button",{onClick:()=>{It(!1),I(yt)},style:{display:"block",width:"100%",textAlign:"left",background:q?"var(--acD)":"none",border:"none",padding:"8px 14px",cursor:"pointer",color:q?"var(--ac)":"var(--tx2)",fontSize:12,fontFamily:"var(--font-body)",fontWeight:q?600:400},children:et},b)})})]})]}),cl&&s.jsxs("div",{"data-testid":"old-version-banner",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:"var(--acD)",borderBottom:"1px solid var(--bd)",padding:"8px 24px",fontSize:13,color:"var(--tx2)"},children:[s.jsxs("span",{children:["You're viewing docs for ",Y,"."]}),s.jsx("button",{onClick:()=>{I("index")},style:{background:"none",border:"none",color:"var(--ac)",cursor:"pointer",fontWeight:600,fontSize:13,fontFamily:"var(--font-body)",textDecoration:"underline"},children:"Switch to latest."})]}),s.jsxs("div",{ref:We,style:{flex:1,overflow:"auto",display:"flex"},children:[s.jsxs("main",{style:{flex:1,maxWidth:J?"100%":nt?1100:760,padding:J?"24px 16px 60px":"40px 48px 80px",margin:"0 auto",minWidth:0},children:[Ie.length>0&&s.jsx("nav",{"aria-label":"Breadcrumbs","data-testid":"breadcrumbs",style:{display:"flex",alignItems:"center",gap:6,fontSize:13,color:"var(--tx2)",marginBottom:8},children:Ie.map((b,q)=>s.jsxs(sm.Fragment,{children:[q>0&&s.jsx("span",{style:{color:"var(--tx2)",opacity:.5},children:"›"}),q{et.preventDefault();const dt=h.flatMap(St=>St.pages).find(St=>St.urlPath===b.href);dt&&I(dt.id)},style:{color:"var(--tx2)",textDecoration:"none",cursor:"pointer"},children:b.label}):s.jsx("span",{style:q===Ie.length-1?{color:"var(--tx)"}:void 0,children:b.label})]},q))}),s.jsx("h1",{style:{fontFamily:"var(--font-heading)",fontSize:J?26:38,fontWeight:400,fontStyle:"italic",lineHeight:1.15,marginBottom:8},children:A}),P&&s.jsx("div",{"data-testid":"draft-banner",style:{background:"#fef3c7",color:"#92400e",padding:"8px 16px",borderRadius:6,fontSize:13,marginBottom:16},children:"Draft — This page is only visible in development"}),O&&s.jsx("p",{style:{fontSize:16,color:"var(--tx2)",lineHeight:1.6,marginBottom:32},children:O}),s.jsx("div",{style:{borderTop:"1px solid var(--bd)",paddingTop:28},children:nt&&W?s.jsx(W,{manifest:nt,baseUrl:xt,showPlayground:Dt,playgroundAuth:Mt}):K&&K.length>0?s.jsx(s0,{entries:K}):Tn?s.jsx("div",{className:"tome-content",children:s.jsx(Tn,{components:E||{}})}):s.jsx("div",{className:"tome-content",ref:Fn},d)}),tt!=null&&tt.PageFooter?s.jsx(tt.PageFooter,{editUrl:G,lastUpdated:R,currentPageId:d,prev:Fe,next:$e,onNavigate:I,mobile:J}):s.jsxs(s.Fragment,{children:[(G||R)&&s.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:J?"column":"row",alignItems:J?"flex-start":"center",justifyContent:"space-between",gap:J?8:16},children:[G&&s.jsx("div",{"data-testid":"edit-page-link",children:s.jsxs("a",{href:G,target:"_blank",rel:"noopener noreferrer",style:{display:"inline-flex",alignItems:"center",gap:6,color:"var(--txM)",textDecoration:"none",fontSize:13,fontFamily:"var(--font-body)",transition:"color .15s"},onMouseOver:b=>b.currentTarget.style.color="var(--ac)",onMouseOut:b=>b.currentTarget.style.color="var(--txM)",children:[s.jsx(Wh,{})," Edit this page on GitHub"]})}),R&&s.jsxs("div",{"data-testid":"last-updated",style:{fontSize:12,color:"var(--txM)",fontFamily:"var(--font-body)"},children:["Last updated ",Fh(R)]})]}),s.jsx("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:24,padding:"12px 0"},children:pa[d]?s.jsx("span",{style:{fontSize:13,color:"var(--txM)",fontFamily:"var(--font-body)"},children:"Thanks for your feedback!"}):s.jsxs(s.Fragment,{children:[s.jsx("span",{style:{fontSize:13,color:"var(--txM)",fontFamily:"var(--font-body)"},children:"Was this helpful?"}),s.jsx("button",{onClick:()=>{ha(b=>({...b,[d]:!0}));try{localStorage.setItem(`tome-feedback-${d}`,"up")}catch{}},style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"4px 10px",cursor:"pointer",fontSize:13,color:"var(--txM)",transition:"border-color .15s"},children:"👍"}),s.jsx("button",{onClick:()=>{ha(b=>({...b,[d]:!0}));try{localStorage.setItem(`tome-feedback-${d}`,"down")}catch{}},style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"4px 10px",cursor:"pointer",fontSize:13,color:"var(--txM)",transition:"border-color .15s"},children:"👎"})]})}),s.jsxs("div",{style:{display:"flex",flexDirection:J?"column":"row",justifyContent:"space-between",marginTop:16,paddingTop:24,borderTop:"1px solid var(--bd)",gap:J?12:16},children:[Fe?s.jsxs("button",{onClick:()=>I(Fe.id),style:{display:"flex",alignItems:"center",gap:8,background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"10px 16px",cursor:"pointer",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body)",transition:"border-color .15s, color .15s"},children:[ft?s.jsx(am,{}):s.jsx(nm,{})," ",Fe.title]}):s.jsx("div",{}),$e?s.jsxs("button",{onClick:()=>I($e.id),style:{display:"flex",alignItems:"center",gap:8,background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"10px 16px",cursor:"pointer",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body)",transition:"border-color .15s, color .15s"},children:[$e.title," ",ft?s.jsx(nm,{}):s.jsx(am,{})]}):s.jsx("div",{})]})]})]}),tt!=null&&tt.Toc?ba&&ye.length>=2&&va&&s.jsx(tt.Toc,{headings:ye,activeHeadingId:ue,onScrollToHeading:ci}):ba&&ye.length>=2&&va&&s.jsxs("aside",{"data-testid":"toc-sidebar",style:{width:200,padding:ft?"40px 0 40px 16px":"40px 16px 40px 0",position:"sticky",top:0,alignSelf:"flex-start",flexShrink:0},children:[s.jsx("div",{style:{fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:".1em",color:"var(--txM)",marginBottom:12,fontFamily:"var(--font-code)"},children:"On this page"}),s.jsx("nav",{"aria-label":"Table of contents",style:{[ft?"borderRight":"borderLeft"]:"1px solid var(--bd)",[ft?"paddingRight":"paddingLeft"]:0},children:ye.map((b,q)=>{const et=ue===b.id;return s.jsx("a",{href:`#${b.id}`,onClick:dt=>ci(dt,b.id),"data-testid":`toc-link-${b.id}`,style:{display:"block",fontSize:12,color:et?"var(--ac)":"var(--txM)",fontWeight:et?500:400,textDecoration:"none",padding:"4px 12px",[ft?"paddingRight":"paddingLeft"]:12+(b.depth-2)*12,lineHeight:1.4,transition:"color .15s, font-weight .15s",[ft?"borderRight":"borderLeft"]:et?"2px solid var(--ac)":"2px solid transparent",[ft?"marginRight":"marginLeft"]:-1},children:b.text},q)})})]})]})]})]}),(tt==null?void 0:tt.Footer)&&s.jsx(tt.Footer,{config:u,navigation:h,currentPageId:d,onNavigate:I}),((zn=u.ai)==null?void 0:zn.enabled)&&s.jsx(Xh,{provider:u.ai.provider||"anthropic",model:u.ai.model,apiKey:typeof __TOME_AI_API_KEY__<"u"&&__TOME_AI_API_KEY__?__TOME_AI_API_KEY__:void 0,context:(at==null?void 0:at.map(b=>`## ${b.title} +${d}`}return h}async function Gh(u,h,d,c){var M,O,C;const v=await fetch("https://api.openai.com/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${h}`},body:JSON.stringify({model:d,messages:[{role:"system",content:um(c)},...u.map(y=>({role:y.role,content:y.content}))]})});if(!v.ok){const y=await v.text();throw new Error(`OpenAI API error (${v.status}): ${y}`)}return((C=(O=(M=(await v.json()).choices)==null?void 0:M[0])==null?void 0:O.message)==null?void 0:C.content)||"No response."}async function Yh(u,h,d,c){var M,O;const v=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":h,"anthropic-version":"2023-06-01","anthropic-dangerous-direct-browser-access":"true"},body:JSON.stringify({model:d,max_tokens:1024,system:um(c),messages:u.map(C=>({role:C.role,content:C.content}))})});if(!v.ok){const C=await v.text();throw new Error(`Anthropic API error (${v.status}): ${C}`)}return((O=(M=(await v.json()).content)==null?void 0:M[0])==null?void 0:O.text)||"No response."}function Kh(u){return u==="openai"?"gpt-4o-mini":"claude-sonnet-4-20250514"}function Xh({provider:u,model:h,apiKey:d,context:c}){const[v,E]=w.useState(!1),[M,O]=w.useState([]),[C,y]=w.useState(""),[G,R]=w.useState(!1),[K,nt]=w.useState(null),xt=w.useRef(null),Dt=w.useRef(null),jt=d||(typeof window<"u"?window.__TOME_AI_API_KEY__:void 0),W=h||Kh(u);w.useEffect(()=>{var Q;(Q=xt.current)==null||Q.scrollIntoView({behavior:"smooth"})},[M]),w.useEffect(()=>{v&&setTimeout(()=>{var Q;return(Q=Dt.current)==null?void 0:Q.focus()},100)},[v]);const I=w.useCallback(async()=>{const Q=C.trim();if(!Q||G||!jt)return;const Y={role:"user",content:Q},H=[...M,Y];O(H),y(""),R(!0),nt(null);try{let U;u==="openai"?U=await Gh(H,jt,W,c):U=await Yh(H,jt,W,c),O(at=>[...at,{role:"assistant",content:U}])}catch(U){nt(U instanceof Error?U.message:"Failed to get response")}finally{R(!1)}},[C,G,M,u,jt,W,c]),ct=w.useCallback(Q=>{Q.key==="Enter"&&!Q.shiftKey&&(Q.preventDefault(),I())},[I]);return v?s.jsxs("div",{"data-testid":"ai-chat-panel",style:{position:"fixed",bottom:24,right:24,zIndex:900,width:380,maxWidth:"calc(100vw - 48px)",height:520,maxHeight:"calc(100vh - 48px)",background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:12,boxShadow:"0 16px 64px rgba(0,0,0,0.3)",display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"var(--font-body)"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 16px",borderBottom:"1px solid var(--bd)",flexShrink:0},children:[s.jsx("span",{style:{fontSize:14,fontWeight:600,color:"var(--tx)"},children:"Ask AI"}),s.jsx("button",{"data-testid":"ai-chat-close",onClick:()=>E(!1),"aria-label":"Close AI chat",style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex",padding:4},children:s.jsx(qh,{})})]}),s.jsxs("div",{style:{flex:1,overflow:"auto",padding:"12px 16px"},children:[!jt&&s.jsxs("div",{"data-testid":"ai-chat-no-key",style:{textAlign:"center",color:"var(--txM)",fontSize:13,padding:"24px 8px",lineHeight:1.6},children:[s.jsx("p",{style:{marginBottom:8,fontWeight:500,color:"var(--tx)"},children:"AI not configured"}),s.jsxs("p",{style:{marginBottom:8},children:["To enable AI chat, set the ",s.jsx("code",{style:{fontFamily:"var(--font-code)",fontSize:"0.88em",background:"var(--cdBg)",padding:"0.15em 0.4em",borderRadius:4},children:"apiKeyEnv"})," in ",s.jsx("code",{style:{fontFamily:"var(--font-code)",fontSize:"0.88em",background:"var(--cdBg)",padding:"0.15em 0.4em",borderRadius:4},children:"tome.config.js"})," and provide the environment variable at build time."]}),s.jsxs("p",{style:{fontSize:11.5,color:"var(--txM)"},children:["Example: ",s.jsx("code",{style:{fontFamily:"var(--font-code)",fontSize:"0.88em",background:"var(--cdBg)",padding:"0.15em 0.4em",borderRadius:4},children:"TOME_AI_KEY=sk-... tome build"})]})]}),M.map((Q,Y)=>s.jsx("div",{"data-testid":`ai-chat-message-${Q.role}`,style:{marginBottom:12,display:"flex",justifyContent:Q.role==="user"?"flex-end":"flex-start"},children:s.jsx("div",{style:{maxWidth:"85%",padding:"8px 12px",borderRadius:10,fontSize:13,lineHeight:1.55,whiteSpace:"pre-wrap",wordBreak:"break-word",background:Q.role==="user"?"var(--ac)":"var(--cdBg)",color:Q.role==="user"?"#fff":"var(--tx)"},children:Q.content})},Y)),G&&s.jsx("div",{"data-testid":"ai-chat-loading",style:{display:"flex",justifyContent:"flex-start",marginBottom:12},children:s.jsx("div",{style:{padding:"8px 12px",borderRadius:10,fontSize:13,background:"var(--cdBg)",color:"var(--txM)"},children:"Thinking..."})}),K&&s.jsx("div",{"data-testid":"ai-chat-error",style:{padding:"8px 12px",borderRadius:8,fontSize:12,background:"rgba(220,50,50,0.1)",color:"#d44",marginBottom:12},children:K}),s.jsx("div",{ref:xt})]}),s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 12px",borderTop:"1px solid var(--bd)",flexShrink:0},children:[s.jsx("input",{ref:Dt,"data-testid":"ai-chat-input",value:C,onChange:Q=>y(Q.target.value),onKeyDown:ct,placeholder:jt?"Ask a question...":"API key required",disabled:!jt,style:{flex:1,background:"var(--cdBg)",border:"1px solid var(--bd)",borderRadius:8,padding:"8px 12px",color:"var(--tx)",fontSize:13,fontFamily:"var(--font-body)",outline:"none"}}),s.jsx("button",{"data-testid":"ai-chat-send",onClick:I,disabled:!jt||!C.trim()||G,"aria-label":"Send message",style:{width:34,height:34,borderRadius:8,background:jt&&C.trim()?"var(--ac)":"var(--cdBg)",color:jt&&C.trim()?"#fff":"var(--txM)",border:"none",cursor:jt&&C.trim()?"pointer":"default",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:s.jsx(Lh,{})})]})]}):s.jsx("button",{"data-testid":"ai-chat-button",onClick:()=>E(!0),"aria-label":"Open AI chat",style:{position:"fixed",bottom:24,right:24,zIndex:900,width:48,height:48,borderRadius:"50%",background:"var(--ac)",color:"#fff",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 4px 16px rgba(0,0,0,0.25)",transition:"transform 0.15s"},children:s.jsx(Nh,{})})}function Qh(u){const h=/^#([0-9a-f]{6})$/i.exec(u.trim());if(!h)return null;const d=parseInt(h[1],16);return[d>>16&255,d>>8&255,d&255]}function Vh(u,h){const d=Qh(u);if(!d)return null;const[c,v,E]=d,M=`rgba(${c},${v},${E},${h?.12:.08})`,O=h?1.15:.85,C=Math.min(255,Math.round(c*O)),y=Math.min(255,Math.round(v*O)),G=Math.min(255,Math.round(E*O)),R=`rgb(${C},${y},${G})`;return{ac:u,acD:M,acT:R}}const Ae=({d:u,size:h=16})=>s.jsx("svg",{width:h,height:h,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:s.jsx("path",{d:u})}),rm=()=>s.jsx(Ae,{d:"M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16ZM21 21l-4.3-4.3"}),Pd=()=>s.jsx(Ae,{d:"M9 18l6-6-6-6",size:14}),Vu=()=>s.jsx(Ae,{d:"M6 9l6 6 6-6",size:14}),Zh=()=>s.jsx(Ae,{d:"M3 12h18M3 6h18M3 18h18",size:20}),Jh=()=>s.jsx(Ae,{d:"M18 6L6 18M6 6l12 12",size:18}),tm=()=>s.jsx(Ae,{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"}),em=()=>s.jsx(Ae,{d:"M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0-4a1 1 0 0 1 1-1v-1a1 1 0 0 1-2 0v1a1 1 0 0 1 1 1Zm0 16a1 1 0 0 1 1 1v1a1 1 0 0 1-2 0v-1a1 1 0 0 1 1-1ZM4 12a1 1 0 0 1-1 1H2a1 1 0 0 1 0-2h1a1 1 0 0 1 1 1Zm18-1h-1a1 1 0 0 1 0 2h1a1 1 0 0 1 0-2ZM6.34 6.34a1 1 0 0 1-1.41 0l-.71-.71a1 1 0 0 1 1.41-1.41l.71.71a1 1 0 0 1 0 1.41Zm12.73-2.12-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 1 1 1.41 1.41ZM6.34 17.66l-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 1.41Zm12.73 2.12-.71-.71a1 1 0 0 1 1.41-1.41l.71.71a1 1 0 0 1-1.41 1.41Z"}),nm=()=>s.jsx(Ae,{d:"M19 12H5M12 19l-7-7 7-7",size:14}),am=()=>s.jsx(Ae,{d:"M5 12h14M12 5l7 7-7 7",size:14}),Wh=()=>s.jsx(Ae,{d:"M17 3a2.83 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",size:13});function Fh(u){const h=new Date(u),c=new Date().getTime()-h.getTime();if(isNaN(c))return"";const v=Math.floor(c/1e3),E=Math.floor(v/60),M=Math.floor(E/60),O=Math.floor(M/24),C=Math.floor(O/30),y=Math.floor(O/365);return v<60?"just now":E<60?`${E} minute${E===1?"":"s"} ago`:M<24?`${M} hour${M===1?"":"s"} ago`:O<30?`${O} day${O===1?"":"s"} ago`:C<12?`${C} month${C===1?"":"s"} ago`:y>=1?`${y} year${y===1?"":"s"} ago`:h.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}let ul=null;const $h="/_pagefind/pagefind.js";async function Ih(){if(ul)return ul;try{return ul=await import($h),await ul.init(),ul}catch{return null}}let ko=null;function Ph(){return ko||(ko=Lt(()=>import("./theme-BIHI7g3E.js"),[]).catch(()=>null),ko)}function t0({appId:u,apiKey:h,indexName:d,onNavigate:c,onClose:v,basePath:E=""}){const[M,O]=w.useState(null),[C,y]=w.useState(!1);w.useEffect(()=>{Ph().then(R=>{R&&R.DocSearch?O(()=>R.DocSearch):R&&R.default?O(()=>R.default):y(!0)})},[]);const G=w.useCallback(R=>{try{let nt=new URL(R,"http://localhost").pathname;if(E){const xt=E.replace(/\/$/,"");nt.startsWith(xt)&&(nt=nt.slice(xt.length))}return nt.replace(/^\//,"").replace(/\/index\.html$/,"").replace(/\.html$/,"")||"index"}catch{return"index"}},[E]);return C?s.jsx("div",{onClick:v,style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(6px)",display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"12vh"},children:s.jsx("div",{onClick:R=>R.stopPropagation(),style:{background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:12,width:"100%",maxWidth:520,boxShadow:"0 24px 80px rgba(0,0,0,0.4)",padding:"32px 18px",textAlign:"center",color:"var(--txM)",fontSize:14},children:"Algolia DocSearch is not available. Install @docsearch/react to enable it."})}):M?s.jsx("div",{"data-testid":"algolia-search-modal",children:s.jsx(M,{appId:u,apiKey:h,indexName:d,navigator:{navigate({itemUrl:R}){const K=G(R);c(K)}},hitComponent:({hit:R,children:K})=>s.jsx("a",{href:R.url,onClick:nt=>{nt.preventDefault();const xt=G(R.url);c(xt)},children:K})})}):s.jsx("div",{onClick:v,style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(6px)",display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"12vh"},children:s.jsx("div",{style:{background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:12,width:"100%",maxWidth:520,boxShadow:"0 24px 80px rgba(0,0,0,0.4)",padding:"32px 18px",textAlign:"center",color:"var(--txM)",fontSize:14},children:"Loading search..."})})}const e0=()=>s.jsx(Ae,{d:"M12 8v4l3 3m6-3a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z",size:14}),n0=()=>s.jsx(Ae,{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18ZM3.6 9h16.8M3.6 15h16.8M12 3a15 15 0 0 1 4 9 15 15 0 0 1-4 9 15 15 0 0 1-4-9 15 15 0 0 1 4-9Z",size:14}),a0=()=>s.jsx(Ae,{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6M15 3h6v6M10 14L21 3",size:11}),l0={github:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z",twitter:"M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865l8.875 11.633Z",discord:"M13.545 2.907a13.227 13.227 0 00-3.257-1.011.05.05 0 00-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 00-3.658 0 8.258 8.258 0 00-.412-.833.051.051 0 00-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 00-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 003.995 2.02.05.05 0 00.056-.019c.308-.42.582-.863.818-1.329a.05.05 0 00-.028-.07 8.735 8.735 0 01-1.248-.595.05.05 0 01-.005-.083c.084-.063.168-.129.248-.195a.05.05 0 01.051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 01.053.007c.08.066.164.132.248.195a.051.051 0 01-.004.085c-.399.232-.813.431-1.249.594a.05.05 0 00-.03.07c.24.465.515.909.817 1.329a.05.05 0 00.056.019 13.235 13.235 0 004.001-2.02.049.049 0 00.021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 00-.02-.019z",linkedin:"M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 01.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z",youtube:"M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 011.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 01-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 01-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 010 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 011.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 017.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z",mastodon:"M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765 2.79.765.504 1.783.504 5.253c-.005.995-.01 2.19.013 3.44.075 4.21.56 8.354 3.383 9.386 1.302.476 2.418.576 3.317.507 1.628-.125 2.541-.8 2.541-.8l-.054-1.182s-1.163.366-2.47.322c-1.293-.044-2.658-.138-2.867-1.716a3.23 3.23 0 01-.028-.465s1.27.31 2.879.384c.984.045 1.905-.058 2.842-.17zM13 8.59V5.319c0-.67-.17-1.2-.507-1.592-.348-.4-.806-.605-1.373-.605-.656 0-1.154.252-1.486.756L9.2 4.595l-.434-.717c-.332-.504-.83-.756-1.486-.756-.567 0-1.025.204-1.373.605-.338.392-.507.923-.507 1.592V8.59h1.69V5.468c0-.67.285-1.012.855-1.012.63 0 .946.404.946 1.204V7.11h1.682V5.66c0-.8.316-1.204.946-1.204.57 0 .855.342.855 1.012V8.59H13z",bluesky:"M3.468 1.948C5.303 3.325 7.276 6.118 8 7.616c.724-1.498 2.697-4.29 4.532-5.668C13.855 1.013 16 .638 16 3.14c0 .5-.286 4.2-.454 4.8-.585 2.093-2.716 2.628-4.544 2.305 3.195.564 4.007 2.433 2.25 4.302-3.337 3.548-4.8-1.244-5.252-2.547 0 0-.116-.334-.166-.334h.332C8.166 11.666 8.05 12 8.05 12c-.452 1.303-1.916 6.095-5.252 2.547-1.756-1.869-.946-3.738 2.25-4.302-1.829.323-3.96-.212-4.544-2.305C.336 7.34.05 3.64.05 3.14.05.638 2.195 1.013 3.468 1.948z"},i0=({platform:u,customIcon:h})=>{const d=u==="custom"&&h?h:l0[u];return d?s.jsx("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",children:s.jsx("path",{d})}):null},o0={Added:"#22c55e",Changed:"#3b82f6",Deprecated:"#f59e0b",Removed:"#ef4444",Fixed:"#8b5cf6",Security:"#f97316"};function s0({entries:u}){const[h,d]=w.useState(u.length<=5),c=h?u:u.slice(0,5);return s.jsxs("div",{"data-testid":"changelog-timeline",style:{position:"relative"},children:[s.jsx("div",{style:{position:"absolute",left:15,top:8,bottom:8,width:2,background:"var(--bd)"}}),c.map((v,E)=>s.jsxs("div",{"data-testid":`changelog-entry-${v.version}`,style:{position:"relative",paddingLeft:44,paddingBottom:E{const O=o0[M.type]||"#6b7280";return s.jsxs("div",{style:{marginBottom:16},children:[s.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,marginBottom:8},children:[s.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:O}}),s.jsx("span",{style:{fontSize:12,fontWeight:600,textTransform:"uppercase",letterSpacing:".06em",color:O,fontFamily:"var(--font-code, monospace)"},children:M.type})]}),s.jsx("ul",{style:{margin:0,paddingLeft:18,listStyleType:"disc",color:"var(--tx2)"},children:M.items.map((C,y)=>s.jsx("li",{style:{fontSize:14,lineHeight:1.7,color:"var(--tx2)",marginBottom:2},children:C},y))})]},M.type)})]},v.version)),!h&&u.length>5&&s.jsx("div",{style:{textAlign:"center",marginTop:24},children:s.jsxs("button",{"data-testid":"changelog-show-more",onClick:()=>d(!0),style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"8px 20px",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body, inherit)",cursor:"pointer"},children:["Show all ",u.length," releases"]})})]})}function u0(u,h,d){if(h==="index")return[];for(const c of u)if(c.pages.find(E=>E.id===h)){const E=[],M=c.pages[0];return E.push({label:c.section,href:M?M.urlPath:null}),E.push({label:d,href:null}),E}return[]}function r0({config:u,navigation:h,currentPageId:d,pageHtml:c,pageComponent:v,mdxComponents:E,pageTitle:M,pageDescription:O,headings:C,tocEnabled:y=!0,editUrl:G,lastUpdated:R,changelogEntries:K,apiManifest:nt,apiBaseUrl:xt,apiPlayground:Dt,apiAuth:jt,ApiReferenceComponent:W,onNavigate:I,allPages:ct,versioning:Q,currentVersion:Y,i18n:H,currentLocale:U,docContext:at,basePath:lt="",isDraft:P,dir:mt,overrides:tt}){var za,En,fi,dl,ml,pl,Ca,Aa,hl,gl,qe,Qt,ne,tn,ja,di,mi,vl,zn;const Mt=U||(H==null?void 0:H.defaultLocale)||"en",$t=mt||((za=H==null?void 0:H.localeDirs)==null?void 0:za[Mt])||"ltr",ft=$t==="rtl",A=((En=u.theme)==null?void 0:En.mode)||"auto",[B,Z]=w.useState(()=>{var b;return A==="dark"?!0:A==="light"?!1:((b=window.matchMedia)==null?void 0:b.call(window,"(prefers-color-scheme: dark)").matches)??!1}),[J,Tt]=w.useState(()=>typeof window<"u"&&window.innerWidth<768),[m,_]=w.useState(()=>typeof window<"u"&&window.innerWidth>=768),[N,L]=w.useState(!1),[it,rt]=w.useState(!1),[Et,It]=w.useState(!1),[Ut,Ze]=w.useState(null),[pa,ha]=w.useState({}),[rl,Je]=w.useState(()=>{var b;if(!((b=u.banner)!=null&&b.text))return!0;try{const q=Array.from(u.banner.text).reduce((et,dt)=>(et<<5)-et+dt.charCodeAt(0)|0,0).toString(36);return localStorage.getItem("tome-banner-dismissed")===q}catch{return!1}}),cl=Q&&Y&&Y!==Q.current,[ga,Do]=w.useState(h.map(b=>b.section)),We=w.useRef(null),Fn=w.useRef(null),fl=w.useRef(""),[va,Oo]=w.useState(()=>typeof window<"u"&&window.innerWidth>1100),si=((fi=u.theme)==null?void 0:fi.preset)||"amber",se=((dl=Mo[si])==null?void 0:dl[B?"dark":"light"])||Mo.amber.dark,ui=(ml=u.theme)!=null&&ml.accent?Vh(u.theme.accent,B):null,te=ui?{...se,...ui}:se,ya=((pl=Mo[si])==null?void 0:pl.fonts)||Mo.amber.fonts,xn={heading:((Aa=(Ca=u.theme)==null?void 0:Ca.fonts)==null?void 0:Aa.heading)||ya.heading,body:((gl=(hl=u.theme)==null?void 0:hl.fonts)==null?void 0:gl.body)||ya.body,code:((Qt=(qe=u.theme)==null?void 0:qe.fonts)==null?void 0:Qt.code)||ya.code};w.useEffect(()=>{if(A!=="auto")return;const b=window.matchMedia("(prefers-color-scheme: dark)"),q=et=>Z(et.matches);return b.addEventListener("change",q),()=>b.removeEventListener("change",q)},[A]),w.useEffect(()=>{document.documentElement.classList.toggle("dark",B)},[B]),w.useEffect(()=>{const b=()=>{const q=window.innerWidth;Oo(q>1100),Tt(q<768)};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]),w.useEffect(()=>{if(J&&m)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[J,m]),w.useEffect(()=>{var b;(b=We.current)==null||b.scrollTo(0,0)},[d]),w.useEffect(()=>{const b=We.current;if(!b)return;const q=et=>{const dt=et.target;dt.tagName==="IMG"&&dt.closest(".tome-content")&&Ze(dt.src)};return b.addEventListener("click",q),()=>b.removeEventListener("click",q)},[]),w.useEffect(()=>{const b=We.current;if(!b)return;const q=et=>{const dt=et.target.closest("a");if(!dt)return;const St=dt.getAttribute("href");if(!St||St.startsWith("http://")||St.startsWith("https://")||St.startsWith("mailto:")||St.startsWith("tel:")||St.startsWith("//")||St.startsWith("#"))return;et.preventDefault();let yt=St.replace(/^\.\//,"").replace(/^\//,"").replace(/\.mdx?$/,"").replace(/\/$/,"");if(lt){const ce=lt.replace(/^\//,"").replace(/\/$/,"");ce&&yt.startsWith(ce+"/")?yt=yt.slice(ce.length+1):ce&&yt===ce&&(yt="index")}yt||(yt="index"),I(yt)};return b.addEventListener("click",q),()=>b.removeEventListener("click",q)},[I,lt]),w.useEffect(()=>{if(!Ut)return;const b=q=>{q.key==="Escape"&&Ze(null)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[Ut]);const Sn=u.toc,ri=(Sn==null?void 0:Sn.depth)??3,ba=(Sn==null?void 0:Sn.enabled)!==!1&&y,ye=C.filter(b=>b.depth<=ri),[ue,je]=w.useState("");w.useEffect(()=>{if(!ba||ye.length<2)return;const b=We.current;if(!b)return;const q=setTimeout(()=>{const et=[];for(const St of ye){const yt=b.querySelector(`#${CSS.escape(St.id)}`);yt&&et.push(yt)}if(et.length===0)return;const dt=new IntersectionObserver(St=>{const yt=St.filter(ce=>ce.isIntersecting).sort((ce,pi)=>ce.boundingClientRect.top-pi.boundingClientRect.top);yt.length>0&&je(yt[0].target.id)},{root:b,rootMargin:"0px 0px -80% 0px",threshold:0});for(const St of et)dt.observe(St);ee.current=dt},100);return()=>{var et;clearTimeout(q),(et=ee.current)==null||et.disconnect(),ee.current=null}},[d,ba,ye.map(b=>b.id).join(",")]);const ee=w.useRef(null);w.useEffect(()=>{je("")},[d]),w.useLayoutEffect(()=>{if(!Fn.current||!c)return;const b=c.replace(/]*>[\s\S]*?<\/h1>\s*/,"");Fn.current.innerHTML=b,fl.current=b},[c,d]);const ci=w.useCallback((b,q)=>{b.preventDefault();const et=We.current;if(!et)return;const dt=et.querySelector(`#${CSS.escape(q)}`);dt&&(dt.scrollIntoView({behavior:"smooth",block:"start"}),je(q))},[]);w.useEffect(()=>{const b=q=>{(q.metaKey||q.ctrlKey)&&q.key==="k"&&(q.preventDefault(),L(!0)),q.key==="Escape"&&L(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[]);const xa=h.flatMap(b=>b.pages),Sa=xa.findIndex(b=>b.id===d),Fe=Sa>0?xa[Sa-1]:null,$e=SaDo(q=>q.includes(b)?q.filter(et=>et!==b):[...q,b]),Ta={"--bg":te.bg,"--sf":te.sf,"--sfH":te.sfH,"--bd":te.bd,"--tx":te.tx,"--tx2":te.tx2,"--txM":te.txM,"--ac":te.ac,"--acD":te.acD,"--acT":te.acT,"--cdBg":te.cdBg,"--cdTx":te.cdTx,"--sbBg":te.sbBg,"--hdBg":te.hdBg,"--font-heading":`"${xn.heading}", serif`,"--font-body":`"${xn.body}", sans-serif`,"--font-code":`"${xn.code}", monospace`},Tn=v,Ne=(ne=u.banner)==null?void 0:ne.link,Ea=Ne?Ne.startsWith("#")||lt&&Ne.startsWith(lt+"/"):!1;return s.jsxs("div",{dir:$t,className:"tome-grain",style:{...Ta,color:"var(--tx)",background:"var(--bg)",fontFamily:"var(--font-body)",height:"100vh",overflow:"clip"},children:[((tn=u.banner)==null?void 0:tn.text)&&!rl&&s.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:12,background:"var(--ac)",color:"#fff",padding:"8px 16px",fontSize:13,fontFamily:"var(--font-body)",fontWeight:500,textAlign:"center",width:"100vw",boxSizing:"border-box"},children:[u.banner.link?s.jsx("a",{href:Ea&&Ne.startsWith("#")?lt+"/"+Ne.slice(1):Ne,...Ea?{}:{target:"_blank",rel:"noopener noreferrer"},style:{color:"#fff",textDecoration:"underline"},onClick:Ea?b=>{b.preventDefault();const q=lt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),et=Ne.startsWith("#")?Ne.slice(1):Ne.replace(new RegExp("^"+q+"/?"),"");I(et||"index")}:void 0,children:u.banner.text}):s.jsx("span",{children:u.banner.text}),u.banner.dismissible!==!1&&s.jsx("button",{onClick:()=>{Je(!0);try{const b=Array.from(u.banner.text).reduce((q,et)=>(q<<5)-q+et.charCodeAt(0)|0,0).toString(36);localStorage.setItem("tome-banner-dismissed",b)}catch{}},"aria-label":"Dismiss banner",style:{background:"none",border:"none",color:"#fff",cursor:"pointer",fontSize:16,lineHeight:1,padding:0,opacity:.8},children:"×"})]}),N&&((ja=u.search)==null?void 0:ja.provider)==="algolia"&&u.search.appId&&u.search.apiKey&&u.search.indexName?s.jsx(t0,{appId:u.search.appId,apiKey:u.search.apiKey,indexName:u.search.indexName,onNavigate:b=>{I(b),L(!1)},onClose:()=>L(!1),basePath:lt}):N?s.jsx(c0,{allPages:ct,onNavigate:b=>{I(b),L(!1)},onClose:()=>L(!1),mobile:J}):null,s.jsxs("div",{style:{display:"flex",flexDirection:ft?"row-reverse":"row",flex:1,height:(di=u.banner)!=null&&di.text&&!rl?"calc(100vh - 32px)":"100vh"},children:[J&&m&&s.jsx("div",{onClick:()=>_(!1),style:{position:"fixed",inset:0,zIndex:200,background:"rgba(0,0,0,0.4)",backdropFilter:"blur(2px)"}}),tt!=null&&tt.Sidebar?s.jsx(tt.Sidebar,{config:u,navigation:h,currentPageId:d,onNavigate:I,mobile:J,sbOpen:m,setSbOpen:_,versioning:Q,currentVersion:Y}):s.jsxs("aside",{style:{width:m?270:0,minWidth:m?270:0,background:"var(--sbBg)",[ft?"borderLeft":"borderRight"]:"1px solid var(--bd)",display:"flex",flexDirection:"column",transition:"width .2s, min-width .2s",overflow:"hidden",...J?{position:"fixed",top:0,[ft?"right":"left"]:0,bottom:0,zIndex:201}:{}},children:[s.jsxs("a",{href:"/",style:{padding:"18px 20px",display:"flex",alignItems:"baseline",gap:6,borderBottom:"1px solid var(--bd)",textDecoration:"none",color:"inherit"},children:[s.jsx("span",{style:{fontFamily:"var(--font-heading)",fontSize:22,fontWeight:700,fontStyle:"italic"},children:u.name}),s.jsx("span",{style:{width:5,height:5,borderRadius:"50%",background:"var(--ac)",display:"inline-block"}})]}),s.jsx("div",{style:{padding:"12px 14px"},children:s.jsxs("button",{onClick:()=>{L(!0),J&&_(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",background:"var(--cdBg)",border:"1px solid var(--bd)",borderRadius:2,padding:"8px 12px",cursor:"pointer",color:"var(--txM)",fontSize:12.5,fontFamily:"var(--font-body)"},children:[s.jsx(rm,{}),s.jsx("span",{style:{flex:1,textAlign:ft?"right":"left"},children:"Search..."}),s.jsx("kbd",{style:{fontFamily:"var(--font-code)",fontSize:9,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,padding:"2px 6px"},children:"⌘K"})]})}),s.jsx("nav",{style:{flex:1,overflow:"auto",padding:"4px 10px 20px"},children:h.map(b=>s.jsxs("div",{style:{marginBottom:8},children:[s.jsxs("button",{onClick:()=>Pe(b.section),style:{display:"flex",alignItems:"center",gap:6,width:"100%",background:"none",border:"none",padding:"8px 10px",cursor:"pointer",borderRadius:2,color:"var(--txM)",fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:".1em",fontFamily:"var(--font-code)"},children:[ga.includes(b.section)?s.jsx(Vu,{}):s.jsx(Pd,{}),b.section]}),ga.includes(b.section)&&s.jsx("div",{style:{[ft?"marginRight":"marginLeft"]:8,[ft?"borderRight":"borderLeft"]:"1px solid var(--bd)",[ft?"paddingRight":"paddingLeft"]:0},children:b.pages.map(q=>{const et=d===q.id;return s.jsxs("button",{onClick:()=>{I(q.id),J&&_(!1)},style:{display:"flex",alignItems:"center",gap:10,width:"100%",textAlign:ft?"right":"left",background:"none",border:"none",borderRadius:0,[ft?"borderRight":"borderLeft"]:et?"2px solid var(--ac)":"2px solid transparent",padding:"7px 14px",cursor:"pointer",color:et?"var(--ac)":"var(--tx2)",fontSize:13,fontWeight:et?500:400,fontFamily:"var(--font-body)",transition:"all .12s"},children:[q.title,q.badge&&(()=>{const dt={default:{bg:"var(--sf)",text:"var(--tx2)"},info:{bg:"rgba(59,130,246,0.15)",text:"rgb(59,130,246)"},success:{bg:"rgba(34,197,94,0.15)",text:"rgb(34,197,94)"},warning:{bg:"rgba(234,179,8,0.15)",text:"rgb(202,138,4)"},danger:{bg:"rgba(239,68,68,0.15)",text:"rgb(239,68,68)"}},St=dt[q.badge.variant||"default"]||dt.default;return s.jsx("span",{style:{fontSize:10,fontWeight:600,padding:"2px 6px",borderRadius:4,marginLeft:6,whiteSpace:"nowrap",background:St.bg,color:St.text},children:q.badge.text})})()]},q.id)})})]},b.section))}),Q&&J&&s.jsx("div",{style:{padding:"8px 16px",borderTop:"1px solid var(--bd)",display:"flex",gap:6},children:Q.versions.map(b=>s.jsxs("button",{onClick:()=>{const q=b===Q.current?"index":`${b}/index`;I(q)},style:{flex:1,padding:"3px 0",textAlign:"center",background:b===(Y||Q.current)?"var(--acD)":"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,cursor:"pointer",color:b===(Y||Q.current)?"var(--ac)":"var(--tx2)",fontSize:11,fontFamily:"var(--font-code)",fontWeight:b===Q.current?600:400},children:[b,b===Q.current?" (latest)":""]},b))}),s.jsxs("div",{style:{padding:"12px 16px",borderTop:"1px solid var(--bd)",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[A==="auto"?s.jsx("button",{"aria-label":B?"Switch to light mode":"Switch to dark mode",onClick:()=>Z(b=>!b),style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex"},children:B?s.jsx(em,{}):s.jsx(tm,{})}):s.jsx("div",{}),s.jsxs("span",{style:{fontSize:11,color:"var(--txM)",letterSpacing:.2},children:["Built with ","♡"," by Tome"]}),s.jsx("span",{style:{fontFamily:"var(--font-code)",fontSize:10,color:"var(--txM)"},children:"v0.5.0"})]})]}),s.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[tt!=null&&tt.Header?s.jsx(tt.Header,{config:u,navigation:h,currentPageId:d,onNavigate:I,mobile:J,sbOpen:m,setSbOpen:_,isDark:B,setDark:Z,versioning:Q,currentVersion:Y,i18n:H,currentLocale:U,onSearchOpen:()=>L(!0),basePath:lt}):s.jsxs("header",{style:{display:"flex",alignItems:"center",gap:J?8:12,padding:J?"8px 12px":"10px 24px",borderBottom:"1px solid var(--bd)",background:"var(--hdBg)",backdropFilter:"blur(12px)",maxWidth:"100vw",overflow:"visible",position:"relative",zIndex:200},children:[s.jsx("button",{"aria-label":m?"Close sidebar":"Open sidebar",onClick:()=>_(!m),style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex"},children:m?s.jsx(Jh,{}):s.jsx(Zh,{})}),J?s.jsx("span",{style:{fontSize:13,color:"var(--ac)",fontFamily:"var(--font-code)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:((mi=h.flatMap(b=>b.pages).find(b=>b.id===d))==null?void 0:mi.title)||""}):s.jsx("div",{style:{display:"flex",alignItems:"center",gap:8,fontFamily:"var(--font-code)",fontSize:11,color:"var(--txM)",letterSpacing:".03em",flex:1},children:h.map(b=>{const q=b.pages.find(et=>et.id===d);return q?s.jsxs("span",{style:{display:"flex",alignItems:"center",gap:8},children:[s.jsx("span",{children:b.section}),s.jsx(Pd,{}),s.jsx("span",{style:{color:"var(--ac)"},children:q.title})]},b.section):null})}),u.topNav&&u.topNav.length>0&&!J&&s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[u.topNav.map(b=>{const q=b.href.startsWith("#")||lt&&b.href.startsWith(lt+"/"),et=!q;return s.jsxs("a",{href:q&&b.href.startsWith("#")?lt+"/"+b.href.slice(1):b.href,...et?{target:"_blank",rel:"noopener noreferrer"}:{},onClick:q?dt=>{dt.preventDefault();const St=b.href.startsWith("#")?b.href.slice(1):b.href.replace(new RegExp("^"+lt.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"/?"),"");I(St)}:void 0,style:{display:"flex",alignItems:"center",gap:4,color:"var(--txM)",textDecoration:"none",fontSize:12,fontFamily:"var(--font-body)",fontWeight:500,transition:"color .15s"},onMouseOver:dt=>dt.currentTarget.style.color="var(--ac)",onMouseOut:dt=>dt.currentTarget.style.color="var(--txM)",children:[b.label,et&&s.jsx(a0,{})]},b.label)}),s.jsx("span",{style:{width:1,height:16,background:"var(--bd)"}})]}),u.socialLinks&&u.socialLinks.length>0&&!J&&s.jsx("div",{style:{display:"flex",alignItems:"center",gap:8},children:u.socialLinks.map(b=>s.jsx("a",{href:b.url,target:"_blank",rel:"noopener noreferrer","aria-label":b.label||b.platform,"data-testid":`social-link-${b.platform}`,style:{display:"flex",alignItems:"center",justifyContent:"center",color:"var(--tx2)",cursor:"pointer",transition:"color .15s"},onMouseOver:q=>q.currentTarget.style.color="var(--tx)",onMouseOut:q=>q.currentTarget.style.color="var(--tx2)",children:s.jsx(i0,{platform:b.platform,customIcon:b.icon})},b.url))}),J&&A==="auto"&&s.jsx("button",{"aria-label":B?"Switch to light mode":"Switch to dark mode",onClick:()=>Z(b=>!b),style:{background:"none",border:"none",color:"var(--txM)",cursor:"pointer",display:"flex",flexShrink:0},children:B?s.jsx(em,{}):s.jsx(tm,{})}),Q&&!J&&s.jsxs("div",{style:{position:"relative"},children:[s.jsxs("button",{"data-testid":"version-switcher",onClick:()=>rt(b=>!b),style:{display:"flex",alignItems:"center",gap:6,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,padding:"5px 10px",cursor:"pointer",color:"var(--tx2)",fontSize:12,fontFamily:"var(--font-code)"},children:[s.jsx(e0,{}),Y||Q.current,s.jsx(Vu,{})]}),it&&s.jsx("div",{"data-testid":"version-dropdown",style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,boxShadow:"0 8px 32px rgba(0,0,0,0.2)",overflow:"hidden",zIndex:100,minWidth:120},children:Q.versions.map(b=>s.jsxs("button",{onClick:()=>{rt(!1);const q=b===Q.current?"index":`${b}/index`;I(q)},style:{display:"block",width:"100%",textAlign:"left",background:b===(Y||Q.current)?"var(--acD)":"none",border:"none",padding:"8px 14px",cursor:"pointer",color:b===(Y||Q.current)?"var(--ac)":"var(--tx2)",fontSize:12,fontFamily:"var(--font-code)",fontWeight:b===Q.current?600:400},children:[b,b===Q.current?" (latest)":""]},b))})]}),H&&H.locales.length>1&&!J&&s.jsxs("div",{style:{position:"relative"},children:[s.jsxs("button",{"data-testid":"language-switcher",onClick:()=>It(b=>!b),style:{display:"flex",alignItems:"center",gap:6,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,padding:"5px 10px",cursor:"pointer",color:"var(--tx2)",fontSize:12,fontFamily:"var(--font-body)"},children:[s.jsx(n0,{}),((vl=H.localeNames)==null?void 0:vl[U||H.defaultLocale])||U||H.defaultLocale,s.jsx(Vu,{})]}),Et&&s.jsx("div",{"data-testid":"language-dropdown",style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--sf)",border:"1px solid var(--bd)",borderRadius:2,boxShadow:"0 8px 32px rgba(0,0,0,0.2)",overflow:"hidden",zIndex:100,minWidth:120},children:H.locales.map(b=>{var ce;const q=b===(U||H.defaultLocale),et=((ce=H.localeNames)==null?void 0:ce[b])||b,dt=U||H.defaultLocale;let St=d;dt!==H.defaultLocale&&d.startsWith(`${dt}/`)&&(St=d.slice(dt.length+1));const yt=b===H.defaultLocale?St:`${b}/${St}`;return s.jsx("button",{onClick:()=>{It(!1),I(yt)},style:{display:"block",width:"100%",textAlign:"left",background:q?"var(--acD)":"none",border:"none",padding:"8px 14px",cursor:"pointer",color:q?"var(--ac)":"var(--tx2)",fontSize:12,fontFamily:"var(--font-body)",fontWeight:q?600:400},children:et},b)})})]})]}),cl&&s.jsxs("div",{"data-testid":"old-version-banner",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:"var(--acD)",borderBottom:"1px solid var(--bd)",padding:"8px 24px",fontSize:13,color:"var(--tx2)"},children:[s.jsxs("span",{children:["You're viewing docs for ",Y,"."]}),s.jsx("button",{onClick:()=>{I("index")},style:{background:"none",border:"none",color:"var(--ac)",cursor:"pointer",fontWeight:600,fontSize:13,fontFamily:"var(--font-body)",textDecoration:"underline"},children:"Switch to latest."})]}),s.jsxs("div",{ref:We,style:{flex:1,overflow:"auto",display:"flex"},children:[s.jsxs("main",{style:{flex:1,maxWidth:J?"100%":nt?1100:760,padding:J?"24px 16px 60px":"40px 48px 80px",margin:"0 auto",minWidth:0},children:[Ie.length>0&&s.jsx("nav",{"aria-label":"Breadcrumbs","data-testid":"breadcrumbs",style:{display:"flex",alignItems:"center",gap:6,fontSize:13,color:"var(--tx2)",marginBottom:8},children:Ie.map((b,q)=>s.jsxs(sm.Fragment,{children:[q>0&&s.jsx("span",{style:{color:"var(--tx2)",opacity:.5},children:"›"}),q{et.preventDefault();const dt=h.flatMap(St=>St.pages).find(St=>St.urlPath===b.href);dt&&I(dt.id)},style:{color:"var(--tx2)",textDecoration:"none",cursor:"pointer"},children:b.label}):s.jsx("span",{style:q===Ie.length-1?{color:"var(--tx)"}:void 0,children:b.label})]},q))}),s.jsx("h1",{style:{fontFamily:"var(--font-heading)",fontSize:J?26:38,fontWeight:400,fontStyle:"italic",lineHeight:1.15,marginBottom:8},children:M}),P&&s.jsx("div",{"data-testid":"draft-banner",style:{background:"#fef3c7",color:"#92400e",padding:"8px 16px",borderRadius:6,fontSize:13,marginBottom:16},children:"Draft — This page is only visible in development"}),O&&s.jsx("p",{style:{fontSize:16,color:"var(--tx2)",lineHeight:1.6,marginBottom:32},children:O}),s.jsx("div",{style:{borderTop:"1px solid var(--bd)",paddingTop:28},children:nt&&W?s.jsx(W,{manifest:nt,baseUrl:xt,showPlayground:Dt,playgroundAuth:jt}):K&&K.length>0?s.jsx(s0,{entries:K}):Tn?s.jsx("div",{className:"tome-content",children:s.jsx(Tn,{components:E||{}})}):s.jsx("div",{className:"tome-content",ref:Fn},d)}),tt!=null&&tt.PageFooter?s.jsx(tt.PageFooter,{editUrl:G,lastUpdated:R,currentPageId:d,prev:Fe,next:$e,onNavigate:I,mobile:J}):s.jsxs(s.Fragment,{children:[(G||R)&&s.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:J?"column":"row",alignItems:J?"flex-start":"center",justifyContent:"space-between",gap:J?8:16},children:[G&&s.jsx("div",{"data-testid":"edit-page-link",children:s.jsxs("a",{href:G,target:"_blank",rel:"noopener noreferrer",style:{display:"inline-flex",alignItems:"center",gap:6,color:"var(--txM)",textDecoration:"none",fontSize:13,fontFamily:"var(--font-body)",transition:"color .15s"},onMouseOver:b=>b.currentTarget.style.color="var(--ac)",onMouseOut:b=>b.currentTarget.style.color="var(--txM)",children:[s.jsx(Wh,{})," Edit this page on GitHub"]})}),R&&s.jsxs("div",{"data-testid":"last-updated",style:{fontSize:12,color:"var(--txM)",fontFamily:"var(--font-body)"},children:["Last updated ",Fh(R)]})]}),s.jsx("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:24,padding:"12px 0"},children:pa[d]?s.jsx("span",{style:{fontSize:13,color:"var(--txM)",fontFamily:"var(--font-body)"},children:"Thanks for your feedback!"}):s.jsxs(s.Fragment,{children:[s.jsx("span",{style:{fontSize:13,color:"var(--txM)",fontFamily:"var(--font-body)"},children:"Was this helpful?"}),s.jsx("button",{onClick:()=>{ha(b=>({...b,[d]:!0}));try{localStorage.setItem(`tome-feedback-${d}`,"up")}catch{}},style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"4px 10px",cursor:"pointer",fontSize:13,color:"var(--txM)",transition:"border-color .15s"},children:"👍"}),s.jsx("button",{onClick:()=>{ha(b=>({...b,[d]:!0}));try{localStorage.setItem(`tome-feedback-${d}`,"down")}catch{}},style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"4px 10px",cursor:"pointer",fontSize:13,color:"var(--txM)",transition:"border-color .15s"},children:"👎"})]})}),s.jsxs("div",{style:{display:"flex",flexDirection:J?"column":"row",justifyContent:"space-between",marginTop:16,paddingTop:24,borderTop:"1px solid var(--bd)",gap:J?12:16},children:[Fe?s.jsxs("button",{onClick:()=>I(Fe.id),style:{display:"flex",alignItems:"center",gap:8,background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"10px 16px",cursor:"pointer",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body)",transition:"border-color .15s, color .15s"},children:[ft?s.jsx(am,{}):s.jsx(nm,{})," ",Fe.title]}):s.jsx("div",{}),$e?s.jsxs("button",{onClick:()=>I($e.id),style:{display:"flex",alignItems:"center",gap:8,background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"10px 16px",cursor:"pointer",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body)",transition:"border-color .15s, color .15s"},children:[$e.title," ",ft?s.jsx(nm,{}):s.jsx(am,{})]}):s.jsx("div",{})]})]})]}),tt!=null&&tt.Toc?ba&&ye.length>=2&&va&&s.jsx(tt.Toc,{headings:ye,activeHeadingId:ue,onScrollToHeading:ci}):ba&&ye.length>=2&&va&&s.jsxs("aside",{"data-testid":"toc-sidebar",style:{width:200,padding:ft?"40px 0 40px 16px":"40px 16px 40px 0",position:"sticky",top:0,alignSelf:"flex-start",flexShrink:0},children:[s.jsx("div",{style:{fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:".1em",color:"var(--txM)",marginBottom:12,fontFamily:"var(--font-code)"},children:"On this page"}),s.jsx("nav",{"aria-label":"Table of contents",style:{[ft?"borderRight":"borderLeft"]:"1px solid var(--bd)",[ft?"paddingRight":"paddingLeft"]:0},children:ye.map((b,q)=>{const et=ue===b.id;return s.jsx("a",{href:`#${b.id}`,onClick:dt=>ci(dt,b.id),"data-testid":`toc-link-${b.id}`,style:{display:"block",fontSize:12,color:et?"var(--ac)":"var(--txM)",fontWeight:et?500:400,textDecoration:"none",padding:"4px 12px",[ft?"paddingRight":"paddingLeft"]:12+(b.depth-2)*12,lineHeight:1.4,transition:"color .15s, font-weight .15s",[ft?"borderRight":"borderLeft"]:et?"2px solid var(--ac)":"2px solid transparent",[ft?"marginRight":"marginLeft"]:-1},children:b.text},q)})})]})]})]})]}),(tt==null?void 0:tt.Footer)&&s.jsx(tt.Footer,{config:u,navigation:h,currentPageId:d,onNavigate:I}),((zn=u.ai)==null?void 0:zn.enabled)&&s.jsx(Xh,{provider:u.ai.provider||"anthropic",model:u.ai.model,apiKey:typeof __TOME_AI_API_KEY__<"u"&&__TOME_AI_API_KEY__?__TOME_AI_API_KEY__:void 0,context:(at==null?void 0:at.map(b=>`## ${b.title} ${b.content}`).join(` `))??ct.map(b=>`- ${b.title}${b.description?": "+b.description:""}`).join(` -`)}),Ut&&s.jsx("div",{onClick:()=>Ze(null),style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.7)",backdropFilter:"blur(8px)",cursor:"zoom-out"},children:s.jsx("img",{src:Ut,alt:"",style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",borderRadius:4,boxShadow:"0 16px 64px rgba(0,0,0,0.4)"}})})]})}function c0({allPages:u,onNavigate:h,onClose:d,mobile:c}){const[v,E]=w.useState(""),[A,O]=w.useState([]),[C,y]=w.useState(0),[G,R]=w.useState(null),K=w.useRef(null),nt=w.useRef(void 0);w.useEffect(()=>{Ih().then(W=>R(!!W)),setTimeout(()=>{var W;return(W=K.current)==null?void 0:W.focus()},50)},[]);const xt=w.useCallback(W=>{if(!W.trim())return[];const I=W.toLowerCase();return u.filter(ct=>ct.title.toLowerCase().includes(I)||(ct.description||"").toLowerCase().includes(I)).slice(0,8).map(ct=>({id:ct.id,title:ct.title,excerpt:ct.description}))},[u]),Dt=w.useCallback(async W=>{var ct;if(!W.trim()){O([]),y(0);return}const I=ul;if(I)try{const Q=await I.search(W),Y=[];for(const H of Q.results.slice(0,8)){const U=await H.data(),lt=(U.url||"").replace(/^\//,"").replace(/\/index\.html$/,"").replace(/\.html$/,"")||"index";Y.push({id:lt,title:((ct=U.meta)==null?void 0:ct.title)||lt,excerpt:U.excerpt||void 0})}O(Y),y(0);return}catch{}O(xt(W)),y(0)},[xt]);w.useEffect(()=>(nt.current&&clearTimeout(nt.current),nt.current=setTimeout(()=>Dt(v),120),()=>{nt.current&&clearTimeout(nt.current)}),[v,Dt]);const Mt=w.useCallback(W=>{W.key==="ArrowDown"?(W.preventDefault(),y(I=>Math.min(I+1,A.length-1))):W.key==="ArrowUp"?(W.preventDefault(),y(I=>Math.max(I-1,0))):W.key==="Enter"&&A.length>0&&(W.preventDefault(),h(A[C].id))},[A,C,h]);return s.jsx("div",{onClick:d,style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(6px)",display:"flex",alignItems:c?"stretch":"flex-start",justifyContent:"center",paddingTop:c?0:"12vh"},children:s.jsxs("div",{onClick:W=>W.stopPropagation(),style:{background:"var(--sf)",border:c?"none":"1px solid var(--bd)",borderRadius:c?0:2,width:"100%",maxWidth:c?"100%":520,boxShadow:c?"none":"0 24px 80px rgba(0,0,0,0.4)",overflow:"hidden",display:"flex",flexDirection:"column",...c?{height:"100%"}:{}},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--bd)"},children:[s.jsx(rm,{}),s.jsx("input",{ref:K,value:v,onChange:W=>E(W.target.value),onKeyDown:Mt,placeholder:"Search documentation...",style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--tx)",fontSize:15,fontFamily:"var(--font-body)"}}),s.jsx("kbd",{style:{fontFamily:"var(--font-code)",fontSize:10,color:"var(--txM)",background:"var(--cdBg)",padding:"2px 6px",borderRadius:2,border:"1px solid var(--bd)"},children:"ESC"})]}),A.length>0&&s.jsx("div",{style:{padding:6,maxHeight:c?"none":360,overflow:"auto",flex:c?1:void 0},children:A.map((W,I)=>s.jsxs("button",{onClick:()=>h(W.id),style:{display:"block",width:"100%",textAlign:"left",background:I===C?"var(--acD)":"none",border:"none",borderRadius:2,padding:"10px 14px",cursor:"pointer",color:"var(--tx)",fontFamily:"var(--font-body)"},onMouseEnter:()=>y(I),children:[s.jsx("div",{style:{fontWeight:500,fontSize:14,marginBottom:2},children:W.title}),W.excerpt&&s.jsx("div",{style:{fontSize:12,color:"var(--txM)",lineHeight:1.3},dangerouslySetInnerHTML:{__html:W.excerpt}})]},W.id+I))}),v&&!A.length&&s.jsx("div",{style:{padding:"32px 18px",textAlign:"center",color:"var(--txM)",fontSize:14},children:"No results found"}),G===!1&&v&&A.length>0&&s.jsx("div",{style:{padding:"6px 18px 10px",fontSize:11,color:"var(--txM)",textAlign:"center"},children:"Showing title matches. Build your site for full-text search."})]})})}function cm(u,h,d){let c=u;h&&c.startsWith(h)&&(c=c.slice(h.length));const v=c.replace(/^\//,"").replace(/\/index\.html$/,"").replace(/\.html$/,"").replace(/\/$/,"")||"index";return d.find(A=>A.id===v)?v:null}function f0(u,h,d){const c=d.find(v=>v.id===u);return c?h+c.urlPath:h+"/"+u}class d0 extends Error{constructor(h){super(`Page not found: ${h}`),this.code="PAGE_NOT_FOUND",this.name="PageNotFoundError"}}class m0 extends Error{constructor(h,d){super(`Failed to load page: ${h}`),this.code="PAGE_LOAD_ERROR",this.name="PageLoadError",d&&(this.cause=d)}}function p0(u,h){if(!u||!h)return;const{repo:d,branch:c="main",dir:v=""}=u,E=v?`${v.replace(/\/$/,"")}/`:"";return`https://github.com/${d}/edit/${c}/${E}${h}`}function h0(u,h,d,c,v){var O;const E=v(u,c,d);if(E)return E;const A=h.startsWith("#")?h.slice(1):h;return A&&d.some(C=>C.id===A)?A:((O=d[0])==null?void 0:O.id)||"index"}async function fm(u,h,d){const c=h.find(E=>E.id===u);let v;try{v=await d(u)}catch(E){throw new m0(u,E)}if(c!=null&&c.isMdx&&v.meta)return{isMdx:!0,component:v.default,frontmatter:v.meta.frontmatter,headings:v.meta.headings};if(!v.default)throw new d0(u);return v.isApiReference&&v.apiManifest?{isMdx:!1,isApiReference:!0,...v.default,apiManifest:v.apiManifest}:v.isChangelog&&v.changelogEntries?{isMdx:!1,...v.default,changelogEntries:v.changelogEntries}:{isMdx:!1,...v.default}}function g0(u,h){return(u==null?void 0:u.version)||void 0}const Jn={name:"Kit",logo:"/logo.jpg",favicon:"/logo.jpg",baseUrl:"https://go-kit.dev",theme:{preset:"cipher",accent:"#e03030",mode:"dark",fonts:{heading:"Space Grotesk",body:"Space Grotesk",code:"Source Code Pro"}},navigation:[{group:"Getting Started",pages:["index","installation","quick-start"]},{group:"Configuration",pages:["configuration","providers","themes"]},{group:"CLI Reference",pages:["cli/flags","cli/commands"]},{group:"Extensions",pages:["extensions/overview","extensions/capabilities","extensions/examples","extensions/loading","extensions/testing"]},{group:"Sessions",pages:["sessions"]},{group:"Go SDK",pages:["sdk/overview","sdk/options","sdk/callbacks","sdk/sessions"]},{group:"Advanced",pages:["advanced/subagents","advanced/json-output","advanced/testing"]},{group:"Development",pages:["development"]}],search:{provider:"local"},toc:{enabled:!0,depth:3},math:!1,strictLinks:!1,lastUpdated:!0,redirects:[],socialLinks:[{platform:"github",url:"https://github.com/mark3labs/kit"},{platform:"discord",url:"https://discord.gg/RqSS2NQVsY"}]},Wn=[{id:"advanced/json-output",filePath:"advanced/json-output.md",urlPath:"/advanced/json-output",frontmatter:{title:"JSON Output",description:"Machine-readable JSON output for scripting and automation.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"advanced/subagents",filePath:"advanced/subagents.md",urlPath:"/advanced/subagents",frontmatter:{title:"Subagents",description:"Multi-agent orchestration with Kit subagents.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"advanced/testing",filePath:"advanced/testing.md",urlPath:"/advanced/testing",frontmatter:{title:"Testing with tmux",description:"Test Kit's TUI non-interactively using tmux.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"cli/commands",filePath:"cli/commands.md",urlPath:"/cli/commands",frontmatter:{title:"Commands",description:"Complete reference for all Kit CLI subcommands.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"cli/flags",filePath:"cli/flags.md",urlPath:"/cli/flags",frontmatter:{title:"Global Flags",description:"Complete reference for all Kit CLI flags.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"configuration",filePath:"configuration.md",urlPath:"/configuration",frontmatter:{title:"Configuration",description:"Configure Kit using config files, environment variables, and CLI flags.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"development",filePath:"development.md",urlPath:"/development",frontmatter:{title:"Development",description:"Build, test, and contribute to Kit.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"extensions/capabilities",filePath:"extensions/capabilities.md",urlPath:"/extensions/capabilities",frontmatter:{title:"Capabilities",description:"All extension capabilities — lifecycle events, tools, commands, widgets, and more.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"extensions/examples",filePath:"extensions/examples.md",urlPath:"/extensions/examples",frontmatter:{title:"Examples",description:"Catalog of example extensions included with Kit.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"extensions/loading",filePath:"extensions/loading.md",urlPath:"/extensions/loading",frontmatter:{title:"Loading Extensions",description:"How Kit discovers and loads extensions.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"extensions/overview",filePath:"extensions/overview.md",urlPath:"/extensions/overview",frontmatter:{title:"Extension System",description:"Overview of Kit's Go-based extension system.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"extensions/testing",filePath:"extensions/testing.md",urlPath:"/extensions/testing",frontmatter:{title:"Testing Extensions",description:"Write unit tests for your Kit extensions using the test package.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"index",filePath:"index.md",urlPath:"/",frontmatter:{title:"Kit",description:"Kit is a powerful, extensible AI coding agent CLI with multi-provider support, built-in tools, and a rich extension system.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"installation",filePath:"installation.md",urlPath:"/installation",frontmatter:{title:"Installation",description:"Install Kit using npm, bun, pnpm, Go, or build from source.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"providers",filePath:"providers.md",urlPath:"/providers",frontmatter:{title:"Providers",description:"Supported LLM providers and model configuration.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"quick-start",filePath:"quick-start.md",urlPath:"/quick-start",frontmatter:{title:"Quick Start",description:"Get up and running with Kit in minutes.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"sdk/callbacks",filePath:"sdk/callbacks.md",urlPath:"/sdk/callbacks",frontmatter:{title:"Callbacks",description:"Monitor tool calls and streaming output with the Kit Go SDK.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"sdk/options",filePath:"sdk/options.md",urlPath:"/sdk/options",frontmatter:{title:"SDK Options",description:"Configuration options for the Kit Go SDK.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"sdk/overview",filePath:"sdk/overview.md",urlPath:"/sdk/overview",frontmatter:{title:"Go SDK",description:"Embed Kit in your Go applications.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"sdk/sessions",filePath:"sdk/sessions.md",urlPath:"/sdk/sessions",frontmatter:{title:"SDK Sessions",description:"Session management in the Kit Go SDK.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"sessions",filePath:"sessions.md",urlPath:"/sessions",frontmatter:{title:"Session Management",description:"How Kit persists and manages conversation sessions.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"},{id:"themes",filePath:"themes.md",urlPath:"/themes",frontmatter:{title:"Themes",description:"Customize Kit's appearance with built-in themes, custom theme files, and the extension theme API.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-05-29T20:33:05+03:00"}],v0=[{section:"Getting Started",pages:[{title:"Kit",id:"index",urlPath:"/"},{title:"Installation",id:"installation",urlPath:"/installation"},{title:"Quick Start",id:"quick-start",urlPath:"/quick-start"}]},{section:"Configuration",pages:[{title:"Configuration",id:"configuration",urlPath:"/configuration"},{title:"Providers",id:"providers",urlPath:"/providers"},{title:"Themes",id:"themes",urlPath:"/themes"}]},{section:"CLI Reference",pages:[{title:"Global Flags",id:"cli/flags",urlPath:"/cli/flags"},{title:"Commands",id:"cli/commands",urlPath:"/cli/commands"}]},{section:"Extensions",pages:[{title:"Extension System",id:"extensions/overview",urlPath:"/extensions/overview"},{title:"Capabilities",id:"extensions/capabilities",urlPath:"/extensions/capabilities"},{title:"Examples",id:"extensions/examples",urlPath:"/extensions/examples"},{title:"Loading Extensions",id:"extensions/loading",urlPath:"/extensions/loading"},{title:"Testing Extensions",id:"extensions/testing",urlPath:"/extensions/testing"}]},{section:"Sessions",pages:[{title:"Session Management",id:"sessions",urlPath:"/sessions"}]},{section:"Go SDK",pages:[{title:"Go SDK",id:"sdk/overview",urlPath:"/sdk/overview"},{title:"SDK Options",id:"sdk/options",urlPath:"/sdk/options"},{title:"Callbacks",id:"sdk/callbacks",urlPath:"/sdk/callbacks"},{title:"SDK Sessions",id:"sdk/sessions",urlPath:"/sdk/sessions"}]},{section:"Advanced",pages:[{title:"Subagents",id:"advanced/subagents",urlPath:"/advanced/subagents"},{title:"JSON Output",id:"advanced/json-output",urlPath:"/advanced/json-output"},{title:"Testing with tmux",id:"advanced/testing",urlPath:"/advanced/testing"}]},{section:"Development",pages:[{title:"Development",id:"development",urlPath:"/development"}]}],Zu=null,y0={"advanced/json-output":()=>Lt(()=>import("./json-output-BiSiIPM0.js"),[]),"advanced/subagents":()=>Lt(()=>import("./subagents-lghAXYlk.js"),[]),"advanced/testing":()=>Lt(()=>import("./testing-COLNxuKj.js"),[]),"cli/commands":()=>Lt(()=>import("./commands-CjvM1xle.js"),[]),"cli/flags":()=>Lt(()=>import("./flags-DBc7n5J6.js"),[]),configuration:()=>Lt(()=>import("./configuration-BBLRnNLZ.js"),[]),development:()=>Lt(()=>import("./development-E-EC7CAm.js"),[]),"extensions/capabilities":()=>Lt(()=>import("./capabilities-VpEmfPck.js"),[]),"extensions/examples":()=>Lt(()=>import("./examples-Dd5WMq-L.js"),[]),"extensions/loading":()=>Lt(()=>import("./loading-CfdMbwrl.js"),[]),"extensions/overview":()=>Lt(()=>import("./overview-BRtZenVZ.js"),[]),"extensions/testing":()=>Lt(()=>import("./testing-BjX63Hnw.js"),[]),index:()=>Lt(()=>import("./index-DjkHYQxg.js"),[]),installation:()=>Lt(()=>import("./installation-CkjlJXwY.js"),[]),providers:()=>Lt(()=>import("./providers-C6IbA7eV.js"),[]),"quick-start":()=>Lt(()=>import("./quick-start-YzNijQyU.js"),[]),"sdk/callbacks":()=>Lt(()=>import("./callbacks-DurHXbkP.js"),[]),"sdk/options":()=>Lt(()=>import("./options-D1booayb.js"),[]),"sdk/overview":()=>Lt(()=>import("./overview-B-JhSS-C.js"),[]),"sdk/sessions":()=>Lt(()=>import("./sessions-CeADaXnR.js"),[]),sessions:()=>Lt(()=>import("./sessions-BR7Y7dXm.js"),[]),themes:()=>Lt(()=>import("./themes-Chyvu6J4.js"),[])};function dm(u){const h=y0[u];if(!h)throw new Error("Unknown page: "+u);return h()}const b0=[{id:"advanced/json-output",title:"JSON Output",content:` +`)}),Ut&&s.jsx("div",{onClick:()=>Ze(null),style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.7)",backdropFilter:"blur(8px)",cursor:"zoom-out"},children:s.jsx("img",{src:Ut,alt:"",style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",borderRadius:4,boxShadow:"0 16px 64px rgba(0,0,0,0.4)"}})})]})}function c0({allPages:u,onNavigate:h,onClose:d,mobile:c}){const[v,E]=w.useState(""),[M,O]=w.useState([]),[C,y]=w.useState(0),[G,R]=w.useState(null),K=w.useRef(null),nt=w.useRef(void 0);w.useEffect(()=>{Ih().then(W=>R(!!W)),setTimeout(()=>{var W;return(W=K.current)==null?void 0:W.focus()},50)},[]);const xt=w.useCallback(W=>{if(!W.trim())return[];const I=W.toLowerCase();return u.filter(ct=>ct.title.toLowerCase().includes(I)||(ct.description||"").toLowerCase().includes(I)).slice(0,8).map(ct=>({id:ct.id,title:ct.title,excerpt:ct.description}))},[u]),Dt=w.useCallback(async W=>{var ct;if(!W.trim()){O([]),y(0);return}const I=ul;if(I)try{const Q=await I.search(W),Y=[];for(const H of Q.results.slice(0,8)){const U=await H.data(),lt=(U.url||"").replace(/^\//,"").replace(/\/index\.html$/,"").replace(/\.html$/,"")||"index";Y.push({id:lt,title:((ct=U.meta)==null?void 0:ct.title)||lt,excerpt:U.excerpt||void 0})}O(Y),y(0);return}catch{}O(xt(W)),y(0)},[xt]);w.useEffect(()=>(nt.current&&clearTimeout(nt.current),nt.current=setTimeout(()=>Dt(v),120),()=>{nt.current&&clearTimeout(nt.current)}),[v,Dt]);const jt=w.useCallback(W=>{W.key==="ArrowDown"?(W.preventDefault(),y(I=>Math.min(I+1,M.length-1))):W.key==="ArrowUp"?(W.preventDefault(),y(I=>Math.max(I-1,0))):W.key==="Enter"&&M.length>0&&(W.preventDefault(),h(M[C].id))},[M,C,h]);return s.jsx("div",{onClick:d,style:{position:"fixed",inset:0,zIndex:1e3,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(6px)",display:"flex",alignItems:c?"stretch":"flex-start",justifyContent:"center",paddingTop:c?0:"12vh"},children:s.jsxs("div",{onClick:W=>W.stopPropagation(),style:{background:"var(--sf)",border:c?"none":"1px solid var(--bd)",borderRadius:c?0:2,width:"100%",maxWidth:c?"100%":520,boxShadow:c?"none":"0 24px 80px rgba(0,0,0,0.4)",overflow:"hidden",display:"flex",flexDirection:"column",...c?{height:"100%"}:{}},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--bd)"},children:[s.jsx(rm,{}),s.jsx("input",{ref:K,value:v,onChange:W=>E(W.target.value),onKeyDown:jt,placeholder:"Search documentation...",style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--tx)",fontSize:15,fontFamily:"var(--font-body)"}}),s.jsx("kbd",{style:{fontFamily:"var(--font-code)",fontSize:10,color:"var(--txM)",background:"var(--cdBg)",padding:"2px 6px",borderRadius:2,border:"1px solid var(--bd)"},children:"ESC"})]}),M.length>0&&s.jsx("div",{style:{padding:6,maxHeight:c?"none":360,overflow:"auto",flex:c?1:void 0},children:M.map((W,I)=>s.jsxs("button",{onClick:()=>h(W.id),style:{display:"block",width:"100%",textAlign:"left",background:I===C?"var(--acD)":"none",border:"none",borderRadius:2,padding:"10px 14px",cursor:"pointer",color:"var(--tx)",fontFamily:"var(--font-body)"},onMouseEnter:()=>y(I),children:[s.jsx("div",{style:{fontWeight:500,fontSize:14,marginBottom:2},children:W.title}),W.excerpt&&s.jsx("div",{style:{fontSize:12,color:"var(--txM)",lineHeight:1.3},dangerouslySetInnerHTML:{__html:W.excerpt}})]},W.id+I))}),v&&!M.length&&s.jsx("div",{style:{padding:"32px 18px",textAlign:"center",color:"var(--txM)",fontSize:14},children:"No results found"}),G===!1&&v&&M.length>0&&s.jsx("div",{style:{padding:"6px 18px 10px",fontSize:11,color:"var(--txM)",textAlign:"center"},children:"Showing title matches. Build your site for full-text search."})]})})}function cm(u,h,d){let c=u;h&&c.startsWith(h)&&(c=c.slice(h.length));const v=c.replace(/^\//,"").replace(/\/index\.html$/,"").replace(/\.html$/,"").replace(/\/$/,"")||"index";return d.find(M=>M.id===v)?v:null}function f0(u,h,d){const c=d.find(v=>v.id===u);return c?h+c.urlPath:h+"/"+u}class d0 extends Error{constructor(h){super(`Page not found: ${h}`),this.code="PAGE_NOT_FOUND",this.name="PageNotFoundError"}}class m0 extends Error{constructor(h,d){super(`Failed to load page: ${h}`),this.code="PAGE_LOAD_ERROR",this.name="PageLoadError",d&&(this.cause=d)}}function p0(u,h){if(!u||!h)return;const{repo:d,branch:c="main",dir:v=""}=u,E=v?`${v.replace(/\/$/,"")}/`:"";return`https://github.com/${d}/edit/${c}/${E}${h}`}function h0(u,h,d,c,v){var O;const E=v(u,c,d);if(E)return E;const M=h.startsWith("#")?h.slice(1):h;return M&&d.some(C=>C.id===M)?M:((O=d[0])==null?void 0:O.id)||"index"}async function fm(u,h,d){const c=h.find(E=>E.id===u);let v;try{v=await d(u)}catch(E){throw new m0(u,E)}if(c!=null&&c.isMdx&&v.meta)return{isMdx:!0,component:v.default,frontmatter:v.meta.frontmatter,headings:v.meta.headings};if(!v.default)throw new d0(u);return v.isApiReference&&v.apiManifest?{isMdx:!1,isApiReference:!0,...v.default,apiManifest:v.apiManifest}:v.isChangelog&&v.changelogEntries?{isMdx:!1,...v.default,changelogEntries:v.changelogEntries}:{isMdx:!1,...v.default}}function g0(u,h){return(u==null?void 0:u.version)||void 0}const Jn={name:"Kit",logo:"/logo.jpg",favicon:"/logo.jpg",baseUrl:"https://go-kit.dev",theme:{preset:"cipher",accent:"#e03030",mode:"dark",fonts:{heading:"Space Grotesk",body:"Space Grotesk",code:"Source Code Pro"}},navigation:[{group:"Getting Started",pages:["index","installation","quick-start"]},{group:"Configuration",pages:["configuration","providers","themes"]},{group:"CLI Reference",pages:["cli/flags","cli/commands"]},{group:"Extensions",pages:["extensions/overview","extensions/capabilities","extensions/examples","extensions/loading","extensions/testing"]},{group:"Sessions",pages:["sessions"]},{group:"Go SDK",pages:["sdk/overview","sdk/options","sdk/callbacks","sdk/sessions"]},{group:"Advanced",pages:["advanced/subagents","advanced/json-output","advanced/testing"]},{group:"Development",pages:["development"]}],search:{provider:"local"},toc:{enabled:!0,depth:3},math:!1,strictLinks:!1,lastUpdated:!0,redirects:[],socialLinks:[{platform:"github",url:"https://github.com/mark3labs/kit"},{platform:"discord",url:"https://discord.gg/RqSS2NQVsY"}]},Wn=[{id:"advanced/json-output",filePath:"advanced/json-output.md",urlPath:"/advanced/json-output",frontmatter:{title:"JSON Output",description:"Machine-readable JSON output for scripting and automation.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"advanced/subagents",filePath:"advanced/subagents.md",urlPath:"/advanced/subagents",frontmatter:{title:"Subagents",description:"Multi-agent orchestration with Kit subagents.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"advanced/testing",filePath:"advanced/testing.md",urlPath:"/advanced/testing",frontmatter:{title:"Testing with tmux",description:"Test Kit's TUI non-interactively using tmux.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"cli/commands",filePath:"cli/commands.md",urlPath:"/cli/commands",frontmatter:{title:"Commands",description:"Complete reference for all Kit CLI subcommands.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"cli/flags",filePath:"cli/flags.md",urlPath:"/cli/flags",frontmatter:{title:"Global Flags",description:"Complete reference for all Kit CLI flags.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"configuration",filePath:"configuration.md",urlPath:"/configuration",frontmatter:{title:"Configuration",description:"Configure Kit using config files, environment variables, and CLI flags.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"development",filePath:"development.md",urlPath:"/development",frontmatter:{title:"Development",description:"Build, test, and contribute to Kit.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"extensions/capabilities",filePath:"extensions/capabilities.md",urlPath:"/extensions/capabilities",frontmatter:{title:"Capabilities",description:"All extension capabilities — lifecycle events, tools, commands, widgets, and more.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"extensions/examples",filePath:"extensions/examples.md",urlPath:"/extensions/examples",frontmatter:{title:"Examples",description:"Catalog of example extensions included with Kit.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"extensions/loading",filePath:"extensions/loading.md",urlPath:"/extensions/loading",frontmatter:{title:"Loading Extensions",description:"How Kit discovers and loads extensions.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"extensions/overview",filePath:"extensions/overview.md",urlPath:"/extensions/overview",frontmatter:{title:"Extension System",description:"Overview of Kit's Go-based extension system.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"extensions/testing",filePath:"extensions/testing.md",urlPath:"/extensions/testing",frontmatter:{title:"Testing Extensions",description:"Write unit tests for your Kit extensions using the test package.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"index",filePath:"index.md",urlPath:"/",frontmatter:{title:"Kit",description:"Kit is a powerful, extensible AI coding agent CLI with multi-provider support, built-in tools, and a rich extension system.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"installation",filePath:"installation.md",urlPath:"/installation",frontmatter:{title:"Installation",description:"Install Kit using npm, bun, pnpm, Go, or build from source.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"providers",filePath:"providers.md",urlPath:"/providers",frontmatter:{title:"Providers",description:"Supported LLM providers and model configuration.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"quick-start",filePath:"quick-start.md",urlPath:"/quick-start",frontmatter:{title:"Quick Start",description:"Get up and running with Kit in minutes.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"sdk/callbacks",filePath:"sdk/callbacks.md",urlPath:"/sdk/callbacks",frontmatter:{title:"Callbacks",description:"Monitor tool calls and streaming output with the Kit Go SDK.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"sdk/options",filePath:"sdk/options.md",urlPath:"/sdk/options",frontmatter:{title:"SDK Options",description:"Configuration options for the Kit Go SDK.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"sdk/overview",filePath:"sdk/overview.md",urlPath:"/sdk/overview",frontmatter:{title:"Go SDK",description:"Embed Kit in your Go applications.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"sdk/sessions",filePath:"sdk/sessions.md",urlPath:"/sdk/sessions",frontmatter:{title:"SDK Sessions",description:"Session management in the Kit Go SDK.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"sessions",filePath:"sessions.md",urlPath:"/sessions",frontmatter:{title:"Session Management",description:"How Kit persists and manages conversation sessions.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"},{id:"themes",filePath:"themes.md",urlPath:"/themes",frontmatter:{title:"Themes",description:"Customize Kit's appearance with built-in themes, custom theme files, and the extension theme API.",hidden:!1,draft:!1},isMdx:!1,lastUpdated:"2026-06-02T14:12:01+03:00"}],v0=[{section:"Getting Started",pages:[{title:"Kit",id:"index",urlPath:"/"},{title:"Installation",id:"installation",urlPath:"/installation"},{title:"Quick Start",id:"quick-start",urlPath:"/quick-start"}]},{section:"Configuration",pages:[{title:"Configuration",id:"configuration",urlPath:"/configuration"},{title:"Providers",id:"providers",urlPath:"/providers"},{title:"Themes",id:"themes",urlPath:"/themes"}]},{section:"CLI Reference",pages:[{title:"Global Flags",id:"cli/flags",urlPath:"/cli/flags"},{title:"Commands",id:"cli/commands",urlPath:"/cli/commands"}]},{section:"Extensions",pages:[{title:"Extension System",id:"extensions/overview",urlPath:"/extensions/overview"},{title:"Capabilities",id:"extensions/capabilities",urlPath:"/extensions/capabilities"},{title:"Examples",id:"extensions/examples",urlPath:"/extensions/examples"},{title:"Loading Extensions",id:"extensions/loading",urlPath:"/extensions/loading"},{title:"Testing Extensions",id:"extensions/testing",urlPath:"/extensions/testing"}]},{section:"Sessions",pages:[{title:"Session Management",id:"sessions",urlPath:"/sessions"}]},{section:"Go SDK",pages:[{title:"Go SDK",id:"sdk/overview",urlPath:"/sdk/overview"},{title:"SDK Options",id:"sdk/options",urlPath:"/sdk/options"},{title:"Callbacks",id:"sdk/callbacks",urlPath:"/sdk/callbacks"},{title:"SDK Sessions",id:"sdk/sessions",urlPath:"/sdk/sessions"}]},{section:"Advanced",pages:[{title:"Subagents",id:"advanced/subagents",urlPath:"/advanced/subagents"},{title:"JSON Output",id:"advanced/json-output",urlPath:"/advanced/json-output"},{title:"Testing with tmux",id:"advanced/testing",urlPath:"/advanced/testing"}]},{section:"Development",pages:[{title:"Development",id:"development",urlPath:"/development"}]}],Zu=null,y0={"advanced/json-output":()=>Lt(()=>import("./json-output-BiSiIPM0.js"),[]),"advanced/subagents":()=>Lt(()=>import("./subagents-lghAXYlk.js"),[]),"advanced/testing":()=>Lt(()=>import("./testing-COLNxuKj.js"),[]),"cli/commands":()=>Lt(()=>import("./commands-CjvM1xle.js"),[]),"cli/flags":()=>Lt(()=>import("./flags-DBc7n5J6.js"),[]),configuration:()=>Lt(()=>import("./configuration-BOyO9N_c.js"),[]),development:()=>Lt(()=>import("./development-E-EC7CAm.js"),[]),"extensions/capabilities":()=>Lt(()=>import("./capabilities-VpEmfPck.js"),[]),"extensions/examples":()=>Lt(()=>import("./examples-Dd5WMq-L.js"),[]),"extensions/loading":()=>Lt(()=>import("./loading-CfdMbwrl.js"),[]),"extensions/overview":()=>Lt(()=>import("./overview-BRtZenVZ.js"),[]),"extensions/testing":()=>Lt(()=>import("./testing-BjX63Hnw.js"),[]),index:()=>Lt(()=>import("./index-DjkHYQxg.js"),[]),installation:()=>Lt(()=>import("./installation-CkjlJXwY.js"),[]),providers:()=>Lt(()=>import("./providers-C6IbA7eV.js"),[]),"quick-start":()=>Lt(()=>import("./quick-start-YzNijQyU.js"),[]),"sdk/callbacks":()=>Lt(()=>import("./callbacks-DurHXbkP.js"),[]),"sdk/options":()=>Lt(()=>import("./options-D1booayb.js"),[]),"sdk/overview":()=>Lt(()=>import("./overview-B-JhSS-C.js"),[]),"sdk/sessions":()=>Lt(()=>import("./sessions-CeADaXnR.js"),[]),sessions:()=>Lt(()=>import("./sessions-BR7Y7dXm.js"),[]),themes:()=>Lt(()=>import("./themes-Chyvu6J4.js"),[])};function dm(u){const h=y0[u];if(!h)throw new Error("Unknown page: "+u);return h()}const b0=[{id:"advanced/json-output",title:"JSON Output",content:` # JSON Output Use the \`--json\` flag to get structured output for scripting and automation: @@ -545,7 +545,7 @@ Run Kit as an [ACP (Agent Client Protocol)](https://agentclientprotocol.com) age kit acp # Start as ACP agent kit acp --debug # With debug logging to stderr \`\`\` -`},{id:"cli/flags",title:"Global Flags",content:"\n# Global Flags\n\nAll flags can be passed to the root `kit` command.\n\n## Model and provider\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--model` | `-m` | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `--provider-api-key` | — | — | API key for the provider |\n| `--provider-url` | — | — | Base URL for provider API |\n| `--tls-skip-verify` | — | `false` | Skip TLS certificate verification |\n\n## Session management\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--session` | `-s` | — | Open specific JSONL session file |\n| `--continue` | `-c` | `false` | Resume most recent session for current directory |\n| `--resume` | `-r` | `false` | Interactive session picker |\n| `--no-session` | — | `false` | Ephemeral mode, no persistence |\n\n## Behavior\n\nThese flags control Kit's behavior. When a prompt is passed as a positional argument, Kit runs in non-interactive mode.\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--quiet` | — | `false` | Suppress all output (non-interactive only) |\n| `--json` | — | `false` | Output response as JSON (non-interactive only) |\n| `--no-exit` | — | `false` | Enter interactive mode after prompt completes |\n| `--max-steps` | — | `0` | Maximum agent steps (0 for unlimited) |\n| `--stream` | — | `true` | Enable streaming output |\n| `--compact` | — | `false` | Enable compact output mode |\n| `--auto-compact` | — | `false` | Auto-compact conversation near context limit |\n\n## Extensions\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--extension` | `-e` | — | Load additional extension file(s) (repeatable) |\n| `--no-extensions` | — | `false` | Disable all extensions |\n| `--prompt-template` | — | — | Load a specific prompt template by name |\n| `--no-prompt-templates` | — | `false` | Disable prompt template loading |\n\n## Generation parameters\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--max-tokens` | — | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model's catalog ceiling is higher and no explicit value is set. |\n| `--temperature` | — | `0.7` | Randomness 0.0–1.0 |\n| `--top-p` | — | `0.95` | Nucleus sampling 0.0–1.0 |\n| `--top-k` | — | `40` | Limit top K tokens |\n| `--stop-sequences` | — | — | Custom stop sequences (comma-separated) |\n| `--frequency-penalty` | — | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `--presence-penalty` | — | `0.0` | Penalize present tokens (0.0–2.0) |\n| `--thinking-level` | — | `off` | Extended thinking level: off, none, minimal, low, medium, high |\n\n## System\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--config` | — | `~/.kit.yml` | Config file path |\n| `--system-prompt` | — | — | System prompt text or file path |\n| `--debug` | — | `false` | Enable debug logging |\n"},{id:"configuration",title:"Configuration",content:'\n# Configuration\n\nKit looks for configuration in the following locations, in order of priority:\n\n1. CLI flags\n2. Environment variables (with `KIT_` prefix)\n3. `./.kit.yml` / `./.kit.yaml` / `./.kit.json` (project-local)\n4. `~/.kit.yml` / `~/.kit.yaml` / `~/.kit.json` (global)\n\n## Basic configuration\n\nCreate `~/.kit.yml`:\n\n```yaml\nmodel: anthropic/claude-sonnet-latest\nmax-tokens: 8192\ntemperature: 0.7\nstream: true\n```\n\n## All configuration keys\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `model` | string | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `max-tokens` | int | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher and no explicit value is set. Use [`modelSettings[provider/model].maxTokens`](#per-model-settings) to override per-model. |\n| `temperature` | float | `0.7` | Randomness 0.0–1.0 |\n| `top-p` | float | `0.95` | Nucleus sampling 0.0–1.0 |\n| `top-k` | int | `40` | Limit top K tokens |\n| `stream` | bool | `true` | Enable streaming output |\n| `debug` | bool | `false` | Enable debug logging |\n| `compact` | bool | `false` | Enable compact output mode |\n| `system-prompt` | string | — | System prompt text or file path |\n| `max-steps` | int | `0` | Maximum agent steps (0 = unlimited) |\n| `thinking-level` | string | `off` | Extended thinking: off, none, minimal, low, medium, high |\n| `provider-api-key` | string | — | API key for the provider |\n| `provider-url` | string | — | Base URL for provider API |\n| `tls-skip-verify` | bool | `false` | Skip TLS certificate verification |\n| `frequency-penalty` | float | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `presence-penalty` | float | `0.0` | Penalize present tokens (0.0–2.0) |\n| `stop-sequences` | list | — | Custom stop sequences |\n| `theme` | object or string | — | UI theme ([inline overrides or file path](/themes)) |\n| `prompt-templates` | bool | `true` | Enable prompt template loading |\n| `prompt-template` | string | — | Specific template to load by name |\n\n## Environment variables\n\nAny configuration key can be set via environment variable with the `KIT_` prefix. Hyphens become underscores:\n\n```bash\nexport KIT_MODEL="openai/gpt-4o"\nexport KIT_MAX_TOKENS="8192"\nexport KIT_TEMPERATURE="0.5"\n```\n\nProvider API keys use their own environment variables:\n\n```bash\nexport ANTHROPIC_API_KEY="sk-..."\nexport OPENAI_API_KEY="sk-..."\nexport GOOGLE_API_KEY="..."\n```\n\n## MCP server configuration\n\nAdd external MCP servers to your `.kit.yml`:\n\n```yaml\nmcpServers:\n filesystem:\n type: local\n command: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed"]\n environment:\n LOG_LEVEL: "info"\n allowedTools: ["read_file", "write_file"]\n excludedTools: ["delete_file"]\n\n search:\n type: remote\n url: "https://mcp.example.com/search"\n\n pubmed:\n type: remote\n url: "https://pubmed.mcp.example.com"\n noOAuth: true # skip OAuth for public servers\n\n builds:\n type: remote\n url: "https://builds.mcp.example.com"\n tasksMode: always # always run tools/call as async tasks (Phase 1 MVP)\n```\n\n### MCP server fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `type` | string | `local` (stdio) or `remote` (streamable HTTP) |\n| `command` | list | Command and args for local servers |\n| `environment` | map | Environment variables for the server process |\n| `url` | string | URL for remote servers |\n| `allowedTools` | list | Whitelist of tool names to expose |\n| `excludedTools` | list | Blacklist of tool names to hide |\n| `noOAuth` | bool | Skip OAuth for this server (for public servers that don\'t require auth) |\n| `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). |\n\nA legacy format with `transport`, `args`, `env`, and `headers` fields is also supported.\n\n### MCP tasks (long-running tools)\n\nKit advertises [MCP task support](https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks)\nduring `initialize` so servers can respond to `tools/call` with a\n`CreateTaskResult` (a task ID + `working` status) instead of blocking until\nthe operation finishes. Kit then polls `tasks/get` / `tasks/result` until the\ntask reaches a terminal state, and best-effort `tasks/cancel`s on context\ncancellation.\n\nThis avoids HTTP/SSE proxy timeouts on long builds, deploys, and batch jobs,\nand lets the user/agent abort cleanly with Ctrl-C.\n\n**Per-server `tasksMode`:**\n\n| Value | Behaviour |\n|-------|-----------|\n| `auto` (default) | Augment `tools/call` with task metadata only when the server advertised `tasks/toolCalls` capability. Servers that don\'t advertise it run synchronously, exactly as before. |\n| `never` | Always issue `tools/call` synchronously, regardless of server capability. |\n| `always` | Always opt into task augmentation, even when the server didn\'t advertise the capability. The server may still respond synchronously — this just expresses client intent unconditionally. |\n\nDefaults are safe: any existing MCP server keeps its previous behaviour\nbit-for-bit. SDK consumers can also override the mode programmatically and\nplug in a progress callback — see [SDK options](/sdk/options#mcp-tasks).\n\n## Custom models\n\nDefine custom models in your `.kit.yml` for use with the `custom` provider. This is useful for self-hosted models or API endpoints not in the built-in database:\n\n```yaml\ncustomModels:\n my-model:\n name: "My Custom Model"\n baseUrl: "http://localhost:8080/v1"\n apiKey: "my-secret-key"\n reasoning: true\n temperature: true\n cost:\n input: 0.002\n output: 0.004\n limit:\n context: 128000\n output: 32000\n```\n\n### Custom model fields\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `name` | string | Yes | Display name for the model |\n| `baseUrl` | string | No | Per-model base URL override; when set, `--provider-url` is not required |\n| `apiKey` | string | No | Per-model API key override |\n| `reasoning` | bool | No | Whether the model supports reasoning/thinking |\n| `temperature` | bool | No | Whether the model supports temperature adjustment |\n| `cost.input` | float | No | Cost per 1K input tokens |\n| `cost.output` | float | No | Cost per 1K output tokens |\n| `limit.context` | int | Yes | Maximum context window in tokens |\n| `limit.output` | int | No | Maximum output tokens |\n\nUse with a per-model `baseUrl` (no `--provider-url` needed):\n\n```bash\nkit --model custom/my-model "Hello"\n```\n\nOr override the base URL at runtime:\n\n```bash\nkit --provider-url "http://localhost:8080/v1" --model custom/my-model "Hello"\n```\n\nWhen `--provider-url` is specified without `--model`, Kit defaults to `custom/custom` which has zero cost tracking and a 262K context window.\n\n## Per-model settings\n\nOverride generation parameters and system prompt on a per-model basis using `modelSettings`:\n\n```yaml\nmodelSettings:\n anthropic/claude-sonnet-4-5-20250929:\n temperature: 0.3\n maxTokens: 8192\n systemPrompt: "You are a concise coding assistant."\n openai/gpt-4o:\n temperature: 0.7\n frequencyPenalty: 0.5\n```\n\n### Per-model fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `temperature` | float | Temperature override for this model |\n| `maxTokens` | int | Max output tokens override |\n| `topP` | float | Top-p override |\n| `topK` | int | Top-k override |\n| `frequencyPenalty` | float | Frequency penalty override |\n| `presencePenalty` | float | Presence penalty override |\n| `stopSequences` | list | Stop sequences override |\n| `thinkingLevel` | string | Thinking level override |\n| `systemPrompt` | string | Per-model system prompt (used when no explicit prompt is set) |\n\nSettings from `modelSettings` and `customModels.params` act as model-level defaults — explicit CLI flags, `KIT_*` environment variables, global config values, and SDK `Options.*` fields all take precedence over them.\n\nWhen switching models via `/model` or `SetModel()`, if the new model has a per-model system prompt and no custom global prompt was set, the per-model prompt automatically replaces the previous one.\n\n### Precedence summary\n\nFor the generation and provider parameters documented above, the resolved value at runtime comes from the first source that sets it:\n\n1. CLI flag (e.g. `--max-tokens`, `--temperature`, `--provider-api-key`)\n2. SDK `Options.X` when embedding Kit as a library (`kit.Options.MaxTokens`, `Temperature`, `ProviderAPIKey`, etc.)\n3. `KIT_*` environment variable (`KIT_MAX_TOKENS`, `KIT_TEMPERATURE`, ...)\n4. `.kit.yml` / `.kit.yaml` / `.kit.json` (project-local, then global)\n5. Per-model defaults (`modelSettings[provider/model]` / `customModels[...].params`)\n6. Provider-level defaults (e.g. Anthropic\'s own temperature default)\n7. SDK last-resort floor — currently an 8192 output-token ceiling matching the CLI `--max-tokens` default, auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher\n\nSee the [SDK options reference](/sdk/options) for the full list of `kit.Options` fields that map to these keys.\n\n## Theme configuration\n\n```yaml\n# Inline partial overrides (unspecified fields inherit from default)\ntheme:\n primary:\n light: "#8839ef"\n dark: "#cba6f7"\n error:\n dark: "#FF0000"\n```\n\n```yaml\n# Reference external theme file\ntheme: "./themes/my-custom-theme.yml"\n```\n\nSee [Themes](/themes) for the full theme file format, built-in themes, and the extension theme API.\n\n## Preferences persistence\n\nKit automatically saves your UI preferences across sessions to `~/.config/kit/preferences.yml`:\n\n- **Theme** — Set via `/theme ` or `ctx.SetTheme()`\n- **Model** — Set via `/model ` or the model selector\n- **Thinking level** — Set via `/thinking ` or Shift+Tab cycling\n\nThese preferences are restored on next launch. Precedence (highest to lowest):\n1. CLI flags (`--model`, `--thinking-level`)\n2. Config file (`model:`, `thinking-level:`)\n3. Saved preferences (`~/.config/kit/preferences.yml`)\n4. Default values\n'},{id:"development",title:"Development",content:` +`},{id:"cli/flags",title:"Global Flags",content:"\n# Global Flags\n\nAll flags can be passed to the root `kit` command.\n\n## Model and provider\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--model` | `-m` | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `--provider-api-key` | — | — | API key for the provider |\n| `--provider-url` | — | — | Base URL for provider API |\n| `--tls-skip-verify` | — | `false` | Skip TLS certificate verification |\n\n## Session management\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--session` | `-s` | — | Open specific JSONL session file |\n| `--continue` | `-c` | `false` | Resume most recent session for current directory |\n| `--resume` | `-r` | `false` | Interactive session picker |\n| `--no-session` | — | `false` | Ephemeral mode, no persistence |\n\n## Behavior\n\nThese flags control Kit's behavior. When a prompt is passed as a positional argument, Kit runs in non-interactive mode.\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--quiet` | — | `false` | Suppress all output (non-interactive only) |\n| `--json` | — | `false` | Output response as JSON (non-interactive only) |\n| `--no-exit` | — | `false` | Enter interactive mode after prompt completes |\n| `--max-steps` | — | `0` | Maximum agent steps (0 for unlimited) |\n| `--stream` | — | `true` | Enable streaming output |\n| `--compact` | — | `false` | Enable compact output mode |\n| `--auto-compact` | — | `false` | Auto-compact conversation near context limit |\n\n## Extensions\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--extension` | `-e` | — | Load additional extension file(s) (repeatable) |\n| `--no-extensions` | — | `false` | Disable all extensions |\n| `--prompt-template` | — | — | Load a specific prompt template by name |\n| `--no-prompt-templates` | — | `false` | Disable prompt template loading |\n\n## Generation parameters\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--max-tokens` | — | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model's catalog ceiling is higher and no explicit value is set. |\n| `--temperature` | — | `0.7` | Randomness 0.0–1.0 |\n| `--top-p` | — | `0.95` | Nucleus sampling 0.0–1.0 |\n| `--top-k` | — | `40` | Limit top K tokens |\n| `--stop-sequences` | — | — | Custom stop sequences (comma-separated) |\n| `--frequency-penalty` | — | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `--presence-penalty` | — | `0.0` | Penalize present tokens (0.0–2.0) |\n| `--thinking-level` | — | `off` | Extended thinking level: off, none, minimal, low, medium, high |\n\n## System\n\n| Flag | Short | Default | Description |\n|------|-------|---------|-------------|\n| `--config` | — | `~/.kit.yml` | Config file path |\n| `--system-prompt` | — | — | System prompt text or file path |\n| `--debug` | — | `false` | Enable debug logging |\n"},{id:"configuration",title:"Configuration",content:'\n# Configuration\n\nKit looks for configuration in the following locations, in order of priority:\n\n1. CLI flags\n2. Environment variables (with `KIT_` prefix)\n3. `./.kit.yml` / `./.kit.yaml` / `./.kit.json` (project-local)\n4. `~/.kit.yml` / `~/.kit.yaml` / `~/.kit.json` (global)\n\n## Basic configuration\n\nCreate `~/.kit.yml`:\n\n```yaml\nmodel: anthropic/claude-sonnet-latest\nmax-tokens: 8192\ntemperature: 0.7\nstream: true\n```\n\n## All configuration keys\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `model` | string | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `max-tokens` | int | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher and no explicit value is set. Use [`modelSettings[provider/model].maxTokens`](#per-model-settings) to override per-model. |\n| `temperature` | float | `0.7` | Randomness 0.0–1.0 |\n| `top-p` | float | `0.95` | Nucleus sampling 0.0–1.0 |\n| `top-k` | int | `40` | Limit top K tokens |\n| `stream` | bool | `true` | Enable streaming output |\n| `debug` | bool | `false` | Enable debug logging |\n| `compact` | bool | `false` | Enable compact output mode |\n| `system-prompt` | string | — | System prompt text or file path |\n| `max-steps` | int | `0` | Maximum agent steps (0 = unlimited) |\n| `thinking-level` | string | `off` | Extended thinking: off, none, minimal, low, medium, high |\n| `provider-api-key` | string | — | API key for the provider |\n| `provider-url` | string | — | Base URL for provider API |\n| `tls-skip-verify` | bool | `false` | Skip TLS certificate verification |\n| `frequency-penalty` | float | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `presence-penalty` | float | `0.0` | Penalize present tokens (0.0–2.0) |\n| `stop-sequences` | list | — | Custom stop sequences |\n| `theme` | object or string | — | UI theme ([inline overrides or file path](/themes)) |\n| `prompt-templates` | bool | `true` | Enable prompt template loading |\n| `prompt-template` | string | — | Specific template to load by name |\n\n## Environment variables\n\nAny configuration key can be set via environment variable with the `KIT_` prefix. Hyphens become underscores:\n\n```bash\nexport KIT_MODEL="openai/gpt-4o"\nexport KIT_MAX_TOKENS="8192"\nexport KIT_TEMPERATURE="0.5"\n```\n\nProvider API keys use their own environment variables:\n\n```bash\nexport ANTHROPIC_API_KEY="sk-..."\nexport OPENAI_API_KEY="sk-..."\nexport GOOGLE_API_KEY="..."\n```\n\n## MCP server configuration\n\nAdd external MCP servers to your `.kit.yml`:\n\n```yaml\nmcpServers:\n filesystem:\n type: local\n command: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed"]\n environment:\n LOG_LEVEL: "info"\n allowedTools: ["read_file", "write_file"]\n excludedTools: ["delete_file"]\n\n search:\n type: remote\n url: "https://mcp.example.com/search"\n\n pubmed:\n type: remote\n url: "https://pubmed.mcp.example.com"\n noOAuth: true # skip OAuth for public servers\n headers:\n - "ApiKey: ${env://API_KEY}" # required env var\n - "X-Tenant: ${env://TENANT_ID:-default}" # with fallback default\n\n builds:\n type: remote\n url: "https://builds.mcp.example.com"\n tasksMode: always # always run tools/call as async tasks (Phase 1 MVP)\n```\n\n### MCP server fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `type` | string | `local` (stdio) or `remote` (streamable HTTP) |\n| `command` | list | Command and args for local servers |\n| `environment` | map | Environment variables for the server process |\n| `url` | string | URL for remote servers |\n| `allowedTools` | list | Whitelist of tool names to expose |\n| `excludedTools` | list | Blacklist of tool names to hide |\n| `noOAuth` | bool | Skip OAuth for this server (for public servers that don\'t require auth) |\n| `headers` | list of strings | HTTP headers to attach to every request, each as a `"Key: Value"` string. Values support env-substitution: `${env://VAR}` or `${env://VAR:-default}`. |\n| `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). |\n\nA legacy format with `transport`, `args`, and `env` fields is also supported; `headers` works in both the current and legacy formats.\n\n### MCP tasks (long-running tools)\n\nKit advertises [MCP task support](https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks)\nduring `initialize` so servers can respond to `tools/call` with a\n`CreateTaskResult` (a task ID + `working` status) instead of blocking until\nthe operation finishes. Kit then polls `tasks/get` / `tasks/result` until the\ntask reaches a terminal state, and best-effort `tasks/cancel`s on context\ncancellation.\n\nThis avoids HTTP/SSE proxy timeouts on long builds, deploys, and batch jobs,\nand lets the user/agent abort cleanly with Ctrl-C.\n\n**Per-server `tasksMode`:**\n\n| Value | Behaviour |\n|-------|-----------|\n| `auto` (default) | Augment `tools/call` with task metadata only when the server advertised `tasks/toolCalls` capability. Servers that don\'t advertise it run synchronously, exactly as before. |\n| `never` | Always issue `tools/call` synchronously, regardless of server capability. |\n| `always` | Always opt into task augmentation, even when the server didn\'t advertise the capability. The server may still respond synchronously — this just expresses client intent unconditionally. |\n\nDefaults are safe: any existing MCP server keeps its previous behaviour\nbit-for-bit. SDK consumers can also override the mode programmatically and\nplug in a progress callback — see [SDK options](/sdk/options#mcp-tasks).\n\n## Custom models\n\nDefine custom models in your `.kit.yml` for use with the `custom` provider. This is useful for self-hosted models or API endpoints not in the built-in database:\n\n```yaml\ncustomModels:\n my-model:\n name: "My Custom Model"\n baseUrl: "http://localhost:8080/v1"\n apiKey: "my-secret-key"\n reasoning: true\n temperature: true\n cost:\n input: 0.002\n output: 0.004\n limit:\n context: 128000\n output: 32000\n```\n\n### Custom model fields\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `name` | string | Yes | Display name for the model |\n| `baseUrl` | string | No | Per-model base URL override; when set, `--provider-url` is not required |\n| `apiKey` | string | No | Per-model API key override |\n| `reasoning` | bool | No | Whether the model supports reasoning/thinking |\n| `temperature` | bool | No | Whether the model supports temperature adjustment |\n| `cost.input` | float | No | Cost per 1K input tokens |\n| `cost.output` | float | No | Cost per 1K output tokens |\n| `limit.context` | int | Yes | Maximum context window in tokens |\n| `limit.output` | int | No | Maximum output tokens |\n\nUse with a per-model `baseUrl` (no `--provider-url` needed):\n\n```bash\nkit --model custom/my-model "Hello"\n```\n\nOr override the base URL at runtime:\n\n```bash\nkit --provider-url "http://localhost:8080/v1" --model custom/my-model "Hello"\n```\n\nWhen `--provider-url` is specified without `--model`, Kit defaults to `custom/custom` which has zero cost tracking and a 262K context window.\n\n## Per-model settings\n\nOverride generation parameters and system prompt on a per-model basis using `modelSettings`:\n\n```yaml\nmodelSettings:\n anthropic/claude-sonnet-4-5-20250929:\n temperature: 0.3\n maxTokens: 8192\n systemPrompt: "You are a concise coding assistant."\n openai/gpt-4o:\n temperature: 0.7\n frequencyPenalty: 0.5\n```\n\n### Per-model fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `temperature` | float | Temperature override for this model |\n| `maxTokens` | int | Max output tokens override |\n| `topP` | float | Top-p override |\n| `topK` | int | Top-k override |\n| `frequencyPenalty` | float | Frequency penalty override |\n| `presencePenalty` | float | Presence penalty override |\n| `stopSequences` | list | Stop sequences override |\n| `thinkingLevel` | string | Thinking level override |\n| `systemPrompt` | string | Per-model system prompt (used when no explicit prompt is set) |\n\nSettings from `modelSettings` and `customModels.params` act as model-level defaults — explicit CLI flags, `KIT_*` environment variables, global config values, and SDK `Options.*` fields all take precedence over them.\n\nWhen switching models via `/model` or `SetModel()`, if the new model has a per-model system prompt and no custom global prompt was set, the per-model prompt automatically replaces the previous one.\n\n### Precedence summary\n\nFor the generation and provider parameters documented above, the resolved value at runtime comes from the first source that sets it:\n\n1. CLI flag (e.g. `--max-tokens`, `--temperature`, `--provider-api-key`)\n2. SDK `Options.X` when embedding Kit as a library (`kit.Options.MaxTokens`, `Temperature`, `ProviderAPIKey`, etc.)\n3. `KIT_*` environment variable (`KIT_MAX_TOKENS`, `KIT_TEMPERATURE`, ...)\n4. `.kit.yml` / `.kit.yaml` / `.kit.json` (project-local, then global)\n5. Per-model defaults (`modelSettings[provider/model]` / `customModels[...].params`)\n6. Provider-level defaults (e.g. Anthropic\'s own temperature default)\n7. SDK last-resort floor — currently an 8192 output-token ceiling matching the CLI `--max-tokens` default, auto-raised per-model up to 32768 when the model\'s catalog ceiling is higher\n\nSee the [SDK options reference](/sdk/options) for the full list of `kit.Options` fields that map to these keys.\n\n## Theme configuration\n\n```yaml\n# Inline partial overrides (unspecified fields inherit from default)\ntheme:\n primary:\n light: "#8839ef"\n dark: "#cba6f7"\n error:\n dark: "#FF0000"\n```\n\n```yaml\n# Reference external theme file\ntheme: "./themes/my-custom-theme.yml"\n```\n\nSee [Themes](/themes) for the full theme file format, built-in themes, and the extension theme API.\n\n## Preferences persistence\n\nKit automatically saves your UI preferences across sessions to `~/.config/kit/preferences.yml`:\n\n- **Theme** — Set via `/theme ` or `ctx.SetTheme()`\n- **Model** — Set via `/model ` or the model selector\n- **Thinking level** — Set via `/thinking ` or Shift+Tab cycling\n\nThese preferences are restored on next launch. Precedence (highest to lowest):\n1. CLI flags (`--model`, `--thinking-level`)\n2. Config file (`model:`, `thinking-level:`)\n3. Saved preferences (`~/.config/kit/preferences.yml`)\n4. Default values\n'},{id:"development",title:"Development",content:` # Development ## Build and test @@ -1081,18 +1081,18 @@ available := ctx.CheckModelAvailable("anthropic/claude-sonnet-4") // bool provider := ctx.GetCurrentProvider() // "anthropic" modelID := ctx.GetCurrentModelID() // "claude-sonnet-4" \`\`\` -`},{id:"extensions/examples",title:"Examples",content:"\n# Extension Examples\n\nKit ships with a rich set of example extensions in the `examples/extensions/` directory. These serve as both documentation and starting points for your own extensions.\n\n## UI and display\n\n| Extension | Description |\n|-----------|-------------|\n| [`minimal.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/minimal.go) | Clean UI with custom footer |\n| [`branded-output.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/branded-output.go) | Branded output rendering |\n| [`header-footer-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/header-footer-demo.go) | Custom headers and footers |\n| [`widget-status.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/widget-status.go) | Persistent status widgets |\n| [`overlay-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/overlay-demo.go) | Modal dialogs |\n| [`tool-renderer-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/tool-renderer-demo.go) | Custom tool call rendering |\n| [`custom-editor-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/custom-editor-demo.go) | Vim-like modal editor |\n| [`pirate.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/pirate.go) | Pirate-themed personality |\n\n## Workflow and automation\n\n| Extension | Description |\n|-----------|-------------|\n| [`auto-commit.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/auto-commit.go) | Auto-commit changes on shutdown |\n| [`plan-mode.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/plan-mode.go) | Read-only planning mode |\n| [`permission-gate.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/permission-gate.go) | Permission gating for destructive tools |\n| [`confirm-destructive.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/confirm-destructive.go) | Confirm destructive operations |\n| [`protected-paths.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/protected-paths.go) | Path protection for sensitive files |\n| [`project-rules.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/project-rules.go) | Project-specific rules injection |\n| [`compact-notify.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/compact-notify.go) | Notification on conversation compaction |\n\n## Interactive features\n\n| Extension | Description |\n|-----------|-------------|\n| [`prompt-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/prompt-demo.go) | Interactive prompts (select/confirm/input) |\n| [`bookmark.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/bookmark.go) | Bookmark conversations |\n| [`inline-bash.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/inline-bash.go) | Inline bash execution |\n| [`interactive-shell.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/interactive-shell.go) | Interactive shell integration |\n| [`notify.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/notify.go) | Desktop notifications |\n\n## Agent and context\n\n| Extension | Description |\n|-----------|-------------|\n| [`tool-logger.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/tool-logger.go) | Log all tool calls |\n| [`context-inject.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/context-inject.go) | Inject context into conversations |\n| [`summarize.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/summarize.go) | Conversation summarization |\n| [`lsp-diagnostics.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/lsp-diagnostics.go) | LSP diagnostic integration |\n\n## Bridged SDK APIs\n\nThese examples demonstrate the new bridged SDK APIs that give extensions access to internal Kit capabilities:\n\n| Extension | Description |\n|-----------|-------------|\n| [`bridge-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/bridge_demo.go) | Comprehensive demo of all bridged APIs — tree navigation, skill loading, template parsing, and model resolution |\n| [`conversation-manager.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/conversation-manager.go) | Tree navigation (`GetTreeNode`, `GetCurrentBranch`, `NavigateTo`), branch summarization (`SummarizeBranch`), and fresh context loops (`CollapseBranch`) |\n| [`prompt-templates.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/prompt-templates.go) | Frontmatter-driven templates with model fallback chains (`ResolveModelChain`), skill injection (`InjectSkillAsContext`), and template parsing (`ParseTemplate`, `RenderTemplate`) |\n\n## Themes\n\n| Extension | Description |\n|-----------|-------------|\n| [`neon-theme.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/neon-theme.go) | Custom theme registration and switching |\n\n## Multi-agent\n\n| Extension | Description |\n|-----------|-------------|\n| [`kit-kit.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/kit-kit.go) | Kit-in-Kit sub-agent spawning |\n| [`subagent-widget.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/subagent-widget.go) | Multi-agent orchestration with status widget |\n| [`subagent-test.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/subagent-tes"}],x0={};function S0(u){return u>=200&&u<300?"#22c55e":u>=400&&u<500?"#f59e0b":u>=500?"#ef4444":"#6b7280"}function T0(u,h,d,c){let v=h;for(const[A,O]of Object.entries(d))v=v.replace(`{${A}}`,encodeURIComponent(O));const E=new URL(v,u);for(const[A,O]of Object.entries(c))O&&E.searchParams.set(A,O);return E.toString()}function E0(u){return u==="bearer"?"Authorization":"X-API-Key"}const Fu={width:"100%",padding:"6px 10px",border:"1px solid var(--bd)",borderRadius:4,background:"var(--bg)",color:"var(--tx)",fontSize:13,fontFamily:"var(--font-code, monospace)",boxSizing:"border-box"};function Ju({param:u,value:h,onChange:d}){return s.jsxs("div",{style:{marginBottom:10},children:[s.jsxs("label",{style:{display:"block",fontSize:12,fontWeight:600,marginBottom:3,color:"var(--tx)"},children:[u.name,u.required&&s.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"}),s.jsxs("span",{style:{fontWeight:400,color:"var(--txM)",marginLeft:6,fontSize:11},children:[u.in," · ",u.type]})]}),s.jsx("input",{"data-testid":`param-input-${u.name}`,style:Fu,placeholder:u.description||u.name,value:h,onChange:c=>d(c.target.value)})]})}function z0({endpoint:u,baseUrl:h,auth:d}){var lt;const[c,v]=w.useState(!1),[E,A]=w.useState({}),[O,C]=w.useState((lt=u.requestBody)!=null&<.schema?JSON.stringify(u.requestBody.schema,null,2):""),[y,G]=w.useState(""),[R,K]=w.useState(!1),[nt,xt]=w.useState(null),[Dt,Mt]=w.useState(null),[W,I]=w.useState(!1),ct=(P,mt)=>A(tt=>({...tt,[P]:mt})),Q=u.parameters.filter(P=>P.in==="path"),Y=u.parameters.filter(P=>P.in==="query"),H=u.parameters.filter(P=>P.in==="header"),U=u.requestBody!=null,at=async()=>{K(!0),xt(null),Mt(null);const P={};for(const At of Q)P[At.name]=E[At.name]||"";const mt={};for(const At of Y)E[At.name]&&(mt[At.name]=E[At.name]);const tt={};for(const At of H)E[At.name]&&(tt[At.name]=E[At.name]);if(U&&(tt["Content-Type"]="application/json"),d&&y){const At=d.header||E0(d.type);tt[At]=d.type==="bearer"?`Bearer ${y}`:y}try{const At=T0(h,u.path,P,mt),$t=Date.now(),ft=await fetch(At,{method:u.method.toUpperCase(),headers:tt,body:U&&O?O:void 0}),j=Date.now()-$t,B={};ft.headers.forEach((Tt,m)=>{B[m]=Tt});let Z;if((ft.headers.get("content-type")||"").includes("json")){const Tt=await ft.json();Z=JSON.stringify(Tt,null,2)}else Z=await ft.text();xt({status:ft.status,statusText:ft.statusText,headers:B,body:Z,time:j})}catch(At){Mt(At instanceof Error?At.message:"Network error")}finally{K(!1)}};return s.jsxs("div",{"data-testid":"api-playground",style:{border:"1px solid var(--bd)",borderRadius:6,overflow:"hidden",marginTop:8},children:[s.jsxs("button",{"data-testid":"playground-toggle",onClick:()=>v(!c),style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"10px 14px",background:"var(--sf)",border:"none",cursor:"pointer",fontFamily:"inherit",fontSize:13,fontWeight:600,color:"var(--ac)"},children:[s.jsx("span",{style:{fontSize:14},children:c?"▼":"▶"}),"Try it out"]}),c&&s.jsxs("div",{style:{padding:"14px 16px",borderTop:"1px solid var(--bd)"},children:[d&&s.jsxs("div",{style:{marginBottom:12},children:[s.jsx("label",{style:{display:"block",fontSize:12,fontWeight:600,marginBottom:3,color:"var(--tx)"},children:d.type==="bearer"?"Bearer Token":"API Key"}),s.jsx("input",{"data-testid":"auth-input",type:"password",style:Fu,placeholder:d.type==="bearer"?"Enter bearer token":"Enter API key",value:y,onChange:P=>G(P.target.value)})]}),Q.length>0&&s.jsxs("div",{style:{marginBottom:4},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:6,letterSpacing:"0.05em"},children:"Path Parameters"}),Q.map(P=>s.jsx(Ju,{param:P,value:E[P.name]||"",onChange:mt=>ct(P.name,mt)},P.name))]}),Y.length>0&&s.jsxs("div",{style:{marginBottom:4},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:6,letterSpacing:"0.05em"},children:"Query Parameters"}),Y.map(P=>s.jsx(Ju,{param:P,value:E[P.name]||"",onChange:mt=>ct(P.name,mt)},P.name))]}),H.length>0&&s.jsxs("div",{style:{marginBottom:4},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:6,letterSpacing:"0.05em"},children:"Header Parameters"}),H.map(P=>s.jsx(Ju,{param:P,value:E[P.name]||"",onChange:mt=>ct(P.name,mt)},P.name))]}),U&&s.jsxs("div",{style:{marginBottom:12},children:[s.jsx("label",{style:{display:"block",fontSize:12,fontWeight:600,marginBottom:3,color:"var(--tx)"},children:"Request Body"}),s.jsx("textarea",{"data-testid":"request-body",style:{...Fu,minHeight:100,resize:"vertical",lineHeight:1.5},value:O,onChange:P=>C(P.target.value)})]}),s.jsx("button",{"data-testid":"send-request",onClick:at,disabled:R,style:{padding:"8px 20px",borderRadius:4,border:"none",background:"var(--ac)",color:"#fff",fontWeight:600,fontSize:13,cursor:R?"wait":"pointer",opacity:R?.7:1,fontFamily:"inherit"},children:R?"Sending...":"Send Request"}),Dt&&s.jsx("div",{"data-testid":"playground-error",style:{marginTop:12,padding:"10px 14px",borderRadius:4,background:"#ef444418",border:"1px solid #ef444444",color:"#ef4444",fontSize:13},children:Dt}),nt&&s.jsxs("div",{"data-testid":"playground-response",style:{marginTop:12},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[s.jsxs("span",{"data-testid":"response-status",style:{padding:"2px 10px",borderRadius:4,fontSize:13,fontWeight:700,fontFamily:"var(--font-code, monospace)",color:"#fff",background:S0(nt.status)},children:[nt.status," ",nt.statusText]}),s.jsxs("span",{style:{fontSize:12,color:"var(--txM)"},children:[nt.time,"ms"]})]}),s.jsxs("button",{"data-testid":"toggle-headers",onClick:()=>I(!W),style:{display:"flex",alignItems:"center",gap:4,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--txM)",padding:"4px 0",fontFamily:"inherit",marginBottom:4},children:[s.jsx("span",{style:{transform:W?"rotate(90deg)":"rotate(0)",transition:"transform 0.15s"},children:"▶"}),"Response Headers"]}),W&&s.jsx("pre",{style:{background:"var(--sf)",padding:10,borderRadius:4,fontSize:11,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.5,marginBottom:8,color:"var(--tx2)",margin:"0 0 8px 0"},children:Object.entries(nt.headers).map(([P,mt])=>`${P}: ${mt}`).join(` -`)}),s.jsx("pre",{"data-testid":"response-body",style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:14,borderRadius:6,fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0,maxHeight:400},children:nt.body})]})]})]})}function mm({samples:u}){var c;const[h,d]=w.useState(0);return u.length===0?null:s.jsxs("div",{"data-testid":"code-samples",style:{border:"1px solid var(--bd)",borderRadius:8,overflow:"hidden"},children:[s.jsx("div",{style:{display:"flex",borderBottom:"1px solid var(--bd)",background:"var(--sf)",overflowX:"auto",WebkitOverflowScrolling:"touch"},children:u.map((v,E)=>s.jsx("button",{onClick:()=>d(E),style:{padding:"8px 16px",fontSize:13,fontWeight:500,background:E===h?"var(--cdBg)":"transparent",color:E===h?"var(--tx)":"var(--tx2)",border:"none",borderBottom:E===h?"2px solid var(--ac)":"2px solid transparent",cursor:"pointer",fontFamily:"var(--font-body)",whiteSpace:"nowrap"},children:v.label},v.language))}),s.jsx("pre",{style:{margin:0,padding:16,background:"var(--cdBg)",overflow:"auto"},children:s.jsx("code",{style:{fontSize:13,fontFamily:"var(--font-code)"},children:(c=u[h])==null?void 0:c.code})})]})}const pm={get:"#22c55e",post:"#3b82f6",put:"#f59e0b",delete:"#ef4444",patch:"#a78bfa",head:"#6b7280",options:"#6b7280"};function C0({method:u}){const h=pm[u.toLowerCase()]||"#6b7280";return s.jsx("span",{"data-testid":"method-badge",style:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:700,fontFamily:"var(--font-code, monospace)",textTransform:"uppercase",color:"#fff",background:h,letterSpacing:"0.05em"},children:u.toUpperCase()})}function j0({parameters:u}){return u.length===0?null:s.jsx("div",{style:{overflowX:"auto",marginBottom:16},children:s.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13,lineHeight:1.5},children:[s.jsx("thead",{children:s.jsxs("tr",{style:{borderBottom:"2px solid var(--bd)",textAlign:"left"},children:[s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Name"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Type"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"In"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Required"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Description"})]})}),s.jsx("tbody",{children:u.map((h,d)=>s.jsxs("tr",{style:{borderBottom:"1px solid var(--bd)"},children:[s.jsx("td",{style:{padding:"8px 12px",fontFamily:"var(--font-code, monospace)",fontWeight:500,color:h.in==="path"?"var(--ac)":"var(--tx)"},children:h.name}),s.jsx("td",{style:{padding:"8px 12px",fontFamily:"var(--font-code, monospace)",color:"var(--tx2)"},children:h.type}),s.jsx("td",{style:{padding:"8px 12px",color:"var(--txM)"},children:s.jsx("span",{style:{padding:"1px 6px",borderRadius:3,fontSize:11,background:h.in==="path"?"var(--ac)22":"var(--sf)",color:h.in==="path"?"var(--ac)":"var(--txM)"},children:h.in})}),s.jsx("td",{style:{padding:"8px 12px"},children:h.required?s.jsx("span",{"data-testid":"required-badge",style:{padding:"1px 6px",borderRadius:3,fontSize:11,fontWeight:600,background:"#ef444422",color:"#ef4444"},children:"required"}):s.jsx("span",{style:{color:"var(--txM)",fontSize:12},children:"optional"})}),s.jsx("td",{style:{padding:"8px 12px",color:"var(--tx2)"},children:h.description||"—"})]},`${h.name}-${d}`))})]})})}function M0({requestBody:u}){return s.jsxs("div",{style:{marginBottom:16},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[s.jsx("span",{style:{padding:"2px 8px",borderRadius:4,fontSize:11,fontFamily:"var(--font-code, monospace)",background:"var(--sf)",color:"var(--tx2)"},children:u.contentType}),u.required&&s.jsx("span",{style:{padding:"1px 6px",borderRadius:3,fontSize:11,fontWeight:600,background:"#ef444422",color:"#ef4444"},children:"required"})]}),u.description&&s.jsx("p",{style:{fontSize:13,color:"var(--tx2)",marginBottom:8,marginTop:0},children:u.description}),u.schema&&s.jsx("pre",{style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:16,borderRadius:6,fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0},children:JSON.stringify(u.schema,null,2)})]})}function A0(u){return u.startsWith("2")?"#22c55e":u.startsWith("4")?"#f59e0b":u.startsWith("5")?"#ef4444":"#6b7280"}function k0({responses:u}){return u.length===0?null:s.jsx("div",{style:{marginBottom:16},children:u.map((h,d)=>{const c=A0(h.statusCode);return s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:6,marginBottom:8,overflow:"hidden"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 14px",background:"var(--sf)"},children:[s.jsx("span",{"data-testid":"status-badge",style:{padding:"2px 8px",borderRadius:4,fontSize:12,fontWeight:700,fontFamily:"var(--font-code, monospace)",color:"#fff",background:c},children:h.statusCode}),s.jsx("span",{style:{fontSize:13,color:"var(--tx2)"},children:h.description})]}),h.schema&&s.jsx("pre",{style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:14,fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0,borderTop:"1px solid var(--bd)"},children:JSON.stringify(h.schema,null,2)})]},`${h.statusCode}-${d}`)})})}function _0(u,h){const d=h+u.path,c=[`curl -X ${u.method.toUpperCase()} "${d}"`],v=u.parameters.filter(E=>E.in==="header");for(const E of v)c.push(` -H "${E.name}: "`);return u.requestBody&&(c.push(` -H "Content-Type: ${u.requestBody.contentType}"`),u.requestBody.schema&&c.push(` -d '${JSON.stringify(u.requestBody.schema,null,2)}'`)),c.join(` \\ -`)}function D0(u,h){var A;const d=h+u.path,c=[];c.push(` method: "${u.method.toUpperCase()}",`);const v={},E=u.parameters.filter(O=>O.in==="header");for(const O of E)v[O.name]="";return u.requestBody&&(v["Content-Type"]=u.requestBody.contentType),Object.keys(v).length>0&&c.push(` headers: ${JSON.stringify(v,null,4).replace(/\n/g,` - `)},`),(A=u.requestBody)!=null&&A.schema&&c.push(` body: JSON.stringify(${JSON.stringify(u.requestBody.schema,null,4).replace(/\n/g,` +`},{id:"extensions/examples",title:"Examples",content:"\n# Extension Examples\n\nKit ships with a rich set of example extensions in the `examples/extensions/` directory. These serve as both documentation and starting points for your own extensions.\n\n## UI and display\n\n| Extension | Description |\n|-----------|-------------|\n| [`minimal.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/minimal.go) | Clean UI with custom footer |\n| [`branded-output.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/branded-output.go) | Branded output rendering |\n| [`header-footer-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/header-footer-demo.go) | Custom headers and footers |\n| [`widget-status.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/widget-status.go) | Persistent status widgets |\n| [`overlay-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/overlay-demo.go) | Modal dialogs |\n| [`tool-renderer-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/tool-renderer-demo.go) | Custom tool call rendering |\n| [`custom-editor-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/custom-editor-demo.go) | Vim-like modal editor |\n| [`pirate.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/pirate.go) | Pirate-themed personality |\n\n## Workflow and automation\n\n| Extension | Description |\n|-----------|-------------|\n| [`auto-commit.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/auto-commit.go) | Auto-commit changes on shutdown |\n| [`plan-mode.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/plan-mode.go) | Read-only planning mode |\n| [`permission-gate.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/permission-gate.go) | Permission gating for destructive tools |\n| [`confirm-destructive.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/confirm-destructive.go) | Confirm destructive operations |\n| [`protected-paths.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/protected-paths.go) | Path protection for sensitive files |\n| [`project-rules.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/project-rules.go) | Project-specific rules injection |\n| [`compact-notify.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/compact-notify.go) | Notification on conversation compaction |\n\n## Interactive features\n\n| Extension | Description |\n|-----------|-------------|\n| [`prompt-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/prompt-demo.go) | Interactive prompts (select/confirm/input) |\n| [`bookmark.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/bookmark.go) | Bookmark conversations |\n| [`inline-bash.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/inline-bash.go) | Inline bash execution |\n| [`interactive-shell.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/interactive-shell.go) | Interactive shell integration |\n| [`notify.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/notify.go) | Desktop notifications |\n\n## Agent and context\n\n| Extension | Description |\n|-----------|-------------|\n| [`tool-logger.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/tool-logger.go) | Log all tool calls |\n| [`context-inject.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/context-inject.go) | Inject context into conversations |\n| [`summarize.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/summarize.go) | Conversation summarization |\n| [`lsp-diagnostics.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/lsp-diagnostics.go) | LSP diagnostic integration |\n\n## Bridged SDK APIs\n\nThese examples demonstrate the new bridged SDK APIs that give extensions access to internal Kit capabilities:\n\n| Extension | Description |\n|-----------|-------------|\n| [`bridge-demo.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/bridge_demo.go) | Comprehensive demo of all bridged APIs — tree navigation, skill loading, template parsing, and model resolution |\n| [`conversation-manager.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/conversation-manager.go) | Tree navigation (`GetTreeNode`, `GetCurrentBranch`, `NavigateTo`), branch summarization (`SummarizeBranch`), and fresh context loops (`CollapseBranch`) |\n| [`prompt-templates.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/prompt-templates.go) | Frontmatter-driven templates with model fallback chains (`ResolveModelChain`), skill injection (`InjectSkillAsContext`), and template parsing (`ParseTemplate`, `RenderTemplate`) |\n\n## Themes\n\n| Extension | Description |\n|-----------|-------------|\n| [`neon-theme.go`](https://github.com/mark3labs/kit/blob/master/examples/extensions/neon-theme.go) | Custom theme registration and switching |\n\n## Multi-agent\n\n| Extension | Description |\n|-----------|-------------|\n| [`ki"}],x0={};function S0(u){return u>=200&&u<300?"#22c55e":u>=400&&u<500?"#f59e0b":u>=500?"#ef4444":"#6b7280"}function T0(u,h,d,c){let v=h;for(const[M,O]of Object.entries(d))v=v.replace(`{${M}}`,encodeURIComponent(O));const E=new URL(v,u);for(const[M,O]of Object.entries(c))O&&E.searchParams.set(M,O);return E.toString()}function E0(u){return u==="bearer"?"Authorization":"X-API-Key"}const Fu={width:"100%",padding:"6px 10px",border:"1px solid var(--bd)",borderRadius:4,background:"var(--bg)",color:"var(--tx)",fontSize:13,fontFamily:"var(--font-code, monospace)",boxSizing:"border-box"};function Ju({param:u,value:h,onChange:d}){return s.jsxs("div",{style:{marginBottom:10},children:[s.jsxs("label",{style:{display:"block",fontSize:12,fontWeight:600,marginBottom:3,color:"var(--tx)"},children:[u.name,u.required&&s.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"}),s.jsxs("span",{style:{fontWeight:400,color:"var(--txM)",marginLeft:6,fontSize:11},children:[u.in," · ",u.type]})]}),s.jsx("input",{"data-testid":`param-input-${u.name}`,style:Fu,placeholder:u.description||u.name,value:h,onChange:c=>d(c.target.value)})]})}function z0({endpoint:u,baseUrl:h,auth:d}){var lt;const[c,v]=w.useState(!1),[E,M]=w.useState({}),[O,C]=w.useState((lt=u.requestBody)!=null&<.schema?JSON.stringify(u.requestBody.schema,null,2):""),[y,G]=w.useState(""),[R,K]=w.useState(!1),[nt,xt]=w.useState(null),[Dt,jt]=w.useState(null),[W,I]=w.useState(!1),ct=(P,mt)=>M(tt=>({...tt,[P]:mt})),Q=u.parameters.filter(P=>P.in==="path"),Y=u.parameters.filter(P=>P.in==="query"),H=u.parameters.filter(P=>P.in==="header"),U=u.requestBody!=null,at=async()=>{K(!0),xt(null),jt(null);const P={};for(const Mt of Q)P[Mt.name]=E[Mt.name]||"";const mt={};for(const Mt of Y)E[Mt.name]&&(mt[Mt.name]=E[Mt.name]);const tt={};for(const Mt of H)E[Mt.name]&&(tt[Mt.name]=E[Mt.name]);if(U&&(tt["Content-Type"]="application/json"),d&&y){const Mt=d.header||E0(d.type);tt[Mt]=d.type==="bearer"?`Bearer ${y}`:y}try{const Mt=T0(h,u.path,P,mt),$t=Date.now(),ft=await fetch(Mt,{method:u.method.toUpperCase(),headers:tt,body:U&&O?O:void 0}),A=Date.now()-$t,B={};ft.headers.forEach((Tt,m)=>{B[m]=Tt});let Z;if((ft.headers.get("content-type")||"").includes("json")){const Tt=await ft.json();Z=JSON.stringify(Tt,null,2)}else Z=await ft.text();xt({status:ft.status,statusText:ft.statusText,headers:B,body:Z,time:A})}catch(Mt){jt(Mt instanceof Error?Mt.message:"Network error")}finally{K(!1)}};return s.jsxs("div",{"data-testid":"api-playground",style:{border:"1px solid var(--bd)",borderRadius:6,overflow:"hidden",marginTop:8},children:[s.jsxs("button",{"data-testid":"playground-toggle",onClick:()=>v(!c),style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"10px 14px",background:"var(--sf)",border:"none",cursor:"pointer",fontFamily:"inherit",fontSize:13,fontWeight:600,color:"var(--ac)"},children:[s.jsx("span",{style:{fontSize:14},children:c?"▼":"▶"}),"Try it out"]}),c&&s.jsxs("div",{style:{padding:"14px 16px",borderTop:"1px solid var(--bd)"},children:[d&&s.jsxs("div",{style:{marginBottom:12},children:[s.jsx("label",{style:{display:"block",fontSize:12,fontWeight:600,marginBottom:3,color:"var(--tx)"},children:d.type==="bearer"?"Bearer Token":"API Key"}),s.jsx("input",{"data-testid":"auth-input",type:"password",style:Fu,placeholder:d.type==="bearer"?"Enter bearer token":"Enter API key",value:y,onChange:P=>G(P.target.value)})]}),Q.length>0&&s.jsxs("div",{style:{marginBottom:4},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:6,letterSpacing:"0.05em"},children:"Path Parameters"}),Q.map(P=>s.jsx(Ju,{param:P,value:E[P.name]||"",onChange:mt=>ct(P.name,mt)},P.name))]}),Y.length>0&&s.jsxs("div",{style:{marginBottom:4},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:6,letterSpacing:"0.05em"},children:"Query Parameters"}),Y.map(P=>s.jsx(Ju,{param:P,value:E[P.name]||"",onChange:mt=>ct(P.name,mt)},P.name))]}),H.length>0&&s.jsxs("div",{style:{marginBottom:4},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:6,letterSpacing:"0.05em"},children:"Header Parameters"}),H.map(P=>s.jsx(Ju,{param:P,value:E[P.name]||"",onChange:mt=>ct(P.name,mt)},P.name))]}),U&&s.jsxs("div",{style:{marginBottom:12},children:[s.jsx("label",{style:{display:"block",fontSize:12,fontWeight:600,marginBottom:3,color:"var(--tx)"},children:"Request Body"}),s.jsx("textarea",{"data-testid":"request-body",style:{...Fu,minHeight:100,resize:"vertical",lineHeight:1.5},value:O,onChange:P=>C(P.target.value)})]}),s.jsx("button",{"data-testid":"send-request",onClick:at,disabled:R,style:{padding:"8px 20px",borderRadius:4,border:"none",background:"var(--ac)",color:"#fff",fontWeight:600,fontSize:13,cursor:R?"wait":"pointer",opacity:R?.7:1,fontFamily:"inherit"},children:R?"Sending...":"Send Request"}),Dt&&s.jsx("div",{"data-testid":"playground-error",style:{marginTop:12,padding:"10px 14px",borderRadius:4,background:"#ef444418",border:"1px solid #ef444444",color:"#ef4444",fontSize:13},children:Dt}),nt&&s.jsxs("div",{"data-testid":"playground-response",style:{marginTop:12},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[s.jsxs("span",{"data-testid":"response-status",style:{padding:"2px 10px",borderRadius:4,fontSize:13,fontWeight:700,fontFamily:"var(--font-code, monospace)",color:"#fff",background:S0(nt.status)},children:[nt.status," ",nt.statusText]}),s.jsxs("span",{style:{fontSize:12,color:"var(--txM)"},children:[nt.time,"ms"]})]}),s.jsxs("button",{"data-testid":"toggle-headers",onClick:()=>I(!W),style:{display:"flex",alignItems:"center",gap:4,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--txM)",padding:"4px 0",fontFamily:"inherit",marginBottom:4},children:[s.jsx("span",{style:{transform:W?"rotate(90deg)":"rotate(0)",transition:"transform 0.15s"},children:"▶"}),"Response Headers"]}),W&&s.jsx("pre",{style:{background:"var(--sf)",padding:10,borderRadius:4,fontSize:11,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.5,marginBottom:8,color:"var(--tx2)",margin:"0 0 8px 0"},children:Object.entries(nt.headers).map(([P,mt])=>`${P}: ${mt}`).join(` +`)}),s.jsx("pre",{"data-testid":"response-body",style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:14,borderRadius:6,fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0,maxHeight:400},children:nt.body})]})]})]})}function mm({samples:u}){var c;const[h,d]=w.useState(0);return u.length===0?null:s.jsxs("div",{"data-testid":"code-samples",style:{border:"1px solid var(--bd)",borderRadius:8,overflow:"hidden"},children:[s.jsx("div",{style:{display:"flex",borderBottom:"1px solid var(--bd)",background:"var(--sf)",overflowX:"auto",WebkitOverflowScrolling:"touch"},children:u.map((v,E)=>s.jsx("button",{onClick:()=>d(E),style:{padding:"8px 16px",fontSize:13,fontWeight:500,background:E===h?"var(--cdBg)":"transparent",color:E===h?"var(--tx)":"var(--tx2)",border:"none",borderBottom:E===h?"2px solid var(--ac)":"2px solid transparent",cursor:"pointer",fontFamily:"var(--font-body)",whiteSpace:"nowrap"},children:v.label},v.language))}),s.jsx("pre",{style:{margin:0,padding:16,background:"var(--cdBg)",overflow:"auto"},children:s.jsx("code",{style:{fontSize:13,fontFamily:"var(--font-code)"},children:(c=u[h])==null?void 0:c.code})})]})}const pm={get:"#22c55e",post:"#3b82f6",put:"#f59e0b",delete:"#ef4444",patch:"#a78bfa",head:"#6b7280",options:"#6b7280"};function C0({method:u}){const h=pm[u.toLowerCase()]||"#6b7280";return s.jsx("span",{"data-testid":"method-badge",style:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:700,fontFamily:"var(--font-code, monospace)",textTransform:"uppercase",color:"#fff",background:h,letterSpacing:"0.05em"},children:u.toUpperCase()})}function A0({parameters:u}){return u.length===0?null:s.jsx("div",{style:{overflowX:"auto",marginBottom:16},children:s.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13,lineHeight:1.5},children:[s.jsx("thead",{children:s.jsxs("tr",{style:{borderBottom:"2px solid var(--bd)",textAlign:"left"},children:[s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Name"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Type"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"In"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Required"}),s.jsx("th",{style:{padding:"8px 12px",fontWeight:600,color:"var(--tx)"},children:"Description"})]})}),s.jsx("tbody",{children:u.map((h,d)=>s.jsxs("tr",{style:{borderBottom:"1px solid var(--bd)"},children:[s.jsx("td",{style:{padding:"8px 12px",fontFamily:"var(--font-code, monospace)",fontWeight:500,color:h.in==="path"?"var(--ac)":"var(--tx)"},children:h.name}),s.jsx("td",{style:{padding:"8px 12px",fontFamily:"var(--font-code, monospace)",color:"var(--tx2)"},children:h.type}),s.jsx("td",{style:{padding:"8px 12px",color:"var(--txM)"},children:s.jsx("span",{style:{padding:"1px 6px",borderRadius:3,fontSize:11,background:h.in==="path"?"var(--ac)22":"var(--sf)",color:h.in==="path"?"var(--ac)":"var(--txM)"},children:h.in})}),s.jsx("td",{style:{padding:"8px 12px"},children:h.required?s.jsx("span",{"data-testid":"required-badge",style:{padding:"1px 6px",borderRadius:3,fontSize:11,fontWeight:600,background:"#ef444422",color:"#ef4444"},children:"required"}):s.jsx("span",{style:{color:"var(--txM)",fontSize:12},children:"optional"})}),s.jsx("td",{style:{padding:"8px 12px",color:"var(--tx2)"},children:h.description||"—"})]},`${h.name}-${d}`))})]})})}function j0({requestBody:u}){return s.jsxs("div",{style:{marginBottom:16},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[s.jsx("span",{style:{padding:"2px 8px",borderRadius:4,fontSize:11,fontFamily:"var(--font-code, monospace)",background:"var(--sf)",color:"var(--tx2)"},children:u.contentType}),u.required&&s.jsx("span",{style:{padding:"1px 6px",borderRadius:3,fontSize:11,fontWeight:600,background:"#ef444422",color:"#ef4444"},children:"required"})]}),u.description&&s.jsx("p",{style:{fontSize:13,color:"var(--tx2)",marginBottom:8,marginTop:0},children:u.description}),u.schema&&s.jsx("pre",{style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:16,borderRadius:6,fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0},children:JSON.stringify(u.schema,null,2)})]})}function M0(u){return u.startsWith("2")?"#22c55e":u.startsWith("4")?"#f59e0b":u.startsWith("5")?"#ef4444":"#6b7280"}function k0({responses:u}){return u.length===0?null:s.jsx("div",{style:{marginBottom:16},children:u.map((h,d)=>{const c=M0(h.statusCode);return s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:6,marginBottom:8,overflow:"hidden"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 14px",background:"var(--sf)"},children:[s.jsx("span",{"data-testid":"status-badge",style:{padding:"2px 8px",borderRadius:4,fontSize:12,fontWeight:700,fontFamily:"var(--font-code, monospace)",color:"#fff",background:c},children:h.statusCode}),s.jsx("span",{style:{fontSize:13,color:"var(--tx2)"},children:h.description})]}),h.schema&&s.jsx("pre",{style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:14,fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0,borderTop:"1px solid var(--bd)"},children:JSON.stringify(h.schema,null,2)})]},`${h.statusCode}-${d}`)})})}function _0(u,h){const d=h+u.path,c=[`curl -X ${u.method.toUpperCase()} "${d}"`],v=u.parameters.filter(E=>E.in==="header");for(const E of v)c.push(` -H "${E.name}: "`);return u.requestBody&&(c.push(` -H "Content-Type: ${u.requestBody.contentType}"`),u.requestBody.schema&&c.push(` -d '${JSON.stringify(u.requestBody.schema,null,2)}'`)),c.join(` \\ +`)}function D0(u,h){var M;const d=h+u.path,c=[];c.push(` method: "${u.method.toUpperCase()}",`);const v={},E=u.parameters.filter(O=>O.in==="header");for(const O of E)v[O.name]="";return u.requestBody&&(v["Content-Type"]=u.requestBody.contentType),Object.keys(v).length>0&&c.push(` headers: ${JSON.stringify(v,null,4).replace(/\n/g,` + `)},`),(M=u.requestBody)!=null&&M.schema&&c.push(` body: JSON.stringify(${JSON.stringify(u.requestBody.schema,null,4).replace(/\n/g,` `)}),`),`fetch("${d}", { ${c.join(` `)} -});`}function O0(u,h){var O,C;const d=h+u.path,c=["import requests",""],v={},E=u.parameters.filter(y=>y.in==="header");for(const y of E)v[y.name]="";u.requestBody&&(v["Content-Type"]=u.requestBody.contentType),Object.keys(v).length>0&&(c.push(`headers = ${JSON.stringify(v,null,4)}`),c.push("")),(O=u.requestBody)!=null&&O.schema&&(c.push(`data = ${JSON.stringify(u.requestBody.schema,null,4)}`),c.push(""));const A=[`"${d}"`];return Object.keys(v).length>0&&A.push("headers=headers"),(C=u.requestBody)!=null&&C.schema&&A.push("json=data"),c.push(`response = requests.${u.method}(${A.join(", ")})`),c.push("print(response.json())"),c.join(` -`)}function R0(u,h){var E,A;const d=h+u.path,c=["package main","","import (",' "fmt"',' "net/http"'];(E=u.requestBody)!=null&&E.schema&&c.push(' "bytes"',' "encoding/json"'),c.push(' "io"',")",""),c.push("func main() {"),(A=u.requestBody)!=null&&A.schema?(c.push(` body, _ := json.Marshal(${JSON.stringify(u.requestBody.schema)})`),c.push(` req, _ := http.NewRequest("${u.method.toUpperCase()}", "${d}", bytes.NewBuffer(body))`)):c.push(` req, _ := http.NewRequest("${u.method.toUpperCase()}", "${d}", nil)`);const v=u.parameters.filter(O=>O.in==="header");for(const O of v)c.push(` req.Header.Set("${O.name}", "")`);return u.requestBody&&c.push(` req.Header.Set("Content-Type", "${u.requestBody.contentType}")`),c.push(" resp, _ := http.DefaultClient.Do(req)"),c.push(" defer resp.Body.Close()"),c.push(" data, _ := io.ReadAll(resp.Body)"),c.push(" fmt.Println(string(data))"),c.push("}"),c.join(` -`)}function w0(u,h){var E;const d=h+u.path,c=["import java.net.http.*;","import java.net.URI;","","var client = HttpClient.newHttpClient();"];(E=u.requestBody)!=null&&E.schema?(c.push(`var body = ${JSON.stringify(JSON.stringify(u.requestBody.schema))};`),c.push("var request = HttpRequest.newBuilder()"),c.push(` .uri(URI.create("${d}"))`),c.push(` .method("${u.method.toUpperCase()}", HttpRequest.BodyPublishers.ofString(body))`)):(c.push("var request = HttpRequest.newBuilder()"),c.push(` .uri(URI.create("${d}"))`),c.push(` .method("${u.method.toUpperCase()}", HttpRequest.BodyPublishers.noBody())`));const v=u.parameters.filter(A=>A.in==="header");for(const A of v)c.push(` .header("${A.name}", "")`);return u.requestBody&&c.push(` .header("Content-Type", "${u.requestBody.contentType}")`),c.push(" .build();"),c.push(""),c.push("var response = client.send(request, HttpResponse.BodyHandlers.ofString());"),c.push("System.out.println(response.body());"),c.join(` -`)}function B0(u,h){var E;const d=h+u.path,c=["using var client = new HttpClient();","",`var request = new HttpRequestMessage(HttpMethod.${u.method.charAt(0).toUpperCase()+u.method.slice(1)}, "${d}");`],v=u.parameters.filter(A=>A.in==="header");for(const A of v)c.push(`request.Headers.Add("${A.name}", "");`);return(E=u.requestBody)!=null&&E.schema&&(c.push("request.Content = new StringContent("),c.push(` ${JSON.stringify(JSON.stringify(u.requestBody.schema))},`),c.push(" System.Text.Encoding.UTF8,"),c.push(` "${u.requestBody.contentType}");`)),c.push(""),c.push("var response = await client.SendAsync(request);"),c.push("var body = await response.Content.ReadAsStringAsync();"),c.push("Console.WriteLine(body);"),c.join(` -`)}function U0({endpoint:u,baseUrl:h="https://api.example.com"}){const[d,c]=w.useState(0),v=["cURL","JavaScript","Python","Go","Java","C#"],E=[_0(u,h),D0(u,h),O0(u,h),R0(u,h),w0(u,h),B0(u,h)];return s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("div",{style:{display:"flex",gap:0,borderBottom:"1px solid var(--bd)",overflowX:"auto",WebkitOverflowScrolling:"touch"},children:v.map((A,O)=>s.jsx("button",{onClick:()=>c(O),style:{padding:"6px 14px",background:"none",border:"none",borderBottom:d===O?"2px solid var(--ac)":"2px solid transparent",color:d===O?"var(--ac)":"var(--txM)",fontWeight:d===O?600:400,fontSize:12,cursor:"pointer",fontFamily:"inherit",whiteSpace:"nowrap"},children:A},A))}),s.jsx("pre",{style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:16,borderRadius:"0 0 6px 6px",fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0},children:E[d]})]})}function H0({endpoint:u,baseUrl:h,defaultExpanded:d=!1,showPlayground:c,playgroundAuth:v}){const[E,A]=w.useState(d),O=(u.operationId||`${u.method}-${u.path}`).toLowerCase().replace(/[^a-z0-9]+/g,"-"),C=u.parameters.length>0||u.requestBody!=null||u.responses.length>0;return s.jsxs("div",{id:O,style:{border:"1px solid var(--bd)",borderRadius:8,marginBottom:12,overflow:"hidden",scrollMarginTop:24},children:[s.jsxs("button",{onClick:()=>C&&A(!E),style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"14px 18px",background:"var(--sf)",border:"none",cursor:C?"pointer":"default",textAlign:"left",fontFamily:"inherit",color:"var(--tx)"},children:[s.jsx(C0,{method:u.method}),s.jsx("span",{style:{fontFamily:"var(--font-code, monospace)",fontSize:14,fontWeight:500},children:u.path}),u.deprecated&&s.jsx("span",{"data-testid":"deprecated-badge",style:{padding:"1px 6px",borderRadius:3,fontSize:10,fontWeight:700,background:"#f59e0b33",color:"#f59e0b",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Deprecated"}),u.tags.map(y=>s.jsx("span",{style:{padding:"1px 6px",borderRadius:3,fontSize:10,background:"var(--bd)",color:"var(--txM)"},children:y},y)),s.jsx("span",{style:{flex:1}}),u.summary&&s.jsx("span",{style:{fontSize:13,color:"var(--tx2)",marginRight:8},children:u.summary}),C&&s.jsx("span",{style:{transform:E?"rotate(180deg)":"rotate(0)",transition:"transform 0.2s",fontSize:12,color:"var(--txM)"},children:"▾"})]}),E&&s.jsxs("div",{style:{padding:"16px 18px",borderTop:"1px solid var(--bd)"},children:[u.description&&s.jsx("p",{style:{fontSize:14,color:"var(--tx2)",lineHeight:1.65,marginTop:0,marginBottom:16},children:u.description}),u.parameters.length>0&&s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Parameters"}),s.jsx(j0,{parameters:u.parameters})]}),u.requestBody&&s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Request Body"}),s.jsx(M0,{requestBody:u.requestBody})]}),u.responses.length>0&&s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Responses"}),s.jsx(k0,{responses:u.responses})]}),s.jsxs("div",{children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Code Examples"}),u.codeSamples&&u.codeSamples.length>0?s.jsx(mm,{samples:u.codeSamples}):s.jsx(U0,{endpoint:u,baseUrl:h})]}),c&&s.jsx("div",{style:{marginTop:16},children:s.jsx(z0,{endpoint:u,baseUrl:h||"https://api.example.com",auth:v})})]})]})}function N0({manifest:u,baseUrl:h,showPlayground:d,playgroundAuth:c}){const v=h||(u.servers.length>0?u.servers[0].url:"https://api.example.com"),E=new Map;for(const C of u.endpoints){const y=C.tags.length>0?C.tags[0]:"Other";E.has(y)||E.set(y,[]),E.get(y).push(C)}const A=[];for(const C of u.tags)E.has(C.name)&&A.push(C.name);for(const C of E.keys())A.includes(C)||A.push(C);const O=new Map;for(const C of u.tags)O.set(C.name,C.description);return s.jsxs("div",{style:{display:"flex",gap:32},children:[s.jsxs("nav",{"data-testid":"api-toc",style:{width:200,flexShrink:0,position:"sticky",top:24,alignSelf:"flex-start",maxHeight:"calc(100vh - 48px)",overflowY:"auto"},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:12,letterSpacing:"0.05em"},children:"Endpoints"}),A.map(C=>{const y=C.toLowerCase().replace(/\s+/g,"-");return s.jsxs("div",{style:{marginBottom:14},children:[s.jsx("a",{href:`#${y}`,onClick:G=>{var R;G.preventDefault(),(R=document.getElementById(y))==null||R.scrollIntoView({behavior:"smooth",block:"start"})},style:{display:"block",fontSize:13,fontWeight:600,color:"var(--tx)",textDecoration:"none",marginBottom:4},children:C}),(E.get(C)||[]).map(G=>{const R=(G.operationId||`${G.method}-${G.path}`).toLowerCase().replace(/[^a-z0-9]+/g,"-");return s.jsxs("a",{href:`#${R}`,onClick:K=>{var nt;K.preventDefault(),(nt=document.getElementById(R))==null||nt.scrollIntoView({behavior:"smooth",block:"start"})},style:{display:"flex",alignItems:"center",gap:6,fontSize:12,color:"var(--tx2)",textDecoration:"none",padding:"3px 0"},children:[s.jsx("span",{style:{fontSize:9,fontWeight:700,fontFamily:"var(--font-code, monospace)",color:pm[G.method]||"#6b7280",width:36,textTransform:"uppercase"},children:G.method}),s.jsx("span",{style:{fontFamily:"var(--font-code, monospace)"},children:G.path})]},`${G.method}-${G.path}`)})]},C)})]}),s.jsxs("div",{style:{flex:1,minWidth:0},children:[s.jsxs("div",{style:{marginBottom:32},children:[s.jsx("h1",{style:{fontSize:28,fontWeight:700,marginBottom:4},children:u.title}),s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[s.jsxs("span",{style:{padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:600,background:"var(--sf)",color:"var(--txM)"},children:["v",u.version]}),u.servers.length>0&&s.jsx("span",{style:{fontSize:12,fontFamily:"var(--font-code, monospace)",color:"var(--tx2)"},children:u.servers[0].url})]}),u.description&&s.jsx("p",{style:{fontSize:14,color:"var(--tx2)",lineHeight:1.65,marginTop:0},children:u.description})]}),A.map(C=>s.jsxs("section",{id:C.toLowerCase().replace(/\s+/g,"-"),"data-testid":"tag-section",style:{marginBottom:40},children:[s.jsx("h2",{style:{fontSize:20,fontWeight:700,marginBottom:4},children:C}),O.get(C)&&s.jsx("p",{style:{fontSize:14,color:"var(--tx2)",lineHeight:1.65,marginTop:0,marginBottom:16},children:O.get(C)}),(E.get(C)||[]).map(y=>s.jsx(H0,{endpoint:y,baseUrl:v,showPlayground:d,playgroundAuth:c},`${y.method}-${y.path}`))]},C))]})]})}function q0({href:u,title:h,description:d,icon:c,external:v}){const E=v??u.startsWith("http");return s.jsxs("a",{href:u,target:E?"_blank":void 0,rel:E?"noopener noreferrer":void 0,style:{display:"block",padding:"16px 20px",border:"1px solid var(--bd)",borderRadius:8,textDecoration:"none",color:"inherit",background:"var(--sf)",transition:"border-color 0.15s, background 0.15s",cursor:"pointer"},onMouseEnter:A=>{A.currentTarget.style.borderColor="var(--ac)",A.currentTarget.style.background="var(--sfH)"},onMouseLeave:A=>{A.currentTarget.style.borderColor="var(--bd)",A.currentTarget.style.background="var(--sf)"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[c&&s.jsx("span",{style:{fontSize:18},children:c}),s.jsx("span",{style:{fontWeight:600,fontSize:15,color:"var(--tx)"},children:h}),s.jsx("span",{style:{marginLeft:"auto",color:"var(--tx2)",fontSize:14},children:E?"↗":"→"})]}),d&&s.jsx("p",{style:{margin:"6px 0 0",fontSize:13,color:"var(--tx2)",lineHeight:1.5},children:d})]})}function L0({columns:u=2,children:h}){return s.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(${u}, 1fr)`,gap:12,marginTop:16,marginBottom:16},children:h})}const G0={Added:"#22c55e",Changed:"#3b82f6",Deprecated:"#f59e0b",Removed:"#ef4444",Fixed:"#8b5cf6",Security:"#f97316"};function lm(u){return G0[u]||"#6b7280"}function Y0({entries:u,initialLimit:h}){const[d,c]=w.useState(!h),v=d?u:u.slice(0,h||u.length);return u.length===0?s.jsx("div",{"data-testid":"changelog-empty",style:{padding:"40px 0",textAlign:"center",color:"var(--txM)",fontSize:14},children:"No changelog entries found."}):s.jsxs("div",{"data-testid":"changelog-timeline",style:{position:"relative"},children:[s.jsx("div",{style:{position:"absolute",left:15,top:8,bottom:8,width:2,background:"var(--bd)"}}),v.map((E,A)=>s.jsxs("div",{"data-testid":`changelog-entry-${E.version}`,style:{position:"relative",paddingLeft:44,paddingBottom:As.jsxs("div",{style:{marginBottom:16},children:[s.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,marginBottom:8},children:[s.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:lm(O.type)}}),s.jsx("span",{style:{fontSize:12,fontWeight:600,textTransform:"uppercase",letterSpacing:".06em",color:lm(O.type),fontFamily:"var(--font-code, monospace)"},children:O.type})]}),s.jsx("ul",{style:{margin:0,paddingLeft:18,listStyleType:"disc",color:"var(--tx2)"},children:O.items.map((C,y)=>s.jsx("li",{style:{fontSize:14,lineHeight:1.7,color:"var(--tx2)",marginBottom:2},children:C},y))})]},O.type))]},E.version)),!d&&u.length>(h||0)&&s.jsx("div",{style:{textAlign:"center",marginTop:24},children:s.jsxs("button",{"data-testid":"changelog-show-more",onClick:()=>c(!0),style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"8px 20px",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body, inherit)",cursor:"pointer",transition:"border-color .15s, color .15s"},children:["Show all ",u.length," releases"]})})]})}const im={info:{color:"#3b82f6",label:"INFO"},warning:{color:"#f59e0b",label:"WARNING"},tip:{color:"var(--ac, #a78bfa)",label:"TIP"},danger:{color:"#ef4444",label:"DANGER"}};function K0({type:u="info",title:h,children:d}){const c=im[u]||im.info;return s.jsxs("div",{style:{borderLeft:`3px solid ${c.color}`,background:`${c.color}11`,borderRadius:"0 2px 2px 0",padding:"14px 18px",marginBottom:20},children:[h?s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[s.jsx("span",{style:{fontWeight:700,fontSize:10,letterSpacing:".08em",color:c.color,fontFamily:"var(--font-code, monospace)"},children:c.label}),s.jsx("span",{style:{fontWeight:600,fontSize:13,color:c.color},children:h})]}):s.jsx("div",{style:{marginBottom:4},children:s.jsx("span",{style:{fontWeight:700,fontSize:10,letterSpacing:".08em",color:c.color,fontFamily:"var(--font-code, monospace)"},children:c.label})}),s.jsx("div",{style:{fontSize:14,lineHeight:1.65,color:"var(--tx2)"},children:d})]})}function X0({items:u,children:h}){const[d,c]=w.useState(0);return s.jsxs("div",{style:{marginBottom:20},children:[s.jsx("div",{style:{display:"flex",gap:0,borderBottom:"1px solid var(--bd)"},children:u.map((v,E)=>s.jsx("button",{onClick:()=>c(E),style:{padding:"8px 16px",background:"none",border:"none",borderBottom:d===E?"2px solid var(--ac)":"2px solid transparent",color:d===E?"var(--ac)":"var(--txM)",fontWeight:d===E?600:400,fontSize:13,cursor:"pointer",fontFamily:"inherit"},children:v},E))}),s.jsx("div",{style:{padding:"16px 0"},children:h[d]})]})}function Q0({title:u,icon:h,href:d,children:c}){const v=s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:2,padding:"20px",transition:"border-color 0.15s",cursor:d?"pointer":"default"},children:[h&&s.jsx("span",{style:{fontSize:24,marginBottom:8,display:"block"},children:h}),s.jsx("div",{style:{fontWeight:600,fontSize:14,marginBottom:4},children:u}),c&&s.jsx("div",{style:{fontSize:13,color:"var(--txM)",lineHeight:1.5},children:c})]});return d?s.jsx("a",{href:d,style:{textDecoration:"none",color:"inherit"},children:v}):v}function V0({cols:u=2,children:h}){return s.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(${u}, 1fr)`,gap:12,marginBottom:20},children:h})}function Z0({children:u}){return s.jsx("div",{style:{paddingLeft:24,borderLeft:"2px solid var(--bd)",marginBottom:20},children:sm.Children.map(u,(h,d)=>s.jsxs("div",{style:{position:"relative",paddingBottom:20},children:[s.jsx("div",{style:{position:"absolute",left:-33,top:0,width:20,height:20,borderRadius:"50%",background:"var(--ac)",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,fontWeight:700},children:d+1}),s.jsx("div",{style:{paddingLeft:8},children:h})]}))})}function J0({title:u,children:h}){const[d,c]=w.useState(!1);return s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:2,marginBottom:8,overflow:"hidden"},children:[s.jsxs("button",{onClick:()=>c(!d),style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"12px 16px",background:"var(--sf)",border:"none",cursor:"pointer",fontWeight:500,fontSize:14,color:"var(--tx)",fontFamily:"inherit"},children:[u,s.jsx("span",{style:{transform:d?"rotate(180deg)":"rotate(0)",transition:"transform 0.2s"},children:"▾"})]}),d&&s.jsx("div",{style:{padding:"12px 16px",borderTop:"1px solid var(--bd)",fontSize:14,color:"var(--tx2)",lineHeight:1.65},children:h})]})}const W0={install:{npm:"npm install",yarn:"yarn add",pnpm:"pnpm add",bun:"bun add"},"install -D":{npm:"npm install -D",yarn:"yarn add -D",pnpm:"pnpm add -D",bun:"bun add -d"},uninstall:{npm:"npm uninstall",yarn:"yarn remove",pnpm:"pnpm remove",bun:"bun remove"},run:{npm:"npm run",yarn:"yarn",pnpm:"pnpm",bun:"bun run"},exec:{npm:"npx",yarn:"yarn dlx",pnpm:"pnpm dlx",bun:"bunx"},init:{npm:"npm init",yarn:"yarn init",pnpm:"pnpm init",bun:"bun init"},create:{npm:"npm create",yarn:"yarn create",pnpm:"pnpm create",bun:"bun create"}};function F0(u,h){for(const[d,c]of Object.entries(W0))if(u.startsWith(d+" ")||u===d){const v=u.slice(d.length);return(c[h]||d)+v}return`${h} ${u}`}function $0({command:u}){const[h,d]=w.useState(0),[c,v]=w.useState(!1),E=["npm","yarn","pnpm","bun"],A=F0(u,E[h]);return s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:2,marginBottom:16,overflow:"hidden"},children:[s.jsx("div",{style:{display:"flex",borderBottom:"1px solid var(--bd)",background:"var(--sf)",overflowX:"auto"},children:E.map((O,C)=>s.jsx("button",{onClick:()=>{d(C),v(!1)},style:{padding:"8px 14px",background:"none",border:"none",cursor:"pointer",fontSize:12,fontFamily:"var(--font-code)",fontWeight:C===h?600:400,color:C===h?"var(--ac)":"var(--txM)",borderBottom:C===h?"2px solid var(--ac)":"2px solid transparent",whiteSpace:"nowrap"},children:O},O))}),s.jsxs("div",{style:{display:"flex",alignItems:"center",padding:"10px 14px",background:"var(--cdBg)",gap:8},children:[s.jsx("code",{style:{flex:1,fontFamily:"var(--font-code)",fontSize:13,color:"var(--cdTx)",whiteSpace:"pre",overflowX:"auto"},children:A}),s.jsx("button",{onClick:()=>{var O;(O=navigator.clipboard)==null||O.writeText(A),v(!0),setTimeout(()=>v(!1),2e3)},style:{background:"none",border:"none",cursor:"pointer",color:"var(--txM)",fontSize:12,fontFamily:"var(--font-code)",flexShrink:0},children:c?"✓":"Copy"})]})]})}function I0({name:u,fields:h}){return s.jsxs("div",{style:{marginBottom:16},children:[u&&s.jsx("h4",{style:{fontFamily:"var(--font-code)",fontSize:15,marginBottom:8,color:"var(--tx)"},children:u}),s.jsx("div",{style:{overflowX:"auto",WebkitOverflowScrolling:"touch"},children:s.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13,fontFamily:"var(--font-body)"},children:[s.jsx("thead",{children:s.jsx("tr",{style:{borderBottom:"2px solid var(--bd)"},children:["Property","Type","Required","Default","Description"].map(d=>s.jsx("th",{style:{textAlign:"left",padding:"8px 10px",color:"var(--txM)",fontWeight:600,fontSize:11,textTransform:"uppercase",letterSpacing:".05em",whiteSpace:"nowrap"},children:d},d))})}),s.jsx("tbody",{children:h.map(d=>s.jsxs("tr",{style:{borderBottom:"1px solid var(--bd)"},children:[s.jsx("td",{style:{padding:"8px 10px",fontFamily:"var(--font-code)",fontWeight:500,color:"var(--tx)"},children:d.name}),s.jsx("td",{style:{padding:"8px 10px",fontFamily:"var(--font-code)",fontSize:12,color:"var(--ac)"},children:d.type}),s.jsx("td",{style:{padding:"8px 10px"},children:d.required&&s.jsx("span",{style:{fontSize:10,fontWeight:600,color:"#e04040",background:"rgba(224,64,64,0.1)",padding:"2px 6px",borderRadius:2},children:"required"})}),s.jsx("td",{style:{padding:"8px 10px",fontFamily:"var(--font-code)",fontSize:12,color:"var(--txM)"},children:d.default||"—"}),s.jsx("td",{style:{padding:"8px 10px",color:"var(--tx2)"},children:d.description||""})]},d.name))})]})})]})}function P0({name:u}){return s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 0",fontFamily:"var(--font-code)",fontSize:13,color:"var(--tx2)"},children:[s.jsx("span",{style:{opacity:.6},children:"📄"})," ",u]})}function tg({name:u,defaultOpen:h,children:d}){const[c,v]=w.useState(h??!1);return s.jsxs("div",{children:[s.jsxs("button",{onClick:()=>v(!c),style:{display:"flex",alignItems:"center",gap:6,padding:"3px 0",background:"none",border:"none",cursor:"pointer",fontFamily:"var(--font-code)",fontSize:13,color:"var(--tx)",fontWeight:500},children:[s.jsx("span",{children:c?"📂":"📁"})," ",u]}),c&&s.jsx("div",{style:{paddingLeft:18,borderLeft:"1px solid var(--bd)",marginLeft:8},children:d})]})}function Iu({children:u}){return s.jsx("div",{style:{border:"1px solid var(--bd)",borderRadius:2,padding:"12px 16px",background:"var(--cdBg)",marginBottom:16},children:u})}Iu.File=P0;Iu.Folder=tg;const eg={Callout:K0,Tabs:X0,Card:Q0,CardGroup:V0,Steps:Z0,Accordion:J0,ChangelogTimeline:Y0,PackageManager:$0,TypeTable:I0,FileTree:Iu,CodeSamples:mm,LinkCard:q0,CardGrid:L0},ng=` +});`}function O0(u,h){var O,C;const d=h+u.path,c=["import requests",""],v={},E=u.parameters.filter(y=>y.in==="header");for(const y of E)v[y.name]="";u.requestBody&&(v["Content-Type"]=u.requestBody.contentType),Object.keys(v).length>0&&(c.push(`headers = ${JSON.stringify(v,null,4)}`),c.push("")),(O=u.requestBody)!=null&&O.schema&&(c.push(`data = ${JSON.stringify(u.requestBody.schema,null,4)}`),c.push(""));const M=[`"${d}"`];return Object.keys(v).length>0&&M.push("headers=headers"),(C=u.requestBody)!=null&&C.schema&&M.push("json=data"),c.push(`response = requests.${u.method}(${M.join(", ")})`),c.push("print(response.json())"),c.join(` +`)}function R0(u,h){var E,M;const d=h+u.path,c=["package main","","import (",' "fmt"',' "net/http"'];(E=u.requestBody)!=null&&E.schema&&c.push(' "bytes"',' "encoding/json"'),c.push(' "io"',")",""),c.push("func main() {"),(M=u.requestBody)!=null&&M.schema?(c.push(` body, _ := json.Marshal(${JSON.stringify(u.requestBody.schema)})`),c.push(` req, _ := http.NewRequest("${u.method.toUpperCase()}", "${d}", bytes.NewBuffer(body))`)):c.push(` req, _ := http.NewRequest("${u.method.toUpperCase()}", "${d}", nil)`);const v=u.parameters.filter(O=>O.in==="header");for(const O of v)c.push(` req.Header.Set("${O.name}", "")`);return u.requestBody&&c.push(` req.Header.Set("Content-Type", "${u.requestBody.contentType}")`),c.push(" resp, _ := http.DefaultClient.Do(req)"),c.push(" defer resp.Body.Close()"),c.push(" data, _ := io.ReadAll(resp.Body)"),c.push(" fmt.Println(string(data))"),c.push("}"),c.join(` +`)}function w0(u,h){var E;const d=h+u.path,c=["import java.net.http.*;","import java.net.URI;","","var client = HttpClient.newHttpClient();"];(E=u.requestBody)!=null&&E.schema?(c.push(`var body = ${JSON.stringify(JSON.stringify(u.requestBody.schema))};`),c.push("var request = HttpRequest.newBuilder()"),c.push(` .uri(URI.create("${d}"))`),c.push(` .method("${u.method.toUpperCase()}", HttpRequest.BodyPublishers.ofString(body))`)):(c.push("var request = HttpRequest.newBuilder()"),c.push(` .uri(URI.create("${d}"))`),c.push(` .method("${u.method.toUpperCase()}", HttpRequest.BodyPublishers.noBody())`));const v=u.parameters.filter(M=>M.in==="header");for(const M of v)c.push(` .header("${M.name}", "")`);return u.requestBody&&c.push(` .header("Content-Type", "${u.requestBody.contentType}")`),c.push(" .build();"),c.push(""),c.push("var response = client.send(request, HttpResponse.BodyHandlers.ofString());"),c.push("System.out.println(response.body());"),c.join(` +`)}function B0(u,h){var E;const d=h+u.path,c=["using var client = new HttpClient();","",`var request = new HttpRequestMessage(HttpMethod.${u.method.charAt(0).toUpperCase()+u.method.slice(1)}, "${d}");`],v=u.parameters.filter(M=>M.in==="header");for(const M of v)c.push(`request.Headers.Add("${M.name}", "");`);return(E=u.requestBody)!=null&&E.schema&&(c.push("request.Content = new StringContent("),c.push(` ${JSON.stringify(JSON.stringify(u.requestBody.schema))},`),c.push(" System.Text.Encoding.UTF8,"),c.push(` "${u.requestBody.contentType}");`)),c.push(""),c.push("var response = await client.SendAsync(request);"),c.push("var body = await response.Content.ReadAsStringAsync();"),c.push("Console.WriteLine(body);"),c.join(` +`)}function U0({endpoint:u,baseUrl:h="https://api.example.com"}){const[d,c]=w.useState(0),v=["cURL","JavaScript","Python","Go","Java","C#"],E=[_0(u,h),D0(u,h),O0(u,h),R0(u,h),w0(u,h),B0(u,h)];return s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("div",{style:{display:"flex",gap:0,borderBottom:"1px solid var(--bd)",overflowX:"auto",WebkitOverflowScrolling:"touch"},children:v.map((M,O)=>s.jsx("button",{onClick:()=>c(O),style:{padding:"6px 14px",background:"none",border:"none",borderBottom:d===O?"2px solid var(--ac)":"2px solid transparent",color:d===O?"var(--ac)":"var(--txM)",fontWeight:d===O?600:400,fontSize:12,cursor:"pointer",fontFamily:"inherit",whiteSpace:"nowrap"},children:M},M))}),s.jsx("pre",{style:{background:"var(--cdBg)",color:"var(--cdTx)",padding:16,borderRadius:"0 0 6px 6px",fontSize:12,fontFamily:"var(--font-code, monospace)",overflow:"auto",lineHeight:1.6,margin:0},children:E[d]})]})}function H0({endpoint:u,baseUrl:h,defaultExpanded:d=!1,showPlayground:c,playgroundAuth:v}){const[E,M]=w.useState(d),O=(u.operationId||`${u.method}-${u.path}`).toLowerCase().replace(/[^a-z0-9]+/g,"-"),C=u.parameters.length>0||u.requestBody!=null||u.responses.length>0;return s.jsxs("div",{id:O,style:{border:"1px solid var(--bd)",borderRadius:8,marginBottom:12,overflow:"hidden",scrollMarginTop:24},children:[s.jsxs("button",{onClick:()=>C&&M(!E),style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"14px 18px",background:"var(--sf)",border:"none",cursor:C?"pointer":"default",textAlign:"left",fontFamily:"inherit",color:"var(--tx)"},children:[s.jsx(C0,{method:u.method}),s.jsx("span",{style:{fontFamily:"var(--font-code, monospace)",fontSize:14,fontWeight:500},children:u.path}),u.deprecated&&s.jsx("span",{"data-testid":"deprecated-badge",style:{padding:"1px 6px",borderRadius:3,fontSize:10,fontWeight:700,background:"#f59e0b33",color:"#f59e0b",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Deprecated"}),u.tags.map(y=>s.jsx("span",{style:{padding:"1px 6px",borderRadius:3,fontSize:10,background:"var(--bd)",color:"var(--txM)"},children:y},y)),s.jsx("span",{style:{flex:1}}),u.summary&&s.jsx("span",{style:{fontSize:13,color:"var(--tx2)",marginRight:8},children:u.summary}),C&&s.jsx("span",{style:{transform:E?"rotate(180deg)":"rotate(0)",transition:"transform 0.2s",fontSize:12,color:"var(--txM)"},children:"▾"})]}),E&&s.jsxs("div",{style:{padding:"16px 18px",borderTop:"1px solid var(--bd)"},children:[u.description&&s.jsx("p",{style:{fontSize:14,color:"var(--tx2)",lineHeight:1.65,marginTop:0,marginBottom:16},children:u.description}),u.parameters.length>0&&s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Parameters"}),s.jsx(A0,{parameters:u.parameters})]}),u.requestBody&&s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Request Body"}),s.jsx(j0,{requestBody:u.requestBody})]}),u.responses.length>0&&s.jsxs("div",{style:{marginBottom:16},children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Responses"}),s.jsx(k0,{responses:u.responses})]}),s.jsxs("div",{children:[s.jsx("h4",{style:{fontSize:13,fontWeight:600,marginBottom:8,color:"var(--tx)"},children:"Code Examples"}),u.codeSamples&&u.codeSamples.length>0?s.jsx(mm,{samples:u.codeSamples}):s.jsx(U0,{endpoint:u,baseUrl:h})]}),c&&s.jsx("div",{style:{marginTop:16},children:s.jsx(z0,{endpoint:u,baseUrl:h||"https://api.example.com",auth:v})})]})]})}function N0({manifest:u,baseUrl:h,showPlayground:d,playgroundAuth:c}){const v=h||(u.servers.length>0?u.servers[0].url:"https://api.example.com"),E=new Map;for(const C of u.endpoints){const y=C.tags.length>0?C.tags[0]:"Other";E.has(y)||E.set(y,[]),E.get(y).push(C)}const M=[];for(const C of u.tags)E.has(C.name)&&M.push(C.name);for(const C of E.keys())M.includes(C)||M.push(C);const O=new Map;for(const C of u.tags)O.set(C.name,C.description);return s.jsxs("div",{style:{display:"flex",gap:32},children:[s.jsxs("nav",{"data-testid":"api-toc",style:{width:200,flexShrink:0,position:"sticky",top:24,alignSelf:"flex-start",maxHeight:"calc(100vh - 48px)",overflowY:"auto"},children:[s.jsx("div",{style:{fontSize:11,fontWeight:700,textTransform:"uppercase",color:"var(--txM)",marginBottom:12,letterSpacing:"0.05em"},children:"Endpoints"}),M.map(C=>{const y=C.toLowerCase().replace(/\s+/g,"-");return s.jsxs("div",{style:{marginBottom:14},children:[s.jsx("a",{href:`#${y}`,onClick:G=>{var R;G.preventDefault(),(R=document.getElementById(y))==null||R.scrollIntoView({behavior:"smooth",block:"start"})},style:{display:"block",fontSize:13,fontWeight:600,color:"var(--tx)",textDecoration:"none",marginBottom:4},children:C}),(E.get(C)||[]).map(G=>{const R=(G.operationId||`${G.method}-${G.path}`).toLowerCase().replace(/[^a-z0-9]+/g,"-");return s.jsxs("a",{href:`#${R}`,onClick:K=>{var nt;K.preventDefault(),(nt=document.getElementById(R))==null||nt.scrollIntoView({behavior:"smooth",block:"start"})},style:{display:"flex",alignItems:"center",gap:6,fontSize:12,color:"var(--tx2)",textDecoration:"none",padding:"3px 0"},children:[s.jsx("span",{style:{fontSize:9,fontWeight:700,fontFamily:"var(--font-code, monospace)",color:pm[G.method]||"#6b7280",width:36,textTransform:"uppercase"},children:G.method}),s.jsx("span",{style:{fontFamily:"var(--font-code, monospace)"},children:G.path})]},`${G.method}-${G.path}`)})]},C)})]}),s.jsxs("div",{style:{flex:1,minWidth:0},children:[s.jsxs("div",{style:{marginBottom:32},children:[s.jsx("h1",{style:{fontSize:28,fontWeight:700,marginBottom:4},children:u.title}),s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[s.jsxs("span",{style:{padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:600,background:"var(--sf)",color:"var(--txM)"},children:["v",u.version]}),u.servers.length>0&&s.jsx("span",{style:{fontSize:12,fontFamily:"var(--font-code, monospace)",color:"var(--tx2)"},children:u.servers[0].url})]}),u.description&&s.jsx("p",{style:{fontSize:14,color:"var(--tx2)",lineHeight:1.65,marginTop:0},children:u.description})]}),M.map(C=>s.jsxs("section",{id:C.toLowerCase().replace(/\s+/g,"-"),"data-testid":"tag-section",style:{marginBottom:40},children:[s.jsx("h2",{style:{fontSize:20,fontWeight:700,marginBottom:4},children:C}),O.get(C)&&s.jsx("p",{style:{fontSize:14,color:"var(--tx2)",lineHeight:1.65,marginTop:0,marginBottom:16},children:O.get(C)}),(E.get(C)||[]).map(y=>s.jsx(H0,{endpoint:y,baseUrl:v,showPlayground:d,playgroundAuth:c},`${y.method}-${y.path}`))]},C))]})]})}function q0({href:u,title:h,description:d,icon:c,external:v}){const E=v??u.startsWith("http");return s.jsxs("a",{href:u,target:E?"_blank":void 0,rel:E?"noopener noreferrer":void 0,style:{display:"block",padding:"16px 20px",border:"1px solid var(--bd)",borderRadius:8,textDecoration:"none",color:"inherit",background:"var(--sf)",transition:"border-color 0.15s, background 0.15s",cursor:"pointer"},onMouseEnter:M=>{M.currentTarget.style.borderColor="var(--ac)",M.currentTarget.style.background="var(--sfH)"},onMouseLeave:M=>{M.currentTarget.style.borderColor="var(--bd)",M.currentTarget.style.background="var(--sf)"},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[c&&s.jsx("span",{style:{fontSize:18},children:c}),s.jsx("span",{style:{fontWeight:600,fontSize:15,color:"var(--tx)"},children:h}),s.jsx("span",{style:{marginLeft:"auto",color:"var(--tx2)",fontSize:14},children:E?"↗":"→"})]}),d&&s.jsx("p",{style:{margin:"6px 0 0",fontSize:13,color:"var(--tx2)",lineHeight:1.5},children:d})]})}function L0({columns:u=2,children:h}){return s.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(${u}, 1fr)`,gap:12,marginTop:16,marginBottom:16},children:h})}const G0={Added:"#22c55e",Changed:"#3b82f6",Deprecated:"#f59e0b",Removed:"#ef4444",Fixed:"#8b5cf6",Security:"#f97316"};function lm(u){return G0[u]||"#6b7280"}function Y0({entries:u,initialLimit:h}){const[d,c]=w.useState(!h),v=d?u:u.slice(0,h||u.length);return u.length===0?s.jsx("div",{"data-testid":"changelog-empty",style:{padding:"40px 0",textAlign:"center",color:"var(--txM)",fontSize:14},children:"No changelog entries found."}):s.jsxs("div",{"data-testid":"changelog-timeline",style:{position:"relative"},children:[s.jsx("div",{style:{position:"absolute",left:15,top:8,bottom:8,width:2,background:"var(--bd)"}}),v.map((E,M)=>s.jsxs("div",{"data-testid":`changelog-entry-${E.version}`,style:{position:"relative",paddingLeft:44,paddingBottom:Ms.jsxs("div",{style:{marginBottom:16},children:[s.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6,marginBottom:8},children:[s.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:lm(O.type)}}),s.jsx("span",{style:{fontSize:12,fontWeight:600,textTransform:"uppercase",letterSpacing:".06em",color:lm(O.type),fontFamily:"var(--font-code, monospace)"},children:O.type})]}),s.jsx("ul",{style:{margin:0,paddingLeft:18,listStyleType:"disc",color:"var(--tx2)"},children:O.items.map((C,y)=>s.jsx("li",{style:{fontSize:14,lineHeight:1.7,color:"var(--tx2)",marginBottom:2},children:C},y))})]},O.type))]},E.version)),!d&&u.length>(h||0)&&s.jsx("div",{style:{textAlign:"center",marginTop:24},children:s.jsxs("button",{"data-testid":"changelog-show-more",onClick:()=>c(!0),style:{background:"none",border:"1px solid var(--bd)",borderRadius:2,padding:"8px 20px",color:"var(--tx2)",fontSize:13,fontFamily:"var(--font-body, inherit)",cursor:"pointer",transition:"border-color .15s, color .15s"},children:["Show all ",u.length," releases"]})})]})}const im={info:{color:"#3b82f6",label:"INFO"},warning:{color:"#f59e0b",label:"WARNING"},tip:{color:"var(--ac, #a78bfa)",label:"TIP"},danger:{color:"#ef4444",label:"DANGER"}};function K0({type:u="info",title:h,children:d}){const c=im[u]||im.info;return s.jsxs("div",{style:{borderLeft:`3px solid ${c.color}`,background:`${c.color}11`,borderRadius:"0 2px 2px 0",padding:"14px 18px",marginBottom:20},children:[h?s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[s.jsx("span",{style:{fontWeight:700,fontSize:10,letterSpacing:".08em",color:c.color,fontFamily:"var(--font-code, monospace)"},children:c.label}),s.jsx("span",{style:{fontWeight:600,fontSize:13,color:c.color},children:h})]}):s.jsx("div",{style:{marginBottom:4},children:s.jsx("span",{style:{fontWeight:700,fontSize:10,letterSpacing:".08em",color:c.color,fontFamily:"var(--font-code, monospace)"},children:c.label})}),s.jsx("div",{style:{fontSize:14,lineHeight:1.65,color:"var(--tx2)"},children:d})]})}function X0({items:u,children:h}){const[d,c]=w.useState(0);return s.jsxs("div",{style:{marginBottom:20},children:[s.jsx("div",{style:{display:"flex",gap:0,borderBottom:"1px solid var(--bd)"},children:u.map((v,E)=>s.jsx("button",{onClick:()=>c(E),style:{padding:"8px 16px",background:"none",border:"none",borderBottom:d===E?"2px solid var(--ac)":"2px solid transparent",color:d===E?"var(--ac)":"var(--txM)",fontWeight:d===E?600:400,fontSize:13,cursor:"pointer",fontFamily:"inherit"},children:v},E))}),s.jsx("div",{style:{padding:"16px 0"},children:h[d]})]})}function Q0({title:u,icon:h,href:d,children:c}){const v=s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:2,padding:"20px",transition:"border-color 0.15s",cursor:d?"pointer":"default"},children:[h&&s.jsx("span",{style:{fontSize:24,marginBottom:8,display:"block"},children:h}),s.jsx("div",{style:{fontWeight:600,fontSize:14,marginBottom:4},children:u}),c&&s.jsx("div",{style:{fontSize:13,color:"var(--txM)",lineHeight:1.5},children:c})]});return d?s.jsx("a",{href:d,style:{textDecoration:"none",color:"inherit"},children:v}):v}function V0({cols:u=2,children:h}){return s.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(${u}, 1fr)`,gap:12,marginBottom:20},children:h})}function Z0({children:u}){return s.jsx("div",{style:{paddingLeft:24,borderLeft:"2px solid var(--bd)",marginBottom:20},children:sm.Children.map(u,(h,d)=>s.jsxs("div",{style:{position:"relative",paddingBottom:20},children:[s.jsx("div",{style:{position:"absolute",left:-33,top:0,width:20,height:20,borderRadius:"50%",background:"var(--ac)",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,fontWeight:700},children:d+1}),s.jsx("div",{style:{paddingLeft:8},children:h})]}))})}function J0({title:u,children:h}){const[d,c]=w.useState(!1);return s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:2,marginBottom:8,overflow:"hidden"},children:[s.jsxs("button",{onClick:()=>c(!d),style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"12px 16px",background:"var(--sf)",border:"none",cursor:"pointer",fontWeight:500,fontSize:14,color:"var(--tx)",fontFamily:"inherit"},children:[u,s.jsx("span",{style:{transform:d?"rotate(180deg)":"rotate(0)",transition:"transform 0.2s"},children:"▾"})]}),d&&s.jsx("div",{style:{padding:"12px 16px",borderTop:"1px solid var(--bd)",fontSize:14,color:"var(--tx2)",lineHeight:1.65},children:h})]})}const W0={install:{npm:"npm install",yarn:"yarn add",pnpm:"pnpm add",bun:"bun add"},"install -D":{npm:"npm install -D",yarn:"yarn add -D",pnpm:"pnpm add -D",bun:"bun add -d"},uninstall:{npm:"npm uninstall",yarn:"yarn remove",pnpm:"pnpm remove",bun:"bun remove"},run:{npm:"npm run",yarn:"yarn",pnpm:"pnpm",bun:"bun run"},exec:{npm:"npx",yarn:"yarn dlx",pnpm:"pnpm dlx",bun:"bunx"},init:{npm:"npm init",yarn:"yarn init",pnpm:"pnpm init",bun:"bun init"},create:{npm:"npm create",yarn:"yarn create",pnpm:"pnpm create",bun:"bun create"}};function F0(u,h){for(const[d,c]of Object.entries(W0))if(u.startsWith(d+" ")||u===d){const v=u.slice(d.length);return(c[h]||d)+v}return`${h} ${u}`}function $0({command:u}){const[h,d]=w.useState(0),[c,v]=w.useState(!1),E=["npm","yarn","pnpm","bun"],M=F0(u,E[h]);return s.jsxs("div",{style:{border:"1px solid var(--bd)",borderRadius:2,marginBottom:16,overflow:"hidden"},children:[s.jsx("div",{style:{display:"flex",borderBottom:"1px solid var(--bd)",background:"var(--sf)",overflowX:"auto"},children:E.map((O,C)=>s.jsx("button",{onClick:()=>{d(C),v(!1)},style:{padding:"8px 14px",background:"none",border:"none",cursor:"pointer",fontSize:12,fontFamily:"var(--font-code)",fontWeight:C===h?600:400,color:C===h?"var(--ac)":"var(--txM)",borderBottom:C===h?"2px solid var(--ac)":"2px solid transparent",whiteSpace:"nowrap"},children:O},O))}),s.jsxs("div",{style:{display:"flex",alignItems:"center",padding:"10px 14px",background:"var(--cdBg)",gap:8},children:[s.jsx("code",{style:{flex:1,fontFamily:"var(--font-code)",fontSize:13,color:"var(--cdTx)",whiteSpace:"pre",overflowX:"auto"},children:M}),s.jsx("button",{onClick:()=>{var O;(O=navigator.clipboard)==null||O.writeText(M),v(!0),setTimeout(()=>v(!1),2e3)},style:{background:"none",border:"none",cursor:"pointer",color:"var(--txM)",fontSize:12,fontFamily:"var(--font-code)",flexShrink:0},children:c?"✓":"Copy"})]})]})}function I0({name:u,fields:h}){return s.jsxs("div",{style:{marginBottom:16},children:[u&&s.jsx("h4",{style:{fontFamily:"var(--font-code)",fontSize:15,marginBottom:8,color:"var(--tx)"},children:u}),s.jsx("div",{style:{overflowX:"auto",WebkitOverflowScrolling:"touch"},children:s.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13,fontFamily:"var(--font-body)"},children:[s.jsx("thead",{children:s.jsx("tr",{style:{borderBottom:"2px solid var(--bd)"},children:["Property","Type","Required","Default","Description"].map(d=>s.jsx("th",{style:{textAlign:"left",padding:"8px 10px",color:"var(--txM)",fontWeight:600,fontSize:11,textTransform:"uppercase",letterSpacing:".05em",whiteSpace:"nowrap"},children:d},d))})}),s.jsx("tbody",{children:h.map(d=>s.jsxs("tr",{style:{borderBottom:"1px solid var(--bd)"},children:[s.jsx("td",{style:{padding:"8px 10px",fontFamily:"var(--font-code)",fontWeight:500,color:"var(--tx)"},children:d.name}),s.jsx("td",{style:{padding:"8px 10px",fontFamily:"var(--font-code)",fontSize:12,color:"var(--ac)"},children:d.type}),s.jsx("td",{style:{padding:"8px 10px"},children:d.required&&s.jsx("span",{style:{fontSize:10,fontWeight:600,color:"#e04040",background:"rgba(224,64,64,0.1)",padding:"2px 6px",borderRadius:2},children:"required"})}),s.jsx("td",{style:{padding:"8px 10px",fontFamily:"var(--font-code)",fontSize:12,color:"var(--txM)"},children:d.default||"—"}),s.jsx("td",{style:{padding:"8px 10px",color:"var(--tx2)"},children:d.description||""})]},d.name))})]})})]})}function P0({name:u}){return s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 0",fontFamily:"var(--font-code)",fontSize:13,color:"var(--tx2)"},children:[s.jsx("span",{style:{opacity:.6},children:"📄"})," ",u]})}function tg({name:u,defaultOpen:h,children:d}){const[c,v]=w.useState(h??!1);return s.jsxs("div",{children:[s.jsxs("button",{onClick:()=>v(!c),style:{display:"flex",alignItems:"center",gap:6,padding:"3px 0",background:"none",border:"none",cursor:"pointer",fontFamily:"var(--font-code)",fontSize:13,color:"var(--tx)",fontWeight:500},children:[s.jsx("span",{children:c?"📂":"📁"})," ",u]}),c&&s.jsx("div",{style:{paddingLeft:18,borderLeft:"1px solid var(--bd)",marginLeft:8},children:d})]})}function Iu({children:u}){return s.jsx("div",{style:{border:"1px solid var(--bd)",borderRadius:2,padding:"12px 16px",background:"var(--cdBg)",marginBottom:16},children:u})}Iu.File=P0;Iu.Folder=tg;const eg={Callout:K0,Tabs:X0,Card:Q0,CardGroup:V0,Steps:Z0,Accordion:J0,ChangelogTimeline:Y0,PackageManager:$0,TypeTable:I0,FileTree:Iu,CodeSamples:mm,LinkCard:q0,CardGrid:L0},ng=` @import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Bricolage+Grotesque:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,700&family=Fira+Code:wght@400;500;600&family=Bodoni+Moda:ital,wght@0,400;0,700;0,900;1,400&family=Space+Grotesk:wght@400;500;600;700&family=Source+Code+Pro:wght@400;500;600&family=Inter:wght@300;400;500;600;700&display=swap'); html, body { margin: 0; padding: 0; height: 100%; overflow: clip; } @@ -1308,4 +1308,4 @@ ${c.join(` border-color: var(--bd); box-shadow: 0 4px 12px rgba(0,0,0,0.3); } -`,_o=(Jn.basePath||"/").replace(/\/$/,"");function ag(u){return cm(u,_o,Wn)}function Wu(u){return f0(u,_o,Wn)}const hm=h0(window.location.pathname,window.location.hash,Wn,_o,cm),lg=fm(hm,Wn,dm);function ig(){var W,I,ct,Q;const[u,h]=w.useState(hm),[d,c]=w.useState(null),[v,E]=w.useState(!0),A=w.useRef(0),O=w.useCallback(async(Y,H)=>{const U=++A.current;E(!0);let at;try{at=await fm(Y,Wn,dm)}catch(P){if(A.current!==U)return;console.error(`[tome] Navigation failed for page: ${Y}`,P),at=null}if(A.current!==U)return;const lt=Wu(Y);if(H!=null&&H.replace?window.history.replaceState(null,"",lt):window.history.pushState(null,"",lt),h(Y),c(at),E(!1),!(H!=null&&H.skipScroll)){const P=window.location.hash.slice(1);P?requestAnimationFrame(()=>{const mt=document.getElementById(P);mt&&mt.scrollIntoView({behavior:"smooth",block:"start"})}):window.scrollTo(0,0)}},[]);w.useEffect(()=>{const Y=window.location.hash.slice(1);if(Y&&Wn.some(H=>H.id===Y)){const H=Wu(Y);window.history.replaceState(null,"",H),O(Y,{replace:!0})}else{const H=Wu(u);window.history.replaceState(null,"",H),lg.then(U=>{c(U),E(!1)})}},[]),w.useEffect(()=>{const Y=()=>{const H=ag(window.location.pathname);H&&H!==u&&O(H,{replace:!0,skipScroll:!0})};return window.addEventListener("popstate",Y),()=>window.removeEventListener("popstate",Y)},[u,O]);const C=w.useRef(null),[y,G]=w.useState(()=>{var H,U;if(typeof document>"u")return"light";if(document.documentElement.classList.contains("dark"))return"dark";const Y=((H=Jn.theme)==null?void 0:H.mode)||"auto";return Y==="dark"?"dark":Y==="light"?"light":(U=window.matchMedia)!=null&&U.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"});w.useEffect(()=>{const Y=new MutationObserver(()=>{const H=document.documentElement.classList.contains("dark");G(H?"dark":"light")});return Y.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>Y.disconnect()},[]),w.useEffect(()=>{const Y=document.querySelectorAll(".tome-mermaid[data-mermaid]");if(Y.length===0)return;let H=!1;const U="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";return(async()=>{try{C.current||(C.current=(await import(U)).default);const at=C.current;if(H)return;const lt=y==="dark",P=getComputedStyle(document.documentElement).getPropertyValue("--font-body").trim()||"sans-serif";at.initialize({startOnLoad:!1,theme:lt?"dark":"default",fontFamily:P,flowchart:{padding:15,nodeSpacing:30,rankSpacing:40}});for(let mt=0;mt{lt.textContent="Failed to load diagram renderer",lt.style.cssText="padding:16px;color:var(--txM);font-size:13px;border:1px dashed var(--bd);border-radius:2px;text-align:center;"})}})(),()=>{H=!0}},[d,v,y]),w.useEffect(()=>{if(v)return;const Y=document.querySelectorAll(".tome-content pre"),H=[];return Y.forEach(U=>{if(U.querySelector(".tome-copy-btn"))return;const at=document.createElement("button");at.className="tome-copy-btn",at.textContent="Copy",at.addEventListener("click",async()=>{const lt=U.querySelector("code");if(lt)try{await navigator.clipboard.writeText(lt.textContent||""),at.textContent="Copied!",setTimeout(()=>{at.textContent="Copy"},2e3)}catch{at.textContent="Failed",setTimeout(()=>{at.textContent="Copy"},2e3)}}),U.appendChild(at),H.push(at)}),()=>{H.forEach(U=>U.remove())}},[d,v]);const R=Wn.map(Y=>({id:Y.id,title:Y.frontmatter.title,description:Y.frontmatter.description})),K=Wn.find(Y=>Y.id===u),nt=g0(K),xt=p0(Jn.editLink,K==null?void 0:K.filePath),Dt=(K==null?void 0:K.locale)||(Zu==null?void 0:Zu.defaultLocale)||"en",Mt="ltr";return w.useEffect(()=>{const Y=document.querySelectorAll(".tome-math[data-math]").length>0;if(!Jn.math&&!Y)return;const H="tome-katex-css";if(document.getElementById(H))return;const U=document.createElement("link");U.id=H,U.rel="stylesheet",U.href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css",U.crossOrigin="anonymous",document.head.appendChild(U)},[d,v]),w.useEffect(()=>{const Y=document.querySelectorAll(".tome-math[data-math]");if(Y.length===0)return;let H=!1;const U="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.mjs";return(async()=>{try{const at=(await import(U)).default;if(H)return;for(const lt of Y){const P=lt.getAttribute("data-math");if(P)try{const mt=atob(P),tt=lt.classList.contains("tome-math-block");at.render(mt,lt,{displayMode:tt,throwOnError:!1})}catch(mt){console.warn("[tome] KaTeX render failed:",mt)}}}catch(at){console.warn("[tome] Failed to load KaTeX from CDN:",at)}})(),()=>{H=!0}},[d,v]),s.jsxs(s.Fragment,{children:[s.jsx("style",{children:ng}),s.jsx(r0,{config:Jn,navigation:v0,currentPageId:u,pageHtml:d!=null&&d.isMdx?void 0:v?"":(d==null?void 0:d.html)||"

    Page not found

    ",pageComponent:d!=null&&d.isMdx?d.component:void 0,mdxComponents:eg,pageTitle:(d==null?void 0:d.frontmatter.title)||(v?"":"Not Found"),pageDescription:d==null?void 0:d.frontmatter.description,headings:(d==null?void 0:d.headings)||[],tocEnabled:(d==null?void 0:d.frontmatter.toc)!==!1,editUrl:xt,lastUpdated:K==null?void 0:K.lastUpdated,changelogEntries:d!=null&&d.isMdx||d==null?void 0:d.changelogEntries,apiManifest:!(d!=null&&d.isMdx)&&(d!=null&&d.isApiReference)?d.apiManifest:void 0,apiBaseUrl:(W=Jn.api)==null?void 0:W.baseUrl,apiPlayground:(I=Jn.api)==null?void 0:I.playground,apiAuth:(ct=Jn.api)==null?void 0:ct.auth,ApiReferenceComponent:N0,onNavigate:O,allPages:R,docContext:b0,versioning:void 0,currentVersion:nt,basePath:_o,isDraft:((Q=K==null?void 0:K.frontmatter)==null?void 0:Q.draft)===!0,dir:Mt,i18n:void 0,currentLocale:Dt,overrides:x0})]})}const om=document.getElementById("tome-root");om&&Bh.createRoot(om).render(s.jsx(ig,{})); +`,_o=(Jn.basePath||"/").replace(/\/$/,"");function ag(u){return cm(u,_o,Wn)}function Wu(u){return f0(u,_o,Wn)}const hm=h0(window.location.pathname,window.location.hash,Wn,_o,cm),lg=fm(hm,Wn,dm);function ig(){var W,I,ct,Q;const[u,h]=w.useState(hm),[d,c]=w.useState(null),[v,E]=w.useState(!0),M=w.useRef(0),O=w.useCallback(async(Y,H)=>{const U=++M.current;E(!0);let at;try{at=await fm(Y,Wn,dm)}catch(P){if(M.current!==U)return;console.error(`[tome] Navigation failed for page: ${Y}`,P),at=null}if(M.current!==U)return;const lt=Wu(Y);if(H!=null&&H.replace?window.history.replaceState(null,"",lt):window.history.pushState(null,"",lt),h(Y),c(at),E(!1),!(H!=null&&H.skipScroll)){const P=window.location.hash.slice(1);P?requestAnimationFrame(()=>{const mt=document.getElementById(P);mt&&mt.scrollIntoView({behavior:"smooth",block:"start"})}):window.scrollTo(0,0)}},[]);w.useEffect(()=>{const Y=window.location.hash.slice(1);if(Y&&Wn.some(H=>H.id===Y)){const H=Wu(Y);window.history.replaceState(null,"",H),O(Y,{replace:!0})}else{const H=Wu(u);window.history.replaceState(null,"",H),lg.then(U=>{c(U),E(!1)})}},[]),w.useEffect(()=>{const Y=()=>{const H=ag(window.location.pathname);H&&H!==u&&O(H,{replace:!0,skipScroll:!0})};return window.addEventListener("popstate",Y),()=>window.removeEventListener("popstate",Y)},[u,O]);const C=w.useRef(null),[y,G]=w.useState(()=>{var H,U;if(typeof document>"u")return"light";if(document.documentElement.classList.contains("dark"))return"dark";const Y=((H=Jn.theme)==null?void 0:H.mode)||"auto";return Y==="dark"?"dark":Y==="light"?"light":(U=window.matchMedia)!=null&&U.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"});w.useEffect(()=>{const Y=new MutationObserver(()=>{const H=document.documentElement.classList.contains("dark");G(H?"dark":"light")});return Y.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>Y.disconnect()},[]),w.useEffect(()=>{const Y=document.querySelectorAll(".tome-mermaid[data-mermaid]");if(Y.length===0)return;let H=!1;const U="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";return(async()=>{try{C.current||(C.current=(await import(U)).default);const at=C.current;if(H)return;const lt=y==="dark",P=getComputedStyle(document.documentElement).getPropertyValue("--font-body").trim()||"sans-serif";at.initialize({startOnLoad:!1,theme:lt?"dark":"default",fontFamily:P,flowchart:{padding:15,nodeSpacing:30,rankSpacing:40}});for(let mt=0;mt{lt.textContent="Failed to load diagram renderer",lt.style.cssText="padding:16px;color:var(--txM);font-size:13px;border:1px dashed var(--bd);border-radius:2px;text-align:center;"})}})(),()=>{H=!0}},[d,v,y]),w.useEffect(()=>{if(v)return;const Y=document.querySelectorAll(".tome-content pre"),H=[];return Y.forEach(U=>{if(U.querySelector(".tome-copy-btn"))return;const at=document.createElement("button");at.className="tome-copy-btn",at.textContent="Copy",at.addEventListener("click",async()=>{const lt=U.querySelector("code");if(lt)try{await navigator.clipboard.writeText(lt.textContent||""),at.textContent="Copied!",setTimeout(()=>{at.textContent="Copy"},2e3)}catch{at.textContent="Failed",setTimeout(()=>{at.textContent="Copy"},2e3)}}),U.appendChild(at),H.push(at)}),()=>{H.forEach(U=>U.remove())}},[d,v]);const R=Wn.map(Y=>({id:Y.id,title:Y.frontmatter.title,description:Y.frontmatter.description})),K=Wn.find(Y=>Y.id===u),nt=g0(K),xt=p0(Jn.editLink,K==null?void 0:K.filePath),Dt=(K==null?void 0:K.locale)||(Zu==null?void 0:Zu.defaultLocale)||"en",jt="ltr";return w.useEffect(()=>{const Y=document.querySelectorAll(".tome-math[data-math]").length>0;if(!Jn.math&&!Y)return;const H="tome-katex-css";if(document.getElementById(H))return;const U=document.createElement("link");U.id=H,U.rel="stylesheet",U.href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css",U.crossOrigin="anonymous",document.head.appendChild(U)},[d,v]),w.useEffect(()=>{const Y=document.querySelectorAll(".tome-math[data-math]");if(Y.length===0)return;let H=!1;const U="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.mjs";return(async()=>{try{const at=(await import(U)).default;if(H)return;for(const lt of Y){const P=lt.getAttribute("data-math");if(P)try{const mt=atob(P),tt=lt.classList.contains("tome-math-block");at.render(mt,lt,{displayMode:tt,throwOnError:!1})}catch(mt){console.warn("[tome] KaTeX render failed:",mt)}}}catch(at){console.warn("[tome] Failed to load KaTeX from CDN:",at)}})(),()=>{H=!0}},[d,v]),s.jsxs(s.Fragment,{children:[s.jsx("style",{children:ng}),s.jsx(r0,{config:Jn,navigation:v0,currentPageId:u,pageHtml:d!=null&&d.isMdx?void 0:v?"":(d==null?void 0:d.html)||"

    Page not found

    ",pageComponent:d!=null&&d.isMdx?d.component:void 0,mdxComponents:eg,pageTitle:(d==null?void 0:d.frontmatter.title)||(v?"":"Not Found"),pageDescription:d==null?void 0:d.frontmatter.description,headings:(d==null?void 0:d.headings)||[],tocEnabled:(d==null?void 0:d.frontmatter.toc)!==!1,editUrl:xt,lastUpdated:K==null?void 0:K.lastUpdated,changelogEntries:d!=null&&d.isMdx||d==null?void 0:d.changelogEntries,apiManifest:!(d!=null&&d.isMdx)&&(d!=null&&d.isApiReference)?d.apiManifest:void 0,apiBaseUrl:(W=Jn.api)==null?void 0:W.baseUrl,apiPlayground:(I=Jn.api)==null?void 0:I.playground,apiAuth:(ct=Jn.api)==null?void 0:ct.auth,ApiReferenceComponent:N0,onNavigate:O,allPages:R,docContext:b0,versioning:void 0,currentVersion:nt,basePath:_o,isDraft:((Q=K==null?void 0:K.frontmatter)==null?void 0:Q.draft)===!0,dir:jt,i18n:void 0,currentLocale:Dt,overrides:x0})]})}const om=document.getElementById("tome-root");om&&Bh.createRoot(om).render(s.jsx(ig,{})); diff --git a/cli/commands/index.html b/cli/commands/index.html index a17e2821..3131d13c 100644 --- a/cli/commands/index.html +++ b/cli/commands/index.html @@ -7,7 +7,7 @@ - + diff --git a/cli/flags/index.html b/cli/flags/index.html index d8beabfd..4f59a403 100644 --- a/cli/flags/index.html +++ b/cli/flags/index.html @@ -7,7 +7,7 @@ - + diff --git a/configuration/index.html b/configuration/index.html index 933c080f..921e2f66 100644 --- a/configuration/index.html +++ b/configuration/index.html @@ -7,7 +7,7 @@ - + @@ -98,6 +98,9 @@ mcpServers: type: remote url: "https://pubmed.mcp.example.com" noOAuth: true # skip OAuth for public servers + headers: + - "ApiKey: ${env://API_KEY}" # required env var + - "X-Tenant: ${env://TENANT_ID:-default}" # with fallback default builds: type: remote @@ -116,9 +119,10 @@ mcpServers: | `allowedTools` | list | Whitelist of tool names to expose | | `excludedTools` | list | Blacklist of tool names to hide | | `noOAuth` | bool | Skip OAuth for this server (for public servers that don't require auth) | +| `headers` | list of strings | HTTP headers to attach to every request, each as a `"Key: Value"` string. Values support env-substitution: `${env://VAR}` or `${env://VAR:-default}`. | | `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). | -A legacy format with `transport`, `args`, `env`, and `headers` fields is also supported. +A legacy format with `transport`, `args`, and `env` fields is also supported; `headers` works in both the current and legacy formats. ### MCP tasks (long-running tools) diff --git a/development/index.html b/development/index.html index 33742477..e1df83d0 100644 --- a/development/index.html +++ b/development/index.html @@ -7,7 +7,7 @@ - + diff --git a/extensions/capabilities/index.html b/extensions/capabilities/index.html index 039752f5..e7dba7f4 100644 --- a/extensions/capabilities/index.html +++ b/extensions/capabilities/index.html @@ -7,7 +7,7 @@ - + diff --git a/extensions/examples/index.html b/extensions/examples/index.html index eb3977d9..07dee7f5 100644 --- a/extensions/examples/index.html +++ b/extensions/examples/index.html @@ -7,7 +7,7 @@ - + diff --git a/extensions/loading/index.html b/extensions/loading/index.html index 117b8cfb..d48dfddf 100644 --- a/extensions/loading/index.html +++ b/extensions/loading/index.html @@ -7,7 +7,7 @@ - + diff --git a/extensions/overview/index.html b/extensions/overview/index.html index ad46b5c3..8fea2ba1 100644 --- a/extensions/overview/index.html +++ b/extensions/overview/index.html @@ -7,7 +7,7 @@ - + diff --git a/extensions/testing/index.html b/extensions/testing/index.html index 01856cca..88a50005 100644 --- a/extensions/testing/index.html +++ b/extensions/testing/index.html @@ -7,7 +7,7 @@ - + diff --git a/index.html b/index.html index d8778607..258d2063 100644 --- a/index.html +++ b/index.html @@ -15,7 +15,7 @@ ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; } - + diff --git a/installation/index.html b/installation/index.html index d8b834c4..7e4ffed8 100644 --- a/installation/index.html +++ b/installation/index.html @@ -7,7 +7,7 @@ - + diff --git a/llms-full.txt b/llms-full.txt index 78f0f9b1..0a9f1aa7 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -665,6 +665,9 @@ mcpServers: type: remote url: "https://pubmed.mcp.example.com" noOAuth: true # skip OAuth for public servers + headers: + - "ApiKey: ${env://API_KEY}" # required env var + - "X-Tenant: ${env://TENANT_ID:-default}" # with fallback default builds: type: remote @@ -683,9 +686,10 @@ mcpServers: | `allowedTools` | list | Whitelist of tool names to expose | | `excludedTools` | list | Blacklist of tool names to hide | | `noOAuth` | bool | Skip OAuth for this server (for public servers that don't require auth) | +| `headers` | list of strings | HTTP headers to attach to every request, each as a `"Key: Value"` string. Values support env-substitution: `${env://VAR}` or `${env://VAR:-default}`. | | `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). | -A legacy format with `transport`, `args`, `env`, and `headers` fields is also supported. +A legacy format with `transport`, `args`, and `env` fields is also supported; `headers` works in both the current and legacy formats. ### MCP tasks (long-running tools) diff --git a/mcp.json b/mcp.json index 4ef274b0..75cc45d1 100644 --- a/mcp.json +++ b/mcp.json @@ -106,7 +106,7 @@ "Preferences persistence" ], "tags": [], - "content": "\n# Configuration\n\nKit looks for configuration in the following locations, in order of priority:\n\n1. CLI flags\n2. Environment variables (with `KIT_` prefix)\n3. `./.kit.yml` / `./.kit.yaml` / `./.kit.json` (project-local)\n4. `~/.kit.yml` / `~/.kit.yaml` / `~/.kit.json` (global)\n\n## Basic configuration\n\nCreate `~/.kit.yml`:\n\n```yaml\nmodel: anthropic/claude-sonnet-latest\nmax-tokens: 8192\ntemperature: 0.7\nstream: true\n```\n\n## All configuration keys\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `model` | string | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `max-tokens` | int | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model's catalog ceiling is higher and no explicit value is set. Use [`modelSettings[provider/model].maxTokens`](#per-model-settings) to override per-model. |\n| `temperature` | float | `0.7` | Randomness 0.0–1.0 |\n| `top-p` | float | `0.95` | Nucleus sampling 0.0–1.0 |\n| `top-k` | int | `40` | Limit top K tokens |\n| `stream` | bool | `true` | Enable streaming output |\n| `debug` | bool | `false` | Enable debug logging |\n| `compact` | bool | `false` | Enable compact output mode |\n| `system-prompt` | string | — | System prompt text or file path |\n| `max-steps` | int | `0` | Maximum agent steps (0 = unlimited) |\n| `thinking-level` | string | `off` | Extended thinking: off, none, minimal, low, medium, high |\n| `provider-api-key` | string | — | API key for the provider |\n| `provider-url` | string | — | Base URL for provider API |\n| `tls-skip-verify` | bool | `false` | Skip TLS certificate verification |\n| `frequency-penalty` | float | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `presence-penalty` | float | `0.0` | Penalize present tokens (0.0–2.0) |\n| `stop-sequences` | list | — | Custom stop sequences |\n| `theme` | object or string | — | UI theme ([inline overrides or file path](/themes)) |\n| `prompt-templates` | bool | `true` | Enable prompt template loading |\n| `prompt-template` | string | — | Specific template to load by name |\n\n## Environment variables\n\nAny configuration key can be set via environment variable with the `KIT_` prefix. Hyphens become underscores:\n\n```bash\nexport KIT_MODEL=\"openai/gpt-4o\"\nexport KIT_MAX_TOKENS=\"8192\"\nexport KIT_TEMPERATURE=\"0.5\"\n```\n\nProvider API keys use their own environment variables:\n\n```bash\nexport ANTHROPIC_API_KEY=\"sk-...\"\nexport OPENAI_API_KEY=\"sk-...\"\nexport GOOGLE_API_KEY=\"...\"\n```\n\n## MCP server configuration\n\nAdd external MCP servers to your `.kit.yml`:\n\n```yaml\nmcpServers:\n filesystem:\n type: local\n command: [\"npx\", \"-y\", \"@modelcontextprotocol/server-filesystem\", \"/path/to/allowed\"]\n environment:\n LOG_LEVEL: \"info\"\n allowedTools: [\"read_file\", \"write_file\"]\n excludedTools: [\"delete_file\"]\n\n search:\n type: remote\n url: \"https://mcp.example.com/search\"\n\n pubmed:\n type: remote\n url: \"https://pubmed.mcp.example.com\"\n noOAuth: true # skip OAuth for public servers\n\n builds:\n type: remote\n url: \"https://builds.mcp.example.com\"\n tasksMode: always # always run tools/call as async tasks (Phase 1 MVP)\n```\n\n### MCP server fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `type` | string | `local` (stdio) or `remote` (streamable HTTP) |\n| `command` | list | Command and args for local servers |\n| `environment` | map | Environment variables for the server process |\n| `url` | string | URL for remote servers |\n| `allowedTools` | list | Whitelist of tool names to expose |\n| `excludedTools` | list | Blacklist of tool names to hide |\n| `noOAuth` | bool | Skip OAuth for this server (for public servers that don't require auth) |\n| `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). |\n\nA legacy format with `transport`, `args`, `env`, and `headers` fields is also supported.\n\n### MCP tasks (long-running tools)\n\nKit advertises [MCP task support](https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks)\nduring `initialize` so servers can respond to `tools/call` with a\n`CreateTaskResult` (a task ID + `working` status) instead of blocking until\nthe operation finishes. Kit then polls `tasks/get` / `tasks/result` until the\ntask reaches a terminal state, and best-effort `tasks/cancel`s on context\ncancellation.\n\nThis avoids HTTP/SSE proxy timeouts on long builds, deploys, and batch jobs,\nand lets the user/agent abort cleanly with Ctrl-C.\n\n**Per-server `tasksMode`:**\n\n| Value | Behaviour |\n|-------|-----------|\n| `auto` (default) | Augment `tools/call` with task metadata only when the server advertised `tasks/toolCalls` capability. Servers that don't advertise it run synchronously, exactly as before. |\n| `never` | Always issue `tools/call` synchronously, regardless of server capability. |\n| `always` | Always opt into task augmentation, even when the server didn't advertise the capability. The server may still respond synchronously — this just expresses client intent unconditionally. |\n\nDefaults are safe: any existing MCP server keeps its previous behaviour\nbit-for-bit. SDK consumers can also override the mode programmatically and\nplug in a progress callback — see [SDK options](/sdk/options#mcp-tasks).\n\n## Custom models\n\nDefine custom models in your `.kit.yml` for use with the `custom` provider. This is useful for self-hosted models or API endpoints not in the built-in database:\n\n```yaml\ncustomModels:\n my-model:\n name: \"My Custom Model\"\n baseUrl: \"http://localhost:8080/v1\"\n apiKey: \"my-secret-key\"\n reasoning: true\n temperature: true\n cost:\n input: 0.002\n output: 0.004\n limit:\n context: 128000\n output: 32000\n```\n\n### Custom model fields\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `name` | string | Yes | Display name for the model |\n| `baseUrl` | string | No | Per-model base URL override; when set, `--provider-url` is not required |\n| `apiKey` | string | No | Per-model API key override |\n| `reasoning` | bool | No | Whether the model supports reasoning/thinking |\n| `temperature` | bool | No | Whether the model supports temperature adjustment |\n| `cost.input` | float | No | Cost per 1K input tokens |\n| `cost.output` | float | No | Cost per 1K output tokens |\n| `limit.context` | int | Yes | Maximum context window in tokens |\n| `limit.output` | int | No | Maximum output tokens |\n\nUse with a per-model `baseUrl` (no `--provider-url` needed):\n\n```bash\nkit --model custom/my-model \"Hello\"\n```\n\nOr override the base URL at runtime:\n\n```bash\nkit --provider-url \"http://localhost:8080/v1\" --model custom/my-model \"Hello\"\n```\n\nWhen `--provider-url` is specified without `--model`, Kit defaults to `custom/custom` which has zero cost tracking and a 262K context window.\n\n## Per-model settings\n\nOverride generation parameters and system prompt on a per-model basis using `modelSettings`:\n\n```yaml\nmodelSettings:\n anthropic/claude-sonnet-4-5-20250929:\n temperature: 0.3\n maxTokens: 8192\n systemPrompt: \"You are a concise coding assistant.\"\n openai/gpt-4o:\n temperature: 0.7\n frequencyPenalty: 0.5\n```\n\n### Per-model fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `temperature` | float | Temperature override for this model |\n| `maxTokens` | int | Max output tokens override |\n| `topP` | float | Top-p override |\n| `topK` | int | Top-k override |\n| `frequencyPenalty` | float | Frequency penalty override |\n| `presencePenalty` | float | Presence penalty override |\n| `stopSequences` | list | Stop sequences override |\n| `thinkingLevel` | string | Thinking level override |\n| `systemPrompt` | string | Per-model system prompt (used when no explicit prompt is set) |\n\nSettings from `modelSettings` and `customModels.params` act as model-level defaults — explicit CLI flags, `KIT_*` environment variables, global config values, and SDK `Options.*` fields all take precedence over them.\n\nWhen switching models via `/model` or `SetModel()`, if the new model has a per-model system prompt and no custom global prompt was set, the per-model prompt automatically replaces the previous one.\n\n### Precedence summary\n\nFor the generation and provider parameters documented above, the resolved value at runtime comes from the first source that sets it:\n\n1. CLI flag (e.g. `--max-tokens`, `--temperature`, `--provider-api-key`)\n2. SDK `Options.X` when embedding Kit as a library (`kit.Options.MaxTokens`, `Temperature`, `ProviderAPIKey`, etc.)\n3. `KIT_*` environment variable (`KIT_MAX_TOKENS`, `KIT_TEMPERATURE`, ...)\n4. `.kit.yml` / `.kit.yaml` / `.kit.json` (project-local, then global)\n5. Per-model defaults (`modelSettings[provider/model]` / `customModels[...].params`)\n6. Provider-level defaults (e.g. Anthropic's own temperature default)\n7. SDK last-resort floor — currently an 8192 output-token ceiling matching the CLI `--max-tokens` default, auto-raised per-model up to 32768 when the model's catalog ceiling is higher\n\nSee the [SDK options reference](/sdk/options) for the full list of `kit.Options` fields that map to these keys.\n\n## Theme configuration\n\n```yaml\n# Inline partial overrides (unspecified fields inherit from default)\ntheme:\n primary:\n light: \"#8839ef\"\n dark: \"#cba6f7\"\n error:\n dark: \"#FF0000\"\n```\n\n```yaml\n# Reference external theme file\ntheme: \"./themes/my-custom-theme.yml\"\n```\n\nSee [Themes](/themes) for the full theme file format, built-in themes, and the extension theme API.\n\n## Preferences persistence\n\nKit automatically saves your UI preferences across sessions to `~/.config/kit/preferences.yml`:\n\n- **Theme** — Set via `/theme ` or `ctx.SetTheme()`\n- **Model** — Set via `/model ` or the model selector\n- **Thinking level** — Set via `/thinking ` or Shift+Tab cycling\n\nThese preferences are restored on next launch. Precedence (highest to lowest):\n1. CLI flags (`--model`, `--thinking-level`)\n2. Config file (`model:`, `thinking-level:`)\n3. Saved preferences (`~/.config/kit/preferences.yml`)\n4. Default values\n" + "content": "\n# Configuration\n\nKit looks for configuration in the following locations, in order of priority:\n\n1. CLI flags\n2. Environment variables (with `KIT_` prefix)\n3. `./.kit.yml` / `./.kit.yaml` / `./.kit.json` (project-local)\n4. `~/.kit.yml` / `~/.kit.yaml` / `~/.kit.json` (global)\n\n## Basic configuration\n\nCreate `~/.kit.yml`:\n\n```yaml\nmodel: anthropic/claude-sonnet-latest\nmax-tokens: 8192\ntemperature: 0.7\nstream: true\n```\n\n## All configuration keys\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `model` | string | `anthropic/claude-sonnet-latest` | Model to use (provider/model format) |\n| `max-tokens` | int | `8192` | Base cap for output tokens. Auto-raised per-model up to 32768 when the model's catalog ceiling is higher and no explicit value is set. Use [`modelSettings[provider/model].maxTokens`](#per-model-settings) to override per-model. |\n| `temperature` | float | `0.7` | Randomness 0.0–1.0 |\n| `top-p` | float | `0.95` | Nucleus sampling 0.0–1.0 |\n| `top-k` | int | `40` | Limit top K tokens |\n| `stream` | bool | `true` | Enable streaming output |\n| `debug` | bool | `false` | Enable debug logging |\n| `compact` | bool | `false` | Enable compact output mode |\n| `system-prompt` | string | — | System prompt text or file path |\n| `max-steps` | int | `0` | Maximum agent steps (0 = unlimited) |\n| `thinking-level` | string | `off` | Extended thinking: off, none, minimal, low, medium, high |\n| `provider-api-key` | string | — | API key for the provider |\n| `provider-url` | string | — | Base URL for provider API |\n| `tls-skip-verify` | bool | `false` | Skip TLS certificate verification |\n| `frequency-penalty` | float | `0.0` | Penalize frequent tokens (0.0–2.0) |\n| `presence-penalty` | float | `0.0` | Penalize present tokens (0.0–2.0) |\n| `stop-sequences` | list | — | Custom stop sequences |\n| `theme` | object or string | — | UI theme ([inline overrides or file path](/themes)) |\n| `prompt-templates` | bool | `true` | Enable prompt template loading |\n| `prompt-template` | string | — | Specific template to load by name |\n\n## Environment variables\n\nAny configuration key can be set via environment variable with the `KIT_` prefix. Hyphens become underscores:\n\n```bash\nexport KIT_MODEL=\"openai/gpt-4o\"\nexport KIT_MAX_TOKENS=\"8192\"\nexport KIT_TEMPERATURE=\"0.5\"\n```\n\nProvider API keys use their own environment variables:\n\n```bash\nexport ANTHROPIC_API_KEY=\"sk-...\"\nexport OPENAI_API_KEY=\"sk-...\"\nexport GOOGLE_API_KEY=\"...\"\n```\n\n## MCP server configuration\n\nAdd external MCP servers to your `.kit.yml`:\n\n```yaml\nmcpServers:\n filesystem:\n type: local\n command: [\"npx\", \"-y\", \"@modelcontextprotocol/server-filesystem\", \"/path/to/allowed\"]\n environment:\n LOG_LEVEL: \"info\"\n allowedTools: [\"read_file\", \"write_file\"]\n excludedTools: [\"delete_file\"]\n\n search:\n type: remote\n url: \"https://mcp.example.com/search\"\n\n pubmed:\n type: remote\n url: \"https://pubmed.mcp.example.com\"\n noOAuth: true # skip OAuth for public servers\n headers:\n - \"ApiKey: ${env://API_KEY}\" # required env var\n - \"X-Tenant: ${env://TENANT_ID:-default}\" # with fallback default\n\n builds:\n type: remote\n url: \"https://builds.mcp.example.com\"\n tasksMode: always # always run tools/call as async tasks (Phase 1 MVP)\n```\n\n### MCP server fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `type` | string | `local` (stdio) or `remote` (streamable HTTP) |\n| `command` | list | Command and args for local servers |\n| `environment` | map | Environment variables for the server process |\n| `url` | string | URL for remote servers |\n| `allowedTools` | list | Whitelist of tool names to expose |\n| `excludedTools` | list | Blacklist of tool names to hide |\n| `noOAuth` | bool | Skip OAuth for this server (for public servers that don't require auth) |\n| `headers` | list of strings | HTTP headers to attach to every request, each as a `\"Key: Value\"` string. Values support env-substitution: `${env://VAR}` or `${env://VAR:-default}`. |\n| `tasksMode` | string | When to augment `tools/call` with MCP task metadata: `auto` (default — only when the server advertises task support), `never`, or `always`. See [MCP tasks](#mcp-tasks-long-running-tools). |\n\nA legacy format with `transport`, `args`, and `env` fields is also supported; `headers` works in both the current and legacy formats.\n\n### MCP tasks (long-running tools)\n\nKit advertises [MCP task support](https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks)\nduring `initialize` so servers can respond to `tools/call` with a\n`CreateTaskResult` (a task ID + `working` status) instead of blocking until\nthe operation finishes. Kit then polls `tasks/get` / `tasks/result` until the\ntask reaches a terminal state, and best-effort `tasks/cancel`s on context\ncancellation.\n\nThis avoids HTTP/SSE proxy timeouts on long builds, deploys, and batch jobs,\nand lets the user/agent abort cleanly with Ctrl-C.\n\n**Per-server `tasksMode`:**\n\n| Value | Behaviour |\n|-------|-----------|\n| `auto` (default) | Augment `tools/call` with task metadata only when the server advertised `tasks/toolCalls` capability. Servers that don't advertise it run synchronously, exactly as before. |\n| `never` | Always issue `tools/call` synchronously, regardless of server capability. |\n| `always` | Always opt into task augmentation, even when the server didn't advertise the capability. The server may still respond synchronously — this just expresses client intent unconditionally. |\n\nDefaults are safe: any existing MCP server keeps its previous behaviour\nbit-for-bit. SDK consumers can also override the mode programmatically and\nplug in a progress callback — see [SDK options](/sdk/options#mcp-tasks).\n\n## Custom models\n\nDefine custom models in your `.kit.yml` for use with the `custom` provider. This is useful for self-hosted models or API endpoints not in the built-in database:\n\n```yaml\ncustomModels:\n my-model:\n name: \"My Custom Model\"\n baseUrl: \"http://localhost:8080/v1\"\n apiKey: \"my-secret-key\"\n reasoning: true\n temperature: true\n cost:\n input: 0.002\n output: 0.004\n limit:\n context: 128000\n output: 32000\n```\n\n### Custom model fields\n\n| Field | Type | Required | Description |\n|-------|------|----------|-------------|\n| `name` | string | Yes | Display name for the model |\n| `baseUrl` | string | No | Per-model base URL override; when set, `--provider-url` is not required |\n| `apiKey` | string | No | Per-model API key override |\n| `reasoning` | bool | No | Whether the model supports reasoning/thinking |\n| `temperature` | bool | No | Whether the model supports temperature adjustment |\n| `cost.input` | float | No | Cost per 1K input tokens |\n| `cost.output` | float | No | Cost per 1K output tokens |\n| `limit.context` | int | Yes | Maximum context window in tokens |\n| `limit.output` | int | No | Maximum output tokens |\n\nUse with a per-model `baseUrl` (no `--provider-url` needed):\n\n```bash\nkit --model custom/my-model \"Hello\"\n```\n\nOr override the base URL at runtime:\n\n```bash\nkit --provider-url \"http://localhost:8080/v1\" --model custom/my-model \"Hello\"\n```\n\nWhen `--provider-url` is specified without `--model`, Kit defaults to `custom/custom` which has zero cost tracking and a 262K context window.\n\n## Per-model settings\n\nOverride generation parameters and system prompt on a per-model basis using `modelSettings`:\n\n```yaml\nmodelSettings:\n anthropic/claude-sonnet-4-5-20250929:\n temperature: 0.3\n maxTokens: 8192\n systemPrompt: \"You are a concise coding assistant.\"\n openai/gpt-4o:\n temperature: 0.7\n frequencyPenalty: 0.5\n```\n\n### Per-model fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `temperature` | float | Temperature override for this model |\n| `maxTokens` | int | Max output tokens override |\n| `topP` | float | Top-p override |\n| `topK` | int | Top-k override |\n| `frequencyPenalty` | float | Frequency penalty override |\n| `presencePenalty` | float | Presence penalty override |\n| `stopSequences` | list | Stop sequences override |\n| `thinkingLevel` | string | Thinking level override |\n| `systemPrompt` | string | Per-model system prompt (used when no explicit prompt is set) |\n\nSettings from `modelSettings` and `customModels.params` act as model-level defaults — explicit CLI flags, `KIT_*` environment variables, global config values, and SDK `Options.*` fields all take precedence over them.\n\nWhen switching models via `/model` or `SetModel()`, if the new model has a per-model system prompt and no custom global prompt was set, the per-model prompt automatically replaces the previous one.\n\n### Precedence summary\n\nFor the generation and provider parameters documented above, the resolved value at runtime comes from the first source that sets it:\n\n1. CLI flag (e.g. `--max-tokens`, `--temperature`, `--provider-api-key`)\n2. SDK `Options.X` when embedding Kit as a library (`kit.Options.MaxTokens`, `Temperature`, `ProviderAPIKey`, etc.)\n3. `KIT_*` environment variable (`KIT_MAX_TOKENS`, `KIT_TEMPERATURE`, ...)\n4. `.kit.yml` / `.kit.yaml` / `.kit.json` (project-local, then global)\n5. Per-model defaults (`modelSettings[provider/model]` / `customModels[...].params`)\n6. Provider-level defaults (e.g. Anthropic's own temperature default)\n7. SDK last-resort floor — currently an 8192 output-token ceiling matching the CLI `--max-tokens` default, auto-raised per-model up to 32768 when the model's catalog ceiling is higher\n\nSee the [SDK options reference](/sdk/options) for the full list of `kit.Options` fields that map to these keys.\n\n## Theme configuration\n\n```yaml\n# Inline partial overrides (unspecified fields inherit from default)\ntheme:\n primary:\n light: \"#8839ef\"\n dark: \"#cba6f7\"\n error:\n dark: \"#FF0000\"\n```\n\n```yaml\n# Reference external theme file\ntheme: \"./themes/my-custom-theme.yml\"\n```\n\nSee [Themes](/themes) for the full theme file format, built-in themes, and the extension theme API.\n\n## Preferences persistence\n\nKit automatically saves your UI preferences across sessions to `~/.config/kit/preferences.yml`:\n\n- **Theme** — Set via `/theme ` or `ctx.SetTheme()`\n- **Model** — Set via `/model ` or the model selector\n- **Thinking level** — Set via `/thinking ` or Shift+Tab cycling\n\nThese preferences are restored on next launch. Precedence (highest to lowest):\n1. CLI flags (`--model`, `--thinking-level`)\n2. Config file (`model:`, `thinking-level:`)\n3. Saved preferences (`~/.config/kit/preferences.yml`)\n4. Default values\n" }, { "url": "/development", diff --git a/providers/index.html b/providers/index.html index bf602089..413636d6 100644 --- a/providers/index.html +++ b/providers/index.html @@ -7,7 +7,7 @@ - + diff --git a/quick-start/index.html b/quick-start/index.html index 48d3c296..57ae6d39 100644 --- a/quick-start/index.html +++ b/quick-start/index.html @@ -7,7 +7,7 @@ - + diff --git a/sdk/callbacks/index.html b/sdk/callbacks/index.html index 6dcfb4b1..a4b77656 100644 --- a/sdk/callbacks/index.html +++ b/sdk/callbacks/index.html @@ -7,7 +7,7 @@ - + diff --git a/sdk/options/index.html b/sdk/options/index.html index 4873b95b..ea7a18ba 100644 --- a/sdk/options/index.html +++ b/sdk/options/index.html @@ -7,7 +7,7 @@ - + diff --git a/sdk/overview/index.html b/sdk/overview/index.html index 00880eb2..4710c21d 100644 --- a/sdk/overview/index.html +++ b/sdk/overview/index.html @@ -7,7 +7,7 @@ - + diff --git a/sdk/sessions/index.html b/sdk/sessions/index.html index 8ef8de4a..e317818b 100644 --- a/sdk/sessions/index.html +++ b/sdk/sessions/index.html @@ -7,7 +7,7 @@ - + diff --git a/search.json b/search.json index 2441480f..3c9ee086 100644 --- a/search.json +++ b/search.json @@ -115,7 +115,7 @@ "Preferences persistence" ], "tags": [], - "wordCount": 1442 + "wordCount": 1492 }, { "id": "development", diff --git a/sessions/index.html b/sessions/index.html index b5602525..f45a49cd 100644 --- a/sessions/index.html +++ b/sessions/index.html @@ -7,7 +7,7 @@ - + diff --git a/themes/index.html b/themes/index.html index e871bf04..e1847064 100644 --- a/themes/index.html +++ b/themes/index.html @@ -7,7 +7,7 @@ - +