@ranger-testing/ranger-cli 3.1.2-alpha.059c7a3-40 → 3.1.2-alpha.b450a14-41
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
|
-
const _0x293293=_0x4b39;function _0x4b39(_0x5f0002,_0x40d559){_0x5f0002=_0x5f0002-0x124;const _0x3ce330=_0x3ce3();let _0x4b39d8=_0x3ce330[_0x5f0002];return _0x4b39d8;}(function(_0x4e1d3c,_0x58c522){const _0x7b64df=_0x4b39,_0x1e46f8=_0x4e1d3c();while(!![]){try{const _0x235383=-parseInt(_0x7b64df(0x156))/0x1+parseInt(_0x7b64df(0x190))/0x2*(parseInt(_0x7b64df(0x130))/0x3)+parseInt(_0x7b64df(0x197))/0x4*(parseInt(_0x7b64df(0x126))/0x5)+parseInt(_0x7b64df(0x13d))/0x6+-parseInt(_0x7b64df(0x192))/0x7+parseInt(_0x7b64df(0x15f))/0x8*(parseInt(_0x7b64df(0x199))/0x9)+-parseInt(_0x7b64df(0x185))/0xa;if(_0x235383===_0x58c522)break;else _0x1e46f8['push'](_0x1e46f8['shift']());}catch(_0x4b0600){_0x1e46f8['push'](_0x1e46f8['shift']());}}}(_0x3ce3,0x8d13d));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x5b064c 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';const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x592dcf=_0x4b39,_0x2329fe={'RVhJZ':function(_0x3cba4f){return _0x3cba4f();},'VdTYq':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x58934f=await _0x2329fe[_0x592dcf(0x169)](getToken);if(!_0x58934f)throw new Error(_0x2329fe['VdTYq']);return _0x58934f;}async function apiRequest(_0x5cbeea,_0x2b5de2={}){const _0x1af81e=_0x4b39,_0x168f7d={'sTjWI':function(_0x2665e1){return _0x2665e1();},'xIBkm':_0x1af81e(0x175),'OdxYI':function(_0x29866d,_0x1ce679){return _0x29866d===_0x1ce679;},'CvZyZ':_0x1af81e(0x12a)},_0x5e6708=await requireToken(),_0x119a67=_0x168f7d[_0x1af81e(0x16f)](getApiBaseUrl),_0x23d4f3=await fetch(''+_0x119a67+_0x5cbeea,{..._0x2b5de2,'headers':{'Authorization':'Bearer\x20'+_0x5e6708,'Content-Type':_0x168f7d['xIBkm'],..._0x2b5de2[_0x1af81e(0x136)]??{}}});if(!_0x23d4f3['ok']){let _0x2b2a99='',_0x124372;try{const _0x583a6f=await _0x23d4f3['json']();_0x2b2a99=(_0x168f7d[_0x1af81e(0x198)](typeof _0x583a6f['error'],_0x168f7d[_0x1af81e(0x19e)])?_0x583a6f[_0x1af81e(0x137)]:undefined)??JSON[_0x1af81e(0x12e)](_0x583a6f);if(typeof _0x583a6f[_0x1af81e(0x17d)]===_0x168f7d[_0x1af81e(0x19e)])_0x124372=_0x583a6f[_0x1af81e(0x17d)];}catch{_0x2b2a99=_0x23d4f3['statusText'];}throw new ApiError(_0x1af81e(0x148)+_0x5cbeea+'\x20failed\x20('+_0x23d4f3[_0x1af81e(0x149)]+'):\x20'+_0x2b2a99,_0x23d4f3['status'],_0x2b2a99,_0x124372);}if(_0x23d4f3['status']===0xcc)return undefined;return _0x23d4f3[_0x1af81e(0x195)]();}export class ApiError extends Error{['status'];[_0x293293(0x181)];[_0x293293(0x17d)];constructor(_0x1e74d4,_0x20ff26,_0x2bb371,_0x522fb4){const _0x152fba=_0x293293;super(_0x1e74d4),this[_0x152fba(0x149)]=_0x20ff26,this['detail']=_0x2bb371,this['code']=_0x522fb4,this[_0x152fba(0x16d)]=_0x152fba(0x184);}}export async function fetchCloudProfile(_0x23c497){const _0x4a69ab=_0x293293;try{return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x23c497));}catch(_0x40182e){if(_0x40182e instanceof ApiError&&_0x40182e[_0x4a69ab(0x149)]===0x194)return null;throw _0x40182e;}}export async function listCloudProfiles(){const _0x986154=_0x293293,_0x335142={'IFxQK':function(_0x1887bc,_0x56232e){return _0x1887bc(_0x56232e);}},_0x556d7f=await _0x335142['IFxQK'](apiRequest,_0x986154(0x131));return _0x556d7f[_0x986154(0x129)];}export async function deleteCloudProfile(_0x3f1a90){const _0x57c524=_0x293293,_0x84783f={'AzvQo':function(_0x235a0f,_0x288ed4,_0x4483be){return _0x235a0f(_0x288ed4,_0x4483be);},'GCuQV':function(_0x29a3c3,_0x1ad80a){return _0x29a3c3===_0x1ad80a;}};try{await _0x84783f['AzvQo'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x3f1a90),{'method':_0x57c524(0x16e)});}catch(_0x3397c5){if(_0x3397c5 instanceof ApiError&&_0x84783f['GCuQV'](_0x3397c5['status'],0x194))throw new Error(_0x57c524(0x151)+_0x3f1a90+_0x57c524(0x128));throw _0x3397c5;}}export async function createCloudProfile(_0x13dfbf,_0x19acb0,_0x37db5a={}){const _0x1c7419=_0x293293,_0x51bb67={'oowMj':function(_0x18b045,_0x416515,_0x3bba9f){return _0x18b045(_0x416515,_0x3bba9f);},'IRUvr':_0x1c7419(0x131)},_0xfcd73={'name':_0x13dfbf};if(_0x19acb0)_0xfcd73['environment_key']=_0x19acb0;_0x37db5a[_0x1c7419(0x196)]&&Object['keys'](_0x37db5a['settings'])[_0x1c7419(0x188)]>0x0&&(_0xfcd73[_0x1c7419(0x196)]=_0x37db5a[_0x1c7419(0x196)]);if(_0x37db5a[_0x1c7419(0x15e)])_0xfcd73[_0x1c7419(0x15e)]=_0x37db5a[_0x1c7419(0x15e)];if(_0x37db5a['password'])_0xfcd73['password']=_0x37db5a['password'];return await _0x51bb67['oowMj'](apiRequest,_0x51bb67['IRUvr'],{'method':_0x1c7419(0x163),'body':JSON['stringify'](_0xfcd73)});}export async function uploadCloudProfileSession(_0x848d41,_0x343251){const _0x4738c4=_0x293293,_0x30b97b={'uXmHy':_0x4738c4(0x163)};return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x848d41)+_0x4738c4(0x14d),{'method':_0x30b97b['uXmHy'],'body':JSON['stringify']({'session_state':_0x343251})});}export async function saveCloudProfileCredentials(_0x2436fa,_0x4becc0,_0x10b3f2){const _0xcfd388=_0x293293,_0x2797bc={'oMIyN':_0xcfd388(0x144)};await apiRequest(_0xcfd388(0x138)+encodeURIComponent(_0x2436fa),{'method':_0x2797bc['oMIyN'],'body':JSON[_0xcfd388(0x12e)]({'username':_0x4becc0,'password':_0x10b3f2})});}export async function fetchAuthConfig(){const _0x478584=_0x293293,_0x1e6a11={'dusTX':'/api/v1/profiles/auth-config'};try{const _0x4f3973=await apiRequest(_0x1e6a11['dusTX']);return _0x4f3973['auth_config'];}catch(_0x164e3e){return _0x164e3e instanceof ApiError&&_0x164e3e[_0x478584(0x149)]!==0x194&&console['error'](_0x478584(0x18e)+_0x164e3e[_0x478584(0x14f)]),null;}}async function createTunnelSession(_0x339a68){const _0x4b6d34=_0x293293,_0x3a5c7b={'PQWhx':'POST','cJdnT':'agent'};return await apiRequest('/api/v1/tunnel/sessions',{'method':_0x3a5c7b[_0x4b6d34(0x187)],'body':JSON[_0x4b6d34(0x12e)]({'targetUrl':_0x339a68,'mode':_0x3a5c7b[_0x4b6d34(0x124)]})});}async function deleteTunnelSession(_0x332dd5){const _0x170db1=_0x293293,_0x2938ea={'JpHyI':function(_0x30487a,_0xdb8d84,_0x31cf6a){return _0x30487a(_0xdb8d84,_0x31cf6a);},'cAlwE':_0x170db1(0x16e)};await _0x2938ea[_0x170db1(0x186)](apiRequest,_0x170db1(0x168)+_0x332dd5,{'method':_0x2938ea['cAlwE']});}export function pickAdHocEnvKey(_0x46377f){const _0x2b9fa8=_0x293293,_0x5cc1cb={'SAAYy':function(_0x28bba9,_0x3346f3){return _0x28bba9===_0x3346f3;},'OZheS':function(_0x2b029f,_0x442808){return _0x2b029f===_0x442808;}};if(!_0x46377f)return null;if(_0x46377f[_0x2b9fa8(0x17b)])return _0x46377f[_0x2b9fa8(0x17b)];const _0x4da336=Object[_0x2b9fa8(0x183)](_0x46377f['environments']??{});if(_0x5cc1cb['SAAYy'](_0x4da336[_0x2b9fa8(0x188)],0x1))return _0x4da336[0x0];if(_0x5cc1cb[_0x2b9fa8(0x13e)](_0x4da336['length'],0x0))return null;throw new Error('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x4da336['join'](',\x20')+').\x20'+_0x2b9fa8(0x145));}export async function resolveAdHocProfile(_0x79bfbe=process['env']){const _0x355286=_0x293293,_0x3134c8={'hgHRv':function(_0x52c53d){return _0x52c53d();},'mffoW':function(_0x25b680,_0x32e4e3,_0xb9cc23,_0x334a13){return _0x25b680(_0x32e4e3,_0xb9cc23,_0x334a13);}},_0x15c05d=_0x79bfbe[_0x355286(0x170)];if(!_0x15c05d)return null;const _0x3c3898=await fetchCloudProfile(_0x15c05d);if(_0x3c3898)return{'name':_0x3c3898[_0x355286(0x16d)],'profile':_0x3c3898};const _0x554980=await _0x3134c8['hgHRv'](fetchAuthConfig),_0x34b5c9=pickAdHocEnvKey(_0x554980),_0x1abe7b=_0x79bfbe[_0x355286(0x177)],_0x5d0472=await _0x3134c8['mffoW'](createCloudProfile,_0x15c05d,_0x34b5c9??undefined,{'username':_0x15c05d,'password':_0x1abe7b});return console[_0x355286(0x132)](_0x355286(0x13f)+_0x5d0472[_0x355286(0x16d)]+'\x22\x20for\x20'+_0x15c05d),{'name':_0x5d0472[_0x355286(0x16d)],'profile':_0x5d0472};}export async function writeSessionToLocalCache(_0x41359d,_0x57377d,_0x37c6e3,_0x134769,_0x47f720,_0xcae39e,_0xd81b62){const _0x2455be=_0x293293,_0x471478={'jVZGp':function(_0x541495,_0x624129,_0x10a0e4){return _0x541495(_0x624129,_0x10a0e4);},'PwSpN':function(_0x20f046,_0x3de6fb){return _0x20f046(_0x3de6fb);},'EGfzS':function(_0x1f6529,_0x38e2cd,_0x5dbd58){return _0x1f6529(_0x38e2cd,_0x5dbd58);},'fsMRg':function(_0x3ab3cf,_0x123297){return _0x3ab3cf(_0x123297);}},_0x16d813=sessionCacheHash({'orgId':_0x57377d,'profileName':_0x41359d,'effectiveBaseUrl':_0x37c6e3,'setupHeaders':_0x134769,'invalidateOn':_0xd81b62?.[_0x2455be(0x189)],'userAgent':_0xd81b62?.['userAgent'],'clientIp':_0xd81b62?.['clientIp']}),_0x2c3755=_0x471478['jVZGp'](getSessionCachePath,_0x16d813,_0x41359d),_0x526ba8=join(getRangerHomeDir(),'auth');!_0x471478['PwSpN'](existsSync,_0x526ba8)&&await _0x471478[_0x2455be(0x12b)](mkdir,_0x526ba8,{'recursive':!![]});const _0xd95e1d={..._0x47f720};_0xcae39e&&_0xcae39e[_0x2455be(0x188)]>0x0&&Array['isArray'](_0xd95e1d['cookies'])&&(_0xd95e1d[_0x2455be(0x166)]=_0x471478['EGfzS'](duplicateCookiesForDomains,_0xd95e1d[_0x2455be(0x166)],_0xcae39e));const _0x167b25={'cached_at':new Date()['toISOString'](),'session_state':_0xd95e1d};await writeFile(_0x2c3755,JSON[_0x2455be(0x12e)](_0x167b25,null,0x2));const _0x401a5b=_0x471478[_0x2455be(0x194)](getStorageStatePath,_0x2c3755);return await _0x471478[_0x2455be(0x154)](writeFile,_0x401a5b,JSON['stringify'](_0xd95e1d,null,0x2)),_0x401a5b;}export async function checkLocalCache(_0x224f95,_0x82ac3e,_0x5d6b1c,_0x4fa03a,_0x489db7){const _0x115883=_0x293293,_0x5b34af={'CfbZT':function(_0x14c997,_0x14790d){return _0x14c997(_0x14790d);}},_0x458929=_0x5b34af['CfbZT'](sessionCacheHash,{'orgId':_0x82ac3e,'profileName':_0x224f95,'effectiveBaseUrl':_0x5d6b1c,'setupHeaders':_0x4fa03a,'invalidateOn':_0x489db7?.['invalidateOn'],'userAgent':_0x489db7?.['userAgent'],'clientIp':_0x489db7?.[_0x115883(0x15d)]}),_0x583a2e=getSessionCachePath(_0x458929,_0x224f95),_0x4fb978=getStorageStatePath(_0x583a2e);if(!_0x5b34af[_0x115883(0x19c)](existsSync,_0x583a2e)||!_0x5b34af['CfbZT'](existsSync,_0x4fb978))return null;try{const _0x1c7d9b=await readFile(_0x583a2e,'utf-8');return JSON[_0x115883(0x13c)](_0x1c7d9b),{'storageStatePath':_0x4fb978};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x5b17ed,_0x22073d){const _0x1dcfb0=_0x293293,_0x19a8a8={'VCnaN':function(_0x46ee16,_0x533f24){return _0x46ee16+_0x533f24;}};if(!_0x22073d||!_0x22073d[_0x1dcfb0(0x18b)]?.['length'])return;let _0x428a06;try{_0x428a06=new URL(_0x5b17ed);}catch{return;}const _0x779851=[];for(const _0x34f015 of _0x22073d['domains']){try{_0x779851['push']({'raw':_0x34f015,'url':new URL(_0x34f015)});}catch{}}if(_0x779851['length']===0x0)return;if(_0x779851['some'](_0x32e036=>_0x32e036[_0x1dcfb0(0x174)]['origin']===_0x428a06['origin']))return;const _0x58e1b7=_0x779851['map'](_0x3bd2c7=>'\x22'+_0x3bd2c7['raw']+'\x22')['join'](',\x20');console['log'](_0x19a8a8['VCnaN'](_0x1dcfb0(0x193)+_0x58e1b7+';\x20',_0x1dcfb0(0x143)+_0x5b17ed+'\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20')+'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.');}export async function serverSideLogin(_0x12d4f1,_0x4da6b7){const _0x573050=_0x293293,_0x4ab01e={'bXFWy':function(_0x2f7284,_0x5b6c7b,_0x3507fa){return _0x2f7284(_0x5b6c7b,_0x3507fa);},'nqpqS':'POST','aLecL':function(_0x43a2d5,_0x1203e2){return _0x43a2d5===_0x1203e2;}},_0x58b483=process[_0x573050(0x18a)][_0x573050(0x170)],_0x2f1d0c=process[_0x573050(0x18a)][_0x573050(0x177)],_0x9f50b9={};if(_0x58b483)_0x9f50b9[_0x573050(0x15e)]=_0x58b483;if(_0x2f1d0c)_0x9f50b9[_0x573050(0x178)]=_0x2f1d0c;if(_0x4da6b7?.[_0x573050(0x1a4)])_0x9f50b9[_0x573050(0x1a4)]=!![];if(_0x4da6b7?.[_0x573050(0x167)])_0x9f50b9['target_url']=_0x4da6b7['targetUrl'];_0x4da6b7?.[_0x573050(0x14e)]&&(_0x9f50b9['tunnel_session_id']=_0x4da6b7[_0x573050(0x14e)][_0x573050(0x171)],_0x9f50b9[_0x573050(0x19b)]=_0x4da6b7['tunnel']['pwEndpoint']);try{return await _0x4ab01e[_0x573050(0x15c)](apiRequest,_0x573050(0x138)+encodeURIComponent(_0x12d4f1)+_0x573050(0x160),{'method':_0x4ab01e[_0x573050(0x1a3)],'body':JSON[_0x573050(0x12e)](_0x9f50b9)});}catch(_0x2927d9){if(_0x2927d9 instanceof ApiError&&_0x2927d9['status']===0x190&&_0x4ab01e[_0x573050(0x19a)](_0x2927d9['code'],_0x573050(0x13b)))return{'status':_0x573050(0x13b),'error':_0x2927d9['detail']};throw _0x2927d9;}}function _0x3ce3(){const _0x5762a3=['RANGER_TEST_PASSWORD','password','lScwD','\x20\x20forceLogin\x20enabled\x20for\x20\x22','defaultEnvironmentKey','VGpZf','code','trim','browserOptions','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','detail','bqLUh','keys','ApiError','8686070qUzbRX','JpHyI','PQWhx','length','invalidateOn','env','domains','sessionState','newContext','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','jqrpF','104WpHFzP','sessionCheckPath','6806702vWuWGe','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','fsMRg','json','settings','16Ecfifw','OdxYI','528102FPIcNe','aLecL','pw_endpoint','CfbZT','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','CvZyZ','jgDTw','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','sErLw','AiNzD','nqpqS','force','KBmcm','cJdnT','session_state','976810LPWnaR','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','\x22\x20not\x20found.','profiles','string','jVZGp','storageStatePath','SXEgn','stringify','\x20\x20Cloud\x20session\x20for\x20\x22','37371KXOvZO','/api/v1/profiles','log','test_output','Browser\x20login\x20timed\x20out\x20before\x20completion.','newPage','headers','error','/api/v1/profiles/','QJGRN','\x22,\x20refreshing\x20session...','not_configured','parse','3023142JPAwtV','OZheS','\x20\x20Created\x20cloud\x20profile\x20\x22','UOuPQ','\x20\x20No\x20live\x20session\x20for\x20\x22','success','you\x27re\x20now\x20at\x20\x22','PUT','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.','FXtlF','EDjIX','API\x20request\x20','status','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','setupHeaders','userAgent','/session','tunnel','message','wsEndpoint','Cloud\x20profile\x20\x22','cli:manual-login','\x22\x20failed\x20validation\x20—\x20refreshing...','EGfzS','No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22','511749baFYuU','Rssih','organizationId','catch','LOtEn','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','bXFWy','clientIp','username','136kYhMbq','/login','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','forceLogin','POST','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','\x22.\x0a','cookies','targetUrl','/api/v1/tunnel/sessions/','RVhJZ','storageState','loginInstructions','effectiveBaseUrl','name','DELETE','sTjWI','RANGER_TEST_USERNAME','sessionId','TZDvs','FGDri','url','application/json','\x20\x20Login\x20successful.\x20Session\x20cached.'];_0x3ce3=function(){return _0x5762a3;};return _0x3ce3();}async function serverSideLoginWithOptionalTunnel(_0xdcebda,_0x34ef12,_0x173ed5={}){const _0x34e16a=_0x293293,_0x54765e={'Rssih':function(_0x55f2fb){return _0x55f2fb();},'MDJvo':function(_0x353b6b,_0x1d2805){return _0x353b6b??_0x1d2805;}};if(!needsTunnel(_0x34ef12))return await serverSideLogin(_0xdcebda,{'force':_0x173ed5['force']});let _0x485729=null,_0xf873e1=null,_0x19ea6c=null,_0x3d10b6=null;try{_0x485729=await launchBrowserServer({'headless':!![]}),_0xf873e1=await createTunnelSession(_0x34ef12);const _0x136dd9=await _0x54765e[_0x34e16a(0x157)](requireToken);_0x19ea6c=await createTunnelBridge({'localWsUrl':_0x485729[_0x34e16a(0x150)],'tunnelServerUrl':_0xf873e1['tunnelUrl'],'sessionId':_0xf873e1['sessionId'],'apiKey':_0x136dd9,'onError':_0x22df81=>{_0x3d10b6=_0x22df81;}});try{return await serverSideLogin(_0xdcebda,{'force':_0x173ed5[_0x34e16a(0x1a4)],'targetUrl':_0x34ef12,'tunnel':{'sessionId':_0xf873e1['sessionId'],'pwEndpoint':_0xf873e1['pwEndpoint']}});}catch(_0x1e5895){throw _0x54765e['MDJvo'](_0x3d10b6,_0x1e5895);}}finally{_0x19ea6c?.['close'](),_0x485729&&await _0x485729['close']()[_0x34e16a(0x159)](()=>{}),_0xf873e1&&await deleteTunnelSession(_0xf873e1['sessionId'])[_0x34e16a(0x159)](()=>{});}}export async function manualBrowserLogin(_0x5e902b,_0x4394fc,_0xa40eee={}){const _0x5da4dd=_0x293293,_0x4f7b7f={'Aurmh':function(_0x3bfcaf){return _0x3bfcaf();},'UOuPQ':function(_0x2a3c15,_0x5645a4){return _0x2a3c15(_0x5645a4);},'QowpX':function(_0x5669cf){return _0x5669cf();},'SXEgn':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','CLfJp':'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','sErLw':function(_0x3d2c27,_0x12cbdd){return _0x3d2c27>_0x12cbdd;},'jqrpF':'about:blank','VDWgn':function(_0x575de0,_0x2ea345){return _0x575de0&&_0x2ea345;},'jmFAO':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','FGDri':function(_0x53632d,_0x49b187){return _0x53632d!==_0x49b187;}};if(!_0x4f7b7f['QowpX'](isInteractive))throw new Error(_0x5da4dd(0x155)+_0x5e902b['name']+_0x5da4dd(0x165)+_0x4f7b7f[_0x5da4dd(0x12d)]+_0x4f7b7f['CLfJp']);const _0x597c84=_0x4394fc&&_0x4f7b7f[_0x5da4dd(0x1a1)](_0x4394fc[_0x5da4dd(0x18b)][_0x5da4dd(0x188)],0x0)?_0x4394fc['domains'][0x0]:_0x4f7b7f[_0x5da4dd(0x18f)];console[_0x5da4dd(0x132)]('\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.'),console[_0x5da4dd(0x132)](_0x5da4dd(0x180)),await new Promise(_0x2a1da0=>setTimeout(_0x2a1da0,0x7d0));const _0x1d8e08=await chromium['launch']({'headless':![]});let _0x1b46f0=null;try{const _0x120762={'ignoreHTTPSErrors':!![]};_0x4394fc?.['setupHeaders']&&(_0x120762['extraHTTPHeaders']=_0x4394fc[_0x5da4dd(0x14b)]);const _0x154cc2=await _0x1d8e08[_0x5da4dd(0x18d)](_0x120762);await _0x4f7b7f['UOuPQ'](addProfileSetupBanner,_0x154cc2);const _0x1d251e=await _0x154cc2[_0x5da4dd(0x135)]();await _0x1d251e['goto'](_0x597c84);let _0x3b99b0=![];await new Promise(_0xaa0975=>{const _0x551c11={'TZDvs':function(_0x1c78b4,_0xad9672){const _0x3f90a7=_0x4b39;return _0x4f7b7f[_0x3f90a7(0x140)](_0x1c78b4,_0xad9672);}},_0x597272=setTimeout(()=>{const _0x59faae=_0x4b39;_0x3b99b0=!![],console[_0x59faae(0x137)]('Browser\x20login\x20timed\x20out\x20after\x20'+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0x59faae(0x127)),_0x4f7b7f['Aurmh'](_0xaa0975);},MANUAL_LOGIN_TIMEOUT_MS);_0x1d251e['on']('close',async()=>{const _0x30b854=_0x4b39;_0x551c11[_0x30b854(0x172)](clearTimeout,_0x597272);try{const _0x123659=await _0x154cc2[_0x30b854(0x16a)]();_0x1b46f0=_0x123659;}catch{}_0xaa0975();});});if(_0x4f7b7f['VDWgn'](_0x3b99b0,!_0x1b46f0))throw new Error(_0x5da4dd(0x134));}finally{await _0x1d8e08['close']()['catch'](()=>{});}if(!_0x1b46f0)throw new Error(_0x4f7b7f['jmFAO']);return _0x4f7b7f[_0x5da4dd(0x173)](_0xa40eee['persistSessionState'],![])&&await apiRequest(_0x5da4dd(0x138)+encodeURIComponent(_0x5e902b['name'])+_0x5da4dd(0x14d),{'method':'POST','body':JSON[_0x5da4dd(0x12e)]({'session_state':_0x1b46f0,'updated_by':_0x5da4dd(0x152)})}),{'sessionState':_0x1b46f0};}export async function promptSaveCredentials(_0x4393af){const _0xc7fd8c=_0x293293,_0x6f99ca={'QJGRN':function(_0xb6a684,_0x56d154){return _0xb6a684||_0x56d154;},'KBmcm':'confirm','EDjIX':'save','FXtlF':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','tVygF':'PUT'},_0x107578=process['env']['RANGER_TEST_USERNAME'],_0x46bb37=process['env']['RANGER_TEST_PASSWORD'];if(_0x6f99ca[_0xc7fd8c(0x139)](!_0x107578,!_0x46bb37))return;if(!isInteractive())return;const {save:_0x3e96c8}=await _0x5b064c['prompt']([{'type':_0x6f99ca[_0xc7fd8c(0x1a5)],'name':_0x6f99ca[_0xc7fd8c(0x147)],'message':_0x6f99ca[_0xc7fd8c(0x146)],'default':![]}]);if(!_0x3e96c8)return;await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x4393af),{'method':_0x6f99ca['tVygF'],'body':JSON['stringify']({'username':_0x107578,'password':_0x46bb37})}),console['log']('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x5aa513,_0x30be88={}){const _0x4740ce=_0x293293,_0x38544b={'PhzAM':function(_0x3e132d){return _0x3e132d();},'LOtEn':function(_0x2ee15a,_0x203910,_0x37778c){return _0x2ee15a(_0x203910,_0x37778c);},'ADbDV':'string','VGpZf':function(_0x32bd41,_0x2080c3){return _0x32bd41(_0x2080c3);},'cnsZH':function(_0x3f74d3,_0x4115b8,_0x233096,_0x5101ef,_0xd52c18,_0x3d85c7,_0x21fbfa,_0x39587f){return _0x3f74d3(_0x4115b8,_0x233096,_0x5101ef,_0xd52c18,_0x3d85c7,_0x21fbfa,_0x39587f);},'lScwD':function(_0x4a597a,_0x544a87){return _0x4a597a(_0x544a87);},'jTBXu':function(_0x5cd229,_0x2030a6){return _0x5cd229||_0x2030a6;},'KUvfu':function(_0x251f88,_0x2f0d50,_0x5037d,_0x173a9d){return _0x251f88(_0x2f0d50,_0x5037d,_0x173a9d);},'AiNzD':function(_0x4d060f,_0x536dda){return _0x4d060f===_0x536dda;},'bqLUh':_0x4740ce(0x176),'jgDTw':function(_0x2c1e37,_0x9cad04){return _0x2c1e37&&_0x9cad04;},'cVRDE':function(_0x3ce2a2,_0x44f516){return _0x3ce2a2(_0x44f516);}},_0x435b0c=_0x5aa513['settings']??{},_0x2674f6=await _0x38544b['PhzAM'](fetchAuthConfig),_0x323a10=_0x2674f6?_0x38544b[_0x4740ce(0x15a)](resolveAuthEnvironmentLocally,_0x2674f6,_0x5aa513['environmentKey']):null,_0x3984ef=typeof _0x323a10?.[_0x4740ce(0x16b)]==='string'&&_0x323a10['loginInstructions'][_0x4740ce(0x17e)]()?_0x323a10[_0x4740ce(0x16b)]:undefined,_0x525ef8=typeof _0x435b0c['loginInstructions']===_0x38544b['ADbDV']&&_0x435b0c['loginInstructions']['trim']()?_0x435b0c[_0x4740ce(0x16b)]:undefined,_0x513e78=_0x525ef8||!_0x3984ef?_0x435b0c:{..._0x435b0c,'loginInstructions':_0x3984ef},_0x5c5ca8=Boolean(_0x513e78['loginInstructions']?.[_0x4740ce(0x17e)]()),_0x44e2cb=_0x38544b['VGpZf'](Boolean,_0x435b0c[_0x4740ce(0x162)]||_0x323a10?.[_0x4740ce(0x162)]),_0x414539=_0x323a10?.['domains'],_0x6a933e=_0x435b0c['setupHeaders'],_0x24ed2b=_0x6a933e??_0x323a10?.[_0x4740ce(0x14b)],_0x26c573=_0x30be88[_0x4740ce(0x16c)]??_0x435b0c['baseUrl']??(_0x414539&&_0x414539[_0x4740ce(0x188)]>0x0?_0x414539[0x0]:''),_0x506b31=_0x26c573?_0x38544b[_0x4740ce(0x17c)](needsTunnel,_0x26c573):![],_0x42984c={'invalidateOn':_0x323a10?.['invalidateOn'],'userAgent':_0x323a10?.[_0x4740ce(0x17f)]?.[_0x4740ce(0x14c)]??_0x435b0c['userAgent']};_0x44e2cb&&console['log'](_0x4740ce(0x17a)+_0x5aa513['name']+_0x4740ce(0x13a));if(!_0x44e2cb){const _0x5160da=await checkLocalCache(_0x5aa513[_0x4740ce(0x16d)],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x42984c);if(_0x5160da){if(_0x26c573&&!_0x506b31){const _0x5614db=await isCachedSessionLive(_0x5160da[_0x4740ce(0x12c)],_0x26c573,{'sessionCheckPath':_0x323a10?.[_0x4740ce(0x191)],'setupHeaders':_0x24ed2b},{'launchBrowser':launchRealBrowser});if(_0x5614db)return console[_0x4740ce(0x132)](_0x4740ce(0x164)+_0x5aa513[_0x4740ce(0x16d)]+'\x22'),{'authPath':_0x5160da[_0x4740ce(0x12c)],'settings':_0x513e78,'resolvedEnv':_0x323a10};console['log']('\x20\x20Cached\x20session\x20for\x20\x22'+_0x5aa513['name']+_0x4740ce(0x153)),emitSessionValidationHint(_0x26c573,_0x323a10);}else return _0x506b31&&console['log'](_0x4740ce(0x14a)+_0x5aa513['name']+'\x22'),{'authPath':_0x5160da[_0x4740ce(0x12c)],'settings':_0x513e78,'resolvedEnv':_0x323a10};}}if(!_0x44e2cb&&_0x5aa513[_0x4740ce(0x18c)]){if(_0x506b31)console['log']('\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22'+_0x26c573+'\x22\x20on\x20profile\x20\x22'+_0x5aa513[_0x4740ce(0x16d)]+'\x22');else{const _0x1b7bca=await _0x38544b['cnsZH'](writeSessionToLocalCache,_0x5aa513['name'],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x5aa513[_0x4740ce(0x18c)],_0x414539,_0x42984c);if(_0x26c573){const _0x24c72e=await isCachedSessionLive(_0x1b7bca,_0x26c573,{'sessionCheckPath':_0x323a10?.[_0x4740ce(0x191)],'setupHeaders':_0x24ed2b},{'launchBrowser':launchRealBrowser});if(_0x24c72e)return console['log'](_0x4740ce(0x161)+_0x5aa513[_0x4740ce(0x16d)]+'\x22,\x20cached\x20locally'),{'authPath':_0x1b7bca,'settings':_0x513e78,'resolvedEnv':_0x323a10};console['log'](_0x4740ce(0x12f)+_0x5aa513['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x26c573,_0x323a10);}else return{'authPath':_0x1b7bca,'settings':_0x513e78,'resolvedEnv':_0x323a10};}}if(_0x5c5ca8)return console[_0x4740ce(0x132)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x5aa513[_0x4740ce(0x16d)]+'\x22;\x20proceeding\x20with\x20loginInstructions.'),{'authPath':undefined,'settings':_0x513e78,'resolvedEnv':_0x323a10};console['log'](_0x4740ce(0x141)+_0x5aa513['name']+'\x22,\x20attempting\x20login...');const _0x48373f=_0x38544b['VGpZf'](Boolean,process[_0x4740ce(0x18a)]['RANGER_TEST_USERNAME'])&&Boolean(process['env']['RANGER_TEST_PASSWORD']),_0x3cdd16=_0x38544b[_0x4740ce(0x179)](Boolean,_0x5aa513[_0x4740ce(0x15e)]);if(_0x38544b['jTBXu'](_0x48373f,_0x3cdd16))try{const _0x3ac60d=_0x26c573?await _0x38544b['KUvfu'](serverSideLoginWithOptionalTunnel,_0x5aa513['name'],_0x26c573,{'force':_0x44e2cb}):await serverSideLogin(_0x5aa513['name'],{'force':_0x44e2cb});if(_0x3ac60d[_0x4740ce(0x149)]==='not_configured')console['log'](_0x4740ce(0x19d));else{if(_0x38544b[_0x4740ce(0x1a2)](_0x3ac60d['status'],_0x4740ce(0x142))&&_0x3ac60d[_0x4740ce(0x125)]){console['log'](_0x38544b[_0x4740ce(0x182)]);const _0x700ca4=await _0x38544b['cnsZH'](writeSessionToLocalCache,_0x5aa513['name'],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x3ac60d['session_state'],_0x414539,_0x42984c);return _0x38544b[_0x4740ce(0x19f)](_0x48373f,!_0x3cdd16)&&await promptSaveCredentials(_0x5aa513[_0x4740ce(0x16d)]),{'authPath':_0x700ca4,'settings':_0x513e78,'resolvedEnv':_0x323a10};}else _0x3ac60d['test_output']&&(console[_0x4740ce(0x132)](_0x4740ce(0x15b)),console['log'](_0x3ac60d[_0x4740ce(0x133)])),console[_0x4740ce(0x132)](_0x4740ce(0x1a0));}}catch(_0x308c88){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x308c88 instanceof Error?_0x308c88[_0x4740ce(0x14f)]:_0x38544b['cVRDE'](String,_0x308c88))),console[_0x4740ce(0x132)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}const _0x5b5b76=_0x323a10?{..._0x323a10,'setupHeaders':_0x24ed2b}:_0x26c573?{'key':_0x5aa513['environmentKey']??'','domains':[_0x26c573],'setupHeaders':_0x24ed2b}:null,{sessionState:_0x248f80}=await manualBrowserLogin(_0x5aa513,_0x5b5b76,{'persistSessionState':!_0x506b31}),_0x43ce44=await writeSessionToLocalCache(_0x5aa513['name'],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x248f80,_0x414539,_0x42984c);return{'authPath':_0x43ce44,'settings':_0x513e78,'resolvedEnv':_0x323a10};}
|
|
1
|
+
const _0x236664=_0x222d;(function(_0x3d0ab5,_0x2a7566){const _0x5cf0c=_0x222d,_0x6626a8=_0x3d0ab5();while(!![]){try{const _0x15a3c2=-parseInt(_0x5cf0c(0x20c))/0x1*(-parseInt(_0x5cf0c(0x1c3))/0x2)+parseInt(_0x5cf0c(0x1b8))/0x3*(parseInt(_0x5cf0c(0x1a6))/0x4)+-parseInt(_0x5cf0c(0x1a0))/0x5+parseInt(_0x5cf0c(0x19c))/0x6*(-parseInt(_0x5cf0c(0x202))/0x7)+-parseInt(_0x5cf0c(0x1b3))/0x8*(parseInt(_0x5cf0c(0x230))/0x9)+parseInt(_0x5cf0c(0x1de))/0xa+parseInt(_0x5cf0c(0x210))/0xb;if(_0x15a3c2===_0x2a7566)break;else _0x6626a8['push'](_0x6626a8['shift']());}catch(_0x5a41bb){_0x6626a8['push'](_0x6626a8['shift']());}}}(_0x55f1,0x7b91b));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x2278a3 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(_0x3f2ff4){try{return new URL(_0x3f2ff4)['host'];}catch{return'invalid-url';}}function errorMessageForTelemetry(_0x120efa){const _0x4c95fb=_0x222d,_0x546fba={'LxzFZ':function(_0x185a98,_0xca8a0f){return _0x185a98 instanceof _0xca8a0f;}};return _0x546fba[_0x4c95fb(0x1b4)](_0x120efa,Error)?_0x120efa[_0x4c95fb(0x1a7)]:undefined;}function trackBridgeEvent(_0xc9e1d0,_0x2b6113){const _0x254137=_0x222d,_0x222384={'jLPvG':'tunnel_bridge_event','Vjlzz':function(_0x13661b,_0x417ee6){return _0x13661b===_0x417ee6;},'xkQYi':function(_0x2c03e9,_0x4d0114){return _0x2c03e9===_0x4d0114;},'xOIUj':_0x254137(0x1fb)};if(!_0xc9e1d0)return;const _0x4ded6b={'tunnelSessionId':_0x2b6113[_0x254137(0x216)],'tunnelEventType':_0x2b6113[_0x254137(0x1b5)],'connectionId':_0x2b6113['connectionId'],'code':_0x2b6113[_0x254137(0x1ae)],'reason':_0x2b6113['reason'],'error':_0x2b6113[_0x254137(0x20b)],'elapsedMs':_0x2b6113[_0x254137(0x1f1)],'activeLocalConnections':_0x2b6113['activeLocalConnections'],'pendingLocalConnections':_0x2b6113[_0x254137(0x22f)]};_0xc9e1d0[_0x254137(0x1a1)](_0x222384['jLPvG'],_0x4ded6b),(_0x222384[_0x254137(0x1e3)](_0x2b6113['type'],'tunnel_error')||_0x222384[_0x254137(0x198)](_0x2b6113['type'],'local_ws_error'))&&void _0xc9e1d0['trackPhaseError'](_0x222384['xOIUj'],new Error(_0x2b6113['error']??_0x2b6113[_0x254137(0x1b5)]),_0x4ded6b);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0xcaef25=_0x222d,_0xf07598={'AkquR':_0xcaef25(0x218)},_0x35eb6f=await getToken();if(!_0x35eb6f)throw new Error(_0xf07598[_0xcaef25(0x204)]);return _0x35eb6f;}async function apiRequest(_0x353188,_0x5c80c8={}){const _0x3c3e1e=_0x222d,_0x471048={'uULDG':function(_0x22c2d0){return _0x22c2d0();},'YSwoJ':'application/json','egJPK':_0x3c3e1e(0x1e4),'tcpMQ':function(_0x21a55c,_0x1044e1){return _0x21a55c===_0x1044e1;}},_0x2ceb76=await _0x471048[_0x3c3e1e(0x22e)](requireToken),_0x580267=_0x471048[_0x3c3e1e(0x22e)](getApiBaseUrl),_0x5251d3=await fetch(''+_0x580267+_0x353188,{..._0x5c80c8,'headers':{'Authorization':'Bearer\x20'+_0x2ceb76,'Content-Type':_0x471048[_0x3c3e1e(0x1cf)],..._0x5c80c8['headers']??{}}});if(!_0x5251d3['ok']){let _0x10411d='',_0x12c81c;try{const _0x5320b4=await _0x5251d3['json']();_0x10411d=(typeof _0x5320b4[_0x3c3e1e(0x20b)]===_0x471048[_0x3c3e1e(0x19a)]?_0x5320b4[_0x3c3e1e(0x20b)]:undefined)??JSON['stringify'](_0x5320b4);if(_0x471048['tcpMQ'](typeof _0x5320b4['code'],_0x3c3e1e(0x1e4)))_0x12c81c=_0x5320b4[_0x3c3e1e(0x1ae)];}catch{_0x10411d=_0x5251d3['statusText'];}throw new ApiError(_0x3c3e1e(0x1fd)+_0x353188+_0x3c3e1e(0x229)+_0x5251d3[_0x3c3e1e(0x1e5)]+'):\x20'+_0x10411d,_0x5251d3['status'],_0x10411d,_0x12c81c);}if(_0x471048[_0x3c3e1e(0x1e6)](_0x5251d3[_0x3c3e1e(0x1e5)],0xcc))return undefined;return _0x5251d3['json']();}export class ApiError extends Error{[_0x236664(0x1e5)];['detail'];['code'];constructor(_0xd89cbb,_0x4a6067,_0x996bc3,_0x2291a8){const _0x1e4746=_0x236664,_0x11ae30='4|0|1|3|2'['split']('|');let _0x43080a=0x0;while(!![]){switch(_0x11ae30[_0x43080a++]){case'0':this[_0x1e4746(0x1e5)]=_0x4a6067;continue;case'1':this[_0x1e4746(0x195)]=_0x996bc3;continue;case'2':this[_0x1e4746(0x1e0)]='ApiError';continue;case'3':this['code']=_0x2291a8;continue;case'4':super(_0xd89cbb);continue;}break;}}}export async function fetchCloudProfile(_0xfc11a9){const _0x218240=_0x236664,_0x520cf9={'waDBi':function(_0x377a5d,_0x333c1c){return _0x377a5d instanceof _0x333c1c;}};try{return await apiRequest(_0x218240(0x1d4)+encodeURIComponent(_0xfc11a9));}catch(_0x49c264){if(_0x520cf9[_0x218240(0x1d5)](_0x49c264,ApiError)&&_0x49c264[_0x218240(0x1e5)]===0x194)return null;throw _0x49c264;}}export async function listCloudProfiles(){const _0x3aba91=_0x236664,_0x3e00f2={'TcWqf':function(_0xeff371,_0x58b28a){return _0xeff371(_0x58b28a);}},_0x4e940a=await _0x3e00f2[_0x3aba91(0x227)](apiRequest,'/api/v1/profiles');return _0x4e940a['profiles'];}function _0x55f1(){const _0x4a9ad3=['WYQiH','\x20\x20Login\x20successful.\x20Session\x20cached.','username','QtyMR','2888JOviZP','LxzFZ','type','\x20\x20Created\x20cloud\x20profile\x20\x22','akQeJ','3ODhcjJ','trackPhaseError','target_url','force','test_output','wsEndpoint','\x22.\x0a','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','you\x27re\x20now\x20at\x20\x22','cli:manual-login','tunnel_login_request','1910254vjCkuy','stringify','POST','TAyDK','goto','RANGER_TEST_USERNAME','\x22\x20failed\x20validation\x20—\x20refreshing...','foAXB','VWNVV','trim','agent','yKMQn','YSwoJ',').\x20','AvVjb','storageStatePath','PnVTc','/api/v1/profiles/','waDBi','sygbI','effectiveBaseUrl','session_state','pwEndpoint','jmgUp','DaYlu','bnVHl','RANGER_TEST_PASSWORD','2859900ZBnmrR','WWSOk','name','Browser\x20login\x20timed\x20out\x20after\x20','FAzaF','Vjlzz','string','status','tcpMQ','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','success','tVasL','Browser\x20login\x20timed\x20out\x20before\x20completion.','yzGia','settings','CjNdD','mNYtx','DELETE','/api/v1/tunnel/sessions','elapsedMs','QOKpP','newPage','MFoQi','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','ffHRA','forceLogin','Qihji','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','tunnel_bridge','cookies','API\x20request\x20','telemetry','UlaUr','organizationId','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','5622365ynoowa','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','AkquR','oSqfn','origin','\x20\x20Cloud\x20session\x20for\x20\x22','YZnhu','defaultEnvironmentKey','\x22;\x20proceeding\x20with\x20loginInstructions.','error','1hTPzWc','length','parse','isArray','14173313HDbHWt','YfqHP','\x22,\x20refreshing\x20session...','env','\x22,\x20cached\x20locally','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','sessionId','pGolj','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','vqGLa','IZYii','prompt','jBhAR','push','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','\x20\x20forceLogin\x20enabled\x20for\x20\x22','not_configured','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','/api/v1/profiles','gCmfA','confirm','xBvQs','invalidateOn','TcWqf','Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20','\x20failed\x20(','\x22\x20not\x20found.','close','dcqTv','userAgent','uULDG','pendingLocalConnections','17919WFgZck','log','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','pw_endpoint','keys','\x22\x20for\x20','seeDZ','TofvT','targetUrl','loginInstructions','domains','detail','NThex','trackPhaseStart','xkQYi','join','egJPK','save','6JxVtct','\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','some','clientIp','4308795lRACxL','trackPhaseEnd','catch','Cloud\x20profile\x20\x22','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','tunnel_login_setup','1440976fbDtGr','message','environmentKey','sessionState','\x20\x20Server-side\x20login\x20error:\x20','qSYBt','GrjUJ','/api/v1/profiles/auth-config','code'];_0x55f1=function(){return _0x4a9ad3;};return _0x55f1();}export async function deleteCloudProfile(_0x53968a){const _0x3f8692=_0x236664,_0x4e4056={'DaYlu':function(_0x354844,_0x430c71,_0x598883){return _0x354844(_0x430c71,_0x598883);},'PnVTc':function(_0x199b65,_0x3dd1f7){return _0x199b65(_0x3dd1f7);},'IZYii':function(_0x36a4f1,_0x526430){return _0x36a4f1===_0x526430;}};try{await _0x4e4056[_0x3f8692(0x1db)](apiRequest,'/api/v1/profiles/'+_0x4e4056[_0x3f8692(0x1d3)](encodeURIComponent,_0x53968a),{'method':_0x3f8692(0x1ef)});}catch(_0x519cbf){if(_0x519cbf instanceof ApiError&&_0x4e4056[_0x3f8692(0x21a)](_0x519cbf[_0x3f8692(0x1e5)],0x194))throw new Error(_0x3f8692(0x1a3)+_0x53968a+_0x3f8692(0x22a));throw _0x519cbf;}}export async function createCloudProfile(_0x7ef45a,_0x251a22,_0x2df7b4={}){const _0x2cc5f6=_0x236664,_0x2a31b2={'mHyeq':_0x2cc5f6(0x222),'oSqfn':_0x2cc5f6(0x1c5)},_0x3356dd={'name':_0x7ef45a};if(_0x251a22)_0x3356dd['environment_key']=_0x251a22;_0x2df7b4[_0x2cc5f6(0x1ec)]&&Object[_0x2cc5f6(0x234)](_0x2df7b4['settings'])['length']>0x0&&(_0x3356dd[_0x2cc5f6(0x1ec)]=_0x2df7b4[_0x2cc5f6(0x1ec)]);if(_0x2df7b4['username'])_0x3356dd['username']=_0x2df7b4['username'];if(_0x2df7b4['password'])_0x3356dd['password']=_0x2df7b4['password'];return await apiRequest(_0x2a31b2['mHyeq'],{'method':_0x2a31b2[_0x2cc5f6(0x205)],'body':JSON[_0x2cc5f6(0x1c4)](_0x3356dd)});}export async function uploadCloudProfileSession(_0x587f95,_0x770732){const _0x37b44c={'LdFCn':'POST'};return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x587f95)+'/session',{'method':_0x37b44c['LdFCn'],'body':JSON['stringify']({'session_state':_0x770732})});}export async function saveCloudProfileCredentials(_0x40d300,_0x4b867e,_0x58e5a3){const _0x34c121=_0x236664,_0x4ab837={'GrjUJ':function(_0x43930d,_0x5504cc,_0x451fb9){return _0x43930d(_0x5504cc,_0x451fb9);}};await _0x4ab837[_0x34c121(0x1ac)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x40d300),{'method':'PUT','body':JSON['stringify']({'username':_0x4b867e,'password':_0x58e5a3})});}export async function fetchAuthConfig(){const _0x43243e=_0x236664,_0x18fa83={'PFxaJ':function(_0x591040,_0x571f6b){return _0x591040 instanceof _0x571f6b;},'SSONS':function(_0x17ee65,_0x183543){return _0x17ee65!==_0x183543;}};try{const _0x5abcac=await apiRequest(_0x43243e(0x1ad));return _0x5abcac['auth_config'];}catch(_0x3fd668){return _0x18fa83['PFxaJ'](_0x3fd668,ApiError)&&_0x18fa83['SSONS'](_0x3fd668['status'],0x194)&&console['error'](_0x43243e(0x1bf)+_0x3fd668['message']),null;}}async function createTunnelSession(_0x245777){const _0x564d2a=_0x236664,_0x5c19d7={'pGolj':_0x564d2a(0x1f0),'bQtVe':_0x564d2a(0x1c5),'MFoQi':_0x564d2a(0x1cd)};return await apiRequest(_0x5c19d7[_0x564d2a(0x217)],{'method':_0x5c19d7['bQtVe'],'body':JSON['stringify']({'targetUrl':_0x245777,'mode':_0x5c19d7[_0x564d2a(0x1f4)]})});}async function deleteTunnelSession(_0x576580){await apiRequest('/api/v1/tunnel/sessions/'+_0x576580,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x54b672){const _0x3a2237=_0x236664,_0x43d451={'jmgUp':function(_0x50145e,_0x46f756){return _0x50145e===_0x46f756;},'FAzaF':function(_0x21d7a6,_0x31b099){return _0x21d7a6+_0x31b099;}};if(!_0x54b672)return null;if(_0x54b672[_0x3a2237(0x209)])return _0x54b672[_0x3a2237(0x209)];const _0x4a0e04=Object[_0x3a2237(0x234)](_0x54b672['environments']??{});if(_0x43d451['jmgUp'](_0x4a0e04[_0x3a2237(0x20d)],0x1))return _0x4a0e04[0x0];if(_0x43d451[_0x3a2237(0x1da)](_0x4a0e04['length'],0x0))return null;throw new Error(_0x43d451[_0x3a2237(0x1e2)]('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x4a0e04[_0x3a2237(0x199)](',\x20')+_0x3a2237(0x1d0),'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(_0x3882fb=process[_0x236664(0x213)]){const _0x434d2f=_0x236664,_0x409db5={'CrIgG':function(_0x58aca5){return _0x58aca5();},'NThex':function(_0x4fe16b,_0x10256c){return _0x4fe16b(_0x10256c);},'eifUD':function(_0x42e1d6,_0x201105,_0x596dd1,_0x578575){return _0x42e1d6(_0x201105,_0x596dd1,_0x578575);},'TofvT':function(_0x3229df,_0x6fb94c){return _0x3229df??_0x6fb94c;}},_0xac3414=_0x3882fb[_0x434d2f(0x1c8)];if(!_0xac3414)return null;const _0x44807c=await fetchCloudProfile(_0xac3414);if(_0x44807c)return{'name':_0x44807c[_0x434d2f(0x1e0)],'profile':_0x44807c};const _0x57a1f7=await _0x409db5['CrIgG'](fetchAuthConfig),_0x3a05c8=_0x409db5[_0x434d2f(0x196)](pickAdHocEnvKey,_0x57a1f7),_0x56f993=_0x3882fb['RANGER_TEST_PASSWORD'],_0x1bf282=await _0x409db5['eifUD'](createCloudProfile,_0xac3414,_0x409db5[_0x434d2f(0x237)](_0x3a05c8,undefined),{'username':_0xac3414,'password':_0x56f993});return console[_0x434d2f(0x231)](_0x434d2f(0x1b6)+_0x1bf282['name']+_0x434d2f(0x235)+_0xac3414),{'name':_0x1bf282['name'],'profile':_0x1bf282};}export async function writeSessionToLocalCache(_0x2c9cac,_0x44db48,_0x28a390,_0x5bb269,_0x58d5b4,_0x4a9412,_0x260a58){const _0x4b9d37=_0x236664,_0x2bc43b={'sygbI':function(_0x449384,_0x2a13bb,_0x206e19){return _0x449384(_0x2a13bb,_0x206e19);},'jBhAR':'auth','MTCmP':function(_0x1ebe88,_0x42047e){return _0x1ebe88(_0x42047e);}},_0x32d98f=sessionCacheHash({'orgId':_0x44db48,'profileName':_0x2c9cac,'effectiveBaseUrl':_0x28a390,'setupHeaders':_0x5bb269,'invalidateOn':_0x260a58?.[_0x4b9d37(0x226)],'userAgent':_0x260a58?.[_0x4b9d37(0x22d)],'clientIp':_0x260a58?.[_0x4b9d37(0x19f)]}),_0xedd76f=getSessionCachePath(_0x32d98f,_0x2c9cac),_0x341fe3=_0x2bc43b['sygbI'](join,getRangerHomeDir(),_0x2bc43b[_0x4b9d37(0x21c)]);!_0x2bc43b['MTCmP'](existsSync,_0x341fe3)&&await mkdir(_0x341fe3,{'recursive':!![]});const _0x89c57e={..._0x58d5b4};_0x4a9412&&_0x4a9412[_0x4b9d37(0x20d)]>0x0&&Array[_0x4b9d37(0x20f)](_0x89c57e[_0x4b9d37(0x1fc)])&&(_0x89c57e[_0x4b9d37(0x1fc)]=_0x2bc43b[_0x4b9d37(0x1d6)](duplicateCookiesForDomains,_0x89c57e['cookies'],_0x4a9412));const _0x5889e6={'cached_at':new Date()['toISOString'](),'session_state':_0x89c57e};await _0x2bc43b[_0x4b9d37(0x1d6)](writeFile,_0xedd76f,JSON['stringify'](_0x5889e6,null,0x2));const _0x26a00f=getStorageStatePath(_0xedd76f);return await _0x2bc43b[_0x4b9d37(0x1d6)](writeFile,_0x26a00f,JSON['stringify'](_0x89c57e,null,0x2)),_0x26a00f;}export async function checkLocalCache(_0x48555d,_0xdbb3a7,_0x2e1f3b,_0x527294,_0x37c0a6){const _0x26348e=_0x236664,_0x384398={'cfOCB':function(_0x27f446,_0xbaec){return _0x27f446(_0xbaec);},'SYhzi':function(_0x1c2b73,_0x425e26,_0x2e8e2c){return _0x1c2b73(_0x425e26,_0x2e8e2c);},'qSYBt':'utf-8'},_0x4dc446=sessionCacheHash({'orgId':_0xdbb3a7,'profileName':_0x48555d,'effectiveBaseUrl':_0x2e1f3b,'setupHeaders':_0x527294,'invalidateOn':_0x37c0a6?.[_0x26348e(0x226)],'userAgent':_0x37c0a6?.['userAgent'],'clientIp':_0x37c0a6?.[_0x26348e(0x19f)]}),_0x5e278b=getSessionCachePath(_0x4dc446,_0x48555d),_0x3c5cde=getStorageStatePath(_0x5e278b);if(!existsSync(_0x5e278b)||!_0x384398['cfOCB'](existsSync,_0x3c5cde))return null;try{const _0x243c45=await _0x384398['SYhzi'](readFile,_0x5e278b,_0x384398[_0x26348e(0x1ab)]);return JSON[_0x26348e(0x20e)](_0x243c45),{'storageStatePath':_0x3c5cde};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function _0x222d(_0x6a732b,_0x10f762){_0x6a732b=_0x6a732b-0x195;const _0x55f123=_0x55f1();let _0x222d75=_0x55f123[_0x6a732b];return _0x222d75;}function emitSessionValidationHint(_0x282be8,_0x18e7a4){const _0xa4317c=_0x236664,_0x2ed338={'qIday':function(_0xbf5ee1,_0x5e8b6b){return _0xbf5ee1+_0x5e8b6b;}};if(!_0x18e7a4||!_0x18e7a4['domains']?.['length'])return;let _0x487324;try{_0x487324=new URL(_0x282be8);}catch{return;}const _0x532f3b=[];for(const _0x4fbb67 of _0x18e7a4['domains']){try{_0x532f3b[_0xa4317c(0x21d)]({'raw':_0x4fbb67,'url':new URL(_0x4fbb67)});}catch{}}if(_0x532f3b[_0xa4317c(0x20d)]===0x0)return;if(_0x532f3b[_0xa4317c(0x19e)](_0x48fc48=>_0x48fc48['url']['origin']===_0x487324[_0xa4317c(0x206)]))return;const _0x3b5fe8=_0x532f3b['map'](_0x167dad=>'\x22'+_0x167dad['raw']+'\x22')['join'](',\x20');console[_0xa4317c(0x231)](_0x2ed338['qIday'](_0x2ed338['qIday'](_0xa4317c(0x201)+_0x3b5fe8+';\x20',_0xa4317c(0x1c0)+_0x282be8+_0xa4317c(0x1a4)),_0xa4317c(0x232)));}export async function serverSideLogin(_0x4bac28,_0x41cbb9){const _0x4993bd=_0x236664,_0x44de3a={'vqGLa':function(_0x1a005f,_0x45b5a3,_0x3f4571){return _0x1a005f(_0x45b5a3,_0x3f4571);},'QtyMR':function(_0x4cf301,_0x115007){return _0x4cf301(_0x115007);},'HXJAy':function(_0x392511,_0x4805e6){return _0x392511===_0x4805e6;},'IAotA':function(_0x50897d,_0x57a1a5){return _0x50897d===_0x57a1a5;}},_0x17c82c=process['env'][_0x4993bd(0x1c8)],_0x3525ba=process[_0x4993bd(0x213)][_0x4993bd(0x1dd)],_0x25af9c={};if(_0x17c82c)_0x25af9c['username']=_0x17c82c;if(_0x3525ba)_0x25af9c['password']=_0x3525ba;if(_0x41cbb9?.[_0x4993bd(0x1bb)])_0x25af9c['force']=!![];if(_0x41cbb9?.['targetUrl'])_0x25af9c[_0x4993bd(0x1ba)]=_0x41cbb9[_0x4993bd(0x238)];_0x41cbb9?.['tunnel']&&(_0x25af9c['tunnel_session_id']=_0x41cbb9['tunnel'][_0x4993bd(0x216)],_0x25af9c[_0x4993bd(0x233)]=_0x41cbb9['tunnel'][_0x4993bd(0x1d9)]);try{return await _0x44de3a[_0x4993bd(0x219)](apiRequest,'/api/v1/profiles/'+_0x44de3a[_0x4993bd(0x1b2)](encodeURIComponent,_0x4bac28)+'/login',{'method':_0x4993bd(0x1c5),'body':JSON[_0x4993bd(0x1c4)](_0x25af9c)});}catch(_0x4d949f){if(_0x4d949f instanceof ApiError&&_0x44de3a['HXJAy'](_0x4d949f['status'],0x190)&&_0x44de3a['IAotA'](_0x4d949f[_0x4993bd(0x1ae)],_0x4993bd(0x220)))return{'status':'not_configured','error':_0x4d949f[_0x4993bd(0x195)]};throw _0x4d949f;}}async function serverSideLoginWithOptionalTunnel(_0x485a0e,_0x1bc6c0,_0x4bcd83={}){const _0x521d5a=_0x236664,_0x433fe7={'Qihji':function(_0x23a042,_0x2da4a6){return _0x23a042(_0x2da4a6);},'akQeJ':function(_0x5ac346,_0x4f8723,_0x732deb){return _0x5ac346(_0x4f8723,_0x732deb);},'YZnhu':function(_0x20bdba,_0x58b957){return _0x20bdba(_0x58b957);},'AvVjb':'tunnel_login_setup','WYQiH':function(_0xf8ddaa,_0x361922){return _0xf8ddaa(_0x361922);},'NyTOl':_0x521d5a(0x1c2),'yIOJF':function(_0x2e1730,_0x5ade13){return _0x2e1730??_0x5ade13;},'VWNVV':function(_0x4ac3b8,_0x326b30){return _0x4ac3b8||_0x326b30;},'denSA':'tunnel_login_cleanup'};if(!needsTunnel(_0x1bc6c0))return await _0x433fe7[_0x521d5a(0x1b7)](serverSideLogin,_0x485a0e,{'force':_0x4bcd83[_0x521d5a(0x1bb)]});let _0x482bb4=null,_0x54cf8e=null,_0x550a28=null,_0x23c319=null,_0x268765=![];const _0x274f79={'profileName':_0x485a0e,'targetUrlHost':_0x433fe7[_0x521d5a(0x208)](targetHostForTelemetry,_0x1bc6c0),'tunnelRequired':!![],'forceLogin':_0x433fe7['YZnhu'](Boolean,_0x4bcd83['force'])};try{_0x4bcd83['telemetry']?.[_0x521d5a(0x197)](_0x433fe7[_0x521d5a(0x1d1)],_0x274f79),_0x482bb4=await launchBrowserServer({'headless':!![]}),_0x54cf8e=await _0x433fe7['WYQiH'](createTunnelSession,_0x1bc6c0);const _0x3becf8=await requireToken();_0x550a28=await createTunnelBridge({'localWsUrl':_0x482bb4[_0x521d5a(0x1bd)],'tunnelServerUrl':_0x54cf8e['tunnelUrl'],'sessionId':_0x54cf8e['sessionId'],'apiKey':_0x3becf8,'onError':_0x1767d3=>{_0x23c319=_0x1767d3;},'onClose':()=>{const _0x45e23b=_0x521d5a;_0x23c319??=new Error(_0x45e23b(0x228)+_0x485a0e);},'onEvent':_0x2684f9=>trackBridgeEvent(_0x4bcd83['telemetry'],_0x2684f9)}),_0x4bcd83[_0x521d5a(0x1fe)]?.[_0x521d5a(0x1a1)](_0x433fe7[_0x521d5a(0x1d1)],{..._0x274f79,'tunnelSessionId':_0x54cf8e[_0x521d5a(0x216)],'localBrowserServer':!![]}),_0x268765=!![];try{return _0x4bcd83[_0x521d5a(0x1fe)]?.['trackPhaseStart'](_0x433fe7['NyTOl'],{..._0x274f79,'tunnelSessionId':_0x54cf8e[_0x521d5a(0x216)]}),await _0x433fe7['akQeJ'](serverSideLogin,_0x485a0e,{'force':_0x4bcd83['force'],'targetUrl':_0x1bc6c0,'tunnel':{'sessionId':_0x54cf8e[_0x521d5a(0x216)],'pwEndpoint':_0x54cf8e['pwEndpoint']}})['then'](_0xe4b9f1=>{const _0x47a461=_0x521d5a;return _0x4bcd83['telemetry']?.[_0x47a461(0x1a1)]('tunnel_login_request',{..._0x274f79,'tunnelSessionId':_0x54cf8e?.['sessionId'],'loginStatus':_0xe4b9f1[_0x47a461(0x1e5)],'hasSessionState':Boolean(_0xe4b9f1['session_state']),'hasTestOutput':_0x433fe7[_0x47a461(0x1f8)](Boolean,_0xe4b9f1[_0x47a461(0x1bc)]),'bridgeError':_0x433fe7['Qihji'](errorMessageForTelemetry,_0x23c319)}),_0xe4b9f1;});}catch(_0x12820b){await _0x4bcd83['telemetry']?.[_0x521d5a(0x1b9)](_0x433fe7['NyTOl'],_0x23c319??_0x12820b,{..._0x274f79,'tunnelSessionId':_0x54cf8e[_0x521d5a(0x216)],'bridgeError':errorMessageForTelemetry(_0x23c319)});throw _0x433fe7['yIOJF'](_0x23c319,_0x12820b);}}catch(_0x5e6600){!_0x268765&&await _0x4bcd83[_0x521d5a(0x1fe)]?.[_0x521d5a(0x1b9)](_0x521d5a(0x1a5),_0x5e6600,{..._0x274f79,'tunnelSessionId':_0x54cf8e?.['sessionId']});throw _0x5e6600;}finally{(_0x433fe7[_0x521d5a(0x1cb)](_0x54cf8e,_0x482bb4)||_0x550a28)&&(_0x4bcd83['telemetry']?.['trackPhaseStart']('tunnel_login_cleanup',{..._0x274f79,'tunnelSessionId':_0x54cf8e?.[_0x521d5a(0x216)]}),_0x550a28?.['close'](),_0x482bb4&&await _0x482bb4['close']()['catch'](()=>{}),_0x54cf8e&&await _0x433fe7[_0x521d5a(0x1af)](deleteTunnelSession,_0x54cf8e['sessionId'])[_0x521d5a(0x1a2)](()=>{}),_0x4bcd83[_0x521d5a(0x1fe)]?.['trackPhaseEnd'](_0x433fe7['denSA'],{..._0x274f79,'tunnelSessionId':_0x54cf8e?.['sessionId']}));}}export async function manualBrowserLogin(_0x980c8a,_0x5363d6,_0x1ade7d={}){const _0x464533=_0x236664,_0x49abe0={'tVasL':function(_0x51c005){return _0x51c005();},'yzGia':_0x464533(0x22b),'CjNdD':_0x464533(0x19d),'gCmfA':'about:blank','sfnQv':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','SZnVA':_0x464533(0x1f5),'ffHRA':_0x464533(0x215),'kmrWs':function(_0x471460,_0x4e8293){return _0x471460!==_0x4e8293;},'mNYtx':function(_0x3414ca,_0x5eac09){return _0x3414ca(_0x5eac09);},'UlaUr':_0x464533(0x1c1)};if(!_0x49abe0['tVasL'](isInteractive))throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x980c8a[_0x464533(0x1e0)]+_0x464533(0x1be)+_0x49abe0[_0x464533(0x1ed)]+'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.');const _0x34192c=_0x5363d6&&_0x5363d6['domains'][_0x464533(0x20d)]>0x0?_0x5363d6['domains'][0x0]:_0x49abe0[_0x464533(0x223)];console[_0x464533(0x231)](_0x49abe0['sfnQv']),console['log'](_0x49abe0['SZnVA']),await new Promise(_0x37dcea=>setTimeout(_0x37dcea,0x7d0));const _0x1a3ede=await chromium['launch']({'headless':![]});let _0x1180b9=null;try{const _0x172dfd={'ignoreHTTPSErrors':!![]};_0x5363d6?.['setupHeaders']&&(_0x172dfd['extraHTTPHeaders']=_0x5363d6['setupHeaders']);const _0x2c3eda=await _0x1a3ede['newContext'](_0x172dfd);await addProfileSetupBanner(_0x2c3eda);const _0x46b898=await _0x2c3eda[_0x464533(0x1f3)]();await _0x46b898[_0x464533(0x1c7)](_0x34192c);let _0x52fdca=![];await new Promise(_0x3e3c07=>{const _0x3cc105=_0x464533,_0x565ea6=setTimeout(()=>{const _0x1d9eaf=_0x222d;_0x52fdca=!![],console['error'](_0x1d9eaf(0x1e1)+MANUAL_LOGIN_TIMEOUT_MS/0xea60+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x49abe0[_0x1d9eaf(0x1e9)](_0x3e3c07);},MANUAL_LOGIN_TIMEOUT_MS);_0x46b898['on'](_0x49abe0[_0x3cc105(0x1eb)],async()=>{clearTimeout(_0x565ea6);try{const _0x1c8dd8=await _0x2c3eda['storageState']();_0x1180b9=_0x1c8dd8;}catch{}_0x3e3c07();});});if(_0x52fdca&&!_0x1180b9)throw new Error(_0x464533(0x1ea));}finally{await _0x1a3ede['close']()['catch'](()=>{});}if(!_0x1180b9)throw new Error(_0x49abe0[_0x464533(0x1f6)]);return _0x49abe0['kmrWs'](_0x1ade7d['persistSessionState'],![])&&await apiRequest(_0x464533(0x1d4)+_0x49abe0[_0x464533(0x1ee)](encodeURIComponent,_0x980c8a[_0x464533(0x1e0)])+'/session',{'method':_0x464533(0x1c5),'body':JSON['stringify']({'session_state':_0x1180b9,'updated_by':_0x49abe0[_0x464533(0x1ff)]})}),{'sessionState':_0x1180b9};}export async function promptSaveCredentials(_0x33962b){const _0x55ad4e=_0x236664,_0x4b39ba={'foAXB':_0x55ad4e(0x224),'dcqTv':_0x55ad4e(0x19b),'BDaPX':function(_0x2055e1,_0x2431b0){return _0x2055e1(_0x2431b0);},'mtDXe':'PUT','XEUQS':_0x55ad4e(0x1e7)},_0x16d293=process[_0x55ad4e(0x213)]['RANGER_TEST_USERNAME'],_0x1fe6db=process[_0x55ad4e(0x213)]['RANGER_TEST_PASSWORD'];if(!_0x16d293||!_0x1fe6db)return;if(!isInteractive())return;const {save:_0x12b93d}=await _0x2278a3[_0x55ad4e(0x21b)]([{'type':_0x4b39ba[_0x55ad4e(0x1ca)],'name':_0x4b39ba[_0x55ad4e(0x22c)],'message':_0x55ad4e(0x1f9),'default':![]}]);if(!_0x12b93d)return;await apiRequest('/api/v1/profiles/'+_0x4b39ba['BDaPX'](encodeURIComponent,_0x33962b),{'method':_0x4b39ba['mtDXe'],'body':JSON['stringify']({'username':_0x16d293,'password':_0x1fe6db})}),console[_0x55ad4e(0x231)](_0x4b39ba['XEUQS']);}export async function resolveCloudProfileSession(_0x2ce6a,_0xf32924={}){const _0x38deac=_0x236664,_0x3f4be8={'QOKpP':function(_0x5ca37e){return _0x5ca37e();},'Oypno':function(_0x4bd7ed,_0x4d47c4){return _0x4bd7ed||_0x4d47c4;},'TAyDK':function(_0x53f424,_0x46f401){return _0x53f424(_0x46f401);},'WWSOk':function(_0x58f6fd,_0x80fe04){return _0x58f6fd(_0x80fe04);},'xBvQs':function(_0x4e21ee,_0x36458a){return _0x4e21ee>_0x36458a;},'bopfs':function(_0x26d7f1,_0x51ef14){return _0x26d7f1&&_0x51ef14;},'nqXcH':function(_0x1d1f17,_0x3124a0,_0x475dbc,_0x11791f,_0x9d994d,_0x2f58bd,_0x47f0a6,_0x14d3f5){return _0x1d1f17(_0x3124a0,_0x475dbc,_0x11791f,_0x9d994d,_0x2f58bd,_0x47f0a6,_0x14d3f5);},'wBpjM':function(_0x4c32be,_0x546420,_0x3c68ef,_0xc1d167,_0x6161bf){return _0x4c32be(_0x546420,_0x3c68ef,_0xc1d167,_0x6161bf);},'yKMQn':function(_0x2c5276,_0x2f3a65){return _0x2c5276(_0x2f3a65);},'bnVHl':function(_0x30ab3f,_0xeef8e9){return _0x30ab3f===_0xeef8e9;},'YfqHP':_0x38deac(0x220),'fDNdA':_0x38deac(0x1e8),'seeDZ':_0x38deac(0x1b0),'JSDSM':function(_0x41871c,_0x27d37e,_0x35a3cc,_0x3edaee,_0x22288b,_0x52ba15,_0x2475fd,_0x1d4c16){return _0x41871c(_0x27d37e,_0x35a3cc,_0x3edaee,_0x22288b,_0x52ba15,_0x2475fd,_0x1d4c16);},'fxtwq':function(_0x4d620c,_0x43916d){return _0x4d620c(_0x43916d);},'wdMyy':function(_0x430926,_0x5f0af9,_0x3b0fb2,_0x1a6219){return _0x430926(_0x5f0af9,_0x3b0fb2,_0x1a6219);},'QTiIO':function(_0x1c6e35,_0x37697f,_0x35a30d,_0x270a93,_0x5ec0d3,_0x497072,_0x566ff2,_0xa534df){return _0x1c6e35(_0x37697f,_0x35a30d,_0x270a93,_0x5ec0d3,_0x497072,_0x566ff2,_0xa534df);}},_0x5875b5=_0x2ce6a[_0x38deac(0x1ec)]??{},_0x2cda4b=await _0x3f4be8[_0x38deac(0x1f2)](fetchAuthConfig),_0x1412ef=_0x2cda4b?resolveAuthEnvironmentLocally(_0x2cda4b,_0x2ce6a[_0x38deac(0x1a8)]):null,_0x421b23=typeof _0x1412ef?.['loginInstructions']==='string'&&_0x1412ef['loginInstructions'][_0x38deac(0x1cc)]()?_0x1412ef['loginInstructions']:undefined,_0x11b801=typeof _0x5875b5[_0x38deac(0x239)]===_0x38deac(0x1e4)&&_0x5875b5[_0x38deac(0x239)]['trim']()?_0x5875b5[_0x38deac(0x239)]:undefined,_0x27fa33=_0x3f4be8['Oypno'](_0x11b801,!_0x421b23)?_0x5875b5:{..._0x5875b5,'loginInstructions':_0x421b23},_0x24ea57=_0x3f4be8[_0x38deac(0x1c6)](Boolean,_0x27fa33['loginInstructions']?.['trim']()),_0x3d4f4f=_0x3f4be8[_0x38deac(0x1df)](Boolean,_0x5875b5[_0x38deac(0x1f7)]||_0x1412ef?.['forceLogin']),_0x12fe8d=_0x1412ef?.[_0x38deac(0x23a)],_0x5e10b9=_0x5875b5['setupHeaders'],_0x181e45=_0x5e10b9??_0x1412ef?.['setupHeaders'],_0x96a4eb=_0xf32924[_0x38deac(0x1d7)]??_0x5875b5['baseUrl']??(_0x12fe8d&&_0x3f4be8[_0x38deac(0x225)](_0x12fe8d['length'],0x0)?_0x12fe8d[0x0]:''),_0x19f827=_0x96a4eb?needsTunnel(_0x96a4eb):![],_0x3ac559={'invalidateOn':_0x1412ef?.['invalidateOn'],'userAgent':_0x1412ef?.['browserOptions']?.[_0x38deac(0x22d)]??_0x5875b5[_0x38deac(0x22d)]};_0x3d4f4f&&console['log'](_0x38deac(0x21f)+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x212));if(!_0x3d4f4f){const _0x27d765=await checkLocalCache(_0x2ce6a['name'],_0x2ce6a['organizationId'],_0x96a4eb,_0x181e45,_0x3ac559);if(_0x27d765){if(_0x3f4be8['bopfs'](_0x96a4eb,!_0x19f827)){const _0x5f1daa=await isCachedSessionLive(_0x27d765['storageStatePath'],_0x96a4eb,{'sessionCheckPath':_0x1412ef?.['sessionCheckPath'],'setupHeaders':_0x181e45},{'launchBrowser':launchRealBrowser});if(_0x5f1daa)return console['log']('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x2ce6a['name']+'\x22'),{'authPath':_0x27d765[_0x38deac(0x1d2)],'settings':_0x27fa33,'resolvedEnv':_0x1412ef};console[_0x38deac(0x231)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x1c9)),emitSessionValidationHint(_0x96a4eb,_0x1412ef);}else return _0x19f827&&console['log'](_0x38deac(0x21e)+_0x2ce6a['name']+'\x22'),{'authPath':_0x27d765['storageStatePath'],'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}}if(!_0x3d4f4f&&_0x2ce6a[_0x38deac(0x1a9)]){if(_0x19f827)console[_0x38deac(0x231)](_0x38deac(0x203)+_0x96a4eb+'\x22\x20on\x20profile\x20\x22'+_0x2ce6a[_0x38deac(0x1e0)]+'\x22');else{const _0x1edbf9=await _0x3f4be8['nqXcH'](writeSessionToLocalCache,_0x2ce6a['name'],_0x2ce6a['organizationId'],_0x96a4eb,_0x181e45,_0x2ce6a[_0x38deac(0x1a9)],_0x12fe8d,_0x3ac559);if(_0x96a4eb){const _0x538ed8=await _0x3f4be8['wBpjM'](isCachedSessionLive,_0x1edbf9,_0x96a4eb,{'sessionCheckPath':_0x1412ef?.['sessionCheckPath'],'setupHeaders':_0x181e45},{'launchBrowser':launchRealBrowser});if(_0x538ed8)return console[_0x38deac(0x231)](_0x38deac(0x1fa)+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x214)),{'authPath':_0x1edbf9,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};console['log'](_0x38deac(0x207)+_0x2ce6a['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x96a4eb,_0x1412ef);}else return{'authPath':_0x1edbf9,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}}if(_0x24ea57)return console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x20a)),{'authPath':undefined,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};console[_0x38deac(0x231)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x2ce6a['name']+'\x22,\x20attempting\x20login...');const _0x20b2f1=_0x3f4be8[_0x38deac(0x1ce)](Boolean,process[_0x38deac(0x213)][_0x38deac(0x1c8)])&&Boolean(process['env']['RANGER_TEST_PASSWORD']),_0x71d3b7=Boolean(_0x2ce6a[_0x38deac(0x1b1)]);if(_0x20b2f1||_0x71d3b7)try{const _0x25b24d=_0x96a4eb?await serverSideLoginWithOptionalTunnel(_0x2ce6a[_0x38deac(0x1e0)],_0x96a4eb,{'force':_0x3d4f4f,'telemetry':_0xf32924['telemetry']}):await serverSideLogin(_0x2ce6a['name'],{'force':_0x3d4f4f});if(_0x3f4be8[_0x38deac(0x1dc)](_0x25b24d[_0x38deac(0x1e5)],_0x3f4be8[_0x38deac(0x211)]))console[_0x38deac(0x231)]('\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...');else{if(_0x25b24d['status']===_0x3f4be8['fDNdA']&&_0x25b24d[_0x38deac(0x1d8)]){console['log'](_0x3f4be8[_0x38deac(0x236)]);const _0xfff765=await _0x3f4be8['JSDSM'](writeSessionToLocalCache,_0x2ce6a[_0x38deac(0x1e0)],_0x2ce6a[_0x38deac(0x200)],_0x96a4eb,_0x181e45,_0x25b24d[_0x38deac(0x1d8)],_0x12fe8d,_0x3ac559);return _0x3f4be8['bopfs'](_0x20b2f1,!_0x71d3b7)&&await _0x3f4be8['fxtwq'](promptSaveCredentials,_0x2ce6a['name']),{'authPath':_0xfff765,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}else _0x25b24d['test_output']&&(console['log']('\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:'),console[_0x38deac(0x231)](_0x25b24d['test_output'])),console[_0x38deac(0x231)](_0x38deac(0x221));}}catch(_0x54883d){console['log'](_0x38deac(0x1aa)+(_0x54883d instanceof Error?_0x54883d[_0x38deac(0x1a7)]:String(_0x54883d))),console[_0x38deac(0x231)](_0x38deac(0x221));}const _0x916d26=_0x1412ef?{..._0x1412ef,'setupHeaders':_0x181e45}:_0x96a4eb?{'key':_0x2ce6a[_0x38deac(0x1a8)]??'','domains':[_0x96a4eb],'setupHeaders':_0x181e45}:null,{sessionState:_0x29b074}=await _0x3f4be8['wdMyy'](manualBrowserLogin,_0x2ce6a,_0x916d26,{'persistSessionState':!_0x19f827}),_0xd4645d=await _0x3f4be8['QTiIO'](writeSessionToLocalCache,_0x2ce6a['name'],_0x2ce6a[_0x38deac(0x200)],_0x96a4eb,_0x181e45,_0x29b074,_0x12fe8d,_0x3ac559);return{'authPath':_0xd4645d,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0xddaa81=_0x8d00;(function(_0x1d2bc4,_0x3eef44){const _0x33013f=_0x8d00,_0x239987=_0x1d2bc4();while(!![]){try{const _0x493e31=-parseInt(_0x33013f(0x106))/0x1+parseInt(_0x33013f(0x126))/0x2+parseInt(_0x33013f(0x12c))/0x3+parseInt(_0x33013f(0x12a))/0x4+parseInt(_0x33013f(0x12f))/0x5+-parseInt(_0x33013f(0x107))/0x6+parseInt(_0x33013f(0x11a))/0x7*(-parseInt(_0x33013f(0x11b))/0x8);if(_0x493e31===_0x3eef44)break;else _0x239987['push'](_0x239987['shift']());}catch(_0x3cfa68){_0x239987['push'](_0x239987['shift']());}}}(_0x3781,0x97e3f));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x5122d8=process['env'],_0x487c5c={'stdin':process['stdin'],'stdout':process[_0xddaa81(0x10a)]}){const _0x4c3d37=_0xddaa81;if(_0x5122d8['CI'])return![];return Boolean(_0x487c5c[_0x4c3d37(0x108)][_0x4c3d37(0x122)])&&Boolean(_0x487c5c['stdout']['isTTY']);}function _0x8d00(_0x1caedf,_0x2f5fc6){_0x1caedf=_0x1caedf-0x105;const _0x37813f=_0x3781();let _0x8d000e=_0x37813f[_0x1caedf];return _0x8d000e;}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x348804){const _0x5152a1=_0xddaa81,_0x56ce5e={'nsaEd':'baseUrl','zbdKk':'setupHeaders','LfiiO':function(_0x4db994,_0x28744e){return _0x4db994(_0x28744e);},'pFoxL':'port','hsPrS':function(_0x57e333,_0x3a24bf){return _0x57e333(_0x3a24bf);},'oLQRD':_0x5152a1(0x12e),'HbqFH':function(_0x1e70a0,_0x3f565a){return _0x1e70a0!==_0x3f565a;},'AWrkY':_0x5152a1(0x111)},_0x1492ba=new Set(_0x348804[_0x5152a1(0x10b)]??DEFAULT_INVALIDATE_ON),_0x254e0d={'orgId':_0x348804['orgId'],'profileName':_0x348804[_0x5152a1(0x10d)]};return _0x1492ba['has'](_0x56ce5e[_0x5152a1(0x113)])&&(_0x254e0d[_0x5152a1(0x119)]=_0x348804['effectiveBaseUrl']),_0x1492ba[_0x5152a1(0x11d)](_0x56ce5e['zbdKk'])&&(_0x254e0d[_0x5152a1(0x11f)]=_0x348804[_0x5152a1(0x11f)]?_0x56ce5e['LfiiO'](sortObjectKeys,_0x348804[_0x5152a1(0x11f)]):_0x348804['setupHeaders']),_0x1492ba[_0x5152a1(0x11d)](_0x56ce5e['pFoxL'])&&(_0x254e0d[_0x5152a1(0x12b)]=_0x56ce5e[_0x5152a1(0x105)](extractPort,_0x348804['effectiveBaseUrl'])),_0x1492ba['has'](_0x56ce5e['oLQRD'])&&_0x56ce5e[_0x5152a1(0x117)](_0x348804['userAgent'],undefined)&&(_0x254e0d[_0x5152a1(0x12e)]=_0x348804[_0x5152a1(0x12e)]),_0x1492ba['has'](_0x56ce5e['AWrkY'])&&_0x348804['clientIp']!==undefined&&(_0x254e0d[_0x5152a1(0x111)]=_0x348804['clientIp']),_0x56ce5e['LfiiO'](createHash,'sha256')[_0x5152a1(0x118)](JSON['stringify'](_0x254e0d))[_0x5152a1(0x11c)](_0x5152a1(0x121))['slice'](0x0,0xc);}function extractPort(_0x31b3ef){const _0xfecaa9=_0xddaa81;try{return new URL(_0x31b3ef)[_0xfecaa9(0x12b)];}catch{return'';}}function sortObjectKeys(_0x5cce53){const _0x33db48=_0xddaa81,_0xd68edb={};for(const _0x37a761 of Object['keys'](_0x5cce53)[_0x33db48(0x129)]()){_0xd68edb[_0x37a761]=_0x5cce53[_0x37a761];}return _0xd68edb;}export function getSessionCachePath(_0x1b555f,_0x55da9d){const _0x22af77=_0xddaa81,_0xd26198={'gtlzz':function(_0x458e40){return _0x458e40();}};return join(_0xd26198['gtlzz'](getRangerHomeDir),'auth',_0x1b555f+'-'+_0x55da9d+_0x22af77(0x112));}export function getStorageStatePath(_0x416ab4){const _0x3454dd=_0xddaa81;return _0x416ab4[_0x3454dd(0x130)](/\.json$/,'.storageState.json');}export function needsTunnel(_0x1dbeff){const _0x9fd5bb=_0xddaa81,_0x1d8f77={'vtxSI':function(_0xbc72c9,_0x24c3a3){return _0xbc72c9===_0x24c3a3;},'BzOxi':'.localhost','fNBcx':_0x9fd5bb(0x12d)};let _0x3b6f9b;try{_0x3b6f9b=new URL(_0x1dbeff)['hostname'];}catch{return![];}if(_0x3b6f9b===_0x9fd5bb(0x11e)||_0x1d8f77[_0x9fd5bb(0x120)](_0x3b6f9b,'127.0.0.1'))return!![];if(_0x3b6f9b['endsWith'](_0x1d8f77[_0x9fd5bb(0x124)]))return!![];if(_0x3b6f9b['includes'](_0x1d8f77['fNBcx']))return!![];return![];}export function hostnameOf(_0x1e59c1){const _0x2f0410=_0xddaa81;return new URL(_0x1e59c1)[_0x2f0410(0x115)];}export function duplicateCookiesForDomains(_0x9da026,_0x493b0f){const _0x4f9e3b=_0xddaa81,_0x28e9ab=[..._0x9da026],_0x29c2ed=new Set(_0x9da026['map'](_0x2740e2=>_0x2740e2['domain']));for(const _0x36e660 of _0x493b0f){let _0x1c7218;try{_0x1c7218=hostnameOf(_0x36e660);}catch{continue;}if(!_0x1c7218)continue;const _0x36cd71=_0x1c7218['startsWith']('.')?_0x1c7218:'.'+_0x1c7218;if(_0x29c2ed['has'](_0x1c7218)||_0x29c2ed['has'](_0x36cd71))continue;for(const _0x69d1b0 of _0x9da026){_0x28e9ab[_0x4f9e3b(0x109)]({..._0x69d1b0,'domain':_0x36cd71});}_0x29c2ed[_0x4f9e3b(0x127)](_0x36cd71);}return _0x28e9ab;}export function resolveAuthEnvironmentLocally(_0x2f80f4,_0x1bb33f){const _0x5bc402=_0xddaa81,_0x21e806={'WoShQ':function(_0x2e76fb,_0x109025){return _0x2e76fb===_0x109025;}},_0x4593d8=_0x2f80f4['environments'];if(_0x1bb33f){const _0x342192=_0x4593d8[_0x1bb33f];if(!_0x342192)return null;return{'key':_0x1bb33f,..._0x342192};}if(_0x2f80f4[_0x5bc402(0x110)]){const _0x3573f9=_0x4593d8[_0x2f80f4['defaultEnvironmentKey']];if(!_0x3573f9)return null;return{'key':_0x2f80f4[_0x5bc402(0x110)],..._0x3573f9};}const _0x5ac035=Object['keys'](_0x4593d8);if(_0x21e806['WoShQ'](_0x5ac035['length'],0x1)){const _0x175738=_0x5ac035[0x0];return{'key':_0x175738,..._0x4593d8[_0x175738]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;function _0x3781(){const _0x39b1f0=['localhost','setupHeaders','vtxSI','hex','isTTY','newContext','BzOxi','pathname','1130780ZIqylf','add','BScrJ','sort','4141292pGbxqL','port','993600UhThmz','localhost.','userAgent','3041735XidZPS','replace','hsPrS','949381cafaGn','937848REQVYL','stdin','push','stdout','invalidateOn','toString','profileName','newPage','cJpHa','defaultEnvironmentKey','clientIp','.json','nsaEd','domcontentloaded','hostname','sessionCheckPath','HbqFH','update','effectiveBaseUrl','1421749Ewbiyu','32okVclv','digest','has'];_0x3781=function(){return _0x39b1f0;};return _0x3781();}export function buildSessionCheckUrl(_0x559dc4,_0x3e73f6){const _0x310156=_0xddaa81;try{if(_0x3e73f6)return new URL(_0x3e73f6,_0x559dc4)[_0x310156(0x10c)]();return new URL(_0x559dc4)[_0x310156(0x10c)]();}catch{return null;}}export function looksLikeLoginUrl(_0x6aab7d){const _0x2bc25e=_0xddaa81;try{const _0x3f3c71=new URL(_0x6aab7d);return LOGIN_URL_PATTERN['test'](_0x3f3c71[_0x2bc25e(0x125)]);}catch{return LOGIN_URL_PATTERN['test'](_0x6aab7d);}}export async function isCachedSessionLive(_0xad5058,_0x3cec1d,_0x128377={},_0x1b6cf0={}){const _0x1353ff=_0xddaa81,_0x66c791={'cJpHa':_0x1353ff(0x114),'BScrJ':function(_0x2ff9e0,_0xef42f3){return _0x2ff9e0===_0xef42f3;}},_0x539f87=buildSessionCheckUrl(_0x3cec1d,_0x128377[_0x1353ff(0x116)]);if(!_0x539f87)return!![];if(!_0x1b6cf0['launchBrowser'])return!![];let _0x335614=null;try{_0x335614=await _0x1b6cf0['launchBrowser']();const _0x441023=await _0x335614[_0x1353ff(0x123)]({'storageState':_0xad5058,'ignoreHTTPSErrors':!![],..._0x128377['setupHeaders']?{'extraHTTPHeaders':_0x128377['setupHeaders']}:{}}),_0x37c63a=await _0x441023[_0x1353ff(0x10e)](),_0x31b507=await _0x37c63a['goto'](_0x539f87,{'waitUntil':_0x66c791[_0x1353ff(0x10f)],'timeout':0x3a98}),_0x47b8d3=_0x31b507?.['status']();if(_0x47b8d3===0x191||_0x66c791[_0x1353ff(0x128)](_0x47b8d3,0x193))return![];const _0x2cf083=_0x37c63a['url']();if(looksLikeLoginUrl(_0x2cf083))return![];return!![];}catch{return![];}finally{if(_0x335614)await _0x335614['close']()['catch'](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x3c9e4e=_0x2836;(function(_0x43043b,_0x150207){const _0x37430d=_0x2836,_0x570b93=_0x43043b();while(!![]){try{const _0x222fca=-parseInt(_0x37430d(0xde))/0x1+-parseInt(_0x37430d(0xe7))/0x2+parseInt(_0x37430d(0xdd))/0x3+parseInt(_0x37430d(0xe3))/0x4+parseInt(_0x37430d(0xe1))/0x5*(-parseInt(_0x37430d(0xe8))/0x6)+-parseInt(_0x37430d(0xda))/0x7*(-parseInt(_0x37430d(0xdf))/0x8)+-parseInt(_0x37430d(0xe2))/0x9*(-parseInt(_0x37430d(0xe0))/0xa);if(_0x222fca===_0x150207)break;else _0x570b93['push'](_0x570b93['shift']());}catch(_0x547625){_0x570b93['push'](_0x570b93['shift']());}}}(_0x1838,0x1b0a9));function _0x1838(){const _0x496bbb=['984CjMuRA','8890pREQCw','2430itUAXg','153EZIGTr','521344CfgMyx','setAuthTag','utf8','sha256','70562CBznBB','1782mlWpIE','update','ranger-auth-encryption','5852fJVguC','final','concat','643194fIAVwb','172291WAhRcc'];_0x1838=function(){return _0x496bbb;};return _0x1838();}import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM='aes-256-gcm',SALT=_0x3c9e4e(0xd9),KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;function _0x2836(_0x43091f,_0x57c951){_0x43091f=_0x43091f-0xd8;const _0x18387c=_0x1838();let _0x2836a6=_0x18387c[_0x43091f];return _0x2836a6;}export function deriveKey(_0x53d57f){const _0x27e5fd=_0x3c9e4e;return pbkdf2Sync(_0x53d57f,SALT,0x186a0,KEY_LENGTH,_0x27e5fd(0xe6));}export function encrypt(_0x383bb5,_0x2bd0e0){const _0x21a871=_0x3c9e4e,_0x569246={'yQkOu':function(_0x46b5f8,_0x1ddf5e){return _0x46b5f8(_0x1ddf5e);},'RFoUT':function(_0x1ca494,_0x133f44){return _0x1ca494(_0x133f44);},'KHIAp':function(_0x4da4c6,_0x4b6d83,_0x2fff7a,_0x5e5104){return _0x4da4c6(_0x4b6d83,_0x2fff7a,_0x5e5104);}},_0x4d22f5=_0x569246['yQkOu'](deriveKey,_0x2bd0e0),_0x464ec8=_0x569246['RFoUT'](randomBytes,IV_LENGTH),_0x5ee6c9=_0x569246['KHIAp'](createCipheriv,ALGORITHM,_0x4d22f5,_0x464ec8),_0x5da576=Buffer['concat']([_0x5ee6c9['update'](_0x383bb5,'utf8'),_0x5ee6c9[_0x21a871(0xdb)]()]),_0x1615a2=_0x5ee6c9['getAuthTag']();return Buffer[_0x21a871(0xdc)]([_0x464ec8,_0x1615a2,_0x5da576]);}export function decrypt(_0x3a2382,_0x542e0a){const _0x234dea=_0x3c9e4e,_0x4c86ce={'zKGxj':function(_0x3d52ac,_0x335212){return _0x3d52ac+_0x335212;}},_0x6bf0fa=deriveKey(_0x542e0a),_0x1ea763=_0x3a2382['subarray'](0x0,IV_LENGTH),_0x5e69b6=_0x3a2382['subarray'](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x12e3d8=_0x3a2382['subarray'](_0x4c86ce['zKGxj'](IV_LENGTH,TAG_LENGTH)),_0x4b2115=createDecipheriv(ALGORITHM,_0x6bf0fa,_0x1ea763);return _0x4b2115[_0x234dea(0xe4)](_0x5e69b6),_0x4b2115[_0x234dea(0xd8)](_0x12e3d8)+_0x4b2115[_0x234dea(0xdb)](_0x234dea(0xe5));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function _0x2bb9(){const _0x4fb6b6=['--apikey','push','split','698224bzxETu','CvNtn','211171WYaiwv','1648038FBiCbz','has','errorType','Invalid\x20values','test','mRmCE','RRdJX','--header','startsWith','26094SBHUaH','stringify','Unknown\x20argument','[desire-path]\x20Failed\x20to\x20send:\x20','[REDACTED]','--token','some','metadata','Bearer\x20','SLVZo','--password','fdKZC','795822POgJxp','/api/v1/mcp/desire-path-logs','missing_required_argument','join','toLowerCase','14745XnzaEa','error','includes','39JXbEUv','--credentials','unknown_command','[desire-path]\x20Sending\x20log\x20to\x20','[desire-path]\x20Payload:\x20','fciuE','missing_option','BVXrc','2369208PYtYfV','Unknown\x20command','POST','stdout'];_0x2bb9=function(){return _0x4fb6b6;};return _0x2bb9();}const _0x542c4f=_0x3eb6;(function(_0x116460,_0x26069d){const _0x173936=_0x3eb6,_0x512b32=_0x116460();while(!![]){try{const _0x58235c=parseInt(_0x173936(0xe7))/0x1+parseInt(_0x173936(0xf1))/0x2*(parseInt(_0x173936(0x105))/0x3)+-parseInt(_0x173936(0xe5))/0x4+-parseInt(_0x173936(0x102))/0x5+-parseInt(_0x173936(0xfd))/0x6+-parseInt(_0x173936(0xe8))/0x7+parseInt(_0x173936(0xde))/0x8;if(_0x58235c===_0x26069d)break;else _0x512b32['push'](_0x512b32['shift']());}catch(_0x14869e){_0x512b32['push'](_0x512b32['shift']());}}}(_0x2bb9,0x2011d));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set([_0x542c4f(0xf6),'-t','--secret','--api-key',_0x542c4f(0xe2),'--key',_0x542c4f(0xfb),'--pass','--auth','--authorization',_0x542c4f(0xef),'--cookie',_0x542c4f(0x106)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x1106ff){const _0x35c604=_0x542c4f;return TOKEN_PATTERNS[_0x35c604(0xf7)](_0x1d85f3=>_0x1d85f3[_0x35c604(0xec)](_0x1106ff));}export function sanitizeArgs(_0x1a14e8){const _0x2bd26e=_0x542c4f,_0x4b5343={'CUpke':function(_0x1eb522,_0x479c66){return _0x1eb522<_0x479c66;},'eNECF':function(_0xa3d6f,_0x2018be){return _0xa3d6f(_0x2018be);},'OdvGN':_0x2bd26e(0xf5)},_0x411d79=[];let _0x3d3e71=![];for(let _0x4f53c6=0x0;_0x4b5343['CUpke'](_0x4f53c6,_0x1a14e8['length']);_0x4f53c6++){const _0x347898=_0x1a14e8[_0x4f53c6];if(_0x3d3e71){_0x411d79['push']('[REDACTED]'),_0x3d3e71=![];continue;}if(_0x347898[_0x2bd26e(0xf0)]('--')||_0x347898[_0x2bd26e(0xf0)]('-')){const _0x23aa9e=_0x347898['indexOf']('=');if(_0x23aa9e!==-0x1){const _0xa23671=_0x347898['slice'](0x0,_0x23aa9e)['toLowerCase']();if(SENSITIVE_FLAGS[_0x2bd26e(0xe9)](_0xa23671)){_0x411d79['push'](_0x347898['slice'](0x0,_0x23aa9e)+'=[REDACTED]');continue;}}else{const _0x332220=_0x347898[_0x2bd26e(0x101)]();SENSITIVE_FLAGS[_0x2bd26e(0xe9)](_0x332220)&&(_0x3d3e71=!![]);}_0x411d79[_0x2bd26e(0xe3)](_0x347898);}else _0x4b5343['eNECF'](looksLikeToken,_0x347898)?_0x411d79[_0x2bd26e(0xe3)](_0x4b5343['OdvGN']):_0x411d79['push'](_0x347898);}return _0x411d79[_0x2bd26e(0x100)]('\x20');}export async function logDesirePath(_0x3b502a){const _0x5d5a30=_0x542c4f,_0x1377eb={'SLVZo':function(_0x1c0c82){return _0x1c0c82();},'RRdJX':function(_0x538835){return _0x538835();},'PWnCH':'has_token','WUVjg':'application/json','AIMEm':'Authorization','vezgO':function(_0x351737,_0x2c8e4c,_0xa1e160){return _0x351737(_0x2c8e4c,_0xa1e160);}};try{const _0x239749=await _0x1377eb[_0x5d5a30(0xfa)](getToken)['catch'](()=>null),_0x5be27b=_0x1377eb[_0x5d5a30(0xee)](getApiBaseUrl),_0x3901cd=getCurrentVersion(),_0x47ac68=_0x239749?_0x1377eb['PWnCH']:'no_token',_0x3c0601={..._0x3b502a[_0x5d5a30(0xf8)],'authStatus':_0x47ac68,'isTty':process[_0x5d5a30(0xe1)]['isTTY']??![]},_0x433ad5={'Content-Type':_0x1377eb['WUVjg']};_0x239749&&(_0x433ad5[_0x1377eb['AIMEm']]=_0x5d5a30(0xf9)+_0x239749);const _0x327d72={'rawCommand':_0x3b502a['rawCommand'],'errorMessage':_0x3b502a['errorMessage'],'errorType':_0x3b502a[_0x5d5a30(0xea)],'featureId':_0x3b502a['featureId'],'sessionId':_0x3b502a['sessionId'],'metadata':_0x3c0601,'cliVersion':_0x3901cd};process['env']['DEBUG']&&(console['error'](_0x5d5a30(0x108)+_0x5be27b+_0x5d5a30(0xfe)),console[_0x5d5a30(0x103)](_0x5d5a30(0x109)+JSON['stringify'](_0x327d72,null,0x2))),await _0x1377eb['vezgO'](fetch,_0x5be27b+'/api/v1/mcp/desire-path-logs',{'method':_0x5d5a30(0xe0),'headers':_0x433ad5,'body':JSON[_0x5d5a30(0xf2)](_0x327d72)});}catch(_0x4bfb78){process['env']['DEBUG']&&console[_0x5d5a30(0x103)](_0x5d5a30(0xf4)+_0x4bfb78);}}function _0x3eb6(_0x5d3eed,_0x20f538){_0x5d3eed=_0x5d3eed-0xdc;const _0x2bb911=_0x2bb9();let _0x3eb6b3=_0x2bb911[_0x5d3eed];return _0x3eb6b3;}export function getErrorType(_0x5b106a,_0x137fcc){const _0x47ccc1=_0x542c4f,_0x3de3c3={'fdKZC':'3|7|1|5|6|0|4|2','fciuE':_0x47ccc1(0xeb),'ZrBbW':'invalid_option_value','DUenT':'runtime_error','LkDdQ':'Missing\x20required\x20argument','WdBpG':_0x47ccc1(0xf3),'BVXrc':'unknown_argument','CvNtn':_0x47ccc1(0xff),'mRmCE':'unknown'},_0x67511f=_0x3de3c3[_0x47ccc1(0xfc)][_0x47ccc1(0xe4)]('|');let _0x24af0e=0x0;while(!![]){switch(_0x67511f[_0x24af0e++]){case'0':if(_0x5b106a['includes'](_0x3de3c3[_0x47ccc1(0x10a)]))return _0x3de3c3['ZrBbW'];continue;case'1':if(_0x5b106a['includes'](_0x47ccc1(0xdf)))return _0x47ccc1(0x107);continue;case'2':return'syntax_error';case'3':if(_0x137fcc)return _0x3de3c3['DUenT'];continue;case'4':if(_0x5b106a[_0x47ccc1(0x104)](_0x3de3c3['LkDdQ']))return _0x47ccc1(0xdc);continue;case'5':if(_0x5b106a[_0x47ccc1(0x104)](_0x3de3c3['WdBpG']))return _0x3de3c3[_0x47ccc1(0xdd)];continue;case'6':if(_0x5b106a['includes']('Not\x20enough\x20non-option\x20arguments'))return _0x3de3c3[_0x47ccc1(0xe6)];continue;case'7':if(!_0x5b106a)return _0x3de3c3[_0x47ccc1(0xed)];continue;}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x4beea3,_0x1fea80){const _0x2824ff=_0x5110,_0x2da538=_0x4beea3();while(!![]){try{const _0xacad17=-parseInt(_0x2824ff(0x1e8))/0x1*(parseInt(_0x2824ff(0x1c1))/0x2)+-parseInt(_0x2824ff(0x1a6))/0x3*(parseInt(_0x2824ff(0x1b4))/0x4)+parseInt(_0x2824ff(0x1ab))/0x5+parseInt(_0x2824ff(0x1a0))/0x6*(parseInt(_0x2824ff(0x1c8))/0x7)+parseInt(_0x2824ff(0x1c9))/0x8*(-parseInt(_0x2824ff(0x1b1))/0x9)+parseInt(_0x2824ff(0x1d6))/0xa+parseInt(_0x2824ff(0x1bf))/0xb;if(_0xacad17===_0x1fea80)break;else _0x2da538['push'](_0x2da538['shift']());}catch(_0x1351c0){_0x2da538['push'](_0x2da538['shift']());}}}(_0x73ba,0x7b371));import{spawn}from'child_process';import _0x4fb8e4 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0x1651aa){const _0x4cb7a6=_0x5110,_0x1bd730={'EkKOM':'POST','UwTwh':'application/x-www-form-urlencoded'},_0x50c89e=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x1bd730['EkKOM'],'headers':{'Content-Type':_0x1bd730['UwTwh']},'body':new URLSearchParams({'client_id':_0x1651aa})});if(!_0x50c89e['ok']){const _0x1b43a9=await _0x50c89e['text']();throw new Error(_0x4cb7a6(0x1a7)+_0x50c89e['status']+'\x20'+_0x1b43a9);}return _0x50c89e['json']();}export async function pollForTokens(_0x867f0e,_0x4a6fd2,_0xe47046,_0x221e25){const _0x574866=_0x5110,_0x34f1d7={'Xvglj':_0x574866(0x1bd),'wZTuh':_0x574866(0x1e3),'IOdEQ':function(_0x3a1684,_0x13815f){return _0x3a1684===_0x13815f;},'PMCzM':'Authentication\x20failed'},_0x3ab4f1=Date['now']()+_0x221e25*0x3e8;let _0x2b7474=_0xe47046*0x3e8;while(Date['now']()<_0x3ab4f1){await sleep(_0x2b7474);const _0x5861e5=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x34f1d7['Xvglj']},'body':new URLSearchParams({'client_id':_0x867f0e,'device_code':_0x4a6fd2,'grant_type':_0x34f1d7['wZTuh']})});if(_0x5861e5['ok'])return _0x5861e5['json']();const _0x417790=await _0x5861e5[_0x574866(0x1cd)]();if(_0x417790['error']==='authorization_pending')continue;if(_0x34f1d7['IOdEQ'](_0x417790['error'],'slow_down')){_0x2b7474+=0x3e8;continue;}throw new Error(_0x417790['error_description']||_0x417790[_0x574866(0x1e7)]||_0x34f1d7[_0x574866(0x1ce)]);}throw new Error(_0x574866(0x1e9));}async function fetchUserProfile(_0x5b275a){const _0x10188b=_0x5110,_0x3cf5f9={'wviQx':function(_0x505735){return _0x505735();},'COLXU':_0x10188b(0x1ad)},_0x16548a=_0x3cf5f9['wviQx'](getApiBaseUrl);try{const _0x2a6f03=await fetch(_0x16548a+'/organization/me',{'method':_0x3cf5f9['COLXU'],'headers':{'workos-token':_0x5b275a}});if(_0x2a6f03['ok'])return _0x2a6f03['json']();}catch{}return null;}function buildKeyName(_0x2087c5,_0x148ad0){const _0x25181f=_0x5110,_0x3b7585={'LNVBQ':function(_0x1a0781,_0x2c73aa){return _0x1a0781===_0x2c73aa;},'kctca':function(_0xd82fe7,_0x255910){return _0xd82fe7+_0x255910;}},_0x4ab77b=_0x148ad0['filter'](_0x17eb33=>_0x17eb33['name']===_0x2087c5||_0x17eb33[_0x25181f(0x1af)]['startsWith'](_0x2087c5+'\x20('));if(_0x3b7585['LNVBQ'](_0x4ab77b[_0x25181f(0x1a2)],0x0))return _0x2087c5;return _0x2087c5+'\x20('+_0x3b7585['kctca'](_0x4ab77b['length'],0x1)+')';}export async function provisionApiKey(_0x2e8562){const _0x5ab234=_0x5110,_0x5403b5={'WLOBZ':function(_0x1e9852){return _0x1e9852();},'guGLz':'application/json','TiHjv':function(_0x382586,_0x17ee1e){return _0x382586(_0x17ee1e);},'ruYUT':_0x5ab234(0x1ad),'uvykQ':function(_0x1c3017,_0x100284,_0x44813b){return _0x1c3017(_0x100284,_0x44813b);},'WddXx':'POST','McZCY':_0x5ab234(0x1dd)},_0x207714=_0x5403b5[_0x5ab234(0x1ea)](getApiBaseUrl),_0x55ba21={'Content-Type':_0x5403b5[_0x5ab234(0x1c4)],'workos-token':_0x2e8562},_0x2a5a45=await _0x5403b5[_0x5ab234(0x1cc)](fetchUserProfile,_0x2e8562),_0x29b0a1=_0x2a5a45?.['firstName']||_0x2a5a45?.[_0x5ab234(0x1a3)]?.[_0x5ab234(0x1a1)]('@')[0x0],_0x2d3194=_0x29b0a1?_0x29b0a1+'\x27s\x20CLI\x20Key':'CLI\x20Key';let _0x2e2d70=[];try{const _0x413972=await fetch(_0x207714+_0x5ab234(0x1da),{'method':_0x5403b5[_0x5ab234(0x1ec)],'headers':_0x55ba21});if(_0x413972['ok']){const _0x1933ed=await _0x413972[_0x5ab234(0x1cd)]();_0x2e2d70=_0x1933ed[_0x5ab234(0x1e5)];}}catch{}const _0x44d879=_0x5403b5[_0x5ab234(0x1bc)](buildKeyName,_0x2d3194,_0x2e2d70),_0x3aa6c5=await fetch(_0x207714+'/api-keys',{'method':_0x5403b5['WddXx'],'headers':_0x55ba21,'body':JSON['stringify']({'name':_0x44d879,'scope':_0x5403b5[_0x5ab234(0x1b3)]})});if(!_0x3aa6c5['ok']){const _0x2ffd7e=await _0x3aa6c5[_0x5ab234(0x1e4)]();throw new Error(_0x5ab234(0x1b9)+_0x3aa6c5[_0x5ab234(0x1d8)]+'\x20'+_0x2ffd7e);}const _0x594543=await _0x3aa6c5[_0x5ab234(0x1cd)]();return _0x594543['apiKey'][_0x5ab234(0x1b6)];}export function openBrowser(_0x411c07){const _0x36ffd0=_0x5110,_0x146c38={'sgNvH':'win32','ADkog':function(_0x42c027,_0x39e8db,_0x2c0efe,_0x3292ce){return _0x42c027(_0x39e8db,_0x2c0efe,_0x3292ce);},'NgJYp':'cmd','SgQVb':_0x36ffd0(0x1b8),'depgY':function(_0x16c9b0,_0x44192c){return _0x16c9b0===_0x44192c;},'XpECG':'darwin','TaIoW':'open','OJNpj':_0x36ffd0(0x1b7)};try{if(process['platform']===_0x146c38[_0x36ffd0(0x1cf)]){const _0x278f8c=_0x146c38[_0x36ffd0(0x1df)](spawn,_0x146c38[_0x36ffd0(0x1d0)],['/c','start','',_0x411c07],{'detached':!![],'stdio':_0x146c38['SgQVb'],'windowsHide':!![]});_0x278f8c['unref']();return;}const _0x21fcf0=_0x146c38[_0x36ffd0(0x1cb)](process[_0x36ffd0(0x1be)],_0x146c38[_0x36ffd0(0x1d1)])?_0x146c38['TaIoW']:_0x146c38['OJNpj'],_0x4b7964=spawn(_0x21fcf0,[_0x411c07],{'detached':!![],'stdio':_0x36ffd0(0x1b8)});_0x4b7964[_0x36ffd0(0x1ac)]();}catch{}}function decodeJwtPayload(_0x3a6f01){const _0x2b67fd=_0x5110,_0x2dadf3={'KKUhJ':'Invalid\x20JWT\x20format'},_0x51570c=_0x3a6f01['split']('.');if(_0x51570c['length']!==0x3)throw new Error(_0x2dadf3[_0x2b67fd(0x1c3)]);const _0x1b013e=Buffer['from'](_0x51570c[0x1],_0x2b67fd(0x1c7))['toString']('utf-8');return JSON[_0x2b67fd(0x1bb)](_0x1b013e);}async function selfServeSignup(_0x34c4cb){const _0x591d7f=_0x5110,_0x38b202={'hHywH':function(_0x1f6270,_0x34fd42,_0x29a0ed){return _0x1f6270(_0x34fd42,_0x29a0ed);}},_0x328379=getApiBaseUrl(),_0xff6320=await _0x38b202[_0x591d7f(0x1e1)](fetch,_0x328379+'/organization/self-serve-signup',{'method':_0x591d7f(0x1d9),'headers':{'Content-Type':'application/json','workos-token':_0x34c4cb}});if(!_0xff6320['ok']){const _0x190d9c=await _0xff6320[_0x591d7f(0x1e4)]();throw new Error('Failed\x20to\x20create\x20organization:\x20'+_0xff6320['status']+'\x20'+_0x190d9c);}return _0xff6320[_0x591d7f(0x1cd)]();}async function fetchMyMemberships(_0x491ebb){const _0x46fe0c=_0x5110,_0x2ddd03={'qJVmB':function(_0x363a65){return _0x363a65();},'XDBhP':function(_0x5e6908,_0x1d0941,_0x59469f){return _0x5e6908(_0x1d0941,_0x59469f);},'TDiOP':_0x46fe0c(0x1ad)},_0x1b9b0c=_0x2ddd03[_0x46fe0c(0x1a4)](getApiBaseUrl),_0x26c724=await _0x2ddd03[_0x46fe0c(0x1a8)](fetch,_0x1b9b0c+'/organization/my-memberships',{'method':_0x2ddd03[_0x46fe0c(0x1d5)],'headers':{'workos-token':_0x491ebb}});if(!_0x26c724['ok']){const _0x5a34d6=await _0x26c724['text']();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x26c724['status']+'\x20'+_0x5a34d6);}const _0x36f514=await _0x26c724[_0x46fe0c(0x1cd)]();return _0x36f514[_0x46fe0c(0x1ae)];}async function refreshTokenWithOrg(_0x137205,_0x315d94,_0x2d215b){const _0x2c857e=_0x5110,_0x4fdaa4={'UAELL':function(_0x47cce2,_0x2ea55f,_0xeea1fc){return _0x47cce2(_0x2ea55f,_0xeea1fc);},'KiOVq':_0x2c857e(0x1d9),'pQjni':'application/x-www-form-urlencoded','CLYhy':'refresh_token'},_0x20430b=await _0x4fdaa4['UAELL'](fetch,WORKOS_TOKEN_URL,{'method':_0x4fdaa4['KiOVq'],'headers':{'Content-Type':_0x4fdaa4['pQjni']},'body':new URLSearchParams({'client_id':_0x137205,'grant_type':_0x4fdaa4[_0x2c857e(0x1ca)],'refresh_token':_0x315d94,'organization_id':_0x2d215b})});if(!_0x20430b['ok']){const _0x70eb1e=await _0x20430b['text']();throw new Error(_0x2c857e(0x1ba)+_0x20430b['status']+'\x20'+_0x70eb1e);}return _0x20430b[_0x2c857e(0x1cd)]();}function _0x5110(_0x39f511,_0x40c52f){_0x39f511=_0x39f511-0x19f;const _0x73bace=_0x73ba();let _0x511007=_0x73bace[_0x39f511];return _0x511007;}async function provisionCliToken(_0x42b3a4){const _0x12f6f3=_0x5110,_0x1c8ce3={'pjKFu':function(_0x189433){return _0x189433();},'MpDlM':function(_0x31e601,_0x4f6f7b,_0x550b7b){return _0x31e601(_0x4f6f7b,_0x550b7b);},'mWBhA':'POST'},_0x2b5dcd=_0x1c8ce3[_0x12f6f3(0x1db)](getApiBaseUrl),_0x37b5db=await _0x1c8ce3['MpDlM'](fetch,_0x2b5dcd+_0x12f6f3(0x1e6),{'method':_0x1c8ce3['mWBhA'],'headers':{'Content-Type':'application/json','workos-token':_0x42b3a4}});if(!_0x37b5db['ok']){const _0x21cb5c=await _0x37b5db['text']();throw new Error(_0x12f6f3(0x1aa)+_0x37b5db['status']+'\x20'+_0x21cb5c);}return _0x37b5db[_0x12f6f3(0x1cd)]();}function _0x73ba(){const _0x59bf5a=['memberships','name','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','7007049OSwsQK','refresh_token','McZCY','4EAdYIL','wAYOk','token','xdg-open','ignore','Failed\x20to\x20provision\x20API\x20key:\x20','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','parse','uvykQ','application/x-www-form-urlencoded','platform','2183126LPKRcX','org_id','2nvUglh','prompt','KKUhJ','guGLz','access_token','Select\x20an\x20organization:','base64url','6357869eLprAB','8QqRtXL','CLYhy','depgY','TiHjv','json','PMCzM','sgNvH','NgJYp','XpECG','write','map','selected','TDiOP','4596980SfHHSZ','stdin','status','POST','/api-keys','pjKFu','workosClientId','mcp:write','XQUKz','ADkog','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20','hHywH','stdout','urn:ietf:params:oauth:grant-type:device_code','text','apiKeys','/cli-auth/token','error','988974qbCGye','Device\x20authorization\x20timed\x20out','WLOBZ','Provisioning\x20CLI\x20token...','ruYUT','log','6oOURbY','split','length','email','qJVmB','zveGD','458808QgCotO','Failed\x20to\x20request\x20device\x20code:\x20','XDBhP','isTTY','Failed\x20to\x20provision\x20CLI\x20token:\x20','4293645JqoPWF','unref','GET'];_0x73ba=function(){return _0x59bf5a;};return _0x73ba();}export async function runDeviceAuthFlow(){const _0x465172=_0x5110,_0x4209a6={'XQUKz':'\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','wRQYF':'\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','GJNYN':'Waiting\x20for\x20authentication...','KkzyT':function(_0x1d2a14,_0xa34a3b){return _0x1d2a14(_0xa34a3b);},'zIjES':_0x465172(0x1b0),'HeKXa':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','zveGD':_0x465172(0x1d4),'ZVvZz':function(_0x148ef,_0x235bf7){return _0x148ef(_0x235bf7);},'wAYOk':function(_0x134292,_0x2b6f58){return _0x134292(_0x2b6f58);}},_0x597e8a=getCurrentEnvironment(),_0x1b74ee=ENVIRONMENT_CONFIGS[_0x597e8a][_0x465172(0x1dc)],_0xc87349=await requestDeviceCode(_0x1b74ee);console['log'](_0x4209a6[_0x465172(0x1de)]),console[_0x465172(0x19f)](_0x4209a6['wRQYF']),openBrowser(_0xc87349['verification_uri_complete']),console['log'](_0x465172(0x1e0)+_0xc87349['verification_uri_complete']),console[_0x465172(0x19f)]('Code:\x20'+_0xc87349['user_code']+'\x0a'),process[_0x465172(0x1e2)]['write'](_0x4209a6['GJNYN']);let _0x4b5f53=await pollForTokens(_0x1b74ee,_0xc87349['device_code'],_0xc87349['interval'],_0xc87349['expires_in']);console['log']('\x20✓');const _0xb9d37b=_0x4209a6['KkzyT'](decodeJwtPayload,_0x4b5f53['access_token']);if(!_0xb9d37b[_0x465172(0x1c0)]){const _0x499569=await _0x4209a6['KkzyT'](fetchMyMemberships,_0x4b5f53['access_token']);let _0x3c1935;if(_0x499569['length']===0x0){process['stdout'][_0x465172(0x1d2)]('Setting\x20up\x20your\x20organization...');const _0x46d99a=await selfServeSignup(_0x4b5f53['access_token']);_0x3c1935=_0x46d99a['organizationId'],console[_0x465172(0x19f)]('\x20✓');}else{if(_0x499569[_0x465172(0x1a2)]===0x1)_0x3c1935=_0x499569[0x0]['organizationId'],console['log']('Using\x20organization:\x20'+_0x499569[0x0][_0x465172(0x1af)]);else{const _0xa6f16b=process[_0x465172(0x1d7)]['isTTY']&&process[_0x465172(0x1e2)][_0x465172(0x1a9)];if(!_0xa6f16b)throw new Error(_0x4209a6['zIjES']+_0x4209a6['HeKXa']);const {selected:_0x543f06}=await _0x4fb8e4[_0x465172(0x1c2)]([{'type':'list','name':_0x4209a6[_0x465172(0x1a5)],'message':_0x465172(0x1c6),'choices':_0x499569[_0x465172(0x1d3)](_0x14ef09=>({'name':_0x14ef09[_0x465172(0x1af)],'value':_0x14ef09['organizationId']}))}]);_0x3c1935=_0x543f06;}}_0x4b5f53=await refreshTokenWithOrg(_0x1b74ee,_0x4b5f53[_0x465172(0x1b2)],_0x3c1935);}process['stdout'][_0x465172(0x1d2)](_0x465172(0x1eb));const _0x20ba9d=await _0x4209a6['ZVvZz'](provisionCliToken,_0x4b5f53[_0x465172(0x1c5)]);return console['log']('\x20✓'),await _0x4209a6[_0x465172(0x1b5)](storeToken,_0x20ba9d[_0x465172(0x1b6)]),_0x4b5f53['refresh_token']&&await storeRefreshToken(_0x4b5f53[_0x465172(0x1b2)]),_0x20ba9d['token'];}function sleep(_0x501928){return new Promise(_0x5fabe9=>setTimeout(_0x5fabe9,_0x501928));}
|
|
1
|
+
const _0x5dd3d8=_0x1157;(function(_0x5ac544,_0x5c856b){const _0x50c739=_0x1157,_0x5f347f=_0x5ac544();while(!![]){try{const _0x40d814=-parseInt(_0x50c739(0x137))/0x1+-parseInt(_0x50c739(0x138))/0x2+parseInt(_0x50c739(0x152))/0x3+-parseInt(_0x50c739(0x164))/0x4*(parseInt(_0x50c739(0x165))/0x5)+-parseInt(_0x50c739(0x121))/0x6+-parseInt(_0x50c739(0x139))/0x7*(-parseInt(_0x50c739(0x148))/0x8)+parseInt(_0x50c739(0x131))/0x9;if(_0x40d814===_0x5c856b)break;else _0x5f347f['push'](_0x5f347f['shift']());}catch(_0x237382){_0x5f347f['push'](_0x5f347f['shift']());}}}(_0x43ea,0x4ecdc));import{spawn}from'child_process';import _0x4d586a from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';function _0x1157(_0x345277,_0x1164f2){_0x345277=_0x345277-0x114;const _0x43ea60=_0x43ea();let _0x1157f2=_0x43ea60[_0x345277];return _0x1157f2;}import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL=_0x5dd3d8(0x120);export async function requestDeviceCode(_0x49f8fc){const _0x17cb70=_0x5dd3d8,_0x5af82d={'XFLhF':function(_0x1fe055,_0x377601,_0x1b2920){return _0x1fe055(_0x377601,_0x1b2920);},'cXZzI':'POST','gAuWr':_0x17cb70(0x149)},_0x45513a=await _0x5af82d['XFLhF'](fetch,WORKOS_DEVICE_AUTH_URL,{'method':_0x5af82d[_0x17cb70(0x12c)],'headers':{'Content-Type':_0x5af82d['gAuWr']},'body':new URLSearchParams({'client_id':_0x49f8fc})});if(!_0x45513a['ok']){const _0x4f8cd4=await _0x45513a[_0x17cb70(0x145)]();throw new Error(_0x17cb70(0x123)+_0x45513a[_0x17cb70(0x132)]+'\x20'+_0x4f8cd4);}return _0x45513a['json']();}export async function pollForTokens(_0x62b62b,_0x594afc,_0x4dca17,_0x47253b){const _0x44ba35=_0x5dd3d8,_0x2be4a0={'KuNHP':function(_0x4dc056,_0x101b03){return _0x4dc056*_0x101b03;},'XOGPN':function(_0xae239,_0x201f45){return _0xae239(_0x201f45);},'kCGIW':function(_0x2f6fee,_0x513cac,_0x2314a3){return _0x2f6fee(_0x513cac,_0x2314a3);},'LHeTw':'POST','NDOMh':function(_0x18ac63,_0x209108){return _0x18ac63===_0x209108;},'NmlBV':'authorization_pending'},_0x526c65=Date['now']()+_0x2be4a0[_0x44ba35(0x150)](_0x47253b,0x3e8);let _0x2c0706=_0x4dca17*0x3e8;while(Date['now']()<_0x526c65){await _0x2be4a0['XOGPN'](sleep,_0x2c0706);const _0x5d8d47=await _0x2be4a0['kCGIW'](fetch,WORKOS_TOKEN_URL,{'method':_0x2be4a0[_0x44ba35(0x126)],'headers':{'Content-Type':_0x44ba35(0x149)},'body':new URLSearchParams({'client_id':_0x62b62b,'device_code':_0x594afc,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x5d8d47['ok'])return _0x5d8d47[_0x44ba35(0x133)]();const _0x269fb3=await _0x5d8d47[_0x44ba35(0x133)]();if(_0x2be4a0[_0x44ba35(0x114)](_0x269fb3['error'],_0x2be4a0['NmlBV']))continue;if(_0x269fb3['error']===_0x44ba35(0x122)){_0x2c0706+=0x3e8;continue;}throw new Error(_0x269fb3[_0x44ba35(0x15c)]||_0x269fb3[_0x44ba35(0x130)]||_0x44ba35(0x119));}throw new Error('Device\x20authorization\x20timed\x20out');}async function fetchUserProfile(_0x5afa6f){const _0x21be99=_0x5dd3d8,_0x5a6a86={'hzFHJ':function(_0x3a1a9e,_0xf1a23d,_0x47cda4){return _0x3a1a9e(_0xf1a23d,_0x47cda4);}},_0x32ff10=getApiBaseUrl();try{const _0x3691b7=await _0x5a6a86['hzFHJ'](fetch,_0x32ff10+_0x21be99(0x11a),{'method':'GET','headers':{'workos-token':_0x5afa6f}});if(_0x3691b7['ok'])return _0x3691b7[_0x21be99(0x133)]();}catch{}return null;}function buildKeyName(_0x38beea,_0x106361){const _0xe04e58=_0x5dd3d8,_0x432384={'OgkfH':function(_0x15ead5,_0xa133ee){return _0x15ead5===_0xa133ee;},'Pmots':function(_0x4d8a9f,_0x3a68b7){return _0x4d8a9f+_0x3a68b7;}},_0x545a39=_0x106361['filter'](_0xe58a45=>_0xe58a45['name']===_0x38beea||_0xe58a45[_0xe04e58(0x155)][_0xe04e58(0x15f)](_0x38beea+'\x20('));if(_0x432384['OgkfH'](_0x545a39['length'],0x0))return _0x38beea;return _0x38beea+'\x20('+_0x432384[_0xe04e58(0x153)](_0x545a39[_0xe04e58(0x11e)],0x1)+')';}export async function provisionApiKey(_0x37b276){const _0x32edd2=_0x5dd3d8,_0x4ad837={'dUCDE':function(_0x4ba85d){return _0x4ba85d();},'bbcLy':function(_0x2be68b,_0xcfdda){return _0x2be68b(_0xcfdda);},'HyinJ':'CLI\x20Key','XSxLt':function(_0x4364fd,_0x16fb61,_0x14e63d){return _0x4364fd(_0x16fb61,_0x14e63d);},'WdhzV':_0x32edd2(0x147),'gLLuP':'POST','ZCUKC':_0x32edd2(0x13d)},_0x220be2=_0x4ad837['dUCDE'](getApiBaseUrl),_0x49bfbe={'Content-Type':'application/json','workos-token':_0x37b276},_0x55f5c0=await _0x4ad837[_0x32edd2(0x159)](fetchUserProfile,_0x37b276),_0x4090e6=_0x55f5c0?.['firstName']||_0x55f5c0?.['email']?.[_0x32edd2(0x15d)]('@')[0x0],_0x10ef8b=_0x4090e6?_0x4090e6+_0x32edd2(0x13f):_0x4ad837['HyinJ'];let _0x12e4f7=[];try{const _0x30555e=await _0x4ad837['XSxLt'](fetch,_0x220be2+_0x32edd2(0x146),{'method':_0x4ad837['WdhzV'],'headers':_0x49bfbe});if(_0x30555e['ok']){const _0x47581c=await _0x30555e['json']();_0x12e4f7=_0x47581c['apiKeys'];}}catch{}const _0x540c20=_0x4ad837[_0x32edd2(0x140)](buildKeyName,_0x10ef8b,_0x12e4f7),_0x532915=await _0x4ad837['XSxLt'](fetch,_0x220be2+_0x32edd2(0x146),{'method':_0x4ad837[_0x32edd2(0x157)],'headers':_0x49bfbe,'body':JSON['stringify']({'name':_0x540c20,'scope':_0x4ad837[_0x32edd2(0x166)]})});if(!_0x532915['ok']){const _0x4fa79b=await _0x532915[_0x32edd2(0x145)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x532915['status']+'\x20'+_0x4fa79b);}const _0x4026d8=await _0x532915['json']();return _0x4026d8['apiKey']['token'];}export function openBrowser(_0x295845){const _0x5b3fa7=_0x5dd3d8,_0x35741e={'aRqrM':function(_0x3e43de,_0x38c603){return _0x3e43de===_0x38c603;},'pfwIn':function(_0x4faa7d,_0x1e1a27,_0x1a80de,_0x53beed){return _0x4faa7d(_0x1e1a27,_0x1a80de,_0x53beed);},'dKDgw':_0x5b3fa7(0x124),'UdqGh':function(_0x5550d7,_0x308257){return _0x5550d7===_0x308257;},'qQfIs':'darwin','Ndicq':'open','MmAzD':function(_0x4d414a,_0x144e04,_0x2cfb8f,_0x2a30b0){return _0x4d414a(_0x144e04,_0x2cfb8f,_0x2a30b0);},'RzDXw':_0x5b3fa7(0x136)};try{if(_0x35741e['aRqrM'](process[_0x5b3fa7(0x13a)],'win32')){const _0xc678d6=_0x35741e['pfwIn'](spawn,_0x35741e[_0x5b3fa7(0x128)],['/c','start','',_0x295845],{'detached':!![],'stdio':_0x5b3fa7(0x136),'windowsHide':!![]});_0xc678d6['unref']();return;}const _0x4da073=_0x35741e[_0x5b3fa7(0x12e)](process['platform'],_0x35741e[_0x5b3fa7(0x11f)])?_0x35741e[_0x5b3fa7(0x12a)]:'xdg-open',_0x2127f2=_0x35741e['MmAzD'](spawn,_0x4da073,[_0x295845],{'detached':!![],'stdio':_0x35741e[_0x5b3fa7(0x13e)]});_0x2127f2['unref']();}catch{}}function decodeJwtPayload(_0x467eb8){const _0x2bde53=_0x5dd3d8,_0x3c7229={'ohQQL':_0x2bde53(0x117)},_0x4da1a7=_0x467eb8[_0x2bde53(0x15d)]('.');if(_0x4da1a7[_0x2bde53(0x11e)]!==0x3)throw new Error(_0x3c7229[_0x2bde53(0x144)]);const _0x8ae6a=Buffer[_0x2bde53(0x13c)](_0x4da1a7[0x1],'base64url')['toString'](_0x2bde53(0x161));return JSON[_0x2bde53(0x14a)](_0x8ae6a);}async function selfServeSignup(_0x11f384){const _0x35de08=_0x5dd3d8,_0x43f745=getApiBaseUrl(),_0x2aab25=await fetch(_0x43f745+_0x35de08(0x143),{'method':_0x35de08(0x14c),'headers':{'Content-Type':'application/json','workos-token':_0x11f384}});if(!_0x2aab25['ok']){const _0x2383ea=await _0x2aab25['text']();throw new Error(_0x35de08(0x156)+_0x2aab25['status']+'\x20'+_0x2383ea);}return _0x2aab25[_0x35de08(0x133)]();}async function fetchMyMemberships(_0x3a98d5){const _0xd3c9d8=_0x5dd3d8,_0x12d3da={'urMAD':function(_0x48ce55){return _0x48ce55();},'QqWzA':function(_0x3bcda9,_0x5213fe,_0x3645ac){return _0x3bcda9(_0x5213fe,_0x3645ac);}},_0x103559=_0x12d3da[_0xd3c9d8(0x154)](getApiBaseUrl),_0x50aa07=await _0x12d3da[_0xd3c9d8(0x11c)](fetch,_0x103559+'/organization/my-memberships',{'method':'GET','headers':{'workos-token':_0x3a98d5}});if(!_0x50aa07['ok']){const _0x390aa9=await _0x50aa07[_0xd3c9d8(0x145)]();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x50aa07[_0xd3c9d8(0x132)]+'\x20'+_0x390aa9);}const _0x3a40e1=await _0x50aa07['json']();return _0x3a40e1[_0xd3c9d8(0x15b)];}async function refreshTokenWithOrg(_0x53adf1,_0x39e993,_0x33d705){const _0x3b2e00=_0x5dd3d8,_0x1867bf={'ldjic':'POST','UMNmx':'refresh_token'},_0x2a899f=await fetch(WORKOS_TOKEN_URL,{'method':_0x1867bf['ldjic'],'headers':{'Content-Type':_0x3b2e00(0x149)},'body':new URLSearchParams({'client_id':_0x53adf1,'grant_type':_0x1867bf['UMNmx'],'refresh_token':_0x39e993,'organization_id':_0x33d705})});if(!_0x2a899f['ok']){const _0x502647=await _0x2a899f[_0x3b2e00(0x145)]();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x2a899f[_0x3b2e00(0x132)]+'\x20'+_0x502647);}return _0x2a899f['json']();}async function provisionCliToken(_0x26af5c){const _0x2eca45=_0x5dd3d8,_0x53fccd={'vdHEZ':function(_0xd4493b){return _0xd4493b();},'tLcxv':_0x2eca45(0x14c)},_0x5ef2c1=_0x53fccd[_0x2eca45(0x12b)](getApiBaseUrl),_0x2941c1=await fetch(_0x5ef2c1+'/cli-auth/token',{'method':_0x53fccd['tLcxv'],'headers':{'Content-Type':'application/json','workos-token':_0x26af5c}});if(!_0x2941c1['ok']){const _0x43038a=await _0x2941c1['text']();throw new Error(_0x2eca45(0x141)+_0x2941c1['status']+'\x20'+_0x43038a);}return _0x2941c1['json']();}export async function runDeviceAuthFlow(){const _0x1fe4bb=_0x5dd3d8,_0x45888e={'ZQcMF':function(_0x488dd6,_0x52b6ec){return _0x488dd6(_0x52b6ec);},'aaTWJ':function(_0x80c9da,_0x3ef140,_0x467118,_0x1af6dd,_0x243c58){return _0x80c9da(_0x3ef140,_0x467118,_0x1af6dd,_0x243c58);},'xqREH':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','TdAhp':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','goNKp':_0x1fe4bb(0x13b),'VYboc':_0x1fe4bb(0x162),'XPugL':'Provisioning\x20CLI\x20token...','usGZJ':function(_0x2f1522,_0x4f9fd4){return _0x2f1522(_0x4f9fd4);}},_0x44d390=getCurrentEnvironment(),_0x1a4b8f=ENVIRONMENT_CONFIGS[_0x44d390][_0x1fe4bb(0x135)],_0x10fa66=await _0x45888e[_0x1fe4bb(0x15e)](requestDeviceCode,_0x1a4b8f);console['log'](_0x1fe4bb(0x129)),console['log'](_0x1fe4bb(0x163)),openBrowser(_0x10fa66[_0x1fe4bb(0x11b)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x10fa66[_0x1fe4bb(0x11b)]),console['log'](_0x1fe4bb(0x118)+_0x10fa66['user_code']+'\x0a'),process['stdout'][_0x1fe4bb(0x11d)]('Waiting\x20for\x20authentication...');let _0x25a761=await _0x45888e[_0x1fe4bb(0x142)](pollForTokens,_0x1a4b8f,_0x10fa66['device_code'],_0x10fa66['interval'],_0x10fa66[_0x1fe4bb(0x125)]);console['log']('\x20✓');const _0x2628e3=decodeJwtPayload(_0x25a761[_0x1fe4bb(0x14d)]);if(!_0x2628e3[_0x1fe4bb(0x158)]){const _0x31486e=await fetchMyMemberships(_0x25a761['access_token']);let _0x364e41;if(_0x31486e[_0x1fe4bb(0x11e)]===0x0){process['stdout']['write'](_0x1fe4bb(0x14b));const _0x40fdb4=await selfServeSignup(_0x25a761['access_token']);_0x364e41=_0x40fdb4[_0x1fe4bb(0x15a)],console[_0x1fe4bb(0x116)]('\x20✓');}else{if(_0x31486e[_0x1fe4bb(0x11e)]===0x1)_0x364e41=_0x31486e[0x0]['organizationId'],console['log']('Using\x20organization:\x20'+_0x31486e[0x0]['name']);else{const _0x3f3f11=process[_0x1fe4bb(0x115)][_0x1fe4bb(0x160)]&&process[_0x1fe4bb(0x14e)]['isTTY'];if(!_0x3f3f11)throw new Error(_0x45888e[_0x1fe4bb(0x12d)]+_0x45888e[_0x1fe4bb(0x14f)]);const {selected:_0xcaa6b4}=await _0x4d586a['prompt']([{'type':'list','name':_0x45888e[_0x1fe4bb(0x12f)],'message':_0x45888e['VYboc'],'choices':_0x31486e['map'](_0x1d87f9=>({'name':_0x1d87f9['name'],'value':_0x1d87f9[_0x1fe4bb(0x15a)]}))}]);_0x364e41=_0xcaa6b4;}}_0x25a761=await refreshTokenWithOrg(_0x1a4b8f,_0x25a761['refresh_token'],_0x364e41);}process[_0x1fe4bb(0x14e)][_0x1fe4bb(0x11d)](_0x45888e[_0x1fe4bb(0x151)]);const _0x21aac4=await _0x45888e[_0x1fe4bb(0x15e)](provisionCliToken,_0x25a761[_0x1fe4bb(0x14d)]);return console['log']('\x20✓'),await _0x45888e['usGZJ'](storeToken,_0x21aac4[_0x1fe4bb(0x127)]),_0x25a761['refresh_token']&&await storeRefreshToken(_0x25a761[_0x1fe4bb(0x134)]),_0x21aac4['token'];}function _0x43ea(){const _0x5118c2=['160147vUZkIb','36816MquFhx','7qPwLcx','platform','selected','from','mcp:write','RzDXw','\x27s\x20CLI\x20Key','XSxLt','Failed\x20to\x20provision\x20CLI\x20token:\x20','aaTWJ','/organization/self-serve-signup','ohQQL','text','/api-keys','GET','2857808tlvLwA','application/x-www-form-urlencoded','parse','Setting\x20up\x20your\x20organization...','POST','access_token','stdout','TdAhp','KuNHP','XPugL','1228950jbySst','Pmots','urMAD','name','Failed\x20to\x20create\x20organization:\x20','gLLuP','org_id','bbcLy','organizationId','memberships','error_description','split','ZQcMF','startsWith','isTTY','utf-8','Select\x20an\x20organization:','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','2497564BLdFzR','5zdaaSN','ZCUKC','NDOMh','stdin','log','Invalid\x20JWT\x20format','Code:\x20','Authentication\x20failed','/organization/me','verification_uri_complete','QqWzA','write','length','qQfIs','https://api.workos.com/user_management/authenticate','343764bdinBq','slow_down','Failed\x20to\x20request\x20device\x20code:\x20','cmd','expires_in','LHeTw','token','dKDgw','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','Ndicq','vdHEZ','cXZzI','xqREH','UdqGh','goNKp','error','3745296tucaJc','status','json','refresh_token','workosClientId','ignore'];_0x43ea=function(){return _0x5118c2;};return _0x43ea();}function sleep(_0x515122){return new Promise(_0x369b5c=>setTimeout(_0x369b5c,_0x515122));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x4e83(){const _0x2389b0=['nova-act-cli','\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.','dqPJo','1712976bLdWTe','6522lxYqZq','playwright-cli','client_01J9CBYM7M5ZETCF7G6614DXR2','gSWEJ','rangerwright-cli','https://api.staging.ranger.net','56367JduHBG','231290XIgXrR','HqQzR','error','http://localhost:8090','68158AzLYhq','http://localhost:8080','mcpAuthUrl','trim','prod','RANGER_TRANSPORT','RANGER_USE_NOVA_ACT','RANGER_BYOK','true','DEdcs','44LtTqht','3812KmLdeB','Invalid\x20RANGER_TRANSPORT=\x22','RANGER_HOOKS','615753cfSdLX','https://ai-proxy-301751771437.us-central1.run.app','staging','\x22.\x20','http://localhost:8080/mcp','85wjVNCQ','10DQrDSh','find','env','413EnQQpA'];_0x4e83=function(){return _0x2389b0;};return _0x4e83();}const _0xd2d182=_0x5b96;(function(_0x25e2f2,_0x54f827){const _0x51fdfd=_0x5b96,_0x2949c0=_0x25e2f2();while(!![]){try{const _0x3bf6d2=-parseInt(_0x51fdfd(0xec))/0x1+-parseInt(_0x51fdfd(0x100))/0x2*(parseInt(_0x51fdfd(0xe7))/0x3)+-parseInt(_0x51fdfd(0xf7))/0x4*(parseInt(_0x51fdfd(0xff))/0x5)+-parseInt(_0x51fdfd(0x108))/0x6*(-parseInt(_0x51fdfd(0x103))/0x7)+parseInt(_0x51fdfd(0x107))/0x8+-parseInt(_0x51fdfd(0xfa))/0x9+-parseInt(_0x51fdfd(0xe8))/0xa*(-parseInt(_0x51fdfd(0xf6))/0xb);if(_0x3bf6d2===_0x54f827)break;else _0x2949c0['push'](_0x2949c0['shift']());}catch(_0x4d84f1){_0x2949c0['push'](_0x2949c0['shift']());}}}(_0x4e83,0x1e492));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':_0xd2d182(0x10a),'aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':'https://mcp-auth.ranger.net/mcp'},'staging':{'apiBaseUrl':_0xd2d182(0x10d),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0xd2d182(0xfb),'mcpAuthUrl':'https://mcp-auth.staging.ranger.net/mcp'},'local':{'apiBaseUrl':_0xd2d182(0xed),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0xd2d182(0xeb),'mcpAuthUrl':_0xd2d182(0xfe)}};function _0x5b96(_0x50a2f2,_0x47e1b9){_0x50a2f2=_0x50a2f2-0xe7;const _0x4e83dd=_0x4e83();let _0x5b9628=_0x4e83dd[_0x50a2f2];return _0x5b9628;}export const DEFAULT_ENVIRONMENT='prod';export function isValidEnvironment(_0x59d69a){const _0x494b4a=_0xd2d182,_0x27bc4f={'HqQzR':function(_0x1ea79a,_0x15bb4e){return _0x1ea79a===_0x15bb4e;},'zsssI':_0x494b4a(0xf0)};return _0x27bc4f[_0x494b4a(0xe9)](_0x59d69a,_0x27bc4f['zsssI'])||_0x59d69a===_0x494b4a(0xfc)||_0x27bc4f[_0x494b4a(0xe9)](_0x59d69a,'local');}export function getCurrentEnvironment(){const _0xf648ed=_0xd2d182,_0x189523={'dqPJo':function(_0x17049f,_0x569bef){return _0x17049f(_0x569bef);}},_0x48f5cc=process['env']['RANGER_CLI_ENV'];if(_0x48f5cc&&_0x189523[_0xf648ed(0x106)](isValidEnvironment,_0x48f5cc))return _0x48f5cc;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){return ENVIRONMENT_CONFIGS[getCurrentEnvironment()]['apiBaseUrl'];}export function getAiProxyUrl(){return ENVIRONMENT_CONFIGS[getCurrentEnvironment()]['aiProxyUrl'];}export function getMcpAuthUrl(){const _0x5d2ab6=_0xd2d182;return process[_0x5d2ab6(0x102)]['RANGER_MCP_AUTH_URL']??ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x5d2ab6(0xee)];}export function isByokEnabled(){const _0x40ce2f=_0xd2d182;return process[_0x40ce2f(0x102)][_0x40ce2f(0xf3)]===_0x40ce2f(0xf4);}function isVerificationTransport(_0x4b7b9b){const _0x79f81b=_0xd2d182,_0x340b6e={'DEdcs':function(_0xdd293,_0x108463){return _0xdd293===_0x108463;},'WssPI':'mcp'};return _0x340b6e[_0x79f81b(0xf5)](_0x4b7b9b,_0x340b6e['WssPI'])||_0x4b7b9b===_0x79f81b(0x109)||_0x4b7b9b===_0x79f81b(0x104)||_0x4b7b9b===_0x79f81b(0x10c);}const LEGACY_TRANSPORT_ENV_VARS=[_0xd2d182(0xf2),'RANGER_DISABLE_MCP'];export function getVerificationTransport(){const _0x2d9f11=_0xd2d182,_0x45977f={'yoXFR':function(_0x1a878d,_0x47e355){return _0x1a878d(_0x47e355);},'QjRlx':'mcp'},_0x24897d=process[_0x2d9f11(0x102)][_0x2d9f11(0xf1)]?.[_0x2d9f11(0xef)]();if(_0x24897d){if(_0x45977f['yoXFR'](isVerificationTransport,_0x24897d))return _0x24897d;throw new Error(_0x2d9f11(0xf8)+_0x24897d+_0x2d9f11(0x105));}const _0x2f503c=LEGACY_TRANSPORT_ENV_VARS[_0x2d9f11(0x101)](_0x176522=>process[_0x2d9f11(0x102)][_0x176522]);if(_0x2f503c)throw new Error(_0x2f503c+'\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.');return _0x45977f['QjRlx'];}export function resolveHookMode(_0x730d3d=process[_0xd2d182(0x102)]){const _0x190a86=_0xd2d182,_0x1010c4={'gSWEJ':'off','LEedC':function(_0x2ea7a3,_0x4a4cee){return _0x2ea7a3===_0x4a4cee;},'WqvvB':function(_0x1dc25,_0x5aec75){return _0x1dc25+_0x5aec75;}},_0x460dea=_0x730d3d['RANGER_HOOKS']?.[_0x190a86(0xef)]()['toLowerCase']();if(!_0x460dea)return'auto';if(_0x460dea===_0x1010c4[_0x190a86(0x10b)]||_0x460dea==='on'||_0x1010c4['LEedC'](_0x460dea,'auto'))return _0x460dea;return console[_0x190a86(0xea)](_0x1010c4['WqvvB']('[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22'+_0x730d3d[_0x190a86(0xf9)]+_0x190a86(0xfd),'Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.')),'auto';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x26eed1,_0x36273d){const _0x4f4667=_0x28c1,_0x1f5e2c=_0x26eed1();while(!![]){try{const _0x28e21c=-parseInt(_0x4f4667(0xb2))/0x1*(parseInt(_0x4f4667(0xcd))/0x2)+parseInt(_0x4f4667(0xf3))/0x3+-parseInt(_0x4f4667(0xae))/0x4*(parseInt(_0x4f4667(0xe9))/0x5)+-parseInt(_0x4f4667(0xb1))/0x6+-parseInt(_0x4f4667(0xda))/0x7*(parseInt(_0x4f4667(0xe6))/0x8)+-parseInt(_0x4f4667(0xd5))/0x9+parseInt(_0x4f4667(0xdc))/0xa*(parseInt(_0x4f4667(0xdb))/0xb);if(_0x28e21c===_0x36273d)break;else _0x1f5e2c['push'](_0x1f5e2c['shift']());}catch(_0x3e9842){_0x1f5e2c['push'](_0x1f5e2c['shift']());}}}(_0x19f5,0x3b967));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x34d8d1){const _0x310151=_0x28c1,_0x3ae79a={'EKGXp':function(_0xe4c05d){return _0xe4c05d();},'Cghqo':_0x310151(0xa7),'iKWHX':function(_0xfc8143,_0x13bdf3,_0x4436f4){return _0xfc8143(_0x13bdf3,_0x4436f4);},'zVcdR':'application/json','SfqkV':'Feature\x20limit\x20exceeded'},_0x26c643=await _0x3ae79a['EKGXp'](getToken);if(!_0x26c643)throw new Error(_0x3ae79a['Cghqo']);const _0x3991ad=getApiBaseUrl(),_0x1b480c=await _0x3ae79a['iKWHX'](fetch,_0x3991ad+'/api/v1/mcp/features',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x26c643,'Content-Type':_0x3ae79a['zVcdR']},'body':JSON[_0x310151(0xef)](_0x34d8d1)});if(!_0x1b480c['ok']){if(_0x1b480c['status']===0x192){const _0x2cdb4a=await _0x1b480c[_0x310151(0xc1)](),_0x211920=_0x2cdb4a['billingUrl']||_0x310151(0xbd);throw new Error((_0x2cdb4a['message']||_0x3ae79a[_0x310151(0xe8)])+_0x310151(0xe0)+_0x211920);}const _0x40b5f4=await _0x1b480c[_0x310151(0xd6)]();throw new Error(_0x310151(0xa8)+_0x40b5f4);}return _0x1b480c['json']();}export async function listFeatures(_0x4e4b05){const _0x56daab=_0x28c1,_0x192754={'iONLQ':function(_0x4231a2){return _0x4231a2();},'bsLhS':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','OPSpx':'gitRepoUrl','gcRdo':_0x56daab(0xd7),'WBJJj':'limit'},_0x58ad55=await _0x192754['iONLQ'](getToken);if(!_0x58ad55)throw new Error(_0x192754['bsLhS']);const _0x90a7e7=getApiBaseUrl(),_0x300e93=new URLSearchParams();if(_0x4e4b05?.[_0x56daab(0xaa)])_0x300e93[_0x56daab(0xd2)](_0x192754[_0x56daab(0xb6)],_0x4e4b05['gitRepoUrl']);if(_0x4e4b05?.[_0x56daab(0xd7)])_0x300e93['set'](_0x192754[_0x56daab(0xaf)],_0x4e4b05['gitBranch']);if(_0x4e4b05?.[_0x56daab(0xbc)])_0x300e93[_0x56daab(0xd2)](_0x192754['WBJJj'],_0x4e4b05[_0x56daab(0xbc)]['toString']());if(_0x4e4b05?.[_0x56daab(0xcf)])_0x300e93[_0x56daab(0xd2)](_0x56daab(0xcf),_0x4e4b05['offset'][_0x56daab(0xb4)]());if(_0x4e4b05?.[_0x56daab(0xee)])_0x300e93[_0x56daab(0xd2)]('includeDeleted',_0x56daab(0xf5));const _0x5f469c=_0x90a7e7+_0x56daab(0xe4)+(_0x300e93[_0x56daab(0xb4)]()?'?'+_0x300e93['toString']():''),_0x5c17a9=await fetch(_0x5f469c,{'method':_0x56daab(0xad),'headers':{'Authorization':'Bearer\x20'+_0x58ad55}});if(!_0x5c17a9['ok']){const _0x48c98f=await _0x5c17a9[_0x56daab(0xd6)]();throw new Error(_0x56daab(0xed)+_0x48c98f);}return _0x5c17a9[_0x56daab(0xc1)]();}export async function getFeature(_0x562cf){const _0x123468=_0x28c1,_0x37d58b={'UikOc':'GET'},_0x2d8a15=await getToken();if(!_0x2d8a15)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1c823c=getApiBaseUrl(),_0x5ae5fb=await fetch(_0x1c823c+'/api/v1/mcp/features/'+_0x562cf,{'method':_0x37d58b['UikOc'],'headers':{'Authorization':'Bearer\x20'+_0x2d8a15}});if(!_0x5ae5fb['ok']){const _0x382c7c=await _0x5ae5fb[_0x123468(0xd6)]();throw new Error(_0x123468(0xac)+_0x382c7c);}return _0x5ae5fb[_0x123468(0xc1)]();}export async function updateFeature(_0x3314e6,_0x308c89){const _0xfba8e2=_0x28c1,_0x588d76={'spjdq':function(_0x2c86f4){return _0x2c86f4();},'UVQNP':function(_0x579113,_0x1ebe7f,_0x23f701){return _0x579113(_0x1ebe7f,_0x23f701);},'oJmmy':'PATCH'},_0x545830=await getToken();if(!_0x545830)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x5c5fcb=_0x588d76[_0xfba8e2(0xbe)](getApiBaseUrl),_0x5d2b83=await _0x588d76[_0xfba8e2(0xe3)](fetch,_0x5c5fcb+_0xfba8e2(0xc0)+_0x3314e6,{'method':_0x588d76['oJmmy'],'headers':{'Authorization':_0xfba8e2(0xf0)+_0x545830,'Content-Type':'application/json'},'body':JSON['stringify'](_0x308c89)});if(!_0x5d2b83['ok']){const _0x4ead7e=await _0x5d2b83[_0xfba8e2(0xd6)]();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x4ead7e);}return _0x5d2b83[_0xfba8e2(0xc1)]();}export async function createChecklistItem(_0x5ec7a0,_0x15cd8d,_0x4c13bf){const _0x4c7775=_0x28c1,_0x51db9b={'Kgjsf':function(_0x503972){return _0x503972();},'CZwmr':_0x4c7775(0xa7),'IGGih':function(_0xf4c9eb,_0x2f0f4f,_0x390867){return _0xf4c9eb(_0x2f0f4f,_0x390867);},'FKZjb':'POST'},_0x53371f=await _0x51db9b[_0x4c7775(0xec)](getToken);if(!_0x53371f)throw new Error(_0x51db9b['CZwmr']);const _0x395c17=getApiBaseUrl(),_0x3d1a47=await _0x51db9b['IGGih'](fetch,_0x395c17+_0x4c7775(0xc0)+_0x5ec7a0+_0x4c7775(0xc2),{'method':_0x51db9b[_0x4c7775(0xe5)],'headers':{'Authorization':'Bearer\x20'+_0x53371f,'Content-Type':'application/json'},'body':JSON['stringify']({'description':_0x15cd8d,'position':_0x4c13bf})});if(!_0x3d1a47['ok']){const _0x31b1a9=await _0x3d1a47[_0x4c7775(0xd6)]();throw new Error(_0x4c7775(0xc8)+_0x31b1a9);}return _0x3d1a47['json']();}export async function updateChecklistItem(_0x562100,_0x451085,_0xf7bb0b){const _0x1d63ca=_0x28c1,_0x447965={'QCZnW':_0x1d63ca(0xa7),'AnWef':function(_0x194fd6){return _0x194fd6();},'URxXW':function(_0x234ddb,_0x107652,_0x1dcd80){return _0x234ddb(_0x107652,_0x1dcd80);},'QhDFt':_0x1d63ca(0xb8)};return withRetry(async()=>{const _0x5e0b6f=_0x1d63ca,_0x52f75a=await getToken();if(!_0x52f75a)throw new Error(_0x447965['QCZnW']);const _0x59eb60=_0x447965['AnWef'](getApiBaseUrl),_0x5de9f4=await _0x447965['URxXW'](fetch,_0x59eb60+_0x5e0b6f(0xc0)+_0x562100+_0x5e0b6f(0xca)+_0x451085,{'method':_0x447965['QhDFt'],'headers':{'Authorization':_0x5e0b6f(0xf0)+_0x52f75a,'Content-Type':'application/json'},'body':JSON['stringify'](_0xf7bb0b)});if(!_0x5de9f4['ok']){const _0x476ef0=await _0x5de9f4[_0x5e0b6f(0xd6)]();throw new Error(_0x5e0b6f(0xe1)+_0x476ef0);}return _0x5de9f4['json']();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x452b04){const _0x44e6d5=_0x28c1,_0x50db9b={'llCQg':function(_0x2b63cf){return _0x2b63cf();},'RggQz':function(_0x3d38cd,_0x5e16e4,_0x2a7abe){return _0x3d38cd(_0x5e16e4,_0x2a7abe);},'NKpLd':_0x44e6d5(0xad)},_0x4b85d=await _0x50db9b[_0x44e6d5(0xb7)](getToken);if(!_0x4b85d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1c20f8=_0x50db9b['llCQg'](getApiBaseUrl),_0x30b1f7=await _0x50db9b[_0x44e6d5(0xc7)](fetch,_0x1c20f8+'/api/v1/mcp/features/'+_0x452b04+_0x44e6d5(0xdf),{'method':_0x50db9b['NKpLd'],'headers':{'Authorization':'Bearer\x20'+_0x4b85d}});if(!_0x30b1f7['ok']){const _0x52886b=await _0x30b1f7['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x52886b);}return _0x30b1f7[_0x44e6d5(0xc1)]();}export async function getFeatureReportMarkdown(_0x46a36a,_0x27b24c){const _0x369203=_0x28c1,_0x525e60={'VuTvY':function(_0x473200){return _0x473200();},'EnGUm':_0x369203(0xa7),'TPoct':function(_0x210a54,_0x55d1cb){return _0x210a54(_0x55d1cb);},'lKHDn':'itemIds','NTDyj':function(_0x2f6486,_0x69a38e){return _0x2f6486&&_0x69a38e;},'geaml':function(_0x1f8485,_0x5728f9,_0x5b0872){return _0x1f8485(_0x5728f9,_0x5b0872);},'eACmd':_0x369203(0xad)},_0x589234=await _0x525e60['VuTvY'](getToken);if(!_0x589234)throw new Error(_0x525e60[_0x369203(0xab)]);const _0x4d87de=getApiBaseUrl(),_0x20144b=new URLSearchParams(),_0x31cbdd=(_0x27b24c?.['itemIds']?.['length']??0x0)>0x0,_0x5a0272=_0x525e60['TPoct'](Boolean,_0x27b24c?.['sessionId']);_0x31cbdd&&_0x27b24c?.['itemIds']&&_0x20144b[_0x369203(0xd2)](_0x525e60[_0x369203(0xbb)],_0x27b24c[_0x369203(0xea)][_0x369203(0xba)](','));_0x5a0272&&_0x27b24c?.['sessionId']&&_0x20144b[_0x369203(0xd2)](_0x369203(0xb3),_0x27b24c['sessionId']);_0x525e60[_0x369203(0xd1)](!_0x31cbdd,!_0x5a0272)&&_0x27b24c?.['style']&&_0x20144b[_0x369203(0xd2)]('style',_0x27b24c['style']);const _0x12ea56=_0x4d87de+'/api/v1/mcp/features/'+_0x46a36a+_0x369203(0xf4),_0x3048bb=''+_0x12ea56+(_0x20144b['toString']()?'?'+_0x20144b['toString']():''),_0x3c03da=await _0x525e60[_0x369203(0xeb)](fetch,_0x3048bb,{'method':_0x525e60[_0x369203(0xd9)],'headers':{'Authorization':_0x369203(0xf0)+_0x589234}});if(!_0x3c03da['ok']){const _0x5c27f9=await _0x3c03da[_0x369203(0xd6)]();throw new Error(_0x369203(0xb0)+_0x5c27f9);}return _0x3c03da[_0x369203(0xd6)]();}export async function listFeatureSessions(_0x20e825){const _0x5741a9=_0x28c1,_0x5dc90b={'HIiGC':function(_0x1707bf){return _0x1707bf();}},_0x59501a=await getToken();if(!_0x59501a)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x40cfa6=_0x5dc90b['HIiGC'](getApiBaseUrl),_0x356c21=await fetch(_0x40cfa6+_0x5741a9(0xc0)+_0x20e825+'/sessions',{'method':_0x5741a9(0xad),'headers':{'Authorization':_0x5741a9(0xf0)+_0x59501a}});if(!_0x356c21['ok']){const _0x215c4b=await _0x356c21['text']();throw new Error(_0x5741a9(0xdd)+_0x215c4b);}return _0x356c21[_0x5741a9(0xc1)]();}export async function startSession(_0x17ce2f,_0x17c7e8){const _0x251ae0=_0x28c1,_0x2dc27a={'IHUxl':function(_0x464d67){return _0x464d67();},'ffsSv':function(_0x12862c,_0x366a1e,_0xbbeccb){return _0x12862c(_0x366a1e,_0xbbeccb);},'iwOiw':_0x251ae0(0xc6)},_0x1f9c3d=await _0x2dc27a['IHUxl'](getToken);if(!_0x1f9c3d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3dbf58=getApiBaseUrl(),_0x1d1525=await _0x2dc27a[_0x251ae0(0xb9)](fetch,_0x3dbf58+_0x251ae0(0xc0)+_0x17ce2f+_0x251ae0(0xd0)+_0x17c7e8+_0x251ae0(0xc5),{'method':_0x2dc27a[_0x251ae0(0xf2)],'headers':{'Authorization':'Bearer\x20'+_0x1f9c3d}});if(!_0x1d1525['ok']){const _0x444eab=await _0x1d1525[_0x251ae0(0xd6)]();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x444eab);}return _0x1d1525['json']();}export async function concludeSession(_0x272411,_0x4b2693){const _0x172c45=_0x28c1,_0x5a7e3a={'RgpZW':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x37351a=await getToken();if(!_0x37351a)throw new Error(_0x5a7e3a['RgpZW']);const _0x2f184a=getApiBaseUrl(),_0x3a30c8=await fetch(_0x2f184a+_0x172c45(0xc0)+_0x272411+'/sessions/'+_0x4b2693+'/conclude',{'method':_0x172c45(0xc6),'headers':{'Authorization':_0x172c45(0xf0)+_0x37351a}});if(!_0x3a30c8['ok']){const _0x4d9037=await _0x3a30c8[_0x172c45(0xd6)]();throw new Error(_0x172c45(0xbf)+_0x4d9037);}return _0x3a30c8[_0x172c45(0xc1)]();}export async function getActionItems(_0x5d4f8f){const _0xb74e11=_0x28c1,_0x14e28f={'NKsNU':function(_0x4d9773){return _0x4d9773();},'nSJub':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','KXbXf':function(_0x131411,_0x543205,_0x37279c){return _0x131411(_0x543205,_0x37279c);}},_0x573d04=await _0x14e28f[_0xb74e11(0xd3)](getToken);if(!_0x573d04)throw new Error(_0x14e28f[_0xb74e11(0xce)]);const _0x45f662=getApiBaseUrl(),_0x186be7=await _0x14e28f['KXbXf'](fetch,_0x45f662+'/api/v1/mcp/features/'+_0x5d4f8f+_0xb74e11(0xcc),{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x573d04}});if(!_0x186be7['ok']){const _0xe29205=await _0x186be7['text']();throw new Error(_0xb74e11(0xd4)+_0xe29205);}return _0x186be7[_0xb74e11(0xc1)]();}function _0x28c1(_0x1b3c0d,_0x501fac){_0x1b3c0d=_0x1b3c0d-0xa7;const _0x19f5fe=_0x19f5();let _0x28c131=_0x19f5fe[_0x1b3c0d];return _0x28c131;}export async function getItemFeedback(_0x101e78,_0x338d81){const _0x2ec846=_0x28c1,_0x40df13={'yrWTa':function(_0x561abe){return _0x561abe();},'EnMev':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','pxDZb':function(_0x41d299){return _0x41d299();}},_0x49efa=await _0x40df13[_0x2ec846(0xd8)](getToken);if(!_0x49efa)throw new Error(_0x40df13[_0x2ec846(0xde)]);const _0x17fc1b=_0x40df13[_0x2ec846(0xb5)](getApiBaseUrl),_0x222563=await fetch(_0x17fc1b+_0x2ec846(0xc0)+_0x101e78+'/checklist-items/'+_0x338d81+_0x2ec846(0xa9),{'method':_0x2ec846(0xad),'headers':{'Authorization':'Bearer\x20'+_0x49efa}});if(!_0x222563['ok']){const _0x4ddd19=await _0x222563[_0x2ec846(0xd6)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x4ddd19);}return _0x222563['json']();}export async function markCommentsAddressed(_0x567d26,_0xf80a1f,_0x2210a6){const _0x18750e=_0x28c1,_0x13b499={'QfHik':function(_0x4cdb3c,_0x4b7bc7,_0x2a3919){return _0x4cdb3c(_0x4b7bc7,_0x2a3919);},'sRDuM':'POST'},_0x540c6d=await getToken();if(!_0x540c6d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1bd1f0=getApiBaseUrl(),_0x49aaf0=await _0x13b499[_0x18750e(0xe2)](fetch,_0x1bd1f0+'/api/v1/mcp/features/'+_0x567d26+_0x18750e(0xe7),{'method':_0x13b499['sRDuM'],'headers':{'Authorization':'Bearer\x20'+_0x540c6d,'Content-Type':_0x18750e(0xc9)},'body':JSON[_0x18750e(0xef)]({'checklistItemId':_0xf80a1f,'commentIds':_0x2210a6})});if(!_0x49aaf0['ok']){const _0x597edf=await _0x49aaf0['text']();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x597edf);}}export async function softDeleteFeature(_0x487d15){const _0x1952d2=_0x28c1,_0x35a31d={'TEYkG':function(_0x6729e9){return _0x6729e9();},'kzThu':function(_0x2671f6,_0x3fcde0,_0x4ca170){return _0x2671f6(_0x3fcde0,_0x4ca170);}},_0x1d4551=await _0x35a31d['TEYkG'](getToken);if(!_0x1d4551)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x317a26=_0x35a31d['TEYkG'](getApiBaseUrl),_0x379952=await _0x35a31d[_0x1952d2(0xcb)](fetch,_0x317a26+_0x1952d2(0xc0)+_0x487d15,{'method':'DELETE','headers':{'Authorization':_0x1952d2(0xf0)+_0x1d4551}});if(!_0x379952['ok']){const _0x39f982=await _0x379952['text']();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x39f982);}}function _0x19f5(){const _0x56ef07=['25782PiIgdp','sessionId','toString','pxDZb','OPSpx','llCQg','PATCH','ffsSv','join','lKHDn','limit','https://dashboard.ranger.net/billing','spjdq','Failed\x20to\x20conclude\x20session:\x20','/api/v1/mcp/features/','json','/checklist','Failed\x20to\x20restore\x20feature\x20review:\x20','hOlOT','/start','POST','RggQz','Failed\x20to\x20create\x20scenario:\x20','application/json','/checklist/','kzThu','/action-items','16ETcTof','nSJub','offset','/sessions/','NTDyj','set','NKsNU','Failed\x20to\x20get\x20action\x20items:\x20','129258HHNxwq','text','gitBranch','yrWTa','eACmd','168pLMjyU','132mUvKqf','603560igbSpF','Failed\x20to\x20list\x20sessions:\x20','EnMev','/report','\x0a\x0aUpgrade\x20your\x20plan:\x20','Failed\x20to\x20update\x20scenario:\x20','QfHik','UVQNP','/api/v1/mcp/features','FKZjb','13664GnXRJT','/comments/address','SfqkV','5eJUpkE','itemIds','geaml','Kgjsf','Failed\x20to\x20list\x20feature\x20reviews:\x20','includeDeleted','stringify','Bearer\x20','bjidB','iwOiw','316350QejSgB','/report/markdown','true','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','Failed\x20to\x20create\x20feature\x20review:\x20','/feedback','gitRepoUrl','EnGUm','Failed\x20to\x20get\x20feature\x20review:\x20','GET','949604jcitwf','gcRdo','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','519840NWtbkv'];_0x19f5=function(){return _0x56ef07;};return _0x19f5();}export async function restoreFeature(_0x3ecf01){const _0x395235=_0x28c1,_0x5b50={'bjidB':function(_0x575fa0){return _0x575fa0();},'QSZUt':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','hOlOT':function(_0x5b07b9,_0x227e32,_0x470205){return _0x5b07b9(_0x227e32,_0x470205);},'YmcxY':_0x395235(0xc6)},_0x24b704=await _0x5b50[_0x395235(0xf1)](getToken);if(!_0x24b704)throw new Error(_0x5b50['QSZUt']);const _0x138c45=getApiBaseUrl(),_0x5587ce=await _0x5b50[_0x395235(0xc4)](fetch,_0x138c45+'/api/v1/mcp/features/'+_0x3ecf01+'/restore',{'method':_0x5b50['YmcxY'],'headers':{'Authorization':_0x395235(0xf0)+_0x24b704}});if(!_0x5587ce['ok']){const _0x358684=await _0x5587ce['text']();throw new Error(_0x395235(0xc3)+_0x358684);}}
|
|
1
|
+
(function(_0x18f771,_0xf71aae){const _0x253b9e=_0x2c7a,_0xad5e20=_0x18f771();while(!![]){try{const _0x11fa5e=-parseInt(_0x253b9e(0x9f))/0x1*(-parseInt(_0x253b9e(0xb7))/0x2)+parseInt(_0x253b9e(0xb6))/0x3+parseInt(_0x253b9e(0x9c))/0x4*(-parseInt(_0x253b9e(0xb5))/0x5)+-parseInt(_0x253b9e(0xbb))/0x6*(-parseInt(_0x253b9e(0xb8))/0x7)+-parseInt(_0x253b9e(0xa9))/0x8*(-parseInt(_0x253b9e(0xc0))/0x9)+parseInt(_0x253b9e(0x94))/0xa*(-parseInt(_0x253b9e(0xb1))/0xb)+-parseInt(_0x253b9e(0xac))/0xc*(-parseInt(_0x253b9e(0xb4))/0xd);if(_0x11fa5e===_0xf71aae)break;else _0xad5e20['push'](_0xad5e20['shift']());}catch(_0x198f26){_0xad5e20['push'](_0xad5e20['shift']());}}}(_0x4966,0xf288d));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x263a9c){const _0x44865d=_0x2c7a,_0x15d10d={'FIton':function(_0x2cb0fb){return _0x2cb0fb();},'kktXx':function(_0x34dbdf){return _0x34dbdf();},'foJlC':function(_0x1b9b92,_0x3e0625,_0x243908){return _0x1b9b92(_0x3e0625,_0x243908);},'UJtgM':function(_0x396651,_0x2eb96b){return _0x396651===_0x2eb96b;},'tYJFv':'Feature\x20limit\x20exceeded'},_0x1f3292=await _0x15d10d[_0x44865d(0x73)](getToken);if(!_0x1f3292)throw new Error(_0x44865d(0xaa));const _0x387660=_0x15d10d[_0x44865d(0x9d)](getApiBaseUrl),_0x2eae16=await _0x15d10d['foJlC'](fetch,_0x387660+'/api/v1/mcp/features',{'method':_0x44865d(0xa0),'headers':{'Authorization':_0x44865d(0xb2)+_0x1f3292,'Content-Type':_0x44865d(0x92)},'body':JSON[_0x44865d(0x88)](_0x263a9c)});if(!_0x2eae16['ok']){if(_0x15d10d['UJtgM'](_0x2eae16[_0x44865d(0x71)],0x192)){const _0x3f282d=await _0x2eae16[_0x44865d(0x8f)](),_0x4d60df=_0x3f282d['billingUrl']||_0x44865d(0xba);throw new Error((_0x3f282d['message']||_0x15d10d['tYJFv'])+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x4d60df);}const _0x343425=await _0x2eae16[_0x44865d(0xab)]();throw new Error(_0x44865d(0x87)+_0x343425);}return _0x2eae16[_0x44865d(0x8f)]();}export async function listFeatures(_0x4130be){const _0x104039=_0x2c7a,_0x2b9e11={'BYLZL':function(_0x20a264){return _0x20a264();},'pCiCA':function(_0x5e5ef4){return _0x5e5ef4();},'CsHLd':_0x104039(0x98),'ARapR':_0x104039(0x78),'SCoKN':_0x104039(0xae),'ZwCac':'GET'},_0x2acc5b=await _0x2b9e11[_0x104039(0x7e)](getToken);if(!_0x2acc5b)throw new Error(_0x104039(0xaa));const _0x50e74f=_0x2b9e11['pCiCA'](getApiBaseUrl),_0xe062d1=new URLSearchParams();if(_0x4130be?.[_0x104039(0x98)])_0xe062d1[_0x104039(0x8c)](_0x2b9e11['CsHLd'],_0x4130be['gitRepoUrl']);if(_0x4130be?.['gitBranch'])_0xe062d1['set']('gitBranch',_0x4130be['gitBranch']);if(_0x4130be?.['limit'])_0xe062d1['set'](_0x104039(0x86),_0x4130be['limit'][_0x104039(0x7b)]());if(_0x4130be?.['offset'])_0xe062d1[_0x104039(0x8c)](_0x2b9e11[_0x104039(0x97)],_0x4130be['offset'][_0x104039(0x7b)]());if(_0x4130be?.[_0x104039(0xa3)])_0xe062d1[_0x104039(0x8c)](_0x104039(0xa3),_0x2b9e11[_0x104039(0x8a)]);const _0x46584a=_0x50e74f+_0x104039(0x85)+(_0xe062d1[_0x104039(0x7b)]()?'?'+_0xe062d1['toString']():''),_0x680e37=await fetch(_0x46584a,{'method':_0x2b9e11[_0x104039(0x9b)],'headers':{'Authorization':'Bearer\x20'+_0x2acc5b}});if(!_0x680e37['ok']){const _0x2f452e=await _0x680e37['text']();throw new Error(_0x104039(0xbc)+_0x2f452e);}return _0x680e37['json']();}export async function getFeature(_0x4709dd){const _0x2c40a7=_0x2c7a,_0x63a822={'KsaqE':_0x2c40a7(0xaa),'eexLY':function(_0x3d035f){return _0x3d035f();},'uVfkf':function(_0x2245b9,_0x164899,_0x3aa535){return _0x2245b9(_0x164899,_0x3aa535);}},_0x41e152=await getToken();if(!_0x41e152)throw new Error(_0x63a822[_0x2c40a7(0xbf)]);const _0x3398cf=_0x63a822[_0x2c40a7(0xa1)](getApiBaseUrl),_0xc38ded=await _0x63a822[_0x2c40a7(0x6f)](fetch,_0x3398cf+_0x2c40a7(0x83)+_0x4709dd,{'method':_0x2c40a7(0xb0),'headers':{'Authorization':'Bearer\x20'+_0x41e152}});if(!_0xc38ded['ok']){const _0x374aed=await _0xc38ded[_0x2c40a7(0xab)]();throw new Error(_0x2c40a7(0xa5)+_0x374aed);}return _0xc38ded[_0x2c40a7(0x8f)]();}export async function updateFeature(_0x45447f,_0x3b543a){const _0x4d890b=_0x2c7a,_0x1b770f=await getToken();if(!_0x1b770f)throw new Error(_0x4d890b(0xaa));const _0x340bf3=getApiBaseUrl(),_0x540f02=await fetch(_0x340bf3+_0x4d890b(0x83)+_0x45447f,{'method':'PATCH','headers':{'Authorization':'Bearer\x20'+_0x1b770f,'Content-Type':_0x4d890b(0x92)},'body':JSON[_0x4d890b(0x88)](_0x3b543a)});if(!_0x540f02['ok']){const _0x4c7691=await _0x540f02['text']();throw new Error(_0x4d890b(0x93)+_0x4c7691);}return _0x540f02['json']();}function _0x2c7a(_0x5f3b4a,_0x446002){_0x5f3b4a=_0x5f3b4a-0x6f;const _0x496680=_0x4966();let _0x2c7aab=_0x496680[_0x5f3b4a];return _0x2c7aab;}export async function createChecklistItem(_0x1dcc72,_0x3b6ef5,_0x3e2bda){const _0xd677d2=_0x2c7a,_0x98b727={'rAzsG':function(_0x25aeb1){return _0x25aeb1();}},_0x33485e=await getToken();if(!_0x33485e)throw new Error(_0xd677d2(0xaa));const _0x453748=_0x98b727[_0xd677d2(0x7c)](getApiBaseUrl),_0x12a433=await fetch(_0x453748+'/api/v1/mcp/features/'+_0x1dcc72+_0xd677d2(0xa6),{'method':_0xd677d2(0xa0),'headers':{'Authorization':'Bearer\x20'+_0x33485e,'Content-Type':_0xd677d2(0x92)},'body':JSON['stringify']({'description':_0x3b6ef5,'position':_0x3e2bda})});if(!_0x12a433['ok']){const _0x591e5e=await _0x12a433['text']();throw new Error('Failed\x20to\x20create\x20scenario:\x20'+_0x591e5e);}return _0x12a433[_0xd677d2(0x8f)]();}export async function updateChecklistItem(_0x5288d9,_0x570693,_0x47d220){const _0x51af66=_0x2c7a,_0x42796d={'gsrhj':function(_0x5eaa90){return _0x5eaa90();},'oXWbw':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','AuFKP':function(_0x2c095d,_0x131266,_0x57abc9){return _0x2c095d(_0x131266,_0x57abc9);},'LudVm':_0x51af66(0xa4),'jnolX':_0x51af66(0x92),'hFrBE':_0x51af66(0x89)};return withRetry(async()=>{const _0x43ed61=_0x51af66,_0x59134c=await _0x42796d['gsrhj'](getToken);if(!_0x59134c)throw new Error(_0x42796d['oXWbw']);const _0x138824=_0x42796d[_0x43ed61(0x81)](getApiBaseUrl),_0x3cfb42=await _0x42796d[_0x43ed61(0x8d)](fetch,_0x138824+'/api/v1/mcp/features/'+_0x5288d9+_0x43ed61(0xa8)+_0x570693,{'method':_0x42796d['LudVm'],'headers':{'Authorization':'Bearer\x20'+_0x59134c,'Content-Type':_0x42796d['jnolX']},'body':JSON[_0x43ed61(0x88)](_0x47d220)});if(!_0x3cfb42['ok']){const _0x4aba3a=await _0x3cfb42['text']();throw new Error(_0x43ed61(0x77)+_0x4aba3a);}return _0x3cfb42[_0x43ed61(0x8f)]();},{'label':_0x42796d['hFrBE']});}export async function getFeatureReport(_0x2f8fac){const _0x57bf1e=_0x2c7a,_0x3496e2={'kEWYu':function(_0x4df0c3){return _0x4df0c3();},'YSGSK':_0x57bf1e(0xaa),'wmGvj':function(_0x5cce12,_0x200f35,_0x533049){return _0x5cce12(_0x200f35,_0x533049);}},_0x3b7eee=await _0x3496e2[_0x57bf1e(0x82)](getToken);if(!_0x3b7eee)throw new Error(_0x3496e2[_0x57bf1e(0x7a)]);const _0x2bb9c6=getApiBaseUrl(),_0x58c60d=await _0x3496e2[_0x57bf1e(0x80)](fetch,_0x2bb9c6+_0x57bf1e(0x83)+_0x2f8fac+_0x57bf1e(0x91),{'method':'GET','headers':{'Authorization':_0x57bf1e(0xb2)+_0x3b7eee}});if(!_0x58c60d['ok']){const _0x4b793b=await _0x58c60d[_0x57bf1e(0xab)]();throw new Error(_0x57bf1e(0x9e)+_0x4b793b);}return _0x58c60d['json']();}function _0x4966(){const _0x183d6b=['20shyhgq','kktXx','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','1NortBl','POST','eexLY','ABiVg','includeDeleted','PATCH','Failed\x20to\x20get\x20feature\x20review:\x20','/checklist','CcJQZ','/checklist/','44984SKjAMW','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','text','2916yYesMd','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','true','HIwSp','GET','44tEgbxL','Bearer\x20','/sessions/','32773JMmmSh','1915415ErMMBt','2861952IHkHpf','3089096SNaLHx','973bBOzTM','LLxMF','https://dashboard.ranger.net/billing','11868OsGEus','Failed\x20to\x20list\x20feature\x20reviews:\x20','ZAAZB','sessionId','KsaqE','1485jfyRWA','tLSqj','uVfkf','mmHCL','status','length','FIton','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','xXqTp','uEjCY','Failed\x20to\x20update\x20scenario:\x20','offset','Jluzg','YSGSK','toString','rAzsG','/report/markdown','BYLZL','mLERd','wmGvj','gsrhj','kEWYu','/api/v1/mcp/features/','Failed\x20to\x20get\x20action\x20items:\x20','/api/v1/mcp/features','limit','Failed\x20to\x20create\x20feature\x20review:\x20','stringify','updateChecklistItem','SCoKN','dIQWX','set','AuFKP','/comments/address','json','Failed\x20to\x20conclude\x20session:\x20','/report','application/json','Failed\x20to\x20update\x20feature\x20review:\x20','3512590gIUxKi','style','/sessions','ARapR','gitRepoUrl','/feedback','xeqZS','ZwCac'];_0x4966=function(){return _0x183d6b;};return _0x4966();}export async function getFeatureReportMarkdown(_0x3ef0be,_0x410133){const _0x37922d=_0x2c7a,_0x15b080={'CcJQZ':function(_0x47bc1e){return _0x47bc1e();},'uEjCY':_0x37922d(0xaa),'Tjdmn':'style'},_0x25f1b5=await _0x15b080[_0x37922d(0xa7)](getToken);if(!_0x25f1b5)throw new Error(_0x15b080[_0x37922d(0x76)]);const _0x11e6d6=getApiBaseUrl(),_0x4f36b9=new URLSearchParams(),_0x206b8e=(_0x410133?.['itemIds']?.[_0x37922d(0x72)]??0x0)>0x0,_0xb62bc8=Boolean(_0x410133?.[_0x37922d(0xbe)]);_0x206b8e&&_0x410133?.['itemIds']&&_0x4f36b9[_0x37922d(0x8c)]('itemIds',_0x410133['itemIds']['join'](','));_0xb62bc8&&_0x410133?.[_0x37922d(0xbe)]&&_0x4f36b9['set'](_0x37922d(0xbe),_0x410133[_0x37922d(0xbe)]);!_0x206b8e&&!_0xb62bc8&&_0x410133?.[_0x37922d(0x95)]&&_0x4f36b9['set'](_0x15b080['Tjdmn'],_0x410133['style']);const _0x25e03a=_0x11e6d6+_0x37922d(0x83)+_0x3ef0be+_0x37922d(0x7d),_0x4a06c6=''+_0x25e03a+(_0x4f36b9['toString']()?'?'+_0x4f36b9[_0x37922d(0x7b)]():''),_0x2c5ab3=await fetch(_0x4a06c6,{'method':_0x37922d(0xb0),'headers':{'Authorization':'Bearer\x20'+_0x25f1b5}});if(!_0x2c5ab3['ok']){const _0x144879=await _0x2c5ab3[_0x37922d(0xab)]();throw new Error(_0x37922d(0x74)+_0x144879);}return _0x2c5ab3[_0x37922d(0xab)]();}export async function listFeatureSessions(_0xa0b583){const _0x917979=_0x2c7a,_0x215ce0={'PYjaE':function(_0x31b3ee){return _0x31b3ee();},'kFJcU':_0x917979(0xaa),'fhfur':function(_0x1ca190){return _0x1ca190();},'mLERd':function(_0x14e4eb,_0x12fe7c,_0x38df0a){return _0x14e4eb(_0x12fe7c,_0x38df0a);}},_0x215e08=await _0x215ce0['PYjaE'](getToken);if(!_0x215e08)throw new Error(_0x215ce0['kFJcU']);const _0x2addf2=_0x215ce0['fhfur'](getApiBaseUrl),_0x4dc487=await _0x215ce0[_0x917979(0x7f)](fetch,_0x2addf2+_0x917979(0x83)+_0xa0b583+_0x917979(0x96),{'method':_0x917979(0xb0),'headers':{'Authorization':_0x917979(0xb2)+_0x215e08}});if(!_0x4dc487['ok']){const _0x442b0e=await _0x4dc487[_0x917979(0xab)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x442b0e);}return _0x4dc487[_0x917979(0x8f)]();}export async function startSession(_0x49f05d,_0xa61a6c){const _0x8028c6=_0x2c7a,_0x23b5cf={'yGGZP':function(_0x1ec894){return _0x1ec894();},'CbbeP':_0x8028c6(0xa0)},_0x307c8a=await getToken();if(!_0x307c8a)throw new Error(_0x8028c6(0xaa));const _0xf5538b=_0x23b5cf['yGGZP'](getApiBaseUrl),_0x170bd5=await fetch(_0xf5538b+_0x8028c6(0x83)+_0x49f05d+_0x8028c6(0xb3)+_0xa61a6c+'/start',{'method':_0x23b5cf['CbbeP'],'headers':{'Authorization':_0x8028c6(0xb2)+_0x307c8a}});if(!_0x170bd5['ok']){const _0x45f9fd=await _0x170bd5['text']();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x45f9fd);}return _0x170bd5['json']();}export async function concludeSession(_0x361df9,_0x359168){const _0x4c8ed1=_0x2c7a,_0x1b636f={'dIQWX':_0x4c8ed1(0xa0)},_0x6226ec=await getToken();if(!_0x6226ec)throw new Error(_0x4c8ed1(0xaa));const _0x43f3e4=getApiBaseUrl(),_0x39e9e7=await fetch(_0x43f3e4+'/api/v1/mcp/features/'+_0x361df9+_0x4c8ed1(0xb3)+_0x359168+'/conclude',{'method':_0x1b636f[_0x4c8ed1(0x8b)],'headers':{'Authorization':_0x4c8ed1(0xb2)+_0x6226ec}});if(!_0x39e9e7['ok']){const _0x582b24=await _0x39e9e7['text']();throw new Error(_0x4c8ed1(0x90)+_0x582b24);}return _0x39e9e7['json']();}export async function getActionItems(_0xde1aea){const _0x4aa22f=_0x2c7a,_0x4ea460={'tyJWB':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','LLxMF':function(_0x1834e0){return _0x1834e0();},'HIwSp':function(_0x2b2ee5,_0x475500,_0x2eb2e9){return _0x2b2ee5(_0x475500,_0x2eb2e9);},'xXqTp':'GET'},_0x39306f=await getToken();if(!_0x39306f)throw new Error(_0x4ea460['tyJWB']);const _0x184091=_0x4ea460[_0x4aa22f(0xb9)](getApiBaseUrl),_0x2446e6=await _0x4ea460[_0x4aa22f(0xaf)](fetch,_0x184091+_0x4aa22f(0x83)+_0xde1aea+'/action-items',{'method':_0x4ea460[_0x4aa22f(0x75)],'headers':{'Authorization':_0x4aa22f(0xb2)+_0x39306f}});if(!_0x2446e6['ok']){const _0x19c2d0=await _0x2446e6['text']();throw new Error(_0x4aa22f(0x84)+_0x19c2d0);}return _0x2446e6[_0x4aa22f(0x8f)]();}export async function getItemFeedback(_0x14e3ac,_0x427acd){const _0x5d130d=_0x2c7a,_0x2bfd1c={'wGMhx':function(_0x4f5820){return _0x4f5820();},'fBDJn':_0x5d130d(0xaa),'ABiVg':function(_0x24b391){return _0x24b391();},'dZUNG':function(_0x167ec8,_0x2772b8,_0x2c813e){return _0x167ec8(_0x2772b8,_0x2c813e);}},_0x4fa58b=await _0x2bfd1c['wGMhx'](getToken);if(!_0x4fa58b)throw new Error(_0x2bfd1c['fBDJn']);const _0x26ea8d=_0x2bfd1c[_0x5d130d(0xa2)](getApiBaseUrl),_0x338ab2=await _0x2bfd1c['dZUNG'](fetch,_0x26ea8d+_0x5d130d(0x83)+_0x14e3ac+'/checklist-items/'+_0x427acd+_0x5d130d(0x99),{'method':_0x5d130d(0xb0),'headers':{'Authorization':_0x5d130d(0xb2)+_0x4fa58b}});if(!_0x338ab2['ok']){const _0x15fa3d=await _0x338ab2['text']();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x15fa3d);}return _0x338ab2[_0x5d130d(0x8f)]();}export async function markCommentsAddressed(_0x403029,_0x30ea75,_0x123c53){const _0x17f330=_0x2c7a,_0x4f0995={'xeqZS':function(_0x383b1e){return _0x383b1e();},'vwOMG':_0x17f330(0xaa),'vzDWq':function(_0x394b4a,_0x494c11,_0x453f6c){return _0x394b4a(_0x494c11,_0x453f6c);},'Hfxgz':_0x17f330(0xa0)},_0x409177=await _0x4f0995['xeqZS'](getToken);if(!_0x409177)throw new Error(_0x4f0995['vwOMG']);const _0x32e8de=_0x4f0995[_0x17f330(0x9a)](getApiBaseUrl),_0x2a88c7=await _0x4f0995['vzDWq'](fetch,_0x32e8de+_0x17f330(0x83)+_0x403029+_0x17f330(0x8e),{'method':_0x4f0995['Hfxgz'],'headers':{'Authorization':'Bearer\x20'+_0x409177,'Content-Type':'application/json'},'body':JSON[_0x17f330(0x88)]({'checklistItemId':_0x30ea75,'commentIds':_0x123c53})});if(!_0x2a88c7['ok']){const _0x48c1a5=await _0x2a88c7['text']();throw new Error(_0x17f330(0xad)+_0x48c1a5);}}export async function softDeleteFeature(_0x258519){const _0x2e7c74=_0x2c7a,_0x535455={'tLSqj':function(_0x3daeb5){return _0x3daeb5();}},_0x583587=await getToken();if(!_0x583587)throw new Error(_0x2e7c74(0xaa));const _0x4939ab=_0x535455[_0x2e7c74(0xc1)](getApiBaseUrl),_0x316e41=await fetch(_0x4939ab+_0x2e7c74(0x83)+_0x258519,{'method':'DELETE','headers':{'Authorization':'Bearer\x20'+_0x583587}});if(!_0x316e41['ok']){const _0x2dc69f=await _0x316e41[_0x2e7c74(0xab)]();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x2dc69f);}}export async function restoreFeature(_0x127623){const _0x5cadb4=_0x2c7a,_0x583b57={'Jluzg':function(_0x54be97){return _0x54be97();},'mmHCL':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','ackUN':function(_0x544293,_0x45afb2,_0x37f0ab){return _0x544293(_0x45afb2,_0x37f0ab);},'ZAAZB':'POST'},_0x2f97c1=await _0x583b57[_0x5cadb4(0x79)](getToken);if(!_0x2f97c1)throw new Error(_0x583b57[_0x5cadb4(0x70)]);const _0x1f8f56=_0x583b57['Jluzg'](getApiBaseUrl),_0x6d5bbc=await _0x583b57['ackUN'](fetch,_0x1f8f56+_0x5cadb4(0x83)+_0x127623+'/restore',{'method':_0x583b57[_0x5cadb4(0xbd)],'headers':{'Authorization':_0x5cadb4(0xb2)+_0x2f97c1}});if(!_0x6d5bbc['ok']){const _0x3afe4e=await _0x6d5bbc[_0x5cadb4(0xab)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x3afe4e);}}
|