@ranger-testing/ranger-cli 2.5.4-alpha.27e3ee8-11 → 2.5.4-alpha.57338f5-12

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.
Files changed (81) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/mcpBootstrap.js +1 -1
  25. package/build/commands/migrateProfile.js +1 -1
  26. package/build/commands/setup/claude.js +1 -1
  27. package/build/commands/setup/opencode.js +1 -1
  28. package/build/commands/setupCi.js +1 -1
  29. package/build/commands/skillup.js +1 -1
  30. package/build/commands/start.js +1 -1
  31. package/build/commands/status.js +1 -1
  32. package/build/commands/update.js +1 -1
  33. package/build/commands/updateEnv.js +1 -1
  34. package/build/commands/useEnv.js +1 -1
  35. package/build/commands/utils/activeProfile.js +1 -1
  36. package/build/commands/utils/agentEnv.js +1 -1
  37. package/build/commands/utils/browserSessionsApi.js +1 -1
  38. package/build/commands/utils/claudeConfig.js +1 -1
  39. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  40. package/build/commands/utils/claudePlugin.js +1 -1
  41. package/build/commands/utils/cloudProfile.js +1 -1
  42. package/build/commands/utils/cloudProfileSession.js +1 -1
  43. package/build/commands/utils/crypto.js +1 -1
  44. package/build/commands/utils/desirePathLog.js +1 -1
  45. package/build/commands/utils/deviceAuth.js +1 -1
  46. package/build/commands/utils/environment.js +1 -1
  47. package/build/commands/utils/featureApi.js +1 -1
  48. package/build/commands/utils/fixWebmDuration.js +1 -1
  49. package/build/commands/utils/gitTracked.js +1 -1
  50. package/build/commands/utils/keychain.js +1 -1
  51. package/build/commands/utils/legacyWarning.js +1 -0
  52. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  53. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  54. package/build/commands/utils/mcpImageBase64.js +1 -1
  55. package/build/commands/utils/model.js +1 -1
  56. package/build/commands/utils/opencodeConfig.js +1 -1
  57. package/build/commands/utils/playwrightCli.js +1 -1
  58. package/build/commands/utils/profileMessages.js +1 -1
  59. package/build/commands/utils/profileSetupBanner.js +1 -1
  60. package/build/commands/utils/projectsConfig.js +1 -1
  61. package/build/commands/utils/rangerConfig.js +1 -1
  62. package/build/commands/utils/rangerRoot.js +1 -1
  63. package/build/commands/utils/resolveProfileContext.js +1 -1
  64. package/build/commands/utils/resolveProfileUrl.js +1 -1
  65. package/build/commands/utils/retry.js +1 -1
  66. package/build/commands/utils/sessionCache.js +1 -1
  67. package/build/commands/utils/settings.js +1 -1
  68. package/build/commands/utils/skillContent.js +1 -1
  69. package/build/commands/utils/skills.js +1 -1
  70. package/build/commands/utils/stitchWebmFiles.js +1 -1
  71. package/build/commands/utils/telemetry.js +1 -1
  72. package/build/commands/utils/tokenRefresh.js +1 -1
  73. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  74. package/build/commands/utils/userApi.js +1 -1
  75. package/build/commands/utils/version.js +1 -1
  76. package/build/commands/verifyFeature.js +1 -1
  77. package/build/commands/verifyFeatureCli.js +1 -1
  78. package/build/skills/ranger/SKILL.md +13 -7
  79. package/build/skills/ranger/create.md +16 -3
  80. package/build/skills/ranger/verify.md +23 -10
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x284f41,_0x383e1c){const _0x259c8d=_0x388a,_0x25d891=_0x284f41();while(!![]){try{const _0x307d83=parseInt(_0x259c8d(0x1c0))/0x1+parseInt(_0x259c8d(0x1a7))/0x2*(parseInt(_0x259c8d(0x1b9))/0x3)+parseInt(_0x259c8d(0x176))/0x4*(parseInt(_0x259c8d(0x1ac))/0x5)+parseInt(_0x259c8d(0x1b6))/0x6+parseInt(_0x259c8d(0x17a))/0x7*(-parseInt(_0x259c8d(0x196))/0x8)+parseInt(_0x259c8d(0x18a))/0x9*(-parseInt(_0x259c8d(0x1b0))/0xa)+-parseInt(_0x259c8d(0x15e))/0xb;if(_0x307d83===_0x383e1c)break;else _0x25d891['push'](_0x25d891['shift']());}catch(_0x5aeb69){_0x25d891['push'](_0x25d891['shift']());}}}(_0x47ba,0xe3676));import{mkdir,writeFile,readFile,readdir,unlink,rm,mkdtemp,rename}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0xb212f4 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';function _0x47ba(){const _0x25d38c=['Continue\x20anyway','\x22\x20already\x20exists.\x20Choose\x20a\x20different\x20name\x20or\x20delete\x20the\x20existing\x20profile\x20first.','LrlSt','SEATr','VFKnr','test','isElectron','auth.json','356512omZtGU','XBRen','user','\x0a🔌\x20CDP\x20Profile\x20Setup\x0a','Saving\x20authentication\x20state...','\x20(continuing\x20with\x20--force)','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','signal','keNHN','baseUrl','YIJkc','fhOpK','\x22.\x20Expected\x20\x22Name:\x20Value\x22.','Enter\x20a\x20new\x20URL\x20(or\x20press\x20enter\x20to\x20keep\x20current):','\x0a🌐\x20Profile\x20Setup\x0a','--disable-features=WebBluetooth','user_declined','44606doUvga','uYAvT','\x0a\x20\x20Still\x20could\x20not\x20reach\x20','NODE_TLS_REJECT_UNAUTHORIZED','error','1455xZffcv','force','setupHeader','log','130fpXUfS','allowInsecureLocalhost','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20at\x20','LeCoV','What\x20is\x20the\x20URL\x20of\x20your\x20running\x20app?','⚠\x20Could\x20not\x20reach\x20','5135754wWPNLR','Removed\x20existing\x20profile\x20at\x20','oLkKG','51vFCfVV','off','\x20\x20Cleaned\x20up\x20orphan\x20local\x20profile\x20at\x20','trackPhaseEnd','\x20\x20\x20Creating\x20it\x20in\x20','trackPhaseStart','No\x20auth\x20env\x20matches\x20this\x20URL.\x20Creating\x20local\x20profile.','894486gbAkzm','env','utf-8','VEExW','browser_auth','rGWLN','isTTY','JDupF','FbZrm','nMjae','dCcvl','local','assign','config_write','goto','fDHjH','location','url_setup','launch','Warning:\x20Profile\x20created,\x20but\x20failed\x20to\x20mark\x20it\x20as\x20active.','BBsxf','environments','NBcBu','startsWith','url','http://localhost:3000','\x20--skip-auth\x20\x20\x20\x20(skip\x20browser\x20auth\x20entirely)\x0a','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','What\x20would\x20you\x20like\x20to\x20do?','.tmp-','http://','18224921hlzkIa','\x20would\x20shadow\x20the\x20existing\x20profile.','SkART','wyePx','Delete\x20existing\x20and\x20create\x20new\x20in\x20','shouldReplace','yes','confirm','extraHTTPHeaders','prompt','OpdQK','oQnvg','\x0a\x20\x20Profile\x20\x22','Profile\x20\x22','profile.add.autoRouteSkipped','--allow-insecure-localhost','cdpEndpoint','ngmed','storageState','\x0a⚠️\x20\x20Profile\x20\x22','\x22\x20already\x20exists.\x20Overwrite?','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20backup\x20at\x20','path','.backup-','9304BAegWL','stdin','length','\x20\x20Make\x20sure\x20your\x20app\x20is\x20running\x20locally\x20before\x20continuing.','28rFOaDY','catch','safeMode','\x20\x20Could\x20not\x20reach\x20Ranger\x20API\x20to\x20create\x20a\x20cloud\x20profile\x20(','\x20\x20Configuring\x20Ranger\x20to\x20connect\x20to:\x20','keys','XcYWE','HhuYI','no_auth_config','slice','message','\x20\x20Next:\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--profile\x20','jDjHH','skipAuth','profile.add.autoRouted','overwrite','27657zeEJHr','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','\x0a\x20\x20(domains:\x20','continue'];_0x47ba=function(){return _0x25d38c;};return _0x47ba();}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(_0x29e694){const _0x153624=_0x388a,_0xeff23b={'HvDPK':'HEAD','hdTLh':function(_0x51f8e0,_0x395027){return _0x51f8e0<_0x395027;},'TESkv':'Invalid\x20URL','hTFgA':'TypeError','uaNpZ':'fetch\x20failed'};try{const _0x4a5c81=new AbortController(),_0x34a09b=setTimeout(()=>_0x4a5c81['abort'](),0x1388),_0x1d2e19={'method':_0xeff23b['HvDPK'],'signal':_0x4a5c81[_0x153624(0x19d)],'redirect':'manual'};/^https:\/\/localhost(:\d+)?/i['test'](_0x29e694)&&(process['env'][_0x153624(0x1aa)]='0');const _0x39fead=await fetch(_0x29e694,_0x1d2e19);delete process[_0x153624(0x1c1)]['NODE_TLS_REJECT_UNAUTHORIZED'],clearTimeout(_0x34a09b);if(_0xeff23b['hdTLh'](_0x39fead['status'],0x190))return{'ok':!![]};return{'ok':![],'error':'HTTP\x20'+_0x39fead['status']};}catch(_0x1c38b5){delete process[_0x153624(0x1c1)]['NODE_TLS_REJECT_UNAUTHORIZED'];const _0x49c63a=_0x1c38b5,_0xabefca=_0x49c63a[_0x153624(0x184)]||String(_0x1c38b5),_0x144a09=_0xabefca['includes'](_0xeff23b['TESkv'])||_0x49c63a['name']===_0xeff23b['hTFgA']||_0xabefca['includes'](_0xeff23b['uaNpZ']);return{'ok':![],'error':_0xabefca,'isProtocolError':_0x144a09};}}async function sweepOrphanLocalProfile(_0x3f81ef,_0x1c3508,_0x30ff0b){const _0x28e750=_0x388a,_0x2b0dd1={'XBRen':_0x28e750(0x14a),'QZMZj':function(_0x54bfc,_0x538a33){return _0x54bfc(_0x538a33);},'uMTHR':function(_0x48f422,_0x4af949){return _0x48f422(_0x4af949);}},_0x5d9629=join(_0x1c3508,_0x2b0dd1[_0x28e750(0x197)]),_0x415f35=join(_0x5d9629,_0x3f81ef);_0x2b0dd1['QZMZj'](existsSync,_0x415f35)&&(_0x30ff0b&&await _0x2b0dd1['uMTHR'](isPathGitTracked,_0x415f35)?console[_0x28e750(0x1af)]('\x20\x20Note:\x20found\x20git-tracked\x20local\x20profile\x20at\x20'+_0x415f35+'\x20—\x20not\x20removing.\x20Delete\x20manually\x20if\x20you\x20want\x20it\x20gone.'):(await rm(_0x415f35,{'recursive':!![],'force':!![]}),console[_0x28e750(0x1af)]('\x20\x20Cleaned\x20up\x20orphan\x20local\x20profile\x20at\x20'+_0x415f35)));if(existsSync(_0x5d9629)){let _0x4d2772=[];try{_0x4d2772=await readdir(_0x5d9629);}catch{return;}const _0x45d610='.tmp-'+_0x3f81ef+'-';for(const _0x3d49a9 of _0x4d2772){if(!_0x3d49a9['startsWith'](_0x45d610))continue;const _0x57b3e2=join(_0x5d9629,_0x3d49a9);await rm(_0x57b3e2,{'recursive':!![],'force':!![]}),console[_0x28e750(0x1af)](_0x28e750(0x1bb)+_0x57b3e2);}}}function _0x388a(_0x370c49,_0x2d6c87){_0x370c49=_0x370c49-0x149;const _0x47baca=_0x47ba();let _0x388a4a=_0x47baca[_0x370c49];return _0x388a4a;}async function tryAutoRouteCloudProfile(_0x5a5304,_0x5a439d,_0x549788,_0x2ecd9f,_0x2a7620){const _0x2d6171=_0x388a,_0x4ec078={'lcTpy':'profile.add.autoRouteSkipped','VFKnr':'no_auth_config','BBsxf':function(_0x3860d9,_0x38845e,_0x5bb02d){return _0x3860d9(_0x38845e,_0x5bb02d);},'NycVb':'saveToCloud','HsxgO':function(_0x145c56,_0x153de2){return _0x145c56===_0x153de2;},'DoDSt':function(_0x3df9d3,_0x476da1,_0x1f8450,_0x3b977f){return _0x3df9d3(_0x476da1,_0x1f8450,_0x3b977f);},'FbZrm':function(_0x36b92f){return _0x36b92f();},'ypaDZ':function(_0x13e892,_0xcdd706){return _0x13e892!==_0xcdd706;},'rSKHI':function(_0xab108d,_0x45329a){return _0xab108d instanceof _0x45329a;},'ZocLR':_0x2d6171(0x188)};let _0x2e88a2;try{_0x2e88a2=await fetchAuthConfig();}catch{return _0x2a7620?.[_0x2d6171(0x1bc)]('profile.add.autoRouteSkipped',{'reason':_0x2d6171(0x182),'profileName':_0x5a5304}),![];}if(!_0x2e88a2||!_0x2e88a2[_0x2d6171(0x154)]||Object[_0x2d6171(0x17f)](_0x2e88a2[_0x2d6171(0x154)])['length']===0x0)return _0x2a7620?.['trackPhaseEnd'](_0x4ec078['lcTpy'],{'reason':_0x4ec078[_0x2d6171(0x192)],'profileName':_0x5a5304}),![];const _0x41b3e2=_0x4ec078[_0x2d6171(0x153)](matchAuthEnvironment,_0x5a439d,_0x2e88a2);if(!_0x41b3e2)return console['log'](_0x2d6171(0x1bf)),_0x2a7620?.[_0x2d6171(0x1bc)](_0x2d6171(0x16c),{'reason':'no_match','profileName':_0x5a5304}),![];const _0x3674bf=_0x2e88a2[_0x2d6171(0x154)][_0x41b3e2],_0x29b6d8=_0x3674bf?.['domains']??[];if(_0x2ecd9f&&!_0x549788[_0x2d6171(0x164)]){const {saveToCloud:_0x3d3ffd}=await _0xb212f4['prompt']([{'type':'confirm','name':_0x4ec078['NycVb'],'message':'Found\x20auth\x20environment\x20\x27'+_0x41b3e2+'\x27\x20matching\x20'+_0x5a439d+_0x2d6171(0x18c)+_0x29b6d8['join'](',\x20')+')\x0a\x20\x20Save\x20\x27'+_0x5a5304+'\x27\x20to\x20the\x20cloud?','default':!![]}]);if(!_0x3d3ffd)return _0x2a7620?.['trackPhaseEnd']('profile.add.autoRouteSkipped',{'reason':_0x2d6171(0x1a6),'profileName':_0x5a5304}),![];}const _0x2cebfe=_0x29b6d8['some'](_0x4ec450=>{try{return new URL(_0x4ec450)['origin']===new URL(_0x5a439d)['origin'];}catch{return![];}}),_0x561d5a={};!_0x2cebfe&&(_0x561d5a['baseUrl']=_0x5a439d);try{await createCloudProfile(_0x5a5304,_0x41b3e2,{'settings':_0x561d5a});}catch(_0x2893f3){if(_0x2893f3 instanceof ApiError&&_0x4ec078['HsxgO'](_0x2893f3['status'],0x199)){console['error']('\x0a\x20\x20A\x20cloud\x20profile\x20named\x20\x22'+_0x5a5304+_0x2d6171(0x18f));throw _0x2893f3;}return console['log'](_0x2d6171(0x17d)+(_0x2893f3 instanceof Error?_0x2893f3[_0x2d6171(0x184)]:String(_0x2893f3))+').\x20Falling\x20back\x20to\x20local\x20profile.'),_0x2a7620?.[_0x2d6171(0x1bc)](_0x4ec078['lcTpy'],{'reason':_0x2d6171(0x182),'profileName':_0x5a5304}),![];}console['log']('✓\x20Cloud\x20profile\x20\x27'+_0x5a5304+'\x27\x20created,\x20linked\x20to\x20env\x20\x27'+_0x41b3e2+'\x27.\x0a'+(_0x2d6171(0x185)+_0x5a5304));try{await _0x4ec078['DoDSt'](sweepOrphanLocalProfile,_0x5a5304,getRangerHomeDir(),![]);const _0x2c0d57=_0x4ec078[_0x2d6171(0x1c8)](getRangerDir);_0x4ec078['ypaDZ'](_0x2c0d57,getRangerHomeDir())&&await sweepOrphanLocalProfile(_0x5a5304,_0x2c0d57,!![]);}catch(_0x409074){console[_0x2d6171(0x1af)]('\x20\x20Note:\x20cloud\x20profile\x20created,\x20but\x20failed\x20to\x20sweep\x20orphan\x20local\x20dirs\x20('+(_0x4ec078['rSKHI'](_0x409074,Error)?_0x409074['message']:String(_0x409074))+').');}return _0x2a7620?.[_0x2d6171(0x1bc)](_0x4ec078['ZocLR'],{'envKey':_0x41b3e2,'profileName':_0x5a5304}),!![];}export async function addEnv(_0x2dfc8b,_0x3a96ef={},_0xa22274){const _0x471767=_0x388a,_0x455d5c={'BnLZi':_0x471767(0x14a),'onjgh':_0x471767(0x198),'uksto':function(_0x3ad179){return _0x3ad179();},'IHnuT':function(_0x23f719,_0xf4ff25,_0x11d2b8,_0x272dc5){return _0x23f719(_0xf4ff25,_0x11d2b8,_0x272dc5);},'VEExW':function(_0x5ca49f,_0x593b3d,_0x57ba82){return _0x5ca49f(_0x593b3d,_0x57ba82);},'YUebN':function(_0x1f05cb,_0x57712a){return _0x1f05cb===_0x57712a;},'irlYi':'--cdp-endpoint\x20must\x20not\x20be\x20empty.\x20Provide\x20the\x20CDP\x20URL,\x20e.g.\x20--cdp-endpoint\x20http://localhost:9222','JSwpO':'--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.','NBcBu':function(_0x7e4dbe,_0x449747){return _0x7e4dbe(_0x449747);},'WVCPD':_0x471767(0x18b),'HGufM':function(_0x2334e8,_0x58de8c,_0xe6aadf,_0x2aea40,_0xab70f1,_0x15b8c9){return _0x2334e8(_0x58de8c,_0xe6aadf,_0x2aea40,_0xab70f1,_0x15b8c9);},'hulpm':'confirm','nPKXQ':_0x471767(0x189),'JDupF':'Aborted.','HhuYI':'legacy','DmwXK':_0x471767(0x163),'rGWLN':_0x471767(0x1a4),'fDHjH':_0x471767(0x179),'ngmed':'\x20\x20Ranger\x20will\x20open\x20it\x20in\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20and\x20save\x20your\x20session.\x0a','nGLhN':_0x471767(0x1b4),'HntAt':_0x471767(0x158),'LeCoV':function(_0x27e1a6,_0x27e828){return _0x27e1a6(_0x27e828);},'YIJkc':'list','Nrqxf':'action','fhOpK':'use_suggestion','SKxJE':_0x471767(0x18e),'oLkKG':function(_0x3c465a,_0x292d57){return _0x3c465a(_0x292d57);},'oqYpP':_0x471767(0x150),'LrlSt':function(_0x1153ed,_0x364f8e,_0x358246){return _0x1153ed(_0x364f8e,_0x358246);},'nMjae':function(_0x2b3d64,_0x25089a,_0x2d11ad){return _0x2b3d64(_0x25089a,_0x2d11ad);},'XcYWE':'\x0a📋\x20Authentication\x20Setup','jDjHH':'\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20profile\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.','mVMbt':'\x0a\x20\x20\x20⚠\x20This\x20step\x20requires\x20human\x20interaction\x20in\x20a\x20browser.','SkART':'\x20\x20\x20If\x20you\x20are\x20an\x20agent,\x20background\x20this\x20process\x20and\x20let\x20your\x20user\x20know\x20they\x20need\x20to\x20complete\x20browser\x20authentication.\x0a','oQnvg':function(_0x301895,_0x38df99){return _0x301895>_0x38df99;},'SEATr':'\x0aThe\x20browser\x20closed\x20unexpectedly\x20before\x20authentication\x20could\x20be\x20saved.','dCcvl':'This\x20can\x20happen\x20due\x20to\x20a\x20browser\x20compatibility\x20issue\x20on\x20some\x20systems.\x0a','wyePx':_0x471767(0x15a),'OpdQK':'\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','uJNvg':function(_0x48e6b8,_0x11f084,_0x493dfc){return _0x48e6b8(_0x11f084,_0x493dfc);},'uYAvT':function(_0x353998,_0x1b2162){return _0x353998+_0x1b2162;},'NxKNq':_0x471767(0x19c),'lpQGT':function(_0x3833ac,_0x484478){return _0x3833ac>_0x484478;},'QcKfW':function(_0x50652d,_0x49f222,_0x8867ac){return _0x50652d(_0x49f222,_0x8867ac);},'Wqsdn':'settings.json','keNHN':function(_0x4a2117,_0x339435,_0xfd9bb6){return _0x4a2117(_0x339435,_0xfd9bb6);},'jZuXO':function(_0x4be912,_0xcb10df,_0x18e90e){return _0x4be912(_0xcb10df,_0x18e90e);},'CPKwj':_0x471767(0x152),'nxfas':_0x471767(0x14c),'xFkiT':'SIGINT'},_0x10a9ad=_0x3a96ef['ci']??![],_0x29751d=_0x10a9ad?'ci':_0x455d5c['BnLZi'],_0x3879e2=_0x3a96ef['scope']===_0x455d5c['onjgh']?getRangerHomeDir():_0x455d5c['uksto'](getRangerDir),_0x878a31=_0x455d5c['IHnuT'](join,_0x3879e2,_0x29751d,_0x2dfc8b),_0x4a8af1={};if(_0x3a96ef[_0x471767(0x1ae)])for(const _0x3b44cc of _0x3a96ef[_0x471767(0x1ae)]){const _0x11f2db=_0x3b44cc['indexOf'](':');if(_0x11f2db===-0x1)throw new Error('Invalid\x20--setup-header\x20format:\x20\x22'+_0x3b44cc+_0x471767(0x1a2));const _0x1599b4=_0x3b44cc[_0x471767(0x183)](0x0,_0x11f2db)['trim'](),_0x172ffd=_0x3b44cc['slice'](_0x11f2db+0x1)['trim']();_0x4a8af1[_0x1599b4]=_0x172ffd;}const _0x3d753d=_0x455d5c[_0x471767(0x1c3)](join,_0x3879e2,_0x29751d);if(_0x3a96ef['cdpEndpoint']!==undefined&&_0x455d5c['YUebN'](_0x3a96ef[_0x471767(0x16e)]['trim'](),''))throw new Error(_0x455d5c['irlYi']);if(_0x3a96ef['cdpEndpoint']&&_0x3a96ef[_0x471767(0x157)])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(_0x3a96ef[_0x471767(0x16e)]&&_0x3a96ef['ci'])throw new Error(_0x455d5c['JSwpO']);const _0x59e6f0=_0x455d5c['NBcBu'](Boolean,_0x3a96ef[_0x471767(0x16e)]),_0x41ba29=!_0x3a96ef['skipAuth']&&!_0x59e6f0,_0x151e99=process[_0x471767(0x177)][_0x471767(0x1c6)]&&process['stdout']['isTTY'];if(!_0x151e99&&!_0x3a96ef[_0x471767(0x157)]&&!_0x59e6f0)throw new Error(_0x455d5c['WVCPD']);if(!_0x10a9ad&&!_0x3a96ef[_0x471767(0x187)]&&!_0x59e6f0&&_0x3a96ef[_0x471767(0x157)]){const _0x52fbfa=await _0x455d5c['HGufM'](tryAutoRouteCloudProfile,_0x2dfc8b,_0x3a96ef['url'],_0x3a96ef,_0x151e99,_0xa22274);if(_0x52fbfa)return;}const _0x5bb030=findExistingEnv(_0x2dfc8b,{'rangerDir':_0x3879e2});let _0x54f6c2=null;if(_0x5bb030){if(!_0x151e99)_0x54f6c2=_0x5bb030;else{if(_0x455d5c['YUebN'](_0x5bb030['location'],_0x29751d)){const {overwrite:_0x11027a}=await _0xb212f4[_0x471767(0x167)]([{'type':_0x455d5c['hulpm'],'name':_0x455d5c['nPKXQ'],'message':_0x471767(0x16b)+_0x2dfc8b+_0x471767(0x172),'default':![]}]);if(!_0x11027a){console['log'](_0x455d5c[_0x471767(0x1c7)]);return;}_0x54f6c2=_0x5bb030;}else{const _0x444e11=_0x5bb030[_0x471767(0x14f)]===_0x455d5c[_0x471767(0x181)]?'root\x20(.ranger/)':_0x5bb030['location'];console[_0x471767(0x1ab)](_0x471767(0x171)+_0x2dfc8b+'\x22\x20already\x20exists\x20in\x20'+_0x444e11+':\x20'+_0x5bb030['path']),console['error'](_0x471767(0x1bd)+_0x29751d+_0x471767(0x15f));const {shouldReplace:_0x391dca}=await _0xb212f4['prompt']([{'type':_0x471767(0x165),'name':_0x455d5c['DmwXK'],'message':_0x471767(0x162)+_0x29751d+'?','default':![]}]);if(!_0x391dca){console[_0x471767(0x1af)](_0x455d5c[_0x471767(0x1c7)]);return;}_0x54f6c2=_0x5bb030;}}}_0xa22274?.[_0x471767(0x1be)]('url_setup');let _0x4ee169='';if(_0x59e6f0)console['log'](_0x471767(0x199)),console[_0x471767(0x1af)](_0x471767(0x17e)+_0x3a96ef['cdpEndpoint']),console['log']('\x20\x20Make\x20sure\x20your\x20Electron\x20app\x20(or\x20browser)\x20is\x20running\x20with\x20remote\x20debugging\x20enabled.\x0a');else{if(_0x3a96ef['url']){_0x4ee169=_0x3a96ef['url'];const _0x48f3e4=await checkUrlReachability(_0x4ee169);if(!_0x48f3e4['ok']&&!_0x3a96ef[_0x471767(0x1ad)])throw new Error('Could\x20not\x20reach\x20'+_0x4ee169+':\x20'+_0x48f3e4['error']+'\x0aMake\x20sure\x20your\x20app\x20is\x20running,\x20then\x20try\x20again.\x20To\x20skip\x20this\x20check,\x20pass\x20--force.');!_0x48f3e4['ok']&&_0x3a96ef['force']&&console['log'](_0x471767(0x1b5)+_0x4ee169+':\x20'+_0x48f3e4['error']+_0x471767(0x19b));}else{console['log'](_0x455d5c[_0x471767(0x1c5)]),console[_0x471767(0x1af)](_0x455d5c[_0x471767(0x14e)]),console[_0x471767(0x1af)](_0x455d5c[_0x471767(0x16f)]);let _0x270d95=![];while(!![]){const _0x4c9cbc=await _0xb212f4[_0x471767(0x167)]([{'type':'input','name':'baseUrl','message':_0x270d95?_0x471767(0x1a3):_0x455d5c['nGLhN'],'default':_0x4ee169||_0x455d5c['HntAt']}]);_0x4ee169=_0x4c9cbc[_0x471767(0x19f)];const _0x3d7053=await _0x455d5c[_0x471767(0x1b3)](checkUrlReachability,_0x4ee169);if(_0x3d7053['ok'])break;const _0x1dfa8a=/^[a-zA-Z][\w+.-]*:\/\//[_0x471767(0x193)](_0x4ee169),_0x6c1434=_0x3d7053['isProtocolError']&&!_0x1dfa8a,_0x135ee3=_0x6c1434?_0x471767(0x15d)+_0x4ee169:null;_0x270d95=!![],console[_0x471767(0x1af)]('\x0a\x20\x20Could\x20not\x20reach\x20'+_0x4ee169+':\x20'+_0x3d7053[_0x471767(0x1ab)]);_0x135ee3&&console['log']('\x20\x20Did\x20you\x20mean\x20'+_0x135ee3+'?');const {action:_0x31043c}=await _0xb212f4['prompt']([{'type':_0x455d5c[_0x471767(0x1a0)],'name':_0x455d5c['Nrqxf'],'message':_0x471767(0x15b),'choices':[..._0x135ee3?[{'name':'Use\x20'+_0x135ee3,'value':_0x455d5c[_0x471767(0x1a1)]}]:[],{'name':'Enter\x20a\x20different\x20URL','value':'retry'},{'name':_0x455d5c['SKxJE'],'value':_0x471767(0x18d)}]}]);if(_0x31043c==='use_suggestion'&&_0x135ee3){_0x4ee169=_0x135ee3;const _0x478569=await _0x455d5c['oLkKG'](checkUrlReachability,_0x4ee169);if(_0x478569['ok'])break;console['log'](_0x471767(0x1a9)+_0x4ee169+':\x20'+_0x478569['error']);}else{if(_0x455d5c['YUebN'](_0x31043c,_0x471767(0x18d)))break;}}}}_0xa22274?.[_0x471767(0x1bc)](_0x455d5c['oqYpP']);const _0x3d4831={};if(_0x54f6c2){const _0xeee565=await _0x455d5c[_0x471767(0x1b8)](loadSettings,_0x2dfc8b);Object[_0x471767(0x14b)](_0x3d4831,_0xeee565['setupHeaders']);}Object[_0x471767(0x14b)](_0x3d4831,_0x4a8af1),await _0x455d5c['VEExW'](mkdir,_0x3d753d,{'recursive':!![]});try{const _0x4ce033=await readdir(_0x3d753d),_0xf2dd4c=_0x471767(0x15c)+_0x2dfc8b+'-';for(const _0x43768e of _0x4ce033){_0x43768e[_0x471767(0x156)](_0xf2dd4c)&&await _0x455d5c[_0x471767(0x190)](rm,_0x455d5c[_0x471767(0x1c3)](join,_0x3d753d,_0x43768e),{'recursive':!![],'force':!![]});}}catch{}const _0x4dadd4=await mkdtemp(join(_0x3d753d,'.tmp-'+_0x2dfc8b+'-')),_0x187e8a=_0x455d5c[_0x471767(0x1c9)](join,_0x4dadd4,_0x471767(0x195)),_0x1f0a19=()=>{const _0x272e8d=_0x471767;rm(_0x4dadd4,{'recursive':!![],'force':!![]})[_0x272e8d(0x17b)](()=>{})['finally'](()=>{process['exit'](0x82);});};process['once']('SIGINT',_0x1f0a19);const _0x57248=_0x455d5c['LeCoV'](Boolean,_0x4ee169)&&/^https:\/\/localhost(:\d+)?/i[_0x471767(0x193)](_0x4ee169);try{if(_0x41ba29){_0xa22274?.[_0x471767(0x1be)](_0x471767(0x1c4)),console[_0x471767(0x1af)](_0x455d5c[_0x471767(0x180)]),console[_0x471767(0x1af)](_0x455d5c[_0x471767(0x186)]),console[_0x471767(0x1af)]('\x20\x20\x20When\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.');!_0x151e99?(console[_0x471767(0x1af)](_0x455d5c['mVMbt']),console['log'](_0x455d5c[_0x471767(0x160)])):console[_0x471767(0x1af)]('');await new Promise(_0x1dabb=>setTimeout(_0x1dabb,0xbb8));const _0x5754bf=[];_0x3a96ef[_0x471767(0x17c)]&&_0x5754bf['push'](_0x471767(0x1a5));const _0x4eda3e=_0x3a96ef['allowInsecureLocalhost']||_0x57248;_0x4eda3e&&_0x5754bf['push'](_0x471767(0x16d));const _0x4cbadd=await chromium[_0x471767(0x151)]({'headless':![],..._0x455d5c[_0x471767(0x169)](_0x5754bf[_0x471767(0x178)],0x0)?{'args':_0x5754bf}:{}});try{const _0x41f147=_0x455d5c['oQnvg'](Object[_0x471767(0x17f)](_0x3d4831)['length'],0x0),_0x17c0d9={'ignoreHTTPSErrors':!![]};_0x41f147&&(_0x17c0d9[_0x471767(0x166)]=_0x3d4831);const _0x393ef5=await _0x4cbadd['newContext'](_0x17c0d9);await addProfileSetupBanner(_0x393ef5);const _0x5dd1d0=await _0x393ef5['newPage']();await _0x5dd1d0[_0x471767(0x14d)](_0x4ee169||'about:blank');let _0x471b58=![];await new Promise(_0x364ce8=>{const _0x259f54={'QuFbB':function(_0x4a921d){return _0x4a921d();}};_0x5dd1d0['on']('close',async()=>{const _0xb56ce2=_0x388a;try{console['log'](_0xb56ce2(0x19a)),await _0x393ef5[_0xb56ce2(0x170)]({'path':_0x187e8a}),_0x471b58=!![];}catch{}_0x259f54['QuFbB'](_0x364ce8);});});if(!_0x471b58){console[_0x471767(0x1af)](_0x455d5c[_0x471767(0x191)]);!_0x3a96ef[_0x471767(0x17c)]&&(console['log'](_0x455d5c[_0x471767(0x149)]),console['log']('You\x20can\x20try\x20again\x20with\x20one\x20of:'),console[_0x471767(0x1af)]('\x20\x20ranger\x20profile\x20add\x20'+_0x2dfc8b+'\x20--safe-mode\x20\x20\x20\x20(disables\x20browser\x20features\x20that\x20can\x20cause\x20crashes)'),console[_0x471767(0x1af)]('\x20\x20ranger\x20profile\x20add\x20'+_0x2dfc8b+_0x471767(0x159)));throw new Error(_0x455d5c[_0x471767(0x161)]);}}finally{await _0x4cbadd['close']()[_0x471767(0x17b)](()=>{});}if(_0x10a9ad){const _0x895b69=await readFile(_0x187e8a,_0x471767(0x1c2)),_0x376d7b=await getToken();if(!_0x376d7b){console['error'](_0x455d5c[_0x471767(0x168)]),await _0x455d5c['LeCoV'](unlink,_0x187e8a)['catch'](()=>{});throw new Error('Missing\x20API\x20token;\x20aborting\x20CI\x20profile\x20creation.');}else{const _0x4f83d2=_0x455d5c['uJNvg'](encrypt,_0x895b69,_0x376d7b);await writeFile(_0x455d5c[_0x471767(0x1a8)](_0x187e8a,'.enc'),_0x4f83d2),await unlink(_0x187e8a),console[_0x471767(0x1af)]('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x187e8a+'.enc'),console['log'](_0x455d5c['NxKNq']),console['log']('\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.');}}else console[_0x471767(0x1af)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x187e8a);_0xa22274?.[_0x471767(0x1bc)](_0x471767(0x1c4));}_0xa22274?.[_0x471767(0x1be)](_0x471767(0x14c));const _0x168af6={};_0x4ee169&&(_0x168af6['baseUrl']=_0x4ee169);_0x3a96ef['cdpEndpoint']&&(_0x168af6[_0x471767(0x16e)]=_0x3a96ef[_0x471767(0x16e)],_0x168af6[_0x471767(0x194)]=!![]);(_0x3a96ef[_0x471767(0x1b1)]||_0x57248)&&(_0x168af6['allowInsecureLocalhost']=!![]);_0x3a96ef['safeMode']&&(_0x168af6['safeMode']=!![]);_0x455d5c['lpQGT'](Object[_0x471767(0x17f)](_0x3d4831)['length'],0x0)&&(_0x168af6['setupHeaders']=_0x3d4831);await _0x455d5c['QcKfW'](writeFile,join(_0x4dadd4,_0x455d5c['Wqsdn']),JSON['stringify'](_0x168af6,null,0x2)),console['log']('✓\x20Created\x20settings:\x20'+join(_0x878a31,_0x455d5c['Wqsdn']));if(_0x54f6c2?.['location']===_0x29751d){const _0x51dcb1=_0x54f6c2['path']+_0x471767(0x175)+Date['now']();await rename(_0x54f6c2['path'],_0x51dcb1);try{await _0x455d5c[_0x471767(0x19e)](rename,_0x4dadd4,_0x878a31);}catch(_0x2b7e22){await rename(_0x51dcb1,_0x54f6c2['path']);throw _0x2b7e22;}try{await _0x455d5c['keNHN'](rm,_0x51dcb1,{'recursive':!![]});}catch{console['log'](_0x471767(0x173)+_0x51dcb1);}}else{await _0x455d5c['jZuXO'](rename,_0x4dadd4,_0x878a31);if(_0x54f6c2)try{await rm(_0x54f6c2[_0x471767(0x174)],{'recursive':!![]}),console['log'](_0x471767(0x1b7)+_0x54f6c2[_0x471767(0x174)]);}catch{console['log'](_0x471767(0x1b2)+_0x54f6c2['path']);}}try{await _0x455d5c[_0x471767(0x155)](writeActiveProfileName,_0x2dfc8b),console[_0x471767(0x1af)]('\x20\x20Set\x20active\x20profile:\x20'+_0x2dfc8b);}catch{console['log'](_0x455d5c['CPKwj']);}_0xa22274?.[_0x471767(0x1bc)](_0x455d5c['nxfas']),console[_0x471767(0x1af)](_0x471767(0x16a)+_0x2dfc8b+'\x22\x20configured');}catch(_0x238b74){await rm(_0x4dadd4,{'recursive':!![],'force':!![]});throw _0x238b74;}finally{process[_0x471767(0x1ba)](_0x455d5c['xFkiT'],_0x1f0a19);}}
1
+ (function(_0x33f85d,_0x50efd1){const _0x2b80d9=_0x304e,_0x346106=_0x33f85d();while(!![]){try{const _0x520538=-parseInt(_0x2b80d9(0x16e))/0x1*(-parseInt(_0x2b80d9(0x165))/0x2)+parseInt(_0x2b80d9(0x141))/0x3+-parseInt(_0x2b80d9(0x18a))/0x4*(-parseInt(_0x2b80d9(0x158))/0x5)+parseInt(_0x2b80d9(0x18d))/0x6*(-parseInt(_0x2b80d9(0x131))/0x7)+parseInt(_0x2b80d9(0x180))/0x8*(parseInt(_0x2b80d9(0x17b))/0x9)+-parseInt(_0x2b80d9(0x15e))/0xa*(parseInt(_0x2b80d9(0x199))/0xb)+parseInt(_0x2b80d9(0x138))/0xc;if(_0x520538===_0x50efd1)break;else _0x346106['push'](_0x346106['shift']());}catch(_0x1a5808){_0x346106['push'](_0x346106['shift']());}}}(_0x46e4,0xa83c2));import{readdir,rm}from'fs/promises';import{join}from'path';function _0x304e(_0x47eaac,_0x33c2df){_0x47eaac=_0x47eaac-0x131;const _0x46e489=_0x46e4();let _0x304edd=_0x46e489[_0x47eaac];return _0x304edd;}import{existsSync}from'fs';import _0x26d8dc from'inquirer';import{getRangerDir,getRangerHomeDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{fetchAuthConfig,createCloudProfile,ApiError}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{isPathGitTracked}from'./utils/gitTracked.js';import{setProfileOverride}from'./utils/projectsConfig.js';async function checkUrlReachability(_0x270d25){const _0x4f7ac8=_0x304e,_0x4c7f33={'gmyDy':function(_0x3fc6e6,_0x381562,_0x1b0526){return _0x3fc6e6(_0x381562,_0x1b0526);},'BDXUh':'manual','Ckeup':function(_0x472e79,_0x82a2d1){return _0x472e79(_0x82a2d1);},'OsRIc':function(_0x353355,_0x53d8b1){return _0x353355<_0x53d8b1;},'PbCDt':_0x4f7ac8(0x147),'cJAdL':_0x4f7ac8(0x16d),'VkTkX':'fetch\x20failed'};try{const _0x37fb6b=new AbortController(),_0x45cede=_0x4c7f33[_0x4f7ac8(0x14f)](setTimeout,()=>_0x37fb6b[_0x4f7ac8(0x14c)](),0x1388),_0x1640c6={'method':'HEAD','signal':_0x37fb6b[_0x4f7ac8(0x167)],'redirect':_0x4c7f33['BDXUh']};/^https:\/\/localhost(:\d+)?/i[_0x4f7ac8(0x194)](_0x270d25)&&(process[_0x4f7ac8(0x164)][_0x4f7ac8(0x142)]='0');const _0x15b392=await fetch(_0x270d25,_0x1640c6);delete process['env']['NODE_TLS_REJECT_UNAUTHORIZED'],_0x4c7f33['Ckeup'](clearTimeout,_0x45cede);if(_0x4c7f33['OsRIc'](_0x15b392[_0x4f7ac8(0x16b)],0x190))return{'ok':!![]};return{'ok':![],'error':_0x4f7ac8(0x16f)+_0x15b392[_0x4f7ac8(0x16b)]};}catch(_0x31c020){delete process[_0x4f7ac8(0x164)]['NODE_TLS_REJECT_UNAUTHORIZED'];const _0x250162=_0x31c020,_0x2a389c=_0x250162['message']||_0x4c7f33['Ckeup'](String,_0x31c020),_0x399570=_0x2a389c[_0x4f7ac8(0x159)](_0x4c7f33[_0x4f7ac8(0x13c)])||_0x250162[_0x4f7ac8(0x134)]===_0x4c7f33['cJAdL']||_0x2a389c['includes'](_0x4c7f33[_0x4f7ac8(0x13f)]);return{'ok':![],'error':_0x2a389c,'isProtocolError':_0x399570};}}async function sweepOrphanLocalProfile(_0x238142,_0x111307,_0xd2b534){const _0x4a8250=_0x304e,_0x56900d={'Vezjn':function(_0x18e2ae,_0x5adc42,_0x5d455e){return _0x18e2ae(_0x5adc42,_0x5d455e);},'FTMRu':function(_0x185d4b,_0x470b08){return _0x185d4b(_0x470b08);},'mvsKM':function(_0x2939d9,_0x219403,_0x1a8541){return _0x2939d9(_0x219403,_0x1a8541);}},_0x1e1900=join(_0x111307,_0x4a8250(0x15c)),_0x4962b1=_0x56900d[_0x4a8250(0x15f)](join,_0x1e1900,_0x238142);existsSync(_0x4962b1)&&(_0xd2b534&&await _0x56900d[_0x4a8250(0x149)](isPathGitTracked,_0x4962b1)?console[_0x4a8250(0x18b)]('\x20\x20Note:\x20found\x20git-tracked\x20local\x20profile\x20at\x20'+_0x4962b1+_0x4a8250(0x13b)):(await rm(_0x4962b1,{'recursive':!![],'force':!![]}),console[_0x4a8250(0x18b)]('\x20\x20Cleaned\x20up\x20orphan\x20local\x20profile\x20at\x20'+_0x4962b1)));if(existsSync(_0x1e1900)){let _0x2406cb=[];try{_0x2406cb=await readdir(_0x1e1900);}catch{return;}const _0x22d507=_0x4a8250(0x176)+_0x238142+'-';for(const _0x32dd1d of _0x2406cb){if(!_0x32dd1d['startsWith'](_0x22d507))continue;const _0x40b7b0=_0x56900d['Vezjn'](join,_0x1e1900,_0x32dd1d);await _0x56900d['mvsKM'](rm,_0x40b7b0,{'recursive':!![],'force':!![]}),console['log']('\x20\x20Cleaned\x20up\x20orphan\x20local\x20profile\x20at\x20'+_0x40b7b0);}}}async function sweepOrphansBestEffort(_0x4ee9f9){const _0x119af0=_0x304e,_0x18db0d={'IyRiR':function(_0x234df8,_0x2e7079,_0x1f4baf,_0x39616e){return _0x234df8(_0x2e7079,_0x1f4baf,_0x39616e);},'HoqsH':function(_0xd8fa39){return _0xd8fa39();},'fEnPW':function(_0x48e1ea,_0x421826){return _0x48e1ea!==_0x421826;},'RQcYJ':function(_0x5b966d,_0x30e697){return _0x5b966d(_0x30e697);}};try{await _0x18db0d[_0x119af0(0x19c)](sweepOrphanLocalProfile,_0x4ee9f9,_0x18db0d[_0x119af0(0x19f)](getRangerHomeDir),![]);const _0x22d2a9=getRangerDir();_0x18db0d[_0x119af0(0x152)](_0x22d2a9,getRangerHomeDir())&&await sweepOrphanLocalProfile(_0x4ee9f9,_0x22d2a9,!![]);}catch(_0x28043c){console[_0x119af0(0x18b)](_0x119af0(0x193)+(_0x28043c instanceof Error?_0x28043c[_0x119af0(0x163)]:_0x18db0d['RQcYJ'](String,_0x28043c))+').');}}async function markActive(_0x5edf18){const _0xc4d736=_0x304e,_0x22c985={'tDgOB':function(_0x1f15ac,_0x3bc129){return _0x1f15ac(_0x3bc129);}};try{await _0x22c985['tDgOB'](writeActiveProfileName,_0x5edf18),console['log'](_0xc4d736(0x171)+_0x5edf18);}catch{console[_0xc4d736(0x18b)](_0xc4d736(0x151));}}function _0x46e4(){const _0x1caf39=['origin','1285290YRQRvD','NODE_TLS_REJECT_UNAUTHORIZED','keys','\x20\x20Ranger\x20will\x20use\x20it\x20to\x20look\x20up\x20the\x20right\x20cloud\x20auth\x20env\x20to\x20attach.\x0a','skipAuth','\x20\x20\x20\x20\x20\x20\x20\x20to\x20materialize\x20a\x20session\x20via\x20server-side\x20login.','Invalid\x20URL','Use\x20the\x20new\x20flow:\x0a','FTMRu','FyEDB','retry','abort','\x27\x20created,\x20linked\x20to\x20env\x20\x27','profile.add.autoRouted','gmyDy','error','Warning:\x20Profile\x20created,\x20but\x20failed\x20to\x20mark\x20it\x20as\x20active.','fEnPW','agWlS','PPaTS','no_auth_config','some','force','5WryGlH','includes','\x0a\x20\x20Still\x20could\x20not\x20reach\x20','HiQft','local','setupHeader','717310SzXBWv','Vezjn','GiYsv','MrqRx','cdpEndpoint','message','env','2DIgNsm','cwd','signal','\x22\x20already\x20exists.\x20Choose\x20a\x20different\x20name\x20or\x20delete\x20the\x20existing\x20profile\x20first.','MRMPr','url','status','stdout','TypeError','1239258yyOfRQ','HTTP\x20','xceYh','\x20\x20Set\x20active\x20profile:\x20','Could\x20not\x20reach\x20','length','setupHeaders','baseUrl','.tmp-','ISgDl','wlmOy','exit','fZHGO','45cqiCLY','trim','gYoSZ','\x0a\x20\x20Could\x20not\x20reach\x20','oEEwe','1204712koXsfk','eiRYb','use_suggestion','indexOf','list','Enter\x20a\x20new\x20URL\x20(or\x20press\x20enter\x20to\x20keep\x20current):','\x0a\x20\x20This\x20org\x20has\x20no\x20cloud-profile\x20auth\x20config\x20configured.\x20Ask\x20an\x20admin\x20to\x20set\x20one\x20up,\x20or\x20pass\x20--skip-auth\x20to\x20create\x20a\x20profile\x20without\x20a\x20session.','http://localhost:3000','yes','Enter\x20a\x20different\x20URL','216508hHjJWw','log','aiYbg','47106tAiiza','✓\x20Cloud\x20profile\x20\x27','vjwrv','See:\x20docs/feature/cloud-profiles-old-vs-new-structure.md','prompt','\x22.\x20Expected\x20\x22Name:\x20Value\x22.','\x20\x20Note:\x20cloud\x20profile\x20created,\x20but\x20failed\x20to\x20sweep\x20orphan\x20local\x20dirs\x20(','test','hbiVD','continue','\x0a\x20\x20A\x20cloud\x20profile\x20named\x20\x22','trackPhaseEnd','187nXkOAO','\x27.\x0a','JPuPU','IyRiR','join','isTTY','HoqsH','profile.add.autoRouteSkipped','saveToCloud','WdBwK','623ouPfeB','DrOlz','input','name','isElectron','Found\x20auth\x20environment\x20\x27','slice','1589952AYmvtF','KTqri','\x27\x20created\x20(CDP).','\x20—\x20not\x20removing.\x20Delete\x20manually\x20if\x20you\x20want\x20it\x20gone.','PbCDt','\x22:\x20','user_declined','VkTkX'];_0x46e4=function(){return _0x1caf39;};return _0x46e4();}async function tryAutoRouteCloudProfile(_0x47dd21,_0x242d5c,_0x4fa38a,_0x12143d,_0x28b3a0){const _0x588383=_0x304e,_0x5894eb={'oEEwe':function(_0x1fb115,_0x103cfd){return _0x1fb115===_0x103cfd;},'aiYbg':function(_0x2ccc5d,_0x89d4e0){return _0x2ccc5d instanceof _0x89d4e0;},'wlmOy':'profile.add.autoRouteSkipped','gYoSZ':_0x588383(0x155),'JRHfu':function(_0xf9d91f,_0x461783,_0x4ba5a7){return _0xf9d91f(_0x461783,_0x4ba5a7);},'fZHGO':'\x0a\x20\x20Declined.\x20Re-run\x20with\x20--skip-auth\x20to\x20create\x20a\x20profile\x20without\x20a\x20cloud-managed\x20session.','agWlS':function(_0x47c3e9,_0x3bc5c4,_0x79fffc,_0x505476){return _0x47c3e9(_0x3bc5c4,_0x79fffc,_0x505476);},'MRMPr':function(_0x196965,_0x441685){return _0x196965 instanceof _0x441685;}};let _0x18e853;try{_0x18e853=await fetchAuthConfig();}catch(_0x32aff8){return _0x28b3a0?.[_0x588383(0x198)]('profile.add.autoRouteSkipped',{'reason':'no_auth_config','profileName':_0x47dd21}),console['error']('\x0a\x20\x20Could\x20not\x20fetch\x20this\x20org\x27s\x20auth\x20config:\x20'+(_0x5894eb[_0x588383(0x18c)](_0x32aff8,Error)?_0x32aff8[_0x588383(0x163)]:String(_0x32aff8))),![];}if(!_0x18e853||!_0x18e853['environments']||Object[_0x588383(0x143)](_0x18e853['environments'])['length']===0x0)return _0x28b3a0?.['trackPhaseEnd'](_0x5894eb[_0x588383(0x178)],{'reason':_0x5894eb[_0x588383(0x17d)],'profileName':_0x47dd21}),console['error'](_0x588383(0x186)),![];const _0x2613a6=_0x5894eb['JRHfu'](matchAuthEnvironment,_0x242d5c,_0x18e853);if(!_0x2613a6)return _0x28b3a0?.['trackPhaseEnd']('profile.add.autoRouteSkipped',{'reason':'no_match','profileName':_0x47dd21}),console[_0x588383(0x150)]('\x0a\x20\x20No\x20auth\x20env\x20matches\x20'+_0x242d5c+'.\x20Configured\x20envs:\x20'+Object['keys'](_0x18e853['environments'])['join'](',\x20')+'.'),![];const _0x50bc6d=_0x18e853['environments'][_0x2613a6],_0x47bab1=_0x50bc6d?.['domains']??[];if(_0x12143d&&!_0x4fa38a[_0x588383(0x188)]){const {saveToCloud:_0x1be636}=await _0x26d8dc[_0x588383(0x191)]([{'type':'confirm','name':_0x588383(0x1a1),'message':_0x588383(0x136)+_0x2613a6+'\x27\x20matching\x20'+_0x242d5c+'\x0a\x20\x20(domains:\x20'+_0x47bab1[_0x588383(0x19d)](',\x20')+')\x0a\x20\x20Save\x20\x27'+_0x47dd21+'\x27\x20to\x20the\x20cloud?','default':!![]}]);if(!_0x1be636)return _0x28b3a0?.[_0x588383(0x198)](_0x588383(0x1a0),{'reason':_0x588383(0x13e),'profileName':_0x47dd21}),console[_0x588383(0x150)](_0x5894eb[_0x588383(0x17a)]),![];}const _0x470cc5=_0x47bab1[_0x588383(0x156)](_0x498cfb=>{const _0x8ef8ee=_0x588383;try{return _0x5894eb[_0x8ef8ee(0x17f)](new URL(_0x498cfb)['origin'],new URL(_0x242d5c)[_0x8ef8ee(0x140)]);}catch{return![];}}),_0x4f2434={};!_0x470cc5&&(_0x4f2434[_0x588383(0x175)]=_0x242d5c);try{await _0x5894eb[_0x588383(0x153)](createCloudProfile,_0x47dd21,_0x2613a6,{'settings':_0x4f2434});}catch(_0x54bf89){if(_0x5894eb[_0x588383(0x169)](_0x54bf89,ApiError)&&_0x54bf89[_0x588383(0x16b)]===0x199){console['error']('\x0a\x20\x20A\x20cloud\x20profile\x20named\x20\x22'+_0x47dd21+_0x588383(0x168));throw _0x54bf89;}throw _0x54bf89;}return console[_0x588383(0x18b)]('✓\x20Cloud\x20profile\x20\x27'+_0x47dd21+_0x588383(0x14d)+_0x2613a6+_0x588383(0x19a)+('\x20\x20Next:\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--profile\x20'+_0x47dd21)),await sweepOrphansBestEffort(_0x47dd21),_0x28b3a0?.['trackPhaseEnd'](_0x588383(0x14e),{'envKey':_0x2613a6,'profileName':_0x47dd21}),!![];}async function createUnconfiguredCloudProfile(_0x58e2c8,_0x37a734){const _0x2bdb82=_0x304e,_0x1b2838={'MrqRx':function(_0x92185,_0x1ab30b){return _0x92185 instanceof _0x1ab30b;}};try{await createCloudProfile(_0x58e2c8,undefined,{'settings':_0x37a734});}catch(_0x249780){_0x1b2838[_0x2bdb82(0x161)](_0x249780,ApiError)&&_0x249780['status']===0x199&&console['error'](_0x2bdb82(0x197)+_0x58e2c8+_0x2bdb82(0x168));throw _0x249780;}}export async function addEnv(_0x2e7b27,_0x1caa16={},_0x4e0370){const _0x37b2e6=_0x304e,_0x4578ef={'GiYsv':function(_0x5651ae,_0x4a3826){return _0x5651ae+_0x4a3826;},'uGaNY':function(_0x24538b,_0x3656f7){return _0x24538b+_0x3656f7;},'KTqri':_0x37b2e6(0x190),'BBFQx':function(_0x2ba731,_0xce676e){return _0x2ba731===_0xce676e;},'hCxJU':function(_0x50e548,_0x3e605d){return _0x50e548+_0x3e605d;},'FyEDB':function(_0x5d06ea,_0x5d1640){return _0x5d06ea!==_0x5d1640;},'JPuPU':function(_0x1f3658,_0x46383b){return _0x1f3658===_0x46383b;},'kCGAc':'--cdp-endpoint\x20must\x20not\x20be\x20empty.\x20Provide\x20the\x20CDP\x20URL,\x20e.g.\x20--cdp-endpoint\x20http://localhost:9222','TzVvl':'--url\x20and\x20--cdp-endpoint\x20are\x20mutually\x20exclusive.\x20Use\x20--url\x20for\x20web\x20apps\x20or\x20--cdp-endpoint\x20for\x20Electron/CDP\x20apps,\x20not\x20both.','vjwrv':function(_0x43a043,_0x22b00f){return _0x43a043(_0x22b00f);},'djWvf':'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','oXyZo':function(_0x276560,_0x38a21a,_0x1a0c98){return _0x276560(_0x38a21a,_0x1a0c98);},'KAIWB':_0x37b2e6(0x162),'WdBwK':function(_0x319dba,_0x92050d,_0x4e88c9,_0xa15eee,_0x41126e){return _0x319dba(_0x92050d,_0x4e88c9,_0xa15eee,_0x41126e);},'nzuTM':_0x37b2e6(0x135),'ISgDl':function(_0x3d84bf,_0x3cfe31){return _0x3d84bf instanceof _0x3cfe31;},'ENHLj':function(_0x31c58e,_0x5830d9){return _0x31c58e>_0x5830d9;},'EqsTw':function(_0x453be3,_0x170dd6){return _0x453be3+_0x170dd6;},'jiqtn':function(_0x336b04,_0x2e372e){return _0x336b04(_0x2e372e);},'QPYAp':'\x0a🌐\x20Profile\x20Setup\x0a','xceYh':'\x20\x20Make\x20sure\x20your\x20app\x20is\x20running\x20locally\x20before\x20continuing.','FxKfc':_0x37b2e6(0x185),'VqhEK':_0x37b2e6(0x187),'CAeVK':function(_0x1c60a7,_0xec07f3){return _0x1c60a7(_0xec07f3);},'hbiVD':_0x37b2e6(0x184),'OdkXs':'action','DrOlz':'What\x20would\x20you\x20like\x20to\x20do?','PPaTS':_0x37b2e6(0x189),'HZpQs':'Continue\x20anyway','ihEGx':_0x37b2e6(0x196),'eiRYb':function(_0x180821,_0xa673e5,_0x5a4f34,_0x58a11b,_0x1c9834,_0x55eb44){return _0x180821(_0xa673e5,_0x5a4f34,_0x58a11b,_0x1c9834,_0x55eb44);},'HiQft':function(_0x3c3e43,_0x2acf2c){return _0x3c3e43(_0x2acf2c);}};_0x1caa16['ci']&&(console['error'](_0x4578ef[_0x37b2e6(0x160)](_0x4578ef[_0x37b2e6(0x160)](_0x4578ef['uGaNY'](_0x4578ef['GiYsv']('ranger\x20profile\x20add\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a'+'Cloud\x20profiles\x20store\x20session\x20state\x20server-side;\x20the\x20--ci\x20flag\x20is\x20gone.\x0a',_0x37b2e6(0x148)),'\x20\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--base-url\x20<url>\x0a'),'For\x20a\x20shared\x20cloud\x20profile:\x20ranger\x20profile\x20add\x20<account-email>\x0a'),_0x4578ef[_0x37b2e6(0x139)])),process['exit'](0x1));const _0x385b29={};if(_0x1caa16[_0x37b2e6(0x15d)])for(const _0x490023 of _0x1caa16[_0x37b2e6(0x15d)]){const _0x54e0c0=_0x490023[_0x37b2e6(0x183)](':');if(_0x4578ef['BBFQx'](_0x54e0c0,-0x1))throw new Error('Invalid\x20--setup-header\x20format:\x20\x22'+_0x490023+_0x37b2e6(0x192));const _0x504904=_0x490023['slice'](0x0,_0x54e0c0)[_0x37b2e6(0x17c)](),_0x3f1b5f=_0x490023[_0x37b2e6(0x137)](_0x4578ef['hCxJU'](_0x54e0c0,0x1))['trim']();_0x385b29[_0x504904]=_0x3f1b5f;}if(_0x4578ef[_0x37b2e6(0x14a)](_0x1caa16[_0x37b2e6(0x162)],undefined)&&_0x4578ef[_0x37b2e6(0x19b)](_0x1caa16[_0x37b2e6(0x162)]['trim'](),''))throw new Error(_0x4578ef['kCGAc']);if(_0x1caa16[_0x37b2e6(0x162)]&&_0x1caa16[_0x37b2e6(0x16a)])throw new Error(_0x4578ef['TzVvl']);const _0x1bf837=_0x4578ef['vjwrv'](Boolean,_0x1caa16[_0x37b2e6(0x162)]),_0x1f4065=process['stdin'][_0x37b2e6(0x19e)]&&process[_0x37b2e6(0x16c)][_0x37b2e6(0x19e)];if(!_0x1f4065&&!_0x1caa16['url']&&!_0x1bf837&&!_0x1caa16['skipAuth'])throw new Error(_0x4578ef['djWvf']);if(_0x1bf837){const _0xc7213e=_0x1caa16['cdpEndpoint'];console[_0x37b2e6(0x18b)]('\x0a🔌\x20CDP\x20Profile\x20Setup\x0a'),console[_0x37b2e6(0x18b)]('\x20\x20Configuring\x20Ranger\x20to\x20connect\x20to:\x20'+_0xc7213e);const _0x50586b={'cdpEndpoint':_0xc7213e,'isElectron':!![]};Object[_0x37b2e6(0x143)](_0x385b29)[_0x37b2e6(0x173)]>0x0&&(_0x50586b[_0x37b2e6(0x174)]=_0x385b29);await _0x4578ef['oXyZo'](createUnconfiguredCloudProfile,_0x2e7b27,_0x50586b);try{setProfileOverride(process[_0x37b2e6(0x166)](),_0x2e7b27,_0x4578ef['KAIWB'],_0xc7213e),_0x4578ef[_0x37b2e6(0x1a2)](setProfileOverride,process['cwd'](),_0x2e7b27,_0x4578ef['nzuTM'],!![]);}catch(_0x8dafb4){console['error']('\x0a\x20\x20Cloud\x20profile\x20created,\x20but\x20failed\x20to\x20write\x20per-cwd\x20CDP\x20override\x20to\x20projects.json:\x20'+(_0x4578ef[_0x37b2e6(0x177)](_0x8dafb4,Error)?_0x8dafb4[_0x37b2e6(0x163)]:_0x4578ef['vjwrv'](String,_0x8dafb4)));}console['log'](_0x37b2e6(0x18e)+_0x2e7b27+_0x37b2e6(0x13a)),await sweepOrphansBestEffort(_0x2e7b27),await markActive(_0x2e7b27);return;}if(_0x1caa16[_0x37b2e6(0x145)]){const _0x5ac572={};_0x1caa16[_0x37b2e6(0x16a)]&&(_0x5ac572['baseUrl']=_0x1caa16[_0x37b2e6(0x16a)]);_0x4578ef['ENHLj'](Object['keys'](_0x385b29)['length'],0x0)&&(_0x5ac572['setupHeaders']=_0x385b29);await createUnconfiguredCloudProfile(_0x2e7b27,_0x5ac572),console[_0x37b2e6(0x18b)](_0x4578ef['EqsTw'](_0x4578ef['GiYsv']('✓\x20Cloud\x20profile\x20\x27'+_0x2e7b27+'\x27\x20created\x20with\x20no\x20session.\x0a','\x20\x20Next:\x20set\x20RANGER_TEST_USERNAME\x20/\x20RANGER_TEST_PASSWORD\x20and\x20run\x0a')+('\x20\x20\x20\x20\x20\x20\x20\x20`ranger\x20go\x20--profile\x20'+_0x2e7b27+'`\x0a'),_0x37b2e6(0x146))),await _0x4578ef[_0x37b2e6(0x18f)](sweepOrphansBestEffort,_0x2e7b27),await _0x4578ef['jiqtn'](markActive,_0x2e7b27);return;}if(_0x1caa16['url']){const _0xcb3341=_0x1caa16['url'],_0x234b94=await _0x4578ef['vjwrv'](checkUrlReachability,_0xcb3341);if(!_0x234b94['ok']&&!_0x1caa16[_0x37b2e6(0x157)])throw new Error(_0x37b2e6(0x172)+_0xcb3341+':\x20'+_0x234b94[_0x37b2e6(0x150)]+'\x0aMake\x20sure\x20your\x20app\x20is\x20running,\x20then\x20try\x20again.\x20To\x20skip\x20this\x20check,\x20pass\x20--force.');!_0x234b94['ok']&&_0x1caa16[_0x37b2e6(0x157)]&&console['log']('⚠\x20Could\x20not\x20reach\x20'+_0xcb3341+':\x20'+_0x234b94[_0x37b2e6(0x150)]+'\x20(continuing\x20with\x20--force)');}else{console['log'](_0x4578ef['QPYAp']),console['log'](_0x4578ef[_0x37b2e6(0x170)]),console['log'](_0x37b2e6(0x144));let _0x2fe0af='',_0x3344ce=![];while(!![]){const _0x2b5045=await _0x26d8dc[_0x37b2e6(0x191)]([{'type':_0x37b2e6(0x133),'name':'baseUrl','message':_0x3344ce?_0x4578ef['FxKfc']:'What\x20is\x20the\x20URL\x20of\x20your\x20running\x20app?','default':_0x2fe0af||_0x4578ef['VqhEK']}]);_0x2fe0af=_0x2b5045['baseUrl'];const _0x5c7298=await _0x4578ef['CAeVK'](checkUrlReachability,_0x2fe0af);if(_0x5c7298['ok'])break;const _0x3e0307=/^[a-zA-Z][\w+.-]*:\/\//['test'](_0x2fe0af),_0x4f6eda=_0x5c7298['isProtocolError']&&!_0x3e0307,_0x3d4ac5=_0x4f6eda?'http://'+_0x2fe0af:null;_0x3344ce=!![],console['log'](_0x37b2e6(0x17e)+_0x2fe0af+':\x20'+_0x5c7298['error']);_0x3d4ac5&&console['log']('\x20\x20Did\x20you\x20mean\x20'+_0x3d4ac5+'?');const {action:_0xb5b7}=await _0x26d8dc['prompt']([{'type':_0x4578ef[_0x37b2e6(0x195)],'name':_0x4578ef['OdkXs'],'message':_0x4578ef[_0x37b2e6(0x132)],'choices':[..._0x3d4ac5?[{'name':'Use\x20'+_0x3d4ac5,'value':'use_suggestion'}]:[],{'name':_0x4578ef[_0x37b2e6(0x154)],'value':_0x37b2e6(0x14b)},{'name':_0x4578ef['HZpQs'],'value':_0x4578ef['ihEGx']}]}]);if(_0xb5b7===_0x37b2e6(0x182)&&_0x3d4ac5){_0x2fe0af=_0x3d4ac5;const _0x36a25c=await checkUrlReachability(_0x2fe0af);if(_0x36a25c['ok'])break;console[_0x37b2e6(0x18b)](_0x37b2e6(0x15a)+_0x2fe0af+':\x20'+_0x36a25c['error']);}else{if(_0xb5b7==='continue')break;}}_0x1caa16={..._0x1caa16,'url':_0x2fe0af};}let _0x68fdf9=![];try{_0x68fdf9=await _0x4578ef[_0x37b2e6(0x181)](tryAutoRouteCloudProfile,_0x2e7b27,_0x1caa16[_0x37b2e6(0x16a)],_0x1caa16,_0x1f4065,_0x4e0370);}catch(_0x4315a8){console['error']('\x0a\x20\x20Failed\x20to\x20create\x20cloud\x20profile\x20\x22'+_0x2e7b27+_0x37b2e6(0x13d)+(_0x4578ef['ISgDl'](_0x4315a8,Error)?_0x4315a8[_0x37b2e6(0x163)]:String(_0x4315a8))),process[_0x37b2e6(0x179)](0x1);}!_0x68fdf9&&process[_0x37b2e6(0x179)](0x1),await _0x4578ef[_0x37b2e6(0x15b)](markActive,_0x2e7b27);}
@@ -1 +1 @@
1
- (function(_0x28d36b,_0x418691){const _0x147476=_0x3ced,_0x568a10=_0x28d36b();while(!![]){try{const _0x5b26c3=-parseInt(_0x147476(0x73))/0x1+parseInt(_0x147476(0x6b))/0x2*(-parseInt(_0x147476(0x72))/0x3)+parseInt(_0x147476(0x77))/0x4*(-parseInt(_0x147476(0x7c))/0x5)+parseInt(_0x147476(0x7d))/0x6+-parseInt(_0x147476(0x75))/0x7+parseInt(_0x147476(0x6f))/0x8+-parseInt(_0x147476(0x6d))/0x9*(-parseInt(_0x147476(0x6e))/0xa);if(_0x5b26c3===_0x418691)break;else _0x568a10['push'](_0x568a10['shift']());}catch(_0xeff877){_0x568a10['push'](_0x568a10['shift']());}}}(_0x2289,0xe2157));import{readFile,writeFile}from'fs/promises';import{join}from'path';function _0x3ced(_0x446fed,_0x1faf8f){_0x446fed=_0x446fed-0x6b;const _0x228972=_0x2289();let _0x3ceded=_0x228972[_0x446fed];return _0x3ceded;}import{existsSync}from'fs';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getEnvDir}from'./utils/settings.js';export async function authEncrypt(_0x15d848){const _0x21f470=_0x3ced,_0x19d4c0={'UfYkk':function(_0x1145e4,_0x21edcd){return _0x1145e4(_0x21edcd);},'ADkTy':function(_0x37fa30,_0x2febac,_0x406d4b){return _0x37fa30(_0x2febac,_0x406d4b);},'DXcHf':_0x21f470(0x78),'EtHpV':_0x21f470(0x74),'vUIZI':function(_0x322e67,_0x5babd6){return _0x322e67(_0x5babd6);},'cEWiN':function(_0x9ce0aa){return _0x9ce0aa();},'FwcuL':'utf-8'},_0x23c3a7=_0x19d4c0[_0x21f470(0x71)](getEnvDir,_0x15d848),_0x4695e9=_0x19d4c0['ADkTy'](join,_0x23c3a7,_0x19d4c0[_0x21f470(0x6c)]),_0x4ba541=_0x4695e9+_0x19d4c0[_0x21f470(0x70)];if(!_0x19d4c0['UfYkk'](existsSync,_0x23c3a7))throw new Error(_0x21f470(0x7a)+_0x15d848+_0x21f470(0x7e)+_0x15d848);if(!_0x19d4c0[_0x21f470(0x7b)](existsSync,_0x4695e9))throw new Error('No\x20auth.json\x20found\x20at\x20'+_0x4695e9+'.\x20Run\x20first:\x20ranger\x20profile\x20add\x20with\x20authentication,\x20or\x20ranger\x20profile\x20update');const _0x22b4ff=await _0x19d4c0[_0x21f470(0x7f)](getToken);if(!_0x22b4ff)throw new Error('No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3305b2=await readFile(_0x4695e9,_0x19d4c0['FwcuL']),_0x555bca=encrypt(_0x3305b2,_0x22b4ff);await writeFile(_0x4ba541,_0x555bca),console['log']('\x0a✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x4ba541),console[_0x21f470(0x76)]('\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.'),console[_0x21f470(0x76)](_0x21f470(0x79)),_0x19d4c0[_0x21f470(0x7b)](existsSync,_0x4ba541)&&(console['log']('\x0a\x20\x20The\x20plaintext\x20auth.json\x20is\x20gitignored\x20for\x20security.'),console[_0x21f470(0x76)]('\x20\x20The\x20encrypted\x20auth.json.enc\x20can\x20be\x20committed.'));}function _0x2289(){const _0x4dcf5e=['4cMKiYO','DXcHf','9TCEwKm','39685840gLfNWO','101224XJKZRO','EtHpV','UfYkk','2265414OiQsKw','1160017SNTnWS','.enc','2526825PDMAvJ','log','188NQoizh','auth.json','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','Profile\x20\x22','vUIZI','195650azOUDQ','10891080nYAFRy','\x22\x20not\x20found.\x20Run\x20first:\x20ranger\x20profile\x20add\x20','cEWiN'];_0x2289=function(){return _0x4dcf5e;};return _0x2289();}
1
+ (function(_0x19fc95,_0xf24bb0){var _0x43bb37=_0x5d38,_0x4622b3=_0x19fc95();while(!![]){try{var _0x39d308=parseInt(_0x43bb37(0x1dd))/0x1*(-parseInt(_0x43bb37(0x1db))/0x2)+parseInt(_0x43bb37(0x1da))/0x3+parseInt(_0x43bb37(0x1d3))/0x4+parseInt(_0x43bb37(0x1d2))/0x5*(-parseInt(_0x43bb37(0x1e2))/0x6)+-parseInt(_0x43bb37(0x1d8))/0x7*(-parseInt(_0x43bb37(0x1d1))/0x8)+parseInt(_0x43bb37(0x1de))/0x9*(parseInt(_0x43bb37(0x1e0))/0xa)+parseInt(_0x43bb37(0x1d4))/0xb;if(_0x39d308===_0xf24bb0)break;else _0x4622b3['push'](_0x4622b3['shift']());}catch(_0x2ddb3f){_0x4622b3['push'](_0x4622b3['shift']());}}}(_0x4538,0x2066d));export async function authEncrypt(_0x33c39a){var _0x4a15e9=_0x5d38,_0x4f55b9={'ygiXI':function(_0x45fddd,_0xd6d6e){return _0x45fddd+_0xd6d6e;},'wLSdJ':function(_0x2bf04d,_0x52a5e){return _0x2bf04d+_0x52a5e;},'exagv':'For\x20SSO/headed\x20login:\x20ranger\x20profile\x20add\x20<account-email>\x0a','TDgFj':_0x4a15e9(0x1e1)};console[_0x4a15e9(0x1df)](_0x4f55b9['ygiXI'](_0x4f55b9['wLSdJ'](_0x4f55b9[_0x4a15e9(0x1d7)]('ranger\x20profile\x20encrypt-auth\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a',_0x4a15e9(0x1d6))+'Use\x20the\x20new\x20flow:\x0a','\x20\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--base-url\x20<url>\x0a')+_0x4f55b9[_0x4a15e9(0x1d9)],_0x4f55b9[_0x4a15e9(0x1d5)])),process[_0x4a15e9(0x1dc)](0x1);}function _0x5d38(_0x479397,_0x28dc6d){_0x479397=_0x479397-0x1d1;var _0x4538eb=_0x4538();var _0x5d3866=_0x4538eb[_0x479397];return _0x5d3866;}function _0x4538(){var _0x197dc2=['9JOSMbc','666CVRgHx','error','34900aUwAUL','See:\x20docs/feature/cloud-profiles-old-vs-new-structure.md','6becFrZ','8UYHydw','674165sKqwXt','145828tEZWUL','279158gsynXD','TDgFj','Cloud\x20profiles\x20store\x20session\x20state\x20server-side;\x20encrypted\x20on-disk\x20auth\x20is\x20gone.\x0a','ygiXI','241948EYYdkL','exagv','25602rUhTQH','21254wmQXvP','exit'];_0x4538=function(){return _0x197dc2;};return _0x4538();}
@@ -1 +1 @@
1
- const _0x4e87a6=_0x1610;function _0x12b4(){const _0x17ee0c=['PQtGP','error','\x0a✅\x20Cleanup\x20complete!\x0a','✓\x20Removed\x20stored\x20credentials','twbYq','RDqnb','fqRxb','user','opencode.json','✓\x20Uninstalled\x20Claude\x20plugin\x20(user\x20scope)','taTHC','plugin','2849718XrtLKu','close','HSfMl','jGyCU','claude','ignore','hGNON','isArray','2895220masudM','filter','SQrNQ','replace','--scope','length','log','771064adNuvq','3108012tkVSCJ','marketplace','trailhead','kxeuB','✓\x20Removed\x20project\x20skill:\x20','SMVKo','5879990ahZjQS','✓\x20Removed\x20OpenCode\x20project\x20skill:\x20','mbHBN','win32','WHpWJ','@ranger-testing/opencode-plugin','JfeyI','fXElV','project','INFex','ueyyb','iSSPU','wGqXM','✓\x20Removed\x20OpenCode\x20plugin\x20(user\x20config)','remove','28211SBXFjC','parse','lphyh','string','18332608JaaPeW','✓\x20Removed\x20OpenCode\x20plugin\x20(project\x20config)'];_0x12b4=function(){return _0x17ee0c;};return _0x12b4();}(function(_0x3790ef,_0x249ba0){const _0x48d4f3=_0x1610,_0x33da22=_0x3790ef();while(!![]){try{const _0x55e3e4=parseInt(_0x48d4f3(0xbe))/0x1+-parseInt(_0x48d4f3(0xd8))/0x2+parseInt(_0x48d4f3(0xa9))/0x3+parseInt(_0x48d4f3(0xa8))/0x4+-parseInt(_0x48d4f3(0xaf))/0x5+-parseInt(_0x48d4f3(0xd0))/0x6+parseInt(_0x48d4f3(0xc2))/0x7;if(_0x55e3e4===_0x249ba0)break;else _0x33da22['push'](_0x33da22['shift']());}catch(_0x4061dd){_0x33da22['push'](_0x33da22['shift']());}}}(_0x12b4,0xbdc94));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{getProjectRoot,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','feature-tracker','bug-bash','e2e-test-recommender'],opencodePluginName=_0x4e87a6(0xb4);function parseJsonc(_0x186e2b){const _0x14778a=_0x4e87a6,_0x454843=_0x186e2b[_0x14778a(0xdb)](/\/\*[\s\S]*?\*\//g,''),_0x299f59=_0x454843['replace'](/^\s*\/\/.*$/gm,''),_0x9a4253=_0x299f59['replace'](/,\s*([}\]])/g,'$1');return JSON[_0x14778a(0xbf)](_0x9a4253);}async function removeOpencodePluginConfig(_0x560b9d){const _0x2643c9=_0x4e87a6,_0x537068={'lphyh':function(_0x259f95,_0x4f5520){return _0x259f95!==_0x4f5520;},'jGyCU':function(_0x1af0ba,_0x17ad0e,_0x31d24e){return _0x1af0ba(_0x17ad0e,_0x31d24e);},'JfeyI':function(_0x597e1c,_0x6fbd0e){return _0x597e1c===_0x6fbd0e;}};if(!existsSync(_0x560b9d))return![];let _0x473039;try{const _0x54b629=await _0x537068[_0x2643c9(0xd3)](readFile,_0x560b9d,'utf-8');_0x473039=parseJsonc(_0x54b629);}catch{return![];}const _0x29e65c=Array[_0x2643c9(0xd7)](_0x473039['plugin'])?_0x473039['plugin']:[];if(_0x29e65c[_0x2643c9(0xa6)]===0x0)return![];const _0x473ca2=_0x29e65c[_0x2643c9(0xd9)](_0x145dbb=>{const _0x54531a=_0x2643c9;if(_0x537068[_0x54531a(0xc0)](typeof _0x145dbb,_0x54531a(0xc1)))return!![];return _0x145dbb!==opencodePluginName;});if(_0x537068[_0x2643c9(0xb5)](_0x473ca2[_0x2643c9(0xa6)],_0x29e65c[_0x2643c9(0xa6)]))return![];return _0x473ca2['length']===0x0?delete _0x473039['plugin']:_0x473039[_0x2643c9(0xcf)]=_0x473ca2,await writeFile(_0x560b9d,JSON['stringify'](_0x473039,null,0x2)+'\x0a'),!![];}async function uninstallClaudePlugin(_0x35501a){const _0x11d8f2=_0x4e87a6,_0x1165c9={'rgLFT':function(_0x5cdd2e,_0x27b5f3){return _0x5cdd2e===_0x27b5f3;},'taTHC':function(_0x4a4fce,_0xd110fa,_0x3d248e,_0x190838){return _0x4a4fce(_0xd110fa,_0x3d248e,_0x190838);},'wGqXM':'ignore','FTZSq':'close','twbYq':_0x11d8f2(0xc5)};return new Promise(_0x2ade24=>{const _0x235f02=_0x11d8f2,_0x3a300c=[_0x235f02(0xcf),'uninstall','ranger@trailhead'];_0x35501a&&_0x3a300c['push'](_0x235f02(0xdc),_0x35501a);const _0xb6454a=_0x1165c9[_0x235f02(0xce)](spawn,_0x235f02(0xd4),_0x3a300c,{'stdio':[_0x1165c9['wGqXM'],_0x1165c9[_0x235f02(0xbb)],_0x1165c9[_0x235f02(0xbb)]],'cwd':_0x35501a?getProjectRoot():undefined,'shell':_0x1165c9['rgLFT'](process['platform'],_0x235f02(0xb2))});_0xb6454a['on'](_0x1165c9['FTZSq'],_0x4094e7=>{_0x2ade24(_0x1165c9['rgLFT'](_0x4094e7,0x0));}),_0xb6454a['on'](_0x1165c9[_0x235f02(0xc8)],()=>{_0x2ade24(![]);});});}function _0x1610(_0x1c54f0,_0xd6860e){_0x1c54f0=_0x1c54f0-0xa6;const _0x12b48d=_0x12b4();let _0x161079=_0x12b48d[_0x1c54f0];return _0x161079;}async function removeMarketplace(){const _0x114541=_0x4e87a6,_0x56ffdf={'WHpWJ':function(_0x594f92,_0x5d8fc6){return _0x594f92(_0x5d8fc6);},'kxeuB':function(_0x426728,_0x5d51bc,_0x29e0e6,_0xe583e4){return _0x426728(_0x5d51bc,_0x29e0e6,_0xe583e4);},'pUXAy':_0x114541(0xd4),'MTCZK':_0x114541(0xaa),'UNKUJ':'ignore','VeNst':function(_0x2f547d,_0x342ab9){return _0x2f547d===_0x342ab9;},'zlTLI':_0x114541(0xb2),'ZYCvt':'error'};return new Promise(_0x24e238=>{const _0x1eb419=_0x114541,_0x2e4302={'LZEnQ':function(_0x501fab,_0xf07c72){const _0x12b51d=_0x1610;return _0x56ffdf[_0x12b51d(0xb3)](_0x501fab,_0xf07c72);}},_0x3e2878=_0x56ffdf[_0x1eb419(0xac)](spawn,_0x56ffdf['pUXAy'],['plugin',_0x56ffdf['MTCZK'],_0x1eb419(0xbd),_0x1eb419(0xab)],{'stdio':[_0x56ffdf['UNKUJ'],_0x1eb419(0xd5),'ignore'],'shell':_0x56ffdf['VeNst'](process['platform'],_0x56ffdf['zlTLI'])});_0x3e2878['on'](_0x1eb419(0xd1),_0x1fff75=>{_0x2e4302['LZEnQ'](_0x24e238,_0x1fff75===0x0);}),_0x3e2878['on'](_0x56ffdf['ZYCvt'],()=>{_0x24e238(![]);});});}export async function clean(){const _0x4c3fc7=_0x4e87a6,_0x15b346={'nGNlD':'\x0a🧹\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a','mbHBN':_0x4c3fc7(0xc7),'ueyyb':function(_0x4899f3,_0x490f4f){return _0x4899f3(_0x490f4f);},'iSSPU':function(_0x500e8b,_0x5c5a4b,_0x2589fd){return _0x500e8b(_0x5c5a4b,_0x2589fd);},'mjPdV':function(_0xd881fc){return _0xd881fc();},'HSfMl':function(_0x5b8cc7,_0xe7fcd9,_0x4627b3){return _0x5b8cc7(_0xe7fcd9,_0x4627b3);},'SMVKo':function(_0x1b5430,_0x3dad3f){return _0x1b5430(_0x3dad3f);},'PQtGP':function(_0x2dedc8,_0x4b076,_0x579481){return _0x2dedc8(_0x4b076,_0x579481);},'INFex':_0x4c3fc7(0xcb),'RDqnb':function(_0x38701f,_0x3c4ba5,_0x10de89){return _0x38701f(_0x3c4ba5,_0x10de89);},'JqGdZ':function(_0x501031,_0x21d3e8){return _0x501031(_0x21d3e8);},'mhdqb':_0x4c3fc7(0xcc),'SQrNQ':function(_0x5879a1,_0x1607c0){return _0x5879a1(_0x1607c0);},'UsQCs':function(_0x3a013c,_0x8237b0,_0x37acdd){return _0x3a013c(_0x8237b0,_0x37acdd);},'hGNON':_0x4c3fc7(0xbc),'fqRxb':_0x4c3fc7(0xb7),'HNKmr':'✓\x20Uninstalled\x20Claude\x20plugin\x20(project\x20scope)','fXElV':'✓\x20Removed\x20trailhead\x20marketplace','HhSxw':_0x4c3fc7(0xc6),'KNocM':'Nothing\x20to\x20clean\x20up.\x0a'};console['log'](_0x15b346['nGNlD']);let _0x1a2fa8=![];try{await deleteAllCredentials(),console[_0x4c3fc7(0xa7)](_0x15b346[_0x4c3fc7(0xb1)]),_0x1a2fa8=!![];}catch{}const _0x3d99e8=getCacheFile();existsSync(_0x3d99e8)&&(await _0x15b346[_0x4c3fc7(0xb9)](rm,_0x3d99e8),_0x1a2fa8=!![]);const _0x2b1835=getRangerDir();_0x15b346['ueyyb'](existsSync,_0x2b1835)&&(await _0x15b346[_0x4c3fc7(0xba)](rm,_0x2b1835,{'recursive':!![]}),console['log']('✓\x20Removed\x20.ranger/\x20directory'),_0x1a2fa8=!![]);const _0x2937f5=getProjectSkillsDir();for(const _0x5c38f2 of skillsToRemove){const _0x1b2ff9=join(_0x2937f5,_0x5c38f2);existsSync(_0x1b2ff9)&&(await rm(_0x1b2ff9,{'recursive':!![]}),console[_0x4c3fc7(0xa7)](_0x4c3fc7(0xad)+_0x5c38f2),_0x1a2fa8=!![]);}const _0x261399=_0x15b346['mjPdV'](getUserSkillsDir);for(const _0x244e45 of skillsToRemove){const _0x543dcf=join(_0x261399,_0x244e45);existsSync(_0x543dcf)&&(await _0x15b346['HSfMl'](rm,_0x543dcf,{'recursive':!![]}),console[_0x4c3fc7(0xa7)]('✓\x20Removed\x20user\x20skill:\x20'+_0x244e45),_0x1a2fa8=!![]);}const _0x5c802b=getOpencodeSkillsDir('project');for(const _0x3a6e9d of skillsToRemove){const _0x3e289b=_0x15b346['iSSPU'](join,_0x5c802b,_0x3a6e9d);_0x15b346[_0x4c3fc7(0xae)](existsSync,_0x3e289b)&&(await _0x15b346[_0x4c3fc7(0xc4)](rm,_0x3e289b,{'recursive':!![]}),console[_0x4c3fc7(0xa7)](_0x4c3fc7(0xb0)+_0x3a6e9d),_0x1a2fa8=!![]);}const _0x33d126=getOpencodeSkillsDir(_0x15b346[_0x4c3fc7(0xb8)]);for(const _0x5bd546 of skillsToRemove){const _0x281d30=_0x15b346[_0x4c3fc7(0xc9)](join,_0x33d126,_0x5bd546);existsSync(_0x281d30)&&(await _0x15b346[_0x4c3fc7(0xd2)](rm,_0x281d30,{'recursive':!![]}),console[_0x4c3fc7(0xa7)]('✓\x20Removed\x20OpenCode\x20user\x20skill:\x20'+_0x5bd546),_0x1a2fa8=!![]);}const _0x575c3a=join(_0x15b346['JqGdZ'](getOpencodeConfigDir,_0x4c3fc7(0xb7)),_0x15b346['mhdqb']);await _0x15b346[_0x4c3fc7(0xda)](removeOpencodePluginConfig,_0x575c3a)&&(console[_0x4c3fc7(0xa7)](_0x4c3fc7(0xc3)),_0x1a2fa8=!![]);const _0x3fddc1=_0x15b346['UsQCs'](join,getOpencodeConfigDir(_0x15b346[_0x4c3fc7(0xb8)]),_0x15b346['mhdqb']);await removeOpencodePluginConfig(_0x3fddc1)&&(console[_0x4c3fc7(0xa7)](_0x15b346[_0x4c3fc7(0xd6)]),_0x1a2fa8=!![]);const _0x244489=await uninstallClaudePlugin();_0x244489&&(console['log'](_0x4c3fc7(0xcd)),_0x1a2fa8=!![]);const _0xe99a3d=await uninstallClaudePlugin(_0x15b346[_0x4c3fc7(0xca)]);_0xe99a3d&&(console['log'](_0x15b346['HNKmr']),_0x1a2fa8=!![]);const _0x3ff1ea=await removeMarketplace();_0x3ff1ea&&(console[_0x4c3fc7(0xa7)](_0x15b346[_0x4c3fc7(0xb6)]),_0x1a2fa8=!![]),_0x1a2fa8?console[_0x4c3fc7(0xa7)](_0x15b346['HhSxw']):console['log'](_0x15b346['KNocM']);}
1
+ const _0x59c348=_0x16aa;(function(_0x1db2e8,_0x48c158){const _0x532a99=_0x16aa,_0x459009=_0x1db2e8();while(!![]){try{const _0x1fc1d8=-parseInt(_0x532a99(0x1d9))/0x1*(-parseInt(_0x532a99(0x1de))/0x2)+-parseInt(_0x532a99(0x1b3))/0x3+parseInt(_0x532a99(0x1b7))/0x4*(parseInt(_0x532a99(0x1c6))/0x5)+-parseInt(_0x532a99(0x1b6))/0x6*(-parseInt(_0x532a99(0x1d4))/0x7)+parseInt(_0x532a99(0x1c5))/0x8+-parseInt(_0x532a99(0x1d5))/0x9*(-parseInt(_0x532a99(0x1df))/0xa)+parseInt(_0x532a99(0x1c3))/0xb*(-parseInt(_0x532a99(0x1e0))/0xc);if(_0x1fc1d8===_0x48c158)break;else _0x459009['push'](_0x459009['shift']());}catch(_0x2f1614){_0x459009['push'](_0x459009['shift']());}}}(_0x2d38,0x35498));import{rm,readFile,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x16aa(_0x231c3f,_0xab716d){_0x231c3f=_0x231c3f-0x1af;const _0x2d386c=_0x2d38();let _0x16aab0=_0x2d386c[_0x231c3f];return _0x16aab0;}import{spawn}from'child_process';import{deleteAllCredentials}from'./utils/keychain.js';import{getProjectRoot,getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getCacheFile}from'./utils/sessionCache.js';function _0x2d38(){const _0x3df5a2=['469170qwfwOf','kuZxp','error','bBwfc','11UMymtH','parse','CRyrj','dTDUW','hAmmS','19742TbCPux','20TOKwBl','6477756dfiHgw','tPYZD','rHIYP','✓\x20Uninstalled\x20Claude\x20plugin\x20(project\x20scope)','UYLpr','QQPOV','Hcqqz','log','USglo','ignore','platform','close','win32','marketplace','39894BPPHew','isArray','KDgjF','44706vARcZy','4zOItFS','claude','FpICW','plugin','BbsPu','UUdmb','lRCaJ','\x0a🧹\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a','feature-tracker','user','eyyyc','GXLYx','11CscilB','replace','901536kzInsj','1744895kxOccE','CdZDU','oIUYa','uninstall','VXkfW','length','✓\x20Removed\x20OpenCode\x20plugin\x20(user\x20config)','✓\x20Removed\x20OpenCode\x20user\x20skill:\x20','rFUQK','IdLCj','BOJxr','✓\x20Removed\x20project\x20skill:\x20','stringify','nDGEj','91RrdcHp'];_0x2d38=function(){return _0x3df5a2;};return _0x2d38();}import{getOpencodeConfigDir,getOpencodeSkillsDir}from'./utils/opencodeConfig.js';const skillsToRemove=['ranger',_0x59c348(0x1bf),'bug-bash','e2e-test-recommender'],opencodePluginName='@ranger-testing/opencode-plugin';function parseJsonc(_0x5b8d26){const _0x2cda05=_0x59c348,_0x3800f3=_0x5b8d26['replace'](/\/\*[\s\S]*?\*\//g,''),_0x380abf=_0x3800f3[_0x2cda05(0x1c4)](/^\s*\/\/.*$/gm,''),_0x4fc25c=_0x380abf[_0x2cda05(0x1c4)](/,\s*([}\]])/g,'$1');return JSON[_0x2cda05(0x1da)](_0x4fc25c);}async function removeOpencodePluginConfig(_0x3288b4){const _0x154491=_0x59c348,_0x1240e3={'hKlzk':function(_0xc23dcb,_0xb01fd9){return _0xc23dcb!==_0xb01fd9;},'pNTKi':function(_0x370de0,_0x40adf1){return _0x370de0(_0x40adf1);},'wiXYK':function(_0x1548aa,_0x156608,_0x1db826){return _0x1548aa(_0x156608,_0x1db826);},'KZfdI':'utf-8','JSSAH':function(_0x172c9f,_0x3538b2){return _0x172c9f(_0x3538b2);},'IdLCj':function(_0x5709ec,_0x337fe9){return _0x5709ec===_0x337fe9;},'iuvKT':function(_0x158a65,_0x2960c4){return _0x158a65===_0x2960c4;}};if(!_0x1240e3['pNTKi'](existsSync,_0x3288b4))return![];let _0x1df23c;try{const _0x1544f9=await _0x1240e3['wiXYK'](readFile,_0x3288b4,_0x1240e3['KZfdI']);_0x1df23c=_0x1240e3['JSSAH'](parseJsonc,_0x1544f9);}catch{return![];}const _0x240aec=Array[_0x154491(0x1b4)](_0x1df23c['plugin'])?_0x1df23c[_0x154491(0x1ba)]:[];if(_0x1240e3[_0x154491(0x1cf)](_0x240aec[_0x154491(0x1cb)],0x0))return![];const _0x54d9f7=_0x240aec['filter'](_0x40609c=>{if(typeof _0x40609c!=='string')return!![];return _0x1240e3['hKlzk'](_0x40609c,opencodePluginName);});if(_0x1240e3[_0x154491(0x1cf)](_0x54d9f7[_0x154491(0x1cb)],_0x240aec[_0x154491(0x1cb)]))return![];return _0x1240e3['iuvKT'](_0x54d9f7['length'],0x0)?delete _0x1df23c[_0x154491(0x1ba)]:_0x1df23c[_0x154491(0x1ba)]=_0x54d9f7,await writeFile(_0x3288b4,JSON[_0x154491(0x1d2)](_0x1df23c,null,0x2)+'\x0a'),!![];}async function uninstallClaudePlugin(_0x11a42d){const _0xcd7bc=_0x59c348,_0x32cfba={'BOJxr':function(_0x38d650,_0x168cb5){return _0x38d650(_0x168cb5);},'tPYZD':'plugin','dTDUW':_0xcd7bc(0x1c9),'nJUhX':'ranger@trailhead','ozcBj':'--scope','UUdmb':function(_0x584266,_0x33c083,_0x7886b6,_0x199684){return _0x584266(_0x33c083,_0x7886b6,_0x199684);},'GXLYx':_0xcd7bc(0x1e9),'hAmmS':function(_0x5d2d37){return _0x5d2d37();},'kuZxp':_0xcd7bc(0x1b1),'Hcqqz':'close','UYLpr':_0xcd7bc(0x1d7)};return new Promise(_0x3bb09a=>{const _0x37778a=_0xcd7bc,_0x42fc9e=[_0x32cfba[_0x37778a(0x1e1)],_0x32cfba[_0x37778a(0x1dc)],_0x32cfba['nJUhX']];_0x11a42d&&_0x42fc9e['push'](_0x32cfba['ozcBj'],_0x11a42d);const _0x4fa61f=_0x32cfba[_0x37778a(0x1bc)](spawn,'claude',_0x42fc9e,{'stdio':[_0x32cfba['GXLYx'],_0x32cfba[_0x37778a(0x1c2)],'ignore'],'cwd':_0x11a42d?_0x32cfba[_0x37778a(0x1dd)](getProjectRoot):undefined,'shell':process[_0x37778a(0x1af)]===_0x32cfba[_0x37778a(0x1d6)]});_0x4fa61f['on'](_0x32cfba[_0x37778a(0x1e6)],_0x2a70b8=>{const _0x3d298d=_0x37778a;_0x32cfba[_0x3d298d(0x1d0)](_0x3bb09a,_0x2a70b8===0x0);}),_0x4fa61f['on'](_0x32cfba[_0x37778a(0x1e4)],()=>{_0x32cfba['BOJxr'](_0x3bb09a,![]);});});}async function removeMarketplace(){const _0x5ca7ea=_0x59c348,_0x465202={'tNptM':function(_0xa7296,_0x42a04e){return _0xa7296(_0x42a04e);},'KDgjF':function(_0x465f97,_0x1aaf5e){return _0x465f97===_0x1aaf5e;},'ukoZe':_0x5ca7ea(0x1b8),'lRCaJ':_0x5ca7ea(0x1ba),'nDGEj':_0x5ca7ea(0x1b2),'CRyrj':'trailhead','BbsPu':_0x5ca7ea(0x1e9),'QQPOV':_0x5ca7ea(0x1b0)};return new Promise(_0x565e56=>{const _0x11ff4a=_0x5ca7ea,_0x46f4d7={'Xzagd':function(_0x4c6970,_0x10e44e){return _0x465202['tNptM'](_0x4c6970,_0x10e44e);},'kDdUG':function(_0x4f0b4b,_0x45bc73){const _0x41cc69=_0x16aa;return _0x465202[_0x41cc69(0x1b5)](_0x4f0b4b,_0x45bc73);}},_0x348471=spawn(_0x465202['ukoZe'],[_0x465202[_0x11ff4a(0x1bd)],_0x465202[_0x11ff4a(0x1d3)],'remove',_0x465202[_0x11ff4a(0x1db)]],{'stdio':[_0x465202['BbsPu'],_0x465202[_0x11ff4a(0x1bb)],_0x465202['BbsPu']],'shell':process[_0x11ff4a(0x1af)]===_0x11ff4a(0x1b1)});_0x348471['on'](_0x465202[_0x11ff4a(0x1e5)],_0x26cb9c=>{_0x46f4d7['Xzagd'](_0x565e56,_0x46f4d7['kDdUG'](_0x26cb9c,0x0));}),_0x348471['on'](_0x11ff4a(0x1d7),()=>{_0x565e56(![]);});});}export async function clean(){const _0x13d74a=_0x59c348,_0x1fa483={'IdmCs':_0x13d74a(0x1be),'USglo':'✓\x20Removed\x20stored\x20credentials','CdZDU':function(_0x202684,_0x55830e){return _0x202684(_0x55830e);},'InwYx':function(_0x2b9f4c,_0x882526,_0x2fdf58){return _0x2b9f4c(_0x882526,_0x2fdf58);},'oIKwI':'✓\x20Removed\x20.ranger/\x20directory','VXkfW':function(_0xb83325,_0x25a014,_0x703344){return _0xb83325(_0x25a014,_0x703344);},'bBwfc':function(_0x4442cf){return _0x4442cf();},'ThRoF':function(_0x33b227,_0x4a58f1,_0x3289a6){return _0x33b227(_0x4a58f1,_0x3289a6);},'rFUQK':function(_0x56ad9d,_0x4a1a39,_0x21c759){return _0x56ad9d(_0x4a1a39,_0x21c759);},'ICzZz':function(_0x3343d4,_0x425a83,_0x3c1ebf){return _0x3343d4(_0x425a83,_0x3c1ebf);},'NhktB':function(_0x4abd8c,_0x16f32f,_0x385674){return _0x4abd8c(_0x16f32f,_0x385674);},'FSOfz':_0x13d74a(0x1c0),'EZDpE':'opencode.json','oIUYa':_0x13d74a(0x1cc),'TftZW':'project','eyyyc':_0x13d74a(0x1e3),'FpICW':'✓\x20Removed\x20trailhead\x20marketplace','rHIYP':'\x0a✅\x20Cleanup\x20complete!\x0a'};console[_0x13d74a(0x1e7)](_0x1fa483['IdmCs']);let _0x3b5eea=![];try{await deleteAllCredentials(),console['log'](_0x1fa483[_0x13d74a(0x1e8)]),_0x3b5eea=!![];}catch{}const _0xf76a31=getCacheFile();existsSync(_0xf76a31)&&(await _0x1fa483[_0x13d74a(0x1c7)](rm,_0xf76a31),_0x3b5eea=!![]);const _0xb80ae3=getRangerDir();_0x1fa483['CdZDU'](existsSync,_0xb80ae3)&&(await _0x1fa483['InwYx'](rm,_0xb80ae3,{'recursive':!![]}),console['log'](_0x1fa483['oIKwI']),_0x3b5eea=!![]);const _0x4bca53=getProjectSkillsDir();for(const _0x27c4ec of skillsToRemove){const _0x2749e0=_0x1fa483['VXkfW'](join,_0x4bca53,_0x27c4ec);existsSync(_0x2749e0)&&(await _0x1fa483[_0x13d74a(0x1ca)](rm,_0x2749e0,{'recursive':!![]}),console['log'](_0x13d74a(0x1d1)+_0x27c4ec),_0x3b5eea=!![]);}const _0x282f0b=_0x1fa483['bBwfc'](getUserSkillsDir);for(const _0x5b337c of skillsToRemove){const _0x3d7a22=_0x1fa483['ThRoF'](join,_0x282f0b,_0x5b337c);existsSync(_0x3d7a22)&&(await rm(_0x3d7a22,{'recursive':!![]}),console['log']('✓\x20Removed\x20user\x20skill:\x20'+_0x5b337c),_0x3b5eea=!![]);}const _0x50da42=_0x1fa483['CdZDU'](getOpencodeSkillsDir,'project');for(const _0x19f9a0 of skillsToRemove){const _0x27e1ae=_0x1fa483[_0x13d74a(0x1ce)](join,_0x50da42,_0x19f9a0);existsSync(_0x27e1ae)&&(await _0x1fa483['ICzZz'](rm,_0x27e1ae,{'recursive':!![]}),console[_0x13d74a(0x1e7)]('✓\x20Removed\x20OpenCode\x20project\x20skill:\x20'+_0x19f9a0),_0x3b5eea=!![]);}const _0x223c7c=_0x1fa483['CdZDU'](getOpencodeSkillsDir,'user');for(const _0x581474 of skillsToRemove){const _0x3d57d0=_0x1fa483['NhktB'](join,_0x223c7c,_0x581474);existsSync(_0x3d57d0)&&(await _0x1fa483['InwYx'](rm,_0x3d57d0,{'recursive':!![]}),console['log'](_0x13d74a(0x1cd)+_0x581474),_0x3b5eea=!![]);}const _0x590822=_0x1fa483['ICzZz'](join,getOpencodeConfigDir('project'),'opencode.json');await removeOpencodePluginConfig(_0x590822)&&(console['log']('✓\x20Removed\x20OpenCode\x20plugin\x20(project\x20config)'),_0x3b5eea=!![]);const _0x2e8995=_0x1fa483[_0x13d74a(0x1ca)](join,_0x1fa483[_0x13d74a(0x1c7)](getOpencodeConfigDir,_0x1fa483['FSOfz']),_0x1fa483['EZDpE']);await _0x1fa483['CdZDU'](removeOpencodePluginConfig,_0x2e8995)&&(console[_0x13d74a(0x1e7)](_0x1fa483[_0x13d74a(0x1c8)]),_0x3b5eea=!![]);const _0x4b5755=await _0x1fa483[_0x13d74a(0x1d8)](uninstallClaudePlugin);_0x4b5755&&(console[_0x13d74a(0x1e7)]('✓\x20Uninstalled\x20Claude\x20plugin\x20(user\x20scope)'),_0x3b5eea=!![]);const _0x10a2c4=await _0x1fa483[_0x13d74a(0x1c7)](uninstallClaudePlugin,_0x1fa483['TftZW']);_0x10a2c4&&(console[_0x13d74a(0x1e7)](_0x1fa483[_0x13d74a(0x1c1)]),_0x3b5eea=!![]);const _0xe5a66c=await _0x1fa483['bBwfc'](removeMarketplace);_0xe5a66c&&(console['log'](_0x1fa483[_0x13d74a(0x1b9)]),_0x3b5eea=!![]),_0x3b5eea?console['log'](_0x1fa483[_0x13d74a(0x1e2)]):console['log']('Nothing\x20to\x20clean\x20up.\x0a');}
@@ -1 +1 @@
1
- const _0x1c608c=_0x5a7e;(function(_0x3664df,_0x217800){const _0x5deae3=_0x5a7e,_0x5853de=_0x3664df();while(!![]){try{const _0x4f1651=parseInt(_0x5deae3(0x174))/0x1*(parseInt(_0x5deae3(0x169))/0x2)+-parseInt(_0x5deae3(0x151))/0x3*(parseInt(_0x5deae3(0x17f))/0x4)+parseInt(_0x5deae3(0x16f))/0x5*(-parseInt(_0x5deae3(0x160))/0x6)+-parseInt(_0x5deae3(0x185))/0x7*(parseInt(_0x5deae3(0x155))/0x8)+parseInt(_0x5deae3(0x15b))/0x9*(-parseInt(_0x5deae3(0x163))/0xa)+-parseInt(_0x5deae3(0x187))/0xb+-parseInt(_0x5deae3(0x152))/0xc*(-parseInt(_0x5deae3(0x180))/0xd);if(_0x4f1651===_0x217800)break;else _0x5853de['push'](_0x5853de['shift']());}catch(_0x50f32e){_0x5853de['push'](_0x5853de['shift']());}}}(_0x27dd,0x87c89));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=[_0x1c608c(0x153),'allowInsecureLocalhost'];function parseLocalValue(_0x1ab743,_0x386975){const _0x23483e=_0x1c608c,_0xcc2215={'NQjZl':function(_0x3975c9,_0x5af0cc){return _0x3975c9===_0x5af0cc;},'nTyUC':_0x23483e(0x186),'sxxeC':'false'};if(BOOLEAN_KEYS[_0x23483e(0x17e)](_0x1ab743)){if(_0xcc2215['NQjZl'](_0x386975,_0xcc2215[_0x23483e(0x157)]))return!![];if(_0xcc2215[_0x23483e(0x17c)](_0x386975,_0xcc2215['sxxeC']))return![];throw new Error(_0x23483e(0x15c)+_0x1ab743+':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22');}return _0x386975;}function parseOverrideValue(_0x3ff548){const _0xe63b63=_0x1c608c,_0x3a448f={'RXMYi':function(_0x101bf1,_0x5e84af){return _0x101bf1===_0x5e84af;},'qJtfX':_0xe63b63(0x186),'SWlkn':_0xe63b63(0x154),'eWnWp':function(_0x1f9c5d,_0x21c996){return _0x1f9c5d===_0x21c996;},'xSPzX':_0xe63b63(0x184),'tMgBb':function(_0x327084,_0x1da49b){return _0x327084(_0x1da49b);}};if(_0x3a448f['RXMYi'](_0x3ff548,_0x3a448f['qJtfX']))return!![];if(_0x3ff548==='false')return![];if(_0x3a448f['RXMYi'](_0x3ff548,_0x3a448f[_0xe63b63(0x15e)]))return null;if(_0x3a448f[_0xe63b63(0x173)](_0x3ff548,_0x3a448f[_0xe63b63(0x16d)]))return undefined;if(/^-?\d+$/[_0xe63b63(0x15f)](_0x3ff548)){const _0xc04e83=_0x3a448f[_0xe63b63(0x17b)](Number,_0x3ff548);if(Number['isSafeInteger'](_0xc04e83))return _0xc04e83;}if(/^-?\d+\.\d+$/['test'](_0x3ff548)){const _0x34d6c3=_0x3a448f['tMgBb'](Number,_0x3ff548);if(!Number[_0xe63b63(0x177)](_0x34d6c3))return _0x34d6c3;}const _0x591259=_0x3ff548['trim']();if(_0x591259['startsWith']('{')&&_0x591259[_0xe63b63(0x161)]('}')||_0x591259['startsWith']('[')&&_0x591259[_0xe63b63(0x161)](']'))try{return JSON['parse'](_0x591259);}catch{}return _0x3ff548;}async function resolveProfileTarget(_0x132463){const _0x4ecd20=_0x1c608c,_0x3e218f={'EQidF':function(_0x5f4c21,_0x15a5f4){return _0x5f4c21(_0x15a5f4);},'oIgmp':_0x4ecd20(0x14f),'GEfHs':'local'},_0x17b309=existsSync(_0x3e218f[_0x4ecd20(0x165)](getEnvDir,_0x132463));let _0x586467=![];try{const _0x566e04=await fetchCloudProfile(_0x132463);_0x586467=_0x3e218f[_0x4ecd20(0x165)](Boolean,_0x566e04);}catch{}if(_0x586467)return{'kind':_0x3e218f[_0x4ecd20(0x158)],'alsoExistsElsewhere':_0x17b309};if(_0x17b309)return{'kind':_0x3e218f['GEfHs'],'alsoExistsElsewhere':![]};throw new Error('Profile\x20\x22'+_0x132463+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x132463);}function printDualExistsHint(_0x2efc7e){const _0x234e22=_0x1c608c;console[_0x234e22(0x17a)]('\x20\x20Note:\x20\x22'+_0x2efc7e+_0x234e22(0x16c));}function getProjectPath(){const _0xf349a7=_0x1c608c;return process[_0xf349a7(0x17d)]();}async function loadEffectiveCloudSettings(_0x11cf11){const _0x33dbdf=_0x1c608c,_0x2283ff={'LPjQz':function(_0x26e4c7,_0x16e3e2,_0x4d8430){return _0x26e4c7(_0x16e3e2,_0x4d8430);},'jxLJk':function(_0x423088){return _0x423088();},'EaGfd':function(_0x9b426b,_0x466676,_0xbb4fe5){return _0x9b426b(_0x466676,_0xbb4fe5);}},_0x1a4c23=await fetchCloudProfile(_0x11cf11),_0xf603cd=_0x2283ff[_0x33dbdf(0x150)](readProfileOverrides,_0x2283ff['jxLJk'](getProjectPath),_0x11cf11);return _0x2283ff['EaGfd'](mergeCloudProfileSettings,_0x1a4c23?.['settings']??{},_0xf603cd??undefined);}export async function configSet(_0x9d2313,_0x53e544,_0x32370d){const _0x1200f5=_0x1c608c,_0x234393={'CpOkq':function(_0xc3d99c,_0x24fa2c){return _0xc3d99c(_0x24fa2c);},'MIihP':function(_0x34cb51,_0x2dd0c4){return _0x34cb51===_0x2dd0c4;},'BYLEk':function(_0x35edb1,_0x465a6d){return _0x35edb1(_0x465a6d);},'vzZQT':function(_0xb2adfe){return _0xb2adfe();},'OqwyQ':function(_0x3619ec,_0x31f912,_0x397e26){return _0x3619ec(_0x31f912,_0x397e26);}},_0x97d919=await _0x234393['CpOkq'](resolveProfileTarget,_0x9d2313);if(_0x234393['MIihP'](_0x97d919[_0x1200f5(0x159)],'cloud')){if(_0x97d919['alsoExistsElsewhere'])_0x234393[_0x1200f5(0x171)](printDualExistsHint,_0x9d2313);const _0x2f79f9=_0x234393['BYLEk'](parseOverrideValue,_0x32370d);setProfileOverride(_0x234393['vzZQT'](getProjectPath),_0x9d2313,_0x53e544,_0x2f79f9),console[_0x1200f5(0x17a)](_0x1200f5(0x167)+_0x53e544+'\x20=\x20'+JSON['stringify'](_0x2f79f9)+_0x1200f5(0x14e)+_0x9d2313+'\x22');return;}const _0x28913d=await loadSettings(_0x9d2313),_0x7e0ebb=_0x234393[_0x1200f5(0x15a)](parseLocalValue,_0x53e544,_0x32370d);setNestedValue(_0x28913d,_0x53e544,_0x7e0ebb),await _0x234393[_0x1200f5(0x15a)](saveSettings,_0x9d2313,_0x28913d),console[_0x1200f5(0x17a)](_0x1200f5(0x167)+_0x53e544+'\x20=\x20'+_0x7e0ebb+_0x1200f5(0x14e)+_0x9d2313+'\x22');}function _0x5a7e(_0x566dc0,_0xb33f4f){_0x566dc0=_0x566dc0-0x14e;const _0x27dd80=_0x27dd();let _0x5a7e43=_0x27dd80[_0x566dc0];return _0x5a7e43;}export async function configGet(_0xb4e064,_0x505bc4){const _0x1f8534=_0x1c608c,_0x5734f8={'ThcyC':function(_0x140265,_0x32392b){return _0x140265(_0x32392b);},'JTebH':function(_0x4053b2,_0x45bf96,_0x4e2503){return _0x4053b2(_0x45bf96,_0x4e2503);},'wWOkg':function(_0x3813b0,_0x105d69){return _0x3813b0===_0x105d69;},'NyWxZ':'object','LCZSg':function(_0xb20e80,_0x4669fa,_0x1812c1){return _0xb20e80(_0x4669fa,_0x1812c1);},'MgVKr':function(_0x46ca43,_0x202a90){return _0x46ca43===_0x202a90;}},_0x5c0425=await resolveProfileTarget(_0xb4e064);if(_0x5c0425[_0x1f8534(0x159)]==='cloud'){const _0x1e75bf=await _0x5734f8[_0x1f8534(0x182)](loadEffectiveCloudSettings,_0xb4e064),_0x58865f=_0x5734f8[_0x1f8534(0x162)](getNestedValue,_0x1e75bf,_0x505bc4);if(_0x5734f8['wWOkg'](_0x58865f,undefined))console[_0x1f8534(0x17a)](_0x1f8534(0x178));else typeof _0x58865f===_0x5734f8[_0x1f8534(0x156)]?console[_0x1f8534(0x17a)](JSON[_0x1f8534(0x16e)](_0x58865f,null,0x2)):console['log'](_0x58865f);return;}const _0x5304d5=await _0x5734f8[_0x1f8534(0x182)](loadSettings,_0xb4e064),_0x4ac093=_0x5734f8['LCZSg'](getNestedValue,_0x5304d5,_0x505bc4);if(_0x4ac093===undefined)console[_0x1f8534(0x17a)]('(not\x20set)');else _0x5734f8[_0x1f8534(0x166)](typeof _0x4ac093,_0x1f8534(0x188))?console[_0x1f8534(0x17a)](JSON['stringify'](_0x4ac093,null,0x2)):console[_0x1f8534(0x17a)](_0x4ac093);}function _0x27dd(){const _0x580252=['\x22\x20not\x20found','\x22\x20also\x20exists\x20as\x20a\x20local\x20profile;\x20editing\x20the\x20cloud\x20profile.','xSPzX','stringify','5culomd','\x22\x20is\x20a\x20local\x20profile.\x20Use\x20\x22ranger\x20profile\x20config\x20unset\x20','CpOkq','qigtK','eWnWp','554924RgYsdr','No\x20configuration\x20set\x20for\x20\x22','Cleared\x20local\x20overrides\x20for\x20\x22','isNaN','(not\x20set)','RWBmS','log','tMgBb','NQjZl','cwd','includes','35324jZuNxt','793nVZLbn','length','ThcyC','igzDq','undefined','1233589KPpxBe','true','2856942lVihcK','object','\x20for\x20\x22','cloud','LPjQz','225NTlAhg','360792vOMpTF','headless','null','16eJBsdR','NyWxZ','nTyUC','oIgmp','kind','OqwyQ','859149GDdswO','Invalid\x20value\x20for\x20','Key\x20\x22','SWlkn','test','3815394sUMWXP','endsWith','JTebH','50VFtSbI','oAZBd','EQidF','MgVKr','Set\x20','MHxTP','4RoosIr','Removed\x20'];_0x27dd=function(){return _0x580252;};return _0x27dd();}export async function configList(_0x5a7a1f){const _0x465847=_0x1c608c,_0x5e1b97={'igzDq':function(_0x15bf13,_0x281c25){return _0x15bf13(_0x281c25);},'riavx':function(_0x5f0819,_0x363db2){return _0x5f0819===_0x363db2;}},_0x21fc9b=await resolveProfileTarget(_0x5a7a1f);if(_0x21fc9b['kind']==='cloud'){const _0x305abd=await _0x5e1b97['igzDq'](loadEffectiveCloudSettings,_0x5a7a1f);if(!_0x305abd||_0x5e1b97['riavx'](Object['keys'](_0x305abd)[_0x465847(0x181)],0x0)){console['log']('No\x20configuration\x20set\x20for\x20\x22'+_0x5a7a1f+'\x22');return;}console['log'](JSON['stringify'](_0x305abd,null,0x2));return;}const _0x240fb7=getSettingsPath(_0x5a7a1f);if(!existsSync(_0x240fb7)){console['log'](_0x465847(0x175)+_0x5a7a1f+'\x22');return;}const _0x14ce59=await _0x5e1b97[_0x465847(0x183)](loadSettings,_0x5a7a1f),_0x1ba89a=_0x5e1b97[_0x465847(0x183)](formatSettings,_0x14ce59);!_0x1ba89a?console[_0x465847(0x17a)](_0x465847(0x175)+_0x5a7a1f+'\x22'):console[_0x465847(0x17a)](_0x1ba89a);}export async function configUnset(_0x163e37,_0x3bbb39){const _0x5e0e72=_0x1c608c,_0x6c378f={'RWBmS':function(_0x48c505,_0x5cb2ca){return _0x48c505(_0x5cb2ca);},'mTwoA':function(_0x45f425,_0x216f8a){return _0x45f425===_0x216f8a;},'qigtK':function(_0x3fcdbf,_0x308923,_0x319d36,_0x219a8e){return _0x3fcdbf(_0x308923,_0x319d36,_0x219a8e);},'oAZBd':function(_0x208d16){return _0x208d16();},'fexOG':function(_0x40ebda,_0x33ced8,_0x434d13){return _0x40ebda(_0x33ced8,_0x434d13);}},_0x11f607=await _0x6c378f[_0x5e0e72(0x179)](resolveProfileTarget,_0x163e37);if(_0x6c378f['mTwoA'](_0x11f607[_0x5e0e72(0x159)],'cloud')){if(_0x11f607['alsoExistsElsewhere'])printDualExistsHint(_0x163e37);const _0x37f663=_0x6c378f[_0x5e0e72(0x172)](unsetProfileOverride,_0x6c378f[_0x5e0e72(0x164)](getProjectPath),_0x163e37,_0x3bbb39);_0x37f663?console[_0x5e0e72(0x17a)]('Removed\x20'+_0x3bbb39+_0x5e0e72(0x14e)+_0x163e37+'\x22'):console['log'](_0x5e0e72(0x15d)+_0x3bbb39+_0x5e0e72(0x16b));return;}const _0x17fd88=await loadSettings(_0x163e37),_0x35843b=_0x6c378f['fexOG'](deleteNestedValue,_0x17fd88,_0x3bbb39);_0x35843b?(await saveSettings(_0x163e37,_0x17fd88),console['log'](_0x5e0e72(0x16a)+_0x3bbb39)):console['log'](_0x5e0e72(0x15d)+_0x3bbb39+'\x22\x20not\x20found');}export async function configReset(_0x52974f){const _0x4d55ba=_0x1c608c,_0xc6c5e={'MHxTP':function(_0x59db44,_0x1c69a1){return _0x59db44(_0x1c69a1);},'iFeEH':'cloud','sLOPf':function(_0x1ae572){return _0x1ae572();}},_0x19617a=await _0xc6c5e[_0x4d55ba(0x168)](resolveProfileTarget,_0x52974f);if(_0x19617a[_0x4d55ba(0x159)]===_0xc6c5e['iFeEH']){resetProfileOverrides(_0xc6c5e['sLOPf'](getProjectPath),_0x52974f),console[_0x4d55ba(0x17a)](_0x4d55ba(0x176)+_0x52974f+'\x22');return;}console[_0x4d55ba(0x17a)]('\x22'+_0x52974f+_0x4d55ba(0x170)+_0x52974f+'\x20<key>\x22\x20to\x20remove\x20individual\x20values.');}
1
+ const _0x43a503=_0x34bc;(function(_0x5c6e40,_0x30ced7){const _0x1a068c=_0x34bc,_0x539ca3=_0x5c6e40();while(!![]){try{const _0x3a9807=-parseInt(_0x1a068c(0xe0))/0x1*(-parseInt(_0x1a068c(0xe2))/0x2)+parseInt(_0x1a068c(0xd5))/0x3*(parseInt(_0x1a068c(0xd9))/0x4)+-parseInt(_0x1a068c(0xdf))/0x5+-parseInt(_0x1a068c(0xd0))/0x6+-parseInt(_0x1a068c(0xc0))/0x7*(-parseInt(_0x1a068c(0xc2))/0x8)+parseInt(_0x1a068c(0xe7))/0x9+-parseInt(_0x1a068c(0xbc))/0xa;if(_0x3a9807===_0x30ced7)break;else _0x539ca3['push'](_0x539ca3['shift']());}catch(_0x44eb83){_0x539ca3['push'](_0x539ca3['shift']());}}}(_0x15af,0xd8c29));import{existsSync}from'fs';import{loadSettings,getNestedValue,deleteNestedValue,formatSettings,getSettingsPath,getEnvDir}from'./utils/settings.js';import{fetchCloudProfile}from'./utils/cloudProfile.js';import{mergeCloudProfileSettings,readProfileOverrides,resetProfileOverrides,setProfileOverride,unsetProfileOverride}from'./utils/projectsConfig.js';function _0x15af(){const _0x3b338c=['OcOBS','allowInsecureLocalhost','includes','headless','log','Cleared\x20local\x20overrides\x20for\x20\x22','10734300wkHhsh','AllWk','(not\x20set)','null','9381463TejdnP','peyFC','8lMtVSh','\x22\x20not\x20found','\x20for\x20\x22','true','No\x20configuration\x20set\x20for\x20\x22','faIuX','vNsOM','length','keys','xkfKV','alsoExistsElsewhere','PmRgw','endsWith','cloud','10483302qVkqRK','\x20<key>\x22\x20to\x20remove\x20individual\x20values.','EfdWd','\x20=\x20','undefined','18jkzshE','NpbMh','kind','bOpKu','975404yVshXw','\x22\x20lives\x20in\x20the\x20legacy\x20settings\x20file\x20for\x20\x22','cwd','gJqrr','startsWith','yppCJ','6516945PzZpBf','1plmPfG','Invalid\x20value\x20for\x20','3360982zursVB','Key\x20\x22',':\x20expected\x20\x22true\x22\x20or\x20\x22false\x22','parse','JSCRi','4752711iDbVuv','object','Removed\x20'];_0x15af=function(){return _0x3b338c;};return _0x15af();}const BOOLEAN_KEYS=[_0x43a503(0xb9),_0x43a503(0xb7)];function parseLocalValue(_0x3bca43,_0x160a0e){const _0x3f680a=_0x43a503,_0x376ed4={'xkfKV':'false'};if(BOOLEAN_KEYS[_0x3f680a(0xb8)](_0x3bca43)){if(_0x160a0e==='true')return!![];if(_0x160a0e===_0x376ed4[_0x3f680a(0xcb)])return![];throw new Error(_0x3f680a(0xe1)+_0x3bca43+_0x3f680a(0xe4));}return _0x160a0e;}function parseOverrideValue(_0x99368d){const _0x255cb3=_0x43a503,_0x4b8e68={'RDfmI':function(_0x1d5b02,_0x560c5c){return _0x1d5b02===_0x560c5c;},'lqSfk':_0x255cb3(0xbf),'PmRgw':function(_0x404d97,_0x1728e6){return _0x404d97(_0x1728e6);}};if(_0x99368d===_0x255cb3(0xc5))return!![];if(_0x4b8e68['RDfmI'](_0x99368d,'false'))return![];if(_0x4b8e68['RDfmI'](_0x99368d,_0x4b8e68['lqSfk']))return null;if(_0x99368d===_0x255cb3(0xd4))return undefined;if(/^-?\d+$/['test'](_0x99368d)){const _0x44c923=Number(_0x99368d);if(Number['isSafeInteger'](_0x44c923))return _0x44c923;}if(/^-?\d+\.\d+$/['test'](_0x99368d)){const _0x3ae58f=_0x4b8e68[_0x255cb3(0xcd)](Number,_0x99368d);if(!Number['isNaN'](_0x3ae58f))return _0x3ae58f;}const _0x4dd56e=_0x99368d['trim']();if(_0x4dd56e[_0x255cb3(0xdd)]('{')&&_0x4dd56e[_0x255cb3(0xce)]('}')||_0x4dd56e[_0x255cb3(0xdd)]('[')&&_0x4dd56e[_0x255cb3(0xce)](']'))try{return JSON[_0x255cb3(0xe5)](_0x4dd56e);}catch{}return _0x99368d;}async function resolveProfileTarget(_0x3ea1c5){const _0x1f20ce=_0x43a503,_0x3b2d03={'FobQO':function(_0x4871ac,_0x39a3f2){return _0x4871ac(_0x39a3f2);},'OcOBS':function(_0x356060,_0x352dd7){return _0x356060(_0x352dd7);},'YdGNT':'local'},_0x36909f=existsSync(_0x3b2d03['FobQO'](getEnvDir,_0x3ea1c5));let _0x4185c3=![];try{const _0x55157e=await fetchCloudProfile(_0x3ea1c5);_0x4185c3=_0x3b2d03[_0x1f20ce(0xea)](Boolean,_0x55157e);}catch{}if(_0x4185c3)return{'kind':'cloud','alsoExistsElsewhere':_0x36909f};if(_0x36909f)return{'kind':_0x3b2d03['YdGNT'],'alsoExistsElsewhere':![]};throw new Error('Profile\x20\x22'+_0x3ea1c5+'\x22\x20does\x20not\x20exist.\x20Run:\x20ranger\x20profile\x20add\x20'+_0x3ea1c5);}function printDualExistsHint(_0x2bf9ce){console['log']('\x20\x20Note:\x20\x22'+_0x2bf9ce+'\x22\x20also\x20exists\x20as\x20a\x20local\x20profile;\x20editing\x20the\x20cloud\x20profile.');}function getProjectPath(){const _0x1bdc97=_0x43a503;return process[_0x1bdc97(0xdb)]();}async function loadEffectiveCloudSettings(_0x1e2b19){const _0x56a519=_0x43a503,_0x20b0cd={'bOpKu':function(_0x173a23,_0x2eceb2,_0x8fff22){return _0x173a23(_0x2eceb2,_0x8fff22);}},_0x15ff7a=await fetchCloudProfile(_0x1e2b19),_0x5aa38c=readProfileOverrides(getProjectPath(),_0x1e2b19);return _0x20b0cd[_0x56a519(0xd8)](mergeCloudProfileSettings,_0x15ff7a?.['settings']??{},_0x5aa38c??undefined);}export async function configSet(_0x4af076,_0x118ea5,_0x47427a){const _0x1b00bc=_0x43a503,_0x4ceea6={'gJqrr':function(_0x4b4708,_0x1b5c1a){return _0x4b4708(_0x1b5c1a);},'jeqAH':function(_0x52e1d0,_0x97054d){return _0x52e1d0===_0x97054d;},'ZgSAV':'cloud','Krvfg':function(_0x294db3,_0x3b0d30){return _0x294db3(_0x3b0d30);},'peyFC':function(_0x179bd1,_0x137f4a){return _0x179bd1(_0x137f4a);},'tRhwm':function(_0x37be95,_0x419f00,_0x4d460f,_0x1e6d75,_0x5a95b5){return _0x37be95(_0x419f00,_0x4d460f,_0x1e6d75,_0x5a95b5);}},_0x1ae772=await _0x4ceea6[_0x1b00bc(0xdc)](resolveProfileTarget,_0x4af076);if(_0x4ceea6['jeqAH'](_0x1ae772[_0x1b00bc(0xd7)],_0x4ceea6['ZgSAV'])){if(_0x1ae772[_0x1b00bc(0xcc)])_0x4ceea6['Krvfg'](printDualExistsHint,_0x4af076);const _0x1a70ec=_0x4ceea6[_0x1b00bc(0xc1)](parseOverrideValue,_0x47427a);_0x4ceea6['tRhwm'](setProfileOverride,getProjectPath(),_0x4af076,_0x118ea5,_0x1a70ec),console[_0x1b00bc(0xba)]('Set\x20'+_0x118ea5+'\x20=\x20'+JSON['stringify'](_0x1a70ec)+_0x1b00bc(0xc4)+_0x4af076+'\x22');return;}const _0x1a7f9c=parseLocalValue(_0x118ea5,_0x47427a);setProfileOverride(getProjectPath(),_0x4af076,_0x118ea5,_0x1a7f9c),console[_0x1b00bc(0xba)]('Set\x20'+_0x118ea5+_0x1b00bc(0xd3)+_0x1a7f9c+_0x1b00bc(0xc4)+_0x4af076+'\x22');}export async function configGet(_0x41e48f,_0x10fb84){const _0x468c7b=_0x43a503,_0x4f2671={'eCutU':function(_0xec18c6,_0xd3f863){return _0xec18c6(_0xd3f863);},'YDiHq':function(_0x5e94d0,_0x15591b){return _0x5e94d0===_0x15591b;},'faIuX':function(_0x148577,_0x4576b5){return _0x148577===_0x4576b5;},'UFFmU':function(_0x581380,_0x5e6f30){return _0x581380(_0x5e6f30);},'EfdWd':function(_0x5c49bb,_0x35d572){return _0x5c49bb===_0x35d572;},'ZTIsk':'object'},_0x9ffdc0=await _0x4f2671['eCutU'](resolveProfileTarget,_0x41e48f);if(_0x9ffdc0['kind']==='cloud'){const _0x3af3d9=await loadEffectiveCloudSettings(_0x41e48f),_0x4ee1a0=getNestedValue(_0x3af3d9,_0x10fb84);if(_0x4f2671['YDiHq'](_0x4ee1a0,undefined))console[_0x468c7b(0xba)](_0x468c7b(0xbe));else _0x4f2671[_0x468c7b(0xc7)](typeof _0x4ee1a0,_0x468c7b(0xe8))?console['log'](JSON['stringify'](_0x4ee1a0,null,0x2)):console[_0x468c7b(0xba)](_0x4ee1a0);return;}const _0x549abb=await _0x4f2671['UFFmU'](loadSettings,_0x41e48f),_0x1e1a73=getNestedValue(_0x549abb,_0x10fb84);if(_0x4f2671[_0x468c7b(0xd2)](_0x1e1a73,undefined))console[_0x468c7b(0xba)]('(not\x20set)');else typeof _0x1e1a73===_0x4f2671['ZTIsk']?console['log'](JSON['stringify'](_0x1e1a73,null,0x2)):console[_0x468c7b(0xba)](_0x1e1a73);}function _0x34bc(_0x216936,_0x3159fd){_0x216936=_0x216936-0xb7;const _0x15af26=_0x15af();let _0x34bc0f=_0x15af26[_0x216936];return _0x34bc0f;}export async function configList(_0x646c44){const _0x51ff29=_0x43a503,_0x891f79={'mnspa':function(_0x2b8050,_0x594ad4){return _0x2b8050(_0x594ad4);},'AllWk':function(_0x3c56d7,_0x24f4e2){return _0x3c56d7===_0x24f4e2;},'JSCRi':_0x51ff29(0xcf)},_0x386adb=await _0x891f79['mnspa'](resolveProfileTarget,_0x646c44);if(_0x891f79[_0x51ff29(0xbd)](_0x386adb[_0x51ff29(0xd7)],_0x891f79[_0x51ff29(0xe6)])){const _0x1d1402=await loadEffectiveCloudSettings(_0x646c44);if(!_0x1d1402||_0x891f79['AllWk'](Object[_0x51ff29(0xca)](_0x1d1402)[_0x51ff29(0xc9)],0x0)){console['log'](_0x51ff29(0xc6)+_0x646c44+'\x22');return;}console[_0x51ff29(0xba)](JSON['stringify'](_0x1d1402,null,0x2));return;}const _0x10f732=getSettingsPath(_0x646c44);if(!existsSync(_0x10f732)){console[_0x51ff29(0xba)](_0x51ff29(0xc6)+_0x646c44+'\x22');return;}const _0x3285a5=await loadSettings(_0x646c44),_0x4c2293=_0x891f79['mnspa'](formatSettings,_0x3285a5);!_0x4c2293?console[_0x51ff29(0xba)](_0x51ff29(0xc6)+_0x646c44+'\x22'):console[_0x51ff29(0xba)](_0x4c2293);}export async function configUnset(_0x26203a,_0x6210d9){const _0x2b69ac=_0x43a503,_0x27d0f0={'eBxIh':function(_0x27c08f,_0x59bc9d){return _0x27c08f===_0x59bc9d;},'DfgWn':_0x2b69ac(0xcf),'yppCJ':function(_0x3e34dd,_0x59d936,_0x52e910,_0x264d36){return _0x3e34dd(_0x59d936,_0x52e910,_0x264d36);},'NpbMh':function(_0x3020c1){return _0x3020c1();}},_0x277753=await resolveProfileTarget(_0x26203a);if(_0x27d0f0['eBxIh'](_0x277753['kind'],_0x27d0f0['DfgWn'])){if(_0x277753[_0x2b69ac(0xcc)])printDualExistsHint(_0x26203a);const _0x3e1711=_0x27d0f0[_0x2b69ac(0xde)](unsetProfileOverride,_0x27d0f0[_0x2b69ac(0xd6)](getProjectPath),_0x26203a,_0x6210d9);_0x3e1711?console[_0x2b69ac(0xba)](_0x2b69ac(0xe9)+_0x6210d9+'\x20for\x20\x22'+_0x26203a+'\x22'):console['log']('Key\x20\x22'+_0x6210d9+'\x22\x20not\x20found');return;}const _0x286a63=unsetProfileOverride(getProjectPath(),_0x26203a,_0x6210d9);if(_0x286a63){console[_0x2b69ac(0xba)]('Removed\x20'+_0x6210d9);return;}const _0x2c887f=await loadSettings(_0x26203a),_0x491c14=deleteNestedValue(_0x2c887f,_0x6210d9);_0x491c14?console[_0x2b69ac(0xba)](_0x2b69ac(0xe3)+_0x6210d9+_0x2b69ac(0xda)+_0x26203a+'\x22\x20and\x20cannot\x20be\x20unset;\x20the\x20legacy\x20tree\x20is\x20read-only\x20under\x20cloud\x20profiles.'):console['log'](_0x2b69ac(0xe3)+_0x6210d9+_0x2b69ac(0xc3));}export async function configReset(_0x4f7fb6){const _0xa2ad1d=_0x43a503,_0x5db501={'vNsOM':function(_0x58f3f7,_0x3f76f6){return _0x58f3f7===_0x3f76f6;},'ixHPL':function(_0x28442d,_0x1a2624,_0x464854){return _0x28442d(_0x1a2624,_0x464854);},'pJHyL':function(_0xb078a8){return _0xb078a8();}},_0x131f3a=await resolveProfileTarget(_0x4f7fb6);if(_0x5db501[_0xa2ad1d(0xc8)](_0x131f3a[_0xa2ad1d(0xd7)],'cloud')){_0x5db501['ixHPL'](resetProfileOverrides,_0x5db501['pJHyL'](getProjectPath),_0x4f7fb6),console['log'](_0xa2ad1d(0xbb)+_0x4f7fb6+'\x22');return;}console[_0xa2ad1d(0xba)]('\x22'+_0x4f7fb6+'\x22\x20is\x20a\x20local\x20profile.\x20Use\x20\x22ranger\x20profile\x20config\x20unset\x20'+_0x4f7fb6+_0xa2ad1d(0xd1));}
@@ -1 +1 @@
1
- const _0xce35da=_0x5f4e;(function(_0x2e8384,_0x546aed){const _0x416d6d=_0x5f4e,_0x261a70=_0x2e8384();while(!![]){try{const _0x40d404=parseInt(_0x416d6d(0x13d))/0x1+-parseInt(_0x416d6d(0x14a))/0x2*(-parseInt(_0x416d6d(0x12e))/0x3)+-parseInt(_0x416d6d(0x139))/0x4+-parseInt(_0x416d6d(0x145))/0x5+parseInt(_0x416d6d(0x13e))/0x6*(-parseInt(_0x416d6d(0x148))/0x7)+-parseInt(_0x416d6d(0x132))/0x8*(parseInt(_0x416d6d(0x131))/0x9)+-parseInt(_0x416d6d(0x13c))/0xa*(-parseInt(_0x416d6d(0x137))/0xb);if(_0x40d404===_0x546aed)break;else _0x261a70['push'](_0x261a70['shift']());}catch(_0x2d2ae6){_0x261a70['push'](_0x261a70['shift']());}}}(_0x2def,0x974ff));import{readdir,stat}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';function _0x5f4e(_0x254e5c,_0x504d50){_0x254e5c=_0x254e5c-0x12e;const _0x2defbd=_0x2def();let _0x5f4e7a=_0x2defbd[_0x254e5c];return _0x5f4e7a;}import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';function _0x2def(){const _0x4f3baf=['\x20\x20\x20\x20\x20\x20Details:\x20','endsWith','length','.txt','sessionUpdatedAt','pYyuJ','2949890wEPToQ','XvQNs','push','707uqagDX','settings.json','2000378ZtZchv','\x0aNo\x20profiles\x20found.','name','sessions','3SZUqQz','local','xJQUQ','94455qAOlya','824plgkGZ','log','environmentDetails','fLxHT','isDirectory','176yPyypg','environmentKey','3330624axMAwF','lQGkw','includes','1280140wMTJYk','405554fcFJcY','19638OfxiSh'];_0x2def=function(){return _0x4f3baf;};return _0x2def();}import{listCloudProfiles}from'./utils/cloudProfile.js';const NON_ENV_DIRS=[_0xce35da(0x14d),'bug-bashes','reports','local','ci'];export async function getEnvNames(){const _0x456fab=_0xce35da,_0x3341a4={'cgaIa':function(_0x5c8ab6){return _0x5c8ab6();},'OexLb':function(_0x539dee,_0x1e1bee){return _0x539dee(_0x1e1bee);},'pYyuJ':function(_0x2e085b,_0x148cca,_0x237527){return _0x2e085b(_0x148cca,_0x237527);},'ZTDLi':function(_0x3987cc,_0x37f183){return _0x3987cc(_0x37f183);},'AbcXf':function(_0x15a260,_0x281c60){return _0x15a260(_0x281c60);},'yhCqM':function(_0x1826a5,_0x488644){return _0x1826a5(_0x488644);},'FMWUg':function(_0x147956,_0x5679f5,_0x44e758){return _0x147956(_0x5679f5,_0x44e758);},'Sngnx':function(_0xb5722a,_0x57a063,_0x2ad2ca){return _0xb5722a(_0x57a063,_0x2ad2ca);},'vwrFt':_0x456fab(0x149),'XvQNs':'legacy'},_0x3fb575=_0x3341a4['cgaIa'](getRangerDir);if(!_0x3341a4['OexLb'](existsSync,_0x3fb575))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x3872e0=await readActiveProfileName(),_0x27dfd0=[],_0x2fde06={},_0x1d0890=_0x3341a4[_0x456fab(0x144)](join,_0x3fb575,'local');if(_0x3341a4['ZTDLi'](existsSync,_0x1d0890)){const _0x164257=await _0x3341a4['AbcXf'](readdir,_0x1d0890);for(const _0x2ba4be of _0x164257){const _0xc70f3b=join(_0x1d0890,_0x2ba4be),_0x23430a=await stat(_0xc70f3b);_0x23430a[_0x456fab(0x136)]()&&(_0x27dfd0[_0x456fab(0x147)](_0x2ba4be),_0x2fde06[_0x2ba4be]=_0x456fab(0x12f));}}const _0x520c06=_0x3341a4[_0x456fab(0x144)](join,_0x3fb575,'ci');if(_0x3341a4['yhCqM'](existsSync,_0x520c06)){const _0x364d71=await readdir(_0x520c06);for(const _0x285bb4 of _0x364d71){const _0x2d58c3=_0x3341a4[_0x456fab(0x144)](join,_0x520c06,_0x285bb4),_0x434f73=await stat(_0x2d58c3);_0x434f73[_0x456fab(0x136)]()&&(_0x27dfd0['push'](_0x285bb4),_0x2fde06[_0x285bb4]='ci');}}const _0x2382aa=await _0x3341a4['yhCqM'](readdir,_0x3fb575);for(const _0x3fb6e7 of _0x2382aa){if(NON_ENV_DIRS['includes'](_0x3fb6e7))continue;if(_0x3fb6e7['startsWith']('.'))continue;if(_0x3fb6e7[_0x456fab(0x140)](_0x456fab(0x142)))continue;const _0x484a44=_0x3341a4['FMWUg'](join,_0x3fb575,_0x3fb6e7),_0x2b85d9=await stat(_0x484a44);_0x2b85d9['isDirectory']()&&_0x3341a4['OexLb'](existsSync,_0x3341a4['Sngnx'](join,_0x484a44,_0x3341a4['vwrFt']))&&(!_0x27dfd0[_0x456fab(0x13b)](_0x3fb6e7)&&(_0x27dfd0['push'](_0x3fb6e7),_0x2fde06[_0x3fb6e7]=_0x3341a4[_0x456fab(0x146)]));}return{'envNames':_0x27dfd0,'activeEnv':_0x3872e0,'envTypes':_0x2fde06};}export async function envList(){const _0x38ee89=_0xce35da,_0x795e62={'lQGkw':function(_0x5a0b6e){return _0x5a0b6e();},'xSzMh':'Run:\x20ranger\x20profile\x20add\x20<profile-name>','iejlI':function(_0x534152,_0x2c1d04){return _0x534152>_0x2c1d04;},'fLxHT':'\x0aLocal\x20Profiles:','VaSMS':function(_0x4368cf,_0x44c71a){return _0x4368cf===_0x44c71a;},'bPbjd':'legacy','ONDvF':'\x0aCloud\x20Profiles:','xJQUQ':'no\x20session'},{envNames:_0x2f23d5,activeEnv:_0x3a4f01,envTypes:_0x12398e}=await getEnvNames();let _0x4a41cb=[];try{_0x4a41cb=await _0x795e62[_0x38ee89(0x13a)](listCloudProfiles);}catch{}if(_0x2f23d5[_0x38ee89(0x141)]===0x0&&_0x4a41cb['length']===0x0){console['log'](_0x38ee89(0x14b)),console['log'](_0x795e62['xSzMh']);return;}const _0x5e3532=new Set(_0x4a41cb['map'](_0x1b55bb=>_0x1b55bb[_0x38ee89(0x14c)]));if(_0x795e62['iejlI'](_0x2f23d5[_0x38ee89(0x141)],0x0)){console['log'](_0x795e62[_0x38ee89(0x135)]);for(const _0x5cdeb5 of _0x2f23d5['sort']()){const _0x337a7f=_0x5cdeb5===_0x3a4f01&&!_0x5e3532['has'](_0x5cdeb5),_0x17c920=_0x12398e[_0x5cdeb5]||'local',_0x4a8d2b=await loadSettings(_0x5cdeb5),_0x2ede8c=_0x795e62['VaSMS'](_0x17c920,_0x795e62['bPbjd'])?'':'\x20['+_0x17c920+']';console['log']('\x20\x20'+(_0x337a7f?'*\x20':'\x20\x20')+_0x5cdeb5+_0x2ede8c),_0x4a8d2b['baseUrl']&&console[_0x38ee89(0x133)]('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x4a8d2b['baseUrl']),_0x4a8d2b[_0x38ee89(0x134)]&&console['log'](_0x38ee89(0x13f)+_0x4a8d2b[_0x38ee89(0x134)]);}}if(_0x4a41cb['length']>0x0){console[_0x38ee89(0x133)](_0x795e62['ONDvF']);for(const _0x532147 of _0x4a41cb['sort']((_0x5406f0,_0x3d757a)=>_0x5406f0['name']['localeCompare'](_0x3d757a['name']))){const _0x3a8353=_0x532147['name']===_0x3a4f01,_0x33e56a=_0x532147[_0x38ee89(0x138)]?'\x20('+_0x532147[_0x38ee89(0x138)]+')':'',_0x113372=_0x532147['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x532147[_0x38ee89(0x143)]+')':_0x795e62[_0x38ee89(0x130)];console[_0x38ee89(0x133)]('\x20\x20'+(_0x3a8353?'*\x20':'\x20\x20')+_0x532147['name']+'\x20[cloud]'+_0x33e56a),console[_0x38ee89(0x133)]('\x20\x20\x20\x20\x20\x20Session:\x20'+_0x113372);}}_0x3a4f01&&console[_0x38ee89(0x133)]('\x0a*\x20=\x20active\x20profile');}
1
+ const _0x47a0ca=_0x5366;(function(_0x5574d6,_0x424c14){const _0x57f4e6=_0x5366,_0x17994e=_0x5574d6();while(!![]){try{const _0x16d8c0=-parseInt(_0x57f4e6(0x15d))/0x1*(parseInt(_0x57f4e6(0x156))/0x2)+-parseInt(_0x57f4e6(0x16f))/0x3*(-parseInt(_0x57f4e6(0x168))/0x4)+-parseInt(_0x57f4e6(0x163))/0x5+parseInt(_0x57f4e6(0x158))/0x6+-parseInt(_0x57f4e6(0x157))/0x7*(parseInt(_0x57f4e6(0x161))/0x8)+parseInt(_0x57f4e6(0x162))/0x9+parseInt(_0x57f4e6(0x177))/0xa;if(_0x16d8c0===_0x424c14)break;else _0x17994e['push'](_0x17994e['shift']());}catch(_0x56447e){_0x17994e['push'](_0x17994e['shift']());}}}(_0x1b8f,0x2f6ef));import{readdir,stat}from'fs/promises';function _0x1b8f(){const _0x4ae781=['qrjno','environmentDetails','\x0aNo\x20profiles\x20found.','JUuvi','push','reports','2861150VREXhK','local','settings.json','sessionUpdatedAt','isDirectory','includes','\x0a*\x20=\x20active\x20profile','318cLGjRl','7ytYoHU','1752978Bnqahb','otBxB','length','log','eMgwl','1945guqeZV','localeCompare','bug-bashes','name','1691608gTpiZq','2647035KcuKRX','1882870mOBfrg','nkiGO','sort','gywhP','baseUrl','438348IJzrKr','PNtMI','TMMGZ','Run:\x20ranger\x20profile\x20add\x20<profile-name>','environmentKey','has','legacy','6NWUpla','startsWith'];_0x1b8f=function(){return _0x4ae781;};return _0x1b8f();}import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{loadSettings}from'./utils/settings.js';import{readActiveProfileName}from'./utils/activeProfile.js';import{listCloudProfiles}from'./utils/cloudProfile.js';const NON_ENV_DIRS=['sessions',_0x47a0ca(0x15f),_0x47a0ca(0x176),'local','ci'];export async function getEnvNames(){const _0x586c51=_0x47a0ca,_0x1c291f={'nkiGO':function(_0x326151,_0x2b8a78){return _0x326151(_0x2b8a78);},'BTjtv':_0x586c51(0x178),'eMgwl':function(_0x519d2b,_0x1d949f,_0x56a69e){return _0x519d2b(_0x1d949f,_0x56a69e);},'TMMGZ':function(_0x25ecee,_0x2c7d08){return _0x25ecee(_0x2c7d08);},'gywhP':function(_0x5f660b,_0x1999ef){return _0x5f660b(_0x1999ef);},'XHsjb':_0x586c51(0x16e)},_0x1bcc8d=getRangerDir();if(!_0x1c291f[_0x586c51(0x164)](existsSync,_0x1bcc8d))return{'envNames':[],'activeEnv':null,'envTypes':{}};const _0x35351a=await readActiveProfileName(),_0x27bfe0=[],_0x427936={},_0x453d41=join(_0x1bcc8d,_0x1c291f['BTjtv']);if(existsSync(_0x453d41)){const _0x1296f1=await _0x1c291f[_0x586c51(0x164)](readdir,_0x453d41);for(const _0x40d4d5 of _0x1296f1){const _0x23f720=join(_0x453d41,_0x40d4d5),_0x15d718=await _0x1c291f['nkiGO'](stat,_0x23f720);_0x15d718[_0x586c51(0x17b)]()&&(_0x27bfe0[_0x586c51(0x175)](_0x40d4d5),_0x427936[_0x40d4d5]=_0x586c51(0x178));}}const _0x267968=_0x1c291f[_0x586c51(0x15c)](join,_0x1bcc8d,'ci');if(_0x1c291f['nkiGO'](existsSync,_0x267968)){const _0x3ab36b=await _0x1c291f[_0x586c51(0x16a)](readdir,_0x267968);for(const _0x4cfe3b of _0x3ab36b){const _0x5c7bed=join(_0x267968,_0x4cfe3b),_0x250d6b=await _0x1c291f[_0x586c51(0x166)](stat,_0x5c7bed);_0x250d6b['isDirectory']()&&(_0x27bfe0[_0x586c51(0x175)](_0x4cfe3b),_0x427936[_0x4cfe3b]='ci');}}const _0x3d9e1d=await readdir(_0x1bcc8d);for(const _0x46fb91 of _0x3d9e1d){if(NON_ENV_DIRS[_0x586c51(0x17c)](_0x46fb91))continue;if(_0x46fb91[_0x586c51(0x170)]('.'))continue;if(_0x46fb91['endsWith']('.txt'))continue;const _0x771332=join(_0x1bcc8d,_0x46fb91),_0x4ac258=await stat(_0x771332);_0x4ac258['isDirectory']()&&_0x1c291f[_0x586c51(0x16a)](existsSync,join(_0x771332,_0x586c51(0x179)))&&(!_0x27bfe0[_0x586c51(0x17c)](_0x46fb91)&&(_0x27bfe0[_0x586c51(0x175)](_0x46fb91),_0x427936[_0x46fb91]=_0x1c291f['XHsjb']));}return{'envNames':_0x27bfe0,'activeEnv':_0x35351a,'envTypes':_0x427936};}function _0x5366(_0x5202ec,_0xef2856){_0x5202ec=_0x5202ec-0x155;const _0x1b8f3c=_0x1b8f();let _0x5366e6=_0x1b8f3c[_0x5202ec];return _0x5366e6;}export async function envList(){const _0x22f268=_0x47a0ca,_0x4aa719={'cbHTF':function(_0x4eb091){return _0x4eb091();},'JreOa':function(_0x46521c,_0x1104b2){return _0x46521c===_0x1104b2;},'jmmFj':_0x22f268(0x173),'JUuvi':_0x22f268(0x16b),'otBxB':function(_0x2ce85b,_0x244502){return _0x2ce85b===_0x244502;},'fxsql':'legacy','PNtMI':function(_0x38ba63,_0x368fed){return _0x38ba63>_0x368fed;},'qrjno':'no\x20session'},{envNames:_0x403a40,activeEnv:_0x2f54d3,envTypes:_0x1f54d4}=await _0x4aa719['cbHTF'](getEnvNames);let _0x5ba032=[];try{_0x5ba032=await _0x4aa719['cbHTF'](listCloudProfiles);}catch{}if(_0x4aa719['JreOa'](_0x403a40['length'],0x0)&&_0x5ba032['length']===0x0){console[_0x22f268(0x15b)](_0x4aa719['jmmFj']),console[_0x22f268(0x15b)](_0x4aa719[_0x22f268(0x174)]);return;}const _0x35f4ed=new Set(_0x5ba032['map'](_0x427f5d=>_0x427f5d[_0x22f268(0x160)]));if(_0x403a40['length']>0x0){console['log']('\x0aLocal\x20Profiles:');for(const _0x5e46bb of _0x403a40[_0x22f268(0x165)]()){const _0x29d0a1=_0x4aa719[_0x22f268(0x159)](_0x5e46bb,_0x2f54d3)&&!_0x35f4ed[_0x22f268(0x16d)](_0x5e46bb),_0x5cc8a5=_0x1f54d4[_0x5e46bb]||'local',_0x19a280=await loadSettings(_0x5e46bb),_0x499293=_0x5cc8a5===_0x4aa719['fxsql']?'':'\x20['+_0x5cc8a5+']';console['log']('\x20\x20'+(_0x29d0a1?'*\x20':'\x20\x20')+_0x5e46bb+_0x499293),_0x19a280[_0x22f268(0x167)]&&console['log']('\x20\x20\x20\x20\x20\x20URL:\x20'+_0x19a280['baseUrl']),_0x19a280[_0x22f268(0x172)]&&console['log']('\x20\x20\x20\x20\x20\x20Details:\x20'+_0x19a280[_0x22f268(0x172)]);}}if(_0x4aa719[_0x22f268(0x169)](_0x5ba032[_0x22f268(0x15a)],0x0)){console[_0x22f268(0x15b)]('\x0aCloud\x20Profiles:');for(const _0x289c3e of _0x5ba032['sort']((_0x1dee00,_0x49a4f4)=>_0x1dee00[_0x22f268(0x160)][_0x22f268(0x15e)](_0x49a4f4[_0x22f268(0x160)]))){const _0x322ee0=_0x289c3e['name']===_0x2f54d3,_0x145c3e=_0x289c3e['environmentKey']?'\x20('+_0x289c3e[_0x22f268(0x16c)]+')':'',_0x289191=_0x289c3e['sessionUpdatedAt']?'cached\x20(updated\x20'+_0x289c3e[_0x22f268(0x17a)]+')':_0x4aa719[_0x22f268(0x171)];console['log']('\x20\x20'+(_0x322ee0?'*\x20':'\x20\x20')+_0x289c3e['name']+'\x20[cloud]'+_0x145c3e),console['log']('\x20\x20\x20\x20\x20\x20Session:\x20'+_0x289191);}}_0x2f54d3&&console['log'](_0x22f268(0x155));}
@@ -1 +1 @@
1
- const _0x37e29=_0x5969;(function(_0x27572e,_0x1043f5){const _0x1b4b7d=_0x5969,_0x5a7efd=_0x27572e();while(!![]){try{const _0x50da31=-parseInt(_0x1b4b7d(0x289))/0x1+-parseInt(_0x1b4b7d(0x273))/0x2*(-parseInt(_0x1b4b7d(0x230))/0x3)+-parseInt(_0x1b4b7d(0x1f4))/0x4*(parseInt(_0x1b4b7d(0x1bb))/0x5)+parseInt(_0x1b4b7d(0x263))/0x6+-parseInt(_0x1b4b7d(0x22c))/0x7+parseInt(_0x1b4b7d(0x1d7))/0x8*(-parseInt(_0x1b4b7d(0x24a))/0x9)+parseInt(_0x1b4b7d(0x256))/0xa;if(_0x50da31===_0x1043f5)break;else _0x5a7efd['push'](_0x5a7efd['shift']());}catch(_0x5be046){_0x5a7efd['push'](_0x5a7efd['shift']());}}}(_0x190e,0x9eec6));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x49f4f1 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';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x59cb86=>_0x37e29(0x225)+_0x59cb86+_0x37e29(0x26f);function getGitRepoUrl(){const _0x57e1b2=_0x37e29,_0x2c1d68={'UEIcl':function(_0x146006,_0x23cefb,_0x23d693){return _0x146006(_0x23cefb,_0x23d693);},'RoirS':'utf-8','girRl':_0x57e1b2(0x1b9)};try{const _0x552adb=_0x2c1d68[_0x57e1b2(0x218)](execSync,'git\x20remote\x20get-url\x20origin',{'encoding':_0x2c1d68[_0x57e1b2(0x1da)],'stdio':[_0x2c1d68['girRl'],_0x2c1d68['girRl'],_0x57e1b2(0x1b9)]})[_0x57e1b2(0x22f)]();return _0x552adb[_0x57e1b2(0x207)](/\.git$/,'')['replace'](/^git@github\.com:/,_0x57e1b2(0x1d6))[_0x57e1b2(0x207)](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0xd359b3=_0x37e29;try{return execSync(_0xd359b3(0x1b7),{'encoding':'utf-8','stdio':[_0xd359b3(0x1b9),_0xd359b3(0x1b9),_0xd359b3(0x1b9)]})[_0xd359b3(0x22f)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x157bc5=_0x37e29,_0x144eb0={'hgABC':function(_0x3c5d5d,_0x3103d4,_0x225135){return _0x3c5d5d(_0x3103d4,_0x225135);},'TZPEn':function(_0x2cdfe1){return _0x2cdfe1();},'VmDoZ':function(_0x32ada8,_0x30b649){return _0x32ada8(_0x30b649);},'gZenN':'utf-8'},_0x19377f=_0x144eb0['hgABC'](join,_0x144eb0['TZPEn'](getRangerDir),ACTIVE_FEATURE_FILE);if(!_0x144eb0[_0x157bc5(0x221)](existsSync,_0x19377f))return null;try{const _0x4df002=await _0x144eb0['hgABC'](readFile,_0x19377f,_0x144eb0[_0x157bc5(0x237)]);return _0x4df002[_0x157bc5(0x22f)]()||null;}catch{return null;}}async function setActiveFeatureId(_0x22ae6a){const _0x2f21c1=_0x37e29,_0x140f1c={'NJJvq':function(_0x3eb60c,_0x4ffe81,_0x547f6e){return _0x3eb60c(_0x4ffe81,_0x547f6e);},'ZnbhP':function(_0x13f9fe,_0x18f95d,_0x4aafc5,_0xa128e9){return _0x13f9fe(_0x18f95d,_0x4aafc5,_0xa128e9);},'GgeWV':_0x2f21c1(0x24b)},_0x4e92a7=getRangerDir(),_0x1212da=join(_0x4e92a7,ACTIVE_FEATURE_FILE);!existsSync(_0x4e92a7)&&await _0x140f1c[_0x2f21c1(0x1f8)](mkdir,_0x4e92a7,{'recursive':!![]}),await _0x140f1c[_0x2f21c1(0x267)](writeFile,_0x1212da,_0x22ae6a,_0x140f1c['GgeWV']);}function getProgressDisplay(_0x224fac){const _0x6bb61b=_0x37e29,_0x585314={'rDUof':function(_0x409261,_0x2f13ce){return _0x409261+_0x2f13ce;},'kHJsH':function(_0x5e6e81,_0x32aa3d){return _0x5e6e81*_0x32aa3d;},'Hcbzl':function(_0x263e90,_0x432e06){return _0x263e90-_0x432e06;},'jVdjx':function(_0x51366e,_0x358963){return _0x51366e>_0x358963;},'ixUJi':function(_0x317be0,_0x1c6b3c){return _0x317be0>_0x1c6b3c;}},_0x4a580e=_0x224fac[_0x6bb61b(0x1bc)]||0x0,_0x3aef7b=_0x224fac['verificationInProgressItems']||0x0,_0x115f85=_0x224fac[_0x6bb61b(0x26b)]||0x0,_0x4172a3=_0x224fac[_0x6bb61b(0x1eb)]||0x0,_0x5bd0ca=_0x224fac[_0x6bb61b(0x20b)]||0x0,_0x2a7a81=_0x585314[_0x6bb61b(0x1ad)](_0x4a580e+_0x3aef7b+_0x115f85,_0x4172a3)+_0x5bd0ca;if(_0x2a7a81===0x0)return'-';const _0x941119=0xa,_0xf04156=Math['round'](_0x585314[_0x6bb61b(0x25a)](_0x4a580e/_0x2a7a81,_0x941119)),_0x1015f2='█'['repeat'](_0xf04156)+'░'['repeat'](_0x585314['Hcbzl'](_0x941119,_0xf04156)),_0x2fd967=[];if(_0x585314[_0x6bb61b(0x279)](_0x115f85,0x0))_0x2fd967[_0x6bb61b(0x1b8)](_0x115f85+'\x20blocked');if(_0x585314[_0x6bb61b(0x279)](_0x4172a3,0x0))_0x2fd967[_0x6bb61b(0x1b8)](_0x4172a3+_0x6bb61b(0x272));if(_0x585314[_0x6bb61b(0x222)](_0x3aef7b,0x0))_0x2fd967[_0x6bb61b(0x1b8)](_0x3aef7b+'\x20in\x20progress');const _0x13a82a=_0x2fd967[_0x6bb61b(0x1e8)]>0x0?'\x20('+_0x2fd967[_0x6bb61b(0x21d)](',\x20')+')':'';return _0x1015f2+'\x20'+_0x4a580e+'/'+_0x2a7a81+'\x20verified'+_0x13a82a;}function getCurrentSessionItems(_0x1d7a20,_0x44e4a7){const _0x6a6dce=_0x37e29;if(!_0x1d7a20[_0x6a6dce(0x204)])return _0x44e4a7[_0x6a6dce(0x223)](_0x303d5b=>!_0x303d5b[_0x6a6dce(0x235)]);return _0x44e4a7[_0x6a6dce(0x223)](_0x579413=>_0x579413['sessionId']===_0x1d7a20['currentSessionId']||!_0x579413['sessionId']);}function displayFeature(_0x26094f,_0x179c8c){const _0x5850d7=_0x37e29,_0x1de81f={'HincJ':function(_0x43e1ce,_0x49c4b7){return _0x43e1ce(_0x49c4b7);},'RumZi':_0x5850d7(0x233),'MVGEe':function(_0x73ff7c,_0x5d32ae){return _0x73ff7c<_0x5d32ae;},'dFGSj':'closed','XupHI':function(_0x15ace3,_0x4afcca){return _0x15ace3===_0x4afcca;},'WEAyP':'blocked','StTuC':function(_0x354d33,_0x2a340f){return _0x354d33===_0x2a340f;},'noSTo':'verification_in_progress','NOccF':function(_0x391315,_0x37940b){return _0x391315>_0x37940b;},'znEwm':function(_0xd05251,_0x3a0208){return _0xd05251!==_0x3a0208;},'HPqgg':'\x20[has\x20reviewer\x20feedback]','UstmB':function(_0x3cbf3f,_0x36935e){return _0x3cbf3f+_0x36935e;},'JoGFr':_0x5850d7(0x211),'PAxSr':function(_0x5dab4b,_0x3212bd){return _0x5dab4b===_0x3212bd;},'GdGcY':function(_0x4cce2a,_0x1ea266){return _0x4cce2a===_0x1ea266;}};console[_0x5850d7(0x276)]('\x0a'+_0x26094f['name']+'\x20('+_0x26094f[_0x5850d7(0x268)]+')');_0x26094f[_0x5850d7(0x26e)]&&console[_0x5850d7(0x276)](_0x5850d7(0x23c)+_0x1de81f['HincJ'](getProgressDisplay,_0x26094f[_0x5850d7(0x26e)]));_0x26094f['description']&&console['log']('\x20\x20\x20Description:\x20'+_0x26094f['description']);_0x26094f[_0x5850d7(0x27a)]&&console['log'](_0x5850d7(0x1ab)+_0x26094f[_0x5850d7(0x27a)]);_0x26094f[_0x5850d7(0x208)]&&console[_0x5850d7(0x276)](_0x5850d7(0x1c2)+_0x26094f['gitBranch']);console['log'](_0x5850d7(0x1ca)+new Date(_0x26094f['createdAt'])[_0x5850d7(0x1ac)]());_0x26094f[_0x5850d7(0x22b)]&&console[_0x5850d7(0x276)]('\x20\x20\x20Completed:\x20'+new Date(_0x26094f[_0x5850d7(0x22b)])[_0x5850d7(0x1ac)]());if(_0x179c8c&&_0x179c8c['length']>0x0){console[_0x5850d7(0x276)](_0x1de81f[_0x5850d7(0x249)]);for(let _0x476e3c=0x0;_0x1de81f['MVGEe'](_0x476e3c,_0x179c8c['length']);_0x476e3c++){const _0x5889fc=_0x179c8c[_0x476e3c];let _0x277c9c;if(_0x5889fc[_0x5850d7(0x1c4)]===_0x1de81f['dFGSj']&&_0x5889fc[_0x5850d7(0x1ff)]===_0x5850d7(0x202))_0x277c9c='✅';else{if(_0x5889fc['status']==='verified')_0x277c9c='🟢';else{if(_0x5889fc['status']==='incomplete')_0x277c9c='🟠';else{if(_0x1de81f[_0x5850d7(0x20e)](_0x5889fc['status'],_0x1de81f['WEAyP']))_0x277c9c='🛑';else{if(_0x5889fc[_0x5850d7(0x1c4)]===_0x5850d7(0x283))_0x277c9c='⛔';else _0x1de81f[_0x5850d7(0x1b1)](_0x5889fc[_0x5850d7(0x1c4)],_0x1de81f['noSTo'])?_0x277c9c='⏳':_0x277c9c='⬜';}}}}const _0x250810=_0x5889fc[_0x5850d7(0x1fd)]>0x1?_0x5850d7(0x1ce)+_0x5889fc['version']+')':'',_0x3e547d=_0x1de81f['NOccF'](_0x5889fc['version'],0x1)&&_0x5889fc['parentItemId']&&_0x5889fc['status']!==_0x1de81f['dFGSj']&&_0x1de81f[_0x5850d7(0x1e1)](_0x5889fc[_0x5850d7(0x1c4)],_0x5850d7(0x1be))?_0x1de81f[_0x5850d7(0x1cb)]:'';console['log']('\x20\x20\x20'+_0x1de81f[_0x5850d7(0x229)](_0x476e3c,0x1)+'.\x20'+_0x277c9c+'\x20'+_0x5889fc['description']+_0x250810+_0x3e547d);_0x5889fc[_0x5850d7(0x1c4)]===_0x1de81f[_0x5850d7(0x1a5)]&&_0x5889fc[_0x5850d7(0x1f7)]&&console[_0x5850d7(0x276)](_0x5850d7(0x1bf)+_0x5889fc[_0x5850d7(0x1f7)]);_0x5889fc[_0x5850d7(0x1c4)]===_0x1de81f[_0x5850d7(0x1c1)]&&_0x5889fc[_0x5850d7(0x19f)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x5889fc['incompleteReason']);if(_0x1de81f[_0x5850d7(0x260)](_0x5889fc[_0x5850d7(0x1c4)],_0x5850d7(0x283))&&_0x5889fc['terminalReason']==='approved')console[_0x5850d7(0x276)](_0x5850d7(0x21a));else _0x1de81f['GdGcY'](_0x5889fc['status'],'closed')&&_0x5889fc[_0x5850d7(0x257)]&&console[_0x5850d7(0x276)](_0x5850d7(0x1c8)+_0x5889fc[_0x5850d7(0x257)]);}}}export async function featureCreate(_0xd349c3,_0x2bb9a9){const _0x570af0=_0x37e29,_0x29017c={'LmSSV':function(_0x5e6e5f){return _0x5e6e5f();},'eqSuD':function(_0x332434,_0x10c6d9){return _0x332434===_0x10c6d9;},'RhBCK':function(_0x1af965){return _0x1af965();},'FdsHT':function(_0x448fdd,_0x2d7a5b){return _0x448fdd(_0x2d7a5b);},'jmZnN':function(_0x45cd90,_0x3a8a99,_0x594462){return _0x45cd90(_0x3a8a99,_0x594462);},'KXeUX':function(_0x3dec64,_0xd0a8ac,_0x270470){return _0x3dec64(_0xd0a8ac,_0x270470);}},{envNames:_0x22599a}=await _0x29017c['LmSSV'](getEnvNames);if(_0x22599a['length']===0x0&&!process[_0x570af0(0x241)][_0x570af0(0x1c0)]){let _0x1c5e5f=0x0;try{_0x1c5e5f=(await listCloudProfiles())[_0x570af0(0x1e8)];}catch{_0x1c5e5f=0x1;}_0x29017c[_0x570af0(0x201)](_0x1c5e5f,0x0)&&console[_0x570af0(0x1b6)]('\x0a'+formatProfileRequiredMessage(_0x49dd9e=>bold(_0x49dd9e)));}const _0x39b2ca=_0x2bb9a9[_0x570af0(0x232)]?_0x2bb9a9['scenarios']['map'](_0x2055b2=>_0x2055b2['trim']()):[],_0x53a6bb=getGitRepoUrl(),_0x3df7ac=_0x29017c['RhBCK'](getGitBranch);console[_0x570af0(0x276)]('\x0aCreating\x20feature\x20review...');const _0x39515e=await _0x29017c['FdsHT'](createFeature,{'name':_0xd349c3,'description':_0x2bb9a9[_0x570af0(0x1a6)],'checklist':_0x39b2ca,'gitRepoUrl':_0x53a6bb,'gitBranch':_0x3df7ac});await setActiveFeatureId(_0x39515e['id']),await tryStartCurrentSession(_0x39515e['id']);const _0xdf1638=process[_0x570af0(0x241)]['CLAUDE_SESSION_ID'];_0xdf1638&&_0x29017c['jmZnN'](registerSession,_0xdf1638,_0x39515e['id']),console['log']('\x0a✅\x20Feature\x20review\x20created:\x20'+_0x39515e['id']),_0x29017c['KXeUX'](displayFeature,_0x39515e,_0x39515e[_0x570af0(0x1e9)]),console['log']('\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review');}export async function featureList(_0x4e6e1a){const _0xc37c2=_0x37e29,_0x5880fc={'fzpis':function(_0x3440b4,_0x31e74c){return _0x3440b4>_0x31e74c;},'OVHAL':function(_0x1b2168,_0x327e88){return _0x1b2168(_0x327e88);},'OlsFl':function(_0x2535b4,_0x5f140b){return _0x2535b4+_0x5f140b;}},_0x2a140b={'limit':_0x4e6e1a['limit']??0xa,'offset':_0x4e6e1a[_0xc37c2(0x1bd)]??0x0,'includeDeleted':_0x4e6e1a[_0xc37c2(0x27f)]};_0x4e6e1a['currentBranch']&&(_0x2a140b['gitRepoUrl']=getGitRepoUrl(),_0x2a140b[_0xc37c2(0x208)]=getGitBranch());const _0x5292f2=await listFeatures(_0x2a140b);if(_0x5292f2[_0xc37c2(0x26c)]['length']===0x0){console[_0xc37c2(0x276)]('\x0aNo\x20feature\x20reviews\x20found.');return;}const _0xa06899=_0x5880fc[_0xc37c2(0x1b4)](_0x5292f2['totalCount'],_0x5292f2[_0xc37c2(0x26c)][_0xc37c2(0x1e8)])?'Showing\x20'+_0x5292f2[_0xc37c2(0x26c)][_0xc37c2(0x1e8)]+_0xc37c2(0x1a0)+_0x5292f2['totalCount']:_0x5292f2[_0xc37c2(0x1c7)]+'\x20feature\x20review(s)\x20found';console['log']('\x0a'+_0xa06899+':\x0a');for(const _0x5088cb of _0x5292f2[_0xc37c2(0x26c)]){console['log'](''+_0x5088cb[_0xc37c2(0x21c)]),console['log'](_0xc37c2(0x1ed)+_0x5088cb['id']),_0x5088cb[_0xc37c2(0x26e)]&&console['log']('\x20\x20\x20Progress:\x20'+_0x5880fc[_0xc37c2(0x27e)](getProgressDisplay,_0x5088cb['stats'])),_0x5088cb['gitBranch']&&console['log'](_0xc37c2(0x1c2)+_0x5088cb['gitBranch']),console['log'](_0xc37c2(0x1ca)+new Date(_0x5088cb['createdAt'])[_0xc37c2(0x1f3)]()),console[_0xc37c2(0x276)]('');}const _0x3f6bca=_0x2a140b[_0xc37c2(0x1e0)]??0xa,_0x157051=_0x5880fc[_0xc37c2(0x1cc)](_0x2a140b[_0xc37c2(0x1bd)]??0x0,_0x5292f2['items'][_0xc37c2(0x1e8)]);if(_0x157051<_0x5292f2['totalCount']){const _0x10a0a3=_0x3f6bca!==0xa?_0xc37c2(0x25b)+_0x3f6bca:'',_0x4a653f=_0x4e6e1a['currentBranch']?'\x20--current-branch':'',_0x33460e=_0x4e6e1a[_0xc37c2(0x27f)]?'\x20--include-deleted':'';console['log'](_0xc37c2(0x1aa)+_0x157051+_0x10a0a3+_0x4a653f+_0x33460e);}}export async function featureShow(_0x36707d){const _0xb49224=_0x37e29,_0x321f0e={'DZGjn':function(_0x1c4bc6){return _0x1c4bc6();},'XXrpK':function(_0x5dd709,_0x5cd015){return _0x5dd709(_0x5cd015);},'aPrJg':function(_0x20cb50,_0x3debe,_0x405f48){return _0x20cb50(_0x3debe,_0x405f48);}},_0x102f5e=_0x36707d||await _0x321f0e['DZGjn'](getActiveFeatureId);if(!_0x102f5e)throw new Error(_0xb49224(0x219));const _0x850a1d=await _0x321f0e['XXrpK'](getFeature,_0x102f5e);_0x321f0e['aPrJg'](displayFeature,_0x850a1d,_0x850a1d[_0xb49224(0x1e9)]);}export async function featureResume(_0x2b249a){const _0x4a4c31=_0x37e29,_0x335669={'VfmNN':function(_0x5987f7,_0x57010d,_0x919ee9){return _0x5987f7(_0x57010d,_0x919ee9);},'JRVyL':function(_0x1e88e8,_0x3ec27a,_0x2834c3){return _0x1e88e8(_0x3ec27a,_0x2834c3);},'hAwRW':function(_0x180365,_0xdcd2f5){return _0x180365(_0xdcd2f5);},'hLbiG':function(_0x2c054d){return _0x2c054d();},'Fzcvo':function(_0x1fde4b){return _0x1fde4b();},'JrVnO':function(_0x2992e5,_0x348e35){return _0x2992e5&&_0x348e35;},'UoOAU':_0x4a4c31(0x1a8),'QuhUk':'any','Wyugz':function(_0x2d365a,_0x3c11b6){return _0x2d365a||_0x3c11b6;},'HUVGz':function(_0x1fb5e1,_0xdf80c0){return _0x1fb5e1===_0xdf80c0;},'sqveX':_0x4a4c31(0x214),'AAtSJ':'Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','faKCw':function(_0x20e880,_0x28a5d5){return _0x20e880===_0x28a5d5;},'nNZKU':'Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>','kPels':_0x4a4c31(0x21b),'BWPwz':'Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','PhGCM':function(_0x473fa0,_0x1df80d){return _0x473fa0(_0x1df80d);},'ibdaY':function(_0x219568,_0x4dc3ee){return _0x219568(_0x4dc3ee);},'xFGsL':function(_0x1a8113,_0xbbeacd,_0x43479d){return _0x1a8113(_0xbbeacd,_0x43479d);}};if(_0x2b249a){const _0x3fb538=await getFeature(_0x2b249a);await setActiveFeatureId(_0x3fb538['id']);const _0x5be456=getGitBranch();_0x5be456&&_0x5be456!==_0x3fb538[_0x4a4c31(0x208)]&&(await _0x335669['VfmNN'](updateFeature,_0x3fb538['id'],{'gitBranch':_0x5be456}),console[_0x4a4c31(0x276)]('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x5be456));console[_0x4a4c31(0x276)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x3fb538['name']+'\x20('+_0x3fb538['id']+')'),await tryStartCurrentSession(_0x3fb538['id']);const _0x3e5ea5=process['env'][_0x4a4c31(0x254)];_0x3e5ea5&&_0x335669[_0x4a4c31(0x278)](registerSession,_0x3e5ea5,_0x3fb538['id']);displayFeature(_0x3fb538,_0x3fb538[_0x4a4c31(0x1e9)]),await _0x335669[_0x4a4c31(0x1e4)](printFeedbackNudge,_0x3fb538['id']);return;}const _0x4bbb15=_0x335669['hLbiG'](getGitRepoUrl),_0x5e2716=_0x335669['Fzcvo'](getGitBranch);if(_0x335669[_0x4a4c31(0x1d3)](!_0x4bbb15,!_0x5e2716))throw new Error(_0x335669[_0x4a4c31(0x1d8)]);console['log'](_0x4a4c31(0x285)+(_0x4bbb15||_0x335669[_0x4a4c31(0x1cf)])+'\x20/\x20'+_0x335669[_0x4a4c31(0x1e7)](_0x5e2716,_0x335669[_0x4a4c31(0x1cf)])+'...');const _0x3dc840=await listFeatures({'gitRepoUrl':_0x4bbb15,'gitBranch':_0x5e2716}),_0x38292f=_0x3dc840['items'][_0x4a4c31(0x223)](_0x512a3b=>_0x512a3b['status']?_0x512a3b[_0x4a4c31(0x1c4)]!=='verified':!_0x512a3b[_0x4a4c31(0x22b)]);if(_0x335669['HUVGz'](_0x38292f['length'],0x0)){console['log'](_0x335669[_0x4a4c31(0x25c)]),console['log'](_0x335669['AAtSJ']);return;}let _0x25d912;if(_0x335669[_0x4a4c31(0x227)](_0x38292f['length'],0x1))_0x25d912=_0x38292f[0x0];else{const _0x35076d=process['stdin']['isTTY']&&process['stdout'][_0x4a4c31(0x1e5)];if(!_0x35076d){console[_0x4a4c31(0x276)](_0x4a4c31(0x213));for(const _0x4e2c0d of _0x38292f){console[_0x4a4c31(0x276)]('\x20\x20'+_0x4e2c0d['name']),console['log'](_0x4a4c31(0x215)+_0x4e2c0d['id']),_0x4e2c0d['stats']&&console['log']('\x20\x20\x20\x20\x20Progress:\x20'+getProgressDisplay(_0x4e2c0d['stats'])),_0x4e2c0d[_0x4a4c31(0x208)]&&console['log']('\x20\x20\x20\x20\x20Branch:\x20'+_0x4e2c0d[_0x4a4c31(0x208)]);}throw new Error(_0x335669['nNZKU']);}const {selected:_0x503a43}=await _0x49f4f1[_0x4a4c31(0x1dd)]([{'type':'list','name':_0x335669[_0x4a4c31(0x22a)],'message':_0x335669[_0x4a4c31(0x28a)],'choices':_0x38292f['map'](_0xe27e4c=>({'name':_0xe27e4c[_0x4a4c31(0x21c)]+'\x20('+_0xe27e4c['id']+')','value':_0xe27e4c['id']}))}]);_0x25d912=_0x38292f[_0x4a4c31(0x252)](_0x1029af=>_0x1029af['id']===_0x503a43);}await _0x335669['PhGCM'](setActiveFeatureId,_0x25d912['id']);_0x5e2716&&_0x5e2716!==_0x25d912['gitBranch']&&(await updateFeature(_0x25d912['id'],{'gitBranch':_0x5e2716}),console[_0x4a4c31(0x276)](_0x4a4c31(0x1df)+_0x5e2716));console[_0x4a4c31(0x276)]('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x25d912[_0x4a4c31(0x21c)]+'\x20('+_0x25d912['id']+')'),await _0x335669[_0x4a4c31(0x234)](tryStartCurrentSession,_0x25d912['id']);const _0x4077d1=await _0x335669['hAwRW'](getFeature,_0x25d912['id']),_0x9e7d19=process[_0x4a4c31(0x241)][_0x4a4c31(0x254)];_0x9e7d19&&_0x335669[_0x4a4c31(0x1a9)](registerSession,_0x9e7d19,_0x4077d1['id']),_0x335669[_0x4a4c31(0x278)](displayFeature,_0x4077d1,_0x4077d1['checklistItems']),await _0x335669[_0x4a4c31(0x23a)](printFeedbackNudge,_0x4077d1['id']);}async function printFeedbackNudge(_0xda7a8c){const _0x3cac63=_0x37e29,_0x3676b0={'xbVMJ':function(_0x6a93ca,_0x1944ed,_0x7c105b){return _0x6a93ca(_0x1944ed,_0x7c105b);},'TvDGS':_0x3cac63(0x25f)};try{const {items:_0x5259a1}=await getActionItems(_0xda7a8c);let _0x17cf54=0x0,_0x47f6ff=0x0;for(const _0x8d4de9 of _0x5259a1){const _0x25057=await _0x3676b0['xbVMJ'](getItemFeedback,_0xda7a8c,_0x8d4de9['id']);_0x25057[_0x3cac63(0x1fa)]['length']>0x0&&(_0x17cf54+=_0x25057['unaddressedComments'][_0x3cac63(0x1e8)],_0x47f6ff++);}_0x17cf54>0x0&&(console[_0x3cac63(0x276)](_0x3cac63(0x258)+_0x17cf54+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x47f6ff+'\x20scenario(s).'),console[_0x3cac63(0x276)](_0x3676b0['TvDGS']));}catch{}}function _0x5969(_0x1feb81,_0x26d8c8){_0x1feb81=_0x1feb81-0x19f;const _0x190e5c=_0x190e();let _0x5969f0=_0x190e5c[_0x1feb81];return _0x5969f0;}async function tryStartCurrentSession(_0x55de2e){const _0x18415e=_0x37e29;try{const {sessions:_0x38db5f}=await listFeatureSessions(_0x55de2e),_0x307acf=_0x38db5f['find'](_0xbaf9be=>_0xbaf9be[_0x18415e(0x1c4)]==='ready');_0x307acf&&(await startSession(_0x55de2e,_0x307acf['id']),console['log'](_0x18415e(0x248)+_0x307acf[_0x18415e(0x24e)]));}catch{}}export async function featureReport(_0x2b8c32,_0x731ab9){const _0x24125c=_0x37e29,_0x276957={'aEtSu':_0x24125c(0x203),'mRkon':function(_0xec8c82,_0x597a8d,_0x468190){return _0xec8c82(_0x597a8d,_0x468190);},'wssQt':function(_0x51af0a,_0x2bb601,_0x4a3c47,_0x4d938c){return _0x51af0a(_0x2bb601,_0x4a3c47,_0x4d938c);},'sBUah':function(_0x98d3af){return _0x98d3af();}},_0x14dfa4=_0x2b8c32||await getActiveFeatureId();if(!_0x14dfa4)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');console[_0x24125c(0x276)](_0x276957[_0x24125c(0x24f)]);const _0x1f3c91=await _0x276957[_0x24125c(0x23b)](getFeatureReportMarkdown,_0x14dfa4,{'style':_0x731ab9['style']}),_0x2b4990=_0x731ab9['output']||_0x276957['wssQt'](join,_0x276957[_0x24125c(0x245)](getRangerDir),'reports',_0x14dfa4+'.md'),_0x3f5401=join(_0x2b4990,'..');!existsSync(_0x3f5401)&&await mkdir(_0x3f5401,{'recursive':!![]}),await _0x276957['wssQt'](writeFile,_0x2b4990,_0x1f3c91,'utf-8'),console[_0x24125c(0x276)](_0x24125c(0x20d)+_0x2b4990);}function getScenarioResult(_0x2e8e4c){const _0x4c0565=_0x37e29,_0x53b464={'nIcNN':function(_0x1a137f,_0x380cc3){return _0x1a137f===_0x380cc3;},'XEyCp':'closed','KKcLO':_0x4c0565(0x1fb)};if(_0x53b464[_0x4c0565(0x1fc)](_0x2e8e4c[_0x4c0565(0x1c4)],_0x53b464[_0x4c0565(0x1af)]))return _0x2e8e4c['terminalReason']??_0x53b464['XEyCp'];if(_0x2e8e4c[_0x4c0565(0x1c4)]===_0x4c0565(0x1c3))return _0x53b464['KKcLO'];return _0x2e8e4c[_0x4c0565(0x1c4)];}function getScenarioRationale(_0x1bfac9,_0x3e6488){const _0x4a63b6=_0x37e29,_0x379fee={'Ngyty':'3|5|0|4|1|2'},_0x26f009=_0x379fee[_0x4a63b6(0x271)][_0x4a63b6(0x1e2)]('|');let _0x56ae61=0x0;while(!![]){switch(_0x26f009[_0x56ae61++]){case'0':if(_0x1bfac9['incompleteReason'])return _0x1bfac9['incompleteReason'];continue;case'1':if(_0x1bfac9[_0x4a63b6(0x206)])return _0x1bfac9[_0x4a63b6(0x206)];continue;case'2':return null;case'3':if(_0x3e6488)return _0x3e6488;continue;case'4':if(_0x1bfac9['canceledReason'])return _0x1bfac9[_0x4a63b6(0x257)];continue;case'5':if(_0x1bfac9[_0x4a63b6(0x1f7)])return _0x1bfac9[_0x4a63b6(0x1f7)];continue;}break;}}export async function featureReportPrDescription(_0x4252d9,_0x4a0d85){const _0x32b751=_0x37e29,_0x448197={'Cgmsw':function(_0x2da603){return _0x2da603();},'hcoRo':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','cIIuz':function(_0x33372c,_0x5aa882){return _0x33372c(_0x5aa882);},'IKLaM':function(_0x35ffa0,_0x3b5e2b,_0xf197a7){return _0x35ffa0(_0x3b5e2b,_0xf197a7);},'ASVNS':function(_0x5a76ab,_0x144e2c){return _0x5a76ab===_0x144e2c;},'aAgGQ':'\x0aAvailable\x20scenarios:','dbEuQ':function(_0x3ee462,_0x3c0e1b){return _0x3ee462===_0x3c0e1b;},'UoQGL':'\x0a❌\x20All\x20scenarios\x20were\x20excluded.','RthmM':function(_0x282134,_0x474191,_0x30545e){return _0x282134(_0x474191,_0x30545e);}},_0x5a4938=_0x4252d9||await _0x448197[_0x32b751(0x287)](getActiveFeatureId);if(!_0x5a4938)throw new Error(_0x448197[_0x32b751(0x210)]);const _0x311a8b=await _0x448197[_0x32b751(0x1d4)](getFeature,_0x5a4938),_0x4dd68c=_0x311a8b[_0x32b751(0x1e9)]||[],_0x3dbfc2=_0x448197[_0x32b751(0x238)](getCurrentSessionItems,_0x311a8b,_0x4dd68c);_0x448197['ASVNS'](_0x3dbfc2['length'],0x0)&&(console[_0x32b751(0x1d2)](_0x32b751(0x27c)),process[_0x32b751(0x200)](0x1));const _0x372c05=_0x4a0d85[_0x32b751(0x22d)]??[],_0x1f733d=_0x372c05['filter'](_0x827943=>!Number['isInteger'](_0x827943)||_0x827943<0x1||_0x827943>_0x3dbfc2[_0x32b751(0x1e8)]);if(_0x1f733d['length']>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x1f733d[_0x32b751(0x21d)](',\x20')),console[_0x32b751(0x276)](_0x448197[_0x32b751(0x242)]);for(let _0x314b45=0x0;_0x314b45<_0x3dbfc2[_0x32b751(0x1e8)];_0x314b45++){console['log']('\x20\x20'+(_0x314b45+0x1)+'.\x20'+_0x3dbfc2[_0x314b45]['description']);}process['exit'](0x1);}const _0x375534=new Set(_0x372c05[_0x32b751(0x1ef)](_0x5dc9ee=>_0x5dc9ee-0x1)),_0x2e1716=_0x3dbfc2[_0x32b751(0x223)]((_0x3fca1d,_0x1c5fae)=>!_0x375534[_0x32b751(0x1ec)](_0x1c5fae));_0x448197['dbEuQ'](_0x2e1716[_0x32b751(0x1e8)],0x0)&&(console[_0x32b751(0x1d2)](_0x448197[_0x32b751(0x253)]),process[_0x32b751(0x200)](0x1));if(_0x4a0d85['json'])await outputJsonReport(_0x5a4938,_0x311a8b,_0x2e1716);else{const _0x4e227c=await _0x448197[_0x32b751(0x25e)](getFeatureReportMarkdown,_0x5a4938,{'itemIds':_0x2e1716['map'](_0x3a44ab=>_0x3a44ab['id'])});process['stdout']['write'](_0x4e227c[_0x32b751(0x1b5)]()+'\x0a');}}async function outputJsonReport(_0x457c8c,_0x5c2b69,_0x50c0e7){const _0xa77ab9=_0x37e29,_0x9bd99c={'TNJnl':function(_0x21a0f4,_0x59816a){return _0x21a0f4(_0x59816a);}},_0x4e47cf=getApiBaseUrl(),_0x4f07dc=await getFeatureReport(_0x457c8c),_0x2a0d2e=new Map(_0x4f07dc['checklistItems'][_0xa77ab9(0x1ef)](_0x1297b3=>[_0x1297b3['id'],_0x1297b3])),_0x1b2f74=await Promise['all'](_0x50c0e7['map'](async _0x271a80=>{const _0x4e668a=_0xa77ab9,_0x948424=_0x2a0d2e[_0x4e668a(0x27d)](_0x271a80['id']),_0x4fdeb7=_0x948424?.['linkedSession']??null;let _0x2a4b4b=[];if(_0x271a80[_0x4e668a(0x1c5)])try{const {steps:_0x5a8828}=await getBrowserSessionSteps(_0x271a80[_0x4e668a(0x1c5)]);_0x5a8828['length']>0x0&&(_0x2a4b4b=_0x5a8828['map'](_0x369928=>{const _0x113b48=_0x4e668a,_0x3451b5=_0x369928[_0x113b48(0x1e3)][_0x113b48(0x252)](_0x5b09a5=>_0x5b09a5[_0x113b48(0x228)]===_0x113b48(0x246)&&_0x5b09a5['timing']===_0x113b48(0x20a))??_0x369928['assets']['find'](_0x342a15=>_0x342a15[_0x113b48(0x228)]===_0x113b48(0x246));let _0x277824=null,_0x348433=null;if(_0x3451b5){const _0x3c0850=_0x3451b5['storage'][_0x113b48(0x236)][_0x113b48(0x1e2)]('/')[_0x113b48(0x1a1)]();_0x277824=_0x4e47cf+_0x113b48(0x251)+_0x271a80['browserSessionId']+_0x113b48(0x1ba)+_0x3c0850,_0x3c0850&&(_0x348433=_0x3c0850['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')[_0x113b48(0x207)](/[-_]/g,'\x20'));}return{'description':_0x348433||_0x369928['description']||_0x369928[_0x113b48(0x274)]||_0x113b48(0x1fe)+_0x369928[_0x113b48(0x23e)],'screenshot':_0x277824,'is_key_step':_0x369928[_0x113b48(0x1a2)]};}));}catch{}return _0x2a4b4b['length']===0x0&&_0x4fdeb7?.[_0x4e668a(0x1d1)]&&(_0x2a4b4b=_0x4fdeb7['screenshotUrls']['map']((_0x3ecf9c,_0xa3c525)=>({'description':'Screenshot\x20'+(_0xa3c525+0x1),'screenshot':_0x3ecf9c,'is_key_step':![]}))),{'description':_0x271a80['description'],'result':_0x9bd99c[_0x4e668a(0x1b2)](getScenarioResult,_0x271a80),'rationale':getScenarioRationale(_0x271a80,_0x4fdeb7?.[_0x4e668a(0x288)]),'steps':_0x2a4b4b};})),_0x412ce1={'url':_0x5c2b69[_0xa77ab9(0x268)],'scenarios':_0x1b2f74};process[_0xa77ab9(0x247)]['write'](JSON['stringify'](_0x412ce1,null,0x2)+'\x0a');}function _0x190e(){const _0x128796=['\x0a✅\x20Scenario\x20updated','kduzI','grSxy','closed','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','Cgmsw','agentResponse','1142547ZjaMmJ','BWPwz','selector','incompleteReason','\x20of\x20','pop','isKeyStep',':\x20\x22','sDQGr','WEAyP','description','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','Not\x20in\x20a\x20git\x20repository.','xFGsL','Next\x20page:\x20ranger\x20list\x20--offset\x20','\x20\x20\x20Repository:\x20','toLocaleString','rDUof','\x20Session\x20','XEyCp','zzQMY','StTuC','TNJnl','\x0a✅\x20Session\x20','fzpis','trimEnd','warn','git\x20rev-parse\x20--abbrev-ref\x20HEAD','push','pipe','/artifacts/','1001530LmobGw','verifiedItems','offset','verified','\x20\x20\x20\x20\x20\x20Blocked:\x20','RANGER_TEST_USERNAME','JoGFr','\x20\x20\x20Branch:\x20','verification_in_progress','status','browserSessionId','type','totalCount','\x20\x20\x20\x20\x20\x20Cancelled:\x20','\x20\x20\x20\x20\x20📍\x20Annotation:\x20','\x20\x20\x20Created:\x20','HPqgg','OlsFl','\x20—\x20no\x20comments','\x20(v','QuhUk','No\x20sessions\x20found.','screenshotUrls','error','JrVnO','cIIuz','jCSIZ','github.com/','392bAbViV','UoOAU','xCYvc','RoirS','ccQxU','\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','prompt','\x0a✅\x20Restored\x20feature\x20review:\x20','\x20\x20\x20Updated\x20branch\x20to:\x20','limit','znEwm','split','assets','hAwRW','isTTY','Scenario\x20','Wyugz','length','checklistItems','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','incompleteItems','has','\x20\x20\x20ID:\x20','\x20>\x20','map','authorName','XGdNn','NQiBY','toLocaleDateString','12IJvokv','wtMjs','kNXWq','blockedReason','NJJvq','coordinates','unaddressedComments','in_progress','nIcNN','version','Step\x20','terminalReason','exit','eqSuD','approved','\x0aGenerating\x20report...','currentSessionId','point','notes','replace','gitBranch','krbOh','after','pendingItems','jSXAj','\x0a✅\x20Report\x20generated:\x20','XupHI','qxwAM','hcoRo','incomplete','Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20','\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','\x20\x20\x20\x20\x20ID:\x20','\x20\x20\x20\x20','\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20','UEIcl','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','\x20\x20\x20\x20\x20\x20Approved','selected','name','join','createdAt','numeric','toFixed','VmDoZ','ixUJi','filter','textContent','\x1b[1m','JqAZE','faKCw','assetType','UstmB','kPels','completedAt','134484WcCkOw','excludeScenarios','.\x20Feature\x20review\x20has\x20','trim','591GOZsHr','domRef','scenarios','\x0a\x20\x20\x20Scenarios:','ibdaY','sessionId','location','gZenN','IKLaM','SYBXZ','PhGCM','mRkon','\x20\x20\x20Progress:\x20','MOjBh','position','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','ktWZj','env','aAgGQ','gUspN','completed','sBUah','screenshot','stdout','\x20\x20\x20▶️\x20Started\x20session\x20','RumZi','74943EgWItr','utf-8','from','latestReview','iteration','aEtSu','canonicalFlow','/api/v1/mcp/browser-sessions/','find','UoQGL','CLAUDE_SESSION_ID','ZLdfd','15830540iUzXJJ','canceledReason','\x0a⚠️\x20\x20','\x20scenarios.','kHJsH','\x20--limit\x20','sqveX','spatial','RthmM','\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.','PAxSr','\x20\x20\x20\x20\x20📷\x20Screenshot:\x20','eTgaJ','1632684hoeKJS','short','comment_','Please\x20finish\x20your\x20review\x20first:','ZnbhP','dashboardUrl','\x20unaddressed\x20comment(s)','element','blockedItems','items','DUpMg','stats','\x1b[0m','submittedAt','Ngyty','\x20incomplete','9812OInoit','stepName','vxtEb','log','scenario','JRVyL','jVdjx','gitRepoUrl','cDtHC','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','get','OVHAL','includeDeleted'];_0x190e=function(){return _0x128796;};return _0x190e();}export async function featureConcludeSession(_0x37b35e){const _0x1c5944=_0x37e29,_0x24d54a={'qxwAM':function(_0x1abb39){return _0x1abb39();},'Orfyq':_0x1c5944(0x219),'Zyzay':function(_0x13eca8,_0x123bb2){return _0x13eca8(_0x123bb2);},'cfCFk':function(_0x54c1f5,_0x1d8475){return _0x54c1f5(_0x1d8475);},'krbOh':function(_0x25dcba,_0x1a8159){return _0x25dcba===_0x1a8159;},'YuwWN':_0x1c5944(0x244),'JqAZE':function(_0x523d89,_0x27ca69,_0x25ebb5){return _0x523d89(_0x27ca69,_0x25ebb5);}},_0x3167b9=_0x37b35e||await _0x24d54a[_0x1c5944(0x20f)](getActiveFeatureId);if(!_0x3167b9)throw new Error(_0x24d54a['Orfyq']);const _0x14611c=await _0x24d54a['Zyzay'](getFeature,_0x3167b9);if(!_0x14611c[_0x1c5944(0x204)])throw new Error('No\x20active\x20session\x20for\x20this\x20feature\x20review.');const {sessions:_0x30af0b}=await _0x24d54a['cfCFk'](listFeatureSessions,_0x3167b9),_0x40532d=_0x30af0b['find'](_0x4e0a1b=>_0x4e0a1b['id']===_0x14611c['currentSessionId']);if(!_0x40532d)throw new Error('Current\x20session\x20not\x20found.');if(_0x24d54a[_0x1c5944(0x209)](_0x40532d['status'],_0x24d54a['YuwWN'])){console[_0x1c5944(0x276)]('\x0a✅\x20Session\x20is\x20already\x20completed.');return;}if(_0x40532d[_0x1c5944(0x1c4)]!=='in_progress')throw new Error(_0x1c5944(0x284)+_0x40532d[_0x1c5944(0x1c4)]);console['log']('\x0aConcluding\x20session...'),await _0x24d54a[_0x1c5944(0x226)](concludeSession,_0x3167b9,_0x14611c[_0x1c5944(0x204)]),console[_0x1c5944(0x276)](_0x1c5944(0x1b3)+_0x40532d[_0x1c5944(0x24e)]+'\x20concluded.'),console['log']('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x8c574f){const _0x508c0f=_0x37e29,_0x5a3329={'XGdNn':_0x508c0f(0x286),'WBHRC':function(_0x3ccdda,_0x306aa2){return _0x3ccdda(_0x306aa2);},'Zvqzg':_0x508c0f(0x1d0),'UXKiE':'in_progress'},_0x54c9c5=_0x8c574f||await getActiveFeatureId();if(!_0x54c9c5)throw new Error(_0x5a3329[_0x508c0f(0x1f1)]);const _0x4dec31=await getFeature(_0x54c9c5);console['log']('\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20'+_0x4dec31[_0x508c0f(0x21c)]+'\x0a');const {sessions:_0xc2e7e5}=await _0x5a3329['WBHRC'](listFeatureSessions,_0x54c9c5);if(_0xc2e7e5['length']===0x0){console[_0x508c0f(0x276)](_0x5a3329['Zvqzg']);return;}for(const _0x41bae9 of _0xc2e7e5){const _0x25400c=_0x41bae9[_0x508c0f(0x1c4)]==='completed'?'✅':_0x41bae9[_0x508c0f(0x1c4)]===_0x5a3329['UXKiE']?'🔄':'▶️';console['log'](_0x25400c+_0x508c0f(0x1ae)+_0x41bae9[_0x508c0f(0x24e)]+'\x20('+_0x41bae9['id']+')'),console[_0x508c0f(0x276)]('\x20\x20\x20Status:\x20'+_0x41bae9[_0x508c0f(0x1c4)]),console[_0x508c0f(0x276)]('\x20\x20\x20Created:\x20'+new Date(_0x41bae9[_0x508c0f(0x21e)])['toLocaleString']()),_0x41bae9['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x41bae9[_0x508c0f(0x22b)])['toLocaleString']()),console['log']('');}}export async function featureAddScenario(_0xef47bb,_0x2eb412){const _0x21f0d6=_0x37e29,_0x358900={'MOjBh':function(_0x1b6649,_0x300741,_0x112f68){return _0x1b6649(_0x300741,_0x112f68);},'eTgaJ':function(_0x2a0b96,_0x5c84bb){return _0x2a0b96(_0x5c84bb);}},_0x233d28=_0x2eb412||await getActiveFeatureId();if(!_0x233d28)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 _0x18f18e=await getFeature(_0x233d28);if(_0x18f18e['latestReview']&&!_0x18f18e['latestReview'][_0x21f0d6(0x270)])throw new Error(_0x21f0d6(0x212)+_0x18f18e[_0x21f0d6(0x268)]);await _0x358900[_0x21f0d6(0x23d)](createChecklistItem,_0x233d28,_0xef47bb);const _0x1a3dc5=await _0x358900[_0x21f0d6(0x262)](getFeature,_0x233d28);console[_0x21f0d6(0x276)]('\x0a✅\x20Scenario\x20added'),displayFeature(_0x1a3dc5,_0x1a3dc5['checklistItems']);}export async function featureEditScenario(_0x1bbe74,_0x27f612){const _0x2af5d0=_0x37e29,_0x3bb37e={'jCSIZ':function(_0x1f5ec5){return _0x1f5ec5();},'nksuW':_0x2af5d0(0x23f),'KptbM':function(_0x206447,_0x531cc0){return _0x206447(_0x531cc0);},'qCqoB':_0x2af5d0(0x1a7),'gUspN':_0x2af5d0(0x266),'kNXWq':function(_0x101bf0,_0x557e37){return _0x101bf0===_0x557e37;},'jSXAj':function(_0x2e4c16,_0x25314f){return _0x2e4c16<_0x25314f;},'xCYvc':function(_0x390e87,_0x4d7a03){return _0x390e87+_0x4d7a03;},'kduzI':'\x0aAvailable\x20scenarios:'},_0x3ba821=_0x27f612['id']||await _0x3bb37e[_0x2af5d0(0x1d5)](getActiveFeatureId);!_0x3ba821&&(console['error'](_0x2af5d0(0x1dc)),console[_0x2af5d0(0x1d2)](_0x3bb37e['nksuW']),process['exit'](0x1));const _0x34b264=await _0x3bb37e['KptbM'](getFeature,_0x3ba821);_0x34b264['latestReview']&&!_0x34b264[_0x2af5d0(0x24d)]['submittedAt']&&(console['error'](_0x3bb37e['qCqoB']),console['error'](_0x3bb37e[_0x2af5d0(0x243)]),console[_0x2af5d0(0x1d2)]('\x20\x20'+_0x34b264[_0x2af5d0(0x268)]),process['exit'](0x1));const _0x2fcb18=_0x34b264[_0x2af5d0(0x1e9)]||[];_0x3bb37e[_0x2af5d0(0x1f6)](_0x2fcb18[_0x2af5d0(0x1e8)],0x0)&&(console['error']('\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.'),process[_0x2af5d0(0x200)](0x1));if(_0x27f612[_0x2af5d0(0x277)]===undefined){console[_0x2af5d0(0x1d2)]('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log']('\x0aAvailable\x20scenarios:');for(let _0x4984ff=0x0;_0x3bb37e[_0x2af5d0(0x20c)](_0x4984ff,_0x2fcb18['length']);_0x4984ff++){console[_0x2af5d0(0x276)]('\x20\x20'+_0x3bb37e[_0x2af5d0(0x1d9)](_0x4984ff,0x1)+'.\x20'+_0x2fcb18[_0x4984ff]['description']);}process['exit'](0x1);}const _0x5f1828=_0x27f612['scenario']-0x1;if(_0x3bb37e[_0x2af5d0(0x20c)](_0x5f1828,0x0)||_0x5f1828>=_0x2fcb18['length']){console[_0x2af5d0(0x1d2)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x27f612[_0x2af5d0(0x277)]+_0x2af5d0(0x22e)+_0x2fcb18['length']+_0x2af5d0(0x259)),console['log'](_0x3bb37e[_0x2af5d0(0x281)]);for(let _0x2728d8=0x0;_0x2728d8<_0x2fcb18[_0x2af5d0(0x1e8)];_0x2728d8++){console['log']('\x20\x20'+(_0x2728d8+0x1)+'.\x20'+_0x2fcb18[_0x2728d8]['description']);}process['exit'](0x1);}const _0x35fc1b=_0x2fcb18[_0x5f1828];await updateChecklistItem(_0x3ba821,_0x35fc1b['id'],{'description':_0x1bbe74});const _0x5ca92d=await getFeature(_0x3ba821);console['log'](_0x2af5d0(0x280)),displayFeature(_0x5ca92d,_0x5ca92d[_0x2af5d0(0x1e9)]);}async function downloadFeedbackImage(_0x55196b,_0x15fd5b){const _0x56719f=_0x37e29,_0x424199={'DUpMg':function(_0x40ba25,_0x588253,_0x4727ae){return _0x40ba25(_0x588253,_0x4727ae);},'cDtHC':function(_0x231091,_0x3fd6a7){return _0x231091(_0x3fd6a7);}};try{const _0x2f30ee=_0x424199[_0x56719f(0x26d)](join,getRangerDir(),'feedback-images');await mkdir(_0x2f30ee,{'recursive':!![]});const _0x339deb=join(_0x2f30ee,_0x56719f(0x265)+_0x15fd5b+'.png'),_0x33f55e=await _0x424199[_0x56719f(0x27b)](fetch,_0x55196b);if(!_0x33f55e['ok'])return null;const _0x561e10=Buffer[_0x56719f(0x24c)](await _0x33f55e['arrayBuffer']());return await _0x424199['DUpMg'](writeFile,_0x339deb,_0x561e10),_0x339deb;}catch{return null;}}export async function featureGetReview(_0x50aa98){const _0x828d4c=_0x37e29,_0x1ea77f={'wtMjs':_0x828d4c(0x219),'grSxy':function(_0x20fea6,_0x5a4283){return _0x20fea6(_0x5a4283);},'ZFdUP':function(_0x1bece9,_0x539361){return _0x1bece9===_0x539361;},'ccQxU':'No\x20scenarios\x20found.','rAOIS':function(_0x1038ab,_0x212e89,_0x497629){return _0x1038ab(_0x212e89,_0x497629);},'vxtEb':function(_0x2feab6,_0x41dc17){return _0x2feab6>_0x41dc17;},'QoZHE':'en-US','SYBXZ':_0x828d4c(0x21f),'ZLdfd':function(_0x3d3e9b,_0x16eb3a,_0x49ff1f){return _0x3d3e9b(_0x16eb3a,_0x49ff1f);},'DdSBd':_0x828d4c(0x1ee),'fNoyA':_0x828d4c(0x205),'NQiBY':function(_0x164c3d,_0x1e7487){return _0x164c3d>=_0x1e7487;}},_0x59d37c=_0x50aa98||await getActiveFeatureId();if(!_0x59d37c)throw new Error(_0x1ea77f[_0x828d4c(0x1f5)]);const _0x4e5f84=await _0x1ea77f[_0x828d4c(0x282)](getFeature,_0x59d37c),{items:_0x2087cb}=await getActionItems(_0x59d37c);console[_0x828d4c(0x276)]('\x0a📋\x20Feedback\x20for:\x20'+_0x4e5f84['name']+'\x20('+_0x4e5f84['id']+')\x0a');if(_0x1ea77f['ZFdUP'](_0x2087cb['length'],0x0)){console['log'](_0x1ea77f[_0x828d4c(0x1db)]);return;}for(let _0x58c052=0x0;_0x58c052<_0x2087cb['length'];_0x58c052++){const _0x3d614d=_0x2087cb[_0x58c052],_0x59fba3=_0x3d614d['version']>0x1?_0x828d4c(0x1ce)+_0x3d614d[_0x828d4c(0x1fd)]+')':'',_0x293db2=await _0x1ea77f['rAOIS'](getItemFeedback,_0x59d37c,_0x3d614d['id']);if(_0x1ea77f[_0x828d4c(0x275)](_0x293db2[_0x828d4c(0x1fa)]['length'],0x0)){console['log'](_0x828d4c(0x1e6)+(_0x58c052+0x1)+_0x828d4c(0x1a3)+_0x3d614d[_0x828d4c(0x1a6)]+'\x22'+_0x59fba3+'\x20—\x20'+_0x293db2['unaddressedComments']['length']+_0x828d4c(0x269));for(const _0x23d0a6 of _0x293db2[_0x828d4c(0x1fa)]){const _0x5caeba=new Date(_0x23d0a6[_0x828d4c(0x21e)])[_0x828d4c(0x1f3)](_0x1ea77f['QoZHE'],{'month':_0x828d4c(0x264),'day':_0x1ea77f[_0x828d4c(0x239)]}),_0x53be43=_0x23d0a6[_0x828d4c(0x1f0)]||_0x23d0a6['authorEmail']||'Unknown';console[_0x828d4c(0x276)]('\x20\x20💬\x20'+_0x53be43+'\x20('+_0x5caeba+'):\x20\x22'+_0x23d0a6['content']+'\x22');if(_0x23d0a6['assetUrl']){const _0x138195=await _0x1ea77f[_0x828d4c(0x255)](downloadFeedbackImage,_0x23d0a6['assetUrl'],_0x23d0a6['id']);_0x138195&&console['log'](_0x828d4c(0x261)+_0x138195);}if(_0x23d0a6[_0x828d4c(0x231)]){const _0x39bb7c=_0x23d0a6[_0x828d4c(0x231)][_0x828d4c(0x28b)][_0x828d4c(0x1e2)](_0x1ea77f['DdSBd'])['pop']()?.[_0x828d4c(0x1e2)](':')[0x0]||_0x828d4c(0x26a),_0x55d995=_0x23d0a6[_0x828d4c(0x231)][_0x828d4c(0x224)]?'\x20\x22'+_0x23d0a6[_0x828d4c(0x231)]['textContent']['slice'](0x0,0x3c)+'\x22':'';console['log'](_0x828d4c(0x1ea)+_0x39bb7c+'>'+_0x55d995),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x23d0a6['domRef']['selector']);}else{if(_0x23d0a6[_0x828d4c(0x25d)]){const _0x20d83c=_0x23d0a6['spatial'][_0x828d4c(0x1f9)];_0x1ea77f['ZFdUP'](_0x23d0a6['spatial']['type'],_0x1ea77f['fNoyA'])&&_0x1ea77f[_0x828d4c(0x1f2)](_0x20d83c[_0x828d4c(0x1e8)],0x2)?console[_0x828d4c(0x276)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20('+_0x20d83c[0x0]['toFixed'](0x2)+',\x20'+_0x20d83c[0x1][_0x828d4c(0x220)](0x2)+')'):console['log'](_0x828d4c(0x1c9)+_0x23d0a6[_0x828d4c(0x25d)][_0x828d4c(0x1c6)]+'\x20at\x20['+_0x20d83c[_0x828d4c(0x1ef)](_0x4a0889=>_0x4a0889[_0x828d4c(0x220)](0x2))['join'](',\x20')+']');}}}if(_0x293db2['canonicalFlow']){console['log']('\x20\x20Expected\x20flow:');for(const _0x35bdd0 of _0x293db2[_0x828d4c(0x250)]['split']('\x0a')){console['log'](_0x828d4c(0x216)+_0x35bdd0);}}}else console[_0x828d4c(0x276)](_0x828d4c(0x1e6)+(_0x58c052+0x1)+':\x20\x22'+_0x3d614d['description']+'\x22'+_0x59fba3+_0x828d4c(0x1cd)),console[_0x828d4c(0x276)]('\x20\x20✅\x20No\x20feedback\x20to\x20address');console['log']('');}}export async function featureDelete(_0x1fb726){const _0x3ab4a1=_0x37e29,_0x334523={'zzQMY':function(_0xec5bf0,_0x31b768){return _0xec5bf0(_0x31b768);},'sDQGr':function(_0x490972,_0x574021){return _0x490972+_0x574021;}},_0x56f023=_0x1fb726||await getActiveFeatureId();if(!_0x56f023)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 _0x1295f0=await _0x334523[_0x3ab4a1(0x1b0)](getFeature,_0x56f023);await softDeleteFeature(_0x56f023),console['log'](_0x3ab4a1(0x217)+_0x1295f0['name']+'\x20('+_0x56f023+')'),console[_0x3ab4a1(0x276)](_0x334523[_0x3ab4a1(0x1a4)]('\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20',_0x56f023));}export async function featureRestore(_0x4a382b){const _0x2aca5c=_0x37e29,_0x5a2672={'ktWZj':function(_0x1b4d34,_0x3d3c26){return _0x1b4d34(_0x3d3c26);}};await _0x5a2672[_0x2aca5c(0x240)](restoreFeature,_0x4a382b);const _0x468e54=await _0x5a2672['ktWZj'](getFeature,_0x4a382b);console[_0x2aca5c(0x276)](_0x2aca5c(0x1de)+_0x468e54[_0x2aca5c(0x21c)]+'\x20('+_0x4a382b+')'),displayFeature(_0x468e54,_0x468e54['checklistItems']);}
1
+ const _0x114e9e=_0x949b;(function(_0x102b27,_0x55c4db){const _0x27f248=_0x949b,_0xdbff46=_0x102b27();while(!![]){try{const _0x443453=parseInt(_0x27f248(0x27f))/0x1*(parseInt(_0x27f248(0x249))/0x2)+-parseInt(_0x27f248(0x282))/0x3+parseInt(_0x27f248(0x286))/0x4*(-parseInt(_0x27f248(0x278))/0x5)+parseInt(_0x27f248(0x1ec))/0x6+parseInt(_0x27f248(0x203))/0x7*(parseInt(_0x27f248(0x270))/0x8)+-parseInt(_0x27f248(0x23d))/0x9*(-parseInt(_0x27f248(0x232))/0xa)+-parseInt(_0x27f248(0x227))/0xb;if(_0x443453===_0x55c4db)break;else _0xdbff46['push'](_0xdbff46['shift']());}catch(_0x31fc4c){_0xdbff46['push'](_0xdbff46['shift']());}}}(_0x3e5f,0x633f9));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{execSync}from'child_process';import _0x5e4fc6 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';import{listCloudProfiles}from'./utils/cloudProfile.js';const ACTIVE_FEATURE_FILE='active-feature.txt',bold=_0x27c370=>_0x114e9e(0x264)+_0x27c370+'\x1b[0m';function getGitRepoUrl(){const _0x2a32f2=_0x114e9e,_0x21ef69={'BmQjC':'pipe','jDahX':'github.com/'};try{const _0x5c38fb=execSync(_0x2a32f2(0x1f5),{'encoding':'utf-8','stdio':[_0x21ef69[_0x2a32f2(0x2b6)],_0x2a32f2(0x29f),_0x2a32f2(0x29f)]})[_0x2a32f2(0x262)]();return _0x5c38fb['replace'](/\.git$/,'')[_0x2a32f2(0x277)](/^git@github\.com:/,_0x21ef69['jDahX'])['replace'](/^https?:\/\//,'');}catch{return undefined;}}function getGitBranch(){const _0x5c01db=_0x114e9e,_0x300079={'GNyIc':function(_0xe9f6f6,_0x3aea17,_0x3c25c1){return _0xe9f6f6(_0x3aea17,_0x3c25c1);},'wylnX':'utf-8','yITGp':'pipe'};try{return _0x300079['GNyIc'](execSync,_0x5c01db(0x29a),{'encoding':_0x300079[_0x5c01db(0x24e)],'stdio':[_0x300079[_0x5c01db(0x220)],_0x300079[_0x5c01db(0x220)],_0x300079['yITGp']]})[_0x5c01db(0x262)]();}catch{return undefined;}}export async function getActiveFeatureId(){const _0x2da0ab=_0x114e9e,_0xdfbf6b={'vngHY':function(_0xfdf03a){return _0xfdf03a();},'YTMPH':_0x2da0ab(0x2a3)},_0x170210=join(_0xdfbf6b['vngHY'](getRangerDir),ACTIVE_FEATURE_FILE);if(!existsSync(_0x170210))return null;try{const _0x59a0ec=await readFile(_0x170210,_0xdfbf6b[_0x2da0ab(0x24c)]);return _0x59a0ec['trim']()||null;}catch{return null;}}async function setActiveFeatureId(_0x2c437b){const _0x484e7c=_0x114e9e,_0x1fada2={'Itapx':function(_0x5db000,_0x1d9638,_0x376083){return _0x5db000(_0x1d9638,_0x376083);},'OdIFg':function(_0x143678,_0x37d0cd,_0x223387,_0x5aa6af){return _0x143678(_0x37d0cd,_0x223387,_0x5aa6af);}},_0x1ff12c=getRangerDir(),_0x48e469=_0x1fada2[_0x484e7c(0x2a7)](join,_0x1ff12c,ACTIVE_FEATURE_FILE);!existsSync(_0x1ff12c)&&await mkdir(_0x1ff12c,{'recursive':!![]}),await _0x1fada2[_0x484e7c(0x21a)](writeFile,_0x48e469,_0x2c437b,'utf-8');}function getProgressDisplay(_0xb97f2){const _0x52a641=_0x114e9e,_0x42754e={'gMWux':function(_0x9c4c3e,_0x5eb6cf){return _0x9c4c3e+_0x5eb6cf;},'ndDKM':function(_0x245775,_0x14cdf7){return _0x245775+_0x14cdf7;},'jcGAH':function(_0x522a01,_0x2a7a87){return _0x522a01===_0x2a7a87;},'ALCWA':function(_0x281f2b,_0x3b537f){return _0x281f2b>_0x3b537f;}},_0x32fb50=_0xb97f2['verifiedItems']||0x0,_0x202f15=_0xb97f2['verificationInProgressItems']||0x0,_0x2a008d=_0xb97f2[_0x52a641(0x291)]||0x0,_0x4c19cd=_0xb97f2['incompleteItems']||0x0,_0x231787=_0xb97f2[_0x52a641(0x21d)]||0x0,_0x112803=_0x42754e['gMWux'](_0x42754e[_0x52a641(0x1eb)](_0x42754e[_0x52a641(0x1eb)](_0x42754e[_0x52a641(0x25b)](_0x32fb50,_0x202f15),_0x2a008d),_0x4c19cd),_0x231787);if(_0x42754e[_0x52a641(0x2b2)](_0x112803,0x0))return'-';const _0x28f60f=0xa,_0x326caa=Math[_0x52a641(0x1f3)](_0x32fb50/_0x112803*_0x28f60f),_0x2cde32='█'[_0x52a641(0x281)](_0x326caa)+'░'['repeat'](_0x28f60f-_0x326caa),_0x503548=[];if(_0x2a008d>0x0)_0x503548[_0x52a641(0x225)](_0x2a008d+'\x20blocked');if(_0x4c19cd>0x0)_0x503548['push'](_0x4c19cd+_0x52a641(0x1f9));if(_0x42754e[_0x52a641(0x28e)](_0x202f15,0x0))_0x503548['push'](_0x202f15+_0x52a641(0x239));const _0x105d22=_0x42754e['ALCWA'](_0x503548[_0x52a641(0x2ac)],0x0)?'\x20('+_0x503548['join'](',\x20')+')':'';return _0x2cde32+'\x20'+_0x32fb50+'/'+_0x112803+_0x52a641(0x200)+_0x105d22;}function getCurrentSessionItems(_0x13e70d,_0x2bd1c3){const _0x126eca=_0x114e9e;if(!_0x13e70d['currentSessionId'])return _0x2bd1c3['filter'](_0x5b7a62=>!_0x5b7a62['sessionId']);return _0x2bd1c3[_0x126eca(0x24a)](_0x4852d2=>_0x4852d2[_0x126eca(0x258)]===_0x13e70d[_0x126eca(0x28a)]||!_0x4852d2['sessionId']);}function displayFeature(_0x314945,_0x1de6ad){const _0x15721f=_0x114e9e,_0x5be45b={'vbuyd':function(_0x53f398,_0x5a99a2){return _0x53f398>_0x5a99a2;},'BokjM':_0x15721f(0x1e8),'fBuWm':function(_0x456cc7,_0x227805){return _0x456cc7<_0x227805;},'txlYJ':'verified','vJKbq':'incomplete','OzlGX':function(_0x202836,_0x4550b0){return _0x202836===_0x4550b0;},'xdFyJ':'blocked','HIKZF':_0x15721f(0x233),'kZNQi':function(_0x120e3c,_0x56cb1c){return _0x120e3c>_0x56cb1c;},'nDLuM':function(_0x388b50,_0x1fae25){return _0x388b50!==_0x1fae25;},'eYYzC':'\x20[has\x20reviewer\x20feedback]','JXXya':function(_0x1d89a0,_0x47c453){return _0x1d89a0===_0x47c453;},'rXiry':function(_0x19ea57,_0x27f01f){return _0x19ea57===_0x27f01f;},'uvaiY':_0x15721f(0x2ba),'ABetd':'approved'};console['log']('\x0a'+_0x314945['name']+'\x20('+_0x314945['dashboardUrl']+')');_0x314945['stats']&&console[_0x15721f(0x23e)](_0x15721f(0x224)+getProgressDisplay(_0x314945['stats']));_0x314945[_0x15721f(0x253)]&&console['log'](_0x15721f(0x247)+_0x314945['description']);_0x314945[_0x15721f(0x23a)]&&console[_0x15721f(0x23e)]('\x20\x20\x20Repository:\x20'+_0x314945[_0x15721f(0x23a)]);_0x314945[_0x15721f(0x25c)]&&console['log']('\x20\x20\x20Branch:\x20'+_0x314945['gitBranch']);console[_0x15721f(0x23e)](_0x15721f(0x26a)+new Date(_0x314945['createdAt'])[_0x15721f(0x2aa)]());_0x314945['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x314945['completedAt'])['toLocaleString']());if(_0x1de6ad&&_0x5be45b['vbuyd'](_0x1de6ad['length'],0x0)){console[_0x15721f(0x23e)](_0x5be45b[_0x15721f(0x21c)]);for(let _0x5b9aa2=0x0;_0x5be45b['fBuWm'](_0x5b9aa2,_0x1de6ad['length']);_0x5b9aa2++){const _0x2b792a=_0x1de6ad[_0x5b9aa2];let _0x834a71;if(_0x2b792a['status']===_0x15721f(0x2ba)&&_0x2b792a[_0x15721f(0x255)]===_0x15721f(0x288))_0x834a71='✅';else{if(_0x2b792a['status']===_0x5be45b[_0x15721f(0x2ae)])_0x834a71='🟢';else{if(_0x2b792a['status']===_0x5be45b['vJKbq'])_0x834a71='🟠';else{if(_0x5be45b['OzlGX'](_0x2b792a[_0x15721f(0x1f7)],_0x5be45b[_0x15721f(0x283)]))_0x834a71='🛑';else{if(_0x5be45b[_0x15721f(0x287)](_0x2b792a[_0x15721f(0x1f7)],_0x15721f(0x2ba)))_0x834a71='⛔';else _0x2b792a[_0x15721f(0x1f7)]===_0x5be45b[_0x15721f(0x1fe)]?_0x834a71='⏳':_0x834a71='⬜';}}}}const _0x420ca1=_0x2b792a['version']>0x1?'\x20(v'+_0x2b792a['version']+')':'',_0x48081e=_0x5be45b['kZNQi'](_0x2b792a[_0x15721f(0x2ab)],0x1)&&_0x2b792a['parentItemId']&&_0x5be45b[_0x15721f(0x294)](_0x2b792a[_0x15721f(0x1f7)],'closed')&&_0x2b792a['status']!=='verified'?_0x5be45b['eYYzC']:'';console[_0x15721f(0x23e)]('\x20\x20\x20'+(_0x5b9aa2+0x1)+'.\x20'+_0x834a71+'\x20'+_0x2b792a['description']+_0x420ca1+_0x48081e);_0x5be45b['JXXya'](_0x2b792a[_0x15721f(0x1f7)],_0x5be45b['xdFyJ'])&&_0x2b792a['blockedReason']&&console['log'](_0x15721f(0x273)+_0x2b792a['blockedReason']);_0x5be45b['rXiry'](_0x2b792a['status'],_0x5be45b[_0x15721f(0x20e)])&&_0x2b792a[_0x15721f(0x2b1)]&&console['log']('\x20\x20\x20\x20\x20\x20Incomplete:\x20'+_0x2b792a['incompleteReason']);if(_0x2b792a['status']===_0x5be45b[_0x15721f(0x2be)]&&_0x5be45b['OzlGX'](_0x2b792a[_0x15721f(0x255)],_0x5be45b[_0x15721f(0x24b)]))console['log'](_0x15721f(0x1e9));else _0x5be45b[_0x15721f(0x287)](_0x2b792a[_0x15721f(0x1f7)],_0x5be45b['uvaiY'])&&_0x2b792a[_0x15721f(0x20d)]&&console['log']('\x20\x20\x20\x20\x20\x20Cancelled:\x20'+_0x2b792a[_0x15721f(0x20d)]);}}}export async function featureCreate(_0x3c2af1,_0x261fc0){const _0x182d19=_0x114e9e,_0x4de1a4={'gwFfD':function(_0x2a7cc7){return _0x2a7cc7();},'gksrd':function(_0x4f97b7,_0x54219d){return _0x4f97b7===_0x54219d;},'aKUNd':function(_0x1726d4){return _0x1726d4();},'MnPRz':function(_0x516d60){return _0x516d60();},'vSsPd':function(_0x41448a){return _0x41448a();},'lGtad':function(_0x1d86d1,_0x4d5975){return _0x1d86d1(_0x4d5975);}},{envNames:_0x2b33c1}=await _0x4de1a4['gwFfD'](getEnvNames);if(_0x4de1a4['gksrd'](_0x2b33c1['length'],0x0)&&!process['env']['RANGER_TEST_USERNAME']){let _0x2a07e7=0x0;try{_0x2a07e7=(await _0x4de1a4['aKUNd'](listCloudProfiles))[_0x182d19(0x2ac)];}catch{_0x2a07e7=0x1;}_0x2a07e7===0x0&&console['warn']('\x0a'+formatProfileRequiredMessage(_0x37effb=>bold(_0x37effb)));}const _0x1b63bc=_0x261fc0[_0x182d19(0x254)]?_0x261fc0['scenarios'][_0x182d19(0x1e2)](_0x21770e=>_0x21770e[_0x182d19(0x262)]()):[],_0x4cb2fb=_0x4de1a4['MnPRz'](getGitRepoUrl),_0x3b751f=_0x4de1a4[_0x182d19(0x256)](getGitBranch);console[_0x182d19(0x23e)](_0x182d19(0x1fb));const _0x120ded=await _0x4de1a4['lGtad'](createFeature,{'name':_0x3c2af1,'description':_0x261fc0[_0x182d19(0x253)],'checklist':_0x1b63bc,'gitRepoUrl':_0x4cb2fb,'gitBranch':_0x3b751f});await setActiveFeatureId(_0x120ded['id']),await _0x4de1a4[_0x182d19(0x27a)](tryStartCurrentSession,_0x120ded['id']);const _0x2a86ce=process[_0x182d19(0x222)]['CLAUDE_SESSION_ID'];_0x2a86ce&&registerSession(_0x2a86ce,_0x120ded['id']),console['log'](_0x182d19(0x241)+_0x120ded['id']),displayFeature(_0x120ded,_0x120ded[_0x182d19(0x27e)]),console[_0x182d19(0x23e)](_0x182d19(0x295));}export async function featureList(_0x3d6143){const _0x136280=_0x114e9e,_0xa1c9b5={'HJdBg':function(_0x3f3ef3){return _0x3f3ef3();},'ahnOT':function(_0x4a943a,_0x1c0d83){return _0x4a943a(_0x1c0d83);},'rMTds':function(_0x44fa72,_0x2147fb){return _0x44fa72>_0x2147fb;},'HOYVz':function(_0x5409de,_0x59d9e5){return _0x5409de<_0x59d9e5;},'OglQg':function(_0x1be696,_0x50e0d7){return _0x1be696!==_0x50e0d7;},'huZAK':_0x136280(0x2b3),'lvCpc':'\x20--include-deleted'},_0x1d032a={'limit':_0x3d6143['limit']??0xa,'offset':_0x3d6143['offset']??0x0,'includeDeleted':_0x3d6143[_0x136280(0x263)]};_0x3d6143[_0x136280(0x1f4)]&&(_0x1d032a[_0x136280(0x23a)]=getGitRepoUrl(),_0x1d032a['gitBranch']=_0xa1c9b5['HJdBg'](getGitBranch));const _0x101895=await _0xa1c9b5[_0x136280(0x2c1)](listFeatures,_0x1d032a);if(_0x101895['items']['length']===0x0){console[_0x136280(0x23e)](_0x136280(0x259));return;}const _0x5ba27d=_0xa1c9b5['rMTds'](_0x101895[_0x136280(0x252)],_0x101895[_0x136280(0x272)][_0x136280(0x2ac)])?'Showing\x20'+_0x101895['items']['length']+'\x20of\x20'+_0x101895['totalCount']:_0x101895['totalCount']+_0x136280(0x24f);console[_0x136280(0x23e)]('\x0a'+_0x5ba27d+':\x0a');for(const _0x166b53 of _0x101895['items']){const _0x3f0664=_0x136280(0x22c)[_0x136280(0x1ed)]('|');let _0x33eec9=0x0;while(!![]){switch(_0x3f0664[_0x33eec9++]){case'0':console[_0x136280(0x23e)]('\x20\x20\x20ID:\x20'+_0x166b53['id']);continue;case'1':_0x166b53[_0x136280(0x216)]&&console[_0x136280(0x23e)](_0x136280(0x224)+_0xa1c9b5[_0x136280(0x2c1)](getProgressDisplay,_0x166b53['stats']));continue;case'2':console['log']('\x20\x20\x20Created:\x20'+new Date(_0x166b53[_0x136280(0x1fa)])[_0x136280(0x268)]());continue;case'3':console['log'](''+_0x166b53[_0x136280(0x1e4)]);continue;case'4':_0x166b53['gitBranch']&&console[_0x136280(0x23e)](_0x136280(0x2c8)+_0x166b53['gitBranch']);continue;case'5':console[_0x136280(0x23e)]('');continue;}break;}}const _0x53cfa0=_0x1d032a['limit']??0xa,_0x296dcd=(_0x1d032a[_0x136280(0x223)]??0x0)+_0x101895['items'][_0x136280(0x2ac)];if(_0xa1c9b5[_0x136280(0x2c3)](_0x296dcd,_0x101895['totalCount'])){const _0x2a79ba=_0xa1c9b5[_0x136280(0x20f)](_0x53cfa0,0xa)?_0x136280(0x250)+_0x53cfa0:'',_0x407e93=_0x3d6143['currentBranch']?_0xa1c9b5['huZAK']:'',_0x368ff6=_0x3d6143['includeDeleted']?_0xa1c9b5['lvCpc']:'';console['log'](_0x136280(0x2c0)+_0x296dcd+_0x2a79ba+_0x407e93+_0x368ff6);}}export async function featureShow(_0x5a3b36){const _0x5141c0=_0x114e9e,_0x33d0f6={'eCjTJ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','DHUYN':function(_0x27110f,_0x19fc1d){return _0x27110f(_0x19fc1d);}},_0x27da61=_0x5a3b36||await getActiveFeatureId();if(!_0x27da61)throw new Error(_0x33d0f6[_0x5141c0(0x2bc)]);const _0x10f71d=await _0x33d0f6[_0x5141c0(0x218)](getFeature,_0x27da61);displayFeature(_0x10f71d,_0x10f71d[_0x5141c0(0x27e)]);}export async function featureResume(_0x460a83){const _0x11f8a7=_0x114e9e,_0x2157f4={'bDfam':function(_0x19b56c,_0x15e3c0){return _0x19b56c(_0x15e3c0);},'BqEbf':function(_0x2fc4ed,_0x194572){return _0x2fc4ed(_0x194572);},'udCTz':function(_0x100ad4){return _0x100ad4();},'gmiLf':function(_0x461769,_0x3758fb){return _0x461769!==_0x3758fb;},'AbYlm':function(_0x34cc3f,_0x4e29e0,_0x4dbaaa){return _0x34cc3f(_0x4e29e0,_0x4dbaaa);},'qqmgh':function(_0x371c07,_0x59b1aa){return _0x371c07(_0x59b1aa);},'wRDQc':'Not\x20in\x20a\x20git\x20repository.','lSkpu':function(_0x22d07c,_0x1510de){return _0x22d07c||_0x1510de;},'WipJC':function(_0x4af600,_0x4e2cef){return _0x4af600===_0x4e2cef;},'mcylB':'\x0aNo\x20matching\x20active\x20feature\x20reviews\x20found.','YkcoZ':_0x11f8a7(0x1e3),'uQydu':function(_0x42a674,_0x25e8cf){return _0x42a674===_0x25e8cf;},'MjgQN':'\x0aNon-interactive\x20mode\x20detected.\x20Multiple\x20feature\x20reviews\x20found:','radQK':function(_0x1bc432,_0x1f5c04){return _0x1bc432(_0x1f5c04);},'bnyYc':function(_0x3ebd67,_0x19bb85){return _0x3ebd67!==_0x19bb85;},'rvgqL':function(_0x4829f5,_0x303287){return _0x4829f5(_0x303287);}};if(_0x460a83){const _0x226ba1=await _0x2157f4[_0x11f8a7(0x20c)](getFeature,_0x460a83);await _0x2157f4['BqEbf'](setActiveFeatureId,_0x226ba1['id']);const _0xa011bc=_0x2157f4[_0x11f8a7(0x230)](getGitBranch);_0xa011bc&&_0x2157f4['gmiLf'](_0xa011bc,_0x226ba1['gitBranch'])&&(await _0x2157f4[_0x11f8a7(0x1ff)](updateFeature,_0x226ba1['id'],{'gitBranch':_0xa011bc}),console[_0x11f8a7(0x23e)](_0x11f8a7(0x1e7)+_0xa011bc));console['log']('\x0a✅\x20Resumed\x20feature\x20review:\x20'+_0x226ba1['name']+'\x20('+_0x226ba1['id']+')'),await tryStartCurrentSession(_0x226ba1['id']);const _0x3c7f96=process[_0x11f8a7(0x222)][_0x11f8a7(0x2a4)];_0x3c7f96&&_0x2157f4['AbYlm'](registerSession,_0x3c7f96,_0x226ba1['id']);displayFeature(_0x226ba1,_0x226ba1[_0x11f8a7(0x27e)]),await _0x2157f4['qqmgh'](printFeedbackNudge,_0x226ba1['id']);return;}const _0x1495ea=getGitRepoUrl(),_0x914c0e=_0x2157f4['udCTz'](getGitBranch);if(!_0x1495ea&&!_0x914c0e)throw new Error(_0x2157f4[_0x11f8a7(0x1e6)]);console['log']('\x0aSearching\x20for\x20feature\x20reviews\x20matching:\x20'+_0x2157f4['lSkpu'](_0x1495ea,_0x11f8a7(0x2bd))+'\x20/\x20'+(_0x914c0e||_0x11f8a7(0x2bd))+_0x11f8a7(0x274));const _0x2a35bc=await listFeatures({'gitRepoUrl':_0x1495ea,'gitBranch':_0x914c0e}),_0x24ddaf=_0x2a35bc['items']['filter'](_0x13a462=>_0x13a462['status']?_0x13a462[_0x11f8a7(0x1f7)]!==_0x11f8a7(0x2a5):!_0x13a462[_0x11f8a7(0x1f2)]);if(_0x2157f4[_0x11f8a7(0x2a0)](_0x24ddaf[_0x11f8a7(0x2ac)],0x0)){console[_0x11f8a7(0x23e)](_0x2157f4['mcylB']),console[_0x11f8a7(0x23e)](_0x2157f4[_0x11f8a7(0x2a1)]);return;}let _0x147946;if(_0x2157f4[_0x11f8a7(0x2b4)](_0x24ddaf['length'],0x1))_0x147946=_0x24ddaf[0x0];else{const _0x1fa1b4=process[_0x11f8a7(0x23b)]['isTTY']&&process['stdout'][_0x11f8a7(0x2b7)];if(!_0x1fa1b4){console[_0x11f8a7(0x23e)](_0x2157f4['MjgQN']);for(const _0x374f7f of _0x24ddaf){console[_0x11f8a7(0x23e)]('\x20\x20'+_0x374f7f['name']),console['log']('\x20\x20\x20\x20\x20ID:\x20'+_0x374f7f['id']),_0x374f7f[_0x11f8a7(0x216)]&&console[_0x11f8a7(0x23e)]('\x20\x20\x20\x20\x20Progress:\x20'+_0x2157f4['radQK'](getProgressDisplay,_0x374f7f[_0x11f8a7(0x216)])),_0x374f7f[_0x11f8a7(0x25c)]&&console['log'](_0x11f8a7(0x2a6)+_0x374f7f['gitBranch']);}throw new Error('Please\x20specify\x20the\x20feature\x20review\x20ID:\x20ranger\x20resume\x20<id>');}const {selected:_0x3a1101}=await _0x5e4fc6['prompt']([{'type':_0x11f8a7(0x240),'name':'selected','message':_0x11f8a7(0x298),'choices':_0x24ddaf[_0x11f8a7(0x1e2)](_0x21269d=>({'name':_0x21269d[_0x11f8a7(0x1e4)]+'\x20('+_0x21269d['id']+')','value':_0x21269d['id']}))}]);_0x147946=_0x24ddaf[_0x11f8a7(0x25e)](_0x131216=>_0x131216['id']===_0x3a1101);}await setActiveFeatureId(_0x147946['id']);_0x914c0e&&_0x2157f4['bnyYc'](_0x914c0e,_0x147946[_0x11f8a7(0x25c)])&&(await updateFeature(_0x147946['id'],{'gitBranch':_0x914c0e}),console['log']('\x20\x20\x20Updated\x20branch\x20to:\x20'+_0x914c0e));console[_0x11f8a7(0x23e)](_0x11f8a7(0x280)+_0x147946['name']+'\x20('+_0x147946['id']+')'),await _0x2157f4['qqmgh'](tryStartCurrentSession,_0x147946['id']);const _0x2f1c99=await getFeature(_0x147946['id']),_0x13c2cc=process[_0x11f8a7(0x222)][_0x11f8a7(0x2a4)];_0x13c2cc&&registerSession(_0x13c2cc,_0x2f1c99['id']),displayFeature(_0x2f1c99,_0x2f1c99[_0x11f8a7(0x27e)]),await _0x2157f4['rvgqL'](printFeedbackNudge,_0x2f1c99['id']);}async function printFeedbackNudge(_0x587f60){const _0x507f7a=_0x114e9e,_0x35a8b7={'EcoCw':function(_0x31196e,_0x256f66,_0x5eaed7){return _0x31196e(_0x256f66,_0x5eaed7);},'ggrcP':function(_0x1c3055,_0xb9a9a2){return _0x1c3055>_0xb9a9a2;},'jORga':function(_0x3f73d7,_0x5cf8d0){return _0x3f73d7>_0x5cf8d0;}};try{const {items:_0x34275b}=await getActionItems(_0x587f60);let _0x55eb70=0x0,_0x273006=0x0;for(const _0x1553dc of _0x34275b){const _0x3cc1a2=await _0x35a8b7[_0x507f7a(0x213)](getItemFeedback,_0x587f60,_0x1553dc['id']);_0x35a8b7['ggrcP'](_0x3cc1a2[_0x507f7a(0x207)]['length'],0x0)&&(_0x55eb70+=_0x3cc1a2['unaddressedComments']['length'],_0x273006++);}_0x35a8b7['jORga'](_0x55eb70,0x0)&&(console[_0x507f7a(0x23e)](_0x507f7a(0x20b)+_0x55eb70+'\x20unaddressed\x20reviewer\x20comment(s)\x20across\x20'+_0x273006+_0x507f7a(0x2a2)),console['log']('\x20\x20\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20needs\x20to\x20be\x20fixed.'));}catch{}}async function tryStartCurrentSession(_0x33e95c){const _0x287f0a=_0x114e9e,_0xdd96d0={'OQDNB':function(_0xfb337e,_0x6dea5a){return _0xfb337e(_0x6dea5a);}};try{const {sessions:_0x12997d}=await _0xdd96d0['OQDNB'](listFeatureSessions,_0x33e95c),_0x3186f5=_0x12997d['find'](_0x3a3e3e=>_0x3a3e3e[_0x287f0a(0x1f7)]===_0x287f0a(0x1f1));_0x3186f5&&(await startSession(_0x33e95c,_0x3186f5['id']),console['log']('\x20\x20\x20▶️\x20Started\x20session\x20'+_0x3186f5['iteration']));}catch{}}function _0x949b(_0x3da59f,_0x210c13){_0x3da59f=_0x3da59f-0x1de;const _0x3e5fb1=_0x3e5f();let _0x949bc7=_0x3e5fb1[_0x3da59f];return _0x949bc7;}export async function featureReport(_0x26b196,_0x385686){const _0xcf316a=_0x114e9e,_0x3b544f={'dVZBE':function(_0x5427ca){return _0x5427ca();},'jpAwb':function(_0x2d79b0,_0x1372d0,_0x131a6b,_0x59deaf){return _0x2d79b0(_0x1372d0,_0x131a6b,_0x59deaf);},'xANRq':function(_0x3d8a79,_0x5882cb){return _0x3d8a79(_0x5882cb);},'XMgYR':function(_0x14725f,_0xa91e23,_0x45ca98){return _0x14725f(_0xa91e23,_0x45ca98);},'myOMQ':_0xcf316a(0x2a3)},_0x51bc2b=_0x26b196||await _0x3b544f[_0xcf316a(0x1e0)](getActiveFeatureId);if(!_0x51bc2b)throw new Error(_0xcf316a(0x212));console['log']('\x0aGenerating\x20report...');const _0x2bf667=await getFeatureReportMarkdown(_0x51bc2b,{'style':_0x385686['style']}),_0x6a8d5f=_0x385686[_0xcf316a(0x2a8)]||_0x3b544f[_0xcf316a(0x290)](join,getRangerDir(),'reports',_0x51bc2b+'.md'),_0xaa1a2e=join(_0x6a8d5f,'..');!_0x3b544f['xANRq'](existsSync,_0xaa1a2e)&&await _0x3b544f['XMgYR'](mkdir,_0xaa1a2e,{'recursive':!![]}),await writeFile(_0x6a8d5f,_0x2bf667,_0x3b544f['myOMQ']),console[_0xcf316a(0x23e)](_0xcf316a(0x1f6)+_0x6a8d5f);}function getScenarioResult(_0x122db9){const _0x155acf=_0x114e9e,_0x4477d5={'hOytY':function(_0x398613,_0x88ffc6){return _0x398613===_0x88ffc6;},'NDpcD':_0x155acf(0x2ba),'NHHvo':'in_progress'};if(_0x4477d5['hOytY'](_0x122db9['status'],'closed'))return _0x122db9[_0x155acf(0x255)]??_0x4477d5[_0x155acf(0x208)];if(_0x4477d5[_0x155acf(0x242)](_0x122db9['status'],_0x155acf(0x233)))return _0x4477d5[_0x155acf(0x21f)];return _0x122db9['status'];}function getScenarioRationale(_0x1b7cad,_0x4088d7){const _0x18c65d=_0x114e9e;if(_0x4088d7)return _0x4088d7;if(_0x1b7cad[_0x18c65d(0x26c)])return _0x1b7cad[_0x18c65d(0x26c)];if(_0x1b7cad['incompleteReason'])return _0x1b7cad[_0x18c65d(0x2b1)];if(_0x1b7cad[_0x18c65d(0x20d)])return _0x1b7cad['canceledReason'];if(_0x1b7cad[_0x18c65d(0x2b5)])return _0x1b7cad[_0x18c65d(0x2b5)];return null;}export async function featureReportPrDescription(_0x497905,_0x4bb1c0){const _0x1a91d2=_0x114e9e,_0x3e70e6={'mPqOq':function(_0x869267){return _0x869267();},'hfLvi':_0x1a91d2(0x296),'koJxA':function(_0x4c77c2,_0x342a11){return _0x4c77c2<_0x342a11;},'PsWAa':function(_0x46d0a9,_0x2a9655){return _0x46d0a9===_0x2a9655;},'Lidwp':function(_0x31cde6,_0x398cae,_0x108d70,_0xd5eca9){return _0x31cde6(_0x398cae,_0x108d70,_0xd5eca9);},'hwqkf':function(_0x591365,_0x4be051,_0x5c99bd){return _0x591365(_0x4be051,_0x5c99bd);}},_0x1ce6b2=_0x497905||await _0x3e70e6[_0x1a91d2(0x29d)](getActiveFeatureId);if(!_0x1ce6b2)throw new Error('No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.');const _0x571d0c=await getFeature(_0x1ce6b2),_0x5401fe=_0x571d0c[_0x1a91d2(0x27e)]||[],_0x1217e0=getCurrentSessionItems(_0x571d0c,_0x5401fe);_0x1217e0['length']===0x0&&(console['error'](_0x3e70e6[_0x1a91d2(0x284)]),process[_0x1a91d2(0x25f)](0x1));const _0x588d0a=_0x4bb1c0['excludeScenarios']??[],_0x299553=_0x588d0a['filter'](_0x2661fe=>!Number[_0x1a91d2(0x261)](_0x2661fe)||_0x2661fe<0x1||_0x2661fe>_0x1217e0[_0x1a91d2(0x2ac)]);if(_0x299553['length']>0x0){console['error']('\x0a❌\x20Invalid\x20scenario\x20number(s):\x20'+_0x299553[_0x1a91d2(0x2c9)](',\x20')),console[_0x1a91d2(0x23e)](_0x1a91d2(0x236));for(let _0x321ba4=0x0;_0x3e70e6[_0x1a91d2(0x209)](_0x321ba4,_0x1217e0['length']);_0x321ba4++){console['log']('\x20\x20'+(_0x321ba4+0x1)+'.\x20'+_0x1217e0[_0x321ba4]['description']);}process[_0x1a91d2(0x25f)](0x1);}const _0x343362=new Set(_0x588d0a['map'](_0x40d6e8=>_0x40d6e8-0x1)),_0x13dde2=_0x1217e0['filter']((_0x194ada,_0x4c39fa)=>!_0x343362['has'](_0x4c39fa));_0x3e70e6['PsWAa'](_0x13dde2[_0x1a91d2(0x2ac)],0x0)&&(console[_0x1a91d2(0x20a)](_0x1a91d2(0x28f)),process['exit'](0x1));if(_0x4bb1c0[_0x1a91d2(0x202)])await _0x3e70e6['Lidwp'](outputJsonReport,_0x1ce6b2,_0x571d0c,_0x13dde2);else{const _0x28b515=await _0x3e70e6['hwqkf'](getFeatureReportMarkdown,_0x1ce6b2,{'itemIds':_0x13dde2['map'](_0x3110fc=>_0x3110fc['id'])});process['stdout'][_0x1a91d2(0x2ad)](_0x28b515['trimEnd']()+'\x0a');}}async function outputJsonReport(_0x475b60,_0x6495df,_0x48dbf4){const _0x554866=_0x114e9e,_0x315b99={'FUdhB':function(_0x3af426,_0x31515b){return _0x3af426===_0x31515b;},'dPFqH':function(_0x1b844c,_0x18c8f0){return _0x1b844c(_0x18c8f0);},'vYLXP':function(_0x22ca85,_0x1d2b7f){return _0x22ca85+_0x1d2b7f;}},_0x3c39e8=getApiBaseUrl(),_0x8839b1=await _0x315b99[_0x554866(0x22f)](getFeatureReport,_0x475b60),_0x25fc4a=new Map(_0x8839b1[_0x554866(0x27e)]['map'](_0x268c89=>[_0x268c89['id'],_0x268c89])),_0x1cd101=await Promise['all'](_0x48dbf4[_0x554866(0x1e2)](async _0x4e15bb=>{const _0x3824d5=_0x554866,_0x4cb5fd=_0x25fc4a[_0x3824d5(0x205)](_0x4e15bb['id']),_0x5ca194=_0x4cb5fd?.['linkedSession']??null;let _0x38050a=[];if(_0x4e15bb['browserSessionId'])try{const {steps:_0x19ba29}=await getBrowserSessionSteps(_0x4e15bb[_0x3824d5(0x26b)]);_0x19ba29['length']>0x0&&(_0x38050a=_0x19ba29['map'](_0x3df033=>{const _0x2b1e0f=_0x3824d5,_0x43a1f3=_0x3df033[_0x2b1e0f(0x285)][_0x2b1e0f(0x25e)](_0x869f16=>_0x869f16[_0x2b1e0f(0x1f8)]==='screenshot'&&_0x869f16[_0x2b1e0f(0x245)]===_0x2b1e0f(0x231))??_0x3df033['assets']['find'](_0x23c36e=>_0x23c36e['assetType']===_0x2b1e0f(0x2b0));let _0x1a9acc=null,_0x13c426=null;if(_0x43a1f3){const _0x41a18a=_0x43a1f3[_0x2b1e0f(0x23c)]['location']['split']('/')[_0x2b1e0f(0x26e)]();_0x1a9acc=_0x3c39e8+'/api/v1/mcp/browser-sessions/'+_0x4e15bb['browserSessionId']+'/artifacts/'+_0x41a18a,_0x41a18a&&(_0x13c426=_0x41a18a['replace'](/\.\w+$/,'')['replace'](/^(key_)?\d+_/,'')['replace'](/[-_]/g,'\x20'));}return{'description':_0x13c426||_0x3df033['description']||_0x3df033['stepName']||'Step\x20'+_0x3df033[_0x2b1e0f(0x1f0)],'screenshot':_0x1a9acc,'is_key_step':_0x3df033['isKeyStep']};}));}catch{}return _0x315b99[_0x3824d5(0x1fd)](_0x38050a['length'],0x0)&&_0x5ca194?.[_0x3824d5(0x1de)]&&(_0x38050a=_0x5ca194['screenshotUrls'][_0x3824d5(0x1e2)]((_0x185cde,_0x25e3b8)=>({'description':_0x3824d5(0x2a9)+(_0x25e3b8+0x1),'screenshot':_0x185cde,'is_key_step':![]}))),{'description':_0x4e15bb['description'],'result':getScenarioResult(_0x4e15bb),'rationale':getScenarioRationale(_0x4e15bb,_0x5ca194?.['agentResponse']),'steps':_0x38050a};})),_0x40ad14={'url':_0x6495df[_0x554866(0x2cb)],'scenarios':_0x1cd101};process[_0x554866(0x24d)]['write'](_0x315b99['vYLXP'](JSON[_0x554866(0x267)](_0x40ad14,null,0x2),'\x0a'));}export async function featureConcludeSession(_0x2cf0c7){const _0x19f39a=_0x114e9e,_0x19cc93={'HuLIZ':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','bYZoe':function(_0x174dd6,_0x59eee6){return _0x174dd6(_0x59eee6);},'vgwfM':_0x19f39a(0x279),'ZIwoF':function(_0x39bae3,_0xc3e87e){return _0x39bae3(_0xc3e87e);},'AJrjw':'completed','tilxE':_0x19f39a(0x2bb),'QmGHk':function(_0x1b2bae,_0x1f150f,_0xcbe88a){return _0x1b2bae(_0x1f150f,_0xcbe88a);}},_0x4270ba=_0x2cf0c7||await getActiveFeatureId();if(!_0x4270ba)throw new Error(_0x19cc93['HuLIZ']);const _0xd75ec1=await _0x19cc93[_0x19f39a(0x204)](getFeature,_0x4270ba);if(!_0xd75ec1[_0x19f39a(0x28a)])throw new Error(_0x19cc93[_0x19f39a(0x2c4)]);const {sessions:_0x10addc}=await _0x19cc93[_0x19f39a(0x251)](listFeatureSessions,_0x4270ba),_0x2cc60e=_0x10addc['find'](_0x150731=>_0x150731['id']===_0xd75ec1['currentSessionId']);if(!_0x2cc60e)throw new Error(_0x19f39a(0x246));if(_0x2cc60e[_0x19f39a(0x1f7)]===_0x19cc93[_0x19f39a(0x219)]){console['log'](_0x19cc93[_0x19f39a(0x25d)]);return;}if(_0x2cc60e['status']!==_0x19f39a(0x1fc))throw new Error(_0x19f39a(0x235)+_0x2cc60e[_0x19f39a(0x1f7)]);console['log']('\x0aConcluding\x20session...'),await _0x19cc93[_0x19f39a(0x215)](concludeSession,_0x4270ba,_0xd75ec1[_0x19f39a(0x28a)]),console['log'](_0x19f39a(0x22e)+_0x2cc60e['iteration']+_0x19f39a(0x21b)),console[_0x19f39a(0x23e)]('\x20\x20\x20The\x20feature\x20review\x20is\x20now\x20ready\x20for\x20human\x20review\x20on\x20the\x20Ranger\x20dashboard.');}export async function featureSessions(_0x1c09b7){const _0x1491e3=_0x114e9e,_0x56e65d={'oWsvN':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','HCDVf':function(_0x32ff4a,_0x1b3702){return _0x32ff4a(_0x1b3702);},'wooIN':function(_0x2a719b,_0x416004){return _0x2a719b(_0x416004);},'anTfh':function(_0x562131,_0x191f0a){return _0x562131===_0x191f0a;},'ztCAT':'completed'},_0x5f4424=_0x1c09b7||await getActiveFeatureId();if(!_0x5f4424)throw new Error(_0x56e65d['oWsvN']);const _0x12cbcf=await _0x56e65d[_0x1491e3(0x238)](getFeature,_0x5f4424);console[_0x1491e3(0x23e)](_0x1491e3(0x1df)+_0x12cbcf[_0x1491e3(0x1e4)]+'\x0a');const {sessions:_0x43d4d2}=await _0x56e65d['wooIN'](listFeatureSessions,_0x5f4424);if(_0x56e65d['anTfh'](_0x43d4d2[_0x1491e3(0x2ac)],0x0)){console[_0x1491e3(0x23e)]('No\x20sessions\x20found.');return;}for(const _0x18513e of _0x43d4d2){const _0x3ccf8f=_0x56e65d[_0x1491e3(0x206)](_0x18513e['status'],_0x56e65d[_0x1491e3(0x28b)])?'✅':_0x18513e[_0x1491e3(0x1f7)]==='in_progress'?'🔄':'▶️';console['log'](_0x3ccf8f+_0x1491e3(0x229)+_0x18513e[_0x1491e3(0x22a)]+'\x20('+_0x18513e['id']+')'),console['log'](_0x1491e3(0x2b8)+_0x18513e['status']),console['log'](_0x1491e3(0x26a)+new Date(_0x18513e[_0x1491e3(0x1fa)])[_0x1491e3(0x2aa)]()),_0x18513e['completedAt']&&console['log']('\x20\x20\x20Completed:\x20'+new Date(_0x18513e['completedAt'])['toLocaleString']()),console[_0x1491e3(0x23e)]('');}}export async function featureAddScenario(_0x1dc1e4,_0x5d6f67){const _0x300253=_0x114e9e,_0x30ee9d={'vNPYF':function(_0x4acb61,_0x550381,_0xdf6694){return _0x4acb61(_0x550381,_0xdf6694);}},_0x5b874e=_0x5d6f67||await getActiveFeatureId();if(!_0x5b874e)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 _0x1fcf28=await getFeature(_0x5b874e);if(_0x1fcf28[_0x300253(0x2c5)]&&!_0x1fcf28[_0x300253(0x2c5)]['submittedAt'])throw new Error('Cannot\x20add\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.\x20Please\x20finish\x20your\x20review\x20first:\x20'+_0x1fcf28['dashboardUrl']);await _0x30ee9d[_0x300253(0x27b)](createChecklistItem,_0x5b874e,_0x1dc1e4);const _0x3a3877=await getFeature(_0x5b874e);console['log'](_0x300253(0x226)),_0x30ee9d[_0x300253(0x27b)](displayFeature,_0x3a3877,_0x3a3877[_0x300253(0x27e)]);}function _0x3e5f(){const _0x40b399=['ZIwoF','totalCount','description','scenarios','terminalReason','vSsPd','FZZxL','sessionId','\x0aNo\x20feature\x20reviews\x20found.','submittedAt','ndDKM','gitBranch','tilxE','find','exit','Unknown','isInteger','trim','includeDeleted','\x1b[1m','\x20\x20✅\x20No\x20feedback\x20to\x20address','wPUiK','stringify','toLocaleDateString','ZQRgC','\x20\x20\x20Created:\x20','browserSessionId','blockedReason','domRef','pop','GQeIz','18584aeAELX','ORXtK','items','\x20\x20\x20\x20\x20\x20Blocked:\x20','...','\x0a✅\x20Restored\x20feature\x20review:\x20','icgJQ','replace','1045505iOlHaf','No\x20active\x20session\x20for\x20this\x20feature\x20review.','lGtad','vNPYF','\x20\x20\x20\x20\x20🎯\x20Element:\x20<','textContent','checklistItems','23nfXOxT','\x0a✅\x20Resumed\x20feature\x20review:\x20','repeat','1896261ZWafkr','xdFyJ','hfLvi','assets','4DpqMMe','OzlGX','approved','\x20unaddressed\x20comment(s)','currentSessionId','ztCAT','No\x20scenarios\x20found.','from','ALCWA','\x0a❌\x20All\x20scenarios\x20were\x20excluded.','jpAwb','blockedItems','MRUNQ','Scenario\x20','nDLuM','\x0a➡️\x20\x20Set\x20as\x20active\x20feature\x20review','\x0a❌\x20No\x20scenarios\x20found\x20to\x20include.','\x0a📋\x20Feedback\x20for:\x20','Multiple\x20feature\x20reviews\x20found.\x20Select\x20one:','qpoHV','git\x20rev-parse\x20--abbrev-ref\x20HEAD','tCuMH','type','mPqOq','\x20at\x20[','pipe','WipJC','YkcoZ','\x20scenario(s).','utf-8','CLAUDE_SESSION_ID','verified','\x20\x20\x20\x20\x20Branch:\x20','Itapx','output','Screenshot\x20','toLocaleString','version','length','write','txlYJ','zsDYu','screenshot','incompleteReason','jcGAH','\x20--current-branch','uQydu','notes','BmQjC','isTTY','\x20\x20\x20Status:\x20','\x20\x20💬\x20','closed','\x0a✅\x20Session\x20is\x20already\x20completed.','eCjTJ','any','uvaiY','element','Next\x20page:\x20ranger\x20list\x20--offset\x20','ahnOT','\x20\x20\x20To\x20restore\x20it,\x20run:\x20ranger\x20restore\x20','HOYVz','vgwfM','latestReview','\x20—\x20','numeric','\x20\x20\x20Branch:\x20','join','MSnSc','dashboardUrl','screenshotUrls','\x0a📁\x20Sessions\x20for\x20feature\x20review:\x20','dVZBE','spatial','map','Run:\x20ranger\x20create\x20\x22<name>\x22\x20to\x20create\x20a\x20new\x20feature\x20review','name','\x20\x20\x20\x20\x20📍\x20Annotation:\x20point\x20at\x20(','wRDQc','\x20\x20\x20Updated\x20branch\x20to:\x20','\x0a\x20\x20\x20Scenarios:','\x20\x20\x20\x20\x20\x20Approved','toFixed','gMWux','1756482SsUAQg','split','Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','HjiVb','position','ready','completedAt','round','currentBranch','git\x20remote\x20get-url\x20origin','\x0a✅\x20Report\x20generated:\x20','status','assetType','\x20incomplete','createdAt','\x0aCreating\x20feature\x20review...','in_progress','FUdhB','HIKZF','AbYlm','\x20verified','canonicalFlow','json','2289wrHkDi','bYZoe','get','anTfh','unaddressedComments','NDpcD','koJxA','error','\x0a⚠️\x20\x20','bDfam','canceledReason','vJKbq','OglQg','\x0a❌\x20Cannot\x20edit\x20scenario:\x20feature\x20review\x20has\x20an\x20active\x20review.','.\x20Feature\x20review\x20has\x20','No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','EcoCw','YHaUR','QmGHk','stats','arrayBuffer','DHUYN','AJrjw','OdIFg','\x20concluded.','BokjM','pendingItems','\x0a❌\x20No\x20scenarios\x20found\x20to\x20edit.','NHHvo','yITGp','\x20—\x20no\x20comments','env','offset','\x20\x20\x20Progress:\x20','push','\x0a✅\x20Scenario\x20added','6643747vkkJHo','nUeXw','\x20Session\x20','iteration','\x20scenarios.','3|0|1|4|2|5','scenario','\x0a✅\x20Session\x20','dPFqH','udCTz','after','3173990IlPfkk','verification_in_progress','\x0a✅\x20Scenario\x20updated','Cannot\x20conclude\x20session\x20with\x20status:\x20','\x0aAvailable\x20scenarios:','\x20\x20\x20\x20','HCDVf','\x20in\x20progress','gitRepoUrl','stdin','storage','9CQrspz','log','en-US','list','\x0a✅\x20Feature\x20review\x20created:\x20','hOytY',':\x20\x22','qNXJY','timing','Current\x20session\x20not\x20found.','\x20\x20\x20Description:\x20','\x20(v','41906GKejPp','filter','ABetd','YTMPH','stdout','wylnX','\x20feature\x20review(s)\x20found','\x20--limit\x20'];_0x3e5f=function(){return _0x40b399;};return _0x3e5f();}export async function featureEditScenario(_0x5595d4,_0x3ca1c1){const _0x524053=_0x114e9e,_0x5a956a={'MMjnO':'\x0a❌\x20No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.','UwtMk':_0x524053(0x210),'qNXJY':'Please\x20finish\x20your\x20review\x20first:','UkDUZ':function(_0x41c218,_0xa89d61){return _0x41c218===_0xa89d61;},'MRUNQ':function(_0x5abc3e,_0x925de9){return _0x5abc3e+_0x925de9;},'zsDYu':function(_0x1c6a2a,_0x1efcf4){return _0x1c6a2a<_0x1efcf4;},'sDMcK':_0x524053(0x236),'icgJQ':function(_0x2042df,_0x536bc8,_0x5ef4b7){return _0x2042df(_0x536bc8,_0x5ef4b7);}},_0x5b23c3=_0x3ca1c1['id']||await getActiveFeatureId();!_0x5b23c3&&(console['error'](_0x5a956a['MMjnO']),console['error'](_0x524053(0x1ee)),process[_0x524053(0x25f)](0x1));const _0x1c83d7=await getFeature(_0x5b23c3);_0x1c83d7['latestReview']&&!_0x1c83d7[_0x524053(0x2c5)][_0x524053(0x25a)]&&(console[_0x524053(0x20a)](_0x5a956a['UwtMk']),console['error'](_0x5a956a[_0x524053(0x244)]),console['error']('\x20\x20'+_0x1c83d7['dashboardUrl']),process[_0x524053(0x25f)](0x1));const _0x749bde=_0x1c83d7['checklistItems']||[];_0x5a956a['UkDUZ'](_0x749bde[_0x524053(0x2ac)],0x0)&&(console['error'](_0x524053(0x21e)),process['exit'](0x1));if(_0x3ca1c1[_0x524053(0x22d)]===undefined){console['error']('\x0a❌\x20No\x20scenario\x20number\x20provided.\x20Use\x20--scenario\x20<number>.'),console['log']('\x0aAvailable\x20scenarios:');for(let _0x2c753b=0x0;_0x2c753b<_0x749bde['length'];_0x2c753b++){console[_0x524053(0x23e)]('\x20\x20'+_0x5a956a[_0x524053(0x292)](_0x2c753b,0x1)+'.\x20'+_0x749bde[_0x2c753b]['description']);}process['exit'](0x1);}const _0x4b1a7b=_0x3ca1c1[_0x524053(0x22d)]-0x1;if(_0x5a956a[_0x524053(0x2af)](_0x4b1a7b,0x0)||_0x4b1a7b>=_0x749bde['length']){console[_0x524053(0x20a)]('\x0a❌\x20Invalid\x20scenario\x20index:\x20'+_0x3ca1c1['scenario']+_0x524053(0x211)+_0x749bde['length']+_0x524053(0x22b)),console[_0x524053(0x23e)](_0x5a956a['sDMcK']);for(let _0x19148f=0x0;_0x5a956a[_0x524053(0x2af)](_0x19148f,_0x749bde[_0x524053(0x2ac)]);_0x19148f++){console['log']('\x20\x20'+(_0x19148f+0x1)+'.\x20'+_0x749bde[_0x19148f][_0x524053(0x253)]);}process[_0x524053(0x25f)](0x1);}const _0x5d28f6=_0x749bde[_0x4b1a7b];await updateChecklistItem(_0x5b23c3,_0x5d28f6['id'],{'description':_0x5595d4});const _0x8aeeab=await getFeature(_0x5b23c3);console['log'](_0x524053(0x234)),_0x5a956a[_0x524053(0x276)](displayFeature,_0x8aeeab,_0x8aeeab[_0x524053(0x27e)]);}async function downloadFeedbackImage(_0x2eddf9,_0xfdd53b){const _0x30d9aa=_0x114e9e,_0x300067={'MSnSc':function(_0x43a297,_0x19017b,_0x505aaf){return _0x43a297(_0x19017b,_0x505aaf);},'GQeIz':function(_0xfc7eb4){return _0xfc7eb4();},'ZQRgC':function(_0x27c900,_0x125d5b,_0x189fd8){return _0x27c900(_0x125d5b,_0x189fd8);}};try{const _0x46d73a=_0x300067[_0x30d9aa(0x2ca)](join,_0x300067[_0x30d9aa(0x26f)](getRangerDir),'feedback-images');await _0x300067['MSnSc'](mkdir,_0x46d73a,{'recursive':!![]});const _0x8d2f59=_0x300067['MSnSc'](join,_0x46d73a,'comment_'+_0xfdd53b+'.png'),_0x17cd93=await fetch(_0x2eddf9);if(!_0x17cd93['ok'])return null;const _0x5394df=Buffer[_0x30d9aa(0x28d)](await _0x17cd93[_0x30d9aa(0x217)]());return await _0x300067[_0x30d9aa(0x269)](writeFile,_0x8d2f59,_0x5394df),_0x8d2f59;}catch{return null;}}export async function featureGetReview(_0x15601f){const _0x2fda8e=_0x114e9e,_0x2f3163={'qpoHV':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','nUeXw':function(_0x50d6e5,_0x19796a){return _0x50d6e5>_0x19796a;},'HjiVb':function(_0x5f06c2,_0x121041,_0x3d32e7){return _0x5f06c2(_0x121041,_0x3d32e7);},'SGiIW':function(_0x3e4948,_0x232e3e){return _0x3e4948>_0x232e3e;},'ORXtK':function(_0x19ed57,_0x295a0a){return _0x19ed57+_0x295a0a;},'FaQqv':_0x2fda8e(0x260),'QZBvJ':_0x2fda8e(0x2bf),'FZZxL':function(_0x584e10,_0x4d1854){return _0x584e10===_0x4d1854;},'YHaUR':'point'},_0x1fdde1=_0x15601f||await getActiveFeatureId();if(!_0x1fdde1)throw new Error(_0x2f3163[_0x2fda8e(0x299)]);const _0x3edbaa=await getFeature(_0x1fdde1),{items:_0x5604c2}=await getActionItems(_0x1fdde1);console['log'](_0x2fda8e(0x297)+_0x3edbaa['name']+'\x20('+_0x3edbaa['id']+')\x0a');if(_0x5604c2['length']===0x0){console['log'](_0x2fda8e(0x28c));return;}for(let _0x3d9297=0x0;_0x3d9297<_0x5604c2[_0x2fda8e(0x2ac)];_0x3d9297++){const _0x54c56a=_0x5604c2[_0x3d9297],_0x57b781=_0x2f3163[_0x2fda8e(0x228)](_0x54c56a[_0x2fda8e(0x2ab)],0x1)?_0x2fda8e(0x248)+_0x54c56a[_0x2fda8e(0x2ab)]+')':'',_0x6fa2a1=await _0x2f3163[_0x2fda8e(0x1ef)](getItemFeedback,_0x1fdde1,_0x54c56a['id']);if(_0x2f3163['SGiIW'](_0x6fa2a1[_0x2fda8e(0x207)][_0x2fda8e(0x2ac)],0x0)){console[_0x2fda8e(0x23e)](_0x2fda8e(0x293)+_0x2f3163['ORXtK'](_0x3d9297,0x1)+':\x20\x22'+_0x54c56a[_0x2fda8e(0x253)]+'\x22'+_0x57b781+_0x2fda8e(0x2c6)+_0x6fa2a1[_0x2fda8e(0x207)]['length']+_0x2fda8e(0x289));for(const _0x110f65 of _0x6fa2a1[_0x2fda8e(0x207)]){const _0x248879=new Date(_0x110f65['createdAt'])['toLocaleDateString'](_0x2fda8e(0x23f),{'month':'short','day':_0x2fda8e(0x2c7)}),_0x334976=_0x110f65['authorName']||_0x110f65['authorEmail']||_0x2f3163['FaQqv'];console['log'](_0x2fda8e(0x2b9)+_0x334976+'\x20('+_0x248879+'):\x20\x22'+_0x110f65['content']+'\x22');if(_0x110f65['assetUrl']){const _0x54e401=await downloadFeedbackImage(_0x110f65['assetUrl'],_0x110f65['id']);_0x54e401&&console['log']('\x20\x20\x20\x20\x20📷\x20Screenshot:\x20'+_0x54e401);}if(_0x110f65['domRef']){const _0x37ce37=_0x110f65[_0x2fda8e(0x26d)]['selector'][_0x2fda8e(0x1ed)]('\x20>\x20')[_0x2fda8e(0x26e)]()?.[_0x2fda8e(0x1ed)](':')[0x0]||_0x2f3163['QZBvJ'],_0x2ec66b=_0x110f65['domRef']['textContent']?'\x20\x22'+_0x110f65[_0x2fda8e(0x26d)][_0x2fda8e(0x27d)]['slice'](0x0,0x3c)+'\x22':'';console[_0x2fda8e(0x23e)](_0x2fda8e(0x27c)+_0x37ce37+'>'+_0x2ec66b),console['log']('\x20\x20\x20\x20\x20📋\x20Selector:\x20'+_0x110f65[_0x2fda8e(0x26d)]['selector']);}else{if(_0x110f65[_0x2fda8e(0x1e1)]){const _0x1aad48=_0x110f65['spatial']['coordinates'];_0x2f3163[_0x2fda8e(0x257)](_0x110f65['spatial'][_0x2fda8e(0x29c)],_0x2f3163[_0x2fda8e(0x214)])&&_0x1aad48[_0x2fda8e(0x2ac)]>=0x2?console['log'](_0x2fda8e(0x1e5)+_0x1aad48[0x0][_0x2fda8e(0x1ea)](0x2)+',\x20'+_0x1aad48[0x1][_0x2fda8e(0x1ea)](0x2)+')'):console[_0x2fda8e(0x23e)]('\x20\x20\x20\x20\x20📍\x20Annotation:\x20'+_0x110f65[_0x2fda8e(0x1e1)]['type']+_0x2fda8e(0x29e)+_0x1aad48['map'](_0xf8795e=>_0xf8795e['toFixed'](0x2))[_0x2fda8e(0x2c9)](',\x20')+']');}}}if(_0x6fa2a1[_0x2fda8e(0x201)]){console[_0x2fda8e(0x23e)]('\x20\x20Expected\x20flow:');for(const _0x37240c of _0x6fa2a1[_0x2fda8e(0x201)][_0x2fda8e(0x1ed)]('\x0a')){console['log'](_0x2fda8e(0x237)+_0x37240c);}}}else console['log']('Scenario\x20'+_0x2f3163[_0x2fda8e(0x271)](_0x3d9297,0x1)+_0x2fda8e(0x243)+_0x54c56a['description']+'\x22'+_0x57b781+_0x2fda8e(0x221)),console['log'](_0x2fda8e(0x265));console[_0x2fda8e(0x23e)]('');}}export async function featureDelete(_0xa3a36b){const _0x386881=_0x114e9e,_0x55c1bb={'tCuMH':function(_0x3b2b47){return _0x3b2b47();},'dRwJD':'No\x20feature\x20review\x20ID\x20provided\x20and\x20no\x20active\x20feature\x20review\x20set.\x20Run:\x20ranger\x20resume\x20<id>\x20to\x20set\x20an\x20active\x20feature\x20review','wPUiK':function(_0x2b59de,_0x12a094){return _0x2b59de(_0x12a094);},'eremE':function(_0x4c503c,_0x208f8c){return _0x4c503c(_0x208f8c);},'GfFXX':function(_0x2cf1e8,_0x407b4d){return _0x2cf1e8+_0x407b4d;},'CPubY':_0x386881(0x2c2)},_0x5c66a8=_0xa3a36b||await _0x55c1bb[_0x386881(0x29b)](getActiveFeatureId);if(!_0x5c66a8)throw new Error(_0x55c1bb['dRwJD']);const _0x2ceef7=await _0x55c1bb[_0x386881(0x266)](getFeature,_0x5c66a8);await _0x55c1bb['eremE'](softDeleteFeature,_0x5c66a8),console[_0x386881(0x23e)]('\x0a🗑️\x20\x20Deleted\x20feature\x20review:\x20'+_0x2ceef7['name']+'\x20('+_0x5c66a8+')'),console[_0x386881(0x23e)](_0x55c1bb['GfFXX'](_0x55c1bb['CPubY'],_0x5c66a8));}export async function featureRestore(_0x3a1402){const _0xc66e07=_0x114e9e,_0x1f2db7={'DYCpO':function(_0x4b7541,_0x243319){return _0x4b7541(_0x243319);}};await _0x1f2db7['DYCpO'](restoreFeature,_0x3a1402);const _0x53b943=await getFeature(_0x3a1402);console['log'](_0xc66e07(0x275)+_0x53b943[_0xc66e07(0x1e4)]+'\x20('+_0x3a1402+')'),displayFeature(_0x53b943,_0x53b943['checklistItems']);}
@@ -1 +1 @@
1
- (function(_0x5000f8,_0x1e7f21){const _0x14d072=_0x281b,_0x21bf73=_0x5000f8();while(!![]){try{const _0xb8fa87=parseInt(_0x14d072(0x1fb))/0x1*(-parseInt(_0x14d072(0x1fc))/0x2)+parseInt(_0x14d072(0x1f5))/0x3+-parseInt(_0x14d072(0x201))/0x4+parseInt(_0x14d072(0x200))/0x5*(parseInt(_0x14d072(0x1f8))/0x6)+-parseInt(_0x14d072(0x203))/0x7+-parseInt(_0x14d072(0x1f1))/0x8+-parseInt(_0x14d072(0x1fa))/0x9*(-parseInt(_0x14d072(0x1fd))/0xa);if(_0xb8fa87===_0x1e7f21)break;else _0x21bf73['push'](_0x21bf73['shift']());}catch(_0x3aa96d){_0x21bf73['push'](_0x21bf73['shift']());}}}(_0x4e1e,0x617b5));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x4e1e(){const _0x4d1208=['keys','Valid\x20hooks:\x20','533586ZaZiBZ','SIGHUP','945wzsKNJ','529oBuByB','2026ybqJLT','70730eIopvy','error','exit','10xIeaQS','1147488aVlFsD','bUJTS','579348JDOuvu','once','638368vUVBqw','Unknown\x20hook:\x20','join','uwOzC','1392201NQPSWi'];_0x4e1e=function(){return _0x4d1208;};return _0x4e1e();}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x22a128=_0x281b,_0x36538c={'bUJTS':'SIGINT'};if(cancellationHandlersInstalled)return;const _0x87fcb4=()=>{process['exit'](0x0);};process[_0x22a128(0x204)](_0x36538c[_0x22a128(0x202)],_0x87fcb4),process[_0x22a128(0x204)]('SIGTERM',_0x87fcb4),process['once'](_0x22a128(0x1f9),_0x87fcb4),cancellationHandlersInstalled=!![];}function _0x281b(_0x373aeb,_0x50b4f7){_0x373aeb=_0x373aeb-0x1f1;const _0x4e1e7b=_0x4e1e();let _0x281b54=_0x4e1e7b[_0x373aeb];return _0x281b54;}export async function hook(_0xafcd3e,_0x5a3c28){const _0xd0e830=_0x281b,_0x5ac822={'uwOzC':function(_0xb1b957){return _0xb1b957();},'SgiDv':function(_0x2c5309,_0x186c2){return _0x2c5309(_0x186c2);}};_0x5ac822[_0xd0e830(0x1f4)](installCancellationHandlers);const _0x2bece4=HOOKS[_0xafcd3e];if(!_0x2bece4){const _0x2f5b63=Object[_0xd0e830(0x1f6)](HOOKS)[_0xd0e830(0x1f3)](',\x20');console[_0xd0e830(0x1fe)](_0xd0e830(0x1f2)+_0xafcd3e),console['error'](_0xd0e830(0x1f7)+_0x2f5b63),process[_0xd0e830(0x1ff)](0x1);}await _0x5ac822['SgiDv'](_0x2bece4,_0x5a3c28);}
1
+ (function(_0x48d4a5,_0x288efa){const _0x55ef18=_0x2695,_0x137a68=_0x48d4a5();while(!![]){try{const _0x46cf33=parseInt(_0x55ef18(0x1c3))/0x1+-parseInt(_0x55ef18(0x1c8))/0x2+-parseInt(_0x55ef18(0x1c9))/0x3+-parseInt(_0x55ef18(0x1cb))/0x4+-parseInt(_0x55ef18(0x1d1))/0x5+parseInt(_0x55ef18(0x1cd))/0x6+-parseInt(_0x55ef18(0x1c5))/0x7*(-parseInt(_0x55ef18(0x1cc))/0x8);if(_0x46cf33===_0x288efa)break;else _0x137a68['push'](_0x137a68['shift']());}catch(_0x23350b){_0x137a68['push'](_0x137a68['shift']());}}}(_0x4c58,0x28039));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x27a8a3=_0x2695,_0x2d724f={'HjjNm':_0x27a8a3(0x1c4),'iwDEw':_0x27a8a3(0x1d0),'xkFKE':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x216a21=()=>{process['exit'](0x0);};process['once'](_0x2d724f['HjjNm'],_0x216a21),process['once'](_0x2d724f['iwDEw'],_0x216a21),process['once'](_0x2d724f[_0x27a8a3(0x1ce)],_0x216a21),cancellationHandlersInstalled=!![];}function _0x2695(_0x42db2b,_0x1c196c){_0x42db2b=_0x42db2b-0x1c3;const _0x4c581c=_0x4c58();let _0x269506=_0x4c581c[_0x42db2b];return _0x269506;}export async function hook(_0x3a66b3,_0x42a159){const _0x340da8=_0x2695,_0x16aece={'fFLbf':function(_0x53e88e,_0x2da120){return _0x53e88e(_0x2da120);}};installCancellationHandlers();const _0x5ad5c0=HOOKS[_0x3a66b3];if(!_0x5ad5c0){const _0x51ad7c=Object[_0x340da8(0x1c6)](HOOKS)['join'](',\x20');console[_0x340da8(0x1cf)]('Unknown\x20hook:\x20'+_0x3a66b3),console[_0x340da8(0x1cf)](_0x340da8(0x1ca)+_0x51ad7c),process[_0x340da8(0x1c7)](0x1);}await _0x16aece['fFLbf'](_0x5ad5c0,_0x42a159);}function _0x4c58(){const _0x167397=['40587MtIyvc','Valid\x20hooks:\x20','824196TAFgxO','4422984AJRksH','1168764nwYtyi','xkFKE','error','SIGTERM','843510CgGAii','8803QibZKB','SIGINT','7nfgyuJ','keys','exit','408586RgCRer'];_0x4c58=function(){return _0x167397;};return _0x4c58();}