@ranger-testing/ranger-cli 3.0.1-alpha.bb18058-34 → 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 -0
- 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 +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x4d38(){const _0x47db2f=['GHRep','keys','extraHTTPHeaders','newContext','storageState','environmentKey','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','string','mvZrn','dtOwE','API\x20request\x20','2224BSYdgU','password','join','toISOString','length','loginInstructions','json','TFVbV','test_output','settings','parse','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','vEgvg','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','name','zIwaz','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','1240030zNfEaS','some','xXAcl','dZLOD','trim','statusText','xAWmR','tkmoy','defaultEnvironmentKey','63414HNFIWU','hTwYx','5418728bXTJPq','newPage','xpbCK','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','HVmTJ','6XldEcd','auth','launch','username','origin','FofMl','auth_config','cookies','570354uduilh','\x20\x20Cloud\x20session\x20for\x20\x22','\x22\x20failed\x20validation\x20—\x20re-login\x20needed...','BXbIB','pQMeF','/session','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','goto','detail','invalidateOn','error','fRfiz','IDLpY','storageStatePath','\x22\x20for\x20','you\x27re\x20now\x20at\x20\x22','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','POST','userAgent','domains','status','\x20\x20Cached\x20session\x20for\x20\x22','621135cGllcc','jEAbM','/api/v1/profiles/','not_configured','ngvYt','UqIVB','QhmvS','organizationId','map','nfCSa','sessionCheckPath','log','praic','EHVUH','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','close','\x20failed\x20(','WOqZE','NhMAx','2323328octgkF','env','\x22,\x20attempting\x20login...','stringify','cqSla','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','isArray','push','baseUrl','url','260613mgUmuT','about:blank','PHPZq','/login','RANGER_TEST_USERNAME','save','code','RANGER_TEST_PASSWORD','gBDTo','Bearer\x20','ApiError','\x20\x20Created\x20cloud\x20profile\x20\x22','force'];_0x4d38=function(){return _0x47db2f;};return _0x4d38();}const _0xc45c82=_0x365e;(function(_0x56898d,_0x415c1c){const _0x20ab3d=_0x365e,_0x4441ba=_0x56898d();while(!![]){try{const _0x297063=parseInt(_0x20ab3d(0x1d8))/0x1*(-parseInt(_0x20ab3d(0x213))/0x2)+-parseInt(_0x20ab3d(0x231))/0x3+parseInt(_0x20ab3d(0x1ce))/0x4+-parseInt(_0x20ab3d(0x203))/0x5+-parseInt(_0x20ab3d(0x21b))/0x6+-parseInt(_0x20ab3d(0x20e))/0x7+parseInt(_0x20ab3d(0x1f0))/0x8*(parseInt(_0x20ab3d(0x20c))/0x9);if(_0x297063===_0x415c1c)break;else _0x4441ba['push'](_0x4441ba['shift']());}catch(_0xf9dd22){_0x4441ba['push'](_0x4441ba['shift']());}}}(_0x4d38,0x69d9f));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x310049 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,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x2f9441={'eDSaP':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x1c7852=await getToken();if(!_0x1c7852)throw new Error(_0x2f9441['eDSaP']);return _0x1c7852;}async function apiRequest(_0x851cb3,_0x22f750={}){const _0x389f07=_0x365e,_0x2f91e9={'cqSla':function(_0x525baf){return _0x525baf();},'jEAbM':function(_0xc53e40){return _0xc53e40();},'TFVbV':function(_0x5df92b,_0x498902){return _0x5df92b===_0x498902;}},_0x517354=await _0x2f91e9[_0x389f07(0x1d2)](requireToken),_0x4310bc=_0x2f91e9[_0x389f07(0x232)](getApiBaseUrl),_0x5a6b9b=await fetch(''+_0x4310bc+_0x851cb3,{..._0x22f750,'headers':{'Authorization':_0x389f07(0x1e1)+_0x517354,'Content-Type':'application/json',..._0x22f750['headers']??{}}});if(!_0x5a6b9b['ok']){let _0x22abcb='',_0xa6118f;try{const _0x2099a9=await _0x5a6b9b[_0x389f07(0x1f6)]();_0x22abcb=(typeof _0x2099a9['error']==='string'?_0x2099a9['error']:undefined)??JSON['stringify'](_0x2099a9);if(_0x2f91e9['TFVbV'](typeof _0x2099a9[_0x389f07(0x1de)],'string'))_0xa6118f=_0x2099a9[_0x389f07(0x1de)];}catch{_0x22abcb=_0x5a6b9b[_0x389f07(0x208)];}throw new ApiError(_0x389f07(0x1ef)+_0x851cb3+_0x389f07(0x1cb)+_0x5a6b9b[_0x389f07(0x22f)]+'):\x20'+_0x22abcb,_0x5a6b9b[_0x389f07(0x22f)],_0x22abcb,_0xa6118f);}if(_0x2f91e9[_0x389f07(0x1f7)](_0x5a6b9b['status'],0xcc))return undefined;return _0x5a6b9b['json']();}export class ApiError extends Error{[_0xc45c82(0x22f)];['detail'];[_0xc45c82(0x1de)];constructor(_0x386e2b,_0x5259ce,_0x5be22b,_0x1ab39a){const _0x27a655=_0xc45c82;super(_0x386e2b),this['status']=_0x5259ce,this[_0x27a655(0x223)]=_0x5be22b,this[_0x27a655(0x1de)]=_0x1ab39a,this[_0x27a655(0x200)]=_0x27a655(0x1e2);}}export async function fetchCloudProfile(_0x4e2c13){const _0x3300ad=_0xc45c82,_0x2ac0be={'HVmTJ':function(_0x126ae5,_0x591f76){return _0x126ae5(_0x591f76);}};try{return await _0x2ac0be[_0x3300ad(0x212)](apiRequest,_0x3300ad(0x233)+encodeURIComponent(_0x4e2c13));}catch(_0x24e609){if(_0x24e609 instanceof ApiError&&_0x24e609[_0x3300ad(0x22f)]===0x194)return null;throw _0x24e609;}}export async function listCloudProfiles(){const _0xcc7869={'WSMmk':function(_0x10d10d,_0x3d9493){return _0x10d10d(_0x3d9493);}},_0x178545=await _0xcc7869['WSMmk'](apiRequest,'/api/v1/profiles');return _0x178545['profiles'];}export async function deleteCloudProfile(_0x4fff04){const _0x233130=_0xc45c82,_0x355ce0={'UckjZ':function(_0x38e267,_0x24a161){return _0x38e267 instanceof _0x24a161;},'mYbYK':function(_0x37a191,_0x11a444){return _0x37a191===_0x11a444;}};try{await apiRequest(_0x233130(0x233)+encodeURIComponent(_0x4fff04),{'method':'DELETE'});}catch(_0x3bc350){if(_0x355ce0['UckjZ'](_0x3bc350,ApiError)&&_0x355ce0['mYbYK'](_0x3bc350['status'],0x194))throw new Error('Cloud\x20profile\x20\x22'+_0x4fff04+'\x22\x20not\x20found.');throw _0x3bc350;}}export async function createCloudProfile(_0x58248e,_0x4c93d2,_0x48640d={}){const _0x301ddd=_0xc45c82,_0x40d2bb={'xshsR':function(_0x49c6bd,_0x22133f){return _0x49c6bd>_0x22133f;},'UsoLH':function(_0x17d78e,_0x4537e1,_0x1c8a6a){return _0x17d78e(_0x4537e1,_0x1c8a6a);}},_0xb1170a={'name':_0x58248e};if(_0x4c93d2)_0xb1170a['environment_key']=_0x4c93d2;_0x48640d['settings']&&_0x40d2bb['xshsR'](Object[_0x301ddd(0x1e6)](_0x48640d['settings'])[_0x301ddd(0x1f4)],0x0)&&(_0xb1170a['settings']=_0x48640d[_0x301ddd(0x1f9)]);if(_0x48640d[_0x301ddd(0x216)])_0xb1170a[_0x301ddd(0x216)]=_0x48640d[_0x301ddd(0x216)];if(_0x48640d['password'])_0xb1170a[_0x301ddd(0x1f1)]=_0x48640d[_0x301ddd(0x1f1)];return await _0x40d2bb['UsoLH'](apiRequest,'/api/v1/profiles',{'method':'POST','body':JSON[_0x301ddd(0x1d1)](_0xb1170a)});}function _0x365e(_0x2b2ff1,_0xb71f30){_0x2b2ff1=_0x2b2ff1-0x1cb;const _0x4d38d0=_0x4d38();let _0x365e81=_0x4d38d0[_0x2b2ff1];return _0x365e81;}export async function uploadCloudProfileSession(_0x27fce0,_0x1efe2e){const _0x56bbcd=_0xc45c82,_0x192c58={'oBHkl':function(_0x4786e8,_0xfa1a83){return _0x4786e8(_0xfa1a83);}};return await apiRequest('/api/v1/profiles/'+_0x192c58['oBHkl'](encodeURIComponent,_0x27fce0)+_0x56bbcd(0x220),{'method':_0x56bbcd(0x22c),'body':JSON[_0x56bbcd(0x1d1)]({'session_state':_0x1efe2e})});}export async function saveCloudProfileCredentials(_0x3a5f2e,_0x4f777e,_0x54c55b){const _0x5866c9=_0xc45c82,_0x230e89={'XNRXP':function(_0x596ae7,_0x2bc163){return _0x596ae7(_0x2bc163);},'FmMSw':'PUT'};await apiRequest(_0x5866c9(0x233)+_0x230e89['XNRXP'](encodeURIComponent,_0x3a5f2e),{'method':_0x230e89['FmMSw'],'body':JSON['stringify']({'username':_0x4f777e,'password':_0x54c55b})});}export async function fetchAuthConfig(){const _0x4a6a5a=_0xc45c82,_0x58654f={'hTwYx':function(_0x5d1c5e,_0x282703){return _0x5d1c5e(_0x282703);},'GcVau':function(_0x596aef,_0x402459){return _0x596aef!==_0x402459;}};try{const _0x3f9599=await _0x58654f[_0x4a6a5a(0x20d)](apiRequest,'/api/v1/profiles/auth-config');return _0x3f9599[_0x4a6a5a(0x219)];}catch(_0x156a80){return _0x156a80 instanceof ApiError&&_0x58654f['GcVau'](_0x156a80[_0x4a6a5a(0x22f)],0x194)&&console['error'](_0x4a6a5a(0x1fb)+_0x156a80['message']),null;}}export function pickAdHocEnvKey(_0x543f1a){const _0x41d4a6=_0xc45c82,_0x5d81f3={'zIwaz':function(_0x5156a1,_0x1044de){return _0x5156a1===_0x1044de;}};if(!_0x543f1a)return null;if(_0x543f1a['defaultEnvironmentKey'])return _0x543f1a[_0x41d4a6(0x20b)];const _0x1fc3b8=Object['keys'](_0x543f1a['environments']??{});if(_0x5d81f3[_0x41d4a6(0x201)](_0x1fc3b8[_0x41d4a6(0x1f4)],0x1))return _0x1fc3b8[0x0];if(_0x1fc3b8['length']===0x0)return null;throw new Error('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x1fc3b8['join'](',\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(_0xfbd497=process[_0xc45c82(0x1cf)]){const _0x4e181d=_0xc45c82,_0x3d622f={'icyfO':function(_0xda19e5,_0x3c1f03){return _0xda19e5(_0x3c1f03);},'agfJZ':function(_0x16d39a,_0x5531c4,_0x19eec3,_0x38d536){return _0x16d39a(_0x5531c4,_0x19eec3,_0x38d536);}},_0x5d59f6=_0xfbd497['RANGER_TEST_USERNAME'];if(!_0x5d59f6)return null;const _0x1b81ef=await _0x3d622f['icyfO'](fetchCloudProfile,_0x5d59f6);if(_0x1b81ef)return{'name':_0x1b81ef['name'],'profile':_0x1b81ef};const _0x5a6f1c=await fetchAuthConfig(),_0x546f51=_0x3d622f['icyfO'](pickAdHocEnvKey,_0x5a6f1c),_0xa960b7=_0xfbd497[_0x4e181d(0x1df)],_0x39c91f=await _0x3d622f['agfJZ'](createCloudProfile,_0x5d59f6,_0x546f51??undefined,{'username':_0x5d59f6,'password':_0xa960b7});return console[_0x4e181d(0x23c)](_0x4e181d(0x1e3)+_0x39c91f['name']+_0x4e181d(0x229)+_0x5d59f6),{'name':_0x39c91f[_0x4e181d(0x200)],'profile':_0x39c91f};}export async function writeSessionToLocalCache(_0x471c46,_0x290066,_0x406aa9,_0x249c3c,_0x2c0fa5,_0x4f1375,_0x420448){const _0x477178=_0xc45c82,_0x69d210={'QhmvS':function(_0x52567d,_0x39f009,_0x38df97){return _0x52567d(_0x39f009,_0x38df97);},'dZLOD':function(_0x316234,_0x2068e5,_0x577473){return _0x316234(_0x2068e5,_0x577473);},'cqsoK':function(_0x3579ff){return _0x3579ff();},'Kteez':_0x477178(0x214),'KMhmH':function(_0x4f1f09,_0x3c3de8){return _0x4f1f09>_0x3c3de8;},'BKXkl':function(_0x11dd00,_0x185823){return _0x11dd00(_0x185823);}},_0x1f09d2=sessionCacheHash({'orgId':_0x290066,'profileName':_0x471c46,'effectiveBaseUrl':_0x406aa9,'setupHeaders':_0x249c3c,'invalidateOn':_0x420448?.[_0x477178(0x224)],'userAgent':_0x420448?.[_0x477178(0x22d)],'clientIp':_0x420448?.['clientIp']}),_0x318c13=_0x69d210[_0x477178(0x237)](getSessionCachePath,_0x1f09d2,_0x471c46),_0x2bf032=_0x69d210[_0x477178(0x206)](join,_0x69d210['cqsoK'](getRangerHomeDir),_0x69d210['Kteez']);!existsSync(_0x2bf032)&&await mkdir(_0x2bf032,{'recursive':!![]});const _0x23fe17={..._0x2c0fa5};_0x4f1375&&_0x69d210['KMhmH'](_0x4f1375[_0x477178(0x1f4)],0x0)&&Array[_0x477178(0x1d4)](_0x23fe17[_0x477178(0x21a)])&&(_0x23fe17['cookies']=_0x69d210['QhmvS'](duplicateCookiesForDomains,_0x23fe17['cookies'],_0x4f1375));const _0x36a5b0={'cached_at':new Date()[_0x477178(0x1f3)](),'session_state':_0x23fe17};await _0x69d210[_0x477178(0x206)](writeFile,_0x318c13,JSON['stringify'](_0x36a5b0,null,0x2));const _0x15b7c9=_0x69d210['BKXkl'](getStorageStatePath,_0x318c13);return await writeFile(_0x15b7c9,JSON['stringify'](_0x23fe17,null,0x2)),_0x15b7c9;}export async function checkLocalCache(_0x53c6d1,_0x3818e2,_0x1a55a1,_0x4801e0,_0x31d205){const _0x122604=_0xc45c82,_0x183a39={'NhMAx':function(_0x41d204,_0x3e889c,_0x1153e2){return _0x41d204(_0x3e889c,_0x1153e2);},'fRfiz':function(_0x338429,_0x17f034){return _0x338429(_0x17f034);}},_0xf12b3e=sessionCacheHash({'orgId':_0x3818e2,'profileName':_0x53c6d1,'effectiveBaseUrl':_0x1a55a1,'setupHeaders':_0x4801e0,'invalidateOn':_0x31d205?.[_0x122604(0x224)],'userAgent':_0x31d205?.[_0x122604(0x22d)],'clientIp':_0x31d205?.['clientIp']}),_0x54f56d=_0x183a39['NhMAx'](getSessionCachePath,_0xf12b3e,_0x53c6d1),_0x468a98=_0x183a39[_0x122604(0x226)](getStorageStatePath,_0x54f56d);if(!existsSync(_0x54f56d)||!existsSync(_0x468a98))return null;try{const _0x53b60c=await _0x183a39[_0x122604(0x1cd)](readFile,_0x54f56d,'utf-8');return JSON[_0x122604(0x1fa)](_0x53b60c),{'storageStatePath':_0x468a98};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x260b74,_0x4e774a){const _0xf3bc4d=_0xc45c82,_0x489215={'EHVUH':function(_0x6ea0bb,_0x101834){return _0x6ea0bb+_0x101834;}};if(!_0x4e774a||!_0x4e774a['domains']?.['length'])return;let _0xfecb16;try{_0xfecb16=new URL(_0x260b74);}catch{return;}const _0x2032dc=[];for(const _0x34f0fa of _0x4e774a['domains']){try{_0x2032dc[_0xf3bc4d(0x1d5)]({'raw':_0x34f0fa,'url':new URL(_0x34f0fa)});}catch{}}if(_0x2032dc['length']===0x0)return;if(_0x2032dc[_0xf3bc4d(0x204)](_0x2b867b=>_0x2b867b[_0xf3bc4d(0x1d7)][_0xf3bc4d(0x217)]===_0xfecb16['origin']))return;const _0x5dccee=_0x2032dc[_0xf3bc4d(0x239)](_0x15b61e=>'\x22'+_0x15b61e['raw']+'\x22')[_0xf3bc4d(0x1f2)](',\x20');console[_0xf3bc4d(0x23c)](_0x489215[_0xf3bc4d(0x23e)](_0x489215['EHVUH'](_0xf3bc4d(0x221)+_0x5dccee+';\x20',_0xf3bc4d(0x22a)+_0x260b74+_0xf3bc4d(0x1ff)),_0xf3bc4d(0x22b)));}export async function serverSideLogin(_0x128d02,_0x2784af){const _0x1559b2=_0xc45c82,_0x120039={'WOqZE':function(_0x3a65a7,_0x5a9b05,_0x44dd61){return _0x3a65a7(_0x5a9b05,_0x44dd61);},'xAWmR':function(_0x276a69,_0x53e238){return _0x276a69===_0x53e238;},'dtOwE':_0x1559b2(0x234)},_0x3c27bf=process[_0x1559b2(0x1cf)]['RANGER_TEST_USERNAME'],_0x2cdbfe=process[_0x1559b2(0x1cf)][_0x1559b2(0x1df)],_0x592210={};if(_0x3c27bf)_0x592210['username']=_0x3c27bf;if(_0x2cdbfe)_0x592210[_0x1559b2(0x1f1)]=_0x2cdbfe;if(_0x2784af?.[_0x1559b2(0x1e4)])_0x592210[_0x1559b2(0x1e4)]=!![];try{return await _0x120039[_0x1559b2(0x1cc)](apiRequest,_0x1559b2(0x233)+encodeURIComponent(_0x128d02)+_0x1559b2(0x1db),{'method':_0x1559b2(0x22c),'body':JSON[_0x1559b2(0x1d1)](_0x592210)});}catch(_0x9dc608){if(_0x9dc608 instanceof ApiError&&_0x120039[_0x1559b2(0x209)](_0x9dc608[_0x1559b2(0x22f)],0x190)&&_0x9dc608['code']===_0x120039[_0x1559b2(0x1ee)])return{'status':'not_configured','error':_0x9dc608['detail']};throw _0x9dc608;}}export async function manualBrowserLogin(_0x119d88,_0x7b182c){const _0x521a74=_0xc45c82,_0x3590b5={'fnGFs':function(_0x39c7d1,_0xf5c841){return _0x39c7d1/_0xf5c841;},'BXbIB':function(_0x137a37){return _0x137a37();},'FJXPj':function(_0x3d3b58,_0x2a0736,_0x26265f){return _0x3d3b58(_0x2a0736,_0x26265f);},'xXAcl':_0x521a74(0x1d9),'hZkqR':_0x521a74(0x1fc),'jNqKK':'\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','FofMl':'Browser\x20login\x20timed\x20out\x20before\x20completion.','nfCSa':function(_0x3900fb,_0x2a61ff,_0xb512be){return _0x3900fb(_0x2a61ff,_0xb512be);},'enrwd':function(_0x1d9f90,_0x5b74f7){return _0x1d9f90(_0x5b74f7);}};if(!_0x3590b5[_0x521a74(0x21e)](isInteractive))throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x119d88['name']+'\x22.\x0a'+'\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 _0x15f90a=_0x7b182c&&_0x7b182c['domains'][_0x521a74(0x1f4)]>0x0?_0x7b182c['domains'][0x0]:_0x3590b5[_0x521a74(0x205)];console[_0x521a74(0x23c)](_0x3590b5['hZkqR']),console['log'](_0x3590b5['jNqKK']),await new Promise(_0x1163e1=>setTimeout(_0x1163e1,0x7d0));const _0x21fbec=await chromium[_0x521a74(0x215)]({'headless':![]});let _0x551826=null;try{const _0x3c98ab={'ignoreHTTPSErrors':!![]};_0x7b182c?.['setupHeaders']&&(_0x3c98ab[_0x521a74(0x1e7)]=_0x7b182c['setupHeaders']);const _0x2a2298=await _0x21fbec[_0x521a74(0x1e8)](_0x3c98ab);await addProfileSetupBanner(_0x2a2298);const _0x140334=await _0x2a2298[_0x521a74(0x20f)]();await _0x140334[_0x521a74(0x222)](_0x15f90a);let _0x5b26ec=![];await new Promise(_0x13ea7e=>{const _0x5308e6=_0x521a74,_0x2ac322={'gBDTo':function(_0x155c4e){return _0x155c4e();}},_0x1a03a2=_0x3590b5['FJXPj'](setTimeout,()=>{const _0x109002=_0x365e;_0x5b26ec=!![],console[_0x109002(0x225)]('Browser\x20login\x20timed\x20out\x20after\x20'+_0x3590b5['fnGFs'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+_0x109002(0x1eb)),_0x3590b5['BXbIB'](_0x13ea7e);},MANUAL_LOGIN_TIMEOUT_MS);_0x140334['on'](_0x5308e6(0x240),async()=>{const _0x1f0631=_0x5308e6;clearTimeout(_0x1a03a2);try{const _0x550091=await _0x2a2298[_0x1f0631(0x1e9)]();_0x551826=_0x550091;}catch{}_0x2ac322[_0x1f0631(0x1e0)](_0x13ea7e);});});if(_0x5b26ec&&!_0x551826)throw new Error(_0x3590b5[_0x521a74(0x218)]);}finally{await _0x21fbec[_0x521a74(0x240)]()['catch'](()=>{});}if(!_0x551826)throw new Error(_0x521a74(0x1d3));return await _0x3590b5[_0x521a74(0x23a)](apiRequest,_0x521a74(0x233)+_0x3590b5['enrwd'](encodeURIComponent,_0x119d88[_0x521a74(0x200)])+'/session',{'method':'POST','body':JSON['stringify']({'session_state':_0x551826,'updated_by':'cli:manual-login'})}),{'sessionState':_0x551826};}export async function promptSaveCredentials(_0x1fa8e1){const _0x3df326=_0xc45c82,_0x2c245f={'tkmoy':function(_0x2af4a6,_0xb4aa82){return _0x2af4a6||_0xb4aa82;},'QZSxZ':function(_0x36a65b){return _0x36a65b();},'pQMeF':'confirm','sxZIT':_0x3df326(0x1dd),'mvZrn':_0x3df326(0x1fd),'iyeWV':function(_0x582f2f,_0xa64789){return _0x582f2f(_0xa64789);},'IDLpY':_0x3df326(0x211)},_0x23c2e9=process[_0x3df326(0x1cf)][_0x3df326(0x1dc)],_0x2d0302=process[_0x3df326(0x1cf)]['RANGER_TEST_PASSWORD'];if(_0x2c245f[_0x3df326(0x20a)](!_0x23c2e9,!_0x2d0302))return;if(!_0x2c245f['QZSxZ'](isInteractive))return;const {save:_0x4c7526}=await _0x310049['prompt']([{'type':_0x2c245f[_0x3df326(0x21f)],'name':_0x2c245f['sxZIT'],'message':_0x2c245f[_0x3df326(0x1ed)],'default':![]}]);if(!_0x4c7526)return;await apiRequest('/api/v1/profiles/'+_0x2c245f['iyeWV'](encodeURIComponent,_0x1fa8e1),{'method':'PUT','body':JSON['stringify']({'username':_0x23c2e9,'password':_0x2d0302})}),console['log'](_0x2c245f[_0x3df326(0x227)]);}export async function resolveCloudProfileSession(_0x3f2033,_0x48f007={}){const _0x25c627=_0xc45c82,_0x3da30b={'GHRep':function(_0x55ed52){return _0x55ed52();},'PHPZq':_0x25c627(0x1ec),'UqIVB':function(_0x438baa,_0x4f51d3){return _0x438baa(_0x4f51d3);},'dVBVT':function(_0x15e9d5,_0x3525c2,_0x538ccd,_0x51d7d9,_0x2d486a,_0x4b4281){return _0x15e9d5(_0x3525c2,_0x538ccd,_0x51d7d9,_0x2d486a,_0x4b4281);},'ngvYt':function(_0x3e379,_0x50ae97,_0x247c3e,_0x4c0156,_0x363576){return _0x3e379(_0x50ae97,_0x247c3e,_0x4c0156,_0x363576);},'tlzlU':function(_0x5c99b1,_0x23a069,_0x44a9de,_0x4e489d,_0xceac00){return _0x5c99b1(_0x23a069,_0x44a9de,_0x4e489d,_0xceac00);},'PePSg':function(_0xcd4b81,_0x8f674d){return _0xcd4b81(_0x8f674d);},'rbVTZ':function(_0x312d19,_0x31c0e8){return _0x312d19||_0x31c0e8;},'LUCSi':_0x25c627(0x202),'vEgvg':function(_0x2e9cdc,_0x26aa04){return _0x2e9cdc===_0x26aa04;},'fdMRa':'success','FygLO':'\x20\x20Login\x20successful.\x20Session\x20cached.','cAkey':_0x25c627(0x23f),'xpbCK':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','xciaz':function(_0x4e4007,_0x75a0a4){return _0x4e4007 instanceof _0x75a0a4;},'praic':function(_0x46475e,_0x4556df){return _0x46475e(_0x4556df);},'JoyXg':function(_0x3cbb98,_0x1fbca8,_0xed60e4,_0x598ebf,_0x35246c,_0x14b6be,_0x522c40,_0x158f2d){return _0x3cbb98(_0x1fbca8,_0xed60e4,_0x598ebf,_0x35246c,_0x14b6be,_0x522c40,_0x158f2d);}},_0x1bff43=_0x3f2033['settings']??{},_0x1717fa=await _0x3da30b[_0x25c627(0x1e5)](fetchAuthConfig),_0x53a380=_0x1717fa?resolveAuthEnvironmentLocally(_0x1717fa,_0x3f2033[_0x25c627(0x1ea)]):null,_0x43c63a=typeof _0x53a380?.[_0x25c627(0x1f5)]===_0x3da30b[_0x25c627(0x1da)]&&_0x53a380[_0x25c627(0x1f5)]['trim']()?_0x53a380[_0x25c627(0x1f5)]:undefined,_0x2d763e=typeof _0x1bff43[_0x25c627(0x1f5)]===_0x3da30b[_0x25c627(0x1da)]&&_0x1bff43['loginInstructions'][_0x25c627(0x207)]()?_0x1bff43[_0x25c627(0x1f5)]:undefined,_0x4e8e31=_0x2d763e||!_0x43c63a?_0x1bff43:{..._0x1bff43,'loginInstructions':_0x43c63a},_0x3d878c=_0x3da30b['UqIVB'](Boolean,_0x4e8e31['loginInstructions']?.['trim']()),_0xecf803=_0x53a380?.[_0x25c627(0x22e)],_0x10e55d=_0x1bff43['setupHeaders'],_0x422a18=_0x10e55d??_0x53a380?.['setupHeaders'],_0x3308fa=_0x48f007['effectiveBaseUrl']??_0x1bff43[_0x25c627(0x1d6)]??(_0xecf803&&_0xecf803[_0x25c627(0x1f4)]>0x0?_0xecf803[0x0]:''),_0x38cc16={'invalidateOn':_0x53a380?.[_0x25c627(0x224)],'userAgent':_0x53a380?.['browserOptions']?.['userAgent']??_0x1bff43['userAgent']},_0x5c0e20=await _0x3da30b['dVBVT'](checkLocalCache,_0x3f2033[_0x25c627(0x200)],_0x3f2033[_0x25c627(0x238)],_0x3308fa,_0x422a18,_0x38cc16);if(_0x5c0e20){if(_0x3308fa){const _0x4901f7=await _0x3da30b[_0x25c627(0x235)](isCachedSessionLive,_0x5c0e20[_0x25c627(0x228)],_0x3308fa,{'sessionCheckPath':_0x53a380?.[_0x25c627(0x23b)],'setupHeaders':_0x422a18},{'launchBrowser':launchRealBrowser});if(_0x4901f7)return console[_0x25c627(0x23c)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x3f2033[_0x25c627(0x200)]+'\x22'),{'authPath':_0x5c0e20[_0x25c627(0x228)],'settings':_0x4e8e31,'resolvedEnv':_0x53a380};console[_0x25c627(0x23c)](_0x25c627(0x230)+_0x3f2033['name']+'\x22\x20failed\x20validation\x20—\x20refreshing...'),emitSessionValidationHint(_0x3308fa,_0x53a380);}else return{'authPath':_0x5c0e20['storageStatePath'],'settings':_0x4e8e31,'resolvedEnv':_0x53a380};}if(_0x3f2033['sessionState']){const _0x47f449=await writeSessionToLocalCache(_0x3f2033['name'],_0x3f2033[_0x25c627(0x238)],_0x3308fa,_0x422a18,_0x3f2033['sessionState'],_0xecf803,_0x38cc16);if(_0x3308fa){const _0x596e84=await _0x3da30b['tlzlU'](isCachedSessionLive,_0x47f449,_0x3308fa,{'sessionCheckPath':_0x53a380?.['sessionCheckPath'],'setupHeaders':_0x422a18},{'launchBrowser':launchRealBrowser});if(_0x596e84)return console[_0x25c627(0x23c)]('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x3f2033['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x47f449,'settings':_0x4e8e31,'resolvedEnv':_0x53a380};console[_0x25c627(0x23c)](_0x25c627(0x21c)+_0x3f2033[_0x25c627(0x200)]+_0x25c627(0x21d)),emitSessionValidationHint(_0x3308fa,_0x53a380);}else return{'authPath':_0x47f449,'settings':_0x4e8e31,'resolvedEnv':_0x53a380};}if(_0x3d878c)return console[_0x25c627(0x23c)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x3f2033['name']+'\x22;\x20proceeding\x20with\x20loginInstructions.'),{'authPath':undefined,'settings':_0x4e8e31,'resolvedEnv':_0x53a380};console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x3f2033[_0x25c627(0x200)]+_0x25c627(0x1d0));const _0x250d8b=Boolean(process[_0x25c627(0x1cf)][_0x25c627(0x1dc)])&&Boolean(process['env']['RANGER_TEST_PASSWORD']),_0xfd7243=_0x3da30b['PePSg'](Boolean,_0x3f2033[_0x25c627(0x216)]);if(_0x3da30b['rbVTZ'](_0x250d8b,_0xfd7243))try{const _0xe194cb=await _0x3da30b[_0x25c627(0x236)](serverSideLogin,_0x3f2033[_0x25c627(0x200)]);if(_0xe194cb[_0x25c627(0x22f)]===_0x25c627(0x234))console[_0x25c627(0x23c)](_0x3da30b['LUCSi']);else{if(_0x3da30b[_0x25c627(0x1fe)](_0xe194cb['status'],_0x3da30b['fdMRa'])&&_0xe194cb['session_state']){console[_0x25c627(0x23c)](_0x3da30b['FygLO']);const _0x1cf35d=await writeSessionToLocalCache(_0x3f2033['name'],_0x3f2033[_0x25c627(0x238)],_0x3308fa,_0x422a18,_0xe194cb['session_state'],_0xecf803,_0x38cc16);return _0x250d8b&&!_0xfd7243&&await promptSaveCredentials(_0x3f2033['name']),{'authPath':_0x1cf35d,'settings':_0x4e8e31,'resolvedEnv':_0x53a380};}else _0xe194cb[_0x25c627(0x1f8)]&&(console[_0x25c627(0x23c)](_0x3da30b['cAkey']),console['log'](_0xe194cb[_0x25c627(0x1f8)])),console['log'](_0x3da30b[_0x25c627(0x210)]);}}catch(_0x566921){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x3da30b['xciaz'](_0x566921,Error)?_0x566921['message']:_0x3da30b[_0x25c627(0x23d)](String,_0x566921))),console[_0x25c627(0x23c)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}const {sessionState:_0x43b63d}=await manualBrowserLogin(_0x3f2033,_0x53a380),_0x24cb3f=await _0x3da30b['JoyXg'](writeSessionToLocalCache,_0x3f2033['name'],_0x3f2033['organizationId'],_0x3308fa,_0x422a18,_0x43b63d,_0xecf803,_0x38cc16);return{'authPath':_0x24cb3f,'settings':_0x4e8e31,'resolvedEnv':_0x53a380};}
|
|
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
|
-
const
|
|
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 _0x37b0e3=_0x55fc;(function(_0x253c1c,_0x3ccdcb){const _0x5a16d9=_0x55fc,_0x38f474=_0x253c1c();while(!![]){try{const _0x21c84f=-parseInt(_0x5a16d9(0x1af))/0x1*(-parseInt(_0x5a16d9(0x1bd))/0x2)+parseInt(_0x5a16d9(0x1ad))/0x3*(parseInt(_0x5a16d9(0x1be))/0x4)+parseInt(_0x5a16d9(0x1ae))/0x5+-parseInt(_0x5a16d9(0x18b))/0x6*(parseInt(_0x5a16d9(0x1c7))/0x7)+-parseInt(_0x5a16d9(0x195))/0x8+-parseInt(_0x5a16d9(0x1a1))/0x9*(-parseInt(_0x5a16d9(0x1aa))/0xa)+-parseInt(_0x5a16d9(0x1a9))/0xb*(parseInt(_0x5a16d9(0x1c1))/0xc);if(_0x21c84f===_0x3ccdcb)break;else _0x38f474['push'](_0x38f474['shift']());}catch(_0x3d6742){_0x38f474['push'](_0x38f474['shift']());}}}(_0x3fc6,0xe250a));import{spawn}from'child_process';import _0x57a2ab from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL=_0x37b0e3(0x197);export async function requestDeviceCode(_0x5e2df2){const _0x3c6fe6=_0x37b0e3,_0x49cb76={'ojukG':_0x3c6fe6(0x18c),'hwqev':'application/x-www-form-urlencoded'},_0x39b976=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x49cb76[_0x3c6fe6(0x193)],'headers':{'Content-Type':_0x49cb76['hwqev']},'body':new URLSearchParams({'client_id':_0x5e2df2})});if(!_0x39b976['ok']){const _0x24e350=await _0x39b976['text']();throw new Error(_0x3c6fe6(0x191)+_0x39b976[_0x3c6fe6(0x1cf)]+'\x20'+_0x24e350);}return _0x39b976['json']();}export async function pollForTokens(_0x1c8015,_0x5a4791,_0x83dff8,_0x3c46f1){const _0x55e9cc=_0x37b0e3,_0x15d2a8={'cipUc':function(_0x51f695,_0x4f0f35){return _0x51f695+_0x4f0f35;},'zTgHq':function(_0x2527af,_0x21e07a){return _0x2527af*_0x21e07a;},'AoGed':function(_0x431eea,_0x2d1670,_0x1e73cc){return _0x431eea(_0x2d1670,_0x1e73cc);},'FFsdq':_0x55e9cc(0x1b8),'UcQrt':_0x55e9cc(0x1a3),'nKdSe':_0x55e9cc(0x184)},_0x3f26d0=_0x15d2a8['cipUc'](Date['now'](),_0x3c46f1*0x3e8);let _0x1fad2b=_0x15d2a8[_0x55e9cc(0x1c9)](_0x83dff8,0x3e8);while(Date[_0x55e9cc(0x18a)]()<_0x3f26d0){await sleep(_0x1fad2b);const _0x487a5f=await _0x15d2a8[_0x55e9cc(0x1ab)](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x1c8015,'device_code':_0x5a4791,'grant_type':_0x15d2a8['FFsdq']})});if(_0x487a5f['ok'])return _0x487a5f[_0x55e9cc(0x1b6)]();const _0x4206aa=await _0x487a5f[_0x55e9cc(0x1b6)]();if(_0x4206aa['error']==='authorization_pending')continue;if(_0x4206aa[_0x55e9cc(0x1a5)]===_0x15d2a8[_0x55e9cc(0x1bf)]){_0x1fad2b+=0x3e8;continue;}throw new Error(_0x4206aa[_0x55e9cc(0x1a7)]||_0x4206aa['error']||_0x55e9cc(0x199));}throw new Error(_0x15d2a8[_0x55e9cc(0x192)]);}async function fetchUserProfile(_0x56fb34){const _0x2c0eeb=_0x37b0e3,_0x29e279={'vWkXT':function(_0x31b152,_0x3cf5b5,_0x2aac28){return _0x31b152(_0x3cf5b5,_0x2aac28);},'WvIRY':_0x2c0eeb(0x19f)},_0x4cebc0=getApiBaseUrl();try{const _0x429fcc=await _0x29e279['vWkXT'](fetch,_0x4cebc0+_0x2c0eeb(0x1ca),{'method':_0x29e279['WvIRY'],'headers':{'workos-token':_0x56fb34}});if(_0x429fcc['ok'])return _0x429fcc['json']();}catch{}return null;}function buildKeyName(_0x19950d,_0x3b891c){const _0x15780a=_0x37b0e3,_0x2b19ab={'yWmcW':function(_0x28b6c4,_0x23c1ed){return _0x28b6c4+_0x23c1ed;}},_0x2fa81f=_0x3b891c[_0x15780a(0x186)](_0x9840b4=>_0x9840b4[_0x15780a(0x19a)]===_0x19950d||_0x9840b4['name'][_0x15780a(0x198)](_0x19950d+'\x20('));if(_0x2fa81f[_0x15780a(0x1ac)]===0x0)return _0x19950d;return _0x19950d+'\x20('+_0x2b19ab[_0x15780a(0x1cc)](_0x2fa81f['length'],0x1)+')';}export async function provisionApiKey(_0x3e6c93){const _0x4fdd0b=_0x37b0e3,_0x548afb={'oxhYT':'application/json','aSQZK':_0x4fdd0b(0x1a6),'zlrAU':function(_0x189b37,_0x10b5b8,_0x3ea7e5){return _0x189b37(_0x10b5b8,_0x3ea7e5);},'HvCyD':_0x4fdd0b(0x19f),'zFBoo':function(_0x15a13b,_0x579ba9,_0x215358){return _0x15a13b(_0x579ba9,_0x215358);},'VxYHK':'mcp:write'},_0x35ace2=getApiBaseUrl(),_0x12fd7a={'Content-Type':_0x548afb[_0x4fdd0b(0x1b2)],'workos-token':_0x3e6c93},_0x534962=await fetchUserProfile(_0x3e6c93),_0x5a0846=_0x534962?.[_0x4fdd0b(0x19d)]||_0x534962?.['email']?.['split']('@')[0x0],_0x23c806=_0x5a0846?_0x5a0846+'\x27s\x20CLI\x20Key':_0x548afb['aSQZK'];let _0x1e8644=[];try{const _0x4a86f1=await _0x548afb[_0x4fdd0b(0x180)](fetch,_0x35ace2+'/api-keys',{'method':_0x548afb[_0x4fdd0b(0x1c8)],'headers':_0x12fd7a});if(_0x4a86f1['ok']){const _0x730d5=await _0x4a86f1[_0x4fdd0b(0x1b6)]();_0x1e8644=_0x730d5['apiKeys'];}}catch{}const _0xa535cf=buildKeyName(_0x23c806,_0x1e8644),_0x13f223=await _0x548afb[_0x4fdd0b(0x17f)](fetch,_0x35ace2+'/api-keys',{'method':_0x4fdd0b(0x18c),'headers':_0x12fd7a,'body':JSON[_0x4fdd0b(0x194)]({'name':_0xa535cf,'scope':_0x548afb[_0x4fdd0b(0x1a8)]})});if(!_0x13f223['ok']){const _0x23222d=await _0x13f223['text']();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x13f223[_0x4fdd0b(0x1cf)]+'\x20'+_0x23222d);}const _0x3311bc=await _0x13f223[_0x4fdd0b(0x1b6)]();return _0x3311bc['apiKey']['token'];}export function openBrowser(_0x4a6c86){const _0x3deec0=_0x37b0e3,_0x3ac3f6={'SaNlq':function(_0xb88ac5,_0x526ac0){return _0xb88ac5===_0x526ac0;},'MHcVr':'cmd','LwpQo':'darwin','dsHWl':'open','QMpBD':'xdg-open','YNvYh':function(_0x59d5b2,_0x1419e6,_0x4d2ffc,_0x4d08b1){return _0x59d5b2(_0x1419e6,_0x4d2ffc,_0x4d08b1);},'RKYiV':_0x3deec0(0x188)};try{if(_0x3ac3f6['SaNlq'](process['platform'],'win32')){const _0x3b8bb7=spawn(_0x3ac3f6['MHcVr'],['/c','start','',_0x4a6c86],{'detached':!![],'stdio':'ignore','windowsHide':!![]});_0x3b8bb7[_0x3deec0(0x187)]();return;}const _0x39f95b=process['platform']===_0x3ac3f6['LwpQo']?_0x3ac3f6[_0x3deec0(0x1a2)]:_0x3ac3f6[_0x3deec0(0x1c0)],_0x1dcb92=_0x3ac3f6['YNvYh'](spawn,_0x39f95b,[_0x4a6c86],{'detached':!![],'stdio':_0x3ac3f6[_0x3deec0(0x182)]});_0x1dcb92[_0x3deec0(0x187)]();}catch{}}function _0x55fc(_0x12a5c7,_0x4ebe67){_0x12a5c7=_0x12a5c7-0x17f;const _0x3fc63e=_0x3fc6();let _0x55fc30=_0x3fc63e[_0x12a5c7];return _0x55fc30;}function decodeJwtPayload(_0x581901){const _0x472a84=_0x37b0e3,_0x5e9a07={'fKZCK':function(_0x1e9519,_0x9a5109){return _0x1e9519!==_0x9a5109;},'MpWEY':'Invalid\x20JWT\x20format','BUjOg':'base64url','AaJzp':_0x472a84(0x1c2)},_0x57ca9d=_0x581901[_0x472a84(0x18f)]('.');if(_0x5e9a07['fKZCK'](_0x57ca9d[_0x472a84(0x1ac)],0x3))throw new Error(_0x5e9a07['MpWEY']);const _0x555c71=Buffer['from'](_0x57ca9d[0x1],_0x5e9a07['BUjOg'])['toString'](_0x5e9a07[_0x472a84(0x1ba)]);return JSON['parse'](_0x555c71);}async function selfServeSignup(_0x222d7d){const _0xc8a329=_0x37b0e3,_0x3706ff={'eSfGV':function(_0x2ca3cd){return _0x2ca3cd();},'qWXtB':'application/json'},_0x35a53b=_0x3706ff[_0xc8a329(0x1cd)](getApiBaseUrl),_0xc66676=await fetch(_0x35a53b+_0xc8a329(0x1a0),{'method':_0xc8a329(0x18c),'headers':{'Content-Type':_0x3706ff['qWXtB'],'workos-token':_0x222d7d}});if(!_0xc66676['ok']){const _0x2ff8bd=await _0xc66676[_0xc8a329(0x1cb)]();throw new Error(_0xc8a329(0x185)+_0xc66676[_0xc8a329(0x1cf)]+'\x20'+_0x2ff8bd);}return _0xc66676[_0xc8a329(0x1b6)]();}async function fetchMyMemberships(_0x299169){const _0x3d1a1a=_0x37b0e3,_0x1cf9fd={'UBMuX':function(_0x240bbd){return _0x240bbd();}},_0x4c4642=_0x1cf9fd['UBMuX'](getApiBaseUrl),_0x5a8d25=await fetch(_0x4c4642+'/organization/my-memberships',{'method':_0x3d1a1a(0x19f),'headers':{'workos-token':_0x299169}});if(!_0x5a8d25['ok']){const _0x1d9d44=await _0x5a8d25['text']();throw new Error(_0x3d1a1a(0x1c4)+_0x5a8d25[_0x3d1a1a(0x1cf)]+'\x20'+_0x1d9d44);}const _0x13642c=await _0x5a8d25[_0x3d1a1a(0x1b6)]();return _0x13642c['memberships'];}async function refreshTokenWithOrg(_0x4163aa,_0x8b971b,_0x330249){const _0x4d79ce=_0x37b0e3,_0xe616b1={'EKqUt':'refresh_token'},_0x4ee28f=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x4163aa,'grant_type':_0xe616b1['EKqUt'],'refresh_token':_0x8b971b,'organization_id':_0x330249})});if(!_0x4ee28f['ok']){const _0x16f09c=await _0x4ee28f[_0x4d79ce(0x1cb)]();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x4ee28f['status']+'\x20'+_0x16f09c);}return _0x4ee28f['json']();}async function provisionCliToken(_0x5ebd5c){const _0x3c0817=_0x37b0e3,_0x163951={'sJpbu':function(_0x30aa73){return _0x30aa73();},'IlkvR':function(_0x391402,_0x31cdfd,_0x2d4b78){return _0x391402(_0x31cdfd,_0x2d4b78);}},_0x5adddd=_0x163951[_0x3c0817(0x1b7)](getApiBaseUrl),_0xe775ea=await _0x163951['IlkvR'](fetch,_0x5adddd+_0x3c0817(0x1b0),{'method':_0x3c0817(0x18c),'headers':{'Content-Type':'application/json','workos-token':_0x5ebd5c}});if(!_0xe775ea['ok']){const _0x39415e=await _0xe775ea['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0xe775ea['status']+'\x20'+_0x39415e);}return _0xe775ea['json']();}function _0x3fc6(){const _0xfa8d4c=['9RKGCEL','dsHWl','slow_down','EXpvT','error','CLI\x20Key','error_description','VxYHK','363EzCudz','12299030WxWyWS','AoGed','length','3YXgpEU','3051945VBadbE','460961lyXxVu','/cli-auth/token','Using\x20organization:\x20','oxhYT','stdout','Provisioning\x20CLI\x20token...','organizationId','json','sJpbu','urn:ietf:params:oauth:grant-type:device_code','expires_in','AaJzp','JSQoZ','token','2wwajSw','3878060jCHeHE','UcQrt','QMpBD','466056BKneJa','utf-8','device_code','Failed\x20to\x20fetch\x20memberships:\x20','write','HNUYH','7FQvRLf','HvCyD','zTgHq','/organization/me','text','yWmcW','eSfGV','rxrtM','status','zFBoo','zlrAU','Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','RKYiV','verification_uri_complete','Device\x20authorization\x20timed\x20out','Failed\x20to\x20create\x20organization:\x20','filter','unref','ignore','Setting\x20up\x20your\x20organization...','now','4884294KDSdlG','POST','refresh_token','EKrIU','split','user_code','Failed\x20to\x20request\x20device\x20code:\x20','nKdSe','ojukG','stringify','1984632UYXKqI','log','https://api.workos.com/user_management/authenticate','startsWith','Authentication\x20failed','name','map','access_token','firstName','interval','GET','/organization/self-serve-signup'];_0x3fc6=function(){return _0xfa8d4c;};return _0x3fc6();}export async function runDeviceAuthFlow(){const _0x43af07=_0x37b0e3,_0x3df906={'HNUYH':function(_0xc2a8c5){return _0xc2a8c5();},'VcROk':function(_0xee4b28,_0x249602){return _0xee4b28(_0x249602);},'EXpvT':'\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','EDZcL':'\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','rxrtM':function(_0x14a05e,_0x468c3c){return _0x14a05e===_0x468c3c;},'JSQoZ':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','hwhVl':_0x43af07(0x181),'EKrIU':'selected','Xeztn':'Select\x20an\x20organization:'},_0x2b97d3=_0x3df906[_0x43af07(0x1c6)](getCurrentEnvironment),_0x377122=ENVIRONMENT_CONFIGS[_0x2b97d3]['workosClientId'],_0x25e889=await _0x3df906['VcROk'](requestDeviceCode,_0x377122);console[_0x43af07(0x196)](_0x3df906[_0x43af07(0x1a4)]),console['log'](_0x3df906['EDZcL']),openBrowser(_0x25e889[_0x43af07(0x183)]),console[_0x43af07(0x196)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x25e889[_0x43af07(0x183)]),console[_0x43af07(0x196)]('Code:\x20'+_0x25e889[_0x43af07(0x190)]+'\x0a'),process[_0x43af07(0x1b3)]['write']('Waiting\x20for\x20authentication...');let _0x3df2ed=await pollForTokens(_0x377122,_0x25e889[_0x43af07(0x1c3)],_0x25e889[_0x43af07(0x19e)],_0x25e889[_0x43af07(0x1b9)]);console['log']('\x20✓');const _0x23205d=_0x3df906['VcROk'](decodeJwtPayload,_0x3df2ed[_0x43af07(0x19c)]);if(!_0x23205d['org_id']){const _0x3e02fb=await fetchMyMemberships(_0x3df2ed['access_token']);let _0x5c5b24;if(_0x3df906[_0x43af07(0x1ce)](_0x3e02fb[_0x43af07(0x1ac)],0x0)){process['stdout'][_0x43af07(0x1c5)](_0x43af07(0x189));const _0x12eabf=await _0x3df906['VcROk'](selfServeSignup,_0x3df2ed['access_token']);_0x5c5b24=_0x12eabf[_0x43af07(0x1b5)],console[_0x43af07(0x196)]('\x20✓');}else{if(_0x3df906['rxrtM'](_0x3e02fb['length'],0x1))_0x5c5b24=_0x3e02fb[0x0]['organizationId'],console[_0x43af07(0x196)](_0x43af07(0x1b1)+_0x3e02fb[0x0]['name']);else{const _0x5ac2a3=process['stdin']['isTTY']&&process['stdout']['isTTY'];if(!_0x5ac2a3)throw new Error(_0x3df906[_0x43af07(0x1bb)]+_0x3df906['hwhVl']);const {selected:_0x3329db}=await _0x57a2ab['prompt']([{'type':'list','name':_0x3df906[_0x43af07(0x18e)],'message':_0x3df906['Xeztn'],'choices':_0x3e02fb[_0x43af07(0x19b)](_0x232e7c=>({'name':_0x232e7c[_0x43af07(0x19a)],'value':_0x232e7c['organizationId']}))}]);_0x5c5b24=_0x3329db;}}_0x3df2ed=await refreshTokenWithOrg(_0x377122,_0x3df2ed[_0x43af07(0x18d)],_0x5c5b24);}process['stdout'][_0x43af07(0x1c5)](_0x43af07(0x1b4));const _0x218bfd=await _0x3df906['VcROk'](provisionCliToken,_0x3df2ed['access_token']);return console['log']('\x20✓'),await storeToken(_0x218bfd['token']),_0x3df2ed['refresh_token']&&await storeRefreshToken(_0x3df2ed[_0x43af07(0x18d)]),_0x218bfd[_0x43af07(0x1bc)];}function sleep(_0x33045b){return new Promise(_0x5e6019=>setTimeout(_0x5e6019,_0x33045b));}
|
|
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
|
-
const
|
|
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(_0x2c6006,_0x46afac){const _0x3f4c03=_0x4fb1,_0xe24554=_0x2c6006();while(!![]){try{const _0x341408=-parseInt(_0x3f4c03(0x134))/0x1*(-parseInt(_0x3f4c03(0x168))/0x2)+-parseInt(_0x3f4c03(0x172))/0x3+parseInt(_0x3f4c03(0x163))/0x4+-parseInt(_0x3f4c03(0x138))/0x5*(-parseInt(_0x3f4c03(0x16b))/0x6)+parseInt(_0x3f4c03(0x15a))/0x7+parseInt(_0x3f4c03(0x160))/0x8+parseInt(_0x3f4c03(0x153))/0x9*(parseInt(_0x3f4c03(0x144))/0xa);if(_0x341408===_0x46afac)break;else _0xe24554['push'](_0xe24554['shift']());}catch(_0x270333){_0xe24554['push'](_0xe24554['shift']());}}}(_0xf96b,0x93699));import{getToken}from'./keychain.js';function _0x4fb1(_0x1b62ff,_0x4c95e2){_0x1b62ff=_0x1b62ff-0x131;const _0xf96b10=_0xf96b();let _0x4fb131=_0xf96b10[_0x1b62ff];return _0x4fb131;}import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x1f2dc3){const _0x4f527a=_0x4fb1,_0x30656d={'suzRP':function(_0x1252b4){return _0x1252b4();},'ulQgo':function(_0x264be7,_0x53c043,_0x59c5c8){return _0x264be7(_0x53c043,_0x59c5c8);},'fMDGk':function(_0xe3ac56,_0x3afcc9){return _0xe3ac56===_0x3afcc9;}},_0xaf034b=await _0x30656d[_0x4f527a(0x164)](getToken);if(!_0xaf034b)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x42b5c5=_0x30656d[_0x4f527a(0x164)](getApiBaseUrl),_0x229552=await _0x30656d['ulQgo'](fetch,_0x42b5c5+_0x4f527a(0x141),{'method':_0x4f527a(0x133),'headers':{'Authorization':_0x4f527a(0x167)+_0xaf034b,'Content-Type':'application/json'},'body':JSON[_0x4f527a(0x17c)](_0x1f2dc3)});if(!_0x229552['ok']){if(_0x30656d['fMDGk'](_0x229552[_0x4f527a(0x16e)],0x192)){const _0x422c88=await _0x229552['json'](),_0x34eaac=_0x422c88[_0x4f527a(0x169)]||'https://dashboard.ranger.net/billing';throw new Error((_0x422c88['message']||_0x4f527a(0x17b))+_0x4f527a(0x161)+_0x34eaac);}const _0x2a3a32=await _0x229552['text']();throw new Error(_0x4f527a(0x174)+_0x2a3a32);}return _0x229552[_0x4f527a(0x135)]();}export async function listFeatures(_0x1ccc48){const _0x5ede73=_0x4fb1,_0x526424={'TBnNj':_0x5ede73(0x14d),'BQfDY':function(_0xa45e14){return _0xa45e14();},'pFAvo':'gitRepoUrl','UJzOC':'gitBranch','dSvbU':'limit','oUsJD':'offset','WHQkv':_0x5ede73(0x15f),'TzrHD':_0x5ede73(0x14a)},_0x149742=await getToken();if(!_0x149742)throw new Error(_0x526424['TBnNj']);const _0x9c2942=_0x526424['BQfDY'](getApiBaseUrl),_0x1b8393=new URLSearchParams();if(_0x1ccc48?.[_0x5ede73(0x171)])_0x1b8393[_0x5ede73(0x178)](_0x526424['pFAvo'],_0x1ccc48[_0x5ede73(0x171)]);if(_0x1ccc48?.[_0x5ede73(0x173)])_0x1b8393[_0x5ede73(0x178)](_0x526424['UJzOC'],_0x1ccc48[_0x5ede73(0x173)]);if(_0x1ccc48?.[_0x5ede73(0x150)])_0x1b8393[_0x5ede73(0x178)](_0x526424['dSvbU'],_0x1ccc48[_0x5ede73(0x150)]['toString']());if(_0x1ccc48?.[_0x5ede73(0x157)])_0x1b8393[_0x5ede73(0x178)](_0x526424['oUsJD'],_0x1ccc48[_0x5ede73(0x157)][_0x5ede73(0x13d)]());if(_0x1ccc48?.[_0x5ede73(0x15f)])_0x1b8393[_0x5ede73(0x178)](_0x526424[_0x5ede73(0x13f)],_0x526424[_0x5ede73(0x166)]);const _0x295344=_0x9c2942+'/api/v1/mcp/features'+(_0x1b8393[_0x5ede73(0x13d)]()?'?'+_0x1b8393['toString']():''),_0x22fbfd=await fetch(_0x295344,{'method':_0x5ede73(0x170),'headers':{'Authorization':_0x5ede73(0x167)+_0x149742}});if(!_0x22fbfd['ok']){const _0xf17fde=await _0x22fbfd[_0x5ede73(0x13e)]();throw new Error(_0x5ede73(0x140)+_0xf17fde);}return _0x22fbfd['json']();}export async function getFeature(_0x29e4bf){const _0x3e3f98=_0x4fb1,_0x2bc1e4={'lophn':function(_0x38b165){return _0x38b165();},'syZbu':_0x3e3f98(0x14d),'Sjbll':'GET'},_0x339705=await _0x2bc1e4[_0x3e3f98(0x145)](getToken);if(!_0x339705)throw new Error(_0x2bc1e4[_0x3e3f98(0x179)]);const _0x38df11=getApiBaseUrl(),_0x2e92df=await fetch(_0x38df11+_0x3e3f98(0x14c)+_0x29e4bf,{'method':_0x2bc1e4[_0x3e3f98(0x151)],'headers':{'Authorization':'Bearer\x20'+_0x339705}});if(!_0x2e92df['ok']){const _0x4f9563=await _0x2e92df['text']();throw new Error(_0x3e3f98(0x152)+_0x4f9563);}return _0x2e92df[_0x3e3f98(0x135)]();}export async function updateFeature(_0x21ebb0,_0x3c7166){const _0x1f0cee=_0x4fb1,_0x1203ff={'uovla':function(_0x3f4b88){return _0x3f4b88();},'Fblcd':_0x1f0cee(0x14d),'OPxnl':_0x1f0cee(0x154)},_0x2e0461=await _0x1203ff[_0x1f0cee(0x16d)](getToken);if(!_0x2e0461)throw new Error(_0x1203ff[_0x1f0cee(0x175)]);const _0x38ca97=getApiBaseUrl(),_0x62308=await fetch(_0x38ca97+_0x1f0cee(0x14c)+_0x21ebb0,{'method':_0x1203ff['OPxnl'],'headers':{'Authorization':_0x1f0cee(0x167)+_0x2e0461,'Content-Type':'application/json'},'body':JSON[_0x1f0cee(0x17c)](_0x3c7166)});if(!_0x62308['ok']){const _0x3a46f3=await _0x62308[_0x1f0cee(0x13e)]();throw new Error(_0x1f0cee(0x143)+_0x3a46f3);}return _0x62308[_0x1f0cee(0x135)]();}export async function createChecklistItem(_0x54eb00,_0xfe60f4,_0x34e8a0){const _0x1fe635=_0x4fb1,_0x279764={'VRloW':_0x1fe635(0x14d),'rSBHL':function(_0x4cbc77){return _0x4cbc77();},'MJuis':function(_0x482ef3,_0x50dac4,_0x2a1674){return _0x482ef3(_0x50dac4,_0x2a1674);},'cuoeH':'application/json'},_0x34583f=await getToken();if(!_0x34583f)throw new Error(_0x279764[_0x1fe635(0x146)]);const _0x4b2590=_0x279764[_0x1fe635(0x148)](getApiBaseUrl),_0x1a0608=await _0x279764[_0x1fe635(0x13b)](fetch,_0x4b2590+_0x1fe635(0x14c)+_0x54eb00+'/checklist',{'method':'POST','headers':{'Authorization':_0x1fe635(0x167)+_0x34583f,'Content-Type':_0x279764['cuoeH']},'body':JSON['stringify']({'description':_0xfe60f4,'position':_0x34e8a0})});if(!_0x1a0608['ok']){const _0x40713a=await _0x1a0608[_0x1fe635(0x13e)]();throw new Error(_0x1fe635(0x155)+_0x40713a);}return _0x1a0608['json']();}function _0xf96b(){const _0x549c63=['GET','gitRepoUrl','2623146gjYwOb','gitBranch','Failed\x20to\x20create\x20feature\x20review:\x20','Fblcd','qnzMf','syeqb','set','syZbu','kAUtE','Feature\x20limit\x20exceeded','stringify','Failed\x20to\x20delete\x20feature\x20review:\x20','oJBfo','iuzpK','POST','1234WlOCzL','json','QNefO','OWetC','10ztzDUh','/sessions','EpBYQ','MJuis','sessionId','toString','text','WHQkv','Failed\x20to\x20list\x20feature\x20reviews:\x20','/api/v1/mcp/features','WqRTT','Failed\x20to\x20update\x20feature\x20review:\x20','10rfgswN','lophn','VRloW','RVUQO','rSBHL','style','true','PmXcJ','/api/v1/mcp/features/','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','MaUdl','Failed\x20to\x20conclude\x20session:\x20','limit','Sjbll','Failed\x20to\x20get\x20feature\x20review:\x20','3091167qEAuoM','PATCH','Failed\x20to\x20create\x20scenario:\x20','/report','offset','seoCJ','/action-items','4151756EKnPYz','updateChecklistItem','vSQCw','/sessions/','KjjMf','includeDeleted','58160UIUFqy','\x0a\x0aUpgrade\x20your\x20plan:\x20','itemIds','1708104yfRhUs','suzRP','length','TzrHD','Bearer\x20','32vSSTRR','billingUrl','/report/markdown','262716wcxmZv','/checklist-items/','uovla','status','ImLIO'];_0xf96b=function(){return _0x549c63;};return _0xf96b();}export async function updateChecklistItem(_0x2bd583,_0x2f3a51,_0x30ce36){const _0x3fe058=_0x4fb1,_0x855bdc={'EpBYQ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','MpVwv':function(_0x1931bb){return _0x1931bb();},'qnzMf':'application/json','thqLd':function(_0x1062f9,_0x5518ce,_0x4ea990){return _0x1062f9(_0x5518ce,_0x4ea990);}};return _0x855bdc['thqLd'](withRetry,async()=>{const _0x1d9097=_0x4fb1,_0x4e179a=await getToken();if(!_0x4e179a)throw new Error(_0x855bdc[_0x1d9097(0x13a)]);const _0x1da62f=_0x855bdc['MpVwv'](getApiBaseUrl),_0x4562a8=await fetch(_0x1da62f+'/api/v1/mcp/features/'+_0x2bd583+'/checklist/'+_0x2f3a51,{'method':'PATCH','headers':{'Authorization':_0x1d9097(0x167)+_0x4e179a,'Content-Type':_0x855bdc[_0x1d9097(0x176)]},'body':JSON[_0x1d9097(0x17c)](_0x30ce36)});if(!_0x4562a8['ok']){const _0x241b54=await _0x4562a8[_0x1d9097(0x13e)]();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x241b54);}return _0x4562a8['json']();},{'label':_0x3fe058(0x15b)});}export async function getFeatureReport(_0x1f4c2){const _0x308bd2=_0x4fb1,_0x49b97f={'WqRTT':function(_0xf89aee){return _0xf89aee();}},_0x670ac8=await _0x49b97f[_0x308bd2(0x142)](getToken);if(!_0x670ac8)throw new Error(_0x308bd2(0x14d));const _0x4855ee=getApiBaseUrl(),_0x4b65e1=await fetch(_0x4855ee+_0x308bd2(0x14c)+_0x1f4c2+_0x308bd2(0x156),{'method':_0x308bd2(0x170),'headers':{'Authorization':_0x308bd2(0x167)+_0x670ac8}});if(!_0x4b65e1['ok']){const _0xe473c1=await _0x4b65e1['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0xe473c1);}return _0x4b65e1[_0x308bd2(0x135)]();}export async function getFeatureReportMarkdown(_0x2f488f,_0x3c3a76){const _0x2008c5=_0x4fb1,_0x442741={'seoCJ':function(_0x5d5e07){return _0x5d5e07();},'OWetC':'sessionId','oJBfo':function(_0x2410f0,_0x5519fb){return _0x2410f0&&_0x5519fb;}},_0x4890c0=await getToken();if(!_0x4890c0)throw new Error(_0x2008c5(0x14d));const _0x407fdf=_0x442741[_0x2008c5(0x158)](getApiBaseUrl),_0xcfd340=new URLSearchParams(),_0x37af6c=(_0x3c3a76?.['itemIds']?.[_0x2008c5(0x165)]??0x0)>0x0,_0x265c18=Boolean(_0x3c3a76?.['sessionId']);_0x37af6c&&_0x3c3a76?.['itemIds']&&_0xcfd340[_0x2008c5(0x178)](_0x2008c5(0x162),_0x3c3a76[_0x2008c5(0x162)]['join'](','));_0x265c18&&_0x3c3a76?.[_0x2008c5(0x13c)]&&_0xcfd340[_0x2008c5(0x178)](_0x442741[_0x2008c5(0x137)],_0x3c3a76['sessionId']);_0x442741[_0x2008c5(0x131)](!_0x37af6c,!_0x265c18)&&_0x3c3a76?.['style']&&_0xcfd340[_0x2008c5(0x178)](_0x2008c5(0x149),_0x3c3a76[_0x2008c5(0x149)]);const _0x347998=_0x407fdf+'/api/v1/mcp/features/'+_0x2f488f+_0x2008c5(0x16a),_0x40e915=''+_0x347998+(_0xcfd340[_0x2008c5(0x13d)]()?'?'+_0xcfd340['toString']():''),_0x280aab=await fetch(_0x40e915,{'method':_0x2008c5(0x170),'headers':{'Authorization':'Bearer\x20'+_0x4890c0}});if(!_0x280aab['ok']){const _0xad6ebd=await _0x280aab[_0x2008c5(0x13e)]();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20'+_0xad6ebd);}return _0x280aab['text']();}export async function listFeatureSessions(_0x2cf825){const _0x20e4fa=_0x4fb1,_0x574cfc={'MaUdl':function(_0x292299){return _0x292299();},'KjjMf':function(_0x1c0e09){return _0x1c0e09();},'PWWjt':function(_0x56224c,_0x5e085c,_0xdf18ba){return _0x56224c(_0x5e085c,_0xdf18ba);},'kOYXz':_0x20e4fa(0x170)},_0x235949=await _0x574cfc[_0x20e4fa(0x14e)](getToken);if(!_0x235949)throw new Error(_0x20e4fa(0x14d));const _0xa644dd=_0x574cfc[_0x20e4fa(0x15e)](getApiBaseUrl),_0x4c10ae=await _0x574cfc['PWWjt'](fetch,_0xa644dd+_0x20e4fa(0x14c)+_0x2cf825+_0x20e4fa(0x139),{'method':_0x574cfc['kOYXz'],'headers':{'Authorization':_0x20e4fa(0x167)+_0x235949}});if(!_0x4c10ae['ok']){const _0x1ae6a1=await _0x4c10ae[_0x20e4fa(0x13e)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x1ae6a1);}return _0x4c10ae[_0x20e4fa(0x135)]();}export async function startSession(_0x67b15f,_0x398a2c){const _0x6ec37c=_0x4fb1,_0x421971={'wjYTy':function(_0x572e5f){return _0x572e5f();},'yMCHZ':_0x6ec37c(0x14d),'NwwHi':function(_0xa9c59b,_0x405bb0,_0x131f44){return _0xa9c59b(_0x405bb0,_0x131f44);}},_0x1d65f2=await _0x421971['wjYTy'](getToken);if(!_0x1d65f2)throw new Error(_0x421971['yMCHZ']);const _0x39139c=getApiBaseUrl(),_0x14a0e6=await _0x421971['NwwHi'](fetch,_0x39139c+_0x6ec37c(0x14c)+_0x67b15f+_0x6ec37c(0x15d)+_0x398a2c+'/start',{'method':_0x6ec37c(0x133),'headers':{'Authorization':'Bearer\x20'+_0x1d65f2}});if(!_0x14a0e6['ok']){const _0x4eb0d8=await _0x14a0e6[_0x6ec37c(0x13e)]();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x4eb0d8);}return _0x14a0e6['json']();}export async function concludeSession(_0x3db640,_0xa73a34){const _0x44ed52=_0x4fb1,_0x473d4f={'pXdEo':function(_0x3bc67b){return _0x3bc67b();},'zVWqI':_0x44ed52(0x14d),'PmXcJ':function(_0x3096ee){return _0x3096ee();},'QNefO':function(_0x4bd51f,_0x253341,_0x3ac54e){return _0x4bd51f(_0x253341,_0x3ac54e);}},_0x8938bb=await _0x473d4f['pXdEo'](getToken);if(!_0x8938bb)throw new Error(_0x473d4f['zVWqI']);const _0x1f0a9c=_0x473d4f[_0x44ed52(0x14b)](getApiBaseUrl),_0x3a5a72=await _0x473d4f[_0x44ed52(0x136)](fetch,_0x1f0a9c+'/api/v1/mcp/features/'+_0x3db640+'/sessions/'+_0xa73a34+'/conclude',{'method':_0x44ed52(0x133),'headers':{'Authorization':_0x44ed52(0x167)+_0x8938bb}});if(!_0x3a5a72['ok']){const _0x30cc3c=await _0x3a5a72['text']();throw new Error(_0x44ed52(0x14f)+_0x30cc3c);}return _0x3a5a72['json']();}export async function getActionItems(_0x22f849){const _0x8aadfe=_0x4fb1,_0x19f60a={'SSteG':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','vSQCw':_0x8aadfe(0x170)},_0x3fdda5=await getToken();if(!_0x3fdda5)throw new Error(_0x19f60a['SSteG']);const _0x3b322f=getApiBaseUrl(),_0x44df69=await fetch(_0x3b322f+'/api/v1/mcp/features/'+_0x22f849+_0x8aadfe(0x159),{'method':_0x19f60a[_0x8aadfe(0x15c)],'headers':{'Authorization':_0x8aadfe(0x167)+_0x3fdda5}});if(!_0x44df69['ok']){const _0x178151=await _0x44df69['text']();throw new Error('Failed\x20to\x20get\x20action\x20items:\x20'+_0x178151);}return _0x44df69['json']();}export async function getItemFeedback(_0x515d12,_0x292db1){const _0x4cce58=_0x4fb1,_0x2bf773={'dTxbc':function(_0x104e64){return _0x104e64();},'iuzpK':function(_0x4d54ee){return _0x4d54ee();},'RVUQO':_0x4cce58(0x170)},_0x3eedf7=await _0x2bf773['dTxbc'](getToken);if(!_0x3eedf7)throw new Error(_0x4cce58(0x14d));const _0xe6d86a=_0x2bf773[_0x4cce58(0x132)](getApiBaseUrl),_0x2699cb=await fetch(_0xe6d86a+_0x4cce58(0x14c)+_0x515d12+_0x4cce58(0x16c)+_0x292db1+'/feedback',{'method':_0x2bf773[_0x4cce58(0x147)],'headers':{'Authorization':_0x4cce58(0x167)+_0x3eedf7}});if(!_0x2699cb['ok']){const _0x4a4c7d=await _0x2699cb[_0x4cce58(0x13e)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x4a4c7d);}return _0x2699cb['json']();}export async function markCommentsAddressed(_0x50a7e5,_0x36836e,_0x5d54ba){const _0x5351ce=_0x4fb1,_0xa2ea7={'RslGL':function(_0x34f5e6){return _0x34f5e6();},'syeqb':function(_0x224c5b){return _0x224c5b();},'ImLIO':'application/json'},_0x292534=await _0xa2ea7['RslGL'](getToken);if(!_0x292534)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2e3f3e=_0xa2ea7[_0x5351ce(0x177)](getApiBaseUrl),_0x2b3684=await fetch(_0x2e3f3e+_0x5351ce(0x14c)+_0x50a7e5+'/comments/address',{'method':'POST','headers':{'Authorization':_0x5351ce(0x167)+_0x292534,'Content-Type':_0xa2ea7[_0x5351ce(0x16f)]},'body':JSON[_0x5351ce(0x17c)]({'checklistItemId':_0x36836e,'commentIds':_0x5d54ba})});if(!_0x2b3684['ok']){const _0xe3ae5e=await _0x2b3684['text']();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0xe3ae5e);}}export async function softDeleteFeature(_0x39bfb1){const _0x1c8583=_0x4fb1,_0x3df761={'eHoDp':function(_0x49ead2){return _0x49ead2();},'kAUtE':'DELETE'},_0x462e83=await getToken();if(!_0x462e83)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3cab10=_0x3df761['eHoDp'](getApiBaseUrl),_0x226cde=await fetch(_0x3cab10+'/api/v1/mcp/features/'+_0x39bfb1,{'method':_0x3df761[_0x1c8583(0x17a)],'headers':{'Authorization':_0x1c8583(0x167)+_0x462e83}});if(!_0x226cde['ok']){const _0x510b7e=await _0x226cde[_0x1c8583(0x13e)]();throw new Error(_0x1c8583(0x17d)+_0x510b7e);}}export async function restoreFeature(_0x3ea715){const _0x105aa2=_0x4fb1,_0x15b6ec={'kqGQF':function(_0x583dd5){return _0x583dd5();}},_0x3f7531=await _0x15b6ec['kqGQF'](getToken);if(!_0x3f7531)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x20ca55=_0x15b6ec['kqGQF'](getApiBaseUrl),_0x1a2935=await fetch(_0x20ca55+_0x105aa2(0x14c)+_0x3ea715+'/restore',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x3f7531}});if(!_0x1a2935['ok']){const _0x17ea44=await _0x1a2935['text']();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x17ea44);}}
|
|
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);}}
|