@ranger-testing/ranger-cli 2.5.4-alpha.a70fc60-4 → 2.5.4-alpha.b28d3b1-14
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.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +25 -5
- package/build/skills/ranger/create.md +19 -0
- package/build/skills/ranger/verify.md +34 -7
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4024d4,_0x41f446){const _0x52d359=_0x3a72,_0x29ec59=_0x4024d4();while(!![]){try{const _0xac979c=-parseInt(_0x52d359(0xc2))/0x1+-parseInt(_0x52d359(0xc5))/0x2*(-parseInt(_0x52d359(0xc0))/0x3)+parseInt(_0x52d359(0xbb))/0x4+-parseInt(_0x52d359(0xbf))/0x5*(-parseInt(_0x52d359(0xbe))/0x6)+parseInt(_0x52d359(0xc3))/0x7*(-parseInt(_0x52d359(0xbd))/0x8)+-parseInt(_0x52d359(0xc1))/0x9+parseInt(_0x52d359(0xc4))/0xa;if(_0xac979c===_0x41f446)break;else _0x29ec59['push'](_0x29ec59['shift']());}catch(_0x6d175b){_0x29ec59['push'](_0x29ec59['shift']());}}}(_0x14c9,0xe211f));import{isSessionEnabled}from'../utils/sessionCache.js';export function printBlock(_0x434e5b){console['log'](_0x434e5b);}export async function readHookInput(){const _0x5052ef=_0x3a72;let _0x4b7db2='';try{for await(const _0x24909d of process['stdin']){_0x4b7db2+=_0x24909d;}}catch{return null;}if(!_0x4b7db2[_0x5052ef(0xb9)]())return null;try{return JSON[_0x5052ef(0xba)](_0x4b7db2);}catch{return null;}}export async function getEnabledSessionId(_0x3947d9){const _0x1940fc=_0x3a72,_0x35ed41={'gZXLV':function(_0x4f07df,_0xc1140b){return _0x4f07df(_0xc1140b);},'uhBZM':function(_0x141d95){return _0x141d95();},'uMleB':function(_0x1e250b,_0x1faf6c){return _0x1e250b(_0x1faf6c);}};if(_0x3947d9)return _0x35ed41['gZXLV'](isSessionEnabled,_0x3947d9)?_0x3947d9:null;const _0x5decf7=await _0x35ed41['uhBZM'](readHookInput),_0x139d09=_0x5decf7?.[_0x1940fc(0xbc)];if(!_0x139d09||!_0x35ed41['uMleB'](isSessionEnabled,_0x139d09))return null;return _0x139d09;}function _0x3a72(_0x1d7c19,_0x21163e){_0x1d7c19=_0x1d7c19-0xb9;const _0x14c921=_0x14c9();let _0x3a721=_0x14c921[_0x1d7c19];return _0x3a721;}export async function getEnabledHookContext(_0x3f31bf){const _0x1c39fc=_0x3a72,_0x37e44f={'KtsYW':function(_0x3c2923){return _0x3c2923();},'zWpDQ':function(_0x333627,_0x2eb6b0){return _0x333627(_0x2eb6b0);}};if(_0x3f31bf){if(!isSessionEnabled(_0x3f31bf))return null;return{'sessionId':_0x3f31bf,'input':{'session_id':_0x3f31bf}};}const _0x366f79=await _0x37e44f['KtsYW'](readHookInput),_0x4d47d7=_0x366f79?.[_0x1c39fc(0xbc)];if(!_0x4d47d7||!_0x37e44f['zWpDQ'](isSessionEnabled,_0x4d47d7))return null;return{'sessionId':_0x4d47d7,'input':_0x366f79};}function _0x14c9(){const _0x42d94c=['trim','parse','2367820pZvkcX','session_id','8eGyVxt','6KhXyns','4669655YSpNeE','2336739taghMZ','3322368adgfci','991308doOBIh','5268382PhgsKW','7342700XdlSrq','2EJlyUg'];_0x14c9=function(){return _0x42d94c;};return _0x14c9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x726c(_0x53e582,_0x169da0){_0x53e582=_0x53e582-0xd6;const _0x16b4f6=_0x16b4();let _0x726c12=_0x16b4f6[_0x53e582];return _0x726c12;}(function(_0x3bd30e,_0x7a29a1){const _0x100d86=_0x726c,_0x26785a=_0x3bd30e();while(!![]){try{const _0x34b5a6=-parseInt(_0x100d86(0xd6))/0x1+parseInt(_0x100d86(0xe0))/0x2+-parseInt(_0x100d86(0xde))/0x3*(parseInt(_0x100d86(0xe3))/0x4)+-parseInt(_0x100d86(0xdd))/0x5*(parseInt(_0x100d86(0xd9))/0x6)+-parseInt(_0x100d86(0xe1))/0x7*(-parseInt(_0x100d86(0xdc))/0x8)+-parseInt(_0x100d86(0xd8))/0x9*(-parseInt(_0x100d86(0xdf))/0xa)+parseInt(_0x100d86(0xdb))/0xb;if(_0x34b5a6===_0x7a29a1)break;else _0x26785a['push'](_0x26785a['shift']());}catch(_0x5b44e3){_0x26785a['push'](_0x26785a['shift']());}}}(_0x16b4,0x498c8));import{printBlock,getEnabledHookContext}from'./output.js';import{shouldShowPlanReminder}from'../utils/sessionCache.js';function _0x16b4(){const _0x285154=['130tsldVp','599368xGvSrV','738283OaiOjN','permission_mode','33716RhLDny','495309PNBdNn','Ulhtn','242568JywCnz','6eAaTWT','input','6331930YfJwWL','16cryWNh','1093065hfpKwp','150BZlBuX'];_0x16b4=function(){return _0x285154;};return _0x16b4();}export async function planReminder(_0x4dce09){const _0x34851a=_0x726c,_0x44470c={'Ulhtn':function(_0x5d8ef6,_0x4eacba){return _0x5d8ef6!==_0x4eacba;},'sciyu':'plan'},_0x6527b9=await getEnabledHookContext(_0x4dce09);if(!_0x6527b9)return;if(_0x44470c[_0x34851a(0xd7)](_0x6527b9[_0x34851a(0xda)][_0x34851a(0xe2)],_0x44470c['sciyu']))return;if(!shouldShowPlanReminder(_0x6527b9['sessionId']))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 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5efb66,_0x4f1ba5){const _0x1f9de3=_0x497d,_0x2e6677=_0x5efb66();while(!![]){try{const _0x5b8255=parseInt(_0x1f9de3(0x1d5))/0x1+parseInt(_0x1f9de3(0x1d4))/0x2*(-parseInt(_0x1f9de3(0x1d7))/0x3)+-parseInt(_0x1f9de3(0x1d0))/0x4+-parseInt(_0x1f9de3(0x1ce))/0x5*(-parseInt(_0x1f9de3(0x1d1))/0x6)+-parseInt(_0x1f9de3(0x1cd))/0x7*(parseInt(_0x1f9de3(0x1d6))/0x8)+-parseInt(_0x1f9de3(0x1d2))/0x9+parseInt(_0x1f9de3(0x1d3))/0xa*(parseInt(_0x1f9de3(0x1cf))/0xb);if(_0x5b8255===_0x4f1ba5)break;else _0x2e6677['push'](_0x2e6677['shift']());}catch(_0x1db563){_0x2e6677['push'](_0x2e6677['shift']());}}}(_0x1eef,0x2b132));import{printBlock,getEnabledSessionId}from'./output.js';function _0x497d(_0x5844c6,_0x397c97){_0x5844c6=_0x5844c6-0x1cd;const _0x1eef33=_0x1eef();let _0x497d5a=_0x1eef33[_0x5844c6];return _0x497d5a;}function _0x1eef(){const _0x381514=['8kEIEBu','3714uWucBz','139412ZhLWQw','72275rBCAOz','22fcsxFc','19792mWhqDt','42edUHot','2271267LLkwpn','697560nIjwyi','214aQSSdL','345430pxkFto'];_0x1eef=function(){return _0x381514;};return _0x1eef();}export async function planStart(_0x285bc5){const _0x208984={'ZjKvJ':function(_0x443b5a,_0x463ab9){return _0x443b5a(_0x463ab9);}},_0x5beb11=await getEnabledSessionId(_0x285bc5);if(!_0x5beb11)return;_0x208984['ZjKvJ'](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(
|
|
1
|
+
(function(_0x21bcdd,_0x1a8603){const _0xf00850=_0x5e10,_0x1f9063=_0x21bcdd();while(!![]){try{const _0x52abfb=parseInt(_0xf00850(0x12a))/0x1*(parseInt(_0xf00850(0x11d))/0x2)+-parseInt(_0xf00850(0x119))/0x3*(-parseInt(_0xf00850(0x124))/0x4)+parseInt(_0xf00850(0x129))/0x5*(-parseInt(_0xf00850(0x11f))/0x6)+parseInt(_0xf00850(0x121))/0x7*(-parseInt(_0xf00850(0x120))/0x8)+parseInt(_0xf00850(0x123))/0x9+parseInt(_0xf00850(0x11b))/0xa+-parseInt(_0xf00850(0x125))/0xb;if(_0x52abfb===_0x1a8603)break;else _0x1f9063['push'](_0x1f9063['shift']());}catch(_0x133447){_0x1f9063['push'](_0x1f9063['shift']());}}}(_0x4a2b,0x6b888));function _0x5e10(_0x5e3b2d,_0x4cd4d8){_0x5e3b2d=_0x5e3b2d-0x119;const _0x4a2b04=_0x4a2b();let _0x5e10a0=_0x4a2b04[_0x5e3b2d];return _0x5e10a0;}function _0x4a2b(){const _0xbfb159=['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.','KwiRU','3275uhdLYV','1503UfzhUI','3JYZxUm','PostToolUse','3315460ZAMWJm','ghMHZ','234JgVgQo','log','6jsBdYL','16ARytvD','2832389qGrtMQ','rTGnN','2549403LOUxKf','2290756OeMeFb','1242868vprOpM','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).'];_0x4a2b=function(){return _0xbfb159;};return _0x4a2b();}import{getSessionEntry,updateBranchTracking}from'../utils/sessionCache.js';import{getToken}from'../utils/keychain.js';import{getEnabledSessionId}from'./output.js';export async function postEdit(_0x41891c){const _0x2052ce=_0x5e10,_0x29de22={'HNnER':function(_0x410357,_0x472aac){return _0x410357(_0x472aac);},'rTGnN':function(_0x2aae3f){return _0x2aae3f();},'KwiRU':function(_0x220ceb,_0x496dee){return _0x220ceb(_0x496dee);},'ghMHZ':_0x2052ce(0x11a)},_0x4a82a9=await getEnabledSessionId(_0x41891c);if(!_0x4a82a9)return;_0x29de22['HNnER'](updateBranchTracking,_0x4a82a9);const _0x481d26=await _0x29de22[_0x2052ce(0x122)](getToken);if(!_0x481d26)return;const _0x318415=_0x29de22[_0x2052ce(0x128)](getSessionEntry,_0x4a82a9);if(_0x318415){const _0x4645cf={'hookSpecificOutput':{'hookEventName':_0x29de22[_0x2052ce(0x11c)],'additionalContext':_0x2052ce(0x126)}};console[_0x2052ce(0x11e)](JSON['stringify'](_0x4645cf));return;}const _0x5d0d20={'hookSpecificOutput':{'hookEventName':_0x29de22[_0x2052ce(0x11c)],'additionalContext':_0x2052ce(0x127)}};console[_0x2052ce(0x11e)](JSON['stringify'](_0x5d0d20));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xa4fbf0,_0x32b48f){const _0x6bac1b=_0x578d,_0x2fb5ca=_0xa4fbf0();while(!![]){try{const _0x39247b=parseInt(_0x6bac1b(0x79))/0x1*(parseInt(_0x6bac1b(0x73))/0x2)+parseInt(_0x6bac1b(0x78))/0x3+-parseInt(_0x6bac1b(0x72))/0x4*(-parseInt(_0x6bac1b(0x7d))/0x5)+-parseInt(_0x6bac1b(0x7b))/0x6*(-parseInt(_0x6bac1b(0x7c))/0x7)+parseInt(_0x6bac1b(0x7e))/0x8*(parseInt(_0x6bac1b(0x75))/0x9)+parseInt(_0x6bac1b(0x77))/0xa*(-parseInt(_0x6bac1b(0x74))/0xb)+-parseInt(_0x6bac1b(0x7a))/0xc;if(_0x39247b===_0x32b48f)break;else _0x2fb5ca['push'](_0x2fb5ca['shift']());}catch(_0x172cb5){_0x2fb5ca['push'](_0x2fb5ca['shift']());}}}(_0x7e0c,0xa3170));import{getToken}from'../utils/keychain.js';function _0x578d(_0x18574d,_0x38294c){_0x18574d=_0x18574d-0x72;const _0x7e0ca3=_0x7e0c();let _0x578dd6=_0x7e0ca3[_0x18574d];return _0x578dd6;}import{printBlock,getEnabledSessionId}from'./output.js';export async function preCompact(_0x103994){const _0x389464=_0x578d,_0x463033={'HUCZK':function(_0x2f26e2){return _0x2f26e2();},'rJhZb':function(_0x435003,_0x45fc21){return _0x435003(_0x45fc21);}},_0x3d32df=await getEnabledSessionId(_0x103994);if(!_0x3d32df)return;try{const _0x523c13=await _0x463033['HUCZK'](getToken);if(!_0x523c13)return;_0x463033[_0x389464(0x76)](printBlock,'===\x20RANGER:\x20PRESERVE\x20IN\x20COMPACTION\x20===\x0a\x0aIf\x20you\x20created\x20a\x20plan\x20with\x20a\x20**Ranger\x20Feature\x20Review\x20Specification**,\x20you\x20MUST\x20preserve\x20it\x20in\x20the\x20compaction\x20summary.\x0a\x0aThe\x20specification\x20contains\x20scenarios\x20that\x20will\x20be\x20used\x20with\x20`ranger\x20create`.');}catch{}}function _0x7e0c(){const _0x51ed=['10oZpDgR','402834uoiFls','541IeEaVY','21816288QyQBfw','1878bsbppx','18235cPbWvj','5UMySpp','408MnnjML','4326580cEasEO','1586EnqqSq','8991884xmFosq','148797jFydpq','rJhZb'];_0x7e0c=function(){return _0x51ed;};return _0x7e0c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5a5efe,_0x13c569){const _0x2f72b6=_0x2b45,_0x507088=_0x5a5efe();while(!![]){try{const _0x156a66=parseInt(_0x2f72b6(0xc3))/0x1*(-parseInt(_0x2f72b6(0xba))/0x2)+parseInt(_0x2f72b6(0xc2))/0x3+parseInt(_0x2f72b6(0xbd))/0x4*(-parseInt(_0x2f72b6(0xb9))/0x5)+parseInt(_0x2f72b6(0xbb))/0x6*(parseInt(_0x2f72b6(0xb8))/0x7)+parseInt(_0x2f72b6(0xc1))/0x8*(-parseInt(_0x2f72b6(0xc4))/0x9)+-parseInt(_0x2f72b6(0xc0))/0xa+-parseInt(_0x2f72b6(0xbe))/0xb*(-parseInt(_0x2f72b6(0xbf))/0xc);if(_0x156a66===_0x13c569)break;else _0x507088['push'](_0x507088['shift']());}catch(_0x32afed){_0x507088['push'](_0x507088['shift']());}}}(_0xba02,0x7893e));import{isSessionEnabled,recordEnabledSessionCleared}from'../utils/sessionCache.js';function _0x2b45(_0x21c994,_0x1aad85){_0x21c994=_0x21c994-0xb6;const _0xba0257=_0xba02();let _0x2b45d5=_0xba0257[_0x21c994];return _0x2b45d5;}function _0xba02(){const _0x4a4f6b=['240KCVnFM','5731YXphzN','21768AvhweM','810180KjrQbU','39752VgovqJ','1055919gOzfgJ','21603rEjkEw','1071SuChzL','session_id','CLAUDE_SESSION_ID','10115zqAetM','4275JwJEsZ','38BWjiMl','1374zVesei','VrzPC'];_0xba02=function(){return _0x4a4f6b;};return _0xba02();}import{readHookInput}from'./output.js';export async function sessionEnd(_0x1efd19){const _0x3a8443=_0x2b45,_0x5bbacc={'VrzPC':function(_0x58b447,_0x157566){return _0x58b447(_0x157566);}},_0x26ef1c=process['env'][_0x3a8443(0xb7)];let _0x2aab37=_0x1efd19,_0x4fdfdb;if(!_0x1efd19){if(_0x26ef1c&&!isSessionEnabled(_0x26ef1c))return;const _0x40ae12=await readHookInput();_0x2aab37=_0x40ae12?.[_0x3a8443(0xb6)]||_0x26ef1c,_0x4fdfdb=_0x40ae12?.['reason'];}if(!_0x2aab37)return;_0x4fdfdb==='clear'&&_0x5bbacc[_0x3a8443(0xbc)](recordEnabledSessionCleared,_0x2aab37);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1f2c23,_0x5f21e5){const _0x55a0d9=_0x983c,_0xe15197=_0x1f2c23();while(!![]){try{const _0x3255c7=parseInt(_0x55a0d9(0x1d7))/0x1*(-parseInt(_0x55a0d9(0x1e4))/0x2)+parseInt(_0x55a0d9(0x1d8))/0x3+parseInt(_0x55a0d9(0x1e1))/0x4+-parseInt(_0x55a0d9(0x1cc))/0x5*(-parseInt(_0x55a0d9(0x1cf))/0x6)+parseInt(_0x55a0d9(0x1d5))/0x7+-parseInt(_0x55a0d9(0x1cb))/0x8+parseInt(_0x55a0d9(0x1d2))/0x9*(-parseInt(_0x55a0d9(0x1dd))/0xa);if(_0x3255c7===_0x5f21e5)break;else _0xe15197['push'](_0xe15197['shift']());}catch(_0x329264){_0xe15197['push'](_0xe15197['shift']());}}}(_0x7659,0xe24d8));function _0x7659(){const _0x5c958b=['29980dkyLCa','CLAUDE_ENV_FILE','KgNYW','source','4310700vJaoQk','pAcet','XAaMS','46ksLhJA','11942040glCIqc','251570qAniyx','export\x20CLAUDE_SESSION_ID=\x22','stdin','174Pcofuj','AwtHO','master','2412LWmadA','env','tfGrR','2469075AThGrR','trackCommandEnd','25523DmFkzi','2762034GfFVMm','session_id','stringify','SessionStart','tkMRf'];_0x7659=function(){return _0x5c958b;};return _0x7659();}import{appendFile}from'fs/promises';import{initBranchTracking,shouldAutoEnableAfterClear,autoEnableAfterClear,isSessionEnabled,getCurrentBranch}from'../utils/sessionCache.js';import{createTelemetryCollector}from'../utils/telemetry.js';import{getToken}from'../utils/keychain.js';const RANGER_AUTO_ENABLED_PROMPT='=================================================================\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=================================================================';function _0x983c(_0x570435,_0x1d33b9){_0x570435=_0x570435-0x1cb;const _0x7659e4=_0x7659();let _0x983c70=_0x7659e4[_0x570435];return _0x983c70;}export async function sessionStart(_0x3d1945){const _0x4872e9=_0x983c,_0x189893={'pAcet':function(_0x31557d,_0x175dba){return _0x31557d||_0x175dba;},'tkMRf':function(_0x1949bf,_0x2681fd){return _0x1949bf&&_0x2681fd;},'KgNYW':function(_0x33837c){return _0x33837c();},'tfGrR':function(_0x4ab527,_0x1b0def){return _0x4ab527(_0x1b0def);},'AwtHO':'hook:session-start','YPFoW':function(_0x2abbb1,_0x1a0ba6){return _0x2abbb1!==_0x1a0ba6;},'ArenB':_0x4872e9(0x1db),'XAaMS':function(_0x5ce366,_0x2f8ff9){return _0x5ce366+_0x2f8ff9;}};let _0x1964dc=_0x189893[_0x4872e9(0x1e2)](_0x3d1945,''),_0x3974d4;if(!_0x3d1945){let _0x463eea='';for await(const _0x558c09 of process[_0x4872e9(0x1ce)]){_0x463eea+=_0x558c09;}try{const _0x3eb49c=JSON['parse'](_0x463eea);_0x1964dc=_0x3eb49c[_0x4872e9(0x1d9)]||'',_0x3974d4=_0x3eb49c[_0x4872e9(0x1e0)];}catch{}const _0x460367=process[_0x4872e9(0x1d3)][_0x4872e9(0x1de)];if(_0x189893[_0x4872e9(0x1dc)](_0x460367,_0x1964dc))try{await appendFile(_0x460367,_0x4872e9(0x1cd)+_0x1964dc+'\x22\x0a');}catch{}}try{await _0x189893[_0x4872e9(0x1df)](getToken);}catch{}if(_0x1964dc){shouldAutoEnableAfterClear(_0x3974d4)&&_0x189893[_0x4872e9(0x1d4)](autoEnableAfterClear,_0x1964dc);_0x189893[_0x4872e9(0x1d4)](initBranchTracking,_0x1964dc);const _0x25979a=isSessionEnabled(_0x1964dc);try{const _0x2dc055=_0x189893['tfGrR'](createTelemetryCollector,_0x189893[_0x4872e9(0x1d0)]);await _0x2dc055['trackCommandStart']({'sessionId':_0x1964dc,'hooksEnabled':_0x25979a}),await _0x2dc055[_0x4872e9(0x1d6)]('success');}catch{}if(_0x25979a){const _0x4ac8cf=_0x189893['KgNYW'](getCurrentBranch),_0x513ad2=_0x4ac8cf&&_0x189893['YPFoW'](_0x4ac8cf,'main')&&_0x4ac8cf!==_0x4872e9(0x1d1)?'\x20(Branch:\x20'+_0x4ac8cf+')':'',_0x5cf7ac={'hookSpecificOutput':{'hookEventName':_0x189893['ArenB'],'additionalContext':_0x189893[_0x4872e9(0x1e3)](RANGER_AUTO_ENABLED_PROMPT,_0x513ad2)}};console['log'](JSON[_0x4872e9(0x1da)](_0x5cf7ac));}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x5853(){const _0x41580d=['1238389wTeZkw','verification_in_progress','trackCommandStart','ucxRe','xrhSx','31304oNzZcc','checklistItems','blocked','hook:stop','some','sessionId','success','3009940PxOdRr','https://dashboard.ranger.net/features/','4230317plIKMu','8FzqSMk','46879260slIHiJ','976cGWnXG','93QsozPi','pSDkO','stringify','filter','DSSOs','RPLkI','featureId','4130682cqIYmR','incomplete','83799UufHdM','trackCommandEnd'];_0x5853=function(){return _0x41580d;};return _0x5853();}(function(_0x225378,_0x498e34){const _0x54ea67=_0x1d21,_0x462740=_0x225378();while(!![]){try{const _0x44e884=parseInt(_0x54ea67(0xca))/0x1+-parseInt(_0x54ea67(0xb2))/0x2*(-parseInt(_0x54ea67(0xbf))/0x3)+-parseInt(_0x54ea67(0xbc))/0x4*(-parseInt(_0x54ea67(0xb9))/0x5)+parseInt(_0x54ea67(0xc6))/0x6+parseInt(_0x54ea67(0xbb))/0x7+parseInt(_0x54ea67(0xbe))/0x8*(parseInt(_0x54ea67(0xc8))/0x9)+-parseInt(_0x54ea67(0xbd))/0xa;if(_0x44e884===_0x498e34)break;else _0x462740['push'](_0x462740['shift']());}catch(_0x2ca41a){_0x462740['push'](_0x462740['shift']());}}}(_0x5853,0xa32d3));import{getToken}from'../utils/keychain.js';function _0x1d21(_0x5e74fb,_0x3b7fc7){_0x5e74fb=_0x5e74fb-0xaf;const _0x585305=_0x5853();let _0x1d2196=_0x585305[_0x5e74fb];return _0x1d2196;}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(_0x37a935){const _0x2e4786=_0x1d21,_0x4c98e4={'DSSOs':function(_0x38ca23,_0x239c02){return _0x38ca23(_0x239c02);},'xrhSx':function(_0x26b00b,_0x1772d2,_0x7e1a5b,_0x172a6c){return _0x26b00b(_0x1772d2,_0x7e1a5b,_0x172a6c);},'ucxRe':function(_0x319b1b,_0x20a913,_0x168646,_0xa592ca){return _0x319b1b(_0x20a913,_0x168646,_0xa592ca);},'IBibJ':function(_0x3781f8){return _0x3781f8();},'ZZsWe':function(_0x37e7c3,_0x26156a){return _0x37e7c3&&_0x26156a;}},_0x31105c=await _0x4c98e4[_0x2e4786(0xc3)](getEnabledHookContext,_0x37a935),_0x59eacd=_0x31105c?.['sessionId']??null;let _0x3bb914=!![];if(!_0x59eacd){await _0x4c98e4[_0x2e4786(0xb1)](trackStop,_0x59eacd,![],_0x3bb914);return;}try{const _0x1549a4=_0x4c98e4['DSSOs'](getSessionEntry,_0x59eacd);if(!_0x1549a4){await _0x4c98e4[_0x2e4786(0xb0)](trackStop,_0x59eacd,!![],_0x3bb914);return;}const _0x5e95ea=await _0x4c98e4['IBibJ'](getToken),_0x431e39=_0x2e4786(0xba)+_0x1549a4['featureId'];let _0x18441b=null,_0x3959a5=![],_0x36080a=![];if(_0x5e95ea)try{const _0x1d87d7=await getFeature(_0x1549a4[_0x2e4786(0xc5)]);_0x18441b=_0x1d87d7['currentSessionId']??null;const _0x1d07aa=_0x1d87d7[_0x2e4786(0xb3)][_0x2e4786(0xc2)](_0x1418f1=>_0x1418f1[_0x2e4786(0xb7)]===_0x18441b);_0x3959a5=_0x1d07aa[_0x2e4786(0xb6)](_0x5d51b3=>_0x5d51b3['status']!=='verified'&&_0x5d51b3['status']!==_0x2e4786(0xb4)&&_0x5d51b3['status']!=='closed'&&_0x5d51b3['status']!==_0x2e4786(0xc7)),_0x36080a=_0x1d07aa[_0x2e4786(0xb6)](_0x14c701=>_0x14c701['status']===_0x2e4786(0xcb));}catch{}if(_0x4c98e4['ZZsWe'](_0x5e95ea,_0x18441b)&&_0x3959a5){if(!_0x36080a&&_0x4c98e4['DSSOs'](shouldShowStopReminder,_0x59eacd)){const _0x357c62={'hookSpecificOutput':{'hookEventName':'Stop','additionalContext':'RANGER:\x20The\x20active\x20feature\x20review\x20still\x20has\x20unfinished\x20checklist\x20items.\x20Before\x20responding\x20to\x20the\x20user,\x20if\x20this\x20UI\x20work\x20is\x20ready,\x20run\x20`ranger\x20show`\x20and\x20then\x20`ranger\x20go`\x20for\x20the\x20relevant\x20scenario(s).\x20If\x20it\x20is\x20not\x20ready\x20for\x20browser\x20verification\x20yet,\x20continue\x20implementing.\x20Dashboard:\x20'+_0x431e39}};console['log'](JSON[_0x2e4786(0xc1)](_0x357c62));}}if(_0x5e95ea&&_0x18441b&&!_0x3959a5)try{await concludeSession(_0x1549a4['featureId'],_0x18441b);}catch{}await _0x4c98e4['xrhSx'](trackStop,_0x59eacd,!![],_0x3bb914);return;}catch{await _0x4c98e4['xrhSx'](trackStop,_0x59eacd,!![],_0x3bb914);return;}}async function trackStop(_0x16e4d0,_0x513cee,_0x2a6921){const _0x3563f0=_0x1d21,_0x4b9910={'pSDkO':function(_0x510e7a,_0x462de8){return _0x510e7a(_0x462de8);},'RPLkI':_0x3563f0(0xb8)};try{const _0x270bce=_0x4b9910[_0x3563f0(0xc0)](createTelemetryCollector,_0x3563f0(0xb5));await _0x270bce[_0x3563f0(0xaf)]({'sessionId':_0x16e4d0??undefined,'hooksEnabled':_0x513cee,'stopAllowed':_0x2a6921}),await _0x270bce[_0x3563f0(0xc9)](_0x4b9910[_0x3563f0(0xc4)]);}catch{}}
|
package/build/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0xa3f586,_0x26f813){var _0x5c5d16=_0x1727,_0x4e502c=_0xa3f586();while(!![]){try{var _0x74ad35=parseInt(_0x5c5d16(0x1ec))/0x1+-parseInt(_0x5c5d16(0x1f2))/0x2+parseInt(_0x5c5d16(0x1ed))/0x3*(parseInt(_0x5c5d16(0x1f3))/0x4)+-parseInt(_0x5c5d16(0x1ea))/0x5*(-parseInt(_0x5c5d16(0x1f1))/0x6)+parseInt(_0x5c5d16(0x1ee))/0x7+parseInt(_0x5c5d16(0x1ef))/0x8+-parseInt(_0x5c5d16(0x1eb))/0x9*(parseInt(_0x5c5d16(0x1f0))/0xa);if(_0x74ad35===_0x26f813)break;else _0x4e502c['push'](_0x4e502c['shift']());}catch(_0x23fbb9){_0x4e502c['push'](_0x4e502c['shift']());}}}(_0x5d2d,0xb8b0f));export{addEnv}from'./addEnv.js';function _0x5d2d(){var _0x43b79d=['72RDYHww','1035405nezOvI','3961695cULvRU','8361367iRzbfJ','7110528kHyCWI','4069320aRbUib','290826PGPVAx','1533226yyTdeE','4imxNDc','35VIkbfZ'];_0x5d2d=function(){return _0x43b79d;};return _0x5d2d();}export{clean}from'./clean.js';export{login}from'./login.js';export{start,ensureLocalEnv,ensureChromium,authenticate}from'./start.js';function _0x1727(_0x4b2bf8,_0x28cf0a){_0x4b2bf8=_0x4b2bf8-0x1ea;var _0x5d2d7e=_0x5d2d();var _0x172740=_0x5d2d7e[_0x4b2bf8];return _0x172740;}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';
|
package/build/commands/login.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x27e251,_0x53fd11){const _0x393e4a=_0x20f6,_0x26acc6=_0x27e251();while(!![]){try{const _0x57e70b=-parseInt(_0x393e4a(0x1da))/0x1*(-parseInt(_0x393e4a(0x1dd))/0x2)+-parseInt(_0x393e4a(0x1dc))/0x3*(-parseInt(_0x393e4a(0x1e4))/0x4)+parseInt(_0x393e4a(0x1e6))/0x5+parseInt(_0x393e4a(0x1e3))/0x6+-parseInt(_0x393e4a(0x1e0))/0x7+-parseInt(_0x393e4a(0x1de))/0x8+-parseInt(_0x393e4a(0x1df))/0x9;if(_0x57e70b===_0x53fd11)break;else _0x26acc6['push'](_0x26acc6['shift']());}catch(_0x2d4cba){_0x26acc6['push'](_0x26acc6['shift']());}}}(_0x494e,0xf1a82));import{runDeviceAuthFlow}from'./utils/deviceAuth.js';function _0x494e(){const _0x2acc12=['YvLJZ','3472608fuJXIU','1637980FifMUJ','fknEX','8526950XGDPpG','23087EvKoyV','KIpBG','3ailHPk','114kbRZET','8529104tvTSzg','1787004HrUfXI','12285644RVPmly','log'];_0x494e=function(){return _0x2acc12;};return _0x494e();}import{getCurrentUser}from'./utils/userApi.js';function _0x20f6(_0x3030f6,_0x109482){_0x3030f6=_0x3030f6-0x1da;const _0x494ea2=_0x494e();let _0x20f653=_0x494ea2[_0x3030f6];return _0x20f653;}import{getMcpAuthOrigin,mcpBootstrap}from'./mcpBootstrap.js';export async function login(){const _0x10f36e=_0x20f6,_0x20fd2c={'YvLJZ':function(_0x1f1ae1){return _0x1f1ae1();},'fknEX':function(_0x2fa465,_0x2897fd){return _0x2fa465(_0x2897fd);},'KIpBG':function(_0x5ed89f,_0xa4cd58){return _0x5ed89f instanceof _0xa4cd58;}},_0xbd2422=await getMcpAuthOrigin();if(_0xbd2422){console['log']('Re-authenticating\x20via\x20MCP\x20bootstrap...'),await _0x20fd2c[_0x10f36e(0x1e2)](mcpBootstrap);return;}const _0x3ce21d=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x3ce21d)throw new Error('Login\x20requires\x20an\x20interactive\x20terminal.\x20In\x20CI,\x20use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');try{const _0xc9ddba=await runDeviceAuthFlow(),_0x1e683a=await _0x20fd2c[_0x10f36e(0x1e5)](getCurrentUser,_0xc9ddba);_0x1e683a['success']?console['log']('\x0a✅\x20Logged\x20in\x20to\x20'+_0x1e683a['user']['organizationName']):console[_0x10f36e(0x1e1)]('\x0a✅\x20API\x20key\x20stored\x20successfully');}catch(_0x54342e){throw new Error('Login\x20failed:\x20'+(_0x20fd2c[_0x10f36e(0x1db)](_0x54342e,Error)?_0x54342e['message']:_0x54342e));}}
|
|
@@ -1 +1 @@
|
|
|
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;}
|
|
1
|
+
const _0x492db1=_0xf6d4;(function(_0x183d1c,_0x38f6ee){const _0x489336=_0xf6d4,_0x19764b=_0x183d1c();while(!![]){try{const _0x1304eb=parseInt(_0x489336(0x1d4))/0x1*(parseInt(_0x489336(0x251))/0x2)+-parseInt(_0x489336(0x1f9))/0x3+-parseInt(_0x489336(0x22c))/0x4*(parseInt(_0x489336(0x1ea))/0x5)+parseInt(_0x489336(0x1d3))/0x6+parseInt(_0x489336(0x23b))/0x7+-parseInt(_0x489336(0x230))/0x8*(parseInt(_0x489336(0x240))/0x9)+-parseInt(_0x489336(0x231))/0xa*(-parseInt(_0x489336(0x243))/0xb);if(_0x1304eb===_0x38f6ee)break;else _0x19764b['push'](_0x19764b['shift']());}catch(_0x367cfe){_0x19764b['push'](_0x19764b['shift']());}}}(_0x532b,0x2b7b9));function _0xf6d4(_0x516b2d,_0x4619e4){_0x516b2d=_0x516b2d-0x1c2;const _0x532b2c=_0x532b();let _0xf6d40a=_0x532b2c[_0x516b2d];return _0xf6d40a;}import{mkdir,writeFile,readFile}from'fs/promises';import{join}from'path';import{homedir}from'os';function _0x532b(){const _0xfe8830=['837319hbSdgv','clientSecret','\x20done','token','/.well-known/oauth-protected-resource','2286iaApzl','gUjrt','MCP\x20server\x20requires\x20authentication\x20but\x20running\x20in\x20non-interactive\x20mode.\x0a','11ehTNaW','gMmgf','Run\x20`ranger\x20setup\x20--mcp-bootstrap`\x20interactively\x20first.','trim','code','IFwQM','MEvOw','OjiJH','hex','vOknf','Bmqvt','client_id','/callback','bvacV','6366gWbKZT','isTTY','toString','MgzqH','proxied','authorization_servers','http://localhost:','auth-origin.txt','type','xdg-open','<html><body><h2>Invalid\x20callback</h2><p>Missing\x20code\x20or\x20state\x20mismatch.</p></body></html>','get_cli_token','FCXyd','accessToken','cpAoz','<html><body><h2>Authenticated!</h2><p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20the\x20terminal.</p></body></html>','HoVXk','1.0.0','access_token','state','uzVfL','pHkXB','Requesting\x20CLI\x20token...','Could\x20not\x20fetch\x20auth\x20server\x20metadata\x20from\x20','kCwAo','Discovering\x20authorization\x20server...','structuredContent','name','820140NwodBy','86OcrHQm','YZUHO','writeHead','origin','CifvB','tryqI','slice','get_cli_token\x20failed:\x20','hmlQy','\x0aConnecting\x20to\x20MCP\x20auth\x20server:\x20','MCP\x20initialize\x20failed:\x20','content','Authorization\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20and\x20no\x20cached\x20client\x20found','now','result','initialize','set','\x0aToken\x20written\x20to\x20','end','pathname','uqtSw','refreshToken','5DxiVmD','ZSGGa','replace','KkwIi','wwpeG','json','code_challenge','ijIUw','2025-03-26','includes','eeHMA','ranger-cli','pgahy','status','KqsaS','534612odqdEy','OAuthTimeoutError','127.0.0.1','YTwYr','PLepU','btwSE','platform','close','lHPRx','get','.ranger','tools/call','NaEBH','YWmSr','oabVd','url','qZhgO','searchParams','lSoFk','stringify','stdout','resource','parse','yOqbP','expiresAt','string','write','hJXwc','DDeXb','refresh_token','HySzw','open','startsWith','clientId','isError','MCP\x20server\x20returned\x20HTTP\x20','POST','cgwpZ','application/json,\x20text/event-stream','OAuth\x20error:\x20','data:','Initializing\x20MCP\x20session...','<html><body><h2>Authentication\x20failed</h2><p>','\x0aCached\x20OAuth\x20client\x20may\x20be\x20stale\x20—\x20clearing\x20and\x20retrying...\x0a','base64url','UeWSC','WvfTp','MKLiw','message','utf-8','error_description','840676UKCRYI','UycPn','error','registration_endpoint','9320yYJerW','3323430ccNRes','text','log','text/html','KznPy','ZdJOw','code_challenge_method','No\x20JSON-RPC\x20response\x20found\x20in\x20SSE\x20stream','iSRVi','Could\x20not\x20extract\x20token\x20from\x20MCP\x20response'];_0x532b=function(){return _0xfe8830;};return _0x532b();}import{createServer}from'http';import{randomBytes,createHash}from'crypto';import{getMcpAuthUrl}from'./utils/environment.js';const CALLBACK_PORT=0x4d78,TOKEN_CACHE_PATH=join(homedir(),_0x492db1(0x203),'mcp-oauth-tokens.json'),AUTH_ORIGIN_PATH=join(homedir(),_0x492db1(0x203),_0x492db1(0x258));export async function getMcpAuthOrigin(){const _0x41375e=_0x492db1;try{const _0x6a690e=(await readFile(AUTH_ORIGIN_PATH,_0x41375e(0x22a)))[_0x41375e(0x246)]();return _0x6a690e||null;}catch{return null;}}export async function mcpBootstrap(){const _0x9d7889=_0x492db1,_0x3d1759={'eeHMA':function(_0x47a250,_0x1a66ad){return _0x47a250===_0x1a66ad;},'Sdfmo':'proxied','hJXwc':function(_0x31994f){return _0x31994f();},'NaEBH':_0x9d7889(0x242)},_0x351e23=getMcpAuthUrl();currentOrigin=_0x351e23;const _0x4ac818=process[_0x9d7889(0x20d)][_0x9d7889(0x252)]??![];console[_0x9d7889(0x233)](_0x9d7889(0x1dd)+_0x351e23+'\x0a');const _0x36443f=await tryUnauthenticated(_0x351e23);let _0x66540b=null;if(_0x3d1759[_0x9d7889(0x1f4)](_0x36443f,_0x3d1759['Sdfmo']))_0x66540b='';else{_0x66540b=await _0x3d1759[_0x9d7889(0x214)](loadCachedToken);if(!_0x66540b){if(!_0x4ac818)throw new Error(_0x3d1759[_0x9d7889(0x205)]+_0x9d7889(0x245));_0x66540b=await oauthFlow(_0x351e23);}}await callGetCliToken(_0x351e23,_0x66540b);}async function tryUnauthenticated(_0x48c7a1){const _0x1a97a2=_0x492db1,_0x4e0f9e={'sFXUR':'POST','ZdJOw':'application/json','pHkXB':_0x1a97a2(0x21f),'gMmgf':_0x1a97a2(0x1e3),'NmplC':'ranger-cli','jtoDF':_0x1a97a2(0x1c8),'cgwpZ':_0x1a97a2(0x255)},_0x48dccf=await fetch(_0x48c7a1,{'method':_0x4e0f9e['sFXUR'],'headers':{'Content-Type':_0x4e0f9e[_0x1a97a2(0x236)],'Accept':_0x4e0f9e[_0x1a97a2(0x1cc)]},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':_0x4e0f9e[_0x1a97a2(0x244)],'params':{'protocolVersion':_0x1a97a2(0x1f2),'capabilities':{},'clientInfo':{'name':_0x4e0f9e['NmplC'],'version':_0x4e0f9e['jtoDF']}}})});if(_0x48dccf['ok'])return await _0x48dccf['text'](),_0x4e0f9e[_0x1a97a2(0x21e)];if(_0x48dccf[_0x1a97a2(0x1f7)]===0x191)return await _0x48dccf['text'](),'needs-oauth';const _0xa90ac=await _0x48dccf['text']();throw new Error(_0x1a97a2(0x21c)+_0x48dccf[_0x1a97a2(0x1f7)]+':\x20'+_0xa90ac);}class OAuthTimeoutError extends Error{constructor(_0x47c517){const _0x391f4d=_0x492db1,_0x4529fd={'CifvB':_0x391f4d(0x1fa)};super(_0x47c517),this[_0x391f4d(0x1d2)]=_0x4529fd[_0x391f4d(0x1d8)];}}async function oauthFlow(_0x2852a7){const _0x5f2c4a=_0x492db1,_0x3ee7d5={'iSRVi':function(_0x1cb79c){return _0x1cb79c();}};try{return await oauthFlowAttempt(_0x2852a7);}catch(_0x5b08f5){if(_0x5b08f5 instanceof OAuthTimeoutError&&await loadCachedClient())return console[_0x5f2c4a(0x233)](_0x5f2c4a(0x224)),await _0x3ee7d5[_0x5f2c4a(0x239)](clearCachedClient),await oauthFlowAttempt(_0x2852a7);throw _0x5b08f5;}}async function oauthFlowAttempt(_0x208889){const _0x1247ad=_0x492db1,_0x7fc807={'CTsyy':function(_0x5c18df,_0x1bdd4a){return _0x5c18df(_0x1bdd4a);},'cpAoz':'Registering\x20OAuth\x20client...','uzVfL':function(_0x5c8363,_0x4512d5,_0x56a45a){return _0x5c8363(_0x4512d5,_0x56a45a);},'yOqbP':_0x1247ad(0x247),'MgzqH':_0x1247ad(0x23d),'JSTnU':_0x1247ad(0x1e0),'MvpqK':_0x1247ad(0x225),'KqsaS':'sha256','sebvf':function(_0x5e90ed,_0x53f122){return _0x5e90ed(_0x53f122);},'oabVd':_0x1247ad(0x24b),'YZUHO':'response_type','feOJj':_0x1247ad(0x24e),'SYTPY':'redirect_uri','qvtvi':_0x1247ad(0x237),'KznPy':_0x1247ad(0x1ca),'YWmSr':_0x1247ad(0x20e),'KkwIi':function(_0x6043ec,_0x4cf578){return _0x6043ec(_0x4cf578);},'xctCi':function(_0x5d3b1d,_0x16c607){return _0x5d3b1d(_0x16c607);},'HoVXk':'Exchanging\x20authorization\x20code...','UeWSC':'POST','kWhYi':'application/x-www-form-urlencoded'},_0x5a85ad=_0x208889[_0x1247ad(0x1ec)](/\/mcp$/,'');process['stdout'][_0x1247ad(0x213)](_0x1247ad(0x1d0));const _0x275c74=await _0x7fc807['CTsyy'](fetch,_0x5a85ad+_0x1247ad(0x23f));if(!_0x275c74['ok'])throw new Error('Could\x20not\x20fetch\x20protected\x20resource\x20metadata\x20from\x20MCP\x20server');const _0x1e4582=await _0x275c74['json'](),_0x3ccd64=_0x1e4582[_0x1247ad(0x256)]?.[0x0];if(!_0x3ccd64)throw new Error('No\x20authorization_servers\x20in\x20protected\x20resource\x20metadata');console[_0x1247ad(0x233)]('\x20'+_0x3ccd64);const _0x4e369b=await fetchAuthServerMetadata(_0x3ccd64);let _0x5cfde5,_0x5b769c;const _0x132b98=await loadCachedClient();if(_0x132b98)_0x5cfde5=_0x132b98['clientId'],_0x5b769c=_0x132b98['clientSecret'];else{if(_0x4e369b[_0x1247ad(0x22f)]){process[_0x1247ad(0x20d)]['write'](_0x7fc807[_0x1247ad(0x1c5)]);const _0x4e306d=await _0x7fc807[_0x1247ad(0x1cb)](fetch,_0x4e369b['registration_endpoint'],{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x1247ad(0x20c)]({'client_name':'Ranger\x20CLI','redirect_uris':['http://localhost:'+CALLBACK_PORT+_0x1247ad(0x24f)],'grant_types':['authorization_code',_0x1247ad(0x216)],'response_types':[_0x7fc807[_0x1247ad(0x210)]],'token_endpoint_auth_method':'none'})});if(!_0x4e306d['ok']){const _0x5992fc=await _0x4e306d[_0x1247ad(0x232)]();throw new Error('Client\x20registration\x20failed:\x20'+_0x5992fc);}const _0x185d7f=await _0x4e306d['json']();_0x5cfde5=_0x185d7f['client_id'],_0x5b769c=_0x185d7f['client_secret'],await _0x7fc807['uzVfL'](saveCachedClient,_0x5cfde5,_0x5b769c),console['log'](_0x7fc807[_0x1247ad(0x254)]);}else throw new Error(_0x7fc807['JSTnU']);}const _0x5c0c48=_0x7fc807['CTsyy'](randomBytes,0x20)['toString'](_0x7fc807['MvpqK']),_0x3c7961=createHash(_0x7fc807[_0x1247ad(0x1f8)])['update'](_0x5c0c48)['digest'](_0x7fc807['MvpqK']),_0x498f60=_0x7fc807['sebvf'](randomBytes,0x10)['toString'](_0x7fc807[_0x1247ad(0x207)]),_0x2ada69=new URL(_0x4e369b['authorization_endpoint']);_0x2ada69[_0x1247ad(0x20a)][_0x1247ad(0x1e4)](_0x7fc807[_0x1247ad(0x1d5)],_0x1247ad(0x247)),_0x2ada69['searchParams'][_0x1247ad(0x1e4)](_0x7fc807['feOJj'],_0x5cfde5),_0x2ada69['searchParams']['set'](_0x7fc807['SYTPY'],_0x1247ad(0x257)+CALLBACK_PORT+_0x1247ad(0x24f)),_0x2ada69[_0x1247ad(0x20a)]['set'](_0x1247ad(0x1f0),_0x3c7961),_0x2ada69[_0x1247ad(0x20a)]['set'](_0x7fc807['qvtvi'],'S256'),_0x2ada69[_0x1247ad(0x20a)][_0x1247ad(0x1e4)](_0x7fc807[_0x1247ad(0x235)],_0x498f60);_0x1e4582[_0x1247ad(0x20e)]&&_0x2ada69['searchParams']['set'](_0x7fc807[_0x1247ad(0x206)],_0x1e4582['resource']);console[_0x1247ad(0x233)]('\x0aOpening\x20browser\x20for\x20authentication...'),console[_0x1247ad(0x233)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x0a'+_0x2ada69[_0x1247ad(0x253)]()+'\x0a'),await _0x7fc807[_0x1247ad(0x1ed)](openBrowser,_0x2ada69['toString']());const _0x43ed83=await _0x7fc807['xctCi'](waitForCallback,_0x498f60);process['stdout']['write'](_0x7fc807[_0x1247ad(0x1c7)]);const _0x294eb6=new URLSearchParams({'grant_type':'authorization_code','code':_0x43ed83,'redirect_uri':_0x1247ad(0x257)+CALLBACK_PORT+'/callback','client_id':_0x5cfde5,'code_verifier':_0x5c0c48});_0x5b769c&&_0x294eb6['set']('client_secret',_0x5b769c);_0x1e4582['resource']&&_0x294eb6['set'](_0x7fc807[_0x1247ad(0x206)],_0x1e4582[_0x1247ad(0x20e)]);const _0x378024=await fetch(_0x4e369b['token_endpoint'],{'method':_0x7fc807[_0x1247ad(0x226)],'headers':{'Content-Type':_0x7fc807['kWhYi']},'body':_0x294eb6});if(!_0x378024['ok']){const _0x44a641=await _0x378024['text']();throw new Error('Token\x20exchange\x20failed:\x20'+_0x44a641);}const _0x19d38b=await _0x378024['json']();return console[_0x1247ad(0x233)]('\x20done'),await saveCachedToken(_0x19d38b[_0x1247ad(0x1c9)],_0x19d38b['refresh_token'],_0x19d38b['expires_in']),_0x19d38b['access_token'];}async function callGetCliToken(_0xc6138f,_0x3b7b44){const _0x266a17=_0x492db1,_0x4c4ebf={'PLepU':'application/json,\x20text/event-stream','aTdgI':'Authorization','HySzw':_0x266a17(0x222),'bvacV':'2.0','DlDsd':_0x266a17(0x1e3),'cdAVU':_0x266a17(0x1f5),'viZRQ':'\x20done','vOknf':function(_0x27d101,_0x374259,_0x584fba){return _0x27d101(_0x374259,_0x584fba);},'YTwYr':_0x266a17(0x204),'IFwQM':function(_0x1aef39){return _0x1aef39();},'nCyQV':'refresh.txt','Bmqvt':function(_0x5292f0,_0x275e42,_0x319481,_0x1517eb){return _0x5292f0(_0x275e42,_0x319481,_0x1517eb);},'UycPn':_0x266a17(0x258)},_0x1428f8={'Content-Type':'application/json','Accept':_0x4c4ebf[_0x266a17(0x1fd)]};_0x3b7b44&&(_0x1428f8[_0x4c4ebf['aTdgI']]='Bearer\x20'+_0x3b7b44);const _0x5815b4=async _0x6d1794=>{const _0x5ed6f4=_0x266a17,_0x5abf7c=await fetch(_0xc6138f,{'method':'POST','headers':_0x1428f8,'body':JSON['stringify'](_0x6d1794)});if(!_0x5abf7c['ok']){const _0x134c69=await _0x5abf7c[_0x5ed6f4(0x232)]();throw new Error('HTTP\x20'+_0x5abf7c['status']+':\x20'+_0x134c69);}return parseResponse(_0x5abf7c);};process['stdout'][_0x266a17(0x213)](_0x4c4ebf[_0x266a17(0x217)]);const _0x3cf839=await _0x5815b4({'jsonrpc':_0x4c4ebf[_0x266a17(0x250)],'id':0x1,'method':_0x4c4ebf['DlDsd'],'params':{'protocolVersion':_0x266a17(0x1f2),'capabilities':{},'clientInfo':{'name':_0x4c4ebf['cdAVU'],'version':_0x266a17(0x1c8)}}});if(_0x3cf839['error'])throw new Error(_0x266a17(0x1de)+(_0x3cf839[_0x266a17(0x22e)][_0x266a17(0x229)]??JSON['stringify'](_0x3cf839[_0x266a17(0x22e)])));console[_0x266a17(0x233)](_0x4c4ebf['viZRQ']),await _0x4c4ebf[_0x266a17(0x24c)](fetch,_0xc6138f,{'method':_0x266a17(0x21d),'headers':_0x1428f8,'body':JSON[_0x266a17(0x20c)]({'jsonrpc':_0x4c4ebf['bvacV'],'method':'notifications/initialized'})})['then'](_0x35c63b=>_0x35c63b['text']()),process['stdout']['write'](_0x266a17(0x1cd));const _0x334240=await _0x5815b4({'jsonrpc':_0x4c4ebf['bvacV'],'id':0x2,'method':_0x4c4ebf[_0x266a17(0x1fc)],'params':{'name':_0x266a17(0x1c2),'arguments':{}}});if(_0x334240['error'])throw new Error(_0x266a17(0x1db)+(_0x334240['error']['message']??JSON[_0x266a17(0x20c)](_0x334240['error'])));console[_0x266a17(0x233)](_0x4c4ebf['viZRQ']);const _0x225a91=extractToken(_0x334240[_0x266a17(0x1e2)]);if(!_0x225a91){console['error']('\x0aUnexpected\x20response\x20structure:'),console['error'](JSON['stringify'](_0x334240['result'],null,0x2));throw new Error(_0x266a17(0x23a));}const _0x1f11b5=_0x4c4ebf['vOknf'](join,_0x4c4ebf[_0x266a17(0x248)](homedir),'.ranger'),_0x227186=_0x4c4ebf['vOknf'](join,_0x1f11b5,_0x4c4ebf['nCyQV']);await mkdir(_0x1f11b5,{'recursive':!![]}),await writeFile(_0x227186,_0x225a91,{'mode':0x180}),await _0x4c4ebf[_0x266a17(0x24d)](writeFile,join(_0x1f11b5,_0x4c4ebf[_0x266a17(0x22d)]),_0xc6138f,{'mode':0x180}),console[_0x266a17(0x233)](_0x266a17(0x1e5)+_0x227186),console[_0x266a17(0x233)]('Run\x20`ranger\x20status`\x20to\x20verify\x20authentication.\x0a');}async function fetchAuthServerMetadata(_0x48e22c){const _0x41302d=_0x492db1,_0x2a79aa={'qZhgO':function(_0x10a58d,_0x32d855){return _0x10a58d(_0x32d855);}},_0x52650f=_0x48e22c+'/.well-known/oauth-authorization-server',_0x33a3cf=await _0x2a79aa[_0x41302d(0x209)](fetch,_0x52650f);if(!_0x33a3cf['ok'])throw new Error(_0x41302d(0x1ce)+_0x52650f+':\x20'+_0x33a3cf['status']);return _0x33a3cf[_0x41302d(0x1ef)]();}function waitForCallback(_0x32a8ae){const _0x4ad0e6=_0x492db1,_0x2105da={'uwEqG':function(_0x1c90d1,_0x6616df){return _0x1c90d1(_0x6616df);},'wwpeG':function(_0x3ac3d5,_0x16f428){return _0x3ac3d5!==_0x16f428;},'jefYj':'Not\x20found','gShgt':_0x4ad0e6(0x1ca),'WvfTp':_0x4ad0e6(0x1fb)};return new Promise((_0xf0a050,_0x4c25cd)=>{const _0x5c732e=_0x4ad0e6,_0x305dbc={'ZSGGa':function(_0x26ea49,_0x2cdbc8){const _0x26473b=_0xf6d4;return _0x2105da[_0x26473b(0x1ee)](_0x26ea49,_0x2cdbc8);},'FehSo':_0x2105da['jefYj'],'OjiJH':_0x2105da['gShgt'],'XnjRv':_0x5c732e(0x22e),'ijIUw':_0x5c732e(0x22b),'btwSE':function(_0x2c1811,_0x1d366a){return _0x2c1811(_0x1d366a);},'uqtSw':'text/html','tryqI':function(_0x3e7da3,_0x123fdd){return _0x3e7da3(_0x123fdd);}},_0x5b5670=setTimeout(()=>{_0x519932['close'](),_0x2105da['uwEqG'](_0x4c25cd,new OAuthTimeoutError('OAuth\x20callback\x20timed\x20out\x20after\x202\x20minutes'));},0x1d4c0),_0x519932=createServer((_0x40e9b1,_0x25539e)=>{const _0x23a43e=_0x5c732e,_0x42db5f=new URL(_0x40e9b1[_0x23a43e(0x208)]??'/','http://localhost:'+CALLBACK_PORT);if(_0x305dbc[_0x23a43e(0x1eb)](_0x42db5f[_0x23a43e(0x1e7)],_0x23a43e(0x24f))){_0x25539e['writeHead'](0x194),_0x25539e[_0x23a43e(0x1e6)](_0x305dbc['FehSo']);return;}const _0x4a6e10=_0x42db5f['searchParams'][_0x23a43e(0x202)](_0x23a43e(0x247)),_0x3b7378=_0x42db5f['searchParams']['get'](_0x305dbc[_0x23a43e(0x24a)]),_0x313cd5=_0x42db5f['searchParams'][_0x23a43e(0x202)](_0x305dbc['XnjRv']);if(_0x313cd5){const _0x48d9f7=_0x42db5f['searchParams']['get'](_0x305dbc[_0x23a43e(0x1f1)])??_0x313cd5;_0x25539e['writeHead'](0xc8,{'Content-Type':_0x23a43e(0x234)}),_0x25539e[_0x23a43e(0x1e6)](_0x23a43e(0x223)+_0x48d9f7+'</p><p>You\x20can\x20close\x20this\x20window.</p></body></html>'),_0x305dbc[_0x23a43e(0x1fe)](clearTimeout,_0x5b5670),_0x519932['close'](),_0x4c25cd(new Error(_0x23a43e(0x220)+_0x48d9f7));return;}if(!_0x4a6e10||_0x305dbc['ZSGGa'](_0x3b7378,_0x32a8ae)){_0x25539e[_0x23a43e(0x1d6)](0x190,{'Content-Type':_0x305dbc[_0x23a43e(0x1e8)]}),_0x25539e['end'](_0x23a43e(0x25b));return;}_0x25539e[_0x23a43e(0x1d6)](0xc8,{'Content-Type':_0x23a43e(0x234)}),_0x25539e['end'](_0x23a43e(0x1c6)),clearTimeout(_0x5b5670),_0x519932[_0x23a43e(0x200)](),_0x305dbc[_0x23a43e(0x1d9)](_0xf0a050,_0x4a6e10);});_0x519932['listen'](CALLBACK_PORT,_0x2105da[_0x5c732e(0x227)]);});}async function openBrowser(_0x550a17){const _0x1bf431=_0x492db1,_0x2239de={'JcYpj':'child_process','DDeXb':function(_0x4d176a,_0x3cc023){return _0x4d176a===_0x3cc023;},'hmlQy':'win32','Rfeax':'start','Tbwob':_0x1bf431(0x25a),'RYQJH':function(_0x2b8a44,_0x23016c){return _0x2b8a44(_0x23016c);}},{exec:_0x3d996c}=await import(_0x2239de['JcYpj']),_0x1e8d3f=process[_0x1bf431(0x1ff)]==='darwin'?_0x1bf431(0x218):_0x2239de[_0x1bf431(0x215)](process['platform'],_0x2239de[_0x1bf431(0x1dc)])?_0x2239de['Rfeax']:_0x2239de['Tbwob'];_0x2239de['RYQJH'](_0x3d996c,_0x1e8d3f+'\x20\x22'+_0x550a17+'\x22');}let currentOrigin='';async function loadCachedToken(){const _0x277b09=_0x492db1,_0x23d959={'lSoFk':'utf-8'};try{const _0x29ea6f=JSON['parse'](await readFile(TOKEN_CACHE_PATH,_0x23d959[_0x277b09(0x20b)]));if(_0x29ea6f['origin']&&_0x29ea6f[_0x277b09(0x1d7)]!==currentOrigin)return null;if(_0x29ea6f['expiresAt']&&Date[_0x277b09(0x1e1)]()>_0x29ea6f[_0x277b09(0x211)])return null;return _0x29ea6f[_0x277b09(0x1c4)]??null;}catch{return null;}}async function saveCachedToken(_0x5e120a,_0x3c4607,_0x271f42){const _0x1b96ea=_0x492db1,_0x1caf7b={'kCwAo':function(_0x4bbb68,_0x23acd7){return _0x4bbb68+_0x23acd7;},'FCXyd':function(_0x303bb1,_0x46f58d){return _0x303bb1*_0x46f58d;},'vZrmO':function(_0x125cbe){return _0x125cbe();},'MKLiw':function(_0x36535a,_0x2bc62d,_0x541b89,_0x1476e0){return _0x36535a(_0x2bc62d,_0x541b89,_0x1476e0);}},_0x5ef6dc=await loadCachedData(),_0xf4216={..._0x5ef6dc,'origin':currentOrigin,'accessToken':_0x5e120a,'refreshToken':_0x3c4607??_0x5ef6dc?.[_0x1b96ea(0x1e9)],'expiresAt':_0x271f42?_0x1caf7b[_0x1b96ea(0x1cf)](Date[_0x1b96ea(0x1e1)](),_0x1caf7b[_0x1b96ea(0x1c3)](_0x271f42,0x3e8)):undefined};await mkdir(join(_0x1caf7b['vZrmO'](homedir),'.ranger'),{'recursive':!![]}),await _0x1caf7b[_0x1b96ea(0x228)](writeFile,TOKEN_CACHE_PATH,JSON[_0x1b96ea(0x20c)](_0xf4216),{'mode':0x180});}async function loadCachedClient(){const _0x185739=_0x492db1,_0x515f82={'AnYjO':function(_0x286077){return _0x286077();}},_0xe2b6b4=await _0x515f82['AnYjO'](loadCachedData);if(_0xe2b6b4?.[_0x185739(0x1d7)]&&_0xe2b6b4[_0x185739(0x1d7)]!==currentOrigin)return null;return _0xe2b6b4?.[_0x185739(0x21a)]?{'clientId':_0xe2b6b4['clientId'],'clientSecret':_0xe2b6b4[_0x185739(0x23c)]}:null;}async function clearCachedClient(){const _0x1b8557=_0x492db1,_0x28a073={'drXSo':function(_0x4fffc9){return _0x4fffc9();},'lHPRx':function(_0x419a2a,_0x5a43ff,_0x3f1827,_0x14e52d){return _0x419a2a(_0x5a43ff,_0x3f1827,_0x14e52d);}},_0x222cd9=await _0x28a073['drXSo'](loadCachedData);if(!_0x222cd9)return;const {clientId:_0xa5a0ff,clientSecret:_0x150922,..._0x4852b8}=_0x222cd9;await _0x28a073[_0x1b8557(0x201)](writeFile,TOKEN_CACHE_PATH,JSON['stringify'](_0x4852b8),{'mode':0x180});}async function saveCachedClient(_0x5d1297,_0x4f63e7){const _0x7f9e3d=_0x492db1,_0xe58bd={'gUjrt':function(_0x5d8006){return _0x5d8006();}},_0x3858cc=await loadCachedData(),_0x31c7d1={..._0x3858cc,'origin':currentOrigin,'accessToken':_0x3858cc?.[_0x7f9e3d(0x1c4)]??'','clientId':_0x5d1297,'clientSecret':_0x4f63e7};await mkdir(join(_0xe58bd[_0x7f9e3d(0x241)](homedir),_0x7f9e3d(0x203)),{'recursive':!![]}),await writeFile(TOKEN_CACHE_PATH,JSON[_0x7f9e3d(0x20c)](_0x31c7d1),{'mode':0x180});}async function loadCachedData(){const _0x47ed91=_0x492db1,_0x1a9ac6={'GKYqt':function(_0x2f6912,_0x17271b,_0x1ec505){return _0x2f6912(_0x17271b,_0x1ec505);},'EVtSq':_0x47ed91(0x22a)};try{return JSON[_0x47ed91(0x20f)](await _0x1a9ac6['GKYqt'](readFile,TOKEN_CACHE_PATH,_0x1a9ac6['EVtSq']));}catch{return null;}}async function parseResponse(_0xaaa039){const _0x4c2ace=_0x492db1,_0xc56e7f={'vLCax':'text/event-stream','pgahy':_0x4c2ace(0x221),'tRbUw':function(_0xd07ac2,_0x32ac75){return _0xd07ac2!==_0x32ac75;}},_0x595cd9=_0xaaa039['headers']['get']('content-type')??'';if(_0x595cd9[_0x4c2ace(0x1f3)](_0xc56e7f['vLCax'])){const _0x11ac58=await _0xaaa039[_0x4c2ace(0x232)]();for(const _0x3c6f93 of _0x11ac58['split']('\x0a')){const _0x4df452=_0x3c6f93['trim']();if(_0x4df452[_0x4c2ace(0x219)](_0xc56e7f[_0x4c2ace(0x1f6)])){const _0x20fb3b=_0x4df452[_0x4c2ace(0x1da)](_0x4c2ace(0x221)['length'])[_0x4c2ace(0x246)]();if(!_0x20fb3b)continue;try{const _0x940010=JSON['parse'](_0x20fb3b);if(_0xc56e7f['tRbUw'](_0x940010['id'],undefined)||_0x940010['error'])return _0x940010;}catch{}}}throw new Error(_0x4c2ace(0x238));}return _0xaaa039['json']();}function extractToken(_0x5e9139){const _0x3c2d97=_0x492db1,_0xbb9db7={'QdUZE':_0x3c2d97(0x212),'MEvOw':function(_0x4d5349,_0x100306){return _0x4d5349===_0x100306;},'WSZOm':'text'};if(!_0x5e9139)return null;const _0x1d60c3=_0x5e9139[_0x3c2d97(0x1d1)];if(_0x1d60c3?.[_0x3c2d97(0x23e)]&&typeof _0x1d60c3[_0x3c2d97(0x23e)]===_0xbb9db7['QdUZE'])return _0x1d60c3[_0x3c2d97(0x23e)];if(_0x5e9139[_0x3c2d97(0x21b)]){const _0xdb4ae4=_0x5e9139['content'];throw new Error('Server\x20returned\x20error:\x20'+(_0xdb4ae4?.[0x0]?.[_0x3c2d97(0x232)]??'Unknown\x20error'));}const _0x2b2458=_0x5e9139[_0x3c2d97(0x1df)];if(_0x2b2458)for(const _0x2fb33c of _0x2b2458){if(_0xbb9db7[_0x3c2d97(0x249)](_0x2fb33c[_0x3c2d97(0x259)],_0xbb9db7['WSZOm'])&&_0x2fb33c[_0x3c2d97(0x232)]){try{const _0x272ce1=JSON[_0x3c2d97(0x20f)](_0x2fb33c['text']);if(typeof _0x272ce1?.[_0x3c2d97(0x23e)]===_0x3c2d97(0x212))return _0x272ce1[_0x3c2d97(0x23e)];}catch{}const _0x47b930=_0x2fb33c['text']['match'](/(rngr_[A-Za-z0-9_-]+)/);if(_0x47b930)return _0x47b930[0x1];}}return null;}
|
|
@@ -1 +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
|
+
function _0x5c42(_0x3b4041,_0x5b7201){_0x3b4041=_0x3b4041-0xd8;var _0x3ea9bf=_0x3ea9();var _0x5c4221=_0x3ea9bf[_0x3b4041];return _0x5c4221;}(function(_0x4d4a70,_0x1dd338){var _0x4b1b63=_0x5c42,_0x53ccdf=_0x4d4a70();while(!![]){try{var _0x56048f=parseInt(_0x4b1b63(0xd9))/0x1*(parseInt(_0x4b1b63(0xdd))/0x2)+-parseInt(_0x4b1b63(0xde))/0x3*(-parseInt(_0x4b1b63(0xeb))/0x4)+-parseInt(_0x4b1b63(0xdc))/0x5+-parseInt(_0x4b1b63(0xe3))/0x6*(-parseInt(_0x4b1b63(0xdb))/0x7)+parseInt(_0x4b1b63(0xea))/0x8*(parseInt(_0x4b1b63(0xe1))/0x9)+parseInt(_0x4b1b63(0xe2))/0xa*(parseInt(_0x4b1b63(0xd8))/0xb)+-parseInt(_0x4b1b63(0xe0))/0xc;if(_0x56048f===_0x1dd338)break;else _0x53ccdf['push'](_0x53ccdf['shift']());}catch(_0x507a35){_0x53ccdf['push'](_0x53ccdf['shift']());}}}(_0x3ea9,0xc3102));export async function migrateProfile(_0x3809c5,_0x230672){var _0x1c3ce3=_0x5c42,_0x5f59de={'kBmSR':function(_0x195dc1,_0x2c4cd0){return _0x195dc1+_0x2c4cd0;},'CeBvD':function(_0x2cf836,_0x5447be){return _0x2cf836+_0x5447be;},'XawXK':function(_0x156fc1,_0x4c2b5d){return _0x156fc1+_0x4c2b5d;},'hUmRI':function(_0x315aff,_0x964154){return _0x315aff+_0x964154;},'tUcTG':'Re-auth\x20via\x20the\x20new\x20flow:\x0a','qsmeQ':'\x20\x20•\x20username/password:\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--url\x20<url>\x0a','FNlur':_0x1c3ce3(0xda),'PRCBE':'Delete\x20them\x20once\x20you\x20have\x20re-auth-ed.\x0a','jJNwy':'Reference:\x20docs/feature/cloud-profiles-old-vs-new-structure.md'};console['error'](_0x5f59de['kBmSR'](_0x5f59de[_0x1c3ce3(0xe7)](_0x5f59de['XawXK'](_0x5f59de['kBmSR'](_0x5f59de[_0x1c3ce3(0xdf)](_0x5f59de['CeBvD'](_0x5f59de[_0x1c3ce3(0xdf)](_0x5f59de[_0x1c3ce3(0xe9)]('ranger\x20profile\x20migrate\x20is\x20no\x20longer\x20supported.\x0a','\x0a'),'Cloud\x20profiles\x20are\x201:1\x20with\x20accounts;\x20legacy\x20profile\x20names\x20'),'aren\x27t\x20account-keyed\x20and\x20session\x20state\x20can\x27t\x20be\x20mapped\x20cleanly.\x0a')+'\x0a'+_0x5f59de[_0x1c3ce3(0xe6)],_0x5f59de[_0x1c3ce3(0xe5)]),_0x5f59de['FNlur']),'\x0a'),_0x1c3ce3(0xec))+_0x5f59de['PRCBE']+'\x0a',_0x5f59de[_0x1c3ce3(0xe8)])),process[_0x1c3ce3(0xe4)](0x1);}function _0x3ea9(){var _0x59b32a=['4gawIdS','3tgxYUi','XawXK','9245700zTKMZF','103941Jlfhkm','2140KhHmIx','779238PsuAjo','exit','qsmeQ','tUcTG','CeBvD','jJNwy','hUmRI','136mxNNmk','3400672RehBuS','Legacy\x20<project>/.ranger/\x20dirs\x20stay\x20readable\x20during\x20the\x20alpha.\x20','43648YbPlrk','16103CRWvIn','\x20\x20•\x20SSO/OAuth:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ranger\x20profile\x20add\x20<account-email>\x0a','49ldjVZw','6337585byrtAq'];_0x3ea9=function(){return _0x59b32a;};return _0x3ea9();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x5c3b(){const _0x521c5d=['986648BXOObo','KSrCD','project','WYaCO','beaTg','HkpcM','jDFoT','Would\x20you\x20like\x20to\x20install\x20skills?','794013twgOeR','install','✓\x20Marketplace\x20already\x20added','110HrOEdu','plugin','❌\x20Failed\x20to\x20install\x20plugin:','✓\x20Ranger\x20skills\x20already\x20installed','list','❌\x20Failed\x20to\x20add\x20marketplace:','\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20','Afcom','fLcfb','gxpsb','output','BdUaT','316zllTCq','ynTis','385184oLyqKO','24DYvEwn','117VUnMxF','9309VOCnZa','ranger-testing/trailhead','confirm','error','685865eZPXHJ','412156gWvKbA','Project\x20(shared\x20with\x20team\x20via\x20git)','fKFnp','includes','already\x20enabled','success','XiTxh','ofcLP','lRufA','log','.claude','JnGFa','775691vcOJIQ'];_0x5c3b=function(){return _0x521c5d;};return _0x5c3b();}(function(_0x505318,_0x582e2d){const _0x1715cf=_0x3928,_0x46b745=_0x505318();while(!![]){try{const _0x2b6b94=parseInt(_0x1715cf(0x18a))/0x1+-parseInt(_0x1715cf(0x169))/0x2+parseInt(_0x1715cf(0x185))/0x3*(-parseInt(_0x1715cf(0x180))/0x4)+parseInt(_0x1715cf(0x189))/0x5+-parseInt(_0x1715cf(0x183))/0x6*(-parseInt(_0x1715cf(0x168))/0x7)+-parseInt(_0x1715cf(0x182))/0x8*(parseInt(_0x1715cf(0x184))/0x9)+-parseInt(_0x1715cf(0x174))/0xa*(-parseInt(_0x1715cf(0x171))/0xb);if(_0x2b6b94===_0x582e2d)break;else _0x46b745['push'](_0x46b745['shift']());}catch(_0x2b73c0){_0x46b745['push'](_0x46b745['shift']());}}}(_0x5c3b,0x67141));import{join}from'path';import{existsSync}from'fs';import _0x402a09 from'inquirer';import{skillup}from'../skillup.js';import{runClaudeCommand,isMarketplaceAdded,isPluginInstalled}from'../utils/claudePlugin.js';function _0x3928(_0x197cc7,_0x5c2fc9){_0x197cc7=_0x197cc7-0x165;const _0x5c3b3b=_0x5c3b();let _0x3928be=_0x5c3b3b[_0x197cc7];return _0x3928be;}import{getProjectRoot,getSkillsDir}from'../utils/claudeConfig.js';export async function ensureClaudePlugin(_0x5e12cc){const _0x3bc244=_0x3928,_0x27da15={'beaTg':'ranger@trailhead','BdUaT':function(_0x59aed6,_0x2da426,_0x709c86){return _0x59aed6(_0x2da426,_0x709c86);},'HpMMJ':'.claude','KSrCD':_0x3bc244(0x178),'JEnHU':'Where\x20should\x20the\x20plugin\x20be\x20installed?','ZFStk':'User\x20(available\x20in\x20all\x20your\x20projects)','bgyQS':'user','cqvqj':function(_0x1d783e,_0x40f809){return _0x1d783e(_0x40f809);},'yaDKt':'trailhead','jDFoT':_0x3bc244(0x173),'ZICJJ':'plugin','fObaH':'marketplace','rMLgP':_0x3bc244(0x179),'XiTxh':'\x0aYou\x20can\x20install\x20manually\x20with:','laOdb':function(_0x4f5cc4,_0x567384,_0x2be295){return _0x4f5cc4(_0x567384,_0x2be295);},'Afcom':_0x3bc244(0x172),'iRHfB':'--scope','ofcLP':_0x3bc244(0x16b),'tWyvN':function(_0x4fa9fd){return _0x4fa9fd();},'UlvnN':'✓\x20Claude\x20Code\x20plugin\x20installed\x20successfully','liQFi':function(_0x21d9b9,_0x51a57c){return _0x21d9b9===_0x51a57c;},'yQKWW':function(_0x1a3f99,_0x4bef61,_0x63236b){return _0x1a3f99(_0x4bef61,_0x63236b);},'bViAO':function(_0x1bf3e2,_0x38c1ad){return _0x1bf3e2===_0x38c1ad;},'UgwYS':'⚠\x20Failed\x20to\x20enable\x20plugin:','lRufA':'✓\x20Claude\x20Code\x20plugin\x20enabled'},_0x46946f=await isPluginInstalled(_0x27da15[_0x3bc244(0x16d)]);if(_0x46946f)return console[_0x3bc244(0x165)]('✓\x20Claude\x20Code\x20plugin\x20already\x20installed'),![];const _0x19fb78=existsSync(_0x27da15[_0x3bc244(0x17f)](join,getProjectRoot(),_0x27da15['HpMMJ']));let _0x7e2a0e;if(_0x5e12cc)_0x7e2a0e=_0x5e12cc;else{if(_0x19fb78)_0x7e2a0e=_0x3bc244(0x16b);else{console['log']('\x0a📦\x20Claude\x20Code\x20Plugin\x0a');const _0x3e51ba=await _0x402a09['prompt']([{'type':_0x27da15[_0x3bc244(0x16a)],'name':'pluginScope','message':_0x27da15['JEnHU'],'choices':[{'name':_0x27da15['ZFStk'],'value':'user'},{'name':_0x3bc244(0x18b),'value':'project'}],'default':_0x27da15['bgyQS']}]);_0x7e2a0e=_0x3e51ba['pluginScope'];}}console[_0x3bc244(0x165)]('\x0aInstalling\x20Claude\x20Code\x20plugin\x20('+_0x7e2a0e+'\x20level)...\x0a');const _0x226939=await _0x27da15['cqvqj'](isMarketplaceAdded,_0x27da15['yaDKt']);let _0x59534d=_0x226939;if(_0x226939)console[_0x3bc244(0x165)](_0x27da15[_0x3bc244(0x16f)]);else{const _0x1679a1=await runClaudeCommand([_0x27da15['ZICJJ'],_0x27da15['fObaH'],'add',_0x3bc244(0x186)]);!_0x1679a1[_0x3bc244(0x18f)]?(console[_0x3bc244(0x188)](_0x27da15['rMLgP'],_0x1679a1[_0x3bc244(0x188)]),console['log'](_0x27da15[_0x3bc244(0x190)]),console['log']('\x20\x20claude\x20plugin\x20marketplace\x20add\x20ranger-testing/trailhead'),console['log']('\x20\x20claude\x20plugin\x20install\x20ranger@trailhead\x20--scope\x20'+_0x7e2a0e)):_0x59534d=!![];}if(_0x59534d){const _0x22246c=await _0x27da15['laOdb'](runClaudeCommand,['plugin',_0x27da15[_0x3bc244(0x17b)],_0x27da15['beaTg'],_0x27da15['iRHfB'],_0x7e2a0e],{'cwd':_0x7e2a0e===_0x27da15[_0x3bc244(0x191)]?_0x27da15['tWyvN'](getProjectRoot):undefined});if(!_0x22246c['success'])console['error'](_0x3bc244(0x176),_0x22246c['error']),console[_0x3bc244(0x165)](_0x27da15['XiTxh']),console[_0x3bc244(0x165)](_0x3bc244(0x17a)+_0x7e2a0e);else{console['log'](_0x27da15['UlvnN']);const _0x16a917=[_0x3bc244(0x175),'enable','ranger@trailhead'];_0x27da15['liQFi'](_0x7e2a0e,_0x3bc244(0x16b))&&_0x16a917['push'](_0x27da15['iRHfB'],_0x27da15['ofcLP']);const _0x3f07e7=await _0x27da15['yQKWW'](runClaudeCommand,_0x16a917,{'captureOutput':!![],'cwd':_0x27da15['bViAO'](_0x7e2a0e,_0x3bc244(0x16b))?getProjectRoot():undefined}),_0x5913bf=_0x3f07e7[_0x3bc244(0x17e)]?.[_0x3bc244(0x18d)](_0x3bc244(0x18e));!_0x3f07e7['success']&&!_0x5913bf?console['error'](_0x27da15['UgwYS'],_0x3f07e7[_0x3bc244(0x188)]):console[_0x3bc244(0x165)](_0x27da15[_0x3bc244(0x192)]);}}return!![];}export async function ensureClaudeSkills(_0x13025d){const _0x3706d8=_0x3928,_0x2a591c={'JnGFa':function(_0x34bc9a,_0x25abf2){return _0x34bc9a(_0x25abf2);},'ckQlA':function(_0x31a87e,_0x4a83a9,_0x2c2b98,_0x1f5881){return _0x31a87e(_0x4a83a9,_0x2c2b98,_0x1f5881);},'ezIsG':function(_0x18a8da,_0x20109d){return _0x18a8da(_0x20109d);},'WYaCO':'user','HNRmp':'ranger','uqDCZ':function(_0x18a0bb,_0x22f709){return _0x18a0bb(_0x22f709);},'PoHau':function(_0x2d8ff2,_0x4a3c65,_0x278022,_0x37fa67){return _0x2d8ff2(_0x4a3c65,_0x278022,_0x37fa67);},'HkpcM':function(_0x3e05ed,_0x7d253d){return _0x3e05ed(_0x7d253d);},'fLcfb':'project','wMPfp':'SKILL.md','zNmTh':_0x3706d8(0x177),'fKFnp':function(_0x57a1b9,_0x5e3e9d,_0x13abaf){return _0x57a1b9(_0x5e3e9d,_0x13abaf);},'ynTis':function(_0x4f8652){return _0x4f8652();},'kRkXg':_0x3706d8(0x187),'gxpsb':'wantsSkillup','nJEIJ':_0x3706d8(0x170)},_0x31a782=_0x2a591c[_0x3706d8(0x167)](existsSync,_0x2a591c['ckQlA'](join,_0x2a591c['ezIsG'](getSkillsDir,_0x2a591c[_0x3706d8(0x16c)]),_0x2a591c['HNRmp'],'SKILL.md')),_0x59c8d2=_0x2a591c['uqDCZ'](existsSync,_0x2a591c['PoHau'](join,_0x2a591c[_0x3706d8(0x16e)](getSkillsDir,_0x2a591c['fLcfb']),_0x2a591c['HNRmp'],_0x2a591c['wMPfp']));if(_0x31a782||_0x59c8d2)return console[_0x3706d8(0x165)](_0x2a591c['zNmTh']),![];const _0x2fe12b=existsSync(_0x2a591c[_0x3706d8(0x18c)](join,_0x2a591c[_0x3706d8(0x181)](getProjectRoot),_0x3706d8(0x166)));let _0x55552a=!![];if(_0x13025d)await _0x2a591c[_0x3706d8(0x16e)](skillup,{'autoInstall':_0x13025d,'suppressUsage':!![]});else{if(_0x2fe12b)await skillup({'autoInstall':_0x2a591c[_0x3706d8(0x17c)],'suppressUsage':!![]});else{const _0x418020=await _0x402a09['prompt']([{'type':_0x2a591c['kRkXg'],'name':_0x2a591c[_0x3706d8(0x17d)],'message':_0x2a591c['nJEIJ'],'default':!![]}]);_0x55552a=_0x418020['wantsSkillup'],_0x55552a&&await skillup({'suppressUsage':!![]});}}return _0x55552a;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3322c9,_0x445d4e){const _0x345bb0=_0x164a,_0x22a138=_0x3322c9();while(!![]){try{const _0xe1ed38=-parseInt(_0x345bb0(0xf1))/0x1+parseInt(_0x345bb0(0xde))/0x2+parseInt(_0x345bb0(0xef))/0x3+parseInt(_0x345bb0(0xe2))/0x4+-parseInt(_0x345bb0(0xda))/0x5*(-parseInt(_0x345bb0(0xec))/0x6)+parseInt(_0x345bb0(0xf7))/0x7+parseInt(_0x345bb0(0xe0))/0x8*(-parseInt(_0x345bb0(0xf3))/0x9);if(_0xe1ed38===_0x445d4e)break;else _0x22a138['push'](_0x22a138['shift']());}catch(_0x3eaef7){_0x22a138['push'](_0x22a138['shift']());}}}(_0x3eaf,0x772db));import{join}from'path';import{existsSync}from'fs';import{mkdir,readFile,writeFile}from'fs/promises';function _0x3eaf(){const _0x13e5b3=['error','162102PMlSBs','⚠\x20Failed\x20to\x20read\x20opencode.json.\x20Please\x20add\x20the\x20plugin\x20manually.','248eQgTrB','✓\x20OpenCode\x20plugin\x20configured','2389756FutoWK','Jmxyr','parse','Where\x20should\x20the\x20plugin\x20be\x20installed?','@ranger-testing/opencode-plugin','user','QuCzP','$schema','utgRV','utf-8','6zbSDwI','plugin','WQVPh','1618389hOEXHE','kWEgo','303178nwHOSy','opencode.json','397179sWJDuf','DkpTh','ktIyh','prompt','4109385ikgGDy','log','1771930YImfaM','stringify','HurPU'];_0x3eaf=function(){return _0x13e5b3;};return _0x3eaf();}function _0x164a(_0x673f41,_0x22a196){_0x673f41=_0x673f41-0xda;const _0x3eafe3=_0x3eaf();let _0x164ab5=_0x3eafe3[_0x673f41];return _0x164ab5;}import _0x3e36d9 from'inquirer';import{getOpencodeConfigDir}from'../utils/opencodeConfig.js';export async function ensureOpencodePluginConfig(_0x15e285){const _0x32b419=_0x164a,_0x2a20bd={'kWEgo':function(_0x4bce46,_0x3a0b62,_0x47e55a){return _0x4bce46(_0x3a0b62,_0x47e55a);},'Jmxyr':function(_0x29d869,_0x3d10dc){return _0x29d869(_0x3d10dc);},'HurPU':'project','dZhwa':'\x0a📦\x20OpenCode\x20Plugin\x0a','YJKGl':'pluginScope','ouRmU':_0x32b419(0xe5),'WQVPh':'Project\x20(shared\x20with\x20team\x20via\x20git)','QuCzP':_0x32b419(0xe7),'utgRV':'opencode.json','ktIyh':'Failed\x20to\x20read\x20opencode.json','SUUQH':'✓\x20OpenCode\x20plugin\x20already\x20configured','DkpTh':function(_0x5dee17,_0x311368,_0x222284){return _0x5dee17(_0x311368,_0x222284);},'KrDgK':_0x32b419(0xe1)},_0xa26772=existsSync(_0x2a20bd[_0x32b419(0xf0)](join,_0x2a20bd[_0x32b419(0xe3)](getOpencodeConfigDir,_0x2a20bd[_0x32b419(0xdc)]),_0x32b419(0xf2)));let _0x32b60c;if(_0x15e285)_0x32b60c=_0x15e285;else{if(_0xa26772)_0x32b60c=_0x2a20bd['HurPU'];else{console[_0x32b419(0xf8)](_0x2a20bd['dZhwa']);const _0x4e6743=await _0x3e36d9[_0x32b419(0xf6)]([{'type':'list','name':_0x2a20bd['YJKGl'],'message':_0x2a20bd['ouRmU'],'choices':[{'name':'User\x20(available\x20in\x20all\x20your\x20projects)','value':_0x32b419(0xe7)},{'name':_0x2a20bd[_0x32b419(0xee)],'value':'project'}],'default':_0x2a20bd[_0x32b419(0xe8)]}]);_0x32b60c=_0x4e6743['pluginScope'];}}const _0x8cab46=_0x2a20bd['kWEgo'](join,_0x2a20bd['Jmxyr'](getOpencodeConfigDir,_0x32b60c),_0x2a20bd[_0x32b419(0xea)]),_0x26f909=_0x32b419(0xe6),_0x3d33ff='https://opencode.ai/config.json';let _0x33b39d={};if(_0x2a20bd['Jmxyr'](existsSync,_0x8cab46))try{const _0x1cdc68=await readFile(_0x8cab46,_0x32b419(0xeb));_0x33b39d=JSON[_0x32b419(0xe4)](_0x1cdc68);}catch(_0x12d3f8){return console[_0x32b419(0xdd)](_0x32b419(0xdf)),{'configured':![],'scope':_0x32b60c,'error':_0x2a20bd[_0x32b419(0xf5)],'details':_0x12d3f8};}const _0x12b36f=Array['isArray'](_0x33b39d[_0x32b419(0xed)])?_0x33b39d[_0x32b419(0xed)]:[];if(_0x12b36f['includes'](_0x26f909))return console[_0x32b419(0xf8)](_0x2a20bd['SUUQH']),{'configured':![],'scope':_0x32b60c};return _0x33b39d[_0x32b419(0xe9)]=_0x33b39d['$schema']||_0x3d33ff,_0x33b39d['plugin']=[..._0x12b36f,_0x26f909],await _0x2a20bd[_0x32b419(0xf4)](mkdir,_0x2a20bd[_0x32b419(0xe3)](getOpencodeConfigDir,_0x32b60c),{'recursive':!![]}),await writeFile(_0x8cab46,JSON[_0x32b419(0xdb)](_0x33b39d,null,0x2)+'\x0a'),console[_0x32b419(0xf8)](_0x2a20bd['KrDgK']),{'configured':!![],'scope':_0x32b60c};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5d2cdd,_0x155496){var _0x39cc00=_0x5310,_0xb2660a=_0x5d2cdd();while(!![]){try{var _0x29be24=-parseInt(_0x39cc00(0x6d))/0x1*(-parseInt(_0x39cc00(0x6a))/0x2)+-parseInt(_0x39cc00(0x70))/0x3+-parseInt(_0x39cc00(0x71))/0x4+-parseInt(_0x39cc00(0x77))/0x5+parseInt(_0x39cc00(0x79))/0x6*(-parseInt(_0x39cc00(0x6f))/0x7)+parseInt(_0x39cc00(0x76))/0x8+parseInt(_0x39cc00(0x69))/0x9*(parseInt(_0x39cc00(0x7a))/0xa);if(_0x29be24===_0x155496)break;else _0xb2660a['push'](_0xb2660a['shift']());}catch(_0x1a813c){_0xb2660a['push'](_0xb2660a['shift']());}}}(_0x4d3f,0xb2f13));function _0x5310(_0x326f81,_0x39cb11){_0x326f81=_0x326f81-0x68;var _0x4d3fe4=_0x4d3f();var _0x531001=_0x4d3fe4[_0x326f81];return _0x531001;}export async function setupCi(_0x19b251,_0x502451,_0x5c4425){var _0x316777=_0x5310,_0x3c16d7={'XNCbm':function(_0x36385e,_0x44067e){return _0x36385e+_0x44067e;},'TWJyl':function(_0x2f0ab8,_0x2b7393){return _0x2f0ab8+_0x2b7393;},'UUFkZ':function(_0x1be881,_0x12f4bb){return _0x1be881+_0x12f4bb;},'OGmjs':_0x316777(0x6b),'Tccss':_0x316777(0x75),'BNEJI':'\x20\x20RANGER_TEST_USERNAME=...\x20RANGER_TEST_PASSWORD=...\x20ranger\x20go\x20--base-url\x20<url>\x0a','cIzHD':_0x316777(0x6c)};console[_0x316777(0x73)](_0x3c16d7[_0x316777(0x74)](_0x3c16d7[_0x316777(0x68)](_0x3c16d7['UUFkZ'](_0x3c16d7['OGmjs'],_0x3c16d7[_0x316777(0x6e)]),_0x3c16d7['BNEJI'])+_0x3c16d7['cIzHD'],_0x316777(0x72))),process[_0x316777(0x78)](0x1);}function _0x4d3f(){var _0x59aec5=['3307297TqklwI','4101456OrChpB','2591852FeAjRj','See:\x20docs/feature/cloud-profiles-old-vs-new-structure.md','error','XNCbm','Use\x20the\x20new\x20flow:\x0a','3324032EawMiI','1717370dcAhRp','exit','6WcXyqg','60IpJQBH','TWJyl','4376349wIaNPl','42pAGodM','ranger\x20setup\x20--ci\x20writes\x20to\x20the\x20legacy\x20.ranger/ci/\x20tree\x20which\x20is\x20no\x20longer\x20supported.\x0a','For\x20a\x20shared\x20cloud\x20profile:\x20ranger\x20profile\x20add\x20<account-email>\x0a','10997hErJTg','Tccss'];_0x4d3f=function(){return _0x59aec5;};return _0x4d3f();}
|