@ranger-testing/ranger-cli 3.1.6-alpha.aca5f9c-53 → 3.1.6-alpha.e1ccb01-57
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/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/package.json +14 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5559ee=_0xa37e;(function(_0x5d200d,_0x24cc73){const _0x530bca=_0xa37e,_0x3bc326=_0x5d200d();while(!![]){try{const _0x338cf7=parseInt(_0x530bca(0x12c))/0x1*(parseInt(_0x530bca(0x182))/0x2)+-parseInt(_0x530bca(0xf0))/0x3+parseInt(_0x530bca(0x166))/0x4*(-parseInt(_0x530bca(0x10e))/0x5)+-parseInt(_0x530bca(0x184))/0x6+-parseInt(_0x530bca(0x175))/0x7*(-parseInt(_0x530bca(0x16b))/0x8)+-parseInt(_0x530bca(0x130))/0x9*(parseInt(_0x530bca(0x181))/0xa)+parseInt(_0x530bca(0x16d))/0xb;if(_0x338cf7===_0x24cc73)break;else _0x3bc326['push'](_0x3bc326['shift']());}catch(_0x5db4be){_0x3bc326['push'](_0x3bc326['shift']());}}}(_0x58f3,0xaa7ce));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x1bca08 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(_0x1bce2f){const _0x4116ce=_0xa37e,_0x5a303c={'jDgQq':'invalid-url'};try{return new URL(_0x1bce2f)['host'];}catch{return _0x5a303c[_0x4116ce(0x1a2)];}}function errorMessageForTelemetry(_0x6f7619){const _0x4292e7=_0xa37e;return _0x6f7619 instanceof Error?_0x6f7619[_0x4292e7(0x187)]:undefined;}function trackBridgeEvent(_0x3368a6,_0x3e914d){const _0x8c5cb0=_0xa37e,_0xf7db55={'urFBf':function(_0x427679,_0x25c360){return _0x427679===_0x25c360;},'qRFpR':'local_ws_error'};if(!_0x3368a6)return;const _0x45175d={'tunnelSessionId':_0x3e914d['sessionId'],'tunnelEventType':_0x3e914d['type'],'connectionId':_0x3e914d[_0x8c5cb0(0xde)],'code':_0x3e914d['code'],'reason':_0x3e914d['reason'],'error':_0x3e914d[_0x8c5cb0(0x11a)],'elapsedMs':_0x3e914d['elapsedMs'],'activeLocalConnections':_0x3e914d[_0x8c5cb0(0x197)],'pendingLocalConnections':_0x3e914d[_0x8c5cb0(0x167)]};_0x3368a6['trackPhaseEnd']('tunnel_bridge_event',_0x45175d),(_0x3e914d['type']===_0x8c5cb0(0x13c)||_0xf7db55[_0x8c5cb0(0x19c)](_0x3e914d[_0x8c5cb0(0x133)],_0xf7db55[_0x8c5cb0(0x153)]))&&void _0x3368a6['trackPhaseError'](_0x8c5cb0(0x1a1),new Error(_0x3e914d['error']??_0x3e914d[_0x8c5cb0(0x133)]),_0x45175d);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x1a8cfd=_0xa37e,_0x3133c1={'cbVGT':_0x1a8cfd(0xec)},_0x296e77=await getToken();if(!_0x296e77)throw new Error(_0x3133c1['cbVGT']);return _0x296e77;}async function apiRequest(_0x1053e7,_0xb30e8={}){const _0x226df7=_0xa37e,_0x6c0ee2={'opgFC':function(_0x384637){return _0x384637();},'INCAC':function(_0x45a2b8,_0x429042,_0x109b99){return _0x45a2b8(_0x429042,_0x109b99);},'vAIOF':function(_0x4b6a06,_0x1c80e8){return _0x4b6a06===_0x1c80e8;},'xNaiu':_0x226df7(0x198),'qjxyi':function(_0x2acbfa,_0x379af3){return _0x2acbfa===_0x379af3;},'BAVbq':function(_0xc5ca34,_0x3b0127){return _0xc5ca34===_0x3b0127;}},_0x3936b3=await _0x6c0ee2['opgFC'](requireToken),_0x5aa1c5=_0x6c0ee2[_0x226df7(0x100)](getApiBaseUrl),_0x55e1b9=await _0x6c0ee2['INCAC'](fetch,''+_0x5aa1c5+_0x1053e7,{..._0xb30e8,'headers':{'Authorization':'Bearer\x20'+_0x3936b3,'Content-Type':_0x226df7(0xe2),..._0xb30e8[_0x226df7(0x154)]??{}}});if(!_0x55e1b9['ok']){let _0x60e17='',_0xefd817;try{const _0x2c67e5=await _0x55e1b9[_0x226df7(0xfe)](),_0x51548b=(_0x6c0ee2[_0x226df7(0x190)](typeof _0x2c67e5['error'],_0x6c0ee2['xNaiu'])?_0x2c67e5['error']:undefined)??JSON['stringify'](_0x2c67e5);_0x60e17=_0x51548b;_0x6c0ee2[_0x226df7(0x183)](typeof _0x2c67e5[_0x226df7(0xfd)],_0x6c0ee2[_0x226df7(0x146)])&&_0x2c67e5['test_output']&&(_0x60e17=_0x60e17+'\x0a'+_0x2c67e5[_0x226df7(0xfd)]);if(_0x6c0ee2['BAVbq'](typeof _0x2c67e5['code'],_0x226df7(0x198)))_0xefd817=_0x2c67e5['code'];}catch{_0x60e17=_0x55e1b9[_0x226df7(0x15d)];}throw new ApiError(_0x226df7(0xe1)+_0x1053e7+'\x20failed\x20('+_0x55e1b9[_0x226df7(0x189)]+'):\x20'+_0x60e17,_0x55e1b9['status'],_0x60e17,_0xefd817);}if(_0x55e1b9['status']===0xcc)return undefined;return _0x55e1b9['json']();}export class ApiError extends Error{['status'];['detail'];[_0x5559ee(0x134)];constructor(_0x18b078,_0x5a33fd,_0xc9cd97,_0x3fb5fd){const _0x4f5476=_0x5559ee,_0x3791a9={'pRnJJ':'2|0|1|4|3'},_0x31ce1=_0x3791a9['pRnJJ'][_0x4f5476(0x160)]('|');let _0xf92c1=0x0;while(!![]){switch(_0x31ce1[_0xf92c1++]){case'0':this[_0x4f5476(0x189)]=_0x5a33fd;continue;case'1':this[_0x4f5476(0x12b)]=_0xc9cd97;continue;case'2':super(_0x18b078);continue;case'3':this[_0x4f5476(0xf5)]='ApiError';continue;case'4':this['code']=_0x3fb5fd;continue;}break;}}}export async function fetchCloudProfile(_0xfa4160){const _0x170e89=_0x5559ee,_0x4dfdac={'sNAfs':function(_0x552909,_0x111e89){return _0x552909(_0x111e89);},'jKahi':function(_0x42487c,_0x18946e){return _0x42487c(_0x18946e);},'ptboS':function(_0x40d048,_0x59d964){return _0x40d048 instanceof _0x59d964;},'VHCKH':function(_0x6b9b3e,_0x36a713){return _0x6b9b3e===_0x36a713;}};try{return await _0x4dfdac['sNAfs'](apiRequest,_0x170e89(0x18a)+_0x4dfdac['jKahi'](encodeURIComponent,_0xfa4160));}catch(_0x364632){if(_0x4dfdac['ptboS'](_0x364632,ApiError)&&_0x4dfdac['VHCKH'](_0x364632[_0x170e89(0x189)],0x194))return null;throw _0x364632;}}export async function listCloudProfiles(){const _0xf927d9=_0x5559ee,_0x35e0fc={'ZKiMR':function(_0x2d207a,_0x36e031){return _0x2d207a(_0x36e031);}},_0x3d3260=await _0x35e0fc['ZKiMR'](apiRequest,_0xf927d9(0x180));return _0x3d3260['profiles'];}export async function deleteCloudProfile(_0x1fe563){const _0x453d14=_0x5559ee,_0x492844={'CWUKI':function(_0x60f24f,_0x3db467){return _0x60f24f(_0x3db467);},'JOeGo':function(_0x11e94c,_0x3ccd61){return _0x11e94c instanceof _0x3ccd61;}};try{await apiRequest(_0x453d14(0x18a)+_0x492844[_0x453d14(0x172)](encodeURIComponent,_0x1fe563),{'method':_0x453d14(0x104)});}catch(_0x32db0c){if(_0x492844[_0x453d14(0xfa)](_0x32db0c,ApiError)&&_0x32db0c[_0x453d14(0x189)]===0x194)throw new Error(_0x453d14(0x17e)+_0x1fe563+'\x22\x20not\x20found.');throw _0x32db0c;}}export async function createCloudProfile(_0x12c1f7,_0xcfc95a,_0x3403bd={}){const _0x20774f=_0x5559ee,_0x52c57e={'pdXJs':function(_0x293d8a,_0x49ff22,_0x120941){return _0x293d8a(_0x49ff22,_0x120941);},'zcJFi':'POST'},_0x48b381={'name':_0x12c1f7};if(_0xcfc95a)_0x48b381['environment_key']=_0xcfc95a;_0x3403bd['settings']&&Object[_0x20774f(0xee)](_0x3403bd[_0x20774f(0x16a)])[_0x20774f(0x129)]>0x0&&(_0x48b381['settings']=_0x3403bd[_0x20774f(0x16a)]);if(_0x3403bd[_0x20774f(0x137)])_0x48b381['username']=_0x3403bd['username'];if(_0x3403bd[_0x20774f(0x17d)])_0x48b381[_0x20774f(0x17d)]=_0x3403bd['password'];return await _0x52c57e['pdXJs'](apiRequest,_0x20774f(0x180),{'method':_0x52c57e['zcJFi'],'body':JSON['stringify'](_0x48b381)});}export async function uploadCloudProfileSession(_0x22a258,_0x4e9a6e){const _0x330f84=_0x5559ee,_0x10a34f={'fzuUw':_0x330f84(0x152)};return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x22a258)+_0x330f84(0xf8),{'method':_0x10a34f['fzuUw'],'body':JSON[_0x330f84(0x148)]({'session_state':_0x4e9a6e})});}export async function saveCloudProfileCredentials(_0x44790a,_0x43cf60,_0x4293e5){const _0x4cd9b4=_0x5559ee,_0x4e3181={'HyLoo':function(_0x49ce71,_0x48ba35){return _0x49ce71(_0x48ba35);}};await apiRequest(_0x4cd9b4(0x18a)+_0x4e3181[_0x4cd9b4(0x12f)](encodeURIComponent,_0x44790a),{'method':'PUT','body':JSON['stringify']({'username':_0x43cf60,'password':_0x4293e5})});}export async function fetchAuthConfig(){const _0x364eff=_0x5559ee,_0x4d5193={'ofPME':function(_0x28ae50,_0xf95a0d){return _0x28ae50(_0xf95a0d);},'WEJAS':_0x364eff(0x115),'RWrrs':function(_0x377ca9,_0x1cdb40){return _0x377ca9 instanceof _0x1cdb40;}};try{const _0x4c2bef=await _0x4d5193['ofPME'](apiRequest,_0x4d5193[_0x364eff(0x17f)]);return _0x4c2bef[_0x364eff(0x19f)];}catch(_0xae01b5){return _0x4d5193['RWrrs'](_0xae01b5,ApiError)&&_0xae01b5['status']!==0x194&&console[_0x364eff(0x11a)](_0x364eff(0x19e)+_0xae01b5[_0x364eff(0x187)]),null;}}function _0x58f3(){const _0x3cf68b=[');\x20pass\x20--env\x20<key>\x20to\x20pick\x20one.','detail','1210937dLqxHp','organizationId','trackPhaseEnd','HyLoo','9EOCGCF','setupHeaders','rSMRg','type','code','xdcZL','trackPhaseStart','username','HFVHF','PjxSb','env','newPage','tunnel_error','No\x20auth\x20environment\x20matches\x20the\x20local\x20target\x20\x22','\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...','ueMiw','pBlqI','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>`.','ZamGh','prompt','EXeuU','tunnel_login_request','xNaiu','goto','stringify','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','sQwrT','\x20(If\x20you\x20meant\x20a\x20profile,\x20use\x20--profile.)','loginInstructions','storageStatePath','domains','qHKbE','targetUrl','\x22\x20for\x20','POST','qRFpR','headers','\x22,\x20and\x20cloud\x20sessions\x20don\x27t\x20apply\x20to\x20localhost.\x0a','\x20\x20Cloud\x20profile\x20\x22','RANGER_TEST_USERNAME','close','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','ZopbW','smewc','environments','statusText','Puukj','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','split','\x20\x20Login\x20successful.\x20Session\x20cached.','pw_endpoint','XAsxS','force','\x20\x20forceLogin\x20enabled\x20for\x20\x22','1239940DScTKw','pendingLocalConnections','beSYF','\x22\x20is\x20bound\x20to\x20auth\x20env\x20\x22','settings','56lcyFiM','Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20(','17586184pfzrbp','sPLEo','zePGR','clientIp','tunnel','CWUKI','mDmWg','ANbhs','174013oKoWAP','\x20\x20•\x20or\x20pass\x20--env\x20<key>\x20to\x20run\x20an\x20automated\x20login\x20for\x20this\x20target.','RANGER_TUNNEL_LOGIN_HEADED','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','KcrvR','defaultEnvironmentKey','WxIaN','sessionId','password','Cloud\x20profile\x20\x22','WEJAS','/api/v1/profiles','3346630qBvKLt','2doNThf','qjxyi','4344678gCOkxJ','utf-8','tunnelUrl','message','environmentKey','status','/api/v1/profiles/','replace','uioKG','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','tunnel_login_setup','success','vAIOF','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','\x20\x20-\x20pass\x20`--env\x20<key>`\x20to\x20pick\x20the\x20auth\x20environment\x20by\x20name,\x20or\x0a','RANGER_TEST_PASSWORD','LdbgX','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','CaGdn','activeLocalConnections','string','not_configured','\x20\x20Cached\x20session\x20for\x20\x22','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','urFBf','telemetry','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','auth_config','Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20','tunnel_bridge','jDgQq','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','raw','connectionId','persistSessionState','Gdxcc','API\x20request\x20','application/json','kphaU','tunnel_login_cleanup','cli:manual-login','XSgff','toLowerCase','vkecR','Bqozt','\x22\x20but\x20this\x20run\x20resolved\x20env\x20\x22','\x20\x20Server-side\x20login\x20error:\x20','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','newContext','keys','1|2|4|3|0','1819890XtWbFI','wAJvN','\x20--url\x20','isArray','IehaO','name','\x20\x20Created\x20cloud\x20profile\x20\x22','\x20\x20Cloud\x20session\x20for\x20\x22','/session','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','JOeGo','HzCvy','\x22.\x0a','test_output','json','Auth\x20environment\x20\x22','opgFC','\x20\x20No\x20live\x20session\x20for\x20\x22','No\x20saved\x20session\x20for\x20\x22','vFIdR','DELETE','mjBGa','\x22;\x20proceeding\x20with\x20loginInstructions.','vxUCF','Multiple\x20auth\x20environments\x20declare\x20this\x20host\x20(','/api/v1/tunnel/sessions','gRfat','ambiguous','zbuNS','assertedEnv','10afDxNI','session_state','PKAKV','forceLogin','push','sessionCheckPath','TEEgV','/api/v1/profiles/auth-config','\x20(auth\x20env:\x20','join','log','OZJjE','error','some','launch','toISOString','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','invalidateOn','PtHqW','userAgent','OHpNp','\x22\x20not\x20found\x20in\x20your\x20org\x27s\x20config.','catch','ulzPT','pwEndpoint','trim','origin','length'];_0x58f3=function(){return _0x3cf68b;};return _0x58f3();}async function createTunnelSession(_0x5d993d){const _0x17adfa=_0x5559ee,_0x11f004={'Teqrz':_0x17adfa(0x109),'uioKG':'agent'};return await apiRequest(_0x11f004['Teqrz'],{'method':_0x17adfa(0x152),'body':JSON['stringify']({'targetUrl':_0x5d993d,'mode':_0x11f004[_0x17adfa(0x18c)]})});}async function deleteTunnelSession(_0x271610){const _0x457044=_0x5559ee;await apiRequest('/api/v1/tunnel/sessions/'+_0x271610,{'method':_0x457044(0x104)});}export function pickAdHocEnvKey(_0x55171d,_0x3e4cda,_0x26d5a4){const _0x22db04=_0x5559ee,_0x46a957={'LdbgX':function(_0x3a2ce4,_0x1440b2){return _0x3a2ce4+_0x1440b2;},'HFVHF':function(_0x19b63f,_0xabbb85,_0x16b673){return _0x19b63f(_0xabbb85,_0x16b673);},'XSgff':function(_0x39dd18,_0x306416,_0x3fdd03){return _0x39dd18(_0x306416,_0x3fdd03);},'ZopbW':function(_0x1d8dc6,_0x56be80){return _0x1d8dc6 in _0x56be80;},'vxUCF':_0x22db04(0x10b),'fVJtS':function(_0x278651,_0x213561){return _0x278651(_0x213561);},'saCgY':function(_0x53a464,_0x277349){return _0x53a464+_0x277349;},'Bqozt':function(_0x5c6df3,_0x884d85){return _0x5c6df3+_0x884d85;},'TEEgV':function(_0x25951e,_0x575913){return _0x25951e===_0x575913;},'ESjkS':function(_0xfeefd0,_0x1741e0){return _0xfeefd0===_0x1741e0;}};if(_0x26d5a4){if(!_0x55171d?.[_0x22db04(0x15c)]?.[_0x26d5a4]){const _0x37911b=Object['keys'](_0x55171d?.[_0x22db04(0x15c)]??{});throw new Error(_0x46a957[_0x22db04(0x194)](_0x22db04(0xff)+_0x26d5a4+_0x22db04(0x123),_0x37911b[_0x22db04(0x129)]?'\x20Available:\x20'+_0x37911b[_0x22db04(0x117)](',\x20')+'.':'\x20Your\x20org\x20has\x20no\x20auth\x20environments\x20configured.')+_0x22db04(0x14b));}return _0x26d5a4;}if(!_0x55171d)return null;if(_0x3e4cda){const _0x5a300f=_0x46a957[_0x22db04(0x138)](matchAuthEnvironmentExact,_0x3e4cda,_0x55171d);if(_0x5a300f)return _0x5a300f;const _0x12dc1e=_0x46a957[_0x22db04(0xe6)](matchAuthEnvironmentByHost,_0x3e4cda,_0x55171d);if(_0x12dc1e&&'key'in _0x12dc1e)return console['log']('\x20\x20Auth\x20env\x20\x22'+_0x12dc1e['key']+'\x22\x20matched\x20by\x20host\x20for\x20'+_0x3e4cda+'\x20(declared\x20port\x20differs;\x20pass\x20--env\x20to\x20override).'),_0x12dc1e['key'];if(_0x12dc1e&&_0x46a957[_0x22db04(0x15a)](_0x46a957[_0x22db04(0x107)],_0x12dc1e))throw new Error(_0x22db04(0x108)+_0x12dc1e[_0x22db04(0x10b)]['join'](',\x20')+_0x22db04(0x12a));if(_0x46a957['fVJtS'](needsTunnel,_0x3e4cda))throw new Error(_0x46a957['LdbgX'](_0x46a957['saCgY'](_0x46a957[_0x22db04(0xe9)](_0x22db04(0x13d)+_0x3e4cda+_0x22db04(0xfc)+'\x20\x20Ranger\x20can\x27t\x20assume\x20your\x20org\x27s\x20default\x20login\x20flow\x20applies\x20to\x20an\x20arbitrary\x20local\x20app.\x0a'+'\x20\x20Options:\x0a',_0x22db04(0x192)),'\x20\x20-\x20ask\x20your\x20Ranger\x20admin\x20to\x20add\x20\x22'+_0x3e4cda[_0x22db04(0x18b)](/\/+$/,'')+'\x22\x20to\x20the\x20matching\x20auth\x20environment\x27s\x20domains,\x20or\x0a'),'\x20\x20-\x20run\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20'+_0x3e4cda+'\x20--skip-auth`\x20for\x20an\x20unauthenticated\x20profile.'));}if(_0x55171d['defaultEnvironmentKey'])return _0x55171d[_0x22db04(0x17a)];const _0x5bb8f8=Object['keys'](_0x55171d[_0x22db04(0x15c)]??{});if(_0x46a957[_0x22db04(0x114)](_0x5bb8f8['length'],0x1))return _0x5bb8f8[0x0];if(_0x46a957['ESjkS'](_0x5bb8f8[_0x22db04(0x129)],0x0))return null;throw new Error(_0x22db04(0x16c)+_0x5bb8f8['join'](',\x20')+').\x20'+_0x22db04(0x141));}export function adHocProfileName(_0xa812b4,_0x15ace7,_0x404505){const _0x3eed7e={'ztQKr':function(_0x58be4b,_0x357e78){return _0x58be4b===_0x357e78;}};if(!_0x15ace7||_0x3eed7e['ztQKr'](_0x15ace7,_0x404505))return _0xa812b4;return _0xa812b4+':'+_0x15ace7;}export async function resolveAdHocProfile(_0x10bbd8={},_0x225132=process[_0x5559ee(0x13a)]){const _0x64d92d=_0x5559ee,_0x323641={'mjBGa':function(_0x5bfa6f,_0x2d5d8e,_0x5354f7,_0x538558){return _0x5bfa6f(_0x2d5d8e,_0x5354f7,_0x538558);},'KWaqL':function(_0x32040f,_0x3d31a5){return _0x32040f&&_0x3d31a5;},'qHKbE':function(_0x579f11,_0x57c30e){return _0x579f11!==_0x57c30e;},'FIRov':'none'},_0x554c52=_0x225132[_0x64d92d(0x157)];if(!_0x554c52)return null;const _0x65daed=await fetchAuthConfig(),_0x5025ce=pickAdHocEnvKey(_0x65daed,_0x10bbd8['targetUrl'],_0x10bbd8['envKey']);let _0x5154bd=_0x323641[_0x64d92d(0x105)](adHocProfileName,_0x554c52,_0x5025ce,_0x65daed?.[_0x64d92d(0x17a)]),_0x5bec82=await fetchCloudProfile(_0x5154bd);_0x323641['KWaqL'](_0x5bec82,_0x5025ce)&&_0x323641[_0x64d92d(0x14f)](_0x5bec82[_0x64d92d(0x188)],_0x5025ce)&&(console[_0x64d92d(0x118)](_0x64d92d(0x156)+_0x5154bd+_0x64d92d(0x169)+(_0x5bec82['environmentKey']??_0x323641['FIRov'])+_0x64d92d(0xea)+_0x5025ce+'\x22;\x20using\x20\x22'+_0x554c52+':'+_0x5025ce+'\x22\x20instead.'),_0x5154bd=_0x554c52+':'+_0x5025ce,_0x5bec82=await fetchCloudProfile(_0x5154bd));if(_0x5bec82)return{'name':_0x5bec82['name'],'profile':_0x5bec82};const _0x35596e=_0x225132[_0x64d92d(0x193)],_0x1d1f14=await createCloudProfile(_0x5154bd,_0x5025ce??undefined,{'username':_0x554c52,'password':_0x35596e});return console['log'](_0x64d92d(0xf6)+_0x1d1f14[_0x64d92d(0xf5)]+_0x64d92d(0x151)+_0x554c52+(_0x5025ce?_0x64d92d(0x116)+_0x5025ce+')':'')),{'name':_0x1d1f14['name'],'profile':_0x1d1f14};}export async function writeSessionToLocalCache(_0x2d7ece,_0x2ff446,_0x2b9a7d,_0x3215e6,_0xc538dd,_0x21ad3a,_0x1406e8){const _0x26073d=_0x5559ee,_0x3a2ec3={'wikWL':function(_0x2c4ed7,_0x17585f,_0x4254d3){return _0x2c4ed7(_0x17585f,_0x4254d3);},'CaGdn':function(_0x4a1be6){return _0x4a1be6();},'smewc':'auth','WxIaN':function(_0x65eded,_0x3a714f){return _0x65eded>_0x3a714f;},'sTkqO':function(_0x271896,_0x1325a1,_0x192e21){return _0x271896(_0x1325a1,_0x192e21);}},_0xd05117=sessionCacheHash({'orgId':_0x2ff446,'profileName':_0x2d7ece,'effectiveBaseUrl':_0x2b9a7d,'setupHeaders':_0x3215e6,'invalidateOn':_0x1406e8?.['invalidateOn'],'userAgent':_0x1406e8?.['userAgent'],'clientIp':_0x1406e8?.['clientIp']}),_0x1e9518=_0x3a2ec3['wikWL'](getSessionCachePath,_0xd05117,_0x2d7ece),_0x95a1b3=join(_0x3a2ec3[_0x26073d(0x196)](getRangerHomeDir),_0x3a2ec3[_0x26073d(0x15b)]);!existsSync(_0x95a1b3)&&await mkdir(_0x95a1b3,{'recursive':!![]});const _0x163561={..._0xc538dd};_0x21ad3a&&_0x3a2ec3[_0x26073d(0x17b)](_0x21ad3a[_0x26073d(0x129)],0x0)&&Array[_0x26073d(0xf3)](_0x163561['cookies'])&&(_0x163561['cookies']=_0x3a2ec3['sTkqO'](duplicateCookiesForDomains,_0x163561['cookies'],_0x21ad3a));const _0x125ba2={'cached_at':new Date()[_0x26073d(0x11d)](),'session_state':_0x163561};await writeFile(_0x1e9518,JSON['stringify'](_0x125ba2,null,0x2));const _0x571599=getStorageStatePath(_0x1e9518);return await writeFile(_0x571599,JSON[_0x26073d(0x148)](_0x163561,null,0x2)),_0x571599;}export async function checkLocalCache(_0x5b8d86,_0x3ebb1d,_0x119e76,_0x23c23c,_0x23666f){const _0x220560=_0x5559ee,_0xd1c576={'KHgGl':function(_0x2f1038,_0x2377e6){return _0x2f1038(_0x2377e6);},'fucXS':function(_0x5c831b,_0x4f741e){return _0x5c831b(_0x4f741e);},'HzCvy':function(_0x55b17b,_0x374fb9,_0xe46aeb){return _0x55b17b(_0x374fb9,_0xe46aeb);}},_0x4d2131=_0xd1c576['KHgGl'](sessionCacheHash,{'orgId':_0x3ebb1d,'profileName':_0x5b8d86,'effectiveBaseUrl':_0x119e76,'setupHeaders':_0x23c23c,'invalidateOn':_0x23666f?.[_0x220560(0x11f)],'userAgent':_0x23666f?.['userAgent'],'clientIp':_0x23666f?.[_0x220560(0x170)]}),_0xef29e8=getSessionCachePath(_0x4d2131,_0x5b8d86),_0x498b42=getStorageStatePath(_0xef29e8);if(!existsSync(_0xef29e8)||!_0xd1c576['fucXS'](existsSync,_0x498b42))return null;try{const _0x3f1f1d=await _0xd1c576[_0x220560(0xfb)](readFile,_0xef29e8,_0x220560(0x185));return JSON['parse'](_0x3f1f1d),{'storageStatePath':_0x498b42};}catch{return null;}}function launchRealBrowser(){const _0x35a1f3=_0x5559ee;return chromium[_0x35a1f3(0x11c)]({'headless':!![]});}function emitSessionValidationHint(_0xef48d,_0x571ba9){const _0x5b5db1=_0x5559ee,_0x33981f={'kphaU':function(_0x2c4376,_0x480de7){return _0x2c4376===_0x480de7;},'zePGR':function(_0x194f0f,_0x5484c2){return _0x194f0f+_0x5484c2;}};if(!_0x571ba9||!_0x571ba9['domains']?.[_0x5b5db1(0x129)])return;let _0x1adc56;try{_0x1adc56=new URL(_0xef48d);}catch{return;}const _0x349f27=[];for(const _0x428eea of _0x571ba9[_0x5b5db1(0x14e)]){try{_0x349f27[_0x5b5db1(0x112)]({'raw':_0x428eea,'url':new URL(_0x428eea)});}catch{}}if(_0x33981f[_0x5b5db1(0xe3)](_0x349f27[_0x5b5db1(0x129)],0x0))return;if(_0x349f27[_0x5b5db1(0x11b)](_0x4dc7cd=>_0x4dc7cd['url'][_0x5b5db1(0x128)]===_0x1adc56[_0x5b5db1(0x128)]))return;const _0x4c37b6=_0x349f27['map'](_0x23b4d5=>'\x22'+_0x23b4d5[_0x5b5db1(0xdd)]+'\x22')[_0x5b5db1(0x117)](',\x20');console[_0x5b5db1(0x118)](_0x33981f[_0x5b5db1(0x16f)](_0x5b5db1(0x195)+_0x4c37b6+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0xef48d+_0x5b5db1(0x178)),'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.'));}export async function serverSideLogin(_0x50da25,_0x51878c){const _0x2d50ea=_0x5559ee,_0x8d217a={'RAdyq':function(_0x2116e7,_0x3abdda){return _0x2116e7 instanceof _0x3abdda;},'Vbjce':function(_0x5e1cf6,_0x587b59){return _0x5e1cf6===_0x587b59;}},_0x2c8ed5=process['env'][_0x2d50ea(0x157)],_0x585f34=process[_0x2d50ea(0x13a)]['RANGER_TEST_PASSWORD'],_0xfeff5a={};if(_0x2c8ed5)_0xfeff5a[_0x2d50ea(0x137)]=_0x2c8ed5;if(_0x585f34)_0xfeff5a[_0x2d50ea(0x17d)]=_0x585f34;if(_0x51878c?.['force'])_0xfeff5a[_0x2d50ea(0x164)]=!![];if(_0x51878c?.['targetUrl'])_0xfeff5a['target_url']=_0x51878c[_0x2d50ea(0x150)];if(_0x51878c?.['env'])_0xfeff5a['env']=_0x51878c['env'];_0x51878c?.[_0x2d50ea(0x171)]&&(_0xfeff5a['tunnel_session_id']=_0x51878c[_0x2d50ea(0x171)]['sessionId'],_0xfeff5a[_0x2d50ea(0x162)]=_0x51878c['tunnel']['pwEndpoint']);try{return await apiRequest(_0x2d50ea(0x18a)+encodeURIComponent(_0x50da25)+'/login',{'method':'POST','body':JSON['stringify'](_0xfeff5a)});}catch(_0x4d8341){if(_0x8d217a['RAdyq'](_0x4d8341,ApiError)&&_0x8d217a['Vbjce'](_0x4d8341['status'],0x190)&&_0x4d8341[_0x2d50ea(0x134)]===_0x2d50ea(0x199))return{'status':_0x2d50ea(0x199),'error':_0x4d8341[_0x2d50ea(0x12b)]};throw _0x4d8341;}}async function serverSideLoginWithOptionalTunnel(_0x190e70,_0x1ea45c,_0x50fbe7={}){const _0x25cfa5=_0x5559ee,_0x367bb3={'QauNC':function(_0x2e5462,_0x30e26f){return _0x2e5462(_0x30e26f);},'ueMiw':function(_0xc8466f,_0x468407){return _0xc8466f(_0x468407);},'rSMRg':function(_0x4d1961,_0x52f706){return _0x4d1961(_0x52f706);},'KcrvR':_0x25cfa5(0x13e),'beSYF':'tunnel_login_setup','XAsxS':_0x25cfa5(0x145),'IehaO':function(_0x4cb43b,_0x5ec8b3){return _0x4cb43b??_0x5ec8b3;},'OZJjE':function(_0x48bbd5,_0x30bf7c){return _0x48bbd5||_0x30bf7c;},'mDmWg':_0x25cfa5(0xef),'vFIdR':function(_0x3c50e0,_0x41f15f){return _0x3c50e0(_0x41f15f);}};if(!_0x367bb3[_0x25cfa5(0x13f)](needsTunnel,_0x1ea45c))return await serverSideLogin(_0x190e70,{'force':_0x50fbe7['force'],'env':_0x50fbe7[_0x25cfa5(0x13a)]});let _0x44e7dc=null,_0x5cc2da=null,_0x5e9f00=null,_0x118709=null,_0x5bf4e0=![];const _0x3cfc1a=process['env'][_0x25cfa5(0x177)]?.[_0x25cfa5(0xe7)](),_0x3ac0d2=_0x3cfc1a==='1'||_0x3cfc1a==='true',_0x401a80={'profileName':_0x190e70,'targetUrlHost':targetHostForTelemetry(_0x1ea45c),'tunnelRequired':!![],'forceLogin':_0x367bb3[_0x25cfa5(0x132)](Boolean,_0x50fbe7['force']),'localBrowserServerHeaded':_0x3ac0d2};try{_0x50fbe7['telemetry']?.[_0x25cfa5(0x136)](_0x25cfa5(0x18e),_0x401a80);_0x3ac0d2&&console['log'](_0x367bb3[_0x25cfa5(0x179)]);_0x44e7dc=await launchBrowserServer({'headless':!_0x3ac0d2}),_0x5cc2da=await createTunnelSession(_0x1ea45c);const _0x1cf270=await requireToken();_0x5e9f00=await _0x367bb3['rSMRg'](createTunnelBridge,{'localWsUrl':_0x44e7dc['wsEndpoint'],'tunnelServerUrl':_0x5cc2da[_0x25cfa5(0x186)],'sessionId':_0x5cc2da[_0x25cfa5(0x17c)],'apiKey':_0x1cf270,'onError':_0x21da8b=>{_0x118709=_0x21da8b;},'onClose':()=>{const _0x421ad4=_0x25cfa5;_0x118709??=new Error(_0x421ad4(0x1a0)+_0x190e70);},'onEvent':_0x3ad3fb=>trackBridgeEvent(_0x50fbe7['telemetry'],_0x3ad3fb)}),_0x50fbe7[_0x25cfa5(0x19d)]?.[_0x25cfa5(0x12e)](_0x367bb3[_0x25cfa5(0x168)],{..._0x401a80,'tunnelSessionId':_0x5cc2da[_0x25cfa5(0x17c)],'localBrowserServer':!![],'localBrowserServerHeaded':_0x3ac0d2}),_0x5bf4e0=!![];try{return _0x50fbe7['telemetry']?.[_0x25cfa5(0x136)](_0x367bb3[_0x25cfa5(0x163)],{..._0x401a80,'tunnelSessionId':_0x5cc2da[_0x25cfa5(0x17c)]}),await serverSideLogin(_0x190e70,{'force':_0x50fbe7[_0x25cfa5(0x164)],'targetUrl':_0x1ea45c,'env':_0x50fbe7[_0x25cfa5(0x13a)],'tunnel':{'sessionId':_0x5cc2da[_0x25cfa5(0x17c)],'pwEndpoint':_0x5cc2da[_0x25cfa5(0x126)]}})['then'](_0x514575=>{const _0x524eb5=_0x25cfa5;return _0x50fbe7[_0x524eb5(0x19d)]?.['trackPhaseEnd'](_0x524eb5(0x145),{..._0x401a80,'tunnelSessionId':_0x5cc2da?.[_0x524eb5(0x17c)],'loginStatus':_0x514575['status'],'hasSessionState':Boolean(_0x514575['session_state']),'hasTestOutput':Boolean(_0x514575['test_output']),'bridgeError':_0x367bb3['QauNC'](errorMessageForTelemetry,_0x118709)}),_0x514575;});}catch(_0x53980d){await _0x50fbe7[_0x25cfa5(0x19d)]?.['trackPhaseError'](_0x367bb3[_0x25cfa5(0x163)],_0x367bb3[_0x25cfa5(0xf4)](_0x118709,_0x53980d),{..._0x401a80,'tunnelSessionId':_0x5cc2da['sessionId'],'bridgeError':errorMessageForTelemetry(_0x118709)});throw _0x118709??_0x53980d;}}catch(_0x59227e){!_0x5bf4e0&&await _0x50fbe7[_0x25cfa5(0x19d)]?.['trackPhaseError'](_0x367bb3[_0x25cfa5(0x168)],_0x59227e,{..._0x401a80,'tunnelSessionId':_0x5cc2da?.['sessionId']});throw _0x59227e;}finally{if(_0x367bb3[_0x25cfa5(0x119)](_0x5cc2da,_0x44e7dc)||_0x5e9f00){const _0x27309a=_0x367bb3[_0x25cfa5(0x173)]['split']('|');let _0x303dff=0x0;while(!![]){switch(_0x27309a[_0x303dff++]){case'0':_0x50fbe7['telemetry']?.['trackPhaseEnd'](_0x25cfa5(0xe4),{..._0x401a80,'tunnelSessionId':_0x5cc2da?.[_0x25cfa5(0x17c)]});continue;case'1':_0x50fbe7['telemetry']?.[_0x25cfa5(0x136)]('tunnel_login_cleanup',{..._0x401a80,'tunnelSessionId':_0x5cc2da?.['sessionId']});continue;case'2':_0x5e9f00?.[_0x25cfa5(0x158)]();continue;case'3':_0x5cc2da&&await _0x367bb3[_0x25cfa5(0x103)](deleteTunnelSession,_0x5cc2da['sessionId'])[_0x25cfa5(0x124)](()=>{});continue;case'4':_0x44e7dc&&await _0x44e7dc['close']()[_0x25cfa5(0x124)](()=>{});continue;}break;}}}}function _0xa37e(_0x14b89c,_0x5e5394){_0x14b89c=_0x14b89c-0xdc;const _0x58f312=_0x58f3();let _0xa37e27=_0x58f312[_0x14b89c];return _0xa37e27;}export async function manualBrowserLogin(_0x21fc7a,_0x50dff2,_0x10f291={}){const _0x1f752f=_0x5559ee,_0x5cd8dd={'PKAKV':function(_0x4fd2a8,_0x16610a){return _0x4fd2a8(_0x16610a);},'OHpNp':function(_0x196ffa,_0x539d9b,_0x4be43d){return _0x196ffa(_0x539d9b,_0x4be43d);},'vkecR':function(_0x22e1c7,_0x411113){return _0x22e1c7+_0x411113;},'ltEsv':'about:blank','Gdxcc':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','Ugflz':_0x1f752f(0x149),'PjxSb':'Browser\x20login\x20timed\x20out\x20before\x20completion.','GMcta':'POST','PtHqW':_0x1f752f(0xe5)};if(!isInteractive())throw new Error(_0x5cd8dd[_0x1f752f(0xe8)](_0x5cd8dd['vkecR']('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x21fc7a[_0x1f752f(0xf5)]+_0x1f752f(0xfc),'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20'),_0x1f752f(0xf9)));const _0xd2fd86=_0x50dff2&&_0x50dff2[_0x1f752f(0x14e)]['length']>0x0?_0x50dff2[_0x1f752f(0x14e)][0x0]:_0x5cd8dd['ltEsv'];console['log'](_0x5cd8dd[_0x1f752f(0xe0)]),console['log'](_0x5cd8dd['Ugflz']),await new Promise(_0x50194a=>setTimeout(_0x50194a,0x7d0));const _0xe6b897=await chromium['launch']({'headless':![]});let _0x48cc24=null;try{const _0xd0f4dc={'ignoreHTTPSErrors':!![]};_0x50dff2?.['setupHeaders']&&(_0xd0f4dc['extraHTTPHeaders']=_0x50dff2['setupHeaders']);const _0x2cdeb1=await _0xe6b897[_0x1f752f(0xed)](_0xd0f4dc);await addProfileSetupBanner(_0x2cdeb1);const _0x319016=await _0x2cdeb1[_0x1f752f(0x13b)]();await _0x319016[_0x1f752f(0x147)](_0xd2fd86);let _0x3084b9=![];await new Promise(_0x4085a9=>{const _0x377ebf={'gRfat':function(_0x491d19,_0x4e2f37){const _0x3f8e2e=_0xa37e;return _0x5cd8dd[_0x3f8e2e(0x110)](_0x491d19,_0x4e2f37);}},_0x3e9e51=_0x5cd8dd['OHpNp'](setTimeout,()=>{const _0xb48c68=_0xa37e;_0x3084b9=!![],console['error']('Browser\x20login\x20timed\x20out\x20after\x20'+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0xb48c68(0x11e)),_0x4085a9();},MANUAL_LOGIN_TIMEOUT_MS);_0x319016['on']('close',async()=>{const _0x1dc1a9=_0xa37e;_0x377ebf[_0x1dc1a9(0x10a)](clearTimeout,_0x3e9e51);try{const _0x22f904=await _0x2cdeb1['storageState']();_0x48cc24=_0x22f904;}catch{}_0x4085a9();});});if(_0x3084b9&&!_0x48cc24)throw new Error(_0x5cd8dd[_0x1f752f(0x139)]);}finally{await _0xe6b897['close']()[_0x1f752f(0x124)](()=>{});}if(!_0x48cc24)throw new Error('Browser\x20closed\x20before\x20authentication\x20was\x20saved.');return _0x10f291[_0x1f752f(0xdf)]!==![]&&await _0x5cd8dd[_0x1f752f(0x122)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x21fc7a['name'])+_0x1f752f(0xf8),{'method':_0x5cd8dd['GMcta'],'body':JSON['stringify']({'session_state':_0x48cc24,'updated_by':_0x5cd8dd[_0x1f752f(0x120)]})}),{'sessionState':_0x48cc24};}export async function promptSaveCredentials(_0x408fa9){const _0x47d7e5=_0x5559ee,_0x365c2b={'yaRfW':function(_0x261332,_0x2a4730){return _0x261332||_0x2a4730;},'sQwrT':'confirm','PLQuB':_0x47d7e5(0xdc),'BkHOH':function(_0xae8abe,_0x100e8d,_0xbbde92){return _0xae8abe(_0x100e8d,_0xbbde92);}},_0x42bdd2=process[_0x47d7e5(0x13a)][_0x47d7e5(0x157)],_0xfa5470=process[_0x47d7e5(0x13a)]['RANGER_TEST_PASSWORD'];if(_0x365c2b['yaRfW'](!_0x42bdd2,!_0xfa5470))return;if(!isInteractive())return;const {save:_0x2cf52a}=await _0x1bca08[_0x47d7e5(0x143)]([{'type':_0x365c2b[_0x47d7e5(0x14a)],'name':'save','message':_0x365c2b['PLQuB'],'default':![]}]);if(!_0x2cf52a)return;await _0x365c2b['BkHOH'](apiRequest,_0x47d7e5(0x18a)+encodeURIComponent(_0x408fa9),{'method':'PUT','body':JSON['stringify']({'username':_0x42bdd2,'password':_0xfa5470})}),console['log'](_0x47d7e5(0x18d));}export async function resolveCloudProfileSession(_0x23042f,_0x6e9bb0={}){const _0x505300=_0x5559ee,_0x571b87={'kzoQY':function(_0x44bbcb,_0x1fc708){return _0x44bbcb===_0x1fc708;},'Puukj':'string','ZamGh':function(_0x5785c5,_0x5089d2){return _0x5785c5===_0x5089d2;},'ulzPT':function(_0x12a0fd,_0xc47f3c){return _0x12a0fd(_0xc47f3c);},'xdcZL':function(_0x1eebf9,_0x2b7497,_0x5a2f5d,_0x20156d,_0x192f95,_0x4e0a46){return _0x1eebf9(_0x2b7497,_0x5a2f5d,_0x20156d,_0x192f95,_0x4e0a46);},'LPEnT':function(_0x44df95,_0x3f63aa,_0xf418bf,_0x3b603b,_0x390385){return _0x44df95(_0x3f63aa,_0xf418bf,_0x3b603b,_0x390385);},'WJYfr':function(_0x55cbbc,_0x13b18d,_0x8ee172){return _0x55cbbc(_0x13b18d,_0x8ee172);},'wAJvN':function(_0x1cf751,_0x2275a3,_0x466386,_0x244feb,_0x4d90bc,_0x12849e,_0x18ff78,_0x339b53){return _0x1cf751(_0x2275a3,_0x466386,_0x244feb,_0x4d90bc,_0x12849e,_0x18ff78,_0x339b53);},'weFxq':function(_0x1e8354,_0x6351bc,_0x2f94e2){return _0x1e8354(_0x6351bc,_0x2f94e2);},'pNitv':function(_0x292f1d,_0x5264f3){return _0x292f1d(_0x5264f3);},'pBlqI':function(_0x110e2d,_0x5cece2){return _0x110e2d(_0x5cece2);},'cbZpr':function(_0x4066ec,_0x303d08){return _0x4066ec||_0x303d08;},'CBUXf':function(_0x2731f8,_0x3a2c45){return _0x2731f8||_0x3a2c45;},'zbuNS':function(_0x306770,_0x3a10c9){return _0x306770===_0x3a10c9;},'EXeuU':_0x505300(0x18f),'CHvOA':function(_0x1072dd,_0x36c02b){return _0x1072dd&&_0x36c02b;},'jpilV':_0x505300(0x159),'mOfem':function(_0x2aeefd,_0x522d80){return _0x2aeefd instanceof _0x522d80;},'fHrPt':function(_0x15a12a,_0x3b4b5c){return _0x15a12a(_0x3b4b5c);},'ySnUj':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','ANbhs':function(_0x2146b6,_0x4e2d5c){return _0x2146b6+_0x4e2d5c;},'sPLEo':_0x505300(0x176),'Aobuk':function(_0xb03823,_0x11c566,_0x499494){return _0xb03823(_0x11c566,_0x499494);}},_0x50d572=_0x23042f[_0x505300(0x16a)]??{},_0x10a005=await fetchAuthConfig(),_0x554a6d=_0x10a005?resolveAuthEnvironmentLocally(_0x10a005,_0x6e9bb0['assertedEnv']??_0x23042f['environmentKey']):null,_0x524412=_0x571b87['kzoQY'](typeof _0x554a6d?.['loginInstructions'],_0x571b87[_0x505300(0x15e)])&&_0x554a6d[_0x505300(0x14c)][_0x505300(0x127)]()?_0x554a6d['loginInstructions']:undefined,_0x20ec8a=_0x571b87[_0x505300(0x142)](typeof _0x50d572['loginInstructions'],_0x571b87['Puukj'])&&_0x50d572[_0x505300(0x14c)][_0x505300(0x127)]()?_0x50d572['loginInstructions']:undefined,_0x62cbb7=_0x20ec8a||!_0x524412?_0x50d572:{..._0x50d572,'loginInstructions':_0x524412},_0x55e1f9=_0x571b87['ulzPT'](Boolean,_0x62cbb7['loginInstructions']?.['trim']()),_0x45b924=Boolean(_0x50d572[_0x505300(0x111)]||_0x554a6d?.[_0x505300(0x111)]),_0x5e4f26=_0x554a6d?.['domains'],_0x545c3a=_0x50d572['setupHeaders'],_0x3b4d79=_0x545c3a??_0x554a6d?.[_0x505300(0x131)],_0x372252=_0x6e9bb0['effectiveBaseUrl']??_0x50d572['baseUrl']??(_0x5e4f26&&_0x5e4f26['length']>0x0?_0x5e4f26[0x0]:''),_0x1f6d93=_0x372252?needsTunnel(_0x372252):![],_0xd8c048={'invalidateOn':_0x554a6d?.[_0x505300(0x11f)],'userAgent':_0x554a6d?.['browserOptions']?.[_0x505300(0x121)]??_0x50d572[_0x505300(0x121)]};_0x45b924&&console[_0x505300(0x118)](_0x505300(0x165)+_0x23042f[_0x505300(0xf5)]+'\x22,\x20refreshing\x20session...');if(!_0x45b924){const _0x9fb2ed=await _0x571b87[_0x505300(0x135)](checkLocalCache,_0x23042f[_0x505300(0xf5)],_0x23042f['organizationId'],_0x372252,_0x3b4d79,_0xd8c048);if(_0x9fb2ed){if(_0x372252&&!_0x1f6d93){const _0x2f1676=await _0x571b87['LPEnT'](isCachedSessionLive,_0x9fb2ed[_0x505300(0x14d)],_0x372252,{'sessionCheckPath':_0x554a6d?.[_0x505300(0x113)],'setupHeaders':_0x3b4d79},{'launchBrowser':launchRealBrowser});if(_0x2f1676)return console['log'](_0x505300(0x191)+_0x23042f['name']+'\x22'),{'authPath':_0x9fb2ed[_0x505300(0x14d)],'settings':_0x62cbb7,'resolvedEnv':_0x554a6d};console[_0x505300(0x118)](_0x505300(0x19a)+_0x23042f[_0x505300(0xf5)]+'\x22\x20failed\x20validation\x20—\x20refreshing...'),_0x571b87['WJYfr'](emitSessionValidationHint,_0x372252,_0x554a6d);}else return _0x1f6d93&&console[_0x505300(0x118)]('\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x23042f['name']+'\x22'),{'authPath':_0x9fb2ed[_0x505300(0x14d)],'settings':_0x62cbb7,'resolvedEnv':_0x554a6d};}}if(!_0x45b924&&_0x23042f['sessionState']){const _0x577927=await _0x571b87['wAJvN'](writeSessionToLocalCache,_0x23042f['name'],_0x23042f['organizationId'],_0x372252,_0x3b4d79,_0x23042f['sessionState'],_0x5e4f26,_0xd8c048);if(_0x372252){const _0x211792=await isCachedSessionLive(_0x577927,_0x372252,{'sessionCheckPath':_0x554a6d?.['sessionCheckPath'],'setupHeaders':_0x3b4d79},{'launchBrowser':launchRealBrowser});if(_0x211792)return console['log'](_0x505300(0x19b)+_0x23042f['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x577927,'settings':_0x62cbb7,'resolvedEnv':_0x554a6d};console['log'](_0x505300(0xf7)+_0x23042f[_0x505300(0xf5)]+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x571b87['weFxq'](emitSessionValidationHint,_0x372252,_0x554a6d);}else return{'authPath':_0x577927,'settings':_0x62cbb7,'resolvedEnv':_0x554a6d};}if(_0x55e1f9)return console['log'](_0x505300(0x101)+_0x23042f[_0x505300(0xf5)]+_0x505300(0x106)),{'authPath':undefined,'settings':_0x62cbb7,'resolvedEnv':_0x554a6d};console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x23042f['name']+'\x22,\x20attempting\x20login...');const _0x10c63c=_0x571b87['ulzPT'](Boolean,process['env'][_0x505300(0x157)])&&_0x571b87['pNitv'](Boolean,process['env'][_0x505300(0x193)]),_0x262f8a=_0x571b87['pNitv'](Boolean,_0x23042f['username']),_0x4c7d68=_0x571b87[_0x505300(0x140)](Boolean,_0x6e9bb0[_0x505300(0x10d)]),_0x533df7=_0x372252?isBareLocalhost(_0x372252):![],_0x1b8fb7=_0x571b87['cbZpr'](_0x10c63c,_0x262f8a)&&_0x571b87['CBUXf'](!_0x533df7,_0x4c7d68);if(_0x1b8fb7)try{const _0x40435d=_0x372252?await serverSideLoginWithOptionalTunnel(_0x23042f['name'],_0x372252,{'force':_0x45b924,'telemetry':_0x6e9bb0['telemetry'],'env':_0x6e9bb0['assertedEnv']}):await serverSideLogin(_0x23042f[_0x505300(0xf5)],{'force':_0x45b924,'env':_0x6e9bb0['assertedEnv']});if(_0x571b87[_0x505300(0x10c)](_0x40435d['status'],_0x505300(0x199)))console[_0x505300(0x118)](_0x505300(0x15f));else{if(_0x40435d[_0x505300(0x189)]===_0x571b87[_0x505300(0x144)]&&_0x40435d[_0x505300(0x10f)]){console[_0x505300(0x118)](_0x505300(0x161));const _0x3fce47=await writeSessionToLocalCache(_0x23042f['name'],_0x23042f[_0x505300(0x12d)],_0x372252,_0x3b4d79,_0x40435d[_0x505300(0x10f)],_0x5e4f26,_0xd8c048);return _0x571b87['CHvOA'](_0x10c63c,!_0x262f8a)&&await _0x571b87[_0x505300(0x125)](promptSaveCredentials,_0x23042f[_0x505300(0xf5)]),{'authPath':_0x3fce47,'settings':_0x62cbb7,'resolvedEnv':_0x554a6d};}else _0x40435d['test_output']&&(console[_0x505300(0x118)](_0x571b87['jpilV']),console[_0x505300(0x118)](_0x40435d[_0x505300(0xfd)])),console['log']('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}}catch(_0x49a5e7){console['log'](_0x505300(0xeb)+(_0x571b87['mOfem'](_0x49a5e7,Error)?_0x49a5e7['message']:_0x571b87['fHrPt'](String,_0x49a5e7))),console[_0x505300(0x118)](_0x571b87['ySnUj']);}if(_0x571b87['CHvOA'](_0x533df7,!_0x4c7d68)&&!isInteractive())throw new Error(_0x571b87[_0x505300(0x174)](_0x505300(0x102)+_0x372252+'\x22\x20on\x20profile\x20\x22'+_0x23042f['name']+_0x505300(0x155)+('\x20\x20•\x20capture\x20one\x20(a\x20browser\x20opens):\x20ranger\x20profile\x20add\x20'+_0x23042f['name']+_0x505300(0xf2)+_0x372252+'\x0a'),_0x571b87[_0x505300(0x16e)]));const _0x447e11=_0x554a6d?{..._0x554a6d,'domains':_0x571b87['Aobuk'](orderLoginDomains,_0x372252,_0x554a6d[_0x505300(0x14e)]),'setupHeaders':_0x3b4d79}:_0x372252?{'key':_0x23042f[_0x505300(0x188)]??'','domains':[_0x372252],'setupHeaders':_0x3b4d79}:null,{sessionState:_0xa2a6e}=await manualBrowserLogin(_0x23042f,_0x447e11,{'persistSessionState':!_0x1f6d93}),_0x355755=await _0x571b87[_0x505300(0xf1)](writeSessionToLocalCache,_0x23042f['name'],_0x23042f['organizationId'],_0x372252,_0x3b4d79,_0xa2a6e,_0x5e4f26,_0xd8c048);return{'authPath':_0x355755,'settings':_0x62cbb7,'resolvedEnv':_0x554a6d};}
|
|
1
|
+
const _0x1d781f=_0x53f6;(function(_0x22c46f,_0x35a008){const _0x78c7db=_0x53f6,_0x2cbd6c=_0x22c46f();while(!![]){try{const _0x24e658=-parseInt(_0x78c7db(0x157))/0x1+-parseInt(_0x78c7db(0x1b8))/0x2*(-parseInt(_0x78c7db(0x1b1))/0x3)+parseInt(_0x78c7db(0x1ad))/0x4*(parseInt(_0x78c7db(0x151))/0x5)+-parseInt(_0x78c7db(0x142))/0x6*(parseInt(_0x78c7db(0x1ca))/0x7)+-parseInt(_0x78c7db(0x19a))/0x8+-parseInt(_0x78c7db(0x195))/0x9+parseInt(_0x78c7db(0x1c2))/0xa;if(_0x24e658===_0x35a008)break;else _0x2cbd6c['push'](_0x2cbd6c['shift']());}catch(_0x554ae2){_0x2cbd6c['push'](_0x2cbd6c['shift']());}}}(_0x3ac2,0x21fa2));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x39e237 from'inquirer';function _0x3ac2(){const _0x1194f7=['\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','DELETE','password','VYaNb','loginInstructions','tunnel_login_request','agent','\x20\x20forceLogin\x20enabled\x20for\x20\x22','\x20Available:\x20','JcfQC','fQHoO','wsEndpoint','close','/api/v1/profiles/','JTqEH','\x20failed\x20(','/api/v1/profiles/auth-config','LbtoU','detail','length','oiBab','\x20\x20-\x20pass\x20`--env\x20<key>`\x20to\x20pick\x20the\x20auth\x20environment\x20by\x20name,\x20or\x0a','RfWww','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','ambiguous','session_state','sCeSV','pendingLocalConnections','log','sMGFS','biFTh','oZKXx','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','\x20(auth\x20env:\x20','toISOString','ZNSla','storageState','sessionId','RANGER_TUNNEL_LOGIN_HEADED','\x20\x20•\x20or\x20pass\x20--env\x20<key>\x20to\x20run\x20an\x20automated\x20login\x20for\x20this\x20target.','push','code','RANGER_TEST_PASSWORD','launch','Dqrke','Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20(','error','\x22\x20for\x20','none',').\x20','\x22\x20not\x20found\x20in\x20your\x20org\x27s\x20config.','username','confirm','statusText','905085GOYBYj','parse','catch','\x20\x20Auth\x20env\x20\x22','newContext','24288RhMXcP','POST','not_configured','environments','ZEVUM','XHecC','ufkHJ','\x20\x20Cached\x20session\x20for\x20\x22','environmentKey','veOcX','ENioj','ApiError','GjvkA','DUwOa','LvcTV','):\x20','/session','gxaYp','keys','4SMwfEP','sessionCheckPath','activeLocalConnections','local_ws_error','679647RosUwy','cli:manual-login','WXolM','MVTVC','status','nDOKk','\x22,\x20and\x20cloud\x20sessions\x20don\x27t\x20apply\x20to\x20localhost.\x0a','2tDirQI','\x20--skip-auth`\x20for\x20an\x20unauthenticated\x20profile.','elapsedMs','key','\x22\x20is\x20bound\x20to\x20auth\x20env\x20\x22','tunnel_bridge_event','force','isArray','bMKGO','cookies','2040990xIWAYL','fGemu','persistSessionState','trackPhaseEnd','save','stringify','Browser\x20login\x20timed\x20out\x20after\x20','trim','800674UWkdwv','No\x20auth\x20environment\x20matches\x20the\x20local\x20target\x20\x22','trackPhaseStart','MPrsY','some','domains','userAgent','Browser\x20login\x20timed\x20out\x20before\x20completion.','name','clientIp','JSleA','fPYEJ','qucRV','WJebp','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','Mndoj','defaultEnvironmentKey','\x22\x20to\x20the\x20matching\x20auth\x20environment\x27s\x20domains,\x20or\x0a','tunnel_session_id','targetUrl','AQfaP','telemetry','test_output','string','target_url','hKbtF','storageStatePath','organizationId','\x20\x20Ranger\x20can\x27t\x20assume\x20your\x20org\x27s\x20default\x20login\x20flow\x20applies\x20to\x20an\x20arbitrary\x20local\x20app.\x0a','\x22\x20on\x20profile\x20\x22','headers','tunnel_bridge','CQGhq','API\x20request\x20','connectionId','Bearer\x20','sessionState','pwEndpoint','\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...','GJkrA','assertedEnv','\x22;\x20using\x20\x22','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','iZhKl','FWOdd','tunnel_login_setup','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','forceLogin','6SujOqH','reason','eGaYV','\x22\x20failed\x20validation\x20—\x20refreshing...','Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20','RANGER_TEST_USERNAME','\x20(declared\x20port\x20differs;\x20pass\x20--env\x20to\x20override).','\x22,\x20refreshing\x20session...','\x20\x20No\x20live\x20session\x20for\x20\x22','/login','/api/v1/profiles','newPage','pw_endpoint','\x20\x20Server-side\x20login\x20error:\x20','YxXxH','276245RWNeGV','about:blank','\x22;\x20proceeding\x20with\x20loginInstructions.','join','json','YOaLW','128744jeqNDK','setupHeaders','uTVmi','KOSrL','vwwmy','env','auth','type'];_0x3ac2=function(){return _0x1194f7;};return _0x3ac2();}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';function _0x53f6(_0x5a2daf,_0x7f15a5){_0x5a2daf=_0x5a2daf-0x13e;const _0x3ac25c=_0x3ac2();let _0x53f64e=_0x3ac25c[_0x5a2daf];return _0x53f64e;}import{matchAuthEnvironmentByHost,matchAuthEnvironmentExact}from'./matchAuthEnvironment.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x29df26){const _0x165b58={'EuTZG':'invalid-url'};try{return new URL(_0x29df26)['host'];}catch{return _0x165b58['EuTZG'];}}function errorMessageForTelemetry(_0x2b83c8){const _0x56d44e={'tHXkm':function(_0x281ff3,_0x11d5c1){return _0x281ff3 instanceof _0x11d5c1;}};return _0x56d44e['tHXkm'](_0x2b83c8,Error)?_0x2b83c8['message']:undefined;}function trackBridgeEvent(_0x574bb9,_0x5afe5d){const _0x1745f8=_0x53f6,_0x1ab9c0={'gotDQ':function(_0x1fcf1f,_0x1041ce){return _0x1fcf1f===_0x1041ce;},'LvcTV':_0x1745f8(0x1b0),'Ekmtt':_0x1745f8(0x1e9)};if(!_0x574bb9)return;const _0x59a466={'tunnelSessionId':_0x5afe5d['sessionId'],'tunnelEventType':_0x5afe5d['type'],'connectionId':_0x5afe5d[_0x1745f8(0x1ec)],'code':_0x5afe5d[_0x1745f8(0x188)],'reason':_0x5afe5d[_0x1745f8(0x143)],'error':_0x5afe5d['error'],'elapsedMs':_0x5afe5d[_0x1745f8(0x1ba)],'activeLocalConnections':_0x5afe5d[_0x1745f8(0x1af)],'pendingLocalConnections':_0x5afe5d[_0x1745f8(0x17a)]};_0x574bb9['trackPhaseEnd'](_0x1745f8(0x1bd),_0x59a466),(_0x5afe5d['type']==='tunnel_error'||_0x1ab9c0['gotDQ'](_0x5afe5d[_0x1745f8(0x15e)],_0x1ab9c0[_0x1745f8(0x1a8)]))&&void _0x574bb9['trackPhaseError'](_0x1ab9c0['Ekmtt'],new Error(_0x5afe5d[_0x1745f8(0x18d)]??_0x5afe5d[_0x1745f8(0x15e)]),_0x59a466);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x183a53=_0x53f6,_0x5d501e={'oiBab':function(_0x4166a1){return _0x4166a1();}},_0x33c584=await _0x5d501e[_0x183a53(0x173)](getToken);if(!_0x33c584)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0x33c584;}async function apiRequest(_0x17b39e,_0x33c30d={}){const _0x3f9204=_0x53f6,_0x404b54={'ufkHJ':function(_0x163c01){return _0x163c01();},'veOcX':function(_0x48c87e,_0x205552,_0x5b9008){return _0x48c87e(_0x205552,_0x5b9008);},'biFTh':'application/json','eGaYV':function(_0x241249,_0x187ad4){return _0x241249===_0x187ad4;},'GTWvI':_0x3f9204(0x1e1)},_0x2a98a3=await requireToken(),_0x3a8c9d=_0x404b54[_0x3f9204(0x1a0)](getApiBaseUrl),_0x4271f7=await _0x404b54[_0x3f9204(0x1a3)](fetch,''+_0x3a8c9d+_0x17b39e,{..._0x33c30d,'headers':{'Authorization':_0x3f9204(0x1ed)+_0x2a98a3,'Content-Type':_0x404b54[_0x3f9204(0x17d)],..._0x33c30d[_0x3f9204(0x1e8)]??{}}});if(!_0x4271f7['ok']){let _0x414968='',_0x44aba3;try{const _0x3974df=await _0x4271f7[_0x3f9204(0x155)](),_0x28059b=(_0x404b54['eGaYV'](typeof _0x3974df[_0x3f9204(0x18d)],_0x404b54['GTWvI'])?_0x3974df['error']:undefined)??JSON['stringify'](_0x3974df);_0x414968=_0x28059b;_0x404b54[_0x3f9204(0x144)](typeof _0x3974df['test_output'],_0x3f9204(0x1e1))&&_0x3974df[_0x3f9204(0x1e0)]&&(_0x414968=_0x414968+'\x0a'+_0x3974df['test_output']);if(typeof _0x3974df['code']===_0x404b54['GTWvI'])_0x44aba3=_0x3974df['code'];}catch{_0x414968=_0x4271f7[_0x3f9204(0x194)];}throw new ApiError(_0x3f9204(0x1eb)+_0x17b39e+_0x3f9204(0x16e)+_0x4271f7[_0x3f9204(0x1b5)]+_0x3f9204(0x1a9)+_0x414968,_0x4271f7['status'],_0x414968,_0x44aba3);}if(_0x404b54['eGaYV'](_0x4271f7['status'],0xcc))return undefined;return _0x4271f7[_0x3f9204(0x155)]();}export class ApiError extends Error{['status'];[_0x1d781f(0x171)];['code'];constructor(_0x5f301b,_0x2c54b6,_0x5993fa,_0xa1401e){const _0xb76022=_0x1d781f;super(_0x5f301b),this['status']=_0x2c54b6,this['detail']=_0x5993fa,this[_0xb76022(0x188)]=_0xa1401e,this['name']=_0xb76022(0x1a5);}}export async function fetchCloudProfile(_0x262da3){const _0x3c9083=_0x1d781f,_0x380303={'VYaNb':function(_0x4d6cf0,_0x1c1403){return _0x4d6cf0(_0x1c1403);},'DUwOa':function(_0x44f248,_0x5930b4){return _0x44f248===_0x5930b4;}};try{return await _0x380303[_0x3c9083(0x162)](apiRequest,_0x3c9083(0x16c)+_0x380303['VYaNb'](encodeURIComponent,_0x262da3));}catch(_0x409cc2){if(_0x409cc2 instanceof ApiError&&_0x380303[_0x3c9083(0x1a7)](_0x409cc2['status'],0x194))return null;throw _0x409cc2;}}export async function listCloudProfiles(){const _0x5a4c7e=_0x1d781f,_0x5bb9a1={'YxXxH':function(_0x768d3,_0x50ec58){return _0x768d3(_0x50ec58);},'jXeNB':_0x5a4c7e(0x14c)},_0x9d3f8d=await _0x5bb9a1[_0x5a4c7e(0x150)](apiRequest,_0x5bb9a1['jXeNB']);return _0x9d3f8d['profiles'];}export async function deleteCloudProfile(_0x33389a){const _0x1791ae=_0x1d781f,_0x4383cd={'uZELR':_0x1791ae(0x160)};try{await apiRequest(_0x1791ae(0x16c)+encodeURIComponent(_0x33389a),{'method':_0x4383cd['uZELR']});}catch(_0x56152e){if(_0x56152e instanceof ApiError&&_0x56152e[_0x1791ae(0x1b5)]===0x194)throw new Error('Cloud\x20profile\x20\x22'+_0x33389a+'\x22\x20not\x20found.');throw _0x56152e;}}export async function createCloudProfile(_0x4ab3ac,_0x16ab50,_0x46109a={}){const _0x53f791=_0x1d781f,_0x41bdaf={'APdWb':function(_0x3dfedc,_0x2b5dba){return _0x3dfedc>_0x2b5dba;},'JSleA':function(_0x9fbd28,_0xd7e8d5,_0x50dd07){return _0x9fbd28(_0xd7e8d5,_0x50dd07);},'dRvJu':'/api/v1/profiles','FsFTh':'POST'},_0x31c999={'name':_0x4ab3ac};if(_0x16ab50)_0x31c999['environment_key']=_0x16ab50;_0x46109a['settings']&&_0x41bdaf['APdWb'](Object['keys'](_0x46109a['settings'])['length'],0x0)&&(_0x31c999['settings']=_0x46109a['settings']);if(_0x46109a[_0x53f791(0x192)])_0x31c999[_0x53f791(0x192)]=_0x46109a[_0x53f791(0x192)];if(_0x46109a[_0x53f791(0x161)])_0x31c999['password']=_0x46109a[_0x53f791(0x161)];return await _0x41bdaf[_0x53f791(0x1d4)](apiRequest,_0x41bdaf['dRvJu'],{'method':_0x41bdaf['FsFTh'],'body':JSON['stringify'](_0x31c999)});}export async function uploadCloudProfileSession(_0xe06654,_0x1fb19e){const _0x396e88=_0x1d781f,_0x306f21={'uHkcu':'POST'};return await apiRequest(_0x396e88(0x16c)+encodeURIComponent(_0xe06654)+_0x396e88(0x1aa),{'method':_0x306f21['uHkcu'],'body':JSON['stringify']({'session_state':_0x1fb19e})});}export async function saveCloudProfileCredentials(_0x14d472,_0x4a66ff,_0xd36f1e){const _0x41791d=_0x1d781f,_0xaa949c={'GJkrA':function(_0x40b44a,_0x4a53b5,_0x52b3eb){return _0x40b44a(_0x4a53b5,_0x52b3eb);},'wkUxF':function(_0x592ed2,_0x45edae){return _0x592ed2(_0x45edae);}};await _0xaa949c[_0x41791d(0x1f1)](apiRequest,'/api/v1/profiles/'+_0xaa949c['wkUxF'](encodeURIComponent,_0x14d472),{'method':'PUT','body':JSON[_0x41791d(0x1c7)]({'username':_0x4a66ff,'password':_0xd36f1e})});}export async function fetchAuthConfig(){const _0x4bac30=_0x1d781f,_0x5495ec={'iZhKl':function(_0x3a868d,_0x3cbc2b){return _0x3a868d(_0x3cbc2b);},'nDOKk':_0x4bac30(0x16f)};try{const _0x197de3=await _0x5495ec[_0x4bac30(0x1f5)](apiRequest,_0x5495ec[_0x4bac30(0x1b6)]);return _0x197de3['auth_config'];}catch(_0x155ed2){return _0x155ed2 instanceof ApiError&&_0x155ed2['status']!==0x194&&console['error']('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x155ed2['message']),null;}}async function createTunnelSession(_0x3b3c38){const _0x42a490=_0x1d781f,_0x4eb766={'haYdq':function(_0x2c3fe5,_0x1417e0,_0x225fd5){return _0x2c3fe5(_0x1417e0,_0x225fd5);},'ZlrJW':_0x42a490(0x19b),'qucRV':_0x42a490(0x165)};return await _0x4eb766['haYdq'](apiRequest,'/api/v1/tunnel/sessions',{'method':_0x4eb766['ZlrJW'],'body':JSON['stringify']({'targetUrl':_0x3b3c38,'mode':_0x4eb766[_0x42a490(0x1d6)]})});}async function deleteTunnelSession(_0x26fd0b){const _0x5395f7=_0x1d781f,_0x514c75={'GNqzP':function(_0x31836d,_0x3fe1bb,_0x57d098){return _0x31836d(_0x3fe1bb,_0x57d098);},'rjMSj':_0x5395f7(0x160)};await _0x514c75['GNqzP'](apiRequest,'/api/v1/tunnel/sessions/'+_0x26fd0b,{'method':_0x514c75['rjMSj']});}export function pickAdHocEnvKey(_0x5b019b,_0x2d7b58,_0x2d040b){const _0x46d79b=_0x1d781f,_0x3807c8={'AQfaP':function(_0x59304b,_0x1b70a0,_0xed0c2a){return _0x59304b(_0x1b70a0,_0xed0c2a);},'oZKXx':function(_0x567c88,_0x33ca01){return _0x567c88 in _0x33ca01;},'KdDDW':'key','WhxAr':_0x46d79b(0x177),'LbtoU':function(_0x3bb988,_0x120bde){return _0x3bb988+_0x120bde;},'BqUBE':function(_0x2fbdf1,_0x41d130){return _0x2fbdf1+_0x41d130;},'ZNSla':function(_0x5431dd,_0x31a71b){return _0x5431dd===_0x31a71b;}};if(_0x2d040b){if(!_0x5b019b?.['environments']?.[_0x2d040b]){const _0xa09bff=Object['keys'](_0x5b019b?.[_0x46d79b(0x19d)]??{});throw new Error('Auth\x20environment\x20\x22'+_0x2d040b+_0x46d79b(0x191)+(_0xa09bff[_0x46d79b(0x172)]?_0x46d79b(0x167)+_0xa09bff[_0x46d79b(0x154)](',\x20')+'.':'\x20Your\x20org\x20has\x20no\x20auth\x20environments\x20configured.')+'\x20(If\x20you\x20meant\x20a\x20profile,\x20use\x20--profile.)');}return _0x2d040b;}if(!_0x5b019b)return null;if(_0x2d7b58){const _0x3c0b7c=matchAuthEnvironmentExact(_0x2d7b58,_0x5b019b);if(_0x3c0b7c)return _0x3c0b7c;const _0x1f21e5=_0x3807c8[_0x46d79b(0x1de)](matchAuthEnvironmentByHost,_0x2d7b58,_0x5b019b);if(_0x1f21e5&&_0x3807c8[_0x46d79b(0x17e)](_0x3807c8['KdDDW'],_0x1f21e5))return console[_0x46d79b(0x17b)](_0x46d79b(0x198)+_0x1f21e5['key']+'\x22\x20matched\x20by\x20host\x20for\x20'+_0x2d7b58+_0x46d79b(0x148)),_0x1f21e5[_0x46d79b(0x1bb)];if(_0x1f21e5&&_0x3807c8['WhxAr']in _0x1f21e5)throw new Error('Multiple\x20auth\x20environments\x20declare\x20this\x20host\x20('+_0x1f21e5[_0x46d79b(0x177)][_0x46d79b(0x154)](',\x20')+');\x20pass\x20--env\x20<key>\x20to\x20pick\x20one.');if(needsTunnel(_0x2d7b58))throw new Error(_0x3807c8[_0x46d79b(0x170)](_0x3807c8['LbtoU'](_0x3807c8['BqUBE'](_0x46d79b(0x1cb)+_0x2d7b58+'\x22.\x0a'+_0x46d79b(0x1e6)+'\x20\x20Options:\x0a',_0x46d79b(0x174)),'\x20\x20-\x20ask\x20your\x20Ranger\x20admin\x20to\x20add\x20\x22'+_0x2d7b58['replace'](/\/+$/,'')+_0x46d79b(0x1db)),'\x20\x20-\x20run\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20'+_0x2d7b58+_0x46d79b(0x1b9)));}if(_0x5b019b[_0x46d79b(0x1da)])return _0x5b019b[_0x46d79b(0x1da)];const _0x21d83b=Object[_0x46d79b(0x1ac)](_0x5b019b['environments']??{});if(_0x21d83b[_0x46d79b(0x172)]===0x1)return _0x21d83b[0x0];if(_0x3807c8[_0x46d79b(0x182)](_0x21d83b[_0x46d79b(0x172)],0x0))return null;throw new Error(_0x3807c8[_0x46d79b(0x170)](_0x46d79b(0x18c)+_0x21d83b[_0x46d79b(0x154)](',\x20')+_0x46d79b(0x190),'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(_0x14832a,_0x186770,_0x41dde4){if(!_0x186770||_0x186770===_0x41dde4)return _0x14832a;return _0x14832a+':'+_0x186770;}export async function resolveAdHocProfile(_0x5d0646={},_0x44fd44=process[_0x1d781f(0x15c)]){const _0x11e4eb=_0x1d781f,_0x28393f={'ZIPfw':function(_0xe7c870,_0x534b6d,_0x5d607b,_0x355031){return _0xe7c870(_0x534b6d,_0x5d607b,_0x355031);},'bHerL':function(_0x29f2e3,_0x442430){return _0x29f2e3&&_0x442430;},'EFIIh':_0x11e4eb(0x18f),'FWOdd':function(_0x1de3c3,_0x46b96d){return _0x1de3c3(_0x46b96d);},'WXolM':function(_0x3e0325,_0xaa16a0,_0x5d57c3,_0x7d8040){return _0x3e0325(_0xaa16a0,_0x5d57c3,_0x7d8040);},'JcfQC':function(_0x2f4ae6,_0x3af148){return _0x2f4ae6??_0x3af148;}},_0xb2c9ee=_0x44fd44['RANGER_TEST_USERNAME'];if(!_0xb2c9ee)return null;const _0x4df7a0=await fetchAuthConfig(),_0xa1b32c=pickAdHocEnvKey(_0x4df7a0,_0x5d0646[_0x11e4eb(0x1dd)],_0x5d0646['envKey']);let _0x40c84b=_0x28393f['ZIPfw'](adHocProfileName,_0xb2c9ee,_0xa1b32c,_0x4df7a0?.['defaultEnvironmentKey']),_0x3aea31=await fetchCloudProfile(_0x40c84b);_0x28393f['bHerL'](_0x3aea31,_0xa1b32c)&&_0x3aea31['environmentKey']!==_0xa1b32c&&(console['log']('\x20\x20Cloud\x20profile\x20\x22'+_0x40c84b+_0x11e4eb(0x1bc)+(_0x3aea31[_0x11e4eb(0x1a2)]??_0x28393f['EFIIh'])+'\x22\x20but\x20this\x20run\x20resolved\x20env\x20\x22'+_0xa1b32c+_0x11e4eb(0x1f3)+_0xb2c9ee+':'+_0xa1b32c+'\x22\x20instead.'),_0x40c84b=_0xb2c9ee+':'+_0xa1b32c,_0x3aea31=await _0x28393f[_0x11e4eb(0x13e)](fetchCloudProfile,_0x40c84b));if(_0x3aea31)return{'name':_0x3aea31['name'],'profile':_0x3aea31};const _0xf86019=_0x44fd44['RANGER_TEST_PASSWORD'],_0x251239=await _0x28393f[_0x11e4eb(0x1b3)](createCloudProfile,_0x40c84b,_0x28393f[_0x11e4eb(0x168)](_0xa1b32c,undefined),{'username':_0xb2c9ee,'password':_0xf86019});return console['log']('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x251239['name']+_0x11e4eb(0x18e)+_0xb2c9ee+(_0xa1b32c?_0x11e4eb(0x180)+_0xa1b32c+')':'')),{'name':_0x251239[_0x11e4eb(0x1d2)],'profile':_0x251239};}export async function writeSessionToLocalCache(_0x50459d,_0x205360,_0xd7d481,_0x2e2dbc,_0x261222,_0x3a866e,_0x21db0f){const _0x2c214a=_0x1d781f,_0x6061c7={'XHecC':function(_0x53c85c,_0x55edd1){return _0x53c85c(_0x55edd1);},'vwwmy':function(_0x307a81,_0x53ad32){return _0x307a81(_0x53ad32);},'CQGhq':function(_0x5f5586,_0x2c821e,_0x29ffae){return _0x5f5586(_0x2c821e,_0x29ffae);},'gxaYp':function(_0x1d5e6d,_0x1b767d,_0x2a954d){return _0x1d5e6d(_0x1b767d,_0x2a954d);}},_0x80572=_0x6061c7[_0x2c214a(0x19f)](sessionCacheHash,{'orgId':_0x205360,'profileName':_0x50459d,'effectiveBaseUrl':_0xd7d481,'setupHeaders':_0x2e2dbc,'invalidateOn':_0x21db0f?.['invalidateOn'],'userAgent':_0x21db0f?.[_0x2c214a(0x1d0)],'clientIp':_0x21db0f?.[_0x2c214a(0x1d3)]}),_0x25da66=getSessionCachePath(_0x80572,_0x50459d),_0x20e6ba=join(getRangerHomeDir(),_0x2c214a(0x15d));!_0x6061c7[_0x2c214a(0x15b)](existsSync,_0x20e6ba)&&await _0x6061c7[_0x2c214a(0x1ea)](mkdir,_0x20e6ba,{'recursive':!![]});const _0x1b61a5={..._0x261222};_0x3a866e&&_0x3a866e['length']>0x0&&Array[_0x2c214a(0x1bf)](_0x1b61a5['cookies'])&&(_0x1b61a5[_0x2c214a(0x1c1)]=_0x6061c7[_0x2c214a(0x1ab)](duplicateCookiesForDomains,_0x1b61a5[_0x2c214a(0x1c1)],_0x3a866e));const _0x3fe4c4={'cached_at':new Date()[_0x2c214a(0x181)](),'session_state':_0x1b61a5};await writeFile(_0x25da66,JSON[_0x2c214a(0x1c7)](_0x3fe4c4,null,0x2));const _0x164285=getStorageStatePath(_0x25da66);return await writeFile(_0x164285,JSON[_0x2c214a(0x1c7)](_0x1b61a5,null,0x2)),_0x164285;}export async function checkLocalCache(_0x5e6a7d,_0x23fb1c,_0x2f07e0,_0x130a12,_0x45fcf2){const _0x284888=_0x1d781f,_0x3d43b4={'YOaLW':function(_0x10571b,_0x46d580){return _0x10571b(_0x46d580);},'GfuSF':function(_0x3fa20c,_0x3d3717,_0x1aaf2f){return _0x3fa20c(_0x3d3717,_0x1aaf2f);}},_0x8f03a5=_0x3d43b4[_0x284888(0x156)](sessionCacheHash,{'orgId':_0x23fb1c,'profileName':_0x5e6a7d,'effectiveBaseUrl':_0x2f07e0,'setupHeaders':_0x130a12,'invalidateOn':_0x45fcf2?.['invalidateOn'],'userAgent':_0x45fcf2?.['userAgent'],'clientIp':_0x45fcf2?.[_0x284888(0x1d3)]}),_0x20213a=getSessionCachePath(_0x8f03a5,_0x5e6a7d),_0x528c4d=getStorageStatePath(_0x20213a);if(!existsSync(_0x20213a)||!_0x3d43b4['YOaLW'](existsSync,_0x528c4d))return null;try{const _0x2b390d=await _0x3d43b4['GfuSF'](readFile,_0x20213a,'utf-8');return JSON[_0x284888(0x196)](_0x2b390d),{'storageStatePath':_0x528c4d};}catch{return null;}}function launchRealBrowser(){const _0x249990=_0x1d781f;return chromium[_0x249990(0x18a)]({'headless':!![]});}function emitSessionValidationHint(_0x39f3ca,_0x4b2f6d){const _0x3011fc=_0x1d781f,_0x2a687c={'txclW':function(_0x5c7c07,_0xc28a20){return _0x5c7c07+_0xc28a20;}};if(!_0x4b2f6d||!_0x4b2f6d['domains']?.[_0x3011fc(0x172)])return;let _0x15b197;try{_0x15b197=new URL(_0x39f3ca);}catch{return;}const _0x4c054c=[];for(const _0x21c9db of _0x4b2f6d[_0x3011fc(0x1cf)]){try{_0x4c054c[_0x3011fc(0x187)]({'raw':_0x21c9db,'url':new URL(_0x21c9db)});}catch{}}if(_0x4c054c[_0x3011fc(0x172)]===0x0)return;if(_0x4c054c[_0x3011fc(0x1ce)](_0xcde98d=>_0xcde98d['url']['origin']===_0x15b197['origin']))return;const _0x518c33=_0x4c054c['map'](_0x2709ca=>'\x22'+_0x2709ca['raw']+'\x22')[_0x3011fc(0x154)](',\x20');console['log'](_0x2a687c['txclW'](_0x3011fc(0x140)+_0x518c33+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x39f3ca+_0x3011fc(0x17f)),'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.'));}export async function serverSideLogin(_0x34f08f,_0x3e7c14){const _0x1c4483=_0x1d781f,_0x699873={'VzQYl':function(_0x2931b6,_0x1391cf){return _0x2931b6(_0x1391cf);},'ZEVUM':function(_0x28e31b,_0x69fef0){return _0x28e31b instanceof _0x69fef0;},'Hppko':function(_0x4a2f25,_0x30d984){return _0x4a2f25===_0x30d984;},'hKbtF':_0x1c4483(0x19c)},_0x29ca52=process[_0x1c4483(0x15c)][_0x1c4483(0x147)],_0x42d718=process[_0x1c4483(0x15c)][_0x1c4483(0x189)],_0x462e08={};if(_0x29ca52)_0x462e08[_0x1c4483(0x192)]=_0x29ca52;if(_0x42d718)_0x462e08[_0x1c4483(0x161)]=_0x42d718;if(_0x3e7c14?.['force'])_0x462e08['force']=!![];if(_0x3e7c14?.['targetUrl'])_0x462e08[_0x1c4483(0x1e2)]=_0x3e7c14['targetUrl'];if(_0x3e7c14?.[_0x1c4483(0x15c)])_0x462e08[_0x1c4483(0x15c)]=_0x3e7c14[_0x1c4483(0x15c)];_0x3e7c14?.['tunnel']&&(_0x462e08[_0x1c4483(0x1dc)]=_0x3e7c14['tunnel']['sessionId'],_0x462e08[_0x1c4483(0x14e)]=_0x3e7c14['tunnel'][_0x1c4483(0x1ef)]);try{return await apiRequest('/api/v1/profiles/'+_0x699873['VzQYl'](encodeURIComponent,_0x34f08f)+_0x1c4483(0x14b),{'method':'POST','body':JSON[_0x1c4483(0x1c7)](_0x462e08)});}catch(_0x31cbb6){if(_0x699873[_0x1c4483(0x19e)](_0x31cbb6,ApiError)&&_0x699873['Hppko'](_0x31cbb6['status'],0x190)&&_0x699873['Hppko'](_0x31cbb6[_0x1c4483(0x188)],_0x1c4483(0x19c)))return{'status':_0x699873[_0x1c4483(0x1e3)],'error':_0x31cbb6['detail']};throw _0x31cbb6;}}async function serverSideLoginWithOptionalTunnel(_0x2d29c1,_0x190267,_0x2c09b3={}){const _0x363234=_0x1d781f,_0x147b8a={'GjvkA':function(_0x1c2a38,_0x18ea88){return _0x1c2a38(_0x18ea88);},'sCeSV':function(_0x414c2c,_0x33f360){return _0x414c2c(_0x33f360);},'ycOFI':'true','uTVmi':_0x363234(0x13f),'osDIV':_0x363234(0x164),'Dqrke':function(_0x8ee4f3,_0x330607){return _0x8ee4f3??_0x330607;},'PTIyM':'tunnel_login_cleanup'};if(!_0x147b8a[_0x363234(0x179)](needsTunnel,_0x190267))return await serverSideLogin(_0x2d29c1,{'force':_0x2c09b3[_0x363234(0x1be)],'env':_0x2c09b3['env']});let _0xe90f4=null,_0x1663f6=null,_0x22593c=null,_0x4622b0=null,_0xf5093e=![];const _0x48601d=process[_0x363234(0x15c)][_0x363234(0x185)]?.['toLowerCase'](),_0x6953e2=_0x48601d==='1'||_0x48601d===_0x147b8a['ycOFI'],_0x1938d5={'profileName':_0x2d29c1,'targetUrlHost':targetHostForTelemetry(_0x190267),'tunnelRequired':!![],'forceLogin':_0x147b8a['GjvkA'](Boolean,_0x2c09b3[_0x363234(0x1be)]),'localBrowserServerHeaded':_0x6953e2};try{_0x2c09b3[_0x363234(0x1df)]?.[_0x363234(0x1cc)](_0x147b8a['uTVmi'],_0x1938d5);_0x6953e2&&console['log'](_0x363234(0x1f0));_0xe90f4=await launchBrowserServer({'headless':!_0x6953e2}),_0x1663f6=await _0x147b8a['GjvkA'](createTunnelSession,_0x190267);const _0x5768eb=await requireToken();_0x22593c=await createTunnelBridge({'localWsUrl':_0xe90f4[_0x363234(0x16a)],'tunnelServerUrl':_0x1663f6['tunnelUrl'],'sessionId':_0x1663f6['sessionId'],'apiKey':_0x5768eb,'onError':_0x4a226a=>{_0x4622b0=_0x4a226a;},'onClose':()=>{const _0x57e32a=_0x363234;_0x4622b0??=new Error(_0x57e32a(0x146)+_0x2d29c1);},'onEvent':_0x511bbb=>trackBridgeEvent(_0x2c09b3[_0x363234(0x1df)],_0x511bbb)}),_0x2c09b3['telemetry']?.['trackPhaseEnd']('tunnel_login_setup',{..._0x1938d5,'tunnelSessionId':_0x1663f6['sessionId'],'localBrowserServer':!![],'localBrowserServerHeaded':_0x6953e2}),_0xf5093e=!![];try{return _0x2c09b3['telemetry']?.[_0x363234(0x1cc)](_0x147b8a['osDIV'],{..._0x1938d5,'tunnelSessionId':_0x1663f6['sessionId']}),await serverSideLogin(_0x2d29c1,{'force':_0x2c09b3['force'],'targetUrl':_0x190267,'env':_0x2c09b3[_0x363234(0x15c)],'tunnel':{'sessionId':_0x1663f6['sessionId'],'pwEndpoint':_0x1663f6['pwEndpoint']}})['then'](_0x53075d=>{const _0x1159dd=_0x363234;return _0x2c09b3['telemetry']?.[_0x1159dd(0x1c5)](_0x1159dd(0x164),{..._0x1938d5,'tunnelSessionId':_0x1663f6?.['sessionId'],'loginStatus':_0x53075d[_0x1159dd(0x1b5)],'hasSessionState':Boolean(_0x53075d['session_state']),'hasTestOutput':Boolean(_0x53075d['test_output']),'bridgeError':_0x147b8a[_0x1159dd(0x1a6)](errorMessageForTelemetry,_0x4622b0)}),_0x53075d;});}catch(_0x5b2338){await _0x2c09b3['telemetry']?.['trackPhaseError']('tunnel_login_request',_0x147b8a[_0x363234(0x18b)](_0x4622b0,_0x5b2338),{..._0x1938d5,'tunnelSessionId':_0x1663f6[_0x363234(0x184)],'bridgeError':errorMessageForTelemetry(_0x4622b0)});throw _0x4622b0??_0x5b2338;}}catch(_0x568040){!_0xf5093e&&await _0x2c09b3[_0x363234(0x1df)]?.['trackPhaseError'](_0x147b8a[_0x363234(0x159)],_0x568040,{..._0x1938d5,'tunnelSessionId':_0x1663f6?.['sessionId']});throw _0x568040;}finally{(_0x1663f6||_0xe90f4||_0x22593c)&&(_0x2c09b3[_0x363234(0x1df)]?.['trackPhaseStart']('tunnel_login_cleanup',{..._0x1938d5,'tunnelSessionId':_0x1663f6?.['sessionId']}),_0x22593c?.['close'](),_0xe90f4&&await _0xe90f4['close']()['catch'](()=>{}),_0x1663f6&&await deleteTunnelSession(_0x1663f6['sessionId'])[_0x363234(0x197)](()=>{}),_0x2c09b3[_0x363234(0x1df)]?.['trackPhaseEnd'](_0x147b8a['PTIyM'],{..._0x1938d5,'tunnelSessionId':_0x1663f6?.[_0x363234(0x184)]}));}}export async function manualBrowserLogin(_0x5abc95,_0x3fde56,_0xe9617f={}){const _0x1bf007=_0x1d781f,_0x39fc27={'nTVuf':function(_0x920bf6,_0x2a581c){return _0x920bf6/_0x2a581c;},'ASivG':'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','gUmfW':function(_0x5b90f6,_0x481a18){return _0x5b90f6>_0x481a18;},'ajbyp':_0x1bf007(0x152),'fQHoO':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','vVuEF':_0x1bf007(0x1d1),'PlPKd':function(_0xee199d,_0x598ee9){return _0xee199d!==_0x598ee9;}};if(!isInteractive())throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x5abc95['name']+'\x22.\x0a'+'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20'+_0x39fc27['ASivG']);const _0x4d1d2c=_0x3fde56&&_0x39fc27['gUmfW'](_0x3fde56['domains']['length'],0x0)?_0x3fde56['domains'][0x0]:_0x39fc27['ajbyp'];console['log'](_0x39fc27[_0x1bf007(0x169)]),console[_0x1bf007(0x17b)]('\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0x34e6a2=>setTimeout(_0x34e6a2,0x7d0));const _0x21d2e0=await chromium[_0x1bf007(0x18a)]({'headless':![]});let _0x3e0f3f=null;try{const _0x517370={'ignoreHTTPSErrors':!![]};_0x3fde56?.['setupHeaders']&&(_0x517370['extraHTTPHeaders']=_0x3fde56[_0x1bf007(0x158)]);const _0x3f0666=await _0x21d2e0[_0x1bf007(0x199)](_0x517370);await addProfileSetupBanner(_0x3f0666);const _0x41c6ed=await _0x3f0666[_0x1bf007(0x14d)]();await _0x41c6ed['goto'](_0x4d1d2c);let _0x3b456=![];await new Promise(_0x330552=>{const _0x3465d2={'RoGxe':function(_0x1a2791,_0x3d9f0c){return _0x1a2791(_0x3d9f0c);}},_0x5a8887=setTimeout(()=>{const _0x359753=_0x53f6;_0x3b456=!![],console['error'](_0x359753(0x1c8)+_0x39fc27['nTVuf'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+_0x359753(0x176)),_0x330552();},MANUAL_LOGIN_TIMEOUT_MS);_0x41c6ed['on']('close',async()=>{const _0x1f2c06=_0x53f6;_0x3465d2['RoGxe'](clearTimeout,_0x5a8887);try{const _0x1b4212=await _0x3f0666[_0x1f2c06(0x183)]();_0x3e0f3f=_0x1b4212;}catch{}_0x330552();});});if(_0x3b456&&!_0x3e0f3f)throw new Error(_0x39fc27['vVuEF']);}finally{await _0x21d2e0[_0x1bf007(0x16b)]()['catch'](()=>{});}if(!_0x3e0f3f)throw new Error('Browser\x20closed\x20before\x20authentication\x20was\x20saved.');return _0x39fc27['PlPKd'](_0xe9617f[_0x1bf007(0x1c4)],![])&&await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x5abc95['name'])+'/session',{'method':'POST','body':JSON['stringify']({'session_state':_0x3e0f3f,'updated_by':_0x1bf007(0x1b2)})}),{'sessionState':_0x3e0f3f};}export async function promptSaveCredentials(_0x1d9230){const _0x94122c=_0x1d781f,_0x27ae69={'fGemu':function(_0x29eab6,_0x475647){return _0x29eab6||_0x475647;},'jXAdm':function(_0x4ec3af){return _0x4ec3af();},'OCeIt':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','hSevf':function(_0x56149b,_0x35a738,_0x45c38f){return _0x56149b(_0x35a738,_0x45c38f);},'fPYEJ':'\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.'},_0x595bbc=process['env'][_0x94122c(0x147)],_0xe8e8a9=process['env'][_0x94122c(0x189)];if(_0x27ae69[_0x94122c(0x1c3)](!_0x595bbc,!_0xe8e8a9))return;if(!_0x27ae69['jXAdm'](isInteractive))return;const {save:_0x3479c8}=await _0x39e237['prompt']([{'type':_0x94122c(0x193),'name':_0x94122c(0x1c6),'message':_0x27ae69['OCeIt'],'default':![]}]);if(!_0x3479c8)return;await _0x27ae69['hSevf'](apiRequest,_0x94122c(0x16c)+encodeURIComponent(_0x1d9230),{'method':'PUT','body':JSON['stringify']({'username':_0x595bbc,'password':_0xe8e8a9})}),console['log'](_0x27ae69[_0x94122c(0x1d5)]);}export async function resolveCloudProfileSession(_0x1229b2,_0x58b211={}){const _0x127313=_0x1d781f,_0x1fd28b={'WJebp':function(_0x1b972f,_0x403be3){return _0x1b972f===_0x403be3;},'rAutw':_0x127313(0x1e1),'qSyPV':function(_0x166e16,_0x3c337a){return _0x166e16(_0x3c337a);},'MVTVC':function(_0x3faa62,_0x379c5a,_0x5ba1ae){return _0x3faa62(_0x379c5a,_0x5ba1ae);},'sMGFS':function(_0x2448c5,_0x205d07,_0x294cad,_0x22c14d,_0x3b9c0d,_0x1a520c,_0x117e0a,_0x1c29d3){return _0x2448c5(_0x205d07,_0x294cad,_0x22c14d,_0x3b9c0d,_0x1a520c,_0x117e0a,_0x1c29d3);},'MPrsY':function(_0x1b8a73,_0x4340d0){return _0x1b8a73(_0x4340d0);},'bMKGO':function(_0x1aa872,_0x2c69c8){return _0x1aa872||_0x2c69c8;},'KOSrL':function(_0x4f3905,_0x1f51b4){return _0x4f3905||_0x1f51b4;},'bRIBh':function(_0x15b765,_0x15c5ae,_0x10cbc0,_0x8dd0eb){return _0x15b765(_0x15c5ae,_0x10cbc0,_0x8dd0eb);},'Mndoj':function(_0x3c7131,_0x4945ba){return _0x3c7131===_0x4945ba;},'RfWww':'\x20\x20Login\x20successful.\x20Session\x20cached.','ulked':'\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','XCIgq':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','ENioj':function(_0x213159,_0x27a1ef){return _0x213159(_0x27a1ef);},'JTqEH':function(_0x1d8bf2,_0x2e468b){return _0x1d8bf2&&_0x2e468b;},'YFtVj':function(_0x4e9594){return _0x4e9594();},'BfIWE':function(_0xd97cc5,_0x277bdd){return _0xd97cc5+_0x277bdd;},'AqyWh':function(_0x27c086,_0x387dd5){return _0x27c086+_0x387dd5;},'omwHV':function(_0x246213,_0x76c17d,_0x36303f){return _0x246213(_0x76c17d,_0x36303f);},'tFhex':function(_0x2ceaa9,_0x979928,_0x1faf0f,_0x495822){return _0x2ceaa9(_0x979928,_0x1faf0f,_0x495822);},'KlDyT':function(_0x4652a2,_0x4d178e,_0x4b7db0,_0x52fed1,_0x15fce8,_0x124224,_0x250f1a,_0x2f5ead){return _0x4652a2(_0x4d178e,_0x4b7db0,_0x52fed1,_0x15fce8,_0x124224,_0x250f1a,_0x2f5ead);}},_0x9ac1a7=_0x1229b2['settings']??{},_0x4b1891=await fetchAuthConfig(),_0x3a4e45=_0x4b1891?resolveAuthEnvironmentLocally(_0x4b1891,_0x58b211[_0x127313(0x1f2)]??_0x1229b2['environmentKey']):null,_0x14cb9c=_0x1fd28b[_0x127313(0x1d7)](typeof _0x3a4e45?.['loginInstructions'],_0x1fd28b['rAutw'])&&_0x3a4e45[_0x127313(0x163)]['trim']()?_0x3a4e45['loginInstructions']:undefined,_0x4a0a21=_0x1fd28b['WJebp'](typeof _0x9ac1a7[_0x127313(0x163)],'string')&&_0x9ac1a7['loginInstructions']['trim']()?_0x9ac1a7[_0x127313(0x163)]:undefined,_0x10a609=_0x4a0a21||!_0x14cb9c?_0x9ac1a7:{..._0x9ac1a7,'loginInstructions':_0x14cb9c},_0x5ac4b0=_0x1fd28b['qSyPV'](Boolean,_0x10a609['loginInstructions']?.[_0x127313(0x1c9)]()),_0x3378b8=Boolean(_0x9ac1a7['forceLogin']||_0x3a4e45?.[_0x127313(0x141)]),_0x4fd11e=_0x3a4e45?.['domains'],_0xd482bf=_0x9ac1a7[_0x127313(0x158)],_0x5b2e44=_0xd482bf??_0x3a4e45?.['setupHeaders'],_0x7dbb5c=_0x58b211['effectiveBaseUrl']??_0x9ac1a7['baseUrl']??(_0x4fd11e&&_0x4fd11e['length']>0x0?_0x4fd11e[0x0]:''),_0x476432=_0x7dbb5c?needsTunnel(_0x7dbb5c):![],_0x58a19c={'invalidateOn':_0x3a4e45?.['invalidateOn'],'userAgent':_0x3a4e45?.['browserOptions']?.[_0x127313(0x1d0)]??_0x9ac1a7[_0x127313(0x1d0)]};_0x3378b8&&console[_0x127313(0x17b)](_0x127313(0x166)+_0x1229b2['name']+_0x127313(0x149));if(!_0x3378b8){const _0x46d326=await checkLocalCache(_0x1229b2['name'],_0x1229b2['organizationId'],_0x7dbb5c,_0x5b2e44,_0x58a19c);if(_0x46d326){if(_0x7dbb5c&&!_0x476432){const _0x4532ab=await isCachedSessionLive(_0x46d326[_0x127313(0x1e4)],_0x7dbb5c,{'sessionCheckPath':_0x3a4e45?.[_0x127313(0x1ae)],'setupHeaders':_0x5b2e44},{'launchBrowser':launchRealBrowser});if(_0x4532ab)return console['log']('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x1229b2['name']+'\x22'),{'authPath':_0x46d326['storageStatePath'],'settings':_0x10a609,'resolvedEnv':_0x3a4e45};console['log'](_0x127313(0x1a1)+_0x1229b2['name']+_0x127313(0x145)),_0x1fd28b[_0x127313(0x1b4)](emitSessionValidationHint,_0x7dbb5c,_0x3a4e45);}else return _0x476432&&console[_0x127313(0x17b)](_0x127313(0x15f)+_0x1229b2['name']+'\x22'),{'authPath':_0x46d326['storageStatePath'],'settings':_0x10a609,'resolvedEnv':_0x3a4e45};}}if(!_0x3378b8&&_0x1229b2[_0x127313(0x1ee)]){const _0x584322=await _0x1fd28b[_0x127313(0x17c)](writeSessionToLocalCache,_0x1229b2['name'],_0x1229b2[_0x127313(0x1e5)],_0x7dbb5c,_0x5b2e44,_0x1229b2['sessionState'],_0x4fd11e,_0x58a19c);if(_0x7dbb5c){const _0x396afe=await isCachedSessionLive(_0x584322,_0x7dbb5c,{'sessionCheckPath':_0x3a4e45?.['sessionCheckPath'],'setupHeaders':_0x5b2e44},{'launchBrowser':launchRealBrowser});if(_0x396afe)return console['log']('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x1229b2['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x584322,'settings':_0x10a609,'resolvedEnv':_0x3a4e45};console[_0x127313(0x17b)]('\x20\x20Cloud\x20session\x20for\x20\x22'+_0x1229b2[_0x127313(0x1d2)]+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x7dbb5c,_0x3a4e45);}else return{'authPath':_0x584322,'settings':_0x10a609,'resolvedEnv':_0x3a4e45};}if(_0x5ac4b0)return console[_0x127313(0x17b)](_0x127313(0x14a)+_0x1229b2['name']+_0x127313(0x153)),{'authPath':undefined,'settings':_0x10a609,'resolvedEnv':_0x3a4e45};console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x1229b2['name']+'\x22,\x20attempting\x20login...');const _0x21527b=Boolean(process[_0x127313(0x15c)][_0x127313(0x147)])&&_0x1fd28b[_0x127313(0x1cd)](Boolean,process['env'][_0x127313(0x189)]),_0x3c5e1f=Boolean(_0x1229b2['username']),_0x18e7fe=Boolean(_0x58b211[_0x127313(0x1f2)]),_0x211bf0=_0x7dbb5c?_0x1fd28b['MPrsY'](isBareLocalhost,_0x7dbb5c):![],_0x40196e=_0x1fd28b[_0x127313(0x1c0)](_0x21527b,_0x3c5e1f)&&_0x1fd28b[_0x127313(0x15a)](!_0x211bf0,_0x18e7fe);if(_0x40196e)try{const _0x550e39=_0x7dbb5c?await _0x1fd28b['bRIBh'](serverSideLoginWithOptionalTunnel,_0x1229b2['name'],_0x7dbb5c,{'force':_0x3378b8,'telemetry':_0x58b211['telemetry'],'env':_0x58b211['assertedEnv']}):await serverSideLogin(_0x1229b2[_0x127313(0x1d2)],{'force':_0x3378b8,'env':_0x58b211['assertedEnv']});if(_0x1fd28b['WJebp'](_0x550e39[_0x127313(0x1b5)],'not_configured'))console[_0x127313(0x17b)](_0x127313(0x1d8));else{if(_0x1fd28b[_0x127313(0x1d9)](_0x550e39['status'],'success')&&_0x550e39[_0x127313(0x178)]){console['log'](_0x1fd28b[_0x127313(0x175)]);const _0x5cfb83=await _0x1fd28b[_0x127313(0x17c)](writeSessionToLocalCache,_0x1229b2[_0x127313(0x1d2)],_0x1229b2['organizationId'],_0x7dbb5c,_0x5b2e44,_0x550e39[_0x127313(0x178)],_0x4fd11e,_0x58a19c);return _0x21527b&&!_0x3c5e1f&&await promptSaveCredentials(_0x1229b2['name']),{'authPath':_0x5cfb83,'settings':_0x10a609,'resolvedEnv':_0x3a4e45};}else _0x550e39[_0x127313(0x1e0)]&&(console['log'](_0x1fd28b['ulked']),console['log'](_0x550e39['test_output'])),console['log'](_0x1fd28b['XCIgq']);}}catch(_0x4d4a31){console['log'](_0x127313(0x14f)+(_0x4d4a31 instanceof Error?_0x4d4a31['message']:_0x1fd28b[_0x127313(0x1a4)](String,_0x4d4a31))),console['log'](_0x127313(0x1f4));}if(_0x1fd28b[_0x127313(0x16d)](_0x211bf0,!_0x18e7fe)&&!_0x1fd28b['YFtVj'](isInteractive))throw new Error(_0x1fd28b['BfIWE'](_0x1fd28b['AqyWh']('No\x20saved\x20session\x20for\x20\x22'+_0x7dbb5c+_0x127313(0x1e7)+_0x1229b2[_0x127313(0x1d2)]+_0x127313(0x1b7),'\x20\x20•\x20capture\x20one\x20(a\x20browser\x20opens):\x20ranger\x20profile\x20add\x20'+_0x1229b2['name']+'\x20--url\x20'+_0x7dbb5c+'\x0a'),_0x127313(0x186)));const _0x404e83=_0x3a4e45?{..._0x3a4e45,'domains':_0x1fd28b['omwHV'](orderLoginDomains,_0x7dbb5c,_0x3a4e45[_0x127313(0x1cf)]),'setupHeaders':_0x5b2e44}:_0x7dbb5c?{'key':_0x1229b2['environmentKey']??'','domains':[_0x7dbb5c],'setupHeaders':_0x5b2e44}:null,{sessionState:_0x2052e7}=await _0x1fd28b['tFhex'](manualBrowserLogin,_0x1229b2,_0x404e83,{'persistSessionState':!_0x476432}),_0xe2e0d3=await _0x1fd28b['KlDyT'](writeSessionToLocalCache,_0x1229b2['name'],_0x1229b2['organizationId'],_0x7dbb5c,_0x5b2e44,_0x2052e7,_0x4fd11e,_0x58a19c);return{'authPath':_0xe2e0d3,'settings':_0x10a609,'resolvedEnv':_0x3a4e45};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x45d5e8=_0x35ed;(function(_0x572acc,_0x3f1446){const _0x1db902=_0x35ed,_0x502f71=_0x572acc();while(!![]){try{const _0x3ee976=-parseInt(_0x1db902(0xca))/0x1+parseInt(_0x1db902(0xcc))/0x2*(-parseInt(_0x1db902(0xb7))/0x3)+parseInt(_0x1db902(0xcf))/0x4*(parseInt(_0x1db902(0xba))/0x5)+parseInt(_0x1db902(0xc2))/0x6*(parseInt(_0x1db902(0xbf))/0x7)+parseInt(_0x1db902(0xa5))/0x8*(parseInt(_0x1db902(0xcb))/0x9)+parseInt(_0x1db902(0xa8))/0xa*(parseInt(_0x1db902(0xc6))/0xb)+parseInt(_0x1db902(0xc4))/0xc*(-parseInt(_0x1db902(0x9c))/0xd);if(_0x3ee976===_0x3f1446)break;else _0x502f71['push'](_0x502f71['shift']());}catch(_0x20ea97){_0x502f71['push'](_0x502f71['shift']());}}}(_0xe5f3,0x996d1));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x2e2dc7=process[_0x45d5e8(0xae)],_0x5f10ef={'stdin':process[_0x45d5e8(0xab)],'stdout':process[_0x45d5e8(0xd0)]}){const _0x1a8a67=_0x45d5e8,_0x30facb={'mdPIw':function(_0x33bb62,_0x105d1b){return _0x33bb62(_0x105d1b);}};if(_0x2e2dc7['CI'])return![];return _0x30facb[_0x1a8a67(0x99)](Boolean,_0x5f10ef[_0x1a8a67(0xab)][_0x1a8a67(0xb0)])&&_0x30facb['mdPIw'](Boolean,_0x5f10ef['stdout']['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x4a17a0){const _0x24c284=_0x45d5e8,_0x551281={'wtETr':'baseUrl','jmXNC':'setupHeaders','onFeO':function(_0x1e2628,_0x341f09){return _0x1e2628(_0x341f09);},'zNDDM':'sha256','KTAnX':'hex'},_0x438630=new Set(_0x4a17a0['invalidateOn']??DEFAULT_INVALIDATE_ON);_0x4a17a0[_0x24c284(0xaf)]&&needsTunnel(_0x4a17a0['effectiveBaseUrl'])&&_0x438630['add'](_0x551281['wtETr']);const _0x44f6a3={'orgId':_0x4a17a0['orgId'],'profileName':_0x4a17a0['profileName']};return _0x438630['has'](_0x551281['wtETr'])&&(_0x44f6a3['effectiveBaseUrl']=_0x4a17a0['effectiveBaseUrl']),_0x438630[_0x24c284(0xc0)](_0x551281['jmXNC'])&&(_0x44f6a3[_0x24c284(0xbd)]=_0x4a17a0['setupHeaders']?_0x551281[_0x24c284(0xbc)](sortObjectKeys,_0x4a17a0['setupHeaders']):_0x4a17a0['setupHeaders']),_0x438630[_0x24c284(0xc0)]('port')&&(_0x44f6a3['port']=extractPort(_0x4a17a0[_0x24c284(0xaf)])),_0x438630[_0x24c284(0xc0)](_0x24c284(0xc8))&&_0x4a17a0['userAgent']!==undefined&&(_0x44f6a3[_0x24c284(0xc8)]=_0x4a17a0['userAgent']),_0x438630['has']('clientIp')&&_0x4a17a0[_0x24c284(0xcd)]!==undefined&&(_0x44f6a3['clientIp']=_0x4a17a0[_0x24c284(0xcd)]),_0x551281[_0x24c284(0xbc)](createHash,_0x551281[_0x24c284(0xa7)])['update'](JSON['stringify'](_0x44f6a3))[_0x24c284(0xad)](_0x551281['KTAnX'])[_0x24c284(0xce)](0x0,0xc);}function extractPort(_0x2f2703){const _0x2330d1=_0x45d5e8;try{return new URL(_0x2f2703)[_0x2330d1(0xb5)];}catch{return'';}}function sortObjectKeys(_0x2332d7){const _0x13a17c={};for(const _0x343aba of Object['keys'](_0x2332d7)['sort']()){_0x13a17c[_0x343aba]=_0x2332d7[_0x343aba];}return _0x13a17c;}export function getSessionCachePath(_0xa0939,_0x1b6357){const _0x30f656=_0x45d5e8,_0x4279c3={'RYsoJ':function(_0x3ca493){return _0x3ca493();}};return join(_0x4279c3['RYsoJ'](getRangerHomeDir),'auth',_0xa0939+'-'+_0x1b6357+_0x30f656(0xb2));}export function getStorageStatePath(_0x4e07ad){const _0x9fd440=_0x45d5e8;return _0x4e07ad[_0x9fd440(0x9e)](/\.json$/,'.storageState.json');}export function needsTunnel(_0x3a6d2e){const _0x541593=_0x45d5e8,_0xa867ae={'ENJWP':function(_0x1ba2b5,_0x1ac4a6){return _0x1ba2b5===_0x1ac4a6;},'YxaKr':_0x541593(0xac),'SKVnD':_0x541593(0xa6),'esqiM':_0x541593(0x96)};let _0x54a262;try{_0x54a262=new URL(_0x3a6d2e)['hostname'];}catch{return![];}if(_0xa867ae['ENJWP'](_0x54a262,_0xa867ae['YxaKr'])||_0x54a262===_0x541593(0xc5))return!![];if(_0x54a262[_0x541593(0x9a)](_0xa867ae['SKVnD']))return!![];if(_0x54a262['includes'](_0xa867ae[_0x541593(0x9f)]))return!![];return![];}export function isBareLocalhost(_0x3de227){const _0x5a8029=_0x45d5e8,_0x4cae6d={'BWDfB':function(_0x4d22b9,_0x182450){return _0x4d22b9===_0x182450;},'zHRwl':function(_0x41d1f1,_0x53f6c6){return _0x41d1f1===_0x53f6c6;},'Lmkjh':function(_0x41c60d,_0x872db4){return _0x41c60d===_0x872db4;},'aLHAT':function(_0x2f598d,_0x16f731){return _0x2f598d===_0x16f731;}};let _0x23643e;try{_0x23643e=new URL(_0x3de227)['hostname'];}catch{return![];}return _0x4cae6d[_0x5a8029(0xb3)](_0x23643e,'localhost')||_0x4cae6d[_0x5a8029(0xa1)](_0x23643e,_0x5a8029(0xc5))||_0x4cae6d[_0x5a8029(0xc3)](_0x23643e,'::1')||_0x4cae6d[_0x5a8029(0x97)](_0x23643e,'[::1]');}export function orderLoginDomains(_0x45ccd8,_0x1d3fa7){const _0x2bbf98=_0x45d5e8,_0x3b8eda=_0x1d3fa7??[];if(!_0x45ccd8)return _0x3b8eda;return[_0x45ccd8,..._0x3b8eda[_0x2bbf98(0xb9)](_0x212640=>_0x212640!==_0x45ccd8)];}function _0xe5f3(){const _0xebc23c=['pathname','port','startsWith','63qfAUZz','length','filter','1556970VDoajE','newContext','onFeO','setupHeaders','keys','329EwLIqx','has','status','78678gsRWnN','Lmkjh','43800Wwdhva','127.0.0.1','2735337leeWlI','environments','userAgent','cjrnu','448820GuArkh','118386yggKHD','76154YrQESL','clientIp','slice','4VsnYOU','stdout','localhost.','aLHAT','toString','mdPIw','endsWith','launchBrowser','26YLeWdE','add','replace','esqiM','XILBo','zHRwl','hLSVx','close','sessionCheckPath','128ihjfJK','.localhost','zNDDM','30sXybuN','QZbSb','defaultEnvironmentKey','stdin','localhost','digest','env','effectiveBaseUrl','isTTY','map','.json','BWDfB'];_0xe5f3=function(){return _0xebc23c;};return _0xe5f3();}export function hostnameOf(_0x13d9af){return new URL(_0x13d9af)['hostname'];}function _0x35ed(_0x1abdd7,_0x12fe0b){_0x1abdd7=_0x1abdd7-0x96;const _0xe5f3cf=_0xe5f3();let _0x35eda9=_0xe5f3cf[_0x1abdd7];return _0x35eda9;}export function duplicateCookiesForDomains(_0xa4da12,_0xa3d670){const _0x1d4d92=_0x45d5e8,_0x5646bb={'nnxxc':function(_0x1f0e0a,_0x4e509a){return _0x1f0e0a(_0x4e509a);}},_0x21e715=[..._0xa4da12],_0x2e4967=new Set(_0xa4da12[_0x1d4d92(0xb1)](_0x1951f8=>_0x1951f8['domain']));for(const _0x322966 of _0xa3d670){let _0xa1ea57;try{_0xa1ea57=_0x5646bb['nnxxc'](hostnameOf,_0x322966);}catch{continue;}if(!_0xa1ea57)continue;const _0x9fb470=_0xa1ea57[_0x1d4d92(0xb6)]('.')?_0xa1ea57:'.'+_0xa1ea57;if(_0x2e4967['has'](_0xa1ea57)||_0x2e4967[_0x1d4d92(0xc0)](_0x9fb470))continue;for(const _0x55243b of _0xa4da12){_0x21e715['push']({..._0x55243b,'domain':_0x9fb470});}_0x2e4967[_0x1d4d92(0x9d)](_0x9fb470);}return _0x21e715;}export function resolveAuthEnvironmentLocally(_0x346bd1,_0x50fcab){const _0x3f0717=_0x45d5e8,_0x215422=_0x346bd1[_0x3f0717(0xc7)];if(_0x50fcab){const _0x2f0783=_0x215422[_0x50fcab];if(!_0x2f0783)return null;return{'key':_0x50fcab,..._0x2f0783};}if(_0x346bd1['defaultEnvironmentKey']){const _0x24c72c=_0x215422[_0x346bd1[_0x3f0717(0xaa)]];if(!_0x24c72c)return null;return{'key':_0x346bd1['defaultEnvironmentKey'],..._0x24c72c};}const _0x56639a=Object[_0x3f0717(0xbe)](_0x215422);if(_0x56639a[_0x3f0717(0xb8)]===0x1){const _0xad2a64=_0x56639a[0x0];return{'key':_0xad2a64,..._0x215422[_0xad2a64]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x160805,_0x4311ee){const _0x23efc1=_0x45d5e8;try{if(_0x4311ee)return new URL(_0x4311ee,_0x160805)[_0x23efc1(0x98)]();return new URL(_0x160805)['toString']();}catch{return null;}}export function looksLikeLoginUrl(_0x24272a){const _0x189de2=_0x45d5e8;try{const _0xd53b9c=new URL(_0x24272a);return LOGIN_URL_PATTERN['test'](_0xd53b9c[_0x189de2(0xb4)]);}catch{return LOGIN_URL_PATTERN['test'](_0x24272a);}}export async function isCachedSessionLive(_0x50fd15,_0x31f101,_0x220f0e={},_0x375ca4={}){const _0x5714e8=_0x45d5e8,_0x2fa773={'QZbSb':function(_0xe0594b,_0x15c58a,_0x7a402a){return _0xe0594b(_0x15c58a,_0x7a402a);},'cjrnu':'domcontentloaded','XILBo':function(_0x3c86f1,_0x4b31a5){return _0x3c86f1===_0x4b31a5;},'hLSVx':function(_0x515c3d,_0x472e73){return _0x515c3d===_0x472e73;}},_0x49f576=_0x2fa773[_0x5714e8(0xa9)](buildSessionCheckUrl,_0x31f101,_0x220f0e[_0x5714e8(0xa4)]);if(!_0x49f576)return!![];if(!_0x375ca4[_0x5714e8(0x9b)])return!![];let _0x275f48=null;try{_0x275f48=await _0x375ca4[_0x5714e8(0x9b)]();const _0xec5239=await _0x275f48[_0x5714e8(0xbb)]({'storageState':_0x50fd15,'ignoreHTTPSErrors':!![],..._0x220f0e['setupHeaders']?{'extraHTTPHeaders':_0x220f0e[_0x5714e8(0xbd)]}:{}}),_0x42f158=await _0xec5239['newPage'](),_0x41a209=await _0x42f158['goto'](_0x49f576,{'waitUntil':_0x2fa773[_0x5714e8(0xc9)],'timeout':0x3a98}),_0x40fb53=_0x41a209?.[_0x5714e8(0xc1)]();if(_0x2fa773[_0x5714e8(0xa0)](_0x40fb53,0x191)||_0x2fa773[_0x5714e8(0xa2)](_0x40fb53,0x193))return![];const _0x1fd830=_0x42f158['url']();if(looksLikeLoginUrl(_0x1fd830))return![];return!![];}catch{return![];}finally{if(_0x275f48)await _0x275f48[_0x5714e8(0xa3)]()['catch'](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x2d74(_0x5cd15a,_0x1a9a18){_0x5cd15a=_0x5cd15a-0x15a;const _0x5a85ef=_0x5a85();let _0x2d746b=_0x5a85ef[_0x5cd15a];return _0x2d746b;}const _0x381d59=_0x2d74;(function(_0x380021,_0x2ca9cb){const _0x4bbcca=_0x2d74,_0x5e457b=_0x380021();while(!![]){try{const _0x30bffd=parseInt(_0x4bbcca(0x15e))/0x1+parseInt(_0x4bbcca(0x15a))/0x2*(-parseInt(_0x4bbcca(0x160))/0x3)+parseInt(_0x4bbcca(0x164))/0x4*(parseInt(_0x4bbcca(0x165))/0x5)+parseInt(_0x4bbcca(0x16a))/0x6+-parseInt(_0x4bbcca(0x166))/0x7+-parseInt(_0x4bbcca(0x167))/0x8*(parseInt(_0x4bbcca(0x15f))/0x9)+parseInt(_0x4bbcca(0x163))/0xa*(parseInt(_0x4bbcca(0x16c))/0xb);if(_0x30bffd===_0x2ca9cb)break;else _0x5e457b['push'](_0x5e457b['shift']());}catch(_0x584123){_0x5e457b['push'](_0x5e457b['shift']());}}}(_0x5a85,0x78313));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';function _0x5a85(){const _0x35f96c=['16304KNbBXe','concat','CJHTJ','2468502xJWfTn','getAuthTag','473fWVRQN','2ZNKfui','ranger-auth-encryption','update','sha256','296569XzpQZn','567wUrnnl','1365681nvektf','subarray','setAuthTag','86950RLYsGY','932OqtUNX','8435kPrkHM','2793098ytiFbP'];_0x5a85=function(){return _0x35f96c;};return _0x5a85();}const ALGORITHM='aes-256-gcm',SALT=_0x381d59(0x15b),KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0x3249ed){const _0x13ad18=_0x381d59;return pbkdf2Sync(_0x3249ed,SALT,0x186a0,KEY_LENGTH,_0x13ad18(0x15d));}export function encrypt(_0x3444c6,_0xc23749){const _0x37d8f2=_0x381d59,_0x6fad3b={'CJHTJ':function(_0x472613,_0x919df8){return _0x472613(_0x919df8);},'JmikE':function(_0x5aa7c8,_0x521da4,_0x10ade9,_0x4d08e4){return _0x5aa7c8(_0x521da4,_0x10ade9,_0x4d08e4);}},_0xc1b223=deriveKey(_0xc23749),_0x4ffb45=_0x6fad3b[_0x37d8f2(0x169)](randomBytes,IV_LENGTH),_0x296a42=_0x6fad3b['JmikE'](createCipheriv,ALGORITHM,_0xc1b223,_0x4ffb45),_0xdb87f4=Buffer['concat']([_0x296a42['update'](_0x3444c6,'utf8'),_0x296a42['final']()]),_0x2d499a=_0x296a42[_0x37d8f2(0x16b)]();return Buffer[_0x37d8f2(0x168)]([_0x4ffb45,_0x2d499a,_0xdb87f4]);}export function decrypt(_0x261852,_0x5138a1){const _0x2f03d9=_0x381d59,_0x2c0c38={'XVBYN':function(_0xda334d,_0x5c3504,_0x5d9a0f,_0x31c7c0){return _0xda334d(_0x5c3504,_0x5d9a0f,_0x31c7c0);}},_0x42f548=deriveKey(_0x5138a1),_0x53eb3e=_0x261852[_0x2f03d9(0x161)](0x0,IV_LENGTH),_0x4c2397=_0x261852['subarray'](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x2d0abd=_0x261852[_0x2f03d9(0x161)](IV_LENGTH+TAG_LENGTH),_0x1abe14=_0x2c0c38['XVBYN'](createDecipheriv,ALGORITHM,_0x42f548,_0x53eb3e);return _0x1abe14[_0x2f03d9(0x162)](_0x4c2397),_0x1abe14[_0x2f03d9(0x15c)](_0x2d0abd)+_0x1abe14['final']('utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x29f5c6=_0x2036;function _0x2036(_0x3d70a1,_0x4a6818){_0x3d70a1=_0x3d70a1-0x19f;const _0x4f555b=_0x4f55();let _0x2036da=_0x4f555b[_0x3d70a1];return _0x2036da;}(function(_0x50f3c3,_0x280b48){const _0x5233c0=_0x2036,_0x20c9a2=_0x50f3c3();while(!![]){try{const _0xca3e80=-parseInt(_0x5233c0(0x1bc))/0x1*(-parseInt(_0x5233c0(0x19f))/0x2)+parseInt(_0x5233c0(0x1a6))/0x3+-parseInt(_0x5233c0(0x1ce))/0x4*(-parseInt(_0x5233c0(0x1bd))/0x5)+parseInt(_0x5233c0(0x1cd))/0x6*(-parseInt(_0x5233c0(0x1a5))/0x7)+parseInt(_0x5233c0(0x1ba))/0x8*(parseInt(_0x5233c0(0x1c5))/0x9)+parseInt(_0x5233c0(0x1a7))/0xa+-parseInt(_0x5233c0(0x1af))/0xb*(parseInt(_0x5233c0(0x1c6))/0xc);if(_0xca3e80===_0x280b48)break;else _0x20c9a2['push'](_0x20c9a2['shift']());}catch(_0x53ee22){_0x20c9a2['push'](_0x20c9a2['shift']());}}}(_0x4f55,0x7fbf9));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x4f55(){const _0x41b7c2=['missing_required_argument','GDlmq','error','NNZKb','ABFlV','[desire-path]\x20Payload:\x20','push','split','16VTVXHo','[REDACTED]','2BdPZkA','70JsBnnp','--api-key','env','POST','runtime_error','invalid_option_value','unknown_command','slice','118809HMKFGu','106812wlylyd','knjHM','pruoE','isTTY','tHvaS','join','--key','61266TdZGts','27820Vtmjzf','Missing\x20required\x20argument','1032380DvXTFp','includes','--credentials','IsZxm','catch','sessionId','532zNvMIu','849888TFCCyY','4740140IKOZTG','rhCHE','application/json','--token','startsWith','has','unknown','stringify','759lxoGqW','rawCommand','--password'];_0x4f55=function(){return _0x41b7c2;};return _0x4f55();}import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set([_0x29f5c6(0x1aa),'-t','--secret',_0x29f5c6(0x1be),'--apikey',_0x29f5c6(0x1cc),_0x29f5c6(0x1b1),'--pass','--auth','--authorization','--header','--cookie',_0x29f5c6(0x1a1)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x17bbaf){return TOKEN_PATTERNS['some'](_0x311d30=>_0x311d30['test'](_0x17bbaf));}export function sanitizeArgs(_0x18762d){const _0x274149=_0x29f5c6,_0x440b56={'ABFlV':_0x274149(0x1bb),'knjHM':function(_0x4b2948,_0x463963){return _0x4b2948(_0x463963);}},_0x8d902=[];let _0x426b2f=![];for(let _0x5a2061=0x0;_0x5a2061<_0x18762d['length'];_0x5a2061++){const _0x7a37f3=_0x18762d[_0x5a2061];if(_0x426b2f){_0x8d902[_0x274149(0x1b8)](_0x440b56[_0x274149(0x1b6)]),_0x426b2f=![];continue;}if(_0x7a37f3[_0x274149(0x1ab)]('--')||_0x7a37f3[_0x274149(0x1ab)]('-')){const _0x8a5f15=_0x7a37f3['indexOf']('=');if(_0x8a5f15!==-0x1){const _0x12f861=_0x7a37f3['slice'](0x0,_0x8a5f15)['toLowerCase']();if(SENSITIVE_FLAGS['has'](_0x12f861)){_0x8d902['push'](_0x7a37f3[_0x274149(0x1c4)](0x0,_0x8a5f15)+'=[REDACTED]');continue;}}else{const _0x5ac13a=_0x7a37f3['toLowerCase']();SENSITIVE_FLAGS[_0x274149(0x1ac)](_0x5ac13a)&&(_0x426b2f=!![]);}_0x8d902[_0x274149(0x1b8)](_0x7a37f3);}else _0x440b56[_0x274149(0x1c7)](looksLikeToken,_0x7a37f3)?_0x8d902['push'](_0x440b56[_0x274149(0x1b6)]):_0x8d902['push'](_0x7a37f3);}return _0x8d902[_0x274149(0x1cb)]('\x20');}export async function logDesirePath(_0x328d18){const _0x51e2ca=_0x29f5c6,_0x51e1c4={'tHvaS':function(_0x7ead25){return _0x7ead25();},'VuNHE':'has_token','IsZxm':'no_token','NNZKb':_0x51e2ca(0x1a9),'XQNqD':'Authorization','ZaySm':function(_0x2283ad,_0x4a7d11,_0x405bc4){return _0x2283ad(_0x4a7d11,_0x405bc4);},'bEoAJ':_0x51e2ca(0x1c0)};try{const _0x300bda=await _0x51e1c4[_0x51e2ca(0x1ca)](getToken)[_0x51e2ca(0x1a3)](()=>null),_0x23fc6c=_0x51e1c4['tHvaS'](getApiBaseUrl),_0x57b079=getCurrentVersion(),_0x24ffd5=_0x300bda?_0x51e1c4['VuNHE']:_0x51e1c4[_0x51e2ca(0x1a2)],_0x32d69f={..._0x328d18['metadata'],'authStatus':_0x24ffd5,'isTty':process['stdout'][_0x51e2ca(0x1c9)]??![]},_0x38213a={'Content-Type':_0x51e1c4[_0x51e2ca(0x1b5)]};_0x300bda&&(_0x38213a[_0x51e1c4['XQNqD']]='Bearer\x20'+_0x300bda);const _0x5369cd={'rawCommand':_0x328d18[_0x51e2ca(0x1b0)],'errorMessage':_0x328d18['errorMessage'],'errorType':_0x328d18['errorType'],'featureId':_0x328d18['featureId'],'sessionId':_0x328d18[_0x51e2ca(0x1a4)],'metadata':_0x32d69f,'cliVersion':_0x57b079};process[_0x51e2ca(0x1bf)]['DEBUG']&&(console[_0x51e2ca(0x1b4)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x23fc6c+'/api/v1/mcp/desire-path-logs'),console['error'](_0x51e2ca(0x1b7)+JSON['stringify'](_0x5369cd,null,0x2))),await _0x51e1c4['ZaySm'](fetch,_0x23fc6c+'/api/v1/mcp/desire-path-logs',{'method':_0x51e1c4['bEoAJ'],'headers':_0x38213a,'body':JSON[_0x51e2ca(0x1ae)](_0x5369cd)});}catch(_0x5c5498){process[_0x51e2ca(0x1bf)]['DEBUG']&&console['error']('[desire-path]\x20Failed\x20to\x20send:\x20'+_0x5c5498);}}export function getErrorType(_0x7baf76,_0x379a70){const _0x11c6b3=_0x29f5c6,_0x579178={'rhCHE':'1|4|0|6|7|2|5|3','gNEff':'syntax_error','pruoE':'unknown_argument','cGRJk':'Not\x20enough\x20non-option\x20arguments','GDlmq':_0x11c6b3(0x1b2)},_0x381418=_0x579178[_0x11c6b3(0x1a8)][_0x11c6b3(0x1b9)]('|');let _0x4c82eb=0x0;while(!![]){switch(_0x381418[_0x4c82eb++]){case'0':if(_0x7baf76[_0x11c6b3(0x1a0)]('Unknown\x20command'))return _0x11c6b3(0x1c3);continue;case'1':if(_0x379a70)return _0x11c6b3(0x1c1);continue;case'2':if(_0x7baf76['includes']('Invalid\x20values'))return _0x11c6b3(0x1c2);continue;case'3':return _0x579178['gNEff'];case'4':if(!_0x7baf76)return _0x11c6b3(0x1ad);continue;case'5':if(_0x7baf76[_0x11c6b3(0x1a0)](_0x11c6b3(0x1cf)))return'missing_option';continue;case'6':if(_0x7baf76[_0x11c6b3(0x1a0)]('Unknown\x20argument'))return _0x579178[_0x11c6b3(0x1c8)];continue;case'7':if(_0x7baf76[_0x11c6b3(0x1a0)](_0x579178['cGRJk']))return _0x579178[_0x11c6b3(0x1b3)];continue;}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x20afed,_0x2201f9){const _0x30c8d1=_0x4c88,_0x2f1a25=_0x20afed();while(!![]){try{const _0x118961=-parseInt(_0x30c8d1(0x14f))/0x1+parseInt(_0x30c8d1(0x13c))/0x2+-parseInt(_0x30c8d1(0x13d))/0x3*(-parseInt(_0x30c8d1(0x120))/0x4)+parseInt(_0x30c8d1(0x13f))/0x5*(parseInt(_0x30c8d1(0x12e))/0x6)+parseInt(_0x30c8d1(0x144))/0x7*(parseInt(_0x30c8d1(0x133))/0x8)+-parseInt(_0x30c8d1(0x115))/0x9+-parseInt(_0x30c8d1(0x149))/0xa;if(_0x118961===_0x2201f9)break;else _0x2f1a25['push'](_0x2f1a25['shift']());}catch(_0x4e5431){_0x2f1a25['push'](_0x2f1a25['shift']());}}}(_0x1130,0xbcc3f));import{spawn}from'child_process';import _0x380f8c from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0x3f60ab){const _0x51e08c=_0x4c88,_0x47cf73={'TelWo':function(_0x14857c,_0x1486e7,_0x3211ed){return _0x14857c(_0x1486e7,_0x3211ed);}},_0xe00d1d=await _0x47cf73['TelWo'](fetch,WORKOS_DEVICE_AUTH_URL,{'method':'POST','headers':{'Content-Type':_0x51e08c(0x111)},'body':new URLSearchParams({'client_id':_0x3f60ab})});if(!_0xe00d1d['ok']){const _0xd6d6c1=await _0xe00d1d[_0x51e08c(0x14d)]();throw new Error(_0x51e08c(0x13b)+_0xe00d1d[_0x51e08c(0x14c)]+'\x20'+_0xd6d6c1);}return _0xe00d1d['json']();}export async function pollForTokens(_0x4ddd8d,_0x4d9eca,_0x55d66f,_0x5a91e6){const _0x1094c7=_0x4c88,_0x355c7d={'mQbNq':function(_0x21aa1d,_0x1cc808){return _0x21aa1d+_0x1cc808;},'cdpZb':function(_0x1c5b0f,_0x1699d){return _0x1c5b0f*_0x1699d;},'arGMt':function(_0xccf4e4,_0x1aa008){return _0xccf4e4(_0x1aa008);},'RDXCe':'application/x-www-form-urlencoded','qvRAR':function(_0x1f42b0,_0x5d9571){return _0x1f42b0===_0x5d9571;},'iximI':function(_0x3be95f,_0x47c8ad){return _0x3be95f===_0x47c8ad;},'uuqud':_0x1094c7(0x107),'bZOKB':_0x1094c7(0x13a)},_0x525589=_0x355c7d['mQbNq'](Date[_0x1094c7(0x12b)](),_0x355c7d[_0x1094c7(0x125)](_0x5a91e6,0x3e8));let _0x3ed9ac=_0x355c7d[_0x1094c7(0x125)](_0x55d66f,0x3e8);while(Date['now']()<_0x525589){await _0x355c7d['arGMt'](sleep,_0x3ed9ac);const _0x376ab0=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x355c7d[_0x1094c7(0x11e)]},'body':new URLSearchParams({'client_id':_0x4ddd8d,'device_code':_0x4d9eca,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x376ab0['ok'])return _0x376ab0[_0x1094c7(0x122)]();const _0x1a0ab6=await _0x376ab0[_0x1094c7(0x122)]();if(_0x355c7d[_0x1094c7(0x150)](_0x1a0ab6['error'],_0x1094c7(0x118)))continue;if(_0x355c7d[_0x1094c7(0x109)](_0x1a0ab6['error'],_0x355c7d['uuqud'])){_0x3ed9ac+=0x3e8;continue;}throw new Error(_0x1a0ab6['error_description']||_0x1a0ab6[_0x1094c7(0x143)]||_0x1094c7(0x134));}throw new Error(_0x355c7d[_0x1094c7(0x147)]);}function _0x4c88(_0x4eafe7,_0x35ff87){_0x4eafe7=_0x4eafe7-0x105;const _0x1130b9=_0x1130();let _0x4c88e8=_0x1130b9[_0x4eafe7];return _0x4c88e8;}async function fetchUserProfile(_0x4e0124){const _0x10557f=_0x4c88,_0x54c285={'mYxVO':_0x10557f(0x14a)},_0x109de7=getApiBaseUrl();try{const _0x2a0f11=await fetch(_0x109de7+'/organization/me',{'method':_0x54c285[_0x10557f(0x131)],'headers':{'workos-token':_0x4e0124}});if(_0x2a0f11['ok'])return _0x2a0f11['json']();}catch{}return null;}function buildKeyName(_0x5eaae8,_0x6e508b){const _0x35787b=_0x4c88,_0x24c1cd={'Nokvf':function(_0x3c6e50,_0x317809){return _0x3c6e50+_0x317809;}},_0x2519ff=_0x6e508b['filter'](_0x50618d=>_0x50618d[_0x35787b(0x148)]===_0x5eaae8||_0x50618d[_0x35787b(0x148)]['startsWith'](_0x5eaae8+'\x20('));if(_0x2519ff[_0x35787b(0x13e)]===0x0)return _0x5eaae8;return _0x5eaae8+'\x20('+_0x24c1cd[_0x35787b(0x141)](_0x2519ff[_0x35787b(0x13e)],0x1)+')';}function _0x1130(){const _0x3e4793=['POST','Nokvf','ignore','error','1904wMVjfB','WTPUM','refresh_token','bZOKB','name','8034750VzoRec','GET','Failed\x20to\x20provision\x20CLI\x20token:\x20','status','text','MgQEq','1368698uzjPDt','qvRAR','verification_uri_complete','log','FXKGB','slow_down','NemvW','iximI','Invalid\x20JWT\x20format','kmEIt','Provisioning\x20CLI\x20token...','stdout','Failed\x20to\x20create\x20organization:\x20','expires_in','xdg-open','application/x-www-form-urlencoded','list','organizationId','application/json','1007622HVPznu','base64url','token','authorization_pending','toString','split','device_code','stringify','utf-8','RDXCe','iLncK','36FhKCHb','BoVcX','json','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','XkkKs','cdpZb','apiKeys','HbdlF','bGNfS','/organization/my-memberships','bHBNS','now','stdin','VbdrP','18ksVYDN','access_token','/api-keys','mYxVO','tTaMR','39128nISWQJ','Authentication\x20failed','win32','XGyLK','Waiting\x20for\x20authentication...','write','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','Device\x20authorization\x20timed\x20out','Failed\x20to\x20request\x20device\x20code:\x20','624852mRQhbU','23313MPYKFX','length','2240995ZSUpFk'];_0x1130=function(){return _0x3e4793;};return _0x1130();}export async function provisionApiKey(_0x40f1df){const _0x20667b=_0x4c88,_0x1efd6b={'eCUcN':function(_0x4bb6a9){return _0x4bb6a9();},'iLncK':'application/json','FXKGB':function(_0x562c57,_0x1f3770){return _0x562c57(_0x1f3770);},'HbdlF':function(_0x271857,_0x1b2bc5,_0x1d68c9){return _0x271857(_0x1b2bc5,_0x1d68c9);}},_0x45a58b=_0x1efd6b['eCUcN'](getApiBaseUrl),_0x4c12ed={'Content-Type':_0x1efd6b[_0x20667b(0x11f)],'workos-token':_0x40f1df},_0x183ba1=await _0x1efd6b[_0x20667b(0x106)](fetchUserProfile,_0x40f1df),_0x1f71b9=_0x183ba1?.['firstName']||_0x183ba1?.['email']?.['split']('@')[0x0],_0x3dfb77=_0x1f71b9?_0x1f71b9+'\x27s\x20CLI\x20Key':'CLI\x20Key';let _0x1c335e=[];try{const _0x954cb=await _0x1efd6b['HbdlF'](fetch,_0x45a58b+'/api-keys',{'method':'GET','headers':_0x4c12ed});if(_0x954cb['ok']){const _0x3bbf1e=await _0x954cb[_0x20667b(0x122)]();_0x1c335e=_0x3bbf1e[_0x20667b(0x126)];}}catch{}const _0x1e3523=_0x1efd6b[_0x20667b(0x127)](buildKeyName,_0x3dfb77,_0x1c335e),_0x4b1a8c=await fetch(_0x45a58b+_0x20667b(0x130),{'method':'POST','headers':_0x4c12ed,'body':JSON[_0x20667b(0x11c)]({'name':_0x1e3523,'scope':'mcp:write'})});if(!_0x4b1a8c['ok']){const _0x908b7f=await _0x4b1a8c[_0x20667b(0x14d)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x4b1a8c['status']+'\x20'+_0x908b7f);}const _0x2d44ee=await _0x4b1a8c[_0x20667b(0x122)]();return _0x2d44ee['apiKey']['token'];}export function openBrowser(_0x5b19cd){const _0x18cfaf=_0x4c88,_0x299d65={'cjdfh':_0x18cfaf(0x135),'zfnCn':function(_0xe60c83,_0x85381d,_0x1a8ef4,_0x4365e2){return _0xe60c83(_0x85381d,_0x1a8ef4,_0x4365e2);},'OwJzX':_0x18cfaf(0x142)};try{if(process['platform']===_0x299d65['cjdfh']){const _0x39380e=_0x299d65['zfnCn'](spawn,'cmd',['/c','start','',_0x5b19cd],{'detached':!![],'stdio':_0x299d65['OwJzX'],'windowsHide':!![]});_0x39380e['unref']();return;}const _0x252021=process['platform']==='darwin'?'open':_0x18cfaf(0x110),_0x3cf149=spawn(_0x252021,[_0x5b19cd],{'detached':!![],'stdio':_0x299d65['OwJzX']});_0x3cf149['unref']();}catch{}}function decodeJwtPayload(_0x269a97){const _0x5df136=_0x4c88,_0x23c783={'sHHYx':_0x5df136(0x10a),'kmEIt':_0x5df136(0x116)},_0x1b1be2=_0x269a97[_0x5df136(0x11a)]('.');if(_0x1b1be2[_0x5df136(0x13e)]!==0x3)throw new Error(_0x23c783['sHHYx']);const _0x1b6ed2=Buffer['from'](_0x1b1be2[0x1],_0x23c783[_0x5df136(0x10b)])[_0x5df136(0x119)](_0x5df136(0x11d));return JSON['parse'](_0x1b6ed2);}async function selfServeSignup(_0x24d78b){const _0x3d5a73=_0x4c88,_0x27e52a={'NemvW':function(_0x488bc6){return _0x488bc6();},'PXfGT':function(_0x120c4f,_0x3c8002,_0x342381){return _0x120c4f(_0x3c8002,_0x342381);},'QeFST':_0x3d5a73(0x114)},_0xe47dbd=_0x27e52a[_0x3d5a73(0x108)](getApiBaseUrl),_0xb6001a=await _0x27e52a['PXfGT'](fetch,_0xe47dbd+'/organization/self-serve-signup',{'method':'POST','headers':{'Content-Type':_0x27e52a['QeFST'],'workos-token':_0x24d78b}});if(!_0xb6001a['ok']){const _0x5dfaab=await _0xb6001a[_0x3d5a73(0x14d)]();throw new Error(_0x3d5a73(0x10e)+_0xb6001a[_0x3d5a73(0x14c)]+'\x20'+_0x5dfaab);}return _0xb6001a[_0x3d5a73(0x122)]();}async function fetchMyMemberships(_0x33118d){const _0x178c3e=_0x4c88,_0x19b772={'EdfXd':function(_0x1e3fa0){return _0x1e3fa0();},'gHuCt':function(_0x1c7931,_0x207ba6,_0x29627b){return _0x1c7931(_0x207ba6,_0x29627b);}},_0x145cad=_0x19b772['EdfXd'](getApiBaseUrl),_0x14db75=await _0x19b772['gHuCt'](fetch,_0x145cad+_0x178c3e(0x129),{'method':'GET','headers':{'workos-token':_0x33118d}});if(!_0x14db75['ok']){const _0x2d0666=await _0x14db75['text']();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x14db75[_0x178c3e(0x14c)]+'\x20'+_0x2d0666);}const _0x400ee0=await _0x14db75['json']();return _0x400ee0['memberships'];}async function refreshTokenWithOrg(_0x5de801,_0x19e80f,_0x57650b){const _0x1ca0b0=_0x4c88,_0x591857={'WTPUM':_0x1ca0b0(0x140),'XkkKs':_0x1ca0b0(0x146)},_0x1d7b40=await fetch(WORKOS_TOKEN_URL,{'method':_0x591857[_0x1ca0b0(0x145)],'headers':{'Content-Type':_0x1ca0b0(0x111)},'body':new URLSearchParams({'client_id':_0x5de801,'grant_type':_0x591857[_0x1ca0b0(0x124)],'refresh_token':_0x19e80f,'organization_id':_0x57650b})});if(!_0x1d7b40['ok']){const _0x38bc1f=await _0x1d7b40['text']();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x1d7b40[_0x1ca0b0(0x14c)]+'\x20'+_0x38bc1f);}return _0x1d7b40['json']();}async function provisionCliToken(_0x470f31){const _0x528d7b=_0x4c88,_0x21ea36={'VbdrP':function(_0x5cca77){return _0x5cca77();},'woUnz':function(_0x139028,_0x2b1882,_0x4732f0){return _0x139028(_0x2b1882,_0x4732f0);},'IdQAp':_0x528d7b(0x140)},_0x229153=_0x21ea36[_0x528d7b(0x12d)](getApiBaseUrl),_0x1c8d22=await _0x21ea36['woUnz'](fetch,_0x229153+'/cli-auth/token',{'method':_0x21ea36['IdQAp'],'headers':{'Content-Type':'application/json','workos-token':_0x470f31}});if(!_0x1c8d22['ok']){const _0x9e452d=await _0x1c8d22['text']();throw new Error(_0x528d7b(0x14b)+_0x1c8d22['status']+'\x20'+_0x9e452d);}return _0x1c8d22['json']();}export async function runDeviceAuthFlow(){const _0x36467d=_0x4c88,_0x2e6cde={'oikJO':function(_0x116ee3){return _0x116ee3();},'xumls':function(_0x2cfc46,_0x16b8f6){return _0x2cfc46(_0x16b8f6);},'lBzhw':_0x36467d(0x139),'bHBNS':'Setting\x20up\x20your\x20organization...','nPlah':function(_0xed6544,_0x10984d){return _0xed6544+_0x10984d;},'MgQEq':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','BoVcX':_0x36467d(0x112),'tTaMR':function(_0x42881f,_0x3ec80,_0x26c873,_0x33596d){return _0x42881f(_0x3ec80,_0x26c873,_0x33596d);},'bGNfS':_0x36467d(0x10c),'XGyLK':function(_0x24c245,_0xe205c2){return _0x24c245(_0xe205c2);}},_0x2d3a82=_0x2e6cde['oikJO'](getCurrentEnvironment),_0x47542c=ENVIRONMENT_CONFIGS[_0x2d3a82]['workosClientId'],_0x2ec476=await _0x2e6cde['xumls'](requestDeviceCode,_0x47542c);console['log'](_0x2e6cde['lBzhw']),console[_0x36467d(0x105)]('\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a'),openBrowser(_0x2ec476[_0x36467d(0x151)]),console[_0x36467d(0x105)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x2ec476[_0x36467d(0x151)]),console[_0x36467d(0x105)]('Code:\x20'+_0x2ec476['user_code']+'\x0a'),process[_0x36467d(0x10d)]['write'](_0x36467d(0x137));let _0x1435ad=await pollForTokens(_0x47542c,_0x2ec476[_0x36467d(0x11b)],_0x2ec476['interval'],_0x2ec476[_0x36467d(0x10f)]);console['log']('\x20✓');const _0x3f1dcf=decodeJwtPayload(_0x1435ad['access_token']);if(!_0x3f1dcf['org_id']){const _0x29166e=await fetchMyMemberships(_0x1435ad['access_token']);let _0x2d7ce1;if(_0x29166e['length']===0x0){process[_0x36467d(0x10d)][_0x36467d(0x138)](_0x2e6cde[_0x36467d(0x12a)]);const _0x2b09ab=await selfServeSignup(_0x1435ad['access_token']);_0x2d7ce1=_0x2b09ab[_0x36467d(0x113)],console['log']('\x20✓');}else{if(_0x29166e[_0x36467d(0x13e)]===0x1)_0x2d7ce1=_0x29166e[0x0]['organizationId'],console['log']('Using\x20organization:\x20'+_0x29166e[0x0][_0x36467d(0x148)]);else{const _0x5cf4e1=process[_0x36467d(0x12c)]['isTTY']&&process['stdout']['isTTY'];if(!_0x5cf4e1)throw new Error(_0x2e6cde['nPlah'](_0x36467d(0x123),_0x2e6cde[_0x36467d(0x14e)]));const {selected:_0x1a2943}=await _0x380f8c['prompt']([{'type':_0x2e6cde[_0x36467d(0x121)],'name':'selected','message':'Select\x20an\x20organization:','choices':_0x29166e['map'](_0x23787b=>({'name':_0x23787b[_0x36467d(0x148)],'value':_0x23787b['organizationId']}))}]);_0x2d7ce1=_0x1a2943;}}_0x1435ad=await _0x2e6cde[_0x36467d(0x132)](refreshTokenWithOrg,_0x47542c,_0x1435ad[_0x36467d(0x146)],_0x2d7ce1);}process[_0x36467d(0x10d)]['write'](_0x2e6cde[_0x36467d(0x128)]);const _0xb0e6c9=await _0x2e6cde['xumls'](provisionCliToken,_0x1435ad[_0x36467d(0x12f)]);return console[_0x36467d(0x105)]('\x20✓'),await storeToken(_0xb0e6c9[_0x36467d(0x117)]),_0x1435ad[_0x36467d(0x146)]&&await _0x2e6cde[_0x36467d(0x136)](storeRefreshToken,_0x1435ad['refresh_token']),_0xb0e6c9['token'];}function sleep(_0x4d68e0){return new Promise(_0x1de97d=>setTimeout(_0x1de97d,_0x4d68e0));}
|
|
1
|
+
(function(_0x5184b2,_0x1d4542){const _0x2b5077=_0x556a,_0x15167a=_0x5184b2();while(!![]){try{const _0x2d60a2=-parseInt(_0x2b5077(0x1ad))/0x1*(-parseInt(_0x2b5077(0x1db))/0x2)+-parseInt(_0x2b5077(0x1ef))/0x3+-parseInt(_0x2b5077(0x1a9))/0x4*(-parseInt(_0x2b5077(0x1bf))/0x5)+parseInt(_0x2b5077(0x1e9))/0x6*(-parseInt(_0x2b5077(0x1c4))/0x7)+parseInt(_0x2b5077(0x1b6))/0x8+-parseInt(_0x2b5077(0x1ee))/0x9+parseInt(_0x2b5077(0x1ce))/0xa*(-parseInt(_0x2b5077(0x1c8))/0xb);if(_0x2d60a2===_0x1d4542)break;else _0x15167a['push'](_0x15167a['shift']());}catch(_0x289f07){_0x15167a['push'](_0x15167a['shift']());}}}(_0x5a6d,0xe3d8f));import{spawn}from'child_process';import _0x353cdf from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0x53e798){const _0x3f2798=_0x556a,_0x3180ab={'YWHDY':_0x3f2798(0x1dc),'PgOOl':_0x3f2798(0x1da)},_0x318f53=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x3180ab[_0x3f2798(0x1cb)],'headers':{'Content-Type':_0x3180ab['PgOOl']},'body':new URLSearchParams({'client_id':_0x53e798})});if(!_0x318f53['ok']){const _0xc0f501=await _0x318f53['text']();throw new Error(_0x3f2798(0x1f8)+_0x318f53['status']+'\x20'+_0xc0f501);}return _0x318f53['json']();}export async function pollForTokens(_0x2748a4,_0x112f78,_0xaa9609,_0x4c6cee){const _0xb92d27=_0x556a,_0x5048e8={'hICjP':function(_0x5d7aff,_0x570729){return _0x5d7aff*_0x570729;},'FstER':function(_0x932203,_0x102e6d){return _0x932203<_0x102e6d;},'IaIuy':_0xb92d27(0x1dc),'PIzIz':_0xb92d27(0x1eb),'SupsE':function(_0x4ae491,_0x1cf5c5){return _0x4ae491===_0x1cf5c5;},'Cxnyc':_0xb92d27(0x1be)},_0x4e0ef7=Date['now']()+_0x4c6cee*0x3e8;let _0x15aa96=_0x5048e8[_0xb92d27(0x1de)](_0xaa9609,0x3e8);while(_0x5048e8[_0xb92d27(0x1c1)](Date['now'](),_0x4e0ef7)){await sleep(_0x15aa96);const _0x28d774=await fetch(WORKOS_TOKEN_URL,{'method':_0x5048e8['IaIuy'],'headers':{'Content-Type':_0xb92d27(0x1da)},'body':new URLSearchParams({'client_id':_0x2748a4,'device_code':_0x112f78,'grant_type':_0x5048e8['PIzIz']})});if(_0x28d774['ok'])return _0x28d774['json']();const _0x36da73=await _0x28d774['json']();if(_0x5048e8['SupsE'](_0x36da73['error'],_0x5048e8['Cxnyc']))continue;if(_0x36da73[_0xb92d27(0x1d9)]===_0xb92d27(0x1e4)){_0x15aa96+=0x3e8;continue;}throw new Error(_0x36da73['error_description']||_0x36da73[_0xb92d27(0x1d9)]||'Authentication\x20failed');}throw new Error(_0xb92d27(0x1df));}async function fetchUserProfile(_0x27de9d){const _0x39aa39=_0x556a,_0x4ef4aa={'HQgAo':'GET'},_0x1670a5=getApiBaseUrl();try{const _0x3fd5f9=await fetch(_0x1670a5+_0x39aa39(0x1b1),{'method':_0x4ef4aa['HQgAo'],'headers':{'workos-token':_0x27de9d}});if(_0x3fd5f9['ok'])return _0x3fd5f9[_0x39aa39(0x1b0)]();}catch{}return null;}function buildKeyName(_0x5a4db2,_0x5d017e){const _0x2e0d5c=_0x556a,_0x43bfc1={'qDzJi':function(_0x3b0c64,_0x51907b){return _0x3b0c64===_0x51907b;},'hFAWY':function(_0x3f0862,_0x4403c6){return _0x3f0862+_0x4403c6;}},_0x592134=_0x5d017e[_0x2e0d5c(0x204)](_0x44e6a6=>_0x44e6a6[_0x2e0d5c(0x1f1)]===_0x5a4db2||_0x44e6a6[_0x2e0d5c(0x1f1)][_0x2e0d5c(0x1ff)](_0x5a4db2+'\x20('));if(_0x43bfc1['qDzJi'](_0x592134[_0x2e0d5c(0x1f0)],0x0))return _0x5a4db2;return _0x5a4db2+'\x20('+_0x43bfc1[_0x2e0d5c(0x1c0)](_0x592134['length'],0x1)+')';}export async function provisionApiKey(_0x219b5d){const _0x5e7fe9=_0x556a,_0x16726f={'RbGdU':function(_0x186972){return _0x186972();},'meUDA':'application/json','UeHvU':_0x5e7fe9(0x1ac),'WIMIr':function(_0x3c407,_0x710ffe,_0x124d20){return _0x3c407(_0x710ffe,_0x124d20);},'RDVgm':function(_0x12fb94,_0x1edb2d,_0x471ab3){return _0x12fb94(_0x1edb2d,_0x471ab3);},'wUPJA':'mcp:write'},_0x763885=_0x16726f[_0x5e7fe9(0x1c2)](getApiBaseUrl),_0x4908ad={'Content-Type':_0x16726f[_0x5e7fe9(0x1f5)],'workos-token':_0x219b5d},_0x347e0e=await fetchUserProfile(_0x219b5d),_0x50f929=_0x347e0e?.['firstName']||_0x347e0e?.[_0x5e7fe9(0x205)]?.[_0x5e7fe9(0x1b7)]('@')[0x0],_0x157df9=_0x50f929?_0x50f929+'\x27s\x20CLI\x20Key':_0x16726f[_0x5e7fe9(0x1ed)];let _0x53431f=[];try{const _0x444a73=await _0x16726f[_0x5e7fe9(0x1ab)](fetch,_0x763885+'/api-keys',{'method':_0x5e7fe9(0x1e2),'headers':_0x4908ad});if(_0x444a73['ok']){const _0x49555a=await _0x444a73[_0x5e7fe9(0x1b0)]();_0x53431f=_0x49555a['apiKeys'];}}catch{}const _0x51a4d4=_0x16726f[_0x5e7fe9(0x1d4)](buildKeyName,_0x157df9,_0x53431f),_0x3b3af8=await fetch(_0x763885+_0x5e7fe9(0x1ae),{'method':_0x5e7fe9(0x1dc),'headers':_0x4908ad,'body':JSON[_0x5e7fe9(0x1b5)]({'name':_0x51a4d4,'scope':_0x16726f[_0x5e7fe9(0x1c7)]})});if(!_0x3b3af8['ok']){const _0x5f4106=await _0x3b3af8[_0x5e7fe9(0x1cc)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x3b3af8['status']+'\x20'+_0x5f4106);}const _0x5b5a2d=await _0x3b3af8['json']();return _0x5b5a2d['apiKey']['token'];}export function openBrowser(_0x3b3052){const _0x5a7051=_0x556a,_0xab3db2={'BzmNa':function(_0x155641,_0x3874a3,_0x3a7271,_0x145c7d){return _0x155641(_0x3874a3,_0x3a7271,_0x145c7d);},'mRahH':_0x5a7051(0x1c9),'cVxLE':function(_0x402c8c,_0x1eaa21){return _0x402c8c===_0x1eaa21;},'gbhAF':_0x5a7051(0x1ea),'tZGrQ':_0x5a7051(0x1b9),'OVFYi':function(_0x5e371e,_0x5a8bb0,_0x2270aa,_0x41c256){return _0x5e371e(_0x5a8bb0,_0x2270aa,_0x41c256);}};try{if(process[_0x5a7051(0x1d0)]===_0x5a7051(0x1e0)){const _0x8f4787=_0xab3db2['BzmNa'](spawn,_0xab3db2['mRahH'],['/c','start','',_0x3b3052],{'detached':!![],'stdio':_0x5a7051(0x1a6),'windowsHide':!![]});_0x8f4787[_0x5a7051(0x1ec)]();return;}const _0x2fb14e=_0xab3db2['cVxLE'](process['platform'],_0xab3db2[_0x5a7051(0x1c6)])?_0xab3db2[_0x5a7051(0x1f9)]:'xdg-open',_0x2b78f4=_0xab3db2['OVFYi'](spawn,_0x2fb14e,[_0x3b3052],{'detached':!![],'stdio':'ignore'});_0x2b78f4['unref']();}catch{}}function decodeJwtPayload(_0x37a877){const _0x4e4415=_0x556a,_0x5efe36={'QyxZV':function(_0x2b997d,_0x2e814a){return _0x2b997d!==_0x2e814a;},'gAJvn':_0x4e4415(0x1b4),'KUZFu':_0x4e4415(0x1d1)},_0x3ca0fc=_0x37a877[_0x4e4415(0x1b7)]('.');if(_0x5efe36['QyxZV'](_0x3ca0fc['length'],0x3))throw new Error('Invalid\x20JWT\x20format');const _0x37f082=Buffer[_0x4e4415(0x1b8)](_0x3ca0fc[0x1],_0x5efe36[_0x4e4415(0x1d6)])[_0x4e4415(0x1c3)](_0x5efe36[_0x4e4415(0x1ca)]);return JSON[_0x4e4415(0x1a7)](_0x37f082);}async function selfServeSignup(_0x5c1777){const _0x526b71=_0x556a,_0x190f37={'ftvqv':'POST','kSKRw':'application/json'},_0x58c787=getApiBaseUrl(),_0x3afc01=await fetch(_0x58c787+'/organization/self-serve-signup',{'method':_0x190f37['ftvqv'],'headers':{'Content-Type':_0x190f37[_0x526b71(0x1cf)],'workos-token':_0x5c1777}});if(!_0x3afc01['ok']){const _0xdd6993=await _0x3afc01['text']();throw new Error(_0x526b71(0x1cd)+_0x3afc01['status']+'\x20'+_0xdd6993);}return _0x3afc01['json']();}async function fetchMyMemberships(_0x4da349){const _0xda54a1=_0x556a,_0xf30e44={'wZwuC':function(_0x55233b,_0x551828,_0x4dd743){return _0x55233b(_0x551828,_0x4dd743);},'bRIkS':'GET'},_0x5554e7=getApiBaseUrl(),_0x187eb2=await _0xf30e44['wZwuC'](fetch,_0x5554e7+_0xda54a1(0x1d8),{'method':_0xf30e44[_0xda54a1(0x1d7)],'headers':{'workos-token':_0x4da349}});if(!_0x187eb2['ok']){const _0x3cf1cd=await _0x187eb2[_0xda54a1(0x1cc)]();throw new Error(_0xda54a1(0x1aa)+_0x187eb2['status']+'\x20'+_0x3cf1cd);}const _0x350238=await _0x187eb2[_0xda54a1(0x1b0)]();return _0x350238['memberships'];}async function refreshTokenWithOrg(_0x775980,_0xcd108f,_0x12e190){const _0x473c80=_0x556a,_0x2d83fd={'HMezR':function(_0x59faab,_0x42acb1,_0x479aa3){return _0x59faab(_0x42acb1,_0x479aa3);},'GEzal':'POST','xPFrV':_0x473c80(0x1da)},_0x2b89a3=await _0x2d83fd[_0x473c80(0x1e5)](fetch,WORKOS_TOKEN_URL,{'method':_0x2d83fd['GEzal'],'headers':{'Content-Type':_0x2d83fd['xPFrV']},'body':new URLSearchParams({'client_id':_0x775980,'grant_type':_0x473c80(0x1f3),'refresh_token':_0xcd108f,'organization_id':_0x12e190})});if(!_0x2b89a3['ok']){const _0x2d3fe8=await _0x2b89a3[_0x473c80(0x1cc)]();throw new Error(_0x473c80(0x1dd)+_0x2b89a3['status']+'\x20'+_0x2d3fe8);}return _0x2b89a3['json']();}async function provisionCliToken(_0x5562f){const _0x2e9fad=_0x556a,_0x242480={'pXltC':function(_0x1de5e8,_0x532de7,_0x57627e){return _0x1de5e8(_0x532de7,_0x57627e);},'vIvIH':'application/json'},_0x4363da=getApiBaseUrl(),_0x269921=await _0x242480[_0x2e9fad(0x1bc)](fetch,_0x4363da+_0x2e9fad(0x1f4),{'method':'POST','headers':{'Content-Type':_0x242480['vIvIH'],'workos-token':_0x5562f}});if(!_0x269921['ok']){const _0x142562=await _0x269921[_0x2e9fad(0x1cc)]();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x269921[_0x2e9fad(0x1c5)]+'\x20'+_0x142562);}return _0x269921['json']();}function _0x556a(_0x44c9a9,_0x415973){_0x44c9a9=_0x44c9a9-0x1a5;const _0x5a6d95=_0x5a6d();let _0x556a86=_0x5a6d95[_0x44c9a9];return _0x556a86;}function _0x5a6d(){const _0x58827d=['name','log','refresh_token','/cli-auth/token','meUDA','verification_uri_complete','list','Failed\x20to\x20request\x20device\x20code:\x20','tZGrQ','PIoWL','write','HAHVz','HvSHE','access_token','startsWith','token','workosClientId','wXrxa','Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','filter','email','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','ignore','parse','XZEvg','4590980QaUgbm','Failed\x20to\x20fetch\x20memberships:\x20','WIMIr','CLI\x20Key','124XoxJLJ','/api-keys','Waiting\x20for\x20authentication...','json','/organization/me','prompt','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','base64url','stringify','9935160pKbtVU','split','from','open','kbzUj','stdout','pXltC','rUxOf','authorization_pending','5nNWXmp','hFAWY','FstER','RbGdU','toString','7tBvDQt','status','gbhAF','wUPJA','662497cqmJBo','cmd','KUZFu','YWHDY','text','Failed\x20to\x20create\x20organization:\x20','30oLxdmG','kSKRw','platform','utf-8','isTTY','map','RDVgm','device_code','gAJvn','bRIkS','/organization/my-memberships','error','application/x-www-form-urlencoded','24278tovnMT','POST','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','hICjP','Device\x20authorization\x20timed\x20out','win32','VMBjx','GET','interval','slow_down','HMezR','BrHTa','Setting\x20up\x20your\x20organization...','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','7263774zJaMvO','darwin','urn:ietf:params:oauth:grant-type:device_code','unref','UeHvU','13805181qxdNxh','109182glKzvo','length'];_0x5a6d=function(){return _0x58827d;};return _0x5a6d();}export async function runDeviceAuthFlow(){const _0x524fd8=_0x556a,_0x2c381f={'Nsxlo':function(_0x5b176d){return _0x5b176d();},'QMqsr':_0x524fd8(0x1a5),'rUxOf':_0x524fd8(0x1b3),'VMBjx':function(_0x3c6671,_0x3583aa){return _0x3c6671(_0x3583aa);},'FKNmS':function(_0x434b20,_0x1e2e79){return _0x434b20(_0x1e2e79);},'PIoWL':function(_0x4fbb72,_0x46a95b){return _0x4fbb72===_0x46a95b;},'HAHVz':_0x524fd8(0x1e7),'wXrxa':function(_0x4d6e42,_0x1aff6d){return _0x4d6e42+_0x1aff6d;},'kbzUj':_0x524fd8(0x203),'HvSHE':'selected','JGleM':'Select\x20an\x20organization:','BrHTa':function(_0x2310c5,_0x46cf59,_0x46eca8,_0xc9f164){return _0x2310c5(_0x46cf59,_0x46eca8,_0xc9f164);},'XZEvg':function(_0x4e33a6,_0x1944a5){return _0x4e33a6(_0x1944a5);}},_0x4ddee4=_0x2c381f['Nsxlo'](getCurrentEnvironment),_0x24910c=ENVIRONMENT_CONFIGS[_0x4ddee4][_0x524fd8(0x201)],_0x1252d7=await requestDeviceCode(_0x24910c);console['log'](_0x2c381f['QMqsr']),console[_0x524fd8(0x1f2)](_0x2c381f[_0x524fd8(0x1bd)]),openBrowser(_0x1252d7[_0x524fd8(0x1f6)]),console[_0x524fd8(0x1f2)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x1252d7['verification_uri_complete']),console[_0x524fd8(0x1f2)]('Code:\x20'+_0x1252d7['user_code']+'\x0a'),process[_0x524fd8(0x1bb)]['write'](_0x524fd8(0x1af));let _0x58d182=await pollForTokens(_0x24910c,_0x1252d7[_0x524fd8(0x1d5)],_0x1252d7[_0x524fd8(0x1e3)],_0x1252d7['expires_in']);console[_0x524fd8(0x1f2)]('\x20✓');const _0x4bc001=_0x2c381f[_0x524fd8(0x1e1)](decodeJwtPayload,_0x58d182[_0x524fd8(0x1fe)]);if(!_0x4bc001['org_id']){const _0xba0fb1=await _0x2c381f['FKNmS'](fetchMyMemberships,_0x58d182['access_token']);let _0x376c58;if(_0x2c381f[_0x524fd8(0x1fa)](_0xba0fb1[_0x524fd8(0x1f0)],0x0)){process['stdout'][_0x524fd8(0x1fb)](_0x2c381f[_0x524fd8(0x1fc)]);const _0x234755=await selfServeSignup(_0x58d182['access_token']);_0x376c58=_0x234755['organizationId'],console['log']('\x20✓');}else{if(_0xba0fb1['length']===0x1)_0x376c58=_0xba0fb1[0x0]['organizationId'],console[_0x524fd8(0x1f2)]('Using\x20organization:\x20'+_0xba0fb1[0x0][_0x524fd8(0x1f1)]);else{const _0xab199a=process['stdin'][_0x524fd8(0x1d2)]&&process['stdout'][_0x524fd8(0x1d2)];if(!_0xab199a)throw new Error(_0x2c381f[_0x524fd8(0x202)](_0x524fd8(0x1e8),_0x2c381f[_0x524fd8(0x1ba)]));const {selected:_0x9a126f}=await _0x353cdf[_0x524fd8(0x1b2)]([{'type':_0x524fd8(0x1f7),'name':_0x2c381f[_0x524fd8(0x1fd)],'message':_0x2c381f['JGleM'],'choices':_0xba0fb1[_0x524fd8(0x1d3)](_0x48d50d=>({'name':_0x48d50d['name'],'value':_0x48d50d['organizationId']}))}]);_0x376c58=_0x9a126f;}}_0x58d182=await _0x2c381f[_0x524fd8(0x1e6)](refreshTokenWithOrg,_0x24910c,_0x58d182['refresh_token'],_0x376c58);}process['stdout'][_0x524fd8(0x1fb)]('Provisioning\x20CLI\x20token...');const _0x5c9e49=await _0x2c381f[_0x524fd8(0x1e1)](provisionCliToken,_0x58d182['access_token']);return console['log']('\x20✓'),await _0x2c381f[_0x524fd8(0x1a8)](storeToken,_0x5c9e49[_0x524fd8(0x200)]),_0x58d182['refresh_token']&&await _0x2c381f['VMBjx'](storeRefreshToken,_0x58d182['refresh_token']),_0x5c9e49[_0x524fd8(0x200)];}function sleep(_0x1733bc){return new Promise(_0x3ceda6=>setTimeout(_0x3ceda6,_0x1733bc));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0xb8ce0e=_0x2bf8;(function(_0x367ec4,_0x1a5eca){const _0x35f82a=_0x2bf8,_0xbfdff6=_0x367ec4();while(!![]){try{const _0x4d49e7=-parseInt(_0x35f82a(0x122))/0x1*(parseInt(_0x35f82a(0x118))/0x2)+parseInt(_0x35f82a(0x123))/0x3*(-parseInt(_0x35f82a(0x130))/0x4)+-parseInt(_0x35f82a(0x114))/0x5*(-parseInt(_0x35f82a(0x10f))/0x6)+-parseInt(_0x35f82a(0x132))/0x7*(-parseInt(_0x35f82a(0x10d))/0x8)+parseInt(_0x35f82a(0x12f))/0x9+-parseInt(_0x35f82a(0x12c))/0xa+parseInt(_0x35f82a(0x11f))/0xb*(-parseInt(_0x35f82a(0x11a))/0xc);if(_0x4d49e7===_0x1a5eca)break;else _0xbfdff6['push'](_0xbfdff6['shift']());}catch(_0x4b600a){_0xbfdff6['push'](_0xbfdff6['shift']());}}}(_0x5310,0x97b34));export const DEFAULT_VERIFICATION_TRANSPORT='rangerwright-cli';export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':_0xb8ce0e(0x111),'aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':'https://mcp-auth.ranger.net/mcp'},'staging':{'apiBaseUrl':_0xb8ce0e(0x12d),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':'https://ai-proxy-301751771437.us-central1.run.app','mcpAuthUrl':'https://mcp-auth.staging.ranger.net/mcp'},'local':{'apiBaseUrl':_0xb8ce0e(0x11c),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':'http://localhost:8090','mcpAuthUrl':_0xb8ce0e(0x11b)}};export const DEFAULT_ENVIRONMENT='prod';export function isValidEnvironment(_0xa34f44){const _0x33d011=_0xb8ce0e;return _0xa34f44===_0x33d011(0x117)||_0xa34f44==='staging'||_0xa34f44==='local';}function _0x5310(){const _0x291f98=['nova-act-cli','736937SSgUOz','27qawKBS','env','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','playwright-cli','VIqCG','\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.','RANGER_HOOKS','RANGER_USE_NOVA_ACT','apiBaseUrl','7542180ePbuyb','https://api.staging.ranger.net','toLowerCase','8750457CXkMrX','87244zIuxYf','AuFBS','28xiqHZD','aiProxyUrl','trim','1629840jQVYEt','true','96KBAUkI','fjFRu','client_01J9CBYM7M5ZETCF7G6614DXR2','RANGER_DISABLE_MCP','RANGER_TRANSPORT','309695mkVPKg','[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22','NMDnh','prod','2esfaMl','xEweV','5632788EsWsgF','http://localhost:8080/mcp','http://localhost:8080','\x22.\x20','fnjQo','11RafVMD','HykHz'];_0x5310=function(){return _0x291f98;};return _0x5310();}function _0x2bf8(_0x59458e,_0x33968a){_0x59458e=_0x59458e-0x10c;const _0x531017=_0x5310();let _0x2bf8eb=_0x531017[_0x59458e];return _0x2bf8eb;}export function getCurrentEnvironment(){const _0xa94f3f=_0xb8ce0e,_0x555242={'VIqCG':function(_0x45d63a,_0x3d22a6){return _0x45d63a(_0x3d22a6);}},_0x10c591=process[_0xa94f3f(0x124)]['RANGER_CLI_ENV'];if(_0x10c591&&_0x555242[_0xa94f3f(0x127)](isValidEnvironment,_0x10c591))return _0x10c591;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x3e644c=_0xb8ce0e;return ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x3e644c(0x12b)];}export function getAiProxyUrl(){const _0x5b390d=_0xb8ce0e;return ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x5b390d(0x133)];}export function getMcpAuthUrl(){const _0x277dda={'UZEcC':function(_0x511674){return _0x511674();}};return process['env']['RANGER_MCP_AUTH_URL']??ENVIRONMENT_CONFIGS[_0x277dda['UZEcC'](getCurrentEnvironment)]['mcpAuthUrl'];}export function isByokEnabled(){const _0xf5f7bf=_0xb8ce0e,_0x120c95={'wHgqc':_0xf5f7bf(0x10e)};return process[_0xf5f7bf(0x124)]['RANGER_BYOK']===_0x120c95['wHgqc'];}function isVerificationTransport(_0x335e66){const _0x1312eb=_0xb8ce0e,_0x3d50b6={'fnjQo':'mcp','fjFRu':function(_0x1ef357,_0x21ccfc){return _0x1ef357===_0x21ccfc;},'ewXiD':_0x1312eb(0x121)};return _0x335e66===_0x3d50b6[_0x1312eb(0x11e)]||_0x335e66===_0x1312eb(0x126)||_0x3d50b6[_0x1312eb(0x110)](_0x335e66,_0x3d50b6['ewXiD'])||_0x335e66==='rangerwright-cli';}const LEGACY_TRANSPORT_ENV_VARS=[_0xb8ce0e(0x12a),_0xb8ce0e(0x112)];export function getVerificationTransport(){const _0x4e4f92=_0xb8ce0e,_0x472880={'NMDnh':function(_0x5efa77,_0x232d2b){return _0x5efa77(_0x232d2b);}},_0x20c049=process['env'][_0x4e4f92(0x113)]?.[_0x4e4f92(0x10c)]();if(_0x20c049){if(_0x472880[_0x4e4f92(0x116)](isVerificationTransport,_0x20c049))return _0x20c049;throw new Error('Invalid\x20RANGER_TRANSPORT=\x22'+_0x20c049+_0x4e4f92(0x128));}const _0x4e3661=LEGACY_TRANSPORT_ENV_VARS['find'](_0xf6a9ce=>process[_0x4e4f92(0x124)][_0xf6a9ce]);if(_0x4e3661)throw new Error(_0x4e3661+_0x4e4f92(0x125));return DEFAULT_VERIFICATION_TRANSPORT;}export function resolveHookMode(_0x20cbe2=process[_0xb8ce0e(0x124)]){const _0x68b020=_0xb8ce0e,_0x23e30d={'AuFBS':'auto','xEweV':function(_0x3611c6,_0x23b897){return _0x3611c6===_0x23b897;},'nhZJn':'off','HykHz':function(_0x32c2e4,_0x14894d){return _0x32c2e4===_0x14894d;}},_0x482856=_0x20cbe2['RANGER_HOOKS']?.['trim']()[_0x68b020(0x12e)]();if(!_0x482856)return _0x23e30d[_0x68b020(0x131)];if(_0x23e30d[_0x68b020(0x119)](_0x482856,_0x23e30d['nhZJn'])||_0x23e30d[_0x68b020(0x120)](_0x482856,'on')||_0x23e30d['xEweV'](_0x482856,_0x23e30d[_0x68b020(0x131)]))return _0x482856;return console['error'](_0x68b020(0x115)+_0x20cbe2[_0x68b020(0x129)]+_0x68b020(0x11d)+'Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.'),_0x23e30d['AuFBS'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3b2ba8,_0x3a37f6){const _0x11897b=_0x16b3,_0x434d38=_0x3b2ba8();while(!![]){try{const _0x3204aa=-parseInt(_0x11897b(0x1c2))/0x1*(-parseInt(_0x11897b(0x1de))/0x2)+parseInt(_0x11897b(0x1c8))/0x3+parseInt(_0x11897b(0x1f9))/0x4+-parseInt(_0x11897b(0x1d2))/0x5+-parseInt(_0x11897b(0x1bf))/0x6*(-parseInt(_0x11897b(0x1f2))/0x7)+parseInt(_0x11897b(0x1e0))/0x8*(parseInt(_0x11897b(0x1f7))/0x9)+parseInt(_0x11897b(0x1fc))/0xa*(-parseInt(_0x11897b(0x1c9))/0xb);if(_0x3204aa===_0x3a37f6)break;else _0x434d38['push'](_0x434d38['shift']());}catch(_0x1df9ad){_0x434d38['push'](_0x434d38['shift']());}}}(_0x2790,0xe95d0));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x3b2dfd){const _0x2d1258=_0x16b3,_0x26056a={'UFZXb':function(_0x3fb19f){return _0x3fb19f();},'mdgfD':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','Znhsk':function(_0x20c0a0){return _0x20c0a0();},'OvLpe':'POST','tVgwa':_0x2d1258(0x1d4)},_0x21173b=await _0x26056a['UFZXb'](getToken);if(!_0x21173b)throw new Error(_0x26056a[_0x2d1258(0x1e8)]);const _0x199dcc=_0x26056a['Znhsk'](getApiBaseUrl),_0x142442=await fetch(_0x199dcc+'/api/v1/mcp/features',{'method':_0x26056a[_0x2d1258(0x1e2)],'headers':{'Authorization':'Bearer\x20'+_0x21173b,'Content-Type':_0x2d1258(0x1e6)},'body':JSON['stringify'](_0x3b2dfd)});if(!_0x142442['ok']){if(_0x142442[_0x2d1258(0x1f1)]===0x192){const _0x23930b=await _0x142442['json'](),_0x31e0f9=_0x23930b[_0x2d1258(0x1e5)]||'https://dashboard.ranger.net/billing';throw new Error((_0x23930b[_0x2d1258(0x1ec)]||_0x26056a['tVgwa'])+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x31e0f9);}const _0x17cf9=await _0x142442['text']();throw new Error(_0x2d1258(0x1eb)+_0x17cf9);}return _0x142442[_0x2d1258(0x1ea)]();}function _0x16b3(_0x438e64,_0x18746e){_0x438e64=_0x438e64-0x1be;const _0x2790d3=_0x2790();let _0x16b3a3=_0x2790d3[_0x438e64];return _0x16b3a3;}export async function listFeatures(_0x3bd727){const _0x3d0b56=_0x16b3,_0x41c613={'ZjTjp':function(_0x2c7f34){return _0x2c7f34();},'lWXkt':function(_0x56deb3){return _0x56deb3();},'cMQMN':_0x3d0b56(0x1d3),'WvFOY':'gitBranch','XqmwF':'includeDeleted'},_0x51a6ff=await _0x41c613['ZjTjp'](getToken);if(!_0x51a6ff)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x859ca=_0x41c613[_0x3d0b56(0x1fa)](getApiBaseUrl),_0x425718=new URLSearchParams();if(_0x3bd727?.[_0x3d0b56(0x1d3)])_0x425718[_0x3d0b56(0x1d1)](_0x41c613[_0x3d0b56(0x200)],_0x3bd727['gitRepoUrl']);if(_0x3bd727?.['gitBranch'])_0x425718['set'](_0x41c613[_0x3d0b56(0x1fb)],_0x3bd727['gitBranch']);if(_0x3bd727?.['limit'])_0x425718[_0x3d0b56(0x1d1)]('limit',_0x3bd727['limit']['toString']());if(_0x3bd727?.[_0x3d0b56(0x1cd)])_0x425718['set']('offset',_0x3bd727[_0x3d0b56(0x1cd)][_0x3d0b56(0x1f3)]());if(_0x3bd727?.['includeDeleted'])_0x425718[_0x3d0b56(0x1d1)](_0x41c613[_0x3d0b56(0x1ff)],'true');const _0x96f309=_0x859ca+'/api/v1/mcp/features'+(_0x425718[_0x3d0b56(0x1f3)]()?'?'+_0x425718['toString']():''),_0x2a0fe6=await fetch(_0x96f309,{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x51a6ff}});if(!_0x2a0fe6['ok']){const _0x48de79=await _0x2a0fe6[_0x3d0b56(0x1e9)]();throw new Error(_0x3d0b56(0x1ce)+_0x48de79);}return _0x2a0fe6['json']();}export async function getFeature(_0xb7f8b2){const _0xaa69e3=_0x16b3,_0x499b79={'jDZQQ':_0xaa69e3(0x1f8),'iSXtM':function(_0x287122,_0x5b7e91,_0x118902){return _0x287122(_0x5b7e91,_0x118902);},'xlXIv':_0xaa69e3(0x1cf)},_0x535a0b=await getToken();if(!_0x535a0b)throw new Error(_0x499b79[_0xaa69e3(0x1cb)]);const _0x271c28=getApiBaseUrl(),_0x36b965=await _0x499b79['iSXtM'](fetch,_0x271c28+'/api/v1/mcp/features/'+_0xb7f8b2,{'method':_0x499b79['xlXIv'],'headers':{'Authorization':'Bearer\x20'+_0x535a0b}});if(!_0x36b965['ok']){const _0x62f89d=await _0x36b965['text']();throw new Error(_0xaa69e3(0x201)+_0x62f89d);}return _0x36b965['json']();}export async function updateFeature(_0x5bb4c5,_0x50591d){const _0x4c966c=_0x16b3,_0x264be3={'yBUWj':function(_0x596bca){return _0x596bca();}},_0x35bac0=await _0x264be3['yBUWj'](getToken);if(!_0x35bac0)throw new Error(_0x4c966c(0x1f8));const _0x54c872=getApiBaseUrl(),_0x308d85=await fetch(_0x54c872+_0x4c966c(0x203)+_0x5bb4c5,{'method':_0x4c966c(0x1fe),'headers':{'Authorization':'Bearer\x20'+_0x35bac0,'Content-Type':'application/json'},'body':JSON[_0x4c966c(0x1dd)](_0x50591d)});if(!_0x308d85['ok']){const _0x2213e9=await _0x308d85[_0x4c966c(0x1e9)]();throw new Error(_0x4c966c(0x1c5)+_0x2213e9);}return _0x308d85['json']();}export async function createChecklistItem(_0x581ecf,_0x12862b,_0x5d243f){const _0x465440=_0x16b3,_0x8af448={'aFHDo':function(_0x33388e){return _0x33388e();},'AqijT':'POST'},_0x4b5108=await getToken();if(!_0x4b5108)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3155a5=_0x8af448[_0x465440(0x1c7)](getApiBaseUrl),_0xa0b614=await fetch(_0x3155a5+_0x465440(0x203)+_0x581ecf+_0x465440(0x1fd),{'method':_0x8af448['AqijT'],'headers':{'Authorization':_0x465440(0x1cc)+_0x4b5108,'Content-Type':_0x465440(0x1e6)},'body':JSON[_0x465440(0x1dd)]({'description':_0x12862b,'position':_0x5d243f})});if(!_0xa0b614['ok']){const _0x32ec24=await _0xa0b614['text']();throw new Error(_0x465440(0x1c0)+_0x32ec24);}return _0xa0b614[_0x465440(0x1ea)]();}export async function updateChecklistItem(_0x1b4908,_0x307407,_0x51af50){const _0x2b10a6=_0x16b3,_0x29f69f={'dVXGp':function(_0x3c7d53,_0x3807ff,_0x4644f3){return _0x3c7d53(_0x3807ff,_0x4644f3);},'GAwWG':_0x2b10a6(0x1e6),'NJYVl':'updateChecklistItem'};return withRetry(async()=>{const _0x4e20e9=_0x2b10a6,_0x2086c4=await getToken();if(!_0x2086c4)throw new Error(_0x4e20e9(0x1f8));const _0x23a4a3=getApiBaseUrl(),_0x962278=await _0x29f69f[_0x4e20e9(0x1e3)](fetch,_0x23a4a3+'/api/v1/mcp/features/'+_0x1b4908+'/checklist/'+_0x307407,{'method':'PATCH','headers':{'Authorization':'Bearer\x20'+_0x2086c4,'Content-Type':_0x29f69f['GAwWG']},'body':JSON['stringify'](_0x51af50)});if(!_0x962278['ok']){const _0x5c3fe2=await _0x962278[_0x4e20e9(0x1e9)]();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x5c3fe2);}return _0x962278[_0x4e20e9(0x1ea)]();},{'label':_0x29f69f[_0x2b10a6(0x1d6)]});}export async function getFeatureReport(_0x1fdbcb){const _0x48fa87=_0x16b3,_0x74c5d5={'SCLzn':_0x48fa87(0x1f8),'aQwZa':function(_0x15a6cd){return _0x15a6cd();},'HjzKU':function(_0x365781,_0x53572b,_0x12d7c4){return _0x365781(_0x53572b,_0x12d7c4);}},_0xf8af11=await getToken();if(!_0xf8af11)throw new Error(_0x74c5d5['SCLzn']);const _0x43d626=_0x74c5d5[_0x48fa87(0x1f6)](getApiBaseUrl),_0x3d1873=await _0x74c5d5['HjzKU'](fetch,_0x43d626+_0x48fa87(0x203)+_0x1fdbcb+_0x48fa87(0x1d5),{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0xf8af11}});if(!_0x3d1873['ok']){const _0xbdae43=await _0x3d1873[_0x48fa87(0x1e9)]();throw new Error(_0x48fa87(0x1d9)+_0xbdae43);}return _0x3d1873['json']();}export async function getFeatureReportMarkdown(_0x2fea23,_0x4a7c6b){const _0x3492f1=_0x16b3,_0x2ec19a={'mIgcm':_0x3492f1(0x1dc),'NbYGn':_0x3492f1(0x1d7),'xlgTO':'style','ndUad':function(_0x4f42a2,_0x26ca83,_0x4582e9){return _0x4f42a2(_0x26ca83,_0x4582e9);},'yknBA':'GET'},_0x154edf=await getToken();if(!_0x154edf)throw new Error(_0x3492f1(0x1f8));const _0x463dad=getApiBaseUrl(),_0x4ccffa=new URLSearchParams(),_0x2b3548=(_0x4a7c6b?.[_0x3492f1(0x1dc)]?.[_0x3492f1(0x1ed)]??0x0)>0x0,_0x11b52f=Boolean(_0x4a7c6b?.[_0x3492f1(0x1d7)]);_0x2b3548&&_0x4a7c6b?.['itemIds']&&_0x4ccffa['set'](_0x2ec19a['mIgcm'],_0x4a7c6b[_0x3492f1(0x1dc)]['join'](','));_0x11b52f&&_0x4a7c6b?.[_0x3492f1(0x1d7)]&&_0x4ccffa['set'](_0x2ec19a['NbYGn'],_0x4a7c6b['sessionId']);!_0x2b3548&&!_0x11b52f&&_0x4a7c6b?.[_0x3492f1(0x1d8)]&&_0x4ccffa['set'](_0x2ec19a['xlgTO'],_0x4a7c6b[_0x3492f1(0x1d8)]);const _0x3c0298=_0x463dad+_0x3492f1(0x203)+_0x2fea23+_0x3492f1(0x1e7),_0x41cb7e=''+_0x3c0298+(_0x4ccffa['toString']()?'?'+_0x4ccffa[_0x3492f1(0x1f3)]():''),_0x2562d2=await _0x2ec19a[_0x3492f1(0x1be)](fetch,_0x41cb7e,{'method':_0x2ec19a['yknBA'],'headers':{'Authorization':_0x3492f1(0x1cc)+_0x154edf}});if(!_0x2562d2['ok']){const _0x5e869b=await _0x2562d2['text']();throw new Error(_0x3492f1(0x1c6)+_0x5e869b);}return _0x2562d2[_0x3492f1(0x1e9)]();}export async function listFeatureSessions(_0x3cbcff){const _0x3fcf0b=_0x16b3,_0x3c7154={'CXbkP':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','wjTwA':function(_0x381540,_0x41c200,_0x383e56){return _0x381540(_0x41c200,_0x383e56);},'qUMby':_0x3fcf0b(0x1cf)},_0x3c5087=await getToken();if(!_0x3c5087)throw new Error(_0x3c7154['CXbkP']);const _0x22ca55=getApiBaseUrl(),_0x2b5b42=await _0x3c7154['wjTwA'](fetch,_0x22ca55+'/api/v1/mcp/features/'+_0x3cbcff+_0x3fcf0b(0x1ca),{'method':_0x3c7154['qUMby'],'headers':{'Authorization':_0x3fcf0b(0x1cc)+_0x3c5087}});if(!_0x2b5b42['ok']){const _0x1895ff=await _0x2b5b42['text']();throw new Error(_0x3fcf0b(0x1c1)+_0x1895ff);}return _0x2b5b42['json']();}export async function startSession(_0x4ca254,_0x2a6734){const _0x54444e=_0x16b3,_0x206def={'TNiHU':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','DqMAd':function(_0x550f18){return _0x550f18();},'BMtPV':function(_0x3d2401,_0x37320b,_0x3f7f88){return _0x3d2401(_0x37320b,_0x3f7f88);}},_0x301e5f=await getToken();if(!_0x301e5f)throw new Error(_0x206def['TNiHU']);const _0x1b9799=_0x206def['DqMAd'](getApiBaseUrl),_0x3ada97=await _0x206def[_0x54444e(0x1db)](fetch,_0x1b9799+'/api/v1/mcp/features/'+_0x4ca254+_0x54444e(0x1d0)+_0x2a6734+_0x54444e(0x1ee),{'method':_0x54444e(0x1c4),'headers':{'Authorization':'Bearer\x20'+_0x301e5f}});if(!_0x3ada97['ok']){const _0xd418fc=await _0x3ada97['text']();throw new Error(_0x54444e(0x1f0)+_0xd418fc);}return _0x3ada97['json']();}export async function concludeSession(_0x47ede5,_0x10402b){const _0x4c1fa9=_0x16b3,_0x5bf624={'KjxFY':function(_0x220334){return _0x220334();},'plbHU':'POST'},_0x3f4e1f=await getToken();if(!_0x3f4e1f)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x574b37=_0x5bf624['KjxFY'](getApiBaseUrl),_0x329f93=await fetch(_0x574b37+_0x4c1fa9(0x203)+_0x47ede5+'/sessions/'+_0x10402b+'/conclude',{'method':_0x5bf624[_0x4c1fa9(0x1df)],'headers':{'Authorization':'Bearer\x20'+_0x3f4e1f}});if(!_0x329f93['ok']){const _0x31f312=await _0x329f93['text']();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x31f312);}return _0x329f93[_0x4c1fa9(0x1ea)]();}export async function getActionItems(_0x1378f0){const _0x4b48a4=_0x16b3,_0x476389={'CKwFb':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','ruKht':function(_0x4c2dc4){return _0x4c2dc4();},'vxMDn':'GET'},_0x212b61=await getToken();if(!_0x212b61)throw new Error(_0x476389['CKwFb']);const _0x428ac8=_0x476389[_0x4b48a4(0x202)](getApiBaseUrl),_0x10afd2=await fetch(_0x428ac8+_0x4b48a4(0x203)+_0x1378f0+'/action-items',{'method':_0x476389['vxMDn'],'headers':{'Authorization':'Bearer\x20'+_0x212b61}});if(!_0x10afd2['ok']){const _0x24f7d0=await _0x10afd2['text']();throw new Error('Failed\x20to\x20get\x20action\x20items:\x20'+_0x24f7d0);}return _0x10afd2[_0x4b48a4(0x1ea)]();}function _0x2790(){const _0x20ff48=['message','length','/start','Failed\x20to\x20delete\x20feature\x20review:\x20','Failed\x20to\x20start\x20session:\x20','status','546119yXPFCx','toString','/restore','msZuB','aQwZa','9MznIVC','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','2643992LnsaII','lWXkt','WvFOY','17065660DrOmLy','/checklist','PATCH','XqmwF','cMQMN','Failed\x20to\x20get\x20feature\x20review:\x20','ruKht','/api/v1/mcp/features/','ndUad','126QsHrYm','Failed\x20to\x20create\x20scenario:\x20','Failed\x20to\x20list\x20sessions:\x20','17477DaPOdo','Failed\x20to\x20restore\x20feature\x20review:\x20','POST','Failed\x20to\x20update\x20feature\x20review:\x20','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','aFHDo','880563QiTmga','22VrtcYg','/sessions','jDZQQ','Bearer\x20','offset','Failed\x20to\x20list\x20feature\x20reviews:\x20','GET','/sessions/','set','4381265nYKicq','gitRepoUrl','Feature\x20limit\x20exceeded','/report','NJYVl','sessionId','style','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','/feedback','BMtPV','itemIds','stringify','154OLOvqm','plbHU','10453088NiXxyc','AUjEM','OvLpe','dVXGp','irOuk','billingUrl','application/json','/report/markdown','mdgfD','text','json','Failed\x20to\x20create\x20feature\x20review:\x20'];_0x2790=function(){return _0x20ff48;};return _0x2790();}export async function getItemFeedback(_0x245983,_0x1ddd47){const _0x8306b4=_0x16b3,_0x5b63e7={'irOuk':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','nAZWc':function(_0x38f937){return _0x38f937();},'dzYPE':function(_0x5a3bfa,_0x11e93d,_0x1cb304){return _0x5a3bfa(_0x11e93d,_0x1cb304);}},_0x4369d0=await getToken();if(!_0x4369d0)throw new Error(_0x5b63e7[_0x8306b4(0x1e4)]);const _0xc921f5=_0x5b63e7['nAZWc'](getApiBaseUrl),_0x7c91e7=await _0x5b63e7['dzYPE'](fetch,_0xc921f5+_0x8306b4(0x203)+_0x245983+'/checklist-items/'+_0x1ddd47+_0x8306b4(0x1da),{'method':_0x8306b4(0x1cf),'headers':{'Authorization':'Bearer\x20'+_0x4369d0}});if(!_0x7c91e7['ok']){const _0x1eff2a=await _0x7c91e7['text']();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x1eff2a);}return _0x7c91e7['json']();}export async function markCommentsAddressed(_0x3808b1,_0x1c1616,_0x446fd7){const _0xb52f07=_0x16b3,_0x193e86={'uKSQn':function(_0x393de5){return _0x393de5();},'KdEuK':_0xb52f07(0x1f8),'msZuB':function(_0x227efe,_0x3ebac7,_0x351d9f){return _0x227efe(_0x3ebac7,_0x351d9f);}},_0x2e4a69=await _0x193e86['uKSQn'](getToken);if(!_0x2e4a69)throw new Error(_0x193e86['KdEuK']);const _0x37fc18=getApiBaseUrl(),_0x3a5fb9=await _0x193e86[_0xb52f07(0x1f5)](fetch,_0x37fc18+'/api/v1/mcp/features/'+_0x3808b1+'/comments/address',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x2e4a69,'Content-Type':'application/json'},'body':JSON[_0xb52f07(0x1dd)]({'checklistItemId':_0x1c1616,'commentIds':_0x446fd7})});if(!_0x3a5fb9['ok']){const _0x196487=await _0x3a5fb9[_0xb52f07(0x1e9)]();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x196487);}}export async function softDeleteFeature(_0xce716){const _0x52e54d=_0x16b3,_0x3eceac={'WNwrA':function(_0x30b492){return _0x30b492();},'AUjEM':function(_0x470c17,_0x3dec0a,_0x30c555){return _0x470c17(_0x3dec0a,_0x30c555);},'Qsymn':'DELETE'},_0x592152=await _0x3eceac['WNwrA'](getToken);if(!_0x592152)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3af8e3=getApiBaseUrl(),_0x355fb2=await _0x3eceac[_0x52e54d(0x1e1)](fetch,_0x3af8e3+'/api/v1/mcp/features/'+_0xce716,{'method':_0x3eceac['Qsymn'],'headers':{'Authorization':_0x52e54d(0x1cc)+_0x592152}});if(!_0x355fb2['ok']){const _0x107945=await _0x355fb2[_0x52e54d(0x1e9)]();throw new Error(_0x52e54d(0x1ef)+_0x107945);}}export async function restoreFeature(_0xbcab53){const _0x385538=_0x16b3,_0x31f49b={'XGwJt':function(_0x45e0a3){return _0x45e0a3();},'JgXnA':function(_0x169e4e,_0x1e4c13,_0x27a38f){return _0x169e4e(_0x1e4c13,_0x27a38f);},'jJmxp':'POST'},_0x9afdb1=await _0x31f49b['XGwJt'](getToken);if(!_0x9afdb1)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3f449c=getApiBaseUrl(),_0x4b94ac=await _0x31f49b['JgXnA'](fetch,_0x3f449c+'/api/v1/mcp/features/'+_0xbcab53+_0x385538(0x1f4),{'method':_0x31f49b['jJmxp'],'headers':{'Authorization':'Bearer\x20'+_0x9afdb1}});if(!_0x4b94ac['ok']){const _0x12cb7d=await _0x4b94ac['text']();throw new Error(_0x385538(0x1c3)+_0x12cb7d);}}
|
|
1
|
+
(function(_0x501424,_0x48ffc3){const _0x11535d=_0x27bb,_0x16f4e5=_0x501424();while(!![]){try{const _0x1cd7a3=parseInt(_0x11535d(0x134))/0x1+parseInt(_0x11535d(0x10c))/0x2*(-parseInt(_0x11535d(0x151))/0x3)+-parseInt(_0x11535d(0x10f))/0x4+parseInt(_0x11535d(0x140))/0x5*(-parseInt(_0x11535d(0x118))/0x6)+parseInt(_0x11535d(0x131))/0x7*(-parseInt(_0x11535d(0x114))/0x8)+-parseInt(_0x11535d(0x146))/0x9+parseInt(_0x11535d(0x12b))/0xa;if(_0x1cd7a3===_0x48ffc3)break;else _0x16f4e5['push'](_0x16f4e5['shift']());}catch(_0x5f2b0f){_0x16f4e5['push'](_0x16f4e5['shift']());}}}(_0x33a2,0x52e5e));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x30d88c){const _0x4cbdac=_0x27bb,_0x5781f4={'OMiAW':function(_0xb0b476){return _0xb0b476();},'sraYp':_0x4cbdac(0x110),'RMmBJ':'https://dashboard.ranger.net/billing','XTXrz':_0x4cbdac(0x129)},_0x4027fb=await getToken();if(!_0x4027fb)throw new Error(_0x4cbdac(0x13f));const _0x495940=_0x5781f4[_0x4cbdac(0x144)](getApiBaseUrl),_0x40728a=await fetch(_0x495940+'/api/v1/mcp/features',{'method':'POST','headers':{'Authorization':_0x4cbdac(0x147)+_0x4027fb,'Content-Type':_0x5781f4[_0x4cbdac(0x113)]},'body':JSON['stringify'](_0x30d88c)});if(!_0x40728a['ok']){if(_0x40728a[_0x4cbdac(0x14b)]===0x192){const _0x4250f7=await _0x40728a['json'](),_0x5f0e4b=_0x4250f7['billingUrl']||_0x5781f4[_0x4cbdac(0x117)];throw new Error((_0x4250f7['message']||_0x5781f4[_0x4cbdac(0x112)])+_0x4cbdac(0x148)+_0x5f0e4b);}const _0x263b2b=await _0x40728a['text']();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x263b2b);}return _0x40728a[_0x4cbdac(0x150)]();}export async function listFeatures(_0x167ae0){const _0x460dd9=_0x27bb,_0x405a33={'PQIMG':function(_0x4e67e5){return _0x4e67e5();},'nxuSI':_0x460dd9(0x130),'rCsyu':function(_0x401798,_0xf24b0e,_0x41450d){return _0x401798(_0xf24b0e,_0x41450d);},'zXMIe':_0x460dd9(0x14a)},_0x39721e=await _0x405a33[_0x460dd9(0x128)](getToken);if(!_0x39721e)throw new Error(_0x460dd9(0x13f));const _0x236699=getApiBaseUrl(),_0x352273=new URLSearchParams();if(_0x167ae0?.['gitRepoUrl'])_0x352273['set']('gitRepoUrl',_0x167ae0[_0x460dd9(0x116)]);if(_0x167ae0?.[_0x460dd9(0x130)])_0x352273[_0x460dd9(0x11a)](_0x405a33['nxuSI'],_0x167ae0['gitBranch']);if(_0x167ae0?.['limit'])_0x352273[_0x460dd9(0x11a)]('limit',_0x167ae0['limit'][_0x460dd9(0x132)]());if(_0x167ae0?.[_0x460dd9(0x139)])_0x352273[_0x460dd9(0x11a)]('offset',_0x167ae0[_0x460dd9(0x139)][_0x460dd9(0x132)]());if(_0x167ae0?.['includeDeleted'])_0x352273['set'](_0x460dd9(0x12c),'true');const _0x53c831=_0x236699+'/api/v1/mcp/features'+(_0x352273[_0x460dd9(0x132)]()?'?'+_0x352273['toString']():''),_0x215c79=await _0x405a33['rCsyu'](fetch,_0x53c831,{'method':_0x405a33['zXMIe'],'headers':{'Authorization':_0x460dd9(0x147)+_0x39721e}});if(!_0x215c79['ok']){const _0x3e6a71=await _0x215c79['text']();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x3e6a71);}return _0x215c79['json']();}export async function getFeature(_0x59c534){const _0xcde612=_0x27bb,_0x4ee986=await getToken();if(!_0x4ee986)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0xfa1fc4=getApiBaseUrl(),_0x56d2b1=await fetch(_0xfa1fc4+_0xcde612(0x13e)+_0x59c534,{'method':'GET','headers':{'Authorization':_0xcde612(0x147)+_0x4ee986}});if(!_0x56d2b1['ok']){const _0x38c7e6=await _0x56d2b1[_0xcde612(0x12d)]();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x38c7e6);}return _0x56d2b1['json']();}export async function updateFeature(_0x4fa3fb,_0x5086db){const _0x52edeb=_0x27bb,_0x31367b={'CNQgh':'application/json'},_0x416579=await getToken();if(!_0x416579)throw new Error(_0x52edeb(0x13f));const _0x27b8e3=getApiBaseUrl(),_0x14b8cc=await fetch(_0x27b8e3+_0x52edeb(0x13e)+_0x4fa3fb,{'method':'PATCH','headers':{'Authorization':'Bearer\x20'+_0x416579,'Content-Type':_0x31367b['CNQgh']},'body':JSON[_0x52edeb(0x126)](_0x5086db)});if(!_0x14b8cc['ok']){const _0x2f92de=await _0x14b8cc[_0x52edeb(0x12d)]();throw new Error(_0x52edeb(0x141)+_0x2f92de);}return _0x14b8cc['json']();}export async function createChecklistItem(_0x4e0a06,_0x245e67,_0x17de7f){const _0x422cac=_0x27bb,_0x2feada={'BPdLs':function(_0x2c1ed8){return _0x2c1ed8();},'NGWnZ':function(_0x4b7bb8){return _0x4b7bb8();},'pXhhb':function(_0x32c750,_0x1161b6,_0x4f9d9f){return _0x32c750(_0x1161b6,_0x4f9d9f);},'EMATh':_0x422cac(0x122),'lfOtT':_0x422cac(0x110)},_0x29fa9e=await _0x2feada['BPdLs'](getToken);if(!_0x29fa9e)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x221104=_0x2feada['NGWnZ'](getApiBaseUrl),_0x2b5310=await _0x2feada['pXhhb'](fetch,_0x221104+'/api/v1/mcp/features/'+_0x4e0a06+'/checklist',{'method':_0x2feada['EMATh'],'headers':{'Authorization':_0x422cac(0x147)+_0x29fa9e,'Content-Type':_0x2feada['lfOtT']},'body':JSON['stringify']({'description':_0x245e67,'position':_0x17de7f})});if(!_0x2b5310['ok']){const _0x2ea227=await _0x2b5310['text']();throw new Error(_0x422cac(0x11f)+_0x2ea227);}return _0x2b5310['json']();}export async function updateChecklistItem(_0x3d36ee,_0x43e4da,_0x5a518c){const _0x4b8884=_0x27bb,_0x729447={'KwlCd':function(_0x167060){return _0x167060();},'bScIa':_0x4b8884(0x13f),'zyGJB':function(_0x588e21,_0x460a1b,_0x51f317){return _0x588e21(_0x460a1b,_0x51f317);}};return _0x729447[_0x4b8884(0x13b)](withRetry,async()=>{const _0x3a06bb=_0x4b8884,_0x39007b=await _0x729447[_0x3a06bb(0x121)](getToken);if(!_0x39007b)throw new Error(_0x729447['bScIa']);const _0x41b2be=getApiBaseUrl(),_0x3867a9=await fetch(_0x41b2be+_0x3a06bb(0x13e)+_0x3d36ee+'/checklist/'+_0x43e4da,{'method':'PATCH','headers':{'Authorization':_0x3a06bb(0x147)+_0x39007b,'Content-Type':'application/json'},'body':JSON['stringify'](_0x5a518c)});if(!_0x3867a9['ok']){const _0x280bfb=await _0x3867a9['text']();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x280bfb);}return _0x3867a9[_0x3a06bb(0x150)]();},{'label':_0x4b8884(0x124)});}export async function getFeatureReport(_0x44c7d6){const _0x5fb1c3=_0x27bb,_0x1999f4={'BKkfk':function(_0x360705){return _0x360705();},'ZRnIP':function(_0x2ec7cb){return _0x2ec7cb();}},_0x183175=await _0x1999f4['BKkfk'](getToken);if(!_0x183175)throw new Error(_0x5fb1c3(0x13f));const _0x115a2f=_0x1999f4['ZRnIP'](getApiBaseUrl),_0xf9716c=await fetch(_0x115a2f+_0x5fb1c3(0x13e)+_0x44c7d6+_0x5fb1c3(0x120),{'method':_0x5fb1c3(0x14a),'headers':{'Authorization':_0x5fb1c3(0x147)+_0x183175}});if(!_0xf9716c['ok']){const _0x4f022d=await _0xf9716c['text']();throw new Error(_0x5fb1c3(0x14c)+_0x4f022d);}return _0xf9716c[_0x5fb1c3(0x150)]();}export async function getFeatureReportMarkdown(_0x10a4a7,_0x7f951){const _0x2d2a06=_0x27bb,_0x4b98fd={'luOGH':function(_0x5c6b3){return _0x5c6b3();},'wWyBX':_0x2d2a06(0x13f),'qRKOe':function(_0x295e1d){return _0x295e1d();},'VXYtm':function(_0x47696f,_0x1fc6f9){return _0x47696f>_0x1fc6f9;},'BNgxJ':function(_0x3ac548,_0x182138){return _0x3ac548(_0x182138);},'yUcpd':function(_0x1d215c,_0x285306){return _0x1d215c&&_0x285306;},'VsRNF':'style','wOqdg':function(_0x33b6ea,_0x4106df,_0x472ed1){return _0x33b6ea(_0x4106df,_0x472ed1);},'rFuHe':_0x2d2a06(0x14a)},_0x1c2e7d=await _0x4b98fd['luOGH'](getToken);if(!_0x1c2e7d)throw new Error(_0x4b98fd[_0x2d2a06(0x13a)]);const _0x3aa161=_0x4b98fd['qRKOe'](getApiBaseUrl),_0x1ed979=new URLSearchParams(),_0x588362=_0x4b98fd[_0x2d2a06(0x125)](_0x7f951?.['itemIds']?.['length']??0x0,0x0),_0x25c66b=_0x4b98fd['BNgxJ'](Boolean,_0x7f951?.[_0x2d2a06(0x136)]);_0x588362&&_0x7f951?.['itemIds']&&_0x1ed979['set']('itemIds',_0x7f951['itemIds'][_0x2d2a06(0x145)](','));_0x25c66b&&_0x7f951?.['sessionId']&&_0x1ed979['set']('sessionId',_0x7f951['sessionId']);_0x4b98fd[_0x2d2a06(0x13d)](!_0x588362,!_0x25c66b)&&_0x7f951?.[_0x2d2a06(0x135)]&&_0x1ed979['set'](_0x4b98fd['VsRNF'],_0x7f951['style']);const _0x26d7d4=_0x3aa161+_0x2d2a06(0x13e)+_0x10a4a7+_0x2d2a06(0x10e),_0x496c08=''+_0x26d7d4+(_0x1ed979[_0x2d2a06(0x132)]()?'?'+_0x1ed979[_0x2d2a06(0x132)]():''),_0x45e6b4=await _0x4b98fd['wOqdg'](fetch,_0x496c08,{'method':_0x4b98fd['rFuHe'],'headers':{'Authorization':'Bearer\x20'+_0x1c2e7d}});if(!_0x45e6b4['ok']){const _0x6e8502=await _0x45e6b4[_0x2d2a06(0x12d)]();throw new Error(_0x2d2a06(0x119)+_0x6e8502);}return _0x45e6b4['text']();}export async function listFeatureSessions(_0x2296d3){const _0x10fe05=_0x27bb,_0x43ae14={'DBPVh':function(_0x363185){return _0x363185();},'wEVdN':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','jfZQs':_0x10fe05(0x14a)},_0x2d90b8=await _0x43ae14[_0x10fe05(0x133)](getToken);if(!_0x2d90b8)throw new Error(_0x43ae14['wEVdN']);const _0x2133b4=getApiBaseUrl(),_0x33f5af=await fetch(_0x2133b4+_0x10fe05(0x13e)+_0x2296d3+'/sessions',{'method':_0x43ae14[_0x10fe05(0x12e)],'headers':{'Authorization':_0x10fe05(0x147)+_0x2d90b8}});if(!_0x33f5af['ok']){const _0x778ee9=await _0x33f5af[_0x10fe05(0x12d)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x778ee9);}return _0x33f5af[_0x10fe05(0x150)]();}export async function startSession(_0x2974d6,_0x74e7d8){const _0x4d23ef=_0x27bb,_0x2d5966={'HIWJE':function(_0x1aaa24){return _0x1aaa24();},'zOlcd':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','LAPyB':function(_0x45479e){return _0x45479e();},'SaGaC':_0x4d23ef(0x122)},_0x3e42c1=await _0x2d5966['HIWJE'](getToken);if(!_0x3e42c1)throw new Error(_0x2d5966['zOlcd']);const _0x1de4da=_0x2d5966[_0x4d23ef(0x138)](getApiBaseUrl),_0x8048=await fetch(_0x1de4da+_0x4d23ef(0x13e)+_0x2974d6+_0x4d23ef(0x11d)+_0x74e7d8+'/start',{'method':_0x2d5966[_0x4d23ef(0x127)],'headers':{'Authorization':'Bearer\x20'+_0x3e42c1}});if(!_0x8048['ok']){const _0x3cf07a=await _0x8048[_0x4d23ef(0x12d)]();throw new Error(_0x4d23ef(0x111)+_0x3cf07a);}return _0x8048['json']();}export async function concludeSession(_0x464770,_0x206e20){const _0x5bdfa2=_0x27bb,_0x54e85e={'nwLAL':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','PwZdV':function(_0x184184,_0x4f2a4b,_0x5c03c4){return _0x184184(_0x4f2a4b,_0x5c03c4);}},_0x2e7c4c=await getToken();if(!_0x2e7c4c)throw new Error(_0x54e85e['nwLAL']);const _0x3f847f=getApiBaseUrl(),_0x4d7485=await _0x54e85e['PwZdV'](fetch,_0x3f847f+_0x5bdfa2(0x13e)+_0x464770+'/sessions/'+_0x206e20+_0x5bdfa2(0x11b),{'method':_0x5bdfa2(0x122),'headers':{'Authorization':'Bearer\x20'+_0x2e7c4c}});if(!_0x4d7485['ok']){const _0x4aab9b=await _0x4d7485[_0x5bdfa2(0x12d)]();throw new Error(_0x5bdfa2(0x12f)+_0x4aab9b);}return _0x4d7485[_0x5bdfa2(0x150)]();}export async function getActionItems(_0x4cbe25){const _0x32273b=_0x27bb,_0x4291e0={'MEPiC':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','YGbeR':function(_0x348e6f,_0x43ae4a,_0x36e4cc){return _0x348e6f(_0x43ae4a,_0x36e4cc);}},_0x47297b=await getToken();if(!_0x47297b)throw new Error(_0x4291e0[_0x32273b(0x137)]);const _0x45de91=getApiBaseUrl(),_0xdec49=await _0x4291e0[_0x32273b(0x142)](fetch,_0x45de91+_0x32273b(0x13e)+_0x4cbe25+'/action-items',{'method':_0x32273b(0x14a),'headers':{'Authorization':'Bearer\x20'+_0x47297b}});if(!_0xdec49['ok']){const _0x4c061c=await _0xdec49['text']();throw new Error(_0x32273b(0x143)+_0x4c061c);}return _0xdec49[_0x32273b(0x150)]();}function _0x27bb(_0x3509cb,_0xac031a){_0x3509cb=_0x3509cb-0x10c;const _0x33a2bf=_0x33a2();let _0x27bb97=_0x33a2bf[_0x3509cb];return _0x27bb97;}export async function getItemFeedback(_0x2ab75f,_0x390778){const _0x16fb4=_0x27bb,_0x4b789f=await getToken();if(!_0x4b789f)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1a46a4=getApiBaseUrl(),_0x1e837f=await fetch(_0x1a46a4+'/api/v1/mcp/features/'+_0x2ab75f+'/checklist-items/'+_0x390778+_0x16fb4(0x14e),{'method':_0x16fb4(0x14a),'headers':{'Authorization':_0x16fb4(0x147)+_0x4b789f}});if(!_0x1e837f['ok']){const _0x4fbd24=await _0x1e837f[_0x16fb4(0x12d)]();throw new Error(_0x16fb4(0x14f)+_0x4fbd24);}return _0x1e837f[_0x16fb4(0x150)]();}export async function markCommentsAddressed(_0x422455,_0x53ae25,_0x1b0879){const _0x482a0d=_0x27bb,_0x302492={'zgkuy':function(_0x523e8a){return _0x523e8a();},'uPthA':function(_0x366aed,_0x343a56,_0x44e9f3){return _0x366aed(_0x343a56,_0x44e9f3);},'GawQw':'application/json'},_0x4429b4=await _0x302492['zgkuy'](getToken);if(!_0x4429b4)throw new Error(_0x482a0d(0x13f));const _0x2085c5=getApiBaseUrl(),_0x5b8cb8=await _0x302492[_0x482a0d(0x13c)](fetch,_0x2085c5+'/api/v1/mcp/features/'+_0x422455+'/comments/address',{'method':_0x482a0d(0x122),'headers':{'Authorization':'Bearer\x20'+_0x4429b4,'Content-Type':_0x302492[_0x482a0d(0x14d)]},'body':JSON['stringify']({'checklistItemId':_0x53ae25,'commentIds':_0x1b0879})});if(!_0x5b8cb8['ok']){const _0x108da0=await _0x5b8cb8['text']();throw new Error(_0x482a0d(0x10d)+_0x108da0);}}function _0x33a2(){const _0xcc6869=['yUcpd','/api/v1/mcp/features/','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','30zJiWdM','Failed\x20to\x20update\x20feature\x20review:\x20','YGbeR','Failed\x20to\x20get\x20action\x20items:\x20','OMiAW','join','5128803tutuMD','Bearer\x20','\x0a\x0aUpgrade\x20your\x20plan:\x20','VFaUo','GET','status','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','GawQw','/feedback','Failed\x20to\x20get\x20item\x20feedback:\x20','json','9oKMePN','389294jBeMxp','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','/report/markdown','556024BLbXla','application/json','Failed\x20to\x20start\x20session:\x20','XTXrz','sraYp','24rhBHPq','DELETE','gitRepoUrl','RMmBJ','267822HAWxqm','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','set','/conclude','EJdLJ','/sessions/','hwxgd','Failed\x20to\x20create\x20scenario:\x20','/report','KwlCd','POST','xtvRI','updateChecklistItem','VXYtm','stringify','SaGaC','PQIMG','Feature\x20limit\x20exceeded','Failed\x20to\x20delete\x20feature\x20review:\x20','15821460lwHzFK','includeDeleted','text','jfZQs','Failed\x20to\x20conclude\x20session:\x20','gitBranch','144067GZpyaH','toString','DBPVh','379783uzuuIY','style','sessionId','MEPiC','LAPyB','offset','wWyBX','zyGJB','uPthA'];_0x33a2=function(){return _0xcc6869;};return _0x33a2();}export async function softDeleteFeature(_0x34ca3a){const _0x2dfca1=_0x27bb,_0x1bf001={'kDCqN':_0x2dfca1(0x13f),'EJdLJ':function(_0x3f5d21){return _0x3f5d21();},'zKVGW':_0x2dfca1(0x115)},_0x264df9=await getToken();if(!_0x264df9)throw new Error(_0x1bf001['kDCqN']);const _0x5de7a5=_0x1bf001[_0x2dfca1(0x11c)](getApiBaseUrl),_0x226603=await fetch(_0x5de7a5+'/api/v1/mcp/features/'+_0x34ca3a,{'method':_0x1bf001['zKVGW'],'headers':{'Authorization':'Bearer\x20'+_0x264df9}});if(!_0x226603['ok']){const _0xd5188f=await _0x226603[_0x2dfca1(0x12d)]();throw new Error(_0x2dfca1(0x12a)+_0xd5188f);}}export async function restoreFeature(_0x5e207c){const _0x430ac6=_0x27bb,_0x261641={'xtvRI':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','hwxgd':function(_0x4d4bd3){return _0x4d4bd3();},'JSQeb':function(_0x102d78,_0x41e96a,_0x29240e){return _0x102d78(_0x41e96a,_0x29240e);},'VFaUo':_0x430ac6(0x122)},_0x188be9=await getToken();if(!_0x188be9)throw new Error(_0x261641[_0x430ac6(0x123)]);const _0x7ba18b=_0x261641[_0x430ac6(0x11e)](getApiBaseUrl),_0x24bcd1=await _0x261641['JSQeb'](fetch,_0x7ba18b+'/api/v1/mcp/features/'+_0x5e207c+'/restore',{'method':_0x261641[_0x430ac6(0x149)],'headers':{'Authorization':_0x430ac6(0x147)+_0x188be9}});if(!_0x24bcd1['ok']){const _0x3df3a5=await _0x24bcd1[_0x430ac6(0x12d)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x3df3a5);}}
|