@ranger-testing/ranger-cli 3.1.2 → 3.1.3-alpha.546c9e8-43
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/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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x73f870,_0x3f4311){const _0x3c5b23=_0x359e,_0x48fa94=_0x73f870();while(!![]){try{const _0x16ee63=-parseInt(_0x3c5b23(0xb0))/0x1+parseInt(_0x3c5b23(0xd5))/0x2+-parseInt(_0x3c5b23(0xba))/0x3*(parseInt(_0x3c5b23(0xdb))/0x4)+parseInt(_0x3c5b23(0x8b))/0x5+-parseInt(_0x3c5b23(0xdd))/0x6*(-parseInt(_0x3c5b23(0xd8))/0x7)+parseInt(_0x3c5b23(0xc8))/0x8+parseInt(_0x3c5b23(0x75))/0x9*(-parseInt(_0x3c5b23(0x88))/0xa);if(_0x16ee63===_0x3f4311)break;else _0x48fa94['push'](_0x48fa94['shift']());}catch(_0x1a6d63){_0x48fa94['push'](_0x48fa94['shift']());}}}(_0x46c2,0x795bf));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x1a69e1 from'inquirer';function _0x359e(_0x29d34e,_0x3e95f3){_0x29d34e=_0x29d34e-0x6c;const _0x46c265=_0x46c2();let _0x359ee5=_0x46c265[_0x29d34e];return _0x359ee5;}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,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x382862){const _0x351a09=_0x359e;try{return new URL(_0x382862)['host'];}catch{return _0x351a09(0xbf);}}function errorMessageForTelemetry(_0x23a3af){const _0x1ac2ee=_0x359e,_0x1c2f76={'cnZje':function(_0xe3f0e1,_0x4aebf1){return _0xe3f0e1 instanceof _0x4aebf1;}};return _0x1c2f76[_0x1ac2ee(0xd3)](_0x23a3af,Error)?_0x23a3af['message']:undefined;}function trackBridgeEvent(_0xbe1402,_0x374204){const _0x5dd73d=_0x359e,_0x2e91e3={'QofAa':_0x5dd73d(0xf7),'RqpFb':function(_0x10d798,_0x464eb5){return _0x10d798===_0x464eb5;},'Wsznc':_0x5dd73d(0x9d)};if(!_0xbe1402)return;const _0x446c38={'tunnelSessionId':_0x374204['sessionId'],'tunnelEventType':_0x374204[_0x5dd73d(0xa6)],'connectionId':_0x374204['connectionId'],'code':_0x374204['code'],'reason':_0x374204['reason'],'error':_0x374204['error'],'elapsedMs':_0x374204[_0x5dd73d(0xcd)],'activeLocalConnections':_0x374204['activeLocalConnections'],'pendingLocalConnections':_0x374204[_0x5dd73d(0x96)]};_0xbe1402[_0x5dd73d(0x89)]('tunnel_bridge_event',_0x446c38),(_0x374204['type']===_0x2e91e3['QofAa']||_0x2e91e3['RqpFb'](_0x374204['type'],_0x5dd73d(0x93)))&&void _0xbe1402[_0x5dd73d(0xf6)](_0x2e91e3['Wsznc'],new Error(_0x374204['error']??_0x374204['type']),_0x446c38);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0xcfbf4b=_0x359e,_0x4f48f1={'wrnul':function(_0x5dcecb){return _0x5dcecb();}},_0x55d518=await _0x4f48f1[_0xcfbf4b(0xe5)](getToken);if(!_0x55d518)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0x55d518;}async function apiRequest(_0x463313,_0x4c4d02={}){const _0x4d9e71=_0x359e,_0x1c7937={'VmGHN':function(_0x42bd55){return _0x42bd55();},'FfbLU':function(_0x5c9612,_0x17a29a){return _0x5c9612===_0x17a29a;},'oPEIy':_0x4d9e71(0xb1)},_0x524366=await _0x1c7937[_0x4d9e71(0xb7)](requireToken),_0xbf8d32=getApiBaseUrl(),_0x25d8b7=await fetch(''+_0xbf8d32+_0x463313,{..._0x4c4d02,'headers':{'Authorization':_0x4d9e71(0x8e)+_0x524366,'Content-Type':'application/json',..._0x4c4d02['headers']??{}}});if(!_0x25d8b7['ok']){let _0x39c644='',_0x40035b;try{const _0x246d48=await _0x25d8b7['json']();_0x39c644=(_0x1c7937[_0x4d9e71(0xf0)](typeof _0x246d48['error'],'string')?_0x246d48[_0x4d9e71(0xc3)]:undefined)??JSON[_0x4d9e71(0xbe)](_0x246d48);if(typeof _0x246d48['code']===_0x1c7937['oPEIy'])_0x40035b=_0x246d48[_0x4d9e71(0x70)];}catch{_0x39c644=_0x25d8b7['statusText'];}throw new ApiError('API\x20request\x20'+_0x463313+'\x20failed\x20('+_0x25d8b7['status']+_0x4d9e71(0xfc)+_0x39c644,_0x25d8b7['status'],_0x39c644,_0x40035b);}if(_0x25d8b7[_0x4d9e71(0x8a)]===0xcc)return undefined;return _0x25d8b7['json']();}export class ApiError extends Error{['status'];['detail'];['code'];constructor(_0x180ee7,_0x229556,_0x326b6f,_0x245f5c){const _0x4cc270=_0x359e,_0x1128b8='2|1|0|3|4'[_0x4cc270(0x84)]('|');let _0x33c561=0x0;while(!![]){switch(_0x1128b8[_0x33c561++]){case'0':this[_0x4cc270(0xa0)]=_0x326b6f;continue;case'1':this['status']=_0x229556;continue;case'2':super(_0x180ee7);continue;case'3':this['code']=_0x245f5c;continue;case'4':this['name']='ApiError';continue;}break;}}}export async function fetchCloudProfile(_0x4c9add){const _0x31105e=_0x359e;try{return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x4c9add));}catch(_0xa57594){if(_0xa57594 instanceof ApiError&&_0xa57594[_0x31105e(0x8a)]===0x194)return null;throw _0xa57594;}}export async function listCloudProfiles(){const _0x2972e4=_0x359e,_0x5ab2e8={'AwdbE':function(_0x29d135,_0x13c41d){return _0x29d135(_0x13c41d);}},_0x5ec9ae=await _0x5ab2e8[_0x2972e4(0x7a)](apiRequest,'/api/v1/profiles');return _0x5ec9ae['profiles'];}export async function deleteCloudProfile(_0x419207){const _0x4bb39f=_0x359e,_0x1b6715={'WMSBq':function(_0x1753e1,_0x25ff65){return _0x1753e1(_0x25ff65);},'pvZof':_0x4bb39f(0x85)};try{await apiRequest('/api/v1/profiles/'+_0x1b6715['WMSBq'](encodeURIComponent,_0x419207),{'method':_0x1b6715['pvZof']});}catch(_0x50626e){if(_0x50626e instanceof ApiError&&_0x50626e[_0x4bb39f(0x8a)]===0x194)throw new Error('Cloud\x20profile\x20\x22'+_0x419207+_0x4bb39f(0xf9));throw _0x50626e;}}function _0x46c2(){const _0x227ce6=['target_url','mycsM','local_ws_error','\x20\x20Cached\x20session\x20for\x20\x22','toISOString','pendingLocalConnections','auth_config','aReJL','close','WkDVZ','name','log','tunnel_bridge','then','env','detail','domains','targetUrl','/api/v1/profiles/','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','success','type','sessionId','prompt','join','organizationId','qayYO','UznxG','gpcBO','rNJXY','telemetry','69581NHqrJK','string','rsscw','username','pwEndpoint','LWtbt','cli:manual-login','VmGHN','extraHTTPHeaders','vsoTE','58413DWkDyG','cookies','tunnel_login_setup','\x22;\x20proceeding\x20with\x20loginInstructions.','stringify','invalid-url','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','trim','uhdse','error','\x22\x20failed\x20validation\x20—\x20refreshing...','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','loginInstructions','aJdkD','2231312hdtvyX','\x20\x20Cloud\x20session\x20for\x20\x22','url','message','auth','elapsedMs','BVtXr','about:blank','\x20\x20No\x20live\x20session\x20for\x20\x22','catch','map','cnZje','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.','941626euIKCW','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','tunnel_login_request','7sLxfgE','LHwnO','RANGER_TEST_USERNAME','52GYnqwZ','save','570012NbndqW','test_output','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','sessionCheckPath','XJPSl','ReNQt','VSBbB','length','wrnul','session_state','BVLiO','defaultEnvironmentKey','zcLOx','storageState','trackPhaseStart','Browser\x20login\x20timed\x20out\x20before\x20completion.','environment_key','baseUrl','wJQwh','FfbLU','force','launch','\x22,\x20attempting\x20login...','TcQOW','goto','trackPhaseError','tunnel_error','tSZgs','\x22\x20not\x20found.','xxhNP','storageStatePath','):\x20','tIkDZ',').\x20','IYwOJ','/api/v1/profiles/auth-config','tunnelUrl','xJltv','/api/v1/profiles','keys','code','tunnel','jxpZE','browserOptions','settings','259137cpLuht','userAgent','utf-8','some','password','AwdbE','GxRyV','skTRC','rlDTW','clientIp','PUT','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','vQcrv','setupHeaders','environments','split','DELETE','\x22\x20for\x20','RwoqB','270xYLBvx','trackPhaseEnd','status','3762365QTAhze','origin','isArray','Bearer\x20','agent','POST'];_0x46c2=function(){return _0x227ce6;};return _0x46c2();}export async function createCloudProfile(_0x598ba6,_0xd2ce9a,_0x2eca93={}){const _0x5582d6=_0x359e,_0x718f={'VAuxC':function(_0x4f3d08,_0xcb624c){return _0x4f3d08>_0xcb624c;},'nsEnQ':_0x5582d6(0x6e)},_0x5d7cc4={'name':_0x598ba6};if(_0xd2ce9a)_0x5d7cc4[_0x5582d6(0xed)]=_0xd2ce9a;_0x2eca93['settings']&&_0x718f['VAuxC'](Object[_0x5582d6(0x6f)](_0x2eca93['settings'])[_0x5582d6(0xe4)],0x0)&&(_0x5d7cc4[_0x5582d6(0x74)]=_0x2eca93[_0x5582d6(0x74)]);if(_0x2eca93['username'])_0x5d7cc4[_0x5582d6(0xb3)]=_0x2eca93['username'];if(_0x2eca93['password'])_0x5d7cc4['password']=_0x2eca93['password'];return await apiRequest(_0x718f['nsEnQ'],{'method':'POST','body':JSON['stringify'](_0x5d7cc4)});}export async function uploadCloudProfileSession(_0x4f5d7d,_0x1157dd){const _0x45d679=_0x359e,_0x3a2ca2={'XiYut':function(_0x579b75,_0x58e45c,_0x55c43c){return _0x579b75(_0x58e45c,_0x55c43c);},'BHCFC':function(_0x25338f,_0x55bbc4){return _0x25338f(_0x55bbc4);},'TCpjR':'POST'};return await _0x3a2ca2['XiYut'](apiRequest,_0x45d679(0xa3)+_0x3a2ca2['BHCFC'](encodeURIComponent,_0x4f5d7d)+'/session',{'method':_0x3a2ca2['TCpjR'],'body':JSON[_0x45d679(0xbe)]({'session_state':_0x1157dd})});}export async function saveCloudProfileCredentials(_0x73b1a5,_0x4a8b4b,_0x38249d){const _0x369e86=_0x359e,_0x3796a5={'puiAn':function(_0x797e7b,_0x3a2f2d,_0x498ff0){return _0x797e7b(_0x3a2f2d,_0x498ff0);}};await _0x3796a5['puiAn'](apiRequest,_0x369e86(0xa3)+encodeURIComponent(_0x73b1a5),{'method':'PUT','body':JSON[_0x369e86(0xbe)]({'username':_0x4a8b4b,'password':_0x38249d})});}export async function fetchAuthConfig(){const _0x2d64af=_0x359e,_0x313211={'tIkDZ':function(_0x597164,_0x3123d9){return _0x597164(_0x3123d9);},'cKnCc':_0x2d64af(0x100)};try{const _0x107c32=await _0x313211[_0x2d64af(0xfd)](apiRequest,_0x313211['cKnCc']);return _0x107c32[_0x2d64af(0x97)];}catch(_0x572b6b){return _0x572b6b instanceof ApiError&&_0x572b6b['status']!==0x194&&console[_0x2d64af(0xc3)]('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x572b6b[_0x2d64af(0xcb)]),null;}}async function createTunnelSession(_0x5c5315){const _0xc6751f=_0x359e,_0x4da567={'uhdse':function(_0x5259de,_0x26c9e6,_0x142483){return _0x5259de(_0x26c9e6,_0x142483);}};return await _0x4da567[_0xc6751f(0xc2)](apiRequest,'/api/v1/tunnel/sessions',{'method':'POST','body':JSON['stringify']({'targetUrl':_0x5c5315,'mode':_0xc6751f(0x8f)})});}async function deleteTunnelSession(_0x1692f5){const _0x1b4528=_0x359e,_0x2b2238={'TcQOW':function(_0x26c3b0,_0x48b04c,_0x59905f){return _0x26c3b0(_0x48b04c,_0x59905f);}};await _0x2b2238[_0x1b4528(0xf4)](apiRequest,'/api/v1/tunnel/sessions/'+_0x1692f5,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x1cc288){const _0x196693=_0x359e,_0x52b057={'xJltv':function(_0x5c2ea7,_0x338a84){return _0x5c2ea7===_0x338a84;},'WkfoG':function(_0x226f69,_0x2cb17e){return _0x226f69+_0x2cb17e;}};if(!_0x1cc288)return null;if(_0x1cc288[_0x196693(0xe8)])return _0x1cc288[_0x196693(0xe8)];const _0xce473=Object[_0x196693(0x6f)](_0x1cc288[_0x196693(0x83)]??{});if(_0x52b057[_0x196693(0x6d)](_0xce473['length'],0x1))return _0xce473[0x0];if(_0xce473[_0x196693(0xe4)]===0x0)return null;throw new Error(_0x52b057['WkfoG']('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0xce473[_0x196693(0xa9)](',\x20')+_0x196693(0xfe),_0x196693(0xd4)));}export async function resolveAdHocProfile(_0x29f740=process['env']){const _0x3967d5=_0x359e,_0x12afaf={'bVBAW':function(_0x3cdd20){return _0x3cdd20();},'iGdus':function(_0x2a791f,_0x6e3871,_0x2479f8,_0x4a455b){return _0x2a791f(_0x6e3871,_0x2479f8,_0x4a455b);},'ReNQt':function(_0x18f039,_0x2b1021){return _0x18f039??_0x2b1021;}},_0x28b062=_0x29f740['RANGER_TEST_USERNAME'];if(!_0x28b062)return null;const _0x143081=await fetchCloudProfile(_0x28b062);if(_0x143081)return{'name':_0x143081['name'],'profile':_0x143081};const _0x566cea=await _0x12afaf['bVBAW'](fetchAuthConfig),_0x285d36=pickAdHocEnvKey(_0x566cea),_0xa69a5c=_0x29f740['RANGER_TEST_PASSWORD'],_0x6964d3=await _0x12afaf['iGdus'](createCloudProfile,_0x28b062,_0x12afaf[_0x3967d5(0xe2)](_0x285d36,undefined),{'username':_0x28b062,'password':_0xa69a5c});return console['log']('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x6964d3[_0x3967d5(0x9b)]+_0x3967d5(0x86)+_0x28b062),{'name':_0x6964d3['name'],'profile':_0x6964d3};}export async function writeSessionToLocalCache(_0x5bc57e,_0x1a8390,_0x3fca31,_0x31cd1c,_0x5f0779,_0x5a4508,_0x2f3029){const _0x4819ad=_0x359e,_0x20f835={'xxhNP':function(_0x4542fa,_0xa35365){return _0x4542fa(_0xa35365);},'wJQwh':function(_0x5b5b9d,_0x5f2444,_0x543936){return _0x5b5b9d(_0x5f2444,_0x543936);},'RQsgq':function(_0x4a01fd){return _0x4a01fd();},'PFqFi':_0x4819ad(0xcc),'vQcrv':function(_0x1037c3,_0x154ac1){return _0x1037c3>_0x154ac1;},'VSBbB':function(_0x19ba21,_0x5e3f45,_0x4a65f4){return _0x19ba21(_0x5e3f45,_0x4a65f4);},'KfLuq':function(_0x5512c8,_0x170103){return _0x5512c8(_0x170103);},'zxBVL':function(_0x411a32,_0x2486ad,_0x520b5f){return _0x411a32(_0x2486ad,_0x520b5f);}},_0x1b56c7=_0x20f835[_0x4819ad(0xfa)](sessionCacheHash,{'orgId':_0x1a8390,'profileName':_0x5bc57e,'effectiveBaseUrl':_0x3fca31,'setupHeaders':_0x31cd1c,'invalidateOn':_0x2f3029?.['invalidateOn'],'userAgent':_0x2f3029?.[_0x4819ad(0x76)],'clientIp':_0x2f3029?.[_0x4819ad(0x7e)]}),_0x5b78b4=getSessionCachePath(_0x1b56c7,_0x5bc57e),_0x57c3be=_0x20f835[_0x4819ad(0xef)](join,_0x20f835['RQsgq'](getRangerHomeDir),_0x20f835['PFqFi']);!_0x20f835[_0x4819ad(0xfa)](existsSync,_0x57c3be)&&await mkdir(_0x57c3be,{'recursive':!![]});const _0x2adb43={..._0x5f0779};_0x5a4508&&_0x20f835[_0x4819ad(0x81)](_0x5a4508[_0x4819ad(0xe4)],0x0)&&Array[_0x4819ad(0x8d)](_0x2adb43[_0x4819ad(0xbb)])&&(_0x2adb43['cookies']=_0x20f835[_0x4819ad(0xe3)](duplicateCookiesForDomains,_0x2adb43[_0x4819ad(0xbb)],_0x5a4508));const _0x427b77={'cached_at':new Date()[_0x4819ad(0x95)](),'session_state':_0x2adb43};await writeFile(_0x5b78b4,JSON['stringify'](_0x427b77,null,0x2));const _0x5388d9=_0x20f835['KfLuq'](getStorageStatePath,_0x5b78b4);return await _0x20f835['zxBVL'](writeFile,_0x5388d9,JSON['stringify'](_0x2adb43,null,0x2)),_0x5388d9;}export async function checkLocalCache(_0x146ba2,_0x35b578,_0x3808a3,_0x5e4cae,_0x1d2565){const _0x18d97b=_0x359e,_0x51f671={'rNJXY':function(_0x365d12,_0xa6e8bf,_0x190a45){return _0x365d12(_0xa6e8bf,_0x190a45);}},_0x4e34a9=sessionCacheHash({'orgId':_0x35b578,'profileName':_0x146ba2,'effectiveBaseUrl':_0x3808a3,'setupHeaders':_0x5e4cae,'invalidateOn':_0x1d2565?.['invalidateOn'],'userAgent':_0x1d2565?.['userAgent'],'clientIp':_0x1d2565?.['clientIp']}),_0x2dadc7=_0x51f671[_0x18d97b(0xae)](getSessionCachePath,_0x4e34a9,_0x146ba2),_0x343126=getStorageStatePath(_0x2dadc7);if(!existsSync(_0x2dadc7)||!existsSync(_0x343126))return null;try{const _0x1ab461=await readFile(_0x2dadc7,_0x18d97b(0x77));return JSON['parse'](_0x1ab461),{'storageStatePath':_0x343126};}catch{return null;}}function launchRealBrowser(){const _0x4d81ab=_0x359e;return chromium[_0x4d81ab(0xf2)]({'headless':!![]});}function emitSessionValidationHint(_0x3ca5dc,_0x5c8691){const _0x38f4ca=_0x359e;if(!_0x5c8691||!_0x5c8691[_0x38f4ca(0xa1)]?.['length'])return;let _0x5d65f0;try{_0x5d65f0=new URL(_0x3ca5dc);}catch{return;}const _0x4f2eae=[];for(const _0x2eaf22 of _0x5c8691[_0x38f4ca(0xa1)]){try{_0x4f2eae['push']({'raw':_0x2eaf22,'url':new URL(_0x2eaf22)});}catch{}}if(_0x4f2eae[_0x38f4ca(0xe4)]===0x0)return;if(_0x4f2eae[_0x38f4ca(0x78)](_0xf57f56=>_0xf57f56[_0x38f4ca(0xca)][_0x38f4ca(0x8c)]===_0x5d65f0['origin']))return;const _0x1252af=_0x4f2eae[_0x38f4ca(0xd2)](_0x323d5c=>'\x22'+_0x323d5c['raw']+'\x22')[_0x38f4ca(0xa9)](',\x20');console[_0x38f4ca(0x9c)]('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x1252af+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x3ca5dc+_0x38f4ca(0xd6))+'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.');}export async function serverSideLogin(_0x529a1f,_0x5bfdad){const _0x4f730f=_0x359e,_0x53b3a9={'IYwOJ':'POST','xtzMc':function(_0x1ad6a9,_0x5956ac){return _0x1ad6a9 instanceof _0x5956ac;},'GxRyV':function(_0x5090c0,_0x2ce1e4){return _0x5090c0===_0x2ce1e4;},'OvhXz':'not_configured'},_0x5a0152=process['env']['RANGER_TEST_USERNAME'],_0x4c1630=process[_0x4f730f(0x9f)]['RANGER_TEST_PASSWORD'],_0x28ad75={};if(_0x5a0152)_0x28ad75['username']=_0x5a0152;if(_0x4c1630)_0x28ad75[_0x4f730f(0x79)]=_0x4c1630;if(_0x5bfdad?.['force'])_0x28ad75[_0x4f730f(0xf1)]=!![];if(_0x5bfdad?.[_0x4f730f(0xa2)])_0x28ad75[_0x4f730f(0x91)]=_0x5bfdad[_0x4f730f(0xa2)];_0x5bfdad?.['tunnel']&&(_0x28ad75['tunnel_session_id']=_0x5bfdad[_0x4f730f(0x71)][_0x4f730f(0xa7)],_0x28ad75['pw_endpoint']=_0x5bfdad[_0x4f730f(0x71)][_0x4f730f(0xb4)]);try{return await apiRequest(_0x4f730f(0xa3)+encodeURIComponent(_0x529a1f)+'/login',{'method':_0x53b3a9[_0x4f730f(0xff)],'body':JSON[_0x4f730f(0xbe)](_0x28ad75)});}catch(_0x4db9f3){if(_0x53b3a9['xtzMc'](_0x4db9f3,ApiError)&&_0x53b3a9[_0x4f730f(0x7b)](_0x4db9f3[_0x4f730f(0x8a)],0x190)&&_0x4db9f3['code']==='not_configured')return{'status':_0x53b3a9['OvhXz'],'error':_0x4db9f3['detail']};throw _0x4db9f3;}}async function serverSideLoginWithOptionalTunnel(_0x6c95e0,_0x1e215b,_0xea2e51={}){const _0xfc5785=_0x359e,_0x2e841a={'fCzTO':_0xfc5785(0xd7),'XJPSl':function(_0xa67397,_0x49fabb){return _0xa67397(_0x49fabb);},'LHwnO':function(_0x30291f,_0x56b231,_0x80227e){return _0x30291f(_0x56b231,_0x80227e);},'ZmUmo':function(_0x435909,_0x2071b0){return _0x435909??_0x2071b0;},'qayYO':_0xfc5785(0xbc),'skTRC':function(_0x2a6c4d,_0x1dbde2){return _0x2a6c4d||_0x1dbde2;},'RwoqB':'tunnel_login_cleanup'};if(!_0x2e841a[_0xfc5785(0xe1)](needsTunnel,_0x1e215b))return await _0x2e841a[_0xfc5785(0xd9)](serverSideLogin,_0x6c95e0,{'force':_0xea2e51[_0xfc5785(0xf1)]});let _0x57b6ca=null,_0x17ec29=null,_0x1b28c6=null,_0x37ac37=null,_0x5bbc00=![];const _0xa8404={'profileName':_0x6c95e0,'targetUrlHost':_0x2e841a[_0xfc5785(0xe1)](targetHostForTelemetry,_0x1e215b),'tunnelRequired':!![],'forceLogin':Boolean(_0xea2e51['force'])};try{_0xea2e51['telemetry']?.[_0xfc5785(0xeb)](_0xfc5785(0xbc),_0xa8404),_0x57b6ca=await launchBrowserServer({'headless':!![]}),_0x17ec29=await createTunnelSession(_0x1e215b);const _0x2fc8e0=await requireToken();_0x1b28c6=await _0x2e841a['XJPSl'](createTunnelBridge,{'localWsUrl':_0x57b6ca['wsEndpoint'],'tunnelServerUrl':_0x17ec29[_0xfc5785(0x6c)],'sessionId':_0x17ec29[_0xfc5785(0xa7)],'apiKey':_0x2fc8e0,'onError':_0x48ae0d=>{_0x37ac37=_0x48ae0d;},'onClose':()=>{_0x37ac37??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x6c95e0);},'onEvent':_0x3b4670=>trackBridgeEvent(_0xea2e51['telemetry'],_0x3b4670)}),_0xea2e51[_0xfc5785(0xaf)]?.['trackPhaseEnd'](_0xfc5785(0xbc),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)],'localBrowserServer':!![]}),_0x5bbc00=!![];try{return _0xea2e51['telemetry']?.[_0xfc5785(0xeb)](_0xfc5785(0xd7),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)]}),await serverSideLogin(_0x6c95e0,{'force':_0xea2e51['force'],'targetUrl':_0x1e215b,'tunnel':{'sessionId':_0x17ec29[_0xfc5785(0xa7)],'pwEndpoint':_0x17ec29['pwEndpoint']}})[_0xfc5785(0x9e)](_0x11c6b6=>{const _0x2f834e=_0xfc5785;return _0xea2e51['telemetry']?.['trackPhaseEnd'](_0x2e841a['fCzTO'],{..._0xa8404,'tunnelSessionId':_0x17ec29?.['sessionId'],'loginStatus':_0x11c6b6[_0x2f834e(0x8a)],'hasSessionState':Boolean(_0x11c6b6[_0x2f834e(0xe6)]),'hasTestOutput':_0x2e841a['XJPSl'](Boolean,_0x11c6b6['test_output']),'bridgeError':errorMessageForTelemetry(_0x37ac37)}),_0x11c6b6;});}catch(_0x4f494f){await _0xea2e51['telemetry']?.[_0xfc5785(0xf6)]('tunnel_login_request',_0x2e841a['ZmUmo'](_0x37ac37,_0x4f494f),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)],'bridgeError':errorMessageForTelemetry(_0x37ac37)});throw _0x37ac37??_0x4f494f;}}catch(_0x2ae533){!_0x5bbc00&&await _0xea2e51['telemetry']?.[_0xfc5785(0xf6)](_0x2e841a[_0xfc5785(0xab)],_0x2ae533,{..._0xa8404,'tunnelSessionId':_0x17ec29?.['sessionId']});throw _0x2ae533;}finally{(_0x2e841a[_0xfc5785(0x7c)](_0x17ec29,_0x57b6ca)||_0x1b28c6)&&(_0xea2e51['telemetry']?.['trackPhaseStart'](_0x2e841a[_0xfc5785(0x87)],{..._0xa8404,'tunnelSessionId':_0x17ec29?.[_0xfc5785(0xa7)]}),_0x1b28c6?.['close'](),_0x57b6ca&&await _0x57b6ca['close']()['catch'](()=>{}),_0x17ec29&&await _0x2e841a['XJPSl'](deleteTunnelSession,_0x17ec29['sessionId'])[_0xfc5785(0xd1)](()=>{}),_0xea2e51[_0xfc5785(0xaf)]?.['trackPhaseEnd'](_0x2e841a[_0xfc5785(0x87)],{..._0xa8404,'tunnelSessionId':_0x17ec29?.[_0xfc5785(0xa7)]}));}}export async function manualBrowserLogin(_0x54736b,_0x1d15cd,_0x227e45={}){const _0x356068=_0x359e,_0x2def={'ObjTo':function(_0x3a1ce7,_0x5f4d1a){return _0x3a1ce7/_0x5f4d1a;},'hMIWM':function(_0x47900b,_0x298e86,_0x18c816){return _0x47900b(_0x298e86,_0x18c816);},'rlDTW':_0x356068(0x99),'gpcBO':function(_0x504100,_0x209695){return _0x504100+_0x209695;},'rsscw':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','hkoIi':function(_0x354ca8,_0x258623){return _0x354ca8>_0x258623;},'xKVSD':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','zcLOx':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','jxpZE':function(_0x5f4e98,_0x234a22){return _0x5f4e98!==_0x234a22;},'LWtbt':function(_0x54bbce,_0xfcb8c1){return _0x54bbce(_0xfcb8c1);},'vsoTE':_0x356068(0x90)};if(!isInteractive())throw new Error(_0x2def[_0x356068(0xad)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x54736b[_0x356068(0x9b)]+'\x22.\x0a',_0x2def[_0x356068(0xb2)])+_0x356068(0xc5));const _0x4e4a7d=_0x1d15cd&&_0x2def['hkoIi'](_0x1d15cd['domains']['length'],0x0)?_0x1d15cd['domains'][0x0]:_0x356068(0xcf);console[_0x356068(0x9c)](_0x2def['xKVSD']),console[_0x356068(0x9c)]('\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0x266b21=>setTimeout(_0x266b21,0x7d0));const _0x5e9a35=await chromium['launch']({'headless':![]});let _0x35cf11=null;try{const _0x2b836c={'ignoreHTTPSErrors':!![]};_0x1d15cd?.['setupHeaders']&&(_0x2b836c[_0x356068(0xb8)]=_0x1d15cd[_0x356068(0x82)]);const _0x16e8b0=await _0x5e9a35['newContext'](_0x2b836c);await addProfileSetupBanner(_0x16e8b0);const _0x42265d=await _0x16e8b0['newPage']();await _0x42265d[_0x356068(0xf5)](_0x4e4a7d);let _0x5a6aa2=![];await new Promise(_0x3f6bc4=>{const _0x62093b=_0x356068,_0x4fc985={'Nqawf':function(_0x4e8034,_0x46375d){return _0x2def['ObjTo'](_0x4e8034,_0x46375d);},'lOfxF':function(_0x2f5db6){return _0x2f5db6();}},_0x37451c=_0x2def['hMIWM'](setTimeout,()=>{const _0x55aed8=_0x359e;_0x5a6aa2=!![],console[_0x55aed8(0xc3)]('Browser\x20login\x20timed\x20out\x20after\x20'+_0x4fc985['Nqawf'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x4fc985['lOfxF'](_0x3f6bc4);},MANUAL_LOGIN_TIMEOUT_MS);_0x42265d['on'](_0x2def[_0x62093b(0x7d)],async()=>{const _0x1084b5=_0x62093b;clearTimeout(_0x37451c);try{const _0x269341=await _0x16e8b0[_0x1084b5(0xea)]();_0x35cf11=_0x269341;}catch{}_0x4fc985['lOfxF'](_0x3f6bc4);});});if(_0x5a6aa2&&!_0x35cf11)throw new Error(_0x356068(0xec));}finally{await _0x5e9a35['close']()[_0x356068(0xd1)](()=>{});}if(!_0x35cf11)throw new Error(_0x2def[_0x356068(0xe9)]);return _0x2def[_0x356068(0x72)](_0x227e45['persistSessionState'],![])&&await apiRequest('/api/v1/profiles/'+_0x2def[_0x356068(0xb5)](encodeURIComponent,_0x54736b['name'])+'/session',{'method':_0x2def[_0x356068(0xb9)],'body':JSON[_0x356068(0xbe)]({'session_state':_0x35cf11,'updated_by':_0x356068(0xb6)})}),{'sessionState':_0x35cf11};}export async function promptSaveCredentials(_0xd3e92a){const _0x4bc4f5=_0x359e,_0x1a2f1d={'SnGbc':function(_0x525ecc,_0xe70cab){return _0x525ecc||_0xe70cab;},'gXKWJ':'confirm','tSZgs':_0x4bc4f5(0xdc),'UznxG':function(_0x169a34,_0x20fa0b,_0x42a88d){return _0x169a34(_0x20fa0b,_0x42a88d);}},_0x372564=process['env']['RANGER_TEST_USERNAME'],_0x5b6872=process[_0x4bc4f5(0x9f)]['RANGER_TEST_PASSWORD'];if(_0x1a2f1d['SnGbc'](!_0x372564,!_0x5b6872))return;if(!isInteractive())return;const {save:_0x6e51bd}=await _0x1a69e1[_0x4bc4f5(0xa8)]([{'type':_0x1a2f1d['gXKWJ'],'name':_0x1a2f1d[_0x4bc4f5(0xf8)],'message':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','default':![]}]);if(!_0x6e51bd)return;await _0x1a2f1d[_0x4bc4f5(0xac)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0xd3e92a),{'method':_0x4bc4f5(0x7f),'body':JSON[_0x4bc4f5(0xbe)]({'username':_0x372564,'password':_0x5b6872})}),console['log']('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x4a5aa0,_0x5c3f30={}){const _0x15ca64=_0x359e,_0x4afb20={'qeHpf':function(_0x535976,_0x2c41ed){return _0x535976===_0x2c41ed;},'NBplG':_0x15ca64(0xb1),'mycsM':function(_0x3839be,_0x6a7b){return _0x3839be(_0x6a7b);},'aReJL':function(_0x59cc4d,_0x120ddf,_0x521936,_0x1f11df,_0x9d24cf){return _0x59cc4d(_0x120ddf,_0x521936,_0x1f11df,_0x9d24cf);},'aJdkD':function(_0x3af435,_0x18e471,_0x1f1abe,_0x1366ca,_0x4fe563,_0x37f167,_0x5646f1,_0x5f069c){return _0x3af435(_0x18e471,_0x1f1abe,_0x1366ca,_0x4fe563,_0x37f167,_0x5646f1,_0x5f069c);},'BVtXr':function(_0x300cb3,_0x2c4dbd,_0x4cd761,_0xf245c,_0x535238){return _0x300cb3(_0x2c4dbd,_0x4cd761,_0xf245c,_0x535238);},'CFtNU':function(_0x1eec2b,_0x40daa4,_0x1ba64d){return _0x1eec2b(_0x40daa4,_0x1ba64d);},'Exayc':function(_0x3280ae,_0x2480f,_0x5b8a01){return _0x3280ae(_0x2480f,_0x5b8a01);},'ZJExx':function(_0x4dcad5,_0x4843ab){return _0x4dcad5===_0x4843ab;},'ZLsKB':function(_0x414bd6,_0x2483c9){return _0x414bd6&&_0x2483c9;},'FNACM':function(_0x374e1a,_0x118f8f){return _0x374e1a(_0x118f8f);},'WkDVZ':_0x15ca64(0xc0),'BVLiO':function(_0x3fd9dd,_0x5ae2c9){return _0x3fd9dd instanceof _0x5ae2c9;},'GDZng':function(_0x1982da,_0x1e03f9){return _0x1982da(_0x1e03f9);}},_0x1ede94=_0x4a5aa0['settings']??{},_0x545374=await fetchAuthConfig(),_0x49bc74=_0x545374?resolveAuthEnvironmentLocally(_0x545374,_0x4a5aa0['environmentKey']):null,_0x335bed=_0x4afb20['qeHpf'](typeof _0x49bc74?.['loginInstructions'],_0x4afb20['NBplG'])&&_0x49bc74[_0x15ca64(0xc6)]['trim']()?_0x49bc74['loginInstructions']:undefined,_0x5bf8fe=typeof _0x1ede94['loginInstructions']===_0x15ca64(0xb1)&&_0x1ede94[_0x15ca64(0xc6)][_0x15ca64(0xc1)]()?_0x1ede94[_0x15ca64(0xc6)]:undefined,_0x32b776=_0x5bf8fe||!_0x335bed?_0x1ede94:{..._0x1ede94,'loginInstructions':_0x335bed},_0x42fd7a=Boolean(_0x32b776['loginInstructions']?.[_0x15ca64(0xc1)]()),_0x54579a=_0x4afb20[_0x15ca64(0x92)](Boolean,_0x1ede94['forceLogin']||_0x49bc74?.['forceLogin']),_0x207dcd=_0x49bc74?.[_0x15ca64(0xa1)],_0xaf4be8=_0x1ede94['setupHeaders'],_0x2b32c5=_0xaf4be8??_0x49bc74?.['setupHeaders'],_0x3f4fb0=_0x5c3f30['effectiveBaseUrl']??_0x1ede94[_0x15ca64(0xee)]??(_0x207dcd&&_0x207dcd[_0x15ca64(0xe4)]>0x0?_0x207dcd[0x0]:''),_0x9d8c8c=_0x3f4fb0?_0x4afb20[_0x15ca64(0x92)](needsTunnel,_0x3f4fb0):![],_0x5f05e1={'invalidateOn':_0x49bc74?.['invalidateOn'],'userAgent':_0x49bc74?.[_0x15ca64(0x73)]?.[_0x15ca64(0x76)]??_0x1ede94[_0x15ca64(0x76)]};_0x54579a&&console['log']('\x20\x20forceLogin\x20enabled\x20for\x20\x22'+_0x4a5aa0['name']+'\x22,\x20refreshing\x20session...');if(!_0x54579a){const _0x14d8d5=await checkLocalCache(_0x4a5aa0['name'],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0x5f05e1);if(_0x14d8d5){if(_0x3f4fb0&&!_0x9d8c8c){const _0x1cb184=await _0x4afb20[_0x15ca64(0x98)](isCachedSessionLive,_0x14d8d5[_0x15ca64(0xfb)],_0x3f4fb0,{'sessionCheckPath':_0x49bc74?.[_0x15ca64(0xe0)],'setupHeaders':_0x2b32c5},{'launchBrowser':launchRealBrowser});if(_0x1cb184)return console[_0x15ca64(0x9c)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x4a5aa0['name']+'\x22'),{'authPath':_0x14d8d5['storageStatePath'],'settings':_0x32b776,'resolvedEnv':_0x49bc74};console['log'](_0x15ca64(0x94)+_0x4a5aa0['name']+_0x15ca64(0xc4)),emitSessionValidationHint(_0x3f4fb0,_0x49bc74);}else return _0x9d8c8c&&console[_0x15ca64(0x9c)]('\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x4a5aa0[_0x15ca64(0x9b)]+'\x22'),{'authPath':_0x14d8d5['storageStatePath'],'settings':_0x32b776,'resolvedEnv':_0x49bc74};}}if(!_0x54579a&&_0x4a5aa0['sessionState']){if(_0x9d8c8c)console[_0x15ca64(0x9c)](_0x15ca64(0xa4)+_0x3f4fb0+'\x22\x20on\x20profile\x20\x22'+_0x4a5aa0[_0x15ca64(0x9b)]+'\x22');else{const _0x4db613=await _0x4afb20['aJdkD'](writeSessionToLocalCache,_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0[_0x15ca64(0xaa)],_0x3f4fb0,_0x2b32c5,_0x4a5aa0['sessionState'],_0x207dcd,_0x5f05e1);if(_0x3f4fb0){const _0x22f0ec=await _0x4afb20[_0x15ca64(0xce)](isCachedSessionLive,_0x4db613,_0x3f4fb0,{'sessionCheckPath':_0x49bc74?.['sessionCheckPath'],'setupHeaders':_0x2b32c5},{'launchBrowser':launchRealBrowser});if(_0x22f0ec)return console[_0x15ca64(0x9c)]('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x4a5aa0['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x4db613,'settings':_0x32b776,'resolvedEnv':_0x49bc74};console['log'](_0x15ca64(0xc9)+_0x4a5aa0['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x4afb20['CFtNU'](emitSessionValidationHint,_0x3f4fb0,_0x49bc74);}else return{'authPath':_0x4db613,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}}if(_0x42fd7a)return console[_0x15ca64(0x9c)](_0x15ca64(0xd0)+_0x4a5aa0['name']+_0x15ca64(0xbd)),{'authPath':undefined,'settings':_0x32b776,'resolvedEnv':_0x49bc74};console[_0x15ca64(0x9c)](_0x15ca64(0xd0)+_0x4a5aa0['name']+_0x15ca64(0xf3));const _0x43e84d=Boolean(process[_0x15ca64(0x9f)][_0x15ca64(0xda)])&&_0x4afb20[_0x15ca64(0x92)](Boolean,process['env']['RANGER_TEST_PASSWORD']),_0x32ed69=_0x4afb20[_0x15ca64(0x92)](Boolean,_0x4a5aa0['username']);if(_0x43e84d||_0x32ed69)try{const _0x52a9b1=_0x3f4fb0?await serverSideLoginWithOptionalTunnel(_0x4a5aa0[_0x15ca64(0x9b)],_0x3f4fb0,{'force':_0x54579a,'telemetry':_0x5c3f30[_0x15ca64(0xaf)]}):await _0x4afb20['Exayc'](serverSideLogin,_0x4a5aa0[_0x15ca64(0x9b)],{'force':_0x54579a});if(_0x4afb20['ZJExx'](_0x52a9b1[_0x15ca64(0x8a)],'not_configured'))console[_0x15ca64(0x9c)](_0x15ca64(0xdf));else{if(_0x52a9b1['status']===_0x15ca64(0xa5)&&_0x52a9b1['session_state']){console[_0x15ca64(0x9c)]('\x20\x20Login\x20successful.\x20Session\x20cached.');const _0x396563=await writeSessionToLocalCache(_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0x52a9b1['session_state'],_0x207dcd,_0x5f05e1);return _0x4afb20['ZLsKB'](_0x43e84d,!_0x32ed69)&&await _0x4afb20['FNACM'](promptSaveCredentials,_0x4a5aa0[_0x15ca64(0x9b)]),{'authPath':_0x396563,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}else _0x52a9b1[_0x15ca64(0xde)]&&(console[_0x15ca64(0x9c)](_0x4afb20[_0x15ca64(0x9a)]),console['log'](_0x52a9b1['test_output'])),console[_0x15ca64(0x9c)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}}catch(_0xc7b4ab){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x4afb20[_0x15ca64(0xe7)](_0xc7b4ab,Error)?_0xc7b4ab[_0x15ca64(0xcb)]:_0x4afb20['GDZng'](String,_0xc7b4ab))),console['log'](_0x15ca64(0x80));}const _0x308cb8=_0x49bc74?{..._0x49bc74,'setupHeaders':_0x2b32c5}:_0x3f4fb0?{'key':_0x4a5aa0['environmentKey']??'','domains':[_0x3f4fb0],'setupHeaders':_0x2b32c5}:null,{sessionState:_0xd22fa3}=await manualBrowserLogin(_0x4a5aa0,_0x308cb8,{'persistSessionState':!_0x9d8c8c}),_0x1d5f03=await _0x4afb20[_0x15ca64(0xc7)](writeSessionToLocalCache,_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0xd22fa3,_0x207dcd,_0x5f05e1);return{'authPath':_0x1d5f03,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}
|
|
1
|
+
const _0x210abb=_0x5619;(function(_0x11c081,_0x10811d){const _0x559a1a=_0x5619,_0x3ac947=_0x11c081();while(!![]){try{const _0x260a91=-parseInt(_0x559a1a(0x1d5))/0x1*(-parseInt(_0x559a1a(0x1a7))/0x2)+-parseInt(_0x559a1a(0x185))/0x3*(-parseInt(_0x559a1a(0x19d))/0x4)+parseInt(_0x559a1a(0x1cc))/0x5*(-parseInt(_0x559a1a(0x18d))/0x6)+-parseInt(_0x559a1a(0x177))/0x7+-parseInt(_0x559a1a(0x18e))/0x8*(-parseInt(_0x559a1a(0x184))/0x9)+parseInt(_0x559a1a(0x193))/0xa+parseInt(_0x559a1a(0x19e))/0xb*(-parseInt(_0x559a1a(0x1c5))/0xc);if(_0x260a91===_0x10811d)break;else _0x3ac947['push'](_0x3ac947['shift']());}catch(_0x2855ab){_0x3ac947['push'](_0x3ac947['shift']());}}}(_0x5593,0x2a6b9));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';function _0x5593(){const _0x2bf301=['invalidateOn','username','HmxzW','cJRES','HLPrs','baseUrl','LgGpZ','/api/v1/profiles/auth-config','tURku','vXNmU','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','bSBzZ','2345854blgnvz','force','storageStatePath','\x22,\x20cached\x20locally','close','stringify','trackPhaseError','JvbLu','env','BbqxA','RANGER_TEST_PASSWORD','session_state','/login','43929VOFqpR','3IaSkLl','AOKsE','YVfAa','mqQQH','trim','name','xVaSc','Uqwkv','64344hPsBsg','344NvCPNk','connectionId','tunnel','BtjoZ','habVz','7600zcssYK','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','wsEndpoint','ewRYh','kBlQb','status','Dquir','catch','trackPhaseEnd','message','1379416yxitTu','859837xiymIg','Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20(','API\x20request\x20','\x22,\x20refreshing\x20session...','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','\x22\x20failed\x20validation\x20—\x20refreshing...','push','userAgent','\x22;\x20proceeding\x20with\x20loginInstructions.','2bdoieA','map','targetUrl','pwEndpoint','environmentKey','local_ws_error','you\x27re\x20now\x20at\x20\x22','kMDEY','JGSps','AQjvc','\x20failed\x20(','log','dfNYe','MdkzP','RANGER_TEST_USERNAME','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','activeLocalConnections','error','elapsedMs','TnQmW','headers','QiIwV','not_configured','ApiError','/api/v1/profiles','settings','loginInstructions','\x20\x20Created\x20cloud\x20profile\x20\x22','aKErR','sessionId','12pzBtAv','cookies','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','code','domains','type','CeJlu','25AJpKVv','tunnel_login_cleanup','\x22.\x0a','host','DELETE','WdWAS','lfgmp','oeKXg','password','85165YfwGyd','clientIp','tMjqI','target_url','join','zsRqM','success','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','POST','\x22,\x20attempting\x20login...','string','WXSHQ','kznYg','bZlWA','LzQem','Bbupc','\x20\x20forceLogin\x20enabled\x20for\x20\x22','MVpJi','\x22\x20for\x20','newContext','BeTLa','telemetry','sdVeW','lNpPr','XidVE','effectiveBaseUrl','PUT','tunnel_error','Vgyqb','\x22\x20on\x20profile\x20\x22','some','setupHeaders','invalid-url','storageState','DZqgC','sessionCheckPath','poKHb','tunnel_login_request','profiles','tunnel_session_id','RVvUl','PSoWh','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','UItic','detail','origin','organizationId','length','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','/api/v1/profiles/','jKOOk','statusText','Browser\x20login\x20timed\x20out\x20after\x20','dioPT','tunnel_login_setup','environments','GiEdd','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','\x20\x20Login\x20successful.\x20Session\x20cached.','aUBfU','\x20\x20Cached\x20session\x20for\x20\x22','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','MdROP'];_0x5593=function(){return _0x2bf301;};return _0x5593();}import{existsSync}from'fs';import _0x5cf26a 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,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x52503f){const _0xaeb643=_0x5619;try{return new URL(_0x52503f)[_0xaeb643(0x1cf)];}catch{return _0xaeb643(0x14c);}}function errorMessageForTelemetry(_0x44c316){const _0x107a45=_0x5619,_0x1ee4d1={'XidVE':function(_0x35eaad,_0x594c95){return _0x35eaad instanceof _0x594c95;}};return _0x1ee4d1[_0x107a45(0x144)](_0x44c316,Error)?_0x44c316['message']:undefined;}function trackBridgeEvent(_0x5cf2a8,_0x535cf4){const _0x4b2b9f=_0x5619,_0x38ac91={'xaskK':'tunnel_bridge_event','WXSHQ':function(_0x16529e,_0x42c698){return _0x16529e===_0x42c698;},'aKErR':'tunnel_bridge'};if(!_0x5cf2a8)return;const _0x5d0fa7={'tunnelSessionId':_0x535cf4['sessionId'],'tunnelEventType':_0x535cf4[_0x4b2b9f(0x1ca)],'connectionId':_0x535cf4[_0x4b2b9f(0x18f)],'code':_0x535cf4[_0x4b2b9f(0x1c8)],'reason':_0x535cf4['reason'],'error':_0x535cf4['error'],'elapsedMs':_0x535cf4[_0x4b2b9f(0x1b9)],'activeLocalConnections':_0x535cf4[_0x4b2b9f(0x1b7)],'pendingLocalConnections':_0x535cf4['pendingLocalConnections']};_0x5cf2a8['trackPhaseEnd'](_0x38ac91['xaskK'],_0x5d0fa7),(_0x38ac91[_0x4b2b9f(0x137)](_0x535cf4['type'],_0x4b2b9f(0x147))||_0x535cf4[_0x4b2b9f(0x1ca)]===_0x4b2b9f(0x1ac))&&void _0x5cf2a8[_0x4b2b9f(0x17d)](_0x38ac91[_0x4b2b9f(0x1c3)],new Error(_0x535cf4[_0x4b2b9f(0x1b8)]??_0x535cf4['type']),_0x5d0fa7);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x5090da=_0x5619,_0x2154b1={'LzQem':_0x5090da(0x15c)},_0x1fda05=await getToken();if(!_0x1fda05)throw new Error(_0x2154b1[_0x5090da(0x13a)]);return _0x1fda05;}async function apiRequest(_0x2f8255,_0xd23bb4={}){const _0x4a81e4=_0x5619,_0x1e5b1a={'PSoWh':function(_0xdc3978){return _0xdc3978();},'HLPrs':function(_0x27b8f7,_0x1c3849,_0xb4c630){return _0x27b8f7(_0x1c3849,_0xb4c630);},'poKHb':'application/json','kBlQb':'string','CWNCv':function(_0x507dd9,_0xf27dd1){return _0x507dd9===_0xf27dd1;},'WdWAS':function(_0x2c642a,_0x10497b){return _0x2c642a===_0x10497b;}},_0x569b8c=await _0x1e5b1a[_0x4a81e4(0x155)](requireToken),_0x3a5c3e=getApiBaseUrl(),_0x41d0ae=await _0x1e5b1a[_0x4a81e4(0x16f)](fetch,''+_0x3a5c3e+_0x2f8255,{..._0xd23bb4,'headers':{'Authorization':'Bearer\x20'+_0x569b8c,'Content-Type':_0x1e5b1a[_0x4a81e4(0x150)],..._0xd23bb4[_0x4a81e4(0x1bb)]??{}}});if(!_0x41d0ae['ok']){let _0x4875ac='',_0xb5efcf;try{const _0x12ae88=await _0x41d0ae['json']();_0x4875ac=(typeof _0x12ae88[_0x4a81e4(0x1b8)]===_0x1e5b1a[_0x4a81e4(0x197)]?_0x12ae88['error']:undefined)??JSON[_0x4a81e4(0x17c)](_0x12ae88);if(_0x1e5b1a['CWNCv'](typeof _0x12ae88[_0x4a81e4(0x1c8)],_0x1e5b1a['kBlQb']))_0xb5efcf=_0x12ae88[_0x4a81e4(0x1c8)];}catch{_0x4875ac=_0x41d0ae[_0x4a81e4(0x15f)];}throw new ApiError(_0x4a81e4(0x1a0)+_0x2f8255+_0x4a81e4(0x1b1)+_0x41d0ae['status']+'):\x20'+_0x4875ac,_0x41d0ae[_0x4a81e4(0x198)],_0x4875ac,_0xb5efcf);}if(_0x1e5b1a[_0x4a81e4(0x1d1)](_0x41d0ae['status'],0xcc))return undefined;return _0x41d0ae['json']();}export class ApiError extends Error{[_0x210abb(0x198)];['detail'];[_0x210abb(0x1c8)];constructor(_0x1eab65,_0x5aa04d,_0x594890,_0x23e150){const _0x4d8208=_0x210abb,_0x2bb592={'BtjoZ':_0x4d8208(0x1be)};super(_0x1eab65),this['status']=_0x5aa04d,this['detail']=_0x594890,this['code']=_0x23e150,this['name']=_0x2bb592[_0x4d8208(0x191)];}}export async function fetchCloudProfile(_0x38091f){const _0x44174b=_0x210abb,_0x1ea824={'MdROP':function(_0x2adefc,_0x2d1c8f){return _0x2adefc(_0x2d1c8f);},'YVfAa':function(_0x3edb13,_0x333086){return _0x3edb13===_0x333086;}};try{return await apiRequest('/api/v1/profiles/'+_0x1ea824[_0x44174b(0x16a)](encodeURIComponent,_0x38091f));}catch(_0x4eba8f){if(_0x4eba8f instanceof ApiError&&_0x1ea824[_0x44174b(0x187)](_0x4eba8f[_0x44174b(0x198)],0x194))return null;throw _0x4eba8f;}}export async function listCloudProfiles(){const _0x3d85fd=_0x210abb,_0x251606={'xVaSc':function(_0x361da1,_0xd55582){return _0x361da1(_0xd55582);},'UItic':_0x3d85fd(0x1bf)},_0x208850=await _0x251606[_0x3d85fd(0x18b)](apiRequest,_0x251606[_0x3d85fd(0x157)]);return _0x208850[_0x3d85fd(0x152)];}export async function deleteCloudProfile(_0x1b5857){const _0xe4e1f7=_0x210abb,_0x4b366d={'VeZbN':function(_0x2f67c7,_0x4a74a0){return _0x2f67c7 instanceof _0x4a74a0;},'nHeHI':function(_0x2db0f1,_0x287cf7){return _0x2db0f1===_0x287cf7;}};try{await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x1b5857),{'method':_0xe4e1f7(0x1d0)});}catch(_0x3782dc){if(_0x4b366d['VeZbN'](_0x3782dc,ApiError)&&_0x4b366d['nHeHI'](_0x3782dc[_0xe4e1f7(0x198)],0x194))throw new Error('Cloud\x20profile\x20\x22'+_0x1b5857+'\x22\x20not\x20found.');throw _0x3782dc;}}export async function createCloudProfile(_0xe8a979,_0xefe899,_0x1054a6={}){const _0x224c5b=_0x210abb,_0xe39c84={'bZlWA':function(_0xadd8d2,_0x11e11c){return _0xadd8d2>_0x11e11c;},'tMjqI':function(_0x4f0e11,_0x507bfd,_0x32275b){return _0x4f0e11(_0x507bfd,_0x32275b);},'Zfdjb':'POST'},_0x39407f={'name':_0xe8a979};if(_0xefe899)_0x39407f['environment_key']=_0xefe899;_0x1054a6['settings']&&_0xe39c84[_0x224c5b(0x139)](Object['keys'](_0x1054a6['settings'])[_0x224c5b(0x15b)],0x0)&&(_0x39407f['settings']=_0x1054a6[_0x224c5b(0x1c0)]);if(_0x1054a6[_0x224c5b(0x16c)])_0x39407f['username']=_0x1054a6[_0x224c5b(0x16c)];if(_0x1054a6['password'])_0x39407f[_0x224c5b(0x1d4)]=_0x1054a6['password'];return await _0xe39c84[_0x224c5b(0x1d7)](apiRequest,_0x224c5b(0x1bf),{'method':_0xe39c84['Zfdjb'],'body':JSON['stringify'](_0x39407f)});}export async function uploadCloudProfileSession(_0x4d983d,_0xdbfe9a){const _0x26d409=_0x210abb,_0x4e6546={'xscoQ':function(_0x5352fd,_0x406d78,_0x169c87){return _0x5352fd(_0x406d78,_0x169c87);},'sdVeW':function(_0x504161,_0x204e29){return _0x504161(_0x204e29);}};return await _0x4e6546['xscoQ'](apiRequest,_0x26d409(0x15d)+_0x4e6546[_0x26d409(0x142)](encodeURIComponent,_0x4d983d)+'/session',{'method':_0x26d409(0x134),'body':JSON[_0x26d409(0x17c)]({'session_state':_0xdbfe9a})});}export async function saveCloudProfileCredentials(_0x495407,_0x3d3622,_0x555c38){const _0x432232=_0x210abb,_0x470155={'DtNSf':_0x432232(0x146)};await apiRequest(_0x432232(0x15d)+encodeURIComponent(_0x495407),{'method':_0x470155['DtNSf'],'body':JSON['stringify']({'username':_0x3d3622,'password':_0x555c38})});}export async function fetchAuthConfig(){const _0x222a1b=_0x210abb,_0x1cdf62={'qGOjE':function(_0x2460b2,_0x4fc75f){return _0x2460b2(_0x4fc75f);},'YqHPR':_0x222a1b(0x172)};try{const _0x599372=await _0x1cdf62['qGOjE'](apiRequest,_0x1cdf62['YqHPR']);return _0x599372['auth_config'];}catch(_0x15393b){return _0x15393b instanceof ApiError&&_0x15393b['status']!==0x194&&console[_0x222a1b(0x1b8)](_0x222a1b(0x1b6)+_0x15393b['message']),null;}}async function createTunnelSession(_0x44b3de){const _0x42421a={'tmFHk':'/api/v1/tunnel/sessions','oZqQh':'POST'};return await apiRequest(_0x42421a['tmFHk'],{'method':_0x42421a['oZqQh'],'body':JSON['stringify']({'targetUrl':_0x44b3de,'mode':'agent'})});}async function deleteTunnelSession(_0x5f3555){await apiRequest('/api/v1/tunnel/sessions/'+_0x5f3555,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x35dc91){const _0x2d18cc=_0x210abb,_0x3d50c8={'dioPT':function(_0x2b41e1,_0x19962f){return _0x2b41e1===_0x19962f;}};if(!_0x35dc91)return null;if(_0x35dc91['defaultEnvironmentKey'])return _0x35dc91['defaultEnvironmentKey'];const _0x19346a=Object['keys'](_0x35dc91[_0x2d18cc(0x163)]??{});if(_0x3d50c8[_0x2d18cc(0x161)](_0x19346a['length'],0x1))return _0x19346a[0x0];if(_0x3d50c8['dioPT'](_0x19346a['length'],0x0))return null;throw new Error(_0x2d18cc(0x19f)+_0x19346a[_0x2d18cc(0x130)](',\x20')+').\x20'+'Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.');}export async function resolveAdHocProfile(_0x1d2e88=process[_0x210abb(0x17f)]){const _0x168084=_0x210abb,_0x279167={'BeTLa':function(_0x48eef0,_0x35544b){return _0x48eef0(_0x35544b);},'MVpJi':function(_0x4de799,_0x2feca3,_0x4ca06f,_0x418da1){return _0x4de799(_0x2feca3,_0x4ca06f,_0x418da1);}},_0x1bea6e=_0x1d2e88['RANGER_TEST_USERNAME'];if(!_0x1bea6e)return null;const _0xf74b74=await _0x279167[_0x168084(0x140)](fetchCloudProfile,_0x1bea6e);if(_0xf74b74)return{'name':_0xf74b74[_0x168084(0x18a)],'profile':_0xf74b74};const _0x541d3a=await fetchAuthConfig(),_0x189274=pickAdHocEnvKey(_0x541d3a),_0x58f17c=_0x1d2e88[_0x168084(0x181)],_0x4580e5=await _0x279167[_0x168084(0x13d)](createCloudProfile,_0x1bea6e,_0x189274??undefined,{'username':_0x1bea6e,'password':_0x58f17c});return console[_0x168084(0x1b2)](_0x168084(0x1c2)+_0x4580e5[_0x168084(0x18a)]+_0x168084(0x13e)+_0x1bea6e),{'name':_0x4580e5[_0x168084(0x18a)],'profile':_0x4580e5};}export async function writeSessionToLocalCache(_0x31a6f1,_0xc1cb72,_0x230fff,_0x4c8df4,_0x1882eb,_0x3f717a,_0x293761){const _0x503e66=_0x210abb,_0x43a05c={'kMDEY':function(_0x3bb421,_0x51191d){return _0x3bb421(_0x51191d);},'gnOxk':function(_0x5c9a3b,_0x2692a1,_0x4a5e6e){return _0x5c9a3b(_0x2692a1,_0x4a5e6e);},'habVz':function(_0x1cabf8){return _0x1cabf8();},'kvZsF':'auth','KrrFC':function(_0x387e30,_0x148251,_0x4cf45d){return _0x387e30(_0x148251,_0x4cf45d);},'AQjvc':function(_0x36036c,_0x3522c7){return _0x36036c>_0x3522c7;},'jKOOk':function(_0x29b0ee,_0x3c4f15){return _0x29b0ee(_0x3c4f15);}},_0x486205=_0x43a05c[_0x503e66(0x1ae)](sessionCacheHash,{'orgId':_0xc1cb72,'profileName':_0x31a6f1,'effectiveBaseUrl':_0x230fff,'setupHeaders':_0x4c8df4,'invalidateOn':_0x293761?.['invalidateOn'],'userAgent':_0x293761?.['userAgent'],'clientIp':_0x293761?.[_0x503e66(0x1d6)]}),_0xea3681=getSessionCachePath(_0x486205,_0x31a6f1),_0x5f27ab=_0x43a05c['gnOxk'](join,_0x43a05c[_0x503e66(0x192)](getRangerHomeDir),_0x43a05c['kvZsF']);!existsSync(_0x5f27ab)&&await _0x43a05c['KrrFC'](mkdir,_0x5f27ab,{'recursive':!![]});const _0x566732={..._0x1882eb};_0x3f717a&&_0x43a05c[_0x503e66(0x1b0)](_0x3f717a[_0x503e66(0x15b)],0x0)&&Array['isArray'](_0x566732['cookies'])&&(_0x566732['cookies']=duplicateCookiesForDomains(_0x566732[_0x503e66(0x1c6)],_0x3f717a));const _0x338f50={'cached_at':new Date()['toISOString'](),'session_state':_0x566732};await writeFile(_0xea3681,JSON['stringify'](_0x338f50,null,0x2));const _0x551c7c=_0x43a05c[_0x503e66(0x15e)](getStorageStatePath,_0xea3681);return await writeFile(_0x551c7c,JSON[_0x503e66(0x17c)](_0x566732,null,0x2)),_0x551c7c;}export async function checkLocalCache(_0xaf8106,_0x1ac2a1,_0x1d72f2,_0x58ef91,_0x14a368){const _0x3b3959=_0x210abb,_0x5bb5fd={'RVvUl':function(_0x161150,_0x1313a4){return _0x161150(_0x1313a4);},'EaPrf':function(_0x318ec2,_0x4b5e81,_0x12ca49){return _0x318ec2(_0x4b5e81,_0x12ca49);}},_0x15e184=sessionCacheHash({'orgId':_0x1ac2a1,'profileName':_0xaf8106,'effectiveBaseUrl':_0x1d72f2,'setupHeaders':_0x58ef91,'invalidateOn':_0x14a368?.['invalidateOn'],'userAgent':_0x14a368?.[_0x3b3959(0x1a5)],'clientIp':_0x14a368?.['clientIp']}),_0x144aca=getSessionCachePath(_0x15e184,_0xaf8106),_0x5851e7=_0x5bb5fd[_0x3b3959(0x154)](getStorageStatePath,_0x144aca);if(!existsSync(_0x144aca)||!existsSync(_0x5851e7))return null;try{const _0x16f865=await _0x5bb5fd['EaPrf'](readFile,_0x144aca,'utf-8');return JSON['parse'](_0x16f865),{'storageStatePath':_0x5851e7};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x550f74,_0x2688d0){const _0x2ee211=_0x210abb,_0x196cbc={'vXNmU':function(_0xfeda49,_0x51f819){return _0xfeda49===_0x51f819;},'JGSps':function(_0x149a18,_0x16c06e){return _0x149a18+_0x16c06e;}};if(!_0x2688d0||!_0x2688d0['domains']?.['length'])return;let _0x446dc1;try{_0x446dc1=new URL(_0x550f74);}catch{return;}const _0x1c7401=[];for(const _0x40b9fd of _0x2688d0['domains']){try{_0x1c7401[_0x2ee211(0x1a4)]({'raw':_0x40b9fd,'url':new URL(_0x40b9fd)});}catch{}}if(_0x196cbc[_0x2ee211(0x174)](_0x1c7401['length'],0x0))return;if(_0x1c7401[_0x2ee211(0x14a)](_0x581057=>_0x581057['url']['origin']===_0x446dc1[_0x2ee211(0x159)]))return;const _0x392725=_0x1c7401[_0x2ee211(0x1a8)](_0x4cdf06=>'\x22'+_0x4cdf06['raw']+'\x22')['join'](',\x20');console['log'](_0x196cbc[_0x2ee211(0x1af)]('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x392725+';\x20'+(_0x2ee211(0x1ad)+_0x550f74+_0x2ee211(0x194)),'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.'));}export async function serverSideLogin(_0x9c4321,_0x5c6ed5){const _0x3aff98=_0x210abb,_0x470547={'CeJlu':'POST','voXQi':function(_0x2a07e5,_0x7bb5d0){return _0x2a07e5===_0x7bb5d0;},'bSBzZ':_0x3aff98(0x1bd)},_0x3bef07=process['env'][_0x3aff98(0x1b5)],_0x23f8b3=process['env']['RANGER_TEST_PASSWORD'],_0x5b0904={};if(_0x3bef07)_0x5b0904['username']=_0x3bef07;if(_0x23f8b3)_0x5b0904['password']=_0x23f8b3;if(_0x5c6ed5?.[_0x3aff98(0x178)])_0x5b0904['force']=!![];if(_0x5c6ed5?.[_0x3aff98(0x1a9)])_0x5b0904[_0x3aff98(0x1d8)]=_0x5c6ed5['targetUrl'];_0x5c6ed5?.[_0x3aff98(0x190)]&&(_0x5b0904[_0x3aff98(0x153)]=_0x5c6ed5[_0x3aff98(0x190)]['sessionId'],_0x5b0904['pw_endpoint']=_0x5c6ed5[_0x3aff98(0x190)][_0x3aff98(0x1aa)]);try{return await apiRequest(_0x3aff98(0x15d)+encodeURIComponent(_0x9c4321)+_0x3aff98(0x183),{'method':_0x470547[_0x3aff98(0x1cb)],'body':JSON['stringify'](_0x5b0904)});}catch(_0x234e1f){if(_0x234e1f instanceof ApiError&&_0x234e1f[_0x3aff98(0x198)]===0x190&&_0x470547['voXQi'](_0x234e1f['code'],_0x470547['bSBzZ']))return{'status':_0x470547[_0x3aff98(0x176)],'error':_0x234e1f[_0x3aff98(0x158)]};throw _0x234e1f;}}async function serverSideLoginWithOptionalTunnel(_0x17c1cb,_0x1df00e,_0x133c8b={}){const _0x8d68fa=_0x210abb,_0x3636ec={'BbqxA':function(_0x5d9279,_0x27a3bb){return _0x5d9279(_0x27a3bb);},'Uqwkv':function(_0x67986e,_0x16f30e){return _0x67986e(_0x16f30e);},'mqQQH':'tunnel_login_setup','MdkzP':_0x8d68fa(0x151),'IHbJT':function(_0x43785f,_0x595b84){return _0x43785f??_0x595b84;},'LgGpZ':function(_0x55dc76,_0x32e7f6){return _0x55dc76||_0x32e7f6;}};if(!_0x3636ec['BbqxA'](needsTunnel,_0x1df00e))return await serverSideLogin(_0x17c1cb,{'force':_0x133c8b['force']});let _0x2f5ccc=null,_0x5dfa18=null,_0x38553b=null,_0x35a3b0=null,_0x2780de=![];const _0x26301b={'profileName':_0x17c1cb,'targetUrlHost':targetHostForTelemetry(_0x1df00e),'tunnelRequired':!![],'forceLogin':Boolean(_0x133c8b['force'])};try{_0x133c8b[_0x8d68fa(0x141)]?.['trackPhaseStart'](_0x8d68fa(0x162),_0x26301b),_0x2f5ccc=await launchBrowserServer({'headless':!![]}),_0x5dfa18=await _0x3636ec['BbqxA'](createTunnelSession,_0x1df00e);const _0x3cac20=await requireToken();_0x38553b=await createTunnelBridge({'localWsUrl':_0x2f5ccc[_0x8d68fa(0x195)],'tunnelServerUrl':_0x5dfa18['tunnelUrl'],'sessionId':_0x5dfa18[_0x8d68fa(0x1c4)],'apiKey':_0x3cac20,'onError':_0x7c30b5=>{_0x35a3b0=_0x7c30b5;},'onClose':()=>{_0x35a3b0??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x17c1cb);},'onEvent':_0x49527a=>trackBridgeEvent(_0x133c8b[_0x8d68fa(0x141)],_0x49527a)}),_0x133c8b[_0x8d68fa(0x141)]?.['trackPhaseEnd'](_0x3636ec[_0x8d68fa(0x188)],{..._0x26301b,'tunnelSessionId':_0x5dfa18['sessionId'],'localBrowserServer':!![]}),_0x2780de=!![];try{return _0x133c8b['telemetry']?.['trackPhaseStart'](_0x3636ec[_0x8d68fa(0x1b4)],{..._0x26301b,'tunnelSessionId':_0x5dfa18[_0x8d68fa(0x1c4)]}),await serverSideLogin(_0x17c1cb,{'force':_0x133c8b['force'],'targetUrl':_0x1df00e,'tunnel':{'sessionId':_0x5dfa18[_0x8d68fa(0x1c4)],'pwEndpoint':_0x5dfa18[_0x8d68fa(0x1aa)]}})['then'](_0x3b3f1a=>{const _0x28ea39=_0x8d68fa;return _0x133c8b['telemetry']?.[_0x28ea39(0x19b)]('tunnel_login_request',{..._0x26301b,'tunnelSessionId':_0x5dfa18?.[_0x28ea39(0x1c4)],'loginStatus':_0x3b3f1a[_0x28ea39(0x198)],'hasSessionState':_0x3636ec['BbqxA'](Boolean,_0x3b3f1a[_0x28ea39(0x182)]),'hasTestOutput':_0x3636ec[_0x28ea39(0x180)](Boolean,_0x3b3f1a['test_output']),'bridgeError':_0x3636ec[_0x28ea39(0x18c)](errorMessageForTelemetry,_0x35a3b0)}),_0x3b3f1a;});}catch(_0x2a457e){await _0x133c8b['telemetry']?.['trackPhaseError'](_0x3636ec['MdkzP'],_0x35a3b0??_0x2a457e,{..._0x26301b,'tunnelSessionId':_0x5dfa18['sessionId'],'bridgeError':errorMessageForTelemetry(_0x35a3b0)});throw _0x3636ec['IHbJT'](_0x35a3b0,_0x2a457e);}}catch(_0x29943e){!_0x2780de&&await _0x133c8b[_0x8d68fa(0x141)]?.[_0x8d68fa(0x17d)](_0x3636ec[_0x8d68fa(0x188)],_0x29943e,{..._0x26301b,'tunnelSessionId':_0x5dfa18?.['sessionId']});throw _0x29943e;}finally{(_0x3636ec[_0x8d68fa(0x171)](_0x5dfa18,_0x2f5ccc)||_0x38553b)&&(_0x133c8b['telemetry']?.['trackPhaseStart'](_0x8d68fa(0x1cd),{..._0x26301b,'tunnelSessionId':_0x5dfa18?.[_0x8d68fa(0x1c4)]}),_0x38553b?.['close'](),_0x2f5ccc&&await _0x2f5ccc['close']()['catch'](()=>{}),_0x5dfa18&&await deleteTunnelSession(_0x5dfa18[_0x8d68fa(0x1c4)])[_0x8d68fa(0x19a)](()=>{}),_0x133c8b['telemetry']?.[_0x8d68fa(0x19b)]('tunnel_login_cleanup',{..._0x26301b,'tunnelSessionId':_0x5dfa18?.[_0x8d68fa(0x1c4)]}));}}function _0x5619(_0x3ad8f4,_0x431686){_0x3ad8f4=_0x3ad8f4-0x130;const _0x559342=_0x5593();let _0x5619a2=_0x559342[_0x3ad8f4];return _0x5619a2;}export async function manualBrowserLogin(_0x4c8af9,_0x22680b,_0x59d192={}){const _0x507878=_0x210abb,_0x43ec73={'zvTGw':function(_0x388b27,_0xa5273e){return _0x388b27(_0xa5273e);},'GdXKz':function(_0x532823,_0x19676a,_0x2f2934){return _0x532823(_0x19676a,_0x2f2934);},'ZyqqD':_0x507878(0x17b),'lNpPr':function(_0x47c72c){return _0x47c72c();},'HmxzW':function(_0x3bd751,_0x465ce3){return _0x3bd751+_0x465ce3;},'QiIwV':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','Vgyqb':'about:blank','RsYQG':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','bHyAt':function(_0x3f801e,_0x48b558){return _0x3f801e(_0x48b558);},'ewRYh':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','GtDNO':function(_0x592417,_0x1cf616){return _0x592417(_0x1cf616);},'cJRES':'POST'};if(!_0x43ec73[_0x507878(0x143)](isInteractive))throw new Error(_0x43ec73[_0x507878(0x16d)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x4c8af9[_0x507878(0x18a)]+_0x507878(0x1ce)+_0x43ec73[_0x507878(0x1bc)],_0x507878(0x175)));const _0x1dafee=_0x22680b&&_0x22680b['domains'][_0x507878(0x15b)]>0x0?_0x22680b[_0x507878(0x1c9)][0x0]:_0x43ec73[_0x507878(0x148)];console[_0x507878(0x1b2)](_0x43ec73['RsYQG']),console[_0x507878(0x1b2)](_0x507878(0x165)),await new Promise(_0x33f4de=>setTimeout(_0x33f4de,0x7d0));const _0x2fc2fd=await chromium['launch']({'headless':![]});let _0x47d33d=null;try{const _0x4edf13={'ignoreHTTPSErrors':!![]};_0x22680b?.['setupHeaders']&&(_0x4edf13['extraHTTPHeaders']=_0x22680b[_0x507878(0x14b)]);const _0x2becaa=await _0x2fc2fd[_0x507878(0x13f)](_0x4edf13);await _0x43ec73['bHyAt'](addProfileSetupBanner,_0x2becaa);const _0xd21c35=await _0x2becaa['newPage']();await _0xd21c35['goto'](_0x1dafee);let _0x22045c=![];await new Promise(_0x4654e4=>{const _0x4cafa4={'DunJG':function(_0x3285a8){return _0x3285a8();},'oeKXg':function(_0x39084e,_0x5a1ac1){return _0x43ec73['zvTGw'](_0x39084e,_0x5a1ac1);},'lfgmp':function(_0x34fc74){return _0x34fc74();}},_0x487c9a=_0x43ec73['GdXKz'](setTimeout,()=>{const _0x215014=_0x5619;_0x22045c=!![],console['error'](_0x215014(0x160)+MANUAL_LOGIN_TIMEOUT_MS/0xea60+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x4cafa4['DunJG'](_0x4654e4);},MANUAL_LOGIN_TIMEOUT_MS);_0xd21c35['on'](_0x43ec73['ZyqqD'],async()=>{const _0x372208=_0x5619;_0x4cafa4[_0x372208(0x1d3)](clearTimeout,_0x487c9a);try{const _0x51f4c3=await _0x2becaa[_0x372208(0x14d)]();_0x47d33d=_0x51f4c3;}catch{}_0x4cafa4[_0x372208(0x1d2)](_0x4654e4);});});if(_0x22045c&&!_0x47d33d)throw new Error('Browser\x20login\x20timed\x20out\x20before\x20completion.');}finally{await _0x2fc2fd[_0x507878(0x17b)]()['catch'](()=>{});}if(!_0x47d33d)throw new Error(_0x43ec73[_0x507878(0x196)]);return _0x59d192['persistSessionState']!==![]&&await apiRequest(_0x507878(0x15d)+_0x43ec73['GtDNO'](encodeURIComponent,_0x4c8af9['name'])+'/session',{'method':_0x43ec73[_0x507878(0x16e)],'body':JSON[_0x507878(0x17c)]({'session_state':_0x47d33d,'updated_by':'cli:manual-login'})}),{'sessionState':_0x47d33d};}export async function promptSaveCredentials(_0xba8bf9){const _0x48bf61=_0x210abb,_0x1edcd7={'dfNYe':'confirm','vCFLZ':function(_0x485e48,_0x225294,_0x131920){return _0x485e48(_0x225294,_0x131920);},'cyjJQ':function(_0xe9a06a,_0x156528){return _0xe9a06a(_0x156528);},'DZqgC':'PUT','mDwva':'\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.'},_0x4413d1=process['env'][_0x48bf61(0x1b5)],_0x4b31f9=process['env']['RANGER_TEST_PASSWORD'];if(!_0x4413d1||!_0x4b31f9)return;if(!isInteractive())return;const {save:_0x1d6586}=await _0x5cf26a['prompt']([{'type':_0x1edcd7[_0x48bf61(0x1b3)],'name':'save','message':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','default':![]}]);if(!_0x1d6586)return;await _0x1edcd7['vCFLZ'](apiRequest,'/api/v1/profiles/'+_0x1edcd7['cyjJQ'](encodeURIComponent,_0xba8bf9),{'method':_0x1edcd7[_0x48bf61(0x14e)],'body':JSON['stringify']({'username':_0x4413d1,'password':_0x4b31f9})}),console[_0x48bf61(0x1b2)](_0x1edcd7['mDwva']);}export async function resolveCloudProfileSession(_0xa226f7,_0x31b8bc={}){const _0x57ac01=_0x210abb,_0x389f24={'GiEdd':function(_0x1c831b,_0x12aea3){return _0x1c831b===_0x12aea3;},'SNaUN':function(_0x415ae5,_0x3dc03c){return _0x415ae5(_0x3dc03c);},'AOKsE':function(_0x16cd8b,_0x541d11){return _0x16cd8b>_0x541d11;},'QpmSs':function(_0xe8ca38,_0x42dc3a){return _0xe8ca38&&_0x42dc3a;},'nzWog':function(_0x2bcf21,_0x52734b,_0x495174,_0x43bd95,_0x1ff032){return _0x2bcf21(_0x52734b,_0x495174,_0x43bd95,_0x1ff032);},'TnQmW':function(_0x51018a,_0x45cf93){return _0x51018a(_0x45cf93);},'Dquir':function(_0x48f079,_0x499577){return _0x48f079(_0x499577);},'klBeH':function(_0x53b227,_0x2418c3){return _0x53b227||_0x2418c3;},'tURku':function(_0x454589,_0x159f02,_0x44db6c,_0x31519a){return _0x454589(_0x159f02,_0x44db6c,_0x31519a);},'fBivW':function(_0x31327a,_0x5bffde,_0x156b12){return _0x31327a(_0x5bffde,_0x156b12);},'aUBfU':function(_0x4f18c6,_0x2a11ba){return _0x4f18c6===_0x2a11ba;},'hwpfm':_0x57ac01(0x1bd),'kznYg':'\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','xzunH':function(_0x598146,_0x5c05ea){return _0x598146===_0x5c05ea;},'jjdKq':_0x57ac01(0x132),'zsRqM':function(_0x261957,_0x58b81b,_0x3d70a0,_0x5d3351,_0x24d65b,_0x56ac54,_0x1e6f20,_0x3f20e2){return _0x261957(_0x58b81b,_0x3d70a0,_0x5d3351,_0x24d65b,_0x56ac54,_0x1e6f20,_0x3f20e2);},'DDPqX':_0x57ac01(0x133),'tumfv':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','Bbupc':function(_0x386716,_0x39ca6d){return _0x386716 instanceof _0x39ca6d;},'JvbLu':function(_0xc5c7ae,_0x2a1d38,_0x4061b5,_0x47f92c,_0x5268ef,_0x5ad81a,_0x26331e,_0x2bba94){return _0xc5c7ae(_0x2a1d38,_0x4061b5,_0x47f92c,_0x5268ef,_0x5ad81a,_0x26331e,_0x2bba94);}},_0x40f911=_0xa226f7[_0x57ac01(0x1c0)]??{},_0x479dbb=await fetchAuthConfig(),_0xc6f0a8=_0x479dbb?resolveAuthEnvironmentLocally(_0x479dbb,_0xa226f7[_0x57ac01(0x1ab)]):null,_0x5d2844=_0x389f24['GiEdd'](typeof _0xc6f0a8?.[_0x57ac01(0x1c1)],_0x57ac01(0x136))&&_0xc6f0a8[_0x57ac01(0x1c1)]['trim']()?_0xc6f0a8[_0x57ac01(0x1c1)]:undefined,_0x2028f5=_0x389f24[_0x57ac01(0x164)](typeof _0x40f911[_0x57ac01(0x1c1)],'string')&&_0x40f911[_0x57ac01(0x1c1)][_0x57ac01(0x189)]()?_0x40f911['loginInstructions']:undefined,_0x1dd73b=_0x2028f5||!_0x5d2844?_0x40f911:{..._0x40f911,'loginInstructions':_0x5d2844},_0x4fd1e9=_0x389f24['SNaUN'](Boolean,_0x1dd73b[_0x57ac01(0x1c1)]?.['trim']()),_0x1bc491=Boolean(_0x40f911['forceLogin']||_0xc6f0a8?.['forceLogin']),_0x1ebd89=_0xc6f0a8?.['domains'],_0x59d869=_0x40f911['setupHeaders'],_0x4cea1e=_0x59d869??_0xc6f0a8?.[_0x57ac01(0x14b)],_0x458421=_0x31b8bc[_0x57ac01(0x145)]??_0x40f911[_0x57ac01(0x170)]??(_0x1ebd89&&_0x389f24[_0x57ac01(0x186)](_0x1ebd89['length'],0x0)?_0x1ebd89[0x0]:''),_0x1ced27=_0x458421?needsTunnel(_0x458421):![],_0x1ae4ea={'invalidateOn':_0xc6f0a8?.[_0x57ac01(0x16b)],'userAgent':_0xc6f0a8?.['browserOptions']?.['userAgent']??_0x40f911['userAgent']};_0x1bc491&&console['log'](_0x57ac01(0x13c)+_0xa226f7['name']+_0x57ac01(0x1a1));if(!_0x1bc491){const _0x2172dc=await checkLocalCache(_0xa226f7['name'],_0xa226f7['organizationId'],_0x458421,_0x4cea1e,_0x1ae4ea);if(_0x2172dc){if(_0x389f24['QpmSs'](_0x458421,!_0x1ced27)){const _0x50c0ee=await _0x389f24['nzWog'](isCachedSessionLive,_0x2172dc[_0x57ac01(0x179)],_0x458421,{'sessionCheckPath':_0xc6f0a8?.[_0x57ac01(0x14f)],'setupHeaders':_0x4cea1e},{'launchBrowser':launchRealBrowser});if(_0x50c0ee)return console['log'](_0x57ac01(0x1a2)+_0xa226f7[_0x57ac01(0x18a)]+'\x22'),{'authPath':_0x2172dc['storageStatePath'],'settings':_0x1dd73b,'resolvedEnv':_0xc6f0a8};console['log'](_0x57ac01(0x168)+_0xa226f7[_0x57ac01(0x18a)]+_0x57ac01(0x1a3)),emitSessionValidationHint(_0x458421,_0xc6f0a8);}else return _0x1ced27&&console['log'](_0x57ac01(0x169)+_0xa226f7['name']+'\x22'),{'authPath':_0x2172dc['storageStatePath'],'settings':_0x1dd73b,'resolvedEnv':_0xc6f0a8};}}if(!_0x1bc491&&_0xa226f7['sessionState']){if(_0x1ced27)console[_0x57ac01(0x1b2)](_0x57ac01(0x156)+_0x458421+_0x57ac01(0x149)+_0xa226f7[_0x57ac01(0x18a)]+'\x22');else{const _0x3d8c4a=await writeSessionToLocalCache(_0xa226f7['name'],_0xa226f7[_0x57ac01(0x15a)],_0x458421,_0x4cea1e,_0xa226f7['sessionState'],_0x1ebd89,_0x1ae4ea);if(_0x458421){const _0x22a703=await isCachedSessionLive(_0x3d8c4a,_0x458421,{'sessionCheckPath':_0xc6f0a8?.['sessionCheckPath'],'setupHeaders':_0x4cea1e},{'launchBrowser':launchRealBrowser});if(_0x22a703)return console['log']('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0xa226f7[_0x57ac01(0x18a)]+_0x57ac01(0x17a)),{'authPath':_0x3d8c4a,'settings':_0x1dd73b,'resolvedEnv':_0xc6f0a8};console['log']('\x20\x20Cloud\x20session\x20for\x20\x22'+_0xa226f7['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x458421,_0xc6f0a8);}else return{'authPath':_0x3d8c4a,'settings':_0x1dd73b,'resolvedEnv':_0xc6f0a8};}}if(_0x4fd1e9)return console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0xa226f7['name']+_0x57ac01(0x1a6)),{'authPath':undefined,'settings':_0x1dd73b,'resolvedEnv':_0xc6f0a8};console[_0x57ac01(0x1b2)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0xa226f7[_0x57ac01(0x18a)]+_0x57ac01(0x135));const _0x2f96b8=_0x389f24[_0x57ac01(0x1ba)](Boolean,process[_0x57ac01(0x17f)][_0x57ac01(0x1b5)])&&_0x389f24[_0x57ac01(0x199)](Boolean,process['env']['RANGER_TEST_PASSWORD']),_0x2cc767=Boolean(_0xa226f7[_0x57ac01(0x16c)]);if(_0x389f24['klBeH'](_0x2f96b8,_0x2cc767))try{const _0x2d0159=_0x458421?await _0x389f24[_0x57ac01(0x173)](serverSideLoginWithOptionalTunnel,_0xa226f7[_0x57ac01(0x18a)],_0x458421,{'force':_0x1bc491,'telemetry':_0x31b8bc['telemetry']}):await _0x389f24['fBivW'](serverSideLogin,_0xa226f7['name'],{'force':_0x1bc491});if(_0x389f24[_0x57ac01(0x167)](_0x2d0159['status'],_0x389f24['hwpfm']))console[_0x57ac01(0x1b2)](_0x389f24[_0x57ac01(0x138)]);else{if(_0x389f24['xzunH'](_0x2d0159['status'],_0x389f24['jjdKq'])&&_0x2d0159[_0x57ac01(0x182)]){console[_0x57ac01(0x1b2)](_0x57ac01(0x166));const _0x3fdaf8=await _0x389f24[_0x57ac01(0x131)](writeSessionToLocalCache,_0xa226f7[_0x57ac01(0x18a)],_0xa226f7[_0x57ac01(0x15a)],_0x458421,_0x4cea1e,_0x2d0159['session_state'],_0x1ebd89,_0x1ae4ea);return _0x2f96b8&&!_0x2cc767&&await promptSaveCredentials(_0xa226f7['name']),{'authPath':_0x3fdaf8,'settings':_0x1dd73b,'resolvedEnv':_0xc6f0a8};}else _0x2d0159['test_output']&&(console['log'](_0x389f24['DDPqX']),console[_0x57ac01(0x1b2)](_0x2d0159['test_output'])),console['log'](_0x389f24['tumfv']);}}catch(_0x24107d){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x389f24[_0x57ac01(0x13b)](_0x24107d,Error)?_0x24107d[_0x57ac01(0x19c)]:_0x389f24[_0x57ac01(0x199)](String,_0x24107d))),console['log'](_0x57ac01(0x1c7));}const _0x12d8ad=_0xc6f0a8?{..._0xc6f0a8,'setupHeaders':_0x4cea1e}:_0x458421?{'key':_0xa226f7['environmentKey']??'','domains':[_0x458421],'setupHeaders':_0x4cea1e}:null,{sessionState:_0x52ca12}=await manualBrowserLogin(_0xa226f7,_0x12d8ad,{'persistSessionState':!_0x1ced27}),_0x148d2d=await _0x389f24[_0x57ac01(0x17e)](writeSessionToLocalCache,_0xa226f7['name'],_0xa226f7[_0x57ac01(0x15a)],_0x458421,_0x4cea1e,_0x52ca12,_0x1ebd89,_0x1ae4ea);return{'authPath':_0x148d2d,'settings':_0x1dd73b,'resolvedEnv':_0xc6f0a8};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x136559=_0x3b2f;(function(_0x4cc65f,_0x41ed89){const _0xbd0886=_0x3b2f,_0xe6a3e6=_0x4cc65f();while(!![]){try{const _0x3d4eea=parseInt(_0xbd0886(0x1e4))/0x1+parseInt(_0xbd0886(0x1da))/0x2*(parseInt(_0xbd0886(0x1f1))/0x3)+-parseInt(_0xbd0886(0x1eb))/0x4*(-parseInt(_0xbd0886(0x1ec))/0x5)+-parseInt(_0xbd0886(0x1e6))/0x6+parseInt(_0xbd0886(0x1d9))/0x7*(-parseInt(_0xbd0886(0x1e1))/0x8)+-parseInt(_0xbd0886(0x1f8))/0x9+parseInt(_0xbd0886(0x1fa))/0xa*(parseInt(_0xbd0886(0x1e8))/0xb);if(_0x3d4eea===_0x41ed89)break;else _0xe6a3e6['push'](_0xe6a3e6['shift']());}catch(_0x3c2849){_0xe6a3e6['push'](_0xe6a3e6['shift']());}}}(_0x2283,0x8d3c9));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x3d113f=process[_0x136559(0x1f3)],_0x1608f9={'stdin':process[_0x136559(0x1d8)],'stdout':process[_0x136559(0x1dd)]}){const _0x23857e=_0x136559;if(_0x3d113f['CI'])return![];return Boolean(_0x1608f9['stdin']['isTTY'])&&Boolean(_0x1608f9['stdout'][_0x23857e(0x1ed)]);}export const DEFAULT_INVALIDATE_ON=[];function _0x3b2f(_0x2f7599,_0x2d2c4f){_0x2f7599=_0x2f7599-0x1cc;const _0x22832a=_0x2283();let _0x3b2f57=_0x22832a[_0x2f7599];return _0x3b2f57;}export function sessionCacheHash(_0x51a9c6){const _0x143963=_0x136559,_0x54f9df={'wULXS':function(_0x941d69,_0x4f971f){return _0x941d69(_0x4f971f);},'ebzkI':'userAgent','vLPyS':function(_0x405e6a,_0x32473c){return _0x405e6a!==_0x32473c;},'TfLcm':function(_0x4c8212,_0x529bd6){return _0x4c8212(_0x529bd6);}},_0x26c4dc=new Set(_0x51a9c6[_0x143963(0x1f4)]??DEFAULT_INVALIDATE_ON),_0x923de4={'orgId':_0x51a9c6['orgId'],'profileName':_0x51a9c6['profileName']};return _0x26c4dc[_0x143963(0x1f5)](_0x143963(0x1fc))&&(_0x923de4[_0x143963(0x1cf)]=_0x51a9c6[_0x143963(0x1cf)]),_0x26c4dc['has'](_0x143963(0x1db))&&(_0x923de4['setupHeaders']=_0x51a9c6['setupHeaders']?_0x54f9df['wULXS'](sortObjectKeys,_0x51a9c6['setupHeaders']):_0x51a9c6[_0x143963(0x1db)]),_0x26c4dc['has']('port')&&(_0x923de4['port']=_0x54f9df[_0x143963(0x1d6)](extractPort,_0x51a9c6[_0x143963(0x1cf)])),_0x26c4dc['has'](_0x54f9df['ebzkI'])&&_0x51a9c6[_0x143963(0x1ef)]!==undefined&&(_0x923de4[_0x143963(0x1ef)]=_0x51a9c6[_0x143963(0x1ef)]),_0x26c4dc[_0x143963(0x1f5)]('clientIp')&&_0x54f9df[_0x143963(0x1de)](_0x51a9c6['clientIp'],undefined)&&(_0x923de4['clientIp']=_0x51a9c6['clientIp']),_0x54f9df[_0x143963(0x1ea)](createHash,'sha256')['update'](JSON[_0x143963(0x1e7)](_0x923de4))['digest']('hex')['slice'](0x0,0xc);}function extractPort(_0x3b22c1){const _0x2d121d=_0x136559;try{return new URL(_0x3b22c1)[_0x2d121d(0x1f9)];}catch{return'';}}function sortObjectKeys(_0x4264b8){const _0xa96dfa=_0x136559,_0x317c78={};for(const _0x1cd78d of Object['keys'](_0x4264b8)[_0xa96dfa(0x1d2)]()){_0x317c78[_0x1cd78d]=_0x4264b8[_0x1cd78d];}return _0x317c78;}export function getSessionCachePath(_0x582cd8,_0x1d3f70){const _0x1d1619=_0x136559,_0x27a2c9={'eVTBj':'auth'};return join(getRangerHomeDir(),_0x27a2c9[_0x1d1619(0x1cd)],_0x582cd8+'-'+_0x1d3f70+'.json');}export function getStorageStatePath(_0x43d400){const _0x130674=_0x136559,_0x29bd4a={'GdmpX':_0x130674(0x1d3)};return _0x43d400['replace'](/\.json$/,_0x29bd4a[_0x130674(0x1e5)]);}export function needsTunnel(_0x22b68c){const _0x3ad445=_0x136559,_0x59a46d={'PpZKM':function(_0x40b822,_0x4fd77f){return _0x40b822===_0x4fd77f;},'UQwbt':'localhost','kvhKi':'127.0.0.1','JZTNm':'.localhost'};let _0x2a0ead;try{_0x2a0ead=new URL(_0x22b68c)[_0x3ad445(0x1f2)];}catch{return![];}if(_0x59a46d[_0x3ad445(0x1fb)](_0x2a0ead,_0x59a46d['UQwbt'])||_0x2a0ead===_0x59a46d['kvhKi'])return!![];if(_0x2a0ead[_0x3ad445(0x1d7)](_0x59a46d['JZTNm']))return!![];if(_0x2a0ead['includes']('localhost.'))return!![];return![];}export function hostnameOf(_0x3600ce){return new URL(_0x3600ce)['hostname'];}export function duplicateCookiesForDomains(_0x44661b,_0x389387){const _0x1df63f=_0x136559,_0x550db8=[..._0x44661b],_0x3a3f8b=new Set(_0x44661b['map'](_0x3ff9fe=>_0x3ff9fe[_0x1df63f(0x1f7)]));for(const _0xb24cf2 of _0x389387){let _0x610c60;try{_0x610c60=hostnameOf(_0xb24cf2);}catch{continue;}if(!_0x610c60)continue;const _0x5843d1=_0x610c60[_0x1df63f(0x1cc)]('.')?_0x610c60:'.'+_0x610c60;if(_0x3a3f8b[_0x1df63f(0x1f5)](_0x610c60)||_0x3a3f8b[_0x1df63f(0x1f5)](_0x5843d1))continue;for(const _0x3657e0 of _0x44661b){_0x550db8[_0x1df63f(0x1d5)]({..._0x3657e0,'domain':_0x5843d1});}_0x3a3f8b['add'](_0x5843d1);}return _0x550db8;}export function resolveAuthEnvironmentLocally(_0x2fe187,_0x2e8320){const _0x2902ce=_0x136559,_0x446039={'WVhFu':function(_0x34eb14,_0x1447ca){return _0x34eb14===_0x1447ca;}},_0x19f171=_0x2fe187[_0x2902ce(0x1e0)];if(_0x2e8320){const _0x35b50f=_0x19f171[_0x2e8320];if(!_0x35b50f)return null;return{'key':_0x2e8320,..._0x35b50f};}if(_0x2fe187['defaultEnvironmentKey']){const _0x173f48=_0x19f171[_0x2fe187['defaultEnvironmentKey']];if(!_0x173f48)return null;return{'key':_0x2fe187['defaultEnvironmentKey'],..._0x173f48};}const _0x8e7a61=Object['keys'](_0x19f171);if(_0x446039[_0x2902ce(0x1dc)](_0x8e7a61[_0x2902ce(0x1d1)],0x1)){const _0xb5f207=_0x8e7a61[0x0];return{'key':_0xb5f207,..._0x19f171[_0xb5f207]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x209e81,_0xcc6825){const _0x19f7ec=_0x136559;try{if(_0xcc6825)return new URL(_0xcc6825,_0x209e81)[_0x19f7ec(0x1e9)]();return new URL(_0x209e81)[_0x19f7ec(0x1e9)]();}catch{return null;}}export function looksLikeLoginUrl(_0x2c6a64){try{const _0x40fb38=new URL(_0x2c6a64);return LOGIN_URL_PATTERN['test'](_0x40fb38['pathname']);}catch{return LOGIN_URL_PATTERN['test'](_0x2c6a64);}}function _0x2283(){const _0x1177d5=['eVTBj','newContext','effectiveBaseUrl','newPage','length','sort','.storageState.json','status','push','wULXS','endsWith','stdin','5236973XwgnHB','40DDQYoE','setupHeaders','WVhFu','stdout','vLPyS','launchBrowser','environments','8kERZKs','goto','qhWbB','179580chaISv','GdmpX','6941940rjQjkK','stringify','56496twLzuk','toString','TfLcm','1823740WwipVK','5SjslFx','isTTY','close','userAgent','sessionCheckPath','15306gPItsG','hostname','env','invalidateOn','has','url','domain','93897SnRJCV','port','3420NXkePc','PpZKM','baseUrl','startsWith'];_0x2283=function(){return _0x1177d5;};return _0x2283();}export async function isCachedSessionLive(_0x15ee92,_0x52b7b7,_0x14e1a3={},_0x976bd={}){const _0x142cda=_0x136559,_0x35a907={'caEMU':function(_0x14d52c,_0x319528,_0xdcc245){return _0x14d52c(_0x319528,_0xdcc245);},'qhWbB':'domcontentloaded','Fhdbb':function(_0x36d96c,_0xfbabd6){return _0x36d96c===_0xfbabd6;}},_0xcee0a1=_0x35a907['caEMU'](buildSessionCheckUrl,_0x52b7b7,_0x14e1a3[_0x142cda(0x1f0)]);if(!_0xcee0a1)return!![];if(!_0x976bd['launchBrowser'])return!![];let _0xff557f=null;try{_0xff557f=await _0x976bd[_0x142cda(0x1df)]();const _0x311dc5=await _0xff557f[_0x142cda(0x1ce)]({'storageState':_0x15ee92,'ignoreHTTPSErrors':!![],..._0x14e1a3['setupHeaders']?{'extraHTTPHeaders':_0x14e1a3[_0x142cda(0x1db)]}:{}}),_0x4b5341=await _0x311dc5[_0x142cda(0x1d0)](),_0x1f940d=await _0x4b5341[_0x142cda(0x1e2)](_0xcee0a1,{'waitUntil':_0x35a907[_0x142cda(0x1e3)],'timeout':0x3a98}),_0x2fcc7d=_0x1f940d?.[_0x142cda(0x1d4)]();if(_0x2fcc7d===0x191||_0x35a907['Fhdbb'](_0x2fcc7d,0x193))return![];const _0x202f26=_0x4b5341[_0x142cda(0x1f6)]();if(looksLikeLoginUrl(_0x202f26))return![];return!![];}catch{return![];}finally{if(_0xff557f)await _0xff557f[_0x142cda(0x1ee)]()['catch'](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x5793c1=_0x5da1;(function(_0x332950,_0x44eaa2){const _0x18b9a3=_0x5da1,_0xd6be1a=_0x332950();while(!![]){try{const _0x3ebb01=-parseInt(_0x18b9a3(0x165))/0x1+parseInt(_0x18b9a3(0x15a))/0x2+parseInt(_0x18b9a3(0x162))/0x3+parseInt(_0x18b9a3(0x166))/0x4*(parseInt(_0x18b9a3(0x168))/0x5)+-parseInt(_0x18b9a3(0x161))/0x6+parseInt(_0x18b9a3(0x164))/0x7+parseInt(_0x18b9a3(0x15d))/0x8*(-parseInt(_0x18b9a3(0x15b))/0x9);if(_0x3ebb01===_0x44eaa2)break;else _0xd6be1a['push'](_0xd6be1a['shift']());}catch(_0xacbab8){_0xd6be1a['push'](_0xd6be1a['shift']());}}}(_0x4155,0x9b975));function _0x4155(){const _0x5b3d85=['final','15dRdafM','2339270YUpxGY','1195245IEGwwY','SqTZH','48zcxrcg','SxhfQ','getAuthTag','subarray','7049226ZSrIVX','49152ZShrjx','ranger-auth-encryption','6701359EZNsIb','419228YHhMSw','1179832YAQWmH'];_0x4155=function(){return _0x5b3d85;};return _0x4155();}import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM='aes-256-gcm',SALT=_0x5793c1(0x163),KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0x106c7b){const _0x405c79={'VCjgH':function(_0x55d5cf,_0x1cbe75,_0x25ecaf,_0x59e446,_0x39fd8e,_0x5f2ab2){return _0x55d5cf(_0x1cbe75,_0x25ecaf,_0x59e446,_0x39fd8e,_0x5f2ab2);}};return _0x405c79['VCjgH'](pbkdf2Sync,_0x106c7b,SALT,0x186a0,KEY_LENGTH,'sha256');}function _0x5da1(_0x22d512,_0x5a2b8e){_0x22d512=_0x22d512-0x15a;const _0x4155c5=_0x4155();let _0x5da17a=_0x4155c5[_0x22d512];return _0x5da17a;}export function encrypt(_0x4b22c0,_0x3d2dae){const _0x2e2f2a=_0x5793c1,_0x9a1aa8={'pyCLc':function(_0x1b9391,_0x49afee){return _0x1b9391(_0x49afee);},'Orerd':function(_0x3fd838,_0x2c5013,_0x41ca18,_0x5bb932){return _0x3fd838(_0x2c5013,_0x41ca18,_0x5bb932);},'SqTZH':'utf8'},_0x512a1a=deriveKey(_0x3d2dae),_0x49408a=_0x9a1aa8['pyCLc'](randomBytes,IV_LENGTH),_0x987833=_0x9a1aa8['Orerd'](createCipheriv,ALGORITHM,_0x512a1a,_0x49408a),_0x839c46=Buffer['concat']([_0x987833['update'](_0x4b22c0,_0x9a1aa8[_0x2e2f2a(0x15c)]),_0x987833['final']()]),_0x415140=_0x987833[_0x2e2f2a(0x15f)]();return Buffer['concat']([_0x49408a,_0x415140,_0x839c46]);}export function decrypt(_0x305af4,_0x520c){const _0x2c75d2=_0x5793c1,_0x11b7ce={'SxhfQ':function(_0x28e9ca,_0x4f0918){return _0x28e9ca+_0x4f0918;},'YIjxH':function(_0x5ec70b,_0x22c9ad,_0x4e54a9,_0x1082f2){return _0x5ec70b(_0x22c9ad,_0x4e54a9,_0x1082f2);},'ppbFF':'utf8'},_0x3c50c2=deriveKey(_0x520c),_0x476e0a=_0x305af4[_0x2c75d2(0x160)](0x0,IV_LENGTH),_0x41346e=_0x305af4['subarray'](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x3fb0ba=_0x305af4[_0x2c75d2(0x160)](_0x11b7ce[_0x2c75d2(0x15e)](IV_LENGTH,TAG_LENGTH)),_0x33ce10=_0x11b7ce['YIjxH'](createDecipheriv,ALGORITHM,_0x3c50c2,_0x476e0a);return _0x33ce10['setAuthTag'](_0x41346e),_0x11b7ce[_0x2c75d2(0x15e)](_0x33ce10['update'](_0x3fb0ba),_0x33ce10[_0x2c75d2(0x167)](_0x11b7ce['ppbFF']));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x46850f=_0x13a4;(function(_0x185166,_0x2e2308){const _0x4d513c=_0x13a4,_0x3b4900=_0x185166();while(!![]){try{const _0x1798bd=-parseInt(_0x4d513c(0xba))/0x1+parseInt(_0x4d513c(0xd3))/0x2*(-parseInt(_0x4d513c(0xc1))/0x3)+parseInt(_0x4d513c(0xbe))/0x4*(-parseInt(_0x4d513c(0xb8))/0x5)+parseInt(_0x4d513c(0xb2))/0x6+parseInt(_0x4d513c(0xbd))/0x7+-parseInt(_0x4d513c(0xdd))/0x8+parseInt(_0x4d513c(0xca))/0x9*(parseInt(_0x4d513c(0xc4))/0xa);if(_0x1798bd===_0x2e2308)break;else _0x3b4900['push'](_0x3b4900['shift']());}catch(_0x280f1b){_0x3b4900['push'](_0x3b4900['shift']());}}}(_0x232d,0x7ed43));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x13a4(_0x2ebcbe,_0xb34f16){_0x2ebcbe=_0x2ebcbe-0xab;const _0x232d79=_0x232d();let _0x13a441=_0x232d79[_0x2ebcbe];return _0x13a441;}import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set(['--token','-t','--secret','--api-key',_0x46850f(0xc5),_0x46850f(0xaf),'--password','--pass',_0x46850f(0xd1),_0x46850f(0xd0),_0x46850f(0xc6),_0x46850f(0xcf),'--credentials']),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x56c4ba){return TOKEN_PATTERNS['some'](_0x1e966c=>_0x1e966c['test'](_0x56c4ba));}function _0x232d(){const _0x3c66b0=['no_token','has','invalid_option_value','[desire-path]\x20Payload:\x20','--key','sessionId','error','2479566zeIUBp','WkDjZ','eRtzr','stringify','startsWith','0|5|7|2|3|4|6|1','1255MwEnIq','metadata','585019LcOvjB','slice','uKYdV','2068864nfKlLx','6028pUyKyb','join','has_token','1101bHkihf','missing_option','NiWGV','70wCUeQJ','--apikey','--header','unknown_argument','toLowerCase','isTTY','3520017WjStBB','DEBUG','Unknown\x20command','duCdV','includes','--cookie','--authorization','--auth','env','5504ihRToF','Missing\x20required\x20argument','catch','evhTN','pYUWV','Not\x20enough\x20non-option\x20arguments','BGChd','push','featureId','unknown_command','7630824ioFDBp'];_0x232d=function(){return _0x3c66b0;};return _0x232d();}export function sanitizeArgs(_0x56bf27){const _0x3ce628=_0x46850f,_0x5eb3d5={'FjoCE':function(_0xf4c86f,_0x30443f){return _0xf4c86f<_0x30443f;},'NiWGV':'[REDACTED]','pYUWV':function(_0x1edc2f,_0x318dc3){return _0x1edc2f!==_0x318dc3;},'WkDjZ':function(_0x2ed319,_0x3ddd50){return _0x2ed319(_0x3ddd50);}},_0x126bae=[];let _0x44f596=![];for(let _0x28961f=0x0;_0x5eb3d5['FjoCE'](_0x28961f,_0x56bf27['length']);_0x28961f++){const _0x58df25=_0x56bf27[_0x28961f];if(_0x44f596){_0x126bae[_0x3ce628(0xda)](_0x5eb3d5[_0x3ce628(0xc3)]),_0x44f596=![];continue;}if(_0x58df25[_0x3ce628(0xb6)]('--')||_0x58df25[_0x3ce628(0xb6)]('-')){const _0x17fb9c=_0x58df25['indexOf']('=');if(_0x5eb3d5[_0x3ce628(0xd7)](_0x17fb9c,-0x1)){const _0xc87497=_0x58df25['slice'](0x0,_0x17fb9c)['toLowerCase']();if(SENSITIVE_FLAGS['has'](_0xc87497)){_0x126bae['push'](_0x58df25[_0x3ce628(0xbb)](0x0,_0x17fb9c)+'=[REDACTED]');continue;}}else{const _0xbf7fca=_0x58df25[_0x3ce628(0xc8)]();SENSITIVE_FLAGS[_0x3ce628(0xac)](_0xbf7fca)&&(_0x44f596=!![]);}_0x126bae['push'](_0x58df25);}else _0x5eb3d5[_0x3ce628(0xb3)](looksLikeToken,_0x58df25)?_0x126bae[_0x3ce628(0xda)]('[REDACTED]'):_0x126bae[_0x3ce628(0xda)](_0x58df25);}return _0x126bae[_0x3ce628(0xbf)]('\x20');}export async function logDesirePath(_0x5e61ac){const _0x528161=_0x46850f,_0x195ae2={'yPsyU':function(_0x35d90e){return _0x35d90e();},'PazaL':function(_0x53306f){return _0x53306f();},'ZkSwI':_0x528161(0xc0),'BGChd':'application/json','uKYdV':'Authorization','evhTN':function(_0x460d0c,_0x424758,_0x198bc4){return _0x460d0c(_0x424758,_0x198bc4);}};try{const _0x559f6e=await _0x195ae2['yPsyU'](getToken)[_0x528161(0xd5)](()=>null),_0x5c7ec6=getApiBaseUrl(),_0x1f7629=_0x195ae2['PazaL'](getCurrentVersion),_0x59bca5=_0x559f6e?_0x195ae2['ZkSwI']:_0x528161(0xab),_0x1aa3ab={..._0x5e61ac[_0x528161(0xb9)],'authStatus':_0x59bca5,'isTty':process['stdout'][_0x528161(0xc9)]??![]},_0x127da3={'Content-Type':_0x195ae2[_0x528161(0xd9)]};_0x559f6e&&(_0x127da3[_0x195ae2[_0x528161(0xbc)]]='Bearer\x20'+_0x559f6e);const _0x510069={'rawCommand':_0x5e61ac['rawCommand'],'errorMessage':_0x5e61ac['errorMessage'],'errorType':_0x5e61ac['errorType'],'featureId':_0x5e61ac[_0x528161(0xdb)],'sessionId':_0x5e61ac[_0x528161(0xb0)],'metadata':_0x1aa3ab,'cliVersion':_0x1f7629};process['env'][_0x528161(0xcb)]&&(console[_0x528161(0xb1)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x5c7ec6+'/api/v1/mcp/desire-path-logs'),console['error'](_0x528161(0xae)+JSON[_0x528161(0xb5)](_0x510069,null,0x2))),await _0x195ae2[_0x528161(0xd6)](fetch,_0x5c7ec6+'/api/v1/mcp/desire-path-logs',{'method':'POST','headers':_0x127da3,'body':JSON['stringify'](_0x510069)});}catch(_0x56fb7e){process[_0x528161(0xd2)][_0x528161(0xcb)]&&console['error']('[desire-path]\x20Failed\x20to\x20send:\x20'+_0x56fb7e);}}export function getErrorType(_0x1f4a93,_0x1d38d6){const _0x3dbd88=_0x46850f,_0x5e5ae8={'TSYtz':'runtime_error','YEaFL':'Unknown\x20argument','duCdV':_0x3dbd88(0xd8),'eRtzr':_0x3dbd88(0xd4),'gycaw':_0x3dbd88(0xc2),'hovIi':_0x3dbd88(0xcc)},_0x441795=_0x3dbd88(0xb7)['split']('|');let _0xb253f8=0x0;while(!![]){switch(_0x441795[_0xb253f8++]){case'0':if(_0x1d38d6)return _0x5e5ae8['TSYtz'];continue;case'1':return'syntax_error';case'2':if(_0x1f4a93['includes'](_0x5e5ae8['YEaFL']))return _0x3dbd88(0xc7);continue;case'3':if(_0x1f4a93['includes'](_0x5e5ae8[_0x3dbd88(0xcd)]))return'missing_required_argument';continue;case'4':if(_0x1f4a93[_0x3dbd88(0xce)]('Invalid\x20values'))return _0x3dbd88(0xad);continue;case'5':if(!_0x1f4a93)return'unknown';continue;case'6':if(_0x1f4a93[_0x3dbd88(0xce)](_0x5e5ae8[_0x3dbd88(0xb4)]))return _0x5e5ae8['gycaw'];continue;case'7':if(_0x1f4a93['includes'](_0x5e5ae8['hovIi']))return _0x3dbd88(0xdc);continue;}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0xbfbc(_0x3d9c9a,_0x43174a){_0x3d9c9a=_0x3d9c9a-0x65;const _0x1b93a8=_0x1b93();let _0xbfbc3f=_0x1b93a8[_0x3d9c9a];return _0xbfbc3f;}const _0x40ab9a=_0xbfbc;(function(_0x2c0a02,_0xed5371){const _0x2a32b2=_0xbfbc,_0x181e41=_0x2c0a02();while(!![]){try{const _0x1f22a6=parseInt(_0x2a32b2(0xb0))/0x1+-parseInt(_0x2a32b2(0x91))/0x2+parseInt(_0x2a32b2(0x90))/0x3*(parseInt(_0x2a32b2(0xa8))/0x4)+-parseInt(_0x2a32b2(0x8a))/0x5+-parseInt(_0x2a32b2(0x79))/0x6+parseInt(_0x2a32b2(0x76))/0x7*(parseInt(_0x2a32b2(0xa9))/0x8)+parseInt(_0x2a32b2(0xa2))/0x9;if(_0x1f22a6===_0xed5371)break;else _0x181e41['push'](_0x181e41['shift']());}catch(_0x39a0bb){_0x181e41['push'](_0x181e41['shift']());}}}(_0x1b93,0x2f211));import{spawn}from'child_process';import _0x3a3130 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL=_0x40ab9a(0xa5),WORKOS_TOKEN_URL=_0x40ab9a(0x81);function _0x1b93(){const _0x37f722=['hPgHU','jhfWV','Waiting\x20for\x20authentication...','map','MBylf','325906iybtRX','access_token','refresh_token','expires_in','MOZGg','stdin','Provisioning\x20CLI\x20token...','gIZTo','device_code','stringify','email','json','ZCqkH','unref','GET','base64url','xdg-open','gLxdY','now','Code:\x20','239603wcyHoY','nXmio','workosClientId','2283192Qjsqhr','text','CLI\x20Key','zjjbi','Setting\x20up\x20your\x20organization...','xmvvX','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','filter','https://api.workos.com/user_management/authenticate','Invalid\x20JWT\x20format','/cli-auth/token','name','org_id','error','length','POST','Device\x20authorization\x20timed\x20out','1848590oPckiA','EGSXh','Failed\x20to\x20create\x20organization:\x20','Using\x20organization:\x20','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','token','9jxZdDC','318416cFNuxl','organizationId','application/json','application/x-www-form-urlencoded','log','AzzRI','status','Authentication\x20failed','BLgGn','platform','list','Failed\x20to\x20fetch\x20memberships:\x20','/api-keys','/organization/me','CCuxF','darwin','write','1134135liDMfq','sLbYl','mGsOo','https://api.workos.com/user_management/authorize/device','stdout','/organization/self-serve-signup','365412ftBAWr','88voXxAD','interval'];_0x1b93=function(){return _0x37f722;};return _0x1b93();}export async function requestDeviceCode(_0x452db8){const _0x105711=_0x40ab9a,_0x5003e9={'ChZsm':_0x105711(0x88)},_0x285634=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x5003e9['ChZsm'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x452db8})});if(!_0x285634['ok']){const _0x5aad4c=await _0x285634[_0x105711(0x7a)]();throw new Error('Failed\x20to\x20request\x20device\x20code:\x20'+_0x285634[_0x105711(0x97)]+'\x20'+_0x5aad4c);}return _0x285634['json']();}export async function pollForTokens(_0x2b108a,_0x1b9935,_0x31d645,_0x412861){const _0x237128=_0x40ab9a,_0x1f0d95={'uhfIQ':function(_0x29adb6,_0x104d8b){return _0x29adb6+_0x104d8b;},'kGNyF':function(_0x51bc94,_0x425d44){return _0x51bc94*_0x425d44;},'iEnuY':function(_0x5853d7,_0x1191ff){return _0x5853d7*_0x1191ff;},'eRZKj':function(_0x57573c,_0x83efab){return _0x57573c(_0x83efab);},'USFwN':function(_0x6f516,_0x46c246,_0x3a3f9f){return _0x6f516(_0x46c246,_0x3a3f9f);},'xNnTa':_0x237128(0x94),'nXmio':function(_0x2f50e6,_0x236e28){return _0x2f50e6===_0x236e28;},'BLgGn':'authorization_pending','hfFnq':_0x237128(0x98)},_0x33cffb=_0x1f0d95['uhfIQ'](Date[_0x237128(0x74)](),_0x1f0d95['kGNyF'](_0x412861,0x3e8));let _0x27bc9b=_0x1f0d95['iEnuY'](_0x31d645,0x3e8);while(Date[_0x237128(0x74)]()<_0x33cffb){await _0x1f0d95['eRZKj'](sleep,_0x27bc9b);const _0x22c774=await _0x1f0d95['USFwN'](fetch,WORKOS_TOKEN_URL,{'method':_0x237128(0x88),'headers':{'Content-Type':_0x1f0d95['xNnTa']},'body':new URLSearchParams({'client_id':_0x2b108a,'device_code':_0x1b9935,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x22c774['ok'])return _0x22c774['json']();const _0x534303=await _0x22c774['json']();if(_0x1f0d95['nXmio'](_0x534303[_0x237128(0x86)],_0x1f0d95[_0x237128(0x99)]))continue;if(_0x1f0d95[_0x237128(0x77)](_0x534303['error'],'slow_down')){_0x27bc9b+=0x3e8;continue;}throw new Error(_0x534303['error_description']||_0x534303['error']||_0x1f0d95['hfFnq']);}throw new Error(_0x237128(0x89));}async function fetchUserProfile(_0x1f8c70){const _0x593908=_0x40ab9a,_0x3c3033={'WBEUG':function(_0x44f32c){return _0x44f32c();}},_0x915f8d=_0x3c3033['WBEUG'](getApiBaseUrl);try{const _0x6c6a7e=await fetch(_0x915f8d+_0x593908(0x9e),{'method':'GET','headers':{'workos-token':_0x1f8c70}});if(_0x6c6a7e['ok'])return _0x6c6a7e['json']();}catch{}return null;}function buildKeyName(_0x1890d5,_0x20aa80){const _0x817b51=_0x40ab9a,_0x2f0f2b={'KWvnn':function(_0x110f3f,_0x2547bd){return _0x110f3f===_0x2547bd;},'MXJXm':function(_0x1be983,_0x5df1a3){return _0x1be983+_0x5df1a3;}},_0x12ae08=_0x20aa80[_0x817b51(0x80)](_0x5f13d=>_0x5f13d[_0x817b51(0x84)]===_0x1890d5||_0x5f13d['name']['startsWith'](_0x1890d5+'\x20('));if(_0x2f0f2b['KWvnn'](_0x12ae08['length'],0x0))return _0x1890d5;return _0x1890d5+'\x20('+_0x2f0f2b['MXJXm'](_0x12ae08['length'],0x1)+')';}export async function provisionApiKey(_0x4666f8){const _0x2b9c9c=_0x40ab9a,_0x5be967={'MBylf':_0x2b9c9c(0x93),'liZQn':'GET','xmvvX':function(_0x4b7907,_0x216a12,_0x2fb67a){return _0x4b7907(_0x216a12,_0x2fb67a);},'bSoTx':'mcp:write'},_0xca060=getApiBaseUrl(),_0x1f6bb4={'Content-Type':_0x5be967[_0x2b9c9c(0xaf)],'workos-token':_0x4666f8},_0x338f5d=await fetchUserProfile(_0x4666f8),_0xef2e1b=_0x338f5d?.['firstName']||_0x338f5d?.[_0x2b9c9c(0x6c)]?.['split']('@')[0x0],_0xdc296e=_0xef2e1b?_0xef2e1b+'\x27s\x20CLI\x20Key':_0x2b9c9c(0x7b);let _0xb25aa6=[];try{const _0x23deae=await fetch(_0xca060+'/api-keys',{'method':_0x5be967['liZQn'],'headers':_0x1f6bb4});if(_0x23deae['ok']){const _0x3ac311=await _0x23deae['json']();_0xb25aa6=_0x3ac311['apiKeys'];}}catch{}const _0x4abdae=_0x5be967[_0x2b9c9c(0x7e)](buildKeyName,_0xdc296e,_0xb25aa6),_0xa857b0=await fetch(_0xca060+_0x2b9c9c(0x9d),{'method':_0x2b9c9c(0x88),'headers':_0x1f6bb4,'body':JSON[_0x2b9c9c(0x6b)]({'name':_0x4abdae,'scope':_0x5be967['bSoTx']})});if(!_0xa857b0['ok']){const _0x2e5a1b=await _0xa857b0[_0x2b9c9c(0x7a)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0xa857b0['status']+'\x20'+_0x2e5a1b);}const _0x247c4f=await _0xa857b0['json']();return _0x247c4f['apiKey']['token'];}export function openBrowser(_0x505420){const _0x5932c4=_0x40ab9a,_0x46f63e={'zjjbi':function(_0x522485,_0x580d7c){return _0x522485===_0x580d7c;},'gLxdY':'ignore','VeYFW':_0x5932c4(0xa0),'sLbYl':_0x5932c4(0x72)};try{if(_0x46f63e[_0x5932c4(0x7c)](process[_0x5932c4(0x9a)],'win32')){const _0x12ec84=spawn('cmd',['/c','start','',_0x505420],{'detached':!![],'stdio':_0x46f63e['gLxdY'],'windowsHide':!![]});_0x12ec84[_0x5932c4(0x6f)]();return;}const _0x703584=_0x46f63e['zjjbi'](process[_0x5932c4(0x9a)],_0x46f63e['VeYFW'])?'open':_0x46f63e[_0x5932c4(0xa3)],_0x1852a4=spawn(_0x703584,[_0x505420],{'detached':!![],'stdio':_0x46f63e[_0x5932c4(0x73)]});_0x1852a4['unref']();}catch{}}function decodeJwtPayload(_0x3c049a){const _0x50f1a1=_0x40ab9a,_0x301658={'GOXip':function(_0x4ef102,_0x3ec6ed){return _0x4ef102!==_0x3ec6ed;},'hPgHU':_0x50f1a1(0x71),'ZCqkH':'utf-8'},_0x251bcf=_0x3c049a['split']('.');if(_0x301658['GOXip'](_0x251bcf[_0x50f1a1(0x87)],0x3))throw new Error(_0x50f1a1(0x82));const _0x2d959c=Buffer['from'](_0x251bcf[0x1],_0x301658[_0x50f1a1(0xab)])['toString'](_0x301658[_0x50f1a1(0x6e)]);return JSON['parse'](_0x2d959c);}async function selfServeSignup(_0x4832d4){const _0x542066=_0x40ab9a,_0x5b127c={'AzzRI':function(_0x5029d3,_0x8b11e9,_0x315c32){return _0x5029d3(_0x8b11e9,_0x315c32);},'jhfWV':_0x542066(0x88),'gcHSF':'application/json'},_0x441943=getApiBaseUrl(),_0x5d68eb=await _0x5b127c[_0x542066(0x96)](fetch,_0x441943+_0x542066(0xa7),{'method':_0x5b127c[_0x542066(0xac)],'headers':{'Content-Type':_0x5b127c['gcHSF'],'workos-token':_0x4832d4}});if(!_0x5d68eb['ok']){const _0x262cfb=await _0x5d68eb['text']();throw new Error(_0x542066(0x8c)+_0x5d68eb[_0x542066(0x97)]+'\x20'+_0x262cfb);}return _0x5d68eb[_0x542066(0x6d)]();}async function fetchMyMemberships(_0x138dc8){const _0x34c5c1=_0x40ab9a,_0x24ce2b={'vntlt':function(_0x418d24){return _0x418d24();},'GtHFA':function(_0x59fa62,_0xd06ab5,_0x92b1e2){return _0x59fa62(_0xd06ab5,_0x92b1e2);},'mGsOo':_0x34c5c1(0x70)},_0x45e74f=_0x24ce2b['vntlt'](getApiBaseUrl),_0x3a0d8b=await _0x24ce2b['GtHFA'](fetch,_0x45e74f+'/organization/my-memberships',{'method':_0x24ce2b[_0x34c5c1(0xa4)],'headers':{'workos-token':_0x138dc8}});if(!_0x3a0d8b['ok']){const _0x3a9062=await _0x3a0d8b['text']();throw new Error(_0x34c5c1(0x9c)+_0x3a0d8b[_0x34c5c1(0x97)]+'\x20'+_0x3a9062);}const _0x1278a5=await _0x3a0d8b[_0x34c5c1(0x6d)]();return _0x1278a5['memberships'];}async function refreshTokenWithOrg(_0x70b678,_0x22a2ff,_0x92eeb6){const _0x490565=_0x40ab9a,_0xcd0457={'XkhKB':function(_0x403b8e,_0x242aca,_0x1287d4){return _0x403b8e(_0x242aca,_0x1287d4);},'CCuxF':_0x490565(0x94)},_0x4ebf3a=await _0xcd0457['XkhKB'](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0xcd0457[_0x490565(0x9f)]},'body':new URLSearchParams({'client_id':_0x70b678,'grant_type':_0x490565(0xb2),'refresh_token':_0x22a2ff,'organization_id':_0x92eeb6})});if(!_0x4ebf3a['ok']){const _0x5bf371=await _0x4ebf3a['text']();throw new Error(_0x490565(0x8e)+_0x4ebf3a[_0x490565(0x97)]+'\x20'+_0x5bf371);}return _0x4ebf3a[_0x490565(0x6d)]();}async function provisionCliToken(_0x3eb752){const _0xea5236=_0x40ab9a,_0x2da215={'fbkAu':function(_0x23d9ce){return _0x23d9ce();},'GjkFG':'POST'},_0x5d5057=_0x2da215['fbkAu'](getApiBaseUrl),_0x592cbb=await fetch(_0x5d5057+_0xea5236(0x83),{'method':_0x2da215['GjkFG'],'headers':{'Content-Type':'application/json','workos-token':_0x3eb752}});if(!_0x592cbb['ok']){const _0x859f67=await _0x592cbb['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x592cbb[_0xea5236(0x97)]+'\x20'+_0x859f67);}return _0x592cbb['json']();}export async function runDeviceAuthFlow(){const _0xec8051=_0x40ab9a,_0x204155={'bbKEt':'\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','cinax':function(_0x511269,_0x13731a){return _0x511269(_0x13731a);},'gIZTo':_0xec8051(0xad),'EGSXh':function(_0x291835,_0x1f8277){return _0x291835(_0x1f8277);},'COgew':function(_0x423871,_0x22df34){return _0x423871===_0x22df34;},'vArrr':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','KAzNe':'selected','HQzpd':function(_0x9ef736,_0x5f08fb,_0x472605,_0x58fc66){return _0x9ef736(_0x5f08fb,_0x472605,_0x58fc66);},'MOZGg':_0xec8051(0x68)},_0xf41345=getCurrentEnvironment(),_0x1fa981=ENVIRONMENT_CONFIGS[_0xf41345][_0xec8051(0x78)],_0x2b6350=await requestDeviceCode(_0x1fa981);console[_0xec8051(0x95)](_0xec8051(0x7f)),console['log'](_0x204155['bbKEt']),_0x204155['cinax'](openBrowser,_0x2b6350['verification_uri_complete']),console[_0xec8051(0x95)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x2b6350['verification_uri_complete']),console['log'](_0xec8051(0x75)+_0x2b6350['user_code']+'\x0a'),process[_0xec8051(0xa6)][_0xec8051(0xa1)](_0x204155[_0xec8051(0x69)]);let _0x35d9e4=await pollForTokens(_0x1fa981,_0x2b6350[_0xec8051(0x6a)],_0x2b6350[_0xec8051(0xaa)],_0x2b6350[_0xec8051(0x65)]);console['log']('\x20✓');const _0x5b8c0f=decodeJwtPayload(_0x35d9e4[_0xec8051(0xb1)]);if(!_0x5b8c0f[_0xec8051(0x85)]){const _0x1c2edf=await _0x204155['EGSXh'](fetchMyMemberships,_0x35d9e4['access_token']);let _0x2ba1e1;if(_0x204155['COgew'](_0x1c2edf[_0xec8051(0x87)],0x0)){process[_0xec8051(0xa6)][_0xec8051(0xa1)](_0xec8051(0x7d));const _0x396756=await _0x204155[_0xec8051(0x8b)](selfServeSignup,_0x35d9e4['access_token']);_0x2ba1e1=_0x396756['organizationId'],console['log']('\x20✓');}else{if(_0x1c2edf[_0xec8051(0x87)]===0x1)_0x2ba1e1=_0x1c2edf[0x0][_0xec8051(0x92)],console[_0xec8051(0x95)](_0xec8051(0x8d)+_0x1c2edf[0x0]['name']);else{const _0xc8a290=process[_0xec8051(0x67)]['isTTY']&&process['stdout']['isTTY'];if(!_0xc8a290)throw new Error(_0x204155['vArrr']+'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');const {selected:_0x38be6a}=await _0x3a3130['prompt']([{'type':_0xec8051(0x9b),'name':_0x204155['KAzNe'],'message':'Select\x20an\x20organization:','choices':_0x1c2edf[_0xec8051(0xae)](_0x30b512=>({'name':_0x30b512[_0xec8051(0x84)],'value':_0x30b512['organizationId']}))}]);_0x2ba1e1=_0x38be6a;}}_0x35d9e4=await _0x204155['HQzpd'](refreshTokenWithOrg,_0x1fa981,_0x35d9e4['refresh_token'],_0x2ba1e1);}process['stdout'][_0xec8051(0xa1)](_0x204155[_0xec8051(0x66)]);const _0x20a529=await provisionCliToken(_0x35d9e4['access_token']);return console[_0xec8051(0x95)]('\x20✓'),await storeToken(_0x20a529[_0xec8051(0x8f)]),_0x35d9e4[_0xec8051(0xb2)]&&await storeRefreshToken(_0x35d9e4[_0xec8051(0xb2)]),_0x20a529[_0xec8051(0x8f)];}function sleep(_0x53694f){return new Promise(_0xec4ecf=>setTimeout(_0xec4ecf,_0x53694f));}
|
|
1
|
+
const _0x277f3b=_0x2a0f;(function(_0xa97ba1,_0x1919cc){const _0x4bc5f2=_0x2a0f,_0x549d2f=_0xa97ba1();while(!![]){try{const _0x571d42=parseInt(_0x4bc5f2(0x1f6))/0x1*(-parseInt(_0x4bc5f2(0x1e9))/0x2)+parseInt(_0x4bc5f2(0x1df))/0x3*(-parseInt(_0x4bc5f2(0x1d2))/0x4)+parseInt(_0x4bc5f2(0x1e8))/0x5*(parseInt(_0x4bc5f2(0x1ed))/0x6)+parseInt(_0x4bc5f2(0x1dd))/0x7*(parseInt(_0x4bc5f2(0x1c9))/0x8)+-parseInt(_0x4bc5f2(0x201))/0x9+-parseInt(_0x4bc5f2(0x1c8))/0xa*(parseInt(_0x4bc5f2(0x1f4))/0xb)+parseInt(_0x4bc5f2(0x1d8))/0xc;if(_0x571d42===_0x1919cc)break;else _0x549d2f['push'](_0x549d2f['shift']());}catch(_0x160406){_0x549d2f['push'](_0x549d2f['shift']());}}}(_0x1d9a,0x2f6d4));import{spawn}from'child_process';import _0x1ff59d from'inquirer';function _0x1d9a(){const _0x42bb09=['firstName','VaXOH','refresh_token','prompt','split','Failed\x20to\x20fetch\x20memberships:\x20','utf-8','3425724pLeZty','isTTY','win32','Failed\x20to\x20create\x20organization:\x20','Failed\x20to\x20provision\x20CLI\x20token:\x20','OqmWW','bvxXI','Using\x20organization:\x20','device_code','status','https://api.workos.com/user_management/authorize/device','xLvUR','slow_down','uZGOR','length','WaQuG','HXzBv','platform','write','ERPHh','KqWCl','access_token','toString','YAmFn','filter','LzZAo','dLOrC','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20','ceqjr','selected','stdout','POST','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','GBeHT','qFBMd','MgFzV','JZZSk','Authentication\x20failed','start','from','/api-keys','zqFkl','23130JfDfFT','8GXkgKq','dqWKN','\x27s\x20CLI\x20Key','CLI\x20Key','Provisioning\x20CLI\x20token...','map','urn:ietf:params:oauth:grant-type:device_code','list','text','44pweISu','authorization_pending','SRjUj','error','uWkMz','stringify','11432388ptyNbB','apiKey','log','Failed\x20to\x20request\x20device\x20code:\x20','json','1926827cfXovv','error_description','82428ObsezZ','igkiT','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','dlydP','https://api.workos.com/user_management/authenticate','application/json','/organization/me','fktdA','GET','10965xWQNKu','530800GqJzuQ','unref','/cli-auth/token','lVIIW','108UUmgeK','TXZbo','Waiting\x20for\x20authentication...','now','name','Code:\x20','memberships','594DerTQM','darwin','1ZYNnSO','Invalid\x20JWT\x20format','VCQHs','parse'];_0x1d9a=function(){return _0x42bb09;};return _0x1d9a();}import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL=_0x277f3b(0x20b),WORKOS_TOKEN_URL=_0x277f3b(0x1e3);export async function requestDeviceCode(_0x4cae92){const _0x4a6757=_0x277f3b,_0x35b2d4={'bQPso':_0x4a6757(0x1bd)},_0x2dd34a=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x35b2d4['bQPso'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x4cae92})});if(!_0x2dd34a['ok']){const _0x1ac4f0=await _0x2dd34a['text']();throw new Error(_0x4a6757(0x1db)+_0x2dd34a['status']+'\x20'+_0x1ac4f0);}return _0x2dd34a[_0x4a6757(0x1dc)]();}export async function pollForTokens(_0x5896f9,_0x1b2a1d,_0x2c60fe,_0x1a4f08){const _0x337d4e=_0x277f3b,_0x2af781={'SRjUj':function(_0x1387f8,_0xbe6233){return _0x1387f8+_0xbe6233;},'YtaKr':function(_0x26dc4e,_0x446382){return _0x26dc4e*_0x446382;},'bvxXI':_0x337d4e(0x1d3),'VaXOH':function(_0x20ab4d,_0x32fea5){return _0x20ab4d===_0x32fea5;},'zqFkl':_0x337d4e(0x1c3),'ZLMLp':'Device\x20authorization\x20timed\x20out'},_0x1fa579=_0x2af781[_0x337d4e(0x1d4)](Date['now'](),_0x2af781['YtaKr'](_0x1a4f08,0x3e8));let _0xa2e988=_0x2af781['YtaKr'](_0x2c60fe,0x3e8);while(Date[_0x337d4e(0x1f0)]()<_0x1fa579){await sleep(_0xa2e988);const _0x1602e9=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x5896f9,'device_code':_0x1b2a1d,'grant_type':_0x337d4e(0x1cf)})});if(_0x1602e9['ok'])return _0x1602e9[_0x337d4e(0x1dc)]();const _0x4e6950=await _0x1602e9['json']();if(_0x4e6950['error']===_0x2af781[_0x337d4e(0x207)])continue;if(_0x2af781[_0x337d4e(0x1fb)](_0x4e6950[_0x337d4e(0x1d5)],_0x337d4e(0x1aa))){_0xa2e988+=0x3e8;continue;}throw new Error(_0x4e6950[_0x337d4e(0x1de)]||_0x4e6950[_0x337d4e(0x1d5)]||_0x2af781[_0x337d4e(0x1c7)]);}throw new Error(_0x2af781['ZLMLp']);}async function fetchUserProfile(_0x456488){const _0xfd0d07=_0x277f3b,_0x6e6b77={'urets':'GET'},_0x35b100=getApiBaseUrl();try{const _0x30b288=await fetch(_0x35b100+_0xfd0d07(0x1e5),{'method':_0x6e6b77['urets'],'headers':{'workos-token':_0x456488}});if(_0x30b288['ok'])return _0x30b288[_0xfd0d07(0x1dc)]();}catch{}return null;}function buildKeyName(_0xe583fd,_0x1313e0){const _0x3733cc=_0x277f3b,_0x49276b={'dqWKN':function(_0x48bcab,_0x4bdd66){return _0x48bcab+_0x4bdd66;}},_0x144732=_0x1313e0[_0x3733cc(0x1b6)](_0x1f2b27=>_0x1f2b27[_0x3733cc(0x1f1)]===_0xe583fd||_0x1f2b27[_0x3733cc(0x1f1)]['startsWith'](_0xe583fd+'\x20('));if(_0x144732['length']===0x0)return _0xe583fd;return _0xe583fd+'\x20('+_0x49276b[_0x3733cc(0x1ca)](_0x144732[_0x3733cc(0x1ac)],0x1)+')';}export async function provisionApiKey(_0x3e44f1){const _0x52624a=_0x277f3b,_0x10b1ba={'vYqmy':function(_0x1c95ce){return _0x1c95ce();},'TEwax':function(_0x4a1d5e,_0x5931ce,_0x279901){return _0x4a1d5e(_0x5931ce,_0x279901);},'cBFge':'GET','fktdA':function(_0x307587,_0x3fc3a5,_0x190b96){return _0x307587(_0x3fc3a5,_0x190b96);}},_0x17ece3=_0x10b1ba['vYqmy'](getApiBaseUrl),_0xb81e99={'Content-Type':_0x52624a(0x1e4),'workos-token':_0x3e44f1},_0x2eac5c=await fetchUserProfile(_0x3e44f1),_0x37bc45=_0x2eac5c?.[_0x52624a(0x1fa)]||_0x2eac5c?.['email']?.[_0x52624a(0x1fe)]('@')[0x0],_0x52051c=_0x37bc45?_0x37bc45+_0x52624a(0x1cb):_0x52624a(0x1cc);let _0x195c39=[];try{const _0xcd3ac1=await _0x10b1ba['TEwax'](fetch,_0x17ece3+_0x52624a(0x1c6),{'method':_0x10b1ba['cBFge'],'headers':_0xb81e99});if(_0xcd3ac1['ok']){const _0xdb3a21=await _0xcd3ac1['json']();_0x195c39=_0xdb3a21['apiKeys'];}}catch{}const _0x3741d7=_0x10b1ba[_0x52624a(0x1e6)](buildKeyName,_0x52051c,_0x195c39),_0x337610=await fetch(_0x17ece3+'/api-keys',{'method':'POST','headers':_0xb81e99,'body':JSON[_0x52624a(0x1d7)]({'name':_0x3741d7,'scope':'mcp:write'})});if(!_0x337610['ok']){const _0x270836=await _0x337610['text']();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x337610[_0x52624a(0x20a)]+'\x20'+_0x270836);}const _0x257238=await _0x337610['json']();return _0x257238[_0x52624a(0x1d9)]['token'];}export function openBrowser(_0x1d16eb){const _0x408b8d=_0x277f3b,_0x388496={'dbQiv':_0x408b8d(0x203),'fWgJH':function(_0x5a2347,_0x175110,_0xbcac2f,_0x9d5732){return _0x5a2347(_0x175110,_0xbcac2f,_0x9d5732);},'ERPHh':'cmd','DXLSb':_0x408b8d(0x1c4),'OqmWW':'ignore','qFBMd':function(_0x18f67b,_0x38cf5d){return _0x18f67b===_0x38cf5d;},'ceqjr':_0x408b8d(0x1f5)};try{if(process['platform']===_0x388496['dbQiv']){const _0x594c52=_0x388496['fWgJH'](spawn,_0x388496[_0x408b8d(0x1b1)],['/c',_0x388496['DXLSb'],'',_0x1d16eb],{'detached':!![],'stdio':_0x388496[_0x408b8d(0x206)],'windowsHide':!![]});_0x594c52[_0x408b8d(0x1ea)]();return;}const _0x24be58=_0x388496[_0x408b8d(0x1c0)](process[_0x408b8d(0x1af)],_0x388496[_0x408b8d(0x1ba)])?'open':'xdg-open',_0x540907=spawn(_0x24be58,[_0x1d16eb],{'detached':!![],'stdio':'ignore'});_0x540907['unref']();}catch{}}function decodeJwtPayload(_0x4cd38e){const _0x2697fd=_0x277f3b,_0x8c6b1a={'iNwqF':function(_0x35590f,_0x44cc55){return _0x35590f!==_0x44cc55;},'uZGOR':'base64url','VCQHs':_0x2697fd(0x200)},_0x213e4c=_0x4cd38e[_0x2697fd(0x1fe)]('.');if(_0x8c6b1a['iNwqF'](_0x213e4c['length'],0x3))throw new Error(_0x2697fd(0x1f7));const _0x207d72=Buffer[_0x2697fd(0x1c5)](_0x213e4c[0x1],_0x8c6b1a[_0x2697fd(0x1ab)])[_0x2697fd(0x1b4)](_0x8c6b1a[_0x2697fd(0x1f8)]);return JSON[_0x2697fd(0x1f9)](_0x207d72);}async function selfServeSignup(_0x99beff){const _0x2ed316=_0x277f3b,_0x28e830={'xLvUR':function(_0x30d50d){return _0x30d50d();},'WaQuG':function(_0x22e47f,_0x589853,_0x1cbf76){return _0x22e47f(_0x589853,_0x1cbf76);},'igkiT':_0x2ed316(0x1bd),'jUDmB':_0x2ed316(0x1e4)},_0x421343=_0x28e830[_0x2ed316(0x20c)](getApiBaseUrl),_0x5ba688=await _0x28e830[_0x2ed316(0x1ad)](fetch,_0x421343+'/organization/self-serve-signup',{'method':_0x28e830[_0x2ed316(0x1e0)],'headers':{'Content-Type':_0x28e830['jUDmB'],'workos-token':_0x99beff}});if(!_0x5ba688['ok']){const _0x1f8af9=await _0x5ba688['text']();throw new Error(_0x2ed316(0x204)+_0x5ba688['status']+'\x20'+_0x1f8af9);}return _0x5ba688[_0x2ed316(0x1dc)]();}async function fetchMyMemberships(_0x44ac5a){const _0x4cf03e=_0x277f3b,_0x12a1e1={'uWkMz':function(_0x58de29){return _0x58de29();}},_0x333deb=_0x12a1e1[_0x4cf03e(0x1d6)](getApiBaseUrl),_0x441f38=await fetch(_0x333deb+'/organization/my-memberships',{'method':_0x4cf03e(0x1e7),'headers':{'workos-token':_0x44ac5a}});if(!_0x441f38['ok']){const _0x2938e0=await _0x441f38[_0x4cf03e(0x1d1)]();throw new Error(_0x4cf03e(0x1ff)+_0x441f38['status']+'\x20'+_0x2938e0);}const _0x32bdf1=await _0x441f38[_0x4cf03e(0x1dc)]();return _0x32bdf1[_0x4cf03e(0x1f3)];}async function refreshTokenWithOrg(_0x581da1,_0x4068b5,_0x482ff5){const _0x2315df=_0x277f3b,_0xdf6eac={'HXzBv':_0x2315df(0x1bd),'lVIIW':'application/x-www-form-urlencoded','Dwdgi':_0x2315df(0x1fc)},_0x5eb9be=await fetch(WORKOS_TOKEN_URL,{'method':_0xdf6eac[_0x2315df(0x1ae)],'headers':{'Content-Type':_0xdf6eac[_0x2315df(0x1ec)]},'body':new URLSearchParams({'client_id':_0x581da1,'grant_type':_0xdf6eac['Dwdgi'],'refresh_token':_0x4068b5,'organization_id':_0x482ff5})});if(!_0x5eb9be['ok']){const _0x4bc3d7=await _0x5eb9be['text']();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x5eb9be[_0x2315df(0x20a)]+'\x20'+_0x4bc3d7);}return _0x5eb9be[_0x2315df(0x1dc)]();}async function provisionCliToken(_0x53c98a){const _0x163887=_0x277f3b,_0x46d7d9={'BQwAj':function(_0xed1bc2){return _0xed1bc2();},'JZZSk':_0x163887(0x1bd)},_0x5f25b6=_0x46d7d9['BQwAj'](getApiBaseUrl),_0x45c7ae=await fetch(_0x5f25b6+_0x163887(0x1eb),{'method':_0x46d7d9[_0x163887(0x1c2)],'headers':{'Content-Type':_0x163887(0x1e4),'workos-token':_0x53c98a}});if(!_0x45c7ae['ok']){const _0x32063d=await _0x45c7ae[_0x163887(0x1d1)]();throw new Error(_0x163887(0x205)+_0x45c7ae['status']+'\x20'+_0x32063d);}return _0x45c7ae[_0x163887(0x1dc)]();}export async function runDeviceAuthFlow(){const _0x1e0af9=_0x277f3b,_0x4db825={'GBeHT':function(_0x156d60){return _0x156d60();},'TXZbo':_0x1e0af9(0x1ef),'dlydP':function(_0x3b0327,_0x1b38a7,_0x58bfeb,_0x232ec7,_0x4f260f){return _0x3b0327(_0x1b38a7,_0x58bfeb,_0x232ec7,_0x4f260f);},'dLOrC':function(_0x18b3b5,_0x1c5fa4){return _0x18b3b5(_0x1c5fa4);},'OECfP':'Setting\x20up\x20your\x20organization...','jMrSh':function(_0x3585c0,_0x1c3bfa){return _0x3585c0(_0x1c3bfa);},'DfkhV':function(_0x3c0d9c,_0xe0db33){return _0x3c0d9c===_0xe0db33;},'MgFzV':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','YAmFn':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','KqWCl':_0x1e0af9(0x1d0),'LzZAo':_0x1e0af9(0x1bb),'nfdLv':_0x1e0af9(0x1cd)},_0x4d3cef=_0x4db825[_0x1e0af9(0x1bf)](getCurrentEnvironment),_0x5c589d=ENVIRONMENT_CONFIGS[_0x4d3cef]['workosClientId'],_0x8a6185=await requestDeviceCode(_0x5c589d);console['log'](_0x1e0af9(0x1e1)),console[_0x1e0af9(0x1da)](_0x1e0af9(0x1be)),openBrowser(_0x8a6185['verification_uri_complete']),console['log'](_0x1e0af9(0x1b9)+_0x8a6185['verification_uri_complete']),console['log'](_0x1e0af9(0x1f2)+_0x8a6185['user_code']+'\x0a'),process[_0x1e0af9(0x1bc)][_0x1e0af9(0x1b0)](_0x4db825[_0x1e0af9(0x1ee)]);let _0x1dafa7=await _0x4db825[_0x1e0af9(0x1e2)](pollForTokens,_0x5c589d,_0x8a6185[_0x1e0af9(0x209)],_0x8a6185['interval'],_0x8a6185['expires_in']);console[_0x1e0af9(0x1da)]('\x20✓');const _0x1f904d=_0x4db825[_0x1e0af9(0x1b8)](decodeJwtPayload,_0x1dafa7['access_token']);if(!_0x1f904d['org_id']){const _0x278e07=await _0x4db825['dLOrC'](fetchMyMemberships,_0x1dafa7[_0x1e0af9(0x1b3)]);let _0x4e53c9;if(_0x278e07[_0x1e0af9(0x1ac)]===0x0){process['stdout'][_0x1e0af9(0x1b0)](_0x4db825['OECfP']);const _0x246be1=await _0x4db825['jMrSh'](selfServeSignup,_0x1dafa7['access_token']);_0x4e53c9=_0x246be1['organizationId'],console[_0x1e0af9(0x1da)]('\x20✓');}else{if(_0x4db825['DfkhV'](_0x278e07[_0x1e0af9(0x1ac)],0x1))_0x4e53c9=_0x278e07[0x0]['organizationId'],console['log'](_0x1e0af9(0x208)+_0x278e07[0x0]['name']);else{const _0x4f5a7a=process['stdin'][_0x1e0af9(0x202)]&&process['stdout']['isTTY'];if(!_0x4f5a7a)throw new Error(_0x4db825[_0x1e0af9(0x1c1)]+_0x4db825[_0x1e0af9(0x1b5)]);const {selected:_0x541900}=await _0x1ff59d[_0x1e0af9(0x1fd)]([{'type':_0x4db825[_0x1e0af9(0x1b2)],'name':_0x4db825[_0x1e0af9(0x1b7)],'message':'Select\x20an\x20organization:','choices':_0x278e07[_0x1e0af9(0x1ce)](_0x8fd691=>({'name':_0x8fd691['name'],'value':_0x8fd691['organizationId']}))}]);_0x4e53c9=_0x541900;}}_0x1dafa7=await refreshTokenWithOrg(_0x5c589d,_0x1dafa7[_0x1e0af9(0x1fc)],_0x4e53c9);}process[_0x1e0af9(0x1bc)]['write'](_0x4db825['nfdLv']);const _0x173441=await provisionCliToken(_0x1dafa7['access_token']);return console[_0x1e0af9(0x1da)]('\x20✓'),await _0x4db825[_0x1e0af9(0x1b8)](storeToken,_0x173441['token']),_0x1dafa7['refresh_token']&&await storeRefreshToken(_0x1dafa7['refresh_token']),_0x173441['token'];}function _0x2a0f(_0x353711,_0x4aca7e){_0x353711=_0x353711-0x1aa;const _0x1d9af8=_0x1d9a();let _0x2a0fce=_0x1d9af8[_0x353711];return _0x2a0fce;}function sleep(_0x183b82){return new Promise(_0x28ad2f=>setTimeout(_0x28ad2f,_0x183b82));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x561a(_0x9fa294,_0x70f4e0){_0x9fa294=_0x9fa294-0x1dc;const _0x577aef=_0x577a();let _0x561af8=_0x577aef[_0x9fa294];return _0x561af8;}const _0x4a17bd=_0x561a;(function(_0x120798,_0x463b74){const _0x55e0a5=_0x561a,_0xcbbc36=_0x120798();while(!![]){try{const _0x57ea87=-parseInt(_0x55e0a5(0x1e8))/0x1*(-parseInt(_0x55e0a5(0x1ed))/0x2)+parseInt(_0x55e0a5(0x1e9))/0x3+parseInt(_0x55e0a5(0x1f6))/0x4+parseInt(_0x55e0a5(0x1e7))/0x5*(-parseInt(_0x55e0a5(0x1e6))/0x6)+-parseInt(_0x55e0a5(0x200))/0x7*(-parseInt(_0x55e0a5(0x1f5))/0x8)+-parseInt(_0x55e0a5(0x1f4))/0x9+-parseInt(_0x55e0a5(0x202))/0xa;if(_0x57ea87===_0x463b74)break;else _0xcbbc36['push'](_0xcbbc36['shift']());}catch(_0x355e80){_0xcbbc36['push'](_0xcbbc36['shift']());}}}(_0x577a,0x3a3a2));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':'client_01J9CBYM7M5ZETCF7G6614DXR2','aiProxyUrl':_0x4a17bd(0x1e0),'mcpAuthUrl':_0x4a17bd(0x1e4)},'staging':{'apiBaseUrl':_0x4a17bd(0x1f2),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':'https://ai-proxy-301751771437.us-central1.run.app','mcpAuthUrl':_0x4a17bd(0x1f3)},'local':{'apiBaseUrl':'http://localhost:8080','workosClientId':_0x4a17bd(0x1dc),'aiProxyUrl':_0x4a17bd(0x1f1),'mcpAuthUrl':'http://localhost:8080/mcp'}};function _0x577a(){const _0x314e58=['RANGER_MCP_AUTH_URL','toLowerCase','prod','env','21056thzqZD','DVWPV','526590kFwSaX','LjGkU','BSKCW','mcpAuthUrl','client_01J9CBYM2DKWV9HM17D95Z540K','off','auto','RANGER_BYOK','https://ai-proxy-716115358910.us-central1.run.app','RANGER_DISABLE_MCP','aiProxyUrl','apiBaseUrl','https://mcp-auth.ranger.net/mcp','nova-act-cli','750rRrjhY','14150iVjQji','25QDQfHU','906882tcuqCk','SXKRX','\x22.\x20','find','18382EMcgQy','YdKvD','mcp','Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.','http://localhost:8090','https://api.staging.ranger.net','https://mcp-auth.staging.ranger.net/mcp','2384334TspnsP','816YiEdBv','283792TopWoL','oAitu','RANGER_HOOKS','staging','rangerwright-cli','[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22'];_0x577a=function(){return _0x314e58;};return _0x577a();}export const DEFAULT_ENVIRONMENT='prod';export function isValidEnvironment(_0x3431c3){const _0x59ef7b=_0x4a17bd,_0x29d2a1={'SXKRX':function(_0x5ce58b,_0x435011){return _0x5ce58b===_0x435011;}};return _0x3431c3===_0x59ef7b(0x1fe)||_0x29d2a1[_0x59ef7b(0x1ea)](_0x3431c3,_0x59ef7b(0x1f9))||_0x3431c3==='local';}export function getCurrentEnvironment(){const _0x3fd67d=process['env']['RANGER_CLI_ENV'];if(_0x3fd67d&&isValidEnvironment(_0x3fd67d))return _0x3fd67d;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x5c1324=_0x4a17bd;return ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x5c1324(0x1e3)];}export function getAiProxyUrl(){const _0x576825=_0x4a17bd,_0x11baf8={'DVWPV':function(_0x500dcf){return _0x500dcf();}};return ENVIRONMENT_CONFIGS[_0x11baf8[_0x576825(0x201)](getCurrentEnvironment)][_0x576825(0x1e2)];}export function getMcpAuthUrl(){const _0x14e9d1=_0x4a17bd;return process['env'][_0x14e9d1(0x1fc)]??ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x14e9d1(0x205)];}export function isByokEnabled(){const _0x28c842=_0x4a17bd,_0x11932f={'BRdKu':function(_0x2fc092,_0x5111d9){return _0x2fc092===_0x5111d9;}};return _0x11932f['BRdKu'](process['env'][_0x28c842(0x1df)],'true');}function isVerificationTransport(_0x595983){const _0x4e1a04=_0x4a17bd,_0x1762fa={'TqcZg':'mcp','LjGkU':function(_0x738871,_0x371646){return _0x738871===_0x371646;},'TVMlJ':'playwright-cli','YdKvD':function(_0x439700,_0x34c37c){return _0x439700===_0x34c37c;},'BSKCW':_0x4e1a04(0x1e5)};return _0x595983===_0x1762fa['TqcZg']||_0x1762fa[_0x4e1a04(0x203)](_0x595983,_0x1762fa['TVMlJ'])||_0x1762fa[_0x4e1a04(0x1ee)](_0x595983,_0x1762fa[_0x4e1a04(0x204)])||_0x595983===_0x4e1a04(0x1fa);}const LEGACY_TRANSPORT_ENV_VARS=['RANGER_USE_NOVA_ACT',_0x4a17bd(0x1e1)];export function getVerificationTransport(){const _0x127a80=_0x4a17bd,_0x3d3569={'ktuae':_0x127a80(0x1ef)},_0x1c09a2=process[_0x127a80(0x1ff)]['RANGER_TRANSPORT']?.['trim']();if(_0x1c09a2){if(isVerificationTransport(_0x1c09a2))return _0x1c09a2;throw new Error('Invalid\x20RANGER_TRANSPORT=\x22'+_0x1c09a2+'\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.');}const _0x228347=LEGACY_TRANSPORT_ENV_VARS[_0x127a80(0x1ec)](_0x533902=>process['env'][_0x533902]);if(_0x228347)throw new Error(_0x228347+'\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.');return _0x3d3569['ktuae'];}export function resolveHookMode(_0x52ecd1=process['env']){const _0xa00004=_0x4a17bd,_0x549307={'oAitu':function(_0x1f77f3,_0x40618b){return _0x1f77f3===_0x40618b;},'LFzfh':function(_0x26097d,_0x4e5364){return _0x26097d===_0x4e5364;},'epGIw':'auto'},_0xf08cf3=_0x52ecd1[_0xa00004(0x1f8)]?.['trim']()[_0xa00004(0x1fd)]();if(!_0xf08cf3)return _0xa00004(0x1de);if(_0x549307[_0xa00004(0x1f7)](_0xf08cf3,_0xa00004(0x1dd))||_0x549307['LFzfh'](_0xf08cf3,'on')||_0xf08cf3===_0x549307['epGIw'])return _0xf08cf3;return console['error'](_0xa00004(0x1fb)+_0x52ecd1['RANGER_HOOKS']+_0xa00004(0x1eb)+_0xa00004(0x1f0)),_0x549307['epGIw'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x13e0(){const _0x36b6bd=['xeAav','weGmj','reXvS','/restore','sessionId','/api/v1/mcp/features','FHVmJ','WaDXI','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','31459088lyuOwQ','jmofH','style','QcYxh','WXhkm','IvNJi','YxXgA','Failed\x20to\x20create\x20scenario:\x20','Bearer\x20','/comments/address','Failed\x20to\x20get\x20feature\x20review:\x20','wXrlU','dgFJf','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','json','GET','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','forPH','Failed\x20to\x20get\x20action\x20items:\x20','uSrsw','Failed\x20to\x20get\x20item\x20feedback:\x20','ZyHwu','csTfA','4008zxszVP','1411226sTQKUk','qlQDy','BFNJP','TEJxO','gitBranch','ZuCAk','toString','/report','txuNN','/sessions/','cSClb','Failed\x20to\x20update\x20scenario:\x20','HdJsA','gitRepoUrl','qgXdm','yzoSK','itemIds','set','\x0a\x0aUpgrade\x20your\x20plan:\x20','limit','3415iXIcFq','DaIfp','3113346UgspZB','Failed\x20to\x20list\x20feature\x20reviews:\x20','tnCib','1317794NEluNy','mdDgV','/checklist','offset','uRldl','KOjPd','9556410toEwbe','/api/v1/mcp/features/','BKgnk','application/json','stringify','PATCH','QDPQw','Failed\x20to\x20conclude\x20session:\x20','TNQry','Failed\x20to\x20start\x20session:\x20','slYdx','https://dashboard.ranger.net/billing','includeDeleted','Failed\x20to\x20create\x20feature\x20review:\x20','mILaH','12046076pHbXDE','text'];_0x13e0=function(){return _0x36b6bd;};return _0x13e0();}(function(_0x42ce02,_0x10fd9b){const _0x23e394=_0xad9f,_0x20b476=_0x42ce02();while(!![]){try{const _0x543b93=parseInt(_0x23e394(0x1b3))/0x1+-parseInt(_0x23e394(0x1eb))/0x2+-parseInt(_0x23e394(0x1b0))/0x3+-parseInt(_0x23e394(0x1ea))/0x4*(-parseInt(_0x23e394(0x1ae))/0x5)+-parseInt(_0x23e394(0x1b9))/0x6+-parseInt(_0x23e394(0x1c8))/0x7+parseInt(_0x23e394(0x1d3))/0x8;if(_0x543b93===_0x10fd9b)break;else _0x20b476['push'](_0x20b476['shift']());}catch(_0x151383){_0x20b476['push'](_0x20b476['shift']());}}}(_0x13e0,0xd63ec));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x5b3177){const _0x5a5b74=_0xad9f,_0x5acb08={'xMZBb':function(_0x2f4939){return _0x2f4939();},'JiAOW':function(_0x36b978,_0x9f6ac4,_0x123120){return _0x36b978(_0x9f6ac4,_0x123120);},'KOjPd':'POST','wXrlU':_0x5a5b74(0x1bc),'tnCib':function(_0x32e533,_0x3d2e8d){return _0x32e533===_0x3d2e8d;},'BFNJP':_0x5a5b74(0x1c4)},_0x5e2daf=await getToken();if(!_0x5e2daf)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2022d1=_0x5acb08['xMZBb'](getApiBaseUrl),_0x173cb9=await _0x5acb08['JiAOW'](fetch,_0x2022d1+_0x5a5b74(0x1cf),{'method':_0x5acb08[_0x5a5b74(0x1b8)],'headers':{'Authorization':'Bearer\x20'+_0x5e2daf,'Content-Type':_0x5acb08[_0x5a5b74(0x1de)]},'body':JSON['stringify'](_0x5b3177)});if(!_0x173cb9['ok']){if(_0x5acb08[_0x5a5b74(0x1b2)](_0x173cb9['status'],0x192)){const _0x520f36=await _0x173cb9[_0x5a5b74(0x1e1)](),_0x358032=_0x520f36['billingUrl']||_0x5acb08[_0x5a5b74(0x1ed)];throw new Error((_0x520f36['message']||'Feature\x20limit\x20exceeded')+_0x5a5b74(0x1ac)+_0x358032);}const _0x300485=await _0x173cb9[_0x5a5b74(0x1c9)]();throw new Error(_0x5a5b74(0x1c6)+_0x300485);}return _0x173cb9['json']();}export async function listFeatures(_0x26086f){const _0x512906=_0xad9f,_0x1b6097={'AlDyn':function(_0x32e8a2){return _0x32e8a2();},'txuNN':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','UNzhn':function(_0x346e1c){return _0x346e1c();},'xeAav':_0x512906(0x1a7),'mILaH':_0x512906(0x19e),'QcYxh':'offset','dgFJf':function(_0x47dcca,_0x121891,_0x2dd0ca){return _0x47dcca(_0x121891,_0x2dd0ca);}},_0x1529b4=await _0x1b6097['AlDyn'](getToken);if(!_0x1529b4)throw new Error(_0x1b6097[_0x512906(0x1a2)]);const _0xf1fd8b=_0x1b6097['UNzhn'](getApiBaseUrl),_0x2a1a32=new URLSearchParams();if(_0x26086f?.[_0x512906(0x1a7)])_0x2a1a32['set'](_0x1b6097[_0x512906(0x1ca)],_0x26086f['gitRepoUrl']);if(_0x26086f?.[_0x512906(0x19e)])_0x2a1a32['set'](_0x1b6097[_0x512906(0x1c7)],_0x26086f['gitBranch']);if(_0x26086f?.[_0x512906(0x1ad)])_0x2a1a32['set']('limit',_0x26086f[_0x512906(0x1ad)]['toString']());if(_0x26086f?.[_0x512906(0x1b6)])_0x2a1a32[_0x512906(0x1ab)](_0x1b6097[_0x512906(0x1d6)],_0x26086f[_0x512906(0x1b6)]['toString']());if(_0x26086f?.[_0x512906(0x1c5)])_0x2a1a32[_0x512906(0x1ab)]('includeDeleted','true');const _0x596bde=_0xf1fd8b+'/api/v1/mcp/features'+(_0x2a1a32[_0x512906(0x1a0)]()?'?'+_0x2a1a32[_0x512906(0x1a0)]():''),_0x3b944e=await _0x1b6097[_0x512906(0x1df)](fetch,_0x596bde,{'method':_0x512906(0x1e2),'headers':{'Authorization':_0x512906(0x1db)+_0x1529b4}});if(!_0x3b944e['ok']){const _0x3422dc=await _0x3b944e[_0x512906(0x1c9)]();throw new Error(_0x512906(0x1b1)+_0x3422dc);}return _0x3b944e['json']();}export async function getFeature(_0x9e3780){const _0x160247=_0xad9f,_0x2fa817={'FHVmJ':_0x160247(0x1e0)},_0x1d3f38=await getToken();if(!_0x1d3f38)throw new Error(_0x2fa817[_0x160247(0x1d0)]);const _0x55b31=getApiBaseUrl(),_0x99df72=await fetch(_0x55b31+'/api/v1/mcp/features/'+_0x9e3780,{'method':_0x160247(0x1e2),'headers':{'Authorization':_0x160247(0x1db)+_0x1d3f38}});if(!_0x99df72['ok']){const _0x458381=await _0x99df72[_0x160247(0x1c9)]();throw new Error(_0x160247(0x1dd)+_0x458381);}return _0x99df72[_0x160247(0x1e1)]();}export async function updateFeature(_0x18d429,_0x10e4c9){const _0x2f7c89=_0xad9f,_0x12c245={'vAKzD':function(_0x49c23f){return _0x49c23f();},'KddPj':_0x2f7c89(0x1e0),'forPH':'PATCH','IvNJi':'application/json'},_0x20fe77=await _0x12c245['vAKzD'](getToken);if(!_0x20fe77)throw new Error(_0x12c245['KddPj']);const _0x37c076=getApiBaseUrl(),_0x443f6d=await fetch(_0x37c076+_0x2f7c89(0x1ba)+_0x18d429,{'method':_0x12c245[_0x2f7c89(0x1e4)],'headers':{'Authorization':_0x2f7c89(0x1db)+_0x20fe77,'Content-Type':_0x12c245[_0x2f7c89(0x1d8)]},'body':JSON['stringify'](_0x10e4c9)});if(!_0x443f6d['ok']){const _0x5e890f=await _0x443f6d[_0x2f7c89(0x1c9)]();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x5e890f);}return _0x443f6d['json']();}export async function createChecklistItem(_0xf69684,_0x5bbdf4,_0x2fe576){const _0x3dc815=_0xad9f,_0x48000e={'slYdx':function(_0x40d88f){return _0x40d88f();},'TEJxO':_0x3dc815(0x1bc)},_0x13138f=await _0x48000e[_0x3dc815(0x1c3)](getToken);if(!_0x13138f)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x6cb53a=_0x48000e['slYdx'](getApiBaseUrl),_0x29c27f=await fetch(_0x6cb53a+'/api/v1/mcp/features/'+_0xf69684+_0x3dc815(0x1b5),{'method':'POST','headers':{'Authorization':_0x3dc815(0x1db)+_0x13138f,'Content-Type':_0x48000e[_0x3dc815(0x19d)]},'body':JSON[_0x3dc815(0x1bd)]({'description':_0x5bbdf4,'position':_0x2fe576})});if(!_0x29c27f['ok']){const _0x4e9ea5=await _0x29c27f['text']();throw new Error(_0x3dc815(0x1da)+_0x4e9ea5);}return _0x29c27f[_0x3dc815(0x1e1)]();}export async function updateChecklistItem(_0x25ffa6,_0x13e8c7,_0x437f10){const _0xf30c2f={'YxXgA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','weGmj':function(_0x128b74,_0x53bbfe,_0xb1f8dc){return _0x128b74(_0x53bbfe,_0xb1f8dc);},'DaIfp':'application/json'};return withRetry(async()=>{const _0x325b84=_0xad9f,_0xc3c212=await getToken();if(!_0xc3c212)throw new Error(_0xf30c2f[_0x325b84(0x1d9)]);const _0x514a25=getApiBaseUrl(),_0x20e63c=await _0xf30c2f[_0x325b84(0x1cb)](fetch,_0x514a25+'/api/v1/mcp/features/'+_0x25ffa6+'/checklist/'+_0x13e8c7,{'method':_0x325b84(0x1be),'headers':{'Authorization':_0x325b84(0x1db)+_0xc3c212,'Content-Type':_0xf30c2f[_0x325b84(0x1af)]},'body':JSON[_0x325b84(0x1bd)](_0x437f10)});if(!_0x20e63c['ok']){const _0x1b5782=await _0x20e63c[_0x325b84(0x1c9)]();throw new Error(_0x325b84(0x1a5)+_0x1b5782);}return _0x20e63c['json']();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x4931bc){const _0x2c55ed=_0xad9f,_0x3cb9c9={'qgXdm':function(_0x16eb3c){return _0x16eb3c();},'piOKn':function(_0x5acf71,_0x2a8ae5,_0x3b8640){return _0x5acf71(_0x2a8ae5,_0x3b8640);}},_0x342f7e=await getToken();if(!_0x342f7e)throw new Error(_0x2c55ed(0x1e0));const _0x1674cc=_0x3cb9c9[_0x2c55ed(0x1a8)](getApiBaseUrl),_0x28c0e0=await _0x3cb9c9['piOKn'](fetch,_0x1674cc+_0x2c55ed(0x1ba)+_0x4931bc+_0x2c55ed(0x1a1),{'method':'GET','headers':{'Authorization':_0x2c55ed(0x1db)+_0x342f7e}});if(!_0x28c0e0['ok']){const _0x52745c=await _0x28c0e0['text']();throw new Error(_0x2c55ed(0x1e3)+_0x52745c);}return _0x28c0e0['json']();}function _0xad9f(_0x5c9727,_0x1fb148){_0x5c9727=_0x5c9727-0x19d;const _0x13e051=_0x13e0();let _0xad9f6d=_0x13e051[_0x5c9727];return _0xad9f6d;}export async function getFeatureReportMarkdown(_0x29beac,_0x38f2a4){const _0x301303=_0xad9f,_0x79b249={'cSClb':_0x301303(0x1e0),'DkZas':function(_0x34c843){return _0x34c843();},'ZyHwu':function(_0x7bc149,_0x573cb9){return _0x7bc149(_0x573cb9);},'WaDXI':function(_0x3aa263,_0x5eaf9f){return _0x3aa263&&_0x5eaf9f;},'WXhkm':_0x301303(0x1e2)},_0x440171=await getToken();if(!_0x440171)throw new Error(_0x79b249[_0x301303(0x1a4)]);const _0x3eaa08=_0x79b249['DkZas'](getApiBaseUrl),_0x362ba1=new URLSearchParams(),_0x111f7f=(_0x38f2a4?.[_0x301303(0x1aa)]?.['length']??0x0)>0x0,_0x1cc5ca=_0x79b249[_0x301303(0x1e8)](Boolean,_0x38f2a4?.['sessionId']);_0x111f7f&&_0x38f2a4?.['itemIds']&&_0x362ba1[_0x301303(0x1ab)](_0x301303(0x1aa),_0x38f2a4['itemIds']['join'](','));_0x1cc5ca&&_0x38f2a4?.['sessionId']&&_0x362ba1[_0x301303(0x1ab)](_0x301303(0x1ce),_0x38f2a4['sessionId']);_0x79b249[_0x301303(0x1d1)](!_0x111f7f,!_0x1cc5ca)&&_0x38f2a4?.[_0x301303(0x1d5)]&&_0x362ba1['set']('style',_0x38f2a4[_0x301303(0x1d5)]);const _0x189f0e=_0x3eaa08+_0x301303(0x1ba)+_0x29beac+'/report/markdown',_0x1d832b=''+_0x189f0e+(_0x362ba1['toString']()?'?'+_0x362ba1[_0x301303(0x1a0)]():''),_0x4f6c3d=await fetch(_0x1d832b,{'method':_0x79b249[_0x301303(0x1d7)],'headers':{'Authorization':'Bearer\x20'+_0x440171}});if(!_0x4f6c3d['ok']){const _0x401363=await _0x4f6c3d['text']();throw new Error(_0x301303(0x1d2)+_0x401363);}return _0x4f6c3d['text']();}export async function listFeatureSessions(_0x521347){const _0x44beb3=_0xad9f,_0x4d04dc={'reXvS':function(_0x1cfbb9){return _0x1cfbb9();},'GLXQA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0xf27040=await _0x4d04dc[_0x44beb3(0x1cc)](getToken);if(!_0xf27040)throw new Error(_0x4d04dc['GLXQA']);const _0x29709b=_0x4d04dc['reXvS'](getApiBaseUrl),_0x1b1ce0=await fetch(_0x29709b+'/api/v1/mcp/features/'+_0x521347+'/sessions',{'method':_0x44beb3(0x1e2),'headers':{'Authorization':'Bearer\x20'+_0xf27040}});if(!_0x1b1ce0['ok']){const _0x25c6b4=await _0x1b1ce0[_0x44beb3(0x1c9)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x25c6b4);}return _0x1b1ce0[_0x44beb3(0x1e1)]();}export async function startSession(_0x462e56,_0x319a7b){const _0x171e76=_0xad9f,_0x5d9a0e={'zYhLN':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','AGjNU':function(_0x20d92c){return _0x20d92c();},'QDPQw':function(_0x2993ec,_0xb99131,_0x866af7){return _0x2993ec(_0xb99131,_0x866af7);}},_0x35851=await getToken();if(!_0x35851)throw new Error(_0x5d9a0e['zYhLN']);const _0x112143=_0x5d9a0e['AGjNU'](getApiBaseUrl),_0xc669d6=await _0x5d9a0e[_0x171e76(0x1bf)](fetch,_0x112143+'/api/v1/mcp/features/'+_0x462e56+'/sessions/'+_0x319a7b+'/start',{'method':'POST','headers':{'Authorization':_0x171e76(0x1db)+_0x35851}});if(!_0xc669d6['ok']){const _0x5b732b=await _0xc669d6[_0x171e76(0x1c9)]();throw new Error(_0x171e76(0x1c2)+_0x5b732b);}return _0xc669d6['json']();}export async function concludeSession(_0x49036e,_0x4e114e){const _0x305021=_0xad9f,_0xdddbc7={'mdDgV':function(_0x3bc994){return _0x3bc994();},'LvYnm':_0x305021(0x1e0),'csTfA':'POST'},_0x23150c=await _0xdddbc7[_0x305021(0x1b4)](getToken);if(!_0x23150c)throw new Error(_0xdddbc7['LvYnm']);const _0x273170=_0xdddbc7['mdDgV'](getApiBaseUrl),_0x41dfa5=await fetch(_0x273170+'/api/v1/mcp/features/'+_0x49036e+_0x305021(0x1a3)+_0x4e114e+'/conclude',{'method':_0xdddbc7[_0x305021(0x1e9)],'headers':{'Authorization':_0x305021(0x1db)+_0x23150c}});if(!_0x41dfa5['ok']){const _0x4a42c1=await _0x41dfa5['text']();throw new Error(_0x305021(0x1c0)+_0x4a42c1);}return _0x41dfa5['json']();}export async function getActionItems(_0x5749e4){const _0xe67d97=_0xad9f,_0x57aaec={'ZuCAk':function(_0xeece61){return _0xeece61();}},_0xfbff78=await _0x57aaec[_0xe67d97(0x19f)](getToken);if(!_0xfbff78)throw new Error(_0xe67d97(0x1e0));const _0x3f6f2a=getApiBaseUrl(),_0x535470=await fetch(_0x3f6f2a+'/api/v1/mcp/features/'+_0x5749e4+'/action-items',{'method':'GET','headers':{'Authorization':_0xe67d97(0x1db)+_0xfbff78}});if(!_0x535470['ok']){const _0x464e55=await _0x535470[_0xe67d97(0x1c9)]();throw new Error(_0xe67d97(0x1e5)+_0x464e55);}return _0x535470['json']();}export async function getItemFeedback(_0x4b9a7d,_0x895b3c){const _0x5867db=_0xad9f,_0x350d05={'TNQry':function(_0x5072cc){return _0x5072cc();},'jmofH':function(_0x2244ba,_0x483b73,_0x5ed9ce){return _0x2244ba(_0x483b73,_0x5ed9ce);}},_0x29f42c=await getToken();if(!_0x29f42c)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x9e362f=_0x350d05[_0x5867db(0x1c1)](getApiBaseUrl),_0x5df8ee=await _0x350d05[_0x5867db(0x1d4)](fetch,_0x9e362f+'/api/v1/mcp/features/'+_0x4b9a7d+'/checklist-items/'+_0x895b3c+'/feedback',{'method':'GET','headers':{'Authorization':_0x5867db(0x1db)+_0x29f42c}});if(!_0x5df8ee['ok']){const _0x91c57e=await _0x5df8ee['text']();throw new Error(_0x5867db(0x1e7)+_0x91c57e);}return _0x5df8ee['json']();}export async function markCommentsAddressed(_0xa2b65f,_0x1c32b4,_0x43b285){const _0x5bef9e=_0xad9f,_0x462afd={'jkTCY':'POST','BKgnk':'application/json'},_0x762f50=await getToken();if(!_0x762f50)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x28e362=getApiBaseUrl(),_0x5c921c=await fetch(_0x28e362+'/api/v1/mcp/features/'+_0xa2b65f+_0x5bef9e(0x1dc),{'method':_0x462afd['jkTCY'],'headers':{'Authorization':_0x5bef9e(0x1db)+_0x762f50,'Content-Type':_0x462afd[_0x5bef9e(0x1bb)]},'body':JSON['stringify']({'checklistItemId':_0x1c32b4,'commentIds':_0x43b285})});if(!_0x5c921c['ok']){const _0x3054d5=await _0x5c921c[_0x5bef9e(0x1c9)]();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x3054d5);}}export async function softDeleteFeature(_0x1770ff){const _0x15f519=_0xad9f,_0xe1720={'uSrsw':function(_0x5710b0){return _0x5710b0();},'yzoSK':'DELETE'},_0x5e61c2=await _0xe1720[_0x15f519(0x1e6)](getToken);if(!_0x5e61c2)throw new Error(_0x15f519(0x1e0));const _0x133066=getApiBaseUrl(),_0x4a3ece=await fetch(_0x133066+_0x15f519(0x1ba)+_0x1770ff,{'method':_0xe1720[_0x15f519(0x1a9)],'headers':{'Authorization':'Bearer\x20'+_0x5e61c2}});if(!_0x4a3ece['ok']){const _0x5abdbf=await _0x4a3ece['text']();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x5abdbf);}}export async function restoreFeature(_0x6f3f60){const _0x4735b0=_0xad9f,_0x54a166={'uRldl':function(_0x2a901c){return _0x2a901c();},'HdJsA':function(_0x5963e4,_0x208c6e,_0x1fad43){return _0x5963e4(_0x208c6e,_0x1fad43);},'qlQDy':'POST'},_0x172026=await getToken();if(!_0x172026)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x17e1b4=_0x54a166[_0x4735b0(0x1b7)](getApiBaseUrl),_0x4d8f09=await _0x54a166[_0x4735b0(0x1a6)](fetch,_0x17e1b4+_0x4735b0(0x1ba)+_0x6f3f60+_0x4735b0(0x1cd),{'method':_0x54a166[_0x4735b0(0x1ec)],'headers':{'Authorization':_0x4735b0(0x1db)+_0x172026}});if(!_0x4d8f09['ok']){const _0x5029cd=await _0x4d8f09[_0x4735b0(0x1c9)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x5029cd);}}
|
|
1
|
+
(function(_0x36214f,_0x3fa71e){const _0x251735=_0x2d51,_0x2e4f9b=_0x36214f();while(!![]){try{const _0x72c55d=-parseInt(_0x251735(0x1a7))/0x1+parseInt(_0x251735(0x1a6))/0x2*(parseInt(_0x251735(0x1a1))/0x3)+parseInt(_0x251735(0x18f))/0x4+-parseInt(_0x251735(0x199))/0x5+-parseInt(_0x251735(0x1ad))/0x6*(parseInt(_0x251735(0x1ac))/0x7)+parseInt(_0x251735(0x18a))/0x8*(-parseInt(_0x251735(0x1b3))/0x9)+-parseInt(_0x251735(0x1a2))/0xa*(-parseInt(_0x251735(0x1af))/0xb);if(_0x72c55d===_0x3fa71e)break;else _0x2e4f9b['push'](_0x2e4f9b['shift']());}catch(_0x338694){_0x2e4f9b['push'](_0x2e4f9b['shift']());}}}(_0x3a10,0xb5dc9));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x3a10(){const _0x3d012e=['MYnht','OMALh','gitRepoUrl','text','json','lICKm','Failed\x20to\x20list\x20feature\x20reviews:\x20','https://dashboard.ranger.net/billing','6717360JAbrho','VdaEw','oQGdw','toString','/sessions/','sessionId','Failed\x20to\x20get\x20feature\x20review:\x20','gitBranch','31839GYNJvF','80brwqqI','itemIds','PATCH','join','142hQWCjj','1229115fVxAwv','application/json','message','Failed\x20to\x20list\x20sessions:\x20','PGUlE','14mizvjb','2868552FrUaLv','POST','3704393BVfYzz','qpizW','DELETE','fZVoq','48771EQmFlj','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','Bearer\x20','vWTWU','GET','Failed\x20to\x20get\x20action\x20items:\x20','includeDeleted','rZfYd','set','/api/v1/mcp/features/','CAXHT','Failed\x20to\x20get\x20item\x20feedback:\x20','QWQJs','limit','WOvux','DTvHt','TiRPs','/api/v1/mcp/features','Failed\x20to\x20conclude\x20session:\x20','stringify','offset','lLkiX','/start','88hKeYIM','Cpfbi','GIvEs','kuNiR','Failed\x20to\x20restore\x20feature\x20review:\x20','3542632bOfwbM','LNSfC'];_0x3a10=function(){return _0x3d012e;};return _0x3a10();}import{withRetry}from'./retry.js';export async function createFeature(_0x2cc055){const _0x149f4f=_0x2d51,_0x537039={'DuTMu':function(_0x464b18){return _0x464b18();},'eoKwy':'POST','VhaYO':'application/json','vWTWU':function(_0x5693a3,_0x21a498){return _0x5693a3===_0x21a498;}},_0xc29237=await getToken();if(!_0xc29237)throw new Error(_0x149f4f(0x1b4));const _0x6b63d2=_0x537039['DuTMu'](getApiBaseUrl),_0x27ed95=await fetch(_0x6b63d2+'/api/v1/mcp/features',{'method':_0x537039['eoKwy'],'headers':{'Authorization':_0x149f4f(0x1b5)+_0xc29237,'Content-Type':_0x537039['VhaYO']},'body':JSON['stringify'](_0x2cc055)});if(!_0x27ed95['ok']){if(_0x537039[_0x149f4f(0x1b6)](_0x27ed95['status'],0x192)){const _0x45d8ed=await _0x27ed95[_0x149f4f(0x195)](),_0x293007=_0x45d8ed['billingUrl']||_0x149f4f(0x198);throw new Error((_0x45d8ed[_0x149f4f(0x1a9)]||'Feature\x20limit\x20exceeded')+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x293007);}const _0x23de0b=await _0x27ed95[_0x149f4f(0x194)]();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x23de0b);}return _0x27ed95[_0x149f4f(0x195)]();}export async function listFeatures(_0x52acc0){const _0x35040e=_0x2d51,_0x16f18d={'fZVoq':function(_0x2c3537){return _0x2c3537();},'Mripm':'gitRepoUrl','VdaEw':_0x35040e(0x1a0),'nfkbh':'offset','QWQJs':_0x35040e(0x1b9),'PGUlE':'true','KBiuS':function(_0x2e4a31,_0xb85d92,_0x4e4bf5){return _0x2e4a31(_0xb85d92,_0x4e4bf5);},'pnXqd':'GET'},_0x3d435a=await _0x16f18d[_0x35040e(0x1b2)](getToken);if(!_0x3d435a)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x4278b5=getApiBaseUrl(),_0x415e2c=new URLSearchParams();if(_0x52acc0?.['gitRepoUrl'])_0x415e2c['set'](_0x16f18d['Mripm'],_0x52acc0[_0x35040e(0x193)]);if(_0x52acc0?.[_0x35040e(0x1a0)])_0x415e2c['set'](_0x16f18d[_0x35040e(0x19a)],_0x52acc0[_0x35040e(0x1a0)]);if(_0x52acc0?.['limit'])_0x415e2c['set']('limit',_0x52acc0[_0x35040e(0x180)][_0x35040e(0x19c)]());if(_0x52acc0?.[_0x35040e(0x187)])_0x415e2c[_0x35040e(0x1bb)](_0x16f18d['nfkbh'],_0x52acc0['offset']['toString']());if(_0x52acc0?.[_0x35040e(0x1b9)])_0x415e2c['set'](_0x16f18d[_0x35040e(0x17f)],_0x16f18d[_0x35040e(0x1ab)]);const _0xc37067=_0x4278b5+_0x35040e(0x184)+(_0x415e2c[_0x35040e(0x19c)]()?'?'+_0x415e2c[_0x35040e(0x19c)]():''),_0x473760=await _0x16f18d['KBiuS'](fetch,_0xc37067,{'method':_0x16f18d['pnXqd'],'headers':{'Authorization':'Bearer\x20'+_0x3d435a}});if(!_0x473760['ok']){const _0x3b11f9=await _0x473760[_0x35040e(0x194)]();throw new Error(_0x35040e(0x197)+_0x3b11f9);}return _0x473760['json']();}export async function getFeature(_0x2139de){const _0xed4c9a=_0x2d51,_0x43df6f={'gnWkK':function(_0x39ecf2){return _0x39ecf2();},'TiRPs':_0xed4c9a(0x1b7)},_0x46e882=await getToken();if(!_0x46e882)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x45a4d3=_0x43df6f['gnWkK'](getApiBaseUrl),_0x317e30=await fetch(_0x45a4d3+'/api/v1/mcp/features/'+_0x2139de,{'method':_0x43df6f[_0xed4c9a(0x183)],'headers':{'Authorization':'Bearer\x20'+_0x46e882}});if(!_0x317e30['ok']){const _0x4a2d36=await _0x317e30['text']();throw new Error(_0xed4c9a(0x19f)+_0x4a2d36);}return _0x317e30['json']();}export async function updateFeature(_0x4e17e1,_0x3622ae){const _0x8ef9b6=_0x2d51,_0x3b6c7c={'OMALh':function(_0x26b84a){return _0x26b84a();}},_0x2ab34b=await getToken();if(!_0x2ab34b)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x4a3fee=_0x3b6c7c[_0x8ef9b6(0x192)](getApiBaseUrl),_0x2fcba7=await fetch(_0x4a3fee+_0x8ef9b6(0x17c)+_0x4e17e1,{'method':'PATCH','headers':{'Authorization':'Bearer\x20'+_0x2ab34b,'Content-Type':'application/json'},'body':JSON[_0x8ef9b6(0x186)](_0x3622ae)});if(!_0x2fcba7['ok']){const _0x57ba67=await _0x2fcba7[_0x8ef9b6(0x194)]();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x57ba67);}return _0x2fcba7['json']();}export async function createChecklistItem(_0x203f4b,_0x397ead,_0x56c4ee){const _0x31f977=_0x2d51,_0x3f4c1d={'UaJat':_0x31f977(0x1a8)},_0x353b69=await getToken();if(!_0x353b69)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3d213b=getApiBaseUrl(),_0x1f9885=await fetch(_0x3d213b+'/api/v1/mcp/features/'+_0x203f4b+'/checklist',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x353b69,'Content-Type':_0x3f4c1d['UaJat']},'body':JSON[_0x31f977(0x186)]({'description':_0x397ead,'position':_0x56c4ee})});if(!_0x1f9885['ok']){const _0x193f88=await _0x1f9885[_0x31f977(0x194)]();throw new Error('Failed\x20to\x20create\x20scenario:\x20'+_0x193f88);}return _0x1f9885[_0x31f977(0x195)]();}function _0x2d51(_0x3401ca,_0x4cfbf7){_0x3401ca=_0x3401ca-0x17c;const _0x3a10ff=_0x3a10();let _0x2d511d=_0x3a10ff[_0x3401ca];return _0x2d511d;}export async function updateChecklistItem(_0x3d3d42,_0x308d77,_0x79d8d3){const _0x5cf400=_0x2d51,_0x2bd930={'OrJqv':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','GIvEs':function(_0x3bf455,_0xb5e57d,_0x3ad44b){return _0x3bf455(_0xb5e57d,_0x3ad44b);}};return _0x2bd930[_0x5cf400(0x18c)](withRetry,async()=>{const _0x481321=_0x5cf400,_0x7df9e4=await getToken();if(!_0x7df9e4)throw new Error(_0x2bd930['OrJqv']);const _0x2f81f7=getApiBaseUrl(),_0xdc0be0=await fetch(_0x2f81f7+'/api/v1/mcp/features/'+_0x3d3d42+'/checklist/'+_0x308d77,{'method':_0x481321(0x1a4),'headers':{'Authorization':_0x481321(0x1b5)+_0x7df9e4,'Content-Type':'application/json'},'body':JSON['stringify'](_0x79d8d3)});if(!_0xdc0be0['ok']){const _0x8e5688=await _0xdc0be0[_0x481321(0x194)]();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x8e5688);}return _0xdc0be0[_0x481321(0x195)]();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x353e23){const _0x56145e=_0x2d51,_0x3d34b9={'etgmx':function(_0x438e81,_0x5a41bf,_0x7f64f6){return _0x438e81(_0x5a41bf,_0x7f64f6);}},_0x49919b=await getToken();if(!_0x49919b)throw new Error(_0x56145e(0x1b4));const _0x17d484=getApiBaseUrl(),_0x59f586=await _0x3d34b9['etgmx'](fetch,_0x17d484+'/api/v1/mcp/features/'+_0x353e23+'/report',{'method':'GET','headers':{'Authorization':_0x56145e(0x1b5)+_0x49919b}});if(!_0x59f586['ok']){const _0x2400b7=await _0x59f586[_0x56145e(0x194)]();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x2400b7);}return _0x59f586['json']();}export async function getFeatureReportMarkdown(_0xa81c0e,_0xf7fcbd){const _0x1d94e0=_0x2d51,_0x1c80a1={'oQGdw':function(_0x4772e7){return _0x4772e7();},'Cpfbi':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','lLkiX':function(_0x5151db){return _0x5151db();},'MYnht':function(_0x1be462,_0x3700b6){return _0x1be462>_0x3700b6;},'LNSfC':function(_0x4a067f,_0x3311aa){return _0x4a067f(_0x3311aa);},'qpizW':'itemIds','KfuBR':function(_0x57e491,_0x3f89a1){return _0x57e491&&_0x3f89a1;},'TWkKz':'style','sKxLU':function(_0x17fc92,_0x134c6a,_0x33a631){return _0x17fc92(_0x134c6a,_0x33a631);},'kuNiR':'GET'},_0x30e3bd=await _0x1c80a1[_0x1d94e0(0x19b)](getToken);if(!_0x30e3bd)throw new Error(_0x1c80a1[_0x1d94e0(0x18b)]);const _0x3965c1=_0x1c80a1[_0x1d94e0(0x188)](getApiBaseUrl),_0x28c49e=new URLSearchParams(),_0x4a2aa8=_0x1c80a1[_0x1d94e0(0x191)](_0xf7fcbd?.['itemIds']?.['length']??0x0,0x0),_0x6f4f5c=_0x1c80a1[_0x1d94e0(0x190)](Boolean,_0xf7fcbd?.['sessionId']);_0x4a2aa8&&_0xf7fcbd?.[_0x1d94e0(0x1a3)]&&_0x28c49e[_0x1d94e0(0x1bb)](_0x1c80a1[_0x1d94e0(0x1b0)],_0xf7fcbd['itemIds'][_0x1d94e0(0x1a5)](','));_0x6f4f5c&&_0xf7fcbd?.[_0x1d94e0(0x19e)]&&_0x28c49e[_0x1d94e0(0x1bb)](_0x1d94e0(0x19e),_0xf7fcbd[_0x1d94e0(0x19e)]);_0x1c80a1['KfuBR'](!_0x4a2aa8,!_0x6f4f5c)&&_0xf7fcbd?.['style']&&_0x28c49e['set'](_0x1c80a1['TWkKz'],_0xf7fcbd['style']);const _0x4acaa4=_0x3965c1+_0x1d94e0(0x17c)+_0xa81c0e+'/report/markdown',_0x274bbb=''+_0x4acaa4+(_0x28c49e['toString']()?'?'+_0x28c49e['toString']():''),_0x585a51=await _0x1c80a1['sKxLU'](fetch,_0x274bbb,{'method':_0x1c80a1[_0x1d94e0(0x18d)],'headers':{'Authorization':_0x1d94e0(0x1b5)+_0x30e3bd}});if(!_0x585a51['ok']){const _0x360b86=await _0x585a51[_0x1d94e0(0x194)]();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20'+_0x360b86);}return _0x585a51['text']();}export async function listFeatureSessions(_0x3e7738){const _0x3f0e96=_0x2d51,_0x57e323=await getToken();if(!_0x57e323)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0xc794fa=getApiBaseUrl(),_0x31915b=await fetch(_0xc794fa+'/api/v1/mcp/features/'+_0x3e7738+'/sessions',{'method':_0x3f0e96(0x1b7),'headers':{'Authorization':_0x3f0e96(0x1b5)+_0x57e323}});if(!_0x31915b['ok']){const _0x4c7e00=await _0x31915b[_0x3f0e96(0x194)]();throw new Error(_0x3f0e96(0x1aa)+_0x4c7e00);}return _0x31915b['json']();}export async function startSession(_0x3c1a4e,_0x48da92){const _0x3dbeba=_0x2d51,_0x7a3f72={'BCmyT':_0x3dbeba(0x1b4),'bLEuZ':function(_0x43c994){return _0x43c994();},'pKYXw':_0x3dbeba(0x1ae)},_0x3f3058=await getToken();if(!_0x3f3058)throw new Error(_0x7a3f72['BCmyT']);const _0x4a8788=_0x7a3f72['bLEuZ'](getApiBaseUrl),_0x205d5d=await fetch(_0x4a8788+_0x3dbeba(0x17c)+_0x3c1a4e+'/sessions/'+_0x48da92+_0x3dbeba(0x189),{'method':_0x7a3f72['pKYXw'],'headers':{'Authorization':_0x3dbeba(0x1b5)+_0x3f3058}});if(!_0x205d5d['ok']){const _0x23b019=await _0x205d5d['text']();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x23b019);}return _0x205d5d['json']();}export async function concludeSession(_0x2601d8,_0xc809be){const _0x3bee43=_0x2d51,_0x2f058a={'rZfYd':function(_0x5d3abd){return _0x5d3abd();},'xFFHi':_0x3bee43(0x1ae)},_0x17ea65=await getToken();if(!_0x17ea65)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x574eb9=_0x2f058a[_0x3bee43(0x1ba)](getApiBaseUrl),_0x1f13ca=await fetch(_0x574eb9+'/api/v1/mcp/features/'+_0x2601d8+_0x3bee43(0x19d)+_0xc809be+'/conclude',{'method':_0x2f058a['xFFHi'],'headers':{'Authorization':_0x3bee43(0x1b5)+_0x17ea65}});if(!_0x1f13ca['ok']){const _0x279cb1=await _0x1f13ca['text']();throw new Error(_0x3bee43(0x185)+_0x279cb1);}return _0x1f13ca[_0x3bee43(0x195)]();}export async function getActionItems(_0x4988b9){const _0x447ea5=_0x2d51,_0x2cb019=await getToken();if(!_0x2cb019)throw new Error(_0x447ea5(0x1b4));const _0x27ce42=getApiBaseUrl(),_0x5ea811=await fetch(_0x27ce42+'/api/v1/mcp/features/'+_0x4988b9+'/action-items',{'method':'GET','headers':{'Authorization':_0x447ea5(0x1b5)+_0x2cb019}});if(!_0x5ea811['ok']){const _0x50a293=await _0x5ea811['text']();throw new Error(_0x447ea5(0x1b8)+_0x50a293);}return _0x5ea811['json']();}export async function getItemFeedback(_0x98fb14,_0x407400){const _0x4a42a6=_0x2d51,_0x2797d3={'CoURl':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','PMWkS':_0x4a42a6(0x1b7)},_0x2e924a=await getToken();if(!_0x2e924a)throw new Error(_0x2797d3['CoURl']);const _0x4bdba1=getApiBaseUrl(),_0x444590=await fetch(_0x4bdba1+'/api/v1/mcp/features/'+_0x98fb14+'/checklist-items/'+_0x407400+'/feedback',{'method':_0x2797d3['PMWkS'],'headers':{'Authorization':'Bearer\x20'+_0x2e924a}});if(!_0x444590['ok']){const _0x235e59=await _0x444590[_0x4a42a6(0x194)]();throw new Error(_0x4a42a6(0x17e)+_0x235e59);}return _0x444590['json']();}export async function markCommentsAddressed(_0xeb24c,_0x588437,_0x68d48a){const _0x27148b=_0x2d51,_0xb2b3e3={'pFMWJ':function(_0x787d88){return _0x787d88();},'WuYdS':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','vQtgn':function(_0x5ed26e,_0xc6ded6,_0x516991){return _0x5ed26e(_0xc6ded6,_0x516991);}},_0x36dcb6=await _0xb2b3e3['pFMWJ'](getToken);if(!_0x36dcb6)throw new Error(_0xb2b3e3['WuYdS']);const _0x541acf=getApiBaseUrl(),_0x3af4e3=await _0xb2b3e3['vQtgn'](fetch,_0x541acf+_0x27148b(0x17c)+_0xeb24c+'/comments/address',{'method':_0x27148b(0x1ae),'headers':{'Authorization':_0x27148b(0x1b5)+_0x36dcb6,'Content-Type':'application/json'},'body':JSON['stringify']({'checklistItemId':_0x588437,'commentIds':_0x68d48a})});if(!_0x3af4e3['ok']){const _0x527e19=await _0x3af4e3[_0x27148b(0x194)]();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x527e19);}}export async function softDeleteFeature(_0x581f30){const _0x12c439=_0x2d51,_0x51dc02={'CAXHT':_0x12c439(0x1b4),'lICKm':function(_0x1e3f8c){return _0x1e3f8c();},'XzLoC':function(_0x29e105,_0x1ef5ef,_0x2ad20a){return _0x29e105(_0x1ef5ef,_0x2ad20a);},'IijdX':_0x12c439(0x1b1)},_0x409e60=await getToken();if(!_0x409e60)throw new Error(_0x51dc02[_0x12c439(0x17d)]);const _0x2c7528=_0x51dc02[_0x12c439(0x196)](getApiBaseUrl),_0xd8c807=await _0x51dc02['XzLoC'](fetch,_0x2c7528+'/api/v1/mcp/features/'+_0x581f30,{'method':_0x51dc02['IijdX'],'headers':{'Authorization':'Bearer\x20'+_0x409e60}});if(!_0xd8c807['ok']){const _0x1e9d38=await _0xd8c807['text']();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x1e9d38);}}export async function restoreFeature(_0x35c685){const _0x31291f=_0x2d51,_0x1d2f4e={'DTvHt':function(_0x380630){return _0x380630();},'QwXSi':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','WOvux':function(_0x4145b8,_0x105419,_0x4e2a43){return _0x4145b8(_0x105419,_0x4e2a43);}},_0x79af60=await _0x1d2f4e[_0x31291f(0x182)](getToken);if(!_0x79af60)throw new Error(_0x1d2f4e['QwXSi']);const _0x35ca9c=getApiBaseUrl(),_0x2756=await _0x1d2f4e[_0x31291f(0x181)](fetch,_0x35ca9c+_0x31291f(0x17c)+_0x35c685+'/restore',{'method':'POST','headers':{'Authorization':_0x31291f(0x1b5)+_0x79af60}});if(!_0x2756['ok']){const _0xcf5627=await _0x2756[_0x31291f(0x194)]();throw new Error(_0x31291f(0x18e)+_0xcf5627);}}
|