@ranger-testing/ranger-cli 2.5.4-alpha.a70fc60-4 → 2.5.4-alpha.b28d3b1-14

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 (81) 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/mcpBootstrap.js +1 -1
  25. package/build/commands/migrateProfile.js +1 -1
  26. package/build/commands/setup/claude.js +1 -1
  27. package/build/commands/setup/opencode.js +1 -1
  28. package/build/commands/setupCi.js +1 -1
  29. package/build/commands/skillup.js +1 -1
  30. package/build/commands/start.js +1 -1
  31. package/build/commands/status.js +1 -1
  32. package/build/commands/update.js +1 -1
  33. package/build/commands/updateEnv.js +1 -1
  34. package/build/commands/useEnv.js +1 -1
  35. package/build/commands/utils/activeProfile.js +1 -1
  36. package/build/commands/utils/agentEnv.js +1 -1
  37. package/build/commands/utils/browserSessionsApi.js +1 -1
  38. package/build/commands/utils/claudeConfig.js +1 -1
  39. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  40. package/build/commands/utils/claudePlugin.js +1 -1
  41. package/build/commands/utils/cloudProfile.js +1 -1
  42. package/build/commands/utils/cloudProfileSession.js +1 -1
  43. package/build/commands/utils/crypto.js +1 -1
  44. package/build/commands/utils/desirePathLog.js +1 -1
  45. package/build/commands/utils/deviceAuth.js +1 -1
  46. package/build/commands/utils/environment.js +1 -1
  47. package/build/commands/utils/featureApi.js +1 -1
  48. package/build/commands/utils/fixWebmDuration.js +1 -1
  49. package/build/commands/utils/gitTracked.js +1 -1
  50. package/build/commands/utils/keychain.js +1 -1
  51. package/build/commands/utils/legacyWarning.js +1 -0
  52. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  53. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  54. package/build/commands/utils/mcpImageBase64.js +1 -1
  55. package/build/commands/utils/model.js +1 -1
  56. package/build/commands/utils/opencodeConfig.js +1 -1
  57. package/build/commands/utils/playwrightCli.js +1 -1
  58. package/build/commands/utils/profileMessages.js +1 -1
  59. package/build/commands/utils/profileSetupBanner.js +1 -1
  60. package/build/commands/utils/projectsConfig.js +1 -1
  61. package/build/commands/utils/rangerConfig.js +1 -1
  62. package/build/commands/utils/rangerRoot.js +1 -1
  63. package/build/commands/utils/resolveProfileContext.js +1 -1
  64. package/build/commands/utils/resolveProfileUrl.js +1 -1
  65. package/build/commands/utils/retry.js +1 -1
  66. package/build/commands/utils/sessionCache.js +1 -1
  67. package/build/commands/utils/settings.js +1 -1
  68. package/build/commands/utils/skillContent.js +1 -1
  69. package/build/commands/utils/skills.js +1 -1
  70. package/build/commands/utils/stitchWebmFiles.js +1 -1
  71. package/build/commands/utils/telemetry.js +1 -1
  72. package/build/commands/utils/tokenRefresh.js +1 -1
  73. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  74. package/build/commands/utils/userApi.js +1 -1
  75. package/build/commands/utils/version.js +1 -1
  76. package/build/commands/verifyFeature.js +1 -1
  77. package/build/commands/verifyFeatureCli.js +1 -1
  78. package/build/skills/ranger/SKILL.md +25 -5
  79. package/build/skills/ranger/create.md +19 -0
  80. package/build/skills/ranger/verify.md +34 -7
  81. package/package.json +3 -2
