@ranger-testing/ranger-cli 2.2.4 → 2.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/featureReportGenerator.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/git.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/reportGenerator.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyInBrowser.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xeb539e,_0xd5a2ae){const _0x35f79a=_0x3259,_0x3d4d49=_0xeb539e();while(!![]){try{const _0x5b84e1=-parseInt(_0x35f79a(0x1f7))/0x1*(parseInt(_0x35f79a(0x1eb))/0x2)+parseInt(_0x35f79a(0x205))/0x3*(parseInt(_0x35f79a(0x1f2))/0x4)+-parseInt(_0x35f79a(0x1ed))/0x5*(parseInt(_0x35f79a(0x1f3))/0x6)+-parseInt(_0x35f79a(0x209))/0x7+-parseInt(_0x35f79a(0x1f9))/0x8*(-parseInt(_0x35f79a(0x1f8))/0x9)+parseInt(_0x35f79a(0x1fe))/0xa*(parseInt(_0x35f79a(0x1e9))/0xb)+parseInt(_0x35f79a(0x1ea))/0xc;if(_0x5b84e1===_0xd5a2ae)break;else _0x3d4d49['push'](_0x3d4d49['shift']());}catch(_0x279c2f){_0x3d4d49['push'](_0x3d4d49['shift']());}}}(_0x3db9,0x7f764));function _0x3db9(){const _0x5906e1=['close','4238829renWXv','iqLNh','includes','DSjql','`,\x20then\x20run\x20/exit\x20again.','WMUTy','104368OwcIIn','4676688HmLggd','2iBvfRs','success','5TvGucC','DQKKM','KzNZc','name','bdFMF','8hLOUlp','3054678rBlDPp','read',':\x0a\x0a','stop_hook_active','207619KJIvij','99RonqMC','294456SKzhby','transcript_path','featureId','input','stringify','300xKqeAu','BiAEL','message','hook:stop','\x20for\x20\x22','ViUqt','toString','1147683MivzpZ','vfPYh','trackCommandStart'];_0x3db9=function(){return _0x5906e1;};return _0x3db9();}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 _0x3259(_0x31f975,_0x583ba8){_0x31f975=_0x31f975-0x1e7;const _0x3db956=_0x3db9();let _0x325975=_0x3db956[_0x31f975];return _0x325975;}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x37d2ad){const _0x3ac3fe=_0x3259,_0x40dd6a={'BiAEL':function(_0x5ebeb3,_0x2aa9a2){return _0x5ebeb3(_0x2aa9a2);},'GeshI':function(_0x445ecc,_0x4e54cd){return _0x445ecc===_0x4e54cd;},'cDyUz':'string','vfPYh':function(_0x5c0098,_0x15ea94,_0x19d65c,_0x188b49){return _0x5c0098(_0x15ea94,_0x19d65c,_0x188b49);},'djmdh':function(_0x293f86,_0x108614,_0x50c3d3,_0x3237ff){return _0x293f86(_0x108614,_0x50c3d3,_0x3237ff);},'KzNZc':'RANGER_SKIP_VERIFICATION','WMUTy':function(_0x27eece,_0x17fd88,_0x3762e1){return _0x27eece(_0x17fd88,_0x3762e1);},'iqLNh':function(_0x22439d,_0x5e17d2){return _0x22439d&&_0x5e17d2;},'nwGOP':function(_0x354095,_0x2fbd8a){return _0x354095 instanceof _0x2fbd8a;}},_0x494a6e=await getEnabledHookContext(_0x37d2ad),_0x425b8d=_0x494a6e?.['sessionId']??null,_0x1d8a77=_0x40dd6a[_0x3ac3fe(0x1ff)](Boolean,_0x494a6e?.['input']?.[_0x3ac3fe(0x1f6)]),_0x2bbe0c=_0x40dd6a['GeshI'](typeof _0x494a6e?.[_0x3ac3fe(0x1fc)]?.[_0x3ac3fe(0x1fa)],_0x40dd6a['cDyUz'])?_0x494a6e['input']['transcript_path']:null;let _0x5c799a=!![];if(!_0x425b8d){await _0x40dd6a['vfPYh'](trackStop,_0x425b8d,![],_0x5c799a);return;}try{const _0x39b115=_0x40dd6a[_0x3ac3fe(0x1ff)](getSessionEntry,_0x425b8d);if(!_0x39b115){await _0x40dd6a['djmdh'](trackStop,_0x425b8d,!![],_0x5c799a);return;}const _0x18f6f1='https://dashboard.ranger.net/features/'+_0x39b115[_0x3ac3fe(0x1fb)],_0x2b038f=_0x40dd6a[_0x3ac3fe(0x1ef)],_0x3b6cb5=await getToken(),_0x32cc68=!_0x1d8a77;let _0x37f497=null,_0x29b4ac=null;const _0xcb11eb=_0x1d8a77&&await _0x40dd6a[_0x3ac3fe(0x1e8)](transcriptHasToken,_0x2bbe0c,_0x2b038f),_0x43b49e=await transcriptHasToken(_0x2bbe0c,_0x18f6f1);if(_0x3b6cb5)try{const _0x5b8580=await _0x40dd6a[_0x3ac3fe(0x1ff)](getFeature,_0x39b115['featureId']);_0x37f497=_0x5b8580[_0x3ac3fe(0x1f0)]??null,_0x29b4ac=_0x5b8580['currentSessionId']??null;}catch{}if(_0x40dd6a[_0x3ac3fe(0x20a)](_0x3b6cb5,_0x29b4ac))try{await concludeSession(_0x39b115[_0x3ac3fe(0x1fb)],_0x29b4ac);}catch(_0x23052b){if(_0xcb11eb){await _0x40dd6a[_0x3ac3fe(0x206)](trackStop,_0x425b8d,!![],_0x5c799a);return;}_0x5c799a=![];const _0xea39c4=_0x40dd6a['nwGOP'](_0x23052b,Error)?_0x23052b[_0x3ac3fe(0x200)]:String(_0x23052b),_0x535fd8={'decision':'block','reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x37f497?_0x3ac3fe(0x202)+_0x37f497+'\x22':'')+_0x3ac3fe(0x1f5)+_0xea39c4+'\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('+_0x18f6f1+')\x20and\x20the\x20token\x20`'+_0x2b038f+_0x3ac3fe(0x1e7)};console['log'](JSON[_0x3ac3fe(0x1fd)](_0x535fd8)),await trackStop(_0x425b8d,!![],_0x5c799a);return;}await trackStop(_0x425b8d,!![],_0x5c799a);return;}catch{await trackStop(_0x425b8d,!![],_0x5c799a);return;}}async function trackStop(_0x39b328,_0xbbe1b7,_0xf3c338){const _0x351fbd=_0x3259,_0x435a49={'ViUqt':function(_0x166dbe,_0x355df3){return _0x166dbe(_0x355df3);},'DSjql':_0x351fbd(0x201),'DQKKM':function(_0x2d608a,_0x21dfcf){return _0x2d608a??_0x21dfcf;}};try{const _0x3f0828=_0x435a49[_0x351fbd(0x203)](createTelemetryCollector,_0x435a49[_0x351fbd(0x20c)]);await _0x3f0828[_0x351fbd(0x207)]({'sessionId':_0x435a49[_0x351fbd(0x1ee)](_0x39b328,undefined),'hooksEnabled':_0xbbe1b7,'stopAllowed':_0xf3c338}),await _0x3f0828['trackCommandEnd'](_0x351fbd(0x1ec));}catch{}}async function transcriptHasToken(_0x1b6ced,_0x4f790e){const _0x337392=_0x3259;if(!_0x1b6ced)return![];const _0x32d5d9=await readTranscriptTail(_0x1b6ced,0x30d40);return _0x32d5d9?_0x32d5d9[_0x337392(0x20b)](_0x4f790e):![];}async function readTranscriptTail(_0x379e86,_0x1bcec7){const _0x41f37d=_0x3259,_0x345a39={'bdFMF':function(_0x4dc711,_0x17bd3e){return _0x4dc711<=_0x17bd3e;}};let _0x47b10e=null;try{_0x47b10e=await open(_0x379e86,'r');const _0x2473d3=await _0x47b10e['stat'](),_0xe0754f=Math['min'](_0x2473d3['size'],_0x1bcec7);if(_0x345a39[_0x41f37d(0x1f1)](_0xe0754f,0x0))return'';const _0x2ee9bd=Buffer['alloc'](_0xe0754f);return await _0x47b10e[_0x41f37d(0x1f4)](_0x2ee9bd,0x0,_0xe0754f,_0x2473d3['size']-_0xe0754f),_0x2ee9bd[_0x41f37d(0x204)]('utf8');}catch{return null;}finally{try{await _0x47b10e?.[_0x41f37d(0x208)]();}catch{}}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2d7847,_0x1c1da3){var _0x391e55=_0x57fc,_0x3bdc70=_0x2d7847();while(!![]){try{var _0x1a7ab0=parseInt(_0x391e55(0xdb))/0x1*(-parseInt(_0x391e55(0xdf))/0x2)+-parseInt(_0x391e55(0xe0))/0x3+-parseInt(_0x391e55(0xe2))/0x4*(parseInt(_0x391e55(0xdc))/0x5)+parseInt(_0x391e55(0xe1))/0x6*(-parseInt(_0x391e55(0xde))/0x7)+parseInt(_0x391e55(0xd7))/0x8+parseInt(_0x391e55(0xd9))/0x9*(-parseInt(_0x391e55(0xd8))/0xa)+-parseInt(_0x391e55(0xda))/0xb*(-parseInt(_0x391e55(0xdd))/0xc);if(_0x1a7ab0===_0x1c1da3)break;else _0x3bdc70['push'](_0x3bdc70['shift']());}catch(_0x1696e0){_0x3bdc70['push'](_0x3bdc70['shift']());}}}(_0x500f,0x69d74));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0x57fc(_0x413ac8,_0x1d800d){_0x413ac8=_0x413ac8-0xd7;var _0x500f62=_0x500f();var _0x57fc6a=_0x500f62[_0x413ac8];return _0x57fc6a;}function _0x500f(){var _0xa2e023=['10KmtCdK','2012778AzwpUk','28584105dJjkPV','53902LHmanG','431605ynZuCW','12irjUJf','2219ySdZUJ','14FtEBfl','1252593BLXqkK','13866mWZTOf','36UhfApH','2903456moiBKF'];_0x500f=function(){return _0xa2e023;};return _0x500f();}export{setupCi}from'./setupCi.js';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x138d20,_0x93e35f){const _0x4537c0=_0x1137,_0x48c055=_0x138d20();while(!![]){try{const _0x5e12af=parseInt(_0x4537c0(0x75))/0x1+-parseInt(_0x4537c0(0x78))/0x2+-parseInt(_0x4537c0(0x79))/0x3+-parseInt(_0x4537c0(0x7d))/0x4*(parseInt(_0x4537c0(0x76))/0x5)+parseInt(_0x4537c0(0x77))/0x6+-parseInt(_0x4537c0(0x7a))/0x7*(parseInt(_0x4537c0(0x7c))/0x8)+-parseInt(_0x4537c0(0x74))/0x9*(-parseInt(_0x4537c0(0x70))/0xa);if(_0x5e12af===_0x93e35f)break;else _0x48c055['push'](_0x48c055['shift']());}catch(_0x2eafbf){_0x48c055['push'](_0x48c055['shift']());}}}(_0x4a7e,0x230e4));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x1137(_0x21868a,_0x22549){_0x21868a=_0x21868a-0x6f;const _0x4a7e00=_0x4a7e();let _0x113716=_0x4a7e00[_0x21868a];return _0x113716;}function _0x4a7e(){const _0x5b8103=['Login\x20failed:\x20','25370lMKCIU','isTTY','stdin','log','1692Mkgckb','166564SsiTDl','5tnCiRI','239754uLBaJh','527390sWTlcB','260862dAtAIj','63QsuzrI','message','58984oAqbWj','491540oGsVZF','\x0a✅\x20Logged\x20in\x20to\x20'];_0x4a7e=function(){return _0x5b8103;};return _0x4a7e();}import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x54209d=_0x1137,_0x1cdc8c={'KbVPb':function(_0x902558){return _0x902558();},'OqHGb':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x205f05=process[_0x54209d(0x72)][_0x54209d(0x71)]&&process['stdout']['isTTY'];if(!_0x205f05)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x2a76ec=await _0x1cdc8c['KbVPb'](runDeviceAuthFlow),_0x3d0f9c=await getCurrentUser(_0x2a76ec);_0x3d0f9c['success']?console['log'](_0x54209d(0x7e)+_0x3d0f9c['user']['organizationName']):console[_0x54209d(0x73)](_0x1cdc8c['OqHGb']);}catch(_0x1de36f){throw new Error(_0x54209d(0x6f)+(_0x1de36f instanceof Error?_0x1de36f[_0x54209d(0x7b)]:_0x1de36f));}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x45851d,_0x30a6e1){const _0x58dfdb=_0x1964,_0x58365e=_0x45851d();while(!![]){try{const _0x367f00=parseInt(_0x58dfdb(0x209))/0x1+parseInt(_0x58dfdb(0x1f7))/0x2+parseInt(_0x58dfdb(0x1e8))/0x3*(-parseInt(_0x58dfdb(0x1f0))/0x4)+-parseInt(_0x58dfdb(0x216))/0x5+-parseInt(_0x58dfdb(0x218))/0x6+parseInt(_0x58dfdb(0x207))/0x7+-parseInt(_0x58dfdb(0x1fe))/0x8*(-parseInt(_0x58dfdb(0x1f3))/0x9);if(_0x367f00===_0x30a6e1)break;else _0x58365e['push'](_0x58365e['shift']());}catch(_0x35a537){_0x58365e['push'](_0x58365e['shift']());}}}(_0x4d77,0x8d2be));function _0x4d77(){const _0x7e80d0=['NJNrf','3272334jUnHIL','wHCva','marketplace','ranger@trailhead','project','jyODZ','success','mFMgx','user','NxacX','prompt','627qmccSg','bhpIQ','⚠\x20Failed\x20to\x20enable\x20plugin:','JhCUc','ofDXt','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','pwhZA','qtEFy','20596DqIYWf','install','LqyBj','18dfzfzF','yYaSq','push','✓\x20Marketplace\x20already\x20added','1446340QkQnXj','CwmbD','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','bhMDk','jJtjr','error','Where\x20should\x20the\x20plugin\x20be\x20installed?','5371352XfnhRU','Knmai','SGRaQ','dAQRG','pluginScope','DGnxB','TPSMf','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','XxKXX','4482275slePej','add','600982RZCPsv','❌\x20Failed\x20to\x20add\x20marketplace:','✓\x20Ranger\x20skills\x20already\x20installed','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','rfVAB','log','qZnry','ANSuk','PcbrT','SKILL.md','\x0aYou\x20can\x20install\x20manually\x20with:','--scope','enable','5537735ztxuZQ'];_0x4d77=function(){return _0x7e80d0;};return _0x4d77();}function _0x1964(_0x5ea2ac,_0x292488){_0x5ea2ac=_0x5ea2ac-0x1e1;const _0x4d7765=_0x4d77();let _0x196490=_0x4d7765[_0x5ea2ac];return _0x196490;}import{join}from'path';import{existsSync}from'fs';import _0x17840c from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2cedc9){const _0x3a9392=_0x1964,_0x4cd3b8={'NxacX':function(_0x18eb5d,_0x5db0fc){return _0x18eb5d(_0x5db0fc);},'dAQRG':_0x3a9392(0x21b),'jgMFp':function(_0x184ea1){return _0x184ea1();},'TPSMf':'.claude','jyODZ':_0x3a9392(0x1ed),'bhpIQ':_0x3a9392(0x1fd),'ITbWI':'User\x20(available\x20in\x20all\x20your\x20projects)','mFMgx':_0x3a9392(0x1e5),'pwhZA':'Project\x20(shared\x20with\x20team\x20via\x20git)','qtEFy':function(_0x3a4e82,_0x47d947){return _0x3a4e82(_0x47d947);},'VoKXw':'trailhead','dajra':_0x3a9392(0x1f6),'dkNIa':'plugin','cmtYC':_0x3a9392(0x21a),'tzyGz':_0x3a9392(0x208),'ANSuk':_0x3a9392(0x20a),'wHCva':_0x3a9392(0x213),'Knmai':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','XxKXX':_0x3a9392(0x1f1),'NJNrf':_0x3a9392(0x214),'AxCQB':'❌\x20Failed\x20to\x20install\x20plugin:','yYaSq':_0x3a9392(0x215),'rfVAB':_0x3a9392(0x1ea),'jJtjr':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x59f242=await _0x4cd3b8[_0x3a9392(0x1e6)](isPluginInstalled,_0x4cd3b8['dAQRG']);if(_0x59f242)return console[_0x3a9392(0x20e)](_0x3a9392(0x1f9)),![];const _0x2ee8d4=existsSync(join(_0x4cd3b8['jgMFp'](getProjectRoot),_0x4cd3b8[_0x3a9392(0x204)]));let _0x34d111;if(_0x2cedc9)_0x34d111=_0x2cedc9;else{if(_0x2ee8d4)_0x34d111=_0x3a9392(0x1e1);else{console[_0x3a9392(0x20e)](_0x4cd3b8[_0x3a9392(0x1e2)]);const _0x2bc83f=await _0x17840c[_0x3a9392(0x1e7)]([{'type':'list','name':_0x3a9392(0x202),'message':_0x4cd3b8[_0x3a9392(0x1e9)],'choices':[{'name':_0x4cd3b8['ITbWI'],'value':_0x4cd3b8[_0x3a9392(0x1e4)]},{'name':_0x4cd3b8[_0x3a9392(0x1ee)],'value':_0x3a9392(0x1e1)}],'default':_0x4cd3b8['mFMgx']}]);_0x34d111=_0x2bc83f[_0x3a9392(0x202)];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x34d111+'\x20level)...\x0a');const _0x3d67e5=await _0x4cd3b8[_0x3a9392(0x1ef)](isMarketplaceAdded,_0x4cd3b8['VoKXw']);let _0x247b14=_0x3d67e5;if(_0x3d67e5)console[_0x3a9392(0x20e)](_0x4cd3b8['dajra']);else{const _0x82740=await runClaudeCommand([_0x4cd3b8['dkNIa'],_0x4cd3b8['cmtYC'],_0x4cd3b8['tzyGz'],'ranger-testing/trailhead']);!_0x82740[_0x3a9392(0x1e3)]?(console[_0x3a9392(0x1fc)](_0x4cd3b8[_0x3a9392(0x210)],_0x82740[_0x3a9392(0x1fc)]),console['log'](_0x4cd3b8[_0x3a9392(0x219)]),console['log'](_0x4cd3b8[_0x3a9392(0x1ff)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x34d111)):_0x247b14=!![];}if(_0x247b14){const _0x1343dd=await _0x4cd3b8['qtEFy'](runClaudeCommand,[_0x4cd3b8['dkNIa'],_0x4cd3b8[_0x3a9392(0x206)],_0x3a9392(0x21b),_0x4cd3b8[_0x3a9392(0x217)],_0x34d111]);if(!_0x1343dd[_0x3a9392(0x1e3)])console['error'](_0x4cd3b8['AxCQB'],_0x1343dd['error']),console['log'](_0x4cd3b8['wHCva']),console['log'](_0x3a9392(0x20c)+_0x34d111);else{console['log'](_0x3a9392(0x205));const _0x1de7f5=[_0x4cd3b8['dkNIa'],_0x4cd3b8[_0x3a9392(0x1f4)],_0x4cd3b8[_0x3a9392(0x201)]];_0x34d111===_0x3a9392(0x1e1)&&_0x1de7f5[_0x3a9392(0x1f5)](_0x4cd3b8[_0x3a9392(0x217)],'project');const _0xa1744=await runClaudeCommand(_0x1de7f5,{'captureOutput':!![]}),_0x1513d2=_0xa1744['output']?.['includes']('already\x20enabled');!_0xa1744[_0x3a9392(0x1e3)]&&!_0x1513d2?console[_0x3a9392(0x1fc)](_0x4cd3b8[_0x3a9392(0x20d)],_0xa1744[_0x3a9392(0x1fc)]):console[_0x3a9392(0x20e)](_0x4cd3b8[_0x3a9392(0x1fb)]);}}return!![];}export async function ensureClaudeSkills(_0x2784d1){const _0x11eab9=_0x1964,_0x1a02c2={'bhMDk':function(_0x4fecc9,_0x37df19,_0x11c2a1,_0x1059c1){return _0x4fecc9(_0x37df19,_0x11c2a1,_0x1059c1);},'XNXjE':_0x11eab9(0x1e5),'PcbrT':_0x11eab9(0x212),'CwmbD':'ranger','LqyBj':_0x11eab9(0x20b),'DGnxB':'.claude','qZnry':function(_0x21ce8a,_0x546390){return _0x21ce8a(_0x546390);},'ofDXt':'confirm','JhCUc':'wantsSkillup','SGRaQ':function(_0x4079f9,_0x2d2aac){return _0x4079f9(_0x2d2aac);}},_0x54e3c7=existsSync(_0x1a02c2[_0x11eab9(0x1fa)](join,getSkillsDir(_0x1a02c2['XNXjE']),'ranger',_0x1a02c2[_0x11eab9(0x211)])),_0x26388b=existsSync(join(getSkillsDir(_0x11eab9(0x1e1)),_0x1a02c2[_0x11eab9(0x1f8)],'SKILL.md'));if(_0x54e3c7||_0x26388b)return console['log'](_0x1a02c2[_0x11eab9(0x1f2)]),![];const _0x459650=existsSync(join(getProjectRoot(),_0x1a02c2[_0x11eab9(0x203)]));let _0x591ef6=!![];if(_0x2784d1)await skillup({'autoInstall':_0x2784d1,'suppressUsage':!![]});else{if(_0x459650)await _0x1a02c2[_0x11eab9(0x20f)](skillup,{'autoInstall':_0x11eab9(0x1e1),'suppressUsage':!![]});else{const _0x3d0f0a=await _0x17840c[_0x11eab9(0x1e7)]([{'type':_0x1a02c2[_0x11eab9(0x1ec)],'name':_0x1a02c2[_0x11eab9(0x1eb)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x591ef6=_0x3d0f0a['wantsSkillup'],_0x591ef6&&await _0x1a02c2[_0x11eab9(0x200)](skillup,{'suppressUsage':!![]});}}return _0x591ef6;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x17d6(){const _0x44d54d=['user','$schema','project','25990JvVCuZ','1274000WiWwAV','tqrKW','gPznm','lBzPJ','opencode.json','1639162DacEZC','isArray','ZUDFD','5xFYQnk','6620750FDgzPB','✓\x20OpenCode\x20plugin\x20already\x20configured','error','Failed\x20to\x20read\x20opencode.json','plugin','@ranger-testing/opencode-plugin','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','72MEjscE','28bHYfmk','log','1884870OiCGJZ','9528yCXdgh','list','1114326bQaEAQ'];_0x17d6=function(){return _0x44d54d;};return _0x17d6();}(function(_0x82f3ed,_0x19a5ec){const _0x483f9c=_0x3baf,_0x529100=_0x82f3ed();while(!![]){try{const _0x510cf3=parseInt(_0x483f9c(0x17d))/0x1*(-parseInt(_0x483f9c(0x174))/0x2)+-parseInt(_0x483f9c(0x173))/0x3*(parseInt(_0x483f9c(0x177))/0x4)+parseInt(_0x483f9c(0x16b))/0x5*(-parseInt(_0x483f9c(0x179))/0x6)+-parseInt(_0x483f9c(0x168))/0x7+parseInt(_0x483f9c(0x17e))/0x8+parseInt(_0x483f9c(0x176))/0x9+parseInt(_0x483f9c(0x16c))/0xa;if(_0x510cf3===_0x19a5ec)break;else _0x529100['push'](_0x529100['shift']());}catch(_0x1d8ecc){_0x529100['push'](_0x529100['shift']());}}}(_0x17d6,0x2e590));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x3baf(_0x12b68b,_0xa6615b){_0x12b68b=_0x12b68b-0x166;const _0x17d6ea=_0x17d6();let _0x3baf60=_0x17d6ea[_0x12b68b];return _0x3baf60;}import _0x1501c9 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5064e4){const _0x147d91=_0x3baf,_0x5a39cc={'tqrKW':function(_0x358770,_0xeb679b,_0x20bf38){return _0x358770(_0xeb679b,_0x20bf38);},'lBzPJ':function(_0x8f3ec0,_0x5431be){return _0x8f3ec0(_0x5431be);},'gPznm':'project','ojrVH':_0x147d91(0x167),'ZUDFD':'\x0a📦\x20OpenCode\x20Plugin\x0a','mhYBj':_0x147d91(0x16f),'IPTOM':function(_0x24f81c,_0x375b8c,_0x2ce078){return _0x24f81c(_0x375b8c,_0x2ce078);},'IQUDP':function(_0x2e65a9,_0x3fac5c,_0x511c5b){return _0x2e65a9(_0x3fac5c,_0x511c5b);}},_0x3097ee=existsSync(_0x5a39cc[_0x147d91(0x17f)](join,_0x5a39cc[_0x147d91(0x166)](getOpencodeConfigDir,_0x5a39cc[_0x147d91(0x180)]),_0x5a39cc['ojrVH']));let _0xb0d40b;if(_0x5064e4)_0xb0d40b=_0x5064e4;else{if(_0x3097ee)_0xb0d40b=_0x147d91(0x17c);else{console[_0x147d91(0x175)](_0x5a39cc[_0x147d91(0x16a)]);const _0x3ceff5=await _0x1501c9['prompt']([{'type':_0x147d91(0x178),'name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x147d91(0x17a)},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x5a39cc['gPznm']}],'default':_0x147d91(0x17a)}]);_0xb0d40b=_0x3ceff5['pluginScope'];}}const _0x2b194f=_0x5a39cc[_0x147d91(0x17f)](join,_0x5a39cc[_0x147d91(0x166)](getOpencodeConfigDir,_0xb0d40b),'opencode.json'),_0xb3fddf=_0x147d91(0x171),_0x2a7537='https://opencode.ai/config.json';let _0x3bc3fa={};if(_0x5a39cc[_0x147d91(0x166)](existsSync,_0x2b194f))try{const _0x2bae30=await readFile(_0x2b194f,'utf-8');_0x3bc3fa=JSON['parse'](_0x2bae30);}catch(_0x550bb5){return console[_0x147d91(0x16e)](_0x147d91(0x172)),{'configured':![],'scope':_0xb0d40b,'error':_0x5a39cc['mhYBj'],'details':_0x550bb5};}const _0x2fdd28=Array[_0x147d91(0x169)](_0x3bc3fa[_0x147d91(0x170)])?_0x3bc3fa[_0x147d91(0x170)]:[];if(_0x2fdd28['includes'](_0xb3fddf))return console[_0x147d91(0x175)](_0x147d91(0x16d)),{'configured':![],'scope':_0xb0d40b};return _0x3bc3fa[_0x147d91(0x17b)]=_0x3bc3fa[_0x147d91(0x17b)]||_0x2a7537,_0x3bc3fa['plugin']=[..._0x2fdd28,_0xb3fddf],await _0x5a39cc['IPTOM'](mkdir,_0x5a39cc[_0x147d91(0x166)](getOpencodeConfigDir,_0xb0d40b),{'recursive':!![]}),await _0x5a39cc['IQUDP'](writeFile,_0x2b194f,JSON['stringify'](_0x3bc3fa,null,0x2)+'\x0a'),console['log']('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0xb0d40b};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x59ab3b,_0x358868){const _0x10d4b1=_0x2fc0,_0x8c736=_0x59ab3b();while(!![]){try{const _0x1e5e06=-parseInt(_0x10d4b1(0x1af))/0x1*(-parseInt(_0x10d4b1(0x18e))/0x2)+parseInt(_0x10d4b1(0x1a9))/0x3+parseInt(_0x10d4b1(0x1b3))/0x4*(parseInt(_0x10d4b1(0x18f))/0x5)+parseInt(_0x10d4b1(0x1bc))/0x6+parseInt(_0x10d4b1(0x1c3))/0x7*(parseInt(_0x10d4b1(0x180))/0x8)+parseInt(_0x10d4b1(0x1ba))/0x9*(parseInt(_0x10d4b1(0x1ae))/0xa)+-parseInt(_0x10d4b1(0x1be))/0xb;if(_0x1e5e06===_0x358868)break;else _0x8c736['push'](_0x8c736['shift']());}catch(_0x5a5337){_0x8c736['push'](_0x8c736['shift']());}}}(_0x3bad,0x83942));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';function _0x3bad(){const _0x30f353=['\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','--scope','No\x20API\x20token\x20available\x20for\x20decryption','CI\x20profile\x20\x22','uENaD','trackPhaseEnd','isDirectory','PlsVm','YPaNB','trailhead','IStdp','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','✓\x20Created\x20profile\x20settings:\x20baseUrl=','AnAKf','ranger-testing/trailhead','qpIIM','UjeKh','uQiwC','add','marketplace','ohnoi','2894343pPlDol','filter','Failed\x20to\x20add\x20marketplace:','pXCYx','ranger@trailhead','505370NCMRTt','2xwICDW','IPauT','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','3236060GJCzyv','fXmre','iGJWs','sessions','name','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','log','18itiIrR','PtClB','4012554vNsIXP','Achtm','35285877XoARqH','profile_activate','owOIp','trackPhaseStart','path','326424UxQMVB','KtOvE','✓\x20Claude\x20Code\x20plugin\x20installed','length','DoGqR','baseUrl','hyqSJ','184nQfKeS','auth.json.enc','success','error','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','join','ZuLpl','bMBNS','uBBuz','QybPL','lXyiC','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','plugin','130588dQzphA','5UGcuUV','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','profile','\x22:\x20','skipChromium'];_0x3bad=function(){return _0x30f353;};return _0x3bad();}import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';function _0x2fc0(_0xff6933,_0x4ed494){_0xff6933=_0xff6933-0x17d;const _0x3bad6b=_0x3bad();let _0x2fc03a=_0x3bad6b[_0xff6933];return _0x2fc03a;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x161cfb){const _0x1b7b1e=_0x2fc0,_0x3fa7f9={'UjeKh':function(_0x544125,_0x216dff,_0x420e1d){return _0x544125(_0x216dff,_0x420e1d);},'PtClB':function(_0x48bfa8,_0x3d7f96){return _0x48bfa8+_0x3d7f96;},'uBBuz':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','pXCYx':_0x1b7b1e(0x19f)},_0x3e987e=getRangerDir(),_0x1acac4=_0x3fa7f9[_0x1b7b1e(0x1a4)](join,_0x3e987e,'ci');if(_0x161cfb){const _0x30943c=_0x3fa7f9['UjeKh'](join,_0x1acac4,_0x161cfb);return{'name':_0x161cfb,'path':_0x30943c};}if(!existsSync(_0x1acac4))throw new Error(_0x3fa7f9[_0x1b7b1e(0x1bb)](_0x1b7b1e(0x190),_0x3fa7f9[_0x1b7b1e(0x189)]));const _0x4e6226=await readdir(_0x1acac4,{'withFileTypes':!![]}),_0x24f2b9=_0x4e6226[_0x1b7b1e(0x1aa)](_0x273461=>_0x273461[_0x1b7b1e(0x19a)]())['map'](_0x4066d3=>_0x4066d3[_0x1b7b1e(0x1b7)]);if(_0x24f2b9[_0x1b7b1e(0x1c6)]===0x0)throw new Error(_0x3fa7f9[_0x1b7b1e(0x1ac)]+_0x3fa7f9['uBBuz']);if(_0x24f2b9[_0x1b7b1e(0x1c6)]===0x1){const _0xdf55f0=_0x24f2b9[0x0];return console[_0x1b7b1e(0x1b9)]('Auto-detected\x20CI\x20profile:\x20'+_0xdf55f0),{'name':_0xdf55f0,'path':join(_0x1acac4,_0xdf55f0)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x24f2b9[_0x1b7b1e(0x186)](',\x20')+_0x1b7b1e(0x18c));}async function installPluginNonInteractive(){const _0xb06307=_0x2fc0,_0x2ed843={'IStdp':_0xb06307(0x1b2),'YDHUZ':_0xb06307(0x19d),'bSODP':'✓\x20Marketplace\x20already\x20added','KtOvE':function(_0x251219,_0x497b22){return _0x251219(_0x497b22);},'EBHMp':_0xb06307(0x18d),'rBXhQ':_0xb06307(0x1a7),'gvCey':_0xb06307(0x1a6),'hyqSJ':_0xb06307(0x1a2),'PlsVm':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','KqRoS':function(_0x1ff206,_0x1483a1){return _0x1ff206(_0x1483a1);},'uENaD':'Failed\x20to\x20install\x20plugin:','fXmre':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','FZVjZ':_0xb06307(0x1c5)},_0x5a1147=await isPluginInstalled(_0xb06307(0x1ad));if(_0x5a1147)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];console['log'](_0x2ed843[_0xb06307(0x19e)]);const _0x31a9d6=await isMarketplaceAdded(_0x2ed843['YDHUZ']);let _0x56c86b=_0x31a9d6;if(_0x31a9d6)console[_0xb06307(0x1b9)](_0x2ed843['bSODP']);else{const _0x1dff0e=await _0x2ed843[_0xb06307(0x1c4)](runClaudeCommand,[_0x2ed843['EBHMp'],_0x2ed843['rBXhQ'],_0x2ed843['gvCey'],_0x2ed843[_0xb06307(0x17f)]]);!_0x1dff0e[_0xb06307(0x182)]?(console[_0xb06307(0x183)](_0xb06307(0x1ab),_0x1dff0e['error']),console['log'](_0x2ed843[_0xb06307(0x19b)])):_0x56c86b=!![];}if(_0x56c86b){const _0x1a2b01=await _0x2ed843['KqRoS'](runClaudeCommand,['plugin','install',_0xb06307(0x1ad),_0xb06307(0x195),'project']);!_0x1a2b01['success']?(console[_0xb06307(0x183)](_0x2ed843[_0xb06307(0x198)],_0x1a2b01[_0xb06307(0x183)]),console['log'](_0x2ed843[_0xb06307(0x1b4)])):console[_0xb06307(0x1b9)](_0x2ed843['FZVjZ']);}return!![];}export async function setupCi(_0x2e52af,_0x24fa40,_0x42cddf){const _0x4acda2=_0x2fc0,_0x59fdc2={'lXyiC':'auth','acBDj':function(_0x59d674,_0x10c71b){return _0x59d674(_0x10c71b);},'owOIp':function(_0x55354b){return _0x55354b();},'ZuLpl':function(_0x8a915f,_0x4ebe16,_0x2ac167){return _0x8a915f(_0x4ebe16,_0x2ac167);},'DoGqR':'dir_setup','ohnoi':'chromium','IPauT':_0x4acda2(0x185),'Achtm':'profile_activate','AnAKf':function(_0x23bb83,_0x32cd32){return _0x23bb83(_0x32cd32);},'DfWVv':function(_0x1f089d,_0x5731c2){return _0x1f089d(_0x5731c2);},'bgqhu':'auth.json','bMBNS':_0x4acda2(0x181),'uQiwC':function(_0x3784d9,_0x1a2ac3){return _0x3784d9(_0x1a2ac3);},'QybPL':_0x4acda2(0x196),'fQrZX':'✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','OaWaF':function(_0x7b3045,_0x4fa5b0){return _0x7b3045 instanceof _0x4fa5b0;},'qpIIM':function(_0x41e2b3,_0x482b79){return _0x41e2b3(_0x482b79);},'YPaNB':'plugin','BXdem':'skills','fAcaL':'project','iGJWs':_0x4acda2(0x194)};console[_0x4acda2(0x1b9)](_0x4acda2(0x1b1)),_0x42cddf?.['trackPhaseStart'](_0x59fdc2['lXyiC']),await _0x59fdc2['acBDj'](authenticate,_0x2e52af),_0x42cddf?.[_0x4acda2(0x199)](_0x59fdc2[_0x4acda2(0x18b)]),_0x42cddf?.[_0x4acda2(0x1c1)]('dir_setup');const {path:_0x1c7d5a,installed:_0x4728a6}=await _0x59fdc2[_0x4acda2(0x1c0)](ensureRangerDir);await writeRangerGitignore(_0x1c7d5a);const _0x4ff365=_0x59fdc2[_0x4acda2(0x187)](join,_0x1c7d5a,_0x4acda2(0x1b6));!existsSync(_0x4ff365)&&await mkdir(_0x4ff365,{'recursive':!![]});_0x42cddf?.[_0x4acda2(0x199)](_0x59fdc2[_0x4acda2(0x17d)],{'installed':_0x4728a6}),_0x42cddf?.[_0x4acda2(0x1c1)](_0x59fdc2[_0x4acda2(0x1a8)]);let _0x6c23e6=![];_0x24fa40?.[_0x4acda2(0x193)]?console[_0x4acda2(0x1b9)](_0x59fdc2[_0x4acda2(0x1b0)]):_0x6c23e6=await ensureChromium();_0x42cddf?.[_0x4acda2(0x199)](_0x59fdc2['ohnoi'],{'installed':_0x6c23e6,'skipped':!!_0x24fa40?.['skipChromium']}),_0x42cddf?.['trackPhaseStart'](_0x59fdc2[_0x4acda2(0x1bd)]);const _0x2abb8e=await _0x59fdc2[_0x4acda2(0x1a1)](findCiProfile,_0x24fa40?.[_0x4acda2(0x191)]);let _0x306df7=![];_0x24fa40?.['baseUrl']&&(await mkdir(_0x2abb8e[_0x4acda2(0x1c2)],{'recursive':!![]}),await saveSettings(_0x2abb8e[_0x4acda2(0x1b7)],{'baseUrl':_0x24fa40['baseUrl'],'headless':!![]}),console[_0x4acda2(0x1b9)](_0x4acda2(0x1a0)+_0x24fa40[_0x4acda2(0x17e)]),_0x306df7=!![]);const _0x237862=join(_0x2abb8e[_0x4acda2(0x1c2)],'settings.json');if(!_0x59fdc2['DfWVv'](existsSync,_0x237862)&&!_0x306df7)throw new Error(_0x4acda2(0x197)+_0x2abb8e[_0x4acda2(0x1b7)]+_0x4acda2(0x1b8));const _0x2f7207=join(_0x2abb8e['path'],_0x59fdc2['bgqhu']),_0x5cce76=join(_0x2abb8e[_0x4acda2(0x1c2)],_0x59fdc2[_0x4acda2(0x188)]),_0x5df79b=_0x59fdc2['uQiwC'](existsSync,_0x2f7207),_0x13df63=_0x59fdc2['AnAKf'](existsSync,_0x5cce76);if(_0x13df63)try{const _0x570a8c=await getToken();if(!_0x570a8c)throw new Error(_0x59fdc2[_0x4acda2(0x18a)]);const _0x18dc6a=await readFile(_0x5cce76);_0x59fdc2['ZuLpl'](decrypt,_0x18dc6a,_0x570a8c),console['log'](_0x59fdc2['fQrZX']);}catch(_0x3305fc){const _0x5af0b5=_0x59fdc2['OaWaF'](_0x3305fc,Error)?_0x3305fc['message']:String(_0x3305fc);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x2abb8e['name']+_0x4acda2(0x192)+_0x5af0b5);}else _0x5df79b?console['log']('✓\x20Auth\x20state\x20found'):console['log'](_0x4acda2(0x184));await _0x59fdc2[_0x4acda2(0x1a3)](writeActiveProfileName,_0x2abb8e[_0x4acda2(0x1b7)]),console[_0x4acda2(0x1b9)]('✓\x20Active\x20profile:\x20'+_0x2abb8e[_0x4acda2(0x1b7)]),_0x42cddf?.['trackPhaseEnd'](_0x4acda2(0x1bf),{'profileName':_0x2abb8e['name'],'hasAuth':_0x5df79b,'hasEncryptedAuth':_0x13df63,'createdSettings':_0x306df7}),_0x42cddf?.['trackPhaseStart'](_0x59fdc2['YPaNB']);const _0x41d783=await installPluginNonInteractive();_0x42cddf?.['trackPhaseEnd'](_0x59fdc2[_0x4acda2(0x19c)],{'installed':_0x41d783}),_0x42cddf?.['trackPhaseStart'](_0x59fdc2['BXdem']),await _0x59fdc2[_0x4acda2(0x1a5)](skillup,{'autoInstall':_0x59fdc2['fAcaL']}),_0x42cddf?.['trackPhaseEnd']('skills'),console[_0x4acda2(0x1b9)](_0x59fdc2[_0x4acda2(0x1b5)]);}
|
|
1
|
+
(function(_0xe5d66d,_0x1838f1){const _0x121cac=_0x4834,_0x7f65c3=_0xe5d66d();while(!![]){try{const _0x44a41e=parseInt(_0x121cac(0x106))/0x1*(-parseInt(_0x121cac(0x12b))/0x2)+-parseInt(_0x121cac(0xed))/0x3*(parseInt(_0x121cac(0x10c))/0x4)+parseInt(_0x121cac(0x119))/0x5*(parseInt(_0x121cac(0x126))/0x6)+-parseInt(_0x121cac(0x10f))/0x7*(-parseInt(_0x121cac(0x124))/0x8)+parseInt(_0x121cac(0x109))/0x9+-parseInt(_0x121cac(0xff))/0xa*(parseInt(_0x121cac(0xf6))/0xb)+parseInt(_0x121cac(0x111))/0xc*(parseInt(_0x121cac(0x10b))/0xd);if(_0x44a41e===_0x1838f1)break;else _0x7f65c3['push'](_0x7f65c3['shift']());}catch(_0x45f05a){_0x7f65c3['push'](_0x7f65c3['shift']());}}}(_0x2a09,0xc3eae));function _0x2a09(){const _0x2473ed=['join','success','chromium','36856IjGRIo','name','2219028OFjQdH','byXSk','BuQTG','auth.json','trackPhaseStart','2mCXVdA','iJjMj','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','3gmopIS','project','wKKDi','oJYjw','auth','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','log','sessions','add','12050984wltqlK','baseUrl','WKIJb','Multiple\x20CI\x20profiles\x20found:\x20','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','trailhead','settings.json','message','Auto-detected\x20CI\x20profile:\x20','10tVOOgU','IRotv','plugin','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','profile_activate','Grwml','89402ZEEGKt','skills','dir_setup','10402767PCsAWE','OKwSv','22416446TLQvlR','6174584bVMJMC','HZFUd','trackPhaseEnd','427lDNGJC','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','12rvQrML','cOSDm','PGqHE','skipChromium','✓\x20Active\x20profile:\x20','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','✓\x20Marketplace\x20already\x20added','isDirectory','5GtXkdl','length','path','TQQvm','error','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','YMUhQ','uwirc'];_0x2a09=function(){return _0x2473ed;};return _0x2a09();}import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x4fe280){const _0x219613=_0x4834,_0x3b539f={'rdqou':function(_0x41e7b9){return _0x41e7b9();},'uwirc':function(_0x3cedd4,_0x1181ca,_0x5b1cd0){return _0x3cedd4(_0x1181ca,_0x5b1cd0);},'iJjMj':function(_0x9d4b3d,_0x12f5d9){return _0x9d4b3d(_0x12f5d9);},'sUuea':_0x219613(0x116),'TozBt':function(_0x1cb543,_0x2eb37e){return _0x1cb543+_0x2eb37e;},'JwOrI':_0x219613(0xf2)},_0x441ddb=_0x3b539f['rdqou'](getRangerDir),_0x2807ef=join(_0x441ddb,'ci');if(_0x4fe280){const _0x121516=_0x3b539f[_0x219613(0x120)](join,_0x2807ef,_0x4fe280);return{'name':_0x4fe280,'path':_0x121516};}if(!_0x3b539f[_0x219613(0xeb)](existsSync,_0x2807ef))throw new Error('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+_0x3b539f['sUuea']);const _0x3118a2=await readdir(_0x2807ef,{'withFileTypes':!![]}),_0x1c73a0=_0x3118a2['filter'](_0x1edecc=>_0x1edecc[_0x219613(0x118)]())['map'](_0x11a535=>_0x11a535[_0x219613(0x125)]);if(_0x1c73a0[_0x219613(0x11a)]===0x0)throw new Error(_0x3b539f['TozBt'](_0x3b539f['JwOrI'],'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));if(_0x1c73a0['length']===0x1){const _0x4947d9=_0x1c73a0[0x0];return console[_0x219613(0xf3)](_0x219613(0xfe)+_0x4947d9),{'name':_0x4947d9,'path':join(_0x2807ef,_0x4947d9)};}throw new Error(_0x219613(0xf9)+_0x1c73a0[_0x219613(0x121)](',\x20')+_0x219613(0x103));}async function installPluginNonInteractive(){const _0x228e94=_0x4834,_0x29a2c8={'oRYjf':function(_0x8e2da2,_0x29daec){return _0x8e2da2(_0x29daec);},'YVbfq':'ranger@trailhead','BuQTG':function(_0x4feb70,_0x330b60){return _0x4feb70(_0x330b60);},'gFFrB':'marketplace','WKIJb':_0x228e94(0xf5),'cOSDm':'Failed\x20to\x20add\x20marketplace:','byXSk':_0x228e94(0x11e),'wKKDi':_0x228e94(0x101)},_0x585bfd=await _0x29a2c8['oRYjf'](isPluginInstalled,_0x29a2c8['YVbfq']);if(_0x585bfd)return console[_0x228e94(0xf3)](_0x228e94(0x102)),![];console['log'](_0x228e94(0x110));const _0x19f5f6=await _0x29a2c8[_0x228e94(0x128)](isMarketplaceAdded,_0x228e94(0xfb));let _0x49e5e9=_0x19f5f6;if(_0x19f5f6)console[_0x228e94(0xf3)](_0x228e94(0x117));else{const _0x64208d=await runClaudeCommand([_0x228e94(0x101),_0x29a2c8['gFFrB'],_0x29a2c8[_0x228e94(0xf8)],'ranger-testing/trailhead']);!_0x64208d[_0x228e94(0x122)]?(console['error'](_0x29a2c8[_0x228e94(0x112)],_0x64208d['error']),console[_0x228e94(0xf3)](_0x29a2c8[_0x228e94(0x127)])):_0x49e5e9=!![];}if(_0x49e5e9){const _0x3ac7fc=await _0x29a2c8['BuQTG'](runClaudeCommand,[_0x29a2c8[_0x228e94(0xef)],'install',_0x29a2c8['YVbfq'],'--scope',_0x228e94(0xee)]);!_0x3ac7fc['success']?(console[_0x228e94(0x11d)]('Failed\x20to\x20install\x20plugin:',_0x3ac7fc['error']),console['log']('You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project')):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}function _0x4834(_0x3499d9,_0x13d30d){_0x3499d9=_0x3499d9-0xeb;const _0x2a0902=_0x2a09();let _0x4834c9=_0x2a0902[_0x3499d9];return _0x4834c9;}export async function setupCi(_0x4345bc,_0x26dbc2,_0x570bf4){const _0x406c91=_0x4834,_0x20deea={'HZFUd':_0x406c91(0xf1),'eJJDC':function(_0x7a6a6d){return _0x7a6a6d();},'oJYjw':function(_0x1c5058,_0x2e5486,_0x4c304c){return _0x1c5058(_0x2e5486,_0x4c304c);},'Grwml':_0x406c91(0xf4),'lDsAl':_0x406c91(0x108),'OKwSv':_0x406c91(0x104),'cqhRE':function(_0x192414,_0x393923){return _0x192414(_0x393923);},'TQQvm':function(_0x175579,_0x59d2d5,_0x17d08e){return _0x175579(_0x59d2d5,_0x17d08e);},'YMUhQ':function(_0x57c3ad,_0x39b292,_0x45dcea){return _0x57c3ad(_0x39b292,_0x45dcea);},'UNGAQ':_0x406c91(0xfc),'PGqHE':function(_0x479546,_0x45f2ad){return _0x479546(_0x45f2ad);},'HLVXL':_0x406c91(0xec),'IRotv':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','kfesn':'skills'};console['log']('\x0a🔧\x20Ranger\x20CI\x20Setup\x0a'),_0x570bf4?.['trackPhaseStart']('auth'),await authenticate(_0x4345bc),_0x570bf4?.['trackPhaseEnd'](_0x20deea[_0x406c91(0x10d)]),_0x570bf4?.['trackPhaseStart']('dir_setup');const {path:_0x55e4f3,installed:_0x28496d}=await _0x20deea['eJJDC'](ensureRangerDir);await writeRangerGitignore(_0x55e4f3);const _0x1cf640=_0x20deea[_0x406c91(0xf0)](join,_0x55e4f3,_0x20deea[_0x406c91(0x105)]);!existsSync(_0x1cf640)&&await mkdir(_0x1cf640,{'recursive':!![]});_0x570bf4?.['trackPhaseEnd'](_0x20deea['lDsAl'],{'installed':_0x28496d}),_0x570bf4?.['trackPhaseStart'](_0x406c91(0x123));let _0x5064be=![];_0x26dbc2?.[_0x406c91(0x114)]?console[_0x406c91(0xf3)]('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0x5064be=await ensureChromium();_0x570bf4?.['trackPhaseEnd']('chromium',{'installed':_0x5064be,'skipped':!!_0x26dbc2?.[_0x406c91(0x114)]}),_0x570bf4?.[_0x406c91(0x12a)](_0x20deea['OKwSv']);const _0x58bcc3=await _0x20deea['cqhRE'](findCiProfile,_0x26dbc2?.['profile']);let _0x1a6dfd=![];_0x26dbc2?.[_0x406c91(0xf7)]&&(await _0x20deea[_0x406c91(0x11c)](mkdir,_0x58bcc3['path'],{'recursive':!![]}),await _0x20deea[_0x406c91(0x11f)](saveSettings,_0x58bcc3['name'],{'baseUrl':_0x26dbc2[_0x406c91(0xf7)],'headless':!![]}),console['log']('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x26dbc2['baseUrl']),_0x1a6dfd=!![]);const _0x557ae8=join(_0x58bcc3[_0x406c91(0x11b)],_0x20deea['UNGAQ']);if(!existsSync(_0x557ae8)&&!_0x1a6dfd)throw new Error('CI\x20profile\x20\x22'+_0x58bcc3[_0x406c91(0x125)]+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x6440cb=_0x20deea['TQQvm'](join,_0x58bcc3['path'],_0x406c91(0x129)),_0x19d469=_0x20deea[_0x406c91(0x11f)](join,_0x58bcc3['path'],'auth.json.enc'),_0x189214=existsSync(_0x6440cb),_0x4d957f=_0x20deea[_0x406c91(0x113)](existsSync,_0x19d469);if(_0x4d957f)try{const _0x3ec87e=await getToken();if(!_0x3ec87e)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x411c7a=await readFile(_0x19d469);decrypt(_0x411c7a,_0x3ec87e),console['log'](_0x20deea['HLVXL']);}catch(_0x17e107){const _0x4de6f1=_0x17e107 instanceof Error?_0x17e107[_0x406c91(0xfd)]:String(_0x17e107);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x58bcc3[_0x406c91(0x125)]+'\x22:\x20'+_0x4de6f1);}else _0x189214?console['log']('✓\x20Auth\x20state\x20found'):console[_0x406c91(0xf3)](_0x20deea[_0x406c91(0x100)]);await writeActiveProfileName(_0x58bcc3['name']),console['log'](_0x406c91(0x115)+_0x58bcc3[_0x406c91(0x125)]),_0x570bf4?.['trackPhaseEnd'](_0x20deea[_0x406c91(0x10a)],{'profileName':_0x58bcc3['name'],'hasAuth':_0x189214,'hasEncryptedAuth':_0x4d957f,'createdSettings':_0x1a6dfd}),_0x570bf4?.['trackPhaseStart'](_0x406c91(0x101));const _0x2ccbfc=await installPluginNonInteractive();_0x570bf4?.[_0x406c91(0x10e)](_0x406c91(0x101),{'installed':_0x2ccbfc}),_0x570bf4?.['trackPhaseStart'](_0x20deea['kfesn']),await skillup({'autoInstall':'project'}),_0x570bf4?.[_0x406c91(0x10e)](_0x406c91(0x107)),console[_0x406c91(0xf3)](_0x406c91(0xfa));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x13039d,_0x41ca16){const _0x31102e=_0x22dd,_0x31ce93=_0x13039d();while(!![]){try{const _0x3a07ab=parseInt(_0x31102e(0x98))/0x1*(-parseInt(_0x31102e(0xaf))/0x2)+-parseInt(_0x31102e(0xba))/0x3*(parseInt(_0x31102e(0x96))/0x4)+-parseInt(_0x31102e(0xa2))/0x5+-parseInt(_0x31102e(0x9e))/0x6+-parseInt(_0x31102e(0xa4))/0x7*(parseInt(_0x31102e(0x90))/0x8)+-parseInt(_0x31102e(0xb2))/0x9*(-parseInt(_0x31102e(0x99))/0xa)+parseInt(_0x31102e(0x9d))/0xb;if(_0x3a07ab===_0x41ca16)break;else _0x31ce93['push'](_0x31ce93['shift']());}catch(_0x42e93e){_0x31ce93['push'](_0x31ce93['shift']());}}}(_0x435b,0x2fd70));import{basename}from'path';import _0x298ec3 from'inquirer';function _0x22dd(_0x59b6f4,_0x3ffd59){_0x59b6f4=_0x59b6f4-0x8f;const _0x435bcf=_0x435b();let _0x22dd89=_0x435bcf[_0x59b6f4];return _0x22dd89;}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';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';function _0x435b(){const _0xfca628=['/skills/','30HKBRRE','To\x20get\x20started:','ranger','\x0a📦\x20Installing\x20skills...\x0a','YUiWw','15448GZBcsR','autoInstall','user','message','log','prompt','64228mMecEA','atfTz','11655hkWoHI','1565110zgLSXL','\x20successfully!\x0a','FHMuy','/.claude/skills/','6199908pSPJAo','310398PszpDy','This\x20project\x20only\x20(','\x20--opencode','nbTAm','67185yuDlPU','RPwCO','931sIQiBe','\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','list','\x0a✅\x20Installed\x20','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','isTTY','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','opencode','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','\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!','stdout','34uwWNhN','vlITa','suppressUsage','18NQvNCU','fJqDS','AGpgu','uGpWt','\x20\x203.\x20Run:\x20ranger\x20skillup','installLevel','XSCfF'];_0x435b=function(){return _0xfca628;};return _0x435b();}export async function skillup(_0x2b5ce6={}){const _0x434504=_0x22dd,_0x331216={'FHMuy':_0x434504(0xaa),'nbTAm':'claude','YUiWw':function(_0x432598){return _0x432598();},'thkaI':'❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','RUzCF':_0x434504(0xbb),'fJqDS':function(_0x45913a,_0x207ef4){return _0x45913a===_0x207ef4;},'uGpWt':_0x434504(0xab),'qEzbK':_0x434504(0xa0),'vlITa':function(_0x4a82b3,_0x488fb3){return _0x4a82b3(_0x488fb3);},'XSCfF':function(_0x13d0d2,_0x2a0523){return _0x13d0d2===_0x2a0523;},'RjyXr':_0x434504(0xa6),'uWTpW':'Where\x20should\x20skills\x20be\x20installed?','RPwCO':'project','FifFF':function(_0x577853,_0x5f4f09,_0x140d92){return _0x577853(_0x5f4f09,_0x140d92);},'svsAK':_0x434504(0xbc),'arTsG':_0x434504(0xa5),'mARVH':function(_0xdfb4b1,_0x2296e9){return _0xdfb4b1>_0x2296e9;},'ooUKz':'project-level','AGpgu':function(_0x38efb8,_0x390fbf){return _0x38efb8>_0x390fbf;},'oQTcy':'To\x20use:','tidir':_0x434504(0xa8),'itchb':_0x434504(0xad),'atfTz':'\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a'};console[_0x434504(0x94)](_0x331216[_0x434504(0x9b)]);const _0x30ea44=_0x2b5ce6['platform']??_0x331216[_0x434504(0xa1)],_0x5557b1=await _0x331216[_0x434504(0x8f)](getToken);if(!_0x5557b1){console['log'](_0x331216['thkaI']),console[_0x434504(0x94)](_0x331216['RUzCF']),console['log'](_0x434504(0xac)),console[_0x434504(0x94)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x331216[_0x434504(0xb3)](_0x30ea44,_0x331216['uGpWt'])?_0x331216['qEzbK']:'')+'\x20<your-api-token>'),console[_0x434504(0x94)](_0x434504(0xb6)+(_0x30ea44==='opencode'?'\x20--opencode':'')+'\x0a');return;}console[_0x434504(0x94)]('✓\x20Found\x20API\x20token');const _0x3e3132=getProjectRoot(),_0x212774=_0x331216[_0x434504(0xb0)](basename,_0x3e3132),_0x2a69e8=_0x30ea44===_0x331216[_0x434504(0xb5)]?getOpencodeConfigDir('user')+_0x434504(0xb9):getClaudeConfigDir()+_0x434504(0xb9),_0xda07e4=_0x331216[_0x434504(0xb8)](_0x30ea44,'opencode')?_0x3e3132+'/.opencode/skills/':_0x3e3132+_0x434504(0x9c),_0x1eb9f4=process['stdin']['isTTY']&&process[_0x434504(0xae)][_0x434504(0xa9)];let _0x19e349;if(_0x2b5ce6[_0x434504(0x91)])_0x19e349=_0x2b5ce6['autoInstall'];else{if(_0x1eb9f4){const _0x5c39e1=await _0x298ec3[_0x434504(0x95)]([{'type':_0x331216['RjyXr'],'name':'installLevel','message':_0x331216['uWTpW'],'choices':[{'name':'All\x20projects\x20('+_0x2a69e8+')','value':_0x434504(0x92)},{'name':_0x434504(0x9f)+_0xda07e4+')','value':_0x331216['RPwCO']}]}]);_0x19e349=_0x5c39e1[_0x434504(0xb7)];}else _0x19e349=_0x331216[_0x434504(0xa3)],console['log']('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0xda07e4+')');}let _0x22908a=0x0;const _0x561d06=_0x331216['YUiWw'](getCurrentVersion);console['log'](_0x434504(0xbd));try{const _0x46a74b=await _0x331216['FifFF'](installSkill,_0x331216['svsAK'],{'cliVersion':_0x561d06,'level':_0x19e349,'platform':_0x30ea44});_0x46a74b&&_0x22908a++;}catch(_0xcf4b0b){console['warn'](_0x331216['arTsG'],_0xcf4b0b instanceof Error?_0xcf4b0b[_0x434504(0x93)]:_0xcf4b0b);}if(_0x331216['mARVH'](_0x22908a,0x0)){const _0x48fcf5=_0x19e349==='user'?'user-level':_0x331216['ooUKz'];console[_0x434504(0x94)](_0x434504(0xa7)+_0x22908a+'\x20'+_0x48fcf5+'\x20skill'+(_0x331216[_0x434504(0xb4)](_0x22908a,0x1)?'s':'')+_0x434504(0x9a)),!_0x2b5ce6[_0x434504(0xb1)]&&(console['log'](_0x331216['oQTcy']),_0x30ea44==='opencode'?console[_0x434504(0x94)](_0x331216['tidir']):console['log'](_0x331216['itchb']));}else console['log'](_0x331216[_0x434504(0x97)]);}
|
package/build/commands/start.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2c110f=_0x52cf;(function(_0x4c3f9e,_0x16cdf1){const _0x4b4532=_0x52cf,_0x1c3d9a=_0x4c3f9e();while(!![]){try{const _0x4f750a=parseInt(_0x4b4532(0x122))/0x1+parseInt(_0x4b4532(0x150))/0x2*(parseInt(_0x4b4532(0x128))/0x3)+-parseInt(_0x4b4532(0x123))/0x4*(parseInt(_0x4b4532(0xf5))/0x5)+-parseInt(_0x4b4532(0xe8))/0x6*(-parseInt(_0x4b4532(0x139))/0x7)+parseInt(_0x4b4532(0x105))/0x8+-parseInt(_0x4b4532(0x11b))/0x9+parseInt(_0x4b4532(0x153))/0xa;if(_0x4f750a===_0x16cdf1)break;else _0x1c3d9a['push'](_0x1c3d9a['shift']());}catch(_0x45516f){_0x1c3d9a['push'](_0x1c3d9a['shift']());}}}(_0x34e2,0xeaa6a));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x2244d8 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';function _0x52cf(_0x462661,_0x4aa2f4){_0x462661=_0x462661-0xe2;const _0x34e2f3=_0x34e2();let _0x52cf9b=_0x34e2f3[_0x462661];return _0x52cf9b;}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';function _0x34e2(){const _0x1d02d9=['bQWCj','zurIl','mwXpQ','✓\x20Created\x20.ranger/\x20directory','63695WmEeOD','log','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','.ranger','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','.gitignore','VIgXA','✓\x20Authenticated\x20to\x20','tqNIr','iYVAz','ranger\x20profile\x20add\x20local','skills','profile','aZHJj','gGLtp','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','10687952eIrKhL','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','prompt','✓\x20Exported\x20credentials\x20for\x20CI','Vbqyx','zhjes','organizationName','GygTu','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','fDiKC','wxzSb','stdin','error','resolve','No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','Installation\x20failed\x20with\x20exit\x20code\x20','device_auth','close','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','atWSS','skipped','ranger','10574415WVGnIi','RhEHk','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','playwright/package.json','playwright@','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','462012raiweV','404fROaLC','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','CjKSa','method','tpVIn','3LMrUpw','ffOdS','dEgDD','chromium','git_check','\x20\x20npx\x20playwright@','No\x20git\x20repository\x20found','use\x20until\x20the\x20session\x20expires.\x0a','provided_token','local','✓\x20Already\x20authenticated\x20to\x20','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','✓\x20Playwright\x20Chromium\x20browser\x20found','hdmBZ','\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','\x1b[1m','to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','224eZZZgW','oGtVx','trackPhaseEnd','success','\x0a⚠\x20Skipping\x20Chromium\x20installation.','force','jVpVu','plugin','rHnWi','✓\x20.ranger/\x20directory\x20already\x20exists','user','FNNez','npx','YzLjZ','stdout','...','OACrW','LEjif','ready','/ranger:enable','IoGJo','wantsProfile','The\x20required\x20version\x20(','1159426sKqCyc','KRUCV','auth','8144570JHJmvD','opencode','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','allowInsecureLocalhost','wKHcO','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','\x20install\x20chromium','evDHB','\x20and\x20prompt\x20the\x20coding','✓\x20Created\x20.ranger/.gitignore','GITHUB_ENV','trackPhaseStart','KzmXZ','XvMWD','xPFUJ','version','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a','43224CyUYvB','eyhtK','message','url','isTTY','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','confirm','\x20now?','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'];_0x34e2=function(){return _0x1d02d9;};return _0x34e2();}import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2',bold=_0x719f66=>_0x2c110f(0x137)+_0x719f66+'\x1b[0m';function getPlaywrightVersion(){const _0x1e6504=_0x2c110f,_0x693a7a={'MlBtp':_0x1e6504(0x11e),'Vbqyx':function(_0x51d801,_0x5ddf5c){return _0x51d801(_0x5ddf5c);}};try{const _0x5bb253=require[_0x1e6504(0x112)](_0x693a7a['MlBtp']),_0x340855=_0x693a7a[_0x1e6504(0x109)](require,_0x5bb253);return _0x340855[_0x1e6504(0xe5)];}catch{return null;}}function installChromiumBinary(_0x3baccc){const _0x242638=_0x2c110f,_0x30d902={'atWSS':function(_0x19367f,_0x53f34e){return _0x19367f===_0x53f34e;},'oGtVx':function(_0x57c718,_0x2f8a61){return _0x57c718(_0x2f8a61);},'iYVAz':'install','KzmXZ':_0x242638(0x12b),'BAYiu':_0x242638(0x145),'hwJbt':'inherit','eyhtK':'win32','GygTu':'error'};return new Promise((_0xdd6b0a,_0x5d165f)=>{const _0x53d927=_0x242638,_0x1e2fc3=[_0x53d927(0x11f)+_0x3baccc,_0x30d902[_0x53d927(0xfe)],_0x30d902[_0x53d927(0xe2)]],_0x16d8d7=spawn(_0x30d902['BAYiu'],_0x1e2fc3,{'stdio':_0x30d902['hwJbt'],'shell':process['platform']===_0x30d902[_0x53d927(0xe9)]});_0x16d8d7['on'](_0x53d927(0x116),_0x75924a=>{const _0x146472=_0x53d927;_0x30d902[_0x146472(0x118)](_0x75924a,0x0)?_0xdd6b0a():_0x30d902[_0x146472(0x13a)](_0x5d165f,new Error(_0x146472(0x114)+_0x75924a));}),_0x16d8d7['on'](_0x30d902[_0x53d927(0x10c)],_0x483344=>{_0x5d165f(_0x483344);});});}export async function authenticate(_0x44a44e){const _0x1ebafb=_0x2c110f,_0x4ad15e={'tpVIn':function(_0x3ad81f){return _0x3ad81f();},'LEjif':function(_0x3e7f7b,_0x4a2528){return _0x3e7f7b(_0x4a2528);},'hdmBZ':function(_0x361f81){return _0x361f81();},'wKHcO':function(_0x24e268,_0x430703){return _0x24e268 instanceof _0x430703;},'zhjes':function(_0x118088,_0x38fbf2){return _0x118088(_0x38fbf2);},'tqNIr':function(_0x592922,_0x5309be){return _0x592922(_0x5309be);},'wxzSb':_0x1ebafb(0x108),'ffOdS':_0x1ebafb(0x130)};if(!_0x44a44e){const _0x1af419=await _0x4ad15e[_0x1ebafb(0x127)](getToken);if(_0x1af419){const _0x32e09c=await _0x4ad15e[_0x1ebafb(0x14a)](getCurrentUser,_0x1af419);if(_0x32e09c['success'])return console[_0x1ebafb(0xf6)](_0x1ebafb(0x132)+_0x32e09c[_0x1ebafb(0x143)][_0x1ebafb(0x10b)]),{'token':_0x1af419,'method':'existing_token'};}try{_0x44a44e=await _0x4ad15e[_0x1ebafb(0x135)](runDeviceAuthFlow);}catch(_0x1e3ce3){throw new Error('Authentication\x20failed:\x20'+(_0x4ad15e[_0x1ebafb(0x157)](_0x1e3ce3,Error)?_0x1e3ce3[_0x1ebafb(0xea)]:_0x1e3ce3));}const _0x487936=await _0x4ad15e[_0x1ebafb(0x10a)](getCurrentUser,_0x44a44e);if(!_0x487936[_0x1ebafb(0x13c)])throw new Error(_0x1ebafb(0xe6)+_0x487936['error']);return console[_0x1ebafb(0xf6)]('✓\x20Authenticated\x20to\x20'+_0x487936['user'][_0x1ebafb(0x10b)]),{'token':_0x44a44e,'method':_0x1ebafb(0x115)};}console[_0x1ebafb(0xf6)]('Validating\x20API\x20token...');const _0x5974d7=await _0x4ad15e[_0x1ebafb(0xfd)](getCurrentUser,_0x44a44e);if(!_0x5974d7[_0x1ebafb(0x13c)]){if(_0x5974d7['status'])throw new Error('Authentication\x20failed:\x20'+_0x5974d7[_0x1ebafb(0x111)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x1ebafb(0xf0)+_0x5974d7['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x1ebafb(0xf6)](_0x1ebafb(0xfc)+_0x5974d7['user'][_0x1ebafb(0x10b)]),await storeToken(_0x44a44e),console[_0x1ebafb(0xf6)](process['env'][_0x1ebafb(0x15d)]?_0x4ad15e[_0x1ebafb(0x10f)]:'✓\x20Stored\x20credentials\x20locally'),{'token':_0x44a44e,'method':_0x4ad15e[_0x1ebafb(0x129)]};}export async function ensureRangerDir(){const _0x1b186a=_0x2c110f,_0x241b94={'OrerF':function(_0x35f189){return _0x35f189();},'zAzEz':function(_0x20a87b){return _0x20a87b();},'iAwiC':function(_0x17709e,_0x303156){return _0x17709e(_0x303156);},'bJTnY':function(_0x77305f,_0x36d392,_0x5417ef){return _0x77305f(_0x36d392,_0x5417ef);},'xPFUJ':_0x1b186a(0xf4),'fDiKC':_0x1b186a(0x142)},_0x25ad8d=_0x241b94['OrerF'](findGitRoot),_0x5cf9c7=_0x25ad8d?join(_0x25ad8d,_0x1b186a(0xf8)):_0x241b94['zAzEz'](getRangerDir);return!_0x241b94['iAwiC'](existsSync,_0x5cf9c7)?(await _0x241b94['bJTnY'](mkdir,_0x5cf9c7,{'recursive':!![]}),console[_0x1b186a(0xf6)](_0x241b94[_0x1b186a(0xe4)]),{'path':_0x5cf9c7,'installed':!![]}):(console[_0x1b186a(0xf6)](_0x241b94[_0x1b186a(0x10e)]),{'path':_0x5cf9c7,'installed':![]});}export async function ensureChromium(){const _0x450444=_0x2c110f,_0x5264e1={'jSwHa':function(_0x281c3f,_0x50c6ef){return _0x281c3f(_0x50c6ef);},'JlKaH':_0x450444(0x134),'PzZNm':function(_0x3760cd,_0x35210d){return _0x3760cd??_0x35210d;},'CkMOo':'confirm','VIgXA':'install','SxqVv':'\x20(fallback\x20version)','JOaKl':'\x0aInstalling\x20Chromium\x20browser...\x0a','RhEHk':function(_0x280d1f,_0x23654e){return _0x280d1f instanceof _0x23654e;},'rHnWi':_0x450444(0x117)};let _0xb15208=![];try{const _0x3660cf=chromium['executablePath']();_0xb15208=_0x5264e1['jSwHa'](existsSync,_0x3660cf);}catch{_0xb15208=![];}if(_0xb15208)return console['log'](_0x5264e1['JlKaH']),![];const _0x123186=getPlaywrightVersion(),_0x490b2f=_0x5264e1['PzZNm'](_0x123186,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x439f29=!_0x123186,_0x293228=process[_0x450444(0x110)]['isTTY']&&process['stdout'][_0x450444(0xec)];let _0x50a5b9=!![];if(_0x293228){const {install:_0x2c7cf4}=await _0x2244d8['prompt']([{'type':_0x5264e1['CkMOo'],'name':_0x5264e1[_0x450444(0xfb)],'message':_0x439f29?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x490b2f+_0x450444(0xef):_0x450444(0x14f)+_0x490b2f+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x50a5b9=_0x2c7cf4;}else console['log'](_0x450444(0x120)+_0x490b2f+(_0x439f29?_0x5264e1['SxqVv']:'')+_0x450444(0x148));if(_0x50a5b9){console['log'](_0x5264e1['JOaKl']);try{await _0x5264e1['jSwHa'](installChromiumBinary,_0x490b2f),console[_0x450444(0xf6)](_0x450444(0x136));}catch(_0x4c1e21){console[_0x450444(0x111)]('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x5264e1[_0x450444(0x11c)](_0x4c1e21,Error)?_0x4c1e21[_0x450444(0xea)]:_0x4c1e21),console['log']('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x450444(0xf6)]('\x20\x20npx\x20playwright@'+_0x490b2f+'\x20install\x20chromium');}}else console['log'](_0x450444(0x13d)),console[_0x450444(0xf6)](_0x5264e1[_0x450444(0x141)]),console['log'](_0x450444(0x12d)+_0x490b2f+_0x450444(0x159));return!![];}export async function writeRangerGitignore(_0x322313){const _0x50156f=_0x2c110f,_0x3f04b8={'YzLjZ':function(_0x378fff,_0x31caa9,_0x119558){return _0x378fff(_0x31caa9,_0x119558);},'dLNjl':function(_0x149953,_0x1bddcb,_0x39c217){return _0x149953(_0x1bddcb,_0x39c217);}},_0x3cdff6=_0x3f04b8[_0x50156f(0x146)](join,_0x322313,_0x50156f(0xfa)),_0xee6a65='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await _0x3f04b8['dLNjl'](writeFile,_0x3cdff6,_0xee6a65),console['log'](_0x50156f(0x15c));}function printProfileSetupLaterInstructions(){const _0x358627=_0x2c110f,_0x2c4916={'jVpVu':'\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:'};console[_0x358627(0xf6)](_0x2c4916[_0x358627(0x13f)]),console['log']('\x20\x20'+bold('ranger\x20profile\x20add\x20local')),console['log'](_0x358627(0xe7));}async function ensureLocalEnv(_0x2e5f97,_0x3f312a){const _0x2a604d=_0x2c110f,_0x4ca69f={'SaIjD':_0x2a604d(0x133),'HZBhj':'✓\x20Local\x20profile\x20already\x20exists','gGLtp':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','nhqom':_0x2a604d(0xee),'mwXpQ':_0x2a604d(0x14e),'ArlSZ':function(_0xcbacc9,_0x1972cc,_0x52dd2e,_0x4099c3){return _0xcbacc9(_0x1972cc,_0x52dd2e,_0x4099c3);},'PBNMw':_0x2a604d(0x131),'BtAxk':'\x0a❌\x20Profile\x20setup\x20failed:','UKeeU':function(_0x241251,_0x999f84){return _0x241251 instanceof _0x999f84;},'CQdqd':function(_0x287463){return _0x287463();}};if(!findGitRoot())return console[_0x2a604d(0xf6)](_0x4ca69f['SaIjD']),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x2a604d(0x131),{'locations':['local']}))return console['log'](_0x4ca69f['HZBhj']),{'ready':!![],'skipped':![]};const _0x41eab0=process[_0x2a604d(0x110)]['isTTY']&&process['stdout'][_0x2a604d(0xec)];if(_0x41eab0&&!_0x2e5f97?.['url']){console[_0x2a604d(0xf6)]('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console[_0x2a604d(0xf6)](_0x2a604d(0x138)),console['log'](_0x4ca69f[_0x2a604d(0x103)]),console[_0x2a604d(0xf6)](_0x2a604d(0x12f)),console[_0x2a604d(0xf6)]('You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.');const {wantsProfile:_0x14e776}=await _0x2244d8[_0x2a604d(0x107)]([{'type':_0x4ca69f['nhqom'],'name':_0x4ca69f[_0x2a604d(0xf3)],'message':_0x2a604d(0x106),'default':!![]}]);if(!_0x14e776)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await _0x4ca69f['ArlSZ'](addEnv,_0x4ca69f['PBNMw'],{'url':_0x2e5f97?.[_0x2a604d(0xeb)],'force':_0x2e5f97?.['force'],'allowInsecureLocalhost':_0x2e5f97?.[_0x2a604d(0x156)]},_0x3f312a),{'ready':!![],'skipped':![]};}catch(_0xc84e08){return console[_0x2a604d(0x111)](_0x4ca69f['BtAxk'],_0x4ca69f['UKeeU'](_0xc84e08,Error)?_0xc84e08['message']:_0xc84e08),_0x4ca69f['CQdqd'](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x198cde,_0x613ae,_0x1571ad){const _0x46e37f=_0x2c110f,_0x740dbe={'WCVje':'\x0a🚀\x20Ranger\x20Setup\x0a','OACrW':'git_check','XvMWD':function(_0x3cb209){return _0x3cb209();},'cxvAA':function(_0x422f2c,_0x4fed7a){return _0x422f2c(_0x4fed7a);},'bQWCj':'auth','IoGJo':function(_0x277127,_0x32769e){return _0x277127(_0x32769e);},'aZHJj':'chromium','zurIl':_0x46e37f(0x140),'CjKSa':'skills','pfAQW':function(_0x483be8,_0x12dcf2,_0x1b5bb2){return _0x483be8(_0x12dcf2,_0x1b5bb2);},'KRUCV':_0x46e37f(0x11a),'evDHB':function(_0x453c50,_0xb06949){return _0x453c50(_0xb06949);},'VJtxC':_0x46e37f(0x104),'dEgDD':_0x46e37f(0x121),'FNNez':function(_0x5c25eb,_0x2afe52){return _0x5c25eb+_0x2afe52;}};console['log'](_0x740dbe['WCVje']);const _0x58971d=process['stdin'][_0x46e37f(0xec)]&&process[_0x46e37f(0x147)][_0x46e37f(0xec)];!_0x58971d&&!_0x613ae?.['scope']&&(console[_0x46e37f(0xf6)](_0x46e37f(0x158)),_0x613ae={..._0x613ae,'scope':_0x46e37f(0x143)});_0x1571ad?.['trackPhaseStart'](_0x740dbe[_0x46e37f(0x149)]);if(!_0x740dbe[_0x46e37f(0xe3)](findGitRoot)){await _0x1571ad?.['trackPhaseError'](_0x740dbe[_0x46e37f(0x149)],new Error(_0x46e37f(0x12e)));throw new Error(_0x46e37f(0x113));}_0x1571ad?.['trackPhaseEnd'](_0x46e37f(0x12c));const _0x172e06=!_0x740dbe['cxvAA'](existsSync,getRangerDir()),{path:_0x22e19d}=await ensureRangerDir();_0x1571ad?.[_0x46e37f(0x15e)](_0x740dbe[_0x46e37f(0xf1)]);const _0xc56d64=await _0x740dbe['IoGJo'](authenticate,_0x198cde);_0x1571ad?.[_0x46e37f(0x13b)](_0x46e37f(0x152),{'isFirstRun':_0x172e06,'method':_0xc56d64[_0x46e37f(0x126)]}),_0x1571ad?.['trackPhaseStart'](_0x740dbe['aZHJj']);_0x613ae?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium();_0x1571ad?.[_0x46e37f(0x13b)](_0x740dbe[_0x46e37f(0x102)],{'isFirstRun':_0x172e06,'skipped':!!_0x613ae?.['skipChromium']}),await _0x740dbe[_0x46e37f(0x14d)](writeRangerGitignore,_0x22e19d),console[_0x46e37f(0xf6)](_0x46e37f(0xf7));const _0x2e47db=_0x613ae?.['scope'],_0x4bd025=_0x613ae?.[_0x46e37f(0x154)]??![];let _0x5353f7=null;_0x4bd025?(_0x1571ad?.[_0x46e37f(0x15e)](_0x740dbe[_0x46e37f(0xf2)]),_0x5353f7=await ensureOpencodePluginConfig(_0x2e47db),_0x1571ad?.[_0x46e37f(0x13b)](_0x740dbe[_0x46e37f(0xf2)],{'isFirstRun':_0x172e06,'opencode':!![]})):(_0x1571ad?.['trackPhaseStart']('plugin'),await ensureClaudePlugin(_0x2e47db),_0x1571ad?.[_0x46e37f(0x13b)](_0x740dbe[_0x46e37f(0xf2)],{'isFirstRun':_0x172e06}));if(_0x4bd025&&_0x5353f7){_0x1571ad?.['trackPhaseStart'](_0x740dbe[_0x46e37f(0x125)]);try{await _0x740dbe['pfAQW'](installSkill,_0x740dbe[_0x46e37f(0x151)],{'level':_0x5353f7['scope'],'cliVersion':getCurrentVersion(),'platform':'opencode'}),_0x1571ad?.[_0x46e37f(0x13b)](_0x46e37f(0x100),{'isFirstRun':_0x172e06,'opencode':!![]});}catch(_0x27dba2){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x27dba2 instanceof Error?_0x27dba2[_0x46e37f(0xea)]:_0x27dba2),_0x1571ad?.[_0x46e37f(0x13b)]('skills',{'isFirstRun':_0x172e06,'opencode':!![],'failed':!![]});}}else _0x1571ad?.[_0x46e37f(0x15e)]('skills'),await ensureClaudeSkills(_0x2e47db),_0x1571ad?.['trackPhaseEnd'](_0x740dbe[_0x46e37f(0x125)],{'isFirstRun':_0x172e06});if(!_0x58971d&&!_0x613ae?.[_0x46e37f(0xeb)])console[_0x46e37f(0xf6)](_0x46e37f(0xed)),console[_0x46e37f(0xf6)]('\x20\x20'+_0x740dbe[_0x46e37f(0x15a)](bold,_0x46e37f(0xff))+'\x0a');else{_0x1571ad?.[_0x46e37f(0x15e)](_0x46e37f(0x101));const _0x6157ef=await ensureLocalEnv({'url':_0x613ae?.[_0x46e37f(0xeb)],'force':_0x613ae?.[_0x46e37f(0x13e)],'allowInsecureLocalhost':_0x613ae?.[_0x46e37f(0x156)]},_0x1571ad);_0x1571ad?.['trackPhaseEnd']('profile',{'isFirstRun':_0x172e06,'profileReady':_0x6157ef[_0x46e37f(0x14b)],'userSkipped':_0x6157ef[_0x46e37f(0x119)]}),_0x6157ef['ready']&&console[_0x46e37f(0xf6)](_0x46e37f(0x10d));}if(_0x4bd025)console['log'](_0x46e37f(0x155)),console['log'](_0x740dbe['VJtxC']),console[_0x46e37f(0xf6)](_0x46e37f(0x11d)),console['log'](_0x740dbe[_0x46e37f(0x12a)]);else{const _0x273ac5=_0x740dbe['cxvAA'](bold,_0x46e37f(0x14c));console['log'](_0x740dbe[_0x46e37f(0x144)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x273ac5+_0x46e37f(0x15b),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with')+_0x46e37f(0xf9)+_0x46e37f(0x124));}}
|
|
1
|
+
(function(_0x46a26f,_0xa22e1){const _0x3d42b6=_0x4d63,_0x165284=_0x46a26f();while(!![]){try{const _0x16f69b=-parseInt(_0x3d42b6(0x16c))/0x1+parseInt(_0x3d42b6(0x189))/0x2+parseInt(_0x3d42b6(0x15f))/0x3*(parseInt(_0x3d42b6(0x162))/0x4)+-parseInt(_0x3d42b6(0x179))/0x5+-parseInt(_0x3d42b6(0x1a6))/0x6*(-parseInt(_0x3d42b6(0x170))/0x7)+-parseInt(_0x3d42b6(0x166))/0x8*(-parseInt(_0x3d42b6(0x1a5))/0x9)+parseInt(_0x3d42b6(0x150))/0xa;if(_0x16f69b===_0xa22e1)break;else _0x165284['push'](_0x165284['shift']());}catch(_0x3539e9){_0x165284['push'](_0x165284['shift']());}}}(_0x34cf,0x8bdb8));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x2ff730 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 _0x4d63(_0x3b2c23,_0x255782){_0x3b2c23=_0x3b2c23-0x13d;const _0x34cf12=_0x34cf();let _0x4d6304=_0x34cf12[_0x3b2c23];return _0x4d6304;}import{installSkill}from'./utils/skills.js';function _0x34cf(){const _0x2bf8b5=['nMyQk','env','trackPhaseStart','✓\x20.ranger/\x20directory\x20already\x20exists','ranger\x20profile\x20add\x20local','skills','You\x20can\x20install\x20it\x20manually\x20by\x20running:','1600110RPRArj','10884mivHWm','\x0a⚠\x20Skipping\x20Chromium\x20installation.','MJcyg','ranger','npx','LcLLl','papcv','method','allowInsecureLocalhost','skipped','Umkio','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','ZuXhV','and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','opencode','skipChromium','\x20install\x20chromium','scope','success','AWxZL','url','622180BZYSsS','git_check','ready','prompt','Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20','zQhtP','✓\x20Playwright\x20Chromium\x20browser\x20found','nJbLk','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','PPfKx','laLcY','install','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','hWFmE','organizationName','645618xVqAuO','uuLTn','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','8xdGIkW','inherit','YaiWF','kpMcy','16FEXmgW','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.','uHhLi','yNdto','JiJWa','23277hBaHYA','Authentication\x20failed:\x20','\x20now?','confirm','812rmFsmg','kSMxD','stdout','ZWoEH','yVBGg','close','Cccvw','WMEhz','aAVDl','3651180umULEE','yOtII','✓\x20Exported\x20credentials\x20for\x20CI','Installation\x20failed\x20with\x20exit\x20code\x20','log','ImhHm','win32','epEBF','vCVTl','local','trackPhaseEnd','isTTY','chromium','error','erBax','version','535470nNqOlL','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','Ziksu','hJrRS','ipPzm','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','Mtugv','/ranger:enable','\x20(fallback\x20version)','FqTwr','plugin','DCdVo','The\x20required\x20version\x20(','VhSnA','profile','stdin','device_auth','auth','message','ZrhGx','✓\x20Local\x20profile\x20already\x20exists'];_0x34cf=function(){return _0x2bf8b5;};return _0x34cf();}const require=createRequire(import.meta.url),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2',bold=_0x6db77=>'\x1b[1m'+_0x6db77+'\x1b[0m';function getPlaywrightVersion(){const _0x3e4e0a=_0x4d63,_0x3df0eb={'Ziksu':function(_0x5b0bd2,_0x5471f6){return _0x5b0bd2(_0x5471f6);}};try{const _0x84a50=require['resolve']('playwright/package.json'),_0x1988c2=_0x3df0eb[_0x3e4e0a(0x18b)](require,_0x84a50);return _0x1988c2[_0x3e4e0a(0x188)];}catch{return null;}}function installChromiumBinary(_0x2196e2){const _0x4d0f56=_0x4d63,_0x5793dc={'VhSnA':function(_0x56ef55,_0x6e3ea7){return _0x56ef55===_0x6e3ea7;},'kpMcy':function(_0x59aff1){return _0x59aff1();},'MIoDM':_0x4d0f56(0x15b),'WjZvs':_0x4d0f56(0x163),'uHhLi':_0x4d0f56(0x17f)};return new Promise((_0x1e3e23,_0x2eaf9b)=>{const _0x300896=_0x4d0f56,_0x3483c5=['playwright@'+_0x2196e2,_0x5793dc['MIoDM'],_0x300896(0x185)],_0x159f70=spawn(_0x300896(0x13f),_0x3483c5,{'stdio':_0x5793dc['WjZvs'],'shell':process['platform']===_0x5793dc[_0x300896(0x169)]});_0x159f70['on'](_0x300896(0x175),_0x294d36=>{const _0x107eaa=_0x300896;_0x5793dc[_0x107eaa(0x196)](_0x294d36,0x0)?_0x5793dc[_0x107eaa(0x165)](_0x1e3e23):_0x2eaf9b(new Error(_0x107eaa(0x17c)+_0x294d36));}),_0x159f70['on']('error',_0x3602cf=>{_0x2eaf9b(_0x3602cf);});});}export async function authenticate(_0x3a45b3){const _0x691194=_0x4d63,_0x38b1bd={'MJcyg':function(_0x3ff457){return _0x3ff457();},'CnaJi':function(_0x5b240e,_0x412aa9){return _0x5b240e(_0x412aa9);},'FOWFN':function(_0x4797b8,_0x3a0a20){return _0x4797b8 instanceof _0x3a0a20;},'vCVTl':function(_0x470ea7,_0x452bf4){return _0x470ea7(_0x452bf4);},'uuLTn':'Validating\x20API\x20token...','HgiEG':function(_0x10f9e4,_0x3f6432){return _0x10f9e4(_0x3f6432);},'yOtII':function(_0x157c77,_0x171eca){return _0x157c77(_0x171eca);},'yVBGg':'✓\x20Stored\x20credentials\x20locally','DCdVo':'provided_token'};if(!_0x3a45b3){const _0x3016df=await _0x38b1bd['MJcyg'](getToken);if(_0x3016df){const _0x197693=await _0x38b1bd['CnaJi'](getCurrentUser,_0x3016df);if(_0x197693[_0x691194(0x14d)])return console[_0x691194(0x17d)]('✓\x20Already\x20authenticated\x20to\x20'+_0x197693['user'][_0x691194(0x15e)]),{'token':_0x3016df,'method':'existing_token'};}try{_0x3a45b3=await _0x38b1bd[_0x691194(0x13d)](runDeviceAuthFlow);}catch(_0x5d513b){throw new Error(_0x691194(0x16d)+(_0x38b1bd['FOWFN'](_0x5d513b,Error)?_0x5d513b[_0x691194(0x19b)]:_0x5d513b));}const _0x317314=await _0x38b1bd[_0x691194(0x181)](getCurrentUser,_0x3a45b3);if(!_0x317314[_0x691194(0x14d)])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x317314['error']);return console['log']('✓\x20Authenticated\x20to\x20'+_0x317314['user'][_0x691194(0x15e)]),{'token':_0x3a45b3,'method':_0x691194(0x199)};}console[_0x691194(0x17d)](_0x38b1bd[_0x691194(0x160)]);const _0x3f6655=await _0x38b1bd['HgiEG'](getCurrentUser,_0x3a45b3);if(!_0x3f6655['success']){if(_0x3f6655['status'])throw new Error(_0x691194(0x16d)+_0x3f6655[_0x691194(0x186)]+_0x691194(0x168));else throw new Error(_0x691194(0x15c)+_0x3f6655['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console['log']('✓\x20Authenticated\x20to\x20'+_0x3f6655['user']['organizationName']),await _0x38b1bd[_0x691194(0x17a)](storeToken,_0x3a45b3),console['log'](process[_0x691194(0x19f)]['GITHUB_ENV']?_0x691194(0x17b):_0x38b1bd[_0x691194(0x174)]),{'token':_0x3a45b3,'method':_0x38b1bd[_0x691194(0x194)]};}export async function ensureRangerDir(){const _0x155cbd=_0x4d63,_0x8bcbd8={'MIlhP':function(_0xbe8c61){return _0xbe8c61();},'ZWoEH':function(_0x53a07d,_0x5957f3,_0x5c7a2d){return _0x53a07d(_0x5957f3,_0x5c7a2d);},'JiJWa':_0x155cbd(0x1a1)},_0x28df1b=_0x8bcbd8['MIlhP'](findGitRoot),_0x3729d9=_0x28df1b?_0x8bcbd8[_0x155cbd(0x173)](join,_0x28df1b,'.ranger'):_0x8bcbd8['MIlhP'](getRangerDir);return!existsSync(_0x3729d9)?(await mkdir(_0x3729d9,{'recursive':!![]}),console[_0x155cbd(0x17d)]('✓\x20Created\x20.ranger/\x20directory'),{'path':_0x3729d9,'installed':!![]}):(console['log'](_0x8bcbd8[_0x155cbd(0x16b)]),{'path':_0x3729d9,'installed':![]});}export async function ensureChromium(){const _0x15a589=_0x4d63,_0x10322b={'huNpH':_0x15a589(0x156),'erBax':_0x15a589(0x15b),'nqNXN':_0x15a589(0x191),'LcLLl':'\x0aInstalling\x20Chromium\x20browser...\x0a','NzCPM':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','laLcY':_0x15a589(0x146),'EfWgw':_0x15a589(0x1a7),'LRxiB':'You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:'};let _0xc0f17c=![];try{const _0x2fcfc=chromium['executablePath']();_0xc0f17c=existsSync(_0x2fcfc);}catch{_0xc0f17c=![];}if(_0xc0f17c)return console[_0x15a589(0x17d)](_0x10322b['huNpH']),![];const _0x4d397e=getPlaywrightVersion(),_0x30b71c=_0x4d397e??PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION,_0xecbdd8=!_0x4d397e,_0x268661=process['stdin'][_0x15a589(0x184)]&&process['stdout']['isTTY'];let _0x103e20=!![];if(_0x268661){const {install:_0x53b230}=await _0x2ff730['prompt']([{'type':_0x15a589(0x16f),'name':_0x10322b[_0x15a589(0x187)],'message':_0xecbdd8?_0x15a589(0x154)+_0x30b71c+_0x15a589(0x16e):_0x15a589(0x195)+_0x30b71c+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x103e20=_0x53b230;}else console['log']('\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20'+_0x30b71c+(_0xecbdd8?_0x10322b['nqNXN']:'')+'...');if(_0x103e20){console['log'](_0x10322b[_0x15a589(0x140)]);try{await installChromiumBinary(_0x30b71c),console[_0x15a589(0x17d)](_0x10322b['NzCPM']);}catch(_0x3fe2d6){console['error'](_0x10322b[_0x15a589(0x15a)],_0x3fe2d6 instanceof Error?_0x3fe2d6[_0x15a589(0x19b)]:_0x3fe2d6),console['log'](_0x15a589(0x1a4)),console['log']('\x20\x20npx\x20playwright@'+_0x30b71c+'\x20install\x20chromium');}}else console[_0x15a589(0x17d)](_0x10322b['EfWgw']),console['log'](_0x10322b['LRxiB']),console[_0x15a589(0x17d)]('\x20\x20npx\x20playwright@'+_0x30b71c+_0x15a589(0x14b));return!![];}export async function writeRangerGitignore(_0x5143fa){const _0x33837a={'fMYRY':function(_0x1b4605,_0x25ebf2,_0x34d2ca){return _0x1b4605(_0x25ebf2,_0x34d2ca);}},_0x5346f9=_0x33837a['fMYRY'](join,_0x5143fa,'.gitignore'),_0x42ab7f='\x0a\x0a#\x20Ignore\x20local-only\x20directories\x0alocal/\x0asessions/\x0abug-bashes/\x0areports/\x0afeedback-images/\x0a\x0aactive-profile.txt\x0aactive-feature.txt\x0a.gitignore\x0a\x0a#\x20Ignore\x20plaintext\x20auth\x20files\x20(encrypted\x20.enc\x20files\x20are\x20safe\x20to\x20commit)\x0a**/auth.json\x0a';await writeFile(_0x5346f9,_0x42ab7f),console['log']('✓\x20Created\x20.ranger/.gitignore');}function printProfileSetupLaterInstructions(){const _0x570606=_0x4d63,_0xb5a0d4={'haoMX':_0x570606(0x167),'Umkio':_0x570606(0x1a2),'AWxZL':'Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a'};console['log'](_0xb5a0d4['haoMX']),console['log']('\x20\x20'+bold(_0xb5a0d4[_0x570606(0x145)])),console['log'](_0xb5a0d4[_0x570606(0x14e)]);}async function ensureLocalEnv(_0x4b763f,_0xabe2c8){const _0xc42cc4=_0x4d63,_0x5a0656={'papcv':function(_0x382327){return _0x382327();},'YaiWF':_0xc42cc4(0x182),'ATYGz':_0xc42cc4(0x19d),'esGRv':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','ipPzm':'auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','FqTwr':'use\x20until\x20the\x20session\x20expires.\x0a','yNdto':'confirm','WMEhz':function(_0x137693,_0xd10930){return _0x137693 instanceof _0xd10930;}};if(!_0x5a0656[_0xc42cc4(0x141)](findGitRoot))return console[_0xc42cc4(0x17d)](_0xc42cc4(0x161)),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x5a0656[_0xc42cc4(0x164)],{'locations':[_0xc42cc4(0x182)]}))return console['log'](_0x5a0656['ATYGz']),{'ready':!![],'skipped':![]};const _0x2acb69=process['stdin']['isTTY']&&process['stdout'][_0xc42cc4(0x184)];if(_0x2acb69&&!_0x4b763f?.['url']){console[_0xc42cc4(0x17d)]('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console[_0xc42cc4(0x17d)](_0x5a0656['esGRv']),console[_0xc42cc4(0x17d)](_0x5a0656[_0xc42cc4(0x18d)]),console['log'](_0x5a0656[_0xc42cc4(0x192)]),console[_0xc42cc4(0x17d)]('You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.');const {wantsProfile:_0x3f36da}=await _0x2ff730[_0xc42cc4(0x153)]([{'type':_0x5a0656[_0xc42cc4(0x16a)],'name':'wantsProfile','message':_0xc42cc4(0x18a),'default':!![]}]);if(!_0x3f36da)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x5a0656['YaiWF'],{'url':_0x4b763f?.[_0xc42cc4(0x14f)],'force':_0x4b763f?.['force'],'allowInsecureLocalhost':_0x4b763f?.['allowInsecureLocalhost']},_0xabe2c8),{'ready':!![],'skipped':![]};}catch(_0x3d377b){return console[_0xc42cc4(0x186)]('\x0a❌\x20Profile\x20setup\x20failed:',_0x5a0656[_0xc42cc4(0x177)](_0x3d377b,Error)?_0x3d377b['message']:_0x3d377b),_0x5a0656[_0xc42cc4(0x141)](printProfileSetupLaterInstructions),{'ready':![],'skipped':![]};}}export async function start(_0x301f05,_0x4a4371,_0xa1e9e8){const _0x995a3e=_0x4d63,_0xfa67a9={'kitJo':'\x0a🚀\x20Ranger\x20Setup\x0a','rgHRr':'Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','nMyQk':'user','hWFmE':_0x995a3e(0x151),'mmPjk':function(_0x22adbb){return _0x22adbb();},'Cccvw':_0x995a3e(0x19a),'ZrhGx':function(_0x48376b,_0x2e2b9c){return _0x48376b(_0x2e2b9c);},'wvsgO':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','ZuXhV':function(_0x3e3768){return _0x3e3768();},'SmPpP':'chromium','epEBF':_0x995a3e(0x193),'hJrRS':function(_0x448ff9,_0x1c4516){return _0x448ff9(_0x1c4516);},'kSMxD':function(_0x99b90d,_0x40fa85,_0x256008){return _0x99b90d(_0x40fa85,_0x256008);},'nJbLk':_0x995a3e(0x13e),'zQhtP':'\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','ImhHm':'skills','Mtugv':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','aAVDl':'profile','HDpdg':'with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','PPfKx':function(_0x28e462,_0x51c1e8){return _0x28e462+_0x51c1e8;}};console['log'](_0xfa67a9['kitJo']);const _0x4895c1=process[_0x995a3e(0x198)]['isTTY']&&process[_0x995a3e(0x172)][_0x995a3e(0x184)];!_0x4895c1&&!_0x4a4371?.['scope']&&(console['log'](_0xfa67a9['rgHRr']),_0x4a4371={..._0x4a4371,'scope':_0xfa67a9[_0x995a3e(0x19e)]});_0xa1e9e8?.['trackPhaseStart'](_0x995a3e(0x151));if(!findGitRoot()){await _0xa1e9e8?.['trackPhaseError'](_0xfa67a9[_0x995a3e(0x15d)],new Error('No\x20git\x20repository\x20found'));throw new Error('No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.');}_0xa1e9e8?.['trackPhaseEnd']('git_check');const _0x317287=!existsSync(getRangerDir()),{path:_0x21a931}=await _0xfa67a9['mmPjk'](ensureRangerDir);_0xa1e9e8?.[_0x995a3e(0x1a0)](_0xfa67a9[_0x995a3e(0x176)]);const _0x2486a3=await _0xfa67a9[_0x995a3e(0x19c)](authenticate,_0x301f05);_0xa1e9e8?.['trackPhaseEnd']('auth',{'isFirstRun':_0x317287,'method':_0x2486a3[_0x995a3e(0x142)]}),_0xa1e9e8?.['trackPhaseStart']('chromium');_0x4a4371?.['skipChromium']?console[_0x995a3e(0x17d)](_0xfa67a9['wvsgO']):await _0xfa67a9[_0x995a3e(0x147)](ensureChromium);_0xa1e9e8?.[_0x995a3e(0x183)](_0xfa67a9['SmPpP'],{'isFirstRun':_0x317287,'skipped':!!_0x4a4371?.[_0x995a3e(0x14a)]}),await writeRangerGitignore(_0x21a931),console['log'](_0x995a3e(0x18e));const _0x57fb0e=_0x4a4371?.[_0x995a3e(0x14c)],_0x38202b=_0x4a4371?.[_0x995a3e(0x149)]??![];let _0x59bdbb=null;_0x38202b?(_0xa1e9e8?.['trackPhaseStart'](_0xfa67a9[_0x995a3e(0x180)]),_0x59bdbb=await _0xfa67a9['ZrhGx'](ensureOpencodePluginConfig,_0x57fb0e),_0xa1e9e8?.[_0x995a3e(0x183)](_0x995a3e(0x193),{'isFirstRun':_0x317287,'opencode':!![]})):(_0xa1e9e8?.[_0x995a3e(0x1a0)]('plugin'),await _0xfa67a9[_0x995a3e(0x18c)](ensureClaudePlugin,_0x57fb0e),_0xa1e9e8?.[_0x995a3e(0x183)]('plugin',{'isFirstRun':_0x317287}));if(_0x38202b&&_0x59bdbb){_0xa1e9e8?.[_0x995a3e(0x1a0)]('skills');try{await _0xfa67a9[_0x995a3e(0x171)](installSkill,_0xfa67a9[_0x995a3e(0x157)],{'level':_0x59bdbb[_0x995a3e(0x14c)],'cliVersion':getCurrentVersion(),'platform':_0x995a3e(0x149)}),_0xa1e9e8?.[_0x995a3e(0x183)](_0x995a3e(0x1a3),{'isFirstRun':_0x317287,'opencode':!![]});}catch(_0x4761f6){console['warn'](_0xfa67a9[_0x995a3e(0x155)],_0x4761f6 instanceof Error?_0x4761f6[_0x995a3e(0x19b)]:_0x4761f6),_0xa1e9e8?.[_0x995a3e(0x183)](_0x995a3e(0x1a3),{'isFirstRun':_0x317287,'opencode':!![],'failed':!![]});}}else _0xa1e9e8?.[_0x995a3e(0x1a0)]('skills'),await ensureClaudeSkills(_0x57fb0e),_0xa1e9e8?.['trackPhaseEnd'](_0xfa67a9[_0x995a3e(0x17e)],{'isFirstRun':_0x317287});if(!_0x4895c1&&!_0x4a4371?.[_0x995a3e(0x14f)])console[_0x995a3e(0x17d)](_0xfa67a9[_0x995a3e(0x18f)]),console['log']('\x20\x20'+bold(_0x995a3e(0x1a2))+'\x0a');else{_0xa1e9e8?.['trackPhaseStart'](_0xfa67a9[_0x995a3e(0x178)]);const _0xf42662=await _0xfa67a9['kSMxD'](ensureLocalEnv,{'url':_0x4a4371?.['url'],'force':_0x4a4371?.['force'],'allowInsecureLocalhost':_0x4a4371?.[_0x995a3e(0x143)]},_0xa1e9e8);_0xa1e9e8?.['trackPhaseEnd'](_0x995a3e(0x197),{'isFirstRun':_0x317287,'profileReady':_0xf42662[_0x995a3e(0x152)],'userSkipped':_0xf42662[_0x995a3e(0x144)]}),_0xf42662[_0x995a3e(0x152)]&&console['log']('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x38202b)console[_0x995a3e(0x17d)]('\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)'),console[_0x995a3e(0x17d)](_0x995a3e(0x148)),console['log'](_0xfa67a9['HDpdg']),console[_0x995a3e(0x17d)]('verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');else{const _0x4c9b00=bold(_0x995a3e(0x190));console['log'](_0xfa67a9[_0x995a3e(0x159)]('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x4c9b00+'\x20and\x20prompt\x20the\x20coding',_0x995a3e(0x158))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'+'\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.');}}
|
package/build/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xfb96ea=_0x10c7;(function(_0x4a530b,_0x5f2e43){const _0xe40ab8=_0x10c7,_0x25efed=_0x4a530b();while(!![]){try{const _0x4f0279=-parseInt(_0xe40ab8(0xcb))/0x1+-parseInt(_0xe40ab8(0x90))/0x2*(-parseInt(_0xe40ab8(0x82))/0x3)+parseInt(_0xe40ab8(0x8b))/0x4*(parseInt(_0xe40ab8(0xa1))/0x5)+parseInt(_0xe40ab8(0x6a))/0x6*(-parseInt(_0xe40ab8(0x6c))/0x7)+parseInt(_0xe40ab8(0xad))/0x8+parseInt(_0xe40ab8(0x93))/0x9*(parseInt(_0xe40ab8(0x80))/0xa)+parseInt(_0xe40ab8(0x6b))/0xb*(parseInt(_0xe40ab8(0x8f))/0xc);if(_0x4f0279===_0x5f2e43)break;else _0x25efed['push'](_0x25efed['shift']());}catch(_0x35ff66){_0x25efed['push'](_0x25efed['shift']());}}}(_0x520c,0x7ee04));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';function _0x520c(){const _0x426586=['match','status','\x20\x20\x20\x20','Version:\x20','\x20\x20Not\x20configured','none','length','\x20\x20Project-level:','\x20\x20\x20\x20Auth:\x20','ZgBke','500770sxLIZH','Ksrof','234lRigxi','mqfvN','WiCKq','\x1b]8;;file://','pNXib','\x0a---\x20OpenCode\x20Plugin\x20---','CqOBL','WvInN','hasPlaintextAuth','219196lEqYYO','auth.json','pipe','LskkP','7124376raHyDf','5140IDtvPt','all','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','63swRbJG','LXaOS','DNPLP','NCIJN','opencode-plugin','WAQIt','trim','DFucY','displayName','isDirectory','plugin','error','kZpAh','mulVY','25ZhNJRB','\x1b]8;;\x07','NTTYv','close','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','@ranger-testing/opencode-plugin','PJbta','NtRFp','Root:\x20','\x1b[0m','GoosC','push','723952ieFOyU','cKquT','uZadU','ORugb','OuIcA','\x20(latest:\x20','fyNuE','pCPiL','DaSGP','jyviP','\x0a---\x20Profiles\x20---','isActive','map','Zhfza','log','XRNTJ','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','version','\x20\x20Not\x20installed','cwd','hasEncryptedAuth','\x20\x20Run:\x20ranger\x20skillup','WzbWo','\x20plugin(s)\x20configured','yqZte','API\x20URL:\x20','pWjJz','stdout','\x20\x20Run:\x20ranger\x20setup\x20[token]','settings.json','238335ObulbB','No\x20profiles\x20configured','eQFWs','details','Organization:\x20','\x0a---\x20Skills\x20---','COevf','includes','4507002MrzuCc','11tGoIap','7RjFsrm','string','API\x20Token:\x20✗\x20Not\x20found','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','name','(not\x20found)','SKILL.md','user','path','ranger@trailhead'];_0x520c=function(){return _0x426586;};return _0x520c();}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 _0x10c7(_0x5899a2,_0xfc7225){_0x5899a2=_0x5899a2-0x68;const _0x520c11=_0x520c();let _0x10c7ef=_0x520c11[_0x5899a2];return _0x10c7ef;}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=_0x1d14b9=>'\x1b[1m'+_0x1d14b9+_0xfb96ea(0xaa),link=(_0xf05548,_0x5a0bc6)=>_0xfb96ea(0x85)+_0xf05548+'\x07'+(_0x5a0bc6||_0xf05548)+_0xfb96ea(0xa2);async function getOpencodePluginStatus(){const _0x1c789a=_0xfb96ea,_0x37dff3={'COevf':'not_installed','PJbta':function(_0x562d24,_0x1e6412){return _0x562d24(_0x1e6412);},'kZpAh':'configured','ZsgwM':function(_0x402d17,_0x192cb2){return _0x402d17>_0x192cb2;},'XRNTJ':_0x1c789a(0x6d),'ORugb':'debug','dsRbp':'ignore','mqfvN':_0x1c789a(0x8d),'WvInN':'data','ujlas':_0x1c789a(0x9e),'eQFWs':_0x1c789a(0xa4)};return new Promise(_0x1d84ff=>{const _0x265635=_0x1c789a,_0x5037ee={'fyNuE':_0x37dff3[_0x265635(0xbc)]},_0x467f46=spawn('opencode',[_0x37dff3[_0x265635(0xb0)],'config'],{'stdio':[_0x37dff3['dsRbp'],_0x265635(0x8d),_0x37dff3[_0x265635(0x83)]]});let _0x5b7bc0='';_0x467f46[_0x265635(0xc8)]?.['on'](_0x37dff3[_0x265635(0x89)],_0x4dcb3a=>{_0x5b7bc0+=_0x4dcb3a['toString']();}),_0x467f46['stderr']?.['on']('data',_0x11a18c=>{_0x5b7bc0+=_0x11a18c['toString']();}),_0x467f46['on'](_0x37dff3['ujlas'],()=>{const _0x4be07e=_0x265635;_0x1d84ff({'status':_0x37dff3[_0x4be07e(0x68)]});}),_0x467f46['on'](_0x37dff3[_0x265635(0xcd)],_0x5252bb=>{const _0x5bb361=_0x265635;if(_0x5252bb!==0x0){_0x1d84ff({'status':'not_installed'});return;}const _0x42eed2=_0x5b7bc0[_0x5bb361(0x99)]();let _0x278ab1=null;if(_0x42eed2)try{_0x278ab1=JSON['parse'](_0x42eed2);}catch{const _0x13a5bc=_0x42eed2[_0x5bb361(0x76)](/\{[\s\S]*\}$/);if(_0x13a5bc)try{_0x278ab1=JSON['parse'](_0x13a5bc[0x0]);}catch{_0x278ab1=null;}}const _0x20fba6=Array['isArray'](_0x278ab1?.[_0x5bb361(0x9d)])?_0x278ab1?.['plugin']:[],_0x59c159=_0x20fba6['some'](_0x2f2900=>{const _0x416a8a=_0x5bb361;if(typeof _0x2f2900!==_0x5037ee[_0x416a8a(0xb3)])return![];return _0x2f2900[_0x416a8a(0x69)](_0x416a8a(0xa6))||_0x2f2900[_0x416a8a(0x69)](_0x416a8a(0x97));});if(_0x59c159){_0x37dff3['PJbta'](_0x1d84ff,{'status':_0x37dff3[_0x5bb361(0x9f)],'details':_0x20fba6[_0x5bb361(0x7c)]>0x0?_0x20fba6[_0x5bb361(0x7c)]+_0x5bb361(0xc4):undefined});return;}if(_0x37dff3['ZsgwM'](_0x20fba6[_0x5bb361(0x7c)],0x0)){_0x37dff3[_0x5bb361(0xa7)](_0x1d84ff,{'status':'not_configured','details':_0x20fba6[_0x5bb361(0x7c)]+_0x5bb361(0xc4)});return;}_0x1d84ff({'status':'not_configured'});});});}async function getSkillsFromDir(_0x3a2983,_0x1be622){const _0x480a46=_0xfb96ea,_0x4e7d12={'Nezve':function(_0x3ae0ba,_0x13765c,_0x536e70){return _0x3ae0ba(_0x13765c,_0x536e70);},'LskkP':function(_0x3f1d45,_0x4a86b2,_0x1a4641,_0x3a0ed1){return _0x3f1d45(_0x4a86b2,_0x1a4641,_0x3a0ed1);},'zGCCJ':_0x480a46(0x72),'NTTYv':function(_0x2570b0,_0x48b858,_0x157691){return _0x2570b0(_0x48b858,_0x157691);}};if(!existsSync(_0x3a2983))return[];const _0x1f72be=[];try{const _0x3bceaf=await _0x4e7d12['Nezve'](readdir,_0x3a2983,{'withFileTypes':!![]});for(const _0x297d53 of _0x3bceaf){if(_0x297d53[_0x480a46(0x9c)]()){const _0x47c993=_0x4e7d12[_0x480a46(0x8e)](join,_0x3a2983,_0x297d53[_0x480a46(0x70)],_0x4e7d12['zGCCJ']);if(existsSync(_0x47c993)){let _0x514b06=_0x297d53[_0x480a46(0x70)];try{const _0x44566b=await _0x4e7d12[_0x480a46(0xa3)](readFile,_0x47c993,'utf-8'),_0x1c69dd=_0x44566b['match'](/name:\s*(.+)/);_0x1c69dd&&(_0x514b06=_0x1c69dd[0x1][_0x480a46(0x99)]());}catch{}_0x1f72be[_0x480a46(0xac)]({'name':_0x297d53[_0x480a46(0x70)],'displayName':_0x514b06,'path':_0x47c993,'level':_0x1be622});}}}}catch{return[];}return _0x1f72be;}async function getInstalledSkills(){const _0x378c46=_0xfb96ea,_0x2efbbf={'OuIcA':function(_0x3354d6){return _0x3354d6();},'fUgbW':'project'},[_0xd106cb,_0x101efb]=await Promise[_0x378c46(0x91)]([getSkillsFromDir(_0x2efbbf['OuIcA'](getProjectSkillsDir),_0x2efbbf['fUgbW']),getSkillsFromDir(_0x2efbbf[_0x378c46(0xb1)](getUserSkillsDir),_0x378c46(0x73))]);return{'project':_0xd106cb,'user':_0x101efb};}async function getEnvironments(){const _0x1cf29f=_0xfb96ea,_0x89a963={'HcVrL':function(_0x2f1441,_0xd43a6c,_0x26c0f0){return _0x2f1441(_0xd43a6c,_0x26c0f0);},'yqZte':_0x1cf29f(0xca),'pCPiL':'auth.json.enc','DWlBV':'(not\x20found)','ZgBke':function(_0x158d42,_0x493827){return _0x158d42(_0x493827);},'FEIvW':function(_0x3c1318){return _0x3c1318();},'FJeio':function(_0x38c6f2,_0x27ece6){return _0x38c6f2(_0x27ece6);}},{envNames:_0x287e71,activeEnv:_0x2920f1}=await _0x89a963['FEIvW'](getEnvNames),_0x5a20dc=_0x89a963['FEIvW'](getRangerDir);if(!_0x89a963['FJeio'](existsSync,_0x5a20dc))return{'envs':[],'activeEnv':null};const _0x12abfb=_0x287e71[_0x1cf29f(0xb9)](_0x3b2517=>{const _0x319641=_0x1cf29f,_0x7bf75b=getEnvDir(_0x3b2517),_0x4c25eb=_0x89a963['HcVrL'](join,_0x7bf75b,_0x89a963[_0x319641(0xc5)]),_0x147612=join(_0x7bf75b,_0x319641(0x8c)),_0x70558c=join(_0x7bf75b,_0x89a963[_0x319641(0xb4)]);return{'name':_0x3b2517,'settingsPath':existsSync(_0x4c25eb)?_0x4c25eb:_0x89a963['DWlBV'],'hasPlaintextAuth':existsSync(_0x147612),'hasEncryptedAuth':_0x89a963[_0x319641(0x7f)](existsSync,_0x70558c),'isActive':_0x3b2517===_0x2920f1};});return{'envs':_0x12abfb,'activeEnv':_0x2920f1};}export async function status(){const _0x107ae4=_0xfb96ea,_0x360675={'jyviP':function(_0x1204ea,_0x1229f2,_0xe03965){return _0x1204ea(_0x1229f2,_0xe03965);},'NCIJN':function(_0xd48d9f){return _0xd48d9f();},'pWjJz':function(_0x5d8dfc){return _0x5d8dfc();},'cKquT':function(_0x5e0062){return _0x5e0062();},'DNPLP':function(_0x5194c6,_0x776327){return _0x5194c6===_0x776327;},'DFucY':'configured','ojqcJ':_0x107ae4(0xa6),'uZadU':function(_0x4fef4a,_0x36f0ea){return _0x4fef4a===_0x36f0ea;},'eSgdz':_0x107ae4(0x7a),'dzFHq':'\x20\x20Run:\x20ranger\x20setup\x20--opencode','rMnjh':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','CqOBL':'\x0a---\x20Claude\x20Code\x20Plugin\x20---','NESaO':function(_0x346c96,_0x515418){return _0x346c96(_0x515418);},'GoosC':_0x107ae4(0x75),'phzbG':'unknown','SONkO':'enabled','DaSGP':'disabled','pNXib':_0x107ae4(0xbf),'KUCMR':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','LXaOS':function(_0x466200,_0x2f290f){return _0x466200+_0x2f290f;},'WiCKq':'No\x20skills\x20installed','WAQIt':function(_0x7e2faa,_0x4d6d6a){return _0x7e2faa>_0x4d6d6a;},'mcwHt':function(_0x2c5985,_0x2baab1){return _0x2c5985(_0x2baab1);},'NtRFp':'\x20\x20User-level:','Zhfza':function(_0x36e1c2,_0xe0820e){return _0x36e1c2(_0xe0820e);},'mulVY':_0x107ae4(0xb7),'vKqEi':function(_0x80624f){return _0x80624f();},'WzbWo':'\x20(active)','gCSFu':'encrypted','tobjj':_0x107ae4(0x7b),'LXDjo':function(_0x330171,_0x2e4b64){return _0x330171!==_0x2e4b64;},'YRFJZ':_0x107ae4(0x71),'Ksrof':function(_0x2e53ae,_0x10709d){return _0x2e53ae(_0x10709d);}};console[_0x107ae4(0xbb)]('\x0a📊\x20Ranger\x20Status\x0a');const _0x5ebd7b=process[_0x107ae4(0xc0)](),_0x434c20=getRangerDir();if(!existsSync(_0x434c20)){console[_0x107ae4(0xbb)](_0x107ae4(0xa9)+link(_0x5ebd7b,bold(basename(_0x5ebd7b)))),console[_0x107ae4(0xbb)](_0x107ae4(0xbd)),console[_0x107ae4(0xbb)](_0x107ae4(0xa5));return;}console['log']('Root:\x20'+_0x360675['jyviP'](link,_0x5ebd7b,bold(basename(_0x5ebd7b))));const _0x4c8374=_0x360675[_0x107ae4(0x96)](getCurrentVersion),_0x357613=_0x360675[_0x107ae4(0x96)](getLatestVersion);if(_0x357613['version']&&_0x357613[_0x107ae4(0xbe)]!==_0x4c8374)console[_0x107ae4(0xbb)]('Version:\x20'+_0x4c8374+_0x107ae4(0xb2)+_0x357613[_0x107ae4(0xbe)]+')'),console[_0x107ae4(0xbb)]('\x20\x20Run:\x20ranger\x20update');else _0x357613['version']?console['log']('Version:\x20'+_0x4c8374+'\x20(up\x20to\x20date)'):console[_0x107ae4(0xbb)](_0x107ae4(0x79)+_0x4c8374);const _0x42f207=await _0x360675['pWjJz'](getToken);if(_0x42f207){const _0x5be09=await getCurrentUser(_0x42f207);_0x5be09['success']?console['log'](_0x107ae4(0xcf)+bold(_0x5be09['user']['organizationName'])):(console[_0x107ae4(0xbb)](_0x107ae4(0x6f)),console['log'](_0x107ae4(0xc9)));}else console['log'](_0x107ae4(0x6e)),console[_0x107ae4(0xbb)]('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env']['DEBUG']&&(console['log']('API\x20Environment:\x20'+_0x360675['NCIJN'](getCurrentEnvironment)),console['log'](_0x107ae4(0xc6)+_0x360675[_0x107ae4(0xae)](getApiBaseUrl)));console[_0x107ae4(0xbb)](_0x107ae4(0x87));const _0x253761=await _0x360675[_0x107ae4(0xc7)](getOpencodePluginStatus);if(_0x360675[_0x107ae4(0x95)](_0x253761[_0x107ae4(0x77)],_0x360675[_0x107ae4(0x9a)]))console[_0x107ae4(0xbb)]('\x20\x20'+bold(_0x360675['ojqcJ'])+':\x20configured'),_0x253761['details']&&console[_0x107ae4(0xbb)]('\x20\x20'+_0x253761[_0x107ae4(0xce)]);else _0x360675[_0x107ae4(0xaf)](_0x253761['status'],'not_configured')?(console[_0x107ae4(0xbb)](_0x360675['eSgdz']),_0x253761[_0x107ae4(0xce)]&&console['log']('\x20\x20'+_0x253761['details']),console[_0x107ae4(0xbb)](_0x360675['dzFHq'])):console[_0x107ae4(0xbb)](_0x360675['rMnjh']);console[_0x107ae4(0xbb)](_0x360675[_0x107ae4(0x88)]);const _0x37bff6=await _0x360675['NESaO'](getPluginInfo,_0x360675[_0x107ae4(0xab)]);if(_0x37bff6){const _0x1a0cce=_0x37bff6['scope']||_0x360675['phzbG'],_0x2625c6=_0x37bff6['enabled']?_0x360675['SONkO']:_0x360675[_0x107ae4(0xb5)];console[_0x107ae4(0xbb)]('\x20\x20'+bold('ranger@trailhead')+':\x20installed\x20('+_0x1a0cce+',\x20'+_0x2625c6+')');}else console['log'](_0x360675[_0x107ae4(0x86)]),console['log'](_0x360675['KUCMR']);console[_0x107ae4(0xbb)](_0x107ae4(0xd0));const {project:_0x37ac38,user:_0x3f53a4}=await getInstalledSkills(),_0x4e42a3=_0x37ac38['filter'](_0xf96ecc=>RANGER_MANAGED_SKILLS[_0x107ae4(0x69)](_0xf96ecc['name'])),_0x86ac3c=_0x3f53a4['filter'](_0x2673af=>RANGER_MANAGED_SKILLS[_0x107ae4(0x69)](_0x2673af[_0x107ae4(0x70)])),_0x3cb0fd=_0x360675[_0x107ae4(0x94)](_0x4e42a3[_0x107ae4(0x7c)],_0x86ac3c[_0x107ae4(0x7c)]);if(_0x3cb0fd===0x0)console['log'](_0x360675[_0x107ae4(0x84)]),console[_0x107ae4(0xbb)](_0x107ae4(0xc2));else{if(_0x360675[_0x107ae4(0x98)](_0x4e42a3['length'],0x0)){console[_0x107ae4(0xbb)](_0x107ae4(0x7d));for(const _0x300737 of _0x4e42a3){console['log'](_0x107ae4(0x78)+_0x360675['mcwHt'](bold,_0x300737[_0x107ae4(0x9b)])+':\x20'+link(_0x300737[_0x107ae4(0x74)],basename(_0x300737[_0x107ae4(0x74)])));}}if(_0x360675[_0x107ae4(0x98)](_0x86ac3c[_0x107ae4(0x7c)],0x0)){console['log'](_0x360675[_0x107ae4(0xa8)]);for(const _0x98495f of _0x86ac3c){console['log'](_0x107ae4(0x78)+_0x360675[_0x107ae4(0xba)](bold,_0x98495f[_0x107ae4(0x9b)])+':\x20'+_0x360675[_0x107ae4(0xb6)](link,_0x98495f['path'],basename(_0x98495f[_0x107ae4(0x74)])));}}}console[_0x107ae4(0xbb)](_0x360675[_0x107ae4(0xa0)]);const {envs:_0x47b75a,activeEnv:_0x268445}=await _0x360675['vKqEi'](getEnvironments);if(_0x47b75a[_0x107ae4(0x7c)]===0x0)console[_0x107ae4(0xbb)](_0x107ae4(0xcc)),console[_0x107ae4(0xbb)](_0x107ae4(0x92));else{for(const _0x20ce88 of _0x47b75a){const _0x4a11ee=_0x20ce88[_0x107ae4(0xb8)]?_0x360675[_0x107ae4(0xc3)]:'',_0x29fb41=_0x20ce88[_0x107ae4(0xc1)]?_0x360675['gCSFu']:_0x20ce88[_0x107ae4(0x8a)]?'plaintext':_0x360675['tobjj'];console[_0x107ae4(0xbb)]('\x20\x20'+bold(_0x20ce88[_0x107ae4(0x70)])+_0x4a11ee),console['log'](_0x107ae4(0x7e)+_0x29fb41),_0x360675['LXDjo'](_0x20ce88['settingsPath'],_0x360675['YRFJZ'])&&console[_0x107ae4(0xbb)]('\x20\x20\x20\x20Settings:\x20'+link(_0x20ce88['settingsPath'],_0x360675[_0x107ae4(0x81)](basename,_0x20ce88['settingsPath'])));}!_0x268445&&(console[_0x107ae4(0xbb)]('\x0a\x20\x20No\x20active\x20profile\x20set'),console[_0x107ae4(0xbb)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x47b75a[_0x107ae4(0xb9)](_0xb9b7be=>_0xb9b7be[_0x107ae4(0x70)])['join'](',\x20')+')'));}console['log']('');}
|
|
1
|
+
const _0x4ca45e=_0x5b70;(function(_0x4d909b,_0xa51330){const _0x36aaea=_0x5b70,_0x491b4e=_0x4d909b();while(!![]){try{const _0x480f4f=parseInt(_0x36aaea(0x168))/0x1*(-parseInt(_0x36aaea(0x113))/0x2)+parseInt(_0x36aaea(0x11f))/0x3*(parseInt(_0x36aaea(0x140))/0x4)+parseInt(_0x36aaea(0x15e))/0x5+parseInt(_0x36aaea(0x137))/0x6+-parseInt(_0x36aaea(0x117))/0x7+parseInt(_0x36aaea(0x12a))/0x8*(parseInt(_0x36aaea(0x122))/0x9)+-parseInt(_0x36aaea(0x156))/0xa*(-parseInt(_0x36aaea(0x11e))/0xb);if(_0x480f4f===_0xa51330)break;else _0x491b4e['push'](_0x491b4e['shift']());}catch(_0x4424c4){_0x491b4e['push'](_0x491b4e['shift']());}}}(_0x9a0c,0x22549));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';function _0x9a0c(){const _0x247004=['gHIab','\x0a---\x20Profiles\x20---','SKILL.md','opencode','tiryr','not_installed','toString','settings.json','11291VWbhur','TPFZI','\x1b[1m','version','DEBUG','disabled','6hNMueR','\x20\x20Run:\x20ranger\x20skillup','encrypted','HSQpi','1684732MiDkOX','includes','QNygx','ignore','Root:\x20','ZlkEP','gExcf','649GRMxwz','51TYFNBQ','SMTgN','trim','9fyqorD','path','pzeDV','Version:\x20','log','(not\x20found)','mlQZU','env','840272BoySvt','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','No\x20skills\x20installed','utf-8','\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','status','settingsPath','API\x20Environment:\x20','mJaxD','success','none','ggzZK','SjRtc','568614zVXhAP','close','join','\x0a---\x20Skills\x20---','parse','UwyQh','all','No\x20profiles\x20configured','project','25184Lonkwq','unknown','\x20(active)','details','plugin','\x20(latest:\x20','data','TRbEz','length','ranger@trailhead','map','scope','EFcCS','enabled','API\x20URL:\x20','Zmrxr','push','name','not_configured','\x20\x20Run:\x20ranger\x20setup\x20--opencode','tnUTx','configured','17330wDFJir','\x20\x20Project-level:','ARYji','\x0a📊\x20Ranger\x20Status\x0a','bIEhW','\x20plugin(s)\x20configured','debug','nPCKZ','30420zAMuYe','\x20\x20Run:\x20ranger\x20setup\x20[token]'];_0x9a0c=function(){return _0x247004;};return _0x9a0c();}import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';function _0x5b70(_0x2b537c,_0xec76fa){_0x2b537c=_0x2b537c-0x113;const _0x9a0c5=_0x9a0c();let _0x5b7048=_0x9a0c5[_0x2b537c];return _0x5b7048;}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=_0x3459b1=>_0x4ca45e(0x16a)+_0x3459b1+'\x1b[0m',link=(_0x4590cc,_0x5670f3)=>'\x1b]8;;file://'+_0x4590cc+'\x07'+(_0x5670f3||_0x4590cc)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0xc2d051=_0x4ca45e,_0x131949={'mJaxD':_0xc2d051(0x165),'nPCKZ':function(_0x2c0f26,_0x2f807a){return _0x2c0f26!==_0x2f807a;},'IxHqq':function(_0x3df372,_0x243d1f){return _0x3df372(_0x243d1f);},'vRnRw':_0xc2d051(0x152),'oUPTK':function(_0x4c63b0,_0x157047,_0x45ccd2,_0x27c825){return _0x4c63b0(_0x157047,_0x45ccd2,_0x27c825);},'ggzZK':_0xc2d051(0x163),'Zmrxr':'pipe','mlQZU':_0xc2d051(0x146)};return new Promise(_0x2b7d4e=>{const _0x56e4f0=_0xc2d051,_0x143def={'TPFZI':function(_0x55011f,_0x4087c2){const _0x48a198=_0x5b70;return _0x131949[_0x48a198(0x15d)](_0x55011f,_0x4087c2);},'npMzZ':function(_0x54a834,_0x3dddff){return _0x131949['IxHqq'](_0x54a834,_0x3dddff);},'uAXDJ':_0x131949['vRnRw']},_0x59d2eb=_0x131949['oUPTK'](spawn,_0x131949[_0x56e4f0(0x135)],[_0x56e4f0(0x15c),'config'],{'stdio':[_0x56e4f0(0x11a),_0x131949[_0x56e4f0(0x14f)],_0x131949['Zmrxr']]});let _0x3733f8='';_0x59d2eb['stdout']?.['on']('data',_0x4ecb0e=>{_0x3733f8+=_0x4ecb0e['toString']();}),_0x59d2eb['stderr']?.['on'](_0x131949[_0x56e4f0(0x128)],_0x37f9a2=>{const _0x5af0f7=_0x56e4f0;_0x3733f8+=_0x37f9a2[_0x5af0f7(0x166)]();}),_0x59d2eb['on']('error',()=>{const _0x432d17=_0x56e4f0;_0x2b7d4e({'status':_0x131949[_0x432d17(0x132)]});}),_0x59d2eb['on'](_0x56e4f0(0x138),_0x3789eb=>{const _0x490ec0=_0x56e4f0,_0x47d6ea={'yHrYf':function(_0x4485c3,_0x16b2b4){const _0x5e74c1=_0x5b70;return _0x143def[_0x5e74c1(0x169)](_0x4485c3,_0x16b2b4);}};if(_0x3789eb!==0x0){_0x143def['npMzZ'](_0x2b7d4e,{'status':_0x490ec0(0x165)});return;}const _0xaef88c=_0x3733f8[_0x490ec0(0x121)]();let _0x4d2efd=null;if(_0xaef88c)try{_0x4d2efd=JSON[_0x490ec0(0x13b)](_0xaef88c);}catch{const _0x45d71e=_0xaef88c['match'](/\{[\s\S]*\}$/);if(_0x45d71e)try{_0x4d2efd=JSON[_0x490ec0(0x13b)](_0x45d71e[0x0]);}catch{_0x4d2efd=null;}}const _0x50c4d8=Array['isArray'](_0x4d2efd?.[_0x490ec0(0x144)])?_0x4d2efd?.['plugin']:[],_0x4814ee=_0x50c4d8['some'](_0xb36894=>{const _0x29ab61=_0x490ec0;if(_0x47d6ea['yHrYf'](typeof _0xb36894,'string'))return![];return _0xb36894['includes']('@ranger-testing/opencode-plugin')||_0xb36894[_0x29ab61(0x118)]('opencode-plugin');});if(_0x4814ee){_0x2b7d4e({'status':'configured','details':_0x50c4d8[_0x490ec0(0x148)]>0x0?_0x50c4d8['length']+_0x490ec0(0x15b):undefined});return;}if(_0x50c4d8[_0x490ec0(0x148)]>0x0){_0x2b7d4e({'status':_0x143def['uAXDJ'],'details':_0x50c4d8[_0x490ec0(0x148)]+_0x490ec0(0x15b)});return;}_0x2b7d4e({'status':_0x490ec0(0x152)});});});}async function getSkillsFromDir(_0x48dd1a,_0x2e0cf4){const _0x51a7c0=_0x4ca45e,_0x15bc2a={'ARYji':function(_0x3f3c32,_0x449342){return _0x3f3c32(_0x449342);},'SjRtc':function(_0x69cbad,_0x31da50){return _0x69cbad(_0x31da50);}};if(!_0x15bc2a[_0x51a7c0(0x158)](existsSync,_0x48dd1a))return[];const _0x9b5d20=[];try{const _0x2e736f=await readdir(_0x48dd1a,{'withFileTypes':!![]});for(const _0x345aa1 of _0x2e736f){if(_0x345aa1['isDirectory']()){const _0x2f6ca5=join(_0x48dd1a,_0x345aa1[_0x51a7c0(0x151)],_0x51a7c0(0x162));if(_0x15bc2a[_0x51a7c0(0x136)](existsSync,_0x2f6ca5)){let _0x482bf5=_0x345aa1[_0x51a7c0(0x151)];try{const _0x181e54=await readFile(_0x2f6ca5,_0x51a7c0(0x12d)),_0x3de0d5=_0x181e54['match'](/name:\s*(.+)/);_0x3de0d5&&(_0x482bf5=_0x3de0d5[0x1]['trim']());}catch{}_0x9b5d20[_0x51a7c0(0x150)]({'name':_0x345aa1[_0x51a7c0(0x151)],'displayName':_0x482bf5,'path':_0x2f6ca5,'level':_0x2e0cf4});}}}}catch{return[];}return _0x9b5d20;}async function getInstalledSkills(){const _0x3e3466=_0x4ca45e,_0x585e2c={'azQDD':function(_0x32d9ba,_0x2488ca,_0x3d6b14){return _0x32d9ba(_0x2488ca,_0x3d6b14);},'dIEwe':function(_0x109252,_0x6efcff,_0xae89ac){return _0x109252(_0x6efcff,_0xae89ac);},'LJolc':function(_0x26a1b3){return _0x26a1b3();},'UwyQh':'user'},[_0xb6dcb0,_0x1fe3d7]=await Promise[_0x3e3466(0x13d)]([_0x585e2c['azQDD'](getSkillsFromDir,getProjectSkillsDir(),_0x3e3466(0x13f)),_0x585e2c['dIEwe'](getSkillsFromDir,_0x585e2c['LJolc'](getUserSkillsDir),_0x585e2c[_0x3e3466(0x13c)])]);return{'project':_0xb6dcb0,'user':_0x1fe3d7};}async function getEnvironments(){const _0x18a162=_0x4ca45e,_0x32e509={'tnUTx':function(_0xd53502,_0x5d4e0d){return _0xd53502(_0x5d4e0d);},'EqdRT':'auth.json','nBZql':function(_0x3ea29f){return _0x3ea29f();}},{envNames:_0x1bfb9b,activeEnv:_0x3d8dd5}=await _0x32e509['nBZql'](getEnvNames),_0x292ee7=_0x32e509['nBZql'](getRangerDir);if(!existsSync(_0x292ee7))return{'envs':[],'activeEnv':null};const _0x1cbc43=_0x1bfb9b[_0x18a162(0x14a)](_0x52333f=>{const _0x3b77b2=_0x18a162,_0x3cbab4=_0x32e509[_0x3b77b2(0x154)](getEnvDir,_0x52333f),_0x5cfd7f=join(_0x3cbab4,_0x3b77b2(0x167)),_0x11e1e2=join(_0x3cbab4,_0x32e509['EqdRT']),_0x5f094c=join(_0x3cbab4,'auth.json.enc');return{'name':_0x52333f,'settingsPath':_0x32e509['tnUTx'](existsSync,_0x5cfd7f)?_0x5cfd7f:_0x3b77b2(0x127),'hasPlaintextAuth':existsSync(_0x11e1e2),'hasEncryptedAuth':existsSync(_0x5f094c),'isActive':_0x52333f===_0x3d8dd5};});return{'envs':_0x1cbc43,'activeEnv':_0x3d8dd5};}export async function status(){const _0x4c553d=_0x4ca45e,_0x499277={'ZYzWc':_0x4c553d(0x159),'HSQpi':function(_0x317fe7,_0x14634f){return _0x317fe7(_0x14634f);},'SMTgN':function(_0x1cf2b7,_0x3e2b3d,_0x6b9532){return _0x1cf2b7(_0x3e2b3d,_0x6b9532);},'ZlkEP':function(_0x3314d4,_0xcd97b6){return _0x3314d4(_0xcd97b6);},'Eevuy':function(_0x1801e2){return _0x1801e2();},'QNygx':function(_0xb2d64e,_0x3ff7d1){return _0xb2d64e!==_0x3ff7d1;},'WALCf':_0x4c553d(0x155),'gExcf':function(_0x2e82b4,_0x14813f){return _0x2e82b4(_0x14813f);},'ATnvq':'@ranger-testing/opencode-plugin','WtDee':function(_0x3f2671,_0xabf560){return _0x3f2671===_0xabf560;},'aKyam':'\x20\x20Not\x20configured','tiryr':_0x4c553d(0x153),'QSDZF':_0x4c553d(0x12e),'EFcCS':function(_0x11db0f,_0x22ea11){return _0x11db0f(_0x22ea11);},'GEila':_0x4c553d(0x141),'TRbEz':_0x4c553d(0x14d),'gHIab':'\x20\x20Not\x20installed','pzeDV':function(_0x3f1dce,_0x3b7e3b){return _0x3f1dce===_0x3b7e3b;},'rLHQJ':function(_0x43039e,_0x555377,_0x1d6624){return _0x43039e(_0x555377,_0x1d6624);},'ySJEl':function(_0x268163,_0x634b91){return _0x268163>_0x634b91;},'wgAaj':function(_0xe7da00,_0x64401a){return _0xe7da00(_0x64401a);},'amfyK':_0x4c553d(0x142),'zrLBv':_0x4c553d(0x115),'bIEhW':_0x4c553d(0x134),'EyrWG':'(not\x20found)'};console[_0x4c553d(0x126)](_0x499277['ZYzWc']);const _0x3a6aff=process['cwd'](),_0x53c942=getRangerDir();if(!_0x499277[_0x4c553d(0x116)](existsSync,_0x53c942)){console['log']('Root:\x20'+_0x499277['SMTgN'](link,_0x3a6aff,bold(_0x499277['HSQpi'](basename,_0x3a6aff)))),console['log'](_0x4c553d(0x12b)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console[_0x4c553d(0x126)](_0x4c553d(0x11b)+_0x499277[_0x4c553d(0x120)](link,_0x3a6aff,_0x499277[_0x4c553d(0x11c)](bold,basename(_0x3a6aff))));const _0x465ba6=getCurrentVersion(),_0x43edf4=_0x499277['Eevuy'](getLatestVersion);if(_0x43edf4['version']&&_0x499277[_0x4c553d(0x119)](_0x43edf4[_0x4c553d(0x16b)],_0x465ba6))console[_0x4c553d(0x126)](_0x4c553d(0x125)+_0x465ba6+_0x4c553d(0x145)+_0x43edf4['version']+')'),console[_0x4c553d(0x126)]('\x20\x20Run:\x20ranger\x20update');else _0x43edf4['version']?console[_0x4c553d(0x126)](_0x4c553d(0x125)+_0x465ba6+'\x20(up\x20to\x20date)'):console['log']('Version:\x20'+_0x465ba6);const _0x57ec12=await getToken();if(_0x57ec12){const _0x2823a0=await getCurrentUser(_0x57ec12);_0x2823a0[_0x4c553d(0x133)]?console[_0x4c553d(0x126)]('Organization:\x20'+_0x499277[_0x4c553d(0x116)](bold,_0x2823a0['user']['organizationName'])):(console['log']('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console[_0x4c553d(0x126)](_0x4c553d(0x15f)));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log'](_0x4c553d(0x15f));process[_0x4c553d(0x129)][_0x4c553d(0x16c)]&&(console['log'](_0x4c553d(0x131)+getCurrentEnvironment()),console[_0x4c553d(0x126)](_0x4c553d(0x14e)+_0x499277['Eevuy'](getApiBaseUrl)));console[_0x4c553d(0x126)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x181274=await getOpencodePluginStatus();if(_0x181274[_0x4c553d(0x12f)]===_0x499277['WALCf'])console['log']('\x20\x20'+_0x499277[_0x4c553d(0x11d)](bold,_0x499277['ATnvq'])+':\x20configured'),_0x181274[_0x4c553d(0x143)]&&console[_0x4c553d(0x126)]('\x20\x20'+_0x181274[_0x4c553d(0x143)]);else _0x499277['WtDee'](_0x181274[_0x4c553d(0x12f)],'not_configured')?(console['log'](_0x499277['aKyam']),_0x181274['details']&&console['log']('\x20\x20'+_0x181274['details']),console[_0x4c553d(0x126)](_0x499277[_0x4c553d(0x164)])):console['log'](_0x499277['QSDZF']);console[_0x4c553d(0x126)]('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x5a75fa=await _0x499277[_0x4c553d(0x14c)](getPluginInfo,_0x4c553d(0x149));if(_0x5a75fa){const _0x3300ff=_0x5a75fa[_0x4c553d(0x14b)]||_0x499277['GEila'],_0x2594c5=_0x5a75fa['enabled']?_0x499277[_0x4c553d(0x147)]:_0x4c553d(0x16d);console[_0x4c553d(0x126)]('\x20\x20'+bold(_0x4c553d(0x149))+':\x20installed\x20('+_0x3300ff+',\x20'+_0x2594c5+')');}else console[_0x4c553d(0x126)](_0x499277[_0x4c553d(0x160)]),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)');console['log'](_0x4c553d(0x13a));const {project:_0x200d2b,user:_0x235683}=await getInstalledSkills(),_0x463c05=_0x200d2b['filter'](_0x31ace3=>RANGER_MANAGED_SKILLS[_0x4c553d(0x118)](_0x31ace3['name'])),_0x4fda73=_0x235683['filter'](_0x3275f8=>RANGER_MANAGED_SKILLS['includes'](_0x3275f8[_0x4c553d(0x151)])),_0x36e887=_0x463c05['length']+_0x4fda73['length'];if(_0x499277[_0x4c553d(0x124)](_0x36e887,0x0))console[_0x4c553d(0x126)](_0x4c553d(0x12c)),console['log'](_0x4c553d(0x114));else{if(_0x463c05['length']>0x0){console['log'](_0x4c553d(0x157));for(const _0x3ee970 of _0x463c05){console[_0x4c553d(0x126)]('\x20\x20\x20\x20'+bold(_0x3ee970['displayName'])+':\x20'+_0x499277['rLHQJ'](link,_0x3ee970['path'],basename(_0x3ee970[_0x4c553d(0x123)])));}}if(_0x499277['ySJEl'](_0x4fda73['length'],0x0)){console['log']('\x20\x20User-level:');for(const _0x1295be of _0x4fda73){console[_0x4c553d(0x126)]('\x20\x20\x20\x20'+_0x499277['wgAaj'](bold,_0x1295be['displayName'])+':\x20'+_0x499277['SMTgN'](link,_0x1295be['path'],basename(_0x1295be['path'])));}}}console[_0x4c553d(0x126)](_0x4c553d(0x161));const {envs:_0xdb9fd1,activeEnv:_0x38ff0f}=await getEnvironments();if(_0xdb9fd1[_0x4c553d(0x148)]===0x0)console['log'](_0x4c553d(0x13e)),console[_0x4c553d(0x126)]('\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>');else{for(const _0x382e66 of _0xdb9fd1){const _0x2cf14f=_0x382e66['isActive']?_0x499277['amfyK']:'',_0x9972b3=_0x382e66['hasEncryptedAuth']?_0x499277['zrLBv']:_0x382e66['hasPlaintextAuth']?'plaintext':_0x499277[_0x4c553d(0x15a)];console[_0x4c553d(0x126)]('\x20\x20'+bold(_0x382e66['name'])+_0x2cf14f),console[_0x4c553d(0x126)]('\x20\x20\x20\x20Auth:\x20'+_0x9972b3),_0x382e66['settingsPath']!==_0x499277['EyrWG']&&console['log']('\x20\x20\x20\x20Settings:\x20'+link(_0x382e66[_0x4c553d(0x130)],basename(_0x382e66['settingsPath'])));}!_0x38ff0f&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console['log']('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0xdb9fd1[_0x4c553d(0x14a)](_0x1d169c=>_0x1d169c[_0x4c553d(0x151)])[_0x4c553d(0x139)](',\x20')+')'));}console[_0x4c553d(0x126)]('');}
|
package/build/commands/update.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x4775d3,_0x1d92cf){const _0x3f1f96=_0x542e,_0x276ea1=_0x4775d3();while(!![]){try{const _0x4c5c9a=-parseInt(_0x3f1f96(0x1ed))/0x1+parseInt(_0x3f1f96(0x1ea))/0x2+-parseInt(_0x3f1f96(0x221))/0x3*(-parseInt(_0x3f1f96(0x209))/0x4)+parseInt(_0x3f1f96(0x1e4))/0x5+parseInt(_0x3f1f96(0x1e5))/0x6*(-parseInt(_0x3f1f96(0x1fb))/0x7)+parseInt(_0x3f1f96(0x219))/0x8+-parseInt(_0x3f1f96(0x217))/0x9;if(_0x4c5c9a===_0x1d92cf)break;else _0x276ea1['push'](_0x276ea1['shift']());}catch(_0x13772d){_0x276ea1['push'](_0x276ea1['shift']());}}}(_0x261a,0xc0f5a));import{spawn}from'child_process';import{existsSync}from'fs';function _0x542e(_0xb76042,_0x552d25){_0xb76042=_0xb76042-0x1e4;const _0x261a07=_0x261a();let _0x542e47=_0x261a07[_0xb76042];return _0x542e47;}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 _0x5be9f1=_0x542e,_0x3648f8={'QuNyp':'install','YmMnj':_0x5be9f1(0x1ef),'NKDmH':function(_0x19bf90,_0x2914b2){return _0x19bf90===_0x2914b2;}};return new Promise(_0x3c15b3=>{const _0x5eb05=_0x5be9f1;console['log']('\x0aInstalling\x20'+PACKAGE_NAME+_0x5eb05(0x21c));const _0x479efb=spawn(_0x5eb05(0x1eb),[_0x3648f8[_0x5eb05(0x1f3)],'-g',PACKAGE_NAME+_0x5eb05(0x205)],{'stdio':_0x3648f8['YmMnj'],'shell':_0x3648f8[_0x5eb05(0x1fd)](process['platform'],'win32')});_0x479efb['on']('close',_0x4110b2=>{_0x3c15b3(_0x4110b2===0x0);}),_0x479efb['on'](_0x5eb05(0x21e),()=>{_0x3c15b3(![]);});});}async function updateClaudeMarketplace(){const _0x58f016=_0x542e,_0x592881={'NYYhr':function(_0xe90593,_0x121e98,_0x48f962,_0x20f8fb){return _0xe90593(_0x121e98,_0x48f962,_0x20f8fb);},'MJEsx':_0x58f016(0x215),'eolKh':'update','GCGzy':'trailhead','bvQvy':'close','VyQon':'error'};return new Promise(_0x13bc52=>{const _0x1049c5=_0x58f016,_0x19d4d7={'eYyGp':function(_0x5afa06,_0x33029e){return _0x5afa06(_0x33029e);}},_0x41bd5b=_0x592881['NYYhr'](spawn,'claude',['plugin',_0x592881['MJEsx'],_0x592881[_0x1049c5(0x1f6)],_0x592881['GCGzy']],{'stdio':_0x1049c5(0x1ee),'shell':process[_0x1049c5(0x202)]==='win32'});_0x41bd5b['on'](_0x592881[_0x1049c5(0x212)],_0x954e3b=>{_0x13bc52(_0x954e3b===0x0);}),_0x41bd5b['on'](_0x592881['VyQon'],()=>{_0x19d4d7['eYyGp'](_0x13bc52,![]);});});}async function updateClaudePlugin(_0x3a9442){const _0x2fb82c=_0x542e,_0x3a7e72={'tzxYy':function(_0x5929f9,_0x4448e1){return _0x5929f9(_0x4448e1);},'eIekH':_0x2fb82c(0x21d),'LNXjq':'claude','YZPQa':'pipe','gtTlS':function(_0x66342,_0x1d1e5e){return _0x66342===_0x1d1e5e;},'KCQyy':_0x2fb82c(0x216),'GjnoO':'close'};return new Promise(_0x1584b9=>{const _0xdf272c=_0x2fb82c,_0x1b807e={'byfEV':function(_0x2e23b1,_0x39c33f){return _0x3a7e72['tzxYy'](_0x2e23b1,_0x39c33f);},'AdUVI':function(_0x1175d6,_0x13f41e){return _0x1175d6===_0x13f41e;}},_0x22a9a8=[_0x3a7e72['eIekH'],'update','ranger@trailhead'];_0x3a9442&&_0x22a9a8['push']('--scope',_0x3a9442);const _0x54025e=spawn(_0x3a7e72[_0xdf272c(0x20f)],_0x22a9a8,{'stdio':_0x3a7e72['YZPQa'],'shell':_0x3a7e72[_0xdf272c(0x1f5)](process['platform'],_0x3a7e72['KCQyy'])});_0x54025e['on'](_0x3a7e72[_0xdf272c(0x1fa)],_0x182f9b=>{const _0x32582c=_0xdf272c;_0x1b807e['byfEV'](_0x1584b9,_0x1b807e[_0x32582c(0x204)](_0x182f9b,0x0));}),_0x54025e['on'](_0xdf272c(0x21e),()=>{_0x1584b9(![]);});});}function isSkillInstalled(_0x594b77,_0x4f4306,_0x3e784d){const _0x211505=_0x542e,_0x1730de={'mnhxq':_0x211505(0x20d),'bfqYx':function(_0x5b3d9f,_0x292155){return _0x5b3d9f(_0x292155);},'KQsHg':function(_0x35a0bf,_0x597b54){return _0x35a0bf(_0x597b54);}},_0x519a60=_0x3e784d===_0x1730de[_0x211505(0x1f8)]?_0x1730de['bfqYx'](getOpencodeSkillsDir,_0x4f4306):_0x1730de['KQsHg'](getSkillsDir,_0x4f4306),_0x430232=join(_0x519a60,_0x594b77);return existsSync(_0x430232);}function _0x261a(){const _0x812d82=['Jawzf','24412WkEweW','npm','push','175417bMnJYc','pipe','inherit','VnXGq','\x0aCould\x20not\x20check\x20latest\x20version:\x20','atOZD','QuNyp','WasAb','gtTlS','eolKh','\x0aCurrent\x20version:\x20','mnhxq','\x0a✅\x20Update\x20complete!','GjnoO','4067HXVDnD','KRVAp','NKDmH','Attempting\x20install\x20anyway...','\x0aReinstalling\x20','join','pVaPT','platform','user','AdUVI','@latest','warn','.gitignore','Latest\x20version:\x20\x20','4IktVDk','Update\x20failed:\x20','endsWith','utf-8','opencode','ranger@trailhead','LNXjq','claude','version','bvQvy','log','trailhead','marketplace','win32','21307086sAXUiG',')\x20is\x20newer\x20than\x20the\x20published\x20version\x20(','7521520aZINmU','imgep','active-profile.txt','@latest...\x0a','plugin','error','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','splice','4480869JBPvew','active-feature.txt','6858840lPMfVD','5004QkdDjY','LDHZy','xOcXo','length'];_0x261a=function(){return _0x812d82;};return _0x261a();}async function reinstallSkills(_0x13cda8){const _0x136f2e=_0x542e,_0x18067b={'HEHRj':_0x136f2e(0x203),'KvqWd':function(_0x383fd9,_0x1152b4,_0x2c22c9,_0x55e470){return _0x383fd9(_0x1152b4,_0x2c22c9,_0x55e470);},'ToyjB':function(_0x27717c,_0x385df3,_0x4c61bf,_0x412627){return _0x27717c(_0x385df3,_0x4c61bf,_0x412627);},'atOZD':_0x136f2e(0x20d),'imgep':'\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.'},_0x3f3319=['project',_0x18067b['HEHRj']],_0xed7d92=[];for(const _0x59947a of _0x3f3319){for(const _0x567e8e of RANGER_MANAGED_SKILLS){_0x18067b['KvqWd'](isSkillInstalled,_0x567e8e,_0x59947a,_0x136f2e(0x210))&&_0xed7d92['push']({'skillName':_0x567e8e,'level':_0x59947a,'platform':'claude'}),_0x18067b['ToyjB'](isSkillInstalled,_0x567e8e,_0x59947a,'opencode')&&_0xed7d92[_0x136f2e(0x1ec)]({'skillName':_0x567e8e,'level':_0x59947a,'platform':_0x18067b[_0x136f2e(0x1f2)]});}}for(const _0x22da76 of _0x3f3319){for(const _0x550a3f of DEPRECATED_SKILLS){await removeSkill(_0x550a3f,_0x22da76);}}if(_0xed7d92[_0x136f2e(0x1e8)]===0x0){console['log'](_0x18067b[_0x136f2e(0x21a)]);return;}console['log'](_0x136f2e(0x1ff)+_0xed7d92[_0x136f2e(0x1e8)]+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x4660d7,level:_0x34ad98,platform:_0x18df05}of _0xed7d92){try{await installSkill(_0x4660d7,{'level':_0x34ad98,'cliVersion':_0x13cda8,'platform':_0x18df05});}catch(_0x3e2474){console[_0x136f2e(0x206)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x18df05+'\x20'+_0x34ad98+'\x20skill\x20'+_0x4660d7+':',_0x3e2474);}}}async function ensureActiveProfileGitignored(){const _0x59b256=_0x542e,_0x16f107={'kweDw':_0x59b256(0x207),'oXOdr':_0x59b256(0x21b),'xOcXo':function(_0x5587e0,_0xa0664,_0x2addb2,_0x191824){return _0x5587e0(_0xa0664,_0x2addb2,_0x191824);}},_0x58c370=join(getRangerDir(),_0x16f107['kweDw']);if(!existsSync(_0x58c370))return![];let _0x133463='';try{_0x133463=await readFile(_0x58c370,'utf-8');}catch{return![];}const _0xac4496=_0x133463['split'](/\r?\n/);if(_0xac4496['some'](_0x18dc79=>_0x18dc79['trim']()==='active-profile.txt'))return![];let _0x503b0f=_0xac4496['findIndex'](_0xccd524=>_0xccd524['trim']()===_0x59b256(0x222));_0x503b0f===-0x1&&(_0x503b0f=_0xac4496['length']);_0xac4496[_0x59b256(0x220)](_0x503b0f,0x0,_0x16f107['oXOdr']);let _0x3cb4fe=_0xac4496[_0x59b256(0x200)]('\x0a');!_0x3cb4fe[_0x59b256(0x20b)]('\x0a')&&(_0x3cb4fe+='\x0a');try{await _0x16f107[_0x59b256(0x1e7)](writeFile,_0x58c370,_0x3cb4fe,_0x59b256(0x20c));}catch{return![];}return!![];}export async function update(){const _0x2b382c=_0x542e,_0xe04787={'KRVAp':function(_0x56f322){return _0x56f322();},'VnXGq':function(_0x3a4475){return _0x3a4475();},'dnuAm':_0x2b382c(0x1fe),'LDHZy':'\x0aSuccessfully\x20installed\x20latest\x20version.','pVaPT':function(_0x470627,_0x1bc254){return _0x470627<_0x1bc254;},'TDgzY':function(_0x2ca984,_0xf13b9c){return _0x2ca984(_0xf13b9c);},'Jawzf':_0x2b382c(0x214),'xrCWE':function(_0x2901e0,_0xb65def){return _0x2901e0(_0xb65def);},'kpoyR':_0x2b382c(0x21f),'WasAb':_0x2b382c(0x1f9)},_0x12fb64=_0xe04787[_0x2b382c(0x1fc)](getCurrentVersion);console[_0x2b382c(0x213)](_0x2b382c(0x1f7)+_0x12fb64),console[_0x2b382c(0x213)]('Checking\x20for\x20updates...');const _0xa4ff8a=_0xe04787[_0x2b382c(0x1f0)](getLatestVersion);let _0x32318f=_0x12fb64;if(!_0xa4ff8a['version']){console['warn'](_0x2b382c(0x1f1)+_0xa4ff8a[_0x2b382c(0x21e)]),console['log'](_0xe04787['dnuAm']);const _0x518b5e=await _0xe04787[_0x2b382c(0x1f0)](runInstall);if(_0x518b5e)console['log'](_0xe04787[_0x2b382c(0x1e6)]),_0x32318f=_0xe04787[_0x2b382c(0x1fc)](getCurrentVersion);else throw new Error(_0x2b382c(0x20a)+_0xa4ff8a['error']);}else{const _0x38053b=_0xa4ff8a[_0x2b382c(0x211)];console[_0x2b382c(0x213)](_0x2b382c(0x208)+_0x38053b);const _0x421c48=compareVersions(_0x12fb64,_0x38053b);if(_0x421c48===0x0)console['log']('\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.');else{if(_0xe04787[_0x2b382c(0x201)](_0x421c48,0x0))console['log']('\x0aYour\x20version\x20('+_0x12fb64+_0x2b382c(0x218)+_0x38053b+').');else{const _0x3729f4=await _0xe04787['KRVAp'](runInstall);if(_0x3729f4)console[_0x2b382c(0x213)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x38053b),_0x32318f=_0x38053b;else throw new Error('Update\x20failed.');}}}await reinstallSkills(_0x32318f);const _0x108cea=await _0xe04787['TDgzY'](isMarketplaceAdded,_0xe04787[_0x2b382c(0x1e9)]),_0x2084b2=await _0xe04787['xrCWE'](isPluginInstalled,_0x2b382c(0x20e));if(_0x108cea){const _0x6c7c6f=await updateClaudeMarketplace();_0x6c7c6f&&console[_0x2b382c(0x213)]('\x0aClaude\x20marketplace\x20updated\x20(trailhead).');}if(_0x2084b2){const _0x2dd23d=await _0xe04787['VnXGq'](updateClaudePlugin);_0x2dd23d&&console['log'](_0xe04787['kpoyR']);const _0x5e765a=await updateClaudePlugin('project');_0x5e765a&&console['log']((_0x2dd23d?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x1f47b6=await migrateActiveProfileFile();_0x1f47b6&&console[_0x2b382c(0x213)]('✓\x20Migrated\x20active\x20profile\x20file');const _0x5732ca=await ensureActiveProfileGitignored();console[_0x2b382c(0x213)](_0xe04787[_0x2b382c(0x1f4)]);}
|
|
1
|
+
function _0x8a5e(_0x5aa3f9,_0x2e7c9b){_0x5aa3f9=_0x5aa3f9-0x1b5;const _0x3a7696=_0x3a76();let _0x8a5e6a=_0x3a7696[_0x5aa3f9];return _0x8a5e6a;}(function(_0x5a28f5,_0x5ba861){const _0x493866=_0x8a5e,_0x38208c=_0x5a28f5();while(!![]){try{const _0x266042=-parseInt(_0x493866(0x1ed))/0x1*(-parseInt(_0x493866(0x1d6))/0x2)+-parseInt(_0x493866(0x1ec))/0x3+parseInt(_0x493866(0x1d5))/0x4+parseInt(_0x493866(0x1d0))/0x5*(-parseInt(_0x493866(0x1e4))/0x6)+parseInt(_0x493866(0x1b5))/0x7*(parseInt(_0x493866(0x1dc))/0x8)+-parseInt(_0x493866(0x1bc))/0x9*(-parseInt(_0x493866(0x1f2))/0xa)+-parseInt(_0x493866(0x1c5))/0xb;if(_0x266042===_0x5ba861)break;else _0x38208c['push'](_0x38208c['shift']());}catch(_0x2c379d){_0x38208c['push'](_0x38208c['shift']());}}}(_0x3a76,0x50df2));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 _0x3bff26=_0x8a5e,_0x1da36d={'SAwtU':_0x3bff26(0x1c9),'nEkMR':function(_0x513937,_0x11c776){return _0x513937===_0x11c776;}};return new Promise(_0x5ccf1a=>{const _0x46b7b9=_0x3bff26;console['log']('\x0aInstalling\x20'+PACKAGE_NAME+_0x46b7b9(0x1f4));const _0xffd174=spawn(_0x1da36d['SAwtU'],[_0x46b7b9(0x1ba),'-g',PACKAGE_NAME+'@latest'],{'stdio':_0x46b7b9(0x1cf),'shell':_0x1da36d[_0x46b7b9(0x1c3)](process['platform'],'win32')});_0xffd174['on'](_0x46b7b9(0x1e1),_0x4778b4=>{_0x5ccf1a(_0x4778b4===0x0);}),_0xffd174['on'](_0x46b7b9(0x1d2),()=>{_0x5ccf1a(![]);});});}async function updateClaudeMarketplace(){const _0x10168d=_0x8a5e,_0x368de6={'TbcIo':function(_0x4d1e54,_0x468b7b){return _0x4d1e54===_0x468b7b;},'IdIUE':function(_0x38834e,_0x2b4b77){return _0x38834e(_0x2b4b77);},'gMknx':function(_0x4dbeb1,_0x57adef,_0x43dd26,_0x874d99){return _0x4dbeb1(_0x57adef,_0x43dd26,_0x874d99);},'mAraD':_0x10168d(0x1ca),'YoBlO':_0x10168d(0x1e3),'wkbbv':_0x10168d(0x1de),'lbUVV':'update','FBjpM':'pipe','whLod':_0x10168d(0x1e1),'GOfPc':'error'};return new Promise(_0x25e373=>{const _0x3312a3=_0x10168d,_0x1cf38a=_0x368de6['gMknx'](spawn,_0x368de6['mAraD'],[_0x368de6['YoBlO'],_0x368de6['wkbbv'],_0x368de6['lbUVV'],'trailhead'],{'stdio':_0x368de6[_0x3312a3(0x1e8)],'shell':process[_0x3312a3(0x1f1)]===_0x3312a3(0x1c2)});_0x1cf38a['on'](_0x368de6['whLod'],_0x95d886=>{_0x25e373(_0x368de6['TbcIo'](_0x95d886,0x0));}),_0x1cf38a['on'](_0x368de6[_0x3312a3(0x1d3)],()=>{_0x368de6['IdIUE'](_0x25e373,![]);});});}async function updateClaudePlugin(_0x20bedc){const _0x2d2ff5=_0x8a5e,_0x4e9da3={'WHDbC':function(_0x5885ec,_0x5d68bf,_0xbbcd83,_0xadf613){return _0x5885ec(_0x5d68bf,_0xbbcd83,_0xadf613);},'hWrhG':_0x2d2ff5(0x1ca),'KnoVw':'pipe','kvubV':function(_0x290285,_0x4eaeca){return _0x290285===_0x4eaeca;},'dsbXI':'win32','BiZLv':_0x2d2ff5(0x1d2)};return new Promise(_0x5e9a11=>{const _0x31c5f0=_0x2d2ff5,_0x5f309f={'UhMNZ':function(_0x17cbb2,_0x57fc50){return _0x17cbb2(_0x57fc50);}},_0xce2d9d=[_0x31c5f0(0x1e3),'update',_0x31c5f0(0x1bb)];_0x20bedc&&_0xce2d9d[_0x31c5f0(0x1c1)](_0x31c5f0(0x1d7),_0x20bedc);const _0x2e8ee6=_0x4e9da3[_0x31c5f0(0x1df)](spawn,_0x4e9da3[_0x31c5f0(0x1ea)],_0xce2d9d,{'stdio':_0x4e9da3[_0x31c5f0(0x1bd)],'shell':_0x4e9da3['kvubV'](process['platform'],_0x4e9da3['dsbXI'])});_0x2e8ee6['on']('close',_0x33b4bb=>{_0x5e9a11(_0x33b4bb===0x0);}),_0x2e8ee6['on'](_0x4e9da3[_0x31c5f0(0x1b6)],()=>{_0x5f309f['UhMNZ'](_0x5e9a11,![]);});});}function isSkillInstalled(_0x3c8d91,_0x40f97b,_0x427fd3){const _0x3d7e25=_0x8a5e,_0x355cff={'GGUqc':_0x3d7e25(0x1e2),'PsBIC':function(_0xad25d6,_0x46cb86){return _0xad25d6(_0x46cb86);}},_0x40286d=_0x427fd3===_0x355cff[_0x3d7e25(0x1d8)]?_0x355cff[_0x3d7e25(0x1c7)](getOpencodeSkillsDir,_0x40f97b):getSkillsDir(_0x40f97b),_0x12be95=join(_0x40286d,_0x3c8d91);return existsSync(_0x12be95);}async function reinstallSkills(_0x19a916){const _0x4b5140=_0x8a5e,_0xb6d2f7={'ZzJWh':'user','XPSlS':function(_0x2af4f4,_0x39c45b,_0x10acfb,_0x49a66c){return _0x2af4f4(_0x39c45b,_0x10acfb,_0x49a66c);},'fWprP':'claude','xCclr':function(_0x342ce6,_0x582299,_0x262b89,_0x1cbe9d){return _0x342ce6(_0x582299,_0x262b89,_0x1cbe9d);},'Zxxzt':function(_0x1ffae8,_0x25bb69){return _0x1ffae8===_0x25bb69;},'LeDWC':_0x4b5140(0x1c4)},_0x345fbe=[_0x4b5140(0x1e9),_0xb6d2f7[_0x4b5140(0x1f0)]],_0x36957f=[];for(const _0x5e67d3 of _0x345fbe){for(const _0x1d53a8 of RANGER_MANAGED_SKILLS){_0xb6d2f7[_0x4b5140(0x1c8)](isSkillInstalled,_0x1d53a8,_0x5e67d3,_0x4b5140(0x1ca))&&_0x36957f['push']({'skillName':_0x1d53a8,'level':_0x5e67d3,'platform':_0xb6d2f7['fWprP']}),_0xb6d2f7['xCclr'](isSkillInstalled,_0x1d53a8,_0x5e67d3,'opencode')&&_0x36957f[_0x4b5140(0x1c1)]({'skillName':_0x1d53a8,'level':_0x5e67d3,'platform':'opencode'});}}for(const _0x51d3c9 of _0x345fbe){for(const _0x2db516 of DEPRECATED_SKILLS){await removeSkill(_0x2db516,_0x51d3c9);}}if(_0xb6d2f7['Zxxzt'](_0x36957f[_0x4b5140(0x1db)],0x0)){console['log'](_0xb6d2f7[_0x4b5140(0x1f7)]);return;}console[_0x4b5140(0x1d9)](_0x4b5140(0x1e7)+_0x36957f[_0x4b5140(0x1db)]+_0x4b5140(0x1cc));for(const {skillName:_0x30970c,level:_0x34af10,platform:_0x51d2f3}of _0x36957f){try{await installSkill(_0x30970c,{'level':_0x34af10,'cliVersion':_0x19a916,'platform':_0x51d2f3});}catch(_0x38eb44){console[_0x4b5140(0x1b8)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x51d2f3+'\x20'+_0x34af10+'\x20skill\x20'+_0x30970c+':',_0x38eb44);}}}async function ensureActiveProfileGitignored(){const _0x205ff7=_0x8a5e,_0x3048fb={'VSikw':function(_0x2fc766){return _0x2fc766();},'rJxYy':function(_0x1037f8,_0x10a813){return _0x1037f8(_0x10a813);},'USUeM':'active-profile.txt','njxoq':function(_0x3c51e1,_0xb3ffb5,_0x3bfa3f,_0x357b52){return _0x3c51e1(_0xb3ffb5,_0x3bfa3f,_0x357b52);},'WdOSd':'utf-8'},_0x50deb2=join(_0x3048fb[_0x205ff7(0x1d1)](getRangerDir),_0x205ff7(0x1eb));if(!_0x3048fb['rJxYy'](existsSync,_0x50deb2))return![];let _0x56e293='';try{_0x56e293=await readFile(_0x50deb2,_0x205ff7(0x1ce));}catch{return![];}const _0x267aa1=_0x56e293['split'](/\r?\n/);if(_0x267aa1['some'](_0x3ccf96=>_0x3ccf96[_0x205ff7(0x1e6)]()===_0x205ff7(0x1e5)))return![];let _0x2a60ec=_0x267aa1[_0x205ff7(0x1d4)](_0x50947b=>_0x50947b[_0x205ff7(0x1e6)]()===_0x205ff7(0x1dd));_0x2a60ec===-0x1&&(_0x2a60ec=_0x267aa1['length']);_0x267aa1['splice'](_0x2a60ec,0x0,_0x3048fb[_0x205ff7(0x1be)]);let _0x139c9b=_0x267aa1['join']('\x0a');!_0x139c9b['endsWith']('\x0a')&&(_0x139c9b+='\x0a');try{await _0x3048fb['njxoq'](writeFile,_0x50deb2,_0x139c9b,_0x3048fb['WdOSd']);}catch{return![];}return!![];}function _0x3a76(){const _0x325cea=['KnoVw','USUeM','cRZZo','Update\x20failed.','push','win32','nEkMR','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','882739NiOGQy','KfFoY','PsBIC','XPSlS','npm','claude','\x0aCould\x20not\x20check\x20latest\x20version:\x20','\x20ranger-managed\x20skill(s)...','LHNnw','utf-8','inherit','15USpoFC','VSikw','error','GOfPc','findIndex','334996kMSYZm','9228vbRSSS','--scope','GGUqc','log','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','length','16OEaIri','active-feature.txt','marketplace','WHDbC','fGyrZ','close','opencode','plugin','266232xoZzLT','active-profile.txt','trim','\x0aReinstalling\x20','FBjpM','project','hWrhG','.gitignore','483609VcGBuY','96aqtTKN','\x0aYour\x20version\x20(','version','ZzJWh','platform','110mgqpPw','Attempting\x20install\x20anyway...','@latest...\x0a','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','qXXZB','LeDWC','Checking\x20for\x20updates...','167748qOomla','BiZLv','Ghnbc','warn','\x0aSuccessfully\x20updated\x20to\x20version\x20','install','ranger@trailhead','107343XMAJgb'];_0x3a76=function(){return _0x325cea;};return _0x3a76();}export async function update(){const _0x173903=_0x8a5e,_0x30ce67={'oLnzY':_0x173903(0x1f8),'Ghnbc':function(_0xdee661){return _0xdee661();},'cRZZo':_0x173903(0x1f3),'LHNnw':'\x0aSuccessfully\x20installed\x20latest\x20version.','fGyrZ':'\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','KfFoY':function(_0x162b15,_0x1647f7){return _0x162b15(_0x1647f7);},'qXXZB':'ranger@trailhead'},_0x2b45fd=getCurrentVersion();console[_0x173903(0x1d9)]('\x0aCurrent\x20version:\x20'+_0x2b45fd),console[_0x173903(0x1d9)](_0x30ce67['oLnzY']);const _0x7cafca=_0x30ce67[_0x173903(0x1b7)](getLatestVersion);let _0x5ed8b9=_0x2b45fd;if(!_0x7cafca[_0x173903(0x1ef)]){console['warn'](_0x173903(0x1cb)+_0x7cafca[_0x173903(0x1d2)]),console[_0x173903(0x1d9)](_0x30ce67[_0x173903(0x1bf)]);const _0x56df00=await runInstall();if(_0x56df00)console[_0x173903(0x1d9)](_0x30ce67[_0x173903(0x1cd)]),_0x5ed8b9=getCurrentVersion();else throw new Error('Update\x20failed:\x20'+_0x7cafca['error']);}else{const _0x5018a5=_0x7cafca['version'];console[_0x173903(0x1d9)]('Latest\x20version:\x20\x20'+_0x5018a5);const _0x3f5ce3=compareVersions(_0x2b45fd,_0x5018a5);if(_0x3f5ce3===0x0)console[_0x173903(0x1d9)](_0x30ce67[_0x173903(0x1e0)]);else{if(_0x3f5ce3<0x0)console[_0x173903(0x1d9)](_0x173903(0x1ee)+_0x2b45fd+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x5018a5+').');else{const _0x5314df=await runInstall();if(_0x5314df)console['log'](_0x173903(0x1b9)+_0x5018a5),_0x5ed8b9=_0x5018a5;else throw new Error(_0x173903(0x1c0));}}}await reinstallSkills(_0x5ed8b9);const _0x35c73b=await _0x30ce67['KfFoY'](isMarketplaceAdded,'trailhead'),_0x5b599d=await isPluginInstalled(_0x30ce67[_0x173903(0x1f6)]);if(_0x35c73b){const _0x5b177f=await _0x30ce67['Ghnbc'](updateClaudeMarketplace);_0x5b177f&&console[_0x173903(0x1d9)](_0x173903(0x1f5));}if(_0x5b599d){const _0x3fbc03=await updateClaudePlugin();_0x3fbc03&&console['log'](_0x173903(0x1da));const _0x1406e1=await _0x30ce67[_0x173903(0x1c6)](updateClaudePlugin,'project');_0x1406e1&&console['log']((_0x3fbc03?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0xabe333=await migrateActiveProfileFile();_0xabe333&&console['log']('✓\x20Migrated\x20active\x20profile\x20file');const _0x35c1de=await _0x30ce67[_0x173903(0x1b7)](ensureActiveProfileGitignored);console[_0x173903(0x1d9)]('\x0a✅\x20Update\x20complete!');}
|