@ranger-testing/ranger-cli 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/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 -1
- package/build/commands/utils/model.js +1 -1
- 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 -1
- 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/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x488ad8,_0x3241d6){const _0x187523=_0x1bdf,_0x3e4d80=_0x488ad8();while(!![]){try{const _0x4b2d1d=-parseInt(_0x187523(0x1ac))/0x1*(-parseInt(_0x187523(0x1bb))/0x2)+parseInt(_0x187523(0x1ba))/0x3+-parseInt(_0x187523(0x1b7))/0x4+parseInt(_0x187523(0x1b1))/0x5+parseInt(_0x187523(0x1ae))/0x6*(-parseInt(_0x187523(0x1aa))/0x7)+parseInt(_0x187523(0x1c2))/0x8*(parseInt(_0x187523(0x1c5))/0x9)+parseInt(_0x187523(0x1c4))/0xa*(-parseInt(_0x187523(0x1b2))/0xb);if(_0x4b2d1d===_0x3241d6)break;else _0x3e4d80['push'](_0x3e4d80['shift']());}catch(_0xd04137){_0x3e4d80['push'](_0x3e4d80['shift']());}}}(_0x4a39,0x19c57));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';function _0x4a39(){const _0x532285=['https://dashboard.ranger.net/features/','read','422997LYSwYW','2800JypqCM','input','trackCommandEnd','close','gvNTm','log','name','592woUBZW','size','30MucfTZ','17181ctThVr','EijKf','featureId','block','Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session','hook:stop','\x20for\x20\x22','204043CaLdmH','includes','142xQZzLH','stringify','42JDMlYQ',':\x0a\x0a','gpPOb','68030gflRoi','442937MCHPrr','min','string','YEEfn','sessionId','257072zFOeot'];_0x4a39=function(){return _0x532285;};return _0x4a39();}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x593110){const _0x299a55=_0x1bdf,_0x3d99a9={'gvNTm':function(_0x39c7d5,_0x2a7093){return _0x39c7d5(_0x2a7093);},'xrDbk':'RANGER_SKIP_VERIFICATION','gpPOb':function(_0x5410b2,_0x51c56a){return _0x5410b2&&_0x51c56a;}},_0x1d0987=await _0x3d99a9[_0x299a55(0x1bf)](getEnabledHookContext,_0x593110),_0x30ac15=_0x1d0987?.[_0x299a55(0x1b6)]??null,_0xc5c1ec=_0x3d99a9['gvNTm'](Boolean,_0x1d0987?.[_0x299a55(0x1bc)]?.['stop_hook_active']),_0x2aebf9=typeof _0x1d0987?.[_0x299a55(0x1bc)]?.['transcript_path']===_0x299a55(0x1b4)?_0x1d0987['input']['transcript_path']:null;let _0x25bb35=!![];if(!_0x30ac15){await trackStop(_0x30ac15,![],_0x25bb35);return;}try{const _0x549c9d=getSessionEntry(_0x30ac15);if(!_0x549c9d){await trackStop(_0x30ac15,!![],_0x25bb35);return;}const _0x5af46d=_0x299a55(0x1b8)+_0x549c9d['featureId'],_0x3f9669=_0x3d99a9['xrDbk'],_0x2d912c=await getToken(),_0x26e8f7=!_0xc5c1ec;let _0x56c04b=null,_0x4940a9=null;const _0x5d6000=_0xc5c1ec&&await transcriptHasToken(_0x2aebf9,_0x3f9669),_0x19ad22=await transcriptHasToken(_0x2aebf9,_0x5af46d);if(_0x2d912c)try{const _0x20ff58=await _0x3d99a9['gvNTm'](getFeature,_0x549c9d['featureId']);_0x56c04b=_0x20ff58[_0x299a55(0x1c1)]??null,_0x4940a9=_0x20ff58['currentSessionId']??null;}catch{}if(_0x3d99a9[_0x299a55(0x1b0)](_0x2d912c,_0x4940a9))try{await concludeSession(_0x549c9d[_0x299a55(0x1a5)],_0x4940a9);}catch(_0x2a17d0){if(_0x5d6000){await trackStop(_0x30ac15,!![],_0x25bb35);return;}_0x25bb35=![];const _0x3f1389=_0x2a17d0 instanceof Error?_0x2a17d0['message']:_0x3d99a9['gvNTm'](String,_0x2a17d0),_0x2f109a={'decision':_0x299a55(0x1a6),'reason':_0x299a55(0x1a7)+(_0x56c04b?_0x299a55(0x1a9)+_0x56c04b+'\x22':'')+_0x299a55(0x1af)+_0x3f1389+'\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('+_0x5af46d+')\x20and\x20the\x20token\x20`'+_0x3f9669+'`,\x20then\x20run\x20/exit\x20again.'};console[_0x299a55(0x1c0)](JSON[_0x299a55(0x1ad)](_0x2f109a)),await trackStop(_0x30ac15,!![],_0x25bb35);return;}await trackStop(_0x30ac15,!![],_0x25bb35);return;}catch{await trackStop(_0x30ac15,!![],_0x25bb35);return;}}function _0x1bdf(_0x346ccb,_0x348fb8){_0x346ccb=_0x346ccb-0x1a4;const _0x4a3914=_0x4a39();let _0x1bdf19=_0x4a3914[_0x346ccb];return _0x1bdf19;}async function trackStop(_0x3b685a,_0x3e08a8,_0x2638c9){const _0x2c4943=_0x1bdf,_0x5925f8={'LXDmU':function(_0x3f75a0,_0x2ad812){return _0x3f75a0??_0x2ad812;}};try{const _0x36cdc6=createTelemetryCollector(_0x2c4943(0x1a8));await _0x36cdc6['trackCommandStart']({'sessionId':_0x5925f8['LXDmU'](_0x3b685a,undefined),'hooksEnabled':_0x3e08a8,'stopAllowed':_0x2638c9}),await _0x36cdc6[_0x2c4943(0x1bd)]('success');}catch{}}async function transcriptHasToken(_0x5a4dcd,_0x502a1d){const _0xdc396b=_0x1bdf,_0x5997bc={'EijKf':function(_0x2f4df6,_0x2b38be,_0xc65cd4){return _0x2f4df6(_0x2b38be,_0xc65cd4);}};if(!_0x5a4dcd)return![];const _0x22a905=await _0x5997bc[_0xdc396b(0x1a4)](readTranscriptTail,_0x5a4dcd,0x30d40);return _0x22a905?_0x22a905[_0xdc396b(0x1ab)](_0x502a1d):![];}async function readTranscriptTail(_0x1bce9f,_0x5d2d31){const _0x884bf8=_0x1bdf,_0x41c4e3={'YEEfn':'utf8'};let _0x3c9ff2=null;try{_0x3c9ff2=await open(_0x1bce9f,'r');const _0x53971f=await _0x3c9ff2['stat'](),_0x466315=Math[_0x884bf8(0x1b3)](_0x53971f[_0x884bf8(0x1c3)],_0x5d2d31);if(_0x466315<=0x0)return'';const _0x3ba655=Buffer['alloc'](_0x466315);return await _0x3c9ff2[_0x884bf8(0x1b9)](_0x3ba655,0x0,_0x466315,_0x53971f[_0x884bf8(0x1c3)]-_0x466315),_0x3ba655['toString'](_0x41c4e3[_0x884bf8(0x1b5)]);}catch{return null;}finally{try{await _0x3c9ff2?.[_0x884bf8(0x1be)]();}catch{}}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x488f01,_0x118640){var _0x25edff=_0x5415,_0xb665a9=_0x488f01();while(!![]){try{var _0x24eea5=-parseInt(_0x25edff(0x141))/0x1+parseInt(_0x25edff(0x13d))/0x2+parseInt(_0x25edff(0x143))/0x3*(parseInt(_0x25edff(0x13f))/0x4)+-parseInt(_0x25edff(0x13c))/0x5+parseInt(_0x25edff(0x13e))/0x6*(parseInt(_0x25edff(0x142))/0x7)+parseInt(_0x25edff(0x145))/0x8+-parseInt(_0x25edff(0x140))/0x9*(parseInt(_0x25edff(0x144))/0xa);if(_0x24eea5===_0x118640)break;else _0xb665a9['push'](_0xb665a9['shift']());}catch(_0x2c45cd){_0xb665a9['push'](_0xb665a9['shift']());}}}(_0x5101,0xf18bf));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0x5101(){var _0x138697=['260EFihNd','9eCylFu','1231655kUobog','7UGlSfP','22965GrDtjn','2130250Yxgqpo','10483608oMsOsl','1047280qOjsPD','1384548cpCDTo','859266pRzBWY'];_0x5101=function(){return _0x138697;};return _0x5101();}export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x5415(_0x27eb2f,_0x4f8292){_0x27eb2f=_0x27eb2f-0x13c;var _0x510172=_0x5101();var _0x5415cf=_0x510172[_0x27eb2f];return _0x5415cf;}export{update}from'./update.js';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 _0x4895(_0x2a4be7,_0x2d7c59){_0x2a4be7=_0x2a4be7-0xc3;const _0x459110=_0x4591();let _0x4895ce=_0x459110[_0x2a4be7];return _0x4895ce;}(function(_0x5b3190,_0x56533e){const _0x40292b=_0x4895,_0x2881d3=_0x5b3190();while(!![]){try{const _0x68269=-parseInt(_0x40292b(0xd4))/0x1*(-parseInt(_0x40292b(0xd5))/0x2)+parseInt(_0x40292b(0xc3))/0x3+parseInt(_0x40292b(0xc7))/0x4+-parseInt(_0x40292b(0xc9))/0x5*(parseInt(_0x40292b(0xd2))/0x6)+parseInt(_0x40292b(0xcf))/0x7+-parseInt(_0x40292b(0xcd))/0x8*(-parseInt(_0x40292b(0xc8))/0x9)+-parseInt(_0x40292b(0xcb))/0xa*(parseInt(_0x40292b(0xd1))/0xb);if(_0x68269===_0x56533e)break;else _0x2881d3['push'](_0x2881d3['shift']());}catch(_0x3b7182){_0x2881d3['push'](_0x2881d3['shift']());}}}(_0x4591,0xd7604));function _0x4591(){const _0x1b34f8=['3910684GeqZzY','45AmriCb','5LtcSou','Login\x20failed:\x20','17233010rtlWWi','log','1288368rYFcGr','rajWi','5458978CofQmQ','CYLJg','22xgziXp','1516122mJERbJ','user','13435LFawWm','66EXXGcP','4726077zYQIYH','success','stdout','isTTY'];_0x4591=function(){return _0x1b34f8;};return _0x4591();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x53d288=_0x4895,_0x4ad79d={'rajWi':function(_0x165d4b,_0x1e70d4){return _0x165d4b(_0x1e70d4);},'CYLJg':'\x0a✅\x20API\x20key\x20stored\x20successfully','Jckjr':function(_0x1d7f84,_0x39d115){return _0x1d7f84 instanceof _0x39d115;}},_0x43983b=process['stdin'][_0x53d288(0xc6)]&&process[_0x53d288(0xc5)][_0x53d288(0xc6)];if(!_0x43983b)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x261f52=await runDeviceAuthFlow(),_0x4ef93f=await _0x4ad79d[_0x53d288(0xce)](getCurrentUser,_0x261f52);_0x4ef93f[_0x53d288(0xc4)]?console[_0x53d288(0xcc)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4ef93f[_0x53d288(0xd3)]['organizationName']):console['log'](_0x4ad79d[_0x53d288(0xd0)]);}catch(_0x461467){throw new Error(_0x53d288(0xca)+(_0x4ad79d['Jckjr'](_0x461467,Error)?_0x461467['message']:_0x461467));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x15f85e,_0x442df9){const _0x41aed3=_0x251d,_0x38d837=_0x15f85e();while(!![]){try{const _0x654b71=-parseInt(_0x41aed3(0xeb))/0x1+parseInt(_0x41aed3(0xf9))/0x2+-parseInt(_0x41aed3(0xcc))/0x3*(parseInt(_0x41aed3(0xfa))/0x4)+-parseInt(_0x41aed3(0xee))/0x5+parseInt(_0x41aed3(0xc7))/0x6*(-parseInt(_0x41aed3(0xcf))/0x7)+parseInt(_0x41aed3(0xd0))/0x8+-parseInt(_0x41aed3(0xd6))/0x9*(-parseInt(_0x41aed3(0xc8))/0xa);if(_0x654b71===_0x442df9)break;else _0x38d837['push'](_0x38d837['shift']());}catch(_0x53ff88){_0x38d837['push'](_0x38d837['shift']());}}}(_0x8626,0x91bc7));import{join}from'path';import{existsSync}from'fs';import _0x54dbb3 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x8626(){const _0xeff1bb=['✓\x20Ranger\x20skills\x20already\x20installed','pluginScope','push','\x20level)...\x0a','546835HmbeIG','BhGpL','❌\x20Failed\x20to\x20install\x20plugin:','2559240yHcIQR','User\x20(available\x20in\x20all\x20your\x20projects)','includes','vwbnB','nOzzL','QzZNM','trailhead','KlEvb','QwkNS','yTsNs','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','1303728GzaexA','4072BCPBhW','ranger-testing/trailhead','Where\x20should\x20the\x20plugin\x20be\x20installed?','project','MZPFD','ztBHt','Would\x20you\x20like\x20to\x20install\x20skills?','6PnsAha','50zkPPlf','ranger','bCmLi','plugin','438NHbXXP','PUitr','error','3684779ICBxcX','4764592GsIVqp','wantsSkillup','nnzPQ','Project\x20(shared\x20with\x20team\x20via\x20git)','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','czMSw','1949769rUjryC','\x0aYou\x20can\x20install\x20manually\x20with:','pbEYz','udYPF','hLLlr','KinTu','already\x20enabled','ranger@trailhead','uHQEK','user','output','ccFjM','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','success','.claude','log','jDgCQ'];_0x8626=function(){return _0xeff1bb;};return _0x8626();}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';function _0x251d(_0x14788c,_0x10f399){_0x14788c=_0x14788c-0xc1;const _0x862619=_0x8626();let _0x251d05=_0x862619[_0x14788c];return _0x251d05;}export async function ensureClaudePlugin(_0x30af3b){const _0x4b68ba=_0x251d,_0x28ae4b={'czMSw':function(_0x1fe8c5,_0x5e2939){return _0x1fe8c5(_0x5e2939);},'iTpVt':function(_0x2bf49d,_0x5e146a,_0x45a6c8){return _0x2bf49d(_0x5e146a,_0x45a6c8);},'KinTu':function(_0x5eb40c){return _0x5eb40c();},'uHQEK':_0x4b68ba(0xc3),'bCmLi':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','QzZNM':_0x4b68ba(0xe8),'jDgCQ':_0x4b68ba(0xc2),'wWYkM':'user','wNvZK':'✓\x20Marketplace\x20already\x20added','ypvQj':function(_0x58c267,_0x1bc2ba){return _0x58c267(_0x1bc2ba);},'leuFY':_0x4b68ba(0xcb),'ztBHt':'❌\x20Failed\x20to\x20add\x20marketplace:','MZPFD':_0x4b68ba(0xd7),'SEukm':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','udYPF':'ranger@trailhead','nOzzL':'--scope','yTsNs':_0x4b68ba(0xed),'QwkNS':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','hLLlr':'enable','nnzPQ':function(_0x466269,_0x404fc6){return _0x466269===_0x404fc6;},'ccFjM':function(_0x5858be,_0x2af7e7,_0x303c76){return _0x5858be(_0x2af7e7,_0x303c76);},'JOrYZ':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x53137f=await _0x28ae4b[_0x4b68ba(0xd5)](isPluginInstalled,_0x4b68ba(0xdd));if(_0x53137f)return console[_0x4b68ba(0xe5)](_0x4b68ba(0xf8)),![];const _0x4ab723=existsSync(_0x28ae4b['iTpVt'](join,_0x28ae4b[_0x4b68ba(0xdb)](getProjectRoot),'.claude'));let _0x4b5000;if(_0x30af3b)_0x4b5000=_0x30af3b;else{if(_0x4ab723)_0x4b5000=_0x28ae4b['uHQEK'];else{console[_0x4b68ba(0xe5)](_0x28ae4b[_0x4b68ba(0xca)]);const _0x4df8b8=await _0x54dbb3['prompt']([{'type':'list','name':_0x28ae4b[_0x4b68ba(0xf3)],'message':_0x28ae4b[_0x4b68ba(0xe6)],'choices':[{'name':_0x4b68ba(0xef),'value':'user'},{'name':_0x4b68ba(0xd3),'value':_0x28ae4b[_0x4b68ba(0xde)]}],'default':_0x28ae4b['wWYkM']}]);_0x4b5000=_0x4df8b8[_0x4b68ba(0xe8)];}}console['log'](_0x4b68ba(0xd4)+_0x4b5000+_0x4b68ba(0xea));const _0x5698f0=await isMarketplaceAdded(_0x4b68ba(0xf4));let _0x22ddab=_0x5698f0;if(_0x5698f0)console[_0x4b68ba(0xe5)](_0x28ae4b['wNvZK']);else{const _0xb0e52c=await _0x28ae4b['ypvQj'](runClaudeCommand,[_0x28ae4b['leuFY'],'marketplace','add',_0x4b68ba(0xc1)]);!_0xb0e52c['success']?(console['error'](_0x28ae4b[_0x4b68ba(0xc5)],_0xb0e52c[_0x4b68ba(0xce)]),console['log'](_0x28ae4b[_0x4b68ba(0xc4)]),console['log'](_0x28ae4b['SEukm']),console[_0x4b68ba(0xe5)](_0x4b68ba(0xe2)+_0x4b5000)):_0x22ddab=!![];}if(_0x22ddab){const _0x1dca9c=await runClaudeCommand(['plugin','install',_0x28ae4b[_0x4b68ba(0xd9)],_0x28ae4b[_0x4b68ba(0xf2)],_0x4b5000]);if(!_0x1dca9c[_0x4b68ba(0xe3)])console['error'](_0x28ae4b[_0x4b68ba(0xf7)],_0x1dca9c[_0x4b68ba(0xce)]),console['log'](_0x4b68ba(0xd7)),console['log'](_0x4b68ba(0xe2)+_0x4b5000);else{console['log'](_0x28ae4b[_0x4b68ba(0xf6)]);const _0x1ed386=['plugin',_0x28ae4b[_0x4b68ba(0xda)],_0x28ae4b[_0x4b68ba(0xd9)]];_0x28ae4b[_0x4b68ba(0xd2)](_0x4b5000,_0x4b68ba(0xc3))&&_0x1ed386[_0x4b68ba(0xe9)](_0x28ae4b[_0x4b68ba(0xf2)],_0x4b68ba(0xc3));const _0x53cda0=await _0x28ae4b[_0x4b68ba(0xe1)](runClaudeCommand,_0x1ed386,{'captureOutput':!![]}),_0x31e1f6=_0x53cda0[_0x4b68ba(0xe0)]?.[_0x4b68ba(0xf0)](_0x4b68ba(0xdc));!_0x53cda0['success']&&!_0x31e1f6?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x53cda0[_0x4b68ba(0xce)]):console[_0x4b68ba(0xe5)](_0x28ae4b['JOrYZ']);}}return!![];}export async function ensureClaudeSkills(_0x32e0de){const _0x5a51fe=_0x251d,_0x3c4ada={'pbEYz':function(_0x549f96,_0x124e5f){return _0x549f96(_0x124e5f);},'Pjmcb':function(_0x3422ec,_0x298e73,_0x58ccf1,_0x67a2aa){return _0x3422ec(_0x298e73,_0x58ccf1,_0x67a2aa);},'KlEvb':function(_0x77bf98,_0x2fb1c7){return _0x77bf98(_0x2fb1c7);},'PUitr':_0x5a51fe(0xdf),'rdHGV':'SKILL.md','TYfoT':function(_0x4c4b47,_0x475b60){return _0x4c4b47||_0x475b60;},'VbFjL':function(_0x11143c,_0x16f535,_0x34bb26){return _0x11143c(_0x16f535,_0x34bb26);},'BhGpL':function(_0xa4f452,_0x3463b2){return _0xa4f452(_0x3463b2);},'WiXnO':'confirm','vwbnB':'wantsSkillup'},_0x7ae602=_0x3c4ada['pbEYz'](existsSync,_0x3c4ada['Pjmcb'](join,_0x3c4ada[_0x5a51fe(0xf5)](getSkillsDir,_0x3c4ada[_0x5a51fe(0xcd)]),'ranger',_0x3c4ada['rdHGV'])),_0x591371=_0x3c4ada[_0x5a51fe(0xf5)](existsSync,join(getSkillsDir('project'),_0x5a51fe(0xc9),'SKILL.md'));if(_0x3c4ada['TYfoT'](_0x7ae602,_0x591371))return console['log'](_0x5a51fe(0xe7)),![];const _0x3af447=_0x3c4ada[_0x5a51fe(0xd8)](existsSync,_0x3c4ada['VbFjL'](join,getProjectRoot(),_0x5a51fe(0xe4)));let _0x495166=!![];if(_0x32e0de)await _0x3c4ada[_0x5a51fe(0xec)](skillup,{'autoInstall':_0x32e0de,'suppressUsage':!![]});else{if(_0x3af447)await skillup({'autoInstall':_0x5a51fe(0xc3),'suppressUsage':!![]});else{const _0x429764=await _0x54dbb3['prompt']([{'type':_0x3c4ada['WiXnO'],'name':_0x3c4ada[_0x5a51fe(0xf1)],'message':_0x5a51fe(0xc6),'default':!![]}]);_0x495166=_0x429764[_0x5a51fe(0xd1)],_0x495166&&await skillup({'suppressUsage':!![]});}}return _0x495166;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0xe60e(){const _0x48787c=['utf-8','43446HGoiEj','yYKqE','✓\x20OpenCode\x20plugin\x20already\x20configured','Where\x20should\x20the\x20plugin\x20be\x20installed?','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','FtAyO','4834AHBDng','isArray','1267100LCuyGR','19090FDMtXE','\x0a📦\x20OpenCode\x20Plugin\x0a','111876bXkTSd','prompt','3TIxmCR','bVnij','project','28sMHPlo','plugin','includes','list','300RiEXwG','https://opencode.ai/config.json','$schema','✓\x20OpenCode\x20plugin\x20configured','error','Failed\x20to\x20read\x20opencode.json','138102riUtQf','opencode.json','888ZoILoe','ZtBap','4545mYTZcY','308RQCJbZ','log','pluginScope','stringify','40hICXLM','GqTbc'];_0xe60e=function(){return _0x48787c;};return _0xe60e();}(function(_0x2baa01,_0x2d1ccf){const _0x224607=_0x4ebb,_0x42e91d=_0x2baa01();while(!![]){try{const _0x444ec2=-parseInt(_0x224607(0x1cc))/0x1*(parseInt(_0x224607(0x1c3))/0x2)+-parseInt(_0x224607(0x1ad))/0x3*(-parseInt(_0x224607(0x1ab))/0x4)+parseInt(_0x224607(0x1ce))/0x5+parseInt(_0x224607(0x1ba))/0x6*(-parseInt(_0x224607(0x1b0))/0x7)+parseInt(_0x224607(0x1bc))/0x8*(-parseInt(_0x224607(0x1be))/0x9)+-parseInt(_0x224607(0x1a9))/0xa*(-parseInt(_0x224607(0x1bf))/0xb)+-parseInt(_0x224607(0x1b4))/0xc*(-parseInt(_0x224607(0x1c6))/0xd);if(_0x444ec2===_0x2d1ccf)break;else _0x42e91d['push'](_0x42e91d['shift']());}catch(_0x3614c6){_0x42e91d['push'](_0x42e91d['shift']());}}}(_0xe60e,0x2a614));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x3bef08 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';function _0x4ebb(_0x2a2652,_0x22e4ad){_0x2a2652=_0x2a2652-0x1a9;const _0xe60edd=_0xe60e();let _0x4ebb2d=_0xe60edd[_0x2a2652];return _0x4ebb2d;}export async function ensureOpencodePluginConfig(_0x3890b2){const _0x4032f5=_0x4ebb,_0x20ccfe={'GqTbc':function(_0x2f7350,_0x139196){return _0x2f7350(_0x139196);},'bVnij':function(_0x1791fb,_0x58ebaa,_0x3f80e1){return _0x1791fb(_0x58ebaa,_0x3f80e1);},'mASJW':function(_0x1a4857,_0x398bc0){return _0x1a4857(_0x398bc0);},'FtAyO':_0x4032f5(0x1af),'yYKqE':'user','lGlni':_0x4032f5(0x1bb),'ZtBap':_0x4032f5(0x1c8),'NySXJ':function(_0x17bef7,_0x23213a){return _0x17bef7+_0x23213a;},'YBAQC':_0x4032f5(0x1b7)},_0x3710cb=_0x20ccfe['GqTbc'](existsSync,_0x20ccfe[_0x4032f5(0x1ae)](join,_0x20ccfe['mASJW'](getOpencodeConfigDir,_0x4032f5(0x1af)),_0x4032f5(0x1bb)));let _0x25d574;if(_0x3890b2)_0x25d574=_0x3890b2;else{if(_0x3710cb)_0x25d574=_0x20ccfe[_0x4032f5(0x1cb)];else{console[_0x4032f5(0x1c0)](_0x4032f5(0x1aa));const _0x54b431=await _0x3bef08[_0x4032f5(0x1ac)]([{'type':_0x4032f5(0x1b3),'name':_0x4032f5(0x1c1),'message':_0x4032f5(0x1c9),'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x20ccfe[_0x4032f5(0x1cb)]}],'default':_0x20ccfe[_0x4032f5(0x1c7)]}]);_0x25d574=_0x54b431[_0x4032f5(0x1c1)];}}const _0x20c26b=join(_0x20ccfe[_0x4032f5(0x1c4)](getOpencodeConfigDir,_0x25d574),_0x20ccfe['lGlni']),_0x17dbfe='@ranger-testing/opencode-plugin',_0x11f844=_0x4032f5(0x1b5);let _0xb4533={};if(existsSync(_0x20c26b))try{const _0x333f09=await _0x20ccfe['bVnij'](readFile,_0x20c26b,_0x4032f5(0x1c5));_0xb4533=JSON['parse'](_0x333f09);}catch(_0xee09ac){return console[_0x4032f5(0x1b8)](_0x4032f5(0x1ca)),{'configured':![],'scope':_0x25d574,'error':_0x4032f5(0x1b9),'details':_0xee09ac};}const _0x53a076=Array[_0x4032f5(0x1cd)](_0xb4533['plugin'])?_0xb4533['plugin']:[];if(_0x53a076[_0x4032f5(0x1b2)](_0x17dbfe))return console['log'](_0x20ccfe[_0x4032f5(0x1bd)]),{'configured':![],'scope':_0x25d574};return _0xb4533[_0x4032f5(0x1b6)]=_0xb4533[_0x4032f5(0x1b6)]||_0x11f844,_0xb4533[_0x4032f5(0x1b1)]=[..._0x53a076,_0x17dbfe],await mkdir(_0x20ccfe['mASJW'](getOpencodeConfigDir,_0x25d574),{'recursive':!![]}),await _0x20ccfe['bVnij'](writeFile,_0x20c26b,_0x20ccfe['NySXJ'](JSON[_0x4032f5(0x1c2)](_0xb4533,null,0x2),'\x0a')),console[_0x4032f5(0x1c0)](_0x20ccfe['YBAQC']),{'configured':!![],'scope':_0x25d574};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x2d5a8c,_0x3741e4){const _0x98aa6e=_0x2a96,_0x158588=_0x2d5a8c();while(!![]){try{const _0x26e8ca=parseInt(_0x98aa6e(0x13d))/0x1+parseInt(_0x98aa6e(0x170))/0x2+-parseInt(_0x98aa6e(0x180))/0x3*(-parseInt(_0x98aa6e(0x158))/0x4)+parseInt(_0x98aa6e(0x14c))/0x5*(-parseInt(_0x98aa6e(0x157))/0x6)+parseInt(_0x98aa6e(0x15b))/0x7*(parseInt(_0x98aa6e(0x145))/0x8)+-parseInt(_0x98aa6e(0x161))/0x9+parseInt(_0x98aa6e(0x143))/0xa;if(_0x26e8ca===_0x3741e4)break;else _0x158588['push'](_0x158588['shift']());}catch(_0x33a895){_0x158588['push'](_0x158588['shift']());}}}(_0x3656,0x56edb));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(_0x31a4e9){const _0x958ad7=_0x2a96,_0x5bdb50={'POHkx':function(_0x48fc31){return _0x48fc31();},'lEUUE':function(_0x4d1df1,_0x2e60e8,_0xe64bc4){return _0x4d1df1(_0x2e60e8,_0xe64bc4);},'rwKgB':function(_0x33ced3,_0x4972f1){return _0x33ced3(_0x4972f1);},'yfink':function(_0x40549a,_0x441532){return _0x40549a+_0x441532;},'KlkvS':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','cuJcs':_0x958ad7(0x166),'HluiM':function(_0x1e84ce,_0x5dc875){return _0x1e84ce===_0x5dc875;}},_0xece54d=_0x5bdb50['POHkx'](getRangerDir),_0x4297c8=_0x5bdb50['lEUUE'](join,_0xece54d,'ci');if(_0x31a4e9){const _0x1f963a=join(_0x4297c8,_0x31a4e9);return{'name':_0x31a4e9,'path':_0x1f963a};}if(!_0x5bdb50['rwKgB'](existsSync,_0x4297c8))throw new Error(_0x5bdb50['yfink'](_0x5bdb50[_0x958ad7(0x160)],_0x5bdb50['cuJcs']));const _0x12f641=await readdir(_0x4297c8,{'withFileTypes':!![]}),_0x324ba0=_0x12f641['filter'](_0x218e76=>_0x218e76[_0x958ad7(0x16a)]())['map'](_0x3e6b82=>_0x3e6b82['name']);if(_0x5bdb50['HluiM'](_0x324ba0[_0x958ad7(0x150)],0x0))throw new Error('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');if(_0x324ba0['length']===0x1){const _0x411377=_0x324ba0[0x0];return console[_0x958ad7(0x168)](_0x958ad7(0x162)+_0x411377),{'name':_0x411377,'path':join(_0x4297c8,_0x411377)};}throw new Error(_0x958ad7(0x13c)+_0x324ba0[_0x958ad7(0x174)](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x513b8b=_0x2a96,_0x1d7d9d={'hTsjV':function(_0x713e4f,_0xa42804){return _0x713e4f(_0xa42804);},'VuAEi':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','pxdvl':function(_0x1165d1,_0x2fcee1){return _0x1165d1(_0x2fcee1);},'xtRXU':_0x513b8b(0x178),'EPMNS':function(_0x539f9f,_0x45b280){return _0x539f9f(_0x45b280);},'oLUxp':'add','HCnon':_0x513b8b(0x153),'ebuGu':_0x513b8b(0x140),'QaSAh':_0x513b8b(0x171),'UUvim':'Failed\x20to\x20install\x20plugin:','YalQC':_0x513b8b(0x181),'AMZMo':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x1413d5=await _0x1d7d9d['hTsjV'](isPluginInstalled,_0x513b8b(0x140));if(_0x1413d5)return console[_0x513b8b(0x168)](_0x1d7d9d['VuAEi']),![];console[_0x513b8b(0x168)]('Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...');const _0x111771=await _0x1d7d9d[_0x513b8b(0x169)](isMarketplaceAdded,_0x513b8b(0x176));let _0x32ad59=_0x111771;if(_0x111771)console['log'](_0x1d7d9d[_0x513b8b(0x13f)]);else{const _0x21f43e=await _0x1d7d9d['EPMNS'](runClaudeCommand,[_0x513b8b(0x17f),_0x513b8b(0x15e),_0x1d7d9d[_0x513b8b(0x17b)],_0x513b8b(0x159)]);!_0x21f43e[_0x513b8b(0x14a)]?(console[_0x513b8b(0x172)](_0x513b8b(0x152),_0x21f43e['error']),console['log'](_0x1d7d9d['HCnon'])):_0x32ad59=!![];}if(_0x32ad59){const _0x18f3b4=await runClaudeCommand(['plugin',_0x513b8b(0x179),_0x1d7d9d['ebuGu'],_0x1d7d9d[_0x513b8b(0x156)],'project']);!_0x18f3b4['success']?(console[_0x513b8b(0x172)](_0x1d7d9d[_0x513b8b(0x173)],_0x18f3b4['error']),console[_0x513b8b(0x168)](_0x1d7d9d['YalQC'])):console['log'](_0x1d7d9d[_0x513b8b(0x164)]);}return!![];}function _0x3656(){const _0x30e828=['✓\x20Created\x20profile\x20settings:\x20baseUrl=','plugin','262233wRggyW','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','FSYbq','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','uXeWj','upHbF','auth','Multiple\x20CI\x20profiles\x20found:\x20','413920OqKTRb','baseUrl','xtRXU','ranger@trailhead','name','ejzNn','6501990jcruXT','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','608YKdKdA','project','lJEfa','lGqsF','GFfuV','success','trackPhaseStart','965mHmuIb','trackPhaseEnd','GNIRa','dir_setup','length','profile_activate','Failed\x20to\x20add\x20marketplace:','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ITZJV','wgtQZ','QaSAh','16374FHqCvs','12hUbcWS','ranger-testing/trailhead','HEevB','7518VAGUus','Tgxdm','profile','marketplace','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','KlkvS','5982246iDjHZL','Auto-detected\x20CI\x20profile:\x20','auth.json','AMZMo','ufmjs','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','No\x20API\x20token\x20available\x20for\x20decryption','log','pxdvl','isDirectory','✓\x20Active\x20profile:\x20','sUkIm','qkNpT','skipChromium','VAalw','278948ZwTztp','--scope','error','UUvim','join','settings.json','trailhead','path','✓\x20Marketplace\x20already\x20added','install','ovtRo','oLUxp','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','bjCnX'];_0x3656=function(){return _0x30e828;};return _0x3656();}function _0x2a96(_0x311f74,_0x347329){_0x311f74=_0x311f74-0x13a;const _0x36563b=_0x3656();let _0x2a9643=_0x36563b[_0x311f74];return _0x2a9643;}export async function setupCi(_0x565cd6,_0x3efd42,_0x5b193){const _0x36711b=_0x2a96,_0x35c064={'GNIRa':'\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','lJEfa':_0x36711b(0x13b),'wgtQZ':function(_0x1d784a){return _0x1d784a();},'qkNpT':function(_0x130798,_0x2036d2){return _0x130798(_0x2036d2);},'upHbF':'sessions','cRtAy':function(_0x1f0c48,_0x2c29ca){return _0x1f0c48(_0x2c29ca);},'ZPPMT':_0x36711b(0x14f),'VAalw':'chromium','lGqsF':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','Tgxdm':_0x36711b(0x151),'HEevB':function(_0xf2ae37,_0x3dbde6,_0x2f1f88){return _0xf2ae37(_0x3dbde6,_0x2f1f88);},'ITZJV':function(_0x30861a,_0x43289c,_0x4538a3){return _0x30861a(_0x43289c,_0x4538a3);},'TqyLX':function(_0xb08341,_0x28f4c4,_0x5e54cf){return _0xb08341(_0x28f4c4,_0x5e54cf);},'GFfuV':_0x36711b(0x163),'ovtRo':function(_0x426e0d,_0x505348,_0x2ed51d){return _0x426e0d(_0x505348,_0x2ed51d);},'NHQei':'auth.json.enc','MDzTb':function(_0x173961,_0x3a2734){return _0x173961(_0x3a2734);},'cxWuv':function(_0x41c383,_0x272a56){return _0x41c383(_0x272a56);},'ejzNn':_0x36711b(0x167),'ufmjs':function(_0x2ce35e,_0x3d8223,_0x25196d){return _0x2ce35e(_0x3d8223,_0x25196d);},'uXeWj':'✓\x20Auth\x20state\x20found','FSYbq':'plugin','bjCnX':'skills','sUkIm':function(_0x1b45c8,_0x2d12d3){return _0x1b45c8(_0x2d12d3);}};console[_0x36711b(0x168)](_0x35c064[_0x36711b(0x14e)]),_0x5b193?.[_0x36711b(0x14b)](_0x35c064[_0x36711b(0x147)]),await authenticate(_0x565cd6),_0x5b193?.[_0x36711b(0x14d)]('auth'),_0x5b193?.[_0x36711b(0x14b)](_0x36711b(0x14f));const {path:_0x45df54,installed:_0x8fcfbe}=await _0x35c064[_0x36711b(0x155)](ensureRangerDir);await _0x35c064[_0x36711b(0x16d)](writeRangerGitignore,_0x45df54);const _0xab9e9c=join(_0x45df54,_0x35c064[_0x36711b(0x13a)]);!_0x35c064['cRtAy'](existsSync,_0xab9e9c)&&await mkdir(_0xab9e9c,{'recursive':!![]});_0x5b193?.['trackPhaseEnd'](_0x35c064['ZPPMT'],{'installed':_0x8fcfbe}),_0x5b193?.['trackPhaseStart'](_0x35c064[_0x36711b(0x16f)]);let _0x182252=![];_0x3efd42?.['skipChromium']?console['log'](_0x35c064[_0x36711b(0x148)]):_0x182252=await _0x35c064['wgtQZ'](ensureChromium);_0x5b193?.['trackPhaseEnd']('chromium',{'installed':_0x182252,'skipped':!!_0x3efd42?.[_0x36711b(0x16e)]}),_0x5b193?.['trackPhaseStart'](_0x35c064[_0x36711b(0x15c)]);const _0x1f92e1=await findCiProfile(_0x3efd42?.[_0x36711b(0x15d)]);let _0x1a3542=![];_0x3efd42?.['baseUrl']&&(await mkdir(_0x1f92e1['path'],{'recursive':!![]}),await _0x35c064[_0x36711b(0x15a)](saveSettings,_0x1f92e1['name'],{'baseUrl':_0x3efd42[_0x36711b(0x13e)],'headless':!![]}),console[_0x36711b(0x168)](_0x36711b(0x17e)+_0x3efd42[_0x36711b(0x13e)]),_0x1a3542=!![]);const _0x36332f=_0x35c064[_0x36711b(0x154)](join,_0x1f92e1['path'],_0x36711b(0x175));if(!existsSync(_0x36332f)&&!_0x1a3542)throw new Error('CI\x20profile\x20\x22'+_0x1f92e1['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x244ecc=_0x35c064['TqyLX'](join,_0x1f92e1[_0x36711b(0x177)],_0x35c064[_0x36711b(0x149)]),_0x5c5d63=_0x35c064[_0x36711b(0x17a)](join,_0x1f92e1[_0x36711b(0x177)],_0x35c064['NHQei']),_0x26e400=_0x35c064['MDzTb'](existsSync,_0x244ecc),_0x2044ff=_0x35c064['cxWuv'](existsSync,_0x5c5d63);if(_0x2044ff)try{const _0xc6d0e1=await getToken();if(!_0xc6d0e1)throw new Error(_0x35c064[_0x36711b(0x142)]);const _0x9fd08c=await _0x35c064[_0x36711b(0x16d)](readFile,_0x5c5d63);_0x35c064[_0x36711b(0x165)](decrypt,_0x9fd08c,_0xc6d0e1),console[_0x36711b(0x168)](_0x36711b(0x17c));}catch(_0x45df79){const _0x32adb8=_0x45df79 instanceof Error?_0x45df79['message']:String(_0x45df79);throw new Error(_0x36711b(0x15f)+_0x1f92e1['name']+'\x22:\x20'+_0x32adb8);}else _0x26e400?console[_0x36711b(0x168)](_0x35c064[_0x36711b(0x184)]):console[_0x36711b(0x168)](_0x36711b(0x183));await writeActiveProfileName(_0x1f92e1[_0x36711b(0x141)]),console[_0x36711b(0x168)](_0x36711b(0x16b)+_0x1f92e1['name']),_0x5b193?.[_0x36711b(0x14d)](_0x35c064['Tgxdm'],{'profileName':_0x1f92e1['name'],'hasAuth':_0x26e400,'hasEncryptedAuth':_0x2044ff,'createdSettings':_0x1a3542}),_0x5b193?.['trackPhaseStart'](_0x35c064[_0x36711b(0x182)]);const _0x725280=await _0x35c064['wgtQZ'](installPluginNonInteractive);_0x5b193?.['trackPhaseEnd'](_0x35c064['FSYbq'],{'installed':_0x725280}),_0x5b193?.['trackPhaseStart'](_0x35c064['bjCnX']),await _0x35c064[_0x36711b(0x16c)](skillup,{'autoInstall':_0x36711b(0x146)}),_0x5b193?.['trackPhaseEnd'](_0x35c064[_0x36711b(0x17d)]),console[_0x36711b(0x168)](_0x36711b(0x144));}
|
|
1
|
+
(function(_0x5509e4,_0x56f18f){const _0x2aa00f=_0x30fc,_0x463ad1=_0x5509e4();while(!![]){try{const _0x1c9c0e=parseInt(_0x2aa00f(0x18b))/0x1*(-parseInt(_0x2aa00f(0x1c0))/0x2)+parseInt(_0x2aa00f(0x196))/0x3+-parseInt(_0x2aa00f(0x19a))/0x4*(parseInt(_0x2aa00f(0x19f))/0x5)+parseInt(_0x2aa00f(0x1b3))/0x6*(-parseInt(_0x2aa00f(0x186))/0x7)+parseInt(_0x2aa00f(0x1be))/0x8*(parseInt(_0x2aa00f(0x185))/0x9)+parseInt(_0x2aa00f(0x1b6))/0xa*(parseInt(_0x2aa00f(0x1a0))/0xb)+parseInt(_0x2aa00f(0x19e))/0xc;if(_0x1c9c0e===_0x56f18f)break;else _0x463ad1['push'](_0x463ad1['shift']());}catch(_0x546901){_0x463ad1['push'](_0x463ad1['shift']());}}}(_0x1e3d,0xe3100));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x30fc(_0x47cac7,_0x4ff947){_0x47cac7=_0x47cac7-0x180;const _0x1e3d18=_0x1e3d();let _0x30fc4b=_0x1e3d18[_0x47cac7];return _0x30fc4b;}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';function _0x1e3d(){const _0x162b28=['10HGkcjN','FbfvR','iXwnE','chromium','UGmlw','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','Failed\x20to\x20install\x20plugin:','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','11939384zBiwVD','trackPhaseEnd','152EaqfBx','qkgNd','marketplace','profile_activate','path','✓\x20Active\x20profile:\x20','map','isDirectory','dir_setup','ONbXi','9QrQiaP','7kvloBl','eXzMQ','DDLBv','OcjQm','PGjHF','5178lTFdYS','--scope','plugin','skipChromium','CmXBJ','baseUrl','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','✓\x20Claude\x20Code\x20plugin\x20installed','Failed\x20to\x20add\x20marketplace:','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','error','700134lLlaaK','\x22:\x20','ranger@trailhead','tfbYt','4vYnmGM','success','project','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','10224396sDIDdc','1819945AxQGFl','6428829CKuNbu','cZzEs','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','✓\x20Created\x20profile\x20settings:\x20baseUrl=','length','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','auth.json.enc','fCboE','pdjzq','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','bCCHf','trackPhaseStart','profile','message','UDcnr','name','XWVtm','log','EpWQU','8848248RkfqgM','nOgbr','TAFCk'];_0x1e3d=function(){return _0x162b28;};return _0x1e3d();}import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x15bbf7){const _0x340942=_0x30fc,_0x4facf6={'FbfvR':function(_0x3d20e7,_0x5d031d,_0x3d547b){return _0x3d20e7(_0x5d031d,_0x3d547b);},'TAFCk':function(_0x16c541,_0x4c1ab8){return _0x16c541+_0x4c1ab8;},'THnIj':function(_0x2a8d71,_0x3e6503){return _0x2a8d71===_0x3e6503;},'tfbYt':_0x340942(0x19d),'mPGeH':function(_0x347274,_0x58f1ee){return _0x347274===_0x58f1ee;}},_0x4f6e17=getRangerDir(),_0xd32c0d=_0x4facf6[_0x340942(0x1b7)](join,_0x4f6e17,'ci');if(_0x15bbf7){const _0x2c5e5b=join(_0xd32c0d,_0x15bbf7);return{'name':_0x15bbf7,'path':_0x2c5e5b};}if(!existsSync(_0xd32c0d))throw new Error(_0x4facf6[_0x340942(0x1b5)]('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x340942(0x19d)));const _0x496669=await readdir(_0xd32c0d,{'withFileTypes':!![]}),_0x157388=_0x496669['filter'](_0x2b155c=>_0x2b155c[_0x340942(0x182)]())[_0x340942(0x181)](_0x3178e1=>_0x3178e1['name']);if(_0x4facf6['THnIj'](_0x157388['length'],0x0))throw new Error(_0x4facf6['TAFCk']('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x4facf6[_0x340942(0x199)]));if(_0x4facf6['mPGeH'](_0x157388[_0x340942(0x1a4)],0x1)){const _0x1a1feb=_0x157388[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x1a1feb),{'name':_0x1a1feb,'path':join(_0xd32c0d,_0x1a1feb)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x157388['join'](',\x20')+_0x340942(0x1a9));}async function installPluginNonInteractive(){const _0x2e9f81=_0x30fc,_0x48fa8a={'pdjzq':_0x2e9f81(0x198),'CmXBJ':function(_0xb953a1,_0x13ac4d){return _0xb953a1(_0x13ac4d);},'UIfhC':'trailhead','mcOqw':'✓\x20Marketplace\x20already\x20added','cZzEs':'plugin','yWuUW':_0x2e9f81(0x1c2),'XWVtm':'add','CcNyA':'ranger-testing/trailhead','UGmlw':'install','UDcnr':_0x2e9f81(0x18c),'OcjQm':_0x2e9f81(0x1bc),'opedA':_0x2e9f81(0x1bd)},_0x36cff7=await isPluginInstalled(_0x48fa8a[_0x2e9f81(0x1a8)]);if(_0x36cff7)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console['log']('Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...');const _0x1513ab=await _0x48fa8a[_0x2e9f81(0x18f)](isMarketplaceAdded,_0x48fa8a['UIfhC']);let _0x860f5c=_0x1513ab;if(_0x1513ab)console['log'](_0x48fa8a['mcOqw']);else{const _0x5b716f=await _0x48fa8a['CmXBJ'](runClaudeCommand,[_0x48fa8a['cZzEs'],_0x48fa8a['yWuUW'],_0x48fa8a[_0x2e9f81(0x1b0)],_0x48fa8a['CcNyA']]);!_0x5b716f[_0x2e9f81(0x19b)]?(console['error'](_0x2e9f81(0x193),_0x5b716f[_0x2e9f81(0x195)]),console[_0x2e9f81(0x1b1)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead')):_0x860f5c=!![];}if(_0x860f5c){const _0x168bfd=await runClaudeCommand([_0x48fa8a[_0x2e9f81(0x1a1)],_0x48fa8a[_0x2e9f81(0x1ba)],'ranger@trailhead',_0x48fa8a[_0x2e9f81(0x1ae)],'project']);!_0x168bfd['success']?(console[_0x2e9f81(0x195)](_0x48fa8a[_0x2e9f81(0x189)],_0x168bfd[_0x2e9f81(0x195)]),console[_0x2e9f81(0x1b1)](_0x48fa8a['opedA'])):console['log'](_0x2e9f81(0x192));}return!![];}export async function setupCi(_0x8169fa,_0x263202,_0xeed999){const _0x37a050=_0x30fc,_0x1497fb={'PGjHF':'auth','FyPHT':function(_0x176d83,_0x22d438){return _0x176d83(_0x22d438);},'EpWQU':function(_0x1ea591,_0x33a59a){return _0x1ea591(_0x33a59a);},'ACtGf':_0x37a050(0x194),'nOgbr':function(_0x21ed3f){return _0x21ed3f();},'bCCHf':_0x37a050(0x1c3),'eXzMQ':function(_0x347aec,_0x3cbd73){return _0x347aec(_0x3cbd73);},'qkgNd':function(_0xd7a8f6,_0xc6fedd,_0x25d217){return _0xd7a8f6(_0xc6fedd,_0x25d217);},'iXwnE':function(_0xa52ae7,_0x57e0a4,_0x367982){return _0xa52ae7(_0x57e0a4,_0x367982);},'ONbXi':'settings.json','DwcjB':'auth.json','NMQkU':_0x37a050(0x1a6),'FdQCs':_0x37a050(0x1a2),'fCboE':function(_0x5a7980,_0x9e238){return _0x5a7980(_0x9e238);},'BdIAh':_0x37a050(0x18d),'UAQac':function(_0x27b5f6){return _0x27b5f6();},'DDLBv':'skills','LbWyp':'\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a'};console[_0x37a050(0x1b1)]('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0xeed999?.[_0x37a050(0x1ab)](_0x1497fb['PGjHF']),await _0x1497fb['FyPHT'](authenticate,_0x8169fa),_0xeed999?.['trackPhaseEnd'](_0x1497fb[_0x37a050(0x18a)]),_0xeed999?.['trackPhaseStart'](_0x37a050(0x183));const {path:_0x56fcce,installed:_0x1ba5b2}=await ensureRangerDir();await writeRangerGitignore(_0x56fcce);const _0x9a02c1=join(_0x56fcce,'sessions');!_0x1497fb[_0x37a050(0x1b2)](existsSync,_0x9a02c1)&&await mkdir(_0x9a02c1,{'recursive':!![]});_0xeed999?.['trackPhaseEnd']('dir_setup',{'installed':_0x1ba5b2}),_0xeed999?.['trackPhaseStart']('chromium');let _0x5d1cec=![];_0x263202?.['skipChromium']?console['log'](_0x1497fb['ACtGf']):_0x5d1cec=await _0x1497fb[_0x37a050(0x1b4)](ensureChromium);_0xeed999?.[_0x37a050(0x1bf)](_0x37a050(0x1b9),{'installed':_0x5d1cec,'skipped':!!_0x263202?.[_0x37a050(0x18e)]}),_0xeed999?.['trackPhaseStart'](_0x1497fb[_0x37a050(0x1aa)]);const _0x2f654e=await _0x1497fb[_0x37a050(0x187)](findCiProfile,_0x263202?.[_0x37a050(0x1ac)]);let _0x1882ba=![];_0x263202?.[_0x37a050(0x190)]&&(await _0x1497fb[_0x37a050(0x1c1)](mkdir,_0x2f654e['path'],{'recursive':!![]}),await _0x1497fb['iXwnE'](saveSettings,_0x2f654e['name'],{'baseUrl':_0x263202['baseUrl'],'headless':!![]}),console['log'](_0x37a050(0x1a3)+_0x263202['baseUrl']),_0x1882ba=!![]);const _0x361d87=_0x1497fb['iXwnE'](join,_0x2f654e['path'],_0x1497fb[_0x37a050(0x184)]);if(!_0x1497fb['eXzMQ'](existsSync,_0x361d87)&&!_0x1882ba)throw new Error('CI\x20profile\x20\x22'+_0x2f654e[_0x37a050(0x1af)]+_0x37a050(0x1bb));const _0x5d6c6b=join(_0x2f654e[_0x37a050(0x1c4)],_0x1497fb['DwcjB']),_0x85d4d8=_0x1497fb[_0x37a050(0x1b8)](join,_0x2f654e[_0x37a050(0x1c4)],_0x1497fb['NMQkU']),_0x468b17=_0x1497fb['EpWQU'](existsSync,_0x5d6c6b),_0x529364=_0x1497fb['EpWQU'](existsSync,_0x85d4d8);if(_0x529364)try{const _0x1d24cc=await _0x1497fb[_0x37a050(0x1b4)](getToken);if(!_0x1d24cc)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x2af866=await readFile(_0x85d4d8);_0x1497fb['qkgNd'](decrypt,_0x2af866,_0x1d24cc),console[_0x37a050(0x1b1)](_0x1497fb['FdQCs']);}catch(_0x56c37b){const _0x1eab09=_0x56c37b instanceof Error?_0x56c37b[_0x37a050(0x1ad)]:String(_0x56c37b);throw new Error(_0x37a050(0x1a5)+_0x2f654e[_0x37a050(0x1af)]+_0x37a050(0x197)+_0x1eab09);}else _0x468b17?console[_0x37a050(0x1b1)]('✓\x20Auth\x20state\x20found'):console['log'](_0x37a050(0x191));await _0x1497fb[_0x37a050(0x1a7)](writeActiveProfileName,_0x2f654e[_0x37a050(0x1af)]),console['log'](_0x37a050(0x180)+_0x2f654e[_0x37a050(0x1af)]),_0xeed999?.['trackPhaseEnd'](_0x1497fb[_0x37a050(0x1aa)],{'profileName':_0x2f654e['name'],'hasAuth':_0x468b17,'hasEncryptedAuth':_0x529364,'createdSettings':_0x1882ba}),_0xeed999?.[_0x37a050(0x1ab)](_0x1497fb['BdIAh']);const _0x67628a=await _0x1497fb['UAQac'](installPluginNonInteractive);_0xeed999?.['trackPhaseEnd'](_0x37a050(0x18d),{'installed':_0x67628a}),_0xeed999?.[_0x37a050(0x1ab)](_0x1497fb[_0x37a050(0x188)]),await skillup({'autoInstall':_0x37a050(0x19c)}),_0xeed999?.[_0x37a050(0x1bf)](_0x1497fb['DDLBv']),console['log'](_0x1497fb['LbWyp']);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x55600a,_0x4518fa){const _0x6f188a=_0x4de8,_0x2c993d=_0x55600a();while(!![]){try{const _0x23016e=parseInt(_0x6f188a(0x184))/0x1*(parseInt(_0x6f188a(0x193))/0x2)+-parseInt(_0x6f188a(0x17a))/0x3+-parseInt(_0x6f188a(0x177))/0x4+-parseInt(_0x6f188a(0x179))/0x5+parseInt(_0x6f188a(0x19d))/0x6+-parseInt(_0x6f188a(0x1a0))/0x7*(-parseInt(_0x6f188a(0x196))/0x8)+parseInt(_0x6f188a(0x176))/0x9*(parseInt(_0x6f188a(0x175))/0xa);if(_0x23016e===_0x4518fa)break;else _0x2c993d['push'](_0x2c993d['shift']());}catch(_0x4e2e7f){_0x2c993d['push'](_0x2c993d['shift']());}}}(_0x191d,0xed040));function _0x191d(){const _0x416f0f=['message','This\x20project\x20only\x20(','\x0a📦\x20Installing\x20skills...\x0a','\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!','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','To\x20get\x20started:','stdin','2FzqTsr','orQIA','project','152mZdkiz','JhCGt','project-level','\x20\x202.\x20Run:\x20ranger\x20setup','\x20skill','warn','isTTY','11638578dYweGs','list','prompt','138929IwvhOO','/.opencode/skills/','171260nMJtka','954qgRwVo','7081988suJPkl','\x0a✅\x20Installed\x20','2945120MsaFbx','4108911oqyjOm','user','CybBF','user-level','log','\x20<your-api-token>','PdrFB','koXNE','jLTOe','stdout','567762mSJRxX','Where\x20should\x20skills\x20be\x20installed?','/.claude/skills/','\x20\x203.\x20Run:\x20ranger\x20skillup','HPRZo','JFgnl','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','opencode'];_0x191d=function(){return _0x416f0f;};return _0x191d();}import{basename}from'path';import _0x3434a7 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0x4de8(_0x29446a,_0x1bba4a){_0x29446a=_0x29446a-0x174;const _0x191d3d=_0x191d();let _0x4de841=_0x191d3d[_0x29446a];return _0x4de841;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x759b94={}){const _0x26668a=_0x4de8,_0x48db8f={'GFPHZ':function(_0x3b494b){return _0x3b494b();},'PdrFB':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','wycCd':function(_0xed8bc4,_0x339924){return _0xed8bc4===_0x339924;},'JFgnl':_0x26668a(0x18b),'cIJBE':'\x20--opencode','dkhdD':function(_0x6a394,_0xbaabae){return _0x6a394===_0xbaabae;},'pgxBn':'✓\x20Found\x20API\x20token','YxSSW':function(_0x145fc7){return _0x145fc7();},'iwcKr':function(_0x168632,_0x747b68){return _0x168632(_0x747b68);},'JhCGt':_0x26668a(0x17b),'TTBzb':_0x26668a(0x19e),'IPndp':'installLevel','TsAKV':_0x26668a(0x185),'koXNE':'project','CybBF':_0x26668a(0x18e),'HPRZo':function(_0x246f7c,_0xe505f,_0x3b70af){return _0x246f7c(_0xe505f,_0x3b70af);},'orQIA':'ranger','ZebfI':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','tcITk':function(_0xe7169e,_0x2a8b5f){return _0xe7169e instanceof _0x2a8b5f;},'GYUEa':function(_0x3206c1,_0x22f62d){return _0x3206c1>_0x22f62d;},'GtPyp':_0x26668a(0x198),'jLTOe':function(_0x59695d,_0x3db40f){return _0x59695d>_0x3db40f;},'aqBjW':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x26668a(0x17e)](_0x26668a(0x190));const _0x4edbb8=_0x759b94['platform']??'claude',_0x220b63=await _0x48db8f['GFPHZ'](getToken);if(!_0x220b63){console['log']('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0x26668a(0x17e)](_0x26668a(0x191)),console['log'](_0x48db8f[_0x26668a(0x180)]),console['log'](_0x26668a(0x199)+(_0x48db8f['wycCd'](_0x4edbb8,_0x48db8f[_0x26668a(0x189)])?_0x48db8f['cIJBE']:'')+_0x26668a(0x17f)),console['log'](_0x26668a(0x187)+(_0x48db8f['dkhdD'](_0x4edbb8,_0x48db8f[_0x26668a(0x189)])?'\x20--opencode':'')+'\x0a');return;}console['log'](_0x48db8f['pgxBn']);const _0x2c185a=_0x48db8f['YxSSW'](getProjectRoot),_0x5bee0c=basename(_0x2c185a),_0x3f5ffa=_0x48db8f['dkhdD'](_0x4edbb8,_0x48db8f['JFgnl'])?_0x48db8f['iwcKr'](getOpencodeConfigDir,_0x48db8f[_0x26668a(0x197)])+'/skills/':_0x48db8f['YxSSW'](getClaudeConfigDir)+'/skills/',_0x2719a=_0x4edbb8===_0x48db8f[_0x26668a(0x189)]?_0x2c185a+_0x26668a(0x174):_0x2c185a+_0x26668a(0x186),_0x22f3a3=process[_0x26668a(0x192)]['isTTY']&&process[_0x26668a(0x183)][_0x26668a(0x19c)];let _0x682a78;if(_0x759b94['autoInstall'])_0x682a78=_0x759b94['autoInstall'];else{if(_0x22f3a3){const _0x26d24f=await _0x3434a7[_0x26668a(0x19f)]([{'type':_0x48db8f['TTBzb'],'name':_0x48db8f['IPndp'],'message':_0x48db8f['TsAKV'],'choices':[{'name':'All\x20projects\x20('+_0x3f5ffa+')','value':'user'},{'name':_0x26668a(0x18d)+_0x2719a+')','value':_0x26668a(0x195)}]}]);_0x682a78=_0x26d24f['installLevel'];}else _0x682a78=_0x48db8f[_0x26668a(0x181)],console[_0x26668a(0x17e)](_0x26668a(0x18a)+_0x2719a+')');}let _0x25f429=0x0;const _0x303629=getCurrentVersion();console['log'](_0x48db8f[_0x26668a(0x17c)]);try{const _0x439a78=await _0x48db8f[_0x26668a(0x188)](installSkill,_0x48db8f[_0x26668a(0x194)],{'cliVersion':_0x303629,'level':_0x682a78,'platform':_0x4edbb8});_0x439a78&&_0x25f429++;}catch(_0x3f3f13){console[_0x26668a(0x19b)](_0x48db8f['ZebfI'],_0x48db8f['tcITk'](_0x3f3f13,Error)?_0x3f3f13[_0x26668a(0x18c)]:_0x3f3f13);}if(_0x48db8f['GYUEa'](_0x25f429,0x0)){const _0xca707c=_0x48db8f['wycCd'](_0x682a78,_0x48db8f[_0x26668a(0x197)])?_0x26668a(0x17d):_0x48db8f['GtPyp'];console[_0x26668a(0x17e)](_0x26668a(0x178)+_0x25f429+'\x20'+_0xca707c+_0x26668a(0x19a)+(_0x48db8f[_0x26668a(0x182)](_0x25f429,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x759b94['suppressUsage']&&(console['log']('To\x20use:'),_0x4edbb8===_0x26668a(0x18b)?console[_0x26668a(0x17e)]('\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.'):console[_0x26668a(0x17e)](_0x26668a(0x18f)));}else console[_0x26668a(0x17e)](_0x48db8f['aqBjW']);}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x540eb1=_0x4608;(function(_0x46126c,_0x7bc242){const _0xbafe1d=_0x4608,_0x223ba0=_0x46126c();while(!![]){try{const _0x577e77=parseInt(_0xbafe1d(0x7a))/0x1*(parseInt(_0xbafe1d(0x86))/0x2)+-parseInt(_0xbafe1d(0xbf))/0x3*(parseInt(_0xbafe1d(0xa9))/0x4)+parseInt(_0xbafe1d(0xa0))/0x5+-parseInt(_0xbafe1d(0xb0))/0x6+parseInt(_0xbafe1d(0xa4))/0x7*(parseInt(_0xbafe1d(0xb2))/0x8)+parseInt(_0xbafe1d(0xb3))/0x9*(parseInt(_0xbafe1d(0xcf))/0xa)+parseInt(_0xbafe1d(0xbd))/0xb*(parseInt(_0xbafe1d(0xa8))/0xc);if(_0x577e77===_0x7bc242)break;else _0x223ba0['push'](_0x223ba0['shift']());}catch(_0x26fc2c){_0x223ba0['push'](_0x223ba0['shift']());}}}(_0x3780,0x77ffa));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';function _0x4608(_0x4d044a,_0x1df52a){_0x4d044a=_0x4d044a-0x6b;const _0x3780a0=_0x3780();let _0x4608ad=_0x3780a0[_0x4d044a];return _0x4608ad;}import{spawn}from'child_process';import _0x86f06d from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';function _0x3780(){const _0x334c18=['No\x20git\x20repository\x20found','1180081rMOjnp','wlijP','env','resolve','56292GFNpRZ','1284GUKmny','mwAyu','MukjV','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','SMQcZ','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','✓\x20Local\x20profile\x20already\x20exists','3093876EXPHFX','\x20install\x20chromium','24QFzUAd','18RqsfLK','chromium','lPySB','install','JIXNV','Authentication\x20failed:\x20','CxXaI','AswKw','vuEPQ','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','341EhRwFM','provided_token','8826LBkRVw','\x1b[0m','Nsars','The\x20required\x20version\x20(','ibagJ','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','error','trackPhaseError','RCTTb','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','log','LaAKx','trackPhaseStart','url','\x0a⚠\x20Skipping\x20Chromium\x20installation.','ckKFv','2420500Gyjxmz','isTTY','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','gKCcR','AbmGJ','dmgBY','organizationName','GhQdm','success','mkqrg','opencode','message','confirm','BASzf','executablePath','\x0a🚀\x20Ranger\x20Setup\x0a','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','hDvHf','ready','\x0aIn\x20Claude\x20Code,\x20run\x20','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','hjCQT','359jcIhhc','npx','prompt','stdout','IbZcJ','skipChromium','/ranger:enable','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','gfDvF','plugin','rYOZX','existing_token','3156jGMWZh','Installation\x20failed\x20with\x20exit\x20code\x20','✓\x20Authenticated\x20to\x20','✓\x20Created\x20.ranger/\x20directory','ghvAN','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','user','✓\x20Playwright\x20Chromium\x20browser\x20found','\x1b[1m',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','ZHStu','GITHUB_ENV','skills','inherit','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','You\x20can\x20install\x20it\x20manually\x20by\x20running:','LetDK','vCcnI','device_auth','EgCxQ','playwright@','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','scope','git_check','force','trackPhaseEnd','1248850ArAwJV','EaTOc','stdin'];_0x3780=function(){return _0x334c18;};return _0x3780();}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=_0x26bddf=>_0x540eb1(0x8e)+_0x26bddf+_0x540eb1(0xc0);function getPlaywrightVersion(){const _0x595a43=_0x540eb1,_0x6ae1d2={'ORvQS':'playwright/package.json'};try{const _0x13e6f6=require[_0x595a43(0xa7)](_0x6ae1d2['ORvQS']),_0x449260=require(_0x13e6f6);return _0x449260['version'];}catch{return null;}}function installChromiumBinary(_0x4e9ffd){const _0x2ee466=_0x540eb1,_0x138955={'qEnbE':function(_0xeebc9d,_0x5be78f){return _0xeebc9d(_0x5be78f);},'eYlEj':function(_0x315c52,_0x15244d){return _0x315c52(_0x15244d);},'LnVbG':'playwright','LaAKx':'install','AbmGJ':_0x2ee466(0x7b),'LetDK':_0x2ee466(0x93),'wlijP':function(_0x6f70c,_0xfa283e){return _0x6f70c===_0xfa283e;},'hjCQT':'win32','MukjV':'close'};return new Promise((_0x720f9f,_0x37cfbf)=>{const _0x52a66a=_0x2ee466,_0x2a299d={'IbZcJ':function(_0x13a4f8,_0x59c38b){return _0x138955['eYlEj'](_0x13a4f8,_0x59c38b);}},_0x29fa3b=_0x4e9ffd?[_0x52a66a(0x9a)+_0x4e9ffd,_0x52a66a(0xb6),'chromium']:[_0x138955['LnVbG'],_0x138955[_0x52a66a(0xca)],_0x52a66a(0xb4)],_0x3a9231=spawn(_0x138955[_0x52a66a(0xd4)],_0x29fa3b,{'stdio':_0x138955[_0x52a66a(0x96)],'shell':_0x138955[_0x52a66a(0xa5)](process['platform'],_0x138955[_0x52a66a(0x79)])});_0x3a9231['on'](_0x138955[_0x52a66a(0xab)],_0x4e5fda=>{const _0x16f672=_0x52a66a;_0x4e5fda===0x0?_0x720f9f():_0x2a299d[_0x16f672(0x7e)](_0x37cfbf,new Error(_0x16f672(0x87)+_0x4e5fda));}),_0x3a9231['on']('error',_0x4debbe=>{_0x138955['qEnbE'](_0x37cfbf,_0x4debbe);});});}export async function authenticate(_0x34b466){const _0x58aa2d=_0x540eb1,_0x208fae={'ibagJ':function(_0xae4c39){return _0xae4c39();},'dmgBY':_0x58aa2d(0x85),'EgCxQ':function(_0x578d73){return _0x578d73();},'xsaEc':function(_0x42b222,_0x3d15dc){return _0x42b222(_0x3d15dc);},'fEkUv':function(_0xda737a,_0x127bb9){return _0xda737a(_0x127bb9);}};if(!_0x34b466){const _0xd6a282=await _0x208fae[_0x58aa2d(0xc3)](getToken);if(_0xd6a282){const _0x1eda85=await getCurrentUser(_0xd6a282);if(_0x1eda85['success'])return console[_0x58aa2d(0xc9)]('✓\x20Already\x20authenticated\x20to\x20'+_0x1eda85['user']['organizationName']),{'token':_0xd6a282,'method':_0x208fae[_0x58aa2d(0xd5)]};}try{_0x34b466=await _0x208fae[_0x58aa2d(0x99)](runDeviceAuthFlow);}catch(_0x1fa330){throw new Error(_0x58aa2d(0xb8)+(_0x1fa330 instanceof Error?_0x1fa330[_0x58aa2d(0x6e)]:_0x1fa330));}const _0x4edd83=await _0x208fae['xsaEc'](getCurrentUser,_0x34b466);if(!_0x4edd83[_0x58aa2d(0x6b)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x4edd83['error']);return console['log'](_0x58aa2d(0x88)+_0x4edd83[_0x58aa2d(0x8c)][_0x58aa2d(0xd6)]),{'token':_0x34b466,'method':_0x58aa2d(0x98)};}console['log']('Validating\x20API\x20token...');const _0x324f0c=await _0x208fae['fEkUv'](getCurrentUser,_0x34b466);if(!_0x324f0c[_0x58aa2d(0x6b)]){if(_0x324f0c['status'])throw new Error('Authentication\x20failed:\x20'+_0x324f0c[_0x58aa2d(0xc5)]+_0x58aa2d(0xc4));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x324f0c['error']+_0x58aa2d(0xac));}return console[_0x58aa2d(0xc9)](_0x58aa2d(0x88)+_0x324f0c['user'][_0x58aa2d(0xd6)]),await storeToken(_0x34b466),console['log'](process[_0x58aa2d(0xa6)][_0x58aa2d(0x91)]?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x34b466,'method':_0x58aa2d(0xbe)};}export async function ensureRangerDir(){const _0x33455b=_0x540eb1,_0x3cfbf7={'ghvAN':function(_0x228eed){return _0x228eed();}},_0x6f2390=findGitRoot(),_0x236b9e=_0x6f2390?join(_0x6f2390,'.ranger'):_0x3cfbf7[_0x33455b(0x8a)](getRangerDir);return!existsSync(_0x236b9e)?(await mkdir(_0x236b9e,{'recursive':!![]}),console[_0x33455b(0xc9)](_0x33455b(0x89)),{'path':_0x236b9e,'installed':!![]}):(console['log']('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x236b9e,'installed':![]});}export async function ensureChromium(){const _0x24fe0f=_0x540eb1,_0x1c7d33={'PhTmF':function(_0x56365a,_0x4d725e){return _0x56365a(_0x4d725e);},'gKCcR':_0x24fe0f(0x6f),'GhQdm':function(_0xc37dfe,_0xb2f51d){return _0xc37dfe(_0xb2f51d);},'DfDPX':function(_0x13e382,_0x22a8f7){return _0x13e382 instanceof _0x22a8f7;},'YEAIJ':_0x24fe0f(0xcd),'kZVDH':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x3ef999=![];try{const _0x61c904=chromium[_0x24fe0f(0x71)]();_0x3ef999=_0x1c7d33['PhTmF'](existsSync,_0x61c904);}catch{_0x3ef999=![];}if(_0x3ef999)return console[_0x24fe0f(0xc9)](_0x24fe0f(0x8d)),![];const _0x3826b1=getPlaywrightVersion(),_0x534fcf=process['stdin'][_0x24fe0f(0xd0)]&&process[_0x24fe0f(0x7d)][_0x24fe0f(0xd0)];let _0x1c5854=!![];if(_0x534fcf){const {install:_0x3c20e8}=await _0x86f06d[_0x24fe0f(0x7c)]([{'type':_0x1c7d33[_0x24fe0f(0xd3)],'name':_0x24fe0f(0xb6),'message':_0x3826b1?_0x24fe0f(0xc2)+_0x3826b1+_0x24fe0f(0x8f):_0x24fe0f(0x94),'default':!![]}]);_0x1c5854=_0x3c20e8;}else console['log'](_0x24fe0f(0xd2)+(_0x3826b1?'\x20'+_0x3826b1:'')+'...');if(_0x1c5854){console[_0x24fe0f(0xc9)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x1c7d33[_0x24fe0f(0xd7)](installChromiumBinary,_0x3826b1),console[_0x24fe0f(0xc9)](_0x24fe0f(0x9b));}catch(_0x8a05c8){console['error'](_0x24fe0f(0xd1),_0x1c7d33['DfDPX'](_0x8a05c8,Error)?_0x8a05c8['message']:_0x8a05c8),console[_0x24fe0f(0xc9)](_0x24fe0f(0x95)),_0x3826b1?console['log']('\x20\x20npx\x20playwright@'+_0x3826b1+_0x24fe0f(0xb1)):console[_0x24fe0f(0xc9)]('\x20\x20npx\x20playwright\x20install\x20chromium');}}else console['log'](_0x1c7d33['YEAIJ']),console[_0x24fe0f(0xc9)](_0x1c7d33['kZVDH']),_0x3826b1?console['log']('\x20\x20npx\x20playwright@'+_0x3826b1+'\x20install\x20chromium'):console[_0x24fe0f(0xc9)]('\x20\x20npx\x20playwright\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x21b6d7){const _0x28611c=_0x540eb1,_0x4118a8={'djTwX':'✓\x20Created\x20.ranger/.gitignore'},_0x14c6fc=join(_0x21b6d7,'.gitignore'),_0x7655f='\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(_0x14c6fc,_0x7655f),console[_0x28611c(0xc9)](_0x4118a8['djTwX']);}function printProfileSetupLaterInstructions(){const _0x1c1340={'iUdzy':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','jynYN':'Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a'};console['log'](_0x1c1340['iUdzy']),console['log']('\x20\x20'+bold('ranger\x20profile\x20add\x20local')),console['log'](_0x1c1340['jynYN']);}async function ensureLocalEnv(_0x2d08a1,_0x17f563){const _0x43314d=_0x540eb1,_0x5aabd7={'gfDvF':'local','cfnDR':_0x43314d(0x81),'AswKw':_0x43314d(0x6f),'mkqrg':'wantsProfile','zAAtZ':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','hlkpf':function(_0x485298){return _0x485298();}};if(!findGitRoot())return console[_0x43314d(0xc9)](_0x43314d(0x73)),{'ready':![],'skipped':!![]};if(findExistingEnv('local',{'locations':[_0x5aabd7[_0x43314d(0x82)]]}))return console[_0x43314d(0xc9)](_0x43314d(0xaf)),{'ready':!![],'skipped':![]};const _0x448de8=process[_0x43314d(0xa2)]['isTTY']&&process[_0x43314d(0x7d)]['isTTY'];if(_0x448de8&&!_0x2d08a1?.[_0x43314d(0xcc)]){console['log'](_0x5aabd7['cfnDR']),console['log'](_0x43314d(0xae)),console['log']('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console[_0x43314d(0xc9)]('use\x20until\x20the\x20session\x20expires.\x0a'),console[_0x43314d(0xc9)]('You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.');const {wantsProfile:_0x3bcd10}=await _0x86f06d['prompt']([{'type':_0x5aabd7[_0x43314d(0xba)],'name':_0x5aabd7[_0x43314d(0x6c)],'message':_0x5aabd7['zAAtZ'],'default':!![]}]);if(!_0x3bcd10)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv('local',{'url':_0x2d08a1?.[_0x43314d(0xcc)],'force':_0x2d08a1?.[_0x43314d(0x9e)]},_0x17f563),{'ready':!![],'skipped':![]};}catch(_0x3e6280){return console['error']('\x0a❌\x20Profile\x20setup\x20failed:',_0x3e6280 instanceof Error?_0x3e6280[_0x43314d(0x6e)]:_0x3e6280),_0x5aabd7['hlkpf'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x258626,_0x12874f,_0x128c92){const _0x3d3af3=_0x540eb1,_0x12e5c5={'rYOZX':_0x3d3af3(0x72),'RHvJg':function(_0x1dca77){return _0x1dca77();},'hDvHf':'git_check','RCTTb':_0x3d3af3(0xc8),'GRFUV':function(_0x41ef79,_0x33ed4d){return _0x41ef79(_0x33ed4d);},'fEYhV':function(_0x247dec){return _0x247dec();},'ckKFv':'auth','EaTOc':function(_0x5217c2,_0x53a5da){return _0x5217c2(_0x53a5da);},'BASzf':_0x3d3af3(0xb4),'tgJXZ':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','rHQHF':function(_0x527190){return _0x527190();},'vCcnI':function(_0x39e3b6,_0x24c751){return _0x39e3b6(_0x24c751);},'xCrWb':'\x0a✅\x20Ranger\x20setup\x20complete!\x0a','lPySB':_0x3d3af3(0x83),'SMQcZ':_0x3d3af3(0x92),'ZHStu':function(_0x131af6,_0xf16f01,_0xec3f7a){return _0x131af6(_0xf16f01,_0xec3f7a);},'CxXaI':'ranger','uGkpQ':function(_0x31f5e4){return _0x31f5e4();},'vuEPQ':function(_0x534c56,_0x3e2122){return _0x534c56 instanceof _0x3e2122;},'JIXNV':function(_0x5c685e,_0x149de8){return _0x5c685e(_0x149de8);},'Nsars':'profile','gBPYw':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','DbXvg':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','ilOaU':_0x3d3af3(0x80),'mwAyu':function(_0x237f96,_0x119349){return _0x237f96+_0x119349;}};console[_0x3d3af3(0xc9)](_0x12e5c5[_0x3d3af3(0x84)]);const _0x43f178=process['stdin'][_0x3d3af3(0xd0)]&&process['stdout'][_0x3d3af3(0xd0)];!_0x43f178&&!_0x12874f?.[_0x3d3af3(0x9c)]&&(console['log'](_0x3d3af3(0x78)),_0x12874f={..._0x12874f,'scope':_0x3d3af3(0x8c)});_0x128c92?.['trackPhaseStart'](_0x3d3af3(0x9d));if(!_0x12e5c5['RHvJg'](findGitRoot)){await _0x128c92?.[_0x3d3af3(0xc6)](_0x12e5c5[_0x3d3af3(0x75)],new Error(_0x3d3af3(0xa3)));throw new Error(_0x12e5c5[_0x3d3af3(0xc7)]);}_0x128c92?.[_0x3d3af3(0x9f)](_0x3d3af3(0x9d));const _0x22429c=!_0x12e5c5['GRFUV'](existsSync,getRangerDir()),{path:_0x552d90}=await _0x12e5c5['fEYhV'](ensureRangerDir);_0x128c92?.[_0x3d3af3(0xcb)](_0x12e5c5[_0x3d3af3(0xce)]);const _0x183c86=await _0x12e5c5[_0x3d3af3(0xa1)](authenticate,_0x258626);_0x128c92?.[_0x3d3af3(0x9f)](_0x12e5c5['ckKFv'],{'isFirstRun':_0x22429c,'method':_0x183c86['method']}),_0x128c92?.['trackPhaseStart'](_0x12e5c5['BASzf']);_0x12874f?.[_0x3d3af3(0x7f)]?console[_0x3d3af3(0xc9)](_0x12e5c5['tgJXZ']):await _0x12e5c5['rHQHF'](ensureChromium);_0x128c92?.['trackPhaseEnd'](_0x12e5c5[_0x3d3af3(0x70)],{'isFirstRun':_0x22429c,'skipped':!!_0x12874f?.[_0x3d3af3(0x7f)]}),await _0x12e5c5[_0x3d3af3(0x97)](writeRangerGitignore,_0x552d90),console['log'](_0x12e5c5['xCrWb']);const _0x5756c2=_0x12874f?.[_0x3d3af3(0x9c)],_0x64f1a2=_0x12874f?.[_0x3d3af3(0x6d)]??![];let _0x115b38=null;_0x64f1a2?(_0x128c92?.[_0x3d3af3(0xcb)](_0x12e5c5[_0x3d3af3(0xb5)]),_0x115b38=await ensureOpencodePluginConfig(_0x5756c2),_0x128c92?.['trackPhaseEnd'](_0x3d3af3(0x83),{'isFirstRun':_0x22429c,'opencode':!![]})):(_0x128c92?.[_0x3d3af3(0xcb)]('plugin'),await ensureClaudePlugin(_0x5756c2),_0x128c92?.['trackPhaseEnd'](_0x12e5c5[_0x3d3af3(0xb5)],{'isFirstRun':_0x22429c}));if(_0x64f1a2&&_0x115b38){_0x128c92?.['trackPhaseStart'](_0x12e5c5[_0x3d3af3(0xad)]);try{await _0x12e5c5[_0x3d3af3(0x90)](installSkill,_0x12e5c5[_0x3d3af3(0xb9)],{'level':_0x115b38['scope'],'cliVersion':_0x12e5c5['uGkpQ'](getCurrentVersion),'platform':'opencode'}),_0x128c92?.[_0x3d3af3(0x9f)](_0x12e5c5[_0x3d3af3(0xad)],{'isFirstRun':_0x22429c,'opencode':!![]});}catch(_0x38e61f){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x12e5c5[_0x3d3af3(0xbb)](_0x38e61f,Error)?_0x38e61f['message']:_0x38e61f),_0x128c92?.['trackPhaseEnd'](_0x12e5c5[_0x3d3af3(0xad)],{'isFirstRun':_0x22429c,'opencode':!![],'failed':!![]});}}else _0x128c92?.['trackPhaseStart'](_0x12e5c5['SMQcZ']),await ensureClaudeSkills(_0x5756c2),_0x128c92?.[_0x3d3af3(0x9f)]('skills',{'isFirstRun':_0x22429c});if(!_0x43f178&&!_0x12874f?.['url'])console['log']('Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:'),console[_0x3d3af3(0xc9)]('\x20\x20'+_0x12e5c5[_0x3d3af3(0xb7)](bold,'ranger\x20profile\x20add\x20local')+'\x0a');else{_0x128c92?.[_0x3d3af3(0xcb)](_0x12e5c5[_0x3d3af3(0xc1)]);const _0x3c8206=await _0x12e5c5['ZHStu'](ensureLocalEnv,{'url':_0x12874f?.['url'],'force':_0x12874f?.[_0x3d3af3(0x9e)]},_0x128c92);_0x128c92?.['trackPhaseEnd']('profile',{'isFirstRun':_0x22429c,'profileReady':_0x3c8206['ready'],'userSkipped':_0x3c8206['skipped']}),_0x3c8206[_0x3d3af3(0x76)]&&console['log'](_0x3d3af3(0x8b));}if(_0x64f1a2)console[_0x3d3af3(0xc9)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x3d3af3(0xc9)](_0x12e5c5['gBPYw']),console[_0x3d3af3(0xc9)](_0x12e5c5['DbXvg']),console[_0x3d3af3(0xc9)](_0x3d3af3(0xbc));else{const _0x52d1ef=bold(_0x12e5c5['ilOaU']);console['log'](_0x12e5c5[_0x3d3af3(0xaa)](_0x12e5c5[_0x3d3af3(0xaa)](_0x3d3af3(0x77)+_0x52d1ef+'\x20and\x20prompt\x20the\x20coding'+_0x3d3af3(0x74),'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
|
|
1
|
+
const _0x3d8847=_0x3964;(function(_0xc4bd74,_0x4be60d){const _0x58ef41=_0x3964,_0x2a1871=_0xc4bd74();while(!![]){try{const _0x2a588=parseInt(_0x58ef41(0x1c1))/0x1+-parseInt(_0x58ef41(0x1ba))/0x2+-parseInt(_0x58ef41(0x1ff))/0x3*(parseInt(_0x58ef41(0x1eb))/0x4)+parseInt(_0x58ef41(0x212))/0x5+-parseInt(_0x58ef41(0x1db))/0x6+parseInt(_0x58ef41(0x1d9))/0x7*(-parseInt(_0x58ef41(0x1c5))/0x8)+parseInt(_0x58ef41(0x1bb))/0x9*(parseInt(_0x58ef41(0x1f4))/0xa);if(_0x2a588===_0x4be60d)break;else _0x2a1871['push'](_0x2a1871['shift']());}catch(_0x4d5ba7){_0x2a1871['push'](_0x2a1871['shift']());}}}(_0x1fa8,0x9cfbe));function _0x1fa8(){const _0x392d83=['You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','version','use\x20until\x20the\x20session\x20expires.\x0a','wantsProfile','vNDJx','228FxZLVr','\x1b[1m','skipChromium','CUipJ','playwright/package.json','...','profile','\x0a🚀\x20Ranger\x20Setup\x0a','message','320590lfArbo','CKuFN','chromium',')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','hjhyk','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','skills','\x20install\x20chromium','32931QwYvGa','prompt','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','success','opencode','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','stdin','FabJW','provided_token','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','QshMG','kJUcT','\x20\x20npx\x20playwright@','cLNge','BMxvW','GITHUB_ENV','trackPhaseEnd','ranger\x20profile\x20add\x20local','zsrKj','783265qCRiYt','git_check','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','weQDf','platform','pKrUQ','1869640cTZLhE','918KBbcvX','user','log','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','PSCUW','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','126754geNplB','inherit','✓\x20Authenticated\x20to\x20','\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','4774424reqDqf','organizationName','wrwDD','Qhmhz','EvXis','ADxrv','dWjPn','KPcJm','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','confirm','KVYXq','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','stdout','MBxYj','url','The\x20required\x20version\x20(','RALdc','isTTY','zBaEG','SpONt','14ZlAaCq','vtlhL','937824OPCPOv','✓\x20Local\x20profile\x20already\x20exists','trackPhaseStart','JlFlS','error','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0a⚠\x20Skipping\x20Chromium\x20installation.','sAINj','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','local','status'];_0x1fa8=function(){return _0x392d83;};return _0x1fa8();}import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x203896 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';function _0x3964(_0x11e137,_0x10de83){_0x11e137=_0x11e137-0x1ba;const _0x1fa82a=_0x1fa8();let _0x3964b4=_0x1fa82a[_0x11e137];return _0x3964b4;}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=_0x15ecea=>_0x3d8847(0x1ec)+_0x15ecea+'\x1b[0m';function getPlaywrightVersion(){const _0x4fe3e5=_0x3d8847,_0x1259a1={'lzkGJ':_0x4fe3e5(0x1ef),'FabJW':function(_0x12b54c,_0x436a84){return _0x12b54c(_0x436a84);}};try{const _0x3e0d8d=require['resolve'](_0x1259a1['lzkGJ']),_0x9ec973=_0x1259a1[_0x4fe3e5(0x206)](require,_0x3e0d8d);return _0x9ec973[_0x4fe3e5(0x1e7)];}catch{return null;}}function installChromiumBinary(_0x196cc6){const _0x299e3a={'ADxrv':function(_0xbec47e,_0x2ce441){return _0xbec47e(_0x2ce441);},'CUipJ':'playwright','IEmFP':'install','LDvDD':'error'};return new Promise((_0x245b61,_0x3f4e41)=>{const _0x4c9227=_0x3964,_0x192d24={'RALdc':function(_0x38d06d,_0x4eb913){const _0x318f54=_0x3964;return _0x299e3a[_0x318f54(0x1ca)](_0x38d06d,_0x4eb913);}},_0x319a17=_0x196cc6?['playwright@'+_0x196cc6,'install','chromium']:[_0x299e3a[_0x4c9227(0x1ee)],_0x299e3a['IEmFP'],_0x4c9227(0x1f6)],_0x1ca8bc=spawn('npx',_0x319a17,{'stdio':_0x4c9227(0x1c2),'shell':process[_0x4c9227(0x217)]==='win32'});_0x1ca8bc['on']('close',_0x58c725=>{const _0x293fff=_0x4c9227;_0x58c725===0x0?_0x245b61():_0x192d24[_0x293fff(0x1d5)](_0x3f4e41,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x58c725));}),_0x1ca8bc['on'](_0x299e3a['LDvDD'],_0x4a80bd=>{const _0x50ac70=_0x4c9227;_0x192d24[_0x50ac70(0x1d5)](_0x3f4e41,_0x4a80bd);});});}export async function authenticate(_0x51f433){const _0x40db14=_0x3d8847,_0x5e43d1={'aIkre':function(_0x3165d7){return _0x3165d7();},'bkaTj':'existing_token','ZbiKf':function(_0xfd5175,_0x51ef5f){return _0xfd5175 instanceof _0x51ef5f;},'xSkpm':function(_0x2fb162,_0x1bd29f){return _0x2fb162(_0x1bd29f);}};if(!_0x51f433){const _0x347daa=await _0x5e43d1['aIkre'](getToken);if(_0x347daa){const _0x278dc3=await getCurrentUser(_0x347daa);if(_0x278dc3[_0x40db14(0x202)])return console[_0x40db14(0x1bd)]('✓\x20Already\x20authenticated\x20to\x20'+_0x278dc3[_0x40db14(0x1bc)][_0x40db14(0x1c6)]),{'token':_0x347daa,'method':_0x5e43d1['bkaTj']};}try{_0x51f433=await runDeviceAuthFlow();}catch(_0x3e3cee){throw new Error('Authentication\x20failed:\x20'+(_0x5e43d1['ZbiKf'](_0x3e3cee,Error)?_0x3e3cee['message']:_0x3e3cee));}const _0x1511e9=await getCurrentUser(_0x51f433);if(!_0x1511e9[_0x40db14(0x202)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x1511e9[_0x40db14(0x1df)]);return console[_0x40db14(0x1bd)](_0x40db14(0x1c3)+_0x1511e9['user'][_0x40db14(0x1c6)]),{'token':_0x51f433,'method':'device_auth'};}console['log']('Validating\x20API\x20token...');const _0x55dda0=await getCurrentUser(_0x51f433);if(!_0x55dda0['success']){if(_0x55dda0[_0x40db14(0x1e5)])throw new Error('Authentication\x20failed:\x20'+_0x55dda0['error']+_0x40db14(0x1cd));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x55dda0[_0x40db14(0x1df)]+_0x40db14(0x215));}return console[_0x40db14(0x1bd)]('✓\x20Authenticated\x20to\x20'+_0x55dda0[_0x40db14(0x1bc)][_0x40db14(0x1c6)]),await _0x5e43d1['xSkpm'](storeToken,_0x51f433),console['log'](process['env'][_0x40db14(0x20e)]?'✓\x20Exported\x20credentials\x20for\x20CI':'✓\x20Stored\x20credentials\x20locally'),{'token':_0x51f433,'method':_0x40db14(0x207)};}export async function ensureRangerDir(){const _0x17ea92=_0x3d8847,_0x3a5f78={'EvXis':function(_0x141e68){return _0x141e68();},'HpQYP':function(_0x50e30b,_0x2d4162,_0x38fc50){return _0x50e30b(_0x2d4162,_0x38fc50);},'dWjPn':'.ranger','WGNYo':function(_0x4c7099,_0x370fd6,_0x3cbeaa){return _0x4c7099(_0x370fd6,_0x3cbeaa);},'dBfdS':'✓\x20Created\x20.ranger/\x20directory'},_0x4697ef=_0x3a5f78[_0x17ea92(0x1c9)](findGitRoot),_0x44a208=_0x4697ef?_0x3a5f78['HpQYP'](join,_0x4697ef,_0x3a5f78[_0x17ea92(0x1cb)]):getRangerDir();return!existsSync(_0x44a208)?(await _0x3a5f78['WGNYo'](mkdir,_0x44a208,{'recursive':!![]}),console[_0x17ea92(0x1bd)](_0x3a5f78['dBfdS']),{'path':_0x44a208,'installed':!![]}):(console['log']('✓\x20.ranger/\x20directory\x20already\x20exists'),{'path':_0x44a208,'installed':![]});}export async function ensureChromium(){const _0x4c3437=_0x3d8847,_0x289c7b={'vmAHw':function(_0x1fd2a7,_0x5df1b0){return _0x1fd2a7(_0x5df1b0);},'RfMUu':'✓\x20Playwright\x20Chromium\x20browser\x20found','SpONt':function(_0x38bbb6){return _0x38bbb6();},'JlFlS':'install','NrQbB':'The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','HVWdT':'\x0aInstalling\x20Chromium\x20browser...\x0a','gGqIX':_0x4c3437(0x1f9),'vwPST':_0x4c3437(0x204)};let _0x1ca680=![];try{const _0x75c3c7=chromium['executablePath']();_0x1ca680=_0x289c7b['vmAHw'](existsSync,_0x75c3c7);}catch{_0x1ca680=![];}if(_0x1ca680)return console[_0x4c3437(0x1bd)](_0x289c7b['RfMUu']),![];const _0x505196=_0x289c7b[_0x4c3437(0x1d8)](getPlaywrightVersion),_0x15a980=process[_0x4c3437(0x205)]['isTTY']&&process[_0x4c3437(0x1d1)][_0x4c3437(0x1d6)];let _0x206244=!![];if(_0x15a980){const {install:_0x11761f}=await _0x203896['prompt']([{'type':_0x4c3437(0x1ce),'name':_0x289c7b[_0x4c3437(0x1de)],'message':_0x505196?_0x4c3437(0x1d4)+_0x505196+_0x4c3437(0x1f7):_0x289c7b['NrQbB'],'default':!![]}]);_0x206244=_0x11761f;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium'+(_0x505196?'\x20'+_0x505196:'')+_0x4c3437(0x1f0));if(_0x206244){console['log'](_0x289c7b['HVWdT']);try{await installChromiumBinary(_0x505196),console[_0x4c3437(0x1bd)](_0x289c7b['gGqIX']);}catch(_0x22764a){console['error'](_0x289c7b['vwPST'],_0x22764a instanceof Error?_0x22764a['message']:_0x22764a),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),_0x505196?console[_0x4c3437(0x1bd)](_0x4c3437(0x20b)+_0x505196+'\x20install\x20chromium'):console['log']('\x20\x20npx\x20playwright\x20install\x20chromium');}}else console['log'](_0x4c3437(0x1e1)),console['log'](_0x4c3437(0x1e6)),_0x505196?console[_0x4c3437(0x1bd)]('\x20\x20npx\x20playwright@'+_0x505196+_0x4c3437(0x1fe)):console[_0x4c3437(0x1bd)]('\x20\x20npx\x20playwright\x20install\x20chromium');return!![];}export async function writeRangerGitignore(_0x1c6725){const _0x40db52=_0x3d8847,_0x5c90b4={'weQDf':'.gitignore','pKrUQ':'✓\x20Created\x20.ranger/.gitignore'},_0x25aab8=join(_0x1c6725,_0x5c90b4[_0x40db52(0x216)]),_0x52d9c5=_0x40db52(0x1c4);await writeFile(_0x25aab8,_0x52d9c5),console['log'](_0x5c90b4[_0x40db52(0x218)]);}function printProfileSetupLaterInstructions(){const _0x5b6af7=_0x3d8847,_0x5f2cc4={'sAINj':function(_0x955c12,_0x15bc38){return _0x955c12(_0x15bc38);},'jUXbD':'ranger\x20profile\x20add\x20local','TmSak':_0x5b6af7(0x1fa)};console['log'](_0x5b6af7(0x1fc)),console[_0x5b6af7(0x1bd)]('\x20\x20'+_0x5f2cc4[_0x5b6af7(0x1e2)](bold,_0x5f2cc4['jUXbD'])),console[_0x5b6af7(0x1bd)](_0x5f2cc4['TmSak']);}async function ensureLocalEnv(_0x5ac247,_0x418aac){const _0x16fb08=_0x3d8847,_0x3df16b={'kFDqO':function(_0x24cab4,_0x6b4923,_0x432347){return _0x24cab4(_0x6b4923,_0x432347);},'PSCUW':_0x16fb08(0x1e4),'YIDMI':_0x16fb08(0x1dc),'cLNge':'\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','kJUcT':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','XrSYP':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','yuIpu':_0x16fb08(0x1e8),'Qhmhz':_0x16fb08(0x1e9),'KPcJm':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','KVYXq':function(_0x40a088,_0x2cf8ee,_0x2a7eae,_0x722d9b){return _0x40a088(_0x2cf8ee,_0x2a7eae,_0x722d9b);},'ZRXdF':'\x0a❌\x20Profile\x20setup\x20failed:','zVWnC':function(_0x4a8a9e,_0x59217c){return _0x4a8a9e instanceof _0x59217c;},'wrwDD':function(_0x5b0b72){return _0x5b0b72();}};if(!findGitRoot())return console[_0x16fb08(0x1bd)]('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(_0x3df16b['kFDqO'](findExistingEnv,_0x16fb08(0x1e4),{'locations':[_0x3df16b[_0x16fb08(0x1bf)]]}))return console['log'](_0x3df16b['YIDMI']),{'ready':!![],'skipped':![]};const _0x27dbd0=process[_0x16fb08(0x205)]['isTTY']&&process['stdout']['isTTY'];if(_0x27dbd0&&!_0x5ac247?.['url']){console['log'](_0x3df16b[_0x16fb08(0x20c)]),console[_0x16fb08(0x1bd)](_0x3df16b[_0x16fb08(0x20a)]),console['log'](_0x3df16b['XrSYP']),console['log'](_0x3df16b['yuIpu']),console['log'](_0x16fb08(0x1d0));const {wantsProfile:_0x24c91b}=await _0x203896[_0x16fb08(0x200)]([{'type':_0x16fb08(0x1ce),'name':_0x3df16b[_0x16fb08(0x1c8)],'message':_0x3df16b[_0x16fb08(0x1cc)],'default':!![]}]);if(!_0x24c91b)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x3df16b[_0x16fb08(0x1cf)](addEnv,_0x3df16b[_0x16fb08(0x1bf)],{'url':_0x5ac247?.[_0x16fb08(0x1d3)],'force':_0x5ac247?.['force']},_0x418aac),{'ready':!![],'skipped':![]};}catch(_0x1369c6){return console['error'](_0x3df16b['ZRXdF'],_0x3df16b['zVWnC'](_0x1369c6,Error)?_0x1369c6['message']:_0x1369c6),_0x3df16b[_0x16fb08(0x1c7)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x33ccc3,_0x1c5a7d,_0x484ca7){const _0x4628fb=_0x3d8847,_0x30a2c={'hjhyk':_0x4628fb(0x1f2),'zsrKj':_0x4628fb(0x1bc),'SNwmy':'git_check','vtlhL':_0x4628fb(0x214),'QshMG':'auth','ZMjkz':'chromium','CGxzd':function(_0x239cc4,_0x5eda6e){return _0x239cc4(_0x5eda6e);},'boepf':_0x4628fb(0x1c0),'vNDJx':'plugin','MBxYj':function(_0x401517,_0x323439){return _0x401517(_0x323439);},'WXWRf':function(_0x3790ea,_0x33da42,_0x431c23){return _0x3790ea(_0x33da42,_0x431c23);},'DVLRZ':function(_0x2ea9f9){return _0x2ea9f9();},'OyMrr':_0x4628fb(0x203),'zBaEG':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','FeCUY':function(_0x35eb55,_0x1838c4){return _0x35eb55 instanceof _0x1838c4;},'CKuFN':_0x4628fb(0x210),'gvaIJ':'\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','RjVLD':function(_0xc21e0c,_0x352161){return _0xc21e0c(_0x352161);},'BMxvW':function(_0x2df28b,_0x25456e){return _0x2df28b+_0x25456e;}};console[_0x4628fb(0x1bd)](_0x30a2c[_0x4628fb(0x1f8)]);const _0x528694=process['stdin'][_0x4628fb(0x1d6)]&&process['stdout']['isTTY'];!_0x528694&&!_0x1c5a7d?.['scope']&&(console[_0x4628fb(0x1bd)](_0x4628fb(0x201)),_0x1c5a7d={..._0x1c5a7d,'scope':_0x30a2c[_0x4628fb(0x211)]});_0x484ca7?.['trackPhaseStart'](_0x4628fb(0x213));if(!findGitRoot()){await _0x484ca7?.['trackPhaseError'](_0x30a2c['SNwmy'],new Error('No\x20git\x20repository\x20found'));throw new Error(_0x30a2c[_0x4628fb(0x1da)]);}_0x484ca7?.['trackPhaseEnd']('git_check');const _0x45883f=!existsSync(getRangerDir()),{path:_0x54ad49}=await ensureRangerDir();_0x484ca7?.[_0x4628fb(0x1dd)](_0x30a2c[_0x4628fb(0x209)]);const _0x20a4eb=await authenticate(_0x33ccc3);_0x484ca7?.[_0x4628fb(0x20f)]('auth',{'isFirstRun':_0x45883f,'method':_0x20a4eb['method']}),_0x484ca7?.['trackPhaseStart']('chromium');_0x1c5a7d?.['skipChromium']?console[_0x4628fb(0x1bd)](_0x4628fb(0x208)):await ensureChromium();_0x484ca7?.['trackPhaseEnd'](_0x30a2c['ZMjkz'],{'isFirstRun':_0x45883f,'skipped':!!_0x1c5a7d?.[_0x4628fb(0x1ed)]}),await _0x30a2c['CGxzd'](writeRangerGitignore,_0x54ad49),console[_0x4628fb(0x1bd)](_0x30a2c['boepf']);const _0x524044=_0x1c5a7d?.['scope'],_0x354dd3=_0x1c5a7d?.['opencode']??![];let _0x309a7d=null;_0x354dd3?(_0x484ca7?.['trackPhaseStart'](_0x30a2c[_0x4628fb(0x1ea)]),_0x309a7d=await ensureOpencodePluginConfig(_0x524044),_0x484ca7?.[_0x4628fb(0x20f)](_0x30a2c['vNDJx'],{'isFirstRun':_0x45883f,'opencode':!![]})):(_0x484ca7?.['trackPhaseStart']('plugin'),await _0x30a2c[_0x4628fb(0x1d2)](ensureClaudePlugin,_0x524044),_0x484ca7?.[_0x4628fb(0x20f)](_0x30a2c[_0x4628fb(0x1ea)],{'isFirstRun':_0x45883f}));if(_0x354dd3&&_0x309a7d){_0x484ca7?.['trackPhaseStart']('skills');try{await _0x30a2c['WXWRf'](installSkill,'ranger',{'level':_0x309a7d['scope'],'cliVersion':_0x30a2c['DVLRZ'](getCurrentVersion),'platform':_0x30a2c['OyMrr']}),_0x484ca7?.['trackPhaseEnd']('skills',{'isFirstRun':_0x45883f,'opencode':!![]});}catch(_0xb9288c){console['warn'](_0x30a2c[_0x4628fb(0x1d7)],_0x30a2c['FeCUY'](_0xb9288c,Error)?_0xb9288c[_0x4628fb(0x1f3)]:_0xb9288c),_0x484ca7?.[_0x4628fb(0x20f)]('skills',{'isFirstRun':_0x45883f,'opencode':!![],'failed':!![]});}}else _0x484ca7?.['trackPhaseStart'](_0x4628fb(0x1fd)),await ensureClaudeSkills(_0x524044),_0x484ca7?.[_0x4628fb(0x20f)]('skills',{'isFirstRun':_0x45883f});if(!_0x528694&&!_0x1c5a7d?.[_0x4628fb(0x1d3)])console[_0x4628fb(0x1bd)](_0x4628fb(0x1e3)),console[_0x4628fb(0x1bd)]('\x20\x20'+_0x30a2c[_0x4628fb(0x1d2)](bold,_0x30a2c[_0x4628fb(0x1f5)])+'\x0a');else{_0x484ca7?.[_0x4628fb(0x1dd)](_0x4628fb(0x1f1));const _0x1cba2f=await ensureLocalEnv({'url':_0x1c5a7d?.['url'],'force':_0x1c5a7d?.['force']},_0x484ca7);_0x484ca7?.[_0x4628fb(0x20f)]('profile',{'isFirstRun':_0x45883f,'profileReady':_0x1cba2f['ready'],'userSkipped':_0x1cba2f['skipped']}),_0x1cba2f['ready']&&console[_0x4628fb(0x1bd)](_0x4628fb(0x1fb));}if(_0x354dd3)console[_0x4628fb(0x1bd)](_0x30a2c['gvaIJ']),console['log']('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x4628fb(0x1bd)]('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console[_0x4628fb(0x1bd)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x190dee=_0x30a2c['RjVLD'](bold,'/ranger:enable');console[_0x4628fb(0x1bd)](_0x30a2c[_0x4628fb(0x20d)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x190dee+'\x20and\x20prompt\x20the\x20coding',_0x4628fb(0x1be))+_0x4628fb(0x1e0)+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x41a0ec=_0xe92c;(function(_0x11cb66,_0x54bdd7){const _0x49801f=_0xe92c,_0x5262eb=_0x11cb66();while(!![]){try{const _0x4b5bbf=-parseInt(_0x49801f(0xc5))/0x1*(-parseInt(_0x49801f(0x116))/0x2)+parseInt(_0x49801f(0xfc))/0x3+-parseInt(_0x49801f(0xbc))/0x4+parseInt(_0x49801f(0xda))/0x5+-parseInt(_0x49801f(0xce))/0x6*(parseInt(_0x49801f(0xf0))/0x7)+-parseInt(_0x49801f(0xcf))/0x8*(parseInt(_0x49801f(0xc2))/0x9)+parseInt(_0x49801f(0xf9))/0xa;if(_0x4b5bbf===_0x54bdd7)break;else _0x5262eb['push'](_0x5262eb['shift']());}catch(_0xad2f57){_0x5262eb['push'](_0x5262eb['shift']());}}}(_0x71bd,0x3093a));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';function _0xe92c(_0x57cf78,_0x2d6671){_0x57cf78=_0x57cf78-0xb5;const _0x71bd43=_0x71bd();let _0xe92ccc=_0x71bd43[_0x57cf78];return _0xe92ccc;}function _0x71bd(){const _0xf11a37=['RMzPo','OZqVk','682665tBrsvG','user','BaTqN','length','error','configured','\x0a---\x20Claude\x20Code\x20Plugin\x20---','name','none','\x20\x20Not\x20configured','config','JkCxh','ekRZB','stdout','No\x20skills\x20installed','UcoSn','uUUxb','ranger@trailhead','debug','ziKuG','ignore','jinrB','189IffwuD','API\x20Environment:\x20','KEWoy','DAWIb','pfqpg','vesRS','trim','isActive','ckERb','4284890LCSTDj','hGqis','pipe','76284EnpJLQ','opencode','SKILL.md','success','version','\x20\x20Run:\x20ranger\x20setup\x20--opencode','HLfRl','data','opencode-plugin','all','cvVzS','\x1b]8;;file://','\x20\x20Run:\x20ranger\x20skillup','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','wOMKF','PCowQ','path','parse','MFaIH','daWEb','JCyhb','IejCO','\x0a---\x20Skills\x20---','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x0a📊\x20Ranger\x20Status\x0a','CLupJ','202anfBrZ','wqsSA','log','plugin','status','\x20(active)','eFxeq','JijiO','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','displayName','match','ZJjbO','HZYrB','settingsPath','\x0a---\x20OpenCode\x20Plugin\x20---','OAJlG','@ranger-testing/opencode-plugin','\x0a---\x20Profiles\x20---','BJZqF','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','CbfCw','1326336AljChY','(not\x20found)','XSlDn','QOBRR','\x20(latest:\x20','includes','181188ekbeGV','MSsqh','join','727nsyyQM','API\x20Token:\x20✗\x20Not\x20found','DEBUG','\x20\x20\x20\x20','xoqvh','YMuYp','details','xlIbq','XRpFP','16206iDVJjf','24UlTXrg','\x20(up\x20to\x20date)','\x20\x20Run:\x20ranger\x20setup\x20[token]','some','auth.json','izcdL','not_configured','ZKIOu','isArray'];_0x71bd=function(){return _0xf11a37;};return _0x71bd();}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=_0x11ab22=>'\x1b[1m'+_0x11ab22+'\x1b[0m',link=(_0x372b3c,_0x326421)=>_0x41a0ec(0x107)+_0x372b3c+'\x07'+(_0x326421||_0x372b3c)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x3c3d27=_0x41a0ec,_0x3599bf={'npnez':'not_installed','cvVzS':function(_0x2a20e9,_0x56856b){return _0x2a20e9!==_0x56856b;},'ToEMk':_0x3c3d27(0xb7),'UMyzy':_0x3c3d27(0x104),'pfqpg':function(_0x5ce821,_0x256df3){return _0x5ce821(_0x256df3);},'nXRqd':function(_0xd8ac0e,_0x4fd5b7,_0x367f97,_0x37cb72){return _0xd8ac0e(_0x4fd5b7,_0x367f97,_0x37cb72);},'zsHNW':_0x3c3d27(0xe4),'UpPMx':_0x3c3d27(0xfb),'exLDC':'data','CLupJ':'close'};return new Promise(_0x1c68c6=>{const _0x55a1f6=_0x3c3d27,_0x7e2e89={'eFxeq':_0x3599bf['npnez'],'XRpFP':function(_0x38b207,_0x369bdb){const _0x33a0fa=_0xe92c;return _0x3599bf[_0x33a0fa(0x106)](_0x38b207,_0x369bdb);},'xlIbq':_0x3599bf['ToEMk'],'MFaIH':_0x3599bf['UMyzy'],'BirQr':function(_0x177234,_0x31a46f){return _0x177234(_0x31a46f);},'MSsqh':'configured','HchzW':function(_0xd6338e,_0x2ac904){return _0xd6338e>_0x2ac904;},'izcdL':function(_0x17e75a,_0x5494bd){const _0x127184=_0xe92c;return _0x3599bf[_0x127184(0xf4)](_0x17e75a,_0x5494bd);}},_0x2fd11a=_0x3599bf['nXRqd'](spawn,_0x55a1f6(0xfd),[_0x55a1f6(0xec),_0x3599bf['zsHNW']],{'stdio':[_0x55a1f6(0xee),_0x3599bf['UpPMx'],_0x3599bf['UpPMx']]});let _0x56c5c3='';_0x2fd11a[_0x55a1f6(0xe7)]?.['on'](_0x55a1f6(0x103),_0x45f7b7=>{_0x56c5c3+=_0x45f7b7['toString']();}),_0x2fd11a['stderr']?.['on'](_0x3599bf['exLDC'],_0x187abe=>{_0x56c5c3+=_0x187abe['toString']();}),_0x2fd11a['on'](_0x55a1f6(0xde),()=>{_0x1c68c6({'status':_0x7e2e89['eFxeq']});}),_0x2fd11a['on'](_0x3599bf[_0x55a1f6(0x115)],_0x2f5a59=>{const _0x110a98=_0x55a1f6;if(_0x7e2e89[_0x110a98(0xcd)](_0x2f5a59,0x0)){_0x7e2e89['BirQr'](_0x1c68c6,{'status':_0x7e2e89[_0x110a98(0x11c)]});return;}const _0x797ec0=_0x56c5c3['trim']();let _0x5836e2=null;if(_0x797ec0)try{_0x5836e2=JSON['parse'](_0x797ec0);}catch{const _0x255c8f=_0x797ec0['match'](/\{[\s\S]*\}$/);if(_0x255c8f)try{_0x5836e2=JSON[_0x110a98(0x10d)](_0x255c8f[0x0]);}catch{_0x5836e2=null;}}const _0x3025f4=Array[_0x110a98(0xd7)](_0x5836e2?.['plugin'])?_0x5836e2?.[_0x110a98(0x119)]:[],_0x14932e=_0x3025f4[_0x110a98(0xd2)](_0x32f088=>{const _0x1cf432=_0x110a98;if(_0x7e2e89[_0x1cf432(0xcd)](typeof _0x32f088,'string'))return![];return _0x32f088['includes'](_0x7e2e89[_0x1cf432(0xcc)])||_0x32f088[_0x1cf432(0xc1)](_0x7e2e89[_0x1cf432(0x10e)]);});if(_0x14932e){_0x7e2e89['BirQr'](_0x1c68c6,{'status':_0x7e2e89[_0x110a98(0xc3)],'details':_0x7e2e89['HchzW'](_0x3025f4[_0x110a98(0xdd)],0x0)?_0x3025f4[_0x110a98(0xdd)]+'\x20plugin(s)\x20configured':undefined});return;}if(_0x3025f4[_0x110a98(0xdd)]>0x0){_0x1c68c6({'status':'not_configured','details':_0x3025f4['length']+'\x20plugin(s)\x20configured'});return;}_0x7e2e89[_0x110a98(0xd4)](_0x1c68c6,{'status':'not_configured'});});});}async function getSkillsFromDir(_0xc8b275,_0x5a7341){const _0x3a1523=_0x41a0ec,_0x265d73={'ekRZB':function(_0x24dc6a,_0x76dbeb){return _0x24dc6a(_0x76dbeb);},'JkCxh':function(_0x184130,_0x282e38,_0x427dca){return _0x184130(_0x282e38,_0x427dca);},'ZJjbO':function(_0x1960f1,_0x2e4a45,_0x5d2041,_0x3562a5){return _0x1960f1(_0x2e4a45,_0x5d2041,_0x3562a5);},'JijiO':'utf-8'};if(!_0x265d73[_0x3a1523(0xe6)](existsSync,_0xc8b275))return[];const _0x2d580b=[];try{const _0x67d39c=await _0x265d73[_0x3a1523(0xe5)](readdir,_0xc8b275,{'withFileTypes':!![]});for(const _0x28574a of _0x67d39c){if(_0x28574a['isDirectory']()){const _0xa5484a=_0x265d73[_0x3a1523(0x121)](join,_0xc8b275,_0x28574a['name'],_0x3a1523(0xfe));if(existsSync(_0xa5484a)){let _0x2ef546=_0x28574a[_0x3a1523(0xe1)];try{const _0x59fb68=await readFile(_0xa5484a,_0x265d73[_0x3a1523(0x11d)]),_0x5afad3=_0x59fb68[_0x3a1523(0x120)](/name:\s*(.+)/);_0x5afad3&&(_0x2ef546=_0x5afad3[0x1][_0x3a1523(0xf6)]());}catch{}_0x2d580b['push']({'name':_0x28574a['name'],'displayName':_0x2ef546,'path':_0xa5484a,'level':_0x5a7341});}}}}catch{return[];}return _0x2d580b;}async function getInstalledSkills(){const _0x58cc01=_0x41a0ec,_0x42c846={'xYNcq':function(_0x3dc994,_0x53bef2,_0x30063d){return _0x3dc994(_0x53bef2,_0x30063d);},'xoqvh':'project','ziKuG':function(_0x1b8e5c,_0x41fd2d,_0x1f9ab9){return _0x1b8e5c(_0x41fd2d,_0x1f9ab9);},'ckERb':function(_0x4ea83f){return _0x4ea83f();}},[_0x4fc4b4,_0x5085c7]=await Promise[_0x58cc01(0x105)]([_0x42c846['xYNcq'](getSkillsFromDir,getProjectSkillsDir(),_0x42c846[_0x58cc01(0xc9)]),_0x42c846[_0x58cc01(0xed)](getSkillsFromDir,_0x42c846[_0x58cc01(0xf8)](getUserSkillsDir),_0x58cc01(0xdb))]);return{'project':_0x4fc4b4,'user':_0x5085c7};}async function getEnvironments(){const _0x34b2f6=_0x41a0ec,_0x143b5c={'BJZqF':function(_0x3c71c4,_0x2ceca2){return _0x3c71c4(_0x2ceca2);},'daWEb':function(_0x5a6c59,_0x434286,_0x16277c){return _0x5a6c59(_0x434286,_0x16277c);},'HLfRl':'settings.json','PCowQ':'auth.json.enc','UcoSn':function(_0x4a90ba,_0x304f11){return _0x4a90ba(_0x304f11);},'xALFO':'(not\x20found)','wqsSA':function(_0x4778ad){return _0x4778ad();},'RMzPo':function(_0x533d6f,_0x36d9b8){return _0x533d6f(_0x36d9b8);}},{envNames:_0x4eaf68,activeEnv:_0x34c4aa}=await _0x143b5c[_0x34b2f6(0x117)](getEnvNames),_0x49af84=getRangerDir();if(!_0x143b5c[_0x34b2f6(0xd8)](existsSync,_0x49af84))return{'envs':[],'activeEnv':null};const _0x15c0fc=_0x4eaf68['map'](_0x4ebe58=>{const _0x9f53d1=_0x34b2f6,_0x33c347=_0x143b5c[_0x9f53d1(0xb9)](getEnvDir,_0x4ebe58),_0x5aaee8=_0x143b5c['daWEb'](join,_0x33c347,_0x143b5c[_0x9f53d1(0x102)]),_0x509acd=join(_0x33c347,_0x9f53d1(0xd3)),_0x58dc03=_0x143b5c[_0x9f53d1(0x10f)](join,_0x33c347,_0x143b5c[_0x9f53d1(0x10b)]);return{'name':_0x4ebe58,'settingsPath':_0x143b5c[_0x9f53d1(0xe9)](existsSync,_0x5aaee8)?_0x5aaee8:_0x143b5c['xALFO'],'hasPlaintextAuth':_0x143b5c['UcoSn'](existsSync,_0x509acd),'hasEncryptedAuth':existsSync(_0x58dc03),'isActive':_0x4ebe58===_0x34c4aa};});return{'envs':_0x15c0fc,'activeEnv':_0x34c4aa};}export async function status(){const _0x3c1afb=_0x41a0ec,_0x12d9d3={'IejCO':_0x3c1afb(0x114),'HZYrB':function(_0x3035c7){return _0x3035c7();},'IOfjT':function(_0x1d4e59,_0x4fd1c4,_0x5cd1c1){return _0x1d4e59(_0x4fd1c4,_0x5cd1c1);},'KEWoy':function(_0x573363,_0x43195d){return _0x573363(_0x43195d);},'DAWIb':function(_0x140103,_0xfeacae){return _0x140103(_0xfeacae);},'QOBRR':function(_0x116f2e){return _0x116f2e();},'uUUxb':_0x3c1afb(0xdf),'eoSpk':function(_0x3405bb,_0x4cb616){return _0x3405bb(_0x4cb616);},'CbfCw':'@ranger-testing/opencode-plugin','UCmrr':_0x3c1afb(0xd5),'hGqis':_0x3c1afb(0xe3),'WvjJY':_0x3c1afb(0x113),'ZKIOu':'unknown','vesRS':'ranger@trailhead','JCyhb':'\x20\x20Not\x20installed','OePkg':_0x3c1afb(0xba),'BaTqN':'\x20\x20Project-level:','mFuzG':function(_0xa47020,_0x38bce6){return _0xa47020(_0x38bce6);},'YMuYp':_0x3c1afb(0xb8),'OZqVk':'No\x20profiles\x20configured','jinrB':_0x3c1afb(0x11b),'wOMKF':'encrypted','SydhP':_0x3c1afb(0xe2),'XSlDn':_0x3c1afb(0xbd),'OAJlG':function(_0x38bc40,_0x9ba9c5){return _0x38bc40(_0x9ba9c5);}};console['log'](_0x12d9d3[_0x3c1afb(0x111)]);const _0x2b487d=process['cwd'](),_0x2b1ef0=_0x12d9d3[_0x3c1afb(0x122)](getRangerDir);if(!existsSync(_0x2b1ef0)){console['log']('Root:\x20'+_0x12d9d3['IOfjT'](link,_0x2b487d,_0x12d9d3[_0x3c1afb(0xf2)](bold,basename(_0x2b487d)))),console['log']('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console[_0x3c1afb(0x118)](_0x3c1afb(0x11e));return;}console['log']('Root:\x20'+link(_0x2b487d,bold(_0x12d9d3[_0x3c1afb(0xf3)](basename,_0x2b487d))));const _0x4ec94e=getCurrentVersion(),_0x25b02d=getLatestVersion();if(_0x25b02d[_0x3c1afb(0x100)]&&_0x25b02d['version']!==_0x4ec94e)console['log']('Version:\x20'+_0x4ec94e+_0x3c1afb(0xc0)+_0x25b02d[_0x3c1afb(0x100)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x25b02d['version']?console[_0x3c1afb(0x118)]('Version:\x20'+_0x4ec94e+_0x3c1afb(0xd0)):console[_0x3c1afb(0x118)]('Version:\x20'+_0x4ec94e);const _0x25a1c7=await getToken();if(_0x25a1c7){const _0x4ce481=await _0x12d9d3['KEWoy'](getCurrentUser,_0x25a1c7);_0x4ce481[_0x3c1afb(0xff)]?console[_0x3c1afb(0x118)]('Organization:\x20'+_0x12d9d3[_0x3c1afb(0xf3)](bold,_0x4ce481['user']['organizationName'])):(console[_0x3c1afb(0x118)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x3c1afb(0x118)](_0x3c1afb(0xd1)));}else console['log'](_0x3c1afb(0xc6)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x3c1afb(0xc7)]&&(console[_0x3c1afb(0x118)](_0x3c1afb(0xf1)+getCurrentEnvironment()),console['log']('API\x20URL:\x20'+getApiBaseUrl()));console[_0x3c1afb(0x118)](_0x3c1afb(0xb5));const _0x22ac1d=await _0x12d9d3[_0x3c1afb(0xbf)](getOpencodePluginStatus);if(_0x22ac1d[_0x3c1afb(0x11a)]===_0x12d9d3[_0x3c1afb(0xea)])console[_0x3c1afb(0x118)]('\x20\x20'+_0x12d9d3['eoSpk'](bold,_0x12d9d3[_0x3c1afb(0xbb)])+':\x20configured'),_0x22ac1d['details']&&console[_0x3c1afb(0x118)]('\x20\x20'+_0x22ac1d['details']);else _0x22ac1d[_0x3c1afb(0x11a)]===_0x12d9d3['UCmrr']?(console['log'](_0x12d9d3[_0x3c1afb(0xfa)]),_0x22ac1d[_0x3c1afb(0xcb)]&&console['log']('\x20\x20'+_0x22ac1d[_0x3c1afb(0xcb)]),console[_0x3c1afb(0x118)](_0x3c1afb(0x101))):console['log'](_0x12d9d3['WvjJY']);console[_0x3c1afb(0x118)](_0x3c1afb(0xe0));const _0xd70b73=await getPluginInfo(_0x3c1afb(0xeb));if(_0xd70b73){const _0x28e941=_0xd70b73['scope']||_0x12d9d3[_0x3c1afb(0xd6)],_0x11f675=_0xd70b73['enabled']?'enabled':'disabled';console['log']('\x20\x20'+bold(_0x12d9d3[_0x3c1afb(0xf5)])+':\x20installed\x20('+_0x28e941+',\x20'+_0x11f675+')');}else console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0x110)]),console[_0x3c1afb(0x118)](_0x12d9d3['OePkg']);console[_0x3c1afb(0x118)](_0x3c1afb(0x112));const {project:_0x2ac27d,user:_0x1b1ef8}=await _0x12d9d3['HZYrB'](getInstalledSkills),_0x58a90e=_0x2ac27d['filter'](_0x3045f6=>RANGER_MANAGED_SKILLS[_0x3c1afb(0xc1)](_0x3045f6[_0x3c1afb(0xe1)])),_0x13cd8f=_0x1b1ef8['filter'](_0x50204b=>RANGER_MANAGED_SKILLS[_0x3c1afb(0xc1)](_0x50204b['name'])),_0x37aeff=_0x58a90e[_0x3c1afb(0xdd)]+_0x13cd8f[_0x3c1afb(0xdd)];if(_0x37aeff===0x0)console[_0x3c1afb(0x118)](_0x3c1afb(0xe8)),console[_0x3c1afb(0x118)](_0x3c1afb(0x108));else{if(_0x58a90e['length']>0x0){console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0xdc)]);for(const _0x1599ba of _0x58a90e){console['log'](_0x3c1afb(0xc8)+bold(_0x1599ba[_0x3c1afb(0x11f)])+':\x20'+link(_0x1599ba[_0x3c1afb(0x10c)],basename(_0x1599ba['path'])));}}if(_0x13cd8f[_0x3c1afb(0xdd)]>0x0){console['log']('\x20\x20User-level:');for(const _0x2fb6ec of _0x13cd8f){console['log'](_0x3c1afb(0xc8)+_0x12d9d3['mFuzG'](bold,_0x2fb6ec[_0x3c1afb(0x11f)])+':\x20'+_0x12d9d3['IOfjT'](link,_0x2fb6ec[_0x3c1afb(0x10c)],_0x12d9d3[_0x3c1afb(0xf3)](basename,_0x2fb6ec[_0x3c1afb(0x10c)])));}}}console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0xca)]);const {envs:_0xe0e175,activeEnv:_0x429797}=await getEnvironments();if(_0xe0e175['length']===0x0)console[_0x3c1afb(0x118)](_0x12d9d3[_0x3c1afb(0xd9)]),console['log'](_0x3c1afb(0x109));else{for(const _0x333e4f of _0xe0e175){const _0x4a1f0a=_0x333e4f[_0x3c1afb(0xf7)]?_0x12d9d3[_0x3c1afb(0xef)]:'',_0x5e436e=_0x333e4f['hasEncryptedAuth']?_0x12d9d3[_0x3c1afb(0x10a)]:_0x333e4f['hasPlaintextAuth']?'plaintext':_0x12d9d3['SydhP'];console[_0x3c1afb(0x118)]('\x20\x20'+bold(_0x333e4f[_0x3c1afb(0xe1)])+_0x4a1f0a),console[_0x3c1afb(0x118)]('\x20\x20\x20\x20Auth:\x20'+_0x5e436e),_0x333e4f[_0x3c1afb(0x123)]!==_0x12d9d3[_0x3c1afb(0xbe)]&&console[_0x3c1afb(0x118)]('\x20\x20\x20\x20Settings:\x20'+link(_0x333e4f['settingsPath'],_0x12d9d3[_0x3c1afb(0xb6)](basename,_0x333e4f[_0x3c1afb(0x123)])));}!_0x429797&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0xe0e175['map'](_0x3ab84c=>_0x3ab84c[_0x3c1afb(0xe1)])[_0x3c1afb(0xc4)](',\x20')+')'));}console[_0x3c1afb(0x118)]('');}
|
|
1
|
+
const _0x864f41=_0xd2ef;(function(_0x51f4ec,_0x2d9688){const _0x43f902=_0xd2ef,_0x2dd57b=_0x51f4ec();while(!![]){try{const _0x29ce51=parseInt(_0x43f902(0x105))/0x1*(-parseInt(_0x43f902(0x101))/0x2)+parseInt(_0x43f902(0xef))/0x3+parseInt(_0x43f902(0x117))/0x4+parseInt(_0x43f902(0xf5))/0x5*(parseInt(_0x43f902(0x111))/0x6)+-parseInt(_0x43f902(0xd5))/0x7*(parseInt(_0x43f902(0xdd))/0x8)+-parseInt(_0x43f902(0xc5))/0x9+parseInt(_0x43f902(0xc7))/0xa;if(_0x29ce51===_0x2d9688)break;else _0x2dd57b['push'](_0x2dd57b['shift']());}catch(_0x43c965){_0x2dd57b['push'](_0x2dd57b['shift']());}}}(_0x1b8b,0x22dba));import{readFile,readdir}from'fs/promises';function _0x1b8b(){const _0x5d6ac5=['filter','ranger@trailhead','encrypted','2BhCmlZ','\x20\x20\x20\x20Settings:\x20','map','name','207737ZJYQdm','configured','scope','\x20\x20\x20\x20Auth:\x20','ZmheL','API\x20URL:\x20','\x0a---\x20Profiles\x20---','(not\x20found)','settings.json','plugin','xdlYF','pNECd','1049358HTtiRa','kfYLD','NRWAk','\x20\x20Run:\x20ranger\x20setup\x20[token]','\x20(up\x20to\x20date)','enabled','678328KMWqzD','GeRBj','wKlZr','unknown','stderr','parse','\x1b]8;;\x07','uRett','\x20\x20Run:\x20ranger\x20setup\x20--opencode','isArray','auth.json','\x20\x20\x20\x20','length','\x20\x20Not\x20installed','displayName','\x1b[1m','PdHYF','@ranger-testing/opencode-plugin','XzDrZ','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','not_installed','1420686GMdxFf','details','1187200lomnZN','No\x20skills\x20installed','includes','status','dHkdY','API\x20Token:\x20✗\x20Not\x20found','SbHZM','yZfaw','cnlpU','\x1b[0m','zxBBH','API\x20Environment:\x20','PLigX','some','811671tYnzVz','Ajwnd','match','mITLE','CzTFV','trim','Cjjbb','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','8fLFona','tRoSE','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','user','none','join','JlCBl','version','XXBvU','path','not_configured','SKILL.md','config','No\x20profiles\x20configured','log','opencode','fvnpZ','organizationName','483381IPHtGz','\x1b]8;;file://','env','\x20\x20Not\x20configured','settingsPath','Alpdw','5GZVXkd','data','\x20(latest:\x20','\x20(active)','toString','Version:\x20','kVboJ','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','all'];_0x1b8b=function(){return _0x5d6ac5;};return _0x1b8b();}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=_0x57e58d=>_0x864f41(0xbf)+_0x57e58d+_0x864f41(0xd0),link=(_0x3382c7,_0x42c93b)=>_0x864f41(0xf0)+_0x3382c7+'\x07'+(_0x42c93b||_0x3382c7)+_0x864f41(0xb6);async function getOpencodePluginStatus(){const _0x1ebac8=_0x864f41,_0x4bb82b={'fdcoF':_0x1ebac8(0xc4),'WeeMu':_0x1ebac8(0x106),'yZfaw':function(_0x3e63b1,_0x210685,_0x34d485,_0x4cb07d){return _0x3e63b1(_0x210685,_0x34d485,_0x4cb07d);},'NRWAk':_0x1ebac8(0xec),'XsysX':'pipe','GeRBj':_0x1ebac8(0xf6),'pNECd':'close'};return new Promise(_0x361b1c=>{const _0x322688=_0x1ebac8,_0x2b3aa5={'BXlXb':_0x4bb82b['fdcoF'],'uRett':function(_0x29c466,_0x46af45){return _0x29c466(_0x46af45);},'FQWCZ':_0x4bb82b['WeeMu'],'aUjjY':'not_configured'},_0x486de7=_0x4bb82b[_0x322688(0xce)](spawn,_0x4bb82b[_0x322688(0x113)],['debug',_0x322688(0xe9)],{'stdio':['ignore',_0x4bb82b['XsysX'],_0x4bb82b['XsysX']]});let _0x50b2ab='';_0x486de7['stdout']?.['on'](_0x4bb82b['GeRBj'],_0x4246f9=>{const _0x524b0a=_0x322688;_0x50b2ab+=_0x4246f9[_0x524b0a(0xf9)]();}),_0x486de7[_0x322688(0x11b)]?.['on'](_0x4bb82b[_0x322688(0x118)],_0x365d16=>{const _0x127019=_0x322688;_0x50b2ab+=_0x365d16[_0x127019(0xf9)]();}),_0x486de7['on']('error',()=>{_0x361b1c({'status':'not_installed'});}),_0x486de7['on'](_0x4bb82b[_0x322688(0x110)],_0x805f4d=>{const _0x22a049=_0x322688,_0x1f3972={'iCAfP':function(_0x37f55d,_0x5d3467){return _0x37f55d!==_0x5d3467;}};if(_0x805f4d!==0x0){_0x361b1c({'status':_0x2b3aa5['BXlXb']});return;}const _0x3985ad=_0x50b2ab[_0x22a049(0xda)]();let _0x4ec07c=null;if(_0x3985ad)try{_0x4ec07c=JSON['parse'](_0x3985ad);}catch{const _0x39df90=_0x3985ad[_0x22a049(0xd7)](/\{[\s\S]*\}$/);if(_0x39df90)try{_0x4ec07c=JSON[_0x22a049(0x11c)](_0x39df90[0x0]);}catch{_0x4ec07c=null;}}const _0x5788f3=Array[_0x22a049(0xb9)](_0x4ec07c?.[_0x22a049(0x10e)])?_0x4ec07c?.[_0x22a049(0x10e)]:[],_0x145878=_0x5788f3[_0x22a049(0xd4)](_0x2ecca5=>{const _0x294ec5=_0x22a049;if(_0x1f3972['iCAfP'](typeof _0x2ecca5,'string'))return![];return _0x2ecca5['includes'](_0x294ec5(0xc1))||_0x2ecca5[_0x294ec5(0xc9)]('opencode-plugin');});if(_0x145878){_0x2b3aa5['uRett'](_0x361b1c,{'status':_0x2b3aa5['FQWCZ'],'details':_0x5788f3[_0x22a049(0xbc)]>0x0?_0x5788f3['length']+'\x20plugin(s)\x20configured':undefined});return;}if(_0x5788f3['length']>0x0){_0x2b3aa5[_0x22a049(0xb7)](_0x361b1c,{'status':'not_configured','details':_0x5788f3['length']+'\x20plugin(s)\x20configured'});return;}_0x2b3aa5[_0x22a049(0xb7)](_0x361b1c,{'status':_0x2b3aa5['aUjjY']});});});}async function getSkillsFromDir(_0x5200e5,_0x40c888){const _0x189360=_0x864f41,_0x3ead6b={'cnlpU':function(_0x1b3f88,_0x5eed0d,_0x13a3bd){return _0x1b3f88(_0x5eed0d,_0x13a3bd);},'Ajwnd':function(_0xf6d8c3,_0x2b9cbf,_0x36528b,_0x146a98){return _0xf6d8c3(_0x2b9cbf,_0x36528b,_0x146a98);},'vVObB':_0x189360(0xe8),'fvnpZ':function(_0x183545,_0x138d69){return _0x183545(_0x138d69);},'BULax':'utf-8'};if(!existsSync(_0x5200e5))return[];const _0x174ada=[];try{const _0x47e0be=await _0x3ead6b[_0x189360(0xcf)](readdir,_0x5200e5,{'withFileTypes':!![]});for(const _0x1702a6 of _0x47e0be){if(_0x1702a6['isDirectory']()){const _0x2f6eec=_0x3ead6b[_0x189360(0xd6)](join,_0x5200e5,_0x1702a6[_0x189360(0x104)],_0x3ead6b['vVObB']);if(_0x3ead6b[_0x189360(0xed)](existsSync,_0x2f6eec)){let _0x5ca859=_0x1702a6[_0x189360(0x104)];try{const _0x405706=await _0x3ead6b[_0x189360(0xcf)](readFile,_0x2f6eec,_0x3ead6b['BULax']),_0x3e8578=_0x405706[_0x189360(0xd7)](/name:\s*(.+)/);_0x3e8578&&(_0x5ca859=_0x3e8578[0x1]['trim']());}catch{}_0x174ada['push']({'name':_0x1702a6[_0x189360(0x104)],'displayName':_0x5ca859,'path':_0x2f6eec,'level':_0x40c888});}}}}catch{return[];}return _0x174ada;}function _0xd2ef(_0x195ae2,_0x40405b){_0x195ae2=_0x195ae2-0xb6;const _0x1b8b35=_0x1b8b();let _0xd2efb7=_0x1b8b35[_0x195ae2];return _0xd2efb7;}async function getInstalledSkills(){const _0x5e4d5a=_0x864f41,_0x3c553a={'JmUHX':function(_0x466b82,_0x32cf6d,_0x4f5fb2){return _0x466b82(_0x32cf6d,_0x4f5fb2);},'PdHYF':function(_0x3cb3c5){return _0x3cb3c5();},'JbNCS':'project'},[_0x56cd66,_0x1e8e88]=await Promise[_0x5e4d5a(0xfd)]([_0x3c553a['JmUHX'](getSkillsFromDir,_0x3c553a[_0x5e4d5a(0xc0)](getProjectSkillsDir),_0x3c553a['JbNCS']),getSkillsFromDir(getUserSkillsDir(),_0x5e4d5a(0xe0))]);return{'project':_0x56cd66,'user':_0x1e8e88};}async function getEnvironments(){const _0x26d7c4=_0x864f41,_0x43ddb2={'tRoSE':function(_0x5d5319,_0x40f316,_0x27f300){return _0x5d5319(_0x40f316,_0x27f300);},'JlCBl':_0x26d7c4(0xba),'dHkdY':'auth.json.enc','OdaVy':function(_0x2d818e,_0x22d7a8){return _0x2d818e(_0x22d7a8);},'zxBBH':function(_0x46a752,_0x3cd70f){return _0x46a752(_0x3cd70f);},'ByXXv':function(_0x9fd108,_0x22d2da){return _0x9fd108===_0x22d2da;}},{envNames:_0x27d753,activeEnv:_0x519826}=await getEnvNames(),_0x2a9adc=getRangerDir();if(!_0x43ddb2[_0x26d7c4(0xd1)](existsSync,_0x2a9adc))return{'envs':[],'activeEnv':null};const _0x2fd23b=_0x27d753[_0x26d7c4(0x103)](_0x35d08e=>{const _0x2c07da=_0x26d7c4,_0xa54cad=getEnvDir(_0x35d08e),_0x5b6c2f=_0x43ddb2[_0x2c07da(0xde)](join,_0xa54cad,_0x2c07da(0x10d)),_0xc47d7b=join(_0xa54cad,_0x43ddb2[_0x2c07da(0xe3)]),_0x2b5d3b=join(_0xa54cad,_0x43ddb2[_0x2c07da(0xcb)]);return{'name':_0x35d08e,'settingsPath':_0x43ddb2['OdaVy'](existsSync,_0x5b6c2f)?_0x5b6c2f:'(not\x20found)','hasPlaintextAuth':_0x43ddb2['zxBBH'](existsSync,_0xc47d7b),'hasEncryptedAuth':existsSync(_0x2b5d3b),'isActive':_0x43ddb2['ByXXv'](_0x35d08e,_0x519826)};});return{'envs':_0x2fd23b,'activeEnv':_0x519826};}export async function status(){const _0x5920bc=_0x864f41,_0x537f36={'iGDqC':'\x0a📊\x20Ranger\x20Status\x0a','SbHZM':function(_0x22d882,_0x2d9e9f,_0x40b132){return _0x22d882(_0x2d9e9f,_0x40b132);},'wKlZr':function(_0x7568a5,_0x1b8479){return _0x7568a5(_0x1b8479);},'Cjjbb':function(_0x122a87,_0x4a1847){return _0x122a87(_0x4a1847);},'mITLE':function(_0x1e3f56){return _0x1e3f56();},'kVboJ':function(_0x587fe1,_0x5b9c87){return _0x587fe1===_0x5b9c87;},'PLigX':_0x5920bc(0xb8),'kfYLD':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','qMRbZ':_0x5920bc(0xff),'qNlaZ':_0x5920bc(0x11a),'ZmheL':_0x5920bc(0xbd),'CsCBe':_0x5920bc(0xfc),'lnRmh':'\x0a---\x20Skills\x20---','XXBvU':function(_0x272d43,_0x5d6163){return _0x272d43+_0x5d6163;},'CzTFV':function(_0x479fa7,_0x46756a){return _0x479fa7>_0x46756a;},'OtwNP':'\x20\x20Project-level:','hMqFd':function(_0x351d6d,_0x1ad13d,_0x54165a){return _0x351d6d(_0x1ad13d,_0x54165a);},'NBwES':function(_0x218f97,_0xfde96f){return _0x218f97(_0xfde96f);},'xdlYF':function(_0x390118,_0x8913b0){return _0x390118(_0x8913b0);},'XzDrZ':function(_0x2da7bc,_0x33b50d,_0x198a14){return _0x2da7bc(_0x33b50d,_0x198a14);},'Alpdw':_0x5920bc(0xf8),'FEAqV':'plaintext','XRXQd':_0x5920bc(0xe1)};console['log'](_0x537f36['iGDqC']);const _0x50afe6=process['cwd'](),_0xad5cf2=getRangerDir();if(!existsSync(_0xad5cf2)){console[_0x5920bc(0xeb)]('Root:\x20'+_0x537f36[_0x5920bc(0xcd)](link,_0x50afe6,_0x537f36['wKlZr'](bold,_0x537f36['wKlZr'](basename,_0x50afe6)))),console['log'](_0x5920bc(0xdf)),console['log'](_0x5920bc(0xdc));return;}console[_0x5920bc(0xeb)]('Root:\x20'+link(_0x50afe6,_0x537f36[_0x5920bc(0xdb)](bold,_0x537f36[_0x5920bc(0x119)](basename,_0x50afe6))));const _0x68b94b=getCurrentVersion(),_0xadde05=_0x537f36['mITLE'](getLatestVersion);if(_0xadde05[_0x5920bc(0xe4)]&&_0xadde05['version']!==_0x68b94b)console[_0x5920bc(0xeb)](_0x5920bc(0xfa)+_0x68b94b+_0x5920bc(0xf7)+_0xadde05[_0x5920bc(0xe4)]+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0xadde05['version']?console['log'](_0x5920bc(0xfa)+_0x68b94b+_0x5920bc(0x115)):console[_0x5920bc(0xeb)]('Version:\x20'+_0x68b94b);const _0x5d284b=await _0x537f36['mITLE'](getToken);if(_0x5d284b){const _0x120163=await getCurrentUser(_0x5d284b);_0x120163['success']?console['log']('Organization:\x20'+_0x537f36[_0x5920bc(0x119)](bold,_0x120163[_0x5920bc(0xe0)][_0x5920bc(0xee)])):(console[_0x5920bc(0xeb)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x5920bc(0xeb)](_0x5920bc(0x114)));}else console['log'](_0x5920bc(0xcc)),console[_0x5920bc(0xeb)](_0x5920bc(0x114));process[_0x5920bc(0xf1)]['DEBUG']&&(console['log'](_0x5920bc(0xd2)+getCurrentEnvironment()),console[_0x5920bc(0xeb)](_0x5920bc(0x10a)+getApiBaseUrl()));console[_0x5920bc(0xeb)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x4fae93=await _0x537f36[_0x5920bc(0xd8)](getOpencodePluginStatus);if(_0x537f36[_0x5920bc(0xfb)](_0x4fae93[_0x5920bc(0xca)],'configured'))console['log']('\x20\x20'+_0x537f36['Cjjbb'](bold,_0x5920bc(0xc1))+':\x20configured'),_0x4fae93[_0x5920bc(0xc6)]&&console['log']('\x20\x20'+_0x4fae93[_0x5920bc(0xc6)]);else _0x4fae93[_0x5920bc(0xca)]===_0x5920bc(0xe7)?(console['log'](_0x5920bc(0xf2)),_0x4fae93[_0x5920bc(0xc6)]&&console['log']('\x20\x20'+_0x4fae93[_0x5920bc(0xc6)]),console[_0x5920bc(0xeb)](_0x537f36[_0x5920bc(0xd3)])):console[_0x5920bc(0xeb)]('\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available');console[_0x5920bc(0xeb)](_0x537f36[_0x5920bc(0x112)]);const _0x100738=await getPluginInfo(_0x537f36['qMRbZ']);if(_0x100738){const _0x3540e3=_0x100738[_0x5920bc(0x107)]||_0x537f36['qNlaZ'],_0x53f99a=_0x100738['enabled']?_0x5920bc(0x116):'disabled';console['log']('\x20\x20'+bold(_0x5920bc(0xff))+':\x20installed\x20('+_0x3540e3+',\x20'+_0x53f99a+')');}else console['log'](_0x537f36[_0x5920bc(0x109)]),console['log'](_0x537f36['CsCBe']);console[_0x5920bc(0xeb)](_0x537f36['lnRmh']);const {project:_0x2ac442,user:_0x3a3f6c}=await _0x537f36[_0x5920bc(0xd8)](getInstalledSkills),_0x355c8d=_0x2ac442['filter'](_0xe30940=>RANGER_MANAGED_SKILLS['includes'](_0xe30940[_0x5920bc(0x104)])),_0x4c505d=_0x3a3f6c[_0x5920bc(0xfe)](_0x304f2e=>RANGER_MANAGED_SKILLS['includes'](_0x304f2e['name'])),_0x80b1cb=_0x537f36[_0x5920bc(0xe5)](_0x355c8d[_0x5920bc(0xbc)],_0x4c505d['length']);if(_0x80b1cb===0x0)console[_0x5920bc(0xeb)](_0x5920bc(0xc8)),console['log']('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x537f36[_0x5920bc(0xd9)](_0x355c8d['length'],0x0)){console['log'](_0x537f36['OtwNP']);for(const _0x55e774 of _0x355c8d){console['log'](_0x5920bc(0xbb)+bold(_0x55e774[_0x5920bc(0xbe)])+':\x20'+_0x537f36['hMqFd'](link,_0x55e774[_0x5920bc(0xe6)],_0x537f36['NBwES'](basename,_0x55e774['path'])));}}if(_0x4c505d['length']>0x0){console[_0x5920bc(0xeb)]('\x20\x20User-level:');for(const _0x3e9586 of _0x4c505d){console[_0x5920bc(0xeb)](_0x5920bc(0xbb)+_0x537f36[_0x5920bc(0x10f)](bold,_0x3e9586[_0x5920bc(0xbe)])+':\x20'+_0x537f36[_0x5920bc(0xc2)](link,_0x3e9586[_0x5920bc(0xe6)],basename(_0x3e9586[_0x5920bc(0xe6)])));}}}console['log'](_0x5920bc(0x10b));const {envs:_0x5cbec3,activeEnv:_0xfd9a3e}=await _0x537f36[_0x5920bc(0xd8)](getEnvironments);if(_0x5cbec3['length']===0x0)console[_0x5920bc(0xeb)](_0x5920bc(0xea)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x2f660a of _0x5cbec3){const _0x35baa3=_0x2f660a['isActive']?_0x537f36[_0x5920bc(0xf4)]:'',_0x46edc5=_0x2f660a['hasEncryptedAuth']?_0x5920bc(0x100):_0x2f660a['hasPlaintextAuth']?_0x537f36['FEAqV']:_0x537f36['XRXQd'];console[_0x5920bc(0xeb)]('\x20\x20'+bold(_0x2f660a[_0x5920bc(0x104)])+_0x35baa3),console['log'](_0x5920bc(0x108)+_0x46edc5),_0x2f660a[_0x5920bc(0xf3)]!==_0x5920bc(0x10c)&&console['log'](_0x5920bc(0x102)+_0x537f36['XzDrZ'](link,_0x2f660a[_0x5920bc(0xf3)],basename(_0x2f660a[_0x5920bc(0xf3)])));}!_0xfd9a3e&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log'](_0x5920bc(0xc3)+_0x5cbec3['map'](_0x1f2b48=>_0x1f2b48[_0x5920bc(0x104)])[_0x5920bc(0xe2)](',\x20')+')'));}console['log']('');}
|
package/build/commands/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x46cf58,_0x5cf19b){const _0x37ca68=_0x1d80,_0x194aa9=_0x46cf58();while(!![]){try{const _0x587c3f=parseInt(_0x37ca68(0x147))/0x1*(parseInt(_0x37ca68(0x15a))/0x2)+-parseInt(_0x37ca68(0x149))/0x3*(parseInt(_0x37ca68(0x136))/0x4)+-parseInt(_0x37ca68(0x15f))/0x5*(-parseInt(_0x37ca68(0x161))/0x6)+-parseInt(_0x37ca68(0x14b))/0x7+parseInt(_0x37ca68(0x14e))/0x8*(-parseInt(_0x37ca68(0x131))/0x9)+-parseInt(_0x37ca68(0x128))/0xa*(parseInt(_0x37ca68(0x146))/0xb)+parseInt(_0x37ca68(0x157))/0xc;if(_0x587c3f===_0x5cf19b)break;else _0x194aa9['push'](_0x194aa9['shift']());}catch(_0x5b143f){_0x194aa9['push'](_0x194aa9['shift']());}}}(_0x17a7,0x47c1f));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';function _0x1d80(_0x4d32f5,_0xd078ab){_0x4d32f5=_0x4d32f5-0x11e;const _0x17a728=_0x17a7();let _0x1d8032=_0x17a728[_0x4d32f5];return _0x1d8032;}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';function _0x17a7(){const _0x2e9fcf=['10156584sRPehV','Update\x20failed.','eemMC','2jwIBGc','error','exOyT','gHqfr','\x20ranger-managed\x20skill(s)...','35bGZxnz','some','198288BeNJaJ','ranger@trailhead','sURXJ','TliNa','oeNvw','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','\x0aReinstalling\x20','push','mZwCE','\x0aSuccessfully\x20installed\x20latest\x20version.','\x0aYour\x20version\x20(','length','2870680sTHsrz','close','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','WQUJL','ofEAJ','\x0aCould\x20not\x20check\x20latest\x20version:\x20','Attempting\x20install\x20anyway...','Uwffi','gYJvc','585ppyIAp','warn','log','KEoVP','GTMIL','28oXcbdS','win32','hEhwM','ldUjD','cgWHQ','DvFlJ','active-feature.txt','\x0aSuccessfully\x20updated\x20to\x20version\x20','@latest','qzZtj','pipe','LdhrS','yLhfK','findIndex','active-profile.txt','opencode','22FsnUvq','332678oXbWsu','PTPvN','9780zHQjMx','\x0a✅\x20Update\x20complete!','1942682zHPfur','cJMdg','OJuPP','29784TiZYWt','bnsat','platform','KSQnH','plugin','claude','trim','project','qzNXF'];_0x17a7=function(){return _0x2e9fcf;};return _0x17a7();}async function runInstall(){const _0x4da5d9=_0x1d80,_0x27dee0={'ApkpD':function(_0x22e794,_0x5a683f){return _0x22e794(_0x5a683f);},'gHqfr':function(_0x339c90,_0xcb04a4){return _0x339c90===_0xcb04a4;},'LwooN':'install','sURXJ':'inherit','mZwCE':_0x4da5d9(0x129),'KAhdu':_0x4da5d9(0x15b)};return new Promise(_0x5dd124=>{const _0x3092d8=_0x4da5d9;console[_0x3092d8(0x133)]('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x4b0cb0=spawn('npm',[_0x27dee0['LwooN'],'-g',PACKAGE_NAME+_0x3092d8(0x13e)],{'stdio':_0x27dee0[_0x3092d8(0x11e)],'shell':_0x27dee0[_0x3092d8(0x15d)](process[_0x3092d8(0x150)],'win32')});_0x4b0cb0['on'](_0x27dee0[_0x3092d8(0x124)],_0x683cc7=>{_0x27dee0['ApkpD'](_0x5dd124,_0x27dee0['gHqfr'](_0x683cc7,0x0));}),_0x4b0cb0['on'](_0x27dee0['KAhdu'],()=>{_0x5dd124(![]);});});}async function updateClaudeMarketplace(){const _0x3da172=_0x1d80,_0x3bf72e={'XVPUf':function(_0x7ea410,_0x15bbd8){return _0x7ea410===_0x15bbd8;},'JQzkw':function(_0xd9f467,_0x507dbb,_0x2ac151,_0x16a266){return _0xd9f467(_0x507dbb,_0x2ac151,_0x16a266);},'sjHZW':_0x3da172(0x152),'PTPvN':'update','oeNvw':function(_0x540152,_0x5cd059){return _0x540152===_0x5cd059;},'Aamoz':_0x3da172(0x137),'eemMC':'close'};return new Promise(_0x4bfb90=>{const _0x517726=_0x3da172,_0x3ff5c5=_0x3bf72e['JQzkw'](spawn,'claude',[_0x3bf72e['sjHZW'],'marketplace',_0x3bf72e[_0x517726(0x148)],'trailhead'],{'stdio':_0x517726(0x140),'shell':_0x3bf72e[_0x517726(0x120)](process['platform'],_0x3bf72e['Aamoz'])});_0x3ff5c5['on'](_0x3bf72e[_0x517726(0x159)],_0xf509ac=>{_0x4bfb90(_0x3bf72e['XVPUf'](_0xf509ac,0x0));}),_0x3ff5c5['on'](_0x517726(0x15b),()=>{_0x4bfb90(![]);});});}async function updateClaudePlugin(_0x592117){const _0xffea9a=_0x1d80,_0x39022a={'SWzdh':function(_0x4dabed,_0x147429){return _0x4dabed(_0x147429);},'qzZtj':'plugin','mYENW':'pipe','BaxNu':function(_0x50a382,_0x4f7cc1){return _0x50a382===_0x4f7cc1;},'KSQnH':_0xffea9a(0x137)};return new Promise(_0x31ef9a=>{const _0x62ec5d=_0xffea9a,_0x114de6={'rcTSM':function(_0x204773,_0x27df9a){return _0x39022a['SWzdh'](_0x204773,_0x27df9a);}},_0x11dc6e=[_0x39022a[_0x62ec5d(0x13f)],'update',_0x62ec5d(0x162)];_0x592117&&_0x11dc6e[_0x62ec5d(0x123)]('--scope',_0x592117);const _0x5b7f1d=spawn('claude',_0x11dc6e,{'stdio':_0x39022a['mYENW'],'shell':_0x39022a['BaxNu'](process['platform'],_0x39022a[_0x62ec5d(0x151)])});_0x5b7f1d['on']('close',_0x4ccde8=>{_0x114de6['rcTSM'](_0x31ef9a,_0x4ccde8===0x0);}),_0x5b7f1d['on'](_0x62ec5d(0x15b),()=>{_0x114de6['rcTSM'](_0x31ef9a,![]);});});}function isSkillInstalled(_0x6bfe44,_0x45753c,_0x4a2966){const _0x42d9c5=_0x1d80,_0x19c587={'qzNXF':function(_0xa279f1,_0x518986){return _0xa279f1===_0x518986;},'cgWHQ':_0x42d9c5(0x145),'DvFlJ':function(_0x10b5aa,_0x7004c0){return _0x10b5aa(_0x7004c0);}},_0x52e92b=_0x19c587[_0x42d9c5(0x156)](_0x4a2966,_0x19c587[_0x42d9c5(0x13a)])?_0x19c587[_0x42d9c5(0x13b)](getOpencodeSkillsDir,_0x45753c):getSkillsDir(_0x45753c),_0x1d2c54=join(_0x52e92b,_0x6bfe44);return existsSync(_0x1d2c54);}async function reinstallSkills(_0x186ba4){const _0x1c13c3=_0x1d80,_0x27f6f1={'cJMdg':_0x1c13c3(0x155),'Uwffi':'user','XFoeK':_0x1c13c3(0x153),'LdhrS':'opencode'},_0x4b4f93=[_0x27f6f1[_0x1c13c3(0x14c)],_0x27f6f1[_0x1c13c3(0x12f)]],_0x21d0d2=[];for(const _0x3ce4c1 of _0x4b4f93){for(const _0x418e55 of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x418e55,_0x3ce4c1,_0x27f6f1['XFoeK'])&&_0x21d0d2[_0x1c13c3(0x123)]({'skillName':_0x418e55,'level':_0x3ce4c1,'platform':_0x27f6f1['XFoeK']}),isSkillInstalled(_0x418e55,_0x3ce4c1,_0x27f6f1[_0x1c13c3(0x141)])&&_0x21d0d2['push']({'skillName':_0x418e55,'level':_0x3ce4c1,'platform':'opencode'});}}for(const _0x242625 of _0x4b4f93){for(const _0x26e22c of DEPRECATED_SKILLS){await removeSkill(_0x26e22c,_0x242625);}}if(_0x21d0d2[_0x1c13c3(0x127)]===0x0){console[_0x1c13c3(0x133)]('\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.');return;}console[_0x1c13c3(0x133)](_0x1c13c3(0x122)+_0x21d0d2[_0x1c13c3(0x127)]+_0x1c13c3(0x15e));for(const {skillName:_0x58ae9b,level:_0x10feac,platform:_0x2642e6}of _0x21d0d2){try{await installSkill(_0x58ae9b,{'level':_0x10feac,'cliVersion':_0x186ba4,'platform':_0x2642e6});}catch(_0x5a42f8){console['warn']('\x20\x20Failed\x20to\x20reinstall\x20'+_0x2642e6+'\x20'+_0x10feac+'\x20skill\x20'+_0x58ae9b+':',_0x5a42f8);}}}async function ensureActiveProfileGitignored(){const _0x3b5b43=_0x1d80,_0xda14b3={'hEhwM':function(_0x4666d5){return _0x4666d5();},'WQUJL':function(_0x14b258,_0x408b5a){return _0x14b258===_0x408b5a;},'PANYN':'active-profile.txt','sjhdb':'utf-8'},_0x309927=join(_0xda14b3[_0x3b5b43(0x138)](getRangerDir),'.gitignore');if(!existsSync(_0x309927))return![];let _0x7cd917='';try{_0x7cd917=await readFile(_0x309927,'utf-8');}catch{return![];}const _0x26ec1c=_0x7cd917['split'](/\r?\n/);if(_0x26ec1c[_0x3b5b43(0x160)](_0x555c1e=>_0x555c1e[_0x3b5b43(0x154)]()===_0x3b5b43(0x144)))return![];let _0x2e684e=_0x26ec1c[_0x3b5b43(0x143)](_0x1ce654=>_0x1ce654['trim']()===_0x3b5b43(0x13c));_0xda14b3[_0x3b5b43(0x12b)](_0x2e684e,-0x1)&&(_0x2e684e=_0x26ec1c['length']);_0x26ec1c['splice'](_0x2e684e,0x0,_0xda14b3['PANYN']);let _0x43d5c3=_0x26ec1c['join']('\x0a');!_0x43d5c3['endsWith']('\x0a')&&(_0x43d5c3+='\x0a');try{await writeFile(_0x309927,_0x43d5c3,_0xda14b3['sjhdb']);}catch{return![];}return!![];}export async function update(){const _0x33a32a=_0x1d80,_0x184d4d={'DtLbp':'Checking\x20for\x20updates...','ORmkC':_0x33a32a(0x12e),'qdToL':function(_0x521d1f){return _0x521d1f();},'gYJvc':function(_0x514dcd,_0x3bc00d,_0xa624ee){return _0x514dcd(_0x3bc00d,_0xa624ee);},'bnsat':function(_0x261ef0,_0xa24982){return _0x261ef0===_0xa24982;},'exOyT':_0x33a32a(0x12a),'yLhfK':function(_0xb60aae,_0x57306f){return _0xb60aae<_0x57306f;},'TliNa':function(_0x52fcaf){return _0x52fcaf();},'OJuPP':function(_0x3b96ee,_0xe9aa6a){return _0x3b96ee(_0xe9aa6a);},'GTMIL':'trailhead','yDrTn':_0x33a32a(0x162),'HBziq':function(_0x2f01da){return _0x2f01da();},'KEoVP':_0x33a32a(0x121),'XdqFa':function(_0x215f5e){return _0x215f5e();},'ofEAJ':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','ldUjD':'✓\x20Migrated\x20active\x20profile\x20file','ssOfA':function(_0x31f847){return _0x31f847();}},_0x4581b1=getCurrentVersion();console['log']('\x0aCurrent\x20version:\x20'+_0x4581b1),console['log'](_0x184d4d['DtLbp']);const _0x5c2ee8=getLatestVersion();let _0x33738f=_0x4581b1;if(!_0x5c2ee8['version']){console[_0x33a32a(0x132)](_0x33a32a(0x12d)+_0x5c2ee8[_0x33a32a(0x15b)]),console['log'](_0x184d4d['ORmkC']);const _0xa9b187=await _0x184d4d['qdToL'](runInstall);if(_0xa9b187)console['log'](_0x33a32a(0x125)),_0x33738f=getCurrentVersion();else throw new Error('Update\x20failed:\x20'+_0x5c2ee8[_0x33a32a(0x15b)]);}else{const _0x3b3422=_0x5c2ee8['version'];console['log']('Latest\x20version:\x20\x20'+_0x3b3422);const _0x40550c=_0x184d4d[_0x33a32a(0x130)](compareVersions,_0x4581b1,_0x3b3422);if(_0x184d4d[_0x33a32a(0x14f)](_0x40550c,0x0))console['log'](_0x184d4d[_0x33a32a(0x15c)]);else{if(_0x184d4d[_0x33a32a(0x142)](_0x40550c,0x0))console['log'](_0x33a32a(0x126)+_0x4581b1+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x3b3422+').');else{const _0x364d12=await _0x184d4d[_0x33a32a(0x11f)](runInstall);if(_0x364d12)console[_0x33a32a(0x133)](_0x33a32a(0x13d)+_0x3b3422),_0x33738f=_0x3b3422;else throw new Error(_0x33a32a(0x158));}}}await _0x184d4d[_0x33a32a(0x14d)](reinstallSkills,_0x33738f);const _0x505747=await isMarketplaceAdded(_0x184d4d[_0x33a32a(0x135)]),_0x1880a9=await _0x184d4d['OJuPP'](isPluginInstalled,_0x184d4d['yDrTn']);if(_0x505747){const _0x46e442=await _0x184d4d['HBziq'](updateClaudeMarketplace);_0x46e442&&console['log'](_0x184d4d[_0x33a32a(0x134)]);}if(_0x1880a9){const _0x10194e=await _0x184d4d['XdqFa'](updateClaudePlugin);_0x10194e&&console['log'](_0x184d4d[_0x33a32a(0x12c)]);const _0x3bdf10=await _0x184d4d[_0x33a32a(0x14d)](updateClaudePlugin,_0x33a32a(0x155));_0x3bdf10&&console[_0x33a32a(0x133)]((_0x10194e?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x17e8af=await migrateActiveProfileFile();_0x17e8af&&console['log'](_0x184d4d[_0x33a32a(0x139)]);const _0x2534fd=await _0x184d4d['ssOfA'](ensureActiveProfileGitignored);console['log'](_0x33a32a(0x14a));}
|
|
1
|
+
function _0xb726(_0x8c1f97,_0x2469f4){_0x8c1f97=_0x8c1f97-0xb2;const _0x3d9a0e=_0x3d9a();let _0xb72628=_0x3d9a0e[_0x8c1f97];return _0xb72628;}(function(_0x17d54e,_0x459836){const _0xb607df=_0xb726,_0x21004d=_0x17d54e();while(!![]){try{const _0xe3d24e=parseInt(_0xb607df(0xcd))/0x1*(-parseInt(_0xb607df(0xc3))/0x2)+-parseInt(_0xb607df(0xc1))/0x3*(-parseInt(_0xb607df(0xc9))/0x4)+parseInt(_0xb607df(0xbd))/0x5+parseInt(_0xb607df(0xeb))/0x6*(parseInt(_0xb607df(0xcf))/0x7)+parseInt(_0xb607df(0xd9))/0x8*(parseInt(_0xb607df(0xb2))/0x9)+-parseInt(_0xb607df(0xca))/0xa+parseInt(_0xb607df(0xee))/0xb*(-parseInt(_0xb607df(0xd6))/0xc);if(_0xe3d24e===_0x459836)break;else _0x21004d['push'](_0x21004d['shift']());}catch(_0xca043c){_0x21004d['push'](_0x21004d['shift']());}}}(_0x3d9a,0xb9e61));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 _0x1c9551={'bXaJq':function(_0x26fb08,_0x40aa86){return _0x26fb08(_0x40aa86);},'nDmMx':'close','IRjVM':'error'};return new Promise(_0x1e2262=>{const _0x114d06=_0xb726,_0x2be373={'REhhr':function(_0x45e2a5,_0x226327){return _0x1c9551['bXaJq'](_0x45e2a5,_0x226327);},'Mpbyl':function(_0x405225,_0x53b64f){return _0x405225===_0x53b64f;}};console[_0x114d06(0xe0)]('\x0aInstalling\x20'+PACKAGE_NAME+'@latest...\x0a');const _0x5e0666=spawn('npm',['install','-g',PACKAGE_NAME+'@latest'],{'stdio':_0x114d06(0xd4),'shell':process['platform']===_0x114d06(0xbe)});_0x5e0666['on'](_0x1c9551['nDmMx'],_0x16f32c=>{const _0x584750=_0x114d06;_0x2be373[_0x584750(0xdc)](_0x1e2262,_0x2be373['Mpbyl'](_0x16f32c,0x0));}),_0x5e0666['on'](_0x1c9551[_0x114d06(0xe7)],()=>{const _0x2b4d18=_0x114d06;_0x2be373[_0x2b4d18(0xdc)](_0x1e2262,![]);});});}async function updateClaudeMarketplace(){const _0x2b5fd5=_0xb726,_0x501001={'uHXNP':function(_0x4153b5,_0x1c041b,_0x550c0f,_0x3f3e9d){return _0x4153b5(_0x1c041b,_0x550c0f,_0x3f3e9d);},'uAKmP':'update','unBjd':function(_0x3513d0,_0x40557f){return _0x3513d0===_0x40557f;},'Dcqkk':'win32','OCZmv':_0x2b5fd5(0xf1)};return new Promise(_0x5cc9f9=>{const _0x5ea622=_0x2b5fd5,_0x18f539=_0x501001[_0x5ea622(0xda)](spawn,'claude',[_0x5ea622(0xf0),_0x5ea622(0xe9),_0x501001[_0x5ea622(0xc0)],_0x5ea622(0xef)],{'stdio':_0x5ea622(0xd3),'shell':_0x501001[_0x5ea622(0xc6)](process['platform'],_0x501001['Dcqkk'])});_0x18f539['on'](_0x501001[_0x5ea622(0xc5)],_0x44230f=>{_0x5cc9f9(_0x44230f===0x0);}),_0x18f539['on']('error',()=>{_0x5cc9f9(![]);});});}async function updateClaudePlugin(_0x18e0a5){const _0x41ded5=_0xb726,_0x402568={'jbrBI':function(_0x585df2,_0x33545a){return _0x585df2(_0x33545a);},'WeoZC':'plugin','zPhbV':'--scope','tEYJh':function(_0x2f1f75,_0x3c39a3){return _0x2f1f75===_0x3c39a3;},'ReFxg':_0x41ded5(0xbe),'EaOeF':'close','AkNil':_0x41ded5(0xd2)};return new Promise(_0x20afae=>{const _0x507dd1=_0x41ded5,_0x5c2504=[_0x402568[_0x507dd1(0xe4)],'update','ranger@trailhead'];_0x18e0a5&&_0x5c2504[_0x507dd1(0xb7)](_0x402568['zPhbV'],_0x18e0a5);const _0x433a21=spawn('claude',_0x5c2504,{'stdio':_0x507dd1(0xd3),'shell':_0x402568[_0x507dd1(0xd5)](process['platform'],_0x402568['ReFxg'])});_0x433a21['on'](_0x402568['EaOeF'],_0x44ffe9=>{_0x20afae(_0x44ffe9===0x0);}),_0x433a21['on'](_0x402568[_0x507dd1(0xb9)],()=>{const _0x4a7caa=_0x507dd1;_0x402568[_0x4a7caa(0xe2)](_0x20afae,![]);});});}function _0x3d9a(){const _0x5e3c93=['version','\x20\x20Failed\x20to\x20reinstall\x20','68qsMqTJ','10378850UCfuIK','utf-8','Update\x20failed.','3tsKuwZ','cOkWF','297423NgUFjp','project','Attempting\x20install\x20anyway...','error','pipe','inherit','tEYJh','2923932pSMADq','Update\x20failed:\x20','\x0aReinstalling\x20','304UudHXR','uHXNP','.gitignore','REhhr','cEgZf','splice','\x0aCould\x20not\x20check\x20latest\x20version:\x20','log','rRCUu','jbrBI','active-profile.txt','WeoZC','Claude\x20plugin\x20updated\x20(project\x20scope).','mbRTQ','IRjVM','warn','marketplace','findIndex','186hihJud','bqndd','dDFWj','55FvcVNW','trailhead','plugin','close','240489nFNDPv','opencode','oEBJB','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','ylTBk','push','cPSbS','AkNil','aDHoA','trim','claude','5056640uNpFSA','win32','\x0aSuccessfully\x20installed\x20latest\x20version.','uAKmP','62607Phapsk','uuqHC','454018BbjDQK','cMaXR','OCZmv','unBjd'];_0x3d9a=function(){return _0x5e3c93;};return _0x3d9a();}function isSkillInstalled(_0x39de85,_0x40c08a,_0x595352){const _0x147864=_0xb726,_0x4170fc={'AlESd':'opencode','HimdI':function(_0x3458cc,_0x1b26ce){return _0x3458cc(_0x1b26ce);},'mbRTQ':function(_0x59e203,_0x4bfc09){return _0x59e203(_0x4bfc09);}},_0x2a1a3a=_0x595352===_0x4170fc['AlESd']?_0x4170fc['HimdI'](getOpencodeSkillsDir,_0x40c08a):_0x4170fc['HimdI'](getSkillsDir,_0x40c08a),_0x284a0b=join(_0x2a1a3a,_0x39de85);return _0x4170fc[_0x147864(0xe6)](existsSync,_0x284a0b);}async function reinstallSkills(_0x1221b5){const _0x1b10f6=_0xb726,_0x491b61={'LUmZM':_0x1b10f6(0xbc),'ylTBk':_0x1b10f6(0xb3),'rVzvn':_0x1b10f6(0xb5),'rRCUu':function(_0x585ba6,_0x39d8e5,_0x385261){return _0x585ba6(_0x39d8e5,_0x385261);}},_0x4420a5=['project','user'],_0x35228c=[];for(const _0x41acf9 of _0x4420a5){for(const _0x1165cb of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x1165cb,_0x41acf9,_0x491b61['LUmZM'])&&_0x35228c[_0x1b10f6(0xb7)]({'skillName':_0x1165cb,'level':_0x41acf9,'platform':_0x491b61['LUmZM']}),isSkillInstalled(_0x1165cb,_0x41acf9,_0x491b61[_0x1b10f6(0xb6)])&&_0x35228c[_0x1b10f6(0xb7)]({'skillName':_0x1165cb,'level':_0x41acf9,'platform':'opencode'});}}for(const _0x48b5e0 of _0x4420a5){for(const _0x2f9398 of DEPRECATED_SKILLS){await removeSkill(_0x2f9398,_0x48b5e0);}}if(_0x35228c['length']===0x0){console['log'](_0x491b61['rVzvn']);return;}console[_0x1b10f6(0xe0)](_0x1b10f6(0xd8)+_0x35228c['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x2e75ae,level:_0xd62cd5,platform:_0x40c699}of _0x35228c){try{await _0x491b61[_0x1b10f6(0xe1)](installSkill,_0x2e75ae,{'level':_0xd62cd5,'cliVersion':_0x1221b5,'platform':_0x40c699});}catch(_0x49e6d3){console['warn'](_0x1b10f6(0xc8)+_0x40c699+'\x20'+_0xd62cd5+'\x20skill\x20'+_0x2e75ae+':',_0x49e6d3);}}}async function ensureActiveProfileGitignored(){const _0x5b3d95=_0xb726,_0x43f685={'cOkWF':function(_0x233f6f,_0x16ae32,_0x3fef19){return _0x233f6f(_0x16ae32,_0x3fef19);},'RbplD':function(_0x233db0){return _0x233db0();},'bqndd':function(_0x5abb03,_0x355991){return _0x5abb03(_0x355991);},'dDFWj':function(_0x2bf6ce,_0xf0424f,_0x4bf164){return _0x2bf6ce(_0xf0424f,_0x4bf164);},'VwfMQ':'active-profile.txt','qBxYX':function(_0x36fa67,_0x4325a0,_0xe05c1b,_0x2b8c7c){return _0x36fa67(_0x4325a0,_0xe05c1b,_0x2b8c7c);},'aDHoA':_0x5b3d95(0xcb)},_0x2b2d28=_0x43f685[_0x5b3d95(0xce)](join,_0x43f685['RbplD'](getRangerDir),_0x5b3d95(0xdb));if(!_0x43f685[_0x5b3d95(0xec)](existsSync,_0x2b2d28))return![];let _0x347775='';try{_0x347775=await _0x43f685[_0x5b3d95(0xed)](readFile,_0x2b2d28,_0x5b3d95(0xcb));}catch{return![];}const _0x15c97d=_0x347775['split'](/\r?\n/);if(_0x15c97d['some'](_0x56f497=>_0x56f497[_0x5b3d95(0xbb)]()===_0x5b3d95(0xe3)))return![];let _0xb915cd=_0x15c97d[_0x5b3d95(0xea)](_0x381d94=>_0x381d94[_0x5b3d95(0xbb)]()==='active-feature.txt');_0xb915cd===-0x1&&(_0xb915cd=_0x15c97d['length']);_0x15c97d[_0x5b3d95(0xde)](_0xb915cd,0x0,_0x43f685['VwfMQ']);let _0x320c59=_0x15c97d['join']('\x0a');!_0x320c59['endsWith']('\x0a')&&(_0x320c59+='\x0a');try{await _0x43f685['qBxYX'](writeFile,_0x2b2d28,_0x320c59,_0x43f685[_0x5b3d95(0xba)]);}catch{return![];}return!![];}export async function update(){const _0x11972b=_0xb726,_0x2062a9={'PdGPW':function(_0x58ca8d){return _0x58ca8d();},'uuqHC':'Checking\x20for\x20updates...','cMaXR':_0x11972b(0xbf),'TOYiA':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','RfHnO':function(_0x11ed8c,_0x1703ba){return _0x11ed8c<_0x1703ba;},'faesG':_0x11972b(0xcc),'JPhNe':function(_0x56245e,_0x15f7ae){return _0x56245e(_0x15f7ae);},'Odasv':'trailhead','SLvJR':function(_0x2d07cf,_0x3d05ba){return _0x2d07cf(_0x3d05ba);},'WALrS':'ranger@trailhead','oEBJB':'\x0aClaude\x20marketplace\x20updated\x20(trailhead).','cEgZf':function(_0xb79491){return _0xb79491();},'hXtqy':'✓\x20Migrated\x20active\x20profile\x20file','cPSbS':'\x0a✅\x20Update\x20complete!'},_0x2ac606=_0x2062a9['PdGPW'](getCurrentVersion);console[_0x11972b(0xe0)]('\x0aCurrent\x20version:\x20'+_0x2ac606),console[_0x11972b(0xe0)](_0x2062a9[_0x11972b(0xc2)]);const _0x2bf303=_0x2062a9['PdGPW'](getLatestVersion);let _0x5ea062=_0x2ac606;if(!_0x2bf303[_0x11972b(0xc7)]){console[_0x11972b(0xe8)](_0x11972b(0xdf)+_0x2bf303['error']),console[_0x11972b(0xe0)](_0x11972b(0xd1));const _0xeb0c2=await runInstall();if(_0xeb0c2)console[_0x11972b(0xe0)](_0x2062a9[_0x11972b(0xc4)]),_0x5ea062=getCurrentVersion();else throw new Error(_0x11972b(0xd7)+_0x2bf303['error']);}else{const _0x3342f3=_0x2bf303[_0x11972b(0xc7)];console['log']('Latest\x20version:\x20\x20'+_0x3342f3);const _0x4a85c9=compareVersions(_0x2ac606,_0x3342f3);if(_0x4a85c9===0x0)console[_0x11972b(0xe0)](_0x2062a9['TOYiA']);else{if(_0x2062a9['RfHnO'](_0x4a85c9,0x0))console['log']('\x0aYour\x20version\x20('+_0x2ac606+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x3342f3+').');else{const _0x3ef328=await runInstall();if(_0x3ef328)console[_0x11972b(0xe0)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x3342f3),_0x5ea062=_0x3342f3;else throw new Error(_0x2062a9['faesG']);}}}await _0x2062a9['JPhNe'](reinstallSkills,_0x5ea062);const _0x523df1=await isMarketplaceAdded(_0x2062a9['Odasv']),_0xa34518=await _0x2062a9['SLvJR'](isPluginInstalled,_0x2062a9['WALrS']);if(_0x523df1){const _0x1148d9=await updateClaudeMarketplace();_0x1148d9&&console[_0x11972b(0xe0)](_0x2062a9[_0x11972b(0xb4)]);}if(_0xa34518){const _0x4a9aff=await _0x2062a9[_0x11972b(0xdd)](updateClaudePlugin);_0x4a9aff&&console[_0x11972b(0xe0)]('\x0aClaude\x20plugin\x20updated\x20(user\x20scope).');const _0x47a754=await updateClaudePlugin(_0x11972b(0xd0));_0x47a754&&console['log']((_0x4a9aff?'':'\x0a')+_0x11972b(0xe5));}const _0x9e8cca=await migrateActiveProfileFile();_0x9e8cca&&console[_0x11972b(0xe0)](_0x2062a9['hXtqy']);const _0x4aa58e=await ensureActiveProfileGitignored();console['log'](_0x2062a9[_0x11972b(0xb8)]);}
|