@ranger-testing/ranger-cli 2.5.4-alpha.78800d3-3 → 2.5.4-alpha.a98f848-6

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 (80) 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 +18 -4
  78. package/build/skills/ranger/create.md +6 -0
  79. package/build/skills/ranger/verify.md +23 -3
  80. package/package.json +1 -1
@@ -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(_0x3b342e,_0x3955d0){const _0xeb2c42=_0xbf4a,_0x5ec635=_0x3b342e();while(!![]){try{const _0x3e6f23=parseInt(_0xeb2c42(0x1dc))/0x1*(parseInt(_0xeb2c42(0x1e5))/0x2)+parseInt(_0xeb2c42(0x1e6))/0x3*(parseInt(_0xeb2c42(0x1e9))/0x4)+-parseInt(_0xeb2c42(0x1df))/0x5+-parseInt(_0xeb2c42(0x1de))/0x6*(parseInt(_0xeb2c42(0x1e8))/0x7)+parseInt(_0xeb2c42(0x1e1))/0x8+-parseInt(_0xeb2c42(0x1e2))/0x9+parseInt(_0xeb2c42(0x1dd))/0xa*(-parseInt(_0xeb2c42(0x1e0))/0xb);if(_0x3e6f23===_0x3955d0)break;else _0x5ec635['push'](_0x5ec635['shift']());}catch(_0x44d706){_0x5ec635['push'](_0x5ec635['shift']());}}}(_0x5046,0x71b41));import{isSessionEnabled}from'../utils/sessionCache.js';function _0xbf4a(_0x26d4d5,_0x412da7){_0x26d4d5=_0x26d4d5-0x1dc;const _0x504605=_0x5046();let _0xbf4a61=_0x504605[_0x26d4d5];return _0xbf4a61;}export function printBlock(_0x128ebd){const _0x1e69fd=_0xbf4a;console[_0x1e69fd(0x1e3)](_0x128ebd);}export async function readHookInput(){const _0x4f3cce=_0xbf4a;let _0x5c73dd='';try{for await(const _0x41727c of process[_0x4f3cce(0x1e7)]){_0x5c73dd+=_0x41727c;}}catch{return null;}if(!_0x5c73dd['trim']())return null;try{return JSON['parse'](_0x5c73dd);}catch{return null;}}export async function getEnabledSessionId(_0x577eaa){const _0x438425=_0xbf4a,_0x120da1={'cvLjy':function(_0x23330a){return _0x23330a();}};if(_0x577eaa)return isSessionEnabled(_0x577eaa)?_0x577eaa:null;const _0x595a4d=await _0x120da1['cvLjy'](readHookInput),_0x52767b=_0x595a4d?.[_0x438425(0x1e4)];if(!_0x52767b||!isSessionEnabled(_0x52767b))return null;return _0x52767b;}function _0x5046(){const _0x1e3cee=['2500FYPKWU','6QoLEaQ','4456140PssJyF','6589VxvlHa','81864qntWkU','2321109LjjRap','log','session_id','1833422bIASgm','3wwqFsu','stdin','474579REtSqc','3621844PSlZQz','1YsDxsj'];_0x5046=function(){return _0x1e3cee;};return _0x5046();}export async function getEnabledHookContext(_0x5efa00){const _0x55f181={'GbryW':function(_0x46d490,_0x51e4fe){return _0x46d490(_0x51e4fe);}};if(_0x5efa00){if(!isSessionEnabled(_0x5efa00))return null;return{'sessionId':_0x5efa00,'input':{'session_id':_0x5efa00}};}const _0x2d11c9=await readHookInput(),_0x2e857b=_0x2d11c9?.['session_id'];if(!_0x2e857b||!_0x55f181['GbryW'](isSessionEnabled,_0x2e857b))return null;return{'sessionId':_0x2e857b,'input':_0x2d11c9};}
@@ -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 _0x5981(_0x5bc49d,_0x5dad27){_0x5bc49d=_0x5bc49d-0x11a;const _0x1e02d7=_0x1e02();let _0x59815d=_0x1e02d7[_0x5bc49d];return _0x59815d;}(function(_0x5c1c33,_0x2bb344){const _0x57e1cb=_0x5981,_0x595ba5=_0x5c1c33();while(!![]){try{const _0x2fe8e4=-parseInt(_0x57e1cb(0x11a))/0x1+-parseInt(_0x57e1cb(0x11c))/0x2*(parseInt(_0x57e1cb(0x11d))/0x3)+-parseInt(_0x57e1cb(0x123))/0x4+parseInt(_0x57e1cb(0x122))/0x5+parseInt(_0x57e1cb(0x11b))/0x6+parseInt(_0x57e1cb(0x121))/0x7*(-parseInt(_0x57e1cb(0x126))/0x8)+parseInt(_0x57e1cb(0x120))/0x9;if(_0x2fe8e4===_0x2bb344)break;else _0x595ba5['push'](_0x595ba5['shift']());}catch(_0x29dc32){_0x595ba5['push'](_0x595ba5['shift']());}}}(_0x1e02,0xb2edd));import{printBlock,getEnabledHookContext}from'./output.js';function _0x1e02(){const _0x27aeb4=['YhOrR','plan','16120242CtrJre','70AftxAa','6300805UWBqBa','1816716vjqKDA','===\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===','KnIWM','624656ZBbtNZ','sessionId','161758VEmhYg','2170488ukibTM','2wicWYl','3850191yFyqMq'];_0x1e02=function(){return _0x27aeb4;};return _0x1e02();}import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x77e9b9){const _0x3670ac=_0x5981,_0x457328={'YhOrR':function(_0x409f97,_0x1545d7){return _0x409f97(_0x1545d7);},'DEQHm':function(_0x12dcf5,_0x487597){return _0x12dcf5!==_0x487597;},'KnIWM':_0x3670ac(0x11f)},_0x16dd53=await _0x457328[_0x3670ac(0x11e)](getEnabledHookContext,_0x77e9b9);if(!_0x16dd53)return;if(_0x457328['DEQHm'](_0x16dd53['input']['permission_mode'],_0x457328[_0x3670ac(0x125)]))return;if(!shouldShowPlanReminder(_0x16dd53[_0x3670ac(0x127)]))return;printBlock(_0x3670ac(0x124));}
@@ -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 _0x36bc(){const _0xed2b5e=['2kwYSNV','33348EVJGYx','312krxskL','TQvpC','8woFssH','685533BGwtrE','11cpPJQu','2021000qACwnw','19800xKFzLw','234whwclK','561055TPcOYv','7253892nTfamu','294752aHoxMt'];_0x36bc=function(){return _0xed2b5e;};return _0x36bc();}(function(_0x437f56,_0xc9e0d0){const _0x3c6b0d=_0x52a4,_0x45000e=_0x437f56();while(!![]){try{const _0x2d61ac=parseInt(_0x3c6b0d(0x160))/0x1+parseInt(_0x3c6b0d(0x161))/0x2*(-parseInt(_0x3c6b0d(0x166))/0x3)+parseInt(_0x3c6b0d(0x165))/0x4*(parseInt(_0x3c6b0d(0x15e))/0x5)+-parseInt(_0x3c6b0d(0x15d))/0x6*(-parseInt(_0x3c6b0d(0x162))/0x7)+-parseInt(_0x3c6b0d(0x163))/0x8*(-parseInt(_0x3c6b0d(0x169))/0x9)+parseInt(_0x3c6b0d(0x168))/0xa+-parseInt(_0x3c6b0d(0x167))/0xb*(parseInt(_0x3c6b0d(0x15f))/0xc);if(_0x2d61ac===_0xc9e0d0)break;else _0x45000e['push'](_0x45000e['shift']());}catch(_0x505a58){_0x45000e['push'](_0x45000e['shift']());}}}(_0x36bc,0x2707c));import{printBlock,getEnabledSessionId}from'./output.js';function _0x52a4(_0x4902f7,_0x94f6b2){_0x4902f7=_0x4902f7-0x15d;const _0x36bccc=_0x36bc();let _0x52a49c=_0x36bccc[_0x4902f7];return _0x52a49c;}export async function planStart(_0x45a605){const _0x12384a=_0x52a4,_0x51cf3c={'TQvpC':function(_0x214146,_0x290504){return _0x214146(_0x290504);}},_0x5a29e1=await getEnabledSessionId(_0x45a605);if(!_0x5a29e1)return;_0x51cf3c[_0x12384a(0x164)](printBlock,'===\x20RANGER:\x20ACTION\x20REQUIRED\x20===\x0a\x0aIf\x20this\x20plan\x20involves\x20UI\x20changes,\x20you\x20MUST:\x0a\x0a1.\x20**READ\x20/ranger\x20skill**\x20-\x20specifically\x20create.md\x0a2.\x20**Add\x20a\x20Ranger\x20Feature\x20Review\x20Specification**\x20at\x20the\x20end\x20of\x20your\x20plan\x0a\x0aScenarios\x20are\x20E2E\x20test\x20flows,\x20NOT\x20implementation\x20tasks.\x0a\x0a**Good:**\x20\x22User\x20can\x20log\x20in\x20with\x20valid\x20credentials\x20and\x20see\x20dashboard\x22\x0a**Bad:**\x20\x22Add\x20form\x20validation\x22\x20or\x20\x22Button\x20is\x20visible\x22\x0a\x0aAfter\x20planning,\x20run:\x0a`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<E2E\x20flow\x201>\x22\x20-c\x20\x22<E2E\x20flow\x202>\x22`\x0a\x0a===\x20END\x20===');}
@@ -1 +1 @@
1
- function _0x482c(_0x4e4688,_0x4fcf24){_0x4e4688=_0x4e4688-0xb0;const _0x8949cd=_0x8949();let _0x482cdb=_0x8949cd[_0x4e4688];return _0x482cdb;}function _0x8949(){const _0x5d3b51=['bkEWz','879304rgsmwx','6pjpojH','848796lOKSuA','log','1860680TAdfkq','stringify','197599kpLtgD','466978NxoWVs','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','1776372oTwWcJ','2977912gqtlzT','9aLWRLr','zOKSi','PostToolUse'];_0x8949=function(){return _0x5d3b51;};return _0x8949();}(function(_0x4426d7,_0xb265d0){const _0x33a276=_0x482c,_0x2d47e0=_0x4426d7();while(!![]){try{const _0x5392c1=-parseInt(_0x33a276(0xb7))/0x1+parseInt(_0x33a276(0xb8))/0x2+parseInt(_0x33a276(0xb2))/0x3*(-parseInt(_0x33a276(0xb3))/0x4)+parseInt(_0x33a276(0xb5))/0x5+-parseInt(_0x33a276(0xba))/0x6+parseInt(_0x33a276(0xbb))/0x7+parseInt(_0x33a276(0xb1))/0x8*(parseInt(_0x33a276(0xbc))/0x9);if(_0x5392c1===_0xb265d0)break;else _0x2d47e0['push'](_0x2d47e0['shift']());}catch(_0x18f095){_0x2d47e0['push'](_0x2d47e0['shift']());}}}(_0x8949,0x366af));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x5c2e6a){const _0x1daeec=_0x482c,_0x4638bd={'zOKSi':function(_0x5f18b9,_0x280311){return _0x5f18b9(_0x280311);},'bkEWz':_0x1daeec(0xbe)},_0x1efed6=await _0x4638bd['zOKSi'](getEnabledSessionId,_0x5c2e6a);if(!_0x1efed6)return;updateBranchTracking(_0x1efed6);const _0x4c874f=await getToken();if(!_0x4c874f)return;const _0x13cc2b=_0x4638bd[_0x1daeec(0xbd)](getSessionEntry,_0x1efed6);if(_0x13cc2b){const _0x1172f4={'hookSpecificOutput':{'hookEventName':_0x4638bd[_0x1daeec(0xb0)],'additionalContext':'RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).'}};console[_0x1daeec(0xb4)](JSON['stringify'](_0x1172f4));return;}const _0x204761={'hookSpecificOutput':{'hookEventName':_0x1daeec(0xbe),'additionalContext':_0x1daeec(0xb9)}};console['log'](JSON[_0x1daeec(0xb6)](_0x204761));}
1
+ function _0x313c(){const _0x291ae9=['1CjAyji','9574510YNUaug','35qNbgAU','bgydA','stringify','4090296sFZbHO','4027630fJcEXn','1399394FcFBKm','9ocrxNI','635490qZJBwI','1150503KtjnTb','8712544vQVmcn','PostToolUse','RANGER:\x20If\x20this\x20change\x20expands\x20the\x20scope\x20of\x20the\x20active\x20feature\x20review,\x20you\x20may\x20need\x20to\x20add\x20a\x20scenario.\x20See\x20Workflow\x201\x20in\x20/ranger.\x20If\x20you\x20decide\x20to\x20add\x20a\x20scenario,\x20you\x20MUST\x20read\x20Workflow\x201\x20IN\x20DETAIL\x20first.\x20Remember:\x20when\x20you\x20finish\x20your\x20work,\x20your\x20final\x20message\x20to\x20the\x20user\x20must\x20direct\x20them\x20to\x20the\x20Ranger\x20feature\x20review\x20dashboard\x20to\x20review\x20(e.g.\x20\x22Go\x20to\x20the\x20Ranger\x20feature\x20dashboard\x20to\x20review:\x20https://dashboard.ranger.net/features/{feature_id}\x22).','log','4nIeLsl'];_0x313c=function(){return _0x291ae9;};return _0x313c();}(function(_0x45bf89,_0x3076bf){const _0x3f8708=_0x35fc,_0x3c8310=_0x45bf89();while(!![]){try{const _0x586870=parseInt(_0x3f8708(0x163))/0x1*(parseInt(_0x3f8708(0x15a))/0x2)+parseInt(_0x3f8708(0x15d))/0x3*(-parseInt(_0x3f8708(0x162))/0x4)+-parseInt(_0x3f8708(0x165))/0x5*(parseInt(_0x3f8708(0x15c))/0x6)+parseInt(_0x3f8708(0x168))/0x7+parseInt(_0x3f8708(0x15e))/0x8+-parseInt(_0x3f8708(0x15b))/0x9*(-parseInt(_0x3f8708(0x169))/0xa)+-parseInt(_0x3f8708(0x164))/0xb;if(_0x586870===_0x3076bf)break;else _0x3c8310['push'](_0x3c8310['shift']());}catch(_0x177eab){_0x3c8310['push'](_0x3c8310['shift']());}}}(_0x313c,0xbe8fc));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x35fc(_0x3f96a4,_0x41ad58){_0x3f96a4=_0x3f96a4-0x15a;const _0x313c2b=_0x313c();let _0x35fccd=_0x313c2b[_0x3f96a4];return _0x35fccd;}export async function postEdit(_0x521bae){const _0x38a03f=_0x35fc,_0x573f7b={'jKtAd':function(_0x1bb91a,_0x1c5dc6){return _0x1bb91a(_0x1c5dc6);},'bgydA':_0x38a03f(0x15f)},_0x4bb699=await getEnabledSessionId(_0x521bae);if(!_0x4bb699)return;_0x573f7b['jKtAd'](updateBranchTracking,_0x4bb699);const _0x59edc6=await getToken();if(!_0x59edc6)return;const _0x155d79=getSessionEntry(_0x4bb699);if(_0x155d79){const _0x232737={'hookSpecificOutput':{'hookEventName':_0x573f7b[_0x38a03f(0x166)],'additionalContext':_0x38a03f(0x160)}};console[_0x38a03f(0x161)](JSON[_0x38a03f(0x167)](_0x232737));return;}const _0x487a97={'hookSpecificOutput':{'hookEventName':_0x38a03f(0x15f),'additionalContext':'RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.'}};console['log'](JSON[_0x38a03f(0x167)](_0x487a97));}
@@ -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(_0x5735cc,_0x7e33e3){const _0x4eb6b9=_0xd9ee,_0x27aecb=_0x5735cc();while(!![]){try{const _0x55df93=-parseInt(_0x4eb6b9(0xa7))/0x1+-parseInt(_0x4eb6b9(0xaa))/0x2+parseInt(_0x4eb6b9(0xac))/0x3*(-parseInt(_0x4eb6b9(0xa9))/0x4)+parseInt(_0x4eb6b9(0xae))/0x5+parseInt(_0x4eb6b9(0xa5))/0x6+-parseInt(_0x4eb6b9(0xad))/0x7*(parseInt(_0x4eb6b9(0xa8))/0x8)+-parseInt(_0x4eb6b9(0xa6))/0x9*(-parseInt(_0x4eb6b9(0xab))/0xa);if(_0x55df93===_0x7e33e3)break;else _0x27aecb['push'](_0x27aecb['shift']());}catch(_0xd67d30){_0x27aecb['push'](_0x27aecb['shift']());}}}(_0x4291,0x3196b));function _0x4291(){const _0x26b37c=['33810suuuHW','160OufUTh','16vOEyhz','435418HXzPTA','150qxlrZS','247593tdzYlO','3332ShSNzK','697435RTcJXV','===\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`.','1956vORBmq','392679udFKtJ'];_0x4291=function(){return _0x26b37c;};return _0x4291();}import{getToken}from'../utils/keychain.js';function _0xd9ee(_0x162773,_0xa4b3f6){_0x162773=_0x162773-0xa4;const _0x429143=_0x4291();let _0xd9ee50=_0x429143[_0x162773];return _0xd9ee50;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x1430b7){const _0x5163a0=_0xd9ee,_0xdd61f6={'pxZhk':function(_0x56608c){return _0x56608c();}},_0x30b534=await getEnabledSessionId(_0x1430b7);if(!_0x30b534)return;try{const _0x59e535=await _0xdd61f6['pxZhk'](getToken);if(!_0x59e535)return;printBlock(_0x5163a0(0xa4));}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(_0x3310f0,_0x14e8f9){const _0x2892bb=_0x173f,_0x3c067a=_0x3310f0();while(!![]){try{const _0x3dcb6b=-parseInt(_0x2892bb(0x17d))/0x1+-parseInt(_0x2892bb(0x175))/0x2+-parseInt(_0x2892bb(0x179))/0x3*(parseInt(_0x2892bb(0x178))/0x4)+-parseInt(_0x2892bb(0x17b))/0x5+-parseInt(_0x2892bb(0x174))/0x6+parseInt(_0x2892bb(0x173))/0x7+parseInt(_0x2892bb(0x17c))/0x8*(parseInt(_0x2892bb(0x172))/0x9);if(_0x3dcb6b===_0x14e8f9)break;else _0x3c067a['push'](_0x3c067a['shift']());}catch(_0x3ac5e9){_0x3c067a['push'](_0x3c067a['shift']());}}}(_0x526e,0xda5c6));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x526e(){const _0x56db24=['4226593BOJCHx','3264726onTctw','2019070CSYsom','session_id','CLAUDE_SESSION_ID','1417340fwDUro','12isUNDX','yDmRb','4446365uUEljV','153288QLdFPF','1386653gXdZOo','2601MBtCgA'];_0x526e=function(){return _0x56db24;};return _0x526e();}function _0x173f(_0x5023a9,_0x32141b){_0x5023a9=_0x5023a9-0x172;const _0x526e53=_0x526e();let _0x173f8b=_0x526e53[_0x5023a9];return _0x173f8b;}export async function sessionEnd(_0x4d9a25){const _0x1a3904=_0x173f,_0x34ad64={'YSvsg':function(_0x4e0b55,_0x1c6ae4){return _0x4e0b55(_0x1c6ae4);},'yDmRb':function(_0xaab2b){return _0xaab2b();}},_0x1f1a66=process['env'][_0x1a3904(0x177)];let _0x4a2a13=_0x4d9a25,_0x11464d;if(!_0x4d9a25){if(_0x1f1a66&&!_0x34ad64['YSvsg'](isSessionEnabled,_0x1f1a66))return;const _0x1c2371=await _0x34ad64[_0x1a3904(0x17a)](readHookInput);_0x4a2a13=_0x1c2371?.[_0x1a3904(0x176)]||_0x1f1a66,_0x11464d=_0x1c2371?.['reason'];}if(!_0x4a2a13)return;_0x11464d==='clear'&&_0x34ad64['YSvsg'](recordEnabledSessionCleared,_0x4a2a13);}
@@ -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 _0x304801=_0x5544;function _0x5544(_0x219e6a,_0x3fee44){_0x219e6a=_0x219e6a-0x182;const _0x4d5d08=_0x4d5d();let _0x5544b8=_0x4d5d08[_0x219e6a];return _0x5544b8;}(function(_0x260cc9,_0x4add0a){const _0x57769a=_0x5544,_0x73e4a8=_0x260cc9();while(!![]){try{const _0x557003=-parseInt(_0x57769a(0x186))/0x1*(-parseInt(_0x57769a(0x183))/0x2)+parseInt(_0x57769a(0x188))/0x3*(-parseInt(_0x57769a(0x198))/0x4)+parseInt(_0x57769a(0x18b))/0x5*(parseInt(_0x57769a(0x182))/0x6)+parseInt(_0x57769a(0x199))/0x7+parseInt(_0x57769a(0x192))/0x8*(-parseInt(_0x57769a(0x195))/0x9)+parseInt(_0x57769a(0x194))/0xa*(parseInt(_0x57769a(0x197))/0xb)+-parseInt(_0x57769a(0x18d))/0xc;if(_0x557003===_0x4add0a)break;else _0x73e4a8['push'](_0x73e4a8['shift']());}catch(_0x39cab4){_0x73e4a8['push'](_0x73e4a8['shift']());}}}(_0x4d5d,0xce781));import{appendFile}from'fs/promises';function _0x4d5d(){const _0xff75b2=['=================================================================\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=================================================================','CLAUDE_ENV_FILE','SessionStart','40yRORYJ','trackCommandEnd','3808370BrxGEk','2529207sTrfFH','JIEMF','44cdHEHE','7352hHydUL','1522199stgzoA','wvlHD','47748fhfwmX','10htfzus','stringify','XCKqi','311393nppzsN','log','684ZJbhks','main','env','760NGqVxh','dKwFN','22050120VhSAkx','XCQks'];_0x4d5d=function(){return _0xff75b2;};return _0x4d5d();}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=_0x304801(0x18f);export async function sessionStart(_0x1c68df){const _0x4bcf2e=_0x304801,_0x1aa6b3={'fqWJV':function(_0xb5988a,_0x27aad1){return _0xb5988a||_0x27aad1;},'XCKqi':'source','XCQks':function(_0x1bc887,_0x376dc6,_0x2c08e7){return _0x1bc887(_0x376dc6,_0x2c08e7);},'YVPUM':function(_0x1819e2){return _0x1819e2();},'mkcWW':function(_0x483634,_0x531ace){return _0x483634(_0x531ace);},'dKwFN':'hook:session-start','pwLDg':'success','wvlHD':function(_0x219b90,_0x17577c){return _0x219b90!==_0x17577c;},'JIEMF':'master'};let _0x25eb15=_0x1aa6b3['fqWJV'](_0x1c68df,''),_0x533169;if(!_0x1c68df){let _0x42b913='';for await(const _0x51c48a of process['stdin']){_0x42b913+=_0x51c48a;}try{const _0x46f5b7=JSON['parse'](_0x42b913);_0x25eb15=_0x46f5b7['session_id']||'',_0x533169=_0x46f5b7[_0x1aa6b3[_0x4bcf2e(0x185)]];}catch{}const _0x370921=process[_0x4bcf2e(0x18a)][_0x4bcf2e(0x190)];if(_0x370921&&_0x25eb15)try{await _0x1aa6b3[_0x4bcf2e(0x18e)](appendFile,_0x370921,'export\x20CLAUDE_SESSION_ID=\x22'+_0x25eb15+'\x22\x0a');}catch{}}try{await _0x1aa6b3['YVPUM'](getToken);}catch{}if(_0x25eb15){_0x1aa6b3['mkcWW'](shouldAutoEnableAfterClear,_0x533169)&&autoEnableAfterClear(_0x25eb15);initBranchTracking(_0x25eb15);const _0x5ef169=isSessionEnabled(_0x25eb15);try{const _0x430723=_0x1aa6b3['mkcWW'](createTelemetryCollector,_0x1aa6b3[_0x4bcf2e(0x18c)]);await _0x430723['trackCommandStart']({'sessionId':_0x25eb15,'hooksEnabled':_0x5ef169}),await _0x430723[_0x4bcf2e(0x193)](_0x1aa6b3['pwLDg']);}catch{}if(_0x5ef169){const _0x107edc=getCurrentBranch(),_0x37ef0d=_0x107edc&&_0x1aa6b3[_0x4bcf2e(0x19a)](_0x107edc,_0x4bcf2e(0x189))&&_0x107edc!==_0x1aa6b3[_0x4bcf2e(0x196)]?'\x20(Branch:\x20'+_0x107edc+')':'',_0x5579a3={'hookSpecificOutput':{'hookEventName':_0x4bcf2e(0x191),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x37ef0d}};console[_0x4bcf2e(0x187)](JSON[_0x4bcf2e(0x184)](_0x5579a3));}}}
@@ -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(_0xb9d1b3,_0x2f8be3){const _0x2e8e34=_0xd996,_0xaf6c9f=_0xb9d1b3();while(!![]){try{const _0x41460b=-parseInt(_0x2e8e34(0x190))/0x1+-parseInt(_0x2e8e34(0x18d))/0x2*(-parseInt(_0x2e8e34(0x17f))/0x3)+parseInt(_0x2e8e34(0x192))/0x4*(-parseInt(_0x2e8e34(0x18b))/0x5)+-parseInt(_0x2e8e34(0x181))/0x6+parseInt(_0x2e8e34(0x180))/0x7*(parseInt(_0x2e8e34(0x186))/0x8)+-parseInt(_0x2e8e34(0x189))/0x9*(parseInt(_0x2e8e34(0x195))/0xa)+-parseInt(_0x2e8e34(0x193))/0xb*(-parseInt(_0x2e8e34(0x183))/0xc);if(_0x41460b===_0x2f8be3)break;else _0xaf6c9f['push'](_0xaf6c9f['shift']());}catch(_0x797663){_0xaf6c9f['push'](_0xaf6c9f['shift']());}}}(_0x3844,0x3f69b));function _0x3844(){const _0x51a7a8=['352824dtuugf','sessionId','156OJTRAU','verification_in_progress','verified','8CgGAaN','log','featureId','4023144tcyVEU','some','59905AeupoR','trackCommandStart','20ogHzmC','success','status','339933eVQYrw','checklistItems','12DqdrTT','247049kPLyce','blocked','10tAEuVf','UIFaM','xnTrv','currentSessionId','128883WtVRzt','2939006aglzJr'];_0x3844=function(){return _0x51a7a8;};return _0x3844();}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(_0x27d669){const _0x5bc06e=_0xd996,_0x4e89af={'xeIqy':function(_0x4f2091,_0x342e4c){return _0x4f2091(_0x342e4c);},'kVEqE':function(_0x550c33,_0x2a940d){return _0x550c33(_0x2a940d);},'oVqwz':function(_0x460f85,_0x3dd35f,_0x468367){return _0x460f85(_0x3dd35f,_0x468367);},'xUKlm':function(_0x5ab73b,_0x2d5ebd,_0x364d83,_0x231620){return _0x5ab73b(_0x2d5ebd,_0x364d83,_0x231620);}},_0x5720d3=await getEnabledHookContext(_0x27d669),_0xd22110=_0x5720d3?.[_0x5bc06e(0x182)]??null;let _0x4b966a=!![];if(!_0xd22110){await trackStop(_0xd22110,![],_0x4b966a);return;}try{const _0x41387a=_0x4e89af['xeIqy'](getSessionEntry,_0xd22110);if(!_0x41387a){await trackStop(_0xd22110,!![],_0x4b966a);return;}const _0x562e6c=await getToken(),_0x30cd12='https://dashboard.ranger.net/features/'+_0x41387a['featureId'];let _0x2f3e99=null,_0x4a1439=![],_0x516067=![];if(_0x562e6c)try{const _0xc210e8=await getFeature(_0x41387a[_0x5bc06e(0x188)]);_0x2f3e99=_0xc210e8[_0x5bc06e(0x17e)]??null;const _0x5deee7=_0xc210e8[_0x5bc06e(0x191)]['filter'](_0x1816c5=>_0x1816c5[_0x5bc06e(0x182)]===_0x2f3e99);_0x4a1439=_0x5deee7[_0x5bc06e(0x18a)](_0x547eea=>_0x547eea['status']!==_0x5bc06e(0x185)&&_0x547eea[_0x5bc06e(0x18f)]!==_0x5bc06e(0x194)&&_0x547eea['status']!=='closed'&&_0x547eea['status']!=='incomplete'),_0x516067=_0x5deee7[_0x5bc06e(0x18a)](_0x272f4f=>_0x272f4f[_0x5bc06e(0x18f)]===_0x5bc06e(0x184));}catch{}if(_0x562e6c&&_0x2f3e99&&_0x4a1439){if(!_0x516067&&_0x4e89af['kVEqE'](shouldShowStopReminder,_0xd22110)){const _0x902fff={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x30cd12}};console[_0x5bc06e(0x187)](JSON['stringify'](_0x902fff));}}if(_0x562e6c&&_0x2f3e99&&!_0x4a1439)try{await _0x4e89af['oVqwz'](concludeSession,_0x41387a[_0x5bc06e(0x188)],_0x2f3e99);}catch{}await _0x4e89af['xUKlm'](trackStop,_0xd22110,!![],_0x4b966a);return;}catch{await trackStop(_0xd22110,!![],_0x4b966a);return;}}function _0xd996(_0x3142f1,_0x5a0c8a){_0x3142f1=_0x3142f1-0x17c;const _0x384476=_0x3844();let _0xd9961a=_0x384476[_0x3142f1];return _0xd9961a;}async function trackStop(_0x4e6a24,_0x18a8b5,_0x358612){const _0xde728e=_0xd996,_0x34debd={'xnTrv':function(_0x461409,_0x4453f0){return _0x461409(_0x4453f0);},'UIFaM':'hook:stop'};try{const _0x53ca99=_0x34debd[_0xde728e(0x17d)](createTelemetryCollector,_0x34debd[_0xde728e(0x17c)]);await _0x53ca99[_0xde728e(0x18c)]({'sessionId':_0x4e6a24??undefined,'hooksEnabled':_0x18a8b5,'stopAllowed':_0x358612}),await _0x53ca99['trackCommandEnd'](_0xde728e(0x18e));}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(_0x374cd6,_0x25ea22){var _0x1fecf7=_0x1cee,_0x196bba=_0x374cd6();while(!![]){try{var _0x575da0=-parseInt(_0x1fecf7(0xb3))/0x1+parseInt(_0x1fecf7(0xb4))/0x2+parseInt(_0x1fecf7(0xb9))/0x3+parseInt(_0x1fecf7(0xb6))/0x4+parseInt(_0x1fecf7(0xb2))/0x5+parseInt(_0x1fecf7(0xb5))/0x6*(parseInt(_0x1fecf7(0xb7))/0x7)+-parseInt(_0x1fecf7(0xb8))/0x8;if(_0x575da0===_0x25ea22)break;else _0x196bba['push'](_0x196bba['shift']());}catch(_0x5e7a60){_0x196bba['push'](_0x196bba['shift']());}}}(_0x4424,0x4abd7));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';export{update}from'./update.js';function _0x1cee(_0x3fb352,_0x49a82b){_0x3fb352=_0x3fb352-0xb2;var _0x4424d5=_0x4424();var _0x1cee19=_0x4424d5[_0x3fb352];return _0x1cee19;}export{skillup}from'./skillup.js';export{envList}from'./env.js';function _0x4424(){var _0x36e45b=['2818664ssiFjY','826314fRByry','122775nhxaTX','607560sehNOg','828742AVlNhJ','6dmXFCd','46460CrrSKz','3780343exCgaR'];_0x4424=function(){return _0x36e45b;};return _0x4424();}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(_0xf81aba,_0x22891f){const _0x5e9b89=_0x238d,_0x5eb7b2=_0xf81aba();while(!![]){try{const _0x5de80a=-parseInt(_0x5e9b89(0x14f))/0x1+-parseInt(_0x5e9b89(0x14b))/0x2+-parseInt(_0x5e9b89(0x148))/0x3+parseInt(_0x5e9b89(0x150))/0x4*(parseInt(_0x5e9b89(0x146))/0x5)+-parseInt(_0x5e9b89(0x152))/0x6+-parseInt(_0x5e9b89(0x14a))/0x7*(parseInt(_0x5e9b89(0x14c))/0x8)+parseInt(_0x5e9b89(0x151))/0x9;if(_0x5de80a===_0x22891f)break;else _0x5eb7b2['push'](_0x5eb7b2['shift']());}catch(_0x515ed9){_0x5eb7b2['push'](_0x5eb7b2['shift']());}}}(_0x92ae,0x3bb90));function _0x92ae(){const _0x27beac=['10Nfzxag','rOPOj','388524eKHaVi','isTTY','7znfSUX','54780CQltYE','2460248CTQFJm','user','stdin','141930WsMkll','5392gnNFqi','11833857fRsrBS','2799516RvrCkC','log'];_0x92ae=function(){return _0x27beac;};return _0x92ae();}import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x238d(_0x1af4c6,_0x7764e0){_0x1af4c6=_0x1af4c6-0x145;const _0x92ae40=_0x92ae();let _0x238d68=_0x92ae40[_0x1af4c6];return _0x238d68;}export async function login(){const _0x396ca0=_0x238d,_0x2a44fe={'ouWQT':function(_0x3b6e57){return _0x3b6e57();},'rOPOj':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Xqlfc':function(_0x33776c,_0x547df0){return _0x33776c(_0x547df0);},'bveZt':'\x0a✅\x20API\x20key\x20stored\x20successfully'},_0x3d184c=await _0x2a44fe['ouWQT'](getMcpAuthOrigin);if(_0x3d184c){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await mcpBootstrap();return;}const _0xfa3586=process[_0x396ca0(0x14e)]['isTTY']&&process['stdout'][_0x396ca0(0x149)];if(!_0xfa3586)throw new Error(_0x2a44fe[_0x396ca0(0x147)]);try{const _0x2c310d=await runDeviceAuthFlow(),_0x2d24b2=await _0x2a44fe['Xqlfc'](getCurrentUser,_0x2c310d);_0x2d24b2['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x2d24b2[_0x396ca0(0x14d)]['organizationName']):console[_0x396ca0(0x145)](_0x2a44fe['bveZt']);}catch(_0x14a839){throw new Error('Login\x20failed:\x20'+(_0x14a839 instanceof Error?_0x14a839['message']:_0x14a839));}}
@@ -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 _0x33e646=_0x360a;(function(_0x2bf082,_0x21a859){const _0x247b97=_0x360a,_0x39b6f5=_0x2bf082();while(!![]){try{const _0x1056a3=-parseInt(_0x247b97(0xf6))/0x1+parseInt(_0x247b97(0xa6))/0x2+-parseInt(_0x247b97(0xf4))/0x3+-parseInt(_0x247b97(0x107))/0x4*(-parseInt(_0x247b97(0xb5))/0x5)+-parseInt(_0x247b97(0xd2))/0x6*(parseInt(_0x247b97(0x10f))/0x7)+parseInt(_0x247b97(0xeb))/0x8*(parseInt(_0x247b97(0xb9))/0x9)+parseInt(_0x247b97(0x11e))/0xa;if(_0x1056a3===_0x21a859)break;else _0x39b6f5['push'](_0x39b6f5['shift']());}catch(_0x56752e){_0x39b6f5['push'](_0x39b6f5['shift']());}}}(_0x24cd,0x1ea2f));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';function _0x360a(_0x664f5b,_0x371fd7){_0x664f5b=_0x664f5b-0x92;const _0x24cd2d=_0x24cd();let _0x360aaf=_0x24cd2d[_0x664f5b];return _0x360aaf;}import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),'.ranger',_0x33e646(0xa9)),AUTH_ORIGIN_PATH=join(homedir(),_0x33e646(0x10c),_0x33e646(0x94));export async function getMcpAuthOrigin(){const _0xa99247={'kxrDq':'utf-8'};try{const _0x237620=(await readFile(AUTH_ORIGIN_PATH,_0xa99247['kxrDq']))['trim']();return _0x237620||null;}catch{return null;}}export async function mcpBootstrap(){const _0xa8252e=_0x33e646,_0x1488ee={'AltQc':function(_0xca1eb5){return _0xca1eb5();},'vFKze':function(_0x5721ee,_0x443216){return _0x5721ee(_0x443216);},'iuoud':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','nnaVt':_0xa8252e(0xbb),'TXgpX':function(_0x1077c9,_0x18fd13,_0x3f2161){return _0x1077c9(_0x18fd13,_0x3f2161);}},_0x14f168=_0x1488ee[_0xa8252e(0xac)](getMcpAuthUrl);currentOrigin=_0x14f168;const _0x32505d=process['stdout'][_0xa8252e(0xd3)]??![];console[_0xa8252e(0xc0)](_0xa8252e(0xdf)+_0x14f168+'\x0a');const _0x274e10=await _0x1488ee['vFKze'](tryUnauthenticated,_0x14f168);let _0x591435=null;if(_0x274e10===_0xa8252e(0x92))_0x591435='';else{_0x591435=await loadCachedToken();if(!_0x591435){if(!_0x32505d)throw new Error(_0x1488ee[_0xa8252e(0xb4)]+_0x1488ee['nnaVt']);_0x591435=await oauthFlow(_0x14f168);}}await _0x1488ee['TXgpX'](callGetCliToken,_0x14f168,_0x591435);}async function tryUnauthenticated(_0x39c591){const _0x57a61d=_0x33e646,_0x114c05={'LOszx':function(_0x52e479,_0x23935c,_0x181e3d){return _0x52e479(_0x23935c,_0x181e3d);},'KNEmX':_0x57a61d(0xda),'inhSu':'initialize','YShop':_0x57a61d(0xa2),'OAtkb':'proxied','Raiel':_0x57a61d(0xd8)},_0x5b9697=await _0x114c05[_0x57a61d(0xd6)](fetch,_0x39c591,{'method':'POST','headers':{'Content-Type':_0x57a61d(0xaa),'Accept':_0x114c05[_0x57a61d(0x9d)]},'body':JSON[_0x57a61d(0xde)]({'jsonrpc':_0x57a61d(0xb2),'id':0x1,'method':_0x114c05['inhSu'],'params':{'protocolVersion':'2025-03-26','capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0x114c05['YShop']}}})});if(_0x5b9697['ok'])return await _0x5b9697['text'](),_0x114c05[_0x57a61d(0x93)];if(_0x5b9697['status']===0x191)return await _0x5b9697[_0x57a61d(0xb3)](),_0x114c05['Raiel'];const _0x57cd57=await _0x5b9697[_0x57a61d(0xb3)]();throw new Error(_0x57a61d(0x111)+_0x5b9697[_0x57a61d(0x9f)]+':\x20'+_0x57cd57);}class OAuthTimeoutError extends Error{constructor(_0x351a64){const _0x54970f=_0x33e646,_0x38ef5f={'kaZwt':_0x54970f(0xc9)};super(_0x351a64),this[_0x54970f(0xc1)]=_0x38ef5f[_0x54970f(0xd9)];}}async function oauthFlow(_0x5ebe9d){const _0x5cb643=_0x33e646,_0x5bb1e2={'BPGHV':function(_0x1c22f9){return _0x1c22f9();},'IDpPb':function(_0x249279){return _0x249279();}};try{return await oauthFlowAttempt(_0x5ebe9d);}catch(_0x3e6a07){if(_0x3e6a07 instanceof OAuthTimeoutError&&await _0x5bb1e2[_0x5cb643(0xd1)](loadCachedClient))return console['log']('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await _0x5bb1e2['IDpPb'](clearCachedClient),await oauthFlowAttempt(_0x5ebe9d);throw _0x3e6a07;}}async function oauthFlowAttempt(_0x4d1e84){const _0xa67b0a=_0x33e646,_0xaeb12={'frUqn':'Discovering\x20authorization\x20server...','kqTvp':function(_0x590080,_0x3cd657){return _0x590080(_0x3cd657);},'IRnNZ':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','gbTkz':function(_0x340df2,_0x5a0b08){return _0x340df2(_0x5a0b08);},'AkmFL':_0xa67b0a(0x122),'JckHq':function(_0x2794c9,_0x2c1e28,_0x17f8cb){return _0x2794c9(_0x2c1e28,_0x17f8cb);},'XlvoA':_0xa67b0a(0xe1),'FBrfS':_0xa67b0a(0xaa),'sxVvg':'authorization_code','LximK':'code','xFgUF':_0xa67b0a(0xbd),'kFjOs':'sha256','RhpDT':'base64url','vyvft':_0xa67b0a(0xbe),'NaiJI':_0xa67b0a(0xe8),'bwuyE':'redirect_uri','VuVms':_0xa67b0a(0xef),'dzMuk':'S256','LUfJT':_0xa67b0a(0xb1),'RncZh':function(_0x28be58,_0x2450b5){return _0x28be58(_0x2450b5);},'mwbKR':function(_0x4b7400,_0x1a93d8){return _0x4b7400(_0x1a93d8);},'pkpgx':_0xa67b0a(0x112),'ItmCK':'application/x-www-form-urlencoded','wyeUz':_0xa67b0a(0x120)},_0x4c3292=_0x4d1e84['replace'](/\/mcp$/,'');process[_0xa67b0a(0x118)]['write'](_0xaeb12['frUqn']);const _0x5b0967=await _0xaeb12[_0xa67b0a(0xd5)](fetch,_0x4c3292+_0xa67b0a(0xcd));if(!_0x5b0967['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x204728=await _0x5b0967['json'](),_0x22e64d=_0x204728['authorization_servers']?.[0x0];if(!_0x22e64d)throw new Error(_0xaeb12[_0xa67b0a(0xcc)]);console['log']('\x20'+_0x22e64d);const _0x2aeaff=await _0xaeb12['gbTkz'](fetchAuthServerMetadata,_0x22e64d);let _0x80fcc3,_0x1565f6;const _0x42c9c3=await loadCachedClient();if(_0x42c9c3)_0x80fcc3=_0x42c9c3[_0xa67b0a(0x116)],_0x1565f6=_0x42c9c3[_0xa67b0a(0x97)];else{if(_0x2aeaff['registration_endpoint']){process['stdout']['write'](_0xaeb12['AkmFL']);const _0x367564=await _0xaeb12['JckHq'](fetch,_0x2aeaff['registration_endpoint'],{'method':_0xaeb12[_0xa67b0a(0x11c)],'headers':{'Content-Type':_0xaeb12['FBrfS']},'body':JSON['stringify']({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0xa67b0a(0x98)],'grant_types':[_0xaeb12['sxVvg'],_0xa67b0a(0x110)],'response_types':[_0xaeb12[_0xa67b0a(0xfb)]],'token_endpoint_auth_method':_0xaeb12[_0xa67b0a(0xe0)]})});if(!_0x367564['ok']){const _0x1e0bf5=await _0x367564[_0xa67b0a(0xb3)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x1e0bf5);}const _0x2518e9=await _0x367564['json']();_0x80fcc3=_0x2518e9[_0xa67b0a(0xc5)],_0x1565f6=_0x2518e9[_0xa67b0a(0xba)],await saveCachedClient(_0x80fcc3,_0x1565f6),console[_0xa67b0a(0xc0)]('\x20done');}else throw new Error('Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found');}const _0x21042a=_0xaeb12['gbTkz'](randomBytes,0x20)[_0xa67b0a(0xe6)](_0xa67b0a(0xdd)),_0x798a1=_0xaeb12['gbTkz'](createHash,_0xaeb12['kFjOs'])[_0xa67b0a(0x11a)](_0x21042a)['digest'](_0xaeb12['RhpDT']),_0x55319a=randomBytes(0x10)[_0xa67b0a(0xe6)](_0xaeb12[_0xa67b0a(0xe2)]),_0x428262=new URL(_0x2aeaff['authorization_endpoint']);_0x428262[_0xa67b0a(0xe4)]['set'](_0xaeb12[_0xa67b0a(0xbf)],'code'),_0x428262['searchParams']['set']('client_id',_0x80fcc3),_0x428262['searchParams'][_0xa67b0a(0x9e)](_0xaeb12[_0xa67b0a(0xd0)],'http://localhost:'+CALLBACK_PORT+'/callback'),_0x428262['searchParams']['set'](_0xaeb12['VuVms'],_0x798a1),_0x428262[_0xa67b0a(0xe4)]['set']('code_challenge_method',_0xaeb12[_0xa67b0a(0xa7)]),_0x428262[_0xa67b0a(0xe4)][_0xa67b0a(0x9e)](_0xaeb12['LUfJT'],_0x55319a);_0x204728[_0xa67b0a(0xa3)]&&_0x428262[_0xa67b0a(0xe4)]['set'](_0xa67b0a(0xa3),_0x204728[_0xa67b0a(0xa3)]);console[_0xa67b0a(0xc0)]('\x0aOpening\x20browser\x20for\x20authentication...'),console['log'](_0xa67b0a(0xc8)+_0x428262[_0xa67b0a(0xe6)]()+'\x0a'),await _0xaeb12['RncZh'](openBrowser,_0x428262['toString']());const _0x1c6639=await _0xaeb12[_0xa67b0a(0xa8)](waitForCallback,_0x55319a);process['stdout'][_0xa67b0a(0x11b)](_0xaeb12['pkpgx']);const _0x2f429c=new URLSearchParams({'grant_type':_0xaeb12[_0xa67b0a(0xe5)],'code':_0x1c6639,'redirect_uri':'http://localhost:'+CALLBACK_PORT+'/callback','client_id':_0x80fcc3,'code_verifier':_0x21042a});_0x1565f6&&_0x2f429c['set']('client_secret',_0x1565f6);_0x204728[_0xa67b0a(0xa3)]&&_0x2f429c[_0xa67b0a(0x9e)]('resource',_0x204728['resource']);const _0x229def=await fetch(_0x2aeaff['token_endpoint'],{'method':_0xaeb12['XlvoA'],'headers':{'Content-Type':_0xaeb12[_0xa67b0a(0xfe)]},'body':_0x2f429c});if(!_0x229def['ok']){const _0x199280=await _0x229def['text']();throw new Error(_0xa67b0a(0xb7)+_0x199280);}const _0xc7e284=await _0x229def['json']();return console[_0xa67b0a(0xc0)](_0xaeb12[_0xa67b0a(0xf7)]),await saveCachedToken(_0xc7e284[_0xa67b0a(0x9b)],_0xc7e284[_0xa67b0a(0x110)],_0xc7e284[_0xa67b0a(0xe3)]),_0xc7e284['access_token'];}async function callGetCliToken(_0x4fe2db,_0x443c9c){const _0x40cf06=_0x33e646,_0x1cb4a4={'FmPxg':_0x40cf06(0xaa),'wBAHX':'application/json,\x20text/event-stream','iehdh':'Authorization','ioBab':'initialize','LsgoU':_0x40cf06(0x119),'ssKKJ':'1.0.0','TfeEL':_0x40cf06(0x120),'EEFjX':function(_0x4f8c08,_0x201e34,_0x4929e0){return _0x4f8c08(_0x201e34,_0x4929e0);},'EQMZj':_0x40cf06(0xb2),'EHwuu':'Requesting\x20CLI\x20token...','LxcQV':'tools/call','OxcMH':'get_cli_token','NgfyC':function(_0x36b698,_0x56ec5d){return _0x36b698(_0x56ec5d);},'HtOng':function(_0x1400f9){return _0x1400f9();},'RmiQO':'.ranger','EgaeY':'refresh.txt','VlJLu':function(_0x11e45d,_0x18e34a,_0x28dc2c,_0x1a939d){return _0x11e45d(_0x18e34a,_0x28dc2c,_0x1a939d);},'uNmLU':'auth-origin.txt','gslEW':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x1cacf2={'Content-Type':_0x1cb4a4['FmPxg'],'Accept':_0x1cb4a4[_0x40cf06(0x117)]};_0x443c9c&&(_0x1cacf2[_0x1cb4a4[_0x40cf06(0x10d)]]=_0x40cf06(0x96)+_0x443c9c);const _0x2ab012=async _0x2f85f0=>{const _0x5d260a=_0x40cf06,_0x1f4851=await fetch(_0x4fe2db,{'method':'POST','headers':_0x1cacf2,'body':JSON[_0x5d260a(0xde)](_0x2f85f0)});if(!_0x1f4851['ok']){const _0x477932=await _0x1f4851[_0x5d260a(0xb3)]();throw new Error('HTTP\x20'+_0x1f4851[_0x5d260a(0x9f)]+':\x20'+_0x477932);}return parseResponse(_0x1f4851);};process['stdout']['write'](_0x40cf06(0x10e));const _0x1b3e9b=await _0x2ab012({'jsonrpc':'2.0','id':0x1,'method':_0x1cb4a4[_0x40cf06(0xec)],'params':{'protocolVersion':_0x40cf06(0x100),'capabilities':{},'clientInfo':{'name':_0x1cb4a4[_0x40cf06(0xcb)],'version':_0x1cb4a4['ssKKJ']}}});if(_0x1b3e9b['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x1b3e9b['error'][_0x40cf06(0xc7)]??JSON[_0x40cf06(0xde)](_0x1b3e9b[_0x40cf06(0x11d)])));console['log'](_0x1cb4a4['TfeEL']),await _0x1cb4a4[_0x40cf06(0xdb)](fetch,_0x4fe2db,{'method':_0x40cf06(0xe1),'headers':_0x1cacf2,'body':JSON[_0x40cf06(0xde)]({'jsonrpc':_0x1cb4a4['EQMZj'],'method':'notifications/initialized'})})['then'](_0x53c84f=>_0x53c84f['text']()),process['stdout'][_0x40cf06(0x11b)](_0x1cb4a4['EHwuu']);const _0x592c2a=await _0x2ab012({'jsonrpc':_0x1cb4a4['EQMZj'],'id':0x2,'method':_0x1cb4a4['LxcQV'],'params':{'name':_0x1cb4a4['OxcMH'],'arguments':{}}});if(_0x592c2a[_0x40cf06(0x11d)])throw new Error(_0x40cf06(0xb8)+(_0x592c2a[_0x40cf06(0x11d)][_0x40cf06(0xc7)]??JSON[_0x40cf06(0xde)](_0x592c2a[_0x40cf06(0x11d)])));console[_0x40cf06(0xc0)](_0x40cf06(0x120));const _0x5130c9=_0x1cb4a4['NgfyC'](extractToken,_0x592c2a['result']);if(!_0x5130c9){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON[_0x40cf06(0xde)](_0x592c2a['result'],null,0x2));throw new Error('Could\x20not\x20extract\x20token\x20from\x20MCP\x20response');}const _0x46363f=join(_0x1cb4a4[_0x40cf06(0x105)](homedir),_0x1cb4a4['RmiQO']),_0x37707a=join(_0x46363f,_0x1cb4a4[_0x40cf06(0x95)]);await mkdir(_0x46363f,{'recursive':!![]}),await _0x1cb4a4[_0x40cf06(0xa1)](writeFile,_0x37707a,_0x5130c9,{'mode':0x180}),await writeFile(_0x1cb4a4[_0x40cf06(0xdb)](join,_0x46363f,_0x1cb4a4['uNmLU']),_0x4fe2db,{'mode':0x180}),console['log'](_0x40cf06(0x108)+_0x37707a),console['log'](_0x1cb4a4[_0x40cf06(0x10b)]);}async function fetchAuthServerMetadata(_0x55d019){const _0x3c74d0=_0x33e646,_0x11ab0a={'KNoYo':function(_0x1b9b15,_0x5b6ed3){return _0x1b9b15(_0x5b6ed3);}},_0x10f541=_0x55d019+'/.well-known/oauth-authorization-server',_0x46c3d3=await _0x11ab0a['KNoYo'](fetch,_0x10f541);if(!_0x46c3d3['ok'])throw new Error('Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20'+_0x10f541+':\x20'+_0x46c3d3[_0x3c74d0(0x9f)]);return _0x46c3d3['json']();}function waitForCallback(_0x5207da){const _0x65aac6=_0x33e646,_0xa5608f={'oVGEx':'OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','uoeJV':'/callback','NDheK':_0x65aac6(0xe9),'jJnSW':_0x65aac6(0xf8),'awwcy':'state','eYxZx':'error','aIZSA':'text/html','DYJxR':function(_0x54c3e0,_0x3bbc67){return _0x54c3e0(_0x3bbc67);},'Bxevp':function(_0x17223e,_0x1220ab){return _0x17223e!==_0x1220ab;},'QxsIu':'<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','EhPLd':function(_0x53bf55,_0x4e0a2c){return _0x53bf55(_0x4e0a2c);}};return new Promise((_0x451174,_0x4cc7a8)=>{const _0x369100=_0x65aac6,_0xc6638b=setTimeout(()=>{const _0x18e4b6=_0x360a;_0x300fdb[_0x18e4b6(0x109)](),_0x4cc7a8(new OAuthTimeoutError(_0xa5608f[_0x18e4b6(0xca)]));},0x1d4c0),_0x300fdb=_0xa5608f['EhPLd'](createServer,(_0x3a2821,_0x6575f)=>{const _0x20d287=_0x360a,_0x3e6f97=new URL(_0x3a2821[_0x20d287(0x9a)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x3e6f97[_0x20d287(0x101)]!==_0xa5608f['uoeJV']){_0x6575f[_0x20d287(0x113)](0x194),_0x6575f['end'](_0xa5608f['NDheK']);return;}const _0x3c0f9d=_0x3e6f97['searchParams'][_0x20d287(0xab)](_0xa5608f[_0x20d287(0xf5)]),_0x43b313=_0x3e6f97[_0x20d287(0xe4)][_0x20d287(0xab)](_0xa5608f[_0x20d287(0xad)]),_0x5f55ac=_0x3e6f97[_0x20d287(0xe4)][_0x20d287(0xab)](_0xa5608f['eYxZx']);if(_0x5f55ac){const _0x327012=_0x3e6f97['searchParams']['get']('error_description')??_0x5f55ac;_0x6575f['writeHead'](0xc8,{'Content-Type':_0xa5608f['aIZSA']}),_0x6575f['end']('<html><body><h2>Authentication\x20failed</h2><p>'+_0x327012+_0x20d287(0x114)),_0xa5608f['DYJxR'](clearTimeout,_0xc6638b),_0x300fdb['close'](),_0x4cc7a8(new Error(_0x20d287(0xa0)+_0x327012));return;}if(!_0x3c0f9d||_0xa5608f['Bxevp'](_0x43b313,_0x5207da)){_0x6575f[_0x20d287(0x113)](0x190,{'Content-Type':'text/html'}),_0x6575f[_0x20d287(0xe7)](_0xa5608f['QxsIu']);return;}_0x6575f[_0x20d287(0x113)](0xc8,{'Content-Type':_0xa5608f[_0x20d287(0xc2)]}),_0x6575f[_0x20d287(0xe7)]('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0xa5608f[_0x20d287(0xa4)](clearTimeout,_0xc6638b),_0x300fdb['close'](),_0x451174(_0x3c0f9d);});_0x300fdb[_0x369100(0xcf)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x580d7e){const _0x3792ef=_0x33e646,_0x220a2b={'lAnKT':function(_0x4d3aba,_0x468b51){return _0x4d3aba===_0x468b51;},'wewTl':_0x3792ef(0xed),'wpdrU':_0x3792ef(0xc4),'YRJTa':function(_0x13b65e,_0x5affcf){return _0x13b65e(_0x5affcf);}},{exec:_0x4cc763}=await import(_0x3792ef(0x102)),_0x5d5489=_0x220a2b['lAnKT'](process[_0x3792ef(0xc6)],_0x220a2b[_0x3792ef(0xd4)])?_0x3792ef(0xc3):process['platform']==='win32'?_0x220a2b['wpdrU']:'xdg-open';_0x220a2b['YRJTa'](_0x4cc763,_0x5d5489+'\x20\x22'+_0x580d7e+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x5a3dda=_0x33e646,_0x48cf1f={'ZGBrS':function(_0x2a55c7,_0x46bf4f,_0x103f65){return _0x2a55c7(_0x46bf4f,_0x103f65);},'HRfRa':'utf-8','AHnDV':function(_0x462933,_0x4ace29){return _0x462933>_0x4ace29;}};try{const _0x136708=JSON['parse'](await _0x48cf1f[_0x5a3dda(0xa5)](readFile,TOKEN_CACHE_PATH,_0x48cf1f[_0x5a3dda(0xf1)]));if(_0x136708[_0x5a3dda(0xb0)]&&_0x136708['origin']!==currentOrigin)return null;if(_0x136708[_0x5a3dda(0xf3)]&&_0x48cf1f[_0x5a3dda(0x115)](Date[_0x5a3dda(0xfc)](),_0x136708['expiresAt']))return null;return _0x136708['accessToken']??null;}catch{return null;}}async function saveCachedToken(_0x4b344a,_0x1b31e4,_0x4fa049){const _0x332822=_0x33e646,_0x21af2f={'qLvsP':function(_0x3d1732,_0x3699ac){return _0x3d1732+_0x3699ac;},'SJonP':function(_0x401922,_0x7335b6,_0x261072){return _0x401922(_0x7335b6,_0x261072);},'fXSDM':function(_0x251b03,_0x18116e,_0x2c223e){return _0x251b03(_0x18116e,_0x2c223e);}},_0x43d92f=await loadCachedData(),_0x2ca19d={..._0x43d92f,'origin':currentOrigin,'accessToken':_0x4b344a,'refreshToken':_0x1b31e4??_0x43d92f?.[_0x332822(0xea)],'expiresAt':_0x4fa049?_0x21af2f['qLvsP'](Date[_0x332822(0xfc)](),_0x4fa049*0x3e8):undefined};await _0x21af2f[_0x332822(0xf2)](mkdir,_0x21af2f[_0x332822(0xce)](join,homedir(),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x332822(0xde)](_0x2ca19d),{'mode':0x180});}async function loadCachedClient(){const _0x28fddc=_0x33e646,_0x5cae18=await loadCachedData();if(_0x5cae18?.['origin']&&_0x5cae18['origin']!==currentOrigin)return null;return _0x5cae18?.['clientId']?{'clientId':_0x5cae18[_0x28fddc(0x116)],'clientSecret':_0x5cae18[_0x28fddc(0x97)]}:null;}async function clearCachedClient(){const _0x1bf72a=await loadCachedData();if(!_0x1bf72a)return;const {clientId:_0x3170c5,clientSecret:_0x4b78f7,..._0x3809e4}=_0x1bf72a;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x3809e4),{'mode':0x180});}async function saveCachedClient(_0x51e5a9,_0x34dac5){const _0x501f47=_0x33e646,_0x78ab63={'ftNGG':function(_0x5a5dc2){return _0x5a5dc2();},'IFTou':function(_0x5e5130){return _0x5e5130();}},_0x148e91=await _0x78ab63[_0x501f47(0xbc)](loadCachedData),_0x1021c3={..._0x148e91,'origin':currentOrigin,'accessToken':_0x148e91?.['accessToken']??'','clientId':_0x51e5a9,'clientSecret':_0x34dac5};await mkdir(join(_0x78ab63[_0x501f47(0xf0)](homedir),'.ranger'),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x501f47(0xde)](_0x1021c3),{'mode':0x180});}async function loadCachedData(){const _0x35935d=_0x33e646,_0x17405d={'wdAQD':function(_0x4aa0c5,_0x59b450,_0x53b627){return _0x4aa0c5(_0x59b450,_0x53b627);},'Wadcp':'utf-8'};try{return JSON[_0x35935d(0x10a)](await _0x17405d[_0x35935d(0xfd)](readFile,TOKEN_CACHE_PATH,_0x17405d['Wadcp']));}catch{return null;}}async function parseResponse(_0x41cc38){const _0x571b46=_0x33e646,_0x441cf5={'wtoNb':'content-type','uHfcW':_0x571b46(0x103),'nCmRt':_0x571b46(0xf9)},_0x30764f=_0x41cc38[_0x571b46(0x9c)][_0x571b46(0xab)](_0x441cf5[_0x571b46(0xdc)])??'';if(_0x30764f[_0x571b46(0x104)](_0x441cf5['uHfcW'])){const _0x4b1e3e=await _0x41cc38[_0x571b46(0xb3)]();for(const _0x31a9e4 of _0x4b1e3e['split']('\x0a')){const _0xbf2615=_0x31a9e4['trim']();if(_0xbf2615['startsWith']('data:')){const _0x35e52a=_0xbf2615[_0x571b46(0x106)](_0x571b46(0x121)['length'])[_0x571b46(0xd7)]();if(!_0x35e52a)continue;try{const _0xe6b561=JSON['parse'](_0x35e52a);if(_0xe6b561['id']!==undefined||_0xe6b561[_0x571b46(0x11d)])return _0xe6b561;}catch{}}}throw new Error(_0x441cf5['nCmRt']);}return _0x41cc38[_0x571b46(0x11f)]();}function extractToken(_0x4227ff){const _0x188538=_0x33e646,_0x2696de={'jdwas':function(_0x526fab,_0x470698){return _0x526fab===_0x470698;},'RZYch':'string','TQfcn':_0x188538(0xff),'hpvbS':_0x188538(0xb3)};if(!_0x4227ff)return null;const _0x847faa=_0x4227ff[_0x188538(0xae)];if(_0x847faa?.[_0x188538(0xb6)]&&_0x2696de['jdwas'](typeof _0x847faa['token'],_0x2696de['RZYch']))return _0x847faa['token'];if(_0x4227ff['isError']){const _0xdccfab=_0x4227ff[_0x188538(0x99)];throw new Error(_0x188538(0xfa)+(_0xdccfab?.[0x0]?.['text']??_0x2696de[_0x188538(0xaf)]));}const _0x4bd9ba=_0x4227ff['content'];if(_0x4bd9ba)for(const _0x119383 of _0x4bd9ba){if(_0x2696de['jdwas'](_0x119383['type'],_0x2696de['hpvbS'])&&_0x119383[_0x188538(0xb3)]){try{const _0x4953ad=JSON[_0x188538(0x10a)](_0x119383['text']);if(typeof _0x4953ad?.[_0x188538(0xb6)]==='string')return _0x4953ad[_0x188538(0xb6)];}catch{}const _0x5cbae2=_0x119383['text'][_0x188538(0xee)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x5cbae2)return _0x5cbae2[0x1];}}return null;}function _0x24cd(){const _0x3ac438=['refreshToken','62368wZPvxn','ioBab','darwin','match','code_challenge','IFTou','HRfRa','SJonP','expiresAt','49299lcpKRA','jJnSW','50162TfiYBr','wyeUz','code','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','Server\x20returned\x20error:\x20','LximK','now','wdAQD','ItmCK','Unknown\x20error','2025-03-26','pathname','child_process','text/event-stream','includes','HtOng','slice','6904YlUiji','\x0aToken\x20written\x20to\x20','close','parse','gslEW','.ranger','iehdh','Initializing\x20MCP\x20session...','7BUJgmY','refresh_token','MCP\x20server\x20returned\x20HTTP\x20','Exchanging\x20authorization\x20code...','writeHead','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','AHnDV','clientId','wBAHX','stdout','ranger-cli','update','write','XlvoA','error','974800oxSYLp','json','\x20done','data:','Registering\x20OAuth\x20client...','proxied','OAtkb','auth-origin.txt','EgaeY','Bearer\x20','clientSecret','/callback','content','url','access_token','headers','KNEmX','set','status','OAuth\x20error:\x20','VlJLu','1.0.0','resource','DYJxR','ZGBrS','166214zwqEoQ','dzMuk','mwbKR','mcp-oauth-tokens.json','application/json','get','AltQc','awwcy','structuredContent','TQfcn','origin','state','2.0','text','iuoud','40oiDkbW','token','Token\x20exchange\x20failed:\x20','get_cli_token\x20failed:\x20','90nYWTYC','client_secret','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','ftNGG','none','hex','NaiJI','log','name','aIZSA','open','start','client_id','platform','message','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a','OAuthTimeoutError','oVGEx','LsgoU','IRnNZ','/.well-known/oauth-protected-resource','fXSDM','listen','bwuyE','BPGHV','481638LksmWq','isTTY','wewTl','kqTvp','LOszx','trim','needs-oauth','kaZwt','application/json,\x20text/event-stream','EEFjX','wtoNb','base64url','stringify','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','xFgUF','POST','vyvft','expires_in','searchParams','sxVvg','toString','end','response_type','Not\x20found'];_0x24cd=function(){return _0x3ac438;};return _0x24cd();}
@@ -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(_0x5ddd12,_0x8ae4f3){const _0x57bffc=_0x555e,_0x38776e=_0x5ddd12();while(!![]){try{const _0x8125b2=-parseInt(_0x57bffc(0x209))/0x1+-parseInt(_0x57bffc(0x201))/0x2+-parseInt(_0x57bffc(0x21d))/0x3+-parseInt(_0x57bffc(0x229))/0x4*(parseInt(_0x57bffc(0x1f3))/0x5)+-parseInt(_0x57bffc(0x20a))/0x6+parseInt(_0x57bffc(0x205))/0x7*(-parseInt(_0x57bffc(0x237))/0x8)+-parseInt(_0x57bffc(0x1f9))/0x9*(-parseInt(_0x57bffc(0x215))/0xa);if(_0x8125b2===_0x8ae4f3)break;else _0x38776e['push'](_0x38776e['shift']());}catch(_0x545f33){_0x38776e['push'](_0x38776e['shift']());}}}(_0x944b,0xa0250));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';function _0x555e(_0x4fb284,_0x3c5147){_0x4fb284=_0x4fb284-0x1e6;const _0x944bb2=_0x944b();let _0x555ed8=_0x944bb2[_0x4fb284];return _0x555ed8;}import _0x5e3661 from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';function _0x944b(){const _0x243c25=['profileName','zbWtS','some','stdout','Ygabw','status','\x20→\x20skip\x20(','54323920GVjnbZ','tePaL','fnmLk','\x20\x20⚠\x20','No\x20local\x20profiles\x20found\x20to\x20migrate.','\x20migrated\x20to\x20cloud\x20(env:\x20','log','MGLzZ','3620454HsWQBd','znybd','envKey','all','RANGER_TEST_PASSWORD','QsmAD','push','isTTY','split','\x20→\x20cloud\x20(env:\x20','no\x20matching\x20auth\x20env','preserveBaseUrl','2261412tBLxQy','trackPhaseEnd','Aborted.','\x20profile','profile.migrate.started','message',',\x20baseUrl\x20override\x20→\x20projects.json)','3|4|2|0|1','_warnings','skip','sJbBi','authJsonPath','Kfwnw',').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.','3743216WtNrsf','XaysF','PjEwN',',\x20matches\x20','UIYDV',',\x20preserving\x20baseUrl\x20','ies','\x20as\x20project\x20override)',':\x20failed\x20to\x20delete\x20local\x20dir\x20',':\x20session\x20upload\x20failed\x20(','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','\x20failed','environments','MLkVp','utf-8','10yxTmKF','stdin','tyovw','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','padEnd','zxFbN','9vjvLDr','join','\x20skipped','cwd','baseUrl','kind','Continuing\x20with\x20migration...','wlCgW','1946964grsmDs','proceed','RANGER_TEST_USERNAME','XVIOn','14PPbeSF','profile.migrate.failed','HXilf','oZiwB','308249KKseUI','1328286YZPTeB','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','gitTrackedRanger','GWGsK'];_0x944b=function(){return _0x243c25;};return _0x944b();}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(_0x505b71){const _0xb40350=_0x555e;if(_0x505b71['kind']===_0xb40350(0x232))return'\x20\x20'+_0x505b71[_0xb40350(0x20e)]['padEnd'](0x1e)+_0xb40350(0x214)+_0x505b71['reason']+')';if(_0x505b71[_0xb40350(0x228)]&&_0x505b71['baseUrl'])return'\x20\x20'+_0x505b71[_0xb40350(0x20e)][_0xb40350(0x1f7)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x505b71['envKey']+_0xb40350(0x1e9)+_0x505b71['baseUrl']+_0xb40350(0x1eb);if(_0x505b71[_0xb40350(0x1fd)])return'\x20\x20'+_0x505b71[_0xb40350(0x20e)]['padEnd'](0x1e)+_0xb40350(0x226)+_0x505b71[_0xb40350(0x21f)]+_0xb40350(0x1e7)+_0x505b71[_0xb40350(0x1fd)]+')';return'\x20\x20'+_0x505b71[_0xb40350(0x20e)]['padEnd'](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0x505b71[_0xb40350(0x21f)]+')';}function shouldWarnGitTrackedOnce(_0x4e72c8){const _0x2d4013=_0x555e,_0x47bcc1={'znybd':function(_0x10f7c1){return _0x10f7c1();},'XsQPc':function(_0x3a4825,_0x409c91){return _0x3a4825===_0x409c91;},'XaysF':function(_0x4bcaf4,_0xefe37a){return _0x4bcaf4(_0xefe37a);}},_0x501332=_0x47bcc1[_0x2d4013(0x21e)](readProjectsConfig),_0x4551ea=_0x501332['projects'][_0x4e72c8]??={},_0x5bd18e=_0x4551ea[_0x2d4013(0x231)]??={},_0x1c6a02=_0x5bd18e['gitTrackedRanger'],_0x3f8fa8=new Date(),_0x5a6191=_0x3f8fa8['toISOString']()['slice'](0x0,0xa);if(_0x47bcc1['XsQPc'](_0x1c6a02,_0x5a6191))return![];return _0x5bd18e[_0x2d4013(0x20c)]=_0x5a6191,_0x47bcc1[_0x2d4013(0x238)](writeProjectsConfig,_0x501332),!![];}export async function migrateProfile(_0x8e54a0,_0x4d0a02){const _0x22f0dc=_0x555e,_0x37225b={'tePaL':function(_0x35090b,_0x4f9bca){return _0x35090b===_0x4f9bca;},'EyKiw':_0x22f0dc(0x20b),'zxFbN':function(_0x275ba4){return _0x275ba4();},'MGLzZ':function(_0x208ca9,_0x4ebdd3){return _0x208ca9(_0x4ebdd3);},'oZiwB':'local\x20profile\x20directory\x20not\x20found','zbWtS':function(_0x1269ef,_0x4f50ad){return _0x1269ef(_0x4f50ad);},'HXilf':_0x22f0dc(0x232),'Ygabw':'baseUrl','WTBUT':'auth.json','QsmAD':function(_0x23962b,_0x98e0ef){return _0x23962b(_0x98e0ef);},'yNQAz':'Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.','sJbBi':_0x22f0dc(0x202),'QmwRH':'Proceed?','fnmLk':function(_0x33303c){return _0x33303c();},'DuEpu':function(_0x547bc7,_0x38e3a7){return _0x547bc7(_0x38e3a7);},'GWGsK':_0x22f0dc(0x1ff),'fnMcO':'\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','PjEwN':function(_0x2dcef5,_0x41563b,_0x372a5f,_0x1d95ff){return _0x2dcef5(_0x41563b,_0x372a5f,_0x1d95ff);},'UIYDV':function(_0x57df90,_0x48861f){return _0x57df90 instanceof _0x48861f;},'MLkVp':function(_0x48dd8a,_0x1bf03d,_0x195d04){return _0x48dd8a(_0x1bf03d,_0x195d04);},'XVIOn':function(_0x1833f4,_0x25114c,_0x5b3a71){return _0x1833f4(_0x25114c,_0x5b3a71);},'fngnw':_0x22f0dc(0x206),'wlCgW':function(_0x3025d0,_0x22e524){return _0x3025d0 instanceof _0x22e524;},'Kfwnw':function(_0x1b23f,_0x57fe8c){return _0x1b23f===_0x57fe8c;},'tyovw':function(_0x32476f,_0x57aeef){return _0x32476f>_0x57aeef;}};if(!_0x8e54a0['profileName']&&!_0x8e54a0[_0x22f0dc(0x220)])throw new Error(_0x37225b['EyKiw']);let _0x30b7df;try{_0x30b7df=await _0x37225b[_0x22f0dc(0x1f8)](fetchAuthConfig);}catch(_0x29fa05){throw new Error('Could\x20not\x20fetch\x20auth\x20config\x20('+(_0x29fa05 instanceof Error?_0x29fa05['message']:String(_0x29fa05))+').\x20Run:\x20ranger\x20setup');}if(!_0x30b7df||!_0x30b7df['environments']||Object['keys'](_0x30b7df[_0x22f0dc(0x1f0)])['length']===0x0)throw new Error('No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.');const _0x4ad5e1=[];if(_0x8e54a0[_0x22f0dc(0x220)]){const {envNames:_0x187307,envTypes:_0x51d2fc}=await _0x37225b[_0x22f0dc(0x1f8)](getEnvNames);for(const _0x49ff29 of _0x187307){if(_0x37225b[_0x22f0dc(0x216)](_0x51d2fc[_0x49ff29],'ci'))continue;_0x4ad5e1[_0x22f0dc(0x223)](_0x49ff29);}}else _0x8e54a0['profileName']&&_0x4ad5e1[_0x22f0dc(0x223)](_0x8e54a0[_0x22f0dc(0x20e)]);if(_0x37225b['tePaL'](_0x4ad5e1['length'],0x0)){console[_0x22f0dc(0x21b)](_0x22f0dc(0x219));return;}const _0xd3acaf=[];for(const _0x4a2e00 of _0x4ad5e1){const _0x4fe9ec=_0x37225b['MGLzZ'](getEnvDir,_0x4a2e00);if(!existsSync(_0x4fe9ec)){_0xd3acaf['push']({'kind':'skip','profileName':_0x4a2e00,'reason':_0x37225b[_0x22f0dc(0x208)]});continue;}const _0x312c39=await _0x37225b[_0x22f0dc(0x20f)](loadSettings,_0x4a2e00),_0x5e4ec9=_0x312c39['baseUrl'];if(!_0x5e4ec9){_0xd3acaf[_0x22f0dc(0x223)]({'kind':_0x37225b[_0x22f0dc(0x207)],'profileName':_0x4a2e00,'reason':'no\x20baseUrl\x20in\x20settings.json'});continue;}const _0x5e45c8=matchAuthEnvironment(_0x5e4ec9,_0x30b7df);if(!_0x5e45c8){_0xd3acaf[_0x22f0dc(0x223)]({'kind':_0x22f0dc(0x232),'profileName':_0x4a2e00,'reason':_0x22f0dc(0x227)});continue;}const _0x43b494=_0x30b7df[_0x22f0dc(0x1f0)][_0x5e45c8],_0xf7c5d2=_0x43b494?.['domains']??[],_0x13c7f7=_0xf7c5d2['some'](_0x3a8fe8=>{const _0x3d8863=_0x22f0dc;try{return _0x37225b[_0x3d8863(0x216)](new URL(_0x3a8fe8)['origin'],new URL(_0x5e4ec9)['origin']);}catch{return![];}}),_0x48164d={};for(const [_0x564fbe,_0x43a693]of Object['entries'](_0x312c39)){if(_0x37225b[_0x22f0dc(0x216)](_0x564fbe,_0x37225b[_0x22f0dc(0x212)]))continue;if(_0x43a693===undefined)continue;_0x48164d[_0x564fbe]=_0x43a693;}!_0x13c7f7&&(_0x48164d['baseUrl']=_0x5e4ec9);const _0x501d99=join(_0x4fe9ec,_0x37225b['WTBUT']),_0x21d107=_0x37225b[_0x22f0dc(0x222)](existsSync,_0x501d99);_0xd3acaf['push']({'kind':'migrate','profileName':_0x4a2e00,'envKey':_0x5e45c8,'baseUrl':_0x5e4ec9,'preserveBaseUrl':!_0x13c7f7,'settings':_0x48164d,'authJsonPath':_0x21d107?_0x501d99:null});}console['log']('Plan:');for(const _0xd831fe of _0xd3acaf){console[_0x22f0dc(0x21b)](formatPlanLine(_0xd831fe));}if(_0x8e54a0['dryRun']){console[_0x22f0dc(0x21b)](_0x37225b['yNQAz']);return;}const _0x17c9a7=Boolean(process[_0x22f0dc(0x1f4)][_0x22f0dc(0x224)]&&process[_0x22f0dc(0x211)][_0x22f0dc(0x224)]),_0x319104=_0xd3acaf[_0x22f0dc(0x210)](_0x3f419d=>_0x3f419d[_0x22f0dc(0x1fe)]==='migrate');if(_0x319104&&_0x17c9a7&&!_0x8e54a0['yes']){const {proceed:_0x54e28c}=await _0x5e3661['prompt']([{'type':'confirm','name':_0x37225b[_0x22f0dc(0x233)],'message':_0x37225b['QmwRH'],'default':![]}]);if(!_0x54e28c){console[_0x22f0dc(0x21b)](_0x22f0dc(0x22b));return;}}const _0x2d47d6=_0x37225b[_0x22f0dc(0x217)](getRangerDir);let _0x522a58=![];if(existsSync(_0x2d47d6))try{_0x522a58=await _0x37225b['MGLzZ'](isPathGitTracked,_0x2d47d6);}catch{_0x522a58=![];}if(_0x522a58&&_0x37225b['DuEpu'](shouldWarnGitTrackedOnce,process[_0x22f0dc(0x1fc)]())){const _0x36df03=_0x22f0dc(0x230)[_0x22f0dc(0x225)]('|');let _0x3e840d=0x0;while(!![]){switch(_0x36df03[_0x3e840d++]){case'0':console[_0x22f0dc(0x21b)](_0x22f0dc(0x1f6));continue;case'1':console['log'](_0x37225b[_0x22f0dc(0x20d)]);continue;case'2':console[_0x22f0dc(0x21b)](_0x37225b['fnMcO']);continue;case'3':console['log'](_0x22f0dc(0x1ee));continue;case'4':console['log']('After\x20migration,\x20uncommit\x20it:');continue;}break;}}let _0x4da287=0x0,_0x3d2cd1=0x0,_0x13753a=0x0,_0x595edd=0x0;for(const _0x2a1546 of _0xd3acaf){if(_0x2a1546['kind']===_0x37225b['HXilf']){_0x595edd++,_0x4d0a02?.['trackPhaseEnd']('profile.migrate.skipped',{'profileName':_0x2a1546[_0x22f0dc(0x20e)],'reason':_0x2a1546['reason']});continue;}_0x4d0a02?.['trackPhaseStart'](_0x22f0dc(0x22d),{'profileName':_0x2a1546['profileName'],'envKey':_0x2a1546['envKey']});try{try{await _0x37225b[_0x22f0dc(0x1e6)](createCloudProfile,_0x2a1546['profileName'],_0x2a1546['envKey'],{'settings':_0x2a1546['settings']});}catch(_0x49b9c5){if(_0x37225b[_0x22f0dc(0x1e8)](_0x49b9c5,ApiError)&&_0x49b9c5[_0x22f0dc(0x213)]===0x199){console['log'](_0x22f0dc(0x218)+_0x2a1546[_0x22f0dc(0x20e)]+':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.'),_0x595edd++,_0x4d0a02?.[_0x22f0dc(0x22a)]('profile.migrate.skipped',{'profileName':_0x2a1546[_0x22f0dc(0x20e)],'reason':'name_conflict'});continue;}throw _0x49b9c5;}let _0x410a3a=![],_0x3c589d=![];if(_0x2a1546['authJsonPath'])try{const _0x435563=await _0x37225b[_0x22f0dc(0x1f1)](readFile,_0x2a1546[_0x22f0dc(0x234)],_0x22f0dc(0x1f2)),_0x5a49ef=JSON['parse'](_0x435563);await _0x37225b[_0x22f0dc(0x204)](uploadCloudProfileSession,_0x2a1546[_0x22f0dc(0x20e)],_0x5a49ef),_0x410a3a=!![];}catch(_0xc19ad6){_0x3c589d=!![],console['log']('\x20\x20⚠\x20'+_0x2a1546[_0x22f0dc(0x20e)]+_0x22f0dc(0x1ed)+(_0xc19ad6 instanceof Error?_0xc19ad6[_0x22f0dc(0x22e)]:_0x37225b['zbWtS'](String,_0xc19ad6))+_0x22f0dc(0x236));}let _0x402e0c=![];if(_0x8e54a0['saveCreds']){const _0x4c2c82=process['env'][_0x22f0dc(0x203)],_0x16f080=process['env'][_0x22f0dc(0x221)];if(_0x4c2c82&&_0x16f080)try{await saveCloudProfileCredentials(_0x2a1546[_0x22f0dc(0x20e)],_0x4c2c82,_0x16f080),_0x402e0c=!![];}catch(_0x234846){console[_0x22f0dc(0x21b)]('\x20\x20⚠\x20'+_0x2a1546[_0x22f0dc(0x20e)]+':\x20failed\x20to\x20save\x20credentials\x20('+(_0x234846 instanceof Error?_0x234846[_0x22f0dc(0x22e)]:String(_0x234846))+').');}else console[_0x22f0dc(0x21b)](_0x22f0dc(0x218)+_0x2a1546[_0x22f0dc(0x20e)]+':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.');}if(_0x2a1546['preserveBaseUrl']&&_0x2a1546[_0x22f0dc(0x1fd)])try{setProfileOverride(process['cwd'](),_0x2a1546['profileName'],_0x37225b['Ygabw'],_0x2a1546['baseUrl']);}catch(_0x2e59b5){console['log'](_0x22f0dc(0x218)+_0x2a1546[_0x22f0dc(0x20e)]+':\x20failed\x20to\x20write\x20projects.json\x20override\x20('+(_0x37225b[_0x22f0dc(0x1e8)](_0x2e59b5,Error)?_0x2e59b5[_0x22f0dc(0x22e)]:_0x37225b[_0x22f0dc(0x21c)](String,_0x2e59b5))+').');}const _0x5c4e66=getEnvDir(_0x2a1546['profileName']);if(!_0x3c589d&&existsSync(_0x5c4e66))try{await rm(_0x5c4e66,{'recursive':!![],'force':!![]}),_0x3d2cd1++;}catch(_0x59ccef){console['log'](_0x22f0dc(0x218)+_0x2a1546['profileName']+_0x22f0dc(0x1ec)+_0x5c4e66+'\x20('+(_0x59ccef instanceof Error?_0x59ccef[_0x22f0dc(0x22e)]:String(_0x59ccef))+').');}_0x4da287++,_0x2a1546['preserveBaseUrl']&&_0x2a1546[_0x22f0dc(0x1fd)]?console['log']('\x20\x20✓\x20'+_0x2a1546[_0x22f0dc(0x20e)]+_0x22f0dc(0x21a)+_0x2a1546[_0x22f0dc(0x21f)]+_0x22f0dc(0x22f)):console['log']('\x20\x20✓\x20'+_0x2a1546['profileName']+_0x22f0dc(0x21a)+_0x2a1546[_0x22f0dc(0x21f)]+')'),_0x4d0a02?.['trackPhaseEnd']('profile.migrate.succeeded',{'profileName':_0x2a1546['profileName'],'envKey':_0x2a1546[_0x22f0dc(0x21f)],'wasGitTracked':_0x522a58,'hadSession':_0x410a3a,'savedCreds':_0x402e0c});}catch(_0x1edbd0){_0x13753a++,console[_0x22f0dc(0x21b)]('\x20\x20✗\x20'+_0x2a1546['profileName']+'\x20failed:\x20'+(_0x1edbd0 instanceof Error?_0x1edbd0['message']:String(_0x1edbd0))),_0x4d0a02?.['trackPhaseEnd'](_0x37225b['fngnw'],{'profileName':_0x2a1546[_0x22f0dc(0x20e)],'error':_0x37225b[_0x22f0dc(0x200)](_0x1edbd0,Error)?_0x1edbd0[_0x22f0dc(0x22e)]:String(_0x1edbd0)});}}const _0x25df55=[];if(_0x4da287>0x0)_0x25df55[_0x22f0dc(0x223)](_0x4da287+_0x22f0dc(0x22c)+(_0x37225b['Kfwnw'](_0x4da287,0x1)?'':'s')+'\x20migrated');if(_0x37225b['tyovw'](_0x3d2cd1,0x0))_0x25df55[_0x22f0dc(0x223)]('Deleted\x20'+_0x3d2cd1+'\x20local\x20director'+(_0x37225b[_0x22f0dc(0x235)](_0x3d2cd1,0x1)?'y':_0x22f0dc(0x1ea)));if(_0x37225b[_0x22f0dc(0x1f5)](_0x595edd,0x0))_0x25df55['push'](_0x595edd+_0x22f0dc(0x1fb));if(_0x13753a>0x0)_0x25df55[_0x22f0dc(0x223)](_0x13753a+_0x22f0dc(0x1ef));if(_0x25df55['length']>0x0)console['log'](_0x25df55[_0x22f0dc(0x1fa)]('.\x20')+'.');}
@@ -1 +1 @@
1
- (function(_0x1c7413,_0x4d222){const _0x25772c=_0xbe8e,_0x4e5d98=_0x1c7413();while(!![]){try{const _0x59ad4b=-parseInt(_0x25772c(0x12d))/0x1+-parseInt(_0x25772c(0x14c))/0x2+-parseInt(_0x25772c(0x13f))/0x3*(-parseInt(_0x25772c(0x14b))/0x4)+parseInt(_0x25772c(0x14a))/0x5+-parseInt(_0x25772c(0x158))/0x6+parseInt(_0x25772c(0x12e))/0x7*(parseInt(_0x25772c(0x157))/0x8)+parseInt(_0x25772c(0x146))/0x9;if(_0x59ad4b===_0x4d222)break;else _0x4e5d98['push'](_0x4e5d98['shift']());}catch(_0x70d488){_0x4e5d98['push'](_0x4e5d98['shift']());}}}(_0x4908,0xb9241));function _0x4908(){const _0x490d4c=['uWgPe','Rsyng','Bwelj','IBGja','Project\x20(shared\x20with\x20team\x20via\x20git)','✓\x20Claude\x20Code\x20plugin\x20enabled','pluginScope','AUVtk','1191757GFicwE','1687IOALpH','trailhead','user','hlzwu','uLTIJ','jHaRq','plugin','fKqmT','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','ranger','log','prompt','xRHCT','NOwBJ','QtGEb','ranger@trailhead','output','3pgZyET','\x20level)...\x0a','MEoXJ','VxdLc','User\x20(available\x20in\x20all\x20your\x20projects)','\x0aYou\x20can\x20install\x20manually\x20with:','project','21253509XCQqLp','push','marketplace','success','5706615TRMFUn','1645612zAghuz','2801098rEAvmo','wantsSkillup','❌\x20Failed\x20to\x20add\x20marketplace:','enable','confirm','kgBVw','SKILL.md','error','ranger-testing/trailhead','yACFZ','.claude','6224pUpTGE','4506492gjOjWW','FvYbO','Where\x20should\x20the\x20plugin\x20be\x20installed?','jdcJg','HfwlW'];_0x4908=function(){return _0x490d4c;};return _0x4908();}import{join}from'path';import{existsSync}from'fs';import _0x373e56 from'inquirer';function _0xbe8e(_0x3efd99,_0x17b385){_0x3efd99=_0x3efd99-0x121;const _0x49080c=_0x4908();let _0xbe8ec7=_0x49080c[_0x3efd99];return _0xbe8ec7;}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x4ecbb9){const _0x3306ad=_0xbe8e,_0x54b62e={'AUVtk':_0x3306ad(0x13d),'SYyvL':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','MEoXJ':function(_0x236c1b,_0x233009){return _0x236c1b(_0x233009);},'HfwlW':function(_0x3e0058,_0x3ca165,_0x2e0bdb){return _0x3e0058(_0x3ca165,_0x2e0bdb);},'jdcJg':_0x3306ad(0x145),'QtGEb':'list','FcPCy':_0x3306ad(0x122),'qeQOG':'user','kgBVw':'plugin','Bwelj':_0x3306ad(0x148),'NOwBJ':'add','iKkrL':_0x3306ad(0x14e),'rRnzX':'--scope','ERWnP':'❌\x20Failed\x20to\x20install\x20plugin:','phmgt':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','hlzwu':function(_0x544083,_0x137efc){return _0x544083===_0x137efc;},'uWgPe':'already\x20enabled','fKqmT':'⚠\x20Failed\x20to\x20enable\x20plugin:','nEJLr':_0x3306ad(0x12a)},_0x288e7b=await isPluginInstalled(_0x54b62e[_0x3306ad(0x12c)]);if(_0x288e7b)return console[_0x3306ad(0x138)](_0x54b62e['SYyvL']),![];const _0x488335=_0x54b62e[_0x3306ad(0x141)](existsSync,_0x54b62e[_0x3306ad(0x124)](join,getProjectRoot(),'.claude'));let _0x1500dd;if(_0x4ecbb9)_0x1500dd=_0x4ecbb9;else{if(_0x488335)_0x1500dd=_0x54b62e['jdcJg'];else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x34ecaf=await _0x373e56['prompt']([{'type':_0x54b62e[_0x3306ad(0x13c)],'name':'pluginScope','message':_0x54b62e['FcPCy'],'choices':[{'name':_0x3306ad(0x143),'value':_0x3306ad(0x130)},{'name':_0x3306ad(0x129),'value':'project'}],'default':_0x54b62e['qeQOG']}]);_0x1500dd=_0x34ecaf[_0x3306ad(0x12b)];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x1500dd+_0x3306ad(0x140));const _0x2a3b71=await _0x54b62e[_0x3306ad(0x141)](isMarketplaceAdded,_0x3306ad(0x12f));let _0x20c522=_0x2a3b71;if(_0x2a3b71)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x3b5fdd=await _0x54b62e['MEoXJ'](runClaudeCommand,[_0x54b62e['kgBVw'],_0x54b62e[_0x3306ad(0x127)],_0x54b62e[_0x3306ad(0x13b)],_0x3306ad(0x154)]);!_0x3b5fdd[_0x3306ad(0x149)]?(console[_0x3306ad(0x153)](_0x54b62e['iKkrL'],_0x3b5fdd['error']),console['log'](_0x3306ad(0x144)),console[_0x3306ad(0x138)](_0x3306ad(0x136)),console[_0x3306ad(0x138)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1500dd)):_0x20c522=!![];}if(_0x20c522){const _0x5ba596=await runClaudeCommand([_0x54b62e[_0x3306ad(0x151)],'install',_0x54b62e['AUVtk'],_0x54b62e['rRnzX'],_0x1500dd]);if(!_0x5ba596[_0x3306ad(0x149)])console[_0x3306ad(0x153)](_0x54b62e['ERWnP'],_0x5ba596['error']),console['log'](_0x3306ad(0x144)),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1500dd);else{console['log'](_0x54b62e['phmgt']);const _0x25d5b3=[_0x3306ad(0x134),_0x3306ad(0x14f),_0x3306ad(0x13d)];_0x54b62e[_0x3306ad(0x131)](_0x1500dd,_0x54b62e[_0x3306ad(0x123)])&&_0x25d5b3[_0x3306ad(0x147)](_0x54b62e['rRnzX'],_0x3306ad(0x145));const _0x4288c3=await runClaudeCommand(_0x25d5b3,{'captureOutput':!![]}),_0x17ab74=_0x4288c3[_0x3306ad(0x13e)]?.['includes'](_0x54b62e[_0x3306ad(0x125)]);!_0x4288c3['success']&&!_0x17ab74?console[_0x3306ad(0x153)](_0x54b62e[_0x3306ad(0x135)],_0x4288c3['error']):console[_0x3306ad(0x138)](_0x54b62e['nEJLr']);}}return!![];}export async function ensureClaudeSkills(_0x5b5bcd){const _0xc865d9=_0xbe8e,_0x17ca0b={'xRHCT':function(_0x742e41,_0x21798e,_0x520cde,_0x26acf0){return _0x742e41(_0x21798e,_0x520cde,_0x26acf0);},'uLTIJ':_0xc865d9(0x130),'jHaRq':function(_0x33cc68,_0x56c880){return _0x33cc68(_0x56c880);},'Bqouc':'ranger','Rsyng':'SKILL.md','yACFZ':'✓\x20Ranger\x20skills\x20already\x20installed','FvYbO':function(_0x505403){return _0x505403();},'IBGja':_0xc865d9(0x156),'WkcNh':function(_0x1423e6,_0x7e8a71){return _0x1423e6(_0x7e8a71);},'YUQJe':_0xc865d9(0x14d),'VxdLc':'Would\x20you\x20like\x20to\x20install\x20skills?','PZeQc':function(_0x24e3d7,_0x442b26){return _0x24e3d7(_0x442b26);}},_0x5d1e92=existsSync(_0x17ca0b[_0xc865d9(0x13a)](join,getSkillsDir(_0x17ca0b[_0xc865d9(0x132)]),_0xc865d9(0x137),_0xc865d9(0x152))),_0x5d0f31=existsSync(join(_0x17ca0b['jHaRq'](getSkillsDir,_0xc865d9(0x145)),_0x17ca0b['Bqouc'],_0x17ca0b[_0xc865d9(0x126)]));if(_0x5d1e92||_0x5d0f31)return console[_0xc865d9(0x138)](_0x17ca0b[_0xc865d9(0x155)]),![];const _0x5c26ae=_0x17ca0b['jHaRq'](existsSync,join(_0x17ca0b[_0xc865d9(0x121)](getProjectRoot),_0x17ca0b[_0xc865d9(0x128)]));let _0x560d1a=!![];if(_0x5b5bcd)await _0x17ca0b['WkcNh'](skillup,{'autoInstall':_0x5b5bcd,'suppressUsage':!![]});else{if(_0x5c26ae)await _0x17ca0b[_0xc865d9(0x133)](skillup,{'autoInstall':'project','suppressUsage':!![]});else{const _0x25b25e=await _0x373e56[_0xc865d9(0x139)]([{'type':_0xc865d9(0x150),'name':_0x17ca0b['YUQJe'],'message':_0x17ca0b[_0xc865d9(0x142)],'default':!![]}]);_0x560d1a=_0x25b25e[_0xc865d9(0x14d)],_0x560d1a&&await _0x17ca0b['PZeQc'](skillup,{'suppressUsage':!![]});}}return _0x560d1a;}
1
+ function _0x1cd7(_0x15ba47,_0x488b78){_0x15ba47=_0x15ba47-0x65;const _0x3a79bd=_0x3a79();let _0x1cd7fd=_0x3a79bd[_0x15ba47];return _0x1cd7fd;}(function(_0xdf3985,_0x5bb67f){const _0x58cd07=_0x1cd7,_0x55c482=_0xdf3985();while(!![]){try{const _0x5a84b1=parseInt(_0x58cd07(0x80))/0x1*(parseInt(_0x58cd07(0x96))/0x2)+parseInt(_0x58cd07(0x6d))/0x3*(parseInt(_0x58cd07(0x7d))/0x4)+parseInt(_0x58cd07(0x68))/0x5+parseInt(_0x58cd07(0x6f))/0x6*(parseInt(_0x58cd07(0x78))/0x7)+parseInt(_0x58cd07(0x86))/0x8+parseInt(_0x58cd07(0x7a))/0x9+-parseInt(_0x58cd07(0x6e))/0xa;if(_0x5a84b1===_0x5bb67f)break;else _0x55c482['push'](_0x55c482['shift']());}catch(_0x94d95b){_0x55c482['push'](_0x55c482['shift']());}}}(_0x3a79,0x2769e));function _0x3a79(){const _0x48e820=['ENLvA','output','error','hISfL','145576SJVrQD','add','❌\x20Failed\x20to\x20add\x20marketplace:','BTBOJ','prompt','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','cGEyx','ranger','wantsSkillup','Project\x20(shared\x20with\x20team\x20via\x20git)','Hdrtp','LqQkc','marketplace','project','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','BNLBZ','591340OopAkF','sbAla','umoAM','XkXqP','✓\x20Marketplace\x20already\x20added','plugin','BSfFx','AtVpg','includes','SKILL.md','success','1170285gaPtwc','✓\x20Ranger\x20skills\x20already\x20installed','✓\x20Claude\x20Code\x20plugin\x20enabled','already\x20enabled','NYOjQ','45xtMwRE','7648390cpCYGj','12HaRjWF','ASdHN','qcOwW','\x0aInstalling\x20Claude\x20Code\x20plugin\x20(','ranger@trailhead','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','OSskZ','bOuhB','qZiqK','870373pazTqP','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','797445xmOnVe','user','Would\x20you\x20like\x20to\x20install\x20skills?','10952XenOVe','log','ranger-testing/trailhead','1UuQGMO','push'];_0x3a79=function(){return _0x48e820;};return _0x3a79();}import{join}from'path';import{existsSync}from'fs';import _0x1c47b4 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2e6c8a){const _0x945853=_0x1cd7,_0x4eb91d={'vaisJ':function(_0x4e74e5,_0x4c39fb){return _0x4e74e5(_0x4c39fb);},'umoAM':_0x945853(0x73),'OSskZ':_0x945853(0x74),'uUYTw':function(_0x301b75){return _0x301b75();},'hISfL':'.claude','XkXqP':'\x0a📦\x20Claude\x20Code\x20Plugin\x0a','FBacQ':'Where\x20should\x20the\x20plugin\x20be\x20installed?','sbAla':_0x945853(0x7b),'AtVpg':'trailhead','uRfCT':_0x945853(0x92),'ynZTI':'install','Hdrtp':'❌\x20Failed\x20to\x20install\x20plugin:','BNLBZ':'\x0aYou\x20can\x20install\x20manually\x20with:','QnfrO':_0x945853(0x79),'xtFeK':'enable','BSfFx':'project','qKiPB':'--scope','cGEyx':function(_0x196c0a,_0x512a67,_0x20cd25){return _0x196c0a(_0x512a67,_0x20cd25);},'NYOjQ':_0x945853(0x6b),'NPLDE':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x327489=await _0x4eb91d['vaisJ'](isPluginInstalled,_0x4eb91d[_0x945853(0x98)]);if(_0x327489)return console[_0x945853(0x7e)](_0x4eb91d[_0x945853(0x75)]),![];const _0x5ecb7b=existsSync(join(_0x4eb91d['uUYTw'](getProjectRoot),_0x4eb91d[_0x945853(0x85)]));let _0x1d5f67;if(_0x2e6c8a)_0x1d5f67=_0x2e6c8a;else{if(_0x5ecb7b)_0x1d5f67=_0x945853(0x93);else{console['log'](_0x4eb91d[_0x945853(0x99)]);const _0xe76e59=await _0x1c47b4['prompt']([{'type':'list','name':'pluginScope','message':_0x4eb91d['FBacQ'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x4eb91d[_0x945853(0x97)]},{'name':_0x945853(0x8f),'value':_0x945853(0x93)}],'default':_0x4eb91d['sbAla']}]);_0x1d5f67=_0xe76e59['pluginScope'];}}console['log'](_0x945853(0x72)+_0x1d5f67+'\x20level)...\x0a');const _0x35cd2d=await isMarketplaceAdded(_0x4eb91d[_0x945853(0x9d)]);let _0x3d3578=_0x35cd2d;if(_0x35cd2d)console['log'](_0x945853(0x9a));else{const _0x475ad9=await runClaudeCommand(['plugin',_0x4eb91d['uRfCT'],_0x945853(0x87),_0x945853(0x7f)]);!_0x475ad9['success']?(console[_0x945853(0x84)](_0x945853(0x88),_0x475ad9[_0x945853(0x84)]),console['log']('\x0aYou\x20can\x20install\x20manually\x20with:'),console[_0x945853(0x7e)](_0x945853(0x94)),console[_0x945853(0x7e)](_0x945853(0x8b)+_0x1d5f67)):_0x3d3578=!![];}if(_0x3d3578){const _0x5b5772=await runClaudeCommand([_0x945853(0x9b),_0x4eb91d['ynZTI'],_0x4eb91d[_0x945853(0x98)],'--scope',_0x1d5f67]);if(!_0x5b5772[_0x945853(0x67)])console[_0x945853(0x84)](_0x4eb91d[_0x945853(0x90)],_0x5b5772[_0x945853(0x84)]),console['log'](_0x4eb91d[_0x945853(0x95)]),console[_0x945853(0x7e)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x1d5f67);else{console[_0x945853(0x7e)](_0x4eb91d['QnfrO']);const _0x82e564=[_0x945853(0x9b),_0x4eb91d['xtFeK'],_0x945853(0x73)];_0x1d5f67===_0x4eb91d['BSfFx']&&_0x82e564[_0x945853(0x81)](_0x4eb91d['qKiPB'],_0x4eb91d[_0x945853(0x9c)]);const _0x342f4d=await _0x4eb91d[_0x945853(0x8c)](runClaudeCommand,_0x82e564,{'captureOutput':!![]}),_0x2d040c=_0x342f4d[_0x945853(0x83)]?.[_0x945853(0x65)](_0x4eb91d[_0x945853(0x6c)]);!_0x342f4d['success']&&!_0x2d040c?console['error'](_0x4eb91d['NPLDE'],_0x342f4d['error']):console[_0x945853(0x7e)](_0x945853(0x6a));}}return!![];}export async function ensureClaudeSkills(_0x44d371){const _0x2423a8=_0x1cd7,_0x567dc6={'GLAbi':function(_0x50597e,_0x4dced1){return _0x50597e(_0x4dced1);},'ENLvA':_0x2423a8(0x7b),'jtpzg':'SKILL.md','ASdHN':function(_0x3bb66f,_0x33845a,_0x4d3ba9,_0x3dc35d){return _0x3bb66f(_0x33845a,_0x4d3ba9,_0x3dc35d);},'bOuhB':function(_0x8ae42,_0xb23d4f){return _0x8ae42(_0xb23d4f);},'OkVaO':_0x2423a8(0x93),'yXJZY':'ranger','qZiqK':function(_0x20aefe,_0x4952f6){return _0x20aefe||_0x4952f6;},'LqQkc':_0x2423a8(0x69),'mxVBt':function(_0x14ecca,_0x5097b9){return _0x14ecca(_0x5097b9);},'xNDAw':function(_0x4a45ac,_0x5a67f2,_0x5b2a0f){return _0x4a45ac(_0x5a67f2,_0x5b2a0f);},'qcOwW':'.claude','BTBOJ':'confirm','uofjK':_0x2423a8(0x8e),'oHceY':function(_0xe5166b,_0x4cfbc0){return _0xe5166b(_0x4cfbc0);}},_0x3dfdde=_0x567dc6['GLAbi'](existsSync,join(getSkillsDir(_0x567dc6[_0x2423a8(0x82)]),_0x2423a8(0x8d),_0x567dc6['jtpzg'])),_0x3c5d9e=existsSync(_0x567dc6[_0x2423a8(0x70)](join,_0x567dc6[_0x2423a8(0x76)](getSkillsDir,_0x567dc6['OkVaO']),_0x567dc6['yXJZY'],_0x2423a8(0x66)));if(_0x567dc6[_0x2423a8(0x77)](_0x3dfdde,_0x3c5d9e))return console['log'](_0x567dc6[_0x2423a8(0x91)]),![];const _0x4d1ba4=_0x567dc6['mxVBt'](existsSync,_0x567dc6['xNDAw'](join,getProjectRoot(),_0x567dc6[_0x2423a8(0x71)]));let _0x515b9c=!![];if(_0x44d371)await skillup({'autoInstall':_0x44d371,'suppressUsage':!![]});else{if(_0x4d1ba4)await skillup({'autoInstall':_0x567dc6['OkVaO'],'suppressUsage':!![]});else{const _0x4d0fd1=await _0x1c47b4[_0x2423a8(0x8a)]([{'type':_0x567dc6[_0x2423a8(0x89)],'name':_0x567dc6['uofjK'],'message':_0x2423a8(0x7c),'default':!![]}]);_0x515b9c=_0x4d0fd1[_0x2423a8(0x8e)],_0x515b9c&&await _0x567dc6['oHceY'](skillup,{'suppressUsage':!![]});}}return _0x515b9c;}
@@ -1 +1 @@
1
- (function(_0x3ece10,_0x276d5b){const _0x3f1d35=_0x35a0,_0x313b18=_0x3ece10();while(!![]){try{const _0x5c3c64=parseInt(_0x3f1d35(0xef))/0x1*(parseInt(_0x3f1d35(0xec))/0x2)+-parseInt(_0x3f1d35(0xf8))/0x3+parseInt(_0x3f1d35(0xdf))/0x4+parseInt(_0x3f1d35(0xf3))/0x5*(parseInt(_0x3f1d35(0xf0))/0x6)+parseInt(_0x3f1d35(0xf5))/0x7+parseInt(_0x3f1d35(0xf6))/0x8+-parseInt(_0x3f1d35(0xe8))/0x9*(parseInt(_0x3f1d35(0xe3))/0xa);if(_0x5c3c64===_0x276d5b)break;else _0x313b18['push'](_0x313b18['shift']());}catch(_0x56bc7f){_0x313b18['push'](_0x313b18['shift']());}}}(_0x3f6d,0x5fcce));function _0x35a0(_0x1d9299,_0x52c890){_0x1d9299=_0x1d9299-0xdf;const _0x3f6d5b=_0x3f6d();let _0x35a072=_0x3f6d5b[_0x1d9299];return _0x35a072;}import{join}from'path';function _0x3f6d(){const _0x23df46=['cicTw','User\x20(available\x20in\x20all\x20your\x20projects)','includes','11214099lKHXBS','bsMrm','BqxWk','ZKPlY','4sDoHiu','$schema','\x0a📦\x20OpenCode\x20Plugin\x0a','245137prxxdy','42VZTPnK','parse','Where\x20should\x20the\x20plugin\x20be\x20installed?','97410JOPVHx','pluginScope','4457089tbvyGp','4083128ZncuZg','@ranger-testing/opencode-plugin','1529199pZojHe','log','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','✓\x20OpenCode\x20plugin\x20already\x20configured','list','jvsCQ','opencode.json','✓\x20OpenCode\x20plugin\x20configured','FPqNr','1497504ooBDKd','wqzPu','user','plugin','10daYEDu','stringify'];_0x3f6d=function(){return _0x23df46;};return _0x3f6d();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x848681 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x5b5bdd){const _0x257df2=_0x35a0,_0x520621={'BqxWk':function(_0x4a32b1,_0x23ac59){return _0x4a32b1(_0x23ac59);},'pvQsP':function(_0x91dd48,_0xd5f0b1,_0x573521){return _0x91dd48(_0xd5f0b1,_0x573521);},'BGnzO':'project','ZKPlY':_0x257df2(0xfe),'jvsCQ':_0x257df2(0xee),'aRjEV':_0x257df2(0xf2),'bsMrm':_0x257df2(0xe6),'UxQtA':'user','cicTw':'Project\x20(shared\x20with\x20team\x20via\x20git)','kfIzg':function(_0x2d1357,_0x39011a,_0x3f7580){return _0x2d1357(_0x39011a,_0x3f7580);},'sKIpw':_0x257df2(0xf7),'MQcDf':'https://opencode.ai/config.json','wqzPu':_0x257df2(0xfa),'nPZwf':'Failed\x20to\x20read\x20opencode.json','FPqNr':_0x257df2(0xfb),'AknQC':function(_0x6dece6,_0x3c6e49){return _0x6dece6+_0x3c6e49;},'ulXfy':_0x257df2(0xff)},_0x2e72b2=_0x520621[_0x257df2(0xea)](existsSync,_0x520621['pvQsP'](join,getOpencodeConfigDir(_0x520621['BGnzO']),_0x520621[_0x257df2(0xeb)]));let _0x31166e;if(_0x5b5bdd)_0x31166e=_0x5b5bdd;else{if(_0x2e72b2)_0x31166e='project';else{console['log'](_0x520621[_0x257df2(0xfd)]);const _0x514f45=await _0x848681['prompt']([{'type':_0x257df2(0xfc),'name':_0x257df2(0xf4),'message':_0x520621['aRjEV'],'choices':[{'name':_0x520621[_0x257df2(0xe9)],'value':_0x520621['UxQtA']},{'name':_0x520621[_0x257df2(0xe5)],'value':'project'}],'default':_0x257df2(0xe1)}]);_0x31166e=_0x514f45[_0x257df2(0xf4)];}}const _0x5ce59a=_0x520621['kfIzg'](join,getOpencodeConfigDir(_0x31166e),'opencode.json'),_0x141fd7=_0x520621['sKIpw'],_0x559ded=_0x520621['MQcDf'];let _0x53c1d9={};if(_0x520621['BqxWk'](existsSync,_0x5ce59a))try{const _0x11daf0=await readFile(_0x5ce59a,'utf-8');_0x53c1d9=JSON[_0x257df2(0xf1)](_0x11daf0);}catch(_0x4db55f){return console['error'](_0x520621[_0x257df2(0xe0)]),{'configured':![],'scope':_0x31166e,'error':_0x520621['nPZwf'],'details':_0x4db55f};}const _0x7b063c=Array['isArray'](_0x53c1d9[_0x257df2(0xe2)])?_0x53c1d9['plugin']:[];if(_0x7b063c[_0x257df2(0xe7)](_0x141fd7))return console[_0x257df2(0xf9)](_0x520621[_0x257df2(0x100)]),{'configured':![],'scope':_0x31166e};return _0x53c1d9[_0x257df2(0xed)]=_0x53c1d9[_0x257df2(0xed)]||_0x559ded,_0x53c1d9[_0x257df2(0xe2)]=[..._0x7b063c,_0x141fd7],await mkdir(getOpencodeConfigDir(_0x31166e),{'recursive':!![]}),await writeFile(_0x5ce59a,_0x520621['AknQC'](JSON[_0x257df2(0xe4)](_0x53c1d9,null,0x2),'\x0a')),console['log'](_0x520621['ulXfy']),{'configured':!![],'scope':_0x31166e};}
1
+ (function(_0x11493b,_0x4f35ae){const _0x1de5c9=_0x2be2,_0x358380=_0x11493b();while(!![]){try{const _0x4181b6=-parseInt(_0x1de5c9(0xe0))/0x1*(-parseInt(_0x1de5c9(0xe5))/0x2)+parseInt(_0x1de5c9(0xd4))/0x3*(-parseInt(_0x1de5c9(0xf4))/0x4)+parseInt(_0x1de5c9(0xdc))/0x5+parseInt(_0x1de5c9(0xe8))/0x6+parseInt(_0x1de5c9(0xde))/0x7*(-parseInt(_0x1de5c9(0xd5))/0x8)+parseInt(_0x1de5c9(0xdd))/0x9+parseInt(_0x1de5c9(0xf1))/0xa;if(_0x4181b6===_0x4f35ae)break;else _0x358380['push'](_0x358380['shift']());}catch(_0xa0e6e5){_0x358380['push'](_0x358380['shift']());}}}(_0x15aa,0x85715));function _0x15aa(){const _0x6da918=['⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','4SPinNu','log','stringify','3209862vGvcuo','16QQbsKW','includes','error','pluginScope','prompt','list','QJMFm','4962835dmpBis','1070388FuUbQa','3824961diDuhH','OpwRF','437755ycMLid','parse','Tevbh','hQBQi','project','2qXwCDt','EySOC','user','3036720BKaOEe','gCTqM','opencode.json','evRpp','xAuwt','ZTosO','plugin','jmNDO','ITjiy','6540070XdEPdT','utf-8'];_0x15aa=function(){return _0x6da918;};return _0x15aa();}import{join}from'path';function _0x2be2(_0x239c0c,_0x1980a8){_0x239c0c=_0x239c0c-0xd2;const _0x15aa46=_0x15aa();let _0x2be2f4=_0x15aa46[_0x239c0c];return _0x2be2f4;}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x6c5d65 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x499cd5){const _0x20cf90=_0x2be2,_0x21aaca={'ITjiy':function(_0xa1f69e,_0x12f43e,_0x51e632){return _0xa1f69e(_0x12f43e,_0x51e632);},'rgews':function(_0x484e33,_0x54cc68){return _0x484e33(_0x54cc68);},'OpwRF':_0x20cf90(0xea),'JzMUH':'project','hQBQi':'\x0a📦\x20OpenCode\x20Plugin\x0a','evRpp':_0x20cf90(0xda),'JoNUp':_0x20cf90(0xd8),'KRzkt':'Where\x20should\x20the\x20plugin\x20be\x20installed?','ybmJW':'User\x20(available\x20in\x20all\x20your\x20projects)','JvEvU':_0x20cf90(0xe7),'QJMFm':'Project\x20(shared\x20with\x20team\x20via\x20git)','Tevbh':'@ranger-testing/opencode-plugin','EySOC':'https://opencode.ai/config.json','xAuwt':function(_0x2c0ebb,_0x3fb43a){return _0x2c0ebb(_0x3fb43a);},'SqPKE':_0x20cf90(0xf2),'ZTosO':_0x20cf90(0xf3),'gCTqM':function(_0x139448,_0x309673,_0x4a5b33){return _0x139448(_0x309673,_0x4a5b33);},'jmNDO':function(_0x4ad2c7,_0xc41bb3,_0x2e2191){return _0x4ad2c7(_0xc41bb3,_0x2e2191);}},_0x4d69dc=existsSync(_0x21aaca[_0x20cf90(0xf0)](join,_0x21aaca['rgews'](getOpencodeConfigDir,_0x20cf90(0xe4)),_0x21aaca[_0x20cf90(0xdf)]));let _0x3908af;if(_0x499cd5)_0x3908af=_0x499cd5;else{if(_0x4d69dc)_0x3908af=_0x21aaca['JzMUH'];else{console['log'](_0x21aaca[_0x20cf90(0xe3)]);const _0x50383d=await _0x6c5d65[_0x20cf90(0xd9)]([{'type':_0x21aaca[_0x20cf90(0xeb)],'name':_0x21aaca['JoNUp'],'message':_0x21aaca['KRzkt'],'choices':[{'name':_0x21aaca['ybmJW'],'value':_0x21aaca['JvEvU']},{'name':_0x21aaca[_0x20cf90(0xdb)],'value':_0x20cf90(0xe4)}],'default':_0x20cf90(0xe7)}]);_0x3908af=_0x50383d['pluginScope'];}}const _0x474f88=join(getOpencodeConfigDir(_0x3908af),_0x20cf90(0xea)),_0x251096=_0x21aaca[_0x20cf90(0xe2)],_0xf69e61=_0x21aaca[_0x20cf90(0xe6)];let _0x1f5846={};if(_0x21aaca[_0x20cf90(0xec)](existsSync,_0x474f88))try{const _0x221a24=await readFile(_0x474f88,_0x21aaca['SqPKE']);_0x1f5846=JSON[_0x20cf90(0xe1)](_0x221a24);}catch(_0x4a526e){return console[_0x20cf90(0xd7)](_0x21aaca[_0x20cf90(0xed)]),{'configured':![],'scope':_0x3908af,'error':'Failed\x20to\x20read\x20opencode.json','details':_0x4a526e};}const _0x32f0e3=Array['isArray'](_0x1f5846[_0x20cf90(0xee)])?_0x1f5846[_0x20cf90(0xee)]:[];if(_0x32f0e3[_0x20cf90(0xd6)](_0x251096))return console['log']('✓\x20OpenCode\x20plugin\x20already\x20configured'),{'configured':![],'scope':_0x3908af};return _0x1f5846['$schema']=_0x1f5846['$schema']||_0xf69e61,_0x1f5846['plugin']=[..._0x32f0e3,_0x251096],await _0x21aaca[_0x20cf90(0xe9)](mkdir,getOpencodeConfigDir(_0x3908af),{'recursive':!![]}),await _0x21aaca[_0x20cf90(0xef)](writeFile,_0x474f88,JSON[_0x20cf90(0xd3)](_0x1f5846,null,0x2)+'\x0a'),console[_0x20cf90(0xd2)]('✓\x20OpenCode\x20plugin\x20configured'),{'configured':!![],'scope':_0x3908af};}