@ranger-testing/ranger-cli 3.1.1-alpha.b22d278-38 → 3.1.2-alpha.059c7a3-40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/deleteProfile.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -1
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/novaActCli.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/organizationEnvApi.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/rangerwrightCli.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/tunnelClient.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/commands/verifyFeatureNovaCli.js +1 -1
- package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x267a7c=_0x5d69;(function(_0xace33e,_0x196374){const _0x47cc26=_0x5d69,_0x2bf79f=_0xace33e();while(!![]){try{const _0x3e09fe=parseInt(_0x47cc26(0x19c))/0x1*(parseInt(_0x47cc26(0x144))/0x2)+-parseInt(_0x47cc26(0x170))/0x3*(parseInt(_0x47cc26(0x165))/0x4)+-parseInt(_0x47cc26(0x1ab))/0x5*(parseInt(_0x47cc26(0x175))/0x6)+parseInt(_0x47cc26(0x164))/0x7*(-parseInt(_0x47cc26(0x17f))/0x8)+parseInt(_0x47cc26(0x17a))/0x9+-parseInt(_0x47cc26(0x159))/0xa+parseInt(_0x47cc26(0x1a8))/0xb*(parseInt(_0x47cc26(0x1ad))/0xc);if(_0x3e09fe===_0x196374)break;else _0x2bf79f['push'](_0x2bf79f['shift']());}catch(_0x45f647){_0x2bf79f['push'](_0x2bf79f['shift']());}}}(_0xfa94,0xf2324));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x3cdd1a from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x469649=await getToken();if(!_0x469649)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');return _0x469649;}async function apiRequest(_0x3ec3e5,_0xbffa8c={}){const _0x180d55=_0x5d69,_0x3c82aa={'Heyze':function(_0x51c318,_0x389db5){return _0x51c318===_0x389db5;},'ezdus':_0x180d55(0x169)},_0x26309f=await requireToken(),_0x365590=getApiBaseUrl(),_0x560f4f=await fetch(''+_0x365590+_0x3ec3e5,{..._0xbffa8c,'headers':{'Authorization':'Bearer\x20'+_0x26309f,'Content-Type':'application/json',..._0xbffa8c['headers']??{}}});if(!_0x560f4f['ok']){let _0xb2b4f='',_0x57eb0a;try{const _0x43b49c=await _0x560f4f[_0x180d55(0x1bc)]();_0xb2b4f=(_0x3c82aa['Heyze'](typeof _0x43b49c['error'],_0x3c82aa[_0x180d55(0x174)])?_0x43b49c['error']:undefined)??JSON['stringify'](_0x43b49c);if(typeof _0x43b49c[_0x180d55(0x15f)]===_0x3c82aa[_0x180d55(0x174)])_0x57eb0a=_0x43b49c[_0x180d55(0x15f)];}catch{_0xb2b4f=_0x560f4f[_0x180d55(0x1c6)];}throw new ApiError('API\x20request\x20'+_0x3ec3e5+'\x20failed\x20('+_0x560f4f['status']+_0x180d55(0x177)+_0xb2b4f,_0x560f4f['status'],_0xb2b4f,_0x57eb0a);}if(_0x3c82aa['Heyze'](_0x560f4f['status'],0xcc))return undefined;return _0x560f4f['json']();}export class ApiError extends Error{['status'];[_0x267a7c(0x19b)];[_0x267a7c(0x15f)];constructor(_0x4898bd,_0x3f712d,_0x3a5717,_0x176262){const _0x2fcc6c=_0x267a7c,_0x52c747={'NkGiV':_0x2fcc6c(0x162)};super(_0x4898bd),this[_0x2fcc6c(0x151)]=_0x3f712d,this['detail']=_0x3a5717,this[_0x2fcc6c(0x15f)]=_0x176262,this['name']=_0x52c747['NkGiV'];}}export async function fetchCloudProfile(_0x2ddb2a){const _0x40905c=_0x267a7c,_0x263908={'NVvnr':function(_0x278a46,_0x28c657){return _0x278a46(_0x28c657);},'qmewB':function(_0x5ee238,_0x22b4b3){return _0x5ee238(_0x22b4b3);},'GZvJl':function(_0x3504c7,_0x3fabd0){return _0x3504c7 instanceof _0x3fabd0;}};try{return await _0x263908['NVvnr'](apiRequest,_0x40905c(0x1c4)+_0x263908[_0x40905c(0x16c)](encodeURIComponent,_0x2ddb2a));}catch(_0x4079ea){if(_0x263908['GZvJl'](_0x4079ea,ApiError)&&_0x4079ea[_0x40905c(0x151)]===0x194)return null;throw _0x4079ea;}}export async function listCloudProfiles(){const _0xed4776=_0x267a7c,_0x547be8={'xsWTj':_0xed4776(0x18c)},_0x4357d9=await apiRequest(_0x547be8[_0xed4776(0x191)]);return _0x4357d9[_0xed4776(0x16d)];}export async function deleteCloudProfile(_0xd67576){const _0x5644e2=_0x267a7c,_0x5956db={'XGiCY':function(_0x2163e6,_0x3b28a4,_0x30c805){return _0x2163e6(_0x3b28a4,_0x30c805);},'CwzeG':'DELETE'};try{await _0x5956db['XGiCY'](apiRequest,_0x5644e2(0x1c4)+encodeURIComponent(_0xd67576),{'method':_0x5956db['CwzeG']});}catch(_0x507c16){if(_0x507c16 instanceof ApiError&&_0x507c16[_0x5644e2(0x151)]===0x194)throw new Error('Cloud\x20profile\x20\x22'+_0xd67576+_0x5644e2(0x194));throw _0x507c16;}}export async function createCloudProfile(_0x2401fc,_0xd848e3,_0x123018={}){const _0x724e73=_0x267a7c,_0x585746={'lKyDC':function(_0x3ba6b5,_0x298d3e){return _0x3ba6b5>_0x298d3e;},'ILFTz':function(_0x21b623,_0x36212d,_0x2ef8be){return _0x21b623(_0x36212d,_0x2ef8be);},'MpuOs':_0x724e73(0x18c),'ILjVn':'POST'},_0x6f93eb={'name':_0x2401fc};if(_0xd848e3)_0x6f93eb['environment_key']=_0xd848e3;_0x123018[_0x724e73(0x18d)]&&_0x585746[_0x724e73(0x161)](Object['keys'](_0x123018[_0x724e73(0x18d)])['length'],0x0)&&(_0x6f93eb[_0x724e73(0x18d)]=_0x123018['settings']);if(_0x123018[_0x724e73(0x14d)])_0x6f93eb[_0x724e73(0x14d)]=_0x123018[_0x724e73(0x14d)];if(_0x123018[_0x724e73(0x1b8)])_0x6f93eb['password']=_0x123018[_0x724e73(0x1b8)];return await _0x585746['ILFTz'](apiRequest,_0x585746['MpuOs'],{'method':_0x585746[_0x724e73(0x190)],'body':JSON[_0x724e73(0x1a3)](_0x6f93eb)});}function _0xfa94(){const _0x2daae8=['error','tunnelUrl','origin','ezdus','496938NZQolg','\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22','):\x20','forceLogin','catch','461394VHiRTx','ILQuo','XyfLZ','domains','nBuht','50392dvMSzm','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','xYNuN','map','isArray','cCZJi','utf-8','/api/v1/profiles/auth-config','clientIp','lCYSe','ZFKEg','\x20\x20No\x20live\x20session\x20for\x20\x22','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','/api/v1/profiles','settings','wsEndpoint','AmZiq','ILjVn','xsWTj','RANGER_TEST_USERNAME','newContext','\x22\x20not\x20found.','log','auth','\x22,\x20refreshing\x20session...','effectiveBaseUrl','environmentKey','nMFkg','detail','1WnFPUC','niMeh','OXqWQ','organizationId','ZdEVr','storageStatePath','toISOString','stringify','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','userAgent','session_state','bwqlq','36760999nWgFyo','HFHdg','POST','10WeyHlL','close','12Krhbjv','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','invalidateOn','raw','save','trim','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','Browser\x20login\x20timed\x20out\x20before\x20completion.','confirm','target_url',').\x20','password','not_configured','name','prompt','json','EtdBY','\x22\x20on\x20profile\x20\x22','you\x27re\x20now\x20at\x20\x22','loginInstructions','length','hHpmx','xGeAn','/api/v1/profiles/','BZIMK','statusText','setupHeaders','164690gfHATM','RANGER_TEST_PASSWORD','sessionCheckPath','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.','dvvKc','\x20\x20Cloud\x20session\x20for\x20\x22','bEjrx','pwEndpoint','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','username','test_output','Gtcke','Browser\x20login\x20timed\x20out\x20after\x20','status','sessionId','force','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','tunnel','\x22,\x20cached\x20locally','targetUrl','5806520nHixcB','gRkmu','\x22;\x20proceeding\x20with\x20loginInstructions.','env','/api/v1/tunnel/sessions','parse','code','\x20\x20forceLogin\x20enabled\x20for\x20\x22','lKyDC','ApiError','launch','994uYCwsb','32DYHYDd','RFCqC','join','\x22\x20failed\x20validation\x20—\x20refreshing...','string','OCwQZ','zwsKE','qmewB','profiles','qgpYE','message','316023fakDdT'];_0xfa94=function(){return _0x2daae8;};return _0xfa94();}export async function uploadCloudProfileSession(_0x4c67f7,_0x571296){const _0x2b6a90=_0x267a7c;return await apiRequest(_0x2b6a90(0x1c4)+encodeURIComponent(_0x4c67f7)+'/session',{'method':'POST','body':JSON[_0x2b6a90(0x1a3)]({'session_state':_0x571296})});}export async function saveCloudProfileCredentials(_0x1290cc,_0x3509f5,_0x500d3f){await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x1290cc),{'method':'PUT','body':JSON['stringify']({'username':_0x3509f5,'password':_0x500d3f})});}export async function fetchAuthConfig(){const _0x5783ee=_0x267a7c,_0x1eca38={'xYNuN':function(_0x1117ec,_0x1d865a){return _0x1117ec(_0x1d865a);}};try{const _0x5ae3d9=await _0x1eca38[_0x5783ee(0x181)](apiRequest,_0x5783ee(0x186));return _0x5ae3d9['auth_config'];}catch(_0x44be34){return _0x44be34 instanceof ApiError&&_0x44be34[_0x5783ee(0x151)]!==0x194&&console['error']('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x44be34[_0x5783ee(0x16f)]),null;}}async function createTunnelSession(_0x5a198d){const _0x16cd50=_0x267a7c,_0x2b335e={'XyfLZ':function(_0xc7b812,_0x3a27e4,_0x2029b7){return _0xc7b812(_0x3a27e4,_0x2029b7);},'fsnMc':_0x16cd50(0x15d),'JUZwJ':_0x16cd50(0x1aa),'OCwQZ':'agent'};return await _0x2b335e[_0x16cd50(0x17c)](apiRequest,_0x2b335e['fsnMc'],{'method':_0x2b335e['JUZwJ'],'body':JSON['stringify']({'targetUrl':_0x5a198d,'mode':_0x2b335e[_0x16cd50(0x16a)]})});}async function deleteTunnelSession(_0x21e329){await apiRequest('/api/v1/tunnel/sessions/'+_0x21e329,{'method':'DELETE'});}export function pickAdHocEnvKey(_0x1e6874){const _0x2f2885=_0x267a7c,_0x192455={'fDPEC':function(_0x265cd3,_0x39fa34){return _0x265cd3+_0x39fa34;}};if(!_0x1e6874)return null;if(_0x1e6874['defaultEnvironmentKey'])return _0x1e6874['defaultEnvironmentKey'];const _0x3195dd=Object['keys'](_0x1e6874['environments']??{});if(_0x3195dd['length']===0x1)return _0x3195dd[0x0];if(_0x3195dd[_0x2f2885(0x1c1)]===0x0)return null;throw new Error(_0x192455['fDPEC']('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x3195dd['join'](',\x20')+_0x2f2885(0x1b7),_0x2f2885(0x147)));}export async function resolveAdHocProfile(_0x126ed9=process[_0x267a7c(0x15c)]){const _0x3f81a3=_0x267a7c,_0x456e8c={'OXqWQ':function(_0x10a185,_0x5e15d2){return _0x10a185(_0x5e15d2);},'aAEKN':function(_0x4dd669){return _0x4dd669();},'yOLBI':function(_0x251a3f,_0x2e5bf7){return _0x251a3f(_0x2e5bf7);},'hHpmx':function(_0x1d96b6,_0x2dbbda,_0x5b0e23,_0x4429d2){return _0x1d96b6(_0x2dbbda,_0x5b0e23,_0x4429d2);},'iAtyU':function(_0xbbe4dc,_0x1b3f2d){return _0xbbe4dc??_0x1b3f2d;}},_0x42624c=_0x126ed9[_0x3f81a3(0x192)];if(!_0x42624c)return null;const _0x4e0895=await _0x456e8c[_0x3f81a3(0x19e)](fetchCloudProfile,_0x42624c);if(_0x4e0895)return{'name':_0x4e0895['name'],'profile':_0x4e0895};const _0x240e00=await _0x456e8c['aAEKN'](fetchAuthConfig),_0x57493b=_0x456e8c['yOLBI'](pickAdHocEnvKey,_0x240e00),_0x1d9686=_0x126ed9['RANGER_TEST_PASSWORD'],_0x2a4bdf=await _0x456e8c[_0x3f81a3(0x1c2)](createCloudProfile,_0x42624c,_0x456e8c['iAtyU'](_0x57493b,undefined),{'username':_0x42624c,'password':_0x1d9686});return console['log']('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x2a4bdf['name']+'\x22\x20for\x20'+_0x42624c),{'name':_0x2a4bdf['name'],'profile':_0x2a4bdf};}export async function writeSessionToLocalCache(_0x3ab5e4,_0x4a2dc5,_0x24500d,_0xfda121,_0x5c79a0,_0x241c95,_0x24f4d5){const _0x3fbdf7=_0x267a7c,_0x557bb5={'IHSHk':function(_0xa862e6,_0x1006d1){return _0xa862e6(_0x1006d1);},'IiQzG':function(_0x559d53,_0x10f3d7,_0x40433d){return _0x559d53(_0x10f3d7,_0x40433d);},'HgIMz':function(_0xe1c492){return _0xe1c492();},'xGeAn':_0x3fbdf7(0x196),'XaAAg':function(_0x3b5b08,_0x57b101){return _0x3b5b08>_0x57b101;},'NLKSv':function(_0x15f0db,_0x3b9344,_0x3cd408){return _0x15f0db(_0x3b9344,_0x3cd408);},'FSooH':function(_0x13201d,_0x4b1d8b,_0x27487b){return _0x13201d(_0x4b1d8b,_0x27487b);},'fRerm':function(_0x153db5,_0x1c1242,_0x10f573){return _0x153db5(_0x1c1242,_0x10f573);}},_0x5b8e92=_0x557bb5['IHSHk'](sessionCacheHash,{'orgId':_0x4a2dc5,'profileName':_0x3ab5e4,'effectiveBaseUrl':_0x24500d,'setupHeaders':_0xfda121,'invalidateOn':_0x24f4d5?.[_0x3fbdf7(0x1af)],'userAgent':_0x24f4d5?.['userAgent'],'clientIp':_0x24f4d5?.[_0x3fbdf7(0x187)]}),_0x3cd23b=_0x557bb5['IiQzG'](getSessionCachePath,_0x5b8e92,_0x3ab5e4),_0x1d1a3c=join(_0x557bb5['HgIMz'](getRangerHomeDir),_0x557bb5[_0x3fbdf7(0x1c3)]);!_0x557bb5['IHSHk'](existsSync,_0x1d1a3c)&&await mkdir(_0x1d1a3c,{'recursive':!![]});const _0x3f0c76={..._0x5c79a0};_0x241c95&&_0x557bb5['XaAAg'](_0x241c95['length'],0x0)&&Array[_0x3fbdf7(0x183)](_0x3f0c76['cookies'])&&(_0x3f0c76['cookies']=_0x557bb5['NLKSv'](duplicateCookiesForDomains,_0x3f0c76['cookies'],_0x241c95));const _0x900f4={'cached_at':new Date()[_0x3fbdf7(0x1a2)](),'session_state':_0x3f0c76};await _0x557bb5['FSooH'](writeFile,_0x3cd23b,JSON['stringify'](_0x900f4,null,0x2));const _0x1797b2=getStorageStatePath(_0x3cd23b);return await _0x557bb5['fRerm'](writeFile,_0x1797b2,JSON[_0x3fbdf7(0x1a3)](_0x3f0c76,null,0x2)),_0x1797b2;}export async function checkLocalCache(_0xfd2b89,_0x4eae7e,_0x11b39b,_0x3251eb,_0x2ce630){const _0x511c08=_0x267a7c,_0x54cd82={'EtdBY':function(_0x164c8f,_0x188713){return _0x164c8f(_0x188713);},'oOsiz':function(_0x5d29f3,_0x54bec5,_0x440fb8){return _0x5d29f3(_0x54bec5,_0x440fb8);},'ycBcv':function(_0x397f66,_0x277888){return _0x397f66(_0x277888);},'FgQMo':function(_0x3b6e45,_0x83308b){return _0x3b6e45(_0x83308b);}},_0x458db6=_0x54cd82[_0x511c08(0x1bd)](sessionCacheHash,{'orgId':_0x4eae7e,'profileName':_0xfd2b89,'effectiveBaseUrl':_0x11b39b,'setupHeaders':_0x3251eb,'invalidateOn':_0x2ce630?.[_0x511c08(0x1af)],'userAgent':_0x2ce630?.['userAgent'],'clientIp':_0x2ce630?.[_0x511c08(0x187)]}),_0x3de158=_0x54cd82['oOsiz'](getSessionCachePath,_0x458db6,_0xfd2b89),_0x3ca207=_0x54cd82['EtdBY'](getStorageStatePath,_0x3de158);if(!_0x54cd82['ycBcv'](existsSync,_0x3de158)||!_0x54cd82['FgQMo'](existsSync,_0x3ca207))return null;try{const _0xfd994b=await _0x54cd82['oOsiz'](readFile,_0x3de158,_0x511c08(0x185));return JSON[_0x511c08(0x15e)](_0xfd994b),{'storageStatePath':_0x3ca207};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x1eec42,_0xdb4f8c){const _0x4ce480=_0x267a7c,_0x489fc6={'TiUzc':function(_0x3ca35b,_0xb81b73){return _0x3ca35b===_0xb81b73;},'dEZoj':function(_0x3495ff,_0x8da2be){return _0x3495ff+_0x8da2be;}};if(!_0xdb4f8c||!_0xdb4f8c['domains']?.['length'])return;let _0x51e155;try{_0x51e155=new URL(_0x1eec42);}catch{return;}const _0x1d6724=[];for(const _0xa3d34c of _0xdb4f8c[_0x4ce480(0x17d)]){try{_0x1d6724['push']({'raw':_0xa3d34c,'url':new URL(_0xa3d34c)});}catch{}}if(_0x489fc6['TiUzc'](_0x1d6724['length'],0x0))return;if(_0x1d6724['some'](_0x220c4c=>_0x220c4c['url'][_0x4ce480(0x173)]===_0x51e155['origin']))return;const _0x3b9df8=_0x1d6724[_0x4ce480(0x182)](_0x5c5571=>'\x22'+_0x5c5571[_0x4ce480(0x1b0)]+'\x22')[_0x4ce480(0x167)](',\x20');console['log'](_0x489fc6['dEZoj']('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x3b9df8+';\x20',_0x4ce480(0x1bf)+_0x1eec42+_0x4ce480(0x14c))+_0x4ce480(0x1ae));}export async function serverSideLogin(_0x17ca33,_0x1c8b7b){const _0x342c45=_0x267a7c,_0x2ee7ae={'zwsKE':function(_0x4a4805,_0x3e7b34,_0x129a8f){return _0x4a4805(_0x3e7b34,_0x129a8f);},'WXWgP':function(_0x934022,_0xfdc4c2){return _0x934022(_0xfdc4c2);},'vbONL':function(_0x37428f,_0x513152){return _0x37428f instanceof _0x513152;}},_0x29815a=process['env']['RANGER_TEST_USERNAME'],_0x3acbc9=process['env'][_0x342c45(0x145)],_0x2134b4={};if(_0x29815a)_0x2134b4[_0x342c45(0x14d)]=_0x29815a;if(_0x3acbc9)_0x2134b4['password']=_0x3acbc9;if(_0x1c8b7b?.[_0x342c45(0x153)])_0x2134b4[_0x342c45(0x153)]=!![];if(_0x1c8b7b?.['targetUrl'])_0x2134b4[_0x342c45(0x1b6)]=_0x1c8b7b[_0x342c45(0x158)];_0x1c8b7b?.['tunnel']&&(_0x2134b4['tunnel_session_id']=_0x1c8b7b[_0x342c45(0x156)]['sessionId'],_0x2134b4['pw_endpoint']=_0x1c8b7b['tunnel'][_0x342c45(0x14b)]);try{return await _0x2ee7ae[_0x342c45(0x16b)](apiRequest,'/api/v1/profiles/'+_0x2ee7ae['WXWgP'](encodeURIComponent,_0x17ca33)+'/login',{'method':'POST','body':JSON['stringify'](_0x2134b4)});}catch(_0x38063b){if(_0x2ee7ae['vbONL'](_0x38063b,ApiError)&&_0x38063b[_0x342c45(0x151)]===0x190&&_0x38063b['code']===_0x342c45(0x1b9))return{'status':'not_configured','error':_0x38063b[_0x342c45(0x19b)]};throw _0x38063b;}}function _0x5d69(_0x3527e6,_0x4b6ef2){_0x3527e6=_0x3527e6-0x143;const _0xfa949=_0xfa94();let _0x5d69d5=_0xfa949[_0x3527e6];return _0x5d69d5;}async function serverSideLoginWithOptionalTunnel(_0x2c918a,_0x3e5eb2,_0x6f4af1={}){const _0x2b67f4=_0x267a7c,_0x26746e={'HFHdg':function(_0x1b7665,_0x2eb00f){return _0x1b7665(_0x2eb00f);},'ILQuo':function(_0x26ca1e,_0x232283,_0x193690){return _0x26ca1e(_0x232283,_0x193690);},'KAdgx':function(_0x320d8a,_0x4027ee){return _0x320d8a(_0x4027ee);}};if(!_0x26746e['HFHdg'](needsTunnel,_0x3e5eb2))return await _0x26746e['ILQuo'](serverSideLogin,_0x2c918a,{'force':_0x6f4af1['force']});let _0xe96b9d=null,_0x548026=null,_0x3dbfed=null;try{_0xe96b9d=await _0x26746e['HFHdg'](launchBrowserServer,{'headless':!![]}),_0x548026=await _0x26746e['KAdgx'](createTunnelSession,_0x3e5eb2);const _0x2b32fa=await requireToken();return _0x3dbfed=await _0x26746e[_0x2b67f4(0x1a9)](createTunnelBridge,{'localWsUrl':_0xe96b9d[_0x2b67f4(0x18e)],'tunnelServerUrl':_0x548026[_0x2b67f4(0x172)],'sessionId':_0x548026[_0x2b67f4(0x152)],'apiKey':_0x2b32fa}),await _0x26746e[_0x2b67f4(0x17b)](serverSideLogin,_0x2c918a,{'force':_0x6f4af1[_0x2b67f4(0x153)],'targetUrl':_0x3e5eb2,'tunnel':{'sessionId':_0x548026['sessionId'],'pwEndpoint':_0x548026['pwEndpoint']}});}finally{_0x3dbfed?.[_0x2b67f4(0x1ac)](),_0xe96b9d&&await _0xe96b9d[_0x2b67f4(0x1ac)]()[_0x2b67f4(0x179)](()=>{}),_0x548026&&await deleteTunnelSession(_0x548026[_0x2b67f4(0x152)])[_0x2b67f4(0x179)](()=>{});}}export async function manualBrowserLogin(_0x563d67,_0x2561da,_0x2f73d5={}){const _0x589517=_0x267a7c,_0x2767f5={'zKNMT':function(_0x238de0,_0x50e12f){return _0x238de0/_0x50e12f;},'qgpYE':function(_0x4b4635,_0x47d23c,_0x37e6b1){return _0x4b4635(_0x47d23c,_0x37e6b1);},'vBTfJ':function(_0x1b2c81){return _0x1b2c81();},'hHapX':'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','gRkmu':function(_0xc9c5f3,_0x2f6d65){return _0xc9c5f3>_0x2f6d65;},'nMFkg':'about:blank','dvvKc':_0x589517(0x18b),'cCZJi':function(_0x2cecaa,_0x3e4f2b){return _0x2cecaa(_0x3e4f2b);}};if(!_0x2767f5['vBTfJ'](isInteractive))throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x563d67[_0x589517(0x1ba)]+'\x22.\x0a'+'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20'+_0x2767f5['hHapX']);const _0x42f6f7=_0x2561da&&_0x2767f5[_0x589517(0x15a)](_0x2561da['domains']['length'],0x0)?_0x2561da['domains'][0x0]:_0x2767f5[_0x589517(0x19a)];console['log'](_0x2767f5[_0x589517(0x148)]),console[_0x589517(0x195)]('\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a'),await new Promise(_0xdbd52f=>setTimeout(_0xdbd52f,0x7d0));const _0x5e95c6=await chromium[_0x589517(0x163)]({'headless':![]});let _0x47bacf=null;try{const _0x4bc88c={'ignoreHTTPSErrors':!![]};_0x2561da?.[_0x589517(0x143)]&&(_0x4bc88c['extraHTTPHeaders']=_0x2561da[_0x589517(0x143)]);const _0x56ea67=await _0x5e95c6[_0x589517(0x193)](_0x4bc88c);await _0x2767f5[_0x589517(0x184)](addProfileSetupBanner,_0x56ea67);const _0x55e338=await _0x56ea67['newPage']();await _0x55e338['goto'](_0x42f6f7);let _0x25b843=![];await new Promise(_0x1a3a25=>{const _0x31dac1=_0x589517,_0x57c86={'lCYSe':function(_0x2a0e94,_0x3cc25b){return _0x2767f5['zKNMT'](_0x2a0e94,_0x3cc25b);},'RFCqC':function(_0x227c4c){return _0x227c4c();}},_0x59efce=_0x2767f5[_0x31dac1(0x16e)](setTimeout,()=>{const _0x1e85d0=_0x31dac1;_0x25b843=!![],console[_0x1e85d0(0x171)](_0x1e85d0(0x150)+_0x57c86[_0x1e85d0(0x188)](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+'\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.'),_0x57c86[_0x1e85d0(0x166)](_0x1a3a25);},MANUAL_LOGIN_TIMEOUT_MS);_0x55e338['on']('close',async()=>{clearTimeout(_0x59efce);try{const _0x53d4de=await _0x56ea67['storageState']();_0x47bacf=_0x53d4de;}catch{}_0x1a3a25();});});if(_0x25b843&&!_0x47bacf)throw new Error(_0x589517(0x1b4));}finally{await _0x5e95c6[_0x589517(0x1ac)]()['catch'](()=>{});}if(!_0x47bacf)throw new Error('Browser\x20closed\x20before\x20authentication\x20was\x20saved.');return _0x2f73d5['persistSessionState']!==![]&&await _0x2767f5['qgpYE'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x563d67[_0x589517(0x1ba)])+'/session',{'method':'POST','body':JSON['stringify']({'session_state':_0x47bacf,'updated_by':'cli:manual-login'})}),{'sessionState':_0x47bacf};}export async function promptSaveCredentials(_0x4e2bdf){const _0x41c882=_0x267a7c,_0x208133={'vskYL':function(_0x5b00ea,_0x155cb3){return _0x5b00ea||_0x155cb3;},'bwqlq':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','UQlxZ':function(_0x50c86a,_0x2ec96e,_0x1dde79){return _0x50c86a(_0x2ec96e,_0x1dde79);},'Gtcke':function(_0x130316,_0x586347){return _0x130316(_0x586347);}},_0x1ce4d5=process[_0x41c882(0x15c)][_0x41c882(0x192)],_0x56007b=process[_0x41c882(0x15c)]['RANGER_TEST_PASSWORD'];if(_0x208133['vskYL'](!_0x1ce4d5,!_0x56007b))return;if(!isInteractive())return;const {save:_0x57d5fe}=await _0x3cdd1a[_0x41c882(0x1bb)]([{'type':_0x41c882(0x1b5),'name':_0x41c882(0x1b1),'message':_0x208133[_0x41c882(0x1a7)],'default':![]}]);if(!_0x57d5fe)return;await _0x208133['UQlxZ'](apiRequest,_0x41c882(0x1c4)+_0x208133[_0x41c882(0x14f)](encodeURIComponent,_0x4e2bdf),{'method':'PUT','body':JSON['stringify']({'username':_0x1ce4d5,'password':_0x56007b})}),console[_0x41c882(0x195)](_0x41c882(0x1b3));}export async function resolveCloudProfileSession(_0x1aa68f,_0x3160f8={}){const _0x2aaa34=_0x267a7c,_0x2c7698={'ZFKEg':function(_0x14e6df,_0x2e39af){return _0x14e6df===_0x2e39af;},'niMeh':function(_0x56d736,_0x44e3e8){return _0x56d736(_0x44e3e8);},'nBuht':function(_0x373c4f,_0x139eb2){return _0x373c4f>_0x139eb2;},'SugkM':function(_0xbedfa9,_0x30980e,_0x4e26a6,_0x2cb200,_0xaf18bc){return _0xbedfa9(_0x30980e,_0x4e26a6,_0x2cb200,_0xaf18bc);},'ZdEVr':function(_0x285255,_0x4a1cd3,_0x408308){return _0x285255(_0x4a1cd3,_0x408308);},'RqDTN':function(_0x3e6fdd,_0x3ab4d6,_0x556920,_0x2a1cb9,_0x90cd1c){return _0x3e6fdd(_0x3ab4d6,_0x556920,_0x2a1cb9,_0x90cd1c);},'BZIMK':'not_configured','oCAKY':'\x20\x20Login\x20successful.\x20Session\x20cached.','AmZiq':_0x2aaa34(0x1a4),'ipIWv':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','bEjrx':function(_0x26aaac,_0x39c0f6){return _0x26aaac(_0x39c0f6);},'wXxle':function(_0x3b1cbd,_0x75f85,_0x304231,_0x579f97){return _0x3b1cbd(_0x75f85,_0x304231,_0x579f97);},'rfCRl':function(_0xa3ce58,_0x134323,_0x56dcac,_0x56ae8a,_0x4f8ff6,_0x1babbe,_0x2fb848,_0x192603){return _0xa3ce58(_0x134323,_0x56dcac,_0x56ae8a,_0x4f8ff6,_0x1babbe,_0x2fb848,_0x192603);}},_0x59efb1=_0x1aa68f[_0x2aaa34(0x18d)]??{},_0x3b82f5=await fetchAuthConfig(),_0x27a108=_0x3b82f5?resolveAuthEnvironmentLocally(_0x3b82f5,_0x1aa68f['environmentKey']):null,_0x5f405a=typeof _0x27a108?.[_0x2aaa34(0x1c0)]===_0x2aaa34(0x169)&&_0x27a108['loginInstructions'][_0x2aaa34(0x1b2)]()?_0x27a108['loginInstructions']:undefined,_0x444f9a=_0x2c7698[_0x2aaa34(0x189)](typeof _0x59efb1[_0x2aaa34(0x1c0)],'string')&&_0x59efb1['loginInstructions']['trim']()?_0x59efb1[_0x2aaa34(0x1c0)]:undefined,_0x1f13c9=_0x444f9a||!_0x5f405a?_0x59efb1:{..._0x59efb1,'loginInstructions':_0x5f405a},_0x4cad8b=_0x2c7698[_0x2aaa34(0x19d)](Boolean,_0x1f13c9[_0x2aaa34(0x1c0)]?.['trim']()),_0x39943b=Boolean(_0x59efb1['forceLogin']||_0x27a108?.[_0x2aaa34(0x178)]),_0x4f6494=_0x27a108?.['domains'],_0x3db2f9=_0x59efb1[_0x2aaa34(0x143)],_0x343c01=_0x3db2f9??_0x27a108?.[_0x2aaa34(0x143)],_0x2fc98e=_0x3160f8[_0x2aaa34(0x198)]??_0x59efb1['baseUrl']??(_0x4f6494&&_0x2c7698[_0x2aaa34(0x17e)](_0x4f6494[_0x2aaa34(0x1c1)],0x0)?_0x4f6494[0x0]:''),_0x411186=_0x2fc98e?needsTunnel(_0x2fc98e):![],_0x4b188e={'invalidateOn':_0x27a108?.[_0x2aaa34(0x1af)],'userAgent':_0x27a108?.['browserOptions']?.['userAgent']??_0x59efb1[_0x2aaa34(0x1a5)]};_0x39943b&&console[_0x2aaa34(0x195)](_0x2aaa34(0x160)+_0x1aa68f[_0x2aaa34(0x1ba)]+_0x2aaa34(0x197));if(!_0x39943b){const _0x5c5389=await checkLocalCache(_0x1aa68f['name'],_0x1aa68f[_0x2aaa34(0x19f)],_0x2fc98e,_0x343c01,_0x4b188e);if(_0x5c5389){if(_0x2fc98e&&!_0x411186){const _0x599d57=await _0x2c7698['SugkM'](isCachedSessionLive,_0x5c5389[_0x2aaa34(0x1a1)],_0x2fc98e,{'sessionCheckPath':_0x27a108?.[_0x2aaa34(0x146)],'setupHeaders':_0x343c01},{'launchBrowser':launchRealBrowser});if(_0x599d57)return console['log']('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x1aa68f['name']+'\x22'),{'authPath':_0x5c5389[_0x2aaa34(0x1a1)],'settings':_0x1f13c9,'resolvedEnv':_0x27a108};console[_0x2aaa34(0x195)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0x1aa68f['name']+_0x2aaa34(0x168)),_0x2c7698[_0x2aaa34(0x1a0)](emitSessionValidationHint,_0x2fc98e,_0x27a108);}else return _0x411186&&console['log'](_0x2aaa34(0x180)+_0x1aa68f[_0x2aaa34(0x1ba)]+'\x22'),{'authPath':_0x5c5389['storageStatePath'],'settings':_0x1f13c9,'resolvedEnv':_0x27a108};}}if(!_0x39943b&&_0x1aa68f['sessionState']){if(_0x411186)console[_0x2aaa34(0x195)](_0x2aaa34(0x176)+_0x2fc98e+_0x2aaa34(0x1be)+_0x1aa68f[_0x2aaa34(0x1ba)]+'\x22');else{const _0xa57f5a=await writeSessionToLocalCache(_0x1aa68f[_0x2aaa34(0x1ba)],_0x1aa68f['organizationId'],_0x2fc98e,_0x343c01,_0x1aa68f['sessionState'],_0x4f6494,_0x4b188e);if(_0x2fc98e){const _0x30c268=await _0x2c7698['RqDTN'](isCachedSessionLive,_0xa57f5a,_0x2fc98e,{'sessionCheckPath':_0x27a108?.['sessionCheckPath'],'setupHeaders':_0x343c01},{'launchBrowser':launchRealBrowser});if(_0x30c268)return console['log'](_0x2aaa34(0x155)+_0x1aa68f['name']+_0x2aaa34(0x157)),{'authPath':_0xa57f5a,'settings':_0x1f13c9,'resolvedEnv':_0x27a108};console['log'](_0x2aaa34(0x149)+_0x1aa68f[_0x2aaa34(0x1ba)]+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x2c7698['ZdEVr'](emitSessionValidationHint,_0x2fc98e,_0x27a108);}else return{'authPath':_0xa57f5a,'settings':_0x1f13c9,'resolvedEnv':_0x27a108};}}if(_0x4cad8b)return console['log'](_0x2aaa34(0x18a)+_0x1aa68f[_0x2aaa34(0x1ba)]+_0x2aaa34(0x15b)),{'authPath':undefined,'settings':_0x1f13c9,'resolvedEnv':_0x27a108};console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x1aa68f['name']+'\x22,\x20attempting\x20login...');const _0x4d9927=_0x2c7698[_0x2aaa34(0x19d)](Boolean,process['env']['RANGER_TEST_USERNAME'])&&Boolean(process['env'][_0x2aaa34(0x145)]),_0x2c12c2=_0x2c7698[_0x2aaa34(0x19d)](Boolean,_0x1aa68f['username']);if(_0x4d9927||_0x2c12c2)try{const _0x4ba832=_0x2fc98e?await serverSideLoginWithOptionalTunnel(_0x1aa68f['name'],_0x2fc98e,{'force':_0x39943b}):await _0x2c7698['ZdEVr'](serverSideLogin,_0x1aa68f[_0x2aaa34(0x1ba)],{'force':_0x39943b});if(_0x4ba832[_0x2aaa34(0x151)]===_0x2c7698[_0x2aaa34(0x1c5)])console['log'](_0x2aaa34(0x154));else{if(_0x4ba832['status']==='success'&&_0x4ba832[_0x2aaa34(0x1a6)]){console['log'](_0x2c7698['oCAKY']);const _0x39599d=await writeSessionToLocalCache(_0x1aa68f[_0x2aaa34(0x1ba)],_0x1aa68f[_0x2aaa34(0x19f)],_0x2fc98e,_0x343c01,_0x4ba832[_0x2aaa34(0x1a6)],_0x4f6494,_0x4b188e);return _0x4d9927&&!_0x2c12c2&&await _0x2c7698['niMeh'](promptSaveCredentials,_0x1aa68f[_0x2aaa34(0x1ba)]),{'authPath':_0x39599d,'settings':_0x1f13c9,'resolvedEnv':_0x27a108};}else _0x4ba832['test_output']&&(console[_0x2aaa34(0x195)](_0x2c7698[_0x2aaa34(0x18f)]),console[_0x2aaa34(0x195)](_0x4ba832[_0x2aaa34(0x14e)])),console[_0x2aaa34(0x195)](_0x2c7698['ipIWv']);}}catch(_0x30a033){console[_0x2aaa34(0x195)]('\x20\x20Server-side\x20login\x20error:\x20'+(_0x30a033 instanceof Error?_0x30a033[_0x2aaa34(0x16f)]:_0x2c7698[_0x2aaa34(0x14a)](String,_0x30a033))),console[_0x2aaa34(0x195)](_0x2c7698['ipIWv']);}const _0x1622f7=_0x27a108?{..._0x27a108,'setupHeaders':_0x343c01}:_0x2fc98e?{'key':_0x1aa68f[_0x2aaa34(0x199)]??'','domains':[_0x2fc98e],'setupHeaders':_0x343c01}:null,{sessionState:_0x128ca2}=await _0x2c7698['wXxle'](manualBrowserLogin,_0x1aa68f,_0x1622f7,{'persistSessionState':!_0x411186}),_0x207c0a=await _0x2c7698['rfCRl'](writeSessionToLocalCache,_0x1aa68f[_0x2aaa34(0x1ba)],_0x1aa68f[_0x2aaa34(0x19f)],_0x2fc98e,_0x343c01,_0x128ca2,_0x4f6494,_0x4b188e);return{'authPath':_0x207c0a,'settings':_0x1f13c9,'resolvedEnv':_0x27a108};}
|
|
1
|
+
const _0x293293=_0x4b39;function _0x4b39(_0x5f0002,_0x40d559){_0x5f0002=_0x5f0002-0x124;const _0x3ce330=_0x3ce3();let _0x4b39d8=_0x3ce330[_0x5f0002];return _0x4b39d8;}(function(_0x4e1d3c,_0x58c522){const _0x7b64df=_0x4b39,_0x1e46f8=_0x4e1d3c();while(!![]){try{const _0x235383=-parseInt(_0x7b64df(0x156))/0x1+parseInt(_0x7b64df(0x190))/0x2*(parseInt(_0x7b64df(0x130))/0x3)+parseInt(_0x7b64df(0x197))/0x4*(parseInt(_0x7b64df(0x126))/0x5)+parseInt(_0x7b64df(0x13d))/0x6+-parseInt(_0x7b64df(0x192))/0x7+parseInt(_0x7b64df(0x15f))/0x8*(parseInt(_0x7b64df(0x199))/0x9)+-parseInt(_0x7b64df(0x185))/0xa;if(_0x235383===_0x58c522)break;else _0x1e46f8['push'](_0x1e46f8['shift']());}catch(_0x4b0600){_0x1e46f8['push'](_0x1e46f8['shift']());}}}(_0x3ce3,0x8d13d));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x5b064c from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x592dcf=_0x4b39,_0x2329fe={'RVhJZ':function(_0x3cba4f){return _0x3cba4f();},'VdTYq':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x58934f=await _0x2329fe[_0x592dcf(0x169)](getToken);if(!_0x58934f)throw new Error(_0x2329fe['VdTYq']);return _0x58934f;}async function apiRequest(_0x5cbeea,_0x2b5de2={}){const _0x1af81e=_0x4b39,_0x168f7d={'sTjWI':function(_0x2665e1){return _0x2665e1();},'xIBkm':_0x1af81e(0x175),'OdxYI':function(_0x29866d,_0x1ce679){return _0x29866d===_0x1ce679;},'CvZyZ':_0x1af81e(0x12a)},_0x5e6708=await requireToken(),_0x119a67=_0x168f7d[_0x1af81e(0x16f)](getApiBaseUrl),_0x23d4f3=await fetch(''+_0x119a67+_0x5cbeea,{..._0x2b5de2,'headers':{'Authorization':'Bearer\x20'+_0x5e6708,'Content-Type':_0x168f7d['xIBkm'],..._0x2b5de2[_0x1af81e(0x136)]??{}}});if(!_0x23d4f3['ok']){let _0x2b2a99='',_0x124372;try{const _0x583a6f=await _0x23d4f3['json']();_0x2b2a99=(_0x168f7d[_0x1af81e(0x198)](typeof _0x583a6f['error'],_0x168f7d[_0x1af81e(0x19e)])?_0x583a6f[_0x1af81e(0x137)]:undefined)??JSON[_0x1af81e(0x12e)](_0x583a6f);if(typeof _0x583a6f[_0x1af81e(0x17d)]===_0x168f7d[_0x1af81e(0x19e)])_0x124372=_0x583a6f[_0x1af81e(0x17d)];}catch{_0x2b2a99=_0x23d4f3['statusText'];}throw new ApiError(_0x1af81e(0x148)+_0x5cbeea+'\x20failed\x20('+_0x23d4f3[_0x1af81e(0x149)]+'):\x20'+_0x2b2a99,_0x23d4f3['status'],_0x2b2a99,_0x124372);}if(_0x23d4f3['status']===0xcc)return undefined;return _0x23d4f3[_0x1af81e(0x195)]();}export class ApiError extends Error{['status'];[_0x293293(0x181)];[_0x293293(0x17d)];constructor(_0x1e74d4,_0x20ff26,_0x2bb371,_0x522fb4){const _0x152fba=_0x293293;super(_0x1e74d4),this[_0x152fba(0x149)]=_0x20ff26,this['detail']=_0x2bb371,this['code']=_0x522fb4,this[_0x152fba(0x16d)]=_0x152fba(0x184);}}export async function fetchCloudProfile(_0x23c497){const _0x4a69ab=_0x293293;try{return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x23c497));}catch(_0x40182e){if(_0x40182e instanceof ApiError&&_0x40182e[_0x4a69ab(0x149)]===0x194)return null;throw _0x40182e;}}export async function listCloudProfiles(){const _0x986154=_0x293293,_0x335142={'IFxQK':function(_0x1887bc,_0x56232e){return _0x1887bc(_0x56232e);}},_0x556d7f=await _0x335142['IFxQK'](apiRequest,_0x986154(0x131));return _0x556d7f[_0x986154(0x129)];}export async function deleteCloudProfile(_0x3f1a90){const _0x57c524=_0x293293,_0x84783f={'AzvQo':function(_0x235a0f,_0x288ed4,_0x4483be){return _0x235a0f(_0x288ed4,_0x4483be);},'GCuQV':function(_0x29a3c3,_0x1ad80a){return _0x29a3c3===_0x1ad80a;}};try{await _0x84783f['AzvQo'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x3f1a90),{'method':_0x57c524(0x16e)});}catch(_0x3397c5){if(_0x3397c5 instanceof ApiError&&_0x84783f['GCuQV'](_0x3397c5['status'],0x194))throw new Error(_0x57c524(0x151)+_0x3f1a90+_0x57c524(0x128));throw _0x3397c5;}}export async function createCloudProfile(_0x13dfbf,_0x19acb0,_0x37db5a={}){const _0x1c7419=_0x293293,_0x51bb67={'oowMj':function(_0x18b045,_0x416515,_0x3bba9f){return _0x18b045(_0x416515,_0x3bba9f);},'IRUvr':_0x1c7419(0x131)},_0xfcd73={'name':_0x13dfbf};if(_0x19acb0)_0xfcd73['environment_key']=_0x19acb0;_0x37db5a[_0x1c7419(0x196)]&&Object['keys'](_0x37db5a['settings'])[_0x1c7419(0x188)]>0x0&&(_0xfcd73[_0x1c7419(0x196)]=_0x37db5a[_0x1c7419(0x196)]);if(_0x37db5a[_0x1c7419(0x15e)])_0xfcd73[_0x1c7419(0x15e)]=_0x37db5a[_0x1c7419(0x15e)];if(_0x37db5a['password'])_0xfcd73['password']=_0x37db5a['password'];return await _0x51bb67['oowMj'](apiRequest,_0x51bb67['IRUvr'],{'method':_0x1c7419(0x163),'body':JSON['stringify'](_0xfcd73)});}export async function uploadCloudProfileSession(_0x848d41,_0x343251){const _0x4738c4=_0x293293,_0x30b97b={'uXmHy':_0x4738c4(0x163)};return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x848d41)+_0x4738c4(0x14d),{'method':_0x30b97b['uXmHy'],'body':JSON['stringify']({'session_state':_0x343251})});}export async function saveCloudProfileCredentials(_0x2436fa,_0x4becc0,_0x10b3f2){const _0xcfd388=_0x293293,_0x2797bc={'oMIyN':_0xcfd388(0x144)};await apiRequest(_0xcfd388(0x138)+encodeURIComponent(_0x2436fa),{'method':_0x2797bc['oMIyN'],'body':JSON[_0xcfd388(0x12e)]({'username':_0x4becc0,'password':_0x10b3f2})});}export async function fetchAuthConfig(){const _0x478584=_0x293293,_0x1e6a11={'dusTX':'/api/v1/profiles/auth-config'};try{const _0x4f3973=await apiRequest(_0x1e6a11['dusTX']);return _0x4f3973['auth_config'];}catch(_0x164e3e){return _0x164e3e instanceof ApiError&&_0x164e3e[_0x478584(0x149)]!==0x194&&console['error'](_0x478584(0x18e)+_0x164e3e[_0x478584(0x14f)]),null;}}async function createTunnelSession(_0x339a68){const _0x4b6d34=_0x293293,_0x3a5c7b={'PQWhx':'POST','cJdnT':'agent'};return await apiRequest('/api/v1/tunnel/sessions',{'method':_0x3a5c7b[_0x4b6d34(0x187)],'body':JSON[_0x4b6d34(0x12e)]({'targetUrl':_0x339a68,'mode':_0x3a5c7b[_0x4b6d34(0x124)]})});}async function deleteTunnelSession(_0x332dd5){const _0x170db1=_0x293293,_0x2938ea={'JpHyI':function(_0x30487a,_0xdb8d84,_0x31cf6a){return _0x30487a(_0xdb8d84,_0x31cf6a);},'cAlwE':_0x170db1(0x16e)};await _0x2938ea[_0x170db1(0x186)](apiRequest,_0x170db1(0x168)+_0x332dd5,{'method':_0x2938ea['cAlwE']});}export function pickAdHocEnvKey(_0x46377f){const _0x2b9fa8=_0x293293,_0x5cc1cb={'SAAYy':function(_0x28bba9,_0x3346f3){return _0x28bba9===_0x3346f3;},'OZheS':function(_0x2b029f,_0x442808){return _0x2b029f===_0x442808;}};if(!_0x46377f)return null;if(_0x46377f[_0x2b9fa8(0x17b)])return _0x46377f[_0x2b9fa8(0x17b)];const _0x4da336=Object[_0x2b9fa8(0x183)](_0x46377f['environments']??{});if(_0x5cc1cb['SAAYy'](_0x4da336[_0x2b9fa8(0x188)],0x1))return _0x4da336[0x0];if(_0x5cc1cb[_0x2b9fa8(0x13e)](_0x4da336['length'],0x0))return null;throw new Error('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x4da336['join'](',\x20')+').\x20'+_0x2b9fa8(0x145));}export async function resolveAdHocProfile(_0x79bfbe=process['env']){const _0x355286=_0x293293,_0x3134c8={'hgHRv':function(_0x52c53d){return _0x52c53d();},'mffoW':function(_0x25b680,_0x32e4e3,_0xb9cc23,_0x334a13){return _0x25b680(_0x32e4e3,_0xb9cc23,_0x334a13);}},_0x15c05d=_0x79bfbe[_0x355286(0x170)];if(!_0x15c05d)return null;const _0x3c3898=await fetchCloudProfile(_0x15c05d);if(_0x3c3898)return{'name':_0x3c3898[_0x355286(0x16d)],'profile':_0x3c3898};const _0x554980=await _0x3134c8['hgHRv'](fetchAuthConfig),_0x34b5c9=pickAdHocEnvKey(_0x554980),_0x1abe7b=_0x79bfbe[_0x355286(0x177)],_0x5d0472=await _0x3134c8['mffoW'](createCloudProfile,_0x15c05d,_0x34b5c9??undefined,{'username':_0x15c05d,'password':_0x1abe7b});return console[_0x355286(0x132)](_0x355286(0x13f)+_0x5d0472[_0x355286(0x16d)]+'\x22\x20for\x20'+_0x15c05d),{'name':_0x5d0472[_0x355286(0x16d)],'profile':_0x5d0472};}export async function writeSessionToLocalCache(_0x41359d,_0x57377d,_0x37c6e3,_0x134769,_0x47f720,_0xcae39e,_0xd81b62){const _0x2455be=_0x293293,_0x471478={'jVZGp':function(_0x541495,_0x624129,_0x10a0e4){return _0x541495(_0x624129,_0x10a0e4);},'PwSpN':function(_0x20f046,_0x3de6fb){return _0x20f046(_0x3de6fb);},'EGfzS':function(_0x1f6529,_0x38e2cd,_0x5dbd58){return _0x1f6529(_0x38e2cd,_0x5dbd58);},'fsMRg':function(_0x3ab3cf,_0x123297){return _0x3ab3cf(_0x123297);}},_0x16d813=sessionCacheHash({'orgId':_0x57377d,'profileName':_0x41359d,'effectiveBaseUrl':_0x37c6e3,'setupHeaders':_0x134769,'invalidateOn':_0xd81b62?.[_0x2455be(0x189)],'userAgent':_0xd81b62?.['userAgent'],'clientIp':_0xd81b62?.['clientIp']}),_0x2c3755=_0x471478['jVZGp'](getSessionCachePath,_0x16d813,_0x41359d),_0x526ba8=join(getRangerHomeDir(),'auth');!_0x471478['PwSpN'](existsSync,_0x526ba8)&&await _0x471478[_0x2455be(0x12b)](mkdir,_0x526ba8,{'recursive':!![]});const _0xd95e1d={..._0x47f720};_0xcae39e&&_0xcae39e[_0x2455be(0x188)]>0x0&&Array['isArray'](_0xd95e1d['cookies'])&&(_0xd95e1d[_0x2455be(0x166)]=_0x471478['EGfzS'](duplicateCookiesForDomains,_0xd95e1d[_0x2455be(0x166)],_0xcae39e));const _0x167b25={'cached_at':new Date()['toISOString'](),'session_state':_0xd95e1d};await writeFile(_0x2c3755,JSON[_0x2455be(0x12e)](_0x167b25,null,0x2));const _0x401a5b=_0x471478[_0x2455be(0x194)](getStorageStatePath,_0x2c3755);return await _0x471478[_0x2455be(0x154)](writeFile,_0x401a5b,JSON['stringify'](_0xd95e1d,null,0x2)),_0x401a5b;}export async function checkLocalCache(_0x224f95,_0x82ac3e,_0x5d6b1c,_0x4fa03a,_0x489db7){const _0x115883=_0x293293,_0x5b34af={'CfbZT':function(_0x14c997,_0x14790d){return _0x14c997(_0x14790d);}},_0x458929=_0x5b34af['CfbZT'](sessionCacheHash,{'orgId':_0x82ac3e,'profileName':_0x224f95,'effectiveBaseUrl':_0x5d6b1c,'setupHeaders':_0x4fa03a,'invalidateOn':_0x489db7?.['invalidateOn'],'userAgent':_0x489db7?.['userAgent'],'clientIp':_0x489db7?.[_0x115883(0x15d)]}),_0x583a2e=getSessionCachePath(_0x458929,_0x224f95),_0x4fb978=getStorageStatePath(_0x583a2e);if(!_0x5b34af[_0x115883(0x19c)](existsSync,_0x583a2e)||!_0x5b34af['CfbZT'](existsSync,_0x4fb978))return null;try{const _0x1c7d9b=await readFile(_0x583a2e,'utf-8');return JSON[_0x115883(0x13c)](_0x1c7d9b),{'storageStatePath':_0x4fb978};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x5b17ed,_0x22073d){const _0x1dcfb0=_0x293293,_0x19a8a8={'VCnaN':function(_0x46ee16,_0x533f24){return _0x46ee16+_0x533f24;}};if(!_0x22073d||!_0x22073d[_0x1dcfb0(0x18b)]?.['length'])return;let _0x428a06;try{_0x428a06=new URL(_0x5b17ed);}catch{return;}const _0x779851=[];for(const _0x34f015 of _0x22073d['domains']){try{_0x779851['push']({'raw':_0x34f015,'url':new URL(_0x34f015)});}catch{}}if(_0x779851['length']===0x0)return;if(_0x779851['some'](_0x32e036=>_0x32e036[_0x1dcfb0(0x174)]['origin']===_0x428a06['origin']))return;const _0x58e1b7=_0x779851['map'](_0x3bd2c7=>'\x22'+_0x3bd2c7['raw']+'\x22')['join'](',\x20');console['log'](_0x19a8a8['VCnaN'](_0x1dcfb0(0x193)+_0x58e1b7+';\x20',_0x1dcfb0(0x143)+_0x5b17ed+'\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20')+'If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.');}export async function serverSideLogin(_0x12d4f1,_0x4da6b7){const _0x573050=_0x293293,_0x4ab01e={'bXFWy':function(_0x2f7284,_0x5b6c7b,_0x3507fa){return _0x2f7284(_0x5b6c7b,_0x3507fa);},'nqpqS':'POST','aLecL':function(_0x43a2d5,_0x1203e2){return _0x43a2d5===_0x1203e2;}},_0x58b483=process[_0x573050(0x18a)][_0x573050(0x170)],_0x2f1d0c=process[_0x573050(0x18a)][_0x573050(0x177)],_0x9f50b9={};if(_0x58b483)_0x9f50b9[_0x573050(0x15e)]=_0x58b483;if(_0x2f1d0c)_0x9f50b9[_0x573050(0x178)]=_0x2f1d0c;if(_0x4da6b7?.[_0x573050(0x1a4)])_0x9f50b9[_0x573050(0x1a4)]=!![];if(_0x4da6b7?.[_0x573050(0x167)])_0x9f50b9['target_url']=_0x4da6b7['targetUrl'];_0x4da6b7?.[_0x573050(0x14e)]&&(_0x9f50b9['tunnel_session_id']=_0x4da6b7[_0x573050(0x14e)][_0x573050(0x171)],_0x9f50b9[_0x573050(0x19b)]=_0x4da6b7['tunnel']['pwEndpoint']);try{return await _0x4ab01e[_0x573050(0x15c)](apiRequest,_0x573050(0x138)+encodeURIComponent(_0x12d4f1)+_0x573050(0x160),{'method':_0x4ab01e[_0x573050(0x1a3)],'body':JSON[_0x573050(0x12e)](_0x9f50b9)});}catch(_0x2927d9){if(_0x2927d9 instanceof ApiError&&_0x2927d9['status']===0x190&&_0x4ab01e[_0x573050(0x19a)](_0x2927d9['code'],_0x573050(0x13b)))return{'status':_0x573050(0x13b),'error':_0x2927d9['detail']};throw _0x2927d9;}}function _0x3ce3(){const _0x5762a3=['RANGER_TEST_PASSWORD','password','lScwD','\x20\x20forceLogin\x20enabled\x20for\x20\x22','defaultEnvironmentKey','VGpZf','code','trim','browserOptions','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','detail','bqLUh','keys','ApiError','8686070qUzbRX','JpHyI','PQWhx','length','invalidateOn','env','domains','sessionState','newContext','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','jqrpF','104WpHFzP','sessionCheckPath','6806702vWuWGe','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','fsMRg','json','settings','16Ecfifw','OdxYI','528102FPIcNe','aLecL','pw_endpoint','CfbZT','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','CvZyZ','jgDTw','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','sErLw','AiNzD','nqpqS','force','KBmcm','cJdnT','session_state','976810LPWnaR','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','\x22\x20not\x20found.','profiles','string','jVZGp','storageStatePath','SXEgn','stringify','\x20\x20Cloud\x20session\x20for\x20\x22','37371KXOvZO','/api/v1/profiles','log','test_output','Browser\x20login\x20timed\x20out\x20before\x20completion.','newPage','headers','error','/api/v1/profiles/','QJGRN','\x22,\x20refreshing\x20session...','not_configured','parse','3023142JPAwtV','OZheS','\x20\x20Created\x20cloud\x20profile\x20\x22','UOuPQ','\x20\x20No\x20live\x20session\x20for\x20\x22','success','you\x27re\x20now\x20at\x20\x22','PUT','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.','FXtlF','EDjIX','API\x20request\x20','status','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','setupHeaders','userAgent','/session','tunnel','message','wsEndpoint','Cloud\x20profile\x20\x22','cli:manual-login','\x22\x20failed\x20validation\x20—\x20refreshing...','EGfzS','No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22','511749baFYuU','Rssih','organizationId','catch','LOtEn','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','bXFWy','clientIp','username','136kYhMbq','/login','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','forceLogin','POST','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','\x22.\x0a','cookies','targetUrl','/api/v1/tunnel/sessions/','RVhJZ','storageState','loginInstructions','effectiveBaseUrl','name','DELETE','sTjWI','RANGER_TEST_USERNAME','sessionId','TZDvs','FGDri','url','application/json','\x20\x20Login\x20successful.\x20Session\x20cached.'];_0x3ce3=function(){return _0x5762a3;};return _0x3ce3();}async function serverSideLoginWithOptionalTunnel(_0xdcebda,_0x34ef12,_0x173ed5={}){const _0x34e16a=_0x293293,_0x54765e={'Rssih':function(_0x55f2fb){return _0x55f2fb();},'MDJvo':function(_0x353b6b,_0x1d2805){return _0x353b6b??_0x1d2805;}};if(!needsTunnel(_0x34ef12))return await serverSideLogin(_0xdcebda,{'force':_0x173ed5['force']});let _0x485729=null,_0xf873e1=null,_0x19ea6c=null,_0x3d10b6=null;try{_0x485729=await launchBrowserServer({'headless':!![]}),_0xf873e1=await createTunnelSession(_0x34ef12);const _0x136dd9=await _0x54765e[_0x34e16a(0x157)](requireToken);_0x19ea6c=await createTunnelBridge({'localWsUrl':_0x485729[_0x34e16a(0x150)],'tunnelServerUrl':_0xf873e1['tunnelUrl'],'sessionId':_0xf873e1['sessionId'],'apiKey':_0x136dd9,'onError':_0x22df81=>{_0x3d10b6=_0x22df81;}});try{return await serverSideLogin(_0xdcebda,{'force':_0x173ed5[_0x34e16a(0x1a4)],'targetUrl':_0x34ef12,'tunnel':{'sessionId':_0xf873e1['sessionId'],'pwEndpoint':_0xf873e1['pwEndpoint']}});}catch(_0x1e5895){throw _0x54765e['MDJvo'](_0x3d10b6,_0x1e5895);}}finally{_0x19ea6c?.['close'](),_0x485729&&await _0x485729['close']()[_0x34e16a(0x159)](()=>{}),_0xf873e1&&await deleteTunnelSession(_0xf873e1['sessionId'])[_0x34e16a(0x159)](()=>{});}}export async function manualBrowserLogin(_0x5e902b,_0x4394fc,_0xa40eee={}){const _0x5da4dd=_0x293293,_0x4f7b7f={'Aurmh':function(_0x3bfcaf){return _0x3bfcaf();},'UOuPQ':function(_0x2a3c15,_0x5645a4){return _0x2a3c15(_0x5645a4);},'QowpX':function(_0x5669cf){return _0x5669cf();},'SXEgn':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','CLfJp':'or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','sErLw':function(_0x3d2c27,_0x12cbdd){return _0x3d2c27>_0x12cbdd;},'jqrpF':'about:blank','VDWgn':function(_0x575de0,_0x2ea345){return _0x575de0&&_0x2ea345;},'jmFAO':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','FGDri':function(_0x53632d,_0x49b187){return _0x53632d!==_0x49b187;}};if(!_0x4f7b7f['QowpX'](isInteractive))throw new Error(_0x5da4dd(0x155)+_0x5e902b['name']+_0x5da4dd(0x165)+_0x4f7b7f[_0x5da4dd(0x12d)]+_0x4f7b7f['CLfJp']);const _0x597c84=_0x4394fc&&_0x4f7b7f[_0x5da4dd(0x1a1)](_0x4394fc[_0x5da4dd(0x18b)][_0x5da4dd(0x188)],0x0)?_0x4394fc['domains'][0x0]:_0x4f7b7f[_0x5da4dd(0x18f)];console[_0x5da4dd(0x132)]('\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.'),console[_0x5da4dd(0x132)](_0x5da4dd(0x180)),await new Promise(_0x2a1da0=>setTimeout(_0x2a1da0,0x7d0));const _0x1d8e08=await chromium['launch']({'headless':![]});let _0x1b46f0=null;try{const _0x120762={'ignoreHTTPSErrors':!![]};_0x4394fc?.['setupHeaders']&&(_0x120762['extraHTTPHeaders']=_0x4394fc[_0x5da4dd(0x14b)]);const _0x154cc2=await _0x1d8e08[_0x5da4dd(0x18d)](_0x120762);await _0x4f7b7f['UOuPQ'](addProfileSetupBanner,_0x154cc2);const _0x1d251e=await _0x154cc2[_0x5da4dd(0x135)]();await _0x1d251e['goto'](_0x597c84);let _0x3b99b0=![];await new Promise(_0xaa0975=>{const _0x551c11={'TZDvs':function(_0x1c78b4,_0xad9672){const _0x3f90a7=_0x4b39;return _0x4f7b7f[_0x3f90a7(0x140)](_0x1c78b4,_0xad9672);}},_0x597272=setTimeout(()=>{const _0x59faae=_0x4b39;_0x3b99b0=!![],console[_0x59faae(0x137)]('Browser\x20login\x20timed\x20out\x20after\x20'+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0x59faae(0x127)),_0x4f7b7f['Aurmh'](_0xaa0975);},MANUAL_LOGIN_TIMEOUT_MS);_0x1d251e['on']('close',async()=>{const _0x30b854=_0x4b39;_0x551c11[_0x30b854(0x172)](clearTimeout,_0x597272);try{const _0x123659=await _0x154cc2[_0x30b854(0x16a)]();_0x1b46f0=_0x123659;}catch{}_0xaa0975();});});if(_0x4f7b7f['VDWgn'](_0x3b99b0,!_0x1b46f0))throw new Error(_0x5da4dd(0x134));}finally{await _0x1d8e08['close']()['catch'](()=>{});}if(!_0x1b46f0)throw new Error(_0x4f7b7f['jmFAO']);return _0x4f7b7f[_0x5da4dd(0x173)](_0xa40eee['persistSessionState'],![])&&await apiRequest(_0x5da4dd(0x138)+encodeURIComponent(_0x5e902b['name'])+_0x5da4dd(0x14d),{'method':'POST','body':JSON[_0x5da4dd(0x12e)]({'session_state':_0x1b46f0,'updated_by':_0x5da4dd(0x152)})}),{'sessionState':_0x1b46f0};}export async function promptSaveCredentials(_0x4393af){const _0xc7fd8c=_0x293293,_0x6f99ca={'QJGRN':function(_0xb6a684,_0x56d154){return _0xb6a684||_0x56d154;},'KBmcm':'confirm','EDjIX':'save','FXtlF':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','tVygF':'PUT'},_0x107578=process['env']['RANGER_TEST_USERNAME'],_0x46bb37=process['env']['RANGER_TEST_PASSWORD'];if(_0x6f99ca[_0xc7fd8c(0x139)](!_0x107578,!_0x46bb37))return;if(!isInteractive())return;const {save:_0x3e96c8}=await _0x5b064c['prompt']([{'type':_0x6f99ca[_0xc7fd8c(0x1a5)],'name':_0x6f99ca[_0xc7fd8c(0x147)],'message':_0x6f99ca[_0xc7fd8c(0x146)],'default':![]}]);if(!_0x3e96c8)return;await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x4393af),{'method':_0x6f99ca['tVygF'],'body':JSON['stringify']({'username':_0x107578,'password':_0x46bb37})}),console['log']('\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.');}export async function resolveCloudProfileSession(_0x5aa513,_0x30be88={}){const _0x4740ce=_0x293293,_0x38544b={'PhzAM':function(_0x3e132d){return _0x3e132d();},'LOtEn':function(_0x2ee15a,_0x203910,_0x37778c){return _0x2ee15a(_0x203910,_0x37778c);},'ADbDV':'string','VGpZf':function(_0x32bd41,_0x2080c3){return _0x32bd41(_0x2080c3);},'cnsZH':function(_0x3f74d3,_0x4115b8,_0x233096,_0x5101ef,_0xd52c18,_0x3d85c7,_0x21fbfa,_0x39587f){return _0x3f74d3(_0x4115b8,_0x233096,_0x5101ef,_0xd52c18,_0x3d85c7,_0x21fbfa,_0x39587f);},'lScwD':function(_0x4a597a,_0x544a87){return _0x4a597a(_0x544a87);},'jTBXu':function(_0x5cd229,_0x2030a6){return _0x5cd229||_0x2030a6;},'KUvfu':function(_0x251f88,_0x2f0d50,_0x5037d,_0x173a9d){return _0x251f88(_0x2f0d50,_0x5037d,_0x173a9d);},'AiNzD':function(_0x4d060f,_0x536dda){return _0x4d060f===_0x536dda;},'bqLUh':_0x4740ce(0x176),'jgDTw':function(_0x2c1e37,_0x9cad04){return _0x2c1e37&&_0x9cad04;},'cVRDE':function(_0x3ce2a2,_0x44f516){return _0x3ce2a2(_0x44f516);}},_0x435b0c=_0x5aa513['settings']??{},_0x2674f6=await _0x38544b['PhzAM'](fetchAuthConfig),_0x323a10=_0x2674f6?_0x38544b[_0x4740ce(0x15a)](resolveAuthEnvironmentLocally,_0x2674f6,_0x5aa513['environmentKey']):null,_0x3984ef=typeof _0x323a10?.[_0x4740ce(0x16b)]==='string'&&_0x323a10['loginInstructions'][_0x4740ce(0x17e)]()?_0x323a10[_0x4740ce(0x16b)]:undefined,_0x525ef8=typeof _0x435b0c['loginInstructions']===_0x38544b['ADbDV']&&_0x435b0c['loginInstructions']['trim']()?_0x435b0c[_0x4740ce(0x16b)]:undefined,_0x513e78=_0x525ef8||!_0x3984ef?_0x435b0c:{..._0x435b0c,'loginInstructions':_0x3984ef},_0x5c5ca8=Boolean(_0x513e78['loginInstructions']?.[_0x4740ce(0x17e)]()),_0x44e2cb=_0x38544b['VGpZf'](Boolean,_0x435b0c[_0x4740ce(0x162)]||_0x323a10?.[_0x4740ce(0x162)]),_0x414539=_0x323a10?.['domains'],_0x6a933e=_0x435b0c['setupHeaders'],_0x24ed2b=_0x6a933e??_0x323a10?.[_0x4740ce(0x14b)],_0x26c573=_0x30be88[_0x4740ce(0x16c)]??_0x435b0c['baseUrl']??(_0x414539&&_0x414539[_0x4740ce(0x188)]>0x0?_0x414539[0x0]:''),_0x506b31=_0x26c573?_0x38544b[_0x4740ce(0x17c)](needsTunnel,_0x26c573):![],_0x42984c={'invalidateOn':_0x323a10?.['invalidateOn'],'userAgent':_0x323a10?.[_0x4740ce(0x17f)]?.[_0x4740ce(0x14c)]??_0x435b0c['userAgent']};_0x44e2cb&&console['log'](_0x4740ce(0x17a)+_0x5aa513['name']+_0x4740ce(0x13a));if(!_0x44e2cb){const _0x5160da=await checkLocalCache(_0x5aa513[_0x4740ce(0x16d)],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x42984c);if(_0x5160da){if(_0x26c573&&!_0x506b31){const _0x5614db=await isCachedSessionLive(_0x5160da[_0x4740ce(0x12c)],_0x26c573,{'sessionCheckPath':_0x323a10?.[_0x4740ce(0x191)],'setupHeaders':_0x24ed2b},{'launchBrowser':launchRealBrowser});if(_0x5614db)return console[_0x4740ce(0x132)](_0x4740ce(0x164)+_0x5aa513[_0x4740ce(0x16d)]+'\x22'),{'authPath':_0x5160da[_0x4740ce(0x12c)],'settings':_0x513e78,'resolvedEnv':_0x323a10};console['log']('\x20\x20Cached\x20session\x20for\x20\x22'+_0x5aa513['name']+_0x4740ce(0x153)),emitSessionValidationHint(_0x26c573,_0x323a10);}else return _0x506b31&&console['log'](_0x4740ce(0x14a)+_0x5aa513['name']+'\x22'),{'authPath':_0x5160da[_0x4740ce(0x12c)],'settings':_0x513e78,'resolvedEnv':_0x323a10};}}if(!_0x44e2cb&&_0x5aa513[_0x4740ce(0x18c)]){if(_0x506b31)console['log']('\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22'+_0x26c573+'\x22\x20on\x20profile\x20\x22'+_0x5aa513[_0x4740ce(0x16d)]+'\x22');else{const _0x1b7bca=await _0x38544b['cnsZH'](writeSessionToLocalCache,_0x5aa513['name'],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x5aa513[_0x4740ce(0x18c)],_0x414539,_0x42984c);if(_0x26c573){const _0x24c72e=await isCachedSessionLive(_0x1b7bca,_0x26c573,{'sessionCheckPath':_0x323a10?.[_0x4740ce(0x191)],'setupHeaders':_0x24ed2b},{'launchBrowser':launchRealBrowser});if(_0x24c72e)return console['log'](_0x4740ce(0x161)+_0x5aa513[_0x4740ce(0x16d)]+'\x22,\x20cached\x20locally'),{'authPath':_0x1b7bca,'settings':_0x513e78,'resolvedEnv':_0x323a10};console['log'](_0x4740ce(0x12f)+_0x5aa513['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x26c573,_0x323a10);}else return{'authPath':_0x1b7bca,'settings':_0x513e78,'resolvedEnv':_0x323a10};}}if(_0x5c5ca8)return console[_0x4740ce(0x132)]('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x5aa513[_0x4740ce(0x16d)]+'\x22;\x20proceeding\x20with\x20loginInstructions.'),{'authPath':undefined,'settings':_0x513e78,'resolvedEnv':_0x323a10};console['log'](_0x4740ce(0x141)+_0x5aa513['name']+'\x22,\x20attempting\x20login...');const _0x48373f=_0x38544b['VGpZf'](Boolean,process[_0x4740ce(0x18a)]['RANGER_TEST_USERNAME'])&&Boolean(process['env']['RANGER_TEST_PASSWORD']),_0x3cdd16=_0x38544b[_0x4740ce(0x179)](Boolean,_0x5aa513[_0x4740ce(0x15e)]);if(_0x38544b['jTBXu'](_0x48373f,_0x3cdd16))try{const _0x3ac60d=_0x26c573?await _0x38544b['KUvfu'](serverSideLoginWithOptionalTunnel,_0x5aa513['name'],_0x26c573,{'force':_0x44e2cb}):await serverSideLogin(_0x5aa513['name'],{'force':_0x44e2cb});if(_0x3ac60d[_0x4740ce(0x149)]==='not_configured')console['log'](_0x4740ce(0x19d));else{if(_0x38544b[_0x4740ce(0x1a2)](_0x3ac60d['status'],_0x4740ce(0x142))&&_0x3ac60d[_0x4740ce(0x125)]){console['log'](_0x38544b[_0x4740ce(0x182)]);const _0x700ca4=await _0x38544b['cnsZH'](writeSessionToLocalCache,_0x5aa513['name'],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x3ac60d['session_state'],_0x414539,_0x42984c);return _0x38544b[_0x4740ce(0x19f)](_0x48373f,!_0x3cdd16)&&await promptSaveCredentials(_0x5aa513[_0x4740ce(0x16d)]),{'authPath':_0x700ca4,'settings':_0x513e78,'resolvedEnv':_0x323a10};}else _0x3ac60d['test_output']&&(console[_0x4740ce(0x132)](_0x4740ce(0x15b)),console['log'](_0x3ac60d[_0x4740ce(0x133)])),console[_0x4740ce(0x132)](_0x4740ce(0x1a0));}}catch(_0x308c88){console['log']('\x20\x20Server-side\x20login\x20error:\x20'+(_0x308c88 instanceof Error?_0x308c88[_0x4740ce(0x14f)]:_0x38544b['cVRDE'](String,_0x308c88))),console[_0x4740ce(0x132)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}const _0x5b5b76=_0x323a10?{..._0x323a10,'setupHeaders':_0x24ed2b}:_0x26c573?{'key':_0x5aa513['environmentKey']??'','domains':[_0x26c573],'setupHeaders':_0x24ed2b}:null,{sessionState:_0x248f80}=await manualBrowserLogin(_0x5aa513,_0x5b5b76,{'persistSessionState':!_0x506b31}),_0x43ce44=await writeSessionToLocalCache(_0x5aa513['name'],_0x5aa513[_0x4740ce(0x158)],_0x26c573,_0x24ed2b,_0x248f80,_0x414539,_0x42984c);return{'authPath':_0x43ce44,'settings':_0x513e78,'resolvedEnv':_0x323a10};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x2b78e9=_0xdf6d;(function(_0x11d91f,_0xee39db){const _0x370523=_0xdf6d,_0x335449=_0x11d91f();while(!![]){try{const _0x5f331b=-parseInt(_0x370523(0x7e))/0x1*(parseInt(_0x370523(0x88))/0x2)+-parseInt(_0x370523(0x82))/0x3+-parseInt(_0x370523(0x7c))/0x4*(parseInt(_0x370523(0x8d))/0x5)+-parseInt(_0x370523(0x8a))/0x6*(-parseInt(_0x370523(0x89))/0x7)+-parseInt(_0x370523(0xa6))/0x8+parseInt(_0x370523(0x8f))/0x9*(parseInt(_0x370523(0x7d))/0xa)+parseInt(_0x370523(0xa0))/0xb;if(_0x5f331b===_0xee39db)break;else _0x335449['push'](_0x335449['shift']());}catch(_0x3c0c03){_0x335449['push'](_0x335449['shift']());}}}(_0x52f6,0x71734));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x38e5c4=process['env'],_0x1c5165={'stdin':process[_0x2b78e9(0x9a)],'stdout':process[_0x2b78e9(0x99)]}){const _0xf8a900={'zhVkQ':function(_0x3fb7c,_0x4e097c){return _0x3fb7c(_0x4e097c);}};if(_0x38e5c4['CI'])return![];return _0xf8a900['zhVkQ'](Boolean,_0x1c5165['stdin']['isTTY'])&&Boolean(_0x1c5165['stdout']['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x41b457){const _0x21a0f4=_0x2b78e9,_0x19648c={'PihwG':'baseUrl','UadkH':'port','aZzaX':function(_0x3a603b,_0x271742){return _0x3a603b(_0x271742);},'IeKDv':_0x21a0f4(0x7a),'tJFtj':function(_0x4410df,_0xfd2cdc){return _0x4410df(_0xfd2cdc);}},_0x432602=new Set(_0x41b457[_0x21a0f4(0x83)]??DEFAULT_INVALIDATE_ON),_0xa1f1ff={'orgId':_0x41b457['orgId'],'profileName':_0x41b457['profileName']};return _0x432602[_0x21a0f4(0x8e)](_0x19648c['PihwG'])&&(_0xa1f1ff['effectiveBaseUrl']=_0x41b457['effectiveBaseUrl']),_0x432602[_0x21a0f4(0x8e)](_0x21a0f4(0x80))&&(_0xa1f1ff['setupHeaders']=_0x41b457['setupHeaders']?sortObjectKeys(_0x41b457['setupHeaders']):_0x41b457[_0x21a0f4(0x80)]),_0x432602[_0x21a0f4(0x8e)](_0x19648c[_0x21a0f4(0xa7)])&&(_0xa1f1ff[_0x21a0f4(0x9f)]=_0x19648c[_0x21a0f4(0x93)](extractPort,_0x41b457['effectiveBaseUrl'])),_0x432602[_0x21a0f4(0x8e)](_0x19648c['IeKDv'])&&_0x41b457[_0x21a0f4(0x7a)]!==undefined&&(_0xa1f1ff['userAgent']=_0x41b457[_0x21a0f4(0x7a)]),_0x432602['has'](_0x21a0f4(0xa3))&&_0x41b457[_0x21a0f4(0xa3)]!==undefined&&(_0xa1f1ff[_0x21a0f4(0xa3)]=_0x41b457['clientIp']),_0x19648c[_0x21a0f4(0x9b)](createHash,_0x21a0f4(0x94))['update'](JSON[_0x21a0f4(0xa2)](_0xa1f1ff))[_0x21a0f4(0xa1)](_0x21a0f4(0x86))['slice'](0x0,0xc);}function extractPort(_0x358905){const _0x338802=_0x2b78e9;try{return new URL(_0x358905)[_0x338802(0x9f)];}catch{return'';}}function sortObjectKeys(_0x4e63db){const _0x377d40={};for(const _0x1f2d03 of Object['keys'](_0x4e63db)['sort']()){_0x377d40[_0x1f2d03]=_0x4e63db[_0x1f2d03];}return _0x377d40;}export function getSessionCachePath(_0xb69e16,_0x2c15e4){const _0x16a697={'DrMHE':'auth'};return join(getRangerHomeDir(),_0x16a697['DrMHE'],_0xb69e16+'-'+_0x2c15e4+'.json');}export function getStorageStatePath(_0x23006f){const _0x1f6342=_0x2b78e9,_0x218925={'ZCjbR':'.storageState.json'};return _0x23006f[_0x1f6342(0x96)](/\.json$/,_0x218925[_0x1f6342(0x8b)]);}function _0xdf6d(_0x234ad1,_0xf0b7e8){_0x234ad1=_0x234ad1-0x7a;const _0x52f6e5=_0x52f6();let _0xdf6d5b=_0x52f6e5[_0x234ad1];return _0xdf6d5b;}export function needsTunnel(_0x11c9af){const _0x28bf7a=_0x2b78e9,_0x220f90={'kvqGe':_0x28bf7a(0x95)};let _0x2783b2;try{_0x2783b2=new URL(_0x11c9af)['hostname'];}catch{return![];}if(_0x2783b2===_0x28bf7a(0x97)||_0x2783b2==='127.0.0.1')return!![];if(_0x2783b2[_0x28bf7a(0x9d)](_0x28bf7a(0x7f)))return!![];if(_0x2783b2['includes'](_0x220f90[_0x28bf7a(0x98)]))return!![];return![];}export function hostnameOf(_0x525176){const _0xcfb10a=_0x2b78e9;return new URL(_0x525176)[_0xcfb10a(0x90)];}export function duplicateCookiesForDomains(_0x251f24,_0x174191){const _0x3e8434=_0x2b78e9,_0x194c50={'GNKiE':function(_0x198c20,_0x38759b){return _0x198c20(_0x38759b);}},_0x1eeb4b=[..._0x251f24],_0x1abcf9=new Set(_0x251f24[_0x3e8434(0x87)](_0x573366=>_0x573366['domain']));for(const _0x572d2c of _0x174191){let _0x84f6be;try{_0x84f6be=_0x194c50['GNKiE'](hostnameOf,_0x572d2c);}catch{continue;}if(!_0x84f6be)continue;const _0xc20ae0=_0x84f6be[_0x3e8434(0x85)]('.')?_0x84f6be:'.'+_0x84f6be;if(_0x1abcf9[_0x3e8434(0x8e)](_0x84f6be)||_0x1abcf9[_0x3e8434(0x8e)](_0xc20ae0))continue;for(const _0x4b8e73 of _0x251f24){_0x1eeb4b['push']({..._0x4b8e73,'domain':_0xc20ae0});}_0x1abcf9['add'](_0xc20ae0);}return _0x1eeb4b;}export function resolveAuthEnvironmentLocally(_0x4c7982,_0x51bf1f){const _0x2ff63b=_0x2b78e9,_0x2281e5={'WuSJm':function(_0x4b6730,_0x5651b2){return _0x4b6730===_0x5651b2;}},_0x1d7eff=_0x4c7982['environments'];if(_0x51bf1f){const _0x5e5171=_0x1d7eff[_0x51bf1f];if(!_0x5e5171)return null;return{'key':_0x51bf1f,..._0x5e5171};}if(_0x4c7982[_0x2ff63b(0x7b)]){const _0x4ec57c=_0x1d7eff[_0x4c7982['defaultEnvironmentKey']];if(!_0x4ec57c)return null;return{'key':_0x4c7982['defaultEnvironmentKey'],..._0x4ec57c};}const _0x10788c=Object[_0x2ff63b(0x92)](_0x1d7eff);if(_0x2281e5['WuSJm'](_0x10788c['length'],0x1)){const _0x5522d7=_0x10788c[0x0];return{'key':_0x5522d7,..._0x1d7eff[_0x5522d7]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x164f25,_0x459e62){const _0x112bc7=_0x2b78e9;try{if(_0x459e62)return new URL(_0x459e62,_0x164f25)['toString']();return new URL(_0x164f25)[_0x112bc7(0x84)]();}catch{return null;}}export function looksLikeLoginUrl(_0x1a9c73){try{const _0x53fde5=new URL(_0x1a9c73);return LOGIN_URL_PATTERN['test'](_0x53fde5['pathname']);}catch{return LOGIN_URL_PATTERN['test'](_0x1a9c73);}}export async function isCachedSessionLive(_0x824ae5,_0x38b6ff,_0x2d41ba={},_0x37cc11={}){const _0x5587d4=_0x2b78e9,_0x199370={'QxLKx':function(_0x4f39d7,_0x21b932,_0xb4830b){return _0x4f39d7(_0x21b932,_0xb4830b);},'FokVN':function(_0x33ec40,_0x5b111e){return _0x33ec40===_0x5b111e;},'BizYC':function(_0x31fcba,_0x276499){return _0x31fcba(_0x276499);}},_0x1e9921=_0x199370[_0x5587d4(0xa5)](buildSessionCheckUrl,_0x38b6ff,_0x2d41ba[_0x5587d4(0x91)]);if(!_0x1e9921)return!![];if(!_0x37cc11[_0x5587d4(0x9e)])return!![];let _0x2c570d=null;try{_0x2c570d=await _0x37cc11[_0x5587d4(0x9e)]();const _0x2ed579=await _0x2c570d[_0x5587d4(0x81)]({'storageState':_0x824ae5,'ignoreHTTPSErrors':!![],..._0x2d41ba[_0x5587d4(0x80)]?{'extraHTTPHeaders':_0x2d41ba[_0x5587d4(0x80)]}:{}}),_0x402518=await _0x2ed579['newPage'](),_0x177955=await _0x402518[_0x5587d4(0x9c)](_0x1e9921,{'waitUntil':'domcontentloaded','timeout':0x3a98}),_0x385683=_0x177955?.['status']();if(_0x385683===0x191||_0x199370[_0x5587d4(0xa4)](_0x385683,0x193))return![];const _0x11f7b4=_0x402518['url']();if(_0x199370['BizYC'](looksLikeLoginUrl,_0x11f7b4))return![];return!![];}catch{return![];}finally{if(_0x2c570d)await _0x2c570d[_0x5587d4(0x8c)]()['catch'](()=>{});}}function _0x52f6(){const _0x5e4def=['keys','aZzaX','sha256','localhost.','replace','localhost','kvqGe','stdout','stdin','tJFtj','goto','endsWith','launchBrowser','port','18210511UgLuSj','digest','stringify','clientIp','FokVN','QxLKx','1328480mEdFEm','UadkH','userAgent','defaultEnvironmentKey','52VjUfkf','18590AAhRrL','4OAxMKW','.localhost','setupHeaders','newContext','2366379bxfOnM','invalidateOn','toString','startsWith','hex','map','209244PZUyyc','52304vYIbnl','522rStqHy','ZCjbR','close','307805MyPMHl','has','1611bLPJwo','hostname','sessionCheckPath'];_0x52f6=function(){return _0x5e4def;};return _0x52f6();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x4bcd8b=_0x3dd4;function _0x3dd4(_0x1e96db,_0x459d03){_0x1e96db=_0x1e96db-0x1d5;const _0x3dd6fe=_0x3dd6();let _0x3dd45d=_0x3dd6fe[_0x1e96db];return _0x3dd45d;}function _0x3dd6(){const _0x4562ce=['16315704XdvPCc','6291vcpXor','AIKaq','RjLqY','865AGyWgo','concat','final','getAuthTag','4069910YUrDbJ','12adxCJk','8530096hiCcPG','ranger-auth-encryption','3260606RjzaDZ','aes-256-gcm','14082AZxEVg','10586628xwcLAq','PCPWB','908cOzZCG','22nknSAA','1YSJzRI','hmwax','sha256','subarray','7OXEaZe'];_0x3dd6=function(){return _0x4562ce;};return _0x3dd6();}(function(_0x152f0a,_0x4cf403){const _0xbcb3b0=_0x3dd4,_0x38203e=_0x152f0a();while(!![]){try{const _0x4cde97=parseInt(_0xbcb3b0(0x1e4))/0x1*(parseInt(_0xbcb3b0(0x1dd))/0x2)+-parseInt(_0xbcb3b0(0x1ea))/0x3*(-parseInt(_0xbcb3b0(0x1e2))/0x4)+parseInt(_0xbcb3b0(0x1d5))/0x5*(-parseInt(_0xbcb3b0(0x1df))/0x6)+-parseInt(_0xbcb3b0(0x1e8))/0x7*(-parseInt(_0xbcb3b0(0x1db))/0x8)+-parseInt(_0xbcb3b0(0x1e9))/0x9+parseInt(_0xbcb3b0(0x1d9))/0xa*(-parseInt(_0xbcb3b0(0x1e3))/0xb)+parseInt(_0xbcb3b0(0x1da))/0xc*(parseInt(_0xbcb3b0(0x1e0))/0xd);if(_0x4cde97===_0x4cf403)break;else _0x38203e['push'](_0x38203e['shift']());}catch(_0x53632d){_0x38203e['push'](_0x38203e['shift']());}}}(_0x3dd6,0xe8ed7));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM=_0x4bcd8b(0x1de),SALT=_0x4bcd8b(0x1dc),KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0x554324){const _0x5236c7=_0x4bcd8b,_0x328b3d={'PCPWB':_0x5236c7(0x1e6)};return pbkdf2Sync(_0x554324,SALT,0x186a0,KEY_LENGTH,_0x328b3d[_0x5236c7(0x1e1)]);}export function encrypt(_0xff8be4,_0x2cae73){const _0xcdf3f6=_0x4bcd8b,_0xe10aa7={'aHchp':function(_0x2dca90,_0x20fd06,_0x549232,_0x4ff2ab){return _0x2dca90(_0x20fd06,_0x549232,_0x4ff2ab);},'hmwax':'utf8'},_0x237ca0=deriveKey(_0x2cae73),_0x1502e4=randomBytes(IV_LENGTH),_0x523fa0=_0xe10aa7['aHchp'](createCipheriv,ALGORITHM,_0x237ca0,_0x1502e4),_0x4057b9=Buffer[_0xcdf3f6(0x1d6)]([_0x523fa0['update'](_0xff8be4,_0xe10aa7[_0xcdf3f6(0x1e5)]),_0x523fa0[_0xcdf3f6(0x1d7)]()]),_0x3eb9c1=_0x523fa0[_0xcdf3f6(0x1d8)]();return Buffer[_0xcdf3f6(0x1d6)]([_0x1502e4,_0x3eb9c1,_0x4057b9]);}export function decrypt(_0x3778e5,_0x28d7d2){const _0x11cbc2=_0x4bcd8b,_0x4e0673={'RjLqY':function(_0x14253f,_0x4e2bb7){return _0x14253f(_0x4e2bb7);},'AIKaq':function(_0x28bb78,_0x3b4957,_0x50eeb4,_0x2ee066){return _0x28bb78(_0x3b4957,_0x50eeb4,_0x2ee066);},'xJuNG':'utf8'},_0x1ce546=_0x4e0673[_0x11cbc2(0x1ec)](deriveKey,_0x28d7d2),_0x3afaba=_0x3778e5['subarray'](0x0,IV_LENGTH),_0xfea49a=_0x3778e5[_0x11cbc2(0x1e7)](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x586b6f=_0x3778e5[_0x11cbc2(0x1e7)](IV_LENGTH+TAG_LENGTH),_0xf03e1a=_0x4e0673[_0x11cbc2(0x1eb)](createDecipheriv,ALGORITHM,_0x1ce546,_0x3afaba);return _0xf03e1a['setAuthTag'](_0xfea49a),_0xf03e1a['update'](_0x586b6f)+_0xf03e1a[_0x11cbc2(0x1d7)](_0x4e0673['xJuNG']);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x205683=_0x47d7;function _0x47d7(_0x4f91d2,_0x5538f7){_0x4f91d2=_0x4f91d2-0x1ca;const _0x226000=_0x2260();let _0x47d7ee=_0x226000[_0x4f91d2];return _0x47d7ee;}function _0x2260(){const _0x9ed2be=['=[REDACTED]','error','application/json','OGCsk','2802576tTXFjh','--cookie','334212KYXABg','10090764TjodRE','toLowerCase','syntax_error','featureId','--authorization','--api-key','1524HGatzb','startsWith','has','DEBUG','--credentials','rawCommand','join','13630qrLJqt','push','uGbjf','GiaEK','catch','3319674tCTUnL','1332597iKDsCM','12343976opgJEY','[desire-path]\x20Failed\x20to\x20send:\x20','unknown_argument','/api/v1/mcp/desire-path-logs','missing_required_argument','errorMessage','[REDACTED]','env','slice','includes','some','POST','test','stdout','--pass'];_0x2260=function(){return _0x9ed2be;};return _0x2260();}(function(_0x772507,_0x1991b7){const _0x12337c=_0x47d7,_0x48e660=_0x772507();while(!![]){try{const _0x2ff6d2=-parseInt(_0x12337c(0x1dd))/0x1+parseInt(_0x12337c(0x1f0))/0x2+parseInt(_0x12337c(0x1f1))/0x3+parseInt(_0x12337c(0x1e4))/0x4*(-parseInt(_0x12337c(0x1eb))/0x5)+-parseInt(_0x12337c(0x1de))/0x6+parseInt(_0x12337c(0x1db))/0x7+parseInt(_0x12337c(0x1f2))/0x8;if(_0x2ff6d2===_0x1991b7)break;else _0x48e660['push'](_0x48e660['shift']());}catch(_0x2aab8a){_0x48e660['push'](_0x48e660['shift']());}}}(_0x2260,0xf2615));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set(['--token','-t','--secret',_0x205683(0x1e3),'--apikey','--key','--password',_0x205683(0x1d6),'--auth',_0x205683(0x1e2),'--header',_0x205683(0x1dc),_0x205683(0x1e8)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x1e2404){const _0x8a4a45=_0x205683;return TOKEN_PATTERNS[_0x8a4a45(0x1d2)](_0x24f932=>_0x24f932[_0x8a4a45(0x1d4)](_0x1e2404));}export function sanitizeArgs(_0x588714){const _0x309a1d=_0x205683,_0x25df39={'BVueA':function(_0xde35d2,_0x1d268e){return _0xde35d2!==_0x1d268e;},'xzKxT':_0x309a1d(0x1ce)},_0x327cd2=[];let _0x5d2843=![];for(let _0x1aed7f=0x0;_0x1aed7f<_0x588714['length'];_0x1aed7f++){const _0x35dea8=_0x588714[_0x1aed7f];if(_0x5d2843){_0x327cd2['push']('[REDACTED]'),_0x5d2843=![];continue;}if(_0x35dea8[_0x309a1d(0x1e5)]('--')||_0x35dea8['startsWith']('-')){const _0x4e2349=_0x35dea8['indexOf']('=');if(_0x25df39['BVueA'](_0x4e2349,-0x1)){const _0x3b573e=_0x35dea8[_0x309a1d(0x1d0)](0x0,_0x4e2349)['toLowerCase']();if(SENSITIVE_FLAGS[_0x309a1d(0x1e6)](_0x3b573e)){_0x327cd2['push'](_0x35dea8[_0x309a1d(0x1d0)](0x0,_0x4e2349)+_0x309a1d(0x1d7));continue;}}else{const _0x1b8b84=_0x35dea8[_0x309a1d(0x1df)]();SENSITIVE_FLAGS[_0x309a1d(0x1e6)](_0x1b8b84)&&(_0x5d2843=!![]);}_0x327cd2['push'](_0x35dea8);}else looksLikeToken(_0x35dea8)?_0x327cd2[_0x309a1d(0x1ec)](_0x25df39['xzKxT']):_0x327cd2['push'](_0x35dea8);}return _0x327cd2[_0x309a1d(0x1ea)]('\x20');}export async function logDesirePath(_0x556183){const _0x4475e5=_0x205683,_0x2a574c={'mFGSk':function(_0x402932){return _0x402932();},'uGbjf':'no_token','gozht':'Authorization','cYmRd':function(_0x38671b,_0x57ef58,_0x1cfe0e){return _0x38671b(_0x57ef58,_0x1cfe0e);}};try{const _0x407b86=await _0x2a574c['mFGSk'](getToken)[_0x4475e5(0x1ef)](()=>null),_0x3a98c2=_0x2a574c['mFGSk'](getApiBaseUrl),_0x2c5f09=getCurrentVersion(),_0x179aa7=_0x407b86?'has_token':_0x2a574c[_0x4475e5(0x1ed)],_0x4a9892={..._0x556183['metadata'],'authStatus':_0x179aa7,'isTty':process[_0x4475e5(0x1d5)]['isTTY']??![]},_0x2a806f={'Content-Type':_0x4475e5(0x1d9)};_0x407b86&&(_0x2a806f[_0x2a574c['gozht']]='Bearer\x20'+_0x407b86);const _0x33d0c3={'rawCommand':_0x556183[_0x4475e5(0x1e9)],'errorMessage':_0x556183[_0x4475e5(0x1cd)],'errorType':_0x556183['errorType'],'featureId':_0x556183[_0x4475e5(0x1e1)],'sessionId':_0x556183['sessionId'],'metadata':_0x4a9892,'cliVersion':_0x2c5f09};process[_0x4475e5(0x1cf)][_0x4475e5(0x1e7)]&&(console[_0x4475e5(0x1d8)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x3a98c2+'/api/v1/mcp/desire-path-logs'),console[_0x4475e5(0x1d8)]('[desire-path]\x20Payload:\x20'+JSON['stringify'](_0x33d0c3,null,0x2))),await _0x2a574c['cYmRd'](fetch,_0x3a98c2+_0x4475e5(0x1cb),{'method':_0x4475e5(0x1d3),'headers':_0x2a806f,'body':JSON['stringify'](_0x33d0c3)});}catch(_0x5c0dc8){process['env'][_0x4475e5(0x1e7)]&&console['error'](_0x4475e5(0x1f3)+_0x5c0dc8);}}export function getErrorType(_0x2d7be9,_0x572bc8){const _0x487ed6=_0x205683,_0x1f0103={'ZvVoN':'6|1|7|4|2|3|0|5','OKpvl':'missing_option','ksxEB':'unknown','GiaEK':'Invalid\x20values','avsUT':_0x487ed6(0x1ca),'OGCsk':'runtime_error','Xndii':'unknown_command'},_0x32b8de=_0x1f0103['ZvVoN']['split']('|');let _0x41d870=0x0;while(!![]){switch(_0x32b8de[_0x41d870++]){case'0':if(_0x2d7be9['includes']('Missing\x20required\x20argument'))return _0x1f0103['OKpvl'];continue;case'1':if(!_0x2d7be9)return _0x1f0103['ksxEB'];continue;case'2':if(_0x2d7be9[_0x487ed6(0x1d1)]('Not\x20enough\x20non-option\x20arguments'))return _0x487ed6(0x1cc);continue;case'3':if(_0x2d7be9['includes'](_0x1f0103[_0x487ed6(0x1ee)]))return'invalid_option_value';continue;case'4':if(_0x2d7be9[_0x487ed6(0x1d1)]('Unknown\x20argument'))return _0x1f0103['avsUT'];continue;case'5':return _0x487ed6(0x1e0);case'6':if(_0x572bc8)return _0x1f0103[_0x487ed6(0x1da)];continue;case'7':if(_0x2d7be9['includes']('Unknown\x20command'))return _0x1f0103['Xndii'];continue;}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0xdd1a40=_0xaac7;(function(_0xfd4558,_0x4ad9f1){const _0x3c1e3b=_0xaac7,_0x573534=_0xfd4558();while(!![]){try{const _0x3df296=-parseInt(_0x3c1e3b(0x84))/0x1+parseInt(_0x3c1e3b(0xa8))/0x2*(parseInt(_0x3c1e3b(0x93))/0x3)+parseInt(_0x3c1e3b(0xb6))/0x4+parseInt(_0x3c1e3b(0x97))/0x5+-parseInt(_0x3c1e3b(0xa4))/0x6+parseInt(_0x3c1e3b(0x8f))/0x7*(-parseInt(_0x3c1e3b(0xaa))/0x8)+-parseInt(_0x3c1e3b(0x82))/0x9;if(_0x3df296===_0x4ad9f1)break;else _0x573534['push'](_0x573534['shift']());}catch(_0x21dd55){_0x573534['push'](_0x573534['shift']());}}}(_0x3ffa,0xd7bbb));import{spawn}from'child_process';import _0x471021 from'inquirer';function _0x3ffa(){const _0x165c92=['expires_in','startsWith','12307590KMeXDs','json','264581oZZgta','list','error_description','now','base64url','filter','GSzQR','isTTY','apiKey','XZyxq','firstName','3115BEIJTt','/organization/me','status','name','951FmmtFV','Failed\x20to\x20fetch\x20memberships:\x20','application/x-www-form-urlencoded','OxGVe','8829645eQfHlI','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','YpePG','prompt','iCMSd','Wakxq','OPYGq','ignore','fcvuW','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','text','Failed\x20to\x20provision\x20API\x20key:\x20','length','4379976aKAwpB','stdout','Failed\x20to\x20request\x20device\x20code:\x20','authorization_pending','8444wHqgAN','organizationId','14648efpxba','win32','from','lSMUM','cTbri','stdin','workosClientId','rObLr','Failed\x20to\x20create\x20organization:\x20','platform','refresh_token','interval','3824888seqUwi','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20','apiKeys','token','darwin','access_token','Select\x20an\x20organization:','Authentication\x20failed','uUzIe','split','xdg-open','https://api.workos.com/user_management/authorize/device','oBxYr','write','/organization/my-memberships','ieLfa','lxrMU','ISouF','bdiWJ','GET','mcp:write','application/json','POST','error','WmFcb','open','Invalid\x20JWT\x20format','log','/organization/self-serve-signup','/api-keys','yBwbV','unref','jVefX','QdsWg','verification_uri_complete'];_0x3ffa=function(){return _0x165c92;};return _0x3ffa();}import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL=_0xdd1a40(0xc2),WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0x2fb00c){const _0x2fdf3e=_0xdd1a40,_0x1fe8f9={'jVefX':'POST'},_0x26b80a=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x1fe8f9[_0x2fdf3e(0x7d)],'headers':{'Content-Type':_0x2fdf3e(0x95)},'body':new URLSearchParams({'client_id':_0x2fb00c})});if(!_0x26b80a['ok']){const _0x1aa5cd=await _0x26b80a[_0x2fdf3e(0xa1)]();throw new Error(_0x2fdf3e(0xa6)+_0x26b80a[_0x2fdf3e(0x91)]+'\x20'+_0x1aa5cd);}return _0x26b80a[_0x2fdf3e(0x83)]();}export async function pollForTokens(_0x5a5682,_0x220018,_0x4dc460,_0x3a3ad8){const _0x18cfea=_0xdd1a40,_0x296504={'XZyxq':function(_0xa6114a,_0x58eb7a){return _0xa6114a*_0x58eb7a;},'DSbpN':function(_0x1bac27,_0x1d7759){return _0x1bac27<_0x1d7759;},'YNCca':function(_0x1a6d13,_0x2517f7,_0x58f2d5){return _0x1a6d13(_0x2517f7,_0x58f2d5);},'iCMSd':'POST','kwYXs':_0x18cfea(0x95),'GSzQR':'urn:ietf:params:oauth:grant-type:device_code','yBwbV':function(_0x27d82a,_0x432127){return _0x27d82a===_0x432127;},'oBxYr':function(_0x3eee3f,_0x3ba188){return _0x3eee3f===_0x3ba188;},'rObLr':'slow_down','aqqEQ':'Device\x20authorization\x20timed\x20out'},_0xfb9398=Date[_0x18cfea(0x87)]()+_0x3a3ad8*0x3e8;let _0x45a058=_0x296504[_0x18cfea(0x8d)](_0x4dc460,0x3e8);while(_0x296504['DSbpN'](Date['now'](),_0xfb9398)){await sleep(_0x45a058);const _0x4ef61e=await _0x296504['YNCca'](fetch,WORKOS_TOKEN_URL,{'method':_0x296504[_0x18cfea(0x9b)],'headers':{'Content-Type':_0x296504['kwYXs']},'body':new URLSearchParams({'client_id':_0x5a5682,'device_code':_0x220018,'grant_type':_0x296504[_0x18cfea(0x8a)]})});if(_0x4ef61e['ok'])return _0x4ef61e[_0x18cfea(0x83)]();const _0x4e9952=await _0x4ef61e['json']();if(_0x296504[_0x18cfea(0x7b)](_0x4e9952[_0x18cfea(0x74)],_0x18cfea(0xa7)))continue;if(_0x296504[_0x18cfea(0xc3)](_0x4e9952[_0x18cfea(0x74)],_0x296504[_0x18cfea(0xb1)])){_0x45a058+=0x3e8;continue;}throw new Error(_0x4e9952[_0x18cfea(0x86)]||_0x4e9952['error']||_0x18cfea(0xbe));}throw new Error(_0x296504['aqqEQ']);}async function fetchUserProfile(_0x59a884){const _0xc8a0b1=_0xdd1a40,_0x3b3fd7={'bdiWJ':function(_0x285a2e,_0x47fa1c,_0x331227){return _0x285a2e(_0x47fa1c,_0x331227);},'vdXMv':'GET'},_0x1c17b5=getApiBaseUrl();try{const _0x3e59a6=await _0x3b3fd7[_0xc8a0b1(0xc9)](fetch,_0x1c17b5+_0xc8a0b1(0x90),{'method':_0x3b3fd7['vdXMv'],'headers':{'workos-token':_0x59a884}});if(_0x3e59a6['ok'])return _0x3e59a6['json']();}catch{}return null;}function buildKeyName(_0x55e70f,_0x1b7acd){const _0xcef28c=_0xdd1a40,_0x24e95c={'MfXtS':function(_0x289a27,_0x1d53a8){return _0x289a27===_0x1d53a8;}},_0x57d7a6=_0x1b7acd[_0xcef28c(0x89)](_0xe2dfda=>_0xe2dfda[_0xcef28c(0x92)]===_0x55e70f||_0xe2dfda['name'][_0xcef28c(0x81)](_0x55e70f+'\x20('));if(_0x24e95c['MfXtS'](_0x57d7a6[_0xcef28c(0xa3)],0x0))return _0x55e70f;return _0x55e70f+'\x20('+(_0x57d7a6['length']+0x1)+')';}export async function provisionApiKey(_0x5de118){const _0x47632a=_0xdd1a40,_0x31d457={'ZqvSj':function(_0x2f7980,_0x273dea,_0x455016){return _0x2f7980(_0x273dea,_0x455016);},'lxrMU':function(_0x4a7b55,_0x54b7a0,_0x19fad2){return _0x4a7b55(_0x54b7a0,_0x19fad2);},'Wakxq':_0x47632a(0xcb)},_0x472ff7=getApiBaseUrl(),_0x174f1e={'Content-Type':'application/json','workos-token':_0x5de118},_0x5e7aff=await fetchUserProfile(_0x5de118),_0x34c1d8=_0x5e7aff?.[_0x47632a(0x8e)]||_0x5e7aff?.['email']?.['split']('@')[0x0],_0x2efe5b=_0x34c1d8?_0x34c1d8+'\x27s\x20CLI\x20Key':'CLI\x20Key';let _0x8832f7=[];try{const _0x4fec09=await _0x31d457['ZqvSj'](fetch,_0x472ff7+_0x47632a(0x7a),{'method':'GET','headers':_0x174f1e});if(_0x4fec09['ok']){const _0xbb2c1=await _0x4fec09['json']();_0x8832f7=_0xbb2c1[_0x47632a(0xb9)];}}catch{}const _0x5bd9ad=_0x31d457[_0x47632a(0xc7)](buildKeyName,_0x2efe5b,_0x8832f7),_0x3505df=await _0x31d457[_0x47632a(0xc7)](fetch,_0x472ff7+_0x47632a(0x7a),{'method':'POST','headers':_0x174f1e,'body':JSON['stringify']({'name':_0x5bd9ad,'scope':_0x31d457[_0x47632a(0x9c)]})});if(!_0x3505df['ok']){const _0x48e394=await _0x3505df[_0x47632a(0xa1)]();throw new Error(_0x47632a(0xa2)+_0x3505df[_0x47632a(0x91)]+'\x20'+_0x48e394);}const _0x2ca05e=await _0x3505df[_0x47632a(0x83)]();return _0x2ca05e[_0x47632a(0x8c)]['token'];}function _0xaac7(_0x318622,_0x43a8d8){_0x318622=_0x318622-0x72;const _0x3ffaf2=_0x3ffa();let _0xaac7e8=_0x3ffaf2[_0x318622];return _0xaac7e8;}export function openBrowser(_0x4dc7a2){const _0x23b939=_0xdd1a40,_0x72677={'jcoSo':function(_0x3450d9,_0x18028e,_0x1d0db6,_0x5a0d8d){return _0x3450d9(_0x18028e,_0x1d0db6,_0x5a0d8d);},'fInBm':'start','kyacW':function(_0x528a89,_0x5b2ef5){return _0x528a89===_0x5b2ef5;},'nBkTy':_0x23b939(0xbb),'lSMUM':_0x23b939(0x76),'OPYGq':function(_0x23f7b5,_0xb7501e,_0x39c40d,_0x1a7a25){return _0x23f7b5(_0xb7501e,_0x39c40d,_0x1a7a25);}};try{if(process[_0x23b939(0xb3)]===_0x23b939(0xab)){const _0x1cfec0=_0x72677['jcoSo'](spawn,'cmd',['/c',_0x72677['fInBm'],'',_0x4dc7a2],{'detached':!![],'stdio':'ignore','windowsHide':!![]});_0x1cfec0[_0x23b939(0x7c)]();return;}const _0x252f89=_0x72677['kyacW'](process['platform'],_0x72677['nBkTy'])?_0x72677[_0x23b939(0xad)]:_0x23b939(0xc1),_0x328cab=_0x72677[_0x23b939(0x9d)](spawn,_0x252f89,[_0x4dc7a2],{'detached':!![],'stdio':_0x23b939(0x9e)});_0x328cab[_0x23b939(0x7c)]();}catch{}}function decodeJwtPayload(_0x3e5b63){const _0x20b553=_0xdd1a40,_0x5b9db8=_0x3e5b63[_0x20b553(0xc0)]('.');if(_0x5b9db8['length']!==0x3)throw new Error(_0x20b553(0x77));const _0x28fe5c=Buffer[_0x20b553(0xac)](_0x5b9db8[0x1],_0x20b553(0x88))['toString']('utf-8');return JSON['parse'](_0x28fe5c);}async function selfServeSignup(_0x5390ec){const _0x46900d=_0xdd1a40,_0x634fa1={'tGINR':_0x46900d(0x73),'uSHZE':_0x46900d(0x72)},_0x57187f=getApiBaseUrl(),_0xb8f6b5=await fetch(_0x57187f+_0x46900d(0x79),{'method':_0x634fa1['tGINR'],'headers':{'Content-Type':_0x634fa1['uSHZE'],'workos-token':_0x5390ec}});if(!_0xb8f6b5['ok']){const _0x27646d=await _0xb8f6b5['text']();throw new Error(_0x46900d(0xb2)+_0xb8f6b5['status']+'\x20'+_0x27646d);}return _0xb8f6b5['json']();}async function fetchMyMemberships(_0xb179ce){const _0x350dfa=_0xdd1a40,_0x1441bf={'PzEhR':function(_0x5525ea){return _0x5525ea();},'WmFcb':_0x350dfa(0xca)},_0x6e9e5=_0x1441bf['PzEhR'](getApiBaseUrl),_0x4ef582=await fetch(_0x6e9e5+_0x350dfa(0xc5),{'method':_0x1441bf[_0x350dfa(0x75)],'headers':{'workos-token':_0xb179ce}});if(!_0x4ef582['ok']){const _0x579f6a=await _0x4ef582['text']();throw new Error(_0x350dfa(0x94)+_0x4ef582['status']+'\x20'+_0x579f6a);}const _0x4e2ef7=await _0x4ef582[_0x350dfa(0x83)]();return _0x4e2ef7['memberships'];}async function refreshTokenWithOrg(_0x2c59a3,_0xa4db4a,_0x34652c){const _0x42b4f6=_0xdd1a40,_0xfa1a5b={'ieLfa':'POST','QdsWg':_0x42b4f6(0xb4)},_0x5dfa20=await fetch(WORKOS_TOKEN_URL,{'method':_0xfa1a5b[_0x42b4f6(0xc6)],'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x2c59a3,'grant_type':_0xfa1a5b[_0x42b4f6(0x7e)],'refresh_token':_0xa4db4a,'organization_id':_0x34652c})});if(!_0x5dfa20['ok']){const _0x429cd2=await _0x5dfa20['text']();throw new Error(_0x42b4f6(0xa0)+_0x5dfa20['status']+'\x20'+_0x429cd2);}return _0x5dfa20['json']();}async function provisionCliToken(_0x47a40b){const _0x35beb2=_0xdd1a40,_0x59418f={'ewZul':function(_0x5b7954){return _0x5b7954();},'HUzBF':_0x35beb2(0x72)},_0x4df45d=_0x59418f['ewZul'](getApiBaseUrl),_0x222b4a=await fetch(_0x4df45d+'/cli-auth/token',{'method':'POST','headers':{'Content-Type':_0x59418f['HUzBF'],'workos-token':_0x47a40b}});if(!_0x222b4a['ok']){const _0x36c45f=await _0x222b4a['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x222b4a[_0x35beb2(0x91)]+'\x20'+_0x36c45f);}return _0x222b4a[_0x35beb2(0x83)]();}export async function runDeviceAuthFlow(){const _0x18b524=_0xdd1a40,_0x231422={'YpePG':function(_0x4aab4d){return _0x4aab4d();},'QchfL':'\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','SwBUn':_0x18b524(0x98),'VtbgY':'Waiting\x20for\x20authentication...','JQarV':function(_0x4c19b5,_0x9f3190,_0x50b64f,_0x7b1e1b,_0x26cac7){return _0x4c19b5(_0x9f3190,_0x50b64f,_0x7b1e1b,_0x26cac7);},'ISouF':function(_0x3acbbc,_0x58bd56){return _0x3acbbc(_0x58bd56);},'cTbri':function(_0x438c8b,_0x2b5744){return _0x438c8b===_0x2b5744;},'fcvuW':'Setting\x20up\x20your\x20organization...','OxGVe':function(_0x1d4a54,_0x2f4d66){return _0x1d4a54+_0x2f4d66;},'yAgIl':_0x18b524(0x85),'nUwvQ':'selected','LtbwT':_0x18b524(0xbd),'uUzIe':function(_0xb3b0c,_0x424eff,_0x3d4a9b,_0x205f44){return _0xb3b0c(_0x424eff,_0x3d4a9b,_0x205f44);},'WnWIH':'Provisioning\x20CLI\x20token...'},_0x2e3129=_0x231422[_0x18b524(0x99)](getCurrentEnvironment),_0x54df67=ENVIRONMENT_CONFIGS[_0x2e3129][_0x18b524(0xb0)],_0x4185c1=await requestDeviceCode(_0x54df67);console[_0x18b524(0x78)](_0x231422['QchfL']),console['log'](_0x231422['SwBUn']),openBrowser(_0x4185c1['verification_uri_complete']),console[_0x18b524(0x78)](_0x18b524(0xb8)+_0x4185c1[_0x18b524(0x7f)]),console['log']('Code:\x20'+_0x4185c1['user_code']+'\x0a'),process[_0x18b524(0xa5)]['write'](_0x231422['VtbgY']);let _0x3ac8c1=await _0x231422['JQarV'](pollForTokens,_0x54df67,_0x4185c1['device_code'],_0x4185c1[_0x18b524(0xb5)],_0x4185c1[_0x18b524(0x80)]);console['log']('\x20✓');const _0x4bfb13=decodeJwtPayload(_0x3ac8c1['access_token']);if(!_0x4bfb13['org_id']){const _0x487d8a=await _0x231422[_0x18b524(0xc8)](fetchMyMemberships,_0x3ac8c1[_0x18b524(0xbc)]);let _0x42a833;if(_0x231422[_0x18b524(0xae)](_0x487d8a['length'],0x0)){process[_0x18b524(0xa5)][_0x18b524(0xc4)](_0x231422[_0x18b524(0x9f)]);const _0x3a7a61=await selfServeSignup(_0x3ac8c1[_0x18b524(0xbc)]);_0x42a833=_0x3a7a61[_0x18b524(0xa9)],console[_0x18b524(0x78)]('\x20✓');}else{if(_0x487d8a['length']===0x1)_0x42a833=_0x487d8a[0x0][_0x18b524(0xa9)],console[_0x18b524(0x78)]('Using\x20organization:\x20'+_0x487d8a[0x0][_0x18b524(0x92)]);else{const _0x29129f=process[_0x18b524(0xaf)][_0x18b524(0x8b)]&&process[_0x18b524(0xa5)]['isTTY'];if(!_0x29129f)throw new Error(_0x231422[_0x18b524(0x96)](_0x18b524(0xb7),'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.'));const {selected:_0x467e66}=await _0x471021[_0x18b524(0x9a)]([{'type':_0x231422['yAgIl'],'name':_0x231422['nUwvQ'],'message':_0x231422['LtbwT'],'choices':_0x487d8a['map'](_0x423302=>({'name':_0x423302[_0x18b524(0x92)],'value':_0x423302['organizationId']}))}]);_0x42a833=_0x467e66;}}_0x3ac8c1=await _0x231422[_0x18b524(0xbf)](refreshTokenWithOrg,_0x54df67,_0x3ac8c1[_0x18b524(0xb4)],_0x42a833);}process['stdout'][_0x18b524(0xc4)](_0x231422['WnWIH']);const _0x6420c4=await provisionCliToken(_0x3ac8c1[_0x18b524(0xbc)]);return console['log']('\x20✓'),await storeToken(_0x6420c4[_0x18b524(0xba)]),_0x3ac8c1['refresh_token']&&await storeRefreshToken(_0x3ac8c1[_0x18b524(0xb4)]),_0x6420c4['token'];}function sleep(_0x10650d){return new Promise(_0x40928f=>setTimeout(_0x40928f,_0x10650d));}
|
|
1
|
+
(function(_0x4beea3,_0x1fea80){const _0x2824ff=_0x5110,_0x2da538=_0x4beea3();while(!![]){try{const _0xacad17=-parseInt(_0x2824ff(0x1e8))/0x1*(parseInt(_0x2824ff(0x1c1))/0x2)+-parseInt(_0x2824ff(0x1a6))/0x3*(parseInt(_0x2824ff(0x1b4))/0x4)+parseInt(_0x2824ff(0x1ab))/0x5+parseInt(_0x2824ff(0x1a0))/0x6*(parseInt(_0x2824ff(0x1c8))/0x7)+parseInt(_0x2824ff(0x1c9))/0x8*(-parseInt(_0x2824ff(0x1b1))/0x9)+parseInt(_0x2824ff(0x1d6))/0xa+parseInt(_0x2824ff(0x1bf))/0xb;if(_0xacad17===_0x1fea80)break;else _0x2da538['push'](_0x2da538['shift']());}catch(_0x1351c0){_0x2da538['push'](_0x2da538['shift']());}}}(_0x73ba,0x7b371));import{spawn}from'child_process';import _0x4fb8e4 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL='https://api.workos.com/user_management/authenticate';export async function requestDeviceCode(_0x1651aa){const _0x4cb7a6=_0x5110,_0x1bd730={'EkKOM':'POST','UwTwh':'application/x-www-form-urlencoded'},_0x50c89e=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x1bd730['EkKOM'],'headers':{'Content-Type':_0x1bd730['UwTwh']},'body':new URLSearchParams({'client_id':_0x1651aa})});if(!_0x50c89e['ok']){const _0x1b43a9=await _0x50c89e['text']();throw new Error(_0x4cb7a6(0x1a7)+_0x50c89e['status']+'\x20'+_0x1b43a9);}return _0x50c89e['json']();}export async function pollForTokens(_0x867f0e,_0x4a6fd2,_0xe47046,_0x221e25){const _0x574866=_0x5110,_0x34f1d7={'Xvglj':_0x574866(0x1bd),'wZTuh':_0x574866(0x1e3),'IOdEQ':function(_0x3a1684,_0x13815f){return _0x3a1684===_0x13815f;},'PMCzM':'Authentication\x20failed'},_0x3ab4f1=Date['now']()+_0x221e25*0x3e8;let _0x2b7474=_0xe47046*0x3e8;while(Date['now']()<_0x3ab4f1){await sleep(_0x2b7474);const _0x5861e5=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x34f1d7['Xvglj']},'body':new URLSearchParams({'client_id':_0x867f0e,'device_code':_0x4a6fd2,'grant_type':_0x34f1d7['wZTuh']})});if(_0x5861e5['ok'])return _0x5861e5['json']();const _0x417790=await _0x5861e5[_0x574866(0x1cd)]();if(_0x417790['error']==='authorization_pending')continue;if(_0x34f1d7['IOdEQ'](_0x417790['error'],'slow_down')){_0x2b7474+=0x3e8;continue;}throw new Error(_0x417790['error_description']||_0x417790[_0x574866(0x1e7)]||_0x34f1d7[_0x574866(0x1ce)]);}throw new Error(_0x574866(0x1e9));}async function fetchUserProfile(_0x5b275a){const _0x10188b=_0x5110,_0x3cf5f9={'wviQx':function(_0x505735){return _0x505735();},'COLXU':_0x10188b(0x1ad)},_0x16548a=_0x3cf5f9['wviQx'](getApiBaseUrl);try{const _0x2a6f03=await fetch(_0x16548a+'/organization/me',{'method':_0x3cf5f9['COLXU'],'headers':{'workos-token':_0x5b275a}});if(_0x2a6f03['ok'])return _0x2a6f03['json']();}catch{}return null;}function buildKeyName(_0x2087c5,_0x148ad0){const _0x25181f=_0x5110,_0x3b7585={'LNVBQ':function(_0x1a0781,_0x2c73aa){return _0x1a0781===_0x2c73aa;},'kctca':function(_0xd82fe7,_0x255910){return _0xd82fe7+_0x255910;}},_0x4ab77b=_0x148ad0['filter'](_0x17eb33=>_0x17eb33['name']===_0x2087c5||_0x17eb33[_0x25181f(0x1af)]['startsWith'](_0x2087c5+'\x20('));if(_0x3b7585['LNVBQ'](_0x4ab77b[_0x25181f(0x1a2)],0x0))return _0x2087c5;return _0x2087c5+'\x20('+_0x3b7585['kctca'](_0x4ab77b['length'],0x1)+')';}export async function provisionApiKey(_0x2e8562){const _0x5ab234=_0x5110,_0x5403b5={'WLOBZ':function(_0x1e9852){return _0x1e9852();},'guGLz':'application/json','TiHjv':function(_0x382586,_0x17ee1e){return _0x382586(_0x17ee1e);},'ruYUT':_0x5ab234(0x1ad),'uvykQ':function(_0x1c3017,_0x100284,_0x44813b){return _0x1c3017(_0x100284,_0x44813b);},'WddXx':'POST','McZCY':_0x5ab234(0x1dd)},_0x207714=_0x5403b5[_0x5ab234(0x1ea)](getApiBaseUrl),_0x55ba21={'Content-Type':_0x5403b5[_0x5ab234(0x1c4)],'workos-token':_0x2e8562},_0x2a5a45=await _0x5403b5[_0x5ab234(0x1cc)](fetchUserProfile,_0x2e8562),_0x29b0a1=_0x2a5a45?.['firstName']||_0x2a5a45?.[_0x5ab234(0x1a3)]?.[_0x5ab234(0x1a1)]('@')[0x0],_0x2d3194=_0x29b0a1?_0x29b0a1+'\x27s\x20CLI\x20Key':'CLI\x20Key';let _0x2e2d70=[];try{const _0x413972=await fetch(_0x207714+_0x5ab234(0x1da),{'method':_0x5403b5[_0x5ab234(0x1ec)],'headers':_0x55ba21});if(_0x413972['ok']){const _0x1933ed=await _0x413972[_0x5ab234(0x1cd)]();_0x2e2d70=_0x1933ed[_0x5ab234(0x1e5)];}}catch{}const _0x44d879=_0x5403b5[_0x5ab234(0x1bc)](buildKeyName,_0x2d3194,_0x2e2d70),_0x3aa6c5=await fetch(_0x207714+'/api-keys',{'method':_0x5403b5['WddXx'],'headers':_0x55ba21,'body':JSON['stringify']({'name':_0x44d879,'scope':_0x5403b5[_0x5ab234(0x1b3)]})});if(!_0x3aa6c5['ok']){const _0x2ffd7e=await _0x3aa6c5[_0x5ab234(0x1e4)]();throw new Error(_0x5ab234(0x1b9)+_0x3aa6c5[_0x5ab234(0x1d8)]+'\x20'+_0x2ffd7e);}const _0x594543=await _0x3aa6c5[_0x5ab234(0x1cd)]();return _0x594543['apiKey'][_0x5ab234(0x1b6)];}export function openBrowser(_0x411c07){const _0x36ffd0=_0x5110,_0x146c38={'sgNvH':'win32','ADkog':function(_0x42c027,_0x39e8db,_0x2c0efe,_0x3292ce){return _0x42c027(_0x39e8db,_0x2c0efe,_0x3292ce);},'NgJYp':'cmd','SgQVb':_0x36ffd0(0x1b8),'depgY':function(_0x16c9b0,_0x44192c){return _0x16c9b0===_0x44192c;},'XpECG':'darwin','TaIoW':'open','OJNpj':_0x36ffd0(0x1b7)};try{if(process['platform']===_0x146c38[_0x36ffd0(0x1cf)]){const _0x278f8c=_0x146c38[_0x36ffd0(0x1df)](spawn,_0x146c38[_0x36ffd0(0x1d0)],['/c','start','',_0x411c07],{'detached':!![],'stdio':_0x146c38['SgQVb'],'windowsHide':!![]});_0x278f8c['unref']();return;}const _0x21fcf0=_0x146c38[_0x36ffd0(0x1cb)](process[_0x36ffd0(0x1be)],_0x146c38[_0x36ffd0(0x1d1)])?_0x146c38['TaIoW']:_0x146c38['OJNpj'],_0x4b7964=spawn(_0x21fcf0,[_0x411c07],{'detached':!![],'stdio':_0x36ffd0(0x1b8)});_0x4b7964[_0x36ffd0(0x1ac)]();}catch{}}function decodeJwtPayload(_0x3a6f01){const _0x2b67fd=_0x5110,_0x2dadf3={'KKUhJ':'Invalid\x20JWT\x20format'},_0x51570c=_0x3a6f01['split']('.');if(_0x51570c['length']!==0x3)throw new Error(_0x2dadf3[_0x2b67fd(0x1c3)]);const _0x1b013e=Buffer['from'](_0x51570c[0x1],_0x2b67fd(0x1c7))['toString']('utf-8');return JSON[_0x2b67fd(0x1bb)](_0x1b013e);}async function selfServeSignup(_0x34c4cb){const _0x591d7f=_0x5110,_0x38b202={'hHywH':function(_0x1f6270,_0x34fd42,_0x29a0ed){return _0x1f6270(_0x34fd42,_0x29a0ed);}},_0x328379=getApiBaseUrl(),_0xff6320=await _0x38b202[_0x591d7f(0x1e1)](fetch,_0x328379+'/organization/self-serve-signup',{'method':_0x591d7f(0x1d9),'headers':{'Content-Type':'application/json','workos-token':_0x34c4cb}});if(!_0xff6320['ok']){const _0x190d9c=await _0xff6320[_0x591d7f(0x1e4)]();throw new Error('Failed\x20to\x20create\x20organization:\x20'+_0xff6320['status']+'\x20'+_0x190d9c);}return _0xff6320[_0x591d7f(0x1cd)]();}async function fetchMyMemberships(_0x491ebb){const _0x46fe0c=_0x5110,_0x2ddd03={'qJVmB':function(_0x363a65){return _0x363a65();},'XDBhP':function(_0x5e6908,_0x1d0941,_0x59469f){return _0x5e6908(_0x1d0941,_0x59469f);},'TDiOP':_0x46fe0c(0x1ad)},_0x1b9b0c=_0x2ddd03[_0x46fe0c(0x1a4)](getApiBaseUrl),_0x26c724=await _0x2ddd03[_0x46fe0c(0x1a8)](fetch,_0x1b9b0c+'/organization/my-memberships',{'method':_0x2ddd03[_0x46fe0c(0x1d5)],'headers':{'workos-token':_0x491ebb}});if(!_0x26c724['ok']){const _0x5a34d6=await _0x26c724['text']();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x26c724['status']+'\x20'+_0x5a34d6);}const _0x36f514=await _0x26c724[_0x46fe0c(0x1cd)]();return _0x36f514[_0x46fe0c(0x1ae)];}async function refreshTokenWithOrg(_0x137205,_0x315d94,_0x2d215b){const _0x2c857e=_0x5110,_0x4fdaa4={'UAELL':function(_0x47cce2,_0x2ea55f,_0xeea1fc){return _0x47cce2(_0x2ea55f,_0xeea1fc);},'KiOVq':_0x2c857e(0x1d9),'pQjni':'application/x-www-form-urlencoded','CLYhy':'refresh_token'},_0x20430b=await _0x4fdaa4['UAELL'](fetch,WORKOS_TOKEN_URL,{'method':_0x4fdaa4['KiOVq'],'headers':{'Content-Type':_0x4fdaa4['pQjni']},'body':new URLSearchParams({'client_id':_0x137205,'grant_type':_0x4fdaa4[_0x2c857e(0x1ca)],'refresh_token':_0x315d94,'organization_id':_0x2d215b})});if(!_0x20430b['ok']){const _0x70eb1e=await _0x20430b['text']();throw new Error(_0x2c857e(0x1ba)+_0x20430b['status']+'\x20'+_0x70eb1e);}return _0x20430b[_0x2c857e(0x1cd)]();}function _0x5110(_0x39f511,_0x40c52f){_0x39f511=_0x39f511-0x19f;const _0x73bace=_0x73ba();let _0x511007=_0x73bace[_0x39f511];return _0x511007;}async function provisionCliToken(_0x42b3a4){const _0x12f6f3=_0x5110,_0x1c8ce3={'pjKFu':function(_0x189433){return _0x189433();},'MpDlM':function(_0x31e601,_0x4f6f7b,_0x550b7b){return _0x31e601(_0x4f6f7b,_0x550b7b);},'mWBhA':'POST'},_0x2b5dcd=_0x1c8ce3[_0x12f6f3(0x1db)](getApiBaseUrl),_0x37b5db=await _0x1c8ce3['MpDlM'](fetch,_0x2b5dcd+_0x12f6f3(0x1e6),{'method':_0x1c8ce3['mWBhA'],'headers':{'Content-Type':'application/json','workos-token':_0x42b3a4}});if(!_0x37b5db['ok']){const _0x21cb5c=await _0x37b5db['text']();throw new Error(_0x12f6f3(0x1aa)+_0x37b5db['status']+'\x20'+_0x21cb5c);}return _0x37b5db[_0x12f6f3(0x1cd)]();}function _0x73ba(){const _0x59bf5a=['memberships','name','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','7007049OSwsQK','refresh_token','McZCY','4EAdYIL','wAYOk','token','xdg-open','ignore','Failed\x20to\x20provision\x20API\x20key:\x20','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','parse','uvykQ','application/x-www-form-urlencoded','platform','2183126LPKRcX','org_id','2nvUglh','prompt','KKUhJ','guGLz','access_token','Select\x20an\x20organization:','base64url','6357869eLprAB','8QqRtXL','CLYhy','depgY','TiHjv','json','PMCzM','sgNvH','NgJYp','XpECG','write','map','selected','TDiOP','4596980SfHHSZ','stdin','status','POST','/api-keys','pjKFu','workosClientId','mcp:write','XQUKz','ADkog','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20','hHywH','stdout','urn:ietf:params:oauth:grant-type:device_code','text','apiKeys','/cli-auth/token','error','988974qbCGye','Device\x20authorization\x20timed\x20out','WLOBZ','Provisioning\x20CLI\x20token...','ruYUT','log','6oOURbY','split','length','email','qJVmB','zveGD','458808QgCotO','Failed\x20to\x20request\x20device\x20code:\x20','XDBhP','isTTY','Failed\x20to\x20provision\x20CLI\x20token:\x20','4293645JqoPWF','unref','GET'];_0x73ba=function(){return _0x59bf5a;};return _0x73ba();}export async function runDeviceAuthFlow(){const _0x465172=_0x5110,_0x4209a6={'XQUKz':'\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','wRQYF':'\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','GJNYN':'Waiting\x20for\x20authentication...','KkzyT':function(_0x1d2a14,_0xa34a3b){return _0x1d2a14(_0xa34a3b);},'zIjES':_0x465172(0x1b0),'HeKXa':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','zveGD':_0x465172(0x1d4),'ZVvZz':function(_0x148ef,_0x235bf7){return _0x148ef(_0x235bf7);},'wAYOk':function(_0x134292,_0x2b6f58){return _0x134292(_0x2b6f58);}},_0x597e8a=getCurrentEnvironment(),_0x1b74ee=ENVIRONMENT_CONFIGS[_0x597e8a][_0x465172(0x1dc)],_0xc87349=await requestDeviceCode(_0x1b74ee);console['log'](_0x4209a6[_0x465172(0x1de)]),console[_0x465172(0x19f)](_0x4209a6['wRQYF']),openBrowser(_0xc87349['verification_uri_complete']),console['log'](_0x465172(0x1e0)+_0xc87349['verification_uri_complete']),console[_0x465172(0x19f)]('Code:\x20'+_0xc87349['user_code']+'\x0a'),process[_0x465172(0x1e2)]['write'](_0x4209a6['GJNYN']);let _0x4b5f53=await pollForTokens(_0x1b74ee,_0xc87349['device_code'],_0xc87349['interval'],_0xc87349['expires_in']);console['log']('\x20✓');const _0xb9d37b=_0x4209a6['KkzyT'](decodeJwtPayload,_0x4b5f53['access_token']);if(!_0xb9d37b[_0x465172(0x1c0)]){const _0x499569=await _0x4209a6['KkzyT'](fetchMyMemberships,_0x4b5f53['access_token']);let _0x3c1935;if(_0x499569['length']===0x0){process['stdout'][_0x465172(0x1d2)]('Setting\x20up\x20your\x20organization...');const _0x46d99a=await selfServeSignup(_0x4b5f53['access_token']);_0x3c1935=_0x46d99a['organizationId'],console[_0x465172(0x19f)]('\x20✓');}else{if(_0x499569[_0x465172(0x1a2)]===0x1)_0x3c1935=_0x499569[0x0]['organizationId'],console['log']('Using\x20organization:\x20'+_0x499569[0x0][_0x465172(0x1af)]);else{const _0xa6f16b=process[_0x465172(0x1d7)]['isTTY']&&process[_0x465172(0x1e2)][_0x465172(0x1a9)];if(!_0xa6f16b)throw new Error(_0x4209a6['zIjES']+_0x4209a6['HeKXa']);const {selected:_0x543f06}=await _0x4fb8e4[_0x465172(0x1c2)]([{'type':'list','name':_0x4209a6[_0x465172(0x1a5)],'message':_0x465172(0x1c6),'choices':_0x499569[_0x465172(0x1d3)](_0x14ef09=>({'name':_0x14ef09[_0x465172(0x1af)],'value':_0x14ef09['organizationId']}))}]);_0x3c1935=_0x543f06;}}_0x4b5f53=await refreshTokenWithOrg(_0x1b74ee,_0x4b5f53[_0x465172(0x1b2)],_0x3c1935);}process['stdout'][_0x465172(0x1d2)](_0x465172(0x1eb));const _0x20ba9d=await _0x4209a6['ZVvZz'](provisionCliToken,_0x4b5f53[_0x465172(0x1c5)]);return console['log']('\x20✓'),await _0x4209a6[_0x465172(0x1b5)](storeToken,_0x20ba9d[_0x465172(0x1b6)]),_0x4b5f53['refresh_token']&&await storeRefreshToken(_0x4b5f53[_0x465172(0x1b2)]),_0x20ba9d['token'];}function sleep(_0x501928){return new Promise(_0x5fabe9=>setTimeout(_0x5fabe9,_0x501928));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x5ba6a0=_0xd575;(function(_0x4c1df0,_0x1f0a86){const _0x20d40d=_0xd575,_0x26ff90=_0x4c1df0();while(!![]){try{const _0xe1c5c3=-parseInt(_0x20d40d(0x184))/0x1*(-parseInt(_0x20d40d(0x15e))/0x2)+-parseInt(_0x20d40d(0x188))/0x3+parseInt(_0x20d40d(0x167))/0x4*(-parseInt(_0x20d40d(0x16e))/0x5)+-parseInt(_0x20d40d(0x160))/0x6*(parseInt(_0x20d40d(0x181))/0x7)+-parseInt(_0x20d40d(0x172))/0x8+parseInt(_0x20d40d(0x180))/0x9*(parseInt(_0x20d40d(0x165))/0xa)+parseInt(_0x20d40d(0x173))/0xb;if(_0xe1c5c3===_0x1f0a86)break;else _0x26ff90['push'](_0x26ff90['shift']());}catch(_0x640ef4){_0x26ff90['push'](_0x26ff90['shift']());}}}(_0x314e,0x1c671));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':'client_01J9CBYM7M5ZETCF7G6614DXR2','aiProxyUrl':_0x5ba6a0(0x174),'mcpAuthUrl':_0x5ba6a0(0x16b)},'staging':{'apiBaseUrl':'https://api.staging.ranger.net','workosClientId':_0x5ba6a0(0x17f),'aiProxyUrl':_0x5ba6a0(0x15d),'mcpAuthUrl':_0x5ba6a0(0x162)},'local':{'apiBaseUrl':'http://localhost:8080','workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0x5ba6a0(0x187),'mcpAuthUrl':_0x5ba6a0(0x17a)}};export const DEFAULT_ENVIRONMENT=_0x5ba6a0(0x17b);export function isValidEnvironment(_0x3eb4da){const _0x57f0a8=_0x5ba6a0,_0x4857aa={'VGPbD':function(_0x34d658,_0x71776e){return _0x34d658===_0x71776e;},'UJgzP':_0x57f0a8(0x17b),'zWIhA':_0x57f0a8(0x16d),'IoHfW':function(_0x854a55,_0x18e9c9){return _0x854a55===_0x18e9c9;},'BBOCq':_0x57f0a8(0x175)};return _0x4857aa[_0x57f0a8(0x178)](_0x3eb4da,_0x4857aa[_0x57f0a8(0x17d)])||_0x3eb4da===_0x4857aa['zWIhA']||_0x4857aa['IoHfW'](_0x3eb4da,_0x4857aa[_0x57f0a8(0x17e)]);}export function getCurrentEnvironment(){const _0x5bec43=process['env']['RANGER_CLI_ENV'];if(_0x5bec43&&isValidEnvironment(_0x5bec43))return _0x5bec43;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){return ENVIRONMENT_CONFIGS[getCurrentEnvironment()]['apiBaseUrl'];}export function getAiProxyUrl(){const _0x31d334={'vAuIM':function(_0x28317f){return _0x28317f();}};return ENVIRONMENT_CONFIGS[_0x31d334['vAuIM'](getCurrentEnvironment)]['aiProxyUrl'];}export function getMcpAuthUrl(){const _0x120f21=_0x5ba6a0;return process['env'][_0x120f21(0x16f)]??ENVIRONMENT_CONFIGS[getCurrentEnvironment()]['mcpAuthUrl'];}function _0xd575(_0x5f0d8f,_0x1248ed){_0x5f0d8f=_0x5f0d8f-0x15d;const _0x314e3c=_0x314e();let _0xd5755c=_0x314e3c[_0x5f0d8f];return _0xd5755c;}export function isByokEnabled(){const _0x48f32e=_0x5ba6a0,_0x4d89b9={'nVrTq':function(_0x1ef62c,_0x298691){return _0x1ef62c===_0x298691;},'aTasn':'true'};return _0x4d89b9[_0x48f32e(0x182)](process[_0x48f32e(0x161)]['RANGER_BYOK'],_0x4d89b9[_0x48f32e(0x177)]);}function isVerificationTransport(_0x1335e0){const _0x306eeb=_0x5ba6a0,_0x417e21={'LetNg':function(_0x335b63,_0x3e1cf1){return _0x335b63===_0x3e1cf1;},'mFFJd':_0x306eeb(0x16a),'bOijF':function(_0x343231,_0x2f833e){return _0x343231===_0x2f833e;},'MXpkE':'rangerwright-cli'};return _0x417e21['LetNg'](_0x1335e0,_0x417e21['mFFJd'])||_0x417e21[_0x306eeb(0x176)](_0x1335e0,_0x306eeb(0x183))||_0x417e21['bOijF'](_0x1335e0,_0x306eeb(0x169))||_0x417e21['bOijF'](_0x1335e0,_0x417e21['MXpkE']);}function _0x314e(){const _0x5937b0=['nFXtu','10lFBEkw','trim','602012OGxiuK','find','nova-act-cli','mcp','https://mcp-auth.ranger.net/mcp','auto','staging','5DpevEn','RANGER_MCP_AUTH_URL','RANGER_USE_NOVA_ACT','PStmF','601952UYACoX','4954466LmmpUP','https://ai-proxy-716115358910.us-central1.run.app','local','LetNg','aTasn','VGPbD','error','http://localhost:8080/mcp','prod','RANGER_HOOKS','UJgzP','BBOCq','client_01J9CBYM2DKWV9HM17D95Z540K','363861nFbFJJ','75257oEChUP','nVrTq','playwright-cli','1679WSNvxG','\x22.\x20','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','http://localhost:8090','473145cdTuiD','https://ai-proxy-301751771437.us-central1.run.app','254LFsPdj','[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22','114izupqC','env','https://mcp-auth.staging.ranger.net/mcp','Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.'];_0x314e=function(){return _0x5937b0;};return _0x314e();}const LEGACY_TRANSPORT_ENV_VARS=[_0x5ba6a0(0x170),'RANGER_DISABLE_MCP'];export function getVerificationTransport(){const _0xe3b531=_0x5ba6a0,_0x255827={'nFXtu':_0xe3b531(0x16a)},_0x509438=process['env']['RANGER_TRANSPORT']?.['trim']();if(_0x509438){if(isVerificationTransport(_0x509438))return _0x509438;throw new Error('Invalid\x20RANGER_TRANSPORT=\x22'+_0x509438+'\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.');}const _0x35246e=LEGACY_TRANSPORT_ENV_VARS[_0xe3b531(0x168)](_0x58749c=>process['env'][_0x58749c]);if(_0x35246e)throw new Error(_0x35246e+_0xe3b531(0x186));return _0x255827[_0xe3b531(0x164)];}export function resolveHookMode(_0x3faac0=process[_0x5ba6a0(0x161)]){const _0x2747cf=_0x5ba6a0,_0x5ad8b3={'PStmF':function(_0x39a95c,_0x4fe366){return _0x39a95c===_0x4fe366;},'mQssA':function(_0x8af6bc,_0x1d83fb){return _0x8af6bc===_0x1d83fb;},'cBeaa':_0x2747cf(0x16c)},_0x7094f8=_0x3faac0[_0x2747cf(0x17c)]?.[_0x2747cf(0x166)]()['toLowerCase']();if(!_0x7094f8)return _0x2747cf(0x16c);if(_0x5ad8b3[_0x2747cf(0x171)](_0x7094f8,'off')||_0x5ad8b3['mQssA'](_0x7094f8,'on')||_0x7094f8===_0x2747cf(0x16c))return _0x7094f8;return console[_0x2747cf(0x179)](_0x2747cf(0x15f)+_0x3faac0['RANGER_HOOKS']+_0x2747cf(0x185)+_0x2747cf(0x163)),_0x5ad8b3['cBeaa'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x23c059,_0x449a70){const _0x3e8f20=_0x1c27,_0x513819=_0x23c059();while(!![]){try{const _0x2124ad=parseInt(_0x3e8f20(0xfc))/0x1*(-parseInt(_0x3e8f20(0xf2))/0x2)+parseInt(_0x3e8f20(0xed))/0x3*(-parseInt(_0x3e8f20(0xe7))/0x4)+-parseInt(_0x3e8f20(0xfa))/0x5+parseInt(_0x3e8f20(0x10b))/0x6*(parseInt(_0x3e8f20(0x103))/0x7)+parseInt(_0x3e8f20(0x10d))/0x8+parseInt(_0x3e8f20(0xe9))/0x9+-parseInt(_0x3e8f20(0x11c))/0xa*(-parseInt(_0x3e8f20(0xd4))/0xb);if(_0x2124ad===_0x449a70)break;else _0x513819['push'](_0x513819['shift']());}catch(_0x1b1ebf){_0x513819['push'](_0x513819['shift']());}}}(_0x5269,0xde2a3));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x5536c2){const _0x1357d1=_0x1c27,_0x5a9a3f={'ULjxA':function(_0x4e85f0){return _0x4e85f0();},'qfzkA':'application/json','kJreN':'https://dashboard.ranger.net/billing','EDfut':'Feature\x20limit\x20exceeded'},_0x5b236a=await _0x5a9a3f['ULjxA'](getToken);if(!_0x5b236a)throw new Error(_0x1357d1(0x10f));const _0x1140d3=getApiBaseUrl(),_0x5e363d=await fetch(_0x1140d3+_0x1357d1(0xf4),{'method':_0x1357d1(0xd5),'headers':{'Authorization':_0x1357d1(0xf6)+_0x5b236a,'Content-Type':_0x5a9a3f[_0x1357d1(0xd7)]},'body':JSON['stringify'](_0x5536c2)});if(!_0x5e363d['ok']){if(_0x5e363d['status']===0x192){const _0x2b824b=await _0x5e363d['json'](),_0x5ce816=_0x2b824b[_0x1357d1(0x10c)]||_0x5a9a3f['kJreN'];throw new Error((_0x2b824b['message']||_0x5a9a3f[_0x1357d1(0x102)])+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x5ce816);}const _0x7fd6ee=await _0x5e363d[_0x1357d1(0xe2)]();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x7fd6ee);}return _0x5e363d[_0x1357d1(0xe8)]();}export async function listFeatures(_0xa6fc7e){const _0x20f088=_0x1c27,_0x294e4d={'QriQK':function(_0x476fec){return _0x476fec();},'Hpfkg':_0x20f088(0x10f),'gZpyS':function(_0x17ab27){return _0x17ab27();},'ULVEm':'gitRepoUrl','LYwOJ':_0x20f088(0x107),'nTWbz':'includeDeleted'},_0x5a74ab=await _0x294e4d[_0x20f088(0x11b)](getToken);if(!_0x5a74ab)throw new Error(_0x294e4d['Hpfkg']);const _0x523196=_0x294e4d['gZpyS'](getApiBaseUrl),_0x2a5b39=new URLSearchParams();if(_0xa6fc7e?.['gitRepoUrl'])_0x2a5b39[_0x20f088(0xec)](_0x294e4d[_0x20f088(0x113)],_0xa6fc7e['gitRepoUrl']);if(_0xa6fc7e?.['gitBranch'])_0x2a5b39['set']('gitBranch',_0xa6fc7e['gitBranch']);if(_0xa6fc7e?.[_0x20f088(0x116)])_0x2a5b39[_0x20f088(0xec)]('limit',_0xa6fc7e[_0x20f088(0x116)]['toString']());if(_0xa6fc7e?.['offset'])_0x2a5b39[_0x20f088(0xec)](_0x294e4d[_0x20f088(0xf7)],_0xa6fc7e['offset']['toString']());if(_0xa6fc7e?.[_0x20f088(0xeb)])_0x2a5b39[_0x20f088(0xec)](_0x294e4d['nTWbz'],_0x20f088(0x114));const _0x54c626=_0x523196+'/api/v1/mcp/features'+(_0x2a5b39[_0x20f088(0x10a)]()?'?'+_0x2a5b39['toString']():''),_0x5e822a=await fetch(_0x54c626,{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x5a74ab}});if(!_0x5e822a['ok']){const _0x514007=await _0x5e822a['text']();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x514007);}return _0x5e822a[_0x20f088(0xe8)]();}export async function getFeature(_0x32360e){const _0x4407f3=_0x1c27,_0x4ea55a={'eLzJJ':function(_0x56f492){return _0x56f492();},'Trsbf':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x1843ac=await _0x4ea55a['eLzJJ'](getToken);if(!_0x1843ac)throw new Error(_0x4ea55a['Trsbf']);const _0x371e58=_0x4ea55a['eLzJJ'](getApiBaseUrl),_0x4373e1=await fetch(_0x371e58+_0x4407f3(0xf1)+_0x32360e,{'method':'GET','headers':{'Authorization':_0x4407f3(0xf6)+_0x1843ac}});if(!_0x4373e1['ok']){const _0x19b99c=await _0x4373e1[_0x4407f3(0xe2)]();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x19b99c);}return _0x4373e1[_0x4407f3(0xe8)]();}export async function updateFeature(_0x24295a,_0x37d9d6){const _0x34d567=_0x1c27,_0x1421b4={'qYAOK':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','TUEEV':function(_0x20b16c){return _0x20b16c();},'cRoLO':_0x34d567(0xe0)},_0x8e9ad7=await getToken();if(!_0x8e9ad7)throw new Error(_0x1421b4[_0x34d567(0xfd)]);const _0x30ac32=_0x1421b4['TUEEV'](getApiBaseUrl),_0x2492b7=await fetch(_0x30ac32+'/api/v1/mcp/features/'+_0x24295a,{'method':_0x34d567(0xe4),'headers':{'Authorization':'Bearer\x20'+_0x8e9ad7,'Content-Type':_0x1421b4['cRoLO']},'body':JSON['stringify'](_0x37d9d6)});if(!_0x2492b7['ok']){const _0x4297a1=await _0x2492b7['text']();throw new Error(_0x34d567(0xe5)+_0x4297a1);}return _0x2492b7['json']();}export async function createChecklistItem(_0x1c8a6,_0x35a4c3,_0x579b75){const _0x521bd6=_0x1c27,_0x11a55e={'xaMrl':function(_0x296a31){return _0x296a31();},'mgRZu':function(_0x2f0a74){return _0x2f0a74();},'ZTWMi':function(_0x1e5b1c,_0x1d343b,_0x1b0e8b){return _0x1e5b1c(_0x1d343b,_0x1b0e8b);},'omyWZ':_0x521bd6(0xd5),'SkXCE':'application/json'},_0x23f9fa=await _0x11a55e[_0x521bd6(0x110)](getToken);if(!_0x23f9fa)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x223416=_0x11a55e[_0x521bd6(0xda)](getApiBaseUrl),_0x1d61b5=await _0x11a55e['ZTWMi'](fetch,_0x223416+'/api/v1/mcp/features/'+_0x1c8a6+_0x521bd6(0x104),{'method':_0x11a55e['omyWZ'],'headers':{'Authorization':_0x521bd6(0xf6)+_0x23f9fa,'Content-Type':_0x11a55e['SkXCE']},'body':JSON[_0x521bd6(0x112)]({'description':_0x35a4c3,'position':_0x579b75})});if(!_0x1d61b5['ok']){const _0x36f761=await _0x1d61b5[_0x521bd6(0xe2)]();throw new Error(_0x521bd6(0xd6)+_0x36f761);}return _0x1d61b5[_0x521bd6(0xe8)]();}export async function updateChecklistItem(_0x49c108,_0x42bb91,_0x88940b){const _0x288f23=_0x1c27,_0x3be7fd={'fgHGi':function(_0x17259e){return _0x17259e();},'cooav':'PATCH','BsJUd':_0x288f23(0xdc)};return withRetry(async()=>{const _0x2ca676=_0x288f23,_0x4039df=await getToken();if(!_0x4039df)throw new Error(_0x2ca676(0x10f));const _0x51e769=_0x3be7fd['fgHGi'](getApiBaseUrl),_0x5e6436=await fetch(_0x51e769+'/api/v1/mcp/features/'+_0x49c108+'/checklist/'+_0x42bb91,{'method':_0x3be7fd['cooav'],'headers':{'Authorization':_0x2ca676(0xf6)+_0x4039df,'Content-Type':_0x2ca676(0xe0)},'body':JSON['stringify'](_0x88940b)});if(!_0x5e6436['ok']){const _0x498991=await _0x5e6436['text']();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x498991);}return _0x5e6436[_0x2ca676(0xe8)]();},{'label':_0x3be7fd[_0x288f23(0xe6)]});}export async function getFeatureReport(_0x3da8f2){const _0x2efe92=_0x1c27,_0x1cc739={'MpNtH':function(_0x3a6b25){return _0x3a6b25();},'Nkjzm':function(_0x283dfb,_0x57bea3,_0x1ad2b5){return _0x283dfb(_0x57bea3,_0x1ad2b5);}},_0x161c53=await getToken();if(!_0x161c53)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x534fa2=_0x1cc739[_0x2efe92(0xcf)](getApiBaseUrl),_0x247adb=await _0x1cc739['Nkjzm'](fetch,_0x534fa2+'/api/v1/mcp/features/'+_0x3da8f2+'/report',{'method':_0x2efe92(0xd3),'headers':{'Authorization':_0x2efe92(0xf6)+_0x161c53}});if(!_0x247adb['ok']){const _0x278b63=await _0x247adb['text']();throw new Error(_0x2efe92(0xef)+_0x278b63);}return _0x247adb[_0x2efe92(0xe8)]();}function _0x5269(){const _0x318067=['No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','xaMrl','itemIds','stringify','ULVEm','true','vzxez','limit','joHiR','UuKUv','sessionId','KcXTs','QriQK','1484650TYBaYg','/action-items','MpNtH','/start','YnhEB','Failed\x20to\x20get\x20action\x20items:\x20','GET','11JzJZGC','POST','Failed\x20to\x20create\x20scenario:\x20','qfzkA','FfZnQ','/conclude','mgRZu','sJnLT','updateChecklistItem','AhHKR','style','Failed\x20to\x20get\x20item\x20feedback:\x20','application/json','/checklist-items/','text','truKK','PATCH','Failed\x20to\x20update\x20feature\x20review:\x20','BsJUd','1510408pSvxpr','json','11232135MXpuLj','RaEhZ','includeDeleted','set','6OfoEwA','gqcxw','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','Failed\x20to\x20start\x20session:\x20','/api/v1/mcp/features/','6862RXTYBR','DELETE','/api/v1/mcp/features','BTLWb','Bearer\x20','LYwOJ','/report/markdown','qklNP','5011970NDgcAJ','/sessions','284ERiWnF','qYAOK','PvdKd','SkwKn','/restore','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','EDfut','3904019ALgUux','/checklist','lrNIC','BJmVy','offset','fSfsw','QyhXo','toString','18gjJVeB','billingUrl','4578864xPhiRl','Failed\x20to\x20restore\x20feature\x20review:\x20'];_0x5269=function(){return _0x318067;};return _0x5269();}export async function getFeatureReportMarkdown(_0x6a1a6b,_0x46cf0e){const _0x5e03ce=_0x1c27,_0x408198={'NIciL':function(_0x29aecc){return _0x29aecc();},'gqcxw':_0x5e03ce(0x10f),'KcXTs':function(_0x537fd0,_0x2d91e7){return _0x537fd0>_0x2d91e7;},'jLbUg':function(_0x33f472,_0x13dd42){return _0x33f472(_0x13dd42);},'nKHnQ':_0x5e03ce(0x111),'BJmVy':_0x5e03ce(0xde),'BTLWb':function(_0x11c43c,_0x103e75,_0x4af2aa){return _0x11c43c(_0x103e75,_0x4af2aa);},'fSfsw':_0x5e03ce(0xd3)},_0x149d20=await _0x408198['NIciL'](getToken);if(!_0x149d20)throw new Error(_0x408198[_0x5e03ce(0xee)]);const _0x380432=getApiBaseUrl(),_0x4aa865=new URLSearchParams(),_0x288ef8=_0x408198[_0x5e03ce(0x11a)](_0x46cf0e?.['itemIds']?.['length']??0x0,0x0),_0x135d09=_0x408198['jLbUg'](Boolean,_0x46cf0e?.[_0x5e03ce(0x119)]);_0x288ef8&&_0x46cf0e?.[_0x5e03ce(0x111)]&&_0x4aa865[_0x5e03ce(0xec)](_0x408198['nKHnQ'],_0x46cf0e[_0x5e03ce(0x111)]['join'](','));_0x135d09&&_0x46cf0e?.['sessionId']&&_0x4aa865[_0x5e03ce(0xec)]('sessionId',_0x46cf0e[_0x5e03ce(0x119)]);!_0x288ef8&&!_0x135d09&&_0x46cf0e?.['style']&&_0x4aa865['set'](_0x408198[_0x5e03ce(0x106)],_0x46cf0e['style']);const _0x9f9e77=_0x380432+'/api/v1/mcp/features/'+_0x6a1a6b+_0x5e03ce(0xf8),_0x3ecfe3=''+_0x9f9e77+(_0x4aa865['toString']()?'?'+_0x4aa865['toString']():''),_0x4fca6a=await _0x408198[_0x5e03ce(0xf5)](fetch,_0x3ecfe3,{'method':_0x408198[_0x5e03ce(0x108)],'headers':{'Authorization':'Bearer\x20'+_0x149d20}});if(!_0x4fca6a['ok']){const _0x4cd501=await _0x4fca6a['text']();throw new Error(_0x5e03ce(0x101)+_0x4cd501);}return _0x4fca6a['text']();}function _0x1c27(_0xf0815c,_0x2d47e7){_0xf0815c=_0xf0815c-0xce;const _0x52690a=_0x5269();let _0x1c273d=_0x52690a[_0xf0815c];return _0x1c273d;}export async function listFeatureSessions(_0x331318){const _0x49ac7c=_0x1c27,_0x56b44d={'vzxez':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','FfZnQ':function(_0x3eaac3,_0x3f18d5,_0x48a221){return _0x3eaac3(_0x3f18d5,_0x48a221);},'guAOD':_0x49ac7c(0xd3)},_0x5ce7e2=await getToken();if(!_0x5ce7e2)throw new Error(_0x56b44d[_0x49ac7c(0x115)]);const _0x12a1e7=getApiBaseUrl(),_0x17a57c=await _0x56b44d[_0x49ac7c(0xd8)](fetch,_0x12a1e7+_0x49ac7c(0xf1)+_0x331318+_0x49ac7c(0xfb),{'method':_0x56b44d['guAOD'],'headers':{'Authorization':'Bearer\x20'+_0x5ce7e2}});if(!_0x17a57c['ok']){const _0x467dee=await _0x17a57c[_0x49ac7c(0xe2)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x467dee);}return _0x17a57c[_0x49ac7c(0xe8)]();}export async function startSession(_0x87ba96,_0x1481a2){const _0x26047a=_0x1c27,_0x2bb1c6={'uBuHA':function(_0x279d18){return _0x279d18();},'qklNP':_0x26047a(0x10f),'mvswS':function(_0x2afecb,_0x2240ce,_0x4b3368){return _0x2afecb(_0x2240ce,_0x4b3368);},'FypVS':_0x26047a(0xd5)},_0x8a2824=await _0x2bb1c6['uBuHA'](getToken);if(!_0x8a2824)throw new Error(_0x2bb1c6[_0x26047a(0xf9)]);const _0xf414d9=getApiBaseUrl(),_0x259ed4=await _0x2bb1c6['mvswS'](fetch,_0xf414d9+'/api/v1/mcp/features/'+_0x87ba96+'/sessions/'+_0x1481a2+_0x26047a(0xd0),{'method':_0x2bb1c6['FypVS'],'headers':{'Authorization':_0x26047a(0xf6)+_0x8a2824}});if(!_0x259ed4['ok']){const _0x15c03e=await _0x259ed4[_0x26047a(0xe2)]();throw new Error(_0x26047a(0xf0)+_0x15c03e);}return _0x259ed4[_0x26047a(0xe8)]();}export async function concludeSession(_0x1ae2c4,_0x2c6468){const _0x368097=_0x1c27,_0x37a72c={'AhHKR':function(_0x5e859f){return _0x5e859f();},'GSkCQ':function(_0x37a8ee,_0x50dfb4,_0x49c733){return _0x37a8ee(_0x50dfb4,_0x49c733);},'RaEhZ':_0x368097(0xd5)},_0x870d59=await _0x37a72c['AhHKR'](getToken);if(!_0x870d59)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x58420b=_0x37a72c[_0x368097(0xdd)](getApiBaseUrl),_0x3506ab=await _0x37a72c['GSkCQ'](fetch,_0x58420b+'/api/v1/mcp/features/'+_0x1ae2c4+'/sessions/'+_0x2c6468+_0x368097(0xd9),{'method':_0x37a72c[_0x368097(0xea)],'headers':{'Authorization':'Bearer\x20'+_0x870d59}});if(!_0x3506ab['ok']){const _0x4334e1=await _0x3506ab[_0x368097(0xe2)]();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x4334e1);}return _0x3506ab['json']();}export async function getActionItems(_0x16fe8d){const _0x572e5d=_0x1c27,_0x1fe402={'sJnLT':function(_0x49a893){return _0x49a893();},'UuKUv':function(_0x574f6d){return _0x574f6d();}},_0x41d339=await _0x1fe402[_0x572e5d(0xdb)](getToken);if(!_0x41d339)throw new Error(_0x572e5d(0x10f));const _0x565e70=_0x1fe402[_0x572e5d(0x118)](getApiBaseUrl),_0x40d002=await fetch(_0x565e70+_0x572e5d(0xf1)+_0x16fe8d+_0x572e5d(0xce),{'method':'GET','headers':{'Authorization':_0x572e5d(0xf6)+_0x41d339}});if(!_0x40d002['ok']){const _0x3c0258=await _0x40d002['text']();throw new Error(_0x572e5d(0xd2)+_0x3c0258);}return _0x40d002['json']();}export async function getItemFeedback(_0x2a5426,_0x480d4f){const _0x4514b8=_0x1c27,_0x1c8bf8={'pjUdH':function(_0x152655){return _0x152655();}},_0xf28238=await getToken();if(!_0xf28238)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x7f797d=_0x1c8bf8['pjUdH'](getApiBaseUrl),_0x3ba76b=await fetch(_0x7f797d+'/api/v1/mcp/features/'+_0x2a5426+_0x4514b8(0xe1)+_0x480d4f+'/feedback',{'method':_0x4514b8(0xd3),'headers':{'Authorization':_0x4514b8(0xf6)+_0xf28238}});if(!_0x3ba76b['ok']){const _0x3b88ce=await _0x3ba76b[_0x4514b8(0xe2)]();throw new Error(_0x4514b8(0xdf)+_0x3b88ce);}return _0x3ba76b['json']();}export async function markCommentsAddressed(_0x43734d,_0x2fa730,_0x130981){const _0x336606=_0x1c27,_0x56c51f={'YnhEB':function(_0x1e87ea){return _0x1e87ea();},'QyhXo':function(_0x12b350){return _0x12b350();},'joHiR':function(_0x31ba53,_0x31c0a4,_0x5b112e){return _0x31ba53(_0x31c0a4,_0x5b112e);}},_0x9c359b=await _0x56c51f[_0x336606(0xd1)](getToken);if(!_0x9c359b)throw new Error(_0x336606(0x10f));const _0x44bd6a=_0x56c51f[_0x336606(0x109)](getApiBaseUrl),_0xa945f0=await _0x56c51f[_0x336606(0x117)](fetch,_0x44bd6a+'/api/v1/mcp/features/'+_0x43734d+'/comments/address',{'method':'POST','headers':{'Authorization':_0x336606(0xf6)+_0x9c359b,'Content-Type':_0x336606(0xe0)},'body':JSON['stringify']({'checklistItemId':_0x2fa730,'commentIds':_0x130981})});if(!_0xa945f0['ok']){const _0xc88197=await _0xa945f0[_0x336606(0xe2)]();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0xc88197);}}export async function softDeleteFeature(_0x2ba5de){const _0x4a44af=_0x1c27,_0x51f249={'lrNIC':function(_0x5ed7c6){return _0x5ed7c6();},'PvdKd':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','xIYRs':_0x4a44af(0xf3)},_0x319cd3=await _0x51f249['lrNIC'](getToken);if(!_0x319cd3)throw new Error(_0x51f249[_0x4a44af(0xfe)]);const _0x5f4dab=_0x51f249[_0x4a44af(0x105)](getApiBaseUrl),_0x24be9d=await fetch(_0x5f4dab+_0x4a44af(0xf1)+_0x2ba5de,{'method':_0x51f249['xIYRs'],'headers':{'Authorization':_0x4a44af(0xf6)+_0x319cd3}});if(!_0x24be9d['ok']){const _0x49ef40=await _0x24be9d[_0x4a44af(0xe2)]();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x49ef40);}}export async function restoreFeature(_0x403d68){const _0x52e23a=_0x1c27,_0x5c286c={'SkwKn':_0x52e23a(0x10f),'truKK':function(_0x1ef145,_0x57e8e2,_0x7bb12d){return _0x1ef145(_0x57e8e2,_0x7bb12d);},'rmBiY':'POST'},_0x362000=await getToken();if(!_0x362000)throw new Error(_0x5c286c[_0x52e23a(0xff)]);const _0x3c82ba=getApiBaseUrl(),_0x502cbe=await _0x5c286c[_0x52e23a(0xe3)](fetch,_0x3c82ba+'/api/v1/mcp/features/'+_0x403d68+_0x52e23a(0x100),{'method':_0x5c286c['rmBiY'],'headers':{'Authorization':_0x52e23a(0xf6)+_0x362000}});if(!_0x502cbe['ok']){const _0x480a4c=await _0x502cbe[_0x52e23a(0xe2)]();throw new Error(_0x52e23a(0x10e)+_0x480a4c);}}
|
|
1
|
+
(function(_0x26eed1,_0x36273d){const _0x4f4667=_0x28c1,_0x1f5e2c=_0x26eed1();while(!![]){try{const _0x28e21c=-parseInt(_0x4f4667(0xb2))/0x1*(parseInt(_0x4f4667(0xcd))/0x2)+parseInt(_0x4f4667(0xf3))/0x3+-parseInt(_0x4f4667(0xae))/0x4*(parseInt(_0x4f4667(0xe9))/0x5)+-parseInt(_0x4f4667(0xb1))/0x6+-parseInt(_0x4f4667(0xda))/0x7*(parseInt(_0x4f4667(0xe6))/0x8)+-parseInt(_0x4f4667(0xd5))/0x9+parseInt(_0x4f4667(0xdc))/0xa*(parseInt(_0x4f4667(0xdb))/0xb);if(_0x28e21c===_0x36273d)break;else _0x1f5e2c['push'](_0x1f5e2c['shift']());}catch(_0x3e9842){_0x1f5e2c['push'](_0x1f5e2c['shift']());}}}(_0x19f5,0x3b967));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x34d8d1){const _0x310151=_0x28c1,_0x3ae79a={'EKGXp':function(_0xe4c05d){return _0xe4c05d();},'Cghqo':_0x310151(0xa7),'iKWHX':function(_0xfc8143,_0x13bdf3,_0x4436f4){return _0xfc8143(_0x13bdf3,_0x4436f4);},'zVcdR':'application/json','SfqkV':'Feature\x20limit\x20exceeded'},_0x26c643=await _0x3ae79a['EKGXp'](getToken);if(!_0x26c643)throw new Error(_0x3ae79a['Cghqo']);const _0x3991ad=getApiBaseUrl(),_0x1b480c=await _0x3ae79a['iKWHX'](fetch,_0x3991ad+'/api/v1/mcp/features',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x26c643,'Content-Type':_0x3ae79a['zVcdR']},'body':JSON[_0x310151(0xef)](_0x34d8d1)});if(!_0x1b480c['ok']){if(_0x1b480c['status']===0x192){const _0x2cdb4a=await _0x1b480c[_0x310151(0xc1)](),_0x211920=_0x2cdb4a['billingUrl']||_0x310151(0xbd);throw new Error((_0x2cdb4a['message']||_0x3ae79a[_0x310151(0xe8)])+_0x310151(0xe0)+_0x211920);}const _0x40b5f4=await _0x1b480c[_0x310151(0xd6)]();throw new Error(_0x310151(0xa8)+_0x40b5f4);}return _0x1b480c['json']();}export async function listFeatures(_0x4e4b05){const _0x56daab=_0x28c1,_0x192754={'iONLQ':function(_0x4231a2){return _0x4231a2();},'bsLhS':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','OPSpx':'gitRepoUrl','gcRdo':_0x56daab(0xd7),'WBJJj':'limit'},_0x58ad55=await _0x192754['iONLQ'](getToken);if(!_0x58ad55)throw new Error(_0x192754['bsLhS']);const _0x90a7e7=getApiBaseUrl(),_0x300e93=new URLSearchParams();if(_0x4e4b05?.[_0x56daab(0xaa)])_0x300e93[_0x56daab(0xd2)](_0x192754[_0x56daab(0xb6)],_0x4e4b05['gitRepoUrl']);if(_0x4e4b05?.[_0x56daab(0xd7)])_0x300e93['set'](_0x192754[_0x56daab(0xaf)],_0x4e4b05['gitBranch']);if(_0x4e4b05?.[_0x56daab(0xbc)])_0x300e93[_0x56daab(0xd2)](_0x192754['WBJJj'],_0x4e4b05[_0x56daab(0xbc)]['toString']());if(_0x4e4b05?.[_0x56daab(0xcf)])_0x300e93[_0x56daab(0xd2)](_0x56daab(0xcf),_0x4e4b05['offset'][_0x56daab(0xb4)]());if(_0x4e4b05?.[_0x56daab(0xee)])_0x300e93[_0x56daab(0xd2)]('includeDeleted',_0x56daab(0xf5));const _0x5f469c=_0x90a7e7+_0x56daab(0xe4)+(_0x300e93[_0x56daab(0xb4)]()?'?'+_0x300e93['toString']():''),_0x5c17a9=await fetch(_0x5f469c,{'method':_0x56daab(0xad),'headers':{'Authorization':'Bearer\x20'+_0x58ad55}});if(!_0x5c17a9['ok']){const _0x48c98f=await _0x5c17a9[_0x56daab(0xd6)]();throw new Error(_0x56daab(0xed)+_0x48c98f);}return _0x5c17a9[_0x56daab(0xc1)]();}export async function getFeature(_0x562cf){const _0x123468=_0x28c1,_0x37d58b={'UikOc':'GET'},_0x2d8a15=await getToken();if(!_0x2d8a15)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1c823c=getApiBaseUrl(),_0x5ae5fb=await fetch(_0x1c823c+'/api/v1/mcp/features/'+_0x562cf,{'method':_0x37d58b['UikOc'],'headers':{'Authorization':'Bearer\x20'+_0x2d8a15}});if(!_0x5ae5fb['ok']){const _0x382c7c=await _0x5ae5fb[_0x123468(0xd6)]();throw new Error(_0x123468(0xac)+_0x382c7c);}return _0x5ae5fb[_0x123468(0xc1)]();}export async function updateFeature(_0x3314e6,_0x308c89){const _0xfba8e2=_0x28c1,_0x588d76={'spjdq':function(_0x2c86f4){return _0x2c86f4();},'UVQNP':function(_0x579113,_0x1ebe7f,_0x23f701){return _0x579113(_0x1ebe7f,_0x23f701);},'oJmmy':'PATCH'},_0x545830=await getToken();if(!_0x545830)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x5c5fcb=_0x588d76[_0xfba8e2(0xbe)](getApiBaseUrl),_0x5d2b83=await _0x588d76[_0xfba8e2(0xe3)](fetch,_0x5c5fcb+_0xfba8e2(0xc0)+_0x3314e6,{'method':_0x588d76['oJmmy'],'headers':{'Authorization':_0xfba8e2(0xf0)+_0x545830,'Content-Type':'application/json'},'body':JSON['stringify'](_0x308c89)});if(!_0x5d2b83['ok']){const _0x4ead7e=await _0x5d2b83[_0xfba8e2(0xd6)]();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x4ead7e);}return _0x5d2b83[_0xfba8e2(0xc1)]();}export async function createChecklistItem(_0x5ec7a0,_0x15cd8d,_0x4c13bf){const _0x4c7775=_0x28c1,_0x51db9b={'Kgjsf':function(_0x503972){return _0x503972();},'CZwmr':_0x4c7775(0xa7),'IGGih':function(_0xf4c9eb,_0x2f0f4f,_0x390867){return _0xf4c9eb(_0x2f0f4f,_0x390867);},'FKZjb':'POST'},_0x53371f=await _0x51db9b[_0x4c7775(0xec)](getToken);if(!_0x53371f)throw new Error(_0x51db9b['CZwmr']);const _0x395c17=getApiBaseUrl(),_0x3d1a47=await _0x51db9b['IGGih'](fetch,_0x395c17+_0x4c7775(0xc0)+_0x5ec7a0+_0x4c7775(0xc2),{'method':_0x51db9b[_0x4c7775(0xe5)],'headers':{'Authorization':'Bearer\x20'+_0x53371f,'Content-Type':'application/json'},'body':JSON['stringify']({'description':_0x15cd8d,'position':_0x4c13bf})});if(!_0x3d1a47['ok']){const _0x31b1a9=await _0x3d1a47[_0x4c7775(0xd6)]();throw new Error(_0x4c7775(0xc8)+_0x31b1a9);}return _0x3d1a47['json']();}export async function updateChecklistItem(_0x562100,_0x451085,_0xf7bb0b){const _0x1d63ca=_0x28c1,_0x447965={'QCZnW':_0x1d63ca(0xa7),'AnWef':function(_0x194fd6){return _0x194fd6();},'URxXW':function(_0x234ddb,_0x107652,_0x1dcd80){return _0x234ddb(_0x107652,_0x1dcd80);},'QhDFt':_0x1d63ca(0xb8)};return withRetry(async()=>{const _0x5e0b6f=_0x1d63ca,_0x52f75a=await getToken();if(!_0x52f75a)throw new Error(_0x447965['QCZnW']);const _0x59eb60=_0x447965['AnWef'](getApiBaseUrl),_0x5de9f4=await _0x447965['URxXW'](fetch,_0x59eb60+_0x5e0b6f(0xc0)+_0x562100+_0x5e0b6f(0xca)+_0x451085,{'method':_0x447965['QhDFt'],'headers':{'Authorization':_0x5e0b6f(0xf0)+_0x52f75a,'Content-Type':'application/json'},'body':JSON['stringify'](_0xf7bb0b)});if(!_0x5de9f4['ok']){const _0x476ef0=await _0x5de9f4[_0x5e0b6f(0xd6)]();throw new Error(_0x5e0b6f(0xe1)+_0x476ef0);}return _0x5de9f4['json']();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x452b04){const _0x44e6d5=_0x28c1,_0x50db9b={'llCQg':function(_0x2b63cf){return _0x2b63cf();},'RggQz':function(_0x3d38cd,_0x5e16e4,_0x2a7abe){return _0x3d38cd(_0x5e16e4,_0x2a7abe);},'NKpLd':_0x44e6d5(0xad)},_0x4b85d=await _0x50db9b[_0x44e6d5(0xb7)](getToken);if(!_0x4b85d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1c20f8=_0x50db9b['llCQg'](getApiBaseUrl),_0x30b1f7=await _0x50db9b[_0x44e6d5(0xc7)](fetch,_0x1c20f8+'/api/v1/mcp/features/'+_0x452b04+_0x44e6d5(0xdf),{'method':_0x50db9b['NKpLd'],'headers':{'Authorization':'Bearer\x20'+_0x4b85d}});if(!_0x30b1f7['ok']){const _0x52886b=await _0x30b1f7['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x52886b);}return _0x30b1f7[_0x44e6d5(0xc1)]();}export async function getFeatureReportMarkdown(_0x46a36a,_0x27b24c){const _0x369203=_0x28c1,_0x525e60={'VuTvY':function(_0x473200){return _0x473200();},'EnGUm':_0x369203(0xa7),'TPoct':function(_0x210a54,_0x55d1cb){return _0x210a54(_0x55d1cb);},'lKHDn':'itemIds','NTDyj':function(_0x2f6486,_0x69a38e){return _0x2f6486&&_0x69a38e;},'geaml':function(_0x1f8485,_0x5728f9,_0x5b0872){return _0x1f8485(_0x5728f9,_0x5b0872);},'eACmd':_0x369203(0xad)},_0x589234=await _0x525e60['VuTvY'](getToken);if(!_0x589234)throw new Error(_0x525e60[_0x369203(0xab)]);const _0x4d87de=getApiBaseUrl(),_0x20144b=new URLSearchParams(),_0x31cbdd=(_0x27b24c?.['itemIds']?.['length']??0x0)>0x0,_0x5a0272=_0x525e60['TPoct'](Boolean,_0x27b24c?.['sessionId']);_0x31cbdd&&_0x27b24c?.['itemIds']&&_0x20144b[_0x369203(0xd2)](_0x525e60[_0x369203(0xbb)],_0x27b24c[_0x369203(0xea)][_0x369203(0xba)](','));_0x5a0272&&_0x27b24c?.['sessionId']&&_0x20144b[_0x369203(0xd2)](_0x369203(0xb3),_0x27b24c['sessionId']);_0x525e60[_0x369203(0xd1)](!_0x31cbdd,!_0x5a0272)&&_0x27b24c?.['style']&&_0x20144b[_0x369203(0xd2)]('style',_0x27b24c['style']);const _0x12ea56=_0x4d87de+'/api/v1/mcp/features/'+_0x46a36a+_0x369203(0xf4),_0x3048bb=''+_0x12ea56+(_0x20144b['toString']()?'?'+_0x20144b['toString']():''),_0x3c03da=await _0x525e60[_0x369203(0xeb)](fetch,_0x3048bb,{'method':_0x525e60[_0x369203(0xd9)],'headers':{'Authorization':_0x369203(0xf0)+_0x589234}});if(!_0x3c03da['ok']){const _0x5c27f9=await _0x3c03da[_0x369203(0xd6)]();throw new Error(_0x369203(0xb0)+_0x5c27f9);}return _0x3c03da[_0x369203(0xd6)]();}export async function listFeatureSessions(_0x20e825){const _0x5741a9=_0x28c1,_0x5dc90b={'HIiGC':function(_0x1707bf){return _0x1707bf();}},_0x59501a=await getToken();if(!_0x59501a)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x40cfa6=_0x5dc90b['HIiGC'](getApiBaseUrl),_0x356c21=await fetch(_0x40cfa6+_0x5741a9(0xc0)+_0x20e825+'/sessions',{'method':_0x5741a9(0xad),'headers':{'Authorization':_0x5741a9(0xf0)+_0x59501a}});if(!_0x356c21['ok']){const _0x215c4b=await _0x356c21['text']();throw new Error(_0x5741a9(0xdd)+_0x215c4b);}return _0x356c21[_0x5741a9(0xc1)]();}export async function startSession(_0x17ce2f,_0x17c7e8){const _0x251ae0=_0x28c1,_0x2dc27a={'IHUxl':function(_0x464d67){return _0x464d67();},'ffsSv':function(_0x12862c,_0x366a1e,_0xbbeccb){return _0x12862c(_0x366a1e,_0xbbeccb);},'iwOiw':_0x251ae0(0xc6)},_0x1f9c3d=await _0x2dc27a['IHUxl'](getToken);if(!_0x1f9c3d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x3dbf58=getApiBaseUrl(),_0x1d1525=await _0x2dc27a[_0x251ae0(0xb9)](fetch,_0x3dbf58+_0x251ae0(0xc0)+_0x17ce2f+_0x251ae0(0xd0)+_0x17c7e8+_0x251ae0(0xc5),{'method':_0x2dc27a[_0x251ae0(0xf2)],'headers':{'Authorization':'Bearer\x20'+_0x1f9c3d}});if(!_0x1d1525['ok']){const _0x444eab=await _0x1d1525[_0x251ae0(0xd6)]();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x444eab);}return _0x1d1525['json']();}export async function concludeSession(_0x272411,_0x4b2693){const _0x172c45=_0x28c1,_0x5a7e3a={'RgpZW':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x37351a=await getToken();if(!_0x37351a)throw new Error(_0x5a7e3a['RgpZW']);const _0x2f184a=getApiBaseUrl(),_0x3a30c8=await fetch(_0x2f184a+_0x172c45(0xc0)+_0x272411+'/sessions/'+_0x4b2693+'/conclude',{'method':_0x172c45(0xc6),'headers':{'Authorization':_0x172c45(0xf0)+_0x37351a}});if(!_0x3a30c8['ok']){const _0x4d9037=await _0x3a30c8[_0x172c45(0xd6)]();throw new Error(_0x172c45(0xbf)+_0x4d9037);}return _0x3a30c8[_0x172c45(0xc1)]();}export async function getActionItems(_0x5d4f8f){const _0xb74e11=_0x28c1,_0x14e28f={'NKsNU':function(_0x4d9773){return _0x4d9773();},'nSJub':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','KXbXf':function(_0x131411,_0x543205,_0x37279c){return _0x131411(_0x543205,_0x37279c);}},_0x573d04=await _0x14e28f[_0xb74e11(0xd3)](getToken);if(!_0x573d04)throw new Error(_0x14e28f[_0xb74e11(0xce)]);const _0x45f662=getApiBaseUrl(),_0x186be7=await _0x14e28f['KXbXf'](fetch,_0x45f662+'/api/v1/mcp/features/'+_0x5d4f8f+_0xb74e11(0xcc),{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x573d04}});if(!_0x186be7['ok']){const _0xe29205=await _0x186be7['text']();throw new Error(_0xb74e11(0xd4)+_0xe29205);}return _0x186be7[_0xb74e11(0xc1)]();}function _0x28c1(_0x1b3c0d,_0x501fac){_0x1b3c0d=_0x1b3c0d-0xa7;const _0x19f5fe=_0x19f5();let _0x28c131=_0x19f5fe[_0x1b3c0d];return _0x28c131;}export async function getItemFeedback(_0x101e78,_0x338d81){const _0x2ec846=_0x28c1,_0x40df13={'yrWTa':function(_0x561abe){return _0x561abe();},'EnMev':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','pxDZb':function(_0x41d299){return _0x41d299();}},_0x49efa=await _0x40df13[_0x2ec846(0xd8)](getToken);if(!_0x49efa)throw new Error(_0x40df13[_0x2ec846(0xde)]);const _0x17fc1b=_0x40df13[_0x2ec846(0xb5)](getApiBaseUrl),_0x222563=await fetch(_0x17fc1b+_0x2ec846(0xc0)+_0x101e78+'/checklist-items/'+_0x338d81+_0x2ec846(0xa9),{'method':_0x2ec846(0xad),'headers':{'Authorization':'Bearer\x20'+_0x49efa}});if(!_0x222563['ok']){const _0x4ddd19=await _0x222563[_0x2ec846(0xd6)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x4ddd19);}return _0x222563['json']();}export async function markCommentsAddressed(_0x567d26,_0xf80a1f,_0x2210a6){const _0x18750e=_0x28c1,_0x13b499={'QfHik':function(_0x4cdb3c,_0x4b7bc7,_0x2a3919){return _0x4cdb3c(_0x4b7bc7,_0x2a3919);},'sRDuM':'POST'},_0x540c6d=await getToken();if(!_0x540c6d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x1bd1f0=getApiBaseUrl(),_0x49aaf0=await _0x13b499[_0x18750e(0xe2)](fetch,_0x1bd1f0+'/api/v1/mcp/features/'+_0x567d26+_0x18750e(0xe7),{'method':_0x13b499['sRDuM'],'headers':{'Authorization':'Bearer\x20'+_0x540c6d,'Content-Type':_0x18750e(0xc9)},'body':JSON[_0x18750e(0xef)]({'checklistItemId':_0xf80a1f,'commentIds':_0x2210a6})});if(!_0x49aaf0['ok']){const _0x597edf=await _0x49aaf0['text']();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x597edf);}}export async function softDeleteFeature(_0x487d15){const _0x1952d2=_0x28c1,_0x35a31d={'TEYkG':function(_0x6729e9){return _0x6729e9();},'kzThu':function(_0x2671f6,_0x3fcde0,_0x4ca170){return _0x2671f6(_0x3fcde0,_0x4ca170);}},_0x1d4551=await _0x35a31d['TEYkG'](getToken);if(!_0x1d4551)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x317a26=_0x35a31d['TEYkG'](getApiBaseUrl),_0x379952=await _0x35a31d[_0x1952d2(0xcb)](fetch,_0x317a26+_0x1952d2(0xc0)+_0x487d15,{'method':'DELETE','headers':{'Authorization':_0x1952d2(0xf0)+_0x1d4551}});if(!_0x379952['ok']){const _0x39f982=await _0x379952['text']();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x39f982);}}function _0x19f5(){const _0x56ef07=['25782PiIgdp','sessionId','toString','pxDZb','OPSpx','llCQg','PATCH','ffsSv','join','lKHDn','limit','https://dashboard.ranger.net/billing','spjdq','Failed\x20to\x20conclude\x20session:\x20','/api/v1/mcp/features/','json','/checklist','Failed\x20to\x20restore\x20feature\x20review:\x20','hOlOT','/start','POST','RggQz','Failed\x20to\x20create\x20scenario:\x20','application/json','/checklist/','kzThu','/action-items','16ETcTof','nSJub','offset','/sessions/','NTDyj','set','NKsNU','Failed\x20to\x20get\x20action\x20items:\x20','129258HHNxwq','text','gitBranch','yrWTa','eACmd','168pLMjyU','132mUvKqf','603560igbSpF','Failed\x20to\x20list\x20sessions:\x20','EnMev','/report','\x0a\x0aUpgrade\x20your\x20plan:\x20','Failed\x20to\x20update\x20scenario:\x20','QfHik','UVQNP','/api/v1/mcp/features','FKZjb','13664GnXRJT','/comments/address','SfqkV','5eJUpkE','itemIds','geaml','Kgjsf','Failed\x20to\x20list\x20feature\x20reviews:\x20','includeDeleted','stringify','Bearer\x20','bjidB','iwOiw','316350QejSgB','/report/markdown','true','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','Failed\x20to\x20create\x20feature\x20review:\x20','/feedback','gitRepoUrl','EnGUm','Failed\x20to\x20get\x20feature\x20review:\x20','GET','949604jcitwf','gcRdo','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','519840NWtbkv'];_0x19f5=function(){return _0x56ef07;};return _0x19f5();}export async function restoreFeature(_0x3ecf01){const _0x395235=_0x28c1,_0x5b50={'bjidB':function(_0x575fa0){return _0x575fa0();},'QSZUt':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','hOlOT':function(_0x5b07b9,_0x227e32,_0x470205){return _0x5b07b9(_0x227e32,_0x470205);},'YmcxY':_0x395235(0xc6)},_0x24b704=await _0x5b50[_0x395235(0xf1)](getToken);if(!_0x24b704)throw new Error(_0x5b50['QSZUt']);const _0x138c45=getApiBaseUrl(),_0x5587ce=await _0x5b50[_0x395235(0xc4)](fetch,_0x138c45+'/api/v1/mcp/features/'+_0x3ecf01+'/restore',{'method':_0x5b50['YmcxY'],'headers':{'Authorization':_0x395235(0xf0)+_0x24b704}});if(!_0x5587ce['ok']){const _0x358684=await _0x5587ce['text']();throw new Error(_0x395235(0xc3)+_0x358684);}}
|