@ranger-testing/ranger-cli 2.5.4-alpha.f6504c0-8 → 2.5.4-alpha.feb9faf-20

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 (82) hide show
  1. package/README.md +36 -14
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -0
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/opencodeConfig.js +1 -1
  58. package/build/commands/utils/playwrightCli.js +1 -1
  59. package/build/commands/utils/profileMessages.js +1 -1
  60. package/build/commands/utils/profileSetupBanner.js +1 -1
  61. package/build/commands/utils/projectsConfig.js +1 -1
  62. package/build/commands/utils/rangerConfig.js +1 -1
  63. package/build/commands/utils/rangerRoot.js +1 -1
  64. package/build/commands/utils/resolveProfileContext.js +1 -1
  65. package/build/commands/utils/resolveProfileUrl.js +1 -1
  66. package/build/commands/utils/retry.js +1 -1
  67. package/build/commands/utils/sessionCache.js +1 -1
  68. package/build/commands/utils/settings.js +1 -1
  69. package/build/commands/utils/skillContent.js +1 -1
  70. package/build/commands/utils/skills.js +1 -1
  71. package/build/commands/utils/stitchWebmFiles.js +1 -1
  72. package/build/commands/utils/telemetry.js +1 -1
  73. package/build/commands/utils/tokenRefresh.js +1 -1
  74. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  75. package/build/commands/utils/userApi.js +1 -1
  76. package/build/commands/utils/version.js +1 -1
  77. package/build/commands/verifyFeature.js +1 -1
  78. package/build/commands/verifyFeatureCli.js +1 -1
  79. package/build/skills/ranger/SKILL.md +24 -8
  80. package/build/skills/ranger/create.md +16 -3
  81. package/build/skills/ranger/verify.md +35 -10
  82. package/package.json +3 -2
