@ranger-testing/ranger-cli 2.3.1 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/setup/claude.js +1 -1
  25. package/build/commands/setup/opencode.js +1 -1
  26. package/build/commands/setupCi.js +1 -1
  27. package/build/commands/skillup.js +1 -1
  28. package/build/commands/start.js +1 -1
  29. package/build/commands/status.js +1 -1
  30. package/build/commands/update.js +1 -1
  31. package/build/commands/updateEnv.js +1 -1
  32. package/build/commands/useEnv.js +1 -1
  33. package/build/commands/utils/activeProfile.js +1 -1
  34. package/build/commands/utils/agentEnv.js +1 -0
  35. package/build/commands/utils/browserSessionsApi.js +1 -1
  36. package/build/commands/utils/claudeConfig.js +1 -1
  37. package/build/commands/utils/claudePlugin.js +1 -1
  38. package/build/commands/utils/crypto.js +1 -1
  39. package/build/commands/utils/desirePathLog.js +1 -1
  40. package/build/commands/utils/deviceAuth.js +1 -1
  41. package/build/commands/utils/environment.js +1 -1
  42. package/build/commands/utils/featureApi.js +1 -1
  43. package/build/commands/utils/featureReportGenerator.js +1 -1
  44. package/build/commands/utils/fixWebmDuration.js +1 -1
  45. package/build/commands/utils/git.js +1 -1
  46. package/build/commands/utils/keychain.js +1 -1
  47. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  48. package/build/commands/utils/mcpImageBase64.js +1 -1
  49. package/build/commands/utils/model.js +1 -1
  50. package/build/commands/utils/opencodeConfig.js +1 -1
  51. package/build/commands/utils/playwrightCli.js +1 -1
  52. package/build/commands/utils/profileMessages.js +1 -1
  53. package/build/commands/utils/profileSetupBanner.js +1 -1
  54. package/build/commands/utils/rangerConfig.js +1 -1
  55. package/build/commands/utils/rangerRoot.js +1 -1
  56. package/build/commands/utils/reportGenerator.js +1 -1
  57. package/build/commands/utils/retry.js +1 -1
  58. package/build/commands/utils/sessionCache.js +1 -1
  59. package/build/commands/utils/settings.js +1 -1
  60. package/build/commands/utils/skillContent.js +1 -1
  61. package/build/commands/utils/skills.js +1 -1
  62. package/build/commands/utils/stitchWebmFiles.js +1 -1
  63. package/build/commands/utils/telemetry.js +1 -1
  64. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  65. package/build/commands/utils/userApi.js +1 -1
  66. package/build/commands/utils/version.js +1 -1
  67. package/build/commands/verifyFeature.js +1 -1
  68. package/build/commands/verifyFeatureCli.js +1 -1
  69. package/build/commands/verifyInBrowser.js +1 -1
  70. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x2ced36,_0x3cadda){const _0x2c5814=_0x4fbb,_0x49d836=_0x2ced36();while(!![]){try{const _0x1eb070=parseInt(_0x2c5814(0x12c))/0x1*(parseInt(_0x2c5814(0x11f))/0x2)+parseInt(_0x2c5814(0x12a))/0x3*(-parseInt(_0x2c5814(0x12d))/0x4)+parseInt(_0x2c5814(0x122))/0x5*(-parseInt(_0x2c5814(0x124))/0x6)+-parseInt(_0x2c5814(0x11b))/0x7*(parseInt(_0x2c5814(0x134))/0x8)+-parseInt(_0x2c5814(0x133))/0x9*(parseInt(_0x2c5814(0x11e))/0xa)+-parseInt(_0x2c5814(0x120))/0xb*(-parseInt(_0x2c5814(0x121))/0xc)+parseInt(_0x2c5814(0x11d))/0xd;if(_0x1eb070===_0x3cadda)break;else _0x49d836['push'](_0x49d836['shift']());}catch(_0x5dfae2){_0x49d836['push'](_0x49d836['shift']());}}}(_0x5a1f,0x67aca));import{appendFile}from'fs/promises';function _0x5a1f(){const _0x572afe=['28472ezkShG','stdin','273vEkBsq','KApDy','7565480gcwkEM','716460sZSkxf','2PFVvfo','143mMCxQV','732528rRIlAg','80UnYpSK','success','101814VFeiWi','OTUUT','main','hook:session-start','bbgUD','export\x20CLAUDE_SESSION_ID=\x22','42192kRKAZM','master','683513DmjQVz','124lFvRsb','HvhgA','log','CLAUDE_ENV_FILE','parse','env','99SJrFNF'];_0x5a1f=function(){return _0x572afe;};return _0x5a1f();}function _0x4fbb(_0x1dbeb4,_0x1ae66a){_0x1dbeb4=_0x1dbeb4-0x11b;const _0x5a1f5d=_0x5a1f();let _0x4fbbd7=_0x5a1f5d[_0x1dbeb4];return _0x4fbbd7;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x52133e){const _0x5e3305=_0x4fbb,_0x26756c={'Youka':function(_0x2bd791,_0x4a3219){return _0x2bd791||_0x4a3219;},'GdcRY':'session_id','OTUUT':'source','bbgUD':function(_0x5d9c40,_0x1dd7c9){return _0x5d9c40&&_0x1dd7c9;},'zUYFC':function(_0x4a7c35,_0x51ae8e){return _0x4a7c35(_0x51ae8e);},'HvhgA':function(_0x7cfad4,_0x2623be){return _0x7cfad4(_0x2623be);},'KApDy':function(_0x11a168,_0x702640){return _0x11a168(_0x702640);},'MFjQF':_0x5e3305(0x123),'puUQg':_0x5e3305(0x12b)};let _0x47589c=_0x26756c['Youka'](_0x52133e,''),_0x525b74;if(!_0x52133e){let _0x535a86='';for await(const _0x42032e of process[_0x5e3305(0x135)]){_0x535a86+=_0x42032e;}try{const _0x3d67d7=JSON[_0x5e3305(0x131)](_0x535a86);_0x47589c=_0x3d67d7[_0x26756c['GdcRY']]||'',_0x525b74=_0x3d67d7[_0x26756c[_0x5e3305(0x125)]];}catch{}const _0x14ae6c=process[_0x5e3305(0x132)][_0x5e3305(0x130)];if(_0x26756c[_0x5e3305(0x128)](_0x14ae6c,_0x47589c))try{await appendFile(_0x14ae6c,_0x5e3305(0x129)+_0x47589c+'\x22\x0a');}catch{}}if(_0x47589c){shouldAutoEnableAfterClear(_0x525b74)&&_0x26756c['zUYFC'](autoEnableAfterClear,_0x47589c);_0x26756c[_0x5e3305(0x12e)](initBranchTracking,_0x47589c);const _0xa5d15b=_0x26756c[_0x5e3305(0x11c)](isSessionEnabled,_0x47589c);try{const _0x5ba02c=createTelemetryCollector(_0x5e3305(0x127));await _0x5ba02c['trackCommandStart']({'sessionId':_0x47589c,'hooksEnabled':_0xa5d15b}),await _0x5ba02c['trackCommandEnd'](_0x26756c['MFjQF']);}catch{}if(_0xa5d15b){const _0x248808=getCurrentBranch(),_0x29c28e=_0x248808&&_0x248808!==_0x5e3305(0x126)&&_0x248808!==_0x26756c['puUQg']?'\x20(Branch:\x20'+_0x248808+')':'',_0x291fb9={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x29c28e}};console[_0x5e3305(0x12f)](JSON['stringify'](_0x291fb9));}}}
