@ranger-testing/ranger-cli 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +12 -2
- package/build/cli.js.map +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/addEnv.js.map +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/dataMcpServer.js +1 -1
- package/build/commands/feature.js +115 -28
- package/build/commands/feature.js.map +1 -1
- package/build/commands/hooks/sessionStart.js +2 -0
- package/build/commands/hooks/sessionStart.js.map +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/start.js.map +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/cliSecret.js +1 -1
- package/build/commands/utils/featureApi.js +44 -0
- package/build/commands/utils/featureApi.js.map +1 -1
- package/build/commands/utils/featureReportGenerator.js +8 -8
- package/build/commands/utils/featureReportGenerator.js.map +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/rangerRoot.js +18 -0
- package/build/commands/utils/rangerRoot.js.map +1 -1
- package/build/commands/utils/settings.js +20 -0
- package/build/commands/utils/settings.js.map +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/verifyFeature.js +64 -23
- package/build/commands/verifyFeature.js.map +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/build/skills/ranger/SKILL.md +43 -2
- package/build/skills/ranger/feedback.md +64 -0
- package/build/skills/ranger/start.md +17 -1
- package/build/skills/ranger/verify.md +15 -5
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x68a05c,_0x3a823f){const _0x56eaa7=_0x1b3f,_0x222156=_0x68a05c();while(!![]){try{const _0x3d6113=-parseInt(_0x56eaa7(0x13a))/0x1+-parseInt(_0x56eaa7(0x115))/0x2*(parseInt(_0x56eaa7(0x116))/0x3)+-parseInt(_0x56eaa7(0xdf))/0x4+-parseInt(_0x56eaa7(0xfa))/0x5+parseInt(_0x56eaa7(0x87))/0x6*(parseInt(_0x56eaa7(0x127))/0x7)+parseInt(_0x56eaa7(0x107))/0x8+parseInt(_0x56eaa7(0xf8))/0x9;if(_0x3d6113===_0x3a823f)break;else _0x222156['push'](_0x222156['shift']());}catch(_0x5c0420){_0x222156['push'](_0x222156['shift']());}}}(_0x255a,0x53d58));const _0x25ae4e=(function(){const _0x3affa4={'KaGVs':function(_0x2a00a,_0x4d4e4d){return _0x2a00a===_0x4d4e4d;},'zOBsj':'VgCft'};let _0x4aeab2=!![];return function(_0x307bf6,_0x285fa1){const _0x357967={'GZwOZ':function(_0xe44f2a,_0x54a28c){const _0x44eb57=_0x1b3f;return _0x3affa4[_0x44eb57(0x7d)](_0xe44f2a,_0x54a28c);},'wYXOh':_0x3affa4['zOBsj']},_0x1497e6=_0x4aeab2?function(){const _0x339979=_0x1b3f;if(_0x285fa1){if(_0x357967['GZwOZ'](_0x357967['wYXOh'],_0x357967[_0x339979(0xd7)])){const _0x400d88=_0x285fa1[_0x339979(0x9c)](_0x307bf6,arguments);return _0x285fa1=null,_0x400d88;}else throw new _0x3f48db(_0x339979(0x96)+_0x5b0547+_0x339979(0x144)+_0xf1cba+_0x339979(0xe7));}}:function(){};return _0x4aeab2=![],_0x1497e6;};}()),_0x23e407=_0x25ae4e(this,function(){const _0x22f999=_0x1b3f,_0x49c66f={'dCPnk':_0x22f999(0x129)};return _0x23e407[_0x22f999(0x93)]()[_0x22f999(0xff)](_0x49c66f[_0x22f999(0xc8)])[_0x22f999(0x93)]()[_0x22f999(0xb5)](_0x23e407)[_0x22f999(0xff)](_0x49c66f[_0x22f999(0xc8)]);});_0x23e407();import{query}from'@anthropic-ai/claude-agent-sdk';import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm}from'fs/promises';import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles,getEnvDir}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,getUploadUrls,uploadTrace,uploadConversation,uploadScreenshot,buildTraceViewerUrl,getAnthropicApiKey,computeChecksum}from'./utils/browserSessionsApi.js';import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';async function zipDirectory(_0x3ec656){const _0x233141=_0x1b3f,_0x246313={'TxzHv':_0x233141(0xe6),'FCjKh':function(_0x2e3c03,_0x8faec9,_0x5058e2){return _0x2e3c03(_0x8faec9,_0x5058e2);},'CfRHm':function(_0x2c24c9,_0x472c30,_0x66284a){return _0x2c24c9(_0x472c30,_0x66284a);},'HUyYy':_0x233141(0x101)},_0x25d5b7=join(_0x3ec656,'..',_0x246313[_0x233141(0xd8)]);_0x246313[_0x233141(0xc3)](execSync,'cd\x20\x22'+_0x3ec656+_0x233141(0xb8)+_0x25d5b7+_0x233141(0xbe),{'stdio':_0x233141(0x101)});const _0x88fcaa=await readFile(_0x25d5b7);return _0x246313[_0x233141(0xe0)](execSync,'rm\x20\x22'+_0x25d5b7+'\x22',{'stdio':_0x246313[_0x233141(0x140)]}),_0x88fcaa;}function getTraceDirectory(_0x552a17){const _0x1de364=_0x1b3f,_0x10d51b={'POaKD':function(_0x1b0488,_0x16aaba,_0x58677f,_0x515ca6){return _0x1b0488(_0x16aaba,_0x58677f,_0x515ca6);},'VrmGr':function(_0x1c9f89){return _0x1c9f89();},'yyXvi':_0x1de364(0xd9)};return _0x10d51b[_0x1de364(0xf0)](join,_0x10d51b[_0x1de364(0x7f)](getRangerDir),_0x10d51b['yyXvi'],_0x552a17);}function _0x1b3f(_0x2fc958,_0x3bcdf4){_0x2fc958=_0x2fc958-0x7c;const _0x31a041=_0x255a();let _0x23e407=_0x31a041[_0x2fc958];if(_0x1b3f['uSzGDK']===undefined){var _0x25ae4e=function(_0x3b205d){const _0x4eff19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x420be3='',_0x4c46a2='',_0x5579de=_0x420be3+_0x25ae4e;for(let _0x5bf40a=0x0,_0x3936ee,_0x6feebc,_0x6b8e1d=0x0;_0x6feebc=_0x3b205d['charAt'](_0x6b8e1d++);~_0x6feebc&&(_0x3936ee=_0x5bf40a%0x4?_0x3936ee*0x40+_0x6feebc:_0x6feebc,_0x5bf40a++%0x4)?_0x420be3+=_0x5579de['charCodeAt'](_0x6b8e1d+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x3936ee>>(-0x2*_0x5bf40a&0x6)):_0x5bf40a:0x0){_0x6feebc=_0x4eff19['indexOf'](_0x6feebc);}for(let _0x38c750=0x0,_0x3c87b7=_0x420be3['length'];_0x38c750<_0x3c87b7;_0x38c750++){_0x4c46a2+='%'+('00'+_0x420be3['charCodeAt'](_0x38c750)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c46a2);};_0x1b3f['TzXvop']=_0x25ae4e,_0x1b3f['MnrrDx']={},_0x1b3f['uSzGDK']=!![];}const _0x255a47=_0x31a041[0x0],_0x1b3faa=_0x2fc958+_0x255a47,_0x481fe2=_0x1b3f['MnrrDx'][_0x1b3faa];if(!_0x481fe2){const _0x10e175=function(_0x33c903){this['Cvmrew']=_0x33c903,this['SbQzbI']=[0x1,0x0,0x0],this['VGtNIx']=function(){return'newState';},this['VWxLJP']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['IXsUdR']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x10e175['prototype']['JNmVqQ']=function(){const _0x435977=new RegExp(this['VWxLJP']+this['IXsUdR']),_0x4a8e69=_0x435977['test'](this['VGtNIx']['toString']())?--this['SbQzbI'][0x1]:--this['SbQzbI'][0x0];return this['PlLHuv'](_0x4a8e69);},_0x10e175['prototype']['PlLHuv']=function(_0x4f2703){if(!Boolean(~_0x4f2703))return _0x4f2703;return this['kuxBYq'](this['Cvmrew']);},_0x10e175['prototype']['kuxBYq']=function(_0x1c18c1){for(let _0x5da8f1=0x0,_0x3302ca=this['SbQzbI']['length'];_0x5da8f1<_0x3302ca;_0x5da8f1++){this['SbQzbI']['push'](Math['round'](Math['random']())),_0x3302ca=this['SbQzbI']['length'];}return _0x1c18c1(this['SbQzbI'][0x0]);},new _0x10e175(_0x1b3f)['JNmVqQ'](),_0x23e407=_0x1b3f['TzXvop'](_0x23e407),_0x1b3f['MnrrDx'][_0x1b3faa]=_0x23e407;}else _0x23e407=_0x481fe2;return _0x23e407;}function _0x255a(){const _0x5834bd=['Dg9mB3DLCKnHC2u','EMLW','u2virLK','C3rYAw5N','BuXlyLq','wNvlyuO','Bg9N','D3nYtLm','CgzKwKG','qwnyrem','ufbTrg0','A1PAuhi','sLPowva','y2XHDwrLlw9WDxmTnc01','ndG3nZeYA2ftz1r2','C2vZC2LVBKLK','lNbUzW','tgv3vMi','zxjYB3i','ANnVBMW','sfv5wxK','DhD2Dhe','Dg9gEwS','y29UzMLNugf0Aa','iI4GuNvUoIbYyw5NzxiGy29UzMLNihnLDca','weXksMi','s2fhvNm','BgvUz3rO','vNjTr3i','D3viugq','C3rYDwn0DxjLzf9VDxrWDxq','qwHpAfy','B3H5Aha','BgnyqNe','r1LeEe4','DMPkrfC','mtjXAKnvreq','tvvxwuW','vw5RBM93BIbLCNjVCG','iIbUB3qGzM91BMqUifj1BJOGCMfUz2vYigfKzcbLBNyG','sw9QC0y','qxj5q0S','ls1JB25MAwC','DgvnseS','zw52','BwfW','EeXbzeO','wM51t1y','Dg9tDhjPBMC','DhjPBq','AM9PBG','tM8GyMfZzvvYBcbJB25MAwD1CMvKigzVCIbLBNzPCM9UBwvUDcaI','uwjlAge','yM9VBgvHBG','zxjYB3jZ','ELLMs1C','tM8GCMvZDwX0ihjLy2vPDMvKigzYB20GywDLBNq','yxbWBhK','sMLPyNq','rNfUtKi','z1rutvu','DhLWzq','AgTrAfa','CK9ctge','CMfJzq','CvrVuKe','u3rYDwn0DxjLze91Dhb1Da','z0Xzzgi','se9qzhe','wuvowKS','DfH5seW','sKj0sKW','sxrXExq','AKTlDMi','BerHwMG','t1bAtw8','ANnVBL9Zy2HLBwe','rensA00','vhHbrLy','tfzNB3a','y0PTsgS','veLqzfe','y29UC3rYDwn0B3i','DxbSB2fKvxjS','C3vJy2vZCW','iIaMjIb6AxaGlxiGiG','vM9qCKi','A1DfDvC','C3vIDhLWzq','sNPzyNq','A1rbvgi','iIaU','Dg9VBf91C2u','shLztwq','yM1etvG','BhjRt3K','rKnQs2G','q2jwyKq','rM1Juuu','AfDVtxu','AK1rB04','zenqBMS','txnVt2y','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihn0yxj0idX0B2TLBJ4','C2vZC2LVBKrPCG','mNWZFdv8mxW0Fda','Bwryrg8','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','D0jjwhq','DxPpA2m','cI0Gww91ig1HEsbptKXzig5HDMLNyxrLihrVihbHDgHZihvUzgvYihrOAxmGyMfZzsbvuKWGkhnHBwuGChjVDg9JB2WSigHVC3qSigfUzcbWB3j0kqOTiezVCIbLEgfTCgXLlcbPzIb0AguGyMfZzsbvuKWGAxmGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmciSihLVDsbJyw4GBMf2AwDHDguGDg8GiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9OB21LiIWGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9Zzxr0Aw5NCYiSigv0yY4klsbetYbot1qGBMf2AwDHDguGDg8Gyw55igrPzMzLCMvUDcbKB21HAw4SigHVC3qSig9YihbVCNqGDw5KzxiGyw55ignPCMn1Bxn0yw5Jzxmklsbjr05puKuGyw55ifvsthmGzNjVBsbWCM9KDwn0igrVy3vTzw50yxrPB24Gkg1JCf9FCMfUz2vYx19NzxrFChjVzhvJDf9KB2nZksb0Agf0igHHDMuGysbKAwzMzxjLBNqGyMfZzsbvuKWklsbjzIbKB2n1BwvUDgf0Aw9Uig9YignVzguGzgLMzNmGC3vNz2vZDcbHihbHDgGGzxHPC3rZicHLlMCUlcaIl2rHC2HIB2fYzciPlcb5B3uGBwf5ig5HDMLNyxrLihrVihrOyxqGCgf0AcbptKXzihvUzgvYihrOzsbIyxnLifvstcbHyM92zqOTifrOzsbIyxnLifvstcbHyM92zsbPCYb0AguGt05mwsbHDxrOB3jPEMvKigvUDMLYB25Tzw50igzVCIb0AgLZihzLCMLMAwnHDgLVBGOkq1jjveLdquWGsu5tvfjvq1rjt05toGOXlIboyxzPz2f0zsb0BYb0AguGvvjmigfIB3zLihvZAw5NigjYB3DZzxjFBMf2AwDHDgukmI4GvgfRzsbHihnUyxbZAg90ihDPDgGGyNjVD3nLCL9ZBMfWC2HVDcb0BYbZzwuGDgHLihbHz2ukmY4GrxHLy3v0zsb0AguGDgfZAYbZDgvWlwj5lxn0zxaGDxnPBMCGyNjVD3nLCIb0B29SCWO0lIbjzIb5B3uGzMLUzcbbtLKGyNvNCYWGCMvWB3j0igLTBwvKAwf0zwX5ihDPDgGGC2v2zxjPDhKkns4GuMv0DxjUihLVDxiGzMLUzgLUz3mGAw4GDgHLihn0CNvJDhvYzwqGB3v0Chv0igzVCM1HDaOkww91CIb0yxnRoIa','vND0uey','vxHgD3a','q1LiqNm','De5Oteu','y29UDgvUDa','D1Lyt2G','vhH6shy','C2vZC2LVBNm','wvrrzhO','BwvZC2fNzq','zgvZy3jPChrPB24','ExDSv1y','DgnjCLu','mJm5mdGZmMLktfnlsa','q2zssg0','uKfYtKG','DNPZzLK','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','yMfZzvvYBa','zw5KC1DPDgG','DhjHy2uTDxbSB2fKlNPPCa','igjHC2vvCMWGphvYBd4','vfnOquS','B3jpwxG','ywn0AxzLlwvUDI50Ehq','DgHLBG','s0LvthC','veLUC1G','zhvYyxrPB25nCW','vvzXyuu','ue9Hs0q','CfDXtxq','y0HpCgu','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGvvjmifjfuvvjuKvnru5uoGPzB3vYigjHC2uGvvjmigLZoIa','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm','ufj1q0O','BM93','twrOuLi','mtaWmtu0nZbMC3ffvNC','q25HDKq','mtm3mJK2nvvmzNLwra','weXkANa','tufkt1i','tM8Gywn0AxzLigvUDMLYB25Tzw50lIbsDw46ihjHBMDLCIb1C2uGpgvUDI1Uyw1LpG','zLHOB0G','C2vHCMnO','AuTisgC','CgLWzq','sgfTwfu','BwnWx19Yyw5NzxiTyNjVD3nLCL9FkG','Aw5WDxq','wLfWtLi','cLvstdOG','mtm2ntC2ohzvzMn1yW','DgfZAW','yxnZAxn0yw50','tfP6BKe','y29UDMvYC2f0Aw9UlMPZB25S','CuTfqLi','Eu9SAvm','swrHru4','BNb4','DhjHy2vwAwv3zxjvCMW','DMLrt3K','vMH5EwO','D2DXsvK','zMLSDgvY','nti0ntyWthbUt2Dp','m25erg9yua','s05Nquy','zvvxD0y','sfH2D3O','DxjS','whbNDxm','qKXpq0TfuG','DhbOz3C','EMHAExa','zMfPBgvK','BMfTzq','qhjHBMDLCI10zxn0Aw5Nl3bSyxL3CMLNAhq','ywrir3a','ueXxwKK','y1jTChC','ruDsquW','DLveAum','mJm4nZq0mxLJyxbvBG','C3vTBwfYEq','kcGOlISPkYKRksSK','tuLot1i','Dgv4Da'];_0x255a=function(){return _0x5834bd;};return _0x255a();}function getConversationFilePath(_0x55e864){const _0x2bbb29=_0x1b3f,_0x32bc4b={'eUWwF':function(_0x21d7b7,_0x1c5985,_0x5eb544,_0x23618d,_0x55fc76){return _0x21d7b7(_0x1c5985,_0x5eb544,_0x23618d,_0x55fc76);},'mdXDo':function(_0x5181cd){return _0x5181cd();},'kTATb':_0x2bbb29(0x10b)};return _0x32bc4b[_0x2bbb29(0x118)](join,_0x32bc4b[_0x2bbb29(0xcd)](tmpdir),_0x2bbb29(0xf4),_0x55e864,_0x32bc4b[_0x2bbb29(0xbd)]);}export async function verifyInBrowser(_0x325d08,_0x16af78={}){const _0x5a4f74=_0x1b3f,_0x54abdd={'LVgop':function(_0x464f6f,_0x373c5b,_0x49c4dc,_0x3c992c,_0x2d8a16){return _0x464f6f(_0x373c5b,_0x49c4dc,_0x3c992c,_0x2d8a16);},'AhOhV':function(_0x463d07){return _0x463d07();},'Xpgus':_0x5a4f74(0xf4),'AfYdw':_0x5a4f74(0x10b),'VwtPF':_0x5a4f74(0xbf),'wBIXt':function(_0x58e3b3,_0x2dfd71){return _0x58e3b3===_0x2dfd71;},'mLKbT':_0x5a4f74(0xa5),'qVlEP':_0x5a4f74(0xca),'HamXU':'czzmG','HOPdq':function(_0x4efca1,_0x15ae83){return _0x4efca1(_0x15ae83);},'lcXBq':_0x5a4f74(0xe3),'GYDxN':function(_0x4305ec,_0x476267,_0x4f60c9){return _0x4305ec(_0x476267,_0x4f60c9);},'hkQhP':_0x5a4f74(0xcc),'ZQpNR':function(_0x3f8595,_0x39339a){return _0x3f8595(_0x39339a);},'IojsF':function(_0x37d754,_0x5b62e3){return _0x37d754(_0x5b62e3);},'oxyhp':function(_0x129a75,_0xc4958d){return _0x129a75!==_0xc4958d;},'zhZyp':_0x5a4f74(0x100),'pFOJb':function(_0x5940ae,_0x175e06){return _0x5940ae!==_0x175e06;},'nNNDw':_0x5a4f74(0x126),'Wrgbg':'jKKGe','HGkJw':function(_0x48e6f7,_0x5a511d){return _0x48e6f7+_0x5a511d;},'EGRAL':'utf-8','HFVof':_0x5a4f74(0x109),'UxFwp':function(_0x4b3ba7,_0x3cbdfe){return _0x4b3ba7===_0x3cbdfe;},'KIULw':function(_0x6b3e39,_0x460223){return _0x6b3e39===_0x460223;},'JZNYP':_0x5a4f74(0xc2),'twvtq':_0x5a4f74(0x8e),'ywlWV':function(_0x2359b3,_0x56c1b3){return _0x2359b3>_0x56c1b3;},'YENZK':'result','MUWYL':'nujnJ','OPZMo':function(_0x4896b0,_0x4a0b3c){return _0x4896b0!==_0x4a0b3c;},'gvtpr':_0x5a4f74(0xb7),'viQOy':function(_0x28bda8,_0x3ef0a6){return _0x28bda8===_0x3ef0a6;},'IdaEN':function(_0x40e57d,_0x1e63a8){return _0x40e57d===_0x1e63a8;},'QbKha':_0x5a4f74(0xc0),'gTTMU':_0x5a4f74(0xb4),'kWEuW':_0x5a4f74(0xfd),'hfVZA':_0x5a4f74(0x129),'jKKvb':function(_0x1b2e87,_0x1a781f){return _0x1b2e87===_0x1a781f;},'lDaZh':_0x5a4f74(0xa6),'hWoMu':_0x5a4f74(0xea),'KNgAF':function(_0x24c25d,_0x22b985){return _0x24c25d(_0x22b985);},'fXhoH':function(_0x593345,_0x2dfdf8,_0x2127b4){return _0x593345(_0x2dfdf8,_0x2127b4);},'adHGp':function(_0x3caef5,_0x336e06){return _0x3caef5(_0x336e06);},'uzOkc':function(_0x337ca5,_0xf0c245){return _0x337ca5(_0xf0c245);},'cJmHk':function(_0x6e1268,_0x291ae7){return _0x6e1268(_0x291ae7);},'CbVbD':function(_0x456a07,_0xb0bf3c){return _0x456a07(_0xb0bf3c);},'xLAdJ':function(_0x281b08){return _0x281b08();},'YTQdz':_0x5a4f74(0x10f),'wgqIY':_0x5a4f74(0x121),'FmcQE':'run-mcp-server','LjWfb':_0x5a4f74(0x8d),'wsrNS':'keSPP','VCksw':_0x5a4f74(0xa2),'kZkvq':function(_0x13edd2){return _0x13edd2();},'Vhyyj':function(_0x16aaa3,_0x508f1a){return _0x16aaa3!==_0x508f1a;},'sWiQG':_0x5a4f74(0x12e),'CnavD':function(_0x2ef890,_0x42a2d8){return _0x2ef890 instanceof _0x42a2d8;},'toFyk':function(_0x184072,_0x1ad774,_0x456701){return _0x184072(_0x1ad774,_0x456701);},'cRmpw':'object','pfdZH':_0x5a4f74(0x98),'kZZPr':_0x5a4f74(0x12f),'tcIrU':_0x5a4f74(0x11c),'cHOpe':_0x5a4f74(0xfc),'FqnNB':_0x5a4f74(0x12a),'PRuCJ':'severity','BXAJT':_0x5a4f74(0xdc),'TxAFV':_0x5a4f74(0x128),'phfgq':_0x5a4f74(0x139),'YESZu':_0x5a4f74(0xaf),'TShAK':function(_0x16509f,_0x38f618,_0x278600){return _0x16509f(_0x38f618,_0x278600);},'qToRA':function(_0xb481ae,_0x311b19){return _0xb481ae*_0x311b19;},'Itqyt':function(_0x5010e1,_0x19815a){return _0x5010e1(_0x19815a);},'pWqMt':function(_0x402abf,_0x2dee86){return _0x402abf-_0x2dee86;},'AryCK':_0x5a4f74(0xd5),'ZuKaJ':function(_0x26f0cc,_0x1f013a){return _0x26f0cc(_0x1f013a);},'LewVb':function(_0x3bcc04,_0x1a92d7){return _0x3bcc04(_0x1a92d7);},'TInsX':'JQbwI','orOYx':function(_0x2de0c7,_0x5eebab){return _0x2de0c7(_0x5eebab);},'XLJjp':_0x5a4f74(0x12d),'qKEBR':_0x5a4f74(0x86),'vzsfY':function(_0x5e115b,_0x2d8a0e,_0x368eac){return _0x5e115b(_0x2d8a0e,_0x368eac);},'AcXDC':function(_0x13328e,_0x22e8cc){return _0x13328e(_0x22e8cc);},'CYHBs':function(_0x1930f3,_0x4e96de){return _0x1930f3(_0x4e96de);},'tphgw':function(_0x4fc3f0,_0x207a23,_0xd1303f,_0x4e3445,_0xe52171){return _0x4fc3f0(_0x207a23,_0xd1303f,_0x4e3445,_0xe52171);},'DCRkM':function(_0x14a711,_0x480e0f){return _0x14a711(_0x480e0f);},'pFtty':function(_0x183902,_0x4fdfd9){return _0x183902(_0x4fdfd9);},'LZznA':_0x5a4f74(0x13f),'MsoOf':_0x5a4f74(0x11f),'tkecg':'completed','ZnuOV':function(_0x19da1a,_0x52a0b5){return _0x19da1a||_0x52a0b5;},'yOliS':function(_0x180d5,_0x1aeb63){return _0x180d5&&_0x1aeb63;},'Jiibt':_0x5a4f74(0x9b),'PPmDm':'ZiuZe','JBtJL':_0x5a4f74(0x119),'tXyHL':function(_0x33651e,_0x35471d){return _0x33651e(_0x35471d);},'PLWZI':_0x5a4f74(0xe1)},{env:_0x20a760,headed:headed=![]}=_0x16af78;let _0x29c6ac;if(_0x20a760)_0x29c6ac=_0x20a760;else{if(_0x54abdd['lDaZh']===_0x54abdd[_0x5a4f74(0xad)]){const _0x318bc1=join(getRangerDir(),_0x54abdd[_0x5a4f74(0xc6)]);if(!_0x54abdd[_0x5a4f74(0x117)](existsSync,_0x318bc1))throw new Error(_0x54abdd[_0x5a4f74(0xba)]);_0x29c6ac=await _0x54abdd[_0x5a4f74(0xfe)](readFile,_0x318bc1,_0x54abdd[_0x5a4f74(0x125)])[_0x5a4f74(0xeb)](_0x3ad1aa=>_0x3ad1aa[_0x5a4f74(0x94)]());}else return _0x54abdd[_0x5a4f74(0xb2)](_0x3d6950,_0x54abdd[_0x5a4f74(0x82)](_0x4f7561),_0x54abdd[_0x5a4f74(0x11b)],_0x21043c,_0x54abdd['AfYdw']);}const _0x173b50=_0x54abdd[_0x5a4f74(0x122)](getEnvDir,_0x29c6ac);if(!_0x54abdd[_0x5a4f74(0xd0)](existsSync,_0x173b50))throw new Error('Environment\x20\x22'+_0x29c6ac+_0x5a4f74(0x8a)+_0x29c6ac);const _0x33af59=await _0x54abdd[_0x5a4f74(0xb3)](loadSettings,_0x29c6ac),_0x57eeff=_0x54abdd[_0x5a4f74(0xc4)](resolveEnvVars,_0x33af59),_0x790a2=_0x57eeff[_0x5a4f74(0xe4)];if(!_0x790a2)throw new Error(_0x5a4f74(0x96)+_0x29c6ac+_0x5a4f74(0x144)+_0x29c6ac+_0x5a4f74(0xe7));const _0x325179=await _0x54abdd[_0x5a4f74(0x91)](getToken);if(!_0x325179)throw new Error(_0x54abdd['qVlEP']);const _0xbc3270=await _0x54abdd[_0x5a4f74(0xa7)](createBrowserSession,{'environmentName':_0x29c6ac,'settings':_0x57eeff,'task':_0x325d08,'url':_0x790a2});console[_0x5a4f74(0x132)]('Browser\x20session\x20created:\x20'+_0xbc3270['id']);const _0x31a66f=await _0x54abdd[_0x5a4f74(0xb2)](buildPlaywrightConfig,_0x57eeff,_0x29c6ac,_0xbc3270?.['id'],headed),_0x20d0a1={'command':_0x54abdd[_0x5a4f74(0xda)],'args':[_0x54abdd[_0x5a4f74(0x113)],_0x54abdd[_0x5a4f74(0xc5)],_0x54abdd['LjWfb'],_0x31a66f[_0x5a4f74(0x143)]]},_0x16133d=Date[_0x5a4f74(0xf6)]();let _0x349894;try{if(_0x54abdd[_0x5a4f74(0x133)]!==_0x54abdd['VCksw'])_0x349894=await _0x54abdd['kZkvq'](getAnthropicApiKey);else for(const _0x5393d9 of _0x586d5a[_0x5a4f74(0xdb)]['content']){_0x5393d9['type']===_0x54abdd[_0x5a4f74(0xd2)]&&_0x54abdd[_0x5a4f74(0xcf)](_0x5393d9[_0x5a4f74(0x120)],_0x54abdd[_0x5a4f74(0x130)])&&_0x5393d9[_0x5a4f74(0x104)]&&(_0xcebcf9=_0x5393d9['input']);}}catch(_0x17e483){if(_0x54abdd[_0x5a4f74(0x112)](_0x54abdd['sWiQG'],'SeHFY')){const _0x5b3a16=_0x13c632[_0x5a4f74(0x9c)](_0x49ce52,arguments);return _0x594cbf=null,_0x5b3a16;}else{const _0x145e3b=_0x54abdd['CnavD'](_0x17e483,Error)?_0x17e483[_0x5a4f74(0xdb)]:String(_0x17e483),_0x130def='Failed\x20to\x20fetch\x20Anthropic\x20API\x20key\x20from\x20Ranger\x20API.\x20'+_0x145e3b;try{await _0x54abdd[_0x5a4f74(0x142)](updateBrowserSession,_0xbc3270['id'],{'status':_0x5a4f74(0x11f),'durationMs':Date[_0x5a4f74(0xf6)]()-_0x16133d,'errorMessage':_0x130def});}catch{}throw new Error(_0x130def);}}const _0x21042b=_0x5a4f74(0xf3)+_0x790a2+_0x5a4f74(0xd1)+_0x325d08+_0x5a4f74(0x106)+_0x790a2,_0x2b26ce={'type':_0x54abdd[_0x5a4f74(0x124)],'properties':{'success':{'type':_0x54abdd[_0x5a4f74(0x134)]},'summary':{'type':_0x54abdd[_0x5a4f74(0x137)]},'issues':{'type':'array','items':{'type':_0x54abdd['cRmpw'],'properties':{'severity':{'type':_0x54abdd[_0x5a4f74(0x137)],'enum':[_0x54abdd[_0x5a4f74(0xde)],_0x54abdd[_0x5a4f74(0xf2)],_0x54abdd[_0x5a4f74(0x9e)]]},'description':{'type':_0x54abdd[_0x5a4f74(0x137)]},'screenshot':{'type':'string'}},'required':[_0x54abdd[_0x5a4f74(0xf5)],_0x54abdd['BXAJT']]}},'screenshots':{'type':'array','items':{'type':_0x54abdd[_0x5a4f74(0x137)]}}},'required':[_0x5a4f74(0xb7),_0x54abdd[_0x5a4f74(0xb1)]]},_0x40b064=_0x54abdd[_0x5a4f74(0xb3)](query,{'prompt':_0x21042b,'options':{'cwd':process['cwd'](),'model':_0x54abdd['phfgq'],'mcpServers':{'ranger-browser':_0x20d0a1},'tools':[_0x5a4f74(0x103)],'permissionMode':'bypassPermissions','allowDangerouslySkipPermissions':!![],'outputFormat':{'type':_0x54abdd['YESZu'],'schema':_0x2b26ce},'env':{...process[_0x5a4f74(0x8f)],'ANTHROPIC_API_KEY':_0x349894},'persistSession':![]}});let _0x569026=null,_0x52a9f2=null,_0x25ec78=null;const _0x3460ff=_0x54abdd[_0x5a4f74(0x122)](getConversationFilePath,_0xbc3270['id']),_0x38c935=_0x54abdd[_0x5a4f74(0xa7)](dirname,_0x3460ff);await _0x54abdd[_0x5a4f74(0xe8)](mkdir,_0x38c935,{'recursive':!![]});const _0x1c2490=_0x54abdd[_0x5a4f74(0xa4)](0x3b*0x3c,0x3e8),_0x13bb1e=new Promise((_0x1fa93a,_0x2f6cce)=>{const _0x1e0802=_0x5a4f74,_0x27bddc={'JzYbt':_0x54abdd['qVlEP'],'VoPrB':_0x54abdd[_0x1e0802(0x102)],'jMQoN':'xfNNr','XLJJb':function(_0x46650e,_0x30d50a){return _0x54abdd['HOPdq'](_0x46650e,_0x30d50a);},'UVqaE':_0x54abdd[_0x1e0802(0x84)]};_0x54abdd[_0x1e0802(0x85)](setTimeout,()=>{const _0x26c12d=_0x1e0802,_0x6e7fe5={'bmDMX':_0x27bddc[_0x26c12d(0xbc)]};if(_0x27bddc[_0x26c12d(0xb9)]===_0x27bddc[_0x26c12d(0xc7)])throw new _0x490e07(_0x6e7fe5[_0x26c12d(0xc1)]);else _0x27bddc[_0x26c12d(0x7c)](_0x2f6cce,new Error(_0x27bddc[_0x26c12d(0xef)]));},_0x1c2490);});try{try{await Promise[_0x5a4f74(0xa3)]([((async()=>{const _0x16ae61=_0x5a4f74,_0x1713ef={'IpWhD':function(_0x1e2d80,_0x3aa365,_0x3485ee){return _0x1e2d80(_0x3aa365,_0x3485ee);}};for await(const _0xb72699 of _0x40b064){if(_0x54abdd[_0x16ae61(0x83)](_0x54abdd[_0x16ae61(0x11e)],_0x54abdd[_0x16ae61(0x11e)])){const _0x37bee7=_0x54abdd[_0x16ae61(0xa1)]['split']('|');let _0x195b68=0x0;while(!![]){switch(_0x37bee7[_0x195b68++]){case'0':_0x202f3c['url']=_0x104ac6;continue;case'1':_0x6528bf[_0x16ae61(0xee)]=_0x38abfa;continue;case'2':_0x28c919['traceViewerUrl']=_0x54abdd['HOPdq'](_0x5d1e42,_0x1ebf0a);continue;case'3':_0x469035[_0x16ae61(0x13b)]=_0x2c2454['id'];continue;case'4':_0x2ddb37['task']=_0x39cbc3;continue;case'5':_0x4d9ed0[_0x16ae61(0xcb)]=_0x54abdd[_0x16ae61(0x105)](_0x3037be,_0x57d543['id']);continue;}break;}}else{try{if(_0x54abdd['pFOJb'](_0x54abdd['nNNDw'],_0x54abdd['Wrgbg'])){const _0x35dfe9=_0x54abdd['HGkJw'](JSON['stringify'](_0xb72699),'\x0a');await appendFile(_0x3460ff,_0x35dfe9,_0x54abdd[_0x16ae61(0x125)]);}else _0x54abdd[_0x16ae61(0xa7)](_0x35e96d,new _0x8b8d97(_0x16ae61(0xe3)));}catch{}const _0x5db9e3=_0xb72699;if(_0x54abdd[_0x16ae61(0xcf)](_0x5db9e3[_0x16ae61(0xa0)],_0x54abdd['HFVof'])&&_0x5db9e3[_0x16ae61(0xdb)]?.['content'])for(const _0x1c9729 of _0x5db9e3[_0x16ae61(0xdb)]['content']){if(_0x54abdd[_0x16ae61(0xd3)](_0x1c9729['type'],_0x54abdd[_0x16ae61(0xd2)])&&_0x54abdd[_0x16ae61(0xec)](_0x1c9729['name'],_0x16ae61(0xa5))&&_0x1c9729[_0x16ae61(0x104)]){if(_0x54abdd[_0x16ae61(0xcf)](_0x16ae61(0xf7),_0x54abdd[_0x16ae61(0x138)])){if(_0x29da7e){const _0x26a3ff=_0x4a269d['apply'](_0x394072,arguments);return _0x430995=null,_0x26a3ff;}}else _0x25ec78=_0x1c9729[_0x16ae61(0x104)];}}if(_0x5db9e3[_0x16ae61(0x13e)]){let _0x9b906=_0x5db9e3['error'];if(_0x5db9e3[_0x16ae61(0xdb)]?.[_0x16ae61(0xd6)]&&Array['isArray'](_0x5db9e3[_0x16ae61(0xdb)][_0x16ae61(0xd6)])){if(_0x54abdd[_0x16ae61(0x141)]!==_0x16ae61(0x8e))_0x23d458=_0x29b47d[_0x16ae61(0x95)]('\x20');else{const _0x150430=_0x5db9e3[_0x16ae61(0xdb)][_0x16ae61(0xd6)][_0x16ae61(0x114)](_0x1654e9=>_0x1654e9[_0x16ae61(0xa0)]===_0x16ae61(0x12b))[_0x16ae61(0x90)](_0x3ebce2=>_0x3ebce2[_0x16ae61(0x12b)]||'')['filter'](Boolean);_0x54abdd[_0x16ae61(0xdd)](_0x150430['length'],0x0)&&(_0x9b906=_0x150430['join']('\x20'));}}_0x52a9f2=_0x9b906;}if(_0x54abdd[_0x16ae61(0xec)](_0xb72699['type'],_0x54abdd[_0x16ae61(0xa8)])){if('HxPnR'!==_0x54abdd[_0x16ae61(0x88)]){if(_0xb72699[_0x16ae61(0xbb)]===_0x16ae61(0xb7)&&_0xb72699['structured_output'])_0x569026=_0xb72699['structured_output'];else{if(_0x54abdd[_0x16ae61(0xae)](_0xb72699[_0x16ae61(0xbb)],_0x54abdd['gvtpr'])){if(_0x25ec78&&_0x54abdd[_0x16ae61(0x111)](_0xb72699[_0x16ae61(0x99)]?.[_0x16ae61(0x7e)],0x0)){if(_0x54abdd[_0x16ae61(0x10e)](_0x16ae61(0x80),_0x54abdd[_0x16ae61(0x97)])){const _0x3c4583={'zYfKW':function(_0x50b414,_0x1a2500){return _0x50b414(_0x1a2500);}};_0x1713ef['IpWhD'](_0x3db2ef,()=>{const _0x1848b5=_0x16ae61;_0x3c4583[_0x1848b5(0x9a)](_0x35cf83,new _0x490f8e('Agent\x20execution\x20timed\x20out\x20after\x2059\x20minutes'));},_0x3ea3d9);}else _0x569026=_0x25ec78,_0x52a9f2=null;}else!_0x52a9f2&&(_0x54abdd[_0x16ae61(0x9f)]!==_0x54abdd[_0x16ae61(0x9f)]?_0x2f3380=_0x2f47d0[_0x16ae61(0x81)]:_0x52a9f2=_0xb72699[_0x16ae61(0x99)]?.[_0x16ae61(0x95)](',\x20')||_0x16ae61(0x89));}}}else _0x5e43ad=_0xf075fb instanceof _0x21c718?_0x270ff8[_0x16ae61(0xdb)]:_0x54abdd[_0x16ae61(0x8b)](_0x3f49a2,_0x1f9e0b);}}}})()),_0x13bb1e]);}catch(_0x470294){_0x52a9f2=_0x54abdd[_0x5a4f74(0xf9)](_0x470294,Error)?_0x470294[_0x5a4f74(0xdb)]:_0x54abdd[_0x5a4f74(0xab)](String,_0x470294);}const _0x301ca4=_0x54abdd[_0x5a4f74(0xf1)](Date['now'](),_0x16133d);let _0x45ef83;try{if(_0x54abdd[_0x5a4f74(0x111)](_0x54abdd['AryCK'],_0x54abdd[_0x5a4f74(0x8c)])){const _0x289b3d=_0x54abdd[_0x5a4f74(0xc4)](getTraceDirectory,_0xbc3270['id']);if(_0x54abdd[_0x5a4f74(0x131)](existsSync,_0x289b3d)){const _0x34d174=await _0x54abdd['LewVb'](readdir,_0x289b3d);if(_0x54abdd[_0x5a4f74(0xdd)](_0x34d174['length'],0x0)){if(_0x54abdd[_0x5a4f74(0xac)](_0x54abdd[_0x5a4f74(0xed)],_0x54abdd['TInsX'])){const _0xa0594b=await _0x54abdd[_0x5a4f74(0xe9)](zipDirectory,_0x289b3d),_0x1deafd=computeChecksum(_0xa0594b),_0x942e90=await _0x54abdd['LVgop'](getUploadUrls,_0xbc3270['id'],'trace.zip',_0x54abdd[_0x5a4f74(0xfb)],{'size':_0xa0594b[_0x5a4f74(0x7e)],'checksum':_0x1deafd});await uploadTrace(_0x942e90[_0x5a4f74(0xb6)],_0xa0594b),_0x45ef83=_0x942e90['downloadUrl'];const _0x312cdc=_0x34d174[_0x5a4f74(0x114)](_0x28b520=>_0x28b520[_0x5a4f74(0x12c)]()[_0x5a4f74(0xe5)](_0x5a4f74(0x13c)));for(const _0x4fefd7 of _0x312cdc){try{if('vjJDW'===_0x54abdd[_0x5a4f74(0x10c)]){const _0xdd805c=_0x54abdd[_0x5a4f74(0xe2)](join,_0x289b3d,_0x4fefd7),_0x1e3585=await _0x54abdd[_0x5a4f74(0x135)](readFile,_0xdd805c),_0x274f0c=_0x54abdd[_0x5a4f74(0xd4)](computeChecksum,_0x1e3585),_0x1b9132=await _0x54abdd[_0x5a4f74(0x11d)](getUploadUrls,_0xbc3270['id'],_0x4fefd7,'png',{'size':_0x1e3585[_0x5a4f74(0x7e)],'checksum':_0x274f0c});await _0x54abdd[_0x5a4f74(0x85)](uploadScreenshot,_0x1b9132['uploadUrl'],_0x1e3585);}else throw new _0x109159(_0x5a4f74(0xce)+_0x17af03);}catch{}}}else _0x126578=_0x2f7bfc,_0x560b2b=null;}}if(_0x54abdd[_0x5a4f74(0xb0)](existsSync,_0x3460ff))try{const _0xf840cb=await _0x54abdd['adHGp'](readFile,_0x3460ff),_0x2e7cd6=_0x54abdd['pFtty'](computeChecksum,_0xf840cb),_0x6abd02=await getUploadUrls(_0xbc3270['id'],_0x54abdd['AfYdw'],_0x54abdd[_0x5a4f74(0x10a)],{'size':_0xf840cb[_0x5a4f74(0x7e)],'checksum':_0x2e7cd6});await _0x54abdd[_0x5a4f74(0xe8)](uploadConversation,_0x6abd02[_0x5a4f74(0xb6)],_0xf840cb);}catch{}const _0x23a936=_0x569026,_0x16990c={'status':_0x52a9f2?_0x54abdd[_0x5a4f74(0xc9)]:_0x54abdd['tkecg'],'durationMs':_0x301ca4,'agentResponse':_0x23a936?.[_0x5a4f74(0x128)]||_0x52a9f2||undefined,'errorMessage':_0x54abdd[_0x5a4f74(0x92)](_0x52a9f2,undefined)};await updateBrowserSession(_0xbc3270['id'],_0x16990c),_0x54abdd[_0x5a4f74(0x10d)](_0x23a936,_0x45ef83)&&(_0x23a936[_0x5a4f74(0x110)]=_0x54abdd[_0x5a4f74(0x8b)](buildTraceViewerUrl,_0x45ef83),_0x23a936[_0x5a4f74(0x13b)]=_0xbc3270['id'],_0x23a936[_0x5a4f74(0xcb)]=_0x54abdd[_0x5a4f74(0x13d)](getTraceDirectory,_0xbc3270['id']),_0x23a936['durationMs']=_0x301ca4,_0x23a936[_0x5a4f74(0x108)]=_0x325d08,_0x23a936[_0x5a4f74(0x11a)]=_0x790a2);}else throw new _0x1d9ec2(_0x54abdd[_0x5a4f74(0xba)]);}catch{}if(_0x54abdd[_0x5a4f74(0x10d)](_0x52a9f2,!_0x569026))throw new Error(_0x5a4f74(0xce)+_0x52a9f2);if(!_0x569026)throw new Error(_0x54abdd[_0x5a4f74(0x9d)]);return _0x569026;}finally{if(_0x54abdd[_0x5a4f74(0x136)]===_0x54abdd[_0x5a4f74(0xaa)])return _0x5ecf0a['toString']()[_0x5a4f74(0xff)]('(((.+)+)+)+$')[_0x5a4f74(0x93)]()[_0x5a4f74(0xb5)](_0x2dae33)[_0x5a4f74(0xff)](kgtIYS['hfVZA']);else{await _0x54abdd['cJmHk'](cleanupTempFiles,_0x31a66f);try{const _0x356e49=_0x54abdd[_0x5a4f74(0xa9)](getTraceDirectory,_0xbc3270['id']);if(existsSync(_0x356e49)){if(_0x54abdd['PLWZI']===_0x54abdd[_0x5a4f74(0x123)])await _0x54abdd[_0x5a4f74(0x85)](rm,_0x356e49,{'recursive':!![],'force':!![]});else{if(_0x30ff0e&&_0x54abdd[_0x5a4f74(0xac)](_0x3c6923[_0x5a4f74(0x99)]?.[_0x5a4f74(0x7e)],0x0))_0x2deef8=_0x152761,_0x51d413=null;else!_0xec02c7&&(_0x561111=_0x43ba8e['errors']?.[_0x5a4f74(0x95)](',\x20')||_0x5a4f74(0x89));}}}catch{}try{existsSync(_0x38c935)&&await _0x54abdd[_0x5a4f74(0xe8)](rm,_0x38c935,{'recursive':!![],'force':!![]});}catch{}}}}
|
|
1
|
+
(function(_0x443ba5,_0x1f5e06){const _0x255151=_0x3499,_0x5dde80=_0x443ba5();while(!![]){try{const _0x503451=-parseInt(_0x255151(0x1b7))/0x1*(-parseInt(_0x255151(0x1ab))/0x2)+parseInt(_0x255151(0x24d))/0x3*(-parseInt(_0x255151(0x221))/0x4)+-parseInt(_0x255151(0x1ba))/0x5*(parseInt(_0x255151(0x1e9))/0x6)+parseInt(_0x255151(0x1eb))/0x7*(parseInt(_0x255151(0x251))/0x8)+-parseInt(_0x255151(0x261))/0x9*(parseInt(_0x255151(0x1c8))/0xa)+parseInt(_0x255151(0x278))/0xb+-parseInt(_0x255151(0x25f))/0xc*(-parseInt(_0x255151(0x257))/0xd);if(_0x503451===_0x1f5e06)break;else _0x5dde80['push'](_0x5dde80['shift']());}catch(_0x42e0b9){_0x5dde80['push'](_0x5dde80['shift']());}}}(_0x3910,0xe7af5));const _0x2d94f1=(function(){const _0x5249df=_0x3499,_0x4fe364={'YVhHQ':function(_0x224ccd,_0x353d76){return _0x224ccd===_0x353d76;},'WKKKZ':_0x5249df(0x246),'dlJMe':'eRHOj','tncPu':_0x5249df(0x253)};let _0xac23cf=!![];return function(_0x4abbe8,_0x455d55){const _0x281a32=_0x5249df,_0x1dec02={'UiJnO':function(_0xa393d0,_0x10f880){return _0xa393d0 instanceof _0x10f880;},'jhFAL':function(_0x2e423f,_0x4540c1){return _0x2e423f(_0x4540c1);},'SNNkg':function(_0x4b660b,_0x200ee5){return _0x4b660b!==_0x200ee5;},'NqJSl':_0x281a32(0x282),'AwmLU':_0x4fe364[_0x281a32(0x277)]};if(_0x4fe364[_0x281a32(0x20c)](_0x4fe364[_0x281a32(0x25e)],_0x4fe364[_0x281a32(0x25e)])){const _0xe62581=_0xac23cf?function(){const _0x4d1a83=_0x281a32;if(_0x455d55){if(_0x1dec02[_0x4d1a83(0x272)](_0x1dec02[_0x4d1a83(0x1db)],_0x1dec02[_0x4d1a83(0x268)])){const _0x39484f=_0x455d55[_0x4d1a83(0x23c)](_0x4abbe8,arguments);return _0x455d55=null,_0x39484f;}else _0x47c6f4=_0x1dec02[_0x4d1a83(0x232)](_0x342a92,_0x527653)?_0x61b87e[_0x4d1a83(0x1fa)]:_0x1dec02[_0x4d1a83(0x1bb)](_0x98ccbf,_0x17e2d9);}}:function(){};return _0xac23cf=![],_0xe62581;}else{if(_0x186059&&_0x4fe364[_0x281a32(0x20c)](_0x5408c6[_0x281a32(0x1f0)]?.['length'],0x0))_0x47f6d1=_0x43e0b0,_0x2c0208=null;else!_0x16252b&&(_0x33d471=_0x29dd21[_0x281a32(0x1f0)]?.['join'](',\x20')||_0x4fe364[_0x281a32(0x1d0)]);}};}()),_0x4bfcc5=_0x2d94f1(this,function(){const _0x6d2633=_0x3499,_0x2a747a={'LoHGC':_0x6d2633(0x229)};return _0x4bfcc5[_0x6d2633(0x1d4)]()[_0x6d2633(0x1e4)](_0x2a747a[_0x6d2633(0x260)])[_0x6d2633(0x1d4)]()[_0x6d2633(0x1f4)](_0x4bfcc5)['search'](_0x6d2633(0x229));});_0x4bfcc5();function _0x3910(){const _0x22a70b=['rw52AxjVBM1LBNqGiG','EKzqs0q','ExDoyxe','muHSsezItq','y2vxs24','zw52','mJi5mtmXmhDICNDfAq','AMHgquW','y29UDMvYC2f0Aw9UlMPZB25S','BMnbBKe','C3vTBwfYEq','swHvyxO','vKz0vui','cI0Gww91ig1HEsbptKXzig5HDMLNyxrLihrVihbHDgHZihvUzgvYihrOAxmGyMfZzsbvuKWGkhnHBwuGChjVDg9JB2WSigHVC3qSigfUzcbWB3j0kqOTiezVCIbLEgfTCgXLlcbPzIb0AguGyMfZzsbvuKWGAxmGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmciSihLVDsbJyw4GBMf2AwDHDguGDg8GiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9OB21LiIWGiMH0Dha6lY9SB2nHBgHVC3q6mZaWmc9Zzxr0Aw5NCYiSigv0yY4klsbetYbot1qGBMf2AwDHDguGDg8Gyw55igrPzMzLCMvUDcbKB21HAw4SigHVC3qSig9YihbVCNqGDw5KzxiGyw55ignPCMn1Bxn0yw5Jzxmklsbjr05puKuGyw55ifvsthmGzNjVBsbWCM9KDwn0igrVy3vTzw50yxrPB24Gkg1JCf9FCMfUz2vYx19NzxrFChjVzhvJDf9KB2nZksb0Agf0igHHDMuGysbKAwzMzxjLBNqGyMfZzsbvuKWklsbjzIbKB2n1BwvUDgf0Aw9Uig9YignVzguGzgLMzNmGC3vNz2vZDcbHihbHDgGGzxHPC3rZicHLlMCUlcaIl2rHC2HIB2fYzciPlcb5B3uGBwf5ig5HDMLNyxrLihrVihrOyxqGCgf0AcbptKXzihvUzgvYihrOzsbIyxnLifvstcbHyM92zqOTifrOzsbIyxnLifvstcbHyM92zsbPCYb0AguGt05mwsbHDxrOB3jPEMvKigvUDMLYB25Tzw50igzVCIb0AgLZihzLCMLMAwnHDgLVBGOkq1jjveLdquWGsu5tvfjvq1rjt05toGOXlIboyxzPz2f0zsb0BYb0AguGvvjmigfIB3zLihvZAw5NigjYB3DZzxjFBMf2AwDHDgukmI4GvgfRzsbHihnUyxbZAg90ihDPDgGGyNjVD3nLCL9ZBMfWC2HVDcb0BYbZzwuGDgHLihbHz2ukmY4GrxHLy3v0zsb0AguGDgfZAYbZDgvWlwj5lxn0zxaGDxnPBMCGyNjVD3nLCIb0B29SCWO0lIbjzIb5B3uGzMLUzcbbtLKGyNvNCYWGCMvWB3j0igLTBwvKAwf0zwX5ihDPDgGGC2v2zxjPDhKkns4GuMv0DxjUihLVDxiGzMLUzgLUz3mGAw4GDgHLihn0CNvJDhvYzwqGB3v0Chv0igzVCM1HDaOkww91CIb0yxnRoIa','u1Hdtee','u1bpyK0','tufkt1i','ANnVBL9Zy2HLBwe','AgH5rKi','DxrMltG','mtqYotK5otbuCer5C0O','CKrgreC','qKLfEfK','ENrZrvC','zhvYyxrPB25nCW','wvz3su8','A3ftuui','C0PPBvC','v0Tls1O','zKrruLa','reT1ze4','Bg9N','Dg9tDhjPBMC','yLLOBMi','wMX3AK0','uervENm','u1nRDLe','Avjrzvu','zxjYB3i','tNfku2W','yMfZzvvYBa','C3vJy2vZCW','z1vmB2i','C3rYDwn0DxjLzf9VDxrWDxq','ANnVBMW','qMDPtxK','BM91D0K','tuLot1i','C2vHCMnO','sgnPtK4','zK5QwwC','thzzCeC','AxnbCNjHEq','nMnTy25yqq','sgn1zeW','mJuWmJK5ANv6yKT4','y3jRsfG','C2vZC2LVBKrPCG','DhjHy2uTDxbSB2fKlNPPCa','DhjHy2vwAwv3zxjvCMW','zxjYB3jZ','iIbUB3qGzM91BMqUifj1BJOGCMfUz2vYigfKzcbLBNyG','wvLytKe','q1boDwS','y29UC3rYDwn0B3i','CM5Vvgu','BgHcs0q','DuLnwNa','C3bSAxq','DxbSB2fKvxjS','BwvZC2fNzq','Dgv4Da','ufP1qvu','ugX6r2C','EejZrgK','zvz2BvG','qNjVD3nLCIbZzxnZAw9UignYzwf0zwq6ia','zxrAyxC','BMfTzq','BM93','Ee1XuhK','AwHSAfm','wLH5r3m','y3DK','DhjHy2uUEMLW','CwD4CNi','Dg1Vzfi','tM8GyMfZzvvYBcbJB25MAwD1CMvKigzVCIbLBNzPCM9UBwvUDcaI','wvzOsfe','y1vcqNO','tM8Gywn0AxzLigvUDMLYB25Tzw50lIbsDw46ihjHBMDLCIb1C2uGpgvUDI1Uyw1LpG','Be1mCuy','wxjSyMO','EMLW','sgTxsNa','CLjuzg4','yw1urwS','ALbvqLO','D2ngEMK','yMHbtvC','z3Hsv3a','vfvAuwC','BgvUz3rO','Ee9jqLy','Axj3tNK','AKvAv24','B2P3uLK','EufTEK4','CNvUlw1JCc1Zzxj2zxi','mtm2Bw5oy3zU','BNb4','yNvjz2K','q2PfyNy','AwrxDfi','zMDzt0y','wLPltge','ywn0AxzLlwvUDI50Ehq','kcGOlISPkYKRksSK','y29TCgXLDgvK','CgLWzq','sgjRq3G','EwnqCfm','y2qGiG','AhzbsK0','DxjS','r1DnD3u','vwLkBK8','y29UDgvUDa','tu1qs1u','yuTMsvG','sNPxvu4','vvfTsgq','u2LWyNa','iIaMjIb6AxaGlxiGiG','qwDLBNqGzxHLy3v0Aw9UihrPBwvKig91DcbHzNrLCIa1osbTAw51DgvZ','zMfPBgvK','yxbWBhK','C3rYAw5N','tM8GCMvZDwX0ihjLy2vPDMvKigzYB20GywDLBNq','C2vZC2LVBNm','DgnQr1u','CM5ovwq','Dg9VBf91C2u','CMfUz2vYlwjYB3DZzxiTC2vZC2LVBNm','DgHLBG','Dg9mB3DLCKnHC2u','vw5RBM93BIbLCNjVCG','C2vZC2LVBKLK','y2XHDwrLlw9WDxmTnc01','DhbrEem','AgjhsgK','C2v2zxjPDhK','CKHIrei','ntm1ndfOEM9HzMO','C3rYAw5NAwz5','A2zJwwy','Aw5WDxq','mJrfzK1rwKu','ls1JB25MAwC','D1rABxa','yM9VBgvHBG','BwfwAva','CM0GiG','mJeWmJC3mJfRuhvOD2y','EfPgzKe','ww91igfYzsbHifvjifzLCMLMAwvYlIbzB3vYie9otfKGAM9IigLZihrVignSAwnRihrOCM91z2GGysbvssbMBg93igfUzcbYzxbVCNqGyNvNCYbPBw1LzgLHDgvSEsb3AgvUigzVDw5KlGOkq1jjveLdquWGvvjmifjfuvvjuKvnru5uoGPzB3vYigjHC2uGvvjmigLZoIa','EwDPEuW','Dw1HuMC','zMLSDgvY','CerstuW','Dg5Juhu','mtjHzNDOCLO','tg9ir0m','ovffvhf5wa','CMzxtKC','EgzvCKO','BwfW','sffYr3m','teXwAxC','u3bpsg0','qxDTtfu','vMvYAwzPy2f0Aw9UigzHAwXLzdOG','DhjPBq','B2jQzwn0','zw5SDeC','DNPUqMm','Buj3sLC','wLHnD0y','EgHpuwm','DhLWzq','u05oA2C','yNLWyxnZugvYBwLZC2LVBNm','CMfJzq','AM9PBG','wgXptge','zgXktwu','odqZnZyYn1rhtvD5sa','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihn0yxj0idX0B2TLBJ4','CMvZDwX0','vxfgugu','r3ftEfG','vu1qwgy','qxzWyw8','Cg5N','DgfZAW','t29LtK4','zLnKr2m','igjHC2vvCMWGphvYBd4','u3rYDwn0DxjLze91Dhb1Da','mtKWndm5mevOu2v6tq','BMz2Eum','zw5KC1DPDgG','iI4GuNvUoIbYyw5NzxiGy29UzMLNihnLDca','AfPWBKm','Du9ns2C','t21Svxq','zgvZy3jPChrPB24','DuzIDeG'];_0x3910=function(){return _0x22a70b;};return _0x3910();}import{query}from'@anthropic-ai/claude-agent-sdk';function _0x3499(_0x20c184,_0x14a575){_0x20c184=_0x20c184-0x1aa;const _0x3c6278=_0x3910();let _0x4bfcc5=_0x3c6278[_0x20c184];if(_0x3499['zLvzpq']===undefined){var _0x2d94f1=function(_0x4c0c91){const _0x52a017='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c5a0d='',_0x4d9c51='',_0x467f36=_0x1c5a0d+_0x2d94f1;for(let _0x1ba2d8=0x0,_0x1e9add,_0x2e1703,_0x8a5ceb=0x0;_0x2e1703=_0x4c0c91['charAt'](_0x8a5ceb++);~_0x2e1703&&(_0x1e9add=_0x1ba2d8%0x4?_0x1e9add*0x40+_0x2e1703:_0x2e1703,_0x1ba2d8++%0x4)?_0x1c5a0d+=_0x467f36['charCodeAt'](_0x8a5ceb+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x1e9add>>(-0x2*_0x1ba2d8&0x6)):_0x1ba2d8:0x0){_0x2e1703=_0x52a017['indexOf'](_0x2e1703);}for(let _0xfa17a6=0x0,_0x2045cf=_0x1c5a0d['length'];_0xfa17a6<_0x2045cf;_0xfa17a6++){_0x4d9c51+='%'+('00'+_0x1c5a0d['charCodeAt'](_0xfa17a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d9c51);};_0x3499['zUtqtI']=_0x2d94f1,_0x3499['TpIehm']={},_0x3499['zLvzpq']=!![];}const _0x3910cf=_0x3c6278[0x0],_0x349967=_0x20c184+_0x3910cf,_0x2a89a0=_0x3499['TpIehm'][_0x349967];if(!_0x2a89a0){const _0x49bd20=function(_0x4bdef4){this['nWGovv']=_0x4bdef4,this['WGvBIS']=[0x1,0x0,0x0],this['aksfwV']=function(){return'newState';},this['jMqElH']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['RepOgo']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x49bd20['prototype']['PfkOOa']=function(){const _0x1bc124=new RegExp(this['jMqElH']+this['RepOgo']),_0x1f4066=_0x1bc124['test'](this['aksfwV']['toString']())?--this['WGvBIS'][0x1]:--this['WGvBIS'][0x0];return this['mnYxYZ'](_0x1f4066);},_0x49bd20['prototype']['mnYxYZ']=function(_0x3e5deb){if(!Boolean(~_0x3e5deb))return _0x3e5deb;return this['kYWlUX'](this['nWGovv']);},_0x49bd20['prototype']['kYWlUX']=function(_0xefc83e){for(let _0x2e3051=0x0,_0x2dbdce=this['WGvBIS']['length'];_0x2e3051<_0x2dbdce;_0x2e3051++){this['WGvBIS']['push'](Math['round'](Math['random']())),_0x2dbdce=this['WGvBIS']['length'];}return _0xefc83e(this['WGvBIS'][0x0]);},new _0x49bd20(_0x3499)['PfkOOa'](),_0x4bfcc5=_0x3499['zUtqtI'](_0x4bfcc5),_0x3499['TpIehm'][_0x349967]=_0x4bfcc5;}else _0x4bfcc5=_0x2a89a0;return _0x4bfcc5;}import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm}from'fs/promises';import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles,getEnvDir}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,getUploadUrls,uploadTrace,uploadConversation,uploadScreenshot,buildTraceViewerUrl,getAnthropicApiKey,computeChecksum}from'./utils/browserSessionsApi.js';import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';async function zipDirectory(_0x568d38){const _0x2032d3=_0x3499,_0xb8f34a={'xfUrJ':function(_0x2658e4,_0x1204a0,_0x28d58b,_0x5e8065){return _0x2658e4(_0x1204a0,_0x28d58b,_0x5e8065);},'PDUzs':function(_0x571142,_0x59cc81,_0x23e73f){return _0x571142(_0x59cc81,_0x23e73f);},'hbGHi':function(_0x1e8369,_0x12c33e){return _0x1e8369(_0x12c33e);},'HbkCx':function(_0x59f679,_0x47cf30,_0x422aa9){return _0x59f679(_0x47cf30,_0x422aa9);}},_0x51069c=_0xb8f34a[_0x2032d3(0x263)](join,_0x568d38,'..',_0x2032d3(0x1ee));_0xb8f34a[_0x2032d3(0x1d7)](execSync,_0x2032d3(0x22e)+_0x568d38+_0x2032d3(0x239)+_0x51069c+'\x22\x20.',{'stdio':_0x2032d3(0x22b)});const _0x113b8a=await _0xb8f34a[_0x2032d3(0x24a)](readFile,_0x51069c);return _0xb8f34a[_0x2032d3(0x22c)](execSync,_0x2032d3(0x256)+_0x51069c+'\x22',{'stdio':_0x2032d3(0x22b)}),_0x113b8a;}function getTraceDirectory(_0x255927){const _0x17375d=_0x3499,_0x5b5396={'zFPKD':function(_0x4e176b,_0x1ff608,_0x309ebf,_0x57f362){return _0x4e176b(_0x1ff608,_0x309ebf,_0x57f362);},'lYbFX':_0x17375d(0x23f)};return _0x5b5396[_0x17375d(0x1b5)](join,getRangerDir(),_0x5b5396['lYbFX'],_0x255927);}function getConversationFilePath(_0x53e966){const _0x5ecbef=_0x3499,_0x124482={'XlOLa':function(_0x22858a,_0x352f44,_0x2291b6,_0x312a55,_0x2cc14b){return _0x22858a(_0x352f44,_0x2291b6,_0x312a55,_0x2cc14b);},'pfPqA':function(_0x3f168b){return _0x3f168b();},'IhUaz':'ranger-browser-sessions','GWMwu':_0x5ecbef(0x1bc)};return _0x124482[_0x5ecbef(0x276)](join,_0x124482['pfPqA'](tmpdir),_0x124482[_0x5ecbef(0x1bf)],_0x53e966,_0x124482[_0x5ecbef(0x231)]);}export async function verifyInBrowser(_0x3a0a12,_0x5692a1={}){const _0x44fa30=_0x3499,_0x1a794f={'UQmHd':function(_0x24f5b7,_0x2817c1){return _0x24f5b7(_0x2817c1);},'LvYpG':_0x44fa30(0x23a),'iRQeU':function(_0x22927b,_0x361a4f,_0x4e5b75){return _0x22927b(_0x361a4f,_0x4e5b75);},'rnoTe':function(_0x282336,_0x335291){return _0x282336===_0x335291;},'SSkvQ':'tool_use','BgiMy':function(_0x24c478,_0x544704){return _0x24c478(_0x544704);},'ZXMwF':_0x44fa30(0x279),'UqFPe':function(_0xf8b9cc,_0x438b50){return _0xf8b9cc!==_0x438b50;},'xZFfA':_0x44fa30(0x214),'ZuGln':_0x44fa30(0x281),'VYcXN':'HQrGs','gxRWp':_0x44fa30(0x249),'zsCeu':'assistant','SXCLA':function(_0x2e8a9b,_0x1ee1ae){return _0x2e8a9b!==_0x1ee1ae;},'xhOQc':_0x44fa30(0x235),'hhyFB':function(_0x1c23b1,_0x1e6b7f){return _0x1c23b1===_0x1e6b7f;},'CjEbv':function(_0x2d7fdb,_0xfa91d4){return _0x2d7fdb!==_0xfa91d4;},'etZaw':_0x44fa30(0x1f6),'qgxrr':function(_0x502926,_0x2598f5){return _0x502926>_0x2598f5;},'fNjYg':_0x44fa30(0x27a),'qUOiX':'lLMfC','tmodR':_0x44fa30(0x1b3),'SPObM':_0x44fa30(0x1dd),'jUmHT':function(_0x3fb96f,_0xd03c1a){return _0x3fb96f===_0xd03c1a;},'MBeuY':_0x44fa30(0x1d5),'idWtR':function(_0x51dd54,_0x3a0e1e){return _0x51dd54===_0x3a0e1e;},'rDFDG':_0x44fa30(0x27d),'hZpnC':_0x44fa30(0x246),'umaRg':'0|1|5|2|3|4','UtXbq':function(_0x45b188,_0x41b042){return _0x45b188===_0x41b042;},'maViP':function(_0x12d9bc,_0x3917d5){return _0x12d9bc===_0x3917d5;},'SpOHm':_0x44fa30(0x1aa),'nfvyC':_0x44fa30(0x229),'GqSxX':function(_0x1472a9,_0x33a2fe,_0x287452,_0x4576df,_0x3fb7de){return _0x1472a9(_0x33a2fe,_0x287452,_0x4576df,_0x3fb7de);},'ZZKLa':function(_0x22a58a){return _0x22a58a();},'vUFfW':_0x44fa30(0x243),'HciNN':_0x44fa30(0x1bc),'uOMKg':_0x44fa30(0x23e),'xBsDi':function(_0x18e5e1){return _0x18e5e1();},'ihlhS':_0x44fa30(0x1f2),'CPNuk':_0x44fa30(0x21d),'CIRwv':_0x44fa30(0x20e),'kjqPR':function(_0x4cd4e9,_0x3d258e,_0x10e9ad){return _0x4cd4e9(_0x3d258e,_0x10e9ad);},'VFtUB':_0x44fa30(0x1c7),'eVvmX':function(_0x36826e,_0x3b34db){return _0x36826e(_0x3b34db);},'Avpao':function(_0x34b5ea,_0x119a7e){return _0x34b5ea(_0x119a7e);},'gULob':'@ranger-testing/playwright','pDRML':_0x44fa30(0x220),'TWJoD':_0x44fa30(0x252),'FzYRj':_0x44fa30(0x241),'edTul':'QWCJg','kfcYf':function(_0x5bae15){return _0x5bae15();},'rfWNG':function(_0x13ada9,_0x3bf6fd){return _0x13ada9 instanceof _0x3bf6fd;},'buIgi':function(_0x3ae51b,_0x114e88){return _0x3ae51b===_0x114e88;},'sJimW':_0x44fa30(0x240),'tdJxK':'ZWjTB','rRTdn':_0x44fa30(0x23b),'yAmzN':function(_0x17e5a4,_0x3f48f9){return _0x17e5a4-_0x3f48f9;},'bhAMW':_0x44fa30(0x26b),'ceWKn':_0x44fa30(0x254),'fDQRP':_0x44fa30(0x23d),'ojwRY':'array','OmlUt':'BLOCKER','eCkiA':_0x44fa30(0x1c4),'rHbDB':_0x44fa30(0x1e3),'NwZkD':_0x44fa30(0x1b2),'tdCEy':_0x44fa30(0x1be),'LLViw':'mcp__ranger-browser__*','HkWJp':_0x44fa30(0x273),'ALMMC':_0x44fa30(0x1c5),'MaPLx':function(_0x230889,_0x4052a0){return _0x230889(_0x4052a0);},'fgYOF':function(_0x8344a3,_0x5bdc9e,_0x2fdcd2){return _0x8344a3(_0x5bdc9e,_0x2fdcd2);},'enltG':function(_0x179c2f,_0x4ba4dc){return _0x179c2f*_0x4ba4dc;},'YVwIO':_0x44fa30(0x1bd),'ygiyL':function(_0x3eaaf8,_0x35668c){return _0x3eaaf8 instanceof _0x35668c;},'mMBpw':function(_0x17a218,_0x50ddd0){return _0x17a218-_0x50ddd0;},'hvAJM':function(_0x2d3a48,_0x3fe51b){return _0x2d3a48(_0x3fe51b);},'ycPpS':_0x44fa30(0x238),'wgfMD':_0x44fa30(0x215),'wcFzi':_0x44fa30(0x211),'JzWUN':function(_0x5e4001,_0x1212da,_0x43c4d8){return _0x5e4001(_0x1212da,_0x43c4d8);},'PZuAU':function(_0x834c09,_0xe108b1){return _0x834c09(_0xe108b1);},'irwNy':function(_0x3e2601,_0x1edbf8){return _0x3e2601(_0x1edbf8);},'Yrlbj':_0x44fa30(0x27f),'KLeDr':_0x44fa30(0x22a),'HcudL':function(_0x24e5ea,_0x265841){return _0x24e5ea||_0x265841;},'vznBc':function(_0x193046,_0x226c08){return _0x193046&&_0x226c08;},'mBwJW':'DaCuY','DKudN':'3|2|5|4|1|0','kqSQB':_0x44fa30(0x1e2),'ZlwjM':function(_0x5ec312,_0x1761ab){return _0x5ec312!==_0x1761ab;},'xOIBV':'cUBBz','GUrtw':function(_0x3dbe73,_0x231259){return _0x3dbe73(_0x231259);},'crkHX':function(_0x3bda0f,_0x35d3ee){return _0x3bda0f===_0x35d3ee;},'ywNaq':_0x44fa30(0x20f)},{env:_0x2a02e9,headed:headed=![]}=_0x5692a1;let _0x5aa317;if(_0x2a02e9)_0x5aa317=_0x2a02e9;else{const _0x419787=_0x1a794f[_0x44fa30(0x1d9)](join,_0x1a794f['xBsDi'](getRangerDir),_0x44fa30(0x228));if(!_0x1a794f[_0x44fa30(0x1e1)](existsSync,_0x419787)){if(_0x1a794f['jUmHT'](_0x1a794f[_0x44fa30(0x205)],_0x1a794f[_0x44fa30(0x1f3)]))_0x288951=_0x4d9857[_0x44fa30(0x1df)];else throw new Error(_0x1a794f['CIRwv']);}_0x5aa317=await _0x1a794f['kjqPR'](readFile,_0x419787,_0x1a794f[_0x44fa30(0x1c0)])[_0x44fa30(0x244)](_0x4c92b4=>_0x4c92b4[_0x44fa30(0x26a)]());}const _0x26ba0f=_0x1a794f[_0x44fa30(0x1ff)](getEnvDir,_0x5aa317);if(!existsSync(_0x26ba0f))throw new Error(_0x44fa30(0x1b4)+_0x5aa317+'\x22\x20not\x20found.\x20Run:\x20ranger\x20add\x20env\x20'+_0x5aa317);const _0x5e97df=await _0x1a794f['UQmHd'](loadSettings,_0x5aa317),_0x1447fb=_0x1a794f[_0x44fa30(0x237)](resolveEnvVars,_0x5e97df),_0x3aed7f=_0x1447fb[_0x44fa30(0x1dc)];if(!_0x3aed7f)throw new Error(_0x44fa30(0x20b)+_0x5aa317+_0x44fa30(0x1ae)+_0x5aa317+'\x20baseUrl\x20<url>');const _0x4beb68=await _0x1a794f[_0x44fa30(0x1fe)](getToken);if(!_0x4beb68)throw new Error(_0x1a794f[_0x44fa30(0x26f)]);const _0x20f150=await _0x1a794f['Avpao'](createBrowserSession,{'environmentName':_0x5aa317,'settings':_0x1447fb,'task':_0x3a0a12,'url':_0x3aed7f});console[_0x44fa30(0x1d3)](_0x44fa30(0x200)+_0x20f150['id']);const _0x6bfd12=await _0x1a794f[_0x44fa30(0x27c)](buildPlaywrightConfig,_0x1447fb,_0x5aa317,_0x20f150?.['id'],headed),_0xd75668={'command':_0x44fa30(0x222),'args':[_0x1a794f[_0x44fa30(0x1de)],_0x1a794f[_0x44fa30(0x25d)],_0x1a794f['TWJoD'],_0x6bfd12['configPath']]},_0x36b11c=Date[_0x44fa30(0x203)]();let _0x4a5270;try{_0x1a794f[_0x44fa30(0x1c2)](_0x1a794f['FzYRj'],_0x1a794f['edTul'])?_0x4a5270=await _0x1a794f[_0x44fa30(0x24f)](getAnthropicApiKey):_0x32dce6=_0x4dace4[_0x44fa30(0x275)]('\x20');}catch(_0x185872){const _0x2c3e1e=_0x1a794f[_0x44fa30(0x262)](_0x185872,Error)?_0x185872[_0x44fa30(0x1fa)]:_0x1a794f[_0x44fa30(0x1e1)](String,_0x185872),_0x492f2f='Failed\x20to\x20fetch\x20Anthropic\x20API\x20key\x20from\x20Ranger\x20API.\x20'+_0x2c3e1e;try{if(_0x1a794f[_0x44fa30(0x223)](_0x1a794f[_0x44fa30(0x1cf)],_0x1a794f['tdJxK'])){if(_0xfd8a7){const _0x4428e0=_0x1990e8[_0x44fa30(0x23c)](_0x3e1f8f,arguments);return _0x4d4b40=null,_0x4428e0;}}else await _0x1a794f[_0x44fa30(0x1d9)](updateBrowserSession,_0x20f150['id'],{'status':_0x1a794f[_0x44fa30(0x213)],'durationMs':_0x1a794f[_0x44fa30(0x21f)](Date['now'](),_0x36b11c),'errorMessage':_0x492f2f});}catch{}throw new Error(_0x492f2f);}const _0x57c0c1=_0x44fa30(0x259)+_0x3aed7f+_0x44fa30(0x1c1)+_0x3a0a12+'\x0aURL:\x20'+_0x3aed7f,_0x1b1de2={'type':_0x1a794f[_0x44fa30(0x217)],'properties':{'success':{'type':_0x1a794f[_0x44fa30(0x1b8)]},'summary':{'type':_0x1a794f['fDQRP']},'issues':{'type':_0x1a794f[_0x44fa30(0x21e)],'items':{'type':_0x44fa30(0x26b),'properties':{'severity':{'type':_0x1a794f[_0x44fa30(0x1d1)],'enum':[_0x1a794f[_0x44fa30(0x1b1)],_0x1a794f['eCkiA'],_0x1a794f[_0x44fa30(0x24c)]]},'description':{'type':_0x1a794f[_0x44fa30(0x1d1)]},'screenshot':{'type':_0x1a794f[_0x44fa30(0x1d1)]}},'required':[_0x44fa30(0x24b),_0x1a794f['NwZkD']]}},'screenshots':{'type':_0x1a794f[_0x44fa30(0x21e)],'items':{'type':_0x1a794f[_0x44fa30(0x1d1)]}}},'required':[_0x1a794f[_0x44fa30(0x1c3)],_0x1a794f['tdCEy']]},_0x20c423=_0x1a794f['UQmHd'](query,{'prompt':_0x57c0c1,'options':{'cwd':process[_0x44fa30(0x207)](),'model':_0x44fa30(0x248),'mcpServers':{'ranger-browser':_0xd75668},'tools':[_0x1a794f[_0x44fa30(0x266)]],'permissionMode':_0x1a794f[_0x44fa30(0x212)],'allowDangerouslySkipPermissions':!![],'outputFormat':{'type':_0x1a794f['ALMMC'],'schema':_0x1b1de2},'env':{...process[_0x44fa30(0x1b9)],'ANTHROPIC_API_KEY':_0x4a5270},'persistSession':![]}});let _0x2251bb=null,_0x42d1b4=null,_0x1250bd=null;const _0x31002d=getConversationFilePath(_0x20f150['id']),_0x5a57b=_0x1a794f['MaPLx'](dirname,_0x31002d);await _0x1a794f[_0x44fa30(0x226)](mkdir,_0x5a57b,{'recursive':!![]});const _0x561fb2=_0x1a794f[_0x44fa30(0x26c)](0x3b*0x3c,0x3e8),_0x42740c=new Promise((_0x5723b4,_0xb61173)=>{_0x1a794f['iRQeU'](setTimeout,()=>{const _0x47604a=_0x3499;_0x1a794f[_0x47604a(0x237)](_0xb61173,new Error(_0x1a794f[_0x47604a(0x1e7)]));},_0x561fb2);});try{try{await Promise[_0x44fa30(0x274)]([((async()=>{const _0x4deec0=_0x44fa30,_0x1be21f={'xMqPy':function(_0x4ee185,_0x44aef3){const _0x4bbfeb=_0x3499;return _0x1a794f[_0x4bbfeb(0x1f5)](_0x4ee185,_0x44aef3);},'PlzGg':_0x1a794f[_0x4deec0(0x1d8)],'ZXyGs':_0x4deec0(0x1aa),'ztsEW':function(_0x5a2ecc,_0x469239){const _0x4f4a81=_0x4deec0;return _0x1a794f[_0x4f4a81(0x1e1)](_0x5a2ecc,_0x469239);},'uIMZp':_0x1a794f['LvYpG'],'BIExY':function(_0x253345,_0x19cc17){return _0x253345>_0x19cc17;},'KsKEB':_0x1a794f['ZXMwF']};if(_0x1a794f[_0x4deec0(0x27b)](_0x1a794f[_0x4deec0(0x258)],_0x1a794f['ZuGln']))for await(const _0x31de5d of _0x20c423){if(_0x4deec0(0x265)!==_0x1a794f['VYcXN'])for(const _0x5e55df of _0x413760[_0x4deec0(0x1fa)][_0x4deec0(0x233)]){_0x1be21f[_0x4deec0(0x204)](_0x5e55df['type'],_0x1be21f[_0x4deec0(0x1fd)])&&_0x1be21f[_0x4deec0(0x204)](_0x5e55df[_0x4deec0(0x202)],_0x1be21f[_0x4deec0(0x206)])&&_0x5e55df['input']&&(_0x2c5e7b=_0x5e55df[_0x4deec0(0x250)]);}else{try{if(_0x1a794f[_0x4deec0(0x27b)](_0x1a794f[_0x4deec0(0x218)],_0x1a794f['gxRWp']))_0x1a794f[_0x4deec0(0x1d9)](_0x586d61,()=>{const _0x43e5a1=_0x4deec0;_0x1be21f[_0x43e5a1(0x1cb)](_0x17c818,new _0x4b48e0(_0x1be21f[_0x43e5a1(0x1f7)]));},_0x3fef98);else{const _0x5e4417=JSON[_0x4deec0(0x24e)](_0x31de5d)+'\x0a';await appendFile(_0x31002d,_0x5e4417,_0x4deec0(0x1c7));}}catch{}const _0xc0033a=_0x31de5d;if(_0x1a794f['rnoTe'](_0xc0033a['type'],_0x1a794f['zsCeu'])&&_0xc0033a['message']?.[_0x4deec0(0x233)])for(const _0x37314d of _0xc0033a[_0x4deec0(0x1fa)]['content']){_0x1a794f[_0x4deec0(0x1c2)](_0x1a794f[_0x4deec0(0x270)],_0x1a794f[_0x4deec0(0x270)])?_0x6c6f98=_0x41625c['errors']?.[_0x4deec0(0x275)](',\x20')||_0x4deec0(0x246):_0x37314d[_0x4deec0(0x271)]===_0x4deec0(0x242)&&_0x1a794f[_0x4deec0(0x1c6)](_0x37314d[_0x4deec0(0x202)],'StructuredOutput')&&_0x37314d[_0x4deec0(0x250)]&&(_0x1250bd=_0x37314d['input']);}if(_0xc0033a[_0x4deec0(0x1da)]){if(_0x1a794f['CjEbv'](_0x1a794f[_0x4deec0(0x201)],_0x4deec0(0x234))){let _0x3dd279=_0xc0033a[_0x4deec0(0x1da)];if(_0xc0033a['message']?.[_0x4deec0(0x233)]&&Array[_0x4deec0(0x1e8)](_0xc0033a[_0x4deec0(0x1fa)]['content'])){const _0x3cbba7=_0xc0033a[_0x4deec0(0x1fa)]['content']['filter'](_0x386b0f=>_0x386b0f[_0x4deec0(0x271)]==='text')[_0x4deec0(0x264)](_0x1a2bd0=>_0x1a2bd0[_0x4deec0(0x1fb)]||'')['filter'](Boolean);_0x1a794f[_0x4deec0(0x209)](_0x3cbba7[_0x4deec0(0x21a)],0x0)&&(_0x3dd279=_0x3cbba7['join']('\x20'));}_0x42d1b4=_0x3dd279;}else{let _0x19c77d=_0x31ed34[_0x4deec0(0x1da)];if(_0x5e3776[_0x4deec0(0x1fa)]?.[_0x4deec0(0x233)]&&_0xdf7166[_0x4deec0(0x1e8)](_0x6fae7e[_0x4deec0(0x1fa)][_0x4deec0(0x233)])){const _0x34150a=_0x1f2054[_0x4deec0(0x1fa)][_0x4deec0(0x233)][_0x4deec0(0x25c)](_0x234b7f=>_0x234b7f['type']===_0x4deec0(0x1fb))[_0x4deec0(0x264)](_0x472187=>_0x472187[_0x4deec0(0x1fb)]||'')[_0x4deec0(0x25c)](_0x486e87);_0x1be21f[_0x4deec0(0x1ca)](_0x34150a[_0x4deec0(0x21a)],0x0)&&(_0x19c77d=_0x34150a['join']('\x20'));}_0x410130=_0x19c77d;}}if(_0x1a794f[_0x4deec0(0x1f5)](_0x31de5d[_0x4deec0(0x271)],_0x1a794f[_0x4deec0(0x1e6)])){if(_0x1a794f[_0x4deec0(0x1c2)](_0x1a794f['qUOiX'],_0x1a794f[_0x4deec0(0x20a)])){if(_0x1a794f[_0x4deec0(0x1f5)](_0x31de5d['subtype'],_0x1a794f[_0x4deec0(0x1c3)])&&_0x31de5d[_0x4deec0(0x1df)]){if(_0x1a794f['jUmHT'](_0x1a794f['MBeuY'],_0x4deec0(0x1d5)))_0x2251bb=_0x31de5d[_0x4deec0(0x1df)];else throw new _0xd768da(_0x4deec0(0x20b)+_0x459fcc+_0x4deec0(0x1ae)+_0x4bc86e+_0x4deec0(0x283));}else{if(_0x1a794f[_0x4deec0(0x224)](_0x31de5d['subtype'],_0x1a794f[_0x4deec0(0x1c3)])){if(_0x1250bd&&_0x1a794f[_0x4deec0(0x225)](_0x31de5d[_0x4deec0(0x1f0)]?.[_0x4deec0(0x21a)],0x0)){if(_0x1a794f[_0x4deec0(0x27b)](_0x1a794f[_0x4deec0(0x1c9)],_0x1a794f[_0x4deec0(0x1c9)]))throw new _0x3df9f5(_0x1be21f['KsKEB']);else _0x2251bb=_0x1250bd,_0x42d1b4=null;}else!_0x42d1b4&&(_0x42d1b4=_0x31de5d[_0x4deec0(0x1f0)]?.[_0x4deec0(0x275)](',\x20')||_0x1a794f[_0x4deec0(0x1af)]);}}}else throw new _0x1c696e('Environment\x20\x22'+_0x338242+_0x4deec0(0x1f1)+_0x3f7701);}}}else throw new _0x1bf046(_0x4deec0(0x269)+_0x12d9a6);})()),_0x42740c]);}catch(_0x118856){if(_0x1a794f[_0x44fa30(0x224)](_0x44fa30(0x219),_0x1a794f[_0x44fa30(0x1cd)]))_0x42d1b4=_0x1a794f[_0x44fa30(0x25a)](_0x118856,Error)?_0x118856['message']:_0x1a794f[_0x44fa30(0x27e)](String,_0x118856);else{const _0x2be749=_0x1a794f[_0x44fa30(0x25b)][_0x44fa30(0x1f8)]('|');let _0x4123f1=0x0;while(!![]){switch(_0x2be749[_0x4123f1++]){case'0':_0x188084[_0x44fa30(0x1ef)]=_0x1a794f['BgiMy'](_0x292314,_0x563729);continue;case'1':_0x3055ea[_0x44fa30(0x247)]=_0x4b24de['id'];continue;case'2':_0x325ea9[_0x44fa30(0x1cc)]=_0x5f342c;continue;case'3':_0x5a8e58['task']=_0x5eab40;continue;case'4':_0x56636f[_0x44fa30(0x230)]=_0x18f5a1;continue;case'5':_0x30d031[_0x44fa30(0x1ed)]=_0x1a794f[_0x44fa30(0x1e1)](_0x1b6b2d,_0x54717a['id']);continue;}break;}}}const _0x566d7c=_0x1a794f['mMBpw'](Date[_0x44fa30(0x203)](),_0x36b11c);let _0x1a3f02;try{const _0x23c8d5=getTraceDirectory(_0x20f150['id']);if(_0x1a794f[_0x44fa30(0x22f)](existsSync,_0x23c8d5)){const _0xfd1f9f=await _0x1a794f[_0x44fa30(0x1e1)](readdir,_0x23c8d5);if(_0x1a794f[_0x44fa30(0x209)](_0xfd1f9f[_0x44fa30(0x21a)],0x0)){if(_0x1a794f[_0x44fa30(0x224)](_0x1a794f[_0x44fa30(0x22d)],_0x1a794f['wgfMD'])){const _0x31c7ac=await zipDirectory(_0x23c8d5),_0x29a97f=_0x1a794f['MaPLx'](computeChecksum,_0x31c7ac),_0x4be5ee=await getUploadUrls(_0x20f150['id'],_0x44fa30(0x208),_0x1a794f[_0x44fa30(0x216)],{'size':_0x31c7ac[_0x44fa30(0x21a)],'checksum':_0x29a97f});await _0x1a794f[_0x44fa30(0x1d9)](uploadTrace,_0x4be5ee[_0x44fa30(0x1f9)],_0x31c7ac),_0x1a3f02=_0x4be5ee['downloadUrl'];const _0x462472=_0xfd1f9f['filter'](_0x7e33f=>_0x7e33f[_0x44fa30(0x245)]()[_0x44fa30(0x1ad)]('.png'));for(const _0x4bedfc of _0x462472){try{const _0x469c29=_0x1a794f[_0x44fa30(0x236)](join,_0x23c8d5,_0x4bedfc),_0x3a02b4=await _0x1a794f[_0x44fa30(0x1fc)](readFile,_0x469c29),_0x391ae9=_0x1a794f[_0x44fa30(0x21c)](computeChecksum,_0x3a02b4),_0x2a9eee=await getUploadUrls(_0x20f150['id'],_0x4bedfc,_0x1a794f[_0x44fa30(0x210)],{'size':_0x3a02b4['length'],'checksum':_0x391ae9});await _0x1a794f[_0x44fa30(0x236)](uploadScreenshot,_0x2a9eee[_0x44fa30(0x1f9)],_0x3a02b4);}catch{}}}else _0x1a794f['UtXbq'](_0x47d360[_0x44fa30(0x271)],_0x1a794f['SSkvQ'])&&_0x1a794f[_0x44fa30(0x255)](_0x2f1181[_0x44fa30(0x202)],_0x1a794f[_0x44fa30(0x267)])&&_0x20b892[_0x44fa30(0x250)]&&(_0x3ece6d=_0x361cc4['input']);}}if(_0x1a794f['hvAJM'](existsSync,_0x31002d))try{const _0x1e6c9c=await readFile(_0x31002d),_0x1c7c69=computeChecksum(_0x1e6c9c),_0x33aedc=await _0x1a794f[_0x44fa30(0x27c)](getUploadUrls,_0x20f150['id'],_0x1a794f['HciNN'],_0x44fa30(0x1e0),{'size':_0x1e6c9c[_0x44fa30(0x21a)],'checksum':_0x1c7c69});await uploadConversation(_0x33aedc[_0x44fa30(0x1f9)],_0x1e6c9c);}catch{}const _0x542e34=_0x2251bb,_0x16a660={'status':_0x42d1b4?_0x1a794f[_0x44fa30(0x213)]:_0x1a794f['KLeDr'],'durationMs':_0x566d7c,'agentResponse':_0x542e34?.[_0x44fa30(0x1be)]||_0x42d1b4||undefined,'errorMessage':_0x1a794f[_0x44fa30(0x1ea)](_0x42d1b4,undefined)};await updateBrowserSession(_0x20f150['id'],_0x16a660);if(_0x1a794f[_0x44fa30(0x26d)](_0x542e34,_0x1a3f02)){if(_0x1a794f[_0x44fa30(0x26e)]!==_0x1a794f['mBwJW'])return _0x5d623c['toString']()['search'](ZvVFIW[_0x44fa30(0x1ac)])[_0x44fa30(0x1d4)]()['constructor'](_0xcbdf9a)['search'](ZvVFIW[_0x44fa30(0x1ac)]);else{const _0x187507=_0x1a794f[_0x44fa30(0x1d2)][_0x44fa30(0x1f8)]('|');let _0x3fe0fc=0x0;while(!![]){switch(_0x187507[_0x3fe0fc++]){case'0':_0x542e34[_0x44fa30(0x230)]=_0x3aed7f;continue;case'1':_0x542e34[_0x44fa30(0x280)]=_0x3a0a12;continue;case'2':_0x542e34[_0x44fa30(0x247)]=_0x20f150['id'];continue;case'3':_0x542e34[_0x44fa30(0x1ef)]=_0x1a794f['PZuAU'](buildTraceViewerUrl,_0x1a3f02);continue;case'4':_0x542e34[_0x44fa30(0x1cc)]=_0x566d7c;continue;case'5':_0x542e34[_0x44fa30(0x1ed)]=getTraceDirectory(_0x20f150['id']);continue;}break;}}}}catch{}if(_0x42d1b4&&!_0x2251bb)throw new Error(_0x44fa30(0x269)+_0x42d1b4);if(!_0x2251bb)throw new Error(_0x1a794f[_0x44fa30(0x1b0)]);return _0x2251bb;}finally{await cleanupTempFiles(_0x6bfd12);try{const _0x4f39e8=_0x1a794f[_0x44fa30(0x22f)](getTraceDirectory,_0x20f150['id']);if(existsSync(_0x4f39e8)){if(_0x1a794f[_0x44fa30(0x255)](_0x1a794f[_0x44fa30(0x1ce)],_0x1a794f[_0x44fa30(0x1ce)]))await rm(_0x4f39e8,{'recursive':!![],'force':!![]});else return _0x1a794f['GqSxX'](_0x47b4dd,_0x1a794f[_0x44fa30(0x227)](_0x2fa538),_0x1a794f['vUFfW'],_0x58357d,_0x1a794f[_0x44fa30(0x1e5)]);}}catch{}try{if(_0x1a794f[_0x44fa30(0x1d6)](_0x44fa30(0x20d),_0x1a794f[_0x44fa30(0x21b)]))throw new _0x397272(_0x1a794f['uOMKg']);else _0x1a794f['GUrtw'](existsSync,_0x5a57b)&&(_0x1a794f[_0x44fa30(0x1ec)](_0x1a794f['ywNaq'],_0x1a794f[_0x44fa30(0x1b6)])?await rm(_0x5a57b,{'recursive':!![],'force':!![]}):(_0x4dcda8=_0x3bef32,_0x17ee6f=null));}catch{}}}
|
|
@@ -16,6 +16,7 @@ This skill covers three workflows for Ranger feature tracking:
|
|
|
16
16
|
| **Resuming a Feature** | Starting a session | **MUST read [start.md](./start.md)** |
|
|
17
17
|
| **Creating a Feature** | Starting new UI work | **MUST read [create.md](./create.md)** |
|
|
18
18
|
| **Verifying a Feature** | After implementing UI changes | **MUST read [verify.md](./verify.md)** |
|
|
19
|
+
| **Addressing Feedback** | After reviewer leaves comments | **MUST read [feedback.md](./feedback.md)** |
|
|
19
20
|
|
|
20
21
|
---
|
|
21
22
|
|
|
@@ -105,6 +106,29 @@ The verification agent will:
|
|
|
105
106
|
|
|
106
107
|
---
|
|
107
108
|
|
|
109
|
+
# Workflow 4: Addressing Reviewer Feedback
|
|
110
|
+
|
|
111
|
+
**MANDATORY: Read [feedback.md](./feedback.md) when items have reviewer comments.**
|
|
112
|
+
|
|
113
|
+
Use this workflow when:
|
|
114
|
+
- `ranger feature show` displays items with comment badges
|
|
115
|
+
- Items show as v2/v3 (revised after reviewer feedback)
|
|
116
|
+
- `ranger feature resume` warns about unaddressed comments
|
|
117
|
+
|
|
118
|
+
### Quick Start
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# See all reviewer comments across items
|
|
122
|
+
ranger feature get-feedback
|
|
123
|
+
|
|
124
|
+
# After fixing code, re-verify the item
|
|
125
|
+
ranger verify-feature --item <N>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
The verification agent automatically receives reviewer comments, so it will check that each concern was addressed.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
108
132
|
# Finally Report
|
|
109
133
|
|
|
110
134
|
Once you're done verifying, and just before stopping the session, share the feature review link with the user:
|
|
@@ -146,8 +170,24 @@ Once you're done verifying, and just before stopping the session, share the feat
|
|
|
146
170
|
│ NO (all verified)
|
|
147
171
|
▼
|
|
148
172
|
┌───────────────────────┐
|
|
149
|
-
│
|
|
150
|
-
|
|
173
|
+
│ Feature sent for │
|
|
174
|
+
│ review │
|
|
175
|
+
└───────────┬───────────┘
|
|
176
|
+
│
|
|
177
|
+
▼
|
|
178
|
+
Reviewer comments?
|
|
179
|
+
│ │
|
|
180
|
+
NO YES
|
|
181
|
+
│ │
|
|
182
|
+
▼ ▼
|
|
183
|
+
┌─────────┐ ┌──────────────────────┐
|
|
184
|
+
│ Done! │ │ 4. ADDRESS FEEDBACK │ ◀── MUST READ feedback.md
|
|
185
|
+
└─────────┘ │ • get-feedback │
|
|
186
|
+
│ • fix code │
|
|
187
|
+
│ • re-verify │
|
|
188
|
+
└──────────┬───────────┘
|
|
189
|
+
│
|
|
190
|
+
└──▶ Back to step 2
|
|
151
191
|
```
|
|
152
192
|
|
|
153
193
|
---
|
|
@@ -161,6 +201,7 @@ Once you're done verifying, and just before stopping the session, share the feat
|
|
|
161
201
|
| `ranger feature show` | Show current feature status |
|
|
162
202
|
| `ranger feature create` | Create new feature with checklist |
|
|
163
203
|
| `ranger feature add-checklist-item` | Add a checklist item to active feature |
|
|
204
|
+
| `ranger feature get-feedback` | See reviewer comments on items |
|
|
164
205
|
| `ranger verify-feature` | Verify checklist item in browser |
|
|
165
206
|
|
|
166
207
|
# Key Principles
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Addressing Reviewer Feedback
|
|
2
|
+
|
|
3
|
+
When a reviewer leaves comments on checklist items, a new version (v2) of the item is created to incorporate the feedback. The reviewer's comments were left on the **previous version** (v1), but they are the reason this v2 item exists. Use this workflow to understand what the reviewer wants, fix the code, and re-verify.
|
|
4
|
+
|
|
5
|
+
v2+ items inherit comments from their parent version. Run `get-feedback` to see them.
|
|
6
|
+
|
|
7
|
+
## When This Applies
|
|
8
|
+
|
|
9
|
+
- Items show as v2/v3 with `[has reviewer feedback]` tag
|
|
10
|
+
- `ranger feature resume` prints a warning about unaddressed comments
|
|
11
|
+
|
|
12
|
+
## Step 1: Read the Feedback
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ranger feature get-feedback
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
This shows ALL reviewer comments across all items, including:
|
|
19
|
+
- The specific comment content and who wrote it
|
|
20
|
+
- The previous version description (what changed from v1 to v2)
|
|
21
|
+
- The expected flow from prior verification (canonical flow)
|
|
22
|
+
|
|
23
|
+
### Example Output
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
📋 Feedback for: User Authentication (feat_abc123)
|
|
27
|
+
|
|
28
|
+
Item 1: "User can log in" (v2) — 2 unaddressed comments (from previous version)
|
|
29
|
+
Previous version: "User can log in with email"
|
|
30
|
+
This item was created to address the following reviewer feedback:
|
|
31
|
+
💬 Jane (Feb 5): "Password field should show/hide toggle"
|
|
32
|
+
💬 Bob (Feb 5): "Error message not visible on failed login"
|
|
33
|
+
Expected flow:
|
|
34
|
+
1. Navigate to /login
|
|
35
|
+
2. Enter email and password
|
|
36
|
+
3. Click Submit
|
|
37
|
+
4. Verify dashboard appears
|
|
38
|
+
|
|
39
|
+
Item 2: "Dashboard loads" — 0 comments
|
|
40
|
+
✅ No feedback to address
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Step 2: Fix the Code
|
|
44
|
+
|
|
45
|
+
For each unaddressed comment:
|
|
46
|
+
1. Read the comment carefully — what is the reviewer asking for?
|
|
47
|
+
2. Look at the "previous version" description to understand what changed
|
|
48
|
+
3. If a canonical flow is provided, that's the expected user journey to verify against
|
|
49
|
+
4. Make the code changes that address each concern
|
|
50
|
+
|
|
51
|
+
## Step 3: Re-verify
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
ranger verify-feature --item <N>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The verification agent **automatically receives the reviewer comments** in its prompt. It will specifically check that each reviewer concern was addressed in the current implementation.
|
|
58
|
+
|
|
59
|
+
## Key Points
|
|
60
|
+
|
|
61
|
+
- Always run `get-feedback` **before** making code changes — understand what the reviewer wants first
|
|
62
|
+
- v2+ items inherit their parent's comments — those comments are the reason this version exists
|
|
63
|
+
- The verify-feature command auto-injects feedback into the browser agent's prompt, so you don't need to manually include comments in your `--task` description
|
|
64
|
+
- Address ALL unaddressed comments before re-verifying — partial fixes may result in another review round
|
|
@@ -45,6 +45,16 @@ This displays:
|
|
|
45
45
|
- Git context (repo, branch)
|
|
46
46
|
- Checklist with item statuses
|
|
47
47
|
|
|
48
|
+
## Check for Reviewer Feedback
|
|
49
|
+
|
|
50
|
+
If any checklist items show comment badges (e.g., `[2 comments]`) or are at v2+, reviewer feedback needs to be addressed:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
ranger feature get-feedback
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This shows the actual comment content, who wrote it, and the previous version description. **Read [feedback.md](./feedback.md) for the full feedback workflow.**
|
|
57
|
+
|
|
48
58
|
## Add Checklist Items
|
|
49
59
|
|
|
50
60
|
If you need to add new work to an existing feature:
|
|
@@ -88,7 +98,13 @@ ranger feature list
|
|
|
88
98
|
│ ranger feature show
|
|
89
99
|
│ │
|
|
90
100
|
│ ▼
|
|
91
|
-
│
|
|
101
|
+
│ Items have comments?
|
|
102
|
+
│ │ │
|
|
103
|
+
│ YES NO
|
|
104
|
+
│ │ │
|
|
105
|
+
│ ▼ ▼
|
|
106
|
+
│ get-feedback Continue working
|
|
107
|
+
│ fix + verify
|
|
92
108
|
│
|
|
93
109
|
└── None exist? ──▶ See create.md
|
|
94
110
|
```
|
|
@@ -22,10 +22,20 @@ ranger feature resume <id> # Resume a specific feature
|
|
|
22
22
|
## The Verification Flow
|
|
23
23
|
|
|
24
24
|
1. **Select checklist item** - CLI prompts which item this verifies
|
|
25
|
-
2. **
|
|
26
|
-
3. **
|
|
27
|
-
4. **
|
|
28
|
-
5. **
|
|
25
|
+
2. **Fetch reviewer feedback** - If the item has unaddressed comments or a parent item, reviewer comments are automatically injected into the verification prompt
|
|
26
|
+
3. **Run browser verification** - Agent executes the task in a real browser
|
|
27
|
+
4. **Evaluate results** - Agent determines if the checklist item is satisfied (including whether reviewer concerns were addressed)
|
|
28
|
+
5. **Update status** - Item is marked verified, partial, blocked, or failed
|
|
29
|
+
6. **Link evidence** - Session trace is attached to the item
|
|
30
|
+
|
|
31
|
+
### Reviewer Feedback Auto-Injection
|
|
32
|
+
|
|
33
|
+
When verifying items that have reviewer comments (v2+ items or items with unaddressed comments), the verification agent automatically receives a **"Reviewer Feedback to Address"** section in its prompt. This includes:
|
|
34
|
+
- Each reviewer comment with author and date
|
|
35
|
+
- The previous version's description
|
|
36
|
+
- The canonical flow from prior verification (if available)
|
|
37
|
+
|
|
38
|
+
You do NOT need to manually include reviewer feedback in your `--task` description — it's handled automatically. Just make sure you've addressed the feedback in your code before verifying.
|
|
29
39
|
|
|
30
40
|
## Options
|
|
31
41
|
|
|
@@ -151,7 +161,7 @@ Check progress:
|
|
|
151
161
|
ranger feature show
|
|
152
162
|
```
|
|
153
163
|
|
|
154
|
-
If all non-
|
|
164
|
+
If all non-closed items are verified, the feature auto-completes:
|
|
155
165
|
|
|
156
166
|
```
|
|
157
167
|
✅ User Authentication (feat_abc123)
|