@ranger-testing/ranger-cli 2.1.8 → 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 -0
- 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
|
-
(function(
|
|
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(_0x19e9fc,_0x109c37){const _0xe9876b=_0x5696,_0x55ee8e=_0x19e9fc();while(!![]){try{const _0x1f6162=parseInt(_0xe9876b(0x12c))/0x1*(-parseInt(_0xe9876b(0x126))/0x2)+-parseInt(_0xe9876b(0x11f))/0x3+parseInt(_0xe9876b(0x107))/0x4+parseInt(_0xe9876b(0x12a))/0x5*(-parseInt(_0xe9876b(0x132))/0x6)+-parseInt(_0xe9876b(0xef))/0x7*(parseInt(_0xe9876b(0x123))/0x8)+parseInt(_0xe9876b(0x10e))/0x9+parseInt(_0xe9876b(0x10d))/0xa;if(_0x1f6162===_0x109c37)break;else _0x55ee8e['push'](_0x55ee8e['shift']());}catch(_0x47c2f2){_0x55ee8e['push'](_0x55ee8e['shift']());}}}(_0x3201,0xa947b));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';function _0x5696(_0x11eed8,_0x506b36){_0x11eed8=_0x11eed8-0xee;const _0x32019c=_0x3201();let _0x569668=_0x32019c[_0x11eed8];return _0x569668;}import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';function _0x3201(){const _0x53d428=['133FCCHmZ','JbYEi','Failed\x20to\x20install\x20plugin:','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','chromium','fueuS','Multiple\x20CI\x20profiles\x20found:\x20','baseUrl','message','znzZy','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','skipChromium','qvcaI','gNpoc','dmQQc','sxIwm','name','profile_activate','EJqIk','xxnUo','isDirectory','dymlU','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','auth.json','3648312eAnRvd','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','log','trackPhaseStart','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','LNjVu','21461390XYhDye','2506410Zokpnx','marketplace','install','trailhead','No\x20API\x20token\x20available\x20for\x20decryption','UPvUK','QByKH','gWDdd','✓\x20Auth\x20state\x20found','join','error','path','FSRrx','✓\x20Marketplace\x20already\x20added','settings.json','trackPhaseEnd','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','3016530RtvgEp','IaaYi','skills','FxYbt','234712WbpuDW','project','Failed\x20to\x20add\x20marketplace:','80yzCccP','add','gNPVG','map','893225lXkqHm','ranger@trailhead','4679CWIcGV','GBLIP','lWSdF','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','✓\x20Active\x20profile:\x20','plugin','30syDoEf','length'];_0x3201=function(){return _0x53d428;};return _0x3201();}async function findCiProfile(_0x1de827){const _0x1f2762=_0x5696,_0x49107a={'dmQQc':function(_0x4fc41c){return _0x4fc41c();},'kaJQP':function(_0xe2ff6d,_0x4a02c9,_0x3c257c){return _0xe2ff6d(_0x4a02c9,_0x3c257c);},'IaaYi':function(_0x5f2d5a,_0x4d8ed0){return _0x5f2d5a(_0x4d8ed0);},'KbvDB':function(_0x56e282,_0x2621d6){return _0x56e282+_0x2621d6;},'JbYEi':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','gNPVG':function(_0x42aad5,_0xdade8d){return _0x42aad5===_0xdade8d;},'yEyJK':_0x1f2762(0xf9),'WTHFP':function(_0x5d09d2,_0x454f23,_0x1a7182){return _0x5d09d2(_0x454f23,_0x1a7182);}},_0x149f97=_0x49107a[_0x1f2762(0xfd)](getRangerDir),_0x4f1326=_0x49107a['kaJQP'](join,_0x149f97,'ci');if(_0x1de827){const _0x523eba=join(_0x4f1326,_0x1de827);return{'name':_0x1de827,'path':_0x523eba};}if(!_0x49107a[_0x1f2762(0x120)](existsSync,_0x4f1326))throw new Error(_0x49107a['KbvDB'](_0x49107a[_0x1f2762(0xf0)],_0x1f2762(0x10b)));const _0x8a8295=await readdir(_0x4f1326,{'withFileTypes':!![]}),_0x2bb817=_0x8a8295['filter'](_0xfc093a=>_0xfc093a[_0x1f2762(0x103)]())[_0x1f2762(0x129)](_0x1700a0=>_0x1700a0[_0x1f2762(0xff)]);if(_0x49107a[_0x1f2762(0x128)](_0x2bb817[_0x1f2762(0xee)],0x0))throw new Error(_0x49107a['yEyJK']+_0x1f2762(0x10b));if(_0x2bb817['length']===0x1){const _0x13809b=_0x2bb817[0x0];return console[_0x1f2762(0x109)]('Auto-detected\x20CI\x20profile:\x20'+_0x13809b),{'name':_0x13809b,'path':_0x49107a['WTHFP'](join,_0x4f1326,_0x13809b)};}throw new Error(_0x1f2762(0xf5)+_0x2bb817[_0x1f2762(0x117)](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x26796d=_0x5696,_0x597640={'NjKTL':'ranger@trailhead','xxnUo':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','JauxY':_0x26796d(0x105),'lvovv':_0x26796d(0x111),'JOYgY':function(_0x105514,_0x8d6439){return _0x105514(_0x8d6439);},'gFTjy':_0x26796d(0x10f),'gNpoc':_0x26796d(0x127),'PGZSy':_0x26796d(0x12f),'qsSbQ':'--scope'},_0x447a45=await isPluginInstalled(_0x597640['NjKTL']);if(_0x447a45)return console[_0x26796d(0x109)](_0x597640[_0x26796d(0x102)]),![];console[_0x26796d(0x109)](_0x597640['JauxY']);const _0x199bf3=await isMarketplaceAdded(_0x597640['lvovv']);let _0x3c70e0=_0x199bf3;if(_0x199bf3)console[_0x26796d(0x109)](_0x26796d(0x11b));else{const _0x3f6cf8=await _0x597640['JOYgY'](runClaudeCommand,['plugin',_0x597640['gFTjy'],_0x597640[_0x26796d(0xfc)],'ranger-testing/trailhead']);!_0x3f6cf8['success']?(console[_0x26796d(0x118)](_0x26796d(0x125),_0x3f6cf8['error']),console['log'](_0x597640['PGZSy'])):_0x3c70e0=!![];}if(_0x3c70e0){const _0x4cc40e=await runClaudeCommand(['plugin',_0x26796d(0x110),_0x26796d(0x12b),_0x597640['qsSbQ'],_0x26796d(0x124)]);!_0x4cc40e['success']?(console[_0x26796d(0x118)](_0x26796d(0xf1),_0x4cc40e[_0x26796d(0x118)]),console[_0x26796d(0x109)]('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0x1ab423,_0x7f243d,_0x1ee90a){const _0x524c29=_0x5696,_0x4b3b08={'aZBWX':'\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','fueuS':'auth','dymlU':function(_0x11ec0f,_0x44130a){return _0x11ec0f(_0x44130a);},'FSRrx':function(_0x424895){return _0x424895();},'sxIwm':function(_0x37643e,_0x22a064,_0x482d0c){return _0x37643e(_0x22a064,_0x482d0c);},'GBLIP':function(_0x3c01e9,_0x38bb2d){return _0x3c01e9(_0x38bb2d);},'ozXpS':'dir_setup','FxYbt':'chromium','VKMVl':'profile_activate','lWSdF':function(_0x57651f,_0x284b6a){return _0x57651f(_0x284b6a);},'EcBoT':function(_0x3d6e80,_0x17b118,_0x30cc59){return _0x3d6e80(_0x17b118,_0x30cc59);},'znzZy':function(_0x417808,_0xc77b44,_0x24d5fc){return _0x417808(_0xc77b44,_0x24d5fc);},'gWDdd':_0x524c29(0x11c),'UPvUK':'auth.json.enc','QByKH':function(_0x53a993,_0x5eb55d){return _0x53a993(_0x5eb55d);},'EJqIk':function(_0x2c4720,_0x2a36a9){return _0x2c4720 instanceof _0x2a36a9;},'OZUBQ':_0x524c29(0x108),'zkTSS':function(_0x3ab5a6,_0x2868bb){return _0x3ab5a6(_0x2868bb);},'LNjVu':_0x524c29(0x131),'iAXFr':'project','qvcaI':'\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a'};console['log'](_0x4b3b08['aZBWX']),_0x1ee90a?.['trackPhaseStart'](_0x4b3b08[_0x524c29(0xf4)]),await _0x4b3b08[_0x524c29(0x104)](authenticate,_0x1ab423),_0x1ee90a?.[_0x524c29(0x11d)]('auth'),_0x1ee90a?.['trackPhaseStart']('dir_setup');const {path:_0x37e6de,installed:_0x4691aa}=await _0x4b3b08[_0x524c29(0x11a)](ensureRangerDir);await writeRangerGitignore(_0x37e6de);const _0x10be00=_0x4b3b08[_0x524c29(0xfe)](join,_0x37e6de,'sessions');!_0x4b3b08[_0x524c29(0x12d)](existsSync,_0x10be00)&&await _0x4b3b08[_0x524c29(0xfe)](mkdir,_0x10be00,{'recursive':!![]});_0x1ee90a?.['trackPhaseEnd'](_0x4b3b08['ozXpS'],{'installed':_0x4691aa}),_0x1ee90a?.['trackPhaseStart'](_0x524c29(0xf3));let _0x4bd3e7=![];_0x7f243d?.[_0x524c29(0xfa)]?console['log'](_0x524c29(0xf2)):_0x4bd3e7=await ensureChromium();_0x1ee90a?.['trackPhaseEnd'](_0x4b3b08[_0x524c29(0x122)],{'installed':_0x4bd3e7,'skipped':!!_0x7f243d?.['skipChromium']}),_0x1ee90a?.[_0x524c29(0x10a)](_0x4b3b08['VKMVl']);const _0x3af947=await _0x4b3b08[_0x524c29(0x12e)](findCiProfile,_0x7f243d?.['profile']);let _0x5072c3=![];_0x7f243d?.[_0x524c29(0xf6)]&&(await _0x4b3b08['EcBoT'](mkdir,_0x3af947['path'],{'recursive':!![]}),await _0x4b3b08['znzZy'](saveSettings,_0x3af947['name'],{'baseUrl':_0x7f243d[_0x524c29(0xf6)],'headless':!![]}),console[_0x524c29(0x109)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x7f243d[_0x524c29(0xf6)]),_0x5072c3=!![]);const _0x312e01=_0x4b3b08[_0x524c29(0xf8)](join,_0x3af947[_0x524c29(0x119)],_0x4b3b08[_0x524c29(0x115)]);if(!existsSync(_0x312e01)&&!_0x5072c3)throw new Error('CI\x20profile\x20\x22'+_0x3af947[_0x524c29(0xff)]+_0x524c29(0x11e));const _0x21097c=_0x4b3b08['sxIwm'](join,_0x3af947[_0x524c29(0x119)],_0x524c29(0x106)),_0x2304c6=join(_0x3af947[_0x524c29(0x119)],_0x4b3b08[_0x524c29(0x113)]),_0x5c92af=existsSync(_0x21097c),_0x5348fc=existsSync(_0x2304c6);if(_0x5348fc)try{const _0x517e79=await _0x4b3b08[_0x524c29(0x11a)](getToken);if(!_0x517e79)throw new Error(_0x524c29(0x112));const _0x6a42a5=await _0x4b3b08[_0x524c29(0x114)](readFile,_0x2304c6);_0x4b3b08[_0x524c29(0xf8)](decrypt,_0x6a42a5,_0x517e79),console['log']('✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)');}catch(_0x240215){const _0x8daa1e=_0x4b3b08[_0x524c29(0x101)](_0x240215,Error)?_0x240215[_0x524c29(0xf7)]:_0x4b3b08[_0x524c29(0x114)](String,_0x240215);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x3af947[_0x524c29(0xff)]+'\x22:\x20'+_0x8daa1e);}else _0x5c92af?console[_0x524c29(0x109)](_0x524c29(0x116)):console[_0x524c29(0x109)](_0x4b3b08['OZUBQ']);await _0x4b3b08['zkTSS'](writeActiveProfileName,_0x3af947['name']),console['log'](_0x524c29(0x130)+_0x3af947[_0x524c29(0xff)]),_0x1ee90a?.['trackPhaseEnd'](_0x524c29(0x100),{'profileName':_0x3af947['name'],'hasAuth':_0x5c92af,'hasEncryptedAuth':_0x5348fc,'createdSettings':_0x5072c3}),_0x1ee90a?.['trackPhaseStart'](_0x4b3b08['LNjVu']);const _0x229583=await _0x4b3b08['FSRrx'](installPluginNonInteractive);_0x1ee90a?.[_0x524c29(0x11d)](_0x4b3b08[_0x524c29(0x10c)],{'installed':_0x229583}),_0x1ee90a?.[_0x524c29(0x10a)]('skills'),await _0x4b3b08['GBLIP'](skillup,{'autoInstall':_0x4b3b08['iAXFr']}),_0x1ee90a?.['trackPhaseEnd'](_0x524c29(0x121)),console['log'](_0x4b3b08[_0x524c29(0xfb)]);}
|
|
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 _0x12dbc5=_0x4d98;(function(_0x5dfef6,_0x531cfd){const _0x8f0616=_0x4d98,_0x245ecc=_0x5dfef6();while(!![]){try{const _0x355831=parseInt(_0x8f0616(0x163))/0x1+parseInt(_0x8f0616(0x157))/0x2+-parseInt(_0x8f0616(0x147))/0x3*(parseInt(_0x8f0616(0x130))/0x4)+parseInt(_0x8f0616(0x116))/0x5+parseInt(_0x8f0616(0x17d))/0x6*(parseInt(_0x8f0616(0x176))/0x7)+-parseInt(_0x8f0616(0x14b))/0x8*(-parseInt(_0x8f0616(0x170))/0x9)+-parseInt(_0x8f0616(0x143))/0xa;if(_0x355831===_0x531cfd)break;else _0x245ecc['push'](_0x245ecc['shift']());}catch(_0x5cc116){_0x245ecc['push'](_0x245ecc['shift']());}}}(_0x3457,0xb21d3));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x4ae072 from'inquirer';import{getToken,storeToken}from'./utils/keychain.js';import{getCurrentUser}from'./utils/userApi.js';import{chromium}from'playwright';import{addEnv}from'./addEnv.js';import{getRangerDir,findGitRoot}from'./utils/rangerRoot.js';import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';function _0x3457(){const _0x38b5e9=['...','\x0a⚠\x20Skipping\x20Chromium\x20installation.','24804020JRnvEy','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','existing_token','12570jRhZBU','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','geUSU','kDrCh','333832rlWPYV','qsJXs','xdIGo','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','Gznuw','force','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','CVwmg','confirm','dTYvH','ugIVF','BLNuZ','1479508vKGHRO','playwright','trackPhaseEnd','✓\x20Created\x20.ranger/\x20directory','url','git_check','version','XqQjL','ready','provided_token','error','No\x20git\x20repository\x20found','1084959YYMESY','plugin','stdout','WwExN','EowGL','platform','rXevZ','warn','wrBTf','jdlpS','skills','VeMhx','\x0a❌\x20Profile\x20setup\x20failed:','126iQnQro','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','playwright@','uIclD','inherit','jjaND','9877rVBIYn','SnqQt','\x1b[0m','\x0aInstalling\x20Chromium\x20browser...\x0a','✓\x20.ranger/\x20directory\x20already\x20exists','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','uYCdN','5268xwteID','local','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','kHwGA','ppUzX','user','scope','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','vMqOQ','device_auth','yemEQ','message','log','ranger','MipKt','4054000OMkXze','BYshU','install','executablePath','profile','Authentication\x20failed:\x20','organizationName','jvyjq','The\x20required\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','skipChromium','\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','pakSp','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','IeGIi','DYqwe','auth','success','isTTY','You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','ranger\x20profile\x20add\x20local','\x1b[1m','The\x20required\x20version\x20(','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','use\x20until\x20the\x20session\x20expires.\x0a','\x20install\x20chromium','\x20\x20npx\x20playwright\x20install\x20chromium','1192assmiF','mHMBp','\x20\x20npx\x20playwright@','IczJN','npx','trackPhaseStart','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','status','SRaIj','You\x20can\x20install\x20it\x20manually\x20by\x20running:','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','ksTbf','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','gABfS','BUbNh','GITHUB_ENV','infDR'];_0x3457=function(){return _0x38b5e9;};return _0x3457();}import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),bold=_0xc40af4=>_0x12dbc5(0x12a)+_0xc40af4+_0x12dbc5(0x178);function _0x4d98(_0x22785e,_0xdf0331){_0x22785e=_0x22785e-0x113;const _0x3457e9=_0x3457();let _0x4d98c9=_0x3457e9[_0x22785e];return _0x4d98c9;}function getPlaywrightVersion(){const _0xb65ea5=_0x12dbc5,_0x386ce1={'VBoEz':'playwright/package.json'};try{const _0x449c79=require['resolve'](_0x386ce1['VBoEz']),_0x516440=require(_0x449c79);return _0x516440[_0xb65ea5(0x15d)];}catch{return null;}}function installChromiumBinary(_0xecf414){const _0x43001e=_0x12dbc5,_0x257d7c={'jjaND':function(_0x159c5b,_0x2792cd){return _0x159c5b===_0x2792cd;},'lMYtp':_0x43001e(0x118),'sZSsU':'chromium','cTrGZ':_0x43001e(0x134),'VeMhx':'win32'};return new Promise((_0x4f50c6,_0x183bd1)=>{const _0x1583cf=_0x43001e,_0x2d739b={'XqQjL':function(_0x172e4c,_0x38acc8){const _0x4672f5=_0x4d98;return _0x257d7c[_0x4672f5(0x175)](_0x172e4c,_0x38acc8);}},_0x409c8f=_0xecf414?[_0x1583cf(0x172)+_0xecf414,_0x257d7c['lMYtp'],_0x257d7c['sZSsU']]:[_0x1583cf(0x158),'install','chromium'],_0x2f0a83=spawn(_0x257d7c['cTrGZ'],_0x409c8f,{'stdio':_0x1583cf(0x174),'shell':_0x257d7c['jjaND'](process[_0x1583cf(0x168)],_0x257d7c[_0x1583cf(0x16e)])});_0x2f0a83['on']('close',_0x1a3207=>{const _0x3b421d=_0x1583cf;_0x2d739b[_0x3b421d(0x15e)](_0x1a3207,0x0)?_0x4f50c6():_0x183bd1(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0x1a3207));}),_0x2f0a83['on'](_0x1583cf(0x161),_0x5127f3=>{_0x183bd1(_0x5127f3);});});}export async function authenticate(_0x428ca8){const _0x5ea7dc=_0x12dbc5,_0x256882={'sFvLi':function(_0x48e853,_0x5c49c7){return _0x48e853(_0x5c49c7);},'IczJN':_0x5ea7dc(0x186),'MipKt':'✓\x20Exported\x20credentials\x20for\x20CI','QJPYI':_0x5ea7dc(0x160)};if(!_0x428ca8){const _0xd20c31=await getToken();if(_0xd20c31){const _0x551a61=await getCurrentUser(_0xd20c31);if(_0x551a61['success'])return console['log']('✓\x20Already\x20authenticated\x20to\x20'+_0x551a61['user'][_0x5ea7dc(0x11c)]),{'token':_0xd20c31,'method':_0x5ea7dc(0x146)};}try{_0x428ca8=await runDeviceAuthFlow();}catch(_0x10a94e){throw new Error('Authentication\x20failed:\x20'+(_0x10a94e instanceof Error?_0x10a94e['message']:_0x10a94e));}const _0x43de64=await _0x256882['sFvLi'](getCurrentUser,_0x428ca8);if(!_0x43de64['success'])throw new Error(_0x5ea7dc(0x13c)+_0x43de64[_0x5ea7dc(0x161)]);return console[_0x5ea7dc(0x113)]('✓\x20Authenticated\x20to\x20'+_0x43de64[_0x5ea7dc(0x182)][_0x5ea7dc(0x11c)]),{'token':_0x428ca8,'method':_0x256882[_0x5ea7dc(0x133)]};}console['log']('Validating\x20API\x20token...');const _0x432c2a=await getCurrentUser(_0x428ca8);if(!_0x432c2a[_0x5ea7dc(0x126)]){if(_0x432c2a[_0x5ea7dc(0x137)])throw new Error(_0x5ea7dc(0x11b)+_0x432c2a['error']+_0x5ea7dc(0x14e));else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x432c2a['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x5ea7dc(0x113)]('✓\x20Authenticated\x20to\x20'+_0x432c2a['user']['organizationName']),await _0x256882['sFvLi'](storeToken,_0x428ca8),console[_0x5ea7dc(0x113)](process['env'][_0x5ea7dc(0x13f)]?_0x256882[_0x5ea7dc(0x115)]:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x428ca8,'method':_0x256882['QJPYI']};}export async function ensureRangerDir(){const _0x4a6107=_0x12dbc5,_0x48a36e={'EowGL':function(_0x490625){return _0x490625();},'rXevZ':function(_0x3dcefd,_0x593a3a){return _0x3dcefd(_0x593a3a);},'yemEQ':function(_0x5af929,_0x4e505b,_0x46d3bc){return _0x5af929(_0x4e505b,_0x46d3bc);}},_0x440495=_0x48a36e['EowGL'](findGitRoot),_0x2dc91f=_0x440495?join(_0x440495,'.ranger'):_0x48a36e[_0x4a6107(0x167)](getRangerDir);return!_0x48a36e[_0x4a6107(0x169)](existsSync,_0x2dc91f)?(await _0x48a36e[_0x4a6107(0x187)](mkdir,_0x2dc91f,{'recursive':!![]}),console[_0x4a6107(0x113)](_0x4a6107(0x15a)),{'path':_0x2dc91f,'installed':!![]}):(console[_0x4a6107(0x113)](_0x4a6107(0x17a)),{'path':_0x2dc91f,'installed':![]});}export async function ensureChromium(){const _0x47111f=_0x12dbc5,_0x3909b6={'kDrCh':_0x47111f(0x153),'yWBVy':_0x47111f(0x11e),'MzILl':function(_0x27aeac,_0x2795aa){return _0x27aeac(_0x2795aa);},'BYshU':_0x47111f(0x145),'SRaIj':function(_0x92dd89,_0x9706a3){return _0x92dd89 instanceof _0x9706a3;},'ppUzX':_0x47111f(0x139),'kHwGA':'\x20\x20npx\x20playwright\x20install\x20chromium','ifXTi':_0x47111f(0x142),'CVwmg':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0x523045=![];try{const _0x5c1790=chromium[_0x47111f(0x119)]();_0x523045=existsSync(_0x5c1790);}catch{_0x523045=![];}if(_0x523045)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x312abf=getPlaywrightVersion(),_0x5b55b3=process['stdin']['isTTY']&&process[_0x47111f(0x165)][_0x47111f(0x127)];let _0x492e03=!![];if(_0x5b55b3){const {install:_0x155acd}=await _0x4ae072['prompt']([{'type':_0x3909b6[_0x47111f(0x14a)],'name':_0x47111f(0x118),'message':_0x312abf?_0x47111f(0x12b)+_0x312abf+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?':_0x3909b6['yWBVy'],'default':!![]}]);_0x492e03=_0x155acd;}else console['log'](_0x47111f(0x144)+(_0x312abf?'\x20'+_0x312abf:'')+_0x47111f(0x141));if(_0x492e03){console['log'](_0x47111f(0x179));try{await _0x3909b6['MzILl'](installChromiumBinary,_0x312abf),console[_0x47111f(0x113)](_0x3909b6[_0x47111f(0x117)]);}catch(_0x4dfdbf){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x3909b6[_0x47111f(0x138)](_0x4dfdbf,Error)?_0x4dfdbf[_0x47111f(0x188)]:_0x4dfdbf),console[_0x47111f(0x113)](_0x3909b6[_0x47111f(0x181)]),_0x312abf?console[_0x47111f(0x113)](_0x47111f(0x132)+_0x312abf+_0x47111f(0x12e)):console[_0x47111f(0x113)](_0x3909b6[_0x47111f(0x180)]);}}else console['log'](_0x3909b6['ifXTi']),console[_0x47111f(0x113)](_0x3909b6[_0x47111f(0x152)]),_0x312abf?console['log'](_0x47111f(0x132)+_0x312abf+'\x20install\x20chromium'):console[_0x47111f(0x113)](_0x47111f(0x12f));return!![];}export async function writeRangerGitignore(_0xf42c51){const _0x9c98ae=_0x12dbc5,_0xdb9ff9={'BUbNh':function(_0x91a419,_0x2170e5,_0x3279f2){return _0x91a419(_0x2170e5,_0x3279f2);},'Gznuw':'.gitignore','ksTbf':function(_0x1d1e32,_0xb69681,_0x1736c2){return _0x1d1e32(_0xb69681,_0x1736c2);},'ugIVF':'✓\x20Created\x20.ranger/.gitignore'},_0x303438=_0xdb9ff9[_0x9c98ae(0x13e)](join,_0xf42c51,_0xdb9ff9[_0x9c98ae(0x14f)]),_0x19f5cf=_0x9c98ae(0x120);await _0xdb9ff9[_0x9c98ae(0x13b)](writeFile,_0x303438,_0x19f5cf),console['log'](_0xdb9ff9[_0x9c98ae(0x155)]);}function printProfileSetupLaterInstructions(){const _0x4872a6=_0x12dbc5,_0x50476c={'IiSuC':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','wWMgh':function(_0x33bb42,_0x2c06cf){return _0x33bb42(_0x2c06cf);}};console[_0x4872a6(0x113)](_0x50476c['IiSuC']),console['log']('\x20\x20'+_0x50476c['wWMgh'](bold,'ranger\x20profile\x20add\x20local')),console['log']('Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a');}async function ensureLocalEnv(_0x4334f2,_0x27fb33){const _0x3c49b6=_0x12dbc5,_0x1cf09e={'qsJXs':function(_0x16d39b){return _0x16d39b();},'dTYvH':_0x3c49b6(0x17e),'pakSp':_0x3c49b6(0x136),'FVVDU':_0x3c49b6(0x171),'GmCxr':_0x3c49b6(0x12d),'uQDpf':'wantsProfile','DbTYQ':function(_0x4823bb,_0x1d53ce,_0x3ac819,_0xf305f4){return _0x4823bb(_0x1d53ce,_0x3ac819,_0xf305f4);}};if(!_0x1cf09e[_0x3c49b6(0x14c)](findGitRoot))return console[_0x3c49b6(0x113)]('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x3c49b6(0x17e),{'locations':[_0x1cf09e[_0x3c49b6(0x154)]]}))return console[_0x3c49b6(0x113)]('✓\x20Local\x20profile\x20already\x20exists'),{'ready':!![],'skipped':![]};const _0x5a7cfb=process['stdin']['isTTY']&&process[_0x3c49b6(0x165)]['isTTY'];if(_0x5a7cfb&&!_0x4334f2?.[_0x3c49b6(0x15b)]){console['log'](_0x1cf09e[_0x3c49b6(0x121)]),console[_0x3c49b6(0x113)](_0x3c49b6(0x17f)),console['log'](_0x1cf09e['FVVDU']),console['log'](_0x1cf09e['GmCxr']),console['log'](_0x3c49b6(0x128));const {wantsProfile:_0x547c8a}=await _0x4ae072['prompt']([{'type':'confirm','name':_0x1cf09e['uQDpf'],'message':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','default':!![]}]);if(!_0x547c8a)return _0x1cf09e['qsJXs'](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x1cf09e['DbTYQ'](addEnv,_0x1cf09e['dTYvH'],{'url':_0x4334f2?.['url'],'force':_0x4334f2?.[_0x3c49b6(0x150)]},_0x27fb33),{'ready':!![],'skipped':![]};}catch(_0x471a6b){return console['error'](_0x3c49b6(0x16f),_0x471a6b instanceof Error?_0x471a6b[_0x3c49b6(0x188)]:_0x471a6b),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x3077b7,_0x550eec,_0x1c4419){const _0xb38799=_0x12dbc5,_0x5b66e9={'wrBTf':_0xb38799(0x184),'BLNuZ':_0xb38799(0x182),'geUSU':function(_0x37c6d6){return _0x37c6d6();},'vMqOQ':_0xb38799(0x15c),'WwExN':function(_0xa0d1a6,_0x35da5d){return _0xa0d1a6(_0x35da5d);},'uIclD':_0xb38799(0x125),'uYCdN':'chromium','CheZg':function(_0x495c35){return _0x495c35();},'xdIGo':'plugin','jvyjq':function(_0x31951c,_0x29a3b7){return _0x31951c(_0x29a3b7);},'jdlpS':function(_0x26b160,_0x368ee2){return _0x26b160&&_0x368ee2;},'mHMBp':_0xb38799(0x16d),'gABfS':function(_0x45c091,_0x26a6f1,_0x43e3b1){return _0x45c091(_0x26a6f1,_0x43e3b1);},'acOBK':'opencode','jcaEB':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','neAeI':function(_0x33cea4,_0x4ed3af){return _0x33cea4 instanceof _0x4ed3af;},'DYqwe':function(_0x4c2fc7,_0x26452c){return _0x4c2fc7(_0x26452c);},'SnqQt':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','eFnXM':function(_0x386451,_0x1d4eee){return _0x386451(_0x1d4eee);},'infDR':_0xb38799(0x11a),'JtFzb':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','IeGIi':_0xb38799(0x17b),'fytfp':function(_0x51ffd4,_0x447193){return _0x51ffd4+_0x447193;}};console[_0xb38799(0x113)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x151e94=process['stdin']['isTTY']&&process['stdout'][_0xb38799(0x127)];!_0x151e94&&!_0x550eec?.[_0xb38799(0x183)]&&(console[_0xb38799(0x113)](_0x5b66e9[_0xb38799(0x16b)]),_0x550eec={..._0x550eec,'scope':_0x5b66e9[_0xb38799(0x156)]});_0x1c4419?.[_0xb38799(0x135)](_0xb38799(0x15c));if(!_0x5b66e9[_0xb38799(0x149)](findGitRoot)){await _0x1c4419?.['trackPhaseError'](_0x5b66e9[_0xb38799(0x185)],new Error(_0xb38799(0x162)));throw new Error(_0xb38799(0x122));}_0x1c4419?.[_0xb38799(0x159)](_0x5b66e9['vMqOQ']);const _0x5c8878=!existsSync(getRangerDir()),{path:_0x83f464}=await ensureRangerDir();_0x1c4419?.['trackPhaseStart']('auth');const _0x22a0a0=await _0x5b66e9[_0xb38799(0x166)](authenticate,_0x3077b7);_0x1c4419?.['trackPhaseEnd'](_0x5b66e9[_0xb38799(0x173)],{'isFirstRun':_0x5c8878,'method':_0x22a0a0['method']}),_0x1c4419?.['trackPhaseStart'](_0x5b66e9[_0xb38799(0x17c)]);_0x550eec?.['skipChromium']?console[_0xb38799(0x113)](_0xb38799(0x12c)):await _0x5b66e9['CheZg'](ensureChromium);_0x1c4419?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x5c8878,'skipped':!!_0x550eec?.[_0xb38799(0x11f)]}),await _0x5b66e9['WwExN'](writeRangerGitignore,_0x83f464),console[_0xb38799(0x113)](_0xb38799(0x13a));const _0x557d9b=_0x550eec?.[_0xb38799(0x183)],_0xb5fdb1=_0x550eec?.['opencode']??![];let _0x4acd6b=null;_0xb5fdb1?(_0x1c4419?.[_0xb38799(0x135)](_0xb38799(0x164)),_0x4acd6b=await ensureOpencodePluginConfig(_0x557d9b),_0x1c4419?.['trackPhaseEnd'](_0x5b66e9['xdIGo'],{'isFirstRun':_0x5c8878,'opencode':!![]})):(_0x1c4419?.['trackPhaseStart'](_0x5b66e9['xdIGo']),await _0x5b66e9[_0xb38799(0x11d)](ensureClaudePlugin,_0x557d9b),_0x1c4419?.[_0xb38799(0x159)](_0x5b66e9[_0xb38799(0x14d)],{'isFirstRun':_0x5c8878}));if(_0x5b66e9[_0xb38799(0x16c)](_0xb5fdb1,_0x4acd6b)){_0x1c4419?.[_0xb38799(0x135)](_0x5b66e9[_0xb38799(0x131)]);try{await _0x5b66e9[_0xb38799(0x13d)](installSkill,_0xb38799(0x114),{'level':_0x4acd6b[_0xb38799(0x183)],'cliVersion':getCurrentVersion(),'platform':_0x5b66e9['acOBK']}),_0x1c4419?.['trackPhaseEnd'](_0x5b66e9[_0xb38799(0x131)],{'isFirstRun':_0x5c8878,'opencode':!![]});}catch(_0x28e52a){console[_0xb38799(0x16a)](_0x5b66e9['jcaEB'],_0x5b66e9['neAeI'](_0x28e52a,Error)?_0x28e52a['message']:_0x28e52a),_0x1c4419?.[_0xb38799(0x159)](_0xb38799(0x16d),{'isFirstRun':_0x5c8878,'opencode':!![],'failed':!![]});}}else _0x1c4419?.[_0xb38799(0x135)]('skills'),await _0x5b66e9[_0xb38799(0x124)](ensureClaudeSkills,_0x557d9b),_0x1c4419?.['trackPhaseEnd'](_0xb38799(0x16d),{'isFirstRun':_0x5c8878});if(!_0x151e94&&!_0x550eec?.['url'])console[_0xb38799(0x113)](_0x5b66e9[_0xb38799(0x177)]),console[_0xb38799(0x113)]('\x20\x20'+_0x5b66e9['eFnXM'](bold,_0xb38799(0x129))+'\x0a');else{_0x1c4419?.['trackPhaseStart'](_0x5b66e9[_0xb38799(0x140)]);const _0x5e6ecf=await ensureLocalEnv({'url':_0x550eec?.[_0xb38799(0x15b)],'force':_0x550eec?.[_0xb38799(0x150)]},_0x1c4419);_0x1c4419?.[_0xb38799(0x159)](_0x5b66e9[_0xb38799(0x140)],{'isFirstRun':_0x5c8878,'profileReady':_0x5e6ecf[_0xb38799(0x15f)],'userSkipped':_0x5e6ecf['skipped']}),_0x5e6ecf[_0xb38799(0x15f)]&&console[_0xb38799(0x113)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0xb5fdb1)console[_0xb38799(0x113)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0xb38799(0x113)](_0x5b66e9['JtFzb']),console['log'](_0xb38799(0x151)),console['log'](_0x5b66e9[_0xb38799(0x123)]);else{const _0x22e09a=bold('/ranger:enable');console['log'](_0x5b66e9['fytfp']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x22e09a+'\x20and\x20prompt\x20the\x20coding'+'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with',_0xb38799(0x148))+'\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 _0x509d1c=_0x372f;(function(_0x47d88a,_0x40ce13){const _0x2638d7=_0x372f,_0x3a6ecf=_0x47d88a();while(!![]){try{const _0x47da75=parseInt(_0x2638d7(0x1c5))/0x1*(parseInt(_0x2638d7(0x1e3))/0x2)+-parseInt(_0x2638d7(0x1cb))/0x3+-parseInt(_0x2638d7(0x18b))/0x4*(parseInt(_0x2638d7(0x1ae))/0x5)+-parseInt(_0x2638d7(0x1c4))/0x6+parseInt(_0x2638d7(0x1c6))/0x7+-parseInt(_0x2638d7(0x18c))/0x8+-parseInt(_0x2638d7(0x177))/0x9*(-parseInt(_0x2638d7(0x1a7))/0xa);if(_0x47da75===_0x40ce13)break;else _0x3a6ecf['push'](_0x3a6ecf['shift']());}catch(_0x44e98e){_0x3a6ecf['push'](_0x3a6ecf['shift']());}}}(_0x430b,0x93aa4));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';function _0x430b(){const _0x2fc6ab=['OMfjD','Rmkpx','\x20\x20\x20\x20Settings:\x20','MMLPo','2273844DKseYJ','472083QtvsGc','6996220YTKcTz','log','qvtSf','Version:\x20','parse','2036169FYIBle','ZCjsG','ZobAU','bLIJK','some','YurkM','OQFMj','not_configured','stderr','cwd','\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','BrzXo',':\x20installed\x20(','API\x20Environment:\x20','toString','Root:\x20','DEBUG','\x20\x20Project-level:','\x20\x20User-level:','isActive','displayName','kKmUf','length','configured','2CPrnVE','Cfloz','close','\x20\x20Run:\x20ranger\x20setup\x20[token]','4001985lomHji','ofRvH','ranger@trailhead','unknown','zAGqH','version','fzlAS','pipe','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','\x0a📊\x20Ranger\x20Status\x0a','error','status','SHDDh','HMGPz','name','opencode','\x20plugin(s)\x20configured','JtKBy','disabled','push','280kdqhcP','6239880oJhcQG','lxdiw','path','@ranger-testing/opencode-plugin','Uquqq','details','\x1b]8;;file://','API\x20URL:\x20','plugin','opencode-plugin','enabled','trim','auth.json.enc','match','vzwLE','sDlwA','nuZUX','\x20\x20\x20\x20','settingsPath','bTWJA','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','yCDvk','filter','oGgFp','\x1b[1m','puzZM','\x1b]8;;\x07','30ouLrNc','includes','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','jnJSK','PvFhM','No\x20skills\x20installed','\x20\x20Run:\x20ranger\x20skillup','25930jLjwzJ','jOmgy','alBKc','ZMtGm','string','\x20\x20Run:\x20ranger\x20update','data','NBJDM','\x0a---\x20Claude\x20Code\x20Plugin\x20---','vVhGZ','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x20\x20Run:\x20ranger\x20setup\x20--opencode','NyzzL','\x0a\x20\x20No\x20active\x20profile\x20set','debug','RXjVK','\x20(latest:\x20','\x0a---\x20Profiles\x20---'];_0x430b=function(){return _0x2fc6ab;};return _0x430b();}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';function _0x372f(_0x2950ef,_0x33024c){_0x2950ef=_0x2950ef-0x177;const _0x430bf4=_0x430b();let _0x372fa3=_0x430bf4[_0x2950ef];return _0x372fa3;}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=_0x1775af=>_0x509d1c(0x1a4)+_0x1775af+'\x1b[0m',link=(_0x1b3000,_0x500fb5)=>_0x509d1c(0x192)+_0x1b3000+'\x07'+(_0x500fb5||_0x1b3000)+_0x509d1c(0x1a6);async function getOpencodePluginStatus(){const _0x5b524b=_0x509d1c,_0x14bfea={'uBodK':_0x5b524b(0x1b2),'vbMjp':_0x5b524b(0x18f),'zAGqH':'not_installed','PvFhM':_0x5b524b(0x1d2),'yMsEI':function(_0x2057e7,_0x11eecc){return _0x2057e7(_0x11eecc);},'bHeKs':_0x5b524b(0x186),'IhioH':'config','zDHgV':'ignore','RXjVK':'pipe','ZMtGm':'data','aOTjb':_0x5b524b(0x1e5)};return new Promise(_0x8fa305=>{const _0xd8503=_0x5b524b,_0x23c225={'JtKBy':_0x14bfea['uBodK'],'sMIZr':_0x14bfea['vbMjp'],'JXdHt':_0x14bfea[_0xd8503(0x17b)],'vzwLE':function(_0x1cbb2a,_0x43c492){return _0x1cbb2a(_0x43c492);},'nuZUX':_0xd8503(0x1e2),'ITeHA':function(_0xef5063,_0x28e996){return _0xef5063>_0x28e996;},'ZCjsG':function(_0x11999a,_0x3aa811){return _0x11999a>_0x3aa811;},'puzZM':_0x14bfea[_0xd8503(0x1ab)],'XrkZz':function(_0x25bdd8,_0xd86985){return _0x14bfea['yMsEI'](_0x25bdd8,_0xd86985);}},_0x11729d=spawn(_0x14bfea['bHeKs'],[_0xd8503(0x1bc),_0x14bfea['IhioH']],{'stdio':[_0x14bfea['zDHgV'],_0x14bfea[_0xd8503(0x1bd)],_0xd8503(0x17e)]});let _0x274a71='';_0x11729d['stdout']?.['on'](_0x14bfea[_0xd8503(0x1b1)],_0x18f567=>{_0x274a71+=_0x18f567['toString']();}),_0x11729d[_0xd8503(0x1d3)]?.['on'](_0xd8503(0x1b4),_0x1ae1d8=>{const _0x27ca78=_0xd8503;_0x274a71+=_0x1ae1d8[_0x27ca78(0x1d9)]();}),_0x11729d['on'](_0xd8503(0x181),()=>{_0x8fa305({'status':'not_installed'});}),_0x11729d['on'](_0x14bfea['aOTjb'],_0x493795=>{const _0x535a89=_0xd8503,_0x32b5fe={'jnJSK':function(_0x17a4c4,_0x5e52a3){return _0x17a4c4!==_0x5e52a3;},'NIUMt':_0x23c225[_0x535a89(0x188)],'FETUv':_0x23c225['sMIZr']};if(_0x493795!==0x0){_0x8fa305({'status':_0x23c225['JXdHt']});return;}const _0x1eeec3=_0x274a71[_0x535a89(0x197)]();let _0x27567b=null;if(_0x1eeec3)try{_0x27567b=JSON['parse'](_0x1eeec3);}catch{const _0x44aca3=_0x1eeec3['match'](/\{[\s\S]*\}$/);if(_0x44aca3)try{_0x27567b=JSON[_0x535a89(0x1ca)](_0x44aca3[0x0]);}catch{_0x27567b=null;}}const _0x3927ea=Array['isArray'](_0x27567b?.[_0x535a89(0x194)])?_0x27567b?.[_0x535a89(0x194)]:[],_0x7cf11c=_0x3927ea[_0x535a89(0x1cf)](_0x218bf5=>{const _0x677f12=_0x535a89;if(_0x32b5fe[_0x677f12(0x1aa)](typeof _0x218bf5,_0x32b5fe['NIUMt']))return![];return _0x218bf5['includes'](_0x32b5fe['FETUv'])||_0x218bf5['includes'](_0x677f12(0x195));});if(_0x7cf11c){_0x23c225[_0x535a89(0x19a)](_0x8fa305,{'status':_0x23c225[_0x535a89(0x19c)],'details':_0x23c225['ITeHA'](_0x3927ea[_0x535a89(0x1e1)],0x0)?_0x3927ea[_0x535a89(0x1e1)]+_0x535a89(0x187):undefined});return;}if(_0x23c225[_0x535a89(0x1cc)](_0x3927ea[_0x535a89(0x1e1)],0x0)){_0x8fa305({'status':_0x23c225[_0x535a89(0x1a5)],'details':_0x3927ea['length']+_0x535a89(0x187)});return;}_0x23c225['XrkZz'](_0x8fa305,{'status':_0x23c225[_0x535a89(0x1a5)]});});});}async function getSkillsFromDir(_0x3f0882,_0x4d7be3){const _0x2cf1b8=_0x509d1c,_0x4f5ff2={'NBJDM':function(_0x1513fe,_0x372341){return _0x1513fe(_0x372341);},'XoyZK':function(_0x529169,_0x2fa478,_0x3b92f1){return _0x529169(_0x2fa478,_0x3b92f1);},'mBGrR':function(_0x475552,_0x56c731,_0x343bb1,_0x106ec8){return _0x475552(_0x56c731,_0x343bb1,_0x106ec8);},'lxdiw':function(_0x107ba0,_0x2e4410){return _0x107ba0(_0x2e4410);}};if(!_0x4f5ff2[_0x2cf1b8(0x1b5)](existsSync,_0x3f0882))return[];const _0x35da07=[];try{const _0x2df99b=await _0x4f5ff2['XoyZK'](readdir,_0x3f0882,{'withFileTypes':!![]});for(const _0x89ae6 of _0x2df99b){if(_0x89ae6['isDirectory']()){const _0x11ad3b=_0x4f5ff2['mBGrR'](join,_0x3f0882,_0x89ae6['name'],'SKILL.md');if(_0x4f5ff2[_0x2cf1b8(0x18d)](existsSync,_0x11ad3b)){let _0x32da5a=_0x89ae6[_0x2cf1b8(0x185)];try{const _0x1284f9=await readFile(_0x11ad3b,'utf-8'),_0x4c053e=_0x1284f9[_0x2cf1b8(0x199)](/name:\s*(.+)/);_0x4c053e&&(_0x32da5a=_0x4c053e[0x1]['trim']());}catch{}_0x35da07[_0x2cf1b8(0x18a)]({'name':_0x89ae6['name'],'displayName':_0x32da5a,'path':_0x11ad3b,'level':_0x4d7be3});}}}}catch{return[];}return _0x35da07;}async function getInstalledSkills(){const _0x5e164c=_0x509d1c,_0x1375f5={'SHDDh':function(_0x195b96){return _0x195b96();},'ofRvH':'project','YODdo':function(_0x4fe49e,_0x64771e,_0x2a4a58){return _0x4fe49e(_0x64771e,_0x2a4a58);},'sDlwA':'user'},[_0x109758,_0x40acf0]=await Promise['all']([getSkillsFromDir(_0x1375f5[_0x5e164c(0x183)](getProjectSkillsDir),_0x1375f5[_0x5e164c(0x178)]),_0x1375f5['YODdo'](getSkillsFromDir,getUserSkillsDir(),_0x1375f5[_0x5e164c(0x19b)])]);return{'project':_0x109758,'user':_0x40acf0};}async function getEnvironments(){const _0x3b95eb=_0x509d1c,_0x45a838={'OQFMj':function(_0x544524,_0x20a46d){return _0x544524(_0x20a46d);},'cWFGD':'settings.json','vVhGZ':_0x3b95eb(0x198),'OkPZs':function(_0x4e6b2c,_0x350705){return _0x4e6b2c(_0x350705);},'bTWJA':function(_0x40b950,_0x5c19d6){return _0x40b950(_0x5c19d6);},'wVioU':function(_0x3f29ab,_0x59dad7){return _0x3f29ab===_0x59dad7;},'OMfjD':function(_0x438c41){return _0x438c41();},'yCDvk':function(_0x44bf17,_0x37062d){return _0x44bf17(_0x37062d);}},{envNames:_0x5127b5,activeEnv:_0x35de2e}=await getEnvNames(),_0x46de45=_0x45a838[_0x3b95eb(0x1c0)](getRangerDir);if(!_0x45a838[_0x3b95eb(0x1a1)](existsSync,_0x46de45))return{'envs':[],'activeEnv':null};const _0x5abedb=_0x5127b5['map'](_0x99e917=>{const _0x51e07a=_0x3b95eb,_0x4a43e8=_0x45a838[_0x51e07a(0x1d1)](getEnvDir,_0x99e917),_0x55faa7=join(_0x4a43e8,_0x45a838['cWFGD']),_0x426800=join(_0x4a43e8,'auth.json'),_0x15c39b=join(_0x4a43e8,_0x45a838[_0x51e07a(0x1b7)]);return{'name':_0x99e917,'settingsPath':_0x45a838['OkPZs'](existsSync,_0x55faa7)?_0x55faa7:'(not\x20found)','hasPlaintextAuth':existsSync(_0x426800),'hasEncryptedAuth':_0x45a838[_0x51e07a(0x19f)](existsSync,_0x15c39b),'isActive':_0x45a838['wVioU'](_0x99e917,_0x35de2e)};});return{'envs':_0x5abedb,'activeEnv':_0x35de2e};}export async function status(){const _0x1e37cd=_0x509d1c,_0x69d260={'IPPjv':_0x1e37cd(0x180),'hEXeB':function(_0xe46c36,_0x56cc8c,_0x211312){return _0xe46c36(_0x56cc8c,_0x211312);},'NyzzL':function(_0x81620,_0x3b8b80){return _0x81620(_0x3b8b80);},'Uquqq':function(_0x766713,_0x38f16b){return _0x766713(_0x38f16b);},'RjzYd':function(_0x1f1f04,_0x10b77c){return _0x1f1f04!==_0x10b77c;},'alBKc':function(_0x162c44){return _0x162c44();},'oGgFp':function(_0x67d96b){return _0x67d96b();},'BrzXo':'\x0a---\x20OpenCode\x20Plugin\x20---','iKJVn':_0x1e37cd(0x1d2),'Cfloz':'\x20\x20Not\x20configured','MMLPo':_0x1e37cd(0x179),'nyMxU':'enabled','kKmUf':_0x1e37cd(0x189),'fzlAS':function(_0x51f934,_0x28fe1d){return _0x51f934+_0x28fe1d;},'blCRo':function(_0x29580e,_0x40bb6b){return _0x29580e===_0x40bb6b;},'gwdYx':_0x1e37cd(0x1ac),'knVMh':_0x1e37cd(0x1dc),'HMGPz':function(_0x3276fe,_0x4badb8){return _0x3276fe>_0x4badb8;},'SoazT':_0x1e37cd(0x1dd),'BEgQI':function(_0x369e86,_0x4f58e1){return _0x369e86(_0x4f58e1);},'Rmkpx':function(_0x5c5101){return _0x5c5101();},'bLIJK':'No\x20profiles\x20configured','YurkM':'\x20(active)','jOmgy':'encrypted','ZobAU':'plaintext','qvtSf':function(_0x15996e,_0x19d1fb){return _0x15996e(_0x19d1fb);}};console[_0x1e37cd(0x1c7)](_0x69d260['IPPjv']);const _0x590bd9=process[_0x1e37cd(0x1d4)](),_0x1c7019=getRangerDir();if(!existsSync(_0x1c7019)){console['log']('Root:\x20'+_0x69d260['hEXeB'](link,_0x590bd9,_0x69d260[_0x1e37cd(0x1ba)](bold,_0x69d260[_0x1e37cd(0x190)](basename,_0x590bd9)))),console[_0x1e37cd(0x1c7)]('\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.'),console['log'](_0x1e37cd(0x1a9));return;}console[_0x1e37cd(0x1c7)](_0x1e37cd(0x1da)+link(_0x590bd9,bold(basename(_0x590bd9))));const _0x552634=getCurrentVersion(),_0x191278=getLatestVersion();if(_0x191278[_0x1e37cd(0x17c)]&&_0x69d260['RjzYd'](_0x191278[_0x1e37cd(0x17c)],_0x552634))console['log']('Version:\x20'+_0x552634+_0x1e37cd(0x1be)+_0x191278['version']+')'),console['log'](_0x1e37cd(0x1b3));else _0x191278['version']?console['log'](_0x1e37cd(0x1c9)+_0x552634+'\x20(up\x20to\x20date)'):console[_0x1e37cd(0x1c7)](_0x1e37cd(0x1c9)+_0x552634);const _0x1b38e4=await _0x69d260[_0x1e37cd(0x1b0)](getToken);if(_0x1b38e4){const _0x4d5b80=await getCurrentUser(_0x1b38e4);_0x4d5b80['success']?console['log']('Organization:\x20'+_0x69d260['Uquqq'](bold,_0x4d5b80['user']['organizationName'])):(console[_0x1e37cd(0x1c7)](_0x1e37cd(0x1a0)),console[_0x1e37cd(0x1c7)](_0x1e37cd(0x1e6)));}else console[_0x1e37cd(0x1c7)]('API\x20Token:\x20✗\x20Not\x20found'),console[_0x1e37cd(0x1c7)](_0x1e37cd(0x1e6));process['env'][_0x1e37cd(0x1db)]&&(console[_0x1e37cd(0x1c7)](_0x1e37cd(0x1d8)+getCurrentEnvironment()),console['log'](_0x1e37cd(0x193)+_0x69d260[_0x1e37cd(0x1a3)](getApiBaseUrl)));console[_0x1e37cd(0x1c7)](_0x69d260[_0x1e37cd(0x1d6)]);const _0x548699=await getOpencodePluginStatus();if(_0x548699['status']==='configured')console[_0x1e37cd(0x1c7)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+':\x20configured'),_0x548699[_0x1e37cd(0x191)]&&console['log']('\x20\x20'+_0x548699['details']);else _0x548699[_0x1e37cd(0x182)]===_0x69d260['iKJVn']?(console['log'](_0x69d260[_0x1e37cd(0x1e4)]),_0x548699['details']&&console[_0x1e37cd(0x1c7)]('\x20\x20'+_0x548699['details']),console['log'](_0x1e37cd(0x1b9))):console[_0x1e37cd(0x1c7)](_0x1e37cd(0x17f));console['log'](_0x1e37cd(0x1b6));const _0x51633d=await getPluginInfo(_0x69d260[_0x1e37cd(0x1c3)]);if(_0x51633d){const _0x4aed1f=_0x51633d['scope']||_0x1e37cd(0x17a),_0x5ba1d8=_0x51633d[_0x1e37cd(0x196)]?_0x69d260['nyMxU']:_0x69d260[_0x1e37cd(0x1e0)];console[_0x1e37cd(0x1c7)]('\x20\x20'+bold(_0x1e37cd(0x179))+_0x1e37cd(0x1d7)+_0x4aed1f+',\x20'+_0x5ba1d8+')');}else console[_0x1e37cd(0x1c7)]('\x20\x20Not\x20installed'),console['log'](_0x1e37cd(0x1d5));console['log']('\x0a---\x20Skills\x20---');const {project:_0x49ab38,user:_0x7b38c6}=await getInstalledSkills(),_0x1e385c=_0x49ab38['filter'](_0x1a639f=>RANGER_MANAGED_SKILLS['includes'](_0x1a639f['name'])),_0x52389a=_0x7b38c6[_0x1e37cd(0x1a2)](_0x96c57d=>RANGER_MANAGED_SKILLS[_0x1e37cd(0x1a8)](_0x96c57d['name'])),_0x499624=_0x69d260[_0x1e37cd(0x17d)](_0x1e385c['length'],_0x52389a['length']);if(_0x69d260['blCRo'](_0x499624,0x0))console[_0x1e37cd(0x1c7)](_0x69d260['gwdYx']),console[_0x1e37cd(0x1c7)](_0x1e37cd(0x1ad));else{if(_0x1e385c[_0x1e37cd(0x1e1)]>0x0){console[_0x1e37cd(0x1c7)](_0x69d260['knVMh']);for(const _0x3f2839 of _0x1e385c){console['log'](_0x1e37cd(0x19d)+bold(_0x3f2839[_0x1e37cd(0x1df)])+':\x20'+link(_0x3f2839['path'],_0x69d260[_0x1e37cd(0x1ba)](basename,_0x3f2839['path'])));}}if(_0x69d260[_0x1e37cd(0x184)](_0x52389a['length'],0x0)){console['log'](_0x69d260['SoazT']);for(const _0x2efb59 of _0x52389a){console['log'](_0x1e37cd(0x19d)+_0x69d260[_0x1e37cd(0x1ba)](bold,_0x2efb59[_0x1e37cd(0x1df)])+':\x20'+link(_0x2efb59[_0x1e37cd(0x18e)],_0x69d260['BEgQI'](basename,_0x2efb59[_0x1e37cd(0x18e)])));}}}console['log'](_0x1e37cd(0x1bf));const {envs:_0x217303,activeEnv:_0xc0a02f}=await _0x69d260[_0x1e37cd(0x1c1)](getEnvironments);if(_0x217303['length']===0x0)console[_0x1e37cd(0x1c7)](_0x69d260[_0x1e37cd(0x1ce)]),console['log'](_0x1e37cd(0x1b8));else{for(const _0x346af7 of _0x217303){const _0x295229=_0x346af7[_0x1e37cd(0x1de)]?_0x69d260[_0x1e37cd(0x1d0)]:'',_0x44e7cf=_0x346af7['hasEncryptedAuth']?_0x69d260[_0x1e37cd(0x1af)]:_0x346af7['hasPlaintextAuth']?_0x69d260[_0x1e37cd(0x1cd)]:'none';console[_0x1e37cd(0x1c7)]('\x20\x20'+_0x69d260['Uquqq'](bold,_0x346af7['name'])+_0x295229),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x44e7cf),_0x69d260['RjzYd'](_0x346af7[_0x1e37cd(0x19e)],'(not\x20found)')&&console['log'](_0x1e37cd(0x1c2)+link(_0x346af7[_0x1e37cd(0x19e)],_0x69d260[_0x1e37cd(0x1c8)](basename,_0x346af7['settingsPath'])));}!_0xc0a02f&&(console['log'](_0x1e37cd(0x1bb)),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x217303['map'](_0x3a59c9=>_0x3a59c9['name'])['join'](',\x20')+')'));}console[_0x1e37cd(0x1c7)]('');}
|
|
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(_0x4db687,_0x24ff98){const _0x3c0e13=_0x4ec2,_0xb37acb=_0x4db687();while(!![]){try{const _0x36d89d=parseInt(_0x3c0e13(0x1f0))/0x1+-parseInt(_0x3c0e13(0x1c8))/0x2*(parseInt(_0x3c0e13(0x1db))/0x3)+parseInt(_0x3c0e13(0x1f6))/0x4+parseInt(_0x3c0e13(0x1f3))/0x5*(-parseInt(_0x3c0e13(0x1d4))/0x6)+-parseInt(_0x3c0e13(0x1cc))/0x7+-parseInt(_0x3c0e13(0x1e3))/0x8+parseInt(_0x3c0e13(0x1e0))/0x9;if(_0x36d89d===_0x24ff98)break;else _0xb37acb['push'](_0xb37acb['shift']());}catch(_0x15cfe0){_0xb37acb['push'](_0xb37acb['shift']());}}}(_0x5092,0xd9044));import{spawn}from'child_process';import{existsSync}from'fs';function _0x5092(){const _0xb426e2=['trailhead','Bmvck','platform','948xkTtVW','xtmoj','cLpnZ','warn','ranger@trailhead','pipe','xvnfY','2751hXtBMM','SByTn','LrwgB','log','install','36597114lGxjWo','update','mzBkK','11306072wDfXem','@latest','QYllF','ErJkB','gGPeH','zvdLF','LDmla','error','JHpNj','cAgnB','oiaQF','\x0aSuccessfully\x20installed\x20latest\x20version.','lGsju','342480SFtVug','\x20skill\x20','jHxxf','33340sBmLVV','mkpBf','utf-8','2221772QVxZSf','join','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','kebDR','version','rwdOJ','active-profile.txt','iisXk','✓\x20Migrated\x20active\x20profile\x20file','cBaoj','MwpYD','win32','@latest...\x0a','plugin','project','length','npm','jnuyb','sPZqC','2402hqgfdr','push','close','some','3550743uMhrca','VoFJv','ddJti','trim','opencode'];_0x5092=function(){return _0xb426e2;};return _0x5092();}import{readFile,writeFile}from'fs/promises';function _0x4ec2(_0x35f9fa,_0x5a013e){_0x35f9fa=_0x35f9fa-0x1b8;const _0x5092d6=_0x5092();let _0x4ec207=_0x5092d6[_0x35f9fa];return _0x4ec207;}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 _0x4591e2=_0x4ec2,_0x24e086={'rwdOJ':function(_0x1271f4,_0x1e7952,_0x365113,_0x53e6a7){return _0x1271f4(_0x1e7952,_0x365113,_0x53e6a7);},'gGPeH':_0x4591e2(0x1df),'ErJkB':'error'};return new Promise(_0x1c1a13=>{const _0x2168f1=_0x4591e2,_0x58fdbc={'ouXKr':function(_0x139612,_0x203bdc){return _0x139612(_0x203bdc);}};console['log']('\x0aInstalling\x20'+PACKAGE_NAME+_0x2168f1(0x1c1));const _0x3ab9cb=_0x24e086[_0x2168f1(0x1ba)](spawn,_0x2168f1(0x1c5),[_0x24e086[_0x2168f1(0x1e7)],'-g',PACKAGE_NAME+_0x2168f1(0x1e4)],{'stdio':'inherit','shell':process[_0x2168f1(0x1d3)]===_0x2168f1(0x1c0)});_0x3ab9cb['on']('close',_0x14a140=>{_0x1c1a13(_0x14a140===0x0);}),_0x3ab9cb['on'](_0x24e086[_0x2168f1(0x1e6)],()=>{_0x58fdbc['ouXKr'](_0x1c1a13,![]);});});}async function updateClaudeMarketplace(){const _0xd7ddf8=_0x4ec2,_0xa33954={'sPZqC':function(_0x2f0360,_0x4ce961){return _0x2f0360(_0x4ce961);},'cAgnB':function(_0x17f2c8,_0x49419e,_0x3addce,_0x2eb72d){return _0x17f2c8(_0x49419e,_0x3addce,_0x2eb72d);},'mzBkK':'claude','rLQjv':'marketplace','SByTn':_0xd7ddf8(0x1e1),'MwpYD':_0xd7ddf8(0x1d1),'ddJti':'pipe','qlEUV':_0xd7ddf8(0x1ca),'jHxxf':'error'};return new Promise(_0x5827c0=>{const _0x24dba2=_0xd7ddf8,_0x4fe5c4=_0xa33954[_0x24dba2(0x1ec)](spawn,_0xa33954[_0x24dba2(0x1e2)],['plugin',_0xa33954['rLQjv'],_0xa33954[_0x24dba2(0x1dc)],_0xa33954[_0x24dba2(0x1bf)]],{'stdio':_0xa33954[_0x24dba2(0x1ce)],'shell':process['platform']===_0x24dba2(0x1c0)});_0x4fe5c4['on'](_0xa33954['qlEUV'],_0x23a935=>{const _0x5e364e=_0x24dba2;_0xa33954[_0x5e364e(0x1c7)](_0x5827c0,_0x23a935===0x0);}),_0x4fe5c4['on'](_0xa33954[_0x24dba2(0x1f2)],()=>{_0x5827c0(![]);});});}async function updateClaudePlugin(_0x4500e3){const _0x4d54fe=_0x4ec2,_0x1a48f2={'sVFdB':function(_0x231fe3,_0x7fe39b){return _0x231fe3===_0x7fe39b;},'LDmla':function(_0x12b772,_0x1e5284){return _0x12b772(_0x1e5284);},'bnvsg':'--scope','cLpnZ':function(_0x38b5fd,_0x167357,_0x4ee3d0,_0x28f70c){return _0x38b5fd(_0x167357,_0x4ee3d0,_0x28f70c);},'qAEye':'claude','xvnfY':_0x4d54fe(0x1d9),'MIuEE':_0x4d54fe(0x1c0),'oiaQF':_0x4d54fe(0x1ea)};return new Promise(_0x4b2b45=>{const _0x49ab10=_0x4d54fe,_0x2c8b80=[_0x49ab10(0x1c2),'update',_0x49ab10(0x1d8)];_0x4500e3&&_0x2c8b80[_0x49ab10(0x1c9)](_0x1a48f2['bnvsg'],_0x4500e3);const _0x553582=_0x1a48f2[_0x49ab10(0x1d6)](spawn,_0x1a48f2['qAEye'],_0x2c8b80,{'stdio':_0x1a48f2[_0x49ab10(0x1da)],'shell':process['platform']===_0x1a48f2['MIuEE']});_0x553582['on'](_0x49ab10(0x1ca),_0x3f2969=>{_0x4b2b45(_0x1a48f2['sVFdB'](_0x3f2969,0x0));}),_0x553582['on'](_0x1a48f2[_0x49ab10(0x1ed)],()=>{const _0xee9613=_0x49ab10;_0x1a48f2[_0xee9613(0x1e9)](_0x4b2b45,![]);});});}function isSkillInstalled(_0x2e06d0,_0x523993,_0x2f67e2){const _0x2c6892=_0x4ec2,_0x16a6bf={'cSDks':function(_0x4bb953,_0x39ef36){return _0x4bb953===_0x39ef36;},'sVJCK':_0x2c6892(0x1d0),'maOlV':function(_0x45d2ff,_0x1f303d){return _0x45d2ff(_0x1f303d);},'sCOgQ':function(_0x206728,_0x547fc4,_0x5c0146){return _0x206728(_0x547fc4,_0x5c0146);},'DVIZf':function(_0x3cc4eb,_0x12bd6c){return _0x3cc4eb(_0x12bd6c);}},_0x4d1f10=_0x16a6bf['cSDks'](_0x2f67e2,_0x16a6bf['sVJCK'])?_0x16a6bf['maOlV'](getOpencodeSkillsDir,_0x523993):getSkillsDir(_0x523993),_0x511b97=_0x16a6bf['sCOgQ'](join,_0x4d1f10,_0x2e06d0);return _0x16a6bf['DVIZf'](existsSync,_0x511b97);}async function reinstallSkills(_0x35d57f){const _0x523235=_0x4ec2,_0x490a14={'jnuyb':'user','iisXk':'claude','QYllF':_0x523235(0x1f8),'lGsju':function(_0x3ba027,_0x3540e5,_0x35d2d0){return _0x3ba027(_0x3540e5,_0x35d2d0);}},_0x4d9e34=['project',_0x490a14[_0x523235(0x1c6)]],_0x2a4123=[];for(const _0x3c4d2c of _0x4d9e34){for(const _0x2ab2dd of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x2ab2dd,_0x3c4d2c,'claude')&&_0x2a4123['push']({'skillName':_0x2ab2dd,'level':_0x3c4d2c,'platform':_0x490a14[_0x523235(0x1bc)]}),isSkillInstalled(_0x2ab2dd,_0x3c4d2c,_0x523235(0x1d0))&&_0x2a4123['push']({'skillName':_0x2ab2dd,'level':_0x3c4d2c,'platform':'opencode'});}}for(const _0x8570c1 of _0x4d9e34){for(const _0x500279 of DEPRECATED_SKILLS){await removeSkill(_0x500279,_0x8570c1);}}if(_0x2a4123[_0x523235(0x1c4)]===0x0){console[_0x523235(0x1de)](_0x490a14[_0x523235(0x1e5)]);return;}console['log']('\x0aReinstalling\x20'+_0x2a4123['length']+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x25e5a8,level:_0xb872bb,platform:_0x3aee5a}of _0x2a4123){try{await _0x490a14[_0x523235(0x1ef)](installSkill,_0x25e5a8,{'level':_0xb872bb,'cliVersion':_0x35d57f,'platform':_0x3aee5a});}catch(_0xccf684){console[_0x523235(0x1d7)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x3aee5a+'\x20'+_0xb872bb+_0x523235(0x1f1)+_0x25e5a8+':',_0xccf684);}}}async function ensureActiveProfileGitignored(){const _0x4203e9=_0x4ec2,_0x4ccb77={'Bmvck':function(_0x19a159,_0x328655,_0x20b3eb){return _0x19a159(_0x328655,_0x20b3eb);},'JHpNj':function(_0x491f81,_0x24fae3){return _0x491f81(_0x24fae3);},'zrGTj':function(_0xcd8d2,_0x37e99e,_0x3411d9){return _0xcd8d2(_0x37e99e,_0x3411d9);},'mkpBf':_0x4203e9(0x1f5)},_0x5ccc90=_0x4ccb77[_0x4203e9(0x1d2)](join,getRangerDir(),'.gitignore');if(!_0x4ccb77[_0x4203e9(0x1eb)](existsSync,_0x5ccc90))return![];let _0x11d44b='';try{_0x11d44b=await _0x4ccb77['zrGTj'](readFile,_0x5ccc90,'utf-8');}catch{return![];}const _0x4aca8f=_0x11d44b['split'](/\r?\n/);if(_0x4aca8f[_0x4203e9(0x1cb)](_0x2ecf19=>_0x2ecf19[_0x4203e9(0x1cf)]()===_0x4203e9(0x1bb)))return![];let _0xbc091a=_0x4aca8f['findIndex'](_0xc0a6d0=>_0xc0a6d0['trim']()==='active-feature.txt');_0xbc091a===-0x1&&(_0xbc091a=_0x4aca8f['length']);_0x4aca8f['splice'](_0xbc091a,0x0,_0x4203e9(0x1bb));let _0x5bf771=_0x4aca8f[_0x4203e9(0x1f7)]('\x0a');!_0x5bf771['endsWith']('\x0a')&&(_0x5bf771+='\x0a');try{await writeFile(_0x5ccc90,_0x5bf771,_0x4ccb77[_0x4203e9(0x1f4)]);}catch{return![];}return!![];}export async function update(){const _0x31a009=_0x4ec2,_0x221776={'cBaoj':function(_0x25242e){return _0x25242e();},'LrwgB':function(_0x4de34f){return _0x4de34f();},'zvdLF':_0x31a009(0x1ee),'Boqen':function(_0x2cae9c){return _0x2cae9c();},'zjMXD':function(_0x1a0aa0,_0x50e03b){return _0x1a0aa0<_0x50e03b;},'kebDR':'Update\x20failed.','VoFJv':function(_0x5b58d7,_0x99ee19){return _0x5b58d7(_0x99ee19);},'ztyLH':'\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','xtmoj':'\x0a✅\x20Update\x20complete!'},_0xe97b52=_0x221776[_0x31a009(0x1be)](getCurrentVersion);console['log']('\x0aCurrent\x20version:\x20'+_0xe97b52),console['log']('Checking\x20for\x20updates...');const _0x364a95=_0x221776[_0x31a009(0x1dd)](getLatestVersion);let _0x2ad439=_0xe97b52;if(!_0x364a95[_0x31a009(0x1b9)]){console['warn']('\x0aCould\x20not\x20check\x20latest\x20version:\x20'+_0x364a95['error']),console['log']('Attempting\x20install\x20anyway...');const _0x1563a1=await runInstall();if(_0x1563a1)console[_0x31a009(0x1de)](_0x221776[_0x31a009(0x1e8)]),_0x2ad439=_0x221776['Boqen'](getCurrentVersion);else throw new Error('Update\x20failed:\x20'+_0x364a95['error']);}else{const _0x1506d7=_0x364a95[_0x31a009(0x1b9)];console[_0x31a009(0x1de)]('Latest\x20version:\x20\x20'+_0x1506d7);const _0xa57860=compareVersions(_0xe97b52,_0x1506d7);if(_0xa57860===0x0)console[_0x31a009(0x1de)]('\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.');else{if(_0x221776['zjMXD'](_0xa57860,0x0))console['log']('\x0aYour\x20version\x20('+_0xe97b52+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x1506d7+').');else{const _0x197f45=await runInstall();if(_0x197f45)console['log']('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x1506d7),_0x2ad439=_0x1506d7;else throw new Error(_0x221776[_0x31a009(0x1b8)]);}}}await reinstallSkills(_0x2ad439);const _0x2a3235=await _0x221776['VoFJv'](isMarketplaceAdded,_0x31a009(0x1d1)),_0xe18299=await _0x221776[_0x31a009(0x1cd)](isPluginInstalled,_0x31a009(0x1d8));if(_0x2a3235){const _0x7e9cd4=await updateClaudeMarketplace();_0x7e9cd4&&console[_0x31a009(0x1de)]('\x0aClaude\x20marketplace\x20updated\x20(trailhead).');}if(_0xe18299){const _0x593697=await _0x221776['cBaoj'](updateClaudePlugin);_0x593697&&console['log'](_0x221776['ztyLH']);const _0x4656fc=await _0x221776['VoFJv'](updateClaudePlugin,_0x31a009(0x1c3));_0x4656fc&&console['log']((_0x593697?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x42cd93=await _0x221776['LrwgB'](migrateActiveProfileFile);_0x42cd93&&console['log'](_0x31a009(0x1bd));const _0x11b6ca=await _0x221776['Boqen'](ensureActiveProfileGitignored);console['log'](_0x221776[_0x31a009(0x1d5)]);}
|
|
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)]);}
|