@ranger-testing/ranger-cli 3.1.7-alpha.a5be4ca-60 → 3.1.7-alpha.be2850d-64
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/deleteProfile.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/actors.js +1 -0
- 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 -1
- 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/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.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/rangerwrightCli.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/scenarioOriginCheck.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/tunnelClient.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/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/build/skills/ranger/SKILL.md +8 -0
- package/package.json +5 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x25ed96=_0xdb1b;(function(_0x798f6f,_0xbfc016){const _0x1ce422=_0xdb1b,_0x516fc7=_0x798f6f();while(!![]){try{const _0x51b9cc=parseInt(_0x1ce422(0x1bb))/0x1+parseInt(_0x1ce422(0x1ee))/0x2+-parseInt(_0x1ce422(0x188))/0x3*(parseInt(_0x1ce422(0x1fe))/0x4)+-parseInt(_0x1ce422(0x192))/0x5*(-parseInt(_0x1ce422(0x1c6))/0x6)+-parseInt(_0x1ce422(0x1aa))/0x7+parseInt(_0x1ce422(0x1e7))/0x8*(parseInt(_0x1ce422(0x1b8))/0x9)+-parseInt(_0x1ce422(0x1ff))/0xa;if(_0x51b9cc===_0xbfc016)break;else _0x516fc7['push'](_0x516fc7['shift']());}catch(_0xb237cb){_0x516fc7['push'](_0x516fc7['shift']());}}}(_0xa0f0,0xec11d));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x226ce7 from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isBareLocalhost,isCachedSessionLive,isInteractive,needsTunnel,orderLoginDomains,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{matchAuthEnvironmentByHost,matchAuthEnvironmentExact}from'./matchAuthEnvironment.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x93010a){const _0x4b7259=_0xdb1b;try{return new URL(_0x93010a)[_0x4b7259(0x184)];}catch{return _0x4b7259(0x1b4);}}function errorMessageForTelemetry(_0x1d16f2){const _0x20037f=_0xdb1b,_0x56855e={'ZgwII':function(_0x319d3c,_0x46d946){return _0x319d3c instanceof _0x46d946;}};return _0x56855e['ZgwII'](_0x1d16f2,Error)?_0x1d16f2[_0x20037f(0x196)]:undefined;}function trackBridgeEvent(_0x22bbbb,_0x3d7ba7){const _0x16d40e=_0xdb1b,_0x4f0b1b={'wonEv':'tunnel_bridge_event','BZihN':function(_0x3be5eb,_0x596592){return _0x3be5eb===_0x596592;},'IrgCD':'tunnel_error','ClgyF':'local_ws_error'};if(!_0x22bbbb)return;const _0x275220={'tunnelSessionId':_0x3d7ba7['sessionId'],'tunnelEventType':_0x3d7ba7['type'],'connectionId':_0x3d7ba7['connectionId'],'code':_0x3d7ba7['code'],'reason':_0x3d7ba7['reason'],'error':_0x3d7ba7[_0x16d40e(0x21a)],'elapsedMs':_0x3d7ba7[_0x16d40e(0x175)],'activeLocalConnections':_0x3d7ba7['activeLocalConnections'],'pendingLocalConnections':_0x3d7ba7[_0x16d40e(0x18e)]};_0x22bbbb[_0x16d40e(0x1da)](_0x4f0b1b['wonEv'],_0x275220),(_0x4f0b1b[_0x16d40e(0x165)](_0x3d7ba7[_0x16d40e(0x17b)],_0x4f0b1b[_0x16d40e(0x16a)])||_0x4f0b1b['BZihN'](_0x3d7ba7[_0x16d40e(0x17b)],_0x4f0b1b[_0x16d40e(0x1e5)]))&&void _0x22bbbb[_0x16d40e(0x214)]('tunnel_bridge',new Error(_0x3d7ba7['error']??_0x3d7ba7[_0x16d40e(0x17b)]),_0x275220);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x59618d=await getToken();if(!_0x59618d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0x59618d;}async function apiRequest(_0x45924d,_0x18e67e={}){const _0x663edd=_0xdb1b,_0x2a0329={'eRwOL':function(_0x5a6749){return _0x5a6749();},'ozmxI':function(_0x4429e2,_0x3d1fd9,_0x358fed){return _0x4429e2(_0x3d1fd9,_0x358fed);},'chhYe':function(_0x1883d9,_0x3cff81){return _0x1883d9===_0x3cff81;},'URTcs':'string'},_0xb3e008=await _0x2a0329['eRwOL'](requireToken),_0x44e4ce=getApiBaseUrl(),_0x2d5793=await _0x2a0329[_0x663edd(0x1c7)](fetch,''+_0x44e4ce+_0x45924d,{..._0x18e67e,'headers':{'Authorization':_0x663edd(0x166)+_0xb3e008,'Content-Type':_0x663edd(0x16e),..._0x18e67e[_0x663edd(0x19f)]??{}}});if(!_0x2d5793['ok']){let _0x21d069='',_0x49f3ae;try{const _0x4599d6=await _0x2d5793[_0x663edd(0x1f6)](),_0x134a6f=(_0x2a0329[_0x663edd(0x1c5)](typeof _0x4599d6['error'],_0x663edd(0x1ca))?_0x4599d6[_0x663edd(0x21a)]:undefined)??JSON['stringify'](_0x4599d6);_0x21d069=_0x134a6f;typeof _0x4599d6[_0x663edd(0x1c2)]===_0x2a0329['URTcs']&&_0x4599d6[_0x663edd(0x1c2)]&&(_0x21d069=_0x21d069+'\x0a'+_0x4599d6[_0x663edd(0x1c2)]);if(_0x2a0329['chhYe'](typeof _0x4599d6[_0x663edd(0x1b0)],'string'))_0x49f3ae=_0x4599d6[_0x663edd(0x1b0)];}catch{_0x21d069=_0x2d5793[_0x663edd(0x170)];}throw new ApiError('API\x20request\x20'+_0x45924d+_0x663edd(0x190)+_0x2d5793[_0x663edd(0x17a)]+'):\x20'+_0x21d069,_0x2d5793[_0x663edd(0x17a)],_0x21d069,_0x49f3ae);}if(_0x2d5793[_0x663edd(0x17a)]===0xcc)return undefined;return _0x2d5793['json']();}export class ApiError extends Error{['status'];['detail'];[_0x25ed96(0x1b0)];constructor(_0x486244,_0x8239fe,_0xb70317,_0xe93b9b){const _0x5ba6bb=_0x25ed96,_0x1f25ac={'YQtXB':_0x5ba6bb(0x174)};super(_0x486244),this[_0x5ba6bb(0x17a)]=_0x8239fe,this['detail']=_0xb70317,this[_0x5ba6bb(0x1b0)]=_0xe93b9b,this[_0x5ba6bb(0x1a3)]=_0x1f25ac['YQtXB'];}}export async function fetchCloudProfile(_0x330146){const _0x2f869e=_0x25ed96,_0x3527ae={'UnOgg':function(_0x41df68,_0x3c87f3){return _0x41df68 instanceof _0x3c87f3;},'bJmWU':function(_0x5d1ce0,_0x7ac9cf){return _0x5d1ce0===_0x7ac9cf;}};try{return await apiRequest(_0x2f869e(0x1f5)+encodeURIComponent(_0x330146));}catch(_0x5accf9){if(_0x3527ae[_0x2f869e(0x1d9)](_0x5accf9,ApiError)&&_0x3527ae[_0x2f869e(0x168)](_0x5accf9['status'],0x194))return null;throw _0x5accf9;}}export async function listCloudProfiles(){const _0x21631b=_0x25ed96,_0x353219={'bdgnK':'/api/v1/profiles'},_0x24db0a=await apiRequest(_0x353219['bdgnK']);return _0x24db0a[_0x21631b(0x1d6)];}export async function deleteCloudProfile(_0x98610b){const _0x25bf25=_0x25ed96;try{await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x98610b),{'method':'DELETE'});}catch(_0x4900cc){if(_0x4900cc instanceof ApiError&&_0x4900cc[_0x25bf25(0x17a)]===0x194)throw new Error(_0x25bf25(0x221)+_0x98610b+'\x22\x20not\x20found.');throw _0x4900cc;}}function _0xa0f0(){const _0x32d51b=['/login','Pass\x20--base-url\x20<your-app-url>\x20so\x20Ranger\x20can\x20match\x20the\x20right\x20one,\x20or\x20create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`.','PWPql','storageStatePath','profiles','fHmRX','Multiple\x20auth\x20environments\x20declare\x20this\x20host\x20(','UnOgg','trackPhaseEnd','Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20(','tunnel_login_request','join','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','environment_key','wsEndpoint','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','extraHTTPHeaders','organizationId','jicvZ','ClgyF','\x20\x20-\x20pass\x20`--env\x20<key>`\x20to\x20pick\x20the\x20auth\x20environment\x20by\x20name,\x20or\x0a','514328PKsSOH','\x22\x20on\x20profile\x20\x22','PNYWV','map','\x22,\x20and\x20cloud\x20sessions\x20don\x27t\x20apply\x20to\x20localhost.\x0a','invalidateOn','envKey','998270FpKTCL','SfPfg','replace','DELETE','loginInstructions','\x20\x20Ranger\x20can\x27t\x20assume\x20your\x20org\x27s\x20default\x20login\x20flow\x20applies\x20to\x20an\x20arbitrary\x20local\x20app.\x0a','QYaWl','/api/v1/profiles/','json','setupHeaders','\x22,\x20attempting\x20login...','sessionId','stringify','\x22,\x20refreshing\x20session...','domains','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','116HoEbra','5796550tUOTLB','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','newPage','close','ZWQlx','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','env','session_state','JfhvB','whskW','kLjxP','\x22\x20matched\x20by\x20host\x20for\x20','ABilH','storageState','YrNqK','browserOptions','success','JKgvX','omPQX','qwEBx','RANGER_TEST_PASSWORD','trackPhaseError','sKsFo','No\x20auth\x20environment\x20matches\x20the\x20local\x20target\x20\x22','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','wvYVR','tunnel','error','keys','THitF','opfyK','length','xKPoZ','environmentKey','Cloud\x20profile\x20\x22','sessionCheckPath','Edxdi','auth','/api/v1/profiles','forceLogin','vBKqK','BZihN','Bearer\x20','COuTq','bJmWU','tunnel_session_id','IrgCD','FhCUJ','MkTwG','effectiveBaseUrl','application/json','\x20\x20Login\x20successful.\x20Session\x20cached.','statusText','RANGER_TUNNEL_LOGIN_HEADED','log','isArray','ApiError','elapsedMs','Browser\x20login\x20timed\x20out\x20before\x20completion.','RANGER_TEST_USERNAME','YWemU','GFGzp','status','type','\x22\x20failed\x20validation\x20—\x20re-login\x20needed...','WRPwW','FvZjx','RxAiB','Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20','origin','EfVYm','gRknK','host','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','push','force','173427tBpnNG','/api/v1/profiles/auth-config','\x20\x20•\x20or\x20pass\x20--env\x20<key>\x20to\x20run\x20an\x20automated\x20login\x20for\x20this\x20target.','\x22\x20instead.','Tvifg','tOFCB','pendingLocalConnections','trim','\x20failed\x20(','mcXry','25dIHWvo','settings','trackPhaseStart','none','message','ambiguous','clientIp','\x20\x20Created\x20cloud\x20profile\x20\x22','/session','WmRxp','\x20\x20Server-side\x20login\x20error:\x20','newContext','Browser\x20login\x20timed\x20out\x20after\x20','headers','maXfT','target_url','\x20\x20-\x20run\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20','name','userAgent','pNWWK','cookies','\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','assertedEnv','\x22;\x20proceeding\x20with\x20loginInstructions.','9821427hfLGat','true','environments','\x20--url\x20','OtQfG','oXZkv','code','RQMZC','NiXEb','parse','invalid-url','sessionState','SqUbD','\x22.\x0a','72QnppYL','utf-8','POST','1708185hzBrJT','key','\x20\x20Cached\x20session\x20for\x20\x22','telemetry','username','KhAzu','\x20\x20No\x20live\x20session\x20for\x20\x22','test_output','\x20(If\x20you\x20meant\x20a\x20profile,\x20use\x20--profile.)','Auth\x20environment\x20\x22','chhYe','2285364SUdSmt','ozmxI','pw_endpoint','\x20\x20-\x20ask\x20your\x20Ranger\x20admin\x20to\x20add\x20\x22','string','defaultEnvironmentKey','ZElnw','/api/v1/tunnel/sessions/','MTObm','\x20Your\x20org\x20has\x20no\x20auth\x20environments\x20configured.','TpHSd','HLGOs'];_0xa0f0=function(){return _0x32d51b;};return _0xa0f0();}export async function createCloudProfile(_0x31293c,_0xbd48f2,_0x59d21d={}){const _0x484f02=_0x25ed96,_0x61197a={'yRphM':function(_0x535625,_0x2e5711,_0x1692e7){return _0x535625(_0x2e5711,_0x1692e7);}},_0x42eb35={'name':_0x31293c};if(_0xbd48f2)_0x42eb35[_0x484f02(0x1df)]=_0xbd48f2;_0x59d21d[_0x484f02(0x193)]&&Object[_0x484f02(0x21b)](_0x59d21d[_0x484f02(0x193)])['length']>0x0&&(_0x42eb35['settings']=_0x59d21d['settings']);if(_0x59d21d['username'])_0x42eb35['username']=_0x59d21d['username'];if(_0x59d21d['password'])_0x42eb35['password']=_0x59d21d['password'];return await _0x61197a['yRphM'](apiRequest,_0x484f02(0x162),{'method':'POST','body':JSON[_0x484f02(0x1fa)](_0x42eb35)});}export async function uploadCloudProfileSession(_0x1f99b9,_0x1a6f6d){const _0x42e3a9=_0x25ed96,_0x3bb642={'QYaWl':function(_0x19ff56,_0xabd062,_0x247e74){return _0x19ff56(_0xabd062,_0x247e74);},'omPQX':function(_0x34b9b5,_0xefcea5){return _0x34b9b5(_0xefcea5);}};return await _0x3bb642[_0x42e3a9(0x1f4)](apiRequest,'/api/v1/profiles/'+_0x3bb642[_0x42e3a9(0x211)](encodeURIComponent,_0x1f99b9)+_0x42e3a9(0x19a),{'method':'POST','body':JSON[_0x42e3a9(0x1fa)]({'session_state':_0x1a6f6d})});}export async function saveCloudProfileCredentials(_0x2fd36d,_0x32c198,_0xb3ac10){const _0x114d60={'cDITo':function(_0x49f149,_0x125a3b,_0x3a0707){return _0x49f149(_0x125a3b,_0x3a0707);},'UaoVV':function(_0x2a59c3,_0x25a720){return _0x2a59c3(_0x25a720);}};await _0x114d60['cDITo'](apiRequest,'/api/v1/profiles/'+_0x114d60['UaoVV'](encodeURIComponent,_0x2fd36d),{'method':'PUT','body':JSON['stringify']({'username':_0x32c198,'password':_0xb3ac10})});}export async function fetchAuthConfig(){const _0x219cc1=_0x25ed96,_0x19c58c={'IdSVf':function(_0x41eb8b,_0x1b53b6){return _0x41eb8b instanceof _0x1b53b6;}};try{const _0x21d146=await apiRequest(_0x219cc1(0x189));return _0x21d146['auth_config'];}catch(_0x49a49b){return _0x19c58c['IdSVf'](_0x49a49b,ApiError)&&_0x49a49b['status']!==0x194&&console['error'](_0x219cc1(0x1de)+_0x49a49b['message']),null;}}function _0xdb1b(_0x441673,_0x15cf64){_0x441673=_0x441673-0x162;const _0xa0f059=_0xa0f0();let _0xdb1b03=_0xa0f059[_0x441673];return _0xdb1b03;}async function createTunnelSession(_0x1c19f9){const _0x4fdff1=_0x25ed96,_0x55595a={'FuVGf':function(_0x194bf6,_0x3a51ee,_0x2bcfd6){return _0x194bf6(_0x3a51ee,_0x2bcfd6);},'MkTwG':'agent'};return await _0x55595a['FuVGf'](apiRequest,'/api/v1/tunnel/sessions',{'method':_0x4fdff1(0x1ba),'body':JSON['stringify']({'targetUrl':_0x1c19f9,'mode':_0x55595a[_0x4fdff1(0x16c)]})});}async function deleteTunnelSession(_0x1b9e61){const _0x3bcd34=_0x25ed96,_0x558b62={'SqUbD':_0x3bcd34(0x1f1)};await apiRequest(_0x3bcd34(0x1cd)+_0x1b9e61,{'method':_0x558b62[_0x3bcd34(0x1b6)]});}export function pickAdHocEnvKey(_0x439fb8,_0x1d3057,_0x1067af){const _0x3419ca=_0x25ed96,_0x18c7bc={'nHRMN':function(_0x229ada,_0x3e10eb){return _0x229ada+_0x3e10eb;},'HLGOs':function(_0x514af3,_0x13a337){return _0x514af3+_0x13a337;},'YWemU':function(_0x4e9320,_0x21185e,_0x62bcad){return _0x4e9320(_0x21185e,_0x62bcad);},'maXfT':function(_0x3ddfd3,_0x39a7f7){return _0x3ddfd3 in _0x39a7f7;},'GVmMt':_0x3419ca(0x197),'EfVYm':function(_0x2e2b41,_0x3a39d5){return _0x2e2b41+_0x3a39d5;},'MTObm':function(_0x532ed3,_0x57923d){return _0x532ed3===_0x57923d;}};if(_0x1067af){if(!_0x439fb8?.[_0x3419ca(0x1ac)]?.[_0x1067af]){const _0x20cf76=Object[_0x3419ca(0x21b)](_0x439fb8?.[_0x3419ca(0x1ac)]??{});throw new Error(_0x18c7bc['nHRMN'](_0x18c7bc['HLGOs'](_0x3419ca(0x1c4)+_0x1067af+'\x22\x20not\x20found\x20in\x20your\x20org\x27s\x20config.',_0x20cf76[_0x3419ca(0x21e)]?'\x20Available:\x20'+_0x20cf76[_0x3419ca(0x1dd)](',\x20')+'.':_0x3419ca(0x1cf)),_0x3419ca(0x1c3)));}return _0x1067af;}if(!_0x439fb8)return null;if(_0x1d3057){const _0x5971d7=_0x18c7bc[_0x3419ca(0x178)](matchAuthEnvironmentExact,_0x1d3057,_0x439fb8);if(_0x5971d7)return _0x5971d7;const _0x1dfdb8=matchAuthEnvironmentByHost(_0x1d3057,_0x439fb8);if(_0x1dfdb8&&_0x18c7bc[_0x3419ca(0x1a0)](_0x3419ca(0x1bc),_0x1dfdb8))return console[_0x3419ca(0x172)]('\x20\x20Auth\x20env\x20\x22'+_0x1dfdb8[_0x3419ca(0x1bc)]+_0x3419ca(0x20a)+_0x1d3057+'\x20(declared\x20port\x20differs;\x20pass\x20--env\x20to\x20override).'),_0x1dfdb8[_0x3419ca(0x1bc)];if(_0x1dfdb8&&_0x18c7bc[_0x3419ca(0x1a0)](_0x18c7bc['GVmMt'],_0x1dfdb8))throw new Error(_0x3419ca(0x1d8)+_0x1dfdb8[_0x3419ca(0x197)][_0x3419ca(0x1dd)](',\x20')+');\x20pass\x20--env\x20<key>\x20to\x20pick\x20one.');if(needsTunnel(_0x1d3057))throw new Error(_0x18c7bc[_0x3419ca(0x1d1)](_0x18c7bc['EfVYm'](_0x18c7bc[_0x3419ca(0x182)](_0x3419ca(0x216)+_0x1d3057+_0x3419ca(0x1b7),_0x3419ca(0x1f3)),'\x20\x20Options:\x0a')+_0x3419ca(0x1e6)+(_0x3419ca(0x1c9)+_0x1d3057[_0x3419ca(0x1f0)](/\/+$/,'')+'\x22\x20to\x20the\x20matching\x20auth\x20environment\x27s\x20domains,\x20or\x0a'),_0x3419ca(0x1a2)+_0x1d3057+'\x20--skip-auth`\x20for\x20an\x20unauthenticated\x20profile.'));}if(_0x439fb8['defaultEnvironmentKey'])return _0x439fb8['defaultEnvironmentKey'];const _0x3368d1=Object[_0x3419ca(0x21b)](_0x439fb8['environments']??{});if(_0x3368d1[_0x3419ca(0x21e)]===0x1)return _0x3368d1[0x0];if(_0x18c7bc[_0x3419ca(0x1ce)](_0x3368d1[_0x3419ca(0x21e)],0x0))return null;throw new Error(_0x3419ca(0x1db)+_0x3368d1['join'](',\x20')+').\x20'+_0x3419ca(0x1d3));}export function adHocProfileName(_0x415cd4,_0x35b491,_0x1d113f){if(!_0x35b491||_0x35b491===_0x1d113f)return _0x415cd4;return _0x415cd4+':'+_0x35b491;}export async function resolveAdHocProfile(_0x55c466={},_0x3d5c20=process['env']){const _0x47cf9a=_0x25ed96,_0xb9ad8e={'xKPoZ':function(_0x21ac91,_0x1faf3c){return _0x21ac91&&_0x1faf3c;},'COuTq':_0x47cf9a(0x195),'kLjxP':function(_0x31579b,_0x4bb5be,_0xb877cf,_0x4dc878){return _0x31579b(_0x4bb5be,_0xb877cf,_0x4dc878);},'opfyK':function(_0x41cff0,_0xc34d9b){return _0x41cff0??_0xc34d9b;}},_0x3240c8=_0x3d5c20['RANGER_TEST_USERNAME'];if(!_0x3240c8)return null;const _0x1be6ec=await fetchAuthConfig(),_0x3b72f5=pickAdHocEnvKey(_0x1be6ec,_0x55c466['targetUrl'],_0x55c466[_0x47cf9a(0x1ed)]);let _0x551a58=adHocProfileName(_0x3240c8,_0x3b72f5,_0x1be6ec?.[_0x47cf9a(0x1cb)]),_0x3f02d8=await fetchCloudProfile(_0x551a58);_0xb9ad8e[_0x47cf9a(0x21f)](_0x3f02d8,_0x3b72f5)&&_0x3f02d8[_0x47cf9a(0x220)]!==_0x3b72f5&&(console[_0x47cf9a(0x172)]('\x20\x20Cloud\x20profile\x20\x22'+_0x551a58+'\x22\x20is\x20bound\x20to\x20auth\x20env\x20\x22'+(_0x3f02d8['environmentKey']??_0xb9ad8e[_0x47cf9a(0x167)])+'\x22\x20but\x20this\x20run\x20resolved\x20env\x20\x22'+_0x3b72f5+'\x22;\x20using\x20\x22'+_0x3240c8+':'+_0x3b72f5+_0x47cf9a(0x18b)),_0x551a58=_0x3240c8+':'+_0x3b72f5,_0x3f02d8=await fetchCloudProfile(_0x551a58));if(_0x3f02d8)return{'name':_0x3f02d8[_0x47cf9a(0x1a3)],'profile':_0x3f02d8};const _0x3100aa=_0x3d5c20['RANGER_TEST_PASSWORD'],_0x445336=await _0xb9ad8e[_0x47cf9a(0x209)](createCloudProfile,_0x551a58,_0xb9ad8e[_0x47cf9a(0x21d)](_0x3b72f5,undefined),{'username':_0x3240c8,'password':_0x3100aa});return console['log'](_0x47cf9a(0x199)+_0x445336[_0x47cf9a(0x1a3)]+'\x22\x20for\x20'+_0x3240c8+(_0x3b72f5?'\x20(auth\x20env:\x20'+_0x3b72f5+')':'')),{'name':_0x445336[_0x47cf9a(0x1a3)],'profile':_0x445336};}export async function writeSessionToLocalCache(_0x16a46e,_0x471448,_0x1f71dc,_0x580697,_0x5b1387,_0x21f84e,_0x2d2c74){const _0x500b03=_0x25ed96,_0x323b62={'THitF':function(_0x3ac85e,_0x2ecdcc){return _0x3ac85e(_0x2ecdcc);},'FvZjx':function(_0x210b0d,_0x572f00,_0x1e22d6){return _0x210b0d(_0x572f00,_0x1e22d6);},'ZElnw':_0x500b03(0x224),'fHmRX':function(_0xf2bbe1,_0x5dd5c8){return _0xf2bbe1(_0x5dd5c8);},'wvYVR':function(_0x2cdefd,_0x53062a){return _0x2cdefd>_0x53062a;},'vBKqK':function(_0x5c0143,_0x50e8e1,_0x57dd8b){return _0x5c0143(_0x50e8e1,_0x57dd8b);},'lWyIx':function(_0x3fef0d,_0x2c7806){return _0x3fef0d(_0x2c7806);}},_0xad280b=_0x323b62[_0x500b03(0x21c)](sessionCacheHash,{'orgId':_0x471448,'profileName':_0x16a46e,'effectiveBaseUrl':_0x1f71dc,'setupHeaders':_0x580697,'invalidateOn':_0x2d2c74?.[_0x500b03(0x1ec)],'userAgent':_0x2d2c74?.['userAgent'],'clientIp':_0x2d2c74?.['clientIp']}),_0x528444=_0x323b62['FvZjx'](getSessionCachePath,_0xad280b,_0x16a46e),_0x429994=_0x323b62[_0x500b03(0x17e)](join,getRangerHomeDir(),_0x323b62[_0x500b03(0x1cc)]);!_0x323b62[_0x500b03(0x1d7)](existsSync,_0x429994)&&await mkdir(_0x429994,{'recursive':!![]});const _0x33bab1={..._0x5b1387};_0x21f84e&&_0x323b62[_0x500b03(0x218)](_0x21f84e['length'],0x0)&&Array[_0x500b03(0x173)](_0x33bab1[_0x500b03(0x1a6)])&&(_0x33bab1['cookies']=duplicateCookiesForDomains(_0x33bab1[_0x500b03(0x1a6)],_0x21f84e));const _0x4663a3={'cached_at':new Date()['toISOString'](),'session_state':_0x33bab1};await _0x323b62[_0x500b03(0x164)](writeFile,_0x528444,JSON['stringify'](_0x4663a3,null,0x2));const _0x48fdaf=_0x323b62['lWyIx'](getStorageStatePath,_0x528444);return await _0x323b62[_0x500b03(0x17e)](writeFile,_0x48fdaf,JSON['stringify'](_0x33bab1,null,0x2)),_0x48fdaf;}export async function checkLocalCache(_0x28d1b4,_0x4ce679,_0x2a8b49,_0x1757eb,_0x17fc6f){const _0x12cf64=_0x25ed96,_0xd1ab1f={'jicvZ':function(_0x1bd8d5,_0xeda901){return _0x1bd8d5(_0xeda901);},'XOuAR':function(_0x494dd7,_0x383449){return _0x494dd7(_0x383449);},'fUunv':function(_0x4c6927,_0xa3735a,_0x3f219a){return _0x4c6927(_0xa3735a,_0x3f219a);},'DDMko':_0x12cf64(0x1b9)},_0x1f325c=sessionCacheHash({'orgId':_0x4ce679,'profileName':_0x28d1b4,'effectiveBaseUrl':_0x2a8b49,'setupHeaders':_0x1757eb,'invalidateOn':_0x17fc6f?.['invalidateOn'],'userAgent':_0x17fc6f?.[_0x12cf64(0x1a4)],'clientIp':_0x17fc6f?.[_0x12cf64(0x198)]}),_0x4cb9d6=getSessionCachePath(_0x1f325c,_0x28d1b4),_0xc69ef8=_0xd1ab1f[_0x12cf64(0x1e4)](getStorageStatePath,_0x4cb9d6);if(!existsSync(_0x4cb9d6)||!_0xd1ab1f['XOuAR'](existsSync,_0xc69ef8))return null;try{const _0x506666=await _0xd1ab1f['fUunv'](readFile,_0x4cb9d6,_0xd1ab1f['DDMko']);return JSON[_0x12cf64(0x1b3)](_0x506666),{'storageStatePath':_0xc69ef8};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x1eede1,_0x794842){const _0xde914e=_0x25ed96,_0x4ff6aa={'whskW':function(_0x13dc01,_0x5f3dd7){return _0x13dc01===_0x5f3dd7;},'JfhvB':function(_0x5e1cb7,_0x157ce0){return _0x5e1cb7+_0x157ce0;},'cVjGb':function(_0x36b602,_0x1a3fd3){return _0x36b602+_0x1a3fd3;}};if(!_0x794842||!_0x794842['domains']?.['length'])return;let _0x3eada4;try{_0x3eada4=new URL(_0x1eede1);}catch{return;}const _0x3993ed=[];for(const _0x571653 of _0x794842[_0xde914e(0x1fc)]){try{_0x3993ed[_0xde914e(0x186)]({'raw':_0x571653,'url':new URL(_0x571653)});}catch{}}if(_0x4ff6aa[_0xde914e(0x208)](_0x3993ed[_0xde914e(0x21e)],0x0))return;if(_0x3993ed['some'](_0x30748f=>_0x30748f['url']['origin']===_0x3eada4[_0xde914e(0x181)]))return;const _0x2d324a=_0x3993ed[_0xde914e(0x1ea)](_0x55b5a8=>'\x22'+_0x55b5a8['raw']+'\x22')['join'](',\x20');console['log'](_0x4ff6aa[_0xde914e(0x207)](_0x4ff6aa['cVjGb'](_0xde914e(0x204)+_0x2d324a+';\x20','you\x27re\x20now\x20at\x20\x22'+_0x1eede1+'\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20'),'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.'));}export async function serverSideLogin(_0x41e515,_0x27eedf){const _0x40406d=_0x25ed96,_0x345a8f={'NiXEb':function(_0x3534bd,_0x96bdcd){return _0x3534bd(_0x96bdcd);},'Tvifg':_0x40406d(0x1ba),'WRPwW':function(_0x2d480f,_0x529906){return _0x2d480f===_0x529906;},'FhCUJ':'not_configured'},_0x5a867c=process[_0x40406d(0x205)][_0x40406d(0x177)],_0x3d9700=process['env'][_0x40406d(0x213)],_0x3f5094={};if(_0x5a867c)_0x3f5094[_0x40406d(0x1bf)]=_0x5a867c;if(_0x3d9700)_0x3f5094['password']=_0x3d9700;if(_0x27eedf?.[_0x40406d(0x187)])_0x3f5094[_0x40406d(0x187)]=!![];if(_0x27eedf?.['targetUrl'])_0x3f5094[_0x40406d(0x1a1)]=_0x27eedf['targetUrl'];if(_0x27eedf?.['env'])_0x3f5094[_0x40406d(0x205)]=_0x27eedf['env'];_0x27eedf?.[_0x40406d(0x219)]&&(_0x3f5094[_0x40406d(0x169)]=_0x27eedf[_0x40406d(0x219)]['sessionId'],_0x3f5094[_0x40406d(0x1c8)]=_0x27eedf['tunnel']['pwEndpoint']);try{return await apiRequest('/api/v1/profiles/'+_0x345a8f[_0x40406d(0x1b2)](encodeURIComponent,_0x41e515)+_0x40406d(0x1d2),{'method':_0x345a8f[_0x40406d(0x18c)],'body':JSON['stringify'](_0x3f5094)});}catch(_0x22fcad){if(_0x22fcad instanceof ApiError&&_0x345a8f[_0x40406d(0x17d)](_0x22fcad[_0x40406d(0x17a)],0x190)&&_0x22fcad['code']===_0x345a8f['FhCUJ'])return{'status':_0x345a8f[_0x40406d(0x16b)],'error':_0x22fcad['detail']};throw _0x22fcad;}}async function serverSideLoginWithOptionalTunnel(_0x224ba5,_0x15b9af,_0x59ddf9={}){const _0x7e14b3=_0x25ed96,_0x4c16f7={'SfPfg':_0x7e14b3(0x1dc),'qwEBx':function(_0x340818,_0x57ece2){return _0x340818(_0x57ece2);},'SVvrC':'tunnel_login_setup','oquGp':function(_0x38c806,_0x1e4ccf){return _0x38c806??_0x1e4ccf;},'TiFym':function(_0x47e29d,_0x51f3d9){return _0x47e29d||_0x51f3d9;},'PNYWV':'tunnel_login_cleanup','cSyTD':function(_0x472289,_0x566de7){return _0x472289(_0x566de7);}};if(!_0x4c16f7[_0x7e14b3(0x212)](needsTunnel,_0x15b9af))return await serverSideLogin(_0x224ba5,{'force':_0x59ddf9['force'],'env':_0x59ddf9[_0x7e14b3(0x205)]});let _0x759e41=null,_0x4340d5=null,_0x23023e=null,_0x11b191=null,_0x2fe2d2=![];const _0x506ef3=process['env'][_0x7e14b3(0x171)]?.['toLowerCase'](),_0x55b837=_0x506ef3==='1'||_0x506ef3===_0x7e14b3(0x1ab),_0x4e8b25={'profileName':_0x224ba5,'targetUrlHost':_0x4c16f7[_0x7e14b3(0x212)](targetHostForTelemetry,_0x15b9af),'tunnelRequired':!![],'forceLogin':Boolean(_0x59ddf9[_0x7e14b3(0x187)]),'localBrowserServerHeaded':_0x55b837};try{_0x59ddf9['telemetry']?.['trackPhaseStart'](_0x4c16f7['SVvrC'],_0x4e8b25);_0x55b837&&console['log']('\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...');_0x759e41=await _0x4c16f7[_0x7e14b3(0x212)](launchBrowserServer,{'headless':!_0x55b837}),_0x4340d5=await _0x4c16f7[_0x7e14b3(0x212)](createTunnelSession,_0x15b9af);const _0x79cce7=await requireToken();_0x23023e=await _0x4c16f7['qwEBx'](createTunnelBridge,{'localWsUrl':_0x759e41[_0x7e14b3(0x1e0)],'tunnelServerUrl':_0x4340d5['tunnelUrl'],'sessionId':_0x4340d5[_0x7e14b3(0x1f9)],'apiKey':_0x79cce7,'onError':_0x531794=>{_0x11b191=_0x531794;},'onClose':()=>{const _0x5bea94=_0x7e14b3;_0x11b191??=new Error(_0x5bea94(0x180)+_0x224ba5);},'onEvent':_0xf0652=>trackBridgeEvent(_0x59ddf9[_0x7e14b3(0x1be)],_0xf0652)}),_0x59ddf9['telemetry']?.[_0x7e14b3(0x1da)]('tunnel_login_setup',{..._0x4e8b25,'tunnelSessionId':_0x4340d5['sessionId'],'localBrowserServer':!![],'localBrowserServerHeaded':_0x55b837}),_0x2fe2d2=!![];try{return _0x59ddf9[_0x7e14b3(0x1be)]?.[_0x7e14b3(0x194)]('tunnel_login_request',{..._0x4e8b25,'tunnelSessionId':_0x4340d5[_0x7e14b3(0x1f9)]}),await serverSideLogin(_0x224ba5,{'force':_0x59ddf9[_0x7e14b3(0x187)],'targetUrl':_0x15b9af,'env':_0x59ddf9['env'],'tunnel':{'sessionId':_0x4340d5['sessionId'],'pwEndpoint':_0x4340d5['pwEndpoint']}})['then'](_0x2a6a04=>{const _0x2074fc=_0x7e14b3;return _0x59ddf9['telemetry']?.['trackPhaseEnd'](_0x4c16f7[_0x2074fc(0x1ef)],{..._0x4e8b25,'tunnelSessionId':_0x4340d5?.[_0x2074fc(0x1f9)],'loginStatus':_0x2a6a04['status'],'hasSessionState':_0x4c16f7['qwEBx'](Boolean,_0x2a6a04[_0x2074fc(0x206)]),'hasTestOutput':Boolean(_0x2a6a04['test_output']),'bridgeError':errorMessageForTelemetry(_0x11b191)}),_0x2a6a04;});}catch(_0x5c5b57){await _0x59ddf9[_0x7e14b3(0x1be)]?.[_0x7e14b3(0x214)](_0x4c16f7['SfPfg'],_0x4c16f7['oquGp'](_0x11b191,_0x5c5b57),{..._0x4e8b25,'tunnelSessionId':_0x4340d5['sessionId'],'bridgeError':errorMessageForTelemetry(_0x11b191)});throw _0x11b191??_0x5c5b57;}}catch(_0x3ccfe1){!_0x2fe2d2&&await _0x59ddf9[_0x7e14b3(0x1be)]?.[_0x7e14b3(0x214)]('tunnel_login_setup',_0x3ccfe1,{..._0x4e8b25,'tunnelSessionId':_0x4340d5?.[_0x7e14b3(0x1f9)]});throw _0x3ccfe1;}finally{if(_0x4c16f7['TiFym'](_0x4340d5,_0x759e41)||_0x23023e){const _0x593ebf='0|2|3|4|1'['split']('|');let _0x335290=0x0;while(!![]){switch(_0x593ebf[_0x335290++]){case'0':_0x59ddf9['telemetry']?.[_0x7e14b3(0x194)](_0x4c16f7[_0x7e14b3(0x1e9)],{..._0x4e8b25,'tunnelSessionId':_0x4340d5?.[_0x7e14b3(0x1f9)]});continue;case'1':_0x59ddf9['telemetry']?.[_0x7e14b3(0x1da)]('tunnel_login_cleanup',{..._0x4e8b25,'tunnelSessionId':_0x4340d5?.[_0x7e14b3(0x1f9)]});continue;case'2':_0x23023e?.['close']();continue;case'3':_0x759e41&&await _0x759e41['close']()['catch'](()=>{});continue;case'4':_0x4340d5&&await _0x4c16f7['cSyTD'](deleteTunnelSession,_0x4340d5[_0x7e14b3(0x1f9)])['catch'](()=>{});continue;}break;}}}}export async function manualBrowserLogin(_0x3acf8c,_0x56bb9d,_0x47e830={}){const _0x34f6de=_0x25ed96,_0x21e962={'mcXry':function(_0x258ab4,_0x56e59a){return _0x258ab4/_0x56e59a;},'XyVFd':_0x34f6de(0x202),'OtQfG':'about:blank','GbfgK':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','GFGzp':_0x34f6de(0x1fd),'LnHPT':function(_0xa1fe4b,_0x4dddd0){return _0xa1fe4b(_0x4dddd0);},'KhAzu':_0x34f6de(0x200),'sKsFo':function(_0x579d20,_0x1c4001){return _0x579d20!==_0x1c4001;},'JDYyW':'cli:manual-login'};if(!isInteractive())throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x3acf8c['name']+'\x22.\x0a'+_0x34f6de(0x1a7)+'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.');const _0x532ef3=_0x56bb9d&&_0x56bb9d[_0x34f6de(0x1fc)][_0x34f6de(0x21e)]>0x0?_0x56bb9d['domains'][0x0]:_0x21e962[_0x34f6de(0x1ae)];console['log'](_0x21e962['GbfgK']),console['log'](_0x21e962[_0x34f6de(0x179)]),await new Promise(_0x4b907a=>setTimeout(_0x4b907a,0x7d0));const _0x5a3cc2=await chromium['launch']({'headless':![]});let _0x45796f=null;try{const _0x19b204={'ignoreHTTPSErrors':!![]};_0x56bb9d?.['setupHeaders']&&(_0x19b204[_0x34f6de(0x1e2)]=_0x56bb9d['setupHeaders']);const _0x4193c8=await _0x5a3cc2[_0x34f6de(0x19d)](_0x19b204);await _0x21e962['LnHPT'](addProfileSetupBanner,_0x4193c8);const _0x53edc5=await _0x4193c8[_0x34f6de(0x201)]();await _0x53edc5['goto'](_0x532ef3);let _0x1b395c=![];await new Promise(_0x4e6adc=>{const _0x1a0166=setTimeout(()=>{const _0x426829=_0xdb1b;_0x1b395c=!![],console[_0x426829(0x21a)](_0x426829(0x19e)+_0x21e962[_0x426829(0x191)](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x4e6adc();},MANUAL_LOGIN_TIMEOUT_MS);_0x53edc5['on'](_0x21e962['XyVFd'],async()=>{const _0xa16973=_0xdb1b;clearTimeout(_0x1a0166);try{const _0x3efa51=await _0x4193c8[_0xa16973(0x20c)]();_0x45796f=_0x3efa51;}catch{}_0x4e6adc();});});if(_0x1b395c&&!_0x45796f)throw new Error(_0x34f6de(0x176));}finally{await _0x5a3cc2['close']()['catch'](()=>{});}if(!_0x45796f)throw new Error(_0x21e962[_0x34f6de(0x1c0)]);return _0x21e962[_0x34f6de(0x215)](_0x47e830['persistSessionState'],![])&&await apiRequest(_0x34f6de(0x1f5)+_0x21e962['LnHPT'](encodeURIComponent,_0x3acf8c['name'])+'/session',{'method':'POST','body':JSON['stringify']({'session_state':_0x45796f,'updated_by':_0x21e962['JDYyW']})}),{'sessionState':_0x45796f};}export async function promptSaveCredentials(_0x3582c9){const _0x55dd16=_0x25ed96,_0x95d1b9={'UzDCk':function(_0x5e84a5,_0x2c2ffe){return _0x5e84a5||_0x2c2ffe;},'tOFCB':function(_0x4e63d4){return _0x4e63d4();},'oXZkv':'save','NUeqY':function(_0x316922,_0x483ed5,_0x31a2ed){return _0x316922(_0x483ed5,_0x31a2ed);}},_0x1d4792=process['env'][_0x55dd16(0x177)],_0x4312d1=process['env']['RANGER_TEST_PASSWORD'];if(_0x95d1b9['UzDCk'](!_0x1d4792,!_0x4312d1))return;if(!_0x95d1b9[_0x55dd16(0x18d)](isInteractive))return;const {save:_0x3e2c6a}=await _0x226ce7['prompt']([{'type':'confirm','name':_0x95d1b9[_0x55dd16(0x1af)],'message':_0x55dd16(0x217),'default':![]}]);if(!_0x3e2c6a)return;await _0x95d1b9['NUeqY'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x3582c9),{'method':'PUT','body':JSON[_0x55dd16(0x1fa)]({'username':_0x1d4792,'password':_0x4312d1})}),console['log']('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x125d20,_0x1425b8={}){const _0x2002da=_0x25ed96,_0x231c97={'Edxdi':function(_0x4c58fb){return _0x4c58fb();},'fsgrP':function(_0x5bb0cb,_0x2c6278){return _0x5bb0cb===_0x2c6278;},'PWPql':_0x2002da(0x1ca),'ZWQlx':function(_0x3c39be,_0x8ecb8a){return _0x3c39be===_0x8ecb8a;},'gRknK':function(_0x14771f,_0x2860b3){return _0x14771f||_0x2860b3;},'YrNqK':function(_0x59f885,_0x2918a0){return _0x59f885(_0x2918a0);},'egwqC':function(_0x1ac0f9,_0x53c0dc){return _0x1ac0f9(_0x53c0dc);},'pYSXP':function(_0x1dc0b6,_0x103430){return _0x1dc0b6>_0x103430;},'WmRxp':function(_0x8cde5a,_0x57d792,_0xed5bd9,_0x507a99,_0x30a468,_0x368cc7){return _0x8cde5a(_0x57d792,_0xed5bd9,_0x507a99,_0x30a468,_0x368cc7);},'PwpuS':function(_0x4c9034,_0x23fc57,_0x565ad6){return _0x4c9034(_0x23fc57,_0x565ad6);},'RQMZC':function(_0x47ec59,_0x230071,_0x565948){return _0x47ec59(_0x230071,_0x565948);},'RxAiB':function(_0x4709a2,_0x5bd746){return _0x4709a2(_0x5bd746);},'HXdTd':function(_0x358881,_0x583016,_0x511604,_0x5df8f1){return _0x358881(_0x583016,_0x511604,_0x5df8f1);},'IzIAr':function(_0x24db32,_0x40911d,_0x4dd511){return _0x24db32(_0x40911d,_0x4dd511);},'mmTNn':'\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','ABilH':function(_0x52904a,_0x52f0b8){return _0x52904a===_0x52f0b8;},'JKgvX':_0x2002da(0x20f),'olOxN':function(_0xadff0,_0x1084da,_0x41ac8b,_0x3c8be0,_0x4149a1,_0x1c0807,_0x18fe2d,_0x33bcce){return _0xadff0(_0x1084da,_0x41ac8b,_0x3c8be0,_0x4149a1,_0x1c0807,_0x18fe2d,_0x33bcce);},'TpHSd':function(_0x36d826,_0x12ce7e){return _0x36d826&&_0x12ce7e;},'YbPtz':function(_0x353ee9,_0x3fa475){return _0x353ee9(_0x3fa475);},'pNWWK':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','bNTzM':function(_0x3d4f66,_0x1a5a8c){return _0x3d4f66 instanceof _0x1a5a8c;},'gEzSy':function(_0x563c1d,_0x890838){return _0x563c1d+_0x890838;},'QOQOj':function(_0x45b6bc,_0xc0407c,_0xddbcaf){return _0x45b6bc(_0xc0407c,_0xddbcaf);},'EtVLc':function(_0x530c9c,_0x3d60c5,_0x3a372a,_0x1fb36a,_0x416641,_0x90c4f5,_0x5670cc,_0x22c888){return _0x530c9c(_0x3d60c5,_0x3a372a,_0x1fb36a,_0x416641,_0x90c4f5,_0x5670cc,_0x22c888);}},_0x5d045c=_0x125d20[_0x2002da(0x193)]??{},_0x769213=await _0x231c97[_0x2002da(0x223)](fetchAuthConfig),_0x1901a0=_0x769213?resolveAuthEnvironmentLocally(_0x769213,_0x1425b8['assertedEnv']??_0x125d20['environmentKey']):null,_0x2a7edb=_0x231c97['fsgrP'](typeof _0x1901a0?.[_0x2002da(0x1f2)],_0x231c97[_0x2002da(0x1d4)])&&_0x1901a0['loginInstructions'][_0x2002da(0x18f)]()?_0x1901a0['loginInstructions']:undefined,_0x1dc295=_0x231c97[_0x2002da(0x203)](typeof _0x5d045c[_0x2002da(0x1f2)],'string')&&_0x5d045c[_0x2002da(0x1f2)]['trim']()?_0x5d045c['loginInstructions']:undefined,_0x2f9259=_0x231c97[_0x2002da(0x183)](_0x1dc295,!_0x2a7edb)?_0x5d045c:{..._0x5d045c,'loginInstructions':_0x2a7edb},_0x497e08=_0x231c97[_0x2002da(0x20d)](Boolean,_0x2f9259[_0x2002da(0x1f2)]?.['trim']()),_0x352a3c=_0x231c97['egwqC'](Boolean,_0x5d045c[_0x2002da(0x163)]||_0x1901a0?.['forceLogin']),_0x138242=_0x1901a0?.['domains'],_0x1810f5=_0x5d045c[_0x2002da(0x1f7)],_0x31eca6=_0x1810f5??_0x1901a0?.[_0x2002da(0x1f7)],_0x5e5a68=_0x1425b8[_0x2002da(0x16d)]??_0x5d045c['baseUrl']??(_0x138242&&_0x231c97['pYSXP'](_0x138242['length'],0x0)?_0x138242[0x0]:''),_0x2de6b9=_0x5e5a68?needsTunnel(_0x5e5a68):![],_0x27ec99={'invalidateOn':_0x1901a0?.[_0x2002da(0x1ec)],'userAgent':_0x1901a0?.[_0x2002da(0x20e)]?.['userAgent']??_0x5d045c[_0x2002da(0x1a4)]};_0x352a3c&&console['log']('\x20\x20forceLogin\x20enabled\x20for\x20\x22'+_0x125d20[_0x2002da(0x1a3)]+_0x2002da(0x1fb));if(!_0x352a3c){const _0x2088d6=await _0x231c97[_0x2002da(0x19b)](checkLocalCache,_0x125d20['name'],_0x125d20['organizationId'],_0x5e5a68,_0x31eca6,_0x27ec99);if(_0x2088d6){if(_0x5e5a68&&!_0x2de6b9){const _0x2b2d8f=await isCachedSessionLive(_0x2088d6[_0x2002da(0x1d5)],_0x5e5a68,{'sessionCheckPath':_0x1901a0?.[_0x2002da(0x222)],'setupHeaders':_0x31eca6},{'launchBrowser':launchRealBrowser});if(_0x2b2d8f)return console[_0x2002da(0x172)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x125d20['name']+'\x22'),{'authPath':_0x2088d6['storageStatePath'],'settings':_0x2f9259,'resolvedEnv':_0x1901a0};console[_0x2002da(0x172)](_0x2002da(0x1bd)+_0x125d20['name']+'\x22\x20failed\x20validation\x20—\x20refreshing...'),_0x231c97['PwpuS'](emitSessionValidationHint,_0x5e5a68,_0x1901a0);}else return _0x2de6b9&&console[_0x2002da(0x172)](_0x2002da(0x1e1)+_0x125d20[_0x2002da(0x1a3)]+'\x22'),{'authPath':_0x2088d6[_0x2002da(0x1d5)],'settings':_0x2f9259,'resolvedEnv':_0x1901a0};}}if(!_0x352a3c&&_0x125d20[_0x2002da(0x1b5)]){const _0x49ff13=await writeSessionToLocalCache(_0x125d20['name'],_0x125d20['organizationId'],_0x5e5a68,_0x31eca6,_0x125d20['sessionState'],_0x138242,_0x27ec99);if(_0x5e5a68){const _0x9efb45=await isCachedSessionLive(_0x49ff13,_0x5e5a68,{'sessionCheckPath':_0x1901a0?.['sessionCheckPath'],'setupHeaders':_0x31eca6},{'launchBrowser':launchRealBrowser});if(_0x9efb45)return console[_0x2002da(0x172)](_0x2002da(0x185)+_0x125d20['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x49ff13,'settings':_0x2f9259,'resolvedEnv':_0x1901a0};console[_0x2002da(0x172)]('\x20\x20Cloud\x20session\x20for\x20\x22'+_0x125d20[_0x2002da(0x1a3)]+_0x2002da(0x17c)),_0x231c97[_0x2002da(0x1b1)](emitSessionValidationHint,_0x5e5a68,_0x1901a0);}else return{'authPath':_0x49ff13,'settings':_0x2f9259,'resolvedEnv':_0x1901a0};}if(_0x497e08)return console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x125d20[_0x2002da(0x1a3)]+_0x2002da(0x1a9)),{'authPath':undefined,'settings':_0x2f9259,'resolvedEnv':_0x1901a0};console['log'](_0x2002da(0x1c1)+_0x125d20['name']+_0x2002da(0x1f8));const _0x4bb471=Boolean(process[_0x2002da(0x205)][_0x2002da(0x177)])&&_0x231c97['YrNqK'](Boolean,process['env'][_0x2002da(0x213)]),_0x3a9ca9=_0x231c97[_0x2002da(0x17f)](Boolean,_0x125d20[_0x2002da(0x1bf)]),_0x255a82=Boolean(_0x1425b8[_0x2002da(0x1a8)]),_0x6c0db5=_0x5e5a68?isBareLocalhost(_0x5e5a68):![],_0x355730=_0x231c97['gRknK'](_0x4bb471,_0x3a9ca9)&&_0x231c97[_0x2002da(0x183)](!_0x6c0db5,_0x255a82);if(_0x355730)try{const _0x3877e2=_0x5e5a68?await _0x231c97['HXdTd'](serverSideLoginWithOptionalTunnel,_0x125d20[_0x2002da(0x1a3)],_0x5e5a68,{'force':_0x352a3c,'telemetry':_0x1425b8[_0x2002da(0x1be)],'env':_0x1425b8['assertedEnv']}):await _0x231c97['IzIAr'](serverSideLogin,_0x125d20[_0x2002da(0x1a3)],{'force':_0x352a3c,'env':_0x1425b8['assertedEnv']});if(_0x3877e2['status']==='not_configured')console['log'](_0x231c97['mmTNn']);else{if(_0x231c97[_0x2002da(0x20b)](_0x3877e2[_0x2002da(0x17a)],_0x231c97[_0x2002da(0x210)])&&_0x3877e2['session_state']){console[_0x2002da(0x172)](_0x2002da(0x16f));const _0x2963d3=await _0x231c97['olOxN'](writeSessionToLocalCache,_0x125d20['name'],_0x125d20[_0x2002da(0x1e3)],_0x5e5a68,_0x31eca6,_0x3877e2[_0x2002da(0x206)],_0x138242,_0x27ec99);return _0x231c97[_0x2002da(0x1d0)](_0x4bb471,!_0x3a9ca9)&&await _0x231c97['YbPtz'](promptSaveCredentials,_0x125d20['name']),{'authPath':_0x2963d3,'settings':_0x2f9259,'resolvedEnv':_0x1901a0};}else _0x3877e2['test_output']&&(console['log']('\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:'),console['log'](_0x3877e2['test_output'])),console['log'](_0x231c97[_0x2002da(0x1a5)]);}}catch(_0x4db916){console[_0x2002da(0x172)](_0x2002da(0x19c)+(_0x231c97['bNTzM'](_0x4db916,Error)?_0x4db916['message']:String(_0x4db916))),console['log'](_0x231c97['pNWWK']);}if(_0x6c0db5&&!_0x255a82&&!isInteractive())throw new Error(_0x231c97['gEzSy']('No\x20saved\x20session\x20for\x20\x22'+_0x5e5a68+_0x2002da(0x1e8)+_0x125d20['name']+_0x2002da(0x1eb),'\x20\x20•\x20capture\x20one\x20(a\x20browser\x20opens):\x20ranger\x20profile\x20add\x20'+_0x125d20[_0x2002da(0x1a3)]+_0x2002da(0x1ad)+_0x5e5a68+'\x0a')+_0x2002da(0x18a));const _0x19c610=_0x1901a0?{..._0x1901a0,'domains':_0x231c97['QOQOj'](orderLoginDomains,_0x5e5a68,_0x1901a0[_0x2002da(0x1fc)]),'setupHeaders':_0x31eca6}:_0x5e5a68?{'key':_0x125d20['environmentKey']??'','domains':[_0x5e5a68],'setupHeaders':_0x31eca6}:null,{sessionState:_0x23e6a7}=await manualBrowserLogin(_0x125d20,_0x19c610,{'persistSessionState':!_0x2de6b9}),_0x56ea2f=await _0x231c97['EtVLc'](writeSessionToLocalCache,_0x125d20['name'],_0x125d20['organizationId'],_0x5e5a68,_0x31eca6,_0x23e6a7,_0x138242,_0x27ec99);return{'authPath':_0x56ea2f,'settings':_0x2f9259,'resolvedEnv':_0x1901a0};}
|
|
1
|
+
const _0x4cea8c=_0xfc90;(function(_0x5cc134,_0x1ff955){const _0x32c09e=_0xfc90,_0x218dd8=_0x5cc134();while(!![]){try{const _0x4f242a=parseInt(_0x32c09e(0x28e))/0x1*(-parseInt(_0x32c09e(0x242))/0x2)+-parseInt(_0x32c09e(0x258))/0x3*(parseInt(_0x32c09e(0x22c))/0x4)+-parseInt(_0x32c09e(0x257))/0x5*(parseInt(_0x32c09e(0x245))/0x6)+-parseInt(_0x32c09e(0x256))/0x7*(parseInt(_0x32c09e(0x201))/0x8)+parseInt(_0x32c09e(0x223))/0x9+-parseInt(_0x32c09e(0x260))/0xa+parseInt(_0x32c09e(0x28f))/0xb;if(_0x4f242a===_0x1ff955)break;else _0x218dd8['push'](_0x218dd8['shift']());}catch(_0x4baa21){_0x218dd8['push'](_0x218dd8['shift']());}}}(_0xfc7c,0x3441b));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x2951a1 from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isBareLocalhost,isCachedSessionLive,isInteractive,needsTunnel,orderLoginDomains,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{matchAuthEnvironmentByHost,matchAuthEnvironmentExact}from'./matchAuthEnvironment.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x3ac631){const _0x139fdf=_0xfc90;try{return new URL(_0x3ac631)['host'];}catch{return _0x139fdf(0x287);}}function errorMessageForTelemetry(_0x529e22){const _0x11cc50=_0xfc90,_0x1da9be={'bcECw':function(_0xa3980c,_0x21c571){return _0xa3980c instanceof _0x21c571;}};return _0x1da9be['bcECw'](_0x529e22,Error)?_0x529e22[_0x11cc50(0x249)]:undefined;}function trackBridgeEvent(_0x276483,_0x1918a9){const _0x336960=_0xfc90,_0x5d9014={'JSwuu':function(_0x2b2da2,_0x363d0a){return _0x2b2da2===_0x363d0a;},'dhQYa':_0x336960(0x1dd)};if(!_0x276483)return;const _0x22fe5a={'tunnelSessionId':_0x1918a9[_0x336960(0x264)],'tunnelEventType':_0x1918a9['type'],'connectionId':_0x1918a9['connectionId'],'code':_0x1918a9['code'],'reason':_0x1918a9[_0x336960(0x20e)],'error':_0x1918a9[_0x336960(0x261)],'elapsedMs':_0x1918a9['elapsedMs'],'activeLocalConnections':_0x1918a9[_0x336960(0x27d)],'pendingLocalConnections':_0x1918a9[_0x336960(0x1db)]};_0x276483[_0x336960(0x1ff)](_0x336960(0x266),_0x22fe5a),(_0x5d9014['JSwuu'](_0x1918a9['type'],'tunnel_error')||_0x5d9014[_0x336960(0x248)](_0x1918a9['type'],_0x5d9014['dhQYa']))&&void _0x276483['trackPhaseError']('tunnel_bridge',new Error(_0x1918a9[_0x336960(0x261)]??_0x1918a9[_0x336960(0x262)]),_0x22fe5a);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x3f0e0e=_0xfc90,_0xbb7816={'UDCGp':function(_0x4c70b2){return _0x4c70b2();}},_0x350f43=await _0xbb7816[_0x3f0e0e(0x23b)](getToken);if(!_0x350f43)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0x350f43;}async function apiRequest(_0x97f584,_0x1454c4={}){const _0x5870fc=_0xfc90,_0x461b26={'MmbJb':function(_0x2e1328){return _0x2e1328();},'AGQdd':function(_0x11d382,_0x34c01c,_0x527c00){return _0x11d382(_0x34c01c,_0x527c00);},'rxRHi':function(_0x31cae8,_0x167777){return _0x31cae8===_0x167777;},'yimcw':function(_0x41ce13,_0x511e1b){return _0x41ce13===_0x511e1b;},'VZqSr':function(_0x2d66a5,_0x334d7b){return _0x2d66a5===_0x334d7b;}},_0x5dcac6=await _0x461b26[_0x5870fc(0x21f)](requireToken),_0x12790d=_0x461b26[_0x5870fc(0x21f)](getApiBaseUrl),_0x506603=await _0x461b26['AGQdd'](fetch,''+_0x12790d+_0x97f584,{..._0x1454c4,'headers':{'Authorization':'Bearer\x20'+_0x5dcac6,'Content-Type':'application/json',..._0x1454c4[_0x5870fc(0x215)]??{}}});if(!_0x506603['ok']){let _0x3cb4fb='',_0x44235e;try{const _0x5d0797=await _0x506603['json'](),_0x553c0f=(_0x461b26['rxRHi'](typeof _0x5d0797[_0x5870fc(0x261)],_0x5870fc(0x25a))?_0x5d0797['error']:undefined)??JSON[_0x5870fc(0x1ed)](_0x5d0797);_0x3cb4fb=_0x553c0f;_0x461b26[_0x5870fc(0x1df)](typeof _0x5d0797['test_output'],'string')&&_0x5d0797[_0x5870fc(0x277)]&&(_0x3cb4fb=_0x3cb4fb+'\x0a'+_0x5d0797['test_output']);if(_0x461b26['VZqSr'](typeof _0x5d0797['code'],'string'))_0x44235e=_0x5d0797[_0x5870fc(0x23d)];}catch{_0x3cb4fb=_0x506603[_0x5870fc(0x21d)];}throw new ApiError(_0x5870fc(0x208)+_0x97f584+_0x5870fc(0x255)+_0x506603['status']+_0x5870fc(0x213)+_0x3cb4fb,_0x506603['status'],_0x3cb4fb,_0x44235e);}if(_0x461b26['rxRHi'](_0x506603['status'],0xcc))return undefined;return _0x506603[_0x5870fc(0x1e4)]();}export class ApiError extends Error{['status'];[_0x4cea8c(0x1f4)];[_0x4cea8c(0x23d)];constructor(_0x16c922,_0x94197a,_0x16e450,_0x4cb946){const _0x57378a=_0x4cea8c,_0x2dd495={'FCNGa':_0x57378a(0x288)};super(_0x16c922),this['status']=_0x94197a,this[_0x57378a(0x1f4)]=_0x16e450,this['code']=_0x4cb946,this[_0x57378a(0x26d)]=_0x2dd495['FCNGa'];}}function _0xfc7c(){const _0x3067bb=['HFpUX','envKey','mMmkp','wsEndpoint','isArray','invalid-url','ApiError','timeout','trackPhaseError','iiCEL','/api/v1/tunnel/sessions/','\x20\x20Login\x20successful.\x20Session\x20cached.','2383OdKpsK','11470932TuUTYV','pendingLocalConnections','xiyuq','local_ws_error','\x20Available:\x20','yimcw','newPage','ihJhF','UZxsF','/api/v1/tunnel/sessions','json','Ljnde','GUyWx','force','vQIZC','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','/session','replace','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','stringify','dvcRz','forceLogin','environmentKey','naYGz','environment_key','No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22','detail','aMELf','aDBau','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','username','tAwBH','launch','\x22\x20failed\x20validation\x20—\x20re-login\x20needed...','toISOString','kGMZD','ciiwT','trackPhaseEnd','\x22\x20on\x20profile\x20\x22','24uUjtwH','ArRuu','\x20(declared\x20port\x20differs;\x20pass\x20--env\x20to\x20override).','env','true','DELETE','password','API\x20request\x20','\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','\x20\x20Cloud\x20session\x20for\x20\x22','confirm','extraHTTPHeaders','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','reason','organizationId','\x20\x20Server-side\x20login\x20error:\x20','\x20\x20-\x20run\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20','/api/v1/profiles/','):\x20','not_configured','headers','Kxmba','/api/v1/profiles','POST','origin','goto','/login','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','statusText','target_url','MmbJb','PrWLD','storageState','Browser\x20login\x20timed\x20out\x20before\x20completion.','412245bsZmmt','mZiVT','tunnelUrl','lhIDa','vHLJJ','toLowerCase','\x20\x20forceLogin\x20enabled\x20for\x20\x22','\x20(auth\x20env:\x20','sPHEQ','16UpQTMW','MpYTA','WzBAX','utf-8','none','tunnel_session_id','ibltA','loginInstructions','Iafir','invalidateOn','ggPti','RANGER_TEST_USERNAME','ueTxS','session_state','map','UDCGp','\x22\x20not\x20found.','code','status','\x22\x20for\x20','JvvdQ','\x20\x20Created\x20cloud\x20profile\x20\x22','2aPqpKb','auth_config','Auth\x20environment\x20\x22','6ixClwq','tunnel_login_cleanup','pwEndpoint','JSwuu','message','setupHeaders','FnJHR','rPPAM','key','userAgent','targetUrl','settings','nGCFr','environments','join','\x20\x20Auth\x20env\x20\x22','\x20failed\x20(','701211UEjdlz','39055dFRCMP','307497JdWsez','telemetry','string','VkeeE','defaultEnvironmentKey','domains','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','sessionState','1538650JHuMTW','error','type','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','sessionId','some','tunnel_bridge_event','Browser\x20login\x20timed\x20out\x20after\x20','cNCef','log','close','catch','trim','name','storageStatePath','\x20\x20Ranger\x20can\x27t\x20assume\x20your\x20org\x27s\x20default\x20login\x20flow\x20applies\x20to\x20an\x20arbitrary\x20local\x20app.\x0a','tunnel','\x20\x20-\x20ask\x20your\x20Ranger\x20admin\x20to\x20add\x20\x22','vqYJE','\x22\x20instead.','rAaaR','\x22;\x20using\x20\x22','zeoOA','test_output','\x22;\x20proceeding\x20with\x20loginInstructions.','RANGER_TUNNEL_LOGIN_HEADED','\x22\x20but\x20this\x20run\x20resolved\x20env\x20\x22','RmOGU','length','activeLocalConnections','tEElS','NgQwP','assertedEnv','cookies'];_0xfc7c=function(){return _0x3067bb;};return _0xfc7c();}export async function fetchCloudProfile(_0x3f364b){const _0x67890e=_0x4cea8c,_0x2ab00c={'dtCGK':function(_0x180995,_0x44c4f5){return _0x180995===_0x44c4f5;}};try{return await apiRequest(_0x67890e(0x212)+encodeURIComponent(_0x3f364b),{'signal':AbortSignal[_0x67890e(0x289)](0x3a98)});}catch(_0x2a5722){if(_0x2a5722 instanceof ApiError&&_0x2ab00c['dtCGK'](_0x2a5722['status'],0x194))return null;throw _0x2a5722;}}export async function listCloudProfiles(){const _0x4d3d32=_0x4cea8c,_0xf395ce={'rAaaR':_0x4d3d32(0x217)},_0xa137cf=await apiRequest(_0xf395ce[_0x4d3d32(0x274)]);return _0xa137cf['profiles'];}export async function deleteCloudProfile(_0x7aa921){const _0x1feeaf=_0x4cea8c,_0x5eead7={'iHReh':function(_0x44a86a,_0x53b428,_0x1e004f){return _0x44a86a(_0x53b428,_0x1e004f);},'jnmrD':function(_0x256522,_0x15ee88){return _0x256522(_0x15ee88);},'gFDkV':function(_0x37b6b9,_0x2eba13){return _0x37b6b9 instanceof _0x2eba13;},'poQDy':function(_0x413cee,_0x1ec38c){return _0x413cee===_0x1ec38c;}};try{await _0x5eead7['iHReh'](apiRequest,'/api/v1/profiles/'+_0x5eead7['jnmrD'](encodeURIComponent,_0x7aa921),{'method':_0x1feeaf(0x206)});}catch(_0x2507d4){if(_0x5eead7['gFDkV'](_0x2507d4,ApiError)&&_0x5eead7['poQDy'](_0x2507d4[_0x1feeaf(0x23e)],0x194))throw new Error('Cloud\x20profile\x20\x22'+_0x7aa921+_0x1feeaf(0x23c));throw _0x2507d4;}}export async function createCloudProfile(_0x34120d,_0x2aed79,_0x2b0abe={}){const _0x2f7f40=_0x4cea8c,_0x246d6b={'ueTxS':_0x2f7f40(0x217),'Ljnde':'POST'},_0x36670d={'name':_0x34120d};if(_0x2aed79)_0x36670d[_0x2f7f40(0x1f2)]=_0x2aed79;_0x2b0abe['settings']&&Object['keys'](_0x2b0abe['settings'])['length']>0x0&&(_0x36670d['settings']=_0x2b0abe['settings']);if(_0x2b0abe[_0x2f7f40(0x1f8)])_0x36670d[_0x2f7f40(0x1f8)]=_0x2b0abe[_0x2f7f40(0x1f8)];if(_0x2b0abe['password'])_0x36670d['password']=_0x2b0abe[_0x2f7f40(0x207)];return await apiRequest(_0x246d6b[_0x2f7f40(0x238)],{'method':_0x246d6b[_0x2f7f40(0x1e5)],'body':JSON['stringify'](_0x36670d)});}export async function uploadCloudProfileSession(_0x3bd02e,_0x26172d){const _0x5096ba=_0x4cea8c;return await apiRequest(_0x5096ba(0x212)+encodeURIComponent(_0x3bd02e)+_0x5096ba(0x1ea),{'method':'POST','body':JSON['stringify']({'session_state':_0x26172d})});}export async function saveCloudProfileCredentials(_0x416ca6,_0x160382,_0x4f4bd8){const _0x5c2881={'jOLER':function(_0xcbb137,_0x4ce9fe,_0x5b6e22){return _0xcbb137(_0x4ce9fe,_0x5b6e22);}};await _0x5c2881['jOLER'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x416ca6),{'method':'PUT','body':JSON['stringify']({'username':_0x160382,'password':_0x4f4bd8})});}function _0xfc90(_0x3012af,_0x4f1ff6){_0x3012af=_0x3012af-0x1db;const _0xfc7cf4=_0xfc7c();let _0xfc90b4=_0xfc7cf4[_0x3012af];return _0xfc90b4;}export async function fetchAuthConfig(){const _0x59e1fe=_0x4cea8c,_0x3d9e25={'iiCEL':function(_0x44d70f,_0x15ee12){return _0x44d70f(_0x15ee12);},'SqgLp':'/api/v1/profiles/auth-config','nQjQR':function(_0x83bde6,_0x4956a7){return _0x83bde6!==_0x4956a7;}};try{const _0x3e8f8f=await _0x3d9e25[_0x59e1fe(0x28b)](apiRequest,_0x3d9e25['SqgLp']);return _0x3e8f8f[_0x59e1fe(0x243)];}catch(_0xdbfd4f){return _0xdbfd4f instanceof ApiError&&_0x3d9e25['nQjQR'](_0xdbfd4f['status'],0x194)&&console['error'](_0x59e1fe(0x1ec)+_0xdbfd4f['message']),null;}}async function createTunnelSession(_0xdd90e3){const _0x3ec507=_0x4cea8c,_0x1f952b={'XnNGQ':'agent'};return await apiRequest(_0x3ec507(0x1e3),{'method':_0x3ec507(0x218),'body':JSON[_0x3ec507(0x1ed)]({'targetUrl':_0xdd90e3,'mode':_0x1f952b['XnNGQ']})});}async function deleteTunnelSession(_0x36a400){const _0x3b9d60=_0x4cea8c;await apiRequest(_0x3b9d60(0x28c)+_0x36a400,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x17ae48,_0x570dea,_0x581edb){const _0x1b082b=_0x4cea8c,_0x580d12={'NgQwP':function(_0x415075,_0xfaf61c){return _0x415075+_0xfaf61c;},'dvcRz':function(_0x20117f,_0x515939,_0x389c4d){return _0x20117f(_0x515939,_0x389c4d);},'kVdIb':function(_0x3871aa,_0x15f85b){return _0x3871aa in _0x15f85b;},'GLejv':'ambiguous','ciiwT':function(_0x4b5551,_0x1d77a9){return _0x4b5551(_0x1d77a9);},'cDqEn':function(_0x112218,_0x2025d7){return _0x112218===_0x2025d7;}};if(_0x581edb){if(!_0x17ae48?.['environments']?.[_0x581edb]){const _0x5e26b7=Object['keys'](_0x17ae48?.[_0x1b082b(0x252)]??{});throw new Error(_0x580d12['NgQwP'](_0x1b082b(0x244)+_0x581edb+'\x22\x20not\x20found\x20in\x20your\x20org\x27s\x20config.',_0x5e26b7[_0x1b082b(0x27c)]?_0x1b082b(0x1de)+_0x5e26b7['join'](',\x20')+'.':'\x20Your\x20org\x20has\x20no\x20auth\x20environments\x20configured.')+'\x20(If\x20you\x20meant\x20a\x20profile,\x20use\x20--profile.)');}return _0x581edb;}if(!_0x17ae48)return null;if(_0x570dea){const _0x243edd=matchAuthEnvironmentExact(_0x570dea,_0x17ae48);if(_0x243edd)return _0x243edd;const _0x5940c4=_0x580d12[_0x1b082b(0x1ee)](matchAuthEnvironmentByHost,_0x570dea,_0x17ae48);if(_0x5940c4&&_0x580d12['kVdIb'](_0x1b082b(0x24d),_0x5940c4))return console['log'](_0x1b082b(0x254)+_0x5940c4['key']+'\x22\x20matched\x20by\x20host\x20for\x20'+_0x570dea+_0x1b082b(0x203)),_0x5940c4[_0x1b082b(0x24d)];if(_0x5940c4&&_0x580d12['GLejv']in _0x5940c4)throw new Error('Multiple\x20auth\x20environments\x20declare\x20this\x20host\x20('+_0x5940c4['ambiguous'][_0x1b082b(0x253)](',\x20')+');\x20pass\x20--env\x20<key>\x20to\x20pick\x20one.');if(_0x580d12[_0x1b082b(0x1fe)](needsTunnel,_0x570dea))throw new Error(_0x580d12[_0x1b082b(0x27f)](_0x580d12[_0x1b082b(0x27f)]('No\x20auth\x20environment\x20matches\x20the\x20local\x20target\x20\x22'+_0x570dea+'\x22.\x0a'+_0x1b082b(0x26f),'\x20\x20Options:\x0a'),'\x20\x20-\x20pass\x20`--env\x20<key>`\x20to\x20pick\x20the\x20auth\x20environment\x20by\x20name,\x20or\x0a')+(_0x1b082b(0x271)+_0x570dea[_0x1b082b(0x1eb)](/\/+$/,'')+'\x22\x20to\x20the\x20matching\x20auth\x20environment\x27s\x20domains,\x20or\x0a')+(_0x1b082b(0x211)+_0x570dea+'\x20--skip-auth`\x20for\x20an\x20unauthenticated\x20profile.'));}if(_0x17ae48[_0x1b082b(0x25c)])return _0x17ae48['defaultEnvironmentKey'];const _0x4e54df=Object['keys'](_0x17ae48[_0x1b082b(0x252)]??{});if(_0x580d12['cDqEn'](_0x4e54df['length'],0x1))return _0x4e54df[0x0];if(_0x580d12['cDqEn'](_0x4e54df[_0x1b082b(0x27c)],0x0))return null;throw new Error('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x4e54df[_0x1b082b(0x253)](',\x20')+').\x20'+'Pass\x20--base-url\x20<your-app-url>\x20so\x20Ranger\x20can\x20match\x20the\x20right\x20one,\x20or\x20create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`.');}export function adHocProfileName(_0xb3053f,_0x1ea701,_0x189d6b){const _0x165e09=_0x4cea8c,_0x4204c2={'ihJhF':function(_0x1547f9,_0x553de9){return _0x1547f9===_0x553de9;}};if(!_0x1ea701||_0x4204c2[_0x165e09(0x1e1)](_0x1ea701,_0x189d6b))return _0xb3053f;return _0xb3053f+':'+_0x1ea701;}export async function resolveAdHocProfile(_0x69c846={},_0x2c3808=process[_0x4cea8c(0x204)]){const _0x28856c=_0x4cea8c,_0x3fee52={'xiyuq':function(_0x5a3900,_0x139b6c,_0x1e737a,_0x5efb77){return _0x5a3900(_0x139b6c,_0x1e737a,_0x5efb77);},'cNCef':function(_0x1239de,_0x40aaa2){return _0x1239de(_0x40aaa2);},'Iafir':function(_0x1a9036,_0x59790a){return _0x1a9036&&_0x59790a;},'lyvFg':function(_0x81e982,_0x3ae988){return _0x81e982!==_0x3ae988;},'WNEie':function(_0x170ea4,_0x192aed){return _0x170ea4??_0x192aed;}},_0x44e681=_0x2c3808[_0x28856c(0x237)];if(!_0x44e681)return null;const _0x50a58f=await fetchAuthConfig(),_0x319741=pickAdHocEnvKey(_0x50a58f,_0x69c846[_0x28856c(0x24f)],_0x69c846[_0x28856c(0x283)]);let _0x51e943=_0x3fee52[_0x28856c(0x1dc)](adHocProfileName,_0x44e681,_0x319741,_0x50a58f?.['defaultEnvironmentKey']),_0x4cca7a=await _0x3fee52[_0x28856c(0x268)](fetchCloudProfile,_0x51e943);_0x3fee52[_0x28856c(0x234)](_0x4cca7a,_0x319741)&&_0x3fee52['lyvFg'](_0x4cca7a['environmentKey'],_0x319741)&&(console['log']('\x20\x20Cloud\x20profile\x20\x22'+_0x51e943+'\x22\x20is\x20bound\x20to\x20auth\x20env\x20\x22'+(_0x4cca7a['environmentKey']??_0x28856c(0x230))+_0x28856c(0x27a)+_0x319741+_0x28856c(0x275)+_0x44e681+':'+_0x319741+_0x28856c(0x273)),_0x51e943=_0x44e681+':'+_0x319741,_0x4cca7a=await fetchCloudProfile(_0x51e943));if(_0x4cca7a)return{'name':_0x4cca7a[_0x28856c(0x26d)],'profile':_0x4cca7a};const _0x38fd0c=_0x2c3808['RANGER_TEST_PASSWORD'],_0x598967=await createCloudProfile(_0x51e943,_0x3fee52['WNEie'](_0x319741,undefined),{'username':_0x44e681,'password':_0x38fd0c});return console['log'](_0x28856c(0x241)+_0x598967['name']+_0x28856c(0x23f)+_0x44e681+(_0x319741?_0x28856c(0x22a)+_0x319741+')':'')),{'name':_0x598967[_0x28856c(0x26d)],'profile':_0x598967};}export async function writeSessionToLocalCache(_0xe473ac,_0x5f4ec0,_0xa58f73,_0x1b471f,_0x4a7a7b,_0x226bad,_0x256aaf){const _0x388e47=_0x4cea8c,_0x14f7d5={'VkeeE':function(_0x513cd7,_0x19e604,_0x4cb14e){return _0x513cd7(_0x19e604,_0x4cb14e);},'lHOWU':'auth','ggPti':function(_0x5beed6,_0xe49627){return _0x5beed6>_0xe49627;}},_0x4cefec=sessionCacheHash({'orgId':_0x5f4ec0,'profileName':_0xe473ac,'effectiveBaseUrl':_0xa58f73,'setupHeaders':_0x1b471f,'invalidateOn':_0x256aaf?.['invalidateOn'],'userAgent':_0x256aaf?.['userAgent'],'clientIp':_0x256aaf?.['clientIp']}),_0x5eb415=_0x14f7d5['VkeeE'](getSessionCachePath,_0x4cefec,_0xe473ac),_0x4a836b=_0x14f7d5['VkeeE'](join,getRangerHomeDir(),_0x14f7d5['lHOWU']);!existsSync(_0x4a836b)&&await _0x14f7d5['VkeeE'](mkdir,_0x4a836b,{'recursive':!![]});const _0x2814f4={..._0x4a7a7b};_0x226bad&&_0x14f7d5[_0x388e47(0x236)](_0x226bad[_0x388e47(0x27c)],0x0)&&Array[_0x388e47(0x286)](_0x2814f4[_0x388e47(0x281)])&&(_0x2814f4[_0x388e47(0x281)]=_0x14f7d5[_0x388e47(0x25b)](duplicateCookiesForDomains,_0x2814f4['cookies'],_0x226bad));const _0x2d38f8={'cached_at':new Date()[_0x388e47(0x1fc)](),'session_state':_0x2814f4};await writeFile(_0x5eb415,JSON['stringify'](_0x2d38f8,null,0x2));const _0x1f263d=getStorageStatePath(_0x5eb415);return await _0x14f7d5['VkeeE'](writeFile,_0x1f263d,JSON[_0x388e47(0x1ed)](_0x2814f4,null,0x2)),_0x1f263d;}export async function checkLocalCache(_0x239026,_0x5172e7,_0x235e9f,_0x227bb7,_0x354ff3){const _0x1bc300=_0x4cea8c,_0x33ab58={'kGMZD':function(_0x5c5db2,_0x1c58c6){return _0x5c5db2(_0x1c58c6);},'RTSfj':function(_0x4c08e1,_0x4448dc){return _0x4c08e1(_0x4448dc);},'Kxmba':_0x1bc300(0x22f)},_0x134b17=_0x33ab58[_0x1bc300(0x1fd)](sessionCacheHash,{'orgId':_0x5172e7,'profileName':_0x239026,'effectiveBaseUrl':_0x235e9f,'setupHeaders':_0x227bb7,'invalidateOn':_0x354ff3?.['invalidateOn'],'userAgent':_0x354ff3?.['userAgent'],'clientIp':_0x354ff3?.['clientIp']}),_0x3f9666=getSessionCachePath(_0x134b17,_0x239026),_0x31636d=_0x33ab58['kGMZD'](getStorageStatePath,_0x3f9666);if(!_0x33ab58['RTSfj'](existsSync,_0x3f9666)||!existsSync(_0x31636d))return null;try{const _0x56c6c5=await readFile(_0x3f9666,_0x33ab58[_0x1bc300(0x216)]);return JSON['parse'](_0x56c6c5),{'storageStatePath':_0x31636d};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x4a728b,_0xc20d77){const _0x25572b=_0x4cea8c;if(!_0xc20d77||!_0xc20d77[_0x25572b(0x25d)]?.[_0x25572b(0x27c)])return;let _0x135f74;try{_0x135f74=new URL(_0x4a728b);}catch{return;}const _0xd91c12=[];for(const _0x3ed56a of _0xc20d77[_0x25572b(0x25d)]){try{_0xd91c12['push']({'raw':_0x3ed56a,'url':new URL(_0x3ed56a)});}catch{}}if(_0xd91c12[_0x25572b(0x27c)]===0x0)return;if(_0xd91c12[_0x25572b(0x265)](_0x3d49b6=>_0x3d49b6['url'][_0x25572b(0x219)]===_0x135f74[_0x25572b(0x219)]))return;const _0x2d2df1=_0xd91c12[_0x25572b(0x23a)](_0x2daf22=>'\x22'+_0x2daf22['raw']+'\x22')['join'](',\x20');console['log']('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x2d2df1+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x4a728b+_0x25572b(0x25e))+'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.');}export async function serverSideLogin(_0xd2f9fc,_0x30d68f){const _0x5227b9=_0x4cea8c,_0x30f4c8={'unDnE':function(_0x28c5fb,_0x5164c9){return _0x28c5fb===_0x5164c9;},'nGCFr':'not_configured'},_0x2e7c50=process[_0x5227b9(0x204)][_0x5227b9(0x237)],_0x532442=process['env']['RANGER_TEST_PASSWORD'],_0x4caa69={};if(_0x2e7c50)_0x4caa69['username']=_0x2e7c50;if(_0x532442)_0x4caa69[_0x5227b9(0x207)]=_0x532442;if(_0x30d68f?.[_0x5227b9(0x1e7)])_0x4caa69[_0x5227b9(0x1e7)]=!![];if(_0x30d68f?.[_0x5227b9(0x24f)])_0x4caa69[_0x5227b9(0x21e)]=_0x30d68f[_0x5227b9(0x24f)];if(_0x30d68f?.['env'])_0x4caa69['env']=_0x30d68f[_0x5227b9(0x204)];_0x30d68f?.[_0x5227b9(0x270)]&&(_0x4caa69[_0x5227b9(0x231)]=_0x30d68f[_0x5227b9(0x270)][_0x5227b9(0x264)],_0x4caa69['pw_endpoint']=_0x30d68f['tunnel'][_0x5227b9(0x247)]);try{return await apiRequest(_0x5227b9(0x212)+encodeURIComponent(_0xd2f9fc)+_0x5227b9(0x21b),{'method':_0x5227b9(0x218),'body':JSON['stringify'](_0x4caa69)});}catch(_0x1c43ee){if(_0x1c43ee instanceof ApiError&&_0x30f4c8['unDnE'](_0x1c43ee[_0x5227b9(0x23e)],0x190)&&_0x1c43ee['code']===_0x30f4c8[_0x5227b9(0x251)])return{'status':'not_configured','error':_0x1c43ee['detail']};throw _0x1c43ee;}}async function serverSideLoginWithOptionalTunnel(_0x27d375,_0x469297,_0x1b762e={}){const _0x4f605a=_0x4cea8c,_0x138464={'tEElS':function(_0x10dbfe,_0x29916d){return _0x10dbfe(_0x29916d);},'aDBau':function(_0x1ddf6c,_0x21042b){return _0x1ddf6c===_0x21042b;},'mZiVT':_0x4f605a(0x205),'WzBAX':function(_0x4843f5,_0x1e2141){return _0x4843f5(_0x1e2141);},'PctrE':function(_0x2f5be1){return _0x2f5be1();},'NOPhu':'tunnel_login_setup','ksqJW':'tunnel_login_request','akFec':function(_0x32b4ab,_0x343b5c,_0x15910b){return _0x32b4ab(_0x343b5c,_0x15910b);},'FnJHR':function(_0x576cd5,_0xf42887){return _0x576cd5??_0xf42887;},'UZxsF':function(_0x2feda8,_0x548039){return _0x2feda8||_0x548039;},'ttrNw':_0x4f605a(0x246)};if(!_0x138464[_0x4f605a(0x27e)](needsTunnel,_0x469297))return await serverSideLogin(_0x27d375,{'force':_0x1b762e[_0x4f605a(0x1e7)],'env':_0x1b762e['env']});let _0x4d7fda=null,_0x44ea5e=null,_0x505dcf=null,_0x2941c9=null,_0x12fb9f=![];const _0x5ebdea=process[_0x4f605a(0x204)][_0x4f605a(0x279)]?.[_0x4f605a(0x228)](),_0x305c1c=_0x138464[_0x4f605a(0x1f6)](_0x5ebdea,'1')||_0x5ebdea===_0x138464[_0x4f605a(0x224)],_0x27fb15={'profileName':_0x27d375,'targetUrlHost':_0x138464[_0x4f605a(0x22e)](targetHostForTelemetry,_0x469297),'tunnelRequired':!![],'forceLogin':Boolean(_0x1b762e[_0x4f605a(0x1e7)]),'localBrowserServerHeaded':_0x305c1c};try{_0x1b762e[_0x4f605a(0x259)]?.['trackPhaseStart']('tunnel_login_setup',_0x27fb15);_0x305c1c&&console['log']('\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...');_0x4d7fda=await launchBrowserServer({'headless':!_0x305c1c}),_0x44ea5e=await _0x138464[_0x4f605a(0x22e)](createTunnelSession,_0x469297);const _0x3105b3=await _0x138464['PctrE'](requireToken);_0x505dcf=await _0x138464['WzBAX'](createTunnelBridge,{'localWsUrl':_0x4d7fda[_0x4f605a(0x285)],'tunnelServerUrl':_0x44ea5e[_0x4f605a(0x225)],'sessionId':_0x44ea5e[_0x4f605a(0x264)],'apiKey':_0x3105b3,'onError':_0x33df94=>{_0x2941c9=_0x33df94;},'onClose':()=>{_0x2941c9??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x27d375);},'onEvent':_0x10af74=>trackBridgeEvent(_0x1b762e[_0x4f605a(0x259)],_0x10af74)}),_0x1b762e[_0x4f605a(0x259)]?.[_0x4f605a(0x1ff)](_0x138464['NOPhu'],{..._0x27fb15,'tunnelSessionId':_0x44ea5e[_0x4f605a(0x264)],'localBrowserServer':!![],'localBrowserServerHeaded':_0x305c1c}),_0x12fb9f=!![];try{return _0x1b762e[_0x4f605a(0x259)]?.['trackPhaseStart'](_0x138464['ksqJW'],{..._0x27fb15,'tunnelSessionId':_0x44ea5e[_0x4f605a(0x264)]}),await _0x138464['akFec'](serverSideLogin,_0x27d375,{'force':_0x1b762e['force'],'targetUrl':_0x469297,'env':_0x1b762e[_0x4f605a(0x204)],'tunnel':{'sessionId':_0x44ea5e['sessionId'],'pwEndpoint':_0x44ea5e['pwEndpoint']}})['then'](_0x33e37f=>{const _0x5cf051=_0x4f605a;return _0x1b762e[_0x5cf051(0x259)]?.[_0x5cf051(0x1ff)]('tunnel_login_request',{..._0x27fb15,'tunnelSessionId':_0x44ea5e?.['sessionId'],'loginStatus':_0x33e37f[_0x5cf051(0x23e)],'hasSessionState':Boolean(_0x33e37f[_0x5cf051(0x239)]),'hasTestOutput':_0x138464[_0x5cf051(0x27e)](Boolean,_0x33e37f[_0x5cf051(0x277)]),'bridgeError':errorMessageForTelemetry(_0x2941c9)}),_0x33e37f;});}catch(_0x321f29){await _0x1b762e['telemetry']?.['trackPhaseError'](_0x138464['ksqJW'],_0x138464[_0x4f605a(0x24b)](_0x2941c9,_0x321f29),{..._0x27fb15,'tunnelSessionId':_0x44ea5e['sessionId'],'bridgeError':errorMessageForTelemetry(_0x2941c9)});throw _0x138464[_0x4f605a(0x24b)](_0x2941c9,_0x321f29);}}catch(_0x2c0fb0){!_0x12fb9f&&await _0x1b762e['telemetry']?.[_0x4f605a(0x28a)]('tunnel_login_setup',_0x2c0fb0,{..._0x27fb15,'tunnelSessionId':_0x44ea5e?.['sessionId']});throw _0x2c0fb0;}finally{if(_0x138464[_0x4f605a(0x1e2)](_0x44ea5e,_0x4d7fda)||_0x505dcf){const _0x43d860='2|0|1|3|4'['split']('|');let _0x2be9ee=0x0;while(!![]){switch(_0x43d860[_0x2be9ee++]){case'0':_0x505dcf?.['close']();continue;case'1':_0x4d7fda&&await _0x4d7fda[_0x4f605a(0x26a)]()['catch'](()=>{});continue;case'2':_0x1b762e[_0x4f605a(0x259)]?.['trackPhaseStart']('tunnel_login_cleanup',{..._0x27fb15,'tunnelSessionId':_0x44ea5e?.[_0x4f605a(0x264)]});continue;case'3':_0x44ea5e&&await deleteTunnelSession(_0x44ea5e['sessionId'])[_0x4f605a(0x26b)](()=>{});continue;case'4':_0x1b762e['telemetry']?.[_0x4f605a(0x1ff)](_0x138464['ttrNw'],{..._0x27fb15,'tunnelSessionId':_0x44ea5e?.[_0x4f605a(0x264)]});continue;}break;}}}}export async function manualBrowserLogin(_0x1387e3,_0x78298f,_0x46ab4a={}){const _0x3f0f0d=_0x4cea8c,_0x5a0405={'RmOGU':function(_0x1eea71,_0xefb866){return _0x1eea71(_0xefb866);},'PrWLD':function(_0x49e613){return _0x49e613();},'tdfSl':function(_0x3a8112,_0x2f3b17){return _0x3a8112+_0x2f3b17;},'vHLJJ':'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','mhfZW':_0x3f0f0d(0x1e9),'JvvdQ':'\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','qTaQi':function(_0xf1f1a4,_0x1c9215){return _0xf1f1a4(_0x1c9215);},'tAwBH':function(_0x48cee3,_0x399ee5){return _0x48cee3&&_0x399ee5;},'vqYJE':_0x3f0f0d(0x20d),'XISlQ':function(_0x1b7c7e,_0x467628,_0x190fdc){return _0x1b7c7e(_0x467628,_0x190fdc);},'KQOjU':'POST','ZlgOc':'cli:manual-login'};if(!isInteractive())throw new Error(_0x5a0405['tdfSl'](_0x3f0f0d(0x1f3)+_0x1387e3['name']+'\x22.\x0a',_0x3f0f0d(0x209))+_0x5a0405[_0x3f0f0d(0x227)]);const _0x3c3d61=_0x78298f&&_0x78298f['domains'][_0x3f0f0d(0x27c)]>0x0?_0x78298f['domains'][0x0]:'about:blank';console[_0x3f0f0d(0x269)](_0x5a0405['mhfZW']),console[_0x3f0f0d(0x269)](_0x5a0405[_0x3f0f0d(0x240)]),await new Promise(_0x1280db=>setTimeout(_0x1280db,0x7d0));const _0xfa9dd7=await chromium[_0x3f0f0d(0x1fa)]({'headless':![]});let _0x23129c=null;try{const _0x2812db={'ignoreHTTPSErrors':!![]};_0x78298f?.[_0x3f0f0d(0x24a)]&&(_0x2812db[_0x3f0f0d(0x20c)]=_0x78298f[_0x3f0f0d(0x24a)]);const _0x48753c=await _0xfa9dd7['newContext'](_0x2812db);await _0x5a0405['qTaQi'](addProfileSetupBanner,_0x48753c);const _0x27e660=await _0x48753c[_0x3f0f0d(0x1e0)]();await _0x27e660[_0x3f0f0d(0x21a)](_0x3c3d61);let _0x354769=![];await new Promise(_0x12547d=>{const _0x2d1a4f=_0x3f0f0d,_0x58638b={'mMmkp':function(_0x557f37,_0x46c576){return _0x557f37/_0x46c576;},'HFpUX':function(_0x449895){const _0x1fc285=_0xfc90;return _0x5a0405[_0x1fc285(0x220)](_0x449895);}},_0xa4d049=setTimeout(()=>{const _0x10ed0f=_0xfc90;_0x354769=!![],console[_0x10ed0f(0x261)](_0x10ed0f(0x267)+_0x58638b[_0x10ed0f(0x284)](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x58638b[_0x10ed0f(0x282)](_0x12547d);},MANUAL_LOGIN_TIMEOUT_MS);_0x27e660['on'](_0x2d1a4f(0x26a),async()=>{const _0xb65625=_0x2d1a4f;_0x5a0405[_0xb65625(0x27b)](clearTimeout,_0xa4d049);try{const _0x46caa6=await _0x48753c[_0xb65625(0x221)]();_0x23129c=_0x46caa6;}catch{}_0x12547d();});});if(_0x5a0405[_0x3f0f0d(0x1f9)](_0x354769,!_0x23129c))throw new Error(_0x3f0f0d(0x222));}finally{await _0xfa9dd7[_0x3f0f0d(0x26a)]()['catch'](()=>{});}if(!_0x23129c)throw new Error(_0x5a0405[_0x3f0f0d(0x272)]);return _0x46ab4a['persistSessionState']!==![]&&await _0x5a0405['XISlQ'](apiRequest,'/api/v1/profiles/'+_0x5a0405['qTaQi'](encodeURIComponent,_0x1387e3[_0x3f0f0d(0x26d)])+_0x3f0f0d(0x1ea),{'method':_0x5a0405['KQOjU'],'body':JSON[_0x3f0f0d(0x1ed)]({'session_state':_0x23129c,'updated_by':_0x5a0405['ZlgOc']})}),{'sessionState':_0x23129c};}export async function promptSaveCredentials(_0x4829fd){const _0x3356e9=_0x4cea8c,_0x1d031f={'sdddY':function(_0x52da9d){return _0x52da9d();},'DpZKa':function(_0x35676b,_0x98d473,_0x546f9f){return _0x35676b(_0x98d473,_0x546f9f);}},_0x132593=process['env']['RANGER_TEST_USERNAME'],_0x6e0923=process['env']['RANGER_TEST_PASSWORD'];if(!_0x132593||!_0x6e0923)return;if(!_0x1d031f['sdddY'](isInteractive))return;const {save:_0x246377}=await _0x2951a1['prompt']([{'type':_0x3356e9(0x20b),'name':'save','message':_0x3356e9(0x1f7),'default':![]}]);if(!_0x246377)return;await _0x1d031f['DpZKa'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x4829fd),{'method':'PUT','body':JSON[_0x3356e9(0x1ed)]({'username':_0x132593,'password':_0x6e0923})}),console['log'](_0x3356e9(0x263));}export async function resolveCloudProfileSession(_0x1df0b1,_0x225c31={}){const _0x2ad0c0=_0x4cea8c,_0x261828={'SWmkn':function(_0x40eb56){return _0x40eb56();},'ArRuu':function(_0x5ebaed,_0x5b1043,_0x333909){return _0x5ebaed(_0x5b1043,_0x333909);},'vQIZC':function(_0xf2fcc8,_0x2a78cf){return _0xf2fcc8===_0x2a78cf;},'XLGli':'string','sPHEQ':function(_0x4ba1b8,_0x18d0df){return _0x4ba1b8||_0x18d0df;},'MpYTA':function(_0x490b45,_0x25ecf0){return _0x490b45(_0x25ecf0);},'lhIDa':function(_0xe5c10e,_0x38ba22,_0x5813dd,_0x5b739f,_0x29aaed,_0x425a39,_0x4283b5,_0xe83b42){return _0xe5c10e(_0x38ba22,_0x5813dd,_0x5b739f,_0x29aaed,_0x425a39,_0x4283b5,_0xe83b42);},'rPPAM':function(_0x13d77f,_0x1339fc,_0x4158d8){return _0x13d77f(_0x1339fc,_0x4158d8);},'naYGz':function(_0x480567,_0x2b914a){return _0x480567(_0x2b914a);},'GUyWx':function(_0x39760a,_0x3c0584){return _0x39760a||_0x3c0584;},'aMELf':function(_0x3cb004,_0x5dfb8a,_0x587ba2,_0x2419c3){return _0x3cb004(_0x5dfb8a,_0x587ba2,_0x2419c3);},'BbIuv':_0x2ad0c0(0x28d),'omHkP':function(_0x5ddf6a,_0x46ea87){return _0x5ddf6a&&_0x46ea87;},'ZwpKe':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','ibltA':function(_0x21b0f6){return _0x21b0f6();},'zeoOA':function(_0x591d82,_0x5e67ae){return _0x591d82+_0x5e67ae;}},_0x209b69=_0x1df0b1[_0x2ad0c0(0x250)]??{},_0x58eeef=await _0x261828['SWmkn'](fetchAuthConfig),_0x6fe77e=_0x58eeef?_0x261828[_0x2ad0c0(0x202)](resolveAuthEnvironmentLocally,_0x58eeef,_0x225c31['assertedEnv']??_0x1df0b1[_0x2ad0c0(0x1f0)]):null,_0xbf6921=_0x261828[_0x2ad0c0(0x1e8)](typeof _0x6fe77e?.['loginInstructions'],_0x261828['XLGli'])&&_0x6fe77e[_0x2ad0c0(0x233)]['trim']()?_0x6fe77e['loginInstructions']:undefined,_0x3842b1=typeof _0x209b69[_0x2ad0c0(0x233)]==='string'&&_0x209b69['loginInstructions'][_0x2ad0c0(0x26c)]()?_0x209b69[_0x2ad0c0(0x233)]:undefined,_0x82bd95=_0x261828['sPHEQ'](_0x3842b1,!_0xbf6921)?_0x209b69:{..._0x209b69,'loginInstructions':_0xbf6921},_0x43590c=Boolean(_0x82bd95[_0x2ad0c0(0x233)]?.['trim']()),_0x22f84e=_0x261828['MpYTA'](Boolean,_0x209b69['forceLogin']||_0x6fe77e?.[_0x2ad0c0(0x1ef)]),_0x376b45=_0x6fe77e?.['domains'],_0x2b37c6=_0x209b69[_0x2ad0c0(0x24a)],_0x96d1e6=_0x2b37c6??_0x6fe77e?.['setupHeaders'],_0x2afca6=_0x225c31['effectiveBaseUrl']??_0x209b69['baseUrl']??(_0x376b45&&_0x376b45['length']>0x0?_0x376b45[0x0]:''),_0xf1effd=_0x2afca6?needsTunnel(_0x2afca6):![],_0x4929a4={'invalidateOn':_0x6fe77e?.[_0x2ad0c0(0x235)],'userAgent':_0x6fe77e?.['browserOptions']?.['userAgent']??_0x209b69[_0x2ad0c0(0x24e)]};_0x22f84e&&console['log'](_0x2ad0c0(0x229)+_0x1df0b1['name']+'\x22,\x20refreshing\x20session...');if(!_0x22f84e){const _0x4398d4=await checkLocalCache(_0x1df0b1[_0x2ad0c0(0x26d)],_0x1df0b1[_0x2ad0c0(0x20f)],_0x2afca6,_0x96d1e6,_0x4929a4);if(_0x4398d4){if(_0x2afca6&&!_0xf1effd){const _0x28f32a=await isCachedSessionLive(_0x4398d4[_0x2ad0c0(0x26e)],_0x2afca6,{'sessionCheckPath':_0x6fe77e?.['sessionCheckPath'],'setupHeaders':_0x96d1e6},{'launchBrowser':launchRealBrowser});if(_0x28f32a)return console[_0x2ad0c0(0x269)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x1df0b1['name']+'\x22'),{'authPath':_0x4398d4['storageStatePath'],'settings':_0x82bd95,'resolvedEnv':_0x6fe77e};console['log']('\x20\x20Cached\x20session\x20for\x20\x22'+_0x1df0b1[_0x2ad0c0(0x26d)]+'\x22\x20failed\x20validation\x20—\x20refreshing...'),_0x261828[_0x2ad0c0(0x202)](emitSessionValidationHint,_0x2afca6,_0x6fe77e);}else return _0xf1effd&&console[_0x2ad0c0(0x269)]('\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x1df0b1['name']+'\x22'),{'authPath':_0x4398d4['storageStatePath'],'settings':_0x82bd95,'resolvedEnv':_0x6fe77e};}}if(!_0x22f84e&&_0x1df0b1['sessionState']){const _0xc0655d=await _0x261828[_0x2ad0c0(0x226)](writeSessionToLocalCache,_0x1df0b1[_0x2ad0c0(0x26d)],_0x1df0b1[_0x2ad0c0(0x20f)],_0x2afca6,_0x96d1e6,_0x1df0b1[_0x2ad0c0(0x25f)],_0x376b45,_0x4929a4);if(_0x2afca6){const _0x3c651a=await isCachedSessionLive(_0xc0655d,_0x2afca6,{'sessionCheckPath':_0x6fe77e?.['sessionCheckPath'],'setupHeaders':_0x96d1e6},{'launchBrowser':launchRealBrowser});if(_0x3c651a)return console['log']('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x1df0b1[_0x2ad0c0(0x26d)]+'\x22,\x20cached\x20locally'),{'authPath':_0xc0655d,'settings':_0x82bd95,'resolvedEnv':_0x6fe77e};console[_0x2ad0c0(0x269)](_0x2ad0c0(0x20a)+_0x1df0b1['name']+_0x2ad0c0(0x1fb)),_0x261828[_0x2ad0c0(0x24c)](emitSessionValidationHint,_0x2afca6,_0x6fe77e);}else return{'authPath':_0xc0655d,'settings':_0x82bd95,'resolvedEnv':_0x6fe77e};}if(_0x43590c)return console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x1df0b1[_0x2ad0c0(0x26d)]+_0x2ad0c0(0x278)),{'authPath':undefined,'settings':_0x82bd95,'resolvedEnv':_0x6fe77e};console[_0x2ad0c0(0x269)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x1df0b1['name']+'\x22,\x20attempting\x20login...');const _0x389da2=_0x261828[_0x2ad0c0(0x22d)](Boolean,process[_0x2ad0c0(0x204)][_0x2ad0c0(0x237)])&&Boolean(process['env']['RANGER_TEST_PASSWORD']),_0x5fea8e=_0x261828[_0x2ad0c0(0x1f1)](Boolean,_0x1df0b1['username']),_0x4951fb=Boolean(_0x225c31[_0x2ad0c0(0x280)]),_0x9cf730=_0x2afca6?isBareLocalhost(_0x2afca6):![],_0xe74b76=_0x261828[_0x2ad0c0(0x1e6)](_0x389da2,_0x5fea8e)&&_0x261828[_0x2ad0c0(0x22b)](!_0x9cf730,_0x4951fb);if(_0xe74b76)try{const _0x265e9a=_0x2afca6?await _0x261828[_0x2ad0c0(0x1f5)](serverSideLoginWithOptionalTunnel,_0x1df0b1['name'],_0x2afca6,{'force':_0x22f84e,'telemetry':_0x225c31['telemetry'],'env':_0x225c31['assertedEnv']}):await serverSideLogin(_0x1df0b1['name'],{'force':_0x22f84e,'env':_0x225c31['assertedEnv']});if(_0x265e9a['status']===_0x2ad0c0(0x214))console[_0x2ad0c0(0x269)](_0x2ad0c0(0x21c));else{if(_0x261828[_0x2ad0c0(0x1e8)](_0x265e9a['status'],'success')&&_0x265e9a['session_state']){console['log'](_0x261828['BbIuv']);const _0x30929f=await _0x261828['lhIDa'](writeSessionToLocalCache,_0x1df0b1['name'],_0x1df0b1['organizationId'],_0x2afca6,_0x96d1e6,_0x265e9a[_0x2ad0c0(0x239)],_0x376b45,_0x4929a4);return _0x261828['omHkP'](_0x389da2,!_0x5fea8e)&&await promptSaveCredentials(_0x1df0b1[_0x2ad0c0(0x26d)]),{'authPath':_0x30929f,'settings':_0x82bd95,'resolvedEnv':_0x6fe77e};}else _0x265e9a['test_output']&&(console[_0x2ad0c0(0x269)]('\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:'),console['log'](_0x265e9a['test_output'])),console[_0x2ad0c0(0x269)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}}catch(_0x39d8cc){console[_0x2ad0c0(0x269)](_0x2ad0c0(0x210)+(_0x39d8cc instanceof Error?_0x39d8cc['message']:String(_0x39d8cc))),console['log'](_0x261828['ZwpKe']);}if(_0x9cf730&&!_0x4951fb&&!_0x261828[_0x2ad0c0(0x232)](isInteractive))throw new Error(_0x261828[_0x2ad0c0(0x276)]('No\x20saved\x20session\x20for\x20\x22'+_0x2afca6+_0x2ad0c0(0x200)+_0x1df0b1['name']+'\x22,\x20and\x20cloud\x20sessions\x20don\x27t\x20apply\x20to\x20localhost.\x0a','\x20\x20•\x20capture\x20one\x20(a\x20browser\x20opens):\x20ranger\x20profile\x20add\x20'+_0x1df0b1[_0x2ad0c0(0x26d)]+'\x20--url\x20'+_0x2afca6+'\x0a')+'\x20\x20•\x20or\x20pass\x20--env\x20<key>\x20to\x20run\x20an\x20automated\x20login\x20for\x20this\x20target.');const _0x3e38e0=_0x6fe77e?{..._0x6fe77e,'domains':orderLoginDomains(_0x2afca6,_0x6fe77e[_0x2ad0c0(0x25d)]),'setupHeaders':_0x96d1e6}:_0x2afca6?{'key':_0x1df0b1['environmentKey']??'','domains':[_0x2afca6],'setupHeaders':_0x96d1e6}:null,{sessionState:_0x45df94}=await manualBrowserLogin(_0x1df0b1,_0x3e38e0,{'persistSessionState':!_0xf1effd}),_0x14e493=await _0x261828[_0x2ad0c0(0x226)](writeSessionToLocalCache,_0x1df0b1[_0x2ad0c0(0x26d)],_0x1df0b1['organizationId'],_0x2afca6,_0x96d1e6,_0x45df94,_0x376b45,_0x4929a4);return{'authPath':_0x14e493,'settings':_0x82bd95,'resolvedEnv':_0x6fe77e};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x341239,_0x57be7d){const _0x441645=_0x2acf,_0x52c31d=_0x341239();while(!![]){try{const _0x225006=parseInt(_0x441645(0x210))/0x1+-parseInt(_0x441645(0x1f5))/0x2*(-parseInt(_0x441645(0x1f8))/0x3)+-parseInt(_0x441645(0x1e2))/0x4+parseInt(_0x441645(0x20c))/0x5*(parseInt(_0x441645(0x1ed))/0x6)+parseInt(_0x441645(0x203))/0x7+-parseInt(_0x441645(0x1fc))/0x8+-parseInt(_0x441645(0x1f9))/0x9*(parseInt(_0x441645(0x1ef))/0xa);if(_0x225006===_0x57be7d)break;else _0x52c31d['push'](_0x52c31d['shift']());}catch(_0x779de9){_0x52c31d['push'](_0x52c31d['shift']());}}}(_0xb735,0xd1827));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x438eed=process['env'],_0x1e0fd1={'stdin':process['stdin'],'stdout':process['stdout']}){const _0x3a89b1=_0x2acf,_0x500842={'pklJB':function(_0x1d04ee,_0x456284){return _0x1d04ee(_0x456284);}};if(_0x438eed['CI'])return![];return _0x500842[_0x3a89b1(0x1f1)](Boolean,_0x1e0fd1['stdin']['isTTY'])&&Boolean(_0x1e0fd1[_0x3a89b1(0x202)]['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x1e6437){const _0x579104=_0x2acf,_0x38a0c5={'EYDmo':function(_0x3ab11f,_0x861cf1){return _0x3ab11f(_0x861cf1);},'ACLxV':_0x579104(0x1f0),'rYhJV':_0x579104(0x20a),'ZBKjk':_0x579104(0x1ee),'RDvoz':function(_0x2c0f1f,_0x399b9b){return _0x2c0f1f!==_0x399b9b;}},_0x1beb12=new Set(_0x1e6437['invalidateOn']??DEFAULT_INVALIDATE_ON);_0x1e6437[_0x579104(0x200)]&&_0x38a0c5['EYDmo'](needsTunnel,_0x1e6437[_0x579104(0x200)])&&_0x1beb12[_0x579104(0x1fb)]('baseUrl');const _0x13e35e={'orgId':_0x1e6437[_0x579104(0x1ec)],'profileName':_0x1e6437[_0x579104(0x20d)]};return _0x1beb12['has'](_0x38a0c5[_0x579104(0x208)])&&(_0x13e35e['effectiveBaseUrl']=_0x1e6437[_0x579104(0x200)]),_0x1beb12['has'](_0x38a0c5['rYhJV'])&&(_0x13e35e[_0x579104(0x20a)]=_0x1e6437[_0x579104(0x20a)]?sortObjectKeys(_0x1e6437[_0x579104(0x20a)]):_0x1e6437['setupHeaders']),_0x1beb12[_0x579104(0x1ff)](_0x579104(0x1e3))&&(_0x13e35e['port']=_0x38a0c5[_0x579104(0x1fd)](extractPort,_0x1e6437[_0x579104(0x200)])),_0x1beb12['has'](_0x38a0c5['ZBKjk'])&&_0x1e6437['userAgent']!==undefined&&(_0x13e35e['userAgent']=_0x1e6437[_0x579104(0x1ee)]),_0x1beb12[_0x579104(0x1ff)](_0x579104(0x1dd))&&_0x38a0c5[_0x579104(0x1e1)](_0x1e6437['clientIp'],undefined)&&(_0x13e35e[_0x579104(0x1dd)]=_0x1e6437['clientIp']),createHash('sha256')['update'](JSON['stringify'](_0x13e35e))['digest']('hex')[_0x579104(0x20f)](0x0,0xc);}function extractPort(_0x1c2f64){try{return new URL(_0x1c2f64)['port'];}catch{return'';}}function _0x2acf(_0x2fb803,_0xf318f4){_0x2fb803=_0x2fb803-0x1dd;const _0xb735aa=_0xb735();let _0x2acf67=_0xb735aa[_0x2fb803];return _0x2acf67;}function sortObjectKeys(_0x12e47d){const _0x31b520=_0x2acf,_0x58c0b7={};for(const _0x6838f4 of Object[_0x31b520(0x209)](_0x12e47d)[_0x31b520(0x1e4)]()){_0x58c0b7[_0x6838f4]=_0x12e47d[_0x6838f4];}return _0x58c0b7;}export function getSessionCachePath(_0x2bff56,_0xf5f006){const _0x20394d=_0x2acf,_0x52dfc2={'asgGI':function(_0x41496b){return _0x41496b();},'wXNWX':_0x20394d(0x1fe)};return join(_0x52dfc2[_0x20394d(0x1e8)](getRangerHomeDir),_0x52dfc2['wXNWX'],_0x2bff56+'-'+_0xf5f006+'.json');}export function getStorageStatePath(_0x488ab4){const _0x53628e=_0x2acf;return _0x488ab4[_0x53628e(0x1f4)](/\.json$/,_0x53628e(0x1f2));}export function needsTunnel(_0x5ed881){const _0x38b843=_0x2acf,_0x4d134c={'WVQbH':'localhost','BRVKs':_0x38b843(0x206),'rRFYX':'.localhost'};let _0x482a8a;try{_0x482a8a=new URL(_0x5ed881)[_0x38b843(0x1ea)];}catch{return![];}if(_0x482a8a===_0x4d134c[_0x38b843(0x205)]||_0x482a8a===_0x4d134c[_0x38b843(0x1eb)])return!![];if(_0x482a8a[_0x38b843(0x204)](_0x4d134c[_0x38b843(0x1df)]))return!![];if(_0x482a8a['includes']('localhost.'))return!![];return![];}export function isBareLocalhost(_0x179a79){const _0x3f705f=_0x2acf,_0x4ec1d3={'XvdTc':function(_0x12505f,_0x277759){return _0x12505f===_0x277759;},'syvxn':function(_0x26d410,_0x14c287){return _0x26d410===_0x14c287;},'YJazb':_0x3f705f(0x206),'tTfNg':'[::1]'};let _0x135c39;try{_0x135c39=new URL(_0x179a79)['hostname'];}catch{return![];}return _0x4ec1d3['XvdTc'](_0x135c39,_0x3f705f(0x20b))||_0x4ec1d3[_0x3f705f(0x207)](_0x135c39,_0x4ec1d3['YJazb'])||_0x135c39===_0x3f705f(0x1e5)||_0x135c39===_0x4ec1d3[_0x3f705f(0x1fa)];}export function orderLoginDomains(_0xae921d,_0x340b40){const _0x46fb10=_0x340b40??[];if(!_0xae921d)return _0x46fb10;return[_0xae921d,..._0x46fb10['filter'](_0x5d2dd4=>_0x5d2dd4!==_0xae921d)];}export function hostnameOf(_0x4aa0cd){const _0x30d1a4=_0x2acf;return new URL(_0x4aa0cd)[_0x30d1a4(0x1ea)];}export function duplicateCookiesForDomains(_0x1f7527,_0x517563){const _0x3e3fc2=_0x2acf,_0x3dea34=[..._0x1f7527],_0x49946d=new Set(_0x1f7527['map'](_0x403a20=>_0x403a20[_0x3e3fc2(0x1e9)]));for(const _0x229ea5 of _0x517563){let _0x39c7be;try{_0x39c7be=hostnameOf(_0x229ea5);}catch{continue;}if(!_0x39c7be)continue;const _0x48e42d=_0x39c7be[_0x3e3fc2(0x1f7)]('.')?_0x39c7be:'.'+_0x39c7be;if(_0x49946d['has'](_0x39c7be)||_0x49946d[_0x3e3fc2(0x1ff)](_0x48e42d))continue;for(const _0x9a5e76 of _0x1f7527){_0x3dea34['push']({..._0x9a5e76,'domain':_0x48e42d});}_0x49946d['add'](_0x48e42d);}return _0x3dea34;}function _0xb735(){const _0x291915=['152476mcGTMw','clientIp','PnEoZ','rRFYX','test','RDvoz','551456nfzIxl','port','sort','::1','IdUYG','oqHgk','asgGI','domain','hostname','BRVKs','orgId','6SkFFtp','userAgent','6762350cTBIUg','baseUrl','pklJB','.storageState.json','toString','replace','285512SZuupG','defaultEnvironmentKey','startsWith','24ADmWch','9JxiIIG','tTfNg','add','2248760svHVFa','EYDmo','auth','has','effectiveBaseUrl','HVnvr','stdout','1100302FiyiCQ','endsWith','WVQbH','127.0.0.1','syvxn','ACLxV','keys','setupHeaders','localhost','2508175WCyQDq','profileName','goto','slice'];_0xb735=function(){return _0x291915;};return _0xb735();}export function resolveAuthEnvironmentLocally(_0x199d5c,_0x2a2244){const _0x4da359=_0x2acf,_0x2b7bc7=_0x199d5c['environments'];if(_0x2a2244){const _0x549260=_0x2b7bc7[_0x2a2244];if(!_0x549260)return null;return{'key':_0x2a2244,..._0x549260};}if(_0x199d5c[_0x4da359(0x1f6)]){const _0xfe0ce7=_0x2b7bc7[_0x199d5c[_0x4da359(0x1f6)]];if(!_0xfe0ce7)return null;return{'key':_0x199d5c['defaultEnvironmentKey'],..._0xfe0ce7};}const _0x7d835f=Object['keys'](_0x2b7bc7);if(_0x7d835f['length']===0x1){const _0x531703=_0x7d835f[0x0];return{'key':_0x531703,..._0x2b7bc7[_0x531703]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x4dda55,_0xb66b70){const _0x1e2481=_0x2acf;try{if(_0xb66b70)return new URL(_0xb66b70,_0x4dda55)[_0x1e2481(0x1f3)]();return new URL(_0x4dda55)[_0x1e2481(0x1f3)]();}catch{return null;}}export function looksLikeLoginUrl(_0x17fc8b){const _0x31fd27=_0x2acf;try{const _0x1365b7=new URL(_0x17fc8b);return LOGIN_URL_PATTERN['test'](_0x1365b7['pathname']);}catch{return LOGIN_URL_PATTERN[_0x31fd27(0x1e0)](_0x17fc8b);}}export async function isCachedSessionLive(_0x21d959,_0x3e7946,_0x4dfe56={},_0x4bfeea={}){const _0x31d27d=_0x2acf,_0x208042={'PnEoZ':function(_0x5720b5,_0x2c6f86,_0x289117){return _0x5720b5(_0x2c6f86,_0x289117);},'IdUYG':'domcontentloaded','oqHgk':function(_0x48e32c,_0x2373fe){return _0x48e32c===_0x2373fe;},'HVnvr':function(_0x79de20,_0x232990){return _0x79de20===_0x232990;}},_0x110ebf=_0x208042[_0x31d27d(0x1de)](buildSessionCheckUrl,_0x3e7946,_0x4dfe56['sessionCheckPath']);if(!_0x110ebf)return!![];if(!_0x4bfeea['launchBrowser'])return!![];let _0x10454d=null;try{_0x10454d=await _0x4bfeea['launchBrowser']();const _0x352082=await _0x10454d['newContext']({'storageState':_0x21d959,'ignoreHTTPSErrors':!![],..._0x4dfe56[_0x31d27d(0x20a)]?{'extraHTTPHeaders':_0x4dfe56[_0x31d27d(0x20a)]}:{}}),_0x14de4b=await _0x352082['newPage'](),_0x22259e=await _0x14de4b[_0x31d27d(0x20e)](_0x110ebf,{'waitUntil':_0x208042[_0x31d27d(0x1e6)],'timeout':0x3a98}),_0x32ab3c=_0x22259e?.['status']();if(_0x208042[_0x31d27d(0x1e7)](_0x32ab3c,0x191)||_0x208042[_0x31d27d(0x201)](_0x32ab3c,0x193))return![];const _0x35850c=_0x14de4b['url']();if(looksLikeLoginUrl(_0x35850c))return![];return!![];}catch{return![];}finally{if(_0x10454d)await _0x10454d['close']()['catch'](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x36c5fb=_0x2bc7;(function(_0x1959fb,_0x1a21cd){const _0x27d3b2=_0x2bc7,_0x5236c8=_0x1959fb();while(!![]){try{const _0x1a6c14=parseInt(_0x27d3b2(0xa6))/0x1+-parseInt(_0x27d3b2(0x9b))/0x2+-parseInt(_0x27d3b2(0xa4))/0x3*(-parseInt(_0x27d3b2(0xa5))/0x4)+parseInt(_0x27d3b2(0xa0))/0x5+parseInt(_0x27d3b2(0x99))/0x6+-parseInt(_0x27d3b2(0x9e))/0x7*(-parseInt(_0x27d3b2(0x96))/0x8)+-parseInt(_0x27d3b2(0x97))/0x9;if(_0x1a6c14===_0x1a21cd)break;else _0x5236c8['push'](_0x5236c8['shift']());}catch(_0x18f02b){_0x5236c8['push'](_0x5236c8['shift']());}}}(_0x326c,0xa6626));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';function _0x326c(){const _0xc991dd=['utf8','3332Ttybew','update','4470155vjqwJj','aes-256-gcm','BPSBc','NdCza','9ULVbLe','651932NIPSIo','637901WfVzDz','3336mcMqbk','23264019vUFCHu','subarray','7828542mPZGdJ','getAuthTag','515458dwjwoW','concat'];_0x326c=function(){return _0xc991dd;};return _0x326c();}const ALGORITHM=_0x36c5fb(0xa1),SALT='ranger-auth-encryption',KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;function _0x2bc7(_0x2dde67,_0x153112){_0x2dde67=_0x2dde67-0x96;const _0x326ca3=_0x326c();let _0x2bc726=_0x326ca3[_0x2dde67];return _0x2bc726;}export function deriveKey(_0x15fede){const _0x170531={'WSrgj':'sha256'};return pbkdf2Sync(_0x15fede,SALT,0x186a0,KEY_LENGTH,_0x170531['WSrgj']);}export function encrypt(_0x210106,_0x5c9eb8){const _0x2d1040=_0x36c5fb,_0x47b8ff={'BPSBc':function(_0x19ddf0,_0x57a8ea){return _0x19ddf0(_0x57a8ea);},'NdCza':function(_0x44ceea,_0x1ebc30,_0x4f8b00,_0x48837f){return _0x44ceea(_0x1ebc30,_0x4f8b00,_0x48837f);},'qSvtz':'utf8'},_0x10a67d=_0x47b8ff[_0x2d1040(0xa2)](deriveKey,_0x5c9eb8),_0x475186=randomBytes(IV_LENGTH),_0x5dea2d=_0x47b8ff[_0x2d1040(0xa3)](createCipheriv,ALGORITHM,_0x10a67d,_0x475186),_0xdbd70a=Buffer[_0x2d1040(0x9c)]([_0x5dea2d[_0x2d1040(0x9f)](_0x210106,_0x47b8ff['qSvtz']),_0x5dea2d['final']()]),_0x58ba27=_0x5dea2d[_0x2d1040(0x9a)]();return Buffer[_0x2d1040(0x9c)]([_0x475186,_0x58ba27,_0xdbd70a]);}export function decrypt(_0x256e45,_0x27d854){const _0x470b6f=_0x36c5fb,_0x544887={'vJJes':function(_0xbc1c4e,_0x559ebf,_0x45b2dd,_0x7d9f7){return _0xbc1c4e(_0x559ebf,_0x45b2dd,_0x7d9f7);}},_0x48b695=deriveKey(_0x27d854),_0x44f61f=_0x256e45[_0x470b6f(0x98)](0x0,IV_LENGTH),_0x530d17=_0x256e45['subarray'](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x4acccc=_0x256e45['subarray'](IV_LENGTH+TAG_LENGTH),_0x7f22e0=_0x544887['vJJes'](createDecipheriv,ALGORITHM,_0x48b695,_0x44f61f);return _0x7f22e0['setAuthTag'](_0x530d17),_0x7f22e0[_0x470b6f(0x9f)](_0x4acccc)+_0x7f22e0['final'](_0x470b6f(0x9d));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x1f5fbb=_0x28f1;(function(_0x1ad672,_0x50ea57){const _0x5e1cc9=_0x28f1,_0x16760c=_0x1ad672();while(!![]){try{const _0x2625e6=-parseInt(_0x5e1cc9(0x1c1))/0x1*(-parseInt(_0x5e1cc9(0x192))/0x2)+-parseInt(_0x5e1cc9(0x19d))/0x3*(parseInt(_0x5e1cc9(0x1a4))/0x4)+-parseInt(_0x5e1cc9(0x1b9))/0x5*(-parseInt(_0x5e1cc9(0x1a3))/0x6)+parseInt(_0x5e1cc9(0x1b6))/0x7*(parseInt(_0x5e1cc9(0x1b2))/0x8)+-parseInt(_0x5e1cc9(0x1b1))/0x9*(-parseInt(_0x5e1cc9(0x19b))/0xa)+parseInt(_0x5e1cc9(0x19a))/0xb+-parseInt(_0x5e1cc9(0x1b7))/0xc*(parseInt(_0x5e1cc9(0x1ba))/0xd);if(_0x2625e6===_0x50ea57)break;else _0x16760c['push'](_0x16760c['shift']());}catch(_0x3303e9){_0x16760c['push'](_0x16760c['shift']());}}}(_0x38b1,0x27e9c));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x28f1(_0x2ea289,_0x4dee79){_0x2ea289=_0x2ea289-0x191;const _0x38b144=_0x38b1();let _0x28f156=_0x38b144[_0x2ea289];return _0x28f156;}import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set([_0x1f5fbb(0x1a2),'-t','--secret','--api-key','--apikey',_0x1f5fbb(0x1b5),_0x1f5fbb(0x19e),_0x1f5fbb(0x198),_0x1f5fbb(0x1a7),'--authorization','--header','--cookie',_0x1f5fbb(0x199)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x348e21){const _0x2f185a=_0x1f5fbb;return TOKEN_PATTERNS[_0x2f185a(0x193)](_0x14a140=>_0x14a140[_0x2f185a(0x1a5)](_0x348e21));}function _0x38b1(){const _0x54778b=['Unknown\x20command','[desire-path]\x20Payload:\x20','1710pnunad','1832NQljys','env','Unknown\x20argument','--key','2534JMvlkt','5417964XrOqBb','=[REDACTED]','50WheVib','13XfCPgE','push','zvJgM','OOjnO','catch','application/json','missing_required_argument','201797PDCZTG','metadata','2CxCJko','some','has_token','unknown','includes','startsWith','--pass','--credentials','2059255EecsuP','16270YsGFmJ','exrpI','21CbZTlF','--password','toLowerCase','invalid_option_value','has','--token','42654jTUazJ','135508dqUszH','test','slice','--auth','stringify','/api/v1/mcp/desire-path-logs','featureId','split','error','pBBAj','EPaaw'];_0x38b1=function(){return _0x54778b;};return _0x38b1();}export function sanitizeArgs(_0x204202){const _0x3ef5ba=_0x1f5fbb,_0xdcaae6={'exrpI':'[REDACTED]','IbsGI':function(_0x5354e3,_0x27b9aa){return _0x5354e3(_0x27b9aa);}},_0x52df57=[];let _0x4bb508=![];for(let _0xbd253d=0x0;_0xbd253d<_0x204202['length'];_0xbd253d++){const _0x5af1fc=_0x204202[_0xbd253d];if(_0x4bb508){_0x52df57['push'](_0xdcaae6[_0x3ef5ba(0x19c)]),_0x4bb508=![];continue;}if(_0x5af1fc[_0x3ef5ba(0x197)]('--')||_0x5af1fc['startsWith']('-')){const _0x552d43=_0x5af1fc['indexOf']('=');if(_0x552d43!==-0x1){const _0x12cfbe=_0x5af1fc['slice'](0x0,_0x552d43)[_0x3ef5ba(0x19f)]();if(SENSITIVE_FLAGS[_0x3ef5ba(0x1a1)](_0x12cfbe)){_0x52df57[_0x3ef5ba(0x1bb)](_0x5af1fc[_0x3ef5ba(0x1a6)](0x0,_0x552d43)+_0x3ef5ba(0x1b8));continue;}}else{const _0x1e83bc=_0x5af1fc['toLowerCase']();SENSITIVE_FLAGS['has'](_0x1e83bc)&&(_0x4bb508=!![]);}_0x52df57['push'](_0x5af1fc);}else _0xdcaae6['IbsGI'](looksLikeToken,_0x5af1fc)?_0x52df57[_0x3ef5ba(0x1bb)](_0xdcaae6['exrpI']):_0x52df57[_0x3ef5ba(0x1bb)](_0x5af1fc);}return _0x52df57['join']('\x20');}export async function logDesirePath(_0x598881){const _0x5aee01=_0x1f5fbb,_0x6073c6={'EPaaw':_0x5aee01(0x194),'OOjnO':'POST'};try{const _0x16980c=await getToken()[_0x5aee01(0x1be)](()=>null),_0x170cdd=getApiBaseUrl(),_0x1c080c=getCurrentVersion(),_0x14f815=_0x16980c?_0x6073c6[_0x5aee01(0x1ae)]:'no_token',_0xfe2363={..._0x598881[_0x5aee01(0x191)],'authStatus':_0x14f815,'isTty':process['stdout']['isTTY']??![]},_0x6c9484={'Content-Type':_0x5aee01(0x1bf)};_0x16980c&&(_0x6c9484['Authorization']='Bearer\x20'+_0x16980c);const _0x2a0556={'rawCommand':_0x598881['rawCommand'],'errorMessage':_0x598881['errorMessage'],'errorType':_0x598881['errorType'],'featureId':_0x598881[_0x5aee01(0x1aa)],'sessionId':_0x598881['sessionId'],'metadata':_0xfe2363,'cliVersion':_0x1c080c};process['env']['DEBUG']&&(console['error']('[desire-path]\x20Sending\x20log\x20to\x20'+_0x170cdd+_0x5aee01(0x1a9)),console['error'](_0x5aee01(0x1b0)+JSON[_0x5aee01(0x1a8)](_0x2a0556,null,0x2))),await fetch(_0x170cdd+_0x5aee01(0x1a9),{'method':_0x6073c6[_0x5aee01(0x1bd)],'headers':_0x6c9484,'body':JSON[_0x5aee01(0x1a8)](_0x2a0556)});}catch(_0x2ec29e){process[_0x5aee01(0x1b3)]['DEBUG']&&console[_0x5aee01(0x1ac)]('[desire-path]\x20Failed\x20to\x20send:\x20'+_0x2ec29e);}}export function getErrorType(_0x58ddc0,_0x438963){const _0x100da4=_0x1f5fbb,_0x48c8f7={'byRPc':'unknown_command','pBBAj':'Not\x20enough\x20non-option\x20arguments','yndMB':_0x100da4(0x1c0),'LsGGw':_0x100da4(0x1b4),'zvJgM':'unknown_argument','NOpOR':'Missing\x20required\x20argument','ZAXoi':_0x100da4(0x195)},_0x39a652='5|4|0|2|1|6|3|7'[_0x100da4(0x1ab)]('|');let _0x24e95b=0x0;while(!![]){switch(_0x39a652[_0x24e95b++]){case'0':if(_0x58ddc0['includes'](_0x100da4(0x1af)))return _0x48c8f7['byRPc'];continue;case'1':if(_0x58ddc0[_0x100da4(0x196)](_0x48c8f7[_0x100da4(0x1ad)]))return _0x48c8f7['yndMB'];continue;case'2':if(_0x58ddc0['includes'](_0x48c8f7['LsGGw']))return _0x48c8f7[_0x100da4(0x1bc)];continue;case'3':if(_0x58ddc0['includes'](_0x48c8f7['NOpOR']))return'missing_option';continue;case'4':if(!_0x58ddc0)return _0x48c8f7['ZAXoi'];continue;case'5':if(_0x438963)return'runtime_error';continue;case'6':if(_0x58ddc0['includes']('Invalid\x20values'))return _0x100da4(0x1a0);continue;case'7':return'syntax_error';}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x59297d=_0x4309;(function(_0x54dad1,_0x144c21){const _0x16494e=_0x4309,_0x12f607=_0x54dad1();while(!![]){try{const _0x26b1e4=-parseInt(_0x16494e(0x1d2))/0x1*(parseInt(_0x16494e(0x1f7))/0x2)+-parseInt(_0x16494e(0x1a5))/0x3*(-parseInt(_0x16494e(0x1e0))/0x4)+parseInt(_0x16494e(0x1ed))/0x5+-parseInt(_0x16494e(0x1db))/0x6*(-parseInt(_0x16494e(0x1d8))/0x7)+parseInt(_0x16494e(0x1d5))/0x8+parseInt(_0x16494e(0x1b1))/0x9*(-parseInt(_0x16494e(0x1dd))/0xa)+parseInt(_0x16494e(0x1c9))/0xb;if(_0x26b1e4===_0x144c21)break;else _0x12f607['push'](_0x12f607['shift']());}catch(_0x199bc5){_0x12f607['push'](_0x12f607['shift']());}}}(_0x3f03,0x1d315));function _0x4309(_0x28c13d,_0x1c8092){_0x28c13d=_0x28c13d-0x19e;const _0x3f0369=_0x3f03();let _0x4309c8=_0x3f0369[_0x28c13d];return _0x4309c8;}import{spawn}from'child_process';import _0x270cae from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';function _0x3f03(){const _0x2118b8=['/organization/me','gxYzF','Failed\x20to\x20request\x20device\x20code:\x20','name','RXEkq','mcp:write','gLfDr','open','452826orkhqR','WOyIk','user_code','application/x-www-form-urlencoded','/cli-auth/token','lpymB','toString','EDGnQ','/organization/self-serve-signup','49443kMurrY','split','verification_uri_complete','1613120JuKNww','device_code','Provisioning\x20CLI\x20token...','35ZtDrmj','ijems','slow_down','65454HBXnOB','ignore','270rGbCXk','buxPp','Failed\x20to\x20provision\x20API\x20key:\x20','28UULmZI','LXmCw','Code:\x20','KNHOe','base64url','win32','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','json','Failed\x20to\x20create\x20organization:\x20','status','token','oCCrk','length','1067825eStcwo','vCDNz','list','stringify','xyUzO','wgZvt','error_description','/organization/my-memberships','cmd','log','8SIjIAt','start','platform','map','firstName','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','rYQvu','filter','stdout','unref','xdg-open','aZDYz','5007OZKZlk','CAfYx','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','kBIPM','workosClientId','https://api.workos.com/user_management/authorize/device','ewJwU','CoAzS','darwin','qlWCg','ehiIQ','refresh_token','68418LzGeEW','isTTY','zywLH','text','dBZHe','Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','Failed\x20to\x20fetch\x20memberships:\x20','POST','qwLjB','utf-8','XEIKI','Invalid\x20JWT\x20format','selected','/api-keys','write','error'];_0x3f03=function(){return _0x2118b8;};return _0x3f03();}const WORKOS_DEVICE_AUTH_URL=_0x59297d(0x1aa),WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0xeb6696){const _0x35cb51=_0x59297d,_0x24f891={'aZDYz':'POST'},_0x2eda30=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x24f891[_0x35cb51(0x1a4)],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0xeb6696})});if(!_0x2eda30['ok']){const _0x31f9e4=await _0x2eda30['text']();throw new Error(_0x35cb51(0x1c3)+_0x2eda30[_0x35cb51(0x1e9)]+'\x20'+_0x31f9e4);}return _0x2eda30['json']();}export async function pollForTokens(_0x164f38,_0x12c7a4,_0x59a058,_0x1f4100){const _0x3b2ac0=_0x59297d,_0x56656e={'CoAzS':function(_0x49e885,_0x24ed6a){return _0x49e885*_0x24ed6a;},'mwySp':function(_0x484b23,_0x47f69d){return _0x484b23*_0x47f69d;},'ehiIQ':function(_0xd89cf2,_0x435a4d){return _0xd89cf2<_0x435a4d;},'vCDNz':function(_0x3ea6a2,_0x592bd7){return _0x3ea6a2===_0x592bd7;},'buxPp':'authorization_pending','EDGnQ':_0x3b2ac0(0x1da),'CeQQo':'Authentication\x20failed','oLxOI':'Device\x20authorization\x20timed\x20out'},_0x2f1c86=Date['now']()+_0x56656e[_0x3b2ac0(0x1ac)](_0x1f4100,0x3e8);let _0x3184dd=_0x56656e['mwySp'](_0x59a058,0x3e8);while(_0x56656e[_0x3b2ac0(0x1af)](Date['now'](),_0x2f1c86)){await sleep(_0x3184dd);const _0x37796c=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x3b2ac0(0x1cc)},'body':new URLSearchParams({'client_id':_0x164f38,'device_code':_0x12c7a4,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x37796c['ok'])return _0x37796c[_0x3b2ac0(0x1e7)]();const _0xc0209e=await _0x37796c['json']();if(_0x56656e['vCDNz'](_0xc0209e[_0x3b2ac0(0x1c0)],_0x56656e[_0x3b2ac0(0x1de)]))continue;if(_0x56656e[_0x3b2ac0(0x1ee)](_0xc0209e[_0x3b2ac0(0x1c0)],_0x56656e[_0x3b2ac0(0x1d0)])){_0x3184dd+=0x3e8;continue;}throw new Error(_0xc0209e[_0x3b2ac0(0x1f3)]||_0xc0209e[_0x3b2ac0(0x1c0)]||_0x56656e['CeQQo']);}throw new Error(_0x56656e['oLxOI']);}async function fetchUserProfile(_0x2a2a65){const _0xc6cfe1=_0x59297d,_0x463330={'UVlvZ':function(_0x1482e5){return _0x1482e5();},'ydoQM':function(_0x1e2a4b,_0x5f1ae2,_0x51e7f0){return _0x1e2a4b(_0x5f1ae2,_0x51e7f0);},'ewJwU':'GET'},_0x450bf5=_0x463330['UVlvZ'](getApiBaseUrl);try{const _0x7e39cc=await _0x463330['ydoQM'](fetch,_0x450bf5+_0xc6cfe1(0x1c1),{'method':_0x463330[_0xc6cfe1(0x1ab)],'headers':{'workos-token':_0x2a2a65}});if(_0x7e39cc['ok'])return _0x7e39cc['json']();}catch{}return null;}function buildKeyName(_0x335661,_0x2473f8){const _0x10b2d8=_0x59297d,_0x5c393d={'zywLH':function(_0x475358,_0xeebe46){return _0x475358===_0xeebe46;},'AbvZW':function(_0x2fdfb8,_0x2d5d86){return _0x2fdfb8+_0x2d5d86;}},_0xad81bd=_0x2473f8[_0x10b2d8(0x1a0)](_0x5a2af0=>_0x5a2af0['name']===_0x335661||_0x5a2af0[_0x10b2d8(0x1c4)]['startsWith'](_0x335661+'\x20('));if(_0x5c393d[_0x10b2d8(0x1b3)](_0xad81bd['length'],0x0))return _0x335661;return _0x335661+'\x20('+_0x5c393d['AbvZW'](_0xad81bd['length'],0x1)+')';}export async function provisionApiKey(_0x4c1e47){const _0x410e66=_0x59297d,_0x23e493={'dBZHe':function(_0x4f5597){return _0x4f5597();},'pzoUf':function(_0x5b2dbe,_0x2b23ae){return _0x5b2dbe(_0x2b23ae);},'qwLjB':'CLI\x20Key','wtHSU':function(_0x1e7293,_0x52750e,_0x1ffb22){return _0x1e7293(_0x52750e,_0x1ffb22);},'KOSzR':'GET','ijems':'POST','BzoMt':_0x410e66(0x1c6)},_0x7843bd=_0x23e493[_0x410e66(0x1b5)](getApiBaseUrl),_0x1b2dc4={'Content-Type':'application/json','workos-token':_0x4c1e47},_0x561e84=await _0x23e493['pzoUf'](fetchUserProfile,_0x4c1e47),_0x37db71=_0x561e84?.[_0x410e66(0x1fb)]||_0x561e84?.['email']?.['split']('@')[0x0],_0x1127fc=_0x37db71?_0x37db71+'\x27s\x20CLI\x20Key':_0x23e493[_0x410e66(0x1b9)];let _0x598281=[];try{const _0xc7f727=await _0x23e493['wtHSU'](fetch,_0x7843bd+_0x410e66(0x1be),{'method':_0x23e493['KOSzR'],'headers':_0x1b2dc4});if(_0xc7f727['ok']){const _0x21c940=await _0xc7f727['json']();_0x598281=_0x21c940['apiKeys'];}}catch{}const _0xad39cf=buildKeyName(_0x1127fc,_0x598281),_0x57cb5b=await _0x23e493['wtHSU'](fetch,_0x7843bd+_0x410e66(0x1be),{'method':_0x23e493[_0x410e66(0x1d9)],'headers':_0x1b2dc4,'body':JSON[_0x410e66(0x1f0)]({'name':_0xad39cf,'scope':_0x23e493['BzoMt']})});if(!_0x57cb5b['ok']){const _0x57550a=await _0x57cb5b['text']();throw new Error(_0x410e66(0x1df)+_0x57cb5b[_0x410e66(0x1e9)]+'\x20'+_0x57550a);}const _0xc85cbc=await _0x57cb5b[_0x410e66(0x1e7)]();return _0xc85cbc['apiKey'][_0x410e66(0x1ea)];}export function openBrowser(_0x49981e){const _0x44e5ef=_0x59297d,_0x13e5d3={'gLfDr':function(_0x3fb21d,_0x450d54){return _0x3fb21d===_0x450d54;},'xyUzO':_0x44e5ef(0x1e5),'kBIPM':function(_0x380fc7,_0x26aa15,_0x5b3490,_0xeb6fcc){return _0x380fc7(_0x26aa15,_0x5b3490,_0xeb6fcc);},'wgZvt':_0x44e5ef(0x1f8),'xaDQa':_0x44e5ef(0x1ad),'WOyIk':_0x44e5ef(0x1a3),'uxYrh':'ignore'};try{if(_0x13e5d3[_0x44e5ef(0x1c7)](process[_0x44e5ef(0x1f9)],_0x13e5d3[_0x44e5ef(0x1f1)])){const _0x3103c3=_0x13e5d3[_0x44e5ef(0x1a8)](spawn,_0x44e5ef(0x1f5),['/c',_0x13e5d3[_0x44e5ef(0x1f2)],'',_0x49981e],{'detached':!![],'stdio':_0x44e5ef(0x1dc),'windowsHide':!![]});_0x3103c3[_0x44e5ef(0x1a2)]();return;}const _0x41e1f5=process['platform']===_0x13e5d3['xaDQa']?_0x44e5ef(0x1c8):_0x13e5d3[_0x44e5ef(0x1ca)],_0x513fee=_0x13e5d3['kBIPM'](spawn,_0x41e1f5,[_0x49981e],{'detached':!![],'stdio':_0x13e5d3['uxYrh']});_0x513fee['unref']();}catch{}}function decodeJwtPayload(_0x34247a){const _0x27be17=_0x59297d,_0x5a3168=_0x34247a[_0x27be17(0x1d3)]('.');if(_0x5a3168[_0x27be17(0x1ec)]!==0x3)throw new Error(_0x27be17(0x1bc));const _0x3189bc=Buffer['from'](_0x5a3168[0x1],_0x27be17(0x1e4))[_0x27be17(0x1cf)](_0x27be17(0x1ba));return JSON['parse'](_0x3189bc);}async function selfServeSignup(_0x14b269){const _0x4a5d42=_0x59297d,_0x426a31=getApiBaseUrl(),_0x5560ac=await fetch(_0x426a31+_0x4a5d42(0x1d1),{'method':'POST','headers':{'Content-Type':'application/json','workos-token':_0x14b269}});if(!_0x5560ac['ok']){const _0x3de893=await _0x5560ac['text']();throw new Error(_0x4a5d42(0x1e8)+_0x5560ac[_0x4a5d42(0x1e9)]+'\x20'+_0x3de893);}return _0x5560ac[_0x4a5d42(0x1e7)]();}async function fetchMyMemberships(_0x5ff96e){const _0x245ca7=_0x59297d,_0x4797c2={'XEIKI':function(_0x43f60b,_0x338920,_0x47939c){return _0x43f60b(_0x338920,_0x47939c);}},_0x489b61=getApiBaseUrl(),_0x4067d8=await _0x4797c2[_0x245ca7(0x1bb)](fetch,_0x489b61+_0x245ca7(0x1f4),{'method':'GET','headers':{'workos-token':_0x5ff96e}});if(!_0x4067d8['ok']){const _0x45402c=await _0x4067d8[_0x245ca7(0x1b4)]();throw new Error(_0x245ca7(0x1b7)+_0x4067d8[_0x245ca7(0x1e9)]+'\x20'+_0x45402c);}const _0x7a7de7=await _0x4067d8['json']();return _0x7a7de7['memberships'];}async function refreshTokenWithOrg(_0x4a6bf6,_0x58c22d,_0x1cba98){const _0x1a150d=_0x59297d,_0x28767c={'RXEkq':function(_0x3c0dd6,_0x39f716,_0x8198e5){return _0x3c0dd6(_0x39f716,_0x8198e5);},'qlWCg':_0x1a150d(0x1b8),'lpymB':'application/x-www-form-urlencoded','KNHOe':_0x1a150d(0x1b0)},_0x14c2f6=await _0x28767c[_0x1a150d(0x1c5)](fetch,WORKOS_TOKEN_URL,{'method':_0x28767c[_0x1a150d(0x1ae)],'headers':{'Content-Type':_0x28767c[_0x1a150d(0x1ce)]},'body':new URLSearchParams({'client_id':_0x4a6bf6,'grant_type':_0x28767c[_0x1a150d(0x1e3)],'refresh_token':_0x58c22d,'organization_id':_0x1cba98})});if(!_0x14c2f6['ok']){const _0x4be89d=await _0x14c2f6[_0x1a150d(0x1b4)]();throw new Error(_0x1a150d(0x1e6)+_0x14c2f6[_0x1a150d(0x1e9)]+'\x20'+_0x4be89d);}return _0x14c2f6[_0x1a150d(0x1e7)]();}async function provisionCliToken(_0x3a14a4){const _0x56a5aa=_0x59297d,_0x4dbb0f=getApiBaseUrl(),_0x441967=await fetch(_0x4dbb0f+_0x56a5aa(0x1cd),{'method':'POST','headers':{'Content-Type':'application/json','workos-token':_0x3a14a4}});if(!_0x441967['ok']){const _0x10f3be=await _0x441967['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x441967[_0x56a5aa(0x1e9)]+'\x20'+_0x10f3be);}return _0x441967['json']();}export async function runDeviceAuthFlow(){const _0x24fdb9=_0x59297d,_0x547ec0={'gxYzF':function(_0x4bad7e,_0x1dc393){return _0x4bad7e(_0x1dc393);},'YFcML':'\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','GfEdL':function(_0x15e892,_0xfa9781){return _0x15e892(_0xfa9781);},'yjsSb':function(_0x50acff,_0x465446){return _0x50acff(_0x465446);},'CAfYx':function(_0x1f6c75,_0x5122cd){return _0x1f6c75===_0x5122cd;},'jZWsy':'Setting\x20up\x20your\x20organization...','stDRN':function(_0x2cf6e8,_0x18d738){return _0x2cf6e8(_0x18d738);},'rYQvu':function(_0x369715,_0x52736b){return _0x369715===_0x52736b;},'oCCrk':function(_0x6713b6,_0x4b3c09){return _0x6713b6+_0x4b3c09;},'glwJl':_0x24fdb9(0x1b6),'zfzZC':_0x24fdb9(0x1ef),'LXmCw':'Select\x20an\x20organization:','QmGyQ':_0x24fdb9(0x1d7)},_0x38fb10=getCurrentEnvironment(),_0x3bc646=ENVIRONMENT_CONFIGS[_0x38fb10][_0x24fdb9(0x1a9)],_0x4f4a99=await _0x547ec0[_0x24fdb9(0x1c2)](requestDeviceCode,_0x3bc646);console[_0x24fdb9(0x1f6)](_0x547ec0['YFcML']),console['log'](_0x24fdb9(0x1a7)),openBrowser(_0x4f4a99[_0x24fdb9(0x1d4)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x4f4a99[_0x24fdb9(0x1d4)]),console[_0x24fdb9(0x1f6)](_0x24fdb9(0x1e2)+_0x4f4a99[_0x24fdb9(0x1cb)]+'\x0a'),process[_0x24fdb9(0x1a1)][_0x24fdb9(0x1bf)]('Waiting\x20for\x20authentication...');let _0x541838=await pollForTokens(_0x3bc646,_0x4f4a99[_0x24fdb9(0x1d6)],_0x4f4a99['interval'],_0x4f4a99['expires_in']);console[_0x24fdb9(0x1f6)]('\x20✓');const _0x199c37=_0x547ec0['GfEdL'](decodeJwtPayload,_0x541838['access_token']);if(!_0x199c37['org_id']){const _0x142a1d=await _0x547ec0['yjsSb'](fetchMyMemberships,_0x541838['access_token']);let _0x21a269;if(_0x547ec0[_0x24fdb9(0x1a6)](_0x142a1d[_0x24fdb9(0x1ec)],0x0)){process[_0x24fdb9(0x1a1)]['write'](_0x547ec0['jZWsy']);const _0x45edac=await _0x547ec0['stDRN'](selfServeSignup,_0x541838['access_token']);_0x21a269=_0x45edac['organizationId'],console[_0x24fdb9(0x1f6)]('\x20✓');}else{if(_0x547ec0[_0x24fdb9(0x19f)](_0x142a1d[_0x24fdb9(0x1ec)],0x1))_0x21a269=_0x142a1d[0x0]['organizationId'],console['log']('Using\x20organization:\x20'+_0x142a1d[0x0][_0x24fdb9(0x1c4)]);else{const _0x62ad19=process['stdin']['isTTY']&&process[_0x24fdb9(0x1a1)][_0x24fdb9(0x1b2)];if(!_0x62ad19)throw new Error(_0x547ec0[_0x24fdb9(0x1eb)](_0x24fdb9(0x19e),_0x547ec0['glwJl']));const {selected:_0x89c613}=await _0x270cae['prompt']([{'type':_0x547ec0['zfzZC'],'name':_0x24fdb9(0x1bd),'message':_0x547ec0[_0x24fdb9(0x1e1)],'choices':_0x142a1d[_0x24fdb9(0x1fa)](_0x4ee0fa=>({'name':_0x4ee0fa['name'],'value':_0x4ee0fa['organizationId']}))}]);_0x21a269=_0x89c613;}}_0x541838=await refreshTokenWithOrg(_0x3bc646,_0x541838['refresh_token'],_0x21a269);}process['stdout'][_0x24fdb9(0x1bf)](_0x547ec0['QmGyQ']);const _0x28fc7f=await _0x547ec0[_0x24fdb9(0x1c2)](provisionCliToken,_0x541838['access_token']);return console['log']('\x20✓'),await storeToken(_0x28fc7f[_0x24fdb9(0x1ea)]),_0x541838['refresh_token']&&await storeRefreshToken(_0x541838['refresh_token']),_0x28fc7f['token'];}function sleep(_0x2e8a44){return new Promise(_0x11cb5f=>setTimeout(_0x11cb5f,_0x2e8a44));}
|
|
1
|
+
const _0x4f70fc=_0x4785;(function(_0xaa4533,_0x2ff3bc){const _0x61f225=_0x4785,_0x9d64d8=_0xaa4533();while(!![]){try{const _0x160eae=-parseInt(_0x61f225(0x1ab))/0x1+parseInt(_0x61f225(0x1aa))/0x2+parseInt(_0x61f225(0x1a9))/0x3+-parseInt(_0x61f225(0x1c5))/0x4+-parseInt(_0x61f225(0x1c7))/0x5+-parseInt(_0x61f225(0x1a6))/0x6*(-parseInt(_0x61f225(0x1b8))/0x7)+parseInt(_0x61f225(0x19f))/0x8;if(_0x160eae===_0x2ff3bc)break;else _0x9d64d8['push'](_0x9d64d8['shift']());}catch(_0x1061f7){_0x9d64d8['push'](_0x9d64d8['shift']());}}}(_0x5e8f,0x6758a));import{spawn}from'child_process';import _0x19dc82 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';function _0x5e8f(){const _0x3d499f=['name','access_token','slow_down','BeBHw','aMrPM','organizationId','FDyOB','win32','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','yJiHu','1539784aBWqRl','firstName','platform','application/x-www-form-urlencoded','lOZPq','lbiwt','QOMTg','12rTxImi','aPjkd','darwin','2013900YYRcTw','1020692UhQbMJ','5980MJXRzI','filter','token','ignore','apiKeys','cAEDt','fZYGC','text','Authentication\x20failed','yXzIX','now','liQNd','yOpmm','2280026EGMBJg','stdout','Using\x20organization:\x20','unref','refresh_token','iVnJw','https://api.workos.com/user_management/authenticate','json','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','error','length','org_id','list','3209880aRMMEC','Failed\x20to\x20provision\x20API\x20key:\x20','3968995KIUbtf','isTTY','utf-8','/organization/my-memberships','verification_uri_complete','oCHKn','POST','Failed\x20to\x20create\x20organization:\x20','CLI\x20Key','startsWith','urn:ietf:params:oauth:grant-type:device_code','CIqXo','log','Setting\x20up\x20your\x20organization...','xYALK','error_description','Failed\x20to\x20provision\x20CLI\x20token:\x20','status','workosClientId','Waiting\x20for\x20authentication...','\x27s\x20CLI\x20Key','toString','/api-keys','xdg-open','device_code','UTHUe','tGmqa','email'];_0x5e8f=function(){return _0x3d499f;};return _0x5e8f();}import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL=_0x4f70fc(0x1be);export async function requestDeviceCode(_0x4ea630){const _0x3a82cd=_0x4f70fc,_0x12a1ef={'rTvPM':_0x3a82cd(0x1a2)},_0x5654a9=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x3a82cd(0x1cd),'headers':{'Content-Type':_0x12a1ef['rTvPM']},'body':new URLSearchParams({'client_id':_0x4ea630})});if(!_0x5654a9['ok']){const _0x404fab=await _0x5654a9['text']();throw new Error('Failed\x20to\x20request\x20device\x20code:\x20'+_0x5654a9['status']+'\x20'+_0x404fab);}return _0x5654a9[_0x3a82cd(0x1bf)]();}export async function pollForTokens(_0x52b9ba,_0x4ff509,_0x43464a,_0x16b1bf){const _0x1b9a5a=_0x4f70fc,_0x4a19ce={'TXXei':function(_0x13d2d7,_0x39c491){return _0x13d2d7+_0x39c491;},'yJiHu':function(_0x385d57,_0x54f667){return _0x385d57*_0x54f667;},'CIqXo':_0x1b9a5a(0x1cd),'liQNd':'application/x-www-form-urlencoded','aMrPM':_0x1b9a5a(0x1d1),'QlGRz':function(_0x1ffb9f,_0x4dee74){return _0x1ffb9f===_0x4dee74;},'yOpmm':'authorization_pending','eeTWF':function(_0x30bdc6,_0x33fb92){return _0x30bdc6===_0x33fb92;},'eNbYA':'Device\x20authorization\x20timed\x20out'},_0xa1f551=_0x4a19ce['TXXei'](Date[_0x1b9a5a(0x1b5)](),_0x4a19ce['yJiHu'](_0x16b1bf,0x3e8));let _0x38bc86=_0x4a19ce[_0x1b9a5a(0x19e)](_0x43464a,0x3e8);while(Date[_0x1b9a5a(0x1b5)]()<_0xa1f551){await sleep(_0x38bc86);const _0x1dc918=await fetch(WORKOS_TOKEN_URL,{'method':_0x4a19ce[_0x1b9a5a(0x1d2)],'headers':{'Content-Type':_0x4a19ce[_0x1b9a5a(0x1b6)]},'body':new URLSearchParams({'client_id':_0x52b9ba,'device_code':_0x4ff509,'grant_type':_0x4a19ce[_0x1b9a5a(0x1e7)]})});if(_0x1dc918['ok'])return _0x1dc918['json']();const _0x1d5973=await _0x1dc918['json']();if(_0x4a19ce['QlGRz'](_0x1d5973[_0x1b9a5a(0x1c1)],_0x4a19ce[_0x1b9a5a(0x1b7)]))continue;if(_0x4a19ce['eeTWF'](_0x1d5973[_0x1b9a5a(0x1c1)],_0x1b9a5a(0x1e5))){_0x38bc86+=0x3e8;continue;}throw new Error(_0x1d5973[_0x1b9a5a(0x1d6)]||_0x1d5973[_0x1b9a5a(0x1c1)]||_0x1b9a5a(0x1b3));}throw new Error(_0x4a19ce['eNbYA']);}async function fetchUserProfile(_0x2d78de){const _0x5f1ff9={'nOPCn':function(_0x19ff3e){return _0x19ff3e();}},_0x40b96b=_0x5f1ff9['nOPCn'](getApiBaseUrl);try{const _0x33c256=await fetch(_0x40b96b+'/organization/me',{'method':'GET','headers':{'workos-token':_0x2d78de}});if(_0x33c256['ok'])return _0x33c256['json']();}catch{}return null;}function buildKeyName(_0x4547c5,_0x491605){const _0x47074a=_0x4f70fc,_0x42b8f8=_0x491605[_0x47074a(0x1ac)](_0x52253c=>_0x52253c['name']===_0x4547c5||_0x52253c[_0x47074a(0x1e3)][_0x47074a(0x1d0)](_0x4547c5+'\x20('));if(_0x42b8f8['length']===0x0)return _0x4547c5;return _0x4547c5+'\x20('+(_0x42b8f8['length']+0x1)+')';}export async function provisionApiKey(_0x9d59b4){const _0x41ce59=_0x4f70fc,_0xa5c3b5={'xwfpA':'application/json','cypNr':function(_0xf7b869,_0x2426f8){return _0xf7b869(_0x2426f8);},'xYALK':function(_0x57f4a8,_0xd60019,_0x51e3de){return _0x57f4a8(_0xd60019,_0x51e3de);},'BeBHw':'mcp:write'},_0x4c29c0=getApiBaseUrl(),_0x3cff11={'Content-Type':_0xa5c3b5['xwfpA'],'workos-token':_0x9d59b4},_0x215ad9=await _0xa5c3b5['cypNr'](fetchUserProfile,_0x9d59b4),_0x23f284=_0x215ad9?.[_0x41ce59(0x1a0)]||_0x215ad9?.[_0x41ce59(0x1e2)]?.['split']('@')[0x0],_0x4d0745=_0x23f284?_0x23f284+_0x41ce59(0x1db):_0x41ce59(0x1cf);let _0x17ecc6=[];try{const _0x4cb6a4=await fetch(_0x4c29c0+_0x41ce59(0x1dd),{'method':'GET','headers':_0x3cff11});if(_0x4cb6a4['ok']){const _0x4af750=await _0x4cb6a4[_0x41ce59(0x1bf)]();_0x17ecc6=_0x4af750[_0x41ce59(0x1af)];}}catch{}const _0x1e9123=_0xa5c3b5['xYALK'](buildKeyName,_0x4d0745,_0x17ecc6),_0xcd42d6=await _0xa5c3b5[_0x41ce59(0x1d5)](fetch,_0x4c29c0+_0x41ce59(0x1dd),{'method':'POST','headers':_0x3cff11,'body':JSON['stringify']({'name':_0x1e9123,'scope':_0xa5c3b5[_0x41ce59(0x1e6)]})});if(!_0xcd42d6['ok']){const _0xe2cfdb=await _0xcd42d6['text']();throw new Error(_0x41ce59(0x1c6)+_0xcd42d6[_0x41ce59(0x1d8)]+'\x20'+_0xe2cfdb);}const _0x5c5df7=await _0xcd42d6[_0x41ce59(0x1bf)]();return _0x5c5df7['apiKey'][_0x41ce59(0x1ad)];}export function openBrowser(_0x152761){const _0x34c4d8=_0x4f70fc,_0x2d244c={'xBWNu':_0x34c4d8(0x19c),'JMXxZ':function(_0x6d7f22,_0x4b8c92,_0x10ee37,_0x44b992){return _0x6d7f22(_0x4b8c92,_0x10ee37,_0x44b992);},'yXzIX':'open','UcATD':_0x34c4d8(0x1de),'FDyOB':'ignore'};try{if(process[_0x34c4d8(0x1a1)]===_0x2d244c['xBWNu']){const _0x442c51=_0x2d244c['JMXxZ'](spawn,'cmd',['/c','start','',_0x152761],{'detached':!![],'stdio':_0x34c4d8(0x1ae),'windowsHide':!![]});_0x442c51[_0x34c4d8(0x1bb)]();return;}const _0x1a2933=process['platform']===_0x34c4d8(0x1a8)?_0x2d244c[_0x34c4d8(0x1b4)]:_0x2d244c['UcATD'],_0x2b6218=spawn(_0x1a2933,[_0x152761],{'detached':!![],'stdio':_0x2d244c[_0x34c4d8(0x19b)]});_0x2b6218['unref']();}catch{}}function decodeJwtPayload(_0x2ff24a){const _0x304aac=_0x4f70fc,_0x1dc869={'CyBTl':'Invalid\x20JWT\x20format','tGmqa':'base64url','fZYGC':_0x304aac(0x1c9)},_0x17a15d=_0x2ff24a['split']('.');if(_0x17a15d[_0x304aac(0x1c2)]!==0x3)throw new Error(_0x1dc869['CyBTl']);const _0x1ce885=Buffer['from'](_0x17a15d[0x1],_0x1dc869[_0x304aac(0x1e1)])[_0x304aac(0x1dc)](_0x1dc869[_0x304aac(0x1b1)]);return JSON['parse'](_0x1ce885);}async function selfServeSignup(_0x4d914f){const _0x81d2fc=_0x4f70fc,_0x2bd25e={'XYeSf':function(_0x43af71){return _0x43af71();},'hhbar':'POST','aPjkd':'application/json'},_0x45e239=_0x2bd25e['XYeSf'](getApiBaseUrl),_0x2db7d2=await fetch(_0x45e239+'/organization/self-serve-signup',{'method':_0x2bd25e['hhbar'],'headers':{'Content-Type':_0x2bd25e[_0x81d2fc(0x1a7)],'workos-token':_0x4d914f}});if(!_0x2db7d2['ok']){const _0x235d0b=await _0x2db7d2['text']();throw new Error(_0x81d2fc(0x1ce)+_0x2db7d2[_0x81d2fc(0x1d8)]+'\x20'+_0x235d0b);}return _0x2db7d2[_0x81d2fc(0x1bf)]();}async function fetchMyMemberships(_0x5eb38a){const _0x2c49ae=_0x4f70fc,_0x1125a3=getApiBaseUrl(),_0x1a0536=await fetch(_0x1125a3+_0x2c49ae(0x1ca),{'method':'GET','headers':{'workos-token':_0x5eb38a}});if(!_0x1a0536['ok']){const _0x192365=await _0x1a0536[_0x2c49ae(0x1b2)]();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x1a0536['status']+'\x20'+_0x192365);}const _0x4fe44a=await _0x1a0536[_0x2c49ae(0x1bf)]();return _0x4fe44a['memberships'];}async function refreshTokenWithOrg(_0x326ab7,_0x93c2c0,_0x25a12b){const _0xc5ab37=_0x4f70fc,_0x1666e7=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x326ab7,'grant_type':'refresh_token','refresh_token':_0x93c2c0,'organization_id':_0x25a12b})});if(!_0x1666e7['ok']){const _0x1d2171=await _0x1666e7[_0xc5ab37(0x1b2)]();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x1666e7['status']+'\x20'+_0x1d2171);}return _0x1666e7['json']();}function _0x4785(_0x3d5b38,_0x103a81){_0x3d5b38=_0x3d5b38-0x19b;const _0x5e8f25=_0x5e8f();let _0x478541=_0x5e8f25[_0x3d5b38];return _0x478541;}async function provisionCliToken(_0x398571){const _0x41025d=_0x4f70fc,_0x463547={'QOMTg':function(_0xf33d0e,_0x2ca95e,_0x1c9bed){return _0xf33d0e(_0x2ca95e,_0x1c9bed);}},_0x2ae6f7=getApiBaseUrl(),_0x24dd4e=await _0x463547[_0x41025d(0x1a5)](fetch,_0x2ae6f7+'/cli-auth/token',{'method':'POST','headers':{'Content-Type':'application/json','workos-token':_0x398571}});if(!_0x24dd4e['ok']){const _0x2701f7=await _0x24dd4e[_0x41025d(0x1b2)]();throw new Error(_0x41025d(0x1d7)+_0x24dd4e['status']+'\x20'+_0x2701f7);}return _0x24dd4e['json']();}export async function runDeviceAuthFlow(){const _0x38de27=_0x4f70fc,_0x146c5c={'fAimg':function(_0x4aa700,_0x232941){return _0x4aa700(_0x232941);},'oCHKn':function(_0x3ef403,_0x172dc5){return _0x3ef403(_0x172dc5);},'pxtmb':function(_0x2fbb73,_0x20d39f){return _0x2fbb73(_0x20d39f);},'iVnJw':function(_0x1fa1fb,_0x3d4f94){return _0x1fa1fb===_0x3d4f94;},'lbiwt':_0x38de27(0x1d4),'UTHUe':function(_0x5b01cf,_0x20fd7d){return _0x5b01cf+_0x20fd7d;},'lOZPq':_0x38de27(0x19d),'KBGVF':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','BZDNc':_0x38de27(0x1c4),'cAEDt':'selected','FbzYF':'Provisioning\x20CLI\x20token...'},_0x40873b=getCurrentEnvironment(),_0x5d1484=ENVIRONMENT_CONFIGS[_0x40873b][_0x38de27(0x1d9)],_0x239951=await _0x146c5c['fAimg'](requestDeviceCode,_0x5d1484);console['log']('\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...'),console['log'](_0x38de27(0x1c0)),openBrowser(_0x239951['verification_uri_complete']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x239951[_0x38de27(0x1cb)]),console[_0x38de27(0x1d3)]('Code:\x20'+_0x239951['user_code']+'\x0a'),process[_0x38de27(0x1b9)]['write'](_0x38de27(0x1da));let _0x39feaa=await pollForTokens(_0x5d1484,_0x239951[_0x38de27(0x1df)],_0x239951['interval'],_0x239951['expires_in']);console[_0x38de27(0x1d3)]('\x20✓');const _0x5ba425=_0x146c5c[_0x38de27(0x1cc)](decodeJwtPayload,_0x39feaa[_0x38de27(0x1e4)]);if(!_0x5ba425[_0x38de27(0x1c3)]){const _0x128803=await _0x146c5c['pxtmb'](fetchMyMemberships,_0x39feaa['access_token']);let _0x4d1238;if(_0x146c5c['iVnJw'](_0x128803['length'],0x0)){process[_0x38de27(0x1b9)]['write'](_0x146c5c[_0x38de27(0x1a4)]);const _0x2b8b67=await _0x146c5c['fAimg'](selfServeSignup,_0x39feaa['access_token']);_0x4d1238=_0x2b8b67[_0x38de27(0x1e8)],console[_0x38de27(0x1d3)]('\x20✓');}else{if(_0x146c5c[_0x38de27(0x1bd)](_0x128803['length'],0x1))_0x4d1238=_0x128803[0x0]['organizationId'],console['log'](_0x38de27(0x1ba)+_0x128803[0x0][_0x38de27(0x1e3)]);else{const _0x265c7e=process['stdin'][_0x38de27(0x1c8)]&&process['stdout']['isTTY'];if(!_0x265c7e)throw new Error(_0x146c5c[_0x38de27(0x1e0)](_0x146c5c[_0x38de27(0x1a3)],_0x146c5c['KBGVF']));const {selected:_0x153c1f}=await _0x19dc82['prompt']([{'type':_0x146c5c['BZDNc'],'name':_0x146c5c[_0x38de27(0x1b0)],'message':'Select\x20an\x20organization:','choices':_0x128803['map'](_0x4664ad=>({'name':_0x4664ad[_0x38de27(0x1e3)],'value':_0x4664ad[_0x38de27(0x1e8)]}))}]);_0x4d1238=_0x153c1f;}}_0x39feaa=await refreshTokenWithOrg(_0x5d1484,_0x39feaa[_0x38de27(0x1bc)],_0x4d1238);}process['stdout']['write'](_0x146c5c['FbzYF']);const _0x351fd1=await provisionCliToken(_0x39feaa['access_token']);return console[_0x38de27(0x1d3)]('\x20✓'),await storeToken(_0x351fd1[_0x38de27(0x1ad)]),_0x39feaa['refresh_token']&&await storeRefreshToken(_0x39feaa['refresh_token']),_0x351fd1[_0x38de27(0x1ad)];}function sleep(_0x4f9f7f){return new Promise(_0x5345d6=>setTimeout(_0x5345d6,_0x4f9f7f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2d877a=_0x27c3;(function(_0x470239,_0x28f49d){const _0x31fb9d=_0x27c3,_0x2dc6a1=_0x470239();while(!![]){try{const _0x332dfd=-parseInt(_0x31fb9d(0x15e))/0x1*(-parseInt(_0x31fb9d(0x178))/0x2)+parseInt(_0x31fb9d(0x177))/0x3+-parseInt(_0x31fb9d(0x16d))/0x4*(parseInt(_0x31fb9d(0x17b))/0x5)+parseInt(_0x31fb9d(0x179))/0x6*(-parseInt(_0x31fb9d(0x16c))/0x7)+parseInt(_0x31fb9d(0x164))/0x8*(parseInt(_0x31fb9d(0x169))/0x9)+parseInt(_0x31fb9d(0x182))/0xa*(parseInt(_0x31fb9d(0x15b))/0xb)+parseInt(_0x31fb9d(0x17a))/0xc;if(_0x332dfd===_0x28f49d)break;else _0x2dc6a1['push'](_0x2dc6a1['shift']());}catch(_0x4fcc64){_0x2dc6a1['push'](_0x2dc6a1['shift']());}}}(_0x1eda,0x2815b));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':_0x2d877a(0x15f),'aiProxyUrl':_0x2d877a(0x16e),'mcpAuthUrl':'https://mcp-auth.ranger.net/mcp'},'staging':{'apiBaseUrl':_0x2d877a(0x17f),'workosClientId':_0x2d877a(0x15c),'aiProxyUrl':'https://ai-proxy-301751771437.us-central1.run.app','mcpAuthUrl':_0x2d877a(0x16a)},'local':{'apiBaseUrl':_0x2d877a(0x165),'workosClientId':_0x2d877a(0x15c),'aiProxyUrl':_0x2d877a(0x17c),'mcpAuthUrl':_0x2d877a(0x174)}};export const DEFAULT_ENVIRONMENT=_0x2d877a(0x168);export function isValidEnvironment(_0x1f6535){const _0xf316ce=_0x2d877a,_0x3caff7={'NIWtg':_0xf316ce(0x168),'lQNDw':function(_0x6cf5e8,_0x213416){return _0x6cf5e8===_0x213416;},'wRtmD':'local'};return _0x1f6535===_0x3caff7['NIWtg']||_0x3caff7['lQNDw'](_0x1f6535,_0xf316ce(0x162))||_0x1f6535===_0x3caff7[_0xf316ce(0x16f)];}export function getCurrentEnvironment(){const _0x1a1623=_0x2d877a,_0x1669fa={'dbvAN':function(_0x501229,_0x3375af){return _0x501229(_0x3375af);}},_0x7bbcfb=process['env']['RANGER_CLI_ENV'];if(_0x7bbcfb&&_0x1669fa[_0x1a1623(0x167)](isValidEnvironment,_0x7bbcfb))return _0x7bbcfb;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x2a478b=_0x2d877a,_0x53ef65={'YYuQS':function(_0x4ef6fb){return _0x4ef6fb();}};return process['env'][_0x2a478b(0x159)]||ENVIRONMENT_CONFIGS[_0x53ef65[_0x2a478b(0x15d)](getCurrentEnvironment)][_0x2a478b(0x180)];}export function getAiProxyUrl(){const _0x1b2271=_0x2d877a;return process[_0x1b2271(0x15a)]['RANGER_AI_PROXY_URL']||ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x1b2271(0x163)];}export function getMcpAuthUrl(){const _0x55cf3e=_0x2d877a,_0x2ac075={'zXeNK':function(_0x12c1ff){return _0x12c1ff();}};return process['env']['RANGER_MCP_AUTH_URL']??ENVIRONMENT_CONFIGS[_0x2ac075[_0x55cf3e(0x173)](getCurrentEnvironment)][_0x55cf3e(0x170)];}export function isByokEnabled(){const _0x5938eb=_0x2d877a,_0x35caa4={'dXMZz':'true'};return process[_0x5938eb(0x15a)][_0x5938eb(0x158)]===_0x35caa4['dXMZz'];}function _0x27c3(_0x13b41f,_0x16670a){_0x13b41f=_0x13b41f-0x158;const _0x1edab9=_0x1eda();let _0x27c30f=_0x1edab9[_0x13b41f];return _0x27c30f;}function isVerificationTransport(_0x2d40ce){const _0x5222c5=_0x2d877a,_0x109d66={'KmfqI':function(_0x4c5576,_0x4a9d49){return _0x4c5576===_0x4a9d49;},'ijSIE':'playwright-cli'};return _0x2d40ce==='mcp'||_0x109d66[_0x5222c5(0x175)](_0x2d40ce,_0x109d66[_0x5222c5(0x17d)])||_0x109d66['KmfqI'](_0x2d40ce,_0x5222c5(0x176))||_0x109d66[_0x5222c5(0x175)](_0x2d40ce,'rangerwright-cli');}const LEGACY_TRANSPORT_ENV_VARS=['RANGER_USE_NOVA_ACT','RANGER_DISABLE_MCP'];export function getVerificationTransport(){const _0x38ce7b=_0x2d877a,_0x2de5bf={'GkApf':'mcp'},_0x354f05=process[_0x38ce7b(0x15a)]['RANGER_TRANSPORT']?.['trim']();if(_0x354f05){if(isVerificationTransport(_0x354f05))return _0x354f05;throw new Error('Invalid\x20RANGER_TRANSPORT=\x22'+_0x354f05+'\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.');}const _0x2f3ace=LEGACY_TRANSPORT_ENV_VARS['find'](_0x1c80b3=>process[_0x38ce7b(0x15a)][_0x1c80b3]);if(_0x2f3ace)throw new Error(_0x2f3ace+_0x38ce7b(0x172));return _0x2de5bf[_0x38ce7b(0x16b)];}export function resolveHookMode(_0x170a46=process['env']){const _0xbe879f=_0x2d877a,_0x8b4b42={'jLGoc':'auto','pelLz':function(_0x5818d8,_0x25a9bb){return _0x5818d8===_0x25a9bb;},'PvLVY':function(_0xb3f52e,_0x18817b){return _0xb3f52e===_0x18817b;}},_0x1e12be=_0x170a46[_0xbe879f(0x183)]?.['trim']()['toLowerCase']();if(!_0x1e12be)return _0x8b4b42['jLGoc'];if(_0x1e12be===_0xbe879f(0x181)||_0x8b4b42['pelLz'](_0x1e12be,'on')||_0x8b4b42[_0xbe879f(0x161)](_0x1e12be,_0x8b4b42[_0xbe879f(0x17e)]))return _0x1e12be;return console['error']('[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22'+_0x170a46[_0xbe879f(0x183)]+_0xbe879f(0x171)+_0xbe879f(0x160)),_0xbe879f(0x166);}function _0x1eda(){const _0x1a7561=['client_01J9CBYM7M5ZETCF7G6614DXR2','Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.','PvLVY','staging','aiProxyUrl','431736ECsuZh','http://localhost:8080','auto','dbvAN','prod','27wrMouN','https://mcp-auth.staging.ranger.net/mcp','GkApf','35wgwcSI','744cXnUMF','https://ai-proxy-716115358910.us-central1.run.app','wRtmD','mcpAuthUrl','\x22.\x20','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','zXeNK','http://localhost:8080/mcp','KmfqI','nova-act-cli','416193nqnzTH','1438stprPj','334974mMeBNm','1799808QXgxgp','8110oBDClj','http://localhost:8090','ijSIE','jLGoc','https://api.staging.ranger.net','apiBaseUrl','off','3950qRAdfH','RANGER_HOOKS','RANGER_BYOK','RANGER_API_URL','env','550tYljiw','client_01J9CBYM2DKWV9HM17D95Z540K','YYuQS','382wJSrBR'];_0x1eda=function(){return _0x1a7561;};return _0x1eda();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x240d99,_0x3e9137){const _0x509c6f=_0x1469,_0x4b69cb=_0x240d99();while(!![]){try{const _0x3d7206=parseInt(_0x509c6f(0x1cb))/0x1*(-parseInt(_0x509c6f(0x1e8))/0x2)+-parseInt(_0x509c6f(0x1de))/0x3+parseInt(_0x509c6f(0x219))/0x4*(-parseInt(_0x509c6f(0x1ff))/0x5)+-parseInt(_0x509c6f(0x203))/0x6*(parseInt(_0x509c6f(0x1d1))/0x7)+-parseInt(_0x509c6f(0x1cf))/0x8*(parseInt(_0x509c6f(0x1e0))/0x9)+parseInt(_0x509c6f(0x1d3))/0xa+parseInt(_0x509c6f(0x1f5))/0xb*(parseInt(_0x509c6f(0x1e3))/0xc);if(_0x3d7206===_0x3e9137)break;else _0x4b69cb['push'](_0x4b69cb['shift']());}catch(_0xee4140){_0x4b69cb['push'](_0x4b69cb['shift']());}}}(_0x4e18,0x54c41));import{getToken}from'./keychain.js';function _0x4e18(){const _0x203ed6=['aGkaO','/conclude','852942WcrjFL','ofSTS','/sessions','JoIdp','Failed\x20to\x20create\x20feature\x20review:\x20','/report','text','COBQb','message','Kctkh','Qltcm','mPjqt','Failed\x20to\x20start\x20session:\x20','OprUU','QZLvG','SsPBo','JwcTK','json','sessionId','Kragl','includeDeleted','qrTYz','20cpvQgM','eYCnK','POST','/checklist-items/','210rrFEMR','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','Failed\x20to\x20list\x20feature\x20reviews:\x20','style','34872NStqey','hrKWG','7zpQCQt','Failed\x20to\x20get\x20action\x20items:\x20','3891680iqqpyX','Failed\x20to\x20create\x20scenario:\x20','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','set','/action-items','avoOe','gitRepoUrl','CIeAj','billingUrl','GET','/api/v1/mcp/features/','578934KgvRhQ','heNnE','207Dnzfgd','AXENE','toString','708276FOcZMD','stringify','cecvp','gitBranch','limit','2014KvRbvj','PATCH','Failed\x20to\x20conclude\x20session:\x20','Failed\x20to\x20update\x20feature\x20review:\x20','OuztC','DaQIH','Failed\x20to\x20get\x20feature\x20review:\x20','OxfsH','pVURw','/checklist','Failed\x20to\x20list\x20sessions:\x20','updateChecklistItem','njhvq','220gGypeQ','wynga','Bearer\x20','mYwvI','https://dashboard.ranger.net/billing','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','iQrrI','application/json','itemIds','Failed\x20to\x20delete\x20feature\x20review:\x20','575565cNACDA','mJXzg'];_0x4e18=function(){return _0x203ed6;};return _0x4e18();}import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x3e0b02){const _0x5592a2=_0x1469,_0x428e16={'KRaTi':function(_0x451eda){return _0x451eda();},'rlRVk':function(_0xb1d258){return _0xb1d258();},'njhvq':function(_0x386b85,_0xd2caf1,_0x42e9bb){return _0x386b85(_0xd2caf1,_0x42e9bb);},'ofSTS':'POST'},_0x10da72=await _0x428e16['KRaTi'](getToken);if(!_0x10da72)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x55eeb9=_0x428e16['rlRVk'](getApiBaseUrl),_0x30a8d6=await _0x428e16[_0x5592a2(0x1f4)](fetch,_0x55eeb9+'/api/v1/mcp/features',{'method':_0x428e16[_0x5592a2(0x204)],'headers':{'Authorization':'Bearer\x20'+_0x10da72,'Content-Type':_0x5592a2(0x1fc)},'body':JSON[_0x5592a2(0x1e4)](_0x3e0b02)});if(!_0x30a8d6['ok']){if(_0x30a8d6['status']===0x192){const _0x230fb0=await _0x30a8d6['json'](),_0x31349d=_0x230fb0[_0x5592a2(0x1db)]||_0x5592a2(0x1f9);throw new Error((_0x230fb0[_0x5592a2(0x20b)]||'Feature\x20limit\x20exceeded')+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x31349d);}const _0x1da907=await _0x30a8d6[_0x5592a2(0x209)]();throw new Error(_0x5592a2(0x207)+_0x1da907);}return _0x30a8d6[_0x5592a2(0x214)]();}export async function listFeatures(_0x25fb6a){const _0x24e9c6=_0x1469,_0x41a8b8={'OxfsH':'gitRepoUrl','OprUU':'GET'},_0x4cb5e6=await getToken();if(!_0x4cb5e6)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x5ce65d=getApiBaseUrl(),_0x4921dc=new URLSearchParams();if(_0x25fb6a?.[_0x24e9c6(0x1d9)])_0x4921dc['set'](_0x41a8b8[_0x24e9c6(0x1ef)],_0x25fb6a[_0x24e9c6(0x1d9)]);if(_0x25fb6a?.['gitBranch'])_0x4921dc['set']('gitBranch',_0x25fb6a[_0x24e9c6(0x1e6)]);if(_0x25fb6a?.[_0x24e9c6(0x1e7)])_0x4921dc['set']('limit',_0x25fb6a[_0x24e9c6(0x1e7)]['toString']());if(_0x25fb6a?.['offset'])_0x4921dc['set']('offset',_0x25fb6a['offset'][_0x24e9c6(0x1e2)]());if(_0x25fb6a?.[_0x24e9c6(0x217)])_0x4921dc['set'](_0x24e9c6(0x217),'true');const _0xbdef09=_0x5ce65d+'/api/v1/mcp/features'+(_0x4921dc[_0x24e9c6(0x1e2)]()?'?'+_0x4921dc[_0x24e9c6(0x1e2)]():''),_0x4d0f54=await fetch(_0xbdef09,{'method':_0x41a8b8[_0x24e9c6(0x210)],'headers':{'Authorization':'Bearer\x20'+_0x4cb5e6}});if(!_0x4d0f54['ok']){const _0x3c204f=await _0x4d0f54['text']();throw new Error(_0x24e9c6(0x1cd)+_0x3c204f);}return _0x4d0f54[_0x24e9c6(0x214)]();}export async function getFeature(_0x47d2c6){const _0x55bfac=_0x1469,_0x4e3540={'SsPBo':function(_0xb4c9d9){return _0xb4c9d9();},'JoIdp':_0x55bfac(0x1d5),'fIRVi':function(_0x30b960){return _0x30b960();},'PYqQF':_0x55bfac(0x1dc)},_0x1fd396=await _0x4e3540[_0x55bfac(0x212)](getToken);if(!_0x1fd396)throw new Error(_0x4e3540[_0x55bfac(0x206)]);const _0x47dd26=_0x4e3540['fIRVi'](getApiBaseUrl),_0x23a3a1=await fetch(_0x47dd26+_0x55bfac(0x1dd)+_0x47d2c6,{'method':_0x4e3540['PYqQF'],'headers':{'Authorization':_0x55bfac(0x1f7)+_0x1fd396}});if(!_0x23a3a1['ok']){const _0x41ffd0=await _0x23a3a1['text']();throw new Error(_0x55bfac(0x1ee)+_0x41ffd0);}return _0x23a3a1[_0x55bfac(0x214)]();}export async function updateFeature(_0x3c4dea,_0x42e7af){const _0x78b706=_0x1469,_0x58aa46={'nhznc':function(_0x408d9f){return _0x408d9f();},'JwcTK':function(_0x1d3f68){return _0x1d3f68();},'ektvF':function(_0xae4b,_0x3e6dbd,_0x42d002){return _0xae4b(_0x3e6dbd,_0x42d002);}},_0x328345=await _0x58aa46['nhznc'](getToken);if(!_0x328345)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x411a97=_0x58aa46[_0x78b706(0x213)](getApiBaseUrl),_0x2b5a2f=await _0x58aa46['ektvF'](fetch,_0x411a97+_0x78b706(0x1dd)+_0x3c4dea,{'method':_0x78b706(0x1e9),'headers':{'Authorization':_0x78b706(0x1f7)+_0x328345,'Content-Type':'application/json'},'body':JSON[_0x78b706(0x1e4)](_0x42e7af)});if(!_0x2b5a2f['ok']){const _0x16dc9c=await _0x2b5a2f['text']();throw new Error(_0x78b706(0x1eb)+_0x16dc9c);}return _0x2b5a2f[_0x78b706(0x214)]();}export async function createChecklistItem(_0x636f89,_0x242505,_0x2f0012){const _0x72d8fa=_0x1469,_0x452fe5={'kESvd':_0x72d8fa(0x1d5),'heNnE':function(_0x2d95e9,_0x5b7099,_0x347468){return _0x2d95e9(_0x5b7099,_0x347468);},'QZLvG':_0x72d8fa(0x1c9),'aGkaO':_0x72d8fa(0x1fc)},_0x3e9443=await getToken();if(!_0x3e9443)throw new Error(_0x452fe5['kESvd']);const _0x328a66=getApiBaseUrl(),_0x3dcb60=await _0x452fe5[_0x72d8fa(0x1df)](fetch,_0x328a66+_0x72d8fa(0x1dd)+_0x636f89+_0x72d8fa(0x1f1),{'method':_0x452fe5[_0x72d8fa(0x211)],'headers':{'Authorization':'Bearer\x20'+_0x3e9443,'Content-Type':_0x452fe5[_0x72d8fa(0x201)]},'body':JSON[_0x72d8fa(0x1e4)]({'description':_0x242505,'position':_0x2f0012})});if(!_0x3dcb60['ok']){const _0x2ef126=await _0x3dcb60[_0x72d8fa(0x209)]();throw new Error(_0x72d8fa(0x1d4)+_0x2ef126);}return _0x3dcb60['json']();}export async function updateChecklistItem(_0x50e540,_0x2e5430,_0x2aca89){const _0x59bacc=_0x1469,_0x5c089e={'SbwoA':function(_0x58893e){return _0x58893e();},'qrTYz':function(_0x41ee50,_0x2488ea,_0x1d9ed7){return _0x41ee50(_0x2488ea,_0x1d9ed7);},'Qltcm':_0x59bacc(0x1e9),'COBQb':_0x59bacc(0x1fc),'HmjqF':_0x59bacc(0x1f3)};return withRetry(async()=>{const _0x315ba2=_0x59bacc,_0x5ad0f0=await _0x5c089e['SbwoA'](getToken);if(!_0x5ad0f0)throw new Error(_0x315ba2(0x1d5));const _0x597800=_0x5c089e['SbwoA'](getApiBaseUrl),_0x3161be=await _0x5c089e[_0x315ba2(0x218)](fetch,_0x597800+_0x315ba2(0x1dd)+_0x50e540+'/checklist/'+_0x2e5430,{'method':_0x5c089e[_0x315ba2(0x20d)],'headers':{'Authorization':'Bearer\x20'+_0x5ad0f0,'Content-Type':_0x5c089e[_0x315ba2(0x20a)]},'body':JSON[_0x315ba2(0x1e4)](_0x2aca89)});if(!_0x3161be['ok']){const _0x44dcfa=await _0x3161be[_0x315ba2(0x209)]();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x44dcfa);}return _0x3161be['json']();},{'label':_0x5c089e['HmjqF']});}export async function getFeatureReport(_0x59559a){const _0x2eb895=_0x1469,_0x181e4e={'buAiU':'GET'},_0x1eafba=await getToken();if(!_0x1eafba)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2a74b3=getApiBaseUrl(),_0x537503=await fetch(_0x2a74b3+'/api/v1/mcp/features/'+_0x59559a+_0x2eb895(0x208),{'method':_0x181e4e['buAiU'],'headers':{'Authorization':'Bearer\x20'+_0x1eafba}});if(!_0x537503['ok']){const _0x1855c4=await _0x537503[_0x2eb895(0x209)]();throw new Error(_0x2eb895(0x1fa)+_0x1855c4);}return _0x537503['json']();}export async function getFeatureReportMarkdown(_0x4a1ac7,_0x3d5b58){const _0x568158=_0x1469,_0x23f092={'cWFCE':_0x568158(0x1d5),'BrQKX':function(_0x2906fd,_0x4bdbb6){return _0x2906fd>_0x4bdbb6;},'OkIcu':_0x568158(0x1fd),'iukQz':function(_0x4f379b,_0x3c557d){return _0x4f379b&&_0x3c557d;},'uTgAv':function(_0xf740e0,_0x2dbfff,_0x4c945f){return _0xf740e0(_0x2dbfff,_0x4c945f);},'qaYSv':_0x568158(0x1dc)},_0x172019=await getToken();if(!_0x172019)throw new Error(_0x23f092['cWFCE']);const _0x111715=getApiBaseUrl(),_0x42abcf=new URLSearchParams(),_0x46ea16=_0x23f092['BrQKX'](_0x3d5b58?.[_0x568158(0x1fd)]?.['length']??0x0,0x0),_0x370fdc=Boolean(_0x3d5b58?.[_0x568158(0x215)]);_0x46ea16&&_0x3d5b58?.[_0x568158(0x1fd)]&&_0x42abcf[_0x568158(0x1d6)](_0x23f092['OkIcu'],_0x3d5b58[_0x568158(0x1fd)]['join'](','));_0x370fdc&&_0x3d5b58?.['sessionId']&&_0x42abcf[_0x568158(0x1d6)](_0x568158(0x215),_0x3d5b58['sessionId']);_0x23f092['iukQz'](!_0x46ea16,!_0x370fdc)&&_0x3d5b58?.['style']&&_0x42abcf[_0x568158(0x1d6)]('style',_0x3d5b58[_0x568158(0x1ce)]);const _0x92799a=_0x111715+_0x568158(0x1dd)+_0x4a1ac7+'/report/markdown',_0x58b2a5=''+_0x92799a+(_0x42abcf[_0x568158(0x1e2)]()?'?'+_0x42abcf[_0x568158(0x1e2)]():''),_0x270632=await _0x23f092['uTgAv'](fetch,_0x58b2a5,{'method':_0x23f092['qaYSv'],'headers':{'Authorization':_0x568158(0x1f7)+_0x172019}});if(!_0x270632['ok']){const _0x2aabd5=await _0x270632['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20'+_0x2aabd5);}return _0x270632['text']();}export async function listFeatureSessions(_0x345e58){const _0x789cb6=_0x1469,_0x3cba53={'wynga':function(_0xf0ebf3){return _0xf0ebf3();},'pVURw':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','OuztC':'GET'},_0x384a87=await _0x3cba53[_0x789cb6(0x1f6)](getToken);if(!_0x384a87)throw new Error(_0x3cba53[_0x789cb6(0x1f0)]);const _0x3aaf9c=getApiBaseUrl(),_0x224af3=await fetch(_0x3aaf9c+'/api/v1/mcp/features/'+_0x345e58+_0x789cb6(0x205),{'method':_0x3cba53[_0x789cb6(0x1ec)],'headers':{'Authorization':_0x789cb6(0x1f7)+_0x384a87}});if(!_0x224af3['ok']){const _0x30ef8f=await _0x224af3['text']();throw new Error(_0x789cb6(0x1f2)+_0x30ef8f);}return _0x224af3[_0x789cb6(0x214)]();}export async function startSession(_0x6a6f,_0x5f161f){const _0x38f97b=_0x1469,_0x532693={'dSkAF':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','UgjfF':function(_0x445836){return _0x445836();},'CIeAj':function(_0x36b1e6,_0x71677,_0xa18b2){return _0x36b1e6(_0x71677,_0xa18b2);},'hrKWG':_0x38f97b(0x1c9)},_0x13b31e=await getToken();if(!_0x13b31e)throw new Error(_0x532693['dSkAF']);const _0x4743b5=_0x532693['UgjfF'](getApiBaseUrl),_0x21d117=await _0x532693[_0x38f97b(0x1da)](fetch,_0x4743b5+'/api/v1/mcp/features/'+_0x6a6f+'/sessions/'+_0x5f161f+'/start',{'method':_0x532693[_0x38f97b(0x1d0)],'headers':{'Authorization':_0x38f97b(0x1f7)+_0x13b31e}});if(!_0x21d117['ok']){const _0x36d8b4=await _0x21d117['text']();throw new Error(_0x38f97b(0x20f)+_0x36d8b4);}return _0x21d117['json']();}export async function concludeSession(_0x222d1e,_0x2a3b92){const _0x26b03e=_0x1469,_0x1ee649={'mJXzg':function(_0x450c6a){return _0x450c6a();},'YMAbv':_0x26b03e(0x1c9)},_0x2cdeef=await _0x1ee649[_0x26b03e(0x200)](getToken);if(!_0x2cdeef)throw new Error(_0x26b03e(0x1d5));const _0x5ac05c=getApiBaseUrl(),_0x910d94=await fetch(_0x5ac05c+'/api/v1/mcp/features/'+_0x222d1e+'/sessions/'+_0x2a3b92+_0x26b03e(0x202),{'method':_0x1ee649['YMAbv'],'headers':{'Authorization':'Bearer\x20'+_0x2cdeef}});if(!_0x910d94['ok']){const _0x56c63f=await _0x910d94['text']();throw new Error(_0x26b03e(0x1ea)+_0x56c63f);}return _0x910d94['json']();}export async function getActionItems(_0x1721db){const _0x2b1114=_0x1469,_0x180b8a=await getToken();if(!_0x180b8a)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x72583f=getApiBaseUrl(),_0x3a621d=await fetch(_0x72583f+_0x2b1114(0x1dd)+_0x1721db+_0x2b1114(0x1d7),{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x180b8a}});if(!_0x3a621d['ok']){const _0x322d11=await _0x3a621d[_0x2b1114(0x209)]();throw new Error(_0x2b1114(0x1d2)+_0x322d11);}return _0x3a621d[_0x2b1114(0x214)]();}export async function getItemFeedback(_0xeb615,_0x3858c0){const _0x1213ea=_0x1469,_0xb56d60={'VdDrO':function(_0x2abaab){return _0x2abaab();},'avoOe':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','iQrrI':function(_0x4a2f53,_0x4b2fb4,_0x3ddb54){return _0x4a2f53(_0x4b2fb4,_0x3ddb54);},'fHepa':'GET'},_0x513d5f=await _0xb56d60['VdDrO'](getToken);if(!_0x513d5f)throw new Error(_0xb56d60[_0x1213ea(0x1d8)]);const _0x104ad0=getApiBaseUrl(),_0x3e5448=await _0xb56d60[_0x1213ea(0x1fb)](fetch,_0x104ad0+'/api/v1/mcp/features/'+_0xeb615+_0x1213ea(0x1ca)+_0x3858c0+'/feedback',{'method':_0xb56d60['fHepa'],'headers':{'Authorization':_0x1213ea(0x1f7)+_0x513d5f}});if(!_0x3e5448['ok']){const _0x3f0141=await _0x3e5448[_0x1213ea(0x209)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x3f0141);}return _0x3e5448[_0x1213ea(0x214)]();}export async function markCommentsAddressed(_0x27fba0,_0x2808a2,_0x2d7381){const _0x283da9=_0x1469,_0x312a13={'DaQIH':function(_0x54454d){return _0x54454d();},'Kragl':function(_0x3b0c29){return _0x3b0c29();},'Kctkh':function(_0x1a43a0,_0x223901,_0x367d98){return _0x1a43a0(_0x223901,_0x367d98);},'JFhBI':'application/json'},_0x46b66d=await _0x312a13[_0x283da9(0x1ed)](getToken);if(!_0x46b66d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0xbd993d=_0x312a13[_0x283da9(0x216)](getApiBaseUrl),_0x5b0324=await _0x312a13[_0x283da9(0x20c)](fetch,_0xbd993d+_0x283da9(0x1dd)+_0x27fba0+'/comments/address',{'method':_0x283da9(0x1c9),'headers':{'Authorization':_0x283da9(0x1f7)+_0x46b66d,'Content-Type':_0x312a13['JFhBI']},'body':JSON[_0x283da9(0x1e4)]({'checklistItemId':_0x2808a2,'commentIds':_0x2d7381})});if(!_0x5b0324['ok']){const _0x3e4a33=await _0x5b0324['text']();throw new Error(_0x283da9(0x1cc)+_0x3e4a33);}}export async function softDeleteFeature(_0x4f7d43){const _0x3e310d=_0x1469,_0x35f5a6=await getToken();if(!_0x35f5a6)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x4ad880=getApiBaseUrl(),_0x5bc1e9=await fetch(_0x4ad880+_0x3e310d(0x1dd)+_0x4f7d43,{'method':'DELETE','headers':{'Authorization':_0x3e310d(0x1f7)+_0x35f5a6}});if(!_0x5bc1e9['ok']){const _0x3a938e=await _0x5bc1e9['text']();throw new Error(_0x3e310d(0x1fe)+_0x3a938e);}}function _0x1469(_0x2e040f,_0x116176){_0x2e040f=_0x2e040f-0x1c8;const _0x4e1825=_0x4e18();let _0x146925=_0x4e1825[_0x2e040f];return _0x146925;}export async function restoreFeature(_0x3b2078){const _0x57d5e2=_0x1469,_0x53eb5d={'mPjqt':function(_0x4d18d2){return _0x4d18d2();},'AXENE':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','mYwvI':function(_0x5adf9c){return _0x5adf9c();},'eYCnK':function(_0x5ea1dc,_0x46608b,_0x60e8ae){return _0x5ea1dc(_0x46608b,_0x60e8ae);},'cecvp':_0x57d5e2(0x1c9)},_0x5c0f55=await _0x53eb5d[_0x57d5e2(0x20e)](getToken);if(!_0x5c0f55)throw new Error(_0x53eb5d[_0x57d5e2(0x1e1)]);const _0x37fd49=_0x53eb5d[_0x57d5e2(0x1f8)](getApiBaseUrl),_0x5ebb6f=await _0x53eb5d[_0x57d5e2(0x1c8)](fetch,_0x37fd49+_0x57d5e2(0x1dd)+_0x3b2078+'/restore',{'method':_0x53eb5d[_0x57d5e2(0x1e5)],'headers':{'Authorization':'Bearer\x20'+_0x5c0f55}});if(!_0x5ebb6f['ok']){const _0x2fa535=await _0x5ebb6f[_0x57d5e2(0x209)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x2fa535);}}
|
|
1
|
+
(function(_0x12c4ba,_0x257bb7){const _0x4257b1=_0x1d81,_0x1cd3f3=_0x12c4ba();while(!![]){try{const _0x5d0395=-parseInt(_0x4257b1(0x104))/0x1*(-parseInt(_0x4257b1(0xdf))/0x2)+-parseInt(_0x4257b1(0x10c))/0x3*(-parseInt(_0x4257b1(0xe1))/0x4)+-parseInt(_0x4257b1(0xfb))/0x5+parseInt(_0x4257b1(0x10b))/0x6+parseInt(_0x4257b1(0x10d))/0x7+-parseInt(_0x4257b1(0xe3))/0x8+-parseInt(_0x4257b1(0x100))/0x9;if(_0x5d0395===_0x257bb7)break;else _0x1cd3f3['push'](_0x1cd3f3['shift']());}catch(_0x242903){_0x1cd3f3['push'](_0x1cd3f3['shift']());}}}(_0x26f7,0xb5258));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x56693d){const _0xcee1d9=_0x1d81,_0xd4898a={'laWAv':function(_0x7c8352,_0x545ed8){return _0x7c8352===_0x545ed8;},'WcmzC':_0xcee1d9(0xff)},_0x446781=await getToken();if(!_0x446781)throw new Error(_0xcee1d9(0xfe));const _0x26839f=getApiBaseUrl(),_0x6ef78c=await fetch(_0x26839f+'/api/v1/mcp/features',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x446781,'Content-Type':_0xcee1d9(0xd0)},'body':JSON[_0xcee1d9(0xed)](_0x56693d)});if(!_0x6ef78c['ok']){if(_0xd4898a['laWAv'](_0x6ef78c['status'],0x192)){const _0xa88e9f=await _0x6ef78c['json'](),_0x50e274=_0xa88e9f['billingUrl']||_0xd4898a['WcmzC'];throw new Error((_0xa88e9f[_0xcee1d9(0xfa)]||'Feature\x20limit\x20exceeded')+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x50e274);}const _0x218100=await _0x6ef78c['text']();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x218100);}return _0x6ef78c[_0xcee1d9(0xf3)]();}export async function listFeatures(_0x4c7722){const _0x18e7d4=_0x1d81,_0x555766={'OrgOI':function(_0x36a743){return _0x36a743();},'wxvOL':'gitRepoUrl','ojYwy':_0x18e7d4(0xe9),'winBP':'includeDeleted'},_0xede20b=await getToken();if(!_0xede20b)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x5a526b=_0x555766[_0x18e7d4(0xde)](getApiBaseUrl),_0x3088f2=new URLSearchParams();if(_0x4c7722?.[_0x18e7d4(0x109)])_0x3088f2[_0x18e7d4(0xe2)](_0x555766[_0x18e7d4(0xd9)],_0x4c7722[_0x18e7d4(0x109)]);if(_0x4c7722?.['gitBranch'])_0x3088f2['set'](_0x18e7d4(0xf9),_0x4c7722['gitBranch']);if(_0x4c7722?.[_0x18e7d4(0xe9)])_0x3088f2[_0x18e7d4(0xe2)](_0x555766[_0x18e7d4(0xd1)],_0x4c7722[_0x18e7d4(0xe9)][_0x18e7d4(0xf4)]());if(_0x4c7722?.[_0x18e7d4(0xf7)])_0x3088f2['set']('offset',_0x4c7722['offset'][_0x18e7d4(0xf4)]());if(_0x4c7722?.[_0x18e7d4(0xf8)])_0x3088f2[_0x18e7d4(0xe2)](_0x555766['winBP'],'true');const _0x5d1c69=_0x5a526b+_0x18e7d4(0xee)+(_0x3088f2['toString']()?'?'+_0x3088f2['toString']():''),_0x4c2b94=await fetch(_0x5d1c69,{'method':'GET','headers':{'Authorization':_0x18e7d4(0xeb)+_0xede20b}});if(!_0x4c2b94['ok']){const _0x1b197d=await _0x4c2b94[_0x18e7d4(0xda)]();throw new Error(_0x18e7d4(0xe7)+_0x1b197d);}return _0x4c2b94['json']();}export async function getFeature(_0x175fa0){const _0x440b93=_0x1d81,_0x295dce={'soUtM':function(_0x4b2077){return _0x4b2077();},'BRept':function(_0x517ba9,_0x119b60,_0x437add){return _0x517ba9(_0x119b60,_0x437add);}},_0x546f8f=await _0x295dce['soUtM'](getToken);if(!_0x546f8f)throw new Error(_0x440b93(0xfe));const _0x33f58d=_0x295dce[_0x440b93(0xef)](getApiBaseUrl),_0x3e9e0d=await _0x295dce[_0x440b93(0xfd)](fetch,_0x33f58d+_0x440b93(0xdb)+_0x175fa0,{'method':_0x440b93(0x10e),'headers':{'Authorization':_0x440b93(0xeb)+_0x546f8f}});if(!_0x3e9e0d['ok']){const _0x4db7ca=await _0x3e9e0d[_0x440b93(0xda)]();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x4db7ca);}return _0x3e9e0d[_0x440b93(0xf3)]();}export async function updateFeature(_0x4278b2,_0x287759){const _0x22132f=_0x1d81,_0x1b9fb0={'slAPf':function(_0x2e6d80){return _0x2e6d80();}},_0x1aa427=await _0x1b9fb0['slAPf'](getToken);if(!_0x1aa427)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1e784a=_0x1b9fb0['slAPf'](getApiBaseUrl),_0x49eaff=await fetch(_0x1e784a+'/api/v1/mcp/features/'+_0x4278b2,{'method':_0x22132f(0x101),'headers':{'Authorization':_0x22132f(0xeb)+_0x1aa427,'Content-Type':'application/json'},'body':JSON[_0x22132f(0xed)](_0x287759)});if(!_0x49eaff['ok']){const _0xc66272=await _0x49eaff[_0x22132f(0xda)]();throw new Error(_0x22132f(0xe6)+_0xc66272);}return _0x49eaff[_0x22132f(0xf3)]();}export async function createChecklistItem(_0x2c22d7,_0xcb7b6e,_0x676d1f){const _0x312d82=_0x1d81,_0x178694={'RsARe':function(_0x293926){return _0x293926();},'rkfQz':'POST','kMccU':_0x312d82(0xd0)},_0x5ae426=await _0x178694['RsARe'](getToken);if(!_0x5ae426)throw new Error(_0x312d82(0xfe));const _0xf81574=_0x178694['RsARe'](getApiBaseUrl),_0x4e99a8=await fetch(_0xf81574+'/api/v1/mcp/features/'+_0x2c22d7+'/checklist',{'method':_0x178694[_0x312d82(0xcf)],'headers':{'Authorization':'Bearer\x20'+_0x5ae426,'Content-Type':_0x178694['kMccU']},'body':JSON[_0x312d82(0xed)]({'description':_0xcb7b6e,'position':_0x676d1f})});if(!_0x4e99a8['ok']){const _0x514cd3=await _0x4e99a8['text']();throw new Error('Failed\x20to\x20create\x20scenario:\x20'+_0x514cd3);}return _0x4e99a8[_0x312d82(0xf3)]();}export async function updateChecklistItem(_0x55ffa3,_0x4284f7,_0x44782b){const _0x5b250d=_0x1d81,_0x1740c4={'KOLaz':function(_0x59fcc3){return _0x59fcc3();},'SmhwD':function(_0x532c53,_0x5d1351,_0xf88bf1){return _0x532c53(_0x5d1351,_0xf88bf1);},'TjoOq':'PATCH','PJDpm':_0x5b250d(0xd0),'zmzzy':'updateChecklistItem'};return withRetry(async()=>{const _0x1faf07=_0x5b250d,_0x28187c=await getToken();if(!_0x28187c)throw new Error(_0x1faf07(0xfe));const _0x1cd8f0=_0x1740c4[_0x1faf07(0xf2)](getApiBaseUrl),_0x2980d5=await _0x1740c4[_0x1faf07(0x108)](fetch,_0x1cd8f0+'/api/v1/mcp/features/'+_0x55ffa3+'/checklist/'+_0x4284f7,{'method':_0x1740c4['TjoOq'],'headers':{'Authorization':'Bearer\x20'+_0x28187c,'Content-Type':_0x1740c4['PJDpm']},'body':JSON['stringify'](_0x44782b)});if(!_0x2980d5['ok']){const _0x468f8e=await _0x2980d5['text']();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x468f8e);}return _0x2980d5[_0x1faf07(0xf3)]();},{'label':_0x1740c4[_0x5b250d(0xf6)]});}function _0x1d81(_0xbd1b61,_0x248df6){_0xbd1b61=_0xbd1b61-0xcf;const _0x26f77b=_0x26f7();let _0x1d815e=_0x26f77b[_0xbd1b61];return _0x1d815e;}export async function getFeatureReport(_0xf64615){const _0x3104ed=_0x1d81,_0x3a2b56={'roZcM':_0x3104ed(0xfe),'ltStI':'GET'},_0x2cb5d3=await getToken();if(!_0x2cb5d3)throw new Error(_0x3a2b56[_0x3104ed(0xdc)]);const _0x57e2b6=getApiBaseUrl(),_0x12afb3=await fetch(_0x57e2b6+'/api/v1/mcp/features/'+_0xf64615+_0x3104ed(0x10a),{'method':_0x3a2b56['ltStI'],'headers':{'Authorization':_0x3104ed(0xeb)+_0x2cb5d3}});if(!_0x12afb3['ok']){const _0x371bfa=await _0x12afb3['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x371bfa);}return _0x12afb3['json']();}export async function getFeatureReportMarkdown(_0x57db63,_0x4def06){const _0x557fa0=_0x1d81,_0x212c64={'nwdtK':function(_0x5f5ad0,_0x4ecb7a){return _0x5f5ad0(_0x4ecb7a);},'fGeOD':_0x557fa0(0x102),'KjGSQ':'sessionId','wdYWA':_0x557fa0(0x10e)},_0x1f9212=await getToken();if(!_0x1f9212)throw new Error(_0x557fa0(0xfe));const _0x470c90=getApiBaseUrl(),_0x3af1b9=new URLSearchParams(),_0x7f3562=(_0x4def06?.['itemIds']?.[_0x557fa0(0xd7)]??0x0)>0x0,_0x5bc820=_0x212c64[_0x557fa0(0xfc)](Boolean,_0x4def06?.['sessionId']);_0x7f3562&&_0x4def06?.[_0x557fa0(0x102)]&&_0x3af1b9[_0x557fa0(0xe2)](_0x212c64['fGeOD'],_0x4def06['itemIds']['join'](','));_0x5bc820&&_0x4def06?.[_0x557fa0(0xd5)]&&_0x3af1b9['set'](_0x212c64['KjGSQ'],_0x4def06[_0x557fa0(0xd5)]);!_0x7f3562&&!_0x5bc820&&_0x4def06?.[_0x557fa0(0x106)]&&_0x3af1b9[_0x557fa0(0xe2)](_0x557fa0(0x106),_0x4def06['style']);const _0xc15345=_0x470c90+'/api/v1/mcp/features/'+_0x57db63+_0x557fa0(0xe4),_0x3be8db=''+_0xc15345+(_0x3af1b9[_0x557fa0(0xf4)]()?'?'+_0x3af1b9[_0x557fa0(0xf4)]():''),_0x5a6272=await fetch(_0x3be8db,{'method':_0x212c64['wdYWA'],'headers':{'Authorization':'Bearer\x20'+_0x1f9212}});if(!_0x5a6272['ok']){const _0xcc85e5=await _0x5a6272['text']();throw new Error(_0x557fa0(0xd6)+_0xcc85e5);}return _0x5a6272[_0x557fa0(0xda)]();}function _0x26f7(){const _0x146607=['gitRepoUrl','/report','8461614PiKNan','9NNGtli','3702454DIoIsG','GET','rkfQz','application/json','ojYwy','/sessions/','/feedback','/comments/address','sessionId','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','length','unRwf','wxvOL','text','/api/v1/mcp/features/','roZcM','Failed\x20to\x20restore\x20feature\x20review:\x20','OrgOI','1682BCqROI','KeAqY','968292xDAblv','set','8612056RRUaNt','/report/markdown','BaIVY','Failed\x20to\x20update\x20feature\x20review:\x20','Failed\x20to\x20list\x20feature\x20reviews:\x20','TJDvk','limit','hmJWn','Bearer\x20','bXjIv','stringify','/api/v1/mcp/features','soUtM','POST','DELETE','KOLaz','json','toString','xhEIt','zmzzy','offset','includeDeleted','gitBranch','message','1882855hQfFio','nwdtK','BRept','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','https://dashboard.ranger.net/billing','9690453hzYTFy','PATCH','itemIds','Failed\x20to\x20start\x20session:\x20','721voOStf','/start','style','/restore','SmhwD'];_0x26f7=function(){return _0x146607;};return _0x26f7();}export async function listFeatureSessions(_0x463f15){const _0x40769e=_0x1d81,_0x37bcdf={'fHECC':function(_0x2d02ae){return _0x2d02ae();},'LKJyX':_0x40769e(0x10e)},_0xc3e6dd=await _0x37bcdf['fHECC'](getToken);if(!_0xc3e6dd)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x165456=getApiBaseUrl(),_0x5b911c=await fetch(_0x165456+'/api/v1/mcp/features/'+_0x463f15+'/sessions',{'method':_0x37bcdf['LKJyX'],'headers':{'Authorization':'Bearer\x20'+_0xc3e6dd}});if(!_0x5b911c['ok']){const _0x5770be=await _0x5b911c['text']();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x5770be);}return _0x5b911c['json']();}export async function startSession(_0x3c716d,_0x293456){const _0x312a28=_0x1d81,_0x2a097e={'unRwf':function(_0x12be10,_0x4cb643,_0x33152f){return _0x12be10(_0x4cb643,_0x33152f);},'bXjIv':_0x312a28(0xf0)},_0x505155=await getToken();if(!_0x505155)throw new Error(_0x312a28(0xfe));const _0xfbcdf1=getApiBaseUrl(),_0x387017=await _0x2a097e[_0x312a28(0xd8)](fetch,_0xfbcdf1+_0x312a28(0xdb)+_0x3c716d+_0x312a28(0xd2)+_0x293456+_0x312a28(0x105),{'method':_0x2a097e[_0x312a28(0xec)],'headers':{'Authorization':_0x312a28(0xeb)+_0x505155}});if(!_0x387017['ok']){const _0x20e759=await _0x387017[_0x312a28(0xda)]();throw new Error(_0x312a28(0x103)+_0x20e759);}return _0x387017['json']();}export async function concludeSession(_0x2804b1,_0x127595){const _0x4dead9=_0x1d81,_0x2bff95={'hmJWn':function(_0x556977){return _0x556977();},'KeAqY':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x67f07b=await _0x2bff95[_0x4dead9(0xea)](getToken);if(!_0x67f07b)throw new Error(_0x2bff95[_0x4dead9(0xe0)]);const _0x4bab39=getApiBaseUrl(),_0x5d6e51=await fetch(_0x4bab39+_0x4dead9(0xdb)+_0x2804b1+_0x4dead9(0xd2)+_0x127595+'/conclude',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x67f07b}});if(!_0x5d6e51['ok']){const _0x3d718f=await _0x5d6e51['text']();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x3d718f);}return _0x5d6e51[_0x4dead9(0xf3)]();}export async function getActionItems(_0x475ef1){const _0x4a77ff=_0x1d81,_0x651c3e={'tZflV':function(_0x1280b0){return _0x1280b0();},'TJDvk':function(_0x41ec08,_0x309ba7,_0x1d891f){return _0x41ec08(_0x309ba7,_0x1d891f);}},_0x101774=await getToken();if(!_0x101774)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x4850d1=_0x651c3e['tZflV'](getApiBaseUrl),_0x3cad77=await _0x651c3e[_0x4a77ff(0xe8)](fetch,_0x4850d1+'/api/v1/mcp/features/'+_0x475ef1+'/action-items',{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x101774}});if(!_0x3cad77['ok']){const _0x1ed9f5=await _0x3cad77['text']();throw new Error('Failed\x20to\x20get\x20action\x20items:\x20'+_0x1ed9f5);}return _0x3cad77['json']();}export async function getItemFeedback(_0x395b36,_0x370041){const _0x2a371f=_0x1d81,_0x3a695b={'HEgeJ':_0x2a371f(0xfe),'JBOgE':function(_0x46cc5f){return _0x46cc5f();},'TDoPJ':function(_0x1b7c56,_0xd967f2,_0x5a84d){return _0x1b7c56(_0xd967f2,_0x5a84d);},'xhEIt':'GET'},_0x5c1495=await getToken();if(!_0x5c1495)throw new Error(_0x3a695b['HEgeJ']);const _0x1d8edc=_0x3a695b['JBOgE'](getApiBaseUrl),_0x263954=await _0x3a695b['TDoPJ'](fetch,_0x1d8edc+_0x2a371f(0xdb)+_0x395b36+'/checklist-items/'+_0x370041+_0x2a371f(0xd3),{'method':_0x3a695b[_0x2a371f(0xf5)],'headers':{'Authorization':_0x2a371f(0xeb)+_0x5c1495}});if(!_0x263954['ok']){const _0x35449f=await _0x263954[_0x2a371f(0xda)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x35449f);}return _0x263954[_0x2a371f(0xf3)]();}export async function markCommentsAddressed(_0xb13e06,_0x1cf257,_0x3f4287){const _0x16a732=_0x1d81,_0x213ccd={'boQru':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','oujqi':function(_0x5291dd,_0x373865,_0x5f1e34){return _0x5291dd(_0x373865,_0x5f1e34);}},_0x49d812=await getToken();if(!_0x49d812)throw new Error(_0x213ccd['boQru']);const _0x40d877=getApiBaseUrl(),_0x1bc222=await _0x213ccd['oujqi'](fetch,_0x40d877+'/api/v1/mcp/features/'+_0xb13e06+_0x16a732(0xd4),{'method':_0x16a732(0xf0),'headers':{'Authorization':'Bearer\x20'+_0x49d812,'Content-Type':'application/json'},'body':JSON['stringify']({'checklistItemId':_0x1cf257,'commentIds':_0x3f4287})});if(!_0x1bc222['ok']){const _0x347a2e=await _0x1bc222['text']();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x347a2e);}}export async function softDeleteFeature(_0x24ab93){const _0x362c42=_0x1d81,_0x2e7f6d={'AwmQA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','BaIVY':function(_0x3265d8){return _0x3265d8();}},_0x4c96c1=await getToken();if(!_0x4c96c1)throw new Error(_0x2e7f6d['AwmQA']);const _0x2b9c5f=_0x2e7f6d[_0x362c42(0xe5)](getApiBaseUrl),_0x59c6db=await fetch(_0x2b9c5f+'/api/v1/mcp/features/'+_0x24ab93,{'method':_0x362c42(0xf1),'headers':{'Authorization':_0x362c42(0xeb)+_0x4c96c1}});if(!_0x59c6db['ok']){const _0x1b4280=await _0x59c6db[_0x362c42(0xda)]();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x1b4280);}}export async function restoreFeature(_0x37238d){const _0x1f29a7=_0x1d81,_0x4804a3={'NwJCt':function(_0xba8592){return _0xba8592();}},_0x3c2359=await getToken();if(!_0x3c2359)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x53a0f9=_0x4804a3['NwJCt'](getApiBaseUrl),_0x1a93bc=await fetch(_0x53a0f9+'/api/v1/mcp/features/'+_0x37238d+_0x1f29a7(0x107),{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x3c2359}});if(!_0x1a93bc['ok']){const _0x3845d5=await _0x1a93bc[_0x1f29a7(0xda)]();throw new Error(_0x1f29a7(0xdd)+_0x3845d5);}}
|