@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 2.5.4-alpha.bc88254-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +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/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- 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/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.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/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.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/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.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/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +5 -4
- package/build/skills/ranger/verify.md +15 -3
- package/package.json +1 -1
package/build/commands/addEnv.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x39af40,_0x51ebd3){const _0x36e04c=_0x44c6,_0x2940a5=_0x39af40();while(!![]){try{const _0x356da7=-parseInt(_0x36e04c(0x192))/0x1+parseInt(_0x36e04c(0x1a6))/0x2+-parseInt(_0x36e04c(0x1d4))/0x3+parseInt(_0x36e04c(0x19d))/0x4*(-parseInt(_0x36e04c(0x1a3))/0x5)+-parseInt(_0x36e04c(0x181))/0x6*(parseInt(_0x36e04c(0x20f))/0x7)+-parseInt(_0x36e04c(0x1b1))/0x8*(-parseInt(_0x36e04c(0x1b2))/0x9)+-parseInt(_0x36e04c(0x209))/0xa*(-parseInt(_0x36e04c(0x1ba))/0xb);if(_0x356da7===_0x51ebd3)break;else _0x2940a5['push'](_0x2940a5['shift']());}catch(_0x282451){_0x2940a5['push'](_0x2940a5['shift']());}}}(_0x1fea,0x26dbd));import{mkdir,writeFile,readFile,unlink,rm,mkdtemp,rename}from'fs/promises';import{join}from'path';import _0x3acde3 from'inquirer';import{chromium}from'playwright';import{findExistingEnv,loadSettings}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';function _0x44c6(_0x38c416,_0x38b7b3){_0x38c416=_0x38c416-0x181;const _0x1feada=_0x1fea();let _0x44c666=_0x1feada[_0x38c416];return _0x44c666;}import{getToken}from'./utils/keychain.js';function _0x1fea(){const _0x28dd66=['\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.','about:blank','length','skipAuth','status','profile.add.autoRouted','\x20would\x20shadow\x20the\x20existing\x20profile.',')\x0a\x20\x20Save\x20\x27','\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20profile\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.','GXzsN','overwrite','zZSxc','trackPhaseEnd','confirm','user_declined','--cdp-endpoint\x20must\x20not\x20be\x20empty.\x20Provide\x20the\x20CDP\x20URL,\x20e.g.\x20--cdp-endpoint\x20http://localhost:9222','This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','launch','TypeError','NODE_TLS_REJECT_UNAUTHORIZED','QHeRk','\x0a🔌\x20CDP\x20Profile\x20Setup\x0a','safeMode','xUICp','prompt','some','env','zUwgf','no_match','eIDiD','\x20\x20Make\x20sure\x20your\x20Electron\x20app\x20(or\x20browser)\x20is\x20running\x20with\x20remote\x20debugging\x20enabled.\x0a','\x27\x20to\x20the\x20cloud?','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','Found\x20auth\x20environment\x20\x27','Warning:\x20Profile\x20created,\x20but\x20failed\x20to\x20mark\x20it\x20as\x20active.','JyIUg','ROLwS','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','eqwqX','action','PPijp','origin','trim','catch','KIcGe','Pdzmi','XQoKa','HGpDo','Saving\x20authentication\x20state...','path','list','\x27.\x0a','217740GgDwSo','close','continue','root\x20(.ranger/)','vezid','use_suggestion','287JBHwqW','isTTY','HwNQz','log','\x0a\x20\x20Could\x20not\x20reach\x20','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20at\x20','\x20\x20Make\x20sure\x20your\x20app\x20is\x20running\x20locally\x20before\x20continuing.','What\x20is\x20the\x20URL\x20of\x20your\x20running\x20app?','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20backup\x20at\x20','12858PGgjFu','--disable-features=WebBluetooth','Invalid\x20--setup-header\x20format:\x20\x22','\x0a\x20\x20Profile\x20\x22','ssGYI','\x20\x20\x20Creating\x20it\x20in\x20','yes','\x22\x20already\x20exists.\x20Overwrite?','baseUrl','\x20\x20Next:\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--profile\x20','ofPcS','SKJdK','KBRWk','\x27\x20created,\x20linked\x20to\x20env\x20\x27','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','newPage','\x20\x20Set\x20active\x20profile:\x20','77965rqSJSa','environments','TqOmJ','setupHeader','WVKZl','mIbQE','dpLXo','message','JHQPm','profile.add.autoRouteSkipped','QCEiO','4nRmdeD','cdpEndpoint','trackPhaseStart','ETcoj','retry','saveToCloud','47020PyIQkL','setupHeaders','fetch\x20failed','94926LEghnS','FbEWI','FgvDJ','error','ZGPKi','config_write','newContext','allowInsecureLocalhost','uPgQj','.backup-','Could\x20not\x20reach\x20','21640AbjmWT','54bYNLYi','isProtocolError','assign','\x0a\x20\x20Still\x20could\x20not\x20reach\x20','auth.json','CsGFQ','\x20\x20\x20If\x20you\x20are\x20an\x20agent,\x20background\x20this\x20process\x20and\x20let\x20your\x20user\x20know\x20they\x20need\x20to\x20complete\x20browser\x20authentication.\x0a','\x20\x20Did\x20you\x20mean\x20','143VYvpPn','WMlJJ','HqooE','url_setup','location','\x0aMake\x20sure\x20your\x20app\x20is\x20running,\x20then\x20try\x20again.\x20To\x20skip\x20this\x20check,\x20pass\x20--force.','\x22\x20already\x20exists.\x20Choose\x20a\x20different\x20name\x20or\x20delete\x20the\x20existing\x20profile\x20first.','Use\x20','push','QtcIp','uHSav','uuFfM','No\x20auth\x20env\x20matches\x20this\x20URL.\x20Creating\x20local\x20profile.','name','\x0a⚠️\x20\x20Profile\x20\x22','Enter\x20a\x20new\x20URL\x20(or\x20press\x20enter\x20to\x20keep\x20current):','daHwy','test','force','no_auth_config','TiDzV','Removed\x20existing\x20profile\x20at\x20','includes','url','What\x20would\x20you\x20like\x20to\x20do?','zfWir','37074vzofLD'];_0x1fea=function(){return _0x28dd66;};return _0x1fea();}import{getRangerDir,getRangerHomeDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';import{fetchAuthConfig,createCloudProfile,ApiError}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';async function checkUrlReachability(_0x290b8c){const _0x37f9e4=_0x44c6,_0x4b047c={'jQLOC':function(_0x39ad30,_0x4cb759,_0x26f3ff){return _0x39ad30(_0x4cb759,_0x26f3ff);},'uPgQj':function(_0x592d11,_0x5dbb3){return _0x592d11(_0x5dbb3);},'zSFLA':_0x37f9e4(0x1a5)};try{const _0xd4091c=new AbortController(),_0x5f1a01=_0x4b047c['jQLOC'](setTimeout,()=>_0xd4091c['abort'](),0x1388),_0x39ea44={'method':'HEAD','signal':_0xd4091c['signal'],'redirect':'manual'};/^https:\/\/localhost(:\d+)?/i['test'](_0x290b8c)&&(process['env']['NODE_TLS_REJECT_UNAUTHORIZED']='0');const _0xaa8fd3=await fetch(_0x290b8c,_0x39ea44);delete process['env'][_0x37f9e4(0x1e8)],_0x4b047c[_0x37f9e4(0x1ae)](clearTimeout,_0x5f1a01);if(_0xaa8fd3[_0x37f9e4(0x1d9)]<0x190)return{'ok':!![]};return{'ok':![],'error':'HTTP\x20'+_0xaa8fd3['status']};}catch(_0x33e515){delete process[_0x37f9e4(0x1ef)][_0x37f9e4(0x1e8)];const _0x1072a1=_0x33e515,_0x2d2851=_0x1072a1[_0x37f9e4(0x199)]||_0x4b047c['uPgQj'](String,_0x33e515),_0x5ccb5b=_0x2d2851[_0x37f9e4(0x1d0)]('Invalid\x20URL')||_0x1072a1[_0x37f9e4(0x1c7)]===_0x37f9e4(0x1e7)||_0x2d2851['includes'](_0x4b047c['zSFLA']);return{'ok':![],'error':_0x2d2851,'isProtocolError':_0x5ccb5b};}}async function tryAutoRouteCloudProfile(_0x2fcb65,_0x3f9e80,_0x41e55e,_0x2aadd1,_0x33846f){const _0x424414=_0x44c6,_0x1290f4={'rmwFC':function(_0x422244,_0xa41401){return _0x422244===_0xa41401;},'QCEiO':function(_0x1f107c){return _0x1f107c();},'XQoKa':'profile.add.autoRouteSkipped','CLbgA':function(_0x38be61,_0x4acc7e,_0x4a2a49){return _0x38be61(_0x4acc7e,_0x4a2a49);},'fTBVN':_0x424414(0x1e2),'wkejO':function(_0x31dd25,_0x5ed385){return _0x31dd25 instanceof _0x5ed385;},'HqooE':function(_0x32cb24,_0x31ff76){return _0x32cb24===_0x31ff76;},'gfDGL':_0x424414(0x1da)};let _0x4f44f6;try{_0x4f44f6=await _0x1290f4[_0x424414(0x19c)](fetchAuthConfig);}catch{return _0x33846f?.[_0x424414(0x1e1)](_0x1290f4['XQoKa'],{'reason':'no_auth_config','profileName':_0x2fcb65}),![];}if(!_0x4f44f6||!_0x4f44f6[_0x424414(0x193)]||Object['keys'](_0x4f44f6[_0x424414(0x193)])['length']===0x0)return _0x33846f?.['trackPhaseEnd'](_0x1290f4[_0x424414(0x203)],{'reason':_0x424414(0x1cd),'profileName':_0x2fcb65}),![];const _0x60c70b=_0x1290f4['CLbgA'](matchAuthEnvironment,_0x3f9e80,_0x4f44f6);if(!_0x60c70b)return console['log'](_0x424414(0x1c6)),_0x33846f?.[_0x424414(0x1e1)](_0x424414(0x19b),{'reason':_0x424414(0x1f1),'profileName':_0x2fcb65}),![];const _0x5e3f28=_0x4f44f6['environments'][_0x60c70b],_0x4e14b7=_0x5e3f28?.['domains']??[];if(_0x2aadd1&&!_0x41e55e[_0x424414(0x187)]){const {saveToCloud:_0xaf7b8b}=await _0x3acde3['prompt']([{'type':_0x1290f4['fTBVN'],'name':_0x424414(0x1a2),'message':_0x424414(0x1f6)+_0x60c70b+'\x27\x20matching\x20'+_0x3f9e80+'\x0a\x20\x20(domains:\x20'+_0x4e14b7['join'](',\x20')+_0x424414(0x1dc)+_0x2fcb65+_0x424414(0x1f4),'default':!![]}]);if(!_0xaf7b8b)return _0x33846f?.['trackPhaseEnd'](_0x1290f4['XQoKa'],{'reason':_0x424414(0x1e3),'profileName':_0x2fcb65}),![];}const _0x17a20e=_0x4e14b7[_0x424414(0x1ee)](_0x223456=>{const _0x205588=_0x424414;try{return _0x1290f4['rmwFC'](new URL(_0x223456)[_0x205588(0x1fe)],new URL(_0x3f9e80)['origin']);}catch{return![];}}),_0x53920f={};!_0x17a20e&&(_0x53920f[_0x424414(0x189)]=_0x3f9e80);try{await createCloudProfile(_0x2fcb65,_0x60c70b,_0x53920f);}catch(_0x1db24d){if(_0x1290f4['wkejO'](_0x1db24d,ApiError)&&_0x1290f4[_0x424414(0x1bc)](_0x1db24d[_0x424414(0x1d9)],0x199)){console[_0x424414(0x1a9)]('\x0a\x20\x20A\x20cloud\x20profile\x20named\x20\x22'+_0x2fcb65+_0x424414(0x1c0));throw _0x1db24d;}return console['log']('\x20\x20Could\x20not\x20reach\x20Ranger\x20API\x20to\x20create\x20a\x20cloud\x20profile\x20('+(_0x1db24d instanceof Error?_0x1db24d['message']:String(_0x1db24d))+').\x20Falling\x20back\x20to\x20local\x20profile.'),_0x33846f?.['trackPhaseEnd'](_0x1290f4[_0x424414(0x203)],{'reason':'no_auth_config','profileName':_0x2fcb65}),![];}return console[_0x424414(0x212)]('✓\x20Cloud\x20profile\x20\x27'+_0x2fcb65+_0x424414(0x18e)+_0x60c70b+_0x424414(0x208)+(_0x424414(0x18a)+_0x2fcb65)),_0x33846f?.[_0x424414(0x1e1)](_0x1290f4['gfDGL'],{'envKey':_0x60c70b,'profileName':_0x2fcb65}),!![];}export async function addEnv(_0x2dced6,_0x492aaa={},_0x526fad){const _0x23a0e5=_0x44c6,_0x28d35d={'TiDzV':function(_0x20ad41){return _0x20ad41();},'FgvDJ':'local','ROLwS':'user','roqsm':function(_0x58fe2d){return _0x58fe2d();},'IOhTP':function(_0x1893d5,_0x8229f1,_0x373b8d,_0x14bab2){return _0x1893d5(_0x8229f1,_0x373b8d,_0x14bab2);},'ZRMSP':function(_0x431623,_0x2d76db){return _0x431623===_0x2d76db;},'uuFfM':_0x23a0e5(0x1e4),'FbEWI':function(_0x5d4237,_0x200f59){return _0x5d4237(_0x200f59);},'JUcUW':function(_0x1bce75,_0x45cac4,_0x591b8c,_0x174460,_0x5796a4,_0x3ba3e7){return _0x1bce75(_0x45cac4,_0x591b8c,_0x174460,_0x5796a4,_0x3ba3e7);},'daHwy':'confirm','TqOmJ':_0x23a0e5(0x1df),'JzTFY':function(_0x24a3a4,_0x211613){return _0x24a3a4===_0x211613;},'Pdzmi':_0x23a0e5(0x20c),'MwJwz':'shouldReplace','OatCp':_0x23a0e5(0x1bd),'WMlJJ':'\x0a🌐\x20Profile\x20Setup\x0a','SKJdK':_0x23a0e5(0x215),'ZGPKi':'\x20\x20Ranger\x20will\x20open\x20it\x20in\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20and\x20save\x20your\x20session.\x0a','CsGFQ':'input','GXzsN':_0x23a0e5(0x1c9),'KBRWk':function(_0x26351a,_0x28fd54){return _0x26351a||_0x28fd54;},'QtcIp':'http://localhost:3000','ofPcS':_0x23a0e5(0x20e),'zUwgf':_0x23a0e5(0x1a1),'tIfej':'Continue\x20anyway','BzTAq':_0x23a0e5(0x20b),'JHQPm':function(_0x27b5f3,_0x3d1ebc){return _0x27b5f3(_0x3d1ebc);},'PPijp':function(_0x27606d,_0x3ee415,_0xcaa737){return _0x27606d(_0x3ee415,_0xcaa737);},'HwNQz':function(_0x596952,_0x47eb59,_0x2069b5){return _0x596952(_0x47eb59,_0x2069b5);},'zGIBK':_0x23a0e5(0x1b6),'HGpDo':'browser_auth','eIDiD':_0x23a0e5(0x1dd),'vezid':'\x0a\x20\x20\x20⚠\x20This\x20step\x20requires\x20human\x20interaction\x20in\x20a\x20browser.','oEbsz':_0x23a0e5(0x1b8),'JyIUg':_0x23a0e5(0x182),'vlKxv':function(_0x33db16,_0x44b801){return _0x33db16>_0x44b801;},'zZSxc':function(_0x5402b1,_0x156039){return _0x5402b1>_0x156039;},'ETcoj':function(_0x5c9214,_0x27a811){return _0x5c9214||_0x27a811;},'YjxOd':_0x23a0e5(0x1e5),'bDVuA':function(_0x431acd,_0x22683d){return _0x431acd(_0x22683d);},'uHSav':'Missing\x20API\x20token;\x20aborting\x20CI\x20profile\x20creation.','ZpJeb':function(_0x583bc7,_0x1591e5,_0x136415){return _0x583bc7(_0x1591e5,_0x136415);},'WVKZl':function(_0x7181e7,_0x393780,_0x2c2bcc){return _0x7181e7(_0x393780,_0x2c2bcc);},'JMTOX':'.enc','ssGYI':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','zfWir':'settings.json','VNLte':function(_0x1f4128,_0x52ff78,_0x46c475){return _0x1f4128(_0x52ff78,_0x46c475);},'xUICp':function(_0x5ce891,_0x30db21){return _0x5ce891===_0x30db21;},'QHeRk':function(_0x4f2c17,_0x5957d6,_0x5b2e24){return _0x4f2c17(_0x5957d6,_0x5b2e24);},'KIcGe':function(_0xb55c66,_0x1db19b,_0x4f4260){return _0xb55c66(_0x1db19b,_0x4f4260);},'MdtPK':function(_0xbf99d,_0x319bdc){return _0xbf99d(_0x319bdc);},'eqwqX':_0x23a0e5(0x1f7),'dpLXo':_0x23a0e5(0x1ab),'mIbQE':function(_0x3b076e,_0x1bf311,_0x525bed){return _0x3b076e(_0x1bf311,_0x525bed);}},_0x5d044e=_0x492aaa['ci']??![],_0x5135ab=_0x5d044e?'ci':_0x28d35d[_0x23a0e5(0x1a8)],_0x5a145d=_0x492aaa['scope']===_0x28d35d[_0x23a0e5(0x1f9)]?getRangerHomeDir():_0x28d35d['roqsm'](getRangerDir),_0x4e3a5e=_0x28d35d['IOhTP'](join,_0x5a145d,_0x5135ab,_0x2dced6),_0x3c9a6d={};if(_0x492aaa[_0x23a0e5(0x195)])for(const _0x3c0d00 of _0x492aaa[_0x23a0e5(0x195)]){const _0x3a5234=_0x3c0d00['indexOf'](':');if(_0x3a5234===-0x1)throw new Error(_0x23a0e5(0x183)+_0x3c0d00+'\x22.\x20Expected\x20\x22Name:\x20Value\x22.');const _0x46bafb=_0x3c0d00['slice'](0x0,_0x3a5234)[_0x23a0e5(0x1ff)](),_0x4e9ab7=_0x3c0d00['slice'](_0x3a5234+0x1)[_0x23a0e5(0x1ff)]();_0x3c9a6d[_0x46bafb]=_0x4e9ab7;}const _0x471b1a=join(_0x5a145d,_0x5135ab);if(_0x492aaa['cdpEndpoint']!==undefined&&_0x28d35d['ZRMSP'](_0x492aaa[_0x23a0e5(0x19e)][_0x23a0e5(0x1ff)](),''))throw new Error(_0x28d35d[_0x23a0e5(0x1c5)]);if(_0x492aaa[_0x23a0e5(0x19e)]&&_0x492aaa[_0x23a0e5(0x1d1)])throw new Error('--url\x20and\x20--cdp-endpoint\x20are\x20mutually\x20exclusive.\x20Use\x20--url\x20for\x20web\x20apps\x20or\x20--cdp-endpoint\x20for\x20Electron/CDP\x20apps,\x20not\x20both.');if(_0x492aaa['cdpEndpoint']&&_0x492aaa['ci'])throw new Error('--ci\x20and\x20--cdp-endpoint\x20cannot\x20be\x20used\x20together.\x20Electron/CDP\x20profiles\x20only\x20work\x20with\x20a\x20locally\x20running\x20app\x20and\x20are\x20not\x20supported\x20in\x20CI.');const _0x2d7900=_0x28d35d[_0x23a0e5(0x1a7)](Boolean,_0x492aaa[_0x23a0e5(0x19e)]),_0x3e4a14=!_0x492aaa[_0x23a0e5(0x1d8)]&&!_0x2d7900,_0x2b629d=process['stdin'][_0x23a0e5(0x210)]&&process['stdout']['isTTY'];if(!_0x2b629d&&!_0x492aaa['url']&&!_0x2d7900)throw new Error('Please\x20provide\x20--url\x20when\x20running\x20in\x20non-interactive\x20mode.\x0aMake\x20sure\x20the\x20service\x20is\x20running\x20on\x20that\x20port\x20before\x20retrying.\x0aExample:\x20ranger\x20profile\x20add\x20local\x20--url\x20http://localhost:3000');if(!_0x5d044e&&!_0x492aaa[_0x23a0e5(0x1d8)]&&!_0x2d7900&&_0x492aaa[_0x23a0e5(0x1d1)]){const _0x4331a8=await _0x28d35d['JUcUW'](tryAutoRouteCloudProfile,_0x2dced6,_0x492aaa['url'],_0x492aaa,_0x2b629d,_0x526fad);if(_0x4331a8)return;}const _0x2e89ca=findExistingEnv(_0x2dced6,{'rangerDir':_0x5a145d});let _0x10296e=null;if(_0x2e89ca){if(!_0x2b629d)_0x10296e=_0x2e89ca;else{if(_0x28d35d['ZRMSP'](_0x2e89ca[_0x23a0e5(0x1be)],_0x5135ab)){const {overwrite:_0x2427da}=await _0x3acde3[_0x23a0e5(0x1ed)]([{'type':_0x28d35d['daHwy'],'name':_0x28d35d[_0x23a0e5(0x194)],'message':'Profile\x20\x22'+_0x2dced6+_0x23a0e5(0x188),'default':![]}]);if(!_0x2427da){console['log']('Aborted.');return;}_0x10296e=_0x2e89ca;}else{const _0x14659b=_0x28d35d['JzTFY'](_0x2e89ca[_0x23a0e5(0x1be)],'legacy')?_0x28d35d[_0x23a0e5(0x202)]:_0x2e89ca[_0x23a0e5(0x1be)];console['error'](_0x23a0e5(0x1c8)+_0x2dced6+'\x22\x20already\x20exists\x20in\x20'+_0x14659b+':\x20'+_0x2e89ca[_0x23a0e5(0x206)]),console[_0x23a0e5(0x1a9)](_0x23a0e5(0x186)+_0x5135ab+_0x23a0e5(0x1db));const {shouldReplace:_0x2322d0}=await _0x3acde3['prompt']([{'type':_0x28d35d[_0x23a0e5(0x1ca)],'name':_0x28d35d['MwJwz'],'message':'Delete\x20existing\x20and\x20create\x20new\x20in\x20'+_0x5135ab+'?','default':![]}]);if(!_0x2322d0){console[_0x23a0e5(0x212)]('Aborted.');return;}_0x10296e=_0x2e89ca;}}}_0x526fad?.['trackPhaseStart'](_0x28d35d['OatCp']);let _0x179e1b='';if(_0x2d7900)console[_0x23a0e5(0x212)](_0x23a0e5(0x1ea)),console[_0x23a0e5(0x212)]('\x20\x20Configuring\x20Ranger\x20to\x20connect\x20to:\x20'+_0x492aaa['cdpEndpoint']),console[_0x23a0e5(0x212)](_0x23a0e5(0x1f3));else{if(_0x492aaa['url']){_0x179e1b=_0x492aaa[_0x23a0e5(0x1d1)];const _0xf5f85e=await _0x28d35d[_0x23a0e5(0x1a7)](checkUrlReachability,_0x179e1b);if(!_0xf5f85e['ok']&&!_0x492aaa[_0x23a0e5(0x1cc)])throw new Error(_0x23a0e5(0x1b0)+_0x179e1b+':\x20'+_0xf5f85e[_0x23a0e5(0x1a9)]+_0x23a0e5(0x1bf));!_0xf5f85e['ok']&&_0x492aaa[_0x23a0e5(0x1cc)]&&console[_0x23a0e5(0x212)]('⚠\x20Could\x20not\x20reach\x20'+_0x179e1b+':\x20'+_0xf5f85e[_0x23a0e5(0x1a9)]+'\x20(continuing\x20with\x20--force)');}else{console[_0x23a0e5(0x212)](_0x28d35d[_0x23a0e5(0x1bb)]),console['log'](_0x28d35d[_0x23a0e5(0x18c)]),console[_0x23a0e5(0x212)](_0x28d35d[_0x23a0e5(0x1aa)]);let _0x4aced3=![];while(!![]){const _0x388a71=await _0x3acde3['prompt']([{'type':_0x28d35d[_0x23a0e5(0x1b7)],'name':_0x23a0e5(0x189),'message':_0x4aced3?_0x28d35d[_0x23a0e5(0x1de)]:_0x23a0e5(0x216),'default':_0x28d35d[_0x23a0e5(0x18d)](_0x179e1b,_0x28d35d[_0x23a0e5(0x1c3)])}]);_0x179e1b=_0x388a71[_0x23a0e5(0x189)];const _0x4cf228=await checkUrlReachability(_0x179e1b);if(_0x4cf228['ok'])break;const _0x4286e8=/^[a-zA-Z][\w+.-]*:\/\//['test'](_0x179e1b),_0x3880fb=_0x4cf228[_0x23a0e5(0x1b3)]&&!_0x4286e8,_0x55e211=_0x3880fb?'http://'+_0x179e1b:null;_0x4aced3=!![],console['log'](_0x23a0e5(0x213)+_0x179e1b+':\x20'+_0x4cf228['error']);_0x55e211&&console['log'](_0x23a0e5(0x1b9)+_0x55e211+'?');const {action:_0x10b49e}=await _0x3acde3['prompt']([{'type':_0x23a0e5(0x207),'name':_0x23a0e5(0x1fc),'message':_0x23a0e5(0x1d2),'choices':[..._0x55e211?[{'name':_0x23a0e5(0x1c1)+_0x55e211,'value':_0x28d35d[_0x23a0e5(0x18b)]}]:[],{'name':'Enter\x20a\x20different\x20URL','value':_0x28d35d[_0x23a0e5(0x1f0)]},{'name':_0x28d35d['tIfej'],'value':_0x28d35d['BzTAq']}]}]);if(_0x10b49e===_0x28d35d[_0x23a0e5(0x18b)]&&_0x55e211){_0x179e1b=_0x55e211;const _0x171e8f=await _0x28d35d[_0x23a0e5(0x1a7)](checkUrlReachability,_0x179e1b);if(_0x171e8f['ok'])break;console[_0x23a0e5(0x212)](_0x23a0e5(0x1b5)+_0x179e1b+':\x20'+_0x171e8f['error']);}else{if(_0x10b49e===_0x23a0e5(0x20b))break;}}}}_0x526fad?.['trackPhaseEnd'](_0x28d35d['OatCp']);const _0x381ead={};if(_0x10296e){const _0x150337=await _0x28d35d[_0x23a0e5(0x19a)](loadSettings,_0x2dced6);Object[_0x23a0e5(0x1b4)](_0x381ead,_0x150337['setupHeaders']);}Object['assign'](_0x381ead,_0x3c9a6d),await _0x28d35d[_0x23a0e5(0x1fd)](mkdir,_0x471b1a,{'recursive':!![]});const _0x2ed386=await _0x28d35d[_0x23a0e5(0x19a)](mkdtemp,_0x28d35d[_0x23a0e5(0x211)](join,_0x471b1a,'.tmp-'+_0x2dced6+'-')),_0x54ebaf=join(_0x2ed386,_0x28d35d['zGIBK']),_0x56d425=Boolean(_0x179e1b)&&/^https:\/\/localhost(:\d+)?/i[_0x23a0e5(0x1cb)](_0x179e1b);try{if(_0x3e4a14){_0x526fad?.[_0x23a0e5(0x19f)](_0x28d35d[_0x23a0e5(0x204)]),console['log']('\x0a📋\x20Authentication\x20Setup'),console['log'](_0x28d35d[_0x23a0e5(0x1f2)]),console['log']('\x20\x20\x20When\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.');!_0x2b629d?(console['log'](_0x28d35d[_0x23a0e5(0x20d)]),console['log'](_0x28d35d['oEbsz'])):console[_0x23a0e5(0x212)]('');await new Promise(_0x3e1d6a=>setTimeout(_0x3e1d6a,0xbb8));const _0xd1931e=[];_0x492aaa['safeMode']&&_0xd1931e[_0x23a0e5(0x1c2)](_0x28d35d[_0x23a0e5(0x1f8)]);const _0x148f21=_0x492aaa['allowInsecureLocalhost']||_0x56d425;_0x148f21&&_0xd1931e['push']('--allow-insecure-localhost');const _0x43e396=await chromium[_0x23a0e5(0x1e6)]({'headless':![],..._0x28d35d['vlKxv'](_0xd1931e['length'],0x0)?{'args':_0xd1931e}:{}});try{const _0x4c3558=_0x28d35d[_0x23a0e5(0x1e0)](Object['keys'](_0x381ead)['length'],0x0),_0x531b3d={'ignoreHTTPSErrors':!![]};_0x4c3558&&(_0x531b3d['extraHTTPHeaders']=_0x381ead);const _0x50dfe2=await _0x43e396[_0x23a0e5(0x1ac)](_0x531b3d);await _0x28d35d['JHQPm'](addProfileSetupBanner,_0x50dfe2);const _0x55fc4e=await _0x50dfe2[_0x23a0e5(0x190)]();await _0x55fc4e['goto'](_0x28d35d[_0x23a0e5(0x1a0)](_0x179e1b,_0x23a0e5(0x1d6)));let _0x271ba6=![];await new Promise(_0x4ead24=>{const _0x35053c=_0x23a0e5;_0x55fc4e['on'](_0x35053c(0x20a),async()=>{const _0x4650f7=_0x35053c;try{console['log'](_0x4650f7(0x205)),await _0x50dfe2['storageState']({'path':_0x54ebaf}),_0x271ba6=!![];}catch{}_0x28d35d[_0x4650f7(0x1ce)](_0x4ead24);});});if(!_0x271ba6){console[_0x23a0e5(0x212)](_0x23a0e5(0x1d5));!_0x492aaa['safeMode']&&(console[_0x23a0e5(0x212)](_0x28d35d['YjxOd']),console['log']('You\x20can\x20try\x20again\x20with\x20one\x20of:'),console['log']('\x20\x20ranger\x20profile\x20add\x20'+_0x2dced6+'\x20--safe-mode\x20\x20\x20\x20(disables\x20browser\x20features\x20that\x20can\x20cause\x20crashes)'),console[_0x23a0e5(0x212)]('\x20\x20ranger\x20profile\x20add\x20'+_0x2dced6+'\x20--skip-auth\x20\x20\x20\x20(skip\x20browser\x20auth\x20entirely)\x0a'));throw new Error(_0x23a0e5(0x1f5));}}finally{await _0x43e396[_0x23a0e5(0x20a)]()[_0x23a0e5(0x200)](()=>{});}if(_0x5d044e){const _0x3e9922=await readFile(_0x54ebaf,'utf-8'),_0x16ea73=await _0x28d35d['roqsm'](getToken);if(!_0x16ea73){console['error'](_0x23a0e5(0x1fa)),await _0x28d35d['bDVuA'](unlink,_0x54ebaf)[_0x23a0e5(0x200)](()=>{});throw new Error(_0x28d35d[_0x23a0e5(0x1c4)]);}else{const _0x28d89a=_0x28d35d['ZpJeb'](encrypt,_0x3e9922,_0x16ea73);await _0x28d35d['WVKZl'](writeFile,_0x54ebaf+_0x28d35d['JMTOX'],_0x28d89a),await unlink(_0x54ebaf),console[_0x23a0e5(0x212)](_0x23a0e5(0x18f)+_0x54ebaf+'.enc'),console[_0x23a0e5(0x212)](_0x28d35d[_0x23a0e5(0x185)]),console['log']('\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.');}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x54ebaf);_0x526fad?.[_0x23a0e5(0x1e1)]('browser_auth');}_0x526fad?.[_0x23a0e5(0x19f)](_0x23a0e5(0x1ab));const _0x390e30={};_0x179e1b&&(_0x390e30[_0x23a0e5(0x189)]=_0x179e1b);_0x492aaa[_0x23a0e5(0x19e)]&&(_0x390e30[_0x23a0e5(0x19e)]=_0x492aaa['cdpEndpoint'],_0x390e30['isElectron']=!![]);(_0x492aaa[_0x23a0e5(0x1ad)]||_0x56d425)&&(_0x390e30['allowInsecureLocalhost']=!![]);_0x492aaa[_0x23a0e5(0x1eb)]&&(_0x390e30[_0x23a0e5(0x1eb)]=!![]);Object['keys'](_0x381ead)[_0x23a0e5(0x1d7)]>0x0&&(_0x390e30[_0x23a0e5(0x1a4)]=_0x381ead);await _0x28d35d['HwNQz'](writeFile,_0x28d35d[_0x23a0e5(0x196)](join,_0x2ed386,_0x28d35d['zfWir']),JSON['stringify'](_0x390e30,null,0x2)),console[_0x23a0e5(0x212)]('✓\x20Created\x20settings:\x20'+_0x28d35d['VNLte'](join,_0x4e3a5e,_0x28d35d[_0x23a0e5(0x1d3)]));if(_0x28d35d[_0x23a0e5(0x1ec)](_0x10296e?.[_0x23a0e5(0x1be)],_0x5135ab)){const _0x321618=_0x10296e[_0x23a0e5(0x206)]+_0x23a0e5(0x1af)+Date['now']();await _0x28d35d[_0x23a0e5(0x1e9)](rename,_0x10296e['path'],_0x321618);try{await _0x28d35d[_0x23a0e5(0x201)](rename,_0x2ed386,_0x4e3a5e);}catch(_0x11548f){await rename(_0x321618,_0x10296e[_0x23a0e5(0x206)]);throw _0x11548f;}try{await _0x28d35d[_0x23a0e5(0x201)](rm,_0x321618,{'recursive':!![]});}catch{console['log'](_0x23a0e5(0x217)+_0x321618);}}else{await rename(_0x2ed386,_0x4e3a5e);if(_0x10296e)try{await rm(_0x10296e[_0x23a0e5(0x206)],{'recursive':!![]}),console[_0x23a0e5(0x212)](_0x23a0e5(0x1cf)+_0x10296e['path']);}catch{console[_0x23a0e5(0x212)](_0x23a0e5(0x214)+_0x10296e['path']);}}try{await _0x28d35d['MdtPK'](writeActiveProfileName,_0x2dced6),console['log'](_0x23a0e5(0x191)+_0x2dced6);}catch{console[_0x23a0e5(0x212)](_0x28d35d[_0x23a0e5(0x1fb)]);}_0x526fad?.[_0x23a0e5(0x1e1)](_0x28d35d[_0x23a0e5(0x198)]),console['log'](_0x23a0e5(0x184)+_0x2dced6+'\x22\x20configured');}catch(_0xd55ef7){await _0x28d35d[_0x23a0e5(0x197)](rm,_0x2ed386,{'recursive':!![],'force':!![]});throw _0xd55ef7;}}
|
|
1
|
+
(function(_0x2d488c,_0x337335){const _0x179b2b=_0x3323,_0xe1962f=_0x2d488c();while(!![]){try{const _0x3237e9=parseInt(_0x179b2b(0x254))/0x1+-parseInt(_0x179b2b(0x25c))/0x2*(-parseInt(_0x179b2b(0x25f))/0x3)+parseInt(_0x179b2b(0x251))/0x4+-parseInt(_0x179b2b(0x23e))/0x5*(parseInt(_0x179b2b(0x269))/0x6)+parseInt(_0x179b2b(0x238))/0x7*(parseInt(_0x179b2b(0x220))/0x8)+parseInt(_0x179b2b(0x23f))/0x9+-parseInt(_0x179b2b(0x237))/0xa*(parseInt(_0x179b2b(0x215))/0xb);if(_0x3237e9===_0x337335)break;else _0xe1962f['push'](_0xe1962f['shift']());}catch(_0x363cd7){_0xe1962f['push'](_0xe1962f['shift']());}}}(_0x5046,0xe81f7));import{mkdir,writeFile,readFile,readdir,unlink,rm,mkdtemp,rename}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x4b7edf from'inquirer';import{chromium}from'playwright';import{findExistingEnv,loadSettings}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getRangerDir,getRangerHomeDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';import{fetchAuthConfig,createCloudProfile,ApiError}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{isPathGitTracked}from'./utils/gitTracked.js';async function checkUrlReachability(_0x26a5a0){const _0x3d1c6f=_0x3323,_0xe568c5={'UNHQK':function(_0x2a5eab,_0x254ebc,_0x4121f5){return _0x2a5eab(_0x254ebc,_0x4121f5);},'LHHwa':_0x3d1c6f(0x1ed),'CAisl':function(_0xf87871,_0x5e8f67){return _0xf87871(_0x5e8f67);},'OhhZT':function(_0x3f665f,_0xc9f416){return _0x3f665f<_0xc9f416;},'aWVCA':function(_0x47bcd1,_0x4c63a2){return _0x47bcd1===_0x4c63a2;}};try{const _0x53e054=new AbortController(),_0x109c72=_0xe568c5[_0x3d1c6f(0x206)](setTimeout,()=>_0x53e054[_0x3d1c6f(0x1ef)](),0x1388),_0x302dc7={'method':_0x3d1c6f(0x1f2),'signal':_0x53e054['signal'],'redirect':_0xe568c5['LHHwa']};/^https:\/\/localhost(:\d+)?/i[_0x3d1c6f(0x256)](_0x26a5a0)&&(process['env']['NODE_TLS_REJECT_UNAUTHORIZED']='0');const _0x3ec9bc=await _0xe568c5[_0x3d1c6f(0x206)](fetch,_0x26a5a0,_0x302dc7);delete process['env'][_0x3d1c6f(0x26a)],_0xe568c5['CAisl'](clearTimeout,_0x109c72);if(_0xe568c5[_0x3d1c6f(0x214)](_0x3ec9bc['status'],0x190))return{'ok':!![]};return{'ok':![],'error':_0x3d1c6f(0x264)+_0x3ec9bc['status']};}catch(_0x4ae19e){delete process[_0x3d1c6f(0x25a)][_0x3d1c6f(0x26a)];const _0x3c4072=_0x4ae19e,_0x3bf5af=_0x3c4072[_0x3d1c6f(0x1ff)]||_0xe568c5[_0x3d1c6f(0x241)](String,_0x4ae19e),_0x5a2971=_0x3bf5af['includes'](_0x3d1c6f(0x227))||_0xe568c5[_0x3d1c6f(0x261)](_0x3c4072['name'],_0x3d1c6f(0x22a))||_0x3bf5af[_0x3d1c6f(0x249)](_0x3d1c6f(0x252));return{'ok':![],'error':_0x3bf5af,'isProtocolError':_0x5a2971};}}function _0x3323(_0x5e9127,_0x42e655){_0x5e9127=_0x5e9127-0x1d9;const _0x50463c=_0x5046();let _0x332399=_0x50463c[_0x5e9127];return _0x332399;}function _0x5046(){const _0x489400=['\x0a⚠️\x20\x20Profile\x20\x22','trackPhaseStart','\x0a📋\x20Authentication\x20Setup','ZdeRA','cdjMW','\x20—\x20not\x20removing.\x20Delete\x20manually\x20if\x20you\x20want\x20it\x20gone.','\x22\x20already\x20exists.\x20Choose\x20a\x20different\x20name\x20or\x20delete\x20the\x20existing\x20profile\x20first.','isElectron','prompt','What\x20is\x20the\x20URL\x20of\x20your\x20running\x20app?','\x0a🔌\x20CDP\x20Profile\x20Setup\x0a','\x20\x20Cleaned\x20up\x20orphan\x20local\x20profile\x20at\x20','UdmVE','cTwQY','manual','\x0a\x20\x20(domains:\x20','abort','AUiAg','join','HEAD','jqZFU','local','xtKwg','confirm','profile.add.autoRouteSkipped','\x20\x20Ranger\x20will\x20open\x20it\x20in\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20and\x20save\x20your\x20session.\x0a','\x20\x20Next:\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--profile\x20','allowInsecureLocalhost','off','TcYul','twdsA','Found\x20auth\x20environment\x20\x27','message','\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','\x20\x20Make\x20sure\x20your\x20app\x20is\x20running\x20locally\x20before\x20continuing.','What\x20would\x20you\x20like\x20to\x20do?','mIDmO','settings.json','UNHQK','\x22\x20configured','Aborted.','trackPhaseEnd','\x20\x20Set\x20active\x20profile:\x20','log','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','svUmh','KPVuj','Enter\x20a\x20different\x20URL','.enc','location','stdin','\x0a\x20\x20Profile\x20\x22','OhhZT','143TZRhtJ','input','no_match','zfQft','\x0a\x20\x20A\x20cloud\x20profile\x20named\x20\x22','uJECX','wfmAR','once','tZUXf','shouldReplace','ajuks','32TkVcPp','GTiAw','\x20--safe-mode\x20\x20\x20\x20(disables\x20browser\x20features\x20that\x20can\x20cause\x20crashes)','force','\x20\x20\x20Creating\x20it\x20in\x20','xJECf','rmwue','Invalid\x20URL','.tmp-','WPAMl','TypeError','EbUSy','startsWith','length','Use\x20','isTTY','fHCrB','status','url','domains','environments','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20backup\x20at\x20','kDGlo','1865830ktnfEP','1762544gbwSZR','error','keys','browser_auth','path','url_setup','135DVHHMC','671697sxRLPC','\x22.\x20Expected\x20\x22Name:\x20Value\x22.','CAisl','\x20--skip-auth\x20\x20\x20\x20(skip\x20browser\x20auth\x20entirely)\x0a','legacy','HsMMB','http://localhost:3000','extraHTTPHeaders','http://','newPage','includes','✓\x20Created\x20settings:\x20','SIGINT','stdout','pLyOF','origin','\x20\x20Configuring\x20Ranger\x20to\x20connect\x20to:\x20','about:blank','526072wktXnw','fetch\x20failed','cdpEndpoint','668296eHArCo','JJUCt','test','AlnSI','newContext','user','env','skipAuth','31112xBiFOh','assign','EVWAq','318vPzXUG','fLFQS','aWVCA','action','crgjI','HTTP\x20','catch',')\x0a\x20\x20Save\x20\x27','STASY','\x0a🌐\x20Profile\x20Setup\x0a','34266gmsuCJ','NODE_TLS_REJECT_UNAUTHORIZED','slice','bgVTg','RmIxI','no_auth_config','mjDVz','jArNV','✓\x20Cloud\x20profile\x20\x27','user_declined','close','YQZhQ','safeMode','\x27\x20matching\x20'];_0x5046=function(){return _0x489400;};return _0x5046();}async function sweepOrphanLocalProfile(_0x55761d,_0x2caac0,_0xbdcaaf){const _0x3af569=_0x3323,_0x5569dc={'fHCrB':function(_0x515c93,_0x1e7e93,_0x517904){return _0x515c93(_0x1e7e93,_0x517904);},'jqZFU':function(_0x23e6a5,_0x364028){return _0x23e6a5(_0x364028);},'GTiAw':function(_0x1e5684,_0x556540,_0x2bc99f){return _0x1e5684(_0x556540,_0x2bc99f);}},_0xa37fab=_0x5569dc[_0x3af569(0x230)](join,_0x2caac0,_0x3af569(0x1f4)),_0x315d44=join(_0xa37fab,_0x55761d);_0x5569dc[_0x3af569(0x1f3)](existsSync,_0x315d44)&&(_0xbdcaaf&&await _0x5569dc['jqZFU'](isPathGitTracked,_0x315d44)?console[_0x3af569(0x20b)]('\x20\x20Note:\x20found\x20git-tracked\x20local\x20profile\x20at\x20'+_0x315d44+_0x3af569(0x1e4)):(await rm(_0x315d44,{'recursive':!![],'force':!![]}),console[_0x3af569(0x20b)](_0x3af569(0x1ea)+_0x315d44)));if(_0x5569dc[_0x3af569(0x1f3)](existsSync,_0xa37fab)){let _0x3040e1=[];try{_0x3040e1=await _0x5569dc['jqZFU'](readdir,_0xa37fab);}catch{return;}const _0x353050=_0x3af569(0x228)+_0x55761d+'-';for(const _0x38655d of _0x3040e1){if(!_0x38655d[_0x3af569(0x22c)](_0x353050))continue;const _0x2db486=_0x5569dc[_0x3af569(0x221)](join,_0xa37fab,_0x38655d);await _0x5569dc['fHCrB'](rm,_0x2db486,{'recursive':!![],'force':!![]}),console['log']('\x20\x20Cleaned\x20up\x20orphan\x20local\x20profile\x20at\x20'+_0x2db486);}}}async function tryAutoRouteCloudProfile(_0x407640,_0x30b096,_0x4bee55,_0x50f703,_0x503d19){const _0x3b523c=_0x3323,_0x428d52={'jokMS':function(_0x48a86b,_0x74f19b){return _0x48a86b===_0x74f19b;},'KPVuj':_0x3b523c(0x26e),'wfmAR':'No\x20auth\x20env\x20matches\x20this\x20URL.\x20Creating\x20local\x20profile.','CZusB':_0x3b523c(0x1f7),'zfQft':_0x3b523c(0x217),'jcoCD':'saveToCloud','gDVOE':function(_0x39d288,_0x45b078){return _0x39d288 instanceof _0x45b078;},'jArNV':function(_0x2b4c95,_0x28664){return _0x2b4c95+_0x28664;},'drqdH':function(_0x3dd7a4){return _0x3dd7a4();},'HMbOL':function(_0x2d2731,_0x34024e,_0x4c1b32,_0x198851){return _0x2d2731(_0x34024e,_0x4c1b32,_0x198851);}};let _0x7838c3;try{_0x7838c3=await fetchAuthConfig();}catch{return _0x503d19?.[_0x3b523c(0x209)](_0x3b523c(0x1f7),{'reason':_0x428d52[_0x3b523c(0x20e)],'profileName':_0x407640}),![];}if(!_0x7838c3||!_0x7838c3[_0x3b523c(0x234)]||_0x428d52['jokMS'](Object[_0x3b523c(0x23a)](_0x7838c3[_0x3b523c(0x234)])['length'],0x0))return _0x503d19?.[_0x3b523c(0x209)]('profile.add.autoRouteSkipped',{'reason':_0x428d52['KPVuj'],'profileName':_0x407640}),![];const _0x2fa673=matchAuthEnvironment(_0x30b096,_0x7838c3);if(!_0x2fa673)return console['log'](_0x428d52[_0x3b523c(0x21b)]),_0x503d19?.['trackPhaseEnd'](_0x428d52['CZusB'],{'reason':_0x428d52[_0x3b523c(0x218)],'profileName':_0x407640}),![];const _0x1b3a51=_0x7838c3['environments'][_0x2fa673],_0x399e44=_0x1b3a51?.[_0x3b523c(0x233)]??[];if(_0x50f703&&!_0x4bee55['yes']){const {saveToCloud:_0x4a2347}=await _0x4b7edf['prompt']([{'type':_0x3b523c(0x1f6),'name':_0x428d52['jcoCD'],'message':_0x3b523c(0x1fe)+_0x2fa673+_0x3b523c(0x1de)+_0x30b096+_0x3b523c(0x1ee)+_0x399e44[_0x3b523c(0x1f1)](',\x20')+_0x3b523c(0x266)+_0x407640+'\x27\x20to\x20the\x20cloud?','default':!![]}]);if(!_0x4a2347)return _0x503d19?.[_0x3b523c(0x209)](_0x3b523c(0x1f7),{'reason':_0x3b523c(0x1da),'profileName':_0x407640}),![];}const _0x2a1e7b=_0x399e44['some'](_0x3de8a4=>{const _0x397aa9=_0x3b523c;try{return _0x428d52['jokMS'](new URL(_0x3de8a4)[_0x397aa9(0x24e)],new URL(_0x30b096)['origin']);}catch{return![];}}),_0x4dbd3a={};!_0x2a1e7b&&(_0x4dbd3a['baseUrl']=_0x30b096);try{await createCloudProfile(_0x407640,_0x2fa673,{'settings':_0x4dbd3a});}catch(_0xb6f6b7){if(_0x428d52['gDVOE'](_0xb6f6b7,ApiError)&&_0xb6f6b7[_0x3b523c(0x231)]===0x199){console['error'](_0x3b523c(0x219)+_0x407640+_0x3b523c(0x1e5));throw _0xb6f6b7;}return console[_0x3b523c(0x20b)]('\x20\x20Could\x20not\x20reach\x20Ranger\x20API\x20to\x20create\x20a\x20cloud\x20profile\x20('+(_0xb6f6b7 instanceof Error?_0xb6f6b7[_0x3b523c(0x1ff)]:String(_0xb6f6b7))+').\x20Falling\x20back\x20to\x20local\x20profile.'),_0x503d19?.[_0x3b523c(0x209)](_0x3b523c(0x1f7),{'reason':_0x428d52['KPVuj'],'profileName':_0x407640}),![];}console[_0x3b523c(0x20b)](_0x428d52[_0x3b523c(0x270)](_0x3b523c(0x1d9)+_0x407640+'\x27\x20created,\x20linked\x20to\x20env\x20\x27'+_0x2fa673+'\x27.\x0a',_0x3b523c(0x1f9)+_0x407640));try{await sweepOrphanLocalProfile(_0x407640,getRangerHomeDir(),![]);const _0x1ea6c5=_0x428d52['drqdH'](getRangerDir);_0x1ea6c5!==getRangerHomeDir()&&await _0x428d52['HMbOL'](sweepOrphanLocalProfile,_0x407640,_0x1ea6c5,!![]);}catch(_0x5413b9){console[_0x3b523c(0x20b)]('\x20\x20Note:\x20cloud\x20profile\x20created,\x20but\x20failed\x20to\x20sweep\x20orphan\x20local\x20dirs\x20('+(_0x5413b9 instanceof Error?_0x5413b9[_0x3b523c(0x1ff)]:String(_0x5413b9))+').');}return _0x503d19?.['trackPhaseEnd']('profile.add.autoRouted',{'envKey':_0x2fa673,'profileName':_0x407640}),!![];}export async function addEnv(_0x486961,_0x1b515d={},_0x4d7a36){const _0x576089=_0x3323,_0xbc6c54={'qpByT':function(_0x522290,_0x39ce20,_0x4de90b){return _0x522290(_0x39ce20,_0x4de90b);},'xJECf':'Saving\x20authentication\x20state...','uJECX':function(_0x398770){return _0x398770();},'mjDVz':'close','TewIB':function(_0x2831b1,_0x298e06){return _0x2831b1===_0x298e06;},'Vepec':_0x576089(0x259),'YQZhQ':function(_0x132362,_0x928ebd,_0x3d4d27,_0x41f4e1){return _0x132362(_0x928ebd,_0x3d4d27,_0x41f4e1);},'xtKwg':function(_0x11ff9f,_0x5cf0bc){return _0x11ff9f===_0x5cf0bc;},'WPAMl':function(_0x4df7d6,_0x3a9e38){return _0x4df7d6+_0x3a9e38;},'lABCR':function(_0x1afc12,_0xa15c27,_0x34a870){return _0x1afc12(_0xa15c27,_0x34a870);},'awcBY':'--cdp-endpoint\x20must\x20not\x20be\x20empty.\x20Provide\x20the\x20CDP\x20URL,\x20e.g.\x20--cdp-endpoint\x20http://localhost:9222','TcYul':'--url\x20and\x20--cdp-endpoint\x20are\x20mutually\x20exclusive.\x20Use\x20--url\x20for\x20web\x20apps\x20or\x20--cdp-endpoint\x20for\x20Electron/CDP\x20apps,\x20not\x20both.','EhJqw':'--ci\x20and\x20--cdp-endpoint\x20cannot\x20be\x20used\x20together.\x20Electron/CDP\x20profiles\x20only\x20work\x20with\x20a\x20locally\x20running\x20app\x20and\x20are\x20not\x20supported\x20in\x20CI.','pLyOF':function(_0x1fca78,_0x2628ff){return _0x1fca78(_0x2628ff);},'HsMMB':function(_0x2044bf,_0x22ace7,_0x41b129,_0x5c6b6e,_0x13bbfb,_0xa86e2e){return _0x2044bf(_0x22ace7,_0x41b129,_0x5c6b6e,_0x13bbfb,_0xa86e2e);},'STASY':function(_0x108e0a,_0x37cde0,_0x256f59){return _0x108e0a(_0x37cde0,_0x256f59);},'ZOibz':function(_0x44ab76,_0x1336bd){return _0x44ab76===_0x1336bd;},'AXNRI':'confirm','dbHiz':'overwrite','bgVTg':'Aborted.','nEtqF':function(_0x427ea7,_0x2fb6a7){return _0x427ea7===_0x2fb6a7;},'JJUCt':'root\x20(.ranger/)','GYlqg':_0x576089(0x21e),'svUmh':_0x576089(0x1e9),'EZolr':'\x20\x20Make\x20sure\x20your\x20Electron\x20app\x20(or\x20browser)\x20is\x20running\x20with\x20remote\x20debugging\x20enabled.\x0a','NhkIt':_0x576089(0x268),'LhxvT':_0x576089(0x216),'WdXGx':'baseUrl','hoCAb':'Enter\x20a\x20new\x20URL\x20(or\x20press\x20enter\x20to\x20keep\x20current):','EbUSy':_0x576089(0x1e8),'HgvRK':function(_0x361895,_0x19d7f9){return _0x361895||_0x19d7f9;},'mThyr':_0x576089(0x203),'cTwQY':'use_suggestion','zfhpq':'Continue\x20anyway','twdsA':'continue','VtSpz':function(_0x314768,_0x5e6c0d){return _0x314768(_0x5e6c0d);},'rmwue':function(_0x39f604,_0xb0bcd0){return _0x39f604===_0xb0bcd0;},'AlnSI':function(_0x32aca6,_0x5e19bc){return _0x32aca6(_0x5e19bc);},'yAiFj':function(_0x561fbc,_0x4d7c38,_0x1f4955){return _0x561fbc(_0x4d7c38,_0x1f4955);},'cdjMW':_0x576089(0x23b),'mIDmO':'\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20profile\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.','UdmVE':'\x20\x20\x20If\x20you\x20are\x20an\x20agent,\x20background\x20this\x20process\x20and\x20let\x20your\x20user\x20know\x20they\x20need\x20to\x20complete\x20browser\x20authentication.\x0a','ooWca':'--allow-insecure-localhost','crgjI':function(_0xac8f26,_0x463751){return _0xac8f26>_0x463751;},'fLFQS':function(_0x53babf,_0x379e75){return _0x53babf>_0x379e75;},'ruIFx':function(_0x4ed510,_0x14735e){return _0x4ed510||_0x14735e;},'mrrGs':_0x576089(0x250),'ajuks':_0x576089(0x200),'irWYt':'This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','ZdeRA':'You\x20can\x20try\x20again\x20with\x20one\x20of:','AUiAg':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','tZUXf':function(_0x249034,_0x2049bc,_0x4d7193){return _0x249034(_0x2049bc,_0x4d7193);},'QMETp':'utf-8','IgEYk':_0x576089(0x201),'RmIxI':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','wfGPs':'\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','kDGlo':'config_write','EVWAq':_0x576089(0x205),'rwgNA':function(_0x254a62,_0x59f4a3,_0x34552f){return _0x254a62(_0x59f4a3,_0x34552f);},'Qyxbo':function(_0x531163,_0x137f51){return _0x531163(_0x137f51);},'CCNJT':'SIGINT'},_0x468717=_0x1b515d['ci']??![],_0x179249=_0x468717?'ci':'local',_0x5b926e=_0xbc6c54['TewIB'](_0x1b515d['scope'],_0xbc6c54['Vepec'])?_0xbc6c54[_0x576089(0x21a)](getRangerHomeDir):getRangerDir(),_0x1d70f8=_0xbc6c54[_0x576089(0x1dc)](join,_0x5b926e,_0x179249,_0x486961),_0x11bbb3={};if(_0x1b515d['setupHeader'])for(const _0x2a641a of _0x1b515d['setupHeader']){const _0x575f85=_0x2a641a['indexOf'](':');if(_0xbc6c54[_0x576089(0x1f5)](_0x575f85,-0x1))throw new Error('Invalid\x20--setup-header\x20format:\x20\x22'+_0x2a641a+_0x576089(0x240));const _0x3bef42=_0x2a641a[_0x576089(0x26b)](0x0,_0x575f85)['trim'](),_0x135bd1=_0x2a641a['slice'](_0xbc6c54[_0x576089(0x229)](_0x575f85,0x1))['trim']();_0x11bbb3[_0x3bef42]=_0x135bd1;}const _0x551bb4=_0xbc6c54['lABCR'](join,_0x5b926e,_0x179249);if(_0x1b515d['cdpEndpoint']!==undefined&&_0x1b515d['cdpEndpoint']['trim']()==='')throw new Error(_0xbc6c54['awcBY']);if(_0x1b515d['cdpEndpoint']&&_0x1b515d['url'])throw new Error(_0xbc6c54[_0x576089(0x1fc)]);if(_0x1b515d['cdpEndpoint']&&_0x1b515d['ci'])throw new Error(_0xbc6c54['EhJqw']);const _0xd3da24=_0xbc6c54['pLyOF'](Boolean,_0x1b515d['cdpEndpoint']),_0x4c0092=!_0x1b515d[_0x576089(0x25b)]&&!_0xd3da24,_0x442154=process[_0x576089(0x212)][_0x576089(0x22f)]&&process[_0x576089(0x24c)][_0x576089(0x22f)];if(!_0x442154&&!_0x1b515d[_0x576089(0x232)]&&!_0xd3da24)throw new Error('Please\x20provide\x20--url\x20when\x20running\x20in\x20non-interactive\x20mode.\x0aMake\x20sure\x20the\x20service\x20is\x20running\x20on\x20that\x20port\x20before\x20retrying.\x0aExample:\x20ranger\x20profile\x20add\x20local\x20--url\x20http://localhost:3000');if(!_0x468717&&!_0x1b515d['skipAuth']&&!_0xd3da24&&_0x1b515d['url']){const _0x3848b1=await _0xbc6c54[_0x576089(0x244)](tryAutoRouteCloudProfile,_0x486961,_0x1b515d['url'],_0x1b515d,_0x442154,_0x4d7a36);if(_0x3848b1)return;}const _0x3c42e7=_0xbc6c54['STASY'](findExistingEnv,_0x486961,{'rangerDir':_0x5b926e});let _0x41d81d=null;if(_0x3c42e7){if(!_0x442154)_0x41d81d=_0x3c42e7;else{if(_0xbc6c54['ZOibz'](_0x3c42e7[_0x576089(0x211)],_0x179249)){const {overwrite:_0xf4761e}=await _0x4b7edf['prompt']([{'type':_0xbc6c54['AXNRI'],'name':_0xbc6c54['dbHiz'],'message':'Profile\x20\x22'+_0x486961+'\x22\x20already\x20exists.\x20Overwrite?','default':![]}]);if(!_0xf4761e){console['log'](_0xbc6c54[_0x576089(0x26c)]);return;}_0x41d81d=_0x3c42e7;}else{const _0x1aed2b=_0xbc6c54['nEtqF'](_0x3c42e7[_0x576089(0x211)],_0x576089(0x243))?_0xbc6c54[_0x576089(0x255)]:_0x3c42e7[_0x576089(0x211)];console['error'](_0x576089(0x1df)+_0x486961+'\x22\x20already\x20exists\x20in\x20'+_0x1aed2b+':\x20'+_0x3c42e7[_0x576089(0x23c)]),console['error'](_0x576089(0x224)+_0x179249+'\x20would\x20shadow\x20the\x20existing\x20profile.');const {shouldReplace:_0x55c3a7}=await _0x4b7edf[_0x576089(0x1e7)]([{'type':_0xbc6c54['AXNRI'],'name':_0xbc6c54['GYlqg'],'message':'Delete\x20existing\x20and\x20create\x20new\x20in\x20'+_0x179249+'?','default':![]}]);if(!_0x55c3a7){console[_0x576089(0x20b)](_0x576089(0x208));return;}_0x41d81d=_0x3c42e7;}}}_0x4d7a36?.['trackPhaseStart'](_0x576089(0x23d));let _0x3ba633='';if(_0xd3da24)console[_0x576089(0x20b)](_0xbc6c54[_0x576089(0x20d)]),console['log'](_0x576089(0x24f)+_0x1b515d['cdpEndpoint']),console['log'](_0xbc6c54['EZolr']);else{if(_0x1b515d['url']){_0x3ba633=_0x1b515d['url'];const _0x7f72ad=await _0xbc6c54['pLyOF'](checkUrlReachability,_0x3ba633);if(!_0x7f72ad['ok']&&!_0x1b515d['force'])throw new Error('Could\x20not\x20reach\x20'+_0x3ba633+':\x20'+_0x7f72ad[_0x576089(0x239)]+'\x0aMake\x20sure\x20your\x20app\x20is\x20running,\x20then\x20try\x20again.\x20To\x20skip\x20this\x20check,\x20pass\x20--force.');!_0x7f72ad['ok']&&_0x1b515d[_0x576089(0x223)]&&console[_0x576089(0x20b)]('⚠\x20Could\x20not\x20reach\x20'+_0x3ba633+':\x20'+_0x7f72ad[_0x576089(0x239)]+'\x20(continuing\x20with\x20--force)');}else{console[_0x576089(0x20b)](_0xbc6c54['NhkIt']),console['log'](_0x576089(0x202)),console['log'](_0x576089(0x1f8));let _0x21605f=![];while(!![]){const _0x5eb6c7=await _0x4b7edf[_0x576089(0x1e7)]([{'type':_0xbc6c54['LhxvT'],'name':_0xbc6c54['WdXGx'],'message':_0x21605f?_0xbc6c54['hoCAb']:_0xbc6c54[_0x576089(0x22b)],'default':_0xbc6c54['HgvRK'](_0x3ba633,_0x576089(0x245))}]);_0x3ba633=_0x5eb6c7['baseUrl'];const _0x346718=await _0xbc6c54[_0x576089(0x24d)](checkUrlReachability,_0x3ba633);if(_0x346718['ok'])break;const _0x1de915=/^[a-zA-Z][\w+.-]*:\/\//['test'](_0x3ba633),_0x45bb90=_0x346718['isProtocolError']&&!_0x1de915,_0x340d8d=_0x45bb90?_0x576089(0x247)+_0x3ba633:null;_0x21605f=!![],console['log']('\x0a\x20\x20Could\x20not\x20reach\x20'+_0x3ba633+':\x20'+_0x346718['error']);_0x340d8d&&console['log']('\x20\x20Did\x20you\x20mean\x20'+_0x340d8d+'?');const {action:_0x233b69}=await _0x4b7edf[_0x576089(0x1e7)]([{'type':'list','name':_0x576089(0x262),'message':_0xbc6c54['mThyr'],'choices':[..._0x340d8d?[{'name':_0x576089(0x22e)+_0x340d8d,'value':_0xbc6c54['cTwQY']}]:[],{'name':_0x576089(0x20f),'value':'retry'},{'name':_0xbc6c54['zfhpq'],'value':_0xbc6c54[_0x576089(0x1fd)]}]}]);if(_0x233b69===_0xbc6c54[_0x576089(0x1ec)]&&_0x340d8d){_0x3ba633=_0x340d8d;const _0x252e3b=await _0xbc6c54['VtSpz'](checkUrlReachability,_0x3ba633);if(_0x252e3b['ok'])break;console['log']('\x0a\x20\x20Still\x20could\x20not\x20reach\x20'+_0x3ba633+':\x20'+_0x252e3b['error']);}else{if(_0xbc6c54[_0x576089(0x226)](_0x233b69,'continue'))break;}}}}_0x4d7a36?.['trackPhaseEnd'](_0x576089(0x23d));const _0x1ce3c5={};if(_0x41d81d){const _0x59684a=await _0xbc6c54[_0x576089(0x257)](loadSettings,_0x486961);Object['assign'](_0x1ce3c5,_0x59684a['setupHeaders']);}Object[_0x576089(0x25d)](_0x1ce3c5,_0x11bbb3),await mkdir(_0x551bb4,{'recursive':!![]});try{const _0x49ce44=await readdir(_0x551bb4),_0x33feef=_0x576089(0x228)+_0x486961+'-';for(const _0x395a5e of _0x49ce44){_0x395a5e['startsWith'](_0x33feef)&&await _0xbc6c54['yAiFj'](rm,join(_0x551bb4,_0x395a5e),{'recursive':!![],'force':!![]});}}catch{}const _0xa31594=await mkdtemp(_0xbc6c54[_0x576089(0x267)](join,_0x551bb4,_0x576089(0x228)+_0x486961+'-')),_0x3f1c83=join(_0xa31594,'auth.json'),_0x1abc1e=()=>{_0xbc6c54['qpByT'](rm,_0xa31594,{'recursive':!![],'force':!![]})['catch'](()=>{})['finally'](()=>{process['exit'](0x82);});};process[_0x576089(0x21c)](_0x576089(0x24b),_0x1abc1e);const _0x14c93f=Boolean(_0x3ba633)&&/^https:\/\/localhost(:\d+)?/i['test'](_0x3ba633);try{if(_0x4c0092){_0x4d7a36?.[_0x576089(0x1e0)](_0xbc6c54[_0x576089(0x1e3)]),console[_0x576089(0x20b)](_0x576089(0x1e1)),console['log'](_0xbc6c54[_0x576089(0x204)]),console['log']('\x20\x20\x20When\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.');!_0x442154?(console['log']('\x0a\x20\x20\x20⚠\x20This\x20step\x20requires\x20human\x20interaction\x20in\x20a\x20browser.'),console[_0x576089(0x20b)](_0xbc6c54[_0x576089(0x1eb)])):console['log']('');await new Promise(_0x338618=>setTimeout(_0x338618,0xbb8));const _0x3301eb=[];_0x1b515d['safeMode']&&_0x3301eb['push']('--disable-features=WebBluetooth');const _0x466a13=_0x1b515d['allowInsecureLocalhost']||_0x14c93f;_0x466a13&&_0x3301eb['push'](_0xbc6c54['ooWca']);const _0x3232ac=await chromium['launch']({'headless':![],..._0xbc6c54[_0x576089(0x263)](_0x3301eb['length'],0x0)?{'args':_0x3301eb}:{}});try{const _0x5be301=_0xbc6c54[_0x576089(0x260)](Object[_0x576089(0x23a)](_0x1ce3c5)[_0x576089(0x22d)],0x0),_0x55da7e={'ignoreHTTPSErrors':!![]};_0x5be301&&(_0x55da7e[_0x576089(0x246)]=_0x1ce3c5);const _0x516726=await _0x3232ac[_0x576089(0x258)](_0x55da7e);await addProfileSetupBanner(_0x516726);const _0xab0eac=await _0x516726[_0x576089(0x248)]();await _0xab0eac['goto'](_0xbc6c54['ruIFx'](_0x3ba633,_0xbc6c54['mrrGs']));let _0x5ee981=![];await new Promise(_0x2be61e=>{const _0x58a2ef=_0x576089;_0xab0eac['on'](_0xbc6c54[_0x58a2ef(0x26f)],async()=>{const _0x923f1d=_0x58a2ef;try{console[_0x923f1d(0x20b)](_0xbc6c54[_0x923f1d(0x225)]),await _0x516726['storageState']({'path':_0x3f1c83}),_0x5ee981=!![];}catch{}_0xbc6c54['uJECX'](_0x2be61e);});});if(!_0x5ee981){console['log'](_0xbc6c54[_0x576089(0x21f)]);!_0x1b515d[_0x576089(0x1dd)]&&(console['log'](_0xbc6c54['irWYt']),console['log'](_0xbc6c54[_0x576089(0x1e2)]),console['log']('\x20\x20ranger\x20profile\x20add\x20'+_0x486961+_0x576089(0x222)),console[_0x576089(0x20b)]('\x20\x20ranger\x20profile\x20add\x20'+_0x486961+_0x576089(0x242)));throw new Error(_0xbc6c54[_0x576089(0x1f0)]);}}finally{await _0x3232ac[_0x576089(0x1db)]()['catch'](()=>{});}if(_0x468717){const _0x46ed0b=await _0xbc6c54[_0x576089(0x21d)](readFile,_0x3f1c83,_0xbc6c54['QMETp']),_0x550467=await _0xbc6c54['uJECX'](getToken);if(!_0x550467){console[_0x576089(0x239)](_0xbc6c54['IgEYk']),await unlink(_0x3f1c83)[_0x576089(0x265)](()=>{});throw new Error('Missing\x20API\x20token;\x20aborting\x20CI\x20profile\x20creation.');}else{const _0x13b1bc=encrypt(_0x46ed0b,_0x550467);await writeFile(_0x3f1c83+_0x576089(0x210),_0x13b1bc),await _0xbc6c54['AlnSI'](unlink,_0x3f1c83),console['log'](_0x576089(0x20c)+_0x3f1c83+_0x576089(0x210)),console['log'](_0xbc6c54[_0x576089(0x26d)]),console[_0x576089(0x20b)](_0xbc6c54['wfGPs']);}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x3f1c83);_0x4d7a36?.['trackPhaseEnd'](_0xbc6c54[_0x576089(0x1e3)]);}_0x4d7a36?.[_0x576089(0x1e0)](_0xbc6c54[_0x576089(0x236)]);const _0x4151a8={};_0x3ba633&&(_0x4151a8['baseUrl']=_0x3ba633);_0x1b515d[_0x576089(0x253)]&&(_0x4151a8['cdpEndpoint']=_0x1b515d[_0x576089(0x253)],_0x4151a8[_0x576089(0x1e6)]=!![]);(_0x1b515d[_0x576089(0x1fa)]||_0x14c93f)&&(_0x4151a8['allowInsecureLocalhost']=!![]);_0x1b515d[_0x576089(0x1dd)]&&(_0x4151a8['safeMode']=!![]);Object['keys'](_0x1ce3c5)['length']>0x0&&(_0x4151a8['setupHeaders']=_0x1ce3c5);await writeFile(_0xbc6c54['yAiFj'](join,_0xa31594,'settings.json'),JSON['stringify'](_0x4151a8,null,0x2)),console[_0x576089(0x20b)](_0x576089(0x24a)+join(_0x1d70f8,_0xbc6c54[_0x576089(0x25e)]));if(_0x41d81d?.[_0x576089(0x211)]===_0x179249){const _0x3f96f1=_0x41d81d[_0x576089(0x23c)]+'.backup-'+Date['now']();await rename(_0x41d81d['path'],_0x3f96f1);try{await rename(_0xa31594,_0x1d70f8);}catch(_0x274159){await _0xbc6c54['rwgNA'](rename,_0x3f96f1,_0x41d81d[_0x576089(0x23c)]);throw _0x274159;}try{await rm(_0x3f96f1,{'recursive':!![]});}catch{console['log'](_0x576089(0x235)+_0x3f96f1);}}else{await _0xbc6c54[_0x576089(0x21d)](rename,_0xa31594,_0x1d70f8);if(_0x41d81d)try{await rm(_0x41d81d['path'],{'recursive':!![]}),console[_0x576089(0x20b)]('Removed\x20existing\x20profile\x20at\x20'+_0x41d81d['path']);}catch{console[_0x576089(0x20b)]('Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20at\x20'+_0x41d81d[_0x576089(0x23c)]);}}try{await _0xbc6c54['Qyxbo'](writeActiveProfileName,_0x486961),console[_0x576089(0x20b)](_0x576089(0x20a)+_0x486961);}catch{console['log']('Warning:\x20Profile\x20created,\x20but\x20failed\x20to\x20mark\x20it\x20as\x20active.');}_0x4d7a36?.[_0x576089(0x209)](_0xbc6c54['kDGlo']),console['log'](_0x576089(0x213)+_0x486961+_0x576089(0x207));}catch(_0x261fe0){await rm(_0xa31594,{'recursive':!![],'force':!![]});throw _0x261fe0;}finally{process[_0x576089(0x1fb)](_0xbc6c54['CCNJT'],_0x1abc1e);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x24afb8,_0x23a363){const _0x2a96e2=_0x2e82,_0x2edadb=_0x24afb8();while(!![]){try{const _0xd385c2=-parseInt(_0x2a96e2(0x16b))/0x1+parseInt(_0x2a96e2(0x172))/0x2+parseInt(_0x2a96e2(0x17f))/0x3*(-parseInt(_0x2a96e2(0x16c))/0x4)+parseInt(_0x2a96e2(0x170))/0x5+parseInt(_0x2a96e2(0x174))/0x6*(-parseInt(_0x2a96e2(0x177))/0x7)+-parseInt(_0x2a96e2(0x178))/0x8+parseInt(_0x2a96e2(0x16d))/0x9*(parseInt(_0x2a96e2(0x176))/0xa);if(_0xd385c2===_0x23a363)break;else _0x2edadb['push'](_0x2edadb['shift']());}catch(_0x1b60a6){_0x2edadb['push'](_0x2edadb['shift']());}}}(_0x353d,0xd14a3));import{readFile,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x353d(){const _0x5c1611=['\x0a\x20\x20The\x20plaintext\x20auth.json\x20is\x20gitignored\x20for\x20security.','Profile\x20\x22','gphsK','.enc','187599NIBTCu','RMpNh','1608020WFvVAy','8cLlRWC','11565CqARLw','utf-8','auth.json','7236670nCLUKS','\x20\x20The\x20encrypted\x20auth.json.enc\x20can\x20be\x20committed.','1711676enBOaP','HTGyI','3160662bcHBDo','xMRqb','21410OuClFo','21lNNbAC','7069512aFQFGF','log','No\x20auth.json\x20found\x20at\x20'];_0x353d=function(){return _0x5c1611;};return _0x353d();}import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';function _0x2e82(_0x2550d4,_0x26ee1e){_0x2550d4=_0x2550d4-0x16a;const _0x353d87=_0x353d();let _0x2e825d=_0x353d87[_0x2550d4];return _0x2e825d;}import{getEnvDir}from'./utils/settings.js';export async function authEncrypt(_0x2b7b3d){const _0x3a835b=_0x2e82,_0x5ea5dc={'HTGyI':function(_0x515fbd,_0x5b7142){return _0x515fbd(_0x5b7142);},'RMpNh':function(_0x3dcaba,_0x33d9cb,_0x2a4a6d){return _0x3dcaba(_0x33d9cb,_0x2a4a6d);},'xMRqb':function(_0x17d50d,_0x3c162a){return _0x17d50d+_0x3c162a;},'aZmFs':_0x3a835b(0x17e),'FFPkb':function(_0x5e0c7c,_0x56dd3c){return _0x5e0c7c(_0x56dd3c);},'gphsK':function(_0x1da8c1){return _0x1da8c1();}},_0x6f8086=_0x5ea5dc[_0x3a835b(0x173)](getEnvDir,_0x2b7b3d),_0x4d80c0=_0x5ea5dc['RMpNh'](join,_0x6f8086,_0x3a835b(0x16f)),_0x2ef9e9=_0x5ea5dc[_0x3a835b(0x175)](_0x4d80c0,_0x5ea5dc['aZmFs']);if(!_0x5ea5dc['FFPkb'](existsSync,_0x6f8086))throw new Error(_0x3a835b(0x17c)+_0x2b7b3d+'\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20'+_0x2b7b3d);if(!_0x5ea5dc['FFPkb'](existsSync,_0x4d80c0))throw new Error(_0x3a835b(0x17a)+_0x4d80c0+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20with\x20authentication,\x20or\x20ranger\x20profile\x20update');const _0x421d45=await _0x5ea5dc[_0x3a835b(0x17d)](getToken);if(!_0x421d45)throw new Error('No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]');const _0x30a758=await _0x5ea5dc[_0x3a835b(0x16a)](readFile,_0x4d80c0,_0x3a835b(0x16e)),_0x30c4b2=encrypt(_0x30a758,_0x421d45);await writeFile(_0x2ef9e9,_0x30c4b2),console['log']('\x0a✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x2ef9e9),console[_0x3a835b(0x179)]('\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.'),console['log']('\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.'),existsSync(_0x2ef9e9)&&(console[_0x3a835b(0x179)](_0x3a835b(0x17b)),console['log'](_0x3a835b(0x171)));}
|
package/build/commands/clean.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x72e0b6=_0x1d8f;(function(_0x2c41de,_0x3710cd){const _0x94d5b2=_0x1d8f,_0x1ee0fa=_0x2c41de();while(!![]){try{const _0x10276=parseInt(_0x94d5b2(0xda))/0x1+parseInt(_0x94d5b2(0xe2))/0x2*(-parseInt(_0x94d5b2(0xdb))/0x3)+-parseInt(_0x94d5b2(0xcf))/0x4*(-parseInt(_0x94d5b2(0xcd))/0x5)+-parseInt(_0x94d5b2(0xfc))/0x6*(-parseInt(_0x94d5b2(0xce))/0x7)+parseInt(_0x94d5b2(0xfb))/0x8+-parseInt(_0x94d5b2(0xcc))/0x9+-parseInt(_0x94d5b2(0xd4))/0xa;if(_0x10276===_0x3710cd)break;else _0x1ee0fa['push'](_0x1ee0fa['shift']());}catch(_0x2d8380){_0x1ee0fa['push'](_0x1ee0fa['shift']());}}}(_0x1962,0xbbc72));import{rm,readFile,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{spawn}from'child_process';import{deleteAllCredentials}from'./utils/keychain.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getCacheFile}from'./utils/sessionCache.js';import{getOpencodeConfigDir,getOpencodeSkillsDir}from'./utils/opencodeConfig.js';const skillsToRemove=['ranger',_0x72e0b6(0xee),_0x72e0b6(0xf4),_0x72e0b6(0xd8)],opencodePluginName='@ranger-testing/opencode-plugin';function parseJsonc(_0x3b75d1){const _0x4cf505=_0x72e0b6,_0x416efb=_0x3b75d1['replace'](/\/\*[\s\S]*?\*\//g,''),_0x38ad0e=_0x416efb['replace'](/^\s*\/\/.*$/gm,''),_0x10c611=_0x38ad0e[_0x4cf505(0x100)](/,\s*([}\]])/g,'$1');return JSON['parse'](_0x10c611);}function _0x1d8f(_0x303a0f,_0x1a2a1a){_0x303a0f=_0x303a0f-0xcc;const _0x1962fd=_0x1962();let _0x1d8f03=_0x1962fd[_0x303a0f];return _0x1d8f03;}async function removeOpencodePluginConfig(_0x18791c){const _0x560d49=_0x72e0b6,_0x3c6460={'RFHkh':_0x560d49(0xe3),'jwSOT':function(_0x2bdb11,_0x19bdd8){return _0x2bdb11!==_0x19bdd8;},'axtRl':function(_0x4c0b99,_0x439b57,_0x3fe187){return _0x4c0b99(_0x439b57,_0x3fe187);},'LUiCW':_0x560d49(0xdc),'ntnpg':function(_0x1b9c7a,_0x32f35a){return _0x1b9c7a(_0x32f35a);}};if(!existsSync(_0x18791c))return![];let _0xb329b1;try{const _0x739fc0=await _0x3c6460['axtRl'](readFile,_0x18791c,_0x3c6460[_0x560d49(0xe9)]);_0xb329b1=_0x3c6460[_0x560d49(0xde)](parseJsonc,_0x739fc0);}catch{return![];}const _0x284d91=Array[_0x560d49(0xf9)](_0xb329b1[_0x560d49(0xe7)])?_0xb329b1[_0x560d49(0xe7)]:[];if(_0x284d91[_0x560d49(0xe0)]===0x0)return![];const _0x3b5f9d=_0x284d91[_0x560d49(0xe1)](_0x2926db=>{const _0x56d246=_0x560d49;if(typeof _0x2926db!==_0x3c6460[_0x56d246(0xd3)])return!![];return _0x3c6460[_0x56d246(0xf8)](_0x2926db,opencodePluginName);});if(_0x3b5f9d[_0x560d49(0xe0)]===_0x284d91['length'])return![];return _0x3b5f9d[_0x560d49(0xe0)]===0x0?delete _0xb329b1['plugin']:_0xb329b1['plugin']=_0x3b5f9d,await writeFile(_0x18791c,JSON['stringify'](_0xb329b1,null,0x2)+'\x0a'),!![];}function _0x1962(){const _0x5ddbe5=['ntnpg','user','length','filter','678090KUbbPf','string','Vhtpk','QKprD','IIJBj','plugin','RORfS','LUiCW','pipe','✓\x20Uninstalled\x20Claude\x20plugin\x20(project\x20scope)','Nothing\x20to\x20clean\x20up.\x0a','remove','feature-tracker','close','HncfM','XfrLJ','platform','bxyKF','bug-bash','--scope','✓\x20Removed\x20project\x20skill:\x20','LaaeZ','jwSOT','isArray','win32','11850904OQfiJA','12HZAdHM','bBbUQ','zFSaT','ranger@trailhead','replace','jTvoF','3091743gHCWrp','369545TBVRhT','3682987olBvHD','32shbORi','log','KqztI','claude','RFHkh','16099300oMOPZH','PJDCS','✓\x20Uninstalled\x20Claude\x20plugin\x20(user\x20scope)','trupo','e2e-test-recommender','aGPxc','614813cGAfhS','9IUoSBt','utf-8','error'];_0x1962=function(){return _0x5ddbe5;};return _0x1962();}async function uninstallClaudePlugin(_0x5b7da8){const _0x350e93=_0x72e0b6,_0x30aa8f={'BYaht':function(_0x4a8a67,_0x1e40b5,_0x6006ef,_0x356420){return _0x4a8a67(_0x1e40b5,_0x6006ef,_0x356420);},'aGPxc':_0x350e93(0xea),'KqztI':_0x350e93(0xfa)};return new Promise(_0x77a0d9=>{const _0x4b1e01=_0x350e93,_0x4b12e9=[_0x4b1e01(0xe7),'uninstall',_0x4b1e01(0xff)];_0x5b7da8&&_0x4b12e9['push'](_0x4b1e01(0xf5),_0x5b7da8);const _0x5b2914=_0x30aa8f['BYaht'](spawn,_0x4b1e01(0xd2),_0x4b12e9,{'stdio':_0x30aa8f[_0x4b1e01(0xd9)],'shell':process[_0x4b1e01(0xf2)]===_0x30aa8f[_0x4b1e01(0xd1)]});_0x5b2914['on'](_0x4b1e01(0xef),_0x141529=>{_0x77a0d9(_0x141529===0x0);}),_0x5b2914['on']('error',()=>{_0x77a0d9(![]);});});}async function removeMarketplace(){const _0x4cbff4=_0x72e0b6,_0x2361f6={'MqQuW':function(_0x2f42e8,_0x3daaef,_0x1e7164,_0x407121){return _0x2f42e8(_0x3daaef,_0x1e7164,_0x407121);},'WokRy':'plugin','zFSaT':'marketplace','tNzLX':'trailhead','IATOx':'pipe','KvMJY':_0x4cbff4(0xef),'IIJBj':_0x4cbff4(0xdd)};return new Promise(_0x1d1840=>{const _0x24968c=_0x4cbff4,_0x2683f4={'Ookil':function(_0x4c9ba1,_0x255091){return _0x4c9ba1(_0x255091);},'XfrLJ':function(_0x15e3bf,_0x3494db){return _0x15e3bf===_0x3494db;}},_0x164cdb=_0x2361f6['MqQuW'](spawn,_0x24968c(0xd2),[_0x2361f6['WokRy'],_0x2361f6[_0x24968c(0xfe)],_0x24968c(0xed),_0x2361f6['tNzLX']],{'stdio':_0x2361f6['IATOx'],'shell':process['platform']===_0x24968c(0xfa)});_0x164cdb['on'](_0x2361f6['KvMJY'],_0x236fa3=>{const _0x3f2915=_0x24968c;_0x2683f4['Ookil'](_0x1d1840,_0x2683f4[_0x3f2915(0xf1)](_0x236fa3,0x0));}),_0x164cdb['on'](_0x2361f6[_0x24968c(0xe6)],()=>{_0x2683f4['Ookil'](_0x1d1840,![]);});});}export async function clean(){const _0x218672=_0x72e0b6,_0x36632f={'EhFVM':'\x0a🧹\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a','trupo':'✓\x20Removed\x20stored\x20credentials','lvXSF':function(_0x4dc24f){return _0x4dc24f();},'jTvoF':function(_0x21f093){return _0x21f093();},'HncfM':function(_0x3ae8d3,_0x597bb6){return _0x3ae8d3(_0x597bb6);},'ayiFv':function(_0xedbdf5,_0x338e5a,_0x2cbdd2){return _0xedbdf5(_0x338e5a,_0x2cbdd2);},'QKprD':function(_0x23fd77,_0x5e2e0f){return _0x23fd77(_0x5e2e0f);},'Vhtpk':'project','LaaeZ':function(_0x405faa,_0x50e140,_0x46eae9){return _0x405faa(_0x50e140,_0x46eae9);},'bxyKF':_0x218672(0xdf),'PJDCS':function(_0x166a95,_0x4e569a,_0x3a87cb){return _0x166a95(_0x4e569a,_0x3a87cb);},'FIqoZ':function(_0x31a5a9,_0x1d6567){return _0x31a5a9(_0x1d6567);},'bcYBi':'✓\x20Removed\x20OpenCode\x20plugin\x20(project\x20config)','bBbUQ':function(_0x59eccb){return _0x59eccb();},'PIFIE':'\x0a✅\x20Cleanup\x20complete!\x0a','RORfS':_0x218672(0xec)};console['log'](_0x36632f['EhFVM']);let _0x2d447b=![];try{await deleteAllCredentials(),console[_0x218672(0xd0)](_0x36632f[_0x218672(0xd7)]),_0x2d447b=!![];}catch{}const _0x1bf4b6=_0x36632f['lvXSF'](getCacheFile);existsSync(_0x1bf4b6)&&(await rm(_0x1bf4b6),_0x2d447b=!![]);const _0x107269=_0x36632f[_0x218672(0x101)](getRangerDir);_0x36632f[_0x218672(0xf0)](existsSync,_0x107269)&&(await rm(_0x107269,{'recursive':!![]}),console['log']('✓\x20Removed\x20.ranger/\x20directory'),_0x2d447b=!![]);const _0x3725ca=getProjectSkillsDir();for(const _0x5ac2ce of skillsToRemove){const _0x374ff9=_0x36632f['ayiFv'](join,_0x3725ca,_0x5ac2ce);_0x36632f[_0x218672(0xe5)](existsSync,_0x374ff9)&&(await rm(_0x374ff9,{'recursive':!![]}),console[_0x218672(0xd0)](_0x218672(0xf6)+_0x5ac2ce),_0x2d447b=!![]);}const _0x1500c2=_0x36632f['jTvoF'](getUserSkillsDir);for(const _0x4d86c6 of skillsToRemove){const _0x4ea15c=_0x36632f['ayiFv'](join,_0x1500c2,_0x4d86c6);existsSync(_0x4ea15c)&&(await rm(_0x4ea15c,{'recursive':!![]}),console['log']('✓\x20Removed\x20user\x20skill:\x20'+_0x4d86c6),_0x2d447b=!![]);}const _0x564590=getOpencodeSkillsDir(_0x36632f[_0x218672(0xe4)]);for(const _0x581c1a of skillsToRemove){const _0x53f7e2=_0x36632f[_0x218672(0xf7)](join,_0x564590,_0x581c1a);_0x36632f['HncfM'](existsSync,_0x53f7e2)&&(await _0x36632f[_0x218672(0xf7)](rm,_0x53f7e2,{'recursive':!![]}),console[_0x218672(0xd0)]('✓\x20Removed\x20OpenCode\x20project\x20skill:\x20'+_0x581c1a),_0x2d447b=!![]);}const _0x3d7d48=getOpencodeSkillsDir(_0x36632f[_0x218672(0xf3)]);for(const _0x1f27bc of skillsToRemove){const _0x2a5c55=join(_0x3d7d48,_0x1f27bc);existsSync(_0x2a5c55)&&(await rm(_0x2a5c55,{'recursive':!![]}),console['log']('✓\x20Removed\x20OpenCode\x20user\x20skill:\x20'+_0x1f27bc),_0x2d447b=!![]);}const _0x34a026=_0x36632f[_0x218672(0xd5)](join,_0x36632f['QKprD'](getOpencodeConfigDir,_0x36632f[_0x218672(0xe4)]),'opencode.json');await _0x36632f['FIqoZ'](removeOpencodePluginConfig,_0x34a026)&&(console['log'](_0x36632f['bcYBi']),_0x2d447b=!![]);const _0x5bf7d6=join(_0x36632f[_0x218672(0xf0)](getOpencodeConfigDir,_0x36632f[_0x218672(0xf3)]),'opencode.json');await removeOpencodePluginConfig(_0x5bf7d6)&&(console['log']('✓\x20Removed\x20OpenCode\x20plugin\x20(user\x20config)'),_0x2d447b=!![]);const _0x4adf0d=await _0x36632f[_0x218672(0xfd)](uninstallClaudePlugin);_0x4adf0d&&(console['log'](_0x218672(0xd6)),_0x2d447b=!![]);const _0x328b05=await _0x36632f[_0x218672(0xf0)](uninstallClaudePlugin,_0x36632f[_0x218672(0xe4)]);_0x328b05&&(console[_0x218672(0xd0)](_0x218672(0xeb)),_0x2d447b=!![]);const _0x125301=await _0x36632f[_0x218672(0xfd)](removeMarketplace);_0x125301&&(console[_0x218672(0xd0)]('✓\x20Removed\x20trailhead\x20marketplace'),_0x2d447b=!![]),_0x2d447b?console[_0x218672(0xd0)](_0x36632f['PIFIE']):console['log'](_0x36632f[_0x218672(0xe8)]);}
|
package/build/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x156d1f,_0x4fb32e){const _0x373f7a=_0x5b1a,_0x56d713=_0x156d1f();while(!![]){try{const _0x567ebf=-parseInt(_0x373f7a(0x12c))/0x1*(parseInt(_0x373f7a(0x140))/0x2)+parseInt(_0x373f7a(0x15c))/0x3*(parseInt(_0x373f7a(0x141))/0x4)+-parseInt(_0x373f7a(0x145))/0x5+parseInt(_0x373f7a(0x13b))/0x6*(-parseInt(_0x373f7a(0x135))/0x7)+parseInt(_0x373f7a(0x126))/0x8+-parseInt(_0x373f7a(0x139))/0x9+parseInt(_0x373f7a(0x14b))/0xa*(parseInt(_0x373f7a(0x146))/0xb);if(_0x567ebf===_0x4fb32e)break;else _0x56d713['push'](_0x56d713['shift']());}catch(_0x515fe5){_0x56d713['push'](_0x56d713['shift']());}}}(_0x41e6,0xbbdca));import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';import{fetchCloudProfile}from'./utils/cloudProfile.js';import{mergeCloudProfileSettings,readProfileOverrides,resetProfileOverrides,setProfileOverride,unsetProfileOverride}from'./utils/projectsConfig.js';const BOOLEAN_KEYS=['headless','allowInsecureLocalhost'];function parseLocalValue(_0x3009ec,_0x5613bd){const _0x15f5c9=_0x5b1a,_0x5bb198={'qaAIA':function(_0x1ef2aa,_0x5a3e66){return _0x1ef2aa===_0x5a3e66;},'KAWqh':'false'};if(BOOLEAN_KEYS['includes'](_0x3009ec)){if(_0x5613bd==='true')return!![];if(_0x5bb198['qaAIA'](_0x5613bd,_0x5bb198[_0x15f5c9(0x15b)]))return![];throw new Error('Invalid\x20value\x20for\x20'+_0x3009ec+_0x15f5c9(0x147));}return _0x5613bd;}function parseOverrideValue(_0x21c86e){const _0x43c98f=_0x5b1a,_0x3d617d={'ovCCr':'true','aKsfy':function(_0x4e7dbf,_0x399f97){return _0x4e7dbf===_0x399f97;},'USjsh':'null','GDiOo':_0x43c98f(0x13f),'MjmWl':function(_0xc83d48,_0x366f8){return _0xc83d48(_0x366f8);}};if(_0x21c86e===_0x3d617d[_0x43c98f(0x14c)])return!![];if(_0x3d617d[_0x43c98f(0x12d)](_0x21c86e,_0x43c98f(0x124)))return![];if(_0x21c86e===_0x3d617d[_0x43c98f(0x12b)])return null;if(_0x21c86e===_0x3d617d['GDiOo'])return undefined;if(/^-?\d+$/[_0x43c98f(0x130)](_0x21c86e)){const _0x28a4bd=Number(_0x21c86e);if(Number[_0x43c98f(0x13c)](_0x28a4bd))return _0x28a4bd;}if(/^-?\d+\.\d+$/['test'](_0x21c86e)){const _0x56435d=_0x3d617d['MjmWl'](Number,_0x21c86e);if(!Number[_0x43c98f(0x149)](_0x56435d))return _0x56435d;}const _0x14cb4c=_0x21c86e['trim']();if(_0x14cb4c['startsWith']('{')&&_0x14cb4c['endsWith']('}')||_0x14cb4c[_0x43c98f(0x122)]('[')&&_0x14cb4c[_0x43c98f(0x131)](']'))try{return JSON[_0x43c98f(0x13d)](_0x14cb4c);}catch{}return _0x21c86e;}function _0x5b1a(_0x5552d6,_0x475e07){_0x5552d6=_0x5552d6-0x120;const _0x41e6f3=_0x41e6();let _0x5b1af7=_0x41e6f3[_0x5552d6];return _0x5b1af7;}async function resolveProfileTarget(_0x13caf5){const _0x1d61dd=_0x5b1a,_0x5efd91={'dFSad':function(_0x2e27ef,_0x4c7a37){return _0x2e27ef(_0x4c7a37);},'tDtsH':'local'},_0x5d9f10=_0x5efd91['dFSad'](existsSync,_0x5efd91[_0x1d61dd(0x121)](getEnvDir,_0x13caf5));let _0x435075=![];try{const _0x401051=await fetchCloudProfile(_0x13caf5);_0x435075=_0x5efd91[_0x1d61dd(0x121)](Boolean,_0x401051);}catch{}if(_0x435075)return{'kind':_0x1d61dd(0x14d),'alsoExistsElsewhere':_0x5d9f10};if(_0x5d9f10)return{'kind':_0x5efd91[_0x1d61dd(0x134)],'alsoExistsElsewhere':![]};throw new Error(_0x1d61dd(0x15d)+_0x13caf5+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x13caf5);}function printDualExistsHint(_0x5967c7){const _0x10ca20=_0x5b1a;console[_0x10ca20(0x148)](_0x10ca20(0x123)+_0x5967c7+_0x10ca20(0x13e));}function getProjectPath(){return process['cwd']();}async function loadEffectiveCloudSettings(_0x225f40){const _0x791a95=_0x5b1a,_0x2aecaf={'khieM':function(_0x2a2844,_0x20efae,_0x5ef313){return _0x2a2844(_0x20efae,_0x5ef313);},'BiIaP':function(_0x46fe1f){return _0x46fe1f();},'lRxDU':function(_0xe76a1f,_0x52ae46){return _0xe76a1f??_0x52ae46;}},_0x53e431=await fetchCloudProfile(_0x225f40),_0x4b5c0b=_0x2aecaf['khieM'](readProfileOverrides,_0x2aecaf[_0x791a95(0x138)](getProjectPath),_0x225f40);return mergeCloudProfileSettings(_0x53e431?.['settings']??{},_0x2aecaf[_0x791a95(0x156)](_0x4b5c0b,undefined));}export async function configSet(_0x2023d3,_0x5e0dc5,_0x276419){const _0x1cf402=_0x5b1a,_0x5a4425={'wvUas':'cloud','FrzKP':function(_0xda4ac1,_0xe5e1a2){return _0xda4ac1(_0xe5e1a2);},'UKQfz':function(_0x4d95cd){return _0x4d95cd();},'oSgXg':function(_0x34f7f7,_0x2ed819){return _0x34f7f7(_0x2ed819);},'tjpeJ':function(_0x59742d,_0x4d6ad6,_0x2b882d){return _0x59742d(_0x4d6ad6,_0x2b882d);}},_0x198424=await resolveProfileTarget(_0x2023d3);if(_0x198424['kind']===_0x5a4425['wvUas']){if(_0x198424['alsoExistsElsewhere'])printDualExistsHint(_0x2023d3);const _0x206672=_0x5a4425[_0x1cf402(0x12f)](parseOverrideValue,_0x276419);setProfileOverride(_0x5a4425['UKQfz'](getProjectPath),_0x2023d3,_0x5e0dc5,_0x206672),console[_0x1cf402(0x148)](_0x1cf402(0x127)+_0x5e0dc5+'\x20=\x20'+JSON['stringify'](_0x206672)+_0x1cf402(0x13a)+_0x2023d3+'\x22');return;}const _0x33a24b=await _0x5a4425[_0x1cf402(0x133)](loadSettings,_0x2023d3),_0x110649=parseLocalValue(_0x5e0dc5,_0x276419);setNestedValue(_0x33a24b,_0x5e0dc5,_0x110649),await _0x5a4425['tjpeJ'](saveSettings,_0x2023d3,_0x33a24b),console[_0x1cf402(0x148)](_0x1cf402(0x127)+_0x5e0dc5+'\x20=\x20'+_0x110649+'\x20for\x20\x22'+_0x2023d3+'\x22');}export async function configGet(_0x1f0213,_0xbc4b43){const _0x1d611f=_0x5b1a,_0x403775={'NTwWm':function(_0x54809c,_0x3be3ad){return _0x54809c(_0x3be3ad);},'KmDDT':function(_0x243543,_0x5a2655){return _0x243543===_0x5a2655;},'TPndm':'cloud','pfuXv':function(_0xeff51f,_0x19dbf5){return _0xeff51f(_0x19dbf5);},'XduWN':function(_0x3e53cb,_0x2af1ad,_0x231451){return _0x3e53cb(_0x2af1ad,_0x231451);},'xwYrS':function(_0x560388,_0x440f2f){return _0x560388===_0x440f2f;},'zmORJ':_0x1d611f(0x143),'yikrf':function(_0x4db9d9,_0x45fcab,_0x1e93d9){return _0x4db9d9(_0x45fcab,_0x1e93d9);}},_0x27c1ce=await _0x403775[_0x1d611f(0x142)](resolveProfileTarget,_0x1f0213);if(_0x403775[_0x1d611f(0x153)](_0x27c1ce[_0x1d611f(0x144)],_0x403775[_0x1d611f(0x12a)])){const _0x4eb39a=await _0x403775['pfuXv'](loadEffectiveCloudSettings,_0x1f0213),_0xff8213=_0x403775[_0x1d611f(0x128)](getNestedValue,_0x4eb39a,_0xbc4b43);if(_0x403775[_0x1d611f(0x14a)](_0xff8213,undefined))console['log']('(not\x20set)');else typeof _0xff8213===_0x403775[_0x1d611f(0x150)]?console[_0x1d611f(0x148)](JSON[_0x1d611f(0x129)](_0xff8213,null,0x2)):console['log'](_0xff8213);return;}const _0x312773=await loadSettings(_0x1f0213),_0x383f93=_0x403775['yikrf'](getNestedValue,_0x312773,_0xbc4b43);if(_0x403775[_0x1d611f(0x153)](_0x383f93,undefined))console['log'](_0x1d611f(0x154));else typeof _0x383f93==='object'?console[_0x1d611f(0x148)](JSON[_0x1d611f(0x129)](_0x383f93,null,0x2)):console[_0x1d611f(0x148)](_0x383f93);}export async function configList(_0x191bf7){const _0x12d56e=_0x5b1a,_0x1c92f7={'mZMmm':function(_0x29560d,_0x322fc0){return _0x29560d(_0x322fc0);},'LVscT':_0x12d56e(0x14d),'wMRZt':function(_0xe3eb28,_0xf772a9){return _0xe3eb28===_0xf772a9;},'wUNMn':function(_0x359592,_0x21ee7f){return _0x359592(_0x21ee7f);}},_0x192cab=await _0x1c92f7['mZMmm'](resolveProfileTarget,_0x191bf7);if(_0x192cab[_0x12d56e(0x144)]===_0x1c92f7[_0x12d56e(0x159)]){const _0x17dd3a=await loadEffectiveCloudSettings(_0x191bf7);if(!_0x17dd3a||_0x1c92f7[_0x12d56e(0x155)](Object['keys'](_0x17dd3a)[_0x12d56e(0x12e)],0x0)){console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x191bf7+'\x22');return;}console['log'](JSON[_0x12d56e(0x129)](_0x17dd3a,null,0x2));return;}const _0x10fd0e=_0x1c92f7['wUNMn'](getSettingsPath,_0x191bf7);if(!existsSync(_0x10fd0e)){console[_0x12d56e(0x148)](_0x12d56e(0x14e)+_0x191bf7+'\x22');return;}const _0x52febb=await loadSettings(_0x191bf7),_0x2ecc6d=formatSettings(_0x52febb);!_0x2ecc6d?console[_0x12d56e(0x148)]('No\x20configuration\x20set\x20for\x20\x22'+_0x191bf7+'\x22'):console['log'](_0x2ecc6d);}function _0x41e6(){const _0x2fb2c9=['PkzGN','KmDDT','(not\x20set)','wMRZt','lRxDU','VcfUN','gqDgm','LVscT','Removed\x20','KAWqh','3Mcqwfg','Profile\x20\x22','TOllT','dFSad','startsWith','\x20\x20Note:\x20\x22','false','\x22\x20not\x20found','1570640OTGbvj','Set\x20','XduWN','stringify','TPndm','USjsh','9FgDOEv','aKsfy','length','FrzKP','test','endsWith','oGzPj','oSgXg','tDtsH','49Luvqic','Cleared\x20local\x20overrides\x20for\x20\x22','Key\x20\x22','BiIaP','9577098llSlAe','\x20for\x20\x22','6234vFknHo','isSafeInteger','parse','\x22\x20also\x20exists\x20as\x20a\x20local\x20profile;\x20editing\x20the\x20cloud\x20profile.','undefined','22694GKxMqg','2768996PuovFn','NTwWm','object','kind','2958205zwcFVe','18106682PQRAmL',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','log','isNaN','xwYrS','10eHItDR','ovCCr','cloud','No\x20configuration\x20set\x20for\x20\x22','lNRBr','zmORJ','alsoExistsElsewhere'];_0x41e6=function(){return _0x2fb2c9;};return _0x41e6();}export async function configUnset(_0x1547a5,_0x41fe32){const _0x1f54c1=_0x5b1a,_0x5fcf4c={'PkzGN':function(_0x2c15cf,_0x168af0){return _0x2c15cf(_0x168af0);},'VcfUN':function(_0x1d1223,_0x3efe5f){return _0x1d1223===_0x3efe5f;},'TOllT':function(_0x2c84bd,_0x511ba8,_0x16706b){return _0x2c84bd(_0x511ba8,_0x16706b);}},_0x463cdf=await _0x5fcf4c[_0x1f54c1(0x152)](resolveProfileTarget,_0x1547a5);if(_0x5fcf4c[_0x1f54c1(0x157)](_0x463cdf['kind'],_0x1f54c1(0x14d))){if(_0x463cdf[_0x1f54c1(0x151)])printDualExistsHint(_0x1547a5);const _0x5b1350=unsetProfileOverride(getProjectPath(),_0x1547a5,_0x41fe32);_0x5b1350?console['log'](_0x1f54c1(0x15a)+_0x41fe32+'\x20for\x20\x22'+_0x1547a5+'\x22'):console['log'](_0x1f54c1(0x137)+_0x41fe32+_0x1f54c1(0x125));return;}const _0x50d30c=await loadSettings(_0x1547a5),_0x46d4cf=_0x5fcf4c[_0x1f54c1(0x120)](deleteNestedValue,_0x50d30c,_0x41fe32);_0x46d4cf?(await saveSettings(_0x1547a5,_0x50d30c),console[_0x1f54c1(0x148)](_0x1f54c1(0x15a)+_0x41fe32)):console['log']('Key\x20\x22'+_0x41fe32+'\x22\x20not\x20found');}export async function configReset(_0x473a57){const _0x4ad376=_0x5b1a,_0x475076={'gqDgm':function(_0x27104f,_0x340f64){return _0x27104f(_0x340f64);},'oGzPj':function(_0x5e1aa7,_0x1dd660,_0x5c77a2){return _0x5e1aa7(_0x1dd660,_0x5c77a2);},'lNRBr':function(_0x46c552){return _0x46c552();}},_0x3a029e=await _0x475076[_0x4ad376(0x158)](resolveProfileTarget,_0x473a57);if(_0x3a029e['kind']===_0x4ad376(0x14d)){_0x475076[_0x4ad376(0x132)](resetProfileOverrides,_0x475076[_0x4ad376(0x14f)](getProjectPath),_0x473a57),console['log'](_0x4ad376(0x136)+_0x473a57+'\x22');return;}console['log']('\x22'+_0x473a57+'\x22\x20is\x20a\x20local\x20profile.\x20Use\x20\x22ranger\x20profile\x20config\x20unset\x20'+_0x473a57+'\x20<key>\x22\x20to\x20remove\x20individual\x20values.');}
|
|
1
|
+
const _0x59fecd=_0x43c2;(function(_0x3268d6,_0x176c1a){const _0xcc867c=_0x43c2,_0x405b89=_0x3268d6();while(!![]){try{const _0x39b801=parseInt(_0xcc867c(0x17c))/0x1*(-parseInt(_0xcc867c(0x19d))/0x2)+parseInt(_0xcc867c(0x18d))/0x3*(parseInt(_0xcc867c(0x189))/0x4)+parseInt(_0xcc867c(0x18f))/0x5*(-parseInt(_0xcc867c(0x194))/0x6)+parseInt(_0xcc867c(0x17a))/0x7+parseInt(_0xcc867c(0x1a0))/0x8*(-parseInt(_0xcc867c(0x182))/0x9)+-parseInt(_0xcc867c(0x197))/0xa+-parseInt(_0xcc867c(0x192))/0xb*(-parseInt(_0xcc867c(0x17b))/0xc);if(_0x39b801===_0x176c1a)break;else _0x405b89['push'](_0x405b89['shift']());}catch(_0x52b56a){_0x405b89['push'](_0x405b89['shift']());}}}(_0x311b,0xb343a));function _0x43c2(_0x467eba,_0x493ec4){_0x467eba=_0x467eba-0x16b;const _0x311bfb=_0x311b();let _0x43c282=_0x311bfb[_0x467eba];return _0x43c282;}import{existsSync}from'fs';import{loadSettings,saveSettings,getNestedValue,setNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';import{fetchCloudProfile}from'./utils/cloudProfile.js';import{mergeCloudProfileSettings,readProfileOverrides,resetProfileOverrides,setProfileOverride,unsetProfileOverride}from'./utils/projectsConfig.js';const BOOLEAN_KEYS=[_0x59fecd(0x183),'allowInsecureLocalhost'];function parseLocalValue(_0x4a854a,_0x183b91){const _0x12d004=_0x59fecd,_0x3e3f92={'phjFm':'true'};if(BOOLEAN_KEYS[_0x12d004(0x186)](_0x4a854a)){if(_0x183b91===_0x3e3f92[_0x12d004(0x193)])return!![];if(_0x183b91==='false')return![];throw new Error(_0x12d004(0x172)+_0x4a854a+_0x12d004(0x170));}return _0x183b91;}function _0x311b(){const _0x591261=['log','parse','3504174MxBNnf','alsoExistsElsewhere','25OGzqBr','test','xUlgl','5500583mwdghC','phjFm','775218xuAzcT','object','CtbFp','6785210XOabnn','vmZZW','startsWith','QldwA','YoYqF','\x20for\x20\x22','102670sCAAdt','\x20<key>\x22\x20to\x20remove\x20individual\x20values.','\x20\x20Note:\x20\x22','8gecNXA','Removed\x20','YeMIR','GtnEx','syfVF','DTOLO','trim','GUULA','Cleared\x20local\x20overrides\x20for\x20\x22','local','cloud','Set\x20',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','xdZuC','Invalid\x20value\x20for\x20','true','null','keys','cvJBq','endsWith','Key\x20\x22','(not\x20set)','10268734hJMWwe','12Thmmvq','14TDZQXQ','kind','aqAva','NASsw','\x22\x20not\x20found','stringify','3218229VSwMRA','headless','LFich','undefined','includes','isNaN','\x22\x20also\x20exists\x20as\x20a\x20local\x20profile;\x20editing\x20the\x20cloud\x20profile.','4tDtpqk','\x20=\x20'];_0x311b=function(){return _0x591261;};return _0x311b();}function parseOverrideValue(_0x5e61f0){const _0x4ace18=_0x59fecd,_0x1460f3={'umuHs':function(_0x505922,_0x120726){return _0x505922===_0x120726;},'GUULA':_0x4ace18(0x185)};if(_0x5e61f0===_0x4ace18(0x173))return!![];if(_0x1460f3['umuHs'](_0x5e61f0,'false'))return![];if(_0x1460f3['umuHs'](_0x5e61f0,_0x4ace18(0x174)))return null;if(_0x5e61f0===_0x1460f3[_0x4ace18(0x16b)])return undefined;if(/^-?\d+$/['test'](_0x5e61f0)){const _0x423784=Number(_0x5e61f0);if(Number['isSafeInteger'](_0x423784))return _0x423784;}if(/^-?\d+\.\d+$/[_0x4ace18(0x190)](_0x5e61f0)){const _0x389d68=Number(_0x5e61f0);if(!Number[_0x4ace18(0x187)](_0x389d68))return _0x389d68;}const _0x40e622=_0x5e61f0[_0x4ace18(0x1a6)]();if(_0x40e622[_0x4ace18(0x199)]('{')&&_0x40e622[_0x4ace18(0x177)]('}')||_0x40e622[_0x4ace18(0x199)]('[')&&_0x40e622[_0x4ace18(0x177)](']'))try{return JSON[_0x4ace18(0x18c)](_0x40e622);}catch{}return _0x5e61f0;}async function resolveProfileTarget(_0x273a00){const _0x1a1434=_0x59fecd,_0x1cc261={'syfVF':function(_0x4569e4,_0x4bcaf4){return _0x4569e4(_0x4bcaf4);},'vObzw':function(_0x2e2ecd,_0x516448){return _0x2e2ecd(_0x516448);},'jZWVJ':function(_0x1a71a1,_0x167309){return _0x1a71a1(_0x167309);}},_0x93490d=_0x1cc261[_0x1a1434(0x1a4)](existsSync,getEnvDir(_0x273a00));let _0xf3fad7=![];try{const _0x529baf=await _0x1cc261['vObzw'](fetchCloudProfile,_0x273a00);_0xf3fad7=_0x1cc261['jZWVJ'](Boolean,_0x529baf);}catch{}if(_0xf3fad7)return{'kind':'cloud','alsoExistsElsewhere':_0x93490d};if(_0x93490d)return{'kind':_0x1a1434(0x16d),'alsoExistsElsewhere':![]};throw new Error('Profile\x20\x22'+_0x273a00+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x273a00);}function printDualExistsHint(_0x8043be){const _0x38bab3=_0x59fecd;console[_0x38bab3(0x18b)](_0x38bab3(0x19f)+_0x8043be+_0x38bab3(0x188));}function getProjectPath(){return process['cwd']();}async function loadEffectiveCloudSettings(_0x5af29e){const _0x360a4d=_0x59fecd,_0x560efc={'iFRSF':function(_0x2fe962,_0x2521c4){return _0x2fe962(_0x2521c4);},'TKFnK':function(_0x107fc8,_0x2116e0,_0x242738){return _0x107fc8(_0x2116e0,_0x242738);},'QldwA':function(_0x4797d3,_0x352315){return _0x4797d3??_0x352315;}},_0x1260e2=await _0x560efc['iFRSF'](fetchCloudProfile,_0x5af29e),_0x76472b=readProfileOverrides(getProjectPath(),_0x5af29e);return _0x560efc['TKFnK'](mergeCloudProfileSettings,_0x1260e2?.['settings']??{},_0x560efc[_0x360a4d(0x19a)](_0x76472b,undefined));}export async function configSet(_0x110e99,_0x407fee,_0x5a136f){const _0x145e79=_0x59fecd,_0x1fb1a3={'vmZZW':function(_0xbd3c7d,_0x3222c5){return _0xbd3c7d(_0x3222c5);},'GtnEx':function(_0x4031de){return _0x4031de();},'Xxfie':function(_0x3bd81b,_0x25990d,_0x4f2873){return _0x3bd81b(_0x25990d,_0x4f2873);},'BCEUX':function(_0xf41f37,_0x29ba26,_0x3a35c0,_0x118ee0){return _0xf41f37(_0x29ba26,_0x3a35c0,_0x118ee0);},'xdZuC':function(_0x37b0c6,_0xe12ba2,_0x3c156d){return _0x37b0c6(_0xe12ba2,_0x3c156d);}},_0xfef237=await _0x1fb1a3['vmZZW'](resolveProfileTarget,_0x110e99);if(_0xfef237[_0x145e79(0x17d)]==='cloud'){if(_0xfef237[_0x145e79(0x18e)])printDualExistsHint(_0x110e99);const _0x242c5f=_0x1fb1a3['vmZZW'](parseOverrideValue,_0x5a136f);setProfileOverride(_0x1fb1a3[_0x145e79(0x1a3)](getProjectPath),_0x110e99,_0x407fee,_0x242c5f),console[_0x145e79(0x18b)](_0x145e79(0x16f)+_0x407fee+_0x145e79(0x18a)+JSON[_0x145e79(0x181)](_0x242c5f)+_0x145e79(0x19c)+_0x110e99+'\x22');return;}const _0x3d518f=await _0x1fb1a3[_0x145e79(0x198)](loadSettings,_0x110e99),_0x544a96=_0x1fb1a3['Xxfie'](parseLocalValue,_0x407fee,_0x5a136f);_0x1fb1a3['BCEUX'](setNestedValue,_0x3d518f,_0x407fee,_0x544a96),await _0x1fb1a3[_0x145e79(0x171)](saveSettings,_0x110e99,_0x3d518f),console[_0x145e79(0x18b)](_0x145e79(0x16f)+_0x407fee+'\x20=\x20'+_0x544a96+_0x145e79(0x19c)+_0x110e99+'\x22');}export async function configGet(_0x39b507,_0x2950ba){const _0x212103=_0x59fecd,_0x865ac0={'YeMIR':function(_0x4a40b6,_0x437abc){return _0x4a40b6(_0x437abc);},'bRNlu':'cloud','hmMvK':function(_0x1aeb93,_0x4c6213,_0x21ae71){return _0x1aeb93(_0x4c6213,_0x21ae71);},'xUlgl':function(_0x825c3b,_0x48626c){return _0x825c3b===_0x48626c;},'NIKnk':function(_0x488c7c,_0x41660f){return _0x488c7c(_0x41660f);},'LFich':function(_0x113b69,_0x38dacf){return _0x113b69===_0x38dacf;}},_0x27943f=await _0x865ac0[_0x212103(0x1a2)](resolveProfileTarget,_0x39b507);if(_0x27943f['kind']===_0x865ac0['bRNlu']){const _0x5dbdc5=await loadEffectiveCloudSettings(_0x39b507),_0x65caa3=_0x865ac0['hmMvK'](getNestedValue,_0x5dbdc5,_0x2950ba);if(_0x865ac0['xUlgl'](_0x65caa3,undefined))console[_0x212103(0x18b)]('(not\x20set)');else _0x865ac0[_0x212103(0x191)](typeof _0x65caa3,_0x212103(0x195))?console['log'](JSON[_0x212103(0x181)](_0x65caa3,null,0x2)):console[_0x212103(0x18b)](_0x65caa3);return;}const _0x49d37c=await _0x865ac0['NIKnk'](loadSettings,_0x39b507),_0x51af4c=getNestedValue(_0x49d37c,_0x2950ba);if(_0x51af4c===undefined)console[_0x212103(0x18b)](_0x212103(0x179));else _0x865ac0[_0x212103(0x184)](typeof _0x51af4c,'object')?console[_0x212103(0x18b)](JSON['stringify'](_0x51af4c,null,0x2)):console[_0x212103(0x18b)](_0x51af4c);}export async function configList(_0x141e26){const _0x3a88ea=_0x59fecd,_0x5b1f21={'CtbFp':function(_0x2b07a8,_0x2beda6){return _0x2b07a8===_0x2beda6;},'aqAva':'cloud','YoYqF':function(_0x2743c8,_0x4c42fd){return _0x2743c8(_0x4c42fd);}},_0x4afa20=await resolveProfileTarget(_0x141e26);if(_0x5b1f21[_0x3a88ea(0x196)](_0x4afa20['kind'],_0x5b1f21[_0x3a88ea(0x17e)])){const _0x36c057=await loadEffectiveCloudSettings(_0x141e26);if(!_0x36c057||_0x5b1f21[_0x3a88ea(0x196)](Object[_0x3a88ea(0x175)](_0x36c057)['length'],0x0)){console[_0x3a88ea(0x18b)]('No\x20configuration\x20set\x20for\x20\x22'+_0x141e26+'\x22');return;}console['log'](JSON[_0x3a88ea(0x181)](_0x36c057,null,0x2));return;}const _0x5a6070=getSettingsPath(_0x141e26);if(!existsSync(_0x5a6070)){console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x141e26+'\x22');return;}const _0xdc1222=await _0x5b1f21[_0x3a88ea(0x19b)](loadSettings,_0x141e26),_0x25d906=formatSettings(_0xdc1222);!_0x25d906?console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x141e26+'\x22'):console[_0x3a88ea(0x18b)](_0x25d906);}export async function configUnset(_0x5de4e1,_0x13eb66){const _0x3f5875=_0x59fecd,_0x416ab0={'gOBrW':function(_0x58a4c4,_0x53faf9){return _0x58a4c4(_0x53faf9);},'cvJBq':function(_0x5c033d,_0x25469a){return _0x5c033d===_0x25469a;}},_0x51337d=await _0x416ab0['gOBrW'](resolveProfileTarget,_0x5de4e1);if(_0x416ab0[_0x3f5875(0x176)](_0x51337d[_0x3f5875(0x17d)],'cloud')){if(_0x51337d['alsoExistsElsewhere'])printDualExistsHint(_0x5de4e1);const _0x483336=unsetProfileOverride(getProjectPath(),_0x5de4e1,_0x13eb66);_0x483336?console[_0x3f5875(0x18b)]('Removed\x20'+_0x13eb66+_0x3f5875(0x19c)+_0x5de4e1+'\x22'):console[_0x3f5875(0x18b)](_0x3f5875(0x178)+_0x13eb66+_0x3f5875(0x180));return;}const _0x13654d=await loadSettings(_0x5de4e1),_0xbea227=deleteNestedValue(_0x13654d,_0x13eb66);_0xbea227?(await saveSettings(_0x5de4e1,_0x13654d),console['log'](_0x3f5875(0x1a1)+_0x13eb66)):console['log'](_0x3f5875(0x178)+_0x13eb66+_0x3f5875(0x180));}export async function configReset(_0x5c8921){const _0x26a0a6=_0x59fecd,_0x536804={'DTOLO':function(_0x3cbb9a,_0x4feca5){return _0x3cbb9a(_0x4feca5);},'RCRiT':function(_0x5a8d8b,_0x26aeaa){return _0x5a8d8b===_0x26aeaa;},'NASsw':function(_0x1f823b,_0x5e5350,_0x5da2bf){return _0x1f823b(_0x5e5350,_0x5da2bf);}},_0xfc2378=await _0x536804[_0x26a0a6(0x1a5)](resolveProfileTarget,_0x5c8921);if(_0x536804['RCRiT'](_0xfc2378[_0x26a0a6(0x17d)],_0x26a0a6(0x16e))){_0x536804[_0x26a0a6(0x17f)](resetProfileOverrides,getProjectPath(),_0x5c8921),console[_0x26a0a6(0x18b)](_0x26a0a6(0x16c)+_0x5c8921+'\x22');return;}console['log']('\x22'+_0x5c8921+'\x22\x20is\x20a\x20local\x20profile.\x20Use\x20\x22ranger\x20profile\x20config\x20unset\x20'+_0x5c8921+_0x26a0a6(0x19e));}
|
package/build/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x347a3a=_0x23dc;(function(_0x1e3cf4,_0x5b3763){const _0x55148f=_0x23dc,_0x967605=_0x1e3cf4();while(!![]){try{const _0x3b7b6e=parseInt(_0x55148f(0x121))/0x1+-parseInt(_0x55148f(0x132))/0x2*(-parseInt(_0x55148f(0x12a))/0x3)+-parseInt(_0x55148f(0x122))/0x4*(-parseInt(_0x55148f(0x135))/0x5)+-parseInt(_0x55148f(0x144))/0x6+-parseInt(_0x55148f(0x13c))/0x7*(parseInt(_0x55148f(0x134))/0x8)+parseInt(_0x55148f(0x12d))/0x9*(-parseInt(_0x55148f(0x12f))/0xa)+parseInt(_0x55148f(0x142))/0xb;if(_0x3b7b6e===_0x5b3763)break;else _0x967605['push'](_0x967605['shift']());}catch(_0x3f62d0){_0x967605['push'](_0x967605['shift']());}}}(_0xf9e9,0xcfe44));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';function _0x23dc(_0x47519b,_0x4118ff){_0x47519b=_0x47519b-0x11d;const _0xf9e9dd=_0xf9e9();let _0x23dc9c=_0xf9e9dd[_0x47519b];return _0x23dc9c;}import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const NON_ENV_DIRS=[_0x347a3a(0x137),_0x347a3a(0x13a),_0x347a3a(0x12b),'local','ci'];export async function getEnvNames(){const _0x35beba=_0x347a3a,_0x54c8ab={'kxjsf':function(_0x28d3cf){return _0x28d3cf();},'saAZX':'local','xdKVn':function(_0x2a4004,_0x382d4d){return _0x2a4004(_0x382d4d);},'qIdMq':function(_0x4d156b,_0x17ddc3,_0x77bd23){return _0x4d156b(_0x17ddc3,_0x77bd23);},'DVmwQ':_0x35beba(0x13e),'szqXV':'settings.json'},_0x503f9f=getRangerDir();if(!existsSync(_0x503f9f))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0xc881ae=await _0x54c8ab['kxjsf'](readActiveProfileName),_0xcf100=[],_0x4d49b8={},_0xfc78f8=join(_0x503f9f,_0x54c8ab['saAZX']);if(_0x54c8ab['xdKVn'](existsSync,_0xfc78f8)){const _0x4c5edc=await _0x54c8ab[_0x35beba(0x12c)](readdir,_0xfc78f8);for(const _0x3f43af of _0x4c5edc){const _0x4702e8=join(_0xfc78f8,_0x3f43af),_0x285349=await _0x54c8ab[_0x35beba(0x12c)](stat,_0x4702e8);_0x285349['isDirectory']()&&(_0xcf100[_0x35beba(0x13f)](_0x3f43af),_0x4d49b8[_0x3f43af]=_0x35beba(0x12e));}}const _0x10d22b=join(_0x503f9f,'ci');if(_0x54c8ab['xdKVn'](existsSync,_0x10d22b)){const _0x411991=await readdir(_0x10d22b);for(const _0x8af420 of _0x411991){const _0x2e95df=_0x54c8ab['qIdMq'](join,_0x10d22b,_0x8af420),_0x543a83=await _0x54c8ab['xdKVn'](stat,_0x2e95df);_0x543a83['isDirectory']()&&(_0xcf100[_0x35beba(0x13f)](_0x8af420),_0x4d49b8[_0x8af420]='ci');}}const _0x4b71d8=await readdir(_0x503f9f);for(const _0x1dc673 of _0x4b71d8){if(NON_ENV_DIRS[_0x35beba(0x126)](_0x1dc673))continue;if(_0x1dc673[_0x35beba(0x131)]('.'))continue;if(_0x1dc673['endsWith'](_0x54c8ab['DVmwQ']))continue;const _0x548cc2=join(_0x503f9f,_0x1dc673),_0x49c1b2=await _0x54c8ab['xdKVn'](stat,_0x548cc2);_0x49c1b2[_0x35beba(0x120)]()&&_0x54c8ab['xdKVn'](existsSync,join(_0x548cc2,_0x54c8ab['szqXV']))&&(!_0xcf100['includes'](_0x1dc673)&&(_0xcf100['push'](_0x1dc673),_0x4d49b8[_0x1dc673]=_0x35beba(0x136)));}return{'envNames':_0xcf100,'activeEnv':_0xc881ae,'envTypes':_0x4d49b8};}export async function envList(){const _0x340435=_0x347a3a,_0x52a6fa={'VATnf':function(_0x229ccc){return _0x229ccc();},'hUDsm':function(_0x154753,_0x501916){return _0x154753===_0x501916;},'dxKmP':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','OMQXX':'local','PJXTF':function(_0x2faf9e,_0x29d763){return _0x2faf9e===_0x29d763;},'KpDlw':function(_0x4941b0,_0x4e9b02){return _0x4941b0===_0x4e9b02;},'VrBET':'no\x20session'},{envNames:_0x4de96e,activeEnv:_0x164300,envTypes:_0x20a42b}=await _0x52a6fa['VATnf'](getEnvNames);let _0x15958c=[];try{_0x15958c=await listCloudProfiles();}catch{}if(_0x52a6fa['hUDsm'](_0x4de96e[_0x340435(0x128)],0x0)&&_0x15958c['length']===0x0){console[_0x340435(0x143)](_0x340435(0x13b)),console['log'](_0x52a6fa[_0x340435(0x133)]);return;}const _0x1607dd=new Set(_0x15958c[_0x340435(0x123)](_0x30191b=>_0x30191b[_0x340435(0x140)]));if(_0x4de96e['length']>0x0){console['log']('\x0aLocal\x20Profiles:');for(const _0x1b17f3 of _0x4de96e[_0x340435(0x13d)]()){const _0x5102ba=_0x1b17f3===_0x164300&&!_0x1607dd['has'](_0x1b17f3),_0x370348=_0x20a42b[_0x1b17f3]||_0x52a6fa[_0x340435(0x11d)],_0x450ea1=await loadSettings(_0x1b17f3),_0xe03ce=_0x52a6fa[_0x340435(0x125)](_0x370348,'legacy')?'':'\x20['+_0x370348+']';console[_0x340435(0x143)]('\x20\x20'+(_0x5102ba?'*\x20':'\x20\x20')+_0x1b17f3+_0xe03ce),_0x450ea1['baseUrl']&&console['log']('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x450ea1[_0x340435(0x141)]),_0x450ea1['environmentDetails']&&console[_0x340435(0x143)]('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x450ea1['environmentDetails']);}}if(_0x15958c[_0x340435(0x128)]>0x0){console[_0x340435(0x143)]('\x0aCloud\x20Profiles:');for(const _0x88bc7f of _0x15958c['sort']((_0x335e8c,_0x259a4a)=>_0x335e8c['name'][_0x340435(0x138)](_0x259a4a['name']))){const _0x34a184=_0x52a6fa[_0x340435(0x129)](_0x88bc7f['name'],_0x164300),_0x4cc061=_0x88bc7f['environmentKey']?'\x20('+_0x88bc7f[_0x340435(0x124)]+')':'',_0x2659f6=_0x88bc7f['sessionUpdatedAt']?_0x340435(0x11f)+_0x88bc7f[_0x340435(0x130)]+')':_0x52a6fa['VrBET'];console[_0x340435(0x143)]('\x20\x20'+(_0x34a184?'*\x20':'\x20\x20')+_0x88bc7f['name']+_0x340435(0x11e)+_0x4cc061),console[_0x340435(0x143)](_0x340435(0x127)+_0x2659f6);}}_0x164300&&console[_0x340435(0x143)](_0x340435(0x139));}function _0xf9e9(){const _0x19fbd0=['push','name','baseUrl','30893269riFMDy','log','8755440mifFwZ','OMQXX','\x20[cloud]','cached\x20(updated\x20','isDirectory','149420tKjeXH','1048808GaaPsp','map','environmentKey','PJXTF','includes','\x20\x20\x20\x20\x20\x20Session:\x20','length','KpDlw','606273IAIsBO','reports','xdKVn','3339567NbXZrR','local','30NcbnVO','sessionUpdatedAt','startsWith','8stZLbq','dxKmP','302256dNxXMj','5tobYgY','legacy','sessions','localeCompare','\x0a*\x20=\x20active\x20profile','bug-bashes','\x0aNo\x20profiles\x20found.','112iidXtI','sort','.txt'];_0xf9e9=function(){return _0x19fbd0;};return _0xf9e9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x343868,_0x21a2a5){const _0x4a1b91=_0x28e1,_0x272187=_0x343868();while(!![]){try{const _0x3dfe15=-parseInt(_0x4a1b91(0x188))/0x1+-parseInt(_0x4a1b91(0x182))/0x2+-parseInt(_0x4a1b91(0x14c))/0x3+-parseInt(_0x4a1b91(0x1cb))/0x4*(parseInt(_0x4a1b91(0x1b1))/0x5)+-parseInt(_0x4a1b91(0x14e))/0x6*(parseInt(_0x4a1b91(0x1bf))/0x7)+parseInt(_0x4a1b91(0x1d5))/0x8+parseInt(_0x4a1b91(0x1d6))/0x9*(parseInt(_0x4a1b91(0x11b))/0xa);if(_0x3dfe15===_0x21a2a5)break;else _0x272187['push'](_0x272187['shift']());}catch(_0x52f18a){_0x272187['push'](_0x272187['shift']());}}}(_0x31b5,0x36d08));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x2044a0 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x4f2f96=>'\x1b[1m'+_0x4f2f96+'\x1b[0m';function getGitRepoUrl(){const _0x478d4b=_0x28e1,_0x28c5c9={'cEjZy':function(_0x398023,_0x48574e,_0x470916){return _0x398023(_0x48574e,_0x470916);},'njFbq':'git\x20remote\x20get-url\x20origin','WoVGN':_0x478d4b(0x16b)};try{const _0xd772b2=_0x28c5c9[_0x478d4b(0x123)](execSync,_0x28c5c9[_0x478d4b(0x11f)],{'encoding':_0x478d4b(0x127),'stdio':[_0x28c5c9['WoVGN'],'pipe',_0x478d4b(0x16b)]})['trim']();return _0xd772b2[_0x478d4b(0x17a)](/\.git$/,'')['replace'](/^git@github\.com:/,'github.com/')[_0x478d4b(0x17a)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x42b364=_0x28e1,_0x4b6ebc={'zLYhd':function(_0x53cae9,_0x56b4d3,_0x2b3f57){return _0x53cae9(_0x56b4d3,_0x2b3f57);},'cJCjZ':'git\x20rev-parse\x20--abbrev-ref\x20HEAD','FGCEC':'utf-8','hwzoC':_0x42b364(0x16b)};try{return _0x4b6ebc['zLYhd'](execSync,_0x4b6ebc[_0x42b364(0x154)],{'encoding':_0x4b6ebc[_0x42b364(0x11c)],'stdio':[_0x4b6ebc['hwzoC'],_0x42b364(0x16b),_0x42b364(0x16b)]})['trim']();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x4b6a22=_0x28e1,_0x30b3b3={'BUpNW':function(_0x5b9453,_0x2a7f11,_0x4f8aef){return _0x5b9453(_0x2a7f11,_0x4f8aef);},'MlONv':function(_0x4905f8){return _0x4905f8();}},_0x3369ad=_0x30b3b3[_0x4b6a22(0x172)](join,_0x30b3b3[_0x4b6a22(0x15b)](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x3369ad))return null;try{const _0x1aa3ea=await readFile(_0x3369ad,'utf-8');return _0x1aa3ea[_0x4b6a22(0x15e)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x589cfc){const _0x18e33f=_0x28e1,_0xdc3e43={'KkitV':function(_0x36f61b){return _0x36f61b();},'ouWWV':function(_0x45dea1,_0x3dfc39,_0x3ee61c){return _0x45dea1(_0x3dfc39,_0x3ee61c);},'lBeXd':function(_0x15b9bd,_0x30e660){return _0x15b9bd(_0x30e660);},'lcLyt':function(_0x50f462,_0x3200d8,_0x53eb47,_0x3ba0e2){return _0x50f462(_0x3200d8,_0x53eb47,_0x3ba0e2);},'pJyCb':'utf-8'},_0x24ecb8=_0xdc3e43['KkitV'](getRangerDir),_0x408f41=_0xdc3e43[_0x18e33f(0x131)](join,_0x24ecb8,ACTIVE_FEATURE_FILE);!_0xdc3e43[_0x18e33f(0x1af)](existsSync,_0x24ecb8)&&await mkdir(_0x24ecb8,{'recursive':!![]}),await _0xdc3e43['lcLyt'](writeFile,_0x408f41,_0x589cfc,_0xdc3e43['pJyCb']);}function getProgressDisplay(_0x5ed72a){const _0x3fae4e=_0x28e1,_0x2b6ac6={'bKhRC':function(_0x415e78,_0x3e06df){return _0x415e78+_0x3e06df;},'bGUzU':function(_0x224a01,_0x12a3f3){return _0x224a01===_0x12a3f3;},'WoTaS':function(_0x44df82,_0x19ce3a){return _0x44df82*_0x19ce3a;},'mDiol':function(_0x4e6e41,_0xae645){return _0x4e6e41/_0xae645;},'FQcWd':function(_0x180b51,_0x2db492){return _0x180b51-_0x2db492;},'FpKmm':function(_0x6dcdd6,_0x33f2c1){return _0x6dcdd6>_0x33f2c1;}},_0x426fa4=_0x5ed72a[_0x3fae4e(0x144)]||0x0,_0x2f17cc=_0x5ed72a[_0x3fae4e(0x10b)]||0x0,_0x331c0c=_0x5ed72a[_0x3fae4e(0x1b6)]||0x0,_0x1502bd=_0x5ed72a[_0x3fae4e(0x1d8)]||0x0,_0xe133c8=_0x5ed72a[_0x3fae4e(0x1db)]||0x0,_0x28eb1f=_0x2b6ac6['bKhRC'](_0x426fa4+_0x2f17cc+_0x331c0c+_0x1502bd,_0xe133c8);if(_0x2b6ac6['bGUzU'](_0x28eb1f,0x0))return'-';const _0x2cca7f=0xa,_0x1e4f2d=Math[_0x3fae4e(0x129)](_0x2b6ac6['WoTaS'](_0x2b6ac6['mDiol'](_0x426fa4,_0x28eb1f),_0x2cca7f)),_0x8949f3='█'[_0x3fae4e(0x1a4)](_0x1e4f2d)+'░'['repeat'](_0x2b6ac6[_0x3fae4e(0x106)](_0x2cca7f,_0x1e4f2d)),_0x57891e=[];if(_0x331c0c>0x0)_0x57891e[_0x3fae4e(0x169)](_0x331c0c+'\x20blocked');if(_0x1502bd>0x0)_0x57891e[_0x3fae4e(0x169)](_0x1502bd+_0x3fae4e(0x119));if(_0x2b6ac6['FpKmm'](_0x2f17cc,0x0))_0x57891e[_0x3fae4e(0x169)](_0x2f17cc+_0x3fae4e(0x1e3));const _0x538356=_0x57891e['length']>0x0?'\x20('+_0x57891e['join'](',\x20')+')':'';return _0x8949f3+'\x20'+_0x426fa4+'/'+_0x28eb1f+'\x20verified'+_0x538356;}function getCurrentSessionItems(_0x4e9894,_0x260db5){const _0x5245f4=_0x28e1;if(!_0x4e9894['currentSessionId'])return _0x260db5['filter'](_0x26b403=>!_0x26b403['sessionId']);return _0x260db5['filter'](_0xc16a66=>_0xc16a66[_0x5245f4(0x195)]===_0x4e9894[_0x5245f4(0x1b7)]||!_0xc16a66[_0x5245f4(0x195)]);}function displayFeature(_0x173f0e,_0x36a70f){const _0xb21d7d=_0x28e1,_0x9102c9={'zhiZd':function(_0x57d3cc,_0x53c3e2){return _0x57d3cc<_0x53c3e2;},'IvxTl':'closed','SAuEW':function(_0x5ec2bd,_0x5b1c11){return _0x5ec2bd===_0x5b1c11;},'lrCik':_0xb21d7d(0x1d1),'FldiW':function(_0x404000,_0x13b780){return _0x404000!==_0x13b780;},'HDlTX':'verified','YvEAG':_0xb21d7d(0x19b),'SLrpA':function(_0x2e4620,_0x5cd2cf){return _0x2e4620===_0x5cd2cf;},'VYCXd':function(_0x5459e4,_0x1e7869){return _0x5459e4===_0x1e7869;}};console['log']('\x0a'+_0x173f0e['name']+'\x20('+_0x173f0e['dashboardUrl']+')');_0x173f0e['stats']&&console['log'](_0xb21d7d(0x185)+getProgressDisplay(_0x173f0e['stats']));_0x173f0e['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x173f0e['description']);_0x173f0e['gitRepoUrl']&&console['log'](_0xb21d7d(0x181)+_0x173f0e['gitRepoUrl']);_0x173f0e[_0xb21d7d(0x14f)]&&console[_0xb21d7d(0x136)]('\x20\x20\x20Branch:\x20'+_0x173f0e[_0xb21d7d(0x14f)]);console['log']('\x20\x20\x20Created:\x20'+new Date(_0x173f0e['createdAt'])[_0xb21d7d(0x1b2)]());_0x173f0e[_0xb21d7d(0x1b0)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x173f0e['completedAt'])['toLocaleString']());if(_0x36a70f&&_0x36a70f[_0xb21d7d(0x159)]>0x0){console[_0xb21d7d(0x136)](_0xb21d7d(0x132));for(let _0x5bcec5=0x0;_0x9102c9[_0xb21d7d(0x116)](_0x5bcec5,_0x36a70f['length']);_0x5bcec5++){const _0x2c05fb=_0x36a70f[_0x5bcec5];let _0x12290d;if(_0x2c05fb['status']===_0x9102c9[_0xb21d7d(0x1a5)]&&_0x2c05fb['terminalReason']===_0xb21d7d(0x12b))_0x12290d='✅';else{if(_0x2c05fb[_0xb21d7d(0x175)]==='verified')_0x12290d='🟢';else{if(_0x2c05fb['status']===_0xb21d7d(0x125))_0x12290d='🟠';else{if(_0x9102c9[_0xb21d7d(0x12d)](_0x2c05fb[_0xb21d7d(0x175)],'blocked'))_0x12290d='🛑';else{if(_0x2c05fb['status']==='closed')_0x12290d='⛔';else _0x2c05fb[_0xb21d7d(0x175)]===_0x9102c9['lrCik']?_0x12290d='⏳':_0x12290d='⬜';}}}}const _0x98f10e=_0x2c05fb['version']>0x1?_0xb21d7d(0x1c7)+_0x2c05fb['version']+')':'',_0x2c0733=_0x2c05fb[_0xb21d7d(0x1c4)]>0x1&&_0x2c05fb[_0xb21d7d(0x109)]&&_0x9102c9[_0xb21d7d(0x170)](_0x2c05fb['status'],_0xb21d7d(0x148))&&_0x2c05fb['status']!==_0x9102c9['HDlTX']?_0x9102c9['YvEAG']:'';console['log']('\x20\x20\x20'+(_0x5bcec5+0x1)+'.\x20'+_0x12290d+'\x20'+_0x2c05fb['description']+_0x98f10e+_0x2c0733);_0x9102c9[_0xb21d7d(0x12d)](_0x2c05fb['status'],'blocked')&&_0x2c05fb[_0xb21d7d(0x110)]&&console['log']('\x20\x20\x20\x20\x20\x20Blocked:\x20'+_0x2c05fb['blockedReason']);_0x9102c9[_0xb21d7d(0x17b)](_0x2c05fb[_0xb21d7d(0x175)],_0xb21d7d(0x125))&&_0x2c05fb[_0xb21d7d(0x12c)]&&console[_0xb21d7d(0x136)](_0xb21d7d(0x139)+_0x2c05fb['incompleteReason']);if(_0x9102c9[_0xb21d7d(0x153)](_0x2c05fb['status'],_0x9102c9[_0xb21d7d(0x1a5)])&&_0x9102c9['VYCXd'](_0x2c05fb['terminalReason'],'approved'))console['log']('\x20\x20\x20\x20\x20\x20Approved');else _0x9102c9['VYCXd'](_0x2c05fb[_0xb21d7d(0x175)],'closed')&&_0x2c05fb['canceledReason']&&console[_0xb21d7d(0x136)]('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x2c05fb[_0xb21d7d(0x134)]);}}}export async function featureCreate(_0x2e3a9e,_0xffcb3a){const _0x47076a=_0x28e1,_0x48ca7b={'xKHRS':function(_0x5b3061){return _0x5b3061();},'HiOvw':function(_0x56d1f4,_0x32dcc2){return _0x56d1f4===_0x32dcc2;},'LZfYY':'\x0aCreating\x20feature\x20review...'},{envNames:_0x5d3a63}=await _0x48ca7b['xKHRS'](getEnvNames);_0x48ca7b['HiOvw'](_0x5d3a63['length'],0x0)&&console[_0x47076a(0x187)]('\x0a'+formatProfileRequiredMessage(_0x52455c=>bold(_0x52455c)));const _0x3ffd66=_0xffcb3a['scenarios']?_0xffcb3a['scenarios']['map'](_0x12d3fe=>_0x12d3fe['trim']()):[],_0x323892=getGitRepoUrl(),_0x5e0a7a=getGitBranch();console[_0x47076a(0x136)](_0x48ca7b[_0x47076a(0x15f)]);const _0xc47ba3=await createFeature({'name':_0x2e3a9e,'description':_0xffcb3a[_0x47076a(0x157)],'checklist':_0x3ffd66,'gitRepoUrl':_0x323892,'gitBranch':_0x5e0a7a});await setActiveFeatureId(_0xc47ba3['id']),await tryStartCurrentSession(_0xc47ba3['id']);const _0x1e8618=process[_0x47076a(0x1c5)][_0x47076a(0x18c)];_0x1e8618&®isterSession(_0x1e8618,_0xc47ba3['id']),console['log'](_0x47076a(0x18d)+_0xc47ba3['id']),displayFeature(_0xc47ba3,_0xc47ba3[_0x47076a(0x1d0)]),console['log'](_0x47076a(0x13e));}export async function featureList(_0x490186){const _0x4cbf04=_0x28e1,_0x2391d9={'lNEkU':function(_0x31badc,_0x17d47a){return _0x31badc(_0x17d47a);},'SWMhC':function(_0x1566b0,_0xa67aff){return _0x1566b0===_0xa67aff;},'WNxJh':function(_0x17c88d,_0x3ccd58){return _0x17c88d>_0x3ccd58;},'ERsJZ':'\x20--include-deleted'},_0x353f80={'limit':_0x490186[_0x4cbf04(0x164)]??0xa,'offset':_0x490186[_0x4cbf04(0x146)]??0x0,'includeDeleted':_0x490186[_0x4cbf04(0x14a)]};_0x490186['currentBranch']&&(_0x353f80[_0x4cbf04(0x194)]=getGitRepoUrl(),_0x353f80['gitBranch']=getGitBranch());const _0x1423bd=await _0x2391d9[_0x4cbf04(0x120)](listFeatures,_0x353f80);if(_0x2391d9['SWMhC'](_0x1423bd['items']['length'],0x0)){console['log'](_0x4cbf04(0x1c0));return;}const _0x1dcb2f=_0x2391d9['WNxJh'](_0x1423bd['totalCount'],_0x1423bd[_0x4cbf04(0x165)][_0x4cbf04(0x159)])?_0x4cbf04(0x1b5)+_0x1423bd['items'][_0x4cbf04(0x159)]+_0x4cbf04(0x1d7)+_0x1423bd['totalCount']:_0x1423bd[_0x4cbf04(0x16a)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x1dcb2f+':\x0a');for(const _0xe7c1ce of _0x1423bd[_0x4cbf04(0x165)]){console['log'](''+_0xe7c1ce['name']),console['log'](_0x4cbf04(0x1cf)+_0xe7c1ce['id']),_0xe7c1ce['stats']&&console['log'](_0x4cbf04(0x185)+getProgressDisplay(_0xe7c1ce['stats'])),_0xe7c1ce['gitBranch']&&console['log']('\x20\x20\x20Branch:\x20'+_0xe7c1ce['gitBranch']),console[_0x4cbf04(0x136)]('\x20\x20\x20Created:\x20'+new Date(_0xe7c1ce[_0x4cbf04(0x161)])[_0x4cbf04(0x168)]()),console['log']('');}const _0x592eb1=_0x353f80['limit']??0xa,_0xe9506d=(_0x353f80[_0x4cbf04(0x146)]??0x0)+_0x1423bd['items']['length'];if(_0xe9506d<_0x1423bd[_0x4cbf04(0x16a)]){const _0x31940c=_0x592eb1!==0xa?'\x20--limit\x20'+_0x592eb1:'',_0x5d1128=_0x490186['currentBranch']?'\x20--current-branch':'',_0x728a22=_0x490186[_0x4cbf04(0x14a)]?_0x2391d9[_0x4cbf04(0x1c3)]:'';console[_0x4cbf04(0x136)](_0x4cbf04(0x179)+_0xe9506d+_0x31940c+_0x5d1128+_0x728a22);}}export async function featureShow(_0x10ab8e){const _0x328240=_0x28e1,_0x6fd4cb={'dYrdw':function(_0x1a9603,_0x6b0fc2,_0x51aeda){return _0x1a9603(_0x6b0fc2,_0x51aeda);}},_0xc75f57=_0x10ab8e||await getActiveFeatureId();if(!_0xc75f57)throw new Error(_0x328240(0x114));const _0x1c7ccf=await getFeature(_0xc75f57);_0x6fd4cb[_0x328240(0x145)](displayFeature,_0x1c7ccf,_0x1c7ccf['checklistItems']);}function _0x31b5(){const _0x2276c5=['location','agentResponse','\x0aAvailable\x20scenarios:','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x0a✅\x20Resumed\x20feature\x20review:\x20','zhiZd','/api/v1/mcp/browser-sessions/','WuTMv','\x20incomplete','filter','12195010iwamRC','FGCEC','submittedAt','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','njFbq','lNEkU','after','Step\x20','cEjZy','ready','incomplete','oVRUW','utf-8','stepName','round','split','approved','incompleteReason','SAuEW','Screenshot\x20','NSXIl','\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20','ouWWV','\x0a\x20\x20\x20Scenarios:','aTpPM','canceledReason','verified','log','authorName','coordinates','\x20\x20\x20\x20\x20\x20Incomplete:\x20','exit','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','browserSessionId','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','content','write','stringify','\x20scenarios.','.md','verifiedItems','dYrdw','offset','RVVqd','closed','Kvwpt','includeDeleted','stats','1024560dOSbHw','lnSrY','18gzimsk','gitBranch','find','GNxmU','CBwHz','VYCXd','cJCjZ','scenario','\x20\x20\x20Updated\x20branch\x20to:\x20','description','bxVSZ','length','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','MlONv','stdin','No\x20sessions\x20found.','trim','LZfYY','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','createdAt','terminalReason','in_progress','limit','items','\x0a✅\x20Report\x20generated:\x20','unaddressedComments','toLocaleDateString','push','totalCount','pipe','\x0a✅\x20Scenario\x20updated','EpYeB','HAqIe','isTTY','FldiW','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','BUpNW','tItCV','slice','status','\x20Session\x20','tVpWR','\x20unaddressed\x20comment(s)','Next\x20page:\x20ranger\x20list\x20--offset\x20','replace','SLrpA','xUDmO','numeric','BzSaS','stdout','QtGCm','\x20\x20\x20Repository:\x20','310714KtOaQr','any','assetUrl','\x20\x20\x20Progress:\x20','join','warn','305074xKNOXb','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','IgCie','CLAUDE_SESSION_ID','\x0a✅\x20Feature\x20review\x20created:\x20','lnOVW','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','canonicalFlow','json','rxJvd','iteration','gitRepoUrl','sessionId','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','JYMUH','spatial','\x20\x20\x20▶️\x20Started\x20session\x20','pop','\x20[has\x20reviewer\x20feedback]','KkUzb','map','Hkxyd',':\x20\x22','\x0aConcluding\x20session...','position','\x20\x20\x20Completed:\x20','biYvb','repeat','IvxTl','No\x20active\x20session\x20for\x20this\x20feature\x20review.','element','short','\x20—\x20no\x20comments','selected','uajFH','name','\x20\x20\x20\x20','Unknown','lBeXd','completedAt','15AjcgZM','toLocaleString','Please\x20finish\x20your\x20review\x20first:','\x20/\x20','Showing\x20','blockedItems','currentSessionId','error','arrayBuffer','from','ymVXH','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','dashboardUrl','\x0a❌\x20Invalid\x20scenario\x20number(s):\x20','606396JKUUya','\x0aNo\x20feature\x20reviews\x20found.','OrNDH','LEdjN','ERsJZ','version','env','textContent','\x20(v','assetType','domRef','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','5288DnKuRW','\x20\x20\x20\x20\x20📋\x20Selector:\x20','lEfUO','timing','\x20\x20\x20ID:\x20','checklistItems','verification_in_progress','POWfN','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x0a✅\x20Session\x20is\x20already\x20completed.','566560EFExWw','9KRDQII','\x20of\x20','incompleteItems','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','MANYN','pendingItems','screenshotUrls','\x0a❌\x20Invalid\x20scenario\x20index:\x20','\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','\x20concluded.','vIzEq','jmQHw','latestReview','\x20in\x20progress','FQcWd','NNOmI','cLnMh','parentItemId','DnQnN','verificationInProgressItems','notes','isInteger','toFixed','Scenario\x20','blockedReason'];_0x31b5=function(){return _0x2276c5;};return _0x31b5();}export async function featureResume(_0xc5c1b0){const _0x416e3b=_0x28e1,_0x48756c={'DnQnN':function(_0x47ba60,_0x472ec2){return _0x47ba60(_0x472ec2);},'OrNDH':function(_0x4bde6d){return _0x4bde6d();},'QtGCm':function(_0x3727c4,_0x1592ab){return _0x3727c4&&_0x1592ab;},'pVvVk':'Not\x20in\x20a\x20git\x20repository.','prYYa':function(_0x329555,_0x3d2b65){return _0x329555||_0x3d2b65;},'ViHdk':function(_0x335a15,_0xae9b51){return _0x335a15===_0xae9b51;},'IgCie':_0x416e3b(0x13d),'SnNiu':_0x416e3b(0x18a),'NNOmI':_0x416e3b(0x160),'akaWN':_0x416e3b(0x189),'mEuAz':function(_0x6cd839,_0x5ba11a,_0x54ae2d){return _0x6cd839(_0x5ba11a,_0x54ae2d);},'oVRUW':function(_0x414158,_0x1f5ad1,_0x3fec61){return _0x414158(_0x1f5ad1,_0x3fec61);}};if(_0xc5c1b0){const _0x158caa=await getFeature(_0xc5c1b0);await setActiveFeatureId(_0x158caa['id']);const _0x16227d=getGitBranch();_0x16227d&&_0x16227d!==_0x158caa[_0x416e3b(0x14f)]&&(await updateFeature(_0x158caa['id'],{'gitBranch':_0x16227d}),console[_0x416e3b(0x136)](_0x416e3b(0x156)+_0x16227d));console[_0x416e3b(0x136)](_0x416e3b(0x115)+_0x158caa['name']+'\x20('+_0x158caa['id']+')'),await tryStartCurrentSession(_0x158caa['id']);const _0x869495=process[_0x416e3b(0x1c5)]['CLAUDE_SESSION_ID'];_0x869495&®isterSession(_0x869495,_0x158caa['id']);displayFeature(_0x158caa,_0x158caa['checklistItems']),await _0x48756c[_0x416e3b(0x10a)](printFeedbackNudge,_0x158caa['id']);return;}const _0x4144c1=getGitRepoUrl(),_0x4dd8fc=_0x48756c[_0x416e3b(0x1c1)](getGitBranch);if(_0x48756c[_0x416e3b(0x180)](!_0x4144c1,!_0x4dd8fc))throw new Error(_0x48756c['pVvVk']);console[_0x416e3b(0x136)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x48756c['prYYa'](_0x4144c1,'any')+_0x416e3b(0x1b4)+(_0x4dd8fc||_0x416e3b(0x183))+'...');const _0x1d30c8=await listFeatures({'gitRepoUrl':_0x4144c1,'gitBranch':_0x4dd8fc}),_0x3f948a=_0x1d30c8[_0x416e3b(0x165)][_0x416e3b(0x11a)](_0x23d8d4=>_0x23d8d4[_0x416e3b(0x175)]?_0x23d8d4['status']!==_0x416e3b(0x135):!_0x23d8d4['completedAt']);if(_0x48756c['ViHdk'](_0x3f948a[_0x416e3b(0x159)],0x0)){console[_0x416e3b(0x136)](_0x416e3b(0x171)),console[_0x416e3b(0x136)](_0x48756c[_0x416e3b(0x18b)]);return;}let _0xbea936;if(_0x3f948a['length']===0x1)_0xbea936=_0x3f948a[0x0];else{const _0x1e0e30=process[_0x416e3b(0x15c)][_0x416e3b(0x16f)]&&process[_0x416e3b(0x17f)]['isTTY'];if(!_0x1e0e30){console['log'](_0x48756c['SnNiu']);for(const _0x45f980 of _0x3f948a){console[_0x416e3b(0x136)]('\x20\x20'+_0x45f980['name']),console[_0x416e3b(0x136)]('\x20\x20\x20\x20\x20ID:\x20'+_0x45f980['id']),_0x45f980['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+_0x48756c[_0x416e3b(0x10a)](getProgressDisplay,_0x45f980[_0x416e3b(0x14b)])),_0x45f980['gitBranch']&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x45f980['gitBranch']);}throw new Error(_0x48756c[_0x416e3b(0x107)]);}const {selected:_0x190cc2}=await _0x2044a0['prompt']([{'type':'list','name':_0x416e3b(0x1aa),'message':_0x48756c['akaWN'],'choices':_0x3f948a['map'](_0x4871e5=>({'name':_0x4871e5['name']+'\x20('+_0x4871e5['id']+')','value':_0x4871e5['id']}))}]);_0xbea936=_0x3f948a[_0x416e3b(0x150)](_0x4c37d6=>_0x4c37d6['id']===_0x190cc2);}await _0x48756c['DnQnN'](setActiveFeatureId,_0xbea936['id']);_0x4dd8fc&&_0x4dd8fc!==_0xbea936['gitBranch']&&(await _0x48756c['mEuAz'](updateFeature,_0xbea936['id'],{'gitBranch':_0x4dd8fc}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x4dd8fc));console[_0x416e3b(0x136)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0xbea936['name']+'\x20('+_0xbea936['id']+')'),await tryStartCurrentSession(_0xbea936['id']);const _0x37a717=await getFeature(_0xbea936['id']),_0x566090=process[_0x416e3b(0x1c5)][_0x416e3b(0x18c)];_0x566090&®isterSession(_0x566090,_0x37a717['id']),_0x48756c[_0x416e3b(0x126)](displayFeature,_0x37a717,_0x37a717[_0x416e3b(0x1d0)]),await printFeedbackNudge(_0x37a717['id']);}async function printFeedbackNudge(_0x4c6c6a){const _0x17310f=_0x28e1,_0x5f446c={'Kvwpt':function(_0x5464d0,_0x2996c3,_0x4bee3b){return _0x5464d0(_0x2996c3,_0x4bee3b);},'QvXsL':_0x17310f(0x1bc)};try{const {items:_0x221d7a}=await getActionItems(_0x4c6c6a);let _0x2dea2b=0x0,_0x4c887f=0x0;for(const _0x113ac6 of _0x221d7a){const _0x34614e=await _0x5f446c[_0x17310f(0x149)](getItemFeedback,_0x4c6c6a,_0x113ac6['id']);_0x34614e[_0x17310f(0x167)][_0x17310f(0x159)]>0x0&&(_0x2dea2b+=_0x34614e[_0x17310f(0x167)][_0x17310f(0x159)],_0x4c887f++);}_0x2dea2b>0x0&&(console['log']('\x0a⚠️\x20\x20'+_0x2dea2b+_0x17310f(0x130)+_0x4c887f+'\x20scenario(s).'),console[_0x17310f(0x136)](_0x5f446c['QvXsL']));}catch{}}function _0x28e1(_0x5fdeae,_0x29ce18){_0x5fdeae=_0x5fdeae-0x106;const _0x31b5b9=_0x31b5();let _0x28e143=_0x31b5b9[_0x5fdeae];return _0x28e143;}async function tryStartCurrentSession(_0x22e6e1){const _0x1cb6a6=_0x28e1,_0x568b28={'JYMUH':function(_0x575581,_0x55e0f2){return _0x575581(_0x55e0f2);}};try{const {sessions:_0x57a9e2}=await _0x568b28[_0x1cb6a6(0x197)](listFeatureSessions,_0x22e6e1),_0x31a29c=_0x57a9e2[_0x1cb6a6(0x150)](_0x124861=>_0x124861['status']===_0x1cb6a6(0x124));_0x31a29c&&(await startSession(_0x22e6e1,_0x31a29c['id']),console[_0x1cb6a6(0x136)](_0x1cb6a6(0x199)+_0x31a29c['iteration']));}catch{}}export async function featureReport(_0x8d032a,_0x2d893e){const _0x3435a8=_0x28e1,_0x472775={'bxVSZ':'\x0aGenerating\x20report...','GNxmU':function(_0x45315f,_0x1de3b0,_0x559306){return _0x45315f(_0x1de3b0,_0x559306);},'vIzEq':function(_0x2f5944,_0x2647a0,_0x2ecfe0,_0x2d0296){return _0x2f5944(_0x2647a0,_0x2ecfe0,_0x2d0296);},'xUDmO':function(_0x427be2,_0x58fe24,_0x3ac5fd){return _0x427be2(_0x58fe24,_0x3ac5fd);},'CBwHz':function(_0x97db79,_0x550d8e){return _0x97db79(_0x550d8e);}},_0x3ffa7f=_0x8d032a||await getActiveFeatureId();if(!_0x3ffa7f)throw new Error(_0x3435a8(0x18f));console['log'](_0x472775[_0x3435a8(0x158)]);const _0x526111=await _0x472775['GNxmU'](getFeatureReportMarkdown,_0x3ffa7f,{'style':_0x2d893e['style']}),_0x165d45=_0x2d893e['output']||_0x472775[_0x3435a8(0x1e0)](join,getRangerDir(),'reports',_0x3ffa7f+_0x3435a8(0x143)),_0x12a786=_0x472775[_0x3435a8(0x17c)](join,_0x165d45,'..');!_0x472775[_0x3435a8(0x152)](existsSync,_0x12a786)&&await _0x472775[_0x3435a8(0x151)](mkdir,_0x12a786,{'recursive':!![]}),await writeFile(_0x165d45,_0x526111,'utf-8'),console['log'](_0x3435a8(0x166)+_0x165d45);}function getScenarioResult(_0x13b06c){const _0x29e2ae=_0x28e1,_0x4bfb43={'nDNGM':function(_0x17427a,_0x162c7a){return _0x17427a===_0x162c7a;},'RojnW':_0x29e2ae(0x1d1)};if(_0x13b06c[_0x29e2ae(0x175)]==='closed')return _0x13b06c[_0x29e2ae(0x162)]??'closed';if(_0x4bfb43['nDNGM'](_0x13b06c[_0x29e2ae(0x175)],_0x4bfb43['RojnW']))return _0x29e2ae(0x163);return _0x13b06c['status'];}function getScenarioRationale(_0x44c8c7,_0x4766ce){const _0x1ed3cf=_0x28e1;if(_0x4766ce)return _0x4766ce;if(_0x44c8c7['blockedReason'])return _0x44c8c7[_0x1ed3cf(0x110)];if(_0x44c8c7['incompleteReason'])return _0x44c8c7['incompleteReason'];if(_0x44c8c7[_0x1ed3cf(0x134)])return _0x44c8c7[_0x1ed3cf(0x134)];if(_0x44c8c7[_0x1ed3cf(0x10c)])return _0x44c8c7['notes'];return null;}export async function featureReportPrDescription(_0x2785e9,_0x13ae0f){const _0x133354=_0x28e1,_0x2b1e39={'fcEJI':_0x133354(0x18f),'rxJvd':function(_0x3f923c,_0x58cb37,_0x299d34){return _0x3f923c(_0x58cb37,_0x299d34);},'kumZH':_0x133354(0x1ca),'biYvb':function(_0x18d3a3,_0x1f6f45){return _0x18d3a3>_0x1f6f45;},'WuTMv':'\x0aAvailable\x20scenarios:','HAqIe':function(_0x230f13,_0x22445b){return _0x230f13+_0x22445b;},'kqUPQ':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.'},_0x1e8d97=_0x2785e9||await getActiveFeatureId();if(!_0x1e8d97)throw new Error(_0x2b1e39['fcEJI']);const _0x3e114e=await getFeature(_0x1e8d97),_0x4ee251=_0x3e114e[_0x133354(0x1d0)]||[],_0x3819cd=_0x2b1e39[_0x133354(0x192)](getCurrentSessionItems,_0x3e114e,_0x4ee251);_0x3819cd[_0x133354(0x159)]===0x0&&(console[_0x133354(0x1b8)](_0x2b1e39['kumZH']),process[_0x133354(0x13a)](0x1));const _0xe41d12=_0x13ae0f['excludeScenarios']??[],_0xee9daa=_0xe41d12['filter'](_0x8bfcc6=>!Number[_0x133354(0x10d)](_0x8bfcc6)||_0x8bfcc6<0x1||_0x8bfcc6>_0x3819cd['length']);if(_0x2b1e39[_0x133354(0x1a3)](_0xee9daa['length'],0x0)){console[_0x133354(0x1b8)](_0x133354(0x1be)+_0xee9daa[_0x133354(0x186)](',\x20')),console[_0x133354(0x136)](_0x2b1e39[_0x133354(0x118)]);for(let _0x4c15ac=0x0;_0x4c15ac<_0x3819cd[_0x133354(0x159)];_0x4c15ac++){console['log']('\x20\x20'+_0x2b1e39[_0x133354(0x16e)](_0x4c15ac,0x1)+'.\x20'+_0x3819cd[_0x4c15ac]['description']);}process[_0x133354(0x13a)](0x1);}const _0x55a7ef=new Set(_0xe41d12['map'](_0x255bab=>_0x255bab-0x1)),_0x14c621=_0x3819cd[_0x133354(0x11a)]((_0x160950,_0x415d7b)=>!_0x55a7ef['has'](_0x415d7b));_0x14c621['length']===0x0&&(console[_0x133354(0x1b8)](_0x2b1e39['kqUPQ']),process['exit'](0x1));if(_0x13ae0f[_0x133354(0x191)])await outputJsonReport(_0x1e8d97,_0x3e114e,_0x14c621);else{const _0x6c5fcb=await getFeatureReportMarkdown(_0x1e8d97,{'itemIds':_0x14c621['map'](_0x21bf6f=>_0x21bf6f['id'])});process['stdout'][_0x133354(0x140)](_0x6c5fcb['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x37449a,_0x9f8131,_0x5706a5){const _0x1e3956=_0x28e1,_0x5dffb5={'qdugT':function(_0x35b272,_0xe00c66){return _0x35b272(_0xe00c66);},'lDGTL':function(_0x1c10ff,_0xaf5251){return _0x1c10ff===_0xaf5251;},'VPjiP':function(_0x5ea5f4,_0x4359c3){return _0x5ea5f4(_0x4359c3);}},_0x227065=getApiBaseUrl(),_0x26589d=await getFeatureReport(_0x37449a),_0x8c9885=new Map(_0x26589d[_0x1e3956(0x1d0)]['map'](_0x525318=>[_0x525318['id'],_0x525318])),_0x897bc3=await Promise['all'](_0x5706a5[_0x1e3956(0x19d)](async _0x555669=>{const _0x4bc901=_0x1e3956,_0x4705f4=_0x8c9885['get'](_0x555669['id']),_0x436ead=_0x4705f4?.['linkedSession']??null;let _0x29fba7=[];if(_0x555669[_0x4bc901(0x13c)])try{const {steps:_0xd869f8}=await _0x5dffb5['qdugT'](getBrowserSessionSteps,_0x555669['browserSessionId']);_0xd869f8['length']>0x0&&(_0x29fba7=_0xd869f8['map'](_0x3a9fd6=>{const _0x1a03c0=_0x4bc901,_0x3e9219=_0x3a9fd6['assets'][_0x1a03c0(0x150)](_0x2fddd9=>_0x2fddd9[_0x1a03c0(0x1c8)]==='screenshot'&&_0x2fddd9[_0x1a03c0(0x1ce)]===_0x1a03c0(0x121))??_0x3a9fd6['assets'][_0x1a03c0(0x150)](_0x3d6f6b=>_0x3d6f6b[_0x1a03c0(0x1c8)]==='screenshot');let _0x5adeb3=null,_0x1bfcb3=null;if(_0x3e9219){const _0x303cb5=_0x3e9219['storage'][_0x1a03c0(0x111)][_0x1a03c0(0x12a)]('/')['pop']();_0x5adeb3=_0x227065+_0x1a03c0(0x117)+_0x555669[_0x1a03c0(0x13c)]+'/artifacts/'+_0x303cb5,_0x303cb5&&(_0x1bfcb3=_0x303cb5[_0x1a03c0(0x17a)](/\.\w+$/,'')[_0x1a03c0(0x17a)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x1bfcb3||_0x3a9fd6['description']||_0x3a9fd6[_0x1a03c0(0x128)]||_0x1a03c0(0x122)+_0x3a9fd6[_0x1a03c0(0x1a1)],'screenshot':_0x5adeb3,'is_key_step':_0x3a9fd6['isKeyStep']};}));}catch{}return _0x5dffb5['lDGTL'](_0x29fba7[_0x4bc901(0x159)],0x0)&&_0x436ead?.[_0x4bc901(0x1dc)]&&(_0x29fba7=_0x436ead['screenshotUrls'][_0x4bc901(0x19d)]((_0x1dd598,_0x2461fa)=>({'description':_0x4bc901(0x12e)+(_0x2461fa+0x1),'screenshot':_0x1dd598,'is_key_step':![]}))),{'description':_0x555669[_0x4bc901(0x157)],'result':_0x5dffb5['VPjiP'](getScenarioResult,_0x555669),'rationale':getScenarioRationale(_0x555669,_0x436ead?.[_0x4bc901(0x112)]),'steps':_0x29fba7};})),_0xdb05ce={'url':_0x9f8131['dashboardUrl'],'scenarios':_0x897bc3};process[_0x1e3956(0x17f)][_0x1e3956(0x140)](JSON[_0x1e3956(0x141)](_0xdb05ce,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x135229){const _0x1180a2=_0x28e1,_0x3c2c1b={'JyoIG':function(_0x3ce6e4,_0x16a1bc){return _0x3ce6e4(_0x16a1bc);},'NIwrG':'Current\x20session\x20not\x20found.','cLnMh':'completed'},_0x1d9b7b=_0x135229||await getActiveFeatureId();if(!_0x1d9b7b)throw new Error(_0x1180a2(0x114));const _0x57233a=await _0x3c2c1b['JyoIG'](getFeature,_0x1d9b7b);if(!_0x57233a['currentSessionId'])throw new Error(_0x1180a2(0x1a6));const {sessions:_0x6b407d}=await listFeatureSessions(_0x1d9b7b),_0x25998f=_0x6b407d['find'](_0x2a095d=>_0x2a095d['id']===_0x57233a['currentSessionId']);if(!_0x25998f)throw new Error(_0x3c2c1b['NIwrG']);if(_0x25998f['status']===_0x3c2c1b[_0x1180a2(0x108)]){console['log'](_0x1180a2(0x1d4));return;}if(_0x25998f['status']!=='in_progress')throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x25998f['status']);console['log'](_0x1180a2(0x1a0)),await concludeSession(_0x1d9b7b,_0x57233a['currentSessionId']),console['log']('\x0a✅\x20Session\x20'+_0x25998f[_0x1180a2(0x193)]+_0x1180a2(0x1df)),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x5c200a){const _0x1af885=_0x28e1,_0xf72697={'lnOVW':function(_0x37d98f,_0x28c0b8){return _0x37d98f(_0x28c0b8);},'jmQHw':'completed','POWfN':'in_progress'},_0x1c8681=_0x5c200a||await getActiveFeatureId();if(!_0x1c8681)throw new Error(_0x1af885(0x18f));const _0x16b318=await _0xf72697[_0x1af885(0x18e)](getFeature,_0x1c8681);console['log'](_0x1af885(0x11e)+_0x16b318[_0x1af885(0x1ac)]+'\x0a');const {sessions:_0x4d806b}=await listFeatureSessions(_0x1c8681);if(_0x4d806b[_0x1af885(0x159)]===0x0){console[_0x1af885(0x136)](_0x1af885(0x15d));return;}for(const _0x30101e of _0x4d806b){const _0x157376=_0x30101e[_0x1af885(0x175)]===_0xf72697[_0x1af885(0x1e1)]?'✅':_0x30101e[_0x1af885(0x175)]===_0xf72697[_0x1af885(0x1d2)]?'🔄':'▶️';console['log'](_0x157376+_0x1af885(0x176)+_0x30101e[_0x1af885(0x193)]+'\x20('+_0x30101e['id']+')'),console[_0x1af885(0x136)]('\x20\x20\x20Status:\x20'+_0x30101e['status']),console['log']('\x20\x20\x20Created:\x20'+new Date(_0x30101e['createdAt'])[_0x1af885(0x1b2)]()),_0x30101e['completedAt']&&console['log'](_0x1af885(0x1a2)+new Date(_0x30101e['completedAt'])[_0x1af885(0x1b2)]()),console['log']('');}}export async function featureAddScenario(_0x4736ec,_0x38f652){const _0x2bdce0=_0x28e1,_0x3d869e={'RVVqd':function(_0x93bc2d){return _0x93bc2d();},'NSXIl':_0x2bdce0(0x114),'uajFH':function(_0x5422aa,_0x49b7f3){return _0x5422aa(_0x49b7f3);},'aTpPM':function(_0x1cb05c,_0x175c20,_0x2e2d51){return _0x1cb05c(_0x175c20,_0x2e2d51);},'QjNzV':function(_0x51b625,_0x1301de,_0xefac0c){return _0x51b625(_0x1301de,_0xefac0c);}},_0x3c4997=_0x38f652||await _0x3d869e[_0x2bdce0(0x147)](getActiveFeatureId);if(!_0x3c4997)throw new Error(_0x3d869e[_0x2bdce0(0x12f)]);const _0x152397=await _0x3d869e[_0x2bdce0(0x1ab)](getFeature,_0x3c4997);if(_0x152397['latestReview']&&!_0x152397['latestReview']['submittedAt'])throw new Error(_0x2bdce0(0x1d9)+_0x152397['dashboardUrl']);await _0x3d869e[_0x2bdce0(0x133)](createChecklistItem,_0x3c4997,_0x4736ec);const _0x3e3a3d=await _0x3d869e['uajFH'](getFeature,_0x3c4997);console[_0x2bdce0(0x136)]('\x0a✅\x20Scenario\x20added'),_0x3d869e['QjNzV'](displayFeature,_0x3e3a3d,_0x3e3a3d[_0x2bdce0(0x1d0)]);}export async function featureEditScenario(_0x26110e,_0x2a0723){const _0x12a8ae=_0x28e1,_0x298baf={'BzSaS':function(_0x1e2a9a){return _0x1e2a9a();},'kyfta':_0x12a8ae(0x1b3),'CltcT':_0x12a8ae(0x15a),'TtgeG':function(_0x326a0b,_0x44121f){return _0x326a0b===_0x44121f;},'KkUzb':_0x12a8ae(0x1de),'tItCV':function(_0x18a014,_0x48e373){return _0x18a014>=_0x48e373;},'ddqmc':'\x0aAvailable\x20scenarios:','lEfUO':function(_0x488d33,_0x14ebcb){return _0x488d33+_0x14ebcb;},'zXxvJ':function(_0x18a82a,_0x1eec53,_0x283d03,_0x59c416){return _0x18a82a(_0x1eec53,_0x283d03,_0x59c416);},'ymVXH':function(_0x4e8da6,_0x2778cc,_0x51157f){return _0x4e8da6(_0x2778cc,_0x51157f);}},_0xebdaa4=_0x2a0723['id']||await _0x298baf[_0x12a8ae(0x17e)](getActiveFeatureId);!_0xebdaa4&&(console['error']('\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.'),console[_0x12a8ae(0x1b8)]('Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review'),process[_0x12a8ae(0x13a)](0x1));const _0x2f436c=await getFeature(_0xebdaa4);_0x2f436c['latestReview']&&!_0x2f436c[_0x12a8ae(0x1e2)][_0x12a8ae(0x11d)]&&(console[_0x12a8ae(0x1b8)]('\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.'),console[_0x12a8ae(0x1b8)](_0x298baf['kyfta']),console[_0x12a8ae(0x1b8)]('\x20\x20'+_0x2f436c[_0x12a8ae(0x1bd)]),process['exit'](0x1));const _0x624252=_0x2f436c['checklistItems']||[];_0x624252['length']===0x0&&(console[_0x12a8ae(0x1b8)](_0x298baf['CltcT']),process['exit'](0x1));if(_0x298baf['TtgeG'](_0x2a0723[_0x12a8ae(0x155)],undefined)){console[_0x12a8ae(0x1b8)](_0x298baf[_0x12a8ae(0x19c)]),console[_0x12a8ae(0x136)](_0x12a8ae(0x113));for(let _0x5e62cd=0x0;_0x5e62cd<_0x624252['length'];_0x5e62cd++){console[_0x12a8ae(0x136)]('\x20\x20'+(_0x5e62cd+0x1)+'.\x20'+_0x624252[_0x5e62cd]['description']);}process[_0x12a8ae(0x13a)](0x1);}const _0x388165=_0x2a0723[_0x12a8ae(0x155)]-0x1;if(_0x388165<0x0||_0x298baf[_0x12a8ae(0x173)](_0x388165,_0x624252['length'])){console[_0x12a8ae(0x1b8)](_0x12a8ae(0x1dd)+_0x2a0723['scenario']+'.\x20Feature\x20review\x20has\x20'+_0x624252[_0x12a8ae(0x159)]+_0x12a8ae(0x142)),console['log'](_0x298baf['ddqmc']);for(let _0x36cbc1=0x0;_0x36cbc1<_0x624252[_0x12a8ae(0x159)];_0x36cbc1++){console[_0x12a8ae(0x136)]('\x20\x20'+_0x298baf[_0x12a8ae(0x1cd)](_0x36cbc1,0x1)+'.\x20'+_0x624252[_0x36cbc1]['description']);}process[_0x12a8ae(0x13a)](0x1);}const _0x4edb0a=_0x624252[_0x388165];await _0x298baf['zXxvJ'](updateChecklistItem,_0xebdaa4,_0x4edb0a['id'],{'description':_0x26110e});const _0x2b5aad=await getFeature(_0xebdaa4);console[_0x12a8ae(0x136)](_0x12a8ae(0x16c)),_0x298baf[_0x12a8ae(0x1bb)](displayFeature,_0x2b5aad,_0x2b5aad['checklistItems']);}async function downloadFeedbackImage(_0x2023e3,_0x5d14e2){const _0x1b3129=_0x28e1,_0x4e6af6={'tVpWR':function(_0x5a5cf9){return _0x5a5cf9();},'EpYeB':function(_0x7603f1,_0x4ce63e,_0x161b7d){return _0x7603f1(_0x4ce63e,_0x161b7d);},'svKBd':function(_0x18cbb9,_0x128a13){return _0x18cbb9(_0x128a13);},'jxoXd':function(_0x466005,_0x36ded8,_0x454f50){return _0x466005(_0x36ded8,_0x454f50);}};try{const _0x5cae09=join(_0x4e6af6[_0x1b3129(0x177)](getRangerDir),'feedback-images');await _0x4e6af6[_0x1b3129(0x16d)](mkdir,_0x5cae09,{'recursive':!![]});const _0x224f54=_0x4e6af6[_0x1b3129(0x16d)](join,_0x5cae09,'comment_'+_0x5d14e2+'.png'),_0x3467e2=await _0x4e6af6['svKBd'](fetch,_0x2023e3);if(!_0x3467e2['ok'])return null;const _0x5cd941=Buffer[_0x1b3129(0x1ba)](await _0x3467e2[_0x1b3129(0x1b9)]());return await _0x4e6af6['jxoXd'](writeFile,_0x224f54,_0x5cd941),_0x224f54;}catch{return null;}}export async function featureGetReview(_0x562e4d){const _0x191daf=_0x28e1,_0x2ac757={'cztEV':function(_0x98d98,_0xf21680){return _0x98d98<_0xf21680;},'dLwZa':function(_0x495a36,_0x80918c){return _0x495a36>_0x80918c;},'MANYN':function(_0x5dd028,_0x281322){return _0x5dd028+_0x281322;},'tCfmS':'en-US','lnSrY':_0x191daf(0x17d),'BtAzm':'point'},_0x4dfaf6=_0x562e4d||await getActiveFeatureId();if(!_0x4dfaf6)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x293eb5=await getFeature(_0x4dfaf6),{items:_0x3513e0}=await getActionItems(_0x4dfaf6);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x293eb5['name']+'\x20('+_0x293eb5['id']+')\x0a');if(_0x3513e0[_0x191daf(0x159)]===0x0){console['log']('No\x20scenarios\x20found.');return;}for(let _0x17d897=0x0;_0x2ac757['cztEV'](_0x17d897,_0x3513e0[_0x191daf(0x159)]);_0x17d897++){const _0x37f9d1=_0x3513e0[_0x17d897],_0x237bc2=_0x2ac757['dLwZa'](_0x37f9d1[_0x191daf(0x1c4)],0x1)?_0x191daf(0x1c7)+_0x37f9d1['version']+')':'',_0x850289=await getItemFeedback(_0x4dfaf6,_0x37f9d1['id']);if(_0x850289['unaddressedComments'][_0x191daf(0x159)]>0x0){console['log'](_0x191daf(0x10f)+_0x2ac757[_0x191daf(0x1da)](_0x17d897,0x1)+':\x20\x22'+_0x37f9d1['description']+'\x22'+_0x237bc2+'\x20—\x20'+_0x850289['unaddressedComments'][_0x191daf(0x159)]+_0x191daf(0x178));for(const _0x1ced93 of _0x850289['unaddressedComments']){const _0xeeb216=new Date(_0x1ced93[_0x191daf(0x161)])['toLocaleDateString'](_0x2ac757['tCfmS'],{'month':_0x191daf(0x1a8),'day':_0x2ac757[_0x191daf(0x14d)]}),_0x184294=_0x1ced93[_0x191daf(0x137)]||_0x1ced93['authorEmail']||_0x191daf(0x1ae);console[_0x191daf(0x136)]('\x20\x20💬\x20'+_0x184294+'\x20('+_0xeeb216+'):\x20\x22'+_0x1ced93[_0x191daf(0x13f)]+'\x22');if(_0x1ced93[_0x191daf(0x184)]){const _0x2f953b=await downloadFeedbackImage(_0x1ced93['assetUrl'],_0x1ced93['id']);_0x2f953b&&console[_0x191daf(0x136)](_0x191daf(0x196)+_0x2f953b);}if(_0x1ced93['domRef']){const _0x352625=_0x1ced93['domRef']['selector'][_0x191daf(0x12a)]('\x20>\x20')[_0x191daf(0x19a)]()?.[_0x191daf(0x12a)](':')[0x0]||_0x191daf(0x1a7),_0xf9ed5b=_0x1ced93[_0x191daf(0x1c9)][_0x191daf(0x1c6)]?'\x20\x22'+_0x1ced93[_0x191daf(0x1c9)][_0x191daf(0x1c6)][_0x191daf(0x174)](0x0,0x3c)+'\x22':'';console[_0x191daf(0x136)](_0x191daf(0x13b)+_0x352625+'>'+_0xf9ed5b),console['log'](_0x191daf(0x1cc)+_0x1ced93[_0x191daf(0x1c9)]['selector']);}else{if(_0x1ced93[_0x191daf(0x198)]){const _0x3c2577=_0x1ced93[_0x191daf(0x198)][_0x191daf(0x138)];_0x1ced93['spatial']['type']===_0x2ac757['BtAzm']&&_0x3c2577[_0x191daf(0x159)]>=0x2?console['log']('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x3c2577[0x0][_0x191daf(0x10e)](0x2)+',\x20'+_0x3c2577[0x1]['toFixed'](0x2)+')'):console['log'](_0x191daf(0x1d3)+_0x1ced93['spatial']['type']+'\x20at\x20['+_0x3c2577['map'](_0x5ca7a3=>_0x5ca7a3[_0x191daf(0x10e)](0x2))[_0x191daf(0x186)](',\x20')+']');}}}if(_0x850289['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x130f71 of _0x850289[_0x191daf(0x190)]['split']('\x0a')){console[_0x191daf(0x136)](_0x191daf(0x1ad)+_0x130f71);}}}else console[_0x191daf(0x136)](_0x191daf(0x10f)+(_0x17d897+0x1)+_0x191daf(0x19f)+_0x37f9d1['description']+'\x22'+_0x237bc2+_0x191daf(0x1a9)),console[_0x191daf(0x136)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console[_0x191daf(0x136)]('');}}export async function featureDelete(_0x47c10d){const _0xecb9d0=_0x28e1,_0x28ff8f={'ZBloH':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','Hkxyd':function(_0x29b8dd,_0x8f5a21){return _0x29b8dd(_0x8f5a21);},'Ajzcd':function(_0x5cb6d8,_0x236850){return _0x5cb6d8+_0x236850;},'LEdjN':'\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20'},_0x5659e3=_0x47c10d||await getActiveFeatureId();if(!_0x5659e3)throw new Error(_0x28ff8f['ZBloH']);const _0x335ff5=await _0x28ff8f[_0xecb9d0(0x19e)](getFeature,_0x5659e3);await softDeleteFeature(_0x5659e3),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x335ff5[_0xecb9d0(0x1ac)]+'\x20('+_0x5659e3+')'),console['log'](_0x28ff8f['Ajzcd'](_0x28ff8f[_0xecb9d0(0x1c2)],_0x5659e3));}export async function featureRestore(_0xe0b495){const _0x238096=_0x28e1,_0x8101b4={'AaCkQ':function(_0xa7fb58,_0x2d7e54,_0xa6f21e){return _0xa7fb58(_0x2d7e54,_0xa6f21e);}};await restoreFeature(_0xe0b495);const _0x41252f=await getFeature(_0xe0b495);console['log']('\x0a✅\x20Restored\x20feature\x20review:\x20'+_0x41252f['name']+'\x20('+_0xe0b495+')'),_0x8101b4['AaCkQ'](displayFeature,_0x41252f,_0x41252f[_0x238096(0x1d0)]);}
|
|
1
|
+
const _0x3cf8e8=_0x3c68;function _0x3c68(_0x70ab06,_0x295dc7){_0x70ab06=_0x70ab06-0x88;const _0x27108b=_0x2710();let _0x3c68d0=_0x27108b[_0x70ab06];return _0x3c68d0;}(function(_0x1b5759,_0x3fd7c0){const _0x1fa817=_0x3c68,_0x450840=_0x1b5759();while(!![]){try{const _0xa22292=-parseInt(_0x1fa817(0x107))/0x1*(-parseInt(_0x1fa817(0xfc))/0x2)+-parseInt(_0x1fa817(0x15d))/0x3+-parseInt(_0x1fa817(0x8d))/0x4*(-parseInt(_0x1fa817(0x11b))/0x5)+parseInt(_0x1fa817(0xaa))/0x6*(-parseInt(_0x1fa817(0x118))/0x7)+-parseInt(_0x1fa817(0xcd))/0x8+parseInt(_0x1fa817(0x144))/0x9+-parseInt(_0x1fa817(0xee))/0xa*(-parseInt(_0x1fa817(0x157))/0xb);if(_0xa22292===_0x3fd7c0)break;else _0x450840['push'](_0x450840['shift']());}catch(_0x4c09a1){_0x450840['push'](_0x450840['shift']());}}}(_0x2710,0x34045));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x24d7a5 from'inquirer';import{createFeature,listFeatures,getFeature,updateFeature,getFeatureReport,getFeatureReportMarkdown,listFeatureSessions,startSession,concludeSession,createChecklistItem,getActionItems,getItemFeedback,softDeleteFeature,restoreFeature,updateChecklistItem}from'./utils/featureApi.js';import{getBrowserSessionSteps}from'./utils/browserSessionsApi.js';import{getApiBaseUrl}from'./utils/environment.js';import{getRangerDir}from'./utils/rangerRoot.js';import{registerSession}from'./utils/sessionCache.js';import{getEnvNames}from'./env.js';import{formatProfileRequiredMessage}from'./utils/profileMessages.js';const ACTIVE_FEATURE_FILE=_0x3cf8e8(0xad),bold=_0x27e9ac=>'\x1b[1m'+_0x27e9ac+_0x3cf8e8(0xbe);function getGitRepoUrl(){const _0xa84489=_0x3cf8e8,_0x127a03={'HaoMe':_0xa84489(0x101),'qpafj':'utf-8','qGtTk':_0xa84489(0x112),'ScMum':'github.com/'};try{const _0x29e005=execSync(_0x127a03[_0xa84489(0x14e)],{'encoding':_0x127a03[_0xa84489(0xd9)],'stdio':[_0x127a03['qGtTk'],_0x127a03[_0xa84489(0xd4)],_0xa84489(0x112)]})[_0xa84489(0x134)]();return _0x29e005[_0xa84489(0x94)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x127a03['ScMum'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x461fae=_0x3cf8e8,_0x2d06db={'tbOie':_0x461fae(0xd3)};try{return execSync('git\x20rev-parse\x20--abbrev-ref\x20HEAD',{'encoding':_0x2d06db['tbOie'],'stdio':['pipe',_0x461fae(0x112),_0x461fae(0x112)]})[_0x461fae(0x134)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x374e2e=_0x3cf8e8,_0x10e47d={'xmObE':function(_0x3fc8c1,_0x380f15){return _0x3fc8c1(_0x380f15);}},_0x33d8e1=join(getRangerDir(),ACTIVE_FEATURE_FILE);if(!_0x10e47d[_0x374e2e(0xe3)](existsSync,_0x33d8e1))return null;try{const _0x1ca9df=await readFile(_0x33d8e1,_0x374e2e(0xd3));return _0x1ca9df[_0x374e2e(0x134)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x58bbc8){const _0x3f9a3d=_0x3cf8e8,_0x444459={'WeKHy':function(_0x48716f,_0x31b43a,_0x30d4a7){return _0x48716f(_0x31b43a,_0x30d4a7);},'asxeF':function(_0x1e1f84,_0x231260,_0x21fd16){return _0x1e1f84(_0x231260,_0x21fd16);},'uGOuu':'utf-8'},_0x54b2f7=getRangerDir(),_0xa1f90c=_0x444459['WeKHy'](join,_0x54b2f7,ACTIVE_FEATURE_FILE);!existsSync(_0x54b2f7)&&await _0x444459[_0x3f9a3d(0x155)](mkdir,_0x54b2f7,{'recursive':!![]}),await writeFile(_0xa1f90c,_0x58bbc8,_0x444459['uGOuu']);}function getProgressDisplay(_0xf59e29){const _0x5bdd34=_0x3cf8e8,_0x3fd3ab={'ydPAb':function(_0x12fdb2,_0x111769){return _0x12fdb2+_0x111769;},'VHqov':function(_0x51882a,_0x5a7fa9){return _0x51882a+_0x5a7fa9;},'DLFEy':function(_0xc2fc20,_0x36a4de){return _0xc2fc20>_0x36a4de;}},_0x32c670=_0xf59e29['verifiedItems']||0x0,_0x3f05fe=_0xf59e29[_0x5bdd34(0xb4)]||0x0,_0x896a42=_0xf59e29['blockedItems']||0x0,_0x13ce52=_0xf59e29['incompleteItems']||0x0,_0x44e065=_0xf59e29['pendingItems']||0x0,_0x404136=_0x3fd3ab[_0x5bdd34(0x120)](_0x3fd3ab['VHqov'](_0x32c670,_0x3f05fe)+_0x896a42,_0x13ce52)+_0x44e065;if(_0x404136===0x0)return'-';const _0x51c990=0xa,_0x35fb13=Math['round'](_0x32c670/_0x404136*_0x51c990),_0x1ec493=_0x3fd3ab['VHqov']('█'[_0x5bdd34(0x126)](_0x35fb13),'░'[_0x5bdd34(0x126)](_0x51c990-_0x35fb13)),_0x4b21ce=[];if(_0x896a42>0x0)_0x4b21ce['push'](_0x896a42+'\x20blocked');if(_0x3fd3ab['DLFEy'](_0x13ce52,0x0))_0x4b21ce[_0x5bdd34(0x135)](_0x13ce52+'\x20incomplete');if(_0x3fd3ab[_0x5bdd34(0x128)](_0x3f05fe,0x0))_0x4b21ce[_0x5bdd34(0x135)](_0x3f05fe+_0x5bdd34(0x10d));const _0x2c07b6=_0x4b21ce[_0x5bdd34(0x89)]>0x0?'\x20('+_0x4b21ce['join'](',\x20')+')':'';return _0x1ec493+'\x20'+_0x32c670+'/'+_0x404136+'\x20verified'+_0x2c07b6;}function getCurrentSessionItems(_0x3dc446,_0x68dfa8){const _0x3406a8=_0x3cf8e8;if(!_0x3dc446['currentSessionId'])return _0x68dfa8[_0x3406a8(0x12d)](_0x474fd6=>!_0x474fd6[_0x3406a8(0x123)]);return _0x68dfa8['filter'](_0x583e1e=>_0x583e1e[_0x3406a8(0x123)]===_0x3dc446[_0x3406a8(0x13b)]||!_0x583e1e[_0x3406a8(0x123)]);}function displayFeature(_0x3334ae,_0x26e288){const _0xd3d650=_0x3cf8e8,_0x2f1669={'IxoYa':_0xd3d650(0x160),'lhiUr':function(_0x429c93,_0x3dba86){return _0x429c93<_0x3dba86;},'LpCpH':function(_0x56ea48,_0x1395c6){return _0x56ea48===_0x1395c6;},'Ejsod':'closed','FdJht':_0xd3d650(0x142),'rWwMk':function(_0x270b37,_0x4d438e){return _0x270b37===_0x4d438e;},'ENZAI':function(_0x39e7a2,_0x530b94){return _0x39e7a2===_0x530b94;},'TGqtd':_0xd3d650(0x161),'DVAAX':'verification_in_progress','lNWig':function(_0x28eb45,_0x9c3221){return _0x28eb45>_0x9c3221;},'Xetdj':function(_0x587b3f,_0x27fe0f){return _0x587b3f!==_0x27fe0f;},'WCyin':'\x20[has\x20reviewer\x20feedback]','wbBsr':function(_0x2261ec,_0x1b2b1a){return _0x2261ec+_0x1b2b1a;},'GmBEd':'blocked','DbOwG':function(_0x51d5c8,_0xad914d){return _0x51d5c8===_0xad914d;}};console['log']('\x0a'+_0x3334ae[_0xd3d650(0xfe)]+'\x20('+_0x3334ae[_0xd3d650(0xe2)]+')');_0x3334ae[_0xd3d650(0x117)]&&console['log']('\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x3334ae['stats']));_0x3334ae[_0xd3d650(0xf2)]&&console['log'](_0xd3d650(0x92)+_0x3334ae['description']);_0x3334ae['gitRepoUrl']&&console[_0xd3d650(0xae)]('\x20\x20\x20Repository:\x20'+_0x3334ae[_0xd3d650(0x9a)]);_0x3334ae[_0xd3d650(0x154)]&&console[_0xd3d650(0xae)]('\x20\x20\x20Branch:\x20'+_0x3334ae['gitBranch']);console[_0xd3d650(0xae)]('\x20\x20\x20Created:\x20'+new Date(_0x3334ae['createdAt'])[_0xd3d650(0x15a)]());_0x3334ae[_0xd3d650(0x163)]&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x3334ae[_0xd3d650(0x163)])[_0xd3d650(0x15a)]());if(_0x26e288&&_0x26e288['length']>0x0){console[_0xd3d650(0xae)](_0x2f1669[_0xd3d650(0xba)]);for(let _0xc85000=0x0;_0x2f1669['lhiUr'](_0xc85000,_0x26e288[_0xd3d650(0x89)]);_0xc85000++){const _0x3e09c8=_0x26e288[_0xc85000];let _0x227dc9;if(_0x2f1669[_0xd3d650(0xc7)](_0x3e09c8[_0xd3d650(0xe1)],_0x2f1669['Ejsod'])&&_0x3e09c8[_0xd3d650(0x12a)]===_0x2f1669['FdJht'])_0x227dc9='✅';else{if(_0x2f1669['rWwMk'](_0x3e09c8[_0xd3d650(0xe1)],'verified'))_0x227dc9='🟢';else{if(_0x2f1669['ENZAI'](_0x3e09c8[_0xd3d650(0xe1)],_0x2f1669[_0xd3d650(0xa9)]))_0x227dc9='🟠';else{if(_0x3e09c8[_0xd3d650(0xe1)]===_0xd3d650(0xce))_0x227dc9='🛑';else{if(_0x3e09c8['status']==='closed')_0x227dc9='⛔';else _0x3e09c8[_0xd3d650(0xe1)]===_0x2f1669[_0xd3d650(0xa3)]?_0x227dc9='⏳':_0x227dc9='⬜';}}}}const _0x1dd432=_0x2f1669['lNWig'](_0x3e09c8['version'],0x1)?_0xd3d650(0xab)+_0x3e09c8['version']+')':'',_0x2483eb=_0x3e09c8['version']>0x1&&_0x3e09c8[_0xd3d650(0x105)]&&_0x2f1669[_0xd3d650(0x106)](_0x3e09c8[_0xd3d650(0xe1)],'closed')&&_0x3e09c8[_0xd3d650(0xe1)]!==_0xd3d650(0x102)?_0x2f1669['WCyin']:'';console['log']('\x20\x20\x20'+_0x2f1669['wbBsr'](_0xc85000,0x1)+'.\x20'+_0x227dc9+'\x20'+_0x3e09c8['description']+_0x1dd432+_0x2483eb);_0x3e09c8['status']===_0x2f1669['GmBEd']&&_0x3e09c8['blockedReason']&&console['log'](_0xd3d650(0xbf)+_0x3e09c8[_0xd3d650(0xb3)]);_0x2f1669['DbOwG'](_0x3e09c8['status'],'incomplete')&&_0x3e09c8['incompleteReason']&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x3e09c8[_0xd3d650(0xc5)]);if(_0x3e09c8[_0xd3d650(0xe1)]===_0x2f1669[_0xd3d650(0xe9)]&&_0x3e09c8['terminalReason']===_0x2f1669['FdJht'])console['log'](_0xd3d650(0xcc));else _0x2f1669['DbOwG'](_0x3e09c8[_0xd3d650(0xe1)],_0x2f1669[_0xd3d650(0xe9)])&&_0x3e09c8[_0xd3d650(0x147)]&&console[_0xd3d650(0xae)](_0xd3d650(0x151)+_0x3e09c8['canceledReason']);}}}function _0x2710(){const _0x936c8f=['browserSessionId','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','currentSessionId','Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','iteration','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','selector','list','canonicalFlow','approved','Next\x20page:\x20ranger\x20list\x20--offset\x20','340407amWxRk','after','\x20\x20\x20Completed:\x20','canceledReason','efYYX','DGggg','short','OSVTY','CAPRo','map','HaoMe','selected','split','\x20\x20\x20\x20\x20\x20Cancelled:\x20','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x0a✅\x20Restored\x20feature\x20review:\x20','gitBranch','asxeF','unaddressedComments','7270153piZzeB','isKeyStep','YjUXj','toLocaleString','json','numeric','1010067OVIuSm','\x20\x20\x20\x20','scenarios','\x0a\x20\x20\x20Scenarios:','incomplete','currentBranch','completedAt','linkedSession','NnIxF','length','nFcjQ','\x20--current-branch','includeDeleted','20FSIAaU','\x20concluded.','Please\x20finish\x20your\x20review\x20first:','reports','style','\x20\x20\x20Description:\x20','write','replace','woNBo','\x0a✅\x20Scenario\x20added','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','output','No\x20sessions\x20found.','gitRepoUrl','hnhAa','spatial','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','\x20Session\x20','Scenario\x20','sleNx','ogUZT','No\x20active\x20session\x20for\x20this\x20feature\x20review.','DVAAX','assetType','RXARO','ready','isTTY','EEpoT','TGqtd','150qibXSq','\x20(v','hJfiC','active-feature.txt','log','Current\x20session\x20not\x20found.','assetUrl','completed','zmJaR','blockedReason','verificationInProgressItems','aUrNP','stdin','EbObT','.png','exit','IxoYa','NTBIC','gDAHq','checklistItems','\x1b[0m','\x20\x20\x20\x20\x20\x20Blocked:\x20','createdAt','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','onjGN','arrayBuffer','storage','incompleteReason','submittedAt','LpCpH','POUUR','ORUJA','\x0a❌\x20Invalid\x20scenario\x20index:\x20','element','\x20\x20\x20\x20\x20\x20Approved','3383080JWuFXi','blocked','gulpL','\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.','screenshotUrls','gdOOd','utf-8','qGtTk','comment_','ijhsF','totalCount','assets','qpafj','version','\x20\x20\x20Created:\x20','find','EYDJF','\x0aNo\x20feature\x20reviews\x20found.','coordinates','\x20scenarios.','status','dashboardUrl','xmObE','feedback-images','stepName','XglEk','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','content','Ejsod','items','screenshot','tQcSb','EIgpN','10JxGqeD','timing','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','pop','description','type','stdout','trimEnd','zZOjn','env','verification_in_progress','goofP','ovUBW','en-US','4tNayKz','domRef','name','\x20—\x20no\x20comments','FEEZQ','git\x20remote\x20get-url\x20origin','verified','get','tZRgw','parentItemId','Xetdj','115602gzUPrz','\x0a✅\x20Session\x20is\x20already\x20completed.','latestReview','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','\x0a✅\x20Feature\x20review\x20created:\x20','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','\x20in\x20progress','position','AcHUt','in_progress','toLocaleDateString','pipe','...','\x0aCreating\x20feature\x20review...','notes','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','stats','74452ZFcuUh','AZfBZ','.\x20Feature\x20review\x20has\x20','308585QcOoCm','error','textContent','\x20>\x20','\x0aConcluding\x20session...','ydPAb','SzUDR','\x20\x20\x20\x20\x20Branch:\x20','sessionId','\x20at\x20[','GouJi','repeat','pPMXl','DLFEy','limit','terminalReason','GBrHH','\x0a⚠️\x20\x20','filter','TPMqa','offset','eQIiv','CLAUDE_SESSION_ID','slice','scenario','trim','push','\x20\x20\x20Updated\x20branch\x20to:\x20','agentResponse','HbxCR'];_0x2710=function(){return _0x936c8f;};return _0x2710();}export async function featureCreate(_0x33a9ab,_0x24a856){const _0x31ffc4=_0x3cf8e8,_0x423f6d={'woNBo':function(_0x1e0222){return _0x1e0222();},'cYKaE':function(_0x5c1a95,_0x105970){return _0x5c1a95(_0x105970);}},{envNames:_0x36713a}=await _0x423f6d[_0x31ffc4(0x95)](getEnvNames);_0x36713a['length']===0x0&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x3720d2=>bold(_0x3720d2)));const _0x509302=_0x24a856['scenarios']?_0x24a856[_0x31ffc4(0x15f)][_0x31ffc4(0x14d)](_0x10c912=>_0x10c912[_0x31ffc4(0x134)]()):[],_0x3d9331=getGitRepoUrl(),_0x48bbef=getGitBranch();console['log'](_0x31ffc4(0x114));const _0xc11e5=await _0x423f6d['cYKaE'](createFeature,{'name':_0x33a9ab,'description':_0x24a856[_0x31ffc4(0xf2)],'checklist':_0x509302,'gitRepoUrl':_0x3d9331,'gitBranch':_0x48bbef});await setActiveFeatureId(_0xc11e5['id']),await tryStartCurrentSession(_0xc11e5['id']);const _0x44f5ae=process[_0x31ffc4(0xf7)][_0x31ffc4(0x131)];_0x44f5ae&®isterSession(_0x44f5ae,_0xc11e5['id']),console['log'](_0x31ffc4(0x10b)+_0xc11e5['id']),displayFeature(_0xc11e5,_0xc11e5['checklistItems']),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x539cd5){const _0x34ccb5=_0x3cf8e8,_0x1f7406={'XglEk':function(_0x4d5546){return _0x4d5546();},'POUUR':function(_0x3cfbd9,_0x285cf4){return _0x3cfbd9(_0x285cf4);},'wPYda':function(_0xaa8b0f,_0x5b431f){return _0xaa8b0f(_0x5b431f);},'NnIxF':_0x34ccb5(0x8b)},_0x56ebc3={'limit':_0x539cd5[_0x34ccb5(0x129)]??0xa,'offset':_0x539cd5[_0x34ccb5(0x12f)]??0x0,'includeDeleted':_0x539cd5['includeDeleted']};_0x539cd5[_0x34ccb5(0x162)]&&(_0x56ebc3['gitRepoUrl']=_0x1f7406['XglEk'](getGitRepoUrl),_0x56ebc3['gitBranch']=_0x1f7406[_0x34ccb5(0xe6)](getGitBranch));const _0x1b99b2=await _0x1f7406[_0x34ccb5(0xc8)](listFeatures,_0x56ebc3);if(_0x1b99b2[_0x34ccb5(0xea)]['length']===0x0){console[_0x34ccb5(0xae)](_0x34ccb5(0xde));return;}const _0x3ab9cc=_0x1b99b2['totalCount']>_0x1b99b2[_0x34ccb5(0xea)]['length']?'Showing\x20'+_0x1b99b2[_0x34ccb5(0xea)][_0x34ccb5(0x89)]+'\x20of\x20'+_0x1b99b2[_0x34ccb5(0xd7)]:_0x1b99b2['totalCount']+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0x3ab9cc+':\x0a');for(const _0x2e4b04 of _0x1b99b2[_0x34ccb5(0xea)]){console['log'](''+_0x2e4b04[_0x34ccb5(0xfe)]),console[_0x34ccb5(0xae)]('\x20\x20\x20ID:\x20'+_0x2e4b04['id']),_0x2e4b04[_0x34ccb5(0x117)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x1f7406['wPYda'](getProgressDisplay,_0x2e4b04[_0x34ccb5(0x117)])),_0x2e4b04['gitBranch']&&console[_0x34ccb5(0xae)]('\x20\x20\x20Branch:\x20'+_0x2e4b04[_0x34ccb5(0x154)]),console['log'](_0x34ccb5(0xdb)+new Date(_0x2e4b04[_0x34ccb5(0xc0)])[_0x34ccb5(0x111)]()),console[_0x34ccb5(0xae)]('');}const _0xc8ca90=_0x56ebc3['limit']??0xa,_0xe8ea38=(_0x56ebc3[_0x34ccb5(0x12f)]??0x0)+_0x1b99b2[_0x34ccb5(0xea)]['length'];if(_0xe8ea38<_0x1b99b2['totalCount']){const _0x55f0d2=_0xc8ca90!==0xa?'\x20--limit\x20'+_0xc8ca90:'',_0x41a084=_0x539cd5[_0x34ccb5(0x162)]?_0x1f7406[_0x34ccb5(0x88)]:'',_0x5a743a=_0x539cd5[_0x34ccb5(0x8c)]?'\x20--include-deleted':'';console[_0x34ccb5(0xae)](_0x34ccb5(0x143)+_0xe8ea38+_0x55f0d2+_0x41a084+_0x5a743a);}}export async function featureShow(_0x2b448a){const _0x47d764=_0x3cf8e8,_0x1a9ec9={'SzUDR':function(_0x5dd08f,_0x4c9c51){return _0x5dd08f(_0x4c9c51);}},_0x37da1c=_0x2b448a||await getActiveFeatureId();if(!_0x37da1c)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x1bf3c7=await _0x1a9ec9[_0x47d764(0x121)](getFeature,_0x37da1c);displayFeature(_0x1bf3c7,_0x1bf3c7[_0x47d764(0xbd)]);}export async function featureResume(_0x35407f){const _0x51375b=_0x3cf8e8,_0x59087c={'YjUXj':function(_0x72b190){return _0x72b190();},'FlVGl':function(_0x19f4f0,_0x56a734,_0x1af8be){return _0x19f4f0(_0x56a734,_0x1af8be);},'ORUJA':function(_0x11d78b,_0x56b1d2,_0x53ae83){return _0x11d78b(_0x56b1d2,_0x53ae83);},'oShLt':function(_0x5410c5,_0x5928d4){return _0x5410c5(_0x5928d4);},'goofP':function(_0x26effc,_0x4be00c){return _0x26effc&&_0x4be00c;},'tZRgw':'Not\x20in\x20a\x20git\x20repository.','DGggg':function(_0x3d9b06,_0x4562e7){return _0x3d9b06===_0x4562e7;},'ovUBW':function(_0x188867,_0x406817){return _0x188867===_0x406817;},'ogUZT':_0x51375b(0x116),'lrOEJ':_0x51375b(0x140),'qVlAG':_0x51375b(0x14f),'qpiYH':function(_0x4adadb,_0x2204a0){return _0x4adadb(_0x2204a0);},'NSggy':function(_0x3bbf71,_0x631176,_0x3debcc){return _0x3bbf71(_0x631176,_0x3debcc);},'cJFCO':function(_0x40542c,_0x3e6ed8,_0x33ab89){return _0x40542c(_0x3e6ed8,_0x33ab89);}};if(_0x35407f){const _0x44c021=await getFeature(_0x35407f);await setActiveFeatureId(_0x44c021['id']);const _0x422ed8=_0x59087c[_0x51375b(0x159)](getGitBranch);_0x422ed8&&_0x422ed8!==_0x44c021[_0x51375b(0x154)]&&(await _0x59087c['FlVGl'](updateFeature,_0x44c021['id'],{'gitBranch':_0x422ed8}),console[_0x51375b(0xae)](_0x51375b(0x136)+_0x422ed8));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x44c021[_0x51375b(0xfe)]+'\x20('+_0x44c021['id']+')'),await tryStartCurrentSession(_0x44c021['id']);const _0x1f0010=process[_0x51375b(0xf7)]['CLAUDE_SESSION_ID'];_0x1f0010&®isterSession(_0x1f0010,_0x44c021['id']);_0x59087c[_0x51375b(0xc9)](displayFeature,_0x44c021,_0x44c021['checklistItems']),await _0x59087c['oShLt'](printFeedbackNudge,_0x44c021['id']);return;}const _0xe18ab=getGitRepoUrl(),_0x56f190=_0x59087c[_0x51375b(0x159)](getGitBranch);if(_0x59087c[_0x51375b(0xf9)](!_0xe18ab,!_0x56f190))throw new Error(_0x59087c[_0x51375b(0x104)]);console[_0x51375b(0xae)]('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+(_0xe18ab||'any')+'\x20/\x20'+(_0x56f190||'any')+_0x51375b(0x113));const _0x33b079=await _0x59087c['oShLt'](listFeatures,{'gitRepoUrl':_0xe18ab,'gitBranch':_0x56f190}),_0x22ddba=_0x33b079[_0x51375b(0xea)]['filter'](_0x5641da=>_0x5641da[_0x51375b(0xe1)]?_0x5641da[_0x51375b(0xe1)]!=='verified':!_0x5641da['completedAt']);if(_0x59087c[_0x51375b(0x149)](_0x22ddba['length'],0x0)){console['log'](_0x51375b(0x97)),console[_0x51375b(0xae)](_0x51375b(0xf0));return;}let _0x9beadd;if(_0x59087c[_0x51375b(0xfa)](_0x22ddba[_0x51375b(0x89)],0x1))_0x9beadd=_0x22ddba[0x0];else{const _0x5bf23d=process[_0x51375b(0xb6)][_0x51375b(0xa7)]&&process['stdout']['isTTY'];if(!_0x5bf23d){console['log'](_0x59087c[_0x51375b(0xa1)]);for(const _0x9869e5 of _0x22ddba){console[_0x51375b(0xae)]('\x20\x20'+_0x9869e5['name']),console[_0x51375b(0xae)]('\x20\x20\x20\x20\x20ID:\x20'+_0x9869e5['id']),_0x9869e5['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x9869e5['stats'])),_0x9869e5['gitBranch']&&console[_0x51375b(0xae)](_0x51375b(0x122)+_0x9869e5['gitBranch']);}throw new Error(_0x51375b(0x13c));}const {selected:_0x280302}=await _0x24d7a5['prompt']([{'type':_0x59087c['lrOEJ'],'name':_0x59087c['qVlAG'],'message':_0x51375b(0x10c),'choices':_0x22ddba['map'](_0x4a3373=>({'name':_0x4a3373[_0x51375b(0xfe)]+'\x20('+_0x4a3373['id']+')','value':_0x4a3373['id']}))}]);_0x9beadd=_0x22ddba[_0x51375b(0xdc)](_0x43344c=>_0x43344c['id']===_0x280302);}await setActiveFeatureId(_0x9beadd['id']);_0x56f190&&_0x56f190!==_0x9beadd['gitBranch']&&(await updateFeature(_0x9beadd['id'],{'gitBranch':_0x56f190}),console[_0x51375b(0xae)](_0x51375b(0x136)+_0x56f190));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x9beadd[_0x51375b(0xfe)]+'\x20('+_0x9beadd['id']+')'),await _0x59087c['qpiYH'](tryStartCurrentSession,_0x9beadd['id']);const _0x1f8a1f=await getFeature(_0x9beadd['id']),_0x26cdca=process[_0x51375b(0xf7)][_0x51375b(0x131)];_0x26cdca&&_0x59087c['NSggy'](registerSession,_0x26cdca,_0x1f8a1f['id']),_0x59087c['cJFCO'](displayFeature,_0x1f8a1f,_0x1f8a1f['checklistItems']),await _0x59087c['oShLt'](printFeedbackNudge,_0x1f8a1f['id']);}async function printFeedbackNudge(_0x495491){const _0x246555=_0x3cf8e8,_0x5b5774={'NjaxT':function(_0x5c69ae,_0x578bc5,_0x5895a5){return _0x5c69ae(_0x578bc5,_0x5895a5);},'eQIiv':function(_0x352eef,_0x4f0a03){return _0x352eef>_0x4f0a03;},'CAPRo':'\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'};try{const {items:_0x44b1cf}=await getActionItems(_0x495491);let _0x202812=0x0,_0x32b65b=0x0;for(const _0x294ace of _0x44b1cf){const _0x3a29f5=await _0x5b5774['NjaxT'](getItemFeedback,_0x495491,_0x294ace['id']);_0x5b5774[_0x246555(0x130)](_0x3a29f5[_0x246555(0x156)][_0x246555(0x89)],0x0)&&(_0x202812+=_0x3a29f5['unaddressedComments'][_0x246555(0x89)],_0x32b65b++);}_0x202812>0x0&&(console['log'](_0x246555(0x12c)+_0x202812+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x32b65b+'\x20scenario(s).'),console['log'](_0x5b5774[_0x246555(0x14c)]));}catch{}}async function tryStartCurrentSession(_0x371190){const _0x567ab9=_0x3cf8e8,_0x5461cb={'cakAO':function(_0x5b46c7,_0x4a2d26){return _0x5b46c7(_0x4a2d26);}};try{const {sessions:_0x5b5521}=await _0x5461cb['cakAO'](listFeatureSessions,_0x371190),_0x5e497e=_0x5b5521[_0x567ab9(0xdc)](_0x2a3516=>_0x2a3516[_0x567ab9(0xe1)]===_0x567ab9(0xa6));_0x5e497e&&(await startSession(_0x371190,_0x5e497e['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x5e497e[_0x567ab9(0x13d)]));}catch{}}export async function featureReport(_0x18fb9c,_0x2dac80){const _0x30e08e=_0x3cf8e8,_0xa31959={'hnhAa':function(_0x132bde){return _0x132bde();},'zmJaR':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','efYYX':'\x0aGenerating\x20report...','AZfBZ':function(_0xeca17d,_0x2149cb,_0x5bc9a7){return _0xeca17d(_0x2149cb,_0x5bc9a7);},'TpqZf':function(_0x52f555,_0x1f0e70,_0x4bd904,_0x35ab5a){return _0x52f555(_0x1f0e70,_0x4bd904,_0x35ab5a);},'tFfnr':_0x30e08e(0xd3)},_0x2a6b7a=_0x18fb9c||await _0xa31959[_0x30e08e(0x9b)](getActiveFeatureId);if(!_0x2a6b7a)throw new Error(_0xa31959[_0x30e08e(0xb2)]);console['log'](_0xa31959[_0x30e08e(0x148)]);const _0x312ebc=await _0xa31959[_0x30e08e(0x119)](getFeatureReportMarkdown,_0x2a6b7a,{'style':_0x2dac80[_0x30e08e(0x91)]}),_0x2cd9e4=_0x2dac80[_0x30e08e(0x98)]||join(_0xa31959['hnhAa'](getRangerDir),_0x30e08e(0x90),_0x2a6b7a+'.md'),_0x2e8f02=join(_0x2cd9e4,'..');!existsSync(_0x2e8f02)&&await _0xa31959[_0x30e08e(0x119)](mkdir,_0x2e8f02,{'recursive':!![]}),await _0xa31959['TpqZf'](writeFile,_0x2cd9e4,_0x312ebc,_0xa31959['tFfnr']),console[_0x30e08e(0xae)]('\x0a✅\x20Report\x20generated:\x20'+_0x2cd9e4);}function getScenarioResult(_0x3800f0){const _0x1d809b=_0x3cf8e8;if(_0x3800f0[_0x1d809b(0xe1)]==='closed')return _0x3800f0[_0x1d809b(0x12a)]??'closed';if(_0x3800f0['status']===_0x1d809b(0xf8))return _0x1d809b(0x110);return _0x3800f0[_0x1d809b(0xe1)];}function getScenarioRationale(_0x276964,_0x106bc3){const _0x35106a=_0x3cf8e8;if(_0x106bc3)return _0x106bc3;if(_0x276964[_0x35106a(0xb3)])return _0x276964[_0x35106a(0xb3)];if(_0x276964[_0x35106a(0xc5)])return _0x276964[_0x35106a(0xc5)];if(_0x276964['canceledReason'])return _0x276964['canceledReason'];if(_0x276964[_0x35106a(0x115)])return _0x276964['notes'];return null;}export async function featureReportPrDescription(_0x8a014d,_0x2ee810){const _0xf9c3ba=_0x3cf8e8,_0x1decda={'zZOjn':function(_0x310d14){return _0x310d14();},'eyrxU':_0xf9c3ba(0xe7),'OyNaY':function(_0xeb465b,_0x1119b9){return _0xeb465b+_0x1119b9;}},_0x2bcffa=_0x8a014d||await _0x1decda[_0xf9c3ba(0xf6)](getActiveFeatureId);if(!_0x2bcffa)throw new Error(_0x1decda['eyrxU']);const _0x45eb93=await getFeature(_0x2bcffa),_0x39a694=_0x45eb93[_0xf9c3ba(0xbd)]||[],_0x368503=getCurrentSessionItems(_0x45eb93,_0x39a694);_0x368503[_0xf9c3ba(0x89)]===0x0&&(console[_0xf9c3ba(0x11c)]('\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.'),process['exit'](0x1));const _0x7e3094=_0x2ee810['excludeScenarios']??[],_0x4d9ed4=_0x7e3094[_0xf9c3ba(0x12d)](_0xd134d1=>!Number['isInteger'](_0xd134d1)||_0xd134d1<0x1||_0xd134d1>_0x368503[_0xf9c3ba(0x89)]);if(_0x4d9ed4['length']>0x0){console[_0xf9c3ba(0x11c)]('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x4d9ed4['join'](',\x20')),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2c30fe=0x0;_0x2c30fe<_0x368503[_0xf9c3ba(0x89)];_0x2c30fe++){console['log']('\x20\x20'+_0x1decda['OyNaY'](_0x2c30fe,0x1)+'.\x20'+_0x368503[_0x2c30fe][_0xf9c3ba(0xf2)]);}process['exit'](0x1);}const _0x5f2a80=new Set(_0x7e3094['map'](_0x465b5f=>_0x465b5f-0x1)),_0x3c448a=_0x368503[_0xf9c3ba(0x12d)]((_0x520d99,_0x20c23a)=>!_0x5f2a80['has'](_0x20c23a));_0x3c448a['length']===0x0&&(console[_0xf9c3ba(0x11c)]('\x0a❌\x20All\x20scenarios\x20were\x20excluded.'),process['exit'](0x1));if(_0x2ee810[_0xf9c3ba(0x15b)])await outputJsonReport(_0x2bcffa,_0x45eb93,_0x3c448a);else{const _0x2d156b=await getFeatureReportMarkdown(_0x2bcffa,{'itemIds':_0x3c448a['map'](_0x248433=>_0x248433['id'])});process['stdout']['write'](_0x2d156b[_0xf9c3ba(0xf5)]()+'\x0a');}}async function outputJsonReport(_0x59c093,_0x138e42,_0x3dbecb){const _0x3821cf=_0x3cf8e8,_0x50610e={'nIjTN':function(_0x18061e,_0x465b30){return _0x18061e(_0x465b30);},'nBWcc':function(_0x25fa8b,_0x46fbdb){return _0x25fa8b>_0x46fbdb;},'FDURR':function(_0x1a9fdb){return _0x1a9fdb();},'ijhsF':function(_0x5db5b5,_0x3bdd80){return _0x5db5b5(_0x3bdd80);}},_0x576d0b=_0x50610e['FDURR'](getApiBaseUrl),_0x17aed9=await _0x50610e[_0x3821cf(0xd6)](getFeatureReport,_0x59c093),_0x11810f=new Map(_0x17aed9[_0x3821cf(0xbd)]['map'](_0x30ebed=>[_0x30ebed['id'],_0x30ebed])),_0x569947=await Promise['all'](_0x3dbecb['map'](async _0x119812=>{const _0x346f69=_0x3821cf,_0x4a35fb=_0x11810f[_0x346f69(0x103)](_0x119812['id']),_0x586dd4=_0x4a35fb?.[_0x346f69(0x164)]??null;let _0x355471=[];if(_0x119812[_0x346f69(0x139)])try{const {steps:_0xfe7ab3}=await _0x50610e['nIjTN'](getBrowserSessionSteps,_0x119812[_0x346f69(0x139)]);_0x50610e['nBWcc'](_0xfe7ab3['length'],0x0)&&(_0x355471=_0xfe7ab3['map'](_0x194289=>{const _0x49d25d=_0x346f69,_0x13b1d7=_0x194289[_0x49d25d(0xd8)][_0x49d25d(0xdc)](_0x3e438e=>_0x3e438e[_0x49d25d(0xa4)]==='screenshot'&&_0x3e438e[_0x49d25d(0xef)]===_0x49d25d(0x145))??_0x194289['assets'][_0x49d25d(0xdc)](_0x48ec98=>_0x48ec98[_0x49d25d(0xa4)]===_0x49d25d(0xeb));let _0x1c6d08=null,_0x254878=null;if(_0x13b1d7){const _0x2bbeb2=_0x13b1d7[_0x49d25d(0xc4)]['location']['split']('/')[_0x49d25d(0xf1)]();_0x1c6d08=_0x576d0b+'/api/v1/mcp/browser-sessions/'+_0x119812['browserSessionId']+'/artifacts/'+_0x2bbeb2,_0x2bbeb2&&(_0x254878=_0x2bbeb2['replace'](/\.\w+$/,'')[_0x49d25d(0x94)](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x254878||_0x194289[_0x49d25d(0xf2)]||_0x194289[_0x49d25d(0xe5)]||'Step\x20'+_0x194289[_0x49d25d(0x10e)],'screenshot':_0x1c6d08,'is_key_step':_0x194289[_0x49d25d(0x158)]};}));}catch{}return _0x355471[_0x346f69(0x89)]===0x0&&_0x586dd4?.[_0x346f69(0xd1)]&&(_0x355471=_0x586dd4['screenshotUrls'][_0x346f69(0x14d)]((_0x575f0d,_0x4d65f5)=>({'description':'Screenshot\x20'+(_0x4d65f5+0x1),'screenshot':_0x575f0d,'is_key_step':![]}))),{'description':_0x119812['description'],'result':_0x50610e['nIjTN'](getScenarioResult,_0x119812),'rationale':getScenarioRationale(_0x119812,_0x586dd4?.[_0x346f69(0x137)]),'steps':_0x355471};})),_0x42dcf5={'url':_0x138e42[_0x3821cf(0xe2)],'scenarios':_0x569947};process[_0x3821cf(0xf4)][_0x3821cf(0x93)](JSON['stringify'](_0x42dcf5,null,0x2)+'\x0a');}export async function featureConcludeSession(_0x1cda7c){const _0x402e31=_0x3cf8e8,_0x283f27={'HXGvP':function(_0x24fa00,_0x486911){return _0x24fa00(_0x486911);},'onjGN':_0x402e31(0xaf),'vQOzv':function(_0x1beca4,_0x15eac8){return _0x1beca4===_0x15eac8;},'pMShM':'completed','AcHUt':_0x402e31(0x110),'TAWCz':_0x402e31(0x11f)},_0x5787a3=_0x1cda7c||await getActiveFeatureId();if(!_0x5787a3)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x46e4b7=await getFeature(_0x5787a3);if(!_0x46e4b7[_0x402e31(0x13b)])throw new Error(_0x402e31(0xa2));const {sessions:_0x70d8a4}=await _0x283f27['HXGvP'](listFeatureSessions,_0x5787a3),_0x108af1=_0x70d8a4[_0x402e31(0xdc)](_0x2876bd=>_0x2876bd['id']===_0x46e4b7['currentSessionId']);if(!_0x108af1)throw new Error(_0x283f27[_0x402e31(0xc2)]);if(_0x283f27['vQOzv'](_0x108af1['status'],_0x283f27['pMShM'])){console[_0x402e31(0xae)](_0x402e31(0x108));return;}if(_0x108af1['status']!==_0x283f27[_0x402e31(0x10f)])throw new Error('Cannot\x20conclude\x20session\x20with\x20status:\x20'+_0x108af1[_0x402e31(0xe1)]);console['log'](_0x283f27['TAWCz']),await concludeSession(_0x5787a3,_0x46e4b7['currentSessionId']),console[_0x402e31(0xae)]('\x0a✅\x20Session\x20'+_0x108af1['iteration']+_0x402e31(0x8e)),console[_0x402e31(0xae)](_0x402e31(0xd0));}export async function featureSessions(_0xc72003){const _0x5cfb28=_0x3cf8e8,_0x16d966={'pPMXl':_0x5cfb28(0xe7),'tQcSb':function(_0xfcd3cd,_0x437910){return _0xfcd3cd(_0x437910);},'uHsiI':function(_0x510461,_0x3d100a){return _0x510461(_0x3d100a);},'RXARO':function(_0x1576a7,_0x1f9720){return _0x1576a7===_0x1f9720;},'UdVTc':function(_0x35b40a,_0x3510ef){return _0x35b40a===_0x3510ef;},'GouJi':_0x5cfb28(0x110)},_0x15a987=_0xc72003||await getActiveFeatureId();if(!_0x15a987)throw new Error(_0x16d966[_0x5cfb28(0x127)]);const _0x120f8a=await _0x16d966[_0x5cfb28(0xec)](getFeature,_0x15a987);console['log'](_0x5cfb28(0x13e)+_0x120f8a[_0x5cfb28(0xfe)]+'\x0a');const {sessions:_0x35ad91}=await _0x16d966['uHsiI'](listFeatureSessions,_0x15a987);if(_0x16d966[_0x5cfb28(0xa5)](_0x35ad91['length'],0x0)){console['log'](_0x5cfb28(0x99));return;}for(const _0x1684ac of _0x35ad91){const _0x3c94b9=_0x16d966['RXARO'](_0x1684ac[_0x5cfb28(0xe1)],_0x5cfb28(0xb1))?'✅':_0x16d966['UdVTc'](_0x1684ac['status'],_0x16d966[_0x5cfb28(0x125)])?'🔄':'▶️';console[_0x5cfb28(0xae)](_0x3c94b9+_0x5cfb28(0x9e)+_0x1684ac['iteration']+'\x20('+_0x1684ac['id']+')'),console['log']('\x20\x20\x20Status:\x20'+_0x1684ac['status']),console['log'](_0x5cfb28(0xdb)+new Date(_0x1684ac[_0x5cfb28(0xc0)])['toLocaleString']()),_0x1684ac[_0x5cfb28(0x163)]&&console[_0x5cfb28(0xae)](_0x5cfb28(0x146)+new Date(_0x1684ac['completedAt'])['toLocaleString']()),console[_0x5cfb28(0xae)]('');}}export async function featureAddScenario(_0x35d29f,_0x171b86){const _0x59429e=_0x3cf8e8,_0x13640c={'TPMqa':function(_0xa2becc){return _0xa2becc();},'gulpL':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HbxCR':function(_0x42e1d0,_0xb9cacc){return _0x42e1d0(_0xb9cacc);},'rQHaR':function(_0x2211f4,_0x2888b9){return _0x2211f4(_0x2888b9);}},_0xc5140e=_0x171b86||await _0x13640c[_0x59429e(0x12e)](getActiveFeatureId);if(!_0xc5140e)throw new Error(_0x13640c[_0x59429e(0xcf)]);const _0x3f6726=await _0x13640c[_0x59429e(0x138)](getFeature,_0xc5140e);if(_0x3f6726[_0x59429e(0x109)]&&!_0x3f6726['latestReview'][_0x59429e(0xc6)])throw new Error(_0x59429e(0x13a)+_0x3f6726['dashboardUrl']);await createChecklistItem(_0xc5140e,_0x35d29f);const _0x44daa9=await _0x13640c['rQHaR'](getFeature,_0xc5140e);console['log'](_0x59429e(0x96)),displayFeature(_0x44daa9,_0x44daa9['checklistItems']);}export async function featureEditScenario(_0x484032,_0x6a309d){const _0x44b6e2=_0x3cf8e8,_0xb77abe={'EEpoT':function(_0x2d0cb3){return _0x2d0cb3();},'cSPkq':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','BRoMl':'Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','sleNx':function(_0xc9230e,_0x14de19){return _0xc9230e(_0x14de19);},'EbObT':'\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','EYDJF':_0x44b6e2(0x8f),'hJfiC':function(_0x197fb8,_0x870527){return _0x197fb8===_0x870527;},'pyHOh':'\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.','EnmdP':function(_0x39009e,_0x351e55){return _0x39009e<_0x351e55;},'NhEqr':function(_0x281f36,_0x2f540a){return _0x281f36-_0x2f540a;},'NTBIC':function(_0x243763,_0x47cf08){return _0x243763>=_0x47cf08;},'obCbv':function(_0x29c2b1,_0x4f4f09){return _0x29c2b1+_0x4f4f09;},'QudDP':function(_0x1a694d,_0x2f545c,_0x1eea6a,_0xc5ddbb){return _0x1a694d(_0x2f545c,_0x1eea6a,_0xc5ddbb);},'OSVTY':function(_0x50a55a,_0x110ec4,_0x18e37f){return _0x50a55a(_0x110ec4,_0x18e37f);}},_0x55429a=_0x6a309d['id']||await _0xb77abe[_0x44b6e2(0xa8)](getActiveFeatureId);!_0x55429a&&(console['error'](_0xb77abe['cSPkq']),console['error'](_0xb77abe['BRoMl']),process[_0x44b6e2(0xb9)](0x1));const _0x26eb6b=await _0xb77abe[_0x44b6e2(0xa0)](getFeature,_0x55429a);_0x26eb6b[_0x44b6e2(0x109)]&&!_0x26eb6b[_0x44b6e2(0x109)][_0x44b6e2(0xc6)]&&(console[_0x44b6e2(0x11c)](_0xb77abe[_0x44b6e2(0xb7)]),console[_0x44b6e2(0x11c)](_0xb77abe[_0x44b6e2(0xdd)]),console[_0x44b6e2(0x11c)]('\x20\x20'+_0x26eb6b['dashboardUrl']),process[_0x44b6e2(0xb9)](0x1));const _0x1da651=_0x26eb6b[_0x44b6e2(0xbd)]||[];_0x1da651[_0x44b6e2(0x89)]===0x0&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x44b6e2(0xb9)](0x1));if(_0xb77abe[_0x44b6e2(0xac)](_0x6a309d[_0x44b6e2(0x133)],undefined)){console['error'](_0xb77abe['pyHOh']),console[_0x44b6e2(0xae)]('\x0aAvailable\x20scenarios:');for(let _0x28b020=0x0;_0xb77abe['EnmdP'](_0x28b020,_0x1da651[_0x44b6e2(0x89)]);_0x28b020++){console['log']('\x20\x20'+(_0x28b020+0x1)+'.\x20'+_0x1da651[_0x28b020]['description']);}process[_0x44b6e2(0xb9)](0x1);}const _0x4bd4c9=_0xb77abe['NhEqr'](_0x6a309d['scenario'],0x1);if(_0x4bd4c9<0x0||_0xb77abe[_0x44b6e2(0xbb)](_0x4bd4c9,_0x1da651[_0x44b6e2(0x89)])){console[_0x44b6e2(0x11c)](_0x44b6e2(0xca)+_0x6a309d['scenario']+_0x44b6e2(0x11a)+_0x1da651[_0x44b6e2(0x89)]+_0x44b6e2(0xe0)),console['log']('\x0aAvailable\x20scenarios:');for(let _0x5386a2=0x0;_0x5386a2<_0x1da651[_0x44b6e2(0x89)];_0x5386a2++){console['log']('\x20\x20'+_0xb77abe['obCbv'](_0x5386a2,0x1)+'.\x20'+_0x1da651[_0x5386a2][_0x44b6e2(0xf2)]);}process['exit'](0x1);}const _0x3339cf=_0x1da651[_0x4bd4c9];await _0xb77abe['QudDP'](updateChecklistItem,_0x55429a,_0x3339cf['id'],{'description':_0x484032});const _0x1cc5df=await _0xb77abe[_0x44b6e2(0xa0)](getFeature,_0x55429a);console['log']('\x0a✅\x20Scenario\x20updated'),_0xb77abe[_0x44b6e2(0x14b)](displayFeature,_0x1cc5df,_0x1cc5df[_0x44b6e2(0xbd)]);}async function downloadFeedbackImage(_0x508706,_0x51f1eb){const _0x451e58=_0x3cf8e8,_0xa54a7c={'TnPUC':function(_0x511bd3,_0x2d0b24,_0x3679fe){return _0x511bd3(_0x2d0b24,_0x3679fe);},'xtDpZ':function(_0x5c0e87,_0x9e4852,_0x4639ec){return _0x5c0e87(_0x9e4852,_0x4639ec);}};try{const _0x43666f=join(getRangerDir(),_0x451e58(0xe4));await _0xa54a7c['TnPUC'](mkdir,_0x43666f,{'recursive':!![]});const _0x12436e=_0xa54a7c['xtDpZ'](join,_0x43666f,_0x451e58(0xd5)+_0x51f1eb+_0x451e58(0xb8)),_0x6bf9e8=await fetch(_0x508706);if(!_0x6bf9e8['ok'])return null;const _0x3b372c=Buffer['from'](await _0x6bf9e8[_0x451e58(0xc3)]());return await writeFile(_0x12436e,_0x3b372c),_0x12436e;}catch{return null;}}export async function featureGetReview(_0x3a649b){const _0x5af4d5=_0x3cf8e8,_0x274ec3={'GBrHH':_0x5af4d5(0xc1),'gDAHq':function(_0x3d7533,_0x204152){return _0x3d7533(_0x204152);},'nFcjQ':function(_0x322a8a,_0x17829d){return _0x322a8a===_0x17829d;},'dwqrV':'No\x20scenarios\x20found.','LUqEa':function(_0x424426,_0x43112b,_0x59aafa){return _0x424426(_0x43112b,_0x59aafa);},'gdOOd':_0x5af4d5(0xfb),'FEEZQ':_0x5af4d5(0x14a),'EIgpN':_0x5af4d5(0x11e),'rIsej':'point','tqpsh':function(_0x32d177,_0x5d7a45){return _0x32d177+_0x5d7a45;}},_0x2eb87e=_0x3a649b||await getActiveFeatureId();if(!_0x2eb87e)throw new Error(_0x274ec3[_0x5af4d5(0x12b)]);const _0x234e15=await getFeature(_0x2eb87e),{items:_0x3e2970}=await _0x274ec3[_0x5af4d5(0xbc)](getActionItems,_0x2eb87e);console['log']('\x0a📋\x20Feedback\x20for:\x20'+_0x234e15[_0x5af4d5(0xfe)]+'\x20('+_0x234e15['id']+')\x0a');if(_0x274ec3[_0x5af4d5(0x8a)](_0x3e2970[_0x5af4d5(0x89)],0x0)){console['log'](_0x274ec3['dwqrV']);return;}for(let _0x1a5889=0x0;_0x1a5889<_0x3e2970['length'];_0x1a5889++){const _0x4c67e9=_0x3e2970[_0x1a5889],_0x2f1cb9=_0x4c67e9[_0x5af4d5(0xda)]>0x1?_0x5af4d5(0xab)+_0x4c67e9[_0x5af4d5(0xda)]+')':'',_0x1d2045=await _0x274ec3['LUqEa'](getItemFeedback,_0x2eb87e,_0x4c67e9['id']);if(_0x1d2045[_0x5af4d5(0x156)]['length']>0x0){console[_0x5af4d5(0xae)](_0x5af4d5(0x9f)+(_0x1a5889+0x1)+':\x20\x22'+_0x4c67e9[_0x5af4d5(0xf2)]+'\x22'+_0x2f1cb9+'\x20—\x20'+_0x1d2045[_0x5af4d5(0x156)][_0x5af4d5(0x89)]+'\x20unaddressed\x20comment(s)');for(const _0x4fe038 of _0x1d2045[_0x5af4d5(0x156)]){const _0x345317=new Date(_0x4fe038['createdAt'])[_0x5af4d5(0x111)](_0x274ec3[_0x5af4d5(0xd2)],{'month':_0x274ec3[_0x5af4d5(0x100)],'day':_0x5af4d5(0x15c)}),_0x2ad31d=_0x4fe038['authorName']||_0x4fe038['authorEmail']||'Unknown';console['log']('\x20\x20💬\x20'+_0x2ad31d+'\x20('+_0x345317+'):\x20\x22'+_0x4fe038[_0x5af4d5(0xe8)]+'\x22');if(_0x4fe038['assetUrl']){const _0x44e167=await downloadFeedbackImage(_0x4fe038[_0x5af4d5(0xb0)],_0x4fe038['id']);_0x44e167&&console[_0x5af4d5(0xae)]('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x44e167);}if(_0x4fe038['domRef']){const _0x2adf63=_0x4fe038[_0x5af4d5(0xfd)][_0x5af4d5(0x13f)][_0x5af4d5(0x150)](_0x274ec3[_0x5af4d5(0xed)])[_0x5af4d5(0xf1)]()?.['split'](':')[0x0]||_0x5af4d5(0xcb),_0x6fa19e=_0x4fe038['domRef']['textContent']?'\x20\x22'+_0x4fe038['domRef'][_0x5af4d5(0x11d)][_0x5af4d5(0x132)](0x0,0x3c)+'\x22':'';console[_0x5af4d5(0xae)]('\x20\x20\x20\x20\x20🎯\x20Element:\x20<'+_0x2adf63+'>'+_0x6fa19e),console[_0x5af4d5(0xae)]('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x4fe038[_0x5af4d5(0xfd)]['selector']);}else{if(_0x4fe038[_0x5af4d5(0x9c)]){const _0x29b69d=_0x4fe038[_0x5af4d5(0x9c)][_0x5af4d5(0xdf)];_0x4fe038[_0x5af4d5(0x9c)]['type']===_0x274ec3['rIsej']&&_0x29b69d['length']>=0x2?console[_0x5af4d5(0xae)](_0x5af4d5(0x10a)+_0x29b69d[0x0]['toFixed'](0x2)+',\x20'+_0x29b69d[0x1]['toFixed'](0x2)+')'):console[_0x5af4d5(0xae)](_0x5af4d5(0x152)+_0x4fe038[_0x5af4d5(0x9c)][_0x5af4d5(0xf3)]+_0x5af4d5(0x124)+_0x29b69d[_0x5af4d5(0x14d)](_0x1c45a2=>_0x1c45a2['toFixed'](0x2))['join'](',\x20')+']');}}}if(_0x1d2045[_0x5af4d5(0x141)]){console['log']('\x20\x20Expected\x20flow:');for(const _0x58f847 of _0x1d2045[_0x5af4d5(0x141)][_0x5af4d5(0x150)]('\x0a')){console[_0x5af4d5(0xae)](_0x5af4d5(0x15e)+_0x58f847);}}}else console[_0x5af4d5(0xae)](_0x5af4d5(0x9f)+_0x274ec3['tqpsh'](_0x1a5889,0x1)+':\x20\x22'+_0x4c67e9[_0x5af4d5(0xf2)]+'\x22'+_0x2f1cb9+_0x5af4d5(0xff)),console[_0x5af4d5(0xae)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x4213b7){const _0x19e730=_0x3cf8e8,_0x2790e8={'PoBkJ':function(_0x283057,_0x4063ac){return _0x283057(_0x4063ac);},'aUrNP':function(_0x42c648,_0x443f74){return _0x42c648(_0x443f74);},'gAZja':function(_0x19830e,_0x456d4c){return _0x19830e+_0x456d4c;}},_0x8c13c=_0x4213b7||await getActiveFeatureId();if(!_0x8c13c)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review');const _0x5bd984=await _0x2790e8['PoBkJ'](getFeature,_0x8c13c);await _0x2790e8[_0x19e730(0xb5)](softDeleteFeature,_0x8c13c),console['log']('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x5bd984[_0x19e730(0xfe)]+'\x20('+_0x8c13c+')'),console['log'](_0x2790e8['gAZja'](_0x19e730(0x9d),_0x8c13c));}export async function featureRestore(_0x51e8a3){const _0x2eab99=_0x3cf8e8,_0x5a9102={'oRHQJ':function(_0x59cab0,_0x33fdbe){return _0x59cab0(_0x33fdbe);},'kGskP':function(_0x127978,_0xaa6468){return _0x127978(_0xaa6468);},'Dbpfm':function(_0x20d739,_0x245ee9,_0x55f0ce){return _0x20d739(_0x245ee9,_0x55f0ce);}};await _0x5a9102['oRHQJ'](restoreFeature,_0x51e8a3);const _0x285647=await _0x5a9102['kGskP'](getFeature,_0x51e8a3);console[_0x2eab99(0xae)](_0x2eab99(0x153)+_0x285647['name']+'\x20('+_0x51e8a3+')'),_0x5a9102['Dbpfm'](displayFeature,_0x285647,_0x285647[_0x2eab99(0xbd)]);}
|