1
+ (function(_0x2d8413,_0x3f8e7f){const _0x3ebb7c=_0x4685,_0x4fe2a2=_0x2d8413();while(!![]){try{const _0x436b12=-parseInt(_0x3ebb7c(0x10d))/0x1+-parseInt(_0x3ebb7c(0x10b))/0x2*(-parseInt(_0x3ebb7c(0x115))/0x3)+parseInt(_0x3ebb7c(0x109))/0x4+parseInt(_0x3ebb7c(0x117))/0x5+parseInt(_0x3ebb7c(0x10e))/0x6+parseInt(_0x3ebb7c(0x116))/0x7*(parseInt(_0x3ebb7c(0x113))/0x8)+parseInt(_0x3ebb7c(0x103))/0x9*(-parseInt(_0x3ebb7c(0x107))/0xa);if(_0x436b12===_0x3f8e7f)break;else _0x4fe2a2['push'](_0x4fe2a2['shift']());}catch(_0x14f92f){_0x4fe2a2['push'](_0x4fe2a2['shift']());}}}(_0xfdad,0x9574e));function _0xfdad(){const _0x4d5a85=['963436raQkiM','6011520ddYgMa','log','NQLzu','IlAVg','success','56jOroUc','session_id','1553190rRnetJ','809851TlcrfS','5354385fgWskT','13621806wYLLMM','iRHjI','qllTA','DasjZ','20FBIKRg','JFYYs','2738280SfTDmw','main','4HmGLPm','trackCommandStart'];_0xfdad=function(){return _0x4d5a85;};return _0xfdad();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x4685(_0x2be0fb,_0x134fd7){_0x2be0fb=_0x2be0fb-0x103;const _0xfdad23=_0xfdad();let _0x468582=_0xfdad23[_0x2be0fb];return _0x468582;}const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x33b3cd){const _0xeb024a=_0x4685,_0x2cd485={'IlAVg':'source','LeylV':function(_0x2aac7b,_0x2ebde2){return _0x2aac7b&&_0x2ebde2;},'NQLzu':function(_0x475c72,_0x53f575,_0x661be7){return _0x475c72(_0x53f575,_0x661be7);},'iRHjI':function(_0x482e42,_0x6247a){return _0x482e42(_0x6247a);},'DasjZ':'hook:session-start','qllTA':_0xeb024a(0x10a),'yxVEK':'SessionStart','JFYYs':function(_0x2a5301,_0x45df2b){return _0x2a5301+_0x45df2b;}};let _0x3c53f0=_0x33b3cd||'',_0x35123a;if(!_0x33b3cd){let _0x226e1c='';for await(const _0x164fa6 of process['stdin']){_0x226e1c+=_0x164fa6;}try{const _0x4ec6be=JSON['parse'](_0x226e1c);_0x3c53f0=_0x4ec6be[_0xeb024a(0x114)]||'',_0x35123a=_0x4ec6be[_0x2cd485[_0xeb024a(0x111)]];}catch{}const _0x11559b=process['env']['CLAUDE_ENV_FILE'];if(_0x2cd485['LeylV'](_0x11559b,_0x3c53f0))try{await _0x2cd485[_0xeb024a(0x110)](appendFile,_0x11559b,'export\x20CLAUDE_SESSION_ID=\x22'+_0x3c53f0+'\x22\x0a');}catch{}}if(_0x3c53f0){shouldAutoEnableAfterClear(_0x35123a)&&_0x2cd485[_0xeb024a(0x104)](autoEnableAfterClear,_0x3c53f0);initBranchTracking(_0x3c53f0);const _0x3443a1=isSessionEnabled(_0x3c53f0);try{const _0x36b228=createTelemetryCollector(_0x2cd485[_0xeb024a(0x106)]);await _0x36b228[_0xeb024a(0x10c)]({'sessionId':_0x3c53f0,'hooksEnabled':_0x3443a1}),await _0x36b228['trackCommandEnd'](_0xeb024a(0x112));}catch{}if(_0x3443a1){const _0x57a4cb=getCurrentBranch(),_0x2fd631=_0x57a4cb&&_0x57a4cb!==_0x2cd485[_0xeb024a(0x105)]&&_0x57a4cb!=='master'?'\x20(Branch:\x20'+_0x57a4cb+')':'',_0x3223dc={'hookSpecificOutput':{'hookEventName':_0x2cd485['yxVEK'],'additionalContext':_0x2cd485[_0xeb024a(0x108)](RANGER_AUTO_ENABLED_PROMPT,_0x2fd631)}};console[_0xeb024a(0x10f)](JSON['stringify'](_0x3223dc));}}}
@@ -1 +1 @@
1
- (function(_0x179e8e,_0x1032e9){const _0x422563=_0x4107,_0x2c2a00=_0x179e8e();while(!![]){try{const _0x1e7bec=parseInt(_0x422563(0x1bd))/0x1+parseInt(_0x422563(0x1d4))/0x2+parseInt(_0x422563(0x1d3))/0x3*(-parseInt(_0x422563(0x1cc))/0x4)+parseInt(_0x422563(0x1c0))/0x5+parseInt(_0x422563(0x1c8))/0x6*(-parseInt(_0x422563(0x1c2))/0x7)+-parseInt(_0x422563(0x1d0))/0x8*(-parseInt(_0x422563(0x1ba))/0x9)+parseInt(_0x422563(0x1b7))/0xa*(-parseInt(_0x422563(0x1d6))/0xb);if(_0x1e7bec===_0x1032e9)break;else _0x2c2a00['push'](_0x2c2a00['shift']());}catch(_0x4ba95a){_0x2c2a00['push'](_0x2c2a00['shift']());}}}(_0x1b6c,0x2a716));import{open}from'fs/promises';import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x1b6c(){const _0x112907=['block','3xMjYQd','454862HJkYRb','includes','1184700TBfjat','size','40CUmddf','usqxa','IJkGg','27XnxWtS','alloc','sessionId','337858pnZqHe','read','utf8','999500XrzRFH','name','21uBEfXQ','\x20for\x20\x22','message','stop_hook_active','currentSessionId','yZtTe','677706FFkldT','`,\x20then\x20run\x20/exit\x20again.','featureId','zTUNN','490732ErptKO','success','uaoqD','YdLbF','802648HZNLRd','KTBVO'];_0x1b6c=function(){return _0x112907;};return _0x1b6c();}export async function stopHook(_0x324076){const _0x12137c=_0x4107,_0x2d719c={'yZtTe':function(_0x3b6e67,_0x94fb1d){return _0x3b6e67(_0x94fb1d);},'usqxa':function(_0x15823b,_0x6fec5d){return _0x15823b(_0x6fec5d);},'fwzww':function(_0x22d65a,_0x533a95,_0x198e9d,_0x486894){return _0x22d65a(_0x533a95,_0x198e9d,_0x486894);},'zTUNN':'RANGER_SKIP_VERIFICATION','IJkGg':function(_0x454d36,_0x5dcf60,_0x1e4bb2){return _0x454d36(_0x5dcf60,_0x1e4bb2);},'wpmUH':function(_0x9d6ef4,_0x19f2bb,_0x3d70d1){return _0x9d6ef4(_0x19f2bb,_0x3d70d1);},'QBOmx':function(_0x3b3b86,_0x4c5f90){return _0x3b3b86&&_0x4c5f90;},'qVVYu':function(_0x1206e9,_0x57ac4f,_0x39b6e0,_0x335e7c){return _0x1206e9(_0x57ac4f,_0x39b6e0,_0x335e7c);},'YdLbF':function(_0x250b70,_0x3d9dfb,_0x424eea,_0x33960e){return _0x250b70(_0x3d9dfb,_0x424eea,_0x33960e);}},_0x27bbd5=await _0x2d719c[_0x12137c(0x1c7)](getEnabledHookContext,_0x324076),_0x3aecb2=_0x27bbd5?.[_0x12137c(0x1bc)]??null,_0x7fa8a7=_0x2d719c[_0x12137c(0x1b8)](Boolean,_0x27bbd5?.['input']?.[_0x12137c(0x1c5)]),_0x14c831=typeof _0x27bbd5?.['input']?.['transcript_path']==='string'?_0x27bbd5['input']['transcript_path']:null;let _0x21698e=!![];if(!_0x3aecb2){await trackStop(_0x3aecb2,![],_0x21698e);return;}try{const _0xdc0ad5=getSessionEntry(_0x3aecb2);if(!_0xdc0ad5){await _0x2d719c['fwzww'](trackStop,_0x3aecb2,!![],_0x21698e);return;}const _0x5810f4='https://dashboard.ranger.net/features/'+_0xdc0ad5['featureId'],_0x44d78b=_0x2d719c[_0x12137c(0x1cb)],_0x55c0bd=await getToken(),_0x29e318=!_0x7fa8a7;let _0x35e43f=null,_0x467ce0=null;const _0x5a8223=_0x7fa8a7&&await _0x2d719c[_0x12137c(0x1b9)](transcriptHasToken,_0x14c831,_0x44d78b),_0x343ea7=await _0x2d719c['wpmUH'](transcriptHasToken,_0x14c831,_0x5810f4);if(_0x55c0bd)try{const _0x3974ef=await _0x2d719c['yZtTe'](getFeature,_0xdc0ad5[_0x12137c(0x1ca)]);_0x35e43f=_0x3974ef[_0x12137c(0x1c1)]??null,_0x467ce0=_0x3974ef[_0x12137c(0x1c6)]??null;}catch{}if(_0x2d719c['QBOmx'](_0x55c0bd,_0x467ce0))try{await _0x2d719c[_0x12137c(0x1b9)](concludeSession,_0xdc0ad5['featureId'],_0x467ce0);}catch(_0x4b8d8f){if(_0x5a8223){await _0x2d719c['qVVYu'](trackStop,_0x3aecb2,!![],_0x21698e);return;}_0x21698e=![];const _0x597f96=_0x4b8d8f instanceof Error?_0x4b8d8f[_0x12137c(0x1c4)]:String(_0x4b8d8f),_0x494b98={'decision':_0x12137c(0x1d2),'reason':'Failed\x20to\x20conclude\x20Ranger\x20feature\x20review\x20session'+(_0x35e43f?_0x12137c(0x1c3)+_0x35e43f+'\x22':'')+':\x0a\x0a'+_0x597f96+'\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('+_0x5810f4+')\x20and\x20the\x20token\x20`'+_0x44d78b+_0x12137c(0x1c9)};console['log'](JSON['stringify'](_0x494b98)),await _0x2d719c[_0x12137c(0x1cf)](trackStop,_0x3aecb2,!![],_0x21698e);return;}await trackStop(_0x3aecb2,!![],_0x21698e);return;}catch{await trackStop(_0x3aecb2,!![],_0x21698e);return;}}function _0x4107(_0x5ae01e,_0x5a8b2c){_0x5ae01e=_0x5ae01e-0x1b7;const _0x1b6c50=_0x1b6c();let _0x41074f=_0x1b6c50[_0x5ae01e];return _0x41074f;}async function trackStop(_0x389c34,_0x21ed56,_0x39338a){const _0x12f8ff=_0x4107,_0x26ccdb={'jdazY':_0x12f8ff(0x1cd)};try{const _0x48a580=createTelemetryCollector('hook:stop');await _0x48a580['trackCommandStart']({'sessionId':_0x389c34??undefined,'hooksEnabled':_0x21ed56,'stopAllowed':_0x39338a}),await _0x48a580['trackCommandEnd'](_0x26ccdb['jdazY']);}catch{}}async function transcriptHasToken(_0x45ce0f,_0x1ddfaf){const _0x16c759=_0x4107,_0x3fac08={'KTBVO':function(_0x4513,_0x20bb74,_0x2a1f3e){return _0x4513(_0x20bb74,_0x2a1f3e);}};if(!_0x45ce0f)return![];const _0x2c844f=await _0x3fac08[_0x16c759(0x1d1)](readTranscriptTail,_0x45ce0f,0x30d40);return _0x2c844f?_0x2c844f[_0x16c759(0x1d5)](_0x1ddfaf):![];}async function readTranscriptTail(_0x12842b,_0x1c95a0){const _0x181ea1=_0x4107,_0xdc309b={'uaoqD':_0x181ea1(0x1bf)};let _0x1f7a17=null;try{_0x1f7a17=await open(_0x12842b,'r');const _0x3a26ff=await _0x1f7a17['stat'](),_0x5df550=Math['min'](_0x3a26ff[_0x181ea1(0x1d7)],_0x1c95a0);if(_0x5df550<=0x0)return'';const _0x5130e7=Buffer[_0x181ea1(0x1bb)](_0x5df550);return await _0x1f7a17[_0x181ea1(0x1be)](_0x5130e7,0x0,_0x5df550,_0x3a26ff['size']-_0x5df550),_0x5130e7['toString'](_0xdc309b[_0x181ea1(0x1ce)]);}catch{return null;}finally{try{await _0x1f7a17?.['close']();}catch{}}}
1
+ (function(_0xba328b,_0x5a8548){const _0x241fa9=_0xfe9a,_0x1529b6=_0xba328b();while(!![]){try{const _0x117c50=parseInt(_0x241fa9(0xf7))/0x1+parseInt(_0x241fa9(0x10b))/0x2+-parseInt(_0x241fa9(0x101))/0x3+parseInt(_0x241fa9(0xfd))/0x4+-parseInt(_0x241fa9(0xfb))/0x5+-parseInt(_0x241fa9(0xf5))/0x6+parseInt(_0x241fa9(0x103))/0x7;if(_0x117c50===_0x5a8548)break;else _0x1529b6['push'](_0x1529b6['shift']());}catch(_0x2ebaa0){_0x1529b6['push'](_0x1529b6['shift']());}}}(_0x3adf,0x660b9));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0xfe9a(_0x3603e6,_0x5cccb7){_0x3603e6=_0x3603e6-0xf5;const _0x3adf0c=_0x3adf();let _0xfe9ae4=_0x3adf0c[_0x3603e6];return _0xfe9ae4;}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x3adf(){const _0x56c5fd=['2980215nujMlA','sessionId','773468hrWdmn','featureId','https://dashboard.ranger.net/features/','log','1867026YHjdwE','currentSessionId','7757680VDSQbW','incomplete','ZJDLT','HpgDT','success','some','trackCommandStart','blocked','965828tSHvGn','2438820fliOzz','status','258311anAduu','filter','closed','hook:stop'];_0x3adf=function(){return _0x56c5fd;};return _0x3adf();}export async function stopHook(_0x190a15){const _0x1a2ab0=_0xfe9a,_0x50b655={'ZJDLT':function(_0x1b1394,_0x28ea22){return _0x1b1394(_0x28ea22);},'Bysqy':function(_0x2ec679,_0x489de7,_0x2e7453,_0x4f9f9f){return _0x2ec679(_0x489de7,_0x2e7453,_0x4f9f9f);},'MBjAW':function(_0x3bf3fd){return _0x3bf3fd();},'HpgDT':function(_0x7a3934,_0x1108ad){return _0x7a3934&&_0x1108ad;},'gqDhP':function(_0x5f27a0,_0x3b7162,_0x447dac,_0x1ba9bf){return _0x5f27a0(_0x3b7162,_0x447dac,_0x1ba9bf);}},_0x4db23f=await _0x50b655['ZJDLT'](getEnabledHookContext,_0x190a15),_0x16ec79=_0x4db23f?.[_0x1a2ab0(0xfc)]??null;let _0x4513e6=!![];if(!_0x16ec79){await _0x50b655['Bysqy'](trackStop,_0x16ec79,![],_0x4513e6);return;}try{const _0x58b0bc=_0x50b655[_0x1a2ab0(0x105)](getSessionEntry,_0x16ec79);if(!_0x58b0bc){await trackStop(_0x16ec79,!![],_0x4513e6);return;}const _0x3e266d=await _0x50b655['MBjAW'](getToken),_0xc86170=_0x1a2ab0(0xff)+_0x58b0bc[_0x1a2ab0(0xfe)];let _0xe368a9=null,_0x166ead=![],_0x2eac1b=![];if(_0x3e266d)try{const _0x17ba72=await getFeature(_0x58b0bc['featureId']);_0xe368a9=_0x17ba72[_0x1a2ab0(0x102)]??null;const _0xfe9ece=_0x17ba72['checklistItems'][_0x1a2ab0(0xf8)](_0x2890e5=>_0x2890e5[_0x1a2ab0(0xfc)]===_0xe368a9);_0x166ead=_0xfe9ece[_0x1a2ab0(0x108)](_0x554820=>_0x554820[_0x1a2ab0(0xf6)]!=='verified'&&_0x554820[_0x1a2ab0(0xf6)]!==_0x1a2ab0(0x10a)&&_0x554820[_0x1a2ab0(0xf6)]!==_0x1a2ab0(0xf9)&&_0x554820[_0x1a2ab0(0xf6)]!==_0x1a2ab0(0x104)),_0x2eac1b=_0xfe9ece[_0x1a2ab0(0x108)](_0x42b908=>_0x42b908[_0x1a2ab0(0xf6)]==='verification_in_progress');}catch{}if(_0x50b655[_0x1a2ab0(0x106)](_0x3e266d,_0xe368a9)&&_0x166ead){if(!_0x2eac1b&&_0x50b655['ZJDLT'](shouldShowStopReminder,_0x16ec79)){const _0x395a16={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0xc86170}};console[_0x1a2ab0(0x100)](JSON['stringify'](_0x395a16));}}if(_0x50b655['HpgDT'](_0x3e266d,_0xe368a9)&&!_0x166ead)try{await concludeSession(_0x58b0bc['featureId'],_0xe368a9);}catch{}await trackStop(_0x16ec79,!![],_0x4513e6);return;}catch{await _0x50b655['gqDhP'](trackStop,_0x16ec79,!![],_0x4513e6);return;}}async function trackStop(_0x2ae0fc,_0x37c93d,_0x63080c){const _0x5059e1=_0xfe9a;try{const _0x287e1f=createTelemetryCollector(_0x5059e1(0xfa));await _0x287e1f[_0x5059e1(0x109)]({'sessionId':_0x2ae0fc??undefined,'hooksEnabled':_0x37c93d,'stopAllowed':_0x63080c}),await _0x287e1f['trackCommandEnd'](_0x5059e1(0x107));}catch{}}
@@ -1 +1 @@
1
- (function(_0x5b53b8,_0x5c3e87){var _0x413aa5=_0x1021,_0x4b48f9=_0x5b53b8();while(!![]){try{var _0x1598ca=-parseInt(_0x413aa5(0x16b))/0x1*(-parseInt(_0x413aa5(0x16f))/0x2)+-parseInt(_0x413aa5(0x16d))/0x3+-parseInt(_0x413aa5(0x172))/0x4*(parseInt(_0x413aa5(0x16a))/0x5)+-parseInt(_0x413aa5(0x16e))/0x6*(-parseInt(_0x413aa5(0x171))/0x7)+-parseInt(_0x413aa5(0x170))/0x8+-parseInt(_0x413aa5(0x16c))/0x9*(-parseInt(_0x413aa5(0x168))/0xa)+-parseInt(_0x413aa5(0x169))/0xb;if(_0x1598ca===_0x5c3e87)break;else _0x4b48f9['push'](_0x4b48f9['shift']());}catch(_0xe95e21){_0x4b48f9['push'](_0x4b48f9['shift']());}}}(_0x2a0c,0xae3e4));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x1021(_0x42260a,_0xd8743b){_0x42260a=_0x42260a-0x168;var _0x2a0c3a=_0x2a0c();var _0x1021b4=_0x2a0c3a[_0x42260a];return _0x1021b4;}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';export{setupCi}from'./setupCi.js';function _0x2a0c(){var _0x59c68d=['212225vibtLc','8kuxeCH','45558QziUnX','1395837QtPWHJ','6gIkWFm','326604UPnzYJ','1256576anNtBA','9443791TgNPbg','32vEIAcm','320lhAsas','12560922TJpuVj'];_0x2a0c=function(){return _0x59c68d;};return _0x2a0c();}
1
+ (function(_0x79ce25,_0x596c61){var _0x26b186=_0x3aa2,_0x596e2=_0x79ce25();while(!![]){try{var _0x43f807=-parseInt(_0x26b186(0x152))/0x1+parseInt(_0x26b186(0x14f))/0x2+parseInt(_0x26b186(0x14d))/0x3*(-parseInt(_0x26b186(0x14e))/0x4)+parseInt(_0x26b186(0x14c))/0x5*(parseInt(_0x26b186(0x150))/0x6)+-parseInt(_0x26b186(0x149))/0x7*(-parseInt(_0x26b186(0x14b))/0x8)+-parseInt(_0x26b186(0x151))/0x9*(parseInt(_0x26b186(0x147))/0xa)+-parseInt(_0x26b186(0x14a))/0xb*(parseInt(_0x26b186(0x148))/0xc);if(_0x43f807===_0x596c61)break;else _0x596e2['push'](_0x596e2['shift']());}catch(_0x304a42){_0x596e2['push'](_0x596e2['shift']());}}}(_0x535b,0x256d2));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 _0x3aa2(_0x3974d3,_0x50aae2){_0x3974d3=_0x3974d3-0x147;var _0x535b0b=_0x535b();var _0x3aa255=_0x535b0b[_0x3974d3];return _0x3aa255;}function _0x535b(){var _0x3cd265=['56199tqCZzo','4eceHbA','311782lBkdFm','1014618AOPdQs','120762uMjptT','197735mLJegs','80qOqVMi','10212fbMgUi','7lUizEN','451vRxezN','1496056eSuqkd','5NqdMix'];_0x535b=function(){return _0x3cd265;};return _0x535b();}export{setupCi}from'./setupCi.js';
@@ -1 +1 @@
1
- function _0x1081(_0xbb51a1,_0x43df45){_0xbb51a1=_0xbb51a1-0x19e;const _0x4fcb36=_0x4fcb();let _0x108148=_0x4fcb36[_0xbb51a1];return _0x108148;}(function(_0x225cce,_0x3f4e5b){const _0x37b284=_0x1081,_0xf960f4=_0x225cce();while(!![]){try{const _0x5ab926=parseInt(_0x37b284(0x1ae))/0x1+-parseInt(_0x37b284(0x1a6))/0x2+parseInt(_0x37b284(0x1a0))/0x3+-parseInt(_0x37b284(0x1a2))/0x4*(-parseInt(_0x37b284(0x1a4))/0x5)+parseInt(_0x37b284(0x1a7))/0x6+-parseInt(_0x37b284(0x1a9))/0x7*(parseInt(_0x37b284(0x1a3))/0x8)+-parseInt(_0x37b284(0x1ad))/0x9;if(_0x5ab926===_0x3f4e5b)break;else _0xf960f4['push'](_0xf960f4['shift']());}catch(_0x5680b5){_0xf960f4['push'](_0xf960f4['shift']());}}}(_0x4fcb,0xde65a));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x4fcb(){const _0x3f068d=['Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Login\x20failed:\x20','4282809XDuFzD','log','5812dyptdi','160aHLExL','3755sqScjD','organizationName','1754940iPyqFL','5651790rygcHA','\x0a✅\x20Logged\x20in\x20to\x20','182259cuZOYc','cnGZb','isTTY','\x0a✅\x20API\x20key\x20stored\x20successfully','11749014wxwLLG','153823yxjVig'];_0x4fcb=function(){return _0x3f068d;};return _0x4fcb();}export async function login(){const _0x438cba=_0x1081,_0x53d10f={'cnGZb':function(_0x2afb5f,_0x3fdcb2){return _0x2afb5f instanceof _0x3fdcb2;}},_0x4425ee=process['stdin']['isTTY']&&process['stdout'][_0x438cba(0x1ab)];if(!_0x4425ee)throw new Error(_0x438cba(0x19e));try{const _0x4563d9=await runDeviceAuthFlow(),_0x179c1f=await getCurrentUser(_0x4563d9);_0x179c1f['success']?console[_0x438cba(0x1a1)](_0x438cba(0x1a8)+_0x179c1f['user'][_0x438cba(0x1a5)]):console[_0x438cba(0x1a1)](_0x438cba(0x1ac));}catch(_0x218711){throw new Error(_0x438cba(0x19f)+(_0x53d10f[_0x438cba(0x1aa)](_0x218711,Error)?_0x218711['message']:_0x218711));}}
1
+ (function(_0x7a02b0,_0x4b4765){const _0x3b2ea1=_0x5869,_0x629711=_0x7a02b0();while(!![]){try{const _0x263b04=parseInt(_0x3b2ea1(0x6d))/0x1*(parseInt(_0x3b2ea1(0x77))/0x2)+parseInt(_0x3b2ea1(0x78))/0x3+-parseInt(_0x3b2ea1(0x6f))/0x4+-parseInt(_0x3b2ea1(0x76))/0x5+parseInt(_0x3b2ea1(0x74))/0x6+-parseInt(_0x3b2ea1(0x6e))/0x7+parseInt(_0x3b2ea1(0x79))/0x8*(-parseInt(_0x3b2ea1(0x70))/0x9);if(_0x263b04===_0x4b4765)break;else _0x629711['push'](_0x629711['shift']());}catch(_0x4d7811){_0x629711['push'](_0x629711['shift']());}}}(_0x232f,0xf0477));function _0x5869(_0x3e2d60,_0x2e89ee){_0x3e2d60=_0x3e2d60-0x6a;const _0x232f59=_0x232f();let _0x5869a0=_0x232f59[_0x3e2d60];return _0x5869a0;}function _0x232f(){const _0x39e897=['452336WQWiwb','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','message','Login\x20failed:\x20','\x0a✅\x20API\x20key\x20stored\x20successfully','isTTY','log','390319bvisWA','8438682TKfRlO','187456jqQibM','279DYeoYb','stdout','stdin','ojnUM','8889126yVCLyF','success','3531835wCCiMh','8CxbYke','4958835JYFmCX'];_0x232f=function(){return _0x39e897;};return _0x232f();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';export async function login(){const _0x7b8666=_0x5869,_0x2c44d2={'ojnUM':function(_0x57d228){return _0x57d228();},'aSyGh':function(_0x50033e,_0x59b4ba){return _0x50033e(_0x59b4ba);},'egYGX':_0x7b8666(0x6a)},_0x5f59ae=process[_0x7b8666(0x72)][_0x7b8666(0x6b)]&&process[_0x7b8666(0x71)][_0x7b8666(0x6b)];if(!_0x5f59ae)throw new Error(_0x7b8666(0x7a));try{const _0x23f28d=await _0x2c44d2[_0x7b8666(0x73)](runDeviceAuthFlow),_0xcbb25e=await _0x2c44d2['aSyGh'](getCurrentUser,_0x23f28d);_0xcbb25e[_0x7b8666(0x75)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0xcbb25e['user']['organizationName']):console[_0x7b8666(0x6c)](_0x2c44d2['egYGX']);}catch(_0x7111a){throw new Error(_0x7b8666(0x7c)+(_0x7111a instanceof Error?_0x7111a[_0x7b8666(0x7b)]:_0x7111a));}}
@@ -1 +1 @@
1
- (function(_0x3f5095,_0x51b7b9){const _0x3e6469=_0x44c0,_0x5c0ce6=_0x3f5095();while(!![]){try{const _0x14c55e=parseInt(_0x3e6469(0x1cb))/0x1+parseInt(_0x3e6469(0x1be))/0x2*(parseInt(_0x3e6469(0x1dd))/0x3)+-parseInt(_0x3e6469(0x1bc))/0x4*(-parseInt(_0x3e6469(0x1c2))/0x5)+parseInt(_0x3e6469(0x1da))/0x6*(parseInt(_0x3e6469(0x1cd))/0x7)+-parseInt(_0x3e6469(0x1db))/0x8*(parseInt(_0x3e6469(0x1d2))/0x9)+parseInt(_0x3e6469(0x1e5))/0xa+parseInt(_0x3e6469(0x1cf))/0xb*(-parseInt(_0x3e6469(0x1e6))/0xc);if(_0x14c55e===_0x51b7b9)break;else _0x5c0ce6['push'](_0x5c0ce6['shift']());}catch(_0x36c91d){_0x5c0ce6['push'](_0x5c0ce6['shift']());}}}(_0x36c3,0x62239));import{join}from'path';import{existsSync}from'fs';function _0x44c0(_0x1a18dc,_0x39bf7b){_0x1a18dc=_0x1a18dc-0x1b2;const _0x36c3e8=_0x36c3();let _0x44c001=_0x36c3e8[_0x1a18dc];return _0x44c001;}import _0xacbd95 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(_0xe85eee){const _0x3d8351=_0x44c0,_0x9920f={'pIbwx':function(_0x5ed0db,_0x246d52){return _0x5ed0db(_0x246d52);},'hbUqF':_0x3d8351(0x1cc),'prUAf':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','CGLLA':function(_0x21149d,_0x31262f,_0x432590){return _0x21149d(_0x31262f,_0x432590);},'cbYub':function(_0x19f7ab){return _0x19f7ab();},'UAAKn':_0x3d8351(0x1c9),'iTnsU':_0x3d8351(0x1d1),'bWHgb':_0x3d8351(0x1bb),'VsVaX':'pluginScope','dcFCG':_0x3d8351(0x1c5),'kJZHS':_0x3d8351(0x1c7),'MQXXl':'Project\x20(shared\x20with\x20team\x20via\x20git)','qjmmi':_0x3d8351(0x1d7),'pPVIR':'plugin','tnYus':_0x3d8351(0x1b2),'zBZoP':'\x0aYou\x20can\x20install\x20manually\x20with:','bCtVi':_0x3d8351(0x1bf),'iJdhC':_0x3d8351(0x1c4),'PpuEm':'--scope','jBjrj':_0x3d8351(0x1d9),'OJbPe':function(_0x2e5ab6,_0x1f3385){return _0x2e5ab6===_0x1f3385;},'SykZV':'already\x20enabled','cefvu':'⚠\x20Failed\x20to\x20enable\x20plugin:','tBAPI':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x3e8ec3=await _0x9920f['pIbwx'](isPluginInstalled,_0x9920f[_0x3d8351(0x1c6)]);if(_0x3e8ec3)return console['log'](_0x9920f['prUAf']),![];const _0x178749=_0x9920f['pIbwx'](existsSync,_0x9920f[_0x3d8351(0x1e1)](join,_0x9920f[_0x3d8351(0x1c0)](getProjectRoot),_0x9920f['UAAKn']));let _0x576e24;if(_0xe85eee)_0x576e24=_0xe85eee;else{if(_0x178749)_0x576e24=_0x9920f['iTnsU'];else{console[_0x3d8351(0x1c1)](_0x3d8351(0x1bd));const _0x1f1f80=await _0xacbd95[_0x3d8351(0x1b3)]([{'type':_0x9920f['bWHgb'],'name':_0x9920f[_0x3d8351(0x1d0)],'message':_0x3d8351(0x1d3),'choices':[{'name':_0x9920f[_0x3d8351(0x1d4)],'value':_0x9920f[_0x3d8351(0x1d8)]},{'name':_0x9920f[_0x3d8351(0x1ce)],'value':_0x9920f['iTnsU']}],'default':'user'}]);_0x576e24=_0x1f1f80['pluginScope'];}}console['log'](_0x3d8351(0x1dc)+_0x576e24+_0x3d8351(0x1e2));const _0x1efdb0=await isMarketplaceAdded('trailhead');let _0x509ef4=_0x1efdb0;if(_0x1efdb0)console[_0x3d8351(0x1c1)](_0x9920f['qjmmi']);else{const _0xfb6b5f=await runClaudeCommand([_0x9920f['pPVIR'],_0x3d8351(0x1e3),_0x3d8351(0x1b5),'ranger-testing/trailhead']);!_0xfb6b5f['success']?(console[_0x3d8351(0x1d6)](_0x9920f['tnYus'],_0xfb6b5f['error']),console['log'](_0x9920f['zBZoP']),console[_0x3d8351(0x1c1)](_0x9920f[_0x3d8351(0x1e4)]),console['log'](_0x3d8351(0x1b9)+_0x576e24)):_0x509ef4=!![];}if(_0x509ef4){const _0x2478f9=await runClaudeCommand([_0x9920f['pPVIR'],_0x9920f[_0x3d8351(0x1c3)],_0x9920f['hbUqF'],_0x9920f['PpuEm'],_0x576e24]);if(!_0x2478f9[_0x3d8351(0x1df)])console['error'](_0x9920f['jBjrj'],_0x2478f9[_0x3d8351(0x1d6)]),console[_0x3d8351(0x1c1)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x3d8351(0x1c1)](_0x3d8351(0x1b9)+_0x576e24);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x59a5a0=['plugin','enable',_0x9920f['hbUqF']];_0x9920f[_0x3d8351(0x1b6)](_0x576e24,_0x9920f['iTnsU'])&&_0x59a5a0['push']('--scope','project');const _0x1e47b5=await _0x9920f['CGLLA'](runClaudeCommand,_0x59a5a0,{'captureOutput':!![]}),_0x48f918=_0x1e47b5['output']?.['includes'](_0x9920f['SykZV']);!_0x1e47b5['success']&&!_0x48f918?console['error'](_0x9920f['cefvu'],_0x1e47b5[_0x3d8351(0x1d6)]):console['log'](_0x9920f[_0x3d8351(0x1b4)]);}}return!![];}export async function ensureClaudeSkills(_0x22180b){const _0x1ff0e7=_0x44c0,_0xff5bfa={'etncI':function(_0x9f6263,_0x26ccb9,_0x458b28,_0x5aea1a){return _0x9f6263(_0x26ccb9,_0x458b28,_0x5aea1a);},'npObt':function(_0xe0c2cd,_0x5d5522){return _0xe0c2cd(_0x5d5522);},'BitbB':'user','lHHiD':'ranger','QApjs':'SKILL.md','ajMIb':function(_0xce630f,_0x584745){return _0xce630f(_0x584745);},'rWQPP':'project','KyRDQ':function(_0x2e763d,_0x1d76bb){return _0x2e763d||_0x1d76bb;},'jAImK':function(_0x156f3b,_0x512999){return _0x156f3b(_0x512999);},'DSzDn':function(_0x493db2){return _0x493db2();},'PArsd':'confirm','DNBfV':_0x1ff0e7(0x1b7),'shtPC':function(_0x1669b2,_0xd85313){return _0x1669b2(_0xd85313);}},_0x3cb98e=existsSync(_0xff5bfa[_0x1ff0e7(0x1d5)](join,_0xff5bfa[_0x1ff0e7(0x1ba)](getSkillsDir,_0xff5bfa['BitbB']),_0xff5bfa['lHHiD'],_0xff5bfa['QApjs'])),_0x109086=_0xff5bfa['npObt'](existsSync,_0xff5bfa['etncI'](join,_0xff5bfa['ajMIb'](getSkillsDir,_0xff5bfa['rWQPP']),'ranger',_0xff5bfa['QApjs']));if(_0xff5bfa['KyRDQ'](_0x3cb98e,_0x109086))return console[_0x1ff0e7(0x1c1)]('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x50b943=_0xff5bfa[_0x1ff0e7(0x1ca)](existsSync,join(_0xff5bfa[_0x1ff0e7(0x1c8)](getProjectRoot),_0x1ff0e7(0x1c9)));let _0x3081b=!![];if(_0x22180b)await skillup({'autoInstall':_0x22180b,'suppressUsage':!![]});else{if(_0x50b943)await skillup({'autoInstall':_0xff5bfa['rWQPP'],'suppressUsage':!![]});else{const _0x153d22=await _0xacbd95[_0x1ff0e7(0x1b3)]([{'type':_0xff5bfa[_0x1ff0e7(0x1de)],'name':'wantsSkillup','message':_0xff5bfa['DNBfV'],'default':!![]}]);_0x3081b=_0x153d22[_0x1ff0e7(0x1b8)],_0x3081b&&await _0xff5bfa[_0x1ff0e7(0x1e0)](skillup,{'suppressUsage':!![]});}}return _0x3081b;}function _0x36c3(){const _0x1a39d9=['MQXXl','187bLqkOL','VsVaX','project','5419521OEyccc','Where\x20should\x20the\x20plugin\x20be\x20installed?','dcFCG','etncI','error','✓\x20Marketplace\x20already\x20added','kJZHS','❌\x20Failed\x20to\x20install\x20plugin:','366iTDeBG','8Ncmvah','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','285OsYnxj','PArsd','success','shtPC','CGLLA','\x20level)...\x0a','marketplace','bCtVi','3025200UIaFMb','382188mjiIIf','❌\x20Failed\x20to\x20add\x20marketplace:','prompt','tBAPI','add','OJbPe','Would\x20you\x20like\x20to\x20install\x20skills?','wantsSkillup','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','npObt','list','503004Gwzcld','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','13202LkdToH','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','cbYub','log','15gPoawq','iJdhC','install','User\x20(available\x20in\x20all\x20your\x20projects)','hbUqF','user','DSzDn','.claude','jAImK','117992kytrkq','ranger@trailhead','13853rcthuA'];_0x36c3=function(){return _0x1a39d9;};return _0x36c3();}
1
+ function _0x2012(){const _0xe16f49=['log','321584CMvMqF','ZAmAU','pluginScope','output','wantsSkillup','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','411mgyylc','2038400hgnHnw','aXRAU','ranger@trailhead','wRRWu','✓\x20Ranger\x20skills\x20already\x20installed','RZgqu','VFWYE','2209400LZCwjE','vMMMX','leWsZ','282760dtpSEB','8972CkIJiU','kkLWc','SKILL.md','ranger-testing/trailhead','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','6756qFYbFS','install','sMLwy','5455UtOcjZ','yYAAL','XFqCH','User\x20(available\x20in\x20all\x20your\x20projects)','user','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','error','xSZrE','2793vuggDT','306WbkGdf','includes','.claude','YqDek','\x20level)...\x0a','already\x20enabled','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','\x0aYou\x20can\x20install\x20manually\x20with:','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','prompt','nLKoK','Where\x20should\x20the\x20plugin\x20be\x20installed?','rRuIN','vXJmO','confirm','IVZZB','project'];_0x2012=function(){return _0xe16f49;};return _0x2012();}(function(_0x1e2d76,_0x24e7a3){const _0x4c2ee6=_0x28cb,_0x4ae23a=_0x1e2d76();while(!![]){try{const _0x2d105d=-parseInt(_0x4c2ee6(0x199))/0x1+-parseInt(_0x4c2ee6(0x1b4))/0x2+parseInt(_0x4c2ee6(0x1ba))/0x3*(-parseInt(_0x4c2ee6(0x191))/0x4)+-parseInt(_0x4c2ee6(0x1bb))/0x5+-parseInt(_0x4c2ee6(0x196))/0x6*(-parseInt(_0x4c2ee6(0x1a1))/0x7)+-parseInt(_0x4c2ee6(0x1c2))/0x8+-parseInt(_0x4c2ee6(0x1a2))/0x9*(-parseInt(_0x4c2ee6(0x190))/0xa);if(_0x2d105d===_0x24e7a3)break;else _0x4ae23a['push'](_0x4ae23a['shift']());}catch(_0xfff93d){_0x4ae23a['push'](_0x4ae23a['shift']());}}}(_0x2012,0x3dd51));import{join}from'path';import{existsSync}from'fs';import _0x504dfa 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(_0x54f051){const _0x329a55=_0x28cb,_0x53a4af={'ZAmAU':function(_0x1b2a17,_0x246806){return _0x1b2a17(_0x246806);},'rRuIN':_0x329a55(0x1b9),'aXRAU':_0x329a55(0x1a4),'nLKoK':_0x329a55(0x1b2),'YqDek':'list','nZLar':_0x329a55(0x1b6),'SaMaM':_0x329a55(0x1ad),'Wbfcc':_0x329a55(0x19d),'RZgqu':'Project\x20(shared\x20with\x20team\x20via\x20git)','aYXfS':'trailhead','jtUPs':_0x329a55(0x194),'XFqCH':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','yYAAL':'plugin','vXJmO':_0x329a55(0x197),'VBMLT':_0x329a55(0x1bd),'IjAoT':'❌\x20Failed\x20to\x20install\x20plugin:','IVZZB':_0x329a55(0x1a9),'ZKeiU':_0x329a55(0x1a7),'VQkZF':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x198371=await _0x53a4af['ZAmAU'](isPluginInstalled,_0x329a55(0x1bd));if(_0x198371)return console['log'](_0x53a4af[_0x329a55(0x1ae)]),![];const _0x319bfb=existsSync(join(getProjectRoot(),_0x53a4af[_0x329a55(0x1bc)]));let _0x3e2576;if(_0x54f051)_0x3e2576=_0x54f051;else{if(_0x319bfb)_0x3e2576=_0x53a4af['nLKoK'];else{console['log'](_0x329a55(0x1aa));const _0x1cad56=await _0x504dfa[_0x329a55(0x1ab)]([{'type':_0x53a4af[_0x329a55(0x1a5)],'name':_0x53a4af['nZLar'],'message':_0x53a4af['SaMaM'],'choices':[{'name':_0x329a55(0x19c),'value':_0x53a4af['Wbfcc']},{'name':_0x53a4af[_0x329a55(0x1c0)],'value':_0x53a4af[_0x329a55(0x1ac)]}],'default':'user'}]);_0x3e2576=_0x1cad56[_0x329a55(0x1b6)];}}console['log'](_0x329a55(0x19e)+_0x3e2576+_0x329a55(0x1a6));const _0x1cd6a8=await _0x53a4af[_0x329a55(0x1b5)](isMarketplaceAdded,_0x53a4af['aYXfS']);let _0x54d943=_0x1cd6a8;if(_0x1cd6a8)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0xcfbefa=await _0x53a4af['ZAmAU'](runClaudeCommand,['plugin','marketplace','add',_0x53a4af['jtUPs']]);!_0xcfbefa['success']?(console['error']('❌\x20Failed\x20to\x20add\x20marketplace:',_0xcfbefa['error']),console[_0x329a55(0x1b3)]('\x0aYou\x20can\x20install\x20manually\x20with:'),console['log'](_0x53a4af[_0x329a55(0x19b)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x3e2576)):_0x54d943=!![];}if(_0x54d943){const _0x91669a=await runClaudeCommand([_0x53a4af[_0x329a55(0x19a)],_0x53a4af[_0x329a55(0x1af)],_0x53a4af['VBMLT'],'--scope',_0x3e2576]);if(!_0x91669a['success'])console['error'](_0x53a4af['IjAoT'],_0x91669a['error']),console['log'](_0x53a4af[_0x329a55(0x1b1)]),console['log'](_0x329a55(0x1a8)+_0x3e2576);else{console[_0x329a55(0x1b3)](_0x329a55(0x195));const _0x54852d=[_0x53a4af[_0x329a55(0x19a)],'enable','ranger@trailhead'];_0x3e2576===_0x329a55(0x1b2)&&_0x54852d['push']('--scope',_0x53a4af[_0x329a55(0x1ac)]);const _0x30fab9=await runClaudeCommand(_0x54852d,{'captureOutput':!![]}),_0x62aa8c=_0x30fab9[_0x329a55(0x1b7)]?.[_0x329a55(0x1a3)](_0x53a4af['ZKeiU']);!_0x30fab9['success']&&!_0x62aa8c?console[_0x329a55(0x19f)]('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x30fab9['error']):console['log'](_0x53a4af['VQkZF']);}}return!![];}function _0x28cb(_0x53c30c,_0x1e29be){_0x53c30c=_0x53c30c-0x18e;const _0x2012cf=_0x2012();let _0x28cbd3=_0x2012cf[_0x53c30c];return _0x28cbd3;}export async function ensureClaudeSkills(_0x39712c){const _0x2cfa66=_0x28cb,_0x32a9a1={'sMLwy':function(_0x4314c4,_0x4a2bd9){return _0x4314c4(_0x4a2bd9);},'gVpBI':'ranger','vMMMX':function(_0x448a10,_0x590447,_0x10e5f2,_0x4b2249){return _0x448a10(_0x590447,_0x10e5f2,_0x4b2249);},'haAwH':function(_0x4a1aac,_0x528b0e){return _0x4a1aac(_0x528b0e);},'VFWYE':_0x2cfa66(0x193),'TAdtl':function(_0x592a48,_0x2e9d3a){return _0x592a48||_0x2e9d3a;},'lBMKd':_0x2cfa66(0x1bf),'sBCfJ':function(_0x45bbef,_0x1a6888){return _0x45bbef(_0x1a6888);},'wRRWu':function(_0x3c3e40,_0x250853,_0x83c9c3){return _0x3c3e40(_0x250853,_0x83c9c3);},'xSZrE':function(_0xc888cc){return _0xc888cc();},'dvghZ':'.claude','kkLWc':function(_0x22ad2a,_0x1f8473){return _0x22ad2a(_0x1f8473);},'leWsZ':'wantsSkillup'},_0x184835=_0x32a9a1[_0x2cfa66(0x198)](existsSync,join(getSkillsDir('user'),_0x32a9a1['gVpBI'],_0x2cfa66(0x193))),_0x428f93=_0x32a9a1['sMLwy'](existsSync,_0x32a9a1[_0x2cfa66(0x18e)](join,_0x32a9a1['haAwH'](getSkillsDir,_0x2cfa66(0x1b2)),_0x32a9a1['gVpBI'],_0x32a9a1[_0x2cfa66(0x1c1)]));if(_0x32a9a1['TAdtl'](_0x184835,_0x428f93))return console['log'](_0x32a9a1['lBMKd']),![];const _0x56494e=_0x32a9a1['sBCfJ'](existsSync,_0x32a9a1[_0x2cfa66(0x1be)](join,_0x32a9a1[_0x2cfa66(0x1a0)](getProjectRoot),_0x32a9a1['dvghZ']));let _0x5b8be5=!![];if(_0x39712c)await skillup({'autoInstall':_0x39712c,'suppressUsage':!![]});else{if(_0x56494e)await _0x32a9a1[_0x2cfa66(0x192)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x3f407f=await _0x504dfa[_0x2cfa66(0x1ab)]([{'type':_0x2cfa66(0x1b0),'name':_0x32a9a1[_0x2cfa66(0x18f)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x5b8be5=_0x3f407f[_0x2cfa66(0x1b8)],_0x5b8be5&&await skillup({'suppressUsage':!![]});}}return _0x5b8be5;}
@@ -1 +1 @@
1
- (function(_0x531217,_0xa39422){const _0x471043=_0x53a9,_0x953059=_0x531217();while(!![]){try{const _0x5f0dc1=parseInt(_0x471043(0x151))/0x1+parseInt(_0x471043(0x153))/0x2+parseInt(_0x471043(0x145))/0x3+-parseInt(_0x471043(0x14c))/0x4+-parseInt(_0x471043(0x154))/0x5*(-parseInt(_0x471043(0x14f))/0x6)+-parseInt(_0x471043(0x156))/0x7+parseInt(_0x471043(0x14b))/0x8*(-parseInt(_0x471043(0x141))/0x9);if(_0x5f0dc1===_0xa39422)break;else _0x953059['push'](_0x953059['shift']());}catch(_0x10cf61){_0x953059['push'](_0x953059['shift']());}}}(_0x49e4,0x35a0a));function _0x49e4(){const _0x22762b=['user','Where\x20should\x20the\x20plugin\x20be\x20installed?','1175224TgVzjV','806920KWdfSW','GCgxL','project','1222194okYXBe','Failed\x20to\x20read\x20opencode.json','29079dicMOL','Vpewn','185412sABYQp','10fedApZ','✓\x20OpenCode\x20plugin\x20configured','1589987ifwpWT','$schema','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','parse','mjYFT','CEAsW','PNbnY','utf-8','User\x20(available\x20in\x20all\x20your\x20projects)','18MXctgp','BKbxK','\x0a📦\x20OpenCode\x20Plugin\x0a','log','1239456wWZnVF','pluginScope','includes','eQdmr'];_0x49e4=function(){return _0x22762b;};return _0x49e4();}import{join}from'path';function _0x53a9(_0x5d8209,_0x4720ac){_0x5d8209=_0x5d8209-0x139;const _0x49e477=_0x49e4();let _0x53a9bf=_0x49e477[_0x5d8209];return _0x53a9bf;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x391b29 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x4fde4c){const _0x5633d0=_0x53a9,_0x140be3={'GCgxL':function(_0x520303,_0xa42f87){return _0x520303(_0xa42f87);},'PNbnY':_0x5633d0(0x14e),'pXwZo':'list','mjYFT':_0x5633d0(0x14a),'pduUt':_0x5633d0(0x149),'Vpewn':'Project\x20(shared\x20with\x20team\x20via\x20git)','oHQjx':function(_0x427c6f,_0x10348b,_0x3b7a73){return _0x427c6f(_0x10348b,_0x3b7a73);},'jSImq':'opencode.json','iFSaE':_0x5633d0(0x13a),'ROZQf':_0x5633d0(0x150),'eQdmr':function(_0x5c4903,_0x332714,_0x430e87){return _0x5c4903(_0x332714,_0x430e87);},'CEAsW':function(_0xf48c00,_0x2f6ea6){return _0xf48c00(_0x2f6ea6);},'BKbxK':function(_0x29f1a4,_0xcb004f){return _0x29f1a4+_0xcb004f;},'BeYBk':_0x5633d0(0x155)},_0x53ff07=existsSync(join(_0x140be3[_0x5633d0(0x14d)](getOpencodeConfigDir,_0x140be3[_0x5633d0(0x13e)]),'opencode.json'));let _0x279635;if(_0x4fde4c)_0x279635=_0x4fde4c;else{if(_0x53ff07)_0x279635=_0x5633d0(0x14e);else{console['log'](_0x5633d0(0x143));const _0x5f4bdd=await _0x391b29['prompt']([{'type':_0x140be3['pXwZo'],'name':'pluginScope','message':_0x140be3[_0x5633d0(0x13c)],'choices':[{'name':_0x5633d0(0x140),'value':_0x140be3['pduUt']},{'name':_0x140be3[_0x5633d0(0x152)],'value':'project'}],'default':'user'}]);_0x279635=_0x5f4bdd[_0x5633d0(0x146)];}}const _0x277c60=_0x140be3['oHQjx'](join,getOpencodeConfigDir(_0x279635),_0x140be3['jSImq']),_0x159f71='@ranger-testing/opencode-plugin',_0xf8bebd='https://opencode.ai/config.json';let _0x16fc28={};if(existsSync(_0x277c60))try{const _0x28fff4=await readFile(_0x277c60,_0x5633d0(0x13f));_0x16fc28=JSON[_0x5633d0(0x13b)](_0x28fff4);}catch(_0x784a63){return console['error'](_0x140be3['iFSaE']),{'configured':![],'scope':_0x279635,'error':_0x140be3['ROZQf'],'details':_0x784a63};}const _0x49fa88=Array['isArray'](_0x16fc28['plugin'])?_0x16fc28['plugin']:[];if(_0x49fa88[_0x5633d0(0x147)](_0x159f71))return console[_0x5633d0(0x144)]('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x279635};return _0x16fc28[_0x5633d0(0x139)]=_0x16fc28['$schema']||_0xf8bebd,_0x16fc28['plugin']=[..._0x49fa88,_0x159f71],await _0x140be3[_0x5633d0(0x148)](mkdir,_0x140be3[_0x5633d0(0x13d)](getOpencodeConfigDir,_0x279635),{'recursive':!![]}),await writeFile(_0x277c60,_0x140be3[_0x5633d0(0x142)](JSON['stringify'](_0x16fc28,null,0x2),'\x0a')),console[_0x5633d0(0x144)](_0x140be3['BeYBk']),{'configured':!![],'scope':_0x279635};}
1
+ function _0x42e4(_0x213951,_0x549612){_0x213951=_0x213951-0xbd;const _0x2c6998=_0x2c69();let _0x42e470=_0x2c6998[_0x213951];return _0x42e470;}(function(_0x41d69d,_0x10ba14){const _0x5aa796=_0x42e4,_0x2f8aa8=_0x41d69d();while(!![]){try{const _0x47fb9c=-parseInt(_0x5aa796(0xca))/0x1+-parseInt(_0x5aa796(0xd2))/0x2*(-parseInt(_0x5aa796(0xdb))/0x3)+parseInt(_0x5aa796(0xc5))/0x4*(parseInt(_0x5aa796(0xcd))/0x5)+parseInt(_0x5aa796(0xc7))/0x6+parseInt(_0x5aa796(0xbd))/0x7+-parseInt(_0x5aa796(0xce))/0x8+parseInt(_0x5aa796(0xda))/0x9*(-parseInt(_0x5aa796(0xd7))/0xa);if(_0x47fb9c===_0x10ba14)break;else _0x2f8aa8['push'](_0x2f8aa8['shift']());}catch(_0x2a2b9f){_0x2f8aa8['push'](_0x2f8aa8['shift']());}}}(_0x2c69,0xf0869));function _0x2c69(){const _0x2972c3=['prompt','user','271179ptaTZs','389052NzQglW','AyGSr','✓\x20OpenCode\x20plugin\x20configured','opencode.json','Where\x20should\x20the\x20plugin\x20be\x20installed?','list','5907930RTJmqw','yDdtS','$schema','JcuCj','sApKw','Failed\x20to\x20read\x20opencode.json','https://opencode.ai/config.json','PqVKb','67400tptIkC','project','11788314gKevue','User\x20(available\x20in\x20all\x20your\x20projects)','ojUJf','906495UFpewK','stringify','parse','330JDDKeV','14429936FBOqDm','XtEQo','✓\x20OpenCode\x20plugin\x20already\x20configured','\x0a📦\x20OpenCode\x20Plugin\x0a','10NyotLY','log','plugin','iJtEA','UIkNr','290kiMuxi'];_0x2c69=function(){return _0x2972c3;};return _0x2c69();}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x1dc5c6 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5afd8e){const _0x594090=_0x42e4,_0x5b9f47={'JcuCj':_0x594090(0xc6),'czwUL':_0x594090(0xd1),'vmaer':_0x594090(0xe0),'AyGSr':'pluginScope','iJtEA':_0x594090(0xdf),'ARTVX':_0x594090(0xd9),'UIkNr':'opencode.json','yDdtS':_0x594090(0xc3),'XtEQo':function(_0x524422,_0x3ca898){return _0x524422(_0x3ca898);},'ojUJf':function(_0x4d1349,_0x490d17,_0x521d71){return _0x4d1349(_0x490d17,_0x521d71);},'KieEI':'utf-8','PqVKb':_0x594090(0xc2),'sApKw':_0x594090(0xdd)},_0x29cd06=existsSync(join(getOpencodeConfigDir(_0x5b9f47[_0x594090(0xc0)]),_0x594090(0xde)));let _0xbdc4d0;if(_0x5afd8e)_0xbdc4d0=_0x5afd8e;else{if(_0x29cd06)_0xbdc4d0=_0x594090(0xc6);else{console[_0x594090(0xd3)](_0x5b9f47['czwUL']);const _0x345fa8=await _0x1dc5c6[_0x594090(0xd8)]([{'type':_0x5b9f47['vmaer'],'name':_0x5b9f47[_0x594090(0xdc)],'message':_0x5b9f47[_0x594090(0xd5)],'choices':[{'name':_0x594090(0xc8),'value':_0x5b9f47['ARTVX']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':'user'}]);_0xbdc4d0=_0x345fa8['pluginScope'];}}const _0x530064=join(getOpencodeConfigDir(_0xbdc4d0),_0x5b9f47[_0x594090(0xd6)]),_0x8d2afb='@ranger-testing/opencode-plugin',_0x1cb4f0=_0x5b9f47[_0x594090(0xbe)];let _0x218d57={};if(_0x5b9f47[_0x594090(0xcf)](existsSync,_0x530064))try{const _0x3f7401=await _0x5b9f47[_0x594090(0xc9)](readFile,_0x530064,_0x5b9f47['KieEI']);_0x218d57=JSON[_0x594090(0xcc)](_0x3f7401);}catch(_0x1ea1e4){return console['error']('⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.'),{'configured':![],'scope':_0xbdc4d0,'error':_0x5b9f47[_0x594090(0xc4)],'details':_0x1ea1e4};}const _0x17f956=Array['isArray'](_0x218d57['plugin'])?_0x218d57[_0x594090(0xd4)]:[];if(_0x17f956['includes'](_0x8d2afb))return console[_0x594090(0xd3)](_0x594090(0xd0)),{'configured':![],'scope':_0xbdc4d0};return _0x218d57['$schema']=_0x218d57[_0x594090(0xbf)]||_0x1cb4f0,_0x218d57[_0x594090(0xd4)]=[..._0x17f956,_0x8d2afb],await _0x5b9f47[_0x594090(0xc9)](mkdir,_0x5b9f47['XtEQo'](getOpencodeConfigDir,_0xbdc4d0),{'recursive':!![]}),await writeFile(_0x530064,JSON[_0x594090(0xcb)](_0x218d57,null,0x2)+'\x0a'),console['log'](_0x5b9f47[_0x594090(0xc1)]),{'configured':!![],'scope':_0xbdc4d0};}
@@ -1 +1 @@
1
- function _0x9478(){const _0x1d9094=['vRxkW','log','skills','2388qFwIjk','profile','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','VQAqy','sVDVE','ZgROr','500EtrAsQ','219922WskEkX','36289KWiVYo','TajsB','CI\x20profile\x20\x22','ranger-testing/trailhead','WZuwT','Multiple\x20CI\x20profiles\x20found:\x20','settings.json','xphDP','vAkIg','owIno','message','PWNpy','96636ggyFIG','auth','1714990OlgyDa','112688ZhRYBG','path','profile_activate','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','name','oBZJK','iXndJ','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','JSgJR','trailhead','dXoUi','trackPhaseStart','isDirectory','dir_setup','6gHTPbi','Failed\x20to\x20add\x20marketplace:','plugin','QklnQ','577302AefSwO','success','skipChromium','5172WiNRqu','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','error','length','chromium','ranger@trailhead','gTlsS','auth.json.enc','baseUrl','vOMsM','287QaQtso','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','qqvau','project','171LyvovJ','marketplace','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','MXIpG','No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','BTYzm','lnxLD','naPbr','dIqBc','tCedo'];_0x9478=function(){return _0x1d9094;};return _0x9478();}(function(_0x526caf,_0x354a4c){const _0x1160f3=_0x1ce5,_0x22a9da=_0x526caf();while(!![]){try{const _0x1900b4=parseInt(_0x1160f3(0xbb))/0x1+-parseInt(_0x1160f3(0x99))/0x2*(parseInt(_0x1160f3(0xb7))/0x3)+parseInt(_0x1160f3(0xbe))/0x4*(parseInt(_0x1160f3(0x98))/0x5)+parseInt(_0x1160f3(0xa6))/0x6*(-parseInt(_0x1160f3(0x81))/0x7)+parseInt(_0x1160f3(0xa9))/0x8*(-parseInt(_0x1160f3(0x85))/0x9)+parseInt(_0x1160f3(0xa8))/0xa+-parseInt(_0x1160f3(0x9a))/0xb*(-parseInt(_0x1160f3(0x92))/0xc);if(_0x1900b4===_0x354a4c)break;else _0x22a9da['push'](_0x22a9da['shift']());}catch(_0x58b874){_0x22a9da['push'](_0x22a9da['shift']());}}}(_0x9478,0x5e68c));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';function _0x1ce5(_0x55b65b,_0x2444cd){_0x55b65b=_0x55b65b-0x7b;const _0x9478d5=_0x9478();let _0x1ce5b1=_0x9478d5[_0x55b65b];return _0x1ce5b1;}async function findCiProfile(_0x4f0e02){const _0x411ae2=_0x1ce5,_0x455ca={'WZuwT':function(_0x2ae9e5){return _0x2ae9e5();},'knGzs':function(_0x4c828f,_0x582247,_0x4572c1){return _0x4c828f(_0x582247,_0x4572c1);},'Qdqge':function(_0x106968,_0x1230a8){return _0x106968===_0x1230a8;},'tnVqP':function(_0x7ffca5,_0x229ae8){return _0x7ffca5+_0x229ae8;},'UpxBb':_0x411ae2(0x89),'VQAqy':'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','FIbVr':function(_0xa3aa14,_0x3f458f,_0x59e7a8){return _0xa3aa14(_0x3f458f,_0x59e7a8);}},_0x58d776=_0x455ca[_0x411ae2(0x9e)](getRangerDir),_0x3822af=_0x455ca['knGzs'](join,_0x58d776,'ci');if(_0x4f0e02){const _0x16a9e9=join(_0x3822af,_0x4f0e02);return{'name':_0x4f0e02,'path':_0x16a9e9};}if(!existsSync(_0x3822af))throw new Error('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a'+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');const _0x2a48e5=await readdir(_0x3822af,{'withFileTypes':!![]}),_0x41ffd1=_0x2a48e5['filter'](_0x14784e=>_0x14784e[_0x411ae2(0xb5)]())['map'](_0x1dce73=>_0x1dce73[_0x411ae2(0xad)]);if(_0x455ca['Qdqge'](_0x41ffd1[_0x411ae2(0xc1)],0x0))throw new Error(_0x455ca['tnVqP'](_0x455ca['UpxBb'],_0x455ca[_0x411ae2(0x95)]));if(_0x41ffd1[_0x411ae2(0xc1)]===0x1){const _0x31d07f=_0x41ffd1[0x0];return console[_0x411ae2(0x90)]('Auto-detected\x20CI\x20profile:\x20'+_0x31d07f),{'name':_0x31d07f,'path':_0x455ca['FIbVr'](join,_0x3822af,_0x31d07f)};}throw new Error(_0x411ae2(0x9f)+_0x41ffd1['join'](',\x20')+_0x411ae2(0xac));}async function installPluginNonInteractive(){const _0x36b112=_0x1ce5,_0x4bad44={'qqvau':function(_0x265bd,_0x412ae6){return _0x265bd(_0x412ae6);},'lnxLD':_0x36b112(0x7c),'PWNpy':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','Zxtmz':_0x36b112(0xb2),'RxDgG':'✓\x20Marketplace\x20already\x20added','pnQHm':'plugin','oBZJK':_0x36b112(0x86),'ZgROr':'add','lZcRD':_0x36b112(0x9d),'MXIpG':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','xphDP':'install','owIno':'--scope','vOMsM':_0x36b112(0x84),'vAkIg':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project'},_0x5b621d=await _0x4bad44[_0x36b112(0x83)](isPluginInstalled,_0x4bad44[_0x36b112(0x8b)]);if(_0x5b621d)return console['log'](_0x4bad44[_0x36b112(0xa5)]),![];console[_0x36b112(0x90)](_0x36b112(0x87));const _0x1aa281=await isMarketplaceAdded(_0x4bad44['Zxtmz']);let _0x5e447b=_0x1aa281;if(_0x1aa281)console['log'](_0x4bad44['RxDgG']);else{const _0x153f84=await runClaudeCommand([_0x4bad44['pnQHm'],_0x4bad44[_0x36b112(0xae)],_0x4bad44[_0x36b112(0x97)],_0x4bad44['lZcRD']]);!_0x153f84[_0x36b112(0xbc)]?(console[_0x36b112(0xc0)](_0x36b112(0xb8),_0x153f84['error']),console['log'](_0x4bad44[_0x36b112(0x88)])):_0x5e447b=!![];}if(_0x5e447b){const _0x239c4d=await _0x4bad44['qqvau'](runClaudeCommand,[_0x4bad44['pnQHm'],_0x4bad44[_0x36b112(0xa1)],'ranger@trailhead',_0x4bad44[_0x36b112(0xa3)],_0x4bad44[_0x36b112(0x80)]]);!_0x239c4d['success']?(console[_0x36b112(0xc0)]('Failed\x20to\x20install\x20plugin:',_0x239c4d[_0x36b112(0xc0)]),console['log'](_0x4bad44[_0x36b112(0xa2)])):console[_0x36b112(0x90)]('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0x37a538,_0x5725ee,_0x43ecb6){const _0x81f841=_0x1ce5,_0x4fce48={'tCedo':_0x81f841(0x94),'sVDVE':function(_0x2d6394,_0x5a03c8){return _0x2d6394(_0x5a03c8);},'JSgJR':function(_0x17b2ca,_0x1539c2,_0x4dc97b){return _0x17b2ca(_0x1539c2,_0x4dc97b);},'iXndJ':_0x81f841(0x7b),'Zdqqm':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','naPbr':_0x81f841(0xab),'svAxy':function(_0x309bc8,_0x206dbf){return _0x309bc8(_0x206dbf);},'vRxkW':function(_0x16faa4,_0x4f18c4){return _0x16faa4(_0x4f18c4);},'FYpSd':_0x81f841(0x7e),'vcrAt':function(_0x1af2b6,_0x5c50d4){return _0x1af2b6(_0x5c50d4);},'TajsB':function(_0x415c2a){return _0x415c2a();},'WGHhO':'No\x20API\x20token\x20available\x20for\x20decryption','LOdSO':_0x81f841(0xbf),'QklnQ':function(_0x26facf,_0x5a79d1){return _0x26facf instanceof _0x5a79d1;},'gTlsS':_0x81f841(0x82),'vZBUb':function(_0x18d36e,_0x2229d7){return _0x18d36e(_0x2229d7);},'dIqBc':_0x81f841(0xb9),'EwWIP':function(_0xb9d3d5){return _0xb9d3d5();},'dXoUi':_0x81f841(0x91),'BTYzm':'\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a'};console['log'](_0x4fce48[_0x81f841(0x8e)]),_0x43ecb6?.[_0x81f841(0xb4)](_0x81f841(0xa7)),await _0x4fce48[_0x81f841(0x96)](authenticate,_0x37a538),_0x43ecb6?.['trackPhaseEnd']('auth'),_0x43ecb6?.['trackPhaseStart'](_0x81f841(0xb6));const {path:_0x193d0b,installed:_0x72a161}=await ensureRangerDir();await writeRangerGitignore(_0x193d0b);const _0xa84443=join(_0x193d0b,'sessions');!_0x4fce48['sVDVE'](existsSync,_0xa84443)&&await _0x4fce48[_0x81f841(0xb1)](mkdir,_0xa84443,{'recursive':!![]});_0x43ecb6?.['trackPhaseEnd']('dir_setup',{'installed':_0x72a161}),_0x43ecb6?.['trackPhaseStart'](_0x4fce48[_0x81f841(0xaf)]);let _0x1d2a5e=![];_0x5725ee?.[_0x81f841(0xbd)]?console['log'](_0x4fce48['Zdqqm']):_0x1d2a5e=await ensureChromium();_0x43ecb6?.['trackPhaseEnd'](_0x4fce48[_0x81f841(0xaf)],{'installed':_0x1d2a5e,'skipped':!!_0x5725ee?.[_0x81f841(0xbd)]}),_0x43ecb6?.['trackPhaseStart'](_0x4fce48[_0x81f841(0x8c)]);const _0x2c4b2e=await _0x4fce48['svAxy'](findCiProfile,_0x5725ee?.[_0x81f841(0x93)]);let _0x30f250=![];_0x5725ee?.[_0x81f841(0x7f)]&&(await mkdir(_0x2c4b2e[_0x81f841(0xaa)],{'recursive':!![]}),await saveSettings(_0x2c4b2e['name'],{'baseUrl':_0x5725ee[_0x81f841(0x7f)],'headless':!![]}),console[_0x81f841(0x90)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x5725ee[_0x81f841(0x7f)]),_0x30f250=!![]);const _0x32df2c=join(_0x2c4b2e[_0x81f841(0xaa)],_0x81f841(0xa0));if(!_0x4fce48[_0x81f841(0x8f)](existsSync,_0x32df2c)&&!_0x30f250)throw new Error(_0x81f841(0x9c)+_0x2c4b2e['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x5ba610=join(_0x2c4b2e['path'],'auth.json'),_0x53e944=_0x4fce48['JSgJR'](join,_0x2c4b2e['path'],_0x4fce48['FYpSd']),_0x77e214=_0x4fce48['vcrAt'](existsSync,_0x5ba610),_0x3d45fe=_0x4fce48['sVDVE'](existsSync,_0x53e944);if(_0x3d45fe)try{const _0x5067f5=await _0x4fce48[_0x81f841(0x9b)](getToken);if(!_0x5067f5)throw new Error(_0x4fce48['WGHhO']);const _0x8160dd=await _0x4fce48['svAxy'](readFile,_0x53e944);_0x4fce48[_0x81f841(0xb1)](decrypt,_0x8160dd,_0x5067f5),console['log'](_0x4fce48['LOdSO']);}catch(_0x391e25){const _0x281216=_0x4fce48[_0x81f841(0xba)](_0x391e25,Error)?_0x391e25[_0x81f841(0xa4)]:String(_0x391e25);throw new Error(_0x81f841(0xb0)+_0x2c4b2e[_0x81f841(0xad)]+'\x22:\x20'+_0x281216);}else _0x77e214?console['log']('✓\x20Auth\x20state\x20found'):console['log'](_0x4fce48[_0x81f841(0x7d)]);await _0x4fce48['vZBUb'](writeActiveProfileName,_0x2c4b2e['name']),console['log']('✓\x20Active\x20profile:\x20'+_0x2c4b2e[_0x81f841(0xad)]),_0x43ecb6?.['trackPhaseEnd'](_0x4fce48[_0x81f841(0x8c)],{'profileName':_0x2c4b2e[_0x81f841(0xad)],'hasAuth':_0x77e214,'hasEncryptedAuth':_0x3d45fe,'createdSettings':_0x30f250}),_0x43ecb6?.[_0x81f841(0xb4)](_0x4fce48[_0x81f841(0x8d)]);const _0x51130a=await _0x4fce48['EwWIP'](installPluginNonInteractive);_0x43ecb6?.['trackPhaseEnd'](_0x4fce48['dIqBc'],{'installed':_0x51130a}),_0x43ecb6?.['trackPhaseStart'](_0x4fce48[_0x81f841(0xb3)]),await _0x4fce48['vcrAt'](skillup,{'autoInstall':_0x81f841(0x84)}),_0x43ecb6?.['trackPhaseEnd']('skills'),console['log'](_0x4fce48[_0x81f841(0x8a)]);}
1
+ (function(_0x53d086,_0x480990){const _0x5a15ce=_0x1416,_0x2a2491=_0x53d086();while(!![]){try{const _0x279d97=-parseInt(_0x5a15ce(0x1d9))/0x1*(-parseInt(_0x5a15ce(0x1e1))/0x2)+-parseInt(_0x5a15ce(0x1d0))/0x3+parseInt(_0x5a15ce(0x1d4))/0x4+parseInt(_0x5a15ce(0x1e2))/0x5+-parseInt(_0x5a15ce(0x1f0))/0x6+parseInt(_0x5a15ce(0x1e4))/0x7+parseInt(_0x5a15ce(0x1bc))/0x8*(parseInt(_0x5a15ce(0x200))/0x9);if(_0x279d97===_0x480990)break;else _0x2a2491['push'](_0x2a2491['shift']());}catch(_0x1db7e7){_0x2a2491['push'](_0x2a2491['shift']());}}}(_0xc475,0x67a21));import{mkdir,readFile,readdir}from'fs/promises';function _0x1416(_0x225e76,_0x322f31){_0x225e76=_0x225e76-0x1bb;const _0xc47506=_0xc475();let _0x1416b6=_0xc47506[_0x225e76];return _0x1416b6;}import{join}from'path';import{existsSync}from'fs';function _0xc475(){const _0x13bb9a=['YTBqO','chromium','install','xsMNU','message','uyrle','✓\x20Marketplace\x20already\x20added','rswZh','add','isDirectory','MccjF','yOoRo','error','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','No\x20API\x20token\x20available\x20for\x20decryption','auth','2492205xRbKzD','map','Auto-detected\x20CI\x20profile:\x20','CsFio','2091892vknMYl','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','trackPhaseEnd','✓\x20Created\x20profile\x20settings:\x20baseUrl=','RlddQ','1xDxcPc','baseUrl','yHfeo','skipChromium','nySEC','trailhead','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','sessions','22886WqrFNt','910200XIOrqo','profile','4593603KefqgN','Dgoow','trackPhaseStart','NFCfX','Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','profile_activate','iEdPU','vOuxK','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','name','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','udkfc','2778252PWVJmD','iIVdM','settings.json','plugin','length','--scope','LcnlX','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','log','ktqvf','ranger-testing/trailhead','GTYXR','Failed\x20to\x20install\x20plugin:','path','27hzJEvp','join','921528wSDDyR','CI\x20profile\x20\x22','rxTIO','guEIB'];_0xc475=function(){return _0x13bb9a;};return _0xc475();}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(_0x37c76f){const _0x310388=_0x1416,_0xb500d9={'sNOlJ':function(_0x759853,_0x4b0cdf,_0x5a1c57){return _0x759853(_0x4b0cdf,_0x5a1c57);},'yHfeo':function(_0x5ad3c0,_0x10a24a){return _0x5ad3c0(_0x10a24a);},'rxTIO':function(_0x172350,_0x563110){return _0x172350+_0x563110;},'iIVdM':function(_0x5ac123,_0x369fba){return _0x5ac123===_0x369fba;},'nySEC':function(_0x284f02,_0x22426b){return _0x284f02+_0x22426b;}},_0x5827ad=getRangerDir(),_0x19d716=_0xb500d9['sNOlJ'](join,_0x5827ad,'ci');if(_0x37c76f){const _0x1d57e1=join(_0x19d716,_0x37c76f);return{'name':_0x37c76f,'path':_0x1d57e1};}if(!_0xb500d9[_0x310388(0x1db)](existsSync,_0x19d716))throw new Error(_0xb500d9[_0x310388(0x1be)]('No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.'));const _0x266490=await readdir(_0x19d716,{'withFileTypes':!![]}),_0x52bcde=_0x266490['filter'](_0x526b23=>_0x526b23[_0x310388(0x1c9)]())[_0x310388(0x1d1)](_0x24edfd=>_0x24edfd[_0x310388(0x1ed)]);if(_0xb500d9[_0x310388(0x1f1)](_0x52bcde[_0x310388(0x1f4)],0x0))throw new Error(_0xb500d9[_0x310388(0x1dd)]('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x310388(0x1f8)));if(_0x52bcde[_0x310388(0x1f4)]===0x1){const _0xb6e93d=_0x52bcde[0x0];return console['log'](_0x310388(0x1d2)+_0xb6e93d),{'name':_0xb6e93d,'path':join(_0x19d716,_0xb6e93d)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x52bcde[_0x310388(0x1bb)](',\x20')+'.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.');}async function installPluginNonInteractive(){const _0x26d69d=_0x1416,_0x1d7a2e={'RlddQ':function(_0x32ee78,_0xed79ae){return _0x32ee78(_0xed79ae);},'FgBlw':_0x26d69d(0x1df),'guEIB':_0x26d69d(0x1e8),'CsFio':_0x26d69d(0x1de),'FvWsA':_0x26d69d(0x1c6),'armvO':_0x26d69d(0x1fc),'WYYZt':'Failed\x20to\x20add\x20marketplace:','olGrc':_0x26d69d(0x1f7),'JKuRJ':'plugin','ktqvf':_0x26d69d(0x1c2),'gPmpX':'project','Racce':_0x26d69d(0x1fe),'PNKOW':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x2b6f23=await _0x1d7a2e[_0x26d69d(0x1d8)](isPluginInstalled,'ranger@trailhead');if(_0x2b6f23)return console[_0x26d69d(0x1fa)](_0x1d7a2e['FgBlw']),![];console[_0x26d69d(0x1fa)](_0x1d7a2e[_0x26d69d(0x1bf)]);const _0x48216f=await isMarketplaceAdded(_0x1d7a2e[_0x26d69d(0x1d3)]);let _0x1a9d4e=_0x48216f;if(_0x48216f)console[_0x26d69d(0x1fa)](_0x1d7a2e['FvWsA']);else{const _0x352d0c=await _0x1d7a2e[_0x26d69d(0x1d8)](runClaudeCommand,['plugin','marketplace',_0x26d69d(0x1c8),_0x1d7a2e['armvO']]);!_0x352d0c['success']?(console['error'](_0x1d7a2e['WYYZt'],_0x352d0c[_0x26d69d(0x1cc)]),console[_0x26d69d(0x1fa)](_0x1d7a2e['olGrc'])):_0x1a9d4e=!![];}if(_0x1a9d4e){const _0x47b4e8=await _0x1d7a2e['RlddQ'](runClaudeCommand,[_0x1d7a2e['JKuRJ'],_0x1d7a2e[_0x26d69d(0x1fb)],'ranger@trailhead',_0x26d69d(0x1f5),_0x1d7a2e['gPmpX']]);!_0x47b4e8['success']?(console['error'](_0x1d7a2e['Racce'],_0x47b4e8[_0x26d69d(0x1cc)]),console['log'](_0x26d69d(0x1cd))):console[_0x26d69d(0x1fa)](_0x1d7a2e['PNKOW']);}return!![];}export async function setupCi(_0x2d480f,_0x820fd3,_0x87be42){const _0x5556a3=_0x1416,_0x2d81ca={'udkfc':_0x5556a3(0x1cf),'rswZh':function(_0x43573c,_0x275ae3){return _0x43573c(_0x275ae3);},'oDmzb':'dir_setup','uyrle':function(_0x433cc9){return _0x433cc9();},'xsMNU':function(_0x2c0750,_0x5c08bb){return _0x2c0750(_0x5c08bb);},'qtTeu':function(_0xd84f7f,_0x5657b0,_0x3b2a4a){return _0xd84f7f(_0x5657b0,_0x3b2a4a);},'iEdPU':_0x5556a3(0x1c1),'UDaIa':'✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','uGtzp':function(_0x4f53d2){return _0x4f53d2();},'GTYXR':_0x5556a3(0x1e9),'NFCfX':function(_0x281893,_0x562da8){return _0x281893(_0x562da8);},'pCOxi':_0x5556a3(0x1f2),'wOcJj':'auth.json','vOuxK':function(_0x32be31,_0x4bd1f2,_0x29e19e){return _0x32be31(_0x4bd1f2,_0x29e19e);},'MccjF':function(_0x289732,_0x57d235){return _0x289732(_0x57d235);},'qfgEu':_0x5556a3(0x1ce),'yOoRo':function(_0xafe307,_0x256045){return _0xafe307(_0x256045);},'PyEVs':'✓\x20Auth\x20state\x20found','YTBqO':function(_0x12df83){return _0x12df83();},'Dgoow':'skills','LcnlX':'project'};console[_0x5556a3(0x1fa)](_0x5556a3(0x1ee)),_0x87be42?.[_0x5556a3(0x1e6)](_0x2d81ca[_0x5556a3(0x1ef)]),await _0x2d81ca[_0x5556a3(0x1c7)](authenticate,_0x2d480f),_0x87be42?.['trackPhaseEnd'](_0x2d81ca[_0x5556a3(0x1ef)]),_0x87be42?.[_0x5556a3(0x1e6)](_0x2d81ca['oDmzb']);const {path:_0x4b34cb,installed:_0x271b5e}=await _0x2d81ca[_0x5556a3(0x1c5)](ensureRangerDir);await _0x2d81ca[_0x5556a3(0x1c3)](writeRangerGitignore,_0x4b34cb);const _0x47acf9=_0x2d81ca['qtTeu'](join,_0x4b34cb,_0x5556a3(0x1e0));!existsSync(_0x47acf9)&&await mkdir(_0x47acf9,{'recursive':!![]});_0x87be42?.['trackPhaseEnd']('dir_setup',{'installed':_0x271b5e}),_0x87be42?.[_0x5556a3(0x1e6)](_0x2d81ca[_0x5556a3(0x1ea)]);let _0x466047=![];_0x820fd3?.['skipChromium']?console[_0x5556a3(0x1fa)](_0x2d81ca['UDaIa']):_0x466047=await _0x2d81ca['uGtzp'](ensureChromium);_0x87be42?.['trackPhaseEnd']('chromium',{'installed':_0x466047,'skipped':!!_0x820fd3?.[_0x5556a3(0x1dc)]}),_0x87be42?.[_0x5556a3(0x1e6)](_0x2d81ca[_0x5556a3(0x1fd)]);const _0x4e072c=await _0x2d81ca['NFCfX'](findCiProfile,_0x820fd3?.[_0x5556a3(0x1e3)]);let _0x3929d3=![];_0x820fd3?.['baseUrl']&&(await mkdir(_0x4e072c['path'],{'recursive':!![]}),await saveSettings(_0x4e072c[_0x5556a3(0x1ed)],{'baseUrl':_0x820fd3[_0x5556a3(0x1da)],'headless':!![]}),console[_0x5556a3(0x1fa)](_0x5556a3(0x1d7)+_0x820fd3['baseUrl']),_0x3929d3=!![]);const _0x2b987d=join(_0x4e072c['path'],_0x2d81ca['pCOxi']);if(!_0x2d81ca[_0x5556a3(0x1e7)](existsSync,_0x2b987d)&&!_0x3929d3)throw new Error(_0x5556a3(0x1bd)+_0x4e072c['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x1cbed6=join(_0x4e072c[_0x5556a3(0x1ff)],_0x2d81ca['wOcJj']),_0x544334=_0x2d81ca[_0x5556a3(0x1eb)](join,_0x4e072c[_0x5556a3(0x1ff)],'auth.json.enc'),_0x56ee23=_0x2d81ca[_0x5556a3(0x1ca)](existsSync,_0x1cbed6),_0x35a1e1=_0x2d81ca['NFCfX'](existsSync,_0x544334);if(_0x35a1e1)try{const _0x3e6b9f=await _0x2d81ca['uyrle'](getToken);if(!_0x3e6b9f)throw new Error(_0x2d81ca['qfgEu']);const _0x12e355=await _0x2d81ca[_0x5556a3(0x1cb)](readFile,_0x544334);_0x2d81ca[_0x5556a3(0x1eb)](decrypt,_0x12e355,_0x3e6b9f),console['log'](_0x5556a3(0x1f9));}catch(_0xa4d338){const _0x5d3470=_0xa4d338 instanceof Error?_0xa4d338[_0x5556a3(0x1c4)]:String(_0xa4d338);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x4e072c[_0x5556a3(0x1ed)]+'\x22:\x20'+_0x5d3470);}else _0x56ee23?console['log'](_0x2d81ca['PyEVs']):console[_0x5556a3(0x1fa)](_0x5556a3(0x1d5));await writeActiveProfileName(_0x4e072c['name']),console[_0x5556a3(0x1fa)]('✓\x20Active\x20profile:\x20'+_0x4e072c['name']),_0x87be42?.[_0x5556a3(0x1d6)](_0x2d81ca['GTYXR'],{'profileName':_0x4e072c['name'],'hasAuth':_0x56ee23,'hasEncryptedAuth':_0x35a1e1,'createdSettings':_0x3929d3}),_0x87be42?.[_0x5556a3(0x1e6)]('plugin');const _0x37e9d3=await _0x2d81ca[_0x5556a3(0x1c0)](installPluginNonInteractive);_0x87be42?.[_0x5556a3(0x1d6)](_0x5556a3(0x1f3),{'installed':_0x37e9d3}),_0x87be42?.['trackPhaseStart'](_0x2d81ca[_0x5556a3(0x1e5)]),await skillup({'autoInstall':_0x2d81ca[_0x5556a3(0x1f6)]}),_0x87be42?.['trackPhaseEnd'](_0x2d81ca[_0x5556a3(0x1e5)]),console[_0x5556a3(0x1fa)](_0x5556a3(0x1ec));}
@@ -1 +1 @@
1
- (function(_0x3153c0,_0x3ef98f){const _0xb192c8=_0x53be,_0x4d6ca3=_0x3153c0();while(!![]){try{const _0x221167=parseInt(_0xb192c8(0x151))/0x1+-parseInt(_0xb192c8(0x15d))/0x2+parseInt(_0xb192c8(0x164))/0x3+-parseInt(_0xb192c8(0x16d))/0x4+-parseInt(_0xb192c8(0x163))/0x5*(parseInt(_0xb192c8(0x15f))/0x6)+-parseInt(_0xb192c8(0x169))/0x7+-parseInt(_0xb192c8(0x149))/0x8*(-parseInt(_0xb192c8(0x153))/0x9);if(_0x221167===_0x3ef98f)break;else _0x4d6ca3['push'](_0x4d6ca3['shift']());}catch(_0x2e38ec){_0x4d6ca3['push'](_0x4d6ca3['shift']());}}}(_0x5009,0x9bd9d));import{basename}from'path';import _0x525f33 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x53be(_0x482110,_0x26364f){_0x482110=_0x482110-0x142;const _0x500998=_0x5009();let _0x53becd=_0x500998[_0x482110];return _0x53becd;}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x56d40e={}){const _0x1e9489=_0x53be,_0x331f9b={'kojpu':_0x1e9489(0x16a),'BascH':'claude','NFjdk':_0x1e9489(0x176),'AcdqZ':'To\x20get\x20started:','tzjrJ':'\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','onvkB':function(_0x502605,_0x17bbc1){return _0x502605===_0x17bbc1;},'HjlbT':_0x1e9489(0x15a),'YLaeP':_0x1e9489(0x143),'mLBly':function(_0x45b0e8){return _0x45b0e8();},'hspAE':function(_0x35d24d,_0x5e2dc4){return _0x35d24d===_0x5e2dc4;},'yVOWV':'user','fODVJ':_0x1e9489(0x167),'QCUkj':_0x1e9489(0x14a),'apcEr':_0x1e9489(0x172),'LEKnA':_0x1e9489(0x175),'Kwgid':_0x1e9489(0x146),'tiGxh':_0x1e9489(0x16c),'RRszD':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','AytZo':function(_0x52e02a,_0x6d4681){return _0x52e02a===_0x6d4681;},'fbCZg':'user-level','xkEyu':'project-level','cMIhH':function(_0x429a3d,_0x490e00){return _0x429a3d>_0x490e00;},'mbpQo':_0x1e9489(0x148)};console['log'](_0x331f9b[_0x1e9489(0x150)]);const _0x2c521b=_0x56d40e[_0x1e9489(0x152)]??_0x331f9b['BascH'],_0x27a0da=await getToken();if(!_0x27a0da){console['log'](_0x331f9b[_0x1e9489(0x14c)]),console['log'](_0x331f9b[_0x1e9489(0x154)]),console[_0x1e9489(0x14d)](_0x331f9b[_0x1e9489(0x156)]),console[_0x1e9489(0x14d)]('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x331f9b[_0x1e9489(0x147)](_0x2c521b,'opencode')?_0x331f9b[_0x1e9489(0x16f)]:'')+_0x1e9489(0x16b)),console['log'](_0x1e9489(0x145)+(_0x2c521b===_0x331f9b[_0x1e9489(0x171)]?_0x331f9b['HjlbT']:'')+'\x0a');return;}console[_0x1e9489(0x14d)](_0x1e9489(0x160));const _0x5f3305=_0x331f9b[_0x1e9489(0x142)](getProjectRoot),_0x8fa06c=basename(_0x5f3305),_0xe37e67=_0x331f9b['hspAE'](_0x2c521b,_0x1e9489(0x143))?getOpencodeConfigDir(_0x331f9b[_0x1e9489(0x14b)])+'/skills/':getClaudeConfigDir()+'/skills/',_0x2fde41=_0x2c521b===_0x331f9b['YLaeP']?_0x5f3305+'/.opencode/skills/':_0x5f3305+_0x1e9489(0x15b),_0x574dbf=process[_0x1e9489(0x166)][_0x1e9489(0x15e)]&&process[_0x1e9489(0x165)]['isTTY'];let _0x486c51;if(_0x56d40e['autoInstall'])_0x486c51=_0x56d40e[_0x1e9489(0x15c)];else{if(_0x574dbf){const _0x1d8765=await _0x525f33['prompt']([{'type':_0x331f9b['fODVJ'],'name':_0x331f9b['QCUkj'],'message':_0x331f9b['apcEr'],'choices':[{'name':_0x1e9489(0x155)+_0xe37e67+')','value':_0x331f9b['yVOWV']},{'name':'This\x20project\x20only\x20('+_0x2fde41+')','value':'project'}]}]);_0x486c51=_0x1d8765['installLevel'];}else _0x486c51=_0x331f9b['LEKnA'],console['log'](_0x1e9489(0x170)+_0x2fde41+')');}let _0x36378f=0x0;const _0x53eb88=getCurrentVersion();console['log'](_0x331f9b['Kwgid']);try{const _0x4ff88a=await installSkill(_0x331f9b[_0x1e9489(0x16e)],{'cliVersion':_0x53eb88,'level':_0x486c51,'platform':_0x2c521b});_0x4ff88a&&_0x36378f++;}catch(_0x136a6f){console[_0x1e9489(0x144)](_0x331f9b[_0x1e9489(0x14e)],_0x136a6f instanceof Error?_0x136a6f[_0x1e9489(0x159)]:_0x136a6f);}if(_0x36378f>0x0){const _0xe00f40=_0x331f9b[_0x1e9489(0x162)](_0x486c51,_0x331f9b[_0x1e9489(0x14b)])?_0x331f9b[_0x1e9489(0x161)]:_0x331f9b[_0x1e9489(0x168)];console['log'](_0x1e9489(0x14f)+_0x36378f+'\x20'+_0xe00f40+'\x20skill'+(_0x331f9b['cMIhH'](_0x36378f,0x1)?'s':'')+_0x1e9489(0x158)),!_0x56d40e['suppressUsage']&&(console['log']('To\x20use:'),_0x331f9b[_0x1e9489(0x173)](_0x2c521b,_0x1e9489(0x143))?console['log'](_0x331f9b[_0x1e9489(0x157)]):console['log'](_0x1e9489(0x174)));}else console[_0x1e9489(0x14d)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}function _0x5009(){const _0x36bfd1=['Where\x20should\x20skills\x20be\x20installed?','hspAE','\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!','project','❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a','mLBly','opencode','warn','\x20\x203.\x20Run:\x20ranger\x20skillup','\x0a📦\x20Installing\x20skills...\x0a','onvkB','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','120vEChPX','installLevel','yVOWV','NFjdk','log','RRszD','\x0a✅\x20Installed\x20','kojpu','116353SkSOsA','platform','801954OcLwYl','AcdqZ','All\x20projects\x20(','tzjrJ','mbpQo','\x20successfully!\x0a','message','\x20--opencode','/.claude/skills/','autoInstall','1543768RFFyFm','isTTY','200220qPlhCI','✓\x20Found\x20API\x20token','fbCZg','AytZo','45ZaLKKa','3791403vrEKgB','stdout','stdin','list','xkEyu','4999246jXoLen','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','\x20<your-api-token>','ranger','1167948GYGFKq','tiGxh','HjlbT','Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20(','YLaeP'];_0x5009=function(){return _0x36bfd1;};return _0x5009();}
1
+ (function(_0x25071b,_0x26f740){const _0xddea61=_0xf4f8,_0x432021=_0x25071b();while(!![]){try{const _0x27ad64=-parseInt(_0xddea61(0x92))/0x1+-parseInt(_0xddea61(0x97))/0x2*(parseInt(_0xddea61(0x82))/0x3)+-parseInt(_0xddea61(0x9e))/0x4+-parseInt(_0xddea61(0x8d))/0x5+parseInt(_0xddea61(0x95))/0x6+-parseInt(_0xddea61(0xa0))/0x7*(parseInt(_0xddea61(0x7b))/0x8)+parseInt(_0xddea61(0x9f))/0x9;if(_0x27ad64===_0x26f740)break;else _0x432021['push'](_0x432021['shift']());}catch(_0x45627c){_0x432021['push'](_0x432021['shift']());}}}(_0x4305,0xc378f));import{basename}from'path';import _0x132d62 from'inquirer';import{getToken}from'./utils/keychain.js';import{installSkill}from'./utils/skills.js';import{getCurrentVersion}from'./utils/version.js';function _0x4305(){const _0x4575dd=['/.opencode/skills/','4873248VMBbMs','wLBkC','37694RmtcCC','\x0a📦\x20Installing\x20skills...\x0a','Zchxw','warn','\x20\x20-\x20Start\x20OpenCode\x20and\x20run\x20the\x20`ranger_enable`\x20tool\x20to\x20enable\x20hooks.','zkOsY','\x20skill','4027348OlKsgN','39676032upKquH','10242001mGaKat','fuDvQ','\x0a✅\x20Installed\x20','8sjeRON','\x20\x201.\x20Get\x20your\x20API\x20token\x20from\x20https://dashboard.ranger.net/cli','autoInstall','/.claude/skills/','\x0a🎯\x20Ranger\x20Skill\x20Setup\x0a','To\x20get\x20started:','vGhcg','60twuZmD','project','\x20--opencode','log','yMNtI','YNeMU','cieLq','ITDXf','yCHoC','stdin','/skills/','3072640uvNLiO','This\x20project\x20only\x20(','wYFvW','project-level','opencode','958553WRURCW','✓\x20Found\x20API\x20token'];_0x4305=function(){return _0x4575dd;};return _0x4305();}import{getClaudeConfigDir,getProjectRoot}from'./utils/claudeConfig.js';function _0xf4f8(_0x36eb1e,_0x4c1fb1){_0x36eb1e=_0x36eb1e-0x79;const _0x4305e6=_0x4305();let _0xf4f8ff=_0x4305e6[_0x36eb1e];return _0xf4f8ff;}import{getOpencodeConfigDir}from'./utils/opencodeConfig.js';export async function skillup(_0x39e673={}){const _0x431305=_0xf4f8,_0x38987b={'pfUNz':'claude','YNeMU':_0x431305(0x7c),'wLBkC':function(_0xc78d9d,_0x39dbd8){return _0xc78d9d===_0x39dbd8;},'wYFvW':_0x431305(0x91),'sWure':_0x431305(0x84),'fuDvQ':_0x431305(0x93),'vGhcg':function(_0xbc4038,_0x267056){return _0xbc4038(_0x267056);},'NqXKN':function(_0x5981b4,_0xdb40f9){return _0x5981b4(_0xdb40f9);},'Zchxw':'user','PjFSM':function(_0x2261a9){return _0x2261a9();},'wnCxJ':'list','aqBsS':'installLevel','YOWdB':_0x431305(0x98),'cieLq':'ranger','yMNtI':'\x20\x20Failed\x20to\x20install\x20ranger\x20skill:','yCHoC':'user-level','ITDXf':_0x431305(0x90),'gnTXU':function(_0x303814,_0x918e05){return _0x303814>_0x918e05;},'zkOsY':'\x20\x20-\x20Open\x20Claude\x20Code\x20in\x20plan\x20mode\x20and\x20run\x20/ranger:enable.\x20Plan\x20out\x20a\x20UI\x20feature\x20with\x20Ranger\x20and\x20watch\x20Ranger\x20test\x20it\x20for\x20you!'};console['log'](_0x431305(0x7f));const _0x7f851f=_0x39e673['platform']??_0x38987b['pfUNz'],_0x3cd3f2=await getToken();if(!_0x3cd3f2){console[_0x431305(0x85)]('❌\x20No\x20Ranger\x20API\x20token\x20found.\x0a'),console[_0x431305(0x85)](_0x431305(0x80)),console['log'](_0x38987b[_0x431305(0x87)]),console['log']('\x20\x202.\x20Run:\x20ranger\x20setup'+(_0x38987b[_0x431305(0x96)](_0x7f851f,_0x38987b['wYFvW'])?'\x20--opencode':'')+'\x20<your-api-token>'),console['log']('\x20\x203.\x20Run:\x20ranger\x20skillup'+(_0x7f851f===_0x38987b[_0x431305(0x8f)]?_0x38987b['sWure']:'')+'\x0a');return;}console['log'](_0x38987b[_0x431305(0x79)]);const _0x497c11=getProjectRoot(),_0x347380=_0x38987b[_0x431305(0x81)](basename,_0x497c11),_0x2f79d7=_0x7f851f===_0x38987b['wYFvW']?_0x38987b['NqXKN'](getOpencodeConfigDir,_0x38987b['Zchxw'])+_0x431305(0x8c):_0x38987b['PjFSM'](getClaudeConfigDir)+'/skills/',_0x422aa2=_0x7f851f==='opencode'?_0x497c11+_0x431305(0x94):_0x497c11+_0x431305(0x7e),_0x53f4c7=process[_0x431305(0x8b)]['isTTY']&&process['stdout']['isTTY'];let _0xe94e00;if(_0x39e673['autoInstall'])_0xe94e00=_0x39e673[_0x431305(0x7d)];else{if(_0x53f4c7){const _0x4227f8=await _0x132d62['prompt']([{'type':_0x38987b['wnCxJ'],'name':_0x38987b['aqBsS'],'message':'Where\x20should\x20skills\x20be\x20installed?','choices':[{'name':'All\x20projects\x20('+_0x2f79d7+')','value':'user'},{'name':_0x431305(0x8e)+_0x422aa2+')','value':_0x431305(0x83)}]}]);_0xe94e00=_0x4227f8['installLevel'];}else _0xe94e00=_0x431305(0x83),console[_0x431305(0x85)]('Non-interactive\x20mode:\x20Installing\x20skills\x20at\x20project\x20level\x20('+_0x422aa2+')');}let _0x276ca9=0x0;const _0xbe9624=getCurrentVersion();console[_0x431305(0x85)](_0x38987b['YOWdB']);try{const _0x2990db=await installSkill(_0x38987b[_0x431305(0x88)],{'cliVersion':_0xbe9624,'level':_0xe94e00,'platform':_0x7f851f});_0x2990db&&_0x276ca9++;}catch(_0x52f998){console[_0x431305(0x9a)](_0x38987b[_0x431305(0x86)],_0x52f998 instanceof Error?_0x52f998['message']:_0x52f998);}if(_0x276ca9>0x0){const _0x50b3cc=_0x38987b[_0x431305(0x96)](_0xe94e00,_0x38987b[_0x431305(0x99)])?_0x38987b[_0x431305(0x8a)]:_0x38987b[_0x431305(0x89)];console[_0x431305(0x85)](_0x431305(0x7a)+_0x276ca9+'\x20'+_0x50b3cc+_0x431305(0x9d)+(_0x38987b['gnTXU'](_0x276ca9,0x1)?'s':'')+'\x20successfully!\x0a'),!_0x39e673['suppressUsage']&&(console[_0x431305(0x85)]('To\x20use:'),_0x7f851f==='opencode'?console['log'](_0x431305(0x9b)):console['log'](_0x38987b[_0x431305(0x9c)]));}else console[_0x431305(0x85)]('\x0a⚠️\x20\x20No\x20skills\x20were\x20installed.\x0a');}
@@ -1 +1 @@
1
- const _0x577a92=_0x4cd2;(function(_0x34da7d,_0x2934e8){const _0x51f2c5=_0x4cd2,_0x8961ff=_0x34da7d();while(!![]){try{const _0x406028=-parseInt(_0x51f2c5(0x16c))/0x1+parseInt(_0x51f2c5(0x14a))/0x2*(parseInt(_0x51f2c5(0x155))/0x3)+-parseInt(_0x51f2c5(0x195))/0x4*(parseInt(_0x51f2c5(0x145))/0x5)+-parseInt(_0x51f2c5(0x193))/0x6+parseInt(_0x51f2c5(0x18c))/0x7+-parseInt(_0x51f2c5(0x162))/0x8+parseInt(_0x51f2c5(0x18f))/0x9;if(_0x406028===_0x2934e8)break;else _0x8961ff['push'](_0x8961ff['shift']());}catch(_0x431477){_0x8961ff['push'](_0x8961ff['shift']());}}}(_0x4bc3,0x84158));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x3bdf73 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 _0x4bc3(){const _0x14c86c=['QFXui','/ranger:enable','status','LHxKw','✓\x20Authenticated\x20to\x20','.gitignore','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20','use\x20until\x20the\x20session\x20expires.\x0a','ready','isTTY','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','ObIYm','GtRQt','env','trackPhaseError','zocWS','eAJTa','Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20','win32','method','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','Authentication\x20failed:\x20','\x20now?','3842608pAYCpV','LSxFy','skipChromium','13826241zYowmy','confirm','\x20\x20npx\x20playwright@','ZnLWM','3871386mCyiDk','\x0a❌\x20Profile\x20setup\x20failed:','164wNjyZM','install','user','sNTVG','chromium','RSobU','.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','✓\x20Exported\x20credentials\x20for\x20CI','aXbWb','skills','playwright@','nzYAL','trackPhaseStart','message','force','trackPhaseEnd','stdout','cCNSG','log','60505rzZfsP','\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','✓\x20Local\x20profile\x20already\x20exists','✓\x20Created\x20.ranger/.gitignore','106SinGQz','with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','No\x20git\x20repository\x20found','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','sxdUP','git_check','\x20and\x20prompt\x20the\x20coding','\x20(fallback\x20version)','✓\x20Already\x20authenticated\x20to\x20','ranger','HkXUL','36843gzIFWz','platform','stdin','hNGHW','scope','NSUfp','Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','ranger\x20profile\x20add\x20local','wEjyJ','Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','\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','prompt','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','5543672MdDEul','\x20install\x20chromium','error','PeSRg','\x1b[1m','lQsls','auth','local','resolve','kttnl','360739BdCiaQ','profile','opencode','url','\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with','\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how','✓\x20Created\x20.ranger/\x20directory','npx'];_0x4bc3=function(){return _0x14c86c;};return _0x4bc3();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION='1.58.2',bold=_0x50cdda=>_0x577a92(0x166)+_0x50cdda+'\x1b[0m';function getPlaywrightVersion(){const _0x32ffc3=_0x577a92,_0x38ebc7={'ezUAQ':'playwright/package.json','FKwQt':function(_0x243c13,_0x3caa65){return _0x243c13(_0x3caa65);}};try{const _0x2c1978=require[_0x32ffc3(0x16a)](_0x38ebc7['ezUAQ']),_0x5eae24=_0x38ebc7['FKwQt'](require,_0x2c1978);return _0x5eae24['version'];}catch{return null;}}function installChromiumBinary(_0x53229d){const _0x18618c=_0x577a92,_0x59729e={'CTyTk':_0x18618c(0x196),'kttnl':_0x18618c(0x187),'PeSRg':_0x18618c(0x164)};return new Promise((_0xec00fa,_0x24a85d)=>{const _0x129451=_0x18618c,_0x235362={'djzvC':function(_0x10cdfa){return _0x10cdfa();}},_0x5b948c=[_0x129451(0x1a0)+_0x53229d,_0x59729e['CTyTk'],_0x129451(0x199)],_0x533646=spawn(_0x129451(0x173),_0x5b948c,{'stdio':'inherit','shell':process[_0x129451(0x156)]===_0x59729e[_0x129451(0x16b)]});_0x533646['on']('close',_0xfd5eb1=>{_0xfd5eb1===0x0?_0x235362['djzvC'](_0xec00fa):_0x24a85d(new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0xfd5eb1));}),_0x533646['on'](_0x59729e[_0x129451(0x165)],_0x38f4ee=>{_0x24a85d(_0x38f4ee);});});}export async function authenticate(_0x59b47b){const _0x56e140=_0x577a92,_0x2d0400={'sNTVG':'existing_token','PXAwF':function(_0x1989e9){return _0x1989e9();},'thwAn':function(_0x468587,_0x1e6ceb){return _0x468587 instanceof _0x1e6ceb;},'fYfJR':'Validating\x20API\x20token...'};if(!_0x59b47b){const _0x53d1a7=await getToken();if(_0x53d1a7){const _0x9f6691=await getCurrentUser(_0x53d1a7);if(_0x9f6691['success'])return console['log'](_0x56e140(0x152)+_0x9f6691[_0x56e140(0x197)]['organizationName']),{'token':_0x53d1a7,'method':_0x2d0400[_0x56e140(0x198)]};}try{_0x59b47b=await _0x2d0400['PXAwF'](runDeviceAuthFlow);}catch(_0x3901cd){throw new Error('Authentication\x20failed:\x20'+(_0x2d0400['thwAn'](_0x3901cd,Error)?_0x3901cd['message']:_0x3901cd));}const _0x3bab55=await getCurrentUser(_0x59b47b);if(!_0x3bab55['success'])throw new Error(_0x56e140(0x17b)+_0x3bab55['error']);return console['log'](_0x56e140(0x178)+_0x3bab55[_0x56e140(0x197)]['organizationName']),{'token':_0x59b47b,'method':'device_auth'};}console[_0x56e140(0x144)](_0x2d0400['fYfJR']);const _0x281bf7=await getCurrentUser(_0x59b47b);if(!_0x281bf7['success']){if(_0x281bf7[_0x56e140(0x176)])throw new Error(_0x56e140(0x18a)+_0x281bf7['error']+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error(_0x56e140(0x186)+_0x281bf7['error']+_0x56e140(0x19b));}return console[_0x56e140(0x144)](_0x56e140(0x178)+_0x281bf7['user']['organizationName']),await storeToken(_0x59b47b),console[_0x56e140(0x144)](process[_0x56e140(0x182)]['GITHUB_ENV']?_0x56e140(0x19d):'✓\x20Stored\x20credentials\x20locally'),{'token':_0x59b47b,'method':'provided_token'};}export async function ensureRangerDir(){const _0xce2df5=_0x577a92,_0xb42a68={'rbKIN':function(_0x326bd5,_0xe40913,_0xcc9fb){return _0x326bd5(_0xe40913,_0xcc9fb);},'aXbWb':_0xce2df5(0x172),'pwfMG':'✓\x20.ranger/\x20directory\x20already\x20exists'},_0x2c9883=findGitRoot(),_0x7987d1=_0x2c9883?join(_0x2c9883,'.ranger'):getRangerDir();return!existsSync(_0x7987d1)?(await _0xb42a68['rbKIN'](mkdir,_0x7987d1,{'recursive':!![]}),console['log'](_0xb42a68[_0xce2df5(0x19e)]),{'path':_0x7987d1,'installed':!![]}):(console[_0xce2df5(0x144)](_0xb42a68['pwfMG']),{'path':_0x7987d1,'installed':![]});}export async function ensureChromium(){const _0x2e4300=_0x577a92,_0x4083c0={'mxdlT':function(_0x297102,_0x302222){return _0x297102??_0x302222;},'XLOCs':'\x0aInstalling\x20Chromium\x20browser...\x0a','pkXnh':function(_0x9a63b2,_0x159c6c){return _0x9a63b2(_0x159c6c);},'ZTLOr':function(_0x4bd158,_0x16c48f){return _0x4bd158 instanceof _0x16c48f;}};let _0x5ca849=![];try{const _0x3cd171=chromium['executablePath']();_0x5ca849=existsSync(_0x3cd171);}catch{_0x5ca849=![];}if(_0x5ca849)return console['log']('✓\x20Playwright\x20Chromium\x20browser\x20found'),![];const _0x168ac4=getPlaywrightVersion(),_0x2030a7=_0x4083c0['mxdlT'](_0x168ac4,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x36e0d5=!_0x168ac4,_0x2ecf03=process['stdin'][_0x2e4300(0x17e)]&&process[_0x2e4300(0x142)]['isTTY'];let _0x1fb6ee=!![];if(_0x2ecf03){const {install:_0x45f5ea}=await _0x3bdf73[_0x2e4300(0x160)]([{'type':_0x2e4300(0x190),'name':'install','message':_0x36e0d5?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x2030a7+_0x2e4300(0x18b):'The\x20required\x20version\x20('+_0x2030a7+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x1fb6ee=_0x45f5ea;}else console['log'](_0x2e4300(0x19c)+_0x2030a7+(_0x36e0d5?_0x2e4300(0x151):'')+'...');if(_0x1fb6ee){console['log'](_0x4083c0['XLOCs']);try{await _0x4083c0['pkXnh'](installChromiumBinary,_0x2030a7),console[_0x2e4300(0x144)]('\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully');}catch(_0x5aa1a2){console['error']('\x0a❌\x20Failed\x20to\x20install\x20Chromium:',_0x4083c0['ZTLOr'](_0x5aa1a2,Error)?_0x5aa1a2['message']:_0x5aa1a2),console[_0x2e4300(0x144)]('You\x20can\x20install\x20it\x20manually\x20by\x20running:'),console[_0x2e4300(0x144)](_0x2e4300(0x191)+_0x2030a7+'\x20install\x20chromium');}}else console[_0x2e4300(0x144)]('\x0a⚠\x20Skipping\x20Chromium\x20installation.'),console['log'](_0x2e4300(0x161)),console[_0x2e4300(0x144)]('\x20\x20npx\x20playwright@'+_0x2030a7+_0x2e4300(0x163));return!![];}export async function writeRangerGitignore(_0x54de64){const _0x4b4dfa=_0x577a92,_0x176dbd={'lQsls':function(_0x531ce8,_0x300338,_0x464c2c){return _0x531ce8(_0x300338,_0x464c2c);},'cCNSG':_0x4b4dfa(0x149)},_0x585cb9=_0x176dbd[_0x4b4dfa(0x167)](join,_0x54de64,_0x4b4dfa(0x179)),_0x4ce7f1=_0x4b4dfa(0x15f);await writeFile(_0x585cb9,_0x4ce7f1),console[_0x4b4dfa(0x144)](_0x176dbd[_0x4b4dfa(0x143)]);}function _0x4cd2(_0x5ba499,_0x5a0f2c){_0x5ba499=_0x5ba499-0x13f;const _0x4bc3ad=_0x4bc3();let _0x4cd267=_0x4bc3ad[_0x5ba499];return _0x4cd267;}function printProfileSetupLaterInstructions(){const _0x2bee6d=_0x577a92,_0xfa1417={'GzBMa':_0x2bee6d(0x17a),'rSAaE':_0x2bee6d(0x15c)};console[_0x2bee6d(0x144)](_0xfa1417['GzBMa']),console[_0x2bee6d(0x144)]('\x20\x20'+bold(_0xfa1417['rSAaE'])),console['log']('Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a');}async function ensureLocalEnv(_0x2eb578,_0x3495c1){const _0x347bac=_0x577a92,_0x5ef4cd={'QFXui':_0x347bac(0x169),'YlhYo':_0x347bac(0x148),'PvfkM':_0x347bac(0x171),'hNGHW':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','eAJTa':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','mjadE':_0x347bac(0x190),'qSTvH':'wantsProfile','MBbRC':_0x347bac(0x15b)};if(!findGitRoot())return console[_0x347bac(0x144)]('⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.'),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x5ef4cd[_0x347bac(0x174)],{'locations':[_0x347bac(0x169)]}))return console[_0x347bac(0x144)](_0x5ef4cd['YlhYo']),{'ready':!![],'skipped':![]};const _0x27e686=process['stdin'][_0x347bac(0x17e)]&&process['stdout'][_0x347bac(0x17e)];if(_0x27e686&&!_0x2eb578?.[_0x347bac(0x16f)]){console[_0x347bac(0x144)](_0x5ef4cd['PvfkM']),console['log'](_0x5ef4cd[_0x347bac(0x158)]),console['log']('auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to'),console[_0x347bac(0x144)](_0x347bac(0x17c)),console['log'](_0x5ef4cd[_0x347bac(0x185)]);const {wantsProfile:_0x528f2f}=await _0x3bdf73['prompt']([{'type':_0x5ef4cd['mjadE'],'name':_0x5ef4cd['qSTvH'],'message':_0x5ef4cd['MBbRC'],'default':!![]}]);if(!_0x528f2f)return printProfileSetupLaterInstructions(),{'ready':![],'skipped':!![]};}try{return await addEnv(_0x347bac(0x169),{'url':_0x2eb578?.[_0x347bac(0x16f)],'force':_0x2eb578?.[_0x347bac(0x140)],'allowInsecureLocalhost':_0x2eb578?.['allowInsecureLocalhost']},_0x3495c1),{'ready':!![],'skipped':![]};}catch(_0x540957){return console['error'](_0x347bac(0x194),_0x540957 instanceof Error?_0x540957['message']:_0x540957),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x3a869f,_0x303e4c,_0x1260c2){const _0x4455cd=_0x577a92,_0x30d901={'RSobU':_0x4455cd(0x14f),'zocWS':function(_0x4daf1e){return _0x4daf1e();},'ObIYm':'No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','LHxKw':function(_0x309b50,_0x366b7b){return _0x309b50(_0x366b7b);},'sxdUP':'auth','TgwHb':function(_0x5c722b,_0x150970){return _0x5c722b(_0x150970);},'wEjyJ':_0x4455cd(0x17f),'HkXUL':function(_0x3ecd02){return _0x3ecd02();},'GtRQt':'plugin','acrej':function(_0x2bdcdb,_0x11ded5){return _0x2bdcdb(_0x11ded5);},'etvDo':function(_0x45a760,_0x6d3e3b){return _0x45a760&&_0x6d3e3b;},'LSxFy':'skills','bAAYV':function(_0x27ba63){return _0x27ba63();},'ZnLWM':function(_0x30e640,_0x1175b9){return _0x30e640 instanceof _0x1175b9;},'oRyht':'Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','LElvN':_0x4455cd(0x15c),'NSUfp':function(_0x5938db,_0x3b1bec,_0xd12c4c){return _0x5938db(_0x3b1bec,_0xd12c4c);},'pzZMz':_0x4455cd(0x16d),'nzYAL':_0x4455cd(0x14b),'TBmzE':function(_0x58aea9,_0x122f40){return _0x58aea9+_0x122f40;}};console[_0x4455cd(0x144)]('\x0a🚀\x20Ranger\x20Setup\x0a');const _0x3a67b3=process[_0x4455cd(0x157)][_0x4455cd(0x17e)]&&process['stdout'][_0x4455cd(0x17e)];!_0x3a67b3&&!_0x303e4c?.[_0x4455cd(0x159)]&&(console['log'](_0x4455cd(0x15e)),_0x303e4c={..._0x303e4c,'scope':_0x4455cd(0x197)});_0x1260c2?.[_0x4455cd(0x1a2)](_0x30d901['RSobU']);if(!_0x30d901[_0x4455cd(0x184)](findGitRoot)){await _0x1260c2?.[_0x4455cd(0x183)](_0x30d901[_0x4455cd(0x19a)],new Error(_0x4455cd(0x14c)));throw new Error(_0x30d901[_0x4455cd(0x180)]);}_0x1260c2?.['trackPhaseEnd']('git_check');const _0x332ef1=!_0x30d901[_0x4455cd(0x177)](existsSync,_0x30d901['zocWS'](getRangerDir)),{path:_0x4f852c}=await ensureRangerDir();_0x1260c2?.['trackPhaseStart'](_0x30d901[_0x4455cd(0x14e)]);const _0x17eda7=await _0x30d901['TgwHb'](authenticate,_0x3a869f);_0x1260c2?.['trackPhaseEnd'](_0x4455cd(0x168),{'isFirstRun':_0x332ef1,'method':_0x17eda7[_0x4455cd(0x188)]}),_0x1260c2?.['trackPhaseStart']('chromium');_0x303e4c?.[_0x4455cd(0x18e)]?console['log'](_0x30d901[_0x4455cd(0x15d)]):await _0x30d901[_0x4455cd(0x154)](ensureChromium);_0x1260c2?.['trackPhaseEnd'](_0x4455cd(0x199),{'isFirstRun':_0x332ef1,'skipped':!!_0x303e4c?.[_0x4455cd(0x18e)]}),await _0x30d901['TgwHb'](writeRangerGitignore,_0x4f852c),console['log'](_0x4455cd(0x147));const _0x4107a7=_0x303e4c?.[_0x4455cd(0x159)],_0x1a4572=_0x303e4c?.[_0x4455cd(0x16e)]??![];let _0x40f160=null;_0x1a4572?(_0x1260c2?.[_0x4455cd(0x1a2)](_0x30d901[_0x4455cd(0x181)]),_0x40f160=await ensureOpencodePluginConfig(_0x4107a7),_0x1260c2?.['trackPhaseEnd']('plugin',{'isFirstRun':_0x332ef1,'opencode':!![]})):(_0x1260c2?.[_0x4455cd(0x1a2)]('plugin'),await _0x30d901['acrej'](ensureClaudePlugin,_0x4107a7),_0x1260c2?.['trackPhaseEnd'](_0x30d901['GtRQt'],{'isFirstRun':_0x332ef1}));if(_0x30d901['etvDo'](_0x1a4572,_0x40f160)){_0x1260c2?.['trackPhaseStart'](_0x30d901[_0x4455cd(0x18d)]);try{await installSkill(_0x4455cd(0x153),{'level':_0x40f160[_0x4455cd(0x159)],'cliVersion':_0x30d901['bAAYV'](getCurrentVersion),'platform':'opencode'}),_0x1260c2?.['trackPhaseEnd']('skills',{'isFirstRun':_0x332ef1,'opencode':!![]});}catch(_0x2c03a0){console['warn']('\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:',_0x30d901[_0x4455cd(0x192)](_0x2c03a0,Error)?_0x2c03a0[_0x4455cd(0x13f)]:_0x2c03a0),_0x1260c2?.['trackPhaseEnd'](_0x4455cd(0x19f),{'isFirstRun':_0x332ef1,'opencode':!![],'failed':!![]});}}else _0x1260c2?.[_0x4455cd(0x1a2)](_0x30d901[_0x4455cd(0x18d)]),await _0x30d901['acrej'](ensureClaudeSkills,_0x4107a7),_0x1260c2?.['trackPhaseEnd']('skills',{'isFirstRun':_0x332ef1});if(!_0x3a67b3&&!_0x303e4c?.['url'])console['log'](_0x30d901['oRyht']),console['log']('\x20\x20'+bold(_0x30d901['LElvN'])+'\x0a');else{_0x1260c2?.[_0x4455cd(0x1a2)](_0x4455cd(0x16d));const _0x5d5b68=await _0x30d901[_0x4455cd(0x15a)](ensureLocalEnv,{'url':_0x303e4c?.[_0x4455cd(0x16f)],'force':_0x303e4c?.['force'],'allowInsecureLocalhost':_0x303e4c?.['allowInsecureLocalhost']},_0x1260c2);_0x1260c2?.[_0x4455cd(0x141)](_0x30d901['pzZMz'],{'isFirstRun':_0x332ef1,'profileReady':_0x5d5b68['ready'],'userSkipped':_0x5d5b68['skipped']}),_0x5d5b68[_0x4455cd(0x17d)]&&console[_0x4455cd(0x144)](_0x4455cd(0x146));}if(_0x1a4572)console['log'](_0x4455cd(0x14d)),console[_0x4455cd(0x144)]('and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review'),console[_0x4455cd(0x144)](_0x30d901[_0x4455cd(0x1a1)]),console[_0x4455cd(0x144)](_0x4455cd(0x189));else{const _0x4b712a=bold(_0x4455cd(0x175));console['log'](_0x30d901['TBmzE'](_0x30d901['TBmzE']('\x0aIn\x20Claude\x20Code,\x20run\x20'+_0x4b712a+_0x4455cd(0x150),_0x4455cd(0x170))+'\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.'));}}
1
+ const _0x4597ab=_0x40ee;(function(_0x46eb65,_0x45c22b){const _0x8a2a93=_0x40ee,_0x551c70=_0x46eb65();while(!![]){try{const _0x769d71=-parseInt(_0x8a2a93(0x8f))/0x1+parseInt(_0x8a2a93(0x7c))/0x2*(-parseInt(_0x8a2a93(0x81))/0x3)+parseInt(_0x8a2a93(0xa7))/0x4+parseInt(_0x8a2a93(0xdb))/0x5+-parseInt(_0x8a2a93(0xa4))/0x6+parseInt(_0x8a2a93(0x67))/0x7+parseInt(_0x8a2a93(0xd9))/0x8;if(_0x769d71===_0x45c22b)break;else _0x551c70['push'](_0x551c70['shift']());}catch(_0x53b8e0){_0x551c70['push'](_0x551c70['shift']());}}}(_0x3336,0x772ac));import{mkdir,writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{createRequire}from'module';import{spawn}from'child_process';import _0x26e0b5 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';function _0x40ee(_0x17a3ad,_0x2c391d){_0x17a3ad=_0x17a3ad-0x67;const _0x33365e=_0x3336();let _0x40ee48=_0x33365e[_0x17a3ad];return _0x40ee48;}import{findExistingEnv}from'./utils/settings.js';import{getCurrentVersion}from'./utils/version.js';import{ensureClaudePlugin,ensureClaudeSkills}from'./setup/claude.js';import{ensureOpencodePluginConfig}from'./setup/opencode.js';import{installSkill}from'./utils/skills.js';const require=createRequire(import.meta.url),PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION=_0x4597ab(0x70),bold=_0x20533e=>_0x4597ab(0xbc)+_0x20533e+_0x4597ab(0xa9);function getPlaywrightVersion(){const _0x45cf3d=_0x4597ab,_0x257c29={'weRJU':'playwright/package.json'};try{const _0x26ae9c=require[_0x45cf3d(0xbb)](_0x257c29[_0x45cf3d(0x6d)]),_0x5eccc1=require(_0x26ae9c);return _0x5eccc1[_0x45cf3d(0x8d)];}catch{return null;}}function installChromiumBinary(_0x4beaa3){const _0x4f74ac=_0x4597ab,_0x5b5a38={'Lrxqg':_0x4f74ac(0x84),'FphWU':'win32'};return new Promise((_0x5e953d,_0x2963ec)=>{const _0x22e50e=_0x4f74ac,_0x9bcc66={'NXdne':function(_0x154b0b,_0x402617){return _0x154b0b(_0x402617);}},_0x494e47=['playwright@'+_0x4beaa3,_0x22e50e(0x91),_0x5b5a38[_0x22e50e(0x7a)]],_0x2250c9=spawn(_0x22e50e(0x9d),_0x494e47,{'stdio':_0x22e50e(0xd6),'shell':process['platform']===_0x5b5a38['FphWU']});_0x2250c9['on'](_0x22e50e(0xca),_0xeb30d4=>{_0xeb30d4===0x0?_0x5e953d():_0x9bcc66['NXdne'](_0x2963ec,new Error('Installation\x20failed\x20with\x20exit\x20code\x20'+_0xeb30d4));}),_0x2250c9['on'](_0x22e50e(0xa5),_0x53ffbf=>{_0x2963ec(_0x53ffbf);});});}export async function authenticate(_0x58d0c5){const _0x801c65=_0x4597ab,_0x3e3322={'akpTv':function(_0xe567a4,_0x233379){return _0xe567a4(_0x233379);},'hncZx':function(_0x3d7938){return _0x3d7938();},'kqeCh':function(_0x5ca630,_0x5079a1){return _0x5ca630 instanceof _0x5079a1;},'MmRTY':_0x801c65(0xc3),'Itxkp':_0x801c65(0xb4),'XbzWM':_0x801c65(0xb2)};if(!_0x58d0c5){const _0x13dc4a=await getToken();if(_0x13dc4a){const _0x7d317f=await _0x3e3322[_0x801c65(0x6f)](getCurrentUser,_0x13dc4a);if(_0x7d317f[_0x801c65(0x85)])return console[_0x801c65(0xce)]('✓\x20Already\x20authenticated\x20to\x20'+_0x7d317f[_0x801c65(0xa1)]['organizationName']),{'token':_0x13dc4a,'method':_0x801c65(0x77)};}try{_0x58d0c5=await _0x3e3322[_0x801c65(0xc6)](runDeviceAuthFlow);}catch(_0x1b9a13){throw new Error(_0x801c65(0xc4)+(_0x3e3322['kqeCh'](_0x1b9a13,Error)?_0x1b9a13['message']:_0x1b9a13));}const _0x17306a=await getCurrentUser(_0x58d0c5);if(!_0x17306a['success'])throw new Error('Failed\x20to\x20validate\x20provisioned\x20API\x20key:\x20'+_0x17306a['error']);return console[_0x801c65(0xce)]('✓\x20Authenticated\x20to\x20'+_0x17306a[_0x801c65(0xa1)]['organizationName']),{'token':_0x58d0c5,'method':_0x801c65(0x75)};}console['log'](_0x3e3322[_0x801c65(0x6e)]);const _0x264e8a=await getCurrentUser(_0x58d0c5);if(!_0x264e8a['success']){if(_0x264e8a[_0x801c65(0xa3)])throw new Error('Authentication\x20failed:\x20'+_0x264e8a[_0x801c65(0xa5)]+'.\x20Please\x20check\x20your\x20API\x20token\x20and\x20try\x20again.');else throw new Error('Failed\x20to\x20connect\x20to\x20MCP\x20server:\x20'+_0x264e8a['error']+'.\x20Please\x20check\x20your\x20network\x20connection\x20and\x20server\x20URL.');}return console[_0x801c65(0xce)]('✓\x20Authenticated\x20to\x20'+_0x264e8a['user']['organizationName']),await storeToken(_0x58d0c5),console['log'](process['env']['GITHUB_ENV']?'✓\x20Exported\x20credentials\x20for\x20CI':_0x3e3322[_0x801c65(0xa6)]),{'token':_0x58d0c5,'method':_0x3e3322['XbzWM']};}export async function ensureRangerDir(){const _0x2e1a74=_0x4597ab,_0x506254={'CoNrH':function(_0x17dd85){return _0x17dd85();},'tJCdJ':function(_0x5470ea){return _0x5470ea();},'ehnHP':function(_0x4accac,_0x1fbaf9){return _0x4accac(_0x1fbaf9);},'MGIlx':function(_0x11f709,_0x410d72,_0x4c7a59){return _0x11f709(_0x410d72,_0x4c7a59);},'ecLbm':'✓\x20.ranger/\x20directory\x20already\x20exists'},_0x4183ab=_0x506254['CoNrH'](findGitRoot),_0x2163a0=_0x4183ab?join(_0x4183ab,_0x2e1a74(0xac)):_0x506254[_0x2e1a74(0xc0)](getRangerDir);return!_0x506254['ehnHP'](existsSync,_0x2163a0)?(await _0x506254['MGIlx'](mkdir,_0x2163a0,{'recursive':!![]}),console['log'](_0x2e1a74(0x71)),{'path':_0x2163a0,'installed':!![]}):(console[_0x2e1a74(0xce)](_0x506254[_0x2e1a74(0xda)]),{'path':_0x2163a0,'installed':![]});}export async function ensureChromium(){const _0x2186b5=_0x4597ab,_0x58e2ab={'KOGer':function(_0x3f13c6,_0x537b51){return _0x3f13c6(_0x537b51);},'IGXRS':function(_0x415c29,_0x5ad853){return _0x415c29??_0x5ad853;},'LGeod':'install','KdgEY':_0x2186b5(0x8a),'PsOmT':'\x0a✓\x20Playwright\x20Chromium\x20installed\x20successfully','KuJCB':_0x2186b5(0xd1),'aMgyi':'You\x20can\x20install\x20it\x20manually\x20by\x20running:','ismrH':_0x2186b5(0x7e)};let _0xa675d7=![];try{const _0x377b49=chromium[_0x2186b5(0x8c)]();_0xa675d7=_0x58e2ab[_0x2186b5(0xbe)](existsSync,_0x377b49);}catch{_0xa675d7=![];}if(_0xa675d7)return console[_0x2186b5(0xce)](_0x2186b5(0x6c)),![];const _0x59f73b=getPlaywrightVersion(),_0x21a3d8=_0x58e2ab['IGXRS'](_0x59f73b,PLAYWRIGHT_CHROMIUM_INSTALL_FALLBACK_VERSION),_0x5db219=!_0x59f73b,_0x2fe442=process['stdin']['isTTY']&&process['stdout']['isTTY'];let _0x4121d2=!![];if(_0x2fe442){const {install:_0x1a8588}=await _0x26e0b5['prompt']([{'type':_0x2186b5(0xc9),'name':_0x58e2ab['LGeod'],'message':_0x5db219?'Could\x20not\x20determine\x20local\x20Playwright\x20version.\x20Install\x20Playwright\x20Chromium\x20using\x20fallback\x20version\x20'+_0x21a3d8+'\x20now?':_0x2186b5(0x98)+_0x21a3d8+')\x20of\x20the\x20Playwright\x20Chromium\x20browser\x20is\x20not\x20installed.\x20Install\x20it\x20now?','default':!![]}]);_0x4121d2=_0x1a8588;}else console[_0x2186b5(0xce)](_0x2186b5(0x83)+_0x21a3d8+(_0x5db219?_0x58e2ab[_0x2186b5(0xb8)]:'')+_0x2186b5(0x94));if(_0x4121d2){console[_0x2186b5(0xce)]('\x0aInstalling\x20Chromium\x20browser...\x0a');try{await _0x58e2ab[_0x2186b5(0xbe)](installChromiumBinary,_0x21a3d8),console['log'](_0x58e2ab['PsOmT']);}catch(_0x151fb0){console['error'](_0x58e2ab[_0x2186b5(0x9a)],_0x151fb0 instanceof Error?_0x151fb0['message']:_0x151fb0),console[_0x2186b5(0xce)](_0x58e2ab['aMgyi']),console['log']('\x20\x20npx\x20playwright@'+_0x21a3d8+_0x2186b5(0x72));}}else console['log'](_0x2186b5(0xd0)),console['log'](_0x58e2ab['ismrH']),console[_0x2186b5(0xce)](_0x2186b5(0xbf)+_0x21a3d8+_0x2186b5(0x72));return!![];}export async function writeRangerGitignore(_0x75bac4){const _0x41ec8b=_0x4597ab,_0x18e3c2={'SQSet':function(_0x609d0,_0x29fc17,_0x1269e1){return _0x609d0(_0x29fc17,_0x1269e1);},'wpcZM':'✓\x20Created\x20.ranger/.gitignore'},_0x5172cd=join(_0x75bac4,'.gitignore'),_0x415835=_0x41ec8b(0xd7);await _0x18e3c2[_0x41ec8b(0xd3)](writeFile,_0x5172cd,_0x415835),console['log'](_0x18e3c2[_0x41ec8b(0x7d)]);}function printProfileSetupLaterInstructions(){const _0x194a30=_0x4597ab,_0x20c899={'MdjgV':_0x194a30(0xb6),'gwDDB':function(_0x573fd4,_0x22160e){return _0x573fd4(_0x22160e);}};console['log'](_0x20c899['MdjgV']),console['log']('\x20\x20'+_0x20c899['gwDDB'](bold,'ranger\x20profile\x20add\x20local')),console[_0x194a30(0xce)]('Make\x20sure\x20your\x20app\x20is\x20running\x20before\x20you\x20start.\x0a');}function _0x3336(){const _0x10831d=['install','xjIXy','NAurs','...','allowInsecureLocalhost','ranger','srSxS','The\x20required\x20version\x20(','⚠\x20No\x20git\x20repository\x20found.\x20Run\x20`ranger\x20profile\x20add\x20local`\x20from\x20your\x20project\x20directory.','KuJCB','ZcirP','tlOrk','npx','LSBLS','\x0a✅\x20Ranger\x20setup\x20complete!\x0a','skipChromium','user','\x20and\x20prompt\x20the\x20coding','status','5650386CviPGN','error','Itxkp','2725184oWHesj','Xgmeb','\x1b[0m','fFFJX','MhXcH','.ranger','QNcuU','OKDAg','message','oNbbY','tcSHq','provided_token','profile','✓\x20Stored\x20credentials\x20locally','qkFYa','\x0aIn\x20order\x20for\x20Ranger\x20to\x20verify\x20your\x20work,\x20you\x27ll\x20need\x20to\x20set\x20up\x20a\x20profile\x20later\x20with:','kJeGp','KdgEY','isTTY','ranger\x20profile\x20add\x20local','resolve','\x1b[1m','verification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','KOGer','\x20\x20npx\x20playwright@','tJCdJ','skills','git_check','Validating\x20API\x20token...','Authentication\x20failed:\x20','stdin','hncZx','MXncx','use\x20until\x20the\x20session\x20expires.\x0a','confirm','close','auth,\x20you\x20can\x20log\x20in\x20and\x20we\x27ll\x20save\x20the\x20session\x20state\x20for\x20Ranger\x20to','opencode','scope','log','hqhjT','\x0a⚠\x20Skipping\x20Chromium\x20installation.','\x0a❌\x20Failed\x20to\x20install\x20Chromium:','oVxtJ','SQSet','ready','\x0aIn\x20Claude\x20Code,\x20run\x20','inherit','\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','force','10124568pbOYHu','ecLbm','2892080dophTS','method','3895801irhkxS','mCLup','JjaPk','trackPhaseStart','auth','✓\x20Playwright\x20Chromium\x20browser\x20found','weRJU','MmRTY','akpTv','1.58.2','✓\x20Created\x20.ranger/\x20directory','\x20install\x20chromium','/ranger:enable','\x0averification\x20to\x20check\x20its\x20work\x20as\x20it\x20builds.','device_auth','trackPhaseEnd','existing_token','\x0ascenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser','local','Lrxqg','skipped','2GsBXzx','wpcZM','You\x20will\x20need\x20to\x20install\x20it\x20before\x20using\x20Ranger:','qECmU','plugin','2462133nMnfnD','\x0aIn\x20OpenCode,\x20enable\x20Ranger\x20hooks\x20(run\x20the\x20`ranger_enable`\x20tool)','\x0aNon-interactive\x20mode:\x20Auto-installing\x20Playwright\x20Chromium\x20','chromium','success','trackPhaseError','Non-interactive\x20mode:\x20Skipping\x20profile\x20setup.\x20To\x20set\x20up\x20a\x20profile,\x20pass\x20--url\x20or\x20run\x20later:','stdout','No\x20git\x20repository\x20found','\x20(fallback\x20version)','tDala','executablePath','version','\x20\x20Failed\x20to\x20install\x20OpenCode\x20skill:','831276GQgmyj','ZRdzC'];_0x3336=function(){return _0x10831d;};return _0x3336();}async function ensureLocalEnv(_0x2751e5,_0x5a0995){const _0x5368d6=_0x4597ab,_0x4c0ce8={'WWYkE':function(_0xf99fb9){return _0xf99fb9();},'mCLup':_0x5368d6(0x99),'NAurs':_0x5368d6(0x79),'TjoCR':'✓\x20Local\x20profile\x20already\x20exists','mkwab':'to\x20access\x20your\x20app.\x20If\x20the\x20part\x20of\x20your\x20app\x20you\x20want\x20to\x20test\x20is\x20behind','efTLl':_0x5368d6(0xcb),'QNcuU':_0x5368d6(0xc8),'hqhjT':'You\x27ll\x20need\x20the\x20app\x20to\x20be\x20running\x20to\x20set\x20up\x20the\x20profile.','adLfT':_0x5368d6(0xc9),'MfvMz':'Would\x20you\x20like\x20to\x20set\x20up\x20the\x20profile\x20now?','wUTIj':function(_0x209c63){return _0x209c63();},'MXncx':function(_0x43e770,_0x10e390,_0x9dd6d2,_0x2b8ac7){return _0x43e770(_0x10e390,_0x9dd6d2,_0x2b8ac7);},'YJSpn':'\x0a❌\x20Profile\x20setup\x20failed:'};if(!_0x4c0ce8['WWYkE'](findGitRoot))return console[_0x5368d6(0xce)](_0x4c0ce8[_0x5368d6(0x68)]),{'ready':![],'skipped':!![]};if(findExistingEnv(_0x5368d6(0x79),{'locations':[_0x4c0ce8[_0x5368d6(0x93)]]}))return console[_0x5368d6(0xce)](_0x4c0ce8['TjoCR']),{'ready':!![],'skipped':![]};const _0x36d880=process[_0x5368d6(0xc5)][_0x5368d6(0xb9)]&&process[_0x5368d6(0x88)]['isTTY'];if(_0x36d880&&!_0x2751e5?.['url']){console['log']('\x0aA\x20profile\x20gives\x20Ranger\x27s\x20browser\x20agent\x20information\x20about\x20how'),console['log'](_0x4c0ce8['mkwab']),console[_0x5368d6(0xce)](_0x4c0ce8['efTLl']),console[_0x5368d6(0xce)](_0x4c0ce8[_0x5368d6(0xad)]),console[_0x5368d6(0xce)](_0x4c0ce8[_0x5368d6(0xcf)]);const {wantsProfile:_0x3e2321}=await _0x26e0b5['prompt']([{'type':_0x4c0ce8['adLfT'],'name':'wantsProfile','message':_0x4c0ce8['MfvMz'],'default':!![]}]);if(!_0x3e2321)return _0x4c0ce8['wUTIj'](printProfileSetupLaterInstructions),{'ready':![],'skipped':!![]};}try{return await _0x4c0ce8[_0x5368d6(0xc7)](addEnv,_0x4c0ce8['NAurs'],{'url':_0x2751e5?.['url'],'force':_0x2751e5?.[_0x5368d6(0xd8)],'allowInsecureLocalhost':_0x2751e5?.['allowInsecureLocalhost']},_0x5a0995),{'ready':!![],'skipped':![]};}catch(_0x479278){return console[_0x5368d6(0xa5)](_0x4c0ce8['YJSpn'],_0x479278 instanceof Error?_0x479278['message']:_0x479278),printProfileSetupLaterInstructions(),{'ready':![],'skipped':![]};}}export async function start(_0x573426,_0x28355a,_0x8637c2){const _0x1f6328=_0x4597ab,_0x2aa5cd={'LSBLS':'\x0a🚀\x20Ranger\x20Setup\x0a','Xgmeb':'Non-interactive\x20mode:\x20No\x20--scope\x20provided,\x20defaulting\x20to\x20user.','ZcirP':_0x1f6328(0xa1),'QjNuB':'git_check','oNbbY':function(_0x3d3715){return _0x3d3715();},'qkFYa':'No\x20git\x20repository\x20found.\x20Please\x20run\x20`ranger\x20setup`\x20from\x20inside\x20your\x20project\x20directory.','srSxS':function(_0x581de5,_0x54a556){return _0x581de5(_0x54a556);},'JjaPk':function(_0x2ffff9){return _0x2ffff9();},'devIV':function(_0x56737c){return _0x56737c();},'oVxtJ':_0x1f6328(0x6b),'tDala':_0x1f6328(0x84),'ZRdzC':_0x1f6328(0x9f),'fFFJX':_0x1f6328(0x80),'kJeGp':function(_0x8121,_0x123491){return _0x8121(_0x123491);},'TnCSv':function(_0xd117e4,_0xbd4784){return _0xd117e4&&_0xbd4784;},'OKDAg':_0x1f6328(0xc1),'JwTjs':_0x1f6328(0x96),'xjIXy':_0x1f6328(0xcc),'qECmU':function(_0x4ed44c,_0x1958bc){return _0x4ed44c instanceof _0x1958bc;},'tcSHq':_0x1f6328(0x87),'sFfiv':_0x1f6328(0xb3),'xujzd':'and\x20prompt\x20the\x20agent\x20like\x20usual.\x20Ranger\x20will\x20create\x20a\x20feature\x20review','tlOrk':function(_0x33cba2,_0x3d6127){return _0x33cba2+_0x3d6127;},'LIGEr':function(_0x5ccc03,_0x443038){return _0x5ccc03+_0x443038;},'MhXcH':function(_0x983d1d,_0x43ad6e){return _0x983d1d+_0x43ad6e;}};console['log'](_0x2aa5cd[_0x1f6328(0x9e)]);const _0x39077b=process['stdin']['isTTY']&&process['stdout'][_0x1f6328(0xb9)];!_0x39077b&&!_0x28355a?.[_0x1f6328(0xcd)]&&(console['log'](_0x2aa5cd[_0x1f6328(0xa8)]),_0x28355a={..._0x28355a,'scope':_0x2aa5cd[_0x1f6328(0x9b)]});_0x8637c2?.[_0x1f6328(0x6a)](_0x2aa5cd['QjNuB']);if(!_0x2aa5cd[_0x1f6328(0xb0)](findGitRoot)){await _0x8637c2?.[_0x1f6328(0x86)](_0x1f6328(0xc2),new Error(_0x1f6328(0x89)));throw new Error(_0x2aa5cd[_0x1f6328(0xb5)]);}_0x8637c2?.['trackPhaseEnd'](_0x1f6328(0xc2));const _0x1d0589=!_0x2aa5cd['srSxS'](existsSync,_0x2aa5cd[_0x1f6328(0x69)](getRangerDir)),{path:_0x1aa31c}=await _0x2aa5cd['devIV'](ensureRangerDir);_0x8637c2?.['trackPhaseStart'](_0x1f6328(0x6b));const _0x50e7a6=await authenticate(_0x573426);_0x8637c2?.['trackPhaseEnd'](_0x2aa5cd[_0x1f6328(0xd2)],{'isFirstRun':_0x1d0589,'method':_0x50e7a6[_0x1f6328(0xdc)]}),_0x8637c2?.[_0x1f6328(0x6a)](_0x2aa5cd[_0x1f6328(0x8b)]);_0x28355a?.[_0x1f6328(0xa0)]?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):await ensureChromium();_0x8637c2?.['trackPhaseEnd']('chromium',{'isFirstRun':_0x1d0589,'skipped':!!_0x28355a?.[_0x1f6328(0xa0)]}),await writeRangerGitignore(_0x1aa31c),console['log'](_0x2aa5cd[_0x1f6328(0x90)]);const _0x175a93=_0x28355a?.['scope'],_0x223b67=_0x28355a?.[_0x1f6328(0xcc)]??![];let _0x272984=null;_0x223b67?(_0x8637c2?.[_0x1f6328(0x6a)](_0x2aa5cd[_0x1f6328(0xaa)]),_0x272984=await _0x2aa5cd['kJeGp'](ensureOpencodePluginConfig,_0x175a93),_0x8637c2?.[_0x1f6328(0x76)](_0x2aa5cd['fFFJX'],{'isFirstRun':_0x1d0589,'opencode':!![]})):(_0x8637c2?.['trackPhaseStart'](_0x2aa5cd[_0x1f6328(0xaa)]),await _0x2aa5cd[_0x1f6328(0x97)](ensureClaudePlugin,_0x175a93),_0x8637c2?.['trackPhaseEnd'](_0x2aa5cd[_0x1f6328(0xaa)],{'isFirstRun':_0x1d0589}));if(_0x2aa5cd['TnCSv'](_0x223b67,_0x272984)){_0x8637c2?.[_0x1f6328(0x6a)](_0x2aa5cd['OKDAg']);try{await installSkill(_0x2aa5cd['JwTjs'],{'level':_0x272984[_0x1f6328(0xcd)],'cliVersion':_0x2aa5cd['oNbbY'](getCurrentVersion),'platform':_0x2aa5cd[_0x1f6328(0x92)]}),_0x8637c2?.['trackPhaseEnd'](_0x1f6328(0xc1),{'isFirstRun':_0x1d0589,'opencode':!![]});}catch(_0x3d3fc0){console['warn'](_0x1f6328(0x8e),_0x2aa5cd[_0x1f6328(0x7f)](_0x3d3fc0,Error)?_0x3d3fc0[_0x1f6328(0xaf)]:_0x3d3fc0),_0x8637c2?.['trackPhaseEnd'](_0x1f6328(0xc1),{'isFirstRun':_0x1d0589,'opencode':!![],'failed':!![]});}}else _0x8637c2?.[_0x1f6328(0x6a)](_0x2aa5cd[_0x1f6328(0xae)]),await _0x2aa5cd[_0x1f6328(0xb7)](ensureClaudeSkills,_0x175a93),_0x8637c2?.['trackPhaseEnd']('skills',{'isFirstRun':_0x1d0589});if(!_0x39077b&&!_0x28355a?.['url'])console['log'](_0x2aa5cd[_0x1f6328(0xb1)]),console['log']('\x20\x20'+_0x2aa5cd[_0x1f6328(0x97)](bold,_0x1f6328(0xba))+'\x0a');else{_0x8637c2?.['trackPhaseStart'](_0x2aa5cd['sFfiv']);const _0x502dc3=await ensureLocalEnv({'url':_0x28355a?.['url'],'force':_0x28355a?.['force'],'allowInsecureLocalhost':_0x28355a?.[_0x1f6328(0x95)]},_0x8637c2);_0x8637c2?.[_0x1f6328(0x76)](_0x2aa5cd['sFfiv'],{'isFirstRun':_0x1d0589,'profileReady':_0x502dc3['ready'],'userSkipped':_0x502dc3[_0x1f6328(0x7b)]}),_0x502dc3[_0x1f6328(0xd4)]&&console[_0x1f6328(0xce)]('\x0a✅\x20You\x27re\x20ready\x20to\x20start\x20using\x20Ranger\x20Feature\x20Review.');}if(_0x223b67)console['log'](_0x1f6328(0x82)),console[_0x1f6328(0xce)](_0x2aa5cd['xujzd']),console['log']('with\x20scenarios\x20describing\x20what\x20to\x20verify\x20and\x20then\x20run\x20browser'),console['log'](_0x1f6328(0xbd));else{const _0x44a9ec=bold(_0x1f6328(0x73));console[_0x1f6328(0xce)](_0x2aa5cd[_0x1f6328(0x9c)](_0x2aa5cd['LIGEr'](_0x2aa5cd[_0x1f6328(0xab)](_0x1f6328(0xd5)+_0x44a9ec+_0x1f6328(0xa2),'\x0aagent\x20like\x20usual.\x20Claude\x20will\x20create\x20a\x20feature\x20review\x20with'),_0x1f6328(0x78)),_0x1f6328(0x74)));}}
@@ -1 +1 @@
1
- const _0x457348=_0xc410;(function(_0x1d4ca5,_0x4429fb){const _0x47ccbb=_0xc410,_0x4de5df=_0x1d4ca5();while(!![]){try{const _0x4ff74c=-parseInt(_0x47ccbb(0xa2))/0x1+parseInt(_0x47ccbb(0xd4))/0x2*(-parseInt(_0x47ccbb(0x101))/0x3)+-parseInt(_0x47ccbb(0xdc))/0x4+parseInt(_0x47ccbb(0xb5))/0x5+parseInt(_0x47ccbb(0xa3))/0x6*(parseInt(_0x47ccbb(0xd3))/0x7)+-parseInt(_0x47ccbb(0xe4))/0x8+parseInt(_0x47ccbb(0xb2))/0x9;if(_0x4ff74c===_0x4429fb)break;else _0x4de5df['push'](_0x4de5df['shift']());}catch(_0x10b33e){_0x4de5df['push'](_0x4de5df['shift']());}}}(_0xc190,0xc7850));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0x2381f8=>_0x457348(0xf0)+_0x2381f8+'\x1b[0m',link=(_0x16db8e,_0x243898)=>_0x457348(0xcd)+_0x16db8e+'\x07'+(_0x243898||_0x16db8e)+_0x457348(0xf2);async function getOpencodePluginStatus(){const _0x42a3e8=_0x457348,_0x5b9971={'lJGkw':function(_0x3db55b,_0x1eface){return _0x3db55b(_0x1eface);},'czKHe':'not_installed','ODyVS':_0x42a3e8(0xb7),'qbhnh':_0x42a3e8(0x9b),'hWkHz':_0x42a3e8(0xe5),'QSNAD':_0x42a3e8(0xbb),'RHGIE':function(_0x579930,_0x2fe9f9){return _0x579930>_0x2fe9f9;},'zICle':'not_configured','fwBZt':_0x42a3e8(0xc0),'XdMOm':'debug','PMqYT':'ignore','RnzRE':'data'};return new Promise(_0x5eace3=>{const _0x520a6c=_0x42a3e8,_0x185101=spawn(_0x5b9971['fwBZt'],[_0x5b9971['XdMOm'],_0x520a6c(0xca)],{'stdio':[_0x5b9971[_0x520a6c(0xcb)],'pipe','pipe']});let _0x189581='';_0x185101['stdout']?.['on']('data',_0x1b8084=>{const _0x48890c=_0x520a6c;_0x189581+=_0x1b8084[_0x48890c(0xbe)]();}),_0x185101[_0x520a6c(0xe7)]?.['on'](_0x5b9971[_0x520a6c(0xec)],_0x5948de=>{const _0x33284a=_0x520a6c;_0x189581+=_0x5948de[_0x33284a(0xbe)]();}),_0x185101['on'](_0x520a6c(0xad),()=>{const _0x5c220d=_0x520a6c;_0x5b9971['lJGkw'](_0x5eace3,{'status':_0x5b9971[_0x5c220d(0xa1)]});}),_0x185101['on']('close',_0x1c58ec=>{const _0x2b36e1=_0x520a6c,_0x586d7d={'nrVWE':function(_0x26b338,_0x2e16d4){return _0x26b338!==_0x2e16d4;},'RCHTk':_0x5b9971[_0x2b36e1(0xed)],'SSvPP':_0x5b9971[_0x2b36e1(0xa7)],'PbSzd':_0x5b9971[_0x2b36e1(0xee)]};if(_0x1c58ec!==0x0){_0x5b9971['lJGkw'](_0x5eace3,{'status':_0x5b9971[_0x2b36e1(0xa1)]});return;}const _0x517368=_0x189581[_0x2b36e1(0x100)]();let _0x4e2b33=null;if(_0x517368)try{_0x4e2b33=JSON['parse'](_0x517368);}catch{const _0x2c1987=_0x517368['match'](/\{[\s\S]*\}$/);if(_0x2c1987)try{_0x4e2b33=JSON[_0x2b36e1(0x9d)](_0x2c1987[0x0]);}catch{_0x4e2b33=null;}}const _0x422da7=Array[_0x2b36e1(0xda)](_0x4e2b33?.['plugin'])?_0x4e2b33?.[_0x2b36e1(0xbf)]:[],_0x458ccb=_0x422da7[_0x2b36e1(0xf8)](_0xdd6e48=>{const _0x4b1d1e=_0x2b36e1;if(_0x586d7d[_0x4b1d1e(0xfa)](typeof _0xdd6e48,_0x586d7d['RCHTk']))return![];return _0xdd6e48[_0x4b1d1e(0xf3)](_0x586d7d['SSvPP'])||_0xdd6e48[_0x4b1d1e(0xf3)](_0x586d7d['PbSzd']);});if(_0x458ccb){_0x5b9971['lJGkw'](_0x5eace3,{'status':_0x5b9971[_0x2b36e1(0xa5)],'details':_0x5b9971[_0x2b36e1(0xbc)](_0x422da7['length'],0x0)?_0x422da7['length']+_0x2b36e1(0xe3):undefined});return;}if(_0x422da7[_0x2b36e1(0xb1)]>0x0){_0x5eace3({'status':_0x5b9971['zICle'],'details':_0x422da7[_0x2b36e1(0xb1)]+_0x2b36e1(0xe3)});return;}_0x5b9971['lJGkw'](_0x5eace3,{'status':_0x5b9971[_0x2b36e1(0xcc)]});});});}async function getSkillsFromDir(_0x4caf40,_0x29b4da){const _0xaf2454=_0x457348,_0x36c812={'aMJzo':_0xaf2454(0xe0),'ZVsGn':function(_0x59ae78,_0x3d9b1c){return _0x59ae78(_0x3d9b1c);},'jtIuN':'utf-8'};if(!existsSync(_0x4caf40))return[];const _0x4f69df=[];try{const _0x3b6a5a=await readdir(_0x4caf40,{'withFileTypes':!![]});for(const _0x24f765 of _0x3b6a5a){if(_0x24f765[_0xaf2454(0xef)]()){const _0x465115=join(_0x4caf40,_0x24f765['name'],_0x36c812['aMJzo']);if(_0x36c812['ZVsGn'](existsSync,_0x465115)){let _0x5dc77c=_0x24f765[_0xaf2454(0xcf)];try{const _0xafd3f3=await readFile(_0x465115,_0x36c812['jtIuN']),_0x43f885=_0xafd3f3['match'](/name:\s*(.+)/);_0x43f885&&(_0x5dc77c=_0x43f885[0x1]['trim']());}catch{}_0x4f69df[_0xaf2454(0xd5)]({'name':_0x24f765['name'],'displayName':_0x5dc77c,'path':_0x465115,'level':_0x29b4da});}}}}catch{return[];}return _0x4f69df;}async function getInstalledSkills(){const _0x46ac68=_0x457348,_0x5713b3={'OTOEQ':function(_0x13b5ce,_0x2efbc9,_0x5ca8d9){return _0x13b5ce(_0x2efbc9,_0x5ca8d9);},'rtWgF':function(_0x356d02){return _0x356d02();},'GVOHo':_0x46ac68(0xa4),'ehKGj':function(_0x53a1fc,_0x538d2,_0x4e93e5){return _0x53a1fc(_0x538d2,_0x4e93e5);},'ZohnB':'user'},[_0x236cc8,_0x3b29f2]=await Promise[_0x46ac68(0xa9)]([_0x5713b3['OTOEQ'](getSkillsFromDir,_0x5713b3[_0x46ac68(0xb0)](getProjectSkillsDir),_0x5713b3[_0x46ac68(0xc4)]),_0x5713b3[_0x46ac68(0xeb)](getSkillsFromDir,_0x5713b3['rtWgF'](getUserSkillsDir),_0x5713b3['ZohnB'])]);return{'project':_0x236cc8,'user':_0x3b29f2};}function _0xc410(_0x3bdd3e,_0x3f91e1){_0x3bdd3e=_0x3bdd3e-0x99;const _0xc1909d=_0xc190();let _0xc4100b=_0xc1909d[_0x3bdd3e];return _0xc4100b;}function _0xc190(){const _0x5382a7=['toString','plugin','opencode','\x20\x20User-level:','Organization:\x20','KIVoZ','GVOHo','\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a','encrypted','enabled','map','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','config','PMqYT','zICle','\x1b]8;;file://','AcSbS','name','scope',':\x20configured','plaintext','350vFmmHX','28452iSOLnk','push','SeQkG','\x0a📊\x20Ranger\x20Status\x0a','SXtXq','pHKRl','isArray','soUab','6254040exwhov','LGDzD','UYyVj','log','SKILL.md','filter','xcIcD','\x20plugin(s)\x20configured','6875184GFJYDz','opencode-plugin','disabled','stderr','ranger@trailhead','displayName','No\x20profiles\x20configured','ehKGj','RnzRE','ODyVS','hWkHz','isDirectory','\x1b[1m','\x20\x20\x20\x20','\x1b]8;;\x07','includes','join','PRhiR','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','details','some','version','nrVWE','\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20','\x0a---\x20Profiles\x20---','path','settings.json','cwd','trim','75qpzUDp','PLAsH','dfVmS','\x20\x20\x20\x20Settings:\x20','\x20\x20Run:\x20ranger\x20setup\x20--opencode','DEBUG','API\x20URL:\x20','@ranger-testing/opencode-plugin','(not\x20found)','parse','vFeEJ','kolWE','Root:\x20','czKHe','773735eNTdka','116262tXtBYl','project','QSNAD','status','qbhnh','brbek','all','\x0a---\x20Skills\x20---','API\x20Environment:\x20','unknown','error','hasEncryptedAuth','gYnwE','rtWgF','length','18274554zmzxoc','KArea','none','6850845LIksrt','\x20\x20Not\x20configured','string','Version:\x20','YKvjs','auth.json.enc','configured','RHGIE','\x0a\x20\x20No\x20active\x20profile\x20set'];_0xc190=function(){return _0x5382a7;};return _0xc190();}async function getEnvironments(){const _0x468fa1=_0x457348,_0x46bf5c={'ukZge':function(_0x44ab50,_0x15eb84,_0x98715b){return _0x44ab50(_0x15eb84,_0x98715b);},'soUab':_0x468fa1(0x9c),'SXtXq':function(_0x5694a5,_0x22505d){return _0x5694a5(_0x22505d);},'StqBT':function(_0x4b3f1a,_0x471f90){return _0x4b3f1a===_0x471f90;},'CEjfd':function(_0x5dd109){return _0x5dd109();}},{envNames:_0x5cbaa9,activeEnv:_0x4aee70}=await _0x46bf5c['CEjfd'](getEnvNames),_0x4ff768=getRangerDir();if(!existsSync(_0x4ff768))return{'envs':[],'activeEnv':null};const _0x3cb82d=_0x5cbaa9[_0x468fa1(0xc8)](_0x3d2de2=>{const _0x14141d=_0x468fa1,_0x48784f=getEnvDir(_0x3d2de2),_0x3ff155=join(_0x48784f,_0x14141d(0xfe)),_0x44b3a7=_0x46bf5c['ukZge'](join,_0x48784f,'auth.json'),_0xec6569=join(_0x48784f,_0x14141d(0xba));return{'name':_0x3d2de2,'settingsPath':existsSync(_0x3ff155)?_0x3ff155:_0x46bf5c[_0x14141d(0xdb)],'hasPlaintextAuth':_0x46bf5c[_0x14141d(0xd8)](existsSync,_0x44b3a7),'hasEncryptedAuth':existsSync(_0xec6569),'isActive':_0x46bf5c['StqBT'](_0x3d2de2,_0x4aee70)};});return{'envs':_0x3cb82d,'activeEnv':_0x4aee70};}export async function status(){const _0x2be3f8=_0x457348,_0x31a792={'PLAsH':_0x2be3f8(0xd7),'kolWE':function(_0x2fc5bd){return _0x2fc5bd();},'YKvjs':function(_0xe6ebec,_0x1b0bbe){return _0xe6ebec(_0x1b0bbe);},'pHKRl':function(_0x178bf5,_0x199dc1,_0x34a4ac){return _0x178bf5(_0x199dc1,_0x34a4ac);},'PRhiR':function(_0x52c064,_0x24ee1f){return _0x52c064(_0x24ee1f);},'VLjXr':function(_0x17c763,_0x10f157,_0x1c6891){return _0x17c763(_0x10f157,_0x1c6891);},'brbek':function(_0x4f70ea){return _0x4f70ea();},'gYnwE':function(_0x1e48a5,_0x264fdc){return _0x1e48a5!==_0x264fdc;},'QBpeg':function(_0x2584bb){return _0x2584bb();},'QobLO':function(_0x4fa612,_0x34933d){return _0x4fa612===_0x34933d;},'UYyVj':'configured','KArea':_0x2be3f8(0xb6),'LwMvq':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','KIVoZ':_0x2be3f8(0xac),'cKkoj':'\x20\x20Not\x20installed','Smnbe':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','qFNui':function(_0x53ff67){return _0x53ff67();},'SeQkG':function(_0x5e1b8f,_0x12d430){return _0x5e1b8f===_0x12d430;},'yalfZ':'\x20\x20Project-level:','dfVmS':function(_0x157b93,_0x460d32){return _0x157b93(_0x460d32);},'xcIcD':function(_0x189bc0,_0x4b7eb3){return _0x189bc0>_0x4b7eb3;},'LGDzD':_0x2be3f8(0xc1),'wXwqY':function(_0x4ecee5,_0x3afe09){return _0x4ecee5(_0x3afe09);},'vFeEJ':function(_0x3799b5){return _0x3799b5();},'ZRJYB':function(_0x5e34da,_0x105ac4){return _0x5e34da===_0x105ac4;},'bhxtp':_0x2be3f8(0xea),'skZMX':'\x20(active)','AcSbS':_0x2be3f8(0xd2)};console[_0x2be3f8(0xdf)](_0x31a792[_0x2be3f8(0x102)]);const _0x8d0853=process[_0x2be3f8(0xff)](),_0x1ceb43=_0x31a792[_0x2be3f8(0x9f)](getRangerDir);if(!_0x31a792[_0x2be3f8(0xb9)](existsSync,_0x1ceb43)){console[_0x2be3f8(0xdf)](_0x2be3f8(0xa0)+_0x31a792[_0x2be3f8(0xd9)](link,_0x8d0853,bold(_0x31a792[_0x2be3f8(0xf5)](basename,_0x8d0853)))),console[_0x2be3f8(0xdf)](_0x2be3f8(0xf6)),console['log'](_0x2be3f8(0xc5));return;}console['log']('Root:\x20'+_0x31a792['VLjXr'](link,_0x8d0853,bold(basename(_0x8d0853))));const _0x4dab0f=_0x31a792[_0x2be3f8(0xa8)](getCurrentVersion),_0x2ac532=getLatestVersion();if(_0x2ac532[_0x2be3f8(0xf9)]&&_0x31a792[_0x2be3f8(0xaf)](_0x2ac532['version'],_0x4dab0f))console[_0x2be3f8(0xdf)](_0x2be3f8(0xb8)+_0x4dab0f+'\x20(latest:\x20'+_0x2ac532['version']+')'),console['log']('\x20\x20Run:\x20ranger\x20update');else _0x2ac532['version']?console['log'](_0x2be3f8(0xb8)+_0x4dab0f+'\x20(up\x20to\x20date)'):console[_0x2be3f8(0xdf)]('Version:\x20'+_0x4dab0f);const _0x41cb90=await _0x31a792['kolWE'](getToken);if(_0x41cb90){const _0x45485b=await _0x31a792['YKvjs'](getCurrentUser,_0x41cb90);_0x45485b['success']?console['log'](_0x2be3f8(0xc2)+bold(_0x45485b['user']['organizationName'])):(console[_0x2be3f8(0xdf)]('API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process['env'][_0x2be3f8(0x99)]&&(console['log'](_0x2be3f8(0xab)+getCurrentEnvironment()),console['log'](_0x2be3f8(0x9a)+_0x31a792['QBpeg'](getApiBaseUrl)));console['log']('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x8e0ed6=await getOpencodePluginStatus();if(_0x31a792['QobLO'](_0x8e0ed6[_0x2be3f8(0xa6)],_0x31a792[_0x2be3f8(0xde)]))console[_0x2be3f8(0xdf)]('\x20\x20'+bold('@ranger-testing/opencode-plugin')+_0x2be3f8(0xd1)),_0x8e0ed6[_0x2be3f8(0xf7)]&&console['log']('\x20\x20'+_0x8e0ed6[_0x2be3f8(0xf7)]);else _0x8e0ed6['status']==='not_configured'?(console['log'](_0x31a792[_0x2be3f8(0xb3)]),_0x8e0ed6[_0x2be3f8(0xf7)]&&console[_0x2be3f8(0xdf)]('\x20\x20'+_0x8e0ed6['details']),console['log'](_0x2be3f8(0x105))):console[_0x2be3f8(0xdf)](_0x31a792['LwMvq']);console['log']('\x0a---\x20Claude\x20Code\x20Plugin\x20---');const _0x537f11=await getPluginInfo(_0x2be3f8(0xe8));if(_0x537f11){const _0x416ac2=_0x537f11[_0x2be3f8(0xd0)]||_0x31a792[_0x2be3f8(0xc3)],_0xf87f5e=_0x537f11[_0x2be3f8(0xc7)]?_0x2be3f8(0xc7):_0x2be3f8(0xe6);console[_0x2be3f8(0xdf)]('\x20\x20'+_0x31a792['YKvjs'](bold,_0x2be3f8(0xe8))+':\x20installed\x20('+_0x416ac2+',\x20'+_0xf87f5e+')');}else console['log'](_0x31a792['cKkoj']),console[_0x2be3f8(0xdf)](_0x31a792['Smnbe']);console['log'](_0x2be3f8(0xaa));const {project:_0x38bef0,user:_0x1bb20d}=await _0x31a792['qFNui'](getInstalledSkills),_0x17cf4e=_0x38bef0[_0x2be3f8(0xe1)](_0x2b7d43=>RANGER_MANAGED_SKILLS[_0x2be3f8(0xf3)](_0x2b7d43['name'])),_0x461ec3=_0x1bb20d[_0x2be3f8(0xe1)](_0x153000=>RANGER_MANAGED_SKILLS[_0x2be3f8(0xf3)](_0x153000[_0x2be3f8(0xcf)])),_0x16853d=_0x17cf4e['length']+_0x461ec3[_0x2be3f8(0xb1)];if(_0x31a792[_0x2be3f8(0xd6)](_0x16853d,0x0))console[_0x2be3f8(0xdf)]('No\x20skills\x20installed'),console[_0x2be3f8(0xdf)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x17cf4e['length']>0x0){console['log'](_0x31a792['yalfZ']);for(const _0x252f8b of _0x17cf4e){console[_0x2be3f8(0xdf)]('\x20\x20\x20\x20'+bold(_0x252f8b['displayName'])+':\x20'+_0x31a792['VLjXr'](link,_0x252f8b['path'],_0x31a792[_0x2be3f8(0x103)](basename,_0x252f8b[_0x2be3f8(0xfd)])));}}if(_0x31a792[_0x2be3f8(0xe2)](_0x461ec3['length'],0x0)){console['log'](_0x31a792[_0x2be3f8(0xdd)]);for(const _0x2fe667 of _0x461ec3){console['log'](_0x2be3f8(0xf1)+_0x31a792['PRhiR'](bold,_0x2fe667[_0x2be3f8(0xe9)])+':\x20'+link(_0x2fe667['path'],_0x31a792['wXwqY'](basename,_0x2fe667['path'])));}}}console['log'](_0x2be3f8(0xfc));const {envs:_0x356984,activeEnv:_0x1e771f}=await _0x31a792[_0x2be3f8(0x9e)](getEnvironments);if(_0x31a792['ZRJYB'](_0x356984[_0x2be3f8(0xb1)],0x0))console['log'](_0x31a792['bhxtp']),console['log'](_0x2be3f8(0xc9));else{for(const _0x57b41c of _0x356984){const _0x4104a8=_0x57b41c['isActive']?_0x31a792['skZMX']:'',_0x50cb5a=_0x57b41c[_0x2be3f8(0xae)]?_0x2be3f8(0xc6):_0x57b41c['hasPlaintextAuth']?_0x31a792[_0x2be3f8(0xce)]:_0x2be3f8(0xb4);console['log']('\x20\x20'+_0x31a792['PRhiR'](bold,_0x57b41c[_0x2be3f8(0xcf)])+_0x4104a8),console['log']('\x20\x20\x20\x20Auth:\x20'+_0x50cb5a),_0x31a792['gYnwE'](_0x57b41c['settingsPath'],_0x2be3f8(0x9c))&&console[_0x2be3f8(0xdf)](_0x2be3f8(0x104)+link(_0x57b41c['settingsPath'],basename(_0x57b41c['settingsPath'])));}!_0x1e771f&&(console['log'](_0x2be3f8(0xbd)),console['log'](_0x2be3f8(0xfb)+_0x356984[_0x2be3f8(0xc8)](_0x42db2b=>_0x42db2b[_0x2be3f8(0xcf)])[_0x2be3f8(0xf4)](',\x20')+')'));}console[_0x2be3f8(0xdf)]('');}
1
+ const _0x3e5953=_0xb334;function _0xb334(_0x30f085,_0x166b5d){_0x30f085=_0x30f085-0x1f0;const _0x2f30f1=_0x2f30();let _0xb3348b=_0x2f30f1[_0x30f085];return _0xb3348b;}(function(_0x1cae2b,_0x44a337){const _0x160d78=_0xb334,_0x5247a5=_0x1cae2b();while(!![]){try{const _0x14a8f0=parseInt(_0x160d78(0x217))/0x1+-parseInt(_0x160d78(0x1ff))/0x2+-parseInt(_0x160d78(0x210))/0x3+-parseInt(_0x160d78(0x216))/0x4*(parseInt(_0x160d78(0x240))/0x5)+parseInt(_0x160d78(0x22a))/0x6+parseInt(_0x160d78(0x239))/0x7+parseInt(_0x160d78(0x211))/0x8;if(_0x14a8f0===_0x44a337)break;else _0x5247a5['push'](_0x5247a5['shift']());}catch(_0x4a5ce3){_0x5247a5['push'](_0x5247a5['shift']());}}}(_0x2f30,0x8f0d7));import{readFile,readdir}from'fs/promises';import{join,basename}from'path';import{existsSync}from'fs';import{getToken}from'./utils/keychain.js';import{getCurrentVersion,getLatestVersion}from'./utils/version.js';import{getApiBaseUrl,getCurrentEnvironment}from'./utils/environment.js';import{getProjectSkillsDir,getUserSkillsDir}from'./utils/claudeConfig.js';import{getEnvNames}from'./env.js';import{getCurrentUser}from'./utils/userApi.js';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';import{getPluginInfo}from'./utils/claudePlugin.js';import{RANGER_MANAGED_SKILLS}from'./utils/skills.js';import{spawn}from'child_process';const bold=_0xd6f6dc=>_0x3e5953(0x214)+_0xd6f6dc+_0x3e5953(0x233),link=(_0x342cc2,_0xde77ee)=>_0x3e5953(0x1fe)+_0x342cc2+'\x07'+(_0xde77ee||_0x342cc2)+'\x1b]8;;\x07';async function getOpencodePluginStatus(){const _0x3c8854=_0x3e5953,_0x1cd082={'oENyc':function(_0x4a9af7,_0x181b4d){return _0x4a9af7!==_0x181b4d;},'fVgab':function(_0x159902,_0x1ae195){return _0x159902(_0x1ae195);},'oSRwi':_0x3c8854(0x20f),'jInhG':_0x3c8854(0x235),'nLaEB':function(_0xcd2742,_0x30c343){return _0xcd2742>_0x30c343;},'QUonH':_0x3c8854(0x20d),'JJjYg':function(_0x34899c,_0x3ba314,_0x1465a2,_0x3e7d3c){return _0x34899c(_0x3ba314,_0x1465a2,_0x3e7d3c);},'NCdCz':'opencode','RXkps':'ignore','tSIgX':'pipe','bcZQf':_0x3c8854(0x245)};return new Promise(_0x1be8b4=>{const _0x3c802b=_0x3c8854,_0x4052f2={'alQdh':_0x1cd082['oSRwi']},_0x182baf=_0x1cd082['JJjYg'](spawn,_0x1cd082[_0x3c802b(0x223)],[_0x3c802b(0x238),'config'],{'stdio':[_0x1cd082['RXkps'],_0x1cd082[_0x3c802b(0x21f)],_0x3c802b(0x20c)]});let _0x3aa170='';_0x182baf[_0x3c802b(0x1f5)]?.['on'](_0x3c802b(0x232),_0x2b3b9f=>{_0x3aa170+=_0x2b3b9f['toString']();}),_0x182baf[_0x3c802b(0x200)]?.['on'](_0x3c802b(0x232),_0x1e88a0=>{_0x3aa170+=_0x1e88a0['toString']();}),_0x182baf['on'](_0x3c802b(0x1fb),()=>{_0x1be8b4({'status':_0x4052f2['alQdh']});}),_0x182baf['on'](_0x1cd082['bcZQf'],_0x1dd673=>{const _0x49cc68=_0x3c802b,_0x5e5a5d={'xrqlu':'@ranger-testing/opencode-plugin','bkTFa':_0x49cc68(0x221)};if(_0x1cd082['oENyc'](_0x1dd673,0x0)){_0x1cd082[_0x49cc68(0x204)](_0x1be8b4,{'status':_0x1cd082[_0x49cc68(0x20e)]});return;}const _0x36dc45=_0x3aa170[_0x49cc68(0x248)]();let _0x500746=null;if(_0x36dc45)try{_0x500746=JSON[_0x49cc68(0x24d)](_0x36dc45);}catch{const _0x3fd884=_0x36dc45[_0x49cc68(0x225)](/\{[\s\S]*\}$/);if(_0x3fd884)try{_0x500746=JSON['parse'](_0x3fd884[0x0]);}catch{_0x500746=null;}}const _0x32fe33=Array[_0x49cc68(0x1f2)](_0x500746?.[_0x49cc68(0x206)])?_0x500746?.['plugin']:[],_0x4a0235=_0x32fe33[_0x49cc68(0x24e)](_0x10e685=>{const _0x175ac5=_0x49cc68;if(typeof _0x10e685!==_0x175ac5(0x1fa))return![];return _0x10e685['includes'](_0x5e5a5d[_0x175ac5(0x207)])||_0x10e685['includes'](_0x5e5a5d[_0x175ac5(0x230)]);});if(_0x4a0235){_0x1be8b4({'status':_0x1cd082['jInhG'],'details':_0x1cd082['nLaEB'](_0x32fe33['length'],0x0)?_0x32fe33['length']+_0x49cc68(0x23d):undefined});return;}if(_0x32fe33[_0x49cc68(0x226)]>0x0){_0x1be8b4({'status':_0x1cd082[_0x49cc68(0x219)],'details':_0x32fe33[_0x49cc68(0x226)]+'\x20plugin(s)\x20configured'});return;}_0x1be8b4({'status':_0x1cd082[_0x49cc68(0x219)]});});});}async function getSkillsFromDir(_0x3d96ec,_0xf73933){const _0x5dd0c2=_0x3e5953,_0xe9b1bf={'JagsN':function(_0x2f5f1c,_0x7718b1,_0x4b418d,_0x6b1104){return _0x2f5f1c(_0x7718b1,_0x4b418d,_0x6b1104);},'iideM':'SKILL.md','eqIJw':function(_0x3356f9,_0x32c3d0,_0x2d959f){return _0x3356f9(_0x32c3d0,_0x2d959f);}};if(!existsSync(_0x3d96ec))return[];const _0x696e13=[];try{const _0x345494=await readdir(_0x3d96ec,{'withFileTypes':!![]});for(const _0x27f095 of _0x345494){if(_0x27f095[_0x5dd0c2(0x220)]()){const _0x3a2678=_0xe9b1bf['JagsN'](join,_0x3d96ec,_0x27f095[_0x5dd0c2(0x22f)],_0xe9b1bf[_0x5dd0c2(0x23f)]);if(existsSync(_0x3a2678)){let _0x279e59=_0x27f095['name'];try{const _0x40f883=await _0xe9b1bf['eqIJw'](readFile,_0x3a2678,'utf-8'),_0x424f20=_0x40f883['match'](/name:\s*(.+)/);_0x424f20&&(_0x279e59=_0x424f20[0x1][_0x5dd0c2(0x248)]());}catch{}_0x696e13['push']({'name':_0x27f095['name'],'displayName':_0x279e59,'path':_0x3a2678,'level':_0xf73933});}}}}catch{return[];}return _0x696e13;}async function getInstalledSkills(){const _0x538f37=_0x3e5953,_0x437406={'VNhZU':function(_0x2bbe6e,_0x52ff19,_0xaacaa){return _0x2bbe6e(_0x52ff19,_0xaacaa);},'Svyha':'project','YoeoI':function(_0x42df52,_0x42da4b,_0x2b2827){return _0x42df52(_0x42da4b,_0x2b2827);},'oMNOM':function(_0x2449aa){return _0x2449aa();}},[_0x25c3a1,_0x5da5f2]=await Promise['all']([_0x437406[_0x538f37(0x24a)](getSkillsFromDir,getProjectSkillsDir(),_0x437406['Svyha']),_0x437406[_0x538f37(0x243)](getSkillsFromDir,_0x437406[_0x538f37(0x1f0)](getUserSkillsDir),_0x538f37(0x244))]);return{'project':_0x25c3a1,'user':_0x5da5f2};}function _0x2f30(){const _0x3aea89=['length','\x20\x20Run:\x20ranger\x20setup\x20--opencode','includes','ranger@trailhead','3520266fgQcKA','bUHtB','JzaYe','dPntQ','KveOf','name','bkTFa','jwGcx','data','\x1b[0m','hasEncryptedAuth','configured','@ranger-testing/opencode-plugin','WtTbS','debug','102816SVrOOO','filter','\x20\x20Run:\x20ranger\x20profile\x20add\x20<profile-name>','\x20\x20\x20\x20Auth:\x20','\x20plugin(s)\x20configured','settingsPath','iideM','10XxCAht','API\x20Environment:\x20','XSlzu','YoeoI','user','close','auth.json','version','trim','huXJb','VNhZU','DvXXH','iUgqW','parse','some','\x20\x20Not\x20installed','enabled','oMNOM','JYugC','isArray','\x0aRanger\x20has\x20not\x20been\x20initialized\x20in\x20this\x20directory.','\x20\x20\x20\x20','stdout','Version:\x20','KXQqI','\x0a---\x20Claude\x20Code\x20Plugin\x20---','disabled','string','error','wsslY','mIpzd','\x1b]8;;file://','2119506iqwUBf','stderr','isActive','cwd','API\x20Token:\x20✓\x20Found\x20but\x20invalid\x20or\x20expired','fVgab','env','plugin','xrqlu','Organization:\x20','mtlPJ','API\x20URL:\x20','(not\x20found)','pipe','not_configured','oSRwi','not_installed','2048016rcdyrt','10847600VgvrES','TcARY','UArNC','\x1b[1m','log','375364ZtovME','558701JSkhGC','Root:\x20','QUonH','ETbmz','details',':\x20configured','fsuTQ','\x20(up\x20to\x20date)','tSIgX','isDirectory','opencode-plugin','hasPlaintextAuth','NCdCz','plaintext','match'];_0x2f30=function(){return _0x3aea89;};return _0x2f30();}async function getEnvironments(){const _0x4687d3=_0x3e5953,_0x34f445={'jwGcx':function(_0x16ed97,_0x4d26bf){return _0x16ed97(_0x4d26bf);},'DvXXH':function(_0x295634,_0x5a6a15,_0x4a039a){return _0x295634(_0x5a6a15,_0x4a039a);},'wsslY':'settings.json','iUgqW':function(_0x597af7,_0x598964,_0xcd7f70){return _0x597af7(_0x598964,_0xcd7f70);},'bUHtB':_0x4687d3(0x246),'GgwJD':'auth.json.enc','huXJb':function(_0x60899c,_0x399385){return _0x60899c(_0x399385);},'UArNC':function(_0x47ba95,_0x904181){return _0x47ba95===_0x904181;},'DWTTF':function(_0xb2cef5){return _0xb2cef5();},'JYugC':function(_0x1b2377,_0x32af13){return _0x1b2377(_0x32af13);}},{envNames:_0x4d794c,activeEnv:_0x3705a7}=await _0x34f445['DWTTF'](getEnvNames),_0x22f958=getRangerDir();if(!_0x34f445[_0x4687d3(0x1f1)](existsSync,_0x22f958))return{'envs':[],'activeEnv':null};const _0x3339f3=_0x4d794c['map'](_0x3544cd=>{const _0x31e0af=_0x4687d3,_0x4641ad=_0x34f445['jwGcx'](getEnvDir,_0x3544cd),_0x5bf200=_0x34f445[_0x31e0af(0x24b)](join,_0x4641ad,_0x34f445[_0x31e0af(0x1fc)]),_0x469fdf=_0x34f445[_0x31e0af(0x24c)](join,_0x4641ad,_0x34f445[_0x31e0af(0x22b)]),_0x542b53=join(_0x4641ad,_0x34f445['GgwJD']);return{'name':_0x3544cd,'settingsPath':_0x34f445[_0x31e0af(0x249)](existsSync,_0x5bf200)?_0x5bf200:'(not\x20found)','hasPlaintextAuth':_0x34f445[_0x31e0af(0x231)](existsSync,_0x469fdf),'hasEncryptedAuth':existsSync(_0x542b53),'isActive':_0x34f445[_0x31e0af(0x213)](_0x3544cd,_0x3705a7)};});return{'envs':_0x3339f3,'activeEnv':_0x3705a7};}export async function status(){const _0x1c9c6b=_0x3e5953,_0x392b86={'JzaYe':'\x0a📊\x20Ranger\x20Status\x0a','dgtOG':function(_0x1762d0,_0x423ac4,_0x385a9b){return _0x1762d0(_0x423ac4,_0x385a9b);},'dPntQ':function(_0x152632){return _0x152632();},'mmWdH':'configured','XSlzu':_0x1c9c6b(0x236),'KveOf':function(_0x2d52f1,_0x2545d5){return _0x2d52f1===_0x2545d5;},'fXQdR':'\x20\x20OpenCode\x20not\x20installed\x20or\x20not\x20available','gLOuu':_0x1c9c6b(0x1f8),'WtTbS':function(_0x40d0e5,_0x306f4f){return _0x40d0e5(_0x306f4f);},'uRWym':_0x1c9c6b(0x229),'mtlPJ':'unknown','fsuTQ':'\x20\x20Run:\x20ranger\x20setup\x20[token]\x20\x20(includes\x20plugin\x20installation)','fICDo':function(_0xa106df,_0x3a7da1){return _0xa106df+_0x3a7da1;},'YTeBo':'No\x20skills\x20installed','LiBmO':function(_0x27cc96,_0x3f032c){return _0x27cc96>_0x3f032c;},'mIpzd':'\x20\x20Project-level:','CefXp':'\x20\x20User-level:','KXQqI':function(_0x4efa46,_0x1bd7bf,_0x117cb5){return _0x4efa46(_0x1bd7bf,_0x117cb5);},'uRTGm':function(_0x5d752a,_0x3442a5){return _0x5d752a(_0x3442a5);},'IdoVH':'\x0a---\x20Profiles\x20---','zRSCa':function(_0x398284,_0x2a9885){return _0x398284===_0x2a9885;},'ETbmz':'encrypted','OYtnR':_0x1c9c6b(0x20b),'TcARY':function(_0x286802,_0x2e5a42){return _0x286802(_0x2e5a42);}};console['log'](_0x392b86[_0x1c9c6b(0x22c)]);const _0x32b1b4=process[_0x1c9c6b(0x202)](),_0x18f166=getRangerDir();if(!existsSync(_0x18f166)){console['log'](_0x1c9c6b(0x218)+link(_0x32b1b4,bold(basename(_0x32b1b4)))),console['log'](_0x1c9c6b(0x1f3)),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]\x0a');return;}console['log'](_0x1c9c6b(0x218)+_0x392b86['dgtOG'](link,_0x32b1b4,bold(basename(_0x32b1b4))));const _0x32ae21=_0x392b86[_0x1c9c6b(0x22d)](getCurrentVersion),_0x936747=getLatestVersion();if(_0x936747[_0x1c9c6b(0x247)]&&_0x936747[_0x1c9c6b(0x247)]!==_0x32ae21)console['log'](_0x1c9c6b(0x1f6)+_0x32ae21+'\x20(latest:\x20'+_0x936747['version']+')'),console[_0x1c9c6b(0x215)]('\x20\x20Run:\x20ranger\x20update');else _0x936747[_0x1c9c6b(0x247)]?console[_0x1c9c6b(0x215)]('Version:\x20'+_0x32ae21+_0x1c9c6b(0x21e)):console['log']('Version:\x20'+_0x32ae21);const _0x1e86f4=await getToken();if(_0x1e86f4){const _0x11db00=await getCurrentUser(_0x1e86f4);_0x11db00['success']?console['log'](_0x1c9c6b(0x208)+bold(_0x11db00['user']['organizationName'])):(console[_0x1c9c6b(0x215)](_0x1c9c6b(0x203)),console[_0x1c9c6b(0x215)]('\x20\x20Run:\x20ranger\x20setup\x20[token]'));}else console['log']('API\x20Token:\x20✗\x20Not\x20found'),console['log']('\x20\x20Run:\x20ranger\x20setup\x20[token]');process[_0x1c9c6b(0x205)]['DEBUG']&&(console[_0x1c9c6b(0x215)](_0x1c9c6b(0x241)+_0x392b86[_0x1c9c6b(0x22d)](getCurrentEnvironment)),console[_0x1c9c6b(0x215)](_0x1c9c6b(0x20a)+getApiBaseUrl()));console[_0x1c9c6b(0x215)]('\x0a---\x20OpenCode\x20Plugin\x20---');const _0x101621=await getOpencodePluginStatus();if(_0x101621['status']===_0x392b86['mmWdH'])console[_0x1c9c6b(0x215)]('\x20\x20'+bold(_0x392b86[_0x1c9c6b(0x242)])+_0x1c9c6b(0x21c)),_0x101621['details']&&console[_0x1c9c6b(0x215)]('\x20\x20'+_0x101621[_0x1c9c6b(0x21b)]);else _0x392b86[_0x1c9c6b(0x22e)](_0x101621['status'],'not_configured')?(console['log']('\x20\x20Not\x20configured'),_0x101621[_0x1c9c6b(0x21b)]&&console['log']('\x20\x20'+_0x101621[_0x1c9c6b(0x21b)]),console[_0x1c9c6b(0x215)](_0x1c9c6b(0x227))):console[_0x1c9c6b(0x215)](_0x392b86['fXQdR']);console['log'](_0x392b86['gLOuu']);const _0xcc5e31=await _0x392b86['WtTbS'](getPluginInfo,_0x392b86['uRWym']);if(_0xcc5e31){const _0x5920a9=_0xcc5e31['scope']||_0x392b86[_0x1c9c6b(0x209)],_0x3b9e8d=_0xcc5e31[_0x1c9c6b(0x250)]?_0x1c9c6b(0x250):_0x1c9c6b(0x1f9);console['log']('\x20\x20'+bold(_0x392b86['uRWym'])+':\x20installed\x20('+_0x5920a9+',\x20'+_0x3b9e8d+')');}else console['log'](_0x1c9c6b(0x24f)),console[_0x1c9c6b(0x215)](_0x392b86[_0x1c9c6b(0x21d)]);console['log']('\x0a---\x20Skills\x20---');const {project:_0x59a52b,user:_0x5d3c5e}=await getInstalledSkills(),_0x642e34=_0x59a52b[_0x1c9c6b(0x23a)](_0x665341=>RANGER_MANAGED_SKILLS['includes'](_0x665341[_0x1c9c6b(0x22f)])),_0xae2ef0=_0x5d3c5e['filter'](_0x5601ab=>RANGER_MANAGED_SKILLS[_0x1c9c6b(0x228)](_0x5601ab[_0x1c9c6b(0x22f)])),_0x33a370=_0x392b86['fICDo'](_0x642e34['length'],_0xae2ef0[_0x1c9c6b(0x226)]);if(_0x33a370===0x0)console['log'](_0x392b86['YTeBo']),console[_0x1c9c6b(0x215)]('\x20\x20Run:\x20ranger\x20skillup');else{if(_0x392b86['LiBmO'](_0x642e34[_0x1c9c6b(0x226)],0x0)){console[_0x1c9c6b(0x215)](_0x392b86[_0x1c9c6b(0x1fd)]);for(const _0x44adfc of _0x642e34){console[_0x1c9c6b(0x215)](_0x1c9c6b(0x1f4)+_0x392b86[_0x1c9c6b(0x237)](bold,_0x44adfc['displayName'])+':\x20'+link(_0x44adfc['path'],_0x392b86[_0x1c9c6b(0x237)](basename,_0x44adfc['path'])));}}if(_0xae2ef0[_0x1c9c6b(0x226)]>0x0){console['log'](_0x392b86['CefXp']);for(const _0x12a88c of _0xae2ef0){console[_0x1c9c6b(0x215)]('\x20\x20\x20\x20'+bold(_0x12a88c['displayName'])+':\x20'+_0x392b86['KXQqI'](link,_0x12a88c['path'],_0x392b86['uRTGm'](basename,_0x12a88c['path'])));}}}console['log'](_0x392b86['IdoVH']);const {envs:_0x78b573,activeEnv:_0x24eb0a}=await _0x392b86['dPntQ'](getEnvironments);if(_0x392b86['zRSCa'](_0x78b573[_0x1c9c6b(0x226)],0x0))console[_0x1c9c6b(0x215)]('No\x20profiles\x20configured'),console[_0x1c9c6b(0x215)](_0x1c9c6b(0x23b));else{for(const _0x3fe103 of _0x78b573){const _0x1a7d27=_0x3fe103[_0x1c9c6b(0x201)]?'\x20(active)':'',_0x8acc84=_0x3fe103[_0x1c9c6b(0x234)]?_0x392b86[_0x1c9c6b(0x21a)]:_0x3fe103[_0x1c9c6b(0x222)]?_0x1c9c6b(0x224):'none';console['log']('\x20\x20'+bold(_0x3fe103[_0x1c9c6b(0x22f)])+_0x1a7d27),console[_0x1c9c6b(0x215)](_0x1c9c6b(0x23c)+_0x8acc84),_0x3fe103[_0x1c9c6b(0x23e)]!==_0x392b86['OYtnR']&&console[_0x1c9c6b(0x215)]('\x20\x20\x20\x20Settings:\x20'+_0x392b86[_0x1c9c6b(0x1f7)](link,_0x3fe103[_0x1c9c6b(0x23e)],_0x392b86[_0x1c9c6b(0x212)](basename,_0x3fe103['settingsPath'])));}!_0x24eb0a&&(console['log']('\x0a\x20\x20No\x20active\x20profile\x20set'),console[_0x1c9c6b(0x215)]('\x20\x20Run:\x20ranger\x20profile\x20use\x20<profile-name>\x20\x20(available:\x20'+_0x78b573['map'](_0x2f4b4e=>_0x2f4b4e['name'])['join'](',\x20')+')'));}console[_0x1c9c6b(0x215)]('');}
@@ -1 +1 @@
1
- (function(_0xd11039,_0x528b2b){const _0x28f625=_0x4f72,_0x4cea79=_0xd11039();while(!![]){try{const _0x5f3f3f=parseInt(_0x28f625(0x1bc))/0x1*(-parseInt(_0x28f625(0x1c2))/0x2)+parseInt(_0x28f625(0x1a0))/0x3*(parseInt(_0x28f625(0x193))/0x4)+-parseInt(_0x28f625(0x1cb))/0x5*(-parseInt(_0x28f625(0x1c6))/0x6)+parseInt(_0x28f625(0x1bd))/0x7+-parseInt(_0x28f625(0x1b9))/0x8*(parseInt(_0x28f625(0x1bf))/0x9)+parseInt(_0x28f625(0x194))/0xa+-parseInt(_0x28f625(0x1a9))/0xb*(-parseInt(_0x28f625(0x1cc))/0xc);if(_0x5f3f3f===_0x528b2b)break;else _0x4cea79['push'](_0x4cea79['shift']());}catch(_0x522c7a){_0x4cea79['push'](_0x4cea79['shift']());}}}(_0xe9bc,0xdb151));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile,writeFile}from'fs/promises';function _0x4f72(_0x103175,_0xc9111f){_0x103175=_0x103175-0x18d;const _0xe9bc7a=_0xe9bc();let _0x4f728c=_0xe9bc7a[_0x103175];return _0x4f728c;}import{installSkill,removeSkill,RANGER_MANAGED_SKILLS,DEPRECATED_SKILLS}from'./utils/skills.js';import{PACKAGE_NAME,getCurrentVersion,getLatestVersion,compareVersions}from'./utils/version.js';function _0xe9bc(){const _0x2626d1=['WOFzi','warn','Update\x20failed:\x20','Oipbz','claude','pTXPg','73275whRKFk','xBxYC','error','\x0aYour\x20version\x20(','@latest...\x0a','LxPcN','endsWith','findIndex','uMtoh','303655fpCoEJ','\x20skill\x20','ranger@trailhead','.gitignore','KYAMG','close','\x0aCould\x20not\x20check\x20latest\x20version:\x20','active-profile.txt','install','TdRbB','TvhKz','inherit','weluV','krMUA','length','user','122456kcIagg','opencode','EWUZX','1321577fCFslx','1467543ueBJrD','some','549rutKjp','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','active-feature.txt','2dQkLoY','\x0a✅\x20Update\x20complete!','WMsyg','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','463764GycDJh','mdSNa','trailhead','push','win32','20BKXmCK','72doJxUe','eXaTE','Attempting\x20install\x20anyway...','log','mOmUw','✓\x20Migrated\x20active\x20profile\x20file','platform','\x0aReinstalling\x20','252YhIobP','9294350aqKGoc','version','AUGVU','npm','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','WEtHM'];_0xe9bc=function(){return _0x2626d1;};return _0xe9bc();}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 _0x38792a=_0x4f72,_0x467e86={'mOmUw':function(_0x55627,_0x2694ef){return _0x55627(_0x2694ef);},'cCrwY':function(_0x2e25d6,_0x3d6c9b){return _0x2e25d6===_0x3d6c9b;},'Wcguw':function(_0x5d79d1,_0x5234b0,_0x602036,_0x553dbc){return _0x5d79d1(_0x5234b0,_0x602036,_0x553dbc);},'OwmtO':_0x38792a(0x197),'AUGVU':_0x38792a(0x1ca),'KYAMG':'close','gDVxj':'error'};return new Promise(_0xa0476b=>{const _0x501d42=_0x38792a;console[_0x501d42(0x18e)]('\x0aInstalling\x20'+PACKAGE_NAME+_0x501d42(0x1a4));const _0x4ebeb3=_0x467e86['Wcguw'](spawn,_0x467e86['OwmtO'],[_0x501d42(0x1b1),'-g',PACKAGE_NAME+'@latest'],{'stdio':_0x501d42(0x1b4),'shell':_0x467e86['cCrwY'](process['platform'],_0x467e86[_0x501d42(0x196)])});_0x4ebeb3['on'](_0x467e86[_0x501d42(0x1ad)],_0x3a6673=>{const _0x48b763=_0x501d42;_0x467e86[_0x48b763(0x18f)](_0xa0476b,_0x467e86['cCrwY'](_0x3a6673,0x0));}),_0x4ebeb3['on'](_0x467e86['gDVxj'],()=>{_0xa0476b(![]);});});}async function updateClaudeMarketplace(){const _0x5c765f={'IoMui':function(_0x3277cb,_0x86e631){return _0x3277cb===_0x86e631;},'cdZMw':function(_0x45f9c5,_0x1e76a9){return _0x45f9c5(_0x1e76a9);},'TvhKz':function(_0xf29c82,_0x4e00dd,_0x4c8b76,_0x39d1d3){return _0xf29c82(_0x4e00dd,_0x4c8b76,_0x39d1d3);},'gFPna':'plugin','mdSNa':'marketplace','HSDwr':'update','Agppf':'trailhead','CWdBS':function(_0x5d7efc,_0x4eb436){return _0x5d7efc===_0x4eb436;},'KCyUS':'win32'};return new Promise(_0x1bd6d9=>{const _0x438271=_0x4f72,_0x8721cd=_0x5c765f[_0x438271(0x1b3)](spawn,_0x438271(0x19e),[_0x5c765f['gFPna'],_0x5c765f[_0x438271(0x1c7)],_0x5c765f['HSDwr'],_0x5c765f['Agppf']],{'stdio':'pipe','shell':_0x5c765f['CWdBS'](process['platform'],_0x5c765f['KCyUS'])});_0x8721cd['on']('close',_0x2efc4c=>{_0x1bd6d9(_0x5c765f['IoMui'](_0x2efc4c,0x0));}),_0x8721cd['on'](_0x438271(0x1a2),()=>{_0x5c765f['cdZMw'](_0x1bd6d9,![]);});});}async function updateClaudePlugin(_0x7be2d6){const _0x40d8f0={'krMUA':'plugin','TdRbB':'update','WOFzi':'--scope','eXaTE':function(_0x3ce562,_0x382e37,_0x52733e,_0x3ad1f0){return _0x3ce562(_0x382e37,_0x52733e,_0x3ad1f0);},'EWUZX':function(_0x5f408e,_0x454173){return _0x5f408e===_0x454173;}};return new Promise(_0x3ec76f=>{const _0x455f6e=_0x4f72,_0x5a39aa=[_0x40d8f0[_0x455f6e(0x1b6)],_0x40d8f0[_0x455f6e(0x1b2)],_0x455f6e(0x1ab)];_0x7be2d6&&_0x5a39aa[_0x455f6e(0x1c9)](_0x40d8f0[_0x455f6e(0x19a)],_0x7be2d6);const _0x2608ed=_0x40d8f0[_0x455f6e(0x1cd)](spawn,'claude',_0x5a39aa,{'stdio':'pipe','shell':_0x40d8f0[_0x455f6e(0x1bb)](process[_0x455f6e(0x191)],'win32')});_0x2608ed['on'](_0x455f6e(0x1ae),_0x8fd46c=>{_0x3ec76f(_0x8fd46c===0x0);}),_0x2608ed['on']('error',()=>{_0x3ec76f(![]);});});}function isSkillInstalled(_0x5c83d9,_0x45f94c,_0x3b75a6){const _0x4e54f2=_0x4f72,_0x386510={'rHgjf':function(_0x12b116,_0xeed0b9){return _0x12b116===_0xeed0b9;},'KDcja':function(_0x39ef89,_0x548e63,_0x2f3c0e){return _0x39ef89(_0x548e63,_0x2f3c0e);}},_0x86c404=_0x386510['rHgjf'](_0x3b75a6,_0x4e54f2(0x1ba))?getOpencodeSkillsDir(_0x45f94c):getSkillsDir(_0x45f94c),_0x4a5f90=_0x386510['KDcja'](join,_0x86c404,_0x5c83d9);return existsSync(_0x4a5f90);}async function reinstallSkills(_0x49f4f1){const _0x156012=_0x4f72,_0x50e26f={'WEtHM':'project','BrsVT':_0x156012(0x1b8),'uMtoh':function(_0x4a8013,_0x11a4d1,_0x33c20c){return _0x4a8013(_0x11a4d1,_0x33c20c);},'mHyLj':_0x156012(0x198),'cxLkL':function(_0x291876,_0x29064b,_0x27a3d0){return _0x291876(_0x29064b,_0x27a3d0);}},_0xf877ab=[_0x50e26f[_0x156012(0x199)],_0x50e26f['BrsVT']],_0x432854=[];for(const _0x2305a7 of _0xf877ab){for(const _0x34b5ed of RANGER_MANAGED_SKILLS){isSkillInstalled(_0x34b5ed,_0x2305a7,'claude')&&_0x432854[_0x156012(0x1c9)]({'skillName':_0x34b5ed,'level':_0x2305a7,'platform':_0x156012(0x19e)}),isSkillInstalled(_0x34b5ed,_0x2305a7,'opencode')&&_0x432854[_0x156012(0x1c9)]({'skillName':_0x34b5ed,'level':_0x2305a7,'platform':'opencode'});}}for(const _0x39df5f of _0xf877ab){for(const _0x3ebc30 of DEPRECATED_SKILLS){await _0x50e26f[_0x156012(0x1a8)](removeSkill,_0x3ebc30,_0x39df5f);}}if(_0x432854[_0x156012(0x1b7)]===0x0){console[_0x156012(0x18e)](_0x50e26f['mHyLj']);return;}console[_0x156012(0x18e)](_0x156012(0x192)+_0x432854[_0x156012(0x1b7)]+'\x20ranger-managed\x20skill(s)...');for(const {skillName:_0x3387da,level:_0x45e69d,platform:_0x51c0bf}of _0x432854){try{await _0x50e26f['cxLkL'](installSkill,_0x3387da,{'level':_0x45e69d,'cliVersion':_0x49f4f1,'platform':_0x51c0bf});}catch(_0x1d1c71){console[_0x156012(0x19b)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x51c0bf+'\x20'+_0x45e69d+_0x156012(0x1aa)+_0x3387da+':',_0x1d1c71);}}}async function ensureActiveProfileGitignored(){const _0x58ac6d=_0x4f72,_0x30b3b3={'pTXPg':function(_0x103f14,_0x37d37c,_0x476149){return _0x103f14(_0x37d37c,_0x476149);},'KXoUC':function(_0x39582e){return _0x39582e();},'LxPcN':'utf-8','xBxYC':function(_0x4342f2,_0x47e7ba){return _0x4342f2===_0x47e7ba;},'sDWrd':'active-profile.txt'},_0x54a217=_0x30b3b3[_0x58ac6d(0x19f)](join,_0x30b3b3['KXoUC'](getRangerDir),_0x58ac6d(0x1ac));if(!existsSync(_0x54a217))return![];let _0x1ed8c1='';try{_0x1ed8c1=await _0x30b3b3['pTXPg'](readFile,_0x54a217,_0x30b3b3[_0x58ac6d(0x1a5)]);}catch{return![];}const _0x1e26c0=_0x1ed8c1['split'](/\r?\n/);if(_0x1e26c0[_0x58ac6d(0x1be)](_0x1cd6b9=>_0x1cd6b9['trim']()===_0x58ac6d(0x1b0)))return![];let _0x529484=_0x1e26c0[_0x58ac6d(0x1a7)](_0x477e20=>_0x477e20['trim']()===_0x58ac6d(0x1c1));_0x30b3b3[_0x58ac6d(0x1a1)](_0x529484,-0x1)&&(_0x529484=_0x1e26c0['length']);_0x1e26c0['splice'](_0x529484,0x0,_0x30b3b3['sDWrd']);let _0x426802=_0x1e26c0['join']('\x0a');!_0x426802[_0x58ac6d(0x1a6)]('\x0a')&&(_0x426802+='\x0a');try{await writeFile(_0x54a217,_0x426802,_0x30b3b3['LxPcN']);}catch{return![];}return!![];}export async function update(){const _0x3696fa=_0x4f72,_0xe8978c={'ZYsNx':function(_0x24a267){return _0x24a267();},'Oipbz':function(_0x30c863){return _0x30c863();},'ypIuc':function(_0x34307a,_0x23f31d,_0x2bf994){return _0x34307a(_0x23f31d,_0x2bf994);},'obYJc':function(_0x3b97c8,_0x120d0c){return _0x3b97c8===_0x120d0c;},'zbjZY':'Update\x20failed.','PAVsV':function(_0x1a6e60,_0x4ffa12){return _0x1a6e60(_0x4ffa12);},'weluV':_0x3696fa(0x1c8),'WMsyg':function(_0x45a262,_0x424bfb){return _0x45a262(_0x424bfb);},'MhPxY':_0x3696fa(0x1ab),'LTKhj':_0x3696fa(0x1c5),'FIPZN':function(_0x29c6b7){return _0x29c6b7();},'udOLq':'project'},_0x5e237d=_0xe8978c['ZYsNx'](getCurrentVersion);console[_0x3696fa(0x18e)]('\x0aCurrent\x20version:\x20'+_0x5e237d),console[_0x3696fa(0x18e)]('Checking\x20for\x20updates...');const _0x428e3c=getLatestVersion();let _0x49d6fe=_0x5e237d;if(!_0x428e3c['version']){console['warn'](_0x3696fa(0x1af)+_0x428e3c[_0x3696fa(0x1a2)]),console['log'](_0x3696fa(0x18d));const _0x2bd618=await runInstall();if(_0x2bd618)console[_0x3696fa(0x18e)]('\x0aSuccessfully\x20installed\x20latest\x20version.'),_0x49d6fe=_0xe8978c[_0x3696fa(0x19d)](getCurrentVersion);else throw new Error(_0x3696fa(0x19c)+_0x428e3c[_0x3696fa(0x1a2)]);}else{const _0x593349=_0x428e3c[_0x3696fa(0x195)];console['log']('Latest\x20version:\x20\x20'+_0x593349);const _0x13059c=_0xe8978c['ypIuc'](compareVersions,_0x5e237d,_0x593349);if(_0xe8978c['obYJc'](_0x13059c,0x0))console['log']('\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.');else{if(_0x13059c<0x0)console[_0x3696fa(0x18e)](_0x3696fa(0x1a3)+_0x5e237d+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x593349+').');else{const _0xd1f3b4=await runInstall();if(_0xd1f3b4)console[_0x3696fa(0x18e)]('\x0aSuccessfully\x20updated\x20to\x20version\x20'+_0x593349),_0x49d6fe=_0x593349;else throw new Error(_0xe8978c['zbjZY']);}}}await _0xe8978c['PAVsV'](reinstallSkills,_0x49d6fe);const _0x30bf15=await isMarketplaceAdded(_0xe8978c[_0x3696fa(0x1b5)]),_0x5e9225=await _0xe8978c[_0x3696fa(0x1c4)](isPluginInstalled,_0xe8978c['MhPxY']);if(_0x30bf15){const _0x56f958=await _0xe8978c['ZYsNx'](updateClaudeMarketplace);_0x56f958&&console[_0x3696fa(0x18e)](_0xe8978c['LTKhj']);}if(_0x5e9225){const _0x1b06fc=await _0xe8978c['FIPZN'](updateClaudePlugin);_0x1b06fc&&console['log'](_0x3696fa(0x1c0));const _0x43ac75=await updateClaudePlugin(_0xe8978c['udOLq']);_0x43ac75&&console['log']((_0x1b06fc?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x86468a=await _0xe8978c['ZYsNx'](migrateActiveProfileFile);_0x86468a&&console['log'](_0x3696fa(0x190));const _0x5af6f9=await ensureActiveProfileGitignored();console[_0x3696fa(0x18e)](_0x3696fa(0x1c3));}
1
+ (function(_0x59f44b,_0x12a14c){const _0x267e58=_0x3881,_0xb36bd2=_0x59f44b();while(!![]){try{const _0x4ff808=parseInt(_0x267e58(0x1c6))/0x1*(-parseInt(_0x267e58(0x1ea))/0x2)+parseInt(_0x267e58(0x1d9))/0x3*(-parseInt(_0x267e58(0x1ef))/0x4)+parseInt(_0x267e58(0x1e0))/0x5+-parseInt(_0x267e58(0x1d1))/0x6*(-parseInt(_0x267e58(0x1f1))/0x7)+parseInt(_0x267e58(0x1c1))/0x8*(parseInt(_0x267e58(0x1bf))/0x9)+parseInt(_0x267e58(0x1c9))/0xa+-parseInt(_0x267e58(0x1e5))/0xb*(parseInt(_0x267e58(0x1c5))/0xc);if(_0x4ff808===_0x12a14c)break;else _0xb36bd2['push'](_0xb36bd2['shift']());}catch(_0x2c681d){_0xb36bd2['push'](_0xb36bd2['shift']());}}}(_0x5d51,0xdc4d9));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';function _0x5d51(){const _0x2a0fc1=['6uUpcDY','rElxd','\x0aClaude\x20plugin\x20updated\x20(user\x20scope).','Update\x20failed.','trim','\x0aClaude\x20marketplace\x20updated\x20(trailhead).','AMTho','mWmbN','590385sblIUl','some','fKpfK','inherit','keTnF','sNowk','push','2541795wQyxZL','Checking\x20for\x20updates...','\x0aInstalling\x20','cmqxm','active-profile.txt','12496BqlIbt','plugin','xuCNe','rsTVr','pipe','458EOxQSR','.gitignore','\x0aNo\x20ranger-managed\x20skills\x20found\x20to\x20reinstall.','user','@latest...\x0a','4cqQfmE','\x0aYou\x20are\x20already\x20on\x20the\x20latest\x20version.','253463SNNqoX','split','trailhead','yQLFI','teqWR','ZadLu','uEigv','zyMIT','\x0aReinstalling\x20','DdlvA','platform','length','claude','\x20ranger-managed\x20skill(s)...','error','oRIlV','99801hQTWxi','\x0aSuccessfully\x20updated\x20to\x20version\x20','808VCgOln','close','--scope','\x20skill\x20','2088kTqIfP','2427uzkOGb','GGjRs','\x0aCurrent\x20version:\x20','1880460QGLmyI','ranger@trailhead','✓\x20Migrated\x20active\x20profile\x20file','project','version','warn','splice','log'];_0x5d51=function(){return _0x2a0fc1;};return _0x5d51();}async function runInstall(){const _0x2ffaa4={'cmqxm':function(_0x3a7600,_0x59605b){return _0x3a7600(_0x59605b);},'RWIul':function(_0xae5c0f,_0x6dbbb1){return _0xae5c0f===_0x6dbbb1;},'sRfut':'npm','qvNHH':'close'};return new Promise(_0x1a3f34=>{const _0x396a70=_0x3881,_0x142d08={'oRIlV':function(_0x3a3000,_0x197b4b){return _0x3a3000(_0x197b4b);}};console['log'](_0x396a70(0x1e2)+PACKAGE_NAME+_0x396a70(0x1ee));const _0x55bc37=spawn(_0x2ffaa4['sRfut'],['install','-g',PACKAGE_NAME+'@latest'],{'stdio':_0x396a70(0x1dc),'shell':process['platform']==='win32'});_0x55bc37['on'](_0x2ffaa4['qvNHH'],_0x3df84c=>{const _0x5caf90=_0x396a70;_0x2ffaa4[_0x5caf90(0x1e3)](_0x1a3f34,_0x2ffaa4['RWIul'](_0x3df84c,0x0));}),_0x55bc37['on']('error',()=>{const _0x3806b7=_0x396a70;_0x142d08[_0x3806b7(0x1be)](_0x1a3f34,![]);});});}async function updateClaudeMarketplace(){const _0x3046d2=_0x3881,_0x56d923={'rElxd':function(_0x30d79d,_0x516cd3){return _0x30d79d===_0x516cd3;},'UUpzh':function(_0x57f5b2,_0xae5b76,_0x3ea3f2,_0x514e81){return _0x57f5b2(_0xae5b76,_0x3ea3f2,_0x514e81);},'SauoF':_0x3046d2(0x1bb),'CJcYu':'update','yQLFI':'win32','hXnWu':_0x3046d2(0x1bd)};return new Promise(_0x528ce3=>{const _0x158baa=_0x3046d2,_0x29e6f1=_0x56d923['UUpzh'](spawn,_0x56d923['SauoF'],[_0x158baa(0x1e6),'marketplace',_0x56d923['CJcYu'],'trailhead'],{'stdio':'pipe','shell':process[_0x158baa(0x1b9)]===_0x56d923[_0x158baa(0x1b2)]});_0x29e6f1['on']('close',_0x27b9a8=>{const _0x59eaa5=_0x158baa;_0x528ce3(_0x56d923[_0x59eaa5(0x1d2)](_0x27b9a8,0x0));}),_0x29e6f1['on'](_0x56d923['hXnWu'],()=>{_0x528ce3(![]);});});}async function updateClaudePlugin(_0x1afda0){const _0x5b4207=_0x3881,_0x3d0601={'RiEGP':_0x5b4207(0x1ca),'MiJaj':_0x5b4207(0x1c3),'uEigv':function(_0x4edc47,_0x4a1879,_0x4b18b0,_0x244fe6){return _0x4edc47(_0x4a1879,_0x4b18b0,_0x244fe6);},'keTnF':_0x5b4207(0x1e9),'sNowk':_0x5b4207(0x1bd)};return new Promise(_0x29e5c9=>{const _0x250d65=_0x5b4207,_0x29a54e={'Gksme':function(_0x1e5cf4,_0x14e21e){return _0x1e5cf4===_0x14e21e;}},_0x9934e9=[_0x250d65(0x1e6),'update',_0x3d0601['RiEGP']];_0x1afda0&&_0x9934e9['push'](_0x3d0601['MiJaj'],_0x1afda0);const _0x4f5c8d=_0x3d0601[_0x250d65(0x1b5)](spawn,'claude',_0x9934e9,{'stdio':_0x3d0601[_0x250d65(0x1dd)],'shell':process[_0x250d65(0x1b9)]==='win32'});_0x4f5c8d['on'](_0x250d65(0x1c2),_0x45d994=>{_0x29e5c9(_0x29a54e['Gksme'](_0x45d994,0x0));}),_0x4f5c8d['on'](_0x3d0601[_0x250d65(0x1de)],()=>{_0x29e5c9(![]);});});}function isSkillInstalled(_0x14013d,_0xd5cf05,_0x4f070d){const _0x45d5d8={'hbKaR':function(_0x291a77,_0x253c18){return _0x291a77(_0x253c18);},'kjePr':function(_0x44db00,_0x1206d7,_0x501083){return _0x44db00(_0x1206d7,_0x501083);}},_0x19ce1d=_0x4f070d==='opencode'?getOpencodeSkillsDir(_0xd5cf05):_0x45d5d8['hbKaR'](getSkillsDir,_0xd5cf05),_0x4ed66f=_0x45d5d8['kjePr'](join,_0x19ce1d,_0x14013d);return existsSync(_0x4ed66f);}function _0x3881(_0x5b3ad1,_0x12d5bb){_0x5b3ad1=_0x5b3ad1-0x1b2;const _0x5d51a8=_0x5d51();let _0x3881cc=_0x5d51a8[_0x5b3ad1];return _0x3881cc;}async function reinstallSkills(_0x1a06e9){const _0x7cf0b8=_0x3881,_0x61b999={'mbFSf':function(_0x10a3e5,_0x440c6e,_0x16c5ef,_0x1d8a0c){return _0x10a3e5(_0x440c6e,_0x16c5ef,_0x1d8a0c);},'dgsvs':'claude','rsTVr':'opencode','XfuOY':function(_0x1b4617,_0x31d1fb,_0x3757ec){return _0x1b4617(_0x31d1fb,_0x3757ec);},'zyMIT':function(_0xe2f36b,_0xfd0b26){return _0xe2f36b===_0xfd0b26;},'DdlvA':_0x7cf0b8(0x1ec)},_0x4d0a0f=[_0x7cf0b8(0x1cc),_0x7cf0b8(0x1ed)],_0x2af74a=[];for(const _0x558525 of _0x4d0a0f){for(const _0xbd5732 of RANGER_MANAGED_SKILLS){_0x61b999['mbFSf'](isSkillInstalled,_0xbd5732,_0x558525,'claude')&&_0x2af74a['push']({'skillName':_0xbd5732,'level':_0x558525,'platform':_0x61b999['dgsvs']}),isSkillInstalled(_0xbd5732,_0x558525,'opencode')&&_0x2af74a[_0x7cf0b8(0x1df)]({'skillName':_0xbd5732,'level':_0x558525,'platform':_0x61b999[_0x7cf0b8(0x1e8)]});}}for(const _0x36ced1 of _0x4d0a0f){for(const _0x52ee67 of DEPRECATED_SKILLS){await _0x61b999['XfuOY'](removeSkill,_0x52ee67,_0x36ced1);}}if(_0x61b999[_0x7cf0b8(0x1b6)](_0x2af74a[_0x7cf0b8(0x1ba)],0x0)){console[_0x7cf0b8(0x1d0)](_0x61b999[_0x7cf0b8(0x1b8)]);return;}console['log'](_0x7cf0b8(0x1b7)+_0x2af74a[_0x7cf0b8(0x1ba)]+_0x7cf0b8(0x1bc));for(const {skillName:_0x2968c4,level:_0x5ef3ed,platform:_0x52b375}of _0x2af74a){try{await _0x61b999['XfuOY'](installSkill,_0x2968c4,{'level':_0x5ef3ed,'cliVersion':_0x1a06e9,'platform':_0x52b375});}catch(_0x2670e6){console[_0x7cf0b8(0x1ce)]('\x20\x20Failed\x20to\x20reinstall\x20'+_0x52b375+'\x20'+_0x5ef3ed+_0x7cf0b8(0x1c4)+_0x2968c4+':',_0x2670e6);}}}async function ensureActiveProfileGitignored(){const _0x5a1781=_0x3881,_0x48a7e9={'GGjRs':function(_0x4432bd){return _0x4432bd();},'wUzht':_0x5a1781(0x1eb),'ELAFa':function(_0x54e3ef,_0x35bc56){return _0x54e3ef(_0x35bc56);},'xuCNe':function(_0x4d4c08,_0x206fec,_0xbc5e67){return _0x4d4c08(_0x206fec,_0xbc5e67);},'Srfja':function(_0x2d156b,_0x577c4f,_0x34c0c0,_0x2e721f){return _0x2d156b(_0x577c4f,_0x34c0c0,_0x2e721f);}},_0x4bd9e1=join(_0x48a7e9[_0x5a1781(0x1c7)](getRangerDir),_0x48a7e9['wUzht']);if(!_0x48a7e9['ELAFa'](existsSync,_0x4bd9e1))return![];let _0x4821d3='';try{_0x4821d3=await _0x48a7e9[_0x5a1781(0x1e7)](readFile,_0x4bd9e1,'utf-8');}catch{return![];}const _0x34b218=_0x4821d3[_0x5a1781(0x1f2)](/\r?\n/);if(_0x34b218[_0x5a1781(0x1da)](_0xa013ec=>_0xa013ec['trim']()==='active-profile.txt'))return![];let _0x47102f=_0x34b218['findIndex'](_0x4811bc=>_0x4811bc[_0x5a1781(0x1d5)]()==='active-feature.txt');_0x47102f===-0x1&&(_0x47102f=_0x34b218[_0x5a1781(0x1ba)]);_0x34b218[_0x5a1781(0x1cf)](_0x47102f,0x0,_0x5a1781(0x1e4));let _0x3a6ca6=_0x34b218['join']('\x0a');!_0x3a6ca6['endsWith']('\x0a')&&(_0x3a6ca6+='\x0a');try{await _0x48a7e9['Srfja'](writeFile,_0x4bd9e1,_0x3a6ca6,'utf-8');}catch{return![];}return!![];}export async function update(){const _0x50523b=_0x3881,_0x209aff={'teqWR':function(_0x35bdbc){return _0x35bdbc();},'hjdFz':'Attempting\x20install\x20anyway...','ZadLu':_0x50523b(0x1d4),'lVjaC':function(_0x3fc140,_0x116209){return _0x3fc140(_0x116209);},'mWmbN':function(_0x5d5a29,_0x28a65e){return _0x5d5a29(_0x28a65e);},'AMTho':_0x50523b(0x1d3),'pvxvq':_0x50523b(0x1cc),'fKpfK':function(_0x36b2d7){return _0x36b2d7();}},_0x1fa925=_0x209aff[_0x50523b(0x1b3)](getCurrentVersion);console['log'](_0x50523b(0x1c8)+_0x1fa925),console[_0x50523b(0x1d0)](_0x50523b(0x1e1));const _0x232c25=getLatestVersion();let _0x3e2296=_0x1fa925;if(!_0x232c25[_0x50523b(0x1cd)]){console['warn']('\x0aCould\x20not\x20check\x20latest\x20version:\x20'+_0x232c25[_0x50523b(0x1bd)]),console[_0x50523b(0x1d0)](_0x209aff['hjdFz']);const _0x56d2d2=await _0x209aff[_0x50523b(0x1b3)](runInstall);if(_0x56d2d2)console[_0x50523b(0x1d0)]('\x0aSuccessfully\x20installed\x20latest\x20version.'),_0x3e2296=_0x209aff[_0x50523b(0x1b3)](getCurrentVersion);else throw new Error('Update\x20failed:\x20'+_0x232c25[_0x50523b(0x1bd)]);}else{const _0x40bd0e=_0x232c25[_0x50523b(0x1cd)];console[_0x50523b(0x1d0)]('Latest\x20version:\x20\x20'+_0x40bd0e);const _0x27c80e=compareVersions(_0x1fa925,_0x40bd0e);if(_0x27c80e===0x0)console[_0x50523b(0x1d0)](_0x50523b(0x1f0));else{if(_0x27c80e<0x0)console[_0x50523b(0x1d0)]('\x0aYour\x20version\x20('+_0x1fa925+')\x20is\x20newer\x20than\x20the\x20published\x20version\x20('+_0x40bd0e+').');else{const _0x7c60f8=await runInstall();if(_0x7c60f8)console[_0x50523b(0x1d0)](_0x50523b(0x1c0)+_0x40bd0e),_0x3e2296=_0x40bd0e;else throw new Error(_0x209aff[_0x50523b(0x1b4)]);}}}await _0x209aff['lVjaC'](reinstallSkills,_0x3e2296);const _0x4d26e1=await _0x209aff['lVjaC'](isMarketplaceAdded,_0x50523b(0x1f3)),_0x295022=await _0x209aff[_0x50523b(0x1d8)](isPluginInstalled,'ranger@trailhead');if(_0x4d26e1){const _0x363216=await updateClaudeMarketplace();_0x363216&&console[_0x50523b(0x1d0)](_0x50523b(0x1d6));}if(_0x295022){const _0x1b7f1e=await updateClaudePlugin();_0x1b7f1e&&console['log'](_0x209aff[_0x50523b(0x1d7)]);const _0x54e234=await updateClaudePlugin(_0x209aff['pvxvq']);_0x54e234&&console[_0x50523b(0x1d0)]((_0x1b7f1e?'':'\x0a')+'Claude\x20plugin\x20updated\x20(project\x20scope).');}const _0x1bdea1=await migrateActiveProfileFile();_0x1bdea1&&console['log'](_0x50523b(0x1cb));const _0x293238=await _0x209aff[_0x50523b(0x1db)](ensureActiveProfileGitignored);console['log']('\x0a✅\x20Update\x20complete!');}