@ranger-testing/ranger-cli 3.1.2-alpha.b450a14-41 → 3.1.3-alpha.e1ca941-42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x236664=_0x222d;(function(_0x3d0ab5,_0x2a7566){const _0x5cf0c=_0x222d,_0x6626a8=_0x3d0ab5();while(!![]){try{const _0x15a3c2=-parseInt(_0x5cf0c(0x20c))/0x1*(-parseInt(_0x5cf0c(0x1c3))/0x2)+parseInt(_0x5cf0c(0x1b8))/0x3*(parseInt(_0x5cf0c(0x1a6))/0x4)+-parseInt(_0x5cf0c(0x1a0))/0x5+parseInt(_0x5cf0c(0x19c))/0x6*(-parseInt(_0x5cf0c(0x202))/0x7)+-parseInt(_0x5cf0c(0x1b3))/0x8*(parseInt(_0x5cf0c(0x230))/0x9)+parseInt(_0x5cf0c(0x1de))/0xa+parseInt(_0x5cf0c(0x210))/0xb;if(_0x15a3c2===_0x2a7566)break;else _0x6626a8['push'](_0x6626a8['shift']());}catch(_0x5a41bb){_0x6626a8['push'](_0x6626a8['shift']());}}}(_0x55f1,0x7b91b));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x2278a3 from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x3f2ff4){try{return new URL(_0x3f2ff4)['host'];}catch{return'invalid-url';}}function errorMessageForTelemetry(_0x120efa){const _0x4c95fb=_0x222d,_0x546fba={'LxzFZ':function(_0x185a98,_0xca8a0f){return _0x185a98 instanceof _0xca8a0f;}};return _0x546fba[_0x4c95fb(0x1b4)](_0x120efa,Error)?_0x120efa[_0x4c95fb(0x1a7)]:undefined;}function trackBridgeEvent(_0xc9e1d0,_0x2b6113){const _0x254137=_0x222d,_0x222384={'jLPvG':'tunnel_bridge_event','Vjlzz':function(_0x13661b,_0x417ee6){return _0x13661b===_0x417ee6;},'xkQYi':function(_0x2c03e9,_0x4d0114){return _0x2c03e9===_0x4d0114;},'xOIUj':_0x254137(0x1fb)};if(!_0xc9e1d0)return;const _0x4ded6b={'tunnelSessionId':_0x2b6113[_0x254137(0x216)],'tunnelEventType':_0x2b6113[_0x254137(0x1b5)],'connectionId':_0x2b6113['connectionId'],'code':_0x2b6113[_0x254137(0x1ae)],'reason':_0x2b6113['reason'],'error':_0x2b6113[_0x254137(0x20b)],'elapsedMs':_0x2b6113[_0x254137(0x1f1)],'activeLocalConnections':_0x2b6113['activeLocalConnections'],'pendingLocalConnections':_0x2b6113[_0x254137(0x22f)]};_0xc9e1d0[_0x254137(0x1a1)](_0x222384['jLPvG'],_0x4ded6b),(_0x222384[_0x254137(0x1e3)](_0x2b6113['type'],'tunnel_error')||_0x222384[_0x254137(0x198)](_0x2b6113['type'],'local_ws_error'))&&void _0xc9e1d0['trackPhaseError'](_0x222384['xOIUj'],new Error(_0x2b6113['error']??_0x2b6113[_0x254137(0x1b5)]),_0x4ded6b);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0xcaef25=_0x222d,_0xf07598={'AkquR':_0xcaef25(0x218)},_0x35eb6f=await getToken();if(!_0x35eb6f)throw new Error(_0xf07598[_0xcaef25(0x204)]);return _0x35eb6f;}async function apiRequest(_0x353188,_0x5c80c8={}){const _0x3c3e1e=_0x222d,_0x471048={'uULDG':function(_0x22c2d0){return _0x22c2d0();},'YSwoJ':'application/json','egJPK':_0x3c3e1e(0x1e4),'tcpMQ':function(_0x21a55c,_0x1044e1){return _0x21a55c===_0x1044e1;}},_0x2ceb76=await _0x471048[_0x3c3e1e(0x22e)](requireToken),_0x580267=_0x471048[_0x3c3e1e(0x22e)](getApiBaseUrl),_0x5251d3=await fetch(''+_0x580267+_0x353188,{..._0x5c80c8,'headers':{'Authorization':'Bearer\x20'+_0x2ceb76,'Content-Type':_0x471048[_0x3c3e1e(0x1cf)],..._0x5c80c8['headers']??{}}});if(!_0x5251d3['ok']){let _0x10411d='',_0x12c81c;try{const _0x5320b4=await _0x5251d3['json']();_0x10411d=(typeof _0x5320b4[_0x3c3e1e(0x20b)]===_0x471048[_0x3c3e1e(0x19a)]?_0x5320b4[_0x3c3e1e(0x20b)]:undefined)??JSON['stringify'](_0x5320b4);if(_0x471048['tcpMQ'](typeof _0x5320b4['code'],_0x3c3e1e(0x1e4)))_0x12c81c=_0x5320b4[_0x3c3e1e(0x1ae)];}catch{_0x10411d=_0x5251d3['statusText'];}throw new ApiError(_0x3c3e1e(0x1fd)+_0x353188+_0x3c3e1e(0x229)+_0x5251d3[_0x3c3e1e(0x1e5)]+'):\x20'+_0x10411d,_0x5251d3['status'],_0x10411d,_0x12c81c);}if(_0x471048[_0x3c3e1e(0x1e6)](_0x5251d3[_0x3c3e1e(0x1e5)],0xcc))return undefined;return _0x5251d3['json']();}export class ApiError extends Error{[_0x236664(0x1e5)];['detail'];['code'];constructor(_0xd89cbb,_0x4a6067,_0x996bc3,_0x2291a8){const _0x1e4746=_0x236664,_0x11ae30='4|0|1|3|2'['split']('|');let _0x43080a=0x0;while(!![]){switch(_0x11ae30[_0x43080a++]){case'0':this[_0x1e4746(0x1e5)]=_0x4a6067;continue;case'1':this[_0x1e4746(0x195)]=_0x996bc3;continue;case'2':this[_0x1e4746(0x1e0)]='ApiError';continue;case'3':this['code']=_0x2291a8;continue;case'4':super(_0xd89cbb);continue;}break;}}}export async function fetchCloudProfile(_0xfc11a9){const _0x218240=_0x236664,_0x520cf9={'waDBi':function(_0x377a5d,_0x333c1c){return _0x377a5d instanceof _0x333c1c;}};try{return await apiRequest(_0x218240(0x1d4)+encodeURIComponent(_0xfc11a9));}catch(_0x49c264){if(_0x520cf9[_0x218240(0x1d5)](_0x49c264,ApiError)&&_0x49c264[_0x218240(0x1e5)]===0x194)return null;throw _0x49c264;}}export async function listCloudProfiles(){const _0x3aba91=_0x236664,_0x3e00f2={'TcWqf':function(_0xeff371,_0x58b28a){return _0xeff371(_0x58b28a);}},_0x4e940a=await _0x3e00f2[_0x3aba91(0x227)](apiRequest,'/api/v1/profiles');return _0x4e940a['profiles'];}function _0x55f1(){const _0x4a9ad3=['WYQiH','\x20\x20Login\x20successful.\x20Session\x20cached.','username','QtyMR','2888JOviZP','LxzFZ','type','\x20\x20Created\x20cloud\x20profile\x20\x22','akQeJ','3ODhcjJ','trackPhaseError','target_url','force','test_output','wsEndpoint','\x22.\x0a','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','you\x27re\x20now\x20at\x20\x22','cli:manual-login','tunnel_login_request','1910254vjCkuy','stringify','POST','TAyDK','goto','RANGER_TEST_USERNAME','\x22\x20failed\x20validation\x20—\x20refreshing...','foAXB','VWNVV','trim','agent','yKMQn','YSwoJ',').\x20','AvVjb','storageStatePath','PnVTc','/api/v1/profiles/','waDBi','sygbI','effectiveBaseUrl','session_state','pwEndpoint','jmgUp','DaYlu','bnVHl','RANGER_TEST_PASSWORD','2859900ZBnmrR','WWSOk','name','Browser\x20login\x20timed\x20out\x20after\x20','FAzaF','Vjlzz','string','status','tcpMQ','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','success','tVasL','Browser\x20login\x20timed\x20out\x20before\x20completion.','yzGia','settings','CjNdD','mNYtx','DELETE','/api/v1/tunnel/sessions','elapsedMs','QOKpP','newPage','MFoQi','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','ffHRA','forceLogin','Qihji','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','tunnel_bridge','cookies','API\x20request\x20','telemetry','UlaUr','organizationId','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','5622365ynoowa','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','AkquR','oSqfn','origin','\x20\x20Cloud\x20session\x20for\x20\x22','YZnhu','defaultEnvironmentKey','\x22;\x20proceeding\x20with\x20loginInstructions.','error','1hTPzWc','length','parse','isArray','14173313HDbHWt','YfqHP','\x22,\x20refreshing\x20session...','env','\x22,\x20cached\x20locally','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','sessionId','pGolj','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','vqGLa','IZYii','prompt','jBhAR','push','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','\x20\x20forceLogin\x20enabled\x20for\x20\x22','not_configured','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','/api/v1/profiles','gCmfA','confirm','xBvQs','invalidateOn','TcWqf','Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20','\x20failed\x20(','\x22\x20not\x20found.','close','dcqTv','userAgent','uULDG','pendingLocalConnections','17919WFgZck','log','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','pw_endpoint','keys','\x22\x20for\x20','seeDZ','TofvT','targetUrl','loginInstructions','domains','detail','NThex','trackPhaseStart','xkQYi','join','egJPK','save','6JxVtct','\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','some','clientIp','4308795lRACxL','trackPhaseEnd','catch','Cloud\x20profile\x20\x22','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','tunnel_login_setup','1440976fbDtGr','message','environmentKey','sessionState','\x20\x20Server-side\x20login\x20error:\x20','qSYBt','GrjUJ','/api/v1/profiles/auth-config','code'];_0x55f1=function(){return _0x4a9ad3;};return _0x55f1();}export async function deleteCloudProfile(_0x53968a){const _0x3f8692=_0x236664,_0x4e4056={'DaYlu':function(_0x354844,_0x430c71,_0x598883){return _0x354844(_0x430c71,_0x598883);},'PnVTc':function(_0x199b65,_0x3dd1f7){return _0x199b65(_0x3dd1f7);},'IZYii':function(_0x36a4f1,_0x526430){return _0x36a4f1===_0x526430;}};try{await _0x4e4056[_0x3f8692(0x1db)](apiRequest,'/api/v1/profiles/'+_0x4e4056[_0x3f8692(0x1d3)](encodeURIComponent,_0x53968a),{'method':_0x3f8692(0x1ef)});}catch(_0x519cbf){if(_0x519cbf instanceof ApiError&&_0x4e4056[_0x3f8692(0x21a)](_0x519cbf[_0x3f8692(0x1e5)],0x194))throw new Error(_0x3f8692(0x1a3)+_0x53968a+_0x3f8692(0x22a));throw _0x519cbf;}}export async function createCloudProfile(_0x7ef45a,_0x251a22,_0x2df7b4={}){const _0x2cc5f6=_0x236664,_0x2a31b2={'mHyeq':_0x2cc5f6(0x222),'oSqfn':_0x2cc5f6(0x1c5)},_0x3356dd={'name':_0x7ef45a};if(_0x251a22)_0x3356dd['environment_key']=_0x251a22;_0x2df7b4[_0x2cc5f6(0x1ec)]&&Object[_0x2cc5f6(0x234)](_0x2df7b4['settings'])['length']>0x0&&(_0x3356dd[_0x2cc5f6(0x1ec)]=_0x2df7b4[_0x2cc5f6(0x1ec)]);if(_0x2df7b4['username'])_0x3356dd['username']=_0x2df7b4['username'];if(_0x2df7b4['password'])_0x3356dd['password']=_0x2df7b4['password'];return await apiRequest(_0x2a31b2['mHyeq'],{'method':_0x2a31b2[_0x2cc5f6(0x205)],'body':JSON[_0x2cc5f6(0x1c4)](_0x3356dd)});}export async function uploadCloudProfileSession(_0x587f95,_0x770732){const _0x37b44c={'LdFCn':'POST'};return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x587f95)+'/session',{'method':_0x37b44c['LdFCn'],'body':JSON['stringify']({'session_state':_0x770732})});}export async function saveCloudProfileCredentials(_0x40d300,_0x4b867e,_0x58e5a3){const _0x34c121=_0x236664,_0x4ab837={'GrjUJ':function(_0x43930d,_0x5504cc,_0x451fb9){return _0x43930d(_0x5504cc,_0x451fb9);}};await _0x4ab837[_0x34c121(0x1ac)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x40d300),{'method':'PUT','body':JSON['stringify']({'username':_0x4b867e,'password':_0x58e5a3})});}export async function fetchAuthConfig(){const _0x43243e=_0x236664,_0x18fa83={'PFxaJ':function(_0x591040,_0x571f6b){return _0x591040 instanceof _0x571f6b;},'SSONS':function(_0x17ee65,_0x183543){return _0x17ee65!==_0x183543;}};try{const _0x5abcac=await apiRequest(_0x43243e(0x1ad));return _0x5abcac['auth_config'];}catch(_0x3fd668){return _0x18fa83['PFxaJ'](_0x3fd668,ApiError)&&_0x18fa83['SSONS'](_0x3fd668['status'],0x194)&&console['error'](_0x43243e(0x1bf)+_0x3fd668['message']),null;}}async function createTunnelSession(_0x245777){const _0x564d2a=_0x236664,_0x5c19d7={'pGolj':_0x564d2a(0x1f0),'bQtVe':_0x564d2a(0x1c5),'MFoQi':_0x564d2a(0x1cd)};return await apiRequest(_0x5c19d7[_0x564d2a(0x217)],{'method':_0x5c19d7['bQtVe'],'body':JSON['stringify']({'targetUrl':_0x245777,'mode':_0x5c19d7[_0x564d2a(0x1f4)]})});}async function deleteTunnelSession(_0x576580){await apiRequest('/api/v1/tunnel/sessions/'+_0x576580,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x54b672){const _0x3a2237=_0x236664,_0x43d451={'jmgUp':function(_0x50145e,_0x46f756){return _0x50145e===_0x46f756;},'FAzaF':function(_0x21d7a6,_0x31b099){return _0x21d7a6+_0x31b099;}};if(!_0x54b672)return null;if(_0x54b672[_0x3a2237(0x209)])return _0x54b672[_0x3a2237(0x209)];const _0x4a0e04=Object[_0x3a2237(0x234)](_0x54b672['environments']??{});if(_0x43d451['jmgUp'](_0x4a0e04[_0x3a2237(0x20d)],0x1))return _0x4a0e04[0x0];if(_0x43d451[_0x3a2237(0x1da)](_0x4a0e04['length'],0x0))return null;throw new Error(_0x43d451[_0x3a2237(0x1e2)]('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x4a0e04[_0x3a2237(0x199)](',\x20')+_0x3a2237(0x1d0),'Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.'));}export async function resolveAdHocProfile(_0x3882fb=process[_0x236664(0x213)]){const _0x434d2f=_0x236664,_0x409db5={'CrIgG':function(_0x58aca5){return _0x58aca5();},'NThex':function(_0x4fe16b,_0x10256c){return _0x4fe16b(_0x10256c);},'eifUD':function(_0x42e1d6,_0x201105,_0x596dd1,_0x578575){return _0x42e1d6(_0x201105,_0x596dd1,_0x578575);},'TofvT':function(_0x3229df,_0x6fb94c){return _0x3229df??_0x6fb94c;}},_0xac3414=_0x3882fb[_0x434d2f(0x1c8)];if(!_0xac3414)return null;const _0x44807c=await fetchCloudProfile(_0xac3414);if(_0x44807c)return{'name':_0x44807c[_0x434d2f(0x1e0)],'profile':_0x44807c};const _0x57a1f7=await _0x409db5['CrIgG'](fetchAuthConfig),_0x3a05c8=_0x409db5[_0x434d2f(0x196)](pickAdHocEnvKey,_0x57a1f7),_0x56f993=_0x3882fb['RANGER_TEST_PASSWORD'],_0x1bf282=await _0x409db5['eifUD'](createCloudProfile,_0xac3414,_0x409db5[_0x434d2f(0x237)](_0x3a05c8,undefined),{'username':_0xac3414,'password':_0x56f993});return console[_0x434d2f(0x231)](_0x434d2f(0x1b6)+_0x1bf282['name']+_0x434d2f(0x235)+_0xac3414),{'name':_0x1bf282['name'],'profile':_0x1bf282};}export async function writeSessionToLocalCache(_0x2c9cac,_0x44db48,_0x28a390,_0x5bb269,_0x58d5b4,_0x4a9412,_0x260a58){const _0x4b9d37=_0x236664,_0x2bc43b={'sygbI':function(_0x449384,_0x2a13bb,_0x206e19){return _0x449384(_0x2a13bb,_0x206e19);},'jBhAR':'auth','MTCmP':function(_0x1ebe88,_0x42047e){return _0x1ebe88(_0x42047e);}},_0x32d98f=sessionCacheHash({'orgId':_0x44db48,'profileName':_0x2c9cac,'effectiveBaseUrl':_0x28a390,'setupHeaders':_0x5bb269,'invalidateOn':_0x260a58?.[_0x4b9d37(0x226)],'userAgent':_0x260a58?.[_0x4b9d37(0x22d)],'clientIp':_0x260a58?.[_0x4b9d37(0x19f)]}),_0xedd76f=getSessionCachePath(_0x32d98f,_0x2c9cac),_0x341fe3=_0x2bc43b['sygbI'](join,getRangerHomeDir(),_0x2bc43b[_0x4b9d37(0x21c)]);!_0x2bc43b['MTCmP'](existsSync,_0x341fe3)&&await mkdir(_0x341fe3,{'recursive':!![]});const _0x89c57e={..._0x58d5b4};_0x4a9412&&_0x4a9412[_0x4b9d37(0x20d)]>0x0&&Array[_0x4b9d37(0x20f)](_0x89c57e[_0x4b9d37(0x1fc)])&&(_0x89c57e[_0x4b9d37(0x1fc)]=_0x2bc43b[_0x4b9d37(0x1d6)](duplicateCookiesForDomains,_0x89c57e['cookies'],_0x4a9412));const _0x5889e6={'cached_at':new Date()['toISOString'](),'session_state':_0x89c57e};await _0x2bc43b[_0x4b9d37(0x1d6)](writeFile,_0xedd76f,JSON['stringify'](_0x5889e6,null,0x2));const _0x26a00f=getStorageStatePath(_0xedd76f);return await _0x2bc43b[_0x4b9d37(0x1d6)](writeFile,_0x26a00f,JSON['stringify'](_0x89c57e,null,0x2)),_0x26a00f;}export async function checkLocalCache(_0x48555d,_0xdbb3a7,_0x2e1f3b,_0x527294,_0x37c0a6){const _0x26348e=_0x236664,_0x384398={'cfOCB':function(_0x27f446,_0xbaec){return _0x27f446(_0xbaec);},'SYhzi':function(_0x1c2b73,_0x425e26,_0x2e8e2c){return _0x1c2b73(_0x425e26,_0x2e8e2c);},'qSYBt':'utf-8'},_0x4dc446=sessionCacheHash({'orgId':_0xdbb3a7,'profileName':_0x48555d,'effectiveBaseUrl':_0x2e1f3b,'setupHeaders':_0x527294,'invalidateOn':_0x37c0a6?.[_0x26348e(0x226)],'userAgent':_0x37c0a6?.['userAgent'],'clientIp':_0x37c0a6?.[_0x26348e(0x19f)]}),_0x5e278b=getSessionCachePath(_0x4dc446,_0x48555d),_0x3c5cde=getStorageStatePath(_0x5e278b);if(!existsSync(_0x5e278b)||!_0x384398['cfOCB'](existsSync,_0x3c5cde))return null;try{const _0x243c45=await _0x384398['SYhzi'](readFile,_0x5e278b,_0x384398[_0x26348e(0x1ab)]);return JSON[_0x26348e(0x20e)](_0x243c45),{'storageStatePath':_0x3c5cde};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function _0x222d(_0x6a732b,_0x10f762){_0x6a732b=_0x6a732b-0x195;const _0x55f123=_0x55f1();let _0x222d75=_0x55f123[_0x6a732b];return _0x222d75;}function emitSessionValidationHint(_0x282be8,_0x18e7a4){const _0xa4317c=_0x236664,_0x2ed338={'qIday':function(_0xbf5ee1,_0x5e8b6b){return _0xbf5ee1+_0x5e8b6b;}};if(!_0x18e7a4||!_0x18e7a4['domains']?.['length'])return;let _0x487324;try{_0x487324=new URL(_0x282be8);}catch{return;}const _0x532f3b=[];for(const _0x4fbb67 of _0x18e7a4['domains']){try{_0x532f3b[_0xa4317c(0x21d)]({'raw':_0x4fbb67,'url':new URL(_0x4fbb67)});}catch{}}if(_0x532f3b[_0xa4317c(0x20d)]===0x0)return;if(_0x532f3b[_0xa4317c(0x19e)](_0x48fc48=>_0x48fc48['url']['origin']===_0x487324[_0xa4317c(0x206)]))return;const _0x3b5fe8=_0x532f3b['map'](_0x167dad=>'\x22'+_0x167dad['raw']+'\x22')['join'](',\x20');console[_0xa4317c(0x231)](_0x2ed338['qIday'](_0x2ed338['qIday'](_0xa4317c(0x201)+_0x3b5fe8+';\x20',_0xa4317c(0x1c0)+_0x282be8+_0xa4317c(0x1a4)),_0xa4317c(0x232)));}export async function serverSideLogin(_0x4bac28,_0x41cbb9){const _0x4993bd=_0x236664,_0x44de3a={'vqGLa':function(_0x1a005f,_0x45b5a3,_0x3f4571){return _0x1a005f(_0x45b5a3,_0x3f4571);},'QtyMR':function(_0x4cf301,_0x115007){return _0x4cf301(_0x115007);},'HXJAy':function(_0x392511,_0x4805e6){return _0x392511===_0x4805e6;},'IAotA':function(_0x50897d,_0x57a1a5){return _0x50897d===_0x57a1a5;}},_0x17c82c=process['env'][_0x4993bd(0x1c8)],_0x3525ba=process[_0x4993bd(0x213)][_0x4993bd(0x1dd)],_0x25af9c={};if(_0x17c82c)_0x25af9c['username']=_0x17c82c;if(_0x3525ba)_0x25af9c['password']=_0x3525ba;if(_0x41cbb9?.[_0x4993bd(0x1bb)])_0x25af9c['force']=!![];if(_0x41cbb9?.['targetUrl'])_0x25af9c[_0x4993bd(0x1ba)]=_0x41cbb9[_0x4993bd(0x238)];_0x41cbb9?.['tunnel']&&(_0x25af9c['tunnel_session_id']=_0x41cbb9['tunnel'][_0x4993bd(0x216)],_0x25af9c[_0x4993bd(0x233)]=_0x41cbb9['tunnel'][_0x4993bd(0x1d9)]);try{return await _0x44de3a[_0x4993bd(0x219)](apiRequest,'/api/v1/profiles/'+_0x44de3a[_0x4993bd(0x1b2)](encodeURIComponent,_0x4bac28)+'/login',{'method':_0x4993bd(0x1c5),'body':JSON[_0x4993bd(0x1c4)](_0x25af9c)});}catch(_0x4d949f){if(_0x4d949f instanceof ApiError&&_0x44de3a['HXJAy'](_0x4d949f['status'],0x190)&&_0x44de3a['IAotA'](_0x4d949f[_0x4993bd(0x1ae)],_0x4993bd(0x220)))return{'status':'not_configured','error':_0x4d949f[_0x4993bd(0x195)]};throw _0x4d949f;}}async function serverSideLoginWithOptionalTunnel(_0x485a0e,_0x1bc6c0,_0x4bcd83={}){const _0x521d5a=_0x236664,_0x433fe7={'Qihji':function(_0x23a042,_0x2da4a6){return _0x23a042(_0x2da4a6);},'akQeJ':function(_0x5ac346,_0x4f8723,_0x732deb){return _0x5ac346(_0x4f8723,_0x732deb);},'YZnhu':function(_0x20bdba,_0x58b957){return _0x20bdba(_0x58b957);},'AvVjb':'tunnel_login_setup','WYQiH':function(_0xf8ddaa,_0x361922){return _0xf8ddaa(_0x361922);},'NyTOl':_0x521d5a(0x1c2),'yIOJF':function(_0x2e1730,_0x5ade13){return _0x2e1730??_0x5ade13;},'VWNVV':function(_0x4ac3b8,_0x326b30){return _0x4ac3b8||_0x326b30;},'denSA':'tunnel_login_cleanup'};if(!needsTunnel(_0x1bc6c0))return await _0x433fe7[_0x521d5a(0x1b7)](serverSideLogin,_0x485a0e,{'force':_0x4bcd83[_0x521d5a(0x1bb)]});let _0x482bb4=null,_0x54cf8e=null,_0x550a28=null,_0x23c319=null,_0x268765=![];const _0x274f79={'profileName':_0x485a0e,'targetUrlHost':_0x433fe7[_0x521d5a(0x208)](targetHostForTelemetry,_0x1bc6c0),'tunnelRequired':!![],'forceLogin':_0x433fe7['YZnhu'](Boolean,_0x4bcd83['force'])};try{_0x4bcd83['telemetry']?.[_0x521d5a(0x197)](_0x433fe7[_0x521d5a(0x1d1)],_0x274f79),_0x482bb4=await launchBrowserServer({'headless':!![]}),_0x54cf8e=await _0x433fe7['WYQiH'](createTunnelSession,_0x1bc6c0);const _0x3becf8=await requireToken();_0x550a28=await createTunnelBridge({'localWsUrl':_0x482bb4[_0x521d5a(0x1bd)],'tunnelServerUrl':_0x54cf8e['tunnelUrl'],'sessionId':_0x54cf8e['sessionId'],'apiKey':_0x3becf8,'onError':_0x1767d3=>{_0x23c319=_0x1767d3;},'onClose':()=>{const _0x45e23b=_0x521d5a;_0x23c319??=new Error(_0x45e23b(0x228)+_0x485a0e);},'onEvent':_0x2684f9=>trackBridgeEvent(_0x4bcd83['telemetry'],_0x2684f9)}),_0x4bcd83[_0x521d5a(0x1fe)]?.[_0x521d5a(0x1a1)](_0x433fe7[_0x521d5a(0x1d1)],{..._0x274f79,'tunnelSessionId':_0x54cf8e[_0x521d5a(0x216)],'localBrowserServer':!![]}),_0x268765=!![];try{return _0x4bcd83[_0x521d5a(0x1fe)]?.['trackPhaseStart'](_0x433fe7['NyTOl'],{..._0x274f79,'tunnelSessionId':_0x54cf8e[_0x521d5a(0x216)]}),await _0x433fe7['akQeJ'](serverSideLogin,_0x485a0e,{'force':_0x4bcd83['force'],'targetUrl':_0x1bc6c0,'tunnel':{'sessionId':_0x54cf8e[_0x521d5a(0x216)],'pwEndpoint':_0x54cf8e['pwEndpoint']}})['then'](_0xe4b9f1=>{const _0x47a461=_0x521d5a;return _0x4bcd83['telemetry']?.[_0x47a461(0x1a1)]('tunnel_login_request',{..._0x274f79,'tunnelSessionId':_0x54cf8e?.['sessionId'],'loginStatus':_0xe4b9f1[_0x47a461(0x1e5)],'hasSessionState':Boolean(_0xe4b9f1['session_state']),'hasTestOutput':_0x433fe7[_0x47a461(0x1f8)](Boolean,_0xe4b9f1[_0x47a461(0x1bc)]),'bridgeError':_0x433fe7['Qihji'](errorMessageForTelemetry,_0x23c319)}),_0xe4b9f1;});}catch(_0x12820b){await _0x4bcd83['telemetry']?.[_0x521d5a(0x1b9)](_0x433fe7['NyTOl'],_0x23c319??_0x12820b,{..._0x274f79,'tunnelSessionId':_0x54cf8e[_0x521d5a(0x216)],'bridgeError':errorMessageForTelemetry(_0x23c319)});throw _0x433fe7['yIOJF'](_0x23c319,_0x12820b);}}catch(_0x5e6600){!_0x268765&&await _0x4bcd83[_0x521d5a(0x1fe)]?.[_0x521d5a(0x1b9)](_0x521d5a(0x1a5),_0x5e6600,{..._0x274f79,'tunnelSessionId':_0x54cf8e?.['sessionId']});throw _0x5e6600;}finally{(_0x433fe7[_0x521d5a(0x1cb)](_0x54cf8e,_0x482bb4)||_0x550a28)&&(_0x4bcd83['telemetry']?.['trackPhaseStart']('tunnel_login_cleanup',{..._0x274f79,'tunnelSessionId':_0x54cf8e?.[_0x521d5a(0x216)]}),_0x550a28?.['close'](),_0x482bb4&&await _0x482bb4['close']()['catch'](()=>{}),_0x54cf8e&&await _0x433fe7[_0x521d5a(0x1af)](deleteTunnelSession,_0x54cf8e['sessionId'])[_0x521d5a(0x1a2)](()=>{}),_0x4bcd83[_0x521d5a(0x1fe)]?.['trackPhaseEnd'](_0x433fe7['denSA'],{..._0x274f79,'tunnelSessionId':_0x54cf8e?.['sessionId']}));}}export async function manualBrowserLogin(_0x980c8a,_0x5363d6,_0x1ade7d={}){const _0x464533=_0x236664,_0x49abe0={'tVasL':function(_0x51c005){return _0x51c005();},'yzGia':_0x464533(0x22b),'CjNdD':_0x464533(0x19d),'gCmfA':'about:blank','sfnQv':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','SZnVA':_0x464533(0x1f5),'ffHRA':_0x464533(0x215),'kmrWs':function(_0x471460,_0x4e8293){return _0x471460!==_0x4e8293;},'mNYtx':function(_0x3414ca,_0x5eac09){return _0x3414ca(_0x5eac09);},'UlaUr':_0x464533(0x1c1)};if(!_0x49abe0['tVasL'](isInteractive))throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x980c8a[_0x464533(0x1e0)]+_0x464533(0x1be)+_0x49abe0[_0x464533(0x1ed)]+'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.');const _0x34192c=_0x5363d6&&_0x5363d6['domains'][_0x464533(0x20d)]>0x0?_0x5363d6['domains'][0x0]:_0x49abe0[_0x464533(0x223)];console[_0x464533(0x231)](_0x49abe0['sfnQv']),console['log'](_0x49abe0['SZnVA']),await new Promise(_0x37dcea=>setTimeout(_0x37dcea,0x7d0));const _0x1a3ede=await chromium['launch']({'headless':![]});let _0x1180b9=null;try{const _0x172dfd={'ignoreHTTPSErrors':!![]};_0x5363d6?.['setupHeaders']&&(_0x172dfd['extraHTTPHeaders']=_0x5363d6['setupHeaders']);const _0x2c3eda=await _0x1a3ede['newContext'](_0x172dfd);await addProfileSetupBanner(_0x2c3eda);const _0x46b898=await _0x2c3eda[_0x464533(0x1f3)]();await _0x46b898[_0x464533(0x1c7)](_0x34192c);let _0x52fdca=![];await new Promise(_0x3e3c07=>{const _0x3cc105=_0x464533,_0x565ea6=setTimeout(()=>{const _0x1d9eaf=_0x222d;_0x52fdca=!![],console['error'](_0x1d9eaf(0x1e1)+MANUAL_LOGIN_TIMEOUT_MS/0xea60+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x49abe0[_0x1d9eaf(0x1e9)](_0x3e3c07);},MANUAL_LOGIN_TIMEOUT_MS);_0x46b898['on'](_0x49abe0[_0x3cc105(0x1eb)],async()=>{clearTimeout(_0x565ea6);try{const _0x1c8dd8=await _0x2c3eda['storageState']();_0x1180b9=_0x1c8dd8;}catch{}_0x3e3c07();});});if(_0x52fdca&&!_0x1180b9)throw new Error(_0x464533(0x1ea));}finally{await _0x1a3ede['close']()['catch'](()=>{});}if(!_0x1180b9)throw new Error(_0x49abe0[_0x464533(0x1f6)]);return _0x49abe0['kmrWs'](_0x1ade7d['persistSessionState'],![])&&await apiRequest(_0x464533(0x1d4)+_0x49abe0[_0x464533(0x1ee)](encodeURIComponent,_0x980c8a[_0x464533(0x1e0)])+'/session',{'method':_0x464533(0x1c5),'body':JSON['stringify']({'session_state':_0x1180b9,'updated_by':_0x49abe0[_0x464533(0x1ff)]})}),{'sessionState':_0x1180b9};}export async function promptSaveCredentials(_0x33962b){const _0x55ad4e=_0x236664,_0x4b39ba={'foAXB':_0x55ad4e(0x224),'dcqTv':_0x55ad4e(0x19b),'BDaPX':function(_0x2055e1,_0x2431b0){return _0x2055e1(_0x2431b0);},'mtDXe':'PUT','XEUQS':_0x55ad4e(0x1e7)},_0x16d293=process[_0x55ad4e(0x213)]['RANGER_TEST_USERNAME'],_0x1fe6db=process[_0x55ad4e(0x213)]['RANGER_TEST_PASSWORD'];if(!_0x16d293||!_0x1fe6db)return;if(!isInteractive())return;const {save:_0x12b93d}=await _0x2278a3[_0x55ad4e(0x21b)]([{'type':_0x4b39ba[_0x55ad4e(0x1ca)],'name':_0x4b39ba[_0x55ad4e(0x22c)],'message':_0x55ad4e(0x1f9),'default':![]}]);if(!_0x12b93d)return;await apiRequest('/api/v1/profiles/'+_0x4b39ba['BDaPX'](encodeURIComponent,_0x33962b),{'method':_0x4b39ba['mtDXe'],'body':JSON['stringify']({'username':_0x16d293,'password':_0x1fe6db})}),console[_0x55ad4e(0x231)](_0x4b39ba['XEUQS']);}export async function resolveCloudProfileSession(_0x2ce6a,_0xf32924={}){const _0x38deac=_0x236664,_0x3f4be8={'QOKpP':function(_0x5ca37e){return _0x5ca37e();},'Oypno':function(_0x4bd7ed,_0x4d47c4){return _0x4bd7ed||_0x4d47c4;},'TAyDK':function(_0x53f424,_0x46f401){return _0x53f424(_0x46f401);},'WWSOk':function(_0x58f6fd,_0x80fe04){return _0x58f6fd(_0x80fe04);},'xBvQs':function(_0x4e21ee,_0x36458a){return _0x4e21ee>_0x36458a;},'bopfs':function(_0x26d7f1,_0x51ef14){return _0x26d7f1&&_0x51ef14;},'nqXcH':function(_0x1d1f17,_0x3124a0,_0x475dbc,_0x11791f,_0x9d994d,_0x2f58bd,_0x47f0a6,_0x14d3f5){return _0x1d1f17(_0x3124a0,_0x475dbc,_0x11791f,_0x9d994d,_0x2f58bd,_0x47f0a6,_0x14d3f5);},'wBpjM':function(_0x4c32be,_0x546420,_0x3c68ef,_0xc1d167,_0x6161bf){return _0x4c32be(_0x546420,_0x3c68ef,_0xc1d167,_0x6161bf);},'yKMQn':function(_0x2c5276,_0x2f3a65){return _0x2c5276(_0x2f3a65);},'bnVHl':function(_0x30ab3f,_0xeef8e9){return _0x30ab3f===_0xeef8e9;},'YfqHP':_0x38deac(0x220),'fDNdA':_0x38deac(0x1e8),'seeDZ':_0x38deac(0x1b0),'JSDSM':function(_0x41871c,_0x27d37e,_0x35a3cc,_0x3edaee,_0x22288b,_0x52ba15,_0x2475fd,_0x1d4c16){return _0x41871c(_0x27d37e,_0x35a3cc,_0x3edaee,_0x22288b,_0x52ba15,_0x2475fd,_0x1d4c16);},'fxtwq':function(_0x4d620c,_0x43916d){return _0x4d620c(_0x43916d);},'wdMyy':function(_0x430926,_0x5f0af9,_0x3b0fb2,_0x1a6219){return _0x430926(_0x5f0af9,_0x3b0fb2,_0x1a6219);},'QTiIO':function(_0x1c6e35,_0x37697f,_0x35a30d,_0x270a93,_0x5ec0d3,_0x497072,_0x566ff2,_0xa534df){return _0x1c6e35(_0x37697f,_0x35a30d,_0x270a93,_0x5ec0d3,_0x497072,_0x566ff2,_0xa534df);}},_0x5875b5=_0x2ce6a[_0x38deac(0x1ec)]??{},_0x2cda4b=await _0x3f4be8[_0x38deac(0x1f2)](fetchAuthConfig),_0x1412ef=_0x2cda4b?resolveAuthEnvironmentLocally(_0x2cda4b,_0x2ce6a[_0x38deac(0x1a8)]):null,_0x421b23=typeof _0x1412ef?.['loginInstructions']==='string'&&_0x1412ef['loginInstructions'][_0x38deac(0x1cc)]()?_0x1412ef['loginInstructions']:undefined,_0x11b801=typeof _0x5875b5[_0x38deac(0x239)]===_0x38deac(0x1e4)&&_0x5875b5[_0x38deac(0x239)]['trim']()?_0x5875b5[_0x38deac(0x239)]:undefined,_0x27fa33=_0x3f4be8['Oypno'](_0x11b801,!_0x421b23)?_0x5875b5:{..._0x5875b5,'loginInstructions':_0x421b23},_0x24ea57=_0x3f4be8[_0x38deac(0x1c6)](Boolean,_0x27fa33['loginInstructions']?.['trim']()),_0x3d4f4f=_0x3f4be8[_0x38deac(0x1df)](Boolean,_0x5875b5[_0x38deac(0x1f7)]||_0x1412ef?.['forceLogin']),_0x12fe8d=_0x1412ef?.[_0x38deac(0x23a)],_0x5e10b9=_0x5875b5['setupHeaders'],_0x181e45=_0x5e10b9??_0x1412ef?.['setupHeaders'],_0x96a4eb=_0xf32924[_0x38deac(0x1d7)]??_0x5875b5['baseUrl']??(_0x12fe8d&&_0x3f4be8[_0x38deac(0x225)](_0x12fe8d['length'],0x0)?_0x12fe8d[0x0]:''),_0x19f827=_0x96a4eb?needsTunnel(_0x96a4eb):![],_0x3ac559={'invalidateOn':_0x1412ef?.['invalidateOn'],'userAgent':_0x1412ef?.['browserOptions']?.[_0x38deac(0x22d)]??_0x5875b5[_0x38deac(0x22d)]};_0x3d4f4f&&console['log'](_0x38deac(0x21f)+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x212));if(!_0x3d4f4f){const _0x27d765=await checkLocalCache(_0x2ce6a['name'],_0x2ce6a['organizationId'],_0x96a4eb,_0x181e45,_0x3ac559);if(_0x27d765){if(_0x3f4be8['bopfs'](_0x96a4eb,!_0x19f827)){const _0x5f1daa=await isCachedSessionLive(_0x27d765['storageStatePath'],_0x96a4eb,{'sessionCheckPath':_0x1412ef?.['sessionCheckPath'],'setupHeaders':_0x181e45},{'launchBrowser':launchRealBrowser});if(_0x5f1daa)return console['log']('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x2ce6a['name']+'\x22'),{'authPath':_0x27d765[_0x38deac(0x1d2)],'settings':_0x27fa33,'resolvedEnv':_0x1412ef};console[_0x38deac(0x231)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x1c9)),emitSessionValidationHint(_0x96a4eb,_0x1412ef);}else return _0x19f827&&console['log'](_0x38deac(0x21e)+_0x2ce6a['name']+'\x22'),{'authPath':_0x27d765['storageStatePath'],'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}}if(!_0x3d4f4f&&_0x2ce6a[_0x38deac(0x1a9)]){if(_0x19f827)console[_0x38deac(0x231)](_0x38deac(0x203)+_0x96a4eb+'\x22\x20on\x20profile\x20\x22'+_0x2ce6a[_0x38deac(0x1e0)]+'\x22');else{const _0x1edbf9=await _0x3f4be8['nqXcH'](writeSessionToLocalCache,_0x2ce6a['name'],_0x2ce6a['organizationId'],_0x96a4eb,_0x181e45,_0x2ce6a[_0x38deac(0x1a9)],_0x12fe8d,_0x3ac559);if(_0x96a4eb){const _0x538ed8=await _0x3f4be8['wBpjM'](isCachedSessionLive,_0x1edbf9,_0x96a4eb,{'sessionCheckPath':_0x1412ef?.['sessionCheckPath'],'setupHeaders':_0x181e45},{'launchBrowser':launchRealBrowser});if(_0x538ed8)return console[_0x38deac(0x231)](_0x38deac(0x1fa)+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x214)),{'authPath':_0x1edbf9,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};console['log'](_0x38deac(0x207)+_0x2ce6a['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x96a4eb,_0x1412ef);}else return{'authPath':_0x1edbf9,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}}if(_0x24ea57)return console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x2ce6a[_0x38deac(0x1e0)]+_0x38deac(0x20a)),{'authPath':undefined,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};console[_0x38deac(0x231)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x2ce6a['name']+'\x22,\x20attempting\x20login...');const _0x20b2f1=_0x3f4be8[_0x38deac(0x1ce)](Boolean,process[_0x38deac(0x213)][_0x38deac(0x1c8)])&&Boolean(process['env']['RANGER_TEST_PASSWORD']),_0x71d3b7=Boolean(_0x2ce6a[_0x38deac(0x1b1)]);if(_0x20b2f1||_0x71d3b7)try{const _0x25b24d=_0x96a4eb?await serverSideLoginWithOptionalTunnel(_0x2ce6a[_0x38deac(0x1e0)],_0x96a4eb,{'force':_0x3d4f4f,'telemetry':_0xf32924['telemetry']}):await serverSideLogin(_0x2ce6a['name'],{'force':_0x3d4f4f});if(_0x3f4be8[_0x38deac(0x1dc)](_0x25b24d[_0x38deac(0x1e5)],_0x3f4be8[_0x38deac(0x211)]))console[_0x38deac(0x231)]('\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...');else{if(_0x25b24d['status']===_0x3f4be8['fDNdA']&&_0x25b24d[_0x38deac(0x1d8)]){console['log'](_0x3f4be8[_0x38deac(0x236)]);const _0xfff765=await _0x3f4be8['JSDSM'](writeSessionToLocalCache,_0x2ce6a[_0x38deac(0x1e0)],_0x2ce6a[_0x38deac(0x200)],_0x96a4eb,_0x181e45,_0x25b24d[_0x38deac(0x1d8)],_0x12fe8d,_0x3ac559);return _0x3f4be8['bopfs'](_0x20b2f1,!_0x71d3b7)&&await _0x3f4be8['fxtwq'](promptSaveCredentials,_0x2ce6a['name']),{'authPath':_0xfff765,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}else _0x25b24d['test_output']&&(console['log']('\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:'),console[_0x38deac(0x231)](_0x25b24d['test_output'])),console[_0x38deac(0x231)](_0x38deac(0x221));}}catch(_0x54883d){console['log'](_0x38deac(0x1aa)+(_0x54883d instanceof Error?_0x54883d[_0x38deac(0x1a7)]:String(_0x54883d))),console[_0x38deac(0x231)](_0x38deac(0x221));}const _0x916d26=_0x1412ef?{..._0x1412ef,'setupHeaders':_0x181e45}:_0x96a4eb?{'key':_0x2ce6a[_0x38deac(0x1a8)]??'','domains':[_0x96a4eb],'setupHeaders':_0x181e45}:null,{sessionState:_0x29b074}=await _0x3f4be8['wdMyy'](manualBrowserLogin,_0x2ce6a,_0x916d26,{'persistSessionState':!_0x19f827}),_0xd4645d=await _0x3f4be8['QTiIO'](writeSessionToLocalCache,_0x2ce6a['name'],_0x2ce6a[_0x38deac(0x200)],_0x96a4eb,_0x181e45,_0x29b074,_0x12fe8d,_0x3ac559);return{'authPath':_0xd4645d,'settings':_0x27fa33,'resolvedEnv':_0x1412ef};}
|
|
1
|
+
const _0x184572=_0x4cf0;(function(_0x4ab5d1,_0x5a7055){const _0x3c31b7=_0x4cf0,_0x49a013=_0x4ab5d1();while(!![]){try{const _0x17475f=-parseInt(_0x3c31b7(0x253))/0x1*(-parseInt(_0x3c31b7(0x24e))/0x2)+-parseInt(_0x3c31b7(0x203))/0x3+parseInt(_0x3c31b7(0x273))/0x4*(parseInt(_0x3c31b7(0x265))/0x5)+parseInt(_0x3c31b7(0x1e3))/0x6*(-parseInt(_0x3c31b7(0x21f))/0x7)+parseInt(_0x3c31b7(0x1f8))/0x8+-parseInt(_0x3c31b7(0x22f))/0x9+parseInt(_0x3c31b7(0x27b))/0xa;if(_0x17475f===_0x5a7055)break;else _0x49a013['push'](_0x49a013['shift']());}catch(_0x2f2af1){_0x49a013['push'](_0x49a013['shift']());}}}(_0x2911,0x41d30));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';function _0x2911(){const _0x444831=['aIYTW','EnDwU','tunnel_session_id','GsQxl','environmentKey','fPFbs','/api/v1/profiles','agent','XCfdM','VofsB','wsEndpoint','nooqj','not_configured','host','YmYUi','2282144mDfuLR','upmVj','\x20\x20forceLogin\x20enabled\x20for\x20\x22','\x22\x20failed\x20validation\x20—\x20refreshing...','setupHeaders','JALmf','cwhpo','json','status','WMJjh','xDmVZ','1090851nAokft','Cloud\x20profile\x20\x22','trackPhaseStart','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','browserOptions','password','close','PUT','tunnel_bridge_event','GumKD','some','launch','profiles','username','storageStatePath','\x20failed\x20(','DIxCv','RANGER_TEST_PASSWORD','tunnel_login_setup','map','trim','):\x20','POST','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','AxJrt','log','error','headers','21hArvFp','VHHSl','lvhoe','vqKGW','invalid-url','No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22','RANGER_TEST_USERNAME','eVRwr','\x20\x20Cloud\x20session\x20for\x20\x22','/api/v1/tunnel/sessions','invalidateOn','storageState','stringify','WEznm','\x20\x20No\x20live\x20session\x20for\x20\x22','test_output','4741164rbhzqD','QFJiu','confirm','Browser\x20login\x20timed\x20out\x20after\x20','dQSHX','pPxZh','split','Bearer\x20','zuVXS','message','save','\x22;\x20proceeding\x20with\x20loginInstructions.','Browser\x20login\x20timed\x20out\x20before\x20completion.','uQUNL','kqlhl',').\x20','NphHD','then','sessionId','Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20','MLnda','fmtWV','MMUlt','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','auth','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','ZECEP','targetUrl','extraHTTPHeaders','join','sessionState','34hhgQnZ','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','ziSAZ','you\x27re\x20now\x20at\x20\x22','IqEqE','12585bBNcol','code','vUSPj','env','pendingLocalConnections','loginInstructions','\x22\x20not\x20found.','\x22\x20on\x20profile\x20\x22','settings','tGNEd','origin','parse','type','newPage','\x22\x20failed\x20validation\x20—\x20re-login\x20needed...','cookies','TXAXx','\x22,\x20refreshing\x20session...','1280225qSTAEc','/api/v1/profiles/','userAgent','telemetry','string','pwEndpoint','activeLocalConnections','force','\x20\x20Cached\x20session\x20for\x20\x22','tunnel_login_request','uqYlq','GLsYf','keys','QheIp','4wYrVFv','forceLogin','baseUrl','name','XOhAe','pw_endpoint','length','trackPhaseEnd','6167930LXTuDq','domains','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','/session','organizationId','newContext','tunnel_login_cleanup','bypMb','utf-8','tunnel','catch','aeibO','kTWnS','jAsnj','OiJhf','424044WBYkPJ','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','\x22,\x20cached\x20locally','persistSessionState','OvVCC','trackPhaseError'];_0x2911=function(){return _0x444831;};return _0x2911();}import _0x4e7ffc from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x10020f){const _0x4bf5a4=_0x4cf0;try{return new URL(_0x10020f)[_0x4bf5a4(0x1f6)];}catch{return _0x4bf5a4(0x223);}}function _0x4cf0(_0x35c324,_0x4706fb){_0x35c324=_0x35c324-0x1dc;const _0x29112b=_0x2911();let _0x4cf093=_0x29112b[_0x35c324];return _0x4cf093;}function errorMessageForTelemetry(_0x53d88a){const _0x568b82={'AugqC':function(_0x1d886e,_0x152abd){return _0x1d886e instanceof _0x152abd;}};return _0x568b82['AugqC'](_0x53d88a,Error)?_0x53d88a['message']:undefined;}function trackBridgeEvent(_0x558cdd,_0x44d57e){const _0x546450=_0x4cf0,_0x571793={'sJHSZ':_0x546450(0x20b),'HzXqk':'tunnel_error'};if(!_0x558cdd)return;const _0x41ec57={'tunnelSessionId':_0x44d57e['sessionId'],'tunnelEventType':_0x44d57e[_0x546450(0x25f)],'connectionId':_0x44d57e['connectionId'],'code':_0x44d57e[_0x546450(0x254)],'reason':_0x44d57e['reason'],'error':_0x44d57e['error'],'elapsedMs':_0x44d57e['elapsedMs'],'activeLocalConnections':_0x44d57e[_0x546450(0x26b)],'pendingLocalConnections':_0x44d57e[_0x546450(0x257)]};_0x558cdd[_0x546450(0x27a)](_0x571793['sJHSZ'],_0x41ec57),(_0x44d57e['type']===_0x571793['HzXqk']||_0x44d57e['type']==='local_ws_error')&&void _0x558cdd[_0x546450(0x1e8)]('tunnel_bridge',new Error(_0x44d57e['error']??_0x44d57e[_0x546450(0x25f)]),_0x41ec57);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x356d6f={'TyZMw':function(_0x2aa18c){return _0x2aa18c();}},_0xe4b917=await _0x356d6f['TyZMw'](getToken);if(!_0xe4b917)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0xe4b917;}async function apiRequest(_0x328aeb,_0x4aea38={}){const _0x14622a=_0x4cf0,_0x5a4484={'fmtWV':function(_0xb6558d,_0x5a089a,_0x5a0b58){return _0xb6558d(_0x5a089a,_0x5a0b58);},'bypMb':'application/json','ovKwz':function(_0x5390b5,_0x4144fc){return _0x5390b5===_0x4144fc;},'EjJCR':_0x14622a(0x269)},_0x729535=await requireToken(),_0x16a6e6=getApiBaseUrl(),_0x6b2e3=await _0x5a4484[_0x14622a(0x244)](fetch,''+_0x16a6e6+_0x328aeb,{..._0x4aea38,'headers':{'Authorization':_0x14622a(0x236)+_0x729535,'Content-Type':_0x5a4484[_0x14622a(0x282)],..._0x4aea38[_0x14622a(0x21e)]??{}}});if(!_0x6b2e3['ok']){let _0x29f75f='',_0x35640f;try{const _0x308550=await _0x6b2e3[_0x14622a(0x1ff)]();_0x29f75f=(_0x5a4484['ovKwz'](typeof _0x308550['error'],_0x14622a(0x269))?_0x308550[_0x14622a(0x21d)]:undefined)??JSON['stringify'](_0x308550);if(_0x5a4484['ovKwz'](typeof _0x308550[_0x14622a(0x254)],_0x5a4484['EjJCR']))_0x35640f=_0x308550['code'];}catch{_0x29f75f=_0x6b2e3['statusText'];}throw new ApiError('API\x20request\x20'+_0x328aeb+_0x14622a(0x212)+_0x6b2e3[_0x14622a(0x200)]+_0x14622a(0x218)+_0x29f75f,_0x6b2e3[_0x14622a(0x200)],_0x29f75f,_0x35640f);}if(_0x6b2e3[_0x14622a(0x200)]===0xcc)return undefined;return _0x6b2e3[_0x14622a(0x1ff)]();}export class ApiError extends Error{[_0x184572(0x200)];['detail'];['code'];constructor(_0x23374b,_0x1839e6,_0x405e62,_0x199314){const _0x2f7ba6=_0x184572,_0x569763={'zvame':'0|1|3|2|4','QqOnK':'ApiError'},_0x372156=_0x569763['zvame'][_0x2f7ba6(0x235)]('|');let _0x268002=0x0;while(!![]){switch(_0x372156[_0x268002++]){case'0':super(_0x23374b);continue;case'1':this[_0x2f7ba6(0x200)]=_0x1839e6;continue;case'2':this[_0x2f7ba6(0x254)]=_0x199314;continue;case'3':this['detail']=_0x405e62;continue;case'4':this['name']=_0x569763['QqOnK'];continue;}break;}}}export async function fetchCloudProfile(_0x177840){const _0x2cb38d=_0x184572,_0x2355cb={'xDmVZ':function(_0x4db74b,_0x3b7b52){return _0x4db74b(_0x3b7b52);},'fZwGk':function(_0x322b98,_0x1930ea){return _0x322b98===_0x1930ea;}};try{return await apiRequest(_0x2cb38d(0x266)+_0x2355cb[_0x2cb38d(0x202)](encodeURIComponent,_0x177840));}catch(_0x1c5494){if(_0x1c5494 instanceof ApiError&&_0x2355cb['fZwGk'](_0x1c5494['status'],0x194))return null;throw _0x1c5494;}}export async function listCloudProfiles(){const _0x1fa798=_0x184572,_0x513bf8=await apiRequest('/api/v1/profiles');return _0x513bf8[_0x1fa798(0x20f)];}export async function deleteCloudProfile(_0x40f240){const _0x4c8c25=_0x184572,_0x41fbf7={'EnDwU':function(_0x251031,_0x3de119,_0x943ce6){return _0x251031(_0x3de119,_0x943ce6);},'TXAXx':function(_0x48b25d,_0x396cd8){return _0x48b25d(_0x396cd8);},'xhpvD':function(_0x211bc3,_0x27d8af){return _0x211bc3 instanceof _0x27d8af;},'fPFbs':function(_0x8a7451,_0x55f50e){return _0x8a7451===_0x55f50e;}};try{await _0x41fbf7[_0x4c8c25(0x1ea)](apiRequest,_0x4c8c25(0x266)+_0x41fbf7[_0x4c8c25(0x263)](encodeURIComponent,_0x40f240),{'method':'DELETE'});}catch(_0x2d037a){if(_0x41fbf7['xhpvD'](_0x2d037a,ApiError)&&_0x41fbf7[_0x4c8c25(0x1ee)](_0x2d037a['status'],0x194))throw new Error(_0x4c8c25(0x204)+_0x40f240+_0x4c8c25(0x259));throw _0x2d037a;}}export async function createCloudProfile(_0x3b25a6,_0x5cc87d,_0x51bf46={}){const _0x2fd2d6=_0x184572,_0xbe2650={'eVRwr':_0x2fd2d6(0x1ef),'QzYUd':'POST'},_0x25399b={'name':_0x3b25a6};if(_0x5cc87d)_0x25399b['environment_key']=_0x5cc87d;_0x51bf46[_0x2fd2d6(0x25b)]&&Object[_0x2fd2d6(0x271)](_0x51bf46[_0x2fd2d6(0x25b)])[_0x2fd2d6(0x279)]>0x0&&(_0x25399b['settings']=_0x51bf46[_0x2fd2d6(0x25b)]);if(_0x51bf46[_0x2fd2d6(0x210)])_0x25399b['username']=_0x51bf46[_0x2fd2d6(0x210)];if(_0x51bf46[_0x2fd2d6(0x208)])_0x25399b[_0x2fd2d6(0x208)]=_0x51bf46[_0x2fd2d6(0x208)];return await apiRequest(_0xbe2650[_0x2fd2d6(0x226)],{'method':_0xbe2650['QzYUd'],'body':JSON[_0x2fd2d6(0x22b)](_0x25399b)});}export async function uploadCloudProfileSession(_0x2ea8f1,_0x25c583){const _0x1e6a31=_0x184572,_0x1ad1d6={'DtwqD':function(_0x123e51,_0x3b9707,_0x3a9c6e){return _0x123e51(_0x3b9707,_0x3a9c6e);}};return await _0x1ad1d6['DtwqD'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x2ea8f1)+_0x1e6a31(0x27e),{'method':'POST','body':JSON[_0x1e6a31(0x22b)]({'session_state':_0x25c583})});}export async function saveCloudProfileCredentials(_0x28bb50,_0x550c25,_0x7acf38){const _0x5dac92=_0x184572,_0x5705a9={'wXysQ':function(_0x3d64bf,_0x1cdd18,_0x2eeb35){return _0x3d64bf(_0x1cdd18,_0x2eeb35);},'ziSAZ':function(_0x4153e6,_0x2d4711){return _0x4153e6(_0x2d4711);},'npsaQ':_0x5dac92(0x20a)};await _0x5705a9['wXysQ'](apiRequest,'/api/v1/profiles/'+_0x5705a9[_0x5dac92(0x250)](encodeURIComponent,_0x28bb50),{'method':_0x5705a9['npsaQ'],'body':JSON[_0x5dac92(0x22b)]({'username':_0x550c25,'password':_0x7acf38})});}export async function fetchAuthConfig(){const _0x5b2c68=_0x184572,_0x385b5c={'AWWtL':function(_0x57c2b5,_0x73c3f1){return _0x57c2b5(_0x73c3f1);}};try{const _0x2ecfd1=await _0x385b5c['AWWtL'](apiRequest,'/api/v1/profiles/auth-config');return _0x2ecfd1['auth_config'];}catch(_0x1bca34){return _0x1bca34 instanceof ApiError&&_0x1bca34['status']!==0x194&&console['error'](_0x5b2c68(0x21a)+_0x1bca34[_0x5b2c68(0x238)]),null;}}async function createTunnelSession(_0x19dc30){const _0x2510a3=_0x184572,_0x1f946f={'XsMIM':function(_0x59d51d,_0x1a6d82,_0xb8b51a){return _0x59d51d(_0x1a6d82,_0xb8b51a);},'YawRi':_0x2510a3(0x228)};return await _0x1f946f['XsMIM'](apiRequest,_0x1f946f['YawRi'],{'method':_0x2510a3(0x219),'body':JSON[_0x2510a3(0x22b)]({'targetUrl':_0x19dc30,'mode':_0x2510a3(0x1f0)})});}async function deleteTunnelSession(_0x789413){const _0x32c3c9=_0x184572,_0x598e17={'YmYUi':function(_0xb74327,_0x43c5ac,_0x3cbd36){return _0xb74327(_0x43c5ac,_0x3cbd36);},'QheIp':'DELETE'};await _0x598e17[_0x32c3c9(0x1f7)](apiRequest,'/api/v1/tunnel/sessions/'+_0x789413,{'method':_0x598e17[_0x32c3c9(0x272)]});}export function pickAdHocEnvKey(_0x5cd0f7){const _0x161c72=_0x184572,_0x24edcc={'blAiZ':function(_0x5c4d81,_0xfb6a02){return _0x5c4d81===_0xfb6a02;},'AxJrt':function(_0xacf9c,_0x3bc7a2){return _0xacf9c+_0x3bc7a2;}};if(!_0x5cd0f7)return null;if(_0x5cd0f7['defaultEnvironmentKey'])return _0x5cd0f7['defaultEnvironmentKey'];const _0x507057=Object[_0x161c72(0x271)](_0x5cd0f7['environments']??{});if(_0x24edcc['blAiZ'](_0x507057['length'],0x1))return _0x507057[0x0];if(_0x507057['length']===0x0)return null;throw new Error(_0x24edcc[_0x161c72(0x21b)]('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x507057[_0x161c72(0x24c)](',\x20')+_0x161c72(0x23e),'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(_0xea6e79=process['env']){const _0x4a3de3=_0x184572,_0x14c596={'uVocd':function(_0x4322d5,_0x363e07){return _0x4322d5(_0x363e07);},'tvuPJ':function(_0x1444d4){return _0x1444d4();},'OiJhf':function(_0x21c9d1,_0x36a53f,_0x55c7c2,_0x189565){return _0x21c9d1(_0x36a53f,_0x55c7c2,_0x189565);}},_0xca43c0=_0xea6e79[_0x4a3de3(0x225)];if(!_0xca43c0)return null;const _0x2cb927=await _0x14c596['uVocd'](fetchCloudProfile,_0xca43c0);if(_0x2cb927)return{'name':_0x2cb927[_0x4a3de3(0x276)],'profile':_0x2cb927};const _0x2deb0e=await _0x14c596['tvuPJ'](fetchAuthConfig),_0x2db4af=pickAdHocEnvKey(_0x2deb0e),_0x4a7089=_0xea6e79[_0x4a3de3(0x214)],_0x470c6e=await _0x14c596[_0x4a3de3(0x1e2)](createCloudProfile,_0xca43c0,_0x2db4af??undefined,{'username':_0xca43c0,'password':_0x4a7089});return console['log']('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x470c6e[_0x4a3de3(0x276)]+'\x22\x20for\x20'+_0xca43c0),{'name':_0x470c6e['name'],'profile':_0x470c6e};}export async function writeSessionToLocalCache(_0x58c2d5,_0x7a27e8,_0x203828,_0x6bfa8e,_0x549fae,_0x2975d9,_0x5a2689){const _0x2a301b=_0x184572,_0x1a25a0={'AxbIn':function(_0x3d96d9,_0x475fe6){return _0x3d96d9(_0x475fe6);},'OvVCC':function(_0x3612c5,_0x13ca0f,_0x4087ca){return _0x3612c5(_0x13ca0f,_0x4087ca);},'xtLDn':function(_0x5c3634,_0x9d0300,_0x389057){return _0x5c3634(_0x9d0300,_0x389057);},'GLsYf':function(_0xe2041d,_0x148baf,_0x4949db){return _0xe2041d(_0x148baf,_0x4949db);}},_0x3d281d=_0x1a25a0['AxbIn'](sessionCacheHash,{'orgId':_0x7a27e8,'profileName':_0x58c2d5,'effectiveBaseUrl':_0x203828,'setupHeaders':_0x6bfa8e,'invalidateOn':_0x5a2689?.['invalidateOn'],'userAgent':_0x5a2689?.['userAgent'],'clientIp':_0x5a2689?.['clientIp']}),_0x5e4c7d=_0x1a25a0[_0x2a301b(0x1e7)](getSessionCachePath,_0x3d281d,_0x58c2d5),_0x4fa36e=join(getRangerHomeDir(),_0x2a301b(0x247));!existsSync(_0x4fa36e)&&await _0x1a25a0[_0x2a301b(0x1e7)](mkdir,_0x4fa36e,{'recursive':!![]});const _0x2a8c7e={..._0x549fae};_0x2975d9&&_0x2975d9[_0x2a301b(0x279)]>0x0&&Array['isArray'](_0x2a8c7e[_0x2a301b(0x262)])&&(_0x2a8c7e['cookies']=_0x1a25a0['xtLDn'](duplicateCookiesForDomains,_0x2a8c7e[_0x2a301b(0x262)],_0x2975d9));const _0xe4cc54={'cached_at':new Date()['toISOString'](),'session_state':_0x2a8c7e};await _0x1a25a0[_0x2a301b(0x270)](writeFile,_0x5e4c7d,JSON[_0x2a301b(0x22b)](_0xe4cc54,null,0x2));const _0x50c85a=getStorageStatePath(_0x5e4c7d);return await writeFile(_0x50c85a,JSON[_0x2a301b(0x22b)](_0x2a8c7e,null,0x2)),_0x50c85a;}export async function checkLocalCache(_0x21eccb,_0x1c020c,_0x2d4854,_0x22a2b6,_0xface6a){const _0x35ef35=_0x184572,_0x3e4c17={'zuVXS':function(_0x11b0a9,_0x5d13e2){return _0x11b0a9(_0x5d13e2);},'aIYTW':function(_0x2539de,_0x434268,_0x496248){return _0x2539de(_0x434268,_0x496248);},'MMUlt':function(_0x35592e,_0x52057b,_0xa04d96){return _0x35592e(_0x52057b,_0xa04d96);},'WGrZB':_0x35ef35(0x1dc)},_0x1741f5=_0x3e4c17[_0x35ef35(0x237)](sessionCacheHash,{'orgId':_0x1c020c,'profileName':_0x21eccb,'effectiveBaseUrl':_0x2d4854,'setupHeaders':_0x22a2b6,'invalidateOn':_0xface6a?.['invalidateOn'],'userAgent':_0xface6a?.[_0x35ef35(0x267)],'clientIp':_0xface6a?.['clientIp']}),_0x5f5396=_0x3e4c17[_0x35ef35(0x1e9)](getSessionCachePath,_0x1741f5,_0x21eccb),_0x29e538=_0x3e4c17['zuVXS'](getStorageStatePath,_0x5f5396);if(!existsSync(_0x5f5396)||!_0x3e4c17['zuVXS'](existsSync,_0x29e538))return null;try{const _0x2e0d7c=await _0x3e4c17[_0x35ef35(0x245)](readFile,_0x5f5396,_0x3e4c17['WGrZB']);return JSON[_0x35ef35(0x25e)](_0x2e0d7c),{'storageStatePath':_0x29e538};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x1e1c3f,_0x258144){const _0x1287ae=_0x184572,_0x565ecf={'GumKD':function(_0x2f7635,_0x29a152){return _0x2f7635===_0x29a152;},'cdPWZ':function(_0x1d59d9,_0x46be8b){return _0x1d59d9+_0x46be8b;}};if(!_0x258144||!_0x258144['domains']?.['length'])return;let _0x485dc3;try{_0x485dc3=new URL(_0x1e1c3f);}catch{return;}const _0x46449d=[];for(const _0x3db1df of _0x258144['domains']){try{_0x46449d['push']({'raw':_0x3db1df,'url':new URL(_0x3db1df)});}catch{}}if(_0x565ecf[_0x1287ae(0x20c)](_0x46449d['length'],0x0))return;if(_0x46449d[_0x1287ae(0x20d)](_0x42ad7f=>_0x42ad7f['url']['origin']===_0x485dc3[_0x1287ae(0x25d)]))return;const _0xfaedd0=_0x46449d[_0x1287ae(0x216)](_0x992e29=>'\x22'+_0x992e29['raw']+'\x22')['join'](',\x20');console['log'](_0x565ecf['cdPWZ']('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0xfaedd0+';\x20'+(_0x1287ae(0x251)+_0x1e1c3f+_0x1287ae(0x1e4)),'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.'));}export async function serverSideLogin(_0x373bde,_0x780bb1){const _0x16e93c=_0x184572,_0x5331ba={'kqlhl':function(_0x5c4b69,_0x2c8ab8){return _0x5c4b69(_0x2c8ab8);},'NphHD':function(_0x2a93df,_0x3f05e2){return _0x2a93df===_0x3f05e2;},'iFalo':'not_configured'},_0x2f578c=process['env']['RANGER_TEST_USERNAME'],_0x3e5bfc=process['env']['RANGER_TEST_PASSWORD'],_0x234b24={};if(_0x2f578c)_0x234b24['username']=_0x2f578c;if(_0x3e5bfc)_0x234b24[_0x16e93c(0x208)]=_0x3e5bfc;if(_0x780bb1?.[_0x16e93c(0x26c)])_0x234b24['force']=!![];if(_0x780bb1?.[_0x16e93c(0x24a)])_0x234b24['target_url']=_0x780bb1[_0x16e93c(0x24a)];_0x780bb1?.['tunnel']&&(_0x234b24[_0x16e93c(0x1eb)]=_0x780bb1[_0x16e93c(0x1dd)][_0x16e93c(0x241)],_0x234b24[_0x16e93c(0x278)]=_0x780bb1['tunnel'][_0x16e93c(0x26a)]);try{return await apiRequest(_0x16e93c(0x266)+_0x5331ba[_0x16e93c(0x23d)](encodeURIComponent,_0x373bde)+'/login',{'method':'POST','body':JSON[_0x16e93c(0x22b)](_0x234b24)});}catch(_0x305ee2){if(_0x305ee2 instanceof ApiError&&_0x5331ba[_0x16e93c(0x23f)](_0x305ee2[_0x16e93c(0x200)],0x190)&&_0x305ee2[_0x16e93c(0x254)]===_0x5331ba['iFalo'])return{'status':_0x16e93c(0x1f5),'error':_0x305ee2['detail']};throw _0x305ee2;}}async function serverSideLoginWithOptionalTunnel(_0x20dc38,_0x3e4e16,_0x25d862={}){const _0x2aa7d7=_0x184572,_0x3f3335={'QFJiu':_0x2aa7d7(0x26e),'ydIgn':function(_0x1faf0a,_0x8e3933){return _0x1faf0a(_0x8e3933);},'lvhoe':function(_0x34d396,_0x4fed3f){return _0x34d396(_0x4fed3f);},'JALmf':function(_0x88fa5,_0x2fed19){return _0x88fa5(_0x2fed19);},'uiwhx':function(_0x3dde8e,_0xe7b830,_0x58f23e){return _0x3dde8e(_0xe7b830,_0x58f23e);},'ZECEP':function(_0x2285e2,_0x1ee221){return _0x2285e2??_0x1ee221;},'IqEqE':_0x2aa7d7(0x215),'zJKwR':function(_0x5f5146,_0xc83c27){return _0x5f5146||_0xc83c27;},'ArAlq':'3|1|0|4|2'};if(!_0x3f3335['ydIgn'](needsTunnel,_0x3e4e16))return await serverSideLogin(_0x20dc38,{'force':_0x25d862[_0x2aa7d7(0x26c)]});let _0x503dc1=null,_0x1e31b5=null,_0x42947b=null,_0x51e926=null,_0x4f0a33=![];const _0x1c4a65={'profileName':_0x20dc38,'targetUrlHost':targetHostForTelemetry(_0x3e4e16),'tunnelRequired':!![],'forceLogin':Boolean(_0x25d862[_0x2aa7d7(0x26c)])};try{_0x25d862[_0x2aa7d7(0x268)]?.[_0x2aa7d7(0x205)]('tunnel_login_setup',_0x1c4a65),_0x503dc1=await _0x3f3335[_0x2aa7d7(0x221)](launchBrowserServer,{'headless':!![]}),_0x1e31b5=await _0x3f3335[_0x2aa7d7(0x1fd)](createTunnelSession,_0x3e4e16);const _0x50d6e1=await requireToken();_0x42947b=await _0x3f3335['lvhoe'](createTunnelBridge,{'localWsUrl':_0x503dc1[_0x2aa7d7(0x1f3)],'tunnelServerUrl':_0x1e31b5['tunnelUrl'],'sessionId':_0x1e31b5['sessionId'],'apiKey':_0x50d6e1,'onError':_0x23b084=>{_0x51e926=_0x23b084;},'onClose':()=>{const _0x151dfa=_0x2aa7d7;_0x51e926??=new Error(_0x151dfa(0x242)+_0x20dc38);},'onEvent':_0x2592e4=>trackBridgeEvent(_0x25d862['telemetry'],_0x2592e4)}),_0x25d862[_0x2aa7d7(0x268)]?.['trackPhaseEnd'](_0x2aa7d7(0x215),{..._0x1c4a65,'tunnelSessionId':_0x1e31b5['sessionId'],'localBrowserServer':!![]}),_0x4f0a33=!![];try{return _0x25d862[_0x2aa7d7(0x268)]?.['trackPhaseStart'](_0x3f3335[_0x2aa7d7(0x230)],{..._0x1c4a65,'tunnelSessionId':_0x1e31b5['sessionId']}),await _0x3f3335['uiwhx'](serverSideLogin,_0x20dc38,{'force':_0x25d862[_0x2aa7d7(0x26c)],'targetUrl':_0x3e4e16,'tunnel':{'sessionId':_0x1e31b5['sessionId'],'pwEndpoint':_0x1e31b5[_0x2aa7d7(0x26a)]}})[_0x2aa7d7(0x240)](_0x2800c1=>{const _0x1cb40d=_0x2aa7d7;return _0x25d862['telemetry']?.[_0x1cb40d(0x27a)](_0x3f3335[_0x1cb40d(0x230)],{..._0x1c4a65,'tunnelSessionId':_0x1e31b5?.[_0x1cb40d(0x241)],'loginStatus':_0x2800c1['status'],'hasSessionState':Boolean(_0x2800c1['session_state']),'hasTestOutput':Boolean(_0x2800c1['test_output']),'bridgeError':errorMessageForTelemetry(_0x51e926)}),_0x2800c1;});}catch(_0x4d10b4){await _0x25d862['telemetry']?.[_0x2aa7d7(0x1e8)]('tunnel_login_request',_0x51e926??_0x4d10b4,{..._0x1c4a65,'tunnelSessionId':_0x1e31b5[_0x2aa7d7(0x241)],'bridgeError':errorMessageForTelemetry(_0x51e926)});throw _0x3f3335[_0x2aa7d7(0x249)](_0x51e926,_0x4d10b4);}}catch(_0x1f18be){!_0x4f0a33&&await _0x25d862['telemetry']?.['trackPhaseError'](_0x3f3335[_0x2aa7d7(0x252)],_0x1f18be,{..._0x1c4a65,'tunnelSessionId':_0x1e31b5?.[_0x2aa7d7(0x241)]});throw _0x1f18be;}finally{if(_0x3f3335['zJKwR'](_0x1e31b5,_0x503dc1)||_0x42947b){const _0x593045=_0x3f3335['ArAlq']['split']('|');let _0x3efc96=0x0;while(!![]){switch(_0x593045[_0x3efc96++]){case'0':_0x503dc1&&await _0x503dc1[_0x2aa7d7(0x209)]()[_0x2aa7d7(0x1de)](()=>{});continue;case'1':_0x42947b?.[_0x2aa7d7(0x209)]();continue;case'2':_0x25d862['telemetry']?.[_0x2aa7d7(0x27a)](_0x2aa7d7(0x281),{..._0x1c4a65,'tunnelSessionId':_0x1e31b5?.[_0x2aa7d7(0x241)]});continue;case'3':_0x25d862['telemetry']?.[_0x2aa7d7(0x205)]('tunnel_login_cleanup',{..._0x1c4a65,'tunnelSessionId':_0x1e31b5?.['sessionId']});continue;case'4':_0x1e31b5&&await deleteTunnelSession(_0x1e31b5[_0x2aa7d7(0x241)])[_0x2aa7d7(0x1de)](()=>{});continue;}break;}}}}export async function manualBrowserLogin(_0x17a0f4,_0xe7f444,_0x13edd8={}){const _0x2310aa=_0x184572,_0x1fd2cc={'uqYlq':function(_0x3d46f9,_0x3d0a85){return _0x3d46f9/_0x3d0a85;},'tGNEd':function(_0x2d9e9c,_0x27c34b){return _0x2d9e9c(_0x27c34b);},'dHCuO':function(_0x3ab88a,_0x9af3c4,_0x511c2e){return _0x3ab88a(_0x9af3c4,_0x511c2e);},'nooqj':_0x2310aa(0x209),'jAsnj':function(_0x5e625a){return _0x5e625a();},'XCfdM':function(_0x51559c,_0x1ab37b){return _0x51559c+_0x1ab37b;},'Dqazz':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','pPxZh':function(_0x25a471,_0x3a04ef){return _0x25a471>_0x3a04ef;},'koUSH':_0x2310aa(0x246),'uQUNL':function(_0x4d5443,_0x55c337){return _0x4d5443&&_0x55c337;},'dQSHX':_0x2310aa(0x23b),'vqKGW':function(_0x468c99,_0x478e1b){return _0x468c99!==_0x478e1b;},'MLnda':function(_0xfede26,_0x544303,_0x408562){return _0xfede26(_0x544303,_0x408562);},'cwhpo':'POST'};if(!_0x1fd2cc[_0x2310aa(0x1e1)](isInteractive))throw new Error(_0x1fd2cc[_0x2310aa(0x1f1)](_0x2310aa(0x224)+_0x17a0f4['name']+'\x22.\x0a',_0x1fd2cc['Dqazz'])+'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.');const _0x3fa24a=_0xe7f444&&_0x1fd2cc[_0x2310aa(0x234)](_0xe7f444['domains']['length'],0x0)?_0xe7f444[_0x2310aa(0x27c)][0x0]:'about:blank';console['log'](_0x1fd2cc['koUSH']),console[_0x2310aa(0x21c)](_0x2310aa(0x206)),await new Promise(_0x71aeb0=>setTimeout(_0x71aeb0,0x7d0));const _0x280009=await chromium[_0x2310aa(0x20e)]({'headless':![]});let _0x564497=null;try{const _0x499f56={'ignoreHTTPSErrors':!![]};_0xe7f444?.[_0x2310aa(0x1fc)]&&(_0x499f56[_0x2310aa(0x24b)]=_0xe7f444['setupHeaders']);const _0x4d48d4=await _0x280009[_0x2310aa(0x280)](_0x499f56);await addProfileSetupBanner(_0x4d48d4);const _0x195784=await _0x4d48d4[_0x2310aa(0x260)]();await _0x195784['goto'](_0x3fa24a);let _0x35f0b9=![];await new Promise(_0x378141=>{const _0x3e4788=_0x2310aa,_0x20b17e={'IHusB':function(_0x54c477,_0x4b666a){const _0x16f49f=_0x4cf0;return _0x1fd2cc[_0x16f49f(0x26f)](_0x54c477,_0x4b666a);},'WMJjh':function(_0xbf9069,_0x6b6ce4){const _0x2c5517=_0x4cf0;return _0x1fd2cc[_0x2c5517(0x25c)](_0xbf9069,_0x6b6ce4);},'pxwQo':function(_0x24ddc9){return _0x24ddc9();}},_0x225747=_0x1fd2cc['dHCuO'](setTimeout,()=>{const _0x59a223=_0x4cf0;_0x35f0b9=!![],console[_0x59a223(0x21d)](_0x59a223(0x232)+_0x20b17e['IHusB'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x378141();},MANUAL_LOGIN_TIMEOUT_MS);_0x195784['on'](_0x1fd2cc[_0x3e4788(0x1f4)],async()=>{const _0x525ae7=_0x3e4788;_0x20b17e[_0x525ae7(0x201)](clearTimeout,_0x225747);try{const _0x17dd45=await _0x4d48d4[_0x525ae7(0x22a)]();_0x564497=_0x17dd45;}catch{}_0x20b17e['pxwQo'](_0x378141);});});if(_0x1fd2cc[_0x2310aa(0x23c)](_0x35f0b9,!_0x564497))throw new Error(_0x1fd2cc[_0x2310aa(0x233)]);}finally{await _0x280009[_0x2310aa(0x209)]()[_0x2310aa(0x1de)](()=>{});}if(!_0x564497)throw new Error(_0x2310aa(0x248));return _0x1fd2cc[_0x2310aa(0x222)](_0x13edd8[_0x2310aa(0x1e6)],![])&&await _0x1fd2cc[_0x2310aa(0x243)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x17a0f4[_0x2310aa(0x276)])+'/session',{'method':_0x1fd2cc[_0x2310aa(0x1fe)],'body':JSON[_0x2310aa(0x22b)]({'session_state':_0x564497,'updated_by':'cli:manual-login'})}),{'sessionState':_0x564497};}export async function promptSaveCredentials(_0x5da02c){const _0x62fabd=_0x184572,_0x274404={'fRLvv':function(_0x380024,_0x13982e){return _0x380024||_0x13982e;},'ILXmL':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','csuVW':function(_0x2187ff,_0x467df7,_0x11d383){return _0x2187ff(_0x467df7,_0x11d383);},'upmVj':_0x62fabd(0x20a)},_0x5160b1=process[_0x62fabd(0x256)][_0x62fabd(0x225)],_0x437f81=process[_0x62fabd(0x256)]['RANGER_TEST_PASSWORD'];if(_0x274404['fRLvv'](!_0x5160b1,!_0x437f81))return;if(!isInteractive())return;const {save:_0x23c11d}=await _0x4e7ffc['prompt']([{'type':_0x62fabd(0x231),'name':_0x62fabd(0x239),'message':_0x274404['ILXmL'],'default':![]}]);if(!_0x23c11d)return;await _0x274404['csuVW'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x5da02c),{'method':_0x274404[_0x62fabd(0x1f9)],'body':JSON['stringify']({'username':_0x5160b1,'password':_0x437f81})}),console[_0x62fabd(0x21c)]('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x2f0b2b,_0x270413={}){const _0x9a693=_0x184572,_0x5253d9={'XOhAe':function(_0x3d7f8a){return _0x3d7f8a();},'DIxCv':function(_0x326d81,_0x3fba33){return _0x326d81===_0x3fba33;},'VofsB':'string','NYGRV':function(_0x479c65,_0x4b28aa){return _0x479c65||_0x4b28aa;},'kTWnS':function(_0x55bda2,_0x1356b7){return _0x55bda2(_0x1356b7);},'qMBng':function(_0x277b28,_0x2fb315){return _0x277b28>_0x2fb315;},'zNOTc':function(_0x2b8a06,_0x312a1b){return _0x2b8a06(_0x312a1b);},'aeibO':function(_0x394967,_0xf4ef50,_0x4fdce0,_0x5420da,_0x5c8ee4,_0x4a0523){return _0x394967(_0xf4ef50,_0x4fdce0,_0x5420da,_0x5c8ee4,_0x4a0523);},'WxglA':function(_0x21cb25,_0x1cecca,_0x59dfa3){return _0x21cb25(_0x1cecca,_0x59dfa3);},'kPQnv':function(_0x1f1197,_0xd7afef,_0x13e82e){return _0x1f1197(_0xd7afef,_0x13e82e);},'VHHSl':function(_0x1e1c75,_0x57fda2){return _0x1e1c75(_0x57fda2);},'yWREa':function(_0x20299d,_0x228c97,_0x5dd9cc,_0x1e0eb1){return _0x20299d(_0x228c97,_0x5dd9cc,_0x1e0eb1);},'WEznm':function(_0x3ca172,_0x246cca,_0xd29d62){return _0x3ca172(_0x246cca,_0xd29d62);},'amRxQ':'not_configured','HSwQG':'\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','vUSPj':'\x20\x20Login\x20successful.\x20Session\x20cached.','OJKNW':'\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','PvcgX':_0x9a693(0x27d),'GsQxl':function(_0x3f7891,_0x3ea6a5,_0x5cd6f0,_0x2eb5b4){return _0x3f7891(_0x3ea6a5,_0x5cd6f0,_0x2eb5b4);}},_0x5acdc3=_0x2f0b2b[_0x9a693(0x25b)]??{},_0x17bfad=await _0x5253d9[_0x9a693(0x277)](fetchAuthConfig),_0x4650bf=_0x17bfad?resolveAuthEnvironmentLocally(_0x17bfad,_0x2f0b2b[_0x9a693(0x1ed)]):null,_0x32c49d=typeof _0x4650bf?.['loginInstructions']==='string'&&_0x4650bf['loginInstructions']['trim']()?_0x4650bf['loginInstructions']:undefined,_0xf9c7df=_0x5253d9['DIxCv'](typeof _0x5acdc3[_0x9a693(0x258)],_0x5253d9[_0x9a693(0x1f2)])&&_0x5acdc3[_0x9a693(0x258)][_0x9a693(0x217)]()?_0x5acdc3[_0x9a693(0x258)]:undefined,_0x4268d2=_0x5253d9['NYGRV'](_0xf9c7df,!_0x32c49d)?_0x5acdc3:{..._0x5acdc3,'loginInstructions':_0x32c49d},_0x1673a9=Boolean(_0x4268d2['loginInstructions']?.['trim']()),_0x45c579=_0x5253d9['kTWnS'](Boolean,_0x5acdc3[_0x9a693(0x274)]||_0x4650bf?.[_0x9a693(0x274)]),_0x11adab=_0x4650bf?.[_0x9a693(0x27c)],_0x297a7e=_0x5acdc3[_0x9a693(0x1fc)],_0x47ee59=_0x297a7e??_0x4650bf?.[_0x9a693(0x1fc)],_0x188d35=_0x270413['effectiveBaseUrl']??_0x5acdc3[_0x9a693(0x275)]??(_0x11adab&&_0x5253d9['qMBng'](_0x11adab[_0x9a693(0x279)],0x0)?_0x11adab[0x0]:''),_0xa0d383=_0x188d35?_0x5253d9['zNOTc'](needsTunnel,_0x188d35):![],_0x387dad={'invalidateOn':_0x4650bf?.[_0x9a693(0x229)],'userAgent':_0x4650bf?.[_0x9a693(0x207)]?.['userAgent']??_0x5acdc3[_0x9a693(0x267)]};_0x45c579&&console[_0x9a693(0x21c)](_0x9a693(0x1fa)+_0x2f0b2b['name']+_0x9a693(0x264));if(!_0x45c579){const _0x16f619=await _0x5253d9[_0x9a693(0x1df)](checkLocalCache,_0x2f0b2b[_0x9a693(0x276)],_0x2f0b2b['organizationId'],_0x188d35,_0x47ee59,_0x387dad);if(_0x16f619){if(_0x188d35&&!_0xa0d383){const _0x163c64=await isCachedSessionLive(_0x16f619[_0x9a693(0x211)],_0x188d35,{'sessionCheckPath':_0x4650bf?.['sessionCheckPath'],'setupHeaders':_0x47ee59},{'launchBrowser':launchRealBrowser});if(_0x163c64)return console['log']('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x2f0b2b[_0x9a693(0x276)]+'\x22'),{'authPath':_0x16f619[_0x9a693(0x211)],'settings':_0x4268d2,'resolvedEnv':_0x4650bf};console['log'](_0x9a693(0x26d)+_0x2f0b2b['name']+_0x9a693(0x1fb)),_0x5253d9['WxglA'](emitSessionValidationHint,_0x188d35,_0x4650bf);}else return _0xa0d383&&console['log']('\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x2f0b2b['name']+'\x22'),{'authPath':_0x16f619['storageStatePath'],'settings':_0x4268d2,'resolvedEnv':_0x4650bf};}}if(!_0x45c579&&_0x2f0b2b[_0x9a693(0x24d)]){if(_0xa0d383)console[_0x9a693(0x21c)]('\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22'+_0x188d35+_0x9a693(0x25a)+_0x2f0b2b['name']+'\x22');else{const _0x581f40=await writeSessionToLocalCache(_0x2f0b2b[_0x9a693(0x276)],_0x2f0b2b[_0x9a693(0x27f)],_0x188d35,_0x47ee59,_0x2f0b2b['sessionState'],_0x11adab,_0x387dad);if(_0x188d35){const _0x4df15f=await isCachedSessionLive(_0x581f40,_0x188d35,{'sessionCheckPath':_0x4650bf?.['sessionCheckPath'],'setupHeaders':_0x47ee59},{'launchBrowser':launchRealBrowser});if(_0x4df15f)return console['log'](_0x9a693(0x24f)+_0x2f0b2b[_0x9a693(0x276)]+_0x9a693(0x1e5)),{'authPath':_0x581f40,'settings':_0x4268d2,'resolvedEnv':_0x4650bf};console[_0x9a693(0x21c)](_0x9a693(0x227)+_0x2f0b2b[_0x9a693(0x276)]+_0x9a693(0x261)),_0x5253d9['kPQnv'](emitSessionValidationHint,_0x188d35,_0x4650bf);}else return{'authPath':_0x581f40,'settings':_0x4268d2,'resolvedEnv':_0x4650bf};}}if(_0x1673a9)return console[_0x9a693(0x21c)](_0x9a693(0x22d)+_0x2f0b2b[_0x9a693(0x276)]+_0x9a693(0x23a)),{'authPath':undefined,'settings':_0x4268d2,'resolvedEnv':_0x4650bf};console['log'](_0x9a693(0x22d)+_0x2f0b2b['name']+'\x22,\x20attempting\x20login...');const _0x304ad4=Boolean(process['env'][_0x9a693(0x225)])&&_0x5253d9[_0x9a693(0x220)](Boolean,process[_0x9a693(0x256)]['RANGER_TEST_PASSWORD']),_0x4069c8=_0x5253d9[_0x9a693(0x1e0)](Boolean,_0x2f0b2b['username']);if(_0x304ad4||_0x4069c8)try{const _0x38211d=_0x188d35?await _0x5253d9['yWREa'](serverSideLoginWithOptionalTunnel,_0x2f0b2b[_0x9a693(0x276)],_0x188d35,{'force':_0x45c579,'telemetry':_0x270413['telemetry']}):await _0x5253d9[_0x9a693(0x22c)](serverSideLogin,_0x2f0b2b[_0x9a693(0x276)],{'force':_0x45c579});if(_0x5253d9[_0x9a693(0x213)](_0x38211d['status'],_0x5253d9['amRxQ']))console[_0x9a693(0x21c)](_0x5253d9['HSwQG']);else{if(_0x5253d9[_0x9a693(0x213)](_0x38211d['status'],'success')&&_0x38211d['session_state']){console['log'](_0x5253d9[_0x9a693(0x255)]);const _0x159192=await writeSessionToLocalCache(_0x2f0b2b['name'],_0x2f0b2b[_0x9a693(0x27f)],_0x188d35,_0x47ee59,_0x38211d['session_state'],_0x11adab,_0x387dad);return _0x304ad4&&!_0x4069c8&&await promptSaveCredentials(_0x2f0b2b['name']),{'authPath':_0x159192,'settings':_0x4268d2,'resolvedEnv':_0x4650bf};}else _0x38211d[_0x9a693(0x22e)]&&(console[_0x9a693(0x21c)](_0x5253d9['OJKNW']),console['log'](_0x38211d['test_output'])),console[_0x9a693(0x21c)](_0x5253d9['PvcgX']);}}catch(_0x13cbde){console[_0x9a693(0x21c)]('\x20\x20Server-side\x20login\x20error:\x20'+(_0x13cbde instanceof Error?_0x13cbde[_0x9a693(0x238)]:String(_0x13cbde))),console[_0x9a693(0x21c)](_0x5253d9['PvcgX']);}const _0x399358=_0x4650bf?{..._0x4650bf,'setupHeaders':_0x47ee59}:_0x188d35?{'key':_0x2f0b2b[_0x9a693(0x1ed)]??'','domains':[_0x188d35],'setupHeaders':_0x47ee59}:null,{sessionState:_0x44624a}=await _0x5253d9[_0x9a693(0x1ec)](manualBrowserLogin,_0x2f0b2b,_0x399358,{'persistSessionState':!_0xa0d383}),_0x4b1619=await writeSessionToLocalCache(_0x2f0b2b['name'],_0x2f0b2b['organizationId'],_0x188d35,_0x47ee59,_0x44624a,_0x11adab,_0x387dad);return{'authPath':_0x4b1619,'settings':_0x4268d2,'resolvedEnv':_0x4650bf};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x4109c1=_0x2892;(function(_0x4aed84,_0x4cdf9e){const _0x5b8b53=_0x2892,_0x26c9dc=_0x4aed84();while(!![]){try{const _0x2c7620=-parseInt(_0x5b8b53(0x1b1))/0x1+-parseInt(_0x5b8b53(0x1a9))/0x2*(-parseInt(_0x5b8b53(0x19e))/0x3)+parseInt(_0x5b8b53(0x1a1))/0x4+parseInt(_0x5b8b53(0x195))/0x5+-parseInt(_0x5b8b53(0x193))/0x6*(-parseInt(_0x5b8b53(0x1ac))/0x7)+-parseInt(_0x5b8b53(0x1b2))/0x8*(parseInt(_0x5b8b53(0x1b9))/0x9)+-parseInt(_0x5b8b53(0x1af))/0xa;if(_0x2c7620===_0x4cdf9e)break;else _0x26c9dc['push'](_0x26c9dc['shift']());}catch(_0x346b45){_0x26c9dc['push'](_0x26c9dc['shift']());}}}(_0x1223,0x99620));import{createHash}from'crypto';import{join}from'path';function _0x2892(_0x22ade9,_0xe96186){_0x22ade9=_0x22ade9-0x18f;const _0x1223c6=_0x1223();let _0x289285=_0x1223c6[_0x22ade9];return _0x289285;}import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x4a4ee6=process[_0x4109c1(0x1b7)],_0x1212d3={'stdin':process[_0x4109c1(0x1a5)],'stdout':process[_0x4109c1(0x1ab)]}){const _0x17cf84=_0x4109c1;if(_0x4a4ee6['CI'])return![];return Boolean(_0x1212d3['stdin'][_0x17cf84(0x191)])&&Boolean(_0x1212d3[_0x17cf84(0x1ab)][_0x17cf84(0x191)]);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0xe5a053){const _0x1fca25=_0x4109c1,_0x1e00ea={'NvBJJ':'setupHeaders','CXIJT':function(_0x3bd862,_0x3261f2){return _0x3bd862(_0x3261f2);},'vyOKA':'userAgent','QZaUt':function(_0x3968e3,_0x85a7c5){return _0x3968e3!==_0x85a7c5;},'NNaNN':'clientIp','SwWNi':function(_0x171780,_0x27586b){return _0x171780(_0x27586b);}},_0x12e61a=new Set(_0xe5a053[_0x1fca25(0x1a3)]??DEFAULT_INVALIDATE_ON),_0x311c4c={'orgId':_0xe5a053[_0x1fca25(0x199)],'profileName':_0xe5a053['profileName']};return _0x12e61a[_0x1fca25(0x19f)]('baseUrl')&&(_0x311c4c[_0x1fca25(0x1b0)]=_0xe5a053['effectiveBaseUrl']),_0x12e61a[_0x1fca25(0x19f)](_0x1e00ea['NvBJJ'])&&(_0x311c4c[_0x1fca25(0x19b)]=_0xe5a053[_0x1fca25(0x19b)]?_0x1e00ea['CXIJT'](sortObjectKeys,_0xe5a053[_0x1fca25(0x19b)]):_0xe5a053[_0x1fca25(0x19b)]),_0x12e61a['has']('port')&&(_0x311c4c['port']=extractPort(_0xe5a053['effectiveBaseUrl'])),_0x12e61a[_0x1fca25(0x19f)](_0x1e00ea[_0x1fca25(0x1a8)])&&_0x1e00ea[_0x1fca25(0x196)](_0xe5a053[_0x1fca25(0x1a7)],undefined)&&(_0x311c4c[_0x1fca25(0x1a7)]=_0xe5a053[_0x1fca25(0x1a7)]),_0x12e61a[_0x1fca25(0x19f)](_0x1e00ea['NNaNN'])&&_0x1e00ea[_0x1fca25(0x196)](_0xe5a053[_0x1fca25(0x1b4)],undefined)&&(_0x311c4c['clientIp']=_0xe5a053[_0x1fca25(0x1b4)]),_0x1e00ea[_0x1fca25(0x197)](createHash,_0x1fca25(0x18f))[_0x1fca25(0x1ad)](JSON['stringify'](_0x311c4c))[_0x1fca25(0x19c)]('hex')['slice'](0x0,0xc);}function extractPort(_0x2288cd){const _0x29f31e=_0x4109c1;try{return new URL(_0x2288cd)[_0x29f31e(0x1bb)];}catch{return'';}}function sortObjectKeys(_0x4cecc8){const _0x4d316b={};for(const _0x18a846 of Object['keys'](_0x4cecc8)['sort']()){_0x4d316b[_0x18a846]=_0x4cecc8[_0x18a846];}return _0x4d316b;}export function getSessionCachePath(_0x3124a3,_0x426e86){const _0x42fb38=_0x4109c1,_0x2fb941={'NYArE':function(_0x37b849,_0x11aa14,_0x5c3a6f,_0x277141){return _0x37b849(_0x11aa14,_0x5c3a6f,_0x277141);},'XLmDr':_0x42fb38(0x1a4)};return _0x2fb941['NYArE'](join,getRangerHomeDir(),_0x2fb941[_0x42fb38(0x1ae)],_0x3124a3+'-'+_0x426e86+'.json');}export function getStorageStatePath(_0x3f09ad){const _0x17732c=_0x4109c1,_0x4ce058={'TvJKA':_0x17732c(0x192)};return _0x3f09ad['replace'](/\.json$/,_0x4ce058['TvJKA']);}export function needsTunnel(_0x151ff4){const _0x11ae04=_0x4109c1,_0x305c87={'CHBlz':'localhost.'};let _0x121ca1;try{_0x121ca1=new URL(_0x151ff4)[_0x11ae04(0x1a6)];}catch{return![];}if(_0x121ca1===_0x11ae04(0x1a2)||_0x121ca1==='127.0.0.1')return!![];if(_0x121ca1['endsWith']('.localhost'))return!![];if(_0x121ca1['includes'](_0x305c87['CHBlz']))return!![];return![];}export function hostnameOf(_0x190263){const _0x1a0213=_0x4109c1;return new URL(_0x190263)[_0x1a0213(0x1a6)];}export function duplicateCookiesForDomains(_0x490ee4,_0x5c774c){const _0x5aab44=_0x4109c1,_0xbbe443={'KlTij':function(_0x5a9d21,_0x304186){return _0x5a9d21(_0x304186);}},_0x563c27=[..._0x490ee4],_0x3c5aea=new Set(_0x490ee4['map'](_0x35715b=>_0x35715b[_0x5aab44(0x1b6)]));for(const _0x347551 of _0x5c774c){let _0x12281b;try{_0x12281b=_0xbbe443['KlTij'](hostnameOf,_0x347551);}catch{continue;}if(!_0x12281b)continue;const _0x3f408c=_0x12281b['startsWith']('.')?_0x12281b:'.'+_0x12281b;if(_0x3c5aea['has'](_0x12281b)||_0x3c5aea['has'](_0x3f408c))continue;for(const _0x131e33 of _0x490ee4){_0x563c27['push']({..._0x131e33,'domain':_0x3f408c});}_0x3c5aea[_0x5aab44(0x19d)](_0x3f408c);}return _0x563c27;}export function resolveAuthEnvironmentLocally(_0x5255c8,_0x40cfc3){const _0x59fcdf=_0x4109c1,_0x977d6d=_0x5255c8[_0x59fcdf(0x1b3)];if(_0x40cfc3){const _0x2f3139=_0x977d6d[_0x40cfc3];if(!_0x2f3139)return null;return{'key':_0x40cfc3,..._0x2f3139};}if(_0x5255c8['defaultEnvironmentKey']){const _0x7ae0c9=_0x977d6d[_0x5255c8[_0x59fcdf(0x1a0)]];if(!_0x7ae0c9)return null;return{'key':_0x5255c8[_0x59fcdf(0x1a0)],..._0x7ae0c9};}const _0x91548c=Object['keys'](_0x977d6d);if(_0x91548c['length']===0x1){const _0x491327=_0x91548c[0x0];return{'key':_0x491327,..._0x977d6d[_0x491327]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;function _0x1223(){const _0x9286a1=['localhost','invalidateOn','auth','stdin','hostname','userAgent','vyOKA','2cBVtFX','IBjjB','stdout','14hmdlJo','update','XLmDr','19613350hybdjw','effectiveBaseUrl','477428fWMFzS','8jTUKIn','environments','clientIp','newPage','domain','env','domcontentloaded','5357331IwRFop','launchBrowser','port','sha256','catch','isTTY','.storageState.json','3370818tkWZhe','NCPrU','5941320teNJoc','QZaUt','SwWNi','sessionCheckPath','orgId','test','setupHeaders','digest','add','2815767keiZbL','has','defaultEnvironmentKey','1647276zxXZoq'];_0x1223=function(){return _0x9286a1;};return _0x1223();}export function buildSessionCheckUrl(_0x4a21d1,_0x5086b8){try{if(_0x5086b8)return new URL(_0x5086b8,_0x4a21d1)['toString']();return new URL(_0x4a21d1)['toString']();}catch{return null;}}export function looksLikeLoginUrl(_0x10844f){const _0x59255b=_0x4109c1;try{const _0x3faf9d=new URL(_0x10844f);return LOGIN_URL_PATTERN[_0x59255b(0x19a)](_0x3faf9d['pathname']);}catch{return LOGIN_URL_PATTERN['test'](_0x10844f);}}export async function isCachedSessionLive(_0x209ec9,_0x1724ab,_0x3710b6={},_0x4b29af={}){const _0x3fe78a=_0x4109c1,_0x4c2dce={'RiMHS':function(_0x1a2966,_0x481d47,_0x175fae){return _0x1a2966(_0x481d47,_0x175fae);},'IxVVB':function(_0x5a10c8,_0xf2aeb8){return _0x5a10c8===_0xf2aeb8;},'NCPrU':function(_0x5895c1,_0x5e777a){return _0x5895c1===_0x5e777a;},'IBjjB':function(_0x3c77aa,_0x18fad1){return _0x3c77aa(_0x18fad1);}},_0x5cbbf8=_0x4c2dce['RiMHS'](buildSessionCheckUrl,_0x1724ab,_0x3710b6[_0x3fe78a(0x198)]);if(!_0x5cbbf8)return!![];if(!_0x4b29af[_0x3fe78a(0x1ba)])return!![];let _0x57ae4f=null;try{_0x57ae4f=await _0x4b29af['launchBrowser']();const _0x3ba5f5=await _0x57ae4f['newContext']({'storageState':_0x209ec9,'ignoreHTTPSErrors':!![],..._0x3710b6['setupHeaders']?{'extraHTTPHeaders':_0x3710b6[_0x3fe78a(0x19b)]}:{}}),_0x33f369=await _0x3ba5f5[_0x3fe78a(0x1b5)](),_0x564b5a=await _0x33f369['goto'](_0x5cbbf8,{'waitUntil':_0x3fe78a(0x1b8),'timeout':0x3a98}),_0x4202f2=_0x564b5a?.['status']();if(_0x4c2dce['IxVVB'](_0x4202f2,0x191)||_0x4c2dce[_0x3fe78a(0x194)](_0x4202f2,0x193))return![];const _0x4821b5=_0x33f369['url']();if(_0x4c2dce[_0x3fe78a(0x1aa)](looksLikeLoginUrl,_0x4821b5))return![];return!![];}catch{return![];}finally{if(_0x57ae4f)await _0x57ae4f['close']()[_0x3fe78a(0x190)](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x54109=_0x6e7c;(function(_0x13c3c2,_0x3cf2cd){const _0x5f11b4=_0x6e7c,_0x303a47=_0x13c3c2();while(!![]){try{const _0x442529=parseInt(_0x5f11b4(0x18d))/0x1+parseInt(_0x5f11b4(0x18f))/0x2*(-parseInt(_0x5f11b4(0x17f))/0x3)+-parseInt(_0x5f11b4(0x18b))/0x4*(parseInt(_0x5f11b4(0x184))/0x5)+parseInt(_0x5f11b4(0x18e))/0x6*(-parseInt(_0x5f11b4(0x17d))/0x7)+-parseInt(_0x5f11b4(0x182))/0x8*(-parseInt(_0x5f11b4(0x18a))/0x9)+-parseInt(_0x5f11b4(0x181))/0xa+parseInt(_0x5f11b4(0x185))/0xb;if(_0x442529===_0x3cf2cd)break;else _0x303a47['push'](_0x303a47['shift']());}catch(_0x4d2e9a){_0x303a47['push'](_0x303a47['shift']());}}}(_0x12ad,0x2e6ff));function _0x6e7c(_0x23a9b6,_0x4da231){_0x23a9b6=_0x23a9b6-0x17c;const _0x12ad93=_0x12ad();let _0x6e7c34=_0x12ad93[_0x23a9b6];return _0x6e7c34;}import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';function _0x12ad(){const _0x68d1f9=['113598rvgfYJ','86VDpNor','yqQHU','ranger-auth-encryption','35QnDicw','getAuthTag','519mvYbVJ','aes-256-gcm','3472870SKIJie','770384tnJAyX','GzdoJ','10bjbavJ','4863881fkyYTr','subarray','sha256','ArBpr','concat','9FtyxUw','411188AzhUDE','adxKY','306723isyaqs'];_0x12ad=function(){return _0x68d1f9;};return _0x12ad();}const ALGORITHM=_0x54109(0x180),SALT=_0x54109(0x17c),KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0x48fe1a){const _0x166781=_0x54109,_0x1c0d26={'lRkAy':function(_0x23451e,_0x5b7483,_0x16392f,_0x16661a,_0x46238f,_0x31f6e7){return _0x23451e(_0x5b7483,_0x16392f,_0x16661a,_0x46238f,_0x31f6e7);},'yqQHU':_0x166781(0x187)};return _0x1c0d26['lRkAy'](pbkdf2Sync,_0x48fe1a,SALT,0x186a0,KEY_LENGTH,_0x1c0d26[_0x166781(0x190)]);}export function encrypt(_0x5fdc93,_0x1f35fc){const _0x2d11c2=_0x54109,_0x3f808f={'ArBpr':function(_0x4c21fa,_0x3841a3){return _0x4c21fa(_0x3841a3);},'adxKY':'utf8'},_0x4b67b7=deriveKey(_0x1f35fc),_0x48f669=_0x3f808f[_0x2d11c2(0x188)](randomBytes,IV_LENGTH),_0x5a6227=createCipheriv(ALGORITHM,_0x4b67b7,_0x48f669),_0x31a834=Buffer['concat']([_0x5a6227['update'](_0x5fdc93,_0x3f808f[_0x2d11c2(0x18c)]),_0x5a6227['final']()]),_0x56a45f=_0x5a6227[_0x2d11c2(0x17e)]();return Buffer[_0x2d11c2(0x189)]([_0x48f669,_0x56a45f,_0x31a834]);}export function decrypt(_0x117a1a,_0x44f93d){const _0x48ff8f=_0x54109,_0x1acbbe={'Agikt':function(_0x4c96bd,_0x40d35c){return _0x4c96bd(_0x40d35c);},'GzdoJ':function(_0x460d65,_0x352a59){return _0x460d65+_0x352a59;},'QrtYg':function(_0x3dedbb,_0x44eb4e){return _0x3dedbb+_0x44eb4e;},'uzCNZ':'utf8'},_0x17151d=_0x1acbbe['Agikt'](deriveKey,_0x44f93d),_0x4e68c0=_0x117a1a['subarray'](0x0,IV_LENGTH),_0x1d12b4=_0x117a1a[_0x48ff8f(0x186)](IV_LENGTH,_0x1acbbe[_0x48ff8f(0x183)](IV_LENGTH,TAG_LENGTH)),_0x49b5f5=_0x117a1a[_0x48ff8f(0x186)](IV_LENGTH+TAG_LENGTH),_0x405785=createDecipheriv(ALGORITHM,_0x17151d,_0x4e68c0);return _0x405785['setAuthTag'](_0x1d12b4),_0x1acbbe['QrtYg'](_0x405785['update'](_0x49b5f5),_0x405785['final'](_0x1acbbe['uzCNZ']));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x28618f=_0x4d1e;(function(_0x5b59b7,_0x4858fd){const _0x3bb77e=_0x4d1e,_0x5a2d89=_0x5b59b7();while(!![]){try{const _0x1d5ffa=parseInt(_0x3bb77e(0x1dd))/0x1*(parseInt(_0x3bb77e(0x1e3))/0x2)+-parseInt(_0x3bb77e(0x202))/0x3+-parseInt(_0x3bb77e(0x1f3))/0x4+parseInt(_0x3bb77e(0x1fa))/0x5+parseInt(_0x3bb77e(0x1f0))/0x6+parseInt(_0x3bb77e(0x1e2))/0x7*(-parseInt(_0x3bb77e(0x1e1))/0x8)+-parseInt(_0x3bb77e(0x206))/0x9;if(_0x1d5ffa===_0x4858fd)break;else _0x5a2d89['push'](_0x5a2d89['shift']());}catch(_0xd0dd97){_0x5a2d89['push'](_0x5a2d89['shift']());}}}(_0x1836,0x40fe9));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x1836(){const _0x7cff5e=['ULlVA','errorMessage','--secret','--pass','--credentials','sessionId','errorType','POST','995jdBmiD','7|6|1|4|5|0|2|3','DEBUG','[REDACTED]','64NCOkAt','264019ZlfRFz','758zHLpsf','has_token','has','rawCommand','invalid_option_value','Not\x20enough\x20non-option\x20arguments','includes','XpHaL','some','Unknown\x20command','--key','missing_required_argument','Invalid\x20values','2994090WnlVFo','push','unknown_command','222936GMukvE','indexOf','DbzTx','syntax_error','unknown_argument','unknown','Bearer\x20','2616460klAPKM','application/json','test','/api/v1/mcp/desire-path-logs','split','gqCjO','catch','slice','600399xVaOBm','startsWith','Ojoxh','Unknown\x20argument','5180328vybHrb','error','length','--password','env','hryOt','toLowerCase','Missing\x20required\x20argument','no_token','PTPrQ'];_0x1836=function(){return _0x7cff5e;};return _0x1836();}import{getCurrentVersion}from'./version.js';function _0x4d1e(_0x396b8b,_0x325152){_0x396b8b=_0x396b8b-0x1dd;const _0x18361d=_0x1836();let _0x4d1eb9=_0x18361d[_0x396b8b];return _0x4d1eb9;}const SENSITIVE_FLAGS=new Set(['--token','-t',_0x28618f(0x212),'--api-key','--apikey',_0x28618f(0x1ed),_0x28618f(0x209),_0x28618f(0x213),'--auth','--authorization','--header','--cookie',_0x28618f(0x214)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x5e14d9){const _0x1fd019=_0x28618f;return TOKEN_PATTERNS[_0x1fd019(0x1eb)](_0x1969ed=>_0x1969ed[_0x1fd019(0x1fc)](_0x5e14d9));}export function sanitizeArgs(_0x2da56a){const _0x1107fd=_0x28618f,_0xbcc1f0={'NhshL':function(_0x3f583d,_0x3e9d75){return _0x3f583d<_0x3e9d75;},'BIfHS':_0x1107fd(0x1e0)},_0x2252ff=[];let _0x2f1b89=![];for(let _0x898475=0x0;_0xbcc1f0['NhshL'](_0x898475,_0x2da56a[_0x1107fd(0x208)]);_0x898475++){const _0x392738=_0x2da56a[_0x898475];if(_0x2f1b89){_0x2252ff['push'](_0xbcc1f0['BIfHS']),_0x2f1b89=![];continue;}if(_0x392738[_0x1107fd(0x203)]('--')||_0x392738[_0x1107fd(0x203)]('-')){const _0x42c0a5=_0x392738[_0x1107fd(0x1f4)]('=');if(_0x42c0a5!==-0x1){const _0x394b65=_0x392738[_0x1107fd(0x201)](0x0,_0x42c0a5)[_0x1107fd(0x20c)]();if(SENSITIVE_FLAGS['has'](_0x394b65)){_0x2252ff[_0x1107fd(0x1f1)](_0x392738['slice'](0x0,_0x42c0a5)+'=[REDACTED]');continue;}}else{const _0x18f76c=_0x392738['toLowerCase']();SENSITIVE_FLAGS[_0x1107fd(0x1e5)](_0x18f76c)&&(_0x2f1b89=!![]);}_0x2252ff['push'](_0x392738);}else looksLikeToken(_0x392738)?_0x2252ff['push']('[REDACTED]'):_0x2252ff[_0x1107fd(0x1f1)](_0x392738);}return _0x2252ff['join']('\x20');}export async function logDesirePath(_0x55dfa2){const _0x6e1902=_0x28618f,_0x1c25de={'ZvbCy':function(_0x61e803){return _0x61e803();},'mWQie':function(_0x1a69a2){return _0x1a69a2();},'ULlVA':function(_0x41efc9,_0x266a3a,_0x1d14bc){return _0x41efc9(_0x266a3a,_0x1d14bc);},'XpHaL':_0x6e1902(0x217)};try{const _0x459425=await _0x1c25de['ZvbCy'](getToken)[_0x6e1902(0x200)](()=>null),_0x351cc0=_0x1c25de['mWQie'](getApiBaseUrl),_0x5c3fda=getCurrentVersion(),_0x45512e=_0x459425?_0x6e1902(0x1e4):_0x6e1902(0x20e),_0x2715e1={..._0x55dfa2['metadata'],'authStatus':_0x45512e,'isTty':process['stdout']['isTTY']??![]},_0x206f32={'Content-Type':_0x6e1902(0x1fb)};_0x459425&&(_0x206f32['Authorization']=_0x6e1902(0x1f9)+_0x459425);const _0xfea090={'rawCommand':_0x55dfa2[_0x6e1902(0x1e6)],'errorMessage':_0x55dfa2[_0x6e1902(0x211)],'errorType':_0x55dfa2[_0x6e1902(0x216)],'featureId':_0x55dfa2['featureId'],'sessionId':_0x55dfa2[_0x6e1902(0x215)],'metadata':_0x2715e1,'cliVersion':_0x5c3fda};process[_0x6e1902(0x20a)]['DEBUG']&&(console[_0x6e1902(0x207)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x351cc0+_0x6e1902(0x1fd)),console['error']('[desire-path]\x20Payload:\x20'+JSON['stringify'](_0xfea090,null,0x2))),await _0x1c25de[_0x6e1902(0x210)](fetch,_0x351cc0+'/api/v1/mcp/desire-path-logs',{'method':_0x1c25de[_0x6e1902(0x1ea)],'headers':_0x206f32,'body':JSON['stringify'](_0xfea090)});}catch(_0x1b0518){process[_0x6e1902(0x20a)][_0x6e1902(0x1df)]&&console['error']('[desire-path]\x20Failed\x20to\x20send:\x20'+_0x1b0518);}}export function getErrorType(_0x56d022,_0x3668bf){const _0x2f1658=_0x28618f,_0x500ef3={'PTPrQ':_0x2f1658(0x1de),'haxUJ':_0x2f1658(0x1ef),'tlfku':_0x2f1658(0x1e7),'hryOt':_0x2f1658(0x1f6),'gqCjO':_0x2f1658(0x205),'Ojoxh':_0x2f1658(0x1e8),'XlKrv':_0x2f1658(0x1ee),'svzZT':_0x2f1658(0x1f8),'DbzTx':'runtime_error'},_0x462294=_0x500ef3[_0x2f1658(0x20f)][_0x2f1658(0x1fe)]('|');let _0x1f9409=0x0;while(!![]){switch(_0x462294[_0x1f9409++]){case'0':if(_0x56d022['includes'](_0x500ef3['haxUJ']))return _0x500ef3['tlfku'];continue;case'1':if(_0x56d022['includes'](_0x2f1658(0x1ec)))return _0x2f1658(0x1f2);continue;case'2':if(_0x56d022['includes'](_0x2f1658(0x20d)))return'missing_option';continue;case'3':return _0x500ef3[_0x2f1658(0x20b)];case'4':if(_0x56d022[_0x2f1658(0x1e9)](_0x500ef3[_0x2f1658(0x1ff)]))return _0x2f1658(0x1f7);continue;case'5':if(_0x56d022['includes'](_0x500ef3[_0x2f1658(0x204)]))return _0x500ef3['XlKrv'];continue;case'6':if(!_0x56d022)return _0x500ef3['svzZT'];continue;case'7':if(_0x3668bf)return _0x500ef3[_0x2f1658(0x1f5)];continue;}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x5dd3d8=_0x1157;(function(_0x5ac544,_0x5c856b){const _0x50c739=_0x1157,_0x5f347f=_0x5ac544();while(!![]){try{const _0x40d814=-parseInt(_0x50c739(0x137))/0x1+-parseInt(_0x50c739(0x138))/0x2+parseInt(_0x50c739(0x152))/0x3+-parseInt(_0x50c739(0x164))/0x4*(parseInt(_0x50c739(0x165))/0x5)+-parseInt(_0x50c739(0x121))/0x6+-parseInt(_0x50c739(0x139))/0x7*(-parseInt(_0x50c739(0x148))/0x8)+parseInt(_0x50c739(0x131))/0x9;if(_0x40d814===_0x5c856b)break;else _0x5f347f['push'](_0x5f347f['shift']());}catch(_0x237382){_0x5f347f['push'](_0x5f347f['shift']());}}}(_0x43ea,0x4ecdc));import{spawn}from'child_process';import _0x4d586a from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';function _0x1157(_0x345277,_0x1164f2){_0x345277=_0x345277-0x114;const _0x43ea60=_0x43ea();let _0x1157f2=_0x43ea60[_0x345277];return _0x1157f2;}import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL=_0x5dd3d8(0x120);export async function requestDeviceCode(_0x49f8fc){const _0x17cb70=_0x5dd3d8,_0x5af82d={'XFLhF':function(_0x1fe055,_0x377601,_0x1b2920){return _0x1fe055(_0x377601,_0x1b2920);},'cXZzI':'POST','gAuWr':_0x17cb70(0x149)},_0x45513a=await _0x5af82d['XFLhF'](fetch,WORKOS_DEVICE_AUTH_URL,{'method':_0x5af82d[_0x17cb70(0x12c)],'headers':{'Content-Type':_0x5af82d['gAuWr']},'body':new URLSearchParams({'client_id':_0x49f8fc})});if(!_0x45513a['ok']){const _0x4f8cd4=await _0x45513a[_0x17cb70(0x145)]();throw new Error(_0x17cb70(0x123)+_0x45513a[_0x17cb70(0x132)]+'\x20'+_0x4f8cd4);}return _0x45513a['json']();}export async function pollForTokens(_0x62b62b,_0x594afc,_0x4dca17,_0x47253b){const _0x44ba35=_0x5dd3d8,_0x2be4a0={'KuNHP':function(_0x4dc056,_0x101b03){return _0x4dc056*_0x101b03;},'XOGPN':function(_0xae239,_0x201f45){return _0xae239(_0x201f45);},'kCGIW':function(_0x2f6fee,_0x513cac,_0x2314a3){return _0x2f6fee(_0x513cac,_0x2314a3);},'LHeTw':'POST','NDOMh':function(_0x18ac63,_0x209108){return _0x18ac63===_0x209108;},'NmlBV':'authorization_pending'},_0x526c65=Date['now']()+_0x2be4a0[_0x44ba35(0x150)](_0x47253b,0x3e8);let _0x2c0706=_0x4dca17*0x3e8;while(Date['now']()<_0x526c65){await _0x2be4a0['XOGPN'](sleep,_0x2c0706);const _0x5d8d47=await _0x2be4a0['kCGIW'](fetch,WORKOS_TOKEN_URL,{'method':_0x2be4a0[_0x44ba35(0x126)],'headers':{'Content-Type':_0x44ba35(0x149)},'body':new URLSearchParams({'client_id':_0x62b62b,'device_code':_0x594afc,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x5d8d47['ok'])return _0x5d8d47[_0x44ba35(0x133)]();const _0x269fb3=await _0x5d8d47[_0x44ba35(0x133)]();if(_0x2be4a0[_0x44ba35(0x114)](_0x269fb3['error'],_0x2be4a0['NmlBV']))continue;if(_0x269fb3['error']===_0x44ba35(0x122)){_0x2c0706+=0x3e8;continue;}throw new Error(_0x269fb3[_0x44ba35(0x15c)]||_0x269fb3[_0x44ba35(0x130)]||_0x44ba35(0x119));}throw new Error('Device\x20authorization\x20timed\x20out');}async function fetchUserProfile(_0x5afa6f){const _0x21be99=_0x5dd3d8,_0x5a6a86={'hzFHJ':function(_0x3a1a9e,_0xf1a23d,_0x47cda4){return _0x3a1a9e(_0xf1a23d,_0x47cda4);}},_0x32ff10=getApiBaseUrl();try{const _0x3691b7=await _0x5a6a86['hzFHJ'](fetch,_0x32ff10+_0x21be99(0x11a),{'method':'GET','headers':{'workos-token':_0x5afa6f}});if(_0x3691b7['ok'])return _0x3691b7[_0x21be99(0x133)]();}catch{}return null;}function buildKeyName(_0x38beea,_0x106361){const _0xe04e58=_0x5dd3d8,_0x432384={'OgkfH':function(_0x15ead5,_0xa133ee){return _0x15ead5===_0xa133ee;},'Pmots':function(_0x4d8a9f,_0x3a68b7){return _0x4d8a9f+_0x3a68b7;}},_0x545a39=_0x106361['filter'](_0xe58a45=>_0xe58a45['name']===_0x38beea||_0xe58a45[_0xe04e58(0x155)][_0xe04e58(0x15f)](_0x38beea+'\x20('));if(_0x432384['OgkfH'](_0x545a39['length'],0x0))return _0x38beea;return _0x38beea+'\x20('+_0x432384[_0xe04e58(0x153)](_0x545a39[_0xe04e58(0x11e)],0x1)+')';}export async function provisionApiKey(_0x37b276){const _0x32edd2=_0x5dd3d8,_0x4ad837={'dUCDE':function(_0x4ba85d){return _0x4ba85d();},'bbcLy':function(_0x2be68b,_0xcfdda){return _0x2be68b(_0xcfdda);},'HyinJ':'CLI\x20Key','XSxLt':function(_0x4364fd,_0x16fb61,_0x14e63d){return _0x4364fd(_0x16fb61,_0x14e63d);},'WdhzV':_0x32edd2(0x147),'gLLuP':'POST','ZCUKC':_0x32edd2(0x13d)},_0x220be2=_0x4ad837['dUCDE'](getApiBaseUrl),_0x49bfbe={'Content-Type':'application/json','workos-token':_0x37b276},_0x55f5c0=await _0x4ad837[_0x32edd2(0x159)](fetchUserProfile,_0x37b276),_0x4090e6=_0x55f5c0?.['firstName']||_0x55f5c0?.['email']?.[_0x32edd2(0x15d)]('@')[0x0],_0x10ef8b=_0x4090e6?_0x4090e6+_0x32edd2(0x13f):_0x4ad837['HyinJ'];let _0x12e4f7=[];try{const _0x30555e=await _0x4ad837['XSxLt'](fetch,_0x220be2+_0x32edd2(0x146),{'method':_0x4ad837['WdhzV'],'headers':_0x49bfbe});if(_0x30555e['ok']){const _0x47581c=await _0x30555e['json']();_0x12e4f7=_0x47581c['apiKeys'];}}catch{}const _0x540c20=_0x4ad837[_0x32edd2(0x140)](buildKeyName,_0x10ef8b,_0x12e4f7),_0x532915=await _0x4ad837['XSxLt'](fetch,_0x220be2+_0x32edd2(0x146),{'method':_0x4ad837[_0x32edd2(0x157)],'headers':_0x49bfbe,'body':JSON['stringify']({'name':_0x540c20,'scope':_0x4ad837[_0x32edd2(0x166)]})});if(!_0x532915['ok']){const _0x4fa79b=await _0x532915[_0x32edd2(0x145)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x532915['status']+'\x20'+_0x4fa79b);}const _0x4026d8=await _0x532915['json']();return _0x4026d8['apiKey']['token'];}export function openBrowser(_0x295845){const _0x5b3fa7=_0x5dd3d8,_0x35741e={'aRqrM':function(_0x3e43de,_0x38c603){return _0x3e43de===_0x38c603;},'pfwIn':function(_0x4faa7d,_0x1e1a27,_0x1a80de,_0x53beed){return _0x4faa7d(_0x1e1a27,_0x1a80de,_0x53beed);},'dKDgw':_0x5b3fa7(0x124),'UdqGh':function(_0x5550d7,_0x308257){return _0x5550d7===_0x308257;},'qQfIs':'darwin','Ndicq':'open','MmAzD':function(_0x4d414a,_0x144e04,_0x2cfb8f,_0x2a30b0){return _0x4d414a(_0x144e04,_0x2cfb8f,_0x2a30b0);},'RzDXw':_0x5b3fa7(0x136)};try{if(_0x35741e['aRqrM'](process[_0x5b3fa7(0x13a)],'win32')){const _0xc678d6=_0x35741e['pfwIn'](spawn,_0x35741e[_0x5b3fa7(0x128)],['/c','start','',_0x295845],{'detached':!![],'stdio':_0x5b3fa7(0x136),'windowsHide':!![]});_0xc678d6['unref']();return;}const _0x4da073=_0x35741e[_0x5b3fa7(0x12e)](process['platform'],_0x35741e[_0x5b3fa7(0x11f)])?_0x35741e[_0x5b3fa7(0x12a)]:'xdg-open',_0x2127f2=_0x35741e['MmAzD'](spawn,_0x4da073,[_0x295845],{'detached':!![],'stdio':_0x35741e[_0x5b3fa7(0x13e)]});_0x2127f2['unref']();}catch{}}function decodeJwtPayload(_0x467eb8){const _0x2bde53=_0x5dd3d8,_0x3c7229={'ohQQL':_0x2bde53(0x117)},_0x4da1a7=_0x467eb8[_0x2bde53(0x15d)]('.');if(_0x4da1a7[_0x2bde53(0x11e)]!==0x3)throw new Error(_0x3c7229[_0x2bde53(0x144)]);const _0x8ae6a=Buffer[_0x2bde53(0x13c)](_0x4da1a7[0x1],'base64url')['toString'](_0x2bde53(0x161));return JSON[_0x2bde53(0x14a)](_0x8ae6a);}async function selfServeSignup(_0x11f384){const _0x35de08=_0x5dd3d8,_0x43f745=getApiBaseUrl(),_0x2aab25=await fetch(_0x43f745+_0x35de08(0x143),{'method':_0x35de08(0x14c),'headers':{'Content-Type':'application/json','workos-token':_0x11f384}});if(!_0x2aab25['ok']){const _0x2383ea=await _0x2aab25['text']();throw new Error(_0x35de08(0x156)+_0x2aab25['status']+'\x20'+_0x2383ea);}return _0x2aab25[_0x35de08(0x133)]();}async function fetchMyMemberships(_0x3a98d5){const _0xd3c9d8=_0x5dd3d8,_0x12d3da={'urMAD':function(_0x48ce55){return _0x48ce55();},'QqWzA':function(_0x3bcda9,_0x5213fe,_0x3645ac){return _0x3bcda9(_0x5213fe,_0x3645ac);}},_0x103559=_0x12d3da[_0xd3c9d8(0x154)](getApiBaseUrl),_0x50aa07=await _0x12d3da[_0xd3c9d8(0x11c)](fetch,_0x103559+'/organization/my-memberships',{'method':'GET','headers':{'workos-token':_0x3a98d5}});if(!_0x50aa07['ok']){const _0x390aa9=await _0x50aa07[_0xd3c9d8(0x145)]();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x50aa07[_0xd3c9d8(0x132)]+'\x20'+_0x390aa9);}const _0x3a40e1=await _0x50aa07['json']();return _0x3a40e1[_0xd3c9d8(0x15b)];}async function refreshTokenWithOrg(_0x53adf1,_0x39e993,_0x33d705){const _0x3b2e00=_0x5dd3d8,_0x1867bf={'ldjic':'POST','UMNmx':'refresh_token'},_0x2a899f=await fetch(WORKOS_TOKEN_URL,{'method':_0x1867bf['ldjic'],'headers':{'Content-Type':_0x3b2e00(0x149)},'body':new URLSearchParams({'client_id':_0x53adf1,'grant_type':_0x1867bf['UMNmx'],'refresh_token':_0x39e993,'organization_id':_0x33d705})});if(!_0x2a899f['ok']){const _0x502647=await _0x2a899f[_0x3b2e00(0x145)]();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x2a899f[_0x3b2e00(0x132)]+'\x20'+_0x502647);}return _0x2a899f['json']();}async function provisionCliToken(_0x26af5c){const _0x2eca45=_0x5dd3d8,_0x53fccd={'vdHEZ':function(_0xd4493b){return _0xd4493b();},'tLcxv':_0x2eca45(0x14c)},_0x5ef2c1=_0x53fccd[_0x2eca45(0x12b)](getApiBaseUrl),_0x2941c1=await fetch(_0x5ef2c1+'/cli-auth/token',{'method':_0x53fccd['tLcxv'],'headers':{'Content-Type':'application/json','workos-token':_0x26af5c}});if(!_0x2941c1['ok']){const _0x43038a=await _0x2941c1['text']();throw new Error(_0x2eca45(0x141)+_0x2941c1['status']+'\x20'+_0x43038a);}return _0x2941c1['json']();}export async function runDeviceAuthFlow(){const _0x1fe4bb=_0x5dd3d8,_0x45888e={'ZQcMF':function(_0x488dd6,_0x52b6ec){return _0x488dd6(_0x52b6ec);},'aaTWJ':function(_0x80c9da,_0x3ef140,_0x467118,_0x1af6dd,_0x243c58){return _0x80c9da(_0x3ef140,_0x467118,_0x1af6dd,_0x243c58);},'xqREH':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','TdAhp':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','goNKp':_0x1fe4bb(0x13b),'VYboc':_0x1fe4bb(0x162),'XPugL':'Provisioning\x20CLI\x20token...','usGZJ':function(_0x2f1522,_0x4f9fd4){return _0x2f1522(_0x4f9fd4);}},_0x44d390=getCurrentEnvironment(),_0x1a4b8f=ENVIRONMENT_CONFIGS[_0x44d390][_0x1fe4bb(0x135)],_0x10fa66=await _0x45888e[_0x1fe4bb(0x15e)](requestDeviceCode,_0x1a4b8f);console['log'](_0x1fe4bb(0x129)),console['log'](_0x1fe4bb(0x163)),openBrowser(_0x10fa66[_0x1fe4bb(0x11b)]),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x10fa66[_0x1fe4bb(0x11b)]),console['log'](_0x1fe4bb(0x118)+_0x10fa66['user_code']+'\x0a'),process['stdout'][_0x1fe4bb(0x11d)]('Waiting\x20for\x20authentication...');let _0x25a761=await _0x45888e[_0x1fe4bb(0x142)](pollForTokens,_0x1a4b8f,_0x10fa66['device_code'],_0x10fa66['interval'],_0x10fa66[_0x1fe4bb(0x125)]);console['log']('\x20✓');const _0x2628e3=decodeJwtPayload(_0x25a761[_0x1fe4bb(0x14d)]);if(!_0x2628e3[_0x1fe4bb(0x158)]){const _0x31486e=await fetchMyMemberships(_0x25a761['access_token']);let _0x364e41;if(_0x31486e[_0x1fe4bb(0x11e)]===0x0){process['stdout']['write'](_0x1fe4bb(0x14b));const _0x40fdb4=await selfServeSignup(_0x25a761['access_token']);_0x364e41=_0x40fdb4[_0x1fe4bb(0x15a)],console[_0x1fe4bb(0x116)]('\x20✓');}else{if(_0x31486e[_0x1fe4bb(0x11e)]===0x1)_0x364e41=_0x31486e[0x0]['organizationId'],console['log']('Using\x20organization:\x20'+_0x31486e[0x0]['name']);else{const _0x3f3f11=process[_0x1fe4bb(0x115)][_0x1fe4bb(0x160)]&&process[_0x1fe4bb(0x14e)]['isTTY'];if(!_0x3f3f11)throw new Error(_0x45888e[_0x1fe4bb(0x12d)]+_0x45888e[_0x1fe4bb(0x14f)]);const {selected:_0xcaa6b4}=await _0x4d586a['prompt']([{'type':'list','name':_0x45888e[_0x1fe4bb(0x12f)],'message':_0x45888e['VYboc'],'choices':_0x31486e['map'](_0x1d87f9=>({'name':_0x1d87f9['name'],'value':_0x1d87f9[_0x1fe4bb(0x15a)]}))}]);_0x364e41=_0xcaa6b4;}}_0x25a761=await refreshTokenWithOrg(_0x1a4b8f,_0x25a761['refresh_token'],_0x364e41);}process[_0x1fe4bb(0x14e)][_0x1fe4bb(0x11d)](_0x45888e[_0x1fe4bb(0x151)]);const _0x21aac4=await _0x45888e[_0x1fe4bb(0x15e)](provisionCliToken,_0x25a761[_0x1fe4bb(0x14d)]);return console['log']('\x20✓'),await _0x45888e['usGZJ'](storeToken,_0x21aac4[_0x1fe4bb(0x127)]),_0x25a761['refresh_token']&&await storeRefreshToken(_0x25a761[_0x1fe4bb(0x134)]),_0x21aac4['token'];}function _0x43ea(){const _0x5118c2=['160147vUZkIb','36816MquFhx','7qPwLcx','platform','selected','from','mcp:write','RzDXw','\x27s\x20CLI\x20Key','XSxLt','Failed\x20to\x20provision\x20CLI\x20token:\x20','aaTWJ','/organization/self-serve-signup','ohQQL','text','/api-keys','GET','2857808tlvLwA','application/x-www-form-urlencoded','parse','Setting\x20up\x20your\x20organization...','POST','access_token','stdout','TdAhp','KuNHP','XPugL','1228950jbySst','Pmots','urMAD','name','Failed\x20to\x20create\x20organization:\x20','gLLuP','org_id','bbcLy','organizationId','memberships','error_description','split','ZQcMF','startsWith','isTTY','utf-8','Select\x20an\x20organization:','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','2497564BLdFzR','5zdaaSN','ZCUKC','NDOMh','stdin','log','Invalid\x20JWT\x20format','Code:\x20','Authentication\x20failed','/organization/me','verification_uri_complete','QqWzA','write','length','qQfIs','https://api.workos.com/user_management/authenticate','343764bdinBq','slow_down','Failed\x20to\x20request\x20device\x20code:\x20','cmd','expires_in','LHeTw','token','dKDgw','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','Ndicq','vdHEZ','cXZzI','xqREH','UdqGh','goNKp','error','3745296tucaJc','status','json','refresh_token','workosClientId','ignore'];_0x43ea=function(){return _0x5118c2;};return _0x43ea();}function sleep(_0x515122){return new Promise(_0x369b5c=>setTimeout(_0x369b5c,_0x515122));}
|
|
1
|
+
(function(_0x450d74,_0x4e8913){const _0x506cb1=_0x3073,_0x3744ae=_0x450d74();while(!![]){try{const _0x3a1e08=parseInt(_0x506cb1(0x1cc))/0x1+-parseInt(_0x506cb1(0x1d7))/0x2*(parseInt(_0x506cb1(0x1c2))/0x3)+-parseInt(_0x506cb1(0x1fd))/0x4+parseInt(_0x506cb1(0x1e3))/0x5*(-parseInt(_0x506cb1(0x211))/0x6)+parseInt(_0x506cb1(0x1fe))/0x7*(-parseInt(_0x506cb1(0x1dc))/0x8)+-parseInt(_0x506cb1(0x215))/0x9*(parseInt(_0x506cb1(0x1fb))/0xa)+parseInt(_0x506cb1(0x1cd))/0xb;if(_0x3a1e08===_0x4e8913)break;else _0x3744ae['push'](_0x3744ae['shift']());}catch(_0x3e919c){_0x3744ae['push'](_0x3744ae['shift']());}}}(_0x397a,0x9cbe6));import{spawn}from'child_process';import _0x44a19d from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';function _0x397a(){const _0x4e1256=['from','POST','413577yvUqCA','zJujk','MyFYF','KounT','application/x-www-form-urlencoded','unref','Authentication\x20failed','length','xdg-open','5553zMYGKd','split','org_id','/api-keys','OkKuh','map','name','list','RPHhB','ryntH','912107XxhBTM','38332954rpcKBm','fNjOu','Using\x20organization:\x20','uVxdA','DzWol','nUOdx','knoWS','selected','FaGqk','log','1142jflNUb','Failed\x20to\x20request\x20device\x20code:\x20','yKbYU','PDkhv','expires_in','5216856CnjcsJ','firstName','token','json','SkvBw','Setting\x20up\x20your\x20organization...','error_description','41920AvAyBd','NnRzs','device_code','verification_uri_complete','startsWith','Code:\x20','xTnFn','Invalid\x20JWT\x20format','status','application/json','memberships','jqdYv','start','ignore','now','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','isTTY','GET','write','Failed\x20to\x20fetch\x20memberships:\x20','workosClientId','base64url','stdout','130cxoTHa','/organization/self-serve-signup','4787848bnxJse','7vpxEbD','Failed\x20to\x20provision\x20CLI\x20token:\x20','error','filter','miZEz','Sonrb','jjqtu','Select\x20an\x20organization:','interval','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','open','access_token','organizationId','vSUwJ','email','EMRxb','text','vWksx','refresh_token','180wkZrbK','platform'];_0x397a=function(){return _0x4e1256;};return _0x397a();}import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0x464ad3){const _0x19a8c2=_0x3073,_0x2e71d7={'ryntH':'POST','jjqtu':'application/x-www-form-urlencoded'},_0x4b7bac=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x2e71d7[_0x19a8c2(0x1cb)],'headers':{'Content-Type':_0x2e71d7[_0x19a8c2(0x204)]},'body':new URLSearchParams({'client_id':_0x464ad3})});if(!_0x4b7bac['ok']){const _0x46c87a=await _0x4b7bac['text']();throw new Error(_0x19a8c2(0x1d8)+_0x4b7bac['status']+'\x20'+_0x46c87a);}return _0x4b7bac[_0x19a8c2(0x1df)]();}export async function pollForTokens(_0x4e1904,_0xfcd7dd,_0x98c61e,_0x3962b6){const _0x509cff=_0x3073,_0x1b6968={'nlNtW':function(_0x16f583,_0x52d81b){return _0x16f583+_0x52d81b;},'PDkhv':function(_0x4793c7,_0x560ad0){return _0x4793c7<_0x560ad0;},'yjaNh':function(_0x5ed402,_0x179ee4){return _0x5ed402(_0x179ee4);},'LrKHW':_0x509cff(0x1bd),'ldWpv':'authorization_pending','uVxdA':function(_0x2a6fcc,_0x4e52bb){return _0x2a6fcc===_0x4e52bb;},'IOSvU':'slow_down','vWksx':_0x509cff(0x1bf),'KounT':'Device\x20authorization\x20timed\x20out'},_0x52b181=_0x1b6968['nlNtW'](Date[_0x509cff(0x1f1)](),_0x3962b6*0x3e8);let _0x4cbdf1=_0x98c61e*0x3e8;while(_0x1b6968[_0x509cff(0x1da)](Date['now'](),_0x52b181)){await _0x1b6968['yjaNh'](sleep,_0x4cbdf1);const _0x4cb9de=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x1b6968['LrKHW']},'body':new URLSearchParams({'client_id':_0x4e1904,'device_code':_0xfcd7dd,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x4cb9de['ok'])return _0x4cb9de[_0x509cff(0x1df)]();const _0x4c5834=await _0x4cb9de[_0x509cff(0x1df)]();if(_0x4c5834['error']===_0x1b6968['ldWpv'])continue;if(_0x1b6968[_0x509cff(0x1d0)](_0x4c5834[_0x509cff(0x200)],_0x1b6968['IOSvU'])){_0x4cbdf1+=0x3e8;continue;}throw new Error(_0x4c5834[_0x509cff(0x1e2)]||_0x4c5834[_0x509cff(0x200)]||_0x1b6968[_0x509cff(0x20f)]);}throw new Error(_0x1b6968[_0x509cff(0x1bc)]);}async function fetchUserProfile(_0x53d1e4){const _0x5bf3ef=_0x3073,_0x526f67={'BSLMX':function(_0x2a328d){return _0x2a328d();},'jqdYv':function(_0x67858e,_0x408c4b,_0x23c08a){return _0x67858e(_0x408c4b,_0x23c08a);},'bVQrb':'GET'},_0x25a7ee=_0x526f67['BSLMX'](getApiBaseUrl);try{const _0x583295=await _0x526f67[_0x5bf3ef(0x1ee)](fetch,_0x25a7ee+'/organization/me',{'method':_0x526f67['bVQrb'],'headers':{'workos-token':_0x53d1e4}});if(_0x583295['ok'])return _0x583295[_0x5bf3ef(0x1df)]();}catch{}return null;}function buildKeyName(_0x4babf0,_0x510c33){const _0x5a0e14=_0x3073,_0x451bd5={'FaGqk':function(_0x4d38a8,_0x594e52){return _0x4d38a8===_0x594e52;},'nUOdx':function(_0x1b4fa7,_0x253c90){return _0x1b4fa7+_0x253c90;}},_0x51ca26=_0x510c33[_0x5a0e14(0x201)](_0x1499d3=>_0x1499d3[_0x5a0e14(0x1c8)]===_0x4babf0||_0x1499d3['name'][_0x5a0e14(0x1e7)](_0x4babf0+'\x20('));if(_0x451bd5[_0x5a0e14(0x1d5)](_0x51ca26['length'],0x0))return _0x4babf0;return _0x4babf0+'\x20('+_0x451bd5[_0x5a0e14(0x1d2)](_0x51ca26[_0x5a0e14(0x1c0)],0x1)+')';}export async function provisionApiKey(_0x54b47d){const _0x2d23a2=_0x3073,_0x1577d6={'xTnFn':function(_0x59e125,_0x5ef56b,_0x38abf4){return _0x59e125(_0x5ef56b,_0x38abf4);},'Mgbzq':'GET','QCtfD':function(_0x309b5f,_0x5c49d8,_0x261563){return _0x309b5f(_0x5c49d8,_0x261563);},'vAoWU':'POST'},_0x4ff00c=getApiBaseUrl(),_0x13b5ba={'Content-Type':'application/json','workos-token':_0x54b47d},_0x2a552f=await fetchUserProfile(_0x54b47d),_0x10c241=_0x2a552f?.[_0x2d23a2(0x1dd)]||_0x2a552f?.[_0x2d23a2(0x20c)]?.[_0x2d23a2(0x1c3)]('@')[0x0],_0x3f7f41=_0x10c241?_0x10c241+'\x27s\x20CLI\x20Key':'CLI\x20Key';let _0x3875e2=[];try{const _0x5a6fcf=await _0x1577d6[_0x2d23a2(0x1e9)](fetch,_0x4ff00c+_0x2d23a2(0x1c5),{'method':_0x1577d6['Mgbzq'],'headers':_0x13b5ba});if(_0x5a6fcf['ok']){const _0x1de3ee=await _0x5a6fcf[_0x2d23a2(0x1df)]();_0x3875e2=_0x1de3ee['apiKeys'];}}catch{}const _0x47c0a4=buildKeyName(_0x3f7f41,_0x3875e2),_0x357d4f=await _0x1577d6['QCtfD'](fetch,_0x4ff00c+'/api-keys',{'method':_0x1577d6['vAoWU'],'headers':_0x13b5ba,'body':JSON['stringify']({'name':_0x47c0a4,'scope':'mcp:write'})});if(!_0x357d4f['ok']){const _0x24518c=await _0x357d4f['text']();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x357d4f['status']+'\x20'+_0x24518c);}const _0x5bd19c=await _0x357d4f[_0x2d23a2(0x1df)]();return _0x5bd19c['apiKey'][_0x2d23a2(0x1de)];}export function openBrowser(_0x47763b){const _0x591ed2=_0x3073,_0x502499={'MyFYF':function(_0x8e2f1c,_0x4e0682){return _0x8e2f1c===_0x4e0682;},'vWSyR':'win32','DzWol':function(_0x27a8db,_0x225dae,_0x1c926e,_0x9eb08d){return _0x27a8db(_0x225dae,_0x1c926e,_0x9eb08d);},'knoWS':'cmd','XYelx':_0x591ed2(0x1ef),'zJujk':function(_0x1fcb9d,_0x3af1dc){return _0x1fcb9d===_0x3af1dc;},'OkKuh':'darwin','NnRzs':_0x591ed2(0x1c1),'Sonrb':function(_0x4432d0,_0xd3065f,_0x53bd81,_0x2ac095){return _0x4432d0(_0xd3065f,_0x53bd81,_0x2ac095);},'ZbHYk':_0x591ed2(0x1f0)};try{if(_0x502499[_0x591ed2(0x1bb)](process[_0x591ed2(0x212)],_0x502499['vWSyR'])){const _0x45e507=_0x502499[_0x591ed2(0x1d1)](spawn,_0x502499[_0x591ed2(0x1d3)],['/c',_0x502499['XYelx'],'',_0x47763b],{'detached':!![],'stdio':'ignore','windowsHide':!![]});_0x45e507[_0x591ed2(0x1be)]();return;}const _0xbf57d2=_0x502499[_0x591ed2(0x1ba)](process[_0x591ed2(0x212)],_0x502499[_0x591ed2(0x1c6)])?_0x591ed2(0x208):_0x502499[_0x591ed2(0x1e4)],_0x4975f7=_0x502499[_0x591ed2(0x203)](spawn,_0xbf57d2,[_0x47763b],{'detached':!![],'stdio':_0x502499['ZbHYk']});_0x4975f7[_0x591ed2(0x1be)]();}catch{}}function decodeJwtPayload(_0x337205){const _0x30b18a=_0x3073,_0x5c889e={'RPHhB':'utf-8'},_0x2c1131=_0x337205[_0x30b18a(0x1c3)]('.');if(_0x2c1131[_0x30b18a(0x1c0)]!==0x3)throw new Error(_0x30b18a(0x1ea));const _0x479f72=Buffer[_0x30b18a(0x213)](_0x2c1131[0x1],_0x30b18a(0x1f9))['toString'](_0x5c889e[_0x30b18a(0x1ca)]);return JSON['parse'](_0x479f72);}async function selfServeSignup(_0x50a024){const _0x31646e=_0x3073,_0x597d23={'esHcy':function(_0x44681a,_0x2bfcb3,_0x4266e9){return _0x44681a(_0x2bfcb3,_0x4266e9);}},_0x138df5=getApiBaseUrl(),_0x3413ff=await _0x597d23['esHcy'](fetch,_0x138df5+_0x31646e(0x1fc),{'method':'POST','headers':{'Content-Type':_0x31646e(0x1ec),'workos-token':_0x50a024}});if(!_0x3413ff['ok']){const _0x28c31e=await _0x3413ff['text']();throw new Error('Failed\x20to\x20create\x20organization:\x20'+_0x3413ff[_0x31646e(0x1eb)]+'\x20'+_0x28c31e);}return _0x3413ff[_0x31646e(0x1df)]();}async function fetchMyMemberships(_0x100841){const _0x2b2d8f=_0x3073,_0x2cf071={'miZEz':function(_0x1b54d2,_0x2fc8aa,_0x302ca5){return _0x1b54d2(_0x2fc8aa,_0x302ca5);},'SCzAl':_0x2b2d8f(0x1f5)},_0xa86d7=getApiBaseUrl(),_0x28e13c=await _0x2cf071[_0x2b2d8f(0x202)](fetch,_0xa86d7+'/organization/my-memberships',{'method':_0x2cf071['SCzAl'],'headers':{'workos-token':_0x100841}});if(!_0x28e13c['ok']){const _0x5e7f36=await _0x28e13c[_0x2b2d8f(0x20e)]();throw new Error(_0x2b2d8f(0x1f7)+_0x28e13c[_0x2b2d8f(0x1eb)]+'\x20'+_0x5e7f36);}const _0x47e58f=await _0x28e13c[_0x2b2d8f(0x1df)]();return _0x47e58f[_0x2b2d8f(0x1ed)];}async function refreshTokenWithOrg(_0x21e954,_0x2aff13,_0x1cc25c){const _0x362957=_0x3073,_0x4c9c09={'XffkZ':function(_0x32140e,_0x353418,_0x40e162){return _0x32140e(_0x353418,_0x40e162);},'opOVy':_0x362957(0x1bd),'iGwes':_0x362957(0x210)},_0x50bd93=await _0x4c9c09['XffkZ'](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x4c9c09['opOVy']},'body':new URLSearchParams({'client_id':_0x21e954,'grant_type':_0x4c9c09['iGwes'],'refresh_token':_0x2aff13,'organization_id':_0x1cc25c})});if(!_0x50bd93['ok']){const _0x3d8eee=await _0x50bd93[_0x362957(0x20e)]();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x50bd93['status']+'\x20'+_0x3d8eee);}return _0x50bd93[_0x362957(0x1df)]();}function _0x3073(_0x10b433,_0x68ff86){_0x10b433=_0x10b433-0x1ba;const _0x397aa8=_0x397a();let _0x3073a2=_0x397aa8[_0x10b433];return _0x3073a2;}async function provisionCliToken(_0x2a8bfa){const _0x1cfa99=_0x3073,_0x319d5c={'xHahA':function(_0x20f250){return _0x20f250();},'yKbYU':function(_0x4de1a8,_0x39b2bc,_0x2a8ae3){return _0x4de1a8(_0x39b2bc,_0x2a8ae3);},'QslWG':_0x1cfa99(0x214),'WAoTf':_0x1cfa99(0x1ec)},_0x6758=_0x319d5c['xHahA'](getApiBaseUrl),_0x3475c3=await _0x319d5c[_0x1cfa99(0x1d9)](fetch,_0x6758+'/cli-auth/token',{'method':_0x319d5c['QslWG'],'headers':{'Content-Type':_0x319d5c['WAoTf'],'workos-token':_0x2a8bfa}});if(!_0x3475c3['ok']){const _0x5cb047=await _0x3475c3[_0x1cfa99(0x20e)]();throw new Error(_0x1cfa99(0x1ff)+_0x3475c3['status']+'\x20'+_0x5cb047);}return _0x3475c3[_0x1cfa99(0x1df)]();}export async function runDeviceAuthFlow(){const _0x3130d6=_0x3073,_0x5211df={'wBXgh':function(_0x4c4b61){return _0x4c4b61();},'fNjOu':function(_0x524d77,_0x283e13){return _0x524d77(_0x283e13);},'ZdTMi':_0x3130d6(0x1f3),'SkvBw':function(_0x1b7c50,_0xc87001){return _0x1b7c50(_0xc87001);},'iyIBN':_0x3130d6(0x207),'vSUwJ':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','auUTZ':_0x3130d6(0x1d4),'nXpff':function(_0xeccfbe,_0xc122eb,_0x551fd8,_0x4b7af9){return _0xeccfbe(_0xc122eb,_0x551fd8,_0x4b7af9);},'EMRxb':'Provisioning\x20CLI\x20token...'},_0xaec1a3=_0x5211df['wBXgh'](getCurrentEnvironment),_0x33e6d7=ENVIRONMENT_CONFIGS[_0xaec1a3][_0x3130d6(0x1f8)],_0x2d48b5=await _0x5211df[_0x3130d6(0x1ce)](requestDeviceCode,_0x33e6d7);console['log'](_0x5211df['ZdTMi']),console[_0x3130d6(0x1d6)](_0x3130d6(0x1f2)),_0x5211df[_0x3130d6(0x1e0)](openBrowser,_0x2d48b5[_0x3130d6(0x1e6)]),console[_0x3130d6(0x1d6)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x2d48b5[_0x3130d6(0x1e6)]),console[_0x3130d6(0x1d6)](_0x3130d6(0x1e8)+_0x2d48b5['user_code']+'\x0a'),process['stdout'][_0x3130d6(0x1f6)]('Waiting\x20for\x20authentication...');let _0x79c713=await pollForTokens(_0x33e6d7,_0x2d48b5[_0x3130d6(0x1e5)],_0x2d48b5[_0x3130d6(0x206)],_0x2d48b5[_0x3130d6(0x1db)]);console[_0x3130d6(0x1d6)]('\x20✓');const _0x45fff1=decodeJwtPayload(_0x79c713[_0x3130d6(0x209)]);if(!_0x45fff1[_0x3130d6(0x1c4)]){const _0x50e3ad=await fetchMyMemberships(_0x79c713[_0x3130d6(0x209)]);let _0x2da1d6;if(_0x50e3ad[_0x3130d6(0x1c0)]===0x0){process['stdout'][_0x3130d6(0x1f6)](_0x3130d6(0x1e1));const _0x11d6f8=await _0x5211df[_0x3130d6(0x1e0)](selfServeSignup,_0x79c713[_0x3130d6(0x209)]);_0x2da1d6=_0x11d6f8[_0x3130d6(0x20a)],console[_0x3130d6(0x1d6)]('\x20✓');}else{if(_0x50e3ad['length']===0x1)_0x2da1d6=_0x50e3ad[0x0][_0x3130d6(0x20a)],console[_0x3130d6(0x1d6)](_0x3130d6(0x1cf)+_0x50e3ad[0x0]['name']);else{const _0x36397e=process['stdin'][_0x3130d6(0x1f4)]&&process[_0x3130d6(0x1fa)]['isTTY'];if(!_0x36397e)throw new Error(_0x5211df['iyIBN']+_0x5211df[_0x3130d6(0x20b)]);const {selected:_0x3872c4}=await _0x44a19d['prompt']([{'type':_0x3130d6(0x1c9),'name':_0x5211df['auUTZ'],'message':_0x3130d6(0x205),'choices':_0x50e3ad[_0x3130d6(0x1c7)](_0xcbbcc2=>({'name':_0xcbbcc2['name'],'value':_0xcbbcc2[_0x3130d6(0x20a)]}))}]);_0x2da1d6=_0x3872c4;}}_0x79c713=await _0x5211df['nXpff'](refreshTokenWithOrg,_0x33e6d7,_0x79c713['refresh_token'],_0x2da1d6);}process[_0x3130d6(0x1fa)][_0x3130d6(0x1f6)](_0x5211df[_0x3130d6(0x20d)]);const _0x3ebcb8=await provisionCliToken(_0x79c713['access_token']);return console['log']('\x20✓'),await _0x5211df['fNjOu'](storeToken,_0x3ebcb8['token']),_0x79c713['refresh_token']&&await storeRefreshToken(_0x79c713['refresh_token']),_0x3ebcb8['token'];}function sleep(_0x6b1c1){return new Promise(_0x5d1232=>setTimeout(_0x5d1232,_0x6b1c1));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x4e4d91=_0x5224;(function(_0x2706f5,_0x110c07){const _0x3b6c67=_0x5224,_0x45ec3b=_0x2706f5();while(!![]){try{const _0x3c7bac=parseInt(_0x3b6c67(0xe2))/0x1+parseInt(_0x3b6c67(0xd9))/0x2+-parseInt(_0x3b6c67(0xd1))/0x3*(-parseInt(_0x3b6c67(0xd0))/0x4)+-parseInt(_0x3b6c67(0xdc))/0x5*(parseInt(_0x3b6c67(0xce))/0x6)+-parseInt(_0x3b6c67(0xd5))/0x7+parseInt(_0x3b6c67(0xd2))/0x8+-parseInt(_0x3b6c67(0xd6))/0x9;if(_0x3c7bac===_0x110c07)break;else _0x45ec3b['push'](_0x45ec3b['shift']());}catch(_0x23fab1){_0x45ec3b['push'](_0x45ec3b['shift']());}}}(_0x359d,0xcd181));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':'client_01J9CBYM7M5ZETCF7G6614DXR2','aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':_0x4e4d91(0xd3)},'staging':{'apiBaseUrl':'https://api.staging.ranger.net','workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0x4e4d91(0xeb),'mcpAuthUrl':'https://mcp-auth.staging.ranger.net/mcp'},'local':{'apiBaseUrl':_0x4e4d91(0xdd),'workosClientId':_0x4e4d91(0xe6),'aiProxyUrl':'http://localhost:8090','mcpAuthUrl':'http://localhost:8080/mcp'}};export const DEFAULT_ENVIRONMENT='prod';export function isValidEnvironment(_0x545e14){return _0x545e14==='prod'||_0x545e14==='staging'||_0x545e14==='local';}export function getCurrentEnvironment(){const _0x107d48=_0x4e4d91,_0x236431=process[_0x107d48(0xcd)][_0x107d48(0xd7)];if(_0x236431&&isValidEnvironment(_0x236431))return _0x236431;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x32b22d=_0x4e4d91;return ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x32b22d(0xee)];}export function getAiProxyUrl(){const _0x5510c7=_0x4e4d91,_0x550aeb={'kROyP':function(_0x36289f){return _0x36289f();}};return ENVIRONMENT_CONFIGS[_0x550aeb[_0x5510c7(0xe5)](getCurrentEnvironment)][_0x5510c7(0xe8)];}export function getMcpAuthUrl(){const _0xa01fc3=_0x4e4d91,_0x4a57af={'EjTsn':function(_0x48785a){return _0x48785a();}};return process[_0xa01fc3(0xcd)][_0xa01fc3(0xe9)]??ENVIRONMENT_CONFIGS[_0x4a57af[_0xa01fc3(0xcf)](getCurrentEnvironment)]['mcpAuthUrl'];}function _0x359d(){const _0x43a382=['SiDcr','apiBaseUrl','\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.','env','6YSQyat','EjTsn','44rJBVRR','6441GUTAls','12891896mrjeWo','https://mcp-auth.ranger.net/mcp','RANGER_DISABLE_MCP','2557520GXrUJB','16354233QbKayF','RANGER_CLI_ENV','trim','3155548mnlJjR','[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22','off','3917810YAdMsJ','http://localhost:8080','nova-act-cli','Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.','rHybA','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','593246MYVZhF','ZgfMH','cYgtV','kROyP','client_01J9CBYM2DKWV9HM17D95Z540K','mtBDk','aiProxyUrl','RANGER_MCP_AUTH_URL','rangerwright-cli','https://ai-proxy-301751771437.us-central1.run.app','RANGER_USE_NOVA_ACT'];_0x359d=function(){return _0x43a382;};return _0x359d();}function _0x5224(_0x11a574,_0x532359){_0x11a574=_0x11a574-0xcc;const _0x359dc9=_0x359d();let _0x522418=_0x359dc9[_0x11a574];return _0x522418;}export function isByokEnabled(){const _0x450f33=_0x4e4d91;return process[_0x450f33(0xcd)]['RANGER_BYOK']==='true';}function isVerificationTransport(_0x32f3e0){const _0x4ad8f0=_0x4e4d91,_0x4c6fa5={'cYgtV':function(_0x46cc6b,_0xc41e3a){return _0x46cc6b===_0xc41e3a;},'xqyfP':'playwright-cli','EnGMM':_0x4ad8f0(0xde),'rHybA':_0x4ad8f0(0xea)};return _0x4c6fa5[_0x4ad8f0(0xe4)](_0x32f3e0,'mcp')||_0x32f3e0===_0x4c6fa5['xqyfP']||_0x32f3e0===_0x4c6fa5['EnGMM']||_0x32f3e0===_0x4c6fa5[_0x4ad8f0(0xe0)];}const LEGACY_TRANSPORT_ENV_VARS=[_0x4e4d91(0xec),_0x4e4d91(0xd4)];export function getVerificationTransport(){const _0x1689be=_0x4e4d91,_0x164e30={'ZgfMH':function(_0x13572e,_0x32ecea){return _0x13572e(_0x32ecea);},'rfLBk':'mcp'},_0x295f70=process[_0x1689be(0xcd)]['RANGER_TRANSPORT']?.[_0x1689be(0xd8)]();if(_0x295f70){if(_0x164e30[_0x1689be(0xe3)](isVerificationTransport,_0x295f70))return _0x295f70;throw new Error('Invalid\x20RANGER_TRANSPORT=\x22'+_0x295f70+_0x1689be(0xcc));}const _0x7f0c37=LEGACY_TRANSPORT_ENV_VARS['find'](_0x51be06=>process[_0x1689be(0xcd)][_0x51be06]);if(_0x7f0c37)throw new Error(_0x7f0c37+_0x1689be(0xe1));return _0x164e30['rfLBk'];}export function resolveHookMode(_0x3ecb11=process[_0x4e4d91(0xcd)]){const _0x3a9876=_0x4e4d91,_0x19dcf9={'SiDcr':function(_0x59f4cb,_0x2b13a5){return _0x59f4cb===_0x2b13a5;},'mtBDk':_0x3a9876(0xdb),'mWtjB':function(_0x4dff83,_0x48073b){return _0x4dff83+_0x48073b;}},_0x3b3f28=_0x3ecb11['RANGER_HOOKS']?.[_0x3a9876(0xd8)]()['toLowerCase']();if(!_0x3b3f28)return'auto';if(_0x19dcf9[_0x3a9876(0xed)](_0x3b3f28,_0x19dcf9[_0x3a9876(0xe7)])||_0x19dcf9['SiDcr'](_0x3b3f28,'on')||_0x3b3f28==='auto')return _0x3b3f28;return console['error'](_0x19dcf9['mWtjB'](_0x3a9876(0xda)+_0x3ecb11['RANGER_HOOKS']+'\x22.\x20',_0x3a9876(0xdf))),'auto';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x18f771,_0xf71aae){const _0x253b9e=_0x2c7a,_0xad5e20=_0x18f771();while(!![]){try{const _0x11fa5e=-parseInt(_0x253b9e(0x9f))/0x1*(-parseInt(_0x253b9e(0xb7))/0x2)+parseInt(_0x253b9e(0xb6))/0x3+parseInt(_0x253b9e(0x9c))/0x4*(-parseInt(_0x253b9e(0xb5))/0x5)+-parseInt(_0x253b9e(0xbb))/0x6*(-parseInt(_0x253b9e(0xb8))/0x7)+-parseInt(_0x253b9e(0xa9))/0x8*(-parseInt(_0x253b9e(0xc0))/0x9)+parseInt(_0x253b9e(0x94))/0xa*(-parseInt(_0x253b9e(0xb1))/0xb)+-parseInt(_0x253b9e(0xac))/0xc*(-parseInt(_0x253b9e(0xb4))/0xd);if(_0x11fa5e===_0xf71aae)break;else _0xad5e20['push'](_0xad5e20['shift']());}catch(_0x198f26){_0xad5e20['push'](_0xad5e20['shift']());}}}(_0x4966,0xf288d));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x263a9c){const _0x44865d=_0x2c7a,_0x15d10d={'FIton':function(_0x2cb0fb){return _0x2cb0fb();},'kktXx':function(_0x34dbdf){return _0x34dbdf();},'foJlC':function(_0x1b9b92,_0x3e0625,_0x243908){return _0x1b9b92(_0x3e0625,_0x243908);},'UJtgM':function(_0x396651,_0x2eb96b){return _0x396651===_0x2eb96b;},'tYJFv':'Feature\x20limit\x20exceeded'},_0x1f3292=await _0x15d10d[_0x44865d(0x73)](getToken);if(!_0x1f3292)throw new Error(_0x44865d(0xaa));const _0x387660=_0x15d10d[_0x44865d(0x9d)](getApiBaseUrl),_0x2eae16=await _0x15d10d['foJlC'](fetch,_0x387660+'/api/v1/mcp/features',{'method':_0x44865d(0xa0),'headers':{'Authorization':_0x44865d(0xb2)+_0x1f3292,'Content-Type':_0x44865d(0x92)},'body':JSON[_0x44865d(0x88)](_0x263a9c)});if(!_0x2eae16['ok']){if(_0x15d10d['UJtgM'](_0x2eae16[_0x44865d(0x71)],0x192)){const _0x3f282d=await _0x2eae16[_0x44865d(0x8f)](),_0x4d60df=_0x3f282d['billingUrl']||_0x44865d(0xba);throw new Error((_0x3f282d['message']||_0x15d10d['tYJFv'])+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x4d60df);}const _0x343425=await _0x2eae16[_0x44865d(0xab)]();throw new Error(_0x44865d(0x87)+_0x343425);}return _0x2eae16[_0x44865d(0x8f)]();}export async function listFeatures(_0x4130be){const _0x104039=_0x2c7a,_0x2b9e11={'BYLZL':function(_0x20a264){return _0x20a264();},'pCiCA':function(_0x5e5ef4){return _0x5e5ef4();},'CsHLd':_0x104039(0x98),'ARapR':_0x104039(0x78),'SCoKN':_0x104039(0xae),'ZwCac':'GET'},_0x2acc5b=await _0x2b9e11[_0x104039(0x7e)](getToken);if(!_0x2acc5b)throw new Error(_0x104039(0xaa));const _0x50e74f=_0x2b9e11['pCiCA'](getApiBaseUrl),_0xe062d1=new URLSearchParams();if(_0x4130be?.[_0x104039(0x98)])_0xe062d1[_0x104039(0x8c)](_0x2b9e11['CsHLd'],_0x4130be['gitRepoUrl']);if(_0x4130be?.['gitBranch'])_0xe062d1['set']('gitBranch',_0x4130be['gitBranch']);if(_0x4130be?.['limit'])_0xe062d1['set'](_0x104039(0x86),_0x4130be['limit'][_0x104039(0x7b)]());if(_0x4130be?.['offset'])_0xe062d1[_0x104039(0x8c)](_0x2b9e11[_0x104039(0x97)],_0x4130be['offset'][_0x104039(0x7b)]());if(_0x4130be?.[_0x104039(0xa3)])_0xe062d1[_0x104039(0x8c)](_0x104039(0xa3),_0x2b9e11[_0x104039(0x8a)]);const _0x46584a=_0x50e74f+_0x104039(0x85)+(_0xe062d1[_0x104039(0x7b)]()?'?'+_0xe062d1['toString']():''),_0x680e37=await fetch(_0x46584a,{'method':_0x2b9e11[_0x104039(0x9b)],'headers':{'Authorization':'Bearer\x20'+_0x2acc5b}});if(!_0x680e37['ok']){const _0x2f452e=await _0x680e37['text']();throw new Error(_0x104039(0xbc)+_0x2f452e);}return _0x680e37['json']();}export async function getFeature(_0x4709dd){const _0x2c40a7=_0x2c7a,_0x63a822={'KsaqE':_0x2c40a7(0xaa),'eexLY':function(_0x3d035f){return _0x3d035f();},'uVfkf':function(_0x2245b9,_0x164899,_0x3aa535){return _0x2245b9(_0x164899,_0x3aa535);}},_0x41e152=await getToken();if(!_0x41e152)throw new Error(_0x63a822[_0x2c40a7(0xbf)]);const _0x3398cf=_0x63a822[_0x2c40a7(0xa1)](getApiBaseUrl),_0xc38ded=await _0x63a822[_0x2c40a7(0x6f)](fetch,_0x3398cf+_0x2c40a7(0x83)+_0x4709dd,{'method':_0x2c40a7(0xb0),'headers':{'Authorization':'Bearer\x20'+_0x41e152}});if(!_0xc38ded['ok']){const _0x374aed=await _0xc38ded[_0x2c40a7(0xab)]();throw new Error(_0x2c40a7(0xa5)+_0x374aed);}return _0xc38ded[_0x2c40a7(0x8f)]();}export async function updateFeature(_0x45447f,_0x3b543a){const _0x4d890b=_0x2c7a,_0x1b770f=await getToken();if(!_0x1b770f)throw new Error(_0x4d890b(0xaa));const _0x340bf3=getApiBaseUrl(),_0x540f02=await fetch(_0x340bf3+_0x4d890b(0x83)+_0x45447f,{'method':'PATCH','headers':{'Authorization':'Bearer\x20'+_0x1b770f,'Content-Type':_0x4d890b(0x92)},'body':JSON[_0x4d890b(0x88)](_0x3b543a)});if(!_0x540f02['ok']){const _0x4c7691=await _0x540f02['text']();throw new Error(_0x4d890b(0x93)+_0x4c7691);}return _0x540f02['json']();}function _0x2c7a(_0x5f3b4a,_0x446002){_0x5f3b4a=_0x5f3b4a-0x6f;const _0x496680=_0x4966();let _0x2c7aab=_0x496680[_0x5f3b4a];return _0x2c7aab;}export async function createChecklistItem(_0x1dcc72,_0x3b6ef5,_0x3e2bda){const _0xd677d2=_0x2c7a,_0x98b727={'rAzsG':function(_0x25aeb1){return _0x25aeb1();}},_0x33485e=await getToken();if(!_0x33485e)throw new Error(_0xd677d2(0xaa));const _0x453748=_0x98b727[_0xd677d2(0x7c)](getApiBaseUrl),_0x12a433=await fetch(_0x453748+'/api/v1/mcp/features/'+_0x1dcc72+_0xd677d2(0xa6),{'method':_0xd677d2(0xa0),'headers':{'Authorization':'Bearer\x20'+_0x33485e,'Content-Type':_0xd677d2(0x92)},'body':JSON['stringify']({'description':_0x3b6ef5,'position':_0x3e2bda})});if(!_0x12a433['ok']){const _0x591e5e=await _0x12a433['text']();throw new Error('Failed\x20to\x20create\x20scenario:\x20'+_0x591e5e);}return _0x12a433[_0xd677d2(0x8f)]();}export async function updateChecklistItem(_0x5288d9,_0x570693,_0x47d220){const _0x51af66=_0x2c7a,_0x42796d={'gsrhj':function(_0x5eaa90){return _0x5eaa90();},'oXWbw':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','AuFKP':function(_0x2c095d,_0x131266,_0x57abc9){return _0x2c095d(_0x131266,_0x57abc9);},'LudVm':_0x51af66(0xa4),'jnolX':_0x51af66(0x92),'hFrBE':_0x51af66(0x89)};return withRetry(async()=>{const _0x43ed61=_0x51af66,_0x59134c=await _0x42796d['gsrhj'](getToken);if(!_0x59134c)throw new Error(_0x42796d['oXWbw']);const _0x138824=_0x42796d[_0x43ed61(0x81)](getApiBaseUrl),_0x3cfb42=await _0x42796d[_0x43ed61(0x8d)](fetch,_0x138824+'/api/v1/mcp/features/'+_0x5288d9+_0x43ed61(0xa8)+_0x570693,{'method':_0x42796d['LudVm'],'headers':{'Authorization':'Bearer\x20'+_0x59134c,'Content-Type':_0x42796d['jnolX']},'body':JSON[_0x43ed61(0x88)](_0x47d220)});if(!_0x3cfb42['ok']){const _0x4aba3a=await _0x3cfb42['text']();throw new Error(_0x43ed61(0x77)+_0x4aba3a);}return _0x3cfb42[_0x43ed61(0x8f)]();},{'label':_0x42796d['hFrBE']});}export async function getFeatureReport(_0x2f8fac){const _0x57bf1e=_0x2c7a,_0x3496e2={'kEWYu':function(_0x4df0c3){return _0x4df0c3();},'YSGSK':_0x57bf1e(0xaa),'wmGvj':function(_0x5cce12,_0x200f35,_0x533049){return _0x5cce12(_0x200f35,_0x533049);}},_0x3b7eee=await _0x3496e2[_0x57bf1e(0x82)](getToken);if(!_0x3b7eee)throw new Error(_0x3496e2[_0x57bf1e(0x7a)]);const _0x2bb9c6=getApiBaseUrl(),_0x58c60d=await _0x3496e2[_0x57bf1e(0x80)](fetch,_0x2bb9c6+_0x57bf1e(0x83)+_0x2f8fac+_0x57bf1e(0x91),{'method':'GET','headers':{'Authorization':_0x57bf1e(0xb2)+_0x3b7eee}});if(!_0x58c60d['ok']){const _0x4b793b=await _0x58c60d[_0x57bf1e(0xab)]();throw new Error(_0x57bf1e(0x9e)+_0x4b793b);}return _0x58c60d['json']();}function _0x4966(){const _0x183d6b=['20shyhgq','kktXx','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','1NortBl','POST','eexLY','ABiVg','includeDeleted','PATCH','Failed\x20to\x20get\x20feature\x20review:\x20','/checklist','CcJQZ','/checklist/','44984SKjAMW','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','text','2916yYesMd','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','true','HIwSp','GET','44tEgbxL','Bearer\x20','/sessions/','32773JMmmSh','1915415ErMMBt','2861952IHkHpf','3089096SNaLHx','973bBOzTM','LLxMF','https://dashboard.ranger.net/billing','11868OsGEus','Failed\x20to\x20list\x20feature\x20reviews:\x20','ZAAZB','sessionId','KsaqE','1485jfyRWA','tLSqj','uVfkf','mmHCL','status','length','FIton','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','xXqTp','uEjCY','Failed\x20to\x20update\x20scenario:\x20','offset','Jluzg','YSGSK','toString','rAzsG','/report/markdown','BYLZL','mLERd','wmGvj','gsrhj','kEWYu','/api/v1/mcp/features/','Failed\x20to\x20get\x20action\x20items:\x20','/api/v1/mcp/features','limit','Failed\x20to\x20create\x20feature\x20review:\x20','stringify','updateChecklistItem','SCoKN','dIQWX','set','AuFKP','/comments/address','json','Failed\x20to\x20conclude\x20session:\x20','/report','application/json','Failed\x20to\x20update\x20feature\x20review:\x20','3512590gIUxKi','style','/sessions','ARapR','gitRepoUrl','/feedback','xeqZS','ZwCac'];_0x4966=function(){return _0x183d6b;};return _0x4966();}export async function getFeatureReportMarkdown(_0x3ef0be,_0x410133){const _0x37922d=_0x2c7a,_0x15b080={'CcJQZ':function(_0x47bc1e){return _0x47bc1e();},'uEjCY':_0x37922d(0xaa),'Tjdmn':'style'},_0x25f1b5=await _0x15b080[_0x37922d(0xa7)](getToken);if(!_0x25f1b5)throw new Error(_0x15b080[_0x37922d(0x76)]);const _0x11e6d6=getApiBaseUrl(),_0x4f36b9=new URLSearchParams(),_0x206b8e=(_0x410133?.['itemIds']?.[_0x37922d(0x72)]??0x0)>0x0,_0xb62bc8=Boolean(_0x410133?.[_0x37922d(0xbe)]);_0x206b8e&&_0x410133?.['itemIds']&&_0x4f36b9[_0x37922d(0x8c)]('itemIds',_0x410133['itemIds']['join'](','));_0xb62bc8&&_0x410133?.[_0x37922d(0xbe)]&&_0x4f36b9['set'](_0x37922d(0xbe),_0x410133[_0x37922d(0xbe)]);!_0x206b8e&&!_0xb62bc8&&_0x410133?.[_0x37922d(0x95)]&&_0x4f36b9['set'](_0x15b080['Tjdmn'],_0x410133['style']);const _0x25e03a=_0x11e6d6+_0x37922d(0x83)+_0x3ef0be+_0x37922d(0x7d),_0x4a06c6=''+_0x25e03a+(_0x4f36b9['toString']()?'?'+_0x4f36b9[_0x37922d(0x7b)]():''),_0x2c5ab3=await fetch(_0x4a06c6,{'method':_0x37922d(0xb0),'headers':{'Authorization':'Bearer\x20'+_0x25f1b5}});if(!_0x2c5ab3['ok']){const _0x144879=await _0x2c5ab3[_0x37922d(0xab)]();throw new Error(_0x37922d(0x74)+_0x144879);}return _0x2c5ab3[_0x37922d(0xab)]();}export async function listFeatureSessions(_0xa0b583){const _0x917979=_0x2c7a,_0x215ce0={'PYjaE':function(_0x31b3ee){return _0x31b3ee();},'kFJcU':_0x917979(0xaa),'fhfur':function(_0x1ca190){return _0x1ca190();},'mLERd':function(_0x14e4eb,_0x12fe7c,_0x38df0a){return _0x14e4eb(_0x12fe7c,_0x38df0a);}},_0x215e08=await _0x215ce0['PYjaE'](getToken);if(!_0x215e08)throw new Error(_0x215ce0['kFJcU']);const _0x2addf2=_0x215ce0['fhfur'](getApiBaseUrl),_0x4dc487=await _0x215ce0[_0x917979(0x7f)](fetch,_0x2addf2+_0x917979(0x83)+_0xa0b583+_0x917979(0x96),{'method':_0x917979(0xb0),'headers':{'Authorization':_0x917979(0xb2)+_0x215e08}});if(!_0x4dc487['ok']){const _0x442b0e=await _0x4dc487[_0x917979(0xab)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x442b0e);}return _0x4dc487[_0x917979(0x8f)]();}export async function startSession(_0x49f05d,_0xa61a6c){const _0x8028c6=_0x2c7a,_0x23b5cf={'yGGZP':function(_0x1ec894){return _0x1ec894();},'CbbeP':_0x8028c6(0xa0)},_0x307c8a=await getToken();if(!_0x307c8a)throw new Error(_0x8028c6(0xaa));const _0xf5538b=_0x23b5cf['yGGZP'](getApiBaseUrl),_0x170bd5=await fetch(_0xf5538b+_0x8028c6(0x83)+_0x49f05d+_0x8028c6(0xb3)+_0xa61a6c+'/start',{'method':_0x23b5cf['CbbeP'],'headers':{'Authorization':_0x8028c6(0xb2)+_0x307c8a}});if(!_0x170bd5['ok']){const _0x45f9fd=await _0x170bd5['text']();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x45f9fd);}return _0x170bd5['json']();}export async function concludeSession(_0x361df9,_0x359168){const _0x4c8ed1=_0x2c7a,_0x1b636f={'dIQWX':_0x4c8ed1(0xa0)},_0x6226ec=await getToken();if(!_0x6226ec)throw new Error(_0x4c8ed1(0xaa));const _0x43f3e4=getApiBaseUrl(),_0x39e9e7=await fetch(_0x43f3e4+'/api/v1/mcp/features/'+_0x361df9+_0x4c8ed1(0xb3)+_0x359168+'/conclude',{'method':_0x1b636f[_0x4c8ed1(0x8b)],'headers':{'Authorization':_0x4c8ed1(0xb2)+_0x6226ec}});if(!_0x39e9e7['ok']){const _0x582b24=await _0x39e9e7['text']();throw new Error(_0x4c8ed1(0x90)+_0x582b24);}return _0x39e9e7['json']();}export async function getActionItems(_0xde1aea){const _0x4aa22f=_0x2c7a,_0x4ea460={'tyJWB':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','LLxMF':function(_0x1834e0){return _0x1834e0();},'HIwSp':function(_0x2b2ee5,_0x475500,_0x2eb2e9){return _0x2b2ee5(_0x475500,_0x2eb2e9);},'xXqTp':'GET'},_0x39306f=await getToken();if(!_0x39306f)throw new Error(_0x4ea460['tyJWB']);const _0x184091=_0x4ea460[_0x4aa22f(0xb9)](getApiBaseUrl),_0x2446e6=await _0x4ea460[_0x4aa22f(0xaf)](fetch,_0x184091+_0x4aa22f(0x83)+_0xde1aea+'/action-items',{'method':_0x4ea460[_0x4aa22f(0x75)],'headers':{'Authorization':_0x4aa22f(0xb2)+_0x39306f}});if(!_0x2446e6['ok']){const _0x19c2d0=await _0x2446e6['text']();throw new Error(_0x4aa22f(0x84)+_0x19c2d0);}return _0x2446e6[_0x4aa22f(0x8f)]();}export async function getItemFeedback(_0x14e3ac,_0x427acd){const _0x5d130d=_0x2c7a,_0x2bfd1c={'wGMhx':function(_0x4f5820){return _0x4f5820();},'fBDJn':_0x5d130d(0xaa),'ABiVg':function(_0x24b391){return _0x24b391();},'dZUNG':function(_0x167ec8,_0x2772b8,_0x2c813e){return _0x167ec8(_0x2772b8,_0x2c813e);}},_0x4fa58b=await _0x2bfd1c['wGMhx'](getToken);if(!_0x4fa58b)throw new Error(_0x2bfd1c['fBDJn']);const _0x26ea8d=_0x2bfd1c[_0x5d130d(0xa2)](getApiBaseUrl),_0x338ab2=await _0x2bfd1c['dZUNG'](fetch,_0x26ea8d+_0x5d130d(0x83)+_0x14e3ac+'/checklist-items/'+_0x427acd+_0x5d130d(0x99),{'method':_0x5d130d(0xb0),'headers':{'Authorization':_0x5d130d(0xb2)+_0x4fa58b}});if(!_0x338ab2['ok']){const _0x15fa3d=await _0x338ab2['text']();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x15fa3d);}return _0x338ab2[_0x5d130d(0x8f)]();}export async function markCommentsAddressed(_0x403029,_0x30ea75,_0x123c53){const _0x17f330=_0x2c7a,_0x4f0995={'xeqZS':function(_0x383b1e){return _0x383b1e();},'vwOMG':_0x17f330(0xaa),'vzDWq':function(_0x394b4a,_0x494c11,_0x453f6c){return _0x394b4a(_0x494c11,_0x453f6c);},'Hfxgz':_0x17f330(0xa0)},_0x409177=await _0x4f0995['xeqZS'](getToken);if(!_0x409177)throw new Error(_0x4f0995['vwOMG']);const _0x32e8de=_0x4f0995[_0x17f330(0x9a)](getApiBaseUrl),_0x2a88c7=await _0x4f0995['vzDWq'](fetch,_0x32e8de+_0x17f330(0x83)+_0x403029+_0x17f330(0x8e),{'method':_0x4f0995['Hfxgz'],'headers':{'Authorization':'Bearer\x20'+_0x409177,'Content-Type':'application/json'},'body':JSON[_0x17f330(0x88)]({'checklistItemId':_0x30ea75,'commentIds':_0x123c53})});if(!_0x2a88c7['ok']){const _0x48c1a5=await _0x2a88c7['text']();throw new Error(_0x17f330(0xad)+_0x48c1a5);}}export async function softDeleteFeature(_0x258519){const _0x2e7c74=_0x2c7a,_0x535455={'tLSqj':function(_0x3daeb5){return _0x3daeb5();}},_0x583587=await getToken();if(!_0x583587)throw new Error(_0x2e7c74(0xaa));const _0x4939ab=_0x535455[_0x2e7c74(0xc1)](getApiBaseUrl),_0x316e41=await fetch(_0x4939ab+_0x2e7c74(0x83)+_0x258519,{'method':'DELETE','headers':{'Authorization':'Bearer\x20'+_0x583587}});if(!_0x316e41['ok']){const _0x2dc69f=await _0x316e41[_0x2e7c74(0xab)]();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x2dc69f);}}export async function restoreFeature(_0x127623){const _0x5cadb4=_0x2c7a,_0x583b57={'Jluzg':function(_0x54be97){return _0x54be97();},'mmHCL':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','ackUN':function(_0x544293,_0x45afb2,_0x37f0ab){return _0x544293(_0x45afb2,_0x37f0ab);},'ZAAZB':'POST'},_0x2f97c1=await _0x583b57[_0x5cadb4(0x79)](getToken);if(!_0x2f97c1)throw new Error(_0x583b57[_0x5cadb4(0x70)]);const _0x1f8f56=_0x583b57['Jluzg'](getApiBaseUrl),_0x6d5bbc=await _0x583b57['ackUN'](fetch,_0x1f8f56+_0x5cadb4(0x83)+_0x127623+'/restore',{'method':_0x583b57[_0x5cadb4(0xbd)],'headers':{'Authorization':_0x5cadb4(0xb2)+_0x2f97c1}});if(!_0x6d5bbc['ok']){const _0x3afe4e=await _0x6d5bbc[_0x5cadb4(0xab)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x3afe4e);}}
|
|
1
|
+
(function(_0x571d66,_0x1bee4d){const _0x4569a0=_0x4b33,_0x200c6f=_0x571d66();while(!![]){try{const _0x51dba5=-parseInt(_0x4569a0(0x1ad))/0x1*(parseInt(_0x4569a0(0x1ca))/0x2)+-parseInt(_0x4569a0(0x1b7))/0x3+parseInt(_0x4569a0(0x1c4))/0x4*(-parseInt(_0x4569a0(0x1b8))/0x5)+parseInt(_0x4569a0(0x1ab))/0x6*(parseInt(_0x4569a0(0x1a3))/0x7)+-parseInt(_0x4569a0(0x1b0))/0x8+-parseInt(_0x4569a0(0x1b9))/0x9*(parseInt(_0x4569a0(0x1d2))/0xa)+parseInt(_0x4569a0(0x1e6))/0xb;if(_0x51dba5===_0x1bee4d)break;else _0x200c6f['push'](_0x200c6f['shift']());}catch(_0x4afe91){_0x200c6f['push'](_0x200c6f['shift']());}}}(_0x399d,0x44522));function _0x4b33(_0x6ba84e,_0x4a2007){_0x6ba84e=_0x6ba84e-0x19f;const _0x399d22=_0x399d();let _0x4b3349=_0x399d22[_0x6ba84e];return _0x4b3349;}import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0xcb2026){const _0x3f811c=_0x4b33,_0x59ad7e={'ZUkjf':function(_0x63a202){return _0x63a202();},'EcXvu':_0x3f811c(0x1a2),'NyHaK':function(_0x153505,_0x2d2295){return _0x153505===_0x2d2295;},'KlBax':'Feature\x20limit\x20exceeded'},_0x1de6ac=await _0x59ad7e['ZUkjf'](getToken);if(!_0x1de6ac)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x4d38f7=_0x59ad7e['ZUkjf'](getApiBaseUrl),_0x14c80b=await fetch(_0x4d38f7+_0x3f811c(0x1da),{'method':'POST','headers':{'Authorization':_0x3f811c(0x1c0)+_0x1de6ac,'Content-Type':_0x59ad7e['EcXvu']},'body':JSON['stringify'](_0xcb2026)});if(!_0x14c80b['ok']){if(_0x59ad7e['NyHaK'](_0x14c80b[_0x3f811c(0x1cb)],0x192)){const _0x13a0b3=await _0x14c80b[_0x3f811c(0x1b5)](),_0x57e787=_0x13a0b3['billingUrl']||'https://dashboard.ranger.net/billing';throw new Error((_0x13a0b3['message']||_0x59ad7e[_0x3f811c(0x1d1)])+_0x3f811c(0x1e3)+_0x57e787);}const _0x2b2958=await _0x14c80b['text']();throw new Error(_0x3f811c(0x1c6)+_0x2b2958);}return _0x14c80b['json']();}export async function listFeatures(_0x565803){const _0x17dae0=_0x4b33,_0x123b22={'nOhYE':function(_0x3f08e4){return _0x3f08e4();},'XHnLX':_0x17dae0(0x1d5),'hpiRD':'gitRepoUrl','MftEP':'gitBranch','aEuuk':_0x17dae0(0x1a5)},_0x3002f2=await _0x123b22[_0x17dae0(0x1cc)](getToken);if(!_0x3002f2)throw new Error(_0x123b22['XHnLX']);const _0x45105c=_0x123b22['nOhYE'](getApiBaseUrl),_0x34a120=new URLSearchParams();if(_0x565803?.['gitRepoUrl'])_0x34a120['set'](_0x123b22['hpiRD'],_0x565803[_0x17dae0(0x1e8)]);if(_0x565803?.['gitBranch'])_0x34a120['set'](_0x123b22['MftEP'],_0x565803[_0x17dae0(0x1dd)]);if(_0x565803?.[_0x17dae0(0x1af)])_0x34a120['set']('limit',_0x565803[_0x17dae0(0x1af)][_0x17dae0(0x1a6)]());if(_0x565803?.[_0x17dae0(0x1a5)])_0x34a120['set'](_0x123b22['aEuuk'],_0x565803[_0x17dae0(0x1a5)]['toString']());if(_0x565803?.[_0x17dae0(0x1aa)])_0x34a120[_0x17dae0(0x1b6)]('includeDeleted','true');const _0x114c3a=_0x45105c+'/api/v1/mcp/features'+(_0x34a120[_0x17dae0(0x1a6)]()?'?'+_0x34a120[_0x17dae0(0x1a6)]():''),_0xa41d28=await fetch(_0x114c3a,{'method':'GET','headers':{'Authorization':_0x17dae0(0x1c0)+_0x3002f2}});if(!_0xa41d28['ok']){const _0x1f2615=await _0xa41d28[_0x17dae0(0x1a8)]();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x1f2615);}return _0xa41d28['json']();}export async function getFeature(_0x31b8f4){const _0x2a9170=_0x4b33,_0x30263d={'uurMZ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','nwJZg':function(_0x22a33c){return _0x22a33c();},'jhNzO':function(_0x39e843,_0x12d16c,_0x4e326b){return _0x39e843(_0x12d16c,_0x4e326b);},'pJDMu':_0x2a9170(0x1b1)},_0x1c7e4c=await getToken();if(!_0x1c7e4c)throw new Error(_0x30263d['uurMZ']);const _0x100c73=_0x30263d['nwJZg'](getApiBaseUrl),_0x132d87=await _0x30263d['jhNzO'](fetch,_0x100c73+_0x2a9170(0x1e4)+_0x31b8f4,{'method':_0x30263d[_0x2a9170(0x1d4)],'headers':{'Authorization':_0x2a9170(0x1c0)+_0x1c7e4c}});if(!_0x132d87['ok']){const _0x31be78=await _0x132d87[_0x2a9170(0x1a8)]();throw new Error(_0x2a9170(0x1e7)+_0x31be78);}return _0x132d87[_0x2a9170(0x1b5)]();}export async function updateFeature(_0x93d28e,_0x22f3b9){const _0x4c98c9=_0x4b33,_0x1dc718={'RSqXs':function(_0x38324a){return _0x38324a();},'LETfR':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x4b329d=await _0x1dc718[_0x4c98c9(0x1b4)](getToken);if(!_0x4b329d)throw new Error(_0x1dc718[_0x4c98c9(0x1d7)]);const _0xc49946=getApiBaseUrl(),_0x33888b=await fetch(_0xc49946+_0x4c98c9(0x1e4)+_0x93d28e,{'method':'PATCH','headers':{'Authorization':_0x4c98c9(0x1c0)+_0x4b329d,'Content-Type':_0x4c98c9(0x1a2)},'body':JSON[_0x4c98c9(0x1e1)](_0x22f3b9)});if(!_0x33888b['ok']){const _0x184023=await _0x33888b[_0x4c98c9(0x1a8)]();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x184023);}return _0x33888b['json']();}export async function createChecklistItem(_0x13f52b,_0x4063a1,_0x5e169b){const _0x505846=_0x4b33,_0x44e3cf={'MxgNQ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','fNBXf':function(_0x3d3cae){return _0x3d3cae();}},_0x2c6518=await getToken();if(!_0x2c6518)throw new Error(_0x44e3cf['MxgNQ']);const _0x30b3cf=_0x44e3cf[_0x505846(0x1a9)](getApiBaseUrl),_0x238766=await fetch(_0x30b3cf+'/api/v1/mcp/features/'+_0x13f52b+'/checklist',{'method':_0x505846(0x1e9),'headers':{'Authorization':_0x505846(0x1c0)+_0x2c6518,'Content-Type':_0x505846(0x1a2)},'body':JSON['stringify']({'description':_0x4063a1,'position':_0x5e169b})});if(!_0x238766['ok']){const _0x2230b8=await _0x238766['text']();throw new Error(_0x505846(0x1e2)+_0x2230b8);}return _0x238766[_0x505846(0x1b5)]();}export async function updateChecklistItem(_0x2c7983,_0x2b27e5,_0x287fc6){const _0x5a1f15=_0x4b33,_0x55e736={'xvKMy':_0x5a1f15(0x1d5),'nOmEE':function(_0x270f02,_0x4575b5,_0x4bc969){return _0x270f02(_0x4575b5,_0x4bc969);},'rtFGj':'PATCH'};return withRetry(async()=>{const _0x5a91a4=_0x5a1f15,_0x198efa=await getToken();if(!_0x198efa)throw new Error(_0x55e736[_0x5a91a4(0x1cf)]);const _0x1f8fd8=getApiBaseUrl(),_0x4f7bcd=await _0x55e736['nOmEE'](fetch,_0x1f8fd8+_0x5a91a4(0x1e4)+_0x2c7983+'/checklist/'+_0x2b27e5,{'method':_0x55e736['rtFGj'],'headers':{'Authorization':_0x5a91a4(0x1c0)+_0x198efa,'Content-Type':'application/json'},'body':JSON[_0x5a91a4(0x1e1)](_0x287fc6)});if(!_0x4f7bcd['ok']){const _0x3ea0de=await _0x4f7bcd[_0x5a91a4(0x1a8)]();throw new Error(_0x5a91a4(0x1df)+_0x3ea0de);}return _0x4f7bcd[_0x5a91a4(0x1b5)]();},{'label':_0x5a1f15(0x1c1)});}export async function getFeatureReport(_0x416ad8){const _0x482d83=_0x4b33,_0x196b05={'GfnpA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','BozNe':function(_0x44dfbb){return _0x44dfbb();},'sZLRX':function(_0xc29932,_0x15d59d,_0x4b1f7d){return _0xc29932(_0x15d59d,_0x4b1f7d);}},_0x27aa7e=await getToken();if(!_0x27aa7e)throw new Error(_0x196b05['GfnpA']);const _0x349760=_0x196b05[_0x482d83(0x1bc)](getApiBaseUrl),_0x44f121=await _0x196b05['sZLRX'](fetch,_0x349760+_0x482d83(0x1e4)+_0x416ad8+_0x482d83(0x1db),{'method':_0x482d83(0x1b1),'headers':{'Authorization':'Bearer\x20'+_0x27aa7e}});if(!_0x44f121['ok']){const _0x16a036=await _0x44f121[_0x482d83(0x1a8)]();throw new Error(_0x482d83(0x1ba)+_0x16a036);}return _0x44f121['json']();}export async function getFeatureReportMarkdown(_0x564d80,_0x30920a){const _0x129cd3=_0x4b33,_0x3de0c7={'XVxYB':function(_0x339784){return _0x339784();},'lZpet':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','yNXag':function(_0x528bbe,_0x1f7686){return _0x528bbe>_0x1f7686;},'KmTsr':function(_0x83051f,_0x3b0a44){return _0x83051f(_0x3b0a44);},'oYZbL':function(_0x18d1a8,_0x4590c6){return _0x18d1a8&&_0x4590c6;}},_0x15e53c=await _0x3de0c7[_0x129cd3(0x1d3)](getToken);if(!_0x15e53c)throw new Error(_0x3de0c7[_0x129cd3(0x1cd)]);const _0xe6f395=getApiBaseUrl(),_0x500f1d=new URLSearchParams(),_0x500eed=_0x3de0c7[_0x129cd3(0x1a7)](_0x30920a?.['itemIds']?.[_0x129cd3(0x1b2)]??0x0,0x0),_0x4c1056=_0x3de0c7['KmTsr'](Boolean,_0x30920a?.['sessionId']);_0x500eed&&_0x30920a?.[_0x129cd3(0x1c5)]&&_0x500f1d[_0x129cd3(0x1b6)]('itemIds',_0x30920a[_0x129cd3(0x1c5)][_0x129cd3(0x1b3)](','));_0x4c1056&&_0x30920a?.[_0x129cd3(0x1bd)]&&_0x500f1d['set']('sessionId',_0x30920a[_0x129cd3(0x1bd)]);_0x3de0c7[_0x129cd3(0x1ce)](!_0x500eed,!_0x4c1056)&&_0x30920a?.['style']&&_0x500f1d['set'](_0x129cd3(0x1c8),_0x30920a[_0x129cd3(0x1c8)]);const _0x1637b0=_0xe6f395+'/api/v1/mcp/features/'+_0x564d80+'/report/markdown',_0x273308=''+_0x1637b0+(_0x500f1d[_0x129cd3(0x1a6)]()?'?'+_0x500f1d[_0x129cd3(0x1a6)]():''),_0x4b009f=await fetch(_0x273308,{'method':_0x129cd3(0x1b1),'headers':{'Authorization':_0x129cd3(0x1c0)+_0x15e53c}});if(!_0x4b009f['ok']){const _0x17d58e=await _0x4b009f[_0x129cd3(0x1a8)]();throw new Error(_0x129cd3(0x1dc)+_0x17d58e);}return _0x4b009f[_0x129cd3(0x1a8)]();}export async function listFeatureSessions(_0x5cc977){const _0xe2684a=_0x4b33,_0x2a5478={'bXeqY':function(_0x2fbb59){return _0x2fbb59();}},_0x274732=await getToken();if(!_0x274732)throw new Error(_0xe2684a(0x1d5));const _0x13aeef=_0x2a5478['bXeqY'](getApiBaseUrl),_0x15790d=await fetch(_0x13aeef+_0xe2684a(0x1e4)+_0x5cc977+_0xe2684a(0x1de),{'method':_0xe2684a(0x1b1),'headers':{'Authorization':'Bearer\x20'+_0x274732}});if(!_0x15790d['ok']){const _0x1e14cc=await _0x15790d[_0xe2684a(0x1a8)]();throw new Error(_0xe2684a(0x1e0)+_0x1e14cc);}return _0x15790d['json']();}export async function startSession(_0x433418,_0x55e4c9){const _0x3abb65=_0x4b33,_0x13e018={'BdsBk':function(_0x501eb1){return _0x501eb1();},'tMzfF':function(_0x2d8318,_0x438823,_0x234706){return _0x2d8318(_0x438823,_0x234706);}},_0xadb8ab=await _0x13e018[_0x3abb65(0x1c3)](getToken);if(!_0xadb8ab)throw new Error(_0x3abb65(0x1d5));const _0x28aa89=getApiBaseUrl(),_0x20ce7b=await _0x13e018['tMzfF'](fetch,_0x28aa89+_0x3abb65(0x1e4)+_0x433418+'/sessions/'+_0x55e4c9+_0x3abb65(0x1e5),{'method':_0x3abb65(0x1e9),'headers':{'Authorization':'Bearer\x20'+_0xadb8ab}});if(!_0x20ce7b['ok']){const _0x1f524f=await _0x20ce7b['text']();throw new Error(_0x3abb65(0x1d8)+_0x1f524f);}return _0x20ce7b['json']();}export async function concludeSession(_0x35bcdc,_0x10a791){const _0x3ce610=_0x4b33,_0x10669f={'lyhfO':function(_0x43dd44){return _0x43dd44();},'yQSbi':function(_0x57ab15,_0x312856,_0x26511f){return _0x57ab15(_0x312856,_0x26511f);},'dTGal':_0x3ce610(0x1e9)},_0x18b71a=await _0x10669f[_0x3ce610(0x1ea)](getToken);if(!_0x18b71a)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1ab73b=_0x10669f['lyhfO'](getApiBaseUrl),_0x4962f7=await _0x10669f['yQSbi'](fetch,_0x1ab73b+'/api/v1/mcp/features/'+_0x35bcdc+_0x3ce610(0x1ac)+_0x10a791+_0x3ce610(0x1d6),{'method':_0x10669f[_0x3ce610(0x1ae)],'headers':{'Authorization':_0x3ce610(0x1c0)+_0x18b71a}});if(!_0x4962f7['ok']){const _0x37d415=await _0x4962f7[_0x3ce610(0x1a8)]();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x37d415);}return _0x4962f7['json']();}export async function getActionItems(_0x5edf6a){const _0x5d5764=_0x4b33,_0x32c44b={'RjSUY':_0x5d5764(0x1d5),'CbMaQ':'GET'},_0x1b93c1=await getToken();if(!_0x1b93c1)throw new Error(_0x32c44b['RjSUY']);const _0x1a1c91=getApiBaseUrl(),_0x5d5b7d=await fetch(_0x1a1c91+_0x5d5764(0x1e4)+_0x5edf6a+'/action-items',{'method':_0x32c44b[_0x5d5764(0x1a0)],'headers':{'Authorization':'Bearer\x20'+_0x1b93c1}});if(!_0x5d5b7d['ok']){const _0x4d090a=await _0x5d5b7d[_0x5d5764(0x1a8)]();throw new Error(_0x5d5764(0x1c7)+_0x4d090a);}return _0x5d5b7d[_0x5d5764(0x1b5)]();}export async function getItemFeedback(_0x54ed7d,_0xf4cd4a){const _0x6ee0ff=_0x4b33,_0x1dbf12={'PSfBr':function(_0x2770d9){return _0x2770d9();},'TskUU':function(_0x3c076b,_0x81baf9,_0x1c2dc3){return _0x3c076b(_0x81baf9,_0x1c2dc3);},'aVmFU':_0x6ee0ff(0x1b1)},_0x17a8d9=await _0x1dbf12['PSfBr'](getToken);if(!_0x17a8d9)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x23b20d=_0x1dbf12['PSfBr'](getApiBaseUrl),_0x4c205e=await _0x1dbf12['TskUU'](fetch,_0x23b20d+_0x6ee0ff(0x1e4)+_0x54ed7d+'/checklist-items/'+_0xf4cd4a+_0x6ee0ff(0x1a1),{'method':_0x1dbf12['aVmFU'],'headers':{'Authorization':_0x6ee0ff(0x1c0)+_0x17a8d9}});if(!_0x4c205e['ok']){const _0x4ad4bd=await _0x4c205e[_0x6ee0ff(0x1a8)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x4ad4bd);}return _0x4c205e[_0x6ee0ff(0x1b5)]();}export async function markCommentsAddressed(_0x1a96a1,_0x3039db,_0x104d9b){const _0x2ee252=_0x4b33,_0xd1d68={'aHjjl':function(_0x1f2ad5){return _0x1f2ad5();},'vkYJE':function(_0x202c01){return _0x202c01();}},_0x292f50=await _0xd1d68['aHjjl'](getToken);if(!_0x292f50)throw new Error(_0x2ee252(0x1d5));const _0x2a7188=_0xd1d68['vkYJE'](getApiBaseUrl),_0x109c6a=await fetch(_0x2a7188+'/api/v1/mcp/features/'+_0x1a96a1+'/comments/address',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x292f50,'Content-Type':'application/json'},'body':JSON['stringify']({'checklistItemId':_0x3039db,'commentIds':_0x104d9b})});if(!_0x109c6a['ok']){const _0x1933ec=await _0x109c6a[_0x2ee252(0x1a8)]();throw new Error(_0x2ee252(0x1d0)+_0x1933ec);}}export async function softDeleteFeature(_0x4ba749){const _0x12b1bf=_0x4b33,_0x56f974={'KaAfF':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','KoIcl':function(_0x269361){return _0x269361();},'usLwv':function(_0x689f3f,_0x2945d8,_0x47c3b3){return _0x689f3f(_0x2945d8,_0x47c3b3);},'okOJd':'DELETE'},_0x3c7c02=await getToken();if(!_0x3c7c02)throw new Error(_0x56f974[_0x12b1bf(0x1c2)]);const _0x16de5d=_0x56f974[_0x12b1bf(0x1bb)](getApiBaseUrl),_0xc2754c=await _0x56f974[_0x12b1bf(0x1d9)](fetch,_0x16de5d+'/api/v1/mcp/features/'+_0x4ba749,{'method':_0x56f974[_0x12b1bf(0x1bf)],'headers':{'Authorization':'Bearer\x20'+_0x3c7c02}});if(!_0xc2754c['ok']){const _0x5bda56=await _0xc2754c['text']();throw new Error(_0x12b1bf(0x19f)+_0x5bda56);}}function _0x399d(){const _0x4b654b=['14XrNxuz','jnJnB','offset','toString','yNXag','text','fNBXf','includeDeleted','981528ZBVByP','/sessions/','19212QRKmAq','dTGal','limit','724280opSbWW','GET','length','join','RSqXs','json','set','641727FIlioR','271985VgrIao','18GaWUYM','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','KoIcl','BozNe','sessionId','VCXad','okOJd','Bearer\x20','updateChecklistItem','KaAfF','BdsBk','16vVzpdz','itemIds','Failed\x20to\x20create\x20feature\x20review:\x20','Failed\x20to\x20get\x20action\x20items:\x20','style','/restore','22lHWhwJ','status','nOhYE','lZpet','oYZbL','xvKMy','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','KlBax','194530KizlbG','XVxYB','pJDMu','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','/conclude','LETfR','Failed\x20to\x20start\x20session:\x20','usLwv','/api/v1/mcp/features','/report','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','gitBranch','/sessions','Failed\x20to\x20update\x20scenario:\x20','Failed\x20to\x20list\x20sessions:\x20','stringify','Failed\x20to\x20create\x20scenario:\x20','\x0a\x0aUpgrade\x20your\x20plan:\x20','/api/v1/mcp/features/','/start','7974296kXMCPl','Failed\x20to\x20get\x20feature\x20review:\x20','gitRepoUrl','POST','lyhfO','Failed\x20to\x20delete\x20feature\x20review:\x20','CbMaQ','/feedback','application/json'];_0x399d=function(){return _0x4b654b;};return _0x399d();}export async function restoreFeature(_0xb1cfd4){const _0x27c4e6=_0x4b33,_0x11d071={'VCXad':function(_0x27f722){return _0x27f722();},'jnJnB':_0x27c4e6(0x1e9)},_0x171326=await _0x11d071[_0x27c4e6(0x1be)](getToken);if(!_0x171326)throw new Error(_0x27c4e6(0x1d5));const _0x21a007=getApiBaseUrl(),_0x2c3b65=await fetch(_0x21a007+_0x27c4e6(0x1e4)+_0xb1cfd4+_0x27c4e6(0x1c9),{'method':_0x11d071[_0x27c4e6(0x1a4)],'headers':{'Authorization':_0x27c4e6(0x1c0)+_0x171326}});if(!_0x2c3b65['ok']){const _0x5f0bac=await _0x2c3b65['text']();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x5f0bac);}}
|