@ranger-testing/ranger-cli 2.0.7 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/setup/claude.js +1 -0
- package/build/commands/setup/opencode.js +1 -0
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/featureReportGenerator.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/git.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -0
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/reportGenerator.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x13bbca=_0x2cf0;(function(_0x3b78a3,_0x3ec257){const _0xa2547e=_0x2cf0,_0xbf8b28=_0x3b78a3();while(!![]){try{const _0x35fbed=parseInt(_0xa2547e(0x20c))/0x1+-parseInt(_0xa2547e(0x1ee))/0x2+-parseInt(_0xa2547e(0x20d))/0x3*(parseInt(_0xa2547e(0x1ff))/0x4)+-parseInt(_0xa2547e(0x210))/0x5+parseInt(_0xa2547e(0x1f3))/0x6+-parseInt(_0xa2547e(0x203))/0x7+parseInt(_0xa2547e(0x202))/0x8*(parseInt(_0xa2547e(0x1f8))/0x9);if(_0x35fbed===_0x3ec257)break;else _0xbf8b28['push'](_0xbf8b28['shift']());}catch(_0x3846bd){_0xbf8b28['push'](_0xbf8b28['shift']());}}}(_0x3f5a,0x5fb6e));import{readFile,writeFile,mkdir,readdir,copyFile,rm}from'fs/promises';function _0x3f5a(){const _0x36d025=['OgXVa','trim','\x20\x20Failed\x20to\x20remove\x20deprecated\x20skill:\x20','2611320ZVnBvZ','ZDmFW','feature-tracker','warn','bug-bash','3296277sYhzfI','JXvhR','SKILL.md','CNeeK','FxwWD','gSxId','join','2108yAWppr','rafFM','project','40Erszro','5203506lVoyAv','PxbGf','claude','log','aIeUx','match','Invalid\x20skill\x20frontmatter','.md','\x20\x20Location:\x20','341231twTFnV','1641voAHgK','CRhTY','OpksG','2753335kLBRKO','jwcgk','skills','1266752xdCubj','catch'];_0x3f5a=function(){return _0x36d025;};return _0x3f5a();}import{join,dirname}from'path';import{existsSync,statSync}from'fs';import{fileURLToPath}from'url';function _0x2cf0(_0x10743d,_0x772578){_0x10743d=_0x10743d-0x1ec;const _0x3f5a9f=_0x3f5a();let _0x2cf04c=_0x3f5a9f[_0x10743d];return _0x2cf04c;}import{logLocalAgentInstallation}from'./localAgentInstallationsApi.js';import{getSkillsDir}from'./claudeConfig.js';import{getOpencodeSkillsDir}from'./opencodeConfig.js';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);export const RANGER_MANAGED_SKILLS=['ranger'];export const DEPRECATED_SKILLS=['e2e-test-recommender',_0x13bbca(0x1f7),_0x13bbca(0x1f5)];export async function installSkill(_0x26f836,_0x43da4a={}){const _0x3f34c0=_0x13bbca,_0x1feda8={'CNeeK':_0x3f34c0(0x201),'ZDmFW':function(_0x281f6d,_0x1d4b66,_0x465aee){return _0x281f6d(_0x1d4b66,_0x465aee);},'rafFM':function(_0x151840,_0x7ea7a7){return _0x151840(_0x7ea7a7);},'FxwWD':function(_0xcbb223,_0x5ad1d2){return _0xcbb223(_0x5ad1d2);},'gSxId':'opencode','gmYjx':function(_0x3a2a1a,_0x3c0a7c){return _0x3a2a1a(_0x3c0a7c);},'OgXVa':function(_0x153314,_0x2a9f18,_0x6836b8){return _0x153314(_0x2a9f18,_0x6836b8);},'hfJsp':function(_0x2b658f,_0x396276,_0x1fe8be){return _0x2b658f(_0x396276,_0x1fe8be);},'nGFSE':function(_0x50885c,_0x92e469,_0x1dc032){return _0x50885c(_0x92e469,_0x1dc032);},'aIeUx':'utf-8','jwcgk':_0x3f34c0(0x1fa),'PxbGf':function(_0x45fbd2,_0x2cf558){return _0x45fbd2>_0x2cf558;},'CRhTY':function(_0xeea9b6,_0x2376d5,_0x1d3535,_0x103af8){return _0xeea9b6(_0x2376d5,_0x1d3535,_0x103af8);}},{level:level=_0x1feda8[_0x3f34c0(0x1fb)],cliVersion:_0x1aa85d,platform:platform=_0x3f34c0(0x205)}=_0x43da4a,_0x55c09e=getSourceSkillsDir(),_0xb3b92d=join(_0x55c09e,_0x26f836),_0x451813=_0x1feda8[_0x3f34c0(0x1f4)](join,_0x55c09e,_0x26f836+'.md'),_0x5704be=existsSync(_0xb3b92d)&&_0x1feda8['rafFM'](statSync,_0xb3b92d)['isDirectory']()&&_0x1feda8['FxwWD'](existsSync,join(_0xb3b92d,_0x3f34c0(0x1fa))),_0xf7e963=_0x1feda8[_0x3f34c0(0x1fc)](existsSync,_0x451813);if(!_0x5704be&&!_0xf7e963)return console[_0x3f34c0(0x1f6)]('\x20\x20Skill\x20not\x20found:\x20'+_0x26f836),![];const _0x4f78a2=platform===_0x1feda8[_0x3f34c0(0x1fd)]?_0x1feda8['gmYjx'](getOpencodeSkillsDir,level):getSkillsDir(level),_0x2cbca2=_0x1feda8[_0x3f34c0(0x1f0)](join,_0x4f78a2,_0x26f836);await mkdir(_0x2cbca2,{'recursive':!![]});let _0x171f28,_0x56c4a1=[];if(_0x5704be){const _0x326db3=await readdir(_0xb3b92d),_0x26b2a8=_0x326db3['filter'](_0x3c2c2d=>_0x3c2c2d['endsWith'](_0x3f34c0(0x20a)));for(const _0x4e70ce of _0x26b2a8){const _0x226ad9=_0x1feda8['hfJsp'](join,_0xb3b92d,_0x4e70ce),_0x34bd46=join(_0x2cbca2,_0x4e70ce);await copyFile(_0x226ad9,_0x34bd46),_0x56c4a1['push'](_0x4e70ce);}_0x171f28=await readFile(_0x1feda8[_0x3f34c0(0x1f0)](join,_0xb3b92d,_0x3f34c0(0x1fa)),'utf-8');}else{_0x171f28=await _0x1feda8['nGFSE'](readFile,_0x451813,_0x1feda8[_0x3f34c0(0x207)]);const _0x25eec5=join(_0x2cbca2,_0x1feda8[_0x3f34c0(0x1ec)]);await writeFile(_0x25eec5,_0x171f28,_0x1feda8[_0x3f34c0(0x207)]),_0x56c4a1['push'](_0x1feda8[_0x3f34c0(0x1ec)]);}const {name:_0x1b4431}=_0x1feda8[_0x3f34c0(0x200)](parseFrontmatter,_0x171f28);return console[_0x3f34c0(0x206)]('\x20\x20Installed\x20skill:\x20'+_0x1b4431),console[_0x3f34c0(0x206)](_0x3f34c0(0x20b)+_0x2cbca2),_0x1feda8[_0x3f34c0(0x204)](_0x56c4a1['length'],0x1)&&console[_0x3f34c0(0x206)]('\x20\x20Files:\x20'+_0x56c4a1[_0x3f34c0(0x1fe)](',\x20')),_0x1feda8[_0x3f34c0(0x20e)](logLocalAgentInstallation,_0x26f836,{'skillDisplayName':_0x1b4431,'installLevel':level},_0x1aa85d)[_0x3f34c0(0x1ef)](()=>{}),!![];}function getSourceSkillsDir(){const _0x271ca1=_0x13bbca,_0x265775={'OItPy':_0x271ca1(0x1ed),'JXvhR':function(_0xb5038,_0x4aa200){return _0xb5038(_0x4aa200);}},_0x4bb1e6=[join(__dirname,'..','..',_0x265775['OItPy']),join(__dirname,'..','..','..',_0x271ca1(0x1ed))];for(const _0x142616 of _0x4bb1e6){if(_0x265775[_0x271ca1(0x1f9)](existsSync,_0x142616))return _0x142616;}return _0x4bb1e6[0x0];}function parseFrontmatter(_0x2a0705){const _0x3a82a1=_0x13bbca,_0x546508={'kGuIN':_0x3a82a1(0x209)},_0x24b9d5=_0x2a0705[_0x3a82a1(0x208)](/^---\n([\s\S]+?)\n---/);if(!_0x24b9d5)throw new Error(_0x546508['kGuIN']);const _0x6963df=_0x24b9d5[0x1],_0x11cb5d=_0x6963df[_0x3a82a1(0x208)](/name:\s*(.+)/),_0x2cc9f5=_0x6963df[_0x3a82a1(0x208)](/description:\s*"?(.+?)"?\n/);return{'name':_0x11cb5d?.[0x1][_0x3a82a1(0x1f1)]()||'','description':_0x2cc9f5?.[0x1][_0x3a82a1(0x1f1)]()||''};}export async function removeSkill(_0x16e0e8,_0x427116){const _0x2110b1=_0x13bbca,_0x216855={'OpksG':function(_0x3b36aa,_0x21e718,_0x3e95b2){return _0x3b36aa(_0x21e718,_0x3e95b2);}},_0x41e355=getSkillsDir(_0x427116),_0x3c8a03=join(_0x41e355,_0x16e0e8);if(!existsSync(_0x3c8a03))return![];try{return await _0x216855[_0x2110b1(0x20f)](rm,_0x3c8a03,{'recursive':!![]}),console['log']('\x20\x20Removed\x20deprecated\x20skill:\x20'+_0x16e0e8),!![];}catch{return console['warn'](_0x2110b1(0x1f2)+_0x16e0e8),![];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x457719=_0xfdd9;(function(_0xab939c,_0x57f899){const _0x3f469a=_0xfdd9,_0x2674f4=_0xab939c();while(!![]){try{const _0x49cc34=-parseInt(_0x3f469a(0x204))/0x1+parseInt(_0x3f469a(0x212))/0x2*(-parseInt(_0x3f469a(0x226))/0x3)+-parseInt(_0x3f469a(0x20d))/0x4*(parseInt(_0x3f469a(0x205))/0x5)+-parseInt(_0x3f469a(0x202))/0x6*(-parseInt(_0x3f469a(0x228))/0x7)+-parseInt(_0x3f469a(0x209))/0x8*(parseInt(_0x3f469a(0x21a))/0x9)+parseInt(_0x3f469a(0x1f3))/0xa+-parseInt(_0x3f469a(0x213))/0xb*(-parseInt(_0x3f469a(0x201))/0xc);if(_0x49cc34===_0x57f899)break;else _0x2674f4['push'](_0x2674f4['shift']());}catch(_0x6e8b83){_0x2674f4['push'](_0x2674f4['shift']());}}}(_0x2654,0x50f6f));import{randomUUID}from'crypto';import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';export class TelemetryCollector{['buffer']=[];['commandId'];[_0x457719(0x21c)];[_0x457719(0x225)];['phaseCounter']=0x0;[_0x457719(0x229)]=new Map();[_0x457719(0x217)]=null;[_0x457719(0x1fe)];[_0x457719(0x1f9)];[_0x457719(0x211)];[_0x457719(0x200)];[_0x457719(0x21b)];[_0x457719(0x20b)];[_0x457719(0x214)];['browserSessionId'];constructor(_0x1f5123){const _0x1cd6ec=_0x457719;this[_0x1cd6ec(0x216)]=randomUUID(),this[_0x1cd6ec(0x21c)]=_0x1f5123,this['commandStartTime']=Date[_0x1cd6ec(0x1fd)](),this['cliVersion']=getCurrentVersion(),this[_0x1cd6ec(0x1f9)]=process['version'],this[_0x1cd6ec(0x211)]=process[_0x1cd6ec(0x211)],this[_0x1cd6ec(0x200)]=process['stdout']['isTTY']??![],this['isCI']=!!(process['env']['CI']||process[_0x1cd6ec(0x220)][_0x1cd6ec(0x22f)]);}['setContext'](_0x109909){const _0x43390c=_0x457719;if(_0x109909[_0x43390c(0x20b)])this[_0x43390c(0x20b)]=_0x109909['featureId'];if(_0x109909[_0x43390c(0x214)])this[_0x43390c(0x214)]=_0x109909['checklistItemId'];if(_0x109909[_0x43390c(0x1fb)])this['browserSessionId']=_0x109909[_0x43390c(0x1fb)];}async[_0x457719(0x221)](_0x810535){const _0x1c2939=_0x457719,_0x2e7df8=this['buildEvent']({'eventType':_0x1c2939(0x20a),'metadata':_0x810535});await this[_0x1c2939(0x1fc)](_0x2e7df8);}async[_0x457719(0x224)](_0x7440af,_0x2736d4){const _0x2fbc1a=_0x457719,_0x5c888={'dZuQA':'command_end'},_0x55af57=this['buildEvent']({'eventType':_0x5c888[_0x2fbc1a(0x203)],'outcome':_0x7440af,'durationMs':Date['now']()-this[_0x2fbc1a(0x225)],'metadata':_0x2736d4});await this[_0x2fbc1a(0x1fc)](_0x55af57),await this['flush']();}async[_0x457719(0x219)](_0x1038b9,_0x20ebad){const _0x919a28=_0x457719,_0xf1aed0={'TxkqR':function(_0x3ce224,_0x7f2589){return _0x3ce224 instanceof _0x7f2589;},'gvBGe':_0x919a28(0x215)},_0x11cddb=this['buildEvent']({'eventType':'command_error','errorMessage':truncate(_0x1038b9 instanceof Error?_0x1038b9['message']:String(_0x1038b9),0x1f4),'errorType':_0xf1aed0['TxkqR'](_0x1038b9,Error)?_0x1038b9[_0x919a28(0x218)][_0x919a28(0x1f6)]:_0xf1aed0[_0x919a28(0x21e)],'durationMs':Date[_0x919a28(0x1fd)]()-this[_0x919a28(0x225)],'metadata':_0x20ebad});await this['sendImmediate'](_0x11cddb),await this['flush']();}['trackPhaseStart'](_0x2e652c,_0x52a3cd){const _0x1205ca=_0x457719;this[_0x1205ca(0x20f)]++,this[_0x1205ca(0x229)]['set'](_0x2e652c,Date['now']());const _0x2f3e5b=this['buildEvent']({'eventType':'phase_start','phase':_0x2e652c,'phaseIndex':this[_0x1205ca(0x20f)],'metadata':_0x52a3cd});this[_0x1205ca(0x1f4)][_0x1205ca(0x1f5)](_0x2f3e5b);}[_0x457719(0x20e)](_0x469827,_0x1fdf34){const _0x2bedaa=_0x457719,_0x54a8e4={'KSTbG':function(_0x1ca101,_0x26f938){return _0x1ca101-_0x26f938;}},_0x55db95=this['phaseStartTimes'][_0x2bedaa(0x22d)](_0x469827),_0x473449=_0x55db95?_0x54a8e4[_0x2bedaa(0x1f8)](Date[_0x2bedaa(0x1fd)](),_0x55db95):undefined;this[_0x2bedaa(0x229)]['delete'](_0x469827);const _0x361bc5=this[_0x2bedaa(0x21f)]({'eventType':_0x2bedaa(0x223),'phase':_0x469827,'durationMs':_0x473449,'metadata':_0x1fdf34});this['buffer']['push'](_0x361bc5),this[_0x2bedaa(0x1f4)][_0x2bedaa(0x208)]>=0xa&&this[_0x2bedaa(0x22c)]();}async['trackPhaseError'](_0x286e28,_0x45c880,_0x3e4544){const _0x45744d=_0x457719,_0x15c8d5={'BofOK':function(_0x167c6a,_0x55c03e,_0x56164c){return _0x167c6a(_0x55c03e,_0x56164c);},'dPrdp':function(_0x3d8755,_0x174c12){return _0x3d8755(_0x174c12);},'rCrgb':_0x45744d(0x215)},_0x40b0f4=this['phaseStartTimes']['get'](_0x286e28),_0x524cc6=_0x40b0f4?Date[_0x45744d(0x1fd)]()-_0x40b0f4:undefined;this['phaseStartTimes']['delete'](_0x286e28);const _0x122bc0=this['buildEvent']({'eventType':'phase_error','phase':_0x286e28,'durationMs':_0x524cc6,'errorMessage':_0x15c8d5['BofOK'](truncate,_0x45c880 instanceof Error?_0x45c880[_0x45744d(0x22a)]:_0x15c8d5[_0x45744d(0x231)](String,_0x45c880),0x1f4),'errorType':_0x45c880 instanceof Error?_0x45c880[_0x45744d(0x218)]['name']:_0x15c8d5['rCrgb'],'metadata':_0x3e4544});await this[_0x45744d(0x1fc)](_0x122bc0);}async['flush'](){const _0xcaec5e=_0x457719;if(this['buffer'][_0xcaec5e(0x208)]===0x0)return;const _0x29a4de=this[_0xcaec5e(0x1f4)]['splice'](0x0);try{await this['sendBatch'](_0x29a4de);}catch{}}['buildEvent'](_0x20540f){const _0x36edd9=_0x457719;return{'eventType':_0x20540f['eventType'],'command':this['command'],'commandId':this['commandId'],'timestamp':new Date()['toISOString'](),'durationMs':_0x20540f[_0x36edd9(0x20c)],'phase':_0x20540f['phase'],'phaseIndex':_0x20540f[_0x36edd9(0x210)],'outcome':_0x20540f['outcome'],'errorMessage':_0x20540f['errorMessage'],'errorType':_0x20540f['errorType'],'featureId':this[_0x36edd9(0x20b)],'checklistItemId':this[_0x36edd9(0x214)],'browserSessionId':this[_0x36edd9(0x1fb)],'evaluation':_0x20540f['evaluation'],'cliVersion':this[_0x36edd9(0x1fe)],'nodeVersion':this[_0x36edd9(0x1f9)],'platform':this['platform'],'isTty':this[_0x36edd9(0x200)],'isCI':this[_0x36edd9(0x21b)],'metadata':_0x20540f[_0x36edd9(0x22b)]};}async[_0x457719(0x1fc)](_0x267846){const _0x56d1f7=_0x457719;try{await this[_0x56d1f7(0x206)]([_0x267846]);}catch{}}['flushAsync'](){const _0x754bd5=_0x457719;if(this[_0x754bd5(0x217)])return;this['flushing']=this['flush']()[_0x754bd5(0x207)](()=>{const _0x4a14e0=_0x754bd5;this[_0x4a14e0(0x217)]=null;});}async[_0x457719(0x206)](_0xa9cd1c){const _0x30fe7f=_0x457719,_0xdacecb={'rHuLz':_0x30fe7f(0x222)},_0x2f3438=await getToken()[_0x30fe7f(0x227)](()=>null),_0x2a2077=getApiBaseUrl(),_0x449e1b={'Content-Type':_0xdacecb['rHuLz']};_0x2f3438&&(_0x449e1b['Authorization']='Bearer\x20'+_0x2f3438);const _0x51c77c={'events':_0xa9cd1c};process['env'][_0x30fe7f(0x230)]&&console['error']('[telemetry]\x20Sending\x20'+_0xa9cd1c[_0x30fe7f(0x208)]+_0x30fe7f(0x22e)+_0x2a2077+_0x30fe7f(0x1fa));const _0x1a445c=new AbortController(),_0x26c240=setTimeout(()=>_0x1a445c['abort'](),0x1388);try{await fetch(_0x2a2077+'/api/v1/mcp/cli-telemetry',{'method':'POST','headers':_0x449e1b,'body':JSON['stringify'](_0x51c77c),'signal':_0x1a445c['signal']});}finally{clearTimeout(_0x26c240);}}}function _0xfdd9(_0x5563e5,_0x590f98){_0x5563e5=_0x5563e5-0x1f3;const _0x2654eb=_0x2654();let _0xfdd9cb=_0x2654eb[_0x5563e5];return _0xfdd9cb;}let currentCollector=null;export function createTelemetryCollector(_0x20f727){return currentCollector=new TelemetryCollector(_0x20f727),currentCollector;}function _0x2654(){const _0x4f85bf=['browserSessionId','sendImmediate','now','cliVersion','slice','isTty','36DIuoua','1162266zomvGY','dZuQA','177132AZqICn','1055155QfbprV','sendBatch','finally','length','14608IZHLdY','command_start','featureId','durationMs','4UMzUhg','trackPhaseEnd','phaseCounter','phaseIndex','platform','792eJiuHT','4371103DGSKSN','checklistItemId','Unknown','commandId','flushing','constructor','trackCommandError','2727xOnwJh','isCI','command','success','gvBGe','buildEvent','env','trackCommandStart','application/json','phase_end','trackCommandEnd','commandStartTime','3183WhKagV','catch','7QBidZe','phaseStartTimes','message','metadata','flushAsync','get','\x20event(s)\x20to\x20','GITHUB_ACTIONS','DEBUG','dPrdp','3073980EilPYL','buffer','push','name','flush','KSTbG','nodeVersion','/api/v1/mcp/cli-telemetry'];_0x2654=function(){return _0x4f85bf;};return _0x2654();}export function getCurrentCollector(){return currentCollector;}export async function withTelemetry(_0x29f04d,_0x2c2a83,_0x52de9d){const _0x5a1675=_0x457719,_0x572815={'FEQRw':function(_0x17621d,_0xeb98bc){return _0x17621d(_0xeb98bc);}},_0x14f9fc=createTelemetryCollector(_0x29f04d);await _0x14f9fc['trackCommandStart'](_0x52de9d);try{const _0x491937=await _0x572815['FEQRw'](_0x2c2a83,_0x14f9fc);return await _0x14f9fc['trackCommandEnd'](_0x5a1675(0x21d)),_0x491937;}catch(_0x115c80){await _0x14f9fc[_0x5a1675(0x219)](_0x115c80);throw _0x115c80;}finally{await _0x14f9fc[_0x5a1675(0x1f7)]();}}function truncate(_0x226b1f,_0x512f71){const _0x459e3c=_0x457719,_0x5a1e1c={'NpbSt':function(_0x4443ec,_0x5b8bc8){return _0x4443ec>_0x5b8bc8;}};return _0x5a1e1c['NpbSt'](_0x226b1f['length'],_0x512f71)?_0x226b1f[_0x459e3c(0x1ff)](0x0,_0x512f71)+'...':_0x226b1f;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3ea480,_0x1cd04c){const _0x4f36c0=_0xa565,_0x706922=_0x3ea480();while(!![]){try{const _0x3e2f7a=parseInt(_0x4f36c0(0x18b))/0x1*(-parseInt(_0x4f36c0(0x18e))/0x2)+parseInt(_0x4f36c0(0x195))/0x3+-parseInt(_0x4f36c0(0x18a))/0x4*(parseInt(_0x4f36c0(0x184))/0x5)+-parseInt(_0x4f36c0(0x190))/0x6*(-parseInt(_0x4f36c0(0x189))/0x7)+-parseInt(_0x4f36c0(0x18d))/0x8*(-parseInt(_0x4f36c0(0x18c))/0x9)+parseInt(_0x4f36c0(0x185))/0xa*(parseInt(_0x4f36c0(0x191))/0xb)+-parseInt(_0x4f36c0(0x193))/0xc;if(_0x3e2f7a===_0x1cd04c)break;else _0x706922['push'](_0x706922['shift']());}catch(_0x199500){_0x706922['push'](_0x706922['shift']());}}}(_0x4abf,0xcbb03));function _0xa565(_0x46874a,_0x1cf6e0){_0x46874a=_0x46874a-0x184;const _0x4abf6f=_0x4abf();let _0xa565ac=_0x4abf6f[_0x46874a];return _0xa565ac;}function _0x4abf(){const _0x2614ff=['30GKIkOb','GET','status','kbddh','111167FGofVT','2520196sBqvjz','11ubyIyW','18405juAdcF','952YwiVsJ','47572WvLcKS','bprCd','306crqQPO','4087171eNOZPM','Bearer\x20','13491300AEIEzn','json','2046924irJXbI','5QWNxMg'];_0x4abf=function(){return _0x2614ff;};return _0x4abf();}import{getApiBaseUrl}from'./environment.js';export async function getCurrentUser(_0x5d67f5){const _0x4d6f1d=_0xa565,_0x1e559e={'kbddh':function(_0x556f57){return _0x556f57();},'bprCd':function(_0x4715a7,_0x4d33bd){return _0x4715a7 instanceof _0x4d33bd;}},_0x2cab4b=_0x1e559e[_0x4d6f1d(0x188)](getApiBaseUrl);try{const _0x2fd390=await fetch(_0x2cab4b+'/api/v1/mcp/me',{'method':_0x4d6f1d(0x186),'headers':{'Authorization':_0x4d6f1d(0x192)+_0x5d67f5}});if(!_0x2fd390['ok'])return{'success':![],'error':_0x2fd390[_0x4d6f1d(0x187)]+'\x20'+_0x2fd390['statusText'],'status':_0x2fd390[_0x4d6f1d(0x187)]};const _0x4d4ae9=await _0x2fd390[_0x4d6f1d(0x194)]();return{'success':!![],'user':_0x4d4ae9};}catch(_0x5e6d39){return{'success':![],'error':_0x1e559e[_0x4d6f1d(0x18f)](_0x5e6d39,Error)?_0x5e6d39['message']:String(_0x5e6d39)};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5b2578,_0x43b24e){const _0x5427e3=_0x5ace,_0x38ca65=_0x5b2578();while(!![]){try{const _0x2a3359=parseInt(_0x5427e3(0x1d0))/0x1*(-parseInt(_0x5427e3(0x1cf))/0x2)+-parseInt(_0x5427e3(0x1ce))/0x3+-parseInt(_0x5427e3(0x1c4))/0x4+parseInt(_0x5427e3(0x1c0))/0x5+parseInt(_0x5427e3(0x1c8))/0x6+-parseInt(_0x5427e3(0x1c9))/0x7*(parseInt(_0x5427e3(0x1d1))/0x8)+parseInt(_0x5427e3(0x1ca))/0x9;if(_0x2a3359===_0x43b24e)break;else _0x38ca65['push'](_0x38ca65['shift']());}catch(_0x5d93ec){_0x38ca65['push'](_0x38ca65['shift']());}}}(_0x2498,0x20cc1));function _0x2498(){const _0x35dbb8=['1593477MExBod','split','gQvlo','pIFzG','165027QiWMhU','2882aoreFB','9myffol','376TLSqvJ','\x20version\x202>/dev/null','utf-8','663590tKfhmc','trim','JwhqO','ntWAI','1021900eyrfvn','eGNoM','wzBTJ','package.json','1550532hjuZRR','16443evDtxu'];_0x2498=function(){return _0x35dbb8;};return _0x2498();}import{readFileSync}from'fs';import{existsSync}from'fs';import{execSync}from'child_process';import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function _0x5ace(_0x4dce94,_0x3d0ce2){_0x4dce94=_0x4dce94-0x1c0;const _0x2498c6=_0x2498();let _0x5acee7=_0x2498c6[_0x4dce94];return _0x5acee7;}export const PACKAGE_NAME='@ranger-testing/ranger-cli';export function getCurrentVersion(){const _0x373988=_0x5ace,_0x53ca18={'Chwkr':function(_0x105909,_0x7b11b4,_0x3e7b84,_0x541144,_0x30abbd){return _0x105909(_0x7b11b4,_0x3e7b84,_0x541144,_0x30abbd);},'JwhqO':_0x373988(0x1c7),'gQvlo':function(_0x445c66,_0x882947,_0x493aab,_0x49bc45,_0x3e24f3,_0xd5fe91){return _0x445c66(_0x882947,_0x493aab,_0x49bc45,_0x3e24f3,_0xd5fe91);},'ntWAI':function(_0x108e9f,_0x29dab2){return _0x108e9f(_0x29dab2);},'eGNoM':function(_0x441329,_0x473a4f,_0x5b0690){return _0x441329(_0x473a4f,_0x5b0690);},'wzBTJ':_0x373988(0x1d3),'pIFzG':'unknown'},_0x3343d7=[_0x53ca18['Chwkr'](join,__dirname,'..','..',_0x53ca18['JwhqO']),_0x53ca18[_0x373988(0x1cc)](join,__dirname,'..','..','..',_0x53ca18[_0x373988(0x1c2)])];for(const _0xc09828 of _0x3343d7){if(_0x53ca18[_0x373988(0x1c3)](existsSync,_0xc09828))try{const _0xe3b630=JSON['parse'](_0x53ca18[_0x373988(0x1c5)](readFileSync,_0xc09828,_0x53ca18[_0x373988(0x1c6)]));return _0xe3b630['version']||'unknown';}catch{continue;}}return _0x53ca18[_0x373988(0x1cd)];}export function getLatestVersion(){const _0x20a589=_0x5ace,_0x2206f9={'cpUCX':function(_0x487623,_0x53bb0b,_0x498db6){return _0x487623(_0x53bb0b,_0x498db6);}};try{const _0x2e1546=_0x2206f9['cpUCX'](execSync,'npm\x20view\x20'+PACKAGE_NAME+_0x20a589(0x1d2),{'encoding':'utf-8','timeout':0x1388});return _0x2e1546[_0x20a589(0x1c1)]();}catch{return null;}}export function compareVersions(_0x501468,_0x481c4a){const _0x21de45=_0x5ace,_0x17d744={'InxvE':function(_0x102bb0,_0x33424a){return _0x102bb0<_0x33424a;},'exBgS':function(_0x54904f,_0x52aeb1){return _0x54904f>_0x52aeb1;}},_0xaa0b71=_0x501468[_0x21de45(0x1cb)]('.')['map'](Number),_0x57f575=_0x481c4a[_0x21de45(0x1cb)]('.')['map'](Number);for(let _0x1c7c2c=0x0;_0x17d744['InxvE'](_0x1c7c2c,0x3);_0x1c7c2c++){const _0x34a349=_0xaa0b71[_0x1c7c2c]||0x0,_0x18cbf6=_0x57f575[_0x1c7c2c]||0x0;if(_0x17d744['exBgS'](_0x18cbf6,_0x34a349))return 0x1;if(_0x17d744['InxvE'](_0x18cbf6,_0x34a349))return-0x1;}return 0x0;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x38a4(_0x1ca7a0,_0x456d47){_0x1ca7a0=_0x1ca7a0-0xd3;const _0x2265a4=_0x2265();let _0x38a4ae=_0x2265a4[_0x1ca7a0];return _0x38a4ae;}const _0x2f4b72=_0x38a4;(function(_0x1390c9,_0xc96a43){const _0x508a6a=_0x38a4,_0x23f57b=_0x1390c9();while(!![]){try{const _0x1b66ba=-parseInt(_0x508a6a(0x209))/0x1+parseInt(_0x508a6a(0x19f))/0x2*(parseInt(_0x508a6a(0x21c))/0x3)+parseInt(_0x508a6a(0xdc))/0x4+parseInt(_0x508a6a(0x10c))/0x5+parseInt(_0x508a6a(0x1e9))/0x6+-parseInt(_0x508a6a(0x215))/0x7+-parseInt(_0x508a6a(0x143))/0x8;if(_0x1b66ba===_0xc96a43)break;else _0x23f57b['push'](_0x23f57b['shift']());}catch(_0x2c661f){_0x23f57b['push'](_0x23f57b['shift']());}}}(_0x2265,0x33a0c));import{query}from'@anthropic-ai/claude-agent-sdk';import{createTelemetryCollector}from'./utils/telemetry.js';import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm,stat}from'fs/promises';import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';import _0x5a38ae from'inquirer';import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles,getEnvDir}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,getUploadUrls,uploadTrace,uploadConversation,uploadScreenshot,uploadVideo,buildTraceViewerUrl,getProxySessionToken,createVerificationStep,createStepAsset}from'./utils/browserSessionsApi.js';import{getAiProxyUrl}from'./utils/environment.js';function _0x2265(){const _0x37ea0f=['OFONY','toLowerCase','Feature\x20is\x20partially\x20implemented\x20but\x20missing\x20key\x20functionality','replace','mtime','boolean','videos','Some\x20requirements\x20were\x20not\x20fully\x20verified.','Reviewer\x20feedback:\x20','configResult','1038884AizsEU','xvPDH','\x0aSuggested\x20action:\x20Debug\x20this\x20issue\x20in\x20your\x20code,\x20then\x20run\x20go\x20again.','success','log','qNbMa','PmQsJ','run-mcp-server','LBSiC','BLOCKING\x20ISSUE\x20DETECTED\x20-\x20Debug\x20Required','evaluation','setContext','currentSessionId','IrlhS','ludDo','hook_screenshot_upload','xusMX','IjaEy','interactive','Otebu','\x0aAll\x20other\x20scenarios\x20are\x20complete.','\x0a\x0a##\x20Debug:\x20Reviewer\x20Comments\x0a','PiGjG','text','BnJxb','Notes:\x20','cijAF','trackPhaseEnd','exit','currentSession','\x20comment(s)\x20as\x20addressed','after','lKAhp','hlBqE','description','closed','verification_in_progress','browser_click','conversation.jsonl','debugOutcome','SItFd','EdeDs','trackCommandEnd','zoyCg','jBaQF','XvoSQ','browser_press_key','key_','1757145McGaYG','error','GZngn','tDCJi','checklistItem','fbmqe','stringify','object','playwright_config','short','KzRmQ','[browser]\x20Press\x20key\x20→\x20','pnSgd','includes','scenario','UI\x20elements\x20present\x20but\x20not\x20fully\x20functional','MINOR','NAVIGATION_ERROR','checklistItemId','All\x20scenario\x20requirements\x20were\x20met.','nAKOm','tool_call','YsnVV','\x20\x201.\x20Fix\x20the\x20issues\x20above\x20in\x20your\x20code','MWTux','now','cXwYy','PmEGy','bmarC','filter','uploadUrl','The\x20--scenario\x20flag\x20is\x20required\x20in\x20non-interactive\x20mode.\x20See\x20available\x20scenarios\x20above.','repeat','toISOString','canonicalFlow','tsMDV','\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a','tool_name','unaddressedCommentCount','\x22\x20into\x20\x22','trace-upload.zip','\x1b[0m','checklistItems','time','array','status','OTHER','BaByC','MAIiD','verified','pending','QAvhV','mcp__ranger-browser__','fkTlm','MAJOR','893328MPibxt','unaddressedComments','HTTP\x20404\x20-\x20Page\x20not\x20found.','uploadedFiles','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','[hook]\x20Creating\x20step\x20#','cuxUj','fSblB','join','tool_use','VoQKt','toLocaleDateString','zEZIt','split','MSbjL','ZKOck','length','session_error_update','content','utf-8','fLsae','No\x20active\x20profile.\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>','approved','trackPhaseStart','\x22.\x20Run:\x20ranger\x20profile\x20config\x20set\x20','\x20and\x20cannot\x20be\x20verified.\x20Choose\x20a\x20different\x20scenario.','No\x20result\x20received\x20from\x20agent','cSEGx','--config','\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a','pipe','filename','uYAZU','YPOkz','conversationDir','Cannot\x20verify\x20scenario\x20\x22','rtEqX','agaUf','vVJrZ','traceViewerUrl','severity','HzrFu','feature_load','SRzSs','JYbuS','tool_failure','zgWOy','Scenario\x20reset\x20to\x20pending.\x20Partial\x20steps\x20are\x20preserved.','BLOCKER','IpvwC','TVrHF','\x20\x20•\x20','PtaPz','If\x20you\x27re\x20done\x20for\x20now,\x20you\x20can\x20stop\x20and\x20resume\x20later\x20with\x20\x27ranger\x20resume\x27.','string','aBsAN','QGZGU','comment_addressing','is_interrupt','eQSuh','mcp__ranger-browser__browser_navigate','LuLvF','Wpcik','isArray','assistant','Target\x20page\x20returns\x20404\x20Not\x20Found','profile_resolution','Invalid\x20scenario\x20index:\x20','agent_execution','input','\x20[not\x20actionable]','structured_output','baseUrl','ecHeb','YieCG','env','addressedCommentIds','PostToolUseFailure','Unable\x20to\x20proceed\x20due\x20to\x20missing\x20page','NYoOD','Unknown\x20error','sessionId','not\x20actionable','num_turns','dashboardUrl','\x0aVerification\x20interrupted.\x20Cleaning\x20up...','cache_creation_input_tokens','notes','.png','xiGrS','ElzNG','size','9838fPXyyp','feedback_fetch','update_session','OHXhW','toolCallCounts','witHZ','browserSession','fnLQy','duration_ms','Timeout\x20waiting\x20for\x20element','YLRne','xEQTg','IDs\x20of\x20reviewer\x20comments\x20that\x20have\x20been\x20addressed\x20in\x20the\x20current\x20implementation','[browser]\x20Navigate\x20→\x20','Key\x20moment\x20captured\x20during\x20verification','yAhuD','HpZdj','\x22\x20not\x20found.\x20Run:\x20ranger\x20profile\x20add\x20','duration_api_ms','endsWith','mzkEf','BVcZh','HTTP_500','element','##\x20Instructions\x0a1.\x20Navigate\x20to\x20the\x20URL\x20above\x20using\x20browser_navigate\x0a2.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20page\x0a3.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding**\x0a4.\x20Execute\x20the\x20task\x20step-by-step\x20using\x20browser\x20tools\x0a5.\x20**Take\x20screenshots\x20at\x20key\x20moments**\x20(see\x20Screenshot\x20Guidelines\x20below)\x0a6.\x20Document\x20any\x20issues\x20found\x20(bugs,\x20errors,\x20unexpected\x20behavior)\x0a7.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario','aJYDw','startTime','scenario_update','GSqAk','PuZrK','SIGTERM','aUoKE','failed','mGuJx','OTzJR','qNOKq','\x20comments]','HTTP_404','issues','actionable','map','No\x20baseUrl\x20configured\x20for\x20profile\x20\x22','UJexk','url','mcp__ranger-browser__browser_type','[DEBUG]\x20Mock\x20failed\x20verification.','oKEez','slice','scenario_select','KfZhF','ukpUI','browser_type','hook','usage','sALko','Screenshot\x20captured\x20during\x20verification','hook_event_name','upload_conversation','get','terminalReason','upload_video','trackPhaseError','ZrzsB','incomplete','\x0aNon-interactive\x20mode\x20detected.\x20The\x20--scenario\x20flag\x20is\x20required.','RoJSw','\x22\x20.',']\x20\x22','forEach','[DEBUG]\x20Mock\x20incomplete\x20verification.','FfPBA','**\x20(','eurLk','ranger-browser-sessions','1344198OouHzL','TXOMr','EwDDe','-\x20[','Selected\x20scenario\x20is\x20not\x20currently\x20actionable.\x20Choose\x20another\x20scenario.','message','SIGINT','yMXVY','oxncg','condition','YkVoD','YzRYn','[DEBUG]\x20Mock\x20partial\x20verification.','blocked','eikYn','summary','startsWith','Scenario\x20','iEdzN','BZVmV','type','flush','\x0a[DEBUG\x20MODE]\x20Running\x20minimal\x20browser\x20test\x20with\x20outcome:\x20','JSwQU','upload_screenshot','git\x20rev-parse\x20--abbrev-ref\x20HEAD','evaluationReason','sIhvN','zLeXy','path','cdpEndpoint','key','419096sxOrYg','\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20browser_take_screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames:\x20\x2201_initial-state.png\x22,\x20\x2202_button-clicked.png\x22,\x20\x2203_result-visible.png\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22key_04_success-state.png\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a','agoHn','nXHCJ','.webm','ThiSD','YVgWI','hHjab','resultMeta','XOyow','\x0aUsage:\x20ranger\x20go\x20--scenario\x20<number>','screenshot','1545929ljCEGv','trim','\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20IGNORE\x20any\x20URLs\x20from\x20product\x20documentation\x20(mcp__ranger__get_product_docs)\x20that\x20have\x20a\x20different\x20base\x20URL\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification','startPath','.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.','parentItemId','DdtbW','78XqhvCX','jFwzf'];_0x2265=function(){return _0x37ea0f;};return _0x2265();}import{getToken}from'./utils/keychain.js';import{getActiveFeatureId}from'./feature.js';import{readActiveProfileName}from'./utils/activeProfile.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{getFeature,updateFeature,updateChecklistItem,startSession,getActionItems,getItemFeedback,markCommentsAddressed}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{fixWebmDuration}from'./utils/fixWebmDuration.js';const bold=_0x56716d=>'\x1b[1m'+_0x56716d+_0x2f4b72(0x135);function getGitBranch(){const _0x1401cd=_0x2f4b72,_0x55540d={'Ramgc':function(_0x5417f6,_0x2b2bef,_0x470d2d){return _0x5417f6(_0x2b2bef,_0x470d2d);},'IgEpS':_0x1401cd(0x202),'YsnVV':_0x1401cd(0x156),'LuLvF':'pipe'};try{return _0x55540d['Ramgc'](execSync,_0x55540d['IgEpS'],{'encoding':_0x55540d[_0x1401cd(0x122)],'stdio':[_0x1401cd(0x161),_0x55540d[_0x1401cd(0x180)],_0x1401cd(0x161)]})[_0x1401cd(0x216)]();}catch{return undefined;}}async function zipDirectory(_0x2fd771){const _0x8b01db=_0x2f4b72,_0x44392e={'STrCd':function(_0x4691ad,_0x44b69a,_0x1c36e9,_0x4d09e5){return _0x4691ad(_0x44b69a,_0x1c36e9,_0x4d09e5);},'iEdzN':'pipe','yAhuD':function(_0x59b08d,_0x204a36){return _0x59b08d(_0x204a36);}},_0x413d2c=_0x44392e['STrCd'](join,_0x2fd771,'..',_0x8b01db(0x134));execSync('cd\x20\x22'+_0x2fd771+'\x22\x20&&\x20zip\x20-r\x20\x22'+_0x413d2c+_0x8b01db(0x1e1),{'stdio':_0x44392e['iEdzN']});const _0x27d155=await _0x44392e[_0x8b01db(0x1ae)](readFile,_0x413d2c);return execSync('rm\x20\x22'+_0x413d2c+'\x22',{'stdio':_0x44392e[_0x8b01db(0x1fb)]}),_0x27d155;}function getTraceDirectory(_0x163625){const _0x388c1e=_0x2f4b72,_0x30ab82={'MAIiD':function(_0x38bb17,_0x43271c,_0xb0e3bb,_0x43e52c){return _0x38bb17(_0x43271c,_0xb0e3bb,_0x43e52c);},'tXrFS':function(_0x484f09){return _0x484f09();},'bfmlY':'sessions'};return _0x30ab82[_0x388c1e(0x13c)](join,_0x30ab82['tXrFS'](getRangerDir),_0x30ab82['bfmlY'],_0x163625);}function getConversationFilePath(_0x5d93e3){const _0x121d24=_0x2f4b72,_0xe6bd6f={'EfvCj':function(_0x77fd4b){return _0x77fd4b();}};return join(_0xe6bd6f['EfvCj'](tmpdir),_0x121d24(0x1e8),_0x5d93e3,_0x121d24(0x102));}async function loadSessionVideos(_0x4a04bc){const _0x412289=_0x2f4b72,_0xc964a5={'oKEez':_0x412289(0xd8),'xEQTg':function(_0x265dce,_0x972f79){return _0x265dce(_0x972f79);}},_0x1bd5b7=join(_0x4a04bc,_0xc964a5[_0x412289(0x1cd)]);if(!_0xc964a5[_0x412289(0x1aa)](existsSync,_0x1bd5b7))return[];const _0x4757cf=await readdir(_0x1bd5b7),_0x40cf25=_0x4757cf[_0x412289(0x129)](_0x5966cc=>_0x5966cc['toLowerCase']()['endsWith'](_0x412289(0x20d)));return _0x40cf25['map'](_0x2b8292=>({'filename':_0x2b8292,'path':join(_0x1bd5b7,_0x2b8292)}));}function getMockEvaluation(_0x6cbfd){const _0x2062b5=_0x2f4b72,_0x4f98ec={'witHZ':'verified','fCQnc':_0x2062b5(0x11f),'HpZdj':_0x2062b5(0x13a),'lmcuU':'Secondary\x20feature\x20not\x20fully\x20implemented','NIWfI':'Implementation\x20is\x20incomplete\x20and\x20needs\x20additional\x20work.','nzUtY':_0x2062b5(0x142),'YPOkz':_0x2062b5(0xd4),'KfZhF':_0x2062b5(0x173),'VrBgS':'HTTP_404','ecHeb':_0x2062b5(0x11d),'BVQeE':_0x2062b5(0x1bf),'NOZxa':_0x2062b5(0x1a8)},_0x1f73fb={'verified':{'success':!![],'summary':'[DEBUG]\x20Mock\x20verification\x20completed\x20successfully.','evaluation':_0x4f98ec[_0x2062b5(0x1a4)],'evaluationReason':_0x4f98ec['fCQnc']},'partial':{'success':![],'summary':_0x2062b5(0x1f5),'evaluation':'partial','evaluationReason':_0x2062b5(0xd9),'issues':[{'severity':'MINOR','type':_0x4f98ec[_0x2062b5(0x1af)],'description':_0x4f98ec['lmcuU']}]},'incomplete':{'success':![],'summary':_0x2062b5(0x1e4),'evaluation':_0x2062b5(0x1de),'evaluationReason':_0x4f98ec['NIWfI'],'issues':[{'severity':_0x4f98ec['nzUtY'],'type':_0x2062b5(0x13a),'description':_0x4f98ec[_0x2062b5(0x164)]},{'severity':_0x2062b5(0x11c),'type':'OTHER','description':_0x2062b5(0x11b)}]},'blocked':{'success':![],'summary':'[DEBUG]\x20Mock\x20blocked\x20verification.','evaluation':_0x2062b5(0x1f6),'evaluationReason':_0x2062b5(0x145),'issues':[{'severity':_0x4f98ec[_0x2062b5(0x1d0)],'type':_0x4f98ec['VrBgS'],'description':_0x2062b5(0x184)},{'severity':_0x2062b5(0x142),'type':_0x4f98ec[_0x2062b5(0x18c)],'description':_0x2062b5(0x191)}]},'failed':{'success':![],'summary':_0x2062b5(0x1cc),'evaluation':_0x4f98ec['BVQeE'],'evaluationReason':'Browser\x20automation\x20failed\x20with\x20timeout\x20error.','issues':[{'severity':_0x2062b5(0x173),'type':'OTHER','description':_0x4f98ec['NOZxa']}]}};return _0x1f73fb[_0x6cbfd];}function getDebugPrompt(){return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0a1.\x20Navigate\x20to\x20https://www.mozilla.org\x20using\x20browser_navigate\x0a2.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20page\x0a3.\x20Take\x20a\x20screenshot\x20named\x20\x2201_mozilla-homepage.png\x22\x20using\x20browser_take_screenshot\x0a4.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20on\x20the\x20page\x0a5.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20new\x20page\x0a6.\x20Take\x20a\x20screenshot\x20named\x20\x2202_learn-more.png\x22\x20using\x20browser_take_screenshot\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}async function selectChecklistItem(_0x289edb){const _0x3017cf=_0x2f4b72,_0x3c25db={'YzRYn':function(_0x28eacd,_0x34621e){return _0x28eacd===_0x34621e;},'QGZGU':'closed','FaCfI':function(_0x33952c,_0x2e31d8){return _0x33952c===_0x2e31d8;},'DQhFH':_0x3017cf(0x1de),'ThiSD':function(_0x41109e,_0x2d80ad){return _0x41109e===_0x2d80ad;},'qNbMa':function(_0x2a536a,_0x49293a){return _0x2a536a===_0x49293a;},'tDCJi':_0x3017cf(0x100),'YVgWI':function(_0x1f16c4,_0x1f6299){return _0x1f16c4>_0x1f6299;},'LBCdx':_0x3017cf(0x195),'nAKOm':function(_0x3197aa,_0x6fd01e){return _0x3197aa+_0x6fd01e;},'eikYn':'list','beepa':'selected','MSbjL':'Which\x20scenario\x20does\x20this\x20verify?'};if(_0x289edb[_0x3017cf(0x153)]===0x0)return null;const _0x55ab11=_0x289edb['map'](_0x11cb0c=>{const _0x76f927=_0x3017cf,_0x31bb58=_0x3c25db[_0x76f927(0x1f4)](_0x11cb0c[_0x76f927(0x139)],_0x3c25db[_0x76f927(0x17b)])&&_0x3c25db['FaCfI'](_0x11cb0c['terminalReason'],_0x76f927(0x159))?'✅':_0x11cb0c[_0x76f927(0x139)]===_0x76f927(0x13d)?'🟢':_0x11cb0c['status']===_0x3c25db['DQhFH']?'🟠':_0x3c25db[_0x76f927(0x20e)](_0x11cb0c['status'],_0x76f927(0x1f6))?'🛑':_0x11cb0c[_0x76f927(0x139)]===_0x3c25db['QGZGU']?'⛔':_0x3c25db[_0x76f927(0xe1)](_0x11cb0c['status'],_0x3c25db[_0x76f927(0x10f)])?'⏳':'⬜',_0x2ad413=_0x3c25db[_0x76f927(0x20f)](_0x11cb0c['unaddressedCommentCount'],0x0)?'\x20['+_0x11cb0c['unaddressedCommentCount']+_0x76f927(0x1c3):'',_0x51dee5=_0x11cb0c[_0x76f927(0x1c6)]?![]:_0x11cb0c[_0x76f927(0x139)]===_0x3c25db[_0x76f927(0x17b)]&&_0x11cb0c[_0x76f927(0x1da)]?_0x11cb0c['terminalReason']:_0x3c25db['LBCdx'];return{'name':_0x3c25db[_0x76f927(0x120)](_0x11cb0c['displayIndex'],0x1)+'.\x20'+_0x31bb58+'\x20'+_0x11cb0c[_0x76f927(0xfe)]+_0x2ad413,'value':_0x11cb0c['id'],'disabled':_0x51dee5};}),{selected:_0x2a7bc3}=await _0x5a38ae['prompt']([{'type':_0x3c25db[_0x3017cf(0x1f7)],'name':_0x3c25db['beepa'],'message':_0x3c25db[_0x3017cf(0x151)],'choices':_0x55ab11}]);return _0x289edb['find'](_0x506cf7=>_0x506cf7['id']===_0x2a7bc3)||null;}async function handleIncompleteItem(_0x47cf96,_0x5b69e3,_0x1ac61e){const _0x2fb0a1=_0x2f4b72,_0x285a90={'fkTlm':function(_0x2ed941,_0xe16858){return _0x2ed941(_0xe16858);},'xusMX':function(_0x878e00,_0x559aff){return _0x878e00>_0x559aff;}},{items:_0x5a9d78}=await _0x285a90[_0x2fb0a1(0x141)](getActionItems,_0x47cf96),_0x2ae276=_0x5a9d78['filter'](_0x247406=>_0x247406['id']!==_0x5b69e3['id']),_0x465353=_0x2ae276['every'](_0x411c82=>_0x411c82['status']==='verified'||_0x411c82['status']===_0x2fb0a1(0x1f6)||_0x411c82[_0x2fb0a1(0x139)]==='closed'||_0x411c82[_0x2fb0a1(0x139)]===_0x2fb0a1(0x1de));console[_0x2fb0a1(0xe0)]('\x0a'+'='[_0x2fb0a1(0x12c)](0x3c)),console[_0x2fb0a1(0xe0)]('INCOMPLETE\x20-\x20Verification\x20found\x20issues'),console['log'](''+'='['repeat'](0x3c));if(_0x1ac61e['issues']&&_0x1ac61e[_0x2fb0a1(0x1c5)][_0x2fb0a1(0x153)]>0x0){console[_0x2fb0a1(0xe0)]('\x0aIssues\x20found:');for(const _0x4ed7b6 of _0x1ac61e[_0x2fb0a1(0x1c5)]){console['log'](_0x2fb0a1(0x176)+_0x4ed7b6['description']);}}else _0x1ac61e[_0x2fb0a1(0x203)]&&console['log']('\x0aReason:\x20'+_0x1ac61e['evaluationReason']);console['log']('\x0aNext\x20steps:'),console['log'](_0x2fb0a1(0x123)),console['log']('\x20\x202.\x20Run\x20\x27ranger\x20go\x27\x20again\x20to\x20re-verify'),_0x465353&&_0x285a90[_0x2fb0a1(0xec)](_0x2ae276['length'],0x0)&&(console['log'](_0x2fb0a1(0xf0)),console[_0x2fb0a1(0xe0)](_0x2fb0a1(0x178))),console['log']('='[_0x2fb0a1(0x12c)](0x3c)+'\x0a');}function createToolCallTrackingHook(_0x30bb54){const _0x43b987=_0x2f4b72,_0x355f52={'OFONY':function(_0x4a1cb8,_0x59b283){return _0x4a1cb8!==_0x59b283;},'QSHYR':'PostToolUse','xiGrS':'mcp__ranger-browser__','ukpUI':function(_0x187427,_0x38205b){return _0x187427+_0x38205b;},'RoJSw':_0x43b987(0x121),'OHXhW':'mcp__ranger-browser__browser_click','cpCYQ':'mcp__ranger-browser__browser_wait_for'},_0x30ca9f=new Map(),_0x228907=async _0xbcc5c8=>{const _0x1a3c9a=_0x43b987;if(_0x355f52[_0x1a3c9a(0x21e)](_0xbcc5c8['hook_event_name'],_0x355f52['QSHYR']))return{};const _0x2fd878=_0xbcc5c8,_0x35bffa=_0x2fd878['tool_input'],_0x143b17=_0x2fd878[_0x1a3c9a(0x131)][_0x1a3c9a(0xd5)](_0x355f52[_0x1a3c9a(0x19c)],'');_0x30ca9f['set'](_0x143b17,_0x355f52[_0x1a3c9a(0x1d1)](_0x30ca9f[_0x1a3c9a(0x1d9)](_0x143b17)||0x0,0x1)),_0x30bb54['trackPhaseStart'](_0x355f52[_0x1a3c9a(0x1e0)],{'toolName':_0x143b17}),_0x30bb54['trackPhaseEnd'](_0x355f52['RoJSw'],{'toolName':_0x143b17,'toolInput':summarizeToolInput(_0x143b17,_0x35bffa)});switch(_0x2fd878['tool_name']){case _0x1a3c9a(0x17f):console[_0x1a3c9a(0xe0)](_0x1a3c9a(0x1ac)+_0x35bffa[_0x1a3c9a(0x1ca)]);break;case _0x355f52[_0x1a3c9a(0x1a2)]:console['log']('[browser]\x20Click\x20→\x20\x22'+_0x35bffa[_0x1a3c9a(0x1b6)]+'\x22');break;case _0x1a3c9a(0x1cb):console[_0x1a3c9a(0xe0)]('[browser]\x20Type\x20→\x20\x22'+_0x35bffa[_0x1a3c9a(0xf3)]+_0x1a3c9a(0x133)+_0x35bffa[_0x1a3c9a(0x1b6)]+'\x22');break;case'mcp__ranger-browser__browser_press_key':console['log'](_0x1a3c9a(0x117)+_0x35bffa[_0x1a3c9a(0x208)]);break;case _0x355f52['cpCYQ']:console['log']('[browser]\x20Wait\x20→\x20'+(_0x35bffa[_0x1a3c9a(0x137)]?_0x35bffa[_0x1a3c9a(0x137)]+'ms':_0x35bffa['text']||_0x1a3c9a(0x1f2)));break;}return{};};return{'hook':_0x228907,'toolCallCounts':_0x30ca9f};}function createToolFailureHook(_0x22bc4c){const _0x1a8780=_0x2f4b72,_0x38e0a4={'kltPX':_0x1a8780(0x190),'YgWpY':_0x1a8780(0x170)};return async _0x4c09cb=>{const _0x2e7263=_0x1a8780;if(_0x4c09cb[_0x2e7263(0x1d7)]!==_0x38e0a4['kltPX'])return{};const _0x46993c=_0x4c09cb,_0xf4a496=_0x46993c[_0x2e7263(0x131)]['replace'](_0x2e7263(0x140),'');return await _0x22bc4c['trackPhaseError'](_0x38e0a4['YgWpY'],_0x46993c['error'],{'toolName':_0xf4a496,'isInterrupt':_0x46993c[_0x2e7263(0x17d)]}),{};};}function summarizeToolInput(_0xf444cf,_0x14178f){const _0x2e809a=_0x2f4b72,_0x39308f={'xhEpQ':'browser_navigate','BFtWu':_0x2e809a(0x1d2),'Wpcik':'browser_take_screenshot','czIPk':_0x2e809a(0x10a),'fPlnK':'browser_wait_for'};switch(_0xf444cf){case _0x39308f['xhEpQ']:return{'url':_0x14178f[_0x2e809a(0x1ca)]};case _0x2e809a(0x101):return{'element':_0x14178f[_0x2e809a(0x1b6)]};case _0x39308f['BFtWu']:return{'element':_0x14178f['element']};case _0x39308f[_0x2e809a(0x181)]:return{'filename':_0x14178f[_0x2e809a(0x162)]};case _0x39308f['czIPk']:return{'key':_0x14178f[_0x2e809a(0x208)]};case _0x39308f['fPlnK']:return{'time':_0x14178f['time'],'text':_0x14178f['text']};default:return{};}}function createScreenshotUploadHook(_0x55c202,_0x186c91,_0x5f01b4,_0x49fb02){const _0x432f76=_0x2f4b72,_0x582230={'LYZCu':function(_0x29b12e,_0xa4a446){return _0x29b12e!==_0xa4a446;},'ZKOck':_0x432f76(0xeb),'JgeXZ':function(_0x38f088,_0x223ae3){return _0x38f088(_0x223ae3);},'vVJrZ':function(_0x1ff462,_0x36db15,_0x538223){return _0x1ff462(_0x36db15,_0x538223);},'HzrFu':_0x432f76(0x214),'ElzNG':_0x432f76(0x1ad),'NYoOD':'success','xgUaf':_0x432f76(0xfb)},_0x45feb1=new Set();let _0x36cb07=0x1;const _0x13bca8=async _0x182db4=>{const _0x3250cc=_0x432f76;if(_0x582230['LYZCu'](_0x182db4[_0x3250cc(0x1d7)],'PostToolUse'))return{};const _0x2cb0d6=_0x182db4;if(_0x582230['LYZCu'](_0x2cb0d6[_0x3250cc(0x131)],'mcp__ranger-browser__browser_take_screenshot'))return{};const _0x4443ed=_0x2cb0d6['tool_input'],_0x12ec02=_0x4443ed?.['filename'];if(!_0x12ec02)return{};const _0x3ec6aa=_0x12ec02['toLowerCase']()[_0x3250cc(0x1f9)](_0x3250cc(0x10b));_0x49fb02['trackPhaseStart'](_0x582230['ZKOck'],{'filename':_0x12ec02,'isKeyFrame':_0x3ec6aa});try{const _0x343fb1=join(_0x5f01b4,_0x12ec02),_0x472e57=await _0x582230['JgeXZ'](readFile,_0x343fb1),_0x32605f=await stat(_0x343fb1),_0x5ee341=_0x12ec02[_0x3250cc(0xd5)](/\.png$/i,'')[_0x3250cc(0xd5)](/^key_/i,'')['replace'](/^\d+_/,'')['replace'](/-/g,'\x20'),_0x32d0ff=_0x36cb07++;console[_0x3250cc(0xe0)](_0x3250cc(0x148)+_0x32d0ff+':\x20\x22'+_0x5ee341+'\x22'+(_0x3ec6aa?'\x20(key\x20frame)':''));const {step:_0x3ecab8}=await _0x582230[_0x3250cc(0x169)](createVerificationStep,_0x55c202,{'checklistItemId':_0x186c91,'position':_0x32d0ff,'stepType':_0x582230[_0x3250cc(0x16c)],'stepName':_0x5ee341,'description':_0x3ec6aa?_0x582230[_0x3250cc(0x19d)]:'Screenshot\x20captured\x20during\x20verification','isKeyStep':_0x3ec6aa,'status':_0x582230[_0x3250cc(0x192)],'metadata':{'filename':_0x12ec02,'timestamp':_0x32605f['mtime']['toISOString']()}}),_0x4119cc=await createStepAsset(_0x55c202,_0x3ecab8['id'],{'filename':_0x12ec02,'assetType':_0x582230[_0x3250cc(0x16c)],'timing':_0x582230['xgUaf'],'position':0x0,'capturedAt':_0x32605f[_0x3250cc(0xd6)]['toISOString'](),'metadata':{'name':_0x5ee341,'highPriority':_0x3ec6aa}});await _0x582230[_0x3250cc(0x169)](uploadScreenshot,_0x4119cc[_0x3250cc(0x12a)],_0x472e57),_0x45feb1['add'](_0x12ec02),_0x49fb02['trackPhaseEnd']('hook_screenshot_upload',{'filename':_0x12ec02,'bytes':_0x472e57[_0x3250cc(0x153)]});}catch(_0x51f743){await _0x49fb02[_0x3250cc(0x1dc)](_0x582230[_0x3250cc(0x152)],_0x51f743,{'filename':_0x12ec02});}return{};};return{'hook':_0x13bca8,'uploadedFiles':_0x45feb1};}async function runVerification(_0xbcc106,_0x3090f2){const _0x275026=_0x2f4b72,_0x47751d={'uYAZU':'closed','XOyow':function(_0x183f01,_0x2bf22c){return _0x183f01===_0x2bf22c;},'Otebu':_0x275026(0x13d),'UXlVk':_0x275026(0x189),'zRzFe':function(_0x953744,_0x2898e8){return _0x953744+_0x2898e8;},'nuuJQ':'en-US','zmpKH':'numeric','BZVmV':'Reviewer','visVX':function(_0x5f3056,_0x415a5e,_0x1391cd){return _0x5f3056(_0x415a5e,_0x1391cd);},'ZrzsB':'utf-8','CNVjS':'StructuredOutput','UJexk':'result','FfPBA':_0x275026(0xdf),'rtEqX':function(_0x3b7005,_0x2c71d8){return _0x3b7005!==_0x2c71d8;},'hHjab':_0x275026(0x193),'zLeXy':_0x275026(0x16d),'fLsae':'No\x20active\x20feature\x20review.\x20Run:\x20ranger\x20resume\x20<id>\x20or\x20ranger\x20create','eurLk':function(_0x2ba8fe){return _0x2ba8fe();},'YkVoD':function(_0x134f77,_0x149ab1){return _0x134f77(_0x149ab1);},'agaUf':_0x275026(0x1cf),'GZngn':function(_0x1a9bce,_0x4505e4){return _0x1a9bce-_0x4505e4;},'xnXvV':function(_0x4c6d8f,_0x49b6cf){return _0x4c6d8f<_0x49b6cf;},'agoHn':function(_0x5c53e6,_0x598c84){return _0x5c53e6>=_0x598c84;},'EwDDe':'not\x20actionable','oGHMH':_0x275026(0x1df),'shRnw':'\x0aAvailable\x20scenarios\x20to\x20verify:','QAvhV':function(_0x477472,_0x603f42){return _0x477472(_0x603f42);},'aJYDw':_0x275026(0x1ed),'cjvAP':function(_0x2da316,_0x1a1863){return _0x2da316===_0x1a1863;},'RyrAQ':'unknown\x20reason','caOyn':'No\x20notes\x20provided','nMySK':function(_0x31dbdd,_0x81f40a){return _0x31dbdd!==_0x81f40a;},'KbRPg':_0x275026(0xee),'zEZIt':function(_0x2d8fcf,_0x212f1b,_0x444e7d){return _0x2d8fcf(_0x212f1b,_0x444e7d);},'jpNZS':function(_0x5264a3,_0x4aa20e){return _0x5264a3>_0x4aa20e;},'EdeDs':function(_0x6e9a48,_0xdef74c){return _0x6e9a48===_0xdef74c;},'OVAIS':'already','aUoKE':_0x275026(0x185),'AOXgh':function(_0x1853a9,_0x1e913c){return _0x1853a9(_0x1e913c);},'UMGsY':function(_0x5c122b,_0x552539){return _0x5c122b(_0x552539);},'VhMUA':function(_0x5f4db3,_0x3c01dd){return _0x5f4db3(_0x3c01dd);},'bGJXJ':function(_0x37e374,_0x6e29f7){return _0x37e374&&_0x6e29f7;},'jFwzf':function(_0x5055fb,_0x35a6c7){return _0x5055fb+_0x35a6c7;},'TXOMr':function(_0x311b87){return _0x311b87();},'tsMDV':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','cuxUj':function(_0x14f263){return _0x14f263();},'AqIFH':function(_0x47e152,_0x3f1e24){return _0x47e152(_0x3f1e24);},'PmEGy':_0x275026(0x1bf),'SPNkA':_0x275026(0x154),'BVcZh':function(_0x5bd365,_0x2ebbe8,_0x457e06,_0x2a64bc){return _0x5bd365(_0x2ebbe8,_0x457e06,_0x2a64bc);},'cXwYy':_0x275026(0x114),'lKAhp':'@ranger-testing/playwright','oNTbz':'For\x20debug\x20purposes,\x20mark\x20ALL\x20of\x20the\x20following\x20comments\x20as\x20addressed\x20by\x20including\x20every\x20ID\x20in\x20addressedCommentIds.','RcXSu':function(_0x2b51a5){return _0x2b51a5();},'sALko':_0x275026(0x179),'fnLQy':_0x275026(0x1f6),'Bbida':'BLOCKER','YLRne':'MAJOR','eDBIY':'MINOR','BnJxb':_0x275026(0x1b5),'fbmqe':'HTTP_400','UecJK':'OTHER','Jhlun':_0x275026(0x16b),'XvoSQ':_0x275026(0xfe),'PUpgB':_0x275026(0x138),'LBSiC':_0x275026(0x1f8),'IrlhS':'evaluation','fSblB':function(_0x208bdb,_0x515b12){return _0x208bdb(_0x515b12);},'mGuJx':function(_0x4b1f72,_0x1708e4){return _0x4b1f72(_0x1708e4);},'CjePt':'acceptEdits','vvLLM':'mcp__ranger-browser__*','oJbbu':'Grep','xvPDH':function(_0x13dd84,_0x5a6276){return _0x13dd84*_0x5a6276;},'cSEGx':function(_0x3c957c,_0x2f4a99){return _0x3c957c instanceof _0x2f4a99;},'BaByC':function(_0x270b20,_0x32959f){return _0x270b20(_0x32959f);}},_0x576675=!!_0xbcc106['debugOutcome'];_0x576675&&console[_0x275026(0xe0)](_0x275026(0x1ff)+_0xbcc106[_0x275026(0x103)]);_0x3090f2['trackPhaseStart'](_0x47751d['zLeXy']);const _0x344e06=await getActiveFeatureId();if(!_0x344e06)throw new Error(_0x47751d[_0x275026(0x157)]);const _0x3773b5=await getFeature(_0x344e06);_0x3090f2['setContext']({'featureId':_0x344e06});const _0x3239bb=_0x47751d[_0x275026(0x1e7)](getGitBranch);_0x3239bb&&_0x47751d['rtEqX'](_0x3239bb,_0x3773b5['gitBranch'])&&(await updateFeature(_0x344e06,{'gitBranch':_0x3239bb}),console[_0x275026(0xe0)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x3239bb));console['log']('\x0aActive\x20feature\x20review:\x20'+_0x3773b5['name']+'\x20('+_0x3773b5[_0x275026(0x197)]+')');const {items:_0x1b11af}=await _0x47751d[_0x275026(0x1f3)](getActionItems,_0x344e06),_0x1e2457=new Map(_0x1b11af['map'](_0x4c902d=>[_0x4c902d['id'],_0x4c902d])),_0x5d36c6=_0x3773b5[_0x275026(0x136)]['map']((_0x28111d,_0x44fe75)=>{const _0x4a9a39=_0x275026,_0x35572d=_0x1e2457[_0x4a9a39(0x1d9)](_0x28111d['id']);return{..._0x28111d,'unaddressedCommentCount':_0x35572d?.['unaddressedCommentCount']??0x0,'displayIndex':_0x44fe75,'actionable':!!_0x35572d&&_0x28111d[_0x4a9a39(0x139)]!==_0x47751d['uYAZU']};});_0x3090f2['trackPhaseEnd'](_0x47751d[_0x275026(0x205)],{'itemCount':_0x1b11af[_0x275026(0x153)]}),_0x3090f2[_0x275026(0x15a)](_0x47751d[_0x275026(0x168)]);let _0x55d8d0=null,_0x4be31f=_0xbcc106[_0x275026(0x19a)];if(_0x47751d[_0x275026(0x167)](_0xbcc106['scenario'],undefined)){const _0x3ce690=_0x47751d['GZngn'](_0xbcc106['scenario'],0x1);if(_0x47751d['xnXvV'](_0x3ce690,0x0)||_0x47751d[_0x275026(0x20b)](_0x3ce690,_0x5d36c6[_0x275026(0x153)]))throw new Error(_0x275026(0x186)+_0xbcc106[_0x275026(0x11a)]+'.\x20Feature\x20review\x20has\x20'+_0x5d36c6[_0x275026(0x153)]+'\x20scenarios.');const _0x198da7=_0x5d36c6[_0x3ce690];if(!_0x198da7[_0x275026(0x1c6)]){const _0x106959=_0x198da7['status']===_0x47751d[_0x275026(0x163)]&&_0x198da7['terminalReason']?_0x198da7['terminalReason']:_0x47751d[_0x275026(0x1eb)];throw new Error(_0x275026(0x1fa)+_0xbcc106['scenario']+'\x20is\x20'+_0x106959+_0x275026(0x15c));}const _0x5f1e5a=_0x1e2457['get'](_0x198da7['id']);if(!_0x5f1e5a)throw new Error(_0x275026(0x1fa)+_0xbcc106['scenario']+'\x20is\x20not\x20currently\x20actionable.\x20Try\x20another\x20scenario.');_0x55d8d0=_0x5f1e5a,!_0x4be31f&&(_0x4be31f=_0x55d8d0['description']);}else{const _0x538bff=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x538bff){console['log'](_0x47751d['oGHMH']),console['log'](_0x47751d['shRnw']),_0x5d36c6[_0x275026(0x1e3)](_0x140c3a=>{const _0x3bd4e1=_0x275026,_0x5b53bb=_0x140c3a[_0x3bd4e1(0x139)]===_0x47751d[_0x3bd4e1(0x163)]&&_0x140c3a[_0x3bd4e1(0x1da)]===_0x3bd4e1(0x159)?'✅':_0x47751d[_0x3bd4e1(0x212)](_0x140c3a[_0x3bd4e1(0x139)],_0x47751d[_0x3bd4e1(0xef)])?'🟢':_0x47751d['XOyow'](_0x140c3a[_0x3bd4e1(0x139)],_0x3bd4e1(0x1de))?'🟠':_0x47751d[_0x3bd4e1(0x212)](_0x140c3a[_0x3bd4e1(0x139)],'blocked')?'🛑':_0x140c3a[_0x3bd4e1(0x139)]===_0x3bd4e1(0xff)?'⛔':_0x47751d['XOyow'](_0x140c3a['status'],'verification_in_progress')?'⏳':'⬜',_0x4a2e77=_0x140c3a['unaddressedCommentCount']>0x0?'\x20['+_0x140c3a[_0x3bd4e1(0x132)]+'\x20comments]':'',_0x52f226=_0x140c3a[_0x3bd4e1(0x1c6)]?'':_0x47751d['UXlVk'];console['log']('\x20\x20'+_0x47751d['zRzFe'](_0x140c3a['displayIndex'],0x1)+'.\x20'+_0x5b53bb+'\x20'+_0x140c3a['description']+_0x4a2e77+_0x52f226);}),console[_0x275026(0xe0)](_0x275026(0x213)),console['log']('Example:\x20ranger\x20go\x20--scenario\x201');throw new Error(_0x275026(0x12b));}const _0x2832bd=await _0x47751d[_0x275026(0x13f)](selectChecklistItem,_0x5d36c6);if(_0x2832bd){const _0x3575f9=_0x1e2457['get'](_0x2832bd['id']);if(!_0x3575f9)throw new Error(_0x47751d[_0x275026(0x1b8)]);_0x55d8d0=_0x3575f9,!_0x4be31f&&(_0x4be31f=_0x55d8d0['description']);}}if(!_0x55d8d0)throw new Error('No\x20scenario\x20selected.\x20Create\x20scenarios\x20when\x20creating\x20the\x20feature\x20review\x20with\x20-c\x20or\x20--scenario\x20flags.');if(_0x47751d['cjvAP'](_0x55d8d0['status'],_0x47751d['uYAZU']))throw new Error(_0x275026(0x166)+_0x55d8d0['description']+'\x22\x20—\x20it\x20is\x20concluded\x20('+(_0x55d8d0[_0x275026(0x1da)]||_0x47751d['RyrAQ'])+').');if(!_0x4be31f)throw new Error(_0x47751d['caOyn']);_0x3090f2[_0x275026(0xe7)]({'checklistItemId':_0x55d8d0['id']}),_0x3090f2[_0x275026(0xf7)](_0x275026(0x1cf),{'selectionMethod':_0x47751d['nMySK'](_0xbcc106['scenario'],undefined)?'flag':_0x47751d['KbRPg'],'itemStatus':_0x55d8d0[_0x275026(0x139)]}),console['log']('\x0aVerifying\x20scenario:\x20'+_0x55d8d0[_0x275026(0xfe)]),console['log'](_0x275026(0xf5)+_0x4be31f);let _0x533ffd=null;if(_0x55d8d0[_0x275026(0x21a)]||_0x55d8d0['unaddressedCommentCount']>0x0)try{_0x533ffd=await _0x47751d['zEZIt'](getItemFeedback,_0x344e06,_0x55d8d0['id']),_0x47751d['jpNZS'](_0x533ffd['unaddressedComments'][_0x275026(0x153)],0x0)&&console['log'](_0x275026(0xda)+_0x533ffd[_0x275026(0x144)][_0x275026(0x153)]+'\x20comment(s)\x20to\x20verify');}catch(_0x247e58){await _0x3090f2[_0x275026(0x1dc)](_0x275026(0x1a0),_0x247e58);}if(_0x3773b5[_0x275026(0xf9)]&&_0x47751d[_0x275026(0x105)](_0x3773b5[_0x275026(0xf9)]['status'],'ready')&&_0x3773b5[_0x275026(0xe8)])try{await _0x47751d[_0x275026(0x14f)](startSession,_0x344e06,_0x3773b5[_0x275026(0xe8)]);}catch(_0x40f1c8){const _0x4cabba=_0x40f1c8 instanceof Error?_0x40f1c8[_0x275026(0x1ee)]:String(_0x40f1c8);if(!_0x4cabba[_0x275026(0x119)](_0x47751d['OVAIS']))throw _0x40f1c8;}await updateChecklistItem(_0x344e06,_0x55d8d0['id'],{'status':'verification_in_progress'}),_0x3090f2[_0x275026(0x15a)](_0x47751d[_0x275026(0x1be)]);let _0x2c2c0a=null;_0xbcc106['profile']?_0x2c2c0a=_0xbcc106['profile']:_0x2c2c0a=await readActiveProfileName();if(!_0x2c2c0a)throw new Error(_0x275026(0x158));const _0x998c91=_0x47751d['AOXgh'](getEnvDir,_0x2c2c0a);if(!existsSync(_0x998c91))throw new Error('Profile\x20\x22'+_0x2c2c0a+_0x275026(0x1b0)+_0x2c2c0a);const _0x1f97d5=await loadSettings(_0x2c2c0a),_0x51b8bb=_0x47751d['UMGsY'](resolveEnvVars,_0x1f97d5),_0x58ba36=_0x47751d['VhMUA'](Boolean,_0x51b8bb['cdpEndpoint']);let _0x528006=_0x51b8bb[_0x275026(0x18b)];if(_0x47751d['bGJXJ'](!_0x528006,!_0x58ba36))throw new Error(_0x275026(0x1c8)+_0x2c2c0a+_0x275026(0x15b)+_0x2c2c0a+'\x20baseUrl\x20<url>');if(!_0x58ba36&&_0xbcc106[_0x275026(0x218)]&&_0x528006){const _0x18955f=_0x528006[_0x275026(0x1b2)]('/')?_0x528006[_0x275026(0x1ce)](0x0,-0x1):_0x528006,_0x4f314a=_0xbcc106['startPath']['startsWith']('/')?_0xbcc106[_0x275026(0x218)]:'/'+_0xbcc106['startPath'];_0x528006=_0x47751d[_0x275026(0x21d)](_0x18955f,_0x4f314a);}_0x3090f2[_0x275026(0xf7)](_0x47751d['aUoKE'],{'profileName':_0x2c2c0a}),_0x3090f2[_0x275026(0x15a)]('browser_session_create');const _0x554dd0=await _0x47751d[_0x275026(0x1ea)](getToken);if(!_0x554dd0)throw new Error(_0x47751d[_0x275026(0x12f)]);const _0x4e6efa=await createBrowserSession({'environmentName':_0x2c2c0a,'settings':_0x51b8bb,'task':_0x4be31f,'url':_0x528006,'featureId':_0x344e06,'checklistItemId':_0x55d8d0['id']});console[_0x275026(0xe0)]('Browser\x20session\x20created:\x20'+_0x4e6efa['id']),_0x3090f2['setContext']({'browserSessionId':_0x4e6efa['id']}),await updateChecklistItem(_0x344e06,_0x55d8d0['id'],{'browserSessionId':_0x4e6efa['id']}),_0x3090f2['trackPhaseEnd']('browser_session_create'),_0x3090f2[_0x275026(0x15a)]('playwright_config');let _0x5325e4,_0x215c45;try{_0x215c45=await _0x47751d[_0x275026(0x149)](getProxySessionToken);}catch(_0x542e86){const _0x162ca9=_0x542e86 instanceof Error?_0x542e86['message']:_0x47751d['AqIFH'](String,_0x542e86),_0x14979f='Failed\x20to\x20fetch\x20proxy\x20session\x20token:\x20'+_0x162ca9;try{await updateBrowserSession(_0x4e6efa['id'],{'status':_0x47751d[_0x275026(0x127)],'durationMs':0x0,'errorMessage':_0x14979f});}catch(_0x5dd925){await _0x3090f2[_0x275026(0x1dc)](_0x47751d['SPNkA'],_0x5dd925);}throw new Error(_0x14979f);}_0x5325e4=await _0x47751d[_0x275026(0x1b4)](buildPlaywrightConfig,_0x51b8bb,_0x2c2c0a,_0x4e6efa?.['id']),_0x3090f2[_0x275026(0xf7)](_0x47751d[_0x275026(0x126)]);const _0x362334=Date['now'](),_0x2aeaea={'command':'npx','args':[_0x47751d[_0x275026(0xfc)],_0x275026(0xe3),_0x275026(0x15f),_0x5325e4['configPath']]};let _0x465faf;if(_0x576675){let _0x341ef4='';if(_0x533ffd&&_0x533ffd['unaddressedComments'][_0x275026(0x153)]>0x0){const _0x304db4=_0x533ffd['unaddressedComments']['map'](_0x2952a3=>_0x275026(0x1ec)+_0x2952a3['id']+_0x275026(0x1e2)+_0x2952a3['content']+'\x22')['join']('\x0a'),_0x339575=_0xbcc106['debugAddressComments']?_0x47751d['oNTbz']:'For\x20debug\x20purposes,\x20do\x20NOT\x20mark\x20any\x20comments\x20as\x20addressed.\x20Return\x20an\x20empty\x20addressedCommentIds\x20array.';_0x341ef4=_0x275026(0xf1)+_0x339575+'\x0a\x0a'+_0x304db4;}_0x465faf=_0x47751d['RcXSu'](getDebugPrompt)+_0x341ef4;}else{const _0x3e0309=_0x55d8d0[_0x275026(0x19a)]?'\x0a\x0a##\x20Additional\x20Notes\x0a'+_0x55d8d0[_0x275026(0x19a)]:'';let _0x581e76='';if(_0x533ffd&&_0x533ffd[_0x275026(0x144)][_0x275026(0x153)]>0x0){const _0x3932f4=_0x533ffd['unaddressedComments'][_0x275026(0x1c7)](_0x3e0831=>{const _0x97ffec=_0x275026,_0x28c613=new Date(_0x3e0831['createdAt'])[_0x97ffec(0x14e)](_0x47751d['nuuJQ'],{'month':_0x97ffec(0x115),'day':_0x47751d['zmpKH']}),_0x1706b0=_0x3e0831['authorName']||_0x3e0831['authorEmail']||_0x47751d[_0x97ffec(0x1fc)];return _0x97ffec(0x1ec)+_0x3e0831['id']+']\x20**'+_0x1706b0+_0x97ffec(0x1e6)+_0x28c613+'):\x20\x22'+_0x3e0831[_0x97ffec(0x155)]+'\x22';})[_0x275026(0x14b)]('\x0a');_0x581e76=_0x275026(0x160)+_0x3932f4;}let _0x10b075='';_0x533ffd?.[_0x275026(0x12e)]&&(_0x10b075=_0x275026(0x130)+_0x533ffd['canonicalFlow']);const _0xc60db2=_0x58ba36?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x51b8bb[_0x275026(0x207)]+_0x275026(0x219):'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x528006+_0x275026(0x217),_0x4ac052=_0x58ba36?'##\x20Instructions\x0a1.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20current\x20state\x20of\x20the\x20app\x0a2.\x20Execute\x20the\x20task\x20step-by-step\x20using\x20browser\x20tools\x20(click,\x20type,\x20etc.)\x0a3.\x20**Take\x20screenshots\x20at\x20key\x20moments**\x20(see\x20Screenshot\x20Guidelines\x20below)\x0a4.\x20Document\x20any\x20issues\x20found\x20(bugs,\x20errors,\x20unexpected\x20behavior)\x0a5.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario':_0x275026(0x1b7),_0x1824b1=_0x58ba36?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.';_0x465faf=_0x275026(0x147)+_0x55d8d0['description']+_0x3e0309+_0x581e76+_0x10b075+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x4be31f+'\x0a\x0a'+_0xc60db2+'\x0a\x0a'+_0x4ac052+_0x275026(0x20a)+_0x1824b1+'\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.';}const _0x39d7ef={'type':_0x275026(0x113),'properties':{'success':{'type':_0x275026(0xd7)},'summary':{'type':'string'},'evaluation':{'type':_0x47751d[_0x275026(0x1d5)],'enum':['verified','partial',_0x47751d[_0x275026(0x1a6)],_0x275026(0x1bf)]},'evaluationReason':{'type':_0x275026(0x179)},'issues':{'type':'array','items':{'type':_0x275026(0x113),'properties':{'severity':{'type':_0x47751d[_0x275026(0x1d5)],'enum':[_0x47751d['Bbida'],_0x47751d[_0x275026(0x1a9)],_0x47751d['eDBIY']]},'type':{'type':_0x47751d['sALko'],'enum':[_0x275026(0x1c4),_0x47751d[_0x275026(0xf4)],_0x47751d[_0x275026(0x111)],'NAVIGATION_ERROR',_0x47751d['UecJK']]},'description':{'type':_0x47751d[_0x275026(0x1d5)]},'screenshot':{'type':'string'}},'required':[_0x47751d['Jhlun'],_0x47751d[_0x275026(0x109)]]}},'addressedCommentIds':{'type':_0x47751d['PUpgB'],'description':_0x275026(0x1ab),'items':{'type':_0x47751d['sALko']}}},'required':['success',_0x47751d[_0x275026(0xe4)],_0x47751d[_0x275026(0xe9)],_0x275026(0x203)]};_0x3090f2['trackPhaseStart'](_0x275026(0x187));const _0x256f50=_0x47751d[_0x275026(0x14a)](getTraceDirectory,_0x4e6efa['id']),_0x55f76d=createScreenshotUploadHook(_0x4e6efa['id'],_0x55d8d0['id'],_0x256f50,_0x3090f2),_0x152d75=_0x47751d[_0x275026(0x14a)](createToolCallTrackingHook,_0x3090f2),_0x673639=_0x47751d['AOXgh'](createToolFailureHook,_0x3090f2),_0x1372dc=_0x47751d[_0x275026(0x1c0)](query,{'prompt':_0x465faf,'options':{'cwd':process['cwd'](),'model':'claude-opus-4-6','mcpServers':{'ranger-browser':_0x2aeaea},'tools':['mcp__ranger-browser__*'],'permissionMode':_0x47751d['CjePt'],'allowedTools':[_0x47751d['vvLLM'],'Read','Glob',_0x47751d['oJbbu']],'outputFormat':{'type':'json_schema','schema':_0x39d7ef},'hooks':{'PostToolUse':[{'hooks':[_0x152d75[_0x275026(0x1d3)],_0x55f76d[_0x275026(0x1d3)]]}],'PostToolUseFailure':[{'hooks':[_0x673639]}]},'env':{...process[_0x275026(0x18e)],'ANTHROPIC_API_KEY':_0x215c45,'ANTHROPIC_BASE_URL':getAiProxyUrl()},'persistSession':![]}});let _0x772f42=null,_0x52a704=null,_0x4549af=null,_0x1ca3d1={};const _0x43d0e2=_0x47751d['mGuJx'](getConversationFilePath,_0x4e6efa['id']),_0x2e3871=dirname(_0x43d0e2);await _0x47751d['visVX'](mkdir,_0x2e3871,{'recursive':!![]});const _0x118e6a=_0x47751d[_0x275026(0xdd)](0x3b*0x3c,0x3e8),_0x539a53=new Promise((_0x31e28f,_0xbb1d80)=>{const _0x4b1ea3={'YieCG':'Agent\x20execution\x20timed\x20out\x20after\x2059\x20minutes'};_0x47751d['visVX'](setTimeout,()=>{const _0x253cfb=_0x38a4;_0xbb1d80(new Error(_0x4b1ea3[_0x253cfb(0x18d)]));},_0x118e6a);});try{await Promise['race']([((async()=>{const _0x4cdd40=_0x275026;for await(const _0x2731d0 of _0x1372dc){try{const _0x1fa792=JSON[_0x4cdd40(0x112)](_0x2731d0)+'\x0a';await appendFile(_0x43d0e2,_0x1fa792,_0x47751d[_0x4cdd40(0x1dd)]);}catch{}const _0x49672d=_0x2731d0;if(_0x49672d['type']===_0x4cdd40(0x183)&&_0x49672d['message']?.['content'])for(const _0x334a44 of _0x49672d['message'][_0x4cdd40(0x155)]){_0x334a44['type']===_0x4cdd40(0x14c)&&_0x47751d['XOyow'](_0x334a44['name'],_0x47751d['CNVjS'])&&_0x334a44['input']&&(_0x4549af=_0x334a44[_0x4cdd40(0x188)]);}if(_0x49672d['error']){let _0x1c343e=_0x49672d[_0x4cdd40(0x10d)];if(_0x49672d[_0x4cdd40(0x1ee)]?.['content']&&Array[_0x4cdd40(0x182)](_0x49672d[_0x4cdd40(0x1ee)]['content'])){const _0x5cfef8=_0x49672d['message']['content']['filter'](_0x4a91d9=>_0x4a91d9[_0x4cdd40(0x1fd)]==='text')[_0x4cdd40(0x1c7)](_0x3f35e1=>_0x3f35e1['text']||'')['filter'](Boolean);_0x5cfef8[_0x4cdd40(0x153)]>0x0&&(_0x1c343e=_0x5cfef8['join']('\x20'));}_0x52a704=_0x1c343e;}if(_0x47751d['XOyow'](_0x49672d['type'],_0x47751d[_0x4cdd40(0x1c9)])){_0x1ca3d1={'numTurns':_0x49672d[_0x4cdd40(0x196)],'totalCostUsd':_0x49672d['total_cost_usd'],'durationApiMs':_0x49672d[_0x4cdd40(0x1b1)],'sdkDurationMs':_0x49672d[_0x4cdd40(0x1a7)],'inputTokens':_0x49672d[_0x4cdd40(0x1d4)]?.['input_tokens'],'outputTokens':_0x49672d[_0x4cdd40(0x1d4)]?.['output_tokens'],'cacheReadTokens':_0x49672d[_0x4cdd40(0x1d4)]?.['cache_read_input_tokens'],'cacheCreationTokens':_0x49672d['usage']?.[_0x4cdd40(0x199)]};if(_0x49672d['subtype']===_0x47751d[_0x4cdd40(0x1e5)]&&_0x2731d0[_0x4cdd40(0x18a)])_0x772f42=_0x2731d0['structured_output'];else{if(_0x47751d[_0x4cdd40(0x167)](_0x49672d['subtype'],_0x47751d[_0x4cdd40(0x1e5)])){if(_0x4549af&&_0x47751d['XOyow'](_0x49672d['errors']?.[_0x4cdd40(0x153)],0x0))_0x772f42=_0x4549af,_0x52a704=null;else!_0x52a704&&(_0x52a704=_0x49672d['errors']?.['join'](',\x20')||_0x47751d[_0x4cdd40(0x210)]);}}}}})()),_0x539a53]);}catch(_0xb9e413){_0x52a704=_0x47751d[_0x275026(0x15e)](_0xb9e413,Error)?_0xb9e413['message']:_0x47751d[_0x275026(0x13b)](String,_0xb9e413);}const _0x64a7f2=_0x47751d[_0x275026(0x10e)](Date[_0x275026(0x125)](),_0x362334);return _0x3090f2['trackPhaseEnd'](_0x275026(0x187),{..._0x1ca3d1,'toolCallCounts':Object['fromEntries'](_0x152d75['toolCallCounts']),'hasResult':!!_0x772f42,'hasError':!!_0x52a704}),{'featureId':_0x344e06,'checklistItem':_0x55d8d0,'browserSession':_0x4e6efa,'finalResult':_0x772f42,'agentError':_0x52a704,'lastStructuredOutputInput':_0x4549af,'screenshotHook':_0x55f76d,'toolCallCounts':_0x152d75[_0x275026(0x1a3)],'configResult':_0x5325e4,'startTime':_0x362334,'durationMs':_0x64a7f2,'conversationFilePath':_0x43d0e2,'conversationDir':_0x2e3871,'isDebugMode':_0x576675,'debugOutcome':_0xbcc106[_0x275026(0x103)],'debugAddressComments':_0xbcc106['debugAddressComments'],'resultMeta':_0x1ca3d1,'telemetry':_0x3090f2,'feedbackCommentIds':_0x533ffd?_0x533ffd['unaddressedComments']['map'](_0x365858=>_0x365858['id']):[]};}async function processVerificationResult(_0x8c9c15){const _0x1be50b=_0x2f4b72,_0x2882c5={'yMXVY':function(_0x8b65b3,_0x102e64){return _0x8b65b3(_0x102e64);},'zoyCg':'upload_trace','ROTlK':'trace.zip','NmXSx':function(_0x442cf9,_0x46c7ed,_0x47813d){return _0x442cf9(_0x46c7ed,_0x47813d);},'oxncg':function(_0x35f87d,_0x3d7a9e,_0x862994,_0x292240){return _0x35f87d(_0x3d7a9e,_0x862994,_0x292240);},'qNOKq':'webm','JSwQU':'upload_video','Tuwlo':function(_0x5c4ae9,_0x1d1bb2){return _0x5c4ae9+_0x1d1bb2;},'sIhvN':function(_0x3452d4,_0x496eee){return _0x3452d4<_0x496eee;},'DUZzI':_0x1be50b(0x201),'TVrHF':function(_0x329277,_0x145d90,_0x261ce2){return _0x329277(_0x145d90,_0x261ce2);},'nXHCJ':'screenshot','qCFCj':_0x1be50b(0x1ad),'eQSuh':_0x1be50b(0x1d6),'YlFjE':_0x1be50b(0xdf),'VoQKt':_0x1be50b(0xfb),'zgWOy':function(_0x17263f,_0xccf5f4){return _0x17263f(_0xccf5f4);},'cijAF':'jsonl','PiGjG':_0x1be50b(0x1d8),'SRzSs':'update_session','jBaQF':'completed','PmQsJ':function(_0x46e8ee,_0x21f0b8){return _0x46e8ee||_0x21f0b8;},'DdtbW':function(_0x30a4ae,_0x263b95){return _0x30a4ae&&_0x263b95;},'IpvwC':function(_0x5c743b,_0x34590b){return _0x5c743b(_0x34590b);},'sQPsN':function(_0x4eb882,_0x1ff946){return _0x4eb882&&_0x1ff946;},'dPjjF':function(_0x548507,_0x4004e5){return _0x548507(_0x4004e5);},'GNfTU':function(_0x581b7e,_0x4c4570){return _0x581b7e&&_0x4c4570;},'bmSke':'evaluation','anSfo':'verified','GSqAk':function(_0xdf062d,_0x1382b0){return _0xdf062d===_0x1382b0;},'loRWf':function(_0x190e22,_0x1199c2,_0x2f3935,_0x41bd38){return _0x190e22(_0x1199c2,_0x2f3935,_0x41bd38);},'BxeMH':_0x1be50b(0x1f6),'Euiwl':function(_0x9fd0ad,_0x4d7f2c){return _0x9fd0ad===_0x4d7f2c;},'KzRmQ':_0x1be50b(0x1bf),'mzkEf':function(_0x33626b,_0x261eeb){return _0x33626b===_0x261eeb;},'MWTux':_0x1be50b(0x1de),'XjcyB':function(_0x8996e7,_0x2a10aa,_0x320238,_0x5d98f7){return _0x8996e7(_0x2a10aa,_0x320238,_0x5d98f7);},'hlBqE':'scenario_update'},{featureId:_0x5c1857,checklistItem:_0x331108,browserSession:_0x56ba3e,screenshotHook:_0x1766f6,durationMs:_0x94ecdc,conversationFilePath:_0x2134dc,isDebugMode:_0x3e9698,debugOutcome:_0x4eeed7,debugAddressComments:_0x262665,telemetry:_0x1c9e74,feedbackCommentIds:_0x5d0dd6}=_0x8c9c15,{finalResult:_0xd67d80,agentError:_0x607cd7}=_0x8c9c15;let _0x34b8e1;try{const _0x1daba4=_0x2882c5[_0x1be50b(0x1f0)](getTraceDirectory,_0x56ba3e['id']);if(existsSync(_0x1daba4)){const _0x199e3a=await _0x2882c5[_0x1be50b(0x1f0)](readdir,_0x1daba4);if(_0x199e3a['length']>0x0){_0x1c9e74['trackPhaseStart'](_0x2882c5[_0x1be50b(0x107)]);try{const _0x55fb41=await getUploadUrls(_0x56ba3e['id'],_0x2882c5['ROTlK'],'zip'),_0x5cd0fb=await _0x2882c5[_0x1be50b(0x1f0)](zipDirectory,_0x1daba4);await _0x2882c5['NmXSx'](uploadTrace,_0x55fb41[_0x1be50b(0x12a)],_0x5cd0fb),_0x34b8e1=_0x55fb41['downloadUrl'],_0x1c9e74['trackPhaseEnd']('upload_trace',{'bytes':_0x5cd0fb[_0x1be50b(0x153)]});}catch(_0x48563a){await _0x1c9e74['trackPhaseError'](_0x2882c5['zoyCg'],_0x48563a);}const _0x4b3009=await loadSessionVideos(_0x1daba4);for(const _0x16efdf of _0x4b3009){_0x1c9e74[_0x1be50b(0x15a)]('upload_video',{'filename':_0x16efdf['filename']});try{try{fixWebmDuration(_0x16efdf[_0x1be50b(0x206)],_0x16efdf[_0x1be50b(0x206)]);}catch{}const _0x248489=await readFile(_0x16efdf['path']),_0x1f4ce2=await _0x2882c5[_0x1be50b(0x1f1)](getUploadUrls,_0x56ba3e['id'],_0x16efdf['filename'],_0x2882c5[_0x1be50b(0x1c2)]);await uploadVideo(_0x1f4ce2['uploadUrl'],_0x248489),_0x1c9e74['trackPhaseEnd'](_0x2882c5[_0x1be50b(0x200)],{'filename':_0x16efdf['filename'],'bytes':_0x248489['length']});}catch(_0x156398){await _0x1c9e74['trackPhaseError'](_0x1be50b(0x1db),_0x156398,{'filename':_0x16efdf[_0x1be50b(0x162)]});}}const _0x228b0a=_0x199e3a[_0x1be50b(0x129)](_0x446324=>_0x446324[_0x1be50b(0xd3)]()['endsWith'](_0x1be50b(0x19b)))[_0x1be50b(0x129)](_0x1bc4eb=>!_0x1766f6['uploadedFiles']['has'](_0x1bc4eb))['sort'](),_0x42a6e8=_0x2882c5['Tuwlo'](_0x1766f6[_0x1be50b(0x146)][_0x1be50b(0x19e)],0x1);for(let _0xbddaa6=0x0;_0x2882c5[_0x1be50b(0x204)](_0xbddaa6,_0x228b0a['length']);_0xbddaa6++){const _0x68a9ff=_0x228b0a[_0xbddaa6],_0x2c1689=_0x68a9ff['toLowerCase']()['startsWith'](_0x1be50b(0x10b));_0x1c9e74[_0x1be50b(0x15a)](_0x2882c5['DUZzI'],{'filename':_0x68a9ff,'isKeyFrame':_0x2c1689});try{const _0x2b9677=join(_0x1daba4,_0x68a9ff),_0x11dc22=await _0x2882c5['yMXVY'](readFile,_0x2b9677),_0xcd0bf4=await _0x2882c5[_0x1be50b(0x1f0)](stat,_0x2b9677),_0xb8fa94=_0x68a9ff['replace'](/\.png$/i,'')[_0x1be50b(0xd5)](/^key_/i,'')[_0x1be50b(0xd5)](/^\d+_/,'')['replace'](/-/g,'\x20'),{step:_0x559478}=await _0x2882c5[_0x1be50b(0x175)](createVerificationStep,_0x56ba3e['id'],{'checklistItemId':_0x331108['id'],'position':_0x42a6e8+_0xbddaa6,'stepType':_0x2882c5[_0x1be50b(0x20c)],'stepName':_0xb8fa94,'description':_0x2c1689?_0x2882c5['qCFCj']:_0x2882c5[_0x1be50b(0x17e)],'isKeyStep':_0x2c1689,'status':_0x2882c5['YlFjE'],'metadata':{'filename':_0x68a9ff,'timestamp':_0xcd0bf4[_0x1be50b(0xd6)]['toISOString']()}}),_0x169fc5=await createStepAsset(_0x56ba3e['id'],_0x559478['id'],{'filename':_0x68a9ff,'assetType':'screenshot','timing':_0x2882c5[_0x1be50b(0x14d)],'position':0x0,'capturedAt':_0xcd0bf4[_0x1be50b(0xd6)][_0x1be50b(0x12d)](),'metadata':{'name':_0xb8fa94,'highPriority':_0x2c1689}});await uploadScreenshot(_0x169fc5['uploadUrl'],_0x11dc22),_0x1c9e74[_0x1be50b(0xf7)](_0x2882c5['DUZzI'],{'filename':_0x68a9ff,'bytes':_0x11dc22[_0x1be50b(0x153)]});}catch(_0x2dbc33){await _0x1c9e74[_0x1be50b(0x1dc)]('upload_screenshot',_0x2dbc33,{'filename':_0x68a9ff});}}}}if(_0x2882c5[_0x1be50b(0x171)](existsSync,_0x2134dc)){_0x1c9e74[_0x1be50b(0x15a)]('upload_conversation');try{const _0x1e3978=await getUploadUrls(_0x56ba3e['id'],'conversation.jsonl',_0x2882c5[_0x1be50b(0xf6)]),_0x355466=await readFile(_0x2134dc);await uploadConversation(_0x1e3978[_0x1be50b(0x12a)],_0x355466),_0x1c9e74['trackPhaseEnd']('upload_conversation',{'bytes':_0x355466['length']});}catch(_0x596a66){await _0x1c9e74[_0x1be50b(0x1dc)](_0x2882c5[_0x1be50b(0xf2)],_0x596a66);}}_0x1c9e74[_0x1be50b(0x15a)](_0x2882c5[_0x1be50b(0x16e)]);try{const _0x39a324=_0xd67d80,_0x432c83={'status':_0x607cd7?_0x1be50b(0x1bf):_0x2882c5[_0x1be50b(0x108)],'durationMs':_0x94ecdc,'agentResponse':_0x39a324?.['summary']||_0x607cd7||undefined,'errorMessage':_0x2882c5[_0x1be50b(0xe2)](_0x607cd7,undefined)};await updateBrowserSession(_0x56ba3e['id'],_0x432c83),_0x2882c5[_0x1be50b(0x21b)](_0x39a324,_0x34b8e1)&&(_0x39a324['traceViewerUrl']=_0x2882c5[_0x1be50b(0x174)](buildTraceViewerUrl,_0x34b8e1),_0x39a324[_0x1be50b(0x194)]=_0x56ba3e['id'],_0x39a324['sessionDir']=getTraceDirectory(_0x56ba3e['id']),_0x39a324['durationMs']=_0x94ecdc,_0x39a324[_0x1be50b(0x11e)]=_0x331108['id']),_0x1c9e74['trackPhaseEnd'](_0x2882c5[_0x1be50b(0x16e)]);}catch(_0x1b9f2e){await _0x1c9e74['trackPhaseError'](_0x1be50b(0x1a1),_0x1b9f2e);}}catch{}_0x1c9e74[_0x1be50b(0x15a)](_0x1be50b(0xe6));let _0x59744c;if(_0x2882c5['sQPsN'](_0x3e9698,_0x4eeed7)){const _0x11b55a=_0x2882c5['dPjjF'](getMockEvaluation,_0x4eeed7),_0x43f79a=_0xd67d80;_0x59744c={..._0x11b55a,'sessionId':_0x56ba3e['id'],'sessionDir':getTraceDirectory(_0x56ba3e['id']),'durationMs':_0x94ecdc,'traceViewerUrl':_0x34b8e1?buildTraceViewerUrl(_0x34b8e1):undefined,'checklistItemId':_0x331108['id'],'addressedCommentIds':_0x43f79a?.[_0x1be50b(0x18f)]??[]},console['log']('\x0a[DEBUG\x20MODE]\x20Using\x20mock\x20evaluation:\x20'+_0x4eeed7);}else{const _0x25f196=_0xd67d80;if(_0x2882c5['GNfTU'](_0x607cd7,!_0x25f196))throw new Error('Verification\x20failed:\x20'+_0x607cd7);if(!_0x25f196)throw new Error(_0x1be50b(0x15d));_0x59744c=_0x25f196;}_0x1c9e74[_0x1be50b(0xf7)](_0x2882c5['bmSke'],{'evaluation':_0x59744c[_0x1be50b(0xe6)],'issueCount':_0x59744c['issues']?.[_0x1be50b(0x153)]??0x0}),_0x1c9e74['trackPhaseStart'](_0x1be50b(0x1ba));const _0x180e33=_0x59744c['evaluation'];if(_0x180e33===_0x2882c5['anSfo'])await _0x2882c5['oxncg'](updateChecklistItem,_0x5c1857,_0x331108['id'],{'status':_0x1be50b(0x13d),'browserSessionId':_0x56ba3e['id']}),console['log']('\x0a✅\x20Scenario\x20verified!');else{if(_0x2882c5['GSqAk'](_0x180e33,_0x1be50b(0x1f6))){await _0x2882c5['loRWf'](updateChecklistItem,_0x5c1857,_0x331108['id'],{'status':_0x2882c5['BxeMH'],'browserSessionId':_0x56ba3e['id'],'blockedReason':_0x59744c['evaluationReason']}),console['log']('\x0a'+'='['repeat'](0x3c)),console['log'](_0x1be50b(0xe5)),console[_0x1be50b(0xe0)](''+'='[_0x1be50b(0x12c)](0x3c)),console['log']('\x0aIssue:\x20'+_0x59744c[_0x1be50b(0x203)]);if(_0x59744c[_0x1be50b(0x1c5)]?.[_0x1be50b(0x153)]){console[_0x1be50b(0xe0)]('\x0aDetails:');for(const _0x4e8ca1 of _0x59744c['issues']){const _0x3dfbae=_0x4e8ca1['type']?'\x20('+_0x4e8ca1[_0x1be50b(0x1fd)]+')':'';console[_0x1be50b(0xe0)]('\x20\x20-\x20['+_0x4e8ca1['severity']+']'+_0x3dfbae+'\x20'+_0x4e8ca1[_0x1be50b(0xfe)]);}}_0x59744c[_0x1be50b(0x16a)]&&console[_0x1be50b(0xe0)]('\x0aTrace:\x20'+_0x59744c['traceViewerUrl']),console['log'](_0x1be50b(0xde)),console[_0x1be50b(0xe0)]('='[_0x1be50b(0x12c)](0x3c)+'\x0a');}else(_0x2882c5[_0x1be50b(0x1bb)](_0x180e33,'partial')||_0x2882c5['Euiwl'](_0x180e33,_0x2882c5[_0x1be50b(0x116)])||_0x2882c5[_0x1be50b(0x1b3)](_0x180e33,_0x2882c5[_0x1be50b(0x124)]))&&(await updateChecklistItem(_0x5c1857,_0x331108['id'],{'status':_0x2882c5[_0x1be50b(0x124)],'browserSessionId':_0x56ba3e['id'],'incompleteReason':_0x59744c['evaluationReason']}),await _0x2882c5['XjcyB'](handleIncompleteItem,_0x5c1857,_0x331108,_0x59744c));}_0x1c9e74['trackPhaseEnd'](_0x2882c5[_0x1be50b(0xfd)],{'newStatus':_0x180e33}),_0x1c9e74['trackPhaseStart'](_0x1be50b(0x17c),{'totalFeedbackComments':_0x5d0dd6['length'],'agentAddressedCount':_0x59744c['addressedCommentIds']?.[_0x1be50b(0x153)]??0x0});const _0x5117f7=_0x59744c[_0x1be50b(0x18f)]?.['filter'](_0x570662=>_0x5d0dd6['includes'](_0x570662));if(_0x5117f7&&_0x5117f7[_0x1be50b(0x153)]>0x0)try{await _0x2882c5['oxncg'](markCommentsAddressed,_0x5c1857,_0x331108['id'],_0x5117f7),console['log']('Marked\x20'+_0x5117f7[_0x1be50b(0x153)]+_0x1be50b(0xfa)),_0x1c9e74['trackPhaseEnd']('comment_addressing',{'addressedCount':_0x5117f7[_0x1be50b(0x153)]});}catch(_0x15cbff){await _0x1c9e74[_0x1be50b(0x1dc)](_0x1be50b(0x17c),_0x15cbff);}else _0x1c9e74[_0x1be50b(0xf7)](_0x1be50b(0x17c),{'addressedCount':0x0});return _0x59744c;}export async function verifyFeature(_0x4d112d){const _0x18a546=_0x2f4b72,_0x2673cf={'SItFd':'3|0|5|4|6|2|1','ludDo':_0x18a546(0x172),'hTkCu':_0x18a546(0x198),'bmarC':function(_0x3b9731,_0x26f7a0,_0x59cdd6){return _0x3b9731(_0x26f7a0,_0x59cdd6);},'IjaEy':function(_0x4d0afd,_0x249b0c){return _0x4d0afd(_0x249b0c);},'YBYcg':function(_0xead9af,_0x549a1b){return _0xead9af(_0x549a1b);},'JYbuS':function(_0x2e21c9,_0x452b7f){return _0x2e21c9===_0x452b7f;},'aBsAN':function(_0x39f444,_0x28a26f){return _0x39f444(_0x28a26f);},'xRKLu':_0x18a546(0xdf),'OTzJR':_0x18a546(0x1ef),'pnSgd':_0x18a546(0x1bd),'JWNtq':function(_0x352519,_0x4b0a86,_0x4c595b,_0x59fdcd){return _0x352519(_0x4b0a86,_0x4c595b,_0x59fdcd);},'EjCMS':_0x18a546(0x13e),'JmEGA':'Scenario\x20reset\x20to\x20pending\x20after\x20unexpected\x20error.','PuZrK':'scenario_reset','PtaPz':function(_0x38f207,_0x4e2338,_0x45875e){return _0x38f207(_0x4e2338,_0x45875e);},'qVxdq':function(_0xc817cd,_0xeeb92e){return _0xc817cd(_0xeeb92e);},'JURVY':'cleanup'},_0x274e4f=_0x2673cf['YBYcg'](createTelemetryCollector,'go');await _0x274e4f['trackCommandStart']({'hasProfile':!!_0x4d112d['profile'],'hasScenario':_0x4d112d[_0x18a546(0x11a)]!==undefined,'hasNotes':!!_0x4d112d[_0x18a546(0x19a)],'isDebugMode':!!_0x4d112d['debugOutcome']});const {envNames:_0x3fdbab}=await getEnvNames();if(_0x2673cf[_0x18a546(0x16f)](_0x3fdbab[_0x18a546(0x153)],0x0))throw new Error(_0x2673cf[_0x18a546(0x17a)](formatProfileRequiredMessage,_0x599ce4=>bold(_0x599ce4)));let _0x2e39be,_0x2770f9=![],_0x4164b9=![];const _0x22f730=async()=>{const _0x57d25c=_0x18a546,_0x4539b7=_0x2673cf[_0x57d25c(0x104)][_0x57d25c(0x150)]('|');let _0x135537=0x0;while(!![]){switch(_0x4539b7[_0x135537++]){case'0':_0x2770f9=!![];continue;case'1':process[_0x57d25c(0xf8)](0x0);continue;case'2':console[_0x57d25c(0xe0)](_0x2673cf[_0x57d25c(0xea)]);continue;case'3':if(_0x2770f9)return;continue;case'4':await _0x274e4f[_0x57d25c(0x106)]('interrupted',{'durationMs':_0x2e39be?Date[_0x57d25c(0x125)]()-_0x2e39be[_0x57d25c(0x1b9)]:0x0});continue;case'5':console[_0x57d25c(0xe0)](_0x2673cf['hTkCu']);continue;case'6':if(_0x2e39be){try{await _0x2673cf[_0x57d25c(0x128)](updateBrowserSession,_0x2e39be[_0x57d25c(0x1a5)]['id'],{'status':'interrupted','durationMs':Date['now']()-_0x2e39be['startTime']});}catch{}try{await updateChecklistItem(_0x2e39be['featureId'],_0x2e39be['checklistItem']['id'],{'status':'pending'});}catch{}if(_0x2e39be[_0x57d25c(0xdb)])try{await _0x2673cf[_0x57d25c(0xed)](cleanupTempFiles,_0x2e39be['configResult']);}catch{}}continue;}break;}};process['on'](_0x18a546(0x1ef),_0x22f730),process['on'](_0x18a546(0x1bd),_0x22f730);try{_0x2e39be=await runVerification(_0x4d112d,_0x274e4f),await _0x274e4f[_0x18a546(0x1fe)]();const _0x1ce9e9=await processVerificationResult(_0x2e39be);return _0x4164b9=!![],await _0x274e4f[_0x18a546(0x106)](_0x2673cf['xRKLu'],{'evaluation':_0x1ce9e9[_0x18a546(0xe6)],'durationMs':_0x2e39be['durationMs'],..._0x2e39be[_0x18a546(0x211)]}),_0x1ce9e9;}catch(_0x3e810a){await _0x274e4f['trackCommandError'](_0x3e810a);throw _0x3e810a;}finally{process['removeListener'](_0x2673cf[_0x18a546(0x1c1)],_0x22f730),process['removeListener'](_0x2673cf[_0x18a546(0x118)],_0x22f730);if(_0x2e39be&&!_0x2770f9&&!_0x4164b9)try{await _0x2673cf['JWNtq'](updateChecklistItem,_0x2e39be['featureId'],_0x2e39be[_0x18a546(0x110)]['id'],{'status':_0x2673cf['EjCMS']}),console[_0x18a546(0xe0)](_0x2673cf['JmEGA']);}catch(_0x1ce97f){await _0x274e4f['trackPhaseError'](_0x2673cf[_0x18a546(0x1bc)],_0x1ce97f);}if(_0x2e39be){_0x274e4f[_0x18a546(0x15a)]('cleanup');_0x2e39be['configResult']&&await cleanupTempFiles(_0x2e39be[_0x18a546(0xdb)]);try{const _0x1e643d=getTraceDirectory(_0x2e39be['browserSession']['id']);_0x2673cf['YBYcg'](existsSync,_0x1e643d)&&await _0x2673cf[_0x18a546(0x177)](rm,_0x1e643d,{'recursive':!![],'force':!![]});}catch{}try{_0x2e39be[_0x18a546(0x165)]&&_0x2673cf['qVxdq'](existsSync,_0x2e39be['conversationDir'])&&await rm(_0x2e39be['conversationDir'],{'recursive':!![],'force':!![]});}catch{}_0x274e4f[_0x18a546(0xf7)](_0x2673cf['JURVY']);}await _0x274e4f[_0x18a546(0x1fe)]();}}
|
|
1
|
+
const _0x9cc6fa=_0x4a68;(function(_0x2527a9,_0x2a323d){const _0x395b6a=_0x4a68,_0x40c371=_0x2527a9();while(!![]){try{const _0xb618cf=-parseInt(_0x395b6a(0x162))/0x1+-parseInt(_0x395b6a(0x10d))/0x2+-parseInt(_0x395b6a(0x201))/0x3*(parseInt(_0x395b6a(0x18a))/0x4)+parseInt(_0x395b6a(0x20c))/0x5*(-parseInt(_0x395b6a(0x170))/0x6)+-parseInt(_0x395b6a(0x172))/0x7+parseInt(_0x395b6a(0x118))/0x8*(-parseInt(_0x395b6a(0x144))/0x9)+parseInt(_0x395b6a(0x1f6))/0xa;if(_0xb618cf===_0x2a323d)break;else _0x40c371['push'](_0x40c371['shift']());}catch(_0x52b001){_0x40c371['push'](_0x40c371['shift']());}}}(_0x3b3c,0x1f5f9));import{query}from'@anthropic-ai/claude-agent-sdk';import{createTelemetryCollector}from'./utils/telemetry.js';import{join,dirname}from'path';import{readFile,readdir,appendFile,mkdir,rm,stat}from'fs/promises';import{existsSync}from'fs';import{execSync}from'child_process';import{tmpdir}from'os';import _0x50bb7c from'inquirer';import{loadSettings,resolveEnvVars,buildPlaywrightConfig,cleanupTempFiles,getEnvDir}from'./utils/settings.js';import{createBrowserSession,updateBrowserSession,getUploadUrls,uploadTrace,uploadConversation,uploadScreenshot,uploadVideo,buildTraceViewerUrl,getProxySessionToken,createVerificationStep,createStepAsset}from'./utils/browserSessionsApi.js';import{getAiProxyUrl}from'./utils/environment.js';import{getToken}from'./utils/keychain.js';import{getActiveFeatureId}from'./feature.js';import{readActiveProfileName}from'./utils/activeProfile.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';import{getFeature,updateFeature,updateChecklistItem,startSession,getActionItems,getItemFeedback,markCommentsAddressed}from'./utils/featureApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{fixWebmDuration}from'./utils/fixWebmDuration.js';const bold=_0x919e7e=>_0x9cc6fa(0x21b)+_0x919e7e+_0x9cc6fa(0xf3);function getGitBranch(){const _0x5e7f97=_0x9cc6fa,_0x3c5332={'praht':function(_0x1eaa9f,_0x2319da,_0x4d34c2){return _0x1eaa9f(_0x2319da,_0x4d34c2);},'jTuKJ':'pipe'};try{return _0x3c5332[_0x5e7f97(0x1df)](execSync,'git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x5e7f97(0x213),'stdio':[_0x3c5332[_0x5e7f97(0x1ec)],_0x5e7f97(0x10a),_0x3c5332[_0x5e7f97(0x1ec)]]})[_0x5e7f97(0x171)]();}catch{return undefined;}}function _0x3b3c(){const _0x5289d3=['INCOMPLETE\x20-\x20Verification\x20found\x20issues','Tbtdc','cdpEndpoint','uslXG','ukXcN','8844940RHKTWg','exit','ydpFX','riSQs','\x20is\x20not\x20currently\x20actionable.\x20Try\x20another\x20scenario.','sessionDir','Glob','completed','EUrZN','LfXhF','fesjl','162goIAuj','HgMOa','assistant','yVTFq','description','MAJOR','IDs\x20of\x20reviewer\x20comments\x20that\x20have\x20been\x20addressed\x20in\x20the\x20current\x20implementation','CJide','mcp__ranger-browser__','hook','toolCallCounts','1135UVWEDc','checklistItem','message','ZeGKQ','gitBranch','array','0|1|3|5|2|4|6','utf-8','Feature\x20is\x20partially\x20implemented\x20but\x20missing\x20key\x20functionality','ulhSj','filename','ZumxL','\x0aUsage:\x20ranger\x20go\x20--scenario\x20<number>','\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20step\x202\x20(taking\x20initial\x20snapshot),\x20IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20HTTP\x20404:\x20\x22404\x22,\x20\x22Not\x20Found\x22,\x20\x22Page\x20not\x20found\x22,\x20\x22does\x20not\x20exist\x22\x0a-\x20HTTP\x20500:\x20\x22500\x22,\x20\x22Internal\x20Server\x20Error\x22,\x20\x22Server\x20Error\x22,\x20\x22Something\x20went\x20wrong\x22\x0a-\x20HTTP\x20400:\x20\x22400\x22,\x20\x22Bad\x20Request\x22,\x20\x22Invalid\x20request\x22\x0a\x0a**Also\x20check\x20for:**\x0a-\x20Framework\x20error\x20pages\x20(Next.js\x20error\x20boundary,\x20React\x20error\x20page,\x20\x22Application\x20error\x22)\x0a-\x20Completely\x20blank/empty\x20pages\x20with\x20no\x20content\x0a-\x20\x22Cannot\x20GET\x20/path\x22\x20messages\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22HTTP\x20404\x20-\x20Page\x20not\x20found\x20at\x20/dashboard\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20appropriate\x20type\x20(HTTP_404,\x20HTTP_500,\x20HTTP_400,\x20or\x20NAVIGATION_ERROR)\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.','\x0a✅\x20Scenario\x20verified!','\x1b[1m','BLbjz','summary','list','after','[browser]\x20Type\x20→\x20\x22','log','partial','ghIhL','update_session','Target\x20page\x20returns\x20404\x20Not\x20Found','\x20scenarios.','jCqui','name','duration_ms','\x0aAvailable\x20scenarios\x20to\x20verify:','browser_press_key','tool_name','gOuXV','[browser]\x20Navigate\x20→\x20','repeat','Profile\x20\x22','Key\x20moment\x20captured\x20during\x20verification','Cannot\x20verify\x20scenario\x20\x22','get','No\x20active\x20profile.\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>','DMvHx','\x1b[0m','dRLPA','mJAnB','map','startsWith','debugOutcome','severity','checklistItems','NzAbo','selected','addressedCommentIds','\x0aNon-interactive\x20mode\x20detected.\x20The\x20--scenario\x20flag\x20is\x20required.','scenario_select','NwJhS','sort','pHhfh','Which\x20scenario\x20does\x20this\x20verify?','YtUrz','element','content','authorEmail','sessions','\x0aDetails:','pipe','output_tokens','MLHAC','193352BELpFn','num_turns','trackPhaseEnd','gLZfL','GWGYe','MgZwA','gzYaF','BLOCKER','Scenario\x20reset\x20to\x20pending\x20after\x20unexpected\x20error.','approved','currentSession','802136gRBSRX','scenario','YJMad','VmTyl','fexTj','is_interrupt','\x20\x20•\x20','qNNft','\x22.\x20Run:\x20ranger\x20profile\x20config\x20set\x20','\x20is\x20','traceViewerUrl','\x0a##\x20Evaluation\x20Criteria\x0a-\x20VERIFIED:\x20The\x20task\x20completed\x20successfully\x20and\x20the\x20scenario\x20requirements\x20are\x20fully\x20met\x0a-\x20PARTIAL:\x20The\x20task\x20partially\x20completed\x20but\x20some\x20aspects\x20of\x20the\x20scenario\x20are\x20not\x20verified\x0a-\x20BLOCKED:\x20A\x20blocking\x20issue\x20(bug,\x20error,\x20missing\x20feature)\x20prevents\x20completion\x0a-\x20FAILED:\x20The\x20task\x20could\x20not\x20be\x20completed\x20due\x20to\x20errors\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format\x20with\x20your\x20evaluation.','mcp__ranger-browser__browser_navigate','conversationDir','key_','evaluation','pending','claude-opus-4-6','NAVIGATION_ERROR','Unknown\x20error','\x22\x20.','tuSlE','-\x20[','type','\x0aVerifying\x20scenario:\x20','terminalReason','closed','PostToolUse','ryedm','For\x20debug\x20purposes,\x20mark\x20ALL\x20of\x20the\x20following\x20comments\x20as\x20addressed\x20by\x20including\x20every\x20ID\x20in\x20addressedCommentIds.','cd\x20\x22','object','You\x20are\x20a\x20Feature\x20Review\x20Verifier.\x20Your\x20job\x20is\x20to\x20verify\x20a\x20scenario\x20by\x20executing\x20a\x20UI\x20flow\x20and\x20evaluating\x20whether\x20it\x20adequately\x20completes\x20the\x20scenario.\x0a\x0a##\x20Scenario\x20to\x20Verify\x0a','failed','unaddressedComments','.\x20Feature\x20review\x20has\x20','wPiOc','\x20[not\x20actionable]','OTHER','\x20(key\x20frame)','errors','\x0aAll\x20other\x20scenarios\x20are\x20complete.','aReIH','HTTP\x20404\x20-\x20Page\x20not\x20found.','18FIWevT','rzaPi','vgdYG','screenshot','run-mcp-server','isTTY','status','trackCommandEnd','cache_creation_input_tokens','toISOString','unaddressedCommentCount','mOoIR','\x20\x201.\x20Fix\x20the\x20issues\x20above\x20in\x20your\x20code','blocked','Read','[DEBUG]\x20Mock\x20verification\x20completed\x20successfully.','boolean','string','CqnMO','Kjtoc','Secondary\x20feature\x20not\x20fully\x20implemented','gVxPU','3|1|4|0|2','verified','error','set','wDYzN','SIGINT','canonicalFlow','SIGTERM','89342YJMHdy','UI\x20elements\x20present\x20but\x20not\x20fully\x20functional','displayIndex','TrHMB','FICbQ','agent_execution','upload_screenshot','featureId','lsoia','tool_input','createdAt','PjKRr','The\x20--scenario\x20flag\x20is\x20required\x20in\x20non-interactive\x20mode.\x20See\x20available\x20scenarios\x20above.','\x0aTrace:\x20','6282DmNItZ','trim','169400cMgryj','Hdczi','stdout','mfPiU','upload_conversation','unknown\x20reason','input_tokens','time','startPath','mcp__ranger-browser__browser_type','startTime','gWXjO','issues','GPWjh','not\x20actionable','MPwuR','\x22\x20into\x20\x22','Screenshot\x20captured\x20during\x20verification','sCoUo','Reviewer','Scenario\x20reset\x20to\x20pending.\x20Partial\x20steps\x20are\x20preserved.','trackCommandStart','success','Marked\x20','7968Msinmv','All\x20scenario\x20requirements\x20were\x20met.','YycET','tool_call','[browser]\x20Press\x20key\x20→\x20','\x20comment(s)\x20to\x20verify','slice','every','Scenario\x20','vMXkV','notes','AJbID','\x20comment(s)\x20as\x20addressed','now','PkDpR','\x0a\x0a##\x20Additional\x20Notes\x0a','feedback_fetch','length','Example:\x20ranger\x20go\x20--scenario\x201','evaluationReason','mcp__ranger-browser__browser_wait_for','Tyrxb','@ranger-testing/playwright','webm','ZhjzX','\x0aNext\x20steps:','wVYRR','SNuJz','race','For\x20debug\x20purposes,\x20do\x20NOT\x20mark\x20any\x20comments\x20as\x20addressed.\x20Return\x20an\x20empty\x20addressedCommentIds\x20array.','toLowerCase','txbKg','profile','uploadUrl','qjgjZ','acceptEdits','):\x20\x22','xjsMZ','CMjQZ','wxVeI','\x20\x202.\x20Run\x20\x27ranger\x20go\x27\x20again\x20to\x20re-verify','ready','trace.zip','upload_trace','HTTP_400','\x0a\x0a##\x20Debug:\x20Reviewer\x20Comments\x0a','WXVwt','\x20\x20\x20Updated\x20branch\x20to:\x20','nCSNX','**\x20(','BLOCKING\x20ISSUE\x20DETECTED\x20-\x20Debug\x20Required','mtime','cwd','configResult','.png','filter','iYpLg','uploadedFiles','EoCPK','endsWith','mHKNV','tool_failure','[DEBUG]\x20Mock\x20blocked\x20verification.','profile_resolution','url','stringify','actionable','trackPhaseStart','rSbiz','\x20comments]','nyghw','short','removeListener','MINOR','usage','cLiWZ','XaXXb','RotWx','incomplete','size','verification_in_progress','toLocaleDateString','playwright_config','replace','conversation.jsonl','praht','hZFHe','jurIK','join','npx','trackPhaseError','DEOro','setContext','upload_video','RQoam','browserSession','debugAddressComments','IOdkS','jTuKJ','bGANJ','interactive','uVUVn','LbFMQ'];_0x3b3c=function(){return _0x5289d3;};return _0x3b3c();}async function zipDirectory(_0x5dc7b5){const _0x2ab660=_0x9cc6fa,_0x167faf={'uslXG':'trace-upload.zip','pHhfh':'pipe','PkGhs':function(_0x58c845,_0xba4171){return _0x58c845(_0xba4171);},'tuSlE':function(_0x144429,_0x329528,_0x1f45cb){return _0x144429(_0x329528,_0x1f45cb);}},_0xdf5c50=join(_0x5dc7b5,'..',_0x167faf[_0x2ab660(0x1f4)]);execSync(_0x2ab660(0x136)+_0x5dc7b5+'\x22\x20&&\x20zip\x20-r\x20\x22'+_0xdf5c50+_0x2ab660(0x12c),{'stdio':_0x167faf[_0x2ab660(0x102)]});const _0x474f01=await _0x167faf['PkGhs'](readFile,_0xdf5c50);return _0x167faf[_0x2ab660(0x12d)](execSync,'rm\x20\x22'+_0xdf5c50+'\x22',{'stdio':_0x2ab660(0x10a)}),_0x474f01;}function _0x4a68(_0x46a61d,_0x96df7a){_0x46a61d=_0x46a61d-0xe7;const _0x3b3cb6=_0x3b3c();let _0x4a68e4=_0x3b3cb6[_0x46a61d];return _0x4a68e4;}function getTraceDirectory(_0x54d780){const _0x11a530=_0x9cc6fa,_0x393ba1={'ysKyV':_0x11a530(0x108)};return join(getRangerDir(),_0x393ba1['ysKyV'],_0x54d780);}function getConversationFilePath(_0x5be31d){const _0x54588a=_0x9cc6fa,_0x55bb9d={'dfcEv':function(_0x52d3e8,_0x151ba2,_0x2c60dd,_0x5516b9,_0x2425a8){return _0x52d3e8(_0x151ba2,_0x2c60dd,_0x5516b9,_0x2425a8);},'ZumxL':function(_0x26de58){return _0x26de58();}};return _0x55bb9d['dfcEv'](join,_0x55bb9d[_0x54588a(0x217)](tmpdir),'ranger-browser-sessions',_0x5be31d,_0x54588a(0x1de));}async function loadSessionVideos(_0x634984){const _0x36dcc6=_0x9cc6fa,_0x553f28={'attfJ':function(_0x3bb5b1,_0x152e53,_0x367fc7){return _0x3bb5b1(_0x152e53,_0x367fc7);},'Tyrxb':function(_0x12df92,_0x44a341){return _0x12df92(_0x44a341);}},_0x5840a7=_0x553f28['attfJ'](join,_0x634984,'videos');if(!_0x553f28[_0x36dcc6(0x19f)](existsSync,_0x5840a7))return[];const _0x3a1add=await readdir(_0x5840a7),_0x4a2cc2=_0x3a1add['filter'](_0x6475a=>_0x6475a['toLowerCase']()[_0x36dcc6(0x1c5)]('.webm'));return _0x4a2cc2[_0x36dcc6(0xf6)](_0x264716=>({'filename':_0x264716,'path':join(_0x5840a7,_0x264716)}));}function getMockEvaluation(_0x272196){const _0x6e4121=_0x9cc6fa,_0x593ece={'ghIhL':_0x6e4121(0x15b),'tpFba':_0x6e4121(0x18b),'BzVoz':'[DEBUG]\x20Mock\x20partial\x20verification.','fHDDJ':'Some\x20requirements\x20were\x20not\x20fully\x20verified.','sfyhK':'MINOR','ysWzN':_0x6e4121(0x13e),'PjKRr':'Implementation\x20is\x20incomplete\x20and\x20needs\x20additional\x20work.','sCoUo':'MAJOR','tDhZR':_0x6e4121(0x163),'uJmiZ':_0x6e4121(0x151),'yVTFq':_0x6e4121(0x143),'bGANJ':_0x6e4121(0x114),'BDtSa':'HTTP_404','Kjtoc':_0x6e4121(0x225),'GgKGh':_0x6e4121(0x12a),'XZZja':'Timeout\x20waiting\x20for\x20element'},_0x134e97={'verified':{'success':!![],'summary':_0x6e4121(0x153),'evaluation':_0x593ece[_0x6e4121(0x223)],'evaluationReason':_0x593ece['tpFba']},'partial':{'success':![],'summary':_0x593ece['BzVoz'],'evaluation':'partial','evaluationReason':_0x593ece['fHDDJ'],'issues':[{'severity':_0x593ece['sfyhK'],'type':_0x593ece['ysWzN'],'description':_0x6e4121(0x158)}]},'incomplete':{'success':![],'summary':'[DEBUG]\x20Mock\x20incomplete\x20verification.','evaluation':'incomplete','evaluationReason':_0x593ece[_0x6e4121(0x16d)],'issues':[{'severity':_0x593ece['sCoUo'],'type':_0x593ece['ysWzN'],'description':_0x6e4121(0x214)},{'severity':'MINOR','type':_0x593ece['ysWzN'],'description':_0x593ece['tDhZR']}]},'blocked':{'success':![],'summary':_0x6e4121(0x1c8),'evaluation':_0x593ece['uJmiZ'],'evaluationReason':_0x593ece[_0x6e4121(0x204)],'issues':[{'severity':_0x593ece[_0x6e4121(0x1ed)],'type':_0x593ece['BDtSa'],'description':_0x593ece[_0x6e4121(0x157)]},{'severity':_0x593ece[_0x6e4121(0x184)],'type':_0x593ece['GgKGh'],'description':'Unable\x20to\x20proceed\x20due\x20to\x20missing\x20page'}]},'failed':{'success':![],'summary':'[DEBUG]\x20Mock\x20failed\x20verification.','evaluation':_0x6e4121(0x139),'evaluationReason':'Browser\x20automation\x20failed\x20with\x20timeout\x20error.','issues':[{'severity':_0x6e4121(0x114),'type':_0x593ece['ysWzN'],'description':_0x593ece['XZZja']}]}};return _0x134e97[_0x272196];}function getDebugPrompt(){return'You\x20are\x20testing\x20browser\x20automation.\x20Your\x20task\x20is\x20simple:\x0a\x0a1.\x20Navigate\x20to\x20https://www.mozilla.org\x20using\x20browser_navigate\x0a2.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20page\x0a3.\x20Take\x20a\x20screenshot\x20named\x20\x2201_mozilla-homepage.png\x22\x20using\x20browser_take_screenshot\x0a4.\x20Click\x20the\x20\x22Learn\x20More\x22\x20link\x20on\x20the\x20page\x0a5.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20new\x20page\x0a6.\x20Take\x20a\x20screenshot\x20named\x20\x2202_learn-more.png\x22\x20using\x20browser_take_screenshot\x0a7.\x20Return\x20immediately\x20with\x20the\x20structured\x20output\x0a\x0aReturn\x20your\x20findings\x20in\x20the\x20structured\x20output\x20format.';}async function selectChecklistItem(_0x57199c){const _0xe00f13=_0x9cc6fa,_0x220a71={'LvQls':function(_0x4b9fed,_0x426ece){return _0x4b9fed===_0x426ece;},'Fayuu':function(_0x1da127,_0x7a06b2){return _0x1da127===_0x7a06b2;},'mOoIR':_0xe00f13(0x15b),'Yblbe':_0xe00f13(0x1d8),'RQoam':'blocked','bBpiU':function(_0x313a11,_0x2d9ee9){return _0x313a11===_0x2d9ee9;},'ZhjzX':function(_0x16bf21,_0x5e0923){return _0x16bf21>_0x5e0923;},'NzAbo':'not\x20actionable','gOuXV':function(_0x48dfbd,_0x42392c){return _0x48dfbd+_0x42392c;},'qjgjZ':_0xe00f13(0xfc),'CqnMO':_0xe00f13(0x103)};if(_0x57199c[_0xe00f13(0x19b)]===0x0)return null;const _0x522428=_0x57199c[_0xe00f13(0xf6)](_0x5290d3=>{const _0x4c1113=_0xe00f13,_0x526e76=_0x220a71['LvQls'](_0x5290d3[_0x4c1113(0x14a)],'closed')&&_0x220a71['Fayuu'](_0x5290d3[_0x4c1113(0x131)],'approved')?'✅':_0x5290d3['status']===_0x220a71[_0x4c1113(0x14f)]?'🟢':_0x5290d3[_0x4c1113(0x14a)]===_0x220a71['Yblbe']?'🟠':_0x220a71['LvQls'](_0x5290d3['status'],_0x220a71[_0x4c1113(0x1e8)])?'🛑':_0x220a71['bBpiU'](_0x5290d3[_0x4c1113(0x14a)],'closed')?'⛔':_0x5290d3[_0x4c1113(0x14a)]===_0x4c1113(0x1da)?'⏳':'⬜',_0x2b04ff=_0x220a71[_0x4c1113(0x1a2)](_0x5290d3['unaddressedCommentCount'],0x0)?'\x20['+_0x5290d3['unaddressedCommentCount']+_0x4c1113(0x1cf):'',_0x30f38a=_0x5290d3['actionable']?![]:_0x5290d3[_0x4c1113(0x14a)]==='closed'&&_0x5290d3['terminalReason']?_0x5290d3['terminalReason']:_0x220a71[_0x4c1113(0xfb)];return{'name':_0x220a71[_0x4c1113(0xea)](_0x5290d3[_0x4c1113(0x164)],0x1)+'.\x20'+_0x526e76+'\x20'+_0x5290d3[_0x4c1113(0x205)]+_0x2b04ff,'value':_0x5290d3['id'],'disabled':_0x30f38a};}),{selected:_0x170880}=await _0x50bb7c['prompt']([{'type':_0xe00f13(0x21e),'name':_0x220a71[_0xe00f13(0x1ac)],'message':_0x220a71[_0xe00f13(0x156)],'choices':_0x522428}]);return _0x57199c['find'](_0x2dddaf=>_0x2dddaf['id']===_0x170880)||null;}async function handleIncompleteItem(_0x5d750f,_0x490db8,_0x27b86d){const _0x428e31=_0x9cc6fa,_0x365ca8={'GUsej':function(_0x4f2f46,_0x28f749){return _0x4f2f46(_0x28f749);},'vMXkV':function(_0x435b9c,_0x1eb1b0){return _0x435b9c>_0x1eb1b0;}},{items:_0x101713}=await _0x365ca8['GUsej'](getActionItems,_0x5d750f),_0x5bcf97=_0x101713[_0x428e31(0x1c1)](_0x4fc194=>_0x4fc194['id']!==_0x490db8['id']),_0x29de7b=_0x5bcf97[_0x428e31(0x191)](_0x1e5ace=>_0x1e5ace[_0x428e31(0x14a)]==='verified'||_0x1e5ace['status']===_0x428e31(0x151)||_0x1e5ace['status']===_0x428e31(0x132)||_0x1e5ace[_0x428e31(0x14a)]==='incomplete');console[_0x428e31(0x221)]('\x0a'+'='['repeat'](0x3c)),console['log'](_0x428e31(0x1f1)),console['log'](''+'='[_0x428e31(0xec)](0x3c));if(_0x27b86d[_0x428e31(0x17e)]&&_0x365ca8[_0x428e31(0x193)](_0x27b86d['issues']['length'],0x0)){console['log']('\x0aIssues\x20found:');for(const _0xa9cd68 of _0x27b86d[_0x428e31(0x17e)]){console[_0x428e31(0x221)](_0x428e31(0x11e)+_0xa9cd68[_0x428e31(0x205)]);}}else _0x27b86d['evaluationReason']&&console[_0x428e31(0x221)]('\x0aReason:\x20'+_0x27b86d[_0x428e31(0x19d)]);console[_0x428e31(0x221)](_0x428e31(0x1a3)),console[_0x428e31(0x221)](_0x428e31(0x150)),console[_0x428e31(0x221)](_0x428e31(0x1b2)),_0x29de7b&&_0x365ca8[_0x428e31(0x193)](_0x5bcf97[_0x428e31(0x19b)],0x0)&&(console['log'](_0x428e31(0x141)),console['log']('If\x20you\x27re\x20done\x20for\x20now,\x20you\x20can\x20stop\x20and\x20resume\x20later\x20with\x20\x27ranger\x20resume\x27.')),console['log']('='['repeat'](0x3c)+'\x0a');}function createToolCallTrackingHook(_0x313b04){const _0x81c1f2=_0x9cc6fa,_0x10d8ec={'PTBye':'PostToolUse','MkDrO':_0x81c1f2(0x209),'hYTxX':_0x81c1f2(0x18d),'pTRvW':function(_0x203fda,_0x3fea9e,_0x5b872e){return _0x203fda(_0x3fea9e,_0x5b872e);},'vUAwV':_0x81c1f2(0x17b),'lqEGV':'condition'},_0x598912=new Map(),_0x310457=async _0x5ae1ac=>{const _0x25bf0c=_0x81c1f2;if(_0x5ae1ac['hook_event_name']!==_0x10d8ec['PTBye'])return{};const _0x1e325c=_0x5ae1ac,_0x114ab6=_0x1e325c['tool_input'],_0x172c2a=_0x1e325c[_0x25bf0c(0xe9)][_0x25bf0c(0x1dd)](_0x10d8ec['MkDrO'],'');_0x598912[_0x25bf0c(0x15d)](_0x172c2a,(_0x598912['get'](_0x172c2a)||0x0)+0x1),_0x313b04['trackPhaseStart'](_0x10d8ec['hYTxX'],{'toolName':_0x172c2a}),_0x313b04['trackPhaseEnd'](_0x25bf0c(0x18d),{'toolName':_0x172c2a,'toolInput':_0x10d8ec['pTRvW'](summarizeToolInput,_0x172c2a,_0x114ab6)});switch(_0x1e325c[_0x25bf0c(0xe9)]){case _0x25bf0c(0x124):console['log'](_0x25bf0c(0xeb)+_0x114ab6[_0x25bf0c(0x1ca)]);break;case'mcp__ranger-browser__browser_click':console['log']('[browser]\x20Click\x20→\x20\x22'+_0x114ab6[_0x25bf0c(0x105)]+'\x22');break;case _0x10d8ec['vUAwV']:console['log'](_0x25bf0c(0x220)+_0x114ab6['text']+_0x25bf0c(0x182)+_0x114ab6[_0x25bf0c(0x105)]+'\x22');break;case'mcp__ranger-browser__browser_press_key':console['log'](_0x25bf0c(0x18e)+_0x114ab6['key']);break;case _0x25bf0c(0x19e):console[_0x25bf0c(0x221)]('[browser]\x20Wait\x20→\x20'+(_0x114ab6['time']?_0x114ab6[_0x25bf0c(0x179)]+'ms':_0x114ab6['text']||_0x10d8ec['lqEGV']));break;}return{};};return{'hook':_0x310457,'toolCallCounts':_0x598912};}function createToolFailureHook(_0x391cd1){const _0xe66a6={'Tbtdc':function(_0x17e73e,_0x2e7f40){return _0x17e73e!==_0x2e7f40;},'rGOJC':'PostToolUseFailure'};return async _0xa1de5c=>{const _0x4aaab0=_0x4a68;if(_0xe66a6[_0x4aaab0(0x1f2)](_0xa1de5c['hook_event_name'],_0xe66a6['rGOJC']))return{};const _0x2dae07=_0xa1de5c,_0x1591d1=_0x2dae07['tool_name'][_0x4aaab0(0x1dd)]('mcp__ranger-browser__','');return await _0x391cd1['trackPhaseError'](_0x4aaab0(0x1c7),_0x2dae07[_0x4aaab0(0x15c)],{'toolName':_0x1591d1,'isInterrupt':_0x2dae07[_0x4aaab0(0x11d)]}),{};};}function summarizeToolInput(_0x2fa029,_0x5c10e0){const _0x30b0e6=_0x9cc6fa,_0x168076={'NwJhS':'browser_navigate','gpnOt':'browser_click','dRLPA':'browser_type'};switch(_0x2fa029){case _0x168076[_0x30b0e6(0x100)]:return{'url':_0x5c10e0[_0x30b0e6(0x1ca)]};case _0x168076['gpnOt']:return{'element':_0x5c10e0[_0x30b0e6(0x105)]};case _0x168076[_0x30b0e6(0xf4)]:return{'element':_0x5c10e0['element']};case'browser_take_screenshot':return{'filename':_0x5c10e0[_0x30b0e6(0x216)]};case _0x30b0e6(0xe8):return{'key':_0x5c10e0['key']};case'browser_wait_for':return{'time':_0x5c10e0['time'],'text':_0x5c10e0['text']};default:return{};}}function createScreenshotUploadHook(_0x771cbc,_0x1ffdd5,_0x24e9df,_0x1f8f4a){const _0x5114aa=_0x9cc6fa,_0x3d959b={'dHVYe':_0x5114aa(0x133),'wxVeI':function(_0x525f32,_0x41a8b0,_0x578fda){return _0x525f32(_0x41a8b0,_0x578fda);},'DEOro':'screenshot','ulhSj':_0x5114aa(0xee),'irFtn':_0x5114aa(0x188),'VmTyl':'hook_screenshot_upload'},_0x362b24=new Set();let _0x28573d=0x1;const _0x1ae2bd=async _0x112eea=>{const _0x394d8e=_0x5114aa;if(_0x112eea['hook_event_name']!==_0x3d959b['dHVYe'])return{};const _0x3e86d4=_0x112eea;if(_0x3e86d4[_0x394d8e(0xe9)]!=='mcp__ranger-browser__browser_take_screenshot')return{};const _0x4fc81f=_0x3e86d4[_0x394d8e(0x16b)],_0x4b620a=_0x4fc81f?.[_0x394d8e(0x216)];if(!_0x4b620a)return{};const _0x53934b=_0x4b620a['toLowerCase']()[_0x394d8e(0xf7)](_0x394d8e(0x126));_0x1f8f4a[_0x394d8e(0x1cd)]('hook_screenshot_upload',{'filename':_0x4b620a,'isKeyFrame':_0x53934b});try{const _0x5f4197=join(_0x24e9df,_0x4b620a),_0x27e3e6=await readFile(_0x5f4197),_0x12ae89=await stat(_0x5f4197),_0x14202e=_0x4b620a['replace'](/\.png$/i,'')['replace'](/^key_/i,'')['replace'](/^\d+_/,'')[_0x394d8e(0x1dd)](/-/g,'\x20'),_0x3686e5=_0x28573d++;console[_0x394d8e(0x221)]('[hook]\x20Creating\x20step\x20#'+_0x3686e5+':\x20\x22'+_0x14202e+'\x22'+(_0x53934b?_0x394d8e(0x13f):''));const {step:_0x236f30}=await _0x3d959b[_0x394d8e(0x1b1)](createVerificationStep,_0x771cbc,{'checklistItemId':_0x1ffdd5,'position':_0x3686e5,'stepType':_0x3d959b[_0x394d8e(0x1e5)],'stepName':_0x14202e,'description':_0x53934b?_0x3d959b[_0x394d8e(0x215)]:_0x394d8e(0x183),'isKeyStep':_0x53934b,'status':_0x3d959b['irFtn'],'metadata':{'filename':_0x4b620a,'timestamp':_0x12ae89[_0x394d8e(0x1bd)][_0x394d8e(0x14d)]()}}),_0x54d937=await createStepAsset(_0x771cbc,_0x236f30['id'],{'filename':_0x4b620a,'assetType':'screenshot','timing':'after','position':0x0,'capturedAt':_0x12ae89[_0x394d8e(0x1bd)]['toISOString'](),'metadata':{'name':_0x14202e,'highPriority':_0x53934b}});await _0x3d959b[_0x394d8e(0x1b1)](uploadScreenshot,_0x54d937[_0x394d8e(0x1ab)],_0x27e3e6),_0x362b24['add'](_0x4b620a),_0x1f8f4a['trackPhaseEnd'](_0x3d959b[_0x394d8e(0x11b)],{'filename':_0x4b620a,'bytes':_0x27e3e6['length']});}catch(_0x11d23b){await _0x1f8f4a['trackPhaseError'](_0x3d959b[_0x394d8e(0x11b)],_0x11d23b,{'filename':_0x4b620a});}return{};};return{'hook':_0x1ae2bd,'uploadedFiles':_0x362b24};}async function runVerification(_0x30352e,_0x12de46){const _0x3b38fd=_0x9cc6fa,_0x191602={'rzaPi':'closed','Hdczi':function(_0x194d26,_0x3cebd3){return _0x194d26===_0x3cebd3;},'oamKB':'verified','EuddI':'incomplete','DMvHx':function(_0x453787,_0x356900){return _0x453787===_0x356900;},'CMjQZ':'blocked','YJMad':'numeric','JOqLw':_0x3b38fd(0x185),'RotWx':function(_0x31c657,_0x15355e){return _0x31c657(_0x15355e);},'CQnRn':function(_0x5a2ab4,_0x3f77b9,_0x454dcf,_0x366fbe){return _0x5a2ab4(_0x3f77b9,_0x454dcf,_0x366fbe);},'MunRI':_0x3b38fd(0x213),'uKFrb':_0x3b38fd(0x203),'yCoIW':'StructuredOutput','FICbQ':function(_0x3cdafd,_0x54d68e){return _0x3cdafd>_0x54d68e;},'gWXjO':'result','RBBIo':'success','gOXIk':'feature_load','WXVwt':'No\x20active\x20feature\x20review.\x20Run:\x20ranger\x20resume\x20<id>\x20or\x20ranger\x20create','nCSNX':function(_0x4f9b23,_0x3fe569){return _0x4f9b23!==_0x3fe569;},'IOdkS':function(_0x843034,_0xc1d7f1,_0x4a4b39){return _0x843034(_0xc1d7f1,_0x4a4b39);},'mfPiU':function(_0x4330e4,_0x394102){return _0x4330e4<_0x394102;},'GKLzO':function(_0x41e662,_0x5cc51d){return _0x41e662>=_0x5cc51d;},'MLHAC':_0x3b38fd(0xfe),'GWGYe':_0x3b38fd(0xe7),'riSQs':_0x3b38fd(0x19c),'yvyOd':_0x3b38fd(0x16e),'PMcMm':'Selected\x20scenario\x20is\x20not\x20currently\x20actionable.\x20Choose\x20another\x20scenario.','VbVsT':'No\x20scenario\x20selected.\x20Create\x20scenarios\x20when\x20creating\x20the\x20feature\x20review\x20with\x20-c\x20or\x20--scenario\x20flags.','iYpLg':'No\x20notes\x20provided','HgMOa':'scenario_select','XaXXb':'flag','Tjxrj':function(_0x395eac,_0x495a41){return _0x395eac>_0x495a41;},'txbKg':_0x3b38fd(0x19a),'HsipZ':_0x3b38fd(0x1b3),'aReIH':function(_0xd2ff29,_0x3c77a1){return _0xd2ff29 instanceof _0x3c77a1;},'fexTj':function(_0x506dba,_0x4e53f1){return _0x506dba(_0x4e53f1);},'gzYaF':function(_0x473d11){return _0x473d11();},'BLbjz':function(_0x54404b,_0x4b0160){return _0x54404b(_0x4b0160);},'DSAlQ':function(_0x44accb,_0x43f943){return _0x44accb+_0x43f943;},'MBKzT':function(_0x1c8056,_0x2f22c7){return _0x1c8056+_0x2f22c7;},'ZBKnn':'profile_resolution','GPWjh':'browser_session_create','MPwuR':function(_0x50046f,_0x366095){return _0x50046f instanceof _0x366095;},'rSbiz':_0x3b38fd(0x139),'jamQb':'playwright_config','wQosc':_0x3b38fd(0x1a0),'FtPjF':'--config','oxMQA':function(_0x2c5660,_0x31a07c){return _0x2c5660>_0x31a07c;},'EOrdY':_0x3b38fd(0x135),'gVxPU':_0x3b38fd(0x1a7),'CalSV':'object','SNuJz':_0x3b38fd(0x154),'nyghw':_0x3b38fd(0x155),'xjsMZ':'array','NFZQz':_0x3b38fd(0x114),'cNCaP':_0x3b38fd(0x206),'ryedm':_0x3b38fd(0x12a),'YycET':'OTHER','EUrZN':_0x3b38fd(0xf9),'mVAty':_0x3b38fd(0x207),'vrijQ':_0x3b38fd(0x21d),'YCHeb':function(_0x41b1ca,_0x41abc5){return _0x41b1ca(_0x41abc5);},'aYsfY':_0x3b38fd(0x129),'lvXUd':_0x3b38fd(0x1ad),'vgdYG':'mcp__ranger-browser__*','BzXLR':'json_schema','MgZwA':function(_0x4cf0d2,_0xe5e932){return _0x4cf0d2*_0xe5e932;},'jurIK':function(_0x226d8b,_0x578e6d){return _0x226d8b(_0x578e6d);}},_0x18bb3f=!!_0x30352e[_0x3b38fd(0xf8)];_0x18bb3f&&console['log']('\x0a[DEBUG\x20MODE]\x20Running\x20minimal\x20browser\x20test\x20with\x20outcome:\x20'+_0x30352e['debugOutcome']);_0x12de46['trackPhaseStart'](_0x191602['gOXIk']);const _0x2e3c00=await getActiveFeatureId();if(!_0x2e3c00)throw new Error(_0x191602[_0x3b38fd(0x1b8)]);const _0x11f751=await _0x191602[_0x3b38fd(0x1d7)](getFeature,_0x2e3c00);_0x12de46[_0x3b38fd(0x1e6)]({'featureId':_0x2e3c00});const _0x47e3a2=getGitBranch();_0x47e3a2&&_0x191602[_0x3b38fd(0x1ba)](_0x47e3a2,_0x11f751[_0x3b38fd(0x210)])&&(await _0x191602[_0x3b38fd(0x1eb)](updateFeature,_0x2e3c00,{'gitBranch':_0x47e3a2}),console[_0x3b38fd(0x221)](_0x3b38fd(0x1b9)+_0x47e3a2));console['log']('\x0aActive\x20feature\x20review:\x20'+_0x11f751[_0x3b38fd(0x228)]+'\x20('+_0x11f751['dashboardUrl']+')');const {items:_0x3faf4e}=await _0x191602['RotWx'](getActionItems,_0x2e3c00),_0x55f92f=new Map(_0x3faf4e[_0x3b38fd(0xf6)](_0x399c5c=>[_0x399c5c['id'],_0x399c5c])),_0x44019e=_0x11f751[_0x3b38fd(0xfa)]['map']((_0x7cd934,_0x1bfe3c)=>{const _0x38df65=_0x3b38fd,_0x2c5dc4=_0x55f92f[_0x38df65(0xf0)](_0x7cd934['id']);return{..._0x7cd934,'unaddressedCommentCount':_0x2c5dc4?.[_0x38df65(0x14e)]??0x0,'displayIndex':_0x1bfe3c,'actionable':!!_0x2c5dc4&&_0x7cd934['status']!==_0x191602[_0x38df65(0x145)]};});_0x12de46[_0x3b38fd(0x10f)]('feature_load',{'itemCount':_0x3faf4e[_0x3b38fd(0x19b)]}),_0x12de46['trackPhaseStart'](_0x3b38fd(0xff));let _0xcd3485=null,_0x5f2ced=_0x30352e[_0x3b38fd(0x194)];if(_0x191602[_0x3b38fd(0x1ba)](_0x30352e['scenario'],undefined)){const _0x191c39=_0x30352e['scenario']-0x1;if(_0x191602[_0x3b38fd(0x175)](_0x191c39,0x0)||_0x191602['GKLzO'](_0x191c39,_0x44019e[_0x3b38fd(0x19b)]))throw new Error('Invalid\x20scenario\x20index:\x20'+_0x30352e[_0x3b38fd(0x119)]+_0x3b38fd(0x13b)+_0x44019e[_0x3b38fd(0x19b)]+_0x3b38fd(0x226));const _0x474ef5=_0x44019e[_0x191c39];if(!_0x474ef5['actionable']){const _0x56ce80=_0x191602['Hdczi'](_0x474ef5[_0x3b38fd(0x14a)],_0x191602['rzaPi'])&&_0x474ef5[_0x3b38fd(0x131)]?_0x474ef5['terminalReason']:_0x3b38fd(0x180);throw new Error(_0x3b38fd(0x192)+_0x30352e[_0x3b38fd(0x119)]+_0x3b38fd(0x121)+_0x56ce80+'\x20and\x20cannot\x20be\x20verified.\x20Choose\x20a\x20different\x20scenario.');}const _0x1f7a21=_0x55f92f[_0x3b38fd(0xf0)](_0x474ef5['id']);if(!_0x1f7a21)throw new Error('Scenario\x20'+_0x30352e[_0x3b38fd(0x119)]+_0x3b38fd(0x1fa));_0xcd3485=_0x1f7a21,!_0x5f2ced&&(_0x5f2ced=_0xcd3485['description']);}else{const _0x1a71e2=process['stdin'][_0x3b38fd(0x149)]&&process[_0x3b38fd(0x174)][_0x3b38fd(0x149)];if(!_0x1a71e2){console[_0x3b38fd(0x221)](_0x191602[_0x3b38fd(0x10c)]),console['log'](_0x191602[_0x3b38fd(0x111)]),_0x44019e['forEach'](_0x3bb0b4=>{const _0x52af15=_0x3b38fd,_0x8b541=_0x3bb0b4[_0x52af15(0x14a)]===_0x191602[_0x52af15(0x145)]&&_0x191602[_0x52af15(0x173)](_0x3bb0b4['terminalReason'],_0x52af15(0x116))?'✅':_0x3bb0b4[_0x52af15(0x14a)]===_0x191602['oamKB']?'🟢':_0x191602[_0x52af15(0x173)](_0x3bb0b4[_0x52af15(0x14a)],_0x191602['EuddI'])?'🟠':_0x191602[_0x52af15(0xf2)](_0x3bb0b4[_0x52af15(0x14a)],_0x191602[_0x52af15(0x1b0)])?'🛑':_0x3bb0b4['status']===_0x191602['rzaPi']?'⛔':_0x3bb0b4['status']===_0x52af15(0x1da)?'⏳':'⬜',_0x1f9451=_0x3bb0b4['unaddressedCommentCount']>0x0?'\x20['+_0x3bb0b4['unaddressedCommentCount']+'\x20comments]':'',_0xa87955=_0x3bb0b4[_0x52af15(0x1cc)]?'':_0x52af15(0x13d);console['log']('\x20\x20'+(_0x3bb0b4[_0x52af15(0x164)]+0x1)+'.\x20'+_0x8b541+'\x20'+_0x3bb0b4[_0x52af15(0x205)]+_0x1f9451+_0xa87955);}),console[_0x3b38fd(0x221)](_0x3b38fd(0x218)),console['log'](_0x191602[_0x3b38fd(0x1f9)]);throw new Error(_0x191602['yvyOd']);}const _0x51621c=await _0x191602[_0x3b38fd(0x1d7)](selectChecklistItem,_0x44019e);if(_0x51621c){const _0xf17d8c=_0x55f92f[_0x3b38fd(0xf0)](_0x51621c['id']);if(!_0xf17d8c)throw new Error(_0x191602['PMcMm']);_0xcd3485=_0xf17d8c,!_0x5f2ced&&(_0x5f2ced=_0xcd3485[_0x3b38fd(0x205)]);}}if(!_0xcd3485)throw new Error(_0x191602['VbVsT']);if(_0x191602['Hdczi'](_0xcd3485[_0x3b38fd(0x14a)],_0x191602[_0x3b38fd(0x145)]))throw new Error(_0x3b38fd(0xef)+_0xcd3485[_0x3b38fd(0x205)]+'\x22\x20—\x20it\x20is\x20concluded\x20('+(_0xcd3485[_0x3b38fd(0x131)]||_0x3b38fd(0x177))+').');if(!_0x5f2ced)throw new Error(_0x191602[_0x3b38fd(0x1c2)]);_0x12de46['setContext']({'checklistItemId':_0xcd3485['id']}),_0x12de46['trackPhaseEnd'](_0x191602[_0x3b38fd(0x202)],{'selectionMethod':_0x191602['nCSNX'](_0x30352e['scenario'],undefined)?_0x191602[_0x3b38fd(0x1d6)]:_0x3b38fd(0x1ee),'itemStatus':_0xcd3485['status']}),console['log'](_0x3b38fd(0x130)+_0xcd3485['description']),console[_0x3b38fd(0x221)]('Notes:\x20'+_0x5f2ced);let _0x560e06=null;if(_0xcd3485['parentItemId']||_0xcd3485['unaddressedCommentCount']>0x0)try{_0x560e06=await getItemFeedback(_0x2e3c00,_0xcd3485['id']),_0x191602['Tjxrj'](_0x560e06['unaddressedComments']['length'],0x0)&&console['log']('Reviewer\x20feedback:\x20'+_0x560e06['unaddressedComments'][_0x3b38fd(0x19b)]+_0x3b38fd(0x18f));}catch(_0x2cb9ca){await _0x12de46[_0x3b38fd(0x1e4)](_0x191602[_0x3b38fd(0x1a9)],_0x2cb9ca);}if(_0x11f751[_0x3b38fd(0x117)]&&_0x191602['DMvHx'](_0x11f751['currentSession'][_0x3b38fd(0x14a)],_0x191602['HsipZ'])&&_0x11f751['currentSessionId'])try{await startSession(_0x2e3c00,_0x11f751['currentSessionId']);}catch(_0x51e8d7){const _0x457a7f=_0x191602[_0x3b38fd(0x142)](_0x51e8d7,Error)?_0x51e8d7['message']:_0x191602[_0x3b38fd(0x11c)](String,_0x51e8d7);if(!_0x457a7f['includes']('already'))throw _0x51e8d7;}await updateChecklistItem(_0x2e3c00,_0xcd3485['id'],{'status':_0x3b38fd(0x1da)}),_0x12de46['trackPhaseStart'](_0x3b38fd(0x1c9));let _0x293225=null;_0x30352e[_0x3b38fd(0x1aa)]?_0x293225=_0x30352e[_0x3b38fd(0x1aa)]:_0x293225=await _0x191602['gzYaF'](readActiveProfileName);if(!_0x293225)throw new Error(_0x3b38fd(0xf1));const _0x3399e3=_0x191602['fexTj'](getEnvDir,_0x293225);if(!existsSync(_0x3399e3))throw new Error(_0x3b38fd(0xed)+_0x293225+'\x22\x20not\x20found.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x293225);const _0x2fdc30=await _0x191602['BLbjz'](loadSettings,_0x293225),_0x222fa3=resolveEnvVars(_0x2fdc30),_0x5cb4d4=Boolean(_0x222fa3[_0x3b38fd(0x1f3)]);let _0x3ecc45=_0x222fa3['baseUrl'];if(!_0x3ecc45&&!_0x5cb4d4)throw new Error('No\x20baseUrl\x20configured\x20for\x20profile\x20\x22'+_0x293225+_0x3b38fd(0x120)+_0x293225+'\x20baseUrl\x20<url>');if(!_0x5cb4d4&&_0x30352e[_0x3b38fd(0x17a)]&&_0x3ecc45){const _0x3b7930=_0x3ecc45['endsWith']('/')?_0x3ecc45[_0x3b38fd(0x190)](0x0,-0x1):_0x3ecc45,_0x2d075f=_0x30352e[_0x3b38fd(0x17a)]['startsWith']('/')?_0x30352e[_0x3b38fd(0x17a)]:_0x191602['DSAlQ']('/',_0x30352e['startPath']);_0x3ecc45=_0x191602['MBKzT'](_0x3b7930,_0x2d075f);}_0x12de46[_0x3b38fd(0x10f)](_0x191602['ZBKnn'],{'profileName':_0x293225}),_0x12de46['trackPhaseStart'](_0x191602[_0x3b38fd(0x17f)]);const _0x44174c=await getToken();if(!_0x44174c)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x35f518=await _0x191602['fexTj'](createBrowserSession,{'environmentName':_0x293225,'settings':_0x222fa3,'task':_0x5f2ced,'url':_0x3ecc45,'featureId':_0x2e3c00,'checklistItemId':_0xcd3485['id']});console[_0x3b38fd(0x221)]('Browser\x20session\x20created:\x20'+_0x35f518['id']),_0x12de46['setContext']({'browserSessionId':_0x35f518['id']}),await updateChecklistItem(_0x2e3c00,_0xcd3485['id'],{'browserSessionId':_0x35f518['id']}),_0x12de46[_0x3b38fd(0x10f)]('browser_session_create'),_0x12de46[_0x3b38fd(0x1cd)](_0x3b38fd(0x1dc));let _0x924ef0,_0x46ef88;try{_0x46ef88=await _0x191602[_0x3b38fd(0x113)](getProxySessionToken);}catch(_0x3f7e7b){const _0x255124=_0x191602[_0x3b38fd(0x181)](_0x3f7e7b,Error)?_0x3f7e7b[_0x3b38fd(0x20e)]:_0x191602[_0x3b38fd(0x21c)](String,_0x3f7e7b),_0x54597d='Failed\x20to\x20fetch\x20proxy\x20session\x20token:\x20'+_0x255124;try{await updateBrowserSession(_0x35f518['id'],{'status':_0x191602['rSbiz'],'durationMs':0x0,'errorMessage':_0x54597d});}catch(_0x50928e){await _0x12de46['trackPhaseError']('session_error_update',_0x50928e);}throw new Error(_0x54597d);}_0x924ef0=await buildPlaywrightConfig(_0x222fa3,_0x293225,_0x35f518?.['id']),_0x12de46['trackPhaseEnd'](_0x191602['jamQb']);const _0x1e2517=Date[_0x3b38fd(0x197)](),_0x51ca21={'command':_0x3b38fd(0x1e3),'args':[_0x191602['wQosc'],_0x3b38fd(0x148),_0x191602['FtPjF'],_0x924ef0['configPath']]};let _0x3d8cbf;if(_0x18bb3f){let _0x69ffd5='';if(_0x560e06&&_0x191602['oxMQA'](_0x560e06['unaddressedComments'][_0x3b38fd(0x19b)],0x0)){const _0x3b5235=_0x560e06[_0x3b38fd(0x13a)]['map'](_0x4e5337=>'-\x20['+_0x4e5337['id']+']\x20\x22'+_0x4e5337['content']+'\x22')[_0x3b38fd(0x1e2)]('\x0a'),_0x5a37a2=_0x30352e['debugAddressComments']?_0x191602['EOrdY']:_0x191602[_0x3b38fd(0x159)];_0x69ffd5=_0x3b38fd(0x1b7)+_0x5a37a2+'\x0a\x0a'+_0x3b5235;}_0x3d8cbf=getDebugPrompt()+_0x69ffd5;}else{const _0x4a6403=_0xcd3485[_0x3b38fd(0x194)]?_0x3b38fd(0x199)+_0xcd3485[_0x3b38fd(0x194)]:'';let _0x1d3ae5='';if(_0x560e06&&_0x560e06['unaddressedComments'][_0x3b38fd(0x19b)]>0x0){const _0x21cea4=_0x560e06['unaddressedComments'][_0x3b38fd(0xf6)](_0x2493bd=>{const _0xc9ae68=_0x3b38fd,_0x19d5f1=new Date(_0x2493bd[_0xc9ae68(0x16c)])[_0xc9ae68(0x1db)]('en-US',{'month':_0xc9ae68(0x1d1),'day':_0x191602[_0xc9ae68(0x11a)]}),_0x3955c9=_0x2493bd['authorName']||_0x2493bd[_0xc9ae68(0x107)]||_0x191602['JOqLw'];return _0xc9ae68(0x12e)+_0x2493bd['id']+']\x20**'+_0x3955c9+_0xc9ae68(0x1bb)+_0x19d5f1+_0xc9ae68(0x1ae)+_0x2493bd[_0xc9ae68(0x106)]+'\x22';})['join']('\x0a');_0x1d3ae5='\x0a\x0a##\x20Reviewer\x20Feedback\x20to\x20Address\x0aThe\x20following\x20reviewer\x20comments\x20were\x20left\x20on\x20the\x20previous\x20version\x20of\x20this\x20item.\x0aVerify\x20that\x20each\x20concern\x20has\x20been\x20addressed\x20in\x20the\x20current\x20implementation.\x0aFor\x20each\x20comment\x20you\x20believe\x20has\x20been\x20addressed,\x20include\x20its\x20ID\x20(the\x20bracketed\x20value)\x20in\x20the\x20addressedCommentIds\x20array\x20in\x20your\x20output.\x0a\x0a'+_0x21cea4;}let _0x53eff9='';_0x560e06?.['canonicalFlow']&&(_0x53eff9='\x0a\x0a##\x20Expected\x20Flow\x20(from\x20previous\x20verification)\x0a'+_0x560e06[_0x3b38fd(0x160)]);const _0x3fc12b=_0x5cb4d4?'##\x20App\x20Context\x0aYou\x20are\x20connected\x20to\x20a\x20desktop\x20application\x20via\x20CDP\x20(Chrome\x20DevTools\x20Protocol)\x20at\x20'+_0x222fa3['cdpEndpoint']+'.\x0aThis\x20is\x20NOT\x20a\x20web\x20app\x20—\x20there\x20is\x20no\x20URL\x20to\x20navigate\x20to.\x20The\x20app\x20is\x20already\x20running\x20and\x20connected.':'CRITICAL\x20URL\x20REQUIREMENT:\x0aYour\x20base\x20URL\x20is:\x20'+_0x3ecc45+'\x0a-\x20You\x20may\x20ONLY\x20navigate\x20to\x20paths\x20under\x20this\x20base\x20URL\x20(same\x20protocol,\x20host,\x20and\x20port)\x0a-\x20For\x20example,\x20if\x20the\x20base\x20URL\x20is\x20\x22http://localhost:3000\x22,\x20you\x20can\x20navigate\x20to\x20\x22http://localhost:3000/home\x22,\x20\x22http://localhost:3000/settings\x22,\x20etc.\x0a-\x20DO\x20NOT\x20navigate\x20to\x20any\x20different\x20domain,\x20host,\x20or\x20port\x20under\x20any\x20circumstances\x0a-\x20IGNORE\x20any\x20URLs\x20from\x20product\x20documentation\x20(mcp__ranger__get_product_docs)\x20that\x20have\x20a\x20different\x20base\x20URL\x0a-\x20If\x20documentation\x20or\x20code\x20diffs\x20suggest\x20a\x20path\x20exists\x20(e.g.,\x20\x22/dashboard\x22),\x20you\x20may\x20navigate\x20to\x20that\x20path\x20ONLY\x20under\x20the\x20base\x20URL\x20above\x0a-\x20The\x20base\x20URL\x20above\x20is\x20the\x20ONLY\x20authorized\x20profile\x20for\x20this\x20verification',_0xfd5290=_0x5cb4d4?'##\x20Instructions\x0a1.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20current\x20state\x20of\x20the\x20app\x0a2.\x20Execute\x20the\x20task\x20step-by-step\x20using\x20browser\x20tools\x20(click,\x20type,\x20etc.)\x0a3.\x20**Take\x20screenshots\x20at\x20key\x20moments**\x20(see\x20Screenshot\x20Guidelines\x20below)\x0a4.\x20Document\x20any\x20issues\x20found\x20(bugs,\x20errors,\x20unexpected\x20behavior)\x0a5.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario':'##\x20Instructions\x0a1.\x20Navigate\x20to\x20the\x20URL\x20above\x20using\x20browser_navigate\x0a2.\x20Take\x20a\x20snapshot\x20with\x20browser_snapshot\x20to\x20see\x20the\x20page\x0a3.\x20**IMMEDIATELY\x20check\x20for\x20blocking\x20HTTP\x20errors\x20before\x20proceeding**\x0a4.\x20Execute\x20the\x20task\x20step-by-step\x20using\x20browser\x20tools\x0a5.\x20**Take\x20screenshots\x20at\x20key\x20moments**\x20(see\x20Screenshot\x20Guidelines\x20below)\x0a6.\x20Document\x20any\x20issues\x20found\x20(bugs,\x20errors,\x20unexpected\x20behavior)\x0a7.\x20After\x20completing\x20the\x20verification,\x20evaluate\x20whether\x20the\x20result\x20adequately\x20verifies\x20the\x20scenario',_0x58a323=_0x5cb4d4?'\x0a\x0a##\x20Critical:\x20Early\x20Error\x20Detection\x0aAfter\x20taking\x20the\x20initial\x20snapshot,\x20IMMEDIATELY\x20check\x20for\x20blocking\x20errors:\x0a\x0a**Blocking\x20errors\x20to\x20detect:**\x0a-\x20Crash\x20or\x20error\x20dialogs\x20(\x22An\x20error\x20occurred\x22,\x20\x22Something\x20went\x20wrong\x22,\x20unhandled\x20exception\x20messages)\x0a-\x20Blank\x20or\x20empty\x20window\x20with\x20no\x20rendered\x20content\x0a-\x20Framework\x20error\x20boundaries\x20(React\x20error\x20page,\x20Electron\x20crash\x20reporter)\x0a-\x20Unresponsive\x20or\x20frozen\x20UI\x20(no\x20interactive\x20elements\x20in\x20snapshot)\x0a\x0a**If\x20ANY\x20blocking\x20error\x20is\x20detected:**\x0a1.\x20DO\x20NOT\x20continue\x20with\x20the\x20task\x0a2.\x20Return\x20IMMEDIATELY\x20with\x20evaluation:\x20\x22blocked\x22\x0a3.\x20Set\x20evaluationReason\x20to\x20describe\x20the\x20specific\x20error\x20(e.g.,\x20\x22App\x20crashed\x20—\x20error\x20dialog\x20visible\x20on\x20launch\x22)\x0a4.\x20Include\x20the\x20error\x20in\x20issues\x20array\x20with\x20severity:\x20\x22BLOCKER\x22\x20and\x20type:\x20\x22APP_ERROR\x22\x0a\x0aThis\x20early\x20exit\x20prevents\x20wasting\x20time\x20on\x20tasks\x20that\x20cannot\x20succeed\x20due\x20to\x20fundamental\x20errors.':_0x3b38fd(0x219);_0x3d8cbf=_0x3b38fd(0x138)+_0xcd3485[_0x3b38fd(0x205)]+_0x4a6403+_0x1d3ae5+_0x53eff9+'\x0a\x0a##\x20Task\x20to\x20Execute\x0a'+_0x5f2ced+'\x0a\x0a'+_0x3fc12b+'\x0a\x0a'+_0xfd5290+'\x0a\x0a##\x20Screenshot\x20Guidelines\x20-\x20IMPORTANT\x0aTake\x20screenshots\x20throughout\x20the\x20verification\x20flow\x20so\x20a\x20human\x20can\x20review\x20it\x20for\x20completeness.\x20Screenshots\x20are\x20your\x20evidence\x20trail.\x0a\x0a**When\x20to\x20take\x20screenshots\x20(use\x20browser_take_screenshot):**\x0a-\x20After\x20the\x20initial\x20snapshot\x20(capture\x20starting\x20state)\x0a-\x20Before\x20and\x20after\x20clicking\x20buttons\x20or\x20submitting\x20forms\x0a-\x20When\x20important\x20UI\x20elements\x20appear\x20(modals,\x20notifications,\x20loading\x20states)\x0a-\x20After\x20navigating\x20to\x20different\x20views\x20or\x20pages\x0a-\x20When\x20verifying\x20specific\x20elements\x20exist\x0a-\x20At\x20the\x20final\x20state\x20showing\x20the\x20completed\x20action\x0a\x0a**Screenshot\x20naming:**\x0a-\x20Use\x20descriptive\x20filenames:\x20\x2201_initial-state.png\x22,\x20\x2202_button-clicked.png\x22,\x20\x2203_result-visible.png\x22\x0a-\x20Number\x20prefixes\x20(01_,\x2002_,\x20etc.)\x20help\x20maintain\x20chronological\x20order\x0a-\x20For\x20KEY\x20MOMENTS\x20that\x20prove\x20the\x20scenario\x20is\x20complete,\x20prefix\x20with\x20\x22key_\x22:\x20\x22key_04_success-state.png\x22\x0a-\x20The\x20\x22key_\x22\x20prefix\x20marks\x20screenshots\x20as\x20high-priority\x20evidence\x20for\x20human\x20reviewers\x0a\x0a**Aim\x20for\x203-6\x20screenshots\x20per\x20verification**\x20to\x20document\x20the\x20complete\x20flow.\x20Mark\x201-2\x20of\x20the\x20most\x20important\x20ones\x20with\x20the\x20\x22key_\x22\x20prefix.\x0a'+_0x58a323+_0x3b38fd(0x123);}const _0xad7dd8={'type':_0x191602['CalSV'],'properties':{'success':{'type':_0x191602[_0x3b38fd(0x1a5)]},'summary':{'type':'string'},'evaluation':{'type':'string','enum':['verified','partial','blocked',_0x191602[_0x3b38fd(0x1ce)]]},'evaluationReason':{'type':_0x191602[_0x3b38fd(0x1d0)]},'issues':{'type':_0x191602[_0x3b38fd(0x1af)],'items':{'type':_0x3b38fd(0x137),'properties':{'severity':{'type':_0x191602[_0x3b38fd(0x1d0)],'enum':[_0x191602['NFZQz'],_0x191602['cNCaP'],_0x3b38fd(0x1d3)]},'type':{'type':_0x191602[_0x3b38fd(0x1d0)],'enum':['HTTP_404','HTTP_500',_0x3b38fd(0x1b6),_0x191602[_0x3b38fd(0x134)],_0x191602[_0x3b38fd(0x18c)]]},'description':{'type':_0x191602['nyghw']},'screenshot':{'type':_0x191602['nyghw']}},'required':[_0x191602[_0x3b38fd(0x1fe)],_0x3b38fd(0x205)]}},'addressedCommentIds':{'type':_0x3b38fd(0x211),'description':_0x191602['mVAty'],'items':{'type':_0x191602[_0x3b38fd(0x1d0)]}}},'required':[_0x191602['RBBIo'],_0x191602['vrijQ'],_0x3b38fd(0x127),'evaluationReason']};_0x12de46['trackPhaseStart'](_0x3b38fd(0x167));const _0x169352=_0x191602[_0x3b38fd(0x21c)](getTraceDirectory,_0x35f518['id']),_0x36af18=createScreenshotUploadHook(_0x35f518['id'],_0xcd3485['id'],_0x169352,_0x12de46),_0x276769=createToolCallTrackingHook(_0x12de46),_0x2f4a84=_0x191602[_0x3b38fd(0x1d7)](createToolFailureHook,_0x12de46),_0x2f6c5c=_0x191602['YCHeb'](query,{'prompt':_0x3d8cbf,'options':{'cwd':process[_0x3b38fd(0x1be)](),'model':_0x191602['aYsfY'],'mcpServers':{'ranger-browser':_0x51ca21},'tools':['mcp__ranger-browser__*'],'permissionMode':_0x191602['lvXUd'],'allowedTools':[_0x191602[_0x3b38fd(0x146)],_0x3b38fd(0x152),_0x3b38fd(0x1fc),'Grep'],'outputFormat':{'type':_0x191602['BzXLR'],'schema':_0xad7dd8},'hooks':{'PostToolUse':[{'hooks':[_0x276769['hook'],_0x36af18[_0x3b38fd(0x20a)]]}],'PostToolUseFailure':[{'hooks':[_0x2f4a84]}]},'env':{...process['env'],'ANTHROPIC_API_KEY':_0x46ef88,'ANTHROPIC_BASE_URL':getAiProxyUrl()},'persistSession':![]}});let _0x4e2536=null,_0x17c955=null,_0x4c4e47=null,_0xea8a72={};const _0x3a52ae=_0x191602['BLbjz'](getConversationFilePath,_0x35f518['id']),_0x568d38=dirname(_0x3a52ae);await _0x191602[_0x3b38fd(0x1eb)](mkdir,_0x568d38,{'recursive':!![]});const _0x4194f2=_0x191602[_0x3b38fd(0x112)](0x3b,0x3c)*0x3e8,_0x5efea4=new Promise((_0xf73501,_0xc3db34)=>{const _0x948756={'ZeGKQ':function(_0x210e2c,_0x1941f5){const _0x453aa1=_0x4a68;return _0x191602[_0x453aa1(0x1d7)](_0x210e2c,_0x1941f5);}};setTimeout(()=>{const _0x20caa0=_0x4a68;_0x948756[_0x20caa0(0x20f)](_0xc3db34,new Error('Agent\x20execution\x20timed\x20out\x20after\x2059\x20minutes'));},_0x4194f2);});try{await Promise[_0x3b38fd(0x1a6)]([((async()=>{const _0x16d8b7=_0x3b38fd;for await(const _0x1100b7 of _0x2f6c5c){try{const _0x515fe1=JSON[_0x16d8b7(0x1cb)](_0x1100b7)+'\x0a';await _0x191602['CQnRn'](appendFile,_0x3a52ae,_0x515fe1,_0x191602['MunRI']);}catch{}const _0x285791=_0x1100b7;if(_0x191602['DMvHx'](_0x285791[_0x16d8b7(0x12f)],_0x191602['uKFrb'])&&_0x285791['message']?.[_0x16d8b7(0x106)])for(const _0x443363 of _0x285791['message']['content']){_0x191602[_0x16d8b7(0x173)](_0x443363['type'],'tool_use')&&_0x443363[_0x16d8b7(0x228)]===_0x191602['yCoIW']&&_0x443363['input']&&(_0x4c4e47=_0x443363['input']);}if(_0x285791[_0x16d8b7(0x15c)]){let _0x38a09a=_0x285791['error'];if(_0x285791[_0x16d8b7(0x20e)]?.['content']&&Array['isArray'](_0x285791[_0x16d8b7(0x20e)]['content'])){const _0x1a3529=_0x285791[_0x16d8b7(0x20e)]['content'][_0x16d8b7(0x1c1)](_0x47261b=>_0x47261b['type']==='text')[_0x16d8b7(0xf6)](_0x54bfed=>_0x54bfed['text']||'')[_0x16d8b7(0x1c1)](Boolean);_0x191602[_0x16d8b7(0x166)](_0x1a3529[_0x16d8b7(0x19b)],0x0)&&(_0x38a09a=_0x1a3529['join']('\x20'));}_0x17c955=_0x38a09a;}if(_0x191602[_0x16d8b7(0xf2)](_0x285791['type'],_0x191602[_0x16d8b7(0x17d)])){_0xea8a72={'numTurns':_0x285791[_0x16d8b7(0x10e)],'totalCostUsd':_0x285791['total_cost_usd'],'durationApiMs':_0x285791['duration_api_ms'],'sdkDurationMs':_0x285791[_0x16d8b7(0x229)],'inputTokens':_0x285791[_0x16d8b7(0x1d4)]?.[_0x16d8b7(0x178)],'outputTokens':_0x285791['usage']?.[_0x16d8b7(0x10b)],'cacheReadTokens':_0x285791['usage']?.['cache_read_input_tokens'],'cacheCreationTokens':_0x285791['usage']?.[_0x16d8b7(0x14c)]};if(_0x191602[_0x16d8b7(0xf2)](_0x285791['subtype'],_0x191602['RBBIo'])&&_0x1100b7['structured_output'])_0x4e2536=_0x1100b7['structured_output'];else{if(_0x285791['subtype']!==_0x16d8b7(0x188)){if(_0x4c4e47&&_0x285791[_0x16d8b7(0x140)]?.[_0x16d8b7(0x19b)]===0x0)_0x4e2536=_0x4c4e47,_0x17c955=null;else!_0x17c955&&(_0x17c955=_0x285791[_0x16d8b7(0x140)]?.['join'](',\x20')||_0x16d8b7(0x12b));}}}}})()),_0x5efea4]);}catch(_0xae3be4){_0x17c955=_0x191602['MPwuR'](_0xae3be4,Error)?_0xae3be4['message']:_0x191602[_0x3b38fd(0x1e1)](String,_0xae3be4);}const _0x2b6492=Date[_0x3b38fd(0x197)]()-_0x1e2517;return _0x12de46['trackPhaseEnd']('agent_execution',{..._0xea8a72,'toolCallCounts':Object['fromEntries'](_0x276769['toolCallCounts']),'hasResult':!!_0x4e2536,'hasError':!!_0x17c955}),{'featureId':_0x2e3c00,'checklistItem':_0xcd3485,'browserSession':_0x35f518,'finalResult':_0x4e2536,'agentError':_0x17c955,'lastStructuredOutputInput':_0x4c4e47,'screenshotHook':_0x36af18,'toolCallCounts':_0x276769[_0x3b38fd(0x20b)],'configResult':_0x924ef0,'startTime':_0x1e2517,'durationMs':_0x2b6492,'conversationFilePath':_0x3a52ae,'conversationDir':_0x568d38,'isDebugMode':_0x18bb3f,'debugOutcome':_0x30352e['debugOutcome'],'debugAddressComments':_0x30352e[_0x3b38fd(0x1ea)],'resultMeta':_0xea8a72,'telemetry':_0x12de46,'feedbackCommentIds':_0x560e06?_0x560e06[_0x3b38fd(0x13a)][_0x3b38fd(0xf6)](_0x40ed62=>_0x40ed62['id']):[]};}async function processVerificationResult(_0x236cbd){const _0x359c57=_0x9cc6fa,_0x225486={'wPiOc':function(_0x287a9d,_0x25ffab){return _0x287a9d(_0x25ffab);},'wDYzN':'zip','WoGwV':_0x359c57(0x1b5),'gLZfL':function(_0x1e14d1,_0xdd8810){return _0x1e14d1(_0xdd8810);},'LfXhF':function(_0x24e15d,_0x2d61a6){return _0x24e15d(_0x2d61a6);},'AJbID':function(_0x2d98c6,_0x5fcff6,_0x2e7b8d,_0x362ba6){return _0x2d98c6(_0x5fcff6,_0x2e7b8d,_0x362ba6);},'fesjl':function(_0x26413a,_0x4e7fce,_0x1d3d5a){return _0x26413a(_0x4e7fce,_0x1d3d5a);},'ohCRy':function(_0x4a369a,_0x22a1e1){return _0x4a369a+_0x22a1e1;},'CPqEn':function(_0x29e9a7,_0x40b4c9){return _0x29e9a7<_0x40b4c9;},'gdegL':'key_','hZFHe':_0x359c57(0x168),'Eareg':function(_0x27eecd,_0x9989bd,_0x42d879){return _0x27eecd(_0x9989bd,_0x42d879);},'wVYRR':'Screenshot\x20captured\x20during\x20verification','lsoia':_0x359c57(0x188),'gWSJc':_0x359c57(0x21f),'LbFMQ':'conversation.jsonl','bpVoA':'upload_conversation','PkDpR':_0x359c57(0x1fd),'YtUrz':function(_0x3d5b17,_0x2fc3fb){return _0x3d5b17&&_0x2fc3fb;},'ydpFX':_0x359c57(0x15a),'ukXcN':_0x359c57(0x224),'TrHMB':'No\x20result\x20received\x20from\x20agent','wFlkg':'scenario_update','YHuea':function(_0x13ad68,_0x5bfb64){return _0x13ad68===_0x5bfb64;},'EoCPK':'verified','uVUVn':'blocked','qNNft':function(_0x298065,_0xd27ca2,_0x3b5ed9,_0x171322){return _0x298065(_0xd27ca2,_0x3b5ed9,_0x171322);},'xBwqc':function(_0x1c9460,_0x2053ea,_0x5a16af,_0x3e7d3a){return _0x1c9460(_0x2053ea,_0x5a16af,_0x3e7d3a);},'CJide':'comment_addressing'},{featureId:_0x4406a1,checklistItem:_0x279398,browserSession:_0x36c922,screenshotHook:_0x4b7d09,durationMs:_0x17d2e6,conversationFilePath:_0x4a4b00,isDebugMode:_0x23fb8b,debugOutcome:_0x303e25,debugAddressComments:_0x372a1e,telemetry:_0x5aafb0,feedbackCommentIds:_0x3109d4}=_0x236cbd,{finalResult:_0x5605f6,agentError:_0x1055aa}=_0x236cbd;let _0x2d9cbf;try{const _0x46364b=getTraceDirectory(_0x36c922['id']);if(_0x225486['wPiOc'](existsSync,_0x46364b)){const _0x354a25=await _0x225486[_0x359c57(0x13c)](readdir,_0x46364b);if(_0x354a25['length']>0x0){_0x5aafb0[_0x359c57(0x1cd)]('upload_trace');try{const _0x4ec379=await getUploadUrls(_0x36c922['id'],_0x359c57(0x1b4),_0x225486[_0x359c57(0x15e)]),_0x79ba29=await zipDirectory(_0x46364b);await uploadTrace(_0x4ec379[_0x359c57(0x1ab)],_0x79ba29),_0x2d9cbf=_0x4ec379['downloadUrl'],_0x5aafb0[_0x359c57(0x10f)](_0x225486['WoGwV'],{'bytes':_0x79ba29['length']});}catch(_0x4c6ac6){await _0x5aafb0['trackPhaseError']('upload_trace',_0x4c6ac6);}const _0x305f18=await _0x225486[_0x359c57(0x110)](loadSessionVideos,_0x46364b);for(const _0x30bc6c of _0x305f18){_0x5aafb0[_0x359c57(0x1cd)]('upload_video',{'filename':_0x30bc6c['filename']});try{try{fixWebmDuration(_0x30bc6c['path'],_0x30bc6c['path']);}catch{}const _0x7e7fd5=await _0x225486['LfXhF'](readFile,_0x30bc6c['path']),_0x2c6abe=await _0x225486[_0x359c57(0x195)](getUploadUrls,_0x36c922['id'],_0x30bc6c['filename'],_0x359c57(0x1a1));await _0x225486[_0x359c57(0x200)](uploadVideo,_0x2c6abe['uploadUrl'],_0x7e7fd5),_0x5aafb0['trackPhaseEnd'](_0x359c57(0x1e7),{'filename':_0x30bc6c['filename'],'bytes':_0x7e7fd5[_0x359c57(0x19b)]});}catch(_0x3a18db){await _0x5aafb0[_0x359c57(0x1e4)]('upload_video',_0x3a18db,{'filename':_0x30bc6c[_0x359c57(0x216)]});}}const _0xb9e0d0=_0x354a25['filter'](_0x9ad48b=>_0x9ad48b[_0x359c57(0x1a8)]()['endsWith'](_0x359c57(0x1c0)))['filter'](_0xfc341d=>!_0x4b7d09[_0x359c57(0x1c3)]['has'](_0xfc341d))[_0x359c57(0x101)](),_0x2a5d36=_0x225486['ohCRy'](_0x4b7d09['uploadedFiles'][_0x359c57(0x1d9)],0x1);for(let _0x2b7f19=0x0;_0x225486['CPqEn'](_0x2b7f19,_0xb9e0d0[_0x359c57(0x19b)]);_0x2b7f19++){const _0x4dbca7=_0xb9e0d0[_0x2b7f19],_0x596b37=_0x4dbca7['toLowerCase']()['startsWith'](_0x225486['gdegL']);_0x5aafb0['trackPhaseStart'](_0x225486[_0x359c57(0x1e0)],{'filename':_0x4dbca7,'isKeyFrame':_0x596b37});try{const _0x8232b7=_0x225486[_0x359c57(0x200)](join,_0x46364b,_0x4dbca7),_0x54ad36=await readFile(_0x8232b7),_0x77a838=await stat(_0x8232b7),_0x53e7fa=_0x4dbca7[_0x359c57(0x1dd)](/\.png$/i,'')[_0x359c57(0x1dd)](/^key_/i,'')[_0x359c57(0x1dd)](/^\d+_/,'')['replace'](/-/g,'\x20'),{step:_0x1825b4}=await _0x225486['Eareg'](createVerificationStep,_0x36c922['id'],{'checklistItemId':_0x279398['id'],'position':_0x225486['ohCRy'](_0x2a5d36,_0x2b7f19),'stepType':_0x359c57(0x147),'stepName':_0x53e7fa,'description':_0x596b37?_0x359c57(0xee):_0x225486[_0x359c57(0x1a4)],'isKeyStep':_0x596b37,'status':_0x225486[_0x359c57(0x16a)],'metadata':{'filename':_0x4dbca7,'timestamp':_0x77a838['mtime'][_0x359c57(0x14d)]()}}),_0x24c184=await createStepAsset(_0x36c922['id'],_0x1825b4['id'],{'filename':_0x4dbca7,'assetType':'screenshot','timing':_0x225486['gWSJc'],'position':0x0,'capturedAt':_0x77a838[_0x359c57(0x1bd)]['toISOString'](),'metadata':{'name':_0x53e7fa,'highPriority':_0x596b37}});await uploadScreenshot(_0x24c184['uploadUrl'],_0x54ad36),_0x5aafb0['trackPhaseEnd']('upload_screenshot',{'filename':_0x4dbca7,'bytes':_0x54ad36[_0x359c57(0x19b)]});}catch(_0x233444){await _0x5aafb0[_0x359c57(0x1e4)]('upload_screenshot',_0x233444,{'filename':_0x4dbca7});}}}}if(_0x225486['gLZfL'](existsSync,_0x4a4b00)){_0x5aafb0[_0x359c57(0x1cd)]('upload_conversation');try{const _0x3029f0=await getUploadUrls(_0x36c922['id'],_0x225486[_0x359c57(0x1f0)],'jsonl'),_0x344ab1=await readFile(_0x4a4b00);await _0x225486['Eareg'](uploadConversation,_0x3029f0[_0x359c57(0x1ab)],_0x344ab1),_0x5aafb0['trackPhaseEnd'](_0x225486['bpVoA'],{'bytes':_0x344ab1['length']});}catch(_0x4b9fa1){await _0x5aafb0[_0x359c57(0x1e4)](_0x359c57(0x176),_0x4b9fa1);}}_0x5aafb0[_0x359c57(0x1cd)]('update_session');try{const _0x7f00bb=_0x5605f6,_0xe1130a={'status':_0x1055aa?_0x359c57(0x139):_0x225486[_0x359c57(0x198)],'durationMs':_0x17d2e6,'agentResponse':_0x7f00bb?.[_0x359c57(0x21d)]||_0x1055aa||undefined,'errorMessage':_0x1055aa||undefined};await updateBrowserSession(_0x36c922['id'],_0xe1130a);if(_0x225486[_0x359c57(0x104)](_0x7f00bb,_0x2d9cbf)){const _0x42bbb4=_0x225486[_0x359c57(0x1f8)]['split']('|');let _0x4cf08e=0x0;while(!![]){switch(_0x42bbb4[_0x4cf08e++]){case'0':_0x7f00bb['durationMs']=_0x17d2e6;continue;case'1':_0x7f00bb['sessionId']=_0x36c922['id'];continue;case'2':_0x7f00bb['checklistItemId']=_0x279398['id'];continue;case'3':_0x7f00bb[_0x359c57(0x122)]=_0x225486[_0x359c57(0x1ff)](buildTraceViewerUrl,_0x2d9cbf);continue;case'4':_0x7f00bb[_0x359c57(0x1fb)]=getTraceDirectory(_0x36c922['id']);continue;}break;}}_0x5aafb0['trackPhaseEnd'](_0x225486[_0x359c57(0x1f5)]);}catch(_0x57a1cd){await _0x5aafb0[_0x359c57(0x1e4)](_0x225486['ukXcN'],_0x57a1cd);}}catch{}_0x5aafb0['trackPhaseStart'](_0x359c57(0x127));let _0x285978;if(_0x225486['YtUrz'](_0x23fb8b,_0x303e25)){const _0x3232cd=_0x225486['LfXhF'](getMockEvaluation,_0x303e25),_0x1f3e9a=_0x5605f6;_0x285978={..._0x3232cd,'sessionId':_0x36c922['id'],'sessionDir':getTraceDirectory(_0x36c922['id']),'durationMs':_0x17d2e6,'traceViewerUrl':_0x2d9cbf?buildTraceViewerUrl(_0x2d9cbf):undefined,'checklistItemId':_0x279398['id'],'addressedCommentIds':_0x1f3e9a?.['addressedCommentIds']??[]},console['log']('\x0a[DEBUG\x20MODE]\x20Using\x20mock\x20evaluation:\x20'+_0x303e25);}else{const _0x59681b=_0x5605f6;if(_0x1055aa&&!_0x59681b)throw new Error('Verification\x20failed:\x20'+_0x1055aa);if(!_0x59681b)throw new Error(_0x225486[_0x359c57(0x165)]);_0x285978=_0x59681b;}_0x5aafb0['trackPhaseEnd']('evaluation',{'evaluation':_0x285978['evaluation'],'issueCount':_0x285978[_0x359c57(0x17e)]?.['length']??0x0}),_0x5aafb0[_0x359c57(0x1cd)](_0x225486['wFlkg']);const _0x34da3b=_0x285978['evaluation'];if(_0x225486['YHuea'](_0x34da3b,_0x225486[_0x359c57(0x1c4)]))await updateChecklistItem(_0x4406a1,_0x279398['id'],{'status':'verified','browserSessionId':_0x36c922['id']}),console[_0x359c57(0x221)](_0x359c57(0x21a));else{if(_0x225486['YHuea'](_0x34da3b,_0x225486[_0x359c57(0x1ef)])){await _0x225486[_0x359c57(0x11f)](updateChecklistItem,_0x4406a1,_0x279398['id'],{'status':'blocked','browserSessionId':_0x36c922['id'],'blockedReason':_0x285978['evaluationReason']}),console['log']('\x0a'+'='['repeat'](0x3c)),console[_0x359c57(0x221)](_0x359c57(0x1bc)),console['log'](''+'='[_0x359c57(0xec)](0x3c)),console['log']('\x0aIssue:\x20'+_0x285978['evaluationReason']);if(_0x285978['issues']?.[_0x359c57(0x19b)]){console['log'](_0x359c57(0x109));for(const _0x41a302 of _0x285978['issues']){const _0x534aaa=_0x41a302['type']?'\x20('+_0x41a302['type']+')':'';console[_0x359c57(0x221)]('\x20\x20-\x20['+_0x41a302[_0x359c57(0xf9)]+']'+_0x534aaa+'\x20'+_0x41a302['description']);}}_0x285978[_0x359c57(0x122)]&&console['log'](_0x359c57(0x16f)+_0x285978[_0x359c57(0x122)]),console['log']('\x0aSuggested\x20action:\x20Debug\x20this\x20issue\x20in\x20your\x20code,\x20then\x20run\x20go\x20again.'),console['log']('='[_0x359c57(0xec)](0x3c)+'\x0a');}else(_0x34da3b===_0x359c57(0x222)||_0x34da3b==='failed'||_0x225486['YHuea'](_0x34da3b,'incomplete'))&&(await updateChecklistItem(_0x4406a1,_0x279398['id'],{'status':'incomplete','browserSessionId':_0x36c922['id'],'incompleteReason':_0x285978['evaluationReason']}),await handleIncompleteItem(_0x4406a1,_0x279398,_0x285978));}_0x5aafb0['trackPhaseEnd'](_0x225486['wFlkg'],{'newStatus':_0x34da3b}),_0x5aafb0[_0x359c57(0x1cd)]('comment_addressing',{'totalFeedbackComments':_0x3109d4['length'],'agentAddressedCount':_0x285978['addressedCommentIds']?.['length']??0x0});const _0x30fe0d=_0x285978[_0x359c57(0xfd)]?.[_0x359c57(0x1c1)](_0x983d4e=>_0x3109d4['includes'](_0x983d4e));if(_0x30fe0d&&_0x30fe0d[_0x359c57(0x19b)]>0x0)try{await _0x225486['xBwqc'](markCommentsAddressed,_0x4406a1,_0x279398['id'],_0x30fe0d),console['log'](_0x359c57(0x189)+_0x30fe0d['length']+_0x359c57(0x196)),_0x5aafb0['trackPhaseEnd'](_0x225486[_0x359c57(0x208)],{'addressedCount':_0x30fe0d['length']});}catch(_0x88eac7){await _0x5aafb0[_0x359c57(0x1e4)](_0x225486['CJide'],_0x88eac7);}else _0x5aafb0[_0x359c57(0x10f)](_0x225486[_0x359c57(0x208)],{'addressedCount':0x0});return _0x285978;}export async function verifyFeature(_0x56fb5c){const _0x2e3606=_0x9cc6fa,_0x24110a={'mHKNV':'interrupted','jKtKr':function(_0x1d05ac,_0xcb9cbb){return _0x1d05ac-_0xcb9cbb;},'cLiWZ':function(_0x1831bc,_0x435953){return _0x1831bc-_0x435953;},'HKstL':function(_0x34bea6){return _0x34bea6();},'rpimT':'SIGINT','jCqui':_0x2e3606(0x161),'mJAnB':function(_0x29f237,_0x39eb5f,_0x6be983){return _0x29f237(_0x39eb5f,_0x6be983);},'yayEc':function(_0x4c4d18,_0xb9665f){return _0x4c4d18(_0xb9665f);},'SdnGC':function(_0x1e5be5,_0x1ad571,_0x2b84f4,_0x5d3750){return _0x1e5be5(_0x1ad571,_0x2b84f4,_0x5d3750);},'Hlpfo':'pending','GRPKL':'cleanup'},_0x4c27ec=createTelemetryCollector('go');await _0x4c27ec[_0x2e3606(0x187)]({'hasProfile':!!_0x56fb5c[_0x2e3606(0x1aa)],'hasScenario':_0x56fb5c['scenario']!==undefined,'hasNotes':!!_0x56fb5c[_0x2e3606(0x194)],'isDebugMode':!!_0x56fb5c['debugOutcome']});const {envNames:_0x26b409}=await _0x24110a['HKstL'](getEnvNames);if(_0x26b409[_0x2e3606(0x19b)]===0x0)throw new Error(formatProfileRequiredMessage(_0x36c41f=>bold(_0x36c41f)));let _0x41ace6,_0x512ad2=![],_0x2c771f=![];const _0x37ee90=async()=>{const _0x38e2e4=_0x2e3606,_0x4a333c=_0x38e2e4(0x212)['split']('|');let _0x49ea71=0x0;while(!![]){switch(_0x4a333c[_0x49ea71++]){case'0':if(_0x512ad2)return;continue;case'1':_0x512ad2=!![];continue;case'2':if(_0x41ace6){try{await updateBrowserSession(_0x41ace6[_0x38e2e4(0x1e9)]['id'],{'status':_0x24110a[_0x38e2e4(0x1c6)],'durationMs':_0x24110a['jKtKr'](Date[_0x38e2e4(0x197)](),_0x41ace6[_0x38e2e4(0x17c)])});}catch{}try{await updateChecklistItem(_0x41ace6[_0x38e2e4(0x169)],_0x41ace6[_0x38e2e4(0x20d)]['id'],{'status':_0x38e2e4(0x128)});}catch{}if(_0x41ace6['configResult'])try{await cleanupTempFiles(_0x41ace6[_0x38e2e4(0x1bf)]);}catch{}}continue;case'3':console[_0x38e2e4(0x221)]('\x0aVerification\x20interrupted.\x20Cleaning\x20up...');continue;case'4':console['log'](_0x38e2e4(0x186));continue;case'5':await _0x4c27ec[_0x38e2e4(0x14b)](_0x24110a['mHKNV'],{'durationMs':_0x41ace6?_0x24110a[_0x38e2e4(0x1d5)](Date[_0x38e2e4(0x197)](),_0x41ace6['startTime']):0x0});continue;case'6':process[_0x38e2e4(0x1f7)](0x0);continue;}break;}};process['on'](_0x24110a['rpimT'],_0x37ee90),process['on'](_0x24110a[_0x2e3606(0x227)],_0x37ee90);try{_0x41ace6=await _0x24110a[_0x2e3606(0xf5)](runVerification,_0x56fb5c,_0x4c27ec),await _0x4c27ec['flush']();const _0x3db0b2=await _0x24110a['yayEc'](processVerificationResult,_0x41ace6);return _0x2c771f=!![],await _0x4c27ec['trackCommandEnd'](_0x2e3606(0x188),{'evaluation':_0x3db0b2['evaluation'],'durationMs':_0x41ace6['durationMs'],..._0x41ace6['resultMeta']}),_0x3db0b2;}catch(_0x144391){await _0x4c27ec['trackCommandError'](_0x144391);throw _0x144391;}finally{process['removeListener'](_0x2e3606(0x15f),_0x37ee90),process[_0x2e3606(0x1d2)](_0x24110a[_0x2e3606(0x227)],_0x37ee90);if(_0x41ace6&&!_0x512ad2&&!_0x2c771f)try{await _0x24110a['SdnGC'](updateChecklistItem,_0x41ace6['featureId'],_0x41ace6[_0x2e3606(0x20d)]['id'],{'status':_0x24110a['Hlpfo']}),console['log'](_0x2e3606(0x115));}catch(_0x109915){await _0x4c27ec[_0x2e3606(0x1e4)]('scenario_reset',_0x109915);}if(_0x41ace6){_0x4c27ec['trackPhaseStart'](_0x24110a['GRPKL']);_0x41ace6[_0x2e3606(0x1bf)]&&await cleanupTempFiles(_0x41ace6[_0x2e3606(0x1bf)]);try{const _0x31029e=getTraceDirectory(_0x41ace6['browserSession']['id']);_0x24110a['yayEc'](existsSync,_0x31029e)&&await _0x24110a[_0x2e3606(0xf5)](rm,_0x31029e,{'recursive':!![],'force':!![]});}catch{}try{_0x41ace6[_0x2e3606(0x125)]&&existsSync(_0x41ace6['conversationDir'])&&await rm(_0x41ace6[_0x2e3606(0x125)],{'recursive':!![],'force':!![]});}catch{}_0x4c27ec[_0x2e3606(0x10f)]('cleanup');}await _0x4c27ec['flush']();}}
|