@ranger-testing/ranger-cli 2.5.4-alpha.ed286f1-2 → 2.5.4-alpha.f4657dc-23

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 (83) 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/deleteProfile.js +1 -0
  8. package/build/commands/env.js +1 -1
  9. package/build/commands/feature.js +1 -1
  10. package/build/commands/hook.js +1 -1
  11. package/build/commands/hooks/autoPrompt.js +1 -1
  12. package/build/commands/hooks/disable.js +1 -1
  13. package/build/commands/hooks/enable.js +1 -1
  14. package/build/commands/hooks/exitPlanMode.js +1 -1
  15. package/build/commands/hooks/index.js +1 -1
  16. package/build/commands/hooks/output.js +1 -1
  17. package/build/commands/hooks/planReminder.js +1 -1
  18. package/build/commands/hooks/planStart.js +1 -1
  19. package/build/commands/hooks/postEdit.js +1 -1
  20. package/build/commands/hooks/preCompact.js +1 -1
  21. package/build/commands/hooks/sessionEnd.js +1 -1
  22. package/build/commands/hooks/sessionStart.js +1 -1
  23. package/build/commands/hooks/stopHook.js +1 -1
  24. package/build/commands/index.js +1 -1
  25. package/build/commands/login.js +1 -1
  26. package/build/commands/mcpBootstrap.js +1 -1
  27. package/build/commands/migrateProfile.js +1 -0
  28. package/build/commands/setup/claude.js +1 -1
  29. package/build/commands/setup/opencode.js +1 -1
  30. package/build/commands/setupCi.js +1 -1
  31. package/build/commands/skillup.js +1 -1
  32. package/build/commands/start.js +1 -1
  33. package/build/commands/status.js +1 -1
  34. package/build/commands/update.js +1 -1
  35. package/build/commands/updateEnv.js +1 -1
  36. package/build/commands/useEnv.js +1 -1
  37. package/build/commands/utils/activeProfile.js +1 -1
  38. package/build/commands/utils/agentEnv.js +1 -1
  39. package/build/commands/utils/browserSessionsApi.js +1 -1
  40. package/build/commands/utils/claudeConfig.js +1 -1
  41. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  42. package/build/commands/utils/claudePlugin.js +1 -1
  43. package/build/commands/utils/cloudProfile.js +1 -0
  44. package/build/commands/utils/cloudProfileSession.js +1 -0
  45. package/build/commands/utils/crypto.js +1 -1
  46. package/build/commands/utils/desirePathLog.js +1 -1
  47. package/build/commands/utils/deviceAuth.js +1 -1
  48. package/build/commands/utils/environment.js +1 -1
  49. package/build/commands/utils/featureApi.js +1 -1
  50. package/build/commands/utils/fixWebmDuration.js +1 -1
  51. package/build/commands/utils/gitTracked.js +1 -0
  52. package/build/commands/utils/keychain.js +1 -1
  53. package/build/commands/utils/legacyWarning.js +1 -0
  54. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  55. package/build/commands/utils/matchAuthEnvironment.js +1 -0
  56. package/build/commands/utils/mcpImageBase64.js +1 -1
  57. package/build/commands/utils/model.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/playwrightCli.js +1 -1
  60. package/build/commands/utils/profileMessages.js +1 -1
  61. package/build/commands/utils/profileSetupBanner.js +1 -1
  62. package/build/commands/utils/projectsConfig.js +1 -0
  63. package/build/commands/utils/rangerConfig.js +1 -1
  64. package/build/commands/utils/rangerRoot.js +1 -1
  65. package/build/commands/utils/resolveProfileContext.js +1 -0
  66. package/build/commands/utils/resolveProfileUrl.js +1 -0
  67. package/build/commands/utils/retry.js +1 -1
  68. package/build/commands/utils/sessionCache.js +1 -1
  69. package/build/commands/utils/settings.js +1 -1
  70. package/build/commands/utils/skillContent.js +1 -1
  71. package/build/commands/utils/skills.js +1 -1
  72. package/build/commands/utils/stitchWebmFiles.js +1 -1
  73. package/build/commands/utils/telemetry.js +1 -1
  74. package/build/commands/utils/tokenRefresh.js +1 -1
  75. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  76. package/build/commands/utils/userApi.js +1 -1
  77. package/build/commands/utils/version.js +1 -1
  78. package/build/commands/verifyFeature.js +1 -1
  79. package/build/commands/verifyFeatureCli.js +1 -1
  80. package/build/skills/ranger/SKILL.md +36 -6
  81. package/build/skills/ranger/create.md +19 -0
  82. package/build/skills/ranger/verify.md +46 -7
  83. package/package.json +3 -2
