@ranger-testing/ranger-cli 3.1.2-alpha.059c7a3-40 → 3.1.2
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
|
+
(function(_0x73f870,_0x3f4311){const _0x3c5b23=_0x359e,_0x48fa94=_0x73f870();while(!![]){try{const _0x16ee63=-parseInt(_0x3c5b23(0xb0))/0x1+parseInt(_0x3c5b23(0xd5))/0x2+-parseInt(_0x3c5b23(0xba))/0x3*(parseInt(_0x3c5b23(0xdb))/0x4)+parseInt(_0x3c5b23(0x8b))/0x5+-parseInt(_0x3c5b23(0xdd))/0x6*(-parseInt(_0x3c5b23(0xd8))/0x7)+parseInt(_0x3c5b23(0xc8))/0x8+parseInt(_0x3c5b23(0x75))/0x9*(-parseInt(_0x3c5b23(0x88))/0xa);if(_0x16ee63===_0x3f4311)break;else _0x48fa94['push'](_0x48fa94['shift']());}catch(_0x1a6d63){_0x48fa94['push'](_0x48fa94['shift']());}}}(_0x46c2,0x795bf));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x1a69e1 from'inquirer';function _0x359e(_0x29d34e,_0x3e95f3){_0x29d34e=_0x29d34e-0x6c;const _0x46c265=_0x46c2();let _0x359ee5=_0x46c265[_0x29d34e];return _0x359ee5;}import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x382862){const _0x351a09=_0x359e;try{return new URL(_0x382862)['host'];}catch{return _0x351a09(0xbf);}}function errorMessageForTelemetry(_0x23a3af){const _0x1ac2ee=_0x359e,_0x1c2f76={'cnZje':function(_0xe3f0e1,_0x4aebf1){return _0xe3f0e1 instanceof _0x4aebf1;}};return _0x1c2f76[_0x1ac2ee(0xd3)](_0x23a3af,Error)?_0x23a3af['message']:undefined;}function trackBridgeEvent(_0xbe1402,_0x374204){const _0x5dd73d=_0x359e,_0x2e91e3={'QofAa':_0x5dd73d(0xf7),'RqpFb':function(_0x10d798,_0x464eb5){return _0x10d798===_0x464eb5;},'Wsznc':_0x5dd73d(0x9d)};if(!_0xbe1402)return;const _0x446c38={'tunnelSessionId':_0x374204['sessionId'],'tunnelEventType':_0x374204[_0x5dd73d(0xa6)],'connectionId':_0x374204['connectionId'],'code':_0x374204['code'],'reason':_0x374204['reason'],'error':_0x374204['error'],'elapsedMs':_0x374204[_0x5dd73d(0xcd)],'activeLocalConnections':_0x374204['activeLocalConnections'],'pendingLocalConnections':_0x374204[_0x5dd73d(0x96)]};_0xbe1402[_0x5dd73d(0x89)]('tunnel_bridge_event',_0x446c38),(_0x374204['type']===_0x2e91e3['QofAa']||_0x2e91e3['RqpFb'](_0x374204['type'],_0x5dd73d(0x93)))&&void _0xbe1402[_0x5dd73d(0xf6)](_0x2e91e3['Wsznc'],new Error(_0x374204['error']??_0x374204['type']),_0x446c38);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0xcfbf4b=_0x359e,_0x4f48f1={'wrnul':function(_0x5dcecb){return _0x5dcecb();}},_0x55d518=await _0x4f48f1[_0xcfbf4b(0xe5)](getToken);if(!_0x55d518)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0x55d518;}async function apiRequest(_0x463313,_0x4c4d02={}){const _0x4d9e71=_0x359e,_0x1c7937={'VmGHN':function(_0x42bd55){return _0x42bd55();},'FfbLU':function(_0x5c9612,_0x17a29a){return _0x5c9612===_0x17a29a;},'oPEIy':_0x4d9e71(0xb1)},_0x524366=await _0x1c7937[_0x4d9e71(0xb7)](requireToken),_0xbf8d32=getApiBaseUrl(),_0x25d8b7=await fetch(''+_0xbf8d32+_0x463313,{..._0x4c4d02,'headers':{'Authorization':_0x4d9e71(0x8e)+_0x524366,'Content-Type':'application/json',..._0x4c4d02['headers']??{}}});if(!_0x25d8b7['ok']){let _0x39c644='',_0x40035b;try{const _0x246d48=await _0x25d8b7['json']();_0x39c644=(_0x1c7937[_0x4d9e71(0xf0)](typeof _0x246d48['error'],'string')?_0x246d48[_0x4d9e71(0xc3)]:undefined)??JSON[_0x4d9e71(0xbe)](_0x246d48);if(typeof _0x246d48['code']===_0x1c7937['oPEIy'])_0x40035b=_0x246d48[_0x4d9e71(0x70)];}catch{_0x39c644=_0x25d8b7['statusText'];}throw new ApiError('API\x20request\x20'+_0x463313+'\x20failed\x20('+_0x25d8b7['status']+_0x4d9e71(0xfc)+_0x39c644,_0x25d8b7['status'],_0x39c644,_0x40035b);}if(_0x25d8b7[_0x4d9e71(0x8a)]===0xcc)return undefined;return _0x25d8b7['json']();}export class ApiError extends Error{['status'];['detail'];['code'];constructor(_0x180ee7,_0x229556,_0x326b6f,_0x245f5c){const _0x4cc270=_0x359e,_0x1128b8='2|1|0|3|4'[_0x4cc270(0x84)]('|');let _0x33c561=0x0;while(!![]){switch(_0x1128b8[_0x33c561++]){case'0':this[_0x4cc270(0xa0)]=_0x326b6f;continue;case'1':this['status']=_0x229556;continue;case'2':super(_0x180ee7);continue;case'3':this['code']=_0x245f5c;continue;case'4':this['name']='ApiError';continue;}break;}}}export async function fetchCloudProfile(_0x4c9add){const _0x31105e=_0x359e;try{return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x4c9add));}catch(_0xa57594){if(_0xa57594 instanceof ApiError&&_0xa57594[_0x31105e(0x8a)]===0x194)return null;throw _0xa57594;}}export async function listCloudProfiles(){const _0x2972e4=_0x359e,_0x5ab2e8={'AwdbE':function(_0x29d135,_0x13c41d){return _0x29d135(_0x13c41d);}},_0x5ec9ae=await _0x5ab2e8[_0x2972e4(0x7a)](apiRequest,'/api/v1/profiles');return _0x5ec9ae['profiles'];}export async function deleteCloudProfile(_0x419207){const _0x4bb39f=_0x359e,_0x1b6715={'WMSBq':function(_0x1753e1,_0x25ff65){return _0x1753e1(_0x25ff65);},'pvZof':_0x4bb39f(0x85)};try{await apiRequest('/api/v1/profiles/'+_0x1b6715['WMSBq'](encodeURIComponent,_0x419207),{'method':_0x1b6715['pvZof']});}catch(_0x50626e){if(_0x50626e instanceof ApiError&&_0x50626e[_0x4bb39f(0x8a)]===0x194)throw new Error('Cloud\x20profile\x20\x22'+_0x419207+_0x4bb39f(0xf9));throw _0x50626e;}}function _0x46c2(){const _0x227ce6=['target_url','mycsM','local_ws_error','\x20\x20Cached\x20session\x20for\x20\x22','toISOString','pendingLocalConnections','auth_config','aReJL','close','WkDVZ','name','log','tunnel_bridge','then','env','detail','domains','targetUrl','/api/v1/profiles/','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','success','type','sessionId','prompt','join','organizationId','qayYO','UznxG','gpcBO','rNJXY','telemetry','69581NHqrJK','string','rsscw','username','pwEndpoint','LWtbt','cli:manual-login','VmGHN','extraHTTPHeaders','vsoTE','58413DWkDyG','cookies','tunnel_login_setup','\x22;\x20proceeding\x20with\x20loginInstructions.','stringify','invalid-url','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','trim','uhdse','error','\x22\x20failed\x20validation\x20—\x20refreshing...','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','loginInstructions','aJdkD','2231312hdtvyX','\x20\x20Cloud\x20session\x20for\x20\x22','url','message','auth','elapsedMs','BVtXr','about:blank','\x20\x20No\x20live\x20session\x20for\x20\x22','catch','map','cnZje','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.','941626euIKCW','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','tunnel_login_request','7sLxfgE','LHwnO','RANGER_TEST_USERNAME','52GYnqwZ','save','570012NbndqW','test_output','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','sessionCheckPath','XJPSl','ReNQt','VSBbB','length','wrnul','session_state','BVLiO','defaultEnvironmentKey','zcLOx','storageState','trackPhaseStart','Browser\x20login\x20timed\x20out\x20before\x20completion.','environment_key','baseUrl','wJQwh','FfbLU','force','launch','\x22,\x20attempting\x20login...','TcQOW','goto','trackPhaseError','tunnel_error','tSZgs','\x22\x20not\x20found.','xxhNP','storageStatePath','):\x20','tIkDZ',').\x20','IYwOJ','/api/v1/profiles/auth-config','tunnelUrl','xJltv','/api/v1/profiles','keys','code','tunnel','jxpZE','browserOptions','settings','259137cpLuht','userAgent','utf-8','some','password','AwdbE','GxRyV','skTRC','rlDTW','clientIp','PUT','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','vQcrv','setupHeaders','environments','split','DELETE','\x22\x20for\x20','RwoqB','270xYLBvx','trackPhaseEnd','status','3762365QTAhze','origin','isArray','Bearer\x20','agent','POST'];_0x46c2=function(){return _0x227ce6;};return _0x46c2();}export async function createCloudProfile(_0x598ba6,_0xd2ce9a,_0x2eca93={}){const _0x5582d6=_0x359e,_0x718f={'VAuxC':function(_0x4f3d08,_0xcb624c){return _0x4f3d08>_0xcb624c;},'nsEnQ':_0x5582d6(0x6e)},_0x5d7cc4={'name':_0x598ba6};if(_0xd2ce9a)_0x5d7cc4[_0x5582d6(0xed)]=_0xd2ce9a;_0x2eca93['settings']&&_0x718f['VAuxC'](Object[_0x5582d6(0x6f)](_0x2eca93['settings'])[_0x5582d6(0xe4)],0x0)&&(_0x5d7cc4[_0x5582d6(0x74)]=_0x2eca93[_0x5582d6(0x74)]);if(_0x2eca93['username'])_0x5d7cc4[_0x5582d6(0xb3)]=_0x2eca93['username'];if(_0x2eca93['password'])_0x5d7cc4['password']=_0x2eca93['password'];return await apiRequest(_0x718f['nsEnQ'],{'method':'POST','body':JSON['stringify'](_0x5d7cc4)});}export async function uploadCloudProfileSession(_0x4f5d7d,_0x1157dd){const _0x45d679=_0x359e,_0x3a2ca2={'XiYut':function(_0x579b75,_0x58e45c,_0x55c43c){return _0x579b75(_0x58e45c,_0x55c43c);},'BHCFC':function(_0x25338f,_0x55bbc4){return _0x25338f(_0x55bbc4);},'TCpjR':'POST'};return await _0x3a2ca2['XiYut'](apiRequest,_0x45d679(0xa3)+_0x3a2ca2['BHCFC'](encodeURIComponent,_0x4f5d7d)+'/session',{'method':_0x3a2ca2['TCpjR'],'body':JSON[_0x45d679(0xbe)]({'session_state':_0x1157dd})});}export async function saveCloudProfileCredentials(_0x73b1a5,_0x4a8b4b,_0x38249d){const _0x369e86=_0x359e,_0x3796a5={'puiAn':function(_0x797e7b,_0x3a2f2d,_0x498ff0){return _0x797e7b(_0x3a2f2d,_0x498ff0);}};await _0x3796a5['puiAn'](apiRequest,_0x369e86(0xa3)+encodeURIComponent(_0x73b1a5),{'method':'PUT','body':JSON[_0x369e86(0xbe)]({'username':_0x4a8b4b,'password':_0x38249d})});}export async function fetchAuthConfig(){const _0x2d64af=_0x359e,_0x313211={'tIkDZ':function(_0x597164,_0x3123d9){return _0x597164(_0x3123d9);},'cKnCc':_0x2d64af(0x100)};try{const _0x107c32=await _0x313211[_0x2d64af(0xfd)](apiRequest,_0x313211['cKnCc']);return _0x107c32[_0x2d64af(0x97)];}catch(_0x572b6b){return _0x572b6b instanceof ApiError&&_0x572b6b['status']!==0x194&&console[_0x2d64af(0xc3)]('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x572b6b[_0x2d64af(0xcb)]),null;}}async function createTunnelSession(_0x5c5315){const _0xc6751f=_0x359e,_0x4da567={'uhdse':function(_0x5259de,_0x26c9e6,_0x142483){return _0x5259de(_0x26c9e6,_0x142483);}};return await _0x4da567[_0xc6751f(0xc2)](apiRequest,'/api/v1/tunnel/sessions',{'method':'POST','body':JSON['stringify']({'targetUrl':_0x5c5315,'mode':_0xc6751f(0x8f)})});}async function deleteTunnelSession(_0x1692f5){const _0x1b4528=_0x359e,_0x2b2238={'TcQOW':function(_0x26c3b0,_0x48b04c,_0x59905f){return _0x26c3b0(_0x48b04c,_0x59905f);}};await _0x2b2238[_0x1b4528(0xf4)](apiRequest,'/api/v1/tunnel/sessions/'+_0x1692f5,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x1cc288){const _0x196693=_0x359e,_0x52b057={'xJltv':function(_0x5c2ea7,_0x338a84){return _0x5c2ea7===_0x338a84;},'WkfoG':function(_0x226f69,_0x2cb17e){return _0x226f69+_0x2cb17e;}};if(!_0x1cc288)return null;if(_0x1cc288[_0x196693(0xe8)])return _0x1cc288[_0x196693(0xe8)];const _0xce473=Object[_0x196693(0x6f)](_0x1cc288[_0x196693(0x83)]??{});if(_0x52b057[_0x196693(0x6d)](_0xce473['length'],0x1))return _0xce473[0x0];if(_0xce473[_0x196693(0xe4)]===0x0)return null;throw new Error(_0x52b057['WkfoG']('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0xce473[_0x196693(0xa9)](',\x20')+_0x196693(0xfe),_0x196693(0xd4)));}export async function resolveAdHocProfile(_0x29f740=process['env']){const _0x3967d5=_0x359e,_0x12afaf={'bVBAW':function(_0x3cdd20){return _0x3cdd20();},'iGdus':function(_0x2a791f,_0x6e3871,_0x2479f8,_0x4a455b){return _0x2a791f(_0x6e3871,_0x2479f8,_0x4a455b);},'ReNQt':function(_0x18f039,_0x2b1021){return _0x18f039??_0x2b1021;}},_0x28b062=_0x29f740['RANGER_TEST_USERNAME'];if(!_0x28b062)return null;const _0x143081=await fetchCloudProfile(_0x28b062);if(_0x143081)return{'name':_0x143081['name'],'profile':_0x143081};const _0x566cea=await _0x12afaf['bVBAW'](fetchAuthConfig),_0x285d36=pickAdHocEnvKey(_0x566cea),_0xa69a5c=_0x29f740['RANGER_TEST_PASSWORD'],_0x6964d3=await _0x12afaf['iGdus'](createCloudProfile,_0x28b062,_0x12afaf[_0x3967d5(0xe2)](_0x285d36,undefined),{'username':_0x28b062,'password':_0xa69a5c});return console['log']('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x6964d3[_0x3967d5(0x9b)]+_0x3967d5(0x86)+_0x28b062),{'name':_0x6964d3['name'],'profile':_0x6964d3};}export async function writeSessionToLocalCache(_0x5bc57e,_0x1a8390,_0x3fca31,_0x31cd1c,_0x5f0779,_0x5a4508,_0x2f3029){const _0x4819ad=_0x359e,_0x20f835={'xxhNP':function(_0x4542fa,_0xa35365){return _0x4542fa(_0xa35365);},'wJQwh':function(_0x5b5b9d,_0x5f2444,_0x543936){return _0x5b5b9d(_0x5f2444,_0x543936);},'RQsgq':function(_0x4a01fd){return _0x4a01fd();},'PFqFi':_0x4819ad(0xcc),'vQcrv':function(_0x1037c3,_0x154ac1){return _0x1037c3>_0x154ac1;},'VSBbB':function(_0x19ba21,_0x5e3f45,_0x4a65f4){return _0x19ba21(_0x5e3f45,_0x4a65f4);},'KfLuq':function(_0x5512c8,_0x170103){return _0x5512c8(_0x170103);},'zxBVL':function(_0x411a32,_0x2486ad,_0x520b5f){return _0x411a32(_0x2486ad,_0x520b5f);}},_0x1b56c7=_0x20f835[_0x4819ad(0xfa)](sessionCacheHash,{'orgId':_0x1a8390,'profileName':_0x5bc57e,'effectiveBaseUrl':_0x3fca31,'setupHeaders':_0x31cd1c,'invalidateOn':_0x2f3029?.['invalidateOn'],'userAgent':_0x2f3029?.[_0x4819ad(0x76)],'clientIp':_0x2f3029?.[_0x4819ad(0x7e)]}),_0x5b78b4=getSessionCachePath(_0x1b56c7,_0x5bc57e),_0x57c3be=_0x20f835[_0x4819ad(0xef)](join,_0x20f835['RQsgq'](getRangerHomeDir),_0x20f835['PFqFi']);!_0x20f835[_0x4819ad(0xfa)](existsSync,_0x57c3be)&&await mkdir(_0x57c3be,{'recursive':!![]});const _0x2adb43={..._0x5f0779};_0x5a4508&&_0x20f835[_0x4819ad(0x81)](_0x5a4508[_0x4819ad(0xe4)],0x0)&&Array[_0x4819ad(0x8d)](_0x2adb43[_0x4819ad(0xbb)])&&(_0x2adb43['cookies']=_0x20f835[_0x4819ad(0xe3)](duplicateCookiesForDomains,_0x2adb43[_0x4819ad(0xbb)],_0x5a4508));const _0x427b77={'cached_at':new Date()[_0x4819ad(0x95)](),'session_state':_0x2adb43};await writeFile(_0x5b78b4,JSON['stringify'](_0x427b77,null,0x2));const _0x5388d9=_0x20f835['KfLuq'](getStorageStatePath,_0x5b78b4);return await _0x20f835['zxBVL'](writeFile,_0x5388d9,JSON['stringify'](_0x2adb43,null,0x2)),_0x5388d9;}export async function checkLocalCache(_0x146ba2,_0x35b578,_0x3808a3,_0x5e4cae,_0x1d2565){const _0x18d97b=_0x359e,_0x51f671={'rNJXY':function(_0x365d12,_0xa6e8bf,_0x190a45){return _0x365d12(_0xa6e8bf,_0x190a45);}},_0x4e34a9=sessionCacheHash({'orgId':_0x35b578,'profileName':_0x146ba2,'effectiveBaseUrl':_0x3808a3,'setupHeaders':_0x5e4cae,'invalidateOn':_0x1d2565?.['invalidateOn'],'userAgent':_0x1d2565?.['userAgent'],'clientIp':_0x1d2565?.['clientIp']}),_0x2dadc7=_0x51f671[_0x18d97b(0xae)](getSessionCachePath,_0x4e34a9,_0x146ba2),_0x343126=getStorageStatePath(_0x2dadc7);if(!existsSync(_0x2dadc7)||!existsSync(_0x343126))return null;try{const _0x1ab461=await readFile(_0x2dadc7,_0x18d97b(0x77));return JSON['parse'](_0x1ab461),{'storageStatePath':_0x343126};}catch{return null;}}function launchRealBrowser(){const _0x4d81ab=_0x359e;return chromium[_0x4d81ab(0xf2)]({'headless':!![]});}function emitSessionValidationHint(_0x3ca5dc,_0x5c8691){const _0x38f4ca=_0x359e;if(!_0x5c8691||!_0x5c8691[_0x38f4ca(0xa1)]?.['length'])return;let _0x5d65f0;try{_0x5d65f0=new URL(_0x3ca5dc);}catch{return;}const _0x4f2eae=[];for(const _0x2eaf22 of _0x5c8691[_0x38f4ca(0xa1)]){try{_0x4f2eae['push']({'raw':_0x2eaf22,'url':new URL(_0x2eaf22)});}catch{}}if(_0x4f2eae[_0x38f4ca(0xe4)]===0x0)return;if(_0x4f2eae[_0x38f4ca(0x78)](_0xf57f56=>_0xf57f56[_0x38f4ca(0xca)][_0x38f4ca(0x8c)]===_0x5d65f0['origin']))return;const _0x1252af=_0x4f2eae[_0x38f4ca(0xd2)](_0x323d5c=>'\x22'+_0x323d5c['raw']+'\x22')[_0x38f4ca(0xa9)](',\x20');console[_0x38f4ca(0x9c)]('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x1252af+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x3ca5dc+_0x38f4ca(0xd6))+'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.');}export async function serverSideLogin(_0x529a1f,_0x5bfdad){const _0x4f730f=_0x359e,_0x53b3a9={'IYwOJ':'POST','xtzMc':function(_0x1ad6a9,_0x5956ac){return _0x1ad6a9 instanceof _0x5956ac;},'GxRyV':function(_0x5090c0,_0x2ce1e4){return _0x5090c0===_0x2ce1e4;},'OvhXz':'not_configured'},_0x5a0152=process['env']['RANGER_TEST_USERNAME'],_0x4c1630=process[_0x4f730f(0x9f)]['RANGER_TEST_PASSWORD'],_0x28ad75={};if(_0x5a0152)_0x28ad75['username']=_0x5a0152;if(_0x4c1630)_0x28ad75[_0x4f730f(0x79)]=_0x4c1630;if(_0x5bfdad?.['force'])_0x28ad75[_0x4f730f(0xf1)]=!![];if(_0x5bfdad?.[_0x4f730f(0xa2)])_0x28ad75[_0x4f730f(0x91)]=_0x5bfdad[_0x4f730f(0xa2)];_0x5bfdad?.['tunnel']&&(_0x28ad75['tunnel_session_id']=_0x5bfdad[_0x4f730f(0x71)][_0x4f730f(0xa7)],_0x28ad75['pw_endpoint']=_0x5bfdad[_0x4f730f(0x71)][_0x4f730f(0xb4)]);try{return await apiRequest(_0x4f730f(0xa3)+encodeURIComponent(_0x529a1f)+'/login',{'method':_0x53b3a9[_0x4f730f(0xff)],'body':JSON[_0x4f730f(0xbe)](_0x28ad75)});}catch(_0x4db9f3){if(_0x53b3a9['xtzMc'](_0x4db9f3,ApiError)&&_0x53b3a9[_0x4f730f(0x7b)](_0x4db9f3[_0x4f730f(0x8a)],0x190)&&_0x4db9f3['code']==='not_configured')return{'status':_0x53b3a9['OvhXz'],'error':_0x4db9f3['detail']};throw _0x4db9f3;}}async function serverSideLoginWithOptionalTunnel(_0x6c95e0,_0x1e215b,_0xea2e51={}){const _0xfc5785=_0x359e,_0x2e841a={'fCzTO':_0xfc5785(0xd7),'XJPSl':function(_0xa67397,_0x49fabb){return _0xa67397(_0x49fabb);},'LHwnO':function(_0x30291f,_0x56b231,_0x80227e){return _0x30291f(_0x56b231,_0x80227e);},'ZmUmo':function(_0x435909,_0x2071b0){return _0x435909??_0x2071b0;},'qayYO':_0xfc5785(0xbc),'skTRC':function(_0x2a6c4d,_0x1dbde2){return _0x2a6c4d||_0x1dbde2;},'RwoqB':'tunnel_login_cleanup'};if(!_0x2e841a[_0xfc5785(0xe1)](needsTunnel,_0x1e215b))return await _0x2e841a[_0xfc5785(0xd9)](serverSideLogin,_0x6c95e0,{'force':_0xea2e51[_0xfc5785(0xf1)]});let _0x57b6ca=null,_0x17ec29=null,_0x1b28c6=null,_0x37ac37=null,_0x5bbc00=![];const _0xa8404={'profileName':_0x6c95e0,'targetUrlHost':_0x2e841a[_0xfc5785(0xe1)](targetHostForTelemetry,_0x1e215b),'tunnelRequired':!![],'forceLogin':Boolean(_0xea2e51['force'])};try{_0xea2e51['telemetry']?.[_0xfc5785(0xeb)](_0xfc5785(0xbc),_0xa8404),_0x57b6ca=await launchBrowserServer({'headless':!![]}),_0x17ec29=await createTunnelSession(_0x1e215b);const _0x2fc8e0=await requireToken();_0x1b28c6=await _0x2e841a['XJPSl'](createTunnelBridge,{'localWsUrl':_0x57b6ca['wsEndpoint'],'tunnelServerUrl':_0x17ec29[_0xfc5785(0x6c)],'sessionId':_0x17ec29[_0xfc5785(0xa7)],'apiKey':_0x2fc8e0,'onError':_0x48ae0d=>{_0x37ac37=_0x48ae0d;},'onClose':()=>{_0x37ac37??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x6c95e0);},'onEvent':_0x3b4670=>trackBridgeEvent(_0xea2e51['telemetry'],_0x3b4670)}),_0xea2e51[_0xfc5785(0xaf)]?.['trackPhaseEnd'](_0xfc5785(0xbc),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)],'localBrowserServer':!![]}),_0x5bbc00=!![];try{return _0xea2e51['telemetry']?.[_0xfc5785(0xeb)](_0xfc5785(0xd7),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)]}),await serverSideLogin(_0x6c95e0,{'force':_0xea2e51['force'],'targetUrl':_0x1e215b,'tunnel':{'sessionId':_0x17ec29[_0xfc5785(0xa7)],'pwEndpoint':_0x17ec29['pwEndpoint']}})[_0xfc5785(0x9e)](_0x11c6b6=>{const _0x2f834e=_0xfc5785;return _0xea2e51['telemetry']?.['trackPhaseEnd'](_0x2e841a['fCzTO'],{..._0xa8404,'tunnelSessionId':_0x17ec29?.['sessionId'],'loginStatus':_0x11c6b6[_0x2f834e(0x8a)],'hasSessionState':Boolean(_0x11c6b6[_0x2f834e(0xe6)]),'hasTestOutput':_0x2e841a['XJPSl'](Boolean,_0x11c6b6['test_output']),'bridgeError':errorMessageForTelemetry(_0x37ac37)}),_0x11c6b6;});}catch(_0x4f494f){await _0xea2e51['telemetry']?.[_0xfc5785(0xf6)]('tunnel_login_request',_0x2e841a['ZmUmo'](_0x37ac37,_0x4f494f),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)],'bridgeError':errorMessageForTelemetry(_0x37ac37)});throw _0x37ac37??_0x4f494f;}}catch(_0x2ae533){!_0x5bbc00&&await _0xea2e51['telemetry']?.[_0xfc5785(0xf6)](_0x2e841a[_0xfc5785(0xab)],_0x2ae533,{..._0xa8404,'tunnelSessionId':_0x17ec29?.['sessionId']});throw _0x2ae533;}finally{(_0x2e841a[_0xfc5785(0x7c)](_0x17ec29,_0x57b6ca)||_0x1b28c6)&&(_0xea2e51['telemetry']?.['trackPhaseStart'](_0x2e841a[_0xfc5785(0x87)],{..._0xa8404,'tunnelSessionId':_0x17ec29?.[_0xfc5785(0xa7)]}),_0x1b28c6?.['close'](),_0x57b6ca&&await _0x57b6ca['close']()['catch'](()=>{}),_0x17ec29&&await _0x2e841a['XJPSl'](deleteTunnelSession,_0x17ec29['sessionId'])[_0xfc5785(0xd1)](()=>{}),_0xea2e51[_0xfc5785(0xaf)]?.['trackPhaseEnd'](_0x2e841a[_0xfc5785(0x87)],{..._0xa8404,'tunnelSessionId':_0x17ec29?.[_0xfc5785(0xa7)]}));}}export async function manualBrowserLogin(_0x54736b,_0x1d15cd,_0x227e45={}){const _0x356068=_0x359e,_0x2def={'ObjTo':function(_0x3a1ce7,_0x5f4d1a){return _0x3a1ce7/_0x5f4d1a;},'hMIWM':function(_0x47900b,_0x298e86,_0x18c816){return _0x47900b(_0x298e86,_0x18c816);},'rlDTW':_0x356068(0x99),'gpcBO':function(_0x504100,_0x209695){return _0x504100+_0x209695;},'rsscw':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','hkoIi':function(_0x354ca8,_0x258623){return _0x354ca8>_0x258623;},'xKVSD':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','zcLOx':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','jxpZE':function(_0x5f4e98,_0x234a22){return _0x5f4e98!==_0x234a22;},'LWtbt':function(_0x54bbce,_0xfcb8c1){return _0x54bbce(_0xfcb8c1);},'vsoTE':_0x356068(0x90)};if(!isInteractive())throw new Error(_0x2def[_0x356068(0xad)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x54736b[_0x356068(0x9b)]+'\x22.\x0a',_0x2def[_0x356068(0xb2)])+_0x356068(0xc5));const _0x4e4a7d=_0x1d15cd&&_0x2def['hkoIi'](_0x1d15cd['domains']['length'],0x0)?_0x1d15cd['domains'][0x0]:_0x356068(0xcf);console[_0x356068(0x9c)](_0x2def['xKVSD']),console[_0x356068(0x9c)]('\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0x266b21=>setTimeout(_0x266b21,0x7d0));const _0x5e9a35=await chromium['launch']({'headless':![]});let _0x35cf11=null;try{const _0x2b836c={'ignoreHTTPSErrors':!![]};_0x1d15cd?.['setupHeaders']&&(_0x2b836c[_0x356068(0xb8)]=_0x1d15cd[_0x356068(0x82)]);const _0x16e8b0=await _0x5e9a35['newContext'](_0x2b836c);await addProfileSetupBanner(_0x16e8b0);const _0x42265d=await _0x16e8b0['newPage']();await _0x42265d[_0x356068(0xf5)](_0x4e4a7d);let _0x5a6aa2=![];await new Promise(_0x3f6bc4=>{const _0x62093b=_0x356068,_0x4fc985={'Nqawf':function(_0x4e8034,_0x46375d){return _0x2def['ObjTo'](_0x4e8034,_0x46375d);},'lOfxF':function(_0x2f5db6){return _0x2f5db6();}},_0x37451c=_0x2def['hMIWM'](setTimeout,()=>{const _0x55aed8=_0x359e;_0x5a6aa2=!![],console[_0x55aed8(0xc3)]('Browser\x20login\x20timed\x20out\x20after\x20'+_0x4fc985['Nqawf'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x4fc985['lOfxF'](_0x3f6bc4);},MANUAL_LOGIN_TIMEOUT_MS);_0x42265d['on'](_0x2def[_0x62093b(0x7d)],async()=>{const _0x1084b5=_0x62093b;clearTimeout(_0x37451c);try{const _0x269341=await _0x16e8b0[_0x1084b5(0xea)]();_0x35cf11=_0x269341;}catch{}_0x4fc985['lOfxF'](_0x3f6bc4);});});if(_0x5a6aa2&&!_0x35cf11)throw new Error(_0x356068(0xec));}finally{await _0x5e9a35['close']()[_0x356068(0xd1)](()=>{});}if(!_0x35cf11)throw new Error(_0x2def[_0x356068(0xe9)]);return _0x2def[_0x356068(0x72)](_0x227e45['persistSessionState'],![])&&await apiRequest('/api/v1/profiles/'+_0x2def[_0x356068(0xb5)](encodeURIComponent,_0x54736b['name'])+'/session',{'method':_0x2def[_0x356068(0xb9)],'body':JSON[_0x356068(0xbe)]({'session_state':_0x35cf11,'updated_by':_0x356068(0xb6)})}),{'sessionState':_0x35cf11};}export async function promptSaveCredentials(_0xd3e92a){const _0x4bc4f5=_0x359e,_0x1a2f1d={'SnGbc':function(_0x525ecc,_0xe70cab){return _0x525ecc||_0xe70cab;},'gXKWJ':'confirm','tSZgs':_0x4bc4f5(0xdc),'UznxG':function(_0x169a34,_0x20fa0b,_0x42a88d){return _0x169a34(_0x20fa0b,_0x42a88d);}},_0x372564=process['env']['RANGER_TEST_USERNAME'],_0x5b6872=process[_0x4bc4f5(0x9f)]['RANGER_TEST_PASSWORD'];if(_0x1a2f1d['SnGbc'](!_0x372564,!_0x5b6872))return;if(!isInteractive())return;const {save:_0x6e51bd}=await _0x1a69e1[_0x4bc4f5(0xa8)]([{'type':_0x1a2f1d['gXKWJ'],'name':_0x1a2f1d[_0x4bc4f5(0xf8)],'message':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','default':![]}]);if(!_0x6e51bd)return;await _0x1a2f1d[_0x4bc4f5(0xac)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0xd3e92a),{'method':_0x4bc4f5(0x7f),'body':JSON[_0x4bc4f5(0xbe)]({'username':_0x372564,'password':_0x5b6872})}),console['log']('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x4a5aa0,_0x5c3f30={}){const _0x15ca64=_0x359e,_0x4afb20={'qeHpf':function(_0x535976,_0x2c41ed){return _0x535976===_0x2c41ed;},'NBplG':_0x15ca64(0xb1),'mycsM':function(_0x3839be,_0x6a7b){return _0x3839be(_0x6a7b);},'aReJL':function(_0x59cc4d,_0x120ddf,_0x521936,_0x1f11df,_0x9d24cf){return _0x59cc4d(_0x120ddf,_0x521936,_0x1f11df,_0x9d24cf);},'aJdkD':function(_0x3af435,_0x18e471,_0x1f1abe,_0x1366ca,_0x4fe563,_0x37f167,_0x5646f1,_0x5f069c){return _0x3af435(_0x18e471,_0x1f1abe,_0x1366ca,_0x4fe563,_0x37f167,_0x5646f1,_0x5f069c);},'BVtXr':function(_0x300cb3,_0x2c4dbd,_0x4cd761,_0xf245c,_0x535238){return _0x300cb3(_0x2c4dbd,_0x4cd761,_0xf245c,_0x535238);},'CFtNU':function(_0x1eec2b,_0x40daa4,_0x1ba64d){return _0x1eec2b(_0x40daa4,_0x1ba64d);},'Exayc':function(_0x3280ae,_0x2480f,_0x5b8a01){return _0x3280ae(_0x2480f,_0x5b8a01);},'ZJExx':function(_0x4dcad5,_0x4843ab){return _0x4dcad5===_0x4843ab;},'ZLsKB':function(_0x414bd6,_0x2483c9){return _0x414bd6&&_0x2483c9;},'FNACM':function(_0x374e1a,_0x118f8f){return _0x374e1a(_0x118f8f);},'WkDVZ':_0x15ca64(0xc0),'BVLiO':function(_0x3fd9dd,_0x5ae2c9){return _0x3fd9dd instanceof _0x5ae2c9;},'GDZng':function(_0x1982da,_0x1e03f9){return _0x1982da(_0x1e03f9);}},_0x1ede94=_0x4a5aa0['settings']??{},_0x545374=await fetchAuthConfig(),_0x49bc74=_0x545374?resolveAuthEnvironmentLocally(_0x545374,_0x4a5aa0['environmentKey']):null,_0x335bed=_0x4afb20['qeHpf'](typeof _0x49bc74?.['loginInstructions'],_0x4afb20['NBplG'])&&_0x49bc74[_0x15ca64(0xc6)]['trim']()?_0x49bc74['loginInstructions']:undefined,_0x5bf8fe=typeof _0x1ede94['loginInstructions']===_0x15ca64(0xb1)&&_0x1ede94[_0x15ca64(0xc6)][_0x15ca64(0xc1)]()?_0x1ede94[_0x15ca64(0xc6)]:undefined,_0x32b776=_0x5bf8fe||!_0x335bed?_0x1ede94:{..._0x1ede94,'loginInstructions':_0x335bed},_0x42fd7a=Boolean(_0x32b776['loginInstructions']?.[_0x15ca64(0xc1)]()),_0x54579a=_0x4afb20[_0x15ca64(0x92)](Boolean,_0x1ede94['forceLogin']||_0x49bc74?.['forceLogin']),_0x207dcd=_0x49bc74?.[_0x15ca64(0xa1)],_0xaf4be8=_0x1ede94['setupHeaders'],_0x2b32c5=_0xaf4be8??_0x49bc74?.['setupHeaders'],_0x3f4fb0=_0x5c3f30['effectiveBaseUrl']??_0x1ede94[_0x15ca64(0xee)]??(_0x207dcd&&_0x207dcd[_0x15ca64(0xe4)]>0x0?_0x207dcd[0x0]:''),_0x9d8c8c=_0x3f4fb0?_0x4afb20[_0x15ca64(0x92)](needsTunnel,_0x3f4fb0):![],_0x5f05e1={'invalidateOn':_0x49bc74?.['invalidateOn'],'userAgent':_0x49bc74?.[_0x15ca64(0x73)]?.[_0x15ca64(0x76)]??_0x1ede94[_0x15ca64(0x76)]};_0x54579a&&console['log']('\x20\x20forceLogin\x20enabled\x20for\x20\x22'+_0x4a5aa0['name']+'\x22,\x20refreshing\x20session...');if(!_0x54579a){const _0x14d8d5=await checkLocalCache(_0x4a5aa0['name'],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0x5f05e1);if(_0x14d8d5){if(_0x3f4fb0&&!_0x9d8c8c){const _0x1cb184=await _0x4afb20[_0x15ca64(0x98)](isCachedSessionLive,_0x14d8d5[_0x15ca64(0xfb)],_0x3f4fb0,{'sessionCheckPath':_0x49bc74?.[_0x15ca64(0xe0)],'setupHeaders':_0x2b32c5},{'launchBrowser':launchRealBrowser});if(_0x1cb184)return console[_0x15ca64(0x9c)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x4a5aa0['name']+'\x22'),{'authPath':_0x14d8d5['storageStatePath'],'settings':_0x32b776,'resolvedEnv':_0x49bc74};console['log'](_0x15ca64(0x94)+_0x4a5aa0['name']+_0x15ca64(0xc4)),emitSessionValidationHint(_0x3f4fb0,_0x49bc74);}else return _0x9d8c8c&&console[_0x15ca64(0x9c)]('\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x4a5aa0[_0x15ca64(0x9b)]+'\x22'),{'authPath':_0x14d8d5['storageStatePath'],'settings':_0x32b776,'resolvedEnv':_0x49bc74};}}if(!_0x54579a&&_0x4a5aa0['sessionState']){if(_0x9d8c8c)console[_0x15ca64(0x9c)](_0x15ca64(0xa4)+_0x3f4fb0+'\x22\x20on\x20profile\x20\x22'+_0x4a5aa0[_0x15ca64(0x9b)]+'\x22');else{const _0x4db613=await _0x4afb20['aJdkD'](writeSessionToLocalCache,_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0[_0x15ca64(0xaa)],_0x3f4fb0,_0x2b32c5,_0x4a5aa0['sessionState'],_0x207dcd,_0x5f05e1);if(_0x3f4fb0){const _0x22f0ec=await _0x4afb20[_0x15ca64(0xce)](isCachedSessionLive,_0x4db613,_0x3f4fb0,{'sessionCheckPath':_0x49bc74?.['sessionCheckPath'],'setupHeaders':_0x2b32c5},{'launchBrowser':launchRealBrowser});if(_0x22f0ec)return console[_0x15ca64(0x9c)]('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x4a5aa0['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x4db613,'settings':_0x32b776,'resolvedEnv':_0x49bc74};console['log'](_0x15ca64(0xc9)+_0x4a5aa0['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x4afb20['CFtNU'](emitSessionValidationHint,_0x3f4fb0,_0x49bc74);}else return{'authPath':_0x4db613,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}}if(_0x42fd7a)return console[_0x15ca64(0x9c)](_0x15ca64(0xd0)+_0x4a5aa0['name']+_0x15ca64(0xbd)),{'authPath':undefined,'settings':_0x32b776,'resolvedEnv':_0x49bc74};console[_0x15ca64(0x9c)](_0x15ca64(0xd0)+_0x4a5aa0['name']+_0x15ca64(0xf3));const _0x43e84d=Boolean(process[_0x15ca64(0x9f)][_0x15ca64(0xda)])&&_0x4afb20[_0x15ca64(0x92)](Boolean,process['env']['RANGER_TEST_PASSWORD']),_0x32ed69=_0x4afb20[_0x15ca64(0x92)](Boolean,_0x4a5aa0['username']);if(_0x43e84d||_0x32ed69)try{const _0x52a9b1=_0x3f4fb0?await serverSideLoginWithOptionalTunnel(_0x4a5aa0[_0x15ca64(0x9b)],_0x3f4fb0,{'force':_0x54579a,'telemetry':_0x5c3f30[_0x15ca64(0xaf)]}):await _0x4afb20['Exayc'](serverSideLogin,_0x4a5aa0[_0x15ca64(0x9b)],{'force':_0x54579a});if(_0x4afb20['ZJExx'](_0x52a9b1[_0x15ca64(0x8a)],'not_configured'))console[_0x15ca64(0x9c)](_0x15ca64(0xdf));else{if(_0x52a9b1['status']===_0x15ca64(0xa5)&&_0x52a9b1['session_state']){console[_0x15ca64(0x9c)]('\x20\x20Login\x20successful.\x20Session\x20cached.');const _0x396563=await writeSessionToLocalCache(_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0x52a9b1['session_state'],_0x207dcd,_0x5f05e1);return _0x4afb20['ZLsKB'](_0x43e84d,!_0x32ed69)&&await _0x4afb20['FNACM'](promptSaveCredentials,_0x4a5aa0[_0x15ca64(0x9b)]),{'authPath':_0x396563,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}else _0x52a9b1[_0x15ca64(0xde)]&&(console[_0x15ca64(0x9c)](_0x4afb20[_0x15ca64(0x9a)]),console['log'](_0x52a9b1['test_output'])),console[_0x15ca64(0x9c)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}}catch(_0xc7b4ab){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x4afb20[_0x15ca64(0xe7)](_0xc7b4ab,Error)?_0xc7b4ab[_0x15ca64(0xcb)]:_0x4afb20['GDZng'](String,_0xc7b4ab))),console['log'](_0x15ca64(0x80));}const _0x308cb8=_0x49bc74?{..._0x49bc74,'setupHeaders':_0x2b32c5}:_0x3f4fb0?{'key':_0x4a5aa0['environmentKey']??'','domains':[_0x3f4fb0],'setupHeaders':_0x2b32c5}:null,{sessionState:_0xd22fa3}=await manualBrowserLogin(_0x4a5aa0,_0x308cb8,{'persistSessionState':!_0x9d8c8c}),_0x1d5f03=await _0x4afb20[_0x15ca64(0xc7)](writeSessionToLocalCache,_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0xd22fa3,_0x207dcd,_0x5f05e1);return{'authPath':_0x1d5f03,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x376f92=_0x3046;(function(_0x2f0d1f,_0x7603e8){const _0x326c49=_0x3046,_0x363d80=_0x2f0d1f();while(!![]){try{const _0x3f0f72=-parseInt(_0x326c49(0x107))/0x1*(parseInt(_0x326c49(0x127))/0x2)+parseInt(_0x326c49(0x117))/0x3*(parseInt(_0x326c49(0xfb))/0x4)+parseInt(_0x326c49(0x122))/0x5*(-parseInt(_0x326c49(0xfa))/0x6)+-parseInt(_0x326c49(0x128))/0x7*(-parseInt(_0x326c49(0x111))/0x8)+-parseInt(_0x326c49(0x116))/0x9*(-parseInt(_0x326c49(0x109))/0xa)+-parseInt(_0x326c49(0xff))/0xb*(-parseInt(_0x326c49(0x101))/0xc)+-parseInt(_0x326c49(0xf9))/0xd;if(_0x3f0f72===_0x7603e8)break;else _0x363d80['push'](_0x363d80['shift']());}catch(_0x41c6f3){_0x363d80['push'](_0x363d80['shift']());}}}(_0x76a8,0x1a229));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x17c4ea=process[_0x376f92(0x10f)],_0x34ccc2={'stdin':process['stdin'],'stdout':process['stdout']}){const _0x56113f=_0x376f92,_0x1ebbaf={'yTHEt':function(_0x1f854f,_0x4c922c){return _0x1f854f(_0x4c922c);}};if(_0x17c4ea['CI'])return![];return _0x1ebbaf[_0x56113f(0x129)](Boolean,_0x34ccc2[_0x56113f(0x108)]['isTTY'])&&_0x1ebbaf[_0x56113f(0x129)](Boolean,_0x34ccc2[_0x56113f(0x12a)]['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x31e1cc){const _0xbc96f5=_0x376f92,_0x17daa4={'Tpfgy':'setupHeaders','uFLFZ':'userAgent','LtQmV':function(_0x235337,_0xbb6bc0){return _0x235337!==_0xbb6bc0;},'zisdG':_0xbc96f5(0x125)},_0x2be571=new Set(_0x31e1cc[_0xbc96f5(0x123)]??DEFAULT_INVALIDATE_ON),_0x1a542e={'orgId':_0x31e1cc[_0xbc96f5(0x10c)],'profileName':_0x31e1cc[_0xbc96f5(0x10d)]};return _0x2be571['has']('baseUrl')&&(_0x1a542e['effectiveBaseUrl']=_0x31e1cc[_0xbc96f5(0x103)]),_0x2be571[_0xbc96f5(0x11f)](_0x17daa4[_0xbc96f5(0xf8)])&&(_0x1a542e[_0xbc96f5(0x10b)]=_0x31e1cc[_0xbc96f5(0x10b)]?sortObjectKeys(_0x31e1cc[_0xbc96f5(0x10b)]):_0x31e1cc['setupHeaders']),_0x2be571[_0xbc96f5(0x11f)](_0xbc96f5(0x10a))&&(_0x1a542e[_0xbc96f5(0x10a)]=extractPort(_0x31e1cc[_0xbc96f5(0x103)])),_0x2be571[_0xbc96f5(0x11f)](_0x17daa4[_0xbc96f5(0x106)])&&_0x31e1cc[_0xbc96f5(0x114)]!==undefined&&(_0x1a542e[_0xbc96f5(0x114)]=_0x31e1cc[_0xbc96f5(0x114)]),_0x2be571[_0xbc96f5(0x11f)](_0xbc96f5(0x120))&&_0x17daa4[_0xbc96f5(0x10e)](_0x31e1cc[_0xbc96f5(0x120)],undefined)&&(_0x1a542e[_0xbc96f5(0x120)]=_0x31e1cc['clientIp']),createHash(_0x17daa4[_0xbc96f5(0x119)])['update'](JSON['stringify'](_0x1a542e))['digest'](_0xbc96f5(0x11d))['slice'](0x0,0xc);}function extractPort(_0x4d7527){const _0x5c8260=_0x376f92;try{return new URL(_0x4d7527)[_0x5c8260(0x10a)];}catch{return'';}}function sortObjectKeys(_0x1d6049){const _0x17bcf1=_0x376f92,_0x7c2186={};for(const _0x189498 of Object[_0x17bcf1(0xfc)](_0x1d6049)['sort']()){_0x7c2186[_0x189498]=_0x1d6049[_0x189498];}return _0x7c2186;}export function getSessionCachePath(_0x36bed6,_0xa77ad5){const _0x386c0a=_0x376f92;return join(getRangerHomeDir(),'auth',_0x36bed6+'-'+_0xa77ad5+_0x386c0a(0x110));}export function getStorageStatePath(_0x618d83){const _0x1db25d=_0x376f92;return _0x618d83[_0x1db25d(0x105)](/\.json$/,_0x1db25d(0x100));}function _0x76a8(){const _0x201e42=['newContext','userAgent','launchBrowser','784818EwBGzL','3Xnmjkg','toString','zisdG','environments','GgOGT','sessionCheckPath','hex','.localhost','has','clientIp','length','1415tDwUYV','invalidateOn','test','sha256','defaultEnvironmentKey','31852YjtpZG','329weCXwz','yTHEt','stdout','Tpfgy','1404286wmJNxR','942GiiebK','602036ZoGRfj','keys','domain','domcontentloaded','11wIAaDA','.storageState.json','431736egxHxU','PGsOv','effectiveBaseUrl','newPage','replace','uFLFZ','1kmsvva','stdin','10ZpTJkB','port','setupHeaders','orgId','profileName','LtQmV','env','.json','296pNDWDK','PKqOS'];_0x76a8=function(){return _0x201e42;};return _0x76a8();}function _0x3046(_0x406883,_0x35b521){_0x406883=_0x406883-0xf8;const _0x76a837=_0x76a8();let _0x3046eb=_0x76a837[_0x406883];return _0x3046eb;}export function needsTunnel(_0x2e2062){const _0x300561=_0x376f92,_0x3dbe7={'DeLuu':'localhost','eAgTJ':function(_0xd3b71e,_0x532fbe){return _0xd3b71e===_0x532fbe;},'mByRK':'127.0.0.1','PKqOS':_0x300561(0x11e),'GgOGT':'localhost.'};let _0x562e07;try{_0x562e07=new URL(_0x2e2062)['hostname'];}catch{return![];}if(_0x562e07===_0x3dbe7['DeLuu']||_0x3dbe7['eAgTJ'](_0x562e07,_0x3dbe7['mByRK']))return!![];if(_0x562e07['endsWith'](_0x3dbe7[_0x300561(0x112)]))return!![];if(_0x562e07['includes'](_0x3dbe7[_0x300561(0x11b)]))return!![];return![];}export function hostnameOf(_0x51addc){return new URL(_0x51addc)['hostname'];}export function duplicateCookiesForDomains(_0x106ceb,_0x1471d2){const _0x1f646c=_0x376f92,_0x32c319={'kNkQc':function(_0x5df850,_0x422cab){return _0x5df850(_0x422cab);}},_0x427d90=[..._0x106ceb],_0x5ba39b=new Set(_0x106ceb['map'](_0x50f68e=>_0x50f68e[_0x1f646c(0xfd)]));for(const _0x4f8f34 of _0x1471d2){let _0x37af13;try{_0x37af13=_0x32c319['kNkQc'](hostnameOf,_0x4f8f34);}catch{continue;}if(!_0x37af13)continue;const _0x33a86c=_0x37af13['startsWith']('.')?_0x37af13:'.'+_0x37af13;if(_0x5ba39b['has'](_0x37af13)||_0x5ba39b[_0x1f646c(0x11f)](_0x33a86c))continue;for(const _0x545c65 of _0x106ceb){_0x427d90['push']({..._0x545c65,'domain':_0x33a86c});}_0x5ba39b['add'](_0x33a86c);}return _0x427d90;}export function resolveAuthEnvironmentLocally(_0x3065da,_0xa5b3c1){const _0x3f7286=_0x376f92,_0x2e4458={'PGsOv':function(_0x463670,_0x57e963){return _0x463670===_0x57e963;}},_0x9925c6=_0x3065da[_0x3f7286(0x11a)];if(_0xa5b3c1){const _0x2f2a1f=_0x9925c6[_0xa5b3c1];if(!_0x2f2a1f)return null;return{'key':_0xa5b3c1,..._0x2f2a1f};}if(_0x3065da['defaultEnvironmentKey']){const _0x21f69a=_0x9925c6[_0x3065da[_0x3f7286(0x126)]];if(!_0x21f69a)return null;return{'key':_0x3065da['defaultEnvironmentKey'],..._0x21f69a};}const _0x4790b=Object['keys'](_0x9925c6);if(_0x2e4458[_0x3f7286(0x102)](_0x4790b[_0x3f7286(0x121)],0x1)){const _0x11b270=_0x4790b[0x0];return{'key':_0x11b270,..._0x9925c6[_0x11b270]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x50c7e8,_0x1be41d){const _0x464a68=_0x376f92;try{if(_0x1be41d)return new URL(_0x1be41d,_0x50c7e8)[_0x464a68(0x118)]();return new URL(_0x50c7e8)[_0x464a68(0x118)]();}catch{return null;}}export function looksLikeLoginUrl(_0x318c8f){const _0x41b22c=_0x376f92;try{const _0xe98e6a=new URL(_0x318c8f);return LOGIN_URL_PATTERN[_0x41b22c(0x124)](_0xe98e6a['pathname']);}catch{return LOGIN_URL_PATTERN['test'](_0x318c8f);}}export async function isCachedSessionLive(_0xf2983c,_0x18563b,_0x255dae={},_0x4da016={}){const _0x4689fb=_0x376f92,_0x139736={'KpMmy':_0x4689fb(0xfe),'sqvGW':function(_0x469bb8,_0xf005fc){return _0x469bb8===_0xf005fc;}},_0x56e9f9=buildSessionCheckUrl(_0x18563b,_0x255dae[_0x4689fb(0x11c)]);if(!_0x56e9f9)return!![];if(!_0x4da016[_0x4689fb(0x115)])return!![];let _0x23c482=null;try{_0x23c482=await _0x4da016['launchBrowser']();const _0x5d7ba5=await _0x23c482[_0x4689fb(0x113)]({'storageState':_0xf2983c,'ignoreHTTPSErrors':!![],..._0x255dae[_0x4689fb(0x10b)]?{'extraHTTPHeaders':_0x255dae[_0x4689fb(0x10b)]}:{}}),_0x11c288=await _0x5d7ba5[_0x4689fb(0x104)](),_0x281265=await _0x11c288['goto'](_0x56e9f9,{'waitUntil':_0x139736['KpMmy'],'timeout':0x3a98}),_0x494d1e=_0x281265?.['status']();if(_0x494d1e===0x191||_0x139736['sqvGW'](_0x494d1e,0x193))return![];const _0xe7f25a=_0x11c288['url']();if(looksLikeLoginUrl(_0xe7f25a))return![];return!![];}catch{return![];}finally{if(_0x23c482)await _0x23c482['close']()['catch'](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2b4720=_0x2bbc;(function(_0x487473,_0x2de85e){const _0x5b9aff=_0x2bbc,_0x12151d=_0x487473();while(!![]){try{const _0x4b8fa9=-parseInt(_0x5b9aff(0xfd))/0x1*(-parseInt(_0x5b9aff(0xf4))/0x2)+-parseInt(_0x5b9aff(0xfe))/0x3*(-parseInt(_0x5b9aff(0xfc))/0x4)+parseInt(_0x5b9aff(0xfb))/0x5*(parseInt(_0x5b9aff(0xf7))/0x6)+-parseInt(_0x5b9aff(0x103))/0x7*(-parseInt(_0x5b9aff(0x109))/0x8)+parseInt(_0x5b9aff(0x10b))/0x9*(-parseInt(_0x5b9aff(0x10c))/0xa)+-parseInt(_0x5b9aff(0xfa))/0xb+parseInt(_0x5b9aff(0x105))/0xc*(-parseInt(_0x5b9aff(0x10a))/0xd);if(_0x4b8fa9===_0x2de85e)break;else _0x12151d['push'](_0x12151d['shift']());}catch(_0x3fb9fb){_0x12151d['push'](_0x12151d['shift']());}}}(_0x45da,0xe275d));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM=_0x2b4720(0x102),SALT='ranger-auth-encryption',KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;function _0x45da(){const _0x3e7bee=['6tUUDEU','subarray','Roxnj','1035782PiMVxQ','8240290HgZXap','160kugJTa','1012289SGdQIJ','88755qaCpPl','getAuthTag','setAuthTag','iFlJY','aes-256-gcm','14ayBEiV','WYdul','28355340HoVRwD','gfpUa','FjFei','SkSlP','2879704qJVMHv','13DVmuPz','135AcMeYL','785990ogXbMR','qpMaM','2wcmjrB','vlzHv','final'];_0x45da=function(){return _0x3e7bee;};return _0x45da();}export function deriveKey(_0x11a6eb){const _0x37e667=_0x2b4720,_0x1cecb1={'iFlJY':'sha256'};return pbkdf2Sync(_0x11a6eb,SALT,0x186a0,KEY_LENGTH,_0x1cecb1[_0x37e667(0x101)]);}export function encrypt(_0x429bb9,_0x13e2c2){const _0x7712e8=_0x2b4720,_0xfbda65={'gfpUa':function(_0x3c8085,_0x48f557){return _0x3c8085(_0x48f557);},'qpMaM':function(_0x5b5502,_0x32e8c0){return _0x5b5502(_0x32e8c0);},'Roxnj':'utf8'},_0x552507=_0xfbda65[_0x7712e8(0x106)](deriveKey,_0x13e2c2),_0x3b2222=_0xfbda65[_0x7712e8(0x10d)](randomBytes,IV_LENGTH),_0x4e831f=createCipheriv(ALGORITHM,_0x552507,_0x3b2222),_0x256fe1=Buffer['concat']([_0x4e831f['update'](_0x429bb9,_0xfbda65[_0x7712e8(0xf9)]),_0x4e831f[_0x7712e8(0xf6)]()]),_0x20233c=_0x4e831f[_0x7712e8(0xff)]();return Buffer['concat']([_0x3b2222,_0x20233c,_0x256fe1]);}function _0x2bbc(_0x301e46,_0x28f303){_0x301e46=_0x301e46-0xf4;const _0x45da81=_0x45da();let _0x2bbcf2=_0x45da81[_0x301e46];return _0x2bbcf2;}export function decrypt(_0x3ef170,_0x7198c1){const _0x6edf01=_0x2b4720,_0x35f2b1={'WYdul':function(_0x4c5637,_0x31f4cc){return _0x4c5637(_0x31f4cc);},'FjFei':function(_0x2c1252,_0x29b855){return _0x2c1252+_0x29b855;},'YmbCx':function(_0x5c3c59,_0xcd9004,_0x79ed6b,_0x577989){return _0x5c3c59(_0xcd9004,_0x79ed6b,_0x577989);},'SkSlP':function(_0x13c314,_0x5728ea){return _0x13c314+_0x5728ea;},'vlzHv':'utf8'},_0x5f358b=_0x35f2b1[_0x6edf01(0x104)](deriveKey,_0x7198c1),_0x51305b=_0x3ef170[_0x6edf01(0xf8)](0x0,IV_LENGTH),_0xc2fba6=_0x3ef170[_0x6edf01(0xf8)](IV_LENGTH,_0x35f2b1[_0x6edf01(0x107)](IV_LENGTH,TAG_LENGTH)),_0x2b8e87=_0x3ef170['subarray'](IV_LENGTH+TAG_LENGTH),_0x118731=_0x35f2b1['YmbCx'](createDecipheriv,ALGORITHM,_0x5f358b,_0x51305b);return _0x118731[_0x6edf01(0x100)](_0xc2fba6),_0x35f2b1[_0x6edf01(0x108)](_0x118731['update'](_0x2b8e87),_0x118731['final'](_0x35f2b1[_0x6edf01(0xf5)]));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x33aa9c=_0x4eca;(function(_0x13112d,_0x148d7d){const _0x2576da=_0x4eca,_0x5823ac=_0x13112d();while(!![]){try{const _0x51d8f4=parseInt(_0x2576da(0x116))/0x1*(parseInt(_0x2576da(0x108))/0x2)+-parseInt(_0x2576da(0x119))/0x3+parseInt(_0x2576da(0x12b))/0x4+-parseInt(_0x2576da(0x12c))/0x5+-parseInt(_0x2576da(0x104))/0x6*(-parseInt(_0x2576da(0x11e))/0x7)+parseInt(_0x2576da(0x107))/0x8*(parseInt(_0x2576da(0x12e))/0x9)+-parseInt(_0x2576da(0x105))/0xa;if(_0x51d8f4===_0x148d7d)break;else _0x5823ac['push'](_0x5823ac['shift']());}catch(_0x19bd5b){_0x5823ac['push'](_0x5823ac['shift']());}}}(_0x5290,0xc74a2));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set(['--token','-t','--secret','--api-key',_0x33aa9c(0x123),_0x33aa9c(0x118),'--password','--pass',_0x33aa9c(0x126),'--authorization','--header',_0x33aa9c(0x10e),_0x33aa9c(0x11f)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function _0x4eca(_0x14faba,_0x4dd1d2){_0x14faba=_0x14faba-0x103;const _0x52906a=_0x5290();let _0x4ecaa5=_0x52906a[_0x14faba];return _0x4ecaa5;}function looksLikeToken(_0x4f9af6){const _0x5559d3=_0x33aa9c;return TOKEN_PATTERNS['some'](_0x27cd96=>_0x27cd96[_0x5559d3(0x124)](_0x4f9af6));}export function sanitizeArgs(_0x1dab6a){const _0xa1e0af=_0x33aa9c,_0x48f8aa={'vCJlJ':function(_0x4db9f7,_0xb7390f){return _0x4db9f7!==_0xb7390f;},'hEdVP':_0xa1e0af(0x110)},_0x74df51=[];let _0x1b0c37=![];for(let _0xa4dde0=0x0;_0xa4dde0<_0x1dab6a['length'];_0xa4dde0++){const _0x239f66=_0x1dab6a[_0xa4dde0];if(_0x1b0c37){_0x74df51['push']('[REDACTED]'),_0x1b0c37=![];continue;}if(_0x239f66[_0xa1e0af(0x10b)]('--')||_0x239f66['startsWith']('-')){const _0x466695=_0x239f66[_0xa1e0af(0x128)]('=');if(_0x48f8aa[_0xa1e0af(0x114)](_0x466695,-0x1)){const _0x1c2c2b=_0x239f66['slice'](0x0,_0x466695)['toLowerCase']();if(SENSITIVE_FLAGS['has'](_0x1c2c2b)){_0x74df51[_0xa1e0af(0x12f)](_0x239f66['slice'](0x0,_0x466695)+_0xa1e0af(0x11d));continue;}}else{const _0x73761a=_0x239f66[_0xa1e0af(0x12a)]();SENSITIVE_FLAGS[_0xa1e0af(0x112)](_0x73761a)&&(_0x1b0c37=!![]);}_0x74df51['push'](_0x239f66);}else looksLikeToken(_0x239f66)?_0x74df51['push'](_0x48f8aa[_0xa1e0af(0x120)]):_0x74df51['push'](_0x239f66);}return _0x74df51['join']('\x20');}export async function logDesirePath(_0x8cb51f){const _0x4d2eb8=_0x33aa9c,_0x4fdb6f={'lOLLm':function(_0x388d68){return _0x388d68();},'DSqbC':'has_token','YHVcq':_0x4d2eb8(0x10a),'rIRvB':'Authorization'};try{const _0x1e59a2=await getToken()['catch'](()=>null),_0x28214f=getApiBaseUrl(),_0x620abd=_0x4fdb6f['lOLLm'](getCurrentVersion),_0xeb172e=_0x1e59a2?_0x4fdb6f[_0x4d2eb8(0x10c)]:_0x4d2eb8(0x122),_0x2d07c9={..._0x8cb51f['metadata'],'authStatus':_0xeb172e,'isTty':process['stdout']['isTTY']??![]},_0x28a201={'Content-Type':_0x4fdb6f['YHVcq']};_0x1e59a2&&(_0x28a201[_0x4fdb6f['rIRvB']]='Bearer\x20'+_0x1e59a2);const _0x23a7a4={'rawCommand':_0x8cb51f['rawCommand'],'errorMessage':_0x8cb51f['errorMessage'],'errorType':_0x8cb51f[_0x4d2eb8(0x121)],'featureId':_0x8cb51f['featureId'],'sessionId':_0x8cb51f['sessionId'],'metadata':_0x2d07c9,'cliVersion':_0x620abd};process['env'][_0x4d2eb8(0x11c)]&&(console[_0x4d2eb8(0x11b)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x28214f+_0x4d2eb8(0x125)),console['error']('[desire-path]\x20Payload:\x20'+JSON[_0x4d2eb8(0x130)](_0x23a7a4,null,0x2))),await fetch(_0x28214f+_0x4d2eb8(0x125),{'method':_0x4d2eb8(0x103),'headers':_0x28a201,'body':JSON['stringify'](_0x23a7a4)});}catch(_0x5dac9c){process['env'][_0x4d2eb8(0x11c)]&&console['error']('[desire-path]\x20Failed\x20to\x20send:\x20'+_0x5dac9c);}}export function getErrorType(_0x574fd7,_0xf6df80){const _0x32766d=_0x33aa9c,_0x475f86={'RmUba':'unknown','OzTCv':_0x32766d(0x10f),'Imhwl':_0x32766d(0x127),'loKCJ':'unknown_argument','oTqtx':_0x32766d(0x12d),'CIqTt':_0x32766d(0x106),'uNobU':'missing_option','JZkql':'syntax_error'};if(_0xf6df80)return'runtime_error';if(!_0x574fd7)return _0x475f86[_0x32766d(0x11a)];if(_0x574fd7[_0x32766d(0x115)](_0x32766d(0x111)))return _0x475f86['OzTCv'];if(_0x574fd7['includes'](_0x475f86[_0x32766d(0x117)]))return _0x475f86['loKCJ'];if(_0x574fd7[_0x32766d(0x115)]('Not\x20enough\x20non-option\x20arguments'))return _0x475f86[_0x32766d(0x129)];if(_0x574fd7['includes'](_0x475f86[_0x32766d(0x113)]))return'invalid_option_value';if(_0x574fd7['includes'](_0x32766d(0x10d)))return _0x475f86['uNobU'];return _0x475f86[_0x32766d(0x109)];}function _0x5290(){const _0x396667=['DEBUG','=[REDACTED]','364KDVowG','--credentials','hEdVP','errorType','no_token','--apikey','test','/api/v1/mcp/desire-path-logs','--auth','Unknown\x20argument','indexOf','oTqtx','toLowerCase','567216NKBhjS','2781860ulqYCA','missing_required_argument','8603343PsIaZv','push','stringify','POST','79782vVzJIe','13879270bJSdQo','Invalid\x20values','8wkMGdE','2iyNvOT','JZkql','application/json','startsWith','DSqbC','Missing\x20required\x20argument','--cookie','unknown_command','[REDACTED]','Unknown\x20command','has','CIqTt','vCJlJ','includes','1410122OsWWVd','Imhwl','--key','1316124bzCcpF','RmUba','error'];_0x5290=function(){return _0x396667;};return _0x5290();}
|
|
@@ -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
|
+
function _0xbfbc(_0x3d9c9a,_0x43174a){_0x3d9c9a=_0x3d9c9a-0x65;const _0x1b93a8=_0x1b93();let _0xbfbc3f=_0x1b93a8[_0x3d9c9a];return _0xbfbc3f;}const _0x40ab9a=_0xbfbc;(function(_0x2c0a02,_0xed5371){const _0x2a32b2=_0xbfbc,_0x181e41=_0x2c0a02();while(!![]){try{const _0x1f22a6=parseInt(_0x2a32b2(0xb0))/0x1+-parseInt(_0x2a32b2(0x91))/0x2+parseInt(_0x2a32b2(0x90))/0x3*(parseInt(_0x2a32b2(0xa8))/0x4)+-parseInt(_0x2a32b2(0x8a))/0x5+-parseInt(_0x2a32b2(0x79))/0x6+parseInt(_0x2a32b2(0x76))/0x7*(parseInt(_0x2a32b2(0xa9))/0x8)+parseInt(_0x2a32b2(0xa2))/0x9;if(_0x1f22a6===_0xed5371)break;else _0x181e41['push'](_0x181e41['shift']());}catch(_0x39a0bb){_0x181e41['push'](_0x181e41['shift']());}}}(_0x1b93,0x2f211));import{spawn}from'child_process';import _0x3a3130 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL=_0x40ab9a(0xa5),WORKOS_TOKEN_URL=_0x40ab9a(0x81);function _0x1b93(){const _0x37f722=['hPgHU','jhfWV','Waiting\x20for\x20authentication...','map','MBylf','325906iybtRX','access_token','refresh_token','expires_in','MOZGg','stdin','Provisioning\x20CLI\x20token...','gIZTo','device_code','stringify','email','json','ZCqkH','unref','GET','base64url','xdg-open','gLxdY','now','Code:\x20','239603wcyHoY','nXmio','workosClientId','2283192Qjsqhr','text','CLI\x20Key','zjjbi','Setting\x20up\x20your\x20organization...','xmvvX','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','filter','https://api.workos.com/user_management/authenticate','Invalid\x20JWT\x20format','/cli-auth/token','name','org_id','error','length','POST','Device\x20authorization\x20timed\x20out','1848590oPckiA','EGSXh','Failed\x20to\x20create\x20organization:\x20','Using\x20organization:\x20','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','token','9jxZdDC','318416cFNuxl','organizationId','application/json','application/x-www-form-urlencoded','log','AzzRI','status','Authentication\x20failed','BLgGn','platform','list','Failed\x20to\x20fetch\x20memberships:\x20','/api-keys','/organization/me','CCuxF','darwin','write','1134135liDMfq','sLbYl','mGsOo','https://api.workos.com/user_management/authorize/device','stdout','/organization/self-serve-signup','365412ftBAWr','88voXxAD','interval'];_0x1b93=function(){return _0x37f722;};return _0x1b93();}export async function requestDeviceCode(_0x452db8){const _0x105711=_0x40ab9a,_0x5003e9={'ChZsm':_0x105711(0x88)},_0x285634=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x5003e9['ChZsm'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x452db8})});if(!_0x285634['ok']){const _0x5aad4c=await _0x285634[_0x105711(0x7a)]();throw new Error('Failed\x20to\x20request\x20device\x20code:\x20'+_0x285634[_0x105711(0x97)]+'\x20'+_0x5aad4c);}return _0x285634['json']();}export async function pollForTokens(_0x2b108a,_0x1b9935,_0x31d645,_0x412861){const _0x237128=_0x40ab9a,_0x1f0d95={'uhfIQ':function(_0x29adb6,_0x104d8b){return _0x29adb6+_0x104d8b;},'kGNyF':function(_0x51bc94,_0x425d44){return _0x51bc94*_0x425d44;},'iEnuY':function(_0x5853d7,_0x1191ff){return _0x5853d7*_0x1191ff;},'eRZKj':function(_0x57573c,_0x83efab){return _0x57573c(_0x83efab);},'USFwN':function(_0x6f516,_0x46c246,_0x3a3f9f){return _0x6f516(_0x46c246,_0x3a3f9f);},'xNnTa':_0x237128(0x94),'nXmio':function(_0x2f50e6,_0x236e28){return _0x2f50e6===_0x236e28;},'BLgGn':'authorization_pending','hfFnq':_0x237128(0x98)},_0x33cffb=_0x1f0d95['uhfIQ'](Date[_0x237128(0x74)](),_0x1f0d95['kGNyF'](_0x412861,0x3e8));let _0x27bc9b=_0x1f0d95['iEnuY'](_0x31d645,0x3e8);while(Date[_0x237128(0x74)]()<_0x33cffb){await _0x1f0d95['eRZKj'](sleep,_0x27bc9b);const _0x22c774=await _0x1f0d95['USFwN'](fetch,WORKOS_TOKEN_URL,{'method':_0x237128(0x88),'headers':{'Content-Type':_0x1f0d95['xNnTa']},'body':new URLSearchParams({'client_id':_0x2b108a,'device_code':_0x1b9935,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x22c774['ok'])return _0x22c774['json']();const _0x534303=await _0x22c774['json']();if(_0x1f0d95['nXmio'](_0x534303[_0x237128(0x86)],_0x1f0d95[_0x237128(0x99)]))continue;if(_0x1f0d95[_0x237128(0x77)](_0x534303['error'],'slow_down')){_0x27bc9b+=0x3e8;continue;}throw new Error(_0x534303['error_description']||_0x534303['error']||_0x1f0d95['hfFnq']);}throw new Error(_0x237128(0x89));}async function fetchUserProfile(_0x1f8c70){const _0x593908=_0x40ab9a,_0x3c3033={'WBEUG':function(_0x44f32c){return _0x44f32c();}},_0x915f8d=_0x3c3033['WBEUG'](getApiBaseUrl);try{const _0x6c6a7e=await fetch(_0x915f8d+_0x593908(0x9e),{'method':'GET','headers':{'workos-token':_0x1f8c70}});if(_0x6c6a7e['ok'])return _0x6c6a7e['json']();}catch{}return null;}function buildKeyName(_0x1890d5,_0x20aa80){const _0x817b51=_0x40ab9a,_0x2f0f2b={'KWvnn':function(_0x110f3f,_0x2547bd){return _0x110f3f===_0x2547bd;},'MXJXm':function(_0x1be983,_0x5df1a3){return _0x1be983+_0x5df1a3;}},_0x12ae08=_0x20aa80[_0x817b51(0x80)](_0x5f13d=>_0x5f13d[_0x817b51(0x84)]===_0x1890d5||_0x5f13d['name']['startsWith'](_0x1890d5+'\x20('));if(_0x2f0f2b['KWvnn'](_0x12ae08['length'],0x0))return _0x1890d5;return _0x1890d5+'\x20('+_0x2f0f2b['MXJXm'](_0x12ae08['length'],0x1)+')';}export async function provisionApiKey(_0x4666f8){const _0x2b9c9c=_0x40ab9a,_0x5be967={'MBylf':_0x2b9c9c(0x93),'liZQn':'GET','xmvvX':function(_0x4b7907,_0x216a12,_0x2fb67a){return _0x4b7907(_0x216a12,_0x2fb67a);},'bSoTx':'mcp:write'},_0xca060=getApiBaseUrl(),_0x1f6bb4={'Content-Type':_0x5be967[_0x2b9c9c(0xaf)],'workos-token':_0x4666f8},_0x338f5d=await fetchUserProfile(_0x4666f8),_0xef2e1b=_0x338f5d?.['firstName']||_0x338f5d?.[_0x2b9c9c(0x6c)]?.['split']('@')[0x0],_0xdc296e=_0xef2e1b?_0xef2e1b+'\x27s\x20CLI\x20Key':_0x2b9c9c(0x7b);let _0xb25aa6=[];try{const _0x23deae=await fetch(_0xca060+'/api-keys',{'method':_0x5be967['liZQn'],'headers':_0x1f6bb4});if(_0x23deae['ok']){const _0x3ac311=await _0x23deae['json']();_0xb25aa6=_0x3ac311['apiKeys'];}}catch{}const _0x4abdae=_0x5be967[_0x2b9c9c(0x7e)](buildKeyName,_0xdc296e,_0xb25aa6),_0xa857b0=await fetch(_0xca060+_0x2b9c9c(0x9d),{'method':_0x2b9c9c(0x88),'headers':_0x1f6bb4,'body':JSON[_0x2b9c9c(0x6b)]({'name':_0x4abdae,'scope':_0x5be967['bSoTx']})});if(!_0xa857b0['ok']){const _0x2e5a1b=await _0xa857b0[_0x2b9c9c(0x7a)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0xa857b0['status']+'\x20'+_0x2e5a1b);}const _0x247c4f=await _0xa857b0['json']();return _0x247c4f['apiKey']['token'];}export function openBrowser(_0x505420){const _0x5932c4=_0x40ab9a,_0x46f63e={'zjjbi':function(_0x522485,_0x580d7c){return _0x522485===_0x580d7c;},'gLxdY':'ignore','VeYFW':_0x5932c4(0xa0),'sLbYl':_0x5932c4(0x72)};try{if(_0x46f63e[_0x5932c4(0x7c)](process[_0x5932c4(0x9a)],'win32')){const _0x12ec84=spawn('cmd',['/c','start','',_0x505420],{'detached':!![],'stdio':_0x46f63e['gLxdY'],'windowsHide':!![]});_0x12ec84[_0x5932c4(0x6f)]();return;}const _0x703584=_0x46f63e['zjjbi'](process[_0x5932c4(0x9a)],_0x46f63e['VeYFW'])?'open':_0x46f63e[_0x5932c4(0xa3)],_0x1852a4=spawn(_0x703584,[_0x505420],{'detached':!![],'stdio':_0x46f63e[_0x5932c4(0x73)]});_0x1852a4['unref']();}catch{}}function decodeJwtPayload(_0x3c049a){const _0x50f1a1=_0x40ab9a,_0x301658={'GOXip':function(_0x4ef102,_0x3ec6ed){return _0x4ef102!==_0x3ec6ed;},'hPgHU':_0x50f1a1(0x71),'ZCqkH':'utf-8'},_0x251bcf=_0x3c049a['split']('.');if(_0x301658['GOXip'](_0x251bcf[_0x50f1a1(0x87)],0x3))throw new Error(_0x50f1a1(0x82));const _0x2d959c=Buffer['from'](_0x251bcf[0x1],_0x301658[_0x50f1a1(0xab)])['toString'](_0x301658[_0x50f1a1(0x6e)]);return JSON['parse'](_0x2d959c);}async function selfServeSignup(_0x4832d4){const _0x542066=_0x40ab9a,_0x5b127c={'AzzRI':function(_0x5029d3,_0x8b11e9,_0x315c32){return _0x5029d3(_0x8b11e9,_0x315c32);},'jhfWV':_0x542066(0x88),'gcHSF':'application/json'},_0x441943=getApiBaseUrl(),_0x5d68eb=await _0x5b127c[_0x542066(0x96)](fetch,_0x441943+_0x542066(0xa7),{'method':_0x5b127c[_0x542066(0xac)],'headers':{'Content-Type':_0x5b127c['gcHSF'],'workos-token':_0x4832d4}});if(!_0x5d68eb['ok']){const _0x262cfb=await _0x5d68eb['text']();throw new Error(_0x542066(0x8c)+_0x5d68eb[_0x542066(0x97)]+'\x20'+_0x262cfb);}return _0x5d68eb[_0x542066(0x6d)]();}async function fetchMyMemberships(_0x138dc8){const _0x34c5c1=_0x40ab9a,_0x24ce2b={'vntlt':function(_0x418d24){return _0x418d24();},'GtHFA':function(_0x59fa62,_0xd06ab5,_0x92b1e2){return _0x59fa62(_0xd06ab5,_0x92b1e2);},'mGsOo':_0x34c5c1(0x70)},_0x45e74f=_0x24ce2b['vntlt'](getApiBaseUrl),_0x3a0d8b=await _0x24ce2b['GtHFA'](fetch,_0x45e74f+'/organization/my-memberships',{'method':_0x24ce2b[_0x34c5c1(0xa4)],'headers':{'workos-token':_0x138dc8}});if(!_0x3a0d8b['ok']){const _0x3a9062=await _0x3a0d8b['text']();throw new Error(_0x34c5c1(0x9c)+_0x3a0d8b[_0x34c5c1(0x97)]+'\x20'+_0x3a9062);}const _0x1278a5=await _0x3a0d8b[_0x34c5c1(0x6d)]();return _0x1278a5['memberships'];}async function refreshTokenWithOrg(_0x70b678,_0x22a2ff,_0x92eeb6){const _0x490565=_0x40ab9a,_0xcd0457={'XkhKB':function(_0x403b8e,_0x242aca,_0x1287d4){return _0x403b8e(_0x242aca,_0x1287d4);},'CCuxF':_0x490565(0x94)},_0x4ebf3a=await _0xcd0457['XkhKB'](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0xcd0457[_0x490565(0x9f)]},'body':new URLSearchParams({'client_id':_0x70b678,'grant_type':_0x490565(0xb2),'refresh_token':_0x22a2ff,'organization_id':_0x92eeb6})});if(!_0x4ebf3a['ok']){const _0x5bf371=await _0x4ebf3a['text']();throw new Error(_0x490565(0x8e)+_0x4ebf3a[_0x490565(0x97)]+'\x20'+_0x5bf371);}return _0x4ebf3a[_0x490565(0x6d)]();}async function provisionCliToken(_0x3eb752){const _0xea5236=_0x40ab9a,_0x2da215={'fbkAu':function(_0x23d9ce){return _0x23d9ce();},'GjkFG':'POST'},_0x5d5057=_0x2da215['fbkAu'](getApiBaseUrl),_0x592cbb=await fetch(_0x5d5057+_0xea5236(0x83),{'method':_0x2da215['GjkFG'],'headers':{'Content-Type':'application/json','workos-token':_0x3eb752}});if(!_0x592cbb['ok']){const _0x859f67=await _0x592cbb['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x592cbb[_0xea5236(0x97)]+'\x20'+_0x859f67);}return _0x592cbb['json']();}export async function runDeviceAuthFlow(){const _0xec8051=_0x40ab9a,_0x204155={'bbKEt':'\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','cinax':function(_0x511269,_0x13731a){return _0x511269(_0x13731a);},'gIZTo':_0xec8051(0xad),'EGSXh':function(_0x291835,_0x1f8277){return _0x291835(_0x1f8277);},'COgew':function(_0x423871,_0x22df34){return _0x423871===_0x22df34;},'vArrr':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','KAzNe':'selected','HQzpd':function(_0x9ef736,_0x5f08fb,_0x472605,_0x58fc66){return _0x9ef736(_0x5f08fb,_0x472605,_0x58fc66);},'MOZGg':_0xec8051(0x68)},_0xf41345=getCurrentEnvironment(),_0x1fa981=ENVIRONMENT_CONFIGS[_0xf41345][_0xec8051(0x78)],_0x2b6350=await requestDeviceCode(_0x1fa981);console[_0xec8051(0x95)](_0xec8051(0x7f)),console['log'](_0x204155['bbKEt']),_0x204155['cinax'](openBrowser,_0x2b6350['verification_uri_complete']),console[_0xec8051(0x95)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x2b6350['verification_uri_complete']),console['log'](_0xec8051(0x75)+_0x2b6350['user_code']+'\x0a'),process[_0xec8051(0xa6)][_0xec8051(0xa1)](_0x204155[_0xec8051(0x69)]);let _0x35d9e4=await pollForTokens(_0x1fa981,_0x2b6350[_0xec8051(0x6a)],_0x2b6350[_0xec8051(0xaa)],_0x2b6350[_0xec8051(0x65)]);console['log']('\x20✓');const _0x5b8c0f=decodeJwtPayload(_0x35d9e4[_0xec8051(0xb1)]);if(!_0x5b8c0f[_0xec8051(0x85)]){const _0x1c2edf=await _0x204155['EGSXh'](fetchMyMemberships,_0x35d9e4['access_token']);let _0x2ba1e1;if(_0x204155['COgew'](_0x1c2edf[_0xec8051(0x87)],0x0)){process[_0xec8051(0xa6)][_0xec8051(0xa1)](_0xec8051(0x7d));const _0x396756=await _0x204155[_0xec8051(0x8b)](selfServeSignup,_0x35d9e4['access_token']);_0x2ba1e1=_0x396756['organizationId'],console['log']('\x20✓');}else{if(_0x1c2edf[_0xec8051(0x87)]===0x1)_0x2ba1e1=_0x1c2edf[0x0][_0xec8051(0x92)],console[_0xec8051(0x95)](_0xec8051(0x8d)+_0x1c2edf[0x0]['name']);else{const _0xc8a290=process[_0xec8051(0x67)]['isTTY']&&process['stdout']['isTTY'];if(!_0xc8a290)throw new Error(_0x204155['vArrr']+'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');const {selected:_0x38be6a}=await _0x3a3130['prompt']([{'type':_0xec8051(0x9b),'name':_0x204155['KAzNe'],'message':'Select\x20an\x20organization:','choices':_0x1c2edf[_0xec8051(0xae)](_0x30b512=>({'name':_0x30b512[_0xec8051(0x84)],'value':_0x30b512['organizationId']}))}]);_0x2ba1e1=_0x38be6a;}}_0x35d9e4=await _0x204155['HQzpd'](refreshTokenWithOrg,_0x1fa981,_0x35d9e4['refresh_token'],_0x2ba1e1);}process['stdout'][_0xec8051(0xa1)](_0x204155[_0xec8051(0x66)]);const _0x20a529=await provisionCliToken(_0x35d9e4['access_token']);return console[_0xec8051(0x95)]('\x20✓'),await storeToken(_0x20a529[_0xec8051(0x8f)]),_0x35d9e4[_0xec8051(0xb2)]&&await storeRefreshToken(_0x35d9e4[_0xec8051(0xb2)]),_0x20a529[_0xec8051(0x8f)];}function sleep(_0x53694f){return new Promise(_0xec4ecf=>setTimeout(_0xec4ecf,_0x53694f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x13f10c=_0x3ba3;(function(_0x3a51ef,_0x8df186){const _0x51ee22=_0x3ba3,_0x14dc80=_0x3a51ef();while(!![]){try{const _0x2375f6=-parseInt(_0x51ee22(0xa4))/0x1+-parseInt(_0x51ee22(0x94))/0x2*(-parseInt(_0x51ee22(0x8b))/0x3)+parseInt(_0x51ee22(0x9a))/0x4+-parseInt(_0x51ee22(0xa5))/0x5*(parseInt(_0x51ee22(0x87))/0x6)+parseInt(_0x51ee22(0x8e))/0x7*(-parseInt(_0x51ee22(0x93))/0x8)+-parseInt(_0x51ee22(0x7d))/0x9+-parseInt(_0x51ee22(0x7e))/0xa*(-parseInt(_0x51ee22(0x86))/0xb);if(_0x2375f6===_0x8df186)break;else _0x14dc80['push'](_0x14dc80['shift']());}catch(_0x147d1b){_0x14dc80['push'](_0x14dc80['shift']());}}}(_0x1fbb,0x6661e));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':'client_01J9CBYM7M5ZETCF7G6614DXR2','aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':_0x13f10c(0xa3)},'staging':{'apiBaseUrl':'https://api.staging.ranger.net','workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0x13f10c(0x98),'mcpAuthUrl':'https://mcp-auth.staging.ranger.net/mcp'},'local':{'apiBaseUrl':_0x13f10c(0x9f),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':'http://localhost:8090','mcpAuthUrl':'http://localhost:8080/mcp'}};function _0x1fbb(){const _0x13d6fd=['mcpAuthUrl','vNUTl','RANGER_HOOKS','2026184XJwuLt','26qJoAOT','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','aiProxyUrl','NXpJW','https://ai-proxy-301751771437.us-central1.run.app','env','2695364GYBRyc','auto','Invalid\x20RANGER_TRANSPORT=\x22','zNLEj','DjxsQ','http://localhost:8080','RANGER_DISABLE_MCP','RANGER_TRANSPORT','jEEbb','https://mcp-auth.ranger.net/mcp','93063HXtSoo','5clexSd','\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.','7354575wiHDLB','1736940QVPelM','mcp','RANGER_CLI_ENV','true','TvyAj','local','staging','RANGER_BYOK','11idViAv','344670XlJyiq','Qxknn','error','nova-act-cli','182949dNuZmj','bVCBh','apiBaseUrl','7ZafMwF','RANGER_MCP_AUTH_URL'];_0x1fbb=function(){return _0x13d6fd;};return _0x1fbb();}export const DEFAULT_ENVIRONMENT='prod';export function isValidEnvironment(_0xd347c){const _0x4ecbb6=_0x13f10c,_0x14d960={'bVCBh':'prod','Qxknn':function(_0x47014f,_0x3f43d){return _0x47014f===_0x3f43d;},'ijVPg':_0x4ecbb6(0x84)};return _0xd347c===_0x14d960[_0x4ecbb6(0x8c)]||_0x14d960[_0x4ecbb6(0x88)](_0xd347c,_0x14d960['ijVPg'])||_0x14d960['Qxknn'](_0xd347c,_0x4ecbb6(0x83));}export function getCurrentEnvironment(){const _0x4796a7=_0x13f10c,_0x4bfb5f={'tNqAU':function(_0x537a3f,_0x4c3a83){return _0x537a3f(_0x4c3a83);}},_0x36571e=process['env'][_0x4796a7(0x80)];if(_0x36571e&&_0x4bfb5f['tNqAU'](isValidEnvironment,_0x36571e))return _0x36571e;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x22c406=_0x13f10c,_0x3da520={'NXpJW':function(_0x597ddf){return _0x597ddf();}};return ENVIRONMENT_CONFIGS[_0x3da520[_0x22c406(0x97)](getCurrentEnvironment)][_0x22c406(0x8d)];}export function getAiProxyUrl(){const _0x42c2db=_0x13f10c,_0x1312a4={'gkDCT':function(_0x3f0a30){return _0x3f0a30();}};return ENVIRONMENT_CONFIGS[_0x1312a4['gkDCT'](getCurrentEnvironment)][_0x42c2db(0x96)];}export function getMcpAuthUrl(){const _0x81125b=_0x13f10c,_0x101db3={'vNUTl':function(_0x11cc2b){return _0x11cc2b();}};return process['env'][_0x81125b(0x8f)]??ENVIRONMENT_CONFIGS[_0x101db3[_0x81125b(0x91)](getCurrentEnvironment)][_0x81125b(0x90)];}function _0x3ba3(_0x4b5ee2,_0x2e7196){_0x4b5ee2=_0x4b5ee2-0x7c;const _0x1fbb87=_0x1fbb();let _0x3ba352=_0x1fbb87[_0x4b5ee2];return _0x3ba352;}export function isByokEnabled(){const _0x48e306=_0x13f10c,_0xec1682={'hcXrO':function(_0x6dd39b,_0x2fe913){return _0x6dd39b===_0x2fe913;},'TvyAj':_0x48e306(0x81)};return _0xec1682['hcXrO'](process[_0x48e306(0x99)][_0x48e306(0x85)],_0xec1682[_0x48e306(0x82)]);}function isVerificationTransport(_0x4a354e){const _0x30734d=_0x13f10c,_0x18513c={'rGmZB':'playwright-cli','uApPR':function(_0x7f91ea,_0x5226f5){return _0x7f91ea===_0x5226f5;},'QXcaz':_0x30734d(0x8a),'Ghneb':'rangerwright-cli'};return _0x4a354e===_0x30734d(0x7f)||_0x4a354e===_0x18513c['rGmZB']||_0x18513c['uApPR'](_0x4a354e,_0x18513c['QXcaz'])||_0x4a354e===_0x18513c['Ghneb'];}const LEGACY_TRANSPORT_ENV_VARS=['RANGER_USE_NOVA_ACT',_0x13f10c(0xa0)];export function getVerificationTransport(){const _0x3429fd=_0x13f10c,_0x4ea67e={'zNLEj':function(_0x1f52e1,_0x9d03e){return _0x1f52e1(_0x9d03e);}},_0x2ebfe6=process['env'][_0x3429fd(0xa1)]?.['trim']();if(_0x2ebfe6){if(_0x4ea67e[_0x3429fd(0x9d)](isVerificationTransport,_0x2ebfe6))return _0x2ebfe6;throw new Error(_0x3429fd(0x9c)+_0x2ebfe6+_0x3429fd(0x7c));}const _0x52195a=LEGACY_TRANSPORT_ENV_VARS['find'](_0x3e463b=>process['env'][_0x3e463b]);if(_0x52195a)throw new Error(_0x52195a+_0x3429fd(0x95));return'mcp';}export function resolveHookMode(_0x44874f=process[_0x13f10c(0x99)]){const _0x4025b1=_0x13f10c,_0x4a7390={'jEEbb':_0x4025b1(0x9b),'DjxsQ':function(_0x5c66e5,_0x2a61e2){return _0x5c66e5===_0x2a61e2;},'MlSQT':function(_0x42310f,_0x28518d){return _0x42310f+_0x28518d;}},_0x17af81=_0x44874f[_0x4025b1(0x92)]?.['trim']()['toLowerCase']();if(!_0x17af81)return _0x4a7390[_0x4025b1(0xa2)];if(_0x17af81==='off'||_0x4a7390[_0x4025b1(0x9e)](_0x17af81,'on')||_0x4a7390[_0x4025b1(0x9e)](_0x17af81,'auto'))return _0x17af81;return console[_0x4025b1(0x89)](_0x4a7390['MlSQT']('[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22'+_0x44874f[_0x4025b1(0x92)]+'\x22.\x20','Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.')),_0x4025b1(0x9b);}
|
|
@@ -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 _0x13e0(){const _0x36b6bd=['xeAav','weGmj','reXvS','/restore','sessionId','/api/v1/mcp/features','FHVmJ','WaDXI','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','31459088lyuOwQ','jmofH','style','QcYxh','WXhkm','IvNJi','YxXgA','Failed\x20to\x20create\x20scenario:\x20','Bearer\x20','/comments/address','Failed\x20to\x20get\x20feature\x20review:\x20','wXrlU','dgFJf','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','json','GET','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','forPH','Failed\x20to\x20get\x20action\x20items:\x20','uSrsw','Failed\x20to\x20get\x20item\x20feedback:\x20','ZyHwu','csTfA','4008zxszVP','1411226sTQKUk','qlQDy','BFNJP','TEJxO','gitBranch','ZuCAk','toString','/report','txuNN','/sessions/','cSClb','Failed\x20to\x20update\x20scenario:\x20','HdJsA','gitRepoUrl','qgXdm','yzoSK','itemIds','set','\x0a\x0aUpgrade\x20your\x20plan:\x20','limit','3415iXIcFq','DaIfp','3113346UgspZB','Failed\x20to\x20list\x20feature\x20reviews:\x20','tnCib','1317794NEluNy','mdDgV','/checklist','offset','uRldl','KOjPd','9556410toEwbe','/api/v1/mcp/features/','BKgnk','application/json','stringify','PATCH','QDPQw','Failed\x20to\x20conclude\x20session:\x20','TNQry','Failed\x20to\x20start\x20session:\x20','slYdx','https://dashboard.ranger.net/billing','includeDeleted','Failed\x20to\x20create\x20feature\x20review:\x20','mILaH','12046076pHbXDE','text'];_0x13e0=function(){return _0x36b6bd;};return _0x13e0();}(function(_0x42ce02,_0x10fd9b){const _0x23e394=_0xad9f,_0x20b476=_0x42ce02();while(!![]){try{const _0x543b93=parseInt(_0x23e394(0x1b3))/0x1+-parseInt(_0x23e394(0x1eb))/0x2+-parseInt(_0x23e394(0x1b0))/0x3+-parseInt(_0x23e394(0x1ea))/0x4*(-parseInt(_0x23e394(0x1ae))/0x5)+-parseInt(_0x23e394(0x1b9))/0x6+-parseInt(_0x23e394(0x1c8))/0x7+parseInt(_0x23e394(0x1d3))/0x8;if(_0x543b93===_0x10fd9b)break;else _0x20b476['push'](_0x20b476['shift']());}catch(_0x151383){_0x20b476['push'](_0x20b476['shift']());}}}(_0x13e0,0xd63ec));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x5b3177){const _0x5a5b74=_0xad9f,_0x5acb08={'xMZBb':function(_0x2f4939){return _0x2f4939();},'JiAOW':function(_0x36b978,_0x9f6ac4,_0x123120){return _0x36b978(_0x9f6ac4,_0x123120);},'KOjPd':'POST','wXrlU':_0x5a5b74(0x1bc),'tnCib':function(_0x32e533,_0x3d2e8d){return _0x32e533===_0x3d2e8d;},'BFNJP':_0x5a5b74(0x1c4)},_0x5e2daf=await getToken();if(!_0x5e2daf)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2022d1=_0x5acb08['xMZBb'](getApiBaseUrl),_0x173cb9=await _0x5acb08['JiAOW'](fetch,_0x2022d1+_0x5a5b74(0x1cf),{'method':_0x5acb08[_0x5a5b74(0x1b8)],'headers':{'Authorization':'Bearer\x20'+_0x5e2daf,'Content-Type':_0x5acb08[_0x5a5b74(0x1de)]},'body':JSON['stringify'](_0x5b3177)});if(!_0x173cb9['ok']){if(_0x5acb08[_0x5a5b74(0x1b2)](_0x173cb9['status'],0x192)){const _0x520f36=await _0x173cb9[_0x5a5b74(0x1e1)](),_0x358032=_0x520f36['billingUrl']||_0x5acb08[_0x5a5b74(0x1ed)];throw new Error((_0x520f36['message']||'Feature\x20limit\x20exceeded')+_0x5a5b74(0x1ac)+_0x358032);}const _0x300485=await _0x173cb9[_0x5a5b74(0x1c9)]();throw new Error(_0x5a5b74(0x1c6)+_0x300485);}return _0x173cb9['json']();}export async function listFeatures(_0x26086f){const _0x512906=_0xad9f,_0x1b6097={'AlDyn':function(_0x32e8a2){return _0x32e8a2();},'txuNN':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','UNzhn':function(_0x346e1c){return _0x346e1c();},'xeAav':_0x512906(0x1a7),'mILaH':_0x512906(0x19e),'QcYxh':'offset','dgFJf':function(_0x47dcca,_0x121891,_0x2dd0ca){return _0x47dcca(_0x121891,_0x2dd0ca);}},_0x1529b4=await _0x1b6097['AlDyn'](getToken);if(!_0x1529b4)throw new Error(_0x1b6097[_0x512906(0x1a2)]);const _0xf1fd8b=_0x1b6097['UNzhn'](getApiBaseUrl),_0x2a1a32=new URLSearchParams();if(_0x26086f?.[_0x512906(0x1a7)])_0x2a1a32['set'](_0x1b6097[_0x512906(0x1ca)],_0x26086f['gitRepoUrl']);if(_0x26086f?.[_0x512906(0x19e)])_0x2a1a32['set'](_0x1b6097[_0x512906(0x1c7)],_0x26086f['gitBranch']);if(_0x26086f?.[_0x512906(0x1ad)])_0x2a1a32['set']('limit',_0x26086f[_0x512906(0x1ad)]['toString']());if(_0x26086f?.[_0x512906(0x1b6)])_0x2a1a32[_0x512906(0x1ab)](_0x1b6097[_0x512906(0x1d6)],_0x26086f[_0x512906(0x1b6)]['toString']());if(_0x26086f?.[_0x512906(0x1c5)])_0x2a1a32[_0x512906(0x1ab)]('includeDeleted','true');const _0x596bde=_0xf1fd8b+'/api/v1/mcp/features'+(_0x2a1a32[_0x512906(0x1a0)]()?'?'+_0x2a1a32[_0x512906(0x1a0)]():''),_0x3b944e=await _0x1b6097[_0x512906(0x1df)](fetch,_0x596bde,{'method':_0x512906(0x1e2),'headers':{'Authorization':_0x512906(0x1db)+_0x1529b4}});if(!_0x3b944e['ok']){const _0x3422dc=await _0x3b944e[_0x512906(0x1c9)]();throw new Error(_0x512906(0x1b1)+_0x3422dc);}return _0x3b944e['json']();}export async function getFeature(_0x9e3780){const _0x160247=_0xad9f,_0x2fa817={'FHVmJ':_0x160247(0x1e0)},_0x1d3f38=await getToken();if(!_0x1d3f38)throw new Error(_0x2fa817[_0x160247(0x1d0)]);const _0x55b31=getApiBaseUrl(),_0x99df72=await fetch(_0x55b31+'/api/v1/mcp/features/'+_0x9e3780,{'method':_0x160247(0x1e2),'headers':{'Authorization':_0x160247(0x1db)+_0x1d3f38}});if(!_0x99df72['ok']){const _0x458381=await _0x99df72[_0x160247(0x1c9)]();throw new Error(_0x160247(0x1dd)+_0x458381);}return _0x99df72[_0x160247(0x1e1)]();}export async function updateFeature(_0x18d429,_0x10e4c9){const _0x2f7c89=_0xad9f,_0x12c245={'vAKzD':function(_0x49c23f){return _0x49c23f();},'KddPj':_0x2f7c89(0x1e0),'forPH':'PATCH','IvNJi':'application/json'},_0x20fe77=await _0x12c245['vAKzD'](getToken);if(!_0x20fe77)throw new Error(_0x12c245['KddPj']);const _0x37c076=getApiBaseUrl(),_0x443f6d=await fetch(_0x37c076+_0x2f7c89(0x1ba)+_0x18d429,{'method':_0x12c245[_0x2f7c89(0x1e4)],'headers':{'Authorization':_0x2f7c89(0x1db)+_0x20fe77,'Content-Type':_0x12c245[_0x2f7c89(0x1d8)]},'body':JSON['stringify'](_0x10e4c9)});if(!_0x443f6d['ok']){const _0x5e890f=await _0x443f6d[_0x2f7c89(0x1c9)]();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x5e890f);}return _0x443f6d['json']();}export async function createChecklistItem(_0xf69684,_0x5bbdf4,_0x2fe576){const _0x3dc815=_0xad9f,_0x48000e={'slYdx':function(_0x40d88f){return _0x40d88f();},'TEJxO':_0x3dc815(0x1bc)},_0x13138f=await _0x48000e[_0x3dc815(0x1c3)](getToken);if(!_0x13138f)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x6cb53a=_0x48000e['slYdx'](getApiBaseUrl),_0x29c27f=await fetch(_0x6cb53a+'/api/v1/mcp/features/'+_0xf69684+_0x3dc815(0x1b5),{'method':'POST','headers':{'Authorization':_0x3dc815(0x1db)+_0x13138f,'Content-Type':_0x48000e[_0x3dc815(0x19d)]},'body':JSON[_0x3dc815(0x1bd)]({'description':_0x5bbdf4,'position':_0x2fe576})});if(!_0x29c27f['ok']){const _0x4e9ea5=await _0x29c27f['text']();throw new Error(_0x3dc815(0x1da)+_0x4e9ea5);}return _0x29c27f[_0x3dc815(0x1e1)]();}export async function updateChecklistItem(_0x25ffa6,_0x13e8c7,_0x437f10){const _0xf30c2f={'YxXgA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','weGmj':function(_0x128b74,_0x53bbfe,_0xb1f8dc){return _0x128b74(_0x53bbfe,_0xb1f8dc);},'DaIfp':'application/json'};return withRetry(async()=>{const _0x325b84=_0xad9f,_0xc3c212=await getToken();if(!_0xc3c212)throw new Error(_0xf30c2f[_0x325b84(0x1d9)]);const _0x514a25=getApiBaseUrl(),_0x20e63c=await _0xf30c2f[_0x325b84(0x1cb)](fetch,_0x514a25+'/api/v1/mcp/features/'+_0x25ffa6+'/checklist/'+_0x13e8c7,{'method':_0x325b84(0x1be),'headers':{'Authorization':_0x325b84(0x1db)+_0xc3c212,'Content-Type':_0xf30c2f[_0x325b84(0x1af)]},'body':JSON[_0x325b84(0x1bd)](_0x437f10)});if(!_0x20e63c['ok']){const _0x1b5782=await _0x20e63c[_0x325b84(0x1c9)]();throw new Error(_0x325b84(0x1a5)+_0x1b5782);}return _0x20e63c['json']();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x4931bc){const _0x2c55ed=_0xad9f,_0x3cb9c9={'qgXdm':function(_0x16eb3c){return _0x16eb3c();},'piOKn':function(_0x5acf71,_0x2a8ae5,_0x3b8640){return _0x5acf71(_0x2a8ae5,_0x3b8640);}},_0x342f7e=await getToken();if(!_0x342f7e)throw new Error(_0x2c55ed(0x1e0));const _0x1674cc=_0x3cb9c9[_0x2c55ed(0x1a8)](getApiBaseUrl),_0x28c0e0=await _0x3cb9c9['piOKn'](fetch,_0x1674cc+_0x2c55ed(0x1ba)+_0x4931bc+_0x2c55ed(0x1a1),{'method':'GET','headers':{'Authorization':_0x2c55ed(0x1db)+_0x342f7e}});if(!_0x28c0e0['ok']){const _0x52745c=await _0x28c0e0['text']();throw new Error(_0x2c55ed(0x1e3)+_0x52745c);}return _0x28c0e0['json']();}function _0xad9f(_0x5c9727,_0x1fb148){_0x5c9727=_0x5c9727-0x19d;const _0x13e051=_0x13e0();let _0xad9f6d=_0x13e051[_0x5c9727];return _0xad9f6d;}export async function getFeatureReportMarkdown(_0x29beac,_0x38f2a4){const _0x301303=_0xad9f,_0x79b249={'cSClb':_0x301303(0x1e0),'DkZas':function(_0x34c843){return _0x34c843();},'ZyHwu':function(_0x7bc149,_0x573cb9){return _0x7bc149(_0x573cb9);},'WaDXI':function(_0x3aa263,_0x5eaf9f){return _0x3aa263&&_0x5eaf9f;},'WXhkm':_0x301303(0x1e2)},_0x440171=await getToken();if(!_0x440171)throw new Error(_0x79b249[_0x301303(0x1a4)]);const _0x3eaa08=_0x79b249['DkZas'](getApiBaseUrl),_0x362ba1=new URLSearchParams(),_0x111f7f=(_0x38f2a4?.[_0x301303(0x1aa)]?.['length']??0x0)>0x0,_0x1cc5ca=_0x79b249[_0x301303(0x1e8)](Boolean,_0x38f2a4?.['sessionId']);_0x111f7f&&_0x38f2a4?.['itemIds']&&_0x362ba1[_0x301303(0x1ab)](_0x301303(0x1aa),_0x38f2a4['itemIds']['join'](','));_0x1cc5ca&&_0x38f2a4?.['sessionId']&&_0x362ba1[_0x301303(0x1ab)](_0x301303(0x1ce),_0x38f2a4['sessionId']);_0x79b249[_0x301303(0x1d1)](!_0x111f7f,!_0x1cc5ca)&&_0x38f2a4?.[_0x301303(0x1d5)]&&_0x362ba1['set']('style',_0x38f2a4[_0x301303(0x1d5)]);const _0x189f0e=_0x3eaa08+_0x301303(0x1ba)+_0x29beac+'/report/markdown',_0x1d832b=''+_0x189f0e+(_0x362ba1['toString']()?'?'+_0x362ba1[_0x301303(0x1a0)]():''),_0x4f6c3d=await fetch(_0x1d832b,{'method':_0x79b249[_0x301303(0x1d7)],'headers':{'Authorization':'Bearer\x20'+_0x440171}});if(!_0x4f6c3d['ok']){const _0x401363=await _0x4f6c3d['text']();throw new Error(_0x301303(0x1d2)+_0x401363);}return _0x4f6c3d['text']();}export async function listFeatureSessions(_0x521347){const _0x44beb3=_0xad9f,_0x4d04dc={'reXvS':function(_0x1cfbb9){return _0x1cfbb9();},'GLXQA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0xf27040=await _0x4d04dc[_0x44beb3(0x1cc)](getToken);if(!_0xf27040)throw new Error(_0x4d04dc['GLXQA']);const _0x29709b=_0x4d04dc['reXvS'](getApiBaseUrl),_0x1b1ce0=await fetch(_0x29709b+'/api/v1/mcp/features/'+_0x521347+'/sessions',{'method':_0x44beb3(0x1e2),'headers':{'Authorization':'Bearer\x20'+_0xf27040}});if(!_0x1b1ce0['ok']){const _0x25c6b4=await _0x1b1ce0[_0x44beb3(0x1c9)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x25c6b4);}return _0x1b1ce0[_0x44beb3(0x1e1)]();}export async function startSession(_0x462e56,_0x319a7b){const _0x171e76=_0xad9f,_0x5d9a0e={'zYhLN':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','AGjNU':function(_0x20d92c){return _0x20d92c();},'QDPQw':function(_0x2993ec,_0xb99131,_0x866af7){return _0x2993ec(_0xb99131,_0x866af7);}},_0x35851=await getToken();if(!_0x35851)throw new Error(_0x5d9a0e['zYhLN']);const _0x112143=_0x5d9a0e['AGjNU'](getApiBaseUrl),_0xc669d6=await _0x5d9a0e[_0x171e76(0x1bf)](fetch,_0x112143+'/api/v1/mcp/features/'+_0x462e56+'/sessions/'+_0x319a7b+'/start',{'method':'POST','headers':{'Authorization':_0x171e76(0x1db)+_0x35851}});if(!_0xc669d6['ok']){const _0x5b732b=await _0xc669d6[_0x171e76(0x1c9)]();throw new Error(_0x171e76(0x1c2)+_0x5b732b);}return _0xc669d6['json']();}export async function concludeSession(_0x49036e,_0x4e114e){const _0x305021=_0xad9f,_0xdddbc7={'mdDgV':function(_0x3bc994){return _0x3bc994();},'LvYnm':_0x305021(0x1e0),'csTfA':'POST'},_0x23150c=await _0xdddbc7[_0x305021(0x1b4)](getToken);if(!_0x23150c)throw new Error(_0xdddbc7['LvYnm']);const _0x273170=_0xdddbc7['mdDgV'](getApiBaseUrl),_0x41dfa5=await fetch(_0x273170+'/api/v1/mcp/features/'+_0x49036e+_0x305021(0x1a3)+_0x4e114e+'/conclude',{'method':_0xdddbc7[_0x305021(0x1e9)],'headers':{'Authorization':_0x305021(0x1db)+_0x23150c}});if(!_0x41dfa5['ok']){const _0x4a42c1=await _0x41dfa5['text']();throw new Error(_0x305021(0x1c0)+_0x4a42c1);}return _0x41dfa5['json']();}export async function getActionItems(_0x5749e4){const _0xe67d97=_0xad9f,_0x57aaec={'ZuCAk':function(_0xeece61){return _0xeece61();}},_0xfbff78=await _0x57aaec[_0xe67d97(0x19f)](getToken);if(!_0xfbff78)throw new Error(_0xe67d97(0x1e0));const _0x3f6f2a=getApiBaseUrl(),_0x535470=await fetch(_0x3f6f2a+'/api/v1/mcp/features/'+_0x5749e4+'/action-items',{'method':'GET','headers':{'Authorization':_0xe67d97(0x1db)+_0xfbff78}});if(!_0x535470['ok']){const _0x464e55=await _0x535470[_0xe67d97(0x1c9)]();throw new Error(_0xe67d97(0x1e5)+_0x464e55);}return _0x535470['json']();}export async function getItemFeedback(_0x4b9a7d,_0x895b3c){const _0x5867db=_0xad9f,_0x350d05={'TNQry':function(_0x5072cc){return _0x5072cc();},'jmofH':function(_0x2244ba,_0x483b73,_0x5ed9ce){return _0x2244ba(_0x483b73,_0x5ed9ce);}},_0x29f42c=await getToken();if(!_0x29f42c)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x9e362f=_0x350d05[_0x5867db(0x1c1)](getApiBaseUrl),_0x5df8ee=await _0x350d05[_0x5867db(0x1d4)](fetch,_0x9e362f+'/api/v1/mcp/features/'+_0x4b9a7d+'/checklist-items/'+_0x895b3c+'/feedback',{'method':'GET','headers':{'Authorization':_0x5867db(0x1db)+_0x29f42c}});if(!_0x5df8ee['ok']){const _0x91c57e=await _0x5df8ee['text']();throw new Error(_0x5867db(0x1e7)+_0x91c57e);}return _0x5df8ee['json']();}export async function markCommentsAddressed(_0xa2b65f,_0x1c32b4,_0x43b285){const _0x5bef9e=_0xad9f,_0x462afd={'jkTCY':'POST','BKgnk':'application/json'},_0x762f50=await getToken();if(!_0x762f50)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x28e362=getApiBaseUrl(),_0x5c921c=await fetch(_0x28e362+'/api/v1/mcp/features/'+_0xa2b65f+_0x5bef9e(0x1dc),{'method':_0x462afd['jkTCY'],'headers':{'Authorization':_0x5bef9e(0x1db)+_0x762f50,'Content-Type':_0x462afd[_0x5bef9e(0x1bb)]},'body':JSON['stringify']({'checklistItemId':_0x1c32b4,'commentIds':_0x43b285})});if(!_0x5c921c['ok']){const _0x3054d5=await _0x5c921c[_0x5bef9e(0x1c9)]();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x3054d5);}}export async function softDeleteFeature(_0x1770ff){const _0x15f519=_0xad9f,_0xe1720={'uSrsw':function(_0x5710b0){return _0x5710b0();},'yzoSK':'DELETE'},_0x5e61c2=await _0xe1720[_0x15f519(0x1e6)](getToken);if(!_0x5e61c2)throw new Error(_0x15f519(0x1e0));const _0x133066=getApiBaseUrl(),_0x4a3ece=await fetch(_0x133066+_0x15f519(0x1ba)+_0x1770ff,{'method':_0xe1720[_0x15f519(0x1a9)],'headers':{'Authorization':'Bearer\x20'+_0x5e61c2}});if(!_0x4a3ece['ok']){const _0x5abdbf=await _0x4a3ece['text']();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x5abdbf);}}export async function restoreFeature(_0x6f3f60){const _0x4735b0=_0xad9f,_0x54a166={'uRldl':function(_0x2a901c){return _0x2a901c();},'HdJsA':function(_0x5963e4,_0x208c6e,_0x1fad43){return _0x5963e4(_0x208c6e,_0x1fad43);},'qlQDy':'POST'},_0x172026=await getToken();if(!_0x172026)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x17e1b4=_0x54a166[_0x4735b0(0x1b7)](getApiBaseUrl),_0x4d8f09=await _0x54a166[_0x4735b0(0x1a6)](fetch,_0x17e1b4+_0x4735b0(0x1ba)+_0x6f3f60+_0x4735b0(0x1cd),{'method':_0x54a166[_0x4735b0(0x1ec)],'headers':{'Authorization':_0x4735b0(0x1db)+_0x172026}});if(!_0x4d8f09['ok']){const _0x5029cd=await _0x4d8f09[_0x4735b0(0x1c9)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x5029cd);}}
|