@@ -1 +1 @@
1
- function _0x2080(_0x196feb,_0x2940d6){_0x196feb=_0x196feb-0xf8;const _0x1ff1dd=_0x1ff1();let _0x2080d0=_0x1ff1dd[_0x196feb];return _0x2080d0;}(function(_0x62301d,_0x58907c){const _0x8f84b6=_0x2080,_0x2f885c=_0x62301d();while(!![]){try{const _0x1ca372=parseInt(_0x8f84b6(0x102))/0x1+parseInt(_0x8f84b6(0x103))/0x2+-parseInt(_0x8f84b6(0x104))/0x3+parseInt(_0x8f84b6(0xfc))/0x4*(parseInt(_0x8f84b6(0xfb))/0x5)+-parseInt(_0x8f84b6(0xfe))/0x6*(-parseInt(_0x8f84b6(0xfa))/0x7)+parseInt(_0x8f84b6(0x101))/0x8+-parseInt(_0x8f84b6(0xfd))/0x9;if(_0x1ca372===_0x58907c)break;else _0x2f885c['push'](_0x2f885c['shift']());}catch(_0x5eea8d){_0x2f885c['push'](_0x2f885c['shift']());}}}(_0x1ff1,0x91bb0));import{isSessionEnabled}from'../utils/sessionCache.js';function _0x1ff1(){const _0x5bdec3=['kyQsk','CZkTX','session_id','7uLUmId','5lacPsl','858492jQhiXK','15489315tdSOqz','2392566NpDVWS','trim','drqmh','7543648UYATuF','362460JWftxw','1548900WzdwiJ','1125909BCjotD','eDPwP'];_0x1ff1=function(){return _0x5bdec3;};return _0x1ff1();}export function printBlock(_0xe7f271){console['log'](_0xe7f271);}export async function readHookInput(){const _0x4b7695=_0x2080;let _0x353071='';try{for await(const _0x4cdb2b of process['stdin']){_0x353071+=_0x4cdb2b;}}catch{return null;}if(!_0x353071[_0x4b7695(0xff)]())return null;try{return JSON['parse'](_0x353071);}catch{return null;}}export async function getEnabledSessionId(_0x27ce76){const _0x546f12=_0x2080,_0xc83549={'eDPwP':function(_0x210efa,_0x5ad974){return _0x210efa(_0x5ad974);},'YGgKl':function(_0x56a560){return _0x56a560();},'drqmh':function(_0x4ef994,_0x52fce3){return _0x4ef994(_0x52fce3);}};if(_0x27ce76)return _0xc83549[_0x546f12(0x105)](isSessionEnabled,_0x27ce76)?_0x27ce76:null;const _0x48f3e3=await _0xc83549['YGgKl'](readHookInput),_0x2ef375=_0x48f3e3?.[_0x546f12(0xf9)];if(!_0x2ef375||!_0xc83549[_0x546f12(0x100)](isSessionEnabled,_0x2ef375))return null;return _0x2ef375;}export async function getEnabledHookContext(_0x1de78c){const _0x546e3e=_0x2080,_0x278ebf={'kyQsk':function(_0x534e49,_0x383696){return _0x534e49(_0x383696);},'CZkTX':function(_0x72df3,_0x2c6f76){return _0x72df3(_0x2c6f76);}};if(_0x1de78c){if(!_0x278ebf[_0x546e3e(0x106)](isSessionEnabled,_0x1de78c))return null;return{'sessionId':_0x1de78c,'input':{'session_id':_0x1de78c}};}const _0x3b5d3b=await readHookInput(),_0x4ef15c=_0x3b5d3b?.['session_id'];if(!_0x4ef15c||!_0x278ebf[_0x546e3e(0xf8)](isSessionEnabled,_0x4ef15c))return null;return{'sessionId':_0x4ef15c,'input':_0x3b5d3b};}
1
+ (function(_0x4024d4,_0x41f446){const _0x52d359=_0x3a72,_0x29ec59=_0x4024d4();while(!![]){try{const _0xac979c=-parseInt(_0x52d359(0xc2))/0x1+-parseInt(_0x52d359(0xc5))/0x2*(-parseInt(_0x52d359(0xc0))/0x3)+parseInt(_0x52d359(0xbb))/0x4+-parseInt(_0x52d359(0xbf))/0x5*(-parseInt(_0x52d359(0xbe))/0x6)+parseInt(_0x52d359(0xc3))/0x7*(-parseInt(_0x52d359(0xbd))/0x8)+-parseInt(_0x52d359(0xc1))/0x9+parseInt(_0x52d359(0xc4))/0xa;if(_0xac979c===_0x41f446)break;else _0x29ec59['push'](_0x29ec59['shift']());}catch(_0x6d175b){_0x29ec59['push'](_0x29ec59['shift']());}}}(_0x14c9,0xe211f));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x434e5b){console['log'](_0x434e5b);}export async function readHookInput(){const _0x5052ef=_0x3a72;let _0x4b7db2='';try{for await(const _0x24909d of process['stdin']){_0x4b7db2+=_0x24909d;}}catch{return null;}if(!_0x4b7db2[_0x5052ef(0xb9)]())return null;try{return JSON[_0x5052ef(0xba)](_0x4b7db2);}catch{return null;}}export async function getEnabledSessionId(_0x3947d9){const _0x1940fc=_0x3a72,_0x35ed41={'gZXLV':function(_0x4f07df,_0xc1140b){return _0x4f07df(_0xc1140b);},'uhBZM':function(_0x141d95){return _0x141d95();},'uMleB':function(_0x1e250b,_0x1faf6c){return _0x1e250b(_0x1faf6c);}};if(_0x3947d9)return _0x35ed41['gZXLV'](isSessionEnabled,_0x3947d9)?_0x3947d9:null;const _0x5decf7=await _0x35ed41['uhBZM'](readHookInput),_0x139d09=_0x5decf7?.[_0x1940fc(0xbc)];if(!_0x139d09||!_0x35ed41['uMleB'](isSessionEnabled,_0x139d09))return null;return _0x139d09;}function _0x3a72(_0x1d7c19,_0x21163e){_0x1d7c19=_0x1d7c19-0xb9;const _0x14c921=_0x14c9();let _0x3a721=_0x14c921[_0x1d7c19];return _0x3a721;}export async function getEnabledHookContext(_0x3f31bf){const _0x1c39fc=_0x3a72,_0x37e44f={'KtsYW':function(_0x3c2923){return _0x3c2923();},'zWpDQ':function(_0x333627,_0x2eb6b0){return _0x333627(_0x2eb6b0);}};if(_0x3f31bf){if(!isSessionEnabled(_0x3f31bf))return null;return{'sessionId':_0x3f31bf,'input':{'session_id':_0x3f31bf}};}const _0x366f79=await _0x37e44f['KtsYW'](readHookInput),_0x4d47d7=_0x366f79?.[_0x1c39fc(0xbc)];if(!_0x4d47d7||!_0x37e44f['zWpDQ'](isSessionEnabled,_0x4d47d7))return null;return{'sessionId':_0x4d47d7,'input':_0x366f79};}function _0x14c9(){const _0x42d94c=['trim','parse','2367820pZvkcX','session_id','8eGyVxt','6KhXyns','4669655YSpNeE','2336739taghMZ','3322368adgfci','991308doOBIh','5268382PhgsKW','7342700XdlSrq','2EJlyUg'];_0x14c9=function(){return _0x42d94c;};return _0x14c9();}
@@ -1 +1 @@
1
- (function(_0x54991b,_0x3ca18e){const _0x5ad703=_0x3a5b,_0x30f2fa=_0x54991b();while(!![]){try{const _0x2f6d0c=-parseInt(_0x5ad703(0x12e))/0x1*(-parseInt(_0x5ad703(0x136))/0x2)+-parseInt(_0x5ad703(0x131))/0x3*(parseInt(_0x5ad703(0x13a))/0x4)+parseInt(_0x5ad703(0x139))/0x5*(-parseInt(_0x5ad703(0x132))/0x6)+parseInt(_0x5ad703(0x138))/0x7*(parseInt(_0x5ad703(0x137))/0x8)+parseInt(_0x5ad703(0x134))/0x9*(-parseInt(_0x5ad703(0x12c))/0xa)+parseInt(_0x5ad703(0x13c))/0xb+parseInt(_0x5ad703(0x130))/0xc;if(_0x2f6d0c===_0x3ca18e)break;else _0x30f2fa['push'](_0x30f2fa['shift']());}catch(_0x2fc0c4){_0x30f2fa['push'](_0x30f2fa['shift']());}}}(_0x14f8,0x487bc));import{printBlock,getEnabledHookContext}from'./output.js';function _0x3a5b(_0x3d15e1,_0x8021aa){_0x3d15e1=_0x3d15e1-0x12c;const _0x14f8c2=_0x14f8();let _0x3a5b9b=_0x14f8c2[_0x3d15e1];return _0x3a5b9b;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x14f8(){const _0x1f3f72=['1165806OBZaGD','===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===','5894uYQPnU','3144sBLmwT','21BEilKw','15mqgJmL','45200UhmDug','permission_mode','3079692ELxVOO','10mmezjl','uRHRH','62dPEJpb','sessionId','10359168eMjhyg','123WBXPdT','874806wbIqhj','plan'];_0x14f8=function(){return _0x1f3f72;};return _0x14f8();}export async function planReminder(_0x2a1625){const _0x5cd68a=_0x3a5b,_0x4d29a5={'KCSvy':_0x5cd68a(0x133),'uRHRH':function(_0x91c5ff,_0x815c01){return _0x91c5ff(_0x815c01);}},_0x47b1bc=await getEnabledHookContext(_0x2a1625);if(!_0x47b1bc)return;if(_0x47b1bc['input'][_0x5cd68a(0x13b)]!==_0x4d29a5['KCSvy'])return;if(!shouldShowPlanReminder(_0x47b1bc[_0x5cd68a(0x12f)]))return;_0x4d29a5[_0x5cd68a(0x12d)](printBlock,_0x5cd68a(0x135));}
1
+ function _0x726c(_0x53e582,_0x169da0){_0x53e582=_0x53e582-0xd6;const _0x16b4f6=_0x16b4();let _0x726c12=_0x16b4f6[_0x53e582];return _0x726c12;}(function(_0x3bd30e,_0x7a29a1){const _0x100d86=_0x726c,_0x26785a=_0x3bd30e();while(!![]){try{const _0x34b5a6=-parseInt(_0x100d86(0xd6))/0x1+parseInt(_0x100d86(0xe0))/0x2+-parseInt(_0x100d86(0xde))/0x3*(parseInt(_0x100d86(0xe3))/0x4)+-parseInt(_0x100d86(0xdd))/0x5*(parseInt(_0x100d86(0xd9))/0x6)+-parseInt(_0x100d86(0xe1))/0x7*(-parseInt(_0x100d86(0xdc))/0x8)+-parseInt(_0x100d86(0xd8))/0x9*(-parseInt(_0x100d86(0xdf))/0xa)+parseInt(_0x100d86(0xdb))/0xb;if(_0x34b5a6===_0x7a29a1)break;else _0x26785a['push'](_0x26785a['shift']());}catch(_0x5b44e3){_0x26785a['push'](_0x26785a['shift']());}}}(_0x16b4,0x498c8));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x16b4(){const _0x285154=['130tsldVp','599368xGvSrV','738283OaiOjN','permission_mode','33716RhLDny','495309PNBdNn','Ulhtn','242568JywCnz','6eAaTWT','input','6331930YfJwWL','16cryWNh','1093065hfpKwp','150BZlBuX'];_0x16b4=function(){return _0x285154;};return _0x16b4();}export async function planReminder(_0x4dce09){const _0x34851a=_0x726c,_0x44470c={'Ulhtn':function(_0x5d8ef6,_0x4eacba){return _0x5d8ef6!==_0x4eacba;},'sciyu':'plan'},_0x6527b9=await getEnabledHookContext(_0x4dce09);if(!_0x6527b9)return;if(_0x44470c[_0x34851a(0xd7)](_0x6527b9[_0x34851a(0xda)][_0x34851a(0xe2)],_0x44470c['sciyu']))return;if(!shouldShowPlanReminder(_0x6527b9['sessionId']))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- function _0x3c06(_0x155b4c,_0x4bc349){_0x155b4c=_0x155b4c-0x134;const _0x11dcab=_0x11dc();let _0x3c0672=_0x11dcab[_0x155b4c];return _0x3c0672;}(function(_0x57a8a3,_0x337346){const _0x10890d=_0x3c06,_0x26b45a=_0x57a8a3();while(!![]){try{const _0x2e30ea=-parseInt(_0x10890d(0x139))/0x1+-parseInt(_0x10890d(0x136))/0x2+parseInt(_0x10890d(0x135))/0x3+parseInt(_0x10890d(0x137))/0x4+parseInt(_0x10890d(0x13d))/0x5*(-parseInt(_0x10890d(0x138))/0x6)+-parseInt(_0x10890d(0x13a))/0x7*(-parseInt(_0x10890d(0x134))/0x8)+parseInt(_0x10890d(0x13b))/0x9;if(_0x2e30ea===_0x337346)break;else _0x26b45a['push'](_0x26b45a['shift']());}catch(_0x424de4){_0x26b45a['push'](_0x26b45a['shift']());}}}(_0x11dc,0xd1e0d));function _0x11dc(){const _0x5e393d=['7qtevSi','5322348JxsQsi','WrHBo','5eSwTTd','5508776BiUrdK','511737jsJReY','33072HdKLOZ','5979388MQAcgf','5170416EzWFMc','1207462fGtuNP'];_0x11dc=function(){return _0x5e393d;};return _0x11dc();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4888e4){const _0x3d1a92=_0x3c06,_0x2481d7={'WrHBo':function(_0x3bbec1,_0x2d390c){return _0x3bbec1(_0x2d390c);}},_0x10cc05=await getEnabledSessionId(_0x4888e4);if(!_0x10cc05)return;_0x2481d7[_0x3d1a92(0x13c)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x5efb66,_0x4f1ba5){const _0x1f9de3=_0x497d,_0x2e6677=_0x5efb66();while(!![]){try{const _0x5b8255=parseInt(_0x1f9de3(0x1d5))/0x1+parseInt(_0x1f9de3(0x1d4))/0x2*(-parseInt(_0x1f9de3(0x1d7))/0x3)+-parseInt(_0x1f9de3(0x1d0))/0x4+-parseInt(_0x1f9de3(0x1ce))/0x5*(-parseInt(_0x1f9de3(0x1d1))/0x6)+-parseInt(_0x1f9de3(0x1cd))/0x7*(parseInt(_0x1f9de3(0x1d6))/0x8)+-parseInt(_0x1f9de3(0x1d2))/0x9+parseInt(_0x1f9de3(0x1d3))/0xa*(parseInt(_0x1f9de3(0x1cf))/0xb);if(_0x5b8255===_0x4f1ba5)break;else _0x2e6677['push'](_0x2e6677['shift']());}catch(_0x1db563){_0x2e6677['push'](_0x2e6677['shift']());}}}(_0x1eef,0x2b132));import{printBlock,getEnabledSessionId}from'./output.js';function _0x497d(_0x5844c6,_0x397c97){_0x5844c6=_0x5844c6-0x1cd;const _0x1eef33=_0x1eef();let _0x497d5a=_0x1eef33[_0x5844c6];return _0x497d5a;}function _0x1eef(){const _0x381514=['8kEIEBu','3714uWucBz','139412ZhLWQw','72275rBCAOz','22fcsxFc','19792mWhqDt','42edUHot','2271267LLkwpn','697560nIjwyi','214aQSSdL','345430pxkFto'];_0x1eef=function(){return _0x381514;};return _0x1eef();}export async function planStart(_0x285bc5){const _0x208984={'ZjKvJ':function(_0x443b5a,_0x463ab9){return _0x443b5a(_0x463ab9);}},_0x5beb11=await getEnabledSessionId(_0x285bc5);if(!_0x5beb11)return;_0x208984['ZjKvJ'](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x485614,_0x15a64e){const _0x5bf7e5=_0x5376,_0x54f0e8=_0x485614();while(!![]){try{const _0x30bdfd=-parseInt(_0x5bf7e5(0x186))/0x1+parseInt(_0x5bf7e5(0x183))/0x2*(parseInt(_0x5bf7e5(0x180))/0x3)+-parseInt(_0x5bf7e5(0x17c))/0x4*(parseInt(_0x5bf7e5(0x17d))/0x5)+parseInt(_0x5bf7e5(0x181))/0x6*(parseInt(_0x5bf7e5(0x179))/0x7)+parseInt(_0x5bf7e5(0x184))/0x8+parseInt(_0x5bf7e5(0x182))/0x9*(-parseInt(_0x5bf7e5(0x17a))/0xa)+parseInt(_0x5bf7e5(0x17f))/0xb;if(_0x30bdfd===_0x15a64e)break;else _0x54f0e8['push'](_0x54f0e8['shift']());}catch(_0x22bf48){_0x54f0e8['push'](_0x54f0e8['shift']());}}}(_0x251c,0x2ef8b));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x5376(_0xd83da1,_0x35ca4d){_0xd83da1=_0xd83da1-0x179;const _0x251cad=_0x251c();let _0x5376d1=_0x251cad[_0xd83da1];return _0x5376d1;}export async function postEdit(_0x108de7){const _0x5d8ba3=_0x5376,_0x34eccd={'sfdic':function(_0x2595ae){return _0x2595ae();},'EmlDT':function(_0x31e8d0,_0x56c88d){return _0x31e8d0(_0x56c88d);}},_0x256965=await getEnabledSessionId(_0x108de7);if(!_0x256965)return;updateBranchTracking(_0x256965);const _0x1acfff=await _0x34eccd[_0x5d8ba3(0x17b)](getToken);if(!_0x1acfff)return;const _0x366df1=_0x34eccd['EmlDT'](getSessionEntry,_0x256965);if(_0x366df1){const _0x4182de={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console['log'](JSON[_0x5d8ba3(0x17e)](_0x4182de));return;}const _0x2ea19d={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x5d8ba3(0x185)}};console['log'](JSON['stringify'](_0x2ea19d));}function _0x251c(){const _0x14c771=['1106127LPfTJt','12aswSUn','1760337DCzZYt','2NANftp','1292664OfdzOH','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','179215JHOdZG','93800itcFRT','10sGeyNe','sfdic','248284QBSOpc','15ZYOKQm','stringify','2159564iRjYjq'];_0x251c=function(){return _0x14c771;};return _0x251c();}
1
+ (function(_0x21bcdd,_0x1a8603){const _0xf00850=_0x5e10,_0x1f9063=_0x21bcdd();while(!![]){try{const _0x52abfb=parseInt(_0xf00850(0x12a))/0x1*(parseInt(_0xf00850(0x11d))/0x2)+-parseInt(_0xf00850(0x119))/0x3*(-parseInt(_0xf00850(0x124))/0x4)+parseInt(_0xf00850(0x129))/0x5*(-parseInt(_0xf00850(0x11f))/0x6)+parseInt(_0xf00850(0x121))/0x7*(-parseInt(_0xf00850(0x120))/0x8)+parseInt(_0xf00850(0x123))/0x9+parseInt(_0xf00850(0x11b))/0xa+-parseInt(_0xf00850(0x125))/0xb;if(_0x52abfb===_0x1a8603)break;else _0x1f9063['push'](_0x1f9063['shift']());}catch(_0x133447){_0x1f9063['push'](_0x1f9063['shift']());}}}(_0x4a2b,0x6b888));function _0x5e10(_0x5e3b2d,_0x4cd4d8){_0x5e3b2d=_0x5e3b2d-0x119;const _0x4a2b04=_0x4a2b();let _0x5e10a0=_0x4a2b04[_0x5e3b2d];return _0x5e10a0;}function _0x4a2b(){const _0xbfb159=['RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','KwiRU','3275uhdLYV','1503UfzhUI','3JYZxUm','PostToolUse','3315460ZAMWJm','ghMHZ','234JgVgQo','log','6jsBdYL','16ARytvD','2832389qGrtMQ','rTGnN','2549403LOUxKf','2290756OeMeFb','1242868vprOpM','RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'];_0x4a2b=function(){return _0xbfb159;};return _0x4a2b();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x41891c){const _0x2052ce=_0x5e10,_0x29de22={'HNnER':function(_0x410357,_0x472aac){return _0x410357(_0x472aac);},'rTGnN':function(_0x2aae3f){return _0x2aae3f();},'KwiRU':function(_0x220ceb,_0x496dee){return _0x220ceb(_0x496dee);},'ghMHZ':_0x2052ce(0x11a)},_0x4a82a9=await getEnabledSessionId(_0x41891c);if(!_0x4a82a9)return;_0x29de22['HNnER'](updateBranchTracking,_0x4a82a9);const _0x481d26=await _0x29de22[_0x2052ce(0x122)](getToken);if(!_0x481d26)return;const _0x318415=_0x29de22[_0x2052ce(0x128)](getSessionEntry,_0x4a82a9);if(_0x318415){const _0x4645cf={'hookSpecificOutput':{'hookEventName':_0x29de22[_0x2052ce(0x11c)],'additionalContext':_0x2052ce(0x126)}};console[_0x2052ce(0x11e)](JSON['stringify'](_0x4645cf));return;}const _0x5d0d20={'hookSpecificOutput':{'hookEventName':_0x29de22[_0x2052ce(0x11c)],'additionalContext':_0x2052ce(0x127)}};console[_0x2052ce(0x11e)](JSON['stringify'](_0x5d0d20));}
@@ -1 +1 @@
1
- (function(_0x30d5f7,_0x4d337e){const _0x5edc34=_0xe91e,_0x80bb52=_0x30d5f7();while(!![]){try{const _0x2cabca=-parseInt(_0x5edc34(0x1f2))/0x1*(parseInt(_0x5edc34(0x1f4))/0x2)+parseInt(_0x5edc34(0x1ed))/0x3+parseInt(_0x5edc34(0x1f3))/0x4*(parseInt(_0x5edc34(0x1f0))/0x5)+-parseInt(_0x5edc34(0x1f1))/0x6+-parseInt(_0x5edc34(0x1f6))/0x7*(parseInt(_0x5edc34(0x1ee))/0x8)+-parseInt(_0x5edc34(0x1f7))/0x9+parseInt(_0x5edc34(0x1f5))/0xa;if(_0x2cabca===_0x4d337e)break;else _0x80bb52['push'](_0x80bb52['shift']());}catch(_0x56bb8a){_0x80bb52['push'](_0x80bb52['shift']());}}}(_0x49fe,0x1a27c));import{getToken}from'../utils/keychain.js';function _0xe91e(_0x331d7b,_0x87f844){_0x331d7b=_0x331d7b-0x1ed;const _0x49fe56=_0x49fe();let _0xe91e5a=_0x49fe56[_0x331d7b];return _0xe91e5a;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x49fe(){const _0x4c0008=['1340298REAaBt','42318AgeBvq','8dmZOWB','===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.','445wRfScm','1180230XmljVX','1cuWUhx','5356poiGLZ','124140SQVYBD','5718350aKnfEz','1331981RMwglD'];_0x49fe=function(){return _0x4c0008;};return _0x49fe();}export async function preCompact(_0x2b5cf7){const _0x385000=_0xe91e,_0x3401cb={'QwDfZ':function(_0xe3f67f,_0x11411c){return _0xe3f67f(_0x11411c);},'CfHqz':function(_0x5223b0){return _0x5223b0();}},_0x43b2a0=await _0x3401cb['QwDfZ'](getEnabledSessionId,_0x2b5cf7);if(!_0x43b2a0)return;try{const _0x1a490e=await _0x3401cb['CfHqz'](getToken);if(!_0x1a490e)return;printBlock(_0x385000(0x1ef));}catch{}}
1
+ (function(_0xa4fbf0,_0x32b48f){const _0x6bac1b=_0x578d,_0x2fb5ca=_0xa4fbf0();while(!![]){try{const _0x39247b=parseInt(_0x6bac1b(0x79))/0x1*(parseInt(_0x6bac1b(0x73))/0x2)+parseInt(_0x6bac1b(0x78))/0x3+-parseInt(_0x6bac1b(0x72))/0x4*(-parseInt(_0x6bac1b(0x7d))/0x5)+-parseInt(_0x6bac1b(0x7b))/0x6*(-parseInt(_0x6bac1b(0x7c))/0x7)+parseInt(_0x6bac1b(0x7e))/0x8*(parseInt(_0x6bac1b(0x75))/0x9)+parseInt(_0x6bac1b(0x77))/0xa*(-parseInt(_0x6bac1b(0x74))/0xb)+-parseInt(_0x6bac1b(0x7a))/0xc;if(_0x39247b===_0x32b48f)break;else _0x2fb5ca['push'](_0x2fb5ca['shift']());}catch(_0x172cb5){_0x2fb5ca['push'](_0x2fb5ca['shift']());}}}(_0x7e0c,0xa3170));import{getToken}from'../utils/keychain.js';function _0x578d(_0x18574d,_0x38294c){_0x18574d=_0x18574d-0x72;const _0x7e0ca3=_0x7e0c();let _0x578dd6=_0x7e0ca3[_0x18574d];return _0x578dd6;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x103994){const _0x389464=_0x578d,_0x463033={'HUCZK':function(_0x2f26e2){return _0x2f26e2();},'rJhZb':function(_0x435003,_0x45fc21){return _0x435003(_0x45fc21);}},_0x3d32df=await getEnabledSessionId(_0x103994);if(!_0x3d32df)return;try{const _0x523c13=await _0x463033['HUCZK'](getToken);if(!_0x523c13)return;_0x463033[_0x389464(0x76)](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}function _0x7e0c(){const _0x51ed=['10oZpDgR','402834uoiFls','541IeEaVY','21816288QyQBfw','1878bsbppx','18235cPbWvj','5UMySpp','408MnnjML','4326580cEasEO','1586EnqqSq','8991884xmFosq','148797jFydpq','rJhZb'];_0x7e0c=function(){return _0x51ed;};return _0x7e0c();}
@@ -1 +1 @@
1
- function _0x509a(_0x5cffc6,_0x4fe318){_0x5cffc6=_0x5cffc6-0x1ec;const _0x489f7f=_0x489f();let _0x509a07=_0x489f7f[_0x5cffc6];return _0x509a07;}(function(_0x1cedce,_0x2ee59c){const _0x584ed3=_0x509a,_0x2ffa97=_0x1cedce();while(!![]){try{const _0x1198c1=-parseInt(_0x584ed3(0x1ee))/0x1+-parseInt(_0x584ed3(0x1ec))/0x2+-parseInt(_0x584ed3(0x1f6))/0x3+-parseInt(_0x584ed3(0x1f8))/0x4*(-parseInt(_0x584ed3(0x1f0))/0x5)+parseInt(_0x584ed3(0x1f5))/0x6*(parseInt(_0x584ed3(0x1f7))/0x7)+-parseInt(_0x584ed3(0x1ef))/0x8+parseInt(_0x584ed3(0x1f1))/0x9*(parseInt(_0x584ed3(0x1f2))/0xa);if(_0x1198c1===_0x2ee59c)break;else _0x2ffa97['push'](_0x2ffa97['shift']());}catch(_0x403440){_0x2ffa97['push'](_0x2ffa97['shift']());}}}(_0x489f,0x6042f));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x489f(){const _0x4e5b3c=['8ewGMWC','1271558PQSpDR','session_id','87623ISiUrt','3575312AJAIRI','219265OsUBjf','63UxlixO','2295690cnUVhB','clear','reason','1013976vEddqv','1404234LjOAWr','14iHRhdV'];_0x489f=function(){return _0x4e5b3c;};return _0x489f();}export async function sessionEnd(_0x449739){const _0x44c212=_0x509a,_0x1b1acc={'YTNtW':function(_0x31ac9c,_0x37437c){return _0x31ac9c(_0x37437c);},'yuYlS':_0x44c212(0x1f3)},_0x54fcb4=process['env']['CLAUDE_SESSION_ID'];let _0x374cbb=_0x449739,_0x54570f;if(!_0x449739){if(_0x54fcb4&&!_0x1b1acc['YTNtW'](isSessionEnabled,_0x54fcb4))return;const _0x30e528=await readHookInput();_0x374cbb=_0x30e528?.[_0x44c212(0x1ed)]||_0x54fcb4,_0x54570f=_0x30e528?.[_0x44c212(0x1f4)];}if(!_0x374cbb)return;_0x54570f===_0x1b1acc['yuYlS']&&recordEnabledSessionCleared(_0x374cbb);}
1
+ (function(_0x5a5efe,_0x13c569){const _0x2f72b6=_0x2b45,_0x507088=_0x5a5efe();while(!![]){try{const _0x156a66=parseInt(_0x2f72b6(0xc3))/0x1*(-parseInt(_0x2f72b6(0xba))/0x2)+parseInt(_0x2f72b6(0xc2))/0x3+parseInt(_0x2f72b6(0xbd))/0x4*(-parseInt(_0x2f72b6(0xb9))/0x5)+parseInt(_0x2f72b6(0xbb))/0x6*(parseInt(_0x2f72b6(0xb8))/0x7)+parseInt(_0x2f72b6(0xc1))/0x8*(-parseInt(_0x2f72b6(0xc4))/0x9)+-parseInt(_0x2f72b6(0xc0))/0xa+-parseInt(_0x2f72b6(0xbe))/0xb*(-parseInt(_0x2f72b6(0xbf))/0xc);if(_0x156a66===_0x13c569)break;else _0x507088['push'](_0x507088['shift']());}catch(_0x32afed){_0x507088['push'](_0x507088['shift']());}}}(_0xba02,0x7893e));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x2b45(_0x21c994,_0x1aad85){_0x21c994=_0x21c994-0xb6;const _0xba0257=_0xba02();let _0x2b45d5=_0xba0257[_0x21c994];return _0x2b45d5;}function _0xba02(){const _0x4a4f6b=['240KCVnFM','5731YXphzN','21768AvhweM','810180KjrQbU','39752VgovqJ','1055919gOzfgJ','21603rEjkEw','1071SuChzL','session_id','CLAUDE_SESSION_ID','10115zqAetM','4275JwJEsZ','38BWjiMl','1374zVesei','VrzPC'];_0xba02=function(){return _0x4a4f6b;};return _0xba02();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x1efd19){const _0x3a8443=_0x2b45,_0x5bbacc={'VrzPC':function(_0x58b447,_0x157566){return _0x58b447(_0x157566);}},_0x26ef1c=process['env'][_0x3a8443(0xb7)];let _0x2aab37=_0x1efd19,_0x4fdfdb;if(!_0x1efd19){if(_0x26ef1c&&!isSessionEnabled(_0x26ef1c))return;const _0x40ae12=await readHookInput();_0x2aab37=_0x40ae12?.[_0x3a8443(0xb6)]||_0x26ef1c,_0x4fdfdb=_0x40ae12?.['reason'];}if(!_0x2aab37)return;_0x4fdfdb==='clear'&&_0x5bbacc[_0x3a8443(0xbc)](recordEnabledSessionCleared,_0x2aab37);}
@@ -1 +1 @@
1
- (function(_0x3950f3,_0x2c5e4c){const _0x485066=_0x1bc4,_0x153796=_0x3950f3();while(!![]){try{const _0x2b46d0=parseInt(_0x485066(0x1bf))/0x1*(-parseInt(_0x485066(0x1b5))/0x2)+parseInt(_0x485066(0x1b3))/0x3+-parseInt(_0x485066(0x1c1))/0x4+parseInt(_0x485066(0x1b9))/0x5*(-parseInt(_0x485066(0x1b7))/0x6)+-parseInt(_0x485066(0x1b1))/0x7*(-parseInt(_0x485066(0x1c5))/0x8)+-parseInt(_0x485066(0x1c4))/0x9+parseInt(_0x485066(0x1bc))/0xa;if(_0x2b46d0===_0x2c5e4c)break;else _0x153796['push'](_0x153796['shift']());}catch(_0x5840b9){_0x153796['push'](_0x153796['shift']());}}}(_0xc7ae,0xb9e53));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0xc7ae(){const _0x40e305=['qOJeG','stdin','919dDzuZW','oVMxh','414552pKurQt','log','export\x20CLAUDE_SESSION_ID=\x22','12890475YRnuQI','1208gpSYpB','source','parse','FEbDy','7168AakGZg','trackCommandStart','4272069vtPzRv','session_id','1616AoDHzl','EAwKO','6XCfxVO','SessionStart','7255285quksFf','CLAUDE_ENV_FILE','trackCommandEnd','29123020LLjWXP'];_0xc7ae=function(){return _0x40e305;};return _0xc7ae();}function _0x1bc4(_0x26575e,_0x30ed15){_0x26575e=_0x26575e-0x1ae;const _0xc7aee8=_0xc7ae();let _0x1bc42f=_0xc7aee8[_0x26575e];return _0x1bc42f;}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.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(_0x1e2af9){const _0x2abc3a=_0x1bc4,_0x371135={'oVMxh':_0x2abc3a(0x1ae),'qOJeG':function(_0x299079,_0x2beb32){return _0x299079(_0x2beb32);},'klNxX':function(_0x4246c8,_0x1b55c8){return _0x4246c8(_0x1b55c8);},'EAwKO':function(_0x194424,_0xa87b07){return _0x194424(_0xa87b07);},'FEbDy':'success','yRbWS':function(_0x201bac){return _0x201bac();}};let _0x183c4d=_0x1e2af9||'',_0xadf199;if(!_0x1e2af9){let _0x2b5c71='';for await(const _0x237623 of process[_0x2abc3a(0x1be)]){_0x2b5c71+=_0x237623;}try{const _0x2a1a4a=JSON[_0x2abc3a(0x1af)](_0x2b5c71);_0x183c4d=_0x2a1a4a[_0x2abc3a(0x1b4)]||'',_0xadf199=_0x2a1a4a[_0x371135[_0x2abc3a(0x1c0)]];}catch{}const _0x4f4ba3=process['env'][_0x2abc3a(0x1ba)];if(_0x4f4ba3&&_0x183c4d)try{await appendFile(_0x4f4ba3,_0x2abc3a(0x1c3)+_0x183c4d+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x183c4d){_0x371135[_0x2abc3a(0x1bd)](shouldAutoEnableAfterClear,_0xadf199)&&autoEnableAfterClear(_0x183c4d);_0x371135['qOJeG'](initBranchTracking,_0x183c4d);const _0x4df3a2=_0x371135['klNxX'](isSessionEnabled,_0x183c4d);try{const _0x3dcb06=_0x371135[_0x2abc3a(0x1b6)](createTelemetryCollector,'hook:session-start');await _0x3dcb06[_0x2abc3a(0x1b2)]({'sessionId':_0x183c4d,'hooksEnabled':_0x4df3a2}),await _0x3dcb06[_0x2abc3a(0x1bb)](_0x371135[_0x2abc3a(0x1b0)]);}catch{}if(_0x4df3a2){const _0x5a9a0b=_0x371135['yRbWS'](getCurrentBranch),_0x30c581=_0x5a9a0b&&_0x5a9a0b!=='main'&&_0x5a9a0b!=='master'?'\x20(Branch:\x20'+_0x5a9a0b+')':'',_0x2b945e={'hookSpecificOutput':{'hookEventName':_0x2abc3a(0x1b8),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x30c581}};console[_0x2abc3a(0x1c2)](JSON['stringify'](_0x2b945e));}}}
1
+ (function(_0x1f2c23,_0x5f21e5){const _0x55a0d9=_0x983c,_0xe15197=_0x1f2c23();while(!![]){try{const _0x3255c7=parseInt(_0x55a0d9(0x1d7))/0x1*(-parseInt(_0x55a0d9(0x1e4))/0x2)+parseInt(_0x55a0d9(0x1d8))/0x3+parseInt(_0x55a0d9(0x1e1))/0x4+-parseInt(_0x55a0d9(0x1cc))/0x5*(-parseInt(_0x55a0d9(0x1cf))/0x6)+parseInt(_0x55a0d9(0x1d5))/0x7+-parseInt(_0x55a0d9(0x1cb))/0x8+parseInt(_0x55a0d9(0x1d2))/0x9*(-parseInt(_0x55a0d9(0x1dd))/0xa);if(_0x3255c7===_0x5f21e5)break;else _0xe15197['push'](_0xe15197['shift']());}catch(_0x329264){_0xe15197['push'](_0xe15197['shift']());}}}(_0x7659,0xe24d8));function _0x7659(){const _0x5c958b=['29980dkyLCa','CLAUDE_ENV_FILE','KgNYW','source','4310700vJaoQk','pAcet','XAaMS','46ksLhJA','11942040glCIqc','251570qAniyx','export\x20CLAUDE_SESSION_ID=\x22','stdin','174Pcofuj','AwtHO','master','2412LWmadA','env','tfGrR','2469075AThGrR','trackCommandEnd','25523DmFkzi','2762034GfFVMm','session_id','stringify','SessionStart','tkMRf'];_0x7659=function(){return _0x5c958b;};return _0x7659();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.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=================================================================';function _0x983c(_0x570435,_0x1d33b9){_0x570435=_0x570435-0x1cb;const _0x7659e4=_0x7659();let _0x983c70=_0x7659e4[_0x570435];return _0x983c70;}export async function sessionStart(_0x3d1945){const _0x4872e9=_0x983c,_0x189893={'pAcet':function(_0x31557d,_0x175dba){return _0x31557d||_0x175dba;},'tkMRf':function(_0x1949bf,_0x2681fd){return _0x1949bf&&_0x2681fd;},'KgNYW':function(_0x33837c){return _0x33837c();},'tfGrR':function(_0x4ab527,_0x1b0def){return _0x4ab527(_0x1b0def);},'AwtHO':'hook:session-start','YPFoW':function(_0x2abbb1,_0x1a0ba6){return _0x2abbb1!==_0x1a0ba6;},'ArenB':_0x4872e9(0x1db),'XAaMS':function(_0x5ce366,_0x2f8ff9){return _0x5ce366+_0x2f8ff9;}};let _0x1964dc=_0x189893[_0x4872e9(0x1e2)](_0x3d1945,''),_0x3974d4;if(!_0x3d1945){let _0x463eea='';for await(const _0x558c09 of process[_0x4872e9(0x1ce)]){_0x463eea+=_0x558c09;}try{const _0x3eb49c=JSON['parse'](_0x463eea);_0x1964dc=_0x3eb49c[_0x4872e9(0x1d9)]||'',_0x3974d4=_0x3eb49c[_0x4872e9(0x1e0)];}catch{}const _0x460367=process[_0x4872e9(0x1d3)][_0x4872e9(0x1de)];if(_0x189893[_0x4872e9(0x1dc)](_0x460367,_0x1964dc))try{await appendFile(_0x460367,_0x4872e9(0x1cd)+_0x1964dc+'\x22\x0a');}catch{}}try{await _0x189893[_0x4872e9(0x1df)](getToken);}catch{}if(_0x1964dc){shouldAutoEnableAfterClear(_0x3974d4)&&_0x189893[_0x4872e9(0x1d4)](autoEnableAfterClear,_0x1964dc);_0x189893[_0x4872e9(0x1d4)](initBranchTracking,_0x1964dc);const _0x25979a=isSessionEnabled(_0x1964dc);try{const _0x2dc055=_0x189893['tfGrR'](createTelemetryCollector,_0x189893[_0x4872e9(0x1d0)]);await _0x2dc055['trackCommandStart']({'sessionId':_0x1964dc,'hooksEnabled':_0x25979a}),await _0x2dc055[_0x4872e9(0x1d6)]('success');}catch{}if(_0x25979a){const _0x4ac8cf=_0x189893['KgNYW'](getCurrentBranch),_0x513ad2=_0x4ac8cf&&_0x189893['YPFoW'](_0x4ac8cf,'main')&&_0x4ac8cf!==_0x4872e9(0x1d1)?'\x20(Branch:\x20'+_0x4ac8cf+')':'',_0x5cf7ac={'hookSpecificOutput':{'hookEventName':_0x189893['ArenB'],'additionalContext':_0x189893[_0x4872e9(0x1e3)](RANGER_AUTO_ENABLED_PROMPT,_0x513ad2)}};console['log'](JSON[_0x4872e9(0x1da)](_0x5cf7ac));}}}
@@ -1 +1 @@
1
- function _0x5305(){const _0x22251b=['lTRkD','6ruUJvz','837GeSDmG','6110048hZRWzK','featureId','5719105hSddRF','2277552bcUAiX','status','filter','success','6313660YahAdn','2152aiIEBT','trackCommandEnd','blocked','wGTqD','1707472twwtWl','846340JxqLhF','https://dashboard.ranger.net/features/','stringify','log','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','33MKJdqn','Stop','pJQJE','Fwbas','verified','36UysoTK','trackCommandStart','UBPbD','cleZz','sessionId'];_0x5305=function(){return _0x22251b;};return _0x5305();}(function(_0x22c70f,_0x277501){const _0x11e8da=_0xa59e,_0x2c6ffc=_0x22c70f();while(!![]){try{const _0x4afda8=parseInt(_0x11e8da(0x13e))/0x1*(-parseInt(_0x11e8da(0x147))/0x2)+-parseInt(_0x11e8da(0x142))/0x3+-parseInt(_0x11e8da(0x14c))/0x4+-parseInt(_0x11e8da(0x141))/0x5*(parseInt(_0x11e8da(0x13d))/0x6)+parseInt(_0x11e8da(0x13f))/0x7+parseInt(_0x11e8da(0x14b))/0x8*(parseInt(_0x11e8da(0x137))/0x9)+parseInt(_0x11e8da(0x146))/0xa*(parseInt(_0x11e8da(0x132))/0xb);if(_0x4afda8===_0x277501)break;else _0x2c6ffc['push'](_0x2c6ffc['shift']());}catch(_0x1b2c6e){_0x2c6ffc['push'](_0x2c6ffc['shift']());}}}(_0x5305,0x93d38));function _0xa59e(_0x4d88b0,_0x2556c6){_0x4d88b0=_0x4d88b0-0x132;const _0x53058d=_0x5305();let _0xa59e13=_0x53058d[_0x4d88b0];return _0xa59e13;}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x40afcd){const _0x41200c=_0xa59e,_0x5f3271={'wGTqD':function(_0x272771,_0x4a9954){return _0x272771(_0x4a9954);},'cleZz':function(_0x289bac,_0x18b3e6,_0x4bb36f,_0x29fdc7){return _0x289bac(_0x18b3e6,_0x4bb36f,_0x29fdc7);},'Fwbas':function(_0x3fc5af){return _0x3fc5af();},'UBPbD':_0x41200c(0x133),'pJQJE':function(_0x43abe5,_0x34e378){return _0x43abe5&&_0x34e378;}},_0x3380d6=await getEnabledHookContext(_0x40afcd),_0x3f34b0=_0x3380d6?.[_0x41200c(0x13b)]??null;let _0x3cb250=!![];if(!_0x3f34b0){await trackStop(_0x3f34b0,![],_0x3cb250);return;}try{const _0x6ebaff=_0x5f3271['wGTqD'](getSessionEntry,_0x3f34b0);if(!_0x6ebaff){await _0x5f3271[_0x41200c(0x13a)](trackStop,_0x3f34b0,!![],_0x3cb250);return;}const _0x4d59ef=await _0x5f3271[_0x41200c(0x135)](getToken),_0x4655e8=_0x41200c(0x14d)+_0x6ebaff['featureId'];let _0x4d5804=null,_0x5235e9=![],_0x4b03c3=![];if(_0x4d59ef)try{const _0x59614b=await getFeature(_0x6ebaff[_0x41200c(0x140)]);_0x4d5804=_0x59614b['currentSessionId']??null;const _0x19b721=_0x59614b['checklistItems'][_0x41200c(0x144)](_0x5c0bd2=>_0x5c0bd2[_0x41200c(0x13b)]===_0x4d5804);_0x5235e9=_0x19b721['some'](_0x231225=>_0x231225[_0x41200c(0x143)]!==_0x41200c(0x136)&&_0x231225[_0x41200c(0x143)]!==_0x41200c(0x149)&&_0x231225['status']!=='closed'&&_0x231225[_0x41200c(0x143)]!=='incomplete'),_0x4b03c3=_0x19b721['some'](_0x249ae0=>_0x249ae0['status']==='verification_in_progress');}catch{}if(_0x4d59ef&&_0x4d5804&&_0x5235e9){if(!_0x4b03c3&&_0x5f3271[_0x41200c(0x14a)](shouldShowStopReminder,_0x3f34b0)){const _0x407942={'hookSpecificOutput':{'hookEventName':_0x5f3271[_0x41200c(0x139)],'additionalContext':_0x41200c(0x150)+_0x4655e8}};console[_0x41200c(0x14f)](JSON[_0x41200c(0x14e)](_0x407942));}}if(_0x5f3271[_0x41200c(0x134)](_0x4d59ef,_0x4d5804)&&!_0x5235e9)try{await concludeSession(_0x6ebaff[_0x41200c(0x140)],_0x4d5804);}catch{}await trackStop(_0x3f34b0,!![],_0x3cb250);return;}catch{await trackStop(_0x3f34b0,!![],_0x3cb250);return;}}async function trackStop(_0x2f7b0e,_0x30be9b,_0x2be7ce){const _0x4516c1=_0xa59e,_0x4fc653={'lTRkD':'hook:stop','mRqIR':function(_0x1e5548,_0x259cf8){return _0x1e5548??_0x259cf8;}};try{const _0x5c529e=createTelemetryCollector(_0x4fc653[_0x4516c1(0x13c)]);await _0x5c529e[_0x4516c1(0x138)]({'sessionId':_0x4fc653['mRqIR'](_0x2f7b0e,undefined),'hooksEnabled':_0x30be9b,'stopAllowed':_0x2be7ce}),await _0x5c529e[_0x4516c1(0x148)](_0x4516c1(0x145));}catch{}}
1
+ function _0x5853(){const _0x41580d=['1238389wTeZkw','verification_in_progress','trackCommandStart','ucxRe','xrhSx','31304oNzZcc','checklistItems','blocked','hook:stop','some','sessionId','success','3009940PxOdRr','https://dashboard.ranger.net/features/','4230317plIKMu','8FzqSMk','46879260slIHiJ','976cGWnXG','93QsozPi','pSDkO','stringify','filter','DSSOs','RPLkI','featureId','4130682cqIYmR','incomplete','83799UufHdM','trackCommandEnd'];_0x5853=function(){return _0x41580d;};return _0x5853();}(function(_0x225378,_0x498e34){const _0x54ea67=_0x1d21,_0x462740=_0x225378();while(!![]){try{const _0x44e884=parseInt(_0x54ea67(0xca))/0x1+-parseInt(_0x54ea67(0xb2))/0x2*(-parseInt(_0x54ea67(0xbf))/0x3)+-parseInt(_0x54ea67(0xbc))/0x4*(-parseInt(_0x54ea67(0xb9))/0x5)+parseInt(_0x54ea67(0xc6))/0x6+parseInt(_0x54ea67(0xbb))/0x7+parseInt(_0x54ea67(0xbe))/0x8*(parseInt(_0x54ea67(0xc8))/0x9)+-parseInt(_0x54ea67(0xbd))/0xa;if(_0x44e884===_0x498e34)break;else _0x462740['push'](_0x462740['shift']());}catch(_0x2ca41a){_0x462740['push'](_0x462740['shift']());}}}(_0x5853,0xa32d3));import{getToken}from'../utils/keychain.js';function _0x1d21(_0x5e74fb,_0x3b7fc7){_0x5e74fb=_0x5e74fb-0xaf;const _0x585305=_0x5853();let _0x1d2196=_0x585305[_0x5e74fb];return _0x1d2196;}import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x37a935){const _0x2e4786=_0x1d21,_0x4c98e4={'DSSOs':function(_0x38ca23,_0x239c02){return _0x38ca23(_0x239c02);},'xrhSx':function(_0x26b00b,_0x1772d2,_0x7e1a5b,_0x172a6c){return _0x26b00b(_0x1772d2,_0x7e1a5b,_0x172a6c);},'ucxRe':function(_0x319b1b,_0x20a913,_0x168646,_0xa592ca){return _0x319b1b(_0x20a913,_0x168646,_0xa592ca);},'IBibJ':function(_0x3781f8){return _0x3781f8();},'ZZsWe':function(_0x37e7c3,_0x26156a){return _0x37e7c3&&_0x26156a;}},_0x31105c=await _0x4c98e4[_0x2e4786(0xc3)](getEnabledHookContext,_0x37a935),_0x59eacd=_0x31105c?.['sessionId']??null;let _0x3bb914=!![];if(!_0x59eacd){await _0x4c98e4[_0x2e4786(0xb1)](trackStop,_0x59eacd,![],_0x3bb914);return;}try{const _0x1549a4=_0x4c98e4['DSSOs'](getSessionEntry,_0x59eacd);if(!_0x1549a4){await _0x4c98e4[_0x2e4786(0xb0)](trackStop,_0x59eacd,!![],_0x3bb914);return;}const _0x5e95ea=await _0x4c98e4['IBibJ'](getToken),_0x431e39=_0x2e4786(0xba)+_0x1549a4['featureId'];let _0x18441b=null,_0x3959a5=![],_0x36080a=![];if(_0x5e95ea)try{const _0x1d87d7=await getFeature(_0x1549a4[_0x2e4786(0xc5)]);_0x18441b=_0x1d87d7['currentSessionId']??null;const _0x1d07aa=_0x1d87d7[_0x2e4786(0xb3)][_0x2e4786(0xc2)](_0x1418f1=>_0x1418f1[_0x2e4786(0xb7)]===_0x18441b);_0x3959a5=_0x1d07aa[_0x2e4786(0xb6)](_0x5d51b3=>_0x5d51b3['status']!=='verified'&&_0x5d51b3['status']!==_0x2e4786(0xb4)&&_0x5d51b3['status']!=='closed'&&_0x5d51b3['status']!==_0x2e4786(0xc7)),_0x36080a=_0x1d07aa[_0x2e4786(0xb6)](_0x14c701=>_0x14c701['status']===_0x2e4786(0xcb));}catch{}if(_0x4c98e4['ZZsWe'](_0x5e95ea,_0x18441b)&&_0x3959a5){if(!_0x36080a&&_0x4c98e4['DSSOs'](shouldShowStopReminder,_0x59eacd)){const _0x357c62={'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'+_0x431e39}};console['log'](JSON[_0x2e4786(0xc1)](_0x357c62));}}if(_0x5e95ea&&_0x18441b&&!_0x3959a5)try{await concludeSession(_0x1549a4['featureId'],_0x18441b);}catch{}await _0x4c98e4['xrhSx'](trackStop,_0x59eacd,!![],_0x3bb914);return;}catch{await _0x4c98e4['xrhSx'](trackStop,_0x59eacd,!![],_0x3bb914);return;}}async function trackStop(_0x16e4d0,_0x513cee,_0x2a6921){const _0x3563f0=_0x1d21,_0x4b9910={'pSDkO':function(_0x510e7a,_0x462de8){return _0x510e7a(_0x462de8);},'RPLkI':_0x3563f0(0xb8)};try{const _0x270bce=_0x4b9910[_0x3563f0(0xc0)](createTelemetryCollector,_0x3563f0(0xb5));await _0x270bce[_0x3563f0(0xaf)]({'sessionId':_0x16e4d0??undefined,'hooksEnabled':_0x513cee,'stopAllowed':_0x2a6921}),await _0x270bce[_0x3563f0(0xc9)](_0x4b9910[_0x3563f0(0xc4)]);}catch{}}
@@ -1 +1 @@
1
- (function(_0x1ffbd6,_0x134511){var _0x234357=_0x3e95,_0x384713=_0x1ffbd6();while(!![]){try{var _0xe37775=parseInt(_0x234357(0xa9))/0x1+-parseInt(_0x234357(0xae))/0x2+parseInt(_0x234357(0xac))/0x3*(-parseInt(_0x234357(0xab))/0x4)+-parseInt(_0x234357(0xa7))/0x5*(-parseInt(_0x234357(0xaf))/0x6)+-parseInt(_0x234357(0xa8))/0x7*(-parseInt(_0x234357(0xa5))/0x8)+parseInt(_0x234357(0xad))/0x9*(-parseInt(_0x234357(0xaa))/0xa)+parseInt(_0x234357(0xa6))/0xb;if(_0xe37775===_0x134511)break;else _0x384713['push'](_0x384713['shift']());}catch(_0x28426e){_0x384713['push'](_0x384713['shift']());}}}(_0x1f1a,0x7adad));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}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';export{migrateProfile}from'./migrateProfile.js';function _0x3e95(_0x43fd92,_0x490eb7){_0x43fd92=_0x43fd92-0xa5;var _0x1f1a79=_0x1f1a();var _0x3e9587=_0x1f1a79[_0x43fd92];return _0x3e9587;}function _0x1f1a(){var _0x465e7e=['8bSLCbz','2018203Zlagum','46705OxfSDZ','4425505RTaVMp','587112dWudiD','307130XqyrRJ','9236nUdFMf','591zVlupI','72qJlLjL','902434DPtxaV','162pAYRhK'];_0x1f1a=function(){return _0x465e7e;};return _0x1f1a();}
1
+ (function(_0xa3f586,_0x26f813){var _0x5c5d16=_0x1727,_0x4e502c=_0xa3f586();while(!![]){try{var _0x74ad35=parseInt(_0x5c5d16(0x1ec))/0x1+-parseInt(_0x5c5d16(0x1f2))/0x2+parseInt(_0x5c5d16(0x1ed))/0x3*(parseInt(_0x5c5d16(0x1f3))/0x4)+-parseInt(_0x5c5d16(0x1ea))/0x5*(-parseInt(_0x5c5d16(0x1f1))/0x6)+parseInt(_0x5c5d16(0x1ee))/0x7+parseInt(_0x5c5d16(0x1ef))/0x8+-parseInt(_0x5c5d16(0x1eb))/0x9*(parseInt(_0x5c5d16(0x1f0))/0xa);if(_0x74ad35===_0x26f813)break;else _0x4e502c['push'](_0x4e502c['shift']());}catch(_0x23fbb9){_0x4e502c['push'](_0x4e502c['shift']());}}}(_0x5d2d,0xb8b0f));export{addEnv}from'./addEnv.js';function _0x5d2d(){var _0x43b79d=['72RDYHww','1035405nezOvI','3961695cULvRU','8361367iRzbfJ','7110528kHyCWI','4069320aRbUib','290826PGPVAx','1533226yyTdeE','4imxNDc','35VIkbfZ'];_0x5d2d=function(){return _0x43b79d;};return _0x5d2d();}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x1727(_0x4b2bf8,_0x28cf0a){_0x4b2bf8=_0x4b2bf8-0x1ea;var _0x5d2d7e=_0x5d2d();var _0x172740=_0x5d2d7e[_0x4b2bf8];return _0x172740;}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';export{migrateProfile}from'./migrateProfile.js';
@@ -1 +1 @@
1
- (function(_0x400547,_0x5aeb42){const _0x4fb6b3=_0x4ea3,_0x9d5b97=_0x400547();while(!![]){try{const _0x23bb89=-parseInt(_0x4fb6b3(0x194))/0x1*(parseInt(_0x4fb6b3(0x191))/0x2)+parseInt(_0x4fb6b3(0x18f))/0x3+-parseInt(_0x4fb6b3(0x192))/0x4*(parseInt(_0x4fb6b3(0x18c))/0x5)+parseInt(_0x4fb6b3(0x184))/0x6+parseInt(_0x4fb6b3(0x190))/0x7*(parseInt(_0x4fb6b3(0x195))/0x8)+-parseInt(_0x4fb6b3(0x187))/0x9+parseInt(_0x4fb6b3(0x18e))/0xa;if(_0x23bb89===_0x5aeb42)break;else _0x9d5b97['push'](_0x9d5b97['shift']());}catch(_0x1beef1){_0x9d5b97['push'](_0x9d5b97['shift']());}}}(_0x3a9a,0xaccc4));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3a9a(){const _0xab4e6b=['log','message','success','5sTjdMt','isTTY','4631840ENqNdZ','3813222SWqWqL','161nRXJDG','48XrzZkq','1198952bOOcbP','\x0a✅\x20Logged\x20in\x20to\x20','29074ehDfSn','166904TXshhg','stdin','4983186CSlCWb','\x0a✅\x20API\x20key\x20stored\x20successfully','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','12054096jAzvHB','stdout'];_0x3a9a=function(){return _0xab4e6b;};return _0x3a9a();}import{getCurrentUser}from'./utils/userApi.js';function _0x4ea3(_0x4074b8,_0x54eacc){_0x4074b8=_0x4074b8-0x183;const _0x3a9ae2=_0x3a9a();let _0x4ea30f=_0x3a9ae2[_0x4074b8];return _0x4ea30f;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x1a53ae=_0x4ea3,_0x56d9ae={'JVmkx':'Re-authenticating\x20via\x20MCP\x20bootstrap...','opQFU':function(_0x22f815,_0x5aa739){return _0x22f815(_0x5aa739);}},_0xa6aa5c=await getMcpAuthOrigin();if(_0xa6aa5c){console[_0x1a53ae(0x189)](_0x56d9ae['JVmkx']),await mcpBootstrap();return;}const _0xaa24a1=process[_0x1a53ae(0x183)][_0x1a53ae(0x18d)]&&process[_0x1a53ae(0x188)][_0x1a53ae(0x18d)];if(!_0xaa24a1)throw new Error(_0x1a53ae(0x186));try{const _0x166fd4=await runDeviceAuthFlow(),_0x5e1c1b=await _0x56d9ae['opQFU'](getCurrentUser,_0x166fd4);_0x5e1c1b[_0x1a53ae(0x18b)]?console['log'](_0x1a53ae(0x193)+_0x5e1c1b['user']['organizationName']):console['log'](_0x1a53ae(0x185));}catch(_0x55dffb){throw new Error('Login\x20failed:\x20'+(_0x55dffb instanceof Error?_0x55dffb[_0x1a53ae(0x18a)]:_0x55dffb));}}
1
+ (function(_0x27e251,_0x53fd11){const _0x393e4a=_0x20f6,_0x26acc6=_0x27e251();while(!![]){try{const _0x57e70b=-parseInt(_0x393e4a(0x1da))/0x1*(-parseInt(_0x393e4a(0x1dd))/0x2)+-parseInt(_0x393e4a(0x1dc))/0x3*(-parseInt(_0x393e4a(0x1e4))/0x4)+parseInt(_0x393e4a(0x1e6))/0x5+parseInt(_0x393e4a(0x1e3))/0x6+-parseInt(_0x393e4a(0x1e0))/0x7+-parseInt(_0x393e4a(0x1de))/0x8+-parseInt(_0x393e4a(0x1df))/0x9;if(_0x57e70b===_0x53fd11)break;else _0x26acc6['push'](_0x26acc6['shift']());}catch(_0x2d4cba){_0x26acc6['push'](_0x26acc6['shift']());}}}(_0x494e,0xf1a82));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x494e(){const _0x2acc12=['YvLJZ','3472608fuJXIU','1637980FifMUJ','fknEX','8526950XGDPpG','23087EvKoyV','KIpBG','3ailHPk','114kbRZET','8529104tvTSzg','1787004HrUfXI','12285644RVPmly','log'];_0x494e=function(){return _0x2acc12;};return _0x494e();}import{getCurrentUser}from'./utils/userApi.js';function _0x20f6(_0x3030f6,_0x109482){_0x3030f6=_0x3030f6-0x1da;const _0x494ea2=_0x494e();let _0x20f653=_0x494ea2[_0x3030f6];return _0x20f653;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x10f36e=_0x20f6,_0x20fd2c={'YvLJZ':function(_0x1f1ae1){return _0x1f1ae1();},'fknEX':function(_0x2fa465,_0x2897fd){return _0x2fa465(_0x2897fd);},'KIpBG':function(_0x5ed89f,_0xa4cd58){return _0x5ed89f instanceof _0xa4cd58;}},_0xbd2422=await getMcpAuthOrigin();if(_0xbd2422){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await _0x20fd2c[_0x10f36e(0x1e2)](mcpBootstrap);return;}const _0x3ce21d=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x3ce21d)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0xc9ddba=await runDeviceAuthFlow(),_0x1e683a=await _0x20fd2c[_0x10f36e(0x1e5)](getCurrentUser,_0xc9ddba);_0x1e683a['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1e683a['user']['organizationName']):console[_0x10f36e(0x1e1)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x54342e){throw new Error('Login\x20failed:\x20'+(_0x20fd2c[_0x10f36e(0x1db)](_0x54342e,Error)?_0x54342e['message']:_0x54342e));}}
@@ -1 +1 @@
1
- function _0xcbe0(_0x58c7a9,_0x2295bb){_0x58c7a9=_0x58c7a9-0x90;const _0x4cf07a=_0x4cf0();let _0xcbe072=_0x4cf07a[_0x58c7a9];return _0xcbe072;}const _0x391073=_0xcbe0;(function(_0x233b86,_0x15ba89){const _0x8a1d7a=_0xcbe0,_0x25002e=_0x233b86();while(!![]){try{const _0x51e156=-parseInt(_0x8a1d7a(0xef))/0x1*(parseInt(_0x8a1d7a(0xba))/0x2)+-parseInt(_0x8a1d7a(0xa9))/0x3+-parseInt(_0x8a1d7a(0x9d))/0x4+-parseInt(_0x8a1d7a(0xae))/0x5*(parseInt(_0x8a1d7a(0xd2))/0x6)+parseInt(_0x8a1d7a(0xc0))/0x7*(-parseInt(_0x8a1d7a(0xa4))/0x8)+parseInt(_0x8a1d7a(0xfd))/0x9+parseInt(_0x8a1d7a(0x102))/0xa;if(_0x51e156===_0x15ba89)break;else _0x25002e['push'](_0x25002e['shift']());}catch(_0x1686cc){_0x25002e['push'](_0x25002e['shift']());}}}(_0x4cf0,0xcf611));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x391073(0xfb),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x391073(0xb4));export async function getMcpAuthOrigin(){const _0x24f43a=_0x391073,_0x2599df={'sDWtc':_0x24f43a(0xbb)};try{const _0x59dac6=(await readFile(AUTH_ORIGIN_PATH,_0x2599df['sDWtc']))['trim']();return _0x59dac6||null;}catch{return null;}}export async function mcpBootstrap(){const _0x4ffc58=_0x391073,_0xe7771b={'xfzcX':function(_0x529028){return _0x529028();},'yYILu':_0x4ffc58(0xb8),'BumzN':function(_0x297e59,_0x276e2c){return _0x297e59+_0x276e2c;},'bkjJh':_0x4ffc58(0xc4),'uyDgz':function(_0x1ccdc9,_0x5903c5){return _0x1ccdc9(_0x5903c5);},'CduhE':function(_0x43a92c,_0x370131,_0x2b5bcf){return _0x43a92c(_0x370131,_0x2b5bcf);}},_0xb0e1a1=_0xe7771b['xfzcX'](getMcpAuthUrl);currentOrigin=_0xb0e1a1;const _0x27bae7=process[_0x4ffc58(0x100)]['isTTY']??![];console['log'](_0x4ffc58(0xe3)+_0xb0e1a1+'\x0a');const _0x48a5fe=await tryUnauthenticated(_0xb0e1a1);let _0x2c19a1=null;if(_0x48a5fe===_0xe7771b['yYILu'])_0x2c19a1='';else{_0x2c19a1=await loadCachedToken();if(!_0x2c19a1){if(!_0x27bae7)throw new Error(_0xe7771b['BumzN'](_0x4ffc58(0xf7),_0xe7771b[_0x4ffc58(0xaf)]));_0x2c19a1=await _0xe7771b[_0x4ffc58(0x104)](oauthFlow,_0xb0e1a1);}}await _0xe7771b[_0x4ffc58(0x9e)](callGetCliToken,_0xb0e1a1,_0x2c19a1);}async function tryUnauthenticated(_0x87b3a5){const _0xb32990=_0x391073,_0x59bea6={'jlpMV':function(_0x54c6f9,_0x39fae6,_0x1bb04b){return _0x54c6f9(_0x39fae6,_0x1bb04b);},'xtqdi':'POST','vorwr':'application/json','MEPLN':_0xb32990(0xe5),'RANtW':'2025-03-26','CfouD':_0xb32990(0xa0)},_0x5d028a=await _0x59bea6['jlpMV'](fetch,_0x87b3a5,{'method':_0x59bea6['xtqdi'],'headers':{'Content-Type':_0x59bea6[_0xb32990(0x105)],'Accept':_0xb32990(0xe0)},'body':JSON[_0xb32990(0x113)]({'jsonrpc':_0x59bea6['MEPLN'],'id':0x1,'method':_0xb32990(0xde),'params':{'protocolVersion':_0x59bea6[_0xb32990(0x98)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0xb32990(0xff)}}})});if(_0x5d028a['ok'])return await _0x5d028a['text'](),_0xb32990(0xb8);if(_0x5d028a[_0xb32990(0x9c)]===0x191)return await _0x5d028a[_0xb32990(0x111)](),_0x59bea6[_0xb32990(0x95)];const _0x513269=await _0x5d028a['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5d028a['status']+':\x20'+_0x513269);}class OAuthTimeoutError extends Error{constructor(_0x6911eb){const _0x560e6c={'yMlaz':'OAuthTimeoutError'};super(_0x6911eb),this['name']=_0x560e6c['yMlaz'];}}async function oauthFlow(_0x40b77d){const _0x3fa914=_0x391073,_0x3c94b9={'LnVez':function(_0x5e9276,_0x4f8f0e){return _0x5e9276(_0x4f8f0e);},'rUSaV':function(_0x9816a0,_0x1e9b8c){return _0x9816a0 instanceof _0x1e9b8c;}};try{return await _0x3c94b9['LnVez'](oauthFlowAttempt,_0x40b77d);}catch(_0x48e66a){if(_0x3c94b9['rUSaV'](_0x48e66a,OAuthTimeoutError)&&await loadCachedClient())return console[_0x3fa914(0xb2)](_0x3fa914(0x118)),await clearCachedClient(),await _0x3c94b9['LnVez'](oauthFlowAttempt,_0x40b77d);throw _0x48e66a;}}async function oauthFlowAttempt(_0x4e2b59){const _0x459f2b=_0x391073,_0x1360ac={'bYXJT':function(_0x49c850,_0x52895c){return _0x49c850(_0x52895c);},'hZOMf':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','JupIa':function(_0x44a764){return _0x44a764();},'Cebaw':'Registering\x20OAuth\x20client...','eBqcc':function(_0x3adb5e,_0x3b8b1b,_0x5ae985){return _0x3adb5e(_0x3b8b1b,_0x5ae985);},'zRWPv':'application/json','bTORP':'authorization_code','xHuhy':'refresh_token','bsmPW':'code','OdyOs':'none','DuAxT':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','ReCiw':function(_0x4d1d71,_0x7595e3){return _0x4d1d71(_0x7595e3);},'OdBBW':'base64url','mvMVv':_0x459f2b(0x117),'kwhvJ':'response_type','RbtVK':_0x459f2b(0x107),'bOIBQ':_0x459f2b(0xd9),'ZDWrX':_0x459f2b(0x109),'KVRRY':'resource','CkXHB':'\x0aOpening\x20browser\x20for\x20authentication...','vyIrY':function(_0x41227b,_0x55e936){return _0x41227b(_0x55e936);},'ELVRb':_0x459f2b(0xda),'DXXqF':'POST','qVKGp':_0x459f2b(0xf5)},_0x55ba5c=_0x4e2b59['replace'](/\/mcp$/,'');process['stdout'][_0x459f2b(0xab)](_0x459f2b(0x10e));const _0x4e82a6=await _0x1360ac['bYXJT'](fetch,_0x55ba5c+'/.well-known/oauth-protected-resource');if(!_0x4e82a6['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x236442=await _0x4e82a6['json'](),_0x2c08b1=_0x236442['authorization_servers']?.[0x0];if(!_0x2c08b1)throw new Error(_0x1360ac[_0x459f2b(0xad)]);console['log']('\x20'+_0x2c08b1);const _0x2464a5=await _0x1360ac[_0x459f2b(0x96)](fetchAuthServerMetadata,_0x2c08b1);let _0x214a9c,_0x5c2b8f;const _0x4c4085=await _0x1360ac['JupIa'](loadCachedClient);if(_0x4c4085)_0x214a9c=_0x4c4085[_0x459f2b(0x11b)],_0x5c2b8f=_0x4c4085['clientSecret'];else{if(_0x2464a5['registration_endpoint']){process[_0x459f2b(0x100)][_0x459f2b(0xab)](_0x1360ac['Cebaw']);const _0x16f3e6=await _0x1360ac['eBqcc'](fetch,_0x2464a5[_0x459f2b(0xeb)],{'method':_0x459f2b(0xc8),'headers':{'Content-Type':_0x1360ac[_0x459f2b(0x110)]},'body':JSON[_0x459f2b(0x113)]({'client_name':_0x459f2b(0xb1),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x459f2b(0xd1)],'grant_types':[_0x1360ac[_0x459f2b(0xac)],_0x1360ac[_0x459f2b(0xe1)]],'response_types':[_0x1360ac[_0x459f2b(0xc1)]],'token_endpoint_auth_method':_0x1360ac[_0x459f2b(0x99)]})});if(!_0x16f3e6['ok']){const _0x482c50=await _0x16f3e6['text']();throw new Error(_0x459f2b(0x120)+_0x482c50);}const _0x38847b=await _0x16f3e6['json']();_0x214a9c=_0x38847b[_0x459f2b(0x115)],_0x5c2b8f=_0x38847b[_0x459f2b(0xda)],await _0x1360ac[_0x459f2b(0xb3)](saveCachedClient,_0x214a9c,_0x5c2b8f),console['log']('\x20done');}else throw new Error(_0x1360ac[_0x459f2b(0xc7)]);}const _0x3ba211=_0x1360ac['ReCiw'](randomBytes,0x20)[_0x459f2b(0xb0)](_0x1360ac['OdBBW']),_0xc4216=_0x1360ac['ReCiw'](createHash,_0x1360ac[_0x459f2b(0xa7)])[_0x459f2b(0x91)](_0x3ba211)['digest'](_0x459f2b(0xc5)),_0x3f3e03=randomBytes(0x10)[_0x459f2b(0xb0)]('hex'),_0x163eb5=new URL(_0x2464a5[_0x459f2b(0xb5)]);_0x163eb5['searchParams'][_0x459f2b(0x11e)](_0x1360ac[_0x459f2b(0x97)],_0x459f2b(0xd8)),_0x163eb5[_0x459f2b(0x11d)][_0x459f2b(0x11e)](_0x459f2b(0x115),_0x214a9c),_0x163eb5[_0x459f2b(0x11d)]['set'](_0x1360ac[_0x459f2b(0xce)],'http://localhost:'+CALLBACK_PORT+_0x459f2b(0xd1)),_0x163eb5['searchParams']['set'](_0x1360ac['bOIBQ'],_0xc4216),_0x163eb5[_0x459f2b(0x11d)][_0x459f2b(0x11e)](_0x1360ac['ZDWrX'],'S256'),_0x163eb5['searchParams']['set'](_0x459f2b(0x101),_0x3f3e03);_0x236442['resource']&&_0x163eb5[_0x459f2b(0x11d)]['set'](_0x1360ac[_0x459f2b(0xcd)],_0x236442['resource']);console['log'](_0x1360ac['CkXHB']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x163eb5[_0x459f2b(0xb0)]()+'\x0a'),await _0x1360ac[_0x459f2b(0xf2)](openBrowser,_0x163eb5[_0x459f2b(0xb0)]());const _0x5d881f=await _0x1360ac['bYXJT'](waitForCallback,_0x3f3e03);process['stdout'][_0x459f2b(0xab)]('Exchanging\x20authorization\x20code...');const _0x420d1c=new URLSearchParams({'grant_type':_0x1360ac['bTORP'],'code':_0x5d881f,'redirect_uri':_0x459f2b(0xaa)+CALLBACK_PORT+_0x459f2b(0xd1),'client_id':_0x214a9c,'code_verifier':_0x3ba211});_0x5c2b8f&&_0x420d1c[_0x459f2b(0x11e)](_0x1360ac['ELVRb'],_0x5c2b8f);_0x236442['resource']&&_0x420d1c[_0x459f2b(0x11e)](_0x1360ac[_0x459f2b(0xcd)],_0x236442[_0x459f2b(0xf0)]);const _0xc24f2e=await _0x1360ac['eBqcc'](fetch,_0x2464a5[_0x459f2b(0xc2)],{'method':_0x1360ac[_0x459f2b(0xbe)],'headers':{'Content-Type':_0x1360ac[_0x459f2b(0x9a)]},'body':_0x420d1c});if(!_0xc24f2e['ok']){const _0x30cf78=await _0xc24f2e['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x30cf78);}const _0x35ae8e=await _0xc24f2e['json']();return console['log'](_0x459f2b(0xdf)),await saveCachedToken(_0x35ae8e[_0x459f2b(0xd3)],_0x35ae8e[_0x459f2b(0xd4)],_0x35ae8e[_0x459f2b(0xf4)]),_0x35ae8e['access_token'];}async function callGetCliToken(_0x45b657,_0x434dfd){const _0x595b87=_0x391073,_0x3e7857={'dvzZf':_0x595b87(0xc8),'qNVuQ':function(_0x52a4cf,_0x153aff){return _0x52a4cf(_0x153aff);},'UkUlD':'application/json','jtijU':_0x595b87(0x94),'bAche':function(_0x218533,_0x2e5e18){return _0x218533(_0x2e5e18);},'XmeCB':'2.0','NGEDm':_0x595b87(0xfc),'XPlhh':function(_0xa5fdd5,_0x387277,_0x30cc71){return _0xa5fdd5(_0x387277,_0x30cc71);},'rekBv':'notifications/initialized','xQIdW':function(_0x1723a3,_0x9ff7bb){return _0x1723a3(_0x9ff7bb);},'JfVjD':'\x20done','OdjFZ':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','pKSZd':'refresh.txt','UFiSz':function(_0xd39f6f,_0x3212da,_0x553761,_0x267342){return _0xd39f6f(_0x3212da,_0x553761,_0x267342);},'ZoLYc':'auth-origin.txt'},_0x32077d={'Content-Type':_0x3e7857['UkUlD'],'Accept':_0x595b87(0xe0)};_0x434dfd&&(_0x32077d[_0x595b87(0xd7)]=_0x595b87(0xdc)+_0x434dfd);const _0xe9d8e7=async _0x5d3fdf=>{const _0x4f74be=_0x595b87,_0x23eac7=await fetch(_0x45b657,{'method':_0x3e7857['dvzZf'],'headers':_0x32077d,'body':JSON[_0x4f74be(0x113)](_0x5d3fdf)});if(!_0x23eac7['ok']){const _0x29d0cd=await _0x23eac7[_0x4f74be(0x111)]();throw new Error('HTTP\x20'+_0x23eac7['status']+':\x20'+_0x29d0cd);}return _0x3e7857['qNVuQ'](parseResponse,_0x23eac7);};process[_0x595b87(0x100)]['write'](_0x3e7857[_0x595b87(0xe7)]);const _0x51103a=await _0x3e7857['bAche'](_0xe9d8e7,{'jsonrpc':_0x3e7857[_0x595b87(0x121)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3e7857['NGEDm'],'capabilities':{},'clientInfo':{'name':_0x595b87(0xe4),'version':_0x595b87(0xff)}}});if(_0x51103a['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x51103a['error'][_0x595b87(0xc6)]??JSON['stringify'](_0x51103a[_0x595b87(0x103)])));console['log'](_0x595b87(0xdf)),await _0x3e7857['XPlhh'](fetch,_0x45b657,{'method':'POST','headers':_0x32077d,'body':JSON[_0x595b87(0x113)]({'jsonrpc':_0x595b87(0xe5),'method':_0x3e7857[_0x595b87(0xc3)]})})['then'](_0x36bdb0=>_0x36bdb0['text']()),process['stdout']['write']('Requesting\x20CLI\x20token...');const _0x186bd6=await _0x3e7857[_0x595b87(0xbd)](_0xe9d8e7,{'jsonrpc':_0x595b87(0xe5),'id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x186bd6[_0x595b87(0x103)])throw new Error('get_cli_token\x20failed:\x20'+(_0x186bd6[_0x595b87(0x103)][_0x595b87(0xc6)]??JSON[_0x595b87(0x113)](_0x186bd6['error'])));console['log'](_0x3e7857['JfVjD']);const _0x134d8b=_0x3e7857['bAche'](extractToken,_0x186bd6[_0x595b87(0xf6)]);if(!_0x134d8b){console['error'](_0x595b87(0xcb)),console['error'](JSON[_0x595b87(0x113)](_0x186bd6[_0x595b87(0xf6)],null,0x2));throw new Error(_0x3e7857['OdjFZ']);}const _0x456b81=_0x3e7857['XPlhh'](join,homedir(),_0x595b87(0xfb)),_0x380207=_0x3e7857['XPlhh'](join,_0x456b81,_0x3e7857[_0x595b87(0xa5)]);await _0x3e7857['XPlhh'](mkdir,_0x456b81,{'recursive':!![]}),await writeFile(_0x380207,_0x134d8b,{'mode':0x180}),await _0x3e7857[_0x595b87(0xa3)](writeFile,_0x3e7857['XPlhh'](join,_0x456b81,_0x3e7857[_0x595b87(0xb9)]),_0x45b657,{'mode':0x180}),console[_0x595b87(0xb2)]('\x0aToken\x20written\x20to\x20'+_0x380207),console['log'](_0x595b87(0x11a));}async function fetchAuthServerMetadata(_0x138fd4){const _0x43d840=_0x391073,_0x5c6ebd=_0x138fd4+_0x43d840(0xf8),_0x7eab1b=await fetch(_0x5c6ebd);if(!_0x7eab1b['ok'])throw new Error(_0x43d840(0x106)+_0x5c6ebd+':\x20'+_0x7eab1b['status']);return _0x7eab1b[_0x43d840(0xee)]();}function waitForCallback(_0x2fe31d){const _0x320c45=_0x391073,_0xb8a446={'UBvTr':_0x320c45(0xa2),'TOKKK':_0x320c45(0x123),'cNsWk':function(_0x37d997,_0x3c9094){return _0x37d997!==_0x3c9094;},'pHFbG':'text/html'};return new Promise((_0x3a6e5a,_0xeac951)=>{const _0x20d76c=_0x320c45,_0x400f6d={'HdoMU':_0xb8a446[_0x20d76c(0x108)],'bfmXZ':_0x20d76c(0x103),'EqHsg':function(_0x3ce39e,_0x4f4b25){return _0x3ce39e(_0x4f4b25);},'Onjmx':function(_0x1a326f,_0x1fceb3){return _0xb8a446['cNsWk'](_0x1a326f,_0x1fceb3);},'JQlyN':_0xb8a446[_0x20d76c(0x10f)]},_0xda7d1a=setTimeout(()=>{const _0x52105b=_0x20d76c;_0xfea2ee[_0x52105b(0xe2)](),_0xeac951(new OAuthTimeoutError(_0xb8a446[_0x52105b(0xd6)]));},0x1d4c0),_0xfea2ee=createServer((_0x4979f0,_0xb58ae7)=>{const _0x39a93f=_0x20d76c,_0x118e4a=new URL(_0x4979f0['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x118e4a['pathname']!=='/callback'){_0xb58ae7[_0x39a93f(0xe8)](0x194),_0xb58ae7['end'](_0x400f6d[_0x39a93f(0x93)]);return;}const _0x5f083c=_0x118e4a[_0x39a93f(0x11d)][_0x39a93f(0x116)]('code'),_0x114042=_0x118e4a[_0x39a93f(0x11d)]['get']('state'),_0x3457e1=_0x118e4a[_0x39a93f(0x11d)][_0x39a93f(0x116)](_0x400f6d[_0x39a93f(0xb6)]);if(_0x3457e1){const _0x5e2cc0=_0x118e4a[_0x39a93f(0x11d)]['get']('error_description')??_0x3457e1;_0xb58ae7['writeHead'](0xc8,{'Content-Type':'text/html'}),_0xb58ae7[_0x39a93f(0x10a)](_0x39a93f(0x11c)+_0x5e2cc0+_0x39a93f(0xea)),clearTimeout(_0xda7d1a),_0xfea2ee['close'](),_0x400f6d[_0x39a93f(0xfa)](_0xeac951,new Error('OAuth\x20error:\x20'+_0x5e2cc0));return;}if(!_0x5f083c||_0x400f6d['Onjmx'](_0x114042,_0x2fe31d)){_0xb58ae7[_0x39a93f(0xe8)](0x190,{'Content-Type':_0x400f6d[_0x39a93f(0xe9)]}),_0xb58ae7['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0xb58ae7['writeHead'](0xc8,{'Content-Type':_0x400f6d[_0x39a93f(0xe9)]}),_0xb58ae7[_0x39a93f(0x10a)]('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x400f6d['EqHsg'](clearTimeout,_0xda7d1a),_0xfea2ee[_0x39a93f(0xe2)](),_0x3a6e5a(_0x5f083c);});_0xfea2ee[_0x20d76c(0xc9)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x1ec832){const _0x343f76=_0x391073,_0x2e8b8f={'RRZnP':'child_process','eNYSU':'start','FPwdA':function(_0x5d807f,_0x41ed48){return _0x5d807f(_0x41ed48);}},{exec:_0x10c016}=await import(_0x2e8b8f[_0x343f76(0xed)]),_0x1c73aa=process['platform']==='darwin'?_0x343f76(0xf3):process[_0x343f76(0x90)]==='win32'?_0x2e8b8f[_0x343f76(0x9f)]:_0x343f76(0x122);_0x2e8b8f['FPwdA'](_0x10c016,_0x1c73aa+'\x20\x22'+_0x1ec832+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x5d06d1=_0x391073,_0x4b5b40={'lkUlS':function(_0x566509,_0x309643){return _0x566509!==_0x309643;},'XMvjH':function(_0x11caeb,_0x35809b){return _0x11caeb>_0x35809b;}};try{const _0x528502=JSON[_0x5d06d1(0xec)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x528502['origin']&&_0x4b5b40[_0x5d06d1(0x112)](_0x528502[_0x5d06d1(0x92)],currentOrigin))return null;if(_0x528502[_0x5d06d1(0xdd)]&&_0x4b5b40['XMvjH'](Date['now'](),_0x528502[_0x5d06d1(0xdd)]))return null;return _0x528502[_0x5d06d1(0xf9)]??null;}catch{return null;}}async function saveCachedToken(_0x1ae3c2,_0x3fdb2e,_0x5672ef){const _0x473d66=_0x391073,_0x5d1e37={'vRVNW':function(_0x240cb9){return _0x240cb9();},'VCHzS':function(_0x2b64d8,_0x568654,_0x35a309){return _0x2b64d8(_0x568654,_0x35a309);},'GAJAK':function(_0x1e6e0d,_0x3820f5,_0x422f34){return _0x1e6e0d(_0x3820f5,_0x422f34);},'QWvpI':function(_0x5a2322){return _0x5a2322();},'UYKnx':function(_0x548c20,_0x81bf86,_0x29841e,_0x274f63){return _0x548c20(_0x81bf86,_0x29841e,_0x274f63);}},_0x498869=await _0x5d1e37[_0x473d66(0x9b)](loadCachedData),_0x4a6a7f={..._0x498869,'origin':currentOrigin,'accessToken':_0x1ae3c2,'refreshToken':_0x3fdb2e??_0x498869?.[_0x473d66(0xa6)],'expiresAt':_0x5672ef?Date[_0x473d66(0xdb)]()+_0x5672ef*0x3e8:undefined};await _0x5d1e37['VCHzS'](mkdir,_0x5d1e37[_0x473d66(0xe6)](join,_0x5d1e37['QWvpI'](homedir),'.ranger'),{'recursive':!![]}),await _0x5d1e37['UYKnx'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x4a6a7f),{'mode':0x180});}async function loadCachedClient(){const _0x6bf70b=_0x391073,_0x41395a={'BJQJJ':function(_0x61faf6,_0xdbea2f){return _0x61faf6!==_0xdbea2f;}},_0xb52d87=await loadCachedData();if(_0xb52d87?.['origin']&&_0x41395a['BJQJJ'](_0xb52d87['origin'],currentOrigin))return null;return _0xb52d87?.[_0x6bf70b(0x11b)]?{'clientId':_0xb52d87['clientId'],'clientSecret':_0xb52d87['clientSecret']}:null;}async function clearCachedClient(){const _0x2aeb14=_0x391073,_0xe3538b={'zuJGh':function(_0x337222){return _0x337222();}},_0x2e2c5f=await _0xe3538b[_0x2aeb14(0xbc)](loadCachedData);if(!_0x2e2c5f)return;const {clientId:_0x4c2f3d,clientSecret:_0x2b732f,..._0x421b67}=_0x2e2c5f;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x421b67),{'mode':0x180});}async function saveCachedClient(_0x553ffa,_0x5140e5){const _0x41c635=_0x391073,_0x574fee={'xhugZ':'.ranger'},_0x17a176=await loadCachedData(),_0x2a87ed={..._0x17a176,'origin':currentOrigin,'accessToken':_0x17a176?.['accessToken']??'','clientId':_0x553ffa,'clientSecret':_0x5140e5};await mkdir(join(homedir(),_0x574fee[_0x41c635(0x119)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x2a87ed),{'mode':0x180});}function _0x4cf0(){const _0x290a53=['14610609PAliYX','match','1.0.0','stdout','state','25384880GIwJqU','error','uyDgz','vorwr','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','redirect_uri','TOKKK','code_challenge_method','end','jyqxT','KLpqz','string','Discovering\x20authorization\x20server...','pHFbG','zRWPv','text','lkUlS','stringify','content-type','client_id','get','sha256','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','xhugZ','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','clientId','<html><body><h2>Authentication\x20failed</h2><p>','searchParams','set','startsWith','Client\x20registration\x20failed:\x20','XmeCB','xdg-open','Not\x20found','platform','update','origin','HdoMU','Initializing\x20MCP\x20session...','CfouD','bYXJT','kwhvJ','RANtW','OdyOs','qVKGp','vRVNW','status','4855356DpbGql','CduhE','eNYSU','needs-oauth','token','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','UFiSz','8UjyPOq','pKSZd','refreshToken','mvMVv','Server\x20returned\x20error:\x20','535953PJJarH','http://localhost:','write','bTORP','hZOMf','5TfsGev','bkjJh','toString','Ranger\x20CLI','log','eBqcc','auth-origin.txt','authorization_endpoint','bfmXZ','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','proxied','ZoLYc','8jzextT','utf-8','zuJGh','xQIdW','DXXqF','split','4397827FatJJg','bsmPW','token_endpoint','rekBv','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','base64url','message','DuAxT','POST','listen','content','\x0aUnexpected\x20response\x20structure:','MTReb','KVRRY','RbtVK','slice','isError','/callback','2134854cUHsvn','access_token','refresh_token','data:','UBvTr','Authorization','code','code_challenge','client_secret','now','Bearer\x20','expiresAt','initialize','\x20done','application/json,\x20text/event-stream','xHuhy','close','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','ranger-cli','2.0','GAJAK','jtijU','writeHead','JQlyN','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','registration_endpoint','parse','RRZnP','json','233976yrozCQ','resource','type','vyIrY','open','expires_in','application/x-www-form-urlencoded','result','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','/.well-known/oauth-authorization-server','accessToken','EqHsg','.ranger','2025-03-26'];_0x4cf0=function(){return _0x290a53;};return _0x4cf0();}async function loadCachedData(){const _0x517265=_0x391073;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x517265(0xbb)));}catch{return null;}}async function parseResponse(_0x4a63d5){const _0x304359=_0x391073,_0x4abc3e={'qAVgU':_0x304359(0x114),'lWaNy':_0x304359(0xb7)},_0x193440=_0x4a63d5['headers']['get'](_0x4abc3e['qAVgU'])??'';if(_0x193440['includes']('text/event-stream')){const _0x4222b9=await _0x4a63d5['text']();for(const _0x26ecd9 of _0x4222b9[_0x304359(0xbf)]('\x0a')){const _0x3224d2=_0x26ecd9['trim']();if(_0x3224d2[_0x304359(0x11f)]('data:')){const _0xe3d530=_0x3224d2[_0x304359(0xcf)](_0x304359(0xd5)['length'])['trim']();if(!_0xe3d530)continue;try{const _0x1763c1=JSON['parse'](_0xe3d530);if(_0x1763c1['id']!==undefined||_0x1763c1[_0x304359(0x103)])return _0x1763c1;}catch{}}}throw new Error(_0x4abc3e['lWaNy']);}return _0x4a63d5[_0x304359(0xee)]();}function extractToken(_0x2f34f4){const _0x2ad4c0=_0x391073,_0x380156={'MTReb':_0x2ad4c0(0x10d),'KLpqz':'Unknown\x20error','jyqxT':_0x2ad4c0(0x111),'oGPBa':function(_0x529f77,_0x51f59d){return _0x529f77===_0x51f59d;}};if(!_0x2f34f4)return null;const _0x3081dc=_0x2f34f4['structuredContent'];if(_0x3081dc?.[_0x2ad4c0(0xa1)]&&typeof _0x3081dc[_0x2ad4c0(0xa1)]===_0x380156['MTReb'])return _0x3081dc[_0x2ad4c0(0xa1)];if(_0x2f34f4[_0x2ad4c0(0xd0)]){const _0x40aeb3=_0x2f34f4['content'];throw new Error(_0x2ad4c0(0xa8)+(_0x40aeb3?.[0x0]?.['text']??_0x380156[_0x2ad4c0(0x10c)]));}const _0x3adf23=_0x2f34f4[_0x2ad4c0(0xca)];if(_0x3adf23)for(const _0x2c0490 of _0x3adf23){if(_0x2c0490[_0x2ad4c0(0xf1)]===_0x380156[_0x2ad4c0(0x10b)]&&_0x2c0490['text']){try{const _0x2cfb1d=JSON[_0x2ad4c0(0xec)](_0x2c0490['text']);if(_0x380156['oGPBa'](typeof _0x2cfb1d?.[_0x2ad4c0(0xa1)],_0x380156[_0x2ad4c0(0xcc)]))return _0x2cfb1d[_0x2ad4c0(0xa1)];}catch{}const _0x496956=_0x2c0490['text'][_0x2ad4c0(0xfe)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x496956)return _0x496956[0x1];}}return null;}
1
+ const _0x492db1=_0xf6d4;(function(_0x183d1c,_0x38f6ee){const _0x489336=_0xf6d4,_0x19764b=_0x183d1c();while(!![]){try{const _0x1304eb=parseInt(_0x489336(0x1d4))/0x1*(parseInt(_0x489336(0x251))/0x2)+-parseInt(_0x489336(0x1f9))/0x3+-parseInt(_0x489336(0x22c))/0x4*(parseInt(_0x489336(0x1ea))/0x5)+parseInt(_0x489336(0x1d3))/0x6+parseInt(_0x489336(0x23b))/0x7+-parseInt(_0x489336(0x230))/0x8*(parseInt(_0x489336(0x240))/0x9)+-parseInt(_0x489336(0x231))/0xa*(-parseInt(_0x489336(0x243))/0xb);if(_0x1304eb===_0x38f6ee)break;else _0x19764b['push'](_0x19764b['shift']());}catch(_0x367cfe){_0x19764b['push'](_0x19764b['shift']());}}}(_0x532b,0x2b7b9));function _0xf6d4(_0x516b2d,_0x4619e4){_0x516b2d=_0x516b2d-0x1c2;const _0x532b2c=_0x532b();let _0xf6d40a=_0x532b2c[_0x516b2d];return _0xf6d40a;}import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0x532b(){const _0xfe8830=['837319hbSdgv','clientSecret','\x20done','token','/.well-known/oauth-protected-resource','2286iaApzl','gUjrt','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','11ehTNaW','gMmgf','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','trim','code','IFwQM','MEvOw','OjiJH','hex','vOknf','Bmqvt','client_id','/callback','bvacV','6366gWbKZT','isTTY','toString','MgzqH','proxied','authorization_servers','http://localhost:','auth-origin.txt','type','xdg-open','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','get_cli_token','FCXyd','accessToken','cpAoz','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','HoVXk','1.0.0','access_token','state','uzVfL','pHkXB','Requesting\x20CLI\x20token...','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','kCwAo','Discovering\x20authorization\x20server...','structuredContent','name','820140NwodBy','86OcrHQm','YZUHO','writeHead','origin','CifvB','tryqI','slice','get_cli_token\x20failed:\x20','hmlQy','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','MCP\x20initialize\x20failed:\x20','content','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','now','result','initialize','set','\x0aToken\x20written\x20to\x20','end','pathname','uqtSw','refreshToken','5DxiVmD','ZSGGa','replace','KkwIi','wwpeG','json','code_challenge','ijIUw','2025-03-26','includes','eeHMA','ranger-cli','pgahy','status','KqsaS','534612odqdEy','OAuthTimeoutError','127.0.0.1','YTwYr','PLepU','btwSE','platform','close','lHPRx','get','.ranger','tools/call','NaEBH','YWmSr','oabVd','url','qZhgO','searchParams','lSoFk','stringify','stdout','resource','parse','yOqbP','expiresAt','string','write','hJXwc','DDeXb','refresh_token','HySzw','open','startsWith','clientId','isError','MCP\x20server\x20returned\x20HTTP\x20','POST','cgwpZ','application/json,\x20text/event-stream','OAuth\x20error:\x20','data:','Initializing\x20MCP\x20session...','<html><body><h2>Authentication\x20failed</h2><p>','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','base64url','UeWSC','WvfTp','MKLiw','message','utf-8','error_description','840676UKCRYI','UycPn','error','registration_endpoint','9320yYJerW','3323430ccNRes','text','log','text/html','KznPy','ZdJOw','code_challenge_method','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','iSRVi','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response'];_0x532b=function(){return _0xfe8830;};return _0x532b();}import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x492db1(0x203),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x492db1(0x203),_0x492db1(0x258));export async function getMcpAuthOrigin(){const _0x41375e=_0x492db1;try{const _0x6a690e=(await readFile(AUTH_ORIGIN_PATH,_0x41375e(0x22a)))[_0x41375e(0x246)]();return _0x6a690e||null;}catch{return null;}}export async function mcpBootstrap(){const _0x9d7889=_0x492db1,_0x3d1759={'eeHMA':function(_0x47a250,_0x1a66ad){return _0x47a250===_0x1a66ad;},'Sdfmo':'proxied','hJXwc':function(_0x31994f){return _0x31994f();},'NaEBH':_0x9d7889(0x242)},_0x351e23=getMcpAuthUrl();currentOrigin=_0x351e23;const _0x4ac818=process[_0x9d7889(0x20d)][_0x9d7889(0x252)]??![];console[_0x9d7889(0x233)](_0x9d7889(0x1dd)+_0x351e23+'\x0a');const _0x36443f=await tryUnauthenticated(_0x351e23);let _0x66540b=null;if(_0x3d1759[_0x9d7889(0x1f4)](_0x36443f,_0x3d1759['Sdfmo']))_0x66540b='';else{_0x66540b=await _0x3d1759[_0x9d7889(0x214)](loadCachedToken);if(!_0x66540b){if(!_0x4ac818)throw new Error(_0x3d1759[_0x9d7889(0x205)]+_0x9d7889(0x245));_0x66540b=await oauthFlow(_0x351e23);}}await callGetCliToken(_0x351e23,_0x66540b);}async function tryUnauthenticated(_0x48c7a1){const _0x1a97a2=_0x492db1,_0x4e0f9e={'sFXUR':'POST','ZdJOw':'application/json','pHkXB':_0x1a97a2(0x21f),'gMmgf':_0x1a97a2(0x1e3),'NmplC':'ranger-cli','jtoDF':_0x1a97a2(0x1c8),'cgwpZ':_0x1a97a2(0x255)},_0x48dccf=await fetch(_0x48c7a1,{'method':_0x4e0f9e['sFXUR'],'headers':{'Content-Type':_0x4e0f9e[_0x1a97a2(0x236)],'Accept':_0x4e0f9e[_0x1a97a2(0x1cc)]},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x4e0f9e[_0x1a97a2(0x244)],'params':{'protocolVersion':_0x1a97a2(0x1f2),'capabilities':{},'clientInfo':{'name':_0x4e0f9e['NmplC'],'version':_0x4e0f9e['jtoDF']}}})});if(_0x48dccf['ok'])return await _0x48dccf['text'](),_0x4e0f9e[_0x1a97a2(0x21e)];if(_0x48dccf[_0x1a97a2(0x1f7)]===0x191)return await _0x48dccf['text'](),'needs-oauth';const _0xa90ac=await _0x48dccf['text']();throw new Error(_0x1a97a2(0x21c)+_0x48dccf[_0x1a97a2(0x1f7)]+':\x20'+_0xa90ac);}class OAuthTimeoutError extends Error{constructor(_0x47c517){const _0x391f4d=_0x492db1,_0x4529fd={'CifvB':_0x391f4d(0x1fa)};super(_0x47c517),this[_0x391f4d(0x1d2)]=_0x4529fd[_0x391f4d(0x1d8)];}}async function oauthFlow(_0x2852a7){const _0x5f2c4a=_0x492db1,_0x3ee7d5={'iSRVi':function(_0x1cb79c){return _0x1cb79c();}};try{return await oauthFlowAttempt(_0x2852a7);}catch(_0x5b08f5){if(_0x5b08f5 instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0x5f2c4a(0x233)](_0x5f2c4a(0x224)),await _0x3ee7d5[_0x5f2c4a(0x239)](clearCachedClient),await oauthFlowAttempt(_0x2852a7);throw _0x5b08f5;}}async function oauthFlowAttempt(_0x208889){const _0x1247ad=_0x492db1,_0x7fc807={'CTsyy':function(_0x5c18df,_0x1bdd4a){return _0x5c18df(_0x1bdd4a);},'cpAoz':'Registering\x20OAuth\x20client...','uzVfL':function(_0x5c8363,_0x4512d5,_0x56a45a){return _0x5c8363(_0x4512d5,_0x56a45a);},'yOqbP':_0x1247ad(0x247),'MgzqH':_0x1247ad(0x23d),'JSTnU':_0x1247ad(0x1e0),'MvpqK':_0x1247ad(0x225),'KqsaS':'sha256','sebvf':function(_0x5e90ed,_0x53f122){return _0x5e90ed(_0x53f122);},'oabVd':_0x1247ad(0x24b),'YZUHO':'response_type','feOJj':_0x1247ad(0x24e),'SYTPY':'redirect_uri','qvtvi':_0x1247ad(0x237),'KznPy':_0x1247ad(0x1ca),'YWmSr':_0x1247ad(0x20e),'KkwIi':function(_0x6043ec,_0x4cf578){return _0x6043ec(_0x4cf578);},'xctCi':function(_0x5d3b1d,_0x16c607){return _0x5d3b1d(_0x16c607);},'HoVXk':'Exchanging\x20authorization\x20code...','UeWSC':'POST','kWhYi':'application/x-www-form-urlencoded'},_0x5a85ad=_0x208889[_0x1247ad(0x1ec)](/\/mcp$/,'');process['stdout'][_0x1247ad(0x213)](_0x1247ad(0x1d0));const _0x275c74=await _0x7fc807['CTsyy'](fetch,_0x5a85ad+_0x1247ad(0x23f));if(!_0x275c74['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x1e4582=await _0x275c74['json'](),_0x3ccd64=_0x1e4582[_0x1247ad(0x256)]?.[0x0];if(!_0x3ccd64)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x1247ad(0x233)]('\x20'+_0x3ccd64);const _0x4e369b=await fetchAuthServerMetadata(_0x3ccd64);let _0x5cfde5,_0x5b769c;const _0x132b98=await loadCachedClient();if(_0x132b98)_0x5cfde5=_0x132b98['clientId'],_0x5b769c=_0x132b98['clientSecret'];else{if(_0x4e369b[_0x1247ad(0x22f)]){process[_0x1247ad(0x20d)]['write'](_0x7fc807[_0x1247ad(0x1c5)]);const _0x4e306d=await _0x7fc807[_0x1247ad(0x1cb)](fetch,_0x4e369b['registration_endpoint'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x1247ad(0x20c)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x1247ad(0x24f)],'grant_types':['authorization_code',_0x1247ad(0x216)],'response_types':[_0x7fc807[_0x1247ad(0x210)]],'token_endpoint_auth_method':'none'})});if(!_0x4e306d['ok']){const _0x5992fc=await _0x4e306d[_0x1247ad(0x232)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x5992fc);}const _0x185d7f=await _0x4e306d['json']();_0x5cfde5=_0x185d7f['client_id'],_0x5b769c=_0x185d7f['client_secret'],await _0x7fc807['uzVfL'](saveCachedClient,_0x5cfde5,_0x5b769c),console['log'](_0x7fc807[_0x1247ad(0x254)]);}else throw new Error(_0x7fc807['JSTnU']);}const _0x5c0c48=_0x7fc807['CTsyy'](randomBytes,0x20)['toString'](_0x7fc807['MvpqK']),_0x3c7961=createHash(_0x7fc807[_0x1247ad(0x1f8)])['update'](_0x5c0c48)['digest'](_0x7fc807['MvpqK']),_0x498f60=_0x7fc807['sebvf'](randomBytes,0x10)['toString'](_0x7fc807[_0x1247ad(0x207)]),_0x2ada69=new URL(_0x4e369b['authorization_endpoint']);_0x2ada69[_0x1247ad(0x20a)][_0x1247ad(0x1e4)](_0x7fc807[_0x1247ad(0x1d5)],_0x1247ad(0x247)),_0x2ada69['searchParams'][_0x1247ad(0x1e4)](_0x7fc807['feOJj'],_0x5cfde5),_0x2ada69['searchParams']['set'](_0x7fc807['SYTPY'],_0x1247ad(0x257)+CALLBACK_PORT+_0x1247ad(0x24f)),_0x2ada69[_0x1247ad(0x20a)]['set'](_0x1247ad(0x1f0),_0x3c7961),_0x2ada69[_0x1247ad(0x20a)]['set'](_0x7fc807['qvtvi'],'S256'),_0x2ada69[_0x1247ad(0x20a)][_0x1247ad(0x1e4)](_0x7fc807[_0x1247ad(0x235)],_0x498f60);_0x1e4582[_0x1247ad(0x20e)]&&_0x2ada69['searchParams']['set'](_0x7fc807[_0x1247ad(0x206)],_0x1e4582['resource']);console[_0x1247ad(0x233)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x1247ad(0x233)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x2ada69[_0x1247ad(0x253)]()+'\x0a'),await _0x7fc807[_0x1247ad(0x1ed)](openBrowser,_0x2ada69['toString']());const _0x43ed83=await _0x7fc807['xctCi'](waitForCallback,_0x498f60);process['stdout']['write'](_0x7fc807[_0x1247ad(0x1c7)]);const _0x294eb6=new URLSearchParams({'grant_type':'authorization_code','code':_0x43ed83,'redirect_uri':_0x1247ad(0x257)+CALLBACK_PORT+'/callback','client_id':_0x5cfde5,'code_verifier':_0x5c0c48});_0x5b769c&&_0x294eb6['set']('client_secret',_0x5b769c);_0x1e4582['resource']&&_0x294eb6['set'](_0x7fc807[_0x1247ad(0x206)],_0x1e4582[_0x1247ad(0x20e)]);const _0x378024=await fetch(_0x4e369b['token_endpoint'],{'method':_0x7fc807[_0x1247ad(0x226)],'headers':{'Content-Type':_0x7fc807['kWhYi']},'body':_0x294eb6});if(!_0x378024['ok']){const _0x44a641=await _0x378024['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x44a641);}const _0x19d38b=await _0x378024['json']();return console[_0x1247ad(0x233)]('\x20done'),await saveCachedToken(_0x19d38b[_0x1247ad(0x1c9)],_0x19d38b['refresh_token'],_0x19d38b['expires_in']),_0x19d38b['access_token'];}async function callGetCliToken(_0xc6138f,_0x3b7b44){const _0x266a17=_0x492db1,_0x4c4ebf={'PLepU':'application/json,\x20text/event-stream','aTdgI':'Authorization','HySzw':_0x266a17(0x222),'bvacV':'2.0','DlDsd':_0x266a17(0x1e3),'cdAVU':_0x266a17(0x1f5),'viZRQ':'\x20done','vOknf':function(_0x27d101,_0x374259,_0x584fba){return _0x27d101(_0x374259,_0x584fba);},'YTwYr':_0x266a17(0x204),'IFwQM':function(_0x1aef39){return _0x1aef39();},'nCyQV':'refresh.txt','Bmqvt':function(_0x5292f0,_0x275e42,_0x319481,_0x1517eb){return _0x5292f0(_0x275e42,_0x319481,_0x1517eb);},'UycPn':_0x266a17(0x258)},_0x1428f8={'Content-Type':'application/json','Accept':_0x4c4ebf[_0x266a17(0x1fd)]};_0x3b7b44&&(_0x1428f8[_0x4c4ebf['aTdgI']]='Bearer\x20'+_0x3b7b44);const _0x5815b4=async _0x6d1794=>{const _0x5ed6f4=_0x266a17,_0x5abf7c=await fetch(_0xc6138f,{'method':'POST','headers':_0x1428f8,'body':JSON['stringify'](_0x6d1794)});if(!_0x5abf7c['ok']){const _0x134c69=await _0x5abf7c[_0x5ed6f4(0x232)]();throw new Error('HTTP\x20'+_0x5abf7c['status']+':\x20'+_0x134c69);}return parseResponse(_0x5abf7c);};process['stdout'][_0x266a17(0x213)](_0x4c4ebf[_0x266a17(0x217)]);const _0x3cf839=await _0x5815b4({'jsonrpc':_0x4c4ebf[_0x266a17(0x250)],'id':0x1,'method':_0x4c4ebf['DlDsd'],'params':{'protocolVersion':_0x266a17(0x1f2),'capabilities':{},'clientInfo':{'name':_0x4c4ebf['cdAVU'],'version':_0x266a17(0x1c8)}}});if(_0x3cf839['error'])throw new Error(_0x266a17(0x1de)+(_0x3cf839[_0x266a17(0x22e)][_0x266a17(0x229)]??JSON['stringify'](_0x3cf839[_0x266a17(0x22e)])));console[_0x266a17(0x233)](_0x4c4ebf['viZRQ']),await _0x4c4ebf[_0x266a17(0x24c)](fetch,_0xc6138f,{'method':_0x266a17(0x21d),'headers':_0x1428f8,'body':JSON[_0x266a17(0x20c)]({'jsonrpc':_0x4c4ebf['bvacV'],'method':'notifications/initialized'})})['then'](_0x35c63b=>_0x35c63b['text']()),process['stdout']['write'](_0x266a17(0x1cd));const _0x334240=await _0x5815b4({'jsonrpc':_0x4c4ebf['bvacV'],'id':0x2,'method':_0x4c4ebf[_0x266a17(0x1fc)],'params':{'name':_0x266a17(0x1c2),'arguments':{}}});if(_0x334240['error'])throw new Error(_0x266a17(0x1db)+(_0x334240['error']['message']??JSON[_0x266a17(0x20c)](_0x334240['error'])));console[_0x266a17(0x233)](_0x4c4ebf['viZRQ']);const _0x225a91=extractToken(_0x334240[_0x266a17(0x1e2)]);if(!_0x225a91){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON['stringify'](_0x334240['result'],null,0x2));throw new Error(_0x266a17(0x23a));}const _0x1f11b5=_0x4c4ebf['vOknf'](join,_0x4c4ebf[_0x266a17(0x248)](homedir),'.ranger'),_0x227186=_0x4c4ebf['vOknf'](join,_0x1f11b5,_0x4c4ebf['nCyQV']);await mkdir(_0x1f11b5,{'recursive':!![]}),await writeFile(_0x227186,_0x225a91,{'mode':0x180}),await _0x4c4ebf[_0x266a17(0x24d)](writeFile,join(_0x1f11b5,_0x4c4ebf[_0x266a17(0x22d)]),_0xc6138f,{'mode':0x180}),console[_0x266a17(0x233)](_0x266a17(0x1e5)+_0x227186),console[_0x266a17(0x233)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x48e22c){const _0x41302d=_0x492db1,_0x2a79aa={'qZhgO':function(_0x10a58d,_0x32d855){return _0x10a58d(_0x32d855);}},_0x52650f=_0x48e22c+'/.well-known/oauth-authorization-server',_0x33a3cf=await _0x2a79aa[_0x41302d(0x209)](fetch,_0x52650f);if(!_0x33a3cf['ok'])throw new Error(_0x41302d(0x1ce)+_0x52650f+':\x20'+_0x33a3cf['status']);return _0x33a3cf[_0x41302d(0x1ef)]();}function waitForCallback(_0x32a8ae){const _0x4ad0e6=_0x492db1,_0x2105da={'uwEqG':function(_0x1c90d1,_0x6616df){return _0x1c90d1(_0x6616df);},'wwpeG':function(_0x3ac3d5,_0x16f428){return _0x3ac3d5!==_0x16f428;},'jefYj':'Not\x20found','gShgt':_0x4ad0e6(0x1ca),'WvfTp':_0x4ad0e6(0x1fb)};return new Promise((_0xf0a050,_0x4c25cd)=>{const _0x5c732e=_0x4ad0e6,_0x305dbc={'ZSGGa':function(_0x26ea49,_0x2cdbc8){const _0x26473b=_0xf6d4;return _0x2105da[_0x26473b(0x1ee)](_0x26ea49,_0x2cdbc8);},'FehSo':_0x2105da['jefYj'],'OjiJH':_0x2105da['gShgt'],'XnjRv':_0x5c732e(0x22e),'ijIUw':_0x5c732e(0x22b),'btwSE':function(_0x2c1811,_0x1d366a){return _0x2c1811(_0x1d366a);},'uqtSw':'text/html','tryqI':function(_0x3e7da3,_0x123fdd){return _0x3e7da3(_0x123fdd);}},_0x5b5670=setTimeout(()=>{_0x519932['close'](),_0x2105da['uwEqG'](_0x4c25cd,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x519932=createServer((_0x40e9b1,_0x25539e)=>{const _0x23a43e=_0x5c732e,_0x42db5f=new URL(_0x40e9b1[_0x23a43e(0x208)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x305dbc[_0x23a43e(0x1eb)](_0x42db5f[_0x23a43e(0x1e7)],_0x23a43e(0x24f))){_0x25539e['writeHead'](0x194),_0x25539e[_0x23a43e(0x1e6)](_0x305dbc['FehSo']);return;}const _0x4a6e10=_0x42db5f['searchParams'][_0x23a43e(0x202)](_0x23a43e(0x247)),_0x3b7378=_0x42db5f['searchParams']['get'](_0x305dbc[_0x23a43e(0x24a)]),_0x313cd5=_0x42db5f['searchParams'][_0x23a43e(0x202)](_0x305dbc['XnjRv']);if(_0x313cd5){const _0x48d9f7=_0x42db5f['searchParams']['get'](_0x305dbc[_0x23a43e(0x1f1)])??_0x313cd5;_0x25539e['writeHead'](0xc8,{'Content-Type':_0x23a43e(0x234)}),_0x25539e[_0x23a43e(0x1e6)](_0x23a43e(0x223)+_0x48d9f7+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x305dbc[_0x23a43e(0x1fe)](clearTimeout,_0x5b5670),_0x519932['close'](),_0x4c25cd(new Error(_0x23a43e(0x220)+_0x48d9f7));return;}if(!_0x4a6e10||_0x305dbc['ZSGGa'](_0x3b7378,_0x32a8ae)){_0x25539e[_0x23a43e(0x1d6)](0x190,{'Content-Type':_0x305dbc[_0x23a43e(0x1e8)]}),_0x25539e['end'](_0x23a43e(0x25b));return;}_0x25539e[_0x23a43e(0x1d6)](0xc8,{'Content-Type':_0x23a43e(0x234)}),_0x25539e['end'](_0x23a43e(0x1c6)),clearTimeout(_0x5b5670),_0x519932[_0x23a43e(0x200)](),_0x305dbc[_0x23a43e(0x1d9)](_0xf0a050,_0x4a6e10);});_0x519932['listen'](CALLBACK_PORT,_0x2105da[_0x5c732e(0x227)]);});}async function openBrowser(_0x550a17){const _0x1bf431=_0x492db1,_0x2239de={'JcYpj':'child_process','DDeXb':function(_0x4d176a,_0x3cc023){return _0x4d176a===_0x3cc023;},'hmlQy':'win32','Rfeax':'start','Tbwob':_0x1bf431(0x25a),'RYQJH':function(_0x2b8a44,_0x23016c){return _0x2b8a44(_0x23016c);}},{exec:_0x3d996c}=await import(_0x2239de['JcYpj']),_0x1e8d3f=process[_0x1bf431(0x1ff)]==='darwin'?_0x1bf431(0x218):_0x2239de[_0x1bf431(0x215)](process['platform'],_0x2239de[_0x1bf431(0x1dc)])?_0x2239de['Rfeax']:_0x2239de['Tbwob'];_0x2239de['RYQJH'](_0x3d996c,_0x1e8d3f+'\x20\x22'+_0x550a17+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x277b09=_0x492db1,_0x23d959={'lSoFk':'utf-8'};try{const _0x29ea6f=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x23d959[_0x277b09(0x20b)]));if(_0x29ea6f['origin']&&_0x29ea6f[_0x277b09(0x1d7)]!==currentOrigin)return null;if(_0x29ea6f['expiresAt']&&Date[_0x277b09(0x1e1)]()>_0x29ea6f[_0x277b09(0x211)])return null;return _0x29ea6f[_0x277b09(0x1c4)]??null;}catch{return null;}}async function saveCachedToken(_0x5e120a,_0x3c4607,_0x271f42){const _0x1b96ea=_0x492db1,_0x1caf7b={'kCwAo':function(_0x4bbb68,_0x23acd7){return _0x4bbb68+_0x23acd7;},'FCXyd':function(_0x303bb1,_0x46f58d){return _0x303bb1*_0x46f58d;},'vZrmO':function(_0x125cbe){return _0x125cbe();},'MKLiw':function(_0x36535a,_0x2bc62d,_0x541b89,_0x1476e0){return _0x36535a(_0x2bc62d,_0x541b89,_0x1476e0);}},_0x5ef6dc=await loadCachedData(),_0xf4216={..._0x5ef6dc,'origin':currentOrigin,'accessToken':_0x5e120a,'refreshToken':_0x3c4607??_0x5ef6dc?.[_0x1b96ea(0x1e9)],'expiresAt':_0x271f42?_0x1caf7b[_0x1b96ea(0x1cf)](Date[_0x1b96ea(0x1e1)](),_0x1caf7b[_0x1b96ea(0x1c3)](_0x271f42,0x3e8)):undefined};await mkdir(join(_0x1caf7b['vZrmO'](homedir),'.ranger'),{'recursive':!![]}),await _0x1caf7b[_0x1b96ea(0x228)](writeFile,TOKEN_CACHE_PATH,JSON[_0x1b96ea(0x20c)](_0xf4216),{'mode':0x180});}async function loadCachedClient(){const _0x185739=_0x492db1,_0x515f82={'AnYjO':function(_0x286077){return _0x286077();}},_0xe2b6b4=await _0x515f82['AnYjO'](loadCachedData);if(_0xe2b6b4?.[_0x185739(0x1d7)]&&_0xe2b6b4[_0x185739(0x1d7)]!==currentOrigin)return null;return _0xe2b6b4?.[_0x185739(0x21a)]?{'clientId':_0xe2b6b4['clientId'],'clientSecret':_0xe2b6b4[_0x185739(0x23c)]}:null;}async function clearCachedClient(){const _0x1b8557=_0x492db1,_0x28a073={'drXSo':function(_0x4fffc9){return _0x4fffc9();},'lHPRx':function(_0x419a2a,_0x5a43ff,_0x3f1827,_0x14e52d){return _0x419a2a(_0x5a43ff,_0x3f1827,_0x14e52d);}},_0x222cd9=await _0x28a073['drXSo'](loadCachedData);if(!_0x222cd9)return;const {clientId:_0xa5a0ff,clientSecret:_0x150922,..._0x4852b8}=_0x222cd9;await _0x28a073[_0x1b8557(0x201)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x4852b8),{'mode':0x180});}async function saveCachedClient(_0x5d1297,_0x4f63e7){const _0x7f9e3d=_0x492db1,_0xe58bd={'gUjrt':function(_0x5d8006){return _0x5d8006();}},_0x3858cc=await loadCachedData(),_0x31c7d1={..._0x3858cc,'origin':currentOrigin,'accessToken':_0x3858cc?.[_0x7f9e3d(0x1c4)]??'','clientId':_0x5d1297,'clientSecret':_0x4f63e7};await mkdir(join(_0xe58bd[_0x7f9e3d(0x241)](homedir),_0x7f9e3d(0x203)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x7f9e3d(0x20c)](_0x31c7d1),{'mode':0x180});}async function loadCachedData(){const _0x47ed91=_0x492db1,_0x1a9ac6={'GKYqt':function(_0x2f6912,_0x17271b,_0x1ec505){return _0x2f6912(_0x17271b,_0x1ec505);},'EVtSq':_0x47ed91(0x22a)};try{return JSON[_0x47ed91(0x20f)](await _0x1a9ac6['GKYqt'](readFile,TOKEN_CACHE_PATH,_0x1a9ac6['EVtSq']));}catch{return null;}}async function parseResponse(_0xaaa039){const _0x4c2ace=_0x492db1,_0xc56e7f={'vLCax':'text/event-stream','pgahy':_0x4c2ace(0x221),'tRbUw':function(_0xd07ac2,_0x32ac75){return _0xd07ac2!==_0x32ac75;}},_0x595cd9=_0xaaa039['headers']['get']('content-type')??'';if(_0x595cd9[_0x4c2ace(0x1f3)](_0xc56e7f['vLCax'])){const _0x11ac58=await _0xaaa039[_0x4c2ace(0x232)]();for(const _0x3c6f93 of _0x11ac58['split']('\x0a')){const _0x4df452=_0x3c6f93['trim']();if(_0x4df452[_0x4c2ace(0x219)](_0xc56e7f[_0x4c2ace(0x1f6)])){const _0x20fb3b=_0x4df452[_0x4c2ace(0x1da)](_0x4c2ace(0x221)['length'])[_0x4c2ace(0x246)]();if(!_0x20fb3b)continue;try{const _0x940010=JSON['parse'](_0x20fb3b);if(_0xc56e7f['tRbUw'](_0x940010['id'],undefined)||_0x940010['error'])return _0x940010;}catch{}}}throw new Error(_0x4c2ace(0x238));}return _0xaaa039['json']();}function extractToken(_0x5e9139){const _0x3c2d97=_0x492db1,_0xbb9db7={'QdUZE':_0x3c2d97(0x212),'MEvOw':function(_0x4d5349,_0x100306){return _0x4d5349===_0x100306;},'WSZOm':'text'};if(!_0x5e9139)return null;const _0x1d60c3=_0x5e9139[_0x3c2d97(0x1d1)];if(_0x1d60c3?.[_0x3c2d97(0x23e)]&&typeof _0x1d60c3[_0x3c2d97(0x23e)]===_0xbb9db7['QdUZE'])return _0x1d60c3[_0x3c2d97(0x23e)];if(_0x5e9139[_0x3c2d97(0x21b)]){const _0xdb4ae4=_0x5e9139['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0xdb4ae4?.[0x0]?.[_0x3c2d97(0x232)]??'Unknown\x20error'));}const _0x2b2458=_0x5e9139[_0x3c2d97(0x1df)];if(_0x2b2458)for(const _0x2fb33c of _0x2b2458){if(_0xbb9db7[_0x3c2d97(0x249)](_0x2fb33c[_0x3c2d97(0x259)],_0xbb9db7['WSZOm'])&&_0x2fb33c[_0x3c2d97(0x232)]){try{const _0x272ce1=JSON[_0x3c2d97(0x20f)](_0x2fb33c['text']);if(typeof _0x272ce1?.[_0x3c2d97(0x23e)]===_0x3c2d97(0x212))return _0x272ce1[_0x3c2d97(0x23e)];}catch{}const _0x47b930=_0x2fb33c['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x47b930)return _0x47b930[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x1d360d,_0xbcb618){const _0x1c9650=_0x44ea,_0x2d52df=_0x1d360d();while(!![]){try{const _0x24e6a1=-parseInt(_0x1c9650(0x184))/0x1+parseInt(_0x1c9650(0x17d))/0x2+-parseInt(_0x1c9650(0x153))/0x3*(-parseInt(_0x1c9650(0x14f))/0x4)+parseInt(_0x1c9650(0x168))/0x5+parseInt(_0x1c9650(0x15a))/0x6+-parseInt(_0x1c9650(0x18e))/0x7+-parseInt(_0x1c9650(0x159))/0x8*(parseInt(_0x1c9650(0x190))/0x9);if(_0x24e6a1===_0xbcb618)break;else _0x2d52df['push'](_0x2d52df['shift']());}catch(_0x4509a2){_0x2d52df['push'](_0x2d52df['shift']());}}}(_0x3557,0x9b2c0));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x36ebad from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';import{getRangerDir}from'./utils/rangerRoot.js';import{ApiError,createCloudProfile,fetchAuthConfig,saveCloudProfileCredentials,uploadCloudProfileSession}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';function _0x44ea(_0x9c4f7a,_0x3b120b){_0x9c4f7a=_0x9c4f7a-0x146;const _0x355778=_0x3557();let _0x44eabb=_0x355778[_0x9c4f7a];return _0x44eabb;}function _0x3557(){const _0x3bb184=['KKnvA','message','iUnZa','oicGK','profileName','\x20→\x20cloud\x20(env:\x20','1205929ZyPStj','trackPhaseEnd','envKey','\x20local\x20director','mXDSl','stdout',',\x20baseUrl\x20override\x20→\x20projects.json)','yes','utf-8','isTTY','4090709ktzbTW','dryRun','900603GuFQsD','_warnings','some','authJsonPath',':\x20failed\x20to\x20save\x20credentials\x20(','Could\x20not\x20fetch\x20auth\x20config\x20(','domains','4|0|2|3|1','\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','padEnd','ies','TELRT','skip','PbCky','no\x20baseUrl\x20in\x20settings.json','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','\x20profile','4fIlzRm','env','origin','push','2309082ewLnRm','jqsdZ','local\x20profile\x20directory\x20not\x20found',':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.','baseUrl','migrate','8WojQYW','4931868XuZEhq',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(',':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.','\x20\x20⚠\x20','no\x20matching\x20auth\x20env','length','No\x20local\x20profiles\x20found\x20to\x20migrate.','status','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','BfuZj','Continuing\x20with\x20migration...','environments','projects','reason','548980aDVhAK','join','settings','\x20migrated','preserveBaseUrl','all','\x20skipped','kind','yguzc','\x20failed','Ihhdr','Deleted\x20','CWCpg','TYEEv',':\x20session\x20upload\x20failed\x20(','\x20migrated\x20to\x20cloud\x20(env:\x20','GYUhV','DIxuT','Aborted.','log','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','1648998ZFCXGD'];_0x3557=function(){return _0x3bb184;};return _0x3557();}import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0xa05d1f){const _0x29f314=_0x44ea,_0x456720={'PlQHj':'skip'};if(_0xa05d1f['kind']===_0x456720['PlQHj'])return'\x20\x20'+_0xa05d1f['profileName'][_0x29f314(0x147)](0x1e)+'\x20→\x20skip\x20('+_0xa05d1f['reason']+')';if(_0xa05d1f[_0x29f314(0x16c)]&&_0xa05d1f['baseUrl'])return'\x20\x20'+_0xa05d1f[_0x29f314(0x182)]['padEnd'](0x1e)+_0x29f314(0x183)+_0xa05d1f['envKey']+',\x20preserving\x20baseUrl\x20'+_0xa05d1f[_0x29f314(0x157)]+'\x20as\x20project\x20override)';if(_0xa05d1f[_0x29f314(0x157)])return'\x20\x20'+_0xa05d1f[_0x29f314(0x182)][_0x29f314(0x147)](0x1e)+_0x29f314(0x183)+_0xa05d1f[_0x29f314(0x186)]+',\x20matches\x20'+_0xa05d1f[_0x29f314(0x157)]+')';return'\x20\x20'+_0xa05d1f['profileName'][_0x29f314(0x147)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0xa05d1f['envKey']+')';}function shouldWarnGitTrackedOnce(_0x1467f2){const _0x54e732=_0x44ea,_0x601987=readProjectsConfig(),_0x553481=_0x601987[_0x54e732(0x166)][_0x1467f2]??={},_0x53846e=_0x553481[_0x54e732(0x191)]??={},_0x8edd37=_0x53846e['gitTrackedRanger'],_0xf5c18c=new Date(),_0x3c8878=_0xf5c18c['toISOString']()['slice'](0x0,0xa);if(_0x8edd37===_0x3c8878)return![];return _0x53846e['gitTrackedRanger']=_0x3c8878,writeProjectsConfig(_0x601987),!![];}export async function migrateProfile(_0x3b58a2,_0x213f41){const _0x3fe15d=_0x44ea,_0x1e4af7={'yguzc':function(_0x18ff84,_0x1cdf07){return _0x18ff84===_0x1cdf07;},'fgJAT':function(_0x5c91b0,_0x48c38a){return _0x5c91b0 instanceof _0x48c38a;},'WmLJR':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','BfuZj':function(_0x237210){return _0x237210();},'CZJYw':_0x3fe15d(0x160),'CWCpg':function(_0x2097c4,_0x49ebdb){return _0x2097c4(_0x49ebdb);},'PbCky':_0x3fe15d(0x14a),'DAEzE':_0x3fe15d(0x14c),'uUPql':function(_0x9bf860,_0x2df369,_0x42928a){return _0x9bf860(_0x2df369,_0x42928a);},'KKnvA':_0x3fe15d(0x15e),'GYUhV':_0x3fe15d(0x157),'emDib':function(_0x2bd103,_0x864fbb,_0x4f9636){return _0x2bd103(_0x864fbb,_0x4f9636);},'Hawqv':'migrate','TYEEv':'confirm','TkAwv':_0x3fe15d(0x197),'jqsdZ':_0x3fe15d(0x146),'mXDSl':_0x3fe15d(0x17c),'azSlL':'profile.migrate.started','irayU':'profile.migrate.skipped','TELRT':function(_0x20e47a,_0x22b506,_0x2f6f5b){return _0x20e47a(_0x22b506,_0x2f6f5b);},'qVarW':function(_0x115a76,_0xbaa573){return _0x115a76&&_0xbaa573;},'DIxuT':function(_0x9e5a39,_0x2f7335){return _0x9e5a39 instanceof _0x2f7335;},'IMrDU':function(_0x5851df,_0x1bc619,_0x11d1ce,_0xe0287e,_0x5f3298){return _0x5851df(_0x1bc619,_0x11d1ce,_0xe0287e,_0x5f3298);},'MEYEu':'profile.migrate.failed','iUnZa':function(_0x421abb,_0x3ab66e){return _0x421abb(_0x3ab66e);},'rBRuc':function(_0x146bc7,_0x3e2fa4){return _0x146bc7>_0x3e2fa4;},'qQnCI':function(_0x58bccc,_0x4caf0c){return _0x58bccc>_0x4caf0c;},'Ihhdr':_0x3fe15d(0x148),'oicGK':function(_0x49b957,_0x4e79d){return _0x49b957+_0x4e79d;}};if(!_0x3b58a2[_0x3fe15d(0x182)]&&!_0x3b58a2['all'])throw new Error(_0x3fe15d(0x14d));let _0x35d6ac;try{_0x35d6ac=await fetchAuthConfig();}catch(_0x53cbd9){throw new Error(_0x3fe15d(0x195)+(_0x1e4af7['fgJAT'](_0x53cbd9,Error)?_0x53cbd9['message']:String(_0x53cbd9))+').\x20Run:\x20ranger\x20setup');}if(!_0x35d6ac||!_0x35d6ac[_0x3fe15d(0x165)]||Object['keys'](_0x35d6ac[_0x3fe15d(0x165)])[_0x3fe15d(0x15f)]===0x0)throw new Error(_0x1e4af7['WmLJR']);const _0x283e76=[];if(_0x3b58a2[_0x3fe15d(0x16d)]){const {envNames:_0x201b67,envTypes:_0x247b63}=await _0x1e4af7[_0x3fe15d(0x163)](getEnvNames);for(const _0x55898a of _0x201b67){if(_0x247b63[_0x55898a]==='ci')continue;_0x283e76['push'](_0x55898a);}}else _0x3b58a2['profileName']&&_0x283e76['push'](_0x3b58a2[_0x3fe15d(0x182)]);if(_0x1e4af7['yguzc'](_0x283e76[_0x3fe15d(0x15f)],0x0)){console[_0x3fe15d(0x17b)](_0x1e4af7['CZJYw']);return;}const _0x105201=[];for(const _0x542d48 of _0x283e76){const _0x189777=getEnvDir(_0x542d48);if(!_0x1e4af7[_0x3fe15d(0x174)](existsSync,_0x189777)){_0x105201[_0x3fe15d(0x152)]({'kind':'skip','profileName':_0x542d48,'reason':_0x3fe15d(0x155)});continue;}const _0x103ad8=await loadSettings(_0x542d48),_0xcd4564=_0x103ad8['baseUrl'];if(!_0xcd4564){_0x105201[_0x3fe15d(0x152)]({'kind':_0x1e4af7[_0x3fe15d(0x14b)],'profileName':_0x542d48,'reason':_0x1e4af7['DAEzE']});continue;}const _0x390e8b=_0x1e4af7['uUPql'](matchAuthEnvironment,_0xcd4564,_0x35d6ac);if(!_0x390e8b){_0x105201['push']({'kind':_0x1e4af7[_0x3fe15d(0x14b)],'profileName':_0x542d48,'reason':_0x1e4af7[_0x3fe15d(0x17e)]});continue;}const _0x20d0fe=_0x35d6ac[_0x3fe15d(0x165)][_0x390e8b],_0x4bb71e=_0x20d0fe?.[_0x3fe15d(0x196)]??[],_0x1df2d1=_0x4bb71e[_0x3fe15d(0x192)](_0x537513=>{const _0x281afd=_0x3fe15d;try{return _0x1e4af7['yguzc'](new URL(_0x537513)['origin'],new URL(_0xcd4564)[_0x281afd(0x151)]);}catch{return![];}}),_0x1c8afc={};for(const [_0x231d6f,_0x2ceb6d]of Object['entries'](_0x103ad8)){if(_0x231d6f===_0x1e4af7[_0x3fe15d(0x178)])continue;if(_0x1e4af7[_0x3fe15d(0x170)](_0x2ceb6d,undefined))continue;_0x1c8afc[_0x231d6f]=_0x2ceb6d;}!_0x1df2d1&&(_0x1c8afc[_0x3fe15d(0x157)]=_0xcd4564);const _0x20c720=_0x1e4af7['emDib'](join,_0x189777,'auth.json'),_0x586572=existsSync(_0x20c720);_0x105201[_0x3fe15d(0x152)]({'kind':_0x1e4af7['Hawqv'],'profileName':_0x542d48,'envKey':_0x390e8b,'baseUrl':_0xcd4564,'preserveBaseUrl':!_0x1df2d1,'settings':_0x1c8afc,'authJsonPath':_0x586572?_0x20c720:null});}console['log']('Plan:');for(const _0x46398c of _0x105201){console['log'](_0x1e4af7['CWCpg'](formatPlanLine,_0x46398c));}if(_0x3b58a2[_0x3fe15d(0x18f)]){console['log']('Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.');return;}const _0x471fc4=_0x1e4af7[_0x3fe15d(0x174)](Boolean,process['stdin']['isTTY']&&process[_0x3fe15d(0x189)][_0x3fe15d(0x18d)]),_0x1ea732=_0x105201[_0x3fe15d(0x192)](_0x35e67d=>_0x35e67d[_0x3fe15d(0x16f)]===_0x3fe15d(0x158));if(_0x1ea732&&_0x471fc4&&!_0x3b58a2[_0x3fe15d(0x18b)]){const {proceed:_0x108d55}=await _0x36ebad['prompt']([{'type':_0x1e4af7[_0x3fe15d(0x175)],'name':'proceed','message':'Proceed?','default':![]}]);if(!_0x108d55){console[_0x3fe15d(0x17b)](_0x3fe15d(0x17a));return;}}const _0x279233=_0x1e4af7['BfuZj'](getRangerDir);let _0x447cf2=![];if(existsSync(_0x279233))try{_0x447cf2=await isPathGitTracked(_0x279233);}catch{_0x447cf2=![];}if(_0x447cf2&&shouldWarnGitTrackedOnce(process['cwd']())){const _0x358b3d=_0x1e4af7['TkAwv']['split']('|');let _0x559d57=0x0;while(!![]){switch(_0x358b3d[_0x559d57++]){case'0':console[_0x3fe15d(0x17b)]('After\x20migration,\x20uncommit\x20it:');continue;case'1':console['log'](_0x3fe15d(0x164));continue;case'2':console['log'](_0x1e4af7[_0x3fe15d(0x154)]);continue;case'3':console['log'](_0x1e4af7[_0x3fe15d(0x188)]);continue;case'4':console['log'](_0x3fe15d(0x162));continue;}break;}}let _0x399593=0x0,_0xc18db3=0x0,_0x267560=0x0,_0x48c993=0x0;for(const _0x3e4841 of _0x105201){if(_0x3e4841['kind']===_0x1e4af7['PbCky']){_0x48c993++,_0x213f41?.[_0x3fe15d(0x185)]('profile.migrate.skipped',{'profileName':_0x3e4841['profileName'],'reason':_0x3e4841[_0x3fe15d(0x167)]});continue;}_0x213f41?.['trackPhaseStart'](_0x1e4af7['azSlL'],{'profileName':_0x3e4841[_0x3fe15d(0x182)],'envKey':_0x3e4841[_0x3fe15d(0x186)]});try{try{await createCloudProfile(_0x3e4841[_0x3fe15d(0x182)],_0x3e4841['envKey'],_0x3e4841[_0x3fe15d(0x16a)]);}catch(_0x289ac8){if(_0x289ac8 instanceof ApiError&&_0x289ac8[_0x3fe15d(0x161)]===0x199){console[_0x3fe15d(0x17b)]('\x20\x20⚠\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x15c)),_0x48c993++,_0x213f41?.['trackPhaseEnd'](_0x1e4af7['irayU'],{'profileName':_0x3e4841[_0x3fe15d(0x182)],'reason':'name_conflict'});continue;}throw _0x289ac8;}let _0x28b1c0=![],_0x1b57f6=![];if(_0x3e4841[_0x3fe15d(0x193)])try{const _0x3c22f=await _0x1e4af7['uUPql'](readFile,_0x3e4841['authJsonPath'],_0x3fe15d(0x18c)),_0x3a44f3=JSON['parse'](_0x3c22f);await _0x1e4af7[_0x3fe15d(0x149)](uploadCloudProfileSession,_0x3e4841[_0x3fe15d(0x182)],_0x3a44f3),_0x28b1c0=!![];}catch(_0x827adb){_0x1b57f6=!![],console[_0x3fe15d(0x17b)](_0x3fe15d(0x15d)+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x176)+(_0x827adb instanceof Error?_0x827adb[_0x3fe15d(0x17f)]:_0x1e4af7[_0x3fe15d(0x174)](String,_0x827adb))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x23c8b0=![];if(_0x3b58a2['saveCreds']){const _0x2afc00=process[_0x3fe15d(0x150)]['RANGER_TEST_USERNAME'],_0x2d0bde=process[_0x3fe15d(0x150)]['RANGER_TEST_PASSWORD'];if(_0x1e4af7['qVarW'](_0x2afc00,_0x2d0bde))try{await saveCloudProfileCredentials(_0x3e4841['profileName'],_0x2afc00,_0x2d0bde),_0x23c8b0=!![];}catch(_0x5cd6d4){console['log']('\x20\x20⚠\x20'+_0x3e4841['profileName']+_0x3fe15d(0x194)+(_0x1e4af7[_0x3fe15d(0x179)](_0x5cd6d4,Error)?_0x5cd6d4[_0x3fe15d(0x17f)]:String(_0x5cd6d4))+').');}else console['log']('\x20\x20⚠\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x156));}if(_0x3e4841[_0x3fe15d(0x16c)]&&_0x3e4841[_0x3fe15d(0x157)])try{_0x1e4af7['IMrDU'](setProfileOverride,process['cwd'](),_0x3e4841['profileName'],_0x1e4af7['GYUhV'],_0x3e4841[_0x3fe15d(0x157)]);}catch(_0x48f5ad){console['log'](_0x3fe15d(0x15d)+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x15b)+(_0x1e4af7['DIxuT'](_0x48f5ad,Error)?_0x48f5ad[_0x3fe15d(0x17f)]:String(_0x48f5ad))+').');}const _0x5dd4cf=getEnvDir(_0x3e4841['profileName']);if(!_0x1b57f6&&existsSync(_0x5dd4cf))try{await rm(_0x5dd4cf,{'recursive':!![],'force':!![]}),_0xc18db3++;}catch(_0x1c348a){console[_0x3fe15d(0x17b)](_0x3fe15d(0x15d)+_0x3e4841['profileName']+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x5dd4cf+'\x20('+(_0x1c348a instanceof Error?_0x1c348a[_0x3fe15d(0x17f)]:String(_0x1c348a))+').');}_0x399593++,_0x3e4841[_0x3fe15d(0x16c)]&&_0x3e4841[_0x3fe15d(0x157)]?console[_0x3fe15d(0x17b)]('\x20\x20✓\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x177)+_0x3e4841['envKey']+_0x3fe15d(0x18a)):console[_0x3fe15d(0x17b)]('\x20\x20✓\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x177)+_0x3e4841[_0x3fe15d(0x186)]+')'),_0x213f41?.[_0x3fe15d(0x185)]('profile.migrate.succeeded',{'profileName':_0x3e4841[_0x3fe15d(0x182)],'envKey':_0x3e4841['envKey'],'wasGitTracked':_0x447cf2,'hadSession':_0x28b1c0,'savedCreds':_0x23c8b0});}catch(_0x2241ee){_0x267560++,console['log']('\x20\x20✗\x20'+_0x3e4841['profileName']+'\x20failed:\x20'+(_0x1e4af7['fgJAT'](_0x2241ee,Error)?_0x2241ee[_0x3fe15d(0x17f)]:String(_0x2241ee))),_0x213f41?.[_0x3fe15d(0x185)](_0x1e4af7['MEYEu'],{'profileName':_0x3e4841['profileName'],'error':_0x1e4af7['fgJAT'](_0x2241ee,Error)?_0x2241ee['message']:_0x1e4af7[_0x3fe15d(0x180)](String,_0x2241ee)});}}const _0x349a9d=[];if(_0x1e4af7['rBRuc'](_0x399593,0x0))_0x349a9d[_0x3fe15d(0x152)](_0x399593+_0x3fe15d(0x14e)+(_0x399593===0x1?'':'s')+_0x3fe15d(0x16b));if(_0x1e4af7['qQnCI'](_0xc18db3,0x0))_0x349a9d[_0x3fe15d(0x152)](_0x3fe15d(0x173)+_0xc18db3+_0x3fe15d(0x187)+(_0xc18db3===0x1?'y':_0x1e4af7[_0x3fe15d(0x172)]));if(_0x48c993>0x0)_0x349a9d['push'](_0x48c993+_0x3fe15d(0x16e));if(_0x267560>0x0)_0x349a9d[_0x3fe15d(0x152)](_0x267560+_0x3fe15d(0x171));if(_0x1e4af7['rBRuc'](_0x349a9d[_0x3fe15d(0x15f)],0x0))console[_0x3fe15d(0x17b)](_0x1e4af7[_0x3fe15d(0x181)](_0x349a9d[_0x3fe15d(0x169)]('.\x20'),'.'));}
1
+ function _0x5c42(_0x3b4041,_0x5b7201){_0x3b4041=_0x3b4041-0xd8;var _0x3ea9bf=_0x3ea9();var _0x5c4221=_0x3ea9bf[_0x3b4041];return _0x5c4221;}(function(_0x4d4a70,_0x1dd338){var _0x4b1b63=_0x5c42,_0x53ccdf=_0x4d4a70();while(!![]){try{var _0x56048f=parseInt(_0x4b1b63(0xd9))/0x1*(parseInt(_0x4b1b63(0xdd))/0x2)+-parseInt(_0x4b1b63(0xde))/0x3*(-parseInt(_0x4b1b63(0xeb))/0x4)+-parseInt(_0x4b1b63(0xdc))/0x5+-parseInt(_0x4b1b63(0xe3))/0x6*(-parseInt(_0x4b1b63(0xdb))/0x7)+parseInt(_0x4b1b63(0xea))/0x8*(parseInt(_0x4b1b63(0xe1))/0x9)+parseInt(_0x4b1b63(0xe2))/0xa*(parseInt(_0x4b1b63(0xd8))/0xb)+-parseInt(_0x4b1b63(0xe0))/0xc;if(_0x56048f===_0x1dd338)break;else _0x53ccdf['push'](_0x53ccdf['shift']());}catch(_0x507a35){_0x53ccdf['push'](_0x53ccdf['shift']());}}}(_0x3ea9,0xc3102));export async function migrateProfile(_0x3809c5,_0x230672){var _0x1c3ce3=_0x5c42,_0x5f59de={'kBmSR':function(_0x195dc1,_0x2c4cd0){return _0x195dc1+_0x2c4cd0;},'CeBvD':function(_0x2cf836,_0x5447be){return _0x2cf836+_0x5447be;},'XawXK':function(_0x156fc1,_0x4c2b5d){return _0x156fc1+_0x4c2b5d;},'hUmRI':function(_0x315aff,_0x964154){return _0x315aff+_0x964154;},'tUcTG':'Re-auth\x20via\x20the\x20new\x20flow:\x0a','qsmeQ':'\x20\x20•\x20username/password:\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--url\x20<url>\x0a','FNlur':_0x1c3ce3(0xda),'PRCBE':'Delete\x20them\x20once\x20you\x20have\x20re-auth-ed.\x0a','jJNwy':'Reference:\x20docs/feature/cloud-profiles-old-vs-new-structure.md'};console['error'](_0x5f59de['kBmSR'](_0x5f59de[_0x1c3ce3(0xe7)](_0x5f59de['XawXK'](_0x5f59de['kBmSR'](_0x5f59de[_0x1c3ce3(0xdf)](_0x5f59de['CeBvD'](_0x5f59de[_0x1c3ce3(0xdf)](_0x5f59de[_0x1c3ce3(0xe9)]('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a'),'Cloud\x20profiles\x20are\x201:1\x20with\x20accounts;\x20legacy\x20profile\x20names\x20'),'aren\x27t\x20account-keyed\x20and\x20session\x20state\x20can\x27t\x20be\x20mapped\x20cleanly.\x0a')+'\x0a'+_0x5f59de[_0x1c3ce3(0xe6)],_0x5f59de[_0x1c3ce3(0xe5)]),_0x5f59de['FNlur']),'\x0a'),_0x1c3ce3(0xec))+_0x5f59de['PRCBE']+'\x0a',_0x5f59de[_0x1c3ce3(0xe8)])),process[_0x1c3ce3(0xe4)](0x1);}function _0x3ea9(){var _0x59b32a=['4gawIdS','3tgxYUi','XawXK','9245700zTKMZF','103941Jlfhkm','2140KhHmIx','779238PsuAjo','exit','qsmeQ','tUcTG','CeBvD','jJNwy','hUmRI','136mxNNmk','3400672RehBuS','Legacy\x20<project>/.ranger/\x20dirs\x20stay\x20readable\x20during\x20the\x20alpha.\x20','43648YbPlrk','16103CRWvIn','\x20\x20•\x20SSO/OAuth:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ranger\x20profile\x20add\x20<account-email>\x0a','49ldjVZw','6337585byrtAq'];_0x3ea9=function(){return _0x59b32a;};return _0x3ea9();}
@@ -1 +1 @@
1
- function _0x1e13(){const _0x3572ab=['48KwzeZg','project','ranger-testing/trailhead','KcEGn','error','NhHFG','AvLvX','28430325RWWAOx','--scope','confirm','aUSIV','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','fXCpz','3247893vSHcCR','install','2503632NYZnOf','87879QuFimn','kSXwB','uSiNa','351232aIvZBV','✓\x20Marketplace\x20already\x20added','SKILL.md','marketplace','TeIal','HTMjC','NQxcq','gxoXq','ejByJ','nDrSc','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','hPmbi','Wosfm','log','7WMAJRJ','ranger','❌\x20Failed\x20to\x20add\x20marketplace:','add','5HtTinm','XDGWG','684461CcSlOx','1407878Yokvyt','prompt','.claude','20idGoOX','heqUg','trailhead','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'];_0x1e13=function(){return _0x3572ab;};return _0x1e13();}(function(_0x5475c4,_0xc520d5){const _0x29ca44=_0x1a76,_0x308098=_0x5475c4();while(!![]){try{const _0x3f155a=-parseInt(_0x29ca44(0x1ce))/0x1+-parseInt(_0x29ca44(0x1cf))/0x2+parseInt(_0x29ca44(0x1e7))/0x3*(parseInt(_0x29ca44(0x1d6))/0x4)+-parseInt(_0x29ca44(0x1fc))/0x5*(parseInt(_0x29ca44(0x1e6))/0x6)+-parseInt(_0x29ca44(0x1f8))/0x7*(-parseInt(_0x29ca44(0x1ea))/0x8)+-parseInt(_0x29ca44(0x1e4))/0x9*(parseInt(_0x29ca44(0x1d2))/0xa)+parseInt(_0x29ca44(0x1dd))/0xb;if(_0x3f155a===_0xc520d5)break;else _0x308098['push'](_0x308098['shift']());}catch(_0x30f852){_0x308098['push'](_0x308098['shift']());}}}(_0x1e13,0x6e7d9));import{join}from'path';import{existsSync}from'fs';import _0x493ddb from'inquirer';function _0x1a76(_0x1baaf7,_0x4ebdd2){_0x1baaf7=_0x1baaf7-0x1cd;const _0x1e13af=_0x1e13();let _0x1a765c=_0x1e13af[_0x1baaf7];return _0x1a765c;}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2ae0ad){const _0x3da89a=_0x1a76,_0x33fdfb={'heqUg':'ranger@trailhead','ksExi':function(_0xc827c7,_0x40f549){return _0xc827c7(_0x40f549);},'NMQFi':function(_0x289aa4,_0x3e371b,_0x1f5bb1){return _0x289aa4(_0x3e371b,_0x1f5bb1);},'ALgPx':_0x3da89a(0x1d1),'Bntrf':'User\x20(available\x20in\x20all\x20your\x20projects)','uSiNa':'user','CzPNL':_0x3da89a(0x1d7),'HTMjC':_0x3da89a(0x1eb),'OyJAo':function(_0x20edc0,_0x2017a8){return _0x20edc0(_0x2017a8);},'aUSIV':_0x3da89a(0x1fb),'Wosfm':_0x3da89a(0x1d8),'ejByJ':'\x0aYou\x20can\x20install\x20manually\x20with:','TeIal':_0x3da89a(0x1d5),'hPmbi':function(_0x2bac0,_0x123ad1){return _0x2bac0(_0x123ad1);},'AvLvX':'plugin','kSXwB':_0x3da89a(0x1f4),'gxoXq':'enable','nDrSc':function(_0x17c63c,_0x3db257,_0x30c30a){return _0x17c63c(_0x3db257,_0x30c30a);},'NQNYA':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x587e3b=await isPluginInstalled(_0x33fdfb[_0x3da89a(0x1d3)]);if(_0x587e3b)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x47db5e=_0x33fdfb['ksExi'](existsSync,_0x33fdfb['NMQFi'](join,getProjectRoot(),_0x33fdfb['ALgPx']));let _0x159ac0;if(_0x2ae0ad)_0x159ac0=_0x2ae0ad;else{if(_0x47db5e)_0x159ac0=_0x3da89a(0x1d7);else{console[_0x3da89a(0x1f7)](_0x3da89a(0x1e1));const _0x1d0fa9=await _0x493ddb[_0x3da89a(0x1d0)]([{'type':'list','name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x33fdfb['Bntrf'],'value':_0x33fdfb['uSiNa']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x33fdfb['CzPNL']}],'default':_0x33fdfb[_0x3da89a(0x1e9)]}]);_0x159ac0=_0x1d0fa9['pluginScope'];}}console[_0x3da89a(0x1f7)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x159ac0+'\x20level)...\x0a');const _0x4a06ac=await isMarketplaceAdded(_0x3da89a(0x1d4));let _0x58bcbc=_0x4a06ac;if(_0x4a06ac)console['log'](_0x33fdfb[_0x3da89a(0x1ef)]);else{const _0x1a4faf=await _0x33fdfb['OyJAo'](runClaudeCommand,['plugin',_0x3da89a(0x1ed),_0x33fdfb[_0x3da89a(0x1e0)],_0x33fdfb[_0x3da89a(0x1f6)]]);!_0x1a4faf['success']?(console[_0x3da89a(0x1da)](_0x3da89a(0x1fa),_0x1a4faf['error']),console[_0x3da89a(0x1f7)](_0x33fdfb['ejByJ']),console[_0x3da89a(0x1f7)](_0x33fdfb[_0x3da89a(0x1ee)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x159ac0)):_0x58bcbc=!![];}if(_0x58bcbc){const _0x3bd9a9=await _0x33fdfb[_0x3da89a(0x1f5)](runClaudeCommand,[_0x33fdfb['AvLvX'],_0x3da89a(0x1e5),'ranger@trailhead',_0x3da89a(0x1de),_0x159ac0]);if(!_0x3bd9a9['success'])console[_0x3da89a(0x1da)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x3bd9a9[_0x3da89a(0x1da)]),console[_0x3da89a(0x1f7)](_0x33fdfb[_0x3da89a(0x1f2)]),console['log'](_0x3da89a(0x1e2)+_0x159ac0);else{console['log'](_0x33fdfb[_0x3da89a(0x1e8)]);const _0x40d66a=[_0x33fdfb[_0x3da89a(0x1dc)],_0x33fdfb[_0x3da89a(0x1f1)],'ranger@trailhead'];_0x159ac0===_0x33fdfb['CzPNL']&&_0x40d66a['push'](_0x3da89a(0x1de),_0x33fdfb['CzPNL']);const _0x477594=await _0x33fdfb[_0x3da89a(0x1f3)](runClaudeCommand,_0x40d66a,{'captureOutput':!![]}),_0x50c988=_0x477594['output']?.['includes']('already\x20enabled');!_0x477594['success']&&!_0x50c988?console['error'](_0x33fdfb['NQNYA'],_0x477594[_0x3da89a(0x1da)]):console[_0x3da89a(0x1f7)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x13f6a2){const _0x256702=_0x1a76,_0x1b99b7={'KcEGn':function(_0x3b510d,_0x1f7ec7){return _0x3b510d(_0x1f7ec7);},'XDGWG':function(_0x4e1ffa,_0x896969,_0x2316a5,_0x252465){return _0x4e1ffa(_0x896969,_0x2316a5,_0x252465);},'NQxcq':_0x256702(0x1f9),'NhHFG':_0x256702(0x1ec),'SKeCI':function(_0x466d7b,_0x1f43f8,_0xe61c2c,_0x4d7db8){return _0x466d7b(_0x1f43f8,_0xe61c2c,_0x4d7db8);},'fXCpz':_0x256702(0x1d7),'AulcR':_0x256702(0x1df)},_0x47d724=_0x1b99b7['KcEGn'](existsSync,_0x1b99b7[_0x256702(0x1cd)](join,getSkillsDir('user'),_0x1b99b7[_0x256702(0x1f0)],_0x1b99b7[_0x256702(0x1db)])),_0x16bed1=existsSync(_0x1b99b7['SKeCI'](join,_0x1b99b7['KcEGn'](getSkillsDir,_0x1b99b7[_0x256702(0x1e3)]),_0x256702(0x1f9),'SKILL.md'));if(_0x47d724||_0x16bed1)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x1af963=existsSync(join(getProjectRoot(),'.claude'));let _0x4bcb02=!![];if(_0x13f6a2)await skillup({'autoInstall':_0x13f6a2,'suppressUsage':!![]});else{if(_0x1af963)await _0x1b99b7[_0x256702(0x1d9)](skillup,{'autoInstall':_0x1b99b7['fXCpz'],'suppressUsage':!![]});else{const _0x5870a7=await _0x493ddb['prompt']([{'type':_0x1b99b7['AulcR'],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x4bcb02=_0x5870a7['wantsSkillup'],_0x4bcb02&&await skillup({'suppressUsage':!![]});}}return _0x4bcb02;}
1
+ function _0x5c3b(){const _0x521c5d=['986648BXOObo','KSrCD','project','WYaCO','beaTg','HkpcM','jDFoT','Would\x20you\x20like\x20to\x20install\x20skills?','794013twgOeR','install','✓\x20Marketplace\x20already\x20added','110HrOEdu','plugin','❌\x20Failed\x20to\x20install\x20plugin:','✓\x20Ranger\x20skills\x20already\x20installed','list','❌\x20Failed\x20to\x20add\x20marketplace:','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','Afcom','fLcfb','gxpsb','output','BdUaT','316zllTCq','ynTis','385184oLyqKO','24DYvEwn','117VUnMxF','9309VOCnZa','ranger-testing/trailhead','confirm','error','685865eZPXHJ','412156gWvKbA','Project\x20(shared\x20with\x20team\x20via\x20git)','fKFnp','includes','already\x20enabled','success','XiTxh','ofcLP','lRufA','log','.claude','JnGFa','775691vcOJIQ'];_0x5c3b=function(){return _0x521c5d;};return _0x5c3b();}(function(_0x505318,_0x582e2d){const _0x1715cf=_0x3928,_0x46b745=_0x505318();while(!![]){try{const _0x2b6b94=parseInt(_0x1715cf(0x18a))/0x1+-parseInt(_0x1715cf(0x169))/0x2+parseInt(_0x1715cf(0x185))/0x3*(-parseInt(_0x1715cf(0x180))/0x4)+parseInt(_0x1715cf(0x189))/0x5+-parseInt(_0x1715cf(0x183))/0x6*(-parseInt(_0x1715cf(0x168))/0x7)+-parseInt(_0x1715cf(0x182))/0x8*(parseInt(_0x1715cf(0x184))/0x9)+-parseInt(_0x1715cf(0x174))/0xa*(-parseInt(_0x1715cf(0x171))/0xb);if(_0x2b6b94===_0x582e2d)break;else _0x46b745['push'](_0x46b745['shift']());}catch(_0x2b73c0){_0x46b745['push'](_0x46b745['shift']());}}}(_0x5c3b,0x67141));import{join}from'path';import{existsSync}from'fs';import _0x402a09 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3928(_0x197cc7,_0x5c2fc9){_0x197cc7=_0x197cc7-0x165;const _0x5c3b3b=_0x5c3b();let _0x3928be=_0x5c3b3b[_0x197cc7];return _0x3928be;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x5e12cc){const _0x3bc244=_0x3928,_0x27da15={'beaTg':'ranger@trailhead','BdUaT':function(_0x59aed6,_0x2da426,_0x709c86){return _0x59aed6(_0x2da426,_0x709c86);},'HpMMJ':'.claude','KSrCD':_0x3bc244(0x178),'JEnHU':'Where\x20should\x20the\x20plugin\x20be\x20installed?','ZFStk':'User\x20(available\x20in\x20all\x20your\x20projects)','bgyQS':'user','cqvqj':function(_0x1d783e,_0x40f809){return _0x1d783e(_0x40f809);},'yaDKt':'trailhead','jDFoT':_0x3bc244(0x173),'ZICJJ':'plugin','fObaH':'marketplace','rMLgP':_0x3bc244(0x179),'XiTxh':'\x0aYou\x20can\x20install\x20manually\x20with:','laOdb':function(_0x4f5cc4,_0x567384,_0x2be295){return _0x4f5cc4(_0x567384,_0x2be295);},'Afcom':_0x3bc244(0x172),'iRHfB':'--scope','ofcLP':_0x3bc244(0x16b),'tWyvN':function(_0x4fa9fd){return _0x4fa9fd();},'UlvnN':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','liQFi':function(_0x21d9b9,_0x51a57c){return _0x21d9b9===_0x51a57c;},'yQKWW':function(_0x1a3f99,_0x4bef61,_0x63236b){return _0x1a3f99(_0x4bef61,_0x63236b);},'bViAO':function(_0x1bf3e2,_0x38c1ad){return _0x1bf3e2===_0x38c1ad;},'UgwYS':'⚠\x20Failed\x20to\x20enable\x20plugin:','lRufA':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x46946f=await isPluginInstalled(_0x27da15[_0x3bc244(0x16d)]);if(_0x46946f)return console[_0x3bc244(0x165)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x19fb78=existsSync(_0x27da15[_0x3bc244(0x17f)](join,getProjectRoot(),_0x27da15['HpMMJ']));let _0x7e2a0e;if(_0x5e12cc)_0x7e2a0e=_0x5e12cc;else{if(_0x19fb78)_0x7e2a0e=_0x3bc244(0x16b);else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x3e51ba=await _0x402a09['prompt']([{'type':_0x27da15[_0x3bc244(0x16a)],'name':'pluginScope','message':_0x27da15['JEnHU'],'choices':[{'name':_0x27da15['ZFStk'],'value':'user'},{'name':_0x3bc244(0x18b),'value':'project'}],'default':_0x27da15['bgyQS']}]);_0x7e2a0e=_0x3e51ba['pluginScope'];}}console[_0x3bc244(0x165)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x7e2a0e+'\x20level)...\x0a');const _0x226939=await _0x27da15['cqvqj'](isMarketplaceAdded,_0x27da15['yaDKt']);let _0x59534d=_0x226939;if(_0x226939)console[_0x3bc244(0x165)](_0x27da15[_0x3bc244(0x16f)]);else{const _0x1679a1=await runClaudeCommand([_0x27da15['ZICJJ'],_0x27da15['fObaH'],'add',_0x3bc244(0x186)]);!_0x1679a1[_0x3bc244(0x18f)]?(console[_0x3bc244(0x188)](_0x27da15['rMLgP'],_0x1679a1[_0x3bc244(0x188)]),console['log'](_0x27da15[_0x3bc244(0x190)]),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x7e2a0e)):_0x59534d=!![];}if(_0x59534d){const _0x22246c=await _0x27da15['laOdb'](runClaudeCommand,['plugin',_0x27da15[_0x3bc244(0x17b)],_0x27da15['beaTg'],_0x27da15['iRHfB'],_0x7e2a0e],{'cwd':_0x7e2a0e===_0x27da15[_0x3bc244(0x191)]?_0x27da15['tWyvN'](getProjectRoot):undefined});if(!_0x22246c['success'])console['error'](_0x3bc244(0x176),_0x22246c['error']),console[_0x3bc244(0x165)](_0x27da15['XiTxh']),console[_0x3bc244(0x165)](_0x3bc244(0x17a)+_0x7e2a0e);else{console['log'](_0x27da15['UlvnN']);const _0x16a917=[_0x3bc244(0x175),'enable','ranger@trailhead'];_0x27da15['liQFi'](_0x7e2a0e,_0x3bc244(0x16b))&&_0x16a917['push'](_0x27da15['iRHfB'],_0x27da15['ofcLP']);const _0x3f07e7=await _0x27da15['yQKWW'](runClaudeCommand,_0x16a917,{'captureOutput':!![],'cwd':_0x27da15['bViAO'](_0x7e2a0e,_0x3bc244(0x16b))?getProjectRoot():undefined}),_0x5913bf=_0x3f07e7[_0x3bc244(0x17e)]?.[_0x3bc244(0x18d)](_0x3bc244(0x18e));!_0x3f07e7['success']&&!_0x5913bf?console['error'](_0x27da15['UgwYS'],_0x3f07e7[_0x3bc244(0x188)]):console[_0x3bc244(0x165)](_0x27da15[_0x3bc244(0x192)]);}}return!![];}export async function ensureClaudeSkills(_0x13025d){const _0x3706d8=_0x3928,_0x2a591c={'JnGFa':function(_0x34bc9a,_0x25abf2){return _0x34bc9a(_0x25abf2);},'ckQlA':function(_0x31a87e,_0x4a83a9,_0x2c2b98,_0x1f5881){return _0x31a87e(_0x4a83a9,_0x2c2b98,_0x1f5881);},'ezIsG':function(_0x18a8da,_0x20109d){return _0x18a8da(_0x20109d);},'WYaCO':'user','HNRmp':'ranger','uqDCZ':function(_0x18a0bb,_0x22f709){return _0x18a0bb(_0x22f709);},'PoHau':function(_0x2d8ff2,_0x4a3c65,_0x278022,_0x37fa67){return _0x2d8ff2(_0x4a3c65,_0x278022,_0x37fa67);},'HkpcM':function(_0x3e05ed,_0x7d253d){return _0x3e05ed(_0x7d253d);},'fLcfb':'project','wMPfp':'SKILL.md','zNmTh':_0x3706d8(0x177),'fKFnp':function(_0x57a1b9,_0x5e3e9d,_0x13abaf){return _0x57a1b9(_0x5e3e9d,_0x13abaf);},'ynTis':function(_0x4f8652){return _0x4f8652();},'kRkXg':_0x3706d8(0x187),'gxpsb':'wantsSkillup','nJEIJ':_0x3706d8(0x170)},_0x31a782=_0x2a591c[_0x3706d8(0x167)](existsSync,_0x2a591c['ckQlA'](join,_0x2a591c['ezIsG'](getSkillsDir,_0x2a591c[_0x3706d8(0x16c)]),_0x2a591c['HNRmp'],'SKILL.md')),_0x59c8d2=_0x2a591c['uqDCZ'](existsSync,_0x2a591c['PoHau'](join,_0x2a591c[_0x3706d8(0x16e)](getSkillsDir,_0x2a591c['fLcfb']),_0x2a591c['HNRmp'],_0x2a591c['wMPfp']));if(_0x31a782||_0x59c8d2)return console[_0x3706d8(0x165)](_0x2a591c['zNmTh']),![];const _0x2fe12b=existsSync(_0x2a591c[_0x3706d8(0x18c)](join,_0x2a591c[_0x3706d8(0x181)](getProjectRoot),_0x3706d8(0x166)));let _0x55552a=!![];if(_0x13025d)await _0x2a591c[_0x3706d8(0x16e)](skillup,{'autoInstall':_0x13025d,'suppressUsage':!![]});else{if(_0x2fe12b)await skillup({'autoInstall':_0x2a591c[_0x3706d8(0x17c)],'suppressUsage':!![]});else{const _0x418020=await _0x402a09['prompt']([{'type':_0x2a591c['kRkXg'],'name':_0x2a591c[_0x3706d8(0x17d)],'message':_0x2a591c['nJEIJ'],'default':!![]}]);_0x55552a=_0x418020['wantsSkillup'],_0x55552a&&await skillup({'suppressUsage':!![]});}}return _0x55552a;}
@@ -1 +1 @@
1
- (function(_0x4bacaf,_0x5df4d1){const _0x39a1c9=_0x3921,_0x85d465=_0x4bacaf();while(!![]){try{const _0x42b2d4=-parseInt(_0x39a1c9(0x1e9))/0x1+-parseInt(_0x39a1c9(0x1d1))/0x2*(-parseInt(_0x39a1c9(0x1d8))/0x3)+parseInt(_0x39a1c9(0x1e1))/0x4*(parseInt(_0x39a1c9(0x1d9))/0x5)+-parseInt(_0x39a1c9(0x1df))/0x6+-parseInt(_0x39a1c9(0x1e5))/0x7+parseInt(_0x39a1c9(0x1d0))/0x8*(parseInt(_0x39a1c9(0x1db))/0x9)+parseInt(_0x39a1c9(0x1e3))/0xa;if(_0x42b2d4===_0x5df4d1)break;else _0x85d465['push'](_0x85d465['shift']());}catch(_0x2080cf){_0x85d465['push'](_0x85d465['shift']());}}}(_0x1a16,0xafc9e));function _0x3921(_0x5ce049,_0x40e635){_0x5ce049=_0x5ce049-0x1cf;const _0x1a1696=_0x1a16();let _0x3921c8=_0x1a1696[_0x5ce049];return _0x3921c8;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x3752b6 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x20ad2){const _0x2d12d1=_0x3921,_0x23b04f={'TxLdK':function(_0x3f63bd,_0x1ffb9b){return _0x3f63bd(_0x1ffb9b);},'GaEuc':function(_0x489ba0,_0x1c5197,_0x230c93){return _0x489ba0(_0x1c5197,_0x230c93);},'AtWge':_0x2d12d1(0x1ea),'bNBQr':'\x0a📦\x20OpenCode\x20Plugin\x0a','dgHyH':_0x2d12d1(0x1dc),'MIKIc':'Where\x20should\x20the\x20plugin\x20be\x20installed?','LImJQ':_0x2d12d1(0x1ec),'CxkEm':function(_0x2252bb,_0x12a073){return _0x2252bb(_0x12a073);},'IchRO':'https://opencode.ai/config.json','fDigz':'✓\x20OpenCode\x20plugin\x20already\x20configured','YUufr':function(_0x11b8b8,_0x1f6dac){return _0x11b8b8+_0x1f6dac;},'ExmKN':_0x2d12d1(0x1d4)},_0x4046b2=_0x23b04f[_0x2d12d1(0x1dd)](existsSync,_0x23b04f[_0x2d12d1(0x1cf)](join,_0x23b04f[_0x2d12d1(0x1dd)](getOpencodeConfigDir,_0x23b04f['AtWge']),'opencode.json'));let _0x3292ea;if(_0x20ad2)_0x3292ea=_0x20ad2;else{if(_0x4046b2)_0x3292ea=_0x23b04f[_0x2d12d1(0x1e4)];else{console['log'](_0x23b04f[_0x2d12d1(0x1e2)]);const _0x2aa85d=await _0x3752b6['prompt']([{'type':'list','name':_0x23b04f['dgHyH'],'message':_0x23b04f[_0x2d12d1(0x1de)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x23b04f[_0x2d12d1(0x1e4)]}],'default':_0x23b04f['LImJQ']}]);_0x3292ea=_0x2aa85d[_0x2d12d1(0x1dc)];}}const _0x239609=join(_0x23b04f['CxkEm'](getOpencodeConfigDir,_0x3292ea),_0x2d12d1(0x1d5)),_0x51f7f0=_0x2d12d1(0x1e8),_0x2ce99f=_0x23b04f[_0x2d12d1(0x1ed)];let _0x13258d={};if(_0x23b04f[_0x2d12d1(0x1e0)](existsSync,_0x239609))try{const _0x402bc0=await readFile(_0x239609,'utf-8');_0x13258d=JSON['parse'](_0x402bc0);}catch(_0xddbde5){return console[_0x2d12d1(0x1d2)](_0x2d12d1(0x1e7)),{'configured':![],'scope':_0x3292ea,'error':'Failed\x20to\x20read\x20opencode.json','details':_0xddbde5};}const _0x5e15a1=Array['isArray'](_0x13258d['plugin'])?_0x13258d['plugin']:[];if(_0x5e15a1['includes'](_0x51f7f0))return console[_0x2d12d1(0x1da)](_0x23b04f[_0x2d12d1(0x1d7)]),{'configured':![],'scope':_0x3292ea};return _0x13258d['$schema']=_0x13258d[_0x2d12d1(0x1d6)]||_0x2ce99f,_0x13258d[_0x2d12d1(0x1e6)]=[..._0x5e15a1,_0x51f7f0],await _0x23b04f[_0x2d12d1(0x1cf)](mkdir,getOpencodeConfigDir(_0x3292ea),{'recursive':!![]}),await writeFile(_0x239609,_0x23b04f[_0x2d12d1(0x1eb)](JSON[_0x2d12d1(0x1d3)](_0x13258d,null,0x2),'\x0a')),console[_0x2d12d1(0x1da)](_0x23b04f['ExmKN']),{'configured':!![],'scope':_0x3292ea};}function _0x1a16(){const _0x5847ba=['CxkEm','4sdCYep','bNBQr','1624040PepCqb','AtWge','6983844KdbjDp','plugin','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','@ranger-testing/opencode-plugin','641694EZjgGN','project','YUufr','user','IchRO','GaEuc','395288IzWjMW','4RoStsX','error','stringify','✓\x20OpenCode\x20plugin\x20configured','opencode.json','$schema','fDigz','1883691iKPeee','5232095JAUnqm','log','99EwXgnt','pluginScope','TxLdK','MIKIc','3892332BjkUrb'];_0x1a16=function(){return _0x5847ba;};return _0x1a16();}
1
+ (function(_0x3322c9,_0x445d4e){const _0x345bb0=_0x164a,_0x22a138=_0x3322c9();while(!![]){try{const _0xe1ed38=-parseInt(_0x345bb0(0xf1))/0x1+parseInt(_0x345bb0(0xde))/0x2+parseInt(_0x345bb0(0xef))/0x3+parseInt(_0x345bb0(0xe2))/0x4+-parseInt(_0x345bb0(0xda))/0x5*(-parseInt(_0x345bb0(0xec))/0x6)+parseInt(_0x345bb0(0xf7))/0x7+parseInt(_0x345bb0(0xe0))/0x8*(-parseInt(_0x345bb0(0xf3))/0x9);if(_0xe1ed38===_0x445d4e)break;else _0x22a138['push'](_0x22a138['shift']());}catch(_0x3eaef7){_0x22a138['push'](_0x22a138['shift']());}}}(_0x3eaf,0x772db));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x3eaf(){const _0x13e5b3=['error','162102PMlSBs','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','248eQgTrB','✓\x20OpenCode\x20plugin\x20configured','2389756FutoWK','Jmxyr','parse','Where\x20should\x20the\x20plugin\x20be\x20installed?','@ranger-testing/opencode-plugin','user','QuCzP','$schema','utgRV','utf-8','6zbSDwI','plugin','WQVPh','1618389hOEXHE','kWEgo','303178nwHOSy','opencode.json','397179sWJDuf','DkpTh','ktIyh','prompt','4109385ikgGDy','log','1771930YImfaM','stringify','HurPU'];_0x3eaf=function(){return _0x13e5b3;};return _0x3eaf();}function _0x164a(_0x673f41,_0x22a196){_0x673f41=_0x673f41-0xda;const _0x3eafe3=_0x3eaf();let _0x164ab5=_0x3eafe3[_0x673f41];return _0x164ab5;}import _0x3e36d9 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x15e285){const _0x32b419=_0x164a,_0x2a20bd={'kWEgo':function(_0x4bce46,_0x3a0b62,_0x47e55a){return _0x4bce46(_0x3a0b62,_0x47e55a);},'Jmxyr':function(_0x29d869,_0x3d10dc){return _0x29d869(_0x3d10dc);},'HurPU':'project','dZhwa':'\x0a📦\x20OpenCode\x20Plugin\x0a','YJKGl':'pluginScope','ouRmU':_0x32b419(0xe5),'WQVPh':'Project\x20(shared\x20with\x20team\x20via\x20git)','QuCzP':_0x32b419(0xe7),'utgRV':'opencode.json','ktIyh':'Failed\x20to\x20read\x20opencode.json','SUUQH':'✓\x20OpenCode\x20plugin\x20already\x20configured','DkpTh':function(_0x5dee17,_0x311368,_0x222284){return _0x5dee17(_0x311368,_0x222284);},'KrDgK':_0x32b419(0xe1)},_0xa26772=existsSync(_0x2a20bd[_0x32b419(0xf0)](join,_0x2a20bd[_0x32b419(0xe3)](getOpencodeConfigDir,_0x2a20bd[_0x32b419(0xdc)]),_0x32b419(0xf2)));let _0x32b60c;if(_0x15e285)_0x32b60c=_0x15e285;else{if(_0xa26772)_0x32b60c=_0x2a20bd['HurPU'];else{console[_0x32b419(0xf8)](_0x2a20bd['dZhwa']);const _0x4e6743=await _0x3e36d9[_0x32b419(0xf6)]([{'type':'list','name':_0x2a20bd['YJKGl'],'message':_0x2a20bd['ouRmU'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x32b419(0xe7)},{'name':_0x2a20bd[_0x32b419(0xee)],'value':'project'}],'default':_0x2a20bd[_0x32b419(0xe8)]}]);_0x32b60c=_0x4e6743['pluginScope'];}}const _0x8cab46=_0x2a20bd['kWEgo'](join,_0x2a20bd['Jmxyr'](getOpencodeConfigDir,_0x32b60c),_0x2a20bd[_0x32b419(0xea)]),_0x26f909=_0x32b419(0xe6),_0x3d33ff='https://opencode.ai/config.json';let _0x33b39d={};if(_0x2a20bd['Jmxyr'](existsSync,_0x8cab46))try{const _0x1cdc68=await readFile(_0x8cab46,_0x32b419(0xeb));_0x33b39d=JSON[_0x32b419(0xe4)](_0x1cdc68);}catch(_0x12d3f8){return console[_0x32b419(0xdd)](_0x32b419(0xdf)),{'configured':![],'scope':_0x32b60c,'error':_0x2a20bd[_0x32b419(0xf5)],'details':_0x12d3f8};}const _0x12b36f=Array['isArray'](_0x33b39d[_0x32b419(0xed)])?_0x33b39d[_0x32b419(0xed)]:[];if(_0x12b36f['includes'](_0x26f909))return console[_0x32b419(0xf8)](_0x2a20bd['SUUQH']),{'configured':![],'scope':_0x32b60c};return _0x33b39d[_0x32b419(0xe9)]=_0x33b39d['$schema']||_0x3d33ff,_0x33b39d['plugin']=[..._0x12b36f,_0x26f909],await _0x2a20bd[_0x32b419(0xf4)](mkdir,_0x2a20bd[_0x32b419(0xe3)](getOpencodeConfigDir,_0x32b60c),{'recursive':!![]}),await writeFile(_0x8cab46,JSON[_0x32b419(0xdb)](_0x33b39d,null,0x2)+'\x0a'),console[_0x32b419(0xf8)](_0x2a20bd['KrDgK']),{'configured':!![],'scope':_0x32b60c};}
@@ -1 +1 @@
1
- function _0x5d46(){const _0x266669=['You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','project','name','VGUAT','auth','GuusU','dir_setup','Failed\x20to\x20install\x20plugin:','ranger-testing/trailhead','1545752EomiPM','9zvxPkd','PyNkZ','log','OeShw','✓\x20Active\x20profile:\x20','AZJct','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','path','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','9457vBESXg','UQyXD','--scope','xlhkY','QhOSq','1194XbXkeJ','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','rSpJL','yyHPY','error','OpVhf','FYGMe','Failed\x20to\x20add\x20marketplace:','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','idTFC','561937sNBIiI','SSODK','profile_activate','filter','\x22:\x20','✓\x20Created\x20profile\x20settings:\x20baseUrl=','pniiV','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','trackPhaseEnd','4205410ecAGaZ','rQobz','XcFco','join','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','81471AizoiS','chromium','success','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','1919580lPKdhp','xHYIY','trackPhaseStart','kwKFl','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','10569824trfAsK','skipChromium','baseUrl'];_0x5d46=function(){return _0x266669;};return _0x5d46();}(function(_0x2db84e,_0x334f95){const _0x385d17=_0x1441,_0x34a916=_0x2db84e();while(!![]){try{const _0xebfba2=-parseInt(_0x385d17(0x1c2))/0x1+-parseInt(_0x385d17(0x1a9))/0x2+-parseInt(_0x385d17(0x1d0))/0x3+-parseInt(_0x385d17(0x1d4))/0x4+parseInt(_0x385d17(0x1cb))/0x5+parseInt(_0x385d17(0x1b8))/0x6*(parseInt(_0x385d17(0x1b3))/0x7)+parseInt(_0x385d17(0x1d9))/0x8*(parseInt(_0x385d17(0x1aa))/0x9);if(_0xebfba2===_0x334f95)break;else _0x34a916['push'](_0x34a916['shift']());}catch(_0x266069){_0x34a916['push'](_0x34a916['shift']());}}}(_0x5d46,0x8fdee));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 _0x1441(_0x19a6cc,_0x3d2e97){_0x19a6cc=_0x19a6cc-0x1a9;const _0x5d46a8=_0x5d46();let _0x144181=_0x5d46a8[_0x19a6cc];return _0x144181;}async function findCiProfile(_0x595ce3){const _0x3b42f5=_0x1441,_0x2305f1={'jeFTu':function(_0xee078,_0x9e8ee9,_0x46f2b9){return _0xee078(_0x9e8ee9,_0x46f2b9);},'EKKCk':function(_0x5d572c,_0x38013e){return _0x5d572c(_0x38013e);},'GuusU':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','adwhZ':function(_0x175595,_0xd4eb5f){return _0x175595===_0xd4eb5f;},'yyHPY':function(_0x5b6989,_0x43485){return _0x5b6989+_0x43485;},'OeShw':_0x3b42f5(0x1b0),'XcFco':function(_0x4da0c2,_0x16a517){return _0x4da0c2===_0x16a517;}},_0x1596dc=getRangerDir(),_0x32c265=_0x2305f1['jeFTu'](join,_0x1596dc,'ci');if(_0x595ce3){const _0x511cfe=join(_0x32c265,_0x595ce3);return{'name':_0x595ce3,'path':_0x511cfe};}if(!_0x2305f1['EKKCk'](existsSync,_0x32c265))throw new Error(_0x2305f1[_0x3b42f5(0x1e1)]+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');const _0x37933b=await _0x2305f1['jeFTu'](readdir,_0x32c265,{'withFileTypes':!![]}),_0x38e7ff=_0x37933b[_0x3b42f5(0x1c5)](_0x4692e5=>_0x4692e5['isDirectory']())['map'](_0x46d7b1=>_0x46d7b1[_0x3b42f5(0x1de)]);if(_0x2305f1['adwhZ'](_0x38e7ff['length'],0x0))throw new Error(_0x2305f1[_0x3b42f5(0x1bb)]('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x2305f1[_0x3b42f5(0x1ad)]));if(_0x2305f1[_0x3b42f5(0x1cd)](_0x38e7ff['length'],0x1)){const _0x135e6e=_0x38e7ff[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x135e6e),{'name':_0x135e6e,'path':join(_0x32c265,_0x135e6e)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x38e7ff[_0x3b42f5(0x1ce)](',\x20')+_0x3b42f5(0x1b2));}async function installPluginNonInteractive(){const _0x1c92e6=_0x1441,_0x36696b={'eRSsa':function(_0x21d99c,_0x3b8335){return _0x21d99c(_0x3b8335);},'dMlmG':_0x1c92e6(0x1c0),'PyNkZ':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','spVFd':'trailhead','idTFC':'✓\x20Marketplace\x20already\x20added','CzcKQ':'marketplace','hNUZF':_0x1c92e6(0x1e4),'Vnebr':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','PIxBG':function(_0x531e7b,_0x549378){return _0x531e7b(_0x549378);},'AZJct':'plugin','kwKFl':'install','tYRFE':_0x1c92e6(0x1e3),'NUSnT':_0x1c92e6(0x1dc)},_0x372853=await _0x36696b['eRSsa'](isPluginInstalled,'ranger@trailhead');if(_0x372853)return console[_0x1c92e6(0x1ac)](_0x36696b['dMlmG']),![];console[_0x1c92e6(0x1ac)](_0x36696b[_0x1c92e6(0x1ab)]);const _0x93f4bd=await isMarketplaceAdded(_0x36696b['spVFd']);let _0x775041=_0x93f4bd;if(_0x93f4bd)console[_0x1c92e6(0x1ac)](_0x36696b[_0x1c92e6(0x1c1)]);else{const _0x24c40a=await runClaudeCommand(['plugin',_0x36696b['CzcKQ'],'add',_0x36696b['hNUZF']]);!_0x24c40a[_0x1c92e6(0x1d2)]?(console['error'](_0x1c92e6(0x1bf),_0x24c40a[_0x1c92e6(0x1bc)]),console['log'](_0x36696b['Vnebr'])):_0x775041=!![];}if(_0x775041){const _0x46e260=await _0x36696b['PIxBG'](runClaudeCommand,[_0x36696b[_0x1c92e6(0x1af)],_0x36696b[_0x1c92e6(0x1d7)],'ranger@trailhead',_0x1c92e6(0x1b5),_0x1c92e6(0x1dd)]);!_0x46e260['success']?(console['error'](_0x36696b['tYRFE'],_0x46e260[_0x1c92e6(0x1bc)]),console['log'](_0x36696b['NUSnT'])):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0x5dee6d,_0x3462c4,_0x3dad9e){const _0x197b83=_0x1441,_0xacd56b={'rQobz':function(_0x434ee4){return _0x434ee4();},'pniiV':function(_0x141b4a,_0x4b79a6){return _0x141b4a(_0x4b79a6);},'UQyXD':function(_0x4aec5d,_0x1e7ace,_0x368f54){return _0x4aec5d(_0x1e7ace,_0x368f54);},'qJHet':_0x197b83(0x1e2),'VGUAT':_0x197b83(0x1b9),'rSpJL':function(_0xac7a3e){return _0xac7a3e();},'FYYpN':_0x197b83(0x1d1),'SSODK':_0x197b83(0x1c4),'KPCaM':'settings.json','xlhkY':'auth.json','OpVhf':function(_0x2e5cf4,_0x555684){return _0x2e5cf4(_0x555684);},'QhOSq':function(_0x3cffff,_0x478fd9){return _0x3cffff(_0x478fd9);},'ERyDd':_0x197b83(0x1c9),'xHYIY':function(_0x1afe95,_0x2e27fd){return _0x1afe95 instanceof _0x2e27fd;},'qWZkA':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','FYGMe':'skills'};console['log'](_0x197b83(0x1cf)),_0x3dad9e?.[_0x197b83(0x1d6)](_0x197b83(0x1e0)),await authenticate(_0x5dee6d),_0x3dad9e?.['trackPhaseEnd']('auth'),_0x3dad9e?.[_0x197b83(0x1d6)]('dir_setup');const {path:_0x1c5278,installed:_0xe2d708}=await _0xacd56b[_0x197b83(0x1cc)](ensureRangerDir);await writeRangerGitignore(_0x1c5278);const _0x338ddd=join(_0x1c5278,'sessions');!_0xacd56b['pniiV'](existsSync,_0x338ddd)&&await _0xacd56b['UQyXD'](mkdir,_0x338ddd,{'recursive':!![]});_0x3dad9e?.['trackPhaseEnd'](_0xacd56b['qJHet'],{'installed':_0xe2d708}),_0x3dad9e?.['trackPhaseStart'](_0x197b83(0x1d1));let _0x42b393=![];_0x3462c4?.['skipChromium']?console['log'](_0xacd56b[_0x197b83(0x1df)]):_0x42b393=await _0xacd56b[_0x197b83(0x1ba)](ensureChromium);_0x3dad9e?.['trackPhaseEnd'](_0xacd56b['FYYpN'],{'installed':_0x42b393,'skipped':!!_0x3462c4?.[_0x197b83(0x1da)]}),_0x3dad9e?.[_0x197b83(0x1d6)](_0xacd56b[_0x197b83(0x1c3)]);const _0x2bac1f=await findCiProfile(_0x3462c4?.['profile']);let _0x3ff09e=![];_0x3462c4?.[_0x197b83(0x1db)]&&(await mkdir(_0x2bac1f[_0x197b83(0x1b1)],{'recursive':!![]}),await saveSettings(_0x2bac1f['name'],{'baseUrl':_0x3462c4[_0x197b83(0x1db)],'headless':!![]}),console['log'](_0x197b83(0x1c7)+_0x3462c4['baseUrl']),_0x3ff09e=!![]);const _0xcf3678=_0xacd56b[_0x197b83(0x1b4)](join,_0x2bac1f[_0x197b83(0x1b1)],_0xacd56b['KPCaM']);if(!_0xacd56b[_0x197b83(0x1c8)](existsSync,_0xcf3678)&&!_0x3ff09e)throw new Error('CI\x20profile\x20\x22'+_0x2bac1f['name']+_0x197b83(0x1d8));const _0x4de52a=join(_0x2bac1f[_0x197b83(0x1b1)],_0xacd56b[_0x197b83(0x1b6)]),_0x5cee8d=_0xacd56b[_0x197b83(0x1b4)](join,_0x2bac1f[_0x197b83(0x1b1)],'auth.json.enc'),_0x3198ec=_0xacd56b[_0x197b83(0x1bd)](existsSync,_0x4de52a),_0x231991=existsSync(_0x5cee8d);if(_0x231991)try{const _0x14c8ea=await _0xacd56b[_0x197b83(0x1cc)](getToken);if(!_0x14c8ea)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x115ee7=await _0xacd56b['QhOSq'](readFile,_0x5cee8d);decrypt(_0x115ee7,_0x14c8ea),console['log'](_0xacd56b['ERyDd']);}catch(_0x2e1971){const _0x12a0e2=_0xacd56b[_0x197b83(0x1d5)](_0x2e1971,Error)?_0x2e1971['message']:_0xacd56b[_0x197b83(0x1b7)](String,_0x2e1971);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x2bac1f['name']+_0x197b83(0x1c6)+_0x12a0e2);}else _0x3198ec?console['log']('✓\x20Auth\x20state\x20found'):console['log'](_0xacd56b['qWZkA']);await writeActiveProfileName(_0x2bac1f[_0x197b83(0x1de)]),console[_0x197b83(0x1ac)](_0x197b83(0x1ae)+_0x2bac1f['name']),_0x3dad9e?.['trackPhaseEnd'](_0xacd56b['SSODK'],{'profileName':_0x2bac1f[_0x197b83(0x1de)],'hasAuth':_0x3198ec,'hasEncryptedAuth':_0x231991,'createdSettings':_0x3ff09e}),_0x3dad9e?.['trackPhaseStart']('plugin');const _0x4ca5b6=await _0xacd56b[_0x197b83(0x1cc)](installPluginNonInteractive);_0x3dad9e?.[_0x197b83(0x1ca)]('plugin',{'installed':_0x4ca5b6}),_0x3dad9e?.['trackPhaseStart'](_0xacd56b[_0x197b83(0x1be)]),await skillup({'autoInstall':_0x197b83(0x1dd)}),_0x3dad9e?.[_0x197b83(0x1ca)]('skills'),console[_0x197b83(0x1ac)](_0x197b83(0x1d3));}
1
+ (function(_0x5d2cdd,_0x155496){var _0x39cc00=_0x5310,_0xb2660a=_0x5d2cdd();while(!![]){try{var _0x29be24=-parseInt(_0x39cc00(0x6d))/0x1*(-parseInt(_0x39cc00(0x6a))/0x2)+-parseInt(_0x39cc00(0x70))/0x3+-parseInt(_0x39cc00(0x71))/0x4+-parseInt(_0x39cc00(0x77))/0x5+parseInt(_0x39cc00(0x79))/0x6*(-parseInt(_0x39cc00(0x6f))/0x7)+parseInt(_0x39cc00(0x76))/0x8+parseInt(_0x39cc00(0x69))/0x9*(parseInt(_0x39cc00(0x7a))/0xa);if(_0x29be24===_0x155496)break;else _0xb2660a['push'](_0xb2660a['shift']());}catch(_0x1a813c){_0xb2660a['push'](_0xb2660a['shift']());}}}(_0x4d3f,0xb2f13));function _0x5310(_0x326f81,_0x39cb11){_0x326f81=_0x326f81-0x68;var _0x4d3fe4=_0x4d3f();var _0x531001=_0x4d3fe4[_0x326f81];return _0x531001;}export async function setupCi(_0x19b251,_0x502451,_0x5c4425){var _0x316777=_0x5310,_0x3c16d7={'XNCbm':function(_0x36385e,_0x44067e){return _0x36385e+_0x44067e;},'TWJyl':function(_0x2f0ab8,_0x2b7393){return _0x2f0ab8+_0x2b7393;},'UUFkZ':function(_0x1be881,_0x12f4bb){return _0x1be881+_0x12f4bb;},'OGmjs':_0x316777(0x6b),'Tccss':_0x316777(0x75),'BNEJI':'\x20\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--base-url\x20<url>\x0a','cIzHD':_0x316777(0x6c)};console[_0x316777(0x73)](_0x3c16d7[_0x316777(0x74)](_0x3c16d7[_0x316777(0x68)](_0x3c16d7['UUFkZ'](_0x3c16d7['OGmjs'],_0x3c16d7[_0x316777(0x6e)]),_0x3c16d7['BNEJI'])+_0x3c16d7['cIzHD'],_0x316777(0x72))),process[_0x316777(0x78)](0x1);}function _0x4d3f(){var _0x59aec5=['3307297TqklwI','4101456OrChpB','2591852FeAjRj','See:\x20docs/feature/cloud-profiles-old-vs-new-structure.md','error','XNCbm','Use\x20the\x20new\x20flow:\x0a','3324032EawMiI','1717370dcAhRp','exit','6WcXyqg','60IpJQBH','TWJyl','4376349wIaNPl','42pAGodM','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','For\x20a\x20shared\x20cloud\x20profile:\x20ranger\x20profile\x20add\x20<account-email>\x0a','10997hErJTg','Tccss'];_0x4d3f=function(){return _0x59aec5;};return _0x4d3f();}