@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 2.5.4-alpha.9360c2a-16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +36 -14
  2. package/build/cli.js +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/authEncrypt.js +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/config.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -0
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/opencodeConfig.js +1 -1
  58. package/build/commands/utils/playwrightCli.js +1 -1
  59. package/build/commands/utils/profileMessages.js +1 -1
  60. package/build/commands/utils/profileSetupBanner.js +1 -1
  61. package/build/commands/utils/projectsConfig.js +1 -1
  62. package/build/commands/utils/rangerConfig.js +1 -1
  63. package/build/commands/utils/rangerRoot.js +1 -1
  64. package/build/commands/utils/resolveProfileContext.js +1 -1
  65. package/build/commands/utils/resolveProfileUrl.js +1 -1
  66. package/build/commands/utils/retry.js +1 -1
  67. package/build/commands/utils/sessionCache.js +1 -1
  68. package/build/commands/utils/settings.js +1 -1
  69. package/build/commands/utils/skillContent.js +1 -1
  70. package/build/commands/utils/skills.js +1 -1
  71. package/build/commands/utils/stitchWebmFiles.js +1 -1
  72. package/build/commands/utils/telemetry.js +1 -1
  73. package/build/commands/utils/tokenRefresh.js +1 -1
  74. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  75. package/build/commands/utils/userApi.js +1 -1
  76. package/build/commands/utils/version.js +1 -1
  77. package/build/commands/verifyFeature.js +1 -1
  78. package/build/commands/verifyFeatureCli.js +1 -1
  79. package/build/skills/ranger/SKILL.md +36 -6
  80. package/build/skills/ranger/create.md +19 -0
  81. package/build/skills/ranger/verify.md +46 -7
  82. package/package.json +3 -2
@@ -1 +1 @@
1
- (function(_0x460b8a,_0x16c6d8){const _0x484704=_0x2c79,_0x618378=_0x460b8a();while(!![]){try{const _0x3252a6=-parseInt(_0x484704(0x7e))/0x1*(-parseInt(_0x484704(0x7c))/0x2)+parseInt(_0x484704(0x78))/0x3*(parseInt(_0x484704(0x75))/0x4)+parseInt(_0x484704(0x7b))/0x5*(-parseInt(_0x484704(0x79))/0x6)+parseInt(_0x484704(0x7a))/0x7+-parseInt(_0x484704(0x6d))/0x8+parseInt(_0x484704(0x7f))/0x9+-parseInt(_0x484704(0x74))/0xa;if(_0x3252a6===_0x16c6d8)break;else _0x618378['push'](_0x618378['shift']());}catch(_0x4d80ca){_0x618378['push'](_0x618378['shift']());}}}(_0x4700,0x1e26f));function _0x2c79(_0x2b45b2,_0x5170d3){_0x2b45b2=_0x2b45b2-0x6d;const _0x4700cb=_0x4700();let _0x2c79c9=_0x4700cb[_0x2b45b2];return _0x2c79c9;}import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';function _0x4700(){const _0x48c848=['Unknown\x20hook:\x20','SIGTERM','103053MJDCdt','6WmLnVu','138957wwMqzk','405215lxLSaT','596PNMIFn','SIGHUP','359ZxPBAZ','838638fHYSnI','189576XsGsrP','Valid\x20hooks:\x20','eWLaR','error','exit','once','keys','261230yKmVYG','4tPyXhx'];_0x4700=function(){return _0x48c848;};return _0x4700();}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 _0x2a6fae=_0x2c79;if(cancellationHandlersInstalled)return;const _0x3590e4=()=>{const _0x21cbc7=_0x2c79;process[_0x21cbc7(0x71)](0x0);};process[_0x2a6fae(0x72)]('SIGINT',_0x3590e4),process['once'](_0x2a6fae(0x77),_0x3590e4),process['once'](_0x2a6fae(0x7d),_0x3590e4),cancellationHandlersInstalled=!![];}export async function hook(_0x45bc4c,_0x28b1bb){const _0x2bb0a4=_0x2c79,_0x412877={'eWLaR':function(_0x4082a0){return _0x4082a0();},'LgaXW':function(_0x5468e8,_0x1b8228){return _0x5468e8(_0x1b8228);}};_0x412877[_0x2bb0a4(0x6f)](installCancellationHandlers);const _0x5dd08f=HOOKS[_0x45bc4c];if(!_0x5dd08f){const _0x560ea1=Object[_0x2bb0a4(0x73)](HOOKS)['join'](',\x20');console['error'](_0x2bb0a4(0x76)+_0x45bc4c),console[_0x2bb0a4(0x70)](_0x2bb0a4(0x6e)+_0x560ea1),process[_0x2bb0a4(0x71)](0x1);}await _0x412877['LgaXW'](_0x5dd08f,_0x28b1bb);}
1
+ function _0x5b14(){const _0x57d252=['Valid\x20hooks:\x20','2356136AygrnK','1266852xyaeiJ','2525295zyxkFe','SIGHUP','274904JAmIYC','error','SIGINT','Unknown\x20hook:\x20','join','6PgFIJn','80884wHnRYF','exit','11043549qUhSSM','once','6zYSPwT','2323124waaqpt'];_0x5b14=function(){return _0x57d252;};return _0x5b14();}(function(_0x4430f9,_0xae76b2){const _0x56bd4c=_0x19c8,_0x1a596e=_0x4430f9();while(!![]){try{const _0xb3c38a=-parseInt(_0x56bd4c(0x1eb))/0x1*(-parseInt(_0x56bd4c(0x1ef))/0x2)+-parseInt(_0x56bd4c(0x1f3))/0x3+-parseInt(_0x56bd4c(0x1f0))/0x4+-parseInt(_0x56bd4c(0x1f4))/0x5*(parseInt(_0x56bd4c(0x1ea))/0x6)+parseInt(_0x56bd4c(0x1f6))/0x7+parseInt(_0x56bd4c(0x1f2))/0x8+parseInt(_0x56bd4c(0x1ed))/0x9;if(_0xb3c38a===_0xae76b2)break;else _0x1a596e['push'](_0x1a596e['shift']());}catch(_0x117d94){_0x1a596e['push'](_0x1a596e['shift']());}}}(_0x5b14,0x481d2));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 _0x1c63c1=_0x19c8,_0x11a7f4={'YATIQ':'SIGTERM'};if(cancellationHandlersInstalled)return;const _0x489ada=()=>{const _0x2efbe3=_0x19c8;process[_0x2efbe3(0x1ec)](0x0);};process['once'](_0x1c63c1(0x1e7),_0x489ada),process['once'](_0x11a7f4['YATIQ'],_0x489ada),process[_0x1c63c1(0x1ee)](_0x1c63c1(0x1f5),_0x489ada),cancellationHandlersInstalled=!![];}function _0x19c8(_0x20d5af,_0x254a7a){_0x20d5af=_0x20d5af-0x1e6;const _0x5b1484=_0x5b14();let _0x19c8d4=_0x5b1484[_0x20d5af];return _0x19c8d4;}export async function hook(_0x9e580f,_0x159269){const _0x107489=_0x19c8;installCancellationHandlers();const _0x1bb242=HOOKS[_0x9e580f];if(!_0x1bb242){const _0x487ac5=Object['keys'](HOOKS)[_0x107489(0x1e9)](',\x20');console[_0x107489(0x1e6)](_0x107489(0x1e8)+_0x9e580f),console[_0x107489(0x1e6)](_0x107489(0x1f1)+_0x487ac5),process[_0x107489(0x1ec)](0x1);}await _0x1bb242(_0x159269);}
@@ -1 +1 @@
1
- function _0x2fe4(_0x437a95,_0x423d23){_0x437a95=_0x437a95-0xf3;const _0x35119b=_0x3511();let _0x2fe4f9=_0x35119b[_0x437a95];return _0x2fe4f9;}(function(_0x494ba6,_0x23f453){const _0x30917c=_0x2fe4,_0x34c55b=_0x494ba6();while(!![]){try{const _0x27f07b=parseInt(_0x30917c(0xf6))/0x1*(parseInt(_0x30917c(0xfe))/0x2)+parseInt(_0x30917c(0xfa))/0x3*(-parseInt(_0x30917c(0xf8))/0x4)+-parseInt(_0x30917c(0xf7))/0x5*(-parseInt(_0x30917c(0xff))/0x6)+-parseInt(_0x30917c(0xf4))/0x7*(-parseInt(_0x30917c(0xf5))/0x8)+parseInt(_0x30917c(0xf3))/0x9+-parseInt(_0x30917c(0xf9))/0xa+-parseInt(_0x30917c(0xfd))/0xb;if(_0x27f07b===_0x23f453)break;else _0x34c55b['push'](_0x34c55b['shift']());}catch(_0x53d267){_0x34c55b['push'](_0x34c55b['shift']());}}}(_0x3511,0x93804));import{readHookInput}from'./output.js';import{isSessionEnabled,hasSessionBeenPrompted,markSessionPrompted}from'../utils/sessionCache.js';function _0x3511(){const _0x3b602d=['3451734qsDfUZ','15169RHZPNI','3960BqGjEn','436901qOZFTM','10edaOcg','11408tFxkad','6226030SoXUsz','1005gCqmHO','log','IXzga','5582390RxOpxw','4aPLxQj','1079052umjMZJ'];_0x3511=function(){return _0x3b602d;};return _0x3511();}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 _0x2d4e01=_0x2fe4,_0x15f9aa={'IXzga':function(_0x2803bd){return _0x2803bd();},'ooRcf':function(_0x58a1dc,_0x32882d){return _0x58a1dc(_0x32882d);}},_0x3ab40c=await _0x15f9aa[_0x2d4e01(0xfc)](readHookInput),_0x1c4685=_0x3ab40c?.['session_id'];if(!_0x1c4685)return;if(_0x15f9aa['ooRcf'](isSessionEnabled,_0x1c4685)||_0x15f9aa['ooRcf'](hasSessionBeenPrompted,_0x1c4685))return;_0x15f9aa['ooRcf'](markSessionPrompted,_0x1c4685),console[_0x2d4e01(0xfb)](AUTO_PROMPT_TEXT);}
1
+ function _0x1aee(){const _0x111e98=['log','144wwIZsx','57dHNuyo','546954mqdkuH','uAbVt','1419480ECEEoU','14WHwApm','UKQvu','2396idzemG','964585uVhTSv','30772ZUYhnp','472710YhKlNs','89019RoxDdF'];_0x1aee=function(){return _0x111e98;};return _0x1aee();}(function(_0x5a3801,_0x12f34f){const _0x2d57f4=_0x4e82,_0x293b14=_0x5a3801();while(!![]){try{const _0x2cb884=-parseInt(_0x2d57f4(0x1d2))/0x1*(-parseInt(_0x2d57f4(0x1d8))/0x2)+-parseInt(_0x2d57f4(0x1cc))/0x3*(-parseInt(_0x2d57f4(0x1d4))/0x4)+-parseInt(_0x2d57f4(0x1d3))/0x5+-parseInt(_0x2d57f4(0x1cd))/0x6*(parseInt(_0x2d57f4(0x1d0))/0x7)+parseInt(_0x2d57f4(0x1cf))/0x8+-parseInt(_0x2d57f4(0x1d6))/0x9+parseInt(_0x2d57f4(0x1d5))/0xa;if(_0x2cb884===_0x12f34f)break;else _0x293b14['push'](_0x293b14['shift']());}catch(_0x324685){_0x293b14['push'](_0x293b14['shift']());}}}(_0x1aee,0x26a33));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.';function _0x4e82(_0x50d86d,_0x44f37b){_0x50d86d=_0x50d86d-0x1cc;const _0x1aeee3=_0x1aee();let _0x4e823f=_0x1aeee3[_0x50d86d];return _0x4e823f;}export async function autoPrompt(){const _0x5bc199=_0x4e82,_0x30a284={'uAbVt':function(_0x48ec5){return _0x48ec5();},'UKQvu':function(_0x4b1106,_0x31f582){return _0x4b1106(_0x31f582);}},_0x2b7d00=await _0x30a284[_0x5bc199(0x1ce)](readHookInput),_0x5d8669=_0x2b7d00?.['session_id'];if(!_0x5d8669)return;if(_0x30a284[_0x5bc199(0x1d1)](isSessionEnabled,_0x5d8669)||_0x30a284['UKQvu'](hasSessionBeenPrompted,_0x5d8669))return;markSessionPrompted(_0x5d8669),console[_0x5bc199(0x1d7)](AUTO_PROMPT_TEXT);}
@@ -1 +1 @@
1
- (function(_0x107d95,_0x224869){const _0x563110=_0x15ee,_0x4d4776=_0x107d95();while(!![]){try{const _0x112ab5=-parseInt(_0x563110(0x96))/0x1*(parseInt(_0x563110(0x8b))/0x2)+-parseInt(_0x563110(0x90))/0x3+-parseInt(_0x563110(0x95))/0x4*(-parseInt(_0x563110(0x91))/0x5)+parseInt(_0x563110(0x8d))/0x6+parseInt(_0x563110(0x8f))/0x7+parseInt(_0x563110(0x97))/0x8*(-parseInt(_0x563110(0x9a))/0x9)+parseInt(_0x563110(0x93))/0xa;if(_0x112ab5===_0x224869)break;else _0x4d4776['push'](_0x4d4776['shift']());}catch(_0x51faa9){_0x4d4776['push'](_0x4d4776['shift']());}}}(_0x44fb,0x4d269));function _0x15ee(_0x2da93f,_0x46c383){_0x2da93f=_0x2da93f-0x8b;const _0x44fb97=_0x44fb();let _0x15ee4e=_0x44fb97[_0x2da93f];return _0x15ee4e;}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x44fb(){const _0x44eac3=['134mbTvHy','13368NOmNgQ','master','fEItm','1179KAbmSu','8774pGGsVv','\x20and\x20branch\x20\x27','1492242XBhWBE','crnUq','2762788XBtxyY','1837371vxTxAy','834395pIbBpT','SaYvJ','5911970CthhoR','CLAUDE_SESSION_ID','12XFyxOu'];_0x44fb=function(){return _0x44eac3;};return _0x44fb();}export async function disable(_0x42ea89){const _0x442d7e=_0x15ee,_0x45703d={'crnUq':function(_0x313188,_0x1b4d02){return _0x313188(_0x1b4d02);},'fEItm':function(_0x3057fd,_0x532c7e){return _0x3057fd!==_0x532c7e;},'LcIfl':function(_0x16bab7,_0x219ad0){return _0x16bab7!==_0x219ad0;},'Medcb':function(_0x428fe6,_0x205167){return _0x428fe6(_0x205167);},'SaYvJ':function(_0x52a351,_0x165d77){return _0x52a351(_0x165d77);}},_0x397c95=_0x42ea89||process['env'][_0x442d7e(0x94)]||'';_0x397c95&&_0x45703d[_0x442d7e(0x8e)](disableSession,_0x397c95);const _0x289485=getCurrentBranch();_0x289485&&_0x45703d[_0x442d7e(0x99)](_0x289485,'main')&&_0x45703d['LcIfl'](_0x289485,'master')&&_0x45703d['Medcb'](disableBranch,_0x289485),_0x45703d[_0x442d7e(0x92)](printBlock,'#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0x289485&&_0x289485!=='main'&&_0x289485!==_0x442d7e(0x98)?_0x442d7e(0x8c)+_0x289485+'\x27':'')+'.\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`.');}
1
+ (function(_0x316cbd,_0x838c3f){const _0x257b27=_0x8416,_0x48268c=_0x316cbd();while(!![]){try{const _0x5d46ac=-parseInt(_0x257b27(0x155))/0x1+-parseInt(_0x257b27(0x14b))/0x2*(-parseInt(_0x257b27(0x14c))/0x3)+-parseInt(_0x257b27(0x151))/0x4+-parseInt(_0x257b27(0x152))/0x5*(parseInt(_0x257b27(0x156))/0x6)+parseInt(_0x257b27(0x153))/0x7+-parseInt(_0x257b27(0x149))/0x8+parseInt(_0x257b27(0x14f))/0x9;if(_0x5d46ac===_0x838c3f)break;else _0x48268c['push'](_0x48268c['shift']());}catch(_0x573c2f){_0x48268c['push'](_0x48268c['shift']());}}}(_0x334d,0xe6f01));import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';function _0x8416(_0x471522,_0x2a2439){_0x471522=_0x471522-0x149;const _0x334d8a=_0x334d();let _0x8416e0=_0x334d8a[_0x471522];return _0x8416e0;}export async function disable(_0x24dac){const _0x3a74de=_0x8416,_0x2af433={'hYemH':function(_0x15fb8b,_0xcfcb1c){return _0x15fb8b(_0xcfcb1c);},'adWLQ':function(_0xbd018b,_0x1f5908){return _0xbd018b!==_0x1f5908;},'WWWfj':function(_0x4dc06f,_0x3a4940){return _0x4dc06f(_0x3a4940);},'xRnUv':'main','yKeFW':_0x3a74de(0x150)},_0x2843f1=_0x24dac||process[_0x3a74de(0x157)]['CLAUDE_SESSION_ID']||'';_0x2843f1&&_0x2af433['hYemH'](disableSession,_0x2843f1);const _0x3853ec=getCurrentBranch();_0x3853ec&&_0x3853ec!=='main'&&_0x2af433['adWLQ'](_0x3853ec,'master')&&_0x2af433[_0x3a74de(0x14d)](disableBranch,_0x3853ec),printBlock(_0x3a74de(0x154)+(_0x3853ec&&_0x3853ec!==_0x2af433[_0x3a74de(0x14a)]&&_0x3853ec!==_0x2af433['yKeFW']?_0x3a74de(0x14e)+_0x3853ec+'\x27':'')+'.\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`.');}function _0x334d(){const _0x2d183c=['12824032sCjJHc','xRnUv','16KERysV','129747PORcCv','WWWfj','\x20and\x20branch\x20\x27','33459795uQzEKh','master','1070808zkYTdU','121665QukTFG','12289067jEgpxC','#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session','1129060kChELP','462zzOcmW','env'];_0x334d=function(){return _0x2d183c;};return _0x334d();}
@@ -1 +1 @@
1
- (function(_0x25ba38,_0xbeb832){const _0x2b5969=_0x462e,_0x18b1c4=_0x25ba38();while(!![]){try{const _0xf7ac2c=parseInt(_0x2b5969(0xc1))/0x1*(-parseInt(_0x2b5969(0xb6))/0x2)+parseInt(_0x2b5969(0xc5))/0x3+-parseInt(_0x2b5969(0xb8))/0x4+-parseInt(_0x2b5969(0xba))/0x5*(-parseInt(_0x2b5969(0xc3))/0x6)+parseInt(_0x2b5969(0xbe))/0x7*(-parseInt(_0x2b5969(0xc7))/0x8)+-parseInt(_0x2b5969(0xbb))/0x9+parseInt(_0x2b5969(0xc2))/0xa;if(_0xf7ac2c===_0xbeb832)break;else _0x18b1c4['push'](_0x18b1c4['shift']());}catch(_0x292ec){_0x18b1c4['push'](_0x18b1c4['shift']());}}}(_0x59d0,0x2b9df));function _0x59d0(){const _0x58ea5d=['#\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`','env','DikIU','339054lTTmII','CLAUDE_SESSION_ID','686956IBWNyg','jUILl','610WKXCCM','1670976CBJJjg','kBFrE','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','182nkZwTr','tAvzq','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','2mAHkMJ','8191290LsmFJX','9516iapmgj','hmUuR','216075Cmucyh','ktheU','64472NjbzCw','ranger\x20setup','master','ranger\x20setup\x20--opencode','rfaHO','\x0a\x0a**Branch\x20\x27'];_0x59d0=function(){return _0x58ea5d;};return _0x59d0();}function _0x462e(_0x2d259f,_0x1878af){_0x2d259f=_0x2d259f-0xb4;const _0x59d0e0=_0x59d0();let _0x462e53=_0x59d0e0[_0x2d259f];return _0x462e53;}import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x4a3188){const _0xe7adf=_0x462e,_0x58170c={'ktheU':function(_0x5571db,_0x277ddf){return _0x5571db(_0x277ddf);},'hmUuR':_0xe7adf(0xc8),'DikIU':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','rfaHO':_0xe7adf(0xbd),'kBFrE':function(_0x321873){return _0x321873();},'tAvzq':function(_0x5da31b,_0x2d55e7){return _0x5da31b!==_0x2d55e7;},'jUILl':function(_0x1eff21,_0x4145ea){return _0x1eff21!==_0x4145ea;},'IPYZy':_0xe7adf(0xc9)},_0x166d16=_0x4a3188||process[_0xe7adf(0xb4)][_0xe7adf(0xb7)]||'',_0x52be46=_0x58170c[_0xe7adf(0xc6)](Boolean,_0x4a3188),_0x4c125c=await getToken();if(!_0x4c125c){const _0x599ad5=_0x52be46?_0xe7adf(0xca):_0x58170c[_0xe7adf(0xc4)],_0x4e9496=_0x52be46?_0x58170c[_0xe7adf(0xb5)]:_0x58170c[_0xe7adf(0xcb)];_0x58170c[_0xe7adf(0xc6)](printBlock,_0xe7adf(0xcd)+_0x599ad5+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x4e9496);return;}try{await _0x58170c[_0xe7adf(0xbc)](update);}catch{}_0x166d16&&_0x58170c[_0xe7adf(0xc6)](enableSession,_0x166d16);const _0x5ec241=_0x58170c[_0xe7adf(0xbc)](getCurrentBranch),_0x52985c=_0x5ec241&&_0x58170c[_0xe7adf(0xbf)](_0x5ec241,'main')&&_0x58170c[_0xe7adf(0xb9)](_0x5ec241,_0x58170c['IPYZy'])?_0xe7adf(0xcc)+_0x5ec241+_0xe7adf(0xc0):'',_0x17a2de=getRangerSkillContent();printBlock('#\x20RANGER\x20ENABLED'+_0x52985c+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x17a2de+'\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(_0x25fb2c,_0x4a4db7){const _0x3e88e2=_0x5b79,_0x313842=_0x25fb2c();while(!![]){try{const _0x4bc289=parseInt(_0x3e88e2(0x85))/0x1*(parseInt(_0x3e88e2(0x84))/0x2)+-parseInt(_0x3e88e2(0x87))/0x3*(-parseInt(_0x3e88e2(0x82))/0x4)+parseInt(_0x3e88e2(0x81))/0x5+-parseInt(_0x3e88e2(0x8c))/0x6*(-parseInt(_0x3e88e2(0x8f))/0x7)+parseInt(_0x3e88e2(0x80))/0x8+parseInt(_0x3e88e2(0x88))/0x9+-parseInt(_0x3e88e2(0x89))/0xa;if(_0x4bc289===_0x4a4db7)break;else _0x313842['push'](_0x313842['shift']());}catch(_0x43634b){_0x313842['push'](_0x313842['shift']());}}}(_0x2828,0xa273c));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x5b79(_0x324d3a,_0x1efe7c){_0x324d3a=_0x324d3a-0x7f;const _0x2828e5=_0x2828();let _0x5b79c8=_0x2828e5[_0x324d3a];return _0x5b79c8;}function _0x2828(){const _0x235d8a=['iHRmS','49083IAPxOQ','1220490WWLptk','27421760vNVHZw','main','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','2987298SQuuqx','\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.','MUSUz','14cldZFV','xpQUP','5636248dIFNXu','2799365YMDqPk','76pUiEci','#\x20RANGER\x20ENABLED','45222Cjicco','31rBDZvl'];_0x2828=function(){return _0x235d8a;};return _0x2828();}import{getToken}from'../utils/keychain.js';import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x54c63a){const _0x3a56aa=_0x5b79,_0x249090={'iHRmS':function(_0x56adcc){return _0x56adcc();},'YJxLq':'ranger\x20setup','THhXC':'Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','xpQUP':function(_0x521596,_0x2abc9f){return _0x521596(_0x2abc9f);},'MUSUz':function(_0x35d402,_0xf5eacd){return _0x35d402!==_0xf5eacd;},'wnynK':_0x3a56aa(0x8a),'mgMye':'master'},_0x191967=_0x54c63a||process['env']['CLAUDE_SESSION_ID']||'',_0x3ab488=Boolean(_0x54c63a),_0x46db86=await _0x249090['iHRmS'](getToken);if(!_0x46db86){const _0x520ffc=_0x3ab488?'ranger\x20setup\x20--opencode':_0x249090['YJxLq'],_0x48dcf8=_0x3ab488?_0x249090['THhXC']:_0x3a56aa(0x8b);_0x249090[_0x3a56aa(0x7f)](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`'+_0x520ffc+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x48dcf8);return;}try{await _0x249090[_0x3a56aa(0x86)](update);}catch{}_0x191967&&_0x249090['xpQUP'](enableSession,_0x191967);const _0x43e24f=_0x249090['iHRmS'](getCurrentBranch),_0xb1196c=_0x43e24f&&_0x249090[_0x3a56aa(0x8e)](_0x43e24f,_0x249090['wnynK'])&&_0x43e24f!==_0x249090['mgMye']?'\x0a\x0a**Branch\x20\x27'+_0x43e24f+_0x3a56aa(0x8d):'',_0x4ecd75=getRangerSkillContent();_0x249090[_0x3a56aa(0x7f)](printBlock,_0x3a56aa(0x83)+_0xb1196c+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x4ecd75+'\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(_0x5168f9,_0x4640c6){const _0x42bcbc=_0x2226,_0x1aab34=_0x5168f9();while(!![]){try{const _0x1d12c1=-parseInt(_0x42bcbc(0x123))/0x1*(-parseInt(_0x42bcbc(0x125))/0x2)+-parseInt(_0x42bcbc(0x124))/0x3*(parseInt(_0x42bcbc(0x11e))/0x4)+-parseInt(_0x42bcbc(0x122))/0x5+parseInt(_0x42bcbc(0x121))/0x6*(-parseInt(_0x42bcbc(0x120))/0x7)+-parseInt(_0x42bcbc(0x11b))/0x8+parseInt(_0x42bcbc(0x11c))/0x9*(-parseInt(_0x42bcbc(0x11f))/0xa)+-parseInt(_0x42bcbc(0x127))/0xb*(-parseInt(_0x42bcbc(0x11d))/0xc);if(_0x1d12c1===_0x4640c6)break;else _0x1aab34['push'](_0x1aab34['shift']());}catch(_0x48b757){_0x1aab34['push'](_0x1aab34['shift']());}}}(_0x1552,0x49730));function _0x2226(_0xdea6b6,_0x417d5d){_0xdea6b6=_0xdea6b6-0x11b;const _0x155288=_0x1552();let _0x222668=_0x155288[_0xdea6b6];return _0x222668;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x1b8c35){const _0x1d21d2=_0x2226,_0x66500a=await getEnabledSessionId(_0x1b8c35);if(!_0x66500a)return;printBlock(_0x1d21d2(0x126));}function _0x1552(){const _0x471d63=['===\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===','20475103jyuKor','2072984qtqtYk','549lpivye','12pdnmOe','12ZZXSYx','86590ITdcxa','14TLmlAh','294114MJxXmN','1922860PgWCmV','11BdTBvj','457287lsfKso','30308nRRyaU'];_0x1552=function(){return _0x471d63;};return _0x1552();}
1
+ function _0x3f79(){const _0x18dc66=['===\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===','248Dtmhkr','589587upjIVn','471370ZxjLHK','26451436Lgvoaq','90hKtkGU','886548vFbUam','236JreCEA','49273HgRJub','24JadxRA','2822CznMli','390655QiHmTx'];_0x3f79=function(){return _0x18dc66;};return _0x3f79();}(function(_0x13f0b0,_0x5aee15){const _0x175a03=_0x2a79,_0x3b7650=_0x13f0b0();while(!![]){try{const _0x20b20c=-parseInt(_0x175a03(0x1b0))/0x1*(parseInt(_0x175a03(0x1b3))/0x2)+-parseInt(_0x175a03(0x1b7))/0x3*(parseInt(_0x175a03(0x1b2))/0x4)+-parseInt(_0x175a03(0x1b4))/0x5+parseInt(_0x175a03(0x1af))/0x6+parseInt(_0x175a03(0x1b1))/0x7*(parseInt(_0x175a03(0x1b6))/0x8)+parseInt(_0x175a03(0x1ae))/0x9*(-parseInt(_0x175a03(0x1b8))/0xa)+parseInt(_0x175a03(0x1ad))/0xb;if(_0x20b20c===_0x5aee15)break;else _0x3b7650['push'](_0x3b7650['shift']());}catch(_0x1fd8ec){_0x3b7650['push'](_0x3b7650['shift']());}}}(_0x3f79,0xad16c));import{printBlock,getEnabledSessionId}from'./output.js';function _0x2a79(_0x525657,_0x177a18){_0x525657=_0x525657-0x1ad;const _0x3f79f3=_0x3f79();let _0x2a79ae=_0x3f79f3[_0x525657];return _0x2a79ae;}export async function exitPlanMode(_0xbe7acd){const _0x54bafb=_0x2a79,_0x13d722=await getEnabledSessionId(_0xbe7acd);if(!_0x13d722)return;printBlock(_0x54bafb(0x1b5));}
@@ -1 +1 @@
1
- function _0x53e2(){var _0x1c7fa0=['16494GOOUwt','1225224tasiYf','1519737ywHSko','345410VLthAf','140VdzhWJ','73962gVrmXq','6074040QgPUpK','128320OzGoJp'];_0x53e2=function(){return _0x1c7fa0;};return _0x53e2();}(function(_0x1903f6,_0x31da85){var _0x5b3038=_0x4211,_0x428218=_0x1903f6();while(!![]){try{var _0x3a1b5a=parseInt(_0x5b3038(0x192))/0x1+parseInt(_0x5b3038(0x194))/0x2+-parseInt(_0x5b3038(0x191))/0x3+-parseInt(_0x5b3038(0x198))/0x4+parseInt(_0x5b3038(0x193))/0x5*(parseInt(_0x5b3038(0x197))/0x6)+parseInt(_0x5b3038(0x195))/0x7+-parseInt(_0x5b3038(0x196))/0x8;if(_0x3a1b5a===_0x31da85)break;else _0x428218['push'](_0x428218['shift']());}catch(_0x28f2ed){_0x428218['push'](_0x428218['shift']());}}}(_0x53e2,0x799ee));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';function _0x4211(_0x402ca9,_0x136934){_0x402ca9=_0x402ca9-0x191;var _0x53e2f9=_0x53e2();var _0x42119c=_0x53e2f9[_0x402ca9];return _0x42119c;}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(_0x18066b,_0x309d18){var _0x34549f=_0x1c73,_0x471f79=_0x18066b();while(!![]){try{var _0x45f6e1=parseInt(_0x34549f(0x171))/0x1*(parseInt(_0x34549f(0x16d))/0x2)+-parseInt(_0x34549f(0x16f))/0x3+-parseInt(_0x34549f(0x175))/0x4*(-parseInt(_0x34549f(0x172))/0x5)+parseInt(_0x34549f(0x177))/0x6*(-parseInt(_0x34549f(0x173))/0x7)+-parseInt(_0x34549f(0x16e))/0x8*(parseInt(_0x34549f(0x176))/0x9)+parseInt(_0x34549f(0x174))/0xa+-parseInt(_0x34549f(0x178))/0xb*(-parseInt(_0x34549f(0x170))/0xc);if(_0x45f6e1===_0x309d18)break;else _0x471f79['push'](_0x471f79['shift']());}catch(_0x3fc47c){_0x471f79['push'](_0x471f79['shift']());}}}(_0x59d0,0x5a86a));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';function _0x1c73(_0x4977aa,_0x34bc57){_0x4977aa=_0x4977aa-0x16d;var _0x59d07e=_0x59d0();var _0x1c730a=_0x59d07e[_0x4977aa];return _0x1c730a;}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';function _0x59d0(){var _0x171240=['8120qVCfgH','2032518PRCVbq','4152QcATQx','4YTOcnQ','3603305YtqaQZ','1186857DfWzgY','4914270bvZRMA','4uLLtnS','4014EJCilD','24fBIzFB','17963LayWmj','201044uMchif'];_0x59d0=function(){return _0x171240;};return _0x59d0();}export{enable}from'./enable.js';export{disable}from'./disable.js';export{autoPrompt}from'./autoPrompt.js';
@@ -1 +1 @@
1
- (function(_0x13f379,_0x465318){const _0x146c64=_0x2c41,_0x1ede7d=_0x13f379();while(!![]){try{const _0x1bc71f=parseInt(_0x146c64(0xe4))/0x1+parseInt(_0x146c64(0xe2))/0x2+-parseInt(_0x146c64(0xe1))/0x3*(parseInt(_0x146c64(0xe0))/0x4)+parseInt(_0x146c64(0xdb))/0x5*(parseInt(_0x146c64(0xe3))/0x6)+-parseInt(_0x146c64(0xe5))/0x7+parseInt(_0x146c64(0xda))/0x8*(-parseInt(_0x146c64(0xdd))/0x9)+-parseInt(_0x146c64(0xdf))/0xa;if(_0x1bc71f===_0x465318)break;else _0x1ede7d['push'](_0x1ede7d['shift']());}catch(_0x70592d){_0x1ede7d['push'](_0x1ede7d['shift']());}}}(_0x3765,0xb32b3));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x3ef6be){const _0x4f8044=_0x2c41;console[_0x4f8044(0xdc)](_0x3ef6be);}export async function readHookInput(){let _0x3b396b='';try{for await(const _0x30fdb1 of process['stdin']){_0x3b396b+=_0x30fdb1;}}catch{return null;}if(!_0x3b396b['trim']())return null;try{return JSON['parse'](_0x3b396b);}catch{return null;}}function _0x3765(){const _0x2b0268=['719105QGDbbF','log','9BkEpsU','session_id','8368010bZEgUz','68rmNBHR','93144EpyvET','2633440FClxnh','6SRvVfN','1334809wzMvTI','2544752yyVYyC','2666576SoDxaU'];_0x3765=function(){return _0x2b0268;};return _0x3765();}export async function getEnabledSessionId(_0x2bc75a){const _0xa9352a=_0x2c41;if(_0x2bc75a)return isSessionEnabled(_0x2bc75a)?_0x2bc75a:null;const _0x3149fe=await readHookInput(),_0x501dc1=_0x3149fe?.[_0xa9352a(0xde)];if(!_0x501dc1||!isSessionEnabled(_0x501dc1))return null;return _0x501dc1;}function _0x2c41(_0x4b1739,_0x3636ce){_0x4b1739=_0x4b1739-0xda;const _0x3765fa=_0x3765();let _0x2c41a5=_0x3765fa[_0x4b1739];return _0x2c41a5;}export async function getEnabledHookContext(_0x393428){const _0x585661={'LyRAS':function(_0x8212ab,_0x1ea178){return _0x8212ab(_0x1ea178);}};if(_0x393428){if(!_0x585661['LyRAS'](isSessionEnabled,_0x393428))return null;return{'sessionId':_0x393428,'input':{'session_id':_0x393428}};}const _0x1b1520=await readHookInput(),_0x561216=_0x1b1520?.['session_id'];if(!_0x561216||!isSessionEnabled(_0x561216))return null;return{'sessionId':_0x561216,'input':_0x1b1520};}
1
+ (function(_0x17340a,_0x3c64b1){const _0x5da979=_0x43f9,_0x2108c0=_0x17340a();while(!![]){try{const _0xceafc9=parseInt(_0x5da979(0x131))/0x1*(parseInt(_0x5da979(0x133))/0x2)+-parseInt(_0x5da979(0x128))/0x3+parseInt(_0x5da979(0x12d))/0x4*(-parseInt(_0x5da979(0x127))/0x5)+-parseInt(_0x5da979(0x12e))/0x6*(-parseInt(_0x5da979(0x130))/0x7)+parseInt(_0x5da979(0x12b))/0x8+-parseInt(_0x5da979(0x132))/0x9+parseInt(_0x5da979(0x12a))/0xa;if(_0xceafc9===_0x3c64b1)break;else _0x2108c0['push'](_0x2108c0['shift']());}catch(_0x4411c6){_0x2108c0['push'](_0x2108c0['shift']());}}}(_0x17f2,0x5d969));function _0x17f2(){const _0xeef4c6=['3739240rZcddd','parse','32WsDbMx','6NJKSJP','pXNvF','3161893tJSCIb','8467JNthbB','962397DoFuWx','12jwwXvM','trim','43045ZfbnXZ','1339206uSfWDi','session_id','356380KPCNSm'];_0x17f2=function(){return _0xeef4c6;};return _0x17f2();}function _0x43f9(_0x756161,_0x369476){_0x756161=_0x756161-0x127;const _0x17f288=_0x17f2();let _0x43f9ae=_0x17f288[_0x756161];return _0x43f9ae;}import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x1b57ff){console['log'](_0x1b57ff);}export async function readHookInput(){const _0x2ff779=_0x43f9;let _0x120409='';try{for await(const _0xf1d9cc of process['stdin']){_0x120409+=_0xf1d9cc;}}catch{return null;}if(!_0x120409[_0x2ff779(0x134)]())return null;try{return JSON[_0x2ff779(0x12c)](_0x120409);}catch{return null;}}export async function getEnabledSessionId(_0x3f535e){const _0x3f48d8=_0x43f9,_0x188650={'pXNvF':function(_0x25a497,_0x284202){return _0x25a497(_0x284202);}};if(_0x3f535e)return isSessionEnabled(_0x3f535e)?_0x3f535e:null;const _0x565ae3=await readHookInput(),_0x4a7fec=_0x565ae3?.['session_id'];if(!_0x4a7fec||!_0x188650[_0x3f48d8(0x12f)](isSessionEnabled,_0x4a7fec))return null;return _0x4a7fec;}export async function getEnabledHookContext(_0x4d32d6){const _0x3e361a=_0x43f9,_0x3eb590={'fAmUj':function(_0x4ca9cd){return _0x4ca9cd();}};if(_0x4d32d6){if(!isSessionEnabled(_0x4d32d6))return null;return{'sessionId':_0x4d32d6,'input':{'session_id':_0x4d32d6}};}const _0x5c0203=await _0x3eb590['fAmUj'](readHookInput),_0x19424a=_0x5c0203?.[_0x3e361a(0x129)];if(!_0x19424a||!isSessionEnabled(_0x19424a))return null;return{'sessionId':_0x19424a,'input':_0x5c0203};}
@@ -1 +1 @@
1
- function _0x29e6(_0x3825d4,_0x11ffe2){_0x3825d4=_0x3825d4-0x175;const _0x14bd08=_0x14bd();let _0x29e6c6=_0x14bd08[_0x3825d4];return _0x29e6c6;}function _0x14bd(){const _0x5618b8=['input','105998cbCTmh','8570500kbfjit','687432DuqMuJ','2032702sgRrrP','permission_mode','6mxDRQa','sessionId','5QnYlwY','198117YXhwYe','TUVho','221982NtUNxW','200rBaOxA','988700IuIjoj'];_0x14bd=function(){return _0x5618b8;};return _0x14bd();}(function(_0x54ad67,_0x4dc12c){const _0x2120b9=_0x29e6,_0x36b168=_0x54ad67();while(!![]){try{const _0x137871=parseInt(_0x2120b9(0x180))/0x1*(-parseInt(_0x2120b9(0x17b))/0x2)+-parseInt(_0x2120b9(0x17d))/0x3+-parseInt(_0x2120b9(0x179))/0x4+-parseInt(_0x2120b9(0x182))/0x5*(parseInt(_0x2120b9(0x177))/0x6)+-parseInt(_0x2120b9(0x17e))/0x7+parseInt(_0x2120b9(0x178))/0x8*(parseInt(_0x2120b9(0x175))/0x9)+parseInt(_0x2120b9(0x17c))/0xa;if(_0x137871===_0x4dc12c)break;else _0x36b168['push'](_0x36b168['shift']());}catch(_0x3a0d22){_0x36b168['push'](_0x36b168['shift']());}}}(_0x14bd,0x45bef));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x499fc2){const _0x3cdc72=_0x29e6,_0x39a2f1={'HAzWx':function(_0x40a0a7,_0x317bca){return _0x40a0a7!==_0x317bca;},'TUVho':'plan','bnFgd':function(_0x3bce0d,_0x2a3749){return _0x3bce0d(_0x2a3749);}},_0x1ab88e=await getEnabledHookContext(_0x499fc2);if(!_0x1ab88e)return;if(_0x39a2f1['HAzWx'](_0x1ab88e[_0x3cdc72(0x17a)][_0x3cdc72(0x17f)],_0x39a2f1[_0x3cdc72(0x176)]))return;if(!_0x39a2f1['bnFgd'](shouldShowPlanReminder,_0x1ab88e[_0x3cdc72(0x181)]))return;printBlock('===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20ANY\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill\x20NOW**\x20-\x20specifically\x20the\x20create.md\x20instructions\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20to\x20the\x20end\x20of\x20your\x20plan\x0a\x0aDO\x20NOT\x20write\x20scenarios\x20without\x20reading\x20create.md\x20first.\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0aYour\x20plan\x20must\x20end\x20with:\x0a```\x0a###\x20Ranger\x20Feature\x20Review\x20Specification\x20(create\x20this\x20first\x20with\x20`ranger\x20create`)\x0aFeature\x20Review\x20Name:\x20<name>\x0aDescription:\x20<description>\x0aScenarios:\x0a1.\x20<E2E\x20user\x20flow\x20that\x20can\x20be\x20verified\x20in\x20browser>\x0a2.\x20<another\x20E2E\x20user\x20flow\x20if\x20needed>\x0a```\x0a\x0aThen\x20run:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario1>\x22\x20-c\x20\x22<scenario2>\x22`\x0a\x0a===\x20END\x20===');}
1
+ (function(_0x52f61b,_0x32771d){const _0xd6f835=_0x5b33,_0x1db61c=_0x52f61b();while(!![]){try{const _0x13e998=-parseInt(_0xd6f835(0xb9))/0x1+-parseInt(_0xd6f835(0xc0))/0x2*(parseInt(_0xd6f835(0xc3))/0x3)+-parseInt(_0xd6f835(0xc6))/0x4+-parseInt(_0xd6f835(0xc7))/0x5*(parseInt(_0xd6f835(0xba))/0x6)+-parseInt(_0xd6f835(0xbc))/0x7+parseInt(_0xd6f835(0xc8))/0x8*(-parseInt(_0xd6f835(0xbb))/0x9)+parseInt(_0xd6f835(0xc5))/0xa*(parseInt(_0xd6f835(0xbd))/0xb);if(_0x13e998===_0x32771d)break;else _0x1db61c['push'](_0x1db61c['shift']());}catch(_0x3a6f5e){_0x1db61c['push'](_0x1db61c['shift']());}}}(_0xcc26,0xcbea4));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x4e1004){const _0x5591ff=_0x5b33,_0x3e7166={'DYgpH':function(_0x47cd6a,_0x3ad8b6){return _0x47cd6a!==_0x3ad8b6;},'dTCWR':'plan','jNNww':function(_0x3eb102,_0x33aa5c){return _0x3eb102(_0x33aa5c);}},_0x331a97=await getEnabledHookContext(_0x4e1004);if(!_0x331a97)return;if(_0x3e7166[_0x5591ff(0xc4)](_0x331a97['input'][_0x5591ff(0xbf)],_0x3e7166[_0x5591ff(0xc9)]))return;if(!_0x3e7166[_0x5591ff(0xc2)](shouldShowPlanReminder,_0x331a97[_0x5591ff(0xbe)]))return;printBlock(_0x5591ff(0xc1));}function _0x5b33(_0x3af372,_0x13dd86){_0x3af372=_0x3af372-0xb9;const _0xcc26b=_0xcc26();let _0x5b33e9=_0xcc26b[_0x3af372];return _0x5b33e9;}function _0xcc26(){const _0xf2c871=['3188404XCVDZi','5QcaYJZ','80PlwzFC','dTCWR','1505547QoNlcB','3734742RlmbcX','448317GxxNqn','2331945KGcXlk','5832233pypZQU','sessionId','permission_mode','226BSjBAJ','===\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===','jNNww','32937yGJpop','DYgpH','110LaqFTs'];_0xcc26=function(){return _0xf2c871;};return _0xcc26();}
@@ -1 +1 @@
1
- (function(_0x22b19e,_0x1d0ca8){const _0x5025ce=_0x2444,_0x46d8d8=_0x22b19e();while(!![]){try{const _0x416ce7=parseInt(_0x5025ce(0x187))/0x1+-parseInt(_0x5025ce(0x181))/0x2+parseInt(_0x5025ce(0x180))/0x3*(parseInt(_0x5025ce(0x17f))/0x4)+parseInt(_0x5025ce(0x186))/0x5+-parseInt(_0x5025ce(0x184))/0x6+parseInt(_0x5025ce(0x182))/0x7+-parseInt(_0x5025ce(0x183))/0x8;if(_0x416ce7===_0x1d0ca8)break;else _0x46d8d8['push'](_0x46d8d8['shift']());}catch(_0x548a74){_0x46d8d8['push'](_0x46d8d8['shift']());}}}(_0x2a5f,0x4ccfa));function _0x2a5f(){const _0xd6506a=['2108099yoFjwO','4576792VLPSTa','1073298VZYiBX','===\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===','1664975FuMqGO','89774WiwJvk','268908rKsVVh','24PTueFy','392284uPNjzi'];_0x2a5f=function(){return _0xd6506a;};return _0x2a5f();}function _0x2444(_0x579b46,_0x56318b){_0x579b46=_0x579b46-0x17f;const _0x2a5fa1=_0x2a5f();let _0x244485=_0x2a5fa1[_0x579b46];return _0x244485;}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4f368e){const _0x54c9c8=_0x2444,_0x497952=await getEnabledSessionId(_0x4f368e);if(!_0x497952)return;printBlock(_0x54c9c8(0x185));}
1
+ function _0x2e67(_0x119707,_0x3f8148){_0x119707=_0x119707-0x16c;const _0x49ce74=_0x49ce();let _0x2e67a8=_0x49ce74[_0x119707];return _0x2e67a8;}function _0x49ce(){const _0x35fdb0=['382WPlNfO','3821HNbBgC','120RJtOhh','8hDxrjY','950910vlfBzp','126IbrXhL','93060naNrgE','143zlpjRQ','475800KMoWOC','4787727yOONIU','729360sESVpS','sZocK','579684UKXlda'];_0x49ce=function(){return _0x35fdb0;};return _0x49ce();}(function(_0x48efad,_0x50eebc){const _0x19a306=_0x2e67,_0x3d33eb=_0x48efad();while(!![]){try{const _0x3a3402=-parseInt(_0x19a306(0x177))/0x1*(-parseInt(_0x19a306(0x176))/0x2)+parseInt(_0x19a306(0x178))/0x3*(-parseInt(_0x19a306(0x16f))/0x4)+parseInt(_0x19a306(0x16d))/0x5+-parseInt(_0x19a306(0x171))/0x6+-parseInt(_0x19a306(0x172))/0x7*(parseInt(_0x19a306(0x16c))/0x8)+parseInt(_0x19a306(0x16e))/0x9*(parseInt(_0x19a306(0x173))/0xa)+parseInt(_0x19a306(0x170))/0xb*(parseInt(_0x19a306(0x175))/0xc);if(_0x3a3402===_0x50eebc)break;else _0x3d33eb['push'](_0x3d33eb['shift']());}catch(_0xec3f2f){_0x3d33eb['push'](_0x3d33eb['shift']());}}}(_0x49ce,0xd5adb));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4e3e2a){const _0x4ffc92=_0x2e67,_0x2d0f8a={'npTxU':function(_0x25c741,_0xe34028){return _0x25c741(_0xe34028);},'sZocK':function(_0xa5ab,_0x159624){return _0xa5ab(_0x159624);}},_0x5aa5b1=await _0x2d0f8a['npTxU'](getEnabledSessionId,_0x4e3e2a);if(!_0x5aa5b1)return;_0x2d0f8a[_0x4ffc92(0x174)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- function _0x482c(_0x4e4688,_0x4fcf24){_0x4e4688=_0x4e4688-0xb0;const _0x8949cd=_0x8949();let _0x482cdb=_0x8949cd[_0x4e4688];return _0x482cdb;}function _0x8949(){const _0x5d3b51=['bkEWz','879304rgsmwx','6pjpojH','848796lOKSuA','log','1860680TAdfkq','stringify','197599kpLtgD','466978NxoWVs','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.','1776372oTwWcJ','2977912gqtlzT','9aLWRLr','zOKSi','PostToolUse'];_0x8949=function(){return _0x5d3b51;};return _0x8949();}(function(_0x4426d7,_0xb265d0){const _0x33a276=_0x482c,_0x2d47e0=_0x4426d7();while(!![]){try{const _0x5392c1=-parseInt(_0x33a276(0xb7))/0x1+parseInt(_0x33a276(0xb8))/0x2+parseInt(_0x33a276(0xb2))/0x3*(-parseInt(_0x33a276(0xb3))/0x4)+parseInt(_0x33a276(0xb5))/0x5+-parseInt(_0x33a276(0xba))/0x6+parseInt(_0x33a276(0xbb))/0x7+parseInt(_0x33a276(0xb1))/0x8*(parseInt(_0x33a276(0xbc))/0x9);if(_0x5392c1===_0xb265d0)break;else _0x2d47e0['push'](_0x2d47e0['shift']());}catch(_0x18f095){_0x2d47e0['push'](_0x2d47e0['shift']());}}}(_0x8949,0x366af));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x5c2e6a){const _0x1daeec=_0x482c,_0x4638bd={'zOKSi':function(_0x5f18b9,_0x280311){return _0x5f18b9(_0x280311);},'bkEWz':_0x1daeec(0xbe)},_0x1efed6=await _0x4638bd['zOKSi'](getEnabledSessionId,_0x5c2e6a);if(!_0x1efed6)return;updateBranchTracking(_0x1efed6);const _0x4c874f=await getToken();if(!_0x4c874f)return;const _0x13cc2b=_0x4638bd[_0x1daeec(0xbd)](getSessionEntry,_0x1efed6);if(_0x13cc2b){const _0x1172f4={'hookSpecificOutput':{'hookEventName':_0x4638bd[_0x1daeec(0xb0)],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x1daeec(0xb4)](JSON['stringify'](_0x1172f4));return;}const _0x204761={'hookSpecificOutput':{'hookEventName':_0x1daeec(0xbe),'additionalContext':_0x1daeec(0xb9)}};console['log'](JSON[_0x1daeec(0xb6)](_0x204761));}
1
+ (function(_0x94e7e7,_0x27a519){const _0x108e53=_0x1657,_0x2b9164=_0x94e7e7();while(!![]){try{const _0x498e9c=-parseInt(_0x108e53(0x8d))/0x1+-parseInt(_0x108e53(0x85))/0x2+parseInt(_0x108e53(0x87))/0x3*(parseInt(_0x108e53(0x81))/0x4)+parseInt(_0x108e53(0x8c))/0x5+-parseInt(_0x108e53(0x8b))/0x6*(parseInt(_0x108e53(0x7f))/0x7)+parseInt(_0x108e53(0x86))/0x8+parseInt(_0x108e53(0x83))/0x9*(parseInt(_0x108e53(0x82))/0xa);if(_0x498e9c===_0x27a519)break;else _0x2b9164['push'](_0x2b9164['shift']());}catch(_0x1673c3){_0x2b9164['push'](_0x2b9164['shift']());}}}(_0x3bb3,0x952db));function _0x3bb3(){const _0x5c6fae=['17495zFsZMF','1059881upBClH','3378844OXudub','stringify','2197332vsjZhq','10vlWoCw','19362447SymHNU','PostToolUse','2028140HXvIeG','3174576TyQYSX','6FwAotj','qvndt','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).','log','12nvoVMk'];_0x3bb3=function(){return _0x5c6fae;};return _0x3bb3();}function _0x1657(_0x5576c5,_0x20b8dd){_0x5576c5=_0x5576c5-0x7f;const _0x3bb38e=_0x3bb3();let _0x165770=_0x3bb38e[_0x5576c5];return _0x165770;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x3e6a72){const _0x8639fa=_0x1657,_0x1797e0={'qvndt':function(_0xc543b2,_0x5ac9d8){return _0xc543b2(_0x5ac9d8);},'dIBiF':function(_0x375389){return _0x375389();}},_0x296a24=await getEnabledSessionId(_0x3e6a72);if(!_0x296a24)return;_0x1797e0[_0x8639fa(0x88)](updateBranchTracking,_0x296a24);const _0x390672=await _0x1797e0['dIBiF'](getToken);if(!_0x390672)return;const _0x314097=getSessionEntry(_0x296a24);if(_0x314097){const _0x3197c9={'hookSpecificOutput':{'hookEventName':_0x8639fa(0x84),'additionalContext':_0x8639fa(0x89)}};console['log'](JSON[_0x8639fa(0x80)](_0x3197c9));return;}const _0x1a162f={'hookSpecificOutput':{'hookEventName':'PostToolUse','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[_0x8639fa(0x8a)](JSON['stringify'](_0x1a162f));}
@@ -1 +1 @@
1
- function _0x1d94(_0x2b17c3,_0x224c3b){_0x2b17c3=_0x2b17c3-0x17c;const _0x3de0d9=_0x3de0();let _0x1d94b2=_0x3de0d9[_0x2b17c3];return _0x1d94b2;}function _0x3de0(){const _0x4494f5=['14revIRd','580GhYUZa','27526884urkFxI','3quGTGD','1902165stOApT','4797102XphAmc','===\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`.','2641984mVvewK','1858878veEPTw','1PvITYz','3158632NoHrhQ','47727AoYIpg'];_0x3de0=function(){return _0x4494f5;};return _0x3de0();}(function(_0x5049cc,_0x58c9f1){const _0x348f7d=_0x1d94,_0x56c31f=_0x5049cc();while(!![]){try{const _0x1cb3c2=parseInt(_0x348f7d(0x181))/0x1*(parseInt(_0x348f7d(0x180))/0x2)+-parseInt(_0x348f7d(0x187))/0x3*(parseInt(_0x348f7d(0x182))/0x4)+-parseInt(_0x348f7d(0x17c))/0x5+-parseInt(_0x348f7d(0x17d))/0x6+parseInt(_0x348f7d(0x184))/0x7*(-parseInt(_0x348f7d(0x17f))/0x8)+parseInt(_0x348f7d(0x183))/0x9*(-parseInt(_0x348f7d(0x185))/0xa)+parseInt(_0x348f7d(0x186))/0xb;if(_0x1cb3c2===_0x58c9f1)break;else _0x56c31f['push'](_0x56c31f['shift']());}catch(_0xb892c0){_0x56c31f['push'](_0x56c31f['shift']());}}}(_0x3de0,0x78a7d));import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x19ac04){const _0x8c8d02=_0x1d94,_0x394590={'Cdhtg':function(_0x1d4d76,_0x3e74cb){return _0x1d4d76(_0x3e74cb);}},_0x2aae02=await getEnabledSessionId(_0x19ac04);if(!_0x2aae02)return;try{const _0x18218c=await getToken();if(!_0x18218c)return;_0x394590['Cdhtg'](printBlock,_0x8c8d02(0x17e));}catch{}}
1
+ (function(_0x4292b4,_0x459cec){const _0x35fd59=_0x463d,_0x297f47=_0x4292b4();while(!![]){try{const _0x4223ec=-parseInt(_0x35fd59(0x1f1))/0x1+-parseInt(_0x35fd59(0x1e9))/0x2*(parseInt(_0x35fd59(0x1eb))/0x3)+parseInt(_0x35fd59(0x1f0))/0x4*(parseInt(_0x35fd59(0x1e7))/0x5)+parseInt(_0x35fd59(0x1ec))/0x6+parseInt(_0x35fd59(0x1e8))/0x7*(-parseInt(_0x35fd59(0x1ea))/0x8)+-parseInt(_0x35fd59(0x1ed))/0x9+parseInt(_0x35fd59(0x1ef))/0xa*(parseInt(_0x35fd59(0x1ee))/0xb);if(_0x4223ec===_0x459cec)break;else _0x297f47['push'](_0x297f47['shift']());}catch(_0xbe9658){_0x297f47['push'](_0x297f47['shift']());}}}(_0x54de,0x47249));import{getToken}from'../utils/keychain.js';function _0x54de(){const _0x4ebbab=['1525683gLuueD','2297406KqumbX','1817397WgLwxo','44KqKrDZ','3802970SoCxYp','180QTSjGK','557127VcJsPu','18225khXZHm','14AXUhHm','2QXkvqr','2036368GgiSAu'];_0x54de=function(){return _0x4ebbab;};return _0x54de();}import{printBlock,getEnabledSessionId}from'./output.js';function _0x463d(_0x273f31,_0x53cf82){_0x273f31=_0x273f31-0x1e7;const _0x54dee1=_0x54de();let _0x463deb=_0x54dee1[_0x273f31];return _0x463deb;}export async function preCompact(_0x55b47e){const _0x3c6e18={'plrsF':function(_0x5c3e1a,_0x3f0a7a){return _0x5c3e1a(_0x3f0a7a);}},_0x542e62=await _0x3c6e18['plrsF'](getEnabledSessionId,_0x55b47e);if(!_0x542e62)return;try{const _0xbde8cd=await getToken();if(!_0xbde8cd)return;_0x3c6e18['plrsF'](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 +1 @@
1
- (function(_0x12d1e7,_0x249226){const _0x2f27a0=_0x4072,_0x40827d=_0x12d1e7();while(!![]){try{const _0x3387c2=parseInt(_0x2f27a0(0x1c4))/0x1*(parseInt(_0x2f27a0(0x1c7))/0x2)+-parseInt(_0x2f27a0(0x1c2))/0x3+-parseInt(_0x2f27a0(0x1c8))/0x4+-parseInt(_0x2f27a0(0x1c9))/0x5+-parseInt(_0x2f27a0(0x1c3))/0x6+-parseInt(_0x2f27a0(0x1cb))/0x7+parseInt(_0x2f27a0(0x1ca))/0x8;if(_0x3387c2===_0x249226)break;else _0x40827d['push'](_0x40827d['shift']());}catch(_0x3b9ad8){_0x40827d['push'](_0x40827d['shift']());}}}(_0x4f0c,0x9abc7));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x4072(_0xa248e2,_0x141fa3){_0xa248e2=_0xa248e2-0x1c2;const _0x4f0ca7=_0x4f0c();let _0x407231=_0x4f0ca7[_0xa248e2];return _0x407231;}function _0x4f0c(){const _0x467e87=['14XOelAd','2365644lyEQlN','3436335AoSFDw','20585000HruzeO','4385269EGlSGg','2037435feIgjN','1057950ovlGDR','117327kGkyzm','reason','clear'];_0x4f0c=function(){return _0x467e87;};return _0x4f0c();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x52e389){const _0x4efa91=_0x4072,_0x773b6a={'YMjHR':function(_0x51ffad,_0x550179){return _0x51ffad===_0x550179;}},_0x266ef8=process['env']['CLAUDE_SESSION_ID'];let _0x17af3b=_0x52e389,_0x32df79;if(!_0x52e389){if(_0x266ef8&&!isSessionEnabled(_0x266ef8))return;const _0x20bc55=await readHookInput();_0x17af3b=_0x20bc55?.['session_id']||_0x266ef8,_0x32df79=_0x20bc55?.[_0x4efa91(0x1c5)];}if(!_0x17af3b)return;_0x773b6a['YMjHR'](_0x32df79,_0x4efa91(0x1c6))&&recordEnabledSessionCleared(_0x17af3b);}
1
+ function _0x1569(){const _0x21246b=['212268tRqNIZ','2432284kbAoKh','4250880hiFrkd','8dkWRUk','29475uujiEY','558472XhilHl','session_id','560154vuwyiq','432oJjhNd','27hDozXA','104349yGUOFG','reason','env'];_0x1569=function(){return _0x21246b;};return _0x1569();}(function(_0x229554,_0x49df85){const _0x497272=_0x11b6,_0x8aa4ed=_0x229554();while(!![]){try{const _0x495959=-parseInt(_0x497272(0x1a2))/0x1+parseInt(_0x497272(0x1a7))/0x2+-parseInt(_0x497272(0x19f))/0x3+-parseInt(_0x497272(0x1a3))/0x4+-parseInt(_0x497272(0x1a6))/0x5*(parseInt(_0x497272(0x1aa))/0x6)+parseInt(_0x497272(0x1a9))/0x7*(parseInt(_0x497272(0x1a5))/0x8)+parseInt(_0x497272(0x19e))/0x9*(parseInt(_0x497272(0x1a4))/0xa);if(_0x495959===_0x49df85)break;else _0x8aa4ed['push'](_0x8aa4ed['shift']());}catch(_0x43db91){_0x8aa4ed['push'](_0x8aa4ed['shift']());}}}(_0x1569,0x56a90));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x11b6(_0x13d3b9,_0x4346f4){_0x13d3b9=_0x13d3b9-0x19e;const _0x1569a4=_0x1569();let _0x11b668=_0x1569a4[_0x13d3b9];return _0x11b668;}import{readHookInput}from'./output.js';export async function sessionEnd(_0x35aaf7){const _0x315854=_0x11b6,_0x11c55c={'PdCxz':function(_0x44eb3e){return _0x44eb3e();},'btwhZ':function(_0x355a62,_0x107e6a){return _0x355a62===_0x107e6a;},'YApJu':function(_0x3416b7,_0xc9eb43){return _0x3416b7(_0xc9eb43);}},_0x11332c=process[_0x315854(0x1a1)]['CLAUDE_SESSION_ID'];let _0x20521b=_0x35aaf7,_0x183563;if(!_0x35aaf7){if(_0x11332c&&!isSessionEnabled(_0x11332c))return;const _0x16357c=await _0x11c55c['PdCxz'](readHookInput);_0x20521b=_0x16357c?.[_0x315854(0x1a8)]||_0x11332c,_0x183563=_0x16357c?.[_0x315854(0x1a0)];}if(!_0x20521b)return;_0x11c55c['btwhZ'](_0x183563,'clear')&&_0x11c55c['YApJu'](recordEnabledSessionCleared,_0x20521b);}
@@ -1 +1 @@
1
- function _0x4338(){const _0x27f8bb=['\x20(Branch:\x20','nPDmS','12253599LMMIuL','29189996gxRkhS','4547168VISkpY','10ITDWBh','100233xgyuHT','log','SfwQY','7411PTGwqf','=================================================================\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=================================================================','RmKsM','434xhHloG','rwwTe','export\x20CLAUDE_SESSION_ID=\x22','5496820iAmYUN','498QGQfCV','5066094Cpmylh','8cohLks','main','hHmoG'];_0x4338=function(){return _0x27f8bb;};return _0x4338();}const _0x36ceaf=_0x2c85;function _0x2c85(_0x58e862,_0x3c7690){_0x58e862=_0x58e862-0xa5;const _0x43382b=_0x4338();let _0x2c855b=_0x43382b[_0x58e862];return _0x2c855b;}(function(_0x50023e,_0x3e9916){const _0x4658f6=_0x2c85,_0x3305db=_0x50023e();while(!![]){try{const _0x77cf99=parseInt(_0x4658f6(0xad))/0x1*(parseInt(_0x4658f6(0xb0))/0x2)+parseInt(_0x4658f6(0xb5))/0x3+-parseInt(_0x4658f6(0xa8))/0x4+-parseInt(_0x4658f6(0xb3))/0x5+parseInt(_0x4658f6(0xb4))/0x6*(parseInt(_0x4658f6(0xaa))/0x7)+parseInt(_0x4658f6(0xb6))/0x8*(parseInt(_0x4658f6(0xa6))/0x9)+parseInt(_0x4658f6(0xa9))/0xa*(-parseInt(_0x4658f6(0xa7))/0xb);if(_0x77cf99===_0x3e9916)break;else _0x3305db['push'](_0x3305db['shift']());}catch(_0x446dc1){_0x3305db['push'](_0x3305db['shift']());}}}(_0x4338,0xe9a99));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x36ceaf(0xae);export async function sessionStart(_0x14d141){const _0xca356a=_0x36ceaf,_0x490fc5={'hHmoG':'session_id','lHgEE':function(_0x5bf196,_0x394b66){return _0x5bf196&&_0x394b66;},'JVWqM':function(_0x49fb1d,_0x2df60e){return _0x49fb1d(_0x2df60e);},'rwwTe':function(_0x3fc31c,_0xa6ff9a){return _0x3fc31c(_0xa6ff9a);},'axsLx':function(_0x3a65b8,_0x49bed0){return _0x3a65b8(_0x49bed0);},'hfflV':'hook:session-start','nPDmS':function(_0x1de021){return _0x1de021();},'ncySx':function(_0x2c45f7,_0x4354dc){return _0x2c45f7!==_0x4354dc;},'RmKsM':'SessionStart','SfwQY':function(_0x29e556,_0x1a8233){return _0x29e556+_0x1a8233;}};let _0x1d369d=_0x14d141||'',_0x562c10;if(!_0x14d141){let _0x4ff4b2='';for await(const _0x3716cf of process['stdin']){_0x4ff4b2+=_0x3716cf;}try{const _0x3dccc4=JSON['parse'](_0x4ff4b2);_0x1d369d=_0x3dccc4[_0x490fc5[_0xca356a(0xb8)]]||'',_0x562c10=_0x3dccc4['source'];}catch{}const _0x125e40=process['env']['CLAUDE_ENV_FILE'];if(_0x490fc5['lHgEE'](_0x125e40,_0x1d369d))try{await appendFile(_0x125e40,_0xca356a(0xb2)+_0x1d369d+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x1d369d){_0x490fc5['JVWqM'](shouldAutoEnableAfterClear,_0x562c10)&&_0x490fc5['rwwTe'](autoEnableAfterClear,_0x1d369d);_0x490fc5[_0xca356a(0xb1)](initBranchTracking,_0x1d369d);const _0x3621c2=_0x490fc5['JVWqM'](isSessionEnabled,_0x1d369d);try{const _0x54ba63=_0x490fc5['axsLx'](createTelemetryCollector,_0x490fc5['hfflV']);await _0x54ba63['trackCommandStart']({'sessionId':_0x1d369d,'hooksEnabled':_0x3621c2}),await _0x54ba63['trackCommandEnd']('success');}catch{}if(_0x3621c2){const _0x2b2cf2=_0x490fc5[_0xca356a(0xa5)](getCurrentBranch),_0x5dfc62=_0x2b2cf2&&_0x490fc5['ncySx'](_0x2b2cf2,_0xca356a(0xb7))&&_0x2b2cf2!=='master'?_0xca356a(0xb9)+_0x2b2cf2+')':'',_0x5a2552={'hookSpecificOutput':{'hookEventName':_0x490fc5[_0xca356a(0xaf)],'additionalContext':_0x490fc5[_0xca356a(0xac)](RANGER_AUTO_ENABLED_PROMPT,_0x5dfc62)}};console[_0xca356a(0xab)](JSON['stringify'](_0x5a2552));}}}
1
+ function _0x1dac(){const _0x3f0ac0=['3094593erKPaw','env','stringify','\x20(Branch:\x20','=================================================================\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=================================================================','JGhqy','454aXtQEZ','parse','6560940YKLkXK','136fkrrPE','AUhyZ','2500ShXqiN','4424NzdOSX','2894622gTZfOX','33946lvYHkg','SwSuY','677334oxXxyn','13831128NGaXmD','vJIxu','15eOfpWj','EteML','stdin'];_0x1dac=function(){return _0x3f0ac0;};return _0x1dac();}const _0x42efe5=_0x5bc2;(function(_0x539a89,_0x2ca4e2){const _0x318f1e=_0x5bc2,_0x34b6a3=_0x539a89();while(!![]){try{const _0xcbfe4b=-parseInt(_0x318f1e(0xd4))/0x1*(parseInt(_0x318f1e(0xda))/0x2)+parseInt(_0x318f1e(0xce))/0x3+-parseInt(_0x318f1e(0xd6))/0x4+parseInt(_0x318f1e(0xcb))/0x5*(-parseInt(_0x318f1e(0xdb))/0x6)+-parseInt(_0x318f1e(0xde))/0x7*(-parseInt(_0x318f1e(0xd7))/0x8)+parseInt(_0x318f1e(0xdf))/0x9+parseInt(_0x318f1e(0xd9))/0xa*(parseInt(_0x318f1e(0xdc))/0xb);if(_0xcbfe4b===_0x2ca4e2)break;else _0x34b6a3['push'](_0x34b6a3['shift']());}catch(_0x2d9851){_0x34b6a3['push'](_0x34b6a3['shift']());}}}(_0x1dac,0xda037));import{appendFile}from'fs/promises';function _0x5bc2(_0x4e975f,_0x3c9fcd){_0x4e975f=_0x4e975f-0xca;const _0x1dac8e=_0x1dac();let _0x5bc228=_0x1dac8e[_0x4e975f];return _0x5bc228;}import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT=_0x42efe5(0xd2);export async function sessionStart(_0x3d6b0d){const _0x740e73=_0x42efe5,_0x2e225f={'snPke':function(_0x2d3b9c,_0x3bd00c,_0x54eaf4){return _0x2d3b9c(_0x3bd00c,_0x54eaf4);},'SwSuY':function(_0x205569){return _0x205569();},'EteML':function(_0x1967b5,_0x107387){return _0x1967b5(_0x107387);},'vJIxu':function(_0x42067e,_0x1e3964){return _0x42067e!==_0x1e3964;},'JGhqy':function(_0x46fc8f,_0x2e172f){return _0x46fc8f!==_0x2e172f;},'AUhyZ':function(_0x1ae8a9,_0x21aef6){return _0x1ae8a9+_0x21aef6;}};let _0x3e14ca=_0x3d6b0d||'',_0x3f0c30;if(!_0x3d6b0d){let _0x46eac6='';for await(const _0x33322c of process[_0x740e73(0xcd)]){_0x46eac6+=_0x33322c;}try{const _0x2e9cdd=JSON[_0x740e73(0xd5)](_0x46eac6);_0x3e14ca=_0x2e9cdd['session_id']||'',_0x3f0c30=_0x2e9cdd['source'];}catch{}const _0x32d986=process[_0x740e73(0xcf)]['CLAUDE_ENV_FILE'];if(_0x32d986&&_0x3e14ca)try{await _0x2e225f['snPke'](appendFile,_0x32d986,'export\x20CLAUDE_SESSION_ID=\x22'+_0x3e14ca+'\x22\x0a');}catch{}}try{await _0x2e225f[_0x740e73(0xdd)](getToken);}catch{}if(_0x3e14ca){_0x2e225f[_0x740e73(0xcc)](shouldAutoEnableAfterClear,_0x3f0c30)&&autoEnableAfterClear(_0x3e14ca);_0x2e225f['EteML'](initBranchTracking,_0x3e14ca);const _0x574cf3=isSessionEnabled(_0x3e14ca);try{const _0x47c708=_0x2e225f[_0x740e73(0xcc)](createTelemetryCollector,'hook:session-start');await _0x47c708['trackCommandStart']({'sessionId':_0x3e14ca,'hooksEnabled':_0x574cf3}),await _0x47c708['trackCommandEnd']('success');}catch{}if(_0x574cf3){const _0x48999c=getCurrentBranch(),_0x23fbe0=_0x48999c&&_0x2e225f[_0x740e73(0xca)](_0x48999c,'main')&&_0x2e225f[_0x740e73(0xd3)](_0x48999c,'master')?_0x740e73(0xd1)+_0x48999c+')':'',_0x3d7b8e={'hookSpecificOutput':{'hookEventName':'SessionStart','additionalContext':_0x2e225f[_0x740e73(0xd8)](RANGER_AUTO_ENABLED_PROMPT,_0x23fbe0)}};console['log'](JSON[_0x740e73(0xd0)](_0x3d7b8e));}}}
@@ -1 +1 @@
1
- (function(_0x205237,_0x4c68e7){const _0x45af27=_0x5aed,_0x414d7f=_0x205237();while(!![]){try{const _0x57aa38=parseInt(_0x45af27(0x200))/0x1+-parseInt(_0x45af27(0x1fd))/0x2+parseInt(_0x45af27(0x1f9))/0x3*(-parseInt(_0x45af27(0x1eb))/0x4)+parseInt(_0x45af27(0x1f5))/0x5+-parseInt(_0x45af27(0x1ec))/0x6+parseInt(_0x45af27(0x1f6))/0x7+parseInt(_0x45af27(0x1e9))/0x8*(parseInt(_0x45af27(0x201))/0x9);if(_0x57aa38===_0x4c68e7)break;else _0x414d7f['push'](_0x414d7f['shift']());}catch(_0x3b4ac7){_0x414d7f['push'](_0x414d7f['shift']());}}}(_0x222c,0x5c26d));function _0x5aed(_0x25dba5,_0x178597){_0x25dba5=_0x25dba5-0x1e8;const _0x222c11=_0x222c();let _0x5aedd6=_0x222c11[_0x25dba5];return _0x5aedd6;}function _0x222c(){const _0x4e2e04=['337069CqYQRe','189EaWDmo','fNbsQ','121288Zfhtvp','SXoyg','15904yqkeZi','3110172aHHVkF','filter','currentSessionId','sessionId','ceuFb','zzkiE','incomplete','trackCommandStart','closed','3295565MmaCvP','2551388hmpnuL','log','blocked','327eRlTpN','featureId','verification_in_progress','checklistItems','699696buSYBa','status','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'];_0x222c=function(){return _0x4e2e04;};return _0x222c();}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(_0x3747de){const _0x29fac1=_0x5aed,_0x3710e1={'LwpiG':function(_0x15b6ad,_0x4f669b){return _0x15b6ad&&_0x4f669b;},'SXoyg':'Stop','bprPO':function(_0x3c4d35,_0x2fece3){return _0x3c4d35&&_0x2fece3;},'kqhlm':function(_0x11c5a4,_0x4a8af6,_0x3cc713){return _0x11c5a4(_0x4a8af6,_0x3cc713);},'zzkiE':function(_0x9426c3,_0x31519b,_0x4b081d,_0x4efef8){return _0x9426c3(_0x31519b,_0x4b081d,_0x4efef8);}},_0x63d1ea=await getEnabledHookContext(_0x3747de),_0x1d0123=_0x63d1ea?.['sessionId']??null;let _0x3d3169=!![];if(!_0x1d0123){await trackStop(_0x1d0123,![],_0x3d3169);return;}try{const _0x4ac75a=getSessionEntry(_0x1d0123);if(!_0x4ac75a){await trackStop(_0x1d0123,!![],_0x3d3169);return;}const _0x60c779=await getToken(),_0x1c071e='https://dashboard.ranger.net/features/'+_0x4ac75a['featureId'];let _0x2512d9=null,_0xb02f55=![],_0x1fdc0f=![];if(_0x60c779)try{const _0x41d1ea=await getFeature(_0x4ac75a[_0x29fac1(0x1fa)]);_0x2512d9=_0x41d1ea[_0x29fac1(0x1ee)]??null;const _0x1b34ac=_0x41d1ea[_0x29fac1(0x1fc)][_0x29fac1(0x1ed)](_0x2617eb=>_0x2617eb[_0x29fac1(0x1ef)]===_0x2512d9);_0xb02f55=_0x1b34ac['some'](_0x19f9da=>_0x19f9da[_0x29fac1(0x1fe)]!=='verified'&&_0x19f9da['status']!==_0x29fac1(0x1f8)&&_0x19f9da['status']!==_0x29fac1(0x1f4)&&_0x19f9da[_0x29fac1(0x1fe)]!==_0x29fac1(0x1f2)),_0x1fdc0f=_0x1b34ac['some'](_0x327139=>_0x327139['status']===_0x29fac1(0x1fb));}catch{}if(_0x3710e1['LwpiG'](_0x60c779,_0x2512d9)&&_0xb02f55){if(!_0x1fdc0f&&shouldShowStopReminder(_0x1d0123)){const _0x11c81b={'hookSpecificOutput':{'hookEventName':_0x3710e1[_0x29fac1(0x1ea)],'additionalContext':_0x29fac1(0x1ff)+_0x1c071e}};console[_0x29fac1(0x1f7)](JSON['stringify'](_0x11c81b));}}if(_0x3710e1['bprPO'](_0x60c779,_0x2512d9)&&!_0xb02f55)try{await _0x3710e1['kqhlm'](concludeSession,_0x4ac75a[_0x29fac1(0x1fa)],_0x2512d9);}catch{}await _0x3710e1[_0x29fac1(0x1f1)](trackStop,_0x1d0123,!![],_0x3d3169);return;}catch{await trackStop(_0x1d0123,!![],_0x3d3169);return;}}async function trackStop(_0x279b96,_0x34e789,_0x49287b){const _0x53054a=_0x5aed,_0x9dbdca={'fNbsQ':'hook:stop','ceuFb':function(_0x46cf7a,_0x370b00){return _0x46cf7a??_0x370b00;}};try{const _0x221d7b=createTelemetryCollector(_0x9dbdca[_0x53054a(0x1e8)]);await _0x221d7b[_0x53054a(0x1f3)]({'sessionId':_0x9dbdca[_0x53054a(0x1f0)](_0x279b96,undefined),'hooksEnabled':_0x34e789,'stopAllowed':_0x49287b}),await _0x221d7b['trackCommandEnd']('success');}catch{}}
1
+ function _0x12c5(){const _0x137271=['XSxrS','32705872TNKSZG','KvZKP','AWzAp','status','539820QnHCur','stringify','log','blocked','checklistItems','success','closed','7xcwzjc','cksZl','featureId','1160898XpGxkC','https://dashboard.ranger.net/features/','filter','2182380jaTqPH','4787905tDdydx','611898iQknAj','verification_in_progress','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','1136093vdHtBR','dnMTR','some','trackCommandEnd'];_0x12c5=function(){return _0x137271;};return _0x12c5();}(function(_0x2fcdf9,_0x54537d){const _0x150037=_0x35a8,_0x19498=_0x2fcdf9();while(!![]){try{const _0x42d69a=-parseInt(_0x150037(0x140))/0x1+-parseInt(_0x150037(0x138))/0x2+-parseInt(_0x150037(0x13d))/0x3+-parseInt(_0x150037(0x13b))/0x4+-parseInt(_0x150037(0x13c))/0x5+parseInt(_0x150037(0x12e))/0x6+-parseInt(_0x150037(0x135))/0x7*(-parseInt(_0x150037(0x145))/0x8);if(_0x42d69a===_0x54537d)break;else _0x19498['push'](_0x19498['shift']());}catch(_0x28ac7c){_0x19498['push'](_0x19498['shift']());}}}(_0x12c5,0xb8358));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(_0xd6555b){const _0xea68f5=_0x35a8,_0x81ccbe={'XSxrS':function(_0x2f7fd5,_0x2bfa0f,_0x5989aa,_0x55838b){return _0x2f7fd5(_0x2bfa0f,_0x5989aa,_0x55838b);},'dnMTR':function(_0x349629,_0x226512,_0xaf0c6d,_0xa7b992){return _0x349629(_0x226512,_0xaf0c6d,_0xa7b992);},'AWzAp':function(_0x542a2f,_0x390260){return _0x542a2f(_0x390260);},'qGXJU':'Stop','sdGgL':function(_0x61cc1f,_0x119277,_0x3c209e,_0x4045a7){return _0x61cc1f(_0x119277,_0x3c209e,_0x4045a7);},'gZFiv':function(_0x483872,_0x4aeaed,_0xb3a340,_0x2cb324){return _0x483872(_0x4aeaed,_0xb3a340,_0x2cb324);}},_0x557d97=await getEnabledHookContext(_0xd6555b),_0x50ec65=_0x557d97?.['sessionId']??null;let _0x48700d=!![];if(!_0x50ec65){await _0x81ccbe[_0xea68f5(0x144)](trackStop,_0x50ec65,![],_0x48700d);return;}try{const _0x1ec3d2=getSessionEntry(_0x50ec65);if(!_0x1ec3d2){await _0x81ccbe[_0xea68f5(0x141)](trackStop,_0x50ec65,!![],_0x48700d);return;}const _0x472277=await getToken(),_0x16395c=_0xea68f5(0x139)+_0x1ec3d2[_0xea68f5(0x137)];let _0x4bb504=null,_0x36fcc4=![],_0x21a044=![];if(_0x472277)try{const _0x5508d6=await _0x81ccbe[_0xea68f5(0x12c)](getFeature,_0x1ec3d2['featureId']);_0x4bb504=_0x5508d6['currentSessionId']??null;const _0x148881=_0x5508d6[_0xea68f5(0x132)][_0xea68f5(0x13a)](_0x15d6b3=>_0x15d6b3['sessionId']===_0x4bb504);_0x36fcc4=_0x148881['some'](_0x5e7068=>_0x5e7068[_0xea68f5(0x12d)]!=='verified'&&_0x5e7068[_0xea68f5(0x12d)]!==_0xea68f5(0x131)&&_0x5e7068[_0xea68f5(0x12d)]!==_0xea68f5(0x134)&&_0x5e7068['status']!=='incomplete'),_0x21a044=_0x148881[_0xea68f5(0x142)](_0x470420=>_0x470420[_0xea68f5(0x12d)]===_0xea68f5(0x13e));}catch{}if(_0x472277&&_0x4bb504&&_0x36fcc4){if(!_0x21a044&&shouldShowStopReminder(_0x50ec65)){const _0x4694e7={'hookSpecificOutput':{'hookEventName':_0x81ccbe['qGXJU'],'additionalContext':_0xea68f5(0x13f)+_0x16395c}};console[_0xea68f5(0x130)](JSON[_0xea68f5(0x12f)](_0x4694e7));}}if(_0x472277&&_0x4bb504&&!_0x36fcc4)try{await concludeSession(_0x1ec3d2[_0xea68f5(0x137)],_0x4bb504);}catch{}await _0x81ccbe['sdGgL'](trackStop,_0x50ec65,!![],_0x48700d);return;}catch{await _0x81ccbe['gZFiv'](trackStop,_0x50ec65,!![],_0x48700d);return;}}function _0x35a8(_0x2f97db,_0x10193f){_0x2f97db=_0x2f97db-0x12c;const _0x12c51a=_0x12c5();let _0x35a8f2=_0x12c51a[_0x2f97db];return _0x35a8f2;}async function trackStop(_0x2592b6,_0x2d738f,_0x13b827){const _0x17e3e9=_0x35a8,_0x8d75d9={'cksZl':function(_0x1da8a7,_0x3ea834){return _0x1da8a7(_0x3ea834);},'KvZKP':'hook:stop'};try{const _0x23c46e=_0x8d75d9[_0x17e3e9(0x136)](createTelemetryCollector,_0x8d75d9[_0x17e3e9(0x146)]);await _0x23c46e['trackCommandStart']({'sessionId':_0x2592b6??undefined,'hooksEnabled':_0x2d738f,'stopAllowed':_0x13b827}),await _0x23c46e[_0x17e3e9(0x143)](_0x17e3e9(0x133));}catch{}}
@@ -1 +1 @@
1
- (function(_0x1dc0e6,_0x3e206c){var _0x5da56c=_0x595a,_0x3856ef=_0x1dc0e6();while(!![]){try{var _0x66424d=parseInt(_0x5da56c(0x18b))/0x1*(parseInt(_0x5da56c(0x186))/0x2)+parseInt(_0x5da56c(0x187))/0x3+-parseInt(_0x5da56c(0x18c))/0x4+parseInt(_0x5da56c(0x18d))/0x5*(parseInt(_0x5da56c(0x188))/0x6)+-parseInt(_0x5da56c(0x185))/0x7*(-parseInt(_0x5da56c(0x189))/0x8)+parseInt(_0x5da56c(0x18a))/0x9*(parseInt(_0x5da56c(0x184))/0xa)+-parseInt(_0x5da56c(0x183))/0xb;if(_0x66424d===_0x3e206c)break;else _0x3856ef['push'](_0x3856ef['shift']());}catch(_0xc0273){_0x3856ef['push'](_0x3856ef['shift']());}}}(_0x460e,0x69c7f));export{addEnv}from'./addEnv.js';function _0x595a(_0x55dc70,_0x3c3b9e){_0x55dc70=_0x55dc70-0x183;var _0x460ecb=_0x460e();var _0x595a12=_0x460ecb[_0x55dc70];return _0x595a12;}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x460e(){var _0x1e6d4d=['110hsqkDF','278467szfVHS','74GLicol','2008107vmaMDR','90210AaodQu','152BZHfVO','281097mYkhWw','19621zttJUh','3441856kVtaHx','110Kftmti','16849525OHiCiL'];_0x460e=function(){return _0x1e6d4d;};return _0x460e();}export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
1
+ (function(_0x117280,_0x13d396){var _0x15b1bb=_0x4d35,_0x202454=_0x117280();while(!![]){try{var _0x202203=parseInt(_0x15b1bb(0x135))/0x1*(parseInt(_0x15b1bb(0x13d))/0x2)+-parseInt(_0x15b1bb(0x138))/0x3+parseInt(_0x15b1bb(0x136))/0x4*(parseInt(_0x15b1bb(0x137))/0x5)+parseInt(_0x15b1bb(0x134))/0x6+-parseInt(_0x15b1bb(0x13a))/0x7+parseInt(_0x15b1bb(0x13c))/0x8+parseInt(_0x15b1bb(0x13b))/0x9*(-parseInt(_0x15b1bb(0x139))/0xa);if(_0x202203===_0x13d396)break;else _0x202454['push'](_0x202454['shift']());}catch(_0x1d6fd6){_0x202454['push'](_0x202454['shift']());}}}(_0x1ac5,0xf1799));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x1ac5(){var _0x3064d2=['2536023bFotPg','16899430suLPpC','7131040mlvNOg','9zwCkPH','6804304SbElgJ','4TgKpqc','9892506nLweSr','67908vpubHA','200840HpDomO','190LMqtcr'];_0x1ac5=function(){return _0x3064d2;};return _0x1ac5();}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';function _0x4d35(_0x253893,_0x412e3a){_0x253893=_0x253893-0x134;var _0x1ac501=_0x1ac5();var _0x4d35a7=_0x1ac501[_0x253893];return _0x4d35a7;}export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
@@ -1 +1 @@
1
- function _0x1d24(){const _0x1f6946=['11nAFbhs','6667938bnxOAg','1533536HZbZXv','message','log','156tifxIJ','72gjiFcM','42oEvSwa','isTTY','212785StPksD','773704Zgyuou','prrEa','user','3925460dfUqYS','120148DkPuxh','1211536gHTLKv','organizationName','stdout','\x0a✅\x20Logged\x20in\x20to\x20'];_0x1d24=function(){return _0x1f6946;};return _0x1d24();}(function(_0x208449,_0x3fbf0b){const _0x609f57=_0x6ce5,_0x3306ed=_0x208449();while(!![]){try{const _0x20ff82=parseInt(_0x609f57(0x94))/0x1+parseInt(_0x609f57(0x8e))/0x2+parseInt(_0x609f57(0x97))/0x3*(-parseInt(_0x609f57(0x8d))/0x4)+parseInt(_0x609f57(0x88))/0x5*(-parseInt(_0x609f57(0x98))/0x6)+parseInt(_0x609f57(0x86))/0x7*(parseInt(_0x609f57(0x89))/0x8)+parseInt(_0x609f57(0x93))/0x9+parseInt(_0x609f57(0x8c))/0xa*(-parseInt(_0x609f57(0x92))/0xb);if(_0x20ff82===_0x3fbf0b)break;else _0x3306ed['push'](_0x3306ed['shift']());}catch(_0x157628){_0x3306ed['push'](_0x3306ed['shift']());}}}(_0x1d24,0xf2fee));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x6ce5(_0x1f5eb6,_0x173f24){_0x1f5eb6=_0x1f5eb6-0x86;const _0x1d247c=_0x1d24();let _0x6ce547=_0x1d247c[_0x1f5eb6];return _0x6ce547;}export async function login(){const _0x743db6=_0x6ce5,_0x349960={'prrEa':function(_0x41b040){return _0x41b040();},'JNHYk':function(_0x178033,_0x1cadac){return _0x178033(_0x1cadac);}},_0x23ccbd=await getMcpAuthOrigin();if(_0x23ccbd){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}const _0xafcbf5=process['stdin'][_0x743db6(0x87)]&&process[_0x743db6(0x90)][_0x743db6(0x87)];if(!_0xafcbf5)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x598c43=await _0x349960[_0x743db6(0x8a)](runDeviceAuthFlow),_0x351646=await _0x349960['JNHYk'](getCurrentUser,_0x598c43);_0x351646['success']?console[_0x743db6(0x96)](_0x743db6(0x91)+_0x351646[_0x743db6(0x8b)][_0x743db6(0x8f)]):console['log']('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x328358){throw new Error('Login\x20failed:\x20'+(_0x328358 instanceof Error?_0x328358[_0x743db6(0x95)]:_0x328358));}}
1
+ (function(_0x2c9922,_0x2f8429){const _0xc96c1f=_0x1393,_0x5ecdb2=_0x2c9922();while(!![]){try{const _0x18d3a9=parseInt(_0xc96c1f(0x73))/0x1*(parseInt(_0xc96c1f(0x7e))/0x2)+-parseInt(_0xc96c1f(0x7a))/0x3+parseInt(_0xc96c1f(0x75))/0x4+parseInt(_0xc96c1f(0x7c))/0x5*(parseInt(_0xc96c1f(0x77))/0x6)+-parseInt(_0xc96c1f(0x70))/0x7+parseInt(_0xc96c1f(0x76))/0x8+parseInt(_0xc96c1f(0x82))/0x9*(-parseInt(_0xc96c1f(0x7d))/0xa);if(_0x18d3a9===_0x2f8429)break;else _0x5ecdb2['push'](_0x5ecdb2['shift']());}catch(_0x2e937d){_0x5ecdb2['push'](_0x5ecdb2['shift']());}}}(_0x5342,0xab273));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';function _0x5342(){const _0x122ff9=['60TAYXMK','stdin','\x0a✅\x20API\x20key\x20stored\x20successfully','2743245gSDYfw','Re-authenticating\x20via\x20MCP\x20bootstrap...','40435mxhBYQ','2575570bKkMOS','1123132iEyedr','Login\x20failed:\x20','isTTY','jgebq','27QJkXox','user','message','wcDZo','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','2415679TKmihT','UGhmn','organizationName','1nWTeFB','log','5257484KCKlEL','6211352urCRoF'];_0x5342=function(){return _0x122ff9;};return _0x5342();}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x1393(_0x1ea227,_0x439368){_0x1ea227=_0x1ea227-0x6c;const _0x53421f=_0x5342();let _0x13932e=_0x53421f[_0x1ea227];return _0x13932e;}export async function login(){const _0x1bdacb=_0x1393,_0x8a0490={'UGhmn':function(_0x2346fc,_0x4afe1e){return _0x2346fc(_0x4afe1e);},'wcDZo':_0x1bdacb(0x79),'jgebq':function(_0x3e4a02,_0x4f4b67){return _0x3e4a02 instanceof _0x4f4b67;}},_0x2659c8=await getMcpAuthOrigin();if(_0x2659c8){console[_0x1bdacb(0x74)](_0x1bdacb(0x7b)),await mcpBootstrap();return;}const _0x2a7135=process[_0x1bdacb(0x78)]['isTTY']&&process['stdout'][_0x1bdacb(0x80)];if(!_0x2a7135)throw new Error(_0x1bdacb(0x6f));try{const _0x2ea56b=await runDeviceAuthFlow(),_0x4e616d=await _0x8a0490[_0x1bdacb(0x71)](getCurrentUser,_0x2ea56b);_0x4e616d['success']?console[_0x1bdacb(0x74)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x4e616d[_0x1bdacb(0x6c)][_0x1bdacb(0x72)]):console[_0x1bdacb(0x74)](_0x8a0490[_0x1bdacb(0x6e)]);}catch(_0xffac8e){throw new Error(_0x1bdacb(0x7f)+(_0x8a0490[_0x1bdacb(0x81)](_0xffac8e,Error)?_0xffac8e[_0x1bdacb(0x6d)]:_0xffac8e));}}
@@ -1 +1 @@
1
- const _0x400ccc=_0x114e;(function(_0x1a85f5,_0xa391b1){const _0x484d93=_0x114e,_0x8ca015=_0x1a85f5();while(!![]){try{const _0x22445d=-parseInt(_0x484d93(0xdb))/0x1+parseInt(_0x484d93(0x140))/0x2+parseInt(_0x484d93(0x10b))/0x3*(parseInt(_0x484d93(0x11b))/0x4)+parseInt(_0x484d93(0x124))/0x5*(-parseInt(_0x484d93(0x117))/0x6)+parseInt(_0x484d93(0x11f))/0x7*(-parseInt(_0x484d93(0xef))/0x8)+parseInt(_0x484d93(0xd0))/0x9+parseInt(_0x484d93(0x105))/0xa*(parseInt(_0x484d93(0xbe))/0xb);if(_0x22445d===_0xa391b1)break;else _0x8ca015['push'](_0x8ca015['shift']());}catch(_0xffdbd5){_0x8ca015['push'](_0x8ca015['shift']());}}}(_0x4135,0x63852));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0x4135(){const _0x20eb89=['bRjeF','WQRIG','583cKYBps','FlcJB','accessToken','slice','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','end','cYnhw','vEtbN','close','writeHead','PNQSs','127.0.0.1','MspSs','EGVwn','CwMbv','application/json','Discovering\x20authorization\x20server...','client_id','158364PbCelA','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','type','result','POST','.ranger','QGgKn','Client\x20registration\x20failed:\x20','TVDup','utf-8','stringify','774865pGzHce','resource','then','registration_endpoint','eIbGs','1.0.0','RzlWE','MCP\x20initialize\x20failed:\x20','rGkim','token','text','KIfZf','access_token','text/event-stream','ytKHo','isError','searchParams','tools/call','status','jJGoh','102920sWKcNF','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','content','clientId','startsWith','cEOCO','nGOae','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','uNPBR','now','client_secret','error','dLjri','eQSPo','Exchanging\x20authorization\x20code...','NoUxV','BjMDi','GPcLO','<html><body><h2>Authentication\x20failed</h2><p>','application/json,\x20text/event-stream','get','message','175050aMHnuH','clientSecret','HTTP\x20','notifications/initialized','\x0aToken\x20written\x20to\x20','write','3489wIHosc','zSAfn','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','ZQnIC','url','WXKUP','code','set','http://localhost:','ranger-cli','redirect_uri','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','6tkJxMb','refreshToken','pathname','ZuYQK','2108PHfkEC','oszUk','Bearer\x20','ZSabB','133HGobtD','refresh.txt','replace','initialize','update','2497535HkuJWC','OAuth\x20error:\x20','Token\x20exchange\x20failed:\x20','mcp-oauth-tokens.json','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','PgAcU','iSGuy','state','structuredContent','stdout','platform','/.well-known/oauth-protected-resource','log','kgLbc','open','YJZDL','application/x-www-form-urlencoded','nGCtH','oGRUV','listen','hOJNZ','expires_in','json','get_cli_token\x20failed:\x20','2025-03-26','auth-origin.txt','trim','2.0','736358afIiPL','uAayy','pCMrI','parse','KYRyt','VeUkC','oprqC','\x20done','MCP\x20server\x20returned\x20HTTP\x20','isThZ','origin','/callback','eMZBT','JUJLz','name','cWeMA','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','ofJiH','Requesting\x20CLI\x20token...','yljsZ','HKSGH'];_0x4135=function(){return _0x20eb89;};return _0x4135();}import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x400ccc(0xd5),_0x400ccc(0x127)),AUTH_ORIGIN_PATH=join(homedir(),_0x400ccc(0xd5),_0x400ccc(0x13d));export async function getMcpAuthOrigin(){const _0x14a904=_0x400ccc;try{const _0x95070=(await readFile(AUTH_ORIGIN_PATH,_0x14a904(0xd9)))[_0x14a904(0x13e)]();return _0x95070||null;}catch{return null;}}export async function mcpBootstrap(){const _0x8ad7c7=_0x400ccc,_0x4f2494={'UtTYo':function(_0x526200,_0x543042){return _0x526200(_0x543042);},'ypQCS':function(_0xfc6dc7,_0x20ab3a){return _0xfc6dc7===_0x20ab3a;},'PgAcU':function(_0x285ccc){return _0x285ccc();},'MspSs':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a'},_0x431fd2=getMcpAuthUrl();currentOrigin=_0x431fd2;const _0x2ef342=process['stdout']['isTTY']??![];console['log']('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x431fd2+'\x0a');const _0x258cc7=await _0x4f2494['UtTYo'](tryUnauthenticated,_0x431fd2);let _0x39f3c2=null;if(_0x4f2494['ypQCS'](_0x258cc7,'proxied'))_0x39f3c2='';else{_0x39f3c2=await _0x4f2494[_0x8ad7c7(0x129)](loadCachedToken);if(!_0x39f3c2){if(!_0x2ef342)throw new Error(_0x4f2494[_0x8ad7c7(0xca)]+_0x8ad7c7(0x116));_0x39f3c2=await oauthFlow(_0x431fd2);}}await callGetCliToken(_0x431fd2,_0x39f3c2);}async function tryUnauthenticated(_0x3a274a){const _0x1341ab=_0x400ccc,_0x36325b={'nGOae':function(_0x135b7c,_0x5534ea,_0x456f29){return _0x135b7c(_0x5534ea,_0x456f29);},'uAayy':_0x1341ab(0xcd),'jqGfc':_0x1341ab(0x102),'dIMxU':_0x1341ab(0x122),'oszUk':_0x1341ab(0x13c),'ilvqG':_0x1341ab(0x114),'ZYryP':_0x1341ab(0xe0),'ZuYQK':'proxied','qrETO':function(_0x40c4d6,_0x556760){return _0x40c4d6===_0x556760;}},_0x479364=await _0x36325b[_0x1341ab(0xf5)](fetch,_0x3a274a,{'method':'POST','headers':{'Content-Type':_0x36325b[_0x1341ab(0x141)],'Accept':_0x36325b['jqGfc']},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x36325b['dIMxU'],'params':{'protocolVersion':_0x36325b[_0x1341ab(0x11c)],'capabilities':{},'clientInfo':{'name':_0x36325b['ilvqG'],'version':_0x36325b['ZYryP']}}})});if(_0x479364['ok'])return await _0x479364[_0x1341ab(0xe5)](),_0x36325b[_0x1341ab(0x11a)];if(_0x36325b['qrETO'](_0x479364['status'],0x191))return await _0x479364['text'](),'needs-oauth';const _0x4eec23=await _0x479364['text']();throw new Error(_0x1341ab(0x148)+_0x479364[_0x1341ab(0xed)]+':\x20'+_0x4eec23);}class OAuthTimeoutError extends Error{constructor(_0x444dcf){const _0x2091d1=_0x400ccc,_0x467267={'PNQSs':'OAuthTimeoutError'};super(_0x444dcf),this[_0x2091d1(0xb5)]=_0x467267[_0x2091d1(0xc8)];}}async function oauthFlow(_0x351b46){const _0x37c7d3=_0x400ccc,_0x21a8b3={'RtVIb':function(_0x226d26,_0x569a66){return _0x226d26(_0x569a66);},'qpfmA':function(_0x4bc4af,_0xb2e510){return _0x4bc4af instanceof _0xb2e510;},'uNPBR':'\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','ofJiH':function(_0x4eb35b){return _0x4eb35b();}};try{return await _0x21a8b3['RtVIb'](oauthFlowAttempt,_0x351b46);}catch(_0x278eb2){if(_0x21a8b3['qpfmA'](_0x278eb2,OAuthTimeoutError)&&await loadCachedClient())return console['log'](_0x21a8b3[_0x37c7d3(0xf7)]),await _0x21a8b3[_0x37c7d3(0xb8)](clearCachedClient),await oauthFlowAttempt(_0x351b46);throw _0x278eb2;}}async function oauthFlowAttempt(_0x291b3a){const _0x3fb818=_0x400ccc,_0x3ca172={'kgLbc':function(_0x2d1851,_0xb0abc1){return _0x2d1851(_0xb0abc1);},'pMtyn':function(_0xb75901,_0x4efc3d,_0x2ebf1d){return _0xb75901(_0x4efc3d,_0x2ebf1d);},'TVDup':_0x3fb818(0xd4),'QGgKn':_0x3fb818(0xcd),'TJrkp':'authorization_code','isThZ':_0x3fb818(0x111),'LhCUZ':_0x3fb818(0x147),'KmTKk':_0x3fb818(0xc2),'bRjeF':'base64url','vEtbN':'sha256','gecRe':function(_0x4b13d6,_0x3d97f9){return _0x4b13d6(_0x3d97f9);},'JUJLz':'code_challenge','eQSPo':'code_challenge_method','RrLNu':'S256','VeUkC':'resource','LzWTj':'\x0aOpening\x20browser\x20for\x20authentication...','KQWRk':_0x3fb818(0xfd),'WBYFM':'client_secret','iSGuy':_0x3fb818(0x134)},_0x4944d0=_0x291b3a[_0x3fb818(0x121)](/\/mcp$/,'');process[_0x3fb818(0x12d)][_0x3fb818(0x10a)](_0x3fb818(0xce));const _0x1c084f=await _0x3ca172[_0x3fb818(0x131)](fetch,_0x4944d0+_0x3fb818(0x12f));if(!_0x1c084f['ok'])throw new Error(_0x3fb818(0x128));const _0x47e0e4=await _0x1c084f['json'](),_0x3e6a6e=_0x47e0e4['authorization_servers']?.[0x0];if(!_0x3e6a6e)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x3e6a6e);const _0x4fa9a6=await fetchAuthServerMetadata(_0x3e6a6e);let _0x2599df,_0x387c57;const _0x44555c=await loadCachedClient();if(_0x44555c)_0x2599df=_0x44555c['clientId'],_0x387c57=_0x44555c[_0x3fb818(0x106)];else{if(_0x4fa9a6['registration_endpoint']){process['stdout'][_0x3fb818(0x10a)]('Registering\x20OAuth\x20client...');const _0x466c1=await _0x3ca172['pMtyn'](fetch,_0x4fa9a6[_0x3fb818(0xde)],{'method':_0x3ca172[_0x3fb818(0xd8)],'headers':{'Content-Type':_0x3ca172[_0x3fb818(0xd6)]},'body':JSON[_0x3fb818(0xda)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+'/callback'],'grant_types':[_0x3ca172['TJrkp'],'refresh_token'],'response_types':[_0x3ca172[_0x3fb818(0x149)]],'token_endpoint_auth_method':'none'})});if(!_0x466c1['ok']){const _0x106881=await _0x466c1['text']();throw new Error(_0x3fb818(0xd7)+_0x106881);}const _0xe4944d=await _0x466c1['json']();_0x2599df=_0xe4944d[_0x3fb818(0xcf)],_0x387c57=_0xe4944d[_0x3fb818(0xf9)],await _0x3ca172['pMtyn'](saveCachedClient,_0x2599df,_0x387c57),console['log'](_0x3ca172['LhCUZ']);}else throw new Error(_0x3ca172['KmTKk']);}const _0x45f742=randomBytes(0x20)['toString'](_0x3ca172[_0x3fb818(0xbc)]),_0x24af44=createHash(_0x3ca172[_0x3fb818(0xc5)])[_0x3fb818(0x123)](_0x45f742)['digest']('base64url'),_0x49730c=_0x3ca172['gecRe'](randomBytes,0x10)['toString']('hex'),_0x28c261=new URL(_0x4fa9a6['authorization_endpoint']);_0x28c261[_0x3fb818(0xeb)]['set']('response_type',_0x3ca172['isThZ']),_0x28c261[_0x3fb818(0xeb)]['set'](_0x3fb818(0xcf),_0x2599df),_0x28c261[_0x3fb818(0xeb)][_0x3fb818(0x112)](_0x3fb818(0x115),_0x3fb818(0x113)+CALLBACK_PORT+_0x3fb818(0xb2)),_0x28c261['searchParams'][_0x3fb818(0x112)](_0x3ca172[_0x3fb818(0xb4)],_0x24af44),_0x28c261[_0x3fb818(0xeb)][_0x3fb818(0x112)](_0x3ca172[_0x3fb818(0xfc)],_0x3ca172['RrLNu']),_0x28c261['searchParams']['set'](_0x3fb818(0x12b),_0x49730c);_0x47e0e4[_0x3fb818(0xdc)]&&_0x28c261['searchParams']['set'](_0x3ca172['VeUkC'],_0x47e0e4[_0x3fb818(0xdc)]);console[_0x3fb818(0x130)](_0x3ca172['LzWTj']),console['log'](_0x3fb818(0xd1)+_0x28c261['toString']()+'\x0a'),await openBrowser(_0x28c261['toString']());const _0x6e6c43=await waitForCallback(_0x49730c);process[_0x3fb818(0x12d)][_0x3fb818(0x10a)](_0x3ca172['KQWRk']);const _0x2183e0=new URLSearchParams({'grant_type':_0x3ca172['TJrkp'],'code':_0x6e6c43,'redirect_uri':_0x3fb818(0x113)+CALLBACK_PORT+_0x3fb818(0xb2),'client_id':_0x2599df,'code_verifier':_0x45f742});_0x387c57&&_0x2183e0[_0x3fb818(0x112)](_0x3ca172['WBYFM'],_0x387c57);_0x47e0e4[_0x3fb818(0xdc)]&&_0x2183e0['set'](_0x3ca172[_0x3fb818(0x145)],_0x47e0e4['resource']);const _0x3fb7bb=await fetch(_0x4fa9a6['token_endpoint'],{'method':_0x3ca172['TVDup'],'headers':{'Content-Type':_0x3ca172[_0x3fb818(0x12a)]},'body':_0x2183e0});if(!_0x3fb7bb['ok']){const _0x569c9e=await _0x3fb7bb[_0x3fb818(0xe5)]();throw new Error(_0x3fb818(0x126)+_0x569c9e);}const _0x36c539=await _0x3fb7bb[_0x3fb818(0x13a)]();return console['log'](_0x3ca172['LhCUZ']),await saveCachedToken(_0x36c539[_0x3fb818(0xe7)],_0x36c539['refresh_token'],_0x36c539[_0x3fb818(0x139)]),_0x36c539[_0x3fb818(0xe7)];}async function callGetCliToken(_0x41c26b,_0x3f7002){const _0x25204e=_0x400ccc,_0x384640={'RWEwI':function(_0x2d857a,_0x2d8428,_0x33afd1){return _0x2d857a(_0x2d8428,_0x33afd1);},'IPVkb':function(_0x414e1e,_0x36f992){return _0x414e1e(_0x36f992);},'jJGoh':'Authorization','BjMDi':function(_0x39abac,_0x10ee93){return _0x39abac(_0x10ee93);},'ECfQW':'ranger-cli','Exosl':'1.0.0','cEOCO':_0x25204e(0x147),'MFXXn':function(_0x5682c7,_0x536025,_0x723e41){return _0x5682c7(_0x536025,_0x723e41);},'rOzxS':'2.0','eMZBT':_0x25204e(0xb9),'dLjri':_0x25204e(0xec),'KIfZf':'get_cli_token','ZSabB':function(_0x3f5da6){return _0x3f5da6();},'NoUxV':_0x25204e(0xd5),'GPcLO':function(_0x4dd6c5,_0x4c0342,_0x29668b){return _0x4dd6c5(_0x4c0342,_0x29668b);},'zSAfn':_0x25204e(0x120),'eIbGs':function(_0x2e4e1a,_0x5dad84,_0x2dea78){return _0x2e4e1a(_0x5dad84,_0x2dea78);},'ytKHo':function(_0x50dd62,_0x587543,_0x4b3741,_0x4c5255){return _0x50dd62(_0x587543,_0x4b3741,_0x4c5255);},'WxxnT':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x91b093={'Content-Type':_0x25204e(0xcd),'Accept':'application/json,\x20text/event-stream'};_0x3f7002&&(_0x91b093[_0x384640[_0x25204e(0xee)]]=_0x25204e(0x11d)+_0x3f7002);const _0x13572c=async _0x3bc47a=>{const _0x122c3c=_0x25204e,_0x23235b=await _0x384640['RWEwI'](fetch,_0x41c26b,{'method':'POST','headers':_0x91b093,'body':JSON[_0x122c3c(0xda)](_0x3bc47a)});if(!_0x23235b['ok']){const _0x4d29cc=await _0x23235b['text']();throw new Error(_0x122c3c(0x107)+_0x23235b['status']+':\x20'+_0x4d29cc);}return _0x384640['IPVkb'](parseResponse,_0x23235b);};process[_0x25204e(0x12d)][_0x25204e(0x10a)]('Initializing\x20MCP\x20session...');const _0x2c7a10=await _0x384640[_0x25204e(0xff)](_0x13572c,{'jsonrpc':'2.0','id':0x1,'method':_0x25204e(0x122),'params':{'protocolVersion':_0x25204e(0x13c),'capabilities':{},'clientInfo':{'name':_0x384640['ECfQW'],'version':_0x384640['Exosl']}}});if(_0x2c7a10[_0x25204e(0xfa)])throw new Error(_0x25204e(0xe2)+(_0x2c7a10['error']['message']??JSON[_0x25204e(0xda)](_0x2c7a10['error'])));console[_0x25204e(0x130)](_0x384640[_0x25204e(0xf4)]),await _0x384640['MFXXn'](fetch,_0x41c26b,{'method':_0x25204e(0xd4),'headers':_0x91b093,'body':JSON[_0x25204e(0xda)]({'jsonrpc':_0x384640['rOzxS'],'method':_0x25204e(0x108)})})[_0x25204e(0xdd)](_0x149a20=>_0x149a20[_0x25204e(0xe5)]()),process['stdout']['write'](_0x384640[_0x25204e(0xb3)]);const _0x56ed90=await _0x13572c({'jsonrpc':_0x25204e(0x13f),'id':0x2,'method':_0x384640[_0x25204e(0xfb)],'params':{'name':_0x384640[_0x25204e(0xe6)],'arguments':{}}});if(_0x56ed90['error'])throw new Error(_0x25204e(0x13b)+(_0x56ed90['error'][_0x25204e(0x104)]??JSON['stringify'](_0x56ed90['error'])));console[_0x25204e(0x130)](_0x384640['cEOCO']);const _0x339280=extractToken(_0x56ed90[_0x25204e(0xd3)]);if(!_0x339280){console['error']('\x0aUnexpected\x20response\x20structure:'),console[_0x25204e(0xfa)](JSON['stringify'](_0x56ed90['result'],null,0x2));throw new Error(_0x25204e(0xf0));}const _0x5a9c43=join(_0x384640[_0x25204e(0x11e)](homedir),_0x384640[_0x25204e(0xfe)]),_0x4a5cb7=_0x384640[_0x25204e(0x100)](join,_0x5a9c43,_0x384640[_0x25204e(0x10c)]);await _0x384640[_0x25204e(0xdf)](mkdir,_0x5a9c43,{'recursive':!![]}),await _0x384640[_0x25204e(0xe9)](writeFile,_0x4a5cb7,_0x339280,{'mode':0x180}),await _0x384640[_0x25204e(0xe9)](writeFile,join(_0x5a9c43,'auth-origin.txt'),_0x41c26b,{'mode':0x180}),console[_0x25204e(0x130)](_0x25204e(0x109)+_0x4a5cb7),console[_0x25204e(0x130)](_0x384640['WxxnT']);}async function fetchAuthServerMetadata(_0x455cce){const _0x257314=_0x400ccc,_0x54a7d1={'yHqrW':function(_0x35b049,_0x53628a){return _0x35b049(_0x53628a);}},_0x54dcae=_0x455cce+'/.well-known/oauth-authorization-server',_0x258cec=await _0x54a7d1['yHqrW'](fetch,_0x54dcae);if(!_0x258cec['ok'])throw new Error(_0x257314(0xb7)+_0x54dcae+':\x20'+_0x258cec['status']);return _0x258cec[_0x257314(0x13a)]();}function waitForCallback(_0x4d1297){const _0x5b8da7=_0x400ccc,_0x12f5c4={'WXKUP':function(_0x4c4ad1,_0x221d77){return _0x4c4ad1(_0x221d77);},'uhkRR':function(_0x4acffa,_0x20fcbf){return _0x4acffa!==_0x20fcbf;},'VnYAo':_0x5b8da7(0x111),'WQRIG':'text/html','hPnPt':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','EGVwn':_0x5b8da7(0xc9)};return new Promise((_0x5e2eaf,_0x12b66f)=>{const _0x578ff7=_0x5b8da7,_0x255fc0={'JGZES':function(_0x1e54b9,_0x1026b1){return _0x12f5c4['WXKUP'](_0x1e54b9,_0x1026b1);},'YJZDL':_0x578ff7(0xf6),'tdsum':function(_0x36bce8,_0x375c84){return _0x12f5c4['uhkRR'](_0x36bce8,_0x375c84);},'RzlWE':_0x578ff7(0xb2),'oBIJS':'Not\x20found','WYfKT':_0x12f5c4['VnYAo'],'cYnhw':_0x578ff7(0xfa),'UVhMz':'error_description','oprqC':_0x12f5c4[_0x578ff7(0xbd)],'tEJQL':function(_0xe45bad,_0x1abc3c){return _0xe45bad(_0x1abc3c);},'pCMrI':function(_0x558055,_0x4a3d05){return _0x558055(_0x4a3d05);},'cGHTq':function(_0x1426ef,_0x16d4db){return _0x1426ef!==_0x16d4db;},'UxKMW':_0x12f5c4['hPnPt']},_0x1103b8=setTimeout(()=>{const _0x480936=_0x578ff7;_0x5d6616['close'](),_0x255fc0['JGZES'](_0x12b66f,new OAuthTimeoutError(_0x255fc0[_0x480936(0x133)]));},0x1d4c0),_0x5d6616=_0x12f5c4[_0x578ff7(0x110)](createServer,(_0x80bc39,_0x190690)=>{const _0x21f271=_0x578ff7,_0x2f1a22=new URL(_0x80bc39[_0x21f271(0x10f)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x255fc0['tdsum'](_0x2f1a22[_0x21f271(0x119)],_0x255fc0[_0x21f271(0xe1)])){_0x190690[_0x21f271(0xc7)](0x194),_0x190690['end'](_0x255fc0['oBIJS']);return;}const _0x256e97=_0x2f1a22[_0x21f271(0xeb)][_0x21f271(0x103)](_0x255fc0['WYfKT']),_0x397bb5=_0x2f1a22['searchParams'][_0x21f271(0x103)]('state'),_0x4a39a9=_0x2f1a22['searchParams'][_0x21f271(0x103)](_0x255fc0[_0x21f271(0xc4)]);if(_0x4a39a9){const _0x1a5e75=_0x2f1a22['searchParams'][_0x21f271(0x103)](_0x255fc0['UVhMz'])??_0x4a39a9;_0x190690['writeHead'](0xc8,{'Content-Type':_0x255fc0['oprqC']}),_0x190690[_0x21f271(0xc3)](_0x21f271(0x101)+_0x1a5e75+_0x21f271(0x10d)),_0x255fc0['tEJQL'](clearTimeout,_0x1103b8),_0x5d6616[_0x21f271(0xc6)](),_0x255fc0[_0x21f271(0x142)](_0x12b66f,new Error(_0x21f271(0x125)+_0x1a5e75));return;}if(!_0x256e97||_0x255fc0['cGHTq'](_0x397bb5,_0x4d1297)){_0x190690[_0x21f271(0xc7)](0x190,{'Content-Type':_0x255fc0[_0x21f271(0x146)]}),_0x190690['end'](_0x255fc0['UxKMW']);return;}_0x190690[_0x21f271(0xc7)](0xc8,{'Content-Type':_0x255fc0['oprqC']}),_0x190690['end']('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),clearTimeout(_0x1103b8),_0x5d6616['close'](),_0x5e2eaf(_0x256e97);});_0x5d6616[_0x578ff7(0x137)](CALLBACK_PORT,_0x12f5c4[_0x578ff7(0xcb)]);});}async function openBrowser(_0x161bc2){const _0x2f62f3=_0x400ccc,_0x1310a3={'KYRyt':'darwin','XeYbI':'win32','CwMbv':'xdg-open'},{exec:_0x30d82c}=await import('child_process'),_0x55a53d=process[_0x2f62f3(0x12e)]===_0x1310a3[_0x2f62f3(0x144)]?_0x2f62f3(0x132):process[_0x2f62f3(0x12e)]===_0x1310a3['XeYbI']?'start':_0x1310a3[_0x2f62f3(0xcc)];_0x30d82c(_0x55a53d+'\x20\x22'+_0x161bc2+'\x22');}function _0x114e(_0x1c5266,_0x360ccc){_0x1c5266=_0x1c5266-0xb1;const _0x413500=_0x4135();let _0x114e7b=_0x413500[_0x1c5266];return _0x114e7b;}let currentOrigin='';async function loadCachedToken(){const _0x56d3d5=_0x400ccc,_0xc4bb6e={'cWeMA':_0x56d3d5(0xd9),'yljsZ':function(_0x537dbd,_0x5245b7){return _0x537dbd>_0x5245b7;}};try{const _0x4fc542=JSON[_0x56d3d5(0x143)](await readFile(TOKEN_CACHE_PATH,_0xc4bb6e[_0x56d3d5(0xb6)]));if(_0x4fc542[_0x56d3d5(0xb1)]&&_0x4fc542['origin']!==currentOrigin)return null;if(_0x4fc542['expiresAt']&&_0xc4bb6e[_0x56d3d5(0xba)](Date['now'](),_0x4fc542['expiresAt']))return null;return _0x4fc542['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x1c22af,_0x46e44f,_0x254677){const _0x40447a=_0x400ccc,_0x573582={'dzhZx':function(_0x33fe34){return _0x33fe34();},'VEQqW':function(_0x2f7d0d,_0x448bad){return _0x2f7d0d+_0x448bad;},'rGkim':function(_0x5dc231,_0x4fc0f0){return _0x5dc231*_0x4fc0f0;},'DiORs':function(_0x26c84d,_0x4f02cb,_0x5504f9){return _0x26c84d(_0x4f02cb,_0x5504f9);},'zLdQL':function(_0x32df0e,_0x469c16,_0x33960c){return _0x32df0e(_0x469c16,_0x33960c);},'TxCeT':function(_0x346676){return _0x346676();}},_0xbbb54=await _0x573582['dzhZx'](loadCachedData),_0x46d8f6={..._0xbbb54,'origin':currentOrigin,'accessToken':_0x1c22af,'refreshToken':_0x46e44f??_0xbbb54?.[_0x40447a(0x118)],'expiresAt':_0x254677?_0x573582['VEQqW'](Date[_0x40447a(0xf8)](),_0x573582[_0x40447a(0xe3)](_0x254677,0x3e8)):undefined};await _0x573582['DiORs'](mkdir,_0x573582['zLdQL'](join,_0x573582['TxCeT'](homedir),_0x40447a(0xd5)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x40447a(0xda)](_0x46d8f6),{'mode':0x180});}async function loadCachedClient(){const _0x5b85c1=_0x400ccc,_0x2b3c9b={'FlcJB':function(_0x3fbe4a){return _0x3fbe4a();}},_0x1e8e5c=await _0x2b3c9b[_0x5b85c1(0xbf)](loadCachedData);if(_0x1e8e5c?.[_0x5b85c1(0xb1)]&&_0x1e8e5c[_0x5b85c1(0xb1)]!==currentOrigin)return null;return _0x1e8e5c?.[_0x5b85c1(0xf2)]?{'clientId':_0x1e8e5c[_0x5b85c1(0xf2)],'clientSecret':_0x1e8e5c['clientSecret']}:null;}async function clearCachedClient(){const _0x684fb9={'LKBpU':function(_0x4c57af,_0x424a6b,_0x5c3ecd,_0x5cb4fb){return _0x4c57af(_0x424a6b,_0x5c3ecd,_0x5cb4fb);}},_0x5849ce=await loadCachedData();if(!_0x5849ce)return;const {clientId:_0x5d4761,clientSecret:_0x49bb7e,..._0x3c43fc}=_0x5849ce;await _0x684fb9['LKBpU'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x3c43fc),{'mode':0x180});}async function saveCachedClient(_0x152dee,_0x34d4e4){const _0x3ab1cf=_0x400ccc,_0xb16d87={'MIwce':function(_0x22bd30){return _0x22bd30();},'jfNkr':function(_0x246239,_0x427676,_0x7502e6){return _0x246239(_0x427676,_0x7502e6);},'oGRUV':'.ranger','hOJNZ':function(_0x2f856f,_0x485e4d,_0x4a53f6,_0x1c5f68){return _0x2f856f(_0x485e4d,_0x4a53f6,_0x1c5f68);}},_0x5dea1f=await _0xb16d87['MIwce'](loadCachedData),_0x100ed2={..._0x5dea1f,'origin':currentOrigin,'accessToken':_0x5dea1f?.[_0x3ab1cf(0xc0)]??'','clientId':_0x152dee,'clientSecret':_0x34d4e4};await mkdir(_0xb16d87['jfNkr'](join,homedir(),_0xb16d87[_0x3ab1cf(0x136)]),{'recursive':!![]}),await _0xb16d87[_0x3ab1cf(0x138)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x100ed2),{'mode':0x180});}async function loadCachedData(){const _0x1a4428=_0x400ccc,_0x5a7134={'weZuv':_0x1a4428(0xd9)};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x5a7134['weZuv']));}catch{return null;}}async function parseResponse(_0x40ad73){const _0x20de13=_0x400ccc,_0x506502={'Xlfyr':'data:','HKSGH':function(_0x331462,_0x329e7c){return _0x331462!==_0x329e7c;}},_0x56e468=_0x40ad73['headers'][_0x20de13(0x103)]('content-type')??'';if(_0x56e468['includes'](_0x20de13(0xe8))){const _0x1b1cbf=await _0x40ad73[_0x20de13(0xe5)]();for(const _0x16d164 of _0x1b1cbf['split']('\x0a')){const _0x31e13a=_0x16d164['trim']();if(_0x31e13a[_0x20de13(0xf3)](_0x506502['Xlfyr'])){const _0x536320=_0x31e13a[_0x20de13(0xc1)](_0x506502['Xlfyr']['length'])[_0x20de13(0x13e)]();if(!_0x536320)continue;try{const _0x2f6481=JSON['parse'](_0x536320);if(_0x506502[_0x20de13(0xbb)](_0x2f6481['id'],undefined)||_0x2f6481['error'])return _0x2f6481;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x40ad73[_0x20de13(0x13a)]();}function extractToken(_0x458b10){const _0x199cde=_0x400ccc,_0x22d220={'nGCtH':function(_0x5f1e06,_0x479163){return _0x5f1e06===_0x479163;},'pSnLQ':'Unknown\x20error','gnxOF':function(_0x283714,_0x1f2a28){return _0x283714===_0x1f2a28;},'ZQnIC':'text'};if(!_0x458b10)return null;const _0x2a01a5=_0x458b10[_0x199cde(0x12c)];if(_0x2a01a5?.['token']&&_0x22d220[_0x199cde(0x135)](typeof _0x2a01a5[_0x199cde(0xe4)],'string'))return _0x2a01a5[_0x199cde(0xe4)];if(_0x458b10[_0x199cde(0xea)]){const _0x4c93c9=_0x458b10['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0x4c93c9?.[0x0]?.['text']??_0x22d220['pSnLQ']));}const _0x14e220=_0x458b10[_0x199cde(0xf1)];if(_0x14e220)for(const _0xfb669e of _0x14e220){if(_0x22d220['gnxOF'](_0xfb669e[_0x199cde(0xd2)],_0x22d220[_0x199cde(0x10e)])&&_0xfb669e['text']){try{const _0xa5a225=JSON['parse'](_0xfb669e[_0x199cde(0xe5)]);if(_0x22d220['gnxOF'](typeof _0xa5a225?.[_0x199cde(0xe4)],'string'))return _0xa5a225[_0x199cde(0xe4)];}catch{}const _0x3dcacb=_0xfb669e['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x3dcacb)return _0x3dcacb[0x1];}}return null;}
1
+ const _0x1b3ae4=_0x361e;(function(_0x456c22,_0x4ab959){const _0x423bbf=_0x361e,_0x577d32=_0x456c22();while(!![]){try{const _0x274203=-parseInt(_0x423bbf(0x121))/0x1*(parseInt(_0x423bbf(0x1a2))/0x2)+-parseInt(_0x423bbf(0x180))/0x3+parseInt(_0x423bbf(0x11e))/0x4*(parseInt(_0x423bbf(0x1a3))/0x5)+parseInt(_0x423bbf(0x14d))/0x6+parseInt(_0x423bbf(0x148))/0x7+-parseInt(_0x423bbf(0x150))/0x8+parseInt(_0x423bbf(0x185))/0x9;if(_0x274203===_0x4ab959)break;else _0x577d32['push'](_0x577d32['shift']());}catch(_0xf90f14){_0x577d32['push'](_0x577d32['shift']());}}}(_0x2d39,0x9e94b));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(),_0x1b3ae4(0x165),_0x1b3ae4(0x135)),AUTH_ORIGIN_PATH=join(homedir(),_0x1b3ae4(0x165),_0x1b3ae4(0x1a4));export async function getMcpAuthOrigin(){const _0xdef061=_0x1b3ae4,_0x455a55={'ZZOjw':function(_0x508a77,_0x41b860,_0x55300f){return _0x508a77(_0x41b860,_0x55300f);},'KVNAq':function(_0x4099f4,_0x48c963){return _0x4099f4||_0x48c963;}};try{const _0x48ea28=(await _0x455a55[_0xdef061(0x17f)](readFile,AUTH_ORIGIN_PATH,_0xdef061(0x11c)))['trim']();return _0x455a55[_0xdef061(0x191)](_0x48ea28,null);}catch{return null;}}export async function mcpBootstrap(){const _0x1b6932=_0x1b3ae4,_0x1f4886={'dAVYV':function(_0x89ec2f){return _0x89ec2f();},'QdKBe':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','xSdXH':_0x1b6932(0x16c)},_0xa65d9f=_0x1f4886['dAVYV'](getMcpAuthUrl);currentOrigin=_0xa65d9f;const _0x4da4d5=process[_0x1b6932(0x195)]['isTTY']??![];console['log'](_0x1b6932(0x12d)+_0xa65d9f+'\x0a');const _0x5de03a=await tryUnauthenticated(_0xa65d9f);let _0x1efcdb=null;if(_0x5de03a==='proxied')_0x1efcdb='';else{_0x1efcdb=await _0x1f4886[_0x1b6932(0x129)](loadCachedToken);if(!_0x1efcdb){if(!_0x4da4d5)throw new Error(_0x1f4886[_0x1b6932(0x152)]+_0x1f4886['xSdXH']);_0x1efcdb=await oauthFlow(_0xa65d9f);}}await callGetCliToken(_0xa65d9f,_0x1efcdb);}async function tryUnauthenticated(_0x1c74b1){const _0x4fe5a=_0x1b3ae4,_0x27325c={'GeYbx':function(_0x5473dd,_0x209cca,_0x4f96c2){return _0x5473dd(_0x209cca,_0x4f96c2);},'WCKtf':'application/json','YJozJ':'application/json,\x20text/event-stream','TmQZh':_0x4fe5a(0x11a),'HhPKO':_0x4fe5a(0x16b)},_0x3105ce=await _0x27325c[_0x4fe5a(0x15f)](fetch,_0x1c74b1,{'method':'POST','headers':{'Content-Type':_0x27325c[_0x4fe5a(0x14a)],'Accept':_0x27325c['YJozJ']},'body':JSON[_0x4fe5a(0x193)]({'jsonrpc':_0x4fe5a(0x137),'id':0x1,'method':_0x27325c['TmQZh'],'params':{'protocolVersion':_0x27325c['HhPKO'],'capabilities':{},'clientInfo':{'name':_0x4fe5a(0x163),'version':_0x4fe5a(0x140)}}})});if(_0x3105ce['ok'])return await _0x3105ce[_0x4fe5a(0x115)](),_0x4fe5a(0x176);if(_0x3105ce[_0x4fe5a(0x14e)]===0x191)return await _0x3105ce[_0x4fe5a(0x115)](),'needs-oauth';const _0xa8e674=await _0x3105ce['text']();throw new Error(_0x4fe5a(0x141)+_0x3105ce[_0x4fe5a(0x14e)]+':\x20'+_0xa8e674);}class OAuthTimeoutError extends Error{constructor(_0x2b9f4f){const _0x3935c7=_0x1b3ae4;super(_0x2b9f4f),this['name']=_0x3935c7(0x13d);}}function _0x2d39(){const _0x5190e3=['728488pqBpOh','CMCvt','QdKBe','SJnSg','refresh.txt','base64url','state','client_id','application/json','smNKy','type','listen','includes','code_challenge','expiresAt','GeYbx','Not\x20found','code_challenge_method','\x20done','ranger-cli','expires_in','.ranger','sha256','end','CysBo','/callback','blWvG','2025-03-26','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','xmTnn','UNsnc','error_description','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','SLweO','mdNRy','write','code','proxied','open','platform','slice','DeqCM','access_token','get_cli_token\x20failed:\x20','refreshToken','Requesting\x20CLI\x20token...','ZZOjw','1004433Iamksr','LplUE','close','bgedF','set','8779401htmdhW','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','resource','POST','Hfxmy','start','origin','Registering\x20OAuth\x20client...','GIyTS','kFNDv','hex','HuqbG','KVNAq','UwyLO','stringify','AUNdF','stdout','tools/call','get_cli_token','message','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','cbiAg','jVXSX','token','XTVYd','error','fsWrc','JbkjH','then','2125342kTHFuA','2075235hFQDcs','auth-origin.txt','now','digest','data:','FWiKz','json','log','sGeUR','result','refresh_token','http://localhost:','string','vRglT','toString','FMKIa','pathname','writeHead','CpWDR','text/event-stream','structuredContent','oPwxp','text','CXUvm','qDFkR','ohQHb','Unknown\x20error','initialize','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','utf-8','content','8QHgFPp','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','HKtfu','1HgGoCj','Jhcyc','clientSecret','xdg-open','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','accessToken','searchParams','darwin','dAVYV','EEWvF','JFBZb','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','cKZwu','nMBpd','authorization_endpoint','\x0aToken\x20written\x20to\x20','HvZBb','application/x-www-form-urlencoded','clientId','mcp-oauth-tokens.json','Token\x20exchange\x20failed:\x20','2.0','client_secret','parse','get','url','split','OAuthTimeoutError','DEvFt','nTOLH','1.0.0','MCP\x20server\x20returned\x20HTTP\x20','ZTdaC','127.0.0.1','InPrZ','text/html','jqiTM','registration_endpoint','108017VeUyLJ','Exchanging\x20authorization\x20code...','WCKtf','ailEV','mDYuu','1902456NvphwG','status','trim'];_0x2d39=function(){return _0x5190e3;};return _0x2d39();}async function oauthFlow(_0x183579){const _0x12b4e5=_0x1b3ae4,_0x4ae87c={'UNsnc':function(_0x187c8c){return _0x187c8c();}};try{return await oauthFlowAttempt(_0x183579);}catch(_0x234e8d){if(_0x234e8d instanceof OAuthTimeoutError&&await _0x4ae87c[_0x12b4e5(0x16e)](loadCachedClient))return console['log'](_0x12b4e5(0x186)),await clearCachedClient(),await oauthFlowAttempt(_0x183579);throw _0x234e8d;}}async function oauthFlowAttempt(_0x1390c5){const _0x56f239=_0x1b3ae4,_0x1f8680={'cbiAg':_0x56f239(0x125),'rjdkf':function(_0x459dc3,_0x3d1e35){return _0x459dc3(_0x3d1e35);},'UwyLO':function(_0x48d11c){return _0x48d11c();},'qDFkR':'Ranger\x20CLI','wlxNj':'refresh_token','ZTdaC':_0x56f239(0x175),'smNKy':'none','CpWDR':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','mDYuu':_0x56f239(0x166),'CWyeT':_0x56f239(0x155),'qgSje':_0x56f239(0x18f),'HKtfu':'response_type','XTVYd':'client_id','VJFfi':_0x56f239(0x15d),'nqfkD':'S256','mdNRy':_0x56f239(0x156),'FWiKz':_0x56f239(0x187),'oPwxp':'\x0aOpening\x20browser\x20for\x20authentication...','zqtSM':function(_0x586cf0,_0x29f6fa){return _0x586cf0(_0x29f6fa);},'CMCvt':function(_0x2d36ce,_0x164321,_0xaed877,_0x12e30e){return _0x2d36ce(_0x164321,_0xaed877,_0x12e30e);}},_0xf958a6=_0x1390c5['replace'](/\/mcp$/,'');process[_0x56f239(0x195)]['write']('Discovering\x20authorization\x20server...');const _0x43cf39=await fetch(_0xf958a6+'/.well-known/oauth-protected-resource');if(!_0x43cf39['ok'])throw new Error(_0x1f8680[_0x56f239(0x19a)]);const _0x1a8e83=await _0x43cf39['json'](),_0x473f0d=_0x1a8e83['authorization_servers']?.[0x0];if(!_0x473f0d)throw new Error(_0x56f239(0x171));console['log']('\x20'+_0x473f0d);const _0x5f4c1d=await _0x1f8680['rjdkf'](fetchAuthServerMetadata,_0x473f0d);let _0x4080b2,_0x5536d4;const _0x1ac036=await _0x1f8680[_0x56f239(0x192)](loadCachedClient);if(_0x1ac036)_0x4080b2=_0x1ac036[_0x56f239(0x134)],_0x5536d4=_0x1ac036[_0x56f239(0x123)];else{if(_0x5f4c1d['registration_endpoint']){process[_0x56f239(0x195)][_0x56f239(0x174)](_0x56f239(0x18c));const _0x88912f=await fetch(_0x5f4c1d[_0x56f239(0x147)],{'method':_0x56f239(0x188),'headers':{'Content-Type':'application/json'},'body':JSON[_0x56f239(0x193)]({'client_name':_0x1f8680[_0x56f239(0x117)],'redirect_uris':[_0x56f239(0x1ae)+CALLBACK_PORT+'/callback'],'grant_types':['authorization_code',_0x1f8680['wlxNj']],'response_types':[_0x1f8680[_0x56f239(0x142)]],'token_endpoint_auth_method':_0x1f8680[_0x56f239(0x159)]})});if(!_0x88912f['ok']){const _0x4b0d9e=await _0x88912f[_0x56f239(0x115)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x4b0d9e);}const _0x26ddaf=await _0x88912f[_0x56f239(0x1a9)]();_0x4080b2=_0x26ddaf[_0x56f239(0x157)],_0x5536d4=_0x26ddaf[_0x56f239(0x138)],await saveCachedClient(_0x4080b2,_0x5536d4),console['log']('\x20done');}else throw new Error(_0x1f8680[_0x56f239(0x1b5)]);}const _0x2e06a1=randomBytes(0x20)['toString'](_0x56f239(0x155)),_0xdbf6bb=createHash(_0x1f8680[_0x56f239(0x14c)])['update'](_0x2e06a1)[_0x56f239(0x1a6)](_0x1f8680['CWyeT']),_0x5017d7=randomBytes(0x10)['toString'](_0x1f8680['qgSje']),_0x546bd2=new URL(_0x5f4c1d[_0x56f239(0x130)]);_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x1f8680[_0x56f239(0x120)],'code'),_0x546bd2['searchParams']['set'](_0x1f8680[_0x56f239(0x19d)],_0x4080b2),_0x546bd2['searchParams'][_0x56f239(0x184)]('redirect_uri',_0x56f239(0x1ae)+CALLBACK_PORT+_0x56f239(0x169)),_0x546bd2['searchParams'][_0x56f239(0x184)](_0x1f8680['VJFfi'],_0xdbf6bb),_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x56f239(0x161),_0x1f8680['nqfkD']),_0x546bd2['searchParams']['set'](_0x1f8680[_0x56f239(0x173)],_0x5017d7);_0x1a8e83[_0x56f239(0x187)]&&_0x546bd2[_0x56f239(0x127)][_0x56f239(0x184)](_0x1f8680[_0x56f239(0x1a8)],_0x1a8e83['resource']);console[_0x56f239(0x1aa)](_0x1f8680[_0x56f239(0x114)]),console['log'](_0x56f239(0x11f)+_0x546bd2['toString']()+'\x0a'),await openBrowser(_0x546bd2[_0x56f239(0x1b1)]());const _0x54fe5c=await _0x1f8680['zqtSM'](waitForCallback,_0x5017d7);process[_0x56f239(0x195)]['write'](_0x56f239(0x149));const _0x59aa8d=new URLSearchParams({'grant_type':'authorization_code','code':_0x54fe5c,'redirect_uri':_0x56f239(0x1ae)+CALLBACK_PORT+_0x56f239(0x169),'client_id':_0x4080b2,'code_verifier':_0x2e06a1});_0x5536d4&&_0x59aa8d[_0x56f239(0x184)]('client_secret',_0x5536d4);_0x1a8e83['resource']&&_0x59aa8d[_0x56f239(0x184)]('resource',_0x1a8e83['resource']);const _0x2604cf=await fetch(_0x5f4c1d['token_endpoint'],{'method':_0x56f239(0x188),'headers':{'Content-Type':_0x56f239(0x133)},'body':_0x59aa8d});if(!_0x2604cf['ok']){const _0x8ab2cc=await _0x2604cf['text']();throw new Error(_0x56f239(0x136)+_0x8ab2cc);}const _0x488fab=await _0x2604cf['json']();return console[_0x56f239(0x1aa)](_0x56f239(0x162)),await _0x1f8680[_0x56f239(0x151)](saveCachedToken,_0x488fab['access_token'],_0x488fab[_0x56f239(0x1ad)],_0x488fab[_0x56f239(0x164)]),_0x488fab[_0x56f239(0x17b)];}async function callGetCliToken(_0x5a1c05,_0x14cd25){const _0x32af92=_0x1b3ae4,_0x974fcf={'CysBo':'POST','LplUE':function(_0x1abc30,_0x575c8d){return _0x1abc30(_0x575c8d);},'xmTnn':_0x32af92(0x158),'HuqbG':'Initializing\x20MCP\x20session...','QZJPJ':function(_0x4ccf0b,_0x105bf0){return _0x4ccf0b(_0x105bf0);},'aMOBJ':'initialize','Jhcyc':'1.0.0','DEvFt':_0x32af92(0x162),'EEWvF':function(_0x15b4f8,_0x157a37,_0x56a2f0){return _0x15b4f8(_0x157a37,_0x56a2f0);},'DHrTr':'2.0','cKZwu':'notifications/initialized','uwBsu':_0x32af92(0x196),'nMBpd':_0x32af92(0x197),'sGeUR':_0x32af92(0x154),'blWvG':function(_0x2bad38,_0x2e448f,_0x5d1773,_0x53ae6d){return _0x2bad38(_0x2e448f,_0x5d1773,_0x53ae6d);},'TpRjK':function(_0x35f408,_0x1f4da7,_0x50c090){return _0x35f408(_0x1f4da7,_0x50c090);},'vRglT':_0x32af92(0x170)},_0x1dad91={'Content-Type':_0x974fcf[_0x32af92(0x16d)],'Accept':'application/json,\x20text/event-stream'};_0x14cd25&&(_0x1dad91['Authorization']='Bearer\x20'+_0x14cd25);const _0x4add60=async _0x9f635d=>{const _0x3d9858=_0x32af92,_0x528900=await fetch(_0x5a1c05,{'method':_0x974fcf[_0x3d9858(0x168)],'headers':_0x1dad91,'body':JSON['stringify'](_0x9f635d)});if(!_0x528900['ok']){const _0x3cc54a=await _0x528900['text']();throw new Error('HTTP\x20'+_0x528900[_0x3d9858(0x14e)]+':\x20'+_0x3cc54a);}return _0x974fcf[_0x3d9858(0x181)](parseResponse,_0x528900);};process[_0x32af92(0x195)]['write'](_0x974fcf[_0x32af92(0x190)]);const _0x42db14=await _0x974fcf['QZJPJ'](_0x4add60,{'jsonrpc':'2.0','id':0x1,'method':_0x974fcf['aMOBJ'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':_0x32af92(0x163),'version':_0x974fcf[_0x32af92(0x122)]}}});if(_0x42db14['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x42db14['error'][_0x32af92(0x198)]??JSON['stringify'](_0x42db14[_0x32af92(0x19e)])));console[_0x32af92(0x1aa)](_0x974fcf[_0x32af92(0x13e)]),await _0x974fcf[_0x32af92(0x12a)](fetch,_0x5a1c05,{'method':_0x32af92(0x188),'headers':_0x1dad91,'body':JSON[_0x32af92(0x193)]({'jsonrpc':_0x974fcf['DHrTr'],'method':_0x974fcf[_0x32af92(0x12e)]})})[_0x32af92(0x1a1)](_0x1410af=>_0x1410af[_0x32af92(0x115)]()),process['stdout']['write'](_0x32af92(0x17e));const _0x50f808=await _0x4add60({'jsonrpc':'2.0','id':0x2,'method':_0x974fcf['uwBsu'],'params':{'name':_0x974fcf[_0x32af92(0x12f)],'arguments':{}}});if(_0x50f808[_0x32af92(0x19e)])throw new Error(_0x32af92(0x17c)+(_0x50f808[_0x32af92(0x19e)]['message']??JSON[_0x32af92(0x193)](_0x50f808['error'])));console['log'](_0x974fcf['DEvFt']);const _0x8057af=extractToken(_0x50f808[_0x32af92(0x1ac)]);if(!_0x8057af){console[_0x32af92(0x19e)]('\x0aUnexpected\x20response\x20structure:'),console[_0x32af92(0x19e)](JSON['stringify'](_0x50f808['result'],null,0x2));throw new Error(_0x32af92(0x11b));}const _0x977e23=join(homedir(),'.ranger'),_0x2bdd3b=_0x974fcf['EEWvF'](join,_0x977e23,_0x974fcf[_0x32af92(0x1ab)]);await _0x974fcf[_0x32af92(0x12a)](mkdir,_0x977e23,{'recursive':!![]}),await _0x974fcf['blWvG'](writeFile,_0x2bdd3b,_0x8057af,{'mode':0x180}),await _0x974fcf[_0x32af92(0x16a)](writeFile,_0x974fcf['TpRjK'](join,_0x977e23,'auth-origin.txt'),_0x5a1c05,{'mode':0x180}),console[_0x32af92(0x1aa)](_0x32af92(0x131)+_0x2bdd3b),console[_0x32af92(0x1aa)](_0x974fcf[_0x32af92(0x1b0)]);}async function fetchAuthServerMetadata(_0x3070b1){const _0x174b9c=_0x3070b1+'/.well-known/oauth-authorization-server',_0x1a8a7a=await fetch(_0x174b9c);if(!_0x1a8a7a['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x174b9c+':\x20'+_0x1a8a7a['status']);return _0x1a8a7a['json']();}function waitForCallback(_0x2d211d){const _0x1a44d2=_0x1b3ae4,_0x39a2b3={'ailEV':_0x1a44d2(0x169),'zoqzD':_0x1a44d2(0x160),'kFNDv':'code','ZMTnf':_0x1a44d2(0x156),'HrzlC':_0x1a44d2(0x145),'Encpr':function(_0x47d1d7,_0x1dce25){return _0x47d1d7(_0x1dce25);},'nTOLH':function(_0x5eac1c,_0x5cecea){return _0x5eac1c!==_0x5cecea;},'VcgzX':function(_0x2b82ea,_0x22c13a,_0x5068ba){return _0x2b82ea(_0x22c13a,_0x5068ba);},'IihRO':_0x1a44d2(0x143)};return new Promise((_0x4e727d,_0x24b948)=>{const _0x5de091=_0x1a44d2,_0x4206bd={'AUNdF':function(_0x365e7d,_0x196563){return _0x365e7d!==_0x196563;},'AyzjR':_0x39a2b3[_0x5de091(0x14b)],'SLweO':_0x39a2b3['zoqzD'],'jVXSX':_0x39a2b3[_0x5de091(0x18e)],'JbkjH':_0x39a2b3['ZMTnf'],'Hfxmy':_0x39a2b3['HrzlC'],'IZOkS':function(_0xac4662,_0x1c8590){return _0x39a2b3['Encpr'](_0xac4662,_0x1c8590);},'kPhLd':function(_0x12b543,_0x4cbf14){return _0x39a2b3['Encpr'](_0x12b543,_0x4cbf14);},'IJpPf':function(_0x1d162d,_0x276086){const _0x61e9d6=_0x5de091;return _0x39a2b3[_0x61e9d6(0x13f)](_0x1d162d,_0x276086);}},_0x3f3335=_0x39a2b3['VcgzX'](setTimeout,()=>{_0x476a18['close'](),_0x24b948(new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x476a18=createServer((_0x5dc07e,_0x23e316)=>{const _0x35e191=_0x5de091,_0x221678=new URL(_0x5dc07e[_0x35e191(0x13b)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x4206bd[_0x35e191(0x194)](_0x221678[_0x35e191(0x1b3)],_0x4206bd['AyzjR'])){_0x23e316[_0x35e191(0x1b4)](0x194),_0x23e316['end'](_0x4206bd[_0x35e191(0x172)]);return;}const _0x4b1671=_0x221678[_0x35e191(0x127)][_0x35e191(0x13a)](_0x4206bd[_0x35e191(0x19b)]),_0x450634=_0x221678[_0x35e191(0x127)]['get'](_0x4206bd[_0x35e191(0x1a0)]),_0x3a4c50=_0x221678['searchParams'][_0x35e191(0x13a)]('error');if(_0x3a4c50){const _0x1b008e=_0x221678['searchParams']['get'](_0x35e191(0x16f))??_0x3a4c50;_0x23e316[_0x35e191(0x1b4)](0xc8,{'Content-Type':_0x4206bd['Hfxmy']}),_0x23e316[_0x35e191(0x167)]('<html><body><h2>Authentication\x20failed</h2><p>'+_0x1b008e+_0x35e191(0x12c)),_0x4206bd['IZOkS'](clearTimeout,_0x3f3335),_0x476a18['close'](),_0x4206bd['kPhLd'](_0x24b948,new Error('OAuth\x20error:\x20'+_0x1b008e));return;}if(!_0x4b1671||_0x4206bd['IJpPf'](_0x450634,_0x2d211d)){_0x23e316['writeHead'](0x190,{'Content-Type':_0x4206bd[_0x35e191(0x189)]}),_0x23e316['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x23e316[_0x35e191(0x1b4)](0xc8,{'Content-Type':_0x35e191(0x145)}),_0x23e316['end'](_0x35e191(0x199)),clearTimeout(_0x3f3335),_0x476a18[_0x35e191(0x182)](),_0x4e727d(_0x4b1671);});_0x476a18[_0x5de091(0x15b)](CALLBACK_PORT,_0x39a2b3['IihRO']);});}async function openBrowser(_0xf69bde){const _0x2aa9c9=_0x1b3ae4,_0x2ebe72={'HvZBb':_0x2aa9c9(0x177),'FMKIa':'win32'},{exec:_0xe2f352}=await import('child_process'),_0x5866db=process[_0x2aa9c9(0x178)]===_0x2aa9c9(0x128)?_0x2ebe72[_0x2aa9c9(0x132)]:process[_0x2aa9c9(0x178)]===_0x2ebe72[_0x2aa9c9(0x1b2)]?_0x2aa9c9(0x18a):_0x2aa9c9(0x124);_0xe2f352(_0x5866db+'\x20\x22'+_0xf69bde+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x2f1b7b=_0x1b3ae4,_0x5d9fb2={'jqiTM':function(_0x2887ad,_0x538b9e){return _0x2887ad>_0x538b9e;}};try{const _0x10dd54=JSON[_0x2f1b7b(0x139)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x10dd54['origin']&&_0x10dd54[_0x2f1b7b(0x18b)]!==currentOrigin)return null;if(_0x10dd54[_0x2f1b7b(0x15e)]&&_0x5d9fb2[_0x2f1b7b(0x146)](Date[_0x2f1b7b(0x1a5)](),_0x10dd54['expiresAt']))return null;return _0x10dd54[_0x2f1b7b(0x126)]??null;}catch{return null;}}async function saveCachedToken(_0x3f1945,_0x209dad,_0x583aa2){const _0xb2cbb=_0x1b3ae4,_0x5c2032={'DeqCM':function(_0x4bf988){return _0x4bf988();},'InPrZ':function(_0x43e345,_0x61b040){return _0x43e345+_0x61b040;},'ohQHb':function(_0x29b267,_0x2d7b9b){return _0x29b267*_0x2d7b9b;},'bEOlC':function(_0x43a3af,_0x4ae374,_0x6bcf52){return _0x43a3af(_0x4ae374,_0x6bcf52);},'XlbaI':function(_0x44dec9){return _0x44dec9();},'yxEFM':_0xb2cbb(0x165)},_0x135bce=await _0x5c2032[_0xb2cbb(0x17a)](loadCachedData),_0x37469b={..._0x135bce,'origin':currentOrigin,'accessToken':_0x3f1945,'refreshToken':_0x209dad??_0x135bce?.[_0xb2cbb(0x17d)],'expiresAt':_0x583aa2?_0x5c2032[_0xb2cbb(0x144)](Date['now'](),_0x5c2032[_0xb2cbb(0x118)](_0x583aa2,0x3e8)):undefined};await _0x5c2032['bEOlC'](mkdir,join(_0x5c2032['XlbaI'](homedir),_0x5c2032['yxEFM']),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x37469b),{'mode':0x180});}function _0x361e(_0xd1679b,_0x376e89){_0xd1679b=_0xd1679b-0x114;const _0x2d39a2=_0x2d39();let _0x361e4b=_0x2d39a2[_0xd1679b];return _0x361e4b;}async function loadCachedClient(){const _0x312b5c=_0x1b3ae4,_0xa571e6=await loadCachedData();if(_0xa571e6?.[_0x312b5c(0x18b)]&&_0xa571e6['origin']!==currentOrigin)return null;return _0xa571e6?.[_0x312b5c(0x134)]?{'clientId':_0xa571e6['clientId'],'clientSecret':_0xa571e6['clientSecret']}:null;}async function clearCachedClient(){const _0x29f9e1=_0x1b3ae4,_0x58df73={'bgedF':function(_0xa59c60,_0x25c39c,_0x1dbb84,_0x48d90f){return _0xa59c60(_0x25c39c,_0x1dbb84,_0x48d90f);}},_0x3eb14d=await loadCachedData();if(!_0x3eb14d)return;const {clientId:_0x29d5e8,clientSecret:_0x2b9580,..._0x534769}=_0x3eb14d;await _0x58df73[_0x29f9e1(0x183)](writeFile,TOKEN_CACHE_PATH,JSON[_0x29f9e1(0x193)](_0x534769),{'mode':0x180});}async function saveCachedClient(_0x2e8031,_0x3ecd1b){const _0x59edb7=_0x1b3ae4,_0x38a54a={'aIeTU':function(_0x505016){return _0x505016();},'SJnSg':function(_0x556d45){return _0x556d45();},'rmeYA':function(_0x5cda5b,_0x8834c3,_0x266eb0,_0x12efee){return _0x5cda5b(_0x8834c3,_0x266eb0,_0x12efee);}},_0x22098f=await _0x38a54a['aIeTU'](loadCachedData),_0x35813c={..._0x22098f,'origin':currentOrigin,'accessToken':_0x22098f?.[_0x59edb7(0x126)]??'','clientId':_0x2e8031,'clientSecret':_0x3ecd1b};await mkdir(join(_0x38a54a[_0x59edb7(0x153)](homedir),_0x59edb7(0x165)),{'recursive':!![]}),await _0x38a54a['rmeYA'](writeFile,TOKEN_CACHE_PATH,JSON[_0x59edb7(0x193)](_0x35813c),{'mode':0x180});}async function loadCachedData(){const _0x405508=_0x1b3ae4,_0x323f61={'fsWrc':'utf-8'};try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x323f61[_0x405508(0x19f)]));}catch{return null;}}async function parseResponse(_0xbd691e){const _0x494254=_0x1b3ae4,_0x254c41={'VsMOP':_0x494254(0x1a7)},_0x10f439=_0xbd691e['headers']['get']('content-type')??'';if(_0x10f439[_0x494254(0x15c)](_0x494254(0x1b6))){const _0xbf3b63=await _0xbd691e[_0x494254(0x115)]();for(const _0x21eca2 of _0xbf3b63[_0x494254(0x13c)]('\x0a')){const _0x28d3c3=_0x21eca2[_0x494254(0x14f)]();if(_0x28d3c3['startsWith'](_0x254c41['VsMOP'])){const _0x55b459=_0x28d3c3[_0x494254(0x179)]('data:'['length'])['trim']();if(!_0x55b459)continue;try{const _0x560199=JSON['parse'](_0x55b459);if(_0x560199['id']!==undefined||_0x560199['error'])return _0x560199;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0xbd691e['json']();}function extractToken(_0x35b4f7){const _0x350cbd=_0x1b3ae4,_0x2943d2={'GIyTS':function(_0x31c2c1,_0x421f53){return _0x31c2c1===_0x421f53;},'qyTfR':_0x350cbd(0x119),'CXUvm':_0x350cbd(0x115),'JFBZb':_0x350cbd(0x1af)};if(!_0x35b4f7)return null;const _0x2b820e=_0x35b4f7[_0x350cbd(0x1b7)];if(_0x2b820e?.[_0x350cbd(0x19c)]&&_0x2943d2[_0x350cbd(0x18d)](typeof _0x2b820e[_0x350cbd(0x19c)],'string'))return _0x2b820e['token'];if(_0x35b4f7['isError']){const _0x133efc=_0x35b4f7[_0x350cbd(0x11d)];throw new Error('Server\x20returned\x20error:\x20'+(_0x133efc?.[0x0]?.['text']??_0x2943d2['qyTfR']));}const _0x170eed=_0x35b4f7['content'];if(_0x170eed)for(const _0x2dcc16 of _0x170eed){if(_0x2943d2['GIyTS'](_0x2dcc16[_0x350cbd(0x15a)],_0x2943d2[_0x350cbd(0x116)])&&_0x2dcc16['text']){try{const _0x3a2592=JSON[_0x350cbd(0x139)](_0x2dcc16['text']);if(typeof _0x3a2592?.['token']===_0x2943d2[_0x350cbd(0x12b)])return _0x3a2592[_0x350cbd(0x19c)];}catch{}const _0xcc75d0=_0x2dcc16[_0x350cbd(0x115)]['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0xcc75d0)return _0xcc75d0[0x1];}}return null;}
@@ -1 +1 @@
1
- (function(_0x4a4d9a,_0x4dc2e1){const _0x1b8717=_0x1498,_0x50c864=_0x4a4d9a();while(!![]){try{const _0x2601ff=parseInt(_0x1b8717(0xde))/0x1+-parseInt(_0x1b8717(0xc1))/0x2*(-parseInt(_0x1b8717(0x109))/0x3)+parseInt(_0x1b8717(0xe2))/0x4+parseInt(_0x1b8717(0x106))/0x5*(parseInt(_0x1b8717(0x110))/0x6)+-parseInt(_0x1b8717(0x10e))/0x7+-parseInt(_0x1b8717(0x107))/0x8+-parseInt(_0x1b8717(0xf4))/0x9*(parseInt(_0x1b8717(0xee))/0xa);if(_0x2601ff===_0x4dc2e1)break;else _0x50c864['push'](_0x50c864['shift']());}catch(_0x54961d){_0x50c864['push'](_0x50c864['shift']());}}}(_0x5149,0x38817));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x25eb91 from'inquirer';function _0x1498(_0x271aca,_0x6c128a){_0x271aca=_0x271aca-0xc0;const _0x514969=_0x5149();let _0x1498c7=_0x514969[_0x271aca];return _0x1498c7;}import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';import{getRangerDir}from'./utils/rangerRoot.js';import{ApiError,createCloudProfile,fetchAuthConfig,saveCloudProfileCredentials,uploadCloudProfileSession}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0x54f119){const _0x453351=_0x1498,_0x5813ee={'bYRFw':function(_0x5e8b01,_0x190563){return _0x5e8b01===_0x190563;},'AQemF':_0x453351(0x100)};if(_0x5813ee[_0x453351(0xc9)](_0x54f119[_0x453351(0xd0)],_0x5813ee[_0x453351(0xdd)]))return'\x20\x20'+_0x54f119[_0x453351(0x115)]['padEnd'](0x1e)+'\x20→\x20skip\x20('+_0x54f119[_0x453351(0xf1)]+')';if(_0x54f119[_0x453351(0xf7)]&&_0x54f119['baseUrl'])return'\x20\x20'+_0x54f119['profileName'][_0x453351(0xca)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x54f119[_0x453351(0xd9)]+_0x453351(0xe4)+_0x54f119['baseUrl']+_0x453351(0xe3);if(_0x54f119[_0x453351(0x119)])return'\x20\x20'+_0x54f119['profileName']['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x54f119[_0x453351(0xd9)]+_0x453351(0x10b)+_0x54f119['baseUrl']+')';return'\x20\x20'+_0x54f119[_0x453351(0x115)]['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x54f119['envKey']+')';}function shouldWarnGitTrackedOnce(_0x2cbe08){const _0x64a1d=_0x1498,_0x56824b={'LaQlq':function(_0x2f83ef){return _0x2f83ef();}},_0x5d8e90=_0x56824b[_0x64a1d(0xe6)](readProjectsConfig),_0x4ef61b=_0x5d8e90[_0x64a1d(0xf8)][_0x2cbe08]??={},_0x482a17=_0x4ef61b[_0x64a1d(0xc5)]??={},_0x11b8be=_0x482a17['gitTrackedRanger'],_0xf32cdf=new Date(),_0x13275a=_0xf32cdf[_0x64a1d(0xce)]()['slice'](0x0,0xa);if(_0x11b8be===_0x13275a)return![];return _0x482a17[_0x64a1d(0xf2)]=_0x13275a,writeProjectsConfig(_0x5d8e90),!![];}export async function migrateProfile(_0x2568c0,_0x518139){const _0x1c0de6=_0x1498,_0x13679b={'LXxmI':function(_0x3d92df){return _0x3d92df();},'GJbod':function(_0x52f690,_0x5a4da7){return _0x52f690(_0x5a4da7);},'tBRRI':function(_0x16f7b9,_0x43772a){return _0x16f7b9===_0x43772a;},'lVQbH':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','ORNKN':'skip','XAGMJ':_0x1c0de6(0xd5),'vhFSO':function(_0x6b8ee1,_0x430849){return _0x6b8ee1(_0x430849);},'FayGy':_0x1c0de6(0x103),'XwMcX':function(_0x420d72,_0x1f64a1){return _0x420d72===_0x1f64a1;},'uvSsy':function(_0x444fd7,_0x5d8f30,_0x2975d6){return _0x444fd7(_0x5d8f30,_0x2975d6);},'wkzFp':_0x1c0de6(0xe0),'oWaKK':_0x1c0de6(0x104),'gJSAa':_0x1c0de6(0xc2),'CyICP':function(_0x5e8c50,_0x1ff9d3){return _0x5e8c50(_0x1ff9d3);},'dJmfV':'confirm','Khwhx':'proceed','KGnDb':'Proceed?','MrVxY':'Aborted.','QEeIC':function(_0x36842f){return _0x36842f();},'XfsBE':function(_0x20bb61,_0x26f164){return _0x20bb61(_0x26f164);},'JoShP':'After\x20migration,\x20uncommit\x20it:','ZfjoN':_0x1c0de6(0xd2),'HSGjl':'Continuing\x20with\x20migration...','ZytPr':function(_0x36ea75,_0x35b3c7){return _0x36ea75===_0x35b3c7;},'omMvm':'profile.migrate.skipped','mGNkc':_0x1c0de6(0xc7),'vCKiB':function(_0x3dfb94,_0x2ce226){return _0x3dfb94&&_0x2ce226;},'miqJl':function(_0x4cabd3,_0x4ca396,_0x5f2364,_0x26352e){return _0x4cabd3(_0x4ca396,_0x5f2364,_0x26352e);},'IDXSo':function(_0x3379e7,_0x4d51ae,_0x474967,_0x1d6cd3,_0x166d03){return _0x3379e7(_0x4d51ae,_0x474967,_0x1d6cd3,_0x166d03);},'KpHQN':'baseUrl','pjabz':function(_0x10160f,_0x1f2c43){return _0x10160f instanceof _0x1f2c43;},'gezPZ':_0x1c0de6(0xd7),'kVxTG':function(_0x51cc71,_0x583c07){return _0x51cc71(_0x583c07);},'JntFl':function(_0x2fe94a,_0x315097){return _0x2fe94a>_0x315097;},'HnekA':_0x1c0de6(0x108),'gCoom':function(_0x7c14ac,_0x28bf06){return _0x7c14ac+_0x28bf06;}};if(!_0x2568c0[_0x1c0de6(0x115)]&&!_0x2568c0['all'])throw new Error(_0x1c0de6(0x114));let _0x4dfd0d;try{_0x4dfd0d=await _0x13679b['LXxmI'](fetchAuthConfig);}catch(_0x2f0e70){throw new Error(_0x1c0de6(0xed)+(_0x2f0e70 instanceof Error?_0x2f0e70['message']:_0x13679b['GJbod'](String,_0x2f0e70))+_0x1c0de6(0xf9));}if(!_0x4dfd0d||!_0x4dfd0d['environments']||_0x13679b['tBRRI'](Object['keys'](_0x4dfd0d['environments'])[_0x1c0de6(0xec)],0x0))throw new Error(_0x13679b[_0x1c0de6(0xd6)]);const _0x23d884=[];if(_0x2568c0[_0x1c0de6(0xfe)]){const {envNames:_0x412b12,envTypes:_0x4e4cfe}=await getEnvNames();for(const _0xf2b89a of _0x412b12){if(_0x13679b['tBRRI'](_0x4e4cfe[_0xf2b89a],'ci'))continue;_0x23d884[_0x1c0de6(0xc4)](_0xf2b89a);}}else _0x2568c0[_0x1c0de6(0x115)]&&_0x23d884['push'](_0x2568c0[_0x1c0de6(0x115)]);if(_0x23d884[_0x1c0de6(0xec)]===0x0){console['log']('No\x20local\x20profiles\x20found\x20to\x20migrate.');return;}const _0x2d0cd6=[];for(const _0x18c407 of _0x23d884){const _0xbe50c8=getEnvDir(_0x18c407);if(!_0x13679b[_0x1c0de6(0xf3)](existsSync,_0xbe50c8)){_0x2d0cd6['push']({'kind':_0x13679b['ORNKN'],'profileName':_0x18c407,'reason':_0x13679b[_0x1c0de6(0x113)]});continue;}const _0x511480=await _0x13679b['vhFSO'](loadSettings,_0x18c407),_0x40cee8=_0x511480[_0x1c0de6(0x119)];if(!_0x40cee8){_0x2d0cd6['push']({'kind':_0x13679b['ORNKN'],'profileName':_0x18c407,'reason':'no\x20baseUrl\x20in\x20settings.json'});continue;}const _0x5bfb55=matchAuthEnvironment(_0x40cee8,_0x4dfd0d);if(!_0x5bfb55){_0x2d0cd6[_0x1c0de6(0xc4)]({'kind':_0x1c0de6(0x100),'profileName':_0x18c407,'reason':_0x13679b['FayGy']});continue;}const _0x12dc19=_0x4dfd0d['environments'][_0x5bfb55],_0x27c8b8=_0x12dc19?.[_0x1c0de6(0xeb)]??[],_0x815701=_0x27c8b8[_0x1c0de6(0x112)](_0x38087d=>{const _0x4a559a=_0x1c0de6;try{return new URL(_0x38087d)[_0x4a559a(0x102)]===new URL(_0x40cee8)[_0x4a559a(0x102)];}catch{return![];}}),_0x3e244e={};for(const [_0xd4c94,_0x4e9cac]of Object['entries'](_0x511480)){if(_0xd4c94===_0x1c0de6(0x119))continue;if(_0x13679b[_0x1c0de6(0xcf)](_0x4e9cac,undefined))continue;_0x3e244e[_0xd4c94]=_0x4e9cac;}!_0x815701&&(_0x3e244e['baseUrl']=_0x40cee8);const _0x1a7e63=_0x13679b['uvSsy'](join,_0xbe50c8,_0x13679b[_0x1c0de6(0xc6)]),_0x3b4702=existsSync(_0x1a7e63);_0x2d0cd6[_0x1c0de6(0xc4)]({'kind':_0x13679b['oWaKK'],'profileName':_0x18c407,'envKey':_0x5bfb55,'baseUrl':_0x40cee8,'preserveBaseUrl':!_0x815701,'settings':_0x3e244e,'authJsonPath':_0x3b4702?_0x1a7e63:null});}console[_0x1c0de6(0xdf)](_0x13679b[_0x1c0de6(0xcc)]);for(const _0x2e8c40 of _0x2d0cd6){console['log'](_0x13679b[_0x1c0de6(0xf5)](formatPlanLine,_0x2e8c40));}if(_0x2568c0[_0x1c0de6(0xcd)]){console[_0x1c0de6(0xdf)]('Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.');return;}const _0x306ca9=_0x13679b['vhFSO'](Boolean,process[_0x1c0de6(0xe1)]['isTTY']&&process['stdout']['isTTY']),_0x210a5e=_0x2d0cd6['some'](_0x4ee3fd=>_0x4ee3fd['kind']===_0x1c0de6(0x104));if(_0x210a5e&&_0x306ca9&&!_0x2568c0['yes']){const {proceed:_0x4dbd7b}=await _0x25eb91['prompt']([{'type':_0x13679b['dJmfV'],'name':_0x13679b[_0x1c0de6(0x101)],'message':_0x13679b[_0x1c0de6(0xef)],'default':![]}]);if(!_0x4dbd7b){console[_0x1c0de6(0xdf)](_0x13679b[_0x1c0de6(0xd8)]);return;}}const _0x43bd26=_0x13679b['QEeIC'](getRangerDir);let _0x4bc80d=![];if(_0x13679b[_0x1c0de6(0xf5)](existsSync,_0x43bd26))try{_0x4bc80d=await _0x13679b[_0x1c0de6(0xf0)](isPathGitTracked,_0x43bd26);}catch{_0x4bc80d=![];}_0x4bc80d&&_0x13679b['XfsBE'](shouldWarnGitTrackedOnce,process['cwd']())&&(console[_0x1c0de6(0xdf)]('Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.'),console[_0x1c0de6(0xdf)](_0x13679b[_0x1c0de6(0xdc)]),console[_0x1c0de6(0xdf)]('\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/'),console[_0x1c0de6(0xdf)](_0x13679b['ZfjoN']),console['log'](_0x13679b['HSGjl']));let _0x1af5a5=0x0,_0x46d875=0x0,_0x38e51e=0x0,_0x49062b=0x0;for(const _0x5f238b of _0x2d0cd6){if(_0x13679b[_0x1c0de6(0xe8)](_0x5f238b['kind'],'skip')){_0x49062b++,_0x518139?.['trackPhaseEnd']('profile.migrate.skipped',{'profileName':_0x5f238b['profileName'],'reason':_0x5f238b[_0x1c0de6(0xf1)]});continue;}_0x518139?.[_0x1c0de6(0xff)](_0x1c0de6(0xfc),{'profileName':_0x5f238b[_0x1c0de6(0x115)],'envKey':_0x5f238b[_0x1c0de6(0xd9)]});try{try{await createCloudProfile(_0x5f238b['profileName'],_0x5f238b[_0x1c0de6(0xd9)],_0x5f238b['settings']);}catch(_0xc50965){if(_0xc50965 instanceof ApiError&&_0x13679b[_0x1c0de6(0xcf)](_0xc50965[_0x1c0de6(0xfd)],0x199)){console['log']('\x20\x20⚠\x20'+_0x5f238b['profileName']+':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.'),_0x49062b++,_0x518139?.['trackPhaseEnd'](_0x13679b[_0x1c0de6(0xd4)],{'profileName':_0x5f238b['profileName'],'reason':_0x1c0de6(0xc0)});continue;}throw _0xc50965;}let _0x284614=![],_0x290de0=![];if(_0x5f238b[_0x1c0de6(0x10a)])try{const _0x333349=await readFile(_0x5f238b[_0x1c0de6(0x10a)],_0x13679b[_0x1c0de6(0x10c)]),_0x12f692=JSON[_0x1c0de6(0xc8)](_0x333349);await uploadCloudProfileSession(_0x5f238b['profileName'],_0x12f692),_0x284614=!![];}catch(_0x31c6bc){_0x290de0=!![],console['log'](_0x1c0de6(0xe9)+_0x5f238b[_0x1c0de6(0x115)]+_0x1c0de6(0xd1)+(_0x31c6bc instanceof Error?_0x31c6bc['message']:String(_0x31c6bc))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x3e0b3a=![];if(_0x2568c0[_0x1c0de6(0x116)]){const _0x4b7bbe=process[_0x1c0de6(0x105)]['RANGER_TEST_USERNAME'],_0x5ac712=process['env']['RANGER_TEST_PASSWORD'];if(_0x13679b['vCKiB'](_0x4b7bbe,_0x5ac712))try{await _0x13679b['miqJl'](saveCloudProfileCredentials,_0x5f238b['profileName'],_0x4b7bbe,_0x5ac712),_0x3e0b3a=!![];}catch(_0x5d97bc){console[_0x1c0de6(0xdf)]('\x20\x20⚠\x20'+_0x5f238b['profileName']+_0x1c0de6(0x118)+(_0x5d97bc instanceof Error?_0x5d97bc[_0x1c0de6(0x117)]:_0x13679b[_0x1c0de6(0xc3)](String,_0x5d97bc))+').');}else console[_0x1c0de6(0xdf)]('\x20\x20⚠\x20'+_0x5f238b[_0x1c0de6(0x115)]+':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.');}if(_0x5f238b['preserveBaseUrl']&&_0x5f238b[_0x1c0de6(0x119)])try{_0x13679b['IDXSo'](setProfileOverride,process[_0x1c0de6(0x10f)](),_0x5f238b['profileName'],_0x13679b[_0x1c0de6(0xd3)],_0x5f238b[_0x1c0de6(0x119)]);}catch(_0x35230d){console['log'](_0x1c0de6(0xe9)+_0x5f238b[_0x1c0de6(0x115)]+_0x1c0de6(0xf6)+(_0x13679b[_0x1c0de6(0xda)](_0x35230d,Error)?_0x35230d['message']:String(_0x35230d))+').');}const _0x6335ae=getEnvDir(_0x5f238b[_0x1c0de6(0x115)]);if(!_0x290de0&&_0x13679b[_0x1c0de6(0xc3)](existsSync,_0x6335ae))try{await rm(_0x6335ae,{'recursive':!![],'force':!![]}),_0x46d875++;}catch(_0x355e98){console['log'](_0x1c0de6(0xe9)+_0x5f238b[_0x1c0de6(0x115)]+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x6335ae+'\x20('+(_0x355e98 instanceof Error?_0x355e98[_0x1c0de6(0x117)]:String(_0x355e98))+').');}_0x1af5a5++,_0x5f238b[_0x1c0de6(0xf7)]&&_0x5f238b['baseUrl']?console['log'](_0x1c0de6(0xdb)+_0x5f238b[_0x1c0de6(0x115)]+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x5f238b[_0x1c0de6(0xd9)]+_0x1c0de6(0xea)):console[_0x1c0de6(0xdf)](_0x1c0de6(0xdb)+_0x5f238b['profileName']+_0x1c0de6(0xe5)+_0x5f238b[_0x1c0de6(0xd9)]+')'),_0x518139?.[_0x1c0de6(0xfb)](_0x13679b[_0x1c0de6(0xfa)],{'profileName':_0x5f238b['profileName'],'envKey':_0x5f238b[_0x1c0de6(0xd9)],'wasGitTracked':_0x4bc80d,'hadSession':_0x284614,'savedCreds':_0x3e0b3a});}catch(_0x30725a){_0x38e51e++,console['log']('\x20\x20✗\x20'+_0x5f238b['profileName']+_0x1c0de6(0x10d)+(_0x30725a instanceof Error?_0x30725a['message']:_0x13679b['kVxTG'](String,_0x30725a))),_0x518139?.['trackPhaseEnd']('profile.migrate.failed',{'profileName':_0x5f238b[_0x1c0de6(0x115)],'error':_0x30725a instanceof Error?_0x30725a[_0x1c0de6(0x117)]:String(_0x30725a)});}}const _0x57dced=[];if(_0x13679b['JntFl'](_0x1af5a5,0x0))_0x57dced['push'](_0x1af5a5+'\x20profile'+(_0x13679b[_0x1c0de6(0xe8)](_0x1af5a5,0x1)?'':'s')+_0x1c0de6(0x111));if(_0x13679b['JntFl'](_0x46d875,0x0))_0x57dced['push']('Deleted\x20'+_0x46d875+'\x20local\x20director'+(_0x46d875===0x1?'y':_0x13679b[_0x1c0de6(0xe7)]));if(_0x13679b['JntFl'](_0x49062b,0x0))_0x57dced[_0x1c0de6(0xc4)](_0x49062b+'\x20skipped');if(_0x13679b['JntFl'](_0x38e51e,0x0))_0x57dced['push'](_0x38e51e+_0x1c0de6(0xcb));if(_0x13679b['JntFl'](_0x57dced['length'],0x0))console[_0x1c0de6(0xdf)](_0x13679b['gCoom'](_0x57dced['join']('.\x20'),'.'));}function _0x5149(){const _0xea39a4=['profile.migrate.started','status','all','trackPhaseStart','skip','Khwhx','origin','no\x20matching\x20auth\x20env','migrate','env','44340artDwQ','451368dFCMnl','ies','256296vZKalM','authJsonPath',',\x20matches\x20','mGNkc','\x20failed:\x20','2041193pQSLeJ','cwd','96HYOFHm','\x20migrated','some','XAGMJ','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','profileName','saveCreds','message',':\x20failed\x20to\x20save\x20credentials\x20(','baseUrl','name_conflict','8AceNEX','Plan:','vhFSO','push','_warnings','wkzFp','utf-8','parse','bYRFw','padEnd','\x20failed','gJSAa','dryRun','toISOString','XwMcX','kind',':\x20session\x20upload\x20failed\x20(','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','KpHQN','omMvm','local\x20profile\x20directory\x20not\x20found','lVQbH','profile.migrate.succeeded','MrVxY','envKey','pjabz','\x20\x20✓\x20','JoShP','AQemF','160066DtLtaL','log','auth.json','stdin','465676VNFYpj','\x20as\x20project\x20override)',',\x20preserving\x20baseUrl\x20','\x20migrated\x20to\x20cloud\x20(env:\x20','LaQlq','HnekA','ZytPr','\x20\x20⚠\x20',',\x20baseUrl\x20override\x20→\x20projects.json)','domains','length','Could\x20not\x20fetch\x20auth\x20config\x20(','48820wTxpBk','KGnDb','XfsBE','reason','gitTrackedRanger','GJbod','333WkcbXn','CyICP',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(','preserveBaseUrl','projects',').\x20Run:\x20ranger\x20setup','gezPZ','trackPhaseEnd'];_0x5149=function(){return _0xea39a4;};return _0x5149();}
1
+ (function(_0x50c23a,_0x5e9b2d){var _0x3fa87c=_0x278f,_0x3ce6ac=_0x50c23a();while(!![]){try{var _0x1146b2=-parseInt(_0x3fa87c(0x10f))/0x1*(parseInt(_0x3fa87c(0x100))/0x2)+-parseInt(_0x3fa87c(0x104))/0x3+-parseInt(_0x3fa87c(0x107))/0x4+-parseInt(_0x3fa87c(0x103))/0x5+-parseInt(_0x3fa87c(0x109))/0x6*(-parseInt(_0x3fa87c(0xff))/0x7)+parseInt(_0x3fa87c(0x105))/0x8*(parseInt(_0x3fa87c(0x10d))/0x9)+parseInt(_0x3fa87c(0x102))/0xa*(parseInt(_0x3fa87c(0x10a))/0xb);if(_0x1146b2===_0x5e9b2d)break;else _0x3ce6ac['push'](_0x3ce6ac['shift']());}catch(_0x56094a){_0x3ce6ac['push'](_0x3ce6ac['shift']());}}}(_0x6e61,0xe6da6));function _0x278f(_0x557279,_0x570e29){_0x557279=_0x557279-0xfd;var _0x6e6174=_0x6e61();var _0x278fd5=_0x6e6174[_0x557279];return _0x278fd5;}export async function migrateProfile(_0x515717,_0x47a1fa){var _0x11cd8b=_0x278f,_0x47690c={'lIwUV':function(_0x4e20e2,_0x543f5d){return _0x4e20e2+_0x543f5d;},'qseis':function(_0x5222f7,_0xcb19e1){return _0x5222f7+_0xcb19e1;},'UeliQ':'ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','QPNHa':_0x11cd8b(0x10e),'IbJlP':'\x20\x20https://docs.ranger.net/main/concepts/profiles\x0a','hUqIs':'Existing\x20sessions\x20in\x20your\x20old\x20<project>/.ranger/\x20dirs\x20still\x20work\x20as\x20a\x0a','nKkef':_0x11cd8b(0x10b)};console[_0x11cd8b(0x108)](_0x47690c['lIwUV'](_0x47690c['qseis'](_0x47690c[_0x11cd8b(0xfd)]+'\x0a'+_0x47690c['QPNHa']+_0x11cd8b(0x101)+'\x0a'+_0x11cd8b(0xfe)+_0x47690c['IbJlP']+'\x0a',_0x47690c[_0x11cd8b(0x106)]),_0x47690c['nKkef'])),process[_0x11cd8b(0x10c)](0x1);}function _0x6e61(){var _0x263ace=['To\x20set\x20up\x20a\x20fresh\x20profile,\x20run:\x0a','14gexLaG','UeliQ','For\x20CI\x20/\x20background\x20agents\x20and\x20other\x20setup\x20options,\x20see:\x0a','7KCGvUl','105546zsVtIl','\x20\x20ranger\x20profile\x20add\x20<name>\x0a','40NPrIvu','326940pZWyMt','2796870drHHgZ','1597912nGVpeV','hUqIs','3569004EIJsjz','error','587988mgiokg','9010617ELQXbj','fallback;\x20you\x20can\x20delete\x20them\x20once\x20you\x20have\x20re-auth-ed.','exit','9NqXrdF'];_0x6e61=function(){return _0x263ace;};return _0x6e61();}