@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 +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/clean.js.map +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/postEdit.js.map +1 -1
- package/build/commands/hooks/stopHook.js +29 -22
- package/build/commands/hooks/stopHook.js.map +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/start.js.map +1 -1
- package/build/commands/update.js +42 -6
- package/build/commands/update.js.map +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudePlugin.js +2 -2
- package/build/commands/utils/claudePlugin.js.map +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/keychain.js.map +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/build/skills/ranger/SKILL.md +6 -0
- package/package.json +1 -1
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 `
|
|
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
|
|
package/build/commands/addEnv.js
CHANGED
|
@@ -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;}}
|
package/build/commands/clean.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
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":"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,IAAI,
|
|
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
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE
|
|
1
|
+
{"version":3,"file":"stopHook.js","sourceRoot":"","sources":["../../../src/commands/hooks/stopHook.ts"],"names":[],"mappings":"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"}
|
package/build/commands/login.js
CHANGED
|
@@ -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
|
|
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();
|
package/build/commands/start.js
CHANGED
|
@@ -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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"}
|
package/build/commands/update.js
CHANGED
|
@@ -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:
|
|
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:
|
|
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
|
-
|
|
41
|
+
const args = ['plugin', 'update', 'ranger@trailhead'];
|
|
40
42
|
if (scope) {
|
|
41
|
-
|
|
43
|
+
args.push('--scope', scope);
|
|
42
44
|
}
|
|
43
|
-
const child = spawn(
|
|
45
|
+
const child = spawn('claude', args, {
|
|
44
46
|
stdio: 'pipe',
|
|
45
|
-
shell:
|
|
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;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|