@@ -1 +1 @@
1
- (function(_0x42d6af,_0x2af47c){const _0x5f352b=_0x5c4e,_0x35b830=_0x42d6af();while(!![]){try{const _0x299899=parseInt(_0x5f352b(0x10b))/0x1*(-parseInt(_0x5f352b(0x114))/0x2)+-parseInt(_0x5f352b(0x10d))/0x3*(-parseInt(_0x5f352b(0x112))/0x4)+parseInt(_0x5f352b(0x117))/0x5*(-parseInt(_0x5f352b(0x115))/0x6)+-parseInt(_0x5f352b(0x110))/0x7*(parseInt(_0x5f352b(0x10c))/0x8)+-parseInt(_0x5f352b(0x10e))/0x9*(parseInt(_0x5f352b(0x118))/0xa)+parseInt(_0x5f352b(0x116))/0xb+parseInt(_0x5f352b(0x10a))/0xc;if(_0x299899===_0x2af47c)break;else _0x35b830['push'](_0x35b830['shift']());}catch(_0x56c53b){_0x35b830['push'](_0x35b830['shift']());}}}(_0x31fa,0x2c691));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};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x350e54=_0x5c4e;if(cancellationHandlersInstalled)return;const _0x380d37=()=>{process['exit'](0x0);};process[_0x350e54(0x113)]('SIGINT',_0x380d37),process[_0x350e54(0x113)](_0x350e54(0x119),_0x380d37),process[_0x350e54(0x113)]('SIGHUP',_0x380d37),cancellationHandlersInstalled=!![];}function _0x31fa(){const _0x5a1572=['exit','keys','error','1006488LrXtZK','197pIoVUF','8RJnZIC','3XJfopX','9OgibVZ','Valid\x20hooks:\x20','100723NQTZfQ','join','662932JCHKML','once','1772mJyzPE','124962lQbNSs','3381356WDZZFv','10XYdswa','1445130FHkUxE','SIGTERM'];_0x31fa=function(){return _0x5a1572;};return _0x31fa();}function _0x5c4e(_0x8b9290,_0x47c4f2){_0x8b9290=_0x8b9290-0x107;const _0x31fae5=_0x31fa();let _0x5c4ef5=_0x31fae5[_0x8b9290];return _0x5c4ef5;}export async function hook(_0x3d47c6,_0x111a06){const _0x5cce8e=_0x5c4e;installCancellationHandlers();const _0x1c822d=HOOKS[_0x3d47c6];if(!_0x1c822d){const _0x40ff00=Object[_0x5cce8e(0x108)](HOOKS)[_0x5cce8e(0x111)](',\x20');console['error']('Unknown\x20hook:\x20'+_0x3d47c6),console[_0x5cce8e(0x109)](_0x5cce8e(0x10f)+_0x40ff00),process[_0x5cce8e(0x107)](0x1);}await _0x1c822d(_0x111a06);}
1
+ function _0x4f8a(_0x12084c,_0x57f34f){_0x12084c=_0x12084c-0x1f3;const _0x4ac66a=_0x4ac6();let _0x4f8a36=_0x4ac66a[_0x12084c];return _0x4f8a36;}(function(_0x59bf90,_0x3f1810){const _0x3efb2d=_0x4f8a,_0xc3f80e=_0x59bf90();while(!![]){try{const _0x48993b=-parseInt(_0x3efb2d(0x1fc))/0x1+-parseInt(_0x3efb2d(0x202))/0x2*(-parseInt(_0x3efb2d(0x200))/0x3)+parseInt(_0x3efb2d(0x1f5))/0x4+-parseInt(_0x3efb2d(0x1fb))/0x5*(parseInt(_0x3efb2d(0x1fd))/0x6)+parseInt(_0x3efb2d(0x1fe))/0x7*(-parseInt(_0x3efb2d(0x1f9))/0x8)+parseInt(_0x3efb2d(0x201))/0x9+parseInt(_0x3efb2d(0x1f4))/0xa*(-parseInt(_0x3efb2d(0x1fa))/0xb);if(_0x48993b===_0x3f1810)break;else _0xc3f80e['push'](_0xc3f80e['shift']());}catch(_0x343498){_0xc3f80e['push'](_0xc3f80e['shift']());}}}(_0x4ac6,0xd009c));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};let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x2d9e40=_0x4f8a;if(cancellationHandlersInstalled)return;const _0x18b0e0=()=>{process['exit'](0x0);};process['once'](_0x2d9e40(0x1f3),_0x18b0e0),process[_0x2d9e40(0x203)](_0x2d9e40(0x1f6),_0x18b0e0),process[_0x2d9e40(0x203)](_0x2d9e40(0x204),_0x18b0e0),cancellationHandlersInstalled=!![];}export async function hook(_0x516391,_0x575044){const _0x1b58b9=_0x4f8a,_0x2fcd82={'PYYzM':function(_0x28c0f5){return _0x28c0f5();},'MIhpN':function(_0x2bafc3,_0x2bfda5){return _0x2bafc3(_0x2bfda5);}};_0x2fcd82[_0x1b58b9(0x1f8)](installCancellationHandlers);const _0x297562=HOOKS[_0x516391];if(!_0x297562){const _0x35fc58=Object[_0x1b58b9(0x1ff)](HOOKS)['join'](',\x20');console['error']('Unknown\x20hook:\x20'+_0x516391),console['error']('Valid\x20hooks:\x20'+_0x35fc58),process['exit'](0x1);}await _0x2fcd82[_0x1b58b9(0x1f7)](_0x297562,_0x575044);}function _0x4ac6(){const _0x42b397=['15866Drjuer','once','SIGHUP','SIGINT','46120erUtZb','4275580FOlHRc','SIGTERM','MIhpN','PYYzM','5080568WWFjRQ','616qeEBkV','5OZRUyY','376057phFSbg','701130vjInZK','7Cgbqqm','keys','339rSKdQf','2457495TIKRlP'];_0x4ac6=function(){return _0x42b397;};return _0x4ac6();}
@@ -1 +1 @@
1
- (function(_0x285481,_0x2449cf){const _0x450a10=_0x3fcc,_0x159572=_0x285481();while(!![]){try{const _0x5371f0=parseInt(_0x450a10(0x9c))/0x1*(parseInt(_0x450a10(0xa3))/0x2)+parseInt(_0x450a10(0xa1))/0x3+parseInt(_0x450a10(0x9e))/0x4*(parseInt(_0x450a10(0xa2))/0x5)+parseInt(_0x450a10(0xa5))/0x6*(-parseInt(_0x450a10(0xa9))/0x7)+parseInt(_0x450a10(0xa7))/0x8*(-parseInt(_0x450a10(0xaa))/0x9)+-parseInt(_0x450a10(0xa4))/0xa*(parseInt(_0x450a10(0xa8))/0xb)+parseInt(_0x450a10(0x9f))/0xc*(-parseInt(_0x450a10(0xa6))/0xd);if(_0x5371f0===_0x2449cf)break;else _0x159572['push'](_0x159572['shift']());}catch(_0x1cea8d){_0x159572['push'](_0x159572['shift']());}}}(_0x12ce,0x4d0ed));function _0x3fcc(_0x6e6d6b,_0x548600){_0x6e6d6b=_0x6e6d6b-0x9c;const _0x12ce4f=_0x12ce();let _0x3fcc4e=_0x12ce4f[_0x6e6d6b];return _0x3fcc4e;}import{readHookInput}from'./output.js';function _0x12ce(){const _0x1e2305=['90KpdEmI','552kVlXrz','322387vVyXfp','8hYSnnO','31009bBUxYN','35756eQymWG','2601009uyBcxz','1iiShvX','log','121228YEHtgB','24BHWIPY','ambzw','1317798UlfBVM','60WpWrtj','693170YNqzKi'];_0x12ce=function(){return _0x1e2305;};return _0x12ce();}import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\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.';export async function autoPrompt(){const _0x49c16d=_0x3fcc,_0x27c912={'ambzw':function(_0x2eafc1,_0x4d0b3b){return _0x2eafc1(_0x4d0b3b);}},_0xea6e75=await readHookInput(),_0x4581e4=_0xea6e75?.['session_id'];if(!_0x4581e4)return;if(isSessionEnabled(_0x4581e4)||hasSessionBeenPrompted(_0x4581e4))return;_0x27c912[_0x49c16d(0xa0)](markSessionPrompted,_0x4581e4),console[_0x49c16d(0x9d)](AUTO_PROMPT_TEXT);}
1
+ (function(_0x15cb87,_0x33acfb){const _0x86b2fe=_0x3eca,_0x512b1b=_0x15cb87();while(!![]){try{const _0x4aa9e3=parseInt(_0x86b2fe(0xb0))/0x1+parseInt(_0x86b2fe(0xb2))/0x2*(parseInt(_0x86b2fe(0xba))/0x3)+parseInt(_0x86b2fe(0xb8))/0x4+-parseInt(_0x86b2fe(0xbc))/0x5+-parseInt(_0x86b2fe(0xb6))/0x6+-parseInt(_0x86b2fe(0xbb))/0x7*(parseInt(_0x86b2fe(0xb1))/0x8)+-parseInt(_0x86b2fe(0xb3))/0x9;if(_0x4aa9e3===_0x33acfb)break;else _0x512b1b['push'](_0x512b1b['shift']());}catch(_0x5b07cc){_0x512b1b['push'](_0x512b1b['shift']());}}}(_0x434e,0xdf139));function _0x3eca(_0x4b32d5,_0x1188b1){_0x4b32d5=_0x4b32d5-0xb0;const _0x434e0a=_0x434e();let _0x3eca2f=_0x434e0a[_0x4b32d5];return _0x3eca2f;}import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';const AUTO_PROMPT_TEXT='\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.';export async function autoPrompt(){const _0x36a749=_0x3eca,_0x3c1d15={'xDNjg':function(_0x246afe,_0x147c6e){return _0x246afe(_0x147c6e);},'Dpbin':function(_0x21fd17,_0x52ab92){return _0x21fd17(_0x52ab92);}},_0x4b9b7c=await readHookInput(),_0x3e65db=_0x4b9b7c?.[_0x36a749(0xb9)];if(!_0x3e65db)return;if(_0x3c1d15['xDNjg'](isSessionEnabled,_0x3e65db)||_0x3c1d15[_0x36a749(0xb5)](hasSessionBeenPrompted,_0x3e65db))return;_0x3c1d15[_0x36a749(0xb7)](markSessionPrompted,_0x3e65db),console[_0x36a749(0xb4)](AUTO_PROMPT_TEXT);}function _0x434e(){const _0x214847=['6574368STHcvF','session_id','207WeCADV','469pjNIhA','2582860YzqHkb','1166775yCtMOh','75864oMpIbm','16084PCTimY','4167243SgHfsC','log','xDNjg','5019504pimDkO','Dpbin'];_0x434e=function(){return _0x214847;};return _0x434e();}
@@ -1 +1 @@
1
- (function(_0x6503cb,_0xb6ce94){const _0xb4dc57=_0x3c43,_0xb40e3c=_0x6503cb();while(!![]){try{const _0x50a131=parseInt(_0xb4dc57(0x17e))/0x1+-parseInt(_0xb4dc57(0x180))/0x2*(-parseInt(_0xb4dc57(0x184))/0x3)+-parseInt(_0xb4dc57(0x17a))/0x4+parseInt(_0xb4dc57(0x185))/0x5*(-parseInt(_0xb4dc57(0x183))/0x6)+parseInt(_0xb4dc57(0x181))/0x7*(-parseInt(_0xb4dc57(0x17d))/0x8)+-parseInt(_0xb4dc57(0x18b))/0x9*(-parseInt(_0xb4dc57(0x17c))/0xa)+parseInt(_0xb4dc57(0x179))/0xb*(-parseInt(_0xb4dc57(0x17f))/0xc);if(_0x50a131===_0xb6ce94)break;else _0xb40e3c['push'](_0xb40e3c['shift']());}catch(_0x3f6f3e){_0xb40e3c['push'](_0xb40e3c['shift']());}}}(_0x5b6a,0x2b5f2));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x3c43(_0x403ee1,_0x39477e){_0x403ee1=_0x403ee1-0x179;const _0x5b6aca=_0x5b6a();let _0x3c43e6=_0x5b6aca[_0x403ee1];return _0x3c43e6;}function _0x5b6a(){const _0xc73dbe=['143OwaAsJ','183628hnxgmq','PwBpI','93700Fafowl','40ISfefU','288641WbqUjF','107220MLsTmK','2yOQAjn','49553DfpxHv','\x20and\x20branch\x20\x27','185100YsGXcm','373158rjnUXr','35PsfgTP','main','xIBkn','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','CLAUDE_SESSION_ID','.\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`.','171KkCqjF'];_0x5b6a=function(){return _0xc73dbe;};return _0x5b6a();}import{printBlock}from'./output.js';export async function disable(_0x375403){const _0x1b6ac8=_0x3c43,_0x20a1fc={'PwBpI':function(_0x5b7ce0,_0x335a34){return _0x5b7ce0!==_0x335a34;},'xIBkn':_0x1b6ac8(0x186),'noLPf':'master','HNjEo':function(_0x21a242,_0x6134a4){return _0x21a242(_0x6134a4);}},_0x2ae780=_0x375403||process['env'][_0x1b6ac8(0x189)]||'';_0x2ae780&&disableSession(_0x2ae780);const _0x157735=getCurrentBranch();_0x157735&&_0x20a1fc[_0x1b6ac8(0x17b)](_0x157735,_0x20a1fc[_0x1b6ac8(0x187)])&&_0x157735!==_0x20a1fc['noLPf']&&_0x20a1fc['HNjEo'](disableBranch,_0x157735),_0x20a1fc['HNjEo'](printBlock,_0x1b6ac8(0x188)+(_0x157735&&_0x157735!==_0x1b6ac8(0x186)&&_0x20a1fc[_0x1b6ac8(0x17b)](_0x157735,'master')?_0x1b6ac8(0x182)+_0x157735+'\x27':'')+_0x1b6ac8(0x18a));}
1
+ function _0x4b56(){const _0x456460=['.\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`.','yXNVw','master','IPatL','904479vdWPOU','1123700sBcCNc','5JMGHkk','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','993031rZRvva','main','9058664lGseSA','3752756vBLAJs','117gvunhg','1299384WGfTMl','env','3833124oafKhT','JwnSA','2AxotRy'];_0x4b56=function(){return _0x456460;};return _0x4b56();}(function(_0x4e19f3,_0x5dc639){const _0x5eb7ed=_0x10d7,_0x45d069=_0x4e19f3();while(!![]){try{const _0xff148e=parseInt(_0x5eb7ed(0x146))/0x1+-parseInt(_0x5eb7ed(0x14f))/0x2*(parseInt(_0x5eb7ed(0x154))/0x3)+parseInt(_0x5eb7ed(0x14d))/0x4*(parseInt(_0x5eb7ed(0x156))/0x5)+-parseInt(_0x5eb7ed(0x14b))/0x6+-parseInt(_0x5eb7ed(0x149))/0x7+parseInt(_0x5eb7ed(0x148))/0x8+-parseInt(_0x5eb7ed(0x14a))/0x9*(parseInt(_0x5eb7ed(0x155))/0xa);if(_0xff148e===_0x5dc639)break;else _0x45d069['push'](_0x45d069['shift']());}catch(_0x15b0a2){_0x45d069['push'](_0x45d069['shift']());}}}(_0x4b56,0x8ad5e));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';function _0x10d7(_0x1b47b2,_0x2a7932){_0x1b47b2=_0x1b47b2-0x146;const _0x4b5657=_0x4b56();let _0x10d7ab=_0x4b5657[_0x1b47b2];return _0x10d7ab;}import{printBlock}from'./output.js';export async function disable(_0x2435e4){const _0x47d0d4=_0x10d7,_0x36c9ac={'yXNVw':function(_0x3a885c,_0x4a96dd){return _0x3a885c!==_0x4a96dd;},'vDVUU':_0x47d0d4(0x147),'IPatL':_0x47d0d4(0x152),'JwnSA':function(_0x454374,_0x43795a){return _0x454374(_0x43795a);},'yzAsk':function(_0x420bd6,_0x4391a1){return _0x420bd6!==_0x4391a1;}},_0x5ef83e=_0x2435e4||process[_0x47d0d4(0x14c)]['CLAUDE_SESSION_ID']||'';_0x5ef83e&&disableSession(_0x5ef83e);const _0x57db4f=getCurrentBranch();_0x57db4f&&_0x36c9ac[_0x47d0d4(0x151)](_0x57db4f,_0x36c9ac['vDVUU'])&&_0x57db4f!==_0x36c9ac[_0x47d0d4(0x153)]&&_0x36c9ac[_0x47d0d4(0x14e)](disableBranch,_0x57db4f),printBlock(_0x47d0d4(0x157)+(_0x57db4f&&_0x57db4f!=='main'&&_0x36c9ac['yzAsk'](_0x57db4f,'master')?'\x20and\x20branch\x20\x27'+_0x57db4f+'\x27':'')+_0x47d0d4(0x150));}
@@ -1 +1 @@
1
- (function(_0x3e0a72,_0xa9f1e3){const _0x12d018=_0x3186,_0x59c102=_0x3e0a72();while(!![]){try{const _0x39c309=parseInt(_0x12d018(0xf0))/0x1*(parseInt(_0x12d018(0xeb))/0x2)+-parseInt(_0x12d018(0xfa))/0x3*(-parseInt(_0x12d018(0xe7))/0x4)+-parseInt(_0x12d018(0xf8))/0x5*(-parseInt(_0x12d018(0xf4))/0x6)+-parseInt(_0x12d018(0xf2))/0x7+-parseInt(_0x12d018(0xf7))/0x8*(parseInt(_0x12d018(0xf5))/0x9)+parseInt(_0x12d018(0xf3))/0xa*(parseInt(_0x12d018(0xec))/0xb)+-parseInt(_0x12d018(0xe8))/0xc;if(_0x39c309===_0xa9f1e3)break;else _0x59c102['push'](_0x59c102['shift']());}catch(_0x44abc7){_0x59c102['push'](_0x59c102['shift']());}}}(_0xf39d,0x22b6d));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x3186(_0x175e00,_0x85f8a9){_0x175e00=_0x175e00-0xe3;const _0xf39d5b=_0xf39d();let _0x318675=_0xf39d5b[_0x175e00];return _0x318675;}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';function _0xf39d(){const _0x402f69=['56177WOvfKi','rNLmh','main','#\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`','13svnJmg','VJLoF','1456245hpIFgm','70HBeVac','36OjcWOd','2934ZrznOn','ranger\x20setup','184wthpzK','150895gPrnLd','FWOcx','3780zuJXzD','ranger\x20setup\x20--opencode','CLAUDE_SESSION_ID','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','BDvlR','96wdjWOM','398700ESZCff','FIKRO','#\x20RANGER\x20ENABLED','22136ePgJkm'];_0xf39d=function(){return _0x402f69;};return _0xf39d();}import{update}from'../update.js';export async function enable(_0x5da216){const _0xa1eddb=_0x3186,_0x32a2e3={'rNLmh':_0xa1eddb(0xe3),'FIKRO':'Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','VJLoF':function(_0x2313ec,_0x59e2f6){return _0x2313ec(_0x59e2f6);},'FWOcx':function(_0x446fe5){return _0x446fe5();},'ZQwZp':_0xa1eddb(0xee),'PFgOk':'master','BDvlR':function(_0x27bb01){return _0x27bb01();}},_0x3b9a6e=_0x5da216||process['env'][_0xa1eddb(0xe4)]||'',_0xdd16c7=Boolean(_0x5da216),_0x46c00f=await getToken();if(!_0x46c00f){const _0x73cbd3=_0xdd16c7?_0x32a2e3[_0xa1eddb(0xed)]:_0xa1eddb(0xf6),_0x4beb6d=_0xdd16c7?'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.':_0x32a2e3[_0xa1eddb(0xe9)];printBlock(_0xa1eddb(0xef)+_0x73cbd3+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x4beb6d);return;}try{await update();}catch{}_0x3b9a6e&&_0x32a2e3[_0xa1eddb(0xf1)](enableSession,_0x3b9a6e);const _0x1fa935=_0x32a2e3[_0xa1eddb(0xf9)](getCurrentBranch),_0x4a68d4=_0x1fa935&&_0x1fa935!==_0x32a2e3['ZQwZp']&&_0x1fa935!==_0x32a2e3['PFgOk']?'\x0a\x0a**Branch\x20\x27'+_0x1fa935+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x5b5765=_0x32a2e3[_0xa1eddb(0xe6)](getRangerSkillContent);printBlock(_0xa1eddb(0xea)+_0x4a68d4+_0xa1eddb(0xe5)+_0x5b5765+'\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
+ (function(_0x3ac512,_0x194924){const _0x4f1809=_0x5cd7,_0x564992=_0x3ac512();while(!![]){try{const _0x4ecf51=-parseInt(_0x4f1809(0xec))/0x1+-parseInt(_0x4f1809(0xfb))/0x2*(-parseInt(_0x4f1809(0xed))/0x3)+parseInt(_0x4f1809(0xeb))/0x4*(parseInt(_0x4f1809(0xf4))/0x5)+-parseInt(_0x4f1809(0xfa))/0x6+-parseInt(_0x4f1809(0xf2))/0x7*(parseInt(_0x4f1809(0xf1))/0x8)+parseInt(_0x4f1809(0xf7))/0x9*(-parseInt(_0x4f1809(0xee))/0xa)+parseInt(_0x4f1809(0xf5))/0xb;if(_0x4ecf51===_0x194924)break;else _0x564992['push'](_0x564992['shift']());}catch(_0x5da8bf){_0x564992['push'](_0x564992['shift']());}}}(_0x56f5,0x7edf4));function _0x56f5(){const _0x285711=['8Uxrelg','664188gqZuWF','KxZEj','10480qkeCrH','908402bovbMq','Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','513tzPVlp','\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a','IqYnR','1060974KoGequ','1689882ThQDZB','#\x20RANGER\x20ENABLED','ranger\x20setup','304xppUrH','133273tpXNlv','3IBZYmp','28450UyEOMD','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','fnAbA'];_0x56f5=function(){return _0x285711;};return _0x56f5();}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';function _0x5cd7(_0x210571,_0x6c9135){_0x210571=_0x210571-0xea;const _0x56f536=_0x56f5();let _0x5cd7e8=_0x56f536[_0x210571];return _0x5cd7e8;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x4e5ad1){const _0xe53fb9=_0x5cd7,_0x2dcc40={'EuBND':'ranger\x20setup\x20--opencode','IqYnR':_0xe53fb9(0xea),'fnAbA':_0xe53fb9(0xf6),'fnaht':_0xe53fb9(0xef),'KxZEj':function(_0x396d4f,_0x1feefe){return _0x396d4f(_0x1feefe);},'fMNml':'main','FTKwe':'master'},_0x391724=_0x4e5ad1||process['env']['CLAUDE_SESSION_ID']||'',_0x697377=Boolean(_0x4e5ad1),_0x433f45=await getToken();if(!_0x433f45){const _0x578304=_0x697377?_0x2dcc40['EuBND']:_0x2dcc40[_0xe53fb9(0xf9)],_0x3e572e=_0x697377?_0x2dcc40[_0xe53fb9(0xf0)]:_0x2dcc40['fnaht'];_0x2dcc40[_0xe53fb9(0xf3)](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`'+_0x578304+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x3e572e);return;}try{await update();}catch{}_0x391724&&enableSession(_0x391724);const _0x90cf8c=getCurrentBranch(),_0x448836=_0x90cf8c&&_0x90cf8c!==_0x2dcc40['fMNml']&&_0x90cf8c!==_0x2dcc40['FTKwe']?'\x0a\x0a**Branch\x20\x27'+_0x90cf8c+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x16b581=getRangerSkillContent();printBlock(_0xe53fb9(0xfc)+_0x448836+_0xe53fb9(0xf8)+_0x16b581+'\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(_0x557f06,_0x585256){const _0x5f5be7=_0x4645,_0x38d3e0=_0x557f06();while(!![]){try{const _0x5c19fe=-parseInt(_0x5f5be7(0xfa))/0x1+parseInt(_0x5f5be7(0xf2))/0x2+-parseInt(_0x5f5be7(0xf6))/0x3*(parseInt(_0x5f5be7(0xf3))/0x4)+parseInt(_0x5f5be7(0xf8))/0x5*(parseInt(_0x5f5be7(0xf0))/0x6)+-parseInt(_0x5f5be7(0xfb))/0x7*(parseInt(_0x5f5be7(0xf4))/0x8)+parseInt(_0x5f5be7(0xf7))/0x9+parseInt(_0x5f5be7(0xf9))/0xa;if(_0x5c19fe===_0x585256)break;else _0x38d3e0['push'](_0x38d3e0['shift']());}catch(_0x1a4346){_0x38d3e0['push'](_0x38d3e0['shift']());}}}(_0x24ec,0xbde50));import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x20f0c8){const _0x517a60=_0x4645,_0x2b9515={'llKHl':function(_0x4a69a5,_0x2a8dd9){return _0x4a69a5(_0x2a8dd9);}},_0x4da63e=await _0x2b9515[_0x517a60(0xf5)](getEnabledSessionId,_0x20f0c8);if(!_0x4da63e)return;printBlock(_0x517a60(0xf1));}function _0x4645(_0x5a847e,_0x1072aa){_0x5a847e=_0x5a847e-0xf0;const _0x24ec00=_0x24ec();let _0x464570=_0x24ec00[_0x5a847e];return _0x464570;}function _0x24ec(){const _0x2dc099=['7694730LPOBHa','619506xTfIpq','210abBGap','1402740WpiJgb','===\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===','684zKZOWU','984agrbWl','36984pqBVMC','llKHl','7311CTRjIZ','10187109dSxRqV','5IMyUIR'];_0x24ec=function(){return _0x2dc099;};return _0x24ec();}
1
+ (function(_0x2023d5,_0x144c07){const _0x3286ce=_0x4b0b,_0x351822=_0x2023d5();while(!![]){try{const _0x368953=parseInt(_0x3286ce(0x1a2))/0x1+-parseInt(_0x3286ce(0x1aa))/0x2+-parseInt(_0x3286ce(0x1a8))/0x3*(-parseInt(_0x3286ce(0x1a7))/0x4)+parseInt(_0x3286ce(0x1a5))/0x5*(-parseInt(_0x3286ce(0x1ab))/0x6)+parseInt(_0x3286ce(0x1ac))/0x7*(parseInt(_0x3286ce(0x1a4))/0x8)+-parseInt(_0x3286ce(0x1a6))/0x9*(parseInt(_0x3286ce(0x1a9))/0xa)+parseInt(_0x3286ce(0x1a3))/0xb*(parseInt(_0x3286ce(0x1a1))/0xc);if(_0x368953===_0x144c07)break;else _0x351822['push'](_0x351822['shift']());}catch(_0x34588d){_0x351822['push'](_0x351822['shift']());}}}(_0x1fe5,0x3f4eb));function _0x4b0b(_0xa1fea5,_0x5da935){_0xa1fea5=_0xa1fea5-0x1a1;const _0x1fe5ea=_0x1fe5();let _0x4b0b18=_0x1fe5ea[_0xa1fea5];return _0x4b0b18;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x28a1a1){const _0x2738e1=await getEnabledSessionId(_0x28a1a1);if(!_0x2738e1)return;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===');}function _0x1fe5(){const _0x440c1d=['241857pUnEKR','87010yhEynd','8WbFDsm','1124205QfNGmW','9EZkNRC','16qDLLUs','71091YJDNfg','4653010ALiZaB','648200MTauIf','6oEJyie','2073358SdyXZj','972MMryOC'];_0x1fe5=function(){return _0x440c1d;};return _0x1fe5();}
@@ -1 +1 @@
1
- (function(_0xdfb62c,_0x2a926b){var _0x4b55c3=_0x1b7c,_0x34dffa=_0xdfb62c();while(!![]){try{var _0x1dafcb=parseInt(_0x4b55c3(0x105))/0x1+parseInt(_0x4b55c3(0xfe))/0x2+-parseInt(_0x4b55c3(0x100))/0x3*(parseInt(_0x4b55c3(0x104))/0x4)+parseInt(_0x4b55c3(0x106))/0x5*(-parseInt(_0x4b55c3(0xfd))/0x6)+-parseInt(_0x4b55c3(0x103))/0x7*(-parseInt(_0x4b55c3(0xfb))/0x8)+-parseInt(_0x4b55c3(0x102))/0x9*(-parseInt(_0x4b55c3(0xfc))/0xa)+parseInt(_0x4b55c3(0x101))/0xb*(-parseInt(_0x4b55c3(0xff))/0xc);if(_0x1dafcb===_0x2a926b)break;else _0x34dffa['push'](_0x34dffa['shift']());}catch(_0x1ab11e){_0x34dffa['push'](_0x34dffa['shift']());}}}(_0x1d3d,0xa8d52));export{sessionStart}from'./sessionStart.js';function _0x1d3d(){var _0xa76376=['2333088mPhJMO','11254308rojcpn','24iULIgu','11VhFDiQ','6333399cHtdfV','7KdFNTY','679096VPfXYm','966229NHubIE','5oQAPWa','4063824oBZaCb','10lPwzpi','2141238cGVwBD'];_0x1d3d=function(){return _0xa76376;};return _0x1d3d();}export{sessionEnd}from'./sessionEnd.js';function _0x1b7c(_0x490321,_0x14a498){_0x490321=_0x490321-0xfb;var _0x1d3de4=_0x1d3d();var _0x1b7cda=_0x1d3de4[_0x490321];return _0x1b7cda;}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';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
1
+ (function(_0x4ac83a,_0x2c6874){var _0x19a6ea=_0x5882,_0x42c565=_0x4ac83a();while(!![]){try{var _0x1c981f=parseInt(_0x19a6ea(0x153))/0x1*(parseInt(_0x19a6ea(0x156))/0x2)+parseInt(_0x19a6ea(0x152))/0x3+-parseInt(_0x19a6ea(0x14f))/0x4+parseInt(_0x19a6ea(0x154))/0x5*(-parseInt(_0x19a6ea(0x155))/0x6)+parseInt(_0x19a6ea(0x150))/0x7*(parseInt(_0x19a6ea(0x158))/0x8)+parseInt(_0x19a6ea(0x157))/0x9*(parseInt(_0x19a6ea(0x151))/0xa)+-parseInt(_0x19a6ea(0x14e))/0xb;if(_0x1c981f===_0x2c6874)break;else _0x42c565['push'](_0x42c565['shift']());}catch(_0x5690b7){_0x42c565['push'](_0x42c565['shift']());}}}(_0x561e,0x9bf6a));function _0x561e(){var _0x5762c3=['1128zaTgiJ','857901EhlZvw','5006276saYniv','44331GhwBXL','20jwbUvC','2911554WxzzTF','33eXQFsb','1156445TFhlMY','30NWzeWV','72344IdPDfN','304578sDExBO'];_0x561e=function(){return _0x5762c3;};return _0x561e();}export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';function _0x5882(_0x3c3826,_0x5d507f){_0x3c3826=_0x3c3826-0x14e;var _0x561e6c=_0x561e();var _0x5882e8=_0x561e6c[_0x3c3826];return _0x5882e8;}export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x21b955,_0x465616){const _0x37a10c=_0x4636,_0x1677fe=_0x21b955();while(!![]){try{const _0x5b71e4=parseInt(_0x37a10c(0x1df))/0x1+-parseInt(_0x37a10c(0x1de))/0x2+parseInt(_0x37a10c(0x1d6))/0x3*(-parseInt(_0x37a10c(0x1d7))/0x4)+parseInt(_0x37a10c(0x1e3))/0x5*(-parseInt(_0x37a10c(0x1e4))/0x6)+parseInt(_0x37a10c(0x1e1))/0x7+parseInt(_0x37a10c(0x1db))/0x8*(-parseInt(_0x37a10c(0x1e2))/0x9)+parseInt(_0x37a10c(0x1d9))/0xa*(parseInt(_0x37a10c(0x1dc))/0xb);if(_0x5b71e4===_0x465616)break;else _0x1677fe['push'](_0x1677fe['shift']());}catch(_0x399cbb){_0x1677fe['push'](_0x1677fe['shift']());}}}(_0x1bea,0x3420f));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x55ae2a){console['log'](_0x55ae2a);}function _0x1bea(){const _0xc7c74=['303256LdYfFt','37939yxuOGi','session_id','231024AQckVC','268222wiiDNh','pXOKk','1780842rpVNXT','18LYKMQt','57770iIMvTT','66ehGtxS','6ByhWjA','471136gRJlwa','trim','710UcZvdi','AFiTe'];_0x1bea=function(){return _0xc7c74;};return _0x1bea();}export async function readHookInput(){const _0x3f8ff7=_0x4636;let _0xffb69c='';try{for await(const _0x74cbb1 of process['stdin']){_0xffb69c+=_0x74cbb1;}}catch{return null;}if(!_0xffb69c[_0x3f8ff7(0x1d8)]())return null;try{return JSON['parse'](_0xffb69c);}catch{return null;}}export async function getEnabledSessionId(_0x563489){const _0x724f62=_0x4636,_0x44a689={'vNqhe':function(_0x2e5952,_0x3e4df8){return _0x2e5952(_0x3e4df8);},'AFiTe':function(_0x1419f5){return _0x1419f5();}};if(_0x563489)return _0x44a689['vNqhe'](isSessionEnabled,_0x563489)?_0x563489:null;const _0x743c49=await _0x44a689[_0x724f62(0x1da)](readHookInput),_0x50c727=_0x743c49?.[_0x724f62(0x1dd)];if(!_0x50c727||!isSessionEnabled(_0x50c727))return null;return _0x50c727;}function _0x4636(_0x51204e,_0x2d51fc){_0x51204e=_0x51204e-0x1d6;const _0x1bea84=_0x1bea();let _0x4636c1=_0x1bea84[_0x51204e];return _0x4636c1;}export async function getEnabledHookContext(_0x1621a7){const _0x26029f=_0x4636,_0x2824b6={'pXOKk':function(_0x2cf1e6,_0x14436c){return _0x2cf1e6(_0x14436c);}};if(_0x1621a7){if(!isSessionEnabled(_0x1621a7))return null;return{'sessionId':_0x1621a7,'input':{'session_id':_0x1621a7}};}const _0x411f85=await readHookInput(),_0x49cf57=_0x411f85?.['session_id'];if(!_0x49cf57||!_0x2824b6[_0x26029f(0x1e0)](isSessionEnabled,_0x49cf57))return null;return{'sessionId':_0x49cf57,'input':_0x411f85};}
1
+ (function(_0x880783,_0x3d8794){const _0x3c3008=_0x4217,_0x5193f0=_0x880783();while(!![]){try{const _0x114c03=parseInt(_0x3c3008(0x11f))/0x1+-parseInt(_0x3c3008(0x111))/0x2*(-parseInt(_0x3c3008(0x110))/0x3)+parseInt(_0x3c3008(0x119))/0x4*(parseInt(_0x3c3008(0x11e))/0x5)+parseInt(_0x3c3008(0x11b))/0x6+parseInt(_0x3c3008(0x116))/0x7*(parseInt(_0x3c3008(0x114))/0x8)+parseInt(_0x3c3008(0x117))/0x9*(-parseInt(_0x3c3008(0x113))/0xa)+-parseInt(_0x3c3008(0x11a))/0xb;if(_0x114c03===_0x3d8794)break;else _0x5193f0['push'](_0x5193f0['shift']());}catch(_0x40782d){_0x5193f0['push'](_0x5193f0['shift']());}}}(_0xe903,0x97858));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x3a5331){console['log'](_0x3a5331);}function _0xe903(){const _0x1f5ee9=['stdin','5496230GSlXRc','5756800yTYFXj','fNEkE','7PkncIv','9ztAhih','trim','4qcNSni','20444754GnRulE','5193480lugyIY','parse','NSzok','697885LCRTGa','892909hzjCPq','session_id','3sShhig','822406ZxPHeD'];_0xe903=function(){return _0x1f5ee9;};return _0xe903();}export async function readHookInput(){const _0x418a9d=_0x4217;let _0x36a75e='';try{for await(const _0x47cffa of process[_0x418a9d(0x112)]){_0x36a75e+=_0x47cffa;}}catch{return null;}if(!_0x36a75e[_0x418a9d(0x118)]())return null;try{return JSON[_0x418a9d(0x11c)](_0x36a75e);}catch{return null;}}export async function getEnabledSessionId(_0x43e0ce){const _0xb845b=_0x4217,_0x146e86={'NSzok':function(_0x67b641,_0x2e40d8){return _0x67b641(_0x2e40d8);}};if(_0x43e0ce)return _0x146e86[_0xb845b(0x11d)](isSessionEnabled,_0x43e0ce)?_0x43e0ce:null;const _0x3e6310=await readHookInput(),_0x45ffdf=_0x3e6310?.[_0xb845b(0x120)];if(!_0x45ffdf||!_0x146e86[_0xb845b(0x11d)](isSessionEnabled,_0x45ffdf))return null;return _0x45ffdf;}function _0x4217(_0x129e37,_0x18e9ea){_0x129e37=_0x129e37-0x110;const _0xe903a3=_0xe903();let _0x42176b=_0xe903a3[_0x129e37];return _0x42176b;}export async function getEnabledHookContext(_0x57636c){const _0x28dbbb=_0x4217,_0xd98716={'fNEkE':function(_0x12f918,_0xb60530){return _0x12f918(_0xb60530);}};if(_0x57636c){if(!_0xd98716['fNEkE'](isSessionEnabled,_0x57636c))return null;return{'sessionId':_0x57636c,'input':{'session_id':_0x57636c}};}const _0x5abae1=await readHookInput(),_0xa7c52a=_0x5abae1?.['session_id'];if(!_0xa7c52a||!_0xd98716[_0x28dbbb(0x115)](isSessionEnabled,_0xa7c52a))return null;return{'sessionId':_0xa7c52a,'input':_0x5abae1};}
@@ -1 +1 @@
1
- (function(_0x24fbe9,_0x2978d2){const _0x1dc83d=_0x2d48,_0x420551=_0x24fbe9();while(!![]){try{const _0x425e0e=-parseInt(_0x1dc83d(0x15b))/0x1*(-parseInt(_0x1dc83d(0x163))/0x2)+parseInt(_0x1dc83d(0x157))/0x3+parseInt(_0x1dc83d(0x161))/0x4*(parseInt(_0x1dc83d(0x15c))/0x5)+parseInt(_0x1dc83d(0x15e))/0x6*(parseInt(_0x1dc83d(0x156))/0x7)+-parseInt(_0x1dc83d(0x160))/0x8+parseInt(_0x1dc83d(0x159))/0x9+-parseInt(_0x1dc83d(0x165))/0xa*(parseInt(_0x1dc83d(0x158))/0xb);if(_0x425e0e===_0x2978d2)break;else _0x420551['push'](_0x420551['shift']());}catch(_0x459ec8){_0x420551['push'](_0x420551['shift']());}}}(_0x3674,0xc909a));import{printBlock,getEnabledHookContext}from'./output.js';function _0x3674(){const _0xce49f2=['permission_mode','3826564wARmjb','703101vEcXKK','16907UOhpQl','5019813HOyumr','input','3CeHnhR','70EAhKec','plan','18eJeiRq','sessionId','9612872kmCsxt','296268tJguCr','YJKjS','699370Kdqhiv','ikzQU','16220fipwtf'];_0x3674=function(){return _0xce49f2;};return _0x3674();}function _0x2d48(_0xa624e5,_0x37fa6a){_0xa624e5=_0xa624e5-0x155;const _0x3674d4=_0x3674();let _0x2d489a=_0x3674d4[_0xa624e5];return _0x2d489a;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x241a6){const _0xdaf91=_0x2d48,_0x1eb7f6={'ikzQU':_0xdaf91(0x15d),'YJKjS':function(_0x26db64,_0x2e5557){return _0x26db64(_0x2e5557);}},_0xa98691=await getEnabledHookContext(_0x241a6);if(!_0xa98691)return;if(_0xa98691[_0xdaf91(0x15a)][_0xdaf91(0x155)]!==_0x1eb7f6[_0xdaf91(0x164)])return;if(!_0x1eb7f6['YJKjS'](shouldShowPlanReminder,_0xa98691[_0xdaf91(0x15f)]))return;_0x1eb7f6[_0xdaf91(0x162)](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
+ (function(_0x2024aa,_0x1d417d){const _0x431e68=_0x3be8,_0x3ef624=_0x2024aa();while(!![]){try{const _0x37dec9=parseInt(_0x431e68(0x138))/0x1*(parseInt(_0x431e68(0x130))/0x2)+parseInt(_0x431e68(0x131))/0x3+parseInt(_0x431e68(0x12f))/0x4+parseInt(_0x431e68(0x135))/0x5+parseInt(_0x431e68(0x12c))/0x6*(parseInt(_0x431e68(0x136))/0x7)+parseInt(_0x431e68(0x137))/0x8+-parseInt(_0x431e68(0x13a))/0x9;if(_0x37dec9===_0x1d417d)break;else _0x3ef624['push'](_0x3ef624['shift']());}catch(_0x2db1d4){_0x3ef624['push'](_0x3ef624['shift']());}}}(_0x2a5d,0xc04cd));function _0x3be8(_0x25fe26,_0x4542d3){_0x25fe26=_0x25fe26-0x12c;const _0x2a5dab=_0x2a5d();let _0x3be842=_0x2a5dab[_0x25fe26];return _0x3be842;}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4a1769){const _0x237acf=_0x3be8,_0x4ea806={'zIRMu':function(_0x4fb43b,_0x46bf3f){return _0x4fb43b!==_0x46bf3f;},'AkbWJ':function(_0x56f11c,_0x30975e){return _0x56f11c(_0x30975e);}},_0x1218da=await getEnabledHookContext(_0x4a1769);if(!_0x1218da)return;if(_0x4ea806[_0x237acf(0x139)](_0x1218da['input'][_0x237acf(0x132)],_0x237acf(0x12d)))return;if(!_0x4ea806[_0x237acf(0x134)](shouldShowPlanReminder,_0x1218da[_0x237acf(0x12e)]))return;printBlock(_0x237acf(0x133));}function _0x2a5d(){const _0x124d93=['permission_mode','===\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===','AkbWJ','4126805aeVdUM','49sZUIFN','7043744ueLFRE','35BJTffq','zIRMu','16272459nzBVgV','8406IhechY','plan','sessionId','1625832GHIWHT','686rREZwz','1384839INSgBu'];_0x2a5d=function(){return _0x124d93;};return _0x2a5d();}
@@ -1 +1 @@
1
- function _0x2c7e(){const _0x1bf04b=['1053jNGVqN','929420jflXhu','63oYMBND','===\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===','1105170IDfsgU','11VJjGPY','56QTUUWR','245TREczk','179120HjNuId','780296yxqwAG','1890fRSyDL','stYaY','81436zkqivD','1302060bPzhTw'];_0x2c7e=function(){return _0x1bf04b;};return _0x2c7e();}function _0x3358(_0x5a9445,_0x21615c){_0x5a9445=_0x5a9445-0xe8;const _0x2c7ee8=_0x2c7e();let _0x335822=_0x2c7ee8[_0x5a9445];return _0x335822;}(function(_0x18611b,_0x3cf06b){const _0x543260=_0x3358,_0x50b685=_0x18611b();while(!![]){try{const _0x2fe682=parseInt(_0x543260(0xea))/0x1+parseInt(_0x543260(0xeb))/0x2*(parseInt(_0x543260(0xef))/0x3)+parseInt(_0x543260(0xed))/0x4*(-parseInt(_0x543260(0xe8))/0x5)+-parseInt(_0x543260(0xf3))/0x6+-parseInt(_0x543260(0xf5))/0x7*(parseInt(_0x543260(0xe9))/0x8)+-parseInt(_0x543260(0xf1))/0x9*(-parseInt(_0x543260(0xf0))/0xa)+parseInt(_0x543260(0xf4))/0xb*(parseInt(_0x543260(0xee))/0xc);if(_0x2fe682===_0x3cf06b)break;else _0x50b685['push'](_0x50b685['shift']());}catch(_0x445463){_0x50b685['push'](_0x50b685['shift']());}}}(_0x2c7e,0x7c8e8));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x12e197){const _0x29e851=_0x3358,_0x46b989={'stYaY':function(_0x92d62d,_0x11219b){return _0x92d62d(_0x11219b);}},_0x55df9e=await _0x46b989['stYaY'](getEnabledSessionId,_0x12e197);if(!_0x55df9e)return;_0x46b989[_0x29e851(0xec)](printBlock,_0x29e851(0xf2));}
1
+ (function(_0xc45fbd,_0x5dd6b4){const _0x15375e=_0x2bac,_0x1885ff=_0xc45fbd();while(!![]){try{const _0x97294c=parseInt(_0x15375e(0x11b))/0x1*(-parseInt(_0x15375e(0x11d))/0x2)+parseInt(_0x15375e(0x11a))/0x3*(-parseInt(_0x15375e(0x119))/0x4)+parseInt(_0x15375e(0x122))/0x5+parseInt(_0x15375e(0x118))/0x6+-parseInt(_0x15375e(0x121))/0x7*(parseInt(_0x15375e(0x11f))/0x8)+parseInt(_0x15375e(0x120))/0x9*(-parseInt(_0x15375e(0x125))/0xa)+-parseInt(_0x15375e(0x126))/0xb*(-parseInt(_0x15375e(0x11e))/0xc);if(_0x97294c===_0x5dd6b4)break;else _0x1885ff['push'](_0x1885ff['shift']());}catch(_0x5a8984){_0x1885ff['push'](_0x1885ff['shift']());}}}(_0x3a04,0x24628));function _0x2bac(_0x225bb5,_0x2293dd){_0x225bb5=_0x225bb5-0x118;const _0x3a0419=_0x3a04();let _0x2bacff=_0x3a0419[_0x225bb5];return _0x2bacff;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x5f43ce){const _0x3ac900=_0x2bac,_0x146b99={'NQOUb':function(_0x2ce964,_0x33af61){return _0x2ce964(_0x33af61);},'knqWm':function(_0x5d314c,_0x7577e8){return _0x5d314c(_0x7577e8);}},_0x3bd3c3=await _0x146b99[_0x3ac900(0x11c)](getEnabledSessionId,_0x5f43ce);if(!_0x3bd3c3)return;_0x146b99[_0x3ac900(0x124)](printBlock,_0x3ac900(0x123));}function _0x3a04(){const _0x5f422b=['530170aqBekp','===\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===','knqWm','20VBJYNp','209xvEtDg','365370GHkDni','193852EYJiVo','6cXCyWp','4207bOvyqx','NQOUb','120SyKwDb','518532ImzXUQ','6416PCCOSW','1279116OmFUij','1792JPsvvO'];_0x3a04=function(){return _0x5f422b;};return _0x3a04();}
@@ -1 +1 @@
1
- (function(_0x1816ed,_0x16ad2d){const _0x33c830=_0x1b3a,_0x205d66=_0x1816ed();while(!![]){try{const _0x4a8e11=-parseInt(_0x33c830(0x1f2))/0x1*(parseInt(_0x33c830(0x1fe))/0x2)+parseInt(_0x33c830(0x1f5))/0x3*(-parseInt(_0x33c830(0x1fb))/0x4)+-parseInt(_0x33c830(0x1f7))/0x5+-parseInt(_0x33c830(0x1fc))/0x6+parseInt(_0x33c830(0x1fd))/0x7+parseInt(_0x33c830(0x1f3))/0x8*(parseInt(_0x33c830(0x1f9))/0x9)+-parseInt(_0x33c830(0x1f4))/0xa*(-parseInt(_0x33c830(0x1f8))/0xb);if(_0x4a8e11===_0x16ad2d)break;else _0x205d66['push'](_0x205d66['shift']());}catch(_0x1881f7){_0x205d66['push'](_0x205d66['shift']());}}}(_0xe8f6,0x5a0a7));function _0x1b3a(_0x22929e,_0x25d608){_0x22929e=_0x22929e-0x1f2;const _0xe8f673=_0xe8f6();let _0x1b3ae0=_0xe8f673[_0x22929e];return _0x1b3ae0;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0xe8f6(){const _0x3f4ede=['249910FtzNog','618ipsWFe','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).','1550365EelZIk','649lohngJ','128691rnBVMv','PostToolUse','4748KmNoZQ','3913836aHlAqX','4265835rKgItD','106CfbHyt','10937pzNRxE','40VpMKNG'];_0xe8f6=function(){return _0x3f4ede;};return _0xe8f6();}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x24c47f){const _0x3d76b0=_0x1b3a,_0x235429={'KSFwH':_0x3d76b0(0x1fa)},_0x5f5439=await getEnabledSessionId(_0x24c47f);if(!_0x5f5439)return;updateBranchTracking(_0x5f5439);const _0x2e693e=await getToken();if(!_0x2e693e)return;const _0x2f3956=getSessionEntry(_0x5f5439);if(_0x2f3956){const _0x51668d={'hookSpecificOutput':{'hookEventName':_0x3d76b0(0x1fa),'additionalContext':_0x3d76b0(0x1f6)}};console['log'](JSON['stringify'](_0x51668d));return;}const _0x356d27={'hookSpecificOutput':{'hookEventName':_0x235429['KSFwH'],'additionalContext':'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.'}};console['log'](JSON['stringify'](_0x356d27));}
1
+ (function(_0x52b48f,_0x11607e){const _0xfed8a5=_0x172f,_0xf77bc7=_0x52b48f();while(!![]){try{const _0x4b2ada=parseInt(_0xfed8a5(0xd2))/0x1*(-parseInt(_0xfed8a5(0xd0))/0x2)+parseInt(_0xfed8a5(0xda))/0x3+parseInt(_0xfed8a5(0xd9))/0x4+parseInt(_0xfed8a5(0xdb))/0x5*(parseInt(_0xfed8a5(0xd3))/0x6)+parseInt(_0xfed8a5(0xd4))/0x7+-parseInt(_0xfed8a5(0xd8))/0x8+-parseInt(_0xfed8a5(0xd6))/0x9;if(_0x4b2ada===_0x11607e)break;else _0xf77bc7['push'](_0xf77bc7['shift']());}catch(_0x12dc12){_0xf77bc7['push'](_0xf77bc7['shift']());}}}(_0x2742,0xbe606));function _0x2742(){const _0xd677dc=['464826fHYUsa','6888749qTPHGA','log','21027339sGmjoU','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).','3816456MHzHGS','6238088aCFQQc','2764605pxouXE','25PXUppl','2XVFMzh','vzynb','259309FyvWfy'];_0x2742=function(){return _0xd677dc;};return _0x2742();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x172f(_0x434877,_0x584891){_0x434877=_0x434877-0xd0;const _0x274232=_0x2742();let _0x172ff5=_0x274232[_0x434877];return _0x172ff5;}export async function postEdit(_0x3655c2){const _0x45655e=_0x172f,_0x1dd50f={'eCkGP':function(_0x327e98,_0x49a07a){return _0x327e98(_0x49a07a);},'vzynb':'PostToolUse'},_0x190c8c=await getEnabledSessionId(_0x3655c2);if(!_0x190c8c)return;updateBranchTracking(_0x190c8c);const _0x2418e2=await getToken();if(!_0x2418e2)return;const _0x544496=_0x1dd50f['eCkGP'](getSessionEntry,_0x190c8c);if(_0x544496){const _0x53e588={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x45655e(0xd7)}};console[_0x45655e(0xd5)](JSON['stringify'](_0x53e588));return;}const _0x2094f1={'hookSpecificOutput':{'hookEventName':_0x1dd50f[_0x45655e(0xd1)],'additionalContext':'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.'}};console[_0x45655e(0xd5)](JSON['stringify'](_0x2094f1));}
@@ -1 +1 @@
1
- (function(_0x5928b2,_0x596371){const _0x54381e=_0x239f,_0x142946=_0x5928b2();while(!![]){try{const _0x3badb5=parseInt(_0x54381e(0x14e))/0x1*(parseInt(_0x54381e(0x149))/0x2)+parseInt(_0x54381e(0x14d))/0x3*(parseInt(_0x54381e(0x14a))/0x4)+parseInt(_0x54381e(0x151))/0x5+-parseInt(_0x54381e(0x14b))/0x6*(-parseInt(_0x54381e(0x154))/0x7)+parseInt(_0x54381e(0x14f))/0x8*(-parseInt(_0x54381e(0x152))/0x9)+parseInt(_0x54381e(0x150))/0xa*(-parseInt(_0x54381e(0x153))/0xb)+-parseInt(_0x54381e(0x14c))/0xc;if(_0x3badb5===_0x596371)break;else _0x142946['push'](_0x142946['shift']());}catch(_0x22f6da){_0x142946['push'](_0x142946['shift']());}}}(_0x35d0,0xb30e0));import{getToken}from'../utils/keychain.js';function _0x35d0(){const _0x26081c=['2453YJVqkD','7WcMpbv','8zhboDU','4fLuFSb','6614220jcGnwZ','6811992LakOxm','185589GuaSXg','322819rowCxm','8CHlcvg','48560xgDBTY','4751055jLtIeN','9195822IdUbGL'];_0x35d0=function(){return _0x26081c;};return _0x35d0();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x239f(_0x397304,_0x31730b){_0x397304=_0x397304-0x149;const _0x35d0f4=_0x35d0();let _0x239f87=_0x35d0f4[_0x397304];return _0x239f87;}export async function preCompact(_0x2a5dd9){const _0x16c781={'gNWLL':function(_0x90ac4d){return _0x90ac4d();}},_0x2d4323=await getEnabledSessionId(_0x2a5dd9);if(!_0x2d4323)return;try{const _0x481f7d=await _0x16c781['gNWLL'](getToken);if(!_0x481f7d)return;printBlock('===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}
1
+ (function(_0x1794e0,_0x3cb809){const _0x1b0318=_0x1b3c,_0x37bc80=_0x1794e0();while(!![]){try{const _0x37a9b1=-parseInt(_0x1b0318(0xd8))/0x1*(-parseInt(_0x1b0318(0xdf))/0x2)+parseInt(_0x1b0318(0xde))/0x3+-parseInt(_0x1b0318(0xd6))/0x4*(parseInt(_0x1b0318(0xdc))/0x5)+parseInt(_0x1b0318(0xd9))/0x6+-parseInt(_0x1b0318(0xd3))/0x7*(-parseInt(_0x1b0318(0xdd))/0x8)+parseInt(_0x1b0318(0xd5))/0x9*(parseInt(_0x1b0318(0xd4))/0xa)+parseInt(_0x1b0318(0xda))/0xb*(-parseInt(_0x1b0318(0xdb))/0xc);if(_0x37a9b1===_0x3cb809)break;else _0x37bc80['push'](_0x37bc80['shift']());}catch(_0x5ccbef){_0x37bc80['push'](_0x37bc80['shift']());}}}(_0x1be4,0xcaffc));import{getToken}from'../utils/keychain.js';function _0x1b3c(_0x442ed7,_0x297f43){_0x442ed7=_0x442ed7-0xd3;const _0x1be447=_0x1be4();let _0x1b3cf9=_0x1be447[_0x442ed7];return _0x1b3cf9;}function _0x1be4(){const _0x3683da=['3134719lyVyxg','416210kyuycl','162SYoJFM','20FYhPSr','===\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`.','46mpRibz','4686414GgFrrg','5509317LAOElE','48uPGjvg','1217530KciHLI','16nZZlDP','321699MEOBJu','66056ETKejb'];_0x1be4=function(){return _0x3683da;};return _0x1be4();}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x49b61a){const _0x8ef480=_0x1b3c,_0x1879d2={'iXgxT':function(_0x50e516,_0x236bea){return _0x50e516(_0x236bea);},'kvvJr':function(_0x257328){return _0x257328();}},_0x16628a=await _0x1879d2['iXgxT'](getEnabledSessionId,_0x49b61a);if(!_0x16628a)return;try{const _0x5ec6df=await _0x1879d2['kvvJr'](getToken);if(!_0x5ec6df)return;printBlock(_0x8ef480(0xd7));}catch{}}
@@ -1 +1 @@
1
- (function(_0x5095ec,_0x2ceb13){const _0x47e5c2=_0x151a,_0x5f21a8=_0x5095ec();while(!![]){try{const _0x453ae7=-parseInt(_0x47e5c2(0x16e))/0x1+-parseInt(_0x47e5c2(0x168))/0x2+-parseInt(_0x47e5c2(0x16c))/0x3+-parseInt(_0x47e5c2(0x167))/0x4+parseInt(_0x47e5c2(0x169))/0x5+parseInt(_0x47e5c2(0x16f))/0x6*(-parseInt(_0x47e5c2(0x164))/0x7)+parseInt(_0x47e5c2(0x166))/0x8*(parseInt(_0x47e5c2(0x16b))/0x9);if(_0x453ae7===_0x2ceb13)break;else _0x5f21a8['push'](_0x5f21a8['shift']());}catch(_0x5280a7){_0x5f21a8['push'](_0x5f21a8['shift']());}}}(_0x89ae,0xe7600));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x151a(_0x316181,_0x148aab){_0x316181=_0x316181-0x164;const _0x89ae5b=_0x89ae();let _0x151a74=_0x89ae5b[_0x316181];return _0x151a74;}function _0x89ae(){const _0x1bef60=['1029934VIRgBe','7097058oUpnyZ','clear','7wgFASG','sZuVf','5176YwbgdD','449712hngqup','3515072bRZThx','1465930oLsYKv','env','88497JSxIMd','4874052nWsXHt','reason'];_0x89ae=function(){return _0x1bef60;};return _0x89ae();}export async function sessionEnd(_0xb208b5){const _0xdd7332=_0x151a,_0x2098e8={'GskhL':function(_0x924570,_0x15abdc){return _0x924570===_0x15abdc;},'sZuVf':function(_0x486e79,_0x40f402){return _0x486e79(_0x40f402);}},_0x396531=process[_0xdd7332(0x16a)]['CLAUDE_SESSION_ID'];let _0x1c5fdf=_0xb208b5,_0xf1d573;if(!_0xb208b5){if(_0x396531&&!isSessionEnabled(_0x396531))return;const _0x2f041c=await readHookInput();_0x1c5fdf=_0x2f041c?.['session_id']||_0x396531,_0xf1d573=_0x2f041c?.[_0xdd7332(0x16d)];}if(!_0x1c5fdf)return;_0x2098e8['GskhL'](_0xf1d573,_0xdd7332(0x170))&&_0x2098e8[_0xdd7332(0x165)](recordEnabledSessionCleared,_0x1c5fdf);}
1
+ (function(_0x1d61d5,_0x493dfb){const _0x2f5606=_0x49e1,_0x544170=_0x1d61d5();while(!![]){try{const _0x2baa3b=parseInt(_0x2f5606(0x1e5))/0x1+parseInt(_0x2f5606(0x1e8))/0x2+parseInt(_0x2f5606(0x1e6))/0x3*(-parseInt(_0x2f5606(0x1e0))/0x4)+-parseInt(_0x2f5606(0x1dd))/0x5*(parseInt(_0x2f5606(0x1e1))/0x6)+parseInt(_0x2f5606(0x1e7))/0x7+parseInt(_0x2f5606(0x1e4))/0x8+-parseInt(_0x2f5606(0x1e2))/0x9*(parseInt(_0x2f5606(0x1e3))/0xa);if(_0x2baa3b===_0x493dfb)break;else _0x544170['push'](_0x544170['shift']());}catch(_0x2e7fec){_0x544170['push'](_0x544170['shift']());}}}(_0x13f2,0xc4747));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x829c83){const _0x4a626b=_0x49e1,_0x185fda={'aiEaP':function(_0xec8634,_0x3aa9e4){return _0xec8634(_0x3aa9e4);},'StSjQ':function(_0x418952){return _0x418952();},'bQTSc':function(_0x4e5ffa,_0xfc3ba0){return _0x4e5ffa===_0xfc3ba0;}},_0x1bc1f4=process['env'][_0x4a626b(0x1de)];let _0x1d802a=_0x829c83,_0x1db80e;if(!_0x829c83){if(_0x1bc1f4&&!_0x185fda[_0x4a626b(0x1df)](isSessionEnabled,_0x1bc1f4))return;const _0x30d2d7=await _0x185fda['StSjQ'](readHookInput);_0x1d802a=_0x30d2d7?.[_0x4a626b(0x1db)]||_0x1bc1f4,_0x1db80e=_0x30d2d7?.['reason'];}if(!_0x1d802a)return;_0x185fda[_0x4a626b(0x1dc)](_0x1db80e,'clear')&&recordEnabledSessionCleared(_0x1d802a);}function _0x49e1(_0x3f1d6e,_0x5721d2){_0x3f1d6e=_0x3f1d6e-0x1db;const _0x13f209=_0x13f2();let _0x49e1a5=_0x13f209[_0x3f1d6e];return _0x49e1a5;}function _0x13f2(){const _0x2507e5=['7176498xLtMVn','2922860BQxwxx','session_id','bQTSc','6071255OvSHRh','CLAUDE_SESSION_ID','aiEaP','451676GPmcwJ','6gfsNRG','7084674kcjDRY','10HKSupz','10236680MqrLkx','281996SmPoTI','33iWVXeK'];_0x13f2=function(){return _0x2507e5;};return _0x13f2();}
@@ -1 +1 @@
1
- function _0x18ab(){const _0x33be06=['session_id','3222184GEfgFK','master','\x20(Branch:\x20','445782yPtUbX','SessionStart','1152912tJRNmH','ApZYR','hiYvH','3339486NMhkUJ','2CqntQX','log','42452pCUrzv','hook:session-start','qXGfK','482993OiHbIn','Hquxj','MEDTV','hZomj','1511920DyOJae','20XZxdMX','ZxKUU','stdin','UeCnz','parse','main'];_0x18ab=function(){return _0x33be06;};return _0x18ab();}(function(_0x13bedf,_0x31ae43){const _0x2f9d5f=_0x576e,_0x536c80=_0x13bedf();while(!![]){try{const _0x43b3d0=parseInt(_0x2f9d5f(0xd8))/0x1*(parseInt(_0x2f9d5f(0xd6))/0x2)+-parseInt(_0x2f9d5f(0xd2))/0x3+parseInt(_0x2f9d5f(0xdf))/0x4+parseInt(_0x2f9d5f(0xe0))/0x5*(parseInt(_0x2f9d5f(0xd0))/0x6)+-parseInt(_0x2f9d5f(0xdb))/0x7+-parseInt(_0x2f9d5f(0xcd))/0x8+parseInt(_0x2f9d5f(0xd5))/0x9;if(_0x43b3d0===_0x31ae43)break;else _0x536c80['push'](_0x536c80['shift']());}catch(_0xb97409){_0x536c80['push'](_0x536c80['shift']());}}}(_0x18ab,0x38c96));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 _0x576e(_0x2be64b,_0x35bed2){_0x2be64b=_0x2be64b-0xc7;const _0x18abdf=_0x18ab();let _0x576ef4=_0x18abdf[_0x2be64b];return _0x576ef4;}const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x1a813c){const _0x3196b8=_0x576e,_0x13d04f={'ZxKUU':function(_0xdfe296,_0x55f5ef){return _0xdfe296||_0x55f5ef;},'pGPUw':'source','hGJps':function(_0x1470fa,_0x182ce0){return _0x1470fa&&_0x182ce0;},'UeCnz':function(_0x18d21b,_0x1ee898,_0xfcbcc0){return _0x18d21b(_0x1ee898,_0xfcbcc0);},'haCHO':function(_0x315d56){return _0x315d56();},'enhwM':function(_0x61ae91,_0x2b8904){return _0x61ae91(_0x2b8904);},'MEDTV':function(_0x3d0556,_0x10994a){return _0x3d0556(_0x10994a);},'Hquxj':_0x3196b8(0xd9),'qXGfK':'success','MpiZb':function(_0x2fa0cd){return _0x2fa0cd();},'bEBJo':function(_0x501932,_0x5d296b){return _0x501932!==_0x5d296b;},'hZomj':_0x3196b8(0xcb),'ApZYR':_0x3196b8(0xce),'hiYvH':function(_0x38affd,_0x3d2863){return _0x38affd+_0x3d2863;}};let _0x11134d=_0x13d04f[_0x3196b8(0xc7)](_0x1a813c,''),_0xd03c2c;if(!_0x1a813c){let _0x517dae='';for await(const _0x2a6cf6 of process[_0x3196b8(0xc8)]){_0x517dae+=_0x2a6cf6;}try{const _0x4522b5=JSON[_0x3196b8(0xca)](_0x517dae);_0x11134d=_0x4522b5[_0x3196b8(0xcc)]||'',_0xd03c2c=_0x4522b5[_0x13d04f['pGPUw']];}catch{}const _0x5b9d20=process['env']['CLAUDE_ENV_FILE'];if(_0x13d04f['hGJps'](_0x5b9d20,_0x11134d))try{await _0x13d04f[_0x3196b8(0xc9)](appendFile,_0x5b9d20,'export\x20CLAUDE_SESSION_ID=\x22'+_0x11134d+'\x22\x0a');}catch{}}try{await _0x13d04f['haCHO'](getToken);}catch{}if(_0x11134d){_0x13d04f['enhwM'](shouldAutoEnableAfterClear,_0xd03c2c)&&_0x13d04f[_0x3196b8(0xdd)](autoEnableAfterClear,_0x11134d);initBranchTracking(_0x11134d);const _0x5d8a48=_0x13d04f[_0x3196b8(0xdd)](isSessionEnabled,_0x11134d);try{const _0x1f9d5e=createTelemetryCollector(_0x13d04f[_0x3196b8(0xdc)]);await _0x1f9d5e['trackCommandStart']({'sessionId':_0x11134d,'hooksEnabled':_0x5d8a48}),await _0x1f9d5e['trackCommandEnd'](_0x13d04f[_0x3196b8(0xda)]);}catch{}if(_0x5d8a48){const _0x3a18a8=_0x13d04f['MpiZb'](getCurrentBranch),_0x9cc93d=_0x3a18a8&&_0x13d04f['bEBJo'](_0x3a18a8,_0x13d04f[_0x3196b8(0xde)])&&_0x3a18a8!==_0x13d04f[_0x3196b8(0xd3)]?_0x3196b8(0xcf)+_0x3a18a8+')':'',_0x595928={'hookSpecificOutput':{'hookEventName':_0x3196b8(0xd1),'additionalContext':_0x13d04f[_0x3196b8(0xd4)](RANGER_AUTO_ENABLED_PROMPT,_0x9cc93d)}};console[_0x3196b8(0xd7)](JSON['stringify'](_0x595928));}}}
1
+ const _0x1bc9d2=_0x3f29;function _0x3f29(_0x395cc9,_0x59e9d4){_0x395cc9=_0x395cc9-0xf9;const _0x5b1b35=_0x5b1b();let _0x3f297c=_0x5b1b35[_0x395cc9];return _0x3f297c;}(function(_0x189abe,_0x3246b5){const _0x3e2b85=_0x3f29,_0x376903=_0x189abe();while(!![]){try{const _0x314d44=parseInt(_0x3e2b85(0xfe))/0x1+parseInt(_0x3e2b85(0x102))/0x2+-parseInt(_0x3e2b85(0xfb))/0x3+-parseInt(_0x3e2b85(0x100))/0x4+-parseInt(_0x3e2b85(0x107))/0x5+-parseInt(_0x3e2b85(0xfd))/0x6+parseInt(_0x3e2b85(0xff))/0x7;if(_0x314d44===_0x3246b5)break;else _0x376903['push'](_0x376903['shift']());}catch(_0x3264e0){_0x376903['push'](_0x376903['shift']());}}}(_0x5b1b,0xdb8ef));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0x5b1b(){const _0x3cd08d=['1904556edHTXi','stdin','xhumW','=================================================================\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','6425950lRxUZb','CLAUDE_ENV_FILE','master','DsmCS','export\x20CLAUDE_SESSION_ID=\x22','hook:session-start','QLrXY','1310241ApFRpG','LlUJE','5425428AJYFjW','524607IeZmQF','18286765KFGeYF','2255176OHTqHY','stringify'];_0x5b1b=function(){return _0x3cd08d;};return _0x5b1b();}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x1bc9d2(0x105);export async function sessionStart(_0x209e96){const _0x811000=_0x1bc9d2,_0xba46ea={'DsmCS':function(_0x524875,_0x496e58){return _0x524875||_0x496e58;},'Jcfya':'source','xhumW':function(_0x4344ba,_0x4c6e3b,_0x5adceb){return _0x4344ba(_0x4c6e3b,_0x5adceb);},'snUuX':function(_0x2900dc,_0x5cbcac){return _0x2900dc(_0x5cbcac);},'QLrXY':_0x811000(0xf9),'LlUJE':function(_0x381bb3){return _0x381bb3();},'Uhcjs':'main'};let _0x36c831=_0xba46ea[_0x811000(0x10a)](_0x209e96,''),_0x2bb3d6;if(!_0x209e96){let _0x5e38a5='';for await(const _0x28cc18 of process[_0x811000(0x103)]){_0x5e38a5+=_0x28cc18;}try{const _0x1c1ca0=JSON['parse'](_0x5e38a5);_0x36c831=_0x1c1ca0['session_id']||'',_0x2bb3d6=_0x1c1ca0[_0xba46ea['Jcfya']];}catch{}const _0x3671f2=process['env'][_0x811000(0x108)];if(_0x3671f2&&_0x36c831)try{await _0xba46ea[_0x811000(0x104)](appendFile,_0x3671f2,_0x811000(0x10b)+_0x36c831+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x36c831){shouldAutoEnableAfterClear(_0x2bb3d6)&&autoEnableAfterClear(_0x36c831);initBranchTracking(_0x36c831);const _0x28fffa=_0xba46ea['snUuX'](isSessionEnabled,_0x36c831);try{const _0x2f729b=_0xba46ea['snUuX'](createTelemetryCollector,_0xba46ea[_0x811000(0xfa)]);await _0x2f729b['trackCommandStart']({'sessionId':_0x36c831,'hooksEnabled':_0x28fffa}),await _0x2f729b[_0x811000(0x106)]('success');}catch{}if(_0x28fffa){const _0x234a67=_0xba46ea[_0x811000(0xfc)](getCurrentBranch),_0x3fb418=_0x234a67&&_0x234a67!==_0xba46ea['Uhcjs']&&_0x234a67!==_0x811000(0x109)?'\x20(Branch:\x20'+_0x234a67+')':'',_0x7e27ac={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x3fb418}};console['log'](JSON[_0x811000(0x101)](_0x7e27ac));}}}
@@ -1 +1 @@
1
- (function(_0x2f0e51,_0x2fe5ef){const _0x6aa6b=_0x5b85,_0xd1003c=_0x2f0e51();while(!![]){try{const _0x4c11d1=-parseInt(_0x6aa6b(0x1ba))/0x1+parseInt(_0x6aa6b(0x1cd))/0x2+-parseInt(_0x6aa6b(0x1bd))/0x3+parseInt(_0x6aa6b(0x1c6))/0x4*(-parseInt(_0x6aa6b(0x1b9))/0x5)+-parseInt(_0x6aa6b(0x1b3))/0x6*(-parseInt(_0x6aa6b(0x1b5))/0x7)+parseInt(_0x6aa6b(0x1b8))/0x8*(parseInt(_0x6aa6b(0x1c1))/0x9)+parseInt(_0x6aa6b(0x1b7))/0xa*(parseInt(_0x6aa6b(0x1b4))/0xb);if(_0x4c11d1===_0x2fe5ef)break;else _0xd1003c['push'](_0xd1003c['shift']());}catch(_0xc8660){_0xd1003c['push'](_0xd1003c['shift']());}}}(_0x1e48,0x56299));function _0x1e48(){const _0xfc841e=['123052EEmjKu','sessionId','featureId','1302654bjtyJQ','filter','closed','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','5925564iakogN','some','incomplete','status','stringify','2555428zMrldZ','blocked','log','currentSessionId','success','nwadr','checklistItems','258156Psmsnu','6KwFVXa','2124023wjmIIR','3979367gcEyYh','verified','10nkTwnz','8GbTqJD','5LfEDTq'];_0x1e48=function(){return _0xfc841e;};return _0x1e48();}import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x166a56){const _0x4da24e=_0x5b85,_0x1f0c07={'oQNNB':function(_0x3602ff,_0x5debfa,_0x2d74e4,_0x47f30e){return _0x3602ff(_0x5debfa,_0x2d74e4,_0x47f30e);},'VhcsW':function(_0x2315a9,_0x352dec){return _0x2315a9(_0x352dec);},'ivCfr':function(_0x22211c,_0x122f2c,_0x150e1b){return _0x22211c(_0x122f2c,_0x150e1b);}},_0x2eacdb=await getEnabledHookContext(_0x166a56),_0xed4c29=_0x2eacdb?.['sessionId']??null;let _0x5bb9c6=!![];if(!_0xed4c29){await trackStop(_0xed4c29,![],_0x5bb9c6);return;}try{const _0x27eeb8=getSessionEntry(_0xed4c29);if(!_0x27eeb8){await _0x1f0c07['oQNNB'](trackStop,_0xed4c29,!![],_0x5bb9c6);return;}const _0xedf1f=await getToken(),_0x7798d1='https://dashboard.ranger.net/features/'+_0x27eeb8[_0x4da24e(0x1bc)];let _0x4dfac7=null,_0x15da9c=![],_0x4b28c3=![];if(_0xedf1f)try{const _0xb260d1=await _0x1f0c07['VhcsW'](getFeature,_0x27eeb8[_0x4da24e(0x1bc)]);_0x4dfac7=_0xb260d1[_0x4da24e(0x1c9)]??null;const _0x288444=_0xb260d1[_0x4da24e(0x1cc)][_0x4da24e(0x1be)](_0x34a72d=>_0x34a72d[_0x4da24e(0x1bb)]===_0x4dfac7);_0x15da9c=_0x288444[_0x4da24e(0x1c2)](_0x39fc18=>_0x39fc18['status']!==_0x4da24e(0x1b6)&&_0x39fc18['status']!==_0x4da24e(0x1c7)&&_0x39fc18['status']!==_0x4da24e(0x1bf)&&_0x39fc18[_0x4da24e(0x1c4)]!==_0x4da24e(0x1c3)),_0x4b28c3=_0x288444['some'](_0x4bdd87=>_0x4bdd87[_0x4da24e(0x1c4)]==='verification_in_progress');}catch{}if(_0xedf1f&&_0x4dfac7&&_0x15da9c){if(!_0x4b28c3&&shouldShowStopReminder(_0xed4c29)){const _0xb2845={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':_0x4da24e(0x1c0)+_0x7798d1}};console[_0x4da24e(0x1c8)](JSON[_0x4da24e(0x1c5)](_0xb2845));}}if(_0xedf1f&&_0x4dfac7&&!_0x15da9c)try{await _0x1f0c07['ivCfr'](concludeSession,_0x27eeb8['featureId'],_0x4dfac7);}catch{}await _0x1f0c07['oQNNB'](trackStop,_0xed4c29,!![],_0x5bb9c6);return;}catch{await trackStop(_0xed4c29,!![],_0x5bb9c6);return;}}function _0x5b85(_0x22c4ae,_0x568e14){_0x22c4ae=_0x22c4ae-0x1b3;const _0x1e48f2=_0x1e48();let _0x5b8526=_0x1e48f2[_0x22c4ae];return _0x5b8526;}async function trackStop(_0x762a7e,_0x2cf488,_0x42b5b2){const _0x31815f=_0x5b85,_0x45b75c={'nwadr':function(_0x1c710c,_0x14ee04){return _0x1c710c(_0x14ee04);},'QCLyE':'hook:stop','CoJCN':function(_0x4929a2,_0x1c14fd){return _0x4929a2??_0x1c14fd;}};try{const _0x4824fb=_0x45b75c[_0x31815f(0x1cb)](createTelemetryCollector,_0x45b75c['QCLyE']);await _0x4824fb['trackCommandStart']({'sessionId':_0x45b75c['CoJCN'](_0x762a7e,undefined),'hooksEnabled':_0x2cf488,'stopAllowed':_0x42b5b2}),await _0x4824fb['trackCommandEnd'](_0x31815f(0x1ca));}catch{}}
1
+ (function(_0x2addab,_0x6bec){const _0x2826d8=_0x2c50,_0x2f1ef0=_0x2addab();while(!![]){try{const _0x16f48c=-parseInt(_0x2826d8(0x194))/0x1+-parseInt(_0x2826d8(0x193))/0x2+parseInt(_0x2826d8(0x196))/0x3+-parseInt(_0x2826d8(0x18c))/0x4*(parseInt(_0x2826d8(0x197))/0x5)+parseInt(_0x2826d8(0x195))/0x6+-parseInt(_0x2826d8(0x181))/0x7*(-parseInt(_0x2826d8(0x18d))/0x8)+-parseInt(_0x2826d8(0x17e))/0x9*(-parseInt(_0x2826d8(0x187))/0xa);if(_0x16f48c===_0x6bec)break;else _0x2f1ef0['push'](_0x2f1ef0['shift']());}catch(_0x58d427){_0x2f1ef0['push'](_0x2f1ef0['shift']());}}}(_0x38dc,0x81f26));import{getToken}from'../utils/keychain.js';import{getFeature,concludeSession}from'../utils/featureApi.js';import{getSessionEntry,shouldShowStopReminder}from'../utils/sessionCache.js';import{getEnabledHookContext}from'./output.js';import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x1b5dfa){const _0x52b546=_0x2c50,_0x443f6a={'QnWZP':function(_0x5282d4,_0x5043c1){return _0x5282d4(_0x5043c1);},'eavSl':function(_0x3e6509){return _0x3e6509();},'eJwvW':function(_0xf9e9d8,_0x59305b){return _0xf9e9d8&&_0x59305b;},'TtIji':function(_0x12f5ee,_0xe97b83,_0x46ca16){return _0x12f5ee(_0xe97b83,_0x46ca16);},'SDTzl':function(_0x2977ec,_0x34f63f,_0x5bb8c7,_0x47c34d){return _0x2977ec(_0x34f63f,_0x5bb8c7,_0x47c34d);}},_0x1d340e=await getEnabledHookContext(_0x1b5dfa),_0x446bdf=_0x1d340e?.['sessionId']??null;let _0x382eb7=!![];if(!_0x446bdf){await trackStop(_0x446bdf,![],_0x382eb7);return;}try{const _0x2134c7=_0x443f6a[_0x52b546(0x185)](getSessionEntry,_0x446bdf);if(!_0x2134c7){await trackStop(_0x446bdf,!![],_0x382eb7);return;}const _0x46a480=await _0x443f6a[_0x52b546(0x189)](getToken),_0x55345e=_0x52b546(0x17f)+_0x2134c7[_0x52b546(0x190)];let _0x4c4977=null,_0x3ca302=![],_0x4f912c=![];if(_0x46a480)try{const _0x385d67=await _0x443f6a['QnWZP'](getFeature,_0x2134c7['featureId']);_0x4c4977=_0x385d67[_0x52b546(0x18f)]??null;const _0x1da1da=_0x385d67[_0x52b546(0x192)]['filter'](_0x2b2d22=>_0x2b2d22['sessionId']===_0x4c4977);_0x3ca302=_0x1da1da['some'](_0x2c14b3=>_0x2c14b3['status']!==_0x52b546(0x183)&&_0x2c14b3['status']!=='blocked'&&_0x2c14b3[_0x52b546(0x186)]!==_0x52b546(0x18a)&&_0x2c14b3['status']!=='incomplete'),_0x4f912c=_0x1da1da['some'](_0x5d1a4f=>_0x5d1a4f[_0x52b546(0x186)]===_0x52b546(0x184));}catch{}if(_0x443f6a[_0x52b546(0x191)](_0x46a480,_0x4c4977)&&_0x3ca302){if(!_0x4f912c&&shouldShowStopReminder(_0x446bdf)){const _0x4f3301={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x55345e}};console['log'](JSON[_0x52b546(0x180)](_0x4f3301));}}if(_0x443f6a[_0x52b546(0x191)](_0x46a480,_0x4c4977)&&!_0x3ca302)try{await _0x443f6a['TtIji'](concludeSession,_0x2134c7['featureId'],_0x4c4977);}catch{}await trackStop(_0x446bdf,!![],_0x382eb7);return;}catch{await _0x443f6a[_0x52b546(0x182)](trackStop,_0x446bdf,!![],_0x382eb7);return;}}function _0x38dc(){const _0x470cfd=['491394zqBaLj','751083NIKqHI','3055824SqRRTq','848442NwuPRN','265zfOvNN','trackCommandEnd','440991SsIFpK','https://dashboard.ranger.net/features/','stringify','4347203GKHKuR','SDTzl','verified','verification_in_progress','QnWZP','status','210SnedsV','success','eavSl','closed','trackCommandStart','68912AJAiAo','8URViVa','eMqNe','currentSessionId','featureId','eJwvW','checklistItems'];_0x38dc=function(){return _0x470cfd;};return _0x38dc();}function _0x2c50(_0x2a36ce,_0xf807b9){_0x2a36ce=_0x2a36ce-0x17d;const _0x38dc48=_0x38dc();let _0x2c505d=_0x38dc48[_0x2a36ce];return _0x2c505d;}async function trackStop(_0x11e2b1,_0x1ba015,_0x5944ae){const _0xb6b00b=_0x2c50,_0x40d113={'aFJbO':'hook:stop','eMqNe':_0xb6b00b(0x188)};try{const _0x49e73a=createTelemetryCollector(_0x40d113['aFJbO']);await _0x49e73a[_0xb6b00b(0x18b)]({'sessionId':_0x11e2b1??undefined,'hooksEnabled':_0x1ba015,'stopAllowed':_0x5944ae}),await _0x49e73a[_0xb6b00b(0x17d)](_0x40d113[_0xb6b00b(0x18e)]);}catch{}}
@@ -1 +1 @@
1
- (function(_0x450001,_0x24af0f){var _0x4d34fc=_0x35e9,_0x461fe5=_0x450001();while(!![]){try{var _0x356c69=parseInt(_0x4d34fc(0x13c))/0x1*(parseInt(_0x4d34fc(0x13f))/0x2)+-parseInt(_0x4d34fc(0x141))/0x3+parseInt(_0x4d34fc(0x142))/0x4+parseInt(_0x4d34fc(0x140))/0x5+parseInt(_0x4d34fc(0x144))/0x6*(-parseInt(_0x4d34fc(0x13d))/0x7)+-parseInt(_0x4d34fc(0x143))/0x8*(-parseInt(_0x4d34fc(0x13b))/0x9)+-parseInt(_0x4d34fc(0x13e))/0xa;if(_0x356c69===_0x24af0f)break;else _0x461fe5['push'](_0x461fe5['shift']());}catch(_0x3cf51a){_0x461fe5['push'](_0x461fe5['shift']());}}}(_0x585a,0x89ef7));export{addEnv}from'./addEnv.js';function _0x35e9(_0x2be673,_0x55494e){_0x2be673=_0x2be673-0x13b;var _0x585a1b=_0x585a();var _0x35e956=_0x585a1b[_0x2be673];return _0x35e956;}function _0x585a(){var _0x4b43aa=['2141004zxiRty','88RALoIJ','402GTlONw','810801ZtILcE','339QTIJuT','14532XwfyTs','4759730ZwzwsR','3426KutbMu','704800kjJiKI','3203547NpPGez'];_0x585a=function(){return _0x4b43aa;};return _0x585a();}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
1
+ function _0x1dd3(_0x21fd49,_0xfee04){_0x21fd49=_0x21fd49-0x69;var _0xd7ae88=_0xd7ae();var _0x1dd3f6=_0xd7ae88[_0x21fd49];return _0x1dd3f6;}(function(_0x1aa581,_0x455a7e){var _0x33caa2=_0x1dd3,_0x404b63=_0x1aa581();while(!![]){try{var _0xb37eff=-parseInt(_0x33caa2(0x6e))/0x1+parseInt(_0x33caa2(0x6f))/0x2+-parseInt(_0x33caa2(0x6c))/0x3*(-parseInt(_0x33caa2(0x6a))/0x4)+-parseInt(_0x33caa2(0x70))/0x5+parseInt(_0x33caa2(0x6b))/0x6*(parseInt(_0x33caa2(0x72))/0x7)+parseInt(_0x33caa2(0x69))/0x8*(parseInt(_0x33caa2(0x71))/0x9)+-parseInt(_0x33caa2(0x6d))/0xa;if(_0xb37eff===_0x455a7e)break;else _0x404b63['push'](_0x404b63['shift']());}catch(_0x5fe92b){_0x404b63['push'](_0x404b63['shift']());}}}(_0xd7ae,0xb103e));export{addEnv}from'./addEnv.js';function _0xd7ae(){var _0x10df7b=['27PaqKrV','511hpAnAx','3294848YJFCvX','4gqyHQb','35736bFVcFW','3190602HtXFAN','23767650RFupYv','400867dtVvQi','2075646bqEyEd','1345135sddGgH'];_0xd7ae=function(){return _0x10df7b;};return _0xd7ae();}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{deleteProfile}from'./deleteProfile.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
@@ -1 +1 @@
1
- (function(_0x78b54f,_0xbe80ba){const _0x2c34a3=_0x2879,_0x50de8b=_0x78b54f();while(!![]){try{const _0x1b3efb=-parseInt(_0x2c34a3(0x16b))/0x1*(parseInt(_0x2c34a3(0x164))/0x2)+-parseInt(_0x2c34a3(0x169))/0x3*(-parseInt(_0x2c34a3(0x160))/0x4)+parseInt(_0x2c34a3(0x167))/0x5*(parseInt(_0x2c34a3(0x16f))/0x6)+parseInt(_0x2c34a3(0x161))/0x7*(-parseInt(_0x2c34a3(0x166))/0x8)+-parseInt(_0x2c34a3(0x16c))/0x9+parseInt(_0x2c34a3(0x165))/0xa+parseInt(_0x2c34a3(0x16e))/0xb;if(_0x1b3efb===_0xbe80ba)break;else _0x50de8b['push'](_0x50de8b['shift']());}catch(_0xad3dcb){_0x50de8b['push'](_0x50de8b['shift']());}}}(_0x2407,0xbb9d4));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x2f0120=_0x2879,_0x366e58={'EZFrV':function(_0xfaa352){return _0xfaa352();},'aKgwr':'Re-authenticating\x20via\x20MCP\x20bootstrap...','xJsrt':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0xac3d61=await _0x366e58[_0x2f0120(0x172)](getMcpAuthOrigin);if(_0xac3d61){console['log'](_0x366e58['aKgwr']),await mcpBootstrap();return;}const _0x1c6f7f=process[_0x2f0120(0x168)][_0x2f0120(0x16d)]&&process[_0x2f0120(0x162)][_0x2f0120(0x16d)];if(!_0x1c6f7f)throw new Error(_0x2f0120(0x171));try{const _0x5ded07=await runDeviceAuthFlow(),_0x48898e=await getCurrentUser(_0x5ded07);_0x48898e['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x48898e['user']['organizationName']):console[_0x2f0120(0x16a)](_0x366e58[_0x2f0120(0x163)]);}catch(_0x164095){throw new Error('Login\x20failed:\x20'+(_0x164095 instanceof Error?_0x164095[_0x2f0120(0x170)]:_0x164095));}}function _0x2879(_0x49b9e2,_0x30adb6){_0x49b9e2=_0x49b9e2-0x160;const _0x2407e0=_0x2407();let _0x287996=_0x2407e0[_0x49b9e2];return _0x287996;}function _0x2407(){const _0x1f4a86=['Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','EZFrV','160eWZXYw','14nRpSwd','stdout','xJsrt','668290vTAOvQ','2166160GGwzAp','5472784ZvGbhs','1060gbJpRS','stdin','65640ZaSNBJ','log','1NNkxfL','3391623eOrZJV','isTTY','16912280RPDeOu','6180iFydKB','message'];_0x2407=function(){return _0x1f4a86;};return _0x2407();}
1
+ (function(_0x2f40de,_0x51b9d2){const _0x195c25=_0x593c,_0x30e0ae=_0x2f40de();while(!![]){try{const _0x32336a=parseInt(_0x195c25(0xa4))/0x1+-parseInt(_0x195c25(0x9e))/0x2+parseInt(_0x195c25(0x9d))/0x3+-parseInt(_0x195c25(0x99))/0x4*(parseInt(_0x195c25(0xa5))/0x5)+parseInt(_0x195c25(0xa2))/0x6+-parseInt(_0x195c25(0xa3))/0x7*(-parseInt(_0x195c25(0xa0))/0x8)+-parseInt(_0x195c25(0x9f))/0x9*(parseInt(_0x195c25(0x9a))/0xa);if(_0x32336a===_0x51b9d2)break;else _0x30e0ae['push'](_0x30e0ae['shift']());}catch(_0x405ff9){_0x30e0ae['push'](_0x30e0ae['shift']());}}}(_0x57d1,0xab928));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x593c(_0x318827,_0x54820a){_0x318827=_0x318827-0x98;const _0x57d1c3=_0x57d1();let _0x593c47=_0x57d1c3[_0x318827];return _0x593c47;}import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x57d1(){const _0x2441f5=['5305758ezKmsS','161pfoLph','1089618XMuQZS','5GefPfA','Login\x20failed:\x20','Re-authenticating\x20via\x20MCP\x20bootstrap...','186628ibJGnk','25370kdMnpD','log','organizationName','1600389ltCARV','2510240DiXTdE','4509oIvdrs','267200ZhdHFt','isTTY'];_0x57d1=function(){return _0x2441f5;};return _0x57d1();}export async function login(){const _0xcc7053=_0x593c,_0x2067fa={'GGuDW':function(_0x51964f){return _0x51964f();},'FokIN':_0xcc7053(0x98),'iPoxs':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','BYtJf':function(_0x5755c9){return _0x5755c9();}},_0x343dff=await _0x2067fa['GGuDW'](getMcpAuthOrigin);if(_0x343dff){console['log'](_0x2067fa['FokIN']),await _0x2067fa['GGuDW'](mcpBootstrap);return;}const _0x4a0daf=process['stdin']['isTTY']&&process['stdout'][_0xcc7053(0xa1)];if(!_0x4a0daf)throw new Error(_0x2067fa['iPoxs']);try{const _0x3229cc=await _0x2067fa['BYtJf'](runDeviceAuthFlow),_0x1ca520=await getCurrentUser(_0x3229cc);_0x1ca520['success']?console[_0xcc7053(0x9b)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1ca520['user'][_0xcc7053(0x9c)]):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x26c722){throw new Error(_0xcc7053(0xa6)+(_0x26c722 instanceof Error?_0x26c722['message']:_0x26c722));}}
@@ -1 +1 @@
1
- const _0x5e7a43=_0xc0bf;(function(_0x283c15,_0x6721df){const _0x56b791=_0xc0bf,_0x1bdfc8=_0x283c15();while(!![]){try{const _0x118aff=-parseInt(_0x56b791(0x163))/0x1+-parseInt(_0x56b791(0x142))/0x2*(parseInt(_0x56b791(0x15f))/0x3)+parseInt(_0x56b791(0x101))/0x4+parseInt(_0x56b791(0xe6))/0x5+parseInt(_0x56b791(0x113))/0x6+-parseInt(_0x56b791(0x103))/0x7*(-parseInt(_0x56b791(0x12b))/0x8)+parseInt(_0x56b791(0xde))/0x9;if(_0x118aff===_0x6721df)break;else _0x1bdfc8['push'](_0x1bdfc8['shift']());}catch(_0x57389a){_0x1bdfc8['push'](_0x1bdfc8['shift']());}}}(_0xa7cd,0x208c2));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(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x5e7a43(0x114),_0x5e7a43(0x12f));function _0xa7cd(){const _0x3b5a14=['content-type','JToer','xdgpt','127.0.0.1','POST','sha256','iQORx','refreshToken','child_process','\x0aOpening\x20browser\x20for\x20authentication...','kPxMp','expires_in','isTTY','name','application/json,\x20text/event-stream','proxied','Ranger\x20CLI','write','ranger-cli','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','win32','log','toString','JEmUN','35448IHvYUo','stdout','23107SHWMeJ','sJRQC','KSavH','refresh.txt','Discovering\x20authorization\x20server...','token','get','result','utf-8','KCyhn','HTTP\x20','code','error_description','zztGS','content','rBIeB','218340fzyIUE','.ranger','isError','1.0.0','code_challenge','response_type','Initializing\x20MCP\x20session...','/callback','parse','get_cli_token','application/json','match','text','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','clientSecret','authorization_endpoint','PRcaz','CJbSF','mwQOD','digest','resource','status','oHINL','error','416WxkNBR','\x0aToken\x20written\x20to\x20','xrEvg','json','auth-origin.txt','xdg-open','zxjIC','2.0','base64url','accessToken','OAuth\x20error:\x20','string','jdOBA','refresh_token','kjHoC','waUpV','AmWRR','message','close','text/event-stream','stringify','oYbsD','NGatp','1954RAhFHd','OAuthTimeoutError','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','includes','http://localhost:','client_id','client_secret','XFSaP','data:','set','SHhTt','replace','/.well-known/oauth-authorization-server','2025-03-26','xIRKE','searchParams','listen','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','TnjII','now','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','tvUAu','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','ojDqn','clientId','Not\x20found','start','\x20done','none','753fUrykc','authorization_code','access_token','WVlJt','74811QEShHg','<html><body><h2>Authentication\x20failed</h2><p>','writeHead','856233AbYlNK','MCP\x20initialize\x20failed:\x20','QDBUT','end','zcKog','redirect_uri','initialize','text/html','706555enGJaB','kSOvu','notifications/initialized'];_0xa7cd=function(){return _0x3b5a14;};return _0xa7cd();}export async function getMcpAuthOrigin(){const _0x1819bf=_0x5e7a43,_0x4a2c7b={'mwQOD':'utf-8','DJebb':function(_0xd16091,_0x1a5e1e){return _0xd16091||_0x1a5e1e;}};try{const _0x159f43=(await readFile(AUTH_ORIGIN_PATH,_0x4a2c7b[_0x1819bf(0x125)]))['trim']();return _0x4a2c7b['DJebb'](_0x159f43,null);}catch{return null;}}export async function mcpBootstrap(){const _0x2147ee=_0x5e7a43,_0x57dad3={'TnjII':function(_0x34fbc6){return _0x34fbc6();},'lUwin':function(_0x2a3fb5,_0x5f2e2a){return _0x2a3fb5(_0x5f2e2a);},'DqYKL':'proxied','JToer':function(_0x2c66e5,_0x2ba23b){return _0x2c66e5+_0x2ba23b;},'oJJJs':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','ccHLO':function(_0x11c778,_0x4ec7c9,_0x101e37){return _0x11c778(_0x4ec7c9,_0x101e37);}},_0x3d340a=_0x57dad3['TnjII'](getMcpAuthUrl);currentOrigin=_0x3d340a;const _0x3cee86=process['stdout'][_0x2147ee(0xf5)]??![];console['log'](_0x2147ee(0x120)+_0x3d340a+'\x0a');const _0x13ff09=await _0x57dad3['lUwin'](tryUnauthenticated,_0x3d340a);let _0x1548fb=null;if(_0x13ff09===_0x57dad3['DqYKL'])_0x1548fb='';else{_0x1548fb=await _0x57dad3[_0x2147ee(0x154)](loadCachedToken);if(!_0x1548fb){if(!_0x3cee86)throw new Error(_0x57dad3[_0x2147ee(0xea)](_0x57dad3['oJJJs'],'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.'));_0x1548fb=await oauthFlow(_0x3d340a);}}await _0x57dad3['ccHLO'](callGetCliToken,_0x3d340a,_0x1548fb);}async function tryUnauthenticated(_0x2184a5){const _0x126e1d=_0x5e7a43,_0x464725={'rBIeB':function(_0x1c1e65,_0x83d7ec,_0x392f16){return _0x1c1e65(_0x83d7ec,_0x392f16);},'MbwGg':_0x126e1d(0x11d),'bxTkl':_0x126e1d(0x14f),'DZcri':function(_0x563e60,_0xff1e3a){return _0x563e60===_0xff1e3a;},'rdjed':'needs-oauth'},_0x2ad9e8=await _0x464725[_0x126e1d(0x112)](fetch,_0x2184a5,{'method':'POST','headers':{'Content-Type':_0x464725['MbwGg'],'Accept':_0x126e1d(0xf7)},'body':JSON[_0x126e1d(0x13f)]({'jsonrpc':'2.0','id':0x1,'method':_0x126e1d(0xe4),'params':{'protocolVersion':_0x464725['bxTkl'],'capabilities':{},'clientInfo':{'name':_0x126e1d(0xfb),'version':'1.0.0'}}})});if(_0x2ad9e8['ok'])return await _0x2ad9e8['text'](),_0x126e1d(0xf8);if(_0x464725['DZcri'](_0x2ad9e8[_0x126e1d(0x128)],0x191))return await _0x2ad9e8[_0x126e1d(0x11f)](),_0x464725['rdjed'];const _0x417348=await _0x2ad9e8['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x2ad9e8[_0x126e1d(0x128)]+':\x20'+_0x417348);}class OAuthTimeoutError extends Error{constructor(_0x2ccf9f){const _0x4ec326=_0x5e7a43,_0x132504={'mAGCs':_0x4ec326(0x143)};super(_0x2ccf9f),this[_0x4ec326(0xf6)]=_0x132504['mAGCs'];}}async function oauthFlow(_0x2a6099){const _0x38ca70=_0x5e7a43,_0x341497={'oYbsD':function(_0x4d0746,_0x4b99a5){return _0x4d0746(_0x4b99a5);},'FgsJk':function(_0x243117,_0x2fc45f){return _0x243117 instanceof _0x2fc45f;},'zxjIC':function(_0x52496a){return _0x52496a();}};try{return await _0x341497[_0x38ca70(0x140)](oauthFlowAttempt,_0x2a6099);}catch(_0x1d10fb){if(_0x341497['FgsJk'](_0x1d10fb,OAuthTimeoutError)&&await _0x341497[_0x38ca70(0x131)](loadCachedClient))return console[_0x38ca70(0xfe)]('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x341497['zxjIC'](clearCachedClient),await oauthFlowAttempt(_0x2a6099);throw _0x1d10fb;}}async function oauthFlowAttempt(_0x3c0e7b){const _0x32bda1=_0x5e7a43,_0x3792b8={'cyVuk':function(_0x44cebe,_0x574672){return _0x44cebe(_0x574672);},'ACXrl':_0x32bda1(0x156),'AKmRR':function(_0x5ac433,_0x253f46,_0x41f6b3){return _0x5ac433(_0x253f46,_0x41f6b3);},'WVlJt':_0x32bda1(0xf9),'Qmfvw':_0x32bda1(0x160),'NYnvm':_0x32bda1(0x10e),'oWflx':_0x32bda1(0x15e),'TjJdg':_0x32bda1(0x158),'afWor':_0x32bda1(0xee),'OKTta':'base64url','ybEzc':'hex','TMUTB':_0x32bda1(0x118),'QVxJz':_0x32bda1(0x147),'qFiHW':_0x32bda1(0xe3),'zXnnj':'state','bfWnE':function(_0x38bdcb,_0x2853bb){return _0x38bdcb(_0x2853bb);},'XqpdM':'Exchanging\x20authorization\x20code...','iQORx':'application/x-www-form-urlencoded','FpDwS':function(_0x14e308,_0x338440,_0x320233,_0x258b61){return _0x14e308(_0x338440,_0x320233,_0x258b61);}},_0x5a8433=_0x3c0e7b[_0x32bda1(0x14d)](/\/mcp$/,'');process['stdout'][_0x32bda1(0xfa)](_0x32bda1(0x107));const _0x2aca00=await _0x3792b8['cyVuk'](fetch,_0x5a8433+'/.well-known/oauth-protected-resource');if(!_0x2aca00['ok'])throw new Error(_0x3792b8['ACXrl']);const _0x450670=await _0x2aca00[_0x32bda1(0x12e)](),_0x52aa64=_0x450670['authorization_servers']?.[0x0];if(!_0x52aa64)throw new Error(_0x32bda1(0x153));console['log']('\x20'+_0x52aa64);const _0x54dd3d=await fetchAuthServerMetadata(_0x52aa64);let _0x5e5a4a,_0x5622c1;const _0x342886=await loadCachedClient();if(_0x342886)_0x5e5a4a=_0x342886[_0x32bda1(0x15a)],_0x5622c1=_0x342886[_0x32bda1(0x121)];else{if(_0x54dd3d['registration_endpoint']){process['stdout'][_0x32bda1(0xfa)]('Registering\x20OAuth\x20client...');const _0x5fb08a=await _0x3792b8['AKmRR'](fetch,_0x54dd3d['registration_endpoint'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x32bda1(0x13f)]({'client_name':_0x3792b8[_0x32bda1(0x162)],'redirect_uris':[_0x32bda1(0x146)+CALLBACK_PORT+'/callback'],'grant_types':[_0x3792b8['Qmfvw'],_0x32bda1(0x138)],'response_types':[_0x3792b8['NYnvm']],'token_endpoint_auth_method':_0x3792b8['oWflx']})});if(!_0x5fb08a['ok']){const _0x52ce19=await _0x5fb08a['text']();throw new Error('Client\x20registration\x20failed:\x20'+_0x52ce19);}const _0x38ec38=await _0x5fb08a['json']();_0x5e5a4a=_0x38ec38['client_id'],_0x5622c1=_0x38ec38[_0x32bda1(0x148)],await saveCachedClient(_0x5e5a4a,_0x5622c1),console['log'](_0x32bda1(0x15d));}else throw new Error(_0x3792b8['TjJdg']);}const _0x115474=randomBytes(0x20)[_0x32bda1(0xff)](_0x32bda1(0x133)),_0x302b5b=createHash(_0x3792b8['afWor'])['update'](_0x115474)[_0x32bda1(0x126)](_0x3792b8['OKTta']),_0x40e824=randomBytes(0x10)['toString'](_0x3792b8['ybEzc']),_0x1b822a=new URL(_0x54dd3d[_0x32bda1(0x122)]);_0x1b822a[_0x32bda1(0x151)]['set'](_0x3792b8['TMUTB'],_0x32bda1(0x10e)),_0x1b822a[_0x32bda1(0x151)]['set'](_0x3792b8['QVxJz'],_0x5e5a4a),_0x1b822a['searchParams'][_0x32bda1(0x14b)](_0x3792b8['qFiHW'],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x1b822a[_0x32bda1(0x151)]['set'](_0x32bda1(0x117),_0x302b5b),_0x1b822a[_0x32bda1(0x151)]['set']('code_challenge_method','S256'),_0x1b822a['searchParams'][_0x32bda1(0x14b)](_0x3792b8['zXnnj'],_0x40e824);_0x450670[_0x32bda1(0x127)]&&_0x1b822a['searchParams']['set']('resource',_0x450670[_0x32bda1(0x127)]);console[_0x32bda1(0xfe)](_0x32bda1(0xf2)),console[_0x32bda1(0xfe)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x1b822a['toString']()+'\x0a'),await openBrowser(_0x1b822a[_0x32bda1(0xff)]());const _0x7e4ab=await _0x3792b8['bfWnE'](waitForCallback,_0x40e824);process[_0x32bda1(0x102)]['write'](_0x3792b8['XqpdM']);const _0xdc2d54=new URLSearchParams({'grant_type':_0x32bda1(0x160),'code':_0x7e4ab,'redirect_uri':_0x32bda1(0x146)+CALLBACK_PORT+'/callback','client_id':_0x5e5a4a,'code_verifier':_0x115474});_0x5622c1&&_0xdc2d54['set']('client_secret',_0x5622c1);_0x450670[_0x32bda1(0x127)]&&_0xdc2d54[_0x32bda1(0x14b)](_0x32bda1(0x127),_0x450670[_0x32bda1(0x127)]);const _0x5cb9e2=await fetch(_0x54dd3d['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x3792b8[_0x32bda1(0xef)]},'body':_0xdc2d54});if(!_0x5cb9e2['ok']){const _0x5c6100=await _0x5cb9e2['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x5c6100);}const _0x14c5dc=await _0x5cb9e2[_0x32bda1(0x12e)]();return console['log']('\x20done'),await _0x3792b8['FpDwS'](saveCachedToken,_0x14c5dc[_0x32bda1(0x161)],_0x14c5dc['refresh_token'],_0x14c5dc[_0x32bda1(0xf4)]),_0x14c5dc[_0x32bda1(0x161)];}async function callGetCliToken(_0x4bbe26,_0x112c17){const _0x554d6c=_0x5e7a43,_0x49396={'NSGLU':function(_0x5385fb,_0x57efd3,_0xa98c10){return _0x5385fb(_0x57efd3,_0xa98c10);},'IxqtS':function(_0x34efec,_0x57ec33){return _0x34efec(_0x57ec33);},'sJRQC':_0x554d6c(0x11d),'xrEvg':'Authorization','CJbSF':_0x554d6c(0x119),'kjHoC':_0x554d6c(0x132),'xIRKE':_0x554d6c(0x14f),'uMUiF':_0x554d6c(0x116),'bBPOO':_0x554d6c(0x11c),'xdgpt':_0x554d6c(0x15d),'MrXOS':function(_0x36352e,_0x617461){return _0x36352e(_0x617461);},'jdOBA':function(_0x262df2,_0x4de73a,_0x1659ac){return _0x262df2(_0x4de73a,_0x1659ac);},'PRcaz':_0x554d6c(0x114),'hldST':function(_0x530c98,_0x503ab8,_0x8ad9cd){return _0x530c98(_0x503ab8,_0x8ad9cd);},'KCyhn':_0x554d6c(0x106),'XFSaP':function(_0x5bdd25,_0x20899e,_0x161e0f,_0x5ae3ae){return _0x5bdd25(_0x20899e,_0x161e0f,_0x5ae3ae);},'kPxMp':function(_0x499af9,_0x229ce5,_0x3c93db){return _0x499af9(_0x229ce5,_0x3c93db);},'kzNTN':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x1532d7={'Content-Type':_0x49396[_0x554d6c(0x104)],'Accept':_0x554d6c(0xf7)};_0x112c17&&(_0x1532d7[_0x49396[_0x554d6c(0x12d)]]='Bearer\x20'+_0x112c17);const _0x2adb5d=async _0xf5e12d=>{const _0x416077=_0x554d6c,_0x24cf0a=await _0x49396['NSGLU'](fetch,_0x4bbe26,{'method':_0x416077(0xed),'headers':_0x1532d7,'body':JSON[_0x416077(0x13f)](_0xf5e12d)});if(!_0x24cf0a['ok']){const _0x190f7f=await _0x24cf0a[_0x416077(0x11f)]();throw new Error(_0x416077(0x10d)+_0x24cf0a[_0x416077(0x128)]+':\x20'+_0x190f7f);}return _0x49396['IxqtS'](parseResponse,_0x24cf0a);};process['stdout'][_0x554d6c(0xfa)](_0x49396[_0x554d6c(0x124)]);const _0x48a02d=await _0x2adb5d({'jsonrpc':_0x49396[_0x554d6c(0x139)],'id':0x1,'method':_0x554d6c(0xe4),'params':{'protocolVersion':_0x49396[_0x554d6c(0x150)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x49396['uMUiF']}}});if(_0x48a02d[_0x554d6c(0x12a)])throw new Error(_0x554d6c(0xdf)+(_0x48a02d['error'][_0x554d6c(0x13c)]??JSON[_0x554d6c(0x13f)](_0x48a02d['error'])));console['log']('\x20done'),await _0x49396['NSGLU'](fetch,_0x4bbe26,{'method':_0x554d6c(0xed),'headers':_0x1532d7,'body':JSON['stringify']({'jsonrpc':'2.0','method':_0x554d6c(0xe8)})})['then'](_0x3a75fc=>_0x3a75fc[_0x554d6c(0x11f)]()),process['stdout'][_0x554d6c(0xfa)]('Requesting\x20CLI\x20token...');const _0x344a56=await _0x49396['IxqtS'](_0x2adb5d,{'jsonrpc':_0x49396[_0x554d6c(0x139)],'id':0x2,'method':'tools/call','params':{'name':_0x49396['bBPOO'],'arguments':{}}});if(_0x344a56['error'])throw new Error('get_cli_token\x20failed:\x20'+(_0x344a56['error'][_0x554d6c(0x13c)]??JSON['stringify'](_0x344a56[_0x554d6c(0x12a)])));console['log'](_0x49396[_0x554d6c(0xeb)]);const _0x2cde00=_0x49396['MrXOS'](extractToken,_0x344a56[_0x554d6c(0x10a)]);if(!_0x2cde00){console[_0x554d6c(0x12a)]('\x0aUnexpected\x20response\x20structure:'),console[_0x554d6c(0x12a)](JSON[_0x554d6c(0x13f)](_0x344a56['result'],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x645ac6=_0x49396[_0x554d6c(0x137)](join,homedir(),_0x49396[_0x554d6c(0x123)]),_0x1c773e=_0x49396['hldST'](join,_0x645ac6,_0x49396[_0x554d6c(0x10c)]);await mkdir(_0x645ac6,{'recursive':!![]}),await _0x49396[_0x554d6c(0x149)](writeFile,_0x1c773e,_0x2cde00,{'mode':0x180}),await writeFile(_0x49396[_0x554d6c(0xf3)](join,_0x645ac6,'auth-origin.txt'),_0x4bbe26,{'mode':0x180}),console['log'](_0x554d6c(0x12c)+_0x1c773e),console['log'](_0x49396['kzNTN']);}async function fetchAuthServerMetadata(_0x1fa68d){const _0x2a69af=_0x5e7a43,_0x50ea78={'JEmUN':function(_0x4c7f63,_0x1811bc){return _0x4c7f63(_0x1811bc);}},_0x30fa17=_0x1fa68d+_0x2a69af(0x14e),_0x52b4b9=await _0x50ea78[_0x2a69af(0x100)](fetch,_0x30fa17);if(!_0x52b4b9['ok'])throw new Error(_0x2a69af(0x144)+_0x30fa17+':\x20'+_0x52b4b9['status']);return _0x52b4b9[_0x2a69af(0x12e)]();}function waitForCallback(_0x21405f){const _0x475725=_0x5e7a43,_0x3fb2eb={'Btrrg':function(_0xfe9491,_0x480fbb){return _0xfe9491!==_0x480fbb;},'PdCbY':function(_0x6890a9,_0x4ef571){return _0x6890a9(_0x4ef571);},'KSavH':_0x475725(0xec)};return new Promise((_0x1b0f53,_0x4a6e4)=>{const _0x4e0262=_0x475725,_0x481522={'QDBUT':_0x4e0262(0x12a),'WtbFB':_0x4e0262(0x10f),'rZiEF':function(_0x7cc2f8,_0x51878){return _0x3fb2eb['Btrrg'](_0x7cc2f8,_0x51878);}},_0x44a510=setTimeout(()=>{const _0x53ba4e=_0x4e0262;_0x1b2184['close'](),_0x4a6e4(new OAuthTimeoutError(_0x53ba4e(0xfc)));},0x1d4c0),_0x1b2184=_0x3fb2eb['PdCbY'](createServer,(_0x2bd1a6,_0x29ddcd)=>{const _0x471da1=_0x4e0262,_0x593519=new URL(_0x2bd1a6['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x593519['pathname']!==_0x471da1(0x11a)){_0x29ddcd['writeHead'](0x194),_0x29ddcd['end'](_0x471da1(0x15b));return;}const _0xe137b0=_0x593519[_0x471da1(0x151)][_0x471da1(0x109)]('code'),_0x466ffb=_0x593519['searchParams']['get']('state'),_0x2c428f=_0x593519['searchParams']['get'](_0x481522[_0x471da1(0xe0)]);if(_0x2c428f){const _0xb326fc=_0x593519['searchParams'][_0x471da1(0x109)](_0x481522['WtbFB'])??_0x2c428f;_0x29ddcd['writeHead'](0xc8,{'Content-Type':'text/html'}),_0x29ddcd[_0x471da1(0xe1)](_0x471da1(0x164)+_0xb326fc+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x44a510),_0x1b2184['close'](),_0x4a6e4(new Error(_0x471da1(0x135)+_0xb326fc));return;}if(!_0xe137b0||_0x481522['rZiEF'](_0x466ffb,_0x21405f)){_0x29ddcd[_0x471da1(0xdd)](0x190,{'Content-Type':_0x471da1(0xe5)}),_0x29ddcd['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x29ddcd[_0x471da1(0xdd)](0xc8,{'Content-Type':_0x471da1(0xe5)}),_0x29ddcd['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x44a510),_0x1b2184[_0x471da1(0x13d)](),_0x1b0f53(_0xe137b0);});_0x1b2184[_0x4e0262(0x152)](CALLBACK_PORT,_0x3fb2eb[_0x4e0262(0x105)]);});}async function openBrowser(_0x2495ed){const _0x325c3e=_0x5e7a43,_0xe67a25={'mBGNB':function(_0x83858,_0x3b4aa0){return _0x83858===_0x3b4aa0;},'zcKog':'open','VuGwP':_0x325c3e(0x15c),'XNeXs':_0x325c3e(0x130),'fvZWC':function(_0xbb4d6,_0x15f4b0){return _0xbb4d6(_0x15f4b0);}},{exec:_0x306ed9}=await import(_0x325c3e(0xf1)),_0x10d7bb=_0xe67a25['mBGNB'](process['platform'],'darwin')?_0xe67a25[_0x325c3e(0xe2)]:_0xe67a25['mBGNB'](process['platform'],_0x325c3e(0xfd))?_0xe67a25['VuGwP']:_0xe67a25['XNeXs'];_0xe67a25['fvZWC'](_0x306ed9,_0x10d7bb+'\x20\x22'+_0x2495ed+'\x22');}function _0xc0bf(_0x5506ab,_0x95344d){_0x5506ab=_0x5506ab-0xdd;const _0xa7cde=_0xa7cd();let _0xc0bf74=_0xa7cde[_0x5506ab];return _0xc0bf74;}let currentOrigin='';async function loadCachedToken(){const _0x4f8666=_0x5e7a43,_0x2bdc37={'oHINL':'utf-8','SHhTt':function(_0x15d522,_0x58f8bf){return _0x15d522!==_0x58f8bf;},'pbfcJ':function(_0x325312,_0xb7de35){return _0x325312>_0xb7de35;}};try{const _0x38b0b3=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x2bdc37[_0x4f8666(0x129)]));if(_0x38b0b3['origin']&&_0x2bdc37[_0x4f8666(0x14c)](_0x38b0b3['origin'],currentOrigin))return null;if(_0x38b0b3['expiresAt']&&_0x2bdc37['pbfcJ'](Date['now'](),_0x38b0b3['expiresAt']))return null;return _0x38b0b3['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x497675,_0x36f18e,_0x2e7b06){const _0x3c09ae=_0x5e7a43,_0x5ced15={'ojDqn':function(_0x563b5b,_0x51a184){return _0x563b5b*_0x51a184;},'kMmRQ':function(_0x992b6b,_0x1b8652,_0x2dcf41){return _0x992b6b(_0x1b8652,_0x2dcf41);},'zztGS':function(_0x4377ef){return _0x4377ef();},'kSOvu':function(_0x23eaa3,_0x22c761,_0x277595,_0x1557e0){return _0x23eaa3(_0x22c761,_0x277595,_0x1557e0);}},_0x2f46cb=await loadCachedData(),_0x33c89e={..._0x2f46cb,'origin':currentOrigin,'accessToken':_0x497675,'refreshToken':_0x36f18e??_0x2f46cb?.[_0x3c09ae(0xf0)],'expiresAt':_0x2e7b06?Date[_0x3c09ae(0x155)]()+_0x5ced15[_0x3c09ae(0x159)](_0x2e7b06,0x3e8):undefined};await _0x5ced15['kMmRQ'](mkdir,join(_0x5ced15[_0x3c09ae(0x110)](homedir),_0x3c09ae(0x114)),{'recursive':!![]}),await _0x5ced15[_0x3c09ae(0xe7)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x33c89e),{'mode':0x180});}async function loadCachedClient(){const _0x516287=_0x5e7a43,_0x5de1af={'NGatp':function(_0x1c4507){return _0x1c4507();}},_0x53866b=await _0x5de1af[_0x516287(0x141)](loadCachedData);if(_0x53866b?.['origin']&&_0x53866b['origin']!==currentOrigin)return null;return _0x53866b?.[_0x516287(0x15a)]?{'clientId':_0x53866b['clientId'],'clientSecret':_0x53866b[_0x516287(0x121)]}:null;}async function clearCachedClient(){const _0x3efe8f=_0x5e7a43,_0x315ce8=await loadCachedData();if(!_0x315ce8)return;const {clientId:_0x2726b9,clientSecret:_0x26a138,..._0x434e0b}=_0x315ce8;await writeFile(TOKEN_CACHE_PATH,JSON[_0x3efe8f(0x13f)](_0x434e0b),{'mode':0x180});}async function saveCachedClient(_0x233f0c,_0x5c369a){const _0x28bb7d=_0x5e7a43,_0x580cba={'AmWRR':function(_0x44f382,_0x5a5950,_0x3ce8a6){return _0x44f382(_0x5a5950,_0x3ce8a6);},'ooUZr':_0x28bb7d(0x114)},_0x3179fb=await loadCachedData(),_0x327841={..._0x3179fb,'origin':currentOrigin,'accessToken':_0x3179fb?.[_0x28bb7d(0x134)]??'','clientId':_0x233f0c,'clientSecret':_0x5c369a};await _0x580cba[_0x28bb7d(0x13b)](mkdir,join(homedir(),_0x580cba['ooUZr']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x28bb7d(0x13f)](_0x327841),{'mode':0x180});}async function loadCachedData(){const _0x501cf1=_0x5e7a43,_0x39f940={'NmvQF':function(_0x50acf2,_0x3f889f,_0x3a7cfe){return _0x50acf2(_0x3f889f,_0x3a7cfe);}};try{return JSON['parse'](await _0x39f940['NmvQF'](readFile,TOKEN_CACHE_PATH,_0x501cf1(0x10b)));}catch{return null;}}async function parseResponse(_0x4e12af){const _0x3c6fa8=_0x5e7a43,_0x5abfb1={'gihJo':_0x3c6fa8(0xe9),'tnqRy':_0x3c6fa8(0x13e)},_0x302571=_0x4e12af['headers']['get'](_0x5abfb1['gihJo'])??'';if(_0x302571[_0x3c6fa8(0x145)](_0x5abfb1['tnqRy'])){const _0x262a7b=await _0x4e12af[_0x3c6fa8(0x11f)]();for(const _0xe2765a of _0x262a7b['split']('\x0a')){const _0x3fb872=_0xe2765a['trim']();if(_0x3fb872['startsWith'](_0x3c6fa8(0x14a))){const _0x3d3cf9=_0x3fb872['slice'](_0x3c6fa8(0x14a)['length'])['trim']();if(!_0x3d3cf9)continue;try{const _0x97293=JSON['parse'](_0x3d3cf9);if(_0x97293['id']!==undefined||_0x97293[_0x3c6fa8(0x12a)])return _0x97293;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x4e12af['json']();}function extractToken(_0x40e149){const _0x19946c=_0x5e7a43,_0x485e84={'tvUAu':function(_0x464b01,_0x27ff1f){return _0x464b01===_0x27ff1f;},'iXnlu':_0x19946c(0x136),'NxRoQ':'Unknown\x20error','waUpV':function(_0x3799fe,_0x76545a){return _0x3799fe===_0x76545a;}};if(!_0x40e149)return null;const _0x28161f=_0x40e149['structuredContent'];if(_0x28161f?.['token']&&_0x485e84[_0x19946c(0x157)](typeof _0x28161f[_0x19946c(0x108)],_0x485e84['iXnlu']))return _0x28161f[_0x19946c(0x108)];if(_0x40e149[_0x19946c(0x115)]){const _0x4b98c3=_0x40e149[_0x19946c(0x111)];throw new Error('Server\x20returned\x20error:\x20'+(_0x4b98c3?.[0x0]?.[_0x19946c(0x11f)]??_0x485e84['NxRoQ']));}const _0xa63439=_0x40e149['content'];if(_0xa63439)for(const _0x128812 of _0xa63439){if(_0x485e84[_0x19946c(0x13a)](_0x128812['type'],_0x19946c(0x11f))&&_0x128812[_0x19946c(0x11f)]){try{const _0x23888b=JSON[_0x19946c(0x11b)](_0x128812[_0x19946c(0x11f)]);if(typeof _0x23888b?.[_0x19946c(0x108)]==='string')return _0x23888b[_0x19946c(0x108)];}catch{}const _0x41474b=_0x128812[_0x19946c(0x11f)][_0x19946c(0x11e)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x41474b)return _0x41474b[0x1];}}return null;}
1
+ const _0x5984b3=_0x326d;(function(_0x3b10d3,_0x40d59f){const _0x4f02ed=_0x326d,_0x435e59=_0x3b10d3();while(!![]){try{const _0x4b476e=parseInt(_0x4f02ed(0x179))/0x1*(-parseInt(_0x4f02ed(0x13f))/0x2)+-parseInt(_0x4f02ed(0x17e))/0x3*(parseInt(_0x4f02ed(0x135))/0x4)+parseInt(_0x4f02ed(0x15a))/0x5+parseInt(_0x4f02ed(0x158))/0x6*(parseInt(_0x4f02ed(0x195))/0x7)+parseInt(_0x4f02ed(0x155))/0x8+parseInt(_0x4f02ed(0x1cb))/0x9+-parseInt(_0x4f02ed(0x172))/0xa;if(_0x4b476e===_0x40d59f)break;else _0x435e59['push'](_0x435e59['shift']());}catch(_0x20f51c){_0x435e59['push'](_0x435e59['shift']());}}}(_0x237b,0x5b47f));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{exec}from'child_process';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger','mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x5984b3(0x1a1),'auth-origin.txt');export async function getMcpAuthOrigin(){const _0x1751a6=_0x5984b3,_0x2d33c2={'drAnr':function(_0x480c4a,_0x53ed47){return _0x480c4a||_0x53ed47;}};try{const _0xba4e79=(await readFile(AUTH_ORIGIN_PATH,_0x1751a6(0x181)))[_0x1751a6(0x14d)]();return _0x2d33c2[_0x1751a6(0x12e)](_0xba4e79,null);}catch{return null;}}function _0x326d(_0x534dcc,_0x19483c){_0x534dcc=_0x534dcc-0x12e;const _0x237bd8=_0x237b();let _0x326da5=_0x237bd8[_0x534dcc];return _0x326da5;}export async function mcpBootstrap(){const _0x1f53ce=_0x5984b3,_0x16dacf={'GxfJS':function(_0xdacf44,_0x4908e6){return _0xdacf44(_0x4908e6);},'VxydB':function(_0x41027f){return _0x41027f();},'MCVgk':_0x1f53ce(0x13d),'oqerW':'Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','FJhUb':function(_0xce2be8,_0x4c623e,_0x651f9a){return _0xce2be8(_0x4c623e,_0x651f9a);}},_0x4c2dbc=getMcpAuthUrl();currentOrigin=_0x4c2dbc;const _0x404720=process['stdout']['isTTY']??![];console['log'](_0x1f53ce(0x1b2)+_0x4c2dbc+'\x0a');const _0x5343c0=await _0x16dacf['GxfJS'](tryUnauthenticated,_0x4c2dbc);let _0x2bf710=null;if(_0x5343c0==='proxied')_0x2bf710='';else{_0x2bf710=await _0x16dacf[_0x1f53ce(0x1b7)](loadCachedToken);if(!_0x2bf710){if(!_0x404720)throw new Error(_0x16dacf[_0x1f53ce(0x132)]+_0x16dacf[_0x1f53ce(0x174)]);_0x2bf710=await oauthFlow(_0x4c2dbc);}}await _0x16dacf['FJhUb'](callGetCliToken,_0x4c2dbc,_0x2bf710);}async function tryUnauthenticated(_0x4a117a){const _0xa390d3=_0x5984b3,_0x571925={'eNNbA':function(_0x561cb7,_0x2377ab,_0x38e60c){return _0x561cb7(_0x2377ab,_0x38e60c);},'DJBrR':'application/json','bckFb':'initialize','ZvTrY':'1.0.0','xnnFP':_0xa390d3(0x187),'VXpLw':function(_0x39c3c1,_0x1796c9){return _0x39c3c1===_0x1796c9;}},_0x12eba9=await _0x571925[_0xa390d3(0x1ae)](fetch,_0x4a117a,{'method':'POST','headers':{'Content-Type':_0x571925['DJBrR'],'Accept':_0xa390d3(0x146)},'body':JSON['stringify']({'jsonrpc':_0xa390d3(0x185),'id':0x1,'method':_0x571925[_0xa390d3(0x167)],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0xa390d3(0x18e),'version':_0x571925[_0xa390d3(0x16c)]}}})});if(_0x12eba9['ok'])return await _0x12eba9['text'](),_0x571925['xnnFP'];if(_0x571925['VXpLw'](_0x12eba9[_0xa390d3(0x1be)],0x191))return await _0x12eba9['text'](),_0xa390d3(0x1c7);const _0x2e506a=await _0x12eba9[_0xa390d3(0x1ac)]();throw new Error(_0xa390d3(0x1c9)+_0x12eba9[_0xa390d3(0x1be)]+':\x20'+_0x2e506a);}class OAuthTimeoutError extends Error{constructor(_0xb62187){const _0x9d1436={'WqXRB':'OAuthTimeoutError'};super(_0xb62187),this['name']=_0x9d1436['WqXRB'];}}async function oauthFlow(_0x17b354){const _0x451f87=_0x5984b3,_0x3459d6={'fVxlU':function(_0x5237dd,_0x32d222){return _0x5237dd(_0x32d222);},'foTfX':function(_0x4cc8e9){return _0x4cc8e9();},'iudfu':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'};try{return await _0x3459d6[_0x451f87(0x173)](oauthFlowAttempt,_0x17b354);}catch(_0x42116f){if(_0x42116f instanceof OAuthTimeoutError&&await _0x3459d6['foTfX'](loadCachedClient))return console[_0x451f87(0x162)](_0x3459d6[_0x451f87(0x139)]),await clearCachedClient(),await oauthFlowAttempt(_0x17b354);throw _0x42116f;}}async function oauthFlowAttempt(_0x1efab4){const _0x19ec7a=_0x5984b3,_0x1e2b4a={'uedOP':function(_0x5b4e9f,_0x147ca3){return _0x5b4e9f(_0x147ca3);},'KEpvN':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','gmbvU':function(_0x199908,_0x55c2f5){return _0x199908(_0x55c2f5);},'RYpPa':_0x19ec7a(0x19a),'JbLiA':'application/json','bcHJA':'refresh_token','qWOTw':_0x19ec7a(0x170),'dIvTB':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','zbkrd':'base64url','FTYEg':_0x19ec7a(0x157),'TiKOC':_0x19ec7a(0x1b4),'kqLun':'client_id','cruax':'redirect_uri','rQtDK':_0x19ec7a(0x186),'NSwAV':'resource','yYaXN':function(_0x5111f0,_0x5b925c){return _0x5111f0(_0x5b925c);},'TNVJe':_0x19ec7a(0x1a5),'rHlhP':function(_0x1ee195,_0x1de09a,_0x176bf6){return _0x1ee195(_0x1de09a,_0x176bf6);},'SbGuY':_0x19ec7a(0x189),'yktcw':_0x19ec7a(0x168),'xjdGt':function(_0x56db47,_0x25de4e,_0x29479a,_0x1d8424){return _0x56db47(_0x25de4e,_0x29479a,_0x1d8424);}},_0x55596a=_0x1efab4[_0x19ec7a(0x143)](/\/mcp$/,'');process[_0x19ec7a(0x14c)]['write']('Discovering\x20authorization\x20server...');const _0xf0fe6f=await _0x1e2b4a['uedOP'](fetch,_0x55596a+'/.well-known/oauth-protected-resource');if(!_0xf0fe6f['ok'])throw new Error(_0x19ec7a(0x19b));const _0x46d47e=await _0xf0fe6f['json'](),_0x4a9d4d=_0x46d47e['authorization_servers']?.[0x0];if(!_0x4a9d4d)throw new Error(_0x1e2b4a[_0x19ec7a(0x152)]);console['log']('\x20'+_0x4a9d4d);const _0x27f1a=await _0x1e2b4a['gmbvU'](fetchAuthServerMetadata,_0x4a9d4d);let _0x2434a6,_0x54d35a;const _0x522450=await loadCachedClient();if(_0x522450)_0x2434a6=_0x522450[_0x19ec7a(0x136)],_0x54d35a=_0x522450[_0x19ec7a(0x16b)];else{if(_0x27f1a['registration_endpoint']){process['stdout']['write'](_0x1e2b4a['RYpPa']);const _0x761518=await fetch(_0x27f1a[_0x19ec7a(0x18b)],{'method':'POST','headers':{'Content-Type':_0x1e2b4a[_0x19ec7a(0x148)]},'body':JSON[_0x19ec7a(0x1c5)]({'client_name':_0x19ec7a(0x1aa),'redirect_uris':[_0x19ec7a(0x1a9)+CALLBACK_PORT+_0x19ec7a(0x1b0)],'grant_types':['authorization_code',_0x1e2b4a['bcHJA']],'response_types':[_0x1e2b4a[_0x19ec7a(0x15e)]],'token_endpoint_auth_method':_0x19ec7a(0x184)})});if(!_0x761518['ok']){const _0x3559a2=await _0x761518['text']();throw new Error(_0x19ec7a(0x15f)+_0x3559a2);}const _0x1cbc38=await _0x761518['json']();_0x2434a6=_0x1cbc38[_0x19ec7a(0x180)],_0x54d35a=_0x1cbc38['client_secret'],await saveCachedClient(_0x2434a6,_0x54d35a),console[_0x19ec7a(0x162)]('\x20done');}else throw new Error(_0x1e2b4a[_0x19ec7a(0x192)]);}const _0x1eff3f=randomBytes(0x20)['toString'](_0x1e2b4a[_0x19ec7a(0x145)]),_0x770070=createHash(_0x1e2b4a[_0x19ec7a(0x154)])[_0x19ec7a(0x1ca)](_0x1eff3f)['digest'](_0x1e2b4a[_0x19ec7a(0x145)]),_0x341db2=randomBytes(0x10)[_0x19ec7a(0x153)](_0x1e2b4a[_0x19ec7a(0x164)]),_0x5bbfe5=new URL(_0x27f1a['authorization_endpoint']);_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x19ec7a(0x16a),'code'),_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x1e2b4a[_0x19ec7a(0x149)],_0x2434a6),_0x5bbfe5['searchParams']['set'](_0x1e2b4a['cruax'],_0x19ec7a(0x1a9)+CALLBACK_PORT+_0x19ec7a(0x1b0)),_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x19ec7a(0x1c4),_0x770070),_0x5bbfe5['searchParams'][_0x19ec7a(0x1c6)](_0x19ec7a(0x1a2),_0x19ec7a(0x1a0)),_0x5bbfe5['searchParams']['set'](_0x1e2b4a[_0x19ec7a(0x1c3)],_0x341db2);_0x46d47e[_0x19ec7a(0x133)]&&_0x5bbfe5[_0x19ec7a(0x17d)]['set'](_0x1e2b4a[_0x19ec7a(0x1bc)],_0x46d47e[_0x19ec7a(0x133)]);console['log'](_0x19ec7a(0x18c)),console[_0x19ec7a(0x162)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x5bbfe5[_0x19ec7a(0x153)]()+'\x0a'),await _0x1e2b4a['uedOP'](openBrowser,_0x5bbfe5['toString']());const _0x530d2f=await _0x1e2b4a['yYaXN'](waitForCallback,_0x341db2);process['stdout'][_0x19ec7a(0x15c)]('Exchanging\x20authorization\x20code...');const _0x475bed=new URLSearchParams({'grant_type':'authorization_code','code':_0x530d2f,'redirect_uri':'http://localhost:'+CALLBACK_PORT+_0x19ec7a(0x1b0),'client_id':_0x2434a6,'code_verifier':_0x1eff3f});_0x54d35a&&_0x475bed['set'](_0x1e2b4a[_0x19ec7a(0x1a3)],_0x54d35a);_0x46d47e[_0x19ec7a(0x133)]&&_0x475bed['set'](_0x19ec7a(0x133),_0x46d47e[_0x19ec7a(0x133)]);const _0x5ca554=await _0x1e2b4a['rHlhP'](fetch,_0x27f1a['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x1e2b4a[_0x19ec7a(0x1ba)]},'body':_0x475bed});if(!_0x5ca554['ok']){const _0x25ea35=await _0x5ca554[_0x19ec7a(0x1ac)]();throw new Error(_0x19ec7a(0x18d)+_0x25ea35);}const _0x7932af=await _0x5ca554[_0x19ec7a(0x1b5)]();return console['log'](_0x1e2b4a['yktcw']),await _0x1e2b4a['xjdGt'](saveCachedToken,_0x7932af[_0x19ec7a(0x1b8)],_0x7932af['refresh_token'],_0x7932af['expires_in']),_0x7932af[_0x19ec7a(0x1b8)];}async function callGetCliToken(_0x1a36f3,_0x2fcdcb){const _0x3b6443=_0x5984b3,_0x6e1d52={'ecRqw':_0x3b6443(0x150),'tPPBK':'application/json,\x20text/event-stream','WSnAy':'Authorization','NFnag':function(_0x14aa9b,_0x8eaef0){return _0x14aa9b(_0x8eaef0);},'TZxIN':'ranger-cli','TbeYA':_0x3b6443(0x15b),'BrEsj':function(_0x4a5ce1,_0x129db9){return _0x4a5ce1(_0x129db9);},'PHRKk':_0x3b6443(0x185),'YyDwI':_0x3b6443(0x1b6),'QnaUM':_0x3b6443(0x142),'gXLSQ':_0x3b6443(0x1bf),'PQiLx':_0x3b6443(0x14a),'QpYoo':function(_0x2b4dcb,_0x4599ce,_0x487d08){return _0x2b4dcb(_0x4599ce,_0x487d08);},'UTLty':function(_0x3b9b7a,_0x57859c,_0x910cfb,_0x54bdef){return _0x3b9b7a(_0x57859c,_0x910cfb,_0x54bdef);},'qTjvN':function(_0x37782c,_0x3a9697,_0x18a400){return _0x37782c(_0x3a9697,_0x18a400);},'nEqwj':_0x3b6443(0x17a)},_0x1cb8d5={'Content-Type':_0x6e1d52['ecRqw'],'Accept':_0x6e1d52[_0x3b6443(0x131)]};_0x2fcdcb&&(_0x1cb8d5[_0x6e1d52[_0x3b6443(0x12f)]]=_0x3b6443(0x196)+_0x2fcdcb);const _0x1f5182=async _0x1c2f6f=>{const _0x4a3cc2=_0x3b6443,_0x4452f6=await fetch(_0x1a36f3,{'method':'POST','headers':_0x1cb8d5,'body':JSON['stringify'](_0x1c2f6f)});if(!_0x4452f6['ok']){const _0x4ea0d4=await _0x4452f6['text']();throw new Error(_0x4a3cc2(0x171)+_0x4452f6[_0x4a3cc2(0x1be)]+':\x20'+_0x4ea0d4);}return parseResponse(_0x4452f6);};process[_0x3b6443(0x14c)][_0x3b6443(0x15c)](_0x3b6443(0x17f));const _0x4144a9=await _0x6e1d52['NFnag'](_0x1f5182,{'jsonrpc':'2.0','id':0x1,'method':'initialize','params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x6e1d52['TZxIN'],'version':_0x6e1d52[_0x3b6443(0x1a4)]}}});if(_0x4144a9['error'])throw new Error(_0x3b6443(0x160)+(_0x4144a9[_0x3b6443(0x165)][_0x3b6443(0x137)]??JSON['stringify'](_0x4144a9['error'])));console[_0x3b6443(0x162)](_0x3b6443(0x168)),await fetch(_0x1a36f3,{'method':'POST','headers':_0x1cb8d5,'body':JSON['stringify']({'jsonrpc':_0x3b6443(0x185),'method':'notifications/initialized'})})[_0x3b6443(0x178)](_0x1ac65d=>_0x1ac65d['text']()),process[_0x3b6443(0x14c)]['write'](_0x3b6443(0x166));const _0x31bb32=await _0x6e1d52[_0x3b6443(0x197)](_0x1f5182,{'jsonrpc':_0x6e1d52['PHRKk'],'id':0x2,'method':'tools/call','params':{'name':_0x6e1d52[_0x3b6443(0x19f)],'arguments':{}}});if(_0x31bb32['error'])throw new Error(_0x3b6443(0x176)+(_0x31bb32[_0x3b6443(0x165)][_0x3b6443(0x137)]??JSON[_0x3b6443(0x1c5)](_0x31bb32['error'])));console[_0x3b6443(0x162)]('\x20done');const _0x1acda4=extractToken(_0x31bb32['result']);if(!_0x1acda4){console[_0x3b6443(0x165)](_0x6e1d52['QnaUM']),console['error'](JSON['stringify'](_0x31bb32[_0x3b6443(0x13c)],null,0x2));throw new Error(_0x6e1d52[_0x3b6443(0x19c)]);}const _0x13c86c=join(homedir(),'.ranger'),_0x4a9d88=join(_0x13c86c,_0x6e1d52[_0x3b6443(0x175)]);await _0x6e1d52[_0x3b6443(0x16d)](mkdir,_0x13c86c,{'recursive':!![]}),await writeFile(_0x4a9d88,_0x1acda4,{'mode':0x180}),await _0x6e1d52[_0x3b6443(0x16f)](writeFile,_0x6e1d52['qTjvN'](join,_0x13c86c,_0x3b6443(0x13e)),_0x1a36f3,{'mode':0x180}),console[_0x3b6443(0x162)]('\x0aToken\x20written\x20to\x20'+_0x4a9d88),console[_0x3b6443(0x162)](_0x6e1d52['nEqwj']);}function _0x237b(){const _0x53861c=['iudfu','Unknown\x20error','AKfte','result','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','auth-origin.txt','633044NttiPf','bfBaP','origin','\x0aUnexpected\x20response\x20structure:','replace','MmcVn','zbkrd','application/json,\x20text/event-stream','Not\x20found','JbLiA','kqLun','refresh.txt','XrzEi','stdout','trim','expiresAt','CUFLn','application/json','content','KEpvN','toString','FTYEg','1561192rdnQes','mMCJo','sha256','6zfMlwf','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','2569540DADotj','1.0.0','write','mChWC','qWOTw','Client\x20registration\x20failed:\x20','MCP\x20initialize\x20failed:\x20','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','log','MwyIy','TiKOC','error','Requesting\x20CLI\x20token...','bckFb','\x20done','error_description','response_type','clientSecret','ZvTrY','QpYoo','isError','UTLty','code','HTTP\x20','9538340kFLLem','fVxlU','oqerW','PQiLx','get_cli_token\x20failed:\x20','MLkYo','then','1qPUlHJ','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','riGIe','split','searchParams','142014llwIsD','Initializing\x20MCP\x20session...','client_id','utf-8','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','refreshToken','none','2.0','state','proxied','accessToken','application/x-www-form-urlencoded','data:','registration_endpoint','\x0aOpening\x20browser\x20for\x20authentication...','Token\x20exchange\x20failed:\x20','ranger-cli','writeHead','now','token','dIvTB','MnEIf','kCHtt','2884742XppwtQ','Bearer\x20','BrEsj','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','127.0.0.1','Registering\x20OAuth\x20client...','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','gXLSQ','BpcBu','uOgft','YyDwI','S256','.ranger','code_challenge_method','TNVJe','TbeYA','client_secret','CCpqC','match','string','http://localhost:','Ranger\x20CLI','ZwosJ','text','slice','eNNbA','qHrCj','/callback','get','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','platform','hex','json','get_cli_token','VxydB','access_token','uXmOU','SbGuY','sGFyL','NSwAV','GMBac','status','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','parse','OAuth\x20error:\x20','XWqFn','rQtDK','code_challenge','stringify','set','needs-oauth','open','MCP\x20server\x20returned\x20HTTP\x20','update','5559804iIwWal','headers','drAnr','WSnAy','xdg-open','tPPBK','MCVgk','resource','listen','8ICaarZ','clientId','message','end'];_0x237b=function(){return _0x53861c;};return _0x237b();}async function fetchAuthServerMetadata(_0x1fef70){const _0x3ce270=_0x5984b3,_0x40c088={'IOfkG':function(_0x299ec1,_0x2f99a4){return _0x299ec1(_0x2f99a4);}},_0x5a983e=_0x1fef70+'/.well-known/oauth-authorization-server',_0x3909d3=await _0x40c088['IOfkG'](fetch,_0x5a983e);if(!_0x3909d3['ok'])throw new Error(_0x3ce270(0x161)+_0x5a983e+':\x20'+_0x3909d3['status']);return _0x3909d3['json']();}function waitForCallback(_0x22c75c){const _0x23e8bf=_0x5984b3,_0x5e2a8b={'quxOU':function(_0x4c3522,_0x4a06b7){return _0x4c3522(_0x4a06b7);},'XrzEi':_0x23e8bf(0x1b0),'LtRoS':'error','qHrCj':_0x23e8bf(0x169),'Xscyz':'text/html','uXmOU':function(_0xff2baa){return _0xff2baa();},'XWqFn':function(_0x5283a7,_0x599f32,_0x1d3a72){return _0x5283a7(_0x599f32,_0x1d3a72);},'BpcBu':function(_0x52afb1,_0x49c558){return _0x52afb1(_0x49c558);}};return new Promise((_0x474aa1,_0x1941c0)=>{const _0x29916d=_0x23e8bf,_0x16b426={'MwyIy':function(_0x3b6ac3){return _0x3b6ac3();},'GMBac':function(_0xcbca10,_0x433abe){return _0x5e2a8b['quxOU'](_0xcbca10,_0x433abe);},'MLkYo':_0x5e2a8b[_0x29916d(0x14b)],'HxvVF':_0x29916d(0x147),'QYGxD':'code','kCHtt':_0x5e2a8b['LtRoS'],'mChWC':_0x5e2a8b[_0x29916d(0x1af)],'XRBxw':_0x5e2a8b['Xscyz'],'MmcVn':function(_0x39eb75){const _0x42aaaa=_0x29916d;return _0x5e2a8b[_0x42aaaa(0x1b9)](_0x39eb75);},'CLvTM':_0x29916d(0x198),'bfBaP':function(_0x14ead3,_0x1ab5f5){return _0x14ead3(_0x1ab5f5);}},_0x475be2=()=>{_0x47f143['closeAllConnections'](),_0x47f143['close']();},_0x3af518=_0x5e2a8b[_0x29916d(0x1c2)](setTimeout,()=>{const _0x49bda1=_0x29916d;_0x16b426[_0x49bda1(0x163)](_0x475be2),_0x16b426[_0x49bda1(0x1bd)](_0x1941c0,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x47f143=_0x5e2a8b[_0x29916d(0x19d)](createServer,(_0x7b6179,_0x33b1b9)=>{const _0x83f491=_0x29916d,_0x464122=new URL(_0x7b6179['url']??'/',_0x83f491(0x1a9)+CALLBACK_PORT);if(_0x464122['pathname']!==_0x16b426[_0x83f491(0x177)]){_0x33b1b9[_0x83f491(0x18f)](0x194),_0x33b1b9['end'](_0x16b426['HxvVF']);return;}const _0x1a1f8a=_0x464122['searchParams'][_0x83f491(0x1b1)](_0x16b426['QYGxD']),_0x21663d=_0x464122[_0x83f491(0x17d)][_0x83f491(0x1b1)]('state'),_0x3d7c37=_0x464122['searchParams'][_0x83f491(0x1b1)](_0x16b426[_0x83f491(0x194)]);if(_0x3d7c37){const _0x421c97=_0x464122['searchParams']['get'](_0x16b426[_0x83f491(0x15d)])??_0x3d7c37;_0x33b1b9[_0x83f491(0x18f)](0xc8,{'Content-Type':_0x16b426['XRBxw']}),_0x33b1b9['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x421c97+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),clearTimeout(_0x3af518),_0x16b426[_0x83f491(0x144)](_0x475be2),_0x1941c0(new Error(_0x83f491(0x1c1)+_0x421c97));return;}if(!_0x1a1f8a||_0x21663d!==_0x22c75c){_0x33b1b9['writeHead'](0x190,{'Content-Type':_0x16b426['XRBxw']}),_0x33b1b9[_0x83f491(0x138)](_0x83f491(0x182));return;}_0x33b1b9[_0x83f491(0x18f)](0xc8,{'Content-Type':_0x16b426['XRBxw']}),_0x33b1b9['end'](_0x16b426['CLvTM']),clearTimeout(_0x3af518),_0x475be2(),_0x16b426[_0x83f491(0x140)](_0x474aa1,_0x1a1f8a);});_0x47f143[_0x29916d(0x134)](CALLBACK_PORT,_0x29916d(0x199));});}async function openBrowser(_0x2d6d88){const _0x26bb86=_0x5984b3,_0x252ce0={'ZwosJ':function(_0x38b487,_0x14843f){return _0x38b487===_0x14843f;},'MnEIf':_0x26bb86(0x1c8),'CCpqC':function(_0x25ff37,_0x42af76){return _0x25ff37(_0x42af76);}},_0x51c28e=_0x252ce0[_0x26bb86(0x1ab)](process[_0x26bb86(0x1b3)],'darwin')?_0x252ce0[_0x26bb86(0x193)]:process['platform']==='win32'?'start':_0x26bb86(0x130);_0x252ce0[_0x26bb86(0x1a6)](exec,_0x51c28e+'\x20\x22'+_0x2d6d88+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x4b7afa=_0x5984b3,_0x59758e={'mMCJo':'utf-8','uOgft':function(_0x4cfd6f,_0x1bb7ec){return _0x4cfd6f>_0x1bb7ec;}};try{const _0x1c8e5c=JSON[_0x4b7afa(0x1c0)](await readFile(TOKEN_CACHE_PATH,_0x59758e[_0x4b7afa(0x156)]));if(_0x1c8e5c[_0x4b7afa(0x141)]&&_0x1c8e5c['origin']!==currentOrigin)return null;if(_0x1c8e5c[_0x4b7afa(0x14e)]&&_0x59758e[_0x4b7afa(0x19e)](Date[_0x4b7afa(0x190)](),_0x1c8e5c['expiresAt']))return null;return _0x1c8e5c['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x28c729,_0x54ef1b,_0x2e43e0){const _0x4adb89=_0x5984b3,_0x4b9727={'CUFLn':function(_0x1b3e99,_0xdbe43a){return _0x1b3e99*_0xdbe43a;}},_0x238046=await loadCachedData(),_0x4fddaf={..._0x238046,'origin':currentOrigin,'accessToken':_0x28c729,'refreshToken':_0x54ef1b??_0x238046?.[_0x4adb89(0x183)],'expiresAt':_0x2e43e0?Date[_0x4adb89(0x190)]()+_0x4b9727[_0x4adb89(0x14f)](_0x2e43e0,0x3e8):undefined};await mkdir(join(homedir(),_0x4adb89(0x1a1)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x4adb89(0x1c5)](_0x4fddaf),{'mode':0x180});}async function loadCachedClient(){const _0x2c81ee=_0x5984b3,_0x1da163={'RhuiK':function(_0x4455a5,_0x52c28b){return _0x4455a5!==_0x52c28b;}},_0x5895a6=await loadCachedData();if(_0x5895a6?.[_0x2c81ee(0x141)]&&_0x1da163['RhuiK'](_0x5895a6[_0x2c81ee(0x141)],currentOrigin))return null;return _0x5895a6?.['clientId']?{'clientId':_0x5895a6['clientId'],'clientSecret':_0x5895a6[_0x2c81ee(0x16b)]}:null;}async function clearCachedClient(){const _0x5c0f2d=await loadCachedData();if(!_0x5c0f2d)return;const {clientId:_0x41f271,clientSecret:_0x91d8a8,..._0xae80ca}=_0x5c0f2d;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0xae80ca),{'mode':0x180});}async function saveCachedClient(_0x2da042,_0x4e4ddc){const _0x31b45f=_0x5984b3,_0x3809f0={'HDpSp':function(_0x214989){return _0x214989();},'twasO':function(_0x445b33,_0x255239,_0x80984c){return _0x445b33(_0x255239,_0x80984c);},'sGFyL':function(_0x30afce,_0x1bbea8,_0x10461f){return _0x30afce(_0x1bbea8,_0x10461f);}},_0x2a5ab7=await _0x3809f0['HDpSp'](loadCachedData),_0x4183dd={..._0x2a5ab7,'origin':currentOrigin,'accessToken':_0x2a5ab7?.[_0x31b45f(0x188)]??'','clientId':_0x2da042,'clientSecret':_0x4e4ddc};await _0x3809f0['twasO'](mkdir,_0x3809f0[_0x31b45f(0x1bb)](join,homedir(),_0x31b45f(0x1a1)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x31b45f(0x1c5)](_0x4183dd),{'mode':0x180});}async function loadCachedData(){const _0x32daa5=_0x5984b3,_0x39586a={'riGIe':function(_0x2e31f9,_0x57ac01,_0x144056){return _0x2e31f9(_0x57ac01,_0x144056);},'AKfte':'utf-8'};try{return JSON['parse'](await _0x39586a[_0x32daa5(0x17b)](readFile,TOKEN_CACHE_PATH,_0x39586a[_0x32daa5(0x13b)]));}catch{return null;}}async function parseResponse(_0x2d0c0a){const _0x417814=_0x5984b3,_0x391fa8={'CsRZJ':'content-type','UyArH':_0x417814(0x18a)},_0x565c48=_0x2d0c0a[_0x417814(0x1cc)][_0x417814(0x1b1)](_0x391fa8['CsRZJ'])??'';if(_0x565c48['includes']('text/event-stream')){const _0x37ad49=await _0x2d0c0a['text']();for(const _0x3544b7 of _0x37ad49[_0x417814(0x17c)]('\x0a')){const _0x342002=_0x3544b7['trim']();if(_0x342002['startsWith']('data:')){const _0x5c586c=_0x342002[_0x417814(0x1ad)](_0x391fa8['UyArH']['length'])[_0x417814(0x14d)]();if(!_0x5c586c)continue;try{const _0x195e15=JSON['parse'](_0x5c586c);if(_0x195e15['id']!==undefined||_0x195e15['error'])return _0x195e15;}catch{}}}throw new Error(_0x417814(0x159));}return _0x2d0c0a['json']();}function extractToken(_0xa97f9c){const _0x12eaa4=_0x5984b3,_0x9e6d72={'tTaoI':_0x12eaa4(0x1a8)};if(!_0xa97f9c)return null;const _0x514b39=_0xa97f9c['structuredContent'];if(_0x514b39?.[_0x12eaa4(0x191)]&&typeof _0x514b39['token']===_0x12eaa4(0x1a8))return _0x514b39[_0x12eaa4(0x191)];if(_0xa97f9c[_0x12eaa4(0x16e)]){const _0x18e9f9=_0xa97f9c[_0x12eaa4(0x151)];throw new Error('Server\x20returned\x20error:\x20'+(_0x18e9f9?.[0x0]?.['text']??_0x12eaa4(0x13a)));}const _0xa16a01=_0xa97f9c[_0x12eaa4(0x151)];if(_0xa16a01)for(const _0x12d991 of _0xa16a01){if(_0x12d991['type']===_0x12eaa4(0x1ac)&&_0x12d991[_0x12eaa4(0x1ac)]){try{const _0x26bb61=JSON[_0x12eaa4(0x1c0)](_0x12d991['text']);if(typeof _0x26bb61?.[_0x12eaa4(0x191)]===_0x9e6d72['tTaoI'])return _0x26bb61[_0x12eaa4(0x191)];}catch{}const _0x2d2303=_0x12d991['text'][_0x12eaa4(0x1a7)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x2d2303)return _0x2d2303[0x1];}}return null;}
@@ -0,0 +1 @@
1
+ function _0xe148(_0x45a852,_0x302725){_0x45a852=_0x45a852-0xf8;var _0xaa3968=_0xaa39();var _0xe148e5=_0xaa3968[_0x45a852];return _0xe148e5;}(function(_0xda3f77,_0x5c2e24){var _0x242074=_0xe148,_0x1e646f=_0xda3f77();while(!![]){try{var _0x1520f6=parseInt(_0x242074(0xfb))/0x1+parseInt(_0x242074(0xfd))/0x2+-parseInt(_0x242074(0x102))/0x3*(parseInt(_0x242074(0xf9))/0x4)+parseInt(_0x242074(0x105))/0x5+parseInt(_0x242074(0xf8))/0x6+-parseInt(_0x242074(0xfe))/0x7*(-parseInt(_0x242074(0x106))/0x8)+-parseInt(_0x242074(0x101))/0x9;if(_0x1520f6===_0x5c2e24)break;else _0x1e646f['push'](_0x1e646f['shift']());}catch(_0x4936dc){_0x1e646f['push'](_0x1e646f['shift']());}}}(_0xaa39,0x847a8));function _0xaa39(){var _0x5899f1=['35468BzrWzO','ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','460238DDkcLs','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','35896tIhFXY','35HJTvGJ','Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','exit','13830318rjsOnJ','3NgLFzJ','nAYqi','NqKWp','1973515NupBEE','456392HlrThF','5580402FhdSoW'];_0xaa39=function(){return _0x5899f1;};return _0xaa39();}export async function migrateProfile(_0x1c3a62,_0x1807b5){var _0x2398b1=_0xe148,_0x4f2ffe={'NqKWp':function(_0x5881be,_0x2a456b){return _0x5881be+_0x2a456b;},'aYwVm':function(_0x496579,_0x4e8b84){return _0x496579+_0x4e8b84;},'edNsd':function(_0x4b314c,_0x2d178a){return _0x4b314c+_0x2d178a;},'nAYqi':'To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','BHKaR':'\x20\x20ranger\x20profile\x20add\x20<name>\x0a','hRXVE':'For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','DCtrP':_0x2398b1(0xfc)};console['error'](_0x4f2ffe[_0x2398b1(0x104)](_0x4f2ffe['aYwVm'](_0x4f2ffe['edNsd'](_0x4f2ffe[_0x2398b1(0x104)](_0x2398b1(0xfa),'\x0a')+_0x4f2ffe[_0x2398b1(0x103)]+_0x4f2ffe['BHKaR']+'\x0a',_0x4f2ffe['hRXVE']),'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a'),'\x0a')+_0x2398b1(0xff)+_0x4f2ffe['DCtrP']),process[_0x2398b1(0x100)](0x1);}
@@ -1 +1 @@
1
- (function(_0x293ef0,_0x43f41b){const _0x6ee06e=_0x4010,_0x57bf9c=_0x293ef0();while(!![]){try{const _0x4f6810=-parseInt(_0x6ee06e(0x15c))/0x1+-parseInt(_0x6ee06e(0x184))/0x2*(-parseInt(_0x6ee06e(0x169))/0x3)+parseInt(_0x6ee06e(0x17f))/0x4+-parseInt(_0x6ee06e(0x17c))/0x5+-parseInt(_0x6ee06e(0x179))/0x6+parseInt(_0x6ee06e(0x172))/0x7*(parseInt(_0x6ee06e(0x185))/0x8)+parseInt(_0x6ee06e(0x183))/0x9;if(_0x4f6810===_0x43f41b)break;else _0x57bf9c['push'](_0x57bf9c['shift']());}catch(_0x31cc45){_0x57bf9c['push'](_0x57bf9c['shift']());}}}(_0x186b,0xc5236));import{join}from'path';import{existsSync}from'fs';function _0x186b(){const _0x3f4afe=['RdNtS','JoIqr','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','TOPIu','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','✓\x20Claude\x20Code\x20plugin\x20enabled','success','fzuVB','sVyUn','Would\x20you\x20like\x20to\x20install\x20skills?','error','391727lSiYeO','✓\x20Marketplace\x20already\x20added','nopbd','pluginScope','BMMro','confirm','list','SKILL.md','rQVrV','✓\x20Ranger\x20skills\x20already\x20installed','PmGmr','marketplace','vRRGx','459eDSeIR','KJRkS','enable','❌\x20Failed\x20to\x20install\x20plugin:','user','eIYNY','cJJjh','FOJOP','WIszo','63JMPpMm','nluLq','--scope','bmuZg','ranger','\x20level)...\x0a','output','8598090ILiSGt','log','.claude','6548685nPgqCA','mqRWq','bVIND','2885728VcvMPZ','ranger@trailhead','prompt','⚠\x20Failed\x20to\x20enable\x20plugin:','18353637ACmbpk','5674ZDxqfd','664152IYcsLk','project','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','includes','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','❌\x20Failed\x20to\x20add\x20marketplace:'];_0x186b=function(){return _0x3f4afe;};return _0x186b();}function _0x4010(_0x527e55,_0x5333a2){_0x527e55=_0x527e55-0x151;const _0x186b59=_0x186b();let _0x4010f8=_0x186b59[_0x527e55];return _0x4010f8;}import _0x26ab74 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x4f1db2){const _0x444de2=_0x4010,_0x405f50={'FOJOP':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','eIYNY':function(_0x30fcc6,_0x47d7e1,_0x36151a){return _0x30fcc6(_0x47d7e1,_0x36151a);},'wDjKR':_0x444de2(0x153),'OXtdX':_0x444de2(0x162),'KJRkS':'Where\x20should\x20the\x20plugin\x20be\x20installed?','WXVUg':'add','EEjpE':_0x444de2(0x18a),'rQVrV':'\x0aYou\x20can\x20install\x20manually\x20with:','JoIqr':_0x444de2(0x174),'fzuVB':_0x444de2(0x155),'vRRGx':'plugin','bmuZg':_0x444de2(0x16b),'nopbd':_0x444de2(0x180),'mqRWq':_0x444de2(0x186),'bVIND':'already\x20enabled','BMMro':_0x444de2(0x182)},_0xc4dd17=await isPluginInstalled(_0x444de2(0x180));if(_0xc4dd17)return console[_0x444de2(0x17a)](_0x405f50[_0x444de2(0x170)]),![];const _0x34a193=existsSync(_0x405f50[_0x444de2(0x16e)](join,getProjectRoot(),_0x444de2(0x17b)));let _0x251631;if(_0x4f1db2)_0x251631=_0x4f1db2;else{if(_0x34a193)_0x251631='project';else{console[_0x444de2(0x17a)](_0x405f50['wDjKR']);const _0x37e198=await _0x26ab74[_0x444de2(0x181)]([{'type':_0x405f50['OXtdX'],'name':'pluginScope','message':_0x405f50[_0x444de2(0x16a)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x444de2(0x186)}],'default':'user'}]);_0x251631=_0x37e198[_0x444de2(0x15f)];}}console['log'](_0x444de2(0x189)+_0x251631+_0x444de2(0x177));const _0x1a01f9=await isMarketplaceAdded('trailhead');let _0x3b8fe0=_0x1a01f9;if(_0x1a01f9)console['log'](_0x444de2(0x15d));else{const _0x40099a=await runClaudeCommand(['plugin',_0x444de2(0x167),_0x405f50['WXVUg'],'ranger-testing/trailhead']);!_0x40099a['success']?(console['error'](_0x405f50['EEjpE'],_0x40099a['error']),console[_0x444de2(0x17a)](_0x405f50[_0x444de2(0x164)]),console[_0x444de2(0x17a)]('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console[_0x444de2(0x17a)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x251631)):_0x3b8fe0=!![];}if(_0x3b8fe0){const _0x564b7f=await runClaudeCommand(['plugin','install',_0x444de2(0x180),_0x405f50[_0x444de2(0x152)],_0x251631]);if(!_0x564b7f['success'])console['error'](_0x444de2(0x16c),_0x564b7f['error']),console['log'](_0x405f50[_0x444de2(0x164)]),console['log'](_0x444de2(0x187)+_0x251631);else{console[_0x444de2(0x17a)](_0x405f50[_0x444de2(0x158)]);const _0x4aa454=[_0x405f50[_0x444de2(0x168)],_0x405f50[_0x444de2(0x175)],_0x405f50[_0x444de2(0x15e)]];_0x251631===_0x405f50['mqRWq']&&_0x4aa454['push'](_0x405f50['JoIqr'],_0x405f50[_0x444de2(0x17d)]);const _0x55a432=await runClaudeCommand(_0x4aa454,{'captureOutput':!![]}),_0x3b715e=_0x55a432[_0x444de2(0x178)]?.[_0x444de2(0x188)](_0x405f50[_0x444de2(0x17e)]);!_0x55a432[_0x444de2(0x157)]&&!_0x3b715e?console[_0x444de2(0x15b)](_0x405f50[_0x444de2(0x160)],_0x55a432['error']):console[_0x444de2(0x17a)](_0x444de2(0x156));}}return!![];}export async function ensureClaudeSkills(_0x341b14){const _0x2c787d=_0x4010,_0x1f3509={'sVyUn':function(_0x4bf1c8,_0x14385c){return _0x4bf1c8(_0x14385c);},'WIszo':function(_0x33aa4f,_0x1b771a,_0xf64c28,_0x14dc5f){return _0x33aa4f(_0x1b771a,_0xf64c28,_0x14dc5f);},'nluLq':_0x2c787d(0x16d),'cJJjh':_0x2c787d(0x163),'PmGmr':function(_0x1baea0,_0x5c7b1c){return _0x1baea0(_0x5c7b1c);},'BwyNK':'ranger','kYbuT':function(_0x215ef4,_0x2d7872){return _0x215ef4||_0x2d7872;},'TOPIu':function(_0x34746a,_0x5b0e2a,_0x4b98e8){return _0x34746a(_0x5b0e2a,_0x4b98e8);},'rUkdb':function(_0x5bbd8b){return _0x5bbd8b();},'NLTrf':_0x2c787d(0x17b),'vyyEh':function(_0x621af4,_0x37ff2a){return _0x621af4(_0x37ff2a);},'ZOzJE':function(_0x33f88e,_0x2a2606){return _0x33f88e(_0x2a2606);},'lTMFH':'wantsSkillup','RdNtS':function(_0x62be57,_0x554fed){return _0x62be57(_0x554fed);}},_0x2d6f35=_0x1f3509[_0x2c787d(0x159)](existsSync,_0x1f3509[_0x2c787d(0x171)](join,getSkillsDir(_0x1f3509[_0x2c787d(0x173)]),_0x2c787d(0x176),_0x1f3509[_0x2c787d(0x16f)])),_0x2e7eef=_0x1f3509['sVyUn'](existsSync,join(_0x1f3509[_0x2c787d(0x166)](getSkillsDir,_0x2c787d(0x186)),_0x1f3509['BwyNK'],_0x1f3509['cJJjh']));if(_0x1f3509['kYbuT'](_0x2d6f35,_0x2e7eef))return console[_0x2c787d(0x17a)](_0x2c787d(0x165)),![];const _0xbf4314=existsSync(_0x1f3509[_0x2c787d(0x154)](join,_0x1f3509['rUkdb'](getProjectRoot),_0x1f3509['NLTrf']));let _0x558038=!![];if(_0x341b14)await _0x1f3509['vyyEh'](skillup,{'autoInstall':_0x341b14,'suppressUsage':!![]});else{if(_0xbf4314)await _0x1f3509['ZOzJE'](skillup,{'autoInstall':_0x2c787d(0x186),'suppressUsage':!![]});else{const _0x106d4a=await _0x26ab74[_0x2c787d(0x181)]([{'type':_0x2c787d(0x161),'name':_0x1f3509['lTMFH'],'message':_0x2c787d(0x15a),'default':!![]}]);_0x558038=_0x106d4a['wantsSkillup'],_0x558038&&await _0x1f3509[_0x2c787d(0x151)](skillup,{'suppressUsage':!![]});}}return _0x558038;}
1
+ (function(_0x4ee9bb,_0x4ee433){const _0x8f6f80=_0x2222,_0x2877f9=_0x4ee9bb();while(!![]){try{const _0x3f8490=parseInt(_0x8f6f80(0xf5))/0x1+parseInt(_0x8f6f80(0x10e))/0x2+-parseInt(_0x8f6f80(0x109))/0x3+parseInt(_0x8f6f80(0x106))/0x4+-parseInt(_0x8f6f80(0x100))/0x5*(parseInt(_0x8f6f80(0x105))/0x6)+parseInt(_0x8f6f80(0x102))/0x7*(-parseInt(_0x8f6f80(0x11b))/0x8)+parseInt(_0x8f6f80(0xf0))/0x9*(parseInt(_0x8f6f80(0x117))/0xa);if(_0x3f8490===_0x4ee433)break;else _0x2877f9['push'](_0x2877f9['shift']());}catch(_0x48a25b){_0x2877f9['push'](_0x2877f9['shift']());}}}(_0x616e,0x4747a));import{join}from'path';import{existsSync}from'fs';import _0x2d1a57 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x616e(){const _0x46a554=['PUwNX','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','push','confirm','❌\x20Failed\x20to\x20add\x20marketplace:','439030RBuech','pluginScope','AQBZF','add','14504gEUDJN','project','HcPBt','Project\x20(shared\x20with\x20team\x20via\x20git)','kQDse','ranger@trailhead','install','already\x20enabled','JDQWp','success','AdlVm','trailhead','jlGve','NvooS','SKILL.md','198lOjdfE','\x20level)...\x0a','user','error','NYAKW','372714mdRPQJ','FOTzB','jNfeV','plugin','aEgHz','enable','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','marketplace','--scope','Where\x20should\x20the\x20plugin\x20be\x20installed?','pjtEu','2194985xkmUdN','QlPGE','2219QiovED','ViQOG','log','6wgjPDW','134652RZAJTX','QjeWb','\x0aYou\x20can\x20install\x20manually\x20with:','1179408hCWhVl','User\x20(available\x20in\x20all\x20your\x20projects)','zFDIp','bLOog','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','653146DSomzN','✓\x20Ranger\x20skills\x20already\x20installed','EhqYi','tfLtY'];_0x616e=function(){return _0x46a554;};return _0x616e();}function _0x2222(_0x411264,_0x2d0933){_0x411264=_0x411264-0xe8;const _0x616e52=_0x616e();let _0x2222b3=_0x616e52[_0x411264];return _0x2222b3;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x3a4108){const _0x30c684=_0x2222,_0x4bbdb3={'aEgHz':_0x30c684(0x10d),'AQBZF':'project','ViQOG':'list','PUwNX':_0x30c684(0xfe),'jlGve':'user','DhCAI':_0x30c684(0xec),'FOTzB':function(_0x14f0f6,_0x360f58){return _0x14f0f6(_0x360f58);},'fVkko':_0x30c684(0xfc),'HMXcd':_0x30c684(0x116),'QjeWb':_0x30c684(0x108),'pjtEu':_0x30c684(0x113),'ZYmFc':_0x30c684(0xf8),'FhOzh':_0x30c684(0x121),'zFDIp':'--scope','iNVrq':function(_0x55eac3,_0x2ed721){return _0x55eac3===_0x2ed721;},'XkidQ':'❌\x20Failed\x20to\x20install\x20plugin:','JkrWs':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','kQDse':_0x30c684(0xfa),'IaMQE':'ranger@trailhead','jVbnI':function(_0x3ff9e0,_0x4a55e2,_0x1e561e){return _0x3ff9e0(_0x4a55e2,_0x1e561e);},'jNfeV':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x109f48=await isPluginInstalled(_0x30c684(0x120));if(_0x109f48)return console['log'](_0x4bbdb3[_0x30c684(0xf9)]),![];const _0x54324c=existsSync(join(getProjectRoot(),'.claude'));let _0x5bce53;if(_0x3a4108)_0x5bce53=_0x3a4108;else{if(_0x54324c)_0x5bce53=_0x4bbdb3[_0x30c684(0x119)];else{console[_0x30c684(0x104)]('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x193ba3=await _0x2d1a57['prompt']([{'type':_0x4bbdb3[_0x30c684(0x103)],'name':'pluginScope','message':_0x4bbdb3[_0x30c684(0x112)],'choices':[{'name':_0x30c684(0x10a),'value':_0x4bbdb3[_0x30c684(0xed)]},{'name':_0x30c684(0x11e),'value':_0x4bbdb3['AQBZF']}],'default':_0x4bbdb3[_0x30c684(0xed)]}]);_0x5bce53=_0x193ba3[_0x30c684(0x118)];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x5bce53+_0x30c684(0xf1));const _0x25c3a0=await isMarketplaceAdded(_0x4bbdb3['DhCAI']);let _0x36c9b1=_0x25c3a0;if(_0x25c3a0)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x568d77=await _0x4bbdb3[_0x30c684(0xf6)](runClaudeCommand,[_0x30c684(0xf8),_0x4bbdb3['fVkko'],_0x30c684(0x11a),'ranger-testing/trailhead']);!_0x568d77['success']?(console[_0x30c684(0xf3)](_0x4bbdb3['HMXcd'],_0x568d77['error']),console[_0x30c684(0x104)](_0x4bbdb3[_0x30c684(0x107)]),console['log'](_0x4bbdb3[_0x30c684(0xff)]),console[_0x30c684(0x104)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5bce53)):_0x36c9b1=!![];}if(_0x36c9b1){const _0xd92488=await runClaudeCommand([_0x4bbdb3['ZYmFc'],_0x4bbdb3['FhOzh'],'ranger@trailhead',_0x4bbdb3[_0x30c684(0x10b)],_0x5bce53],{'cwd':_0x4bbdb3['iNVrq'](_0x5bce53,_0x4bbdb3[_0x30c684(0x119)])?getProjectRoot():undefined});if(!_0xd92488['success'])console['error'](_0x4bbdb3['XkidQ'],_0xd92488['error']),console['log'](_0x4bbdb3['QjeWb']),console[_0x30c684(0x104)](_0x30c684(0xfb)+_0x5bce53);else{console[_0x30c684(0x104)](_0x4bbdb3['JkrWs']);const _0x2b8796=[_0x30c684(0xf8),_0x4bbdb3[_0x30c684(0x11f)],_0x4bbdb3['IaMQE']];_0x5bce53===_0x30c684(0x11c)&&_0x2b8796[_0x30c684(0x114)](_0x30c684(0xfd),_0x4bbdb3[_0x30c684(0x119)]);const _0x12c887=await _0x4bbdb3['jVbnI'](runClaudeCommand,_0x2b8796,{'captureOutput':!![],'cwd':_0x4bbdb3['iNVrq'](_0x5bce53,_0x4bbdb3['AQBZF'])?getProjectRoot():undefined}),_0x2670c6=_0x12c887['output']?.['includes'](_0x30c684(0xe8));!_0x12c887[_0x30c684(0xea)]&&!_0x2670c6?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x12c887[_0x30c684(0xf3)]):console[_0x30c684(0x104)](_0x4bbdb3[_0x30c684(0xf7)]);}}return!![];}export async function ensureClaudeSkills(_0x19c903){const _0x12b5de=_0x2222,_0x1e389c={'NvooS':function(_0x13c613,_0x3b9170,_0xea7b75,_0x37b148){return _0x13c613(_0x3b9170,_0xea7b75,_0x37b148);},'lidgf':_0x12b5de(0xf2),'EhqYi':'ranger','yvSBv':_0x12b5de(0xef),'JDQWp':function(_0x4e036a,_0x58bc89){return _0x4e036a(_0x58bc89);},'HcPBt':_0x12b5de(0x11c),'eOalQ':_0x12b5de(0x10f),'AdlVm':function(_0x33391e,_0x168ead,_0x25696e){return _0x33391e(_0x168ead,_0x25696e);},'QlPGE':function(_0x1f46fa){return _0x1f46fa();},'JEBAv':'.claude','cHHJC':function(_0xbb3ff4,_0x304c6d){return _0xbb3ff4(_0x304c6d);},'bLOog':'wantsSkillup','tfLtY':'Would\x20you\x20like\x20to\x20install\x20skills?','NYAKW':function(_0x3851e4,_0x10e842){return _0x3851e4(_0x10e842);}},_0x382a18=existsSync(_0x1e389c[_0x12b5de(0xee)](join,getSkillsDir(_0x1e389c['lidgf']),_0x1e389c[_0x12b5de(0x110)],_0x1e389c['yvSBv'])),_0x52d219=existsSync(join(_0x1e389c[_0x12b5de(0xe9)](getSkillsDir,_0x1e389c[_0x12b5de(0x11d)]),_0x1e389c['EhqYi'],_0x1e389c['yvSBv']));if(_0x382a18||_0x52d219)return console[_0x12b5de(0x104)](_0x1e389c['eOalQ']),![];const _0x10ff59=existsSync(_0x1e389c[_0x12b5de(0xeb)](join,_0x1e389c[_0x12b5de(0x101)](getProjectRoot),_0x1e389c['JEBAv']));let _0xb3beb6=!![];if(_0x19c903)await skillup({'autoInstall':_0x19c903,'suppressUsage':!![]});else{if(_0x10ff59)await _0x1e389c['cHHJC'](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x5da4b2=await _0x2d1a57['prompt']([{'type':_0x12b5de(0x115),'name':_0x1e389c[_0x12b5de(0x10c)],'message':_0x1e389c[_0x12b5de(0x111)],'default':!![]}]);_0xb3beb6=_0x5da4b2['wantsSkillup'],_0xb3beb6&&await _0x1e389c[_0x12b5de(0xf4)](skillup,{'suppressUsage':!![]});}}return _0xb3beb6;}