From f184fdf9b96c93d50b121cf80a44c72eb5daec8a Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 20 May 2026 22:00:49 +0400 Subject: [PATCH] v3.3.0: fix auto-continue class breakage, add MAX_TOKENS auto-continue for Gemini/Antigravity, bump version label --- CHANGELOG.md | 1 + codex-launcher_3.3.0_all.deb | Bin 45164 -> 45562 bytes src/codex-launcher-gui | 16 +------ src/translate-proxy.py | 87 ++++++++++++++++++++++++++++++++++- 4 files changed, 88 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7547332..06ed0d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - Added `response.function_call_arguments.delta` and `response.function_call_arguments.done` events so Codex can execute Antigravity tool calls and create files. - Fixed functionResponse name matching — uses the original functionCall name instead of falling back to call_id. - Strengthened Antigravity prompt policy: use tools immediately for file changes, avoid planning-only responses, and answer directly when no suitable tool exists. +- **Auto-continue on MAX_TOKENS** — when Gemini/Antigravity truncates a text response, the proxy transparently sends a continuation request and concatenates the output so Codex receives the complete response without manual intervention. ### Reliability + Routing - Added BGP++ route scoring, route cooldowns, token buckets, and persisted route stats. diff --git a/codex-launcher_3.3.0_all.deb b/codex-launcher_3.3.0_all.deb index 67c8d99c81f6d10a8741ff36dd4e2fb82cadab3f..54a5a1e72eed0d28be29eaeeb7a984ebd2129a23 100644 GIT binary patch delta 45422 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
lmRH$cKfnaECffX5s*EG z1!^xl1s?;ao5?G**Xh*I;gllBOiwTlm4?)KiBnV6cr{v+5l6&Pge|{|+BPV-6H5pG z_Wy9h|5u2K5Q$Wd0-(NuW{9g(*u-%)9zK`LpMOcH8>NDNw4#;yme(J1nm<)TTYEN| zQv)o-e^&ZSfU3f!1{6}LGLx!yer)l|SubRVJjmoJf)( zl8562@o8>qML}s;#G*xcyT?iBsa>he%-U!4RfaB-eBL)nV24S=T9huBVhiRWO_dnd z+dv|y@Qh;;7$n`Pd%8g9?b)w82!DnAEzO=X5Ad6ua4NQ*w+wcy7=e|;j$pAJQ=h64 zVzV49$r%Y_X50!U(_l2ak78}P#@roRW{sHR>P-xk7YN#31b2C&FBKkb1jFpw8Ee=-f!RS9Imo6iad(tqkYG)fRh z2qBLk47NJ<3EkE8={?#L%gAf+#>IU&ID0Gnm~ielx!bA58Nu5f02Wxux9RbPo4F-kfuQzIbEss5NQ_ikFOnY@b&JcyB}t1mOeh!eKCc0 z_HR;zttm`Cjny9_L=gtdPM2YaPf@YO) z-{^z5n2sScH-$veU=r3|i?!c^)yC;}*-3CJa3(ZOkHT&db@v`7bIQh5FNrs&-wc)I zBc8wr0I_S8w!GwSZt>OGl%`YpRsY8vz!iQ6{!AZvJxu>~7Du`74}ZTT>j{1GPk1nU zv_xI^un-e;6HlSSq>Z>a{D7 z=Xw)LZd~_f5{n_q#DCZkc@8J>oe_U0J?qfhzPj5^tEr z^lpntj^_Pjd(!-3Oxr;WdVnhk)hY;kDLs)y5zSBGfW@kLd0&X^WqP^HSM>9MGzv*a z0(GUJtFu615!;n%moy>Qj0~iccF}-GBtcLj{&(|`*9Sg4wHnqS2*0&6ZfiZyt}|_H ztJ3)#q#wa1pnm~*yw>|ce_W*3Vf76ah%OO-u=s76_E(rB;t%&8k#6E^&_R(xMOm^@ zxm8X;a0r6J#mkPC6&HC`dI;L&!)5!WHv zWQ{p#$4e#$Pt4gjgebg^0GGtDM(K+wpEsaTGc6S3l7GsB&#nX%VqA6%A$eP-(QSbO z_9%wKMp;oqu#@SUa*GgF_lnD{!)aF-<@9FwDTl5tm4z#)Z|l%vwdGVjP%Xgxs3+_r(Hk%hi!1&z z>ZvPd1Y`vJvT&cVk0-vL5loX&i256!=ij(XjlWPZL|v!Tzu&vfxdg z3D6U63kdK=NkWH|-uMt@{W?5zmR!(MhdtSz1b>XnV^eL#=kZP6tJt0Mpk5P}6y-6< z1tXaz`&tZsYfTT|a9@N;4-(!g(KMqBpsj&2 zra{16$rvEnf_Ha0Q*(~Z&OKVV7zNQG$ia}&g!RW?U1?b$BT0s7;{z~EcE85?mdb<1 zPEerxU_VF_)}b$eMw|&|Q8v3TVyWqd`+wyE``G$UZ_tl3bEQ3+COjK-U^qS#v)=Wt z|KSE<+vKD?YT%p^6!&Hm<`Tk=l9#b`&^0-F10 zP^(EPv zs@5v&L}Ym;;Q@!mDV*q~)x`u(-MoPZ&0k^x3g)6EqhKtr0-Ipx{4CV^To@<*gv4tf zg~;%q-cMC2HV6syQ~?b!^3L|DH*L+t;^H()_^Xq@IDC={aGPZi*&MYHzFx#4Tf zsUPtXwdEI?EZ%fzw%UNJZ9?O^Lz^i?DmQ=f=(2Ya;dXjo3a#mkL*yVH&?j)pJ+n!H zx@dP)NEais5$%9+=+=@1g2h}_H%v4Re|fCA1@?tp*AgM^)Ro2{(Y){v65sB}p*e=R z|EfbAF*1vysDQA=Ne+>rDbK&_e3>?1RBg^M>J~MxF8tJvx z(fVnpnTTgZ$DvkJxtVLkXOI^q7Gr_Zbp>am`qR}0U$Eb-?UP1i+9 z;Q@L;1G6UXF{_<#X_A5{a6WmQmxu+~SG~+M{kz<|H$F5*CzXp7@6CyM{#Z8n0u<;@ zs6|l^Aa_F1RBgkcIqtbMfa?F)H!u)?o|ZWs2>#Vk(gs)VQ~ZWmkB0+~knR>-diZqeeX(2Si<{l}lz^EeHerjjVkjIjm%_4{Hm_5i#r%XV4md)Dl= zAFMS9p-{sc=?F4~(%ed%6=q<@;v#k9!W(6%nis1rCB(m%kD+$~dOf8he7D z2c3qF%@EyzSUtt|dc$~8x0_=qqb3H}Iu^JZCFD@!4?dJzX}ScNjaiW-;vcE0!WBb9 zh)NkkyJQm$TIl|ZHa36I0Y}V_9|t`p)$o`Hf+wp#c|oUDf>#SQ5$7#d6lOr7MM)(1 z*j`ISS@$n>utirhr^+e)(u+$UKq`wh$lV>Hk4su!*s%z+>9O_dtM6E9zVlk-fD|Wi z1>xVItw#N6Zv|{5)D|9{O{3&jP==do_^p?M{7W8uxD63`9{qpd5AlDAOW(1P`2?jC z4ksY+JlKy^ARund(0uT*zaSmvr9`OcuI%q2n}$K5*A?8jnC zaFlCg`yH9j>GSSY5gf*O*pScKGY@gN6f6qR1(ak)(;f_`0c#uR1f5_J((60&MZsdt zUz!Tu4&zlEce8&<@qxkE+rPbXwgV&X@1h3Qd5x41M1LX4KwkmYn^V^@`O$i1$X`j` z3%m|4*7{Y+TvtlF1vtuW&OpJLZZL2n)+k9C)J|rH4Y;`Qw!tVNd~V-yh-yA2;~r-# zpvoV$u)*uw&iGCYqL~gg(^BL@I}pC|)Pi~;#uyFkLQ#KR2HxG>Hbt03-y`{gL*wFw zo3I_Op%X%cWKsE)w5HufcL@T2>nrd>(vyBiz!pT9ZflA!UkZh-brb`do<}*@rQ8X! z_#5p}Q>pOX6(wHv^nwYzdjY)lUN&8ac)?Q4kH!s*q|LD2w zhcgD@Qcp=}=g0CaN0@md&Nq8JYeL>zk3VH+b$ogT@}lwJsO4&6^|!fJ@~)RVn(iwv zx$=ML_ZDDF@MdIk`Rg=u2eqlybb7^kRckaeWWO1{01e-wUGh z3ns`-cvCmCk(MWyirdFSyP*8+FuNmIZ$RQ;X{DZ0^nd(Yvq#Bg-szTlMvp;lTeyE} zFR4$rP!}u>!JaV}nDvd$K7~U`$U7F)Bf8V46`D4qcpaQ5>0pwwJCRNaVD-@HkUD3h^Xme@x znqgG{NE9(E6VX${#DdKSi1gnMpct49spj~`hOZkzNhLK)b_s{6s3u=#YLMO8!)NS0 z7xJ21O}Jl;$|dHOM^p^6DtCW!pyzfE`qaO3BzM;cm*?QHvZ)KTG%s)yeV@Uk3yp@4 zZd8Y8uN$b$xW0C3Z{(V-i_clzF0SnK=<7|V1qtZB*`J>qA`H;+-xaF`nnA6Xovv>* zWLz`+OCBa;LUwHIe*W5E;GuDGZS82R?)!d`M*g29j0RKRJ6Ku&Z$^Iuvrv^R2BSAr z`%O&hws83M*)Z&n}FUp5?tPy z#IDu%TU9m*(*&engqTK_u0*{hMy&}!g{KJO99aCcAbMX&KZmU+Rb-hb_ZN&JJT0IsZ6`+#GhGk<4gQ-YGO7Rr z1w}%cGXT!4`LlAY^26@+ipGsW{9TbJbSl6}%99>2m+}VSm_UEb@Io(y)jk++%|@a6THZtrHt)%fS)a%ShJ3y3*fNn9z*-qp2ir_uVy zgbuuC!#+A*D)7X@R9WF5xbb4AHNpXj+#mQ}Psjlb*2dHL$Nfpgw{8Y(m5O@5z;n8- z6I-I#5f5T|vnzp-;xe7HT)r0^G_ftlHVY zs+_wmud_L1r&)|{K2;p#kNNo@0mF;c{~(>+4@a8#3kcNr_FaH3vL<8&zq zS4aqeW`+nkeMAd7MY|MerUls$Hst*Z4qgq>d6Kp+dAfh%%1mh%c*^a=u6DB2Mr%6i z2CgpC7?yzo)@_8`N()*Yd)&FG;4fa7vAiaGGcO~>cvyp=M#~g9PU^Sy7vZyu4lJC8Of!FT@^MvLC$2ziDr!?;P9t9U z@22L%olSpE6cg=(GIrwZzGAABl1S28D5@HWE}HchfAn*ZbsJJ*=O4eJPQhldSu_^D z-WrO=vQSYA6`0~&+*rgTyhB~au_)kJyZ>X1@=MTN|eTK7BQYnkk8GuSH01J9mnEVOPByi|o94_Rcg7zrzyvFSq^N=t7Pa7oIETx#g zv{T*?G5|rNZO;fL!+~mK^MW!uWkO3-22@yDDS%0OjYUXX9-4(Hu;a@uG@oBkL%27& zWbc2d&-7Rvm$6e{Bj>2K_q6nW4__OgPO|fWLKKLetrC)O`qyOc9&BwPfIu9j0Ma>x zT%X*K63|aKIvW`CZ?SL^0IeD~92mpn2H{C2F*Q77?(Ih65y~8c{a+{O;){#Io75GO z^*$mXOoerJ*z0p9BFz11AcmS$nIz)#eRO|pmZv8;NYv7#xgC<{(l}p->xPH$<~D7C zmAj{&rMvrzlvITkwQ}zEjN{JSPb{R#AG6kBs;3yZf7ai%k|gkXTudKMC-}>WVFx~C zhEk^!H}u&IvEtz-cD+3^o`j3a|2^o@?qdh-!{HDe))L7jAnTZSWmUoFR4-MR5f6X& zZ0L^?O=xs;M)j)JY2?CoGFl+<=MIEY8%}W|igA)iR?2j~0sUxHLkitx0hk@N)x1T_ zzn^u7()$I5eUqYqSk?4egx?p{gs8kVh6_K5T=5u;efr=in6uh!QBp|Uzs{5ya}yK) zkyf_-mK*~Mw?{VtaVTmZrzGA0H9UVpG*YClQ~iO^3m6kMWNk9AZyr;jaG*HM#!8k1 zfaU8^*zmZyJ3@%<)GQfAT6od0Xm1yT%obszBaSmo;=FM7McFXvOz9*Gu~#3i{tH_I zV>sjGy^jYkIL}o0^$1vn+wC4?AE~!VqhKQmw$L2aRMdJ|kuW+-$Ule6LzI7SClQjX zfTrigYSrkXDH2S17}~n43_!Gu4Ft6$X3^G3Lq-Nc7}Nvm)Zfg#XAmE^GH1wVTBIbR z7HQgXZZb&LYj?+!WUe3&vrr@zmS_T&N{;L4DlWtPov;)!SxX{_isldRbQa-)_$`ke zVf#QA2rJ^a($iqZ4W2rDHMD=J^xga*eWBh~28`II$7DHrs`3aeg4hDWo+G`IDWVze z&F}+ur{ln9y@2*U{O0^Ti`ksr2CK5mmrDn)78Tri>2z>y)Zy7pxuXjtyKHrXaPC-- zm@~G+P)q5QloZDp7GMX@wm*?A;08> z(IO35{L_G55kJ)Y$jp~vmD+(yvKSj2ccmaV+4nF!ziqd2PiiGl%FHUH!55VaTAzrl zN<*#}%(KJNbKr>7dS`#hMbomVrV{E+Hh>()ewE_kt48qX7hBy?hNNc^fvr@2VuPhv zGLVJiYwA5#5J~H9*-uT)WabV+N&U$1Fs??8RWltxT<|$CYeIY>n#48M3U|OcA`T|T zWb?BZ0&sU5Gq<87P3B~=9yBJLXjCPw=a^YWR12%3t~y+nYWja)xjR`tg%oJ%*Y=pa zo8?-Ip9C3Jq^hMAMt~EOx1$*e=Tt?K$Q+5@H8k=@Yjixj6;ha*3U}e^GQ~Gd0WxQ!wyJJKO|foSCxemKPJ_D11KZ8NmS`7uL#*O=3D3N!cZY zfO<+a=jI?Kg8qCF@(%E*aHy(4FL}M@O8JVoVvWTWBOnbYYADOc!N*SMq9G#R8w=*D5KB; zd)U6dW=v)5m$~E~hl0;8o^%KJ9{x&dki$NS($#-^`$>+O`ozk;@;NPqss$k;P;;h7 zNht}ZR`1pGYRPZ51K8^Qzsp9%T1lJbD@Ehwz|uJ8*Eu#W7Nn&XXSI10rAV@~o4NVB zDe=IRLJclwuF-g#Uu^=^S12J~{h-_24Z$DIvK!z%VWQ=6wU49G>F#w*qwCpl6d)eJ z)1!Yo#!CxvUZcLqKqovy$EfQ5WnBhhR8bw86BB;uKfgyg%jMq`A6S#< zxF=5XqI5=x{fyxK8MX^TDncvu2RK+fdKZ7}p*y!27UO}+B*kj&^I*9o869w&hf#kFl#9unw(ROnt5+UIyA_tA=yo1Rl2+SX$oVe zoOeA#7t};unxaLw$Z1V2iHf)!RSoLo4x+feC{YH5j|83smYyWu7vZDX36!fTeB^)m zA$Z|WaE8*vp<<{~&5EiOi7U~t(9gPH+A%{{|9wAiI5Y(sIvIbYLJOmu1n_xj#eH&Z zDjgzMWfNC}!LeMmKM&q<3Xa;{R&RI4D57BY39nUPK8vu&#DKs(HuGpdXksB68yi(( zYuT8VgC@CZW<3GWLRH`xa(X_EdiH-ysodp-X!5`q8W3UpM~fj0G5;AwVSSKi>vOdM zj?m(Y^VR7$J3c>{MqT=pjA1&+D336zt3I56(mz|oPtz;vi9Zu`Ws0VFU$BX;B(69W z%j8_zInl`1?toF1>%*e9C3T!h zVwKb!Alaa9P`gLM)LjS55D9-gV8SPBTy{*;kq7vpeJHw|2L$CyGTylDHGhuM3VgmB z_j-zYCD4LZX0K$&C0{2MuOu@*CbFv=wO_7hmZ<2VGhE{1pUB0#G(I%Nm8Ll`H7y67 zKO5mq;Bo1WiQeBv{-bt4_M-|b=N39W>GDcKn;JIlq=M7zM{6E zgd1%`ph9XJk#@EM-3bi%0$)?Pfs)7jAl;YG>&H!v?;fIFhPku z(3F6@LA|%`Mzk>@>9E94_;v9OHl>s?-C>Y@3q7dT1{K#_tYWB+4}jT`wZag@#*a^& zD?-)T9`sI!aMW$?#!i2mXXA<0!t)1PD1PEiCP53+`|Nbcw1n63d77_*@@hcHar0rA zuvin{;Kc0tKX>vN+`TH(9T;h0WBoKm&n=7zd7lZ3r8yg#NLr{sSzzF0uWrXP^SIV$ zLnsCZf9B9L4P*j?lE#JoRg9Rfy}Oz%BCl#6sq1?34THs-f~$z+&ZX<#+$2%cv>y1jh4*A zyknlz5EWh$hyikWM_FQoi(EiGNV*;rpUcFx_e&BTjJ|(qG|i(000p0WheWBl28kEJ zs3gtd@M8$O0C&xiYo<5_00dSo>_8gzu*E0tS(w~vI~!szzS9;UlKS%Rgfw2{xXGa* zzjW2U%7M~xKV zK*BCu!BUn5@xQ6Af;wu|{yiZ%bvoOiardG5^J2F(OydVXdLjjvP zTHj9Y;d3mvaZbfEoNKe5D@b!pTkaHj&02?BP#=HMLe^*8?vUB1P08pEr+ zT_S|&mSd}RrdSFG%#%ntjK~_%9+_b%5eK&fEtH{rk(Y`hOezgynSzAt%wDE)xr-0d zM!dR!$b+7@lUL-|dM0@C2<6Nrl++_0X|I2btI1P7^%1HIaDvH85S9h?wcxECX0Rc1 z$X&)@FI$A3?rAzY8e<^eEGfn>Aj)9p6G^R!F{64vo+)?Xx~Dk4>LC0o^>jr#Tp3fB z79na4WKfRKBD>OxUHcYB8wrt9msf>0%Y|7e3js+4g?!26u39Dsac|f-!m# zX^f?zVCLUQ2*F1@{~fW}N{HtVSB;D^hK!^T_~|U*T~}i!9p^YeHUOVG;6}ufrZuS&9o(MRfK!BHZm#D zUbL6k9$>X_V+NKzIlW#s4Ng@VR^=v)ClOg8p_6umiB~A&DlZ3PuPd~MFD)H?fWL)A zYWv*E90OW;H%kXpp(Bh&&8&Z)p8>t?((NW7SeYOqg*AyX3nQu;t_r6R^9y^34uzxr8G{p9u?Rw>dc!+#JrS%nesz`?u$1x?y6iVs4e zkb+zEhaDCgsU7MJ4jp4?{qPKic)Hp$ibcZ!4Q&#I0rcZB!d9rl8o_@n01gQwmOJ0K zu$82NUh1nDmpAcy=dl!ynL{5^3xB1$q}d74C((d}3!#&nfsT%gEe{A^u@kS;6KU>Q z9|G#cO~(1MIs#wKih{HIxEWKd(K?f!EFx>OZ4GtY*AH$$OKgoPU(-}Un@WP!Ys$C{ z{r(Kl&_bsjz3aY{ptOIyn?N`1Zn&LQzZaLh8^UVr_b;trhW~v|sx&%D2n6RvjJsWT zI+%M`L?s}~J=QSrn}bcm7v>di)ehrDF+A-T17_n<=2m)<6UD{zFI>LFp_26+;Mvtk##?ODk5S6_J@y(iuxD0Xs6=ss`ik3P^$cxZgSc4X;KE_b9NL=oYF4k?0tLZjs?ux*Qos%isK<;^{$3(Z^;Yfcq!k}J!wZY5 zrCYj;JCB(`(3T3~_{D@((%j2GOfnyLA)E0#h8k9r??Qk2FCUmltl%=&w5MFEd8a2R?s7JNMcU@63^-CJDOwJ>0)g=!(Il4(=o_Q@-84W~l^4k>IzV z)Y<@Ce}n~Z%-x?Iom;m>HMTi=Is(( ztcIU0Ys-HWc!d#uFH3+uoOn_Xad}SgnejU*F_fSHjT;elbwe&lka8(G8jS3+i9`-{ z_eGFZfLQ)X;UoyQ_UonVc@51|C~RhKZ=}!kK!yCOfSkwo4Q_?FDWFRb#dAkFpy~(kIC)o~ z9uHu@CjBJhf7dXrKHtSIXRDBGpS2b(Fb4UqjmrRE;Dz`kF3(|CADdlusgz9w-4YbX z59YDsj0bc((&+l(u`*bSS$~2}#0UvW3<@>l6TB{oN@O8t!NxaxrlS$KOQbmGrK}0A zVN8D@t)ow{oIyO^k;)O0Wq<==qQ=j$!3CwX?QTXevARTr-%K_rUmBz6(6d(7w$Gd5 zgW8T0{dR&NJ$cmwp4wV~@mn~pg0<7cm&em0ck>5TA8g7K|GK{foi7uZC@IZz+9DLHTAPi!MFcE+)) z?;)HylK-Gj9=e%=Tt6t8-`8$_wU^ZWL&jNaztD28Imjf-d%HeeFiR|ZB`LXLU;Mhh zGSLaxUbc>x!W&Fd#*cU>&eiZiVin4W`+YAVkq>VqS6cm{s@w)|SsQ|~!#jVvnu_yaZg|B5giO+rzVx_YIG&imoUU53H)d*9?Y z4^Df5r?!k^(;%12K*=-oPGf(Gzkh$*rZC}5Y+u10WiZNgW*7)L`LJlB5mulDKLK#F zav23P%NR>&9GKMppfGJ+DhSG1tu1tXDHRdF?Lg4hXw=HTK2fMaL;ycMjGdTDyTTD` zF%>o?OqQnh)zqL+`aMeYLc%MRVVTOmQ|b2#0pLf0QdXhVyhQ1=rZj(`(gB1ntG1C( zGmB9*6EXB~pjk(ZFkhl*)iuPztJ0CRL*v8V6_V6*OgKuASMF2&2#MS;grD2VIfl6} z3;!EYAvGRRA|Wntm-Kq62XrOB&0i8Ij`TNMSli82RQqS&k{);D0+#BjCao`mUhKA` zUFO^YJXRNXHb02vp(cNjI)9NVEYU)ps;E#!!G?O0j@DT?@}v)+$i#0UmOtIr-*Rhq zr3m8eVnuZ2BcQ8%6iy8-e_lY?6~0p{Cw|=D;9cCO}jz`A7&4{Qj`;TrY_H^otLhQGO`NiJEU87Syb z9Td1$AUCJm5a>Q>wdKduIb!PMneIbAg}@ zIc6(YUv=7r(#^UIjH>Vn7T)%b#;fxXdjAQvVDMo1&3=CpjEuu|r-S^#91oKY^a^jR zIg=cPs@XFka}R4_V^4xJ_F@5L)fbGEFF=av0H`B^vd0EhBuhjjo~rU66ok3&(glnF z>L~c~p!dK|F(l zWilgadIgk_@|CW4IJshG@r0(i%hAq10VGdfy<6bZ(nk2sfhQ|o%HQ;_?N+^v4i{H` z5Gx~>x1XE3A}DqUY|$Yb1*d3-RU6t;y0FZ<3lV^}R$-1_nhoh`ozz}C@?1{lRD?@pc-rCZ&HK z6jLizxZ)glVa)b96--AC;a2@fbO?=kff-U*Hsijbiw&@#0|;=Bo{0Diz}TsPU8XqT ze>cI{(7=@!!Dqz*Y10cfpb+VVaub>-Lb1{+Xp$P^1$5^nA09x)%GM7u7^7l3o-Cvs z!Klwz6akgt|645JsT79+!Q^pM?)iT=oDR@aFx0OdMIU|z^%?31`rVNL34{bH%0a+w zBdm_V`H)BO9`xila3{I%Jq#b?F>0?5nW!li2wL}RgB%8^Z{(}V2p9J`c_ zfdj<3)~x5){)GHLWO~Ty^1wJccu@wQIc&dWhqZNtOV{j!qr$^sW|a67Y9oJ4z^(t# z^+J*6e#YtOMMX$6mMVFS9T2TuBru-Xlpmzatd;0my2C1QH>U^cs>@ z0v<|(gHb64%3`zIv(dGGw9S72WVX71KsR*{AvlJQH%-m7<6vvHXJ*rG_q7WMr z?{Ezj{@Ux`4(;{Om>4G_h6tndkX-KXs>-sijTc1`ksC(~`8tr>92nu$L3evjEj~(7 zGozfky%w+uC;p$f;_uP%?U_ygR-54{@mL7sz-@%B?xZNR`Y{`7qH}+=onYlr>+4mu z)Zfgdb(lE!pD5!8^*5GEAP`k@Ycs#mruCM~bVP^~+0I^sW?Gd{(#X!|4Jy7!9=stk z`XeUSXwYd9;7?ERd=F8AW(_c&8w5|IZ{RtnBFMq~up-WD63u)eR@Y_h^;QehP~%g` z*F*&{O;H1598#tmP`Q7}`)6q5N589QGW0Rlzz6N~B0@k~QS>d_(T`8ovgKZ( z(Ndgx$5n*xX%jkzDYH+t@{q(d(o144XzCGk9|s-Er)1Wo)h{&%B7m-_jE|bkFa95Z zwXK1?TCB*lm^2EMle7lLRbH%8Y<{>jk_9DMvsPIjQ_EIyk7$33SKGeoti^BkTQNd6 z3PQ!(Nj$XZU{}wVM|=19+$IQtFYy>VhZLSSC2&mpMmpZpkQ(bjT=(}}*YtT?@aJHG z-bS%NC+Z4ES==ysBXke=ZuUWIZ2X+^#2+ZkkTH??$9rMs@{o#HeV2`x4qGHhY=qty zQvq$0IOEs{78ift8WQGxeu@o5ds`79v@b=zlmbxbV?8Zi2E`RscZa2ZDZziZ^9p$H90vz8v2*YscI~Jr(^|!q^qKm zeIVHOMQ~DmpX=#mNtV4X*lo$SEFt*2v*{nn$Kd;Sh?R9u9DMliPeN92IM@&{QL-&n z(COuhCNIe?K1{ad-!9qzV`wZt8al11!Yz9v(JX)FB6Sa-%BeG4WO|E$dFS*j$7W|+ zZ@N4zj_#D_`mw^o;UVFTUO~m=xPy-H$ebc|><}kEOeSPk)F%zb5Zz}C&xf+9UY_#6 zyX%}r0$P=DA=q;K3@9AsxPm=}W{4fGIF%2w^geDmsX*=uAu27js8+4|V{8$t~sbeECNnB~fpdc*;b$#ebjW@QmfM=GNdTk{$84MhAb? z^X4!H>qO@<2lpNkgO3o!Kuy}D3Sp^V!EOtRG_W2ad3q(zTUb?}xY#AJyFJA_{?CY) znUg*QzcuH}!edKLH1OU`_=>y#9|V}+3JGSJ*ph~LEX6q0@15xY>U$PQ%&z(9$OK=hfx z(G>&Vyy*vKkrn_NZ`e{6u)CxAG;HirAO!T8cUuc@Y{z(U3FY!YOKpFiw`+gfDWm>) zlO_;BKr$%J4FDns8X8d715hLTNRDIb7V_*(aq=Qf63DqTVNw_YfGdi#ZXN*ae%-CX+ZU1KmbIKd#de#w9e2tDmu~HT;qS#Ty^TGR-_Cp zXKfK2xd`2a^Mm&oD(KXH&)Aj}5=P(#Xju+&A+SKWzyb$s@D~KHJ(gp1g5Y2QfPE}x zQUw7&@C-Ph2foV-d?}xNYi82073!#>7e0y&^IE+C6mK_3@T!<%;eUqzT77{>74qYG zIbdCUsN0HKnveoCA?8qEL*xXGsDODp@v2XO1je@sQvoAH*kI^tv@XW3gEEF+wSw+& uZ^`l{_@$^mtSy!!I}>K9wv(VD&t8vwRc#afJNVMdVY2cTwg?s~pIZveGsEWq delta 45021 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%0Dp)+%;bRx>N-HbI>*t}D4o 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 J008V9n8?Dz@UH*> diff --git a/src/codex-launcher-gui b/src/codex-launcher-gui index c4de26a..c225daa 100755 --- a/src/codex-launcher-gui +++ b/src/codex-launcher-gui @@ -31,23 +31,9 @@ CHANGELOG = [ "Added Gemini CLI OAuth backend using public Gemini CLI OAuth client", "Antigravity now creates files via tool calls — full Codex agent loop with Gemini-style history hardening", "Fixed tool-call streaming: function_call_arguments delta/done events, thought signatures, functionResponse name matching", + "Auto-continue on MAX_TOKENS — proxy transparently requests continuation for truncated Gemini/Antigravity responses", "Added Endpoint Doctor, adaptive BGP scoring, provider policies, adaptive compaction, log redaction", ]), - ("3.1.0", "2026-05-20", [ - "Initial Antigravity/Gemini CLI OAuth split, history hardening, SSE fixes", - ]), - ("3.0.0", "2026-05-20", [ - "ThreadingHTTPServer with dynamic proxy ports and health-gated Codex launch", - "Atomic config writes, safe cleanup registry, graceful shutdown, and buffered SSE streaming", - "Usage Dashboard v2, TCP_NODELAY streaming, Anthropic prompt caching, and batched usage stats", - ]), - ("2.6.1", "2026-05-20", [ - "Google OAuth rebuilt to emulate Gemini CLI — no client_secret.json needed", - "Uses Google's public OAuth client_id (same as gemini-cli)", - "PKCE + CSRF state protection for secure auth", - "Just click OAuth Login → browser opens → authorize → done", - "Includes cloud-platform scope for Gemini Code Assist compatibility", - ]), ("2.6.0", "2026-05-20", [ "Usage Dashboard — per-provider request/token/latency tracking", "Visual cards with success rate bars, model breakdown, error tracking", diff --git a/src/translate-proxy.py b/src/translate-proxy.py index d86e14d..f45a2b1 100755 --- a/src/translate-proxy.py +++ b/src/translate-proxy.py @@ -1402,6 +1402,79 @@ def _upstream_timeout(body, stream): return min((180 if has_tools else 120) + n_items * 2, 300) return min(60 + n_items * 2, 120) +def _auto_continue_gemini(handler, flush_event, message_id, model, gen_config, gemini_tools, system_parts, project_id, headers, endpoints, url_suffix, accumulated_text, output_items, message_started): + max_continuations = 5 + for _cont in range(max_continuations): + cont_contents = [ + {"role": "model", "parts": [{"text": accumulated_text[-12000:]}]}, + {"role": "user", "parts": [{"text": "Continue exactly where you left off. Do not repeat anything already written."}]}, + ] + cont_request = {"contents": cont_contents, "generationConfig": dict(gen_config)} + if system_parts: + cont_request["systemInstruction"] = {"parts": system_parts} + if gemini_tools: + cont_request["tools"] = gemini_tools + cont_wrapped = {"project": project_id, "model": model, "request": cont_request} + if OAUTH_PROVIDER == "google-antigravity": + cont_wrapped["requestType"] = "agent" + cont_wrapped["userAgent"] = "antigravity" + cont_wrapped["requestId"] = f"agent-{uuid.uuid4().hex[:12]}" + cont_body = json.dumps(cont_wrapped).encode() + upstream = None + for ep in endpoints: + target = f"{ep}/{url_suffix}" + req = urllib.request.Request(target, data=cont_body, headers=headers) + try: + upstream = urllib.request.urlopen(req, timeout=180) + break + except Exception as e: + print(f"[auto-continue] {ep} failed: {e}", file=sys.stderr) + continue + if not upstream: + break + cont_text = "" + cont_finish = "" + cont_buf = "" + for raw_line in upstream: + line = raw_line.decode(errors="replace") + if line.startswith("data: "): + cont_buf += line[6:] + continue + if not line.strip() and cont_buf: + try: + chunk = json.loads(cont_buf) + except Exception: + cont_buf = "" + continue + cont_buf = "" + candidates = chunk.get("response", chunk).get("candidates", []) + if not candidates: + continue + cont_finish = candidates[0].get("finishReason", "") + parts = candidates[0].get("content", {}).get("parts", []) + for part in parts: + if part.get("thought"): + continue + if "text" in part and not part.get("functionCall"): + delta = part["text"] + if delta: + cont_text += delta + flush_event("response.output_text.delta", {"type": "response.output_text.delta", "output_index": 0, "content_index": 0, "delta": delta}) + elif part.get("functionCall"): + fc = part["functionCall"] + call_id = f"call_{uuid.uuid4().hex[:24]}" + args_str = json.dumps(fc.get("args", fc.get("arguments", {}))) + output_index = len(output_items) + flush_event("response.output_item.added", {"type": "response.output_item.added", "output_index": output_index, "item": {"type": "function_call", "id": call_id, "call_id": call_id, "name": fc.get("name", ""), "arguments": ""}}) + flush_event("response.function_call_arguments.delta", {"type": "response.function_call_arguments.delta", "output_index": output_index, "item_id": call_id, "delta": args_str}) + flush_event("response.function_call_arguments.done", {"type": "response.function_call_arguments.done", "output_index": output_index, "item_id": call_id, "arguments": args_str}) + output_items.append({"tool": True, "fc": fc, "call_id": call_id}) + accumulated_text += cont_text + print(f"[auto-continue] chunk {len(cont_text)} chars, finish={cont_finish}, total={len(accumulated_text)}", file=sys.stderr) + if cont_finish != "MAX_TOKENS": + break + return accumulated_text + class Handler(http.server.BaseHTTPRequestHandler): protocol_version = "HTTP/1.1" @@ -1877,10 +1950,22 @@ class Handler(http.server.BaseHTTPRequestHandler): flush_event("response.function_call_arguments.done", {"type": "response.function_call_arguments.done", "output_index": output_index, "item_id": call_id, "arguments": args_str}) current_tool_calls[call_id] = fc output_items.append({"tool": True}) - if OAUTH_PROVIDER == "google-antigravity" and full_text and candidates[0].get("finishReason"): + last_finish = candidates[0].get("finishReason", "") + if OAUTH_PROVIDER == "google-antigravity" and full_text and last_finish: + if last_finish == "MAX_TOKENS" and not current_tool_calls: + print(f"[gemini-oauth] MAX_TOKENS hit ({len(full_text)} chars), auto-continuing...", file=sys.stderr) + break stream_finished = True break + if OAUTH_PROVIDER.startswith("google") and full_text and not current_tool_calls and last_finish == "MAX_TOKENS" and not stream_finished: + result = _auto_continue_gemini(self, flush_event, message_id, model, gen_config, gemini_tools, system_parts, project_id, headers, endpoints, url_suffix, full_text, output_items, message_started) + if result: + full_text = result + for item in output_items: + if isinstance(item, dict) and item.get("tool") and "fc" in item and "call_id" in item: + current_tool_calls[item["call_id"]] = item["fc"] + out = [] if not full_text and not current_tool_calls: print("[gemini-oauth] WARNING: completed with empty output", file=sys.stderr)