@ranger-testing/ranger-cli 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,7 +28,7 @@ This walks you through everything interactively:
28
28
  - **Profile** -- prompts for your app's URL, opens a browser to capture login session
29
29
  - **Skills** -- installs markdown files that teach Claude the Ranger workflow
30
30
 
31
- > For CI, pass a token directly: `ranger setup [token]`. See `RANGER_MCP_TOKEN` env var for non-interactive use.
31
+ > For CI, pass a token directly: `ranger setup [token]`. See `RANGER_CLI_TOKEN` env var for non-interactive use.
32
32
 
33
33
  ### 3. Use Ranger in Claude Code
34
34
 
@@ -1 +1 @@
1
- (function(_0x458916,_0x450e06){const _0x5b563c=_0x3e0e,_0xe6f953=_0x458916();while(!![]){try{const _0x13b27e=parseInt(_0x5b563c(0x1a7))/0x1*(parseInt(_0x5b563c(0x195))/0x2)+-parseInt(_0x5b563c(0x166))/0x3+parseInt(_0x5b563c(0x182))/0x4*(-parseInt(_0x5b563c(0x15a))/0x5)+parseInt(_0x5b563c(0x19a))/0x6+parseInt(_0x5b563c(0x1ac))/0x7+-parseInt(_0x5b563c(0x179))/0x8*(parseInt(_0x5b563c(0x1a4))/0x9)+parseInt(_0x5b563c(0x172))/0xa;if(_0x13b27e===_0x450e06)break;else _0xe6f953['push'](_0xe6f953['shift']());}catch(_0x5d7108){_0xe6f953['push'](_0xe6f953['shift']());}}}(_0x5291,0x5db70));import{mkdir,writeFile,readFile,unlink,rm,mkdtemp,rename}from'fs/promises';import{join}from'path';import _0x2acd68 from'inquirer';import{chromium}from'playwright';import{findExistingEnv}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';async function checkUrlReachability(_0x1e139b){const _0x1a426e=_0x3e0e,_0x5c79dd={'qDSxO':'HEAD','cHPvB':_0x1a426e(0x199),'oSTvt':function(_0x58afac,_0x17dd0a){return _0x58afac<_0x17dd0a;},'qahuy':_0x1a426e(0x171),'ZxMas':function(_0x410e9c,_0x4d0813){return _0x410e9c===_0x4d0813;},'MNRTJ':_0x1a426e(0x189)};try{const _0x418492=new AbortController(),_0x1363e4=setTimeout(()=>_0x418492['abort'](),0x1388),_0x1d25b9=await fetch(_0x1e139b,{'method':_0x5c79dd[_0x1a426e(0x16a)],'signal':_0x418492[_0x1a426e(0x1a2)],'redirect':_0x5c79dd[_0x1a426e(0x178)]});clearTimeout(_0x1363e4);if(_0x5c79dd['oSTvt'](_0x1d25b9['status'],0x190))return{'ok':!![]};return{'ok':![],'error':_0x1a426e(0x186)+_0x1d25b9[_0x1a426e(0x160)]};}catch(_0x33d2e1){const _0x11babf=_0x33d2e1,_0xebf9f8=_0x11babf['message']||String(_0x33d2e1),_0x40e803=_0xebf9f8[_0x1a426e(0x18c)](_0x5c79dd[_0x1a426e(0x183)])||_0x5c79dd['ZxMas'](_0x11babf['name'],_0x5c79dd['MNRTJ'])||_0xebf9f8['includes']('fetch\x20failed');return{'ok':![],'error':_0xebf9f8,'isProtocolError':_0x40e803};}}function _0x3e0e(_0x328452,_0x372173){_0x328452=_0x328452-0x14a;const _0x529148=_0x5291();let _0x3e0e33=_0x529148[_0x328452];return _0x3e0e33;}export async function addEnv(_0x59d423,_0x17377f={},_0x516383){const _0x1f75da=_0x3e0e,_0x48f7cb={'UDeKq':'local','JDnhU':function(_0x184614){return _0x184614();},'iBKHC':function(_0x98c914,_0x2e387f,_0x4b2186){return _0x98c914(_0x2e387f,_0x4b2186);},'cttWd':function(_0xa934f8,_0x4a615d){return _0xa934f8&&_0x4a615d;},'ojgqu':function(_0x5e2107,_0x5e1cdb){return _0x5e2107(_0x5e1cdb);},'Oobkr':'confirm','cMKmd':_0x1f75da(0x176),'vBDNa':'url_setup','FeXWH':_0x1f75da(0x15e),'EqhRk':_0x1f75da(0x1a0),'rsJAu':_0x1f75da(0x164),'bVrLe':_0x1f75da(0x154),'KYaVX':_0x1f75da(0x196),'zuyxo':'Enter\x20a\x20new\x20URL\x20(or\x20press\x20enter\x20to\x20keep\x20current):','gazWI':_0x1f75da(0x156),'vSRIa':function(_0x13ae80,_0x2ca844){return _0x13ae80(_0x2ca844);},'JFUtk':_0x1f75da(0x19d),'CAwDm':_0x1f75da(0x165),'RAoyl':_0x1f75da(0x18a),'lyhgw':_0x1f75da(0x15d),'MrkRB':_0x1f75da(0x17b),'saBFB':function(_0x5ac91d,_0x4c6d54){return _0x5ac91d===_0x4c6d54;},'GLEtU':function(_0x2b9485,_0x470000,_0x5471ff){return _0x2b9485(_0x470000,_0x5471ff);},'quPOD':function(_0x284944,_0x2faa77,_0x49d98a){return _0x284944(_0x2faa77,_0x49d98a);},'WBSDQ':'auth.json','yqNnR':_0x1f75da(0x1a6),'KQyuk':'\x20\x20\x20When\x20you\x20are\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','yrZTx':function(_0x233e50,_0x39a1e3){return _0x233e50||_0x39a1e3;},'exLXA':function(_0x5d0c19,_0x29d58e,_0x5c3c7a){return _0x5d0c19(_0x29d58e,_0x5c3c7a);},'rXGjU':'utf-8','OJETT':function(_0x2f10ad){return _0x2f10ad();},'NkuRF':_0x1f75da(0x184),'pmDEL':function(_0x19f9ed,_0x3b2fe5){return _0x19f9ed(_0x3b2fe5);},'Mltjc':'Missing\x20API\x20token;\x20aborting\x20CI\x20profile\x20creation.','HRyFh':function(_0x23fd63,_0xd10a3a){return _0x23fd63+_0xd10a3a;},'UPqoq':'.enc','njxrf':_0x1f75da(0x198),'HSmYk':function(_0x14694b,_0x21c4e4,_0x5c04a0){return _0x14694b(_0x21c4e4,_0x5c04a0);},'lPGiC':function(_0x5dedff,_0x16781d,_0x4d6637){return _0x5dedff(_0x16781d,_0x4d6637);},'oomlK':'Warning:\x20Profile\x20created,\x20but\x20failed\x20to\x20mark\x20it\x20as\x20active.','nEDGt':_0x1f75da(0x18f),'VbZYz':function(_0x5e47a9,_0x20b2a0,_0x322b58){return _0x5e47a9(_0x20b2a0,_0x322b58);}},_0x1007dc=_0x17377f['ci']??![],_0x259974=_0x1007dc?'ci':_0x48f7cb[_0x1f75da(0x155)],_0x4ef221=join(_0x48f7cb['JDnhU'](getRangerDir),_0x259974,_0x59d423),_0x13d3c5=_0x48f7cb[_0x1f75da(0x170)](join,_0x48f7cb[_0x1f75da(0x17e)](getRangerDir),_0x259974),_0x5b9156=!_0x17377f[_0x1f75da(0x153)],_0x551b0b=process[_0x1f75da(0x1a9)]['isTTY']&&process[_0x1f75da(0x163)][_0x1f75da(0x16f)];if(_0x48f7cb[_0x1f75da(0x181)](!_0x551b0b,_0x5b9156))throw new Error('Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20add\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20configure\x20profiles\x20non-interactively:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20add\x20<name>\x20--ci\x22\x20in\x20an\x20interactive\x20terminal\x20first\x0a\x20\x202.\x20Commit\x20the\x20encrypted\x20auth\x20file\x20(.ranger/ci/<profile>/auth.json.enc)\x20to\x20git\x0a\x20\x203.\x20Use\x20\x22ranger\x20setup\x20[token]\x22\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime');const _0x1b0de0=_0x48f7cb['ojgqu'](findExistingEnv,_0x59d423);let _0x29b4dd=null;if(_0x1b0de0){if(_0x1b0de0['location']===_0x259974){const {overwrite:_0x2f2763}=await _0x2acd68[_0x1f75da(0x18e)]([{'type':_0x48f7cb[_0x1f75da(0x1a3)],'name':_0x1f75da(0x194),'message':'Profile\x20\x22'+_0x59d423+_0x1f75da(0x15b),'default':![]}]);if(!_0x2f2763){console[_0x1f75da(0x177)](_0x48f7cb['cMKmd']);return;}_0x29b4dd=_0x1b0de0;}else{const _0x4f2121=_0x1b0de0['location']===_0x1f75da(0x1a1)?'root\x20(.ranger/)':_0x1b0de0['location'];console['error']('\x0a⚠️\x20\x20Profile\x20\x22'+_0x59d423+_0x1f75da(0x191)+_0x4f2121+':\x20'+_0x1b0de0['path']),console[_0x1f75da(0x192)](_0x1f75da(0x19c)+_0x259974+_0x1f75da(0x168));const {shouldReplace:_0x2a73e1}=await _0x2acd68['prompt']([{'type':_0x48f7cb['Oobkr'],'name':'shouldReplace','message':'Delete\x20existing\x20and\x20create\x20new\x20in\x20'+_0x259974+'?','default':![]}]);if(!_0x2a73e1){console['log'](_0x48f7cb['cMKmd']);return;}_0x29b4dd=_0x1b0de0;}}_0x516383?.['trackPhaseStart'](_0x48f7cb['vBDNa']),console[_0x1f75da(0x177)](_0x48f7cb['FeXWH']),console['log'](_0x48f7cb[_0x1f75da(0x1ab)]),console[_0x1f75da(0x177)](_0x48f7cb['rsJAu']);let _0x5d49d3='',_0x372c6e=![];while(!![]){const _0x35e142=await _0x2acd68[_0x1f75da(0x18e)]([{'type':_0x48f7cb['bVrLe'],'name':_0x48f7cb[_0x1f75da(0x1a5)],'message':_0x372c6e?_0x48f7cb[_0x1f75da(0x14f)]:_0x1f75da(0x14b),'default':_0x5d49d3||_0x48f7cb[_0x1f75da(0x190)]}]);_0x5d49d3=_0x35e142[_0x1f75da(0x196)];const _0x1fc7d3=await _0x48f7cb['vSRIa'](checkUrlReachability,_0x5d49d3);if(_0x1fc7d3['ok'])break;const _0x1742d1=/^[a-zA-Z][\w+.-]*:\/\//[_0x1f75da(0x14a)](_0x5d49d3),_0x52a195=_0x1fc7d3['isProtocolError']&&!_0x1742d1,_0x221d96=_0x52a195?'http://'+_0x5d49d3:null;_0x372c6e=!![],console[_0x1f75da(0x177)]('\x0a\x20\x20Could\x20not\x20reach\x20'+_0x5d49d3+':\x20'+_0x1fc7d3['error']);_0x221d96&&console[_0x1f75da(0x177)]('\x20\x20Did\x20you\x20mean\x20'+_0x221d96+'?');const {action:_0xe40641}=await _0x2acd68[_0x1f75da(0x18e)]([{'type':_0x48f7cb['JFUtk'],'name':'action','message':_0x1f75da(0x19b),'choices':[..._0x221d96?[{'name':'Use\x20'+_0x221d96,'value':_0x48f7cb[_0x1f75da(0x18b)]}]:[],{'name':_0x1f75da(0x188),'value':_0x48f7cb['RAoyl']},{'name':_0x48f7cb['lyhgw'],'value':_0x48f7cb['MrkRB']}]}]);if(_0x48f7cb[_0x1f75da(0x19f)](_0xe40641,'use_suggestion')&&_0x221d96){_0x5d49d3=_0x221d96;const _0x218818=await _0x48f7cb[_0x1f75da(0x151)](checkUrlReachability,_0x5d49d3);if(_0x218818['ok'])break;console['log'](_0x1f75da(0x16c)+_0x5d49d3+':\x20'+_0x218818['error']);}else{if(_0xe40641===_0x1f75da(0x17b))break;}}_0x516383?.[_0x1f75da(0x167)](_0x48f7cb[_0x1f75da(0x14c)]),await _0x48f7cb['GLEtU'](mkdir,_0x13d3c5,{'recursive':!![]});const _0x5889c5=await mkdtemp(join(_0x13d3c5,'.tmp-'+_0x59d423+'-')),_0x2f27bc=_0x48f7cb[_0x1f75da(0x185)](join,_0x5889c5,_0x48f7cb['WBSDQ']);try{if(_0x5b9156){_0x516383?.[_0x1f75da(0x16b)]('browser_auth'),console['log'](_0x48f7cb[_0x1f75da(0x157)]),console['log']('\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20profile\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.'),console[_0x1f75da(0x177)](_0x48f7cb[_0x1f75da(0x17c)]),await new Promise(_0x53c320=>setTimeout(_0x53c320,0xbb8));const _0x2d41f6=await chromium['launch']({'headless':![]});try{const _0x43966c=await _0x2d41f6[_0x1f75da(0x187)]();await _0x48f7cb[_0x1f75da(0x158)](addProfileSetupBanner,_0x43966c);const _0x535085=await _0x43966c[_0x1f75da(0x17d)]();await _0x535085[_0x1f75da(0x180)](_0x48f7cb['yrZTx'](_0x5d49d3,'about:blank')),await new Promise(_0xe05266=>{const _0x2a1de1=_0x1f75da;_0x535085['on'](_0x2a1de1(0x193),async()=>{const _0x200dc4=_0x2a1de1;try{console['log'](_0x200dc4(0x1aa)),await _0x43966c['storageState']({'path':_0x2f27bc});}catch{}_0xe05266();});});}finally{await _0x2d41f6[_0x1f75da(0x193)]()['catch'](()=>{});}if(_0x1007dc){const _0xde9be5=await _0x48f7cb['exLXA'](readFile,_0x2f27bc,_0x48f7cb[_0x1f75da(0x173)]),_0x2946a4=await _0x48f7cb[_0x1f75da(0x169)](getToken);if(!_0x2946a4){console['error'](_0x48f7cb[_0x1f75da(0x17a)]),await _0x48f7cb[_0x1f75da(0x162)](unlink,_0x2f27bc)[_0x1f75da(0x15f)](()=>{});throw new Error(_0x48f7cb[_0x1f75da(0x197)]);}else{const _0x4fdfb5=encrypt(_0xde9be5,_0x2946a4);await writeFile(_0x48f7cb[_0x1f75da(0x15c)](_0x2f27bc,_0x48f7cb['UPqoq']),_0x4fdfb5),await unlink(_0x2f27bc),console[_0x1f75da(0x177)]('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x2f27bc+_0x1f75da(0x1a8)),console['log'](_0x1f75da(0x17f)),console[_0x1f75da(0x177)](_0x1f75da(0x150));}}else console[_0x1f75da(0x177)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x2f27bc);_0x516383?.[_0x1f75da(0x167)](_0x48f7cb[_0x1f75da(0x16e)]);}_0x516383?.['trackPhaseStart'](_0x1f75da(0x18f));const _0x3dff9f={};_0x5d49d3&&(_0x3dff9f['baseUrl']=_0x5d49d3);await _0x48f7cb[_0x1f75da(0x18d)](writeFile,_0x48f7cb[_0x1f75da(0x159)](join,_0x5889c5,_0x1f75da(0x14d)),JSON['stringify'](_0x3dff9f,null,0x2)),console[_0x1f75da(0x177)]('✓\x20Created\x20settings:\x20'+join(_0x4ef221,_0x1f75da(0x14d)));if(_0x48f7cb['saBFB'](_0x29b4dd?.['location'],_0x259974)){const _0x320c6a=_0x29b4dd['path']+'.backup-'+Date['now']();await rename(_0x29b4dd[_0x1f75da(0x19e)],_0x320c6a);try{await _0x48f7cb['quPOD'](rename,_0x5889c5,_0x4ef221);}catch(_0x1dd367){await rename(_0x320c6a,_0x29b4dd[_0x1f75da(0x19e)]);throw _0x1dd367;}try{await rm(_0x320c6a,{'recursive':!![]});}catch{console['log'](_0x1f75da(0x14e)+_0x320c6a);}}else{await rename(_0x5889c5,_0x4ef221);if(_0x29b4dd)try{await rm(_0x29b4dd['path'],{'recursive':!![]}),console['log'](_0x1f75da(0x161)+_0x29b4dd[_0x1f75da(0x19e)]);}catch{console[_0x1f75da(0x177)](_0x1f75da(0x152)+_0x29b4dd['path']);}}try{await _0x48f7cb['pmDEL'](writeActiveProfileName,_0x59d423),console[_0x1f75da(0x177)](_0x1f75da(0x175)+_0x59d423);}catch{console[_0x1f75da(0x177)](_0x48f7cb['oomlK']);}_0x516383?.[_0x1f75da(0x167)](_0x48f7cb['nEDGt']),console['log'](_0x1f75da(0x16d)+_0x59d423+_0x1f75da(0x174));}catch(_0x2af7df){await _0x48f7cb['VbZYz'](rm,_0x5889c5,{'recursive':!![],'force':!![]});throw _0x2af7df;}}function _0x5291(){const _0x4195ed=['path','saBFB','\x20\x20Make\x20sure\x20your\x20app\x20is\x20running\x20locally\x20before\x20continuing.','legacy','signal','Oobkr','18daVBbH','KYaVX','\x0a📋\x20Authentication\x20Setup','1gPTFED','.enc','stdin','Saving\x20authentication\x20state...','EqhRk','422317BxKcNR','test','What\x20is\x20the\x20URL\x20of\x20your\x20running\x20app?','vBDNa','settings.json','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20backup\x20at\x20','zuyxo','\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','vSRIa','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20at\x20','skipAuth','input','UDeKq','http://localhost:3000','yqNnR','ojgqu','lPGiC','125770VzcQjY','\x22\x20already\x20exists.\x20Overwrite?','HRyFh','Continue\x20anyway','\x0a🌐\x20Profile\x20Setup\x0a','catch','status','Removed\x20existing\x20profile\x20at\x20','pmDEL','stdout','\x20\x20Ranger\x20will\x20open\x20it\x20in\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20and\x20save\x20your\x20session.\x0a','use_suggestion','1912926YocYDs','trackPhaseEnd','\x20would\x20shadow\x20the\x20existing\x20profile.','OJETT','qDSxO','trackPhaseStart','\x0a\x20\x20Still\x20could\x20not\x20reach\x20','\x0a\x20\x20Profile\x20\x22','njxrf','isTTY','iBKHC','Invalid\x20URL','10083190KOLnnO','rXGjU','\x22\x20configured','\x20\x20Set\x20active\x20profile:\x20','Aborted.','log','cHPvB','2960968iARttL','NkuRF','continue','KQyuk','newPage','JDnhU','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','goto','cttWd','36dbqqWP','qahuy','\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]','quPOD','HTTP\x20','newContext','Enter\x20a\x20different\x20URL','TypeError','retry','CAwDm','includes','HSmYk','prompt','config_write','gazWI','\x22\x20already\x20exists\x20in\x20','error','close','overwrite','955106SxsnYm','baseUrl','Mltjc','browser_auth','manual','2651538bGIDhq','What\x20would\x20you\x20like\x20to\x20do?','\x20\x20\x20Creating\x20it\x20in\x20','list'];_0x5291=function(){return _0x4195ed;};return _0x5291();}
1
+ (function(_0x56091f,_0x3e242e){const _0x164041=_0x54cc,_0xd5200=_0x56091f();while(!![]){try{const _0x4e32da=parseInt(_0x164041(0xb9))/0x1+parseInt(_0x164041(0xa4))/0x2*(parseInt(_0x164041(0x86))/0x3)+parseInt(_0x164041(0x73))/0x4+-parseInt(_0x164041(0x79))/0x5+-parseInt(_0x164041(0x9b))/0x6*(-parseInt(_0x164041(0x88))/0x7)+parseInt(_0x164041(0xaa))/0x8*(-parseInt(_0x164041(0xb8))/0x9)+-parseInt(_0x164041(0x70))/0xa;if(_0x4e32da===_0x3e242e)break;else _0xd5200['push'](_0xd5200['shift']());}catch(_0x341743){_0xd5200['push'](_0xd5200['shift']());}}}(_0x5afe,0x7b6a1));import{mkdir,writeFile,readFile,unlink,rm,mkdtemp,rename}from'fs/promises';import{join}from'path';import _0x20fd05 from'inquirer';import{chromium}from'playwright';import{findExistingEnv}from'./utils/settings.js';import{encrypt}from'./utils/crypto.js';function _0x5afe(){const _0x5aeace=['Continue\x20anyway','skipAuth','isProtocolError','now','list','JdZaI','location','hnZIf','\x20\x20\x20Creating\x20it\x20in\x20','Invalid\x20URL','wyGKY','nCwnf','\x20\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20to\x20the\x20profile\x20you\x20want\x20to\x20test\x20so\x20Ranger\x20can\x20access\x20it.','\x22\x20configured','shouldReplace','18UUdXys','✓\x20Created\x20settings:\x20','\x22\x20already\x20exists.\x20Overwrite?','retry','Saving\x20authentication\x20state...','goto','wxTtW','WplSi','\x20\x20Did\x20you\x20mean\x20','8eQhevj','abort','zeLLV','launch','action','\x0a\x20\x20Could\x20not\x20reach\x20','24nyfuDo','prompt','JNXjC','HEAD','close','log','stringify','.tmp-','input','BFobv','HHCdG','Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20at\x20','status','trackPhaseEnd','1156257qHQihn','11279lGEuZn','Nqail','saFHZ','roZdG','smfAQ','utf-8','xlWzA','2434790eQBqIe','bCRDG','vIMBu','3812736BKvPSL','VDfqs','WUYNv','error','Delete\x20existing\x20and\x20create\x20new\x20in\x20','manual','2863255pxIpQS','.enc','browser_auth','config_write','MAllX','path','continue','message','PrXQj','✓\x20Auth\x20state\x20saved\x20to:\x20','TypeError','includes','baseUrl','59331QKwiaD','catch','1548127yMgsbm','trackPhaseStart','isTTY','newContext'];_0x5afe=function(){return _0x5aeace;};return _0x5afe();}import{getToken}from'./utils/keychain.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{addProfileSetupBanner}from'./utils/profileSetupBanner.js';async function checkUrlReachability(_0x275f2a){const _0x9f3a50=_0x54cc,_0x5514a2={'SKcRK':function(_0xde7867,_0x425bd8,_0x53162f){return _0xde7867(_0x425bd8,_0x53162f);},'smfAQ':_0x9f3a50(0xad),'cwJLM':function(_0x106593,_0x4a44cc){return _0x106593<_0x4a44cc;},'eWPlb':function(_0x308e06,_0x1b17de){return _0x308e06(_0x1b17de);},'nmXoX':_0x9f3a50(0x95),'xTEez':function(_0x2fc2c8,_0x2f7978){return _0x2fc2c8===_0x2f7978;}};try{const _0x1b13bd=new AbortController(),_0x1c184c=setTimeout(()=>_0x1b13bd[_0x9f3a50(0xa5)](),0x1388),_0x352601=await _0x5514a2['SKcRK'](fetch,_0x275f2a,{'method':_0x5514a2[_0x9f3a50(0x6d)],'signal':_0x1b13bd['signal'],'redirect':_0x9f3a50(0x78)});clearTimeout(_0x1c184c);if(_0x5514a2['cwJLM'](_0x352601[_0x9f3a50(0xb6)],0x190))return{'ok':!![]};return{'ok':![],'error':'HTTP\x20'+_0x352601['status']};}catch(_0x1c7893){const _0x1d77bd=_0x1c7893,_0xc2ed58=_0x1d77bd[_0x9f3a50(0x80)]||_0x5514a2['eWPlb'](String,_0x1c7893),_0x46f79b=_0xc2ed58[_0x9f3a50(0x84)](_0x5514a2['nmXoX'])||_0x5514a2['xTEez'](_0x1d77bd['name'],_0x9f3a50(0x83))||_0xc2ed58['includes']('fetch\x20failed');return{'ok':![],'error':_0xc2ed58,'isProtocolError':_0x46f79b};}}function _0x54cc(_0x3fbaa8,_0x129bd9){_0x3fbaa8=_0x3fbaa8-0x6c;const _0x5afe26=_0x5afe();let _0x54cc1d=_0x5afe26[_0x3fbaa8];return _0x54cc1d;}export async function addEnv(_0x247d9c,_0x50ae24={},_0x237b1e){const _0x5820c7=_0x54cc,_0x2a995e={'gJusB':function(_0x15bb38,_0x3f5c0b){return _0x15bb38===_0x3f5c0b;},'bCRDG':'confirm','zeLLV':'Aborted.','MAllX':'root\x20(.ranger/)','JNXjC':'url_setup','wyGKY':'\x0a🌐\x20Profile\x20Setup\x0a','vIMBu':'\x20\x20Ranger\x20will\x20open\x20it\x20in\x20a\x20browser\x20so\x20you\x20can\x20log\x20in\x20and\x20save\x20your\x20session.\x0a','qyThJ':_0x5820c7(0xb2),'xWzwd':_0x5820c7(0x85),'AQYon':'What\x20is\x20the\x20URL\x20of\x20your\x20running\x20app?','LeGcs':function(_0x20ba58,_0x5ab5db){return _0x20ba58||_0x5ab5db;},'fNnTI':function(_0x17ff6c,_0x4ec41c){return _0x17ff6c(_0x4ec41c);},'lJSTm':'What\x20would\x20you\x20like\x20to\x20do?','BFobv':_0x5820c7(0x9e),'JdZaI':_0x5820c7(0x7f),'bzCda':'use_suggestion','Nqail':function(_0x2c7606,_0x500507,_0x3377f6){return _0x2c7606(_0x500507,_0x3377f6);},'VDfqs':function(_0x3fe4e9,_0x549f2f,_0x103449){return _0x3fe4e9(_0x549f2f,_0x103449);},'zcuTm':function(_0x86cdcf,_0x44069f,_0x4ed17b){return _0x86cdcf(_0x44069f,_0x4ed17b);},'hnZIf':_0x5820c7(0x7b),'arKzA':_0x5820c7(0x98),'wxTtW':'\x20\x20\x20When\x20you\x20are\x20done\x20logging\x20in,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','roZdG':'about:blank','fihDI':function(_0x56089f,_0x17d000,_0x22916d){return _0x56089f(_0x17d000,_0x22916d);},'KQaNV':_0x5820c7(0x6e),'WUYNv':function(_0x31cdf2){return _0x31cdf2();},'nCwnf':'Missing\x20API\x20token;\x20aborting\x20CI\x20profile\x20creation.','ZaKsF':function(_0x22ca89,_0x330151){return _0x22ca89+_0x330151;},'WplSi':'\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','dmmyO':'\x20\x20Run\x20ranger\x20setup\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','PrXQj':function(_0x43e52a,_0x1a6ba2,_0x2cf6bf){return _0x43e52a(_0x1a6ba2,_0x2cf6bf);},'HHCdG':'settings.json','saFHZ':function(_0x168d0a,_0x8de4b1,_0x473b84){return _0x168d0a(_0x8de4b1,_0x473b84);},'GCnwI':function(_0x95e7d9,_0x511788,_0x20ebc6){return _0x95e7d9(_0x511788,_0x20ebc6);},'vYoBW':'Warning:\x20Profile\x20created,\x20but\x20failed\x20to\x20mark\x20it\x20as\x20active.','KnfjK':'config_write'},_0xa64031=_0x50ae24['ci']??![],_0x18923e=_0xa64031?'ci':'local',_0x3ad18c=join(getRangerDir(),_0x18923e,_0x247d9c),_0xb16026=join(getRangerDir(),_0x18923e),_0x28600c=!_0x50ae24[_0x5820c7(0x8d)],_0x4a2677=process['stdin'][_0x5820c7(0x8a)]&&process['stdout'][_0x5820c7(0x8a)];if(!_0x4a2677&&_0x28600c)throw new Error('Non-interactive\x20mode\x20detected.\x0aThe\x20\x22ranger\x20profile\x20add\x22\x20command\x20requires\x20interactive\x20browser\x20authentication\x20and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).\x0aTo\x20configure\x20profiles\x20non-interactively:\x0a\x20\x201.\x20Run\x20\x22ranger\x20profile\x20add\x20<name>\x20--ci\x22\x20in\x20an\x20interactive\x20terminal\x20first\x0a\x20\x202.\x20Commit\x20the\x20encrypted\x20auth\x20file\x20(.ranger/ci/<profile>/auth.json.enc)\x20to\x20git\x0a\x20\x203.\x20Use\x20\x22ranger\x20setup\x20[token]\x22\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime');const _0x17391c=findExistingEnv(_0x247d9c);let _0x157ac2=null;if(_0x17391c){if(_0x2a995e['gJusB'](_0x17391c[_0x5820c7(0x92)],_0x18923e)){const {overwrite:_0x14ed9e}=await _0x20fd05['prompt']([{'type':_0x2a995e[_0x5820c7(0x71)],'name':'overwrite','message':'Profile\x20\x22'+_0x247d9c+_0x5820c7(0x9d),'default':![]}]);if(!_0x14ed9e){console['log'](_0x2a995e[_0x5820c7(0xa6)]);return;}_0x157ac2=_0x17391c;}else{const _0x50c63f=_0x2a995e['gJusB'](_0x17391c[_0x5820c7(0x92)],'legacy')?_0x2a995e[_0x5820c7(0x7d)]:_0x17391c[_0x5820c7(0x92)];console[_0x5820c7(0x76)]('\x0a⚠️\x20\x20Profile\x20\x22'+_0x247d9c+'\x22\x20already\x20exists\x20in\x20'+_0x50c63f+':\x20'+_0x17391c['path']),console[_0x5820c7(0x76)](_0x5820c7(0x94)+_0x18923e+'\x20would\x20shadow\x20the\x20existing\x20profile.');const {shouldReplace:_0x1a14da}=await _0x20fd05['prompt']([{'type':_0x2a995e[_0x5820c7(0x71)],'name':_0x5820c7(0x9a),'message':_0x5820c7(0x77)+_0x18923e+'?','default':![]}]);if(!_0x1a14da){console['log'](_0x2a995e[_0x5820c7(0xa6)]);return;}_0x157ac2=_0x17391c;}}_0x237b1e?.[_0x5820c7(0x89)](_0x2a995e[_0x5820c7(0xac)]),console[_0x5820c7(0xaf)](_0x2a995e[_0x5820c7(0x96)]),console['log']('\x20\x20Make\x20sure\x20your\x20app\x20is\x20running\x20locally\x20before\x20continuing.'),console[_0x5820c7(0xaf)](_0x2a995e[_0x5820c7(0x72)]);let _0x2793a8='',_0x3c8644=![];while(!![]){const _0x4e7057=await _0x20fd05['prompt']([{'type':_0x2a995e['qyThJ'],'name':_0x2a995e['xWzwd'],'message':_0x3c8644?'Enter\x20a\x20new\x20URL\x20(or\x20press\x20enter\x20to\x20keep\x20current):':_0x2a995e['AQYon'],'default':_0x2a995e['LeGcs'](_0x2793a8,'http://localhost:3000')}]);_0x2793a8=_0x4e7057['baseUrl'];const _0x4edc00=await _0x2a995e['fNnTI'](checkUrlReachability,_0x2793a8);if(_0x4edc00['ok'])break;const _0x38a580=/^[a-zA-Z][\w+.-]*:\/\//['test'](_0x2793a8),_0x16f941=_0x4edc00[_0x5820c7(0x8e)]&&!_0x38a580,_0x4ff81b=_0x16f941?'http://'+_0x2793a8:null;_0x3c8644=!![],console['log'](_0x5820c7(0xa9)+_0x2793a8+':\x20'+_0x4edc00['error']);_0x4ff81b&&console[_0x5820c7(0xaf)](_0x5820c7(0xa3)+_0x4ff81b+'?');const {action:_0x489b42}=await _0x20fd05[_0x5820c7(0xab)]([{'type':_0x5820c7(0x90),'name':_0x5820c7(0xa8),'message':_0x2a995e['lJSTm'],'choices':[..._0x4ff81b?[{'name':'Use\x20'+_0x4ff81b,'value':'use_suggestion'}]:[],{'name':'Enter\x20a\x20different\x20URL','value':_0x2a995e[_0x5820c7(0xb3)]},{'name':_0x5820c7(0x8c),'value':_0x2a995e[_0x5820c7(0x91)]}]}]);if(_0x2a995e['gJusB'](_0x489b42,_0x2a995e['bzCda'])&&_0x4ff81b){_0x2793a8=_0x4ff81b;const _0x29de14=await checkUrlReachability(_0x2793a8);if(_0x29de14['ok'])break;console[_0x5820c7(0xaf)]('\x0a\x20\x20Still\x20could\x20not\x20reach\x20'+_0x2793a8+':\x20'+_0x29de14[_0x5820c7(0x76)]);}else{if(_0x2a995e['gJusB'](_0x489b42,_0x5820c7(0x7f)))break;}}_0x237b1e?.[_0x5820c7(0xb7)]('url_setup'),await _0x2a995e[_0x5820c7(0xba)](mkdir,_0xb16026,{'recursive':!![]});const _0x4c9e6f=await mkdtemp(_0x2a995e[_0x5820c7(0x74)](join,_0xb16026,_0x5820c7(0xb1)+_0x247d9c+'-')),_0x182612=_0x2a995e['zcuTm'](join,_0x4c9e6f,'auth.json');try{if(_0x28600c){_0x237b1e?.['trackPhaseStart'](_0x2a995e[_0x5820c7(0x93)]),console[_0x5820c7(0xaf)]('\x0a📋\x20Authentication\x20Setup'),console[_0x5820c7(0xaf)](_0x2a995e['arKzA']),console['log'](_0x2a995e[_0x5820c7(0xa1)]),await new Promise(_0x4f4f6c=>setTimeout(_0x4f4f6c,0xbb8));const _0x448f56=await chromium[_0x5820c7(0xa7)]({'headless':![]});try{const _0xca3fcb=await _0x448f56[_0x5820c7(0x8b)]();await addProfileSetupBanner(_0xca3fcb);const _0x911f3a=await _0xca3fcb['newPage']();await _0x911f3a[_0x5820c7(0xa0)](_0x2a995e['LeGcs'](_0x2793a8,_0x2a995e[_0x5820c7(0x6c)])),await new Promise(_0x5809a0=>{const _0x2c3210={'xlWzA':function(_0x3ce816){return _0x3ce816();}};_0x911f3a['on']('close',async()=>{const _0x12cb96=_0x54cc;try{console['log'](_0x12cb96(0x9f)),await _0xca3fcb['storageState']({'path':_0x182612});}catch{}_0x2c3210[_0x12cb96(0x6f)](_0x5809a0);});});}finally{await _0x448f56[_0x5820c7(0xae)]()[_0x5820c7(0x87)](()=>{});}if(_0xa64031){const _0x1c4254=await _0x2a995e['fihDI'](readFile,_0x182612,_0x2a995e['KQaNV']),_0x1b2ab2=await _0x2a995e[_0x5820c7(0x75)](getToken);if(!_0x1b2ab2){console[_0x5820c7(0x76)]('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20setup\x20[token]'),await unlink(_0x182612)[_0x5820c7(0x87)](()=>{});throw new Error(_0x2a995e[_0x5820c7(0x97)]);}else{const _0x30a5b0=encrypt(_0x1c4254,_0x1b2ab2);await writeFile(_0x2a995e['ZaKsF'](_0x182612,_0x5820c7(0x7a)),_0x30a5b0),await unlink(_0x182612),console[_0x5820c7(0xaf)]('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x182612+_0x5820c7(0x7a)),console[_0x5820c7(0xaf)](_0x2a995e[_0x5820c7(0xa2)]),console['log'](_0x2a995e['dmmyO']);}}else console[_0x5820c7(0xaf)](_0x5820c7(0x82)+_0x182612);_0x237b1e?.[_0x5820c7(0xb7)](_0x2a995e['hnZIf']);}_0x237b1e?.['trackPhaseStart'](_0x5820c7(0x7c));const _0x22e5d7={};_0x2793a8&&(_0x22e5d7[_0x5820c7(0x85)]=_0x2793a8);await writeFile(_0x2a995e[_0x5820c7(0x81)](join,_0x4c9e6f,_0x2a995e[_0x5820c7(0xb4)]),JSON[_0x5820c7(0xb0)](_0x22e5d7,null,0x2)),console[_0x5820c7(0xaf)](_0x5820c7(0x9c)+_0x2a995e[_0x5820c7(0xbb)](join,_0x3ad18c,'settings.json'));if(_0x157ac2?.['location']===_0x18923e){const _0x4d75c2=_0x157ac2[_0x5820c7(0x7e)]+'.backup-'+Date[_0x5820c7(0x8f)]();await rename(_0x157ac2[_0x5820c7(0x7e)],_0x4d75c2);try{await rename(_0x4c9e6f,_0x3ad18c);}catch(_0x25ff72){await _0x2a995e[_0x5820c7(0x74)](rename,_0x4d75c2,_0x157ac2['path']);throw _0x25ff72;}try{await _0x2a995e['GCnwI'](rm,_0x4d75c2,{'recursive':!![]});}catch{console[_0x5820c7(0xaf)]('Warning:\x20Could\x20not\x20remove\x20old\x20profile\x20backup\x20at\x20'+_0x4d75c2);}}else{await rename(_0x4c9e6f,_0x3ad18c);if(_0x157ac2)try{await rm(_0x157ac2['path'],{'recursive':!![]}),console[_0x5820c7(0xaf)]('Removed\x20existing\x20profile\x20at\x20'+_0x157ac2[_0x5820c7(0x7e)]);}catch{console['log'](_0x5820c7(0xb5)+_0x157ac2['path']);}}try{await writeActiveProfileName(_0x247d9c),console[_0x5820c7(0xaf)]('\x20\x20Set\x20active\x20profile:\x20'+_0x247d9c);}catch{console[_0x5820c7(0xaf)](_0x2a995e['vYoBW']);}_0x237b1e?.[_0x5820c7(0xb7)](_0x2a995e['KnfjK']),console[_0x5820c7(0xaf)]('\x0a\x20\x20Profile\x20\x22'+_0x247d9c+_0x5820c7(0x99));}catch(_0xf3a5e3){await rm(_0x4c9e6f,{'recursive':!![],'force':!![]});throw _0xf3a5e3;}}
@@ -1 +1 @@
1
- (function(_0x1c927a,_0x58d74c){const _0x1869b7=_0x4ba0,_0x25e42a=_0x1c927a();while(!![]){try{const _0x183420=parseInt(_0x1869b7(0xc1))/0x1*(parseInt(_0x1869b7(0xb1))/0x2)+parseInt(_0x1869b7(0xba))/0x3+parseInt(_0x1869b7(0xbf))/0x4*(parseInt(_0x1869b7(0xae))/0x5)+-parseInt(_0x1869b7(0xb3))/0x6+-parseInt(_0x1869b7(0xca))/0x7*(-parseInt(_0x1869b7(0xb6))/0x8)+-parseInt(_0x1869b7(0xc2))/0x9*(parseInt(_0x1869b7(0xc7))/0xa)+parseInt(_0x1869b7(0xbd))/0xb*(parseInt(_0x1869b7(0xad))/0xc);if(_0x183420===_0x58d74c)break;else _0x25e42a['push'](_0x25e42a['shift']());}catch(_0x187d75){_0x25e42a['push'](_0x25e42a['shift']());}}}(_0x473e,0x99eeb));import{rm}from'fs/promises';import{join}from'path';function _0x4ba0(_0x57be8b,_0x561660){_0x57be8b=_0x57be8b-0xad;const _0x473e22=_0x473e();let _0x4ba003=_0x473e22[_0x57be8b];return _0x4ba003;}import{existsSync}from'fs';import{spawn}from'child_process';import{deleteAllCredentials}from'./utils/keychain.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getCacheFile}from'./utils/sessionCache.js';async function uninstallClaudePlugin(_0x1ed811){const _0x899769=_0x4ba0,_0x3e68d8={'lbJrA':function(_0x437e70,_0x2efc29){return _0x437e70(_0x2efc29);},'dtPxY':function(_0x1798ba,_0x2981d8){return _0x1798ba===_0x2981d8;},'jwqdc':function(_0x3ccc44,_0x42bb5f,_0x2cc9e5,_0x4ae6fd){return _0x3ccc44(_0x42bb5f,_0x2cc9e5,_0x4ae6fd);},'HMkdp':_0x899769(0xbc),'MdILU':'close'};return new Promise(_0xd425ff=>{const _0x27a4a8=_0x899769;let _0x4f2cdf=_0x27a4a8(0xc5);_0x1ed811&&(_0x4f2cdf+='\x20--scope='+_0x1ed811);const _0x3858bd=_0x3e68d8['jwqdc'](spawn,_0x4f2cdf,[],{'stdio':_0x3e68d8[_0x27a4a8(0xbb)],'shell':!![]});_0x3858bd['on'](_0x3e68d8['MdILU'],_0x58cdd2=>{const _0x949e8c=_0x27a4a8;_0x3e68d8[_0x949e8c(0xb0)](_0xd425ff,_0x3e68d8[_0x949e8c(0xc3)](_0x58cdd2,0x0));}),_0x3858bd['on']('error',()=>{_0xd425ff(![]);});});}function _0x473e(){const _0x18bd29=['claude\x20plugin\x20uninstall\x20ranger@trailhead','bug-bash','68380QUWPSZ','\x0a✅\x20Cleanup\x20complete!\x0a','Abmmv','204029MvbUej','148488YjOcnQ','1883165lzBeFC','e2e-test-recommender','lbJrA','14990reCQAA','ilIXq','7388370JtxbiF','log','feature-tracker','48uxGdQU','\x0a🧹\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a','FiHpw','qbxIL','3409206DTWYsf','HMkdp','pipe','121jquaGT','✓\x20Uninstalled\x20Claude\x20plugin\x20(user\x20scope)','8VsZMxJ','project','36qgupEz','801ILyhur','dtPxY','✓\x20Uninstalled\x20Claude\x20plugin\x20(project\x20scope)'];_0x473e=function(){return _0x18bd29;};return _0x473e();}export async function clean(){const _0x5cc414=_0x4ba0,_0x44725b={'Abmmv':function(_0xf3c3f8){return _0xf3c3f8();},'qbxIL':function(_0x27cfe9,_0x5d2571){return _0x27cfe9(_0x5d2571);},'ilIXq':function(_0x22d157,_0x19596f,_0x341d2c){return _0x22d157(_0x19596f,_0x341d2c);},'SJmjM':'ranger','ZVQmG':function(_0x23c152,_0x23007e,_0x1a0b0a){return _0x23c152(_0x23007e,_0x1a0b0a);},'PAytK':function(_0x385c3e,_0x58ea91){return _0x385c3e(_0x58ea91);},'sMFYx':_0x5cc414(0xbe),'XEyxB':_0x5cc414(0xc0),'pCrJT':_0x5cc414(0xc4),'FiHpw':'Nothing\x20to\x20clean\x20up.\x0a'};console[_0x5cc414(0xb4)](_0x5cc414(0xb7));let _0x198bbc=![];try{await _0x44725b['Abmmv'](deleteAllCredentials),console['log']('✓\x20Removed\x20stored\x20credentials'),_0x198bbc=!![];}catch{}const _0x10fd1b=getCacheFile();_0x44725b[_0x5cc414(0xb9)](existsSync,_0x10fd1b)&&(await rm(_0x10fd1b),_0x198bbc=!![]);const _0x21a157=getRangerDir();existsSync(_0x21a157)&&(await _0x44725b[_0x5cc414(0xb2)](rm,_0x21a157,{'recursive':!![]}),console[_0x5cc414(0xb4)]('✓\x20Removed\x20.ranger/\x20directory'),_0x198bbc=!![]);const _0x13da56=[_0x44725b['SJmjM'],_0x5cc414(0xb5),_0x5cc414(0xc6),_0x5cc414(0xaf)],_0x3c2ca4=getProjectSkillsDir();for(const _0x5b303d of _0x13da56){const _0xc29a1f=_0x44725b[_0x5cc414(0xb2)](join,_0x3c2ca4,_0x5b303d);_0x44725b['qbxIL'](existsSync,_0xc29a1f)&&(await _0x44725b['ZVQmG'](rm,_0xc29a1f,{'recursive':!![]}),console[_0x5cc414(0xb4)]('✓\x20Removed\x20project\x20skill:\x20'+_0x5b303d),_0x198bbc=!![]);}const _0x66f56c=_0x44725b[_0x5cc414(0xc9)](getUserSkillsDir);for(const _0x3b3c71 of _0x13da56){const _0x1e537c=join(_0x66f56c,_0x3b3c71);_0x44725b['PAytK'](existsSync,_0x1e537c)&&(await rm(_0x1e537c,{'recursive':!![]}),console[_0x5cc414(0xb4)]('✓\x20Removed\x20user\x20skill:\x20'+_0x3b3c71),_0x198bbc=!![]);}const _0x2ae901=await uninstallClaudePlugin();_0x2ae901&&(console[_0x5cc414(0xb4)](_0x44725b['sMFYx']),_0x198bbc=!![]);const _0xbd63d8=await uninstallClaudePlugin(_0x44725b['XEyxB']);_0xbd63d8&&(console[_0x5cc414(0xb4)](_0x44725b['pCrJT']),_0x198bbc=!![]),_0x198bbc?console[_0x5cc414(0xb4)](_0x5cc414(0xc8)):console[_0x5cc414(0xb4)](_0x44725b[_0x5cc414(0xb8)]);}
1
+ function _0x6396(_0x1d8a83,_0x4eb679){_0x1d8a83=_0x1d8a83-0x17d;const _0x2d4eb2=_0x2d4e();let _0x63967f=_0x2d4eb2[_0x1d8a83];return _0x63967f;}(function(_0x5a0cbe,_0x1968a8){const _0x3dc754=_0x6396,_0x5eeff0=_0x5a0cbe();while(!![]){try{const _0x4d6ade=parseInt(_0x3dc754(0x18d))/0x1+-parseInt(_0x3dc754(0x186))/0x2+parseInt(_0x3dc754(0x19b))/0x3*(-parseInt(_0x3dc754(0x184))/0x4)+-parseInt(_0x3dc754(0x17f))/0x5+-parseInt(_0x3dc754(0x196))/0x6+parseInt(_0x3dc754(0x193))/0x7*(parseInt(_0x3dc754(0x185))/0x8)+parseInt(_0x3dc754(0x1a4))/0x9;if(_0x4d6ade===_0x1968a8)break;else _0x5eeff0['push'](_0x5eeff0['shift']());}catch(_0x1bd24d){_0x5eeff0['push'](_0x5eeff0['shift']());}}}(_0x2d4e,0xd16a9));import{rm}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{spawn}from'child_process';import{deleteAllCredentials}from'./utils/keychain.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getCacheFile}from'./utils/sessionCache.js';function _0x2d4e(){const _0x556186=['ZhduJ','23267619ssTbXW','ZAbSR','✓\x20Removed\x20project\x20skill:\x20','✓\x20Removed\x20trailhead\x20marketplace','5388620xKCrFa','rEEps','bug-bash','Afjqp','TQjlu','10412XqrFkR','135536ooSAsP','2742544fcCTMg','close','JESDg','log','\x0a🧹\x20Cleaning\x20up\x20Ranger\x20artifacts...\x0a','✓\x20Uninstalled\x20Claude\x20plugin\x20(user\x20scope)','gdNEP','1591124jFqrcz','ranger','feature-tracker','bXMhK','hBChW','papjo','238lPPSEM','JBzof','--scope','4488444QDxTXz','dYBpy','project','FWXJE','ZjsCU','804mVjWrN','claude','win32','push','✓\x20Uninstalled\x20Claude\x20plugin\x20(project\x20scope)','error','plugin','✓\x20Removed\x20.ranger/\x20directory'];_0x2d4e=function(){return _0x556186;};return _0x2d4e();}async function uninstallClaudePlugin(_0x3f6c7a){const _0x554eba=_0x6396,_0x1d4c71={'jLiXT':'ranger@trailhead','wmtEd':_0x554eba(0x195),'vyZUu':'pipe','TQjlu':'win32'};return new Promise(_0x2c5933=>{const _0x59a939=_0x554eba,_0x4443f4={'ZhduJ':function(_0x1bb44d,_0x373357){return _0x1bb44d(_0x373357);}},_0x9eff65=[_0x59a939(0x1a1),'uninstall',_0x1d4c71['jLiXT']];_0x3f6c7a&&_0x9eff65[_0x59a939(0x19e)](_0x1d4c71['wmtEd'],_0x3f6c7a);const _0x44b915=spawn('claude',_0x9eff65,{'stdio':_0x1d4c71['vyZUu'],'shell':process['platform']===_0x1d4c71[_0x59a939(0x183)]});_0x44b915['on']('close',_0x22609e=>{const _0x38551f=_0x59a939;_0x4443f4[_0x38551f(0x1a3)](_0x2c5933,_0x22609e===0x0);}),_0x44b915['on'](_0x59a939(0x1a0),()=>{_0x2c5933(![]);});});}async function removeMarketplace(){const _0x5d9f68={'Afjqp':function(_0x5049f4,_0x18248f){return _0x5049f4===_0x18248f;},'ZAbSR':function(_0x39f72c,_0x23a4ec,_0x41cd23,_0x66cfe6){return _0x39f72c(_0x23a4ec,_0x41cd23,_0x66cfe6);},'JESDg':'remove','YRlCM':'trailhead','dFNCP':'pipe','ZjsCU':'error'};return new Promise(_0x37564f=>{const _0x5ca06c=_0x6396,_0x4ac400=_0x5d9f68[_0x5ca06c(0x1a5)](spawn,_0x5ca06c(0x19c),[_0x5ca06c(0x1a1),'marketplace',_0x5d9f68[_0x5ca06c(0x188)],_0x5d9f68['YRlCM']],{'stdio':_0x5d9f68['dFNCP'],'shell':process['platform']===_0x5ca06c(0x19d)});_0x4ac400['on'](_0x5ca06c(0x187),_0x31cda2=>{const _0x3b81a2=_0x5ca06c;_0x37564f(_0x5d9f68[_0x3b81a2(0x182)](_0x31cda2,0x0));}),_0x4ac400['on'](_0x5d9f68[_0x5ca06c(0x19a)],()=>{_0x37564f(![]);});});}export async function clean(){const _0x20f1f7=_0x6396,_0xdc26f7={'gdNEP':_0x20f1f7(0x18a),'dYBpy':function(_0x2e5853){return _0x2e5853();},'bXMhK':'✓\x20Removed\x20stored\x20credentials','FWXJE':function(_0x3b276b){return _0x3b276b();},'XUivH':function(_0x2f64e9,_0x534227){return _0x2f64e9(_0x534227);},'JBzof':function(_0x1529f3,_0x4b9e58){return _0x1529f3(_0x4b9e58);},'rEEps':function(_0xfc6a21){return _0xfc6a21();},'ZZUuz':_0x20f1f7(0x18e),'VnVqC':_0x20f1f7(0x18f),'SjVZg':function(_0x50af00){return _0x50af00();},'papjo':function(_0x281bc2,_0xbdf573,_0x21b587){return _0x281bc2(_0xbdf573,_0x21b587);},'hBChW':function(_0x5cfdae,_0x385bb0,_0x464f5f){return _0x5cfdae(_0x385bb0,_0x464f5f);},'JNUwB':function(_0x2a7279){return _0x2a7279();},'RMMlX':'\x0a✅\x20Cleanup\x20complete!\x0a'};console['log'](_0xdc26f7[_0x20f1f7(0x18c)]);let _0x5d6a0e=![];try{await _0xdc26f7[_0x20f1f7(0x197)](deleteAllCredentials),console['log'](_0xdc26f7[_0x20f1f7(0x190)]),_0x5d6a0e=!![];}catch{}const _0x55a247=_0xdc26f7[_0x20f1f7(0x199)](getCacheFile);_0xdc26f7['XUivH'](existsSync,_0x55a247)&&(await _0xdc26f7[_0x20f1f7(0x194)](rm,_0x55a247),_0x5d6a0e=!![]);const _0x5d4fdd=_0xdc26f7[_0x20f1f7(0x180)](getRangerDir);existsSync(_0x5d4fdd)&&(await rm(_0x5d4fdd,{'recursive':!![]}),console[_0x20f1f7(0x189)](_0x20f1f7(0x1a2)),_0x5d6a0e=!![]);const _0x5e11b5=[_0xdc26f7['ZZUuz'],_0xdc26f7['VnVqC'],_0x20f1f7(0x181),'e2e-test-recommender'],_0x10772b=_0xdc26f7['SjVZg'](getProjectSkillsDir);for(const _0x277c92 of _0x5e11b5){const _0x238fcb=_0xdc26f7[_0x20f1f7(0x192)](join,_0x10772b,_0x277c92);existsSync(_0x238fcb)&&(await rm(_0x238fcb,{'recursive':!![]}),console['log'](_0x20f1f7(0x17d)+_0x277c92),_0x5d6a0e=!![]);}const _0x5aaad6=getUserSkillsDir();for(const _0x4110b0 of _0x5e11b5){const _0x752f4=_0xdc26f7[_0x20f1f7(0x191)](join,_0x5aaad6,_0x4110b0);existsSync(_0x752f4)&&(await rm(_0x752f4,{'recursive':!![]}),console[_0x20f1f7(0x189)]('✓\x20Removed\x20user\x20skill:\x20'+_0x4110b0),_0x5d6a0e=!![]);}const _0x129521=await _0xdc26f7['JNUwB'](uninstallClaudePlugin);_0x129521&&(console['log'](_0x20f1f7(0x18b)),_0x5d6a0e=!![]);const _0x18d986=await _0xdc26f7['XUivH'](uninstallClaudePlugin,_0x20f1f7(0x198));_0x18d986&&(console[_0x20f1f7(0x189)](_0x20f1f7(0x19f)),_0x5d6a0e=!![]);const _0x301e8c=await removeMarketplace();_0x301e8c&&(console[_0x20f1f7(0x189)](_0x20f1f7(0x17e)),_0x5d6a0e=!![]),_0x5d6a0e?console[_0x20f1f7(0x189)](_0xdc26f7['RMMlX']):console['log']('Nothing\x20to\x20clean\x20up.\x0a');}
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,KAAK,UAAU,qBAAqB,CAAC,KAAiB;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YAChC,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACtC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CACf,QAAQ,EACR,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,EAChD;YACI,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACtC,CACJ,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK;IACvB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,4BAA4B;IAC5B,IAAI,CAAC;QACD,MAAM,oBAAoB,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACL,6CAA6C;IACjD,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;QACpB,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,0DAA0D;IAC1D,MAAM,cAAc,GAAG;QACnB,QAAQ;QACR,iBAAiB;QACjB,UAAU;QACV,sBAAsB;KACzB,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAClD,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,yBAAyB;IACzB,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACrD,IAAI,kBAAkB,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;AACL,CAAC"}
@@ -25,7 +25,7 @@ export async function postEdit(sessionIdOverride) {
25
25
  const response = {
26
26
  hookSpecificOutput: {
27
27
  hookEventName: 'PostToolUse',
28
- additionalContext: `RANGER: If this change expands the scope of the active feature review, you may need to add a scenario. See Workflow 1 in /ranger. If you decide to add a scenario, you MUST read Workflow 1 IN DETAIL first.`,
28
+ additionalContext: `RANGER: If this change expands the scope of the active feature review, you may need to add a scenario. See Workflow 1 in /ranger. If you decide to add a scenario, you MUST read Workflow 1 IN DETAIL first. Remember: when you finish your work, your final message to the user must direct them to the Ranger feature review dashboard to review (e.g. "Go to the Ranger feature dashboard to review: https://dashboard.ranger.net/features/{feature_id}").`,
29
29
  },
30
30
  };
31
31
  console.log(JSON.stringify(response));
@@ -1 +1 @@
1
- {"version":3,"file":"postEdit.js","sourceRoot":"","sources":["../../../src/commands/hooks/postEdit.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,oBAAoB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,iBAA0B;IACrD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,sFAAsF;IACtF,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO;IACX,CAAC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,aAAa,EAAE,CAAC;QAChB,uEAAuE;QACvE,MAAM,QAAQ,GAAG;YACb,kBAAkB,EAAE;gBAChB,aAAa,EAAE,aAAa;gBAC5B,iBAAiB,EAAE,8MAA8M;aACpO;SACJ,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,OAAO;IACX,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG;QACb,kBAAkB,EAAE;YAChB,aAAa,EAAE,aAAa;YAC5B,iBAAiB,EAAE,4HAA4H;SAClJ;KACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"postEdit.js","sourceRoot":"","sources":["../../../src/commands/hooks/postEdit.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,oBAAoB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,iBAA0B;IACrD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO;IACX,CAAC;IAED,sFAAsF;IACtF,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO;IACX,CAAC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,aAAa,EAAE,CAAC;QAChB,uEAAuE;QACvE,MAAM,QAAQ,GAAG;YACb,kBAAkB,EAAE;gBAChB,aAAa,EAAE,aAAa;gBAC5B,iBAAiB,EAAE,+bAA+b;aACrd;SACJ,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,OAAO;IACX,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG;QACb,kBAAkB,EAAE;YAChB,aAAa,EAAE,aAAa;YAC5B,iBAAiB,EAAE,4HAA4H;SAClJ;KACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC"}
@@ -7,8 +7,9 @@ import { createTelemetryCollector } from '../utils/telemetry.js';
7
7
  /**
8
8
  * Stop hook handler
9
9
  *
10
- * Only blocks stop for Claude sessions that have registered with a Ranger feature review.
11
10
  * Attempts to conclude the feature review session before allowing stop.
11
+ * Block conditions are temporarily disabled — the skill prompt now handles
12
+ * instructing the agent to share the dashboard link on session end.
12
13
  */
13
14
  export async function stopHook(sessionIdOverride) {
14
15
  const context = await getEnabledHookContext(sessionIdOverride);
@@ -49,23 +50,28 @@ export async function stopHook(sessionIdOverride) {
49
50
  // Fail open for feature lookup
50
51
  }
51
52
  }
52
- if (skipRequested && !linkIncluded) {
53
- stopAllowed = false;
54
- const output = {
55
- decision: 'block',
56
- reason: `Before ending, include a final message with the feature review link (${dashboardUrl}) and direct the user to visit it. If you are skipping verification, keep \`${skipToken}\` in that final message, then run /exit again.`,
57
- };
58
- console.log(JSON.stringify(output));
59
- await trackStop(sessionId, true, stopAllowed);
60
- return;
61
- }
53
+ // --- Block conditions temporarily disabled (handled by skill prompt instead) ---
54
+ // if (skipRequested && !linkIncluded) {
55
+ // stopAllowed = false;
56
+ // const output = {
57
+ // decision: 'block',
58
+ // reason: `Before ending, include a final message with the feature review link (${dashboardUrl}) and direct the user to visit it. If you are skipping verification, keep \`${skipToken}\` in that final message, then run /exit again.`,
59
+ // };
60
+ // console.log(JSON.stringify(output));
61
+ // await trackStop(sessionId, true, stopAllowed);
62
+ // return;
63
+ // }
62
64
  // Try to conclude the session if we have one
63
65
  if (token && currentSessionId) {
64
66
  try {
65
67
  await concludeSession(sessionEntry.featureId, currentSessionId);
66
68
  }
67
69
  catch (err) {
68
- if (skipRequested && linkIncluded) {
70
+ // if (skipRequested && linkIncluded) {
71
+ // await trackStop(sessionId, true, stopAllowed);
72
+ // return;
73
+ // }
74
+ if (skipRequested) {
69
75
  await trackStop(sessionId, true, stopAllowed);
70
76
  return;
71
77
  }
@@ -81,16 +87,17 @@ export async function stopHook(sessionIdOverride) {
81
87
  return;
82
88
  }
83
89
  }
84
- if (shouldRemind) {
85
- stopAllowed = false;
86
- const output = {
87
- decision: 'block',
88
- reason: `Before ending, include a final message with the feature review link (${dashboardUrl}) and direct the user to visit it.`,
89
- };
90
- console.log(JSON.stringify(output));
91
- await trackStop(sessionId, true, stopAllowed);
92
- return;
93
- }
90
+ // if (shouldRemind && !linkIncluded) {
91
+ // stopAllowed = false;
92
+ // const output = {
93
+ // decision: 'block',
94
+ // reason: `Before ending, include a final message with the feature review link (${dashboardUrl}) and direct the user to visit it.`,
95
+ // };
96
+ // console.log(JSON.stringify(output));
97
+ // await trackStop(sessionId, true, stopAllowed);
98
+ // return;
99
+ // }
100
+ // --- End disabled block conditions ---
94
101
  await trackStop(sessionId, true, stopAllowed);
95
102
  return;
96
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stopHook.js","sourceRoot":"","sources":["../../../src/commands/hooks/stopHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stopHook.js","sourceRoot":"","sources":["../../../src/commands/hooks/stopHook.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { getCurrentUser } from './utils/userApi.js';
7
7
  export async function login() {
8
8
  const isInteractive = process.stdin.isTTY && process.stdout.isTTY;
9
9
  if (!isInteractive) {
10
- throw new Error('Login requires an interactive terminal. In CI, use: ranger setup [token] or set RANGER_MCP_TOKEN.');
10
+ throw new Error('Login requires an interactive terminal. In CI, use: ranger setup [token] or set RANGER_CLI_TOKEN.');
11
11
  }
12
12
  try {
13
13
  const token = await runDeviceAuthFlow();
@@ -1 +1 @@
1
- const _0x552547=_0x1cea;(function(_0x1f0082,_0x39465f){const _0x4b865d=_0x1cea,_0x2d6fa2=_0x1f0082();while(!![]){try{const _0x13a7a2=-parseInt(_0x4b865d(0x1ac))/0x1+parseInt(_0x4b865d(0x12c))/0x2*(parseInt(_0x4b865d(0x151))/0x3)+-parseInt(_0x4b865d(0x139))/0x4+parseInt(_0x4b865d(0x152))/0x5+parseInt(_0x4b865d(0x148))/0x6+parseInt(_0x4b865d(0x18c))/0x7+-parseInt(_0x4b865d(0x16d))/0x8*(parseInt(_0x4b865d(0x13a))/0x9);if(_0x13a7a2===_0x39465f)break;else _0x2d6fa2['push'](_0x2d6fa2['shift']());}catch(_0x34ee16){_0x2d6fa2['push'](_0x2d6fa2['shift']());}}}(_0x3617,0x5f717));import{mkdir,writeFile}from'fs/promises';function _0x3617(){const _0x3f51a0=['✓\x20Claude\x20Code\x20plugin\x20already\x20installed','xhXUq','pNxlp','UpJNr','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','stdout','auth','wEPjC','ranger','install','success','resolve','ZEnzX','WYTuK','Non-interactive\x20mode\x20detected.\x20Skipping\x20optional\x20setup\x20prompts.','log','8pYDNQj','bwWUW','isTTY','Where\x20should\x20the\x20plugin\x20be\x20installed?','KjtaI','project','ByFLj','Sromz','add','ssXgA','SnTUN','error','Project\x20(shared\x20with\x20team\x20via\x20git)','❌\x20Failed\x20to\x20add\x20marketplace:','local','CQVKt','mZDrA','zewAn','list','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','GvFyf','uehBO','\x20level)...\x0a','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','\x0a🚀\x20Ranger\x20Setup\x0a','message','bWvJn','RPWMV','\x20\x203.\x20Install\x20Claude\x20Code\x20plugin:','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','chromium','2272599wmbFJV','Authentication\x20failed:\x20','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','user','playwright/package.json','ranger@trailhead','\x0aYou\x20can\x20install\x20manually\x20with:','npx','prompt','installed','hpJiJ','✓\x20Created\x20.ranger/\x20directory','env','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x20\x20npx\x20playwright@','MSdLK','trackPhaseStart','organizationName','✓\x20Already\x20authenticated\x20to\x20','/ranger:enable','jtboL','pluginScope','EKHHT','usqlz','ZyIpY','trackPhaseEnd','stdin','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','status','hXCdx','You\x20can\x20install\x20it\x20manually\x20by\x20running:','WJHoS','345567qeDkqb','pALXy','kqxXh','tcHcU','mweuV','\x0a⚠\x20Skipping\x20Chromium\x20installation.','14iCChIP','fyFQt','PbxmC','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','DbCfH','LZZUP','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','executablePath','VbZLe','OwjOL','posZS','355856HpZqAG','2766537cSnGZs','ranger\x20profile\x20add\x20local','skills','✓\x20Local\x20profile\x20already\x20exists','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','confirm','wqYFX','wantsProfile','\x20install\x20chromium','version','cyowW','❌\x20Failed\x20to\x20install\x20plugin:','--scope','HmwJN','1940334lNcDhI','ghzKJ','profile','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','lbBTG','use\x20until\x20the\x20session\x20expires.\x0a','kXDuo','.claude','AWQMk','204882JpfoQX','33775kcLUta','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','eGkLS','WWRtT','CxQuo','gFJxZ','\x1b[1m','...','dir_setup','.gitignore','plugin'];_0x3617=function(){return _0x3f51a0;};return _0x3617();}import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x237690 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';function _0x1cea(_0x283abb,_0xd01f0b){_0x283abb=_0x283abb-0x127;const _0x361720=_0x3617();let _0x1cea5f=_0x361720[_0x283abb];return _0x1cea5f;}import{addEnv}from'./addEnv.js';import{skillup}from'./skillup.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';const require=createRequire(import.meta.url),bold=_0x2ad2aa=>_0x552547(0x158)+_0x2ad2aa+'\x1b[0m';function getPlaywrightVersion(){const _0x26cbab=_0x552547,_0x3260c4={'jtboL':_0x26cbab(0x190),'zewAn':function(_0x81a96c,_0x5e1d05){return _0x81a96c(_0x5e1d05);}};try{const _0x1e3433=require[_0x26cbab(0x168)](_0x3260c4[_0x26cbab(0x1a0)]),_0x4940a6=_0x3260c4[_0x26cbab(0x17e)](require,_0x1e3433);return _0x4940a6[_0x26cbab(0x143)];}catch{return null;}}function installChromiumBinary(_0xf4774){const _0x3d66f2=_0x552547,_0x1c21b0={'eUeXY':function(_0x1c729d,_0x46d954){return _0x1c729d===_0x46d954;},'UAGtL':'chromium','eyhCx':'playwright','WWRtT':'install','KjtaI':_0x3d66f2(0x193),'OwjOL':'inherit'};return new Promise((_0xdb9a22,_0x46c441)=>{const _0x5e9249=_0x3d66f2,_0x51b644=_0xf4774?['playwright@'+_0xf4774,_0x5e9249(0x166),_0x1c21b0['UAGtL']]:[_0x1c21b0['eyhCx'],_0x1c21b0[_0x5e9249(0x155)],_0x5e9249(0x18b)],_0x27ca64=spawn(_0x1c21b0[_0x5e9249(0x171)],_0x51b644,{'stdio':_0x1c21b0[_0x5e9249(0x137)],'shell':!![]});_0x27ca64['on']('close',_0x53e1fd=>{_0x1c21b0['eUeXY'](_0x53e1fd,0x0)?_0xdb9a22():_0x46c441(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x53e1fd));}),_0x27ca64['on']('error',_0x5a3315=>{_0x46c441(_0x5a3315);});});}export async function authenticate(_0x5d0273){const _0x2ef587=_0x552547,_0x11e487={'AWQMk':function(_0x1c07fb,_0x532918){return _0x1c07fb(_0x532918);},'CxQuo':function(_0x669179,_0x2708a1){return _0x669179 instanceof _0x2708a1;},'WYTuK':function(_0x5480db,_0x5c8fc2){return _0x5480db(_0x5c8fc2);},'fyFQt':'Validating\x20API\x20token...'};if(!_0x5d0273){const _0x36d5ec=await getToken();if(_0x36d5ec){const _0x2716c9=await _0x11e487[_0x2ef587(0x150)](getCurrentUser,_0x36d5ec);if(_0x2716c9[_0x2ef587(0x167)])return console[_0x2ef587(0x16c)](_0x2ef587(0x19e)+_0x2716c9['user'][_0x2ef587(0x19d)]),_0x36d5ec;}const _0x26778b=process[_0x2ef587(0x1a6)][_0x2ef587(0x16f)]&&process[_0x2ef587(0x162)][_0x2ef587(0x16f)];if(!_0x26778b)throw new Error('No\x20token\x20provided\x20and\x20running\x20in\x20non-interactive\x20mode.\x20In\x20CI,\x20pass\x20a\x20token:\x20ranger\x20setup\x20[token].\x20Or\x20set\x20the\x20RANGER_MCP_TOKEN\x20environment\x20variable.');try{_0x5d0273=await runDeviceAuthFlow();}catch(_0x3d3615){throw new Error(_0x2ef587(0x18d)+(_0x11e487[_0x2ef587(0x156)](_0x3d3615,Error)?_0x3d3615[_0x2ef587(0x186)]:_0x3d3615));}const _0x56e9a0=await _0x11e487['WYTuK'](getCurrentUser,_0x5d0273);if(!_0x56e9a0[_0x2ef587(0x167)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x56e9a0[_0x2ef587(0x178)]);return console[_0x2ef587(0x16c)]('✓\x20Authenticated\x20to\x20'+_0x56e9a0['user']['organizationName']),_0x5d0273;}console['log'](_0x11e487[_0x2ef587(0x12d)]);const _0x47e88b=await _0x11e487['WYTuK'](getCurrentUser,_0x5d0273);if(!_0x47e88b['success']){if(_0x47e88b[_0x2ef587(0x1a8)])throw new Error('Authentication\x20failed:\x20'+_0x47e88b[_0x2ef587(0x178)]+_0x2ef587(0x184));else throw new Error(_0x2ef587(0x153)+_0x47e88b['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x2ef587(0x16c)]('✓\x20Authenticated\x20to\x20'+_0x47e88b[_0x2ef587(0x18f)]['organizationName']),await _0x11e487[_0x2ef587(0x16a)](storeToken,_0x5d0273),console[_0x2ef587(0x16c)](process[_0x2ef587(0x198)]['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),_0x5d0273;}export async function ensureRangerDir(){const _0x179756=_0x552547,_0x124d38={'geNJP':function(_0x4eaa6f){return _0x4eaa6f();},'EFPAA':function(_0x1f43ab,_0x330f7a,_0x31e090){return _0x1f43ab(_0x330f7a,_0x31e090);},'kqxXh':_0x179756(0x197)},_0x48d202=_0x124d38['geNJP'](getRangerDir);return!existsSync(_0x48d202)?(await _0x124d38['EFPAA'](mkdir,_0x48d202,{'recursive':!![]}),console['log'](_0x124d38[_0x179756(0x128)]),{'path':_0x48d202,'installed':!![]}):(console[_0x179756(0x16c)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x48d202,'installed':![]});}export async function ensureChromium(){const _0x2da964=_0x552547,_0x3d9b42={'posZS':function(_0x3c90e4,_0x3bd1b4){return _0x3c90e4(_0x3bd1b4);},'lbBTG':'\x0aInstalling\x20Chromium\x20browser...\x0a','cjgts':function(_0x4ee956,_0x1ab1ab){return _0x4ee956(_0x1ab1ab);},'YpHaD':function(_0x36dfa2,_0x185277){return _0x36dfa2 instanceof _0x185277;},'WJHoS':_0x2da964(0x1aa),'ByFLj':'\x20\x20npx\x20playwright\x20install\x20chromium','xhXUq':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x2b7bc7=![];try{const _0x551707=chromium[_0x2da964(0x135)]();_0x2b7bc7=_0x3d9b42[_0x2da964(0x138)](existsSync,_0x551707);}catch{_0x2b7bc7=![];}if(_0x2b7bc7)return console[_0x2da964(0x16c)]('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x2ef112=getPlaywrightVersion(),_0xdcceca=process[_0x2da964(0x1a6)]['isTTY']&&process['stdout'][_0x2da964(0x16f)];let _0xb8abcb=!![];if(_0xdcceca){const {install:_0x45589c}=await _0x237690['prompt']([{'type':'confirm','name':'install','message':_0x2ef112?'The\x20required\x20version\x20('+_0x2ef112+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x2da964(0x180),'default':!![]}]);_0xb8abcb=_0x45589c;}else console[_0x2da964(0x16c)]('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x2ef112?'\x20'+_0x2ef112:'')+_0x2da964(0x159));if(_0xb8abcb){console['log'](_0x3d9b42[_0x2da964(0x14c)]);try{await _0x3d9b42['cjgts'](installChromiumBinary,_0x2ef112),console['log']('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x395a77){console[_0x2da964(0x178)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x3d9b42['YpHaD'](_0x395a77,Error)?_0x395a77[_0x2da964(0x186)]:_0x395a77),console['log'](_0x3d9b42[_0x2da964(0x1ab)]),_0x2ef112?console['log'](_0x2da964(0x19a)+_0x2ef112+_0x2da964(0x142)):console['log'](_0x3d9b42['ByFLj']);}}else console[_0x2da964(0x16c)](_0x2da964(0x12b)),console['log'](_0x3d9b42[_0x2da964(0x15e)]),_0x2ef112?console[_0x2da964(0x16c)]('\x20\x20npx\x20playwright@'+_0x2ef112+'\x20install\x20chromium'):console['log'](_0x3d9b42[_0x2da964(0x173)]);return!![];}export async function writeRangerGitignore(_0x5e3ae3){const _0x20ba3e=_0x552547,_0x16d9f7={'LZZUP':function(_0x490420,_0x2752af,_0x16f78c){return _0x490420(_0x2752af,_0x16f78c);},'hpJiJ':_0x20ba3e(0x15b),'ghzKJ':function(_0x14d621,_0xd51344,_0x39c0ec){return _0x14d621(_0xd51344,_0x39c0ec);}},_0x38214a=_0x16d9f7[_0x20ba3e(0x132)](join,_0x5e3ae3,_0x16d9f7[_0x20ba3e(0x196)]),_0x20f36d='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x16d9f7[_0x20ba3e(0x149)](writeFile,_0x38214a,_0x20f36d),console['log']('✓\x20Created\x20.ranger/.gitignore');}async function ensurePlugin(){const _0x389920=_0x552547,_0x72da9d={'YOlQR':function(_0x186b95,_0x5ae82c){return _0x186b95(_0x5ae82c);},'gFJxZ':_0x389920(0x191),'ZyIpY':function(_0x280eae,_0xb6cf4e,_0x346715){return _0x280eae(_0xb6cf4e,_0x346715);},'LtcZl':'.claude','kXDuo':_0x389920(0x172),'usqlz':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','nXIoR':_0x389920(0x17f),'RPWMV':'user','uehBO':function(_0x22e457,_0x114df6){return _0x22e457(_0x114df6);},'EKHHT':'plugin','GrDuT':'marketplace','eTMZG':'ranger-testing/trailhead','DbCfH':_0x389920(0x17a),'wlvxo':_0x389920(0x146),'GvFyf':_0x389920(0x145)},_0x2d4039=await _0x72da9d['YOlQR'](isPluginInstalled,_0x72da9d[_0x389920(0x157)]);if(_0x2d4039)return console['log'](_0x389920(0x15d)),![];const _0x5b9845=existsSync(_0x72da9d[_0x389920(0x1a4)](join,getProjectRoot(),_0x72da9d['LtcZl']));let _0x1d9272;if(_0x5b9845)_0x1d9272=_0x72da9d[_0x389920(0x14e)];else{console['log'](_0x72da9d[_0x389920(0x1a3)]);const _0x5968de=await _0x237690[_0x389920(0x194)]([{'type':_0x72da9d['nXIoR'],'name':_0x389920(0x1a1),'message':_0x389920(0x170),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x72da9d[_0x389920(0x188)]},{'name':_0x389920(0x179),'value':_0x389920(0x172)}],'default':'user'}]);_0x1d9272=_0x5968de[_0x389920(0x1a1)];}console['log'](_0x389920(0x14b)+_0x1d9272+_0x389920(0x183));const _0x28d8f7=await _0x72da9d[_0x389920(0x182)](isMarketplaceAdded,'trailhead');let _0x3cb8de=_0x28d8f7;if(_0x28d8f7)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x217e42=await runClaudeCommand([_0x72da9d[_0x389920(0x1a2)],_0x72da9d['GrDuT'],_0x389920(0x175),_0x72da9d['eTMZG']]);!_0x217e42['success']?(console[_0x389920(0x178)](_0x72da9d[_0x389920(0x131)],_0x217e42[_0x389920(0x178)]),console['log'](_0x389920(0x192)),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x389920(0x16c)](_0x389920(0x134)+_0x1d9272)):_0x3cb8de=!![];}if(_0x3cb8de){const _0x4c9d24=await runClaudeCommand([_0x72da9d['EKHHT'],'install',_0x72da9d['gFJxZ'],_0x72da9d['wlvxo'],_0x1d9272]);!_0x4c9d24[_0x389920(0x167)]?(console['error'](_0x72da9d[_0x389920(0x181)],_0x4c9d24['error']),console['log'](_0x389920(0x192)),console['log'](_0x389920(0x134)+_0x1d9272)):console['log'](_0x389920(0x12f));}return!![];}function printProfileSetupLaterInstructions(){const _0x22c1c2=_0x552547,_0x7fb94={'MSdLK':_0x22c1c2(0x13b),'bWvJn':_0x22c1c2(0x130)};console['log'](_0x22c1c2(0x18e)),console['log']('\x20\x20'+bold(_0x7fb94[_0x22c1c2(0x19b)])),console[_0x22c1c2(0x16c)](_0x7fb94[_0x22c1c2(0x187)]);}async function ensureLocalEnv(_0x4abe71){const _0x467adb=_0x552547,_0x3c2ebc={'GJUVn':_0x467adb(0x133),'GvDHX':_0x467adb(0x17b),'PbxmC':_0x467adb(0x13d),'XcXPM':_0x467adb(0x1a7),'eGkLS':_0x467adb(0x14d),'bwWUW':_0x467adb(0x141),'VbZLe':_0x467adb(0x18a),'hXCdx':function(_0x20c814,_0x3d5270,_0x20ed93,_0x198ada){return _0x20c814(_0x3d5270,_0x20ed93,_0x198ada);},'CQVKt':'\x0a❌\x20Profile\x20setup\x20failed:','pNxlp':function(_0x1ebded){return _0x1ebded();}};if(!findGitRoot())return console[_0x467adb(0x16c)](_0x3c2ebc['GJUVn']),{'ready':![],'installed':![]};if(findExistingEnv(_0x467adb(0x17b),{'locations':[_0x3c2ebc['GvDHX']]}))return console[_0x467adb(0x16c)](_0x3c2ebc[_0x467adb(0x12e)]),{'ready':!![],'installed':![]};console[_0x467adb(0x16c)]('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console['log']('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console['log'](_0x3c2ebc['XcXPM']),console['log'](_0x3c2ebc[_0x467adb(0x154)]),console[_0x467adb(0x16c)](_0x467adb(0x161));const {wantsProfile:_0x4cdb70}=await _0x237690['prompt']([{'type':'confirm','name':_0x3c2ebc[_0x467adb(0x16e)],'message':_0x3c2ebc[_0x467adb(0x136)],'default':!![]}]);if(!_0x4cdb70)return printProfileSetupLaterInstructions(),{'ready':![],'installed':![]};try{return await _0x3c2ebc[_0x467adb(0x1a9)](addEnv,_0x3c2ebc['GvDHX'],{},_0x4abe71),{'ready':!![],'installed':!![]};}catch(_0x3538c1){return console['error'](_0x3c2ebc[_0x467adb(0x17c)],_0x3538c1 instanceof Error?_0x3538c1[_0x467adb(0x186)]:_0x3538c1),_0x3c2ebc[_0x467adb(0x15f)](printProfileSetupLaterInstructions),{'ready':![],'installed':![]};}}async function ensureSkills(){const _0x1532c6=_0x552547,_0x120b41={'qnOve':function(_0x34c264,_0xcc17fe,_0xaf86ec,_0xb4147f){return _0x34c264(_0xcc17fe,_0xaf86ec,_0xb4147f);},'WSoWI':'user','xfDTf':'ranger','Sromz':'SKILL.md','UXdcX':function(_0x2d5abe,_0x481043){return _0x2d5abe(_0x481043);},'GDZcH':'✓\x20Ranger\x20skills\x20already\x20installed','WVTvb':function(_0x69e37b,_0xfc9069){return _0x69e37b(_0xfc9069);},'gBhZn':function(_0x47639b){return _0x47639b();},'wEPjC':_0x1532c6(0x13f)},_0x5d1ad8=existsSync(_0x120b41['qnOve'](join,getSkillsDir(_0x120b41['WSoWI']),_0x120b41['xfDTf'],_0x120b41[_0x1532c6(0x174)])),_0x31f624=_0x120b41['UXdcX'](existsSync,join(getSkillsDir(_0x1532c6(0x172)),_0x1532c6(0x165),_0x120b41[_0x1532c6(0x174)]));if(_0x5d1ad8||_0x31f624)return console['log'](_0x120b41['GDZcH']),![];const _0xb87757=_0x120b41['WVTvb'](existsSync,join(_0x120b41['gBhZn'](getProjectRoot),_0x1532c6(0x14f)));if(_0xb87757)await _0x120b41['WVTvb'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const {wantsSkillup:_0x3acb05}=await _0x237690[_0x1532c6(0x194)]([{'type':_0x120b41[_0x1532c6(0x164)],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x3acb05&&await skillup({'suppressUsage':!![]});}return!![];}export async function start(_0x251604,_0x9d9ba0,_0x23f4c6){const _0x1a05be=_0x552547,_0x55bdf0={'wqYFX':'No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','pgGqt':_0x1a05be(0x163),'UpJNr':function(_0x3b760d,_0x2b95c9){return _0x3b760d(_0x2b95c9);},'SnTUN':function(_0x19e4ce){return _0x19e4ce();},'nNKkX':_0x1a05be(0x15a),'RGNhZ':_0x1a05be(0x18b),'HmwJN':_0x1a05be(0x16b),'DwGas':'\x0aNext\x20steps:','tcHcU':'\x20\x202.\x20Run:\x20ranger\x20skillup','cfNES':'\x20\x20\x20\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x0a','tZwkv':'\x20\x204.\x20Run:\x20ranger\x20profile\x20add\x20local','ZEnzX':'skills','AbkNS':function(_0x3f9874){return _0x3f9874();},'mZDrA':function(_0x30a744,_0x444258,_0x5a94e3){return _0x30a744(_0x444258,_0x5a94e3);},'cyowW':function(_0x1100f3,_0x406a7e){return _0x1100f3(_0x406a7e);},'mekDa':function(_0x3e8c95,_0x32ef8b){return _0x3e8c95(_0x32ef8b);},'dOMal':_0x1a05be(0x14a),'pALXy':function(_0x48a232,_0x12d6bc){return _0x48a232(_0x12d6bc);},'ssXgA':_0x1a05be(0x19f),'mweuV':function(_0x480698,_0x186040){return _0x480698+_0x186040;}};console['log'](_0x1a05be(0x185));if(!findGitRoot())throw new Error(_0x55bdf0[_0x1a05be(0x140)]);_0x23f4c6?.[_0x1a05be(0x19c)](_0x55bdf0['pgGqt']),await _0x55bdf0[_0x1a05be(0x160)](authenticate,_0x251604),_0x23f4c6?.[_0x1a05be(0x1a5)]('auth'),_0x23f4c6?.['trackPhaseStart'](_0x1a05be(0x15a));const {path:_0x1bc891,installed:_0x139e52}=await _0x55bdf0[_0x1a05be(0x177)](ensureRangerDir);_0x23f4c6?.[_0x1a05be(0x1a5)](_0x55bdf0['nNKkX'],{'installed':_0x139e52}),_0x23f4c6?.['trackPhaseStart']('chromium');let _0xbb962f=![];_0x9d9ba0?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0xbb962f=await _0x55bdf0[_0x1a05be(0x177)](ensureChromium);_0x23f4c6?.['trackPhaseEnd'](_0x55bdf0['RGNhZ'],{'installed':_0xbb962f,'skipped':!!_0x9d9ba0?.['skipChromium']}),await _0x55bdf0['UpJNr'](writeRangerGitignore,_0x1bc891),console['log']('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x5c6c58=process[_0x1a05be(0x1a6)]['isTTY']&&process[_0x1a05be(0x162)]['isTTY'];if(!_0x5c6c58){console['log'](_0x55bdf0[_0x1a05be(0x147)]),console['log'](_0x55bdf0['DwGas']),console['log']('\x20\x201.\x20Navigate\x20to\x20your\x20project\x20directory'),console[_0x1a05be(0x16c)](_0x55bdf0[_0x1a05be(0x129)]),console[_0x1a05be(0x16c)](_0x1a05be(0x189)),console['log']('\x20\x20\x20\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x55bdf0['cfNES']),console[_0x1a05be(0x16c)](_0x55bdf0['tZwkv']);return;}_0x23f4c6?.[_0x1a05be(0x19c)]('plugin');const _0x54eb0d=await _0x55bdf0[_0x1a05be(0x177)](ensurePlugin);_0x23f4c6?.[_0x1a05be(0x1a5)](_0x1a05be(0x15c),{'installed':_0x54eb0d}),_0x23f4c6?.[_0x1a05be(0x19c)](_0x55bdf0[_0x1a05be(0x169)]);const _0x4cd76a=await _0x55bdf0['AbkNS'](ensureSkills);_0x23f4c6?.['trackPhaseEnd'](_0x1a05be(0x13c),{'installed':_0x4cd76a});const _0x59b152=findGitRoot();if(_0x59b152){const _0x140a8b=_0x55bdf0[_0x1a05be(0x17d)](join,_0x59b152,'.ranger');!_0x55bdf0[_0x1a05be(0x144)](existsSync,_0x140a8b)&&await mkdir(_0x140a8b,{'recursive':!![]});}_0x23f4c6?.[_0x1a05be(0x19c)](_0x1a05be(0x14a));const _0x50b772=await _0x55bdf0['mekDa'](ensureLocalEnv,_0x23f4c6);_0x23f4c6?.[_0x1a05be(0x1a5)](_0x55bdf0['dOMal'],{'installed':_0x50b772[_0x1a05be(0x195)]});const _0x54a701=_0x50b772['ready'],_0x9a64e=_0x55bdf0[_0x1a05be(0x127)](bold,_0x55bdf0[_0x1a05be(0x176)]);_0x54a701&&console['log'](_0x1a05be(0x13e)),console['log'](_0x55bdf0[_0x1a05be(0x12a)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x9a64e+'\x20and\x20prompt\x20the\x20coding'+_0x1a05be(0x199)+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}
1
+ const _0x2f3c55=_0x306c;(function(_0x40e94b,_0x2aa088){const _0x543788=_0x306c,_0xd08cf5=_0x40e94b();while(!![]){try{const _0x5eeea4=-parseInt(_0x543788(0x161))/0x1*(-parseInt(_0x543788(0x17d))/0x2)+-parseInt(_0x543788(0x199))/0x3+parseInt(_0x543788(0x185))/0x4*(parseInt(_0x543788(0x183))/0x5)+parseInt(_0x543788(0x142))/0x6+parseInt(_0x543788(0x196))/0x7*(parseInt(_0x543788(0x166))/0x8)+-parseInt(_0x543788(0x171))/0x9*(-parseInt(_0x543788(0x16e))/0xa)+-parseInt(_0x543788(0x19d))/0xb*(parseInt(_0x543788(0x16f))/0xc);if(_0x5eeea4===_0x2aa088)break;else _0xd08cf5['push'](_0xd08cf5['shift']());}catch(_0x398b90){_0xd08cf5['push'](_0xd08cf5['shift']());}}}(_0x59ff,0x5265e));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x253b4e from'inquirer';function _0x306c(_0x51e60a,_0x365997){_0x51e60a=_0x51e60a-0x13a;const _0x59ff1a=_0x59ff();let _0x306cd1=_0x59ff1a[_0x51e60a];return _0x306cd1;}import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{skillup}from'./skillup.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'./utils/claudeConfig.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';const require=createRequire(import.meta.url),bold=_0xdfa04d=>_0x2f3c55(0x158)+_0xdfa04d+_0x2f3c55(0x16b);function getPlaywrightVersion(){const _0x497345=_0x2f3c55;try{const _0x535054=require[_0x497345(0x1b6)]('playwright/package.json'),_0x529d6d=require(_0x535054);return _0x529d6d['version'];}catch{return null;}}function _0x59ff(){const _0x12afb9=['\x1b[0m','executablePath','✓\x20Created\x20.ranger/\x20directory','20ueorSm','930012EVdAdM','\x0aNext\x20steps:','1505043imIsTF','qxqmP','QcguI','✓\x20Local\x20profile\x20already\x20exists','trackPhaseStart','UOCeM','prompt','plugin','\x0a❌\x20Profile\x20setup\x20failed:','✓\x20Ranger\x20skills\x20already\x20installed','install','trailhead','10yMNltJ','deOve','XOYur','✓\x20Playwright\x20Chromium\x20browser\x20found','list','KWrig','5BvEOsS','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','190264qPtCTq','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','enfdb','TbWzg','\x0a🚀\x20Ranger\x20Setup\x0a','wantsProfile','IvllK','Txtff','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','HJrGW','\x0a⚠\x20Skipping\x20Chromium\x20installation.','✓\x20.ranger/\x20directory\x20already\x20exists','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','win32','ZGZOK','nUneC','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','7sBOxeE','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','NwtRI','217230CUivxG','skills','rwndY','\x20\x20npx\x20playwright@','121FcCjVU','error','VbraW','iBabP','ranger','NFLYD','output','✓\x20Already\x20authenticated\x20to\x20','ZKALS','skipChromium','OwWcE','confirm','\x0aYou\x20can\x20install\x20manually\x20with:','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','uiflQ','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','project','organizationName','platform','push','ePkWh','local','NYgxr','log','\x20\x20\x20\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x0a','resolve','BDxoT','✓\x20Stored\x20credentials\x20locally','✓\x20Authenticated\x20to\x20','auth','stdin','iZFFk','MWJWJ','LXjfe','\x0aIn\x20Claude\x20Code,\x20run\x20','.ranger','lQzoG','GITHUB_ENV','2752902bNJojv','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','✓\x20Marketplace\x20already\x20added','bvbNO','\x20\x202.\x20Run:\x20ranger\x20skillup','TyvLW','\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a','env','profile','user','WiEDw','\x20\x204.\x20Run:\x20ranger\x20profile\x20add\x20local','✓\x20Created\x20.ranger/.gitignore','success','\x20\x201.\x20Navigate\x20to\x20your\x20project\x20directory','message','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','nNlfh','pluginScope','xUkhJ','BcoLl','stdout','\x1b[1m','chromium','.gitignore','\x20and\x20prompt\x20the\x20coding','erGxw','eOHdJ','FvlZa','QVCcT','--scope','10067aZgWFr','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','isTTY','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','2970008CnWwBx','Non-interactive\x20mode\x20detected.\x20Skipping\x20optional\x20setup\x20prompts.','XpSSS','marketplace','trackPhaseEnd'];_0x59ff=function(){return _0x12afb9;};return _0x59ff();}function installChromiumBinary(_0xbd39a9){const _0x3d64c2=_0x2f3c55,_0x58c330={'UOCeM':_0x3d64c2(0x159),'LXjfe':'playwright','iBabP':_0x3d64c2(0x17b),'tDJlE':function(_0x2bb90f,_0x4ef156,_0xf37329,_0xe4edb4){return _0x2bb90f(_0x4ef156,_0xf37329,_0xe4edb4);},'Txtff':'npx','rMuOo':_0x3d64c2(0x192),'bWZKa':'close'};return new Promise((_0x365f65,_0x46aadf)=>{const _0x2f0a3f=_0x3d64c2,_0x5b6628={'TbWzg':function(_0x4a3da7){return _0x4a3da7();},'LAyhl':function(_0x2060d8,_0x2d2632){return _0x2060d8(_0x2d2632);},'HFcLz':function(_0x541f93,_0x4f6dc7){return _0x541f93(_0x4f6dc7);}},_0x1be755=_0xbd39a9?['playwright@'+_0xbd39a9,_0x2f0a3f(0x17b),_0x58c330['UOCeM']]:[_0x58c330[_0x2f0a3f(0x13d)],_0x58c330[_0x2f0a3f(0x1a0)],_0x58c330[_0x2f0a3f(0x176)]],_0x38caf4=_0x58c330['tDJlE'](spawn,_0x58c330[_0x2f0a3f(0x18c)],_0x1be755,{'stdio':'inherit','shell':process[_0x2f0a3f(0x1af)]===_0x58c330['rMuOo']});_0x38caf4['on'](_0x58c330['bWZKa'],_0x1cd9c8=>{const _0x26231e=_0x2f0a3f;_0x1cd9c8===0x0?_0x5b6628[_0x26231e(0x188)](_0x365f65):_0x5b6628['LAyhl'](_0x46aadf,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x1cd9c8));}),_0x38caf4['on']('error',_0x318ec7=>{_0x5b6628['HFcLz'](_0x46aadf,_0x318ec7);});});}export async function authenticate(_0x656a58){const _0x5b03a7=_0x2f3c55,_0x2f015a={'BDxoT':function(_0x1e19c9){return _0x1e19c9();},'nUneC':'No\x20token\x20provided\x20and\x20running\x20in\x20non-interactive\x20mode.\x20In\x20CI,\x20pass\x20a\x20token:\x20ranger\x20setup\x20[token].\x20Or\x20set\x20the\x20RANGER_CLI_TOKEN\x20environment\x20variable.','hqKOd':function(_0x2e5924){return _0x2e5924();},'QVCcT':function(_0x35de33,_0x4b10d9){return _0x35de33(_0x4b10d9);},'uiflQ':'✓\x20Exported\x20credentials\x20for\x20CI','JRfoB':_0x5b03a7(0x1b8)};if(!_0x656a58){const _0x3672d2=await _0x2f015a[_0x5b03a7(0x1b7)](getToken);if(_0x3672d2){const _0xa672c5=await getCurrentUser(_0x3672d2);if(_0xa672c5[_0x5b03a7(0x14f)])return console[_0x5b03a7(0x1b4)](_0x5b03a7(0x1a4)+_0xa672c5[_0x5b03a7(0x14b)][_0x5b03a7(0x1ae)]),_0x3672d2;}const _0x47532a=process[_0x5b03a7(0x13a)][_0x5b03a7(0x164)]&&process['stdout']['isTTY'];if(!_0x47532a)throw new Error(_0x2f015a[_0x5b03a7(0x194)]);try{_0x656a58=await _0x2f015a['hqKOd'](runDeviceAuthFlow);}catch(_0x3bbcab){throw new Error('Authentication\x20failed:\x20'+(_0x3bbcab instanceof Error?_0x3bbcab[_0x5b03a7(0x151)]:_0x3bbcab));}const _0x38ce4d=await getCurrentUser(_0x656a58);if(!_0x38ce4d['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x38ce4d['error']);return console['log'](_0x5b03a7(0x1b9)+_0x38ce4d['user'][_0x5b03a7(0x1ae)]),_0x656a58;}console['log']('Validating\x20API\x20token...');const _0x444781=await _0x2f015a[_0x5b03a7(0x15f)](getCurrentUser,_0x656a58);if(!_0x444781[_0x5b03a7(0x14f)]){if(_0x444781['status'])throw new Error('Authentication\x20failed:\x20'+_0x444781[_0x5b03a7(0x19e)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x444781['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x444781[_0x5b03a7(0x14b)][_0x5b03a7(0x1ae)]),await storeToken(_0x656a58),console['log'](process[_0x5b03a7(0x149)][_0x5b03a7(0x141)]?_0x2f015a[_0x5b03a7(0x1ab)]:_0x2f015a['JRfoB']),_0x656a58;}export async function ensureRangerDir(){const _0x307fe2=_0x2f3c55,_0x5d1900={'PXFDG':function(_0x18576e){return _0x18576e();},'deOve':function(_0x7b9f86,_0x47ae2c){return _0x7b9f86(_0x47ae2c);},'HNVNu':function(_0x13d2ea,_0x504ac5,_0x3f901d){return _0x13d2ea(_0x504ac5,_0x3f901d);}},_0x3f597e=_0x5d1900['PXFDG'](getRangerDir);return!_0x5d1900[_0x307fe2(0x17e)](existsSync,_0x3f597e)?(await _0x5d1900['HNVNu'](mkdir,_0x3f597e,{'recursive':!![]}),console[_0x307fe2(0x1b4)](_0x307fe2(0x16d)),{'path':_0x3f597e,'installed':!![]}):(console[_0x307fe2(0x1b4)](_0x307fe2(0x190)),{'path':_0x3f597e,'installed':![]});}export async function ensureChromium(){const _0x20620a=_0x2f3c55,_0x26acff={'qrdmj':_0x20620a(0x180),'hgxtf':_0x20620a(0x1a8),'uJlgu':_0x20620a(0x17b),'qtQry':_0x20620a(0x152),'bvbNO':'\x20\x20npx\x20playwright\x20install\x20chromium','VbraW':_0x20620a(0x18f),'kMDtS':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x109d64=![];try{const _0x4e30e7=chromium[_0x20620a(0x16c)]();_0x109d64=existsSync(_0x4e30e7);}catch{_0x109d64=![];}if(_0x109d64)return console['log'](_0x26acff['qrdmj']),![];const _0x5ed6ff=getPlaywrightVersion(),_0x59a388=process['stdin'][_0x20620a(0x164)]&&process[_0x20620a(0x157)]['isTTY'];let _0x58a330=!![];if(_0x59a388){const {install:_0x2b9657}=await _0x253b4e[_0x20620a(0x177)]([{'type':_0x26acff['hgxtf'],'name':_0x26acff['uJlgu'],'message':_0x5ed6ff?'The\x20required\x20version\x20('+_0x5ed6ff+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x20620a(0x195),'default':!![]}]);_0x58a330=_0x2b9657;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x5ed6ff?'\x20'+_0x5ed6ff:'')+'...');if(_0x58a330){console[_0x20620a(0x1b4)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x5ed6ff),console['log'](_0x26acff['qtQry']);}catch(_0x5a2ee1){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x5a2ee1 instanceof Error?_0x5a2ee1[_0x20620a(0x151)]:_0x5a2ee1),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),_0x5ed6ff?console['log']('\x20\x20npx\x20playwright@'+_0x5ed6ff+'\x20install\x20chromium'):console['log'](_0x26acff[_0x20620a(0x145)]);}}else console['log'](_0x26acff[_0x20620a(0x19f)]),console[_0x20620a(0x1b4)](_0x26acff['kMDtS']),_0x5ed6ff?console[_0x20620a(0x1b4)](_0x20620a(0x19c)+_0x5ed6ff+'\x20install\x20chromium'):console['log']('\x20\x20npx\x20playwright\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x53a0d4){const _0x23527a=_0x2f3c55,_0x579367={'qUXvg':function(_0x52410d,_0xda812f,_0x4b1b91){return _0x52410d(_0xda812f,_0x4b1b91);},'HJrGW':function(_0x4dd417,_0x1b29c8,_0x3b5ec5){return _0x4dd417(_0x1b29c8,_0x3b5ec5);}},_0x1f8a4b=_0x579367['qUXvg'](join,_0x53a0d4,_0x23527a(0x15a)),_0x4c7765=_0x23527a(0x148);await _0x579367[_0x23527a(0x18e)](writeFile,_0x1f8a4b,_0x4c7765),console[_0x23527a(0x1b4)](_0x23527a(0x14e));}async function ensurePlugin(){const _0x256f84=_0x2f3c55,_0x505366={'eOHdJ':function(_0x59a707,_0x4b8b82){return _0x59a707(_0x4b8b82);},'XpSSS':'ranger@trailhead','ePkWh':function(_0x4e7350){return _0x4e7350();},'BcoLl':'.claude','cIfsz':_0x256f84(0x165),'ZGZOK':'User\x20(available\x20in\x20all\x20your\x20projects)','MWJWJ':'Project\x20(shared\x20with\x20team\x20via\x20git)','QoEBS':'ranger-testing/trailhead','rwndY':'❌\x20Failed\x20to\x20add\x20marketplace:','IvllK':'\x0aYou\x20can\x20install\x20manually\x20with:','Nptrs':function(_0x1bb2d9,_0x2b9ea7){return _0x1bb2d9(_0x2b9ea7);},'jKLPB':'plugin','Fvvvt':'enable','nNlfh':function(_0x109bfe,_0x3b8a11){return _0x109bfe===_0x3b8a11;},'NYgxr':_0x256f84(0x160),'WiEDw':_0x256f84(0x1ad),'QcguI':'already\x20enabled'},_0x5a7998=await _0x505366[_0x256f84(0x15d)](isPluginInstalled,_0x505366[_0x256f84(0x168)]);if(_0x5a7998)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0xfc24c2=existsSync(join(_0x505366[_0x256f84(0x1b1)](getProjectRoot),_0x505366[_0x256f84(0x156)]));let _0x2df819;if(_0xfc24c2)_0x2df819='project';else{console['log'](_0x505366['cIfsz']);const _0x489ab1=await _0x253b4e[_0x256f84(0x177)]([{'type':_0x256f84(0x181),'name':_0x256f84(0x154),'message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x505366[_0x256f84(0x193)],'value':'user'},{'name':_0x505366[_0x256f84(0x13c)],'value':_0x256f84(0x1ad)}],'default':_0x256f84(0x14b)}]);_0x2df819=_0x489ab1[_0x256f84(0x154)];}console[_0x256f84(0x1b4)](_0x256f84(0x184)+_0x2df819+'\x20level)...\x0a');const _0x455989=await isMarketplaceAdded(_0x256f84(0x17c));let _0x27b200=_0x455989;if(_0x455989)console['log'](_0x256f84(0x144));else{const _0xeadc76=await _0x505366['eOHdJ'](runClaudeCommand,[_0x256f84(0x178),_0x256f84(0x169),'add',_0x505366['QoEBS']]);!_0xeadc76[_0x256f84(0x14f)]?(console['error'](_0x505366[_0x256f84(0x19b)],_0xeadc76['error']),console[_0x256f84(0x1b4)](_0x505366[_0x256f84(0x18b)]),console['log'](_0x256f84(0x1ac)),console[_0x256f84(0x1b4)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2df819)):_0x27b200=!![];}if(_0x27b200){const _0x4fedad=await _0x505366['Nptrs'](runClaudeCommand,[_0x256f84(0x178),'install',_0x505366[_0x256f84(0x168)],'--scope',_0x2df819]);if(!_0x4fedad[_0x256f84(0x14f)])console['error']('❌\x20Failed\x20to\x20install\x20plugin:',_0x4fedad[_0x256f84(0x19e)]),console['log'](_0x256f84(0x1a9)),console[_0x256f84(0x1b4)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x2df819);else{console['log'](_0x256f84(0x191));const _0x5d1696=[_0x505366['jKLPB'],_0x505366['Fvvvt'],_0x505366['XpSSS']];_0x505366[_0x256f84(0x153)](_0x2df819,_0x256f84(0x1ad))&&_0x5d1696[_0x256f84(0x1b0)](_0x505366[_0x256f84(0x1b3)],_0x505366[_0x256f84(0x14c)]);const _0x51bf6e=await runClaudeCommand(_0x5d1696,{'captureOutput':!![]});if(!_0x51bf6e[_0x256f84(0x14f)]){const _0x3a3889=_0x51bf6e[_0x256f84(0x1a3)]?.['includes'](_0x505366[_0x256f84(0x173)]);!_0x3a3889&&console[_0x256f84(0x19e)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x51bf6e[_0x256f84(0x19e)]);}console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}function printProfileSetupLaterInstructions(){const _0xd21adb=_0x2f3c55,_0x3404a5={'KWrig':function(_0x381939,_0x5155b1){return _0x381939(_0x5155b1);},'orRNf':_0xd21adb(0x143)};console['log'](_0xd21adb(0x186)),console['log']('\x20\x20'+_0x3404a5[_0xd21adb(0x182)](bold,'ranger\x20profile\x20add\x20local')),console['log'](_0x3404a5['orRNf']);}async function ensureLocalEnv(_0x3f7777){const _0x467f71=_0x2f3c55,_0x2c7014={'erGxw':_0x467f71(0x162),'XOYur':function(_0x308a32,_0x5b25cf,_0x3f60bf){return _0x308a32(_0x5b25cf,_0x3f60bf);},'xUkhJ':'local','Ehmxn':'\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','iZFFk':_0x467f71(0x1aa),'qxqmP':'confirm','TyvLW':function(_0x58f823){return _0x58f823();},'FvlZa':function(_0x219aad){return _0x219aad();}};if(!findGitRoot())return console[_0x467f71(0x1b4)](_0x2c7014[_0x467f71(0x15c)]),{'ready':![],'installed':![]};if(_0x2c7014[_0x467f71(0x17f)](findExistingEnv,_0x2c7014[_0x467f71(0x155)],{'locations':[_0x467f71(0x1b2)]}))return console[_0x467f71(0x1b4)](_0x467f71(0x174)),{'ready':!![],'installed':![]};console['log'](_0x2c7014['Ehmxn']),console[_0x467f71(0x1b4)]('to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind'),console[_0x467f71(0x1b4)]('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console[_0x467f71(0x1b4)]('use\x20until\x20the\x20session\x20expires.\x0a'),console['log'](_0x2c7014[_0x467f71(0x13b)]);const {wantsProfile:_0x31dc58}=await _0x253b4e['prompt']([{'type':_0x2c7014[_0x467f71(0x172)],'name':_0x467f71(0x18a),'message':_0x467f71(0x163),'default':!![]}]);if(!_0x31dc58)return _0x2c7014[_0x467f71(0x147)](printProfileSetupLaterInstructions),{'ready':![],'installed':![]};try{return await addEnv(_0x2c7014[_0x467f71(0x155)],{},_0x3f7777),{'ready':!![],'installed':!![]};}catch(_0x53b9a4){return console['error'](_0x467f71(0x179),_0x53b9a4 instanceof Error?_0x53b9a4[_0x467f71(0x151)]:_0x53b9a4),_0x2c7014[_0x467f71(0x15e)](printProfileSetupLaterInstructions),{'ready':![],'installed':![]};}}async function ensureSkills(){const _0x3ab794=_0x2f3c55,_0x2c4cb6={'ewCJz':function(_0x4d132c,_0x498ff4,_0x531420,_0x1e13cf){return _0x4d132c(_0x498ff4,_0x531420,_0x1e13cf);},'zLeqy':function(_0x5319c6,_0x4b2cb9,_0x367fb4){return _0x5319c6(_0x4b2cb9,_0x367fb4);},'Vnrkr':function(_0x58c7fe){return _0x58c7fe();},'URvYW':function(_0x486cc8,_0x7c14fb){return _0x486cc8(_0x7c14fb);},'wveXB':_0x3ab794(0x1a8),'Sulil':'wantsSkillup'},_0x42aa89=existsSync(join(getSkillsDir('user'),_0x3ab794(0x1a1),'SKILL.md')),_0x294d46=existsSync(_0x2c4cb6['ewCJz'](join,getSkillsDir('project'),'ranger','SKILL.md'));if(_0x42aa89||_0x294d46)return console[_0x3ab794(0x1b4)](_0x3ab794(0x17a)),![];const _0x2e44f3=existsSync(_0x2c4cb6['zLeqy'](join,_0x2c4cb6['Vnrkr'](getProjectRoot),'.claude'));if(_0x2e44f3)await _0x2c4cb6['URvYW'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const {wantsSkillup:_0x4ea7d7}=await _0x253b4e[_0x3ab794(0x177)]([{'type':_0x2c4cb6['wveXB'],'name':_0x2c4cb6['Sulil'],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x4ea7d7&&await skillup({'suppressUsage':!![]});}return!![];}export async function start(_0x45c379,_0x5c3711,_0x552399){const _0x4df0df=_0x2f3c55,_0x1a138d={'WALIT':_0x4df0df(0x189),'hcjlU':'No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','XQwSx':_0x4df0df(0x1ba),'slMqy':'chromium','NwtRI':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','iufqm':_0x4df0df(0x167),'rsKFB':'\x20\x203.\x20Install\x20Claude\x20Code\x20plugin:','OwWcE':_0x4df0df(0x14d),'LgXdr':'plugin','ZKALS':function(_0x1f3b85){return _0x1f3b85();},'DFjst':_0x4df0df(0x19a),'enfdb':function(_0x653279){return _0x653279();},'NFLYD':function(_0x43fbe0,_0x5bce2b,_0x3b44ad){return _0x43fbe0(_0x5bce2b,_0x3b44ad);},'ZuWUc':_0x4df0df(0x14a),'lQzoG':function(_0x504cbe,_0x412f72){return _0x504cbe(_0x412f72);},'tjhcz':'/ranger:enable','SKVVh':function(_0x40a135,_0x2b57a9){return _0x40a135+_0x2b57a9;}};console['log'](_0x1a138d['WALIT']);if(!findGitRoot())throw new Error(_0x1a138d['hcjlU']);_0x552399?.['trackPhaseStart'](_0x1a138d['XQwSx']),await authenticate(_0x45c379),_0x552399?.['trackPhaseEnd']('auth'),_0x552399?.[_0x4df0df(0x175)]('dir_setup');const {path:_0x1ebe17,installed:_0x5d13e9}=await ensureRangerDir();_0x552399?.['trackPhaseEnd']('dir_setup',{'installed':_0x5d13e9}),_0x552399?.[_0x4df0df(0x175)](_0x1a138d['slMqy']);let _0x5051cb=![];_0x5c3711?.[_0x4df0df(0x1a6)]?console['log'](_0x1a138d[_0x4df0df(0x198)]):_0x5051cb=await ensureChromium();_0x552399?.[_0x4df0df(0x16a)](_0x4df0df(0x159),{'installed':_0x5051cb,'skipped':!!_0x5c3711?.[_0x4df0df(0x1a6)]}),await writeRangerGitignore(_0x1ebe17),console[_0x4df0df(0x1b4)](_0x4df0df(0x18d));const _0x12c2ec=process[_0x4df0df(0x13a)]['isTTY']&&process['stdout'][_0x4df0df(0x164)];if(!_0x12c2ec){console[_0x4df0df(0x1b4)](_0x1a138d['iufqm']),console['log'](_0x4df0df(0x170)),console[_0x4df0df(0x1b4)](_0x4df0df(0x150)),console[_0x4df0df(0x1b4)](_0x4df0df(0x146)),console['log'](_0x1a138d['rsKFB']),console[_0x4df0df(0x1b4)]('\x20\x20\x20\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log'](_0x4df0df(0x1b5)),console[_0x4df0df(0x1b4)](_0x1a138d[_0x4df0df(0x1a7)]);return;}_0x552399?.['trackPhaseStart'](_0x1a138d['LgXdr']);const _0x3ad4d5=await _0x1a138d[_0x4df0df(0x1a5)](ensurePlugin);_0x552399?.['trackPhaseEnd']('plugin',{'installed':_0x3ad4d5}),_0x552399?.['trackPhaseStart'](_0x1a138d['DFjst']);const _0x47e130=await _0x1a138d[_0x4df0df(0x187)](ensureSkills);_0x552399?.[_0x4df0df(0x16a)](_0x1a138d['DFjst'],{'installed':_0x47e130});const _0x3c4eb8=findGitRoot();if(_0x3c4eb8){const _0x5d80aa=_0x1a138d[_0x4df0df(0x1a2)](join,_0x3c4eb8,_0x4df0df(0x13f));!existsSync(_0x5d80aa)&&await _0x1a138d['NFLYD'](mkdir,_0x5d80aa,{'recursive':!![]});}_0x552399?.['trackPhaseStart'](_0x1a138d['ZuWUc']);const _0x36daff=await _0x1a138d[_0x4df0df(0x140)](ensureLocalEnv,_0x552399);_0x552399?.['trackPhaseEnd'](_0x1a138d['ZuWUc'],{'installed':_0x36daff['installed']});const _0xbf9a02=_0x36daff['ready'],_0x526a68=bold(_0x1a138d['tjhcz']);_0xbf9a02&&console[_0x4df0df(0x1b4)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.'),console[_0x4df0df(0x1b4)](_0x1a138d['SKVVh'](_0x4df0df(0x13e)+_0x526a68+_0x4df0df(0x15b)+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'+_0x4df0df(0x197),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
1
  import { spawn } from 'child_process';
2
2
  import { existsSync } from 'fs';
3
+ import { readFile, writeFile } from 'fs/promises';
3
4
  import { installSkill, removeSkill, RANGER_MANAGED_SKILLS, DEPRECATED_SKILLS, } from './utils/skills.js';
4
5
  import { PACKAGE_NAME, getCurrentVersion, getLatestVersion, compareVersions, } from './utils/version.js';
5
6
  import { getSkillsDir } from './utils/claudeConfig.js';
6
7
  import { join } from 'path';
7
8
  import { migrateActiveProfileFile } from './utils/activeProfile.js';
9
+ import { getRangerDir } from './utils/rangerRoot.js';
8
10
  async function runInstall() {
9
11
  return new Promise((resolve) => {
10
12
  console.log(`\nInstalling ${PACKAGE_NAME}@latest...\n`);
11
13
  const child = spawn('npm', ['install', '-g', `${PACKAGE_NAME}@latest`], {
12
14
  stdio: 'inherit',
13
- shell: true,
15
+ shell: process.platform === 'win32',
14
16
  });
15
17
  child.on('close', (code) => {
16
18
  resolve(code === 0);
@@ -24,7 +26,7 @@ async function updateClaudeMarketplace() {
24
26
  return new Promise((resolve) => {
25
27
  const child = spawn('claude', ['plugin', 'marketplace', 'update', 'trailhead'], {
26
28
  stdio: 'pipe',
27
- shell: true,
29
+ shell: process.platform === 'win32',
28
30
  });
29
31
  child.on('close', (code) => {
30
32
  resolve(code === 0);
@@ -36,13 +38,13 @@ async function updateClaudeMarketplace() {
36
38
  }
37
39
  async function updateClaudePlugin(scope) {
38
40
  return new Promise((resolve) => {
39
- let command = 'claude plugin update ranger@trailhead';
41
+ const args = ['plugin', 'update', 'ranger@trailhead'];
40
42
  if (scope) {
41
- command += ` --scope=${scope}`;
43
+ args.push('--scope', scope);
42
44
  }
43
- const child = spawn(command, [], {
45
+ const child = spawn('claude', args, {
44
46
  stdio: 'pipe',
45
- shell: true,
47
+ shell: process.platform === 'win32',
46
48
  });
47
49
  child.on('close', (code) => {
48
50
  resolve(code === 0);
@@ -95,6 +97,39 @@ async function reinstallSkills(cliVersion) {
95
97
  }
96
98
  }
97
99
  }
100
+ async function ensureActiveProfileGitignored() {
101
+ const rangerGitignorePath = join(getRangerDir(), '.gitignore');
102
+ if (!existsSync(rangerGitignorePath)) {
103
+ return false;
104
+ }
105
+ let content = '';
106
+ try {
107
+ content = await readFile(rangerGitignorePath, 'utf-8');
108
+ }
109
+ catch {
110
+ return false;
111
+ }
112
+ const lines = content.split(/\r?\n/);
113
+ if (lines.some((line) => line.trim() === 'active-profile.txt')) {
114
+ return false;
115
+ }
116
+ let insertIndex = lines.findIndex((line) => line.trim() === 'active-feature.txt');
117
+ if (insertIndex === -1) {
118
+ insertIndex = lines.length;
119
+ }
120
+ lines.splice(insertIndex, 0, 'active-profile.txt');
121
+ let nextContent = lines.join('\n');
122
+ if (!nextContent.endsWith('\n')) {
123
+ nextContent += '\n';
124
+ }
125
+ try {
126
+ await writeFile(rangerGitignorePath, nextContent, 'utf-8');
127
+ }
128
+ catch {
129
+ return false;
130
+ }
131
+ return true;
132
+ }
98
133
  export async function update() {
99
134
  const currentVersion = getCurrentVersion();
100
135
  console.log(`\nCurrent version: ${currentVersion}`);
@@ -141,6 +176,7 @@ export async function update() {
141
176
  if (migratedProfile) {
142
177
  console.log('✓ Migrated active profile file');
143
178
  }
179
+ const updatedGitignore = await ensureActiveProfileGitignored();
144
180
  console.log('\n✅ Update complete!');
145
181
  }
146
182
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EACH,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,KAAK,UAAU,UAAU;IACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,cAAc,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,KAAK,CACf,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,SAAS,CAAC,EAC3C;YACI,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACd,CACJ,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,uBAAuB;IAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CACf,QAAQ,EACR,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,EAChD;YACI,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,IAAI;SACd,CACJ,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,KAAiB;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,OAAO,GAAG,uCAAuC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,IAAI,YAAY,KAAK,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE;YAC7B,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,SAAiB,EAAE,KAAmB;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,UAAkB;IAC7C,MAAM,MAAM,GAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnD,+DAA+D;IAC/D,MAAM,WAAW,GAAsD,EAAE,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;YAC5C,IAAI,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;gBACrC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CACP,kBAAkB,WAAW,CAAC,MAAM,6BAA6B,CACpE,CAAC;IAEF,KAAK,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC;YACD,MAAM,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACR,yBAAyB,KAAK,UAAU,SAAS,GAAG,EACpD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IACxB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,sBAAsB,cAAc,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACX,oEAAoE,CACvE,CAAC;IACN,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,YAAY,GAAG,cAAc,CAAC;IAElC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACP,mBAAmB,cAAc,0CAA0C,aAAa,IAAI,CAC/F,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QAEnC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;YAClE,YAAY,GAAG,aAAa,CAAC;QACjC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CACX,qEAAqE,YAAY,SAAS,CAC7F,CAAC;QACN,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAEpC,uCAAuC;IACvC,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC3D,IAAI,kBAAkB,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC/C,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CACP,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,wCAAwC,CACrE,CAAC;IACN,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,wBAAwB,EAAE,CAAC;IACzD,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}