@ranger-testing/ranger-cli 3.0.1-alpha.c0b290b-36 → 3.0.1-alpha.d8f00ab-37
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 _0x210f40=_0xd99f;(function(_0x93cad9,_0x3fd774){const _0x2d55d4=_0xd99f,_0x251423=_0x93cad9();while(!![]){try{const _0xc7db00=parseInt(_0x2d55d4(0xe0))/0x1+-parseInt(_0x2d55d4(0xef))/0x2+parseInt(_0x2d55d4(0x103))/0x3+-parseInt(_0x2d55d4(0xe5))/0x4*(parseInt(_0x2d55d4(0xf9))/0x5)+-parseInt(_0x2d55d4(0x15e))/0x6+-parseInt(_0x2d55d4(0x157))/0x7*(-parseInt(_0x2d55d4(0xf0))/0x8)+parseInt(_0x2d55d4(0xea))/0x9;if(_0xc7db00===_0x3fd774)break;else _0x251423['push'](_0x251423['shift']());}catch(_0x2e732a){_0x251423['push'](_0x251423['shift']());}}}(_0x539c,0x6acf9));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x572fab 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 _0x542a2d=_0xd99f,_0x37c6d2={'YJTmR':_0x542a2d(0x109)},_0x527854=await getToken();if(!_0x527854)throw new Error(_0x37c6d2['YJTmR']);return _0x527854;}async function apiRequest(_0x2dcb2a,_0x5cdf7a={}){const _0x5deb07=_0xd99f,_0x4324ab={'tZYOv':function(_0x43fd19){return _0x43fd19();},'acbso':function(_0x28ffb5,_0x20837b){return _0x28ffb5===_0x20837b;},'YmfCJ':'string','SDULT':function(_0x3b4252,_0x17a22c){return _0x3b4252===_0x17a22c;}},_0x4fd596=await _0x4324ab[_0x5deb07(0x141)](requireToken),_0x26add1=getApiBaseUrl(),_0x28d1ac=await fetch(''+_0x26add1+_0x2dcb2a,{..._0x5cdf7a,'headers':{'Authorization':'Bearer\x20'+_0x4fd596,'Content-Type':'application/json',..._0x5cdf7a['headers']??{}}});if(!_0x28d1ac['ok']){let _0x574046='',_0x1314c3;try{const _0x4563a3=await _0x28d1ac[_0x5deb07(0x162)]();_0x574046=(_0x4324ab[_0x5deb07(0x10b)](typeof _0x4563a3['error'],_0x4324ab['YmfCJ'])?_0x4563a3[_0x5deb07(0xd9)]:undefined)??JSON[_0x5deb07(0x149)](_0x4563a3);if(_0x4324ab[_0x5deb07(0xf5)](typeof _0x4563a3[_0x5deb07(0x11d)],_0x4324ab[_0x5deb07(0x102)]))_0x1314c3=_0x4563a3['code'];}catch{_0x574046=_0x28d1ac['statusText'];}throw new ApiError('API\x20request\x20'+_0x2dcb2a+'\x20failed\x20('+_0x28d1ac['status']+'):\x20'+_0x574046,_0x28d1ac['status'],_0x574046,_0x1314c3);}if(_0x28d1ac[_0x5deb07(0x117)]===0xcc)return undefined;return _0x28d1ac['json']();}export class ApiError extends Error{['status'];[_0x210f40(0x11c)];[_0x210f40(0x11d)];constructor(_0x3d3fb1,_0x5186c1,_0x383947,_0x28c3e4){const _0x56f5e5=_0x210f40,_0x19391a={'zWVop':_0x56f5e5(0x144)};super(_0x3d3fb1),this['status']=_0x5186c1,this['detail']=_0x383947,this[_0x56f5e5(0x11d)]=_0x28c3e4,this['name']=_0x19391a['zWVop'];}}export async function fetchCloudProfile(_0x2f5a19){const _0x57ec6e={'uohTS':function(_0x23fd3b,_0x529078){return _0x23fd3b(_0x529078);},'VDKfM':function(_0x5be85c,_0x17d4e9){return _0x5be85c instanceof _0x17d4e9;}};try{return await _0x57ec6e['uohTS'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x2f5a19));}catch(_0x480e13){if(_0x57ec6e['VDKfM'](_0x480e13,ApiError)&&_0x480e13['status']===0x194)return null;throw _0x480e13;}}export async function listCloudProfiles(){const _0x2bcc24=_0x210f40,_0x2c8d99={'SEjMU':_0x2bcc24(0x15f)},_0x33513d=await apiRequest(_0x2c8d99['SEjMU']);return _0x33513d[_0x2bcc24(0x14b)];}function _0x539c(){const _0x442a68=['storageState','mQJfB','RANGER_TEST_PASSWORD','hHJyU','Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20(','goto','wWQXK','password','env','sessionId','lXHdD','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','mvLxs','message','nxLFX','name','username','qWAsQ','gLdWw','OHgsZ','effectiveBaseUrl','toISOString','sessionState','cRbEc','isArray','cwpJJ','\x20\x20Server-side\x20login\x20error:\x20','tZYOv','\x22\x20failed\x20validation\x20—\x20refreshing...','FhFlJ','ApiError','NPyVJ','test_output','close','RANGER_TEST_USERNAME','stringify','GqZQT','profiles','/api/v1/profiles/','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','Browser\x20login\x20timed\x20out\x20after\x20','/api/v1/tunnel/sessions/','domains','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','cli:manual-login','newContext','usLLd','join','storageStatePath','290570ObpBaT','JAvGh','sessionCheckPath','RhHoU','log','auth_config','VKzMB','956274oDoWja','/api/v1/profiles','setupHeaders','\x20\x20Cached\x20session\x20for\x20\x22','json','length','Ttbva','error','/api/v1/profiles/auth-config','loginInstructions','not_configured','settings','\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','zdQUv','345580LbUtlr','environments','force','mORSB','syuQC','248pRKxcP','cookies','tunnel','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','utf-8','949590TXmelx','Cloud\x20profile\x20\x22','IvrBD','catch','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','45008TYNCeH','32igBFBj','\x22\x20for\x20','baseUrl','confirm','nPIxZ','SDULT','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','\x20\x20Created\x20cloud\x20profile\x20\x22','38755hmlsav','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','POST','some','QLtls','pwEndpoint','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','yNGRU','YmfCJ','1448436laCJZj','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','keys','extraHTTPHeaders','PPSZO','session_state','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','you\x27re\x20now\x20at\x20\x22','acbso','\x22;\x20proceeding\x20with\x20loginInstructions.','\x20\x20Cloud\x20session\x20for\x20\x22','dUGgN','organizationId','wsEndpoint','origin','pBmkC','biNrQ','invalidateOn','eNJNj','\x20\x20No\x20live\x20session\x20for\x20\x22','status','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','tUuxf','\x22\x20without\x20local-target\x20validation','targetUrl','detail','code','environmentKey','newPage','/api/v1/tunnel/sessions','\x20\x20Login\x20successful.\x20Session\x20cached.','string','DELETE','/session','\x22\x20not\x20found.'];_0x539c=function(){return _0x442a68;};return _0x539c();}export async function deleteCloudProfile(_0x4f6a94){const _0x4891aa=_0x210f40,_0x539ebe={'NIgAP':function(_0x4c305c,_0x199918,_0x20e96f){return _0x4c305c(_0x199918,_0x20e96f);},'iOQGj':function(_0x126d08,_0x34320b){return _0x126d08 instanceof _0x34320b;}};try{await _0x539ebe['NIgAP'](apiRequest,_0x4891aa(0x14c)+encodeURIComponent(_0x4f6a94),{'method':_0x4891aa(0x123)});}catch(_0x23d67f){if(_0x539ebe['iOQGj'](_0x23d67f,ApiError)&&_0x23d67f['status']===0x194)throw new Error(_0x4891aa(0xeb)+_0x4f6a94+_0x4891aa(0x125));throw _0x23d67f;}}export async function createCloudProfile(_0x5e51b1,_0x32d961,_0x5810d7={}){const _0x336bb2=_0x210f40,_0x1055cf={'lXHdD':_0x336bb2(0xfc)},_0xa1421a={'name':_0x5e51b1};if(_0x32d961)_0xa1421a['environment_key']=_0x32d961;_0x5810d7[_0x336bb2(0xdd)]&&Object[_0x336bb2(0x105)](_0x5810d7[_0x336bb2(0xdd)])['length']>0x0&&(_0xa1421a['settings']=_0x5810d7['settings']);if(_0x5810d7[_0x336bb2(0x136)])_0xa1421a['username']=_0x5810d7['username'];if(_0x5810d7['password'])_0xa1421a['password']=_0x5810d7[_0x336bb2(0x12d)];return await apiRequest('/api/v1/profiles',{'method':_0x1055cf[_0x336bb2(0x130)],'body':JSON['stringify'](_0xa1421a)});}export async function uploadCloudProfileSession(_0x586b82,_0x27b35c){const _0xc339e9=_0x210f40,_0x5ea13f={'WBoVO':function(_0x5b355a,_0x129986){return _0x5b355a(_0x129986);},'wWQXK':_0xc339e9(0xfc)};return await apiRequest(_0xc339e9(0x14c)+_0x5ea13f['WBoVO'](encodeURIComponent,_0x586b82)+'/session',{'method':_0x5ea13f[_0xc339e9(0x12c)],'body':JSON[_0xc339e9(0x149)]({'session_state':_0x27b35c})});}export async function saveCloudProfileCredentials(_0x13b0b7,_0x173f23,_0x408e80){const _0x43ae3f=_0x210f40,_0xd4bc4f={'QLtls':function(_0x338188,_0x9b1155){return _0x338188(_0x9b1155);},'gLdWw':'PUT'};await apiRequest('/api/v1/profiles/'+_0xd4bc4f[_0x43ae3f(0xfe)](encodeURIComponent,_0x13b0b7),{'method':_0xd4bc4f[_0x43ae3f(0x138)],'body':JSON[_0x43ae3f(0x149)]({'username':_0x173f23,'password':_0x408e80})});}export async function fetchAuthConfig(){const _0x2d48d0=_0x210f40,_0x1bdfed={'lQZiY':_0x2d48d0(0xda),'FhFlJ':function(_0x20621b,_0x3ec406){return _0x20621b instanceof _0x3ec406;}};try{const _0x4fdfed=await apiRequest(_0x1bdfed['lQZiY']);return _0x4fdfed[_0x2d48d0(0x15c)];}catch(_0x2c51a3){return _0x1bdfed[_0x2d48d0(0x143)](_0x2c51a3,ApiError)&&_0x2c51a3[_0x2d48d0(0x117)]!==0x194&&console[_0x2d48d0(0xd9)]('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x2c51a3['message']),null;}}async function createTunnelSession(_0x3a6022){const _0x603975=_0x210f40,_0x46d3c9={'uLqeV':function(_0x2713ab,_0x5239e4,_0x215cc6){return _0x2713ab(_0x5239e4,_0x215cc6);},'usLLd':'POST'};return await _0x46d3c9['uLqeV'](apiRequest,_0x603975(0x120),{'method':_0x46d3c9[_0x603975(0x154)],'body':JSON[_0x603975(0x149)]({'targetUrl':_0x3a6022,'mode':'agent'})});}async function deleteTunnelSession(_0x46e63e){const _0x49148d=_0x210f40;await apiRequest(_0x49148d(0x14f)+_0x46e63e,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x7dd61e){const _0x3e9c45=_0x210f40,_0x50c85d={'NPyVJ':function(_0x36243a,_0x1c86e3){return _0x36243a===_0x1c86e3;}};if(!_0x7dd61e)return null;if(_0x7dd61e['defaultEnvironmentKey'])return _0x7dd61e['defaultEnvironmentKey'];const _0xdf3b5b=Object['keys'](_0x7dd61e[_0x3e9c45(0xe1)]??{});if(_0x50c85d[_0x3e9c45(0x145)](_0xdf3b5b[_0x3e9c45(0x163)],0x1))return _0xdf3b5b[0x0];if(_0xdf3b5b[_0x3e9c45(0x163)]===0x0)return null;throw new Error(_0x3e9c45(0x12a)+_0xdf3b5b[_0x3e9c45(0x155)](',\x20')+').\x20'+'Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.');}export async function resolveAdHocProfile(_0x238e67=process[_0x210f40(0x12e)]){const _0xc80afd=_0x210f40,_0x2b6cd7={'mvLxs':function(_0x4881da,_0x48318){return _0x4881da(_0x48318);},'hHJyU':function(_0x1b6bac,_0x5b5250){return _0x1b6bac(_0x5b5250);},'ANEPO':function(_0x2e9d30,_0x35470f,_0x2a62aa,_0x32ad6c){return _0x2e9d30(_0x35470f,_0x2a62aa,_0x32ad6c);},'cwpJJ':function(_0x5bdc84,_0x15e661){return _0x5bdc84??_0x15e661;}},_0x47f2f8=_0x238e67[_0xc80afd(0x148)];if(!_0x47f2f8)return null;const _0x132f9d=await _0x2b6cd7[_0xc80afd(0x132)](fetchCloudProfile,_0x47f2f8);if(_0x132f9d)return{'name':_0x132f9d[_0xc80afd(0x135)],'profile':_0x132f9d};const _0x4c1dcb=await fetchAuthConfig(),_0x4e5b5e=_0x2b6cd7[_0xc80afd(0x129)](pickAdHocEnvKey,_0x4c1dcb),_0x490349=_0x238e67['RANGER_TEST_PASSWORD'],_0x387514=await _0x2b6cd7['ANEPO'](createCloudProfile,_0x47f2f8,_0x2b6cd7[_0xc80afd(0x13f)](_0x4e5b5e,undefined),{'username':_0x47f2f8,'password':_0x490349});return console['log'](_0xc80afd(0xf8)+_0x387514[_0xc80afd(0x135)]+_0xc80afd(0xf1)+_0x47f2f8),{'name':_0x387514[_0xc80afd(0x135)],'profile':_0x387514};}export async function writeSessionToLocalCache(_0x17d1c0,_0x524a56,_0x47a8bd,_0x4685ea,_0x18e673,_0x1fae51,_0x2430c8){const _0x92bed=_0x210f40,_0x317997={'IvrBD':function(_0xd73997,_0x594196,_0x1de9fd){return _0xd73997(_0x594196,_0x1de9fd);},'KtrXu':function(_0x2385c6,_0x287146){return _0x2385c6(_0x287146);},'Rgwet':function(_0xbbe8e4,_0x458e8a){return _0xbbe8e4>_0x458e8a;},'hTItA':function(_0x58447f,_0x360ed6,_0x17af23){return _0x58447f(_0x360ed6,_0x17af23);}},_0x1ac504=sessionCacheHash({'orgId':_0x524a56,'profileName':_0x17d1c0,'effectiveBaseUrl':_0x47a8bd,'setupHeaders':_0x4685ea,'invalidateOn':_0x2430c8?.['invalidateOn'],'userAgent':_0x2430c8?.['userAgent'],'clientIp':_0x2430c8?.['clientIp']}),_0x3620d6=getSessionCachePath(_0x1ac504,_0x17d1c0),_0x4ad8f2=_0x317997[_0x92bed(0xec)](join,getRangerHomeDir(),'auth');!_0x317997['KtrXu'](existsSync,_0x4ad8f2)&&await mkdir(_0x4ad8f2,{'recursive':!![]});const _0x384a1a={..._0x18e673};_0x1fae51&&_0x317997['Rgwet'](_0x1fae51[_0x92bed(0x163)],0x0)&&Array[_0x92bed(0x13e)](_0x384a1a['cookies'])&&(_0x384a1a[_0x92bed(0xe6)]=_0x317997['IvrBD'](duplicateCookiesForDomains,_0x384a1a[_0x92bed(0xe6)],_0x1fae51));const _0x122c2e={'cached_at':new Date()[_0x92bed(0x13b)](),'session_state':_0x384a1a};await _0x317997[_0x92bed(0xec)](writeFile,_0x3620d6,JSON[_0x92bed(0x149)](_0x122c2e,null,0x2));const _0x3bd742=getStorageStatePath(_0x3620d6);return await _0x317997['hTItA'](writeFile,_0x3bd742,JSON['stringify'](_0x384a1a,null,0x2)),_0x3bd742;}export async function checkLocalCache(_0x51d0ac,_0x742ffe,_0x146c01,_0x6d42e8,_0x3fc31c){const _0x10cc9d=_0x210f40,_0x386dd1={'vluBE':function(_0xbc5fbc,_0x186905){return _0xbc5fbc(_0x186905);}},_0x361618=_0x386dd1['vluBE'](sessionCacheHash,{'orgId':_0x742ffe,'profileName':_0x51d0ac,'effectiveBaseUrl':_0x146c01,'setupHeaders':_0x6d42e8,'invalidateOn':_0x3fc31c?.['invalidateOn'],'userAgent':_0x3fc31c?.['userAgent'],'clientIp':_0x3fc31c?.['clientIp']}),_0x5dd9cd=getSessionCachePath(_0x361618,_0x51d0ac),_0x328a26=_0x386dd1['vluBE'](getStorageStatePath,_0x5dd9cd);if(!existsSync(_0x5dd9cd)||!existsSync(_0x328a26))return null;try{const _0x375fcd=await readFile(_0x5dd9cd,_0x10cc9d(0xe9));return JSON['parse'](_0x375fcd),{'storageStatePath':_0x328a26};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function _0xd99f(_0x3268bb,_0x151461){_0x3268bb=_0x3268bb-0xd8;const _0x539cce=_0x539c();let _0xd99f99=_0x539cce[_0x3268bb];return _0xd99f99;}function emitSessionValidationHint(_0x180fd1,_0x4a02b4){const _0x195b58=_0x210f40,_0x46651a={'RctYH':function(_0x2f57f9,_0x56cd0f){return _0x2f57f9===_0x56cd0f;},'eNJNj':function(_0x3d1c0e,_0x51561d){return _0x3d1c0e+_0x51561d;},'AylXh':function(_0x4753a6,_0x1370e7){return _0x4753a6+_0x1370e7;}};if(!_0x4a02b4||!_0x4a02b4['domains']?.[_0x195b58(0x163)])return;let _0x19c98a;try{_0x19c98a=new URL(_0x180fd1);}catch{return;}const _0x5e7f22=[];for(const _0x44186a of _0x4a02b4['domains']){try{_0x5e7f22['push']({'raw':_0x44186a,'url':new URL(_0x44186a)});}catch{}}if(_0x46651a['RctYH'](_0x5e7f22[_0x195b58(0x163)],0x0))return;if(_0x5e7f22[_0x195b58(0xfd)](_0x3424ba=>_0x3424ba['url']['origin']===_0x19c98a[_0x195b58(0x111)]))return;const _0x303ade=_0x5e7f22['map'](_0x1c2d00=>'\x22'+_0x1c2d00['raw']+'\x22')[_0x195b58(0x155)](',\x20');console['log'](_0x46651a[_0x195b58(0x115)](_0x46651a['AylXh']('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x303ade+';\x20',_0x195b58(0x10a)+_0x180fd1+'\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20'),_0x195b58(0x100)));}export async function serverSideLogin(_0x31da03,_0x46e02e){const _0x2f76c8=_0x210f40,_0x551b2d={'tRCGB':_0x2f76c8(0xdc)},_0x4c23e4=process[_0x2f76c8(0x12e)]['RANGER_TEST_USERNAME'],_0x5a3deb=process['env']['RANGER_TEST_PASSWORD'],_0x32d002={};if(_0x4c23e4)_0x32d002[_0x2f76c8(0x136)]=_0x4c23e4;if(_0x5a3deb)_0x32d002['password']=_0x5a3deb;if(_0x46e02e?.[_0x2f76c8(0xe2)])_0x32d002[_0x2f76c8(0xe2)]=!![];if(_0x46e02e?.[_0x2f76c8(0x11b)])_0x32d002['target_url']=_0x46e02e[_0x2f76c8(0x11b)];_0x46e02e?.[_0x2f76c8(0xe7)]&&(_0x32d002['tunnel_session_id']=_0x46e02e[_0x2f76c8(0xe7)][_0x2f76c8(0x12f)],_0x32d002['pw_endpoint']=_0x46e02e['tunnel'][_0x2f76c8(0xff)]);try{return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x31da03)+'/login',{'method':'POST','body':JSON[_0x2f76c8(0x149)](_0x32d002)});}catch(_0x1b3856){if(_0x1b3856 instanceof ApiError&&_0x1b3856['status']===0x190&&_0x1b3856[_0x2f76c8(0x11d)]===_0x2f76c8(0xdc))return{'status':_0x551b2d['tRCGB'],'error':_0x1b3856['detail']};throw _0x1b3856;}}async function serverSideLoginWithOptionalTunnel(_0x173d81,_0x51433a){const _0x43a4a7=_0x210f40,_0x112dbf={'cRbEc':function(_0x338d5a,_0x1eb34a){return _0x338d5a(_0x1eb34a);},'pBmkC':function(_0x28f873){return _0x28f873();}};if(!needsTunnel(_0x51433a))return await serverSideLogin(_0x173d81);let _0x3be77a=null,_0x44076d=null,_0x4294be=null;try{_0x3be77a=await _0x112dbf[_0x43a4a7(0x13d)](launchBrowserServer,{'headless':!![]}),_0x44076d=await createTunnelSession(_0x51433a);const _0x29da4d=await _0x112dbf[_0x43a4a7(0x112)](requireToken);return _0x4294be=await _0x112dbf['cRbEc'](createTunnelBridge,{'localWsUrl':_0x3be77a[_0x43a4a7(0x110)],'tunnelServerUrl':_0x44076d['tunnelUrl'],'sessionId':_0x44076d['sessionId'],'apiKey':_0x29da4d}),await serverSideLogin(_0x173d81,{'targetUrl':_0x51433a,'tunnel':{'sessionId':_0x44076d['sessionId'],'pwEndpoint':_0x44076d[_0x43a4a7(0xff)]}});}finally{_0x4294be?.['close'](),_0x3be77a&&await _0x3be77a['close']()[_0x43a4a7(0xed)](()=>{}),_0x44076d&&await _0x112dbf[_0x43a4a7(0x13d)](deleteTunnelSession,_0x44076d['sessionId'])['catch'](()=>{});}}export async function manualBrowserLogin(_0x7cdb7,_0x519602){const _0x33712b=_0x210f40,_0x2f1faa={'wvRyK':function(_0x46df67,_0x1f9b29,_0x3cdf05){return _0x46df67(_0x1f9b29,_0x3cdf05);},'gveFe':_0x33712b(0x147),'qWAsQ':function(_0x1e22c7){return _0x1e22c7();},'syuQC':function(_0x28db6a,_0x2d0572){return _0x28db6a+_0x2d0572;},'exmGV':_0x33712b(0xde),'pdnVv':_0x33712b(0x151),'sdOay':function(_0x365038,_0x49f80b){return _0x365038>_0x49f80b;},'tUuxf':function(_0xecc5b4,_0x33c39b){return _0xecc5b4&&_0x33c39b;},'mAeiP':_0x33712b(0xf7),'RiHoF':_0x33712b(0x152)};if(!_0x2f1faa[_0x33712b(0x137)](isInteractive))throw new Error(_0x2f1faa[_0x33712b(0xe4)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x7cdb7['name']+'\x22.\x0a',_0x2f1faa['exmGV'])+_0x2f1faa['pdnVv']);const _0x814bfd=_0x519602&&_0x2f1faa['sdOay'](_0x519602[_0x33712b(0x150)][_0x33712b(0x163)],0x0)?_0x519602[_0x33712b(0x150)][0x0]:'about:blank';console[_0x33712b(0x15b)](_0x33712b(0x131)),console[_0x33712b(0x15b)]('\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0x5aa1bc=>setTimeout(_0x5aa1bc,0x7d0));const _0x4974f1=await chromium['launch']({'headless':![]});let _0x366237=null;try{const _0x54d532={'ignoreHTTPSErrors':!![]};_0x519602?.['setupHeaders']&&(_0x54d532[_0x33712b(0x106)]=_0x519602['setupHeaders']);const _0x21d09e=await _0x4974f1[_0x33712b(0x153)](_0x54d532);await addProfileSetupBanner(_0x21d09e);const _0x3c19a0=await _0x21d09e[_0x33712b(0x11f)]();await _0x3c19a0[_0x33712b(0x12b)](_0x814bfd);let _0x576542=![];await new Promise(_0x51f84f=>{const _0x43e387={'zdyCm':function(_0x945a71){return _0x945a71();}},_0x244fea=_0x2f1faa['wvRyK'](setTimeout,()=>{const _0x1a42ad=_0xd99f;_0x576542=!![],console['error'](_0x1a42ad(0x14e)+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0x1a42ad(0xf6)),_0x43e387['zdyCm'](_0x51f84f);},MANUAL_LOGIN_TIMEOUT_MS);_0x3c19a0['on'](_0x2f1faa['gveFe'],async()=>{const _0x5cf315=_0xd99f;clearTimeout(_0x244fea);try{const _0x31ffab=await _0x21d09e[_0x5cf315(0x126)]();_0x366237=_0x31ffab;}catch{}_0x51f84f();});});if(_0x2f1faa[_0x33712b(0x119)](_0x576542,!_0x366237))throw new Error('Browser\x20login\x20timed\x20out\x20before\x20completion.');}finally{await _0x4974f1[_0x33712b(0x147)]()['catch'](()=>{});}if(!_0x366237)throw new Error(_0x2f1faa['mAeiP']);return await apiRequest(_0x33712b(0x14c)+encodeURIComponent(_0x7cdb7['name'])+_0x33712b(0x124),{'method':_0x33712b(0xfc),'body':JSON[_0x33712b(0x149)]({'session_state':_0x366237,'updated_by':_0x2f1faa['RiHoF']})}),{'sessionState':_0x366237};}export async function promptSaveCredentials(_0x2a2f3a){const _0x1e070e=_0x210f40,_0x25e709={'nxLFX':function(_0x39ba50,_0x47df09){return _0x39ba50||_0x47df09;},'mQJfB':function(_0x4efa08){return _0x4efa08();},'VKzMB':_0x1e070e(0xf3),'PPSZO':_0x1e070e(0xfa),'nPewu':function(_0x4d8f0b,_0x3f7821){return _0x4d8f0b(_0x3f7821);},'yNGRU':'\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.'},_0x27d788=process[_0x1e070e(0x12e)][_0x1e070e(0x148)],_0x52ba93=process['env']['RANGER_TEST_PASSWORD'];if(_0x25e709[_0x1e070e(0x134)](!_0x27d788,!_0x52ba93))return;if(!_0x25e709[_0x1e070e(0x127)](isInteractive))return;const {save:_0x57af76}=await _0x572fab['prompt']([{'type':_0x25e709[_0x1e070e(0x15d)],'name':'save','message':_0x25e709[_0x1e070e(0x107)],'default':![]}]);if(!_0x57af76)return;await apiRequest('/api/v1/profiles/'+_0x25e709['nPewu'](encodeURIComponent,_0x2a2f3a),{'method':'PUT','body':JSON['stringify']({'username':_0x27d788,'password':_0x52ba93})}),console[_0x1e070e(0x15b)](_0x25e709[_0x1e070e(0x101)]);}export async function resolveCloudProfileSession(_0x36ebf1,_0x43c607={}){const _0x589f44=_0x210f40,_0x4cda1b={'RhHoU':function(_0x184852,_0x164b12,_0x4a258a){return _0x184852(_0x164b12,_0x4a258a);},'SONRZ':_0x589f44(0x122),'biNrQ':function(_0x57bde8,_0x25161c){return _0x57bde8===_0x25161c;},'mORSB':function(_0x3da114,_0x31035a){return _0x3da114||_0x31035a;},'Ttbva':function(_0x1a10f6,_0x493b21){return _0x1a10f6(_0x493b21);},'GqZQT':function(_0x3d795a,_0xccb6cf){return _0x3d795a&&_0xccb6cf;},'NOlBA':function(_0x1aca7e,_0x50a85f,_0x449022,_0x2e380a,_0x9a120e){return _0x1aca7e(_0x50a85f,_0x449022,_0x2e380a,_0x9a120e);},'dUGgN':function(_0x4fcf74,_0xcb94de,_0x5064ea,_0x2266b3,_0xd80dcc,_0x314e2d,_0x4e383c,_0x564a6f){return _0x4fcf74(_0xcb94de,_0x5064ea,_0x2266b3,_0xd80dcc,_0x314e2d,_0x4e383c,_0x564a6f);},'JAvGh':function(_0x297940,_0x4cb44c){return _0x297940&&_0x4cb44c;},'FFmZJ':function(_0x51e17d,_0x4958e9,_0x43ef1e){return _0x51e17d(_0x4958e9,_0x43ef1e);},'zdQUv':function(_0x995f94,_0x526bdf){return _0x995f94(_0x526bdf);},'OHgsZ':function(_0x4de17e,_0x17fabd){return _0x4de17e||_0x17fabd;},'wMCGB':_0x589f44(0xdc),'cVXut':_0x589f44(0x121),'mHkGV':function(_0x25bb9e,_0x572c5f,_0x317690,_0x4f5f02,_0x4872fa,_0x3058b2,_0x37227e,_0x52cb09){return _0x25bb9e(_0x572c5f,_0x317690,_0x4f5f02,_0x4872fa,_0x3058b2,_0x37227e,_0x52cb09);},'EIsSh':function(_0x43ea03,_0x54be28){return _0x43ea03(_0x54be28);},'nPIxZ':_0x589f44(0x14d)},_0x56abb9=_0x36ebf1[_0x589f44(0xdd)]??{},_0x13c900=await fetchAuthConfig(),_0x597d5e=_0x13c900?_0x4cda1b[_0x589f44(0x15a)](resolveAuthEnvironmentLocally,_0x13c900,_0x36ebf1[_0x589f44(0x11e)]):null,_0x400e6a=typeof _0x597d5e?.[_0x589f44(0xdb)]===_0x4cda1b['SONRZ']&&_0x597d5e['loginInstructions']['trim']()?_0x597d5e[_0x589f44(0xdb)]:undefined,_0x212cf5=_0x4cda1b[_0x589f44(0x113)](typeof _0x56abb9[_0x589f44(0xdb)],_0x4cda1b['SONRZ'])&&_0x56abb9[_0x589f44(0xdb)]['trim']()?_0x56abb9['loginInstructions']:undefined,_0x40d876=_0x4cda1b[_0x589f44(0xe3)](_0x212cf5,!_0x400e6a)?_0x56abb9:{..._0x56abb9,'loginInstructions':_0x400e6a},_0xf9708e=Boolean(_0x40d876[_0x589f44(0xdb)]?.['trim']()),_0x4ddac4=_0x597d5e?.[_0x589f44(0x150)],_0x48b5cc=_0x56abb9['setupHeaders'],_0x561aa9=_0x48b5cc??_0x597d5e?.[_0x589f44(0x160)],_0x3703b1=_0x43c607[_0x589f44(0x13a)]??_0x56abb9[_0x589f44(0xf2)]??(_0x4ddac4&&_0x4ddac4['length']>0x0?_0x4ddac4[0x0]:''),_0x2161a1=_0x3703b1?_0x4cda1b[_0x589f44(0xd8)](needsTunnel,_0x3703b1):![],_0x276534={'invalidateOn':_0x597d5e?.[_0x589f44(0x114)],'userAgent':_0x597d5e?.['browserOptions']?.['userAgent']??_0x56abb9['userAgent']},_0x230aed=await checkLocalCache(_0x36ebf1['name'],_0x36ebf1[_0x589f44(0x10f)],_0x3703b1,_0x561aa9,_0x276534);if(_0x230aed){if(_0x4cda1b[_0x589f44(0x14a)](_0x3703b1,!_0x2161a1)){const _0x505085=await _0x4cda1b['NOlBA'](isCachedSessionLive,_0x230aed[_0x589f44(0x156)],_0x3703b1,{'sessionCheckPath':_0x597d5e?.['sessionCheckPath'],'setupHeaders':_0x561aa9},{'launchBrowser':launchRealBrowser});if(_0x505085)return console[_0x589f44(0x15b)](_0x589f44(0xee)+_0x36ebf1['name']+'\x22'),{'authPath':_0x230aed[_0x589f44(0x156)],'settings':_0x40d876,'resolvedEnv':_0x597d5e};console['log'](_0x589f44(0x161)+_0x36ebf1[_0x589f44(0x135)]+_0x589f44(0x142)),emitSessionValidationHint(_0x3703b1,_0x597d5e);}else return _0x2161a1&&console[_0x589f44(0x15b)](_0x589f44(0x118)+_0x36ebf1[_0x589f44(0x135)]+'\x22'),{'authPath':_0x230aed[_0x589f44(0x156)],'settings':_0x40d876,'resolvedEnv':_0x597d5e};}if(_0x36ebf1[_0x589f44(0x13c)]){const _0x502678=await _0x4cda1b[_0x589f44(0x10e)](writeSessionToLocalCache,_0x36ebf1[_0x589f44(0x135)],_0x36ebf1[_0x589f44(0x10f)],_0x3703b1,_0x561aa9,_0x36ebf1['sessionState'],_0x4ddac4,_0x276534);if(_0x4cda1b[_0x589f44(0x158)](_0x3703b1,!_0x2161a1)){const _0x396a5f=await isCachedSessionLive(_0x502678,_0x3703b1,{'sessionCheckPath':_0x597d5e?.[_0x589f44(0x159)],'setupHeaders':_0x561aa9},{'launchBrowser':launchRealBrowser});if(_0x396a5f)return console[_0x589f44(0x15b)](_0x589f44(0x104)+_0x36ebf1['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x502678,'settings':_0x40d876,'resolvedEnv':_0x597d5e};console['log'](_0x589f44(0x10d)+_0x36ebf1[_0x589f44(0x135)]+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x4cda1b['FFmZJ'](emitSessionValidationHint,_0x3703b1,_0x597d5e);}else return _0x2161a1&&console['log']('\x20\x20Cloud\x20session\x20copied\x20to\x20local\x20cache\x20for\x20\x22'+_0x36ebf1['name']+_0x589f44(0x11a)),{'authPath':_0x502678,'settings':_0x40d876,'resolvedEnv':_0x597d5e};}if(_0xf9708e)return console[_0x589f44(0x15b)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x36ebf1['name']+_0x589f44(0x10c)),{'authPath':undefined,'settings':_0x40d876,'resolvedEnv':_0x597d5e};console[_0x589f44(0x15b)](_0x589f44(0x116)+_0x36ebf1[_0x589f44(0x135)]+'\x22,\x20attempting\x20login...');const _0x32adc5=_0x4cda1b[_0x589f44(0xd8)](Boolean,process['env'][_0x589f44(0x148)])&&Boolean(process['env'][_0x589f44(0x128)]),_0x1d8e2b=_0x4cda1b['zdQUv'](Boolean,_0x36ebf1[_0x589f44(0x136)]);if(_0x4cda1b[_0x589f44(0x139)](_0x32adc5,_0x1d8e2b))try{const _0x1c4f4b=_0x3703b1?await serverSideLoginWithOptionalTunnel(_0x36ebf1[_0x589f44(0x135)],_0x3703b1):await _0x4cda1b[_0x589f44(0xdf)](serverSideLogin,_0x36ebf1[_0x589f44(0x135)]);if(_0x1c4f4b[_0x589f44(0x117)]===_0x4cda1b['wMCGB'])console[_0x589f44(0x15b)](_0x589f44(0xfb));else{if(_0x1c4f4b['status']==='success'&&_0x1c4f4b[_0x589f44(0x108)]){console[_0x589f44(0x15b)](_0x4cda1b['cVXut']);const _0x5f3a6a=await _0x4cda1b['mHkGV'](writeSessionToLocalCache,_0x36ebf1[_0x589f44(0x135)],_0x36ebf1[_0x589f44(0x10f)],_0x3703b1,_0x561aa9,_0x1c4f4b[_0x589f44(0x108)],_0x4ddac4,_0x276534);return _0x32adc5&&!_0x1d8e2b&&await _0x4cda1b['EIsSh'](promptSaveCredentials,_0x36ebf1['name']),{'authPath':_0x5f3a6a,'settings':_0x40d876,'resolvedEnv':_0x597d5e};}else _0x1c4f4b[_0x589f44(0x146)]&&(console[_0x589f44(0x15b)](_0x4cda1b[_0x589f44(0xf4)]),console['log'](_0x1c4f4b['test_output'])),console[_0x589f44(0x15b)](_0x589f44(0xe8));}}catch(_0x5cca89){console[_0x589f44(0x15b)](_0x589f44(0x140)+(_0x5cca89 instanceof Error?_0x5cca89[_0x589f44(0x133)]:String(_0x5cca89))),console[_0x589f44(0x15b)](_0x589f44(0xe8));}const _0x256f27=_0x597d5e?{..._0x597d5e,'setupHeaders':_0x561aa9}:_0x3703b1?{'key':_0x36ebf1[_0x589f44(0x11e)]??'','domains':[_0x3703b1],'setupHeaders':_0x561aa9}:null,{sessionState:_0x2c8642}=await manualBrowserLogin(_0x36ebf1,_0x256f27),_0x561d42=await writeSessionToLocalCache(_0x36ebf1[_0x589f44(0x135)],_0x36ebf1[_0x589f44(0x10f)],_0x3703b1,_0x561aa9,_0x2c8642,_0x4ddac4,_0x276534);return{'authPath':_0x561d42,'settings':_0x40d876,'resolvedEnv':_0x597d5e};}
|
|
1
|
+
const _0x5823c4=_0x4049;(function(_0x320c4d,_0x55f570){const _0x3ca008=_0x4049,_0x46c71e=_0x320c4d();while(!![]){try{const _0x37f893=-parseInt(_0x3ca008(0xac))/0x1+parseInt(_0x3ca008(0x98))/0x2+parseInt(_0x3ca008(0xbf))/0x3+parseInt(_0x3ca008(0xa8))/0x4+-parseInt(_0x3ca008(0x7f))/0x5+parseInt(_0x3ca008(0xa4))/0x6*(parseInt(_0x3ca008(0x83))/0x7)+-parseInt(_0x3ca008(0x7d))/0x8;if(_0x37f893===_0x55f570)break;else _0x46c71e['push'](_0x46c71e['shift']());}catch(_0x5d96a1){_0x46c71e['push'](_0x46c71e['shift']());}}}(_0xcf69,0x70c75));function _0x4049(_0x23b4a6,_0x38237e){_0x23b4a6=_0x23b4a6-0x69;const _0xcf69a6=_0xcf69();let _0x404940=_0xcf69a6[_0x23b4a6];return _0x404940;}import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x3bc6d7 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 _0x5b51ad=_0x4049,_0x1d3b32={'cETkS':_0x5b51ad(0xb9)},_0x28baef=await getToken();if(!_0x28baef)throw new Error(_0x1d3b32['cETkS']);return _0x28baef;}function _0xcf69(){const _0x26de1a=['DRizv','targetUrl','organizationId','FDoyO','6500048cThiDr','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','831245cDIieG','defaultEnvironmentKey','trim','\x22\x20failed\x20validation\x20—\x20re-login\x20needed...','571669cmWjfa','ztrln','Cloud\x20profile\x20\x22','close','\x20\x20forceLogin\x20enabled\x20for\x20\x22','BSrHi','environments','auth','dEIRU','env','goto','loginInstructions','POST','name','join','tunnel','launch','error','CGIoo','cli:manual-login','pJnuT','1074248eJZOMb','PUboW','SpBfR','JgKCT','XryBf','password','\x20\x20No\x20live\x20session\x20for\x20\x22','OfLcf','xyXMo','API\x20request\x20','OpxOL','profiles','42KIyukT','environment_key','log','bHvsZ','2351132nBDlmK','force','tunnelUrl','XbVAn','826623MOumsm','code','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.','SmjOZ','ZnIzc','map','\x22\x20failed\x20validation\x20—\x20refreshing...','settings','KZTzn','userAgent','invalidateOn','/api/v1/profiles','PUT','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','JKqGj','statusText','message','XAWDO','forceLogin','1712229AXEKYu','cookies','PsxJe','DELETE','TGCIN','BZoZh','baseUrl','test_output','sawHK','SUvTD','length','toISOString','XSXLX','RANGER_TEST_PASSWORD','json','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','\x22,\x20attempting\x20login...','push','RANGER_TEST_USERNAME','OYUWZ','string','catch','\x20\x20Cloud\x20session\x20for\x20\x22','exqGV','beDoH','/session','headers','Oqtht','\x22.\x0a','keys','/api/v1/profiles/','bHgYm','pw_endpoint','domains','username','pwEndpoint','auth_config','ssKQd','stringify','effectiveBaseUrl','\x22\x20not\x20found.','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','fYgFE','\x20\x20Login\x20successful.\x20Session\x20cached.','setupHeaders','jxICt','Bearer\x20','status','sessionId','sessionCheckPath','\x20\x20Created\x20cloud\x20profile\x20\x22','detail'];_0xcf69=function(){return _0x26de1a;};return _0xcf69();}async function apiRequest(_0x40af6e,_0xca57fb={}){const _0x5cbd6a=_0x4049,_0x1b4601={'zhQXT':function(_0x3458b1){return _0x3458b1();},'JKqGj':function(_0x2d7979,_0x29a7e9,_0x2fcf2b){return _0x2d7979(_0x29a7e9,_0x2fcf2b);},'vjZwZ':'application/json','beDoH':function(_0x48a460,_0x530e02){return _0x48a460===_0x530e02;}},_0x3a351d=await _0x1b4601['zhQXT'](requireToken),_0x48c9e0=_0x1b4601['zhQXT'](getApiBaseUrl),_0x3ab87f=await _0x1b4601[_0x5cbd6a(0xba)](fetch,''+_0x48c9e0+_0x40af6e,{..._0xca57fb,'headers':{'Authorization':_0x5cbd6a(0x73)+_0x3a351d,'Content-Type':_0x1b4601['vjZwZ'],..._0xca57fb[_0x5cbd6a(0xd9)]??{}}});if(!_0x3ab87f['ok']){let _0x18e273='',_0x5558be;try{const _0x4670d8=await _0x3ab87f[_0x5cbd6a(0xcd)]();_0x18e273=(_0x1b4601[_0x5cbd6a(0xd7)](typeof _0x4670d8['error'],_0x5cbd6a(0xd3))?_0x4670d8[_0x5cbd6a(0x94)]:undefined)??JSON['stringify'](_0x4670d8);if(typeof _0x4670d8['code']===_0x5cbd6a(0xd3))_0x5558be=_0x4670d8[_0x5cbd6a(0xad)];}catch{_0x18e273=_0x3ab87f[_0x5cbd6a(0xbb)];}throw new ApiError(_0x5cbd6a(0xa1)+_0x40af6e+'\x20failed\x20('+_0x3ab87f['status']+'):\x20'+_0x18e273,_0x3ab87f[_0x5cbd6a(0x74)],_0x18e273,_0x5558be);}if(_0x3ab87f['status']===0xcc)return undefined;return _0x3ab87f['json']();}export class ApiError extends Error{[_0x5823c4(0x74)];['detail'];[_0x5823c4(0xad)];constructor(_0x9f52ef,_0x322b56,_0x1a8b30,_0x3c16be){const _0x3c60b9=_0x5823c4,_0x4cba7f='1|3|4|0|2'['split']('|');let _0x3ac6bf=0x0;while(!![]){switch(_0x4cba7f[_0x3ac6bf++]){case'0':this[_0x3c60b9(0xad)]=_0x3c16be;continue;case'1':super(_0x9f52ef);continue;case'2':this[_0x3c60b9(0x90)]='ApiError';continue;case'3':this['status']=_0x322b56;continue;case'4':this[_0x3c60b9(0x78)]=_0x1a8b30;continue;}break;}}}export async function fetchCloudProfile(_0x48edd7){const _0x4c271d=_0x5823c4,_0x31619c={'JgKCT':function(_0x5e5c7d,_0x523678){return _0x5e5c7d(_0x523678);},'fsXFq':function(_0x142597,_0x5a9c62){return _0x142597 instanceof _0x5a9c62;}};try{return await apiRequest(_0x4c271d(0xdd)+_0x31619c[_0x4c271d(0x9b)](encodeURIComponent,_0x48edd7));}catch(_0x17caeb){if(_0x31619c['fsXFq'](_0x17caeb,ApiError)&&_0x17caeb[_0x4c271d(0x74)]===0x194)return null;throw _0x17caeb;}}export async function listCloudProfiles(){const _0x5726cf=_0x5823c4,_0xb80db7={'DRizv':function(_0x4af3be,_0x4dc3f4){return _0x4af3be(_0x4dc3f4);},'dEIRU':'/api/v1/profiles'},_0x18ea85=await _0xb80db7[_0x5726cf(0x79)](apiRequest,_0xb80db7[_0x5726cf(0x8b)]);return _0x18ea85[_0x5726cf(0xa3)];}export async function deleteCloudProfile(_0x3177af){const _0x5be74c=_0x5823c4;try{await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x3177af),{'method':_0x5be74c(0xc2)});}catch(_0x1c0c5c){if(_0x1c0c5c instanceof ApiError&&_0x1c0c5c[_0x5be74c(0x74)]===0x194)throw new Error(_0x5be74c(0x85)+_0x3177af+_0x5be74c(0x6b));throw _0x1c0c5c;}}export async function createCloudProfile(_0x138148,_0x13c5f2,_0x1d8371={}){const _0x17413c=_0x5823c4,_0x526843={'OuFHp':function(_0x2f2ab6,_0x5630f7){return _0x2f2ab6>_0x5630f7;},'XAWDO':_0x17413c(0xb7)},_0x3d9fc6={'name':_0x138148};if(_0x13c5f2)_0x3d9fc6[_0x17413c(0xa5)]=_0x13c5f2;_0x1d8371['settings']&&_0x526843['OuFHp'](Object['keys'](_0x1d8371['settings'])['length'],0x0)&&(_0x3d9fc6['settings']=_0x1d8371[_0x17413c(0xb3)]);if(_0x1d8371['username'])_0x3d9fc6['username']=_0x1d8371[_0x17413c(0xe1)];if(_0x1d8371[_0x17413c(0x9d)])_0x3d9fc6['password']=_0x1d8371[_0x17413c(0x9d)];return await apiRequest(_0x526843[_0x17413c(0xbd)],{'method':'POST','body':JSON[_0x17413c(0x69)](_0x3d9fc6)});}export async function uploadCloudProfileSession(_0x2e2faf,_0x1b2303){const _0x289909=_0x5823c4,_0x18aadd={'BSrHi':function(_0x1bd133,_0x3c7e70,_0x38b64b){return _0x1bd133(_0x3c7e70,_0x38b64b);}};return await _0x18aadd[_0x289909(0x88)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x2e2faf)+_0x289909(0xd8),{'method':'POST','body':JSON[_0x289909(0x69)]({'session_state':_0x1b2303})});}export async function saveCloudProfileCredentials(_0xc4880,_0xd53720,_0x3ac25c){const _0x463476=_0x5823c4,_0x36a17f={'exqGV':function(_0x2d8e44,_0x3b4f14,_0x11bfc3){return _0x2d8e44(_0x3b4f14,_0x11bfc3);}};await _0x36a17f[_0x463476(0xd6)](apiRequest,_0x463476(0xdd)+encodeURIComponent(_0xc4880),{'method':_0x463476(0xb8),'body':JSON[_0x463476(0x69)]({'username':_0xd53720,'password':_0x3ac25c})});}export async function fetchAuthConfig(){const _0x4d10a4=_0x5823c4,_0x18e060={'BZoZh':function(_0xb69b0f,_0x552517){return _0xb69b0f!==_0x552517;}};try{const _0x2f7087=await apiRequest('/api/v1/profiles/auth-config');return _0x2f7087[_0x4d10a4(0xe3)];}catch(_0x2659b0){return _0x2659b0 instanceof ApiError&&_0x18e060[_0x4d10a4(0xc4)](_0x2659b0[_0x4d10a4(0x74)],0x194)&&console[_0x4d10a4(0x94)]('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x2659b0[_0x4d10a4(0xbc)]),null;}}async function createTunnelSession(_0x2553b9){const _0x38d1e1=_0x5823c4,_0x293d57={'WNUAb':function(_0xb6e918,_0x38e8de,_0x57e6c4){return _0xb6e918(_0x38e8de,_0x57e6c4);}};return await _0x293d57['WNUAb'](apiRequest,'/api/v1/tunnel/sessions',{'method':_0x38d1e1(0x8f),'body':JSON[_0x38d1e1(0x69)]({'targetUrl':_0x2553b9,'mode':'agent'})});}async function deleteTunnelSession(_0x544d5f){const _0x5d0fc9=_0x5823c4,_0x254117={'PsxJe':function(_0x11b595,_0x5ecc65,_0x4b5b48){return _0x11b595(_0x5ecc65,_0x4b5b48);},'VYyEj':'DELETE'};await _0x254117[_0x5d0fc9(0xc1)](apiRequest,'/api/v1/tunnel/sessions/'+_0x544d5f,{'method':_0x254117['VYyEj']});}export function pickAdHocEnvKey(_0x41e6b6){const _0x396847=_0x5823c4,_0x598a8a={'wpgeD':function(_0x4b9e32,_0x342012){return _0x4b9e32===_0x342012;},'OsRSz':function(_0x4ab04f,_0x4b73ab){return _0x4ab04f+_0x4b73ab;}};if(!_0x41e6b6)return null;if(_0x41e6b6[_0x396847(0x80)])return _0x41e6b6[_0x396847(0x80)];const _0x32de47=Object[_0x396847(0xdc)](_0x41e6b6[_0x396847(0x89)]??{});if(_0x598a8a['wpgeD'](_0x32de47[_0x396847(0xc9)],0x1))return _0x32de47[0x0];if(_0x32de47[_0x396847(0xc9)]===0x0)return null;throw new Error(_0x598a8a['OsRSz']('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x32de47[_0x396847(0x91)](',\x20')+').\x20',_0x396847(0xae)));}export async function resolveAdHocProfile(_0xdca836=process[_0x5823c4(0x8c)]){const _0x1c4e3d=_0x5823c4,_0x41af14=_0xdca836['RANGER_TEST_USERNAME'];if(!_0x41af14)return null;const _0x2063fb=await fetchCloudProfile(_0x41af14);if(_0x2063fb)return{'name':_0x2063fb['name'],'profile':_0x2063fb};const _0x37e83f=await fetchAuthConfig(),_0x4ee397=pickAdHocEnvKey(_0x37e83f),_0x1a55b6=_0xdca836['RANGER_TEST_PASSWORD'],_0x42ae0a=await createCloudProfile(_0x41af14,_0x4ee397??undefined,{'username':_0x41af14,'password':_0x1a55b6});return console[_0x1c4e3d(0xa6)](_0x1c4e3d(0x77)+_0x42ae0a['name']+'\x22\x20for\x20'+_0x41af14),{'name':_0x42ae0a['name'],'profile':_0x42ae0a};}export async function writeSessionToLocalCache(_0x248eb7,_0x3b0f1c,_0x1cae65,_0x79a394,_0x3cbbb0,_0x5775c0,_0xa4c440){const _0x2313ab=_0x5823c4,_0x4393db={'GFywp':function(_0x5ac61e){return _0x5ac61e();},'LCLuz':function(_0x3f602b,_0x4c7466){return _0x3f602b>_0x4c7466;},'SUvTD':function(_0x3fb1aa,_0x2be965,_0x4faed5){return _0x3fb1aa(_0x2be965,_0x4faed5);},'OfLcf':function(_0x558356,_0x395a56,_0x26ae4a){return _0x558356(_0x395a56,_0x26ae4a);},'fYgFE':function(_0x4e2bf9,_0x83d864){return _0x4e2bf9(_0x83d864);}},_0x59d52a=sessionCacheHash({'orgId':_0x3b0f1c,'profileName':_0x248eb7,'effectiveBaseUrl':_0x1cae65,'setupHeaders':_0x79a394,'invalidateOn':_0xa4c440?.[_0x2313ab(0xb6)],'userAgent':_0xa4c440?.[_0x2313ab(0xb5)],'clientIp':_0xa4c440?.['clientIp']}),_0xe18dad=getSessionCachePath(_0x59d52a,_0x248eb7),_0x815eea=join(_0x4393db['GFywp'](getRangerHomeDir),_0x2313ab(0x8a));!existsSync(_0x815eea)&&await mkdir(_0x815eea,{'recursive':!![]});const _0x29331a={..._0x3cbbb0};_0x5775c0&&_0x4393db['LCLuz'](_0x5775c0[_0x2313ab(0xc9)],0x0)&&Array['isArray'](_0x29331a[_0x2313ab(0xc0)])&&(_0x29331a[_0x2313ab(0xc0)]=_0x4393db[_0x2313ab(0xc8)](duplicateCookiesForDomains,_0x29331a[_0x2313ab(0xc0)],_0x5775c0));const _0x5b79cb={'cached_at':new Date()[_0x2313ab(0xca)](),'session_state':_0x29331a};await _0x4393db[_0x2313ab(0x9f)](writeFile,_0xe18dad,JSON[_0x2313ab(0x69)](_0x5b79cb,null,0x2));const _0x2f6e14=_0x4393db[_0x2313ab(0x6f)](getStorageStatePath,_0xe18dad);return await _0x4393db['OfLcf'](writeFile,_0x2f6e14,JSON[_0x2313ab(0x69)](_0x29331a,null,0x2)),_0x2f6e14;}export async function checkLocalCache(_0x338a5d,_0x2a2f9b,_0x22203e,_0x2791fb,_0x4db008){const _0x13c94f=_0x5823c4,_0xfffcd={'bHgYm':function(_0xcd1082,_0x1726cc){return _0xcd1082(_0x1726cc);},'FkMkS':'utf-8'},_0x46db6=sessionCacheHash({'orgId':_0x2a2f9b,'profileName':_0x338a5d,'effectiveBaseUrl':_0x22203e,'setupHeaders':_0x2791fb,'invalidateOn':_0x4db008?.['invalidateOn'],'userAgent':_0x4db008?.['userAgent'],'clientIp':_0x4db008?.['clientIp']}),_0x258af5=getSessionCachePath(_0x46db6,_0x338a5d),_0x5591ad=getStorageStatePath(_0x258af5);if(!existsSync(_0x258af5)||!_0xfffcd[_0x13c94f(0xde)](existsSync,_0x5591ad))return null;try{const _0x343574=await readFile(_0x258af5,_0xfffcd['FkMkS']);return JSON['parse'](_0x343574),{'storageStatePath':_0x5591ad};}catch{return null;}}function launchRealBrowser(){const _0x42bbae=_0x5823c4;return chromium[_0x42bbae(0x93)]({'headless':!![]});}function emitSessionValidationHint(_0x53e45b,_0x42dba8){const _0x5be9e1=_0x5823c4;if(!_0x42dba8||!_0x42dba8['domains']?.['length'])return;let _0x43682c;try{_0x43682c=new URL(_0x53e45b);}catch{return;}const _0x15055b=[];for(const _0x5bb53c of _0x42dba8['domains']){try{_0x15055b[_0x5be9e1(0xd0)]({'raw':_0x5bb53c,'url':new URL(_0x5bb53c)});}catch{}}if(_0x15055b['length']===0x0)return;if(_0x15055b['some'](_0x55dd85=>_0x55dd85['url']['origin']===_0x43682c['origin']))return;const _0x376c10=_0x15055b[_0x5be9e1(0xb1)](_0x856508=>'\x22'+_0x856508['raw']+'\x22')[_0x5be9e1(0x91)](',\x20');console['log']('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x376c10+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x53e45b+_0x5be9e1(0xce))+'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.');}export async function serverSideLogin(_0x2a4fc2,_0x5901f6){const _0x5922cb=_0x5823c4,_0x4a6af0={'dhFvj':function(_0x1f20e8,_0x33dedc,_0x5a57f2){return _0x1f20e8(_0x33dedc,_0x5a57f2);},'hxpTd':function(_0x413f84,_0x12ccca){return _0x413f84 instanceof _0x12ccca;},'ypYsr':'not_configured'},_0x21f8d0=process[_0x5922cb(0x8c)]['RANGER_TEST_USERNAME'],_0x42e2d8=process[_0x5922cb(0x8c)]['RANGER_TEST_PASSWORD'],_0x394dae={};if(_0x21f8d0)_0x394dae['username']=_0x21f8d0;if(_0x42e2d8)_0x394dae['password']=_0x42e2d8;if(_0x5901f6?.['force'])_0x394dae[_0x5922cb(0xa9)]=!![];if(_0x5901f6?.[_0x5922cb(0x7a)])_0x394dae['target_url']=_0x5901f6['targetUrl'];_0x5901f6?.[_0x5922cb(0x92)]&&(_0x394dae['tunnel_session_id']=_0x5901f6[_0x5922cb(0x92)]['sessionId'],_0x394dae[_0x5922cb(0xdf)]=_0x5901f6[_0x5922cb(0x92)][_0x5922cb(0xe2)]);try{return await _0x4a6af0['dhFvj'](apiRequest,_0x5922cb(0xdd)+encodeURIComponent(_0x2a4fc2)+'/login',{'method':'POST','body':JSON['stringify'](_0x394dae)});}catch(_0x5a9260){if(_0x4a6af0['hxpTd'](_0x5a9260,ApiError)&&_0x5a9260[_0x5922cb(0x74)]===0x190&&_0x5a9260[_0x5922cb(0xad)]===_0x4a6af0['ypYsr'])return{'status':_0x4a6af0['ypYsr'],'error':_0x5a9260[_0x5922cb(0x78)]};throw _0x5a9260;}}async function serverSideLoginWithOptionalTunnel(_0x8f6807,_0x46715e,_0x32599c={}){const _0x3c4890=_0x5823c4,_0x2641fd={'ZnIzc':function(_0x16d0be,_0x4d39e3){return _0x16d0be(_0x4d39e3);},'XbVAn':function(_0x4f7448,_0x263171,_0x37a5ee){return _0x4f7448(_0x263171,_0x37a5ee);},'XSXLX':function(_0x593154,_0x429670){return _0x593154(_0x429670);},'ztrln':function(_0x509abb,_0x37135c){return _0x509abb(_0x37135c);}};if(!_0x2641fd[_0x3c4890(0xb0)](needsTunnel,_0x46715e))return await _0x2641fd[_0x3c4890(0xab)](serverSideLogin,_0x8f6807,{'force':_0x32599c[_0x3c4890(0xa9)]});let _0x304b5f=null,_0x19c1b0=null,_0xdd9c9e=null;try{_0x304b5f=await _0x2641fd[_0x3c4890(0xcb)](launchBrowserServer,{'headless':!![]}),_0x19c1b0=await _0x2641fd[_0x3c4890(0x84)](createTunnelSession,_0x46715e);const _0x5ede1b=await requireToken();return _0xdd9c9e=await createTunnelBridge({'localWsUrl':_0x304b5f['wsEndpoint'],'tunnelServerUrl':_0x19c1b0[_0x3c4890(0xaa)],'sessionId':_0x19c1b0['sessionId'],'apiKey':_0x5ede1b}),await _0x2641fd['XbVAn'](serverSideLogin,_0x8f6807,{'force':_0x32599c[_0x3c4890(0xa9)],'targetUrl':_0x46715e,'tunnel':{'sessionId':_0x19c1b0[_0x3c4890(0x75)],'pwEndpoint':_0x19c1b0[_0x3c4890(0xe2)]}});}finally{_0xdd9c9e?.['close'](),_0x304b5f&&await _0x304b5f['close']()[_0x3c4890(0xd4)](()=>{}),_0x19c1b0&&await _0x2641fd[_0x3c4890(0xb0)](deleteTunnelSession,_0x19c1b0['sessionId'])['catch'](()=>{});}}export async function manualBrowserLogin(_0x428627,_0x303ee6,_0x53c763={}){const _0x2e24ce=_0x5823c4,_0x2899a3={'ppnxQ':function(_0x2db18d){return _0x2db18d();},'ssKQd':function(_0x275d44,_0x43ba1a,_0x5ead66){return _0x275d44(_0x43ba1a,_0x5ead66);},'pJnuT':function(_0xb8319b,_0x367457){return _0xb8319b+_0x367457;},'bHvsZ':'about:blank','TGCIN':_0x2e24ce(0x6d),'PUboW':'\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','zLYsP':function(_0x19dea0,_0x590ab9){return _0x19dea0(_0x590ab9);},'lWDAA':function(_0x394dbf,_0xa7d03){return _0x394dbf&&_0xa7d03;},'iAWzp':'Browser\x20login\x20timed\x20out\x20before\x20completion.','sawHK':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','OpxOL':function(_0x108b9d,_0x49fdaf){return _0x108b9d!==_0x49fdaf;},'SpBfR':_0x2e24ce(0x96)};if(!isInteractive())throw new Error(_0x2899a3[_0x2e24ce(0x97)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x428627['name']+_0x2e24ce(0xdb),'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20')+'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.');const _0x561393=_0x303ee6&&_0x303ee6['domains'][_0x2e24ce(0xc9)]>0x0?_0x303ee6[_0x2e24ce(0xe0)][0x0]:_0x2899a3[_0x2e24ce(0xa7)];console['log'](_0x2899a3[_0x2e24ce(0xc3)]),console['log'](_0x2899a3[_0x2e24ce(0x99)]),await new Promise(_0x45e768=>setTimeout(_0x45e768,0x7d0));const _0x2ce102=await chromium['launch']({'headless':![]});let _0x3b8d9b=null;try{const _0x23a507={'ignoreHTTPSErrors':!![]};_0x303ee6?.['setupHeaders']&&(_0x23a507['extraHTTPHeaders']=_0x303ee6['setupHeaders']);const _0x670352=await _0x2ce102['newContext'](_0x23a507);await _0x2899a3['zLYsP'](addProfileSetupBanner,_0x670352);const _0x1be042=await _0x670352['newPage']();await _0x1be042[_0x2e24ce(0x8d)](_0x561393);let _0x4acd6b=![];await new Promise(_0x884699=>{const _0x2108f3=_0x2e24ce,_0x190e3a={'DjNLH':function(_0xe691b4,_0x1b1def){return _0xe691b4/_0x1b1def;},'tSnpt':function(_0x3f1a25){return _0x2899a3['ppnxQ'](_0x3f1a25);}},_0x2f8450=_0x2899a3[_0x2108f3(0xe4)](setTimeout,()=>{_0x4acd6b=!![],console['error']('Browser\x20login\x20timed\x20out\x20after\x20'+_0x190e3a['DjNLH'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x190e3a['tSnpt'](_0x884699);},MANUAL_LOGIN_TIMEOUT_MS);_0x1be042['on']('close',async()=>{clearTimeout(_0x2f8450);try{const _0x338924=await _0x670352['storageState']();_0x3b8d9b=_0x338924;}catch{}_0x884699();});});if(_0x2899a3['lWDAA'](_0x4acd6b,!_0x3b8d9b))throw new Error(_0x2899a3['iAWzp']);}finally{await _0x2ce102[_0x2e24ce(0x86)]()['catch'](()=>{});}if(!_0x3b8d9b)throw new Error(_0x2899a3[_0x2e24ce(0xc7)]);return _0x2899a3[_0x2e24ce(0xa2)](_0x53c763['persistSessionState'],![])&&await apiRequest(_0x2e24ce(0xdd)+encodeURIComponent(_0x428627[_0x2e24ce(0x90)])+_0x2e24ce(0xd8),{'method':'POST','body':JSON['stringify']({'session_state':_0x3b8d9b,'updated_by':_0x2899a3[_0x2e24ce(0x9a)]})}),{'sessionState':_0x3b8d9b};}export async function promptSaveCredentials(_0x39eef1){const _0x359743=_0x5823c4,_0xdc6c5f={'RWnpg':function(_0xa9b3e4){return _0xa9b3e4();},'viDKE':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','krZkv':function(_0x3c2643,_0x377555,_0x250445){return _0x3c2643(_0x377555,_0x250445);},'CGIoo':'PUT','XryBf':'\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.'},_0x4eec5f=process['env']['RANGER_TEST_USERNAME'],_0x27734b=process[_0x359743(0x8c)][_0x359743(0xcc)];if(!_0x4eec5f||!_0x27734b)return;if(!_0xdc6c5f['RWnpg'](isInteractive))return;const {save:_0x64a169}=await _0x3bc6d7['prompt']([{'type':'confirm','name':'save','message':_0xdc6c5f['viDKE'],'default':![]}]);if(!_0x64a169)return;await _0xdc6c5f['krZkv'](apiRequest,_0x359743(0xdd)+encodeURIComponent(_0x39eef1),{'method':_0xdc6c5f[_0x359743(0x95)],'body':JSON['stringify']({'username':_0x4eec5f,'password':_0x27734b})}),console[_0x359743(0xa6)](_0xdc6c5f[_0x359743(0x9c)]);}export async function resolveCloudProfileSession(_0xb96a91,_0xe57977={}){const _0x33a2bc=_0x5823c4,_0x5294a8={'luGQV':function(_0x4b6ba5){return _0x4b6ba5();},'Oqtht':function(_0x9ab879,_0x5e882c,_0x73b393){return _0x9ab879(_0x5e882c,_0x73b393);},'RfBia':function(_0x165e07,_0x361431){return _0x165e07===_0x361431;},'SmjOZ':_0x33a2bc(0xd3),'OYUWZ':function(_0x1c2e39,_0x346100){return _0x1c2e39||_0x346100;},'WgZsm':function(_0x10584f,_0x1dd824){return _0x10584f>_0x1dd824;},'JGoLd':function(_0x73e7d1,_0x2f561f,_0x7e8f5c,_0x2d99be,_0xc67664,_0x305d20){return _0x73e7d1(_0x2f561f,_0x7e8f5c,_0x2d99be,_0xc67664,_0x305d20);},'CMhNl':function(_0x320a1b,_0x265f73){return _0x320a1b&&_0x265f73;},'OiJva':function(_0x10a0af,_0xc60eec,_0x509e01){return _0x10a0af(_0xc60eec,_0x509e01);},'TWhFa':function(_0x10a29d,_0x3bd6e6){return _0x10a29d(_0x3bd6e6);},'FDoyO':function(_0x519398,_0xce57a5,_0x2246d6){return _0x519398(_0xce57a5,_0x2246d6);},'jxICt':'not_configured','KZTzn':'\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','TfYEU':function(_0x4f3462,_0x4a64c4,_0x58ce29,_0x19de50,_0x2aef8c,_0x4a6964,_0x11170f,_0xd88e15){return _0x4f3462(_0x4a64c4,_0x58ce29,_0x19de50,_0x2aef8c,_0x4a6964,_0x11170f,_0xd88e15);},'IdWfH':function(_0x1a1e9e,_0x499eb8){return _0x1a1e9e&&_0x499eb8;},'xyXMo':function(_0xd7367b,_0x49cf75){return _0xd7367b instanceof _0x49cf75;},'aPiXz':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...'},_0x44116=_0xb96a91['settings']??{},_0x471ae0=await _0x5294a8['luGQV'](fetchAuthConfig),_0x2bad57=_0x471ae0?_0x5294a8[_0x33a2bc(0xda)](resolveAuthEnvironmentLocally,_0x471ae0,_0xb96a91['environmentKey']):null,_0x25a475=typeof _0x2bad57?.[_0x33a2bc(0x8e)]===_0x33a2bc(0xd3)&&_0x2bad57['loginInstructions'][_0x33a2bc(0x81)]()?_0x2bad57[_0x33a2bc(0x8e)]:undefined,_0xfbbbc6=_0x5294a8['RfBia'](typeof _0x44116[_0x33a2bc(0x8e)],_0x5294a8[_0x33a2bc(0xaf)])&&_0x44116[_0x33a2bc(0x8e)]['trim']()?_0x44116['loginInstructions']:undefined,_0x52b0d1=_0x5294a8['OYUWZ'](_0xfbbbc6,!_0x25a475)?_0x44116:{..._0x44116,'loginInstructions':_0x25a475},_0x508cbb=Boolean(_0x52b0d1['loginInstructions']?.['trim']()),_0x1bc438=Boolean(_0x44116[_0x33a2bc(0xbe)]||_0x2bad57?.[_0x33a2bc(0xbe)]),_0x597f05=_0x2bad57?.['domains'],_0x4ebae8=_0x44116[_0x33a2bc(0x71)],_0x2f9d08=_0x4ebae8??_0x2bad57?.[_0x33a2bc(0x71)],_0x2c5852=_0xe57977[_0x33a2bc(0x6a)]??_0x44116[_0x33a2bc(0xc5)]??(_0x597f05&&_0x5294a8['WgZsm'](_0x597f05[_0x33a2bc(0xc9)],0x0)?_0x597f05[0x0]:''),_0x343d3c=_0x2c5852?needsTunnel(_0x2c5852):![],_0x3d9958={'invalidateOn':_0x2bad57?.['invalidateOn'],'userAgent':_0x2bad57?.['browserOptions']?.['userAgent']??_0x44116['userAgent']};_0x1bc438&&console[_0x33a2bc(0xa6)](_0x33a2bc(0x87)+_0xb96a91['name']+'\x22,\x20refreshing\x20session...');if(!_0x1bc438){const _0x145509=await _0x5294a8['JGoLd'](checkLocalCache,_0xb96a91['name'],_0xb96a91[_0x33a2bc(0x7b)],_0x2c5852,_0x2f9d08,_0x3d9958);if(_0x145509){if(_0x5294a8['CMhNl'](_0x2c5852,!_0x343d3c)){const _0x42acbd=await isCachedSessionLive(_0x145509['storageStatePath'],_0x2c5852,{'sessionCheckPath':_0x2bad57?.['sessionCheckPath'],'setupHeaders':_0x2f9d08},{'launchBrowser':launchRealBrowser});if(_0x42acbd)return console['log']('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0xb96a91['name']+'\x22'),{'authPath':_0x145509['storageStatePath'],'settings':_0x52b0d1,'resolvedEnv':_0x2bad57};console[_0x33a2bc(0xa6)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0xb96a91['name']+_0x33a2bc(0xb2)),_0x5294a8['OiJva'](emitSessionValidationHint,_0x2c5852,_0x2bad57);}else return _0x343d3c&&console['log'](_0x33a2bc(0x7e)+_0xb96a91['name']+'\x22'),{'authPath':_0x145509['storageStatePath'],'settings':_0x52b0d1,'resolvedEnv':_0x2bad57};}}if(!_0x1bc438&&_0xb96a91['sessionState']){if(_0x343d3c)console['log'](_0x33a2bc(0x6c)+_0x2c5852+'\x22\x20on\x20profile\x20\x22'+_0xb96a91[_0x33a2bc(0x90)]+'\x22');else{const _0x1c3549=await writeSessionToLocalCache(_0xb96a91['name'],_0xb96a91['organizationId'],_0x2c5852,_0x2f9d08,_0xb96a91['sessionState'],_0x597f05,_0x3d9958);if(_0x2c5852){const _0x22db77=await isCachedSessionLive(_0x1c3549,_0x2c5852,{'sessionCheckPath':_0x2bad57?.[_0x33a2bc(0x76)],'setupHeaders':_0x2f9d08},{'launchBrowser':launchRealBrowser});if(_0x22db77)return console[_0x33a2bc(0xa6)](_0x33a2bc(0x6e)+_0xb96a91[_0x33a2bc(0x90)]+'\x22,\x20cached\x20locally'),{'authPath':_0x1c3549,'settings':_0x52b0d1,'resolvedEnv':_0x2bad57};console[_0x33a2bc(0xa6)](_0x33a2bc(0xd5)+_0xb96a91['name']+_0x33a2bc(0x82)),emitSessionValidationHint(_0x2c5852,_0x2bad57);}else return{'authPath':_0x1c3549,'settings':_0x52b0d1,'resolvedEnv':_0x2bad57};}}if(_0x508cbb)return console['log'](_0x33a2bc(0x9e)+_0xb96a91['name']+'\x22;\x20proceeding\x20with\x20loginInstructions.'),{'authPath':undefined,'settings':_0x52b0d1,'resolvedEnv':_0x2bad57};console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0xb96a91['name']+_0x33a2bc(0xcf));const _0x3074f9=Boolean(process['env'][_0x33a2bc(0xd1)])&&_0x5294a8['TWhFa'](Boolean,process['env'][_0x33a2bc(0xcc)]),_0x3bb749=Boolean(_0xb96a91['username']);if(_0x5294a8[_0x33a2bc(0xd2)](_0x3074f9,_0x3bb749))try{const _0x341247=_0x2c5852?await serverSideLoginWithOptionalTunnel(_0xb96a91[_0x33a2bc(0x90)],_0x2c5852,{'force':_0x1bc438}):await _0x5294a8[_0x33a2bc(0x7c)](serverSideLogin,_0xb96a91['name'],{'force':_0x1bc438});if(_0x341247['status']===_0x5294a8[_0x33a2bc(0x72)])console[_0x33a2bc(0xa6)](_0x5294a8[_0x33a2bc(0xb4)]);else{if(_0x5294a8['RfBia'](_0x341247[_0x33a2bc(0x74)],'success')&&_0x341247['session_state']){console[_0x33a2bc(0xa6)](_0x33a2bc(0x70));const _0x4905b2=await _0x5294a8['TfYEU'](writeSessionToLocalCache,_0xb96a91[_0x33a2bc(0x90)],_0xb96a91[_0x33a2bc(0x7b)],_0x2c5852,_0x2f9d08,_0x341247['session_state'],_0x597f05,_0x3d9958);return _0x5294a8['IdWfH'](_0x3074f9,!_0x3bb749)&&await _0x5294a8['TWhFa'](promptSaveCredentials,_0xb96a91['name']),{'authPath':_0x4905b2,'settings':_0x52b0d1,'resolvedEnv':_0x2bad57};}else _0x341247[_0x33a2bc(0xc6)]&&(console['log']('\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:'),console['log'](_0x341247['test_output'])),console['log']('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}}catch(_0x4b8c0c){console[_0x33a2bc(0xa6)]('\x20\x20Server-side\x20login\x20error:\x20'+(_0x5294a8[_0x33a2bc(0xa0)](_0x4b8c0c,Error)?_0x4b8c0c['message']:_0x5294a8['TWhFa'](String,_0x4b8c0c))),console[_0x33a2bc(0xa6)](_0x5294a8['aPiXz']);}const _0x1de868=_0x2bad57?{..._0x2bad57,'setupHeaders':_0x2f9d08}:_0x2c5852?{'key':_0xb96a91['environmentKey']??'','domains':[_0x2c5852],'setupHeaders':_0x2f9d08}:null,{sessionState:_0xa8f8f2}=await manualBrowserLogin(_0xb96a91,_0x1de868,{'persistSessionState':!_0x343d3c}),_0x5f5577=await writeSessionToLocalCache(_0xb96a91['name'],_0xb96a91[_0x33a2bc(0x7b)],_0x2c5852,_0x2f9d08,_0xa8f8f2,_0x597f05,_0x3d9958);return{'authPath':_0x5f5577,'settings':_0x52b0d1,'resolvedEnv':_0x2bad57};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x1c1daf=_0x1278;(function(_0xebed3b,_0x42e96b){const _0x53d446=_0x1278,_0x4fc988=_0xebed3b();while(!![]){try{const _0x10a875=-parseInt(_0x53d446(0xf3))/0x1+-parseInt(_0x53d446(0x121))/0x2*(-parseInt(_0x53d446(0xf7))/0x3)+parseInt(_0x53d446(0x10c))/0x4+-parseInt(_0x53d446(0x107))/0x5+parseInt(_0x53d446(0xf6))/0x6*(-parseInt(_0x53d446(0x10b))/0x7)+-parseInt(_0x53d446(0x110))/0x8*(-parseInt(_0x53d446(0x10d))/0x9)+parseInt(_0x53d446(0x111))/0xa;if(_0x10a875===_0x42e96b)break;else _0x4fc988['push'](_0x4fc988['shift']());}catch(_0x244d7b){_0x4fc988['push'](_0x4fc988['shift']());}}}(_0x4516,0x8a1d0));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';function _0x1278(_0x376740,_0x400ee3){_0x376740=_0x376740-0xf1;const _0x45167b=_0x4516();let _0x127879=_0x45167b[_0x376740];return _0x127879;}export function isInteractive(_0x38c7c2=process['env'],_0x902e1f={'stdin':process[_0x1c1daf(0xf9)],'stdout':process[_0x1c1daf(0xfb)]}){const _0x9f72db=_0x1c1daf,_0x51f817={'MGEgd':function(_0x768c33,_0x3ee0bb){return _0x768c33(_0x3ee0bb);}};if(_0x38c7c2['CI'])return![];return Boolean(_0x902e1f['stdin'][_0x9f72db(0x115)])&&_0x51f817[_0x9f72db(0x113)](Boolean,_0x902e1f[_0x9f72db(0xfb)]['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];function _0x4516(){const _0x388094=['auth','22938URuxrV','18chVTvH','profileName','stdin','vfOYU','stdout','userAgent','setupHeaders','toString','domcontentloaded','YKsAI','environments','catch','push','url','oaSYd','dbCBG','1773160kgfWpw','port','sha256','update','1939UrRRRk','134056ibKNyx','128457swvdlS','slice','stringify','504oVhvPK','8010770YumtqH','domain','MGEgd','has','isTTY','sessionCheckPath','clientIp','.localhost','eqMoY','hostname','zPkFA','goto','effectiveBaseUrl','127.0.0.1','hex','hTAxJ','94096LWDMRU','defaultEnvironmentKey','SIOoL','36763loVmSx','.storageState.json'];_0x4516=function(){return _0x388094;};return _0x4516();}export function sessionCacheHash(_0x537bd9){const _0x1b1aa6=_0x1c1daf,_0x3a0427={'XvLGZ':'baseUrl','apiWR':_0x1b1aa6(0xfd),'vfOYU':function(_0x223390,_0x1e941c){return _0x223390(_0x1e941c);},'hTAxJ':'port','eqMoY':function(_0x114151,_0x9e962){return _0x114151!==_0x9e962;},'SgLaB':_0x1b1aa6(0x117),'ojDYa':function(_0x18fec1,_0x3d585e){return _0x18fec1!==_0x3d585e;},'YKsAI':_0x1b1aa6(0x109)},_0x530af9=new Set(_0x537bd9['invalidateOn']??DEFAULT_INVALIDATE_ON),_0x4d1f86={'orgId':_0x537bd9['orgId'],'profileName':_0x537bd9[_0x1b1aa6(0xf8)]};return _0x530af9[_0x1b1aa6(0x114)](_0x3a0427['XvLGZ'])&&(_0x4d1f86[_0x1b1aa6(0x11d)]=_0x537bd9['effectiveBaseUrl']),_0x530af9[_0x1b1aa6(0x114)](_0x3a0427['apiWR'])&&(_0x4d1f86[_0x1b1aa6(0xfd)]=_0x537bd9[_0x1b1aa6(0xfd)]?_0x3a0427[_0x1b1aa6(0xfa)](sortObjectKeys,_0x537bd9['setupHeaders']):_0x537bd9['setupHeaders']),_0x530af9['has'](_0x3a0427[_0x1b1aa6(0x120)])&&(_0x4d1f86[_0x1b1aa6(0x108)]=extractPort(_0x537bd9[_0x1b1aa6(0x11d)])),_0x530af9['has'](_0x1b1aa6(0xfc))&&_0x3a0427[_0x1b1aa6(0x119)](_0x537bd9['userAgent'],undefined)&&(_0x4d1f86['userAgent']=_0x537bd9['userAgent']),_0x530af9['has'](_0x3a0427['SgLaB'])&&_0x3a0427['ojDYa'](_0x537bd9[_0x1b1aa6(0x117)],undefined)&&(_0x4d1f86[_0x1b1aa6(0x117)]=_0x537bd9['clientIp']),_0x3a0427['vfOYU'](createHash,_0x3a0427[_0x1b1aa6(0x100)])[_0x1b1aa6(0x10a)](JSON[_0x1b1aa6(0x10f)](_0x4d1f86))['digest'](_0x1b1aa6(0x11f))[_0x1b1aa6(0x10e)](0x0,0xc);}function extractPort(_0x31b893){const _0x320f23=_0x1c1daf;try{return new URL(_0x31b893)[_0x320f23(0x108)];}catch{return'';}}function sortObjectKeys(_0x263ca2){const _0x931389={};for(const _0x395a57 of Object['keys'](_0x263ca2)['sort']()){_0x931389[_0x395a57]=_0x263ca2[_0x395a57];}return _0x931389;}export function getSessionCachePath(_0x1f5aa6,_0x50b416){const _0x1fbae5=_0x1c1daf;return join(getRangerHomeDir(),_0x1fbae5(0xf5),_0x1f5aa6+'-'+_0x50b416+'.json');}export function getStorageStatePath(_0xa74872){const _0x1a3c3a=_0x1c1daf;return _0xa74872['replace'](/\.json$/,_0x1a3c3a(0xf4));}export function needsTunnel(_0x506d6b){const _0x4ab123=_0x1c1daf,_0x6b1e6d={'oaSYd':function(_0x52b530,_0x24c4a6){return _0x52b530===_0x24c4a6;},'zPkFA':'localhost'};let _0x2b0655;try{_0x2b0655=new URL(_0x506d6b)[_0x4ab123(0x11a)];}catch{return![];}if(_0x6b1e6d[_0x4ab123(0x105)](_0x2b0655,_0x6b1e6d[_0x4ab123(0x11b)])||_0x2b0655===_0x4ab123(0x11e))return!![];if(_0x2b0655['endsWith'](_0x4ab123(0x118)))return!![];if(_0x2b0655['includes']('localhost.'))return!![];return![];}export function hostnameOf(_0x500e00){return new URL(_0x500e00)['hostname'];}export function duplicateCookiesForDomains(_0x1d3ac2,_0x31d4ca){const _0x501dba=_0x1c1daf,_0x21bdf1=[..._0x1d3ac2],_0x17bd8c=new Set(_0x1d3ac2['map'](_0x3b7c8c=>_0x3b7c8c[_0x501dba(0x112)]));for(const _0x5a9263 of _0x31d4ca){let _0x58b58b;try{_0x58b58b=hostnameOf(_0x5a9263);}catch{continue;}if(!_0x58b58b)continue;const _0x3cb644=_0x58b58b['startsWith']('.')?_0x58b58b:'.'+_0x58b58b;if(_0x17bd8c[_0x501dba(0x114)](_0x58b58b)||_0x17bd8c['has'](_0x3cb644))continue;for(const _0x532d63 of _0x1d3ac2){_0x21bdf1[_0x501dba(0x103)]({..._0x532d63,'domain':_0x3cb644});}_0x17bd8c['add'](_0x3cb644);}return _0x21bdf1;}export function resolveAuthEnvironmentLocally(_0x4f16a8,_0x140ae2){const _0x5292aa=_0x1c1daf,_0x2ebebc=_0x4f16a8[_0x5292aa(0x101)];if(_0x140ae2){const _0x406fbd=_0x2ebebc[_0x140ae2];if(!_0x406fbd)return null;return{'key':_0x140ae2,..._0x406fbd};}if(_0x4f16a8[_0x5292aa(0xf1)]){const _0x52cf01=_0x2ebebc[_0x4f16a8['defaultEnvironmentKey']];if(!_0x52cf01)return null;return{'key':_0x4f16a8['defaultEnvironmentKey'],..._0x52cf01};}const _0x3cdc31=Object['keys'](_0x2ebebc);if(_0x3cdc31['length']===0x1){const _0x177454=_0x3cdc31[0x0];return{'key':_0x177454,..._0x2ebebc[_0x177454]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x1cba8b,_0x474787){const _0x204fb1=_0x1c1daf;try{if(_0x474787)return new URL(_0x474787,_0x1cba8b)[_0x204fb1(0xfe)]();return new URL(_0x1cba8b)[_0x204fb1(0xfe)]();}catch{return null;}}export function looksLikeLoginUrl(_0x349e10){try{const _0x5a3a01=new URL(_0x349e10);return LOGIN_URL_PATTERN['test'](_0x5a3a01['pathname']);}catch{return LOGIN_URL_PATTERN['test'](_0x349e10);}}export async function isCachedSessionLive(_0x275aeb,_0x38d3db,_0x4c5cf4={},_0x2f082a={}){const _0x24d30f=_0x1c1daf,_0x307a01={'SIOoL':function(_0x226151,_0x3ea789,_0x328e1f){return _0x226151(_0x3ea789,_0x328e1f);},'dbCBG':_0x24d30f(0xff),'BOzyH':function(_0xffe1a1,_0x23d3fe){return _0xffe1a1===_0x23d3fe;}},_0x12fe3b=_0x307a01[_0x24d30f(0xf2)](buildSessionCheckUrl,_0x38d3db,_0x4c5cf4[_0x24d30f(0x116)]);if(!_0x12fe3b)return!![];if(!_0x2f082a['launchBrowser'])return!![];let _0xfbb569=null;try{_0xfbb569=await _0x2f082a['launchBrowser']();const _0x397796=await _0xfbb569['newContext']({'storageState':_0x275aeb,'ignoreHTTPSErrors':!![],..._0x4c5cf4['setupHeaders']?{'extraHTTPHeaders':_0x4c5cf4['setupHeaders']}:{}}),_0xca0902=await _0x397796['newPage'](),_0x4be04b=await _0xca0902[_0x24d30f(0x11c)](_0x12fe3b,{'waitUntil':_0x307a01[_0x24d30f(0x106)],'timeout':0x3a98}),_0x37cbb7=_0x4be04b?.['status']();if(_0x307a01['BOzyH'](_0x37cbb7,0x191)||_0x37cbb7===0x193)return![];const _0x2b544b=_0xca0902[_0x24d30f(0x104)]();if(looksLikeLoginUrl(_0x2b544b))return![];return!![];}catch{return![];}finally{if(_0xfbb569)await _0xfbb569['close']()[_0x24d30f(0x102)](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x2cc064=_0x2278;(function(_0x3b55be,_0x2f0ccf){const _0x2d142c=_0x2278,_0x243209=_0x3b55be();while(!![]){try{const _0x3cc4c8=parseInt(_0x2d142c(0x120))/0x1+-parseInt(_0x2d142c(0x11b))/0x2*(-parseInt(_0x2d142c(0x122))/0x3)+-parseInt(_0x2d142c(0x11d))/0x4+parseInt(_0x2d142c(0x118))/0x5*(-parseInt(_0x2d142c(0x117))/0x6)+-parseInt(_0x2d142c(0x115))/0x7+parseInt(_0x2d142c(0x11f))/0x8*(-parseInt(_0x2d142c(0x11a))/0x9)+parseInt(_0x2d142c(0x126))/0xa*(parseInt(_0x2d142c(0x116))/0xb);if(_0x3cc4c8===_0x2f0ccf)break;else _0x243209['push'](_0x243209['shift']());}catch(_0x2fdc53){_0x243209['push'](_0x243209['shift']());}}}(_0x2efb,0xd2d46));function _0x2efb(){const _0xaf1205=['5224572QBLQgS','hQKCg','8eXUEcU','412923ZEfBWl','concat','9xaGGmp','subarray','setAuthTag','aes-256-gcm','790fmvqts','835324VmoieL','347226pfPKtE','6ysOrpb','1086935uSWLfI','update','13446990cVUvys','729262XAeqzw','final'];_0x2efb=function(){return _0xaf1205;};return _0x2efb();}import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM=_0x2cc064(0x125),SALT='ranger-auth-encryption',KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0xdc0b40){return pbkdf2Sync(_0xdc0b40,SALT,0x186a0,KEY_LENGTH,'sha256');}function _0x2278(_0x2e0722,_0x2ab8a5){_0x2e0722=_0x2e0722-0x115;const _0x2efb7d=_0x2efb();let _0x2278dc=_0x2efb7d[_0x2e0722];return _0x2278dc;}export function encrypt(_0x42dc37,_0xe8284b){const _0x1bda09=_0x2cc064,_0x2af26c={'UBgEJ':function(_0x25be27,_0x40290c,_0x59e671,_0x3b4ba1){return _0x25be27(_0x40290c,_0x59e671,_0x3b4ba1);}},_0x41a856=deriveKey(_0xe8284b),_0x3feb71=randomBytes(IV_LENGTH),_0x6d2e91=_0x2af26c['UBgEJ'](createCipheriv,ALGORITHM,_0x41a856,_0x3feb71),_0x360da2=Buffer['concat']([_0x6d2e91[_0x1bda09(0x119)](_0x42dc37,'utf8'),_0x6d2e91[_0x1bda09(0x11c)]()]),_0x5706a0=_0x6d2e91['getAuthTag']();return Buffer[_0x1bda09(0x121)]([_0x3feb71,_0x5706a0,_0x360da2]);}export function decrypt(_0x2341b7,_0x57b13b){const _0xb3a54a=_0x2cc064,_0xab6dc8={'hQKCg':function(_0x3ee4a0,_0x5e8842){return _0x3ee4a0+_0x5e8842;}},_0x2238ac=deriveKey(_0x57b13b),_0x4dc9ee=_0x2341b7['subarray'](0x0,IV_LENGTH),_0x1e1c93=_0x2341b7['subarray'](IV_LENGTH,_0xab6dc8[_0xb3a54a(0x11e)](IV_LENGTH,TAG_LENGTH)),_0x5802e4=_0x2341b7[_0xb3a54a(0x123)](IV_LENGTH+TAG_LENGTH),_0xb523bd=createDecipheriv(ALGORITHM,_0x2238ac,_0x4dc9ee);return _0xb523bd[_0xb3a54a(0x124)](_0x1e1c93),_0xb523bd[_0xb3a54a(0x119)](_0x5802e4)+_0xb523bd['final']('utf8');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x33a38c=_0x1c0a;(function(_0x31655d,_0x48b159){const _0x1d43f6=_0x1c0a,_0x50dd50=_0x31655d();while(!![]){try{const _0xdd81d6=parseInt(_0x1d43f6(0x151))/0x1+-parseInt(_0x1d43f6(0x13d))/0x2*(parseInt(_0x1d43f6(0x146))/0x3)+parseInt(_0x1d43f6(0x14f))/0x4*(-parseInt(_0x1d43f6(0x149))/0x5)+parseInt(_0x1d43f6(0x139))/0x6+parseInt(_0x1d43f6(0x167))/0x7+-parseInt(_0x1d43f6(0x14d))/0x8*(parseInt(_0x1d43f6(0x147))/0x9)+-parseInt(_0x1d43f6(0x13c))/0xa;if(_0xdd81d6===_0x48b159)break;else _0x50dd50['push'](_0x50dd50['shift']());}catch(_0x445a0b){_0x50dd50['push'](_0x50dd50['shift']());}}}(_0x5a7e,0x2f867));function _0x5a7e(){const _0x1e66ab=['has_token','stringify','NIqaE','39786BLskoy','27NYmVoF','[desire-path]\x20Payload:\x20','85NvXrAy','missing_option','env','DEBUG','748184gRDmSg','Agshm','47408yXhfso','--api-key','373572TpCHBE','error','stdout','some','[REDACTED]','slice','--token','featureId','missing_required_argument','--cookie','--credentials','split','length','unknown_command','invalid_option_value','join','Unknown\x20command','/api/v1/mcp/desire-path-logs','Invalid\x20values','Not\x20enough\x20non-option\x20arguments','push','includes','2303763ehiDap','OCyst','isTTY','--apikey','2333160JMSusI','cpblc','=[REDACTED]','1097990XvgvdR','46HvSGsK','rqLIM','catch','startsWith','sessionId','VNgns'];_0x5a7e=function(){return _0x1e66ab;};return _0x5a7e();}import{getToken}from'./keychain.js';function _0x1c0a(_0x1801fd,_0x3c628f){_0x1801fd=_0x1801fd-0x139;const _0x5a7ebd=_0x5a7e();let _0x1c0a75=_0x5a7ebd[_0x1801fd];return _0x1c0a75;}import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set([_0x33a38c(0x157),'-t','--secret',_0x33a38c(0x150),_0x33a38c(0x16a),'--key','--password','--pass','--auth','--authorization','--header',_0x33a38c(0x15a),_0x33a38c(0x15b)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x3cd286){const _0x397251=_0x33a38c;return TOKEN_PATTERNS[_0x397251(0x154)](_0x220139=>_0x220139['test'](_0x3cd286));}export function sanitizeArgs(_0x1a791a){const _0xa0002f=_0x33a38c,_0xbd5c15={'rwVbz':'[REDACTED]','cpblc':function(_0x1750ce,_0x573bf8){return _0x1750ce(_0x573bf8);}},_0x262484=[];let _0x49d578=![];for(let _0x2e2de8=0x0;_0x2e2de8<_0x1a791a[_0xa0002f(0x15d)];_0x2e2de8++){const _0x3b884d=_0x1a791a[_0x2e2de8];if(_0x49d578){_0x262484['push'](_0xbd5c15['rwVbz']),_0x49d578=![];continue;}if(_0x3b884d[_0xa0002f(0x140)]('--')||_0x3b884d[_0xa0002f(0x140)]('-')){const _0x1285bd=_0x3b884d['indexOf']('=');if(_0x1285bd!==-0x1){const _0x228acb=_0x3b884d[_0xa0002f(0x156)](0x0,_0x1285bd)['toLowerCase']();if(SENSITIVE_FLAGS['has'](_0x228acb)){_0x262484[_0xa0002f(0x165)](_0x3b884d['slice'](0x0,_0x1285bd)+_0xa0002f(0x13b));continue;}}else{const _0x40a508=_0x3b884d['toLowerCase']();SENSITIVE_FLAGS['has'](_0x40a508)&&(_0x49d578=!![]);}_0x262484['push'](_0x3b884d);}else _0xbd5c15[_0xa0002f(0x13a)](looksLikeToken,_0x3b884d)?_0x262484[_0xa0002f(0x165)](_0xa0002f(0x155)):_0x262484[_0xa0002f(0x165)](_0x3b884d);}return _0x262484[_0xa0002f(0x160)]('\x20');}export async function logDesirePath(_0x4f8272){const _0x3ca6f1=_0x33a38c,_0x199740={'OCyst':function(_0x2c88ae){return _0x2c88ae();},'OzIsE':'no_token','NIqaE':'application/json'};try{const _0x4eb465=await getToken()[_0x3ca6f1(0x13f)](()=>null),_0x30c280=getApiBaseUrl(),_0x32974b=_0x199740[_0x3ca6f1(0x168)](getCurrentVersion),_0x513dc5=_0x4eb465?_0x3ca6f1(0x143):_0x199740['OzIsE'],_0x46aa67={..._0x4f8272['metadata'],'authStatus':_0x513dc5,'isTty':process[_0x3ca6f1(0x153)][_0x3ca6f1(0x169)]??![]},_0x433df3={'Content-Type':_0x199740[_0x3ca6f1(0x145)]};_0x4eb465&&(_0x433df3['Authorization']='Bearer\x20'+_0x4eb465);const _0x1d44f7={'rawCommand':_0x4f8272['rawCommand'],'errorMessage':_0x4f8272['errorMessage'],'errorType':_0x4f8272['errorType'],'featureId':_0x4f8272[_0x3ca6f1(0x158)],'sessionId':_0x4f8272[_0x3ca6f1(0x141)],'metadata':_0x46aa67,'cliVersion':_0x32974b};process['env'][_0x3ca6f1(0x14c)]&&(console['error']('[desire-path]\x20Sending\x20log\x20to\x20'+_0x30c280+_0x3ca6f1(0x162)),console[_0x3ca6f1(0x152)](_0x3ca6f1(0x148)+JSON[_0x3ca6f1(0x144)](_0x1d44f7,null,0x2))),await fetch(_0x30c280+_0x3ca6f1(0x162),{'method':'POST','headers':_0x433df3,'body':JSON[_0x3ca6f1(0x144)](_0x1d44f7)});}catch(_0x39a3e0){process[_0x3ca6f1(0x14b)][_0x3ca6f1(0x14c)]&&console[_0x3ca6f1(0x152)]('[desire-path]\x20Failed\x20to\x20send:\x20'+_0x39a3e0);}}export function getErrorType(_0x5ef068,_0x34e871){const _0x3d8724=_0x33a38c,_0x3a608c={'zKeDv':_0x3d8724(0x15e),'AfxUb':_0x3d8724(0x164),'rqLIM':_0x3d8724(0x159),'VNgns':_0x3d8724(0x163),'Agshm':'syntax_error','AXUWB':'unknown_argument','DBdWE':'Missing\x20required\x20argument','LCCIO':_0x3d8724(0x14a)},_0x24919e='0|6|1|5|2|3|7|4'[_0x3d8724(0x15c)]('|');let _0x5d44d7=0x0;while(!![]){switch(_0x24919e[_0x5d44d7++]){case'0':if(_0x34e871)return'runtime_error';continue;case'1':if(_0x5ef068[_0x3d8724(0x166)](_0x3d8724(0x161)))return _0x3a608c['zKeDv'];continue;case'2':if(_0x5ef068['includes'](_0x3a608c['AfxUb']))return _0x3a608c[_0x3d8724(0x13e)];continue;case'3':if(_0x5ef068['includes'](_0x3a608c[_0x3d8724(0x142)]))return _0x3d8724(0x15f);continue;case'4':return _0x3a608c[_0x3d8724(0x14e)];case'5':if(_0x5ef068['includes']('Unknown\x20argument'))return _0x3a608c['AXUWB'];continue;case'6':if(!_0x5ef068)return'unknown';continue;case'7':if(_0x5ef068[_0x3d8724(0x166)](_0x3a608c['DBdWE']))return _0x3a608c['LCCIO'];continue;}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x10b416=_0x59df;(function(_0x4f63b1,_0x282f4c){const _0x2addf9=_0x59df,_0x47caeb=_0x4f63b1();while(!![]){try{const _0x143b5b=parseInt(_0x2addf9(0xd1))/0x1+-parseInt(_0x2addf9(0xd8))/0x2+parseInt(_0x2addf9(0xc7))/0x3*(parseInt(_0x2addf9(0xd7))/0x4)+parseInt(_0x2addf9(0xe1))/0x5*(parseInt(_0x2addf9(0x100))/0x6)+parseInt(_0x2addf9(0xba))/0x7+-parseInt(_0x2addf9(0xe7))/0x8*(-parseInt(_0x2addf9(0xd6))/0x9)+-parseInt(_0x2addf9(0xd5))/0xa;if(_0x143b5b===_0x282f4c)break;else _0x47caeb['push'](_0x47caeb['shift']());}catch(_0x49212b){_0x47caeb['push'](_0x47caeb['shift']());}}}(_0x1155,0x26168));import{spawn}from'child_process';import _0x2cf217 from'inquirer';function _0x59df(_0x22355d,_0x16a28b){_0x22355d=_0x22355d-0xb1;const _0x115573=_0x1155();let _0x59df84=_0x115573[_0x22355d];return _0x59df84;}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=_0x10b416(0xef);export async function requestDeviceCode(_0xdc497c){const _0x84248f=_0x10b416,_0x1f72f3=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':'POST','headers':{'Content-Type':_0x84248f(0xcf)},'body':new URLSearchParams({'client_id':_0xdc497c})});if(!_0x1f72f3['ok']){const _0x43b4cc=await _0x1f72f3['text']();throw new Error('Failed\x20to\x20request\x20device\x20code:\x20'+_0x1f72f3['status']+'\x20'+_0x43b4cc);}return _0x1f72f3[_0x84248f(0xb1)]();}export async function pollForTokens(_0x3c0cea,_0xeaf784,_0x2ec476,_0xd0f56d){const _0x48d5a3=_0x10b416,_0x9846fc={'RSWdw':function(_0x5c9c6d,_0x33a3b0){return _0x5c9c6d*_0x33a3b0;},'YRXub':function(_0x29beff,_0x1cefe1){return _0x29beff<_0x1cefe1;},'ngnvp':function(_0x561123,_0x3e1a2f,_0x256127){return _0x561123(_0x3e1a2f,_0x256127);},'ZcGwI':'POST','kUxbm':function(_0x4eda07,_0xd34c33){return _0x4eda07===_0xd34c33;},'pJvxe':'authorization_pending','lVTax':'slow_down'},_0x5ebde2=Date[_0x48d5a3(0xdb)]()+_0x9846fc['RSWdw'](_0xd0f56d,0x3e8);let _0x42634b=_0x9846fc['RSWdw'](_0x2ec476,0x3e8);while(_0x9846fc[_0x48d5a3(0xb6)](Date['now'](),_0x5ebde2)){await sleep(_0x42634b);const _0x5a16d6=await _0x9846fc['ngnvp'](fetch,WORKOS_TOKEN_URL,{'method':_0x9846fc['ZcGwI'],'headers':{'Content-Type':_0x48d5a3(0xcf)},'body':new URLSearchParams({'client_id':_0x3c0cea,'device_code':_0xeaf784,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x5a16d6['ok'])return _0x5a16d6['json']();const _0x39052c=await _0x5a16d6[_0x48d5a3(0xb1)]();if(_0x9846fc['kUxbm'](_0x39052c['error'],_0x9846fc[_0x48d5a3(0xda)]))continue;if(_0x39052c[_0x48d5a3(0xf7)]===_0x9846fc[_0x48d5a3(0xfd)]){_0x42634b+=0x3e8;continue;}throw new Error(_0x39052c[_0x48d5a3(0xd2)]||_0x39052c[_0x48d5a3(0xf7)]||_0x48d5a3(0xfa));}throw new Error(_0x48d5a3(0xce));}async function fetchUserProfile(_0x3eef5d){const _0x1853f8=_0x10b416,_0x24bb2d={'MPhRu':_0x1853f8(0xd9)},_0x4b2d9e=getApiBaseUrl();try{const _0x298a02=await fetch(_0x4b2d9e+_0x1853f8(0xc5),{'method':_0x24bb2d[_0x1853f8(0xe0)],'headers':{'workos-token':_0x3eef5d}});if(_0x298a02['ok'])return _0x298a02['json']();}catch{}return null;}function buildKeyName(_0x47ff19,_0x145d54){const _0x58e17d=_0x10b416,_0x53c785={'UGKvk':function(_0xb5063a,_0x190506){return _0xb5063a===_0x190506;},'FAbNg':function(_0x3670b3,_0x41ccf9){return _0x3670b3+_0x41ccf9;}},_0x5b8cf6=_0x145d54[_0x58e17d(0xb4)](_0x22600f=>_0x22600f['name']===_0x47ff19||_0x22600f['name'][_0x58e17d(0xfe)](_0x47ff19+'\x20('));if(_0x53c785['UGKvk'](_0x5b8cf6['length'],0x0))return _0x47ff19;return _0x47ff19+'\x20('+_0x53c785[_0x58e17d(0xeb)](_0x5b8cf6['length'],0x1)+')';}export async function provisionApiKey(_0x30c60b){const _0x285d4b=_0x10b416,_0x21439e={'ImtCt':function(_0x31232e){return _0x31232e();},'OLkpl':function(_0x218ea0,_0x2c9460){return _0x218ea0(_0x2c9460);},'WJxsI':'CLI\x20Key','oVoFF':function(_0x223b1d,_0x1463ab,_0x76f927){return _0x223b1d(_0x1463ab,_0x76f927);},'Nwzrn':function(_0x8b5173,_0x44b483,_0x427e1d){return _0x8b5173(_0x44b483,_0x427e1d);},'fRVUz':'POST'},_0x199d03=_0x21439e['ImtCt'](getApiBaseUrl),_0x492b88={'Content-Type':_0x285d4b(0xb5),'workos-token':_0x30c60b},_0x25d0b1=await _0x21439e['OLkpl'](fetchUserProfile,_0x30c60b),_0x4930a3=_0x25d0b1?.[_0x285d4b(0xc8)]||_0x25d0b1?.[_0x285d4b(0xb9)]?.['split']('@')[0x0],_0x496a17=_0x4930a3?_0x4930a3+_0x285d4b(0xfb):_0x21439e['WJxsI'];let _0x4fd484=[];try{const _0x1c8d4a=await _0x21439e[_0x285d4b(0xe2)](fetch,_0x199d03+'/api-keys',{'method':_0x285d4b(0xd9),'headers':_0x492b88});if(_0x1c8d4a['ok']){const _0x38bf48=await _0x1c8d4a['json']();_0x4fd484=_0x38bf48[_0x285d4b(0xf2)];}}catch{}const _0x318250=_0x21439e['Nwzrn'](buildKeyName,_0x496a17,_0x4fd484),_0x52a846=await fetch(_0x199d03+_0x285d4b(0xca),{'method':_0x21439e['fRVUz'],'headers':_0x492b88,'body':JSON[_0x285d4b(0xc4)]({'name':_0x318250,'scope':'mcp:write'})});if(!_0x52a846['ok']){const _0x2e5358=await _0x52a846[_0x285d4b(0xb2)]();throw new Error(_0x285d4b(0xbd)+_0x52a846[_0x285d4b(0xc3)]+'\x20'+_0x2e5358);}const _0x4c096f=await _0x52a846[_0x285d4b(0xb1)]();return _0x4c096f[_0x285d4b(0x101)]['token'];}export function openBrowser(_0x2ccb76){const _0x560b92=_0x10b416,_0x1782ef={'oRKHY':'win32','tcCiZ':'ignore','LbTrp':function(_0x2ad1a5,_0x52ba0){return _0x2ad1a5===_0x52ba0;},'dLvsh':'open','gQGHb':_0x560b92(0xfc)};try{if(process['platform']===_0x1782ef['oRKHY']){const _0x591c3c=spawn(_0x560b92(0xd0),['/c',_0x560b92(0xdc),'',_0x2ccb76],{'detached':!![],'stdio':_0x1782ef[_0x560b92(0xdf)],'windowsHide':!![]});_0x591c3c[_0x560b92(0xed)]();return;}const _0x241ff7=_0x1782ef[_0x560b92(0xc9)](process[_0x560b92(0xbc)],'darwin')?_0x1782ef['dLvsh']:_0x1782ef[_0x560b92(0xb3)],_0x11f76c=spawn(_0x241ff7,[_0x2ccb76],{'detached':!![],'stdio':_0x560b92(0x105)});_0x11f76c['unref']();}catch{}}function decodeJwtPayload(_0x2c21a6){const _0x54d9e1=_0x10b416,_0x510bc5={'EFKul':function(_0x407eae,_0x385ba6){return _0x407eae!==_0x385ba6;},'uFzxm':_0x54d9e1(0x102)},_0x492ebf=_0x2c21a6[_0x54d9e1(0xea)]('.');if(_0x510bc5[_0x54d9e1(0xe8)](_0x492ebf['length'],0x3))throw new Error(_0x54d9e1(0xf0));const _0xc3b131=Buffer[_0x54d9e1(0xde)](_0x492ebf[0x1],_0x54d9e1(0xcb))['toString'](_0x510bc5[_0x54d9e1(0xf3)]);return JSON['parse'](_0xc3b131);}async function selfServeSignup(_0x17ea4a){const _0x1badd4=_0x10b416,_0x123aa8={'kvGej':function(_0x1c7254){return _0x1c7254();},'oWZVg':'application/json'},_0x5bdbfa=_0x123aa8[_0x1badd4(0xf5)](getApiBaseUrl),_0x13665c=await fetch(_0x5bdbfa+'/organization/self-serve-signup',{'method':_0x1badd4(0xd4),'headers':{'Content-Type':_0x123aa8[_0x1badd4(0xbf)],'workos-token':_0x17ea4a}});if(!_0x13665c['ok']){const _0x19d65f=await _0x13665c['text']();throw new Error('Failed\x20to\x20create\x20organization:\x20'+_0x13665c[_0x1badd4(0xc3)]+'\x20'+_0x19d65f);}return _0x13665c[_0x1badd4(0xb1)]();}async function fetchMyMemberships(_0x23eb2e){const _0x54764a=_0x10b416,_0x516488={'ArOtq':function(_0x2d1c6a,_0x384214,_0x5d5e53){return _0x2d1c6a(_0x384214,_0x5d5e53);}},_0x127a5c=getApiBaseUrl(),_0x3dfaf9=await _0x516488[_0x54764a(0xff)](fetch,_0x127a5c+'/organization/my-memberships',{'method':_0x54764a(0xd9),'headers':{'workos-token':_0x23eb2e}});if(!_0x3dfaf9['ok']){const _0x192cea=await _0x3dfaf9[_0x54764a(0xb2)]();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x3dfaf9[_0x54764a(0xc3)]+'\x20'+_0x192cea);}const _0x248c87=await _0x3dfaf9[_0x54764a(0xb1)]();return _0x248c87['memberships'];}function _0x1155(){const _0x316f7b=['YWhLY','408ZQlOKD','EFKul','organizationId','split','FAbNg','Using\x20organization:\x20','unref','map','https://api.workos.com/user_management/authenticate','Invalid\x20JWT\x20format','wmxeQ','apiKeys','uFzxm','workosClientId','kvGej','Waiting\x20for\x20authentication...','error','Failed\x20to\x20provision\x20CLI\x20token:\x20','length','Authentication\x20failed','\x27s\x20CLI\x20Key','xdg-open','lVTax','startsWith','ArOtq','17778dlOOTk','apiKey','utf-8','Setting\x20up\x20your\x20organization...','expires_in','ignore','json','text','gQGHb','filter','application/json','YRXub','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','access_token','email','2063460aJPrHp','user_code','platform','Failed\x20to\x20provision\x20API\x20key:\x20','ImzTq','oWZVg','dhQYS','yhqFX','interval','status','stringify','/organization/me','device_code','29217ZVeDND','firstName','LbTrp','/api-keys','base64url','paDAU','token','Device\x20authorization\x20timed\x20out','application/x-www-form-urlencoded','cmd','75087rmeRpo','error_description','log','POST','1479160PRJfBU','15003NeuEKp','20KRCwBi','464496UurvKw','GET','pJvxe','now','start','pnTZH','from','tcCiZ','MPhRu','55OhKctE','oVoFF','isTTY','stdout','name'];_0x1155=function(){return _0x316f7b;};return _0x1155();}async function refreshTokenWithOrg(_0x4188b9,_0x1cfe1c,_0x2dd398){const _0x1f66a0=_0x10b416,_0x262883={'kYdMc':function(_0x4c9fcf,_0x482fbb,_0x238cd3){return _0x4c9fcf(_0x482fbb,_0x238cd3);},'VBgna':_0x1f66a0(0xd4)},_0x360339=await _0x262883['kYdMc'](fetch,WORKOS_TOKEN_URL,{'method':_0x262883['VBgna'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x4188b9,'grant_type':'refresh_token','refresh_token':_0x1cfe1c,'organization_id':_0x2dd398})});if(!_0x360339['ok']){const _0x54a079=await _0x360339[_0x1f66a0(0xb2)]();throw new Error(_0x1f66a0(0xb7)+_0x360339[_0x1f66a0(0xc3)]+'\x20'+_0x54a079);}return _0x360339[_0x1f66a0(0xb1)]();}async function provisionCliToken(_0x266ca1){const _0x52e7d1=_0x10b416,_0x2e232d={'XAxym':function(_0x50da62){return _0x50da62();},'yQjER':function(_0x2c8ffe,_0x43b58e,_0x1b9dda){return _0x2c8ffe(_0x43b58e,_0x1b9dda);},'DeIQX':_0x52e7d1(0xd4)},_0x4120d5=_0x2e232d['XAxym'](getApiBaseUrl),_0x29a3c4=await _0x2e232d['yQjER'](fetch,_0x4120d5+'/cli-auth/token',{'method':_0x2e232d['DeIQX'],'headers':{'Content-Type':'application/json','workos-token':_0x266ca1}});if(!_0x29a3c4['ok']){const _0x4fba81=await _0x29a3c4[_0x52e7d1(0xb2)]();throw new Error(_0x52e7d1(0xf8)+_0x29a3c4[_0x52e7d1(0xc3)]+'\x20'+_0x4fba81);}return _0x29a3c4[_0x52e7d1(0xb1)]();}export async function runDeviceAuthFlow(){const _0xd9f213=_0x10b416,_0x428e9f={'paDAU':function(_0x2d6e34,_0x36b97a){return _0x2d6e34(_0x36b97a);},'YWhLY':function(_0x3d5880,_0x1b2978,_0x2fe30c,_0x3438a1,_0x1ac186){return _0x3d5880(_0x1b2978,_0x2fe30c,_0x3438a1,_0x1ac186);},'mAitc':_0xd9f213(0x103),'yhqFX':function(_0x591683,_0x38e43a){return _0x591683===_0x38e43a;},'wmxeQ':function(_0x5d9aed,_0x5d59e1){return _0x5d9aed+_0x5d59e1;},'dhQYS':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','QXGyi':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','KtsAj':'selected','ImzTq':'Select\x20an\x20organization:','dwnuB':'Provisioning\x20CLI\x20token...','pnTZH':function(_0x269ce6,_0x2698a6){return _0x269ce6(_0x2698a6);}},_0x1f3c46=getCurrentEnvironment(),_0x512c21=ENVIRONMENT_CONFIGS[_0x1f3c46][_0xd9f213(0xf4)],_0x288dfc=await _0x428e9f[_0xd9f213(0xcc)](requestDeviceCode,_0x512c21);console[_0xd9f213(0xd3)]('\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...'),console[_0xd9f213(0xd3)]('\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a'),openBrowser(_0x288dfc['verification_uri_complete']),console[_0xd9f213(0xd3)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x288dfc['verification_uri_complete']),console['log']('Code:\x20'+_0x288dfc[_0xd9f213(0xbb)]+'\x0a'),process['stdout']['write'](_0xd9f213(0xf6));let _0x1b85b8=await _0x428e9f[_0xd9f213(0xe6)](pollForTokens,_0x512c21,_0x288dfc[_0xd9f213(0xc6)],_0x288dfc[_0xd9f213(0xc2)],_0x288dfc[_0xd9f213(0x104)]);console[_0xd9f213(0xd3)]('\x20✓');const _0xfce92e=decodeJwtPayload(_0x1b85b8[_0xd9f213(0xb8)]);if(!_0xfce92e['org_id']){const _0x3963f6=await _0x428e9f[_0xd9f213(0xcc)](fetchMyMemberships,_0x1b85b8['access_token']);let _0x332100;if(_0x3963f6[_0xd9f213(0xf9)]===0x0){process[_0xd9f213(0xe4)]['write'](_0x428e9f['mAitc']);const _0x3f87aa=await _0x428e9f['paDAU'](selfServeSignup,_0x1b85b8[_0xd9f213(0xb8)]);_0x332100=_0x3f87aa['organizationId'],console['log']('\x20✓');}else{if(_0x428e9f[_0xd9f213(0xc1)](_0x3963f6['length'],0x1))_0x332100=_0x3963f6[0x0][_0xd9f213(0xe9)],console['log'](_0xd9f213(0xec)+_0x3963f6[0x0][_0xd9f213(0xe5)]);else{const _0x203d04=process['stdin'][_0xd9f213(0xe3)]&&process[_0xd9f213(0xe4)]['isTTY'];if(!_0x203d04)throw new Error(_0x428e9f[_0xd9f213(0xf1)](_0x428e9f[_0xd9f213(0xc0)],_0x428e9f['QXGyi']));const {selected:_0x289df9}=await _0x2cf217['prompt']([{'type':'list','name':_0x428e9f['KtsAj'],'message':_0x428e9f[_0xd9f213(0xbe)],'choices':_0x3963f6[_0xd9f213(0xee)](_0x2ca845=>({'name':_0x2ca845[_0xd9f213(0xe5)],'value':_0x2ca845[_0xd9f213(0xe9)]}))}]);_0x332100=_0x289df9;}}_0x1b85b8=await refreshTokenWithOrg(_0x512c21,_0x1b85b8['refresh_token'],_0x332100);}process['stdout']['write'](_0x428e9f['dwnuB']);const _0x43b110=await _0x428e9f[_0xd9f213(0xdd)](provisionCliToken,_0x1b85b8[_0xd9f213(0xb8)]);return console[_0xd9f213(0xd3)]('\x20✓'),await _0x428e9f['pnTZH'](storeToken,_0x43b110[_0xd9f213(0xcd)]),_0x1b85b8['refresh_token']&&await storeRefreshToken(_0x1b85b8['refresh_token']),_0x43b110[_0xd9f213(0xcd)];}function sleep(_0x58b2d0){return new Promise(_0x5abdd7=>setTimeout(_0x5abdd7,_0x58b2d0));}
|
|
1
|
+
const _0x336ee8=_0x5b61;function _0x5873(){const _0x281b54=['stdin','https://api.workos.com/user_management/authenticate','lgfcj','nUAuR','token','PvVrn','yGApo','5758048tLaBcV','Select\x20an\x20organization:','nuoVC','6330772oqpSpN','refresh_token','selected','eheme','xHbDt','json','device_code','50vjYZiO','QWIeX','startsWith','error','iFxbG','PVYDx','name','apiKey','write','Device\x20authorization\x20timed\x20out','yBgPP','392061jPyqDX','1922265VbbfjU','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','log','stdout','org_id','/organization/self-serve-signup','parse','35esrNol','application/json','base64url','CeBli','map','ImbXJ','hzlfS','application/x-www-form-urlencoded','darwin','Failed\x20to\x20fetch\x20memberships:\x20','7066wGAkXF','status','organizationId','tIDqm','unref','xDsDN','from','KFGLK','BhmwZ','error_description','Failed\x20to\x20create\x20organization:\x20','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','pufWy','111DvYqrB','/organization/me','start','Failed\x20to\x20request\x20device\x20code:\x20','5343720MwxMnX','tCdZQ','POST','mWffA','open','231968GWFKsG','Using\x20organization:\x20','lnqgQ','access_token','platform','UeuzR','/api-keys','SpOHW','AdTuJ','length','utf-8','text','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','verification_uri_complete','prompt','/cli-auth/token','https://api.workos.com/user_management/authorize/device','slow_down'];_0x5873=function(){return _0x281b54;};return _0x5873();}(function(_0xaefa09,_0xd92510){const _0x4ea543=_0x5b61,_0x249672=_0xaefa09();while(!![]){try{const _0xe3e359=parseInt(_0x4ea543(0x115))/0x1+-parseInt(_0x4ea543(0x127))/0x2*(-parseInt(_0x4ea543(0x134))/0x3)+-parseInt(_0x4ea543(0x13d))/0x4*(parseInt(_0x4ea543(0x11d))/0x5)+-parseInt(_0x4ea543(0x138))/0x6+parseInt(_0x4ea543(0x103))/0x7+-parseInt(_0x4ea543(0x100))/0x8+-parseInt(_0x4ea543(0x116))/0x9*(-parseInt(_0x4ea543(0x10a))/0xa);if(_0xe3e359===_0xd92510)break;else _0x249672['push'](_0x249672['shift']());}catch(_0x116858){_0x249672['push'](_0x249672['shift']());}}}(_0x5873,0x74e3f));import{spawn}from'child_process';import _0x1c48c7 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL=_0x336ee8(0x14d),WORKOS_TOKEN_URL=_0x336ee8(0xfa);export async function requestDeviceCode(_0x5a9759){const _0x1bc70c=_0x336ee8,_0x192453={'fpLzx':function(_0x35b3e5,_0x4b22fd,_0x5310da){return _0x35b3e5(_0x4b22fd,_0x5310da);},'ZuotS':_0x1bc70c(0x13a),'pufWy':'application/x-www-form-urlencoded'},_0x90143c=await _0x192453['fpLzx'](fetch,WORKOS_DEVICE_AUTH_URL,{'method':_0x192453['ZuotS'],'headers':{'Content-Type':_0x192453[_0x1bc70c(0x133)]},'body':new URLSearchParams({'client_id':_0x5a9759})});if(!_0x90143c['ok']){const _0x2f4695=await _0x90143c[_0x1bc70c(0x148)]();throw new Error(_0x1bc70c(0x137)+_0x90143c[_0x1bc70c(0x128)]+'\x20'+_0x2f4695);}return _0x90143c['json']();}export async function pollForTokens(_0x56a930,_0x4360b0,_0x4cf3d8,_0x38af13){const _0x21d526=_0x336ee8,_0x2bfde9={'usknL':function(_0x12d704,_0xa6bf2c){return _0x12d704+_0xa6bf2c;},'mWffA':function(_0x504308,_0xd4155f){return _0x504308*_0xd4155f;},'PVYDx':function(_0x3b5ab7,_0xc04111,_0x509335){return _0x3b5ab7(_0xc04111,_0x509335);},'BhmwZ':_0x21d526(0x13a),'tCdZQ':_0x21d526(0x124),'AdTuJ':'urn:ietf:params:oauth:grant-type:device_code','lgfcj':'authorization_pending','CkZdM':function(_0x1370bf,_0x21a059){return _0x1370bf===_0x21a059;},'hzlfS':_0x21d526(0x14e),'LcNAf':_0x21d526(0x113)},_0x32697b=_0x2bfde9['usknL'](Date['now'](),_0x2bfde9[_0x21d526(0x13b)](_0x38af13,0x3e8));let _0x2db931=_0x2bfde9[_0x21d526(0x13b)](_0x4cf3d8,0x3e8);while(Date['now']()<_0x32697b){await sleep(_0x2db931);const _0x476549=await _0x2bfde9[_0x21d526(0x10f)](fetch,WORKOS_TOKEN_URL,{'method':_0x2bfde9[_0x21d526(0x12f)],'headers':{'Content-Type':_0x2bfde9[_0x21d526(0x139)]},'body':new URLSearchParams({'client_id':_0x56a930,'device_code':_0x4360b0,'grant_type':_0x2bfde9[_0x21d526(0x145)]})});if(_0x476549['ok'])return _0x476549['json']();const _0x5b05e5=await _0x476549[_0x21d526(0x108)]();if(_0x5b05e5[_0x21d526(0x10d)]===_0x2bfde9[_0x21d526(0xfb)])continue;if(_0x2bfde9['CkZdM'](_0x5b05e5['error'],_0x2bfde9[_0x21d526(0x123)])){_0x2db931+=0x3e8;continue;}throw new Error(_0x5b05e5[_0x21d526(0x130)]||_0x5b05e5[_0x21d526(0x10d)]||'Authentication\x20failed');}throw new Error(_0x2bfde9['LcNAf']);}async function fetchUserProfile(_0x40d3ea){const _0x31e513=_0x336ee8,_0x3cf440={'CcpUf':function(_0x1fece3,_0x44b76c,_0xd8e618){return _0x1fece3(_0x44b76c,_0xd8e618);}},_0x15bda2=getApiBaseUrl();try{const _0x26cc10=await _0x3cf440['CcpUf'](fetch,_0x15bda2+_0x31e513(0x135),{'method':'GET','headers':{'workos-token':_0x40d3ea}});if(_0x26cc10['ok'])return _0x26cc10['json']();}catch{}return null;}function buildKeyName(_0x5312b0,_0x3ee692){const _0x2eed48=_0x336ee8,_0x57f17f={'ImbXJ':function(_0x44b200,_0x49852f){return _0x44b200===_0x49852f;}},_0x536733=_0x3ee692['filter'](_0x37705d=>_0x37705d[_0x2eed48(0x110)]===_0x5312b0||_0x37705d['name'][_0x2eed48(0x10c)](_0x5312b0+'\x20('));if(_0x57f17f[_0x2eed48(0x122)](_0x536733[_0x2eed48(0x146)],0x0))return _0x5312b0;return _0x5312b0+'\x20('+(_0x536733[_0x2eed48(0x146)]+0x1)+')';}export async function provisionApiKey(_0x518094){const _0x2e4b3e=_0x336ee8,_0x554c83={'eiWua':_0x2e4b3e(0x11e),'wnZpU':'CLI\x20Key','xHbDt':'mcp:write'},_0x27d463=getApiBaseUrl(),_0x311e49={'Content-Type':_0x554c83['eiWua'],'workos-token':_0x518094},_0x5bffa6=await fetchUserProfile(_0x518094),_0x1f695c=_0x5bffa6?.['firstName']||_0x5bffa6?.['email']?.['split']('@')[0x0],_0x4700ef=_0x1f695c?_0x1f695c+'\x27s\x20CLI\x20Key':_0x554c83['wnZpU'];let _0x63c28b=[];try{const _0x598d52=await fetch(_0x27d463+_0x2e4b3e(0x143),{'method':'GET','headers':_0x311e49});if(_0x598d52['ok']){const _0x3cbc55=await _0x598d52[_0x2e4b3e(0x108)]();_0x63c28b=_0x3cbc55['apiKeys'];}}catch{}const _0x321a50=buildKeyName(_0x4700ef,_0x63c28b),_0x543e52=await fetch(_0x27d463+_0x2e4b3e(0x143),{'method':'POST','headers':_0x311e49,'body':JSON['stringify']({'name':_0x321a50,'scope':_0x554c83[_0x2e4b3e(0x107)]})});if(!_0x543e52['ok']){const _0x4d6478=await _0x543e52[_0x2e4b3e(0x148)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x543e52[_0x2e4b3e(0x128)]+'\x20'+_0x4d6478);}const _0x3858e=await _0x543e52['json']();return _0x3858e[_0x2e4b3e(0x111)]['token'];}function _0x5b61(_0x50745f,_0x52c82a){_0x50745f=_0x50745f-0xf9;const _0x587377=_0x5873();let _0x5b6117=_0x587377[_0x50745f];return _0x5b6117;}export function openBrowser(_0x34556f){const _0x596fc1=_0x336ee8,_0x48b399={'eheme':function(_0x1a85ab,_0x3bf8b4,_0xfad8a0,_0x53face){return _0x1a85ab(_0x3bf8b4,_0xfad8a0,_0x53face);},'SpOHW':_0x596fc1(0x125),'tcrEb':'xdg-open','nuoVC':function(_0x51caf4,_0x390a3a,_0x37f88c,_0x170e48){return _0x51caf4(_0x390a3a,_0x37f88c,_0x170e48);}};try{if(process[_0x596fc1(0x141)]==='win32'){const _0x276e53=_0x48b399[_0x596fc1(0x106)](spawn,'cmd',['/c',_0x596fc1(0x136),'',_0x34556f],{'detached':!![],'stdio':'ignore','windowsHide':!![]});_0x276e53['unref']();return;}const _0x2d3aa3=process[_0x596fc1(0x141)]===_0x48b399[_0x596fc1(0x144)]?_0x596fc1(0x13c):_0x48b399['tcrEb'],_0x5875d6=_0x48b399[_0x596fc1(0x102)](spawn,_0x2d3aa3,[_0x34556f],{'detached':!![],'stdio':'ignore'});_0x5875d6[_0x596fc1(0x12b)]();}catch{}}function decodeJwtPayload(_0x5cdde9){const _0x31c315=_0x336ee8,_0x381acb={'NoYCC':function(_0xd1d710,_0xbfc315){return _0xd1d710!==_0xbfc315;},'lnqgQ':_0x31c315(0x11f)},_0x5641dc=_0x5cdde9['split']('.');if(_0x381acb['NoYCC'](_0x5641dc['length'],0x3))throw new Error('Invalid\x20JWT\x20format');const _0x3c4977=Buffer[_0x31c315(0x12d)](_0x5641dc[0x1],_0x381acb[_0x31c315(0x13f)])['toString'](_0x31c315(0x147));return JSON[_0x31c315(0x11c)](_0x3c4977);}async function selfServeSignup(_0x152f5d){const _0x25c2f7=_0x336ee8,_0x392532={'KFGLK':function(_0x33c245){return _0x33c245();},'IffNO':_0x25c2f7(0x13a)},_0x420c5d=_0x392532[_0x25c2f7(0x12e)](getApiBaseUrl),_0x23dc45=await fetch(_0x420c5d+_0x25c2f7(0x11b),{'method':_0x392532['IffNO'],'headers':{'Content-Type':'application/json','workos-token':_0x152f5d}});if(!_0x23dc45['ok']){const _0x948c3=await _0x23dc45[_0x25c2f7(0x148)]();throw new Error(_0x25c2f7(0x131)+_0x23dc45[_0x25c2f7(0x128)]+'\x20'+_0x948c3);}return _0x23dc45['json']();}async function fetchMyMemberships(_0x5a1a48){const _0x32f588=_0x336ee8,_0x138841={'cijuW':function(_0x42fc64,_0x1789be,_0x24cd66){return _0x42fc64(_0x1789be,_0x24cd66);}},_0x2b0eaf=getApiBaseUrl(),_0x257d8d=await _0x138841['cijuW'](fetch,_0x2b0eaf+'/organization/my-memberships',{'method':'GET','headers':{'workos-token':_0x5a1a48}});if(!_0x257d8d['ok']){const _0x8e988e=await _0x257d8d[_0x32f588(0x148)]();throw new Error(_0x32f588(0x126)+_0x257d8d['status']+'\x20'+_0x8e988e);}const _0x5b9004=await _0x257d8d['json']();return _0x5b9004['memberships'];}async function refreshTokenWithOrg(_0x2ef0a7,_0x4dd0c8,_0x386bef){const _0x16865e=_0x336ee8,_0x294897={'gDWJJ':function(_0x5cdc81,_0x122979,_0x55cb4b){return _0x5cdc81(_0x122979,_0x55cb4b);},'oNMpj':'POST','nUAuR':_0x16865e(0x124)},_0x4c485f=await _0x294897['gDWJJ'](fetch,WORKOS_TOKEN_URL,{'method':_0x294897['oNMpj'],'headers':{'Content-Type':_0x294897[_0x16865e(0xfc)]},'body':new URLSearchParams({'client_id':_0x2ef0a7,'grant_type':_0x16865e(0x104),'refresh_token':_0x4dd0c8,'organization_id':_0x386bef})});if(!_0x4c485f['ok']){const _0x1bc27f=await _0x4c485f['text']();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x4c485f['status']+'\x20'+_0x1bc27f);}return _0x4c485f['json']();}async function provisionCliToken(_0x52d350){const _0x3af36c=_0x336ee8,_0x291707=getApiBaseUrl(),_0x1ae3be=await fetch(_0x291707+_0x3af36c(0x14c),{'method':'POST','headers':{'Content-Type':'application/json','workos-token':_0x52d350}});if(!_0x1ae3be['ok']){const _0x27eab1=await _0x1ae3be[_0x3af36c(0x148)]();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x1ae3be[_0x3af36c(0x128)]+'\x20'+_0x27eab1);}return _0x1ae3be[_0x3af36c(0x108)]();}export async function runDeviceAuthFlow(){const _0x4d4d15=_0x336ee8,_0x16fd50={'yGApo':_0x4d4d15(0x149),'UeuzR':function(_0xd602a7,_0x6e2efe,_0x11ec8e,_0x301dff,_0x4a07cc){return _0xd602a7(_0x6e2efe,_0x11ec8e,_0x301dff,_0x4a07cc);},'iFxbG':function(_0x21c3b1,_0x308adb){return _0x21c3b1===_0x308adb;},'PvVrn':'Setting\x20up\x20your\x20organization...','TgOXE':function(_0x50cd57,_0x22f9f1){return _0x50cd57(_0x22f9f1);},'xDsDN':function(_0x3d5f4b,_0x5f17c7){return _0x3d5f4b+_0x5f17c7;},'CeBli':'list','yBgPP':_0x4d4d15(0x105),'tIDqm':function(_0x274142,_0x313719,_0x17b9e5,_0x129c10){return _0x274142(_0x313719,_0x17b9e5,_0x129c10);},'QWIeX':function(_0xf1d9f9,_0x6f4028){return _0xf1d9f9(_0x6f4028);}},_0x24f37d=getCurrentEnvironment(),_0x3b6e7a=ENVIRONMENT_CONFIGS[_0x24f37d]['workosClientId'],_0x30f8bd=await requestDeviceCode(_0x3b6e7a);console['log'](_0x4d4d15(0x132)),console['log'](_0x16fd50[_0x4d4d15(0xff)]),openBrowser(_0x30f8bd[_0x4d4d15(0x14a)]),console[_0x4d4d15(0x118)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x30f8bd[_0x4d4d15(0x14a)]),console['log']('Code:\x20'+_0x30f8bd['user_code']+'\x0a'),process['stdout'][_0x4d4d15(0x112)]('Waiting\x20for\x20authentication...');let _0x5b227d=await _0x16fd50[_0x4d4d15(0x142)](pollForTokens,_0x3b6e7a,_0x30f8bd[_0x4d4d15(0x109)],_0x30f8bd['interval'],_0x30f8bd['expires_in']);console[_0x4d4d15(0x118)]('\x20✓');const _0x39d168=decodeJwtPayload(_0x5b227d[_0x4d4d15(0x140)]);if(!_0x39d168[_0x4d4d15(0x11a)]){const _0x4d2025=await fetchMyMemberships(_0x5b227d['access_token']);let _0x45f99d;if(_0x16fd50[_0x4d4d15(0x10e)](_0x4d2025[_0x4d4d15(0x146)],0x0)){process['stdout']['write'](_0x16fd50[_0x4d4d15(0xfe)]);const _0x5102a3=await _0x16fd50['TgOXE'](selfServeSignup,_0x5b227d[_0x4d4d15(0x140)]);_0x45f99d=_0x5102a3[_0x4d4d15(0x129)],console['log']('\x20✓');}else{if(_0x4d2025[_0x4d4d15(0x146)]===0x1)_0x45f99d=_0x4d2025[0x0]['organizationId'],console['log'](_0x4d4d15(0x13e)+_0x4d2025[0x0]['name']);else{const _0x50dd4f=process[_0x4d4d15(0xf9)]['isTTY']&&process[_0x4d4d15(0x119)]['isTTY'];if(!_0x50dd4f)throw new Error(_0x16fd50[_0x4d4d15(0x12c)](_0x4d4d15(0x117),'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'));const {selected:_0x54a5df}=await _0x1c48c7[_0x4d4d15(0x14b)]([{'type':_0x16fd50[_0x4d4d15(0x120)],'name':_0x16fd50[_0x4d4d15(0x114)],'message':_0x4d4d15(0x101),'choices':_0x4d2025[_0x4d4d15(0x121)](_0x4c0f8f=>({'name':_0x4c0f8f[_0x4d4d15(0x110)],'value':_0x4c0f8f['organizationId']}))}]);_0x45f99d=_0x54a5df;}}_0x5b227d=await _0x16fd50[_0x4d4d15(0x12a)](refreshTokenWithOrg,_0x3b6e7a,_0x5b227d[_0x4d4d15(0x104)],_0x45f99d);}process['stdout']['write']('Provisioning\x20CLI\x20token...');const _0x2ea21a=await _0x16fd50[_0x4d4d15(0x10b)](provisionCliToken,_0x5b227d['access_token']);return console['log']('\x20✓'),await _0x16fd50['TgOXE'](storeToken,_0x2ea21a[_0x4d4d15(0xfd)]),_0x5b227d[_0x4d4d15(0x104)]&&await storeRefreshToken(_0x5b227d['refresh_token']),_0x2ea21a[_0x4d4d15(0xfd)];}function sleep(_0x553eb6){return new Promise(_0x513df2=>setTimeout(_0x513df2,_0x553eb6));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x21dd7f=_0x1497;(function(_0x318861,_0x33b608){const _0x14b581=_0x1497,_0x2f3271=_0x318861();while(!![]){try{const _0xcde396=parseInt(_0x14b581(0x162))/0x1+-parseInt(_0x14b581(0x15a))/0x2*(-parseInt(_0x14b581(0x15d))/0x3)+parseInt(_0x14b581(0x14b))/0x4+-parseInt(_0x14b581(0x14c))/0x5*(-parseInt(_0x14b581(0x147))/0x6)+-parseInt(_0x14b581(0x15b))/0x7+parseInt(_0x14b581(0x146))/0x8+-parseInt(_0x14b581(0x159))/0x9;if(_0xcde396===_0x33b608)break;else _0x2f3271['push'](_0x2f3271['shift']());}catch(_0x31d26f){_0x2f3271['push'](_0x2f3271['shift']());}}}(_0x41fa,0x20212));function _0x1497(_0x24d93c,_0x6c59a2){_0x24d93c=_0x24d93c-0x142;const _0x41fa5d=_0x41fa();let _0x1497f5=_0x41fa5d[_0x24d93c];return _0x1497f5;}export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':_0x21dd7f(0x15e),'aiProxyUrl':_0x21dd7f(0x15f),'mcpAuthUrl':_0x21dd7f(0x156)},'staging':{'apiBaseUrl':_0x21dd7f(0x150),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0x21dd7f(0x158),'mcpAuthUrl':'https://mcp-auth.staging.ranger.net/mcp'},'local':{'apiBaseUrl':'http://localhost:8080','workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':'http://localhost:8090','mcpAuthUrl':_0x21dd7f(0x142)}};export const DEFAULT_ENVIRONMENT='prod';export function isValidEnvironment(_0x3d6344){const _0xbdd2f1=_0x21dd7f,_0x4fb700={'tedcd':function(_0x381904,_0x1421a6){return _0x381904===_0x1421a6;},'JfEXP':'staging','wuKLi':'local'};return _0x3d6344===_0xbdd2f1(0x149)||_0x4fb700['tedcd'](_0x3d6344,_0x4fb700[_0xbdd2f1(0x145)])||_0x3d6344===_0x4fb700[_0xbdd2f1(0x164)];}export function getCurrentEnvironment(){const _0x3c524b=_0x21dd7f,_0x43e6ea={'sqRnv':function(_0x19ccbb,_0x5e0362){return _0x19ccbb(_0x5e0362);}},_0x3d8375=process['env'][_0x3c524b(0x157)];if(_0x3d8375&&_0x43e6ea['sqRnv'](isValidEnvironment,_0x3d8375))return _0x3d8375;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x382f23=_0x21dd7f,_0x11bdfb={'xUAeo':function(_0x2fd0f0){return _0x2fd0f0();}};return ENVIRONMENT_CONFIGS[_0x11bdfb[_0x382f23(0x152)](getCurrentEnvironment)]['apiBaseUrl'];}export function getAiProxyUrl(){const _0xe4fb98=_0x21dd7f,_0x226440={'ppShM':function(_0x41a160){return _0x41a160();}};return ENVIRONMENT_CONFIGS[_0x226440['ppShM'](getCurrentEnvironment)][_0xe4fb98(0x154)];}export function getMcpAuthUrl(){const _0x3adc4b=_0x21dd7f,_0x34e86e={'vGQew':function(_0x5dcd31){return _0x5dcd31();}};return process['env'][_0x3adc4b(0x161)]??ENVIRONMENT_CONFIGS[_0x34e86e[_0x3adc4b(0x153)](getCurrentEnvironment)]['mcpAuthUrl'];}export function isByokEnabled(){const _0x464b07=_0x21dd7f,_0x10ab33={'YXmIh':function(_0x86fdb7,_0xbc45ef){return _0x86fdb7===_0xbc45ef;}};return _0x10ab33[_0x464b07(0x160)](process[_0x464b07(0x14e)]['RANGER_BYOK'],'true');}function isVerificationTransport(_0x123af2){const _0x56fafd=_0x21dd7f,_0x973d42={'FhoFR':function(_0x41cd8b,_0x376028){return _0x41cd8b===_0x376028;},'JLHew':_0x56fafd(0x151),'LEVUc':'nova-act-cli'};return _0x973d42[_0x56fafd(0x14a)](_0x123af2,_0x973d42[_0x56fafd(0x143)])||_0x973d42['FhoFR'](_0x123af2,'playwright-cli')||_0x973d42[_0x56fafd(0x14a)](_0x123af2,_0x973d42[_0x56fafd(0x155)])||_0x123af2==='rangerwright-cli';}const LEGACY_TRANSPORT_ENV_VARS=['RANGER_USE_NOVA_ACT','RANGER_DISABLE_MCP'];export function getVerificationTransport(){const _0x37eae9=_0x21dd7f,_0x1bd55d={'XhzmN':function(_0x41bd02,_0x560d6f){return _0x41bd02(_0x560d6f);},'DQPRw':_0x37eae9(0x151)},_0x5696dd=process['env']['RANGER_TRANSPORT']?.['trim']();if(_0x5696dd){if(_0x1bd55d['XhzmN'](isVerificationTransport,_0x5696dd))return _0x5696dd;throw new Error(_0x37eae9(0x148)+_0x5696dd+'\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.');}const _0x19905e=LEGACY_TRANSPORT_ENV_VARS['find'](_0x50ddf9=>process['env'][_0x50ddf9]);if(_0x19905e)throw new Error(_0x19905e+'\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.');return _0x1bd55d['DQPRw'];}function _0x41fa(){const _0x36f5e7=['FhoFR','152368PTCJKz','195995moCeGy','kYAag','env','\x22.\x20','https://api.staging.ranger.net','mcp','xUAeo','vGQew','aiProxyUrl','LEVUc','https://mcp-auth.ranger.net/mcp','RANGER_CLI_ENV','https://ai-proxy-301751771437.us-central1.run.app','5117274AsIuVv','13268NKHIjj','199080Zzncqv','Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.','105BwDFRo','client_01J9CBYM7M5ZETCF7G6614DXR2','https://ai-proxy-716115358910.us-central1.run.app','YXmIh','RANGER_MCP_AUTH_URL','220176XiyXlm','toLowerCase','wuKLi','http://localhost:8080/mcp','JLHew','auto','JfEXP','964584JSytfs','18NKCQbD','Invalid\x20RANGER_TRANSPORT=\x22','prod'];_0x41fa=function(){return _0x36f5e7;};return _0x41fa();}export function resolveHookMode(_0x2bd68c=process['env']){const _0x49d206=_0x21dd7f,_0x50a19c={'kYAag':_0x49d206(0x144),'sLTMk':function(_0x49feac,_0x3b725e){return _0x49feac===_0x3b725e;},'ppGZU':function(_0x2a9220,_0x2887f0){return _0x2a9220+_0x2887f0;}},_0x5dcac9=_0x2bd68c['RANGER_HOOKS']?.['trim']()[_0x49d206(0x163)]();if(!_0x5dcac9)return _0x50a19c['kYAag'];if(_0x50a19c['sLTMk'](_0x5dcac9,'off')||_0x50a19c['sLTMk'](_0x5dcac9,'on')||_0x5dcac9===_0x50a19c[_0x49d206(0x14d)])return _0x5dcac9;return console['error'](_0x50a19c['ppGZU']('[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22'+_0x2bd68c['RANGER_HOOKS']+_0x49d206(0x14f),_0x49d206(0x15c))),_0x50a19c['kYAag'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x21a7fe,_0x58460f){const _0x2ade2e=_0x2dc6,_0x1b139c=_0x21a7fe();while(!![]){try{const _0x522784=parseInt(_0x2ade2e(0x177))/0x1*(-parseInt(_0x2ade2e(0x182))/0x2)+-parseInt(_0x2ade2e(0x197))/0x3*(-parseInt(_0x2ade2e(0x17f))/0x4)+parseInt(_0x2ade2e(0x18c))/0x5*(-parseInt(_0x2ade2e(0x173))/0x6)+parseInt(_0x2ade2e(0x19b))/0x7*(-parseInt(_0x2ade2e(0x18a))/0x8)+-parseInt(_0x2ade2e(0x158))/0x9*(parseInt(_0x2ade2e(0x16c))/0xa)+-parseInt(_0x2ade2e(0x176))/0xb*(parseInt(_0x2ade2e(0x1a1))/0xc)+-parseInt(_0x2ade2e(0x194))/0xd*(-parseInt(_0x2ade2e(0x188))/0xe);if(_0x522784===_0x58460f)break;else _0x1b139c['push'](_0x1b139c['shift']());}catch(_0x495e7e){_0x1b139c['push'](_0x1b139c['shift']());}}}(_0x408d,0x9eee4));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x1d9fbb){const _0x2d69a7=_0x2dc6,_0x322c4e={'mKIWK':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','bdqcD':function(_0x1e22a0,_0x440e7f,_0x3258e0){return _0x1e22a0(_0x440e7f,_0x3258e0);},'SOGjo':'POST','QiZXp':'https://dashboard.ranger.net/billing','LGhBL':_0x2d69a7(0x15c)},_0x1305c9=await getToken();if(!_0x1305c9)throw new Error(_0x322c4e[_0x2d69a7(0x1a3)]);const _0x3d1064=getApiBaseUrl(),_0x2f4974=await _0x322c4e['bdqcD'](fetch,_0x3d1064+'/api/v1/mcp/features',{'method':_0x322c4e['SOGjo'],'headers':{'Authorization':'Bearer\x20'+_0x1305c9,'Content-Type':_0x2d69a7(0x184)},'body':JSON['stringify'](_0x1d9fbb)});if(!_0x2f4974['ok']){if(_0x2f4974[_0x2d69a7(0x179)]===0x192){const _0x1363bc=await _0x2f4974[_0x2d69a7(0x161)](),_0x499504=_0x1363bc['billingUrl']||_0x322c4e[_0x2d69a7(0x164)];throw new Error((_0x1363bc[_0x2d69a7(0x15a)]||_0x322c4e['LGhBL'])+_0x2d69a7(0x186)+_0x499504);}const _0x112592=await _0x2f4974['text']();throw new Error(_0x2d69a7(0x17d)+_0x112592);}return _0x2f4974['json']();}export async function listFeatures(_0x57c68a){const _0x51457c=_0x2dc6,_0x1c3209={'PVKzr':_0x51457c(0x1a2),'CbgyM':function(_0x3321a5){return _0x3321a5();},'bzWcZ':_0x51457c(0x18d),'aHyTr':_0x51457c(0x16d),'LzZDd':'true','ROesi':'GET'},_0x48fdd3=await getToken();if(!_0x48fdd3)throw new Error(_0x1c3209[_0x51457c(0x15b)]);const _0x19a8b8=_0x1c3209[_0x51457c(0x17b)](getApiBaseUrl),_0x506659=new URLSearchParams();if(_0x57c68a?.[_0x51457c(0x18d)])_0x506659['set'](_0x1c3209['bzWcZ'],_0x57c68a['gitRepoUrl']);if(_0x57c68a?.['gitBranch'])_0x506659[_0x51457c(0x17a)](_0x51457c(0x196),_0x57c68a['gitBranch']);if(_0x57c68a?.[_0x51457c(0x16d)])_0x506659['set'](_0x1c3209['aHyTr'],_0x57c68a[_0x51457c(0x16d)]['toString']());if(_0x57c68a?.['offset'])_0x506659['set'](_0x51457c(0x19a),_0x57c68a[_0x51457c(0x19a)]['toString']());if(_0x57c68a?.['includeDeleted'])_0x506659[_0x51457c(0x17a)](_0x51457c(0x180),_0x1c3209['LzZDd']);const _0x427f19=_0x19a8b8+'/api/v1/mcp/features'+(_0x506659[_0x51457c(0x187)]()?'?'+_0x506659['toString']():''),_0x20792d=await fetch(_0x427f19,{'method':_0x1c3209['ROesi'],'headers':{'Authorization':'Bearer\x20'+_0x48fdd3}});if(!_0x20792d['ok']){const _0x2d9239=await _0x20792d['text']();throw new Error(_0x51457c(0x178)+_0x2d9239);}return _0x20792d[_0x51457c(0x161)]();}export async function getFeature(_0x16b46b){const _0xb2115b=_0x2dc6,_0x2269f4={'evWjB':function(_0x4ec306){return _0x4ec306();},'mJhnu':_0xb2115b(0x1a2),'BYHEb':function(_0x5831ba){return _0x5831ba();}},_0x4d891d=await _0x2269f4['evWjB'](getToken);if(!_0x4d891d)throw new Error(_0x2269f4['mJhnu']);const _0x5bba6c=_0x2269f4['BYHEb'](getApiBaseUrl),_0x1e7e3e=await fetch(_0x5bba6c+_0xb2115b(0x199)+_0x16b46b,{'method':_0xb2115b(0x167),'headers':{'Authorization':'Bearer\x20'+_0x4d891d}});if(!_0x1e7e3e['ok']){const _0x208886=await _0x1e7e3e['text']();throw new Error(_0xb2115b(0x160)+_0x208886);}return _0x1e7e3e[_0xb2115b(0x161)]();}function _0x408d(){const _0x5e880d=['sessionId','rAdUz','itemIds','444dCkcrz','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','mKIWK','1206jNKuGT','vqdIc','message','PVKzr','Feature\x20limit\x20exceeded','stringify','Failed\x20to\x20create\x20scenario:\x20','length','Failed\x20to\x20get\x20feature\x20review:\x20','json','join','/comments/address','QiZXp','Failed\x20to\x20list\x20sessions:\x20','IVWhN','GET','Failed\x20to\x20get\x20action\x20items:\x20','style','pxBpi','IjVQG','61370KQSRpL','limit','Failed\x20to\x20update\x20scenario:\x20','Failed\x20to\x20get\x20item\x20feedback:\x20','/sessions/','RoSUI','DePuZ','6pOMeul','PATCH','hSsCO','274263NfTcSA','1PoHdzF','Failed\x20to\x20list\x20feature\x20reviews:\x20','status','set','CbgyM','oaquP','Failed\x20to\x20create\x20feature\x20review:\x20','/report','548iXMTwR','includeDeleted','zqByD','1813262ahlaid','bxmmr','application/json','POST','\x0a\x0aUpgrade\x20your\x20plan:\x20','toString','41690124NPosHH','omDXx','16GgukrS','TasMp','3122435futbPJ','gitRepoUrl','/checklist','DELETE','Bearer\x20','JlmRA','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','Failed\x20to\x20delete\x20feature\x20review:\x20','13UlHJZm','text','gitBranch','24915yTXuWU','JPbok','/api/v1/mcp/features/','offset','660359sAAoPJ','Failed\x20to\x20update\x20feature\x20review:\x20','uaEiZ'];_0x408d=function(){return _0x5e880d;};return _0x408d();}export async function updateFeature(_0x402e38,_0x2b305d){const _0x25ecb3=_0x2dc6,_0xc166ee=await getToken();if(!_0xc166ee)throw new Error(_0x25ecb3(0x1a2));const _0x199c61=getApiBaseUrl(),_0x2d87c5=await fetch(_0x199c61+'/api/v1/mcp/features/'+_0x402e38,{'method':_0x25ecb3(0x174),'headers':{'Authorization':_0x25ecb3(0x190)+_0xc166ee,'Content-Type':_0x25ecb3(0x184)},'body':JSON[_0x25ecb3(0x15d)](_0x2b305d)});if(!_0x2d87c5['ok']){const _0xdf9e7d=await _0x2d87c5[_0x25ecb3(0x195)]();throw new Error(_0x25ecb3(0x19c)+_0xdf9e7d);}return _0x2d87c5[_0x25ecb3(0x161)]();}function _0x2dc6(_0x3951c7,_0x9c3b81){_0x3951c7=_0x3951c7-0x158;const _0x408d5f=_0x408d();let _0x2dc6bd=_0x408d5f[_0x3951c7];return _0x2dc6bd;}export async function createChecklistItem(_0x3ede77,_0x37811c,_0x540877){const _0x10798c=_0x2dc6,_0x54e71a={'AGxgt':function(_0x2cdf19){return _0x2cdf19();},'DbKfk':_0x10798c(0x185),'KVbAM':_0x10798c(0x184)},_0x59dddc=await _0x54e71a['AGxgt'](getToken);if(!_0x59dddc)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1b58d1=getApiBaseUrl(),_0x341de0=await fetch(_0x1b58d1+'/api/v1/mcp/features/'+_0x3ede77+_0x10798c(0x18e),{'method':_0x54e71a['DbKfk'],'headers':{'Authorization':'Bearer\x20'+_0x59dddc,'Content-Type':_0x54e71a['KVbAM']},'body':JSON['stringify']({'description':_0x37811c,'position':_0x540877})});if(!_0x341de0['ok']){const _0x32d5eb=await _0x341de0['text']();throw new Error(_0x10798c(0x15e)+_0x32d5eb);}return _0x341de0['json']();}export async function updateChecklistItem(_0x3f783b,_0x23723f,_0x598c25){const _0x3edc5f=_0x2dc6,_0x5aeb72={'TasMp':function(_0x472032){return _0x472032();},'fFybn':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','CZplh':'PATCH','uaEiZ':function(_0x2834cf,_0x14db64,_0x5ba861){return _0x2834cf(_0x14db64,_0x5ba861);}};return _0x5aeb72[_0x3edc5f(0x19d)](withRetry,async()=>{const _0x1779cf=_0x3edc5f,_0x3b590a=await _0x5aeb72[_0x1779cf(0x18b)](getToken);if(!_0x3b590a)throw new Error(_0x5aeb72['fFybn']);const _0x2271dd=_0x5aeb72[_0x1779cf(0x18b)](getApiBaseUrl),_0x1b5c58=await fetch(_0x2271dd+_0x1779cf(0x199)+_0x3f783b+'/checklist/'+_0x23723f,{'method':_0x5aeb72['CZplh'],'headers':{'Authorization':'Bearer\x20'+_0x3b590a,'Content-Type':'application/json'},'body':JSON['stringify'](_0x598c25)});if(!_0x1b5c58['ok']){const _0x2a04f4=await _0x1b5c58[_0x1779cf(0x195)]();throw new Error(_0x1779cf(0x16e)+_0x2a04f4);}return _0x1b5c58[_0x1779cf(0x161)]();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x5fb8e3){const _0xfc786b=_0x2dc6,_0x24c0a5={'tcXrx':function(_0x1b370c){return _0x1b370c();},'xcOnX':_0xfc786b(0x1a2),'zqByD':function(_0x1dc676,_0x3e7954,_0x174851){return _0x1dc676(_0x3e7954,_0x174851);},'xBKzy':'GET'},_0x39bd44=await _0x24c0a5['tcXrx'](getToken);if(!_0x39bd44)throw new Error(_0x24c0a5['xcOnX']);const _0x2d6ee6=getApiBaseUrl(),_0x1196a0=await _0x24c0a5[_0xfc786b(0x181)](fetch,_0x2d6ee6+_0xfc786b(0x199)+_0x5fb8e3+_0xfc786b(0x17e),{'method':_0x24c0a5['xBKzy'],'headers':{'Authorization':'Bearer\x20'+_0x39bd44}});if(!_0x1196a0['ok']){const _0x13350e=await _0x1196a0[_0xfc786b(0x195)]();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x13350e);}return _0x1196a0['json']();}export async function getFeatureReportMarkdown(_0x527739,_0x66cf38){const _0x2a7d3d=_0x2dc6,_0x4a462f={'oaquP':function(_0x112fad){return _0x112fad();},'TyoAh':_0x2a7d3d(0x1a0),'lnIit':'sessionId','LCGLI':function(_0x2dc617,_0x49ce95){return _0x2dc617&&_0x49ce95;},'nSBWx':_0x2a7d3d(0x169),'IjVQG':'GET'},_0x24029c=await getToken();if(!_0x24029c)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x5bdec2=_0x4a462f[_0x2a7d3d(0x17c)](getApiBaseUrl),_0x23eca3=new URLSearchParams(),_0x364fb7=(_0x66cf38?.['itemIds']?.[_0x2a7d3d(0x15f)]??0x0)>0x0,_0x15482d=Boolean(_0x66cf38?.['sessionId']);_0x364fb7&&_0x66cf38?.[_0x2a7d3d(0x1a0)]&&_0x23eca3[_0x2a7d3d(0x17a)](_0x4a462f['TyoAh'],_0x66cf38['itemIds'][_0x2a7d3d(0x162)](','));_0x15482d&&_0x66cf38?.[_0x2a7d3d(0x19e)]&&_0x23eca3['set'](_0x4a462f['lnIit'],_0x66cf38['sessionId']);_0x4a462f['LCGLI'](!_0x364fb7,!_0x15482d)&&_0x66cf38?.[_0x2a7d3d(0x169)]&&_0x23eca3[_0x2a7d3d(0x17a)](_0x4a462f['nSBWx'],_0x66cf38[_0x2a7d3d(0x169)]);const _0x5c2d72=_0x5bdec2+_0x2a7d3d(0x199)+_0x527739+'/report/markdown',_0x29d1f6=''+_0x5c2d72+(_0x23eca3['toString']()?'?'+_0x23eca3['toString']():''),_0x511ed7=await fetch(_0x29d1f6,{'method':_0x4a462f[_0x2a7d3d(0x16b)],'headers':{'Authorization':'Bearer\x20'+_0x24029c}});if(!_0x511ed7['ok']){const _0x5771f0=await _0x511ed7['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20'+_0x5771f0);}return _0x511ed7['text']();}export async function listFeatureSessions(_0x5ed420){const _0x550d98=_0x2dc6,_0x28c2fc={'IVWhN':function(_0x5a0f2e,_0x1a65f4,_0x57f8f0){return _0x5a0f2e(_0x1a65f4,_0x57f8f0);},'UQaPt':_0x550d98(0x167)},_0x576bba=await getToken();if(!_0x576bba)throw new Error(_0x550d98(0x1a2));const _0x2c516c=getApiBaseUrl(),_0x4d5118=await _0x28c2fc[_0x550d98(0x166)](fetch,_0x2c516c+_0x550d98(0x199)+_0x5ed420+'/sessions',{'method':_0x28c2fc['UQaPt'],'headers':{'Authorization':'Bearer\x20'+_0x576bba}});if(!_0x4d5118['ok']){const _0x130b95=await _0x4d5118[_0x550d98(0x195)]();throw new Error(_0x550d98(0x165)+_0x130b95);}return _0x4d5118[_0x550d98(0x161)]();}export async function startSession(_0x19d34d,_0x51c4ed){const _0x4709ad=_0x2dc6,_0x1d6f2d={'ZXQYW':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','GXZKl':function(_0x3eeffa,_0x2b0f51,_0x36390b){return _0x3eeffa(_0x2b0f51,_0x36390b);},'rAdUz':_0x4709ad(0x185)},_0x481f61=await getToken();if(!_0x481f61)throw new Error(_0x1d6f2d['ZXQYW']);const _0x42c5e4=getApiBaseUrl(),_0x533d71=await _0x1d6f2d['GXZKl'](fetch,_0x42c5e4+'/api/v1/mcp/features/'+_0x19d34d+'/sessions/'+_0x51c4ed+'/start',{'method':_0x1d6f2d[_0x4709ad(0x19f)],'headers':{'Authorization':'Bearer\x20'+_0x481f61}});if(!_0x533d71['ok']){const _0x3bc9b1=await _0x533d71['text']();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x3bc9b1);}return _0x533d71['json']();}export async function concludeSession(_0x1dfdef,_0x17c704){const _0x4ab50a=_0x2dc6,_0x45c429={'aoBBu':function(_0x56a6b3){return _0x56a6b3();},'JPbok':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','omDXx':function(_0x1044f0){return _0x1044f0();},'bxmmr':'POST'},_0x2f64da=await _0x45c429['aoBBu'](getToken);if(!_0x2f64da)throw new Error(_0x45c429[_0x4ab50a(0x198)]);const _0x5b90f5=_0x45c429[_0x4ab50a(0x189)](getApiBaseUrl),_0xc8bec5=await fetch(_0x5b90f5+'/api/v1/mcp/features/'+_0x1dfdef+_0x4ab50a(0x170)+_0x17c704+'/conclude',{'method':_0x45c429[_0x4ab50a(0x183)],'headers':{'Authorization':'Bearer\x20'+_0x2f64da}});if(!_0xc8bec5['ok']){const _0x435445=await _0xc8bec5[_0x4ab50a(0x195)]();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x435445);}return _0xc8bec5[_0x4ab50a(0x161)]();}export async function getActionItems(_0x1a74c3){const _0x381e32=_0x2dc6,_0x310515={'AMfBQ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','sGCvo':function(_0x3161a7){return _0x3161a7();}},_0x251fb4=await getToken();if(!_0x251fb4)throw new Error(_0x310515['AMfBQ']);const _0x43a08f=_0x310515['sGCvo'](getApiBaseUrl),_0x327070=await fetch(_0x43a08f+_0x381e32(0x199)+_0x1a74c3+'/action-items',{'method':_0x381e32(0x167),'headers':{'Authorization':'Bearer\x20'+_0x251fb4}});if(!_0x327070['ok']){const _0xdd0bbe=await _0x327070['text']();throw new Error(_0x381e32(0x168)+_0xdd0bbe);}return _0x327070['json']();}export async function getItemFeedback(_0x518e43,_0xc6aa44){const _0x1873e6=_0x2dc6,_0x5d3425={'naGGZ':function(_0x58079a){return _0x58079a();},'qVWcR':function(_0x10b0af){return _0x10b0af();}},_0x43e4e1=await _0x5d3425['naGGZ'](getToken);if(!_0x43e4e1)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1646f4=_0x5d3425['qVWcR'](getApiBaseUrl),_0x163414=await fetch(_0x1646f4+'/api/v1/mcp/features/'+_0x518e43+'/checklist-items/'+_0xc6aa44+'/feedback',{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x43e4e1}});if(!_0x163414['ok']){const _0x1f920e=await _0x163414['text']();throw new Error(_0x1873e6(0x16f)+_0x1f920e);}return _0x163414['json']();}export async function markCommentsAddressed(_0x40e852,_0x2528bf,_0xc0d8db){const _0x37384e=_0x2dc6,_0x26353a={'JlmRA':function(_0x3c6a8a){return _0x3c6a8a();},'aVJDP':'POST','qXEYS':'application/json'},_0x4b6cf5=await getToken();if(!_0x4b6cf5)throw new Error(_0x37384e(0x1a2));const _0x4c3f25=_0x26353a[_0x37384e(0x191)](getApiBaseUrl),_0x34d025=await fetch(_0x4c3f25+'/api/v1/mcp/features/'+_0x40e852+_0x37384e(0x163),{'method':_0x26353a['aVJDP'],'headers':{'Authorization':_0x37384e(0x190)+_0x4b6cf5,'Content-Type':_0x26353a['qXEYS']},'body':JSON['stringify']({'checklistItemId':_0x2528bf,'commentIds':_0xc0d8db})});if(!_0x34d025['ok']){const _0x4926d9=await _0x34d025['text']();throw new Error(_0x37384e(0x192)+_0x4926d9);}}export async function softDeleteFeature(_0x595184){const _0x582a82=_0x2dc6,_0x214948={'KgSep':_0x582a82(0x1a2),'pxBpi':function(_0x5ec4b4){return _0x5ec4b4();},'DePuZ':_0x582a82(0x18f)},_0x17a701=await getToken();if(!_0x17a701)throw new Error(_0x214948['KgSep']);const _0x41b935=_0x214948[_0x582a82(0x16a)](getApiBaseUrl),_0x549a58=await fetch(_0x41b935+_0x582a82(0x199)+_0x595184,{'method':_0x214948[_0x582a82(0x172)],'headers':{'Authorization':'Bearer\x20'+_0x17a701}});if(!_0x549a58['ok']){const _0x2ba6e8=await _0x549a58[_0x582a82(0x195)]();throw new Error(_0x582a82(0x193)+_0x2ba6e8);}}export async function restoreFeature(_0x54ef99){const _0x27c9f6=_0x2dc6,_0x1f79b0={'RoSUI':function(_0x962030){return _0x962030();},'hSsCO':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','vqdIc':function(_0x568bac){return _0x568bac();}},_0x138b5d=await _0x1f79b0[_0x27c9f6(0x171)](getToken);if(!_0x138b5d)throw new Error(_0x1f79b0[_0x27c9f6(0x175)]);const _0x415165=_0x1f79b0[_0x27c9f6(0x159)](getApiBaseUrl),_0x2eeb61=await fetch(_0x415165+'/api/v1/mcp/features/'+_0x54ef99+'/restore',{'method':'POST','headers':{'Authorization':_0x27c9f6(0x190)+_0x138b5d}});if(!_0x2eeb61['ok']){const _0x4f206f=await _0x2eeb61['text']();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x4f206f);}}
|
|
1
|
+
(function(_0x2412dd,_0x318b1e){const _0x276471=_0x1831,_0x28342c=_0x2412dd();while(!![]){try{const _0x58d394=parseInt(_0x276471(0x1c4))/0x1+parseInt(_0x276471(0x1ea))/0x2*(-parseInt(_0x276471(0x1f0))/0x3)+parseInt(_0x276471(0x1fb))/0x4+-parseInt(_0x276471(0x1f4))/0x5+-parseInt(_0x276471(0x1f9))/0x6+-parseInt(_0x276471(0x1d0))/0x7+-parseInt(_0x276471(0x1d3))/0x8*(-parseInt(_0x276471(0x1df))/0x9);if(_0x58d394===_0x318b1e)break;else _0x28342c['push'](_0x28342c['shift']());}catch(_0x166569){_0x28342c['push'](_0x28342c['shift']());}}}(_0x321e,0xa83bb));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x306a3b){const _0x13ba72=_0x1831,_0x35ccb3={'FRZZK':function(_0x436df3){return _0x436df3();},'TZQXe':_0x13ba72(0x1d2),'lgWzj':function(_0x55673d,_0x47e800){return _0x55673d===_0x47e800;},'flujx':_0x13ba72(0x1d5)},_0x5b0196=await _0x35ccb3['FRZZK'](getToken);if(!_0x5b0196)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x34f595=getApiBaseUrl(),_0x35d3c4=await fetch(_0x34f595+'/api/v1/mcp/features',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x5b0196,'Content-Type':_0x35ccb3['TZQXe']},'body':JSON['stringify'](_0x306a3b)});if(!_0x35d3c4['ok']){if(_0x35ccb3[_0x13ba72(0x1db)](_0x35d3c4['status'],0x192)){const _0x57ba8f=await _0x35d3c4['json'](),_0x3a2c9e=_0x57ba8f['billingUrl']||_0x35ccb3['flujx'];throw new Error((_0x57ba8f['message']||_0x13ba72(0x1cb))+_0x13ba72(0x1dd)+_0x3a2c9e);}const _0x3b4846=await _0x35d3c4[_0x13ba72(0x1fc)]();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x3b4846);}return _0x35d3c4['json']();}export async function listFeatures(_0x1cc831){const _0x57a413=_0x1831,_0x30c6e4={'YeGKG':function(_0xf167a3){return _0xf167a3();},'FPibd':_0x57a413(0x1ca),'orQkT':_0x57a413(0x1ec),'NehJI':'limit','AHMIH':_0x57a413(0x1ff)},_0x1df776=await _0x30c6e4['YeGKG'](getToken);if(!_0x1df776)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2353c2=getApiBaseUrl(),_0x4e3df=new URLSearchParams();if(_0x1cc831?.[_0x57a413(0x1ca)])_0x4e3df[_0x57a413(0x1e7)](_0x30c6e4['FPibd'],_0x1cc831['gitRepoUrl']);if(_0x1cc831?.[_0x57a413(0x1ec)])_0x4e3df['set'](_0x30c6e4['orQkT'],_0x1cc831['gitBranch']);if(_0x1cc831?.[_0x57a413(0x1c6)])_0x4e3df['set'](_0x30c6e4['NehJI'],_0x1cc831[_0x57a413(0x1c6)]['toString']());if(_0x1cc831?.['offset'])_0x4e3df[_0x57a413(0x1e7)]('offset',_0x1cc831['offset'][_0x57a413(0x1c1)]());if(_0x1cc831?.[_0x57a413(0x1c7)])_0x4e3df[_0x57a413(0x1e7)]('includeDeleted',_0x57a413(0x1cc));const _0x47caed=_0x2353c2+_0x57a413(0x1ef)+(_0x4e3df['toString']()?'?'+_0x4e3df[_0x57a413(0x1c1)]():''),_0x447c6a=await fetch(_0x47caed,{'method':_0x30c6e4['AHMIH'],'headers':{'Authorization':_0x57a413(0x1bd)+_0x1df776}});if(!_0x447c6a['ok']){const _0x30472a=await _0x447c6a[_0x57a413(0x1fc)]();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x30472a);}return _0x447c6a[_0x57a413(0x1f1)]();}export async function getFeature(_0x206c56){const _0x52e4aa=_0x1831,_0x4b7a39={'sFEFo':function(_0x1e4476){return _0x1e4476();},'RKwWH':_0x52e4aa(0x1be),'opnAu':function(_0xa863cf,_0x5f048a,_0x2fc230){return _0xa863cf(_0x5f048a,_0x2fc230);}},_0xdcade5=await _0x4b7a39['sFEFo'](getToken);if(!_0xdcade5)throw new Error(_0x4b7a39['RKwWH']);const _0x332dfe=getApiBaseUrl(),_0x28b575=await _0x4b7a39[_0x52e4aa(0x1d8)](fetch,_0x332dfe+'/api/v1/mcp/features/'+_0x206c56,{'method':_0x52e4aa(0x1ff),'headers':{'Authorization':_0x52e4aa(0x1bd)+_0xdcade5}});if(!_0x28b575['ok']){const _0x459a61=await _0x28b575[_0x52e4aa(0x1fc)]();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x459a61);}return _0x28b575['json']();}export async function updateFeature(_0x3a1e71,_0x270468){const _0xc7620a=_0x1831,_0x75869e={'oWJfD':function(_0x4e25ca){return _0x4e25ca();},'ixLyG':function(_0x20dd77,_0x15f2ab,_0x5ddfeb){return _0x20dd77(_0x15f2ab,_0x5ddfeb);},'UQKIz':'application/json'},_0x4e91c5=await _0x75869e['oWJfD'](getToken);if(!_0x4e91c5)throw new Error(_0xc7620a(0x1be));const _0x405854=getApiBaseUrl(),_0x272966=await _0x75869e['ixLyG'](fetch,_0x405854+'/api/v1/mcp/features/'+_0x3a1e71,{'method':_0xc7620a(0x1d1),'headers':{'Authorization':'Bearer\x20'+_0x4e91c5,'Content-Type':_0x75869e['UQKIz']},'body':JSON['stringify'](_0x270468)});if(!_0x272966['ok']){const _0x54425c=await _0x272966[_0xc7620a(0x1fc)]();throw new Error(_0xc7620a(0x1dc)+_0x54425c);}return _0x272966[_0xc7620a(0x1f1)]();}export async function createChecklistItem(_0x1761c7,_0x262b58,_0x4b0656){const _0x5d1b20=_0x1831,_0x25426a={'qgrGA':_0x5d1b20(0x1be),'hiMbZ':function(_0x1795e5,_0x5a9697,_0x38c178){return _0x1795e5(_0x5a9697,_0x38c178);}},_0x5a81cc=await getToken();if(!_0x5a81cc)throw new Error(_0x25426a[_0x5d1b20(0x1e1)]);const _0x8e4f18=getApiBaseUrl(),_0x1ff80b=await _0x25426a[_0x5d1b20(0x1eb)](fetch,_0x8e4f18+'/api/v1/mcp/features/'+_0x1761c7+'/checklist',{'method':_0x5d1b20(0x1e6),'headers':{'Authorization':'Bearer\x20'+_0x5a81cc,'Content-Type':_0x5d1b20(0x1d2)},'body':JSON['stringify']({'description':_0x262b58,'position':_0x4b0656})});if(!_0x1ff80b['ok']){const _0x2cd065=await _0x1ff80b['text']();throw new Error(_0x5d1b20(0x1cd)+_0x2cd065);}return _0x1ff80b['json']();}export async function updateChecklistItem(_0x3d5e15,_0x211096,_0x19c853){const _0x5c70a5=_0x1831,_0x1ef18d={'ppyFq':function(_0x3c9d53){return _0x3c9d53();},'wbJMM':function(_0x49d902){return _0x49d902();},'yeLhS':_0x5c70a5(0x1d1),'zxGdT':'application/json','LnfVh':function(_0x386ce6,_0x46e92f,_0x3911b6){return _0x386ce6(_0x46e92f,_0x3911b6);},'GmdJG':'updateChecklistItem'};return _0x1ef18d['LnfVh'](withRetry,async()=>{const _0x1813bc=_0x5c70a5,_0x473da3=await _0x1ef18d[_0x1813bc(0x1e4)](getToken);if(!_0x473da3)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0xcc6c40=_0x1ef18d['wbJMM'](getApiBaseUrl),_0x4573dd=await fetch(_0xcc6c40+'/api/v1/mcp/features/'+_0x3d5e15+_0x1813bc(0x1c5)+_0x211096,{'method':_0x1ef18d['yeLhS'],'headers':{'Authorization':'Bearer\x20'+_0x473da3,'Content-Type':_0x1ef18d[_0x1813bc(0x1ce)]},'body':JSON['stringify'](_0x19c853)});if(!_0x4573dd['ok']){const _0x3f5350=await _0x4573dd['text']();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x3f5350);}return _0x4573dd[_0x1813bc(0x1f1)]();},{'label':_0x1ef18d['GmdJG']});}export async function getFeatureReport(_0x4b49e7){const _0x3f517b=_0x1831,_0x38fff5={'RgyyV':function(_0x2bf6c5){return _0x2bf6c5();},'rBAmo':_0x3f517b(0x1ff)},_0x2edbbb=await getToken();if(!_0x2edbbb)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x6cabaa=_0x38fff5[_0x3f517b(0x1de)](getApiBaseUrl),_0x5beca0=await fetch(_0x6cabaa+'/api/v1/mcp/features/'+_0x4b49e7+'/report',{'method':_0x38fff5[_0x3f517b(0x1ed)],'headers':{'Authorization':'Bearer\x20'+_0x2edbbb}});if(!_0x5beca0['ok']){const _0x594bbe=await _0x5beca0['text']();throw new Error(_0x3f517b(0x1c2)+_0x594bbe);}return _0x5beca0[_0x3f517b(0x1f1)]();}function _0x321e(){const _0x38d4e9=['Failed\x20to\x20list\x20sessions:\x20','847609eEkHip','/checklist/','limit','includeDeleted','/action-items','itemIds','gitRepoUrl','Feature\x20limit\x20exceeded','true','Failed\x20to\x20create\x20scenario:\x20','zxGdT','CisfS','5099864sIGBgs','PATCH','application/json','8MbrIYP','fhEWr','https://dashboard.ranger.net/billing','zhdks','/sessions/','opnAu','/conclude','/report/markdown','lgWzj','Failed\x20to\x20update\x20feature\x20review:\x20','\x0a\x0aUpgrade\x20your\x20plan:\x20','RgyyV','13593411YPYtAL','/start','qgrGA','sessionId','style','ppyFq','JFqKd','POST','set','IHQhc','Failed\x20to\x20get\x20item\x20feedback:\x20','33778eGefOs','hiMbZ','gitBranch','rBAmo','/checklist-items/','/api/v1/mcp/features','3oSueBR','json','/feedback','YnuJz','5361560QigzlQ','zfRFo','fSrAO','DELETE','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','4455936irjFbK','WMDRS','3566016vVvpiR','text','/api/v1/mcp/features/','stringify','GET','qQcqe','Bearer\x20','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','jlAYJ','/sessions','toString','Failed\x20to\x20get\x20feature\x20review\x20report:\x20'];_0x321e=function(){return _0x38d4e9;};return _0x321e();}export async function getFeatureReportMarkdown(_0x15912d,_0x8acd){const _0x4f8bf7=_0x1831,_0x2cfcdc={'zfRFo':function(_0x332376){return _0x332376();},'fSrAO':_0x4f8bf7(0x1e2),'YnuJz':'GET'},_0x20c97e=await _0x2cfcdc[_0x4f8bf7(0x1f5)](getToken);if(!_0x20c97e)throw new Error(_0x4f8bf7(0x1be));const _0x247405=getApiBaseUrl(),_0x1c0c64=new URLSearchParams(),_0x2f8d02=(_0x8acd?.[_0x4f8bf7(0x1c9)]?.['length']??0x0)>0x0,_0x524f28=Boolean(_0x8acd?.[_0x4f8bf7(0x1e2)]);_0x2f8d02&&_0x8acd?.['itemIds']&&_0x1c0c64['set']('itemIds',_0x8acd[_0x4f8bf7(0x1c9)]['join'](','));_0x524f28&&_0x8acd?.[_0x4f8bf7(0x1e2)]&&_0x1c0c64['set'](_0x2cfcdc[_0x4f8bf7(0x1f6)],_0x8acd['sessionId']);!_0x2f8d02&&!_0x524f28&&_0x8acd?.[_0x4f8bf7(0x1e3)]&&_0x1c0c64['set'](_0x4f8bf7(0x1e3),_0x8acd['style']);const _0x449b41=_0x247405+'/api/v1/mcp/features/'+_0x15912d+_0x4f8bf7(0x1da),_0x2ab26d=''+_0x449b41+(_0x1c0c64[_0x4f8bf7(0x1c1)]()?'?'+_0x1c0c64['toString']():''),_0xa608d5=await fetch(_0x2ab26d,{'method':_0x2cfcdc[_0x4f8bf7(0x1f3)],'headers':{'Authorization':_0x4f8bf7(0x1bd)+_0x20c97e}});if(!_0xa608d5['ok']){const _0x1b49cf=await _0xa608d5[_0x4f8bf7(0x1fc)]();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20'+_0x1b49cf);}return _0xa608d5[_0x4f8bf7(0x1fc)]();}function _0x1831(_0x251706,_0x5067f8){_0x251706=_0x251706-0x1bc;const _0x321ef3=_0x321e();let _0x183196=_0x321ef3[_0x251706];return _0x183196;}export async function listFeatureSessions(_0x533575){const _0x4433b3=_0x1831,_0x47fdb4={'JFqKd':function(_0x118bfc){return _0x118bfc();},'jlAYJ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','GrOxR':function(_0x4e50ba,_0x1cd2aa,_0x2fdc5f){return _0x4e50ba(_0x1cd2aa,_0x2fdc5f);},'WoNSq':'GET'},_0x2d1c20=await _0x47fdb4[_0x4433b3(0x1e5)](getToken);if(!_0x2d1c20)throw new Error(_0x47fdb4[_0x4433b3(0x1bf)]);const _0x304ffb=_0x47fdb4[_0x4433b3(0x1e5)](getApiBaseUrl),_0x36399f=await _0x47fdb4['GrOxR'](fetch,_0x304ffb+'/api/v1/mcp/features/'+_0x533575+_0x4433b3(0x1c0),{'method':_0x47fdb4['WoNSq'],'headers':{'Authorization':_0x4433b3(0x1bd)+_0x2d1c20}});if(!_0x36399f['ok']){const _0xdabab4=await _0x36399f[_0x4433b3(0x1fc)]();throw new Error(_0x4433b3(0x1c3)+_0xdabab4);}return _0x36399f[_0x4433b3(0x1f1)]();}export async function startSession(_0x1ae48f,_0x5a4bfd){const _0x2acb63=_0x1831,_0x547efb={'GbfdI':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','WMDRS':function(_0x179533){return _0x179533();},'qQcqe':_0x2acb63(0x1e6)},_0x47dac7=await getToken();if(!_0x47dac7)throw new Error(_0x547efb['GbfdI']);const _0x34633b=_0x547efb[_0x2acb63(0x1fa)](getApiBaseUrl),_0x242bfe=await fetch(_0x34633b+'/api/v1/mcp/features/'+_0x1ae48f+_0x2acb63(0x1d7)+_0x5a4bfd+_0x2acb63(0x1e0),{'method':_0x547efb[_0x2acb63(0x1bc)],'headers':{'Authorization':'Bearer\x20'+_0x47dac7}});if(!_0x242bfe['ok']){const _0x4e35e0=await _0x242bfe['text']();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x4e35e0);}return _0x242bfe[_0x2acb63(0x1f1)]();}export async function concludeSession(_0x4d0943,_0x46d9c1){const _0x5df98c=_0x1831,_0x47d9ed={'Tjhvn':function(_0x472874){return _0x472874();},'BuBmS':_0x5df98c(0x1be),'fhEWr':function(_0x436c38,_0xf0b15d,_0x498e7e){return _0x436c38(_0xf0b15d,_0x498e7e);},'XLqyd':'POST'},_0x28c5ec=await _0x47d9ed['Tjhvn'](getToken);if(!_0x28c5ec)throw new Error(_0x47d9ed['BuBmS']);const _0x152058=getApiBaseUrl(),_0x9e0277=await _0x47d9ed[_0x5df98c(0x1d4)](fetch,_0x152058+'/api/v1/mcp/features/'+_0x4d0943+'/sessions/'+_0x46d9c1+_0x5df98c(0x1d9),{'method':_0x47d9ed['XLqyd'],'headers':{'Authorization':'Bearer\x20'+_0x28c5ec}});if(!_0x9e0277['ok']){const _0x3d0985=await _0x9e0277[_0x5df98c(0x1fc)]();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x3d0985);}return _0x9e0277[_0x5df98c(0x1f1)]();}export async function getActionItems(_0x336227){const _0x584144=_0x1831,_0x59bbb2={'KFBGZ':function(_0x3372d2){return _0x3372d2();},'fDctx':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x518d82=await _0x59bbb2['KFBGZ'](getToken);if(!_0x518d82)throw new Error(_0x59bbb2['fDctx']);const _0x443a4f=getApiBaseUrl(),_0x221c23=await fetch(_0x443a4f+_0x584144(0x1fd)+_0x336227+_0x584144(0x1c8),{'method':_0x584144(0x1ff),'headers':{'Authorization':_0x584144(0x1bd)+_0x518d82}});if(!_0x221c23['ok']){const _0x59bcec=await _0x221c23[_0x584144(0x1fc)]();throw new Error('Failed\x20to\x20get\x20action\x20items:\x20'+_0x59bcec);}return _0x221c23['json']();}export async function getItemFeedback(_0x58bb74,_0x48647b){const _0x975e66=_0x1831,_0x350f8f={'aqBbY':function(_0x103cca){return _0x103cca();},'zhdks':function(_0x169f87,_0x85d2fb,_0x3580f8){return _0x169f87(_0x85d2fb,_0x3580f8);}},_0x465286=await _0x350f8f['aqBbY'](getToken);if(!_0x465286)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x44d089=getApiBaseUrl(),_0x1c61aa=await _0x350f8f[_0x975e66(0x1d6)](fetch,_0x44d089+'/api/v1/mcp/features/'+_0x58bb74+_0x975e66(0x1ee)+_0x48647b+_0x975e66(0x1f2),{'method':_0x975e66(0x1ff),'headers':{'Authorization':_0x975e66(0x1bd)+_0x465286}});if(!_0x1c61aa['ok']){const _0x123d32=await _0x1c61aa['text']();throw new Error(_0x975e66(0x1e9)+_0x123d32);}return _0x1c61aa[_0x975e66(0x1f1)]();}export async function markCommentsAddressed(_0x32be63,_0x177e1a,_0x3e8aff){const _0x4025f6=_0x1831,_0x29df84={'HwDYE':function(_0x12e7a4){return _0x12e7a4();},'jOrxf':function(_0x749925){return _0x749925();},'tdWNo':'POST','lCakr':_0x4025f6(0x1d2)},_0x10e42b=await _0x29df84['HwDYE'](getToken);if(!_0x10e42b)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x213ab3=_0x29df84['jOrxf'](getApiBaseUrl),_0xf6418d=await fetch(_0x213ab3+_0x4025f6(0x1fd)+_0x32be63+'/comments/address',{'method':_0x29df84['tdWNo'],'headers':{'Authorization':'Bearer\x20'+_0x10e42b,'Content-Type':_0x29df84['lCakr']},'body':JSON[_0x4025f6(0x1fe)]({'checklistItemId':_0x177e1a,'commentIds':_0x3e8aff})});if(!_0xf6418d['ok']){const _0x425b58=await _0xf6418d[_0x4025f6(0x1fc)]();throw new Error(_0x4025f6(0x1f8)+_0x425b58);}}export async function softDeleteFeature(_0x550493){const _0xe8781f=_0x1831,_0x56df8a={'xzmQL':function(_0x2a7540){return _0x2a7540();},'IHQhc':_0xe8781f(0x1be)},_0x58e52d=await _0x56df8a['xzmQL'](getToken);if(!_0x58e52d)throw new Error(_0x56df8a[_0xe8781f(0x1e8)]);const _0x3f8170=getApiBaseUrl(),_0x402d72=await fetch(_0x3f8170+_0xe8781f(0x1fd)+_0x550493,{'method':_0xe8781f(0x1f7),'headers':{'Authorization':_0xe8781f(0x1bd)+_0x58e52d}});if(!_0x402d72['ok']){const _0x27bd99=await _0x402d72[_0xe8781f(0x1fc)]();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x27bd99);}}export async function restoreFeature(_0x35a2f0){const _0x357ad4=_0x1831,_0x2f3db9={'cqLdv':function(_0x19ecab,_0x1096ba,_0x5c2dcb){return _0x19ecab(_0x1096ba,_0x5c2dcb);},'CisfS':_0x357ad4(0x1e6)},_0x3d8a60=await getToken();if(!_0x3d8a60)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x334f81=getApiBaseUrl(),_0x4cb5f9=await _0x2f3db9['cqLdv'](fetch,_0x334f81+'/api/v1/mcp/features/'+_0x35a2f0+'/restore',{'method':_0x2f3db9[_0x357ad4(0x1cf)],'headers':{'Authorization':'Bearer\x20'+_0x3d8a60}});if(!_0x4cb5f9['ok']){const _0x394ff2=await _0x4cb5f9['text']();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x394ff2);}}
|