@ranger-testing/ranger-cli 3.1.2 → 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
|
-
(function(_0x73f870,_0x3f4311){const _0x3c5b23=_0x359e,_0x48fa94=_0x73f870();while(!![]){try{const _0x16ee63=-parseInt(_0x3c5b23(0xb0))/0x1+parseInt(_0x3c5b23(0xd5))/0x2+-parseInt(_0x3c5b23(0xba))/0x3*(parseInt(_0x3c5b23(0xdb))/0x4)+parseInt(_0x3c5b23(0x8b))/0x5+-parseInt(_0x3c5b23(0xdd))/0x6*(-parseInt(_0x3c5b23(0xd8))/0x7)+parseInt(_0x3c5b23(0xc8))/0x8+parseInt(_0x3c5b23(0x75))/0x9*(-parseInt(_0x3c5b23(0x88))/0xa);if(_0x16ee63===_0x3f4311)break;else _0x48fa94['push'](_0x48fa94['shift']());}catch(_0x1a6d63){_0x48fa94['push'](_0x48fa94['shift']());}}}(_0x46c2,0x795bf));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x1a69e1 from'inquirer';function _0x359e(_0x29d34e,_0x3e95f3){_0x29d34e=_0x29d34e-0x6c;const _0x46c265=_0x46c2();let _0x359ee5=_0x46c265[_0x29d34e];return _0x359ee5;}import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x382862){const _0x351a09=_0x359e;try{return new URL(_0x382862)['host'];}catch{return _0x351a09(0xbf);}}function errorMessageForTelemetry(_0x23a3af){const _0x1ac2ee=_0x359e,_0x1c2f76={'cnZje':function(_0xe3f0e1,_0x4aebf1){return _0xe3f0e1 instanceof _0x4aebf1;}};return _0x1c2f76[_0x1ac2ee(0xd3)](_0x23a3af,Error)?_0x23a3af['message']:undefined;}function trackBridgeEvent(_0xbe1402,_0x374204){const _0x5dd73d=_0x359e,_0x2e91e3={'QofAa':_0x5dd73d(0xf7),'RqpFb':function(_0x10d798,_0x464eb5){return _0x10d798===_0x464eb5;},'Wsznc':_0x5dd73d(0x9d)};if(!_0xbe1402)return;const _0x446c38={'tunnelSessionId':_0x374204['sessionId'],'tunnelEventType':_0x374204[_0x5dd73d(0xa6)],'connectionId':_0x374204['connectionId'],'code':_0x374204['code'],'reason':_0x374204['reason'],'error':_0x374204['error'],'elapsedMs':_0x374204[_0x5dd73d(0xcd)],'activeLocalConnections':_0x374204['activeLocalConnections'],'pendingLocalConnections':_0x374204[_0x5dd73d(0x96)]};_0xbe1402[_0x5dd73d(0x89)]('tunnel_bridge_event',_0x446c38),(_0x374204['type']===_0x2e91e3['QofAa']||_0x2e91e3['RqpFb'](_0x374204['type'],_0x5dd73d(0x93)))&&void _0xbe1402[_0x5dd73d(0xf6)](_0x2e91e3['Wsznc'],new Error(_0x374204['error']??_0x374204['type']),_0x446c38);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0xcfbf4b=_0x359e,_0x4f48f1={'wrnul':function(_0x5dcecb){return _0x5dcecb();}},_0x55d518=await _0x4f48f1[_0xcfbf4b(0xe5)](getToken);if(!_0x55d518)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0x55d518;}async function apiRequest(_0x463313,_0x4c4d02={}){const _0x4d9e71=_0x359e,_0x1c7937={'VmGHN':function(_0x42bd55){return _0x42bd55();},'FfbLU':function(_0x5c9612,_0x17a29a){return _0x5c9612===_0x17a29a;},'oPEIy':_0x4d9e71(0xb1)},_0x524366=await _0x1c7937[_0x4d9e71(0xb7)](requireToken),_0xbf8d32=getApiBaseUrl(),_0x25d8b7=await fetch(''+_0xbf8d32+_0x463313,{..._0x4c4d02,'headers':{'Authorization':_0x4d9e71(0x8e)+_0x524366,'Content-Type':'application/json',..._0x4c4d02['headers']??{}}});if(!_0x25d8b7['ok']){let _0x39c644='',_0x40035b;try{const _0x246d48=await _0x25d8b7['json']();_0x39c644=(_0x1c7937[_0x4d9e71(0xf0)](typeof _0x246d48['error'],'string')?_0x246d48[_0x4d9e71(0xc3)]:undefined)??JSON[_0x4d9e71(0xbe)](_0x246d48);if(typeof _0x246d48['code']===_0x1c7937['oPEIy'])_0x40035b=_0x246d48[_0x4d9e71(0x70)];}catch{_0x39c644=_0x25d8b7['statusText'];}throw new ApiError('API\x20request\x20'+_0x463313+'\x20failed\x20('+_0x25d8b7['status']+_0x4d9e71(0xfc)+_0x39c644,_0x25d8b7['status'],_0x39c644,_0x40035b);}if(_0x25d8b7[_0x4d9e71(0x8a)]===0xcc)return undefined;return _0x25d8b7['json']();}export class ApiError extends Error{['status'];['detail'];['code'];constructor(_0x180ee7,_0x229556,_0x326b6f,_0x245f5c){const _0x4cc270=_0x359e,_0x1128b8='2|1|0|3|4'[_0x4cc270(0x84)]('|');let _0x33c561=0x0;while(!![]){switch(_0x1128b8[_0x33c561++]){case'0':this[_0x4cc270(0xa0)]=_0x326b6f;continue;case'1':this['status']=_0x229556;continue;case'2':super(_0x180ee7);continue;case'3':this['code']=_0x245f5c;continue;case'4':this['name']='ApiError';continue;}break;}}}export async function fetchCloudProfile(_0x4c9add){const _0x31105e=_0x359e;try{return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x4c9add));}catch(_0xa57594){if(_0xa57594 instanceof ApiError&&_0xa57594[_0x31105e(0x8a)]===0x194)return null;throw _0xa57594;}}export async function listCloudProfiles(){const _0x2972e4=_0x359e,_0x5ab2e8={'AwdbE':function(_0x29d135,_0x13c41d){return _0x29d135(_0x13c41d);}},_0x5ec9ae=await _0x5ab2e8[_0x2972e4(0x7a)](apiRequest,'/api/v1/profiles');return _0x5ec9ae['profiles'];}export async function deleteCloudProfile(_0x419207){const _0x4bb39f=_0x359e,_0x1b6715={'WMSBq':function(_0x1753e1,_0x25ff65){return _0x1753e1(_0x25ff65);},'pvZof':_0x4bb39f(0x85)};try{await apiRequest('/api/v1/profiles/'+_0x1b6715['WMSBq'](encodeURIComponent,_0x419207),{'method':_0x1b6715['pvZof']});}catch(_0x50626e){if(_0x50626e instanceof ApiError&&_0x50626e[_0x4bb39f(0x8a)]===0x194)throw new Error('Cloud\x20profile\x20\x22'+_0x419207+_0x4bb39f(0xf9));throw _0x50626e;}}function _0x46c2(){const _0x227ce6=['target_url','mycsM','local_ws_error','\x20\x20Cached\x20session\x20for\x20\x22','toISOString','pendingLocalConnections','auth_config','aReJL','close','WkDVZ','name','log','tunnel_bridge','then','env','detail','domains','targetUrl','/api/v1/profiles/','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','success','type','sessionId','prompt','join','organizationId','qayYO','UznxG','gpcBO','rNJXY','telemetry','69581NHqrJK','string','rsscw','username','pwEndpoint','LWtbt','cli:manual-login','VmGHN','extraHTTPHeaders','vsoTE','58413DWkDyG','cookies','tunnel_login_setup','\x22;\x20proceeding\x20with\x20loginInstructions.','stringify','invalid-url','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','trim','uhdse','error','\x22\x20failed\x20validation\x20—\x20refreshing...','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','loginInstructions','aJdkD','2231312hdtvyX','\x20\x20Cloud\x20session\x20for\x20\x22','url','message','auth','elapsedMs','BVtXr','about:blank','\x20\x20No\x20live\x20session\x20for\x20\x22','catch','map','cnZje','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.','941626euIKCW','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','tunnel_login_request','7sLxfgE','LHwnO','RANGER_TEST_USERNAME','52GYnqwZ','save','570012NbndqW','test_output','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','sessionCheckPath','XJPSl','ReNQt','VSBbB','length','wrnul','session_state','BVLiO','defaultEnvironmentKey','zcLOx','storageState','trackPhaseStart','Browser\x20login\x20timed\x20out\x20before\x20completion.','environment_key','baseUrl','wJQwh','FfbLU','force','launch','\x22,\x20attempting\x20login...','TcQOW','goto','trackPhaseError','tunnel_error','tSZgs','\x22\x20not\x20found.','xxhNP','storageStatePath','):\x20','tIkDZ',').\x20','IYwOJ','/api/v1/profiles/auth-config','tunnelUrl','xJltv','/api/v1/profiles','keys','code','tunnel','jxpZE','browserOptions','settings','259137cpLuht','userAgent','utf-8','some','password','AwdbE','GxRyV','skTRC','rlDTW','clientIp','PUT','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','vQcrv','setupHeaders','environments','split','DELETE','\x22\x20for\x20','RwoqB','270xYLBvx','trackPhaseEnd','status','3762365QTAhze','origin','isArray','Bearer\x20','agent','POST'];_0x46c2=function(){return _0x227ce6;};return _0x46c2();}export async function createCloudProfile(_0x598ba6,_0xd2ce9a,_0x2eca93={}){const _0x5582d6=_0x359e,_0x718f={'VAuxC':function(_0x4f3d08,_0xcb624c){return _0x4f3d08>_0xcb624c;},'nsEnQ':_0x5582d6(0x6e)},_0x5d7cc4={'name':_0x598ba6};if(_0xd2ce9a)_0x5d7cc4[_0x5582d6(0xed)]=_0xd2ce9a;_0x2eca93['settings']&&_0x718f['VAuxC'](Object[_0x5582d6(0x6f)](_0x2eca93['settings'])[_0x5582d6(0xe4)],0x0)&&(_0x5d7cc4[_0x5582d6(0x74)]=_0x2eca93[_0x5582d6(0x74)]);if(_0x2eca93['username'])_0x5d7cc4[_0x5582d6(0xb3)]=_0x2eca93['username'];if(_0x2eca93['password'])_0x5d7cc4['password']=_0x2eca93['password'];return await apiRequest(_0x718f['nsEnQ'],{'method':'POST','body':JSON['stringify'](_0x5d7cc4)});}export async function uploadCloudProfileSession(_0x4f5d7d,_0x1157dd){const _0x45d679=_0x359e,_0x3a2ca2={'XiYut':function(_0x579b75,_0x58e45c,_0x55c43c){return _0x579b75(_0x58e45c,_0x55c43c);},'BHCFC':function(_0x25338f,_0x55bbc4){return _0x25338f(_0x55bbc4);},'TCpjR':'POST'};return await _0x3a2ca2['XiYut'](apiRequest,_0x45d679(0xa3)+_0x3a2ca2['BHCFC'](encodeURIComponent,_0x4f5d7d)+'/session',{'method':_0x3a2ca2['TCpjR'],'body':JSON[_0x45d679(0xbe)]({'session_state':_0x1157dd})});}export async function saveCloudProfileCredentials(_0x73b1a5,_0x4a8b4b,_0x38249d){const _0x369e86=_0x359e,_0x3796a5={'puiAn':function(_0x797e7b,_0x3a2f2d,_0x498ff0){return _0x797e7b(_0x3a2f2d,_0x498ff0);}};await _0x3796a5['puiAn'](apiRequest,_0x369e86(0xa3)+encodeURIComponent(_0x73b1a5),{'method':'PUT','body':JSON[_0x369e86(0xbe)]({'username':_0x4a8b4b,'password':_0x38249d})});}export async function fetchAuthConfig(){const _0x2d64af=_0x359e,_0x313211={'tIkDZ':function(_0x597164,_0x3123d9){return _0x597164(_0x3123d9);},'cKnCc':_0x2d64af(0x100)};try{const _0x107c32=await _0x313211[_0x2d64af(0xfd)](apiRequest,_0x313211['cKnCc']);return _0x107c32[_0x2d64af(0x97)];}catch(_0x572b6b){return _0x572b6b instanceof ApiError&&_0x572b6b['status']!==0x194&&console[_0x2d64af(0xc3)]('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x572b6b[_0x2d64af(0xcb)]),null;}}async function createTunnelSession(_0x5c5315){const _0xc6751f=_0x359e,_0x4da567={'uhdse':function(_0x5259de,_0x26c9e6,_0x142483){return _0x5259de(_0x26c9e6,_0x142483);}};return await _0x4da567[_0xc6751f(0xc2)](apiRequest,'/api/v1/tunnel/sessions',{'method':'POST','body':JSON['stringify']({'targetUrl':_0x5c5315,'mode':_0xc6751f(0x8f)})});}async function deleteTunnelSession(_0x1692f5){const _0x1b4528=_0x359e,_0x2b2238={'TcQOW':function(_0x26c3b0,_0x48b04c,_0x59905f){return _0x26c3b0(_0x48b04c,_0x59905f);}};await _0x2b2238[_0x1b4528(0xf4)](apiRequest,'/api/v1/tunnel/sessions/'+_0x1692f5,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x1cc288){const _0x196693=_0x359e,_0x52b057={'xJltv':function(_0x5c2ea7,_0x338a84){return _0x5c2ea7===_0x338a84;},'WkfoG':function(_0x226f69,_0x2cb17e){return _0x226f69+_0x2cb17e;}};if(!_0x1cc288)return null;if(_0x1cc288[_0x196693(0xe8)])return _0x1cc288[_0x196693(0xe8)];const _0xce473=Object[_0x196693(0x6f)](_0x1cc288[_0x196693(0x83)]??{});if(_0x52b057[_0x196693(0x6d)](_0xce473['length'],0x1))return _0xce473[0x0];if(_0xce473[_0x196693(0xe4)]===0x0)return null;throw new Error(_0x52b057['WkfoG']('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0xce473[_0x196693(0xa9)](',\x20')+_0x196693(0xfe),_0x196693(0xd4)));}export async function resolveAdHocProfile(_0x29f740=process['env']){const _0x3967d5=_0x359e,_0x12afaf={'bVBAW':function(_0x3cdd20){return _0x3cdd20();},'iGdus':function(_0x2a791f,_0x6e3871,_0x2479f8,_0x4a455b){return _0x2a791f(_0x6e3871,_0x2479f8,_0x4a455b);},'ReNQt':function(_0x18f039,_0x2b1021){return _0x18f039??_0x2b1021;}},_0x28b062=_0x29f740['RANGER_TEST_USERNAME'];if(!_0x28b062)return null;const _0x143081=await fetchCloudProfile(_0x28b062);if(_0x143081)return{'name':_0x143081['name'],'profile':_0x143081};const _0x566cea=await _0x12afaf['bVBAW'](fetchAuthConfig),_0x285d36=pickAdHocEnvKey(_0x566cea),_0xa69a5c=_0x29f740['RANGER_TEST_PASSWORD'],_0x6964d3=await _0x12afaf['iGdus'](createCloudProfile,_0x28b062,_0x12afaf[_0x3967d5(0xe2)](_0x285d36,undefined),{'username':_0x28b062,'password':_0xa69a5c});return console['log']('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x6964d3[_0x3967d5(0x9b)]+_0x3967d5(0x86)+_0x28b062),{'name':_0x6964d3['name'],'profile':_0x6964d3};}export async function writeSessionToLocalCache(_0x5bc57e,_0x1a8390,_0x3fca31,_0x31cd1c,_0x5f0779,_0x5a4508,_0x2f3029){const _0x4819ad=_0x359e,_0x20f835={'xxhNP':function(_0x4542fa,_0xa35365){return _0x4542fa(_0xa35365);},'wJQwh':function(_0x5b5b9d,_0x5f2444,_0x543936){return _0x5b5b9d(_0x5f2444,_0x543936);},'RQsgq':function(_0x4a01fd){return _0x4a01fd();},'PFqFi':_0x4819ad(0xcc),'vQcrv':function(_0x1037c3,_0x154ac1){return _0x1037c3>_0x154ac1;},'VSBbB':function(_0x19ba21,_0x5e3f45,_0x4a65f4){return _0x19ba21(_0x5e3f45,_0x4a65f4);},'KfLuq':function(_0x5512c8,_0x170103){return _0x5512c8(_0x170103);},'zxBVL':function(_0x411a32,_0x2486ad,_0x520b5f){return _0x411a32(_0x2486ad,_0x520b5f);}},_0x1b56c7=_0x20f835[_0x4819ad(0xfa)](sessionCacheHash,{'orgId':_0x1a8390,'profileName':_0x5bc57e,'effectiveBaseUrl':_0x3fca31,'setupHeaders':_0x31cd1c,'invalidateOn':_0x2f3029?.['invalidateOn'],'userAgent':_0x2f3029?.[_0x4819ad(0x76)],'clientIp':_0x2f3029?.[_0x4819ad(0x7e)]}),_0x5b78b4=getSessionCachePath(_0x1b56c7,_0x5bc57e),_0x57c3be=_0x20f835[_0x4819ad(0xef)](join,_0x20f835['RQsgq'](getRangerHomeDir),_0x20f835['PFqFi']);!_0x20f835[_0x4819ad(0xfa)](existsSync,_0x57c3be)&&await mkdir(_0x57c3be,{'recursive':!![]});const _0x2adb43={..._0x5f0779};_0x5a4508&&_0x20f835[_0x4819ad(0x81)](_0x5a4508[_0x4819ad(0xe4)],0x0)&&Array[_0x4819ad(0x8d)](_0x2adb43[_0x4819ad(0xbb)])&&(_0x2adb43['cookies']=_0x20f835[_0x4819ad(0xe3)](duplicateCookiesForDomains,_0x2adb43[_0x4819ad(0xbb)],_0x5a4508));const _0x427b77={'cached_at':new Date()[_0x4819ad(0x95)](),'session_state':_0x2adb43};await writeFile(_0x5b78b4,JSON['stringify'](_0x427b77,null,0x2));const _0x5388d9=_0x20f835['KfLuq'](getStorageStatePath,_0x5b78b4);return await _0x20f835['zxBVL'](writeFile,_0x5388d9,JSON['stringify'](_0x2adb43,null,0x2)),_0x5388d9;}export async function checkLocalCache(_0x146ba2,_0x35b578,_0x3808a3,_0x5e4cae,_0x1d2565){const _0x18d97b=_0x359e,_0x51f671={'rNJXY':function(_0x365d12,_0xa6e8bf,_0x190a45){return _0x365d12(_0xa6e8bf,_0x190a45);}},_0x4e34a9=sessionCacheHash({'orgId':_0x35b578,'profileName':_0x146ba2,'effectiveBaseUrl':_0x3808a3,'setupHeaders':_0x5e4cae,'invalidateOn':_0x1d2565?.['invalidateOn'],'userAgent':_0x1d2565?.['userAgent'],'clientIp':_0x1d2565?.['clientIp']}),_0x2dadc7=_0x51f671[_0x18d97b(0xae)](getSessionCachePath,_0x4e34a9,_0x146ba2),_0x343126=getStorageStatePath(_0x2dadc7);if(!existsSync(_0x2dadc7)||!existsSync(_0x343126))return null;try{const _0x1ab461=await readFile(_0x2dadc7,_0x18d97b(0x77));return JSON['parse'](_0x1ab461),{'storageStatePath':_0x343126};}catch{return null;}}function launchRealBrowser(){const _0x4d81ab=_0x359e;return chromium[_0x4d81ab(0xf2)]({'headless':!![]});}function emitSessionValidationHint(_0x3ca5dc,_0x5c8691){const _0x38f4ca=_0x359e;if(!_0x5c8691||!_0x5c8691[_0x38f4ca(0xa1)]?.['length'])return;let _0x5d65f0;try{_0x5d65f0=new URL(_0x3ca5dc);}catch{return;}const _0x4f2eae=[];for(const _0x2eaf22 of _0x5c8691[_0x38f4ca(0xa1)]){try{_0x4f2eae['push']({'raw':_0x2eaf22,'url':new URL(_0x2eaf22)});}catch{}}if(_0x4f2eae[_0x38f4ca(0xe4)]===0x0)return;if(_0x4f2eae[_0x38f4ca(0x78)](_0xf57f56=>_0xf57f56[_0x38f4ca(0xca)][_0x38f4ca(0x8c)]===_0x5d65f0['origin']))return;const _0x1252af=_0x4f2eae[_0x38f4ca(0xd2)](_0x323d5c=>'\x22'+_0x323d5c['raw']+'\x22')[_0x38f4ca(0xa9)](',\x20');console[_0x38f4ca(0x9c)]('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x1252af+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x3ca5dc+_0x38f4ca(0xd6))+'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.');}export async function serverSideLogin(_0x529a1f,_0x5bfdad){const _0x4f730f=_0x359e,_0x53b3a9={'IYwOJ':'POST','xtzMc':function(_0x1ad6a9,_0x5956ac){return _0x1ad6a9 instanceof _0x5956ac;},'GxRyV':function(_0x5090c0,_0x2ce1e4){return _0x5090c0===_0x2ce1e4;},'OvhXz':'not_configured'},_0x5a0152=process['env']['RANGER_TEST_USERNAME'],_0x4c1630=process[_0x4f730f(0x9f)]['RANGER_TEST_PASSWORD'],_0x28ad75={};if(_0x5a0152)_0x28ad75['username']=_0x5a0152;if(_0x4c1630)_0x28ad75[_0x4f730f(0x79)]=_0x4c1630;if(_0x5bfdad?.['force'])_0x28ad75[_0x4f730f(0xf1)]=!![];if(_0x5bfdad?.[_0x4f730f(0xa2)])_0x28ad75[_0x4f730f(0x91)]=_0x5bfdad[_0x4f730f(0xa2)];_0x5bfdad?.['tunnel']&&(_0x28ad75['tunnel_session_id']=_0x5bfdad[_0x4f730f(0x71)][_0x4f730f(0xa7)],_0x28ad75['pw_endpoint']=_0x5bfdad[_0x4f730f(0x71)][_0x4f730f(0xb4)]);try{return await apiRequest(_0x4f730f(0xa3)+encodeURIComponent(_0x529a1f)+'/login',{'method':_0x53b3a9[_0x4f730f(0xff)],'body':JSON[_0x4f730f(0xbe)](_0x28ad75)});}catch(_0x4db9f3){if(_0x53b3a9['xtzMc'](_0x4db9f3,ApiError)&&_0x53b3a9[_0x4f730f(0x7b)](_0x4db9f3[_0x4f730f(0x8a)],0x190)&&_0x4db9f3['code']==='not_configured')return{'status':_0x53b3a9['OvhXz'],'error':_0x4db9f3['detail']};throw _0x4db9f3;}}async function serverSideLoginWithOptionalTunnel(_0x6c95e0,_0x1e215b,_0xea2e51={}){const _0xfc5785=_0x359e,_0x2e841a={'fCzTO':_0xfc5785(0xd7),'XJPSl':function(_0xa67397,_0x49fabb){return _0xa67397(_0x49fabb);},'LHwnO':function(_0x30291f,_0x56b231,_0x80227e){return _0x30291f(_0x56b231,_0x80227e);},'ZmUmo':function(_0x435909,_0x2071b0){return _0x435909??_0x2071b0;},'qayYO':_0xfc5785(0xbc),'skTRC':function(_0x2a6c4d,_0x1dbde2){return _0x2a6c4d||_0x1dbde2;},'RwoqB':'tunnel_login_cleanup'};if(!_0x2e841a[_0xfc5785(0xe1)](needsTunnel,_0x1e215b))return await _0x2e841a[_0xfc5785(0xd9)](serverSideLogin,_0x6c95e0,{'force':_0xea2e51[_0xfc5785(0xf1)]});let _0x57b6ca=null,_0x17ec29=null,_0x1b28c6=null,_0x37ac37=null,_0x5bbc00=![];const _0xa8404={'profileName':_0x6c95e0,'targetUrlHost':_0x2e841a[_0xfc5785(0xe1)](targetHostForTelemetry,_0x1e215b),'tunnelRequired':!![],'forceLogin':Boolean(_0xea2e51['force'])};try{_0xea2e51['telemetry']?.[_0xfc5785(0xeb)](_0xfc5785(0xbc),_0xa8404),_0x57b6ca=await launchBrowserServer({'headless':!![]}),_0x17ec29=await createTunnelSession(_0x1e215b);const _0x2fc8e0=await requireToken();_0x1b28c6=await _0x2e841a['XJPSl'](createTunnelBridge,{'localWsUrl':_0x57b6ca['wsEndpoint'],'tunnelServerUrl':_0x17ec29[_0xfc5785(0x6c)],'sessionId':_0x17ec29[_0xfc5785(0xa7)],'apiKey':_0x2fc8e0,'onError':_0x48ae0d=>{_0x37ac37=_0x48ae0d;},'onClose':()=>{_0x37ac37??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x6c95e0);},'onEvent':_0x3b4670=>trackBridgeEvent(_0xea2e51['telemetry'],_0x3b4670)}),_0xea2e51[_0xfc5785(0xaf)]?.['trackPhaseEnd'](_0xfc5785(0xbc),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)],'localBrowserServer':!![]}),_0x5bbc00=!![];try{return _0xea2e51['telemetry']?.[_0xfc5785(0xeb)](_0xfc5785(0xd7),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)]}),await serverSideLogin(_0x6c95e0,{'force':_0xea2e51['force'],'targetUrl':_0x1e215b,'tunnel':{'sessionId':_0x17ec29[_0xfc5785(0xa7)],'pwEndpoint':_0x17ec29['pwEndpoint']}})[_0xfc5785(0x9e)](_0x11c6b6=>{const _0x2f834e=_0xfc5785;return _0xea2e51['telemetry']?.['trackPhaseEnd'](_0x2e841a['fCzTO'],{..._0xa8404,'tunnelSessionId':_0x17ec29?.['sessionId'],'loginStatus':_0x11c6b6[_0x2f834e(0x8a)],'hasSessionState':Boolean(_0x11c6b6[_0x2f834e(0xe6)]),'hasTestOutput':_0x2e841a['XJPSl'](Boolean,_0x11c6b6['test_output']),'bridgeError':errorMessageForTelemetry(_0x37ac37)}),_0x11c6b6;});}catch(_0x4f494f){await _0xea2e51['telemetry']?.[_0xfc5785(0xf6)]('tunnel_login_request',_0x2e841a['ZmUmo'](_0x37ac37,_0x4f494f),{..._0xa8404,'tunnelSessionId':_0x17ec29[_0xfc5785(0xa7)],'bridgeError':errorMessageForTelemetry(_0x37ac37)});throw _0x37ac37??_0x4f494f;}}catch(_0x2ae533){!_0x5bbc00&&await _0xea2e51['telemetry']?.[_0xfc5785(0xf6)](_0x2e841a[_0xfc5785(0xab)],_0x2ae533,{..._0xa8404,'tunnelSessionId':_0x17ec29?.['sessionId']});throw _0x2ae533;}finally{(_0x2e841a[_0xfc5785(0x7c)](_0x17ec29,_0x57b6ca)||_0x1b28c6)&&(_0xea2e51['telemetry']?.['trackPhaseStart'](_0x2e841a[_0xfc5785(0x87)],{..._0xa8404,'tunnelSessionId':_0x17ec29?.[_0xfc5785(0xa7)]}),_0x1b28c6?.['close'](),_0x57b6ca&&await _0x57b6ca['close']()['catch'](()=>{}),_0x17ec29&&await _0x2e841a['XJPSl'](deleteTunnelSession,_0x17ec29['sessionId'])[_0xfc5785(0xd1)](()=>{}),_0xea2e51[_0xfc5785(0xaf)]?.['trackPhaseEnd'](_0x2e841a[_0xfc5785(0x87)],{..._0xa8404,'tunnelSessionId':_0x17ec29?.[_0xfc5785(0xa7)]}));}}export async function manualBrowserLogin(_0x54736b,_0x1d15cd,_0x227e45={}){const _0x356068=_0x359e,_0x2def={'ObjTo':function(_0x3a1ce7,_0x5f4d1a){return _0x3a1ce7/_0x5f4d1a;},'hMIWM':function(_0x47900b,_0x298e86,_0x18c816){return _0x47900b(_0x298e86,_0x18c816);},'rlDTW':_0x356068(0x99),'gpcBO':function(_0x504100,_0x209695){return _0x504100+_0x209695;},'rsscw':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','hkoIi':function(_0x354ca8,_0x258623){return _0x354ca8>_0x258623;},'xKVSD':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','zcLOx':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','jxpZE':function(_0x5f4e98,_0x234a22){return _0x5f4e98!==_0x234a22;},'LWtbt':function(_0x54bbce,_0xfcb8c1){return _0x54bbce(_0xfcb8c1);},'vsoTE':_0x356068(0x90)};if(!isInteractive())throw new Error(_0x2def[_0x356068(0xad)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x54736b[_0x356068(0x9b)]+'\x22.\x0a',_0x2def[_0x356068(0xb2)])+_0x356068(0xc5));const _0x4e4a7d=_0x1d15cd&&_0x2def['hkoIi'](_0x1d15cd['domains']['length'],0x0)?_0x1d15cd['domains'][0x0]:_0x356068(0xcf);console[_0x356068(0x9c)](_0x2def['xKVSD']),console[_0x356068(0x9c)]('\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0x266b21=>setTimeout(_0x266b21,0x7d0));const _0x5e9a35=await chromium['launch']({'headless':![]});let _0x35cf11=null;try{const _0x2b836c={'ignoreHTTPSErrors':!![]};_0x1d15cd?.['setupHeaders']&&(_0x2b836c[_0x356068(0xb8)]=_0x1d15cd[_0x356068(0x82)]);const _0x16e8b0=await _0x5e9a35['newContext'](_0x2b836c);await addProfileSetupBanner(_0x16e8b0);const _0x42265d=await _0x16e8b0['newPage']();await _0x42265d[_0x356068(0xf5)](_0x4e4a7d);let _0x5a6aa2=![];await new Promise(_0x3f6bc4=>{const _0x62093b=_0x356068,_0x4fc985={'Nqawf':function(_0x4e8034,_0x46375d){return _0x2def['ObjTo'](_0x4e8034,_0x46375d);},'lOfxF':function(_0x2f5db6){return _0x2f5db6();}},_0x37451c=_0x2def['hMIWM'](setTimeout,()=>{const _0x55aed8=_0x359e;_0x5a6aa2=!![],console[_0x55aed8(0xc3)]('Browser\x20login\x20timed\x20out\x20after\x20'+_0x4fc985['Nqawf'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x4fc985['lOfxF'](_0x3f6bc4);},MANUAL_LOGIN_TIMEOUT_MS);_0x42265d['on'](_0x2def[_0x62093b(0x7d)],async()=>{const _0x1084b5=_0x62093b;clearTimeout(_0x37451c);try{const _0x269341=await _0x16e8b0[_0x1084b5(0xea)]();_0x35cf11=_0x269341;}catch{}_0x4fc985['lOfxF'](_0x3f6bc4);});});if(_0x5a6aa2&&!_0x35cf11)throw new Error(_0x356068(0xec));}finally{await _0x5e9a35['close']()[_0x356068(0xd1)](()=>{});}if(!_0x35cf11)throw new Error(_0x2def[_0x356068(0xe9)]);return _0x2def[_0x356068(0x72)](_0x227e45['persistSessionState'],![])&&await apiRequest('/api/v1/profiles/'+_0x2def[_0x356068(0xb5)](encodeURIComponent,_0x54736b['name'])+'/session',{'method':_0x2def[_0x356068(0xb9)],'body':JSON[_0x356068(0xbe)]({'session_state':_0x35cf11,'updated_by':_0x356068(0xb6)})}),{'sessionState':_0x35cf11};}export async function promptSaveCredentials(_0xd3e92a){const _0x4bc4f5=_0x359e,_0x1a2f1d={'SnGbc':function(_0x525ecc,_0xe70cab){return _0x525ecc||_0xe70cab;},'gXKWJ':'confirm','tSZgs':_0x4bc4f5(0xdc),'UznxG':function(_0x169a34,_0x20fa0b,_0x42a88d){return _0x169a34(_0x20fa0b,_0x42a88d);}},_0x372564=process['env']['RANGER_TEST_USERNAME'],_0x5b6872=process[_0x4bc4f5(0x9f)]['RANGER_TEST_PASSWORD'];if(_0x1a2f1d['SnGbc'](!_0x372564,!_0x5b6872))return;if(!isInteractive())return;const {save:_0x6e51bd}=await _0x1a69e1[_0x4bc4f5(0xa8)]([{'type':_0x1a2f1d['gXKWJ'],'name':_0x1a2f1d[_0x4bc4f5(0xf8)],'message':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','default':![]}]);if(!_0x6e51bd)return;await _0x1a2f1d[_0x4bc4f5(0xac)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0xd3e92a),{'method':_0x4bc4f5(0x7f),'body':JSON[_0x4bc4f5(0xbe)]({'username':_0x372564,'password':_0x5b6872})}),console['log']('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x4a5aa0,_0x5c3f30={}){const _0x15ca64=_0x359e,_0x4afb20={'qeHpf':function(_0x535976,_0x2c41ed){return _0x535976===_0x2c41ed;},'NBplG':_0x15ca64(0xb1),'mycsM':function(_0x3839be,_0x6a7b){return _0x3839be(_0x6a7b);},'aReJL':function(_0x59cc4d,_0x120ddf,_0x521936,_0x1f11df,_0x9d24cf){return _0x59cc4d(_0x120ddf,_0x521936,_0x1f11df,_0x9d24cf);},'aJdkD':function(_0x3af435,_0x18e471,_0x1f1abe,_0x1366ca,_0x4fe563,_0x37f167,_0x5646f1,_0x5f069c){return _0x3af435(_0x18e471,_0x1f1abe,_0x1366ca,_0x4fe563,_0x37f167,_0x5646f1,_0x5f069c);},'BVtXr':function(_0x300cb3,_0x2c4dbd,_0x4cd761,_0xf245c,_0x535238){return _0x300cb3(_0x2c4dbd,_0x4cd761,_0xf245c,_0x535238);},'CFtNU':function(_0x1eec2b,_0x40daa4,_0x1ba64d){return _0x1eec2b(_0x40daa4,_0x1ba64d);},'Exayc':function(_0x3280ae,_0x2480f,_0x5b8a01){return _0x3280ae(_0x2480f,_0x5b8a01);},'ZJExx':function(_0x4dcad5,_0x4843ab){return _0x4dcad5===_0x4843ab;},'ZLsKB':function(_0x414bd6,_0x2483c9){return _0x414bd6&&_0x2483c9;},'FNACM':function(_0x374e1a,_0x118f8f){return _0x374e1a(_0x118f8f);},'WkDVZ':_0x15ca64(0xc0),'BVLiO':function(_0x3fd9dd,_0x5ae2c9){return _0x3fd9dd instanceof _0x5ae2c9;},'GDZng':function(_0x1982da,_0x1e03f9){return _0x1982da(_0x1e03f9);}},_0x1ede94=_0x4a5aa0['settings']??{},_0x545374=await fetchAuthConfig(),_0x49bc74=_0x545374?resolveAuthEnvironmentLocally(_0x545374,_0x4a5aa0['environmentKey']):null,_0x335bed=_0x4afb20['qeHpf'](typeof _0x49bc74?.['loginInstructions'],_0x4afb20['NBplG'])&&_0x49bc74[_0x15ca64(0xc6)]['trim']()?_0x49bc74['loginInstructions']:undefined,_0x5bf8fe=typeof _0x1ede94['loginInstructions']===_0x15ca64(0xb1)&&_0x1ede94[_0x15ca64(0xc6)][_0x15ca64(0xc1)]()?_0x1ede94[_0x15ca64(0xc6)]:undefined,_0x32b776=_0x5bf8fe||!_0x335bed?_0x1ede94:{..._0x1ede94,'loginInstructions':_0x335bed},_0x42fd7a=Boolean(_0x32b776['loginInstructions']?.[_0x15ca64(0xc1)]()),_0x54579a=_0x4afb20[_0x15ca64(0x92)](Boolean,_0x1ede94['forceLogin']||_0x49bc74?.['forceLogin']),_0x207dcd=_0x49bc74?.[_0x15ca64(0xa1)],_0xaf4be8=_0x1ede94['setupHeaders'],_0x2b32c5=_0xaf4be8??_0x49bc74?.['setupHeaders'],_0x3f4fb0=_0x5c3f30['effectiveBaseUrl']??_0x1ede94[_0x15ca64(0xee)]??(_0x207dcd&&_0x207dcd[_0x15ca64(0xe4)]>0x0?_0x207dcd[0x0]:''),_0x9d8c8c=_0x3f4fb0?_0x4afb20[_0x15ca64(0x92)](needsTunnel,_0x3f4fb0):![],_0x5f05e1={'invalidateOn':_0x49bc74?.['invalidateOn'],'userAgent':_0x49bc74?.[_0x15ca64(0x73)]?.[_0x15ca64(0x76)]??_0x1ede94[_0x15ca64(0x76)]};_0x54579a&&console['log']('\x20\x20forceLogin\x20enabled\x20for\x20\x22'+_0x4a5aa0['name']+'\x22,\x20refreshing\x20session...');if(!_0x54579a){const _0x14d8d5=await checkLocalCache(_0x4a5aa0['name'],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0x5f05e1);if(_0x14d8d5){if(_0x3f4fb0&&!_0x9d8c8c){const _0x1cb184=await _0x4afb20[_0x15ca64(0x98)](isCachedSessionLive,_0x14d8d5[_0x15ca64(0xfb)],_0x3f4fb0,{'sessionCheckPath':_0x49bc74?.[_0x15ca64(0xe0)],'setupHeaders':_0x2b32c5},{'launchBrowser':launchRealBrowser});if(_0x1cb184)return console[_0x15ca64(0x9c)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x4a5aa0['name']+'\x22'),{'authPath':_0x14d8d5['storageStatePath'],'settings':_0x32b776,'resolvedEnv':_0x49bc74};console['log'](_0x15ca64(0x94)+_0x4a5aa0['name']+_0x15ca64(0xc4)),emitSessionValidationHint(_0x3f4fb0,_0x49bc74);}else return _0x9d8c8c&&console[_0x15ca64(0x9c)]('\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x4a5aa0[_0x15ca64(0x9b)]+'\x22'),{'authPath':_0x14d8d5['storageStatePath'],'settings':_0x32b776,'resolvedEnv':_0x49bc74};}}if(!_0x54579a&&_0x4a5aa0['sessionState']){if(_0x9d8c8c)console[_0x15ca64(0x9c)](_0x15ca64(0xa4)+_0x3f4fb0+'\x22\x20on\x20profile\x20\x22'+_0x4a5aa0[_0x15ca64(0x9b)]+'\x22');else{const _0x4db613=await _0x4afb20['aJdkD'](writeSessionToLocalCache,_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0[_0x15ca64(0xaa)],_0x3f4fb0,_0x2b32c5,_0x4a5aa0['sessionState'],_0x207dcd,_0x5f05e1);if(_0x3f4fb0){const _0x22f0ec=await _0x4afb20[_0x15ca64(0xce)](isCachedSessionLive,_0x4db613,_0x3f4fb0,{'sessionCheckPath':_0x49bc74?.['sessionCheckPath'],'setupHeaders':_0x2b32c5},{'launchBrowser':launchRealBrowser});if(_0x22f0ec)return console[_0x15ca64(0x9c)]('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0x4a5aa0['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x4db613,'settings':_0x32b776,'resolvedEnv':_0x49bc74};console['log'](_0x15ca64(0xc9)+_0x4a5aa0['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x4afb20['CFtNU'](emitSessionValidationHint,_0x3f4fb0,_0x49bc74);}else return{'authPath':_0x4db613,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}}if(_0x42fd7a)return console[_0x15ca64(0x9c)](_0x15ca64(0xd0)+_0x4a5aa0['name']+_0x15ca64(0xbd)),{'authPath':undefined,'settings':_0x32b776,'resolvedEnv':_0x49bc74};console[_0x15ca64(0x9c)](_0x15ca64(0xd0)+_0x4a5aa0['name']+_0x15ca64(0xf3));const _0x43e84d=Boolean(process[_0x15ca64(0x9f)][_0x15ca64(0xda)])&&_0x4afb20[_0x15ca64(0x92)](Boolean,process['env']['RANGER_TEST_PASSWORD']),_0x32ed69=_0x4afb20[_0x15ca64(0x92)](Boolean,_0x4a5aa0['username']);if(_0x43e84d||_0x32ed69)try{const _0x52a9b1=_0x3f4fb0?await serverSideLoginWithOptionalTunnel(_0x4a5aa0[_0x15ca64(0x9b)],_0x3f4fb0,{'force':_0x54579a,'telemetry':_0x5c3f30[_0x15ca64(0xaf)]}):await _0x4afb20['Exayc'](serverSideLogin,_0x4a5aa0[_0x15ca64(0x9b)],{'force':_0x54579a});if(_0x4afb20['ZJExx'](_0x52a9b1[_0x15ca64(0x8a)],'not_configured'))console[_0x15ca64(0x9c)](_0x15ca64(0xdf));else{if(_0x52a9b1['status']===_0x15ca64(0xa5)&&_0x52a9b1['session_state']){console[_0x15ca64(0x9c)]('\x20\x20Login\x20successful.\x20Session\x20cached.');const _0x396563=await writeSessionToLocalCache(_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0x52a9b1['session_state'],_0x207dcd,_0x5f05e1);return _0x4afb20['ZLsKB'](_0x43e84d,!_0x32ed69)&&await _0x4afb20['FNACM'](promptSaveCredentials,_0x4a5aa0[_0x15ca64(0x9b)]),{'authPath':_0x396563,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}else _0x52a9b1[_0x15ca64(0xde)]&&(console[_0x15ca64(0x9c)](_0x4afb20[_0x15ca64(0x9a)]),console['log'](_0x52a9b1['test_output'])),console[_0x15ca64(0x9c)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}}catch(_0xc7b4ab){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x4afb20[_0x15ca64(0xe7)](_0xc7b4ab,Error)?_0xc7b4ab[_0x15ca64(0xcb)]:_0x4afb20['GDZng'](String,_0xc7b4ab))),console['log'](_0x15ca64(0x80));}const _0x308cb8=_0x49bc74?{..._0x49bc74,'setupHeaders':_0x2b32c5}:_0x3f4fb0?{'key':_0x4a5aa0['environmentKey']??'','domains':[_0x3f4fb0],'setupHeaders':_0x2b32c5}:null,{sessionState:_0xd22fa3}=await manualBrowserLogin(_0x4a5aa0,_0x308cb8,{'persistSessionState':!_0x9d8c8c}),_0x1d5f03=await _0x4afb20[_0x15ca64(0xc7)](writeSessionToLocalCache,_0x4a5aa0[_0x15ca64(0x9b)],_0x4a5aa0['organizationId'],_0x3f4fb0,_0x2b32c5,_0xd22fa3,_0x207dcd,_0x5f05e1);return{'authPath':_0x1d5f03,'settings':_0x32b776,'resolvedEnv':_0x49bc74};}
|
|
1
|
+
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
|
-
const
|
|
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
|
-
function _0xbfbc(_0x3d9c9a,_0x43174a){_0x3d9c9a=_0x3d9c9a-0x65;const _0x1b93a8=_0x1b93();let _0xbfbc3f=_0x1b93a8[_0x3d9c9a];return _0xbfbc3f;}const _0x40ab9a=_0xbfbc;(function(_0x2c0a02,_0xed5371){const _0x2a32b2=_0xbfbc,_0x181e41=_0x2c0a02();while(!![]){try{const _0x1f22a6=parseInt(_0x2a32b2(0xb0))/0x1+-parseInt(_0x2a32b2(0x91))/0x2+parseInt(_0x2a32b2(0x90))/0x3*(parseInt(_0x2a32b2(0xa8))/0x4)+-parseInt(_0x2a32b2(0x8a))/0x5+-parseInt(_0x2a32b2(0x79))/0x6+parseInt(_0x2a32b2(0x76))/0x7*(parseInt(_0x2a32b2(0xa9))/0x8)+parseInt(_0x2a32b2(0xa2))/0x9;if(_0x1f22a6===_0xed5371)break;else _0x181e41['push'](_0x181e41['shift']());}catch(_0x39a0bb){_0x181e41['push'](_0x181e41['shift']());}}}(_0x1b93,0x2f211));import{spawn}from'child_process';import _0x3a3130 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL=_0x40ab9a(0xa5),WORKOS_TOKEN_URL=_0x40ab9a(0x81);function _0x1b93(){const _0x37f722=['hPgHU','jhfWV','Waiting\x20for\x20authentication...','map','MBylf','325906iybtRX','access_token','refresh_token','expires_in','MOZGg','stdin','Provisioning\x20CLI\x20token...','gIZTo','device_code','stringify','email','json','ZCqkH','unref','GET','base64url','xdg-open','gLxdY','now','Code:\x20','239603wcyHoY','nXmio','workosClientId','2283192Qjsqhr','text','CLI\x20Key','zjjbi','Setting\x20up\x20your\x20organization...','xmvvX','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','filter','https://api.workos.com/user_management/authenticate','Invalid\x20JWT\x20format','/cli-auth/token','name','org_id','error','length','POST','Device\x20authorization\x20timed\x20out','1848590oPckiA','EGSXh','Failed\x20to\x20create\x20organization:\x20','Using\x20organization:\x20','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','token','9jxZdDC','318416cFNuxl','organizationId','application/json','application/x-www-form-urlencoded','log','AzzRI','status','Authentication\x20failed','BLgGn','platform','list','Failed\x20to\x20fetch\x20memberships:\x20','/api-keys','/organization/me','CCuxF','darwin','write','1134135liDMfq','sLbYl','mGsOo','https://api.workos.com/user_management/authorize/device','stdout','/organization/self-serve-signup','365412ftBAWr','88voXxAD','interval'];_0x1b93=function(){return _0x37f722;};return _0x1b93();}export async function requestDeviceCode(_0x452db8){const _0x105711=_0x40ab9a,_0x5003e9={'ChZsm':_0x105711(0x88)},_0x285634=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x5003e9['ChZsm'],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x452db8})});if(!_0x285634['ok']){const _0x5aad4c=await _0x285634[_0x105711(0x7a)]();throw new Error('Failed\x20to\x20request\x20device\x20code:\x20'+_0x285634[_0x105711(0x97)]+'\x20'+_0x5aad4c);}return _0x285634['json']();}export async function pollForTokens(_0x2b108a,_0x1b9935,_0x31d645,_0x412861){const _0x237128=_0x40ab9a,_0x1f0d95={'uhfIQ':function(_0x29adb6,_0x104d8b){return _0x29adb6+_0x104d8b;},'kGNyF':function(_0x51bc94,_0x425d44){return _0x51bc94*_0x425d44;},'iEnuY':function(_0x5853d7,_0x1191ff){return _0x5853d7*_0x1191ff;},'eRZKj':function(_0x57573c,_0x83efab){return _0x57573c(_0x83efab);},'USFwN':function(_0x6f516,_0x46c246,_0x3a3f9f){return _0x6f516(_0x46c246,_0x3a3f9f);},'xNnTa':_0x237128(0x94),'nXmio':function(_0x2f50e6,_0x236e28){return _0x2f50e6===_0x236e28;},'BLgGn':'authorization_pending','hfFnq':_0x237128(0x98)},_0x33cffb=_0x1f0d95['uhfIQ'](Date[_0x237128(0x74)](),_0x1f0d95['kGNyF'](_0x412861,0x3e8));let _0x27bc9b=_0x1f0d95['iEnuY'](_0x31d645,0x3e8);while(Date[_0x237128(0x74)]()<_0x33cffb){await _0x1f0d95['eRZKj'](sleep,_0x27bc9b);const _0x22c774=await _0x1f0d95['USFwN'](fetch,WORKOS_TOKEN_URL,{'method':_0x237128(0x88),'headers':{'Content-Type':_0x1f0d95['xNnTa']},'body':new URLSearchParams({'client_id':_0x2b108a,'device_code':_0x1b9935,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x22c774['ok'])return _0x22c774['json']();const _0x534303=await _0x22c774['json']();if(_0x1f0d95['nXmio'](_0x534303[_0x237128(0x86)],_0x1f0d95[_0x237128(0x99)]))continue;if(_0x1f0d95[_0x237128(0x77)](_0x534303['error'],'slow_down')){_0x27bc9b+=0x3e8;continue;}throw new Error(_0x534303['error_description']||_0x534303['error']||_0x1f0d95['hfFnq']);}throw new Error(_0x237128(0x89));}async function fetchUserProfile(_0x1f8c70){const _0x593908=_0x40ab9a,_0x3c3033={'WBEUG':function(_0x44f32c){return _0x44f32c();}},_0x915f8d=_0x3c3033['WBEUG'](getApiBaseUrl);try{const _0x6c6a7e=await fetch(_0x915f8d+_0x593908(0x9e),{'method':'GET','headers':{'workos-token':_0x1f8c70}});if(_0x6c6a7e['ok'])return _0x6c6a7e['json']();}catch{}return null;}function buildKeyName(_0x1890d5,_0x20aa80){const _0x817b51=_0x40ab9a,_0x2f0f2b={'KWvnn':function(_0x110f3f,_0x2547bd){return _0x110f3f===_0x2547bd;},'MXJXm':function(_0x1be983,_0x5df1a3){return _0x1be983+_0x5df1a3;}},_0x12ae08=_0x20aa80[_0x817b51(0x80)](_0x5f13d=>_0x5f13d[_0x817b51(0x84)]===_0x1890d5||_0x5f13d['name']['startsWith'](_0x1890d5+'\x20('));if(_0x2f0f2b['KWvnn'](_0x12ae08['length'],0x0))return _0x1890d5;return _0x1890d5+'\x20('+_0x2f0f2b['MXJXm'](_0x12ae08['length'],0x1)+')';}export async function provisionApiKey(_0x4666f8){const _0x2b9c9c=_0x40ab9a,_0x5be967={'MBylf':_0x2b9c9c(0x93),'liZQn':'GET','xmvvX':function(_0x4b7907,_0x216a12,_0x2fb67a){return _0x4b7907(_0x216a12,_0x2fb67a);},'bSoTx':'mcp:write'},_0xca060=getApiBaseUrl(),_0x1f6bb4={'Content-Type':_0x5be967[_0x2b9c9c(0xaf)],'workos-token':_0x4666f8},_0x338f5d=await fetchUserProfile(_0x4666f8),_0xef2e1b=_0x338f5d?.['firstName']||_0x338f5d?.[_0x2b9c9c(0x6c)]?.['split']('@')[0x0],_0xdc296e=_0xef2e1b?_0xef2e1b+'\x27s\x20CLI\x20Key':_0x2b9c9c(0x7b);let _0xb25aa6=[];try{const _0x23deae=await fetch(_0xca060+'/api-keys',{'method':_0x5be967['liZQn'],'headers':_0x1f6bb4});if(_0x23deae['ok']){const _0x3ac311=await _0x23deae['json']();_0xb25aa6=_0x3ac311['apiKeys'];}}catch{}const _0x4abdae=_0x5be967[_0x2b9c9c(0x7e)](buildKeyName,_0xdc296e,_0xb25aa6),_0xa857b0=await fetch(_0xca060+_0x2b9c9c(0x9d),{'method':_0x2b9c9c(0x88),'headers':_0x1f6bb4,'body':JSON[_0x2b9c9c(0x6b)]({'name':_0x4abdae,'scope':_0x5be967['bSoTx']})});if(!_0xa857b0['ok']){const _0x2e5a1b=await _0xa857b0[_0x2b9c9c(0x7a)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0xa857b0['status']+'\x20'+_0x2e5a1b);}const _0x247c4f=await _0xa857b0['json']();return _0x247c4f['apiKey']['token'];}export function openBrowser(_0x505420){const _0x5932c4=_0x40ab9a,_0x46f63e={'zjjbi':function(_0x522485,_0x580d7c){return _0x522485===_0x580d7c;},'gLxdY':'ignore','VeYFW':_0x5932c4(0xa0),'sLbYl':_0x5932c4(0x72)};try{if(_0x46f63e[_0x5932c4(0x7c)](process[_0x5932c4(0x9a)],'win32')){const _0x12ec84=spawn('cmd',['/c','start','',_0x505420],{'detached':!![],'stdio':_0x46f63e['gLxdY'],'windowsHide':!![]});_0x12ec84[_0x5932c4(0x6f)]();return;}const _0x703584=_0x46f63e['zjjbi'](process[_0x5932c4(0x9a)],_0x46f63e['VeYFW'])?'open':_0x46f63e[_0x5932c4(0xa3)],_0x1852a4=spawn(_0x703584,[_0x505420],{'detached':!![],'stdio':_0x46f63e[_0x5932c4(0x73)]});_0x1852a4['unref']();}catch{}}function decodeJwtPayload(_0x3c049a){const _0x50f1a1=_0x40ab9a,_0x301658={'GOXip':function(_0x4ef102,_0x3ec6ed){return _0x4ef102!==_0x3ec6ed;},'hPgHU':_0x50f1a1(0x71),'ZCqkH':'utf-8'},_0x251bcf=_0x3c049a['split']('.');if(_0x301658['GOXip'](_0x251bcf[_0x50f1a1(0x87)],0x3))throw new Error(_0x50f1a1(0x82));const _0x2d959c=Buffer['from'](_0x251bcf[0x1],_0x301658[_0x50f1a1(0xab)])['toString'](_0x301658[_0x50f1a1(0x6e)]);return JSON['parse'](_0x2d959c);}async function selfServeSignup(_0x4832d4){const _0x542066=_0x40ab9a,_0x5b127c={'AzzRI':function(_0x5029d3,_0x8b11e9,_0x315c32){return _0x5029d3(_0x8b11e9,_0x315c32);},'jhfWV':_0x542066(0x88),'gcHSF':'application/json'},_0x441943=getApiBaseUrl(),_0x5d68eb=await _0x5b127c[_0x542066(0x96)](fetch,_0x441943+_0x542066(0xa7),{'method':_0x5b127c[_0x542066(0xac)],'headers':{'Content-Type':_0x5b127c['gcHSF'],'workos-token':_0x4832d4}});if(!_0x5d68eb['ok']){const _0x262cfb=await _0x5d68eb['text']();throw new Error(_0x542066(0x8c)+_0x5d68eb[_0x542066(0x97)]+'\x20'+_0x262cfb);}return _0x5d68eb[_0x542066(0x6d)]();}async function fetchMyMemberships(_0x138dc8){const _0x34c5c1=_0x40ab9a,_0x24ce2b={'vntlt':function(_0x418d24){return _0x418d24();},'GtHFA':function(_0x59fa62,_0xd06ab5,_0x92b1e2){return _0x59fa62(_0xd06ab5,_0x92b1e2);},'mGsOo':_0x34c5c1(0x70)},_0x45e74f=_0x24ce2b['vntlt'](getApiBaseUrl),_0x3a0d8b=await _0x24ce2b['GtHFA'](fetch,_0x45e74f+'/organization/my-memberships',{'method':_0x24ce2b[_0x34c5c1(0xa4)],'headers':{'workos-token':_0x138dc8}});if(!_0x3a0d8b['ok']){const _0x3a9062=await _0x3a0d8b['text']();throw new Error(_0x34c5c1(0x9c)+_0x3a0d8b[_0x34c5c1(0x97)]+'\x20'+_0x3a9062);}const _0x1278a5=await _0x3a0d8b[_0x34c5c1(0x6d)]();return _0x1278a5['memberships'];}async function refreshTokenWithOrg(_0x70b678,_0x22a2ff,_0x92eeb6){const _0x490565=_0x40ab9a,_0xcd0457={'XkhKB':function(_0x403b8e,_0x242aca,_0x1287d4){return _0x403b8e(_0x242aca,_0x1287d4);},'CCuxF':_0x490565(0x94)},_0x4ebf3a=await _0xcd0457['XkhKB'](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0xcd0457[_0x490565(0x9f)]},'body':new URLSearchParams({'client_id':_0x70b678,'grant_type':_0x490565(0xb2),'refresh_token':_0x22a2ff,'organization_id':_0x92eeb6})});if(!_0x4ebf3a['ok']){const _0x5bf371=await _0x4ebf3a['text']();throw new Error(_0x490565(0x8e)+_0x4ebf3a[_0x490565(0x97)]+'\x20'+_0x5bf371);}return _0x4ebf3a[_0x490565(0x6d)]();}async function provisionCliToken(_0x3eb752){const _0xea5236=_0x40ab9a,_0x2da215={'fbkAu':function(_0x23d9ce){return _0x23d9ce();},'GjkFG':'POST'},_0x5d5057=_0x2da215['fbkAu'](getApiBaseUrl),_0x592cbb=await fetch(_0x5d5057+_0xea5236(0x83),{'method':_0x2da215['GjkFG'],'headers':{'Content-Type':'application/json','workos-token':_0x3eb752}});if(!_0x592cbb['ok']){const _0x859f67=await _0x592cbb['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x592cbb[_0xea5236(0x97)]+'\x20'+_0x859f67);}return _0x592cbb['json']();}export async function runDeviceAuthFlow(){const _0xec8051=_0x40ab9a,_0x204155={'bbKEt':'\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','cinax':function(_0x511269,_0x13731a){return _0x511269(_0x13731a);},'gIZTo':_0xec8051(0xad),'EGSXh':function(_0x291835,_0x1f8277){return _0x291835(_0x1f8277);},'COgew':function(_0x423871,_0x22df34){return _0x423871===_0x22df34;},'vArrr':'Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','KAzNe':'selected','HQzpd':function(_0x9ef736,_0x5f08fb,_0x472605,_0x58fc66){return _0x9ef736(_0x5f08fb,_0x472605,_0x58fc66);},'MOZGg':_0xec8051(0x68)},_0xf41345=getCurrentEnvironment(),_0x1fa981=ENVIRONMENT_CONFIGS[_0xf41345][_0xec8051(0x78)],_0x2b6350=await requestDeviceCode(_0x1fa981);console[_0xec8051(0x95)](_0xec8051(0x7f)),console['log'](_0x204155['bbKEt']),_0x204155['cinax'](openBrowser,_0x2b6350['verification_uri_complete']),console[_0xec8051(0x95)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x2b6350['verification_uri_complete']),console['log'](_0xec8051(0x75)+_0x2b6350['user_code']+'\x0a'),process[_0xec8051(0xa6)][_0xec8051(0xa1)](_0x204155[_0xec8051(0x69)]);let _0x35d9e4=await pollForTokens(_0x1fa981,_0x2b6350[_0xec8051(0x6a)],_0x2b6350[_0xec8051(0xaa)],_0x2b6350[_0xec8051(0x65)]);console['log']('\x20✓');const _0x5b8c0f=decodeJwtPayload(_0x35d9e4[_0xec8051(0xb1)]);if(!_0x5b8c0f[_0xec8051(0x85)]){const _0x1c2edf=await _0x204155['EGSXh'](fetchMyMemberships,_0x35d9e4['access_token']);let _0x2ba1e1;if(_0x204155['COgew'](_0x1c2edf[_0xec8051(0x87)],0x0)){process[_0xec8051(0xa6)][_0xec8051(0xa1)](_0xec8051(0x7d));const _0x396756=await _0x204155[_0xec8051(0x8b)](selfServeSignup,_0x35d9e4['access_token']);_0x2ba1e1=_0x396756['organizationId'],console['log']('\x20✓');}else{if(_0x1c2edf[_0xec8051(0x87)]===0x1)_0x2ba1e1=_0x1c2edf[0x0][_0xec8051(0x92)],console[_0xec8051(0x95)](_0xec8051(0x8d)+_0x1c2edf[0x0]['name']);else{const _0xc8a290=process[_0xec8051(0x67)]['isTTY']&&process['stdout']['isTTY'];if(!_0xc8a290)throw new Error(_0x204155['vArrr']+'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');const {selected:_0x38be6a}=await _0x3a3130['prompt']([{'type':_0xec8051(0x9b),'name':_0x204155['KAzNe'],'message':'Select\x20an\x20organization:','choices':_0x1c2edf[_0xec8051(0xae)](_0x30b512=>({'name':_0x30b512[_0xec8051(0x84)],'value':_0x30b512['organizationId']}))}]);_0x2ba1e1=_0x38be6a;}}_0x35d9e4=await _0x204155['HQzpd'](refreshTokenWithOrg,_0x1fa981,_0x35d9e4['refresh_token'],_0x2ba1e1);}process['stdout'][_0xec8051(0xa1)](_0x204155[_0xec8051(0x66)]);const _0x20a529=await provisionCliToken(_0x35d9e4['access_token']);return console[_0xec8051(0x95)]('\x20✓'),await storeToken(_0x20a529[_0xec8051(0x8f)]),_0x35d9e4[_0xec8051(0xb2)]&&await storeRefreshToken(_0x35d9e4[_0xec8051(0xb2)]),_0x20a529[_0xec8051(0x8f)];}function sleep(_0x53694f){return new Promise(_0xec4ecf=>setTimeout(_0xec4ecf,_0x53694f));}
|
|
1
|
+
(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
|
-
const
|
|
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 _0x13e0(){const _0x36b6bd=['xeAav','weGmj','reXvS','/restore','sessionId','/api/v1/mcp/features','FHVmJ','WaDXI','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','31459088lyuOwQ','jmofH','style','QcYxh','WXhkm','IvNJi','YxXgA','Failed\x20to\x20create\x20scenario:\x20','Bearer\x20','/comments/address','Failed\x20to\x20get\x20feature\x20review:\x20','wXrlU','dgFJf','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','json','GET','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','forPH','Failed\x20to\x20get\x20action\x20items:\x20','uSrsw','Failed\x20to\x20get\x20item\x20feedback:\x20','ZyHwu','csTfA','4008zxszVP','1411226sTQKUk','qlQDy','BFNJP','TEJxO','gitBranch','ZuCAk','toString','/report','txuNN','/sessions/','cSClb','Failed\x20to\x20update\x20scenario:\x20','HdJsA','gitRepoUrl','qgXdm','yzoSK','itemIds','set','\x0a\x0aUpgrade\x20your\x20plan:\x20','limit','3415iXIcFq','DaIfp','3113346UgspZB','Failed\x20to\x20list\x20feature\x20reviews:\x20','tnCib','1317794NEluNy','mdDgV','/checklist','offset','uRldl','KOjPd','9556410toEwbe','/api/v1/mcp/features/','BKgnk','application/json','stringify','PATCH','QDPQw','Failed\x20to\x20conclude\x20session:\x20','TNQry','Failed\x20to\x20start\x20session:\x20','slYdx','https://dashboard.ranger.net/billing','includeDeleted','Failed\x20to\x20create\x20feature\x20review:\x20','mILaH','12046076pHbXDE','text'];_0x13e0=function(){return _0x36b6bd;};return _0x13e0();}(function(_0x42ce02,_0x10fd9b){const _0x23e394=_0xad9f,_0x20b476=_0x42ce02();while(!![]){try{const _0x543b93=parseInt(_0x23e394(0x1b3))/0x1+-parseInt(_0x23e394(0x1eb))/0x2+-parseInt(_0x23e394(0x1b0))/0x3+-parseInt(_0x23e394(0x1ea))/0x4*(-parseInt(_0x23e394(0x1ae))/0x5)+-parseInt(_0x23e394(0x1b9))/0x6+-parseInt(_0x23e394(0x1c8))/0x7+parseInt(_0x23e394(0x1d3))/0x8;if(_0x543b93===_0x10fd9b)break;else _0x20b476['push'](_0x20b476['shift']());}catch(_0x151383){_0x20b476['push'](_0x20b476['shift']());}}}(_0x13e0,0xd63ec));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x5b3177){const _0x5a5b74=_0xad9f,_0x5acb08={'xMZBb':function(_0x2f4939){return _0x2f4939();},'JiAOW':function(_0x36b978,_0x9f6ac4,_0x123120){return _0x36b978(_0x9f6ac4,_0x123120);},'KOjPd':'POST','wXrlU':_0x5a5b74(0x1bc),'tnCib':function(_0x32e533,_0x3d2e8d){return _0x32e533===_0x3d2e8d;},'BFNJP':_0x5a5b74(0x1c4)},_0x5e2daf=await getToken();if(!_0x5e2daf)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2022d1=_0x5acb08['xMZBb'](getApiBaseUrl),_0x173cb9=await _0x5acb08['JiAOW'](fetch,_0x2022d1+_0x5a5b74(0x1cf),{'method':_0x5acb08[_0x5a5b74(0x1b8)],'headers':{'Authorization':'Bearer\x20'+_0x5e2daf,'Content-Type':_0x5acb08[_0x5a5b74(0x1de)]},'body':JSON['stringify'](_0x5b3177)});if(!_0x173cb9['ok']){if(_0x5acb08[_0x5a5b74(0x1b2)](_0x173cb9['status'],0x192)){const _0x520f36=await _0x173cb9[_0x5a5b74(0x1e1)](),_0x358032=_0x520f36['billingUrl']||_0x5acb08[_0x5a5b74(0x1ed)];throw new Error((_0x520f36['message']||'Feature\x20limit\x20exceeded')+_0x5a5b74(0x1ac)+_0x358032);}const _0x300485=await _0x173cb9[_0x5a5b74(0x1c9)]();throw new Error(_0x5a5b74(0x1c6)+_0x300485);}return _0x173cb9['json']();}export async function listFeatures(_0x26086f){const _0x512906=_0xad9f,_0x1b6097={'AlDyn':function(_0x32e8a2){return _0x32e8a2();},'txuNN':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','UNzhn':function(_0x346e1c){return _0x346e1c();},'xeAav':_0x512906(0x1a7),'mILaH':_0x512906(0x19e),'QcYxh':'offset','dgFJf':function(_0x47dcca,_0x121891,_0x2dd0ca){return _0x47dcca(_0x121891,_0x2dd0ca);}},_0x1529b4=await _0x1b6097['AlDyn'](getToken);if(!_0x1529b4)throw new Error(_0x1b6097[_0x512906(0x1a2)]);const _0xf1fd8b=_0x1b6097['UNzhn'](getApiBaseUrl),_0x2a1a32=new URLSearchParams();if(_0x26086f?.[_0x512906(0x1a7)])_0x2a1a32['set'](_0x1b6097[_0x512906(0x1ca)],_0x26086f['gitRepoUrl']);if(_0x26086f?.[_0x512906(0x19e)])_0x2a1a32['set'](_0x1b6097[_0x512906(0x1c7)],_0x26086f['gitBranch']);if(_0x26086f?.[_0x512906(0x1ad)])_0x2a1a32['set']('limit',_0x26086f[_0x512906(0x1ad)]['toString']());if(_0x26086f?.[_0x512906(0x1b6)])_0x2a1a32[_0x512906(0x1ab)](_0x1b6097[_0x512906(0x1d6)],_0x26086f[_0x512906(0x1b6)]['toString']());if(_0x26086f?.[_0x512906(0x1c5)])_0x2a1a32[_0x512906(0x1ab)]('includeDeleted','true');const _0x596bde=_0xf1fd8b+'/api/v1/mcp/features'+(_0x2a1a32[_0x512906(0x1a0)]()?'?'+_0x2a1a32[_0x512906(0x1a0)]():''),_0x3b944e=await _0x1b6097[_0x512906(0x1df)](fetch,_0x596bde,{'method':_0x512906(0x1e2),'headers':{'Authorization':_0x512906(0x1db)+_0x1529b4}});if(!_0x3b944e['ok']){const _0x3422dc=await _0x3b944e[_0x512906(0x1c9)]();throw new Error(_0x512906(0x1b1)+_0x3422dc);}return _0x3b944e['json']();}export async function getFeature(_0x9e3780){const _0x160247=_0xad9f,_0x2fa817={'FHVmJ':_0x160247(0x1e0)},_0x1d3f38=await getToken();if(!_0x1d3f38)throw new Error(_0x2fa817[_0x160247(0x1d0)]);const _0x55b31=getApiBaseUrl(),_0x99df72=await fetch(_0x55b31+'/api/v1/mcp/features/'+_0x9e3780,{'method':_0x160247(0x1e2),'headers':{'Authorization':_0x160247(0x1db)+_0x1d3f38}});if(!_0x99df72['ok']){const _0x458381=await _0x99df72[_0x160247(0x1c9)]();throw new Error(_0x160247(0x1dd)+_0x458381);}return _0x99df72[_0x160247(0x1e1)]();}export async function updateFeature(_0x18d429,_0x10e4c9){const _0x2f7c89=_0xad9f,_0x12c245={'vAKzD':function(_0x49c23f){return _0x49c23f();},'KddPj':_0x2f7c89(0x1e0),'forPH':'PATCH','IvNJi':'application/json'},_0x20fe77=await _0x12c245['vAKzD'](getToken);if(!_0x20fe77)throw new Error(_0x12c245['KddPj']);const _0x37c076=getApiBaseUrl(),_0x443f6d=await fetch(_0x37c076+_0x2f7c89(0x1ba)+_0x18d429,{'method':_0x12c245[_0x2f7c89(0x1e4)],'headers':{'Authorization':_0x2f7c89(0x1db)+_0x20fe77,'Content-Type':_0x12c245[_0x2f7c89(0x1d8)]},'body':JSON['stringify'](_0x10e4c9)});if(!_0x443f6d['ok']){const _0x5e890f=await _0x443f6d[_0x2f7c89(0x1c9)]();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x5e890f);}return _0x443f6d['json']();}export async function createChecklistItem(_0xf69684,_0x5bbdf4,_0x2fe576){const _0x3dc815=_0xad9f,_0x48000e={'slYdx':function(_0x40d88f){return _0x40d88f();},'TEJxO':_0x3dc815(0x1bc)},_0x13138f=await _0x48000e[_0x3dc815(0x1c3)](getToken);if(!_0x13138f)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x6cb53a=_0x48000e['slYdx'](getApiBaseUrl),_0x29c27f=await fetch(_0x6cb53a+'/api/v1/mcp/features/'+_0xf69684+_0x3dc815(0x1b5),{'method':'POST','headers':{'Authorization':_0x3dc815(0x1db)+_0x13138f,'Content-Type':_0x48000e[_0x3dc815(0x19d)]},'body':JSON[_0x3dc815(0x1bd)]({'description':_0x5bbdf4,'position':_0x2fe576})});if(!_0x29c27f['ok']){const _0x4e9ea5=await _0x29c27f['text']();throw new Error(_0x3dc815(0x1da)+_0x4e9ea5);}return _0x29c27f[_0x3dc815(0x1e1)]();}export async function updateChecklistItem(_0x25ffa6,_0x13e8c7,_0x437f10){const _0xf30c2f={'YxXgA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','weGmj':function(_0x128b74,_0x53bbfe,_0xb1f8dc){return _0x128b74(_0x53bbfe,_0xb1f8dc);},'DaIfp':'application/json'};return withRetry(async()=>{const _0x325b84=_0xad9f,_0xc3c212=await getToken();if(!_0xc3c212)throw new Error(_0xf30c2f[_0x325b84(0x1d9)]);const _0x514a25=getApiBaseUrl(),_0x20e63c=await _0xf30c2f[_0x325b84(0x1cb)](fetch,_0x514a25+'/api/v1/mcp/features/'+_0x25ffa6+'/checklist/'+_0x13e8c7,{'method':_0x325b84(0x1be),'headers':{'Authorization':_0x325b84(0x1db)+_0xc3c212,'Content-Type':_0xf30c2f[_0x325b84(0x1af)]},'body':JSON[_0x325b84(0x1bd)](_0x437f10)});if(!_0x20e63c['ok']){const _0x1b5782=await _0x20e63c[_0x325b84(0x1c9)]();throw new Error(_0x325b84(0x1a5)+_0x1b5782);}return _0x20e63c['json']();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x4931bc){const _0x2c55ed=_0xad9f,_0x3cb9c9={'qgXdm':function(_0x16eb3c){return _0x16eb3c();},'piOKn':function(_0x5acf71,_0x2a8ae5,_0x3b8640){return _0x5acf71(_0x2a8ae5,_0x3b8640);}},_0x342f7e=await getToken();if(!_0x342f7e)throw new Error(_0x2c55ed(0x1e0));const _0x1674cc=_0x3cb9c9[_0x2c55ed(0x1a8)](getApiBaseUrl),_0x28c0e0=await _0x3cb9c9['piOKn'](fetch,_0x1674cc+_0x2c55ed(0x1ba)+_0x4931bc+_0x2c55ed(0x1a1),{'method':'GET','headers':{'Authorization':_0x2c55ed(0x1db)+_0x342f7e}});if(!_0x28c0e0['ok']){const _0x52745c=await _0x28c0e0['text']();throw new Error(_0x2c55ed(0x1e3)+_0x52745c);}return _0x28c0e0['json']();}function _0xad9f(_0x5c9727,_0x1fb148){_0x5c9727=_0x5c9727-0x19d;const _0x13e051=_0x13e0();let _0xad9f6d=_0x13e051[_0x5c9727];return _0xad9f6d;}export async function getFeatureReportMarkdown(_0x29beac,_0x38f2a4){const _0x301303=_0xad9f,_0x79b249={'cSClb':_0x301303(0x1e0),'DkZas':function(_0x34c843){return _0x34c843();},'ZyHwu':function(_0x7bc149,_0x573cb9){return _0x7bc149(_0x573cb9);},'WaDXI':function(_0x3aa263,_0x5eaf9f){return _0x3aa263&&_0x5eaf9f;},'WXhkm':_0x301303(0x1e2)},_0x440171=await getToken();if(!_0x440171)throw new Error(_0x79b249[_0x301303(0x1a4)]);const _0x3eaa08=_0x79b249['DkZas'](getApiBaseUrl),_0x362ba1=new URLSearchParams(),_0x111f7f=(_0x38f2a4?.[_0x301303(0x1aa)]?.['length']??0x0)>0x0,_0x1cc5ca=_0x79b249[_0x301303(0x1e8)](Boolean,_0x38f2a4?.['sessionId']);_0x111f7f&&_0x38f2a4?.['itemIds']&&_0x362ba1[_0x301303(0x1ab)](_0x301303(0x1aa),_0x38f2a4['itemIds']['join'](','));_0x1cc5ca&&_0x38f2a4?.['sessionId']&&_0x362ba1[_0x301303(0x1ab)](_0x301303(0x1ce),_0x38f2a4['sessionId']);_0x79b249[_0x301303(0x1d1)](!_0x111f7f,!_0x1cc5ca)&&_0x38f2a4?.[_0x301303(0x1d5)]&&_0x362ba1['set']('style',_0x38f2a4[_0x301303(0x1d5)]);const _0x189f0e=_0x3eaa08+_0x301303(0x1ba)+_0x29beac+'/report/markdown',_0x1d832b=''+_0x189f0e+(_0x362ba1['toString']()?'?'+_0x362ba1[_0x301303(0x1a0)]():''),_0x4f6c3d=await fetch(_0x1d832b,{'method':_0x79b249[_0x301303(0x1d7)],'headers':{'Authorization':'Bearer\x20'+_0x440171}});if(!_0x4f6c3d['ok']){const _0x401363=await _0x4f6c3d['text']();throw new Error(_0x301303(0x1d2)+_0x401363);}return _0x4f6c3d['text']();}export async function listFeatureSessions(_0x521347){const _0x44beb3=_0xad9f,_0x4d04dc={'reXvS':function(_0x1cfbb9){return _0x1cfbb9();},'GLXQA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0xf27040=await _0x4d04dc[_0x44beb3(0x1cc)](getToken);if(!_0xf27040)throw new Error(_0x4d04dc['GLXQA']);const _0x29709b=_0x4d04dc['reXvS'](getApiBaseUrl),_0x1b1ce0=await fetch(_0x29709b+'/api/v1/mcp/features/'+_0x521347+'/sessions',{'method':_0x44beb3(0x1e2),'headers':{'Authorization':'Bearer\x20'+_0xf27040}});if(!_0x1b1ce0['ok']){const _0x25c6b4=await _0x1b1ce0[_0x44beb3(0x1c9)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x25c6b4);}return _0x1b1ce0[_0x44beb3(0x1e1)]();}export async function startSession(_0x462e56,_0x319a7b){const _0x171e76=_0xad9f,_0x5d9a0e={'zYhLN':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','AGjNU':function(_0x20d92c){return _0x20d92c();},'QDPQw':function(_0x2993ec,_0xb99131,_0x866af7){return _0x2993ec(_0xb99131,_0x866af7);}},_0x35851=await getToken();if(!_0x35851)throw new Error(_0x5d9a0e['zYhLN']);const _0x112143=_0x5d9a0e['AGjNU'](getApiBaseUrl),_0xc669d6=await _0x5d9a0e[_0x171e76(0x1bf)](fetch,_0x112143+'/api/v1/mcp/features/'+_0x462e56+'/sessions/'+_0x319a7b+'/start',{'method':'POST','headers':{'Authorization':_0x171e76(0x1db)+_0x35851}});if(!_0xc669d6['ok']){const _0x5b732b=await _0xc669d6[_0x171e76(0x1c9)]();throw new Error(_0x171e76(0x1c2)+_0x5b732b);}return _0xc669d6['json']();}export async function concludeSession(_0x49036e,_0x4e114e){const _0x305021=_0xad9f,_0xdddbc7={'mdDgV':function(_0x3bc994){return _0x3bc994();},'LvYnm':_0x305021(0x1e0),'csTfA':'POST'},_0x23150c=await _0xdddbc7[_0x305021(0x1b4)](getToken);if(!_0x23150c)throw new Error(_0xdddbc7['LvYnm']);const _0x273170=_0xdddbc7['mdDgV'](getApiBaseUrl),_0x41dfa5=await fetch(_0x273170+'/api/v1/mcp/features/'+_0x49036e+_0x305021(0x1a3)+_0x4e114e+'/conclude',{'method':_0xdddbc7[_0x305021(0x1e9)],'headers':{'Authorization':_0x305021(0x1db)+_0x23150c}});if(!_0x41dfa5['ok']){const _0x4a42c1=await _0x41dfa5['text']();throw new Error(_0x305021(0x1c0)+_0x4a42c1);}return _0x41dfa5['json']();}export async function getActionItems(_0x5749e4){const _0xe67d97=_0xad9f,_0x57aaec={'ZuCAk':function(_0xeece61){return _0xeece61();}},_0xfbff78=await _0x57aaec[_0xe67d97(0x19f)](getToken);if(!_0xfbff78)throw new Error(_0xe67d97(0x1e0));const _0x3f6f2a=getApiBaseUrl(),_0x535470=await fetch(_0x3f6f2a+'/api/v1/mcp/features/'+_0x5749e4+'/action-items',{'method':'GET','headers':{'Authorization':_0xe67d97(0x1db)+_0xfbff78}});if(!_0x535470['ok']){const _0x464e55=await _0x535470[_0xe67d97(0x1c9)]();throw new Error(_0xe67d97(0x1e5)+_0x464e55);}return _0x535470['json']();}export async function getItemFeedback(_0x4b9a7d,_0x895b3c){const _0x5867db=_0xad9f,_0x350d05={'TNQry':function(_0x5072cc){return _0x5072cc();},'jmofH':function(_0x2244ba,_0x483b73,_0x5ed9ce){return _0x2244ba(_0x483b73,_0x5ed9ce);}},_0x29f42c=await getToken();if(!_0x29f42c)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x9e362f=_0x350d05[_0x5867db(0x1c1)](getApiBaseUrl),_0x5df8ee=await _0x350d05[_0x5867db(0x1d4)](fetch,_0x9e362f+'/api/v1/mcp/features/'+_0x4b9a7d+'/checklist-items/'+_0x895b3c+'/feedback',{'method':'GET','headers':{'Authorization':_0x5867db(0x1db)+_0x29f42c}});if(!_0x5df8ee['ok']){const _0x91c57e=await _0x5df8ee['text']();throw new Error(_0x5867db(0x1e7)+_0x91c57e);}return _0x5df8ee['json']();}export async function markCommentsAddressed(_0xa2b65f,_0x1c32b4,_0x43b285){const _0x5bef9e=_0xad9f,_0x462afd={'jkTCY':'POST','BKgnk':'application/json'},_0x762f50=await getToken();if(!_0x762f50)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x28e362=getApiBaseUrl(),_0x5c921c=await fetch(_0x28e362+'/api/v1/mcp/features/'+_0xa2b65f+_0x5bef9e(0x1dc),{'method':_0x462afd['jkTCY'],'headers':{'Authorization':_0x5bef9e(0x1db)+_0x762f50,'Content-Type':_0x462afd[_0x5bef9e(0x1bb)]},'body':JSON['stringify']({'checklistItemId':_0x1c32b4,'commentIds':_0x43b285})});if(!_0x5c921c['ok']){const _0x3054d5=await _0x5c921c[_0x5bef9e(0x1c9)]();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x3054d5);}}export async function softDeleteFeature(_0x1770ff){const _0x15f519=_0xad9f,_0xe1720={'uSrsw':function(_0x5710b0){return _0x5710b0();},'yzoSK':'DELETE'},_0x5e61c2=await _0xe1720[_0x15f519(0x1e6)](getToken);if(!_0x5e61c2)throw new Error(_0x15f519(0x1e0));const _0x133066=getApiBaseUrl(),_0x4a3ece=await fetch(_0x133066+_0x15f519(0x1ba)+_0x1770ff,{'method':_0xe1720[_0x15f519(0x1a9)],'headers':{'Authorization':'Bearer\x20'+_0x5e61c2}});if(!_0x4a3ece['ok']){const _0x5abdbf=await _0x4a3ece['text']();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x5abdbf);}}export async function restoreFeature(_0x6f3f60){const _0x4735b0=_0xad9f,_0x54a166={'uRldl':function(_0x2a901c){return _0x2a901c();},'HdJsA':function(_0x5963e4,_0x208c6e,_0x1fad43){return _0x5963e4(_0x208c6e,_0x1fad43);},'qlQDy':'POST'},_0x172026=await getToken();if(!_0x172026)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x17e1b4=_0x54a166[_0x4735b0(0x1b7)](getApiBaseUrl),_0x4d8f09=await _0x54a166[_0x4735b0(0x1a6)](fetch,_0x17e1b4+_0x4735b0(0x1ba)+_0x6f3f60+_0x4735b0(0x1cd),{'method':_0x54a166[_0x4735b0(0x1ec)],'headers':{'Authorization':_0x4735b0(0x1db)+_0x172026}});if(!_0x4d8f09['ok']){const _0x5029cd=await _0x4d8f09[_0x4735b0(0x1c9)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x5029cd);}}
|
|
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);}}
|