@@ -1 +1 @@
1
- (function(_0x59397b,_0xa071d3){const _0x2d7c90=_0xbe3e,_0x37e130=_0x59397b();while(!![]){try{const _0x43495e=-parseInt(_0x2d7c90(0x1d3))/0x1+-parseInt(_0x2d7c90(0x1db))/0x2+-parseInt(_0x2d7c90(0x1dc))/0x3*(parseInt(_0x2d7c90(0x1d7))/0x4)+-parseInt(_0x2d7c90(0x1cf))/0x5*(parseInt(_0x2d7c90(0x1d4))/0x6)+-parseInt(_0x2d7c90(0x1d0))/0x7*(parseInt(_0x2d7c90(0x1de))/0x8)+parseInt(_0x2d7c90(0x1dd))/0x9+parseInt(_0x2d7c90(0x1da))/0xa*(parseInt(_0x2d7c90(0x1d6))/0xb);if(_0x43495e===_0xa071d3)break;else _0x37e130['push'](_0x37e130['shift']());}catch(_0x55a554){_0x37e130['push'](_0x37e130['shift']());}}}(_0x3f9d,0x739f2));function _0x3f9d(){const _0x422ba1=['CjEla','13885MXGymY','7KiJrhE','error','exit','66572PlnGAf','342XbrjMz','once','5229565vWybMB','4AKeUaL','Valid\x20hooks:\x20','SIGINT','20FntsnO','635972MOMUeC','25893skkwcp','5068251hOcImF','3911240pSzWfR'];_0x3f9d=function(){return _0x422ba1;};return _0x3f9d();}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0xbe3e(_0x3ea7dd,_0x30d1bd){_0x3ea7dd=_0x3ea7dd-0x1ce;const _0x3f9db5=_0x3f9d();let _0xbe3edd=_0x3f9db5[_0x3ea7dd];return _0xbe3edd;}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x1bd38b=_0xbe3e,_0x3913a9={'CjEla':'SIGTERM'};if(cancellationHandlersInstalled)return;const _0x101c4c=()=>{process['exit'](0x0);};process[_0x1bd38b(0x1d5)](_0x1bd38b(0x1d9),_0x101c4c),process[_0x1bd38b(0x1d5)](_0x3913a9[_0x1bd38b(0x1ce)],_0x101c4c),process[_0x1bd38b(0x1d5)]('SIGHUP',_0x101c4c),cancellationHandlersInstalled=!![];}export async function hook(_0x59d5d5,_0x427794){const _0x52125b=_0xbe3e;installCancellationHandlers();const _0x5156d7=HOOKS[_0x59d5d5];if(!_0x5156d7){const _0x2a1f96=Object['keys'](HOOKS)['join'](',\x20');console[_0x52125b(0x1d1)]('Unknown\x20hook:\x20'+_0x59d5d5),console['error'](_0x52125b(0x1d8)+_0x2a1f96),process[_0x52125b(0x1d2)](0x1);}await _0x5156d7(_0x427794);}
1
+ (function(_0x277dfb,_0x411e6c){const _0x4a664b=_0x293c,_0x4e091d=_0x277dfb();while(!![]){try{const _0x1dce23=-parseInt(_0x4a664b(0x8d))/0x1*(parseInt(_0x4a664b(0x88))/0x2)+-parseInt(_0x4a664b(0x8b))/0x3+-parseInt(_0x4a664b(0x87))/0x4*(parseInt(_0x4a664b(0x89))/0x5)+-parseInt(_0x4a664b(0x7b))/0x6*(-parseInt(_0x4a664b(0x84))/0x7)+parseInt(_0x4a664b(0x82))/0x8*(parseInt(_0x4a664b(0x80))/0x9)+-parseInt(_0x4a664b(0x81))/0xa*(parseInt(_0x4a664b(0x7e))/0xb)+-parseInt(_0x4a664b(0x8c))/0xc;if(_0x1dce23===_0x411e6c)break;else _0x4e091d['push'](_0x4e091d['shift']());}catch(_0x267860){_0x4e091d['push'](_0x4e091d['shift']());}}}(_0x84f6,0x9174f));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x293c(_0x59ebb2,_0x210d20){_0x59ebb2=_0x59ebb2-0x7a;const _0x84f680=_0x84f6();let _0x293c8a=_0x84f680[_0x59ebb2];return _0x293c8a;}const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x84f6(){const _0x5190ce=['17882YKfoqS','SIGINT','10518eiQRZs','once','error','22nPrwHA','exit','27zYyxuu','2082340Pknomt','1538008iHqdEK','keys','4193xyDjhe','Valid\x20hooks:\x20','SIGTERM','4wcYMGv','8IPffac','714335KAfxTF','join','240984dLKSie','3837816RrrrMs'];_0x84f6=function(){return _0x5190ce;};return _0x84f6();}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x4c216c=_0x293c,_0x327317={'XNDbs':'SIGHUP'};if(cancellationHandlersInstalled)return;const _0x4d674b=()=>{const _0x2276d4=_0x293c;process[_0x2276d4(0x7f)](0x0);};process[_0x4c216c(0x7c)](_0x4c216c(0x7a),_0x4d674b),process[_0x4c216c(0x7c)](_0x4c216c(0x86),_0x4d674b),process[_0x4c216c(0x7c)](_0x327317['XNDbs'],_0x4d674b),cancellationHandlersInstalled=!![];}export async function hook(_0x37f6f6,_0x33f6e4){const _0x3966d9=_0x293c,_0x46c4c7={'nnCUv':function(_0xf1c9e3){return _0xf1c9e3();}};_0x46c4c7['nnCUv'](installCancellationHandlers);const _0x373f81=HOOKS[_0x37f6f6];if(!_0x373f81){const _0xae750c=Object[_0x3966d9(0x83)](HOOKS)[_0x3966d9(0x8a)](',\x20');console[_0x3966d9(0x7d)]('Unknown\x20hook:\x20'+_0x37f6f6),console[_0x3966d9(0x7d)](_0x3966d9(0x85)+_0xae750c),process[_0x3966d9(0x7f)](0x1);}await _0x373f81(_0x33f6e4);}
@@ -1 +1 @@
1
- const _0x5a86f9=_0x1988;(function(_0x3c1b0c,_0x2f79aa){const _0x6792d4=_0x1988,_0xf2047=_0x3c1b0c();while(!![]){try{const _0x44a3e7=-parseInt(_0x6792d4(0x1dc))/0x1+parseInt(_0x6792d4(0x1d6))/0x2*(parseInt(_0x6792d4(0x1d3))/0x3)+parseInt(_0x6792d4(0x1d2))/0x4*(-parseInt(_0x6792d4(0x1de))/0x5)+parseInt(_0x6792d4(0x1da))/0x6*(-parseInt(_0x6792d4(0x1dd))/0x7)+-parseInt(_0x6792d4(0x1d5))/0x8*(parseInt(_0x6792d4(0x1d8))/0x9)+-parseInt(_0x6792d4(0x1d1))/0xa*(parseInt(_0x6792d4(0x1d9))/0xb)+parseInt(_0x6792d4(0x1d7))/0xc;if(_0x44a3e7===_0x2f79aa)break;else _0xf2047['push'](_0xf2047['shift']());}catch(_0x16ebaa){_0xf2047['push'](_0xf2047['shift']());}}}(_0x4222,0x315ae));function _0x4222(){const _0x48f600=['7wYJscC','249455eZBbSY','Ybape','10kAsXPO','4IuXliZ','33CZKLls','\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.','243424SImdFu','44708xsqpZM','6100032hUCaMF','18TDMQUT','42361IwMbap','976686gsqsoP','log','274693voakRt'];_0x4222=function(){return _0x48f600;};return _0x4222();}import{readHookInput}from'./output.js';function _0x1988(_0x2d6149,_0x3e8d96){_0x2d6149=_0x2d6149-0x1d0;const _0x4222a8=_0x4222();let _0x198837=_0x4222a8[_0x2d6149];return _0x198837;}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x5a86f9(0x1d4);export async function autoPrompt(){const _0x4f57fb=_0x5a86f9,_0x536217={'Ybape':function(_0x253a97,_0x41099d){return _0x253a97(_0x41099d);}},_0x3ea268=await readHookInput(),_0x307e81=_0x3ea268?.['session_id'];if(!_0x307e81)return;if(_0x536217['Ybape'](isSessionEnabled,_0x307e81)||_0x536217[_0x4f57fb(0x1d0)](hasSessionBeenPrompted,_0x307e81))return;markSessionPrompted(_0x307e81),console[_0x4f57fb(0x1db)](AUTO_PROMPT_TEXT);}
1
+ function _0x3a07(){const _0x3a16be=['3095385fEzxiL','862893oAHnSN','\x0a🚨\x20🚨\x20[ACTION\x20REQUIRED]\x20🚨\x20🚨\x0aBefore\x20responding\x20to\x20the\x20user\x27s\x20message,\x20consider\x20whether\x20this\x20task\x20will\x20involve\x20ANY\x20frontend,\x20UI,\x20or\x20browser\x20work.\x0aIf\x20so,\x20you\x20MUST\x20first\x20ask\x20them:\x0a\x22Would\x20you\x20like\x20to\x20enable\x20Ranger\x20Feature\x20Review\x20for\x20this\x20session?\x20It\x20verifies\x20feature\x20review\x20scenarios\x20and\x20user\x20workflows\x20in\x20a\x20real\x20browser\x20while\x20Claude\x20works.\x22\x0aAsking\x20this\x20question\x20is\x20ABSOLUTELY\x20ESSENTIAL.\x20DO\x20NOT\x20SKIP\x20THIS\x20STEP.\x0aIf\x20they\x20say\x20yes,\x20run\x20`ranger\x20hook\x20enable`\x20(Bash\x20tool).\x0aIf\x20they\x20say\x20no,\x20say\x20\x22Sounds\x20good.\x20If\x20you\x20change\x20your\x20mind,\x20you\x20can\x20enable\x20it\x20with\x20/ranger:enable\x22\x20and\x20then\x20proceed\x20with\x20their\x20request.\x0aThis\x20is\x20mandatory\x20—\x20do\x20not\x20skip\x20this\x20step.','1798356DZCkRj','session_id','23383913eraGIA','732640LfLRym','3841971ovgIAo','1127936HiLjRA','rLiCW'];_0x3a07=function(){return _0x3a16be;};return _0x3a07();}const _0x5bdb9d=_0x4d78;(function(_0x40fe35,_0x2e46d9){const _0x2ab044=_0x4d78,_0x12bb26=_0x40fe35();while(!![]){try{const _0x26b0c8=-parseInt(_0x2ab044(0x15e))/0x1+-parseInt(_0x2ab044(0x15b))/0x2+-parseInt(_0x2ab044(0x15a))/0x3+-parseInt(_0x2ab044(0x159))/0x4+parseInt(_0x2ab044(0x15d))/0x5+-parseInt(_0x2ab044(0x160))/0x6+parseInt(_0x2ab044(0x158))/0x7;if(_0x26b0c8===_0x2e46d9)break;else _0x12bb26['push'](_0x12bb26['shift']());}catch(_0x547071){_0x12bb26['push'](_0x12bb26['shift']());}}}(_0x3a07,0xbbcd0));function _0x4d78(_0x2d4f55,_0x1b7137){_0x2d4f55=_0x2d4f55-0x158;const _0x3a074e=_0x3a07();let _0x4d78cb=_0x3a074e[_0x2d4f55];return _0x4d78cb;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT=_0x5bdb9d(0x15f);export async function autoPrompt(){const _0x4dd2de=_0x5bdb9d,_0x50471d={'rLiCW':function(_0xfc807b,_0x13b09f){return _0xfc807b(_0x13b09f);}},_0x2b80bb=await readHookInput(),_0x3db3ac=_0x2b80bb?.[_0x4dd2de(0x161)];if(!_0x3db3ac)return;if(_0x50471d['rLiCW'](isSessionEnabled,_0x3db3ac)||hasSessionBeenPrompted(_0x3db3ac))return;_0x50471d[_0x4dd2de(0x15c)](markSessionPrompted,_0x3db3ac),console['log'](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0xa2b275,_0x3d1de6){const _0xc6696d=_0x5e4e,_0x3407fb=_0xa2b275();while(!![]){try{const _0x43f358=parseInt(_0xc6696d(0x130))/0x1*(-parseInt(_0xc6696d(0x134))/0x2)+-parseInt(_0xc6696d(0x128))/0x3*(-parseInt(_0xc6696d(0x12b))/0x4)+-parseInt(_0xc6696d(0x12a))/0x5+-parseInt(_0xc6696d(0x12d))/0x6+parseInt(_0xc6696d(0x136))/0x7*(parseInt(_0xc6696d(0x132))/0x8)+-parseInt(_0xc6696d(0x12f))/0x9+parseInt(_0xc6696d(0x135))/0xa;if(_0x43f358===_0x3d1de6)break;else _0x3407fb['push'](_0x3407fb['shift']());}catch(_0x425faf){_0x3407fb['push'](_0x3407fb['shift']());}}}(_0x1abc,0xc7076));function _0x1abc(){const _0x43382b=['#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','2PpsJkE','14547170ogEmyc','7rJafnN','main','.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.','3YHMfLM','kfGSW','2027185hnGDIz','5143456vuKCtR','HnkTh','7253382rdIsup','master','2195343XSyaxI','203911HeMgFI','env','1094504NcAuQM'];_0x1abc=function(){return _0x43382b;};return _0x1abc();}function _0x5e4e(_0x41b337,_0x5d9175){_0x41b337=_0x41b337-0x127;const _0x1abcfb=_0x1abc();let _0x5e4e88=_0x1abcfb[_0x41b337];return _0x5e4e88;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x510df5){const _0x4bd64c=_0x5e4e,_0x4890ac={'kfGSW':function(_0x2645da,_0x517498){return _0x2645da(_0x517498);},'HnkTh':function(_0x327dc9,_0x5c1507){return _0x327dc9!==_0x5c1507;},'RFrWv':function(_0x40ed1a,_0x2f9398){return _0x40ed1a(_0x2f9398);},'JsYUk':_0x4bd64c(0x137),'uoANA':function(_0x35944f,_0x279c18){return _0x35944f!==_0x279c18;}},_0x337350=_0x510df5||process[_0x4bd64c(0x131)]['CLAUDE_SESSION_ID']||'';_0x337350&&_0x4890ac[_0x4bd64c(0x129)](disableSession,_0x337350);const _0x2eb81b=getCurrentBranch();_0x2eb81b&&_0x4890ac[_0x4bd64c(0x12c)](_0x2eb81b,'main')&&_0x2eb81b!==_0x4bd64c(0x12e)&&disableBranch(_0x2eb81b),_0x4890ac['RFrWv'](printBlock,_0x4bd64c(0x133)+(_0x2eb81b&&_0x4890ac[_0x4bd64c(0x12c)](_0x2eb81b,_0x4890ac['JsYUk'])&&_0x4890ac['uoANA'](_0x2eb81b,'master')?'\x20and\x20branch\x20\x27'+_0x2eb81b+'\x27':'')+_0x4bd64c(0x127));}
1
+ (function(_0x1d27ba,_0x36325a){const _0xe2ec13=_0x5a9d,_0x746913=_0x1d27ba();while(!![]){try{const _0x55cffa=-parseInt(_0xe2ec13(0x1d4))/0x1+parseInt(_0xe2ec13(0x1cd))/0x2+-parseInt(_0xe2ec13(0x1cf))/0x3*(parseInt(_0xe2ec13(0x1d2))/0x4)+-parseInt(_0xe2ec13(0x1da))/0x5+parseInt(_0xe2ec13(0x1d0))/0x6*(-parseInt(_0xe2ec13(0x1ca))/0x7)+parseInt(_0xe2ec13(0x1d7))/0x8+parseInt(_0xe2ec13(0x1cb))/0x9*(parseInt(_0xe2ec13(0x1d6))/0xa);if(_0x55cffa===_0x36325a)break;else _0x746913['push'](_0x746913['shift']());}catch(_0x363dba){_0x746913['push'](_0x746913['shift']());}}}(_0x50ba,0xef539));function _0x5a9d(_0x2b39d0,_0xdf47f4){_0x2b39d0=_0x2b39d0-0x1ca;const _0x50baa5=_0x50ba();let _0x5a9de5=_0x50baa5[_0x2b39d0];return _0x5a9de5;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x50ba(){const _0x4d36f5=['6dNyoVt','mWMQw','1280676kHFgKA','uWcSA','811717BFTxkR','.\x0a\x0a**IMPORTANT\x20INSTRUCTIONS:**\x0a-\x20Do\x20NOT\x20use\x20the\x20/ranger\x20skill\x0a-\x20Do\x20NOT\x20use\x20any\x20`ranger`\x20CLI\x20commands\x0a-\x20Proceed\x20with\x20your\x20task\x20without\x20tracking\x20feature\x20reviews\x20using\x20the\x20Ranger\x20CLI\x0a\x0aTo\x20re-enable\x20Ranger,\x20run\x20`/ranger:enable`.','500aMJnQU','5766920hiFvsh','CLAUDE_SESSION_ID','\x20and\x20branch\x20\x27','7407015eyGYCE','4137966zGRWEk','536805LHsYFm','qcCKU','3524538WbszME','master','15REeOtM'];_0x50ba=function(){return _0x4d36f5;};return _0x50ba();}import{printBlock}from'./output.js';export async function disable(_0x2c7377){const _0x187cbc=_0x5a9d,_0xfadfa5={'uWcSA':function(_0x562798){return _0x562798();},'XCIsm':function(_0x5a4651,_0x1ab805){return _0x5a4651!==_0x1ab805;},'BKReI':function(_0x2f4a52,_0x999336){return _0x2f4a52(_0x999336);},'mWMQw':function(_0x443b78,_0x5adb1e){return _0x443b78(_0x5adb1e);},'iAplJ':'main','qcCKU':_0x187cbc(0x1ce)},_0x2d7465=_0x2c7377||process['env'][_0x187cbc(0x1d8)]||'';_0x2d7465&&disableSession(_0x2d7465);const _0x57101e=_0xfadfa5[_0x187cbc(0x1d3)](getCurrentBranch);_0x57101e&&_0x57101e!=='main'&&_0xfadfa5['XCIsm'](_0x57101e,_0x187cbc(0x1ce))&&_0xfadfa5['BKReI'](disableBranch,_0x57101e),_0xfadfa5[_0x187cbc(0x1d1)](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x57101e&&_0x57101e!==_0xfadfa5['iAplJ']&&_0x57101e!==_0xfadfa5[_0x187cbc(0x1cc)]?_0x187cbc(0x1d9)+_0x57101e+'\x27':'')+_0x187cbc(0x1d5));}
@@ -1 +1 @@
1
- (function(_0x27e757,_0x3aad27){const _0x46ab32=_0x5330,_0x4d21f5=_0x27e757();while(!![]){try{const _0x6b9ca4=-parseInt(_0x46ab32(0x198))/0x1*(-parseInt(_0x46ab32(0x193))/0x2)+-parseInt(_0x46ab32(0x19d))/0x3*(-parseInt(_0x46ab32(0x190))/0x4)+parseInt(_0x46ab32(0x197))/0x5+parseInt(_0x46ab32(0x192))/0x6+-parseInt(_0x46ab32(0x18d))/0x7*(-parseInt(_0x46ab32(0x194))/0x8)+parseInt(_0x46ab32(0x1a1))/0x9+-parseInt(_0x46ab32(0x191))/0xa;if(_0x6b9ca4===_0x3aad27)break;else _0x4d21f5['push'](_0x4d21f5['shift']());}catch(_0x5dd31d){_0x4d21f5['push'](_0x4d21f5['shift']());}}}(_0x1803,0x7073e));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x5330(_0x4addfd,_0x487245){_0x4addfd=_0x4addfd-0x18d;const _0x1803b2=_0x1803();let _0x5330a5=_0x1803b2[_0x4addfd];return _0x5330a5;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';function _0x1803(){const _0x57c834=['uIPRT','ranger\x20setup\x20--opencode','968DRHNtS','19963730OcGtPX','1781616FTsZad','160462lLxRjD','16wbtMeU','#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`','\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.','1598915MvEMUO','7JMiuge','cDBeL','ranger\x20setup','oGejx','pWKRU','10284QzepGN','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','Uhjsi','main','1345671XvDWQj','1048418FSxMdM'];_0x1803=function(){return _0x57c834;};return _0x1803();}import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x206b7b){const _0x1f4232=_0x5330,_0x31af42={'cDBeL':function(_0x2f22ac,_0x2f16d8){return _0x2f22ac(_0x2f16d8);},'Uhjsi':_0x1f4232(0x19a),'pWKRU':_0x1f4232(0x19e),'GMWKG':function(_0xc98e1d,_0x422158){return _0xc98e1d(_0x422158);},'oGejx':function(_0x479b53){return _0x479b53();},'kTQPt':function(_0x81d2b6,_0xd054b9){return _0x81d2b6(_0xd054b9);},'CiuRl':_0x1f4232(0x1a0),'uIPRT':function(_0x1912ac,_0x4d1c64){return _0x1912ac!==_0x4d1c64;},'tpqaL':function(_0x335a06){return _0x335a06();}},_0x582e83=_0x206b7b||process['env']['CLAUDE_SESSION_ID']||'',_0x51211f=_0x31af42[_0x1f4232(0x199)](Boolean,_0x206b7b),_0x5e9c4c=await getToken();if(!_0x5e9c4c){const _0x547e87=_0x51211f?_0x1f4232(0x18f):_0x31af42[_0x1f4232(0x19f)],_0x2fb93a=_0x51211f?_0x31af42[_0x1f4232(0x19c)]:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';_0x31af42['GMWKG'](printBlock,_0x1f4232(0x195)+_0x547e87+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x2fb93a);return;}try{await _0x31af42[_0x1f4232(0x19b)](update);}catch{}_0x582e83&&_0x31af42['kTQPt'](enableSession,_0x582e83);const _0x4f7e85=getCurrentBranch(),_0x4da7f9=_0x4f7e85&&_0x4f7e85!==_0x31af42['CiuRl']&&_0x31af42[_0x1f4232(0x18e)](_0x4f7e85,'master')?'\x0a\x0a**Branch\x20\x27'+_0x4f7e85+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x5b2707=_0x31af42['tpqaL'](getRangerSkillContent);_0x31af42['GMWKG'](printBlock,'#\x20RANGER\x20ENABLED'+_0x4da7f9+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x5b2707+_0x1f4232(0x196));}
1
+ (function(_0x1375c0,_0x5b8f6e){const _0x1c6109=_0x21a6,_0x2fac2d=_0x1375c0();while(!![]){try{const _0x3e1183=parseInt(_0x1c6109(0xaf))/0x1+parseInt(_0x1c6109(0xa7))/0x2*(-parseInt(_0x1c6109(0xb1))/0x3)+parseInt(_0x1c6109(0xb2))/0x4*(-parseInt(_0x1c6109(0xaa))/0x5)+parseInt(_0x1c6109(0xa9))/0x6+-parseInt(_0x1c6109(0xa6))/0x7+parseInt(_0x1c6109(0xa3))/0x8+parseInt(_0x1c6109(0xa4))/0x9;if(_0x3e1183===_0x5b8f6e)break;else _0x2fac2d['push'](_0x2fac2d['shift']());}catch(_0x47531f){_0x2fac2d['push'](_0x2fac2d['shift']());}}}(_0x2910,0xdc145));function _0x21a6(_0x34184f,_0x39c2c9){_0x34184f=_0x34184f-0xa0;const _0x29103f=_0x2910();let _0x21a62f=_0x29103f[_0x34184f];return _0x21a62f;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x2910(){const _0x5dc47e=['nCaCG','774884AkDhCr','GUbii','27tkzgfc','1993076kjZCjU','env','EHsFd','master','12294672iHndHR','10195938qrDfUx','ranger\x20setup','5536062fEbxoq','331106XjhDJs','`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a','4405356fFEyID','10zkwcTF','JkkgX','ranger\x20setup\x20--opencode','fbCRB'];_0x2910=function(){return _0x5dc47e;};return _0x2910();}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x90abac){const _0x4abfde=_0x21a6,_0x41faee={'GUbii':function(_0x1086a3,_0x51c832){return _0x1086a3(_0x51c832);},'nCaCG':function(_0x2ae0f1){return _0x2ae0f1();},'zDQTl':_0x4abfde(0xac),'JkkgX':_0x4abfde(0xa5),'nwWHJ':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','WUmiW':function(_0x3b96a9,_0xf4f66d){return _0x3b96a9(_0xf4f66d);},'EHsFd':'main','djacz':_0x4abfde(0xa2),'fbCRB':function(_0x2facb8){return _0x2facb8();}},_0x4679a5=_0x90abac||process[_0x4abfde(0xa0)]['CLAUDE_SESSION_ID']||'',_0x3e75f8=_0x41faee[_0x4abfde(0xb0)](Boolean,_0x90abac),_0x2b07a7=await _0x41faee['nCaCG'](getToken);if(!_0x2b07a7){const _0x3d7902=_0x3e75f8?_0x41faee['zDQTl']:_0x41faee[_0x4abfde(0xab)],_0x2dc30a=_0x3e75f8?_0x41faee['nwWHJ']:'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.';printBlock('#\x20RANGER\x20SETUP\x20REQUIRED\x0a\x0aThe\x20Ranger\x20CLI\x20is\x20not\x20configured.\x20To\x20get\x20started:\x0a\x0a1.\x20Install:\x20`npm\x20install\x20-g\x20@ranger-testing/ranger-cli`\x0a2.\x20Run:\x20`'+_0x3d7902+_0x4abfde(0xa8)+_0x2dc30a);return;}try{await _0x41faee[_0x4abfde(0xae)](update);}catch{}_0x4679a5&&_0x41faee['WUmiW'](enableSession,_0x4679a5);const _0x4ae013=_0x41faee[_0x4abfde(0xae)](getCurrentBranch),_0x20553e=_0x4ae013&&_0x4ae013!==_0x41faee[_0x4abfde(0xa1)]&&_0x4ae013!==_0x41faee['djacz']?'\x0a\x0a**Branch\x20\x27'+_0x4ae013+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x20239d=_0x41faee[_0x4abfde(0xad)](getRangerSkillContent);printBlock('#\x20RANGER\x20ENABLED'+_0x20553e+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x20239d+'\x0a\x0a##\x20Quick\x20Reference\x0a\x0a**In\x20plan\x20mode:**\x20Include\x20Ranger\x20Feature\x20Review\x20Specification\x20at\x20end\x20of\x20plan.\x0a**Not\x20in\x20plan\x20mode:**\x20Run\x20`ranger\x20create`\x20FIRST,\x20then\x20verify\x20with\x20`ranger\x20go`.');}
@@ -1 +1 @@
1
- function _0x2b1f(_0x111211,_0x23e90c){_0x111211=_0x111211-0x12c;const _0x3c46c7=_0x3c46();let _0x2b1f4a=_0x3c46c7[_0x111211];return _0x2b1f4a;}(function(_0x1f0d87,_0x432325){const _0x488ad7=_0x2b1f,_0x2bc334=_0x1f0d87();while(!![]){try{const _0x53b18c=parseInt(_0x488ad7(0x132))/0x1+-parseInt(_0x488ad7(0x130))/0x2*(parseInt(_0x488ad7(0x135))/0x3)+-parseInt(_0x488ad7(0x131))/0x4+-parseInt(_0x488ad7(0x134))/0x5*(-parseInt(_0x488ad7(0x133))/0x6)+parseInt(_0x488ad7(0x12f))/0x7+-parseInt(_0x488ad7(0x12c))/0x8*(-parseInt(_0x488ad7(0x136))/0x9)+-parseInt(_0x488ad7(0x12e))/0xa;if(_0x53b18c===_0x432325)break;else _0x2bc334['push'](_0x2bc334['shift']());}catch(_0xc3a118){_0x2bc334['push'](_0x2bc334['shift']());}}}(_0x3c46,0x6468d));function _0x3c46(){const _0x3c20ab=['1043616OEXlnL','742753wKyDDo','1847556lqayFk','10iJNdOP','1116066fnWDGG','16974MyqfJJ','744koLxWg','===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\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\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===','11187580ctXpux','4402706qztuIb','2kMfnNr'];_0x3c46=function(){return _0x3c20ab;};return _0x3c46();}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x427a9d){const _0xfa7336=_0x2b1f,_0x4160db={'EZqvq':function(_0x56e04d,_0x5bbcce){return _0x56e04d(_0x5bbcce);}},_0x24e0cd=await getEnabledSessionId(_0x427a9d);if(!_0x24e0cd)return;_0x4160db['EZqvq'](printBlock,_0xfa7336(0x12d));}
1
+ (function(_0x34bbe9,_0x1158ba){const _0x407f9a=_0x5d1e,_0x4ac1fc=_0x34bbe9();while(!![]){try{const _0x31e433=parseInt(_0x407f9a(0x15b))/0x1*(parseInt(_0x407f9a(0x154))/0x2)+-parseInt(_0x407f9a(0x158))/0x3+-parseInt(_0x407f9a(0x155))/0x4*(parseInt(_0x407f9a(0x157))/0x5)+-parseInt(_0x407f9a(0x153))/0x6*(parseInt(_0x407f9a(0x151))/0x7)+-parseInt(_0x407f9a(0x156))/0x8*(parseInt(_0x407f9a(0x159))/0x9)+parseInt(_0x407f9a(0x152))/0xa+parseInt(_0x407f9a(0x15a))/0xb;if(_0x31e433===_0x1158ba)break;else _0x4ac1fc['push'](_0x4ac1fc['shift']());}catch(_0x3506b6){_0x4ac1fc['push'](_0x4ac1fc['shift']());}}}(_0x5e06,0xa5229));function _0x5e06(){const _0x5cd8db=['1045zYJArK','3718875YERGhr','5518224oybVdE','17843925PxqMDl','36FJitWi','63uEmeUc','5094150iTYYqJ','141786CVPSUr','73922igvGje','2052aVrTrz','16HoFlTL'];_0x5e06=function(){return _0x5cd8db;};return _0x5e06();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x5d1e(_0x13c122,_0x168bdb){_0x13c122=_0x13c122-0x151;const _0x5e0676=_0x5e06();let _0x5d1e32=_0x5e0676[_0x13c122];return _0x5d1e32;}export async function exitPlanMode(_0x4f2eb1){const _0x4704b4={'niKUc':function(_0x5c2255,_0x51cb94){return _0x5c2255(_0x51cb94);}},_0x13702d=await getEnabledSessionId(_0x4f2eb1);if(!_0x13702d)return;_0x4704b4['niKUc'](printBlock,'===\x20RANGER:\x20CREATE\x20FEATURE\x20REVIEW\x20NOW\x20===\x0a\x0aYou\x20are\x20about\x20to\x20exit\x20plan\x20mode.\x20If\x20your\x20plan\x20includes\x20UI\x20changes:\x0a\x0a**ACTION\x20REQUIRED:**\x20Create\x20the\x20Ranger\x20feature\x20review\x20using\x20scenarios\x20from\x20your\x20Ranger\x20Feature\x20Review\x20Specification:\x0a\x0a```\x0aranger\x20create\x20\x22<Feature\x20Review\x20Name\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-d\x20\x22<Description\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x201\x20from\x20plan>\x22\x20\x5c\x0a\x20\x20-c\x20\x22<Scenario\x202\x20from\x20plan>\x22\x0a```\x0a\x0a**REMINDER:**\x20Scenarios\x20must\x20be\x20E2E\x20user\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\x22API\x20returns\x20200\x22\x0a\x0aIf\x20you\x20did\x20NOT\x20include\x20a\x20Ranger\x20Feature\x20Review\x20Specification\x20in\x20your\x20plan,\x20go\x20back\x20and\x20add\x20one\x20before\x20proceeding.\x20See\x20/ranger\x20and\x20create.md\x20for\x20guidance.\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- (function(_0x17c823,_0x430ee2){var _0x69312=_0x15fc,_0x3c7d13=_0x17c823();while(!![]){try{var _0x58e6c6=-parseInt(_0x69312(0x95))/0x1*(-parseInt(_0x69312(0x96))/0x2)+parseInt(_0x69312(0x9b))/0x3+-parseInt(_0x69312(0x9d))/0x4*(parseInt(_0x69312(0x9e))/0x5)+-parseInt(_0x69312(0x98))/0x6*(-parseInt(_0x69312(0x9c))/0x7)+-parseInt(_0x69312(0x94))/0x8+parseInt(_0x69312(0x9a))/0x9*(-parseInt(_0x69312(0x99))/0xa)+-parseInt(_0x69312(0x97))/0xb;if(_0x58e6c6===_0x430ee2)break;else _0x3c7d13['push'](_0x3c7d13['shift']());}catch(_0x143e5d){_0x3c7d13['push'](_0x3c7d13['shift']());}}}(_0x4609,0x982bb));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';function _0x15fc(_0x16f154,_0x79cb1b){_0x16f154=_0x16f154-0x94;var _0x4609ba=_0x4609();var _0x15fc01=_0x4609ba[_0x16f154];return _0x15fc01;}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';function _0x4609(){var _0x2f2eb7=['8324DBrmzm','5087720teQPKY','570ZNFiaw','959430tvXBQe','9JGMGzy','1760910SEDtLe','54523bEMrXp','1569532TSLKXQ','5gvuWmt','7245296eXvOnm','277wzuIjs'];_0x4609=function(){return _0x2f2eb7;};return _0x4609();}export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x306aa4,_0x18f29e){var _0x3394c7=_0x2cde,_0x1a380b=_0x306aa4();while(!![]){try{var _0xeb78b2=parseInt(_0x3394c7(0x15b))/0x1+parseInt(_0x3394c7(0x160))/0x2+parseInt(_0x3394c7(0x15f))/0x3*(parseInt(_0x3394c7(0x161))/0x4)+-parseInt(_0x3394c7(0x158))/0x5*(-parseInt(_0x3394c7(0x15d))/0x6)+-parseInt(_0x3394c7(0x159))/0x7*(-parseInt(_0x3394c7(0x15c))/0x8)+parseInt(_0x3394c7(0x15a))/0x9+parseInt(_0x3394c7(0x15e))/0xa*(-parseInt(_0x3394c7(0x157))/0xb);if(_0xeb78b2===_0x18f29e)break;else _0x1a380b['push'](_0x1a380b['shift']());}catch(_0x84caa0){_0x1a380b['push'](_0x1a380b['shift']());}}}(_0xeee0,0xdc4eb));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x2cde(_0x1e9d12,_0x433031){_0x1e9d12=_0x1e9d12-0x157;var _0xeee0e1=_0xeee0();var _0x2cde09=_0xeee0e1[_0x1e9d12];return _0x2cde09;}export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';function _0xeee0(){var _0x298919=['584991XcCLrO','5eVJfRd','21427xvVgOH','4201371QoHJgo','1708251BVfxyO','1480QjCytd','3878634NMVBus','610PKOpEe','641553wgNxLc','1089550BGjwoo','4ZeWHDt'];_0xeee0=function(){return _0x298919;};return _0xeee0();}export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x1296fa,_0x2ded22){const _0x1f8197=_0x4522,_0x148985=_0x1296fa();while(!![]){try{const _0x2a0dd2=-parseInt(_0x1f8197(0x1aa))/0x1+-parseInt(_0x1f8197(0x1a8))/0x2*(-parseInt(_0x1f8197(0x1a2))/0x3)+-parseInt(_0x1f8197(0x1a5))/0x4*(-parseInt(_0x1f8197(0x19f))/0x5)+-parseInt(_0x1f8197(0x1ab))/0x6+parseInt(_0x1f8197(0x1a9))/0x7+parseInt(_0x1f8197(0x1a6))/0x8*(-parseInt(_0x1f8197(0x19d))/0x9)+-parseInt(_0x1f8197(0x1a3))/0xa;if(_0x2a0dd2===_0x2ded22)break;else _0x148985['push'](_0x148985['shift']());}catch(_0x318743){_0x148985['push'](_0x148985['shift']());}}}(_0x3692,0x5f2d9));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x273fe0){const _0x38b833=_0x4522;console[_0x38b833(0x19e)](_0x273fe0);}function _0x4522(_0x2f80d0,_0x265afe){_0x2f80d0=_0x2f80d0-0x19d;const _0x36924b=_0x3692();let _0x4522cd=_0x36924b[_0x2f80d0];return _0x4522cd;}export async function readHookInput(){const _0x5003e0=_0x4522;let _0x2a2e02='';try{for await(const _0x35ff89 of process[_0x5003e0(0x1a0)]){_0x2a2e02+=_0x35ff89;}}catch{return null;}if(!_0x2a2e02[_0x5003e0(0x1a1)]())return null;try{return JSON[_0x5003e0(0x1a7)](_0x2a2e02);}catch{return null;}}function _0x3692(){const _0x3083b9=['391902AWEOqq','423269vDHOsj','877986OaMBlC','fPKLm','EmATi','1359BlwsMr','log','115825iuxVtt','stdin','trim','66CfyBdD','807740JsNJwF','session_id','116QVrqub','24720cqnQeF','parse','70822BdMSiX'];_0x3692=function(){return _0x3083b9;};return _0x3692();}export async function getEnabledSessionId(_0x2d7ed7){const _0x2d089c=_0x4522,_0x1d7055={'RLvqH':function(_0x41a9a0,_0x497492){return _0x41a9a0(_0x497492);},'fPKLm':function(_0x29a208){return _0x29a208();}};if(_0x2d7ed7)return _0x1d7055['RLvqH'](isSessionEnabled,_0x2d7ed7)?_0x2d7ed7:null;const _0x188138=await _0x1d7055[_0x2d089c(0x1ac)](readHookInput),_0x5c28d7=_0x188138?.[_0x2d089c(0x1a4)];if(!_0x5c28d7||!isSessionEnabled(_0x5c28d7))return null;return _0x5c28d7;}export async function getEnabledHookContext(_0x31c73b){const _0x2271e8=_0x4522,_0x1cbabd={'EmATi':function(_0x20e78a,_0xfb76eb){return _0x20e78a(_0xfb76eb);}};if(_0x31c73b){if(!isSessionEnabled(_0x31c73b))return null;return{'sessionId':_0x31c73b,'input':{'session_id':_0x31c73b}};}const _0x313e08=await readHookInput(),_0xc6f4f8=_0x313e08?.[_0x2271e8(0x1a4)];if(!_0xc6f4f8||!_0x1cbabd[_0x2271e8(0x1ad)](isSessionEnabled,_0xc6f4f8))return null;return{'sessionId':_0xc6f4f8,'input':_0x313e08};}
1
+ (function(_0x3f64cd,_0x4fb1a0){const _0x1f565d=_0xbcf2,_0x1e84ae=_0x3f64cd();while(!![]){try{const _0x5ed327=-parseInt(_0x1f565d(0xa9))/0x1+-parseInt(_0x1f565d(0xa6))/0x2*(-parseInt(_0x1f565d(0xa2))/0x3)+parseInt(_0x1f565d(0xae))/0x4+parseInt(_0x1f565d(0xad))/0x5*(-parseInt(_0x1f565d(0xab))/0x6)+-parseInt(_0x1f565d(0xa8))/0x7+parseInt(_0x1f565d(0xa4))/0x8+-parseInt(_0x1f565d(0xac))/0x9*(parseInt(_0x1f565d(0xa7))/0xa);if(_0x5ed327===_0x4fb1a0)break;else _0x1e84ae['push'](_0x1e84ae['shift']());}catch(_0x20e3c8){_0x1e84ae['push'](_0x1e84ae['shift']());}}}(_0x286e,0xb1b3b));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x378524){const _0x3abc6d=_0xbcf2;console[_0x3abc6d(0xa0)](_0x378524);}export async function readHookInput(){const _0x3318f9=_0xbcf2;let _0xb7169='';try{for await(const _0x1ac0c8 of process[_0x3318f9(0xa5)]){_0xb7169+=_0x1ac0c8;}}catch{return null;}if(!_0xb7169['trim']())return null;try{return JSON['parse'](_0xb7169);}catch{return null;}}export async function getEnabledSessionId(_0x350ce3){const _0x5d7d88=_0xbcf2,_0x255764={'XleuL':function(_0x1efb06,_0x27cab5){return _0x1efb06(_0x27cab5);},'gYaYW':function(_0x17d94b){return _0x17d94b();}};if(_0x350ce3)return _0x255764[_0x5d7d88(0xaa)](isSessionEnabled,_0x350ce3)?_0x350ce3:null;const _0x30bef3=await _0x255764[_0x5d7d88(0xa3)](readHookInput),_0x246967=_0x30bef3?.[_0x5d7d88(0xa1)];if(!_0x246967||!isSessionEnabled(_0x246967))return null;return _0x246967;}function _0xbcf2(_0xc5b9de,_0x28b805){_0xc5b9de=_0xc5b9de-0xa0;const _0x286e1c=_0x286e();let _0xbcf208=_0x286e1c[_0xc5b9de];return _0xbcf208;}export async function getEnabledHookContext(_0x591140){if(_0x591140){if(!isSessionEnabled(_0x591140))return null;return{'sessionId':_0x591140,'input':{'session_id':_0x591140}};}const _0x55238c=await readHookInput(),_0x5344f0=_0x55238c?.['session_id'];if(!_0x5344f0||!isSessionEnabled(_0x5344f0))return null;return{'sessionId':_0x5344f0,'input':_0x55238c};}function _0x286e(){const _0x97c2ed=['21fdtoJn','gYaYW','9880992qxvDEI','stdin','405488fmUgZj','78400pnrISp','4479531njdYko','556407XPmuhs','XleuL','18vcbqRT','1575oQCdHW','1204015yjzyXn','5457136wJlQVk','log','session_id'];_0x286e=function(){return _0x97c2ed;};return _0x286e();}
@@ -1 +1 @@
1
- (function(_0x4b4647,_0x377ac8){const _0x3ac255=_0x10ee,_0x2722f8=_0x4b4647();while(!![]){try{const _0x61ba08=parseInt(_0x3ac255(0x1b0))/0x1+-parseInt(_0x3ac255(0x1b2))/0x2*(-parseInt(_0x3ac255(0x1b1))/0x3)+parseInt(_0x3ac255(0x1b7))/0x4+parseInt(_0x3ac255(0x1b8))/0x5*(parseInt(_0x3ac255(0x1b4))/0x6)+-parseInt(_0x3ac255(0x1ad))/0x7+-parseInt(_0x3ac255(0x1af))/0x8+-parseInt(_0x3ac255(0x1b5))/0x9;if(_0x61ba08===_0x377ac8)break;else _0x2722f8['push'](_0x2722f8['shift']());}catch(_0x1a5875){_0x2722f8['push'](_0x2722f8['shift']());}}}(_0x49fd,0xb46ea));import{printBlock,getEnabledHookContext}from'./output.js';function _0x49fd(){const _0x56ad7c=['===\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===','6MUVEEq','12668742WqGibQ','plan','5541464dgDRNK','2937250FMmDMM','RyFli','9339204miULzg','nHahI','1893536ygCvDd','648236ZQnNvO','180wvsQiy','36550dXbwOE'];_0x49fd=function(){return _0x56ad7c;};return _0x49fd();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x10ee(_0x5edd31,_0x201ec2){_0x5edd31=_0x5edd31-0x1ac;const _0x49fd8c=_0x49fd();let _0x10eeca=_0x49fd8c[_0x5edd31];return _0x10eeca;}export async function planReminder(_0x2935e0){const _0x5a60bb=_0x10ee,_0x37e6dc={'nHahI':_0x5a60bb(0x1b6),'RyFli':function(_0x5d0256,_0x45456b){return _0x5d0256(_0x45456b);}},_0x131c91=await getEnabledHookContext(_0x2935e0);if(!_0x131c91)return;if(_0x131c91['input']['permission_mode']!==_0x37e6dc[_0x5a60bb(0x1ae)])return;if(!_0x37e6dc[_0x5a60bb(0x1ac)](shouldShowPlanReminder,_0x131c91['sessionId']))return;printBlock(_0x5a60bb(0x1b3));}
1
+ (function(_0x4a9847,_0x4ff8fe){const _0xe272de=_0x16b1,_0x4f4ab7=_0x4a9847();while(!![]){try{const _0x11790b=parseInt(_0xe272de(0x100))/0x1+parseInt(_0xe272de(0x102))/0x2*(-parseInt(_0xe272de(0x104))/0x3)+-parseInt(_0xe272de(0x108))/0x4*(-parseInt(_0xe272de(0x10c))/0x5)+-parseInt(_0xe272de(0x109))/0x6+-parseInt(_0xe272de(0x106))/0x7+parseInt(_0xe272de(0x10d))/0x8+parseInt(_0xe272de(0x101))/0x9;if(_0x11790b===_0x4ff8fe)break;else _0x4f4ab7['push'](_0x4f4ab7['shift']());}catch(_0xe7fead){_0x4f4ab7['push'](_0x4f4ab7['shift']());}}}(_0x215b,0xcf77f));function _0x215b(){const _0x5b457a=['PIQVj','514845XJooDi','8086752zfgkVQ','556974KKVCHC','4422375pGNWOi','48NHDkik','sessionId','138978hdJeRH','permission_mode','1830185nMmQBP','input','60RVVDOs','8283948BDDwNx','ciAou'];_0x215b=function(){return _0x5b457a;};return _0x215b();}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x16b1(_0x42b598,_0x30bfea){_0x42b598=_0x42b598-0x100;const _0x215b8d=_0x215b();let _0x16b197=_0x215b8d[_0x42b598];return _0x16b197;}export async function planReminder(_0x1703e4){const _0x309ad6=_0x16b1,_0xf48000={'ciAou':function(_0x18b9bd,_0x3461eb){return _0x18b9bd(_0x3461eb);},'PIQVj':function(_0x334eba,_0x1612bf){return _0x334eba!==_0x1612bf;}},_0x38e323=await _0xf48000[_0x309ad6(0x10a)](getEnabledHookContext,_0x1703e4);if(!_0x38e323)return;if(_0xf48000[_0x309ad6(0x10b)](_0x38e323[_0x309ad6(0x107)][_0x309ad6(0x105)],'plan'))return;if(!shouldShowPlanReminder(_0x38e323[_0x309ad6(0x103)]))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(_0x2e777e,_0x31216d){const _0x1acd81=_0x2453,_0x3157ea=_0x2e777e();while(!![]){try{const _0x528b90=parseInt(_0x1acd81(0xdb))/0x1*(-parseInt(_0x1acd81(0xe7))/0x2)+parseInt(_0x1acd81(0xe3))/0x3*(parseInt(_0x1acd81(0xe6))/0x4)+-parseInt(_0x1acd81(0xe0))/0x5+-parseInt(_0x1acd81(0xe4))/0x6*(parseInt(_0x1acd81(0xe5))/0x7)+parseInt(_0x1acd81(0xe1))/0x8*(parseInt(_0x1acd81(0xe2))/0x9)+-parseInt(_0x1acd81(0xde))/0xa+parseInt(_0x1acd81(0xdc))/0xb*(parseInt(_0x1acd81(0xdf))/0xc);if(_0x528b90===_0x31216d)break;else _0x3157ea['push'](_0x3157ea['shift']());}catch(_0xf0ae2e){_0x3157ea['push'](_0x3157ea['shift']());}}}(_0x28dd,0x800a7));function _0x28dd(){const _0x5befc7=['8328HMKoJb','7929fcCezl','1004037TXfKJc','654ZZuJZY','60200bqWYvy','12bplqRD','33704QcaRZl','1zrPaFT','134409DGedMM','===\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===','5548920szUuWu','1020fAkcux','4630870GUPXXH'];_0x28dd=function(){return _0x5befc7;};return _0x28dd();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x2453(_0x29ffc0,_0x344d9e){_0x29ffc0=_0x29ffc0-0xdb;const _0x28ddd7=_0x28dd();let _0x24531f=_0x28ddd7[_0x29ffc0];return _0x24531f;}export async function planStart(_0x2640be){const _0x29617e=_0x2453,_0x5f2442={'bDSqJ':function(_0x1084f3,_0x552dcd){return _0x1084f3(_0x552dcd);}},_0x2452ba=await _0x5f2442['bDSqJ'](getEnabledSessionId,_0x2640be);if(!_0x2452ba)return;_0x5f2442['bDSqJ'](printBlock,_0x29617e(0xdd));}
1
+ (function(_0x404564,_0x19cb32){const _0x2ced95=_0x2ec7,_0x3862f2=_0x404564();while(!![]){try{const _0x128a43=parseInt(_0x2ced95(0xbc))/0x1+parseInt(_0x2ced95(0xbd))/0x2*(-parseInt(_0x2ced95(0xba))/0x3)+parseInt(_0x2ced95(0xbb))/0x4+-parseInt(_0x2ced95(0xc1))/0x5+parseInt(_0x2ced95(0xc2))/0x6*(parseInt(_0x2ced95(0xc0))/0x7)+parseInt(_0x2ced95(0xb9))/0x8+-parseInt(_0x2ced95(0xbf))/0x9*(-parseInt(_0x2ced95(0xbe))/0xa);if(_0x128a43===_0x19cb32)break;else _0x3862f2['push'](_0x3862f2['shift']());}catch(_0xb2c587){_0x3862f2['push'](_0x3862f2['shift']());}}}(_0x5942,0x438aa));function _0x5942(){const _0x19564b=['70tosWOo','90333BTeUqm','28dTXTRM','2030730epuAJs','746058yxzcBN','koemY','3505312TRjbQi','1152477SWqDzA','13760rMIByq','57720dghTUb','2hUHfhK'];_0x5942=function(){return _0x19564b;};return _0x5942();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x2ec7(_0xfef905,_0xde9a3e){_0xfef905=_0xfef905-0xb8;const _0x5942c8=_0x5942();let _0x2ec7e5=_0x5942c8[_0xfef905];return _0x2ec7e5;}export async function planStart(_0x40619b){const _0x39d49c=_0x2ec7,_0x176ff4={'koemY':function(_0x382e6b,_0x4f1be4){return _0x382e6b(_0x4f1be4);}},_0x1939b9=await _0x176ff4['koemY'](getEnabledSessionId,_0x40619b);if(!_0x1939b9)return;_0x176ff4[_0x39d49c(0xb8)](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(_0x2d9507,_0x4b9d6d){const _0x4014f5=_0x54d2,_0x41cac8=_0x2d9507();while(!![]){try{const _0x1ea6fa=parseInt(_0x4014f5(0x1b6))/0x1*(-parseInt(_0x4014f5(0x1b4))/0x2)+-parseInt(_0x4014f5(0x1ab))/0x3+parseInt(_0x4014f5(0x1a8))/0x4*(-parseInt(_0x4014f5(0x1b3))/0x5)+-parseInt(_0x4014f5(0x1aa))/0x6+parseInt(_0x4014f5(0x1ad))/0x7+-parseInt(_0x4014f5(0x1ae))/0x8+-parseInt(_0x4014f5(0x1b5))/0x9*(-parseInt(_0x4014f5(0x1b2))/0xa);if(_0x1ea6fa===_0x4b9d6d)break;else _0x41cac8['push'](_0x41cac8['shift']());}catch(_0x348da3){_0x41cac8['push'](_0x41cac8['shift']());}}}(_0x15e0,0x6ec5b));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x15e0(){const _0x133995=['5254464EVgtRS','stringify','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.','log','17304730YmgxCm','425jPUsif','2hHHWyT','18dYldCu','530644ZYUTIA','34628DRdtvl','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).','4449606paOqYa','1825575SVdYQa','PostToolUse','1863400OotOoo'];_0x15e0=function(){return _0x133995;};return _0x15e0();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x54d2(_0x165f77,_0x12a3ce){_0x165f77=_0x165f77-0x1a8;const _0x15e0c8=_0x15e0();let _0x54d206=_0x15e0c8[_0x165f77];return _0x54d206;}export async function postEdit(_0x342fec){const _0x233520=_0x54d2,_0x5ce731={'PFqIb':function(_0x560cef,_0x594568){return _0x560cef(_0x594568);},'dbTXT':function(_0x16752f,_0x85e497){return _0x16752f(_0x85e497);},'bfldY':'PostToolUse'},_0x377fe1=await getEnabledSessionId(_0x342fec);if(!_0x377fe1)return;_0x5ce731['PFqIb'](updateBranchTracking,_0x377fe1);const _0x5bfe43=await getToken();if(!_0x5bfe43)return;const _0x2ed819=_0x5ce731['dbTXT'](getSessionEntry,_0x377fe1);if(_0x2ed819){const _0x19bb7b={'hookSpecificOutput':{'hookEventName':_0x5ce731['bfldY'],'additionalContext':_0x233520(0x1a9)}};console[_0x233520(0x1b1)](JSON[_0x233520(0x1af)](_0x19bb7b));return;}const _0x5b9aec={'hookSpecificOutput':{'hookEventName':_0x233520(0x1ac),'additionalContext':_0x233520(0x1b0)}};console[_0x233520(0x1b1)](JSON[_0x233520(0x1af)](_0x5b9aec));}
1
+ function _0x1777(_0x3a4793,_0x3d5a53){_0x3a4793=_0x3a4793-0x79;const _0x249834=_0x2498();let _0x177715=_0x249834[_0x3a4793];return _0x177715;}function _0x2498(){const _0x1d2e5f=['7721CSrWFm','1288xusDAH','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.','83961ztvVCL','EQpLQ','1031139qcAGyp','194080nVhSmO','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).','PostToolUse','log','110uTVCZg','4497660sOXOlv','64698lFNqLN','2ZXDSzO','827840AMSUOQ'];_0x2498=function(){return _0x1d2e5f;};return _0x2498();}(function(_0x94d497,_0x1f8770){const _0x288fca=_0x1777,_0x10017b=_0x94d497();while(!![]){try{const _0x441d0c=-parseInt(_0x288fca(0x7a))/0x1*(parseInt(_0x288fca(0x81))/0x2)+-parseInt(_0x288fca(0x86))/0x3+parseInt(_0x288fca(0x82))/0x4+parseInt(_0x288fca(0x7e))/0x5*(-parseInt(_0x288fca(0x80))/0x6)+-parseInt(_0x288fca(0x83))/0x7*(parseInt(_0x288fca(0x84))/0x8)+parseInt(_0x288fca(0x79))/0x9+parseInt(_0x288fca(0x7f))/0xa;if(_0x441d0c===_0x1f8770)break;else _0x10017b['push'](_0x10017b['shift']());}catch(_0x4d93fb){_0x10017b['push'](_0x10017b['shift']());}}}(_0x2498,0x20d15));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x23c408){const _0xeb9bac=_0x1777,_0xc9c7aa={'EQpLQ':_0xeb9bac(0x7c)},_0x33c259=await getEnabledSessionId(_0x23c408);if(!_0x33c259)return;updateBranchTracking(_0x33c259);const _0x1c8750=await getToken();if(!_0x1c8750)return;const _0x4a2e88=getSessionEntry(_0x33c259);if(_0x4a2e88){const _0x3a25d4={'hookSpecificOutput':{'hookEventName':_0xc9c7aa[_0xeb9bac(0x87)],'additionalContext':_0xeb9bac(0x7b)}};console[_0xeb9bac(0x7d)](JSON['stringify'](_0x3a25d4));return;}const _0x526b8e={'hookSpecificOutput':{'hookEventName':_0xc9c7aa[_0xeb9bac(0x87)],'additionalContext':_0xeb9bac(0x85)}};console[_0xeb9bac(0x7d)](JSON['stringify'](_0x526b8e));}
@@ -1 +1 @@
1
- (function(_0xeaf494,_0x2a3912){const _0x571f7b=_0x37cc,_0x4ceffc=_0xeaf494();while(!![]){try{const _0x1059c1=parseInt(_0x571f7b(0x1cb))/0x1*(parseInt(_0x571f7b(0x1c7))/0x2)+-parseInt(_0x571f7b(0x1c2))/0x3*(parseInt(_0x571f7b(0x1c5))/0x4)+-parseInt(_0x571f7b(0x1c3))/0x5+parseInt(_0x571f7b(0x1cd))/0x6*(parseInt(_0x571f7b(0x1c6))/0x7)+-parseInt(_0x571f7b(0x1cc))/0x8+-parseInt(_0x571f7b(0x1c1))/0x9*(parseInt(_0x571f7b(0x1c4))/0xa)+parseInt(_0x571f7b(0x1ca))/0xb;if(_0x1059c1===_0x2a3912)break;else _0x4ceffc['push'](_0x4ceffc['shift']());}catch(_0x4450fe){_0x4ceffc['push'](_0x4ceffc['shift']());}}}(_0x278a,0x9d201));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x1c3c7a){const _0x4350e7=_0x37cc,_0x1ca748={'czeQn':function(_0x571003,_0x49b398){return _0x571003(_0x49b398);}},_0x3b9f3d=await _0x1ca748[_0x4350e7(0x1c8)](getEnabledSessionId,_0x1c3c7a);if(!_0x3b9f3d)return;try{const _0x1628de=await getToken();if(!_0x1628de)return;printBlock(_0x4350e7(0x1c9));}catch{}}function _0x37cc(_0x4a5caa,_0x2de5db){_0x4a5caa=_0x4a5caa-0x1c1;const _0x278a4e=_0x278a();let _0x37cc43=_0x278a4e[_0x4a5caa];return _0x37cc43;}function _0x278a(){const _0x29149c=['4751920WvqPNT','6yEWjDj','568323AUfUeq','3234ywrBis','5669035omNvlu','10sIDYHH','4604CFmktv','3477327WqcKRO','14KfinSg','czeQn','===\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`.','30741172qtKxZW','54842GrGnlP'];_0x278a=function(){return _0x29149c;};return _0x278a();}
1
+ (function(_0x142051,_0x5daa09){const _0x534f19=_0x4f25,_0x20b691=_0x142051();while(!![]){try{const _0x2f505d=parseInt(_0x534f19(0x1db))/0x1+parseInt(_0x534f19(0x1e3))/0x2+-parseInt(_0x534f19(0x1e4))/0x3*(-parseInt(_0x534f19(0x1dd))/0x4)+-parseInt(_0x534f19(0x1df))/0x5+parseInt(_0x534f19(0x1d9))/0x6+-parseInt(_0x534f19(0x1e1))/0x7*(-parseInt(_0x534f19(0x1e0))/0x8)+parseInt(_0x534f19(0x1da))/0x9*(-parseInt(_0x534f19(0x1dc))/0xa);if(_0x2f505d===_0x5daa09)break;else _0x20b691['push'](_0x20b691['shift']());}catch(_0x51a340){_0x20b691['push'](_0x20b691['shift']());}}}(_0x22aa,0x7a5b3));import{getToken}from'../utils/keychain.js';function _0x22aa(){const _0x2c8bd9=['TNxAh','3120885sXiZVC','8tDcucT','5542873mdrCjy','===\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`.','1288160NsnLJV','107427EKsXnV','qJGvr','5402364sBsdvA','747VmOiBv','458643jtaZrf','283130fDxTpo','76WQxDtU'];_0x22aa=function(){return _0x2c8bd9;};return _0x22aa();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x4f25(_0x4c5dae,_0xbe95d4){_0x4c5dae=_0x4c5dae-0x1d9;const _0x22aa5c=_0x22aa();let _0x4f2594=_0x22aa5c[_0x4c5dae];return _0x4f2594;}export async function preCompact(_0x1cde66){const _0x4fcbaf=_0x4f25,_0x1d6554={'qJGvr':function(_0xbcfb8e,_0x4527c1){return _0xbcfb8e(_0x4527c1);},'TNxAh':function(_0x35371f){return _0x35371f();}},_0x3b0d4a=await _0x1d6554[_0x4fcbaf(0x1e5)](getEnabledSessionId,_0x1cde66);if(!_0x3b0d4a)return;try{const _0x3ea7cb=await _0x1d6554[_0x4fcbaf(0x1de)](getToken);if(!_0x3ea7cb)return;printBlock(_0x4fcbaf(0x1e2));}catch{}}
@@ -1 +1 @@
1
- (function(_0x148de0,_0x584bf2){const _0x46ebdc=_0x3056,_0x3a1fc0=_0x148de0();while(!![]){try{const _0x72647b=parseInt(_0x46ebdc(0x11a))/0x1*(parseInt(_0x46ebdc(0x113))/0x2)+-parseInt(_0x46ebdc(0x114))/0x3*(-parseInt(_0x46ebdc(0x120))/0x4)+parseInt(_0x46ebdc(0x11c))/0x5*(-parseInt(_0x46ebdc(0x116))/0x6)+-parseInt(_0x46ebdc(0x122))/0x7*(-parseInt(_0x46ebdc(0x11e))/0x8)+parseInt(_0x46ebdc(0x11b))/0x9*(parseInt(_0x46ebdc(0x118))/0xa)+-parseInt(_0x46ebdc(0x117))/0xb+-parseInt(_0x46ebdc(0x121))/0xc*(parseInt(_0x46ebdc(0x11d))/0xd);if(_0x72647b===_0x584bf2)break;else _0x3a1fc0['push'](_0x3a1fc0['shift']());}catch(_0x540f3d){_0x3a1fc0['push'](_0x3a1fc0['shift']());}}}(_0x4ead,0x253c5));function _0x3056(_0x3d14ba,_0x5c250a){_0x3d14ba=_0x3d14ba-0x113;const _0x4ead4c=_0x4ead();let _0x3056a8=_0x4ead4c[_0x3d14ba];return _0x3056a8;}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x4ead(){const _0x35a17c=['8KOWjhc','7358424RXBITM','14RtvTHt','66610oZuJgL','457428CGcold','session_id','216kBcSWD','107723ZtEjUt','10zgYvFE','env','5XxaiJo','2373561sbABAR','20140lkCZdS','13UyEDvr','741256xKnzhg','CLAUDE_SESSION_ID'];_0x4ead=function(){return _0x35a17c;};return _0x4ead();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x14e027){const _0x4b89cf=_0x3056,_0xbb4aa={'iIvYm':function(_0xe4b813,_0x12084f){return _0xe4b813(_0x12084f);},'taVum':function(_0x14abb3){return _0x14abb3();}},_0x4b0073=process[_0x4b89cf(0x119)][_0x4b89cf(0x11f)];let _0x20d28b=_0x14e027,_0x55441b;if(!_0x14e027){if(_0x4b0073&&!_0xbb4aa['iIvYm'](isSessionEnabled,_0x4b0073))return;const _0xb56413=await _0xbb4aa['taVum'](readHookInput);_0x20d28b=_0xb56413?.[_0x4b89cf(0x115)]||_0x4b0073,_0x55441b=_0xb56413?.['reason'];}if(!_0x20d28b)return;_0x55441b==='clear'&&recordEnabledSessionCleared(_0x20d28b);}
1
+ (function(_0x4fa45c,_0x53707d){const _0x2c8fe0=_0x3ba0,_0x3007b3=_0x4fa45c();while(!![]){try{const _0x285327=-parseInt(_0x2c8fe0(0x145))/0x1+parseInt(_0x2c8fe0(0x13d))/0x2*(parseInt(_0x2c8fe0(0x144))/0x3)+parseInt(_0x2c8fe0(0x149))/0x4+parseInt(_0x2c8fe0(0x147))/0x5+parseInt(_0x2c8fe0(0x148))/0x6+-parseInt(_0x2c8fe0(0x146))/0x7*(parseInt(_0x2c8fe0(0x140))/0x8)+-parseInt(_0x2c8fe0(0x143))/0x9;if(_0x285327===_0x53707d)break;else _0x3007b3['push'](_0x3007b3['shift']());}catch(_0x44a02d){_0x3007b3['push'](_0x3007b3['shift']());}}}(_0x15da,0x79a1f));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x3ba0(_0x59d211,_0x56c247){_0x59d211=_0x59d211-0x13d;const _0x15daea=_0x15da();let _0x3ba056=_0x15daea[_0x59d211];return _0x3ba056;}function _0x15da(){const _0x4f413d=['356621dzGzUo','1189293ScUVaa','2839080UptgnG','855126ZUNPpo','441684pzANRH','148130fIUPNA','clear','session_id','24bnwLle','wDdbR','env','1105362qHNHmi','27paMwmD'];_0x15da=function(){return _0x4f413d;};return _0x15da();}export async function sessionEnd(_0x16e5a5){const _0x4aae1d=_0x3ba0,_0x91a81e={'mnaKw':function(_0x42e124,_0x2db4b2){return _0x42e124===_0x2db4b2;},'wDdbR':_0x4aae1d(0x13e)},_0x199010=process[_0x4aae1d(0x142)]['CLAUDE_SESSION_ID'];let _0x3ce4f1=_0x16e5a5,_0x5737ba;if(!_0x16e5a5){if(_0x199010&&!isSessionEnabled(_0x199010))return;const _0x17a108=await readHookInput();_0x3ce4f1=_0x17a108?.[_0x4aae1d(0x13f)]||_0x199010,_0x5737ba=_0x17a108?.['reason'];}if(!_0x3ce4f1)return;_0x91a81e['mnaKw'](_0x5737ba,_0x91a81e[_0x4aae1d(0x141)])&&recordEnabledSessionCleared(_0x3ce4f1);}
@@ -1 +1 @@
1
- function _0x26c1(){const _0x5669ed=['success','2224dbFrls','hook:session-start','parse','Ftvxr','4433297tZNprg','18UIaitD','363895azZQhz','88878zZNZli','ANgIH','stdin','807xitkvG','ADQRA','snqeM','43999DQzSlA','98gsanTs','IfqhP','1407400RRNNWx','171EiwoRo','=================================================================\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=================================================================','trackCommandEnd','129584CXWJCC','12klCsmX'];_0x26c1=function(){return _0x5669ed;};return _0x26c1();}const _0x565abb=_0x141a;function _0x141a(_0x285086,_0x4fa682){_0x285086=_0x285086-0x9f;const _0x26c16b=_0x26c1();let _0x141a41=_0x26c16b[_0x285086];return _0x141a41;}(function(_0xda82bb,_0xdd2cb8){const _0x4ea8f8=_0x141a,_0x3b4941=_0xda82bb();while(!![]){try{const _0x3aef15=parseInt(_0x4ea8f8(0xa0))/0x1*(parseInt(_0x4ea8f8(0xaf))/0x2)+parseInt(_0x4ea8f8(0xb4))/0x3*(-parseInt(_0x4ea8f8(0xaa))/0x4)+parseInt(_0x4ea8f8(0xb0))/0x5+-parseInt(_0x4ea8f8(0xb1))/0x6*(-parseInt(_0x4ea8f8(0xa1))/0x7)+parseInt(_0x4ea8f8(0xa7))/0x8*(parseInt(_0x4ea8f8(0xa4))/0x9)+-parseInt(_0x4ea8f8(0xa3))/0xa+parseInt(_0x4ea8f8(0xae))/0xb*(-parseInt(_0x4ea8f8(0xa8))/0xc);if(_0x3aef15===_0xdd2cb8)break;else _0x3b4941['push'](_0x3b4941['shift']());}catch(_0x562eb2){_0x3b4941['push'](_0x3b4941['shift']());}}}(_0x26c1,0x46f17));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=_0x565abb(0xa5);export async function sessionStart(_0xd47270){const _0x15e64e=_0x565abb,_0x12c7ef={'XDZUH':'session_id','mfQcw':function(_0x339ecb){return _0x339ecb();},'IfqhP':function(_0x564fe6,_0x564c39){return _0x564fe6(_0x564c39);},'ANgIH':function(_0x3a217f,_0x26da1e){return _0x3a217f(_0x26da1e);},'snqeM':_0x15e64e(0xa9),'ADQRA':function(_0x57717e,_0x3e8463){return _0x57717e!==_0x3e8463;},'Ftvxr':'main','HQpEg':function(_0x56394e,_0x55f3b9){return _0x56394e+_0x55f3b9;}};let _0xa68580=_0xd47270||'',_0x47cdd1;if(!_0xd47270){let _0x2bbc62='';for await(const _0x1f1e22 of process[_0x15e64e(0xb3)]){_0x2bbc62+=_0x1f1e22;}try{const _0x22d180=JSON[_0x15e64e(0xac)](_0x2bbc62);_0xa68580=_0x22d180[_0x12c7ef['XDZUH']]||'',_0x47cdd1=_0x22d180['source'];}catch{}const _0x11eeb4=process['env']['CLAUDE_ENV_FILE'];if(_0x11eeb4&&_0xa68580)try{await appendFile(_0x11eeb4,'export\x20CLAUDE_SESSION_ID=\x22'+_0xa68580+'\x22\x0a');}catch{}}try{await _0x12c7ef['mfQcw'](getToken);}catch{}if(_0xa68580){shouldAutoEnableAfterClear(_0x47cdd1)&&autoEnableAfterClear(_0xa68580);initBranchTracking(_0xa68580);const _0x5932b7=_0x12c7ef[_0x15e64e(0xa2)](isSessionEnabled,_0xa68580);try{const _0x29fbae=_0x12c7ef[_0x15e64e(0xb2)](createTelemetryCollector,_0x15e64e(0xab));await _0x29fbae['trackCommandStart']({'sessionId':_0xa68580,'hooksEnabled':_0x5932b7}),await _0x29fbae[_0x15e64e(0xa6)](_0x12c7ef[_0x15e64e(0x9f)]);}catch{}if(_0x5932b7){const _0x3b292e=_0x12c7ef['mfQcw'](getCurrentBranch),_0x220c44=_0x3b292e&&_0x12c7ef['ADQRA'](_0x3b292e,_0x12c7ef[_0x15e64e(0xad)])&&_0x12c7ef[_0x15e64e(0xb5)](_0x3b292e,'master')?'\x20(Branch:\x20'+_0x3b292e+')':'',_0xa92b5c={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x12c7ef['HQpEg'](RANGER_AUTO_ENABLED_PROMPT,_0x220c44)}};console['log'](JSON['stringify'](_0xa92b5c));}}}
1
+ const _0x4d54b0=_0x43b3;(function(_0x84daed,_0x11104b){const _0x3330d9=_0x43b3,_0x6ba8b4=_0x84daed();while(!![]){try{const _0x44d130=parseInt(_0x3330d9(0x105))/0x1+parseInt(_0x3330d9(0x11a))/0x2*(parseInt(_0x3330d9(0x114))/0x3)+-parseInt(_0x3330d9(0x118))/0x4+-parseInt(_0x3330d9(0x11b))/0x5*(-parseInt(_0x3330d9(0x10b))/0x6)+-parseInt(_0x3330d9(0x116))/0x7*(parseInt(_0x3330d9(0x10d))/0x8)+parseInt(_0x3330d9(0x11e))/0x9*(parseInt(_0x3330d9(0x10f))/0xa)+-parseInt(_0x3330d9(0x11d))/0xb*(parseInt(_0x3330d9(0x113))/0xc);if(_0x44d130===_0x11104b)break;else _0x6ba8b4['push'](_0x6ba8b4['shift']());}catch(_0x7efe3f){_0x6ba8b4['push'](_0x6ba8b4['shift']());}}}(_0xb93e,0xb8679));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';function _0xb93e(){const _0x12d5b5=['\x20(Branch:\x20','vHJGL','114pfKzrp','stKrp','2581584NrFVmi','pKWNT','10evZDTe','session_id','OWkQc','trackCommandEnd','12tKYLKC','33WiAfNp','PyLnv','7REnYaF','log','3385400xtgmrw','=================================================================\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=================================================================','212362TbOlzb','30005LDhWRR','parse','616022dqJTly','1421469eLlxmr','540420vagAMV','QzIka','shYAI','trackCommandStart'];_0xb93e=function(){return _0x12d5b5;};return _0xb93e();}function _0x43b3(_0x57865c,_0x56dff0){_0x57865c=_0x57865c-0x105;const _0xb93e9=_0xb93e();let _0x43b3f2=_0xb93e9[_0x57865c];return _0x43b3f2;}const RANGER_AUTO_ENABLED_PROMPT=_0x4d54b0(0x119);export async function sessionStart(_0x366afb){const _0x3c0b01=_0x4d54b0,_0x9d38c4={'gMlOm':'source','EJjkp':function(_0x1c296e,_0x3dbd52){return _0x1c296e&&_0x3dbd52;},'shYAI':function(_0x4db0e9,_0x5f56f9){return _0x4db0e9(_0x5f56f9);},'pKWNT':'success','stKrp':function(_0x6abf10,_0x14a0da){return _0x6abf10!==_0x14a0da;},'QzIka':'main','PyLnv':function(_0xff70ab,_0x235108){return _0xff70ab!==_0x235108;},'vHJGL':'master','OWkQc':'SessionStart'};let _0x5f0e88=_0x366afb||'',_0x5a9efd;if(!_0x366afb){let _0x2454e6='';for await(const _0x4c96af of process['stdin']){_0x2454e6+=_0x4c96af;}try{const _0x48acea=JSON[_0x3c0b01(0x11c)](_0x2454e6);_0x5f0e88=_0x48acea[_0x3c0b01(0x110)]||'',_0x5a9efd=_0x48acea[_0x9d38c4['gMlOm']];}catch{}const _0x5d696c=process['env']['CLAUDE_ENV_FILE'];if(_0x9d38c4['EJjkp'](_0x5d696c,_0x5f0e88))try{await appendFile(_0x5d696c,'export\x20CLAUDE_SESSION_ID=\x22'+_0x5f0e88+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x5f0e88){shouldAutoEnableAfterClear(_0x5a9efd)&&_0x9d38c4[_0x3c0b01(0x107)](autoEnableAfterClear,_0x5f0e88);_0x9d38c4[_0x3c0b01(0x107)](initBranchTracking,_0x5f0e88);const _0x32cbac=isSessionEnabled(_0x5f0e88);try{const _0xc21f5e=createTelemetryCollector('hook:session-start');await _0xc21f5e[_0x3c0b01(0x108)]({'sessionId':_0x5f0e88,'hooksEnabled':_0x32cbac}),await _0xc21f5e[_0x3c0b01(0x112)](_0x9d38c4[_0x3c0b01(0x10e)]);}catch{}if(_0x32cbac){const _0x2f5fee=getCurrentBranch(),_0x221ab5=_0x2f5fee&&_0x9d38c4[_0x3c0b01(0x10c)](_0x2f5fee,_0x9d38c4[_0x3c0b01(0x106)])&&_0x9d38c4[_0x3c0b01(0x115)](_0x2f5fee,_0x9d38c4[_0x3c0b01(0x10a)])?_0x3c0b01(0x109)+_0x2f5fee+')':'',_0x160f3d={'hookSpecificOutput':{'hookEventName':_0x9d38c4[_0x3c0b01(0x111)],'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x221ab5}};console[_0x3c0b01(0x117)](JSON['stringify'](_0x160f3d));}}}
@@ -1 +1 @@
1
- (function(_0x1268ee,_0x5cc03e){const _0x27b49a=_0xea9d,_0x3721af=_0x1268ee();while(!![]){try{const _0x382003=parseInt(_0x27b49a(0x198))/0x1*(parseInt(_0x27b49a(0x19f))/0x2)+parseInt(_0x27b49a(0x1a4))/0x3+-parseInt(_0x27b49a(0x199))/0x4+-parseInt(_0x27b49a(0x192))/0x5+parseInt(_0x27b49a(0x194))/0x6+-parseInt(_0x27b49a(0x1a3))/0x7*(-parseInt(_0x27b49a(0x196))/0x8)+-parseInt(_0x27b49a(0x19c))/0x9;if(_0x382003===_0x5cc03e)break;else _0x3721af['push'](_0x3721af['shift']());}catch(_0x1c914b){_0x3721af['push'](_0x3721af['shift']());}}}(_0x366c,0xc30e4));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';function _0x366c(){const _0x39a931=['stringify','4588615LLfRUX','mjPxz','8096376aoXSbT','iebTS','67720SMDndB','wxdsN','72255SHOWSD','3290680DUVLom','verification_in_progress','verified','7037595bcyoKl','status','featureId','24XrOwVw','tVSEA','sessionId','log','462YovqHV','1638450fvljLJ','Stop'];_0x366c=function(){return _0x39a931;};return _0x366c();}function _0xea9d(_0x106a16,_0x9d2332){_0x106a16=_0x106a16-0x192;const _0x366c6f=_0x366c();let _0xea9d14=_0x366c6f[_0x106a16];return _0xea9d14;}import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x17cfc9){const _0x372fca=_0xea9d,_0x321db0={'IlAUT':function(_0x159839,_0x29a406,_0x12686a,_0x1b657b){return _0x159839(_0x29a406,_0x12686a,_0x1b657b);},'xgdyy':function(_0xe47fba,_0x2c5396){return _0xe47fba(_0x2c5396);},'ZDnCo':function(_0x474dfc,_0x2d87c9){return _0x474dfc&&_0x2d87c9;},'wxdsN':_0x372fca(0x1a5),'oJlDJ':function(_0x17a0b2,_0x3da138,_0x1bb923){return _0x17a0b2(_0x3da138,_0x1bb923);},'mjPxz':function(_0x339b64,_0x1ebf78,_0x4ba672,_0x12c329){return _0x339b64(_0x1ebf78,_0x4ba672,_0x12c329);}},_0x1c6961=await getEnabledHookContext(_0x17cfc9),_0x2fabdf=_0x1c6961?.[_0x372fca(0x1a1)]??null;let _0x3bfd8f=!![];if(!_0x2fabdf){await _0x321db0['IlAUT'](trackStop,_0x2fabdf,![],_0x3bfd8f);return;}try{const _0x30e4cb=getSessionEntry(_0x2fabdf);if(!_0x30e4cb){await _0x321db0['IlAUT'](trackStop,_0x2fabdf,!![],_0x3bfd8f);return;}const _0x3d8558=await getToken(),_0x34a0f5='https://dashboard.ranger.net/features/'+_0x30e4cb[_0x372fca(0x19e)];let _0x4634cd=null,_0x25c77=![],_0x476410=![];if(_0x3d8558)try{const _0x3564a8=await _0x321db0['xgdyy'](getFeature,_0x30e4cb[_0x372fca(0x19e)]);_0x4634cd=_0x3564a8['currentSessionId']??null;const _0x559c0f=_0x3564a8['checklistItems']['filter'](_0x562018=>_0x562018[_0x372fca(0x1a1)]===_0x4634cd);_0x25c77=_0x559c0f['some'](_0x3a0708=>_0x3a0708[_0x372fca(0x19d)]!==_0x372fca(0x19b)&&_0x3a0708[_0x372fca(0x19d)]!=='blocked'&&_0x3a0708['status']!=='closed'&&_0x3a0708[_0x372fca(0x19d)]!=='incomplete'),_0x476410=_0x559c0f['some'](_0x1b3768=>_0x1b3768[_0x372fca(0x19d)]===_0x372fca(0x19a));}catch{}if(_0x321db0['ZDnCo'](_0x3d8558,_0x4634cd)&&_0x25c77){if(!_0x476410&&shouldShowStopReminder(_0x2fabdf)){const _0x3bec5d={'hookSpecificOutput':{'hookEventName':_0x321db0[_0x372fca(0x197)],'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'+_0x34a0f5}};console[_0x372fca(0x1a2)](JSON[_0x372fca(0x1a6)](_0x3bec5d));}}if(_0x3d8558&&_0x4634cd&&!_0x25c77)try{await _0x321db0['oJlDJ'](concludeSession,_0x30e4cb[_0x372fca(0x19e)],_0x4634cd);}catch{}await _0x321db0['mjPxz'](trackStop,_0x2fabdf,!![],_0x3bfd8f);return;}catch{await _0x321db0[_0x372fca(0x193)](trackStop,_0x2fabdf,!![],_0x3bfd8f);return;}}async function trackStop(_0x3e42cf,_0x5145f0,_0x3eb262){const _0xd57a26=_0xea9d,_0x26eab4={'htUPZ':'hook:stop','iebTS':function(_0x2cb4e8,_0x4a1cf0){return _0x2cb4e8??_0x4a1cf0;},'tVSEA':'success'};try{const _0x349104=createTelemetryCollector(_0x26eab4['htUPZ']);await _0x349104['trackCommandStart']({'sessionId':_0x26eab4[_0xd57a26(0x195)](_0x3e42cf,undefined),'hooksEnabled':_0x5145f0,'stopAllowed':_0x3eb262}),await _0x349104['trackCommandEnd'](_0x26eab4[_0xd57a26(0x1a0)]);}catch{}}
1
+ (function(_0x53bb22,_0x42fc75){const _0x2e88df=_0x1cbe,_0x1ac3db=_0x53bb22();while(!![]){try{const _0x5e2910=parseInt(_0x2e88df(0x13e))/0x1+-parseInt(_0x2e88df(0x136))/0x2*(-parseInt(_0x2e88df(0x139))/0x3)+-parseInt(_0x2e88df(0x145))/0x4*(-parseInt(_0x2e88df(0x146))/0x5)+parseInt(_0x2e88df(0x133))/0x6*(parseInt(_0x2e88df(0x13f))/0x7)+parseInt(_0x2e88df(0x137))/0x8*(-parseInt(_0x2e88df(0x147))/0x9)+parseInt(_0x2e88df(0x134))/0xa+parseInt(_0x2e88df(0x144))/0xb*(-parseInt(_0x2e88df(0x141))/0xc);if(_0x5e2910===_0x42fc75)break;else _0x1ac3db['push'](_0x1ac3db['shift']());}catch(_0x3b389c){_0x1ac3db['push'](_0x1ac3db['shift']());}}}(_0x3750,0xc930a));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';function _0x3750(){const _0x24651a=['filter','658960rcYbcb','8205015ItTqyN','Stop','11189172aEVciU','status','blocked','33JSgauM','16ITYOTw','1544195XQgSGx','657RrBanK','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','checklistItems','awEAG','6Oiagyo','6937260CWVDVT','closed','6PAwEwU','69512QhNjuQ','cxEGq','495477hNnHhf','sessionId','featureId','log'];_0x3750=function(){return _0x24651a;};return _0x3750();}import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';function _0x1cbe(_0x21f7dc,_0x32adf6){_0x21f7dc=_0x21f7dc-0x133;const _0x3750d9=_0x3750();let _0x1cbed7=_0x3750d9[_0x21f7dc];return _0x1cbed7;}export async function stopHook(_0x79a553){const _0x13d0a4=_0x1cbe,_0x18f025={'OsIIP':function(_0x4ef09,_0x31cf8c){return _0x4ef09(_0x31cf8c);},'cIyNy':function(_0x894f01,_0x57d2db){return _0x894f01&&_0x57d2db;},'thDNv':function(_0x2cb01c,_0x2cd76e){return _0x2cb01c(_0x2cd76e);},'awEAG':function(_0x3c0bd7,_0x49f131,_0x1def75,_0x1c2c89){return _0x3c0bd7(_0x49f131,_0x1def75,_0x1c2c89);}},_0x397669=await getEnabledHookContext(_0x79a553),_0x27a075=_0x397669?.[_0x13d0a4(0x13a)]??null;let _0x617e7f=!![];if(!_0x27a075){await trackStop(_0x27a075,![],_0x617e7f);return;}try{const _0x40888d=_0x18f025['OsIIP'](getSessionEntry,_0x27a075);if(!_0x40888d){await trackStop(_0x27a075,!![],_0x617e7f);return;}const _0x343c1c=await getToken(),_0x24eed3='https://dashboard.ranger.net/features/'+_0x40888d['featureId'];let _0x3bdb7a=null,_0x12f780=![],_0x27b706=![];if(_0x343c1c)try{const _0x46726c=await _0x18f025['OsIIP'](getFeature,_0x40888d['featureId']);_0x3bdb7a=_0x46726c['currentSessionId']??null;const _0x30e0a5=_0x46726c[_0x13d0a4(0x149)][_0x13d0a4(0x13d)](_0x38f485=>_0x38f485['sessionId']===_0x3bdb7a);_0x12f780=_0x30e0a5['some'](_0x1fa9ea=>_0x1fa9ea['status']!=='verified'&&_0x1fa9ea[_0x13d0a4(0x142)]!==_0x13d0a4(0x143)&&_0x1fa9ea['status']!==_0x13d0a4(0x135)&&_0x1fa9ea[_0x13d0a4(0x142)]!=='incomplete'),_0x27b706=_0x30e0a5['some'](_0x4f3a4f=>_0x4f3a4f['status']==='verification_in_progress');}catch{}if(_0x18f025['cIyNy'](_0x343c1c,_0x3bdb7a)&&_0x12f780){if(!_0x27b706&&_0x18f025['thDNv'](shouldShowStopReminder,_0x27a075)){const _0x30d983={'hookSpecificOutput':{'hookEventName':_0x13d0a4(0x140),'additionalContext':_0x13d0a4(0x148)+_0x24eed3}};console[_0x13d0a4(0x13c)](JSON['stringify'](_0x30d983));}}if(_0x343c1c&&_0x3bdb7a&&!_0x12f780)try{await concludeSession(_0x40888d[_0x13d0a4(0x13b)],_0x3bdb7a);}catch{}await _0x18f025['awEAG'](trackStop,_0x27a075,!![],_0x617e7f);return;}catch{await _0x18f025[_0x13d0a4(0x14a)](trackStop,_0x27a075,!![],_0x617e7f);return;}}async function trackStop(_0x4ab119,_0x402e01,_0x4ebd18){const _0x41001c=_0x1cbe,_0x6466fd={'cxEGq':function(_0x33cc1f,_0x160404){return _0x33cc1f(_0x160404);}};try{const _0x146a0b=_0x6466fd[_0x41001c(0x138)](createTelemetryCollector,'hook:stop');await _0x146a0b['trackCommandStart']({'sessionId':_0x4ab119??undefined,'hooksEnabled':_0x402e01,'stopAllowed':_0x4ebd18}),await _0x146a0b['trackCommandEnd']('success');}catch{}}
@@ -1 +1 @@
1
- (function(_0x1464cc,_0x500ccf){var _0xc54c83=_0x428f,_0x5daca5=_0x1464cc();while(!![]){try{var _0x493e04=parseInt(_0xc54c83(0xf8))/0x1*(parseInt(_0xc54c83(0xf0))/0x2)+-parseInt(_0xc54c83(0xf4))/0x3+-parseInt(_0xc54c83(0xf1))/0x4*(-parseInt(_0xc54c83(0xf5))/0x5)+parseInt(_0xc54c83(0xef))/0x6+-parseInt(_0xc54c83(0xf2))/0x7*(parseInt(_0xc54c83(0xed))/0x8)+-parseInt(_0xc54c83(0xf3))/0x9*(parseInt(_0xc54c83(0xf6))/0xa)+parseInt(_0xc54c83(0xee))/0xb*(parseInt(_0xc54c83(0xf7))/0xc);if(_0x493e04===_0x500ccf)break;else _0x5daca5['push'](_0x5daca5['shift']());}catch(_0x370546){_0x5daca5['push'](_0x5daca5['shift']());}}}(_0x49c6,0xd5bd5));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';function _0x49c6(){var _0x11be1f=['28arFtPy','10934838HgnIip','1957446bflxKd','1606390eGGNcW','10uvqyxy','1422108xUpAcA','10woUhwB','1477784eIzKgf','11HGhhqb','7224468wpBZUs','303338zeOdHP','8rEVcle'];_0x49c6=function(){return _0x11be1f;};return _0x49c6();}function _0x428f(_0x4bd1fc,_0x3ca3ab){_0x4bd1fc=_0x4bd1fc-0xed;var _0x49c684=_0x49c6();var _0x428fc8=_0x49c684[_0x4bd1fc];return _0x428fc8;}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
+ (function(_0x9a4e00,_0x381c9c){var _0x13ca4f=_0xe578,_0x462fd6=_0x9a4e00();while(!![]){try{var _0x2eac7b=-parseInt(_0x13ca4f(0xe9))/0x1+parseInt(_0x13ca4f(0xeb))/0x2+parseInt(_0x13ca4f(0xe6))/0x3+-parseInt(_0x13ca4f(0xe5))/0x4+-parseInt(_0x13ca4f(0xec))/0x5+parseInt(_0x13ca4f(0xe8))/0x6*(-parseInt(_0x13ca4f(0xea))/0x7)+parseInt(_0x13ca4f(0xe7))/0x8;if(_0x2eac7b===_0x381c9c)break;else _0x462fd6['push'](_0x462fd6['shift']());}catch(_0x101483){_0x462fd6['push'](_0x462fd6['shift']());}}}(_0xe6d3,0xbd2bf));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';function _0xe578(_0x2e9069,_0x55d9e9){_0x2e9069=_0x2e9069-0xe5;var _0xe6d3b3=_0xe6d3();var _0xe57867=_0xe6d3b3[_0x2e9069];return _0xe57867;}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 _0xe6d3(){var _0x1edb3e=['857575hVMThI','7ytkmot','2476266ElhUBv','5145495JBmRov','1894872Flqxpb','1254732meRTTE','21617128SLesmA','7339674SZBYpa'];_0xe6d3=function(){return _0x1edb3e;};return _0xe6d3();}
@@ -1 +1 @@
1
- function _0x581d(){const _0x2b0f1a=['6304100NNNNQT','message','603gurBUf','sPQeQ','295494dqUvKw','stdin','6694670ZHYYaw','40HSmRTx','organizationName','955508BvhpVo','stdout','978426aXCsqd','2bJxGun','17452Sjvwpn','log','21VJEETn','success','1071736OZOikF'];_0x581d=function(){return _0x2b0f1a;};return _0x581d();}(function(_0x1d6211,_0x29ff05){const _0x2b0644=_0x47d5,_0x662801=_0x1d6211();while(!![]){try{const _0x240a42=-parseInt(_0x2b0644(0x1b5))/0x1*(-parseInt(_0x2b0644(0x1a6))/0x2)+parseInt(_0x2b0644(0x1ae))/0x3*(parseInt(_0x2b0644(0x1a7))/0x4)+parseInt(_0x2b0644(0x1b3))/0x5*(parseInt(_0x2b0644(0x1b0))/0x6)+parseInt(_0x2b0644(0x1a9))/0x7*(-parseInt(_0x2b0644(0x1ab))/0x8)+parseInt(_0x2b0644(0x1b7))/0x9+-parseInt(_0x2b0644(0x1b2))/0xa+-parseInt(_0x2b0644(0x1ac))/0xb;if(_0x240a42===_0x29ff05)break;else _0x662801['push'](_0x662801['shift']());}catch(_0x4d2f29){_0x662801['push'](_0x662801['shift']());}}}(_0x581d,0xa8a15));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x47d5(_0x13f5c9,_0x5f599d){_0x13f5c9=_0x13f5c9-0x1a6;const _0x581de8=_0x581d();let _0x47d5df=_0x581de8[_0x13f5c9];return _0x47d5df;}export async function login(){const _0x3995e7=_0x47d5,_0x32a0c0={'sPQeQ':function(_0x33918c){return _0x33918c();},'tUBjq':function(_0x402d6d,_0x2fcdd8){return _0x402d6d(_0x2fcdd8);}},_0x30fe6e=await getMcpAuthOrigin();if(_0x30fe6e){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await _0x32a0c0[_0x3995e7(0x1af)](mcpBootstrap);return;}const _0x36cab4=process[_0x3995e7(0x1b1)]['isTTY']&&process[_0x3995e7(0x1b6)]['isTTY'];if(!_0x36cab4)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x2ce299=await _0x32a0c0[_0x3995e7(0x1af)](runDeviceAuthFlow),_0x4019ef=await _0x32a0c0['tUBjq'](getCurrentUser,_0x2ce299);_0x4019ef[_0x3995e7(0x1aa)]?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4019ef['user'][_0x3995e7(0x1b4)]):console[_0x3995e7(0x1a8)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x5dd232){throw new Error('Login\x20failed:\x20'+(_0x5dd232 instanceof Error?_0x5dd232[_0x3995e7(0x1ad)]:_0x5dd232));}}
1
+ (function(_0x178175,_0x210e76){const _0x41c450=_0x14da,_0x4fa62b=_0x178175();while(!![]){try{const _0x25732d=-parseInt(_0x41c450(0xee))/0x1+parseInt(_0x41c450(0xf3))/0x2*(-parseInt(_0x41c450(0xf2))/0x3)+-parseInt(_0x41c450(0xfc))/0x4*(parseInt(_0x41c450(0xef))/0x5)+parseInt(_0x41c450(0xf7))/0x6*(-parseInt(_0x41c450(0xfb))/0x7)+-parseInt(_0x41c450(0xfa))/0x8*(parseInt(_0x41c450(0xec))/0x9)+-parseInt(_0x41c450(0xfd))/0xa*(-parseInt(_0x41c450(0xf1))/0xb)+parseInt(_0x41c450(0xed))/0xc;if(_0x25732d===_0x210e76)break;else _0x4fa62b['push'](_0x4fa62b['shift']());}catch(_0x3ef524){_0x4fa62b['push'](_0x4fa62b['shift']());}}}(_0x1491,0xa04b2));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x14da(_0x3bf934,_0x5dff5e){_0x3bf934=_0x3bf934-0xec;const _0x14917f=_0x1491();let _0x14da26=_0x14917f[_0x3bf934];return _0x14da26;}export async function login(){const _0xb042e2=_0x14da,_0x158021={'aBzgK':function(_0x1c4ce4){return _0x1c4ce4();},'mGUlT':'Re-authenticating\x20via\x20MCP\x20bootstrap...','DITPK':function(_0x4da965){return _0x4da965();},'fowgx':_0xb042e2(0xf4),'HrHDD':_0xb042e2(0xff)},_0x1d85d1=await _0x158021[_0xb042e2(0xf0)](getMcpAuthOrigin);if(_0x1d85d1){console[_0xb042e2(0xf5)](_0x158021['mGUlT']),await _0x158021[_0xb042e2(0xf8)](mcpBootstrap);return;}const _0x2b3daa=process['stdin']['isTTY']&&process[_0xb042e2(0xfe)]['isTTY'];if(!_0x2b3daa)throw new Error(_0x158021['fowgx']);try{const _0x118437=await runDeviceAuthFlow(),_0x75a917=await getCurrentUser(_0x118437);_0x75a917['success']?console[_0xb042e2(0xf5)](_0xb042e2(0xf9)+_0x75a917['user']['organizationName']):console[_0xb042e2(0xf5)](_0x158021['HrHDD']);}catch(_0x4e1a2e){throw new Error(_0xb042e2(0xf6)+(_0x4e1a2e instanceof Error?_0x4e1a2e['message']:_0x4e1a2e));}}function _0x1491(){const _0x2ed117=['82GgQuWV','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','log','Login\x20failed:\x20','6978HmhSAZ','DITPK','\x0a✅\x20Logged\x20in\x20to\x20','297384cTYLJk','1659utlVZs','232kupPKg','570NkIFpo','stdout','\x0a✅\x20API\x20key\x20stored\x20successfully','297GoLXoC','37235064DZdQbC','271796skbDdm','91135PtZcOR','aBzgK','237193bLFmAV','61767rMKjuj'];_0x1491=function(){return _0x2ed117;};return _0x1491();}
@@ -1 +1 @@
1
- const _0x5f2572=_0x1cee;(function(_0x3c1a83,_0x191a10){const _0x5412a6=_0x1cee,_0x30e0a9=_0x3c1a83();while(!![]){try{const _0x33c332=-parseInt(_0x5412a6(0x199))/0x1*(-parseInt(_0x5412a6(0x1ca))/0x2)+-parseInt(_0x5412a6(0x184))/0x3+parseInt(_0x5412a6(0x1a9))/0x4+-parseInt(_0x5412a6(0x189))/0x5+-parseInt(_0x5412a6(0x188))/0x6*(-parseInt(_0x5412a6(0x1f2))/0x7)+parseInt(_0x5412a6(0x1d6))/0x8+-parseInt(_0x5412a6(0x1cd))/0x9*(parseInt(_0x5412a6(0x1b5))/0xa);if(_0x33c332===_0x191a10)break;else _0x30e0a9['push'](_0x30e0a9['shift']());}catch(_0x4fbc24){_0x30e0a9['push'](_0x30e0a9['shift']());}}}(_0x7552,0x3bdb9));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(),_0x5f2572(0x1b4),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x503f09=_0x5f2572,_0x20feb5={'Nfzcx':function(_0x377dc6,_0x72b8f7,_0x52a5f4){return _0x377dc6(_0x72b8f7,_0x52a5f4);},'OHFnL':_0x503f09(0x1b9)};try{const _0x59ff81=(await _0x20feb5['Nfzcx'](readFile,AUTH_ORIGIN_PATH,_0x20feb5['OHFnL']))[_0x503f09(0x1ad)]();return _0x59ff81||null;}catch{return null;}}export async function mcpBootstrap(){const _0x15cce8=_0x5f2572,_0x5bc1e9={'RqDmw':function(_0x159f17,_0x370835){return _0x159f17===_0x370835;},'xRUTF':function(_0x353e53){return _0x353e53();},'gOWVw':_0x15cce8(0x1bc),'nnYxG':_0x15cce8(0x197),'yIVbk':function(_0x2b2f01,_0x8b30ae,_0x505131){return _0x2b2f01(_0x8b30ae,_0x505131);}},_0x2657da=getMcpAuthUrl();currentOrigin=_0x2657da;const _0x16aae3=process[_0x15cce8(0x17d)][_0x15cce8(0x1ef)]??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x2657da+'\x0a');const _0x559a89=await tryUnauthenticated(_0x2657da);let _0xa1f127=null;if(_0x5bc1e9['RqDmw'](_0x559a89,'proxied'))_0xa1f127='';else{_0xa1f127=await _0x5bc1e9['xRUTF'](loadCachedToken);if(!_0xa1f127){if(!_0x16aae3)throw new Error(_0x5bc1e9['gOWVw']+_0x5bc1e9['nnYxG']);_0xa1f127=await oauthFlow(_0x2657da);}}await _0x5bc1e9[_0x15cce8(0x16c)](callGetCliToken,_0x2657da,_0xa1f127);}async function tryUnauthenticated(_0xcf3aa3){const _0xe35533=_0x5f2572,_0x52a6aa={'PdNXy':function(_0x44f294,_0x2f05b8,_0x1a9b02){return _0x44f294(_0x2f05b8,_0x1a9b02);},'dXvRU':'application/json,\x20text/event-stream','CulJw':'2025-03-26','GNwBl':'ranger-cli','lLNKG':_0xe35533(0x1d4),'JdmLu':'needs-oauth'},_0x294fe7=await _0x52a6aa['PdNXy'](fetch,_0xcf3aa3,{'method':_0xe35533(0x174),'headers':{'Content-Type':'application/json','Accept':_0x52a6aa['dXvRU']},'body':JSON[_0xe35533(0x19d)]({'jsonrpc':'2.0','id':0x1,'method':_0xe35533(0x1b1),'params':{'protocolVersion':_0x52a6aa['CulJw'],'capabilities':{},'clientInfo':{'name':_0x52a6aa['GNwBl'],'version':_0x52a6aa['lLNKG']}}})});if(_0x294fe7['ok'])return await _0x294fe7[_0xe35533(0x183)](),'proxied';if(_0x294fe7[_0xe35533(0x1e7)]===0x191)return await _0x294fe7[_0xe35533(0x183)](),_0x52a6aa[_0xe35533(0x16b)];const _0x19c1cc=await _0x294fe7[_0xe35533(0x183)]();throw new Error(_0xe35533(0x1e8)+_0x294fe7[_0xe35533(0x1e7)]+':\x20'+_0x19c1cc);}class OAuthTimeoutError extends Error{constructor(_0x5e47a0){super(_0x5e47a0),this['name']='OAuthTimeoutError';}}async function oauthFlow(_0x15042c){const _0x30e24e=_0x5f2572,_0x46aec0={'vjMMP':function(_0x530a9b){return _0x530a9b();}};try{return await oauthFlowAttempt(_0x15042c);}catch(_0x1c9872){if(_0x1c9872 instanceof OAuthTimeoutError&&await _0x46aec0['vjMMP'](loadCachedClient))return console['log'](_0x30e24e(0x1d8)),await _0x46aec0[_0x30e24e(0x1f4)](clearCachedClient),await oauthFlowAttempt(_0x15042c);throw _0x1c9872;}}async function oauthFlowAttempt(_0x3654b5){const _0x207f3a=_0x5f2572,_0x1f402e={'WTepQ':'Discovering\x20authorization\x20server...','xmATQ':function(_0x26a21b,_0x17a3e2){return _0x26a21b(_0x17a3e2);},'CedAe':'Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','QImYE':function(_0x387431){return _0x387431();},'ljhPQ':_0x207f3a(0x1be),'djitZ':_0x207f3a(0x1df),'eZPew':'authorization_code','RCYBv':_0x207f3a(0x1db),'vAnaR':_0x207f3a(0x19f),'hNHeX':function(_0x9ce41a,_0x29e5fe){return _0x9ce41a(_0x29e5fe);},'JLkMq':_0x207f3a(0x18c),'dBZkN':'base64url','mKjDa':'hex','hFHVG':'response_type','wqxrl':_0x207f3a(0x1d5),'Yoych':_0x207f3a(0x1c0),'pgQkg':_0x207f3a(0x1a6),'qHxzs':_0x207f3a(0x1b7),'MxoEN':function(_0x169dcb,_0x355a40,_0x9b554a){return _0x169dcb(_0x355a40,_0x9b554a);},'oYPlz':'application/x-www-form-urlencoded','qQjeA':_0x207f3a(0x1f1)},_0x34ce72=_0x3654b5['replace'](/\/mcp$/,'');process[_0x207f3a(0x17d)]['write'](_0x1f402e[_0x207f3a(0x187)]);const _0x503b40=await _0x1f402e[_0x207f3a(0x18f)](fetch,_0x34ce72+_0x207f3a(0x190));if(!_0x503b40['ok'])throw new Error(_0x1f402e['CedAe']);const _0x2cd3b2=await _0x503b40[_0x207f3a(0x1b2)](),_0x497092=_0x2cd3b2['authorization_servers']?.[0x0];if(!_0x497092)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x497092);const _0x2b64ac=await fetchAuthServerMetadata(_0x497092);let _0x5658a1,_0x42c9f4;const _0x506245=await _0x1f402e[_0x207f3a(0x175)](loadCachedClient);if(_0x506245)_0x5658a1=_0x506245['clientId'],_0x42c9f4=_0x506245['clientSecret'];else{if(_0x2b64ac['registration_endpoint']){process['stdout']['write'](_0x1f402e['ljhPQ']);const _0x285b5d=await fetch(_0x2b64ac[_0x207f3a(0x1a5)],{'method':'POST','headers':{'Content-Type':_0x207f3a(0x17c)},'body':JSON['stringify']({'client_name':_0x1f402e[_0x207f3a(0x1c5)],'redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x1f402e[_0x207f3a(0x1a7)],_0x1f402e[_0x207f3a(0x1e9)]],'response_types':['code'],'token_endpoint_auth_method':_0x207f3a(0x1b3)})});if(!_0x285b5d['ok']){const _0x1ae1ac=await _0x285b5d['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x1ae1ac);}const _0x3bf709=await _0x285b5d['json']();_0x5658a1=_0x3bf709[_0x207f3a(0x1c0)],_0x42c9f4=_0x3bf709['client_secret'],await saveCachedClient(_0x5658a1,_0x42c9f4),console['log']('\x20done');}else throw new Error(_0x1f402e['vAnaR']);}const _0x3677e4=randomBytes(0x20)['toString']('base64url'),_0x2e8746=_0x1f402e['hNHeX'](createHash,_0x1f402e[_0x207f3a(0x18a)])[_0x207f3a(0x19c)](_0x3677e4)[_0x207f3a(0x1cf)](_0x1f402e['dBZkN']),_0x3b95a3=_0x1f402e[_0x207f3a(0x19e)](randomBytes,0x10)['toString'](_0x1f402e[_0x207f3a(0x1e0)]),_0xbf2acc=new URL(_0x2b64ac['authorization_endpoint']);_0xbf2acc[_0x207f3a(0x182)][_0x207f3a(0x1bd)](_0x1f402e[_0x207f3a(0x1c4)],_0x1f402e[_0x207f3a(0x19a)]),_0xbf2acc[_0x207f3a(0x182)][_0x207f3a(0x1bd)](_0x1f402e['Yoych'],_0x5658a1),_0xbf2acc[_0x207f3a(0x182)][_0x207f3a(0x1bd)](_0x207f3a(0x195),'http://localhost:'+CALLBACK_PORT+_0x207f3a(0x1b6)),_0xbf2acc[_0x207f3a(0x182)]['set'](_0x207f3a(0x1d1),_0x2e8746),_0xbf2acc[_0x207f3a(0x182)]['set'](_0x1f402e[_0x207f3a(0x1c8)],_0x1f402e[_0x207f3a(0x16f)]),_0xbf2acc['searchParams']['set']('state',_0x3b95a3);_0x2cd3b2[_0x207f3a(0x177)]&&_0xbf2acc[_0x207f3a(0x182)][_0x207f3a(0x1bd)]('resource',_0x2cd3b2[_0x207f3a(0x177)]);console[_0x207f3a(0x1ba)](_0x207f3a(0x1f5)),console[_0x207f3a(0x1ba)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0xbf2acc[_0x207f3a(0x1b0)]()+'\x0a'),await openBrowser(_0xbf2acc['toString']());const _0x46658f=await waitForCallback(_0x3b95a3);process['stdout'][_0x207f3a(0x1aa)](_0x207f3a(0x1ab));const _0x57a13b=new URLSearchParams({'grant_type':_0x1f402e['eZPew'],'code':_0x46658f,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x207f3a(0x1b6),'client_id':_0x5658a1,'code_verifier':_0x3677e4});_0x42c9f4&&_0x57a13b['set']('client_secret',_0x42c9f4);_0x2cd3b2['resource']&&_0x57a13b['set']('resource',_0x2cd3b2[_0x207f3a(0x177)]);const _0x182f01=await _0x1f402e['MxoEN'](fetch,_0x2b64ac[_0x207f3a(0x1c2)],{'method':_0x207f3a(0x174),'headers':{'Content-Type':_0x1f402e['oYPlz']},'body':_0x57a13b});if(!_0x182f01['ok']){const _0x180fd2=await _0x182f01['text']();throw new Error(_0x207f3a(0x193)+_0x180fd2);}const _0x453c62=await _0x182f01[_0x207f3a(0x1b2)]();return console['log'](_0x1f402e[_0x207f3a(0x1de)]),await saveCachedToken(_0x453c62[_0x207f3a(0x1eb)],_0x453c62['refresh_token'],_0x453c62[_0x207f3a(0x16d)]),_0x453c62['access_token'];}async function callGetCliToken(_0x27cf16,_0x2f46df){const _0x3c7399=_0x5f2572,_0x1ce377={'aHedj':function(_0x4e7004,_0x21062d,_0x1358a7){return _0x4e7004(_0x21062d,_0x1358a7);},'WsjeQ':'application/json','SnRfB':_0x3c7399(0x19b),'bWZIV':function(_0x2f2855,_0x541ab0){return _0x2f2855(_0x541ab0);},'vlVaf':_0x3c7399(0x1d4),'DjgVN':_0x3c7399(0x174),'wHiCr':'get_cli_token','MZBfW':_0x3c7399(0x1f1),'Hqkps':_0x3c7399(0x1ec),'EZILB':_0x3c7399(0x1e1),'cNSvr':_0x3c7399(0x1b4),'Omzas':function(_0x2f620e,_0xb7c8ff,_0x5a711c){return _0x2f620e(_0xb7c8ff,_0x5a711c);},'ldkjo':'refresh.txt','qEPAO':function(_0x165104,_0x451f6a,_0x529244,_0x351650){return _0x165104(_0x451f6a,_0x529244,_0x351650);},'vdbOg':_0x3c7399(0x1c1),'CVQtK':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x1d0db3={'Content-Type':_0x1ce377[_0x3c7399(0x18e)],'Accept':_0x1ce377['SnRfB']};_0x2f46df&&(_0x1d0db3[_0x3c7399(0x18b)]=_0x3c7399(0x172)+_0x2f46df);const _0x23c83a=async _0x335b02=>{const _0x1f11b5=_0x3c7399,_0x4d22d0=await _0x1ce377[_0x1f11b5(0x16e)](fetch,_0x27cf16,{'method':'POST','headers':_0x1d0db3,'body':JSON[_0x1f11b5(0x19d)](_0x335b02)});if(!_0x4d22d0['ok']){const _0x5c2657=await _0x4d22d0[_0x1f11b5(0x183)]();throw new Error(_0x1f11b5(0x1c9)+_0x4d22d0['status']+':\x20'+_0x5c2657);}return parseResponse(_0x4d22d0);};process[_0x3c7399(0x17d)]['write']('Initializing\x20MCP\x20session...');const _0x539ae4=await _0x1ce377['bWZIV'](_0x23c83a,{'jsonrpc':'2.0','id':0x1,'method':_0x3c7399(0x1b1),'params':{'protocolVersion':_0x3c7399(0x1f6),'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x1ce377['vlVaf']}}});if(_0x539ae4[_0x3c7399(0x1f7)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x539ae4[_0x3c7399(0x1f7)]['message']??JSON[_0x3c7399(0x19d)](_0x539ae4[_0x3c7399(0x1f7)])));console['log'](_0x3c7399(0x1f1)),await _0x1ce377[_0x3c7399(0x16e)](fetch,_0x27cf16,{'method':_0x1ce377['DjgVN'],'headers':_0x1d0db3,'body':JSON[_0x3c7399(0x19d)]({'jsonrpc':_0x3c7399(0x1a0),'method':'notifications/initialized'})})['then'](_0x5ce8be=>_0x5ce8be['text']()),process[_0x3c7399(0x17d)]['write'](_0x3c7399(0x1ea));const _0x353b39=await _0x23c83a({'jsonrpc':'2.0','id':0x2,'method':_0x3c7399(0x17a),'params':{'name':_0x1ce377[_0x3c7399(0x1e6)],'arguments':{}}});if(_0x353b39[_0x3c7399(0x1f7)])throw new Error(_0x3c7399(0x1ac)+(_0x353b39[_0x3c7399(0x1f7)][_0x3c7399(0x1d2)]??JSON[_0x3c7399(0x19d)](_0x353b39['error'])));console['log'](_0x1ce377['MZBfW']);const _0x2ac533=extractToken(_0x353b39['result']);if(!_0x2ac533){console['error'](_0x1ce377['Hqkps']),console[_0x3c7399(0x1f7)](JSON[_0x3c7399(0x19d)](_0x353b39[_0x3c7399(0x1bf)],null,0x2));throw new Error(_0x1ce377[_0x3c7399(0x179)]);}const _0x455b34=join(homedir(),_0x1ce377['cNSvr']),_0x2c09f4=_0x1ce377['Omzas'](join,_0x455b34,_0x1ce377[_0x3c7399(0x186)]);await _0x1ce377['Omzas'](mkdir,_0x455b34,{'recursive':!![]}),await writeFile(_0x2c09f4,_0x2ac533,{'mode':0x180}),await _0x1ce377['qEPAO'](writeFile,join(_0x455b34,_0x1ce377[_0x3c7399(0x1e3)]),_0x27cf16,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x2c09f4),console['log'](_0x1ce377['CVQtK']);}async function fetchAuthServerMetadata(_0x1646f3){const _0x42c792=_0x5f2572,_0x31e1b0={'adueJ':function(_0x72418e,_0x10107a){return _0x72418e(_0x10107a);}},_0x5deec2=_0x1646f3+'/.well-known/oauth-authorization-server',_0x13eb92=await _0x31e1b0['adueJ'](fetch,_0x5deec2);if(!_0x13eb92['ok'])throw new Error(_0x42c792(0x1da)+_0x5deec2+':\x20'+_0x13eb92['status']);return _0x13eb92['json']();}function waitForCallback(_0x255d57){const _0x80ebd9=_0x5f2572,_0x418161={'EJDCB':function(_0x2df108,_0x570bf4){return _0x2df108!==_0x570bf4;},'dNYAp':'Not\x20found','YweTu':_0x80ebd9(0x1d5),'pWOXQ':'error','YUmhM':_0x80ebd9(0x1dd),'BvzJI':_0x80ebd9(0x192),'aWgsZ':function(_0x4fc463,_0x366119){return _0x4fc463(_0x366119);},'tMWma':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','pEDOy':_0x80ebd9(0x1e5),'iiVFS':function(_0x5e2608,_0x13c1cf){return _0x5e2608(_0x13c1cf);},'AHWYZ':function(_0x370553,_0x503081,_0x482774){return _0x370553(_0x503081,_0x482774);}};return new Promise((_0x30d93d,_0x3ad1d6)=>{const _0x46f748=_0x80ebd9,_0x43d60b=_0x418161[_0x46f748(0x185)](setTimeout,()=>{_0x81b389['close'](),_0x3ad1d6(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x81b389=_0x418161['iiVFS'](createServer,(_0xae1b3e,_0xb682f1)=>{const _0x4f90d2=_0x46f748,_0x566b4b=new URL(_0xae1b3e[_0x4f90d2(0x1f3)]??'/',_0x4f90d2(0x173)+CALLBACK_PORT);if(_0x418161[_0x4f90d2(0x18d)](_0x566b4b[_0x4f90d2(0x171)],_0x4f90d2(0x1b6))){_0xb682f1[_0x4f90d2(0x1e2)](0x194),_0xb682f1[_0x4f90d2(0x178)](_0x418161[_0x4f90d2(0x1cb)]);return;}const _0x2523d3=_0x566b4b[_0x4f90d2(0x182)]['get'](_0x418161['YweTu']),_0x11c4c2=_0x566b4b['searchParams']['get']('state'),_0x385b2=_0x566b4b[_0x4f90d2(0x182)]['get'](_0x418161['pWOXQ']);if(_0x385b2){const _0x411684=_0x566b4b['searchParams']['get'](_0x418161['YUmhM'])??_0x385b2;_0xb682f1[_0x4f90d2(0x1e2)](0xc8,{'Content-Type':_0x418161[_0x4f90d2(0x1d0)]}),_0xb682f1[_0x4f90d2(0x178)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x411684+_0x4f90d2(0x1dc)),clearTimeout(_0x43d60b),_0x81b389['close'](),_0x418161[_0x4f90d2(0x194)](_0x3ad1d6,new Error(_0x4f90d2(0x170)+_0x411684));return;}if(!_0x2523d3||_0x11c4c2!==_0x255d57){_0xb682f1['writeHead'](0x190,{'Content-Type':_0x418161['BvzJI']}),_0xb682f1[_0x4f90d2(0x178)](_0x418161['tMWma']);return;}_0xb682f1[_0x4f90d2(0x1e2)](0xc8,{'Content-Type':'text/html'}),_0xb682f1['end'](_0x418161['pEDOy']),_0x418161['iiVFS'](clearTimeout,_0x43d60b),_0x81b389['close'](),_0x30d93d(_0x2523d3);});_0x81b389[_0x46f748(0x196)](CALLBACK_PORT,_0x46f748(0x198));});}function _0x7552(){const _0x3b0406=['vdbOg','PDmFS','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','wHiCr','status','MCP\x20server\x20returned\x20HTTP\x20','RCYBv','Requesting\x20CLI\x20token...','access_token','\x0aUnexpected\x20response\x20structure:','length','clientId','isTTY','child_process','\x20done','238RxTqjR','url','vjMMP','\x0aOpening\x20browser\x20for\x20authentication...','2025-03-26','error','JdmLu','yIVbk','expires_in','aHedj','qHxzs','OAuth\x20error:\x20','pathname','Bearer\x20','http://localhost:','POST','QImYE','uzbAQ','resource','end','EZILB','tools/call','refreshToken','application/json','stdout','accessToken','origin','content','THwUD','searchParams','text','1157214lRnWBB','AHWYZ','ldkjo','WTepQ','37434bvWyXZ','1468280yqOGgR','JLkMq','Authorization','sha256','EJDCB','WsjeQ','xmATQ','/.well-known/oauth-protected-resource','UiAUz','text/html','Token\x20exchange\x20failed:\x20','aWgsZ','redirect_uri','listen','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','127.0.0.1','365492TGHwyK','wqxrl','application/json,\x20text/event-stream','update','stringify','hNHeX','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','2.0','slice','Unknown\x20error','GgpWT','swNoZ','registration_endpoint','code_challenge_method','eZPew','xPMdc','1629192HVwgRJ','write','Exchanging\x20authorization\x20code...','get_cli_token\x20failed:\x20','trim','xFwYo','iLKGr','toString','initialize','json','none','.ranger','1000690CQrPvH','/callback','S256','PHSCt','utf-8','log','open','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','set','Registering\x20OAuth\x20client...','result','client_id','auth-origin.txt','token_endpoint','JgRTu','hFHVG','djitZ','token','get','pgQkg','HTTP\x20','2WSwURe','dNYAp','match','9XQmeDP','expiresAt','digest','BvzJI','code_challenge','message','now','1.0.0','code','317792oHPNlY','platform','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','parse','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','refresh_token','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','error_description','qQjeA','Ranger\x20CLI','mKjDa','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','writeHead'];_0x7552=function(){return _0x3b0406;};return _0x7552();}async function openBrowser(_0x18ef40){const _0x20e409=_0x5f2572,_0x52a8ef={'GgpWT':function(_0x581164,_0x3cf1dc){return _0x581164===_0x3cf1dc;},'pUgiB':'xdg-open'},{exec:_0x3f6672}=await import(_0x20e409(0x1f0)),_0x586963=process[_0x20e409(0x1d7)]==='darwin'?_0x20e409(0x1bb):_0x52a8ef[_0x20e409(0x1a3)](process['platform'],'win32')?'start':_0x52a8ef['pUgiB'];_0x3f6672(_0x586963+'\x20\x22'+_0x18ef40+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x316f8c=_0x5f2572,_0x2ee3d8={'yOwhE':_0x316f8c(0x1b9),'PHSCt':function(_0x4b60df,_0x144077){return _0x4b60df>_0x144077;}};try{const _0x5091b2=JSON[_0x316f8c(0x1d9)](await readFile(TOKEN_CACHE_PATH,_0x2ee3d8['yOwhE']));if(_0x5091b2[_0x316f8c(0x17f)]&&_0x5091b2[_0x316f8c(0x17f)]!==currentOrigin)return null;if(_0x5091b2['expiresAt']&&_0x2ee3d8[_0x316f8c(0x1b8)](Date[_0x316f8c(0x1d3)](),_0x5091b2[_0x316f8c(0x1ce)]))return null;return _0x5091b2['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x487108,_0x5cb213,_0x298344){const _0x124c2b=_0x5f2572,_0x440ac8={'xFwYo':function(_0x460434){return _0x460434();},'iLKGr':function(_0x2b02c7,_0x113cef){return _0x2b02c7+_0x113cef;},'THwUD':function(_0x169afe,_0x66584d,_0xdf0612){return _0x169afe(_0x66584d,_0xdf0612);}},_0xb23d25=await _0x440ac8[_0x124c2b(0x1ae)](loadCachedData),_0xa87848={..._0xb23d25,'origin':currentOrigin,'accessToken':_0x487108,'refreshToken':_0x5cb213??_0xb23d25?.[_0x124c2b(0x17b)],'expiresAt':_0x298344?_0x440ac8[_0x124c2b(0x1af)](Date[_0x124c2b(0x1d3)](),_0x298344*0x3e8):undefined};await _0x440ac8[_0x124c2b(0x181)](mkdir,join(homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x124c2b(0x19d)](_0xa87848),{'mode':0x180});}function _0x1cee(_0x1fabfc,_0x2fcc19){_0x1fabfc=_0x1fabfc-0x16b;const _0x755234=_0x7552();let _0x1cee83=_0x755234[_0x1fabfc];return _0x1cee83;}async function loadCachedClient(){const _0x7b6afd=_0x5f2572,_0x175911={'sNCvB':function(_0x5af854){return _0x5af854();}},_0x3d9454=await _0x175911['sNCvB'](loadCachedData);if(_0x3d9454?.['origin']&&_0x3d9454[_0x7b6afd(0x17f)]!==currentOrigin)return null;return _0x3d9454?.[_0x7b6afd(0x1ee)]?{'clientId':_0x3d9454[_0x7b6afd(0x1ee)],'clientSecret':_0x3d9454['clientSecret']}:null;}async function clearCachedClient(){const _0x3100b0=_0x5f2572,_0x567cb5=await loadCachedData();if(!_0x567cb5)return;const {clientId:_0x338bb5,clientSecret:_0x52eb71,..._0x1848b1}=_0x567cb5;await writeFile(TOKEN_CACHE_PATH,JSON[_0x3100b0(0x19d)](_0x1848b1),{'mode':0x180});}async function saveCachedClient(_0x1ff7fa,_0x47a70b){const _0x23bc0a=_0x5f2572,_0x460ded={'wdmRE':function(_0x54b6a4,_0x1699b5,_0x490520){return _0x54b6a4(_0x1699b5,_0x490520);},'uzbAQ':function(_0x16dcfd){return _0x16dcfd();},'xPMdc':_0x23bc0a(0x1b4)},_0x21f845=await loadCachedData(),_0x53a24d={..._0x21f845,'origin':currentOrigin,'accessToken':_0x21f845?.[_0x23bc0a(0x17e)]??'','clientId':_0x1ff7fa,'clientSecret':_0x47a70b};await mkdir(_0x460ded['wdmRE'](join,_0x460ded[_0x23bc0a(0x176)](homedir),_0x460ded[_0x23bc0a(0x1a8)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x53a24d),{'mode':0x180});}async function loadCachedData(){const _0x8acf81=_0x5f2572,_0x96b421={'PDmFS':function(_0x118958,_0x3f978b,_0x22ad2f){return _0x118958(_0x3f978b,_0x22ad2f);},'swNoZ':'utf-8'};try{return JSON[_0x8acf81(0x1d9)](await _0x96b421[_0x8acf81(0x1e4)](readFile,TOKEN_CACHE_PATH,_0x96b421[_0x8acf81(0x1a4)]));}catch{return null;}}async function parseResponse(_0x2e7af9){const _0x57d967=_0x5f2572,_0x5e67ea={'Aumtv':'content-type','UiAUz':'data:'},_0x1e8fad=_0x2e7af9['headers'][_0x57d967(0x1c7)](_0x5e67ea['Aumtv'])??'';if(_0x1e8fad['includes']('text/event-stream')){const _0x15175a=await _0x2e7af9['text']();for(const _0x22ae1b of _0x15175a['split']('\x0a')){const _0x1aead=_0x22ae1b[_0x57d967(0x1ad)]();if(_0x1aead['startsWith']('data:')){const _0x851ae6=_0x1aead[_0x57d967(0x1a1)](_0x5e67ea[_0x57d967(0x191)][_0x57d967(0x1ed)])[_0x57d967(0x1ad)]();if(!_0x851ae6)continue;try{const _0x52991a=JSON[_0x57d967(0x1d9)](_0x851ae6);if(_0x52991a['id']!==undefined||_0x52991a['error'])return _0x52991a;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x2e7af9[_0x57d967(0x1b2)]();}function extractToken(_0x3793f2){const _0x1c29c0=_0x5f2572,_0x3dd8f4={'HItKx':'string','iyHcv':_0x1c29c0(0x1a2),'JgRTu':function(_0x1ce17c,_0x4b0e90){return _0x1ce17c===_0x4b0e90;}};if(!_0x3793f2)return null;const _0x17922f=_0x3793f2['structuredContent'];if(_0x17922f?.['token']&&typeof _0x17922f['token']===_0x3dd8f4['HItKx'])return _0x17922f[_0x1c29c0(0x1c6)];if(_0x3793f2['isError']){const _0x37b73f=_0x3793f2[_0x1c29c0(0x180)];throw new Error('Server\x20returned\x20error:\x20'+(_0x37b73f?.[0x0]?.[_0x1c29c0(0x183)]??_0x3dd8f4['iyHcv']));}const _0x14fb83=_0x3793f2[_0x1c29c0(0x180)];if(_0x14fb83)for(const _0xc0f880 of _0x14fb83){if(_0x3dd8f4[_0x1c29c0(0x1c3)](_0xc0f880['type'],'text')&&_0xc0f880[_0x1c29c0(0x183)]){try{const _0x1ade0f=JSON['parse'](_0xc0f880['text']);if(typeof _0x1ade0f?.['token']===_0x3dd8f4['HItKx'])return _0x1ade0f['token'];}catch{}const _0x5dd85a=_0xc0f880['text'][_0x1c29c0(0x1cc)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5dd85a)return _0x5dd85a[0x1];}}return null;}
1
+ const _0xa3d572=_0x55ea;(function(_0x5a57f5,_0x509733){const _0x534bbf=_0x55ea,_0x24ca99=_0x5a57f5();while(!![]){try{const _0x53c42e=parseInt(_0x534bbf(0xf1))/0x1*(parseInt(_0x534bbf(0x11b))/0x2)+-parseInt(_0x534bbf(0xef))/0x3+-parseInt(_0x534bbf(0x11a))/0x4+-parseInt(_0x534bbf(0xe5))/0x5+-parseInt(_0x534bbf(0xe7))/0x6*(parseInt(_0x534bbf(0x120))/0x7)+-parseInt(_0x534bbf(0x137))/0x8*(parseInt(_0x534bbf(0xe3))/0x9)+parseInt(_0x534bbf(0x113))/0xa;if(_0x53c42e===_0x509733)break;else _0x24ca99['push'](_0x24ca99['shift']());}catch(_0x229f83){_0x24ca99['push'](_0x24ca99['shift']());}}}(_0x426e,0xc66cc));import{mkdir,writeFile,readFile}from'fs/promises';function _0x426e(){const _0x37858e=['client_id','registration_endpoint','json','content-type','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','40441610zrwHJV','WdDbA','end','\x0aUnexpected\x20response\x20structure:','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','replace','now','468432OxdRja','4990GFckEk','searchParams','name','base64url','text/html','308623FQequw','yYOzF','uNZVg','aNLbo','Requesting\x20CLI\x20token...','slice','BXjvA','uzYdm','error','Initializing\x20MCP\x20session...','Unknown\x20error','MByjT','/.well-known/oauth-authorization-server','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','TkIyN','ogIVC','get_cli_token\x20failed:\x20','digest','OAuth\x20error:\x20','get','authorization_code','token','expires_in','7116456UNXmqN','hPxSA','origin','error_description','kByRv','ScPpF','resource','OAuthTimeoutError','content','write','MCP\x20server\x20returned\x20HTTP\x20','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','Ranger\x20CLI','Not\x20found','PJbiu','text','state','listen','dKmbw','<html><body><h2>Authentication\x20failed</h2><p>','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','status','\x20done','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','\x0aOpening\x20browser\x20for\x20authentication...','krUts','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','rpcKy','authorization_endpoint','ranger-cli','utf-8','cZgPI','aSbBu','Server\x20returned\x20error:\x20','message','darwin','xFtDG','stdout','stringify','open','close','notifications/initialized','code','set','imHPX','includes','url','clientId','XufDw','result','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','auth-origin.txt','Exchanging\x20authorization\x20code...','gNdJK','client_secret','trim','tRciU','update','tUnUq','vRTGA','toString','POST','authorization_servers','KKBfz','isError','UuWDf','StEMe','writeHead','9MzAjnb','mRuEa','7657830NnEIlW','code_challenge_method','156BSkrMb','split','Authorization','redirect_uri','expiresAt','application/json','access_token','UMFTu','249879GlcNiO','/callback','215YVJNAI','initialize','DLCXV','http://localhost:','ajjQa','GugFN','cyysz','1.0.0','accessToken','RoVqT','clientSecret','qJErM','zhUHr','application/json,\x20text/event-stream','TbYBj','closeAllConnections','hex','ARVJS','127.0.0.1','2.0','startsWith','log','Registering\x20OAuth\x20client...','then','rzzSd','lmRjT','eqtTG','CMUYc','.ranger'];_0x426e=function(){return _0x37858e;};return _0x426e();}import{join}from'path';function _0x55ea(_0x35ee12,_0xef6851){_0x35ee12=_0x35ee12-0xc1;const _0x426e1c=_0x426e();let _0x55eaca=_0x426e1c[_0x35ee12];return _0x55eaca;}import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0xa3d572(0x10d),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0xa3d572(0x10d),_0xa3d572(0xd2));export async function getMcpAuthOrigin(){const _0xcc5dd7=_0xa3d572;try{const _0xd9535f=(await readFile(AUTH_ORIGIN_PATH,'utf-8'))[_0xcc5dd7(0xd6)]();return _0xd9535f||null;}catch{return null;}}export async function mcpBootstrap(){const _0x348c0e=_0xa3d572,_0x5cbb29={'ELlKL':function(_0xbedba2){return _0xbedba2();},'OHYnj':function(_0x5c92f3,_0x54396f){return _0x5c92f3(_0x54396f);},'KLCyl':'proxied','tRciU':function(_0x24c811,_0x35abee){return _0x24c811+_0x35abee;},'ogIVC':_0x348c0e(0x14e),'xrgVg':function(_0x13d7d3,_0x1034a3,_0x27a9da){return _0x13d7d3(_0x1034a3,_0x27a9da);}},_0x586818=_0x5cbb29['ELlKL'](getMcpAuthUrl);currentOrigin=_0x586818;const _0x273061=process[_0x348c0e(0xc4)]['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x586818+'\x0a');const _0x16a813=await _0x5cbb29['OHYnj'](tryUnauthenticated,_0x586818);let _0x175308=null;if(_0x16a813===_0x5cbb29['KLCyl'])_0x175308='';else{_0x175308=await loadCachedToken();if(!_0x175308){if(!_0x273061)throw new Error(_0x5cbb29[_0x348c0e(0xd7)]('MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a',_0x5cbb29[_0x348c0e(0x12f)]));_0x175308=await _0x5cbb29['OHYnj'](oauthFlow,_0x586818);}}await _0x5cbb29['xrgVg'](callGetCliToken,_0x586818,_0x175308);}async function tryUnauthenticated(_0x1b9e26){const _0x5885c2=_0xa3d572,_0x18dce1={'LoEUP':'application/json','vRTGA':_0x5885c2(0xf2),'sdENZ':'2025-03-26','TkIyN':'ranger-cli','RoVqT':_0x5885c2(0xf8),'cLDYF':function(_0x1be7d1,_0x4035eb){return _0x1be7d1===_0x4035eb;}},_0x133bf7=await fetch(_0x1b9e26,{'method':'POST','headers':{'Content-Type':_0x18dce1['LoEUP'],'Accept':_0x5885c2(0xfe)},'body':JSON['stringify']({'jsonrpc':_0x5885c2(0x104),'id':0x1,'method':_0x18dce1[_0x5885c2(0xda)],'params':{'protocolVersion':_0x18dce1['sdENZ'],'capabilities':{},'clientInfo':{'name':_0x18dce1[_0x5885c2(0x12e)],'version':_0x18dce1[_0x5885c2(0xfa)]}}})});if(_0x133bf7['ok'])return await _0x133bf7[_0x5885c2(0x146)](),'proxied';if(_0x18dce1['cLDYF'](_0x133bf7[_0x5885c2(0x14c)],0x191))return await _0x133bf7[_0x5885c2(0x146)](),'needs-oauth';const _0x4b1924=await _0x133bf7[_0x5885c2(0x146)]();throw new Error(_0x5885c2(0x141)+_0x133bf7[_0x5885c2(0x14c)]+':\x20'+_0x4b1924);}class OAuthTimeoutError extends Error{constructor(_0x10e934){const _0x2ac381=_0xa3d572,_0x32ee8b={'cZgPI':_0x2ac381(0x13e)};super(_0x10e934),this[_0x2ac381(0x11d)]=_0x32ee8b[_0x2ac381(0x156)];}}async function oauthFlow(_0xba29eb){const _0x326057=_0xa3d572,_0x4898f1={'kZVEY':function(_0x1a03f2,_0x5063ab){return _0x1a03f2(_0x5063ab);},'iWkII':function(_0x4a340b,_0x205597){return _0x4a340b instanceof _0x205597;},'GhPOB':function(_0x1982f9){return _0x1982f9();},'PJbiu':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','uNnMc':function(_0x2622c3){return _0x2622c3();},'zCsuU':function(_0x97aa87,_0x19e685){return _0x97aa87(_0x19e685);}};try{return await _0x4898f1['kZVEY'](oauthFlowAttempt,_0xba29eb);}catch(_0x4edfe3){if(_0x4898f1['iWkII'](_0x4edfe3,OAuthTimeoutError)&&await _0x4898f1['GhPOB'](loadCachedClient))return console[_0x326057(0x106)](_0x4898f1[_0x326057(0x145)]),await _0x4898f1['uNnMc'](clearCachedClient),await _0x4898f1['zCsuU'](oauthFlowAttempt,_0xba29eb);throw _0x4edfe3;}}async function oauthFlowAttempt(_0x11f9d6){const _0x5460aa=_0xa3d572,_0x1175e9={'aSbBu':function(_0x467445,_0x11406f){return _0x467445(_0x11406f);},'tUnUq':function(_0x52f004,_0x1cf6f6){return _0x52f004(_0x1cf6f6);},'PLcqM':'application/json','isYKP':_0x5460aa(0x134),'hPxSA':'none','lmRjT':_0x5460aa(0x14d),'DTgAe':'sha256','rzzSd':_0x5460aa(0xc9),'mRuEa':_0x5460aa(0xea),'ZDSDe':'S256','qJErM':'state','GugFN':_0x5460aa(0xd3),'zjdxY':_0x5460aa(0x13d),'zhUHr':function(_0x3ec995,_0x40b833,_0x4f6acd){return _0x3ec995(_0x40b833,_0x4f6acd);},'tPUIy':_0x5460aa(0xdc)},_0x7002c0=_0x11f9d6[_0x5460aa(0x118)](/\/mcp$/,'');process[_0x5460aa(0xc4)]['write']('Discovering\x20authorization\x20server...');const _0x5a1ce8=await _0x1175e9[_0x5460aa(0x157)](fetch,_0x7002c0+'/.well-known/oauth-protected-resource');if(!_0x5a1ce8['ok'])throw new Error(_0x5460aa(0x142));const _0x4dd2bb=await _0x5a1ce8['json'](),_0xec982b=_0x4dd2bb[_0x5460aa(0xdd)]?.[0x0];if(!_0xec982b)throw new Error(_0x5460aa(0xd1));console[_0x5460aa(0x106)]('\x20'+_0xec982b);const _0x377cb=await _0x1175e9[_0x5460aa(0xd9)](fetchAuthServerMetadata,_0xec982b);let _0x462db9,_0x29a5d8;const _0x386829=await loadCachedClient();if(_0x386829)_0x462db9=_0x386829['clientId'],_0x29a5d8=_0x386829[_0x5460aa(0xfb)];else{if(_0x377cb['registration_endpoint']){process['stdout']['write'](_0x5460aa(0x107));const _0x2c8b06=await fetch(_0x377cb[_0x5460aa(0x10f)],{'method':'POST','headers':{'Content-Type':_0x1175e9['PLcqM']},'body':JSON[_0x5460aa(0xc5)]({'client_name':_0x5460aa(0x143),'redirect_uris':[_0x5460aa(0xf4)+CALLBACK_PORT+'/callback'],'grant_types':[_0x1175e9['isYKP'],'refresh_token'],'response_types':[_0x5460aa(0xc9)],'token_endpoint_auth_method':_0x1175e9[_0x5460aa(0x138)]})});if(!_0x2c8b06['ok']){const _0xafc7c4=await _0x2c8b06['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0xafc7c4);}const _0x2222da=await _0x2c8b06['json']();_0x462db9=_0x2222da[_0x5460aa(0x10e)],_0x29a5d8=_0x2222da['client_secret'],await saveCachedClient(_0x462db9,_0x29a5d8),console['log'](_0x1175e9['lmRjT']);}else throw new Error(_0x5460aa(0x14b));}const _0x5c9d77=_0x1175e9['tUnUq'](randomBytes,0x20)[_0x5460aa(0xdb)](_0x5460aa(0x11e)),_0x538938=createHash(_0x1175e9['DTgAe'])[_0x5460aa(0xd8)](_0x5c9d77)[_0x5460aa(0x131)](_0x5460aa(0x11e)),_0x5010fe=_0x1175e9['aSbBu'](randomBytes,0x10)['toString'](_0x5460aa(0x101)),_0x1c5a5a=new URL(_0x377cb[_0x5460aa(0x153)]);_0x1c5a5a[_0x5460aa(0x11c)][_0x5460aa(0xca)]('response_type',_0x1175e9[_0x5460aa(0x109)]),_0x1c5a5a['searchParams'][_0x5460aa(0xca)](_0x5460aa(0x10e),_0x462db9),_0x1c5a5a['searchParams'][_0x5460aa(0xca)](_0x1175e9[_0x5460aa(0xe4)],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1c5a5a[_0x5460aa(0x11c)][_0x5460aa(0xca)]('code_challenge',_0x538938),_0x1c5a5a['searchParams']['set'](_0x5460aa(0xe6),_0x1175e9['ZDSDe']),_0x1c5a5a['searchParams'][_0x5460aa(0xca)](_0x1175e9[_0x5460aa(0xfc)],_0x5010fe);_0x4dd2bb[_0x5460aa(0x13d)]&&_0x1c5a5a['searchParams'][_0x5460aa(0xca)]('resource',_0x4dd2bb[_0x5460aa(0x13d)]);console[_0x5460aa(0x106)](_0x5460aa(0x14f)),console[_0x5460aa(0x106)](_0x5460aa(0x12d)+_0x1c5a5a[_0x5460aa(0xdb)]()+'\x0a'),await openBrowser(_0x1c5a5a[_0x5460aa(0xdb)]());const _0x3f89be=await waitForCallback(_0x5010fe);process[_0x5460aa(0xc4)]['write'](_0x1175e9[_0x5460aa(0xf6)]);const _0x4c3eab=new URLSearchParams({'grant_type':_0x5460aa(0x134),'code':_0x3f89be,'redirect_uri':_0x5460aa(0xf4)+CALLBACK_PORT+_0x5460aa(0xf0),'client_id':_0x462db9,'code_verifier':_0x5c9d77});_0x29a5d8&&_0x4c3eab['set'](_0x5460aa(0xd5),_0x29a5d8);_0x4dd2bb['resource']&&_0x4c3eab[_0x5460aa(0xca)](_0x1175e9['zjdxY'],_0x4dd2bb['resource']);const _0x3d8511=await _0x1175e9[_0x5460aa(0xfd)](fetch,_0x377cb['token_endpoint'],{'method':_0x1175e9['tPUIy'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0x4c3eab});if(!_0x3d8511['ok']){const _0x4e4845=await _0x3d8511[_0x5460aa(0x146)]();throw new Error('Token\x20exchange\x20failed:\x20'+_0x4e4845);}const _0x56e853=await _0x3d8511[_0x5460aa(0x110)]();return console['log'](_0x1175e9[_0x5460aa(0x10a)]),await saveCachedToken(_0x56e853[_0x5460aa(0xed)],_0x56e853['refresh_token'],_0x56e853[_0x5460aa(0x136)]),_0x56e853[_0x5460aa(0xed)];}async function callGetCliToken(_0x3f8145,_0x4e9c7f){const _0x5de3fe=_0xa3d572,_0x38a9d8={'dKmbw':function(_0x250b31,_0x53e62b,_0x36f9b7){return _0x250b31(_0x53e62b,_0x36f9b7);},'OfUEW':'application/json,\x20text/event-stream','cyysz':_0x5de3fe(0xe9),'qtZWH':function(_0x28f432,_0x14df6a){return _0x28f432(_0x14df6a);},'FKINP':'initialize','UMFTu':'2025-03-26','bFMsb':_0x5de3fe(0x154),'uNZVg':'\x20done','bnCfN':_0x5de3fe(0x104),'crWKE':_0x5de3fe(0xc8),'gNdJK':'get_cli_token','MByjT':function(_0x950a44,_0x3e7a4a){return _0x950a44(_0x3e7a4a);},'XtxJX':'refresh.txt','FmmRy':function(_0x3d5325,_0x1fe051,_0x51008a){return _0x3d5325(_0x1fe051,_0x51008a);},'krUts':_0x5de3fe(0xd2),'CMUYc':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x4b6863={'Content-Type':_0x5de3fe(0xec),'Accept':_0x38a9d8['OfUEW']};_0x4e9c7f&&(_0x4b6863[_0x38a9d8[_0x5de3fe(0xf7)]]='Bearer\x20'+_0x4e9c7f);const _0x340356=async _0x3a2685=>{const _0x185510=await _0x38a9d8['dKmbw'](fetch,_0x3f8145,{'method':'POST','headers':_0x4b6863,'body':JSON['stringify'](_0x3a2685)});if(!_0x185510['ok']){const _0x491b7e=await _0x185510['text']();throw new Error('HTTP\x20'+_0x185510['status']+':\x20'+_0x491b7e);}return parseResponse(_0x185510);};process[_0x5de3fe(0xc4)]['write'](_0x5de3fe(0x129));const _0x5b4b2e=await _0x38a9d8['qtZWH'](_0x340356,{'jsonrpc':'2.0','id':0x1,'method':_0x38a9d8['FKINP'],'params':{'protocolVersion':_0x38a9d8[_0x5de3fe(0xee)],'capabilities':{},'clientInfo':{'name':_0x38a9d8['bFMsb'],'version':'1.0.0'}}});if(_0x5b4b2e['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x5b4b2e['error'][_0x5de3fe(0xc1)]??JSON['stringify'](_0x5b4b2e[_0x5de3fe(0x128)])));console[_0x5de3fe(0x106)](_0x38a9d8[_0x5de3fe(0x122)]),await _0x38a9d8['dKmbw'](fetch,_0x3f8145,{'method':'POST','headers':_0x4b6863,'body':JSON[_0x5de3fe(0xc5)]({'jsonrpc':_0x38a9d8['bnCfN'],'method':_0x38a9d8['crWKE']})})[_0x5de3fe(0x108)](_0x214524=>_0x214524['text']()),process[_0x5de3fe(0xc4)][_0x5de3fe(0x140)](_0x5de3fe(0x124));const _0x36d243=await _0x38a9d8['qtZWH'](_0x340356,{'jsonrpc':_0x5de3fe(0x104),'id':0x2,'method':'tools/call','params':{'name':_0x38a9d8[_0x5de3fe(0xd4)],'arguments':{}}});if(_0x36d243['error'])throw new Error(_0x5de3fe(0x130)+(_0x36d243['error'][_0x5de3fe(0xc1)]??JSON['stringify'](_0x36d243[_0x5de3fe(0x128)])));console['log'](_0x38a9d8[_0x5de3fe(0x122)]);const _0x2d210a=_0x38a9d8[_0x5de3fe(0x12b)](extractToken,_0x36d243['result']);if(!_0x2d210a){console['error'](_0x5de3fe(0x116)),console[_0x5de3fe(0x128)](JSON[_0x5de3fe(0xc5)](_0x36d243[_0x5de3fe(0xd0)],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0xbe76d9=join(homedir(),_0x5de3fe(0x10d)),_0x457bb2=_0x38a9d8[_0x5de3fe(0x149)](join,_0xbe76d9,_0x38a9d8['XtxJX']);await _0x38a9d8['FmmRy'](mkdir,_0xbe76d9,{'recursive':!![]}),await writeFile(_0x457bb2,_0x2d210a,{'mode':0x180}),await writeFile(join(_0xbe76d9,_0x38a9d8[_0x5de3fe(0x150)]),_0x3f8145,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x457bb2),console[_0x5de3fe(0x106)](_0x38a9d8[_0x5de3fe(0x10c)]);}async function fetchAuthServerMetadata(_0x500926){const _0x3a933e=_0xa3d572,_0x2a0488=_0x500926+_0x3a933e(0x12c),_0x53642f=await fetch(_0x2a0488);if(!_0x53642f['ok'])throw new Error(_0x3a933e(0x151)+_0x2a0488+':\x20'+_0x53642f['status']);return _0x53642f[_0x3a933e(0x110)]();}function waitForCallback(_0x5d0a01){const _0x14009b=_0xa3d572,_0x39d476={'BFXZa':function(_0x11a61a){return _0x11a61a();},'TbYBj':_0x14009b(0x11f),'rpcKy':function(_0x230404,_0x42de38){return _0x230404(_0x42de38);},'wimLj':function(_0x478f54,_0x710929,_0x5aca43){return _0x478f54(_0x710929,_0x5aca43);}};return new Promise((_0xae7b5,_0x426805)=>{const _0x3cd71e=_0x14009b,_0x231d9a={'yHgeN':function(_0x48d559){return _0x39d476['BFXZa'](_0x48d559);},'BXjvA':function(_0x527686,_0x582a00){return _0x527686(_0x582a00);},'ajjQa':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','UuWDf':_0x3cd71e(0x144),'LpaTc':_0x3cd71e(0xc9),'xFtDG':_0x39d476[_0x3cd71e(0xff)],'iNeiq':function(_0x2144b2,_0x59c820){return _0x2144b2(_0x59c820);},'kByRv':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','eqtTG':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','yYOzF':function(_0x38e1f9,_0x1125cd){const _0x4ba07c=_0x3cd71e;return _0x39d476[_0x4ba07c(0x152)](_0x38e1f9,_0x1125cd);}},_0x396201=()=>{const _0xc1000a=_0x3cd71e;_0x5e8fe5[_0xc1000a(0x100)](),_0x5e8fe5[_0xc1000a(0xc7)]();},_0x86623=_0x39d476['wimLj'](setTimeout,()=>{const _0x172f8e=_0x3cd71e;_0x231d9a['yHgeN'](_0x396201),_0x231d9a['BXjvA'](_0x426805,new OAuthTimeoutError(_0x231d9a[_0x172f8e(0xf5)]));},0x1d4c0),_0x5e8fe5=_0x39d476['rpcKy'](createServer,(_0x56b4f7,_0x28e2e0)=>{const _0xcfe1ff=_0x3cd71e,_0x3f6110=new URL(_0x56b4f7[_0xcfe1ff(0xcd)]??'/',_0xcfe1ff(0xf4)+CALLBACK_PORT);if(_0x3f6110['pathname']!==_0xcfe1ff(0xf0)){_0x28e2e0['writeHead'](0x194),_0x28e2e0[_0xcfe1ff(0x115)](_0x231d9a[_0xcfe1ff(0xe0)]);return;}const _0x522bde=_0x3f6110[_0xcfe1ff(0x11c)]['get'](_0x231d9a['LpaTc']),_0xbe158d=_0x3f6110['searchParams'][_0xcfe1ff(0x133)](_0xcfe1ff(0x147)),_0x3b1721=_0x3f6110[_0xcfe1ff(0x11c)]['get']('error');if(_0x3b1721){const _0xdf6a26=_0x3f6110[_0xcfe1ff(0x11c)][_0xcfe1ff(0x133)](_0xcfe1ff(0x13a))??_0x3b1721;_0x28e2e0['writeHead'](0xc8,{'Content-Type':_0x231d9a['xFtDG']}),_0x28e2e0[_0xcfe1ff(0x115)](_0xcfe1ff(0x14a)+_0xdf6a26+_0xcfe1ff(0x112)),_0x231d9a['iNeiq'](clearTimeout,_0x86623),_0x396201(),_0x231d9a[_0xcfe1ff(0x126)](_0x426805,new Error(_0xcfe1ff(0x132)+_0xdf6a26));return;}if(!_0x522bde||_0xbe158d!==_0x5d0a01){_0x28e2e0[_0xcfe1ff(0xe2)](0x190,{'Content-Type':_0x231d9a['xFtDG']}),_0x28e2e0[_0xcfe1ff(0x115)](_0x231d9a[_0xcfe1ff(0x13b)]);return;}_0x28e2e0['writeHead'](0xc8,{'Content-Type':_0x231d9a[_0xcfe1ff(0xc3)]}),_0x28e2e0[_0xcfe1ff(0x115)](_0x231d9a[_0xcfe1ff(0x10b)]),_0x231d9a[_0xcfe1ff(0x121)](clearTimeout,_0x86623),_0x396201(),_0xae7b5(_0x522bde);});_0x5e8fe5[_0x3cd71e(0x148)](CALLBACK_PORT,_0x3cd71e(0x103));});}async function openBrowser(_0x12a5f3){const _0x17ffc4=_0xa3d572,_0x186d71={'aNLbo':function(_0x56ec4a,_0x1db4e8){return _0x56ec4a===_0x1db4e8;},'Uilro':_0x17ffc4(0xc2),'WLzhT':_0x17ffc4(0xc6),'zTnqd':'start','imHPX':'xdg-open'},_0x288d21=_0x186d71[_0x17ffc4(0x123)](process['platform'],_0x186d71['Uilro'])?_0x186d71['WLzhT']:process['platform']==='win32'?_0x186d71['zTnqd']:_0x186d71[_0x17ffc4(0xcb)];exec(_0x288d21+'\x20\x22'+_0x12a5f3+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x533802=_0xa3d572,_0x35e1fd={'CXRRd':function(_0x4f7c29,_0x3cfe65){return _0x4f7c29!==_0x3cfe65;}};try{const _0x1ad1ee=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x533802(0x155)));if(_0x1ad1ee['origin']&&_0x35e1fd['CXRRd'](_0x1ad1ee[_0x533802(0x139)],currentOrigin))return null;if(_0x1ad1ee['expiresAt']&&Date[_0x533802(0x119)]()>_0x1ad1ee[_0x533802(0xeb)])return null;return _0x1ad1ee[_0x533802(0xf9)]??null;}catch{return null;}}async function saveCachedToken(_0x5b24cf,_0x53a800,_0x208002){const _0x2f3133=_0xa3d572,_0x1dfba8={'KKBfz':function(_0x153c88){return _0x153c88();},'XPkwK':function(_0x4b3fbd,_0x459b07,_0x4ecde7,_0x462a6a){return _0x4b3fbd(_0x459b07,_0x4ecde7,_0x462a6a);}},_0x1d95ee=await loadCachedData(),_0x36a39b={..._0x1d95ee,'origin':currentOrigin,'accessToken':_0x5b24cf,'refreshToken':_0x53a800??_0x1d95ee?.['refreshToken'],'expiresAt':_0x208002?Date['now']()+_0x208002*0x3e8:undefined};await mkdir(join(_0x1dfba8[_0x2f3133(0xde)](homedir),'.ranger'),{'recursive':!![]}),await _0x1dfba8['XPkwK'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x36a39b),{'mode':0x180});}async function loadCachedClient(){const _0x8eed6=_0xa3d572,_0xceb6f0={'yiXfm':function(_0x2c0118){return _0x2c0118();}},_0x58f8a3=await _0xceb6f0['yiXfm'](loadCachedData);if(_0x58f8a3?.[_0x8eed6(0x139)]&&_0x58f8a3[_0x8eed6(0x139)]!==currentOrigin)return null;return _0x58f8a3?.[_0x8eed6(0xce)]?{'clientId':_0x58f8a3[_0x8eed6(0xce)],'clientSecret':_0x58f8a3[_0x8eed6(0xfb)]}:null;}async function clearCachedClient(){const _0x4f826f=_0xa3d572,_0x155551=await loadCachedData();if(!_0x155551)return;const {clientId:_0x1ba493,clientSecret:_0x205838,..._0x5b7be3}=_0x155551;await writeFile(TOKEN_CACHE_PATH,JSON[_0x4f826f(0xc5)](_0x5b7be3),{'mode':0x180});}async function saveCachedClient(_0x333667,_0x27600e){const _0x18032a=_0xa3d572,_0x47e79e={'uzYdm':function(_0x502e09,_0x4c67e0,_0x662bbf){return _0x502e09(_0x4c67e0,_0x662bbf);},'DiJwt':function(_0x3fe96d){return _0x3fe96d();},'DLCXV':'.ranger'},_0x352481=await loadCachedData(),_0x5ef9e1={..._0x352481,'origin':currentOrigin,'accessToken':_0x352481?.[_0x18032a(0xf9)]??'','clientId':_0x333667,'clientSecret':_0x27600e};await _0x47e79e['uzYdm'](mkdir,_0x47e79e[_0x18032a(0x127)](join,_0x47e79e['DiJwt'](homedir),_0x47e79e[_0x18032a(0xf3)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x18032a(0xc5)](_0x5ef9e1),{'mode':0x180});}async function loadCachedData(){const _0x508667=_0xa3d572,_0xf38c7d={'XufDw':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0xf38c7d[_0x508667(0xcf)]));}catch{return null;}}async function parseResponse(_0x823403){const _0x4a765a=_0xa3d572,_0x4647ee={'StEMe':_0x4a765a(0x111),'pfqxM':'text/event-stream','WdDbA':'data:','sIIyD':function(_0x4f36c6,_0x1561b2){return _0x4f36c6!==_0x1561b2;},'ziGNz':_0x4a765a(0x117)},_0x2c815c=_0x823403['headers'][_0x4a765a(0x133)](_0x4647ee[_0x4a765a(0xe1)])??'';if(_0x2c815c[_0x4a765a(0xcc)](_0x4647ee['pfqxM'])){const _0x1c8c7c=await _0x823403[_0x4a765a(0x146)]();for(const _0x216136 of _0x1c8c7c[_0x4a765a(0xe8)]('\x0a')){const _0x3aec83=_0x216136['trim']();if(_0x3aec83[_0x4a765a(0x105)]('data:')){const _0x40b5a8=_0x3aec83[_0x4a765a(0x125)](_0x4647ee[_0x4a765a(0x114)]['length'])[_0x4a765a(0xd6)]();if(!_0x40b5a8)continue;try{const _0x456f48=JSON['parse'](_0x40b5a8);if(_0x4647ee['sIIyD'](_0x456f48['id'],undefined)||_0x456f48['error'])return _0x456f48;}catch{}}}throw new Error(_0x4647ee['ziGNz']);}return _0x823403['json']();}function extractToken(_0x5ac1a9){const _0x27a731=_0xa3d572,_0x53e2ff={'ARVJS':'string','ScPpF':function(_0x8cc253,_0x235292){return _0x8cc253===_0x235292;}};if(!_0x5ac1a9)return null;const _0x1e0055=_0x5ac1a9['structuredContent'];if(_0x1e0055?.['token']&&typeof _0x1e0055[_0x27a731(0x135)]===_0x53e2ff[_0x27a731(0x102)])return _0x1e0055['token'];if(_0x5ac1a9[_0x27a731(0xdf)]){const _0x127096=_0x5ac1a9[_0x27a731(0x13f)];throw new Error(_0x27a731(0x158)+(_0x127096?.[0x0]?.['text']??_0x27a731(0x12a)));}const _0x17fd59=_0x5ac1a9['content'];if(_0x17fd59)for(const _0x410d84 of _0x17fd59){if(_0x53e2ff[_0x27a731(0x13c)](_0x410d84['type'],'text')&&_0x410d84['text']){try{const _0x1a84df=JSON['parse'](_0x410d84['text']);if(typeof _0x1a84df?.['token']===_0x53e2ff['ARVJS'])return _0x1a84df[_0x27a731(0x135)];}catch{}const _0x32651d=_0x410d84[_0x27a731(0x146)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x32651d)return _0x32651d[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x1eb8ce,_0x54d33a){const _0x1a655c=_0x5484,_0x1186f9=_0x1eb8ce();while(!![]){try{const _0x43f0c7=parseInt(_0x1a655c(0x13d))/0x1*(-parseInt(_0x1a655c(0x172))/0x2)+parseInt(_0x1a655c(0x184))/0x3*(-parseInt(_0x1a655c(0x137))/0x4)+parseInt(_0x1a655c(0x17f))/0x5*(-parseInt(_0x1a655c(0x147))/0x6)+-parseInt(_0x1a655c(0x145))/0x7*(-parseInt(_0x1a655c(0x181))/0x8)+-parseInt(_0x1a655c(0x154))/0x9*(-parseInt(_0x1a655c(0x150))/0xa)+-parseInt(_0x1a655c(0x182))/0xb*(-parseInt(_0x1a655c(0x165))/0xc)+-parseInt(_0x1a655c(0x164))/0xd*(-parseInt(_0x1a655c(0x149))/0xe);if(_0x43f0c7===_0x54d33a)break;else _0x1186f9['push'](_0x1186f9['shift']());}catch(_0x9b33c5){_0x1186f9['push'](_0x1186f9['shift']());}}}(_0x55e8,0x40360));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';function _0x55e8(){const _0x50bda5=['750WhKfBW','XIGHv','14vUUlFv','ePjOb','eXFFX','profileName','kind','origin','XUjFR','2626420lVpXpa',':\x20failed\x20to\x20delete\x20local\x20dir\x20','prompt','IRwOp','18MWJIgb','bdoHJ','join','jiCVk','BKrNz','\x20profile','stdin','log','PYCuf','zxqhY','skip',',\x20preserving\x20baseUrl\x20','environments','FZUyD','domains','MjItr','8432125AZYnOF','261396xQmahW','\x20failed','\x20\x20⚠\x20','settings','No\x20local\x20profiles\x20found\x20to\x20migrate.',',\x20baseUrl\x20override\x20→\x20projects.json)','cwd','Qnwgu','\x20migrated\x20to\x20cloud\x20(env:\x20','envKey','no\x20baseUrl\x20in\x20settings.json','vyJrF','all','2338zYxRzW','sYudY','OHhQk','Could\x20not\x20fetch\x20auth\x20config\x20(','trackPhaseEnd','nwBOe','UMVLB',':\x20failed\x20to\x20save\x20credentials\x20(','\x20failed:\x20','\x20local\x20director','gitTrackedRanger',').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.','FGEZm','6865yCRBKI','push','9280ukxaAY','44UeBlgC','profile.migrate.skipped','3XpUswZ','length','toISOString','\x20skipped','some','Continuing\x20with\x20migration...','ies','status','wBNAr','Aborted.','Proceed?','padEnd','1575116cOXdYR','parse','authJsonPath','trackPhaseStart','OBfHp','dryRun','381tSRjrq','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','yes','message',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(','preserveBaseUrl','baseUrl',').\x20Run:\x20ranger\x20setup','77sLuQyn','\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/'];_0x55e8=function(){return _0x50bda5;};return _0x55e8();}import{join}from'path';import _0x21ff36 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 _0x5484(_0x12bd2b,_0xdaf48e){_0x12bd2b=_0x12bd2b-0x134;const _0x55e8ba=_0x55e8();let _0x5484b7=_0x55e8ba[_0x12bd2b];return _0x5484b7;}import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0x34ae33){const _0x442364=_0x5484,_0x32dc59={'YtLVV':'skip'};if(_0x34ae33[_0x442364(0x14d)]===_0x32dc59['YtLVV'])return'\x20\x20'+_0x34ae33['profileName'][_0x442364(0x136)](0x1e)+'\x20→\x20skip\x20('+_0x34ae33['reason']+')';if(_0x34ae33[_0x442364(0x142)]&&_0x34ae33['baseUrl'])return'\x20\x20'+_0x34ae33[_0x442364(0x14c)]['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x34ae33[_0x442364(0x16e)]+_0x442364(0x15f)+_0x34ae33[_0x442364(0x143)]+'\x20as\x20project\x20override)';if(_0x34ae33['baseUrl'])return'\x20\x20'+_0x34ae33['profileName']['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x34ae33[_0x442364(0x16e)]+',\x20matches\x20'+_0x34ae33['baseUrl']+')';return'\x20\x20'+_0x34ae33[_0x442364(0x14c)][_0x442364(0x136)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x34ae33['envKey']+')';}function shouldWarnGitTrackedOnce(_0xd9def1){const _0x5e9f32=_0x5484,_0x2c310e={'ePjOb':function(_0xa8555d,_0x45b692){return _0xa8555d===_0x45b692;}},_0x53885a=readProjectsConfig(),_0x40ba57=_0x53885a['projects'][_0xd9def1]??={},_0x49ba1f=_0x40ba57['_warnings']??={},_0x30d9bb=_0x49ba1f[_0x5e9f32(0x17c)],_0x2a820c=new Date(),_0x4e9212=_0x2a820c[_0x5e9f32(0x186)]()['slice'](0x0,0xa);if(_0x2c310e[_0x5e9f32(0x14a)](_0x30d9bb,_0x4e9212))return![];return _0x49ba1f['gitTrackedRanger']=_0x4e9212,writeProjectsConfig(_0x53885a),!![];}export async function migrateProfile(_0x31c1c9,_0x374d59){const _0x56342e=_0x5484,_0x489d06={'vyJrF':function(_0x1cd492,_0x2a1635){return _0x1cd492 instanceof _0x2a1635;},'sYudY':function(_0x51037a,_0x42c025){return _0x51037a(_0x42c025);},'zxqhY':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','OHhQk':function(_0xd7b83f){return _0xd7b83f();},'UMVLB':function(_0xcfb09a,_0x673a75){return _0xcfb09a===_0x673a75;},'nwBOe':function(_0x817653,_0x5b981f){return _0x817653===_0x5b981f;},'XIGHv':_0x56342e(0x15e),'gNZtZ':_0x56342e(0x16f),'PYCuf':function(_0x2d60c1,_0x4968d9,_0x2c7eb7){return _0x2d60c1(_0x4968d9,_0x2c7eb7);},'apqVv':'no\x20matching\x20auth\x20env','Qnwgu':function(_0x164023,_0x41183f){return _0x164023===_0x41183f;},'ZVWGS':'Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.','bdoHJ':function(_0x24669d,_0x189f28){return _0x24669d&&_0x189f28;},'FZUyD':'confirm','BKrNz':'proceed','VEahh':function(_0x3d2834){return _0x3d2834();},'FGEZm':function(_0x4c4961,_0x49f699){return _0x4c4961(_0x49f699);},'cpMAZ':function(_0x268246,_0x40e8e8){return _0x268246(_0x40e8e8);},'wBNAr':'After\x20migration,\x20uncommit\x20it:','XUjFR':_0x56342e(0x146),'gRHYC':'\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','JGxzG':_0x56342e(0x189),'ASPLp':function(_0x37fc61,_0x1c6b03,_0x23e8de,_0x1f51d0){return _0x37fc61(_0x1c6b03,_0x23e8de,_0x1f51d0);},'MjItr':'name_conflict','ZMeTo':'utf-8','OBfHp':function(_0x32ed09,_0x3515ed,_0x430aa5){return _0x32ed09(_0x3515ed,_0x430aa5);},'ZVBVE':function(_0x3e95ed,_0x56efd5){return _0x3e95ed instanceof _0x56efd5;},'IRwOp':function(_0x262dc0,_0x1791b1,_0x22baa6,_0x18adb1,_0x51c670){return _0x262dc0(_0x1791b1,_0x22baa6,_0x18adb1,_0x51c670);},'glZhz':'baseUrl','cyLVE':function(_0x10221e,_0x2cb7a0){return _0x10221e(_0x2cb7a0);},'NcypQ':function(_0x1f99aa,_0x3c78a9){return _0x1f99aa(_0x3c78a9);},'NNzDd':function(_0x49a931,_0x35f2a7){return _0x49a931 instanceof _0x35f2a7;},'QKhAp':'profile.migrate.failed','Ebrbl':function(_0x5005f2,_0x15d1a5){return _0x5005f2===_0x15d1a5;},'eXFFX':function(_0x297045,_0x24d96a){return _0x297045>_0x24d96a;},'jiCVk':function(_0x2c1ea3,_0x253cdf){return _0x2c1ea3+_0x253cdf;}};if(!_0x31c1c9[_0x56342e(0x14c)]&&!_0x31c1c9[_0x56342e(0x171)])throw new Error('Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run');let _0x370618;try{_0x370618=await fetchAuthConfig();}catch(_0x423d30){throw new Error(_0x56342e(0x175)+(_0x489d06['vyJrF'](_0x423d30,Error)?_0x423d30[_0x56342e(0x140)]:_0x489d06[_0x56342e(0x173)](String,_0x423d30))+_0x56342e(0x144));}if(!_0x370618||!_0x370618[_0x56342e(0x160)]||Object['keys'](_0x370618[_0x56342e(0x160)])[_0x56342e(0x185)]===0x0)throw new Error(_0x489d06[_0x56342e(0x15d)]);const _0x71ca2a=[];if(_0x31c1c9['all']){const {envNames:_0xaf46fc,envTypes:_0x4c2628}=await _0x489d06[_0x56342e(0x174)](getEnvNames);for(const _0x59bd73 of _0xaf46fc){if(_0x489d06[_0x56342e(0x178)](_0x4c2628[_0x59bd73],'ci'))continue;_0x71ca2a['push'](_0x59bd73);}}else _0x31c1c9[_0x56342e(0x14c)]&&_0x71ca2a['push'](_0x31c1c9['profileName']);if(_0x489d06['nwBOe'](_0x71ca2a[_0x56342e(0x185)],0x0)){console[_0x56342e(0x15b)](_0x56342e(0x169));return;}const _0x2845f9=[];for(const _0x17b89b of _0x71ca2a){const _0x31f002=_0x489d06[_0x56342e(0x173)](getEnvDir,_0x17b89b);if(!existsSync(_0x31f002)){_0x2845f9[_0x56342e(0x180)]({'kind':_0x489d06['XIGHv'],'profileName':_0x17b89b,'reason':'local\x20profile\x20directory\x20not\x20found'});continue;}const _0x46bb85=await _0x489d06['sYudY'](loadSettings,_0x17b89b),_0x3f538c=_0x46bb85[_0x56342e(0x143)];if(!_0x3f538c){_0x2845f9[_0x56342e(0x180)]({'kind':_0x489d06['XIGHv'],'profileName':_0x17b89b,'reason':_0x489d06['gNZtZ']});continue;}const _0x550254=_0x489d06[_0x56342e(0x15c)](matchAuthEnvironment,_0x3f538c,_0x370618);if(!_0x550254){_0x2845f9[_0x56342e(0x180)]({'kind':_0x489d06[_0x56342e(0x148)],'profileName':_0x17b89b,'reason':_0x489d06['apqVv']});continue;}const _0x4f5c5c=_0x370618['environments'][_0x550254],_0x495b80=_0x4f5c5c?.[_0x56342e(0x162)]??[],_0x3b9f4c=_0x495b80[_0x56342e(0x188)](_0x1f78e3=>{const _0x37dad5=_0x56342e;try{return new URL(_0x1f78e3)[_0x37dad5(0x14e)]===new URL(_0x3f538c)['origin'];}catch{return![];}}),_0x19386b={};for(const [_0x3fd7b3,_0x43261a]of Object['entries'](_0x46bb85)){if(_0x489d06['Qnwgu'](_0x3fd7b3,'baseUrl'))continue;if(_0x489d06['nwBOe'](_0x43261a,undefined))continue;_0x19386b[_0x3fd7b3]=_0x43261a;}!_0x3b9f4c&&(_0x19386b['baseUrl']=_0x3f538c);const _0xcdabc8=_0x489d06['PYCuf'](join,_0x31f002,'auth.json'),_0x10599e=_0x489d06['sYudY'](existsSync,_0xcdabc8);_0x2845f9['push']({'kind':'migrate','profileName':_0x17b89b,'envKey':_0x550254,'baseUrl':_0x3f538c,'preserveBaseUrl':!_0x3b9f4c,'settings':_0x19386b,'authJsonPath':_0x10599e?_0xcdabc8:null});}console[_0x56342e(0x15b)]('Plan:');for(const _0x3f767e of _0x2845f9){console[_0x56342e(0x15b)](formatPlanLine(_0x3f767e));}if(_0x31c1c9[_0x56342e(0x13c)]){console[_0x56342e(0x15b)](_0x489d06['ZVWGS']);return;}const _0x93b40a=Boolean(process[_0x56342e(0x15a)]['isTTY']&&process['stdout']['isTTY']),_0xd1aae=_0x2845f9[_0x56342e(0x188)](_0x1af40c=>_0x1af40c[_0x56342e(0x14d)]==='migrate');if(_0x489d06[_0x56342e(0x155)](_0xd1aae,_0x93b40a)&&!_0x31c1c9[_0x56342e(0x13f)]){const {proceed:_0x14774f}=await _0x21ff36[_0x56342e(0x152)]([{'type':_0x489d06[_0x56342e(0x161)],'name':_0x489d06[_0x56342e(0x158)],'message':_0x56342e(0x135),'default':![]}]);if(!_0x14774f){console['log'](_0x56342e(0x134));return;}}const _0x258724=_0x489d06['VEahh'](getRangerDir);let _0x33534f=![];if(_0x489d06['FGEZm'](existsSync,_0x258724))try{_0x33534f=await isPathGitTracked(_0x258724);}catch{_0x33534f=![];}_0x33534f&&_0x489d06['cpMAZ'](shouldWarnGitTrackedOnce,process['cwd']())&&(console['log'](_0x56342e(0x13e)),console['log'](_0x489d06[_0x56342e(0x18c)]),console['log'](_0x489d06[_0x56342e(0x14f)]),console[_0x56342e(0x15b)](_0x489d06['gRHYC']),console[_0x56342e(0x15b)](_0x489d06['JGxzG']));let _0x26a1e4=0x0,_0x4eaf18=0x0,_0x25337a=0x0,_0x43615b=0x0;for(const _0x357724 of _0x2845f9){if(_0x357724['kind']===_0x56342e(0x15e)){_0x43615b++,_0x374d59?.['trackPhaseEnd'](_0x56342e(0x183),{'profileName':_0x357724[_0x56342e(0x14c)],'reason':_0x357724['reason']});continue;}_0x374d59?.[_0x56342e(0x13a)]('profile.migrate.started',{'profileName':_0x357724['profileName'],'envKey':_0x357724[_0x56342e(0x16e)]});try{try{await _0x489d06['ASPLp'](createCloudProfile,_0x357724['profileName'],_0x357724[_0x56342e(0x16e)],{'settings':_0x357724[_0x56342e(0x168)]});}catch(_0x26cdf8){if(_0x489d06[_0x56342e(0x170)](_0x26cdf8,ApiError)&&_0x489d06[_0x56342e(0x177)](_0x26cdf8[_0x56342e(0x18b)],0x199)){console['log'](_0x56342e(0x167)+_0x357724[_0x56342e(0x14c)]+':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.'),_0x43615b++,_0x374d59?.[_0x56342e(0x176)]('profile.migrate.skipped',{'profileName':_0x357724[_0x56342e(0x14c)],'reason':_0x489d06[_0x56342e(0x163)]});continue;}throw _0x26cdf8;}let _0xf6c1bd=![],_0x39d9d5=![];if(_0x357724['authJsonPath'])try{const _0x24c64a=await readFile(_0x357724[_0x56342e(0x139)],_0x489d06['ZMeTo']),_0x17e7be=JSON[_0x56342e(0x138)](_0x24c64a);await _0x489d06[_0x56342e(0x13b)](uploadCloudProfileSession,_0x357724[_0x56342e(0x14c)],_0x17e7be),_0xf6c1bd=!![];}catch(_0x23e747){_0x39d9d5=!![],console[_0x56342e(0x15b)](_0x56342e(0x167)+_0x357724['profileName']+':\x20session\x20upload\x20failed\x20('+(_0x489d06['ZVBVE'](_0x23e747,Error)?_0x23e747['message']:_0x489d06['FGEZm'](String,_0x23e747))+_0x56342e(0x17d));}let _0x44445b=![];if(_0x31c1c9['saveCreds']){const _0x5a0c31=process['env']['RANGER_TEST_USERNAME'],_0x6f4aae=process['env']['RANGER_TEST_PASSWORD'];if(_0x5a0c31&&_0x6f4aae)try{await saveCloudProfileCredentials(_0x357724['profileName'],_0x5a0c31,_0x6f4aae),_0x44445b=!![];}catch(_0x294fcd){console['log']('\x20\x20⚠\x20'+_0x357724[_0x56342e(0x14c)]+_0x56342e(0x179)+(_0x294fcd instanceof Error?_0x294fcd[_0x56342e(0x140)]:String(_0x294fcd))+').');}else console[_0x56342e(0x15b)](_0x56342e(0x167)+_0x357724[_0x56342e(0x14c)]+':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.');}if(_0x357724[_0x56342e(0x142)]&&_0x357724['baseUrl'])try{_0x489d06[_0x56342e(0x153)](setProfileOverride,process[_0x56342e(0x16b)](),_0x357724[_0x56342e(0x14c)],_0x489d06['glZhz'],_0x357724[_0x56342e(0x143)]);}catch(_0x20155b){console[_0x56342e(0x15b)]('\x20\x20⚠\x20'+_0x357724[_0x56342e(0x14c)]+_0x56342e(0x141)+(_0x20155b instanceof Error?_0x20155b[_0x56342e(0x140)]:String(_0x20155b))+').');}const _0x480fff=_0x489d06['cyLVE'](getEnvDir,_0x357724['profileName']);if(!_0x39d9d5&&_0x489d06['NcypQ'](existsSync,_0x480fff))try{await rm(_0x480fff,{'recursive':!![],'force':!![]}),_0x4eaf18++;}catch(_0x335668){console[_0x56342e(0x15b)](_0x56342e(0x167)+_0x357724['profileName']+_0x56342e(0x151)+_0x480fff+'\x20('+(_0x489d06['NNzDd'](_0x335668,Error)?_0x335668[_0x56342e(0x140)]:_0x489d06[_0x56342e(0x17e)](String,_0x335668))+').');}_0x26a1e4++,_0x357724[_0x56342e(0x142)]&&_0x357724[_0x56342e(0x143)]?console[_0x56342e(0x15b)]('\x20\x20✓\x20'+_0x357724['profileName']+_0x56342e(0x16d)+_0x357724[_0x56342e(0x16e)]+_0x56342e(0x16a)):console['log']('\x20\x20✓\x20'+_0x357724[_0x56342e(0x14c)]+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x357724['envKey']+')'),_0x374d59?.['trackPhaseEnd']('profile.migrate.succeeded',{'profileName':_0x357724['profileName'],'envKey':_0x357724[_0x56342e(0x16e)],'wasGitTracked':_0x33534f,'hadSession':_0xf6c1bd,'savedCreds':_0x44445b});}catch(_0x2170c3){_0x25337a++,console['log']('\x20\x20✗\x20'+_0x357724[_0x56342e(0x14c)]+_0x56342e(0x17a)+(_0x489d06['NNzDd'](_0x2170c3,Error)?_0x2170c3['message']:String(_0x2170c3))),_0x374d59?.['trackPhaseEnd'](_0x489d06['QKhAp'],{'profileName':_0x357724['profileName'],'error':_0x2170c3 instanceof Error?_0x2170c3[_0x56342e(0x140)]:_0x489d06['sYudY'](String,_0x2170c3)});}}const _0xeb76cc=[];if(_0x26a1e4>0x0)_0xeb76cc[_0x56342e(0x180)](_0x26a1e4+_0x56342e(0x159)+(_0x489d06[_0x56342e(0x16c)](_0x26a1e4,0x1)?'':'s')+'\x20migrated');if(_0x4eaf18>0x0)_0xeb76cc[_0x56342e(0x180)]('Deleted\x20'+_0x4eaf18+_0x56342e(0x17b)+(_0x489d06['Ebrbl'](_0x4eaf18,0x1)?'y':_0x56342e(0x18a)));if(_0x489d06[_0x56342e(0x14b)](_0x43615b,0x0))_0xeb76cc['push'](_0x43615b+_0x56342e(0x187));if(_0x25337a>0x0)_0xeb76cc[_0x56342e(0x180)](_0x25337a+_0x56342e(0x166));if(_0x489d06[_0x56342e(0x14b)](_0xeb76cc[_0x56342e(0x185)],0x0))console[_0x56342e(0x15b)](_0x489d06[_0x56342e(0x157)](_0xeb76cc[_0x56342e(0x156)]('.\x20'),'.'));}
1
+ (function(_0x1aeb1f,_0x56a96e){var _0x42e61d=_0x4680,_0x89ae8=_0x1aeb1f();while(!![]){try{var _0xab1d0=parseInt(_0x42e61d(0xa3))/0x1*(-parseInt(_0x42e61d(0xb1))/0x2)+parseInt(_0x42e61d(0xac))/0x3+-parseInt(_0x42e61d(0xb2))/0x4+-parseInt(_0x42e61d(0xa7))/0x5*(-parseInt(_0x42e61d(0xa9))/0x6)+-parseInt(_0x42e61d(0xb0))/0x7+-parseInt(_0x42e61d(0xad))/0x8+parseInt(_0x42e61d(0xab))/0x9*(parseInt(_0x42e61d(0xa8))/0xa);if(_0xab1d0===_0x56a96e)break;else _0x89ae8['push'](_0x89ae8['shift']());}catch(_0x30c434){_0x89ae8['push'](_0x89ae8['shift']());}}}(_0x421c,0xc6608));function _0x421c(){var _0x4fcfdd=['20751039oMqLcf','1830933LZYiRD','3630384ZOTioJ','xsBYG','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','10755850lLevCF','2477788GAhDEb','1386604rpJMum','1VoZPOM','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','gdDdH','error','885naMvuh','10EMulKv','49914GKklEq','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a'];_0x421c=function(){return _0x4fcfdd;};return _0x421c();}function _0x4680(_0x1ba51a,_0x40838f){_0x1ba51a=_0x1ba51a-0xa3;var _0x421cb4=_0x421c();var _0x4680c2=_0x421cb4[_0x1ba51a];return _0x4680c2;}export async function migrateProfile(_0x389ea5,_0x441bcc){var _0x3004b3=_0x4680,_0x30530c={'xsBYG':function(_0x57d5a9,_0x31e08a){return _0x57d5a9+_0x31e08a;},'cqCOD':function(_0x427d80,_0x146373){return _0x427d80+_0x146373;},'GQMAX':function(_0x7eb988,_0x339e3d){return _0x7eb988+_0x339e3d;},'wfDyC':function(_0x241e0b,_0x4e0257){return _0x241e0b+_0x4e0257;},'hsQeO':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','gdDdH':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a'};console[_0x3004b3(0xa6)](_0x30530c[_0x3004b3(0xae)](_0x30530c['cqCOD'](_0x30530c['GQMAX'](_0x30530c['wfDyC'](_0x30530c['wfDyC'](_0x30530c['wfDyC'](_0x30530c[_0x3004b3(0xae)](_0x3004b3(0xaa)+'\x0a','To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a'),_0x3004b3(0xaf)),'\x0a'),'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a'),_0x30530c['hsQeO']),'\x0a'),_0x30530c[_0x3004b3(0xa5)])+_0x3004b3(0xa4)),process['exit'](0x1);}