From a93bca3c73d11cf1ff43e5bf69acc4027a50c8dc Mon Sep 17 00:00:00 2001 From: Bram Date: Wed, 29 Apr 2026 15:47:10 +0200 Subject: [PATCH] add resulting url --- .gitignore | 2 ++ .../install_playwright.cpython-313.pyc | Bin 4351 -> 0 bytes .../__pycache__/main.cpython-313.pyc | Bin 55810 -> 0 bytes .../__pycache__/monitor.cpython-313.pyc | Bin 9117 -> 0 bytes .../__pycache__/run.cpython-313.pyc | Bin 273 -> 0 bytes .../test_cloudflare_bypass.cpython-313.pyc | Bin 6904 -> 0 bytes .../__pycache__/test_database.cpython-313.pyc | Bin 5700 -> 0 bytes .../test_postgres_setup.cpython-313.pyc | Bin 4335 -> 0 bytes .../app/__pycache__/__init__.cpython-313.pyc | Bin 114 -> 0 bytes .../app/__pycache__/config.cpython-313.pyc | Bin 1443 -> 0 bytes .../app/__pycache__/database.cpython-313.pyc | Bin 16643 -> 0 bytes .../app/__pycache__/main.cpython-313.pyc | Bin 4588 -> 0 bytes .../routes/__pycache__/__init__.cpython-313.pyc | Bin 121 -> 0 bytes .../routes/__pycache__/browser.cpython-313.pyc | Bin 9021 -> 0 bytes .../routes/__pycache__/cache.cpython-313.pyc | Bin 1272 -> 0 bytes .../routes/__pycache__/health.cpython-313.pyc | Bin 411 -> 0 bytes Dockers/puppeteer-api/app/routes/browser.py | 12 +++++++++--- .../__pycache__/__init__.cpython-313.pyc | Bin 123 -> 0 bytes .../__pycache__/browser.cpython-313.pyc | Bin 32261 -> 0 bytes .../services/__pycache__/cache.cpython-313.pyc | Bin 2645 -> 0 bytes Dockers/puppeteer-api/app/services/browser.py | 11 ++++++++++- .../utils/__pycache__/__init__.cpython-313.pyc | Bin 120 -> 0 bytes .../__pycache__/browser_utils.cpython-313.pyc | Bin 12040 -> 0 bytes .../cloudflare_bypass.cpython-313.pyc | Bin 16717 -> 0 bytes .../__pycache__/http_utils.cpython-313.pyc | Bin 1372 -> 0 bytes 25 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 .gitignore delete mode 100644 Dockers/puppeteer-api/__pycache__/install_playwright.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/__pycache__/main.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/__pycache__/monitor.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/__pycache__/run.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/__pycache__/test_cloudflare_bypass.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/__pycache__/test_database.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/__pycache__/test_postgres_setup.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/__pycache__/__init__.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/__pycache__/config.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/__pycache__/database.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/__pycache__/main.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/routes/__pycache__/__init__.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/routes/__pycache__/browser.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/routes/__pycache__/cache.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/routes/__pycache__/health.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/services/__pycache__/__init__.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/services/__pycache__/browser.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/services/__pycache__/cache.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/utils/__pycache__/__init__.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/utils/__pycache__/browser_utils.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/utils/__pycache__/cloudflare_bypass.cpython-313.pyc delete mode 100644 Dockers/puppeteer-api/app/utils/__pycache__/http_utils.cpython-313.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09bf5d6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.pyc +__pycache__/ \ No newline at end of file diff --git a/Dockers/puppeteer-api/__pycache__/install_playwright.cpython-313.pyc b/Dockers/puppeteer-api/__pycache__/install_playwright.cpython-313.pyc deleted file mode 100644 index 5ab8dfb607a0cbc1663e3ae9ce7832fc325512ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4351 zcmb7HO>7&-6&`YzBDJI_>(Ba&<&lzFVr)^8WxEzz*>(JH$Fi!GVi$5jua--4D{_~e z-K|6h1>7J(WVEQ&B57SWgW&9a`tgaO2 zE-RWYXR#38{WHEO;{BscZPgw$Tb(=Q?wO)EPam2=JnYc=W5)uD--8#h@anvH8K&2ZSm)x@ z+8`1}5K1y|LxXjd0sqcwi+wu!R_y>*_q}C`Vtegbq^ycYoyJ$={s3|8hC{jY{ay zMq}&On?X?iN^1i%e$hXM{@i-z6!TF-|Cur7qp<+=MHr|)LFieL{ttL>kMvq(cp}LY zFSB%>^~_eIo@b6bcVWO8OXU&TQuwBX>Go$P1~0`TU;2Y0;n@S0l>@wVd0Tg9_{LÏu5>>nqKNSt17yz7!s7E;(|~-jR%TD6R`v~eZ^AywylVQB0@ouQt{7d zhA8bX$OYFwxR%&UZO$yP%HyC?cTJ@_OUx2AFB|z%w`a~-M~LT$x}Zq}>XWL03j(i# zor@*UQZCM5N-Ai$3fAKR(~6od`jUef;im7u7ycVen=8gkzk-5yUBNSRhN2ro=cGAVP!dp)Q!0k~J(!Vn7ak85aZa97 zG;Nf&f<8YuN90sSIvO7y9Hyca$seWd;`|&vRaLR1i_oVI(WMbjQ3NrR8dI~(pSt{WAG}d9wfmnhP4;v6K$a>c9dZrA-K!gjn9@TXs0FPr~L6CJ^ zh`Waz&k2SiW(Ts803=G&#;1uP#jFMBL=mDI_)&GD0~A-J1t1*O*g#FY01m9GI>VMK z9q{NmMu0G$QFV2oKdb8nEip7CEee!;#o=iBYp}Yk1HY@|u+&c#=B80!-l7ZNwk< z#ki7xP@Il2gi;DZ84sas)u0vU8Boiehz`%h69z3E5OqJl>(y~?j(xpoFz;rqy`=~@ zLC+5^FF3e#dL)i#3MoOCa8We~q`4m&GLdKo)8ablL9UY(F=wPC++WKx6OvAb!F^@g+d`Gi?-=BgcG<>)U)uBL|y5L zx5!0gmNx3m=!cZ*NMqMY9f?mnsrW&56B8-_JN$b02G_@7}Kw6CaVZ} z$qX1)6NFi`L+W9eP`+$((xN09x-gfMEP4(f2=MKo!$%vToQ(keLcrHUaGnKK(Ihi$ z8EbQPLa7X)tfhH*Z_7u@aFaBbtuyE&glJy zweX>p@SzWbe_@_}e{J~c%J9|7B)>M9T$xN(#Pph&UlH@GlX+m=<>+gb(2b3jj&kSd zYRj>u(0aJ#-l@B%R>R%*wbgLnMx?3Se7F)hvfk24;oHmYL*jFnP{UICUjA-=E!w*h?Olz&SP8xKoU`Cwsjz3M zzlJJo7qn&WYK48(>YS^v=dI2}g}wf-aOBJ9Z78ze{bcdO%HXekM;?FoPd7if`S?mX z`prt{OBal#!E8ks*-L;;)Uv zYm@Q$e4n#^AG;MozUEI5_X(>1g5`W|Uv!-EHEe#zkJ!jkX_e_*XM=BFdgIdF>7Ty# PPquZFL2MU^1Hyj+>c&Jj diff --git a/Dockers/puppeteer-api/__pycache__/main.cpython-313.pyc b/Dockers/puppeteer-api/__pycache__/main.cpython-313.pyc deleted file mode 100644 index 6f291abdaa699d737be5e650d2e43d1507b4e4e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55810 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 z 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 T68RJDZ^`2OYDC(279{^KF;R6U diff --git a/Dockers/puppeteer-api/__pycache__/run.cpython-313.pyc b/Dockers/puppeteer-api/__pycache__/run.cpython-313.pyc deleted file mode 100644 index 1f3ab83510943fef0df76ee57de7537372db5c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmey&%ge<81dl#zWTXP=#~=<2ut6E0?SPD_48aV+jNS}I3^9zsOjZ#L42i-F3^5Er zEHLE=T8SZ;IhZAwHJHtkS%D#)F`ZG9{Uu1+?-oaVd~RZ9UVMBNPhvrV9*AuPWK^*m z=z(FTgFFL+CetmJjQrw~TPy|nMJ1Zdx7bU|GL!R*@<7`25_41I<8Lt+mFBHv_zW`j z7Kffbkf&Erd5gm)H$SB`C)KWq2PnY^#Ko#W;sY}yBjarbz6Z?Q9aWc^C2z2Bw|h5v XPvBb+xgq2-i`55a1{SFzP)Gm(T)RMs diff --git a/Dockers/puppeteer-api/__pycache__/test_cloudflare_bypass.cpython-313.pyc b/Dockers/puppeteer-api/__pycache__/test_cloudflare_bypass.cpython-313.pyc deleted file mode 100644 index 60a71b1ce3a0f8ce6ef2e92a2e0324f03fcc837c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6904 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%0A-*f?=muhSFmkt=PW3NV zd+xabk<1J(wDc^xd#~6qmecl`xYF+b;FQwvg=|gWZmoOz@M3M-y}BmF6}VF;+()7> zTX*<>|Lv*Pl~KO)y61YG;_S~lj(l2AYQ6*!eYhB_A)^0t_3*z#MBj`Ny|&N|97^@@ zV-ej|i0JKVL~os8rXiy5UE=pG@cYz=-u`F#zrp7h8vD01f4`-lkY6%~dkw#0fqH+d ze+PTR#rSpnjjb%wJGS}F`kQ9P&+#`chX}mfvM_!Ff6KZN=>`ih-EuR2-f+vqA-&52 zdTwBEmovEakjHvsCl*<>D$EI?_zJ8ZT%nVi;D$14EB}^ z9vf;j{{w8gd^9hgUw=6=7vqA!sL{j=(WDg11nre$xm9ziq|uEh&x+!LE83!d`UHd^ zaA-sT52O_ZqDvvZ#h;|ZfI8xgW>%|U5y7Z(=`?oo#SvhZWjnRezI0hR%m5C7gAof{ zQ<}9%2Bb^z{0V&JQA#MGV(ikjC0tFLAs)8EQ?Fi{RAn|E4@Ki@idedfet>pn`h#*P z0ttU|GBplaw0b~2mOnviMY{@lU{9WcL=Y&I9Wue5%!~eWp@}439XwGJ=A*vWRyg@X zvGD{P${lTOZFDk`mRewp7SK$QMFt)*uXGoLzz4XXIi~dig2o5v&GdGtmfv3EazeeZ zp@MoVpXuuU9AzleZT=kM-DwOs%Wq%$dVWe6&SP+GG1}zjCHQtA+Q^fTdWWRQ%M!BY zIPqLG1zEG4f`2KfxvLr?-0X@lB%>D~#^i$wHvvm5bwJZ;c;tVA3S-G92Etq3*n6qt zV#jN*UOu~Mticn}_Qfp!yh*g~g_ zGtGR4-G`$^?&jkLL2Txc@Qed z3>oGjr(?KBJYm*-NNgVx%ZJ4LFQnmPZWq(?@rz6Y)Bf=@%x1>5+(tO->zPG%%U#a$ Ytz#FCy~%ywaEGg2W(nt%o&jzD51aA&-v9sr diff --git a/Dockers/puppeteer-api/__pycache__/test_database.cpython-313.pyc b/Dockers/puppeteer-api/__pycache__/test_database.cpython-313.pyc deleted file mode 100644 index 4898e2103123a0f62b44076133fe22f43cb9f69f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5700 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 Ib~CR300tfmbpQYW diff --git a/Dockers/puppeteer-api/__pycache__/test_postgres_setup.cpython-313.pyc b/Dockers/puppeteer-api/__pycache__/test_postgres_setup.cpython-313.pyc deleted file mode 100644 index ea29050d3ab4f30030b2d5b995d7bba7a007c19d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4335 zcmb6cZEO_Bb#`y>ZtvUXY%n;s$0i0J7&{mYslgCF?Lq*@>mx`Yt=4yY=Pl>G>+BxI z_ls1OFltm0r7b8*R6vm+|NO62RVh_}H0iG%x%i)N0r&}$5J3_r@uxY$v6UzMC4Smx zvpef_z=3T@;x2J(@`h{UxVxwBT3kTh$wks4qOUKzOf4k zDIExb*BfmO&f14A1^Uov9bxOmD9dO0guiqsIHMXSHc~_@nAptYD=N`43wSDTm|3Dq zuf2-XimA*hhKf@}RZK0fV?|G6Lp6(q;1^WyS<9mo3Mt1XLNt9I_^qB2Xp%41!$FX0 z$Aw`e@vm_@N}@PA&l&tMGWa-}>_bTBF4n_FXc{zpb@ZWRL(f2+sDQ*7jDRx5pLr3X z5W-03buP&_IFiWiiANHq{a@7#^1SU~6zyri*e&U`IhwG(HL;DYY~mHy0eH@UZ)I@Ki_-VU!Fx5$WM%SnBbD zM-pbb_crP7b#%Bi_kqk-Ci5bl*WI`N2H&=?^ELUp-LaDmx-1R2@Ck#*a8GqEgL=_L zC_A;`N6H}F+lWhQM>5jv6GXrBbVQFPqtjisoU_^`3Zot*?bIVjB9Je(X290Crw3)Y z#9(PBt5^SDc`7Bw$Hy@h(Dbakq#d_QnnbG@2Cjr)MW)V4GZWJ%BzY15E7bUV{HTkT zluk@rtqt1L5lMRe-1PC{I7IT~ojYzTCabKMwL(En<6U@OGYsm7s$bDaUY}QW6JJq? zrp)G4V+@!0L0sAn4qmu8s)mRFOVSF!7(kBV6%n9BKrf21OMOU&avHY5@nR0rz z6l-MGTqvjzRIB4OrrwQVLJwi7-G#TE0~&odnq;VFfTwl3*bmc_ci+Yh8`P?%&nBpdvN0?en)6HTgi#yyjqMAfgDLq5- z^EHkpmy6pN`z?G@(Q-94whViKU2+M|6^?9}ifLFrx)cq|Ur$3_-P`yW4IeWmY%6R| zR;d*`8LjP_<*jLr*gGRrJY}58n@SE&FpUPztQ9dSLarl<^jbf8*Bu1p-Hw(z+Q`Zp z+h1!bYDb-(HZ|QlQ-o%KX>{?k&ZEYbVaXc9XA?2YTOgWlT6`X|0aoFbS;BYnnr?-m zIT^AeA+(7jv^%u?aDZuCg!XC#syVVYP*yl`S2Q?FLu?;O3nc_jTurG3+Wc4nlPD>5 zR!Lp90?eeWUQL1h2vNUV)QFmv;pQ5a2WBf=zw->`n08qd>5-F*BxeN~MDj&b1sfDg zeYQf(i`uDWzK}R|h*L>7tVRqb+&rv~p>btT0WC0N3&INj*_DLtK!QHNL0lg4A@x}2N|%dDh@GVcU2r& zjC3KwJME^})nleMx?} z?L@i%WO>6xH9WZviKzv9^D&1c2{f#!GMve%v#$UHG{Vrr*49 zY+zy#{nmS=9hQ$eLv$VtPWE{|+SfPP<@vbF3vg54Px~tRTm30a>-GJv9>LvTQ#m&5 zPC$3}S01MaNuowK*4%>$4o}wWvf}E@v;Krw>Y6U<^p$l#)=pI^b-Rkq@#aop2JU5P z1p0+9p3150>u*j?U1nJW%^59QB+kd6D`B*Hs$}R3`o)*v3H>5v z6(+%v4FDSyj|tsCOPE(Qoj}`&rYMDWQ1$Y&qblrtECdz@esJz-w6_x7dTj#A(&BJc z*z&nQ%I;vMDrT2sE$r;mQUmZRC_t7dLtCQhvYZH8epycEQ?g9xLv4AC1;Y{wiaBTb zG#wl@$!3c8r#067P|*y$zQ9jwBJ+&mXlEqLmY`nM%nuORMQJPm@!)(uUCgP6$jgAE zkr|g^TJdlk_ocvd!m5b4;Abef;zOKpU3^2l9(yBple;-`YyVsOZykK=;2r+H|E~Xj z>~3sHtl)3`Vzd%JQbk9f2}e1u{n;cR;aXR^kq}-iRXm%Q1^@NQ?@!*C`QiCTLfeW5 J30s&m{{u9Z3*Z0% diff --git a/Dockers/puppeteer-api/app/__pycache__/__init__.cpython-313.pyc b/Dockers/puppeteer-api/app/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index e0e2ba5c4be49c579e64de220984184600b1e204..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmey&%ge<81dl#zWcUH;#~=<2FhUuhS%8eG4CxG-jD9N_ikN`B&mgH=f_nOi1qJ%? q@tJv6vu}j=I8PoTcJc~<+P27B7PV{l)8$8@y4tSyL4x%gNw8RvvF3&EE;f9 zxRhRfu@$L`l}n;tn%;Wsv8SGT*k}(;CQ>gw_2$a|KxbuGMUm)?^fd3i&-=dlq1{WL z&jZM~{oU`%9}58dZ8)>xm@Y0qu>$Y|fB;%{00K=Q5dY(`44^e{xr!od)4DPRIxYa3 zHj=f?va+RVU!JdGhYR_s{;UEm%_x+E)`2((9;C2Q(+r*-R?4PLn`kZJqwM zu$H8Y{eD;8mD@YYFrClcN#zRk%1&9VR&LW>sV-Eouf{`hTVNnLE)+j- zYrG(0dwwmqioGVYwfO;2CkMwNGiT`U^1{}bN_X1n{nq|tIn`+=qu8nru;V};lIuq{ z@-*1k1wxVM?q}}vv>v=Q@x2X(ue{d3EB5O=^P*JhG<)0x?+ zv?8mi^5~4hw3Q~)Ry*lKEtOVVx~jC9%qt)I;d*cu_72rXYSeDDUzjA-j55+{|NnD+ zudj_E>2yByhMaruJ?H$-
TKmEvJF;Z|vpO2sE*iBJ?#0T+Gr!tSOLFP@0p%}#> ziWTk(RzaSXtdiVStP1YRL+U;?tERDz>X4>S%WC^{tgcVb>iZ0=q0h(~`%J8<&&-

YB}Cv>Pba#^@l;XY`QT83Uw_afQ?P0Ba36 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 NEHg!zF-p-0`7c2mPG$fA diff --git a/Dockers/puppeteer-api/app/routes/__pycache__/__init__.cpython-313.pyc b/Dockers/puppeteer-api/app/routes/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index 0988cd664356c45585196d5f8363bcd9484a5b38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121 zcmey&%ge<81dl#zWcUH;#~=<2FhUuhS%8eG4CxG-jD9N_ikN`B&mgH=5_KEC9e@89x93 diff --git a/Dockers/puppeteer-api/app/routes/__pycache__/browser.cpython-313.pyc b/Dockers/puppeteer-api/app/routes/__pycache__/browser.cpython-313.pyc deleted file mode 100644 index 973ec9eb5f37ccfc19e4fbec44e2632d8bc24791..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9021 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 ovu1!&X(Bo2&H}eL}^r+(qf86_Q{0pa^HYFeXO zI!J>$%HlpWP;W;=+0bNnrNrnI|-knR-QJ z%p&*!sLy4Fug4`8vWmo{Im@)>2x~47*K>1@Yr4)#Q&L9u1$$9km-5THE);>*?A0zzBP}P7R{oa*I_^%V6MY}e3AtxXO;7W zDS6_Wb}=r~0K83o+^AsIG3D#!@Tqjxkw}`AN|JI$9gl%TWtp}9Kvhm$(j!pMzjsc7 z*+Hx5tBRUBo@y_yZFZf07m2-;tEu6Q$VgQk`4sA08>;%c_G|pr`zQPH0lR|h|ITRp zW#ZOJ0XQ1wCIaRsqBNdu1>?~~+rR}<_~v-)QYWPo@}i8dz`sa|ZiafQ zzMg&B4#n{n7ML{wO~s~sJv@QVj>n?*f;tDIjbk_%La9Nz^8mKE*F7~^e}+CZr- z6x%{ax6!!|TH9J|Re6sC52N>@kH$A~?Cs#toBZoLdq~0E&z4@v&+mTWZcRo~&#naC XZVQss-<9_smiLPCJt*&`$KdVnfYTPj diff --git a/Dockers/puppeteer-api/app/routes/__pycache__/health.cpython-313.pyc b/Dockers/puppeteer-api/app/routes/__pycache__/health.cpython-313.pyc deleted file mode 100644 index 746b158a4024570e1b292d373e6927a3f5948890..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 411 zcmey&%ge<81j1L-GireJV-N=hn4yf%K0wA)hG2$ZMsEf$#v(=qh8RXA22-eX5mO9P z5IdBELwd7!+#(i4V+-jEr{~WFK-0bxSv}Jz!*Smu{5q2)@iH_>qZ`QRXu<1CtP#1vU!+ DHs?~+ diff --git a/Dockers/puppeteer-api/app/routes/browser.py b/Dockers/puppeteer-api/app/routes/browser.py index d293314..ff30d42 100644 --- a/Dockers/puppeteer-api/app/routes/browser.py +++ b/Dockers/puppeteer-api/app/routes/browser.py @@ -44,9 +44,9 @@ class Viewport(BaseModel): class InteractionsRequest(BaseModel): url: str = Field(..., description="Target URL (will be URL-decoded server-side).") - returnType: Optional[Literal["screenshot", "html"]] = Field( + returnType: Optional[Literal["screenshot", "html", "resulting_url"]] = Field( "screenshot", - description="Return a PNG screenshot or HTML content.", + description="Return a PNG screenshot, HTML content, or the resulting URL after interactions.", ) viewport: Optional[Viewport] = None scrollX: Optional[int] = None @@ -124,7 +124,8 @@ async def screenshot_url(url: str, fullPage: bool = True, x_api_key: Optional[st description=( "Run a sequence of interactions (click/type) on a page.\n\n" "- `returnType=screenshot` returns `image/png`\n" - "- `returnType=html` returns `text/html`" + "- `returnType=html` returns `text/html`\n" + "- `returnType=resulting_url` returns `application/json` with the final URL" ), responses={ 200: { @@ -158,6 +159,11 @@ async def run_interactions(payload: InteractionsRequest, x_api_key: Optional[str if isinstance(result, dict) and result.get("status") == "error": raise HTTPException(status_code=500, detail=result.get("error", "Interaction failed")) + if return_type == "resulting_url": + if not isinstance(result, dict): + raise HTTPException(status_code=500, detail="Unexpected resulting_url response") + return result + if return_type == "html": if not isinstance(result, str): raise HTTPException(status_code=500, detail="Unexpected HTML response") diff --git a/Dockers/puppeteer-api/app/services/__pycache__/__init__.cpython-313.pyc b/Dockers/puppeteer-api/app/services/__pycache__/__init__.cpython-313.pyc deleted file mode 100644 index b9172e4e1354bbab85bf2536a483d0c0d68ccc24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 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 diff --git a/Dockers/puppeteer-api/app/services/__pycache__/cache.cpython-313.pyc b/Dockers/puppeteer-api/app/services/__pycache__/cache.cpython-313.pyc deleted file mode 100644 index 5429473442a816e7ace8e82566cbc7da460a8004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2645 zcmcgu-EY%Y6u(YvCykTRrY&KGt`;h73@qWH-3CL5(kAqSCM?E$Rmd~0OCu$AcI|95 zn$#d6v5$udX$bZqjYoLe>t6RCBs5YZk8McX%idt!%ieabW2YISRi{b2YVSSwoa1xP zIrrS($z~)HLNLsWm6dA&gnlI(Z}?nda~z0!NJJtvk1$z%^VA%LDW1^&dEcBL`{!s( z!=4^Qm=PJ6*&CF={!UC}1j-IBDVApCi<;oGLrd4?qM|D|G;BwwCZ}dna_aK=+1wR* zCM)Gcm3-q3KM>@9^Lv=?p+%36a-Mf>4nhafguBy`gmO%W$R*oyN}_TQ@5@7^Ca4yV zCl#;b}78%T?CT`{#v?{w;1 z>OzW7=dueenH@08s;Zf0WpK*TRf!30iFet{ajyd6s zbm&gzR;JcB+Mvgpbnwpnt@+yvgqXWEcl%s(?{MwtOr4vp(X*Ri3H_rI$Xz&6K{(;-N|gJOkRGq3MSYt1nh`qSV}<# z$i;chw0m4azP>6uF52B#Q-Rsm2pfeZaK_oM+F@P$aBCNJ&`#EFmhyO2UNHbp?T829 zvb9*k(vxO`+QXVoW-$gQ_@8gu!LaQdbOJb19`zu>E=6vS|`6CKzW&ma$Q6 z2XA-fO=H=>Ma9D8nPUPtb^zL_b7&avAxr`-xSvRvR&0!Fl))_P>>zkI)V5i?mniqR z5x3bk=Wmf}`b~1sF0GD`fYS3PH=n&6Y#Bi-1 zk!;Y%n*D?Kvv;%W{f8bZ_5OHup+lZ((CKD!;=8rSYmMaTMr86y^7NM(LV%(dl}0 zx)Dv+-dn29|JU!Id2JC4^&NONbhycnHeWy5JTL}-PY;ei9U9vhO4f&xFZKkZp%)An zW}hRDVgK43L)~X6lZABukmydwSRsIiVbiLtF!b|;SG2AAB-P~faOavHBTN9db&WHa^HWN5QtgUZf$Bi!6oVKanHd=wiV!Z diff --git a/Dockers/puppeteer-api/app/utils/__pycache__/browser_utils.cpython-313.pyc b/Dockers/puppeteer-api/app/utils/__pycache__/browser_utils.cpython-313.pyc deleted file mode 100644 index e26f6e0657acf0e9782697804e5528858d4d4b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12040 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 diff --git a/Dockers/puppeteer-api/app/utils/__pycache__/cloudflare_bypass.cpython-313.pyc b/Dockers/puppeteer-api/app/utils/__pycache__/cloudflare_bypass.cpython-313.pyc deleted file mode 100644 index 6424e5e2a1cd50ce9231db5628921f43a8e7ba9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16717 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 diff --git a/Dockers/puppeteer-api/app/utils/__pycache__/http_utils.cpython-313.pyc b/Dockers/puppeteer-api/app/utils/__pycache__/http_utils.cpython-313.pyc deleted file mode 100644 index c9c24f89e454383a39c4afe909ce757e723e045a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1372 zcmb7E&2Jk;6rb7IFWc+5?IvkSEwT-zs+HQQgrg|9fU;JJk`i0;#-dUpMOM820C#Q8 zj8W;Sf=iBYsAxc_<^~54M?m6W_a8_BHDv_?iBoQl0*Zt<@WyLXz9huhv-5ku`MtMq z<~{9EG#W-Qq@AVOvl2o-31c+WAvn4M;0|(-gRh}gO!2BjB}>@SHL@yG88F#Y9C=gS zR5rD=q<}sxJIWM#MW%XHO=t%qR6_Ej*+$*mFmqJ=Pj$`m93!Q7O%P1cGKg~Gy|IP5^po0%5M1JNjLyBjl!F})BvFI zppkO7!bRrNOmt)|CZUmK>xgwz@g|B2LGsnwcm^Lm5LiDPUHV5;@HAF7C>Zb2i{ac~ehuns&9 z&~5ayj$-l7%!9F~Z!dob=;i%b@~c?#)6+j1XTF)5?Gwoi?`VA$jh}rd^LFMgdn>bV zrXQH;&-6#}^Y_+v*WSzTPtNWvKQgE8<#+RY=IpV8#^*t_XQq!s=tK%4ejQ65>cD|L+xSb)NV_Va|Ab`Fc zw_{58B(_6(_tXi2XAGdbDQrjd?wl;}GY0r|U%+-$?I9I#Ps70XLKyVD$N)#N;A5(N zA=I0|_L;HXq#^K(CX|VY*iB=5LGH~DB4pI;DeXSSS=qQR83K=KpvfgdzBX*5pv>a3 z{V-G}1vRVGtHZi8PN8qwt%mE9y2l4~`3N0>7*SKW=vQtu%k75yJdJ}XzANkkJo*G< k`~$lDJ-XPJBlyx?vyWiuOmx_X+0M-mrhgG8Jqyy`0c~O|UH||9