@ranger-testing/ranger-cli 2.5.4-alpha.071b7bd-1 → 2.5.4-alpha.a70fc60-4

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 (78) 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 -0
  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 -0
  42. package/build/commands/utils/cloudProfileSession.js +1 -0
  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 -0
  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 -0
  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 -0
  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 -0
  63. package/build/commands/utils/resolveProfileUrl.js +1 -0
  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 +1 -1
  78. package/package.json +6 -2
@@ -1 +1 @@
1
- (function(_0x1cb440,_0x2bfd87){const _0x231701=_0x5195,_0x305977=_0x1cb440();while(!![]){try{const _0x2abcf9=parseInt(_0x231701(0xdb))/0x1*(parseInt(_0x231701(0xd3))/0x2)+-parseInt(_0x231701(0xd5))/0x3+parseInt(_0x231701(0xd6))/0x4*(-parseInt(_0x231701(0xd1))/0x5)+parseInt(_0x231701(0xd9))/0x6+-parseInt(_0x231701(0xd4))/0x7*(parseInt(_0x231701(0xd7))/0x8)+-parseInt(_0x231701(0xd0))/0x9+-parseInt(_0x231701(0xcf))/0xa*(-parseInt(_0x231701(0xce))/0xb);if(_0x2abcf9===_0x2bfd87)break;else _0x305977['push'](_0x305977['shift']());}catch(_0x5153bf){_0x305977['push'](_0x305977['shift']());}}}(_0x52a6,0x2e3dc));function _0x5195(_0x3a3fd1,_0x49f59b){_0x3a3fd1=_0x3a3fd1-0xce;const _0x52a641=_0x52a6();let _0x5195f9=_0x52a641[_0x3a3fd1];return _0x5195f9;}function _0x52a6(){const _0x1da2a6=['84258CBKtNH','2332zwBDzF','2009416EAZLQH','sessionId','213714NglsLu','dtzig','26330DARruh','11GVJthh','5311430zaUvcS','2594970ltNReb','175vduLTo','qBStG','16nQJIbe','7ynsWui'];_0x52a6=function(){return _0x1da2a6;};return _0x52a6();}import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';export async function planReminder(_0x5dd951){const _0x2506e5=_0x5195,_0x1abf59={'dtzig':function(_0x4e0363,_0x235bd7){return _0x4e0363!==_0x235bd7;},'qBStG':'plan','ncOpL':function(_0xfe2f92,_0x3e2088){return _0xfe2f92(_0x3e2088);}},_0x3cf6cb=await getEnabledHookContext(_0x5dd951);if(!_0x3cf6cb)return;if(_0x1abf59[_0x2506e5(0xda)](_0x3cf6cb['input']['permission_mode'],_0x1abf59[_0x2506e5(0xd2)]))return;if(!_0x1abf59['ncOpL'](shouldShowPlanReminder,_0x3cf6cb[_0x2506e5(0xd8)]))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(_0x54991b,_0x3ca18e){const _0x5ad703=_0x3a5b,_0x30f2fa=_0x54991b();while(!![]){try{const _0x2f6d0c=-parseInt(_0x5ad703(0x12e))/0x1*(-parseInt(_0x5ad703(0x136))/0x2)+-parseInt(_0x5ad703(0x131))/0x3*(parseInt(_0x5ad703(0x13a))/0x4)+parseInt(_0x5ad703(0x139))/0x5*(-parseInt(_0x5ad703(0x132))/0x6)+parseInt(_0x5ad703(0x138))/0x7*(parseInt(_0x5ad703(0x137))/0x8)+parseInt(_0x5ad703(0x134))/0x9*(-parseInt(_0x5ad703(0x12c))/0xa)+parseInt(_0x5ad703(0x13c))/0xb+parseInt(_0x5ad703(0x130))/0xc;if(_0x2f6d0c===_0x3ca18e)break;else _0x30f2fa['push'](_0x30f2fa['shift']());}catch(_0x2fc0c4){_0x30f2fa['push'](_0x30f2fa['shift']());}}}(_0x14f8,0x487bc));import{printBlock,getEnabledHookContext}from'./output.js';function _0x3a5b(_0x3d15e1,_0x8021aa){_0x3d15e1=_0x3d15e1-0x12c;const _0x14f8c2=_0x14f8();let _0x3a5b9b=_0x14f8c2[_0x3d15e1];return _0x3a5b9b;}import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x14f8(){const _0x1f3f72=['1165806OBZaGD','===\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===','5894uYQPnU','3144sBLmwT','21BEilKw','15mqgJmL','45200UhmDug','permission_mode','3079692ELxVOO','10mmezjl','uRHRH','62dPEJpb','sessionId','10359168eMjhyg','123WBXPdT','874806wbIqhj','plan'];_0x14f8=function(){return _0x1f3f72;};return _0x14f8();}export async function planReminder(_0x2a1625){const _0x5cd68a=_0x3a5b,_0x4d29a5={'KCSvy':_0x5cd68a(0x133),'uRHRH':function(_0x91c5ff,_0x815c01){return _0x91c5ff(_0x815c01);}},_0x47b1bc=await getEnabledHookContext(_0x2a1625);if(!_0x47b1bc)return;if(_0x47b1bc['input'][_0x5cd68a(0x13b)]!==_0x4d29a5['KCSvy'])return;if(!shouldShowPlanReminder(_0x47b1bc[_0x5cd68a(0x12f)]))return;_0x4d29a5[_0x5cd68a(0x12d)](printBlock,_0x5cd68a(0x135));}
@@ -1 +1 @@
1
- (function(_0x30c6e6,_0x5a70d8){const _0x1bb71b=_0x49a3,_0x49ce87=_0x30c6e6();while(!![]){try{const _0x3f776c=parseInt(_0x1bb71b(0x1a5))/0x1*(-parseInt(_0x1bb71b(0x1a1))/0x2)+-parseInt(_0x1bb71b(0x1a4))/0x3+parseInt(_0x1bb71b(0x1a2))/0x4+parseInt(_0x1bb71b(0x1a6))/0x5+parseInt(_0x1bb71b(0x1a8))/0x6+parseInt(_0x1bb71b(0x1a9))/0x7*(parseInt(_0x1bb71b(0x1a3))/0x8)+-parseInt(_0x1bb71b(0x1a0))/0x9*(parseInt(_0x1bb71b(0x1a7))/0xa);if(_0x3f776c===_0x5a70d8)break;else _0x49ce87['push'](_0x49ce87['shift']());}catch(_0x24cfdf){_0x49ce87['push'](_0x49ce87['shift']());}}}(_0x3a36,0xd251e));import{printBlock,getEnabledSessionId}from'./output.js';function _0x3a36(){const _0xf2bdd3=['10nVvwva','4739880TvzowV','3423zCGRpq','168813NOWGlV','2uItmAt','3599356Zemlsf','18104jLpHOD','2712171myjGHA','1112957KrhDoM','504075qkGeMv'];_0x3a36=function(){return _0xf2bdd3;};return _0x3a36();}function _0x49a3(_0x2163d,_0x3a8bb0){_0x2163d=_0x2163d-0x1a0;const _0x3a3675=_0x3a36();let _0x49a3ee=_0x3a3675[_0x2163d];return _0x49a3ee;}export async function planStart(_0x16782a){const _0xf16acf=await getEnabledSessionId(_0x16782a);if(!_0xf16acf)return;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
+ function _0x3c06(_0x155b4c,_0x4bc349){_0x155b4c=_0x155b4c-0x134;const _0x11dcab=_0x11dc();let _0x3c0672=_0x11dcab[_0x155b4c];return _0x3c0672;}(function(_0x57a8a3,_0x337346){const _0x10890d=_0x3c06,_0x26b45a=_0x57a8a3();while(!![]){try{const _0x2e30ea=-parseInt(_0x10890d(0x139))/0x1+-parseInt(_0x10890d(0x136))/0x2+parseInt(_0x10890d(0x135))/0x3+parseInt(_0x10890d(0x137))/0x4+parseInt(_0x10890d(0x13d))/0x5*(-parseInt(_0x10890d(0x138))/0x6)+-parseInt(_0x10890d(0x13a))/0x7*(-parseInt(_0x10890d(0x134))/0x8)+parseInt(_0x10890d(0x13b))/0x9;if(_0x2e30ea===_0x337346)break;else _0x26b45a['push'](_0x26b45a['shift']());}catch(_0x424de4){_0x26b45a['push'](_0x26b45a['shift']());}}}(_0x11dc,0xd1e0d));function _0x11dc(){const _0x5e393d=['7qtevSi','5322348JxsQsi','WrHBo','5eSwTTd','5508776BiUrdK','511737jsJReY','33072HdKLOZ','5979388MQAcgf','5170416EzWFMc','1207462fGtuNP'];_0x11dc=function(){return _0x5e393d;};return _0x11dc();}import{printBlock,getEnabledSessionId}from'./output.js';export async function planStart(_0x4888e4){const _0x3d1a92=_0x3c06,_0x2481d7={'WrHBo':function(_0x3bbec1,_0x2d390c){return _0x3bbec1(_0x2d390c);}},_0x10cc05=await getEnabledSessionId(_0x4888e4);if(!_0x10cc05)return;_0x2481d7[_0x3d1a92(0x13c)](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(_0x40f759,_0x8a4cff){const _0xe62862=_0x5775,_0x259694=_0x40f759();while(!![]){try{const _0x17030c=-parseInt(_0xe62862(0x14d))/0x1+-parseInt(_0xe62862(0x14b))/0x2*(-parseInt(_0xe62862(0x157))/0x3)+parseInt(_0xe62862(0x14f))/0x4+parseInt(_0xe62862(0x149))/0x5+-parseInt(_0xe62862(0x155))/0x6*(parseInt(_0xe62862(0x14c))/0x7)+-parseInt(_0xe62862(0x14a))/0x8*(parseInt(_0xe62862(0x14e))/0x9)+parseInt(_0xe62862(0x151))/0xa;if(_0x17030c===_0x8a4cff)break;else _0x259694['push'](_0x259694['shift']());}catch(_0x187478){_0x259694['push'](_0x259694['shift']());}}}(_0x9130,0xe9e66));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';function _0x9130(){const _0x488127=['8257465PkTWNk','16GgjJKH','101666JHnKKY','7XdJBmn','1367479ssqiIW','7813845krFUKW','2321984PSiQmV','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).','22041500VQFNZq','stringify','RANGER:\x20If\x20this\x20is\x20for\x20a\x20UI\x20feature,\x20you\x20MUST\x20use\x20/ranger\x20to\x20either\x20create\x20a\x20new\x20feature\x20review\x20or\x20resume\x20an\x20existing\x20one.','log','8955132TIrQwe','PostToolUse','66ozkxYI'];_0x9130=function(){return _0x488127;};return _0x9130();}function _0x5775(_0x48444f,_0x5bdb0e){_0x48444f=_0x48444f-0x149;const _0x91307f=_0x9130();let _0x577514=_0x91307f[_0x48444f];return _0x577514;}import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x2eb34d){const _0x56b2d5=_0x5775,_0x147045={'gjBsq':_0x56b2d5(0x156)},_0x376cc5=await getEnabledSessionId(_0x2eb34d);if(!_0x376cc5)return;updateBranchTracking(_0x376cc5);const _0x37914d=await getToken();if(!_0x37914d)return;const _0x28148f=getSessionEntry(_0x376cc5);if(_0x28148f){const _0x1a98f1={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x56b2d5(0x150)}};console[_0x56b2d5(0x154)](JSON[_0x56b2d5(0x152)](_0x1a98f1));return;}const _0x2295df={'hookSpecificOutput':{'hookEventName':_0x147045['gjBsq'],'additionalContext':_0x56b2d5(0x153)}};console['log'](JSON[_0x56b2d5(0x152)](_0x2295df));}
1
+ (function(_0x485614,_0x15a64e){const _0x5bf7e5=_0x5376,_0x54f0e8=_0x485614();while(!![]){try{const _0x30bdfd=-parseInt(_0x5bf7e5(0x186))/0x1+parseInt(_0x5bf7e5(0x183))/0x2*(parseInt(_0x5bf7e5(0x180))/0x3)+-parseInt(_0x5bf7e5(0x17c))/0x4*(parseInt(_0x5bf7e5(0x17d))/0x5)+parseInt(_0x5bf7e5(0x181))/0x6*(parseInt(_0x5bf7e5(0x179))/0x7)+parseInt(_0x5bf7e5(0x184))/0x8+parseInt(_0x5bf7e5(0x182))/0x9*(-parseInt(_0x5bf7e5(0x17a))/0xa)+parseInt(_0x5bf7e5(0x17f))/0xb;if(_0x30bdfd===_0x15a64e)break;else _0x54f0e8['push'](_0x54f0e8['shift']());}catch(_0x22bf48){_0x54f0e8['push'](_0x54f0e8['shift']());}}}(_0x251c,0x2ef8b));import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';function _0x5376(_0xd83da1,_0x35ca4d){_0xd83da1=_0xd83da1-0x179;const _0x251cad=_0x251c();let _0x5376d1=_0x251cad[_0xd83da1];return _0x5376d1;}export async function postEdit(_0x108de7){const _0x5d8ba3=_0x5376,_0x34eccd={'sfdic':function(_0x2595ae){return _0x2595ae();},'EmlDT':function(_0x31e8d0,_0x56c88d){return _0x31e8d0(_0x56c88d);}},_0x256965=await getEnabledSessionId(_0x108de7);if(!_0x256965)return;updateBranchTracking(_0x256965);const _0x1acfff=await _0x34eccd[_0x5d8ba3(0x17b)](getToken);if(!_0x1acfff)return;const _0x366df1=_0x34eccd['EmlDT'](getSessionEntry,_0x256965);if(_0x366df1){const _0x4182de={'hookSpecificOutput':{'hookEventName':'PostToolUse','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['log'](JSON[_0x5d8ba3(0x17e)](_0x4182de));return;}const _0x2ea19d={'hookSpecificOutput':{'hookEventName':'PostToolUse','additionalContext':_0x5d8ba3(0x185)}};console['log'](JSON['stringify'](_0x2ea19d));}function _0x251c(){const _0x14c771=['1106127LPfTJt','12aswSUn','1760337DCzZYt','2NANftp','1292664OfdzOH','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.','179215JHOdZG','93800itcFRT','10sGeyNe','sfdic','248284QBSOpc','15ZYOKQm','stringify','2159564iRjYjq'];_0x251c=function(){return _0x14c771;};return _0x251c();}
@@ -1 +1 @@
1
- function _0xccd1(){const _0x3801fe=['232849CSJupv','601134IvTyfO','HnBtg','514299aygZCF','7990xBnpxE','6057cOTQIb','2NLvMuA','===\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`.','12766528wiItTE','56gEjGOR','28peQuuz','6530310ITUagC','10602702TxvAFz'];_0xccd1=function(){return _0x3801fe;};return _0xccd1();}(function(_0x45cf82,_0x1fb22b){const _0x2f35f0=_0x4d25,_0x4644d9=_0x45cf82();while(!![]){try{const _0x3ba686=-parseInt(_0x2f35f0(0x1af))/0x1*(-parseInt(_0x2f35f0(0x1b5))/0x2)+-parseInt(_0x2f35f0(0x1b2))/0x3*(-parseInt(_0x2f35f0(0x1b9))/0x4)+-parseInt(_0x2f35f0(0x1ba))/0x5+-parseInt(_0x2f35f0(0x1b0))/0x6*(-parseInt(_0x2f35f0(0x1b8))/0x7)+-parseInt(_0x2f35f0(0x1b7))/0x8+-parseInt(_0x2f35f0(0x1b4))/0x9*(-parseInt(_0x2f35f0(0x1b3))/0xa)+parseInt(_0x2f35f0(0x1bb))/0xb;if(_0x3ba686===_0x1fb22b)break;else _0x4644d9['push'](_0x4644d9['shift']());}catch(_0x630a97){_0x4644d9['push'](_0x4644d9['shift']());}}}(_0xccd1,0xcba4b));function _0x4d25(_0xce8f18,_0x298c3e){_0xce8f18=_0xce8f18-0x1af;const _0xccd198=_0xccd1();let _0x4d2520=_0xccd198[_0xce8f18];return _0x4d2520;}import{getToken}from'../utils/keychain.js';import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x5692ac){const _0xb6505=_0x4d25,_0x1506da={'HnBtg':function(_0x12df76,_0x45793f){return _0x12df76(_0x45793f);},'ZFnNj':function(_0x51df0c){return _0x51df0c();}},_0xea3f62=await _0x1506da[_0xb6505(0x1b1)](getEnabledSessionId,_0x5692ac);if(!_0xea3f62)return;try{const _0x4e3462=await _0x1506da['ZFnNj'](getToken);if(!_0x4e3462)return;printBlock(_0xb6505(0x1b6));}catch{}}
1
+ (function(_0x30d5f7,_0x4d337e){const _0x5edc34=_0xe91e,_0x80bb52=_0x30d5f7();while(!![]){try{const _0x2cabca=-parseInt(_0x5edc34(0x1f2))/0x1*(parseInt(_0x5edc34(0x1f4))/0x2)+parseInt(_0x5edc34(0x1ed))/0x3+parseInt(_0x5edc34(0x1f3))/0x4*(parseInt(_0x5edc34(0x1f0))/0x5)+-parseInt(_0x5edc34(0x1f1))/0x6+-parseInt(_0x5edc34(0x1f6))/0x7*(parseInt(_0x5edc34(0x1ee))/0x8)+-parseInt(_0x5edc34(0x1f7))/0x9+parseInt(_0x5edc34(0x1f5))/0xa;if(_0x2cabca===_0x4d337e)break;else _0x80bb52['push'](_0x80bb52['shift']());}catch(_0x56bb8a){_0x80bb52['push'](_0x80bb52['shift']());}}}(_0x49fe,0x1a27c));import{getToken}from'../utils/keychain.js';function _0xe91e(_0x331d7b,_0x87f844){_0x331d7b=_0x331d7b-0x1ed;const _0x49fe56=_0x49fe();let _0xe91e5a=_0x49fe56[_0x331d7b];return _0xe91e5a;}import{printBlock,getEnabledSessionId}from'./output.js';function _0x49fe(){const _0x4c0008=['1340298REAaBt','42318AgeBvq','8dmZOWB','===\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`.','445wRfScm','1180230XmljVX','1cuWUhx','5356poiGLZ','124140SQVYBD','5718350aKnfEz','1331981RMwglD'];_0x49fe=function(){return _0x4c0008;};return _0x49fe();}export async function preCompact(_0x2b5cf7){const _0x385000=_0xe91e,_0x3401cb={'QwDfZ':function(_0xe3f67f,_0x11411c){return _0xe3f67f(_0x11411c);},'CfHqz':function(_0x5223b0){return _0x5223b0();}},_0x43b2a0=await _0x3401cb['QwDfZ'](getEnabledSessionId,_0x2b5cf7);if(!_0x43b2a0)return;try{const _0x1a490e=await _0x3401cb['CfHqz'](getToken);if(!_0x1a490e)return;printBlock(_0x385000(0x1ef));}catch{}}
@@ -1 +1 @@
1
- (function(_0x34aa8b,_0x52f95a){const _0x5c6475=_0x32d4,_0x3c5150=_0x34aa8b();while(!![]){try{const _0x1ccdc5=-parseInt(_0x5c6475(0x1a2))/0x1+parseInt(_0x5c6475(0x1a0))/0x2*(parseInt(_0x5c6475(0x1aa))/0x3)+parseInt(_0x5c6475(0x19f))/0x4+-parseInt(_0x5c6475(0x1ab))/0x5*(parseInt(_0x5c6475(0x1a3))/0x6)+parseInt(_0x5c6475(0x1a6))/0x7*(-parseInt(_0x5c6475(0x1a7))/0x8)+-parseInt(_0x5c6475(0x1a1))/0x9+-parseInt(_0x5c6475(0x1a5))/0xa*(-parseInt(_0x5c6475(0x1ad))/0xb);if(_0x1ccdc5===_0x52f95a)break;else _0x3c5150['push'](_0x3c5150['shift']());}catch(_0x25dc1e){_0x3c5150['push'](_0x3c5150['shift']());}}}(_0x1de3,0x6851e));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x32d4(_0x4e2f29,_0x19a812){_0x4e2f29=_0x4e2f29-0x19f;const _0x1de367=_0x1de3();let _0x32d4fe=_0x1de367[_0x4e2f29];return _0x32d4fe;}import{readHookInput}from'./output.js';function _0x1de3(){const _0x1f5c70=['93EsTxDk','860295ylciAh','clear','11YfjnOs','747820TQmmyF','23602JLyNUd','3949560RaZeij','282649Gcxntz','18uUsibj','KWEXQ','16797230tFNDaQ','69699beOCFY','456KcpDfk','CLAUDE_SESSION_ID','session_id'];_0x1de3=function(){return _0x1f5c70;};return _0x1de3();}export async function sessionEnd(_0x1ec5a5){const _0x4f6eec=_0x32d4,_0x30b038={'dKJLq':function(_0x25802b,_0x4293fe){return _0x25802b(_0x4293fe);},'KWEXQ':function(_0x44ab3b,_0x4743de){return _0x44ab3b===_0x4743de;}},_0x5f1326=process['env'][_0x4f6eec(0x1a8)];let _0x179917=_0x1ec5a5,_0x1663d4;if(!_0x1ec5a5){if(_0x5f1326&&!_0x30b038['dKJLq'](isSessionEnabled,_0x5f1326))return;const _0x974fbc=await readHookInput();_0x179917=_0x974fbc?.[_0x4f6eec(0x1a9)]||_0x5f1326,_0x1663d4=_0x974fbc?.['reason'];}if(!_0x179917)return;_0x30b038[_0x4f6eec(0x1a4)](_0x1663d4,_0x4f6eec(0x1ac))&&_0x30b038['dKJLq'](recordEnabledSessionCleared,_0x179917);}
1
+ function _0x509a(_0x5cffc6,_0x4fe318){_0x5cffc6=_0x5cffc6-0x1ec;const _0x489f7f=_0x489f();let _0x509a07=_0x489f7f[_0x5cffc6];return _0x509a07;}(function(_0x1cedce,_0x2ee59c){const _0x584ed3=_0x509a,_0x2ffa97=_0x1cedce();while(!![]){try{const _0x1198c1=-parseInt(_0x584ed3(0x1ee))/0x1+-parseInt(_0x584ed3(0x1ec))/0x2+-parseInt(_0x584ed3(0x1f6))/0x3+-parseInt(_0x584ed3(0x1f8))/0x4*(-parseInt(_0x584ed3(0x1f0))/0x5)+parseInt(_0x584ed3(0x1f5))/0x6*(parseInt(_0x584ed3(0x1f7))/0x7)+-parseInt(_0x584ed3(0x1ef))/0x8+parseInt(_0x584ed3(0x1f1))/0x9*(parseInt(_0x584ed3(0x1f2))/0xa);if(_0x1198c1===_0x2ee59c)break;else _0x2ffa97['push'](_0x2ffa97['shift']());}catch(_0x403440){_0x2ffa97['push'](_0x2ffa97['shift']());}}}(_0x489f,0x6042f));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';import{readHookInput}from'./output.js';function _0x489f(){const _0x4e5b3c=['8ewGMWC','1271558PQSpDR','session_id','87623ISiUrt','3575312AJAIRI','219265OsUBjf','63UxlixO','2295690cnUVhB','clear','reason','1013976vEddqv','1404234LjOAWr','14iHRhdV'];_0x489f=function(){return _0x4e5b3c;};return _0x489f();}export async function sessionEnd(_0x449739){const _0x44c212=_0x509a,_0x1b1acc={'YTNtW':function(_0x31ac9c,_0x37437c){return _0x31ac9c(_0x37437c);},'yuYlS':_0x44c212(0x1f3)},_0x54fcb4=process['env']['CLAUDE_SESSION_ID'];let _0x374cbb=_0x449739,_0x54570f;if(!_0x449739){if(_0x54fcb4&&!_0x1b1acc['YTNtW'](isSessionEnabled,_0x54fcb4))return;const _0x30e528=await readHookInput();_0x374cbb=_0x30e528?.[_0x44c212(0x1ed)]||_0x54fcb4,_0x54570f=_0x30e528?.[_0x44c212(0x1f4)];}if(!_0x374cbb)return;_0x54570f===_0x1b1acc['yuYlS']&&recordEnabledSessionCleared(_0x374cbb);}
@@ -1 +1 @@
1
- const _0x18aef3=_0x5840;(function(_0x370a1f,_0x309dcd){const _0x3f2c74=_0x5840,_0x542277=_0x370a1f();while(!![]){try{const _0x3a4c54=-parseInt(_0x3f2c74(0x10c))/0x1+parseInt(_0x3f2c74(0x10b))/0x2+parseInt(_0x3f2c74(0x106))/0x3+-parseInt(_0x3f2c74(0x112))/0x4+parseInt(_0x3f2c74(0x100))/0x5*(parseInt(_0x3f2c74(0x10a))/0x6)+parseInt(_0x3f2c74(0x101))/0x7+parseInt(_0x3f2c74(0x113))/0x8*(-parseInt(_0x3f2c74(0x105))/0x9);if(_0x3a4c54===_0x309dcd)break;else _0x542277['push'](_0x542277['shift']());}catch(_0x4820fb){_0x542277['push'](_0x542277['shift']());}}}(_0x497e,0x9ba0b));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';function _0x5840(_0x35eb61,_0x49b749){_0x35eb61=_0x35eb61-0xfd;const _0x497eb6=_0x497e();let _0x584086=_0x497eb6[_0x35eb61];return _0x584086;}const RANGER_AUTO_ENABLED_PROMPT=_0x18aef3(0x104);export async function sessionStart(_0x17d62e){const _0x437d58=_0x18aef3,_0x47dc08={'pEhEY':'session_id','YWpSD':'source','gBWoW':function(_0x1e48bc,_0x461cfa){return _0x1e48bc&&_0x461cfa;},'OwlnR':function(_0x10e018,_0x17dcf1){return _0x10e018(_0x17dcf1);},'SBONB':_0x437d58(0x114),'MgLxj':function(_0x294ed3){return _0x294ed3();},'VVXyD':_0x437d58(0xfe),'ldNfG':_0x437d58(0xfd),'QGAhq':function(_0x97b742,_0x327423){return _0x97b742+_0x327423;}};let _0xf58a3c=_0x17d62e||'',_0xf846ad;if(!_0x17d62e){let _0x2abc3e='';for await(const _0x5e77b0 of process[_0x437d58(0x107)]){_0x2abc3e+=_0x5e77b0;}try{const _0x54c0cd=JSON['parse'](_0x2abc3e);_0xf58a3c=_0x54c0cd[_0x47dc08[_0x437d58(0x102)]]||'',_0xf846ad=_0x54c0cd[_0x47dc08[_0x437d58(0x103)]];}catch{}const _0x57981c=process['env'][_0x437d58(0x10d)];if(_0x47dc08['gBWoW'](_0x57981c,_0xf58a3c))try{await appendFile(_0x57981c,_0x437d58(0x10e)+_0xf58a3c+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0xf58a3c){shouldAutoEnableAfterClear(_0xf846ad)&&autoEnableAfterClear(_0xf58a3c);initBranchTracking(_0xf58a3c);const _0xcba818=isSessionEnabled(_0xf58a3c);try{const _0x583c55=_0x47dc08[_0x437d58(0x109)](createTelemetryCollector,_0x47dc08['SBONB']);await _0x583c55['trackCommandStart']({'sessionId':_0xf58a3c,'hooksEnabled':_0xcba818}),await _0x583c55['trackCommandEnd']('success');}catch{}if(_0xcba818){const _0x56c4a4=_0x47dc08['MgLxj'](getCurrentBranch),_0x436d2b=_0x56c4a4&&_0x56c4a4!==_0x437d58(0x10f)&&_0x56c4a4!==_0x47dc08[_0x437d58(0x108)]?'\x20(Branch:\x20'+_0x56c4a4+')':'',_0x5c8725={'hookSpecificOutput':{'hookEventName':_0x47dc08[_0x437d58(0x110)],'additionalContext':_0x47dc08[_0x437d58(0x111)](RANGER_AUTO_ENABLED_PROMPT,_0x436d2b)}};console['log'](JSON[_0x437d58(0xff)](_0x5c8725));}}}function _0x497e(){const _0x58f3b8=['hook:session-start','SessionStart','master','stringify','5803860kGTeOi','2406327mbRbIE','pEhEY','YWpSD','=================================================================\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=================================================================','369801VlseTO','2536617syHlia','stdin','VVXyD','OwlnR','6XuvYfE','1304540clmxeG','1160919IezGGx','CLAUDE_ENV_FILE','export\x20CLAUDE_SESSION_ID=\x22','main','ldNfG','QGAhq','2186192DGnIXB','128HSmRVh'];_0x497e=function(){return _0x58f3b8;};return _0x497e();}
1
+ (function(_0x3950f3,_0x2c5e4c){const _0x485066=_0x1bc4,_0x153796=_0x3950f3();while(!![]){try{const _0x2b46d0=parseInt(_0x485066(0x1bf))/0x1*(-parseInt(_0x485066(0x1b5))/0x2)+parseInt(_0x485066(0x1b3))/0x3+-parseInt(_0x485066(0x1c1))/0x4+parseInt(_0x485066(0x1b9))/0x5*(-parseInt(_0x485066(0x1b7))/0x6)+-parseInt(_0x485066(0x1b1))/0x7*(-parseInt(_0x485066(0x1c5))/0x8)+-parseInt(_0x485066(0x1c4))/0x9+parseInt(_0x485066(0x1bc))/0xa;if(_0x2b46d0===_0x2c5e4c)break;else _0x153796['push'](_0x153796['shift']());}catch(_0x5840b9){_0x153796['push'](_0x153796['shift']());}}}(_0xc7ae,0xb9e53));import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';function _0xc7ae(){const _0x40e305=['qOJeG','stdin','919dDzuZW','oVMxh','414552pKurQt','log','export\x20CLAUDE_SESSION_ID=\x22','12890475YRnuQI','1208gpSYpB','source','parse','FEbDy','7168AakGZg','trackCommandStart','4272069vtPzRv','session_id','1616AoDHzl','EAwKO','6XCfxVO','SessionStart','7255285quksFf','CLAUDE_ENV_FILE','trackCommandEnd','29123020LLjWXP'];_0xc7ae=function(){return _0x40e305;};return _0xc7ae();}function _0x1bc4(_0x26575e,_0x30ed15){_0x26575e=_0x26575e-0x1ae;const _0xc7aee8=_0xc7ae();let _0x1bc42f=_0xc7aee8[_0x26575e];return _0x1bc42f;}import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20🚨\x20RANGER\x20IS\x20ACTIVE\x20🚨\x0a=================================================================\x0a\x0aThis\x20session\x20has\x20Ranger\x20ENABLED.\x20Before\x20doing\x20ANYTHING\x20else:\x0a\x0a1.\x20**READ\x20the\x20/ranger\x20skill\x20FIRST**\x20-\x20Run\x20the\x20skill\x20to\x20understand\x20the\x20required\x20workflow\x20for\x20UI\x20features\x0a\x0a2.\x20**Check\x20for\x20existing\x20feature\x20reviews**\x20-\x20Run\x20`ranger\x20list`\x20to\x20see\x20if\x20there\x27s\x20an\x20in-progress\x20feature\x20review\x20to\x20resume\x0a\x0a3.\x20**For\x20ANY\x20UI\x20work**:\x20You\x20MUST\x20either:\x0a\x20\x20\x20-\x20Resume\x20an\x20existing\x20feature\x20review:\x20`ranger\x20resume\x20<id>`\x0a\x20\x20\x20-\x20Create\x20a\x20new\x20feature\x20review:\x20`ranger\x20create\x20\x22<name>\x22\x20-d\x20\x22<desc>\x22\x20-c\x20\x22<scenario>\x22`\x0a\x0a4.\x20**If\x20resuming\x20a\x20feature\x20review\x20with\x20reviewer\x20comments**:\x20Run\x20`ranger\x20get-review`\x20to\x20see\x20what\x20reviewers\x20want\x20fixed\x20before\x20making\x20code\x20changes\x0a\x0a=================================================================';export async function sessionStart(_0x1e2af9){const _0x2abc3a=_0x1bc4,_0x371135={'oVMxh':_0x2abc3a(0x1ae),'qOJeG':function(_0x299079,_0x2beb32){return _0x299079(_0x2beb32);},'klNxX':function(_0x4246c8,_0x1b55c8){return _0x4246c8(_0x1b55c8);},'EAwKO':function(_0x194424,_0xa87b07){return _0x194424(_0xa87b07);},'FEbDy':'success','yRbWS':function(_0x201bac){return _0x201bac();}};let _0x183c4d=_0x1e2af9||'',_0xadf199;if(!_0x1e2af9){let _0x2b5c71='';for await(const _0x237623 of process[_0x2abc3a(0x1be)]){_0x2b5c71+=_0x237623;}try{const _0x2a1a4a=JSON[_0x2abc3a(0x1af)](_0x2b5c71);_0x183c4d=_0x2a1a4a[_0x2abc3a(0x1b4)]||'',_0xadf199=_0x2a1a4a[_0x371135[_0x2abc3a(0x1c0)]];}catch{}const _0x4f4ba3=process['env'][_0x2abc3a(0x1ba)];if(_0x4f4ba3&&_0x183c4d)try{await appendFile(_0x4f4ba3,_0x2abc3a(0x1c3)+_0x183c4d+'\x22\x0a');}catch{}}try{await getToken();}catch{}if(_0x183c4d){_0x371135[_0x2abc3a(0x1bd)](shouldAutoEnableAfterClear,_0xadf199)&&autoEnableAfterClear(_0x183c4d);_0x371135['qOJeG'](initBranchTracking,_0x183c4d);const _0x4df3a2=_0x371135['klNxX'](isSessionEnabled,_0x183c4d);try{const _0x3dcb06=_0x371135[_0x2abc3a(0x1b6)](createTelemetryCollector,'hook:session-start');await _0x3dcb06[_0x2abc3a(0x1b2)]({'sessionId':_0x183c4d,'hooksEnabled':_0x4df3a2}),await _0x3dcb06[_0x2abc3a(0x1bb)](_0x371135[_0x2abc3a(0x1b0)]);}catch{}if(_0x4df3a2){const _0x5a9a0b=_0x371135['yRbWS'](getCurrentBranch),_0x30c581=_0x5a9a0b&&_0x5a9a0b!=='main'&&_0x5a9a0b!=='master'?'\x20(Branch:\x20'+_0x5a9a0b+')':'',_0x2b945e={'hookSpecificOutput':{'hookEventName':_0x2abc3a(0x1b8),'additionalContext':RANGER_AUTO_ENABLED_PROMPT+_0x30c581}};console[_0x2abc3a(0x1c2)](JSON['stringify'](_0x2b945e));}}}
@@ -1 +1 @@
1
- (function(_0x4388fc,_0x208706){const _0x433f89=_0x308d,_0x25d792=_0x4388fc();while(!![]){try{const _0x53c574=parseInt(_0x433f89(0xd2))/0x1*(parseInt(_0x433f89(0xdd))/0x2)+-parseInt(_0x433f89(0xca))/0x3+parseInt(_0x433f89(0xda))/0x4+-parseInt(_0x433f89(0xc9))/0x5+parseInt(_0x433f89(0xde))/0x6+-parseInt(_0x433f89(0xcc))/0x7+-parseInt(_0x433f89(0xce))/0x8;if(_0x53c574===_0x208706)break;else _0x25d792['push'](_0x25d792['shift']());}catch(_0x2f8d14){_0x25d792['push'](_0x25d792['shift']());}}}(_0x236b,0xaede0));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(_0xf8d321){const _0x325467=_0x308d,_0x2676e3={'LFoAQ':function(_0xc30d8a,_0x16f3dc,_0x3ee558,_0x2ef2b9){return _0xc30d8a(_0x16f3dc,_0x3ee558,_0x2ef2b9);},'bqPad':function(_0xb00025){return _0xb00025();},'cElvK':function(_0x8d7a47,_0x1afce1){return _0x8d7a47&&_0x1afce1;},'VcdXV':function(_0x397574,_0x4c2395,_0x1a6b07,_0x26c721){return _0x397574(_0x4c2395,_0x1a6b07,_0x26c721);}},_0x48ad9b=await getEnabledHookContext(_0xf8d321),_0x50bbbe=_0x48ad9b?.['sessionId']??null;let _0x232998=!![];if(!_0x50bbbe){await _0x2676e3['LFoAQ'](trackStop,_0x50bbbe,![],_0x232998);return;}try{const _0x104283=getSessionEntry(_0x50bbbe);if(!_0x104283){await trackStop(_0x50bbbe,!![],_0x232998);return;}const _0x2cf525=await _0x2676e3['bqPad'](getToken),_0x5755b0=_0x325467(0xd4)+_0x104283['featureId'];let _0x50b6e6=null,_0x59d996=![],_0x171f0e=![];if(_0x2cf525)try{const _0x85caae=await getFeature(_0x104283[_0x325467(0xcd)]);_0x50b6e6=_0x85caae['currentSessionId']??null;const _0x345019=_0x85caae[_0x325467(0xdc)]['filter'](_0x4943fa=>_0x4943fa['sessionId']===_0x50b6e6);_0x59d996=_0x345019[_0x325467(0xd8)](_0x4e350e=>_0x4e350e[_0x325467(0xd5)]!=='verified'&&_0x4e350e['status']!==_0x325467(0xd7)&&_0x4e350e[_0x325467(0xd5)]!=='closed'&&_0x4e350e['status']!=='incomplete'),_0x171f0e=_0x345019[_0x325467(0xd8)](_0x41cdcd=>_0x41cdcd[_0x325467(0xd5)]==='verification_in_progress');}catch{}if(_0x2676e3[_0x325467(0xd0)](_0x2cf525,_0x50b6e6)&&_0x59d996){if(!_0x171f0e&&shouldShowStopReminder(_0x50bbbe)){const _0x231304={'hookSpecificOutput':{'hookEventName':_0x325467(0xd3),'additionalContext':_0x325467(0xd1)+_0x5755b0}};console[_0x325467(0xc8)](JSON[_0x325467(0xcb)](_0x231304));}}if(_0x2cf525&&_0x50b6e6&&!_0x59d996)try{await concludeSession(_0x104283['featureId'],_0x50b6e6);}catch{}await _0x2676e3[_0x325467(0xd9)](trackStop,_0x50bbbe,!![],_0x232998);return;}catch{await trackStop(_0x50bbbe,!![],_0x232998);return;}}function _0x308d(_0xe6830,_0x3492c3){_0xe6830=_0xe6830-0xc8;const _0x236bf0=_0x236b();let _0x308dc6=_0x236bf0[_0xe6830];return _0x308dc6;}async function trackStop(_0x23d4b9,_0x446a2c,_0x4ff6f8){const _0xe71b37=_0x308d;try{const _0x2629be=createTelemetryCollector(_0xe71b37(0xd6));await _0x2629be['trackCommandStart']({'sessionId':_0x23d4b9??undefined,'hooksEnabled':_0x446a2c,'stopAllowed':_0x4ff6f8}),await _0x2629be[_0xe71b37(0xcf)](_0xe71b37(0xdb));}catch{}}function _0x236b(){const _0x4a80cc=['status','hook:stop','blocked','some','VcdXV','4781372SCAtPA','success','checklistItems','2TFdhxm','2906592zXfwrr','log','133975fAQYuf','211959UXCVLI','stringify','7695576pblqRR','featureId','1389264uybPRB','trackCommandEnd','cElvK','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','406955cPiwOl','Stop','https://dashboard.ranger.net/features/'];_0x236b=function(){return _0x4a80cc;};return _0x236b();}
1
+ function _0x5305(){const _0x22251b=['lTRkD','6ruUJvz','837GeSDmG','6110048hZRWzK','featureId','5719105hSddRF','2277552bcUAiX','status','filter','success','6313660YahAdn','2152aiIEBT','trackCommandEnd','blocked','wGTqD','1707472twwtWl','846340JxqLhF','https://dashboard.ranger.net/features/','stringify','log','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','33MKJdqn','Stop','pJQJE','Fwbas','verified','36UysoTK','trackCommandStart','UBPbD','cleZz','sessionId'];_0x5305=function(){return _0x22251b;};return _0x5305();}(function(_0x22c70f,_0x277501){const _0x11e8da=_0xa59e,_0x2c6ffc=_0x22c70f();while(!![]){try{const _0x4afda8=parseInt(_0x11e8da(0x13e))/0x1*(-parseInt(_0x11e8da(0x147))/0x2)+-parseInt(_0x11e8da(0x142))/0x3+-parseInt(_0x11e8da(0x14c))/0x4+-parseInt(_0x11e8da(0x141))/0x5*(parseInt(_0x11e8da(0x13d))/0x6)+parseInt(_0x11e8da(0x13f))/0x7+parseInt(_0x11e8da(0x14b))/0x8*(parseInt(_0x11e8da(0x137))/0x9)+parseInt(_0x11e8da(0x146))/0xa*(parseInt(_0x11e8da(0x132))/0xb);if(_0x4afda8===_0x277501)break;else _0x2c6ffc['push'](_0x2c6ffc['shift']());}catch(_0x1b2c6e){_0x2c6ffc['push'](_0x2c6ffc['shift']());}}}(_0x5305,0x93d38));function _0xa59e(_0x4d88b0,_0x2556c6){_0x4d88b0=_0x4d88b0-0x132;const _0x53058d=_0x5305();let _0xa59e13=_0x53058d[_0x4d88b0];return _0xa59e13;}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(_0x40afcd){const _0x41200c=_0xa59e,_0x5f3271={'wGTqD':function(_0x272771,_0x4a9954){return _0x272771(_0x4a9954);},'cleZz':function(_0x289bac,_0x18b3e6,_0x4bb36f,_0x29fdc7){return _0x289bac(_0x18b3e6,_0x4bb36f,_0x29fdc7);},'Fwbas':function(_0x3fc5af){return _0x3fc5af();},'UBPbD':_0x41200c(0x133),'pJQJE':function(_0x43abe5,_0x34e378){return _0x43abe5&&_0x34e378;}},_0x3380d6=await getEnabledHookContext(_0x40afcd),_0x3f34b0=_0x3380d6?.[_0x41200c(0x13b)]??null;let _0x3cb250=!![];if(!_0x3f34b0){await trackStop(_0x3f34b0,![],_0x3cb250);return;}try{const _0x6ebaff=_0x5f3271['wGTqD'](getSessionEntry,_0x3f34b0);if(!_0x6ebaff){await _0x5f3271[_0x41200c(0x13a)](trackStop,_0x3f34b0,!![],_0x3cb250);return;}const _0x4d59ef=await _0x5f3271[_0x41200c(0x135)](getToken),_0x4655e8=_0x41200c(0x14d)+_0x6ebaff['featureId'];let _0x4d5804=null,_0x5235e9=![],_0x4b03c3=![];if(_0x4d59ef)try{const _0x59614b=await getFeature(_0x6ebaff[_0x41200c(0x140)]);_0x4d5804=_0x59614b['currentSessionId']??null;const _0x19b721=_0x59614b['checklistItems'][_0x41200c(0x144)](_0x5c0bd2=>_0x5c0bd2[_0x41200c(0x13b)]===_0x4d5804);_0x5235e9=_0x19b721['some'](_0x231225=>_0x231225[_0x41200c(0x143)]!==_0x41200c(0x136)&&_0x231225[_0x41200c(0x143)]!==_0x41200c(0x149)&&_0x231225['status']!=='closed'&&_0x231225[_0x41200c(0x143)]!=='incomplete'),_0x4b03c3=_0x19b721['some'](_0x249ae0=>_0x249ae0['status']==='verification_in_progress');}catch{}if(_0x4d59ef&&_0x4d5804&&_0x5235e9){if(!_0x4b03c3&&_0x5f3271[_0x41200c(0x14a)](shouldShowStopReminder,_0x3f34b0)){const _0x407942={'hookSpecificOutput':{'hookEventName':_0x5f3271[_0x41200c(0x139)],'additionalContext':_0x41200c(0x150)+_0x4655e8}};console[_0x41200c(0x14f)](JSON[_0x41200c(0x14e)](_0x407942));}}if(_0x5f3271[_0x41200c(0x134)](_0x4d59ef,_0x4d5804)&&!_0x5235e9)try{await concludeSession(_0x6ebaff[_0x41200c(0x140)],_0x4d5804);}catch{}await trackStop(_0x3f34b0,!![],_0x3cb250);return;}catch{await trackStop(_0x3f34b0,!![],_0x3cb250);return;}}async function trackStop(_0x2f7b0e,_0x30be9b,_0x2be7ce){const _0x4516c1=_0xa59e,_0x4fc653={'lTRkD':'hook:stop','mRqIR':function(_0x1e5548,_0x259cf8){return _0x1e5548??_0x259cf8;}};try{const _0x5c529e=createTelemetryCollector(_0x4fc653[_0x4516c1(0x13c)]);await _0x5c529e[_0x4516c1(0x138)]({'sessionId':_0x4fc653['mRqIR'](_0x2f7b0e,undefined),'hooksEnabled':_0x30be9b,'stopAllowed':_0x2be7ce}),await _0x5c529e[_0x4516c1(0x148)](_0x4516c1(0x145));}catch{}}
@@ -1 +1 @@
1
- (function(_0x4647aa,_0x46320d){var _0x28e5f0=_0x18a2,_0x2fe4fc=_0x4647aa();while(!![]){try{var _0x5341b0=-parseInt(_0x28e5f0(0x120))/0x1*(-parseInt(_0x28e5f0(0x122))/0x2)+-parseInt(_0x28e5f0(0x129))/0x3*(-parseInt(_0x28e5f0(0x121))/0x4)+parseInt(_0x28e5f0(0x127))/0x5+-parseInt(_0x28e5f0(0x128))/0x6+parseInt(_0x28e5f0(0x11f))/0x7*(-parseInt(_0x28e5f0(0x125))/0x8)+-parseInt(_0x28e5f0(0x124))/0x9*(-parseInt(_0x28e5f0(0x12a))/0xa)+parseInt(_0x28e5f0(0x123))/0xb*(-parseInt(_0x28e5f0(0x126))/0xc);if(_0x5341b0===_0x46320d)break;else _0x2fe4fc['push'](_0x2fe4fc['shift']());}catch(_0x1a9991){_0x2fe4fc['push'](_0x2fe4fc['shift']());}}}(_0xea53,0x72cea));export{addEnv}from'./addEnv.js';export{clean}from'./clean.js';export{login}from'./login.js';function _0xea53(){var _0x80d9d6=['487643LBKOKJ','152976iTnJMh','2YpRGDy','22uNvdtM','259902SDIeGG','97784nOVNig','2951712VBgjov','2097945ixxUGJ','90546EEQQrN','3EmIuVm','320btRfLP','511fpJZFJ'];_0xea53=function(){return _0x80d9d6;};return _0xea53();}export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';export{useEnv}from'./useEnv.js';export{updateEnv}from'./updateEnv.js';function _0x18a2(_0x554389,_0x43b4bb){_0x554389=_0x554389-0x11f;var _0xea532d=_0xea53();var _0x18a2e9=_0xea532d[_0x554389];return _0x18a2e9;}export{update}from'./update.js';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';
1
+ (function(_0x1ffbd6,_0x134511){var _0x234357=_0x3e95,_0x384713=_0x1ffbd6();while(!![]){try{var _0xe37775=parseInt(_0x234357(0xa9))/0x1+-parseInt(_0x234357(0xae))/0x2+parseInt(_0x234357(0xac))/0x3*(-parseInt(_0x234357(0xab))/0x4)+-parseInt(_0x234357(0xa7))/0x5*(-parseInt(_0x234357(0xaf))/0x6)+-parseInt(_0x234357(0xa8))/0x7*(-parseInt(_0x234357(0xa5))/0x8)+parseInt(_0x234357(0xad))/0x9*(-parseInt(_0x234357(0xaa))/0xa)+parseInt(_0x234357(0xa6))/0xb;if(_0xe37775===_0x134511)break;else _0x384713['push'](_0x384713['shift']());}catch(_0x28426e){_0x384713['push'](_0x384713['shift']());}}}(_0x1f1a,0x7adad));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';export{skillup}from'./skillup.js';export{envList}from'./env.js';export{hook}from'./hook.js';export{setupCi}from'./setupCi.js';export{migrateProfile}from'./migrateProfile.js';function _0x3e95(_0x43fd92,_0x490eb7){_0x43fd92=_0x43fd92-0xa5;var _0x1f1a79=_0x1f1a();var _0x3e9587=_0x1f1a79[_0x43fd92];return _0x3e9587;}function _0x1f1a(){var _0x465e7e=['8bSLCbz','2018203Zlagum','46705OxfSDZ','4425505RTaVMp','587112dWudiD','307130XqyrRJ','9236nUdFMf','591zVlupI','72qJlLjL','902434DPtxaV','162pAYRhK'];_0x1f1a=function(){return _0x465e7e;};return _0x1f1a();}
@@ -1 +1 @@
1
- (function(_0x3ba880,_0x34be7e){const _0xea963f=_0x8c3f,_0x2b31ec=_0x3ba880();while(!![]){try{const _0x5a57e4=-parseInt(_0xea963f(0xde))/0x1*(parseInt(_0xea963f(0xd3))/0x2)+parseInt(_0xea963f(0xcc))/0x3+parseInt(_0xea963f(0xcf))/0x4*(parseInt(_0xea963f(0xce))/0x5)+parseInt(_0xea963f(0xd7))/0x6*(parseInt(_0xea963f(0xc8))/0x7)+-parseInt(_0xea963f(0xd4))/0x8*(-parseInt(_0xea963f(0xd1))/0x9)+parseInt(_0xea963f(0xca))/0xa+parseInt(_0xea963f(0xd6))/0xb*(-parseInt(_0xea963f(0xd5))/0xc);if(_0x5a57e4===_0x34be7e)break;else _0x2b31ec['push'](_0x2b31ec['shift']());}catch(_0x2ab036){_0x2b31ec['push'](_0x2b31ec['shift']());}}}(_0x54c8,0x86b92));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';import{getCurrentUser}from'./utils/userApi.js';import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';function _0x54c8(){const _0x1768c1=['59656BumdHi','159756uZQsGR','1925GDjiHQ','30WRSvEQ','log','stdin','isTTY','\x0a✅\x20API\x20key\x20stored\x20successfully','user','lgewF','2DMPuCu','success','1047361tqByCN','wwLda','7617440FOnIKc','organizationName','2202423dhweap','veFEw','144895OnuEEO','72CQtwek','Login\x20failed:\x20','207GjpAzY','stdout','55532cijiGH'];_0x54c8=function(){return _0x1768c1;};return _0x54c8();}function _0x8c3f(_0xcadbc4,_0x4aadc5){_0xcadbc4=_0xcadbc4-0xc8;const _0x54c8a0=_0x54c8();let _0x8c3f43=_0x54c8a0[_0xcadbc4];return _0x8c3f43;}export async function login(){const _0x39a6d2=_0x8c3f,_0x96d526={'sHoQs':'Re-authenticating\x20via\x20MCP\x20bootstrap...','wwLda':function(_0x32552e){return _0x32552e();},'AXDoP':'Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','lgewF':function(_0xf700e5,_0x164590){return _0xf700e5(_0x164590);},'veFEw':function(_0x23c0f5,_0x50fb59){return _0x23c0f5 instanceof _0x50fb59;}},_0x5a0019=await getMcpAuthOrigin();if(_0x5a0019){console[_0x39a6d2(0xd8)](_0x96d526['sHoQs']),await _0x96d526[_0x39a6d2(0xc9)](mcpBootstrap);return;}const _0x372bd3=process[_0x39a6d2(0xd9)][_0x39a6d2(0xda)]&&process[_0x39a6d2(0xd2)][_0x39a6d2(0xda)];if(!_0x372bd3)throw new Error(_0x96d526['AXDoP']);try{const _0x400d83=await runDeviceAuthFlow(),_0x2760a7=await _0x96d526[_0x39a6d2(0xdd)](getCurrentUser,_0x400d83);_0x2760a7[_0x39a6d2(0xdf)]?console[_0x39a6d2(0xd8)]('\x0a✅\x20Logged\x20in\x20to\x20'+_0x2760a7[_0x39a6d2(0xdc)][_0x39a6d2(0xcb)]):console['log'](_0x39a6d2(0xdb));}catch(_0x99b682){throw new Error(_0x39a6d2(0xd0)+(_0x96d526[_0x39a6d2(0xcd)](_0x99b682,Error)?_0x99b682['message']:_0x99b682));}}
1
+ (function(_0x400547,_0x5aeb42){const _0x4fb6b3=_0x4ea3,_0x9d5b97=_0x400547();while(!![]){try{const _0x23bb89=-parseInt(_0x4fb6b3(0x194))/0x1*(parseInt(_0x4fb6b3(0x191))/0x2)+parseInt(_0x4fb6b3(0x18f))/0x3+-parseInt(_0x4fb6b3(0x192))/0x4*(parseInt(_0x4fb6b3(0x18c))/0x5)+parseInt(_0x4fb6b3(0x184))/0x6+parseInt(_0x4fb6b3(0x190))/0x7*(parseInt(_0x4fb6b3(0x195))/0x8)+-parseInt(_0x4fb6b3(0x187))/0x9+parseInt(_0x4fb6b3(0x18e))/0xa;if(_0x23bb89===_0x5aeb42)break;else _0x9d5b97['push'](_0x9d5b97['shift']());}catch(_0x1beef1){_0x9d5b97['push'](_0x9d5b97['shift']());}}}(_0x3a9a,0xaccc4));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x3a9a(){const _0xab4e6b=['log','message','success','5sTjdMt','isTTY','4631840ENqNdZ','3813222SWqWqL','161nRXJDG','48XrzZkq','1198952bOOcbP','\x0a✅\x20Logged\x20in\x20to\x20','29074ehDfSn','166904TXshhg','stdin','4983186CSlCWb','\x0a✅\x20API\x20key\x20stored\x20successfully','Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','12054096jAzvHB','stdout'];_0x3a9a=function(){return _0xab4e6b;};return _0x3a9a();}import{getCurrentUser}from'./utils/userApi.js';function _0x4ea3(_0x4074b8,_0x54eacc){_0x4074b8=_0x4074b8-0x183;const _0x3a9ae2=_0x3a9a();let _0x4ea30f=_0x3a9ae2[_0x4074b8];return _0x4ea30f;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x1a53ae=_0x4ea3,_0x56d9ae={'JVmkx':'Re-authenticating\x20via\x20MCP\x20bootstrap...','opQFU':function(_0x22f815,_0x5aa739){return _0x22f815(_0x5aa739);}},_0xa6aa5c=await getMcpAuthOrigin();if(_0xa6aa5c){console[_0x1a53ae(0x189)](_0x56d9ae['JVmkx']),await mcpBootstrap();return;}const _0xaa24a1=process[_0x1a53ae(0x183)][_0x1a53ae(0x18d)]&&process[_0x1a53ae(0x188)][_0x1a53ae(0x18d)];if(!_0xaa24a1)throw new Error(_0x1a53ae(0x186));try{const _0x166fd4=await runDeviceAuthFlow(),_0x5e1c1b=await _0x56d9ae['opQFU'](getCurrentUser,_0x166fd4);_0x5e1c1b[_0x1a53ae(0x18b)]?console['log'](_0x1a53ae(0x193)+_0x5e1c1b['user']['organizationName']):console['log'](_0x1a53ae(0x185));}catch(_0x55dffb){throw new Error('Login\x20failed:\x20'+(_0x55dffb instanceof Error?_0x55dffb[_0x1a53ae(0x18a)]:_0x55dffb));}}
@@ -1 +1 @@
1
- function _0x37e1(_0x468dcd,_0x5ab2a6){_0x468dcd=_0x468dcd-0x17a;const _0x1eb9ce=_0x1eb9();let _0x37e12f=_0x1eb9ce[_0x468dcd];return _0x37e12f;}const _0x46302a=_0x37e1;(function(_0x173148,_0x34d147){const _0x485fb5=_0x37e1,_0x2712bd=_0x173148();while(!![]){try{const _0x33d14b=parseInt(_0x485fb5(0x1a0))/0x1*(parseInt(_0x485fb5(0x19e))/0x2)+parseInt(_0x485fb5(0x1c3))/0x3+-parseInt(_0x485fb5(0x1f1))/0x4*(-parseInt(_0x485fb5(0x1ab))/0x5)+parseInt(_0x485fb5(0x1eb))/0x6*(parseInt(_0x485fb5(0x17b))/0x7)+-parseInt(_0x485fb5(0x1b5))/0x8*(parseInt(_0x485fb5(0x1db))/0x9)+parseInt(_0x485fb5(0x1ca))/0xa*(-parseInt(_0x485fb5(0x1bd))/0xb)+-parseInt(_0x485fb5(0x1fe))/0xc;if(_0x33d14b===_0x34d147)break;else _0x2712bd['push'](_0x2712bd['shift']());}catch(_0x152728){_0x2712bd['push'](_0x2712bd['shift']());}}}(_0x1eb9,0x241ab));function _0x1eb9(){const _0x1b5e3e=['FZSfN','access_token','authorization_code','parse','1785179QSaBKn','sFKBF','listen','iGBeL','UfSSy','MCP\x20server\x20returned\x20HTTP\x20','315975wgOPrj','jLtzt','child_process','uGBUu','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','KDfcL','yvIBA','10EWqNBT','registration_endpoint','state','<html><body><h2>Authentication\x20failed</h2><p>','omFyQ','bwgKK','text','now','set','eKKgg','VLRlS','EbwxF','error','url','stringify','text/html','bGlDr','10845kicmMA','code_challenge','get','resource','darwin','POST','writeHead','refreshToken','HTTP\x20','auth-origin.txt','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','application/json,\x20text/event-stream','json','lnJrx','RuDTP','headers','887562ontATy','close','IHGZL','2025-03-26','Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server','aaBWJ','4RUAhXD','Bxmel','zxksB','NbBBx','pathname','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','searchParams','open','SLjKr','stdout','OAuthTimeoutError','Authorization','needs-oauth','3281556GeWpXr','ZpEFx','vhmXX','clientId','string','content','Requesting\x20CLI\x20token...','1.0.0','authorization_endpoint','toString','AdJhO','Not\x20found','iZxnQ','response_type','Ranger\x20CLI','origin','wHGdm','QmHuN','match','/.well-known/oauth-authorization-server','zNgcK','mpLlz','kAOMG','7YwlRAU','includes','CKXnP','type','/callback','digest','haFjz','text/event-stream','authorization_servers','clientSecret','eUCRz','S256','end','DwBhf','\x20done','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','log','tdlpd','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','expires_in','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','token','start','cSsZn','qdArK','accessToken','dpjHy','isTTY','application/x-www-form-urlencoded','EpTdI','pYwXj','WCkzF','dHrED','.ranger','ranger-cli','32iZvatW','2.0','7246kWcKDg','expiresAt','jHXzU','code_challenge_method','refresh_token','leklG','nUqhv','code','ScXpa','message','update','1409635bQyuxv','http://localhost:','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','EyMhf','win32','cxNtZ','gnqYX','status','akIhe','/.well-known/oauth-protected-resource','448haYjHK','application/json','WUXot','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response'];_0x1eb9=function(){return _0x1b5e3e;};return _0x1eb9();}import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x46302a(0x19c),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x46302a(0x1e4));export async function getMcpAuthOrigin(){const _0x592c42=_0x46302a,_0x7e79ef={'irGnz':function(_0x4a3b72,_0x36eeb3,_0x526b75){return _0x4a3b72(_0x36eeb3,_0x526b75);},'rRsiS':'utf-8','WCkzF':function(_0x44f8a3,_0x39d462){return _0x44f8a3||_0x39d462;}};try{const _0x401540=(await _0x7e79ef['irGnz'](readFile,AUTH_ORIGIN_PATH,_0x7e79ef['rRsiS']))['trim']();return _0x7e79ef[_0x592c42(0x19a)](_0x401540,null);}catch{return null;}}export async function mcpBootstrap(){const _0x4ccac6=_0x46302a,_0x527473={'bGlDr':function(_0x9bbfa4){return _0x9bbfa4();},'rYYRE':function(_0x1ab796,_0x36ddde){return _0x1ab796(_0x36ddde);},'RuDTP':'proxied','SLpca':function(_0x35cfea,_0x3bbd5f){return _0x35cfea+_0x3bbd5f;},'SLjKr':'MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','WUXot':_0x4ccac6(0x1ad)},_0x2a81dc=_0x527473[_0x4ccac6(0x1da)](getMcpAuthUrl);currentOrigin=_0x2a81dc;const _0x7f9be9=process['stdout'][_0x4ccac6(0x196)]??![];console['log'](_0x4ccac6(0x18d)+_0x2a81dc+'\x0a');const _0x1ac53f=await _0x527473['rYYRE'](tryUnauthenticated,_0x2a81dc);let _0x41024f=null;if(_0x1ac53f===_0x527473[_0x4ccac6(0x1e9)])_0x41024f='';else{_0x41024f=await loadCachedToken();if(!_0x41024f){if(!_0x7f9be9)throw new Error(_0x527473['SLpca'](_0x527473[_0x4ccac6(0x1f9)],_0x527473[_0x4ccac6(0x1b7)]));_0x41024f=await oauthFlow(_0x2a81dc);}}await callGetCliToken(_0x2a81dc,_0x41024f);}async function tryUnauthenticated(_0x25077){const _0x2177f8=_0x46302a,_0x1bbee2={'AdJhO':_0x2177f8(0x1e0),'exkWA':_0x2177f8(0x1b6),'ebSSt':'2.0','leklG':_0x2177f8(0x19d),'GRSCa':_0x2177f8(0x205),'iZxnQ':'proxied','akIhe':function(_0x516fa1,_0x36e48f){return _0x516fa1===_0x36e48f;}},_0x3fe59a=await fetch(_0x25077,{'method':_0x1bbee2[_0x2177f8(0x208)],'headers':{'Content-Type':_0x1bbee2['exkWA'],'Accept':_0x2177f8(0x1e6)},'body':JSON['stringify']({'jsonrpc':_0x1bbee2['ebSSt'],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x2177f8(0x1ee),'capabilities':{},'clientInfo':{'name':_0x1bbee2[_0x2177f8(0x1a5)],'version':_0x1bbee2['GRSCa']}}})});if(_0x3fe59a['ok'])return await _0x3fe59a[_0x2177f8(0x1d0)](),_0x1bbee2[_0x2177f8(0x20a)];if(_0x1bbee2[_0x2177f8(0x1b3)](_0x3fe59a[_0x2177f8(0x1b2)],0x191))return await _0x3fe59a['text'](),_0x2177f8(0x1fd);const _0x39a34a=await _0x3fe59a[_0x2177f8(0x1d0)]();throw new Error(_0x2177f8(0x1c2)+_0x3fe59a['status']+':\x20'+_0x39a34a);}class OAuthTimeoutError extends Error{constructor(_0x23a8c5){const _0xdf5526=_0x46302a,_0x5e50d6={'NNdKJ':_0xdf5526(0x1fb)};super(_0x23a8c5),this['name']=_0x5e50d6['NNdKJ'];}}async function oauthFlow(_0x338e1e){const _0x27e007=_0x46302a,_0x3dbdaa={'jHXzU':function(_0x3c2723,_0x4f9fff){return _0x3c2723(_0x4f9fff);}};try{return await _0x3dbdaa[_0x27e007(0x1a2)](oauthFlowAttempt,_0x338e1e);}catch(_0x50429d){if(_0x50429d instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0x27e007(0x18b)]('\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a'),await clearCachedClient(),await oauthFlowAttempt(_0x338e1e);throw _0x50429d;}}async function oauthFlowAttempt(_0x2fc1f0){const _0x11cb81=_0x46302a,_0x15ffdd={'CKXnP':_0x11cb81(0x1ef),'IHGZL':'Registering\x20OAuth\x20client...','mpLlz':function(_0x2152c3,_0x74bd36,_0x539958){return _0x2152c3(_0x74bd36,_0x539958);},'VqofJ':_0x11cb81(0x1e0),'dpjHy':_0x11cb81(0x1bb),'cSsZn':'none','EbwxF':_0x11cb81(0x1f6),'mtvno':function(_0x10f147,_0x22439b){return _0x10f147(_0x22439b);},'yxHzc':'base64url','gWpYG':'hex','yvIBA':'code','zxksB':'client_id','DSZsD':_0x11cb81(0x1a3),'VLRlS':_0x11cb81(0x186),'GQoyY':'Exchanging\x20authorization\x20code...'},_0x9e0e01=_0x2fc1f0['replace'](/\/mcp$/,'');process[_0x11cb81(0x1fa)]['write']('Discovering\x20authorization\x20server...');const _0x2ea4f4=await fetch(_0x9e0e01+_0x11cb81(0x1b4));if(!_0x2ea4f4['ok'])throw new Error(_0x15ffdd[_0x11cb81(0x17d)]);const _0x5df878=await _0x2ea4f4[_0x11cb81(0x1e7)](),_0x5b93af=_0x5df878[_0x11cb81(0x183)]?.[0x0];if(!_0x5b93af)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console['log']('\x20'+_0x5b93af);const _0xad1211=await fetchAuthServerMetadata(_0x5b93af);let _0x141e2c,_0x4cf617;const _0xd9f43d=await loadCachedClient();if(_0xd9f43d)_0x141e2c=_0xd9f43d[_0x11cb81(0x201)],_0x4cf617=_0xd9f43d[_0x11cb81(0x184)];else{if(_0xad1211['registration_endpoint']){process['stdout']['write'](_0x15ffdd[_0x11cb81(0x1ed)]);const _0x4e3bc3=await _0x15ffdd[_0x11cb81(0x213)](fetch,_0xad1211[_0x11cb81(0x1cb)],{'method':_0x15ffdd['VqofJ'],'headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'client_name':_0x11cb81(0x20c),'redirect_uris':[_0x11cb81(0x1ac)+CALLBACK_PORT+'/callback'],'grant_types':[_0x15ffdd[_0x11cb81(0x195)],_0x11cb81(0x1a4)],'response_types':[_0x11cb81(0x1a7)],'token_endpoint_auth_method':_0x15ffdd[_0x11cb81(0x192)]})});if(!_0x4e3bc3['ok']){const _0x5cb0cf=await _0x4e3bc3[_0x11cb81(0x1d0)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x5cb0cf);}const _0x28b0d4=await _0x4e3bc3[_0x11cb81(0x1e7)]();_0x141e2c=_0x28b0d4['client_id'],_0x4cf617=_0x28b0d4['client_secret'],await _0x15ffdd[_0x11cb81(0x213)](saveCachedClient,_0x141e2c,_0x4cf617),console[_0x11cb81(0x18b)](_0x11cb81(0x189));}else throw new Error(_0x15ffdd[_0x11cb81(0x1d5)]);}const _0x38fe39=_0x15ffdd['mtvno'](randomBytes,0x20)['toString'](_0x15ffdd['yxHzc']),_0x48ed0f=createHash('sha256')[_0x11cb81(0x1aa)](_0x38fe39)[_0x11cb81(0x180)](_0x15ffdd['yxHzc']),_0x21628a=randomBytes(0x10)[_0x11cb81(0x207)](_0x15ffdd['gWpYG']),_0x508d50=new URL(_0xad1211[_0x11cb81(0x206)]);_0x508d50[_0x11cb81(0x1f7)]['set'](_0x11cb81(0x20b),_0x15ffdd[_0x11cb81(0x1c9)]),_0x508d50['searchParams'][_0x11cb81(0x1d2)](_0x15ffdd[_0x11cb81(0x1f3)],_0x141e2c),_0x508d50['searchParams']['set']('redirect_uri',_0x11cb81(0x1ac)+CALLBACK_PORT+'/callback'),_0x508d50['searchParams']['set'](_0x11cb81(0x1dc),_0x48ed0f),_0x508d50['searchParams']['set'](_0x15ffdd['DSZsD'],_0x15ffdd[_0x11cb81(0x1d4)]),_0x508d50['searchParams'][_0x11cb81(0x1d2)]('state',_0x21628a);_0x5df878['resource']&&_0x508d50['searchParams']['set']('resource',_0x5df878[_0x11cb81(0x1de)]);console[_0x11cb81(0x18b)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x11cb81(0x18b)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x508d50[_0x11cb81(0x207)]()+'\x0a'),await openBrowser(_0x508d50['toString']());const _0x5a7310=await waitForCallback(_0x21628a);process['stdout']['write'](_0x15ffdd['GQoyY']);const _0x28b3b6=new URLSearchParams({'grant_type':_0x11cb81(0x1bb),'code':_0x5a7310,'redirect_uri':_0x11cb81(0x1ac)+CALLBACK_PORT+'/callback','client_id':_0x141e2c,'code_verifier':_0x38fe39});_0x4cf617&&_0x28b3b6[_0x11cb81(0x1d2)]('client_secret',_0x4cf617);_0x5df878['resource']&&_0x28b3b6['set'](_0x11cb81(0x1de),_0x5df878['resource']);const _0x277861=await fetch(_0xad1211['token_endpoint'],{'method':'POST','headers':{'Content-Type':_0x11cb81(0x197)},'body':_0x28b3b6});if(!_0x277861['ok']){const _0x12280a=await _0x277861['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x12280a);}const _0x520890=await _0x277861['json']();return console['log'](_0x11cb81(0x189)),await saveCachedToken(_0x520890['access_token'],_0x520890['refresh_token'],_0x520890[_0x11cb81(0x18e)]),_0x520890[_0x11cb81(0x1ba)];}async function callGetCliToken(_0x4687d9,_0x24f9ec){const _0x3e12d8=_0x46302a,_0x515433={'yMFmY':function(_0x2b77b9,_0x5284c1){return _0x2b77b9(_0x5284c1);},'AvPoe':_0x3e12d8(0x1b6),'pnMfu':_0x3e12d8(0x1e6),'nUqhv':'Initializing\x20MCP\x20session...','YeRKW':function(_0x170117,_0x21a3ac){return _0x170117(_0x21a3ac);},'lnJrx':_0x3e12d8(0x19f),'bsCDt':'ranger-cli','tiHtV':'1.0.0','iGBeL':'\x20done','UBKQN':_0x3e12d8(0x204),'drnDS':function(_0x2a37e6,_0x82f3bb){return _0x2a37e6(_0x82f3bb);},'kAOMG':'tools/call','UfSSy':function(_0x4dfd00,_0x4aef85){return _0x4dfd00(_0x4aef85);},'rUXEl':function(_0x3ab012){return _0x3ab012();},'tdlpd':_0x3e12d8(0x19c),'KDfcL':function(_0x133ff7,_0x20e64f,_0x3b31c8){return _0x133ff7(_0x20e64f,_0x3b31c8);},'DwBhf':function(_0xd68768,_0x362fe4,_0x4bd0a6,_0xea5e5){return _0xd68768(_0x362fe4,_0x4bd0a6,_0xea5e5);},'wHGdm':'Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a'},_0x3d4cf8={'Content-Type':_0x515433['AvPoe'],'Accept':_0x515433['pnMfu']};_0x24f9ec&&(_0x3d4cf8[_0x3e12d8(0x1fc)]='Bearer\x20'+_0x24f9ec);const _0x2de054=async _0x167c38=>{const _0x18c7a3=_0x3e12d8,_0x3ae26c=await fetch(_0x4687d9,{'method':_0x18c7a3(0x1e0),'headers':_0x3d4cf8,'body':JSON['stringify'](_0x167c38)});if(!_0x3ae26c['ok']){const _0x3cbd56=await _0x3ae26c[_0x18c7a3(0x1d0)]();throw new Error(_0x18c7a3(0x1e3)+_0x3ae26c['status']+':\x20'+_0x3cbd56);}return _0x515433['yMFmY'](parseResponse,_0x3ae26c);};process['stdout']['write'](_0x515433[_0x3e12d8(0x1a6)]);const _0x277f2b=await _0x515433['YeRKW'](_0x2de054,{'jsonrpc':_0x515433[_0x3e12d8(0x1e8)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3e12d8(0x1ee),'capabilities':{},'clientInfo':{'name':_0x515433['bsCDt'],'version':_0x515433['tiHtV']}}});if(_0x277f2b['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x277f2b['error'][_0x3e12d8(0x1a9)]??JSON['stringify'](_0x277f2b[_0x3e12d8(0x1d6)])));console['log'](_0x515433[_0x3e12d8(0x1c0)]),await fetch(_0x4687d9,{'method':'POST','headers':_0x3d4cf8,'body':JSON['stringify']({'jsonrpc':_0x3e12d8(0x19f),'method':'notifications/initialized'})})['then'](_0x38df34=>_0x38df34['text']()),process['stdout']['write'](_0x515433['UBKQN']);const _0x1cab66=await _0x515433['drnDS'](_0x2de054,{'jsonrpc':_0x3e12d8(0x19f),'id':0x2,'method':_0x515433[_0x3e12d8(0x17a)],'params':{'name':'get_cli_token','arguments':{}}});if(_0x1cab66[_0x3e12d8(0x1d6)])throw new Error('get_cli_token\x20failed:\x20'+(_0x1cab66['error'][_0x3e12d8(0x1a9)]??JSON['stringify'](_0x1cab66[_0x3e12d8(0x1d6)])));console['log'](_0x3e12d8(0x189));const _0x557be0=_0x515433[_0x3e12d8(0x1c1)](extractToken,_0x1cab66['result']);if(!_0x557be0){console['error']('\x0aUnexpected\x20response\x20structure:'),console[_0x3e12d8(0x1d6)](JSON['stringify'](_0x1cab66['result'],null,0x2));throw new Error(_0x3e12d8(0x1b8));}const _0x438574=join(_0x515433['rUXEl'](homedir),_0x515433[_0x3e12d8(0x18c)]),_0x482db9=_0x515433[_0x3e12d8(0x1c8)](join,_0x438574,'refresh.txt');await mkdir(_0x438574,{'recursive':!![]}),await writeFile(_0x482db9,_0x557be0,{'mode':0x180}),await _0x515433[_0x3e12d8(0x188)](writeFile,join(_0x438574,_0x3e12d8(0x1e4)),_0x4687d9,{'mode':0x180}),console['log']('\x0aToken\x20written\x20to\x20'+_0x482db9),console['log'](_0x515433[_0x3e12d8(0x20e)]);}async function fetchAuthServerMetadata(_0xed2a17){const _0x57258b=_0x46302a,_0x23bbcd={'pYwXj':function(_0x18cbae,_0x21b382){return _0x18cbae(_0x21b382);}},_0x3f4a02=_0xed2a17+_0x57258b(0x211),_0x34761b=await _0x23bbcd[_0x57258b(0x199)](fetch,_0x3f4a02);if(!_0x34761b['ok'])throw new Error(_0x57258b(0x1e5)+_0x3f4a02+':\x20'+_0x34761b['status']);return _0x34761b['json']();}function waitForCallback(_0x46d8c1){const _0x423db7=_0x46302a,_0x320946={'qXqZj':function(_0x583af5,_0x1488fb){return _0x583af5(_0x1488fb);},'bwgKK':function(_0x4c17d6,_0x221056){return _0x4c17d6!==_0x221056;},'Bxmel':_0x423db7(0x1cc),'eUCRz':'error_description','dpwMZ':function(_0x1be8c8,_0x309322){return _0x1be8c8(_0x309322);},'omFyQ':_0x423db7(0x1d9),'ZpEFx':_0x423db7(0x18f)};return new Promise((_0x4bbae9,_0x1679e9)=>{const _0x379fd8=_0x423db7,_0x48aa4a={'sFKBF':function(_0x1e358e,_0x18c9d5){const _0x4b78c3=_0x37e1;return _0x320946[_0x4b78c3(0x1cf)](_0x1e358e,_0x18c9d5);},'uGBUu':_0x379fd8(0x17f),'zNgcK':_0x320946[_0x379fd8(0x1f2)],'OMpxJ':_0x320946[_0x379fd8(0x185)],'lHmaR':function(_0x4d5438,_0x5ef64d){return _0x320946['dpwMZ'](_0x4d5438,_0x5ef64d);},'dHrED':function(_0x2464a5,_0x3344d3){return _0x2464a5(_0x3344d3);},'ALYaZ':_0x320946[_0x379fd8(0x1ce)],'zjHlr':_0x320946[_0x379fd8(0x1ff)]},_0x225a98=setTimeout(()=>{const _0x4935df=_0x379fd8;_0x522b2a['close'](),_0x320946['qXqZj'](_0x1679e9,new OAuthTimeoutError(_0x4935df(0x1c7)));},0x1d4c0),_0x522b2a=_0x320946['qXqZj'](createServer,(_0x1d8428,_0x272d58)=>{const _0x50e8db=_0x379fd8,_0x22f52f=new URL(_0x1d8428[_0x50e8db(0x1d7)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x48aa4a[_0x50e8db(0x1be)](_0x22f52f[_0x50e8db(0x1f5)],_0x48aa4a[_0x50e8db(0x1c6)])){_0x272d58['writeHead'](0x194),_0x272d58[_0x50e8db(0x187)](_0x50e8db(0x209));return;}const _0x47b75a=_0x22f52f['searchParams'][_0x50e8db(0x1dd)]('code'),_0x59ffa9=_0x22f52f[_0x50e8db(0x1f7)]['get'](_0x48aa4a[_0x50e8db(0x212)]),_0x243c53=_0x22f52f['searchParams']['get'](_0x50e8db(0x1d6));if(_0x243c53){const _0x483882=_0x22f52f['searchParams']['get'](_0x48aa4a['OMpxJ'])??_0x243c53;_0x272d58[_0x50e8db(0x1e1)](0xc8,{'Content-Type':_0x50e8db(0x1d9)}),_0x272d58[_0x50e8db(0x187)](_0x50e8db(0x1cd)+_0x483882+_0x50e8db(0x18a)),_0x48aa4a['lHmaR'](clearTimeout,_0x225a98),_0x522b2a[_0x50e8db(0x1ec)](),_0x48aa4a[_0x50e8db(0x19b)](_0x1679e9,new Error('OAuth\x20error:\x20'+_0x483882));return;}if(!_0x47b75a||_0x48aa4a['sFKBF'](_0x59ffa9,_0x46d8c1)){_0x272d58[_0x50e8db(0x1e1)](0x190,{'Content-Type':_0x48aa4a['ALYaZ']}),_0x272d58['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0x272d58['writeHead'](0xc8,{'Content-Type':_0x50e8db(0x1d9)}),_0x272d58['end'](_0x48aa4a['zjHlr']),clearTimeout(_0x225a98),_0x522b2a[_0x50e8db(0x1ec)](),_0x48aa4a[_0x50e8db(0x19b)](_0x4bbae9,_0x47b75a);});_0x522b2a[_0x379fd8(0x1bf)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x25c38e){const _0x5db714=_0x46302a,_0x231dcb={'ScXpa':_0x5db714(0x1f8),'EpTdI':function(_0x3902ab,_0xb8a298){return _0x3902ab===_0xb8a298;}},{exec:_0x541180}=await import(_0x5db714(0x1c5)),_0x4990b3=process['platform']===_0x5db714(0x1df)?_0x231dcb[_0x5db714(0x1a8)]:_0x231dcb[_0x5db714(0x198)](process['platform'],_0x5db714(0x1af))?_0x5db714(0x191):'xdg-open';_0x541180(_0x4990b3+'\x20\x22'+_0x25c38e+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x563ae2=_0x46302a,_0x53a0d5={'JHwHt':function(_0x675fac,_0x171782,_0x2a150f){return _0x675fac(_0x171782,_0x2a150f);}};try{const _0x1e3256=JSON['parse'](await _0x53a0d5['JHwHt'](readFile,TOKEN_CACHE_PATH,'utf-8'));if(_0x1e3256[_0x563ae2(0x20d)]&&_0x1e3256[_0x563ae2(0x20d)]!==currentOrigin)return null;if(_0x1e3256[_0x563ae2(0x1a1)]&&Date[_0x563ae2(0x1d1)]()>_0x1e3256['expiresAt'])return null;return _0x1e3256[_0x563ae2(0x194)]??null;}catch{return null;}}async function saveCachedToken(_0x4fec14,_0x1b175f,_0x2b726a){const _0x5291c5=_0x46302a,_0x43eab0={'QmHuN':function(_0x2041b8){return _0x2041b8();},'eKKgg':function(_0x2b865c,_0x4b7d8c){return _0x2b865c*_0x4b7d8c;},'aaBWJ':function(_0x23a7ab,_0x904aa1,_0x3ebb06){return _0x23a7ab(_0x904aa1,_0x3ebb06);},'QDcGu':'.ranger','EyMhf':function(_0x25b4d,_0x514239,_0x397adc,_0x1e099c){return _0x25b4d(_0x514239,_0x397adc,_0x1e099c);}},_0x28c240=await _0x43eab0[_0x5291c5(0x20f)](loadCachedData),_0x483906={..._0x28c240,'origin':currentOrigin,'accessToken':_0x4fec14,'refreshToken':_0x1b175f??_0x28c240?.[_0x5291c5(0x1e2)],'expiresAt':_0x2b726a?Date[_0x5291c5(0x1d1)]()+_0x43eab0[_0x5291c5(0x1d3)](_0x2b726a,0x3e8):undefined};await mkdir(_0x43eab0[_0x5291c5(0x1f0)](join,homedir(),_0x43eab0['QDcGu']),{'recursive':!![]}),await _0x43eab0[_0x5291c5(0x1ae)](writeFile,TOKEN_CACHE_PATH,JSON[_0x5291c5(0x1d8)](_0x483906),{'mode':0x180});}async function loadCachedClient(){const _0xdf24d0=_0x46302a,_0xba69c7=await loadCachedData();if(_0xba69c7?.[_0xdf24d0(0x20d)]&&_0xba69c7[_0xdf24d0(0x20d)]!==currentOrigin)return null;return _0xba69c7?.[_0xdf24d0(0x201)]?{'clientId':_0xba69c7['clientId'],'clientSecret':_0xba69c7['clientSecret']}:null;}async function clearCachedClient(){const _0x52f6c2=_0x46302a,_0x28514a={'cxNtZ':function(_0x2d8849,_0x4833b6,_0x344193,_0x3c8ed0){return _0x2d8849(_0x4833b6,_0x344193,_0x3c8ed0);}},_0x1fefa6=await loadCachedData();if(!_0x1fefa6)return;const {clientId:_0x5413bc,clientSecret:_0x574c01,..._0x133c0d}=_0x1fefa6;await _0x28514a[_0x52f6c2(0x1b0)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x133c0d),{'mode':0x180});}async function saveCachedClient(_0x340a65,_0x466b49){const _0x33fe7c=_0x46302a,_0x44f5d6={'FZSfN':function(_0x2dcb2d,_0x11588c,_0x1d9311){return _0x2dcb2d(_0x11588c,_0x1d9311);},'jLtzt':_0x33fe7c(0x19c),'gnqYX':function(_0x5efc60,_0x58a9d9,_0x5be6e0,_0x39000c){return _0x5efc60(_0x58a9d9,_0x5be6e0,_0x39000c);}},_0x43bdc3=await loadCachedData(),_0x195147={..._0x43bdc3,'origin':currentOrigin,'accessToken':_0x43bdc3?.[_0x33fe7c(0x194)]??'','clientId':_0x340a65,'clientSecret':_0x466b49};await _0x44f5d6[_0x33fe7c(0x1b9)](mkdir,join(homedir(),_0x44f5d6[_0x33fe7c(0x1c4)]),{'recursive':!![]}),await _0x44f5d6[_0x33fe7c(0x1b1)](writeFile,TOKEN_CACHE_PATH,JSON[_0x33fe7c(0x1d8)](_0x195147),{'mode':0x180});}async function loadCachedData(){const _0x19ceb1=_0x46302a,_0x363502={'SAVuV':function(_0x23f048,_0x4dcbb5,_0x33c71a){return _0x23f048(_0x4dcbb5,_0x33c71a);},'vhmXX':'utf-8'};try{return JSON['parse'](await _0x363502['SAVuV'](readFile,TOKEN_CACHE_PATH,_0x363502[_0x19ceb1(0x200)]));}catch{return null;}}async function parseResponse(_0x2c3375){const _0x441bd7=_0x46302a,_0x1ff895={'QOPFv':'content-type','NbBBx':'data:','AiQeo':function(_0x99cc2c,_0x43fdb6){return _0x99cc2c!==_0x43fdb6;},'qdArK':'No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream'},_0x338a8f=_0x2c3375[_0x441bd7(0x1ea)][_0x441bd7(0x1dd)](_0x1ff895['QOPFv'])??'';if(_0x338a8f[_0x441bd7(0x17c)](_0x441bd7(0x182))){const _0x572a96=await _0x2c3375[_0x441bd7(0x1d0)]();for(const _0x5adcb0 of _0x572a96['split']('\x0a')){const _0x51f180=_0x5adcb0['trim']();if(_0x51f180['startsWith'](_0x1ff895['NbBBx'])){const _0x2decaa=_0x51f180['slice'](_0x1ff895[_0x441bd7(0x1f4)]['length'])['trim']();if(!_0x2decaa)continue;try{const _0x59450f=JSON[_0x441bd7(0x1bc)](_0x2decaa);if(_0x1ff895['AiQeo'](_0x59450f['id'],undefined)||_0x59450f['error'])return _0x59450f;}catch{}}}throw new Error(_0x1ff895[_0x441bd7(0x193)]);}return _0x2c3375['json']();}function extractToken(_0xa98c04){const _0x5ab2b7=_0x46302a,_0x3715b9={'tfHML':function(_0xda82d5,_0x320050){return _0xda82d5===_0x320050;},'haFjz':'text','oBKUV':_0x5ab2b7(0x202)};if(!_0xa98c04)return null;const _0x55443c=_0xa98c04['structuredContent'];if(_0x55443c?.[_0x5ab2b7(0x190)]&&_0x3715b9['tfHML'](typeof _0x55443c[_0x5ab2b7(0x190)],'string'))return _0x55443c[_0x5ab2b7(0x190)];if(_0xa98c04['isError']){const _0x26614c=_0xa98c04[_0x5ab2b7(0x203)];throw new Error('Server\x20returned\x20error:\x20'+(_0x26614c?.[0x0]?.['text']??'Unknown\x20error'));}const _0x16b679=_0xa98c04[_0x5ab2b7(0x203)];if(_0x16b679)for(const _0x2a1b7d of _0x16b679){if(_0x3715b9['tfHML'](_0x2a1b7d[_0x5ab2b7(0x17e)],_0x3715b9[_0x5ab2b7(0x181)])&&_0x2a1b7d[_0x5ab2b7(0x1d0)]){try{const _0x1c3d16=JSON[_0x5ab2b7(0x1bc)](_0x2a1b7d[_0x5ab2b7(0x1d0)]);if(typeof _0x1c3d16?.['token']===_0x3715b9['oBKUV'])return _0x1c3d16[_0x5ab2b7(0x190)];}catch{}const _0x4bb659=_0x2a1b7d['text'][_0x5ab2b7(0x210)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x4bb659)return _0x4bb659[0x1];}}return null;}
1
+ function _0xcbe0(_0x58c7a9,_0x2295bb){_0x58c7a9=_0x58c7a9-0x90;const _0x4cf07a=_0x4cf0();let _0xcbe072=_0x4cf07a[_0x58c7a9];return _0xcbe072;}const _0x391073=_0xcbe0;(function(_0x233b86,_0x15ba89){const _0x8a1d7a=_0xcbe0,_0x25002e=_0x233b86();while(!![]){try{const _0x51e156=-parseInt(_0x8a1d7a(0xef))/0x1*(parseInt(_0x8a1d7a(0xba))/0x2)+-parseInt(_0x8a1d7a(0xa9))/0x3+-parseInt(_0x8a1d7a(0x9d))/0x4+-parseInt(_0x8a1d7a(0xae))/0x5*(parseInt(_0x8a1d7a(0xd2))/0x6)+parseInt(_0x8a1d7a(0xc0))/0x7*(-parseInt(_0x8a1d7a(0xa4))/0x8)+parseInt(_0x8a1d7a(0xfd))/0x9+parseInt(_0x8a1d7a(0x102))/0xa;if(_0x51e156===_0x15ba89)break;else _0x25002e['push'](_0x25002e['shift']());}catch(_0x1686cc){_0x25002e['push'](_0x25002e['shift']());}}}(_0x4cf0,0xcf611));import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x391073(0xfb),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),'.ranger',_0x391073(0xb4));export async function getMcpAuthOrigin(){const _0x24f43a=_0x391073,_0x2599df={'sDWtc':_0x24f43a(0xbb)};try{const _0x59dac6=(await readFile(AUTH_ORIGIN_PATH,_0x2599df['sDWtc']))['trim']();return _0x59dac6||null;}catch{return null;}}export async function mcpBootstrap(){const _0x4ffc58=_0x391073,_0xe7771b={'xfzcX':function(_0x529028){return _0x529028();},'yYILu':_0x4ffc58(0xb8),'BumzN':function(_0x297e59,_0x276e2c){return _0x297e59+_0x276e2c;},'bkjJh':_0x4ffc58(0xc4),'uyDgz':function(_0x1ccdc9,_0x5903c5){return _0x1ccdc9(_0x5903c5);},'CduhE':function(_0x43a92c,_0x370131,_0x2b5bcf){return _0x43a92c(_0x370131,_0x2b5bcf);}},_0xb0e1a1=_0xe7771b['xfzcX'](getMcpAuthUrl);currentOrigin=_0xb0e1a1;const _0x27bae7=process[_0x4ffc58(0x100)]['isTTY']??![];console['log'](_0x4ffc58(0xe3)+_0xb0e1a1+'\x0a');const _0x48a5fe=await tryUnauthenticated(_0xb0e1a1);let _0x2c19a1=null;if(_0x48a5fe===_0xe7771b['yYILu'])_0x2c19a1='';else{_0x2c19a1=await loadCachedToken();if(!_0x2c19a1){if(!_0x27bae7)throw new Error(_0xe7771b['BumzN'](_0x4ffc58(0xf7),_0xe7771b[_0x4ffc58(0xaf)]));_0x2c19a1=await _0xe7771b[_0x4ffc58(0x104)](oauthFlow,_0xb0e1a1);}}await _0xe7771b[_0x4ffc58(0x9e)](callGetCliToken,_0xb0e1a1,_0x2c19a1);}async function tryUnauthenticated(_0x87b3a5){const _0xb32990=_0x391073,_0x59bea6={'jlpMV':function(_0x54c6f9,_0x39fae6,_0x1bb04b){return _0x54c6f9(_0x39fae6,_0x1bb04b);},'xtqdi':'POST','vorwr':'application/json','MEPLN':_0xb32990(0xe5),'RANtW':'2025-03-26','CfouD':_0xb32990(0xa0)},_0x5d028a=await _0x59bea6['jlpMV'](fetch,_0x87b3a5,{'method':_0x59bea6['xtqdi'],'headers':{'Content-Type':_0x59bea6[_0xb32990(0x105)],'Accept':_0xb32990(0xe0)},'body':JSON[_0xb32990(0x113)]({'jsonrpc':_0x59bea6['MEPLN'],'id':0x1,'method':_0xb32990(0xde),'params':{'protocolVersion':_0x59bea6[_0xb32990(0x98)],'capabilities':{},'clientInfo':{'name':'ranger-cli','version':_0xb32990(0xff)}}})});if(_0x5d028a['ok'])return await _0x5d028a['text'](),_0xb32990(0xb8);if(_0x5d028a[_0xb32990(0x9c)]===0x191)return await _0x5d028a[_0xb32990(0x111)](),_0x59bea6[_0xb32990(0x95)];const _0x513269=await _0x5d028a['text']();throw new Error('MCP\x20server\x20returned\x20HTTP\x20'+_0x5d028a['status']+':\x20'+_0x513269);}class OAuthTimeoutError extends Error{constructor(_0x6911eb){const _0x560e6c={'yMlaz':'OAuthTimeoutError'};super(_0x6911eb),this['name']=_0x560e6c['yMlaz'];}}async function oauthFlow(_0x40b77d){const _0x3fa914=_0x391073,_0x3c94b9={'LnVez':function(_0x5e9276,_0x4f8f0e){return _0x5e9276(_0x4f8f0e);},'rUSaV':function(_0x9816a0,_0x1e9b8c){return _0x9816a0 instanceof _0x1e9b8c;}};try{return await _0x3c94b9['LnVez'](oauthFlowAttempt,_0x40b77d);}catch(_0x48e66a){if(_0x3c94b9['rUSaV'](_0x48e66a,OAuthTimeoutError)&&await loadCachedClient())return console[_0x3fa914(0xb2)](_0x3fa914(0x118)),await clearCachedClient(),await _0x3c94b9['LnVez'](oauthFlowAttempt,_0x40b77d);throw _0x48e66a;}}async function oauthFlowAttempt(_0x4e2b59){const _0x459f2b=_0x391073,_0x1360ac={'bYXJT':function(_0x49c850,_0x52895c){return _0x49c850(_0x52895c);},'hZOMf':'No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata','JupIa':function(_0x44a764){return _0x44a764();},'Cebaw':'Registering\x20OAuth\x20client...','eBqcc':function(_0x3adb5e,_0x3b8b1b,_0x5ae985){return _0x3adb5e(_0x3b8b1b,_0x5ae985);},'zRWPv':'application/json','bTORP':'authorization_code','xHuhy':'refresh_token','bsmPW':'code','OdyOs':'none','DuAxT':'Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','ReCiw':function(_0x4d1d71,_0x7595e3){return _0x4d1d71(_0x7595e3);},'OdBBW':'base64url','mvMVv':_0x459f2b(0x117),'kwhvJ':'response_type','RbtVK':_0x459f2b(0x107),'bOIBQ':_0x459f2b(0xd9),'ZDWrX':_0x459f2b(0x109),'KVRRY':'resource','CkXHB':'\x0aOpening\x20browser\x20for\x20authentication...','vyIrY':function(_0x41227b,_0x55e936){return _0x41227b(_0x55e936);},'ELVRb':_0x459f2b(0xda),'DXXqF':'POST','qVKGp':_0x459f2b(0xf5)},_0x55ba5c=_0x4e2b59['replace'](/\/mcp$/,'');process['stdout'][_0x459f2b(0xab)](_0x459f2b(0x10e));const _0x4e82a6=await _0x1360ac['bYXJT'](fetch,_0x55ba5c+'/.well-known/oauth-protected-resource');if(!_0x4e82a6['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x236442=await _0x4e82a6['json'](),_0x2c08b1=_0x236442['authorization_servers']?.[0x0];if(!_0x2c08b1)throw new Error(_0x1360ac[_0x459f2b(0xad)]);console['log']('\x20'+_0x2c08b1);const _0x2464a5=await _0x1360ac[_0x459f2b(0x96)](fetchAuthServerMetadata,_0x2c08b1);let _0x214a9c,_0x5c2b8f;const _0x4c4085=await _0x1360ac['JupIa'](loadCachedClient);if(_0x4c4085)_0x214a9c=_0x4c4085[_0x459f2b(0x11b)],_0x5c2b8f=_0x4c4085['clientSecret'];else{if(_0x2464a5['registration_endpoint']){process[_0x459f2b(0x100)][_0x459f2b(0xab)](_0x1360ac['Cebaw']);const _0x16f3e6=await _0x1360ac['eBqcc'](fetch,_0x2464a5[_0x459f2b(0xeb)],{'method':_0x459f2b(0xc8),'headers':{'Content-Type':_0x1360ac[_0x459f2b(0x110)]},'body':JSON[_0x459f2b(0x113)]({'client_name':_0x459f2b(0xb1),'redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x459f2b(0xd1)],'grant_types':[_0x1360ac[_0x459f2b(0xac)],_0x1360ac[_0x459f2b(0xe1)]],'response_types':[_0x1360ac[_0x459f2b(0xc1)]],'token_endpoint_auth_method':_0x1360ac[_0x459f2b(0x99)]})});if(!_0x16f3e6['ok']){const _0x482c50=await _0x16f3e6['text']();throw new Error(_0x459f2b(0x120)+_0x482c50);}const _0x38847b=await _0x16f3e6['json']();_0x214a9c=_0x38847b[_0x459f2b(0x115)],_0x5c2b8f=_0x38847b[_0x459f2b(0xda)],await _0x1360ac[_0x459f2b(0xb3)](saveCachedClient,_0x214a9c,_0x5c2b8f),console['log']('\x20done');}else throw new Error(_0x1360ac[_0x459f2b(0xc7)]);}const _0x3ba211=_0x1360ac['ReCiw'](randomBytes,0x20)[_0x459f2b(0xb0)](_0x1360ac['OdBBW']),_0xc4216=_0x1360ac['ReCiw'](createHash,_0x1360ac[_0x459f2b(0xa7)])[_0x459f2b(0x91)](_0x3ba211)['digest'](_0x459f2b(0xc5)),_0x3f3e03=randomBytes(0x10)[_0x459f2b(0xb0)]('hex'),_0x163eb5=new URL(_0x2464a5[_0x459f2b(0xb5)]);_0x163eb5['searchParams'][_0x459f2b(0x11e)](_0x1360ac[_0x459f2b(0x97)],_0x459f2b(0xd8)),_0x163eb5[_0x459f2b(0x11d)][_0x459f2b(0x11e)](_0x459f2b(0x115),_0x214a9c),_0x163eb5[_0x459f2b(0x11d)]['set'](_0x1360ac[_0x459f2b(0xce)],'http://localhost:'+CALLBACK_PORT+_0x459f2b(0xd1)),_0x163eb5['searchParams']['set'](_0x1360ac['bOIBQ'],_0xc4216),_0x163eb5[_0x459f2b(0x11d)][_0x459f2b(0x11e)](_0x1360ac['ZDWrX'],'S256'),_0x163eb5['searchParams']['set'](_0x459f2b(0x101),_0x3f3e03);_0x236442['resource']&&_0x163eb5[_0x459f2b(0x11d)]['set'](_0x1360ac[_0x459f2b(0xcd)],_0x236442['resource']);console['log'](_0x1360ac['CkXHB']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x163eb5[_0x459f2b(0xb0)]()+'\x0a'),await _0x1360ac[_0x459f2b(0xf2)](openBrowser,_0x163eb5[_0x459f2b(0xb0)]());const _0x5d881f=await _0x1360ac['bYXJT'](waitForCallback,_0x3f3e03);process['stdout'][_0x459f2b(0xab)]('Exchanging\x20authorization\x20code...');const _0x420d1c=new URLSearchParams({'grant_type':_0x1360ac['bTORP'],'code':_0x5d881f,'redirect_uri':_0x459f2b(0xaa)+CALLBACK_PORT+_0x459f2b(0xd1),'client_id':_0x214a9c,'code_verifier':_0x3ba211});_0x5c2b8f&&_0x420d1c[_0x459f2b(0x11e)](_0x1360ac['ELVRb'],_0x5c2b8f);_0x236442['resource']&&_0x420d1c[_0x459f2b(0x11e)](_0x1360ac[_0x459f2b(0xcd)],_0x236442[_0x459f2b(0xf0)]);const _0xc24f2e=await _0x1360ac['eBqcc'](fetch,_0x2464a5[_0x459f2b(0xc2)],{'method':_0x1360ac[_0x459f2b(0xbe)],'headers':{'Content-Type':_0x1360ac[_0x459f2b(0x9a)]},'body':_0x420d1c});if(!_0xc24f2e['ok']){const _0x30cf78=await _0xc24f2e['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x30cf78);}const _0x35ae8e=await _0xc24f2e['json']();return console['log'](_0x459f2b(0xdf)),await saveCachedToken(_0x35ae8e[_0x459f2b(0xd3)],_0x35ae8e[_0x459f2b(0xd4)],_0x35ae8e[_0x459f2b(0xf4)]),_0x35ae8e['access_token'];}async function callGetCliToken(_0x45b657,_0x434dfd){const _0x595b87=_0x391073,_0x3e7857={'dvzZf':_0x595b87(0xc8),'qNVuQ':function(_0x52a4cf,_0x153aff){return _0x52a4cf(_0x153aff);},'UkUlD':'application/json','jtijU':_0x595b87(0x94),'bAche':function(_0x218533,_0x2e5e18){return _0x218533(_0x2e5e18);},'XmeCB':'2.0','NGEDm':_0x595b87(0xfc),'XPlhh':function(_0xa5fdd5,_0x387277,_0x30cc71){return _0xa5fdd5(_0x387277,_0x30cc71);},'rekBv':'notifications/initialized','xQIdW':function(_0x1723a3,_0x9ff7bb){return _0x1723a3(_0x9ff7bb);},'JfVjD':'\x20done','OdjFZ':'Could\x20not\x20extract\x20token\x20from\x20MCP\x20response','pKSZd':'refresh.txt','UFiSz':function(_0xd39f6f,_0x3212da,_0x553761,_0x267342){return _0xd39f6f(_0x3212da,_0x553761,_0x267342);},'ZoLYc':'auth-origin.txt'},_0x32077d={'Content-Type':_0x3e7857['UkUlD'],'Accept':_0x595b87(0xe0)};_0x434dfd&&(_0x32077d[_0x595b87(0xd7)]=_0x595b87(0xdc)+_0x434dfd);const _0xe9d8e7=async _0x5d3fdf=>{const _0x4f74be=_0x595b87,_0x23eac7=await fetch(_0x45b657,{'method':_0x3e7857['dvzZf'],'headers':_0x32077d,'body':JSON[_0x4f74be(0x113)](_0x5d3fdf)});if(!_0x23eac7['ok']){const _0x29d0cd=await _0x23eac7[_0x4f74be(0x111)]();throw new Error('HTTP\x20'+_0x23eac7['status']+':\x20'+_0x29d0cd);}return _0x3e7857['qNVuQ'](parseResponse,_0x23eac7);};process[_0x595b87(0x100)]['write'](_0x3e7857[_0x595b87(0xe7)]);const _0x51103a=await _0x3e7857['bAche'](_0xe9d8e7,{'jsonrpc':_0x3e7857[_0x595b87(0x121)],'id':0x1,'method':'initialize','params':{'protocolVersion':_0x3e7857['NGEDm'],'capabilities':{},'clientInfo':{'name':_0x595b87(0xe4),'version':_0x595b87(0xff)}}});if(_0x51103a['error'])throw new Error('MCP\x20initialize\x20failed:\x20'+(_0x51103a['error'][_0x595b87(0xc6)]??JSON['stringify'](_0x51103a[_0x595b87(0x103)])));console['log'](_0x595b87(0xdf)),await _0x3e7857['XPlhh'](fetch,_0x45b657,{'method':'POST','headers':_0x32077d,'body':JSON[_0x595b87(0x113)]({'jsonrpc':_0x595b87(0xe5),'method':_0x3e7857[_0x595b87(0xc3)]})})['then'](_0x36bdb0=>_0x36bdb0['text']()),process['stdout']['write']('Requesting\x20CLI\x20token...');const _0x186bd6=await _0x3e7857[_0x595b87(0xbd)](_0xe9d8e7,{'jsonrpc':_0x595b87(0xe5),'id':0x2,'method':'tools/call','params':{'name':'get_cli_token','arguments':{}}});if(_0x186bd6[_0x595b87(0x103)])throw new Error('get_cli_token\x20failed:\x20'+(_0x186bd6[_0x595b87(0x103)][_0x595b87(0xc6)]??JSON[_0x595b87(0x113)](_0x186bd6['error'])));console['log'](_0x3e7857['JfVjD']);const _0x134d8b=_0x3e7857['bAche'](extractToken,_0x186bd6[_0x595b87(0xf6)]);if(!_0x134d8b){console['error'](_0x595b87(0xcb)),console['error'](JSON[_0x595b87(0x113)](_0x186bd6[_0x595b87(0xf6)],null,0x2));throw new Error(_0x3e7857['OdjFZ']);}const _0x456b81=_0x3e7857['XPlhh'](join,homedir(),_0x595b87(0xfb)),_0x380207=_0x3e7857['XPlhh'](join,_0x456b81,_0x3e7857[_0x595b87(0xa5)]);await _0x3e7857['XPlhh'](mkdir,_0x456b81,{'recursive':!![]}),await writeFile(_0x380207,_0x134d8b,{'mode':0x180}),await _0x3e7857[_0x595b87(0xa3)](writeFile,_0x3e7857['XPlhh'](join,_0x456b81,_0x3e7857[_0x595b87(0xb9)]),_0x45b657,{'mode':0x180}),console[_0x595b87(0xb2)]('\x0aToken\x20written\x20to\x20'+_0x380207),console['log'](_0x595b87(0x11a));}async function fetchAuthServerMetadata(_0x138fd4){const _0x43d840=_0x391073,_0x5c6ebd=_0x138fd4+_0x43d840(0xf8),_0x7eab1b=await fetch(_0x5c6ebd);if(!_0x7eab1b['ok'])throw new Error(_0x43d840(0x106)+_0x5c6ebd+':\x20'+_0x7eab1b['status']);return _0x7eab1b[_0x43d840(0xee)]();}function waitForCallback(_0x2fe31d){const _0x320c45=_0x391073,_0xb8a446={'UBvTr':_0x320c45(0xa2),'TOKKK':_0x320c45(0x123),'cNsWk':function(_0x37d997,_0x3c9094){return _0x37d997!==_0x3c9094;},'pHFbG':'text/html'};return new Promise((_0x3a6e5a,_0xeac951)=>{const _0x20d76c=_0x320c45,_0x400f6d={'HdoMU':_0xb8a446[_0x20d76c(0x108)],'bfmXZ':_0x20d76c(0x103),'EqHsg':function(_0x3ce39e,_0x4f4b25){return _0x3ce39e(_0x4f4b25);},'Onjmx':function(_0x1a326f,_0x1fceb3){return _0xb8a446['cNsWk'](_0x1a326f,_0x1fceb3);},'JQlyN':_0xb8a446[_0x20d76c(0x10f)]},_0xda7d1a=setTimeout(()=>{const _0x52105b=_0x20d76c;_0xfea2ee[_0x52105b(0xe2)](),_0xeac951(new OAuthTimeoutError(_0xb8a446[_0x52105b(0xd6)]));},0x1d4c0),_0xfea2ee=createServer((_0x4979f0,_0xb58ae7)=>{const _0x39a93f=_0x20d76c,_0x118e4a=new URL(_0x4979f0['url']??'/','http://localhost:'+CALLBACK_PORT);if(_0x118e4a['pathname']!=='/callback'){_0xb58ae7[_0x39a93f(0xe8)](0x194),_0xb58ae7['end'](_0x400f6d[_0x39a93f(0x93)]);return;}const _0x5f083c=_0x118e4a[_0x39a93f(0x11d)][_0x39a93f(0x116)]('code'),_0x114042=_0x118e4a[_0x39a93f(0x11d)]['get']('state'),_0x3457e1=_0x118e4a[_0x39a93f(0x11d)][_0x39a93f(0x116)](_0x400f6d[_0x39a93f(0xb6)]);if(_0x3457e1){const _0x5e2cc0=_0x118e4a[_0x39a93f(0x11d)]['get']('error_description')??_0x3457e1;_0xb58ae7['writeHead'](0xc8,{'Content-Type':'text/html'}),_0xb58ae7[_0x39a93f(0x10a)](_0x39a93f(0x11c)+_0x5e2cc0+_0x39a93f(0xea)),clearTimeout(_0xda7d1a),_0xfea2ee['close'](),_0x400f6d[_0x39a93f(0xfa)](_0xeac951,new Error('OAuth\x20error:\x20'+_0x5e2cc0));return;}if(!_0x5f083c||_0x400f6d['Onjmx'](_0x114042,_0x2fe31d)){_0xb58ae7[_0x39a93f(0xe8)](0x190,{'Content-Type':_0x400f6d[_0x39a93f(0xe9)]}),_0xb58ae7['end']('<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>');return;}_0xb58ae7['writeHead'](0xc8,{'Content-Type':_0x400f6d[_0x39a93f(0xe9)]}),_0xb58ae7[_0x39a93f(0x10a)]('<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>'),_0x400f6d['EqHsg'](clearTimeout,_0xda7d1a),_0xfea2ee[_0x39a93f(0xe2)](),_0x3a6e5a(_0x5f083c);});_0xfea2ee[_0x20d76c(0xc9)](CALLBACK_PORT,'127.0.0.1');});}async function openBrowser(_0x1ec832){const _0x343f76=_0x391073,_0x2e8b8f={'RRZnP':'child_process','eNYSU':'start','FPwdA':function(_0x5d807f,_0x41ed48){return _0x5d807f(_0x41ed48);}},{exec:_0x10c016}=await import(_0x2e8b8f[_0x343f76(0xed)]),_0x1c73aa=process['platform']==='darwin'?_0x343f76(0xf3):process[_0x343f76(0x90)]==='win32'?_0x2e8b8f[_0x343f76(0x9f)]:_0x343f76(0x122);_0x2e8b8f['FPwdA'](_0x10c016,_0x1c73aa+'\x20\x22'+_0x1ec832+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x5d06d1=_0x391073,_0x4b5b40={'lkUlS':function(_0x566509,_0x309643){return _0x566509!==_0x309643;},'XMvjH':function(_0x11caeb,_0x35809b){return _0x11caeb>_0x35809b;}};try{const _0x528502=JSON[_0x5d06d1(0xec)](await readFile(TOKEN_CACHE_PATH,'utf-8'));if(_0x528502['origin']&&_0x4b5b40[_0x5d06d1(0x112)](_0x528502[_0x5d06d1(0x92)],currentOrigin))return null;if(_0x528502[_0x5d06d1(0xdd)]&&_0x4b5b40['XMvjH'](Date['now'](),_0x528502[_0x5d06d1(0xdd)]))return null;return _0x528502[_0x5d06d1(0xf9)]??null;}catch{return null;}}async function saveCachedToken(_0x1ae3c2,_0x3fdb2e,_0x5672ef){const _0x473d66=_0x391073,_0x5d1e37={'vRVNW':function(_0x240cb9){return _0x240cb9();},'VCHzS':function(_0x2b64d8,_0x568654,_0x35a309){return _0x2b64d8(_0x568654,_0x35a309);},'GAJAK':function(_0x1e6e0d,_0x3820f5,_0x422f34){return _0x1e6e0d(_0x3820f5,_0x422f34);},'QWvpI':function(_0x5a2322){return _0x5a2322();},'UYKnx':function(_0x548c20,_0x81bf86,_0x29841e,_0x274f63){return _0x548c20(_0x81bf86,_0x29841e,_0x274f63);}},_0x498869=await _0x5d1e37[_0x473d66(0x9b)](loadCachedData),_0x4a6a7f={..._0x498869,'origin':currentOrigin,'accessToken':_0x1ae3c2,'refreshToken':_0x3fdb2e??_0x498869?.[_0x473d66(0xa6)],'expiresAt':_0x5672ef?Date[_0x473d66(0xdb)]()+_0x5672ef*0x3e8:undefined};await _0x5d1e37['VCHzS'](mkdir,_0x5d1e37[_0x473d66(0xe6)](join,_0x5d1e37['QWvpI'](homedir),'.ranger'),{'recursive':!![]}),await _0x5d1e37['UYKnx'](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x4a6a7f),{'mode':0x180});}async function loadCachedClient(){const _0x6bf70b=_0x391073,_0x41395a={'BJQJJ':function(_0x61faf6,_0xdbea2f){return _0x61faf6!==_0xdbea2f;}},_0xb52d87=await loadCachedData();if(_0xb52d87?.['origin']&&_0x41395a['BJQJJ'](_0xb52d87['origin'],currentOrigin))return null;return _0xb52d87?.[_0x6bf70b(0x11b)]?{'clientId':_0xb52d87['clientId'],'clientSecret':_0xb52d87['clientSecret']}:null;}async function clearCachedClient(){const _0x2aeb14=_0x391073,_0xe3538b={'zuJGh':function(_0x337222){return _0x337222();}},_0x2e2c5f=await _0xe3538b[_0x2aeb14(0xbc)](loadCachedData);if(!_0x2e2c5f)return;const {clientId:_0x4c2f3d,clientSecret:_0x2b732f,..._0x421b67}=_0x2e2c5f;await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x421b67),{'mode':0x180});}async function saveCachedClient(_0x553ffa,_0x5140e5){const _0x41c635=_0x391073,_0x574fee={'xhugZ':'.ranger'},_0x17a176=await loadCachedData(),_0x2a87ed={..._0x17a176,'origin':currentOrigin,'accessToken':_0x17a176?.['accessToken']??'','clientId':_0x553ffa,'clientSecret':_0x5140e5};await mkdir(join(homedir(),_0x574fee[_0x41c635(0x119)]),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON['stringify'](_0x2a87ed),{'mode':0x180});}function _0x4cf0(){const _0x290a53=['14610609PAliYX','match','1.0.0','stdout','state','25384880GIwJqU','error','uyDgz','vorwr','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','redirect_uri','TOKKK','code_challenge_method','end','jyqxT','KLpqz','string','Discovering\x20authorization\x20server...','pHFbG','zRWPv','text','lkUlS','stringify','content-type','client_id','get','sha256','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','xhugZ','Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a','clientId','<html><body><h2>Authentication\x20failed</h2><p>','searchParams','set','startsWith','Client\x20registration\x20failed:\x20','XmeCB','xdg-open','Not\x20found','platform','update','origin','HdoMU','Initializing\x20MCP\x20session...','CfouD','bYXJT','kwhvJ','RANtW','OdyOs','qVKGp','vRVNW','status','4855356DpbGql','CduhE','eNYSU','needs-oauth','token','OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes','UFiSz','8UjyPOq','pKSZd','refreshToken','mvMVv','Server\x20returned\x20error:\x20','535953PJJarH','http://localhost:','write','bTORP','hZOMf','5TfsGev','bkjJh','toString','Ranger\x20CLI','log','eBqcc','auth-origin.txt','authorization_endpoint','bfmXZ','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','proxied','ZoLYc','8jzextT','utf-8','zuJGh','xQIdW','DXXqF','split','4397827FatJJg','bsmPW','token_endpoint','rekBv','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','base64url','message','DuAxT','POST','listen','content','\x0aUnexpected\x20response\x20structure:','MTReb','KVRRY','RbtVK','slice','isError','/callback','2134854cUHsvn','access_token','refresh_token','data:','UBvTr','Authorization','code','code_challenge','client_secret','now','Bearer\x20','expiresAt','initialize','\x20done','application/json,\x20text/event-stream','xHuhy','close','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','ranger-cli','2.0','GAJAK','jtijU','writeHead','JQlyN','</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>','registration_endpoint','parse','RRZnP','json','233976yrozCQ','resource','type','vyIrY','open','expires_in','application/x-www-form-urlencoded','result','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','/.well-known/oauth-authorization-server','accessToken','EqHsg','.ranger','2025-03-26'];_0x4cf0=function(){return _0x290a53;};return _0x4cf0();}async function loadCachedData(){const _0x517265=_0x391073;try{return JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x517265(0xbb)));}catch{return null;}}async function parseResponse(_0x4a63d5){const _0x304359=_0x391073,_0x4abc3e={'qAVgU':_0x304359(0x114),'lWaNy':_0x304359(0xb7)},_0x193440=_0x4a63d5['headers']['get'](_0x4abc3e['qAVgU'])??'';if(_0x193440['includes']('text/event-stream')){const _0x4222b9=await _0x4a63d5['text']();for(const _0x26ecd9 of _0x4222b9[_0x304359(0xbf)]('\x0a')){const _0x3224d2=_0x26ecd9['trim']();if(_0x3224d2[_0x304359(0x11f)]('data:')){const _0xe3d530=_0x3224d2[_0x304359(0xcf)](_0x304359(0xd5)['length'])['trim']();if(!_0xe3d530)continue;try{const _0x1763c1=JSON['parse'](_0xe3d530);if(_0x1763c1['id']!==undefined||_0x1763c1[_0x304359(0x103)])return _0x1763c1;}catch{}}}throw new Error(_0x4abc3e['lWaNy']);}return _0x4a63d5[_0x304359(0xee)]();}function extractToken(_0x2f34f4){const _0x2ad4c0=_0x391073,_0x380156={'MTReb':_0x2ad4c0(0x10d),'KLpqz':'Unknown\x20error','jyqxT':_0x2ad4c0(0x111),'oGPBa':function(_0x529f77,_0x51f59d){return _0x529f77===_0x51f59d;}};if(!_0x2f34f4)return null;const _0x3081dc=_0x2f34f4['structuredContent'];if(_0x3081dc?.[_0x2ad4c0(0xa1)]&&typeof _0x3081dc[_0x2ad4c0(0xa1)]===_0x380156['MTReb'])return _0x3081dc[_0x2ad4c0(0xa1)];if(_0x2f34f4[_0x2ad4c0(0xd0)]){const _0x40aeb3=_0x2f34f4['content'];throw new Error(_0x2ad4c0(0xa8)+(_0x40aeb3?.[0x0]?.['text']??_0x380156[_0x2ad4c0(0x10c)]));}const _0x3adf23=_0x2f34f4[_0x2ad4c0(0xca)];if(_0x3adf23)for(const _0x2c0490 of _0x3adf23){if(_0x2c0490[_0x2ad4c0(0xf1)]===_0x380156[_0x2ad4c0(0x10b)]&&_0x2c0490['text']){try{const _0x2cfb1d=JSON[_0x2ad4c0(0xec)](_0x2c0490['text']);if(_0x380156['oGPBa'](typeof _0x2cfb1d?.[_0x2ad4c0(0xa1)],_0x380156[_0x2ad4c0(0xcc)]))return _0x2cfb1d[_0x2ad4c0(0xa1)];}catch{}const _0x496956=_0x2c0490['text'][_0x2ad4c0(0xfe)](/(rngr_[A-Za-z0-9_-]+)/);if(_0x496956)return _0x496956[0x1];}}return null;}
@@ -0,0 +1 @@
1
+ (function(_0x1d360d,_0xbcb618){const _0x1c9650=_0x44ea,_0x2d52df=_0x1d360d();while(!![]){try{const _0x24e6a1=-parseInt(_0x1c9650(0x184))/0x1+parseInt(_0x1c9650(0x17d))/0x2+-parseInt(_0x1c9650(0x153))/0x3*(-parseInt(_0x1c9650(0x14f))/0x4)+parseInt(_0x1c9650(0x168))/0x5+parseInt(_0x1c9650(0x15a))/0x6+-parseInt(_0x1c9650(0x18e))/0x7+-parseInt(_0x1c9650(0x159))/0x8*(parseInt(_0x1c9650(0x190))/0x9);if(_0x24e6a1===_0xbcb618)break;else _0x2d52df['push'](_0x2d52df['shift']());}catch(_0x4509a2){_0x2d52df['push'](_0x2d52df['shift']());}}}(_0x3557,0x9b2c0));import{readFile,rm}from'fs/promises';import{existsSync}from'fs';import{join}from'path';import _0x36ebad from'inquirer';import{getEnvNames}from'./env.js';import{getEnvDir,loadSettings}from'./utils/settings.js';import{getRangerDir}from'./utils/rangerRoot.js';import{ApiError,createCloudProfile,fetchAuthConfig,saveCloudProfileCredentials,uploadCloudProfileSession}from'./utils/cloudProfile.js';import{matchAuthEnvironment}from'./utils/matchAuthEnvironment.js';import{readProjectsConfig,setProfileOverride,writeProjectsConfig}from'./utils/projectsConfig.js';function _0x44ea(_0x9c4f7a,_0x3b120b){_0x9c4f7a=_0x9c4f7a-0x146;const _0x355778=_0x3557();let _0x44eabb=_0x355778[_0x9c4f7a];return _0x44eabb;}function _0x3557(){const _0x3bb184=['KKnvA','message','iUnZa','oicGK','profileName','\x20→\x20cloud\x20(env:\x20','1205929ZyPStj','trackPhaseEnd','envKey','\x20local\x20director','mXDSl','stdout',',\x20baseUrl\x20override\x20→\x20projects.json)','yes','utf-8','isTTY','4090709ktzbTW','dryRun','900603GuFQsD','_warnings','some','authJsonPath',':\x20failed\x20to\x20save\x20credentials\x20(','Could\x20not\x20fetch\x20auth\x20config\x20(','domains','4|0|2|3|1','\x20\x20git\x20rm\x20-r\x20--cached\x20.ranger/','padEnd','ies','TELRT','skip','PbCky','no\x20baseUrl\x20in\x20settings.json','Provide\x20a\x20profile\x20name\x20or\x20--all.\x0a\x20\x20Example:\x20ranger\x20profile\x20migrate\x20--all\x20--dry-run','\x20profile','4fIlzRm','env','origin','push','2309082ewLnRm','jqsdZ','local\x20profile\x20directory\x20not\x20found',':\x20--save-creds\x20requested,\x20but\x20RANGER_TEST_USERNAME/PASSWORD\x20not\x20set\x20in\x20env.','baseUrl','migrate','8WojQYW','4931868XuZEhq',':\x20failed\x20to\x20write\x20projects.json\x20override\x20(',':\x20cloud\x20profile\x20with\x20this\x20name\x20already\x20exists.\x20Skipping.','\x20\x20⚠\x20','no\x20matching\x20auth\x20env','length','No\x20local\x20profiles\x20found\x20to\x20migrate.','status','Warning:\x20.ranger/\x20is\x20tracked\x20in\x20this\x20git\x20repo.','BfuZj','Continuing\x20with\x20migration...','environments','projects','reason','548980aDVhAK','join','settings','\x20migrated','preserveBaseUrl','all','\x20skipped','kind','yguzc','\x20failed','Ihhdr','Deleted\x20','CWCpg','TYEEv',':\x20session\x20upload\x20failed\x20(','\x20migrated\x20to\x20cloud\x20(env:\x20','GYUhV','DIxuT','Aborted.','log','\x20\x20echo\x20\x27.ranger/\x27\x20>>\x20.gitignore','1648998ZFCXGD'];_0x3557=function(){return _0x3bb184;};return _0x3557();}import{isPathGitTracked}from'./utils/gitTracked.js';function formatPlanLine(_0xa05d1f){const _0x29f314=_0x44ea,_0x456720={'PlQHj':'skip'};if(_0xa05d1f['kind']===_0x456720['PlQHj'])return'\x20\x20'+_0xa05d1f['profileName'][_0x29f314(0x147)](0x1e)+'\x20→\x20skip\x20('+_0xa05d1f['reason']+')';if(_0xa05d1f[_0x29f314(0x16c)]&&_0xa05d1f['baseUrl'])return'\x20\x20'+_0xa05d1f[_0x29f314(0x182)]['padEnd'](0x1e)+_0x29f314(0x183)+_0xa05d1f['envKey']+',\x20preserving\x20baseUrl\x20'+_0xa05d1f[_0x29f314(0x157)]+'\x20as\x20project\x20override)';if(_0xa05d1f[_0x29f314(0x157)])return'\x20\x20'+_0xa05d1f[_0x29f314(0x182)][_0x29f314(0x147)](0x1e)+_0x29f314(0x183)+_0xa05d1f[_0x29f314(0x186)]+',\x20matches\x20'+_0xa05d1f[_0x29f314(0x157)]+')';return'\x20\x20'+_0xa05d1f['profileName'][_0x29f314(0x147)](0x1e)+'\x20→\x20cloud\x20(env:\x20'+_0xa05d1f['envKey']+')';}function shouldWarnGitTrackedOnce(_0x1467f2){const _0x54e732=_0x44ea,_0x601987=readProjectsConfig(),_0x553481=_0x601987[_0x54e732(0x166)][_0x1467f2]??={},_0x53846e=_0x553481[_0x54e732(0x191)]??={},_0x8edd37=_0x53846e['gitTrackedRanger'],_0xf5c18c=new Date(),_0x3c8878=_0xf5c18c['toISOString']()['slice'](0x0,0xa);if(_0x8edd37===_0x3c8878)return![];return _0x53846e['gitTrackedRanger']=_0x3c8878,writeProjectsConfig(_0x601987),!![];}export async function migrateProfile(_0x3b58a2,_0x213f41){const _0x3fe15d=_0x44ea,_0x1e4af7={'yguzc':function(_0x18ff84,_0x1cdf07){return _0x18ff84===_0x1cdf07;},'fgJAT':function(_0x5c91b0,_0x48c38a){return _0x5c91b0 instanceof _0x48c38a;},'WmLJR':'No\x20cloud\x20profile\x20auth\x20config\x20found\x20for\x20this\x20org.\x20Migration\x20requires\x20at\x20least\x20one\x20configured\x20auth\x20environment.','BfuZj':function(_0x237210){return _0x237210();},'CZJYw':_0x3fe15d(0x160),'CWCpg':function(_0x2097c4,_0x49ebdb){return _0x2097c4(_0x49ebdb);},'PbCky':_0x3fe15d(0x14a),'DAEzE':_0x3fe15d(0x14c),'uUPql':function(_0x9bf860,_0x2df369,_0x42928a){return _0x9bf860(_0x2df369,_0x42928a);},'KKnvA':_0x3fe15d(0x15e),'GYUhV':_0x3fe15d(0x157),'emDib':function(_0x2bd103,_0x864fbb,_0x4f9636){return _0x2bd103(_0x864fbb,_0x4f9636);},'Hawqv':'migrate','TYEEv':'confirm','TkAwv':_0x3fe15d(0x197),'jqsdZ':_0x3fe15d(0x146),'mXDSl':_0x3fe15d(0x17c),'azSlL':'profile.migrate.started','irayU':'profile.migrate.skipped','TELRT':function(_0x20e47a,_0x22b506,_0x2f6f5b){return _0x20e47a(_0x22b506,_0x2f6f5b);},'qVarW':function(_0x115a76,_0xbaa573){return _0x115a76&&_0xbaa573;},'DIxuT':function(_0x9e5a39,_0x2f7335){return _0x9e5a39 instanceof _0x2f7335;},'IMrDU':function(_0x5851df,_0x1bc619,_0x11d1ce,_0xe0287e,_0x5f3298){return _0x5851df(_0x1bc619,_0x11d1ce,_0xe0287e,_0x5f3298);},'MEYEu':'profile.migrate.failed','iUnZa':function(_0x421abb,_0x3ab66e){return _0x421abb(_0x3ab66e);},'rBRuc':function(_0x146bc7,_0x3e2fa4){return _0x146bc7>_0x3e2fa4;},'qQnCI':function(_0x58bccc,_0x4caf0c){return _0x58bccc>_0x4caf0c;},'Ihhdr':_0x3fe15d(0x148),'oicGK':function(_0x49b957,_0x4e79d){return _0x49b957+_0x4e79d;}};if(!_0x3b58a2[_0x3fe15d(0x182)]&&!_0x3b58a2['all'])throw new Error(_0x3fe15d(0x14d));let _0x35d6ac;try{_0x35d6ac=await fetchAuthConfig();}catch(_0x53cbd9){throw new Error(_0x3fe15d(0x195)+(_0x1e4af7['fgJAT'](_0x53cbd9,Error)?_0x53cbd9['message']:String(_0x53cbd9))+').\x20Run:\x20ranger\x20setup');}if(!_0x35d6ac||!_0x35d6ac[_0x3fe15d(0x165)]||Object['keys'](_0x35d6ac[_0x3fe15d(0x165)])[_0x3fe15d(0x15f)]===0x0)throw new Error(_0x1e4af7['WmLJR']);const _0x283e76=[];if(_0x3b58a2[_0x3fe15d(0x16d)]){const {envNames:_0x201b67,envTypes:_0x247b63}=await _0x1e4af7[_0x3fe15d(0x163)](getEnvNames);for(const _0x55898a of _0x201b67){if(_0x247b63[_0x55898a]==='ci')continue;_0x283e76['push'](_0x55898a);}}else _0x3b58a2['profileName']&&_0x283e76['push'](_0x3b58a2[_0x3fe15d(0x182)]);if(_0x1e4af7['yguzc'](_0x283e76[_0x3fe15d(0x15f)],0x0)){console[_0x3fe15d(0x17b)](_0x1e4af7['CZJYw']);return;}const _0x105201=[];for(const _0x542d48 of _0x283e76){const _0x189777=getEnvDir(_0x542d48);if(!_0x1e4af7[_0x3fe15d(0x174)](existsSync,_0x189777)){_0x105201[_0x3fe15d(0x152)]({'kind':'skip','profileName':_0x542d48,'reason':_0x3fe15d(0x155)});continue;}const _0x103ad8=await loadSettings(_0x542d48),_0xcd4564=_0x103ad8['baseUrl'];if(!_0xcd4564){_0x105201[_0x3fe15d(0x152)]({'kind':_0x1e4af7[_0x3fe15d(0x14b)],'profileName':_0x542d48,'reason':_0x1e4af7['DAEzE']});continue;}const _0x390e8b=_0x1e4af7['uUPql'](matchAuthEnvironment,_0xcd4564,_0x35d6ac);if(!_0x390e8b){_0x105201['push']({'kind':_0x1e4af7[_0x3fe15d(0x14b)],'profileName':_0x542d48,'reason':_0x1e4af7[_0x3fe15d(0x17e)]});continue;}const _0x20d0fe=_0x35d6ac[_0x3fe15d(0x165)][_0x390e8b],_0x4bb71e=_0x20d0fe?.[_0x3fe15d(0x196)]??[],_0x1df2d1=_0x4bb71e[_0x3fe15d(0x192)](_0x537513=>{const _0x281afd=_0x3fe15d;try{return _0x1e4af7['yguzc'](new URL(_0x537513)['origin'],new URL(_0xcd4564)[_0x281afd(0x151)]);}catch{return![];}}),_0x1c8afc={};for(const [_0x231d6f,_0x2ceb6d]of Object['entries'](_0x103ad8)){if(_0x231d6f===_0x1e4af7[_0x3fe15d(0x178)])continue;if(_0x1e4af7[_0x3fe15d(0x170)](_0x2ceb6d,undefined))continue;_0x1c8afc[_0x231d6f]=_0x2ceb6d;}!_0x1df2d1&&(_0x1c8afc[_0x3fe15d(0x157)]=_0xcd4564);const _0x20c720=_0x1e4af7['emDib'](join,_0x189777,'auth.json'),_0x586572=existsSync(_0x20c720);_0x105201[_0x3fe15d(0x152)]({'kind':_0x1e4af7['Hawqv'],'profileName':_0x542d48,'envKey':_0x390e8b,'baseUrl':_0xcd4564,'preserveBaseUrl':!_0x1df2d1,'settings':_0x1c8afc,'authJsonPath':_0x586572?_0x20c720:null});}console['log']('Plan:');for(const _0x46398c of _0x105201){console['log'](_0x1e4af7['CWCpg'](formatPlanLine,_0x46398c));}if(_0x3b58a2[_0x3fe15d(0x18f)]){console['log']('Nothing\x20migrated.\x20Run\x20without\x20--dry-run\x20to\x20apply.');return;}const _0x471fc4=_0x1e4af7[_0x3fe15d(0x174)](Boolean,process['stdin']['isTTY']&&process[_0x3fe15d(0x189)][_0x3fe15d(0x18d)]),_0x1ea732=_0x105201[_0x3fe15d(0x192)](_0x35e67d=>_0x35e67d[_0x3fe15d(0x16f)]===_0x3fe15d(0x158));if(_0x1ea732&&_0x471fc4&&!_0x3b58a2[_0x3fe15d(0x18b)]){const {proceed:_0x108d55}=await _0x36ebad['prompt']([{'type':_0x1e4af7[_0x3fe15d(0x175)],'name':'proceed','message':'Proceed?','default':![]}]);if(!_0x108d55){console[_0x3fe15d(0x17b)](_0x3fe15d(0x17a));return;}}const _0x279233=_0x1e4af7['BfuZj'](getRangerDir);let _0x447cf2=![];if(existsSync(_0x279233))try{_0x447cf2=await isPathGitTracked(_0x279233);}catch{_0x447cf2=![];}if(_0x447cf2&&shouldWarnGitTrackedOnce(process['cwd']())){const _0x358b3d=_0x1e4af7['TkAwv']['split']('|');let _0x559d57=0x0;while(!![]){switch(_0x358b3d[_0x559d57++]){case'0':console[_0x3fe15d(0x17b)]('After\x20migration,\x20uncommit\x20it:');continue;case'1':console['log'](_0x3fe15d(0x164));continue;case'2':console['log'](_0x1e4af7[_0x3fe15d(0x154)]);continue;case'3':console['log'](_0x1e4af7[_0x3fe15d(0x188)]);continue;case'4':console['log'](_0x3fe15d(0x162));continue;}break;}}let _0x399593=0x0,_0xc18db3=0x0,_0x267560=0x0,_0x48c993=0x0;for(const _0x3e4841 of _0x105201){if(_0x3e4841['kind']===_0x1e4af7['PbCky']){_0x48c993++,_0x213f41?.[_0x3fe15d(0x185)]('profile.migrate.skipped',{'profileName':_0x3e4841['profileName'],'reason':_0x3e4841[_0x3fe15d(0x167)]});continue;}_0x213f41?.['trackPhaseStart'](_0x1e4af7['azSlL'],{'profileName':_0x3e4841[_0x3fe15d(0x182)],'envKey':_0x3e4841[_0x3fe15d(0x186)]});try{try{await createCloudProfile(_0x3e4841[_0x3fe15d(0x182)],_0x3e4841['envKey'],_0x3e4841[_0x3fe15d(0x16a)]);}catch(_0x289ac8){if(_0x289ac8 instanceof ApiError&&_0x289ac8[_0x3fe15d(0x161)]===0x199){console[_0x3fe15d(0x17b)]('\x20\x20⚠\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x15c)),_0x48c993++,_0x213f41?.['trackPhaseEnd'](_0x1e4af7['irayU'],{'profileName':_0x3e4841[_0x3fe15d(0x182)],'reason':'name_conflict'});continue;}throw _0x289ac8;}let _0x28b1c0=![],_0x1b57f6=![];if(_0x3e4841[_0x3fe15d(0x193)])try{const _0x3c22f=await _0x1e4af7['uUPql'](readFile,_0x3e4841['authJsonPath'],_0x3fe15d(0x18c)),_0x3a44f3=JSON['parse'](_0x3c22f);await _0x1e4af7[_0x3fe15d(0x149)](uploadCloudProfileSession,_0x3e4841[_0x3fe15d(0x182)],_0x3a44f3),_0x28b1c0=!![];}catch(_0x827adb){_0x1b57f6=!![],console[_0x3fe15d(0x17b)](_0x3fe15d(0x15d)+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x176)+(_0x827adb instanceof Error?_0x827adb[_0x3fe15d(0x17f)]:_0x1e4af7[_0x3fe15d(0x174)](String,_0x827adb))+').\x20Cloud\x20profile\x20created;\x20local\x20auth.json\x20left\x20in\x20place.');}let _0x23c8b0=![];if(_0x3b58a2['saveCreds']){const _0x2afc00=process[_0x3fe15d(0x150)]['RANGER_TEST_USERNAME'],_0x2d0bde=process[_0x3fe15d(0x150)]['RANGER_TEST_PASSWORD'];if(_0x1e4af7['qVarW'](_0x2afc00,_0x2d0bde))try{await saveCloudProfileCredentials(_0x3e4841['profileName'],_0x2afc00,_0x2d0bde),_0x23c8b0=!![];}catch(_0x5cd6d4){console['log']('\x20\x20⚠\x20'+_0x3e4841['profileName']+_0x3fe15d(0x194)+(_0x1e4af7[_0x3fe15d(0x179)](_0x5cd6d4,Error)?_0x5cd6d4[_0x3fe15d(0x17f)]:String(_0x5cd6d4))+').');}else console['log']('\x20\x20⚠\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x156));}if(_0x3e4841[_0x3fe15d(0x16c)]&&_0x3e4841[_0x3fe15d(0x157)])try{_0x1e4af7['IMrDU'](setProfileOverride,process['cwd'](),_0x3e4841['profileName'],_0x1e4af7['GYUhV'],_0x3e4841[_0x3fe15d(0x157)]);}catch(_0x48f5ad){console['log'](_0x3fe15d(0x15d)+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x15b)+(_0x1e4af7['DIxuT'](_0x48f5ad,Error)?_0x48f5ad[_0x3fe15d(0x17f)]:String(_0x48f5ad))+').');}const _0x5dd4cf=getEnvDir(_0x3e4841['profileName']);if(!_0x1b57f6&&existsSync(_0x5dd4cf))try{await rm(_0x5dd4cf,{'recursive':!![],'force':!![]}),_0xc18db3++;}catch(_0x1c348a){console[_0x3fe15d(0x17b)](_0x3fe15d(0x15d)+_0x3e4841['profileName']+':\x20failed\x20to\x20delete\x20local\x20dir\x20'+_0x5dd4cf+'\x20('+(_0x1c348a instanceof Error?_0x1c348a[_0x3fe15d(0x17f)]:String(_0x1c348a))+').');}_0x399593++,_0x3e4841[_0x3fe15d(0x16c)]&&_0x3e4841[_0x3fe15d(0x157)]?console[_0x3fe15d(0x17b)]('\x20\x20✓\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x177)+_0x3e4841['envKey']+_0x3fe15d(0x18a)):console[_0x3fe15d(0x17b)]('\x20\x20✓\x20'+_0x3e4841[_0x3fe15d(0x182)]+_0x3fe15d(0x177)+_0x3e4841[_0x3fe15d(0x186)]+')'),_0x213f41?.[_0x3fe15d(0x185)]('profile.migrate.succeeded',{'profileName':_0x3e4841[_0x3fe15d(0x182)],'envKey':_0x3e4841['envKey'],'wasGitTracked':_0x447cf2,'hadSession':_0x28b1c0,'savedCreds':_0x23c8b0});}catch(_0x2241ee){_0x267560++,console['log']('\x20\x20✗\x20'+_0x3e4841['profileName']+'\x20failed:\x20'+(_0x1e4af7['fgJAT'](_0x2241ee,Error)?_0x2241ee[_0x3fe15d(0x17f)]:String(_0x2241ee))),_0x213f41?.[_0x3fe15d(0x185)](_0x1e4af7['MEYEu'],{'profileName':_0x3e4841['profileName'],'error':_0x1e4af7['fgJAT'](_0x2241ee,Error)?_0x2241ee['message']:_0x1e4af7[_0x3fe15d(0x180)](String,_0x2241ee)});}}const _0x349a9d=[];if(_0x1e4af7['rBRuc'](_0x399593,0x0))_0x349a9d[_0x3fe15d(0x152)](_0x399593+_0x3fe15d(0x14e)+(_0x399593===0x1?'':'s')+_0x3fe15d(0x16b));if(_0x1e4af7['qQnCI'](_0xc18db3,0x0))_0x349a9d[_0x3fe15d(0x152)](_0x3fe15d(0x173)+_0xc18db3+_0x3fe15d(0x187)+(_0xc18db3===0x1?'y':_0x1e4af7[_0x3fe15d(0x172)]));if(_0x48c993>0x0)_0x349a9d['push'](_0x48c993+_0x3fe15d(0x16e));if(_0x267560>0x0)_0x349a9d[_0x3fe15d(0x152)](_0x267560+_0x3fe15d(0x171));if(_0x1e4af7['rBRuc'](_0x349a9d[_0x3fe15d(0x15f)],0x0))console[_0x3fe15d(0x17b)](_0x1e4af7[_0x3fe15d(0x181)](_0x349a9d[_0x3fe15d(0x169)]('.\x20'),'.'));}
@@ -1 +1 @@
1
- (function(_0x566b11,_0x172bcb){const _0x5ae464=_0x70b3,_0xae7aac=_0x566b11();while(!![]){try{const _0xfe97c0=parseInt(_0x5ae464(0x189))/0x1+-parseInt(_0x5ae464(0x165))/0x2+-parseInt(_0x5ae464(0x18d))/0x3+-parseInt(_0x5ae464(0x18b))/0x4*(parseInt(_0x5ae464(0x188))/0x5)+parseInt(_0x5ae464(0x17a))/0x6+parseInt(_0x5ae464(0x175))/0x7+-parseInt(_0x5ae464(0x178))/0x8*(-parseInt(_0x5ae464(0x185))/0x9);if(_0xfe97c0===_0x172bcb)break;else _0xae7aac['push'](_0xae7aac['shift']());}catch(_0x1adfbf){_0xae7aac['push'](_0xae7aac['shift']());}}}(_0x7e5a,0x46792));import{join}from'path';import{existsSync}from'fs';import _0x33a0f2 from'inquirer';import{skillup}from'../skillup.js';function _0x70b3(_0xb504d8,_0x304f9f){_0xb504d8=_0xb504d8-0x161;const _0x7e5a87=_0x7e5a();let _0x70b356=_0x7e5a87[_0xb504d8];return _0x70b356;}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x7e5a(){const _0xa2d24d=['334737MRwsBU','cLQSo','CWbeG','jJSKb','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','PCAiI','260684vsKWNd','ZoQQK','ranger','MOwOF','WZxPL','pPxNW','LSFDA','list','error','wantsSkillup','push','plugin','bvbzT','VjQnJ','HbpLH','user','60018MtxVNH','confirm','XXZAq','27592hnIjkW','log','2515392tmzCGy','\x0aYou\x20can\x20install\x20manually\x20with:','\x20level)...\x0a','MUjOm','kggyc','NrNRt','--scope','output','✓\x20Ranger\x20skills\x20already\x20installed','oYHLI','success','261JkUhGd','HFOpk','✓\x20Claude\x20Code\x20plugin\x20enabled','594140yRZiaH','478064GbTtmo','seToj','16YtjAAp','project'];_0x7e5a=function(){return _0xa2d24d;};return _0x7e5a();}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0xc0cabf){const _0x69a12f=_0x70b3,_0x2296fc={'MUjOm':function(_0x14e0c3,_0x27b8b3){return _0x14e0c3(_0x27b8b3);},'LSFDA':'ranger@trailhead','oYHLI':_0x69a12f(0x163),'MOwOF':function(_0x550877,_0xa11fc3){return _0x550877(_0xa11fc3);},'XXZAq':function(_0x4bc7c6,_0x4c9a79,_0x31f0d5){return _0x4bc7c6(_0x4c9a79,_0x31f0d5);},'kggyc':'.claude','ZoQQK':'pluginScope','mZzwX':'Where\x20should\x20the\x20plugin\x20be\x20installed?','rHZVj':'User\x20(available\x20in\x20all\x20your\x20projects)','AOkaz':_0x69a12f(0x174),'PCAiI':function(_0x2ba0ab,_0x495d3a){return _0x2ba0ab(_0x495d3a);},'CWbeG':'✓\x20Marketplace\x20already\x20added','HFOpk':'marketplace','bvbzT':'add','Bsxqd':'ranger-testing/trailhead','VjQnJ':'\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','IGAzr':_0x69a12f(0x180),'NrNRt':function(_0x34d3e1,_0x46753e){return _0x34d3e1===_0x46753e;},'WZxPL':_0x69a12f(0x18c),'IoPHQ':_0x69a12f(0x187)},_0x4180d7=await _0x2296fc[_0x69a12f(0x17d)](isPluginInstalled,_0x2296fc['LSFDA']);if(_0x4180d7)return console['log'](_0x2296fc[_0x69a12f(0x183)]),![];const _0x2cbe8a=_0x2296fc[_0x69a12f(0x168)](existsSync,_0x2296fc[_0x69a12f(0x177)](join,getProjectRoot(),_0x2296fc[_0x69a12f(0x17e)]));let _0x5b749d;if(_0xc0cabf)_0x5b749d=_0xc0cabf;else{if(_0x2cbe8a)_0x5b749d=_0x69a12f(0x18c);else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x2a7f3=await _0x33a0f2['prompt']([{'type':_0x69a12f(0x16c),'name':_0x2296fc[_0x69a12f(0x166)],'message':_0x2296fc['mZzwX'],'choices':[{'name':_0x2296fc['rHZVj'],'value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':'project'}],'default':_0x2296fc['AOkaz']}]);_0x5b749d=_0x2a7f3['pluginScope'];}}console['log']('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x5b749d+_0x69a12f(0x17c));const _0x5edf90=await _0x2296fc[_0x69a12f(0x164)](isMarketplaceAdded,'trailhead');let _0x4954b2=_0x5edf90;if(_0x5edf90)console['log'](_0x2296fc[_0x69a12f(0x161)]);else{const _0x1879a3=await runClaudeCommand([_0x69a12f(0x170),_0x2296fc[_0x69a12f(0x186)],_0x2296fc[_0x69a12f(0x171)],_0x2296fc['Bsxqd']]);!_0x1879a3['success']?(console[_0x69a12f(0x16d)]('❌\x20Failed\x20to\x20add\x20marketplace:',_0x1879a3[_0x69a12f(0x16d)]),console['log'](_0x69a12f(0x17b)),console['log'](_0x2296fc[_0x69a12f(0x172)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b749d)):_0x4954b2=!![];}if(_0x4954b2){const _0x2c9098=await runClaudeCommand(['plugin','install',_0x2296fc[_0x69a12f(0x16b)],_0x2296fc['IGAzr'],_0x5b749d]);if(!_0x2c9098[_0x69a12f(0x184)])console[_0x69a12f(0x16d)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x2c9098[_0x69a12f(0x16d)]),console[_0x69a12f(0x179)](_0x69a12f(0x17b)),console[_0x69a12f(0x179)]('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x5b749d);else{console['log']('✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully');const _0x4672e9=[_0x69a12f(0x170),'enable','ranger@trailhead'];_0x2296fc[_0x69a12f(0x17f)](_0x5b749d,_0x2296fc[_0x69a12f(0x169)])&&_0x4672e9[_0x69a12f(0x16f)]('--scope',_0x2296fc['WZxPL']);const _0x335be9=await _0x2296fc[_0x69a12f(0x177)](runClaudeCommand,_0x4672e9,{'captureOutput':!![]}),_0x1fc6cc=_0x335be9[_0x69a12f(0x181)]?.['includes']('already\x20enabled');!_0x335be9['success']&&!_0x1fc6cc?console['error']('⚠\x20Failed\x20to\x20enable\x20plugin:',_0x335be9['error']):console[_0x69a12f(0x179)](_0x2296fc['IoPHQ']);}}return!![];}export async function ensureClaudeSkills(_0x32ffaa){const _0x2b17b3=_0x70b3,_0x122518={'cLQSo':function(_0x4ebb86,_0x54fe2c){return _0x4ebb86(_0x54fe2c);},'HbpLH':function(_0x331718,_0x25738e,_0x557503,_0x48f8f4){return _0x331718(_0x25738e,_0x557503,_0x48f8f4);},'alRYd':'SKILL.md','jJSKb':function(_0x2129ef,_0xd7c614){return _0x2129ef(_0xd7c614);},'seToj':'project','oqiZB':_0x2b17b3(0x167),'HNSJC':_0x2b17b3(0x182),'pPxNW':_0x2b17b3(0x16e)},_0x3d9c98=_0x122518[_0x2b17b3(0x18e)](existsSync,_0x122518[_0x2b17b3(0x173)](join,_0x122518['cLQSo'](getSkillsDir,'user'),'ranger',_0x122518['alRYd'])),_0x4b09e8=_0x122518['cLQSo'](existsSync,join(_0x122518['jJSKb'](getSkillsDir,_0x122518[_0x2b17b3(0x18a)]),_0x122518['oqiZB'],_0x122518['alRYd']));if(_0x3d9c98||_0x4b09e8)return console[_0x2b17b3(0x179)](_0x122518['HNSJC']),![];const _0x485872=_0x122518[_0x2b17b3(0x162)](existsSync,join(getProjectRoot(),'.claude'));let _0x2bbbb4=!![];if(_0x32ffaa)await skillup({'autoInstall':_0x32ffaa,'suppressUsage':!![]});else{if(_0x485872)await skillup({'autoInstall':_0x122518['seToj'],'suppressUsage':!![]});else{const _0x3c4535=await _0x33a0f2['prompt']([{'type':_0x2b17b3(0x176),'name':_0x122518[_0x2b17b3(0x16a)],'message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x2bbbb4=_0x3c4535['wantsSkillup'],_0x2bbbb4&&await skillup({'suppressUsage':!![]});}}return _0x2bbbb4;}
1
+ function _0x1e13(){const _0x3572ab=['48KwzeZg','project','ranger-testing/trailhead','KcEGn','error','NhHFG','AvLvX','28430325RWWAOx','--scope','confirm','aUSIV','\x0a📦\x20Claude\x20Code\x20Plugin\x0a','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','fXCpz','3247893vSHcCR','install','2503632NYZnOf','87879QuFimn','kSXwB','uSiNa','351232aIvZBV','✓\x20Marketplace\x20already\x20added','SKILL.md','marketplace','TeIal','HTMjC','NQxcq','gxoXq','ejByJ','nDrSc','✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','hPmbi','Wosfm','log','7WMAJRJ','ranger','❌\x20Failed\x20to\x20add\x20marketplace:','add','5HtTinm','XDGWG','684461CcSlOx','1407878Yokvyt','prompt','.claude','20idGoOX','heqUg','trailhead','\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'];_0x1e13=function(){return _0x3572ab;};return _0x1e13();}(function(_0x5475c4,_0xc520d5){const _0x29ca44=_0x1a76,_0x308098=_0x5475c4();while(!![]){try{const _0x3f155a=-parseInt(_0x29ca44(0x1ce))/0x1+-parseInt(_0x29ca44(0x1cf))/0x2+parseInt(_0x29ca44(0x1e7))/0x3*(parseInt(_0x29ca44(0x1d6))/0x4)+-parseInt(_0x29ca44(0x1fc))/0x5*(parseInt(_0x29ca44(0x1e6))/0x6)+-parseInt(_0x29ca44(0x1f8))/0x7*(-parseInt(_0x29ca44(0x1ea))/0x8)+-parseInt(_0x29ca44(0x1e4))/0x9*(parseInt(_0x29ca44(0x1d2))/0xa)+parseInt(_0x29ca44(0x1dd))/0xb;if(_0x3f155a===_0xc520d5)break;else _0x308098['push'](_0x308098['shift']());}catch(_0x30f852){_0x308098['push'](_0x308098['shift']());}}}(_0x1e13,0x6e7d9));import{join}from'path';import{existsSync}from'fs';import _0x493ddb from'inquirer';function _0x1a76(_0x1baaf7,_0x4ebdd2){_0x1baaf7=_0x1baaf7-0x1cd;const _0x1e13af=_0x1e13();let _0x1a765c=_0x1e13af[_0x1baaf7];return _0x1a765c;}import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x2ae0ad){const _0x3da89a=_0x1a76,_0x33fdfb={'heqUg':'ranger@trailhead','ksExi':function(_0xc827c7,_0x40f549){return _0xc827c7(_0x40f549);},'NMQFi':function(_0x289aa4,_0x3e371b,_0x1f5bb1){return _0x289aa4(_0x3e371b,_0x1f5bb1);},'ALgPx':_0x3da89a(0x1d1),'Bntrf':'User\x20(available\x20in\x20all\x20your\x20projects)','uSiNa':'user','CzPNL':_0x3da89a(0x1d7),'HTMjC':_0x3da89a(0x1eb),'OyJAo':function(_0x20edc0,_0x2017a8){return _0x20edc0(_0x2017a8);},'aUSIV':_0x3da89a(0x1fb),'Wosfm':_0x3da89a(0x1d8),'ejByJ':'\x0aYou\x20can\x20install\x20manually\x20with:','TeIal':_0x3da89a(0x1d5),'hPmbi':function(_0x2bac0,_0x123ad1){return _0x2bac0(_0x123ad1);},'AvLvX':'plugin','kSXwB':_0x3da89a(0x1f4),'gxoXq':'enable','nDrSc':function(_0x17c63c,_0x3db257,_0x30c30a){return _0x17c63c(_0x3db257,_0x30c30a);},'NQNYA':'⚠\x20Failed\x20to\x20enable\x20plugin:'},_0x587e3b=await isPluginInstalled(_0x33fdfb[_0x3da89a(0x1d3)]);if(_0x587e3b)return console['log']('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x47db5e=_0x33fdfb['ksExi'](existsSync,_0x33fdfb['NMQFi'](join,getProjectRoot(),_0x33fdfb['ALgPx']));let _0x159ac0;if(_0x2ae0ad)_0x159ac0=_0x2ae0ad;else{if(_0x47db5e)_0x159ac0=_0x3da89a(0x1d7);else{console[_0x3da89a(0x1f7)](_0x3da89a(0x1e1));const _0x1d0fa9=await _0x493ddb[_0x3da89a(0x1d0)]([{'type':'list','name':'pluginScope','message':'Where\x20should\x20the\x20plugin\x20be\x20installed?','choices':[{'name':_0x33fdfb['Bntrf'],'value':_0x33fdfb['uSiNa']},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x33fdfb['CzPNL']}],'default':_0x33fdfb[_0x3da89a(0x1e9)]}]);_0x159ac0=_0x1d0fa9['pluginScope'];}}console[_0x3da89a(0x1f7)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x159ac0+'\x20level)...\x0a');const _0x4a06ac=await isMarketplaceAdded(_0x3da89a(0x1d4));let _0x58bcbc=_0x4a06ac;if(_0x4a06ac)console['log'](_0x33fdfb[_0x3da89a(0x1ef)]);else{const _0x1a4faf=await _0x33fdfb['OyJAo'](runClaudeCommand,['plugin',_0x3da89a(0x1ed),_0x33fdfb[_0x3da89a(0x1e0)],_0x33fdfb[_0x3da89a(0x1f6)]]);!_0x1a4faf['success']?(console[_0x3da89a(0x1da)](_0x3da89a(0x1fa),_0x1a4faf['error']),console[_0x3da89a(0x1f7)](_0x33fdfb['ejByJ']),console[_0x3da89a(0x1f7)](_0x33fdfb[_0x3da89a(0x1ee)]),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x159ac0)):_0x58bcbc=!![];}if(_0x58bcbc){const _0x3bd9a9=await _0x33fdfb[_0x3da89a(0x1f5)](runClaudeCommand,[_0x33fdfb['AvLvX'],_0x3da89a(0x1e5),'ranger@trailhead',_0x3da89a(0x1de),_0x159ac0]);if(!_0x3bd9a9['success'])console[_0x3da89a(0x1da)]('❌\x20Failed\x20to\x20install\x20plugin:',_0x3bd9a9[_0x3da89a(0x1da)]),console[_0x3da89a(0x1f7)](_0x33fdfb[_0x3da89a(0x1f2)]),console['log'](_0x3da89a(0x1e2)+_0x159ac0);else{console['log'](_0x33fdfb[_0x3da89a(0x1e8)]);const _0x40d66a=[_0x33fdfb[_0x3da89a(0x1dc)],_0x33fdfb[_0x3da89a(0x1f1)],'ranger@trailhead'];_0x159ac0===_0x33fdfb['CzPNL']&&_0x40d66a['push'](_0x3da89a(0x1de),_0x33fdfb['CzPNL']);const _0x477594=await _0x33fdfb[_0x3da89a(0x1f3)](runClaudeCommand,_0x40d66a,{'captureOutput':!![]}),_0x50c988=_0x477594['output']?.['includes']('already\x20enabled');!_0x477594['success']&&!_0x50c988?console['error'](_0x33fdfb['NQNYA'],_0x477594[_0x3da89a(0x1da)]):console[_0x3da89a(0x1f7)]('✓\x20Claude\x20Code\x20plugin\x20enabled');}}return!![];}export async function ensureClaudeSkills(_0x13f6a2){const _0x256702=_0x1a76,_0x1b99b7={'KcEGn':function(_0x3b510d,_0x1f7ec7){return _0x3b510d(_0x1f7ec7);},'XDGWG':function(_0x4e1ffa,_0x896969,_0x2316a5,_0x252465){return _0x4e1ffa(_0x896969,_0x2316a5,_0x252465);},'NQxcq':_0x256702(0x1f9),'NhHFG':_0x256702(0x1ec),'SKeCI':function(_0x466d7b,_0x1f43f8,_0xe61c2c,_0x4d7db8){return _0x466d7b(_0x1f43f8,_0xe61c2c,_0x4d7db8);},'fXCpz':_0x256702(0x1d7),'AulcR':_0x256702(0x1df)},_0x47d724=_0x1b99b7['KcEGn'](existsSync,_0x1b99b7[_0x256702(0x1cd)](join,getSkillsDir('user'),_0x1b99b7[_0x256702(0x1f0)],_0x1b99b7[_0x256702(0x1db)])),_0x16bed1=existsSync(_0x1b99b7['SKeCI'](join,_0x1b99b7['KcEGn'](getSkillsDir,_0x1b99b7[_0x256702(0x1e3)]),_0x256702(0x1f9),'SKILL.md'));if(_0x47d724||_0x16bed1)return console['log']('✓\x20Ranger\x20skills\x20already\x20installed'),![];const _0x1af963=existsSync(join(getProjectRoot(),'.claude'));let _0x4bcb02=!![];if(_0x13f6a2)await skillup({'autoInstall':_0x13f6a2,'suppressUsage':!![]});else{if(_0x1af963)await _0x1b99b7[_0x256702(0x1d9)](skillup,{'autoInstall':_0x1b99b7['fXCpz'],'suppressUsage':!![]});else{const _0x5870a7=await _0x493ddb['prompt']([{'type':_0x1b99b7['AulcR'],'name':'wantsSkillup','message':'Would\x20you\x20like\x20to\x20install\x20skills?','default':!![]}]);_0x4bcb02=_0x5870a7['wantsSkillup'],_0x4bcb02&&await skillup({'suppressUsage':!![]});}}return _0x4bcb02;}
@@ -1 +1 @@
1
- (function(_0x3fbd98,_0x24ab2e){const _0x5c649e=_0x544c,_0x85e0e1=_0x3fbd98();while(!![]){try{const _0x143ce6=-parseInt(_0x5c649e(0x1e3))/0x1*(-parseInt(_0x5c649e(0x1f6))/0x2)+parseInt(_0x5c649e(0x1f1))/0x3*(-parseInt(_0x5c649e(0x1e2))/0x4)+parseInt(_0x5c649e(0x1ed))/0x5+-parseInt(_0x5c649e(0x1f0))/0x6*(-parseInt(_0x5c649e(0x1f7))/0x7)+-parseInt(_0x5c649e(0x1ee))/0x8*(parseInt(_0x5c649e(0x1f5))/0x9)+-parseInt(_0x5c649e(0x1f2))/0xa+parseInt(_0x5c649e(0x1e6))/0xb*(parseInt(_0x5c649e(0x1fa))/0xc);if(_0x143ce6===_0x24ab2e)break;else _0x85e0e1['push'](_0x85e0e1['shift']());}catch(_0x41787b){_0x85e0e1['push'](_0x85e0e1['shift']());}}}(_0x5e4f,0x6cfeb));function _0x544c(_0x3e48b3,_0x2f6dd4){_0x3e48b3=_0x3e48b3-0x1df;const _0x5e4f85=_0x5e4f();let _0x544cab=_0x5e4f85[_0x3e48b3];return _0x544cab;}import{join}from'path';function _0x5e4f(){const _0x365ba6=['XmWMb','$schema','187wDxzoA','Project\x20(shared\x20with\x20team\x20via\x20git)','user','plugin','https://opencode.ai/config.json','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','opencode.json','204365PXEhgo','6808cTrJxD','✓\x20OpenCode\x20plugin\x20already\x20configured','12jASuRM','6654eUpEKu','6161940rwvREU','log','quJzC','1278riHRKX','41462VYPIkH','325913cuhWfd','oNDmr','utf-8','785676mvSDwN','\x0a📦\x20OpenCode\x20Plugin\x0a','User\x20(available\x20in\x20all\x20your\x20projects)','Yoibq','project','Failed\x20to\x20read\x20opencode.json','nOGFG','includes','152aIXiAP','1GRioYP'];_0x5e4f=function(){return _0x365ba6;};return _0x5e4f();}import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x54c18c from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x56955b){const _0x37a1e8=_0x544c,_0x4f961e={'FHDCV':function(_0x555067,_0x3c1334){return _0x555067(_0x3c1334);},'oNDmr':function(_0x1411fa,_0x58620f,_0x4d1696){return _0x1411fa(_0x58620f,_0x4d1696);},'nOGFG':function(_0x12b382,_0x58d840){return _0x12b382(_0x58d840);},'XmWMb':_0x37a1e8(0x1fe),'pmqNb':'pluginScope','QFUMZ':'Where\x20should\x20the\x20plugin\x20be\x20installed?','JembB':_0x37a1e8(0x1fc),'Hvbsu':function(_0xe12c4a,_0x10f111,_0x1ee0e5){return _0xe12c4a(_0x10f111,_0x1ee0e5);},'quJzC':function(_0x173a13,_0x209941){return _0x173a13(_0x209941);},'Yoibq':'opencode.json','MOyfR':'@ranger-testing/opencode-plugin','tilIY':_0x37a1e8(0x1ea),'okanP':_0x37a1e8(0x1f9),'Gixza':_0x37a1e8(0x1df),'NKRzz':function(_0x51f618,_0x3c9997){return _0x51f618(_0x3c9997);},'qfEPY':'✓\x20OpenCode\x20plugin\x20configured'},_0x1dd310=_0x4f961e['FHDCV'](existsSync,_0x4f961e['oNDmr'](join,_0x4f961e[_0x37a1e8(0x1e0)](getOpencodeConfigDir,_0x4f961e[_0x37a1e8(0x1e4)]),_0x37a1e8(0x1ec)));let _0x3fd065;if(_0x56955b)_0x3fd065=_0x56955b;else{if(_0x1dd310)_0x3fd065='project';else{console['log'](_0x37a1e8(0x1fb));const _0x34726e=await _0x54c18c['prompt']([{'type':'list','name':_0x4f961e['pmqNb'],'message':_0x4f961e['QFUMZ'],'choices':[{'name':_0x4f961e['JembB'],'value':_0x37a1e8(0x1e8)},{'name':_0x37a1e8(0x1e7),'value':_0x4f961e['XmWMb']}],'default':'user'}]);_0x3fd065=_0x34726e['pluginScope'];}}const _0x2d352c=_0x4f961e['Hvbsu'](join,_0x4f961e[_0x37a1e8(0x1f4)](getOpencodeConfigDir,_0x3fd065),_0x4f961e[_0x37a1e8(0x1fd)]),_0x325cb9=_0x4f961e['MOyfR'],_0x43bbef=_0x4f961e['tilIY'];let _0x508ec9={};if(existsSync(_0x2d352c))try{const _0x37d12d=await readFile(_0x2d352c,_0x4f961e['okanP']);_0x508ec9=JSON['parse'](_0x37d12d);}catch(_0x550ec3){return console['error'](_0x37a1e8(0x1eb)),{'configured':![],'scope':_0x3fd065,'error':_0x4f961e['Gixza'],'details':_0x550ec3};}const _0x10f041=Array['isArray'](_0x508ec9['plugin'])?_0x508ec9[_0x37a1e8(0x1e9)]:[];if(_0x10f041[_0x37a1e8(0x1e1)](_0x325cb9))return console[_0x37a1e8(0x1f3)](_0x37a1e8(0x1ef)),{'configured':![],'scope':_0x3fd065};return _0x508ec9[_0x37a1e8(0x1e5)]=_0x508ec9[_0x37a1e8(0x1e5)]||_0x43bbef,_0x508ec9['plugin']=[..._0x10f041,_0x325cb9],await _0x4f961e[_0x37a1e8(0x1f8)](mkdir,_0x4f961e['NKRzz'](getOpencodeConfigDir,_0x3fd065),{'recursive':!![]}),await writeFile(_0x2d352c,JSON['stringify'](_0x508ec9,null,0x2)+'\x0a'),console['log'](_0x4f961e['qfEPY']),{'configured':!![],'scope':_0x3fd065};}
1
+ (function(_0x4bacaf,_0x5df4d1){const _0x39a1c9=_0x3921,_0x85d465=_0x4bacaf();while(!![]){try{const _0x42b2d4=-parseInt(_0x39a1c9(0x1e9))/0x1+-parseInt(_0x39a1c9(0x1d1))/0x2*(-parseInt(_0x39a1c9(0x1d8))/0x3)+parseInt(_0x39a1c9(0x1e1))/0x4*(parseInt(_0x39a1c9(0x1d9))/0x5)+-parseInt(_0x39a1c9(0x1df))/0x6+-parseInt(_0x39a1c9(0x1e5))/0x7+parseInt(_0x39a1c9(0x1d0))/0x8*(parseInt(_0x39a1c9(0x1db))/0x9)+parseInt(_0x39a1c9(0x1e3))/0xa;if(_0x42b2d4===_0x5df4d1)break;else _0x85d465['push'](_0x85d465['shift']());}catch(_0x2080cf){_0x85d465['push'](_0x85d465['shift']());}}}(_0x1a16,0xafc9e));function _0x3921(_0x5ce049,_0x40e635){_0x5ce049=_0x5ce049-0x1cf;const _0x1a1696=_0x1a16();let _0x3921c8=_0x1a1696[_0x5ce049];return _0x3921c8;}import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';import _0x3752b6 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x20ad2){const _0x2d12d1=_0x3921,_0x23b04f={'TxLdK':function(_0x3f63bd,_0x1ffb9b){return _0x3f63bd(_0x1ffb9b);},'GaEuc':function(_0x489ba0,_0x1c5197,_0x230c93){return _0x489ba0(_0x1c5197,_0x230c93);},'AtWge':_0x2d12d1(0x1ea),'bNBQr':'\x0a📦\x20OpenCode\x20Plugin\x0a','dgHyH':_0x2d12d1(0x1dc),'MIKIc':'Where\x20should\x20the\x20plugin\x20be\x20installed?','LImJQ':_0x2d12d1(0x1ec),'CxkEm':function(_0x2252bb,_0x12a073){return _0x2252bb(_0x12a073);},'IchRO':'https://opencode.ai/config.json','fDigz':'✓\x20OpenCode\x20plugin\x20already\x20configured','YUufr':function(_0x11b8b8,_0x1f6dac){return _0x11b8b8+_0x1f6dac;},'ExmKN':_0x2d12d1(0x1d4)},_0x4046b2=_0x23b04f[_0x2d12d1(0x1dd)](existsSync,_0x23b04f[_0x2d12d1(0x1cf)](join,_0x23b04f[_0x2d12d1(0x1dd)](getOpencodeConfigDir,_0x23b04f['AtWge']),'opencode.json'));let _0x3292ea;if(_0x20ad2)_0x3292ea=_0x20ad2;else{if(_0x4046b2)_0x3292ea=_0x23b04f[_0x2d12d1(0x1e4)];else{console['log'](_0x23b04f[_0x2d12d1(0x1e2)]);const _0x2aa85d=await _0x3752b6['prompt']([{'type':'list','name':_0x23b04f['dgHyH'],'message':_0x23b04f[_0x2d12d1(0x1de)],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':'user'},{'name':'Project\x20(shared\x20with\x20team\x20via\x20git)','value':_0x23b04f[_0x2d12d1(0x1e4)]}],'default':_0x23b04f['LImJQ']}]);_0x3292ea=_0x2aa85d[_0x2d12d1(0x1dc)];}}const _0x239609=join(_0x23b04f['CxkEm'](getOpencodeConfigDir,_0x3292ea),_0x2d12d1(0x1d5)),_0x51f7f0=_0x2d12d1(0x1e8),_0x2ce99f=_0x23b04f[_0x2d12d1(0x1ed)];let _0x13258d={};if(_0x23b04f[_0x2d12d1(0x1e0)](existsSync,_0x239609))try{const _0x402bc0=await readFile(_0x239609,'utf-8');_0x13258d=JSON['parse'](_0x402bc0);}catch(_0xddbde5){return console[_0x2d12d1(0x1d2)](_0x2d12d1(0x1e7)),{'configured':![],'scope':_0x3292ea,'error':'Failed\x20to\x20read\x20opencode.json','details':_0xddbde5};}const _0x5e15a1=Array['isArray'](_0x13258d['plugin'])?_0x13258d['plugin']:[];if(_0x5e15a1['includes'](_0x51f7f0))return console[_0x2d12d1(0x1da)](_0x23b04f[_0x2d12d1(0x1d7)]),{'configured':![],'scope':_0x3292ea};return _0x13258d['$schema']=_0x13258d[_0x2d12d1(0x1d6)]||_0x2ce99f,_0x13258d[_0x2d12d1(0x1e6)]=[..._0x5e15a1,_0x51f7f0],await _0x23b04f[_0x2d12d1(0x1cf)](mkdir,getOpencodeConfigDir(_0x3292ea),{'recursive':!![]}),await writeFile(_0x239609,_0x23b04f[_0x2d12d1(0x1eb)](JSON[_0x2d12d1(0x1d3)](_0x13258d,null,0x2),'\x0a')),console[_0x2d12d1(0x1da)](_0x23b04f['ExmKN']),{'configured':!![],'scope':_0x3292ea};}function _0x1a16(){const _0x5847ba=['CxkEm','4sdCYep','bNBQr','1624040PepCqb','AtWge','6983844KdbjDp','plugin','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','@ranger-testing/opencode-plugin','641694EZjgGN','project','YUufr','user','IchRO','GaEuc','395288IzWjMW','4RoStsX','error','stringify','✓\x20OpenCode\x20plugin\x20configured','opencode.json','$schema','fDigz','1883691iKPeee','5232095JAUnqm','log','99EwXgnt','pluginScope','TxLdK','MIKIc','3892332BjkUrb'];_0x1a16=function(){return _0x5847ba;};return _0x1a16();}
@@ -1 +1 @@
1
- (function(_0x4df791,_0x25803f){const _0x29c778=_0x1bf9,_0x5999c3=_0x4df791();while(!![]){try{const _0x35af39=parseInt(_0x29c778(0xfc))/0x1+-parseInt(_0x29c778(0x10b))/0x2*(-parseInt(_0x29c778(0x120))/0x3)+-parseInt(_0x29c778(0xf8))/0x4*(-parseInt(_0x29c778(0x134))/0x5)+-parseInt(_0x29c778(0x113))/0x6*(-parseInt(_0x29c778(0xf9))/0x7)+parseInt(_0x29c778(0x110))/0x8+-parseInt(_0x29c778(0xff))/0x9*(parseInt(_0x29c778(0x10d))/0xa)+-parseInt(_0x29c778(0x119))/0xb*(parseInt(_0x29c778(0x127))/0xc);if(_0x35af39===_0x25803f)break;else _0x5999c3['push'](_0x5999c3['shift']());}catch(_0x188f29){_0x5999c3['push'](_0x5999c3['shift']());}}}(_0x22a4,0x57aff));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';function _0x22a4(){const _0x33c480=['693621jTGEIe','length','FPhUa','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','isDirectory','ranger@trailhead','pkZsP','success','profile_activate','Failed\x20to\x20install\x20plugin:','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','sessions','32bBeAPI','map','30bDhXbn','BKezg','settings.json','4360528ldGjyC','QIufU','trackPhaseEnd','1761810MQYVeJ','oueph','AZjEz','Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22','EHagP','rWmbz','55JQdOiX','plugin','ranger-testing/trailhead','name','trackPhaseStart','\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','87507zggpQY','filter','Fnoya','zXcJK','message','path','HtdbT','4045740JRgwUK','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','MwXsm','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','--scope','hIles','skills','EhjiT','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','baseUrl','chromium','project','10585gfloMb','ldrxX','You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','MExJo','marketplace','log','dir_setup','profile','1172ccsxiV','7WocLvx','fLiYl','error','350413OlxPvH','wMZvL','OvfgI'];_0x22a4=function(){return _0x33c480;};return _0x22a4();}import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';async function findCiProfile(_0x56a9ab){const _0x24e463=_0x1bf9,_0x47e09d={'QLeVr':function(_0x26b9df){return _0x26b9df();},'HtdbT':function(_0x49e4d3,_0x280642,_0x540f3e){return _0x49e4d3(_0x280642,_0x540f3e);},'MExJo':function(_0x27a294,_0x43dc9b){return _0x27a294+_0x43dc9b;},'ldrxX':_0x24e463(0x130),'IimeM':function(_0x1edc04,_0x2695ee,_0x5f564a){return _0x1edc04(_0x2695ee,_0x5f564a);},'mPLLQ':function(_0x1f2e33,_0x262045){return _0x1f2e33===_0x262045;},'BKezg':'No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','xuAXm':function(_0x43a323,_0x4f381a){return _0x43a323===_0x4f381a;}},_0x46990c=_0x47e09d['QLeVr'](getRangerDir),_0x5e6e82=join(_0x46990c,'ci');if(_0x56a9ab){const _0x1ac09d=_0x47e09d[_0x24e463(0x126)](join,_0x5e6e82,_0x56a9ab);return{'name':_0x56a9ab,'path':_0x1ac09d};}if(!existsSync(_0x5e6e82))throw new Error(_0x47e09d[_0x24e463(0x137)](_0x24e463(0x11f),_0x47e09d['ldrxX']));const _0xa845a0=await _0x47e09d['IimeM'](readdir,_0x5e6e82,{'withFileTypes':!![]}),_0x2d42f3=_0xa845a0[_0x24e463(0x121)](_0x20df26=>_0x20df26[_0x24e463(0x103)]())[_0x24e463(0x10c)](_0x577753=>_0x577753['name']);if(_0x47e09d['mPLLQ'](_0x2d42f3[_0x24e463(0x100)],0x0))throw new Error(_0x47e09d[_0x24e463(0x10e)]+_0x47e09d[_0x24e463(0x135)]);if(_0x47e09d['xuAXm'](_0x2d42f3['length'],0x1)){const _0x2e394c=_0x2d42f3[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x2e394c),{'name':_0x2e394c,'path':join(_0x5e6e82,_0x2e394c)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x2d42f3['join'](',\x20')+_0x24e463(0x128));}function _0x1bf9(_0x4a4c57,_0x6f1644){_0x4a4c57=_0x4a4c57-0xf4;const _0x22a4e1=_0x22a4();let _0x1bf96c=_0x22a4e1[_0x4a4c57];return _0x1bf96c;}async function installPluginNonInteractive(){const _0x2e0ed5=_0x1bf9,_0x3e5716={'xGcHA':'✓\x20Claude\x20Code\x20plugin\x20already\x20installed','OvfgI':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','pkZsP':function(_0x5638e4,_0x5b51b1){return _0x5638e4(_0x5b51b1);},'fLiYl':'trailhead','NSsOm':'add','EhjiT':'Failed\x20to\x20add\x20marketplace:','RQJHe':_0x2e0ed5(0x136),'eLsWT':_0x2e0ed5(0x104),'lFcEo':_0x2e0ed5(0x12c),'MwXsm':_0x2e0ed5(0x133),'bhYmn':_0x2e0ed5(0x12b),'zXcJK':'✓\x20Claude\x20Code\x20plugin\x20installed'},_0x38025a=await isPluginInstalled('ranger@trailhead');if(_0x38025a)return console[_0x2e0ed5(0xf5)](_0x3e5716['xGcHA']),![];console['log'](_0x3e5716[_0x2e0ed5(0xfe)]);const _0x2cf9f3=await _0x3e5716[_0x2e0ed5(0x105)](isMarketplaceAdded,_0x3e5716[_0x2e0ed5(0xfa)]);let _0x3e7a46=_0x2cf9f3;if(_0x2cf9f3)console['log']('✓\x20Marketplace\x20already\x20added');else{const _0x41234e=await runClaudeCommand(['plugin',_0x2e0ed5(0xf4),_0x3e5716['NSsOm'],_0x2e0ed5(0x11b)]);!_0x41234e[_0x2e0ed5(0x106)]?(console['error'](_0x3e5716[_0x2e0ed5(0x12f)],_0x41234e['error']),console['log'](_0x3e5716['RQJHe'])):_0x3e7a46=!![];}if(_0x3e7a46){const _0x58f918=await runClaudeCommand(['plugin','install',_0x3e5716['eLsWT'],_0x3e5716['lFcEo'],_0x3e5716[_0x2e0ed5(0x12a)]]);!_0x58f918[_0x2e0ed5(0x106)]?(console[_0x2e0ed5(0xfb)](_0x2e0ed5(0x108),_0x58f918['error']),console['log'](_0x3e5716['bhYmn'])):console['log'](_0x3e5716[_0x2e0ed5(0x123)]);}return!![];}export async function setupCi(_0x52cdd4,_0x2fe642,_0x25d122){const _0xd6331b=_0x1bf9,_0x327424={'QIufU':'auth','hIles':function(_0xab8c2c,_0xb30abd){return _0xab8c2c(_0xb30abd);},'Fnoya':function(_0x1a8eac,_0x1ef330,_0x243ae6){return _0x1a8eac(_0x1ef330,_0x243ae6);},'Sbtjn':_0xd6331b(0x10a),'YqjXD':_0xd6331b(0xf6),'ybTgB':function(_0x53545e){return _0x53545e();},'EHagP':function(_0x433481,_0x2c5c3b,_0xd9b37f){return _0x433481(_0x2c5c3b,_0xd9b37f);},'darUW':_0xd6331b(0x10f),'kFkJK':function(_0x24f2ca,_0x220f7d){return _0x24f2ca(_0x220f7d);},'FPhUa':'No\x20API\x20token\x20available\x20for\x20decryption','rWmbz':_0xd6331b(0x109),'SPLqz':_0xd6331b(0x11e),'wMZvL':_0xd6331b(0x11a),'AZjEz':_0xd6331b(0x133),'rtrAm':_0xd6331b(0x12e),'oueph':_0xd6331b(0x102)};console['log'](_0xd6331b(0x129)),_0x25d122?.[_0xd6331b(0x11d)](_0x327424[_0xd6331b(0x111)]),await _0x327424['hIles'](authenticate,_0x52cdd4),_0x25d122?.['trackPhaseEnd'](_0x327424[_0xd6331b(0x111)]),_0x25d122?.[_0xd6331b(0x11d)](_0xd6331b(0xf6));const {path:_0x4c5b77,installed:_0x470fa7}=await ensureRangerDir();await writeRangerGitignore(_0x4c5b77);const _0x39579f=_0x327424[_0xd6331b(0x122)](join,_0x4c5b77,_0x327424['Sbtjn']);!_0x327424[_0xd6331b(0x12d)](existsSync,_0x39579f)&&await mkdir(_0x39579f,{'recursive':!![]});_0x25d122?.['trackPhaseEnd'](_0x327424['YqjXD'],{'installed':_0x470fa7}),_0x25d122?.['trackPhaseStart']('chromium');let _0x49bf00=![];_0x2fe642?.['skipChromium']?console['log']('✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)'):_0x49bf00=await _0x327424['ybTgB'](ensureChromium);_0x25d122?.[_0xd6331b(0x112)](_0xd6331b(0x132),{'installed':_0x49bf00,'skipped':!!_0x2fe642?.['skipChromium']}),_0x25d122?.['trackPhaseStart'](_0xd6331b(0x107));const _0x5cac05=await findCiProfile(_0x2fe642?.[_0xd6331b(0xf7)]);let _0x3485e9=![];_0x2fe642?.['baseUrl']&&(await _0x327424[_0xd6331b(0x117)](mkdir,_0x5cac05['path'],{'recursive':!![]}),await _0x327424[_0xd6331b(0x117)](saveSettings,_0x5cac05['name'],{'baseUrl':_0x2fe642[_0xd6331b(0x131)],'headless':!![]}),console[_0xd6331b(0xf5)]('✓\x20Created\x20profile\x20settings:\x20baseUrl='+_0x2fe642[_0xd6331b(0x131)]),_0x3485e9=!![]);const _0x1e82de=_0x327424['Fnoya'](join,_0x5cac05[_0xd6331b(0x125)],_0x327424['darUW']);if(!_0x327424['kFkJK'](existsSync,_0x1e82de)&&!_0x3485e9)throw new Error('CI\x20profile\x20\x22'+_0x5cac05['name']+'\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.');const _0x515a85=join(_0x5cac05[_0xd6331b(0x125)],'auth.json'),_0x54efb4=join(_0x5cac05[_0xd6331b(0x125)],'auth.json.enc'),_0x551757=existsSync(_0x515a85),_0x31cb3e=existsSync(_0x54efb4);if(_0x31cb3e)try{const _0x36ed20=await getToken();if(!_0x36ed20)throw new Error(_0x327424[_0xd6331b(0x101)]);const _0x3f1801=await readFile(_0x54efb4);decrypt(_0x3f1801,_0x36ed20),console['log'](_0x327424[_0xd6331b(0x118)]);}catch(_0x435de3){const _0x2e09c7=_0x435de3 instanceof Error?_0x435de3[_0xd6331b(0x124)]:_0x327424['kFkJK'](String,_0x435de3);throw new Error(_0xd6331b(0x116)+_0x5cac05['name']+'\x22:\x20'+_0x2e09c7);}else _0x551757?console['log']('✓\x20Auth\x20state\x20found'):console[_0xd6331b(0xf5)](_0x327424['SPLqz']);await writeActiveProfileName(_0x5cac05[_0xd6331b(0x11c)]),console[_0xd6331b(0xf5)]('✓\x20Active\x20profile:\x20'+_0x5cac05[_0xd6331b(0x11c)]),_0x25d122?.['trackPhaseEnd']('profile_activate',{'profileName':_0x5cac05[_0xd6331b(0x11c)],'hasAuth':_0x551757,'hasEncryptedAuth':_0x31cb3e,'createdSettings':_0x3485e9}),_0x25d122?.['trackPhaseStart'](_0x327424[_0xd6331b(0xfd)]);const _0x22c2bb=await installPluginNonInteractive();_0x25d122?.['trackPhaseEnd'](_0xd6331b(0x11a),{'installed':_0x22c2bb}),_0x25d122?.[_0xd6331b(0x11d)](_0xd6331b(0x12e)),await skillup({'autoInstall':_0x327424[_0xd6331b(0x115)]}),_0x25d122?.['trackPhaseEnd'](_0x327424['rtrAm']),console[_0xd6331b(0xf5)](_0x327424[_0xd6331b(0x114)]);}
1
+ function _0x5d46(){const _0x266669=['You\x20can\x20install\x20manually:\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20project','project','name','VGUAT','auth','GuusU','dir_setup','Failed\x20to\x20install\x20plugin:','ranger-testing/trailhead','1545752EomiPM','9zvxPkd','PyNkZ','log','OeShw','✓\x20Active\x20profile:\x20','AZJct','Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.','path','.\x20Use\x20--profile\x20to\x20specify\x20which\x20one.','9457vBESXg','UQyXD','--scope','xlhkY','QhOSq','1194XbXkeJ','✓\x20Skipping\x20Chromium\x20check\x20(--skip-chromium)','rSpJL','yyHPY','error','OpVhf','FYGMe','Failed\x20to\x20add\x20marketplace:','✓\x20Claude\x20Code\x20plugin\x20already\x20installed','idTFC','561937sNBIiI','SSODK','profile_activate','filter','\x22:\x20','✓\x20Created\x20profile\x20settings:\x20baseUrl=','pniiV','✓\x20Encrypted\x20auth\x20verified\x20(will\x20decrypt\x20at\x20runtime)','trackPhaseEnd','4205410ecAGaZ','rQobz','XcFco','join','\x0a🔧\x20Ranger\x20CI\x20Setup\x0a','81471AizoiS','chromium','success','\x0a✅\x20Ranger\x20CI\x20setup\x20complete!\x0a','1919580lPKdhp','xHYIY','trackPhaseStart','kwKFl','\x22\x20has\x20no\x20settings.json.\x20Use\x20--base-url\x20to\x20configure\x20it.','10569824trfAsK','skipChromium','baseUrl'];_0x5d46=function(){return _0x266669;};return _0x5d46();}(function(_0x2db84e,_0x334f95){const _0x385d17=_0x1441,_0x34a916=_0x2db84e();while(!![]){try{const _0xebfba2=-parseInt(_0x385d17(0x1c2))/0x1+-parseInt(_0x385d17(0x1a9))/0x2+-parseInt(_0x385d17(0x1d0))/0x3+-parseInt(_0x385d17(0x1d4))/0x4+parseInt(_0x385d17(0x1cb))/0x5+parseInt(_0x385d17(0x1b8))/0x6*(parseInt(_0x385d17(0x1b3))/0x7)+parseInt(_0x385d17(0x1d9))/0x8*(parseInt(_0x385d17(0x1aa))/0x9);if(_0xebfba2===_0x334f95)break;else _0x34a916['push'](_0x34a916['shift']());}catch(_0x266069){_0x34a916['push'](_0x34a916['shift']());}}}(_0x5d46,0x8fdee));import{mkdir,readFile,readdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{authenticate,ensureRangerDir,ensureChromium,writeRangerGitignore}from'./start.js';import{skillup}from'./skillup.js';import{getRangerDir}from'./utils/rangerRoot.js';import{writeActiveProfileName}from'./utils/activeProfile.js';import{saveSettings}from'./utils/settings.js';import{decrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'./utils/claudePlugin.js';function _0x1441(_0x19a6cc,_0x3d2e97){_0x19a6cc=_0x19a6cc-0x1a9;const _0x5d46a8=_0x5d46();let _0x144181=_0x5d46a8[_0x19a6cc];return _0x144181;}async function findCiProfile(_0x595ce3){const _0x3b42f5=_0x1441,_0x2305f1={'jeFTu':function(_0xee078,_0x9e8ee9,_0x46f2b9){return _0xee078(_0x9e8ee9,_0x46f2b9);},'EKKCk':function(_0x5d572c,_0x38013e){return _0x5d572c(_0x38013e);},'GuusU':'No\x20CI\x20profiles\x20found.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a','adwhZ':function(_0x175595,_0xd4eb5f){return _0x175595===_0xd4eb5f;},'yyHPY':function(_0x5b6989,_0x43485){return _0x5b6989+_0x43485;},'OeShw':_0x3b42f5(0x1b0),'XcFco':function(_0x4da0c2,_0x16a517){return _0x4da0c2===_0x16a517;}},_0x1596dc=getRangerDir(),_0x32c265=_0x2305f1['jeFTu'](join,_0x1596dc,'ci');if(_0x595ce3){const _0x511cfe=join(_0x32c265,_0x595ce3);return{'name':_0x595ce3,'path':_0x511cfe};}if(!_0x2305f1['EKKCk'](existsSync,_0x32c265))throw new Error(_0x2305f1[_0x3b42f5(0x1e1)]+'Or\x20specify\x20a\x20profile\x20name\x20with\x20--profile\x20and\x20--base-url\x20to\x20create\x20one.');const _0x37933b=await _0x2305f1['jeFTu'](readdir,_0x32c265,{'withFileTypes':!![]}),_0x38e7ff=_0x37933b[_0x3b42f5(0x1c5)](_0x4692e5=>_0x4692e5['isDirectory']())['map'](_0x46d7b1=>_0x46d7b1[_0x3b42f5(0x1de)]);if(_0x2305f1['adwhZ'](_0x38e7ff['length'],0x0))throw new Error(_0x2305f1[_0x3b42f5(0x1bb)]('No\x20CI\x20profiles\x20found\x20in\x20.ranger/ci/.\x20Create\x20one\x20first\x20with:\x20ranger\x20profile\x20add\x20<name>\x20--ci\x0a',_0x2305f1[_0x3b42f5(0x1ad)]));if(_0x2305f1[_0x3b42f5(0x1cd)](_0x38e7ff['length'],0x1)){const _0x135e6e=_0x38e7ff[0x0];return console['log']('Auto-detected\x20CI\x20profile:\x20'+_0x135e6e),{'name':_0x135e6e,'path':join(_0x32c265,_0x135e6e)};}throw new Error('Multiple\x20CI\x20profiles\x20found:\x20'+_0x38e7ff[_0x3b42f5(0x1ce)](',\x20')+_0x3b42f5(0x1b2));}async function installPluginNonInteractive(){const _0x1c92e6=_0x1441,_0x36696b={'eRSsa':function(_0x21d99c,_0x3b8335){return _0x21d99c(_0x3b8335);},'dMlmG':_0x1c92e6(0x1c0),'PyNkZ':'Installing\x20Claude\x20Code\x20plugin\x20(project\x20level)...','spVFd':'trailhead','idTFC':'✓\x20Marketplace\x20already\x20added','CzcKQ':'marketplace','hNUZF':_0x1c92e6(0x1e4),'Vnebr':'You\x20can\x20install\x20manually:\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead','PIxBG':function(_0x531e7b,_0x549378){return _0x531e7b(_0x549378);},'AZJct':'plugin','kwKFl':'install','tYRFE':_0x1c92e6(0x1e3),'NUSnT':_0x1c92e6(0x1dc)},_0x372853=await _0x36696b['eRSsa'](isPluginInstalled,'ranger@trailhead');if(_0x372853)return console[_0x1c92e6(0x1ac)](_0x36696b['dMlmG']),![];console[_0x1c92e6(0x1ac)](_0x36696b[_0x1c92e6(0x1ab)]);const _0x93f4bd=await isMarketplaceAdded(_0x36696b['spVFd']);let _0x775041=_0x93f4bd;if(_0x93f4bd)console[_0x1c92e6(0x1ac)](_0x36696b[_0x1c92e6(0x1c1)]);else{const _0x24c40a=await runClaudeCommand(['plugin',_0x36696b['CzcKQ'],'add',_0x36696b['hNUZF']]);!_0x24c40a[_0x1c92e6(0x1d2)]?(console['error'](_0x1c92e6(0x1bf),_0x24c40a[_0x1c92e6(0x1bc)]),console['log'](_0x36696b['Vnebr'])):_0x775041=!![];}if(_0x775041){const _0x46e260=await _0x36696b['PIxBG'](runClaudeCommand,[_0x36696b[_0x1c92e6(0x1af)],_0x36696b[_0x1c92e6(0x1d7)],'ranger@trailhead',_0x1c92e6(0x1b5),_0x1c92e6(0x1dd)]);!_0x46e260['success']?(console['error'](_0x36696b['tYRFE'],_0x46e260[_0x1c92e6(0x1bc)]),console['log'](_0x36696b['NUSnT'])):console['log']('✓\x20Claude\x20Code\x20plugin\x20installed');}return!![];}export async function setupCi(_0x5dee6d,_0x3462c4,_0x3dad9e){const _0x197b83=_0x1441,_0xacd56b={'rQobz':function(_0x434ee4){return _0x434ee4();},'pniiV':function(_0x141b4a,_0x4b79a6){return _0x141b4a(_0x4b79a6);},'UQyXD':function(_0x4aec5d,_0x1e7ace,_0x368f54){return _0x4aec5d(_0x1e7ace,_0x368f54);},'qJHet':_0x197b83(0x1e2),'VGUAT':_0x197b83(0x1b9),'rSpJL':function(_0xac7a3e){return _0xac7a3e();},'FYYpN':_0x197b83(0x1d1),'SSODK':_0x197b83(0x1c4),'KPCaM':'settings.json','xlhkY':'auth.json','OpVhf':function(_0x2e5cf4,_0x555684){return _0x2e5cf4(_0x555684);},'QhOSq':function(_0x3cffff,_0x478fd9){return _0x3cffff(_0x478fd9);},'ERyDd':_0x197b83(0x1c9),'xHYIY':function(_0x1afe95,_0x2e27fd){return _0x1afe95 instanceof _0x2e27fd;},'qWZkA':'\x20\x20No\x20auth\x20state\x20found\x20(app\x20may\x20not\x20require\x20authentication)','FYGMe':'skills'};console['log'](_0x197b83(0x1cf)),_0x3dad9e?.[_0x197b83(0x1d6)](_0x197b83(0x1e0)),await authenticate(_0x5dee6d),_0x3dad9e?.['trackPhaseEnd']('auth'),_0x3dad9e?.[_0x197b83(0x1d6)]('dir_setup');const {path:_0x1c5278,installed:_0xe2d708}=await _0xacd56b[_0x197b83(0x1cc)](ensureRangerDir);await writeRangerGitignore(_0x1c5278);const _0x338ddd=join(_0x1c5278,'sessions');!_0xacd56b['pniiV'](existsSync,_0x338ddd)&&await _0xacd56b['UQyXD'](mkdir,_0x338ddd,{'recursive':!![]});_0x3dad9e?.['trackPhaseEnd'](_0xacd56b['qJHet'],{'installed':_0xe2d708}),_0x3dad9e?.['trackPhaseStart'](_0x197b83(0x1d1));let _0x42b393=![];_0x3462c4?.['skipChromium']?console['log'](_0xacd56b[_0x197b83(0x1df)]):_0x42b393=await _0xacd56b[_0x197b83(0x1ba)](ensureChromium);_0x3dad9e?.['trackPhaseEnd'](_0xacd56b['FYYpN'],{'installed':_0x42b393,'skipped':!!_0x3462c4?.[_0x197b83(0x1da)]}),_0x3dad9e?.[_0x197b83(0x1d6)](_0xacd56b[_0x197b83(0x1c3)]);const _0x2bac1f=await findCiProfile(_0x3462c4?.['profile']);let _0x3ff09e=![];_0x3462c4?.[_0x197b83(0x1db)]&&(await mkdir(_0x2bac1f[_0x197b83(0x1b1)],{'recursive':!![]}),await saveSettings(_0x2bac1f['name'],{'baseUrl':_0x3462c4[_0x197b83(0x1db)],'headless':!![]}),console['log'](_0x197b83(0x1c7)+_0x3462c4['baseUrl']),_0x3ff09e=!![]);const _0xcf3678=_0xacd56b[_0x197b83(0x1b4)](join,_0x2bac1f[_0x197b83(0x1b1)],_0xacd56b['KPCaM']);if(!_0xacd56b[_0x197b83(0x1c8)](existsSync,_0xcf3678)&&!_0x3ff09e)throw new Error('CI\x20profile\x20\x22'+_0x2bac1f['name']+_0x197b83(0x1d8));const _0x4de52a=join(_0x2bac1f[_0x197b83(0x1b1)],_0xacd56b[_0x197b83(0x1b6)]),_0x5cee8d=_0xacd56b[_0x197b83(0x1b4)](join,_0x2bac1f[_0x197b83(0x1b1)],'auth.json.enc'),_0x3198ec=_0xacd56b[_0x197b83(0x1bd)](existsSync,_0x4de52a),_0x231991=existsSync(_0x5cee8d);if(_0x231991)try{const _0x14c8ea=await _0xacd56b[_0x197b83(0x1cc)](getToken);if(!_0x14c8ea)throw new Error('No\x20API\x20token\x20available\x20for\x20decryption');const _0x115ee7=await _0xacd56b['QhOSq'](readFile,_0x5cee8d);decrypt(_0x115ee7,_0x14c8ea),console['log'](_0xacd56b['ERyDd']);}catch(_0x2e1971){const _0x12a0e2=_0xacd56b[_0x197b83(0x1d5)](_0x2e1971,Error)?_0x2e1971['message']:_0xacd56b[_0x197b83(0x1b7)](String,_0x2e1971);throw new Error('Failed\x20to\x20verify\x20encrypted\x20auth\x20for\x20profile\x20\x22'+_0x2bac1f['name']+_0x197b83(0x1c6)+_0x12a0e2);}else _0x3198ec?console['log']('✓\x20Auth\x20state\x20found'):console['log'](_0xacd56b['qWZkA']);await writeActiveProfileName(_0x2bac1f[_0x197b83(0x1de)]),console[_0x197b83(0x1ac)](_0x197b83(0x1ae)+_0x2bac1f['name']),_0x3dad9e?.['trackPhaseEnd'](_0xacd56b['SSODK'],{'profileName':_0x2bac1f[_0x197b83(0x1de)],'hasAuth':_0x3198ec,'hasEncryptedAuth':_0x231991,'createdSettings':_0x3ff09e}),_0x3dad9e?.['trackPhaseStart']('plugin');const _0x4ca5b6=await _0xacd56b[_0x197b83(0x1cc)](installPluginNonInteractive);_0x3dad9e?.[_0x197b83(0x1ca)]('plugin',{'installed':_0x4ca5b6}),_0x3dad9e?.['trackPhaseStart'](_0xacd56b[_0x197b83(0x1be)]),await skillup({'autoInstall':_0x197b83(0x1dd)}),_0x3dad9e?.[_0x197b83(0x1ca)]('skills'),console[_0x197b83(0x1ac)](_0x197b83(0x1d3));}