@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 2.5.4-alpha.bc88254-5

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 (79) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/env.js +1 -1
  7. package/build/commands/feature.js +1 -1
  8. package/build/commands/hook.js +1 -1
  9. package/build/commands/hooks/autoPrompt.js +1 -1
  10. package/build/commands/hooks/disable.js +1 -1
  11. package/build/commands/hooks/enable.js +1 -1
  12. package/build/commands/hooks/exitPlanMode.js +1 -1
  13. package/build/commands/hooks/index.js +1 -1
  14. package/build/commands/hooks/output.js +1 -1
  15. package/build/commands/hooks/planReminder.js +1 -1
  16. package/build/commands/hooks/planStart.js +1 -1
  17. package/build/commands/hooks/postEdit.js +1 -1
  18. package/build/commands/hooks/preCompact.js +1 -1
  19. package/build/commands/hooks/sessionEnd.js +1 -1
  20. package/build/commands/hooks/sessionStart.js +1 -1
  21. package/build/commands/hooks/stopHook.js +1 -1
  22. package/build/commands/index.js +1 -1
  23. package/build/commands/login.js +1 -1
  24. package/build/commands/mcpBootstrap.js +1 -1
  25. package/build/commands/migrateProfile.js +1 -1
  26. package/build/commands/setup/claude.js +1 -1
  27. package/build/commands/setup/opencode.js +1 -1
  28. package/build/commands/setupCi.js +1 -1
  29. package/build/commands/skillup.js +1 -1
  30. package/build/commands/start.js +1 -1
  31. package/build/commands/status.js +1 -1
  32. package/build/commands/update.js +1 -1
  33. package/build/commands/updateEnv.js +1 -1
  34. package/build/commands/useEnv.js +1 -1
  35. package/build/commands/utils/activeProfile.js +1 -1
  36. package/build/commands/utils/agentEnv.js +1 -1
  37. package/build/commands/utils/browserSessionsApi.js +1 -1
  38. package/build/commands/utils/claudeConfig.js +1 -1
  39. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  40. package/build/commands/utils/claudePlugin.js +1 -1
  41. package/build/commands/utils/cloudProfile.js +1 -1
  42. package/build/commands/utils/cloudProfileSession.js +1 -1
  43. package/build/commands/utils/crypto.js +1 -1
  44. package/build/commands/utils/desirePathLog.js +1 -1
  45. package/build/commands/utils/deviceAuth.js +1 -1
  46. package/build/commands/utils/environment.js +1 -1
  47. package/build/commands/utils/featureApi.js +1 -1
  48. package/build/commands/utils/fixWebmDuration.js +1 -1
  49. package/build/commands/utils/gitTracked.js +1 -1
  50. package/build/commands/utils/keychain.js +1 -1
  51. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  52. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  53. package/build/commands/utils/mcpImageBase64.js +1 -1
  54. package/build/commands/utils/model.js +1 -1
  55. package/build/commands/utils/opencodeConfig.js +1 -1
  56. package/build/commands/utils/playwrightCli.js +1 -1
  57. package/build/commands/utils/profileMessages.js +1 -1
  58. package/build/commands/utils/profileSetupBanner.js +1 -1
  59. package/build/commands/utils/projectsConfig.js +1 -1
  60. package/build/commands/utils/rangerConfig.js +1 -1
  61. package/build/commands/utils/rangerRoot.js +1 -1
  62. package/build/commands/utils/resolveProfileContext.js +1 -1
  63. package/build/commands/utils/resolveProfileUrl.js +1 -1
  64. package/build/commands/utils/retry.js +1 -1
  65. package/build/commands/utils/sessionCache.js +1 -1
  66. package/build/commands/utils/settings.js +1 -1
  67. package/build/commands/utils/skillContent.js +1 -1
  68. package/build/commands/utils/skills.js +1 -1
  69. package/build/commands/utils/stitchWebmFiles.js +1 -1
  70. package/build/commands/utils/telemetry.js +1 -1
  71. package/build/commands/utils/tokenRefresh.js +1 -1
  72. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  73. package/build/commands/utils/userApi.js +1 -1
  74. package/build/commands/utils/version.js +1 -1
  75. package/build/commands/verifyFeature.js +1 -1
  76. package/build/commands/verifyFeatureCli.js +1 -1
  77. package/build/skills/ranger/SKILL.md +5 -4
  78. package/build/skills/ranger/verify.md +15 -3
  79. package/package.json +1 -1
@@ -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 _0x524c(){const _0x13c80b=['72549hNkXsW','4840pUkNBV','Unknown\x20hook:\x20','273cvUJnQ','once','304375bVyhpE','54vMZneT','987385gHewUu','exit','5100788tscnMN','9888176DSWcfH','error','SIGHUP','32770760kOdvVg','3YAIKGm','240uhJNhC'];_0x524c=function(){return _0x13c80b;};return _0x524c();}(function(_0x343fe3,_0x556f3b){const _0x13fb82=_0x2471,_0x910307=_0x343fe3();while(!![]){try{const _0x5ba01e=-parseInt(_0x13fb82(0x19c))/0x1*(parseInt(_0x13fb82(0x19a))/0x2)+-parseInt(_0x13fb82(0x197))/0x3*(parseInt(_0x13fb82(0x1a2))/0x4)+parseInt(_0x13fb82(0x19e))/0x5+parseInt(_0x13fb82(0x19f))/0x6*(parseInt(_0x13fb82(0x1a0))/0x7)+-parseInt(_0x13fb82(0x1a3))/0x8+parseInt(_0x13fb82(0x199))/0x9*(-parseInt(_0x13fb82(0x198))/0xa)+parseInt(_0x13fb82(0x196))/0xb;if(_0x5ba01e===_0x556f3b)break;else _0x910307['push'](_0x910307['shift']());}catch(_0x2a8688){_0x910307['push'](_0x910307['shift']());}}}(_0x524c,0xe683b));import{sessionStart,sessionEnd,preCompact,postEdit,planStart,planReminder,exitPlanMode,stopHook,enable,disable,autoPrompt}from'./hooks/index.js';const HOOKS={'session-start':sessionStart,'session-end':sessionEnd,'pre-compact':preCompact,'post-edit':postEdit,'plan-start':planStart,'plan-reminder':planReminder,'exit-plan-mode':exitPlanMode,'stop':stopHook,'enable':enable,'disable':disable,'auto-prompt':autoPrompt};function _0x2471(_0x5bb6c1,_0x134ea3){_0x5bb6c1=_0x5bb6c1-0x196;const _0x524c1a=_0x524c();let _0x2471d3=_0x524c1a[_0x5bb6c1];return _0x2471d3;}let cancellationHandlersInstalled=![];function installCancellationHandlers(){const _0x1e1dff=_0x2471,_0x4aa57c={'Lczyk':'SIGINT','Lysmc':'SIGTERM','vjJri':_0x1e1dff(0x1a5)};if(cancellationHandlersInstalled)return;const _0x5c66ba=()=>{const _0x3c3c5c=_0x1e1dff;process[_0x3c3c5c(0x1a1)](0x0);};process[_0x1e1dff(0x19d)](_0x4aa57c['Lczyk'],_0x5c66ba),process['once'](_0x4aa57c['Lysmc'],_0x5c66ba),process['once'](_0x4aa57c['vjJri'],_0x5c66ba),cancellationHandlersInstalled=!![];}export async function hook(_0x210dc4,_0x3b6e5d){const _0x6daefb=_0x2471;installCancellationHandlers();const _0x58e2b6=HOOKS[_0x210dc4];if(!_0x58e2b6){const _0x38a83d=Object['keys'](HOOKS)['join'](',\x20');console[_0x6daefb(0x1a4)](_0x6daefb(0x19b)+_0x210dc4),console[_0x6daefb(0x1a4)]('Valid\x20hooks:\x20'+_0x38a83d),process[_0x6daefb(0x1a1)](0x1);}await _0x58e2b6(_0x3b6e5d);}
@@ -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 _0x20db(_0x5bfe2a,_0x613d52){_0x5bfe2a=_0x5bfe2a-0x19e;const _0xf522a9=_0xf522();let _0x20dbd5=_0xf522a9[_0x5bfe2a];return _0x20dbd5;}(function(_0x47adb4,_0x40e9b1){const _0x1b3a82=_0x20db,_0x411836=_0x47adb4();while(!![]){try{const _0x2841cc=parseInt(_0x1b3a82(0x19e))/0x1*(parseInt(_0x1b3a82(0x1a9))/0x2)+parseInt(_0x1b3a82(0x1ad))/0x3+parseInt(_0x1b3a82(0x1ac))/0x4*(-parseInt(_0x1b3a82(0x1a0))/0x5)+parseInt(_0x1b3a82(0x1a4))/0x6*(-parseInt(_0x1b3a82(0x19f))/0x7)+-parseInt(_0x1b3a82(0x1a3))/0x8*(-parseInt(_0x1b3a82(0x1aa))/0x9)+-parseInt(_0x1b3a82(0x1a7))/0xa+-parseInt(_0x1b3a82(0x1a1))/0xb*(-parseInt(_0x1b3a82(0x1a2))/0xc);if(_0x2841cc===_0x40e9b1)break;else _0x411836['push'](_0x411836['shift']());}catch(_0x46606a){_0x411836['push'](_0x411836['shift']());}}}(_0xf522,0x3ef2b));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 _0xf522(){const _0x30bb2c=['264915LpjuFQ','4220yCXIHH','156354jJPjEw','24TsRBfh','24uDjStM','66RSFDTw','JykXE','rsefc','3958490PqAZKb','session_id','975342UpdHkC','1414233BsbSwm','log','1724gwIYCq','1338699ABRtRP','1anUfai'];_0xf522=function(){return _0x30bb2c;};return _0xf522();}export async function autoPrompt(){const _0x55a3a5=_0x20db,_0xccb110={'JykXE':function(_0x4cb9d9,_0x51a83a){return _0x4cb9d9(_0x51a83a);},'rsefc':function(_0x26759a,_0x2fc1da){return _0x26759a(_0x2fc1da);}},_0x4c1fa5=await readHookInput(),_0xf3f754=_0x4c1fa5?.[_0x55a3a5(0x1a8)];if(!_0xf3f754)return;if(_0xccb110['JykXE'](isSessionEnabled,_0xf3f754)||_0xccb110[_0x55a3a5(0x1a5)](hasSessionBeenPrompted,_0xf3f754))return;_0xccb110[_0x55a3a5(0x1a6)](markSessionPrompted,_0xf3f754),console[_0x55a3a5(0x1ab)](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 _0x42c5(_0xf31d92,_0x95d429){_0xf31d92=_0xf31d92-0xa8;const _0x319c00=_0x319c();let _0x42c59e=_0x319c00[_0xf31d92];return _0x42c59e;}(function(_0x18ed9b,_0x2f36b1){const _0x47d903=_0x42c5,_0x29aad2=_0x18ed9b();while(!![]){try{const _0x49aa1d=parseInt(_0x47d903(0xac))/0x1+-parseInt(_0x47d903(0xad))/0x2+parseInt(_0x47d903(0xb0))/0x3+parseInt(_0x47d903(0xae))/0x4+parseInt(_0x47d903(0xaf))/0x5+-parseInt(_0x47d903(0xb5))/0x6*(parseInt(_0x47d903(0xb3))/0x7)+parseInt(_0x47d903(0xb2))/0x8;if(_0x49aa1d===_0x2f36b1)break;else _0x29aad2['push'](_0x29aad2['shift']());}catch(_0xfd861c){_0x29aad2['push'](_0x29aad2['shift']());}}}(_0x319c,0x68fb7));function _0x319c(){const _0xee0e93=['FsCuj','main','env','\x20and\x20branch\x20\x27','master','130204PoIJMd','1679712ZAWsgI','385068vtTbmN','476210sAcghQ','1210977ptFYRu','.\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`.','6188528QEdevQ','6545IWEujP','ZKmWB','1470CVeMdU','IMGIb'];_0x319c=function(){return _0xee0e93;};return _0x319c();}import{disableSession,disableBranch,getCurrentBranch}from'../utils/sessionCache.js';import{printBlock}from'./output.js';export async function disable(_0x572412){const _0x4ca98f=_0x42c5,_0xfe59a0={'wnlqB':function(_0x3522b9){return _0x3522b9();},'FsCuj':_0x4ca98f(0xa8),'ZKmWB':function(_0x3aa7d2,_0x59bfa6){return _0x3aa7d2(_0x59bfa6);},'IMGIb':function(_0x4234d7,_0x2c1054){return _0x4234d7!==_0x2c1054;}},_0x16d0a2=_0x572412||process[_0x4ca98f(0xa9)]['CLAUDE_SESSION_ID']||'';_0x16d0a2&&disableSession(_0x16d0a2);const _0xa5b80a=_0xfe59a0['wnlqB'](getCurrentBranch);_0xa5b80a&&_0xa5b80a!==_0xfe59a0[_0x4ca98f(0xb7)]&&_0xa5b80a!==_0x4ca98f(0xab)&&_0xfe59a0[_0x4ca98f(0xb4)](disableBranch,_0xa5b80a),printBlock('#\x20RANGER\x20DISABLED\x0a\x0aThe\x20user\x20has\x20expressly\x20disabled\x20Ranger\x20hooks\x20for\x20this\x20session'+(_0xa5b80a&&_0xa5b80a!==_0x4ca98f(0xa8)&&_0xfe59a0[_0x4ca98f(0xb6)](_0xa5b80a,_0x4ca98f(0xab))?_0x4ca98f(0xaa)+_0xa5b80a+'\x27':'')+_0x4ca98f(0xb1));}
@@ -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(_0x1399f5,_0x1b790b){const _0x445223=_0x3d10,_0x518561=_0x1399f5();while(!![]){try{const _0x705246=parseInt(_0x445223(0x154))/0x1+-parseInt(_0x445223(0x150))/0x2*(-parseInt(_0x445223(0x159))/0x3)+-parseInt(_0x445223(0x15e))/0x4+parseInt(_0x445223(0x14a))/0x5*(parseInt(_0x445223(0x156))/0x6)+-parseInt(_0x445223(0x15b))/0x7*(-parseInt(_0x445223(0x14e))/0x8)+-parseInt(_0x445223(0x158))/0x9*(-parseInt(_0x445223(0x149))/0xa)+-parseInt(_0x445223(0x14b))/0xb;if(_0x705246===_0x1b790b)break;else _0x518561['push'](_0x518561['shift']());}catch(_0x17f80d){_0x518561['push'](_0x518561['shift']());}}}(_0x10a5,0x99923));import{enableSession,getCurrentBranch}from'../utils/sessionCache.js';function _0x10a5(){const _0x3d3da5=['Restart\x20your\x20OpenCode\x20session\x20after\x20setup.','19054syFlEP','Restart\x20your\x20Claude\x20Code\x20session\x20after\x20setup.','KFiII','1712724ppfKvr','ranger\x20setup','190EAgINA','122920YdueYR','26011799JPEhWd','uOIOR','\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`.','736HjUTUa','uWdLG','2431358nTZZJe','ranger\x20setup\x20--opencode','env','zDspT','226680yvwmbT','#\x20RANGER\x20ENABLED','282zEFCCu','master','271746vlSgwx','3PMyYuH'];_0x10a5=function(){return _0x3d3da5;};return _0x10a5();}import{getToken}from'../utils/keychain.js';function _0x3d10(_0x269ba2,_0x59df52){_0x269ba2=_0x269ba2-0x148;const _0x10a541=_0x10a5();let _0x3d1039=_0x10a541[_0x269ba2];return _0x3d1039;}import{getRangerSkillContent}from'../utils/skillContent.js';import{printBlock}from'./output.js';import{update}from'../update.js';export async function enable(_0x30e60f){const _0x2b798b=_0x3d10,_0x3eb62a={'uOIOR':function(_0x352398,_0x124784){return _0x352398(_0x124784);},'KFiII':_0x2b798b(0x148),'cIDhh':_0x2b798b(0x15c),'zDspT':function(_0x38e3cd){return _0x38e3cd();},'xXTMr':function(_0x44ce04){return _0x44ce04();},'EpvyY':'main','uWdLG':function(_0x413203,_0x4e2a4b){return _0x413203(_0x4e2a4b);}},_0x1cbd70=_0x30e60f||process[_0x2b798b(0x152)]['CLAUDE_SESSION_ID']||'',_0x4e8f4f=_0x3eb62a[_0x2b798b(0x14c)](Boolean,_0x30e60f),_0x425652=await getToken();if(!_0x425652){const _0x53283f=_0x4e8f4f?_0x2b798b(0x151):_0x3eb62a[_0x2b798b(0x15d)],_0x44b1ee=_0x4e8f4f?_0x2b798b(0x15a):_0x3eb62a['cIDhh'];_0x3eb62a['uOIOR'](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`'+_0x53283f+'`\x0a\x0aA\x20browser\x20will\x20open\x20for\x20authentication.\x20A\x20human\x20needs\x20to\x20complete\x20the\x20login.\x0a'+_0x44b1ee);return;}try{await _0x3eb62a[_0x2b798b(0x153)](update);}catch{}_0x1cbd70&&_0x3eb62a['uOIOR'](enableSession,_0x1cbd70);const _0x557c34=_0x3eb62a['xXTMr'](getCurrentBranch),_0x1994d0=_0x557c34&&_0x557c34!==_0x3eb62a['EpvyY']&&_0x557c34!==_0x2b798b(0x157)?'\x0a\x0a**Branch\x20\x27'+_0x557c34+'\x27\x20is\x20now\x20enabled**\x20-\x20Ranger\x20will\x20stay\x20active\x20on\x20this\x20branch\x20across\x20sessions.':'',_0x28f7f3=_0x3eb62a[_0x2b798b(0x153)](getRangerSkillContent);_0x3eb62a[_0x2b798b(0x14f)](printBlock,_0x2b798b(0x155)+_0x1994d0+'\x0a\x0a**For\x20ANY\x20UI\x20work,\x20you\x20MUST\x20use\x20the\x20/ranger\x20skill.**\x0a\x0a'+_0x28f7f3+_0x2b798b(0x14d));}
@@ -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(_0x5f0bcb,_0x2dcf83){const _0x3ea974=_0x5b0f,_0x330eea=_0x5f0bcb();while(!![]){try{const _0x2919be=-parseInt(_0x3ea974(0x19a))/0x1+parseInt(_0x3ea974(0x196))/0x2+parseInt(_0x3ea974(0x198))/0x3+parseInt(_0x3ea974(0x197))/0x4+parseInt(_0x3ea974(0x195))/0x5+parseInt(_0x3ea974(0x19e))/0x6*(-parseInt(_0x3ea974(0x199))/0x7)+-parseInt(_0x3ea974(0x19c))/0x8*(parseInt(_0x3ea974(0x19d))/0x9);if(_0x2919be===_0x2dcf83)break;else _0x330eea['push'](_0x330eea['shift']());}catch(_0xdfa67c){_0x330eea['push'](_0x330eea['shift']());}}}(_0x38b4,0x9892a));function _0x38b4(){const _0x441c8a=['18zTZrfY','120570hKzivG','1080754DcTKCu','1588560RXnQoS','2709462FhODSH','893571jvvoOl','828267exMeHG','===\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===','8GHKLkf','257589lDtYjJ'];_0x38b4=function(){return _0x441c8a;};return _0x38b4();}function _0x5b0f(_0xc2ccac,_0x367cc4){_0xc2ccac=_0xc2ccac-0x195;const _0x38b460=_0x38b4();let _0x5b0f4e=_0x38b460[_0xc2ccac];return _0x5b0f4e;}import{printBlock,getEnabledSessionId}from'./output.js';export async function exitPlanMode(_0x44abeb){const _0x36cef2=_0x5b0f,_0x170dfe=await getEnabledSessionId(_0x44abeb);if(!_0x170dfe)return;printBlock(_0x36cef2(0x19b));}
@@ -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 _0x10ce(){var _0x500379=['4uTDxdl','11864DNwGvs','474867TOkMqU','137873Tjcdqe','90AzsLMs','9GGuJfk','466632gQrQgq','1596315QsSufZ','981088YTiSzZ','7083230nCxIaP','3143sQHwJm'];_0x10ce=function(){return _0x500379;};return _0x10ce();}function _0x2424(_0x307415,_0x51a7f7){_0x307415=_0x307415-0x16a;var _0x10ce21=_0x10ce();var _0x2424b0=_0x10ce21[_0x307415];return _0x2424b0;}(function(_0x34c3e3,_0x13e8e8){var _0x4c24e2=_0x2424,_0x1ec4ac=_0x34c3e3();while(!![]){try{var _0x496b04=parseInt(_0x4c24e2(0x173))/0x1*(parseInt(_0x4c24e2(0x170))/0x2)+parseInt(_0x4c24e2(0x16a))/0x3*(-parseInt(_0x4c24e2(0x16d))/0x4)+parseInt(_0x4c24e2(0x16c))/0x5+parseInt(_0x4c24e2(0x16b))/0x6+-parseInt(_0x4c24e2(0x16f))/0x7*(parseInt(_0x4c24e2(0x171))/0x8)+-parseInt(_0x4c24e2(0x172))/0x9*(-parseInt(_0x4c24e2(0x174))/0xa)+parseInt(_0x4c24e2(0x16e))/0xb;if(_0x496b04===_0x13e8e8)break;else _0x1ec4ac['push'](_0x1ec4ac['shift']());}catch(_0x551acc){_0x1ec4ac['push'](_0x1ec4ac['shift']());}}}(_0x10ce,0x5f307));export{sessionStart}from'./sessionStart.js';export{sessionEnd}from'./sessionEnd.js';export{preCompact}from'./preCompact.js';export{postEdit}from'./postEdit.js';export{planStart}from'./planStart.js';export{planReminder}from'./planReminder.js';export{exitPlanMode}from'./exitPlanMode.js';export{stopHook}from'./stopHook.js';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(_0x43726f,_0xe86d8f){const _0x1f63a0=_0x1495,_0x5e49e8=_0x43726f();while(!![]){try{const _0x206f3b=parseInt(_0x1f63a0(0xc5))/0x1+-parseInt(_0x1f63a0(0xc3))/0x2+-parseInt(_0x1f63a0(0xc1))/0x3+-parseInt(_0x1f63a0(0xc8))/0x4*(-parseInt(_0x1f63a0(0xca))/0x5)+parseInt(_0x1f63a0(0xc9))/0x6+parseInt(_0x1f63a0(0xc7))/0x7*(parseInt(_0x1f63a0(0xc4))/0x8)+-parseInt(_0x1f63a0(0xc2))/0x9;if(_0x206f3b===_0xe86d8f)break;else _0x5e49e8['push'](_0x5e49e8['shift']());}catch(_0x43e52a){_0x5e49e8['push'](_0x5e49e8['shift']());}}}(_0xc713,0xdf4e4));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x3be9bc){console['log'](_0x3be9bc);}function _0xc713(){const _0x367181=['2281044atqdJG','38397474exlrjS','714164ADnvxk','8IobGSO','1767233FpFcUB','session_id','10541587DOVZoE','15492FCUDXJ','9623466ZTTcLd','1835LVigii'];_0xc713=function(){return _0x367181;};return _0xc713();}export async function readHookInput(){let _0x1eee03='';try{for await(const _0x35981b of process['stdin']){_0x1eee03+=_0x35981b;}}catch{return null;}if(!_0x1eee03['trim']())return null;try{return JSON['parse'](_0x1eee03);}catch{return null;}}export async function getEnabledSessionId(_0x469b4d){if(_0x469b4d)return isSessionEnabled(_0x469b4d)?_0x469b4d:null;const _0x68dc49=await readHookInput(),_0x2fa46d=_0x68dc49?.['session_id'];if(!_0x2fa46d||!isSessionEnabled(_0x2fa46d))return null;return _0x2fa46d;}function _0x1495(_0x4a141a,_0x4a1137){_0x4a141a=_0x4a141a-0xc1;const _0xc71394=_0xc713();let _0x1495e4=_0xc71394[_0x4a141a];return _0x1495e4;}export async function getEnabledHookContext(_0x78d61d){const _0x20e089=_0x1495,_0x53687d={'UYBTw':function(_0x4f718f,_0x2f38c0){return _0x4f718f(_0x2f38c0);}};if(_0x78d61d){if(!isSessionEnabled(_0x78d61d))return null;return{'sessionId':_0x78d61d,'input':{'session_id':_0x78d61d}};}const _0x1cf425=await readHookInput(),_0x4a2ba4=_0x1cf425?.[_0x20e089(0xc6)];if(!_0x4a2ba4||!_0x53687d['UYBTw'](isSessionEnabled,_0x4a2ba4))return null;return{'sessionId':_0x4a2ba4,'input':_0x1cf425};}
@@ -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 _0x2eb9(_0x2d7557,_0x299aa7){_0x2d7557=_0x2d7557-0x1ee;const _0x2f2e99=_0x2f2e();let _0x2eb9e8=_0x2f2e99[_0x2d7557];return _0x2eb9e8;}(function(_0x46c282,_0x493dcf){const _0x54b0cd=_0x2eb9,_0x11f9ce=_0x46c282();while(!![]){try{const _0x252f0a=-parseInt(_0x54b0cd(0x200))/0x1*(parseInt(_0x54b0cd(0x1fc))/0x2)+-parseInt(_0x54b0cd(0x1f9))/0x3*(parseInt(_0x54b0cd(0x1f2))/0x4)+parseInt(_0x54b0cd(0x1f8))/0x5*(-parseInt(_0x54b0cd(0x1f6))/0x6)+parseInt(_0x54b0cd(0x1f4))/0x7*(parseInt(_0x54b0cd(0x1f3))/0x8)+-parseInt(_0x54b0cd(0x1f1))/0x9+parseInt(_0x54b0cd(0x1f0))/0xa*(-parseInt(_0x54b0cd(0x1fd))/0xb)+-parseInt(_0x54b0cd(0x1f5))/0xc*(-parseInt(_0x54b0cd(0x1ee))/0xd);if(_0x252f0a===_0x493dcf)break;else _0x11f9ce['push'](_0x11f9ce['shift']());}catch(_0xf52553){_0x11f9ce['push'](_0x11f9ce['shift']());}}}(_0x2f2e,0x28422));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x323f17){const _0x274431=_0x2eb9,_0x4bd311={'FYjIz':function(_0x34d98d,_0x25252f){return _0x34d98d(_0x25252f);},'OWRlW':function(_0x127fcb,_0x3e6c51){return _0x127fcb!==_0x3e6c51;},'gNYEn':_0x274431(0x1ef),'jVmRo':function(_0x4e7d8b,_0x394cbc){return _0x4e7d8b(_0x394cbc);}},_0x34e972=await _0x4bd311[_0x274431(0x1fa)](getEnabledHookContext,_0x323f17);if(!_0x34e972)return;if(_0x4bd311[_0x274431(0x1f7)](_0x34e972[_0x274431(0x1ff)][_0x274431(0x1fe)],_0x4bd311['gNYEn']))return;if(!shouldShowPlanReminder(_0x34e972[_0x274431(0x1fb)]))return;_0x4bd311['jVmRo'](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===');}function _0x2f2e(){const _0xb95e7=['1454202fuKExT','4XQcZdy','8NDpvwH','1242766zAbAOW','12uPWfcP','1370526qiPNRr','OWRlW','5odOWOI','921786Euzyev','FYjIz','sessionId','487912GnBvfo','11ydIunX','permission_mode','input','1otTHdd','15796833pLxrBj','plan','2865640jKHtIk'];_0x2f2e=function(){return _0xb95e7;};return _0x2f2e();}
@@ -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 _0x4d52(_0x4f5542,_0x2e96cd){_0x4f5542=_0x4f5542-0xd0;const _0x369e28=_0x369e();let _0x4d52c8=_0x369e28[_0x4f5542];return _0x4d52c8;}(function(_0x43689b,_0x563343){const _0x42351f=_0x4d52,_0x3f3380=_0x43689b();while(!![]){try{const _0x2aac66=-parseInt(_0x42351f(0xd4))/0x1+-parseInt(_0x42351f(0xd0))/0x2*(-parseInt(_0x42351f(0xd5))/0x3)+parseInt(_0x42351f(0xd3))/0x4+-parseInt(_0x42351f(0xd8))/0x5*(-parseInt(_0x42351f(0xd7))/0x6)+parseInt(_0x42351f(0xd1))/0x7+-parseInt(_0x42351f(0xd6))/0x8+parseInt(_0x42351f(0xd9))/0x9;if(_0x2aac66===_0x563343)break;else _0x3f3380['push'](_0x3f3380['shift']());}catch(_0x56703a){_0x3f3380['push'](_0x3f3380['shift']());}}}(_0x369e,0x875fd));import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x3965d4){const _0x37ddbb=_0x4d52,_0x4d4b6f={'bkNtg':function(_0x220cc7,_0x2a46b1){return _0x220cc7(_0x2a46b1);}},_0x3f5491=await getEnabledSessionId(_0x3965d4);if(!_0x3f5491)return;_0x4d4b6f[_0x37ddbb(0xd2)](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===');}function _0x369e(){const _0x3057cb=['3006647eVoBnk','bkNtg','2386496sKRVbm','991572PLCVeA','93zFPMTf','7469992denucn','264cvEqzK','26915btUAZa','9166311FOnykM','12796XVqexX'];_0x369e=function(){return _0x3057cb;};return _0x369e();}
@@ -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(_0x43dda4,_0xbc68df){const _0xd1d306=_0x281b,_0x5b3f8f=_0x43dda4();while(!![]){try{const _0x53bcd4=parseInt(_0xd1d306(0x12c))/0x1+parseInt(_0xd1d306(0x129))/0x2*(-parseInt(_0xd1d306(0x12f))/0x3)+-parseInt(_0xd1d306(0x12b))/0x4+-parseInt(_0xd1d306(0x12d))/0x5+-parseInt(_0xd1d306(0x12e))/0x6*(-parseInt(_0xd1d306(0x131))/0x7)+parseInt(_0xd1d306(0x126))/0x8+parseInt(_0xd1d306(0x130))/0x9;if(_0x53bcd4===_0xbc68df)break;else _0x5b3f8f['push'](_0x5b3f8f['shift']());}catch(_0xc3edc5){_0x5b3f8f['push'](_0x5b3f8f['shift']());}}}(_0x5159,0xce2f7));function _0x281b(_0x2ad158,_0x3440d4){_0x2ad158=_0x2ad158-0x125;const _0x5159e2=_0x5159();let _0x281b4f=_0x5159e2[_0x2ad158];return _0x281b4f;}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x5159(){const _0x10e223=['6810504IzyeWP','stringify','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','2wizwTJ','PostToolUse','5120416wxmAFc','331980KBhfig','5487530MdOTat','6TMsLcj','1088913DRvMPf','13356720cyagLa','6424201sXJYmS','log','FOvSS'];_0x5159=function(){return _0x10e223;};return _0x5159();}export async function postEdit(_0x4fa830){const _0x48df8d=_0x281b,_0x3c44c4={'zForM':function(_0x91fe8f,_0x2a59f7){return _0x91fe8f(_0x2a59f7);},'FOvSS':function(_0x5cb54a){return _0x5cb54a();}},_0x2c1911=await _0x3c44c4['zForM'](getEnabledSessionId,_0x4fa830);if(!_0x2c1911)return;updateBranchTracking(_0x2c1911);const _0x2aee85=await _0x3c44c4[_0x48df8d(0x125)](getToken);if(!_0x2aee85)return;const _0x569aaf=_0x3c44c4['zForM'](getSessionEntry,_0x2c1911);if(_0x569aaf){const _0x12ee90={'hookSpecificOutput':{'hookEventName':_0x48df8d(0x12a),'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[_0x48df8d(0x132)](JSON[_0x48df8d(0x127)](_0x12ee90));return;}const _0x25b2ef={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x48df8d(0x128)}};console['log'](JSON['stringify'](_0x25b2ef));}
@@ -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 _0x4a64(){const _0x5334de=['603fErnQt','3tZCTDV','lOMNo','205570wRsghs','3441886qpkfCK','1784JeFDIa','182346wALyip','584198UWCBpM','30FMIWyP','189076zcQbLH','4077410YkHKqJ'];_0x4a64=function(){return _0x5334de;};return _0x4a64();}(function(_0xbc0124,_0x4ca778){const _0x443aac=_0x51eb,_0x866c4f=_0xbc0124();while(!![]){try{const _0x41019c=parseInt(_0x443aac(0x1cf))/0x1+-parseInt(_0x443aac(0x1ce))/0x2+-parseInt(_0x443aac(0x1c9))/0x3*(parseInt(_0x443aac(0x1d1))/0x4)+-parseInt(_0x443aac(0x1cb))/0x5*(parseInt(_0x443aac(0x1d0))/0x6)+parseInt(_0x443aac(0x1cc))/0x7+parseInt(_0x443aac(0x1cd))/0x8*(-parseInt(_0x443aac(0x1d3))/0x9)+-parseInt(_0x443aac(0x1d2))/0xa;if(_0x41019c===_0x4ca778)break;else _0x866c4f['push'](_0x866c4f['shift']());}catch(_0x33811d){_0x866c4f['push'](_0x866c4f['shift']());}}}(_0x4a64,0x4b7d2));import{getToken}from'../utils/keychain.js';function _0x51eb(_0x127805,_0x1e8253){_0x127805=_0x127805-0x1c9;const _0x4a64d9=_0x4a64();let _0x51eb69=_0x4a64d9[_0x127805];return _0x51eb69;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x1c5bc1){const _0x519f6f=_0x51eb,_0x428495={'XIGik':function(_0xd9d75b,_0x2561a9){return _0xd9d75b(_0x2561a9);},'JihFx':function(_0x21123){return _0x21123();},'lOMNo':function(_0x5010e5,_0x1c895a){return _0x5010e5(_0x1c895a);}},_0x4f7f87=await _0x428495['XIGik'](getEnabledSessionId,_0x1c5bc1);if(!_0x4f7f87)return;try{const _0x5496d1=await _0x428495['JihFx'](getToken);if(!_0x5496d1)return;_0x428495[_0x519f6f(0x1ca)](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(_0x3cf07a,_0x426cce){const _0x8a81f6=_0x36f8,_0x481341=_0x3cf07a();while(!![]){try{const _0x2c3ca2=parseInt(_0x8a81f6(0xf3))/0x1+parseInt(_0x8a81f6(0xf2))/0x2+-parseInt(_0x8a81f6(0xf6))/0x3*(parseInt(_0x8a81f6(0xf7))/0x4)+-parseInt(_0x8a81f6(0xef))/0x5+parseInt(_0x8a81f6(0xf1))/0x6+-parseInt(_0x8a81f6(0xee))/0x7+parseInt(_0x8a81f6(0xf4))/0x8;if(_0x2c3ca2===_0x426cce)break;else _0x481341['push'](_0x481341['shift']());}catch(_0x3e87b7){_0x481341['push'](_0x481341['shift']());}}}(_0x1518,0x579b1));function _0x36f8(_0x38568c,_0x285ee1){_0x38568c=_0x38568c-0xee;const _0x151805=_0x1518();let _0x36f8da=_0x151805[_0x38568c];return _0x36f8da;}function _0x1518(){const _0x1d9126=['2334773pFlVHr','2704280gtqXML','vGUud','1717728SgDwax','1106454wnJHZl','623042XRkqLR','2240040rQqkze','clear','1407HktmiE','4344OdDSoq'];_0x1518=function(){return _0x1d9126;};return _0x1518();}import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';export async function sessionEnd(_0x5b7f2b){const _0x255260=_0x36f8,_0x469802={'xBdhl':function(_0x6abcfc,_0x360ff9){return _0x6abcfc(_0x360ff9);},'vYoYJ':function(_0x53f182,_0x4fd54f){return _0x53f182===_0x4fd54f;},'vGUud':function(_0x338006,_0x261087){return _0x338006(_0x261087);}},_0x179d82=process['env']['CLAUDE_SESSION_ID'];let _0x49ba05=_0x5b7f2b,_0x413ec0;if(!_0x5b7f2b){if(_0x179d82&&!_0x469802['xBdhl'](isSessionEnabled,_0x179d82))return;const _0x1db65a=await readHookInput();_0x49ba05=_0x1db65a?.['session_id']||_0x179d82,_0x413ec0=_0x1db65a?.['reason'];}if(!_0x49ba05)return;_0x469802['vYoYJ'](_0x413ec0,_0x255260(0xf5))&&_0x469802[_0x255260(0xf0)](recordEnabledSessionCleared,_0x49ba05);}
@@ -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
+ const _0x1da463=_0x1839;(function(_0x599499,_0x47c83d){const _0x6d2e0f=_0x1839,_0xf03606=_0x599499();while(!![]){try{const _0x34cfa1=parseInt(_0x6d2e0f(0x147))/0x1+-parseInt(_0x6d2e0f(0x135))/0x2+parseInt(_0x6d2e0f(0x146))/0x3+-parseInt(_0x6d2e0f(0x13e))/0x4*(-parseInt(_0x6d2e0f(0x136))/0x5)+parseInt(_0x6d2e0f(0x133))/0x6+parseInt(_0x6d2e0f(0x137))/0x7*(-parseInt(_0x6d2e0f(0x143))/0x8)+-parseInt(_0x6d2e0f(0x134))/0x9;if(_0x34cfa1===_0x47c83d)break;else _0xf03606['push'](_0xf03606['shift']());}catch(_0x2931fe){_0xf03606['push'](_0xf03606['shift']());}}}(_0x1460,0x3d4d6));function _0x1839(_0x7ae2aa,_0x3a3a16){_0x7ae2aa=_0x7ae2aa-0x133;const _0x1460e3=_0x1460();let _0x1839df=_0x1460e3[_0x7ae2aa];return _0x1839df;}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=_0x1da463(0x145);export async function sessionStart(_0x40ec6e){const _0x4d77ac=_0x1da463,_0x2ee79d={'KYjuv':function(_0x23937c,_0x136963){return _0x23937c||_0x136963;},'CnzFY':'session_id','uHdzU':'source','BmdBs':function(_0xcce56d,_0x249c7c){return _0xcce56d(_0x249c7c);},'WYjRu':_0x4d77ac(0x13d),'ayWLD':'success','LfOBr':function(_0x2f70ff){return _0x2f70ff();},'Pekgd':function(_0x133d66,_0x1f887a){return _0x133d66!==_0x1f887a;},'SBUBv':_0x4d77ac(0x144)};let _0x497cb4=_0x2ee79d[_0x4d77ac(0x141)](_0x40ec6e,''),_0x3d0b49;if(!_0x40ec6e){let _0x549078='';for await(const _0x417972 of process[_0x4d77ac(0x14a)]){_0x549078+=_0x417972;}try{const _0x5e31a5=JSON['parse'](_0x549078);_0x497cb4=_0x5e31a5[_0x2ee79d[_0x4d77ac(0x142)]]||'',_0x3d0b49=_0x5e31a5[_0x2ee79d[_0x4d77ac(0x139)]];}catch{}const _0x40d7d0=process[_0x4d77ac(0x14c)][_0x4d77ac(0x138)];if(_0x40d7d0&&_0x497cb4)try{await appendFile(_0x40d7d0,_0x4d77ac(0x13b)+_0x497cb4+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x497cb4){_0x2ee79d['BmdBs'](shouldAutoEnableAfterClear,_0x3d0b49)&&_0x2ee79d['BmdBs'](autoEnableAfterClear,_0x497cb4);_0x2ee79d[_0x4d77ac(0x14b)](initBranchTracking,_0x497cb4);const _0x2c884f=_0x2ee79d['BmdBs'](isSessionEnabled,_0x497cb4);try{const _0x111d5f=createTelemetryCollector(_0x2ee79d[_0x4d77ac(0x13f)]);await _0x111d5f[_0x4d77ac(0x149)]({'sessionId':_0x497cb4,'hooksEnabled':_0x2c884f}),await _0x111d5f['trackCommandEnd'](_0x2ee79d['ayWLD']);}catch{}if(_0x2c884f){const _0x4db789=_0x2ee79d[_0x4d77ac(0x148)](getCurrentBranch),_0x19091f=_0x4db789&&_0x2ee79d[_0x4d77ac(0x13a)](_0x4db789,_0x2ee79d['SBUBv'])&&_0x2ee79d[_0x4d77ac(0x13a)](_0x4db789,'master')?'\x20(Branch:\x20'+_0x4db789+')':'',_0x1ed924={'hookSpecificOutput':{'hookEventName':_0x4d77ac(0x140),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x19091f}};console['log'](JSON[_0x4d77ac(0x13c)](_0x1ed924));}}}function _0x1460(){const _0x353dd4=['91372IDXdsf','LfOBr','trackCommandStart','stdin','BmdBs','env','1013862rrkRmw','2300634hKRjZE','605742PwUgLA','25395ncesZc','7BqufsM','CLAUDE_ENV_FILE','uHdzU','Pekgd','export\x20CLAUDE_SESSION_ID=\x22','stringify','hook:session-start','84sWFrIX','WYjRu','SessionStart','KYjuv','CnzFY','1936LPvKuE','main','=================================================================\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=================================================================','1328475dlmiTI'];_0x1460=function(){return _0x353dd4;};return _0x1460();}
@@ -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 _0x282b(_0x2458dd,_0x294387){_0x2458dd=_0x2458dd-0x6d;const _0x574d6c=_0x574d();let _0x282b38=_0x574d6c[_0x2458dd];return _0x282b38;}(function(_0x28ca99,_0x107671){const _0x171d05=_0x282b,_0x15d995=_0x28ca99();while(!![]){try{const _0x281050=parseInt(_0x171d05(0x72))/0x1*(parseInt(_0x171d05(0x75))/0x2)+parseInt(_0x171d05(0x78))/0x3*(parseInt(_0x171d05(0x71))/0x4)+parseInt(_0x171d05(0x7d))/0x5*(parseInt(_0x171d05(0x81))/0x6)+parseInt(_0x171d05(0x80))/0x7+-parseInt(_0x171d05(0x7e))/0x8+parseInt(_0x171d05(0x84))/0x9*(parseInt(_0x171d05(0x82))/0xa)+parseInt(_0x171d05(0x7a))/0xb*(-parseInt(_0x171d05(0x79))/0xc);if(_0x281050===_0x107671)break;else _0x15d995['push'](_0x15d995['shift']());}catch(_0x56e2a2){_0x15d995['push'](_0x15d995['shift']());}}}(_0x574d,0x27635));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';function _0x574d(){const _0x5c0989=['closed','verified','featureId','16NEpAsF','473rkXmvD','some','Stop','606CAHevE','nqrJF','incomplete','172311KpMrVm','910548tnLQcZ','66CRHmdH','qxzVA','checklistItems','75svMLzJ','351016NIXkid','hook:stop','249319ttVHEi','84834HtLfKp','79430wLtJQt','https://dashboard.ranger.net/features/','45VNZKhE','trackCommandEnd','log'];_0x574d=function(){return _0x5c0989;};return _0x574d();}import{createTelemetryCollector}from'../utils/telemetry.js';export async function stopHook(_0x4aeeaa){const _0x114d94=_0x282b,_0xf22af={'nurzQ':function(_0x5e8bef,_0x836089){return _0x5e8bef(_0x836089);},'LvXhI':function(_0x2340c0){return _0x2340c0();},'QyPCY':function(_0x1d07c2,_0x10afff){return _0x1d07c2&&_0x10afff;},'wfwPV':function(_0x1aef63,_0x530908,_0x51d75a,_0x5b7c8b){return _0x1aef63(_0x530908,_0x51d75a,_0x5b7c8b);}},_0x58da61=await _0xf22af['nurzQ'](getEnabledHookContext,_0x4aeeaa),_0x15aee9=_0x58da61?.['sessionId']??null;let _0x14dc0e=!![];if(!_0x15aee9){await trackStop(_0x15aee9,![],_0x14dc0e);return;}try{const _0x590742=getSessionEntry(_0x15aee9);if(!_0x590742){await trackStop(_0x15aee9,!![],_0x14dc0e);return;}const _0xadfc7c=await _0xf22af['LvXhI'](getToken),_0x417862=_0x114d94(0x83)+_0x590742[_0x114d94(0x70)];let _0x3b7d1d=null,_0x5275f2=![],_0x4e5cde=![];if(_0xadfc7c)try{const _0x282804=await getFeature(_0x590742['featureId']);_0x3b7d1d=_0x282804['currentSessionId']??null;const _0x51e93e=_0x282804[_0x114d94(0x7c)]['filter'](_0xae2988=>_0xae2988['sessionId']===_0x3b7d1d);_0x5275f2=_0x51e93e['some'](_0x528f41=>_0x528f41['status']!==_0x114d94(0x6f)&&_0x528f41['status']!=='blocked'&&_0x528f41['status']!==_0x114d94(0x6e)&&_0x528f41['status']!==_0x114d94(0x77)),_0x4e5cde=_0x51e93e[_0x114d94(0x73)](_0x760e5d=>_0x760e5d['status']==='verification_in_progress');}catch{}if(_0xadfc7c&&_0x3b7d1d&&_0x5275f2){if(!_0x4e5cde&&shouldShowStopReminder(_0x15aee9)){const _0x38f3b3={'hookSpecificOutput':{'hookEventName':_0x114d94(0x74),'additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x417862}};console[_0x114d94(0x6d)](JSON['stringify'](_0x38f3b3));}}if(_0xf22af['QyPCY'](_0xadfc7c,_0x3b7d1d)&&!_0x5275f2)try{await concludeSession(_0x590742['featureId'],_0x3b7d1d);}catch{}await trackStop(_0x15aee9,!![],_0x14dc0e);return;}catch{await _0xf22af['wfwPV'](trackStop,_0x15aee9,!![],_0x14dc0e);return;}}async function trackStop(_0x2a11af,_0x4f5ee8,_0x3cb110){const _0x1bcb78=_0x282b,_0x26c262={'qxzVA':function(_0x533f09,_0x8f9261){return _0x533f09(_0x8f9261);},'nqrJF':function(_0x447e34,_0x573cb2){return _0x447e34??_0x573cb2;},'ECInf':'success'};try{const _0x37950e=_0x26c262[_0x1bcb78(0x7b)](createTelemetryCollector,_0x1bcb78(0x7f));await _0x37950e['trackCommandStart']({'sessionId':_0x26c262[_0x1bcb78(0x76)](_0x2a11af,undefined),'hooksEnabled':_0x4f5ee8,'stopAllowed':_0x3cb110}),await _0x37950e[_0x1bcb78(0x85)](_0x26c262['ECInf']);}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(_0xacb905,_0x512da9){var _0x388288=_0x297d,_0x406b83=_0xacb905();while(!![]){try{var _0xbd7f92=parseInt(_0x388288(0x111))/0x1*(-parseInt(_0x388288(0x109))/0x2)+parseInt(_0x388288(0x10a))/0x3*(parseInt(_0x388288(0x108))/0x4)+-parseInt(_0x388288(0x10c))/0x5+parseInt(_0x388288(0x110))/0x6+parseInt(_0x388288(0x10f))/0x7*(parseInt(_0x388288(0x106))/0x8)+parseInt(_0x388288(0x107))/0x9*(parseInt(_0x388288(0x10d))/0xa)+-parseInt(_0x388288(0x10b))/0xb*(-parseInt(_0x388288(0x10e))/0xc);if(_0xbd7f92===_0x512da9)break;else _0x406b83['push'](_0x406b83['shift']());}catch(_0xa33bae){_0x406b83['push'](_0x406b83['shift']());}}}(_0x13f5,0xe778d));function _0x297d(_0x902d9,_0x504447){_0x902d9=_0x902d9-0x106;var _0x13f51e=_0x13f5();var _0x297db1=_0x13f51e[_0x902d9];return _0x297db1;}export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';function _0x13f5(){var _0x3d20df=['3NkTVZG','34089vLkfmN','1479350RTBfor','490HokiPh','2472tzanYx','8652lySbCc','2557020ttUYSy','3199QldqJZ','32KpCmuz','235017RxRCrC','2476780yCtUXh','1078rIdCOK'];_0x13f5=function(){return _0x3d20df;};return _0x13f5();}export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';
@@ -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(_0x27f23d,_0x257a34){const _0x3addd3=_0x2b24,_0x564750=_0x27f23d();while(!![]){try{const _0x24e62d=parseInt(_0x3addd3(0x1a2))/0x1*(parseInt(_0x3addd3(0x1a1))/0x2)+-parseInt(_0x3addd3(0x19c))/0x3*(parseInt(_0x3addd3(0x1a6))/0x4)+parseInt(_0x3addd3(0x1a4))/0x5+-parseInt(_0x3addd3(0x1a8))/0x6*(parseInt(_0x3addd3(0x19f))/0x7)+-parseInt(_0x3addd3(0x1a0))/0x8*(-parseInt(_0x3addd3(0x19e))/0x9)+parseInt(_0x3addd3(0x19d))/0xa+-parseInt(_0x3addd3(0x1a9))/0xb;if(_0x24e62d===_0x257a34)break;else _0x564750['push'](_0x564750['shift']());}catch(_0x567594){_0x564750['push'](_0x564750['shift']());}}}(_0x3dd1,0x621bf));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x2ab411=_0x2b24,_0x542aa2={'dmZnT':function(_0x14bb04){return _0x14bb04();},'jEfzX':function(_0x42236c,_0x1a2653){return _0x42236c(_0x1a2653);},'Anqrd':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x3c6f64=await _0x542aa2[_0x2ab411(0x1a5)](getMcpAuthOrigin);if(_0x3c6f64){console['log'](_0x2ab411(0x1aa)),await mcpBootstrap();return;}const _0x2b784d=process[_0x2ab411(0x19b)][_0x2ab411(0x196)]&&process['stdout']['isTTY'];if(!_0x2b784d)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0x42092c=await _0x542aa2[_0x2ab411(0x1a5)](runDeviceAuthFlow),_0x438241=await _0x542aa2['jEfzX'](getCurrentUser,_0x42092c);_0x438241[_0x2ab411(0x19a)]?console[_0x2ab411(0x1a7)](_0x2ab411(0x198)+_0x438241['user'][_0x2ab411(0x199)]):console['log'](_0x542aa2[_0x2ab411(0x1a3)]);}catch(_0x43ab75){throw new Error(_0x2ab411(0x197)+(_0x43ab75 instanceof Error?_0x43ab75['message']:_0x43ab75));}}function _0x2b24(_0x84499e,_0x1fc0d7){_0x84499e=_0x84499e-0x196;const _0x3dd1df=_0x3dd1();let _0x2b2443=_0x3dd1df[_0x84499e];return _0x2b2443;}function _0x3dd1(){const _0x384cdb=['success','stdin','9VWfTGg','210160mCGHvI','9XTEgPM','430458TKRIkO','1816392okvhQT','1489814elwECe','1iGZVdt','Anqrd','3458700ThaYxc','dmZnT','114756TETydS','log','60xoWGUB','6400350RAMiSE','Re-authenticating\x20via\x20MCP\x20bootstrap...','isTTY','Login\x20failed:\x20','\x0a✅\x20Logged\x20in\x20to\x20','organizationName'];_0x3dd1=function(){return _0x384cdb;};return _0x3dd1();}
@@ -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 _0x3fb8af=_0x16b4;(function(_0x49ca05,_0x54e0b1){const _0x15aaa3=_0x16b4,_0x138190=_0x49ca05();while(!![]){try{const _0x8c3e8e=parseInt(_0x15aaa3(0x14e))/0x1*(parseInt(_0x15aaa3(0x1ac))/0x2)+parseInt(_0x15aaa3(0x177))/0x3+-parseInt(_0x15aaa3(0x1ab))/0x4*(-parseInt(_0x15aaa3(0x17c))/0x5)+-parseInt(_0x15aaa3(0x1be))/0x6+-parseInt(_0x15aaa3(0x16d))/0x7+parseInt(_0x15aaa3(0x1c9))/0x8*(-parseInt(_0x15aaa3(0x187))/0x9)+parseInt(_0x15aaa3(0x19d))/0xa*(parseInt(_0x15aaa3(0x13c))/0xb);if(_0x8c3e8e===_0x54e0b1)break;else _0x138190['push'](_0x138190['shift']());}catch(_0x5bb6ad){_0x138190['push'](_0x138190['shift']());}}}(_0x1a2c,0x35a56));import{mkdir,writeFile,readFile}from'fs/promises';function _0x16b4(_0x55e1f1,_0x85307d){_0x55e1f1=_0x55e1f1-0x139;const _0x1a2c0f=_0x1a2c();let _0x16b4a6=_0x1a2c0f[_0x55e1f1];return _0x16b4a6;}import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x3fb8af(0x1b6)),AUTH_ORIGIN_PATH=join(homedir(),'.ranger','auth-origin.txt');export async function getMcpAuthOrigin(){const _0x13f308=_0x3fb8af,_0x1db12e={'NonyT':_0x13f308(0x1b7)};try{const _0x4d9185=(await readFile(AUTH_ORIGIN_PATH,_0x1db12e['NonyT']))['trim']();return _0x4d9185||null;}catch{return null;}}export async function mcpBootstrap(){const _0x47d050=_0x3fb8af,_0x4f37b9={'OstgE':function(_0x4b9a39){return _0x4b9a39();},'GDBLw':function(_0x370748,_0xe04b6d){return _0x370748===_0xe04b6d;},'UqHyG':function(_0x1aa677){return _0x1aa677();},'gnqrS':_0x47d050(0x18b),'lorPJ':function(_0x585938,_0x194a65){return _0x585938(_0x194a65);}},_0x2f8313=_0x4f37b9[_0x47d050(0x1a2)](getMcpAuthUrl);currentOrigin=_0x2f8313;const _0x21cb60=process['stdout'][_0x47d050(0x141)]??![];console[_0x47d050(0x182)]('\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20'+_0x2f8313+'\x0a');const _0xd7a688=await tryUnauthenticated(_0x2f8313);let _0x3e6494=null;if(_0x4f37b9[_0x47d050(0x191)](_0xd7a688,_0x47d050(0x180)))_0x3e6494='';else{_0x3e6494=await _0x4f37b9['UqHyG'](loadCachedToken);if(!_0x3e6494){if(!_0x21cb60)throw new Error(_0x47d050(0x1a4)+_0x4f37b9['gnqrS']);_0x3e6494=await _0x4f37b9['lorPJ'](oauthFlow,_0x2f8313);}}await callGetCliToken(_0x2f8313,_0x3e6494);}async function tryUnauthenticated(_0x3e8dfd){const _0x366de3=_0x3fb8af,_0x211444={'auJgV':function(_0x3a305b,_0x2ec1a8,_0x45b099){return _0x3a305b(_0x2ec1a8,_0x45b099);},'PzJPK':'POST','gBGwk':_0x366de3(0x1b3),'gPrxz':_0x366de3(0x173),'IoLei':_0x366de3(0x172),'wkOfK':_0x366de3(0x1cd),'lrwoH':_0x366de3(0x14f),'qXaMX':function(_0x402afb,_0x17b8a6){return _0x402afb===_0x17b8a6;}},_0x21b931=await _0x211444[_0x366de3(0x19e)](fetch,_0x3e8dfd,{'method':_0x211444[_0x366de3(0x152)],'headers':{'Content-Type':_0x211444[_0x366de3(0x147)],'Accept':_0x211444['gPrxz']},'body':JSON[_0x366de3(0x144)]({'jsonrpc':'2.0','id':0x1,'method':_0x211444[_0x366de3(0x17d)],'params':{'protocolVersion':_0x211444['wkOfK'],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x211444[_0x366de3(0x14d)]}}})});if(_0x21b931['ok'])return await _0x21b931[_0x366de3(0x13d)](),_0x366de3(0x180);if(_0x211444['qXaMX'](_0x21b931[_0x366de3(0x192)],0x191))return await _0x21b931[_0x366de3(0x13d)](),'needs-oauth';const _0x573c51=await _0x21b931['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x21b931['status']+':\x20'+_0x573c51);}class OAuthTimeoutError extends Error{constructor(_0x2f2db8){const _0x32272b=_0x3fb8af;super(_0x2f2db8),this[_0x32272b(0x151)]='OAuthTimeoutError';}}async function oauthFlow(_0xd05e7c){const _0x28531d=_0x3fb8af,_0x286598={'xpAdO':function(_0x405931,_0x13f870){return _0x405931(_0x13f870);},'vJeux':function(_0x2c9ecd){return _0x2c9ecd();}};try{return await _0x286598['xpAdO'](oauthFlowAttempt,_0xd05e7c);}catch(_0x1b1673){if(_0x1b1673 instanceof OAuthTimeoutError&&await loadCachedClient())return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x286598['vJeux'](clearCachedClient),await _0x286598[_0x28531d(0x163)](oauthFlowAttempt,_0xd05e7c);throw _0x1b1673;}}async function oauthFlowAttempt(_0x6c0836){const _0x3c652c=_0x3fb8af,_0x28e422={'idJUa':function(_0x53d7c9,_0xe94577){return _0x53d7c9(_0xe94577);},'SwrhL':function(_0x11c928,_0x38fdbe){return _0x11c928(_0x38fdbe);},'QEOqk':function(_0xa0d72f,_0x434e03,_0x39c453){return _0xa0d72f(_0x434e03,_0x39c453);},'CuXpU':_0x3c652c(0x1b3),'rPxHU':_0x3c652c(0x17b),'JWvcM':_0x3c652c(0x16e),'YpVTh':_0x3c652c(0x178),'ewviE':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','YLtZg':'base64url','LggMb':function(_0x4a1b80,_0x331e7a){return _0x4a1b80(_0x331e7a);},'WdYHg':'response_type','seLQl':_0x3c652c(0x155),'KCfZL':'code_challenge','PmNRw':'code_challenge_method','QrWxg':function(_0x4fcc30,_0x1c9a3c){return _0x4fcc30(_0x1c9a3c);},'Vssyw':_0x3c652c(0x167),'JXWTT':_0x3c652c(0x1b2),'UMDIf':_0x3c652c(0x18c),'xYJoA':function(_0x51b26b,_0xbdf8c0,_0x163265,_0x4b11d9){return _0x51b26b(_0xbdf8c0,_0x163265,_0x4b11d9);}},_0x30d24e=_0x6c0836['replace'](/\/mcp$/,'');process['stdout'][_0x3c652c(0x1bc)](_0x3c652c(0x154));const _0x4e8918=await _0x28e422[_0x3c652c(0x16c)](fetch,_0x30d24e+'/.well-known/oauth-protected-resource');if(!_0x4e8918['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x3d1e02=await _0x4e8918[_0x3c652c(0x1c8)](),_0x5e8e24=_0x3d1e02['authorization_servers']?.[0x0];if(!_0x5e8e24)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x3c652c(0x182)]('\x20'+_0x5e8e24);const _0x322854=await _0x28e422['SwrhL'](fetchAuthServerMetadata,_0x5e8e24);let _0x25f2d5,_0x2831e6;const _0x249724=await loadCachedClient();if(_0x249724)_0x25f2d5=_0x249724[_0x3c652c(0x13a)],_0x2831e6=_0x249724[_0x3c652c(0x15f)];else{if(_0x322854['registration_endpoint']){process[_0x3c652c(0x195)][_0x3c652c(0x1bc)](_0x3c652c(0x1af));const _0x59600a=await _0x28e422['QEOqk'](fetch,_0x322854[_0x3c652c(0x1a8)],{'method':'POST','headers':{'Content-Type':_0x28e422['CuXpU']},'body':JSON['stringify']({'client_name':_0x28e422[_0x3c652c(0x15d)],'redirect_uris':[_0x3c652c(0x13e)+CALLBACK_PORT+'/callback'],'grant_types':[_0x28e422[_0x3c652c(0x1b1)],'refresh_token'],'response_types':[_0x28e422[_0x3c652c(0x15b)]],'token_endpoint_auth_method':'none'})});if(!_0x59600a['ok']){const _0x28163c=await _0x59600a[_0x3c652c(0x13d)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x28163c);}const _0x374f8f=await _0x59600a['json']();_0x25f2d5=_0x374f8f['client_id'],_0x2831e6=_0x374f8f['client_secret'],await _0x28e422['QEOqk'](saveCachedClient,_0x25f2d5,_0x2831e6),console[_0x3c652c(0x182)](_0x3c652c(0x18c));}else throw new Error(_0x28e422['ewviE']);}const _0x12c998=randomBytes(0x20)[_0x3c652c(0x14a)](_0x28e422[_0x3c652c(0x197)]),_0x135728=_0x28e422['LggMb'](createHash,'sha256')['update'](_0x12c998)[_0x3c652c(0x171)](_0x3c652c(0x1b5)),_0x8328c2=randomBytes(0x10)['toString'](_0x3c652c(0x19f)),_0x598bd7=new URL(_0x322854['authorization_endpoint']);_0x598bd7[_0x3c652c(0x189)][_0x3c652c(0x13f)](_0x28e422[_0x3c652c(0x175)],'code'),_0x598bd7['searchParams'][_0x3c652c(0x13f)](_0x28e422['seLQl'],_0x25f2d5),_0x598bd7['searchParams']['set']('redirect_uri','http://localhost:'+CALLBACK_PORT+_0x3c652c(0x160)),_0x598bd7[_0x3c652c(0x189)]['set'](_0x28e422[_0x3c652c(0x1c7)],_0x135728),_0x598bd7[_0x3c652c(0x189)]['set'](_0x28e422['PmNRw'],_0x3c652c(0x159)),_0x598bd7[_0x3c652c(0x189)][_0x3c652c(0x13f)](_0x3c652c(0x15c),_0x8328c2);_0x3d1e02['resource']&&_0x598bd7[_0x3c652c(0x189)][_0x3c652c(0x13f)](_0x3c652c(0x1c4),_0x3d1e02['resource']);console['log'](_0x3c652c(0x164)),console['log'](_0x3c652c(0x149)+_0x598bd7[_0x3c652c(0x14a)]()+'\x0a'),await _0x28e422[_0x3c652c(0x168)](openBrowser,_0x598bd7['toString']());const _0x29bbaa=await waitForCallback(_0x8328c2);process[_0x3c652c(0x195)]['write'](_0x28e422[_0x3c652c(0x1a7)]);const _0x106fc2=new URLSearchParams({'grant_type':_0x28e422[_0x3c652c(0x1b1)],'code':_0x29bbaa,'redirect_uri':_0x3c652c(0x13e)+CALLBACK_PORT+'/callback','client_id':_0x25f2d5,'code_verifier':_0x12c998});_0x2831e6&&_0x106fc2['set']('client_secret',_0x2831e6);_0x3d1e02[_0x3c652c(0x1c4)]&&_0x106fc2['set']('resource',_0x3d1e02[_0x3c652c(0x1c4)]);const _0x8a648f=await _0x28e422['QEOqk'](fetch,_0x322854[_0x3c652c(0x148)],{'method':_0x28e422[_0x3c652c(0x1a5)],'headers':{'Content-Type':_0x3c652c(0x150)},'body':_0x106fc2});if(!_0x8a648f['ok']){const _0x229ca6=await _0x8a648f[_0x3c652c(0x13d)]();throw new Error(_0x3c652c(0x1c5)+_0x229ca6);}const _0x43123f=await _0x8a648f[_0x3c652c(0x1c8)]();return console[_0x3c652c(0x182)](_0x28e422[_0x3c652c(0x1c6)]),await _0x28e422[_0x3c652c(0x1ba)](saveCachedToken,_0x43123f[_0x3c652c(0x18f)],_0x43123f[_0x3c652c(0x181)],_0x43123f[_0x3c652c(0x143)]),_0x43123f[_0x3c652c(0x18f)];}async function callGetCliToken(_0x1dcbcc,_0x593703){const _0x18a1e7=_0x3fb8af,_0x286ba0={'bIrCq':function(_0x2bd54e,_0x49b5af,_0x41f5c2){return _0x2bd54e(_0x49b5af,_0x41f5c2);},'scNlD':function(_0x58b927,_0x4a0c33){return _0x58b927(_0x4a0c33);},'IEEwA':'application/json,\x20text/event-stream','XwVaR':'Authorization','EvfCp':'2.0','BJrtA':_0x18a1e7(0x1cd),'lszCH':'ranger-cli','ntWUk':'1.0.0','jgYDj':'\x20done','pIDgV':'notifications/initialized','VxPrH':function(_0x28f49f,_0x2afcdc){return _0x28f49f(_0x2afcdc);},'gtrnO':'tools/call','ZQRuG':_0x18a1e7(0x190),'rVLng':'\x0aUnexpected\x20response\x20structure:','qUUrF':_0x18a1e7(0x1aa),'WSmcC':function(_0x3ddc8b,_0x2cc7a6,_0x1a0dfb){return _0x3ddc8b(_0x2cc7a6,_0x1a0dfb);},'GgdWn':function(_0x5b126f,_0x11a8fd,_0x425e4d,_0x26ab98){return _0x5b126f(_0x11a8fd,_0x425e4d,_0x26ab98);},'ObTSD':function(_0x3d007e,_0x2fa89b,_0x3968a0,_0x3da6e1){return _0x3d007e(_0x2fa89b,_0x3968a0,_0x3da6e1);},'FuGsI':'auth-origin.txt'},_0x169f22={'Content-Type':'application/json','Accept':_0x286ba0['IEEwA']};_0x593703&&(_0x169f22[_0x286ba0[_0x18a1e7(0x1c2)]]=_0x18a1e7(0x193)+_0x593703);const _0x1350cd=async _0x4dc398=>{const _0x501d88=_0x18a1e7,_0x2083b8=await _0x286ba0[_0x501d88(0x1ae)](fetch,_0x1dcbcc,{'method':'POST','headers':_0x169f22,'body':JSON['stringify'](_0x4dc398)});if(!_0x2083b8['ok']){const _0x8cd3fb=await _0x2083b8[_0x501d88(0x13d)]();throw new Error('HTTP\x20'+_0x2083b8[_0x501d88(0x192)]+':\x20'+_0x8cd3fb);}return _0x286ba0[_0x501d88(0x1a6)](parseResponse,_0x2083b8);};process['stdout'][_0x18a1e7(0x1bc)](_0x18a1e7(0x166));const _0x4149e4=await _0x286ba0[_0x18a1e7(0x1a6)](_0x1350cd,{'jsonrpc':_0x286ba0['EvfCp'],'id':0x1,'method':_0x18a1e7(0x172),'params':{'protocolVersion':_0x286ba0[_0x18a1e7(0x156)],'capabilities':{},'clientInfo':{'name':_0x286ba0['lszCH'],'version':_0x286ba0['ntWUk']}}});if(_0x4149e4[_0x18a1e7(0x158)])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x4149e4[_0x18a1e7(0x158)][_0x18a1e7(0x174)]??JSON[_0x18a1e7(0x144)](_0x4149e4['error'])));console[_0x18a1e7(0x182)](_0x286ba0[_0x18a1e7(0x1c3)]),await fetch(_0x1dcbcc,{'method':'POST','headers':_0x169f22,'body':JSON['stringify']({'jsonrpc':'2.0','method':_0x286ba0['pIDgV']})})['then'](_0x283eb3=>_0x283eb3[_0x18a1e7(0x13d)]()),process['stdout'][_0x18a1e7(0x1bc)]('Requesting\x20CLI\x20token...');const _0x1fcf9d=await _0x286ba0['VxPrH'](_0x1350cd,{'jsonrpc':_0x18a1e7(0x142),'id':0x2,'method':_0x286ba0[_0x18a1e7(0x170)],'params':{'name':_0x286ba0[_0x18a1e7(0x188)],'arguments':{}}});if(_0x1fcf9d['error'])throw new Error(_0x18a1e7(0x1c1)+(_0x1fcf9d[_0x18a1e7(0x158)]['message']??JSON['stringify'](_0x1fcf9d['error'])));console[_0x18a1e7(0x182)](_0x286ba0[_0x18a1e7(0x1c3)]);const _0x476e73=extractToken(_0x1fcf9d[_0x18a1e7(0x184)]);if(!_0x476e73){console['error'](_0x286ba0['rVLng']),console[_0x18a1e7(0x158)](JSON[_0x18a1e7(0x144)](_0x1fcf9d[_0x18a1e7(0x184)],null,0x2));throw new Error(_0x286ba0['qUUrF']);}const _0x5b38f9=join(homedir(),_0x18a1e7(0x19a)),_0x17209d=join(_0x5b38f9,_0x18a1e7(0x1ad));await _0x286ba0['WSmcC'](mkdir,_0x5b38f9,{'recursive':!![]}),await _0x286ba0['GgdWn'](writeFile,_0x17209d,_0x476e73,{'mode':0x180}),await _0x286ba0[_0x18a1e7(0x165)](writeFile,join(_0x5b38f9,_0x286ba0['FuGsI']),_0x1dcbcc,{'mode':0x180}),console['log'](_0x18a1e7(0x17f)+_0x17209d),console['log']('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x31fc29){const _0x2bfa65=_0x3fb8af,_0x4e9650=_0x31fc29+_0x2bfa65(0x162),_0x5d584c=await fetch(_0x4e9650);if(!_0x5d584c['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x4e9650+':\x20'+_0x5d584c[_0x2bfa65(0x192)]);return _0x5d584c[_0x2bfa65(0x1c8)]();}function waitForCallback(_0x1d5e37){const _0x3a6dfa=_0x3fb8af,_0x4ca173={'winvy':function(_0x2ee279,_0x56516a){return _0x2ee279!==_0x56516a;},'QsSps':'/callback','yxnBS':'error_description','hirHe':_0x3a6dfa(0x14b),'MjTCM':_0x3a6dfa(0x18a),'YkyiS':'<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','unBji':function(_0x5cb930,_0x532123){return _0x5cb930(_0x532123);},'hswTT':_0x3a6dfa(0x1cc),'nFsay':function(_0x3a1862,_0x114263){return _0x3a1862(_0x114263);},'oNXMc':_0x3a6dfa(0x18d)};return new Promise((_0x5563c0,_0x430bce)=>{const _0x67e107=_0x3a6dfa,_0x269459={'AXMUl':_0x4ca173[_0x67e107(0x157)]},_0x18eed9=setTimeout(()=>{const _0x536183=_0x67e107;_0x1a24e8[_0x536183(0x19b)](),_0x430bce(new OAuthTimeoutError(_0x269459['AXMUl']));},0x1d4c0),_0x1a24e8=_0x4ca173[_0x67e107(0x198)](createServer,(_0x2aad3b,_0x29f193)=>{const _0x5d4a13=_0x67e107,_0x43ecdd=new URL(_0x2aad3b['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x4ca173['winvy'](_0x43ecdd['pathname'],_0x4ca173[_0x5d4a13(0x1a0)])){_0x29f193[_0x5d4a13(0x1ce)](0x194),_0x29f193['end']('Not\x20found');return;}const _0x1bf99a=_0x43ecdd['searchParams'][_0x5d4a13(0x16b)](_0x5d4a13(0x178)),_0x2c64fd=_0x43ecdd['searchParams']['get'](_0x5d4a13(0x15c)),_0x559a9f=_0x43ecdd[_0x5d4a13(0x189)]['get']('error');if(_0x559a9f){const _0x192a06=_0x43ecdd[_0x5d4a13(0x189)][_0x5d4a13(0x16b)](_0x4ca173['yxnBS'])??_0x559a9f;_0x29f193[_0x5d4a13(0x1ce)](0xc8,{'Content-Type':_0x5d4a13(0x18a)}),_0x29f193['end'](_0x5d4a13(0x17e)+_0x192a06+_0x5d4a13(0x176)),clearTimeout(_0x18eed9),_0x1a24e8['close'](),_0x430bce(new Error(_0x5d4a13(0x13b)+_0x192a06));return;}if(!_0x1bf99a||_0x2c64fd!==_0x1d5e37){_0x29f193[_0x5d4a13(0x1ce)](0x190,{'Content-Type':'text/html'}),_0x29f193[_0x5d4a13(0x14c)](_0x4ca173['hirHe']);return;}_0x29f193[_0x5d4a13(0x1ce)](0xc8,{'Content-Type':_0x4ca173['MjTCM']}),_0x29f193[_0x5d4a13(0x14c)](_0x4ca173[_0x5d4a13(0x15e)]),_0x4ca173[_0x5d4a13(0x1b8)](clearTimeout,_0x18eed9),_0x1a24e8[_0x5d4a13(0x19b)](),_0x4ca173['unBji'](_0x5563c0,_0x1bf99a);});_0x1a24e8['listen'](CALLBACK_PORT,_0x4ca173['oNXMc']);});}function _0x1a2c(){const _0x1e2833=['utf-8','unBji','parse','xYJoA','Unknown\x20error','write','start','2054712igApCt','accessToken','now','get_cli_token\x20failed:\x20','XwVaR','jgYDj','resource','Token\x20exchange\x20failed:\x20','UMDIf','KCfZL','json','216AyBffq','startsWith','data:','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','2025-03-26','writeHead','win32','fYgNU','content','clientId','OAuth\x20error:\x20','9933nFlVNM','text','http://localhost:','set','mnZsx','isTTY','2.0','expires_in','stringify','MmcEW','refreshToken','gBGwk','token_endpoint','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','toString','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','end','lrwoH','6115hsvnJP','1.0.0','application/x-www-form-urlencoded','name','PzJPK','iFqPa','Discovering\x20authorization\x20server...','client_id','BJrtA','hswTT','error','S256','mRkGT','YpVTh','state','rPxHU','YkyiS','clientSecret','/callback','WqIxi','/.well-known/oauth-authorization-server','xpAdO','\x0aOpening\x20browser\x20for\x20authentication...','ObTSD','Initializing\x20MCP\x20session...','Exchanging\x20authorization\x20code...','QrWxg','OcyWH','token','get','idJUa','1145865psAlKR','authorization_code','slice','gtrnO','digest','initialize','application/json,\x20text/event-stream','message','WdYHg','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','257454DCuXOj','code','isError','trim','Ranger\x20CLI','15jrqupf','IoLei','<html><body><h2>Authentication\x20failed</h2><p>','\x0aToken\x20written\x20to\x20','proxied','refresh_token','log','zXZlS','result','open','Fwpey','61461FjaLja','ZQRuG','searchParams','text/html','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','\x20done','127.0.0.1','length','access_token','get_cli_token','GDBLw','status','Bearer\x20','content-type','stdout','OnOLj','YLtZg','nFsay','split','.ranger','close','origin','4860iUiNTx','auJgV','hex','QsSps','yIHke','OstgE','platform','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','JXWTT','scNlD','Vssyw','registration_endpoint','uBhUa','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','505964itYtmI','2irElfs','refresh.txt','bIrCq','Registering\x20OAuth\x20client...','Server\x20returned\x20error:\x20','JWvcM','POST','application/json','expiresAt','base64url','mcp-oauth-tokens.json'];_0x1a2c=function(){return _0x1e2833;};return _0x1a2c();}async function openBrowser(_0x538747){const _0x49510b=_0x3fb8af,_0x7660cf={'lUPyu':'child_process','Fwpey':'darwin','ritDw':function(_0x5beb2c,_0x2e125d){return _0x5beb2c===_0x2e125d;},'OejFP':'xdg-open'},{exec:_0x3bcf4e}=await import(_0x7660cf['lUPyu']),_0x235aec=process['platform']===_0x7660cf[_0x49510b(0x186)]?_0x49510b(0x185):_0x7660cf['ritDw'](process[_0x49510b(0x1a3)],_0x49510b(0x1cf))?_0x49510b(0x1bd):_0x7660cf['OejFP'];_0x3bcf4e(_0x235aec+'\x20\x22'+_0x538747+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x3962e0=_0x3fb8af,_0x1bb609={'RZQII':'utf-8','HjFRQ':function(_0x266ee3,_0x1c3d0c){return _0x266ee3!==_0x1c3d0c;}};try{const _0x349572=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x1bb609['RZQII']));if(_0x349572['origin']&&_0x1bb609['HjFRQ'](_0x349572['origin'],currentOrigin))return null;if(_0x349572[_0x3962e0(0x1b4)]&&Date[_0x3962e0(0x1c0)]()>_0x349572[_0x3962e0(0x1b4)])return null;return _0x349572[_0x3962e0(0x1bf)]??null;}catch{return null;}}async function saveCachedToken(_0x210f60,_0x3db66e,_0x253809){const _0x5c6c37=_0x3fb8af,_0x4f621b={'WqIxi':function(_0x1ebb04){return _0x1ebb04();},'AahQB':function(_0x16d796,_0x4abdc2){return _0x16d796+_0x4abdc2;},'uBhUa':_0x5c6c37(0x19a)},_0x25258d=await _0x4f621b[_0x5c6c37(0x161)](loadCachedData),_0x7f6644={..._0x25258d,'origin':currentOrigin,'accessToken':_0x210f60,'refreshToken':_0x3db66e??_0x25258d?.[_0x5c6c37(0x146)],'expiresAt':_0x253809?_0x4f621b['AahQB'](Date['now'](),_0x253809*0x3e8):undefined};await mkdir(join(homedir(),_0x4f621b[_0x5c6c37(0x1a9)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x7f6644),{'mode':0x180});}async function loadCachedClient(){const _0x2dbc62=_0x3fb8af,_0x241670={'OipXz':function(_0x21bf36){return _0x21bf36();},'MmcEW':function(_0x199bb3,_0x54205d){return _0x199bb3!==_0x54205d;}},_0x3d1cbc=await _0x241670['OipXz'](loadCachedData);if(_0x3d1cbc?.['origin']&&_0x241670[_0x2dbc62(0x145)](_0x3d1cbc[_0x2dbc62(0x19c)],currentOrigin))return null;return _0x3d1cbc?.['clientId']?{'clientId':_0x3d1cbc['clientId'],'clientSecret':_0x3d1cbc['clientSecret']}:null;}async function clearCachedClient(){const _0x535cbf=_0x3fb8af,_0x211147={'iFqPa':function(_0x53846e){return _0x53846e();},'hhzdz':function(_0x4c1d33,_0x176fb7,_0x5ba9f5,_0x1bcc96){return _0x4c1d33(_0x176fb7,_0x5ba9f5,_0x1bcc96);}},_0x6ee6a6=await _0x211147[_0x535cbf(0x153)](loadCachedData);if(!_0x6ee6a6)return;const {clientId:_0x3a29de,clientSecret:_0x4f7327,..._0x20eca6}=_0x6ee6a6;await _0x211147['hhzdz'](writeFile,TOKEN_CACHE_PATH,JSON[_0x535cbf(0x144)](_0x20eca6),{'mode':0x180});}async function saveCachedClient(_0xa1037a,_0x53efcc){const _0x527c99=_0x3fb8af,_0x3cf75a={'rZIEL':function(_0x5cc1c2){return _0x5cc1c2();},'TWaeb':function(_0x48eb99,_0x296eb7,_0x4efd94){return _0x48eb99(_0x296eb7,_0x4efd94);},'fYgNU':_0x527c99(0x19a),'zXZlS':function(_0x298d6b,_0x193531,_0x306f1b,_0x5294fd){return _0x298d6b(_0x193531,_0x306f1b,_0x5294fd);}},_0x36dbf9=await _0x3cf75a['rZIEL'](loadCachedData),_0x2a7885={..._0x36dbf9,'origin':currentOrigin,'accessToken':_0x36dbf9?.[_0x527c99(0x1bf)]??'','clientId':_0xa1037a,'clientSecret':_0x53efcc};await mkdir(_0x3cf75a['TWaeb'](join,homedir(),_0x3cf75a[_0x527c99(0x1d0)]),{'recursive':!![]}),await _0x3cf75a[_0x527c99(0x183)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x2a7885),{'mode':0x180});}async function loadCachedData(){const _0x333809=_0x3fb8af,_0x2c8270={'eTUbe':function(_0x4b83c0,_0x3d9912,_0xf5881c){return _0x4b83c0(_0x3d9912,_0xf5881c);},'mRkGT':'utf-8'};try{return JSON[_0x333809(0x1b9)](await _0x2c8270['eTUbe'](readFile,TOKEN_CACHE_PATH,_0x2c8270[_0x333809(0x15a)]));}catch{return null;}}async function parseResponse(_0x30daf7){const _0x4324bb=_0x3fb8af,_0x429e81={'yIHke':'data:','OnOLj':function(_0x5dff9e,_0x8fd7ce){return _0x5dff9e!==_0x8fd7ce;}},_0x4beceb=_0x30daf7['headers']['get'](_0x4324bb(0x194))??'';if(_0x4beceb['includes']('text/event-stream')){const _0x11d19c=await _0x30daf7['text']();for(const _0xe1e228 of _0x11d19c[_0x4324bb(0x199)]('\x0a')){const _0x3571eb=_0xe1e228[_0x4324bb(0x17a)]();if(_0x3571eb[_0x4324bb(0x1ca)](_0x429e81[_0x4324bb(0x1a1)])){const _0x18098e=_0x3571eb[_0x4324bb(0x16f)](_0x4324bb(0x1cb)[_0x4324bb(0x18e)])['trim']();if(!_0x18098e)continue;try{const _0x25ec90=JSON['parse'](_0x18098e);if(_0x429e81[_0x4324bb(0x196)](_0x25ec90['id'],undefined)||_0x25ec90[_0x4324bb(0x158)])return _0x25ec90;}catch{}}}throw new Error('No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream');}return _0x30daf7[_0x4324bb(0x1c8)]();}function extractToken(_0x5caa1c){const _0x4cb5f3=_0x3fb8af,_0x57c8ab={'wJLpP':_0x4cb5f3(0x1bb),'mnZsx':_0x4cb5f3(0x13d),'OcyWH':function(_0x3349cd,_0x4405fc){return _0x3349cd===_0x4405fc;}};if(!_0x5caa1c)return null;const _0xdaefb4=_0x5caa1c['structuredContent'];if(_0xdaefb4?.[_0x4cb5f3(0x16a)]&&typeof _0xdaefb4['token']==='string')return _0xdaefb4[_0x4cb5f3(0x16a)];if(_0x5caa1c[_0x4cb5f3(0x179)]){const _0x2b2671=_0x5caa1c[_0x4cb5f3(0x139)];throw new Error(_0x4cb5f3(0x1b0)+(_0x2b2671?.[0x0]?.[_0x4cb5f3(0x13d)]??_0x57c8ab['wJLpP']));}const _0x509829=_0x5caa1c['content'];if(_0x509829)for(const _0x272af9 of _0x509829){if(_0x272af9['type']===_0x57c8ab[_0x4cb5f3(0x140)]&&_0x272af9[_0x4cb5f3(0x13d)]){try{const _0x507bef=JSON['parse'](_0x272af9['text']);if(_0x57c8ab[_0x4cb5f3(0x169)](typeof _0x507bef?.[_0x4cb5f3(0x16a)],'string'))return _0x507bef[_0x4cb5f3(0x16a)];}catch{}const _0x5a7a18=_0x272af9['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5a7a18)return _0x5a7a18[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(_0x2a8b41,_0x4b1ce2){const _0x3ef748=_0x349f,_0x5dd8c8=_0x2a8b41();while(!![]){try{const _0x56c228=-parseInt(_0x3ef748(0x17c))/0x1+-parseInt(_0x3ef748(0x143))/0x2*(-parseInt(_0x3ef748(0x156))/0x3)+-parseInt(_0x3ef748(0x157))/0x4*(-parseInt(_0x3ef748(0x176))/0x5)+parseInt(_0x3ef748(0x148))/0x6*(parseInt(_0x3ef748(0x127))/0x7)+-parseInt(_0x3ef748(0x15d))/0x8+parseInt(_0x3ef748(0x175))/0x9*(-parseInt(_0x3ef748(0x141))/0xa)+parseInt(_0x3ef748(0x16e))/0xb*(parseInt(_0x3ef748(0x171))/0xc);if(_0x56c228===_0x4b1ce2)break;else _0x5dd8c8['push'](_0x5dd8c8['shift']());}catch(_0x57fce8){_0x5dd8c8['push'](_0x5dd8c8['shift']());}}}(_0x25f7,0x19fd6));import{readFile,rm}from'fs/promises';function _0x25f7(){const _0x2e5d11=['\x20\x20⚠\x20','\x20\x20✗\x20','\x20\x20✓\x20',').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.','SKhkg','1378960YXWmPg','utf-8','log','\x20→\x20cloud\x20(env:\x20','eKiJL','dryRun','baseUrl','\x20migrated','parse','\x20failed:\x20','hEHii','cwd','settings','Zvriw','projects','FONkG','XpfVu','220GmgQFA','kgdqT','\x20skipped','29100GpZNfD','Proceed?','profileName','authJsonPath','2259bxUyIl','5dulRFl','VOMsx','trackPhaseEnd','XOTmd','message','ktVkv','205482dQtVVL','some','no\x20baseUrl\x20in\x20settings.json','preserveBaseUrl',',\x20matches\x20','skip','yes','Could\x20not\x20fetch\x20auth\x20config\x20(','Enzbf','wnLIL','keys','894873iBYuRy','rBDXl','length','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','\x20local\x20director','oDQSK','environments','trackPhaseStart','gAMYi','stdin',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(',',\x20baseUrl\x20override\x20→\x20projects.json)','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','BVqwd','EawFk','origin','EZjuK','LTQUq','dsUpR','uTLof','eoVRX','Continuing\x20with\x20migration...','kind','Deleted\x20','env','JIZnl','870PWDvsA','stdout','3962GTAwlG','uJBgz','Plan:','\x20→\x20skip\x20(','WyAle','6MMTpqS','push',':\x20session\x20upload\x20failed\x20(','mDhhJ','gIlHi','gitTrackedRanger','EkqyS','migrate','profile.migrate.succeeded','YRzQN','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','envKey','Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.','padEnd','201mcuPwv','788308eQerDi'];_0x25f7=function(){return _0x2e5d11;};return _0x25f7();}import{existsSync}from'fs';import{join}from'path';import _0x220dd6 from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';function _0x349f(_0xcf1138,_0x3f1733){_0xcf1138=_0xcf1138-0x124;const _0x25f719=_0x25f7();let _0x349fe1=_0x25f719[_0xcf1138];return _0x349fe1;}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(_0x1d75f0){const _0x4574ca=_0x349f,_0x265744={'EZjuK':function(_0x7914c3,_0x1c8de6){return _0x7914c3===_0x1c8de6;},'WqfRp':_0x4574ca(0x181)};if(_0x265744[_0x4574ca(0x137)](_0x1d75f0['kind'],_0x265744['WqfRp']))return'\x20\x20'+_0x1d75f0['profileName'][_0x4574ca(0x155)](0x1e)+_0x4574ca(0x146)+_0x1d75f0['reason']+')';if(_0x1d75f0['preserveBaseUrl']&&_0x1d75f0[_0x4574ca(0x163)])return'\x20\x20'+_0x1d75f0['profileName'][_0x4574ca(0x155)](0x1e)+_0x4574ca(0x160)+_0x1d75f0[_0x4574ca(0x153)]+',\x20preserving\x20baseUrl\x20'+_0x1d75f0['baseUrl']+'\x20as\x20project\x20override)';if(_0x1d75f0['baseUrl'])return'\x20\x20'+_0x1d75f0[_0x4574ca(0x173)][_0x4574ca(0x155)](0x1e)+_0x4574ca(0x160)+_0x1d75f0['envKey']+_0x4574ca(0x180)+_0x1d75f0['baseUrl']+')';return'\x20\x20'+_0x1d75f0['profileName'][_0x4574ca(0x155)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x1d75f0['envKey']+')';}function shouldWarnGitTrackedOnce(_0x3f88ce){const _0x20474f=_0x349f,_0x1f5553=readProjectsConfig(),_0x59b470=_0x1f5553[_0x20474f(0x16b)][_0x3f88ce]??={},_0x1aed03=_0x59b470['_warnings']??={},_0x41ce57=_0x1aed03['gitTrackedRanger'],_0x85002d=new Date(),_0x1a7e44=_0x85002d['toISOString']()['slice'](0x0,0xa);if(_0x41ce57===_0x1a7e44)return![];return _0x1aed03[_0x20474f(0x14d)]=_0x1a7e44,writeProjectsConfig(_0x1f5553),!![];}export async function migrateProfile(_0xcb3938,_0x1fbc3e){const _0x2dfb70=_0x349f,_0x582e1c={'RXkhI':function(_0x505ee1){return _0x505ee1();},'SKhkg':function(_0x38cbaa,_0x1701d2){return _0x38cbaa instanceof _0x1701d2;},'XOTmd':function(_0x577721,_0x34160a){return _0x577721(_0x34160a);},'aVWWt':function(_0x12049f,_0x184a15){return _0x12049f===_0x184a15;},'BVqwd':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','hdPCu':function(_0x4ba20a){return _0x4ba20a();},'Zvriw':function(_0x29a97e,_0x1ba124){return _0x29a97e===_0x1ba124;},'lmPVv':'No\x20local\x20profiles\x20found\x20to\x20migrate.','gAMYi':'local\x20profile\x20directory\x20not\x20found','WyAle':function(_0x278220,_0x9dddeb){return _0x278220(_0x9dddeb);},'hEHii':'skip','gIlHi':_0x2dfb70(0x17e),'MzWPB':function(_0x3a78cc,_0x332a6e,_0x15f610){return _0x3a78cc(_0x332a6e,_0x15f610);},'VOMsx':'no\x20matching\x20auth\x20env','zttGv':function(_0x753cbb,_0x3cf12c){return _0x753cbb===_0x3cf12c;},'kgdqT':'migrate','wnLIL':function(_0x38bec3,_0x36f683){return _0x38bec3(_0x36f683);},'EkqyS':_0x2dfb70(0x154),'uTLof':function(_0x22c5ea,_0x35ef18){return _0x22c5ea&&_0x35ef18;},'ktVkv':'confirm','XpfVu':function(_0x349c49){return _0x349c49();},'YRzQN':_0x2dfb70(0x133),'JIZnl':'\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','LTQUq':_0x2dfb70(0x12a),'GHsmC':'profile.migrate.skipped','ylUrO':'profile.migrate.started','EawFk':function(_0x46024d,_0x25855a,_0x3430d1,_0x3183f7){return _0x46024d(_0x25855a,_0x3430d1,_0x3183f7);},'Enzbf':_0x2dfb70(0x15e),'uJBgz':function(_0x6de522,_0x63efd2){return _0x6de522&&_0x63efd2;},'eoVRX':_0x2dfb70(0x163),'oDQSK':function(_0xf6dbcf,_0x15d999){return _0xf6dbcf(_0x15d999);},'eKiJL':function(_0x594000,_0x521ae0){return _0x594000(_0x521ae0);},'bEbFR':function(_0x28e8d6,_0x559fee){return _0x28e8d6>_0x559fee;},'sBlfh':function(_0x2df934,_0x573994){return _0x2df934===_0x573994;},'mDhhJ':function(_0xc69a6d,_0x33e997){return _0xc69a6d===_0x33e997;},'dsUpR':'ies','FONkG':function(_0x4fddd1,_0x40b9db){return _0x4fddd1>_0x40b9db;},'rBDXl':function(_0x46b6cd,_0xac24b9){return _0x46b6cd+_0xac24b9;}};if(!_0xcb3938['profileName']&&!_0xcb3938['all'])throw new Error(_0x2dfb70(0x152));let _0x37dad2;try{_0x37dad2=await _0x582e1c['RXkhI'](fetchAuthConfig);}catch(_0x3c1419){throw new Error(_0x2dfb70(0x183)+(_0x582e1c['SKhkg'](_0x3c1419,Error)?_0x3c1419['message']:_0x582e1c[_0x2dfb70(0x179)](String,_0x3c1419))+').\x20Run:\x20ranger\x20setup');}if(!_0x37dad2||!_0x37dad2[_0x2dfb70(0x12d)]||_0x582e1c['aVWWt'](Object[_0x2dfb70(0x126)](_0x37dad2[_0x2dfb70(0x12d)])['length'],0x0))throw new Error(_0x582e1c[_0x2dfb70(0x134)]);const _0x36cf97=[];if(_0xcb3938['all']){const {envNames:_0x28879e,envTypes:_0xf0a0ef}=await _0x582e1c['hdPCu'](getEnvNames);for(const _0x158902 of _0x28879e){if(_0xf0a0ef[_0x158902]==='ci')continue;_0x36cf97[_0x2dfb70(0x149)](_0x158902);}}else _0xcb3938['profileName']&&_0x36cf97[_0x2dfb70(0x149)](_0xcb3938[_0x2dfb70(0x173)]);if(_0x582e1c[_0x2dfb70(0x16a)](_0x36cf97['length'],0x0)){console['log'](_0x582e1c['lmPVv']);return;}const _0x5bcbb2=[];for(const _0x6e3d31 of _0x36cf97){const _0x4e958f=getEnvDir(_0x6e3d31);if(!existsSync(_0x4e958f)){_0x5bcbb2['push']({'kind':'skip','profileName':_0x6e3d31,'reason':_0x582e1c[_0x2dfb70(0x12f)]});continue;}const _0x58da60=await _0x582e1c[_0x2dfb70(0x147)](loadSettings,_0x6e3d31),_0x3b6dda=_0x58da60[_0x2dfb70(0x163)];if(!_0x3b6dda){_0x5bcbb2['push']({'kind':_0x582e1c['hEHii'],'profileName':_0x6e3d31,'reason':_0x582e1c[_0x2dfb70(0x14c)]});continue;}const _0x302a1f=_0x582e1c['MzWPB'](matchAuthEnvironment,_0x3b6dda,_0x37dad2);if(!_0x302a1f){_0x5bcbb2[_0x2dfb70(0x149)]({'kind':_0x582e1c[_0x2dfb70(0x167)],'profileName':_0x6e3d31,'reason':_0x582e1c[_0x2dfb70(0x177)]});continue;}const _0x1778fe=_0x37dad2[_0x2dfb70(0x12d)][_0x302a1f],_0x329a08=_0x1778fe?.['domains']??[],_0x4d6b0e=_0x329a08[_0x2dfb70(0x17d)](_0x351af7=>{const _0x217084=_0x2dfb70;try{return new URL(_0x351af7)['origin']===new URL(_0x3b6dda)[_0x217084(0x136)];}catch{return![];}}),_0x2c08db={};for(const [_0x30af4f,_0x518060]of Object['entries'](_0x58da60)){if(_0x30af4f==='baseUrl')continue;if(_0x582e1c['zttGv'](_0x518060,undefined))continue;_0x2c08db[_0x30af4f]=_0x518060;}!_0x4d6b0e&&(_0x2c08db['baseUrl']=_0x3b6dda);const _0x2b28dd=join(_0x4e958f,'auth.json'),_0x16d794=existsSync(_0x2b28dd);_0x5bcbb2[_0x2dfb70(0x149)]({'kind':_0x582e1c[_0x2dfb70(0x16f)],'profileName':_0x6e3d31,'envKey':_0x302a1f,'baseUrl':_0x3b6dda,'preserveBaseUrl':!_0x4d6b0e,'settings':_0x2c08db,'authJsonPath':_0x16d794?_0x2b28dd:null});}console['log'](_0x2dfb70(0x145));for(const _0x13bebe of _0x5bcbb2){console['log'](_0x582e1c[_0x2dfb70(0x125)](formatPlanLine,_0x13bebe));}if(_0xcb3938[_0x2dfb70(0x162)]){console['log'](_0x582e1c[_0x2dfb70(0x14e)]);return;}const _0x10433d=_0x582e1c[_0x2dfb70(0x125)](Boolean,process[_0x2dfb70(0x130)]['isTTY']&&process[_0x2dfb70(0x142)]['isTTY']),_0x5ac4f5=_0x5bcbb2[_0x2dfb70(0x17d)](_0x29f5b8=>_0x29f5b8['kind']===_0x2dfb70(0x14f));if(_0x582e1c[_0x2dfb70(0x13a)](_0x5ac4f5,_0x10433d)&&!_0xcb3938[_0x2dfb70(0x182)]){const {proceed:_0x30687b}=await _0x220dd6['prompt']([{'type':_0x582e1c[_0x2dfb70(0x17b)],'name':'proceed','message':_0x2dfb70(0x172),'default':![]}]);if(!_0x30687b){console['log']('Aborted.');return;}}const _0x28f550=_0x582e1c[_0x2dfb70(0x16d)](getRangerDir);let _0x2f1660=![];if(existsSync(_0x28f550))try{_0x2f1660=await _0x582e1c[_0x2dfb70(0x125)](isPathGitTracked,_0x28f550);}catch{_0x2f1660=![];}_0x2f1660&&_0x582e1c['XOTmd'](shouldWarnGitTrackedOnce,process['cwd']())&&(console['log'](_0x582e1c[_0x2dfb70(0x151)]),console['log']('After\x20migration,\x20uncommit\x20it:'),console[_0x2dfb70(0x15f)](_0x582e1c[_0x2dfb70(0x140)]),console[_0x2dfb70(0x15f)](_0x582e1c[_0x2dfb70(0x138)]),console['log'](_0x2dfb70(0x13c)));let _0x4d02cc=0x0,_0x3415ae=0x0,_0x354588=0x0,_0x4823b3=0x0;for(const _0x17ced4 of _0x5bcbb2){if(_0x17ced4[_0x2dfb70(0x13d)]===_0x2dfb70(0x181)){_0x4823b3++,_0x1fbc3e?.[_0x2dfb70(0x178)](_0x582e1c['GHsmC'],{'profileName':_0x17ced4['profileName'],'reason':_0x17ced4['reason']});continue;}_0x1fbc3e?.[_0x2dfb70(0x12e)](_0x582e1c['ylUrO'],{'profileName':_0x17ced4['profileName'],'envKey':_0x17ced4['envKey']});try{try{await _0x582e1c[_0x2dfb70(0x135)](createCloudProfile,_0x17ced4['profileName'],_0x17ced4[_0x2dfb70(0x153)],{'settings':_0x17ced4[_0x2dfb70(0x169)]});}catch(_0x47ad6f){if(_0x582e1c['SKhkg'](_0x47ad6f,ApiError)&&_0x47ad6f['status']===0x199){console[_0x2dfb70(0x15f)]('\x20\x20⚠\x20'+_0x17ced4['profileName']+':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.'),_0x4823b3++,_0x1fbc3e?.['trackPhaseEnd'](_0x582e1c['GHsmC'],{'profileName':_0x17ced4['profileName'],'reason':'name_conflict'});continue;}throw _0x47ad6f;}let _0xe5fc6a=![],_0x272e6c=![];if(_0x17ced4[_0x2dfb70(0x174)])try{const _0xbaacfd=await _0x582e1c['MzWPB'](readFile,_0x17ced4[_0x2dfb70(0x174)],_0x582e1c[_0x2dfb70(0x124)]),_0x4f4cba=JSON[_0x2dfb70(0x165)](_0xbaacfd);await uploadCloudProfileSession(_0x17ced4['profileName'],_0x4f4cba),_0xe5fc6a=!![];}catch(_0x41d8d8){_0x272e6c=!![],console[_0x2dfb70(0x15f)]('\x20\x20⚠\x20'+_0x17ced4['profileName']+_0x2dfb70(0x14a)+(_0x41d8d8 instanceof Error?_0x41d8d8[_0x2dfb70(0x17a)]:_0x582e1c['XOTmd'](String,_0x41d8d8))+_0x2dfb70(0x15b));}let _0x18243d=![];if(_0xcb3938['saveCreds']){const _0x539a3d=process[_0x2dfb70(0x13f)]['RANGER_TEST_USERNAME'],_0x49c7b6=process['env']['RANGER_TEST_PASSWORD'];if(_0x582e1c[_0x2dfb70(0x144)](_0x539a3d,_0x49c7b6))try{await saveCloudProfileCredentials(_0x17ced4['profileName'],_0x539a3d,_0x49c7b6),_0x18243d=!![];}catch(_0x2a6e3e){console['log']('\x20\x20⚠\x20'+_0x17ced4['profileName']+':\x20failed\x20to\x20save\x20credentials\x20('+(_0x2a6e3e instanceof Error?_0x2a6e3e['message']:String(_0x2a6e3e))+').');}else console['log'](_0x2dfb70(0x158)+_0x17ced4[_0x2dfb70(0x173)]+':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.');}if(_0x17ced4[_0x2dfb70(0x17f)]&&_0x17ced4['baseUrl'])try{setProfileOverride(process[_0x2dfb70(0x168)](),_0x17ced4['profileName'],_0x582e1c[_0x2dfb70(0x13b)],_0x17ced4[_0x2dfb70(0x163)]);}catch(_0x13bd2c){console[_0x2dfb70(0x15f)](_0x2dfb70(0x158)+_0x17ced4['profileName']+_0x2dfb70(0x131)+(_0x13bd2c instanceof Error?_0x13bd2c['message']:String(_0x13bd2c))+').');}const _0x2ee722=getEnvDir(_0x17ced4[_0x2dfb70(0x173)]);if(!_0x272e6c&&existsSync(_0x2ee722))try{await rm(_0x2ee722,{'recursive':!![],'force':!![]}),_0x3415ae++;}catch(_0x76164e){console[_0x2dfb70(0x15f)]('\x20\x20⚠\x20'+_0x17ced4['profileName']+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x2ee722+'\x20('+(_0x76164e instanceof Error?_0x76164e['message']:String(_0x76164e))+').');}_0x4d02cc++,_0x17ced4[_0x2dfb70(0x17f)]&&_0x17ced4['baseUrl']?console['log']('\x20\x20✓\x20'+_0x17ced4['profileName']+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x17ced4[_0x2dfb70(0x153)]+_0x2dfb70(0x132)):console[_0x2dfb70(0x15f)](_0x2dfb70(0x15a)+_0x17ced4['profileName']+'\x20migrated\x20to\x20cloud\x20(env:\x20'+_0x17ced4['envKey']+')'),_0x1fbc3e?.['trackPhaseEnd'](_0x2dfb70(0x150),{'profileName':_0x17ced4[_0x2dfb70(0x173)],'envKey':_0x17ced4[_0x2dfb70(0x153)],'wasGitTracked':_0x2f1660,'hadSession':_0xe5fc6a,'savedCreds':_0x18243d});}catch(_0x1dc2fa){_0x354588++,console[_0x2dfb70(0x15f)](_0x2dfb70(0x159)+_0x17ced4[_0x2dfb70(0x173)]+_0x2dfb70(0x166)+(_0x582e1c[_0x2dfb70(0x15c)](_0x1dc2fa,Error)?_0x1dc2fa['message']:_0x582e1c[_0x2dfb70(0x12c)](String,_0x1dc2fa))),_0x1fbc3e?.['trackPhaseEnd']('profile.migrate.failed',{'profileName':_0x17ced4['profileName'],'error':_0x1dc2fa instanceof Error?_0x1dc2fa[_0x2dfb70(0x17a)]:_0x582e1c[_0x2dfb70(0x161)](String,_0x1dc2fa)});}}const _0x485352=[];if(_0x582e1c['bEbFR'](_0x4d02cc,0x0))_0x485352[_0x2dfb70(0x149)](_0x4d02cc+'\x20profile'+(_0x582e1c['sBlfh'](_0x4d02cc,0x1)?'':'s')+_0x2dfb70(0x164));if(_0x3415ae>0x0)_0x485352[_0x2dfb70(0x149)](_0x2dfb70(0x13e)+_0x3415ae+_0x2dfb70(0x12b)+(_0x582e1c[_0x2dfb70(0x14b)](_0x3415ae,0x1)?'y':_0x582e1c[_0x2dfb70(0x139)]));if(_0x582e1c[_0x2dfb70(0x16c)](_0x4823b3,0x0))_0x485352['push'](_0x4823b3+_0x2dfb70(0x170));if(_0x582e1c[_0x2dfb70(0x16c)](_0x354588,0x0))_0x485352[_0x2dfb70(0x149)](_0x354588+'\x20failed');if(_0x485352[_0x2dfb70(0x129)]>0x0)console['log'](_0x582e1c[_0x2dfb70(0x128)](_0x485352['join']('.\x20'),'.'));}