@ranger-testing/ranger-cli 2.1.0 → 2.1.2
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 +10 -1
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/featureReportGenerator.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/git.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -0
- package/build/commands/utils/model.js +1 -0
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -0
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/reportGenerator.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/build/skills/ranger/SKILL.md +16 -14
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x23f625,_0x4f0219){const _0x2d7160=_0x28d8,_0x51d335=_0x23f625();while(!![]){try{const _0x4723b9=-parseInt(_0x2d7160(0x14b))/0x1*(parseInt(_0x2d7160(0x134))/0x2)+-parseInt(_0x2d7160(0x135))/0x3*(-parseInt(_0x2d7160(0x14d))/0x4)+-parseInt(_0x2d7160(0x139))/0x5+-parseInt(_0x2d7160(0x136))/0x6*(-parseInt(_0x2d7160(0x149))/0x7)+-parseInt(_0x2d7160(0x140))/0x8+parseInt(_0x2d7160(0x14c))/0x9+-parseInt(_0x2d7160(0x14e))/0xa*(-parseInt(_0x2d7160(0x141))/0xb);if(_0x4723b9===_0x4f0219)break;else _0x51d335['push'](_0x51d335['shift']());}catch(_0x45ff8f){_0x51d335['push'](_0x51d335['shift']());}}}(_0x14c5,0x587fe));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x14c5(){const _0x43fd48=['1177dOsfDr','https://dashboard.ranger.net/features/','\x20for\x20\x22','input','alloc','message','mshBK','KSgNE','105obhTyH','hook:stop','2AQHIaJ','5966010mxCgjS','622852NCuqOS','290oCYtvs','transcript_path','min','stop_hook_active','currentSessionId','stringify','469462LtcTUt','12EQCxaA','97386pDrmMU','toString',':\x0a\x0a','73510nGQCQE','SfHJn','sessionId','FZqQN','pNReW','includes','RANGER_SKIP_VERIFICATION','5485216UgTrEF'];_0x14c5=function(){return _0x43fd48;};return _0x14c5();}export async function stopHook(_0x5cccb7){const _0x4843a2=_0x28d8,_0x2ee6d7={'SBpIv':function(_0x48ba31,_0x4f1b71){return _0x48ba31(_0x4f1b71);},'DpPpP':function(_0x49b6cb,_0x53ce08){return _0x49b6cb===_0x53ce08;},'SfHJn':function(_0x4b766c,_0x4a3bc0,_0x4aa458,_0x2f0c4f){return _0x4b766c(_0x4a3bc0,_0x4aa458,_0x2f0c4f);},'KSgNE':function(_0x4f9191,_0x396efe){return _0x4f9191(_0x396efe);},'GfqtQ':_0x4843a2(0x13f),'llfNP':function(_0xceb00,_0x113859,_0x28aaf3){return _0xceb00(_0x113859,_0x28aaf3);},'pNReW':function(_0x5627fb,_0xb6b3d5){return _0x5627fb instanceof _0xb6b3d5;},'FZqQN':function(_0x191db1,_0x5ae985,_0x5328c2,_0x3f644d){return _0x191db1(_0x5ae985,_0x5328c2,_0x3f644d);}},_0x33a146=await getEnabledHookContext(_0x5cccb7),_0x13ed73=_0x33a146?.[_0x4843a2(0x13b)]??null,_0x239d24=_0x2ee6d7['SBpIv'](Boolean,_0x33a146?.['input']?.[_0x4843a2(0x151)]),_0x3341e2=_0x2ee6d7['DpPpP'](typeof _0x33a146?.[_0x4843a2(0x144)]?.[_0x4843a2(0x14f)],'string')?_0x33a146[_0x4843a2(0x144)][_0x4843a2(0x14f)]:null;let _0x1138b2=!![];if(!_0x13ed73){await _0x2ee6d7['SfHJn'](trackStop,_0x13ed73,![],_0x1138b2);return;}try{const _0x4dcb81=_0x2ee6d7['KSgNE'](getSessionEntry,_0x13ed73);if(!_0x4dcb81){await trackStop(_0x13ed73,!![],_0x1138b2);return;}const _0x329c29=_0x4843a2(0x142)+_0x4dcb81['featureId'],_0x3f9857=_0x2ee6d7['GfqtQ'],_0x3c6fd6=await getToken(),_0x5c5acb=!_0x239d24;let _0x2bce61=null,_0x5672ca=null;const _0x4f0d48=_0x239d24&&await _0x2ee6d7['llfNP'](transcriptHasToken,_0x3341e2,_0x3f9857),_0x5d93=await transcriptHasToken(_0x3341e2,_0x329c29);if(_0x3c6fd6)try{const _0x384158=await getFeature(_0x4dcb81['featureId']);_0x2bce61=_0x384158['name']??null,_0x5672ca=_0x384158[_0x4843a2(0x152)]??null;}catch{}if(_0x3c6fd6&&_0x5672ca)try{await concludeSession(_0x4dcb81['featureId'],_0x5672ca);}catch(_0x160e79){if(_0x4f0d48){await trackStop(_0x13ed73,!![],_0x1138b2);return;}_0x1138b2=![];const _0x457e20=_0x2ee6d7[_0x4843a2(0x13d)](_0x160e79,Error)?_0x160e79[_0x4843a2(0x146)]:_0x2ee6d7[_0x4843a2(0x148)](String,_0x160e79),_0x489694={'decision':'block','reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x2bce61?_0x4843a2(0x143)+_0x2bce61+'\x22':'')+_0x4843a2(0x138)+_0x457e20+'\x0a\x0aThis\x20is\x20most\x20likely\x20due\x20to\x20pending\x20scenarios\x20that\x20need\x20to\x20be\x20verified.\x20Please\x20resolve\x20the\x20issue\x20or\x20resume\x20later\x20with:\x0a\x20\x20ranger\x20resume\x0a\x0aIf\x20you\x20are\x20extremely\x20sure\x20this\x20is\x20the\x20user\x27s\x20requirement\x20and\x20want\x20to\x20skip\x20verification\x20for\x20now,\x20send\x20a\x20final\x20message\x20that\x20includes\x20the\x20feature\x20review\x20link\x20('+_0x329c29+')\x20and\x20the\x20token\x20`'+_0x3f9857+'`,\x20then\x20run\x20/exit\x20again.'};console['log'](JSON[_0x4843a2(0x133)](_0x489694)),await trackStop(_0x13ed73,!![],_0x1138b2);return;}await _0x2ee6d7[_0x4843a2(0x13a)](trackStop,_0x13ed73,!![],_0x1138b2);return;}catch{await _0x2ee6d7[_0x4843a2(0x13c)](trackStop,_0x13ed73,!![],_0x1138b2);return;}}async function trackStop(_0x2186ec,_0x50da9d,_0x2e69c9){const _0x77f761=_0x28d8,_0x4cf74a={'zfKMv':'success'};try{const _0x3fbac1=createTelemetryCollector(_0x77f761(0x14a));await _0x3fbac1['trackCommandStart']({'sessionId':_0x2186ec??undefined,'hooksEnabled':_0x50da9d,'stopAllowed':_0x2e69c9}),await _0x3fbac1['trackCommandEnd'](_0x4cf74a['zfKMv']);}catch{}}function _0x28d8(_0x5880f1,_0x27421e){_0x5880f1=_0x5880f1-0x133;const _0x14c5a5=_0x14c5();let _0x28d849=_0x14c5a5[_0x5880f1];return _0x28d849;}async function transcriptHasToken(_0x39f08f,_0x4fd480){const _0x23605f=_0x28d8;if(!_0x39f08f)return![];const _0x5a3811=await readTranscriptTail(_0x39f08f,0x30d40);return _0x5a3811?_0x5a3811[_0x23605f(0x13e)](_0x4fd480):![];}async function readTranscriptTail(_0x48b51b,_0x3f6cbe){const _0x2ddfa5=_0x28d8,_0x433840={'ziqCv':function(_0x1bdd95,_0x432c61){return _0x1bdd95<=_0x432c61;},'LdouO':function(_0x3eac61,_0x5da465){return _0x3eac61-_0x5da465;},'mshBK':'utf8'};let _0x31833=null;try{_0x31833=await open(_0x48b51b,'r');const _0x4121e9=await _0x31833['stat'](),_0x206e4c=Math[_0x2ddfa5(0x150)](_0x4121e9['size'],_0x3f6cbe);if(_0x433840['ziqCv'](_0x206e4c,0x0))return'';const _0x3e8fad=Buffer[_0x2ddfa5(0x145)](_0x206e4c);return await _0x31833['read'](_0x3e8fad,0x0,_0x206e4c,_0x433840['LdouO'](_0x4121e9['size'],_0x206e4c)),_0x3e8fad[_0x2ddfa5(0x137)](_0x433840[_0x2ddfa5(0x147)]);}catch{return null;}finally{try{await _0x31833?.['close']();}catch{}}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x460037,_0x5ae466){var _0x3b2b01=_0x36cc,_0x8b03de=_0x460037();while(!![]){try{var _0x3e2132=-parseInt(_0x3b2b01(0x98))/0x1*(parseInt(_0x3b2b01(0x93))/0x2)+-parseInt(_0x3b2b01(0x90))/0x3+-parseInt(_0x3b2b01(0x96))/0x4+parseInt(_0x3b2b01(0x94))/0x5*(parseInt(_0x3b2b01(0x91))/0x6)+-parseInt(_0x3b2b01(0x95))/0x7*(parseInt(_0x3b2b01(0x97))/0x8)+-parseInt(_0x3b2b01(0x99))/0x9+parseInt(_0x3b2b01(0x92))/0xa;if(_0x3e2132===_0x5ae466)break;else _0x8b03de['push'](_0x8b03de['shift']());}catch(_0x589840){_0x8b03de['push'](_0x8b03de['shift']());}}}(_0xab01,0x382ae));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';function _0xab01(){var _0x231538=['662403ZVeZCW','1221680iQCrSR','8rqWwtX','180727OAHxgm','4116204BFDJDt','795882jhLezJ','6tWoziJ','14186410UMQHYB','4ekrgXk','1477870dlMYle'];_0xab01=function(){return _0x231538;};return _0xab01();}export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x36cc(_0x188c87,_0x55eed4){_0x188c87=_0x188c87-0x90;var _0xab016a=_0xab01();var _0x36cc9d=_0xab016a[_0x188c87];return _0x36cc9d;}export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1362(){const _0x2b984f=['organizationName','dFnbf','5EHQUud','success','3872586zUCKGq','19795100KKtWdK','488848mmUNAX','8KZHiRN','log','2927943engdcK','user','\x0a✅\x20API\x20key\x20stored\x20successfully','isTTY','HRiCA','5CVHOqj','stdin','2997022GciwQx','2675052UjmpGs','6842694nSjuXn'];_0x1362=function(){return _0x2b984f;};return _0x1362();}(function(_0x10638c,_0x26e52c){const _0x2e3cd0=_0x1575,_0x340da3=_0x10638c();while(!![]){try{const _0x9888a=-parseInt(_0x2e3cd0(0x7c))/0x1*(parseInt(_0x2e3cd0(0x80))/0x2)+parseInt(_0x2e3cd0(0x7e))/0x3+parseInt(_0x2e3cd0(0x78))/0x4+parseInt(_0x2e3cd0(0x75))/0x5*(parseInt(_0x2e3cd0(0x79))/0x6)+-parseInt(_0x2e3cd0(0x77))/0x7*(-parseInt(_0x2e3cd0(0x81))/0x8)+parseInt(_0x2e3cd0(0x83))/0x9+-parseInt(_0x2e3cd0(0x7f))/0xa;if(_0x9888a===_0x26e52c)break;else _0x340da3['push'](_0x340da3['shift']());}catch(_0x50e8f7){_0x340da3['push'](_0x340da3['shift']());}}}(_0x1362,0x9f28d));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x1575(_0x570bd1,_0x2403f9){_0x570bd1=_0x570bd1-0x75;const _0x136267=_0x1362();let _0x1575cc=_0x136267[_0x570bd1];return _0x1575cc;}import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x44d161=_0x1575,_0x13185d={'HRiCA':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','dFnbf':function(_0x55faeb){return _0x55faeb();},'gFaPe':function(_0x4a44ee,_0x4d6dd4){return _0x4a44ee(_0x4d6dd4);},'evCGK':_0x44d161(0x85),'qBLnf':function(_0x5a8ad9,_0x4547f0){return _0x5a8ad9 instanceof _0x4547f0;}},_0x364e8d=process[_0x44d161(0x76)][_0x44d161(0x86)]&&process['stdout'][_0x44d161(0x86)];if(!_0x364e8d)throw new Error(_0x13185d[_0x44d161(0x87)]);try{const _0x11525e=await _0x13185d[_0x44d161(0x7b)](runDeviceAuthFlow),_0x1ca638=await _0x13185d['gFaPe'](getCurrentUser,_0x11525e);_0x1ca638[_0x44d161(0x7d)]?console[_0x44d161(0x82)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1ca638[_0x44d161(0x84)][_0x44d161(0x7a)]):console['log'](_0x13185d['evCGK']);}catch(_0x1b0ba5){throw new Error('Login\x20failed:\x20'+(_0x13185d['qBLnf'](_0x1b0ba5,Error)?_0x1b0ba5['message']:_0x1b0ba5));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xf41282,_0x427807){const _0xdb8049=_0x311e,_0x4bb4e9=_0xf41282();while(!![]){try{const _0x5bb1ae=-parseInt(_0xdb8049(0x100))/0x1+-parseInt(_0xdb8049(0xf6))/0x2+-parseInt(_0xdb8049(0xe1))/0x3+parseInt(_0xdb8049(0x105))/0x4*(-parseInt(_0xdb8049(0xdb))/0x5)+parseInt(_0xdb8049(0xdf))/0x6*(parseInt(_0xdb8049(0xfb))/0x7)+-parseInt(_0xdb8049(0x103))/0x8+parseInt(_0xdb8049(0xe8))/0x9;if(_0x5bb1ae===_0x427807)break;else _0x4bb4e9['push'](_0x4bb4e9['shift']());}catch(_0x15467b){_0x4bb4e9['push'](_0x4bb4e9['shift']());}}}(_0x21cc,0x7e28b));import{join}from'path';function _0x311e(_0x2dd84c,_0x3d2e8f){_0x2dd84c=_0x2dd84c-0xd4;const _0x21ccd1=_0x21cc();let _0x311e4a=_0x21ccd1[_0x2dd84c];return _0x311e4a;}import{existsSync}from'fs';import _0x28211c from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x21cc(){const _0x106d19=['User\x20(available\x20in\x20all\x20your\x20projects)','PqcfC','1792862FXsmML','.claude','YPPDj','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','xSjzt','727853mYACQw','Where\x20should\x20the\x20plugin\x20be\x20installed?','plugin','WjOOS','list','341921FTBtQh','success','ITBVr','1740168dlAGSV','❌\x20Failed\x20to\x20install\x20plugin:','5288DarfDt','csehR','\x0aYou\x20can\x20install\x20manually\x20with:','ranger-testing/trailhead','project','tSbQH','marketplace','--scope','zOKDR','user','1100qFQsyX','output','confirm','ranger@trailhead','48AQSBxR','\x20level)...\x0a','8586rLWGSA','✓\x20Ranger\x20skills\x20already\x20installed','bfLhz','tBEIU','log','TXCIR','GrPmg','12910410fqElEM','tuPyh','KSmhf','phona','pPvgO','hfJWu','wantsSkillup','includes','LqZJm','error','install','tQmlX'];_0x21cc=function(){return _0x106d19;};return _0x21cc();}export async function ensureClaudePlugin(_0x5e3f85){const _0x3fcdab=_0x311e,_0x23fffb={'tuPyh':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','KSmhf':_0x3fcdab(0xf7),'tMRGx':_0x3fcdab(0xd5),'Deptl':'pluginScope','WYcyl':_0x3fcdab(0xf4),'LqZJm':_0x3fcdab(0xda),'wqXmJ':'Project\x20(shared\x20with\x20team\x20via\x20git)','mVlxP':'trailhead','dwaIS':'✓\x20Marketplace\x20already\x20added','csehR':function(_0x14cac9,_0x5470c6){return _0x14cac9(_0x5470c6);},'tSbQH':_0x3fcdab(0xd7),'dvxKg':'add','tBEIU':_0x3fcdab(0xd4),'qfVCm':'❌\x20Failed\x20to\x20add\x20marketplace:','phona':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','PqcfC':'ranger@trailhead','XCNDy':_0x3fcdab(0x104),'JoCEk':_0x3fcdab(0x107),'ukcKn':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','tQmlX':'--scope','pPvgO':function(_0x2c3357,_0x33db61,_0x3daff5){return _0x2c3357(_0x33db61,_0x3daff5);},'zOKDR':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x289cad=await isPluginInstalled(_0x3fcdab(0xde));if(_0x289cad)return console[_0x3fcdab(0xe5)](_0x23fffb[_0x3fcdab(0xe9)]),![];const _0x3aa49e=existsSync(join(getProjectRoot(),_0x23fffb[_0x3fcdab(0xea)]));let _0x5d260e;if(_0x5e3f85)_0x5d260e=_0x5e3f85;else{if(_0x3aa49e)_0x5d260e=_0x23fffb['tMRGx'];else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0xfcce2b=await _0x28211c['prompt']([{'type':_0x3fcdab(0xff),'name':_0x23fffb['Deptl'],'message':_0x3fcdab(0xfc),'choices':[{'name':_0x23fffb['WYcyl'],'value':_0x23fffb[_0x3fcdab(0xf0)]},{'name':_0x23fffb['wqXmJ'],'value':_0x3fcdab(0xd5)}],'default':'user'}]);_0x5d260e=_0xfcce2b['pluginScope'];}}console['log'](_0x3fcdab(0xf9)+_0x5d260e+_0x3fcdab(0xe0));const _0x41db26=await isMarketplaceAdded(_0x23fffb['mVlxP']);let _0x419e94=_0x41db26;if(_0x41db26)console[_0x3fcdab(0xe5)](_0x23fffb['dwaIS']);else{const _0x690af3=await _0x23fffb[_0x3fcdab(0x106)](runClaudeCommand,['plugin',_0x23fffb[_0x3fcdab(0xd6)],_0x23fffb['dvxKg'],_0x23fffb[_0x3fcdab(0xe4)]]);!_0x690af3[_0x3fcdab(0x101)]?(console[_0x3fcdab(0xf1)](_0x23fffb['qfVCm'],_0x690af3['error']),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x3fcdab(0xe5)](_0x23fffb[_0x3fcdab(0xeb)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5d260e)):_0x419e94=!![];}if(_0x419e94){const _0x141d13=await runClaudeCommand([_0x3fcdab(0xfd),_0x3fcdab(0xf2),_0x23fffb[_0x3fcdab(0xf5)],_0x3fcdab(0xd8),_0x5d260e]);if(!_0x141d13['success'])console['error'](_0x23fffb['XCNDy'],_0x141d13['error']),console['log'](_0x23fffb['JoCEk']),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5d260e);else{console['log'](_0x23fffb['ukcKn']);const _0x4446da=[_0x3fcdab(0xfd),'enable',_0x3fcdab(0xde)];_0x5d260e===_0x3fcdab(0xd5)&&_0x4446da['push'](_0x23fffb[_0x3fcdab(0xf3)],_0x3fcdab(0xd5));const _0x446a22=await _0x23fffb[_0x3fcdab(0xec)](runClaudeCommand,_0x4446da,{'captureOutput':!![]}),_0x111c4c=_0x446a22[_0x3fcdab(0xdc)]?.[_0x3fcdab(0xef)]('already\x20enabled');!_0x446a22[_0x3fcdab(0x101)]&&!_0x111c4c?console['error'](_0x23fffb[_0x3fcdab(0xd9)],_0x446a22[_0x3fcdab(0xf1)]):console['log']('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x5f41ca){const _0x119c0c=_0x311e,_0x2acbc6={'NTylr':function(_0x13fd26,_0x2da75d){return _0x13fd26(_0x2da75d);},'GrPmg':function(_0x430d5c,_0x15f1a6){return _0x430d5c(_0x15f1a6);},'VmfRY':'user','ITBVr':'SKILL.md','yWHth':function(_0x59a35f,_0x2bbc06){return _0x59a35f(_0x2bbc06);},'YPPDj':function(_0x1814d1,_0x3add6e){return _0x1814d1(_0x3add6e);},'xSjzt':_0x119c0c(0xd5),'TXCIR':'ranger','hfJWu':function(_0x1c9bb0,_0x4ec4e6){return _0x1c9bb0||_0x4ec4e6;},'JUhoY':_0x119c0c(0xe2),'WjOOS':_0x119c0c(0xf7),'bfLhz':_0x119c0c(0xdd),'CfcKE':function(_0x3379c6,_0x4cd119){return _0x3379c6(_0x4cd119);}},_0x17a9d6=_0x2acbc6['NTylr'](existsSync,join(_0x2acbc6[_0x119c0c(0xe7)](getSkillsDir,_0x2acbc6['VmfRY']),'ranger',_0x2acbc6[_0x119c0c(0x102)])),_0x59a366=_0x2acbc6['yWHth'](existsSync,join(_0x2acbc6[_0x119c0c(0xf8)](getSkillsDir,_0x2acbc6[_0x119c0c(0xfa)]),_0x2acbc6[_0x119c0c(0xe6)],'SKILL.md'));if(_0x2acbc6[_0x119c0c(0xed)](_0x17a9d6,_0x59a366))return console['log'](_0x2acbc6['JUhoY']),![];const _0x47b57f=_0x2acbc6['GrPmg'](existsSync,join(getProjectRoot(),_0x2acbc6[_0x119c0c(0xfe)]));let _0xb41f1d=!![];if(_0x5f41ca)await skillup({'autoInstall':_0x5f41ca,'suppressUsage':!![]});else{if(_0x47b57f)await _0x2acbc6['yWHth'](skillup,{'autoInstall':_0x2acbc6[_0x119c0c(0xfa)],'suppressUsage':!![]});else{const _0x59508d=await _0x28211c['prompt']([{'type':_0x2acbc6[_0x119c0c(0xe3)],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0xb41f1d=_0x59508d[_0x119c0c(0xee)],_0xb41f1d&&await _0x2acbc6['CfcKE'](skillup,{'suppressUsage':!![]});}}return _0xb41f1d;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x35deaa,_0x4102f4){const _0x297803=_0x2e56,_0x1a43a9=_0x35deaa();while(!![]){try{const _0x531e3e=-parseInt(_0x297803(0x14b))/0x1*(-parseInt(_0x297803(0x13d))/0x2)+-parseInt(_0x297803(0x155))/0x3*(-parseInt(_0x297803(0x145))/0x4)+-parseInt(_0x297803(0x141))/0x5+-parseInt(_0x297803(0x143))/0x6+parseInt(_0x297803(0x150))/0x7*(-parseInt(_0x297803(0x154))/0x8)+parseInt(_0x297803(0x148))/0x9*(parseInt(_0x297803(0x13a))/0xa)+-parseInt(_0x297803(0x13c))/0xb;if(_0x531e3e===_0x4102f4)break;else _0x1a43a9['push'](_0x1a43a9['shift']());}catch(_0x121be8){_0x1a43a9['push'](_0x1a43a9['shift']());}}}(_0x5bb0,0xd2dad));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x2d0f6d from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x5bb0(){const _0x10f9d0=['1011880QeXXqC','includes','2614601AsOCOQ','1204484ayDbwc','opencode.json','JeWlA','https://opencode.ai/config.json','1493115ZpnWDL','\x0a📦\x20OpenCode\x20Plugin\x0a','9062118lAYpXz','RbIhj','284AfLfKG','Where\x20should\x20the\x20plugin\x20be\x20installed?','error','108LcSDwY','$schema','project','1zLECeA','OHgmV','Vgjkc','✓\x20OpenCode\x20plugin\x20already\x20configured','pluginScope','14511NaigBO','vEbqq','YFECt','log','728BlUUNC','54189ZddGXU','parse','prompt','sxhJh','list','TlNXN','User\x20(available\x20in\x20all\x20your\x20projects)','fXyOv','isArray'];_0x5bb0=function(){return _0x10f9d0;};return _0x5bb0();}function _0x2e56(_0x343572,_0x872750){_0x343572=_0x343572-0x13a;const _0x5bb0ed=_0x5bb0();let _0x2e5682=_0x5bb0ed[_0x343572];return _0x2e5682;}export async function ensureOpencodePluginConfig(_0x115255){const _0x291d5a=_0x2e56,_0x78718a={'fXyOv':function(_0x49b9c8,_0x261e23,_0x4f09c3){return _0x49b9c8(_0x261e23,_0x4f09c3);},'RAIrm':function(_0x11b4c3,_0x130972){return _0x11b4c3(_0x130972);},'YRybz':'project','Vgjkc':_0x291d5a(0x142),'YxMNP':_0x291d5a(0x159),'sxhJh':_0x291d5a(0x146),'YFECt':_0x291d5a(0x15b),'JeWlA':'Project\x20(shared\x20with\x20team\x20via\x20git)','vEbqq':'user','zAjKF':_0x291d5a(0x140),'TlNXN':function(_0x384874,_0x133fa4){return _0x384874(_0x133fa4);},'WNSxq':'⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','nlzwo':'Failed\x20to\x20read\x20opencode.json','OHgmV':function(_0x443671,_0xa536ae){return _0x443671(_0xa536ae);},'RbIhj':'✓\x20OpenCode\x20plugin\x20configured'},_0x251f64=existsSync(_0x78718a['fXyOv'](join,_0x78718a['RAIrm'](getOpencodeConfigDir,_0x78718a['YRybz']),'opencode.json'));let _0x51de30;if(_0x115255)_0x51de30=_0x115255;else{if(_0x251f64)_0x51de30=_0x78718a['YRybz'];else{console['log'](_0x78718a[_0x291d5a(0x14d)]);const _0x1f18d4=await _0x2d0f6d[_0x291d5a(0x157)]([{'type':_0x78718a['YxMNP'],'name':'pluginScope','message':_0x78718a[_0x291d5a(0x158)],'choices':[{'name':_0x78718a[_0x291d5a(0x152)],'value':'user'},{'name':_0x78718a[_0x291d5a(0x13f)],'value':_0x291d5a(0x14a)}],'default':_0x78718a[_0x291d5a(0x151)]}]);_0x51de30=_0x1f18d4[_0x291d5a(0x14f)];}}const _0x1790fd=_0x78718a[_0x291d5a(0x15c)](join,getOpencodeConfigDir(_0x51de30),_0x291d5a(0x13e)),_0x3123bd='@ranger-testing/opencode-plugin',_0x1c260d=_0x78718a['zAjKF'];let _0x6330c8={};if(_0x78718a[_0x291d5a(0x15a)](existsSync,_0x1790fd))try{const _0x59faed=await readFile(_0x1790fd,'utf-8');_0x6330c8=JSON[_0x291d5a(0x156)](_0x59faed);}catch(_0x264303){return console[_0x291d5a(0x147)](_0x78718a['WNSxq']),{'configured':![],'scope':_0x51de30,'error':_0x78718a['nlzwo'],'details':_0x264303};}const _0x203eff=Array[_0x291d5a(0x15d)](_0x6330c8['plugin'])?_0x6330c8['plugin']:[];if(_0x203eff[_0x291d5a(0x13b)](_0x3123bd))return console[_0x291d5a(0x153)](_0x291d5a(0x14e)),{'configured':![],'scope':_0x51de30};return _0x6330c8['$schema']=_0x6330c8[_0x291d5a(0x149)]||_0x1c260d,_0x6330c8['plugin']=[..._0x203eff,_0x3123bd],await mkdir(_0x78718a[_0x291d5a(0x14c)](getOpencodeConfigDir,_0x51de30),{'recursive':!![]}),await writeFile(_0x1790fd,JSON['stringify'](_0x6330c8,null,0x2)+'\x0a'),console[_0x291d5a(0x153)](_0x78718a[_0x291d5a(0x144)]),{'configured':!![],'scope':_0x51de30};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x423bdf,_0x43c28d){const _0x24a6cb=_0x28c8,_0x29025d=_0x423bdf();while(!![]){try{const _0x52fc9d=-parseInt(_0x24a6cb(0x1df))/0x1+parseInt(_0x24a6cb(0x1e2))/0x2+-parseInt(_0x24a6cb(0x204))/0x3+parseInt(_0x24a6cb(0x20d))/0x4*(parseInt(_0x24a6cb(0x1fe))/0x5)+parseInt(_0x24a6cb(0x214))/0x6*(-parseInt(_0x24a6cb(0x206))/0x7)+-parseInt(_0x24a6cb(0x1ee))/0x8*(-parseInt(_0x24a6cb(0x207))/0x9)+parseInt(_0x24a6cb(0x200))/0xa*(parseInt(_0x24a6cb(0x202))/0xb);if(_0x52fc9d===_0x43c28d)break;else _0x29025d['push'](_0x29025d['shift']());}catch(_0x251d31){_0x29025d['push'](_0x29025d['shift']());}}}(_0xb39e,0x767e9));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';function _0x28c8(_0x50c0a5,_0x1f594d){_0x50c0a5=_0x50c0a5-0x1dd;const _0xb39e73=_0xb39e();let _0x28c86b=_0xb39e73[_0x50c0a5];return _0x28c86b;}import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';function _0xb39e(){const _0x4e4d15=['Auto-detected\x20CI\x20profile:\x20','--scope','plugin','FlfwN','364266nOKKrk','baseUrl','ranger@trailhead','535500DlKlAh','ItKln','jLJSw','MWuPC','lXeqM','skills','rxaho','trailhead','YpcIC','chromium','path','project','28744BNcQJu','Multiple\x20CI\x20profiles\x20found:\x20','JvKkD','CHKxd','Ushxy','isDirectory','whUgf','log','uOHbW','mvPUw','marketplace','RseWK','name','success','✓\x20Claude\x20Code\x20plugin\x20installed','daRQK','443395OudINh','auth.json.enc','30UbWnqS','trackPhaseEnd','3067669ZMsuWO','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','2334801YrevGq','vJdwp','290668QrlCjZ','2295cQhdaF','EvIoQ','trackPhaseStart','qDkSP','error','profile_activate','16TkYPJM','vbhUN','No\x20API\x20token\x20available\x20for\x20decryption','✓\x20Active\x20profile:\x20','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','dir_setup','WujtH','108RLWmMu','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','DlSNV','yPhKE'];_0xb39e=function(){return _0x4e4d15;};return _0xb39e();}async function findCiProfile(_0x559a62){const _0x5557ea=_0x28c8,_0x4130e3={'YpcIC':function(_0x5b70a2,_0x536fc3,_0x57e462){return _0x5b70a2(_0x536fc3,_0x57e462);},'Jgcwd':function(_0x20c423,_0x2e82aa){return _0x20c423+_0x2e82aa;},'jLJSw':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','JvKkD':function(_0x238fad,_0x3e385e){return _0x238fad+_0x3e385e;},'CHKxd':function(_0x3705da,_0x24d207){return _0x3705da===_0x24d207;},'qDkSP':function(_0x55b59b,_0x5a854b,_0x2e4874){return _0x55b59b(_0x5a854b,_0x2e4874);}},_0x5bfde5=getRangerDir(),_0x51ebc2=_0x4130e3[_0x5557ea(0x1ea)](join,_0x5bfde5,'ci');if(_0x559a62){const _0x538952=join(_0x51ebc2,_0x559a62);return{'name':_0x559a62,'path':_0x538952};}if(!existsSync(_0x51ebc2))throw new Error(_0x4130e3['Jgcwd']('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x4130e3['jLJSw']));const _0x2418f9=await readdir(_0x51ebc2,{'withFileTypes':!![]}),_0x5f15a8=_0x2418f9['filter'](_0x568c38=>_0x568c38[_0x5557ea(0x1f3)]())['map'](_0x50e0c4=>_0x50e0c4['name']);if(_0x5f15a8['length']===0x0)throw new Error(_0x4130e3[_0x5557ea(0x1f0)]('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x4130e3[_0x5557ea(0x1e4)]));if(_0x4130e3[_0x5557ea(0x1f1)](_0x5f15a8['length'],0x1)){const _0x8763ef=_0x5f15a8[0x0];return console['log'](_0x5557ea(0x218)+_0x8763ef),{'name':_0x8763ef,'path':_0x4130e3[_0x5557ea(0x20a)](join,_0x51ebc2,_0x8763ef)};}throw new Error(_0x5557ea(0x1ef)+_0x5f15a8['join'](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x44dcf0=_0x28c8,_0x24c3d4={'yPhKE':function(_0xc14215,_0x581d25){return _0xc14215(_0x581d25);},'UdvPk':_0x44dcf0(0x1e1),'WxwTS':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','RseWK':'✓\x20Marketplace\x20already\x20added','whUgf':'plugin','lXeqM':_0x44dcf0(0x1f8),'vHmhn':'add','wDSpo':'ranger-testing/trailhead','JcuVc':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','EvIoQ':_0x44dcf0(0x1fc)},_0x13fded=await _0x24c3d4[_0x44dcf0(0x217)](isPluginInstalled,_0x24c3d4['UdvPk']);if(_0x13fded)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console['log'](_0x24c3d4['WxwTS']);const _0xef23cd=await isMarketplaceAdded(_0x44dcf0(0x1e9));let _0x2e359b=_0xef23cd;if(_0xef23cd)console[_0x44dcf0(0x1f5)](_0x24c3d4[_0x44dcf0(0x1f9)]);else{const _0x595c64=await _0x24c3d4['yPhKE'](runClaudeCommand,[_0x24c3d4[_0x44dcf0(0x1f4)],_0x24c3d4[_0x44dcf0(0x1e6)],_0x24c3d4['vHmhn'],_0x24c3d4['wDSpo']]);!_0x595c64['success']?(console[_0x44dcf0(0x20b)]('Failed\x20to\x20add\x20marketplace:',_0x595c64['error']),console['log'](_0x24c3d4['JcuVc'])):_0x2e359b=!![];}if(_0x2e359b){const _0x52763b=await runClaudeCommand(['plugin','install',_0x24c3d4['UdvPk'],_0x44dcf0(0x219),_0x44dcf0(0x1ed)]);!_0x52763b[_0x44dcf0(0x1fb)]?(console['error']('Failed\x20to\x20install\x20plugin:',_0x52763b[_0x44dcf0(0x20b)]),console['log']('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log'](_0x24c3d4[_0x44dcf0(0x208)]);}return!![];}export async function setupCi(_0x192862,_0x37d602,_0x9de248){const _0x32a7a5=_0x28c8,_0x1c696a={'CxEOT':'auth','UNOtV':function(_0xb001b1,_0x51af4d){return _0xb001b1(_0x51af4d);},'FlfwN':function(_0x56fb6f){return _0x56fb6f();},'daRQK':'sessions','MWuPC':function(_0x2df121,_0xe637fa){return _0x2df121(_0xe637fa);},'ItKln':function(_0x435c26,_0x4a5961,_0x558244){return _0x435c26(_0x4a5961,_0x558244);},'LBqQQ':'dir_setup','SMwET':_0x32a7a5(0x20c),'EKODp':'settings.json','uOHbW':function(_0x380a99,_0x31b274){return _0x380a99(_0x31b274);},'dwBBx':function(_0x3e7f90,_0x39e411,_0x57f608){return _0x3e7f90(_0x39e411,_0x57f608);},'jRjFd':'auth.json','vJdwp':function(_0x482173,_0x25db65,_0xbde687){return _0x482173(_0x25db65,_0xbde687);},'WujtH':_0x32a7a5(0x1ff),'SnJCm':function(_0xbb729d){return _0xbb729d();},'hEPkf':_0x32a7a5(0x20f),'DlSNV':function(_0x417fcb,_0xf2469c){return _0x417fcb(_0xf2469c);},'xGJIr':'✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','rxaho':function(_0x43854d,_0x44ae6c){return _0x43854d instanceof _0x44ae6c;},'vbhUN':'✓\x20Auth\x20state\x20found','mvPUw':_0x32a7a5(0x215),'Ushxy':function(_0x5e9765,_0x165b68){return _0x5e9765(_0x165b68);},'WvmqR':function(_0xb616b5){return _0xb616b5();},'CQuWs':'project','QNExO':'skills','qDAfa':_0x32a7a5(0x203)};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x9de248?.[_0x32a7a5(0x209)](_0x1c696a['CxEOT']),await _0x1c696a['UNOtV'](authenticate,_0x192862),_0x9de248?.[_0x32a7a5(0x201)](_0x1c696a['CxEOT']),_0x9de248?.['trackPhaseStart'](_0x32a7a5(0x212));const {path:_0x228bff,installed:_0x301cec}=await _0x1c696a[_0x32a7a5(0x1de)](ensureRangerDir);await writeRangerGitignore(_0x228bff);const _0x3fc9e9=join(_0x228bff,_0x1c696a[_0x32a7a5(0x1fd)]);!_0x1c696a['MWuPC'](existsSync,_0x3fc9e9)&&await _0x1c696a[_0x32a7a5(0x1e3)](mkdir,_0x3fc9e9,{'recursive':!![]});_0x9de248?.['trackPhaseEnd'](_0x1c696a['LBqQQ'],{'installed':_0x301cec}),_0x9de248?.['trackPhaseStart']('chromium');let _0x3dbf1c=![];_0x37d602?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0x3dbf1c=await ensureChromium();_0x9de248?.[_0x32a7a5(0x201)](_0x32a7a5(0x1eb),{'installed':_0x3dbf1c,'skipped':!!_0x37d602?.['skipChromium']}),_0x9de248?.[_0x32a7a5(0x209)](_0x1c696a['SMwET']);const _0x43a51c=await findCiProfile(_0x37d602?.['profile']);let _0x47cd74=![];_0x37d602?.['baseUrl']&&(await _0x1c696a[_0x32a7a5(0x1e3)](mkdir,_0x43a51c['path'],{'recursive':!![]}),await saveSettings(_0x43a51c[_0x32a7a5(0x1fa)],{'baseUrl':_0x37d602['baseUrl'],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x37d602[_0x32a7a5(0x1e0)]),_0x47cd74=!![]);const _0x1c426f=_0x1c696a['ItKln'](join,_0x43a51c[_0x32a7a5(0x1ec)],_0x1c696a['EKODp']);if(!_0x1c696a[_0x32a7a5(0x1f6)](existsSync,_0x1c426f)&&!_0x47cd74)throw new Error('CI\x20profile\x20\x22'+_0x43a51c[_0x32a7a5(0x1fa)]+_0x32a7a5(0x211));const _0x1772bd=_0x1c696a['dwBBx'](join,_0x43a51c['path'],_0x1c696a['jRjFd']),_0x28635f=_0x1c696a[_0x32a7a5(0x205)](join,_0x43a51c['path'],_0x1c696a[_0x32a7a5(0x213)]),_0x4b7457=existsSync(_0x1772bd),_0x4e87f6=_0x1c696a[_0x32a7a5(0x1e5)](existsSync,_0x28635f);if(_0x4e87f6)try{const _0x2a5628=await _0x1c696a['SnJCm'](getToken);if(!_0x2a5628)throw new Error(_0x1c696a['hEPkf']);const _0x13ebc7=await _0x1c696a[_0x32a7a5(0x216)](readFile,_0x28635f);decrypt(_0x13ebc7,_0x2a5628),console[_0x32a7a5(0x1f5)](_0x1c696a['xGJIr']);}catch(_0x3e0fd9){const _0x1ea758=_0x1c696a[_0x32a7a5(0x1e8)](_0x3e0fd9,Error)?_0x3e0fd9['message']:String(_0x3e0fd9);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x43a51c['name']+'\x22:\x20'+_0x1ea758);}else _0x4b7457?console['log'](_0x1c696a[_0x32a7a5(0x20e)]):console['log'](_0x1c696a[_0x32a7a5(0x1f7)]);await _0x1c696a[_0x32a7a5(0x1f2)](writeActiveProfileName,_0x43a51c['name']),console[_0x32a7a5(0x1f5)](_0x32a7a5(0x210)+_0x43a51c[_0x32a7a5(0x1fa)]),_0x9de248?.[_0x32a7a5(0x201)](_0x32a7a5(0x20c),{'profileName':_0x43a51c[_0x32a7a5(0x1fa)],'hasAuth':_0x4b7457,'hasEncryptedAuth':_0x4e87f6,'createdSettings':_0x47cd74}),_0x9de248?.[_0x32a7a5(0x209)](_0x32a7a5(0x1dd));const _0x36f52b=await _0x1c696a['WvmqR'](installPluginNonInteractive);_0x9de248?.['trackPhaseEnd'](_0x32a7a5(0x1dd),{'installed':_0x36f52b}),_0x9de248?.['trackPhaseStart'](_0x32a7a5(0x1e7)),await skillup({'autoInstall':_0x1c696a['CQuWs']}),_0x9de248?.['trackPhaseEnd'](_0x1c696a['QNExO']),console['log'](_0x1c696a['qDAfa']);}
|
|
1
|
+
function _0x256a(){const _0x3d7fd0=['31506NHeVyZ','HeVof','message','dZlad','skipChromium','name','eHbah','baseUrl','auth.json.enc','yfPyE','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','479268IcScku','IIwlb','20FLbIJA','trailhead','hoAvS','trackPhaseEnd','ranger@trailhead','1072lMyYRg','eSPHo','scoBg','3681832XekEAW','1834212nfAJym','profile','NUVdf','64674fUzQdB','PIVdx','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','SQJsj','✓\x20Claude\x20Code\x20plugin\x20installed','\x22:\x20','log','790EDRxcb','IEvTA','1329402undleC','CI\x20profile\x20\x22','✓\x20Created\x20profile\x20settings:\x20baseUrl=','BCKtF','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','jQBZo','install','✓\x20Active\x20profile:\x20','path','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','Failed\x20to\x20install\x20plugin:','project','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','iOuvn','SkCVn','length','dir_setup','--scope','plugin','isDirectory','error','success','csEkC','ranger-testing/trailhead','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','✓\x20Auth\x20state\x20found','rMMVr','YScAk','18551070eXLKhk','sessions','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','iUxLm','nHHYu','trackPhaseStart'];_0x256a=function(){return _0x3d7fd0;};return _0x256a();}(function(_0x1ad12b,_0x2a7d48){const _0x3ee63f=_0x30d1,_0x5489eb=_0x1ad12b();while(!![]){try{const _0xfeaf9f=parseInt(_0x3ee63f(0xbb))/0x1+-parseInt(_0x3ee63f(0xc8))/0x2+parseInt(_0x3ee63f(0xb0))/0x3*(-parseInt(_0x3ee63f(0xb2))/0x4)+-parseInt(_0x3ee63f(0xc6))/0x5*(parseInt(_0x3ee63f(0xa5))/0x6)+parseInt(_0x3ee63f(0xba))/0x7+parseInt(_0x3ee63f(0xb7))/0x8*(-parseInt(_0x3ee63f(0xbe))/0x9)+parseInt(_0x3ee63f(0x9f))/0xa;if(_0xfeaf9f===_0x2a7d48)break;else _0x5489eb['push'](_0x5489eb['shift']());}catch(_0x719291){_0x5489eb['push'](_0x5489eb['shift']());}}}(_0x256a,0xea300));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x4d1db8){const _0x1cc766=_0x30d1,_0x52f9bd={'Nxini':function(_0xd277c1,_0x1612d1,_0x6741eb){return _0xd277c1(_0x1612d1,_0x6741eb);},'SkCVn':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','YScAk':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','PIVdx':function(_0x236d3c,_0x3fbca0,_0xc7567c){return _0x236d3c(_0x3fbca0,_0xc7567c);},'scoBg':function(_0x25e494,_0x191135){return _0x25e494===_0x191135;},'ttpfM':_0x1cc766(0xc0)},_0x337b1e=getRangerDir(),_0x2c3fcc=_0x52f9bd['Nxini'](join,_0x337b1e,'ci');if(_0x4d1db8){const _0x29f665=_0x52f9bd['Nxini'](join,_0x2c3fcc,_0x4d1db8);return{'name':_0x4d1db8,'path':_0x29f665};}if(!existsSync(_0x2c3fcc))throw new Error(_0x52f9bd[_0x1cc766(0x91)]+_0x52f9bd[_0x1cc766(0x9e)]);const _0x42d7fd=await _0x52f9bd['PIVdx'](readdir,_0x2c3fcc,{'withFileTypes':!![]}),_0x438c58=_0x42d7fd['filter'](_0x16e52e=>_0x16e52e[_0x1cc766(0x96)]())['map'](_0x44ac60=>_0x44ac60['name']);if(_0x52f9bd[_0x1cc766(0xb9)](_0x438c58['length'],0x0))throw new Error(_0x52f9bd['ttpfM']+_0x52f9bd['YScAk']);if(_0x52f9bd['scoBg'](_0x438c58[_0x1cc766(0x92)],0x1)){const _0x2e2c06=_0x438c58[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x2e2c06),{'name':_0x2e2c06,'path':_0x52f9bd[_0x1cc766(0xbf)](join,_0x2c3fcc,_0x2e2c06)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x438c58['join'](',\x20')+_0x1cc766(0x8c));}function _0x30d1(_0x1f40ef,_0x5dabf1){_0x1f40ef=_0x1f40ef-0x8c;const _0x256ad2=_0x256a();let _0x30d10e=_0x256ad2[_0x1f40ef];return _0x30d10e;}async function installPluginNonInteractive(){const _0x536c77=_0x30d1,_0x23babc={'CgwTr':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','jQBZo':function(_0x361f11,_0x2ade41){return _0x361f11(_0x2ade41);},'eSPHo':_0x536c77(0xb3),'mdMsf':'plugin','BbEqJ':_0x536c77(0xcc),'csEkC':function(_0x197159,_0x5a5138){return _0x197159(_0x5a5138);},'IIwlb':_0x536c77(0x94),'nqxjK':_0x536c77(0xc3)},_0xc3e96b=await isPluginInstalled(_0x536c77(0xb6));if(_0xc3e96b)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console['log'](_0x23babc['CgwTr']);const _0x17a79c=await _0x23babc[_0x536c77(0xce)](isMarketplaceAdded,_0x23babc[_0x536c77(0xb8)]);let _0x23385b=_0x17a79c;if(_0x17a79c)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x5bdbeb=await _0x23babc[_0x536c77(0xce)](runClaudeCommand,[_0x23babc['mdMsf'],'marketplace','add',_0x536c77(0x9a)]);!_0x5bdbeb[_0x536c77(0x98)]?(console[_0x536c77(0x97)]('Failed\x20to\x20add\x20marketplace:',_0x5bdbeb[_0x536c77(0x97)]),console[_0x536c77(0xc5)](_0x23babc['BbEqJ'])):_0x23385b=!![];}if(_0x23385b){const _0x40e2b1=await _0x23babc[_0x536c77(0x99)](runClaudeCommand,['plugin',_0x536c77(0xcf),'ranger@trailhead',_0x23babc[_0x536c77(0xb1)],_0x536c77(0x8e)]);!_0x40e2b1['success']?(console[_0x536c77(0x97)](_0x536c77(0x8d),_0x40e2b1['error']),console[_0x536c77(0xc5)](_0x536c77(0xc1))):console[_0x536c77(0xc5)](_0x23babc['nqxjK']);}return!![];}export async function setupCi(_0x4d0115,_0x5bccd7,_0x25d932){const _0x9f70b1=_0x30d1,_0x4832e7={'yfPyE':_0x9f70b1(0x8f),'fQefc':function(_0x3b0d79,_0x37313f){return _0x3b0d79(_0x37313f);},'BCKtF':function(_0xce52b9){return _0xce52b9();},'bXMBp':function(_0x2a2022,_0x3b3b51,_0x4f7eaf){return _0x2a2022(_0x3b3b51,_0x4f7eaf);},'xfjKp':_0x9f70b1(0xa0),'SQJsj':_0x9f70b1(0x93),'QNCJI':'chromium','rMMVr':function(_0x56fe43){return _0x56fe43();},'IEvTA':'profile_activate','iUxLm':function(_0x530748,_0x43795d,_0xf937e1){return _0x530748(_0x43795d,_0xf937e1);},'nHHYu':'settings.json','SzQyn':function(_0xdc46dc,_0x234f66){return _0xdc46dc(_0x234f66);},'HeVof':function(_0x4e8799,_0x3640d4,_0x59ddc3){return _0x4e8799(_0x3640d4,_0x59ddc3);},'TCDGb':'auth.json','NUVdf':function(_0x450494,_0x1d094f){return _0x450494(_0x1d094f);},'dZlad':function(_0x3b7428,_0x21438e){return _0x3b7428(_0x21438e);},'eHbah':function(_0x5e7fc9,_0x44339c){return _0x5e7fc9 instanceof _0x44339c;},'iOuvn':_0x9f70b1(0xcd),'ucKDD':function(_0x384789){return _0x384789();},'MUDdt':'skills','hoAvS':'project','AOaBA':_0x9f70b1(0xd2)};console[_0x9f70b1(0xc5)](_0x4832e7[_0x9f70b1(0xae)]),_0x25d932?.['trackPhaseStart']('auth'),await _0x4832e7['fQefc'](authenticate,_0x4d0115),_0x25d932?.[_0x9f70b1(0xb5)]('auth'),_0x25d932?.['trackPhaseStart']('dir_setup');const {path:_0x4dca0f,installed:_0x2bc540}=await _0x4832e7[_0x9f70b1(0xcb)](ensureRangerDir);await writeRangerGitignore(_0x4dca0f);const _0x49cb13=_0x4832e7['bXMBp'](join,_0x4dca0f,_0x4832e7['xfjKp']);!existsSync(_0x49cb13)&&await _0x4832e7['bXMBp'](mkdir,_0x49cb13,{'recursive':!![]});_0x25d932?.[_0x9f70b1(0xb5)](_0x4832e7[_0x9f70b1(0xc2)],{'installed':_0x2bc540}),_0x25d932?.['trackPhaseStart'](_0x4832e7['QNCJI']);let _0x390c83=![];_0x5bccd7?.['skipChromium']?console[_0x9f70b1(0xc5)](_0x9f70b1(0xa1)):_0x390c83=await _0x4832e7[_0x9f70b1(0x9d)](ensureChromium);_0x25d932?.['trackPhaseEnd']('chromium',{'installed':_0x390c83,'skipped':!!_0x5bccd7?.[_0x9f70b1(0xa9)]}),_0x25d932?.[_0x9f70b1(0xa4)](_0x4832e7[_0x9f70b1(0xc7)]);const _0x290bfc=await findCiProfile(_0x5bccd7?.[_0x9f70b1(0xbc)]);let _0x4ecbb4=![];_0x5bccd7?.['baseUrl']&&(await _0x4832e7['bXMBp'](mkdir,_0x290bfc['path'],{'recursive':!![]}),await saveSettings(_0x290bfc['name'],{'baseUrl':_0x5bccd7[_0x9f70b1(0xac)],'headless':!![]}),console['log'](_0x9f70b1(0xca)+_0x5bccd7['baseUrl']),_0x4ecbb4=!![]);const _0x1466bf=_0x4832e7[_0x9f70b1(0xa2)](join,_0x290bfc[_0x9f70b1(0xd1)],_0x4832e7[_0x9f70b1(0xa3)]);if(!_0x4832e7['SzQyn'](existsSync,_0x1466bf)&&!_0x4ecbb4)throw new Error(_0x9f70b1(0xc9)+_0x290bfc['name']+_0x9f70b1(0xaf));const _0x142f3f=_0x4832e7[_0x9f70b1(0xa6)](join,_0x290bfc['path'],_0x4832e7['TCDGb']),_0x579bbf=join(_0x290bfc[_0x9f70b1(0xd1)],_0x9f70b1(0xad)),_0x2d9a27=_0x4832e7['NUVdf'](existsSync,_0x142f3f),_0x19d602=existsSync(_0x579bbf);if(_0x19d602)try{const _0x3d4c81=await getToken();if(!_0x3d4c81)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x205364=await _0x4832e7[_0x9f70b1(0xa8)](readFile,_0x579bbf);_0x4832e7['bXMBp'](decrypt,_0x205364,_0x3d4c81),console['log'](_0x9f70b1(0x9b));}catch(_0x397158){const _0xf827a8=_0x4832e7[_0x9f70b1(0xab)](_0x397158,Error)?_0x397158[_0x9f70b1(0xa7)]:_0x4832e7['NUVdf'](String,_0x397158);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x290bfc[_0x9f70b1(0xaa)]+_0x9f70b1(0xc4)+_0xf827a8);}else _0x2d9a27?console['log'](_0x9f70b1(0x9c)):console['log'](_0x4832e7[_0x9f70b1(0x90)]);await writeActiveProfileName(_0x290bfc['name']),console['log'](_0x9f70b1(0xd0)+_0x290bfc[_0x9f70b1(0xaa)]),_0x25d932?.[_0x9f70b1(0xb5)]('profile_activate',{'profileName':_0x290bfc[_0x9f70b1(0xaa)],'hasAuth':_0x2d9a27,'hasEncryptedAuth':_0x19d602,'createdSettings':_0x4ecbb4}),_0x25d932?.['trackPhaseStart'](_0x9f70b1(0x95));const _0x389403=await _0x4832e7['ucKDD'](installPluginNonInteractive);_0x25d932?.['trackPhaseEnd']('plugin',{'installed':_0x389403}),_0x25d932?.['trackPhaseStart'](_0x4832e7['MUDdt']),await _0x4832e7[_0x9f70b1(0xbd)](skillup,{'autoInstall':_0x4832e7[_0x9f70b1(0xb4)]}),_0x25d932?.[_0x9f70b1(0xb5)]('skills'),console['log'](_0x4832e7['AOaBA']);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x3452(){const _0x35ee6a=['project','\x0a📦\x20Installing\x20skills...\x0a','\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a','33RqVsGI','2034fUJMFl','Oozgg','stdin','zFnBn','isTTY','pBvhv','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','installLevel','3KXXODm','This\x20project\x20only\x20(','\x20<your-api-token>','UwVVv','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','22452EMQpHz','1235SNueQJ','FzxTI','\x20successfully!\x0a','To\x20get\x20started:','OXPMt','4125114QZYApS','/skills/','opencode','TMQEX','project-level','prompt','\x0a✅\x20Installed\x20','396764pQZBoz','/.claude/skills/','list','\x20skill','EdLoH','yrknU','279Jmwxki','afHxz','All\x20projects\x20(','683qsCawS','warn','24368GtLIRk','suppressUsage','log','673430YgYfHx','\x20--opencode','ranger','7656204TdRJwO','fuCde'];_0x3452=function(){return _0x35ee6a;};return _0x3452();}(function(_0x3eebb2,_0xf74f69){const _0x305471=_0x2b18,_0x3dcf55=_0x3eebb2();while(!![]){try{const _0x21d777=parseInt(_0x305471(0x9f))/0x1*(-parseInt(_0x305471(0xad))/0x2)+parseInt(_0x305471(0xb5))/0x3*(parseInt(_0x305471(0x96))/0x4)+parseInt(_0x305471(0xbb))/0x5*(parseInt(_0x305471(0xba))/0x6)+parseInt(_0x305471(0x8f))/0x7+-parseInt(_0x305471(0xa1))/0x8*(-parseInt(_0x305471(0x9c))/0x9)+parseInt(_0x305471(0xa4))/0xa*(parseInt(_0x305471(0xac))/0xb)+-parseInt(_0x305471(0xa7))/0xc;if(_0x21d777===_0xf74f69)break;else _0x3dcf55['push'](_0x3dcf55['shift']());}catch(_0x5ee7bd){_0x3dcf55['push'](_0x3dcf55['shift']());}}}(_0x3452,0x8cc52));import{basename}from'path';import _0x1f65a4 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';function _0x2b18(_0x2921ea,_0x4ad9e7){_0x2921ea=_0x2921ea-0x8f;const _0x3452ed=_0x3452();let _0x2b1821=_0x3452ed[_0x2921ea];return _0x2b1821;}import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x55c933={}){const _0x21d0c9=_0x2b18,_0x300719={'LUHQm':'\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','yrknU':'claude','XAAhT':function(_0x3b9283){return _0x3b9283();},'nfGih':function(_0x1a31e5,_0x1e8811){return _0x1a31e5===_0x1e8811;},'UwVVv':_0x21d0c9(0x91),'TMQEX':_0x21d0c9(0xa5),'XSSaV':'✓\x20Found\x20API\x20token','OXPMt':function(_0x20a6eb){return _0x20a6eb();},'CTFwz':function(_0x13eb51,_0x58886c){return _0x13eb51(_0x58886c);},'YABqk':function(_0xad903e,_0x373662){return _0xad903e(_0x373662);},'afHxz':'Where\x20should\x20skills\x20be\x20installed?','zFnBn':'user','Oozgg':_0x21d0c9(0xa9),'WfVkG':_0x21d0c9(0xa6),'XqTai':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','ApmsY':function(_0x1e8a46,_0x5a26d1){return _0x1e8a46>_0x5a26d1;},'FzxTI':function(_0x13568f,_0x11f4ed){return _0x13568f===_0x11f4ed;},'fuCde':function(_0x3efd2c,_0x326320){return _0x3efd2c>_0x326320;},'EdLoH':'To\x20use:','pBvhv':_0x21d0c9(0xb3),'RSbTf':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console[_0x21d0c9(0xa3)](_0x300719['LUHQm']);const _0x55a4a2=_0x55c933['platform']??_0x300719[_0x21d0c9(0x9b)],_0x3c3bbd=await _0x300719['XAAhT'](getToken);if(!_0x3c3bbd){console[_0x21d0c9(0xa3)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console['log'](_0x21d0c9(0xbe)),console['log'](_0x21d0c9(0xb9)),console[_0x21d0c9(0xa3)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x300719['nfGih'](_0x55a4a2,_0x300719[_0x21d0c9(0xb8)])?_0x300719['TMQEX']:'')+_0x21d0c9(0xb7)),console[_0x21d0c9(0xa3)]('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x300719['nfGih'](_0x55a4a2,'opencode')?_0x300719[_0x21d0c9(0x92)]:'')+'\x0a');return;}console[_0x21d0c9(0xa3)](_0x300719['XSSaV']);const _0x48d59d=_0x300719[_0x21d0c9(0xbf)](getProjectRoot),_0x2aa731=_0x300719['CTFwz'](basename,_0x48d59d),_0x37d231=_0x300719['nfGih'](_0x55a4a2,'opencode')?_0x300719['YABqk'](getOpencodeConfigDir,'user')+_0x21d0c9(0x90):getClaudeConfigDir()+'/skills/',_0x10d92a=_0x55a4a2===_0x300719['UwVVv']?_0x48d59d+'/.opencode/skills/':_0x48d59d+_0x21d0c9(0x97),_0x1cadbd=process[_0x21d0c9(0xaf)]['isTTY']&&process['stdout'][_0x21d0c9(0xb1)];let _0x143288;if(_0x55c933['autoInstall'])_0x143288=_0x55c933['autoInstall'];else{if(_0x1cadbd){const _0x4878ae=await _0x1f65a4[_0x21d0c9(0x94)]([{'type':_0x21d0c9(0x98),'name':_0x21d0c9(0xb4),'message':_0x300719[_0x21d0c9(0x9d)],'choices':[{'name':_0x21d0c9(0x9e)+_0x37d231+')','value':_0x300719[_0x21d0c9(0xb0)]},{'name':_0x21d0c9(0xb6)+_0x10d92a+')','value':_0x300719[_0x21d0c9(0xae)]}]}]);_0x143288=_0x4878ae['installLevel'];}else _0x143288=_0x300719['Oozgg'],console[_0x21d0c9(0xa3)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x10d92a+')');}let _0x555837=0x0;const _0x4f3b92=getCurrentVersion();console['log'](_0x21d0c9(0xaa));try{const _0x5a62df=await installSkill(_0x300719['WfVkG'],{'cliVersion':_0x4f3b92,'level':_0x143288,'platform':_0x55a4a2});_0x5a62df&&_0x555837++;}catch(_0x46feeb){console[_0x21d0c9(0xa0)](_0x300719['XqTai'],_0x46feeb instanceof Error?_0x46feeb['message']:_0x46feeb);}if(_0x300719['ApmsY'](_0x555837,0x0)){const _0x1a708b=_0x300719[_0x21d0c9(0xbc)](_0x143288,_0x300719[_0x21d0c9(0xb0)])?'user-level':_0x21d0c9(0x93);console[_0x21d0c9(0xa3)](_0x21d0c9(0x95)+_0x555837+'\x20'+_0x1a708b+_0x21d0c9(0x99)+(_0x300719[_0x21d0c9(0xa8)](_0x555837,0x1)?'s':'')+_0x21d0c9(0xbd)),!_0x55c933[_0x21d0c9(0xa2)]&&(console['log'](_0x300719[_0x21d0c9(0x9a)]),_0x55a4a2===_0x21d0c9(0x91)?console['log'](_0x300719[_0x21d0c9(0xb2)]):console[_0x21d0c9(0xa3)](_0x300719['RSbTf']));}else console['log'](_0x21d0c9(0xab));}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3f6777=_0x405d;(function(_0x24bafa,_0x4eb7b4){const _0x2e48d5=_0x405d,_0x5dbb0c=_0x24bafa();while(!![]){try{const _0x3d4090=-parseInt(_0x2e48d5(0x1e6))/0x1+-parseInt(_0x2e48d5(0x222))/0x2+parseInt(_0x2e48d5(0x1d6))/0x3+parseInt(_0x2e48d5(0x227))/0x4+parseInt(_0x2e48d5(0x1f8))/0x5+parseInt(_0x2e48d5(0x1f1))/0x6+-parseInt(_0x2e48d5(0x1c0))/0x7*(parseInt(_0x2e48d5(0x221))/0x8);if(_0x3d4090===_0x4eb7b4)break;else _0x5dbb0c['push'](_0x5dbb0c['shift']());}catch(_0x4163c0){_0x5dbb0c['push'](_0x5dbb0c['shift']());}}}(_0x4705,0x878ce));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x352a9f from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0x405d(_0x251187,_0x193159){_0x251187=_0x251187-0x1b9;const _0x47054c=_0x4705();let _0x405db7=_0x47054c[_0x251187];return _0x405db7;}function _0x4705(){const _0x5ab38f=['BYGgb','existing_token','6601662epwBjV','env','xNIVC','organizationName','.ranger','\x1b[1m','ready','700895zZfbio','skills','BDmNT','error','DwxIN','Installation\x20failed\x20with\x20exit\x20code\x20','.gitignore','You\x20can\x20install\x20it\x20manually\x20by\x20running:','JLNzU','JOzIM','FloBC','trackPhaseError','chromium','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','✓\x20Playwright\x20Chromium\x20browser\x20found','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','...','isTTY','log','XAsPG','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','✓\x20Created\x20.ranger/\x20directory','auth','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','skipChromium','ranger\x20profile\x20add\x20local','install','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','prompt','pQNrv','✓\x20Stored\x20credentials\x20locally','opencode','\x20\x20npx\x20playwright\x20install\x20chromium','platform','✓\x20Already\x20authenticated\x20to\x20','Authentication\x20failed:\x20','force','IGwUn','OQorh','24YwfLJk','1994870CbLdXV','XgSBA','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','No\x20git\x20repository\x20found','user','971856YrjdcM','stdin','version','stdout','provided_token','scope','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','url','REAUA','success','uMOMT','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','✓\x20Local\x20profile\x20already\x20exists','XITWI','✓\x20Created\x20.ranger/.gitignore','85253zWomSi','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0a❌\x20Profile\x20setup\x20failed:','dkNuH','LTpDT','aOAqK','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','WQMqv','NVxix','qjzmT','GITHUB_ENV','qAaDX','resolve','plugin','message','oYnma','✓\x20Exported\x20credentials\x20for\x20CI','\x0a⚠\x20Skipping\x20Chromium\x20installation.','warn','✓\x20Authenticated\x20to\x20','AMWJI','\x20install\x20chromium','1767174uOvUGS','eXTJV','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','\x20\x20npx\x20playwright@','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','TOCDr','trackPhaseStart','The\x20required\x20version\x20(','method','cXsVd','playwright@','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','ranger','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','483292yHaoks','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','GsFAw','lGpSW','QPXDg','trackPhaseEnd','VaWZK','profile'];_0x4705=function(){return _0x5ab38f;};return _0x4705();}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),bold=_0x2c0f0c=>_0x3f6777(0x1f6)+_0x2c0f0c+'\x1b[0m';function getPlaywrightVersion(){const _0x4ae0b4=_0x3f6777,_0x320741={'oQGqg':'playwright/package.json','xNIVC':function(_0x87ec1f,_0x1b4606){return _0x87ec1f(_0x1b4606);}};try{const _0x1ed282=require[_0x4ae0b4(0x1cc)](_0x320741['oQGqg']),_0x5bc468=_0x320741[_0x4ae0b4(0x1f3)](require,_0x1ed282);return _0x5bc468[_0x4ae0b4(0x229)];}catch{return null;}}function installChromiumBinary(_0x2ff176){const _0x3b966d={'aKMlf':function(_0x455f6a,_0x32878c){return _0x455f6a===_0x32878c;},'yvoWL':function(_0x31141c,_0x3407a6){return _0x31141c(_0x3407a6);},'mtTMB':'playwright','dcsVR':'chromium','Uhins':function(_0x19ee2d,_0x1bd162,_0x2e54d2,_0x144656){return _0x19ee2d(_0x1bd162,_0x2e54d2,_0x144656);},'IGwUn':'npx','qAaDX':function(_0x4f14f9,_0x25fa14){return _0x4f14f9===_0x25fa14;},'uyhXF':'win32'};return new Promise((_0x212498,_0x37f80a)=>{const _0x1dded1=_0x405d,_0x50ec34=_0x2ff176?[_0x1dded1(0x1e2)+_0x2ff176,'install','chromium']:[_0x3b966d['mtTMB'],_0x1dded1(0x214),_0x3b966d['dcsVR']],_0x56414a=_0x3b966d['Uhins'](spawn,_0x3b966d[_0x1dded1(0x21f)],_0x50ec34,{'stdio':'inherit','shell':_0x3b966d[_0x1dded1(0x1cb)](process[_0x1dded1(0x21b)],_0x3b966d['uyhXF'])});_0x56414a['on']('close',_0x539a6f=>{const _0x2798e8=_0x1dded1;_0x3b966d['aKMlf'](_0x539a6f,0x0)?_0x212498():_0x3b966d['yvoWL'](_0x37f80a,new Error(_0x2798e8(0x1fd)+_0x539a6f));}),_0x56414a['on']('error',_0x2c795a=>{_0x37f80a(_0x2c795a);});});}export async function authenticate(_0x30a3e9){const _0x42b7ca=_0x3f6777,_0x5ae061={'JopPE':function(_0x5e90f8){return _0x5e90f8();},'XAsPG':_0x42b7ca(0x1f0),'oKaob':function(_0xf8b60a){return _0xf8b60a();},'tfWPc':function(_0x53bafa,_0x4faced){return _0x53bafa instanceof _0x4faced;},'GsFAw':function(_0x263812,_0x5cba0b){return _0x263812(_0x5cba0b);},'CDySN':_0x42b7ca(0x1d0),'XITWI':_0x42b7ca(0x218),'ehUfi':_0x42b7ca(0x22b)};if(!_0x30a3e9){const _0x392c57=await _0x5ae061['JopPE'](getToken);if(_0x392c57){const _0x5994ad=await getCurrentUser(_0x392c57);if(_0x5994ad[_0x42b7ca(0x1ba)])return console[_0x42b7ca(0x20a)](_0x42b7ca(0x21c)+_0x5994ad[_0x42b7ca(0x226)][_0x42b7ca(0x1f4)]),{'token':_0x392c57,'method':_0x5ae061[_0x42b7ca(0x20b)]};}try{_0x30a3e9=await _0x5ae061['oKaob'](runDeviceAuthFlow);}catch(_0x59fc4c){throw new Error(_0x42b7ca(0x21d)+(_0x5ae061['tfWPc'](_0x59fc4c,Error)?_0x59fc4c[_0x42b7ca(0x1ce)]:_0x59fc4c));}const _0x30e6a2=await getCurrentUser(_0x30a3e9);if(!_0x30e6a2['success'])throw new Error(_0x42b7ca(0x224)+_0x30e6a2[_0x42b7ca(0x1fb)]);return console['log'](_0x42b7ca(0x1d3)+_0x30e6a2[_0x42b7ca(0x226)][_0x42b7ca(0x1f4)]),{'token':_0x30a3e9,'method':'device_auth'};}console['log']('Validating\x20API\x20token...');const _0x2a77a2=await _0x5ae061[_0x42b7ca(0x1e9)](getCurrentUser,_0x30a3e9);if(!_0x2a77a2['success']){if(_0x2a77a2['status'])throw new Error(_0x42b7ca(0x21d)+_0x2a77a2['error']+_0x42b7ca(0x211));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x2a77a2[_0x42b7ca(0x1fb)]+_0x42b7ca(0x1c6));}return console['log'](_0x42b7ca(0x1d3)+_0x2a77a2[_0x42b7ca(0x226)]['organizationName']),await _0x5ae061[_0x42b7ca(0x1e9)](storeToken,_0x30a3e9),console[_0x42b7ca(0x20a)](process[_0x42b7ca(0x1f2)][_0x42b7ca(0x1ca)]?_0x5ae061['CDySN']:_0x5ae061[_0x42b7ca(0x1be)]),{'token':_0x30a3e9,'method':_0x5ae061['ehUfi']};}export async function ensureRangerDir(){const _0x4caa4b=_0x3f6777,_0x44a06b={'iUrkr':function(_0x2dbeb9){return _0x2dbeb9();},'SJWXr':function(_0x1fa50f,_0x9bffa1){return _0x1fa50f(_0x9bffa1);},'dxEBB':function(_0x55254e,_0x548419,_0x23487f){return _0x55254e(_0x548419,_0x23487f);},'zNUml':'✓\x20.ranger/\x20directory\x20already\x20exists'},_0x1af432=_0x44a06b['iUrkr'](getRangerDir);return!_0x44a06b['SJWXr'](existsSync,_0x1af432)?(await _0x44a06b['dxEBB'](mkdir,_0x1af432,{'recursive':!![]}),console['log'](_0x4caa4b(0x20d)),{'path':_0x1af432,'installed':!![]}):(console['log'](_0x44a06b['zNUml']),{'path':_0x1af432,'installed':![]});}export async function ensureChromium(){const _0x43bcf8=_0x3f6777,_0x289d7b={'WQMqv':function(_0x50c2a7,_0x2b10a4){return _0x50c2a7(_0x2b10a4);},'eXTJV':_0x43bcf8(0x206),'oYnma':'confirm','HaRxN':function(_0x29aef6,_0x52ceae){return _0x29aef6 instanceof _0x52ceae;},'OQorh':_0x43bcf8(0x1ff),'aRKkv':_0x43bcf8(0x210),'XgSBA':_0x43bcf8(0x21a)};let _0x570865=![];try{const _0x2c03c0=chromium['executablePath']();_0x570865=_0x289d7b[_0x43bcf8(0x1c7)](existsSync,_0x2c03c0);}catch{_0x570865=![];}if(_0x570865)return console[_0x43bcf8(0x20a)](_0x289d7b[_0x43bcf8(0x1d7)]),![];const _0x1b1218=getPlaywrightVersion(),_0x225aa0=process[_0x43bcf8(0x228)]['isTTY']&&process[_0x43bcf8(0x22a)][_0x43bcf8(0x209)];let _0x4bed33=!![];if(_0x225aa0){const {install:_0x3769ba}=await _0x352a9f['prompt']([{'type':_0x289d7b[_0x43bcf8(0x1cf)],'name':_0x43bcf8(0x214),'message':_0x1b1218?_0x43bcf8(0x1df)+_0x1b1218+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x43bcf8(0x1e7),'default':!![]}]);_0x4bed33=_0x3769ba;}else console[_0x43bcf8(0x20a)](_0x43bcf8(0x1e5)+(_0x1b1218?'\x20'+_0x1b1218:'')+_0x43bcf8(0x208));if(_0x4bed33){console[_0x43bcf8(0x20a)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x289d7b['WQMqv'](installChromiumBinary,_0x1b1218),console['log'](_0x43bcf8(0x1d9));}catch(_0x5bb0f1){console[_0x43bcf8(0x1fb)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x289d7b['HaRxN'](_0x5bb0f1,Error)?_0x5bb0f1['message']:_0x5bb0f1),console[_0x43bcf8(0x20a)](_0x289d7b[_0x43bcf8(0x220)]),_0x1b1218?console['log']('\x20\x20npx\x20playwright@'+_0x1b1218+_0x43bcf8(0x1d5)):console['log']('\x20\x20npx\x20playwright\x20install\x20chromium');}}else console['log'](_0x43bcf8(0x1d1)),console[_0x43bcf8(0x20a)](_0x289d7b['aRKkv']),_0x1b1218?console['log'](_0x43bcf8(0x1db)+_0x1b1218+'\x20install\x20chromium'):console[_0x43bcf8(0x20a)](_0x289d7b[_0x43bcf8(0x223)]);return!![];}export async function writeRangerGitignore(_0x369983){const _0x3e3857=_0x3f6777,_0x4395fe={'JOzIM':function(_0x3d4a40,_0x42028d,_0x43ee05){return _0x3d4a40(_0x42028d,_0x43ee05);},'QNRLP':_0x3e3857(0x1bf)},_0xc4e581=_0x4395fe['JOzIM'](join,_0x369983,_0x3e3857(0x1fe)),_0x414a74='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\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 _0x4395fe[_0x3e3857(0x201)](writeFile,_0xc4e581,_0x414a74),console['log'](_0x4395fe['QNRLP']);}function printProfileSetupLaterInstructions(){const _0x26c3f7=_0x3f6777,_0x21b4d7={'LTpDT':_0x26c3f7(0x1da),'kZULg':_0x26c3f7(0x20f)};console[_0x26c3f7(0x20a)](_0x21b4d7[_0x26c3f7(0x1c4)]),console[_0x26c3f7(0x20a)]('\x20\x20'+bold(_0x26c3f7(0x213))),console[_0x26c3f7(0x20a)](_0x21b4d7['kZULg']);}async function ensureLocalEnv(_0x424f12,_0x538272){const _0x5d168a=_0x3f6777,_0x536ab0={'JLNzU':function(_0xaee11b){return _0xaee11b();},'DwxIN':_0x5d168a(0x20c),'YhyCX':function(_0x42a94c,_0x138973,_0x548a68){return _0x42a94c(_0x138973,_0x548a68);},'pQNrv':_0x5d168a(0x1bd),'jlaYe':_0x5d168a(0x1bc),'YCULr':_0x5d168a(0x22e),'REAUA':function(_0x50a10d,_0x8732bf,_0x1909fa,_0x40c678){return _0x50a10d(_0x8732bf,_0x1909fa,_0x40c678);},'TuMym':'local','UHRZy':function(_0x3bbdaf){return _0x3bbdaf();}};if(!_0x536ab0[_0x5d168a(0x200)](findGitRoot))return console['log'](_0x536ab0[_0x5d168a(0x1fc)]),{'ready':![],'skipped':!![]};if(_0x536ab0['YhyCX'](findExistingEnv,'local',{'locations':['local']}))return console[_0x5d168a(0x20a)](_0x536ab0[_0x5d168a(0x217)]),{'ready':!![],'skipped':![]};const _0x407c3a=process['stdin']['isTTY']&&process[_0x5d168a(0x22a)][_0x5d168a(0x209)];if(_0x407c3a&&!_0x424f12?.[_0x5d168a(0x22f)]){console['log']('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console[_0x5d168a(0x20a)](_0x5d168a(0x22d)),console['log'](_0x536ab0['jlaYe']),console[_0x5d168a(0x20a)]('use\x20until\x20the\x20session\x20expires.\x0a'),console[_0x5d168a(0x20a)](_0x536ab0['YCULr']);const {wantsProfile:_0x584860}=await _0x352a9f[_0x5d168a(0x216)]([{'type':'confirm','name':'wantsProfile','message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0x584860)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x536ab0[_0x5d168a(0x1b9)](addEnv,_0x536ab0['TuMym'],{'url':_0x424f12?.[_0x5d168a(0x22f)],'force':_0x424f12?.['force']},_0x538272),{'ready':!![],'skipped':![]};}catch(_0x2ea350){return console['error'](_0x5d168a(0x1c2),_0x2ea350 instanceof Error?_0x2ea350['message']:_0x2ea350),_0x536ab0['UHRZy'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x37a315,_0x33aebd,_0x58b8a2){const _0x11e736=_0x3f6777,_0x534e64={'FsYaS':'Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','aOAqK':'git_check','QPXDg':function(_0x554f87){return _0x554f87();},'cXsVd':'No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','DXsCP':function(_0x1abdf1){return _0x1abdf1();},'NVxix':function(_0x5a6ac8,_0x1b2dca){return _0x5a6ac8(_0x1b2dca);},'BYGgb':_0x11e736(0x20e),'AMWJI':_0x11e736(0x204),'RYzrT':_0x11e736(0x1cd),'WlwZn':function(_0x1572c9,_0x240541){return _0x1572c9(_0x240541);},'VaWZK':function(_0x34b776,_0x22ca8a){return _0x34b776&&_0x22ca8a;},'kfDty':_0x11e736(0x1e4),'dkNuH':'skills','lGpSW':_0x11e736(0x1e3),'DZBel':function(_0x53966a,_0x105005){return _0x53966a instanceof _0x105005;},'nnFjU':function(_0x518443,_0x280b2a,_0x523d9c){return _0x518443(_0x280b2a,_0x523d9c);},'NLuBf':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','TOCDr':'ranger\x20profile\x20add\x20local','FloBC':_0x11e736(0x1ee),'BDmNT':_0x11e736(0x207),'YLUvy':function(_0x152b65,_0xb2fdf0){return _0x152b65(_0xb2fdf0);},'IgzsG':'/ranger:enable','qjzmT':function(_0x35e537,_0x372fb1){return _0x35e537+_0x372fb1;},'uMOMT':function(_0x2698ab,_0x21b857){return _0x2698ab+_0x21b857;}};console['log']('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x3f7392=process[_0x11e736(0x228)]['isTTY']&&process[_0x11e736(0x22a)]['isTTY'];!_0x3f7392&&!_0x33aebd?.[_0x11e736(0x22c)]&&(console['log'](_0x534e64['FsYaS']),_0x33aebd={..._0x33aebd,'scope':_0x11e736(0x226)});_0x58b8a2?.['trackPhaseStart'](_0x534e64[_0x11e736(0x1c5)]);if(!_0x534e64[_0x11e736(0x1eb)](findGitRoot)){await _0x58b8a2?.[_0x11e736(0x203)]('git_check',new Error(_0x11e736(0x225)));throw new Error(_0x534e64[_0x11e736(0x1e1)]);}_0x58b8a2?.['trackPhaseEnd']('git_check');const _0x2cb3bb=!existsSync(_0x534e64['DXsCP'](getRangerDir)),{path:_0x54be5a}=await ensureRangerDir();_0x58b8a2?.['trackPhaseStart']('auth');const _0x189549=await _0x534e64[_0x11e736(0x1c8)](authenticate,_0x37a315);_0x58b8a2?.[_0x11e736(0x1ec)](_0x534e64[_0x11e736(0x1ef)],{'isFirstRun':_0x2cb3bb,'method':_0x189549[_0x11e736(0x1e0)]}),_0x58b8a2?.[_0x11e736(0x1de)](_0x534e64[_0x11e736(0x1d4)]);_0x33aebd?.[_0x11e736(0x212)]?console[_0x11e736(0x20a)](_0x11e736(0x1e8)):await ensureChromium();_0x58b8a2?.[_0x11e736(0x1ec)](_0x534e64[_0x11e736(0x1d4)],{'isFirstRun':_0x2cb3bb,'skipped':!!_0x33aebd?.['skipChromium']}),await writeRangerGitignore(_0x54be5a),console[_0x11e736(0x20a)](_0x11e736(0x215));const _0x5e9154=_0x33aebd?.[_0x11e736(0x22c)],_0xb24671=_0x33aebd?.['opencode']??![];let _0xacb182=null;_0xb24671?(_0x58b8a2?.[_0x11e736(0x1de)](_0x534e64['RYzrT']),_0xacb182=await _0x534e64['WlwZn'](ensureOpencodePluginConfig,_0x5e9154),_0x58b8a2?.['trackPhaseEnd'](_0x11e736(0x1cd),{'isFirstRun':_0x2cb3bb,'opencode':!![]})):(_0x58b8a2?.['trackPhaseStart'](_0x11e736(0x1cd)),await _0x534e64['WlwZn'](ensureClaudePlugin,_0x5e9154),_0x58b8a2?.['trackPhaseEnd'](_0x11e736(0x1cd),{'isFirstRun':_0x2cb3bb}));if(_0x534e64[_0x11e736(0x1ed)](_0xb24671,_0xacb182)){_0x58b8a2?.[_0x11e736(0x1de)]('skills');try{await installSkill(_0x534e64['kfDty'],{'level':_0xacb182[_0x11e736(0x22c)],'cliVersion':_0x534e64['QPXDg'](getCurrentVersion),'platform':_0x11e736(0x219)}),_0x58b8a2?.[_0x11e736(0x1ec)](_0x534e64['dkNuH'],{'isFirstRun':_0x2cb3bb,'opencode':!![]});}catch(_0x49cb7a){console[_0x11e736(0x1d2)](_0x534e64[_0x11e736(0x1ea)],_0x534e64['DZBel'](_0x49cb7a,Error)?_0x49cb7a[_0x11e736(0x1ce)]:_0x49cb7a),_0x58b8a2?.['trackPhaseEnd'](_0x534e64[_0x11e736(0x1c3)],{'isFirstRun':_0x2cb3bb,'opencode':!![],'failed':!![]});}}else _0x58b8a2?.[_0x11e736(0x1de)](_0x534e64[_0x11e736(0x1c3)]),await ensureClaudeSkills(_0x5e9154),_0x58b8a2?.['trackPhaseEnd'](_0x11e736(0x1f9),{'isFirstRun':_0x2cb3bb});const _0x58a82b=findGitRoot();if(_0x58a82b){const _0x1c6de1=join(_0x58a82b,_0x11e736(0x1f5));!_0x534e64['WlwZn'](existsSync,_0x1c6de1)&&await _0x534e64['nnFjU'](mkdir,_0x1c6de1,{'recursive':!![]});}if(!_0x3f7392&&!_0x33aebd?.[_0x11e736(0x22f)])console['log'](_0x534e64['NLuBf']),console[_0x11e736(0x20a)]('\x20\x20'+_0x534e64['NVxix'](bold,_0x534e64[_0x11e736(0x1dd)])+'\x0a');else{_0x58b8a2?.['trackPhaseStart'](_0x534e64[_0x11e736(0x202)]);const _0x35f53a=await _0x534e64['nnFjU'](ensureLocalEnv,{'url':_0x33aebd?.[_0x11e736(0x22f)],'force':_0x33aebd?.[_0x11e736(0x21e)]},_0x58b8a2);_0x58b8a2?.[_0x11e736(0x1ec)](_0x534e64[_0x11e736(0x202)],{'isFirstRun':_0x2cb3bb,'profileReady':_0x35f53a['ready'],'userSkipped':_0x35f53a['skipped']}),_0x35f53a[_0x11e736(0x1f7)]&&console[_0x11e736(0x20a)](_0x11e736(0x1dc));}if(_0xb24671)console['log']('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x11e736(0x20a)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x534e64[_0x11e736(0x1fa)]);else{const _0x5c9eda=_0x534e64['YLUvy'](bold,_0x534e64['IgzsG']);console[_0x11e736(0x20a)](_0x534e64[_0x11e736(0x1c9)](_0x534e64[_0x11e736(0x1c9)](_0x534e64[_0x11e736(0x1bb)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x5c9eda+'\x20and\x20prompt\x20the\x20coding',_0x11e736(0x205)),_0x11e736(0x1c1)),_0x11e736(0x1d8)));}}
|
|
1
|
+
const _0x18df7c=_0x5725;(function(_0x415af3,_0x4389a3){const _0x3e4e1b=_0x5725,_0x29f794=_0x415af3();while(!![]){try{const _0x59e37b=parseInt(_0x3e4e1b(0x171))/0x1+-parseInt(_0x3e4e1b(0x16f))/0x2+-parseInt(_0x3e4e1b(0x1b2))/0x3*(-parseInt(_0x3e4e1b(0x17c))/0x4)+-parseInt(_0x3e4e1b(0x197))/0x5*(parseInt(_0x3e4e1b(0x195))/0x6)+-parseInt(_0x3e4e1b(0x18d))/0x7+parseInt(_0x3e4e1b(0x17e))/0x8+-parseInt(_0x3e4e1b(0x1b7))/0x9*(parseInt(_0x3e4e1b(0x16c))/0xa);if(_0x59e37b===_0x4389a3)break;else _0x29f794['push'](_0x29f794['shift']());}catch(_0x5170c0){_0x29f794['push'](_0x29f794['shift']());}}}(_0x3a7c,0xcb8e5));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';function _0x5725(_0x146e39,_0x41a8f6){_0x146e39=_0x146e39-0x14f;const _0x3a7cf5=_0x3a7c();let _0x572516=_0x3a7cf5[_0x146e39];return _0x572516;}import{spawn}from'child_process';import _0x13ff2b from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),bold=_0x11ce90=>_0x18df7c(0x152)+_0x11ce90+_0x18df7c(0x19b);function getPlaywrightVersion(){const _0xa75e14=_0x18df7c,_0x162e0a={'iTdiG':'playwright/package.json'};try{const _0x5998ca=require[_0xa75e14(0x170)](_0x162e0a['iTdiG']),_0x2db290=require(_0x5998ca);return _0x2db290[_0xa75e14(0x19c)];}catch{return null;}}function installChromiumBinary(_0x4a9707){const _0x56cc6c=_0x18df7c,_0x4519fe={'KyyQT':function(_0x455615,_0x15d3d9){return _0x455615(_0x15d3d9);},'IewbM':_0x56cc6c(0x1ae),'GQLGJ':_0x56cc6c(0x18a),'edWOR':_0x56cc6c(0x1a5),'YmxIs':'win32','cQKNX':_0x56cc6c(0x1b5)};return new Promise((_0x2a3dfa,_0x340d28)=>{const _0x344816=_0x56cc6c,_0x730609={'ZMJMW':function(_0x1c6daa,_0x4064b4){return _0x1c6daa(_0x4064b4);}},_0x168c12=_0x4a9707?['playwright@'+_0x4a9707,'install',_0x4519fe['IewbM']]:[_0x344816(0x19f),_0x4519fe[_0x344816(0x1a8)],_0x4519fe[_0x344816(0x198)]],_0x3e2f6f=spawn('npx',_0x168c12,{'stdio':_0x4519fe[_0x344816(0x1a7)],'shell':process[_0x344816(0x161)]===_0x4519fe[_0x344816(0x189)]});_0x3e2f6f['on'](_0x4519fe['cQKNX'],_0x3c2eb1=>{const _0x172142=_0x344816;_0x3c2eb1===0x0?_0x2a3dfa():_0x4519fe[_0x172142(0x183)](_0x340d28,new Error(_0x172142(0x19d)+_0x3c2eb1));}),_0x3e2f6f['on']('error',_0x4231b4=>{const _0x5c980e=_0x344816;_0x730609[_0x5c980e(0x158)](_0x340d28,_0x4231b4);});});}export async function authenticate(_0x204b5d){const _0x288ab2=_0x18df7c,_0x1fec71={'eNPCR':function(_0x453dea){return _0x453dea();},'FkNQr':function(_0x2b9b5b,_0x5679da){return _0x2b9b5b(_0x5679da);},'wdgll':_0x288ab2(0x192),'kyuvV':'Validating\x20API\x20token...','gpNxZ':'provided_token'};if(!_0x204b5d){const _0x35f05f=await _0x1fec71[_0x288ab2(0x188)](getToken);if(_0x35f05f){const _0x21b6c0=await _0x1fec71[_0x288ab2(0x1a3)](getCurrentUser,_0x35f05f);if(_0x21b6c0[_0x288ab2(0x17a)])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x21b6c0['user']['organizationName']),{'token':_0x35f05f,'method':_0x1fec71['wdgll']};}try{_0x204b5d=await _0x1fec71[_0x288ab2(0x188)](runDeviceAuthFlow);}catch(_0x4361c1){throw new Error('Authentication\x20failed:\x20'+(_0x4361c1 instanceof Error?_0x4361c1[_0x288ab2(0x17b)]:_0x4361c1));}const _0x20c430=await getCurrentUser(_0x204b5d);if(!_0x20c430['success'])throw new Error(_0x288ab2(0x193)+_0x20c430[_0x288ab2(0x1ba)]);return console['log']('✓\x20Authenticated\x20to\x20'+_0x20c430[_0x288ab2(0x160)]['organizationName']),{'token':_0x204b5d,'method':_0x288ab2(0x15c)};}console['log'](_0x1fec71['kyuvV']);const _0x41fc72=await getCurrentUser(_0x204b5d);if(!_0x41fc72['success']){if(_0x41fc72['status'])throw new Error('Authentication\x20failed:\x20'+_0x41fc72['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x288ab2(0x168)+_0x41fc72['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x41fc72['user']['organizationName']),await _0x1fec71['FkNQr'](storeToken,_0x204b5d),console['log'](process['env']['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x288ab2(0x1b0)),{'token':_0x204b5d,'method':_0x1fec71[_0x288ab2(0x180)]};}function _0x3a7c(){const _0xbad999=['✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','stdout','wantsProfile','eNPCR','YmxIs','install','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','IbLtX','329133hUdtxa','✓\x20Created\x20.ranger/.gitignore','confirm','skipped','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','existing_token','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','dzPpW','9156ywqeeD','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','165VufPrB','IewbM','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','url','\x1b[0m','version','Installation\x20failed\x20with\x20exit\x20code\x20','iPvdL','playwright','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','trackPhaseStart','OCLwE','FkNQr','bVEjz','inherit','CdRjD','edWOR','GQLGJ','use\x20until\x20the\x20session\x20expires.\x0a','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','tcAFv','aeqxM','AgNhl','chromium','soPtp','✓\x20Stored\x20credentials\x20locally','ninhg','64326bqwDcS','stdin','plugin','close','\x20\x20npx\x20playwright@','19334475NWYUWn','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','\x0a❌\x20Profile\x20setup\x20failed:','error','YTWea','Aedjv','ygiTg','WAEzd','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','log','profile','\x1b[1m','The\x20required\x20version\x20(','XcwqD','skipChromium','executablePath','vJAzo','ZMJMW','uKPUh','trCFT','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','device_auth','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','nCAsn','user','platform','force','opencode','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','CoppT','pSgLM','.gitignore','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','scope','bauUT','trackPhaseEnd','10KNaZYx','isTTY','LRbKs','532120ITrmjz','resolve','1519842ZBKKbY','vBJCh','stKBU','\x0a⚠\x20Skipping\x20Chromium\x20installation.','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','✓\x20Created\x20.ranger/\x20directory','eVsQT','\x20\x20npx\x20playwright\x20install\x20chromium','prompt','success','message','208mLTPHq','You\x20can\x20install\x20it\x20manually\x20by\x20running:','5685208dVJVVO','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','gpNxZ','BTIGc','PtaVo','KyyQT','ETxfw'];_0x3a7c=function(){return _0xbad999;};return _0x3a7c();}export async function ensureRangerDir(){const _0x4435d2=_0x18df7c,_0x4f1f4c={'OCLwE':function(_0x3b69d7,_0x48157b){return _0x3b69d7(_0x48157b);},'TgJcb':function(_0x3faf99,_0x4b2f0f,_0xc410fb){return _0x3faf99(_0x4b2f0f,_0xc410fb);},'PtaVo':_0x4435d2(0x176)},_0x5de474=getRangerDir();return!_0x4f1f4c[_0x4435d2(0x1a2)](existsSync,_0x5de474)?(await _0x4f1f4c['TgJcb'](mkdir,_0x5de474,{'recursive':!![]}),console[_0x4435d2(0x150)](_0x4f1f4c[_0x4435d2(0x182)]),{'path':_0x5de474,'installed':!![]}):(console[_0x4435d2(0x150)]('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x5de474,'installed':![]});}export async function ensureChromium(){const _0x2fffec=_0x18df7c,_0x2ded78={'YTWea':'✓\x20Playwright\x20Chromium\x20browser\x20found','XnCwC':function(_0x78b0b7){return _0x78b0b7();},'trCFT':_0x2fffec(0x18f),'Aedjv':'install','NDahU':_0x2fffec(0x175),'Ntggn':_0x2fffec(0x191),'cBWqb':_0x2fffec(0x196),'BTIGc':function(_0x2f79ac,_0x6912f7){return _0x2f79ac instanceof _0x6912f7;},'sjJMK':_0x2fffec(0x178),'IbLtX':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x4432a5=![];try{const _0x2ae4f4=chromium[_0x2fffec(0x156)]();_0x4432a5=existsSync(_0x2ae4f4);}catch{_0x4432a5=![];}if(_0x4432a5)return console[_0x2fffec(0x150)](_0x2ded78[_0x2fffec(0x1bb)]),![];const _0x3b03dc=_0x2ded78['XnCwC'](getPlaywrightVersion),_0x407eaa=process[_0x2fffec(0x1b3)][_0x2fffec(0x16d)]&&process['stdout']['isTTY'];let _0x502c74=!![];if(_0x407eaa){const {install:_0x24d096}=await _0x13ff2b['prompt']([{'type':_0x2ded78[_0x2fffec(0x15a)],'name':_0x2ded78[_0x2fffec(0x1bc)],'message':_0x3b03dc?_0x2fffec(0x153)+_0x3b03dc+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x2ded78['NDahU'],'default':!![]}]);_0x502c74=_0x24d096;}else console['log'](_0x2fffec(0x1b8)+(_0x3b03dc?'\x20'+_0x3b03dc:'')+'...');if(_0x502c74){console['log']('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await installChromiumBinary(_0x3b03dc),console['log'](_0x2ded78['Ntggn']);}catch(_0x56d613){console[_0x2fffec(0x1ba)](_0x2ded78['cBWqb'],_0x2ded78[_0x2fffec(0x181)](_0x56d613,Error)?_0x56d613['message']:_0x56d613),console['log'](_0x2fffec(0x17d)),_0x3b03dc?console[_0x2fffec(0x150)](_0x2fffec(0x1b6)+_0x3b03dc+'\x20install\x20chromium'):console[_0x2fffec(0x150)](_0x2ded78['sjJMK']);}}else console['log'](_0x2fffec(0x174)),console[_0x2fffec(0x150)](_0x2ded78[_0x2fffec(0x18c)]),_0x3b03dc?console['log'](_0x2fffec(0x1b6)+_0x3b03dc+'\x20install\x20chromium'):console['log'](_0x2ded78['sjJMK']);return!![];}export async function writeRangerGitignore(_0x31aa98){const _0x539a20=_0x18df7c,_0x5b4cbd={'tMuDB':function(_0x3b021d,_0x29afad,_0x9dcd02){return _0x3b021d(_0x29afad,_0x9dcd02);},'HVrhM':_0x539a20(0x18e)},_0x19b8c1=_0x5b4cbd['tMuDB'](join,_0x31aa98,_0x539a20(0x167)),_0x240d01='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\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 writeFile(_0x19b8c1,_0x240d01),console[_0x539a20(0x150)](_0x5b4cbd['HVrhM']);}function printProfileSetupLaterInstructions(){const _0xc4781e=_0x18df7c,_0x5a2028={'pSgLM':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','dzPpW':function(_0xdb685f,_0x33dcc6){return _0xdb685f(_0x33dcc6);},'LRbKs':'ranger\x20profile\x20add\x20local','CdRjD':_0xc4781e(0x14f)};console['log'](_0x5a2028[_0xc4781e(0x166)]),console['log']('\x20\x20'+_0x5a2028[_0xc4781e(0x194)](bold,_0x5a2028[_0xc4781e(0x16e)])),console['log'](_0x5a2028[_0xc4781e(0x1a6)]);}async function ensureLocalEnv(_0x3fcc55,_0x262c52){const _0x4988d3=_0x18df7c,_0x4447f7={'mANym':_0x4988d3(0x1bf),'aeqxM':'local','CoppT':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','bABli':_0x4988d3(0x1a9),'sGOlm':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','nCAsn':'confirm','bVEjz':_0x4988d3(0x187),'ninhg':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','uKPUh':_0x4988d3(0x1b9),'ryuEk':function(_0x6ece7f,_0x4a2617){return _0x6ece7f instanceof _0x4a2617;}};if(!findGitRoot())return console['log'](_0x4447f7['mANym']),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x4447f7['aeqxM'],{'locations':['local']}))return console['log']('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};const _0x408842=process[_0x4988d3(0x1b3)][_0x4988d3(0x16d)]&&process['stdout'][_0x4988d3(0x16d)];if(_0x408842&&!_0x3fcc55?.['url']){console['log'](_0x4988d3(0x1a0)),console[_0x4988d3(0x150)](_0x4447f7[_0x4988d3(0x165)]),console[_0x4988d3(0x150)](_0x4988d3(0x199)),console['log'](_0x4447f7['bABli']),console[_0x4988d3(0x150)](_0x4447f7['sGOlm']);const {wantsProfile:_0x2e85b6}=await _0x13ff2b[_0x4988d3(0x179)]([{'type':_0x4447f7[_0x4988d3(0x15f)],'name':_0x4447f7[_0x4988d3(0x1a4)],'message':_0x4447f7[_0x4988d3(0x1b1)],'default':!![]}]);if(!_0x2e85b6)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x4447f7[_0x4988d3(0x1ac)],{'url':_0x3fcc55?.['url'],'force':_0x3fcc55?.[_0x4988d3(0x162)]},_0x262c52),{'ready':!![],'skipped':![]};}catch(_0x2e4c54){return console[_0x4988d3(0x1ba)](_0x4447f7[_0x4988d3(0x159)],_0x4447f7['ryuEk'](_0x2e4c54,Error)?_0x2e4c54['message']:_0x2e4c54),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x2eb262,_0x4da89d,_0x55998b){const _0x396cda=_0x18df7c,_0x213a8a={'hRtvR':'\x0a🚀\x20Ranger\x20Setup\x0a','eVsQT':_0x396cda(0x164),'xUWUY':'user','WAEzd':'git_check','VuRAQ':'No\x20git\x20repository\x20found','bxsCP':function(_0x16e657){return _0x16e657();},'soPtp':'auth','JNbhr':'plugin','AgNhl':'skills','ygiTg':function(_0x26ccf5,_0x4dfdda,_0x231f8c){return _0x26ccf5(_0x4dfdda,_0x231f8c);},'fWUTy':'ranger','ETxfw':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','vBJCh':function(_0x3f3284,_0x1b1ad4){return _0x3f3284 instanceof _0x1b1ad4;},'stKBU':function(_0x4c8141,_0x1d62b3){return _0x4c8141(_0x1d62b3);},'XcwqD':function(_0x174cba,_0x114191,_0x12e9a3){return _0x174cba(_0x114191,_0x12e9a3);},'NOqhk':'profile','tcAFv':_0x396cda(0x17f),'wfJpi':function(_0x4ea2b7,_0x4b4cd6){return _0x4ea2b7(_0x4b4cd6);},'iPvdL':function(_0xf1f3ff,_0x1dbc5f){return _0xf1f3ff+_0x1dbc5f;},'vJAzo':function(_0x390c16,_0x21fd02){return _0x390c16+_0x21fd02;},'bauUT':function(_0x3fb6a9,_0x7b16ef){return _0x3fb6a9+_0x7b16ef;}};console['log'](_0x213a8a['hRtvR']);const _0x1546a4=process['stdin'][_0x396cda(0x16d)]&&process[_0x396cda(0x186)]['isTTY'];!_0x1546a4&&!_0x4da89d?.[_0x396cda(0x169)]&&(console['log'](_0x213a8a[_0x396cda(0x177)]),_0x4da89d={..._0x4da89d,'scope':_0x213a8a['xUWUY']});_0x55998b?.[_0x396cda(0x1a1)](_0x213a8a[_0x396cda(0x1be)]);if(!findGitRoot()){await _0x55998b?.['trackPhaseError'](_0x213a8a[_0x396cda(0x1be)],new Error(_0x213a8a['VuRAQ']));throw new Error(_0x396cda(0x15e));}_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['WAEzd']);const _0x9d5c29=!existsSync(_0x213a8a['bxsCP'](getRangerDir)),{path:_0x5a9783}=await _0x213a8a['bxsCP'](ensureRangerDir);_0x55998b?.['trackPhaseStart'](_0x213a8a['soPtp']);const _0x436f5b=await authenticate(_0x2eb262);_0x55998b?.['trackPhaseEnd'](_0x213a8a[_0x396cda(0x1af)],{'isFirstRun':_0x9d5c29,'method':_0x436f5b['method']}),_0x55998b?.[_0x396cda(0x1a1)](_0x396cda(0x1ae));_0x4da89d?.[_0x396cda(0x155)]?console[_0x396cda(0x150)](_0x396cda(0x185)):await ensureChromium();_0x55998b?.['trackPhaseEnd'](_0x396cda(0x1ae),{'isFirstRun':_0x9d5c29,'skipped':!!_0x4da89d?.['skipChromium']}),await writeRangerGitignore(_0x5a9783),console[_0x396cda(0x150)]('\x0a✅\x20Ranger\x20setup\x20complete!\x0a');const _0x31228e=_0x4da89d?.['scope'],_0x34fb8f=_0x4da89d?.[_0x396cda(0x163)]??![];let _0x3bb58a=null;_0x34fb8f?(_0x55998b?.[_0x396cda(0x1a1)](_0x396cda(0x1b4)),_0x3bb58a=await ensureOpencodePluginConfig(_0x31228e),_0x55998b?.['trackPhaseEnd'](_0x396cda(0x1b4),{'isFirstRun':_0x9d5c29,'opencode':!![]})):(_0x55998b?.[_0x396cda(0x1a1)](_0x213a8a['JNbhr']),await ensureClaudePlugin(_0x31228e),_0x55998b?.[_0x396cda(0x16b)]('plugin',{'isFirstRun':_0x9d5c29}));if(_0x34fb8f&&_0x3bb58a){_0x55998b?.[_0x396cda(0x1a1)](_0x213a8a[_0x396cda(0x1ad)]);try{await _0x213a8a[_0x396cda(0x1bd)](installSkill,_0x213a8a['fWUTy'],{'level':_0x3bb58a['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['AgNhl'],{'isFirstRun':_0x9d5c29,'opencode':!![]});}catch(_0x2cc03c){console['warn'](_0x213a8a[_0x396cda(0x184)],_0x213a8a[_0x396cda(0x172)](_0x2cc03c,Error)?_0x2cc03c[_0x396cda(0x17b)]:_0x2cc03c),_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['AgNhl'],{'isFirstRun':_0x9d5c29,'opencode':!![],'failed':!![]});}}else _0x55998b?.[_0x396cda(0x1a1)](_0x213a8a[_0x396cda(0x1ad)]),await _0x213a8a[_0x396cda(0x173)](ensureClaudeSkills,_0x31228e),_0x55998b?.[_0x396cda(0x16b)](_0x213a8a['AgNhl'],{'isFirstRun':_0x9d5c29});const _0x1f4aaf=findGitRoot();if(_0x1f4aaf){const _0x42954e=_0x213a8a[_0x396cda(0x154)](join,_0x1f4aaf,'.ranger');!existsSync(_0x42954e)&&await mkdir(_0x42954e,{'recursive':!![]});}if(!_0x1546a4&&!_0x4da89d?.[_0x396cda(0x19a)])console['log']('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console[_0x396cda(0x150)]('\x20\x20'+_0x213a8a['stKBU'](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x55998b?.[_0x396cda(0x1a1)](_0x396cda(0x151));const _0x40da5f=await ensureLocalEnv({'url':_0x4da89d?.['url'],'force':_0x4da89d?.['force']},_0x55998b);_0x55998b?.['trackPhaseEnd'](_0x213a8a['NOqhk'],{'isFirstRun':_0x9d5c29,'profileReady':_0x40da5f['ready'],'userSkipped':_0x40da5f[_0x396cda(0x190)]}),_0x40da5f['ready']&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x34fb8f)console[_0x396cda(0x150)](_0x396cda(0x15d)),console[_0x396cda(0x150)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x396cda(0x150)](_0x396cda(0x18b)),console['log'](_0x213a8a[_0x396cda(0x1ab)]);else{const _0x9a79df=_0x213a8a['wfJpi'](bold,'/ranger:enable');console['log'](_0x213a8a[_0x396cda(0x19e)](_0x213a8a[_0x396cda(0x157)](_0x213a8a[_0x396cda(0x16a)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x9a79df+'\x20and\x20prompt\x20the\x20coding',_0x396cda(0x15b)),_0x396cda(0x1aa)),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x1c3f(_0xdd6d2f,_0xe35472){_0xdd6d2f=_0xdd6d2f-0xee;const _0x5a7c57=_0x5a7c();let _0x1c3fd0=_0x5a7c57[_0xdd6d2f];return _0x1c3fd0;}(function(_0xb4798f,_0x3b9a15){const _0x39bace=_0x1c3f,_0x368d66=_0xb4798f();while(!![]){try{const _0x969da3=parseInt(_0x39bace(0x137))/0x1*(-parseInt(_0x39bace(0x11d))/0x2)+-parseInt(_0x39bace(0x11e))/0x3+-parseInt(_0x39bace(0x124))/0x4+-parseInt(_0x39bace(0xf2))/0x5+-parseInt(_0x39bace(0x10b))/0x6*(-parseInt(_0x39bace(0x132))/0x7)+parseInt(_0x39bace(0x12b))/0x8+parseInt(_0x39bace(0x13b))/0x9*(parseInt(_0x39bace(0x120))/0xa);if(_0x969da3===_0x3b9a15)break;else _0x368d66['push'](_0x368d66['shift']());}catch(_0x48d311){_0x368d66['push'](_0x368d66['shift']());}}}(_0x5a7c,0x86921));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x3b1b1f=>'\x1b[1m'+_0x3b1b1f+'\x1b[0m',link=(_0x435b4b,_0xc3e3d2)=>'\x1b]8;;file://'+_0x435b4b+'\x07'+(_0xc3e3d2||_0x435b4b)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x41cdaf=_0x1c3f,_0x3616a7={'MGzDP':function(_0x4248cc,_0xd8bc0e){return _0x4248cc(_0xd8bc0e);},'MMrvG':'not_configured','gXZla':'string','jVxqu':function(_0x25ee42,_0x1a007d,_0x159fa3,_0x44211d){return _0x25ee42(_0x1a007d,_0x159fa3,_0x44211d);},'mMvDh':_0x41cdaf(0x129),'SLVSt':_0x41cdaf(0xee)};return new Promise(_0x15a62c=>{const _0x159e2d=_0x41cdaf,_0x5087fb={'sadhO':_0x3616a7['gXZla'],'XgCbw':_0x159e2d(0xf3)},_0x3dc739=_0x3616a7[_0x159e2d(0x119)](spawn,'opencode',[_0x159e2d(0x131),_0x159e2d(0xfb)],{'stdio':[_0x159e2d(0x11b),'pipe',_0x159e2d(0x145)]});let _0x4ddee9='';_0x3dc739[_0x159e2d(0x141)]?.['on']('data',_0x42a621=>{_0x4ddee9+=_0x42a621['toString']();}),_0x3dc739['stderr']?.['on']('data',_0x4ff21f=>{_0x4ddee9+=_0x4ff21f['toString']();}),_0x3dc739['on'](_0x3616a7['mMvDh'],()=>{_0x15a62c({'status':'not_installed'});}),_0x3dc739['on'](_0x3616a7['SLVSt'],_0x22ef7d=>{const _0x3cf469=_0x159e2d;if(_0x22ef7d!==0x0){_0x3616a7['MGzDP'](_0x15a62c,{'status':_0x3cf469(0x10d)});return;}const _0x2a1730=_0x4ddee9[_0x3cf469(0x148)]();let _0x3f7c01=null;if(_0x2a1730)try{_0x3f7c01=JSON[_0x3cf469(0x146)](_0x2a1730);}catch{const _0x2fdf21=_0x2a1730['match'](/\{[\s\S]*\}$/);if(_0x2fdf21)try{_0x3f7c01=JSON['parse'](_0x2fdf21[0x0]);}catch{_0x3f7c01=null;}}const _0x52ad59=Array[_0x3cf469(0x13f)](_0x3f7c01?.[_0x3cf469(0xff)])?_0x3f7c01?.[_0x3cf469(0xff)]:[],_0x45d63c=_0x52ad59[_0x3cf469(0x123)](_0x150020=>{const _0x1a06f2=_0x3cf469;if(typeof _0x150020!==_0x5087fb[_0x1a06f2(0xfa)])return![];return _0x150020[_0x1a06f2(0xf9)](_0x5087fb[_0x1a06f2(0x138)])||_0x150020[_0x1a06f2(0xf9)]('opencode-plugin');});if(_0x45d63c){_0x3616a7[_0x3cf469(0x10a)](_0x15a62c,{'status':_0x3cf469(0x140),'details':_0x52ad59['length']>0x0?_0x52ad59[_0x3cf469(0x13d)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x52ad59[_0x3cf469(0x13d)]>0x0){_0x3616a7['MGzDP'](_0x15a62c,{'status':_0x3616a7['MMrvG'],'details':_0x52ad59[_0x3cf469(0x13d)]+'\x20plugin(s)\x20configured'});return;}_0x15a62c({'status':'not_configured'});});});}async function getSkillsFromDir(_0x2b69ee,_0x35d019){const _0xeefeca=_0x1c3f,_0x11a614={'ZdpBu':function(_0x9b2f75,_0xbe848e,_0x53717e){return _0x9b2f75(_0xbe848e,_0x53717e);},'aKIMe':'utf-8'};if(!existsSync(_0x2b69ee))return[];const _0x352cfd=[];try{const _0x208f79=await _0x11a614['ZdpBu'](readdir,_0x2b69ee,{'withFileTypes':!![]});for(const _0x113899 of _0x208f79){if(_0x113899[_0xeefeca(0x109)]()){const _0x4fabb6=join(_0x2b69ee,_0x113899['name'],'SKILL.md');if(existsSync(_0x4fabb6)){let _0x23c726=_0x113899['name'];try{const _0x47bb07=await readFile(_0x4fabb6,_0x11a614['aKIMe']),_0x5465c6=_0x47bb07[_0xeefeca(0x11f)](/name:\s*(.+)/);_0x5465c6&&(_0x23c726=_0x5465c6[0x1][_0xeefeca(0x148)]());}catch{}_0x352cfd[_0xeefeca(0x125)]({'name':_0x113899['name'],'displayName':_0x23c726,'path':_0x4fabb6,'level':_0x35d019});}}}}catch{return[];}return _0x352cfd;}async function getInstalledSkills(){const _0xf122d6=_0x1c3f,_0x5b2f59={'JmDwb':_0xf122d6(0x11c),'sxcgA':function(_0x1761d2,_0x53b38f,_0x3d0d0c){return _0x1761d2(_0x53b38f,_0x3d0d0c);},'bFdZJ':function(_0x135c31){return _0x135c31();},'vhkFv':_0xf122d6(0x143)},[_0x406057,_0x20e85c]=await Promise[_0xf122d6(0x12d)]([getSkillsFromDir(getProjectSkillsDir(),_0x5b2f59[_0xf122d6(0x103)]),_0x5b2f59['sxcgA'](getSkillsFromDir,_0x5b2f59['bFdZJ'](getUserSkillsDir),_0x5b2f59[_0xf122d6(0x135)])]);return{'project':_0x406057,'user':_0x20e85c};}async function getEnvironments(){const _0x5a46ed=_0x1c3f,_0x20a4e4={'Rnkwm':_0x5a46ed(0x127),'wnzTQ':_0x5a46ed(0x12e),'DQlKC':function(_0xf4eac8,_0x54fe70){return _0xf4eac8(_0x54fe70);},'OKLUX':_0x5a46ed(0x112),'zSXZP':function(_0x264496,_0x2ded91){return _0x264496(_0x2ded91);},'vMCdg':function(_0x2a82d3){return _0x2a82d3();}},{envNames:_0x17e993,activeEnv:_0x34c1f5}=await _0x20a4e4[_0x5a46ed(0x113)](getEnvNames),_0x1e5342=_0x20a4e4[_0x5a46ed(0x113)](getRangerDir);if(!existsSync(_0x1e5342))return{'envs':[],'activeEnv':null};const _0x2f497=_0x17e993['map'](_0x204f35=>{const _0x5c723c=_0x5a46ed,_0x58430c=getEnvDir(_0x204f35),_0xb4ff6f=join(_0x58430c,'settings.json'),_0x259ed1=join(_0x58430c,_0x20a4e4[_0x5c723c(0x102)]),_0x1b1653=join(_0x58430c,_0x20a4e4['wnzTQ']);return{'name':_0x204f35,'settingsPath':_0x20a4e4[_0x5c723c(0x110)](existsSync,_0xb4ff6f)?_0xb4ff6f:_0x20a4e4['OKLUX'],'hasPlaintextAuth':_0x20a4e4[_0x5c723c(0x110)](existsSync,_0x259ed1),'hasEncryptedAuth':_0x20a4e4['zSXZP'](existsSync,_0x1b1653),'isActive':_0x204f35===_0x34c1f5};});return{'envs':_0x2f497,'activeEnv':_0x34c1f5};}export async function status(){const _0x3b51a4=_0x1c3f,_0x3a79c5={'fJEzq':'\x0a📊\x20Ranger\x20Status\x0a','VmgAo':function(_0x4a32ed,_0x41cc00){return _0x4a32ed(_0x41cc00);},'ZmcRv':function(_0x314aba,_0x3ef941){return _0x314aba(_0x3ef941);},'kbgnN':function(_0x3fa034,_0x559f30){return _0x3fa034(_0x559f30);},'wazuh':function(_0x242812){return _0x242812();},'MpDQz':function(_0x2c4525){return _0x2c4525();},'sPDWf':_0x3b51a4(0xfc),'byNph':function(_0x445943,_0x5a56ce){return _0x445943===_0x5a56ce;},'EzUUA':_0x3b51a4(0x107),'yxUIt':'disabled','AxlIz':_0x3b51a4(0x139),'thTBn':_0x3b51a4(0xf1),'dZrrV':function(_0x162c9b,_0x6065df){return _0x162c9b(_0x6065df);},'XAouv':function(_0x2a38c6,_0x380fb0,_0x28c2b3){return _0x2a38c6(_0x380fb0,_0x28c2b3);},'ZGBRv':'\x20\x20User-level:','pURzN':_0x3b51a4(0x118),'TyLCb':'No\x20profiles\x20configured','QIUrl':'\x20(active)','aAKOj':'encrypted','HLMDj':'plaintext','krUXN':function(_0x2ae4ef,_0x2f80b1){return _0x2ae4ef!==_0x2f80b1;},'rpxnl':function(_0x23e4e9,_0x2a2c79,_0x59515f){return _0x23e4e9(_0x2a2c79,_0x59515f);},'rRePJ':function(_0x45eedb,_0x55e811){return _0x45eedb(_0x55e811);}};console['log'](_0x3a79c5[_0x3b51a4(0x128)]);const _0x14a861=process[_0x3b51a4(0x12c)](),_0x204084=getRangerDir();if(!_0x3a79c5[_0x3b51a4(0x12a)](existsSync,_0x204084)){console['log'](_0x3b51a4(0x126)+link(_0x14a861,_0x3a79c5[_0x3b51a4(0x121)](bold,_0x3a79c5[_0x3b51a4(0x122)](basename,_0x14a861)))),console['log'](_0x3b51a4(0xfe)),console['log'](_0x3b51a4(0x106));return;}console[_0x3b51a4(0xfd)](_0x3b51a4(0x126)+link(_0x14a861,_0x3a79c5['kbgnN'](bold,basename(_0x14a861))));const _0x4e8848=getCurrentVersion(),_0x394776=getLatestVersion();if(_0x394776&&_0x394776!==_0x4e8848)console[_0x3b51a4(0xfd)]('Version:\x20'+_0x4e8848+_0x3b51a4(0x105)+_0x394776+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x394776?console['log'](_0x3b51a4(0xf4)+_0x4e8848+_0x3b51a4(0x116)):console['log'](_0x3b51a4(0xf4)+_0x4e8848);const _0x156952=await _0x3a79c5['wazuh'](getToken);if(_0x156952){const _0x37236c=await _0x3a79c5[_0x3b51a4(0x121)](getCurrentUser,_0x156952);_0x37236c[_0x3b51a4(0x13c)]?console['log'](_0x3b51a4(0x130)+_0x3a79c5[_0x3b51a4(0x12a)](bold,_0x37236c[_0x3b51a4(0x143)][_0x3b51a4(0x142)])):(console[_0x3b51a4(0xfd)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x3b51a4(0x115)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console['log']('API\x20Environment:\x20'+_0x3a79c5['MpDQz'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console[_0x3b51a4(0xfd)](_0x3a79c5[_0x3b51a4(0xf5)]);const _0x1f395e=await getOpencodePluginStatus();if(_0x3a79c5['byNph'](_0x1f395e['status'],'configured'))console['log']('\x20\x20'+bold('@ranger-testing/opencode-plugin')+_0x3b51a4(0x133)),_0x1f395e['details']&&console['log']('\x20\x20'+_0x1f395e[_0x3b51a4(0x104)]);else _0x1f395e['status']===_0x3b51a4(0x144)?(console[_0x3b51a4(0xfd)](_0x3a79c5[_0x3b51a4(0xf6)]),_0x1f395e[_0x3b51a4(0x104)]&&console['log']('\x20\x20'+_0x1f395e['details']),console[_0x3b51a4(0xfd)](_0x3b51a4(0x134))):console[_0x3b51a4(0xfd)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x3a4f8c=await getPluginInfo('ranger@trailhead');if(_0x3a4f8c){const _0x113aff=_0x3a4f8c[_0x3b51a4(0xef)]||_0x3b51a4(0x13a),_0x2e8d50=_0x3a4f8c['enabled']?'enabled':_0x3a79c5[_0x3b51a4(0x12f)];console['log']('\x20\x20'+_0x3a79c5['kbgnN'](bold,'ranger@trailhead')+_0x3b51a4(0x13e)+_0x113aff+',\x20'+_0x2e8d50+')');}else console['log'](_0x3a79c5['AxlIz']),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log']('\x0a---\x20Skills\x20---');const {project:_0x4c0fbf,user:_0x5f35c4}=await _0x3a79c5['wazuh'](getInstalledSkills),_0x1eac89=_0x4c0fbf['filter'](_0xf4d67a=>RANGER_MANAGED_SKILLS['includes'](_0xf4d67a['name'])),_0x5974f3=_0x5f35c4[_0x3b51a4(0x11a)](_0x38abec=>RANGER_MANAGED_SKILLS[_0x3b51a4(0xf9)](_0x38abec[_0x3b51a4(0x108)])),_0x34e2db=_0x1eac89['length']+_0x5974f3['length'];if(_0x3a79c5['byNph'](_0x34e2db,0x0))console[_0x3b51a4(0xfd)](_0x3a79c5[_0x3b51a4(0x136)]),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x1eac89['length']>0x0){console['log'](_0x3b51a4(0xf8));for(const _0x2c9937 of _0x1eac89){console[_0x3b51a4(0xfd)]('\x20\x20\x20\x20'+_0x3a79c5['dZrrV'](bold,_0x2c9937[_0x3b51a4(0xf0)])+':\x20'+_0x3a79c5[_0x3b51a4(0x147)](link,_0x2c9937['path'],basename(_0x2c9937[_0x3b51a4(0x100)])));}}if(_0x5974f3['length']>0x0){console[_0x3b51a4(0xfd)](_0x3a79c5[_0x3b51a4(0x10e)]);for(const _0x51ba91 of _0x5974f3){console['log']('\x20\x20\x20\x20'+bold(_0x51ba91['displayName'])+':\x20'+_0x3a79c5['XAouv'](link,_0x51ba91['path'],basename(_0x51ba91[_0x3b51a4(0x100)])));}}}console[_0x3b51a4(0xfd)](_0x3a79c5['pURzN']);const {envs:_0x46910b,activeEnv:_0x425f64}=await getEnvironments();if(_0x3a79c5['byNph'](_0x46910b['length'],0x0))console['log'](_0x3a79c5['TyLCb']),console[_0x3b51a4(0xfd)](_0x3b51a4(0x114));else{for(const _0x4b647b of _0x46910b){const _0x447ec9=_0x4b647b['isActive']?_0x3a79c5[_0x3b51a4(0x117)]:'',_0x3ab18b=_0x4b647b['hasEncryptedAuth']?_0x3a79c5['aAKOj']:_0x4b647b['hasPlaintextAuth']?_0x3a79c5['HLMDj']:'none';console['log']('\x20\x20'+bold(_0x4b647b[_0x3b51a4(0x108)])+_0x447ec9),console['log'](_0x3b51a4(0xf7)+_0x3ab18b),_0x3a79c5[_0x3b51a4(0x101)](_0x4b647b['settingsPath'],'(not\x20found)')&&console[_0x3b51a4(0xfd)]('\x20\x20\x20\x20Settings:\x20'+_0x3a79c5[_0x3b51a4(0x111)](link,_0x4b647b[_0x3b51a4(0x10c)],_0x3a79c5['rRePJ'](basename,_0x4b647b['settingsPath'])));}!_0x425f64&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x46910b[_0x3b51a4(0x10f)](_0x4f95e9=>_0x4f95e9[_0x3b51a4(0x108)])['join'](',\x20')+')'));}console['log']('');}function _0x5a7c(){const _0x33aa9b=['\x0a---\x20OpenCode\x20Plugin\x20---','log','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','plugin','path','krUXN','Rnkwm','JmDwb','details','\x20(latest:\x20','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','\x20\x20Not\x20configured','name','isDirectory','MGzDP','137892gfljGp','settingsPath','not_installed','ZGBRv','map','DQlKC','rpxnl','(not\x20found)','vMCdg','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20(up\x20to\x20date)','QIUrl','\x0a---\x20Profiles\x20---','jVxqu','filter','ignore','project','12WUxZcz','2973360uvUoFH','match','17488840PoTUQg','ZmcRv','kbgnN','some','4033888njHtHw','push','Root:\x20','auth.json','fJEzq','error','VmgAo','2110696rWEteF','cwd','all','auth.json.enc','yxUIt','Organization:\x20','debug','308qLAzdO',':\x20configured','\x20\x20Run:\x20ranger\x20setup\x20--opencode','vhkFv','thTBn','47692ZcAqaE','XgCbw','\x20\x20Not\x20installed','unknown','9JaqTkr','success','length',':\x20installed\x20(','isArray','configured','stdout','organizationName','user','not_configured','pipe','parse','XAouv','trim','close','scope','displayName','No\x20skills\x20installed','934920doPDMy','@ranger-testing/opencode-plugin','Version:\x20','sPDWf','EzUUA','\x20\x20\x20\x20Auth:\x20','\x20\x20Project-level:','includes','sadhO','config'];_0x5a7c=function(){return _0x33aa9b;};return _0x5a7c();}
|
|
1
|
+
(function(_0x34bf06,_0xfa58fa){const _0x53931e=_0x4822,_0x7bc515=_0x34bf06();while(!![]){try{const _0x31bf08=parseInt(_0x53931e(0x12f))/0x1+-parseInt(_0x53931e(0x112))/0x2*(-parseInt(_0x53931e(0x154))/0x3)+-parseInt(_0x53931e(0x104))/0x4+-parseInt(_0x53931e(0x127))/0x5*(-parseInt(_0x53931e(0x113))/0x6)+parseInt(_0x53931e(0x121))/0x7+parseInt(_0x53931e(0x132))/0x8+-parseInt(_0x53931e(0x138))/0x9;if(_0x31bf08===_0xfa58fa)break;else _0x7bc515['push'](_0x7bc515['shift']());}catch(_0x7be1c5){_0x7bc515['push'](_0x7bc515['shift']());}}}(_0x5d9f,0x6e38a));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';function _0x5d9f(){const _0x1d7407=['includes','(not\x20found)','\x20\x20Project-level:','auth.json','data','dnXBZ','isDirectory','lIrOU','enabled','Root:\x20','uoyuN','\x20plugin(s)\x20configured','kkecZ','GPMzA','\x20\x20Not\x20installed','plaintext','some','36PkOCPJ','UKEXF','details','\x20\x20Run:\x20ranger\x20update','oPDhY','configured','fiTgX','none','ZnrBQ','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','not_installed','status','\x20\x20Run:\x20ranger\x20setup\x20[token]','log','trim','@ranger-testing/opencode-plugin','\x20\x20User-level:','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','\x20\x20Run:\x20ranger\x20setup\x20--opencode','2114216poSazL','settings.json','isActive','UPQaj',':\x20installed\x20(','ECnVd','AmvjS','ignore','encrypted','pipe','YhTOL','YNBSb','pSmLd','No\x20skills\x20installed','137114tTzqOv','78aMspwK','plugin','hasEncryptedAuth','cgjBJ','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','lzPBa','EnnLM','\x20\x20\x20\x20','config','Tagkx','path','KPNeu','\x0a📊\x20Ranger\x20Status\x0a','Version:\x20','6041938tEGMSj','FXVkd','match','ftnFX','API\x20Environment:\x20','gpHuD','290165WYHSDY','\x20\x20Not\x20configured','SKILL.md','DmsPw','aqaFp','settingsPath','project','TZTMO','791353eBPIMf','yUOdC','length','3675752XLmTjN','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','iTdPn','not_configured','organizationName','name','24399441bSMEFD','\x0a---\x20Skills\x20---','grBnr','user','ONkmk','push','oGOMP','success','parse','toString','ranger@trailhead'];_0x5d9f=function(){return _0x1d7407;};return _0x5d9f();}function _0x4822(_0x300a45,_0x3609b5){_0x300a45=_0x300a45-0xf7;const _0x5d9f01=_0x5d9f();let _0x48221d=_0x5d9f01[_0x300a45];return _0x48221d;}const bold=_0xe26369=>'\x1b[1m'+_0xe26369+'\x1b[0m',link=(_0x3eaa93,_0x5d9ce1)=>'\x1b]8;;file://'+_0x3eaa93+'\x07'+(_0x5d9ce1||_0x3eaa93)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x4925e4=_0x4822,_0x5de4c5={'EQVoV':function(_0x54fb49,_0x407d98){return _0x54fb49!==_0x407d98;},'EnnLM':function(_0x5974fc,_0x2403ef){return _0x5974fc(_0x2403ef);},'cgjBJ':function(_0x2050cf,_0x1c7c66){return _0x2050cf>_0x1c7c66;},'kkecZ':function(_0x44a492,_0xb8ceb8){return _0x44a492(_0xb8ceb8);},'fiTgX':'not_configured','wdBPW':'opencode','LHnbh':_0x4925e4(0x10d),'AmvjS':_0x4925e4(0x147),'dUMMm':'close'};return new Promise(_0x24d58b=>{const _0x3d7237=_0x4925e4,_0x21c84a={'gpHuD':function(_0x12aa12,_0x36cfc0){return _0x12aa12!==_0x36cfc0;},'UPQaj':'@ranger-testing/opencode-plugin','DvqwN':'opencode-plugin'},_0x32d7c2=spawn(_0x5de4c5['wdBPW'],['debug',_0x3d7237(0x11b)],{'stdio':[_0x3d7237(0x10b),_0x5de4c5['LHnbh'],_0x3d7237(0x10d)]});let _0x2a5cdb='';_0x32d7c2['stdout']?.['on'](_0x5de4c5[_0x3d7237(0x10a)],_0x2ea911=>{_0x2a5cdb+=_0x2ea911['toString']();}),_0x32d7c2['stderr']?.['on']('data',_0x157ac5=>{const _0x168840=_0x3d7237;_0x2a5cdb+=_0x157ac5[_0x168840(0x141)]();}),_0x32d7c2['on']('error',()=>{const _0x428136=_0x3d7237;_0x24d58b({'status':_0x428136(0xfb)});}),_0x32d7c2['on'](_0x5de4c5['dUMMm'],_0x3dd8cb=>{const _0x88a01=_0x3d7237;if(_0x5de4c5['EQVoV'](_0x3dd8cb,0x0)){_0x5de4c5['EnnLM'](_0x24d58b,{'status':'not_installed'});return;}const _0x3f84e9=_0x2a5cdb[_0x88a01(0xff)]();let _0x32d568=null;if(_0x3f84e9)try{_0x32d568=JSON['parse'](_0x3f84e9);}catch{const _0x4303b3=_0x3f84e9['match'](/\{[\s\S]*\}$/);if(_0x4303b3)try{_0x32d568=JSON[_0x88a01(0x140)](_0x4303b3[0x0]);}catch{_0x32d568=null;}}const _0x45dc43=Array['isArray'](_0x32d568?.[_0x88a01(0x114)])?_0x32d568?.['plugin']:[],_0x31ae29=_0x45dc43[_0x88a01(0x153)](_0x33a188=>{const _0x1118ac=_0x88a01;if(_0x21c84a[_0x1118ac(0x126)](typeof _0x33a188,'string'))return![];return _0x33a188[_0x1118ac(0x143)](_0x21c84a[_0x1118ac(0x107)])||_0x33a188['includes'](_0x21c84a['DvqwN']);});if(_0x31ae29){_0x5de4c5[_0x88a01(0x119)](_0x24d58b,{'status':_0x88a01(0x159),'details':_0x5de4c5[_0x88a01(0x116)](_0x45dc43['length'],0x0)?_0x45dc43[_0x88a01(0x131)]+_0x88a01(0x14e):undefined});return;}if(_0x45dc43['length']>0x0){_0x24d58b({'status':_0x88a01(0x135),'details':_0x45dc43[_0x88a01(0x131)]+'\x20plugin(s)\x20configured'});return;}_0x5de4c5[_0x88a01(0x14f)](_0x24d58b,{'status':_0x5de4c5[_0x88a01(0xf7)]});});});}async function getSkillsFromDir(_0x2db38d,_0x3d5652){const _0x43f5c0=_0x4822,_0x2d15db={'ZnrBQ':function(_0x39153e,_0x2698f7){return _0x39153e(_0x2698f7);}};if(!_0x2d15db[_0x43f5c0(0xf9)](existsSync,_0x2db38d))return[];const _0x285828=[];try{const _0x267c5c=await readdir(_0x2db38d,{'withFileTypes':!![]});for(const _0x3efed2 of _0x267c5c){if(_0x3efed2[_0x43f5c0(0x149)]()){const _0x40d5ee=join(_0x2db38d,_0x3efed2[_0x43f5c0(0x137)],_0x43f5c0(0x129));if(existsSync(_0x40d5ee)){let _0x44e2b1=_0x3efed2[_0x43f5c0(0x137)];try{const _0x4ee5e4=await readFile(_0x40d5ee,'utf-8'),_0x11a51e=_0x4ee5e4[_0x43f5c0(0x123)](/name:\s*(.+)/);_0x11a51e&&(_0x44e2b1=_0x11a51e[0x1][_0x43f5c0(0xff)]());}catch{}_0x285828[_0x43f5c0(0x13d)]({'name':_0x3efed2[_0x43f5c0(0x137)],'displayName':_0x44e2b1,'path':_0x40d5ee,'level':_0x3d5652});}}}}catch{return[];}return _0x285828;}async function getInstalledSkills(){const _0x2acfb0=_0x4822,_0x5ab273={'lzPBa':function(_0x1ff9b6,_0x536de4,_0x254d27){return _0x1ff9b6(_0x536de4,_0x254d27);},'pSmLd':'user'},[_0xfb38bf,_0x3dd441]=await Promise['all']([getSkillsFromDir(getProjectSkillsDir(),_0x2acfb0(0x12d)),_0x5ab273[_0x2acfb0(0x118)](getSkillsFromDir,getUserSkillsDir(),_0x5ab273[_0x2acfb0(0x110)])]);return{'project':_0xfb38bf,'user':_0x3dd441};}async function getEnvironments(){const _0x5441fd={'uoyuN':function(_0x43523b,_0x465886){return _0x43523b(_0x465886);},'yUOdC':function(_0x1e3ebf,_0x14ffdf,_0x5d5a82){return _0x1e3ebf(_0x14ffdf,_0x5d5a82);},'IAqxj':function(_0xb0552b,_0x47ea60,_0x3e3c2f){return _0xb0552b(_0x47ea60,_0x3e3c2f);},'lIrOU':function(_0x46abea,_0x444e08){return _0x46abea===_0x444e08;}},{envNames:_0x53b3e0,activeEnv:_0x2c2548}=await getEnvNames(),_0x3a68a2=getRangerDir();if(!existsSync(_0x3a68a2))return{'envs':[],'activeEnv':null};const _0x375b4e=_0x53b3e0['map'](_0x407d62=>{const _0x4c446a=_0x4822,_0x5dad39=_0x5441fd[_0x4c446a(0x14d)](getEnvDir,_0x407d62),_0x41dd6d=_0x5441fd['yUOdC'](join,_0x5dad39,_0x4c446a(0x105)),_0x2be1ba=_0x5441fd[_0x4c446a(0x130)](join,_0x5dad39,_0x4c446a(0x146)),_0x5564cb=_0x5441fd['IAqxj'](join,_0x5dad39,'auth.json.enc');return{'name':_0x407d62,'settingsPath':existsSync(_0x41dd6d)?_0x41dd6d:_0x4c446a(0x144),'hasPlaintextAuth':_0x5441fd[_0x4c446a(0x14d)](existsSync,_0x2be1ba),'hasEncryptedAuth':existsSync(_0x5564cb),'isActive':_0x5441fd[_0x4c446a(0x14a)](_0x407d62,_0x2c2548)};});return{'envs':_0x375b4e,'activeEnv':_0x2c2548};}export async function status(){const _0x5edada=_0x4822,_0x564f01={'iTdPn':_0x5edada(0x11f),'GPMzA':function(_0x17a877){return _0x17a877();},'Tagkx':function(_0x308aeb,_0x3cfde5){return _0x308aeb(_0x3cfde5);},'UtKqV':function(_0x12aaf8,_0x2a9d8c,_0x47e396){return _0x12aaf8(_0x2a9d8c,_0x47e396);},'YhTOL':function(_0x246b10,_0x5ef924){return _0x246b10!==_0x5ef924;},'KPNeu':function(_0x265612,_0x367c78){return _0x265612(_0x367c78);},'zYqjT':function(_0x499e79){return _0x499e79();},'bnNCv':'\x0a---\x20OpenCode\x20Plugin\x20---','ECnVd':function(_0x400fb0){return _0x400fb0();},'YsiKz':_0x5edada(0x100),'FXVkd':function(_0x522970,_0x55470c){return _0x522970===_0x55470c;},'ggHPT':'not_configured','BClZF':_0x5edada(0x103),'TZTMO':'unknown','DmsPw':_0x5edada(0x14b),'oGOMP':'disabled','UKEXF':_0x5edada(0x142),'EQDUM':_0x5edada(0x151),'ftnFX':_0x5edada(0x111),'bLTTG':_0x5edada(0x145),'grBnr':function(_0x3833c3,_0x487538,_0x12039a){return _0x3833c3(_0x487538,_0x12039a);},'aqaFp':function(_0xf501dd,_0xe35066){return _0xf501dd(_0xe35066);},'oPDhY':function(_0x5e6dd4,_0x4ecbc3){return _0x5e6dd4(_0x4ecbc3);},'dnXBZ':function(_0x27a86f){return _0x27a86f();},'utRar':'No\x20profiles\x20configured','YNBSb':_0x5edada(0x10c),'CegDO':_0x5edada(0x144),'ONkmk':function(_0x161760,_0x48c73f){return _0x161760(_0x48c73f);}};console['log'](_0x564f01[_0x5edada(0x134)]);const _0xe367b3=process['cwd'](),_0x20da9f=_0x564f01['GPMzA'](getRangerDir);if(!_0x564f01[_0x5edada(0x11c)](existsSync,_0x20da9f)){console['log']('Root:\x20'+_0x564f01['UtKqV'](link,_0xe367b3,_0x564f01['Tagkx'](bold,basename(_0xe367b3)))),console[_0x5edada(0xfe)](_0x5edada(0x102)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x5edada(0x14c)+link(_0xe367b3,bold(basename(_0xe367b3))));const _0x498154=_0x564f01[_0x5edada(0x150)](getCurrentVersion),_0x255710=getLatestVersion();if(_0x255710&&_0x564f01[_0x5edada(0x10e)](_0x255710,_0x498154))console['log']('Version:\x20'+_0x498154+'\x20(latest:\x20'+_0x255710+')'),console['log'](_0x5edada(0x157));else _0x255710?console[_0x5edada(0xfe)]('Version:\x20'+_0x498154+'\x20(up\x20to\x20date)'):console[_0x5edada(0xfe)](_0x5edada(0x120)+_0x498154);const _0x36f6a5=await getToken();if(_0x36f6a5){const _0x3b450f=await _0x564f01['KPNeu'](getCurrentUser,_0x36f6a5);_0x3b450f[_0x5edada(0x13f)]?console['log']('Organization:\x20'+bold(_0x3b450f[_0x5edada(0x13b)][_0x5edada(0x136)])):(console[_0x5edada(0xfe)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log'](_0x5edada(0xfd)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console[_0x5edada(0xfe)](_0x5edada(0xfd));process['env']['DEBUG']&&(console['log'](_0x5edada(0x125)+_0x564f01['zYqjT'](getCurrentEnvironment)),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console['log'](_0x564f01['bnNCv']);const _0x18f96f=await _0x564f01[_0x5edada(0x109)](getOpencodePluginStatus);if(_0x18f96f['status']===_0x5edada(0x159))console['log']('\x20\x20'+bold(_0x564f01['YsiKz'])+':\x20configured'),_0x18f96f['details']&&console[_0x5edada(0xfe)]('\x20\x20'+_0x18f96f[_0x5edada(0x156)]);else _0x564f01[_0x5edada(0x122)](_0x18f96f[_0x5edada(0xfc)],_0x564f01['ggHPT'])?(console['log'](_0x5edada(0x128)),_0x18f96f[_0x5edada(0x156)]&&console[_0x5edada(0xfe)]('\x20\x20'+_0x18f96f['details']),console[_0x5edada(0xfe)](_0x564f01['BClZF'])):console['log'](_0x5edada(0xfa));console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x1dabe6=await _0x564f01[_0x5edada(0x11e)](getPluginInfo,'ranger@trailhead');if(_0x1dabe6){const _0x111f77=_0x1dabe6['scope']||_0x564f01[_0x5edada(0x12e)],_0x46ebc7=_0x1dabe6[_0x5edada(0x14b)]?_0x564f01[_0x5edada(0x12a)]:_0x564f01[_0x5edada(0x13e)];console['log']('\x20\x20'+_0x564f01['Tagkx'](bold,_0x564f01[_0x5edada(0x155)])+_0x5edada(0x108)+_0x111f77+',\x20'+_0x46ebc7+')');}else console[_0x5edada(0xfe)](_0x564f01['EQDUM']),console[_0x5edada(0xfe)](_0x5edada(0x133));console[_0x5edada(0xfe)](_0x5edada(0x139));const {project:_0x173b5b,user:_0x32d2b2}=await _0x564f01['ECnVd'](getInstalledSkills),_0x493a43=_0x173b5b['filter'](_0x5b255e=>RANGER_MANAGED_SKILLS[_0x5edada(0x143)](_0x5b255e['name'])),_0x30fc19=_0x32d2b2['filter'](_0x1dc341=>RANGER_MANAGED_SKILLS[_0x5edada(0x143)](_0x1dc341['name'])),_0x19e1dc=_0x493a43[_0x5edada(0x131)]+_0x30fc19['length'];if(_0x19e1dc===0x0)console[_0x5edada(0xfe)](_0x564f01[_0x5edada(0x124)]),console[_0x5edada(0xfe)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x493a43[_0x5edada(0x131)]>0x0){console['log'](_0x564f01['bLTTG']);for(const _0xbeb1d6 of _0x493a43){console[_0x5edada(0xfe)](_0x5edada(0x11a)+bold(_0xbeb1d6['displayName'])+':\x20'+_0x564f01[_0x5edada(0x13a)](link,_0xbeb1d6[_0x5edada(0x11d)],_0x564f01[_0x5edada(0x12b)](basename,_0xbeb1d6['path'])));}}if(_0x30fc19[_0x5edada(0x131)]>0x0){console['log'](_0x5edada(0x101));for(const _0x492756 of _0x30fc19){console['log']('\x20\x20\x20\x20'+bold(_0x492756['displayName'])+':\x20'+link(_0x492756[_0x5edada(0x11d)],_0x564f01[_0x5edada(0x158)](basename,_0x492756['path'])));}}}console['log']('\x0a---\x20Profiles\x20---');const {envs:_0x4440a4,activeEnv:_0x2b04e7}=await _0x564f01[_0x5edada(0x148)](getEnvironments);if(_0x4440a4['length']===0x0)console[_0x5edada(0xfe)](_0x564f01['utRar']),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0xe2d1a7 of _0x4440a4){const _0x416b60=_0xe2d1a7[_0x5edada(0x106)]?'\x20(active)':'',_0x3f631e=_0xe2d1a7[_0x5edada(0x115)]?_0x564f01[_0x5edada(0x10f)]:_0xe2d1a7['hasPlaintextAuth']?_0x5edada(0x152):_0x5edada(0xf8);console['log']('\x20\x20'+bold(_0xe2d1a7[_0x5edada(0x137)])+_0x416b60),console[_0x5edada(0xfe)]('\x20\x20\x20\x20Auth:\x20'+_0x3f631e),_0xe2d1a7['settingsPath']!==_0x564f01['CegDO']&&console['log']('\x20\x20\x20\x20Settings:\x20'+_0x564f01['grBnr'](link,_0xe2d1a7['settingsPath'],_0x564f01[_0x5edada(0x13c)](basename,_0xe2d1a7[_0x5edada(0x12c)])));}!_0x2b04e7&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x5edada(0x117)+_0x4440a4['map'](_0x3bf52e=>_0x3bf52e['name'])['join'](',\x20')+')'));}console['log']('');}
|
package/build/commands/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x52ca44,_0x3cf5d5){const _0x452a3b=_0x1773,_0x21f676=_0x52ca44();while(!![]){try{const _0x5b44d6=-parseInt(_0x452a3b(0xc1))/0x1*(parseInt(_0x452a3b(0xec))/0x2)+parseInt(_0x452a3b(0xe7))/0x3+parseInt(_0x452a3b(0xb3))/0x4*(parseInt(_0x452a3b(0xd4))/0x5)+parseInt(_0x452a3b(0xb4))/0x6+-parseInt(_0x452a3b(0xc6))/0x7*(parseInt(_0x452a3b(0xca))/0x8)+parseInt(_0x452a3b(0xd0))/0x9+-parseInt(_0x452a3b(0xd7))/0xa;if(_0x5b44d6===_0x3cf5d5)break;else _0x21f676['push'](_0x21f676['shift']());}catch(_0x4726f4){_0x21f676['push'](_0x21f676['shift']());}}}(_0xba67,0x78f13));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';import{getRangerDir}from'./utils/rangerRoot.js';import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x5653e7=_0x1773,_0x7b25bc={'lFdwh':function(_0x54ce99,_0x2ff208){return _0x54ce99(_0x2ff208);},'PQoiZ':function(_0x1e844b,_0x3172ae){return _0x1e844b===_0x3172ae;},'GahgV':function(_0x3f646a,_0x162a1d,_0x342797,_0x195dac){return _0x3f646a(_0x162a1d,_0x342797,_0x195dac);},'BxrVb':_0x5653e7(0xe9),'AfbXJ':'inherit'};return new Promise(_0x1bd47e=>{const _0x4822cd=_0x5653e7;console['log']('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x183cc8=_0x7b25bc['GahgV'](spawn,'npm',[_0x7b25bc[_0x4822cd(0xc0)],'-g',PACKAGE_NAME+_0x4822cd(0xe0)],{'stdio':_0x7b25bc[_0x4822cd(0xcb)],'shell':process[_0x4822cd(0xb0)]===_0x4822cd(0xba)});_0x183cc8['on']('close',_0x2702a1=>{_0x7b25bc['lFdwh'](_0x1bd47e,_0x7b25bc['PQoiZ'](_0x2702a1,0x0));}),_0x183cc8['on']('error',()=>{_0x1bd47e(![]);});});}async function updateClaudeMarketplace(){const _0x11347b=_0x1773,_0x5a625b={'vMJBk':function(_0x4c43c1,_0x3ab966,_0x35b30c,_0x15db46){return _0x4c43c1(_0x3ab966,_0x35b30c,_0x15db46);},'jYwfF':_0x11347b(0xc5),'OhSlw':'plugin','ZxdDE':_0x11347b(0xbb),'UOHPs':'update','iMchv':'pipe','voSrO':_0x11347b(0xba),'iPFGe':_0x11347b(0xcc)};return new Promise(_0x2c168d=>{const _0x59bc19=_0x11347b,_0x5286d2=_0x5a625b['vMJBk'](spawn,_0x5a625b[_0x59bc19(0xdc)],[_0x5a625b[_0x59bc19(0xc3)],_0x5a625b[_0x59bc19(0xeb)],_0x5a625b[_0x59bc19(0xb2)],'trailhead'],{'stdio':_0x5a625b[_0x59bc19(0xd5)],'shell':process[_0x59bc19(0xb0)]===_0x5a625b['voSrO']});_0x5286d2['on']('close',_0xbb934d=>{_0x2c168d(_0xbb934d===0x0);}),_0x5286d2['on'](_0x5a625b['iPFGe'],()=>{_0x2c168d(![]);});});}async function updateClaudePlugin(_0x361117){const _0x10a82b=_0x1773,_0x368358={'KuLuL':function(_0x1fa256,_0x454f81){return _0x1fa256(_0x454f81);},'Dvhqv':_0x10a82b(0xad),'iFLmK':'update','wasOI':_0x10a82b(0xd3),'oBltO':'claude','KIPHZ':_0x10a82b(0xb9),'caeIC':_0x10a82b(0xba),'sChnq':'close','ImMFo':_0x10a82b(0xcc)};return new Promise(_0x55cef9=>{const _0x205891=_0x10a82b,_0x15e0e7=[_0x368358['Dvhqv'],_0x368358[_0x205891(0xbd)],_0x368358['wasOI']];_0x361117&&_0x15e0e7[_0x205891(0xd8)]('--scope',_0x361117);const _0x1cecd6=spawn(_0x368358['oBltO'],_0x15e0e7,{'stdio':_0x368358[_0x205891(0xe8)],'shell':process[_0x205891(0xb0)]===_0x368358[_0x205891(0xdd)]});_0x1cecd6['on'](_0x368358['sChnq'],_0x1b5255=>{_0x55cef9(_0x1b5255===0x0);}),_0x1cecd6['on'](_0x368358['ImMFo'],()=>{const _0x16c437=_0x205891;_0x368358[_0x16c437(0xe1)](_0x55cef9,![]);});});}function isSkillInstalled(_0x137e02,_0x270679,_0x4a4a53){const _0x468977=_0x1773,_0x5e2837={'aXgHn':function(_0x2ce18a,_0x6f77ee){return _0x2ce18a===_0x6f77ee;},'jkhzY':'opencode'},_0x383e5f=_0x5e2837['aXgHn'](_0x4a4a53,_0x5e2837[_0x468977(0xb8)])?getOpencodeSkillsDir(_0x270679):getSkillsDir(_0x270679),_0x5a5280=join(_0x383e5f,_0x137e02);return existsSync(_0x5a5280);}async function reinstallSkills(_0x5c16b5){const _0x2c6482=_0x1773,_0x3b249f={'gsUbB':'user','ZqiWK':function(_0x571508,_0x29104e,_0x51ec50,_0x126a5a){return _0x571508(_0x29104e,_0x51ec50,_0x126a5a);},'mcSvT':_0x2c6482(0xc5),'WCGgq':function(_0x1161e3,_0x28b90b,_0x518210,_0x1e9406){return _0x1161e3(_0x28b90b,_0x518210,_0x1e9406);},'RXcNJ':function(_0x274520,_0x162464,_0x573755){return _0x274520(_0x162464,_0x573755);},'eRqiS':_0x2c6482(0xcf),'ccswY':function(_0x40f6d8,_0x189f23,_0x9af0db){return _0x40f6d8(_0x189f23,_0x9af0db);}},_0x4de03c=['project',_0x3b249f[_0x2c6482(0xbf)]],_0x405f6c=[];for(const _0x1e0f06 of _0x4de03c){for(const _0x483089 of RANGER_MANAGED_SKILLS){_0x3b249f['ZqiWK'](isSkillInstalled,_0x483089,_0x1e0f06,_0x2c6482(0xc5))&&_0x405f6c['push']({'skillName':_0x483089,'level':_0x1e0f06,'platform':_0x3b249f['mcSvT']}),_0x3b249f[_0x2c6482(0xde)](isSkillInstalled,_0x483089,_0x1e0f06,_0x2c6482(0xbc))&&_0x405f6c[_0x2c6482(0xd8)]({'skillName':_0x483089,'level':_0x1e0f06,'platform':'opencode'});}}for(const _0x109526 of _0x4de03c){for(const _0x24e76a of DEPRECATED_SKILLS){await _0x3b249f['RXcNJ'](removeSkill,_0x24e76a,_0x109526);}}if(_0x405f6c[_0x2c6482(0xc9)]===0x0){console['log'](_0x3b249f[_0x2c6482(0xb7)]);return;}console['log']('\x0aReinstalling\x20'+_0x405f6c['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x284931,level:_0x4e4e59,platform:_0x5b653}of _0x405f6c){try{await _0x3b249f['ccswY'](installSkill,_0x284931,{'level':_0x4e4e59,'cliVersion':_0x5c16b5,'platform':_0x5b653});}catch(_0x4bd77f){console[_0x2c6482(0xc8)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x5b653+'\x20'+_0x4e4e59+_0x2c6482(0xc4)+_0x284931+':',_0x4bd77f);}}}function _0xba67(){const _0x56ab32=['Checking\x20for\x20updates...','plugin','active-feature.txt','tZXOD','platform','\x0aSuccessfully\x20updated\x20to\x20version\x20','UOHPs','4DArlzH','5944338hCyBAD','MpEfQ','Update\x20failed.\x20You\x20may\x20need\x20to\x20run\x20with\x20sudo:\x20sudo\x20npm\x20install\x20-g\x20','eRqiS','jkhzY','pipe','win32','marketplace','opencode','iFLmK','split','gsUbB','BxrVb','135pJycBy','\x0a✅\x20Update\x20complete!','OhSlw','\x20skill\x20','claude','3325959wXwjnh','some','warn','length','8hBGeIR','AfbXJ','error','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','active-profile.txt','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','6735906VGdnjt','qjPMN','Claude\x20plugin\x20updated\x20(project\x20scope).','ranger@trailhead','1571010PVMZQC','iMchv','project','20004590CJPOKA','push','EKeoU','\x0aYour\x20version\x20(','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','jYwfF','caeIC','WCGgq','eQRWa','@latest','KuLuL','utf-8','log','✓\x20Migrated\x20active\x20profile\x20file',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','uKLwS','2767833IlhfMB','KIPHZ','install','YXgmM','ZxdDE','74lFwwZS'];_0xba67=function(){return _0x56ab32;};return _0xba67();}function _0x1773(_0x2b8551,_0x139a31){_0x2b8551=_0x2b8551-0xac;const _0xba6733=_0xba67();let _0x1773b6=_0xba6733[_0x2b8551];return _0x1773b6;}async function ensureActiveProfileGitignored(){const _0x51690e=_0x1773,_0x4e6691={'uKLwS':function(_0x39f249,_0x1003e4,_0x3ee704){return _0x39f249(_0x1003e4,_0x3ee704);},'DkHlL':_0x51690e(0xe2),'MpEfQ':function(_0x35863a,_0x246c73){return _0x35863a===_0x246c73;}},_0x44b648=join(getRangerDir(),'.gitignore');if(!existsSync(_0x44b648))return![];let _0xed126d='';try{_0xed126d=await _0x4e6691[_0x51690e(0xe6)](readFile,_0x44b648,_0x4e6691['DkHlL']);}catch{return![];}const _0x245188=_0xed126d[_0x51690e(0xbe)](/\r?\n/);if(_0x245188[_0x51690e(0xc7)](_0x107941=>_0x107941['trim']()===_0x51690e(0xce)))return![];let _0x529db2=_0x245188['findIndex'](_0x1749c7=>_0x1749c7['trim']()===_0x51690e(0xae));_0x4e6691[_0x51690e(0xb5)](_0x529db2,-0x1)&&(_0x529db2=_0x245188['length']);_0x245188['splice'](_0x529db2,0x0,_0x51690e(0xce));let _0xe0fc9a=_0x245188['join']('\x0a');!_0xe0fc9a['endsWith']('\x0a')&&(_0xe0fc9a+='\x0a');try{await writeFile(_0x44b648,_0xe0fc9a,'utf-8');}catch{return![];}return!![];}export async function update(){const _0x4cbab9=_0x1773,_0x5e324b={'eQRWa':function(_0x191edc){return _0x191edc();},'EKeoU':_0x4cbab9(0xac),'Ojpfz':function(_0x46dfe5,_0x3e8fa5,_0x1ce6e0){return _0x46dfe5(_0x3e8fa5,_0x1ce6e0);},'sArog':_0x4cbab9(0xcd),'qjPMN':function(_0x1efd3a){return _0x1efd3a();},'YXgmM':function(_0x3b25aa,_0x5882da){return _0x3b25aa(_0x5882da);},'rdtqd':_0x4cbab9(0xdb),'wzXYF':function(_0x2c813a,_0x4e5d1c){return _0x2c813a(_0x4e5d1c);},'tZXOD':_0x4cbab9(0xe4)},_0x307451=_0x5e324b['eQRWa'](getCurrentVersion);console['log']('\x0aCurrent\x20version:\x20'+_0x307451),console['log'](_0x5e324b[_0x4cbab9(0xd9)]);const _0x3a67f7=_0x5e324b[_0x4cbab9(0xdf)](getLatestVersion);if(!_0x3a67f7)throw new Error('Failed\x20to\x20check\x20for\x20updates.\x20Please\x20check\x20your\x20network\x20connection.');console[_0x4cbab9(0xe3)]('Latest\x20version:\x20\x20'+_0x3a67f7);const _0x2bd014=_0x5e324b['Ojpfz'](compareVersions,_0x307451,_0x3a67f7);let _0x74fa3b=_0x307451;if(_0x2bd014===0x0)console['log'](_0x5e324b['sArog']);else{if(_0x2bd014<0x0)console[_0x4cbab9(0xe3)](_0x4cbab9(0xda)+_0x307451+_0x4cbab9(0xe5)+_0x3a67f7+').');else{const _0x3f987b=await _0x5e324b[_0x4cbab9(0xd1)](runInstall);if(_0x3f987b)console['log'](_0x4cbab9(0xb1)+_0x3a67f7),_0x74fa3b=_0x3a67f7;else throw new Error(_0x4cbab9(0xb6)+PACKAGE_NAME+'@latest');}}await reinstallSkills(_0x74fa3b);const _0x143bea=await isMarketplaceAdded('trailhead'),_0x9c61ca=await _0x5e324b[_0x4cbab9(0xea)](isPluginInstalled,'ranger@trailhead');if(_0x143bea){const _0x2403f5=await updateClaudeMarketplace();_0x2403f5&&console['log']('\x0aClaude\x20marketplace\x20updated\x20(trailhead).');}if(_0x9c61ca){const _0x7a894b=await updateClaudePlugin();_0x7a894b&&console['log'](_0x5e324b['rdtqd']);const _0x1c5330=await _0x5e324b['wzXYF'](updateClaudePlugin,_0x4cbab9(0xd6));_0x1c5330&&console['log']((_0x7a894b?'':'\x0a')+_0x4cbab9(0xd2));}const _0x568377=await migrateActiveProfileFile();_0x568377&&console['log'](_0x5e324b[_0x4cbab9(0xaf)]);const _0xfb3b89=await ensureActiveProfileGitignored();console[_0x4cbab9(0xe3)](_0x4cbab9(0xc2));}
|
|
1
|
+
(function(_0x5d63ce,_0x394e7f){const _0x2ddb9c=_0x4513,_0xddfce2=_0x5d63ce();while(!![]){try{const _0x14658f=parseInt(_0x2ddb9c(0x1ad))/0x1*(-parseInt(_0x2ddb9c(0x178))/0x2)+parseInt(_0x2ddb9c(0x1b2))/0x3*(parseInt(_0x2ddb9c(0x1ae))/0x4)+-parseInt(_0x2ddb9c(0x16f))/0x5+-parseInt(_0x2ddb9c(0x1a3))/0x6*(-parseInt(_0x2ddb9c(0x183))/0x7)+-parseInt(_0x2ddb9c(0x188))/0x8+-parseInt(_0x2ddb9c(0x186))/0x9+parseInt(_0x2ddb9c(0x177))/0xa;if(_0x14658f===_0x394e7f)break;else _0xddfce2['push'](_0xddfce2['shift']());}catch(_0x5202a7){_0xddfce2['push'](_0xddfce2['shift']());}}}(_0x10a3,0xe32b2));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';import{getSkillsDir}from'./utils/claudeConfig.js';import{getOpencodeSkillsDir}from'./utils/opencodeConfig.js';import{join}from'path';import{migrateActiveProfileFile}from'./utils/activeProfile.js';function _0x4513(_0x70687,_0x1c14e8){_0x70687=_0x70687-0x16d;const _0x10a3fd=_0x10a3();let _0x451354=_0x10a3fd[_0x70687];return _0x451354;}import{getRangerDir}from'./utils/rangerRoot.js';import{isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function runInstall(){const _0x38cc48=_0x4513,_0x3cfa72={'JCCUG':function(_0x32b587,_0x562de1){return _0x32b587(_0x562de1);},'eIMhL':function(_0x3177d8,_0x1b29fb){return _0x3177d8===_0x1b29fb;},'vVnOt':_0x38cc48(0x198),'UhDYd':'inherit','uIZBG':function(_0x37eee8,_0x3e6c43){return _0x37eee8===_0x3e6c43;},'lfCTB':_0x38cc48(0x174),'zheiP':'close','MiEsm':_0x38cc48(0x173)};return new Promise(_0xb8d0b6=>{const _0x10ab32=_0x38cc48,_0x36c9e8={'MANdN':function(_0x5ef3d0,_0x495994){return _0x3cfa72['eIMhL'](_0x5ef3d0,_0x495994);}};console['log'](_0x10ab32(0x17e)+PACKAGE_NAME+'@latest...\x0a');const _0x146671=spawn(_0x3cfa72[_0x10ab32(0x175)],[_0x10ab32(0x199),'-g',PACKAGE_NAME+_0x10ab32(0x1b0)],{'stdio':_0x3cfa72[_0x10ab32(0x17c)],'shell':_0x3cfa72[_0x10ab32(0x1ab)](process[_0x10ab32(0x18e)],_0x3cfa72['lfCTB'])});_0x146671['on'](_0x3cfa72[_0x10ab32(0x18c)],_0x3a9722=>{const _0x26c016=_0x10ab32;_0xb8d0b6(_0x36c9e8[_0x26c016(0x182)](_0x3a9722,0x0));}),_0x146671['on'](_0x3cfa72[_0x10ab32(0x18f)],()=>{const _0x48274c=_0x10ab32;_0x3cfa72[_0x48274c(0x190)](_0xb8d0b6,![]);});});}async function updateClaudeMarketplace(){const _0x171653=_0x4513,_0x1364cb={'PqQGk':function(_0x5c95bc,_0x285e94){return _0x5c95bc(_0x285e94);},'jIIIZ':function(_0x288673,_0x3c41be,_0x457706,_0x3db067){return _0x288673(_0x3c41be,_0x457706,_0x3db067);},'claus':_0x171653(0x19e),'nHvyh':_0x171653(0x1a2),'BCxua':_0x171653(0x1a9),'DbfiX':'update','uJfiz':'pipe'};return new Promise(_0x3f1f2e=>{const _0x5ba7ce=_0x171653,_0xfde426=_0x1364cb[_0x5ba7ce(0x196)](spawn,_0x1364cb['claus'],[_0x1364cb[_0x5ba7ce(0x19f)],_0x1364cb[_0x5ba7ce(0x18b)],_0x1364cb[_0x5ba7ce(0x184)],'trailhead'],{'stdio':_0x1364cb['uJfiz'],'shell':process[_0x5ba7ce(0x18e)]===_0x5ba7ce(0x174)});_0xfde426['on']('close',_0xe4ebc0=>{_0x3f1f2e(_0xe4ebc0===0x0);}),_0xfde426['on']('error',()=>{_0x1364cb['PqQGk'](_0x3f1f2e,![]);});});}async function updateClaudePlugin(_0x4dc09f){const _0x33b176=_0x4513,_0x2f7b76={'IQzCi':function(_0xebe3ce,_0x1a7cae){return _0xebe3ce(_0x1a7cae);},'ljKoL':function(_0x4367b4,_0x554419){return _0x4367b4===_0x554419;},'HjDsc':function(_0x42bdd5,_0x3b8672){return _0x42bdd5(_0x3b8672);},'vxIbO':_0x33b176(0x17a),'BlGkf':'--scope','vIJiZ':function(_0x398227,_0x24057a,_0x555b03,_0x809b66){return _0x398227(_0x24057a,_0x555b03,_0x809b66);},'nqjnV':'pipe','wjfiL':'error'};return new Promise(_0x232bb2=>{const _0x429064=_0x33b176,_0x4a13bb=[_0x429064(0x1a2),'update',_0x2f7b76[_0x429064(0x1af)]];_0x4dc09f&&_0x4a13bb[_0x429064(0x16e)](_0x2f7b76['BlGkf'],_0x4dc09f);const _0xe96417=_0x2f7b76['vIJiZ'](spawn,_0x429064(0x19e),_0x4a13bb,{'stdio':_0x2f7b76['nqjnV'],'shell':process['platform']==='win32'});_0xe96417['on']('close',_0x90bffa=>{const _0x54312d=_0x429064;_0x2f7b76['IQzCi'](_0x232bb2,_0x2f7b76[_0x54312d(0x1a5)](_0x90bffa,0x0));}),_0xe96417['on'](_0x2f7b76[_0x429064(0x17d)],()=>{const _0x5ddafa=_0x429064;_0x2f7b76[_0x5ddafa(0x180)](_0x232bb2,![]);});});}function isSkillInstalled(_0xae196e,_0x3d9387,_0x15ce08){const _0x1b79be=_0x4513,_0x46b39a={'cgnfu':function(_0x5819a7,_0x4f8c25){return _0x5819a7(_0x4f8c25);},'FSScq':function(_0x5522e2,_0xb95448,_0x2f9d05){return _0x5522e2(_0xb95448,_0x2f9d05);}},_0x8ea6d6=_0x15ce08==='opencode'?_0x46b39a[_0x1b79be(0x194)](getOpencodeSkillsDir,_0x3d9387):getSkillsDir(_0x3d9387),_0x2175a7=_0x46b39a['FSScq'](join,_0x8ea6d6,_0xae196e);return existsSync(_0x2175a7);}async function reinstallSkills(_0x335374){const _0x5d716d=_0x4513,_0x129d4a={'PBhRX':function(_0x2192a8,_0xfef216,_0x3552fe,_0x199c3a){return _0x2192a8(_0xfef216,_0x3552fe,_0x199c3a);},'OQULj':_0x5d716d(0x19e),'siKOg':function(_0x24cbbc,_0x25990a,_0x1dc89f,_0x5ad29c){return _0x24cbbc(_0x25990a,_0x1dc89f,_0x5ad29c);},'fgThM':'opencode','cjEhx':function(_0x342ea0,_0xcc9dda,_0x46a1aa){return _0x342ea0(_0xcc9dda,_0x46a1aa);},'jcguH':_0x5d716d(0x19d)},_0x36e427=['project',_0x5d716d(0x18d)],_0x1e4631=[];for(const _0x61c33c of _0x36e427){for(const _0x3e8a88 of RANGER_MANAGED_SKILLS){_0x129d4a[_0x5d716d(0x185)](isSkillInstalled,_0x3e8a88,_0x61c33c,'claude')&&_0x1e4631['push']({'skillName':_0x3e8a88,'level':_0x61c33c,'platform':_0x129d4a['OQULj']}),_0x129d4a[_0x5d716d(0x1b1)](isSkillInstalled,_0x3e8a88,_0x61c33c,'opencode')&&_0x1e4631[_0x5d716d(0x16e)]({'skillName':_0x3e8a88,'level':_0x61c33c,'platform':_0x129d4a['fgThM']});}}for(const _0x456d5d of _0x36e427){for(const _0x2dc9a0 of DEPRECATED_SKILLS){await _0x129d4a['cjEhx'](removeSkill,_0x2dc9a0,_0x456d5d);}}if(_0x1e4631['length']===0x0){console[_0x5d716d(0x191)](_0x129d4a['jcguH']);return;}console['log'](_0x5d716d(0x1ac)+_0x1e4631[_0x5d716d(0x189)]+_0x5d716d(0x1aa));for(const {skillName:_0x3d013d,level:_0x4de627,platform:_0x6a8da2}of _0x1e4631){try{await _0x129d4a['cjEhx'](installSkill,_0x3d013d,{'level':_0x4de627,'cliVersion':_0x335374,'platform':_0x6a8da2});}catch(_0x3a68b3){console['warn'](_0x5d716d(0x1a8)+_0x6a8da2+'\x20'+_0x4de627+_0x5d716d(0x170)+_0x3d013d+':',_0x3a68b3);}}}function _0x10a3(){const _0x10ada5=['15459228Fykpru','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','12710008nmpdfZ','length','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','BCxua','zheiP','user','platform','MiEsm','JCCUG','log','trim','some','cgnfu','\x0aYour\x20version\x20(','jIIIZ','findIndex','npm','install','QNsWf','.gitignore','UULYE','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','claude','nHvyh','gpNpi','spIWI','plugin','282nBDfZg','BJeBn','ljKoL','AiCVQ','join','\x20\x20Failed\x20to\x20reinstall\x20','marketplace','\x20ranger-managed\x20skill(s)...','uIZBG','\x0aReinstalling\x20','1192557WKoekd','3020428KjJkvg','vxIbO','@latest','siKOg','6rFcung','ZHSAL','push','7957150AMZPKA','\x20skill\x20','Failed\x20to\x20check\x20for\x20updates.\x20Please\x20check\x20your\x20network\x20connection.','SrMXW','error','win32','vVnOt','lTOuz','43786560DTznDp','2alTpDt','utf-8','ranger@trailhead','\x0aCurrent\x20version:\x20','UhDYd','wjfiL','\x0aInstalling\x20','active-profile.txt','HjDsc','RWCPx','MANdN','168602onbiDP','DbfiX','PBhRX'];_0x10a3=function(){return _0x10ada5;};return _0x10a3();}async function ensureActiveProfileGitignored(){const _0x2a3638=_0x4513,_0x10d375={'zhJEn':function(_0x14b1f6){return _0x14b1f6();},'qdUNs':function(_0x27bc1c,_0xceeebb){return _0x27bc1c(_0xceeebb);},'gpNpi':function(_0x34f9f2,_0x2f5201,_0x1030e5){return _0x34f9f2(_0x2f5201,_0x1030e5);},'ZHSAL':_0x2a3638(0x179),'SrMXW':function(_0xf2c72a,_0x48ff56){return _0xf2c72a===_0x48ff56;},'BJeBn':'active-profile.txt','AiCVQ':function(_0x351cc3,_0x39aae0,_0x136234,_0x3aac8c){return _0x351cc3(_0x39aae0,_0x136234,_0x3aac8c);}},_0x3ce937=join(_0x10d375['zhJEn'](getRangerDir),_0x2a3638(0x19b));if(!_0x10d375['qdUNs'](existsSync,_0x3ce937))return![];let _0x23d743='';try{_0x23d743=await _0x10d375[_0x2a3638(0x1a0)](readFile,_0x3ce937,_0x10d375[_0x2a3638(0x16d)]);}catch{return![];}const _0x461bf8=_0x23d743['split'](/\r?\n/);if(_0x461bf8[_0x2a3638(0x193)](_0x1abf56=>_0x1abf56['trim']()===_0x2a3638(0x17f)))return![];let _0x4bebe0=_0x461bf8[_0x2a3638(0x197)](_0x18a76e=>_0x18a76e[_0x2a3638(0x192)]()==='active-feature.txt');_0x10d375[_0x2a3638(0x172)](_0x4bebe0,-0x1)&&(_0x4bebe0=_0x461bf8[_0x2a3638(0x189)]);_0x461bf8['splice'](_0x4bebe0,0x0,_0x10d375[_0x2a3638(0x1a4)]);let _0x366cc9=_0x461bf8[_0x2a3638(0x1a7)]('\x0a');!_0x366cc9['endsWith']('\x0a')&&(_0x366cc9+='\x0a');try{await _0x10d375[_0x2a3638(0x1a6)](writeFile,_0x3ce937,_0x366cc9,_0x2a3638(0x179));}catch{return![];}return!![];}export async function update(){const _0x1c6d3f=_0x4513,_0x5e9fbb={'UUtVQ':function(_0x3636a3){return _0x3636a3();},'wofTf':_0x1c6d3f(0x171),'bMaZI':function(_0x14da2a,_0x19e4a8){return _0x14da2a===_0x19e4a8;},'QNsWf':_0x1c6d3f(0x18a),'spIWI':function(_0x558bb7){return _0x558bb7();},'wtISi':function(_0x15fde2,_0xb7b47f){return _0x15fde2(_0xb7b47f);},'UULYE':function(_0x2b2a04,_0x199f87){return _0x2b2a04(_0x199f87);},'kDXCL':'trailhead','RWCPx':'ranger@trailhead','sfjRZ':function(_0x38d41b){return _0x38d41b();},'SFSLT':function(_0x153599){return _0x153599();},'Prwoc':'✓\x20Migrated\x20active\x20profile\x20file','lTOuz':'\x0a✅\x20Update\x20complete!'},_0xdde5bf=_0x5e9fbb['UUtVQ'](getCurrentVersion);console[_0x1c6d3f(0x191)](_0x1c6d3f(0x17b)+_0xdde5bf),console['log']('Checking\x20for\x20updates...');const _0xde6a20=getLatestVersion();if(!_0xde6a20)throw new Error(_0x5e9fbb['wofTf']);console[_0x1c6d3f(0x191)]('Latest\x20version:\x20\x20'+_0xde6a20);const _0x29b102=compareVersions(_0xdde5bf,_0xde6a20);let _0x9cce4e=_0xdde5bf;if(_0x5e9fbb['bMaZI'](_0x29b102,0x0))console['log'](_0x5e9fbb[_0x1c6d3f(0x19a)]);else{if(_0x29b102<0x0)console[_0x1c6d3f(0x191)](_0x1c6d3f(0x195)+_0xdde5bf+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0xde6a20+').');else{const _0x65ad1=await _0x5e9fbb[_0x1c6d3f(0x1a1)](runInstall);if(_0x65ad1)console[_0x1c6d3f(0x191)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0xde6a20),_0x9cce4e=_0xde6a20;else throw new Error('Update\x20failed.\x20You\x20may\x20need\x20to\x20run\x20with\x20sudo:\x20sudo\x20npm\x20install\x20-g\x20'+PACKAGE_NAME+_0x1c6d3f(0x1b0));}}await _0x5e9fbb['wtISi'](reinstallSkills,_0x9cce4e);const _0x264a6e=await _0x5e9fbb[_0x1c6d3f(0x19c)](isMarketplaceAdded,_0x5e9fbb['kDXCL']),_0x1c0473=await _0x5e9fbb['UULYE'](isPluginInstalled,_0x5e9fbb[_0x1c6d3f(0x181)]);if(_0x264a6e){const _0x4146bd=await updateClaudeMarketplace();_0x4146bd&&console['log'](_0x1c6d3f(0x187));}if(_0x1c0473){const _0x40eecd=await _0x5e9fbb['sfjRZ'](updateClaudePlugin);_0x40eecd&&console[_0x1c6d3f(0x191)]('\x0aClaude\x20plugin\x20updated\x20(user\x20scope).');const _0x4a179e=await updateClaudePlugin('project');_0x4a179e&&console['log']((_0x40eecd?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x2b60cf=await _0x5e9fbb['SFSLT'](migrateActiveProfileFile);_0x2b60cf&&console[_0x1c6d3f(0x191)](_0x5e9fbb['Prwoc']);const _0x51b59f=await ensureActiveProfileGitignored();console[_0x1c6d3f(0x191)](_0x5e9fbb[_0x1c6d3f(0x176)]);}
|