@ranger-testing/ranger-cli 3.1.3 → 3.1.4-alpha.ffeeafe-46

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.
Files changed (86) hide show
  1. package/build/cli.js +1 -1
  2. package/build/commands/addEnv.js +1 -1
  3. package/build/commands/authEncrypt.js +1 -1
  4. package/build/commands/clean.js +1 -1
  5. package/build/commands/config.js +1 -1
  6. package/build/commands/deleteProfile.js +1 -1
  7. package/build/commands/env.js +1 -1
  8. package/build/commands/feature.js +1 -1
  9. package/build/commands/hook.js +1 -1
  10. package/build/commands/hooks/autoPrompt.js +1 -1
  11. package/build/commands/hooks/disable.js +1 -1
  12. package/build/commands/hooks/enable.js +1 -1
  13. package/build/commands/hooks/exitPlanMode.js +1 -1
  14. package/build/commands/hooks/index.js +1 -1
  15. package/build/commands/hooks/output.js +1 -1
  16. package/build/commands/hooks/planReminder.js +1 -1
  17. package/build/commands/hooks/planStart.js +1 -1
  18. package/build/commands/hooks/postEdit.js +1 -1
  19. package/build/commands/hooks/preCompact.js +1 -1
  20. package/build/commands/hooks/sessionEnd.js +1 -1
  21. package/build/commands/hooks/sessionStart.js +1 -1
  22. package/build/commands/hooks/stopHook.js +1 -1
  23. package/build/commands/index.js +1 -1
  24. package/build/commands/login.js +1 -1
  25. package/build/commands/mcpBootstrap.js +1 -1
  26. package/build/commands/migrateProfile.js +1 -1
  27. package/build/commands/setup/claude.js +1 -1
  28. package/build/commands/setup/opencode.js +1 -1
  29. package/build/commands/setupCi.js +1 -1
  30. package/build/commands/skillup.js +1 -1
  31. package/build/commands/start.js +1 -1
  32. package/build/commands/status.js +1 -1
  33. package/build/commands/update.js +1 -1
  34. package/build/commands/updateEnv.js +1 -1
  35. package/build/commands/useEnv.js +1 -1
  36. package/build/commands/utils/activeProfile.js +1 -1
  37. package/build/commands/utils/agentEnv.js +1 -1
  38. package/build/commands/utils/browserSessionsApi.js +1 -1
  39. package/build/commands/utils/claudeConfig.js +1 -1
  40. package/build/commands/utils/claudeOverrideSettings.js +1 -1
  41. package/build/commands/utils/claudePlugin.js +1 -1
  42. package/build/commands/utils/cloudProfile.js +1 -1
  43. package/build/commands/utils/cloudProfileSession.js +1 -1
  44. package/build/commands/utils/crypto.js +1 -1
  45. package/build/commands/utils/desirePathLog.js +1 -1
  46. package/build/commands/utils/deviceAuth.js +1 -1
  47. package/build/commands/utils/environment.js +1 -1
  48. package/build/commands/utils/featureApi.js +1 -1
  49. package/build/commands/utils/fixWebmDuration.js +1 -1
  50. package/build/commands/utils/gitTracked.js +1 -1
  51. package/build/commands/utils/keychain.js +1 -1
  52. package/build/commands/utils/legacyWarning.js +1 -1
  53. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  54. package/build/commands/utils/matchAuthEnvironment.js +1 -1
  55. package/build/commands/utils/mcpImageBase64.js +1 -1
  56. package/build/commands/utils/model.js +1 -1
  57. package/build/commands/utils/novaActCli.js +1 -1
  58. package/build/commands/utils/opencodeConfig.js +1 -1
  59. package/build/commands/utils/organizationEnvApi.js +1 -1
  60. package/build/commands/utils/playwrightCli.js +1 -1
  61. package/build/commands/utils/profileMessages.js +1 -1
  62. package/build/commands/utils/profileSetupBanner.js +1 -1
  63. package/build/commands/utils/projectsConfig.js +1 -1
  64. package/build/commands/utils/rangerConfig.js +1 -1
  65. package/build/commands/utils/rangerRoot.js +1 -1
  66. package/build/commands/utils/rangerwrightCli.js +1 -1
  67. package/build/commands/utils/resolveProfileContext.js +1 -1
  68. package/build/commands/utils/resolveProfileUrl.js +1 -1
  69. package/build/commands/utils/retry.js +1 -1
  70. package/build/commands/utils/scenarioOriginCheck.js +1 -0
  71. package/build/commands/utils/sessionCache.js +1 -1
  72. package/build/commands/utils/settings.js +1 -1
  73. package/build/commands/utils/skillContent.js +1 -1
  74. package/build/commands/utils/skills.js +1 -1
  75. package/build/commands/utils/stitchWebmFiles.js +1 -1
  76. package/build/commands/utils/telemetry.js +1 -1
  77. package/build/commands/utils/tokenRefresh.js +1 -1
  78. package/build/commands/utils/traceSnapshotMapper.js +1 -1
  79. package/build/commands/utils/tunnelClient.js +1 -1
  80. package/build/commands/utils/userApi.js +1 -1
  81. package/build/commands/utils/version.js +1 -1
  82. package/build/commands/verifyFeature.js +1 -1
  83. package/build/commands/verifyFeatureCli.js +1 -1
  84. package/build/commands/verifyFeatureNovaCli.js +1 -1
  85. package/build/commands/verifyFeatureRangerwrightCli.js +1 -1
  86. package/package.json +1 -1
@@ -1 +1 @@
1
- function _0x533e(){const _0x3383a3=['PUT','\x20failed\x20(','telemetry','JWWOA','environmentKey','lRRHQ','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','CyXGf','goto','cli:manual-login','type','\x20\x20Created\x20cloud\x20profile\x20\x22','orCEy','Ylquz','HeIRx','\x22,\x20refreshing\x20session...','BCLsf','143852BsrPpu','ulGng','then','10QoLuMF','not_configured','headers','dRIZe','fvjmd','length','organizationId','wYNSf','\x22\x20on\x20profile\x20\x22','RANGER_TEST_USERNAME','local_ws_error','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','\x22\x20not\x20found.','\x22.\x0a','RANGER_TEST_PASSWORD','3Vluxrs','zWUtO','loginInstructions','tunnelUrl','trim','browserOptions','802744sPoVvl','/session','environment_key','newContext','env','lMdXa','ewRxw','\x20\x20Login\x20successful.\x20Session\x20cached.','settings','stringify','ShMVX','trackPhaseEnd','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','effectiveBaseUrl','force','llHni','RLKVX','catch','TNHxO','tunnel_login_request','/api/v1/profiles','POST','1460916kabzTr','ucvmn','message','tunnel','tunnel_bridge_event','session_state','toISOString','FyDXW','vMDpa','YrEWe','100008xTeueq','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','statusText','901938ztKVqE','tunnel_error','ZleKs','\x20\x20No\x20live\x20session\x20for\x20\x22','ujYUz','tunnel_bridge','trackPhaseStart','tunnel_login_cleanup','WSjfJ','WhOrn','username','5wlCbVZ','zVheJ','rcxHD','YBzkf','confirm','detail','invalidateOn','invalid-url','pendingLocalConnections','host','BIIpK','sessionCheckPath','persistSessionState','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','fIFTp','PlARe','userAgent','clientIp','/api/v1/profiles/','KrIgX','url','sessionId','log','WZoDG','pFTiy','utf-8','jvNum','origin','name','RTdZD','defaultEnvironmentKey','parse','pIfnt','QhhFe','QjTIB','tunnel_session_id','some','DELETE','test_output','yGswk','pGhpI','btNoU','13737768VkwbuK','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','DComE','rwHqu','\x20\x20forceLogin\x20enabled\x20for\x20\x22','VXsZg','tDZRH','Cloud\x20profile\x20\x22','password','UpjWQ','Bearer\x20','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','350XNGZJM','FSshK','profiles','nHBNB','BSluV','launch','aeBHl','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','kuUtb','tunnel_login_setup','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','dAiUV','\x20\x20Server-side\x20login\x20error:\x20','auth','error','lIKRw','sessionState','\x22\x20failed\x20validation\x20—\x20refreshing...','cookies','GsEax','code','trackPhaseError','elapsedMs','string','mfPji','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','zPzua','nFYUD','405278FtHJmp','UxZHS','json','target_url','toLowerCase','storageStatePath','pwEndpoint','status','):\x20','storageState','2|0|3|1|4'];_0x533e=function(){return _0x3383a3;};return _0x533e();}const _0x29e5ed=_0x404c;(function(_0x508fcc,_0x42263d){const _0x5f7992=_0x404c,_0x4afa16=_0x508fcc();while(!![]){try{const _0x2be089=parseInt(_0x5f7992(0x23f))/0x1+-parseInt(_0x5f7992(0x273))/0x2*(parseInt(_0x5f7992(0x26d))/0x3)+-parseInt(_0x5f7992(0x25b))/0x4+parseInt(_0x5f7992(0x2a1))/0x5*(parseInt(_0x5f7992(0x296))/0x6)+parseInt(_0x5f7992(0x223))/0x7*(-parseInt(_0x5f7992(0x293))/0x8)+-parseInt(_0x5f7992(0x289))/0x9*(parseInt(_0x5f7992(0x25e))/0xa)+parseInt(_0x5f7992(0x217))/0xb;if(_0x2be089===_0x42263d)break;else _0x4afa16['push'](_0x4afa16['shift']());}catch(_0x506af7){_0x4afa16['push'](_0x4afa16['shift']());}}}(_0x533e,0x8d8c4));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x49363e from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,needsTunnel,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x4eac93){const _0x575a41=_0x404c,_0x118eb9={'CyXGf':_0x575a41(0x1f4)};try{return new URL(_0x4eac93)[_0x575a41(0x1f6)];}catch{return _0x118eb9[_0x575a41(0x251)];}}function errorMessageForTelemetry(_0x4c25ad){const _0x2bbfe4=_0x404c;return _0x4c25ad instanceof Error?_0x4c25ad[_0x2bbfe4(0x28b)]:undefined;}function trackBridgeEvent(_0x128892,_0xda541f){const _0x136453=_0x404c,_0x429322={'KmhQa':_0x136453(0x28d),'rcxHD':_0x136453(0x297),'SgguT':_0x136453(0x268),'QhhFe':_0x136453(0x29b)};if(!_0x128892)return;const _0x35a199={'tunnelSessionId':_0xda541f['sessionId'],'tunnelEventType':_0xda541f[_0x136453(0x254)],'connectionId':_0xda541f['connectionId'],'code':_0xda541f[_0x136453(0x237)],'reason':_0xda541f['reason'],'error':_0xda541f['error'],'elapsedMs':_0xda541f[_0x136453(0x239)],'activeLocalConnections':_0xda541f['activeLocalConnections'],'pendingLocalConnections':_0xda541f[_0x136453(0x1f5)]};_0x128892['trackPhaseEnd'](_0x429322['KmhQa'],_0x35a199),(_0xda541f['type']===_0x429322[_0x136453(0x2a3)]||_0xda541f['type']===_0x429322['SgguT'])&&void _0x128892[_0x136453(0x238)](_0x429322[_0x136453(0x20e)],new Error(_0xda541f['error']??_0xda541f['type']),_0x35a199);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0xd5b59c=_0x404c,_0x5c4067={'YBzkf':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x115376=await getToken();if(!_0x115376)throw new Error(_0x5c4067[_0xd5b59c(0x2a4)]);return _0x115376;}async function apiRequest(_0x511c30,_0x271ba9={}){const _0x166059=_0x404c,_0xed4b9a={'BSluV':function(_0x264344){return _0x264344();},'WhOrn':function(_0x77258f,_0x250246){return _0x77258f===_0x250246;},'PlARe':_0x166059(0x23a)},_0x1efe93=await _0xed4b9a[_0x166059(0x227)](requireToken),_0x410f62=getApiBaseUrl(),_0x1e2653=await fetch(''+_0x410f62+_0x511c30,{..._0x271ba9,'headers':{'Authorization':_0x166059(0x221)+_0x1efe93,'Content-Type':'application/json',..._0x271ba9[_0x166059(0x260)]??{}}});if(!_0x1e2653['ok']){let _0x467ae7='',_0x321d6d;try{const _0x546a99=await _0x1e2653['json'](),_0x67450c=(_0xed4b9a[_0x166059(0x29f)](typeof _0x546a99[_0x166059(0x231)],_0x166059(0x23a))?_0x546a99[_0x166059(0x231)]:undefined)??JSON[_0x166059(0x27c)](_0x546a99);_0x467ae7=_0x67450c;_0xed4b9a[_0x166059(0x29f)](typeof _0x546a99['test_output'],_0xed4b9a[_0x166059(0x1fc)])&&_0x546a99[_0x166059(0x213)]&&(_0x467ae7=_0x467ae7+'\x0a'+_0x546a99['test_output']);if(typeof _0x546a99[_0x166059(0x237)]===_0x166059(0x23a))_0x321d6d=_0x546a99['code'];}catch{_0x467ae7=_0x1e2653[_0x166059(0x295)];}throw new ApiError('API\x20request\x20'+_0x511c30+_0x166059(0x24b)+_0x1e2653[_0x166059(0x246)]+_0x166059(0x247)+_0x467ae7,_0x1e2653[_0x166059(0x246)],_0x467ae7,_0x321d6d);}if(_0xed4b9a['WhOrn'](_0x1e2653['status'],0xcc))return undefined;return _0x1e2653[_0x166059(0x241)]();}export class ApiError extends Error{[_0x29e5ed(0x246)];[_0x29e5ed(0x2a6)];['code'];constructor(_0x5d5994,_0x35642f,_0x2391b3,_0x411c86){const _0x1a78ee=_0x29e5ed,_0x1b265f={'ShMVX':_0x1a78ee(0x249),'lIKRw':'ApiError'},_0x4f6a6e=_0x1b265f[_0x1a78ee(0x27d)]['split']('|');let _0x14ee01=0x0;while(!![]){switch(_0x4f6a6e[_0x14ee01++]){case'0':this['status']=_0x35642f;continue;case'1':this[_0x1a78ee(0x237)]=_0x411c86;continue;case'2':super(_0x5d5994);continue;case'3':this['detail']=_0x2391b3;continue;case'4':this[_0x1a78ee(0x209)]=_0x1b265f[_0x1a78ee(0x232)];continue;}break;}}}export async function fetchCloudProfile(_0x3df847){const _0x487fbe=_0x29e5ed,_0x5391a9={'GFtyU':function(_0x13b528,_0x2920b5){return _0x13b528(_0x2920b5);},'WWRpn':function(_0x512a96,_0x41e3b3){return _0x512a96 instanceof _0x41e3b3;},'ulGng':function(_0x4007c1,_0x156fd7){return _0x4007c1===_0x156fd7;}};try{return await _0x5391a9['GFtyU'](apiRequest,'/api/v1/profiles/'+_0x5391a9['GFtyU'](encodeURIComponent,_0x3df847));}catch(_0x134e14){if(_0x5391a9['WWRpn'](_0x134e14,ApiError)&&_0x5391a9[_0x487fbe(0x25c)](_0x134e14[_0x487fbe(0x246)],0x194))return null;throw _0x134e14;}}function _0x404c(_0x367e68,_0x55200f){_0x367e68=_0x367e68-0x1f3;const _0x533ecb=_0x533e();let _0x404cf9=_0x533ecb[_0x367e68];return _0x404cf9;}export async function listCloudProfiles(){const _0x18eb5c=_0x29e5ed,_0x2958ad={'qLEUf':function(_0x157626,_0xf1add){return _0x157626(_0xf1add);},'wYNSf':_0x18eb5c(0x287)},_0x3eef27=await _0x2958ad['qLEUf'](apiRequest,_0x2958ad[_0x18eb5c(0x265)]);return _0x3eef27[_0x18eb5c(0x225)];}export async function deleteCloudProfile(_0x28a118){const _0x1e4d4b=_0x29e5ed,_0x96e11f={'FoHcC':function(_0x4e60cb,_0x489fd3){return _0x4e60cb(_0x489fd3);},'QjTIB':function(_0x4a7954,_0x220afa){return _0x4a7954===_0x220afa;}};try{await apiRequest(_0x1e4d4b(0x1ff)+_0x96e11f['FoHcC'](encodeURIComponent,_0x28a118),{'method':'DELETE'});}catch(_0x42515a){if(_0x42515a instanceof ApiError&&_0x96e11f[_0x1e4d4b(0x20f)](_0x42515a['status'],0x194))throw new Error(_0x1e4d4b(0x21e)+_0x28a118+_0x1e4d4b(0x26a));throw _0x42515a;}}export async function createCloudProfile(_0x2de768,_0x36d4f5,_0x1c492c={}){const _0x1d79ab=_0x29e5ed,_0x5e43ad={'CNVFm':function(_0xe2a905,_0x1fe29e){return _0xe2a905>_0x1fe29e;},'fIFTp':function(_0x4505a0,_0x21aca4,_0x4b36e0){return _0x4505a0(_0x21aca4,_0x4b36e0);},'aVBVk':_0x1d79ab(0x287),'WZoDG':_0x1d79ab(0x288)},_0x3d8a49={'name':_0x2de768};if(_0x36d4f5)_0x3d8a49[_0x1d79ab(0x275)]=_0x36d4f5;_0x1c492c[_0x1d79ab(0x27b)]&&_0x5e43ad['CNVFm'](Object['keys'](_0x1c492c[_0x1d79ab(0x27b)])['length'],0x0)&&(_0x3d8a49[_0x1d79ab(0x27b)]=_0x1c492c['settings']);if(_0x1c492c[_0x1d79ab(0x2a0)])_0x3d8a49[_0x1d79ab(0x2a0)]=_0x1c492c[_0x1d79ab(0x2a0)];if(_0x1c492c[_0x1d79ab(0x21f)])_0x3d8a49['password']=_0x1c492c['password'];return await _0x5e43ad[_0x1d79ab(0x1fb)](apiRequest,_0x5e43ad['aVBVk'],{'method':_0x5e43ad[_0x1d79ab(0x204)],'body':JSON['stringify'](_0x3d8a49)});}export async function uploadCloudProfileSession(_0x21a620,_0x2df4e4){const _0x7cc21b=_0x29e5ed,_0x110962={'ZleKs':function(_0x19b863,_0x50fc70,_0x566a5f){return _0x19b863(_0x50fc70,_0x566a5f);},'Grhtx':_0x7cc21b(0x288)};return await _0x110962[_0x7cc21b(0x298)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x21a620)+_0x7cc21b(0x274),{'method':_0x110962['Grhtx'],'body':JSON['stringify']({'session_state':_0x2df4e4})});}export async function saveCloudProfileCredentials(_0x5dd251,_0x518e08,_0x4d9683){const _0x3effdf=_0x29e5ed,_0x27fd95={'nHBNB':function(_0x4f10d7,_0x53ffbd){return _0x4f10d7(_0x53ffbd);}};await apiRequest('/api/v1/profiles/'+_0x27fd95[_0x3effdf(0x226)](encodeURIComponent,_0x5dd251),{'method':_0x3effdf(0x24a),'body':JSON[_0x3effdf(0x27c)]({'username':_0x518e08,'password':_0x4d9683})});}export async function fetchAuthConfig(){const _0xbae061=_0x29e5ed,_0x222c09={'nFYUD':function(_0x56fb5f,_0x45d3d5){return _0x56fb5f(_0x45d3d5);},'QuDdn':'/api/v1/profiles/auth-config','tDZRH':function(_0x3ec069,_0x4755e4){return _0x3ec069!==_0x4755e4;}};try{const _0x3c2dfe=await _0x222c09[_0xbae061(0x23e)](apiRequest,_0x222c09['QuDdn']);return _0x3c2dfe['auth_config'];}catch(_0x360bd9){return _0x360bd9 instanceof ApiError&&_0x222c09[_0xbae061(0x21d)](_0x360bd9['status'],0x194)&&console[_0xbae061(0x231)]('\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20'+_0x360bd9[_0xbae061(0x28b)]),null;}}async function createTunnelSession(_0x51649e){const _0x4650e3=_0x29e5ed,_0x3e36b7={'pGhpI':'/api/v1/tunnel/sessions','FSshK':_0x4650e3(0x288)};return await apiRequest(_0x3e36b7[_0x4650e3(0x215)],{'method':_0x3e36b7[_0x4650e3(0x224)],'body':JSON['stringify']({'targetUrl':_0x51649e,'mode':'agent'})});}async function deleteTunnelSession(_0x45b612){const _0x3ba25=_0x29e5ed,_0x24edd7={'VXsZg':_0x3ba25(0x212)};await apiRequest('/api/v1/tunnel/sessions/'+_0x45b612,{'method':_0x24edd7[_0x3ba25(0x21c)]});}export function pickAdHocEnvKey(_0x23cc79){const _0x4eadad=_0x29e5ed,_0x281bf0={'zPzua':function(_0x577caf,_0x2cb6cf){return _0x577caf===_0x2cb6cf;},'bMeij':function(_0x3bb6e9,_0x3bec41){return _0x3bb6e9+_0x3bec41;}};if(!_0x23cc79)return null;if(_0x23cc79[_0x4eadad(0x20b)])return _0x23cc79[_0x4eadad(0x20b)];const _0x15e7ce=Object['keys'](_0x23cc79['environments']??{});if(_0x281bf0['zPzua'](_0x15e7ce[_0x4eadad(0x263)],0x1))return _0x15e7ce[0x0];if(_0x281bf0[_0x4eadad(0x23d)](_0x15e7ce[_0x4eadad(0x263)],0x0))return null;throw new Error(_0x281bf0['bMeij']('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x15e7ce['join'](',\x20')+').\x20','Create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`\x20so\x20Ranger\x20can\x20pick\x20the\x20right\x20one.'));}export async function resolveAdHocProfile(_0x11e3d9=process['env']){const _0x104461=_0x29e5ed,_0x92f5cd={'YrEWe':function(_0x1c53ba,_0x3a15fc){return _0x1c53ba(_0x3a15fc);},'TNHxO':function(_0x3a9745){return _0x3a9745();}},_0x44c004=_0x11e3d9[_0x104461(0x267)];if(!_0x44c004)return null;const _0x48349b=await _0x92f5cd['YrEWe'](fetchCloudProfile,_0x44c004);if(_0x48349b)return{'name':_0x48349b[_0x104461(0x209)],'profile':_0x48349b};const _0x52079d=await _0x92f5cd[_0x104461(0x285)](fetchAuthConfig),_0x5d0e5b=_0x92f5cd[_0x104461(0x292)](pickAdHocEnvKey,_0x52079d),_0x18d562=_0x11e3d9['RANGER_TEST_PASSWORD'],_0x5cb779=await createCloudProfile(_0x44c004,_0x5d0e5b??undefined,{'username':_0x44c004,'password':_0x18d562});return console['log'](_0x104461(0x255)+_0x5cb779[_0x104461(0x209)]+'\x22\x20for\x20'+_0x44c004),{'name':_0x5cb779['name'],'profile':_0x5cb779};}export async function writeSessionToLocalCache(_0x2a3185,_0x3e0196,_0x46c5b2,_0x29cf86,_0x5404ce,_0x534647,_0x38f992){const _0xb30273=_0x29e5ed,_0x30b32e={'vMDpa':function(_0x351abf,_0x2b9e77,_0x5b4ca3){return _0x351abf(_0x2b9e77,_0x5b4ca3);},'pIfnt':function(_0x3c698e){return _0x3c698e();},'tKhDP':_0xb30273(0x230),'zWUtO':function(_0x50c318,_0x19830b){return _0x50c318(_0x19830b);},'WOdEW':function(_0x1c836c,_0x40cbd4){return _0x1c836c>_0x40cbd4;},'dAiUV':function(_0x13e361,_0xbbd132,_0x167570){return _0x13e361(_0xbbd132,_0x167570);},'xKJci':function(_0x5c8198,_0x74fbb7,_0x4dffb4){return _0x5c8198(_0x74fbb7,_0x4dffb4);}},_0x1679d8=sessionCacheHash({'orgId':_0x3e0196,'profileName':_0x2a3185,'effectiveBaseUrl':_0x46c5b2,'setupHeaders':_0x29cf86,'invalidateOn':_0x38f992?.['invalidateOn'],'userAgent':_0x38f992?.[_0xb30273(0x1fd)],'clientIp':_0x38f992?.['clientIp']}),_0x3b4ef1=_0x30b32e[_0xb30273(0x291)](getSessionCachePath,_0x1679d8,_0x2a3185),_0x4e327f=_0x30b32e['vMDpa'](join,_0x30b32e[_0xb30273(0x20d)](getRangerHomeDir),_0x30b32e['tKhDP']);!_0x30b32e[_0xb30273(0x26e)](existsSync,_0x4e327f)&&await _0x30b32e[_0xb30273(0x291)](mkdir,_0x4e327f,{'recursive':!![]});const _0x328660={..._0x5404ce};_0x534647&&_0x30b32e['WOdEW'](_0x534647['length'],0x0)&&Array['isArray'](_0x328660['cookies'])&&(_0x328660[_0xb30273(0x235)]=_0x30b32e[_0xb30273(0x22e)](duplicateCookiesForDomains,_0x328660[_0xb30273(0x235)],_0x534647));const _0xe47bd2={'cached_at':new Date()[_0xb30273(0x28f)](),'session_state':_0x328660};await _0x30b32e['xKJci'](writeFile,_0x3b4ef1,JSON['stringify'](_0xe47bd2,null,0x2));const _0x3ab5c0=getStorageStatePath(_0x3b4ef1);return await writeFile(_0x3ab5c0,JSON[_0xb30273(0x27c)](_0x328660,null,0x2)),_0x3ab5c0;}export async function checkLocalCache(_0x3626b4,_0xe4f32e,_0x10e400,_0x50705f,_0x5123d1){const _0x225166=_0x29e5ed,_0x490060={'WSjfJ':function(_0x3eeaa9,_0x18ad9,_0x33d1d0){return _0x3eeaa9(_0x18ad9,_0x33d1d0);}},_0x12fc08=sessionCacheHash({'orgId':_0xe4f32e,'profileName':_0x3626b4,'effectiveBaseUrl':_0x10e400,'setupHeaders':_0x50705f,'invalidateOn':_0x5123d1?.[_0x225166(0x1f3)],'userAgent':_0x5123d1?.['userAgent'],'clientIp':_0x5123d1?.[_0x225166(0x1fe)]}),_0x192b39=_0x490060[_0x225166(0x29e)](getSessionCachePath,_0x12fc08,_0x3626b4),_0x1bc78e=getStorageStatePath(_0x192b39);if(!existsSync(_0x192b39)||!existsSync(_0x1bc78e))return null;try{const _0x277b72=await _0x490060['WSjfJ'](readFile,_0x192b39,_0x225166(0x206));return JSON[_0x225166(0x20c)](_0x277b72),{'storageStatePath':_0x1bc78e};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x4f8370,_0x246f8a){const _0x39830a=_0x29e5ed,_0x1f1ae8={'ucvmn':function(_0x5f06f2,_0x3964ba){return _0x5f06f2+_0x3964ba;}};if(!_0x246f8a||!_0x246f8a['domains']?.[_0x39830a(0x263)])return;let _0x34416e;try{_0x34416e=new URL(_0x4f8370);}catch{return;}const _0x3459ad=[];for(const _0x5e94df of _0x246f8a['domains']){try{_0x3459ad['push']({'raw':_0x5e94df,'url':new URL(_0x5e94df)});}catch{}}if(_0x3459ad[_0x39830a(0x263)]===0x0)return;if(_0x3459ad[_0x39830a(0x211)](_0x1c57bb=>_0x1c57bb[_0x39830a(0x201)][_0x39830a(0x208)]===_0x34416e[_0x39830a(0x208)]))return;const _0x528fea=_0x3459ad['map'](_0x447a1b=>'\x22'+_0x447a1b['raw']+'\x22')['join'](',\x20');console[_0x39830a(0x203)](_0x1f1ae8[_0x39830a(0x28a)](_0x39830a(0x1fa)+_0x528fea+';\x20','you\x27re\x20now\x20at\x20\x22'+_0x4f8370+'\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20')+_0x39830a(0x250));}export async function serverSideLogin(_0x4427ac,_0x13b4ca){const _0x4013fe=_0x29e5ed,_0x2218ff={'mfPji':function(_0x24ad14,_0xe11d0e){return _0x24ad14===_0xe11d0e;},'SutpZ':function(_0x59055c,_0x35f7c5){return _0x59055c===_0x35f7c5;}},_0x19b1d9=process[_0x4013fe(0x277)][_0x4013fe(0x267)],_0x410b36=process[_0x4013fe(0x277)][_0x4013fe(0x26c)],_0x40b475={};if(_0x19b1d9)_0x40b475['username']=_0x19b1d9;if(_0x410b36)_0x40b475[_0x4013fe(0x21f)]=_0x410b36;if(_0x13b4ca?.['force'])_0x40b475['force']=!![];if(_0x13b4ca?.['targetUrl'])_0x40b475[_0x4013fe(0x242)]=_0x13b4ca['targetUrl'];_0x13b4ca?.[_0x4013fe(0x28c)]&&(_0x40b475[_0x4013fe(0x210)]=_0x13b4ca['tunnel']['sessionId'],_0x40b475['pw_endpoint']=_0x13b4ca['tunnel'][_0x4013fe(0x245)]);try{return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x4427ac)+'/login',{'method':'POST','body':JSON['stringify'](_0x40b475)});}catch(_0x73f0cb){if(_0x73f0cb instanceof ApiError&&_0x2218ff[_0x4013fe(0x23b)](_0x73f0cb['status'],0x190)&&_0x2218ff['SutpZ'](_0x73f0cb['code'],'not_configured'))return{'status':'not_configured','error':_0x73f0cb[_0x4013fe(0x2a6)]};throw _0x73f0cb;}}async function serverSideLoginWithOptionalTunnel(_0x500c10,_0x281a85,_0x1f6d48={}){const _0x11d187=_0x29e5ed,_0x48c20a={'IaGQu':function(_0x4623a4,_0x490666){return _0x4623a4(_0x490666);},'Xeyuj':function(_0x351a21,_0x2a09d9){return _0x351a21===_0x2a09d9;},'Nkjjl':'true','BIIpK':function(_0x4ec566,_0x77a81d){return _0x4ec566(_0x77a81d);},'aeBHl':'\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...','pWiet':function(_0x505743,_0x23c9d7){return _0x505743(_0x23c9d7);},'UpjWQ':function(_0x808103){return _0x808103();},'wPMUM':_0x11d187(0x22c),'taBTO':_0x11d187(0x286),'Ylquz':function(_0x1862f4,_0x580f1c,_0x57051e){return _0x1862f4(_0x580f1c,_0x57051e);},'zVheJ':function(_0x4b68c8,_0x376018){return _0x4b68c8??_0x376018;},'RshVJ':function(_0x17dde2,_0x465239){return _0x17dde2(_0x465239);},'RLKVX':function(_0x163340,_0x274554){return _0x163340||_0x274554;},'pFTiy':function(_0x545883,_0xc421ef){return _0x545883(_0xc421ef);},'DKACR':_0x11d187(0x29d)};if(!needsTunnel(_0x281a85))return await serverSideLogin(_0x500c10,{'force':_0x1f6d48[_0x11d187(0x281)]});let _0x53d58e=null,_0x2d3df9=null,_0x1ddd83=null,_0x2b8f0f=null,_0x305154=![];const _0x43f443=process['env']['RANGER_TUNNEL_LOGIN_HEADED']?.[_0x11d187(0x243)](),_0x29e454=_0x43f443==='1'||_0x48c20a['Xeyuj'](_0x43f443,_0x48c20a['Nkjjl']),_0x278462={'profileName':_0x500c10,'targetUrlHost':targetHostForTelemetry(_0x281a85),'tunnelRequired':!![],'forceLogin':_0x48c20a[_0x11d187(0x1f7)](Boolean,_0x1f6d48[_0x11d187(0x281)]),'localBrowserServerHeaded':_0x29e454};try{_0x1f6d48[_0x11d187(0x24c)]?.[_0x11d187(0x29c)](_0x11d187(0x22c),_0x278462);_0x29e454&&console[_0x11d187(0x203)](_0x48c20a[_0x11d187(0x229)]);_0x53d58e=await _0x48c20a['pWiet'](launchBrowserServer,{'headless':!_0x29e454}),_0x2d3df9=await createTunnelSession(_0x281a85);const _0x19fba3=await _0x48c20a[_0x11d187(0x220)](requireToken);_0x1ddd83=await _0x48c20a['pWiet'](createTunnelBridge,{'localWsUrl':_0x53d58e['wsEndpoint'],'tunnelServerUrl':_0x2d3df9[_0x11d187(0x270)],'sessionId':_0x2d3df9[_0x11d187(0x202)],'apiKey':_0x19fba3,'onError':_0x12abce=>{_0x2b8f0f=_0x12abce;},'onClose':()=>{_0x2b8f0f??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x500c10);},'onEvent':_0x1cf71c=>trackBridgeEvent(_0x1f6d48[_0x11d187(0x24c)],_0x1cf71c)}),_0x1f6d48[_0x11d187(0x24c)]?.['trackPhaseEnd'](_0x48c20a['wPMUM'],{..._0x278462,'tunnelSessionId':_0x2d3df9['sessionId'],'localBrowserServer':!![],'localBrowserServerHeaded':_0x29e454}),_0x305154=!![];try{return _0x1f6d48[_0x11d187(0x24c)]?.['trackPhaseStart'](_0x48c20a['taBTO'],{..._0x278462,'tunnelSessionId':_0x2d3df9[_0x11d187(0x202)]}),await _0x48c20a[_0x11d187(0x257)](serverSideLogin,_0x500c10,{'force':_0x1f6d48['force'],'targetUrl':_0x281a85,'tunnel':{'sessionId':_0x2d3df9[_0x11d187(0x202)],'pwEndpoint':_0x2d3df9[_0x11d187(0x245)]}})[_0x11d187(0x25d)](_0x54825d=>{const _0x120caf=_0x11d187;return _0x1f6d48[_0x120caf(0x24c)]?.[_0x120caf(0x27e)]('tunnel_login_request',{..._0x278462,'tunnelSessionId':_0x2d3df9?.[_0x120caf(0x202)],'loginStatus':_0x54825d['status'],'hasSessionState':_0x48c20a['IaGQu'](Boolean,_0x54825d['session_state']),'hasTestOutput':Boolean(_0x54825d[_0x120caf(0x213)]),'bridgeError':errorMessageForTelemetry(_0x2b8f0f)}),_0x54825d;});}catch(_0x3a4595){await _0x1f6d48[_0x11d187(0x24c)]?.['trackPhaseError'](_0x48c20a['taBTO'],_0x48c20a[_0x11d187(0x2a2)](_0x2b8f0f,_0x3a4595),{..._0x278462,'tunnelSessionId':_0x2d3df9[_0x11d187(0x202)],'bridgeError':_0x48c20a['RshVJ'](errorMessageForTelemetry,_0x2b8f0f)});throw _0x2b8f0f??_0x3a4595;}}catch(_0x1aedea){!_0x305154&&await _0x1f6d48['telemetry']?.['trackPhaseError'](_0x48c20a['wPMUM'],_0x1aedea,{..._0x278462,'tunnelSessionId':_0x2d3df9?.['sessionId']});throw _0x1aedea;}finally{if(_0x48c20a[_0x11d187(0x283)](_0x2d3df9,_0x53d58e)||_0x1ddd83){const _0x2aeb24='2|3|1|0|4'['split']('|');let _0x2eb5f5=0x0;while(!![]){switch(_0x2aeb24[_0x2eb5f5++]){case'0':_0x2d3df9&&await _0x48c20a[_0x11d187(0x205)](deleteTunnelSession,_0x2d3df9[_0x11d187(0x202)])[_0x11d187(0x284)](()=>{});continue;case'1':_0x53d58e&&await _0x53d58e['close']()['catch'](()=>{});continue;case'2':_0x1f6d48[_0x11d187(0x24c)]?.['trackPhaseStart'](_0x48c20a['DKACR'],{..._0x278462,'tunnelSessionId':_0x2d3df9?.['sessionId']});continue;case'3':_0x1ddd83?.['close']();continue;case'4':_0x1f6d48['telemetry']?.['trackPhaseEnd'](_0x48c20a['DKACR'],{..._0x278462,'tunnelSessionId':_0x2d3df9?.['sessionId']});continue;}break;}}}}export async function manualBrowserLogin(_0x2a3781,_0x43c95c,_0x257f05={}){const _0x4b0c0d=_0x29e5ed,_0x19afeb={'btNoU':function(_0x34f397){return _0x34f397();},'oAyAw':'close','lMdXa':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','FyDXW':function(_0x21af27,_0x373e9c){return _0x21af27>_0x373e9c;},'yGswk':'\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','KRxiq':function(_0x577213,_0x1e0a5f){return _0x577213(_0x1e0a5f);},'HeIRx':function(_0x38566d,_0x17b943){return _0x38566d&&_0x17b943;},'kuUtb':'Browser\x20login\x20timed\x20out\x20before\x20completion.','KrIgX':_0x4b0c0d(0x22a),'lRRHQ':function(_0x17bb26,_0x8257bb,_0x1e1931){return _0x17bb26(_0x8257bb,_0x1e1931);},'HPUTa':_0x4b0c0d(0x288),'DComE':_0x4b0c0d(0x253)};if(!isInteractive())throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x2a3781[_0x4b0c0d(0x209)]+_0x4b0c0d(0x26b)+_0x19afeb[_0x4b0c0d(0x278)]+_0x4b0c0d(0x23c));const _0xfd0b0c=_0x43c95c&&_0x19afeb[_0x4b0c0d(0x290)](_0x43c95c['domains']['length'],0x0)?_0x43c95c['domains'][0x0]:'about:blank';console[_0x4b0c0d(0x203)](_0x4b0c0d(0x218)),console[_0x4b0c0d(0x203)](_0x19afeb[_0x4b0c0d(0x214)]),await new Promise(_0xfcbd8=>setTimeout(_0xfcbd8,0x7d0));const _0x5cdb81=await chromium[_0x4b0c0d(0x228)]({'headless':![]});let _0x424156=null;try{const _0x19a5b9={'ignoreHTTPSErrors':!![]};_0x43c95c?.['setupHeaders']&&(_0x19a5b9['extraHTTPHeaders']=_0x43c95c['setupHeaders']);const _0x46f6d4=await _0x5cdb81[_0x4b0c0d(0x276)](_0x19a5b9);await _0x19afeb['KRxiq'](addProfileSetupBanner,_0x46f6d4);const _0x338402=await _0x46f6d4['newPage']();await _0x338402[_0x4b0c0d(0x252)](_0xfd0b0c);let _0x28d6ba=![];await new Promise(_0x1d0944=>{const _0x5f186a={'XyyLo':function(_0x11fddb,_0x58b937){return _0x11fddb/_0x58b937;}},_0x4e2f54=setTimeout(()=>{const _0x415bf1=_0x404c;_0x28d6ba=!![],console[_0x415bf1(0x231)]('Browser\x20login\x20timed\x20out\x20after\x20'+_0x5f186a['XyyLo'](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+_0x415bf1(0x27f)),_0x1d0944();},MANUAL_LOGIN_TIMEOUT_MS);_0x338402['on'](_0x19afeb['oAyAw'],async()=>{const _0x3fd911=_0x404c;clearTimeout(_0x4e2f54);try{const _0x4a21a8=await _0x46f6d4[_0x3fd911(0x248)]();_0x424156=_0x4a21a8;}catch{}_0x19afeb[_0x3fd911(0x216)](_0x1d0944);});});if(_0x19afeb[_0x4b0c0d(0x258)](_0x28d6ba,!_0x424156))throw new Error(_0x19afeb[_0x4b0c0d(0x22b)]);}finally{await _0x5cdb81['close']()['catch'](()=>{});}if(!_0x424156)throw new Error(_0x19afeb[_0x4b0c0d(0x200)]);return _0x257f05[_0x4b0c0d(0x1f9)]!==![]&&await _0x19afeb[_0x4b0c0d(0x24f)](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x2a3781['name'])+'/session',{'method':_0x19afeb['HPUTa'],'body':JSON[_0x4b0c0d(0x27c)]({'session_state':_0x424156,'updated_by':_0x19afeb[_0x4b0c0d(0x219)]})}),{'sessionState':_0x424156};}export async function promptSaveCredentials(_0xa9f036){const _0x2128ec=_0x29e5ed,_0x2ea9db={'JWWOA':function(_0x449acf,_0x250c38){return _0x449acf||_0x250c38;},'ujYUz':_0x2128ec(0x2a5),'llHni':'Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','ZZuEj':function(_0xdffb2e,_0xebbfc){return _0xdffb2e(_0xebbfc);}},_0x43e960=process[_0x2128ec(0x277)][_0x2128ec(0x267)],_0x2ace00=process['env']['RANGER_TEST_PASSWORD'];if(_0x2ea9db[_0x2128ec(0x24d)](!_0x43e960,!_0x2ace00))return;if(!isInteractive())return;const {save:_0x57d3e9}=await _0x49363e['prompt']([{'type':_0x2ea9db[_0x2128ec(0x29a)],'name':'save','message':_0x2ea9db[_0x2128ec(0x282)],'default':![]}]);if(!_0x57d3e9)return;await apiRequest(_0x2128ec(0x1ff)+_0x2ea9db['ZZuEj'](encodeURIComponent,_0xa9f036),{'method':_0x2128ec(0x24a),'body':JSON[_0x2128ec(0x27c)]({'username':_0x43e960,'password':_0x2ace00})}),console[_0x2128ec(0x203)](_0x2128ec(0x22d));}export async function resolveCloudProfileSession(_0x3b2e50,_0x3d0c7b={}){const _0x32f8df=_0x29e5ed,_0x573009={'fvjmd':function(_0xac0301){return _0xac0301();},'orCEy':function(_0x271150,_0x7e7ce7,_0x2e19ff){return _0x271150(_0x7e7ce7,_0x2e19ff);},'RTdZD':function(_0x47c0b6,_0x229ce6){return _0x47c0b6===_0x229ce6;},'BCLsf':_0x32f8df(0x23a),'rwHqu':function(_0x56926d,_0x2bedab){return _0x56926d||_0x2bedab;},'dRIZe':function(_0x55cb7f,_0x408d04){return _0x55cb7f(_0x408d04);},'XPemD':function(_0x127f6e,_0x4ebbf6){return _0x127f6e>_0x4ebbf6;},'IHgXn':function(_0x297244,_0x5399f6,_0xfda0c2,_0xa3e78e,_0xf8573c,_0x4df7ae){return _0x297244(_0x5399f6,_0xfda0c2,_0xa3e78e,_0xf8573c,_0x4df7ae);},'UEoXJ':function(_0x483dc9,_0xf96768,_0x2040c9,_0x2ce778,_0x448793,_0x3f9244,_0x546836,_0x275da9){return _0x483dc9(_0xf96768,_0x2040c9,_0x2ce778,_0x448793,_0x3f9244,_0x546836,_0x275da9);},'GsEax':function(_0x3a5642,_0x33e10a,_0x396b38,_0x3481a6,_0x4934a2){return _0x3a5642(_0x33e10a,_0x396b38,_0x3481a6,_0x4934a2);},'jvNum':function(_0x2f613a,_0x41a006){return _0x2f613a(_0x41a006);},'qxIZp':function(_0x32e17e,_0x931aa9){return _0x32e17e||_0x931aa9;},'ewRxw':function(_0x3bface,_0xd1143c,_0x5ed756,_0x1584b7){return _0x3bface(_0xd1143c,_0x5ed756,_0x1584b7);},'HEbuZ':'\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','XxOQS':'success','sjATl':_0x32f8df(0x27a),'UxZHS':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...'},_0x3c5cac=_0x3b2e50[_0x32f8df(0x27b)]??{},_0x4c97fb=await _0x573009[_0x32f8df(0x262)](fetchAuthConfig),_0x4d0f9a=_0x4c97fb?_0x573009[_0x32f8df(0x256)](resolveAuthEnvironmentLocally,_0x4c97fb,_0x3b2e50['environmentKey']):null,_0x10e3b4=_0x573009[_0x32f8df(0x20a)](typeof _0x4d0f9a?.['loginInstructions'],_0x32f8df(0x23a))&&_0x4d0f9a['loginInstructions']['trim']()?_0x4d0f9a[_0x32f8df(0x26f)]:undefined,_0x4035b2=typeof _0x3c5cac['loginInstructions']===_0x573009[_0x32f8df(0x25a)]&&_0x3c5cac[_0x32f8df(0x26f)][_0x32f8df(0x271)]()?_0x3c5cac[_0x32f8df(0x26f)]:undefined,_0x49b099=_0x573009[_0x32f8df(0x21a)](_0x4035b2,!_0x10e3b4)?_0x3c5cac:{..._0x3c5cac,'loginInstructions':_0x10e3b4},_0x26bd66=_0x573009[_0x32f8df(0x261)](Boolean,_0x49b099['loginInstructions']?.['trim']()),_0x58e48a=Boolean(_0x3c5cac['forceLogin']||_0x4d0f9a?.['forceLogin']),_0x40430a=_0x4d0f9a?.['domains'],_0x5064eb=_0x3c5cac['setupHeaders'],_0x5c2d19=_0x5064eb??_0x4d0f9a?.['setupHeaders'],_0x2d6d23=_0x3d0c7b[_0x32f8df(0x280)]??_0x3c5cac['baseUrl']??(_0x40430a&&_0x573009['XPemD'](_0x40430a['length'],0x0)?_0x40430a[0x0]:''),_0x496ebd=_0x2d6d23?needsTunnel(_0x2d6d23):![],_0x450dc2={'invalidateOn':_0x4d0f9a?.[_0x32f8df(0x1f3)],'userAgent':_0x4d0f9a?.[_0x32f8df(0x272)]?.[_0x32f8df(0x1fd)]??_0x3c5cac['userAgent']};_0x58e48a&&console['log'](_0x32f8df(0x21b)+_0x3b2e50[_0x32f8df(0x209)]+_0x32f8df(0x259));if(!_0x58e48a){const _0xaf3dcf=await _0x573009['IHgXn'](checkLocalCache,_0x3b2e50[_0x32f8df(0x209)],_0x3b2e50[_0x32f8df(0x264)],_0x2d6d23,_0x5c2d19,_0x450dc2);if(_0xaf3dcf){if(_0x2d6d23&&!_0x496ebd){const _0x563e98=await isCachedSessionLive(_0xaf3dcf[_0x32f8df(0x244)],_0x2d6d23,{'sessionCheckPath':_0x4d0f9a?.[_0x32f8df(0x1f8)],'setupHeaders':_0x5c2d19},{'launchBrowser':launchRealBrowser});if(_0x563e98)return console['log']('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x3b2e50['name']+'\x22'),{'authPath':_0xaf3dcf['storageStatePath'],'settings':_0x49b099,'resolvedEnv':_0x4d0f9a};console[_0x32f8df(0x203)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0x3b2e50[_0x32f8df(0x209)]+_0x32f8df(0x234)),emitSessionValidationHint(_0x2d6d23,_0x4d0f9a);}else return _0x496ebd&&console['log'](_0x32f8df(0x294)+_0x3b2e50['name']+'\x22'),{'authPath':_0xaf3dcf[_0x32f8df(0x244)],'settings':_0x49b099,'resolvedEnv':_0x4d0f9a};}}if(!_0x58e48a&&_0x3b2e50[_0x32f8df(0x233)]){if(_0x496ebd)console['log']('\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22'+_0x2d6d23+_0x32f8df(0x266)+_0x3b2e50['name']+'\x22');else{const _0x48200e=await _0x573009['UEoXJ'](writeSessionToLocalCache,_0x3b2e50['name'],_0x3b2e50['organizationId'],_0x2d6d23,_0x5c2d19,_0x3b2e50[_0x32f8df(0x233)],_0x40430a,_0x450dc2);if(_0x2d6d23){const _0x270b79=await _0x573009[_0x32f8df(0x236)](isCachedSessionLive,_0x48200e,_0x2d6d23,{'sessionCheckPath':_0x4d0f9a?.['sessionCheckPath'],'setupHeaders':_0x5c2d19},{'launchBrowser':launchRealBrowser});if(_0x270b79)return console['log'](_0x32f8df(0x222)+_0x3b2e50[_0x32f8df(0x209)]+'\x22,\x20cached\x20locally'),{'authPath':_0x48200e,'settings':_0x49b099,'resolvedEnv':_0x4d0f9a};console['log']('\x20\x20Cloud\x20session\x20for\x20\x22'+_0x3b2e50['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),_0x573009['orCEy'](emitSessionValidationHint,_0x2d6d23,_0x4d0f9a);}else return{'authPath':_0x48200e,'settings':_0x49b099,'resolvedEnv':_0x4d0f9a};}}if(_0x26bd66)return console['log'](_0x32f8df(0x299)+_0x3b2e50['name']+'\x22;\x20proceeding\x20with\x20loginInstructions.'),{'authPath':undefined,'settings':_0x49b099,'resolvedEnv':_0x4d0f9a};console[_0x32f8df(0x203)](_0x32f8df(0x299)+_0x3b2e50[_0x32f8df(0x209)]+'\x22,\x20attempting\x20login...');const _0x1020d7=Boolean(process[_0x32f8df(0x277)]['RANGER_TEST_USERNAME'])&&_0x573009[_0x32f8df(0x207)](Boolean,process['env'][_0x32f8df(0x26c)]),_0x1fab49=Boolean(_0x3b2e50['username']);if(_0x573009['qxIZp'](_0x1020d7,_0x1fab49))try{const _0xa88410=_0x2d6d23?await _0x573009['ewRxw'](serverSideLoginWithOptionalTunnel,_0x3b2e50[_0x32f8df(0x209)],_0x2d6d23,{'force':_0x58e48a,'telemetry':_0x3d0c7b['telemetry']}):await _0x573009['orCEy'](serverSideLogin,_0x3b2e50[_0x32f8df(0x209)],{'force':_0x58e48a});if(_0xa88410['status']===_0x32f8df(0x25f))console['log'](_0x573009['HEbuZ']);else{if(_0x573009['RTdZD'](_0xa88410[_0x32f8df(0x246)],_0x573009['XxOQS'])&&_0xa88410[_0x32f8df(0x28e)]){console['log'](_0x573009['sjATl']);const _0x583ef0=await writeSessionToLocalCache(_0x3b2e50['name'],_0x3b2e50[_0x32f8df(0x264)],_0x2d6d23,_0x5c2d19,_0xa88410[_0x32f8df(0x28e)],_0x40430a,_0x450dc2);return _0x1020d7&&!_0x1fab49&&await _0x573009['dRIZe'](promptSaveCredentials,_0x3b2e50[_0x32f8df(0x209)]),{'authPath':_0x583ef0,'settings':_0x49b099,'resolvedEnv':_0x4d0f9a};}else _0xa88410[_0x32f8df(0x213)]&&(console[_0x32f8df(0x203)](_0x32f8df(0x269)),console['log'](_0xa88410['test_output'])),console['log'](_0x573009[_0x32f8df(0x240)]);}}catch(_0x11ea54){console['log'](_0x32f8df(0x22f)+(_0x11ea54 instanceof Error?_0x11ea54['message']:String(_0x11ea54))),console[_0x32f8df(0x203)]('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}const _0x5df96b=_0x4d0f9a?{..._0x4d0f9a,'setupHeaders':_0x5c2d19}:_0x2d6d23?{'key':_0x3b2e50[_0x32f8df(0x24e)]??'','domains':[_0x2d6d23],'setupHeaders':_0x5c2d19}:null,{sessionState:_0x59f8fa}=await _0x573009[_0x32f8df(0x279)](manualBrowserLogin,_0x3b2e50,_0x5df96b,{'persistSessionState':!_0x496ebd}),_0x268277=await writeSessionToLocalCache(_0x3b2e50['name'],_0x3b2e50[_0x32f8df(0x264)],_0x2d6d23,_0x5c2d19,_0x59f8fa,_0x40430a,_0x450dc2);return{'authPath':_0x268277,'settings':_0x49b099,'resolvedEnv':_0x4d0f9a};}
1
+ (function(_0xcb6e39,_0x1d39af){const _0x156924=_0x5e39,_0x82153c=_0xcb6e39();while(!![]){try{const _0x9dba55=-parseInt(_0x156924(0x8f))/0x1+parseInt(_0x156924(0xda))/0x2*(parseInt(_0x156924(0xb2))/0x3)+parseInt(_0x156924(0xbb))/0x4+-parseInt(_0x156924(0x11c))/0x5*(parseInt(_0x156924(0x88))/0x6)+-parseInt(_0x156924(0x70))/0x7+parseInt(_0x156924(0xb7))/0x8+parseInt(_0x156924(0x11a))/0x9*(-parseInt(_0x156924(0x12f))/0xa);if(_0x9dba55===_0x1d39af)break;else _0x82153c['push'](_0x82153c['shift']());}catch(_0x107296){_0x82153c['push'](_0x82153c['shift']());}}}(_0x4aa6,0x63d82));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0xa77b1d 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{matchAuthEnvironmentByHost,matchAuthEnvironmentExact}from'./matchAuthEnvironment.js';import{createTunnelBridge,launchBrowserServer}from'./tunnelClient.js';function targetHostForTelemetry(_0x3db3ad){try{return new URL(_0x3db3ad)['host'];}catch{return'invalid-url';}}function errorMessageForTelemetry(_0x1a68cd){const _0x2d193d=_0x5e39;return _0x1a68cd instanceof Error?_0x1a68cd[_0x2d193d(0xd6)]:undefined;}function trackBridgeEvent(_0x22df12,_0x1fbbf7){const _0x4aa949=_0x5e39,_0x23b63f={'WMFOs':_0x4aa949(0xa5),'bUoIQ':function(_0x51b632,_0x532845){return _0x51b632===_0x532845;},'ouuCt':_0x4aa949(0x104)};if(!_0x22df12)return;const _0x4973df={'tunnelSessionId':_0x1fbbf7['sessionId'],'tunnelEventType':_0x1fbbf7['type'],'connectionId':_0x1fbbf7['connectionId'],'code':_0x1fbbf7['code'],'reason':_0x1fbbf7[_0x4aa949(0x10a)],'error':_0x1fbbf7['error'],'elapsedMs':_0x1fbbf7[_0x4aa949(0xbd)],'activeLocalConnections':_0x1fbbf7['activeLocalConnections'],'pendingLocalConnections':_0x1fbbf7[_0x4aa949(0x97)]};_0x22df12['trackPhaseEnd'](_0x23b63f['WMFOs'],_0x4973df),(_0x23b63f['bUoIQ'](_0x1fbbf7[_0x4aa949(0x11e)],_0x23b63f['ouuCt'])||_0x1fbbf7[_0x4aa949(0x11e)]==='local_ws_error')&&void _0x22df12[_0x4aa949(0x87)](_0x4aa949(0x85),new Error(_0x1fbbf7['error']??_0x1fbbf7[_0x4aa949(0x11e)]),_0x4973df);}const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x2e55d3=_0x5e39,_0x42e1b0={'ChDnc':_0x2e55d3(0xbe)},_0x403909=await getToken();if(!_0x403909)throw new Error(_0x42e1b0['ChDnc']);return _0x403909;}async function apiRequest(_0x5a647a,_0x2aac06={}){const _0x49db50=_0x5e39,_0x343b9a={'JLuNU':function(_0x219270){return _0x219270();},'SmTju':function(_0x18b1c8){return _0x18b1c8();},'qrzge':_0x49db50(0x71),'QrzlY':_0x49db50(0x89)},_0x64d018=await _0x343b9a[_0x49db50(0x6b)](requireToken),_0x429278=_0x343b9a[_0x49db50(0x11b)](getApiBaseUrl),_0x2256dd=await fetch(''+_0x429278+_0x5a647a,{..._0x2aac06,'headers':{'Authorization':'Bearer\x20'+_0x64d018,'Content-Type':_0x343b9a[_0x49db50(0x6d)],..._0x2aac06[_0x49db50(0xce)]??{}}});if(!_0x2256dd['ok']){let _0x580712='',_0x2a07b4;try{const _0x59d7d7=await _0x2256dd['json'](),_0x8b0b1b=(typeof _0x59d7d7['error']===_0x343b9a[_0x49db50(0x86)]?_0x59d7d7[_0x49db50(0xe1)]:undefined)??JSON['stringify'](_0x59d7d7);_0x580712=_0x8b0b1b;typeof _0x59d7d7['test_output']===_0x343b9a['QrzlY']&&_0x59d7d7['test_output']&&(_0x580712=_0x580712+'\x0a'+_0x59d7d7['test_output']);if(typeof _0x59d7d7[_0x49db50(0x78)]==='string')_0x2a07b4=_0x59d7d7[_0x49db50(0x78)];}catch{_0x580712=_0x2256dd['statusText'];}throw new ApiError('API\x20request\x20'+_0x5a647a+'\x20failed\x20('+_0x2256dd[_0x49db50(0xb5)]+'):\x20'+_0x580712,_0x2256dd[_0x49db50(0xb5)],_0x580712,_0x2a07b4);}if(_0x2256dd[_0x49db50(0xb5)]===0xcc)return undefined;return _0x2256dd['json']();}export class ApiError extends Error{['status'];['detail'];['code'];constructor(_0x3cb275,_0x1fc7a8,_0x1b6837,_0x17213f){const _0x4f4c23=_0x5e39,_0x290237={'wXPrU':'ApiError'};super(_0x3cb275),this[_0x4f4c23(0xb5)]=_0x1fc7a8,this['detail']=_0x1b6837,this['code']=_0x17213f,this[_0x4f4c23(0xae)]=_0x290237['wXPrU'];}}export async function fetchCloudProfile(_0xcad205){const _0x2ec4c5=_0x5e39,_0x505ae8={'PunrT':function(_0x86820,_0x5a8414){return _0x86820(_0x5a8414);},'ywuJK':function(_0x4b0214,_0x580485){return _0x4b0214 instanceof _0x580485;},'OvmGv':function(_0x1e4279,_0x3030bd){return _0x1e4279===_0x3030bd;}};try{return await _0x505ae8['PunrT'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0xcad205));}catch(_0xe85ba4){if(_0x505ae8['ywuJK'](_0xe85ba4,ApiError)&&_0x505ae8[_0x2ec4c5(0xcb)](_0xe85ba4[_0x2ec4c5(0xb5)],0x194))return null;throw _0xe85ba4;}}export async function listCloudProfiles(){const _0x17f9a9=_0x5e39,_0x18bcd0={'PDtBI':function(_0x2378c8,_0x4a5eb9){return _0x2378c8(_0x4a5eb9);}},_0x4a637e=await _0x18bcd0['PDtBI'](apiRequest,'/api/v1/profiles');return _0x4a637e[_0x17f9a9(0x93)];}export async function deleteCloudProfile(_0x97175){const _0x4fb4d3=_0x5e39,_0x4badf5={'JoDmT':_0x4fb4d3(0xfb),'GLQzB':function(_0x3b71b5,_0x789fae){return _0x3b71b5===_0x789fae;}};try{await apiRequest(_0x4fb4d3(0x105)+encodeURIComponent(_0x97175),{'method':_0x4badf5['JoDmT']});}catch(_0x3ef29b){if(_0x3ef29b instanceof ApiError&&_0x4badf5['GLQzB'](_0x3ef29b['status'],0x194))throw new Error('Cloud\x20profile\x20\x22'+_0x97175+'\x22\x20not\x20found.');throw _0x3ef29b;}}function _0x5e39(_0x45e873,_0x2dddb3){_0x45e873=_0x45e873-0x6b;const _0x4aa665=_0x4aa6();let _0x5e39cb=_0x4aa665[_0x45e873];return _0x5e39cb;}export async function createCloudProfile(_0x27b05c,_0x2a0b34,_0x158c0f={}){const _0x33ac43=_0x5e39,_0x5b9bb9={'AZUlm':_0x33ac43(0xe0)},_0x2f4294={'name':_0x27b05c};if(_0x2a0b34)_0x2f4294[_0x33ac43(0x6f)]=_0x2a0b34;_0x158c0f[_0x33ac43(0x6e)]&&Object['keys'](_0x158c0f[_0x33ac43(0x6e)])['length']>0x0&&(_0x2f4294[_0x33ac43(0x6e)]=_0x158c0f['settings']);if(_0x158c0f[_0x33ac43(0x102)])_0x2f4294[_0x33ac43(0x102)]=_0x158c0f['username'];if(_0x158c0f[_0x33ac43(0x74)])_0x2f4294[_0x33ac43(0x74)]=_0x158c0f[_0x33ac43(0x74)];return await apiRequest('/api/v1/profiles',{'method':_0x5b9bb9['AZUlm'],'body':JSON[_0x33ac43(0xc4)](_0x2f4294)});}export async function uploadCloudProfileSession(_0x183446,_0x824a89){const _0x5f468e=_0x5e39,_0x51c33b={'TqBpZ':function(_0x3ccfb4,_0x95236c,_0x3a4207){return _0x3ccfb4(_0x95236c,_0x3a4207);},'etGQy':function(_0x4d78df,_0x5a9384){return _0x4d78df(_0x5a9384);},'HGdqs':_0x5f468e(0xe0)};return await _0x51c33b[_0x5f468e(0xfa)](apiRequest,'/api/v1/profiles/'+_0x51c33b['etGQy'](encodeURIComponent,_0x183446)+'/session',{'method':_0x51c33b['HGdqs'],'body':JSON['stringify']({'session_state':_0x824a89})});}export async function saveCloudProfileCredentials(_0x34ff82,_0x4a5362,_0x4a50d1){const _0x371f5e=_0x5e39,_0x292a02={'nNJRJ':function(_0x24ec57,_0x4d3c67,_0x2869b8){return _0x24ec57(_0x4d3c67,_0x2869b8);}};await _0x292a02['nNJRJ'](apiRequest,'/api/v1/profiles/'+encodeURIComponent(_0x34ff82),{'method':_0x371f5e(0xd4),'body':JSON[_0x371f5e(0xc4)]({'username':_0x4a5362,'password':_0x4a50d1})});}export async function fetchAuthConfig(){const _0x47b122=_0x5e39,_0x32abb7={'fFrQC':function(_0x12b08e,_0x475937){return _0x12b08e(_0x475937);},'wEIce':'/api/v1/profiles/auth-config','TKGRj':function(_0xff2046,_0x2695eb){return _0xff2046!==_0x2695eb;}};try{const _0x296185=await _0x32abb7['fFrQC'](apiRequest,_0x32abb7['wEIce']);return _0x296185[_0x47b122(0x10c)];}catch(_0x297a69){return _0x297a69 instanceof ApiError&&_0x32abb7['TKGRj'](_0x297a69[_0x47b122(0xb5)],0x194)&&console[_0x47b122(0xe1)](_0x47b122(0xa8)+_0x297a69[_0x47b122(0xd6)]),null;}}async function createTunnelSession(_0x5dadb1){const _0x5b641e=_0x5e39,_0xd3a3bc={'EpxLF':function(_0x20dae1,_0x10c744,_0x5589b7){return _0x20dae1(_0x10c744,_0x5589b7);},'VBDST':_0x5b641e(0x118),'DfexE':'agent'};return await _0xd3a3bc[_0x5b641e(0xde)](apiRequest,_0xd3a3bc['VBDST'],{'method':_0x5b641e(0xe0),'body':JSON[_0x5b641e(0xc4)]({'targetUrl':_0x5dadb1,'mode':_0xd3a3bc['DfexE']})});}async function deleteTunnelSession(_0x40b00a){const _0x527677={'dYpVM':function(_0x42d88a,_0x4249de,_0x44a50c){return _0x42d88a(_0x4249de,_0x44a50c);},'AfmaJ':'DELETE'};await _0x527677['dYpVM'](apiRequest,'/api/v1/tunnel/sessions/'+_0x40b00a,{'method':_0x527677['AfmaJ']});}export function pickAdHocEnvKey(_0x379863,_0x46f9d9,_0x2e51d3){const _0x42f4d3=_0x5e39,_0xc1146e={'rlIpO':function(_0xc84634,_0x111abd){return _0xc84634+_0x111abd;},'IcvjN':function(_0x1cd204,_0x5023c3){return _0x1cd204+_0x5023c3;},'OpURh':function(_0x4b5eda,_0x2ebec2){return _0x4b5eda in _0x2ebec2;},'HnxFr':_0x42f4d3(0xe6),'hMBsQ':function(_0x34f56e,_0x126e82){return _0x34f56e+_0x126e82;}};if(_0x2e51d3){if(!_0x379863?.[_0x42f4d3(0x10f)]?.[_0x2e51d3]){const _0x4a110d=Object[_0x42f4d3(0x123)](_0x379863?.['environments']??{});throw new Error(_0xc1146e[_0x42f4d3(0xaa)](_0xc1146e[_0x42f4d3(0x110)](_0x42f4d3(0xf9)+_0x2e51d3+_0x42f4d3(0x100),_0x4a110d['length']?_0x42f4d3(0x76)+_0x4a110d[_0x42f4d3(0x114)](',\x20')+'.':'\x20Your\x20org\x20has\x20no\x20auth\x20environments\x20configured.'),'\x20(If\x20you\x20meant\x20a\x20profile,\x20use\x20--profile.)'));}return _0x2e51d3;}if(!_0x379863)return null;if(_0x46f9d9){const _0x2d88ac=matchAuthEnvironmentExact(_0x46f9d9,_0x379863);if(_0x2d88ac)return _0x2d88ac;const _0x14b235=matchAuthEnvironmentByHost(_0x46f9d9,_0x379863);if(_0x14b235&&_0xc1146e['OpURh'](_0x42f4d3(0xa1),_0x14b235))return console['log']('\x20\x20Auth\x20env\x20\x22'+_0x14b235['key']+'\x22\x20matched\x20by\x20host\x20for\x20'+_0x46f9d9+_0x42f4d3(0xf1)),_0x14b235[_0x42f4d3(0xa1)];if(_0x14b235&&_0xc1146e[_0x42f4d3(0x101)](_0xc1146e['HnxFr'],_0x14b235))throw new Error(_0x42f4d3(0x80)+_0x14b235['ambiguous']['join'](',\x20')+_0x42f4d3(0xb0));if(needsTunnel(_0x46f9d9))throw new Error(_0xc1146e['hMBsQ'](_0x42f4d3(0xac)+_0x46f9d9+_0x42f4d3(0xd2)+_0x42f4d3(0x9b)+_0x42f4d3(0xfd)+_0x42f4d3(0xf5)+('\x20\x20-\x20ask\x20your\x20Ranger\x20admin\x20to\x20add\x20\x22'+_0x46f9d9[_0x42f4d3(0x82)](/\/+$/,'')+'\x22\x20to\x20the\x20matching\x20auth\x20environment\x27s\x20domains,\x20or\x0a'),_0x42f4d3(0xec)+_0x46f9d9+'\x20--skip-auth`\x20for\x20an\x20unauthenticated\x20profile.'));}if(_0x379863['defaultEnvironmentKey'])return _0x379863[_0x42f4d3(0xa0)];const _0x32edb3=Object[_0x42f4d3(0x123)](_0x379863['environments']??{});if(_0x32edb3['length']===0x1)return _0x32edb3[0x0];if(_0x32edb3['length']===0x0)return null;throw new Error(_0xc1146e[_0x42f4d3(0x110)]('Your\x20org\x20has\x20more\x20than\x20one\x20environment\x20configured\x20('+_0x32edb3['join'](',\x20')+_0x42f4d3(0x11d),_0x42f4d3(0xe4)));}export function adHocProfileName(_0x26429d,_0x5bc9ec,_0xc2dc8b){if(!_0x5bc9ec||_0x5bc9ec===_0xc2dc8b)return _0x26429d;return _0x26429d+':'+_0x5bc9ec;}export async function resolveAdHocProfile(_0x356e1e={},_0x3137f3=process['env']){const _0x4218bb=_0x5e39,_0x222361={'EtwHT':function(_0xbd7e85,_0x137109,_0x1fff8c,_0x52c61c){return _0xbd7e85(_0x137109,_0x1fff8c,_0x52c61c);},'cGQVo':function(_0x333c91,_0x2364df){return _0x333c91(_0x2364df);},'jrxuO':function(_0x446fb6,_0x1752e3){return _0x446fb6!==_0x1752e3;},'jKYCc':function(_0x1d4479,_0x478751,_0x36dae4,_0x11c726){return _0x1d4479(_0x478751,_0x36dae4,_0x11c726);}},_0x4df839=_0x3137f3['RANGER_TEST_USERNAME'];if(!_0x4df839)return null;const _0x583736=await fetchAuthConfig(),_0x16d0e8=pickAdHocEnvKey(_0x583736,_0x356e1e[_0x4218bb(0xf0)],_0x356e1e['envKey']);let _0x4047db=_0x222361[_0x4218bb(0xc3)](adHocProfileName,_0x4df839,_0x16d0e8,_0x583736?.['defaultEnvironmentKey']),_0x9ba88d=await _0x222361[_0x4218bb(0xd1)](fetchCloudProfile,_0x4047db);_0x9ba88d&&_0x16d0e8&&_0x222361['jrxuO'](_0x9ba88d['environmentKey'],_0x16d0e8)&&(console[_0x4218bb(0x128)]('\x20\x20Cloud\x20profile\x20\x22'+_0x4047db+'\x22\x20is\x20bound\x20to\x20auth\x20env\x20\x22'+(_0x9ba88d[_0x4218bb(0x9a)]??_0x4218bb(0x113))+'\x22\x20but\x20this\x20run\x20resolved\x20env\x20\x22'+_0x16d0e8+'\x22;\x20using\x20\x22'+_0x4df839+':'+_0x16d0e8+'\x22\x20instead.'),_0x4047db=_0x4df839+':'+_0x16d0e8,_0x9ba88d=await fetchCloudProfile(_0x4047db));if(_0x9ba88d)return{'name':_0x9ba88d[_0x4218bb(0xae)],'profile':_0x9ba88d};const _0x5a468b=_0x3137f3['RANGER_TEST_PASSWORD'],_0x48ab94=await _0x222361[_0x4218bb(0xfc)](createCloudProfile,_0x4047db,_0x16d0e8??undefined,{'username':_0x4df839,'password':_0x5a468b});return console[_0x4218bb(0x128)](_0x4218bb(0x7a)+_0x48ab94[_0x4218bb(0xae)]+'\x22\x20for\x20'+_0x4df839+(_0x16d0e8?_0x4218bb(0xb6)+_0x16d0e8+')':'')),{'name':_0x48ab94[_0x4218bb(0xae)],'profile':_0x48ab94};}export async function writeSessionToLocalCache(_0x41fcbf,_0x39139c,_0x58f19d,_0x519838,_0xd6ec46,_0x111c53,_0x947688){const _0x1a822a=_0x5e39,_0x15fc6b={'JWWDz':function(_0x5273a5,_0x5dc06c){return _0x5273a5(_0x5dc06c);},'Mcnyk':function(_0x4a678a,_0x513b5a,_0x345643){return _0x4a678a(_0x513b5a,_0x345643);},'YkDkJ':function(_0x5188d7,_0x3a7cc0,_0x34a66f){return _0x5188d7(_0x3a7cc0,_0x34a66f);},'qUAjn':function(_0x5717c0,_0x259c09){return _0x5717c0>_0x259c09;},'RyVWl':function(_0xcb36ce,_0x429512,_0x2d66ac){return _0xcb36ce(_0x429512,_0x2d66ac);}},_0x295e70=_0x15fc6b['JWWDz'](sessionCacheHash,{'orgId':_0x39139c,'profileName':_0x41fcbf,'effectiveBaseUrl':_0x58f19d,'setupHeaders':_0x519838,'invalidateOn':_0x947688?.[_0x1a822a(0x77)],'userAgent':_0x947688?.[_0x1a822a(0xeb)],'clientIp':_0x947688?.['clientIp']}),_0x2ff5fd=_0x15fc6b[_0x1a822a(0x130)](getSessionCachePath,_0x295e70,_0x41fcbf),_0x5692f7=_0x15fc6b['YkDkJ'](join,getRangerHomeDir(),'auth');!_0x15fc6b['JWWDz'](existsSync,_0x5692f7)&&await mkdir(_0x5692f7,{'recursive':!![]});const _0x50547a={..._0xd6ec46};_0x111c53&&_0x15fc6b[_0x1a822a(0xe7)](_0x111c53[_0x1a822a(0xf8)],0x0)&&Array[_0x1a822a(0xd7)](_0x50547a[_0x1a822a(0xd9)])&&(_0x50547a['cookies']=duplicateCookiesForDomains(_0x50547a[_0x1a822a(0xd9)],_0x111c53));const _0xbac083={'cached_at':new Date()[_0x1a822a(0x107)](),'session_state':_0x50547a};await _0x15fc6b[_0x1a822a(0x130)](writeFile,_0x2ff5fd,JSON[_0x1a822a(0xc4)](_0xbac083,null,0x2));const _0x473e04=getStorageStatePath(_0x2ff5fd);return await _0x15fc6b['RyVWl'](writeFile,_0x473e04,JSON[_0x1a822a(0xc4)](_0x50547a,null,0x2)),_0x473e04;}export async function checkLocalCache(_0x398eba,_0x3f4ca2,_0xfdc4a0,_0x5e589b,_0x15d9ea){const _0x1696e3=_0x5e39,_0x47681e={'EfCfX':function(_0x2b1012,_0x29c7bb,_0x127d01){return _0x2b1012(_0x29c7bb,_0x127d01);},'qzfiK':function(_0x59eabe,_0x112e7a){return _0x59eabe(_0x112e7a);}},_0x5a02a4=sessionCacheHash({'orgId':_0x3f4ca2,'profileName':_0x398eba,'effectiveBaseUrl':_0xfdc4a0,'setupHeaders':_0x5e589b,'invalidateOn':_0x15d9ea?.['invalidateOn'],'userAgent':_0x15d9ea?.[_0x1696e3(0xeb)],'clientIp':_0x15d9ea?.[_0x1696e3(0xcd)]}),_0x192f95=_0x47681e[_0x1696e3(0xd3)](getSessionCachePath,_0x5a02a4,_0x398eba),_0x253dcd=_0x47681e['qzfiK'](getStorageStatePath,_0x192f95);if(!existsSync(_0x192f95)||!existsSync(_0x253dcd))return null;try{const _0x72cd2e=await readFile(_0x192f95,'utf-8');return JSON[_0x1696e3(0xf6)](_0x72cd2e),{'storageStatePath':_0x253dcd};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x228c7e,_0x10c3dc){const _0x2468d1=_0x5e39,_0x5b3aea={'kXpSb':function(_0x314b17,_0x470605){return _0x314b17+_0x470605;}};if(!_0x10c3dc||!_0x10c3dc[_0x2468d1(0x12b)]?.[_0x2468d1(0xf8)])return;let _0x3fc580;try{_0x3fc580=new URL(_0x228c7e);}catch{return;}const _0x3da8f6=[];for(const _0x368a33 of _0x10c3dc['domains']){try{_0x3da8f6[_0x2468d1(0xa7)]({'raw':_0x368a33,'url':new URL(_0x368a33)});}catch{}}if(_0x3da8f6['length']===0x0)return;if(_0x3da8f6[_0x2468d1(0xdb)](_0x82e29e=>_0x82e29e[_0x2468d1(0xb1)]['origin']===_0x3fc580[_0x2468d1(0x7e)]))return;const _0x3e790c=_0x3da8f6['map'](_0x435276=>'\x22'+_0x435276[_0x2468d1(0x9c)]+'\x22')['join'](',\x20');console[_0x2468d1(0x128)](_0x5b3aea['kXpSb']('\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20'+_0x3e790c+';\x20','you\x27re\x20now\x20at\x20\x22'+_0x228c7e+_0x2468d1(0xb8))+_0x2468d1(0xba));}export async function serverSideLogin(_0x37b6a3,_0x14ffc7){const _0x5a0535=_0x5e39,_0x358bcb={'ydgzf':function(_0xe65352,_0x4b007c,_0x1303d9){return _0xe65352(_0x4b007c,_0x1303d9);},'fdRuZ':function(_0x30e56f,_0x2d8c5a){return _0x30e56f instanceof _0x2d8c5a;},'HWUls':function(_0x32b786,_0x15e299){return _0x32b786===_0x15e299;},'JbCET':'not_configured'},_0x374a02=process[_0x5a0535(0x7f)]['RANGER_TEST_USERNAME'],_0xa1f864=process['env'][_0x5a0535(0x92)],_0x39dbd0={};if(_0x374a02)_0x39dbd0[_0x5a0535(0x102)]=_0x374a02;if(_0xa1f864)_0x39dbd0['password']=_0xa1f864;if(_0x14ffc7?.[_0x5a0535(0x124)])_0x39dbd0['force']=!![];if(_0x14ffc7?.['targetUrl'])_0x39dbd0[_0x5a0535(0xa3)]=_0x14ffc7['targetUrl'];_0x14ffc7?.['tunnel']&&(_0x39dbd0[_0x5a0535(0xe5)]=_0x14ffc7[_0x5a0535(0xc0)]['sessionId'],_0x39dbd0[_0x5a0535(0xf4)]=_0x14ffc7['tunnel'][_0x5a0535(0xca)]);try{return await _0x358bcb['ydgzf'](apiRequest,_0x5a0535(0x105)+encodeURIComponent(_0x37b6a3)+'/login',{'method':_0x5a0535(0xe0),'body':JSON['stringify'](_0x39dbd0)});}catch(_0x1a035e){if(_0x358bcb['fdRuZ'](_0x1a035e,ApiError)&&_0x358bcb[_0x5a0535(0x117)](_0x1a035e[_0x5a0535(0xb5)],0x190)&&_0x358bcb[_0x5a0535(0x117)](_0x1a035e[_0x5a0535(0x78)],_0x5a0535(0xed)))return{'status':_0x358bcb['JbCET'],'error':_0x1a035e['detail']};throw _0x1a035e;}}async function serverSideLoginWithOptionalTunnel(_0x5483e5,_0x18dc30,_0x4707ad={}){const _0x56ae57=_0x5e39,_0x3e13e7={'AyoyS':_0x56ae57(0x12a),'SYMCA':function(_0x1e0268,_0xdcdd9c){return _0x1e0268(_0xdcdd9c);},'OPUmh':function(_0x43eb28,_0x4852b6){return _0x43eb28(_0x4852b6);},'ZIQge':function(_0x1db7dc,_0x145f11,_0x5bdfb5){return _0x1db7dc(_0x145f11,_0x5bdfb5);},'hOFTD':function(_0x48802d,_0x5b64a2){return _0x48802d===_0x5b64a2;},'XWroZ':'true','VgBNL':function(_0x1c2965,_0x5dedbe){return _0x1c2965(_0x5dedbe);},'biIKq':'tunnel_login_setup','kUxKV':function(_0x38f124,_0x94806d){return _0x38f124(_0x94806d);},'WtLFy':function(_0x28972f,_0x314ce5,_0x3a6647){return _0x28972f(_0x314ce5,_0x3a6647);},'HOnKl':function(_0x3de128,_0x311788){return _0x3de128??_0x311788;},'mWEqH':function(_0x2e4561,_0x48085a){return _0x2e4561||_0x48085a;},'IsbDL':function(_0x3b5230,_0x42ac8b){return _0x3b5230(_0x42ac8b);}};if(!_0x3e13e7['OPUmh'](needsTunnel,_0x18dc30))return await _0x3e13e7[_0x56ae57(0x129)](serverSideLogin,_0x5483e5,{'force':_0x4707ad['force']});let _0x23e364=null,_0xca1c2e=null,_0x5283cd=null,_0x5ce314=null,_0x1ea505=![];const _0x17bd94=process['env'][_0x56ae57(0xc5)]?.[_0x56ae57(0x12e)](),_0x1cc15f=_0x3e13e7[_0x56ae57(0x7c)](_0x17bd94,'1')||_0x17bd94===_0x3e13e7[_0x56ae57(0xa9)],_0x1d1b34={'profileName':_0x5483e5,'targetUrlHost':targetHostForTelemetry(_0x18dc30),'tunnelRequired':!![],'forceLogin':_0x3e13e7[_0x56ae57(0x98)](Boolean,_0x4707ad['force']),'localBrowserServerHeaded':_0x1cc15f};try{_0x4707ad['telemetry']?.['trackPhaseStart'](_0x3e13e7[_0x56ae57(0x83)],_0x1d1b34);_0x1cc15f&&console['log'](_0x56ae57(0xcf));_0x23e364=await _0x3e13e7[_0x56ae57(0x106)](launchBrowserServer,{'headless':!_0x1cc15f}),_0xca1c2e=await createTunnelSession(_0x18dc30);const _0x24f09f=await requireToken();_0x5283cd=await _0x3e13e7[_0x56ae57(0x106)](createTunnelBridge,{'localWsUrl':_0x23e364['wsEndpoint'],'tunnelServerUrl':_0xca1c2e['tunnelUrl'],'sessionId':_0xca1c2e[_0x56ae57(0x119)],'apiKey':_0x24f09f,'onError':_0x557b5c=>{_0x5ce314=_0x557b5c;},'onClose':()=>{_0x5ce314??=new Error('Tunnel\x20bridge\x20closed\x20before\x20login\x20completed\x20for\x20'+_0x5483e5);},'onEvent':_0x2d42ee=>trackBridgeEvent(_0x4707ad[_0x56ae57(0x96)],_0x2d42ee)}),_0x4707ad[_0x56ae57(0x96)]?.[_0x56ae57(0x120)]('tunnel_login_setup',{..._0x1d1b34,'tunnelSessionId':_0xca1c2e['sessionId'],'localBrowserServer':!![],'localBrowserServerHeaded':_0x1cc15f}),_0x1ea505=!![];try{return _0x4707ad[_0x56ae57(0x96)]?.[_0x56ae57(0xf3)](_0x56ae57(0x12a),{..._0x1d1b34,'tunnelSessionId':_0xca1c2e['sessionId']}),await _0x3e13e7[_0x56ae57(0x125)](serverSideLogin,_0x5483e5,{'force':_0x4707ad[_0x56ae57(0x124)],'targetUrl':_0x18dc30,'tunnel':{'sessionId':_0xca1c2e['sessionId'],'pwEndpoint':_0xca1c2e[_0x56ae57(0xca)]}})[_0x56ae57(0x121)](_0x34e6b5=>{const _0x187e72=_0x56ae57;return _0x4707ad[_0x187e72(0x96)]?.['trackPhaseEnd'](_0x3e13e7[_0x187e72(0xbf)],{..._0x1d1b34,'tunnelSessionId':_0xca1c2e?.['sessionId'],'loginStatus':_0x34e6b5[_0x187e72(0xb5)],'hasSessionState':Boolean(_0x34e6b5['session_state']),'hasTestOutput':Boolean(_0x34e6b5[_0x187e72(0x7b)]),'bridgeError':_0x3e13e7[_0x187e72(0x10d)](errorMessageForTelemetry,_0x5ce314)}),_0x34e6b5;});}catch(_0xe1d685){await _0x4707ad[_0x56ae57(0x96)]?.['trackPhaseError']('tunnel_login_request',_0x3e13e7['HOnKl'](_0x5ce314,_0xe1d685),{..._0x1d1b34,'tunnelSessionId':_0xca1c2e['sessionId'],'bridgeError':errorMessageForTelemetry(_0x5ce314)});throw _0x3e13e7['HOnKl'](_0x5ce314,_0xe1d685);}}catch(_0x304bb1){!_0x1ea505&&await _0x4707ad[_0x56ae57(0x96)]?.['trackPhaseError']('tunnel_login_setup',_0x304bb1,{..._0x1d1b34,'tunnelSessionId':_0xca1c2e?.['sessionId']});throw _0x304bb1;}finally{(_0x3e13e7[_0x56ae57(0xb9)](_0xca1c2e,_0x23e364)||_0x5283cd)&&(_0x4707ad[_0x56ae57(0x96)]?.['trackPhaseStart'](_0x56ae57(0x126),{..._0x1d1b34,'tunnelSessionId':_0xca1c2e?.['sessionId']}),_0x5283cd?.[_0x56ae57(0x99)](),_0x23e364&&await _0x23e364['close']()[_0x56ae57(0x103)](()=>{}),_0xca1c2e&&await _0x3e13e7[_0x56ae57(0x115)](deleteTunnelSession,_0xca1c2e[_0x56ae57(0x119)])['catch'](()=>{}),_0x4707ad[_0x56ae57(0x96)]?.['trackPhaseEnd']('tunnel_login_cleanup',{..._0x1d1b34,'tunnelSessionId':_0xca1c2e?.[_0x56ae57(0x119)]}));}}export async function manualBrowserLogin(_0x2a91ce,_0x5017fa,_0x5ae4fa={}){const _0x37092d=_0x5e39,_0x11f31e={'vOUdP':function(_0x109f06,_0x2a0fcc){return _0x109f06/_0x2a0fcc;},'rRmha':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD\x20so\x20Ranger\x20can\x20log\x20in\x20for\x20you,\x20','xFImJ':function(_0x5580b7,_0x29b8d5){return _0x5580b7>_0x29b8d5;},'nWKSh':_0x37092d(0x111),'sFVVR':'\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','yPQJY':function(_0x3b4712,_0x3e9287){return _0x3b4712(_0x3e9287);},'vRFxh':function(_0x3925a3,_0x524886){return _0x3925a3&&_0x524886;},'jPHVZ':_0x37092d(0x95),'EZYln':_0x37092d(0x10b),'Ioryw':function(_0x1825f6,_0x4ef879){return _0x1825f6!==_0x4ef879;},'UWybw':_0x37092d(0xe0)};if(!isInteractive())throw new Error(_0x37092d(0x84)+_0x2a91ce['name']+_0x37092d(0xd2)+_0x11f31e[_0x37092d(0xdc)]+_0x37092d(0x72));const _0x12d634=_0x5017fa&&_0x11f31e[_0x37092d(0xee)](_0x5017fa['domains'][_0x37092d(0xf8)],0x0)?_0x5017fa[_0x37092d(0x12b)][0x0]:_0x11f31e[_0x37092d(0x12c)];console[_0x37092d(0x128)](_0x11f31e[_0x37092d(0x73)]),console[_0x37092d(0x128)](_0x37092d(0xf2)),await new Promise(_0xdc4f52=>setTimeout(_0xdc4f52,0x7d0));const _0x362e94=await chromium['launch']({'headless':![]});let _0x467b6b=null;try{const _0x143352={'ignoreHTTPSErrors':!![]};_0x5017fa?.['setupHeaders']&&(_0x143352[_0x37092d(0xaf)]=_0x5017fa[_0x37092d(0xa4)]);const _0x2b8dfb=await _0x362e94['newContext'](_0x143352);await _0x11f31e[_0x37092d(0x94)](addProfileSetupBanner,_0x2b8dfb);const _0x4afc09=await _0x2b8dfb['newPage']();await _0x4afc09['goto'](_0x12d634);let _0x1b0d72=![];await new Promise(_0x891998=>{const _0x576a49={'Rbkwq':function(_0x536cce,_0x266f30){return _0x11f31e['vOUdP'](_0x536cce,_0x266f30);},'bPlBg':function(_0x33bd79){return _0x33bd79();}},_0x3349c8=setTimeout(()=>{const _0x19893d=_0x5e39;_0x1b0d72=!![],console[_0x19893d(0xe1)]('Browser\x20login\x20timed\x20out\x20after\x20'+_0x576a49[_0x19893d(0xd8)](MANUAL_LOGIN_TIMEOUT_MS,0xea60)+_0x19893d(0xea)),_0x576a49['bPlBg'](_0x891998);},MANUAL_LOGIN_TIMEOUT_MS);_0x4afc09['on']('close',async()=>{const _0x20de87=_0x5e39;clearTimeout(_0x3349c8);try{const _0x19169c=await _0x2b8dfb[_0x20de87(0xd0)]();_0x467b6b=_0x19169c;}catch{}_0x891998();});});if(_0x11f31e[_0x37092d(0x6c)](_0x1b0d72,!_0x467b6b))throw new Error(_0x11f31e[_0x37092d(0x79)]);}finally{await _0x362e94['close']()[_0x37092d(0x103)](()=>{});}if(!_0x467b6b)throw new Error(_0x11f31e[_0x37092d(0xe9)]);return _0x11f31e['Ioryw'](_0x5ae4fa[_0x37092d(0x8c)],![])&&await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x2a91ce[_0x37092d(0xae)])+_0x37092d(0x8a),{'method':_0x11f31e['UWybw'],'body':JSON['stringify']({'session_state':_0x467b6b,'updated_by':_0x37092d(0x8b)})}),{'sessionState':_0x467b6b};}function _0x4aa6(){const _0x69afdd=['\x20Available:\x20','invalidateOn','code','jPHVZ','\x20\x20Created\x20cloud\x20profile\x20\x22','test_output','hOFTD','forceLogin','origin','env','Multiple\x20auth\x20environments\x20declare\x20this\x20host\x20(','\x22,\x20refreshing\x20session...','replace','biIKq','No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22','tunnel_bridge','QrzlY','trackPhaseError','122730SstPyH','string','/session','cli:manual-login','persistSessionState','browserOptions','loginInstructions','262710uHISns','aiZZZ','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','RANGER_TEST_PASSWORD','profiles','yPQJY','Browser\x20login\x20timed\x20out\x20before\x20completion.','telemetry','pendingLocalConnections','VgBNL','close','environmentKey','\x20\x20Ranger\x20can\x27t\x20assume\x20your\x20org\x27s\x20default\x20login\x20flow\x20applies\x20to\x20an\x20arbitrary\x20local\x20app.\x0a','raw','\x20\x20No\x20live\x20session\x20for\x20\x22','\x20\x20forceLogin\x20enabled\x20for\x20\x22','NyqWR','defaultEnvironmentKey','key','\x22;\x20proceeding\x20with\x20loginInstructions.','target_url','setupHeaders','tunnel_bridge_event','baseUrl','push','\x0aWarning:\x20could\x20not\x20fetch\x20org\x20auth\x20config:\x20','XWroZ','rlIpO','\x22\x20failed\x20validation\x20—\x20refreshing...','No\x20auth\x20environment\x20matches\x20the\x20local\x20target\x20\x22','hiAjp','name','extraHTTPHeaders',');\x20pass\x20--env\x20<key>\x20to\x20pick\x20one.','url','12NRCqfw','success','tnknl','status','\x20(auth\x20env:\x20','5715808evKWCe','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','mWEqH','If\x20logins\x20keep\x20failing\x20here,\x20ask\x20your\x20Ranger\x20admin\x20to\x20tighten\x20session\x20reuse\x20for\x20this\x20environment.','748276eVBcqt','sessionState','elapsedMs','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','AyoyS','tunnel','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','IDUqT','EtwHT','stringify','RANGER_TUNNEL_LOGIN_HEADED','ZXOem','NzsmI','organizationId','PWmVz','pwEndpoint','OvmGv','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','clientIp','headers','\x20\x20Debug:\x20launching\x20tunneled\x20login\x20browser\x20headed...','storageState','cGQVo','\x22.\x0a','EfCfX','PUT','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','message','isArray','Rbkwq','cookies','143608ojZzia','some','rRmha','\x20\x20Server-side\x20login\x20error:\x20','EpxLF','RANGER_TEST_USERNAME','POST','error','sessionCheckPath','storageStatePath','Pass\x20--base-url\x20<your-app-url>\x20so\x20Ranger\x20can\x20match\x20the\x20right\x20one,\x20or\x20create\x20the\x20profile\x20explicitly\x20with\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20<your-app-url>`.','tunnel_session_id','ambiguous','qUAjn','\x20\x20Using\x20cached\x20local\x20session\x20for\x20cloud\x20profile\x20\x22','EZYln','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','userAgent','\x20\x20-\x20run\x20`ranger\x20profile\x20add\x20<name>\x20--url\x20','not_configured','xFImJ','kjZpB','targetUrl','\x20(declared\x20port\x20differs;\x20pass\x20--env\x20to\x20override).','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','trackPhaseStart','pw_endpoint','\x20\x20-\x20pass\x20`--env\x20<key>`\x20to\x20pick\x20the\x20auth\x20environment\x20by\x20name,\x20or\x0a','parse','ZJuWs','length','Auth\x20environment\x20\x22','TqBpZ','DELETE','jKYCc','\x20\x20Options:\x0a','\x20\x20Cloud\x20session\x20for\x20\x22','effectiveBaseUrl','\x22\x20not\x20found\x20in\x20your\x20org\x27s\x20config.','OpURh','username','catch','tunnel_error','/api/v1/profiles/','kUxKV','toISOString','YZoFq','dAPxy','reason','Browser\x20closed\x20before\x20authentication\x20was\x20saved.','auth_config','SYMCA','hVVIl','environments','IcvjN','about:blank','UqQMj','none','join','IsbDL','doFSU','HWUls','/api/v1/tunnel/sessions','sessionId','981AZzYPk','SmTju','5PXsKkf',').\x20','type','CzVqK','trackPhaseEnd','then','yMdSn','keys','force','WtLFy','tunnel_login_cleanup','session_state','log','ZIQge','tunnel_login_request','domains','nWKSh','ltzwh','toLowerCase','21160SuFEaC','Mcnyk','JLuNU','vRFxh','qrzge','settings','environment_key','1861930qeGiYC','application/json','or\x20run\x20this\x20command\x20from\x20an\x20interactive\x20terminal\x20so\x20a\x20browser\x20can\x20open.','sFVVR','password','prompt'];_0x4aa6=function(){return _0x69afdd;};return _0x4aa6();}export async function promptSaveCredentials(_0xaa74d8){const _0x1ab18e=_0x5e39,_0x3903e0={'IDUqT':function(_0x2c8dc6,_0x3edb74){return _0x2c8dc6||_0x3edb74;},'kjZpB':function(_0x5aa3ad){return _0x5aa3ad();},'ZJuWs':_0x1ab18e(0xcc),'dAPxy':function(_0x1e9eb8,_0x4c4749){return _0x1e9eb8(_0x4c4749);},'UqQMj':'PUT','CyRLA':_0x1ab18e(0x91)},_0x3755d2=process['env'][_0x1ab18e(0xdf)],_0x3b845a=process[_0x1ab18e(0x7f)][_0x1ab18e(0x92)];if(_0x3903e0[_0x1ab18e(0xc2)](!_0x3755d2,!_0x3b845a))return;if(!_0x3903e0[_0x1ab18e(0xef)](isInteractive))return;const {save:_0x4a973e}=await _0xa77b1d[_0x1ab18e(0x75)]([{'type':'confirm','name':'save','message':_0x3903e0[_0x1ab18e(0xf7)],'default':![]}]);if(!_0x4a973e)return;await apiRequest('/api/v1/profiles/'+_0x3903e0[_0x1ab18e(0x109)](encodeURIComponent,_0xaa74d8),{'method':_0x3903e0[_0x1ab18e(0x112)],'body':JSON['stringify']({'username':_0x3755d2,'password':_0x3b845a})}),console[_0x1ab18e(0x128)](_0x3903e0['CyRLA']);}export async function resolveCloudProfileSession(_0x3df886,_0x26793e={}){const _0x40580e=_0x5e39,_0x4c1894={'ZXOem':function(_0x41f399,_0x5276b3){return _0x41f399===_0x5276b3;},'hiAjp':function(_0x448619,_0x50047e){return _0x448619===_0x50047e;},'xmlqA':_0x40580e(0x89),'PWmVz':function(_0x2c4ef8,_0x1f5475){return _0x2c4ef8(_0x1f5475);},'aiZZZ':function(_0x952a8a,_0x1b93b0){return _0x952a8a>_0x1b93b0;},'NzsmI':function(_0x4cc080,_0x47ef86){return _0x4cc080(_0x47ef86);},'NyqWR':function(_0x225bc4,_0x136355,_0xc14ea,_0x556eb6,_0x450ef2,_0x18ef10){return _0x225bc4(_0x136355,_0xc14ea,_0x556eb6,_0x450ef2,_0x18ef10);},'tnknl':function(_0x12d5fd,_0x7cdb76,_0x10914d){return _0x12d5fd(_0x7cdb76,_0x10914d);},'ltzwh':function(_0x3a84f5,_0x37b450,_0x23998c,_0x57a29e,_0x5bca8e){return _0x3a84f5(_0x37b450,_0x23998c,_0x57a29e,_0x5bca8e);},'IhnUR':function(_0x87679e,_0x502899){return _0x87679e(_0x502899);},'CzVqK':function(_0x28bfb4,_0x290afd){return _0x28bfb4(_0x290afd);},'TXLbU':function(_0x389ed8,_0x5f43ee){return _0x389ed8||_0x5f43ee;},'YZoFq':function(_0x96ece0,_0x5d8f8e,_0x2bd052){return _0x96ece0(_0x5d8f8e,_0x2bd052);},'doFSU':_0x40580e(0xb3),'yMdSn':function(_0xc3b873,_0x11fa60,_0x3e8d06,_0x534693,_0x373e6a,_0x279d34,_0x27fdc7,_0x26253d){return _0xc3b873(_0x11fa60,_0x3e8d06,_0x534693,_0x373e6a,_0x279d34,_0x27fdc7,_0x26253d);},'hVVIl':function(_0x5a43bd,_0x3c6845){return _0x5a43bd(_0x3c6845);},'wkeal':'\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','ECIHZ':function(_0x345f6e,_0x3e7cb6){return _0x345f6e instanceof _0x3e7cb6;},'QZiwC':function(_0x5ed72a,_0x310c87,_0x392e07,_0x4d4fcb,_0x527be0,_0x36c8d5,_0x5d4149,_0x122e9c){return _0x5ed72a(_0x310c87,_0x392e07,_0x4d4fcb,_0x527be0,_0x36c8d5,_0x5d4149,_0x122e9c);}},_0x30f654=_0x3df886['settings']??{},_0x3463f8=await fetchAuthConfig(),_0x446466=_0x3463f8?resolveAuthEnvironmentLocally(_0x3463f8,_0x3df886[_0x40580e(0x9a)]):null,_0x10aa12=_0x4c1894[_0x40580e(0xc6)](typeof _0x446466?.[_0x40580e(0x8e)],_0x40580e(0x89))&&_0x446466[_0x40580e(0x8e)]['trim']()?_0x446466['loginInstructions']:undefined,_0x30be97=_0x4c1894[_0x40580e(0xad)](typeof _0x30f654['loginInstructions'],_0x4c1894['xmlqA'])&&_0x30f654['loginInstructions']['trim']()?_0x30f654[_0x40580e(0x8e)]:undefined,_0x5dac30=_0x30be97||!_0x10aa12?_0x30f654:{..._0x30f654,'loginInstructions':_0x10aa12},_0x4a7524=_0x4c1894[_0x40580e(0xc9)](Boolean,_0x5dac30['loginInstructions']?.['trim']()),_0x21c704=Boolean(_0x30f654['forceLogin']||_0x446466?.[_0x40580e(0x7d)]),_0x3dfa73=_0x446466?.['domains'],_0x18b2b8=_0x30f654['setupHeaders'],_0x2ff870=_0x18b2b8??_0x446466?.['setupHeaders'],_0x48e1dd=_0x26793e[_0x40580e(0xff)]??_0x30f654[_0x40580e(0xa6)]??(_0x3dfa73&&_0x4c1894[_0x40580e(0x90)](_0x3dfa73[_0x40580e(0xf8)],0x0)?_0x3dfa73[0x0]:''),_0x595e70=_0x48e1dd?_0x4c1894[_0x40580e(0xc7)](needsTunnel,_0x48e1dd):![],_0x40251d={'invalidateOn':_0x446466?.['invalidateOn'],'userAgent':_0x446466?.[_0x40580e(0x8d)]?.['userAgent']??_0x30f654['userAgent']};_0x21c704&&console[_0x40580e(0x128)](_0x40580e(0x9e)+_0x3df886['name']+_0x40580e(0x81));if(!_0x21c704){const _0x1fd21e=await _0x4c1894[_0x40580e(0x9f)](checkLocalCache,_0x3df886['name'],_0x3df886[_0x40580e(0xc8)],_0x48e1dd,_0x2ff870,_0x40251d);if(_0x1fd21e){if(_0x48e1dd&&!_0x595e70){const _0x434ae4=await isCachedSessionLive(_0x1fd21e[_0x40580e(0xe3)],_0x48e1dd,{'sessionCheckPath':_0x446466?.[_0x40580e(0xe2)],'setupHeaders':_0x2ff870},{'launchBrowser':launchRealBrowser});if(_0x434ae4)return console[_0x40580e(0x128)]('\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22'+_0x3df886[_0x40580e(0xae)]+'\x22'),{'authPath':_0x1fd21e[_0x40580e(0xe3)],'settings':_0x5dac30,'resolvedEnv':_0x446466};console[_0x40580e(0x128)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0x3df886['name']+_0x40580e(0xab)),_0x4c1894[_0x40580e(0xb4)](emitSessionValidationHint,_0x48e1dd,_0x446466);}else return _0x595e70&&console['log'](_0x40580e(0xe8)+_0x3df886['name']+'\x22'),{'authPath':_0x1fd21e[_0x40580e(0xe3)],'settings':_0x5dac30,'resolvedEnv':_0x446466};}}if(!_0x21c704&&_0x3df886[_0x40580e(0xbc)]){if(_0x595e70)console['log']('\x20\x20Skipping\x20cloud\x20session\x20for\x20local\x20target\x20\x22'+_0x48e1dd+'\x22\x20on\x20profile\x20\x22'+_0x3df886[_0x40580e(0xae)]+'\x22');else{const _0xfacf0f=await writeSessionToLocalCache(_0x3df886['name'],_0x3df886['organizationId'],_0x48e1dd,_0x2ff870,_0x3df886['sessionState'],_0x3dfa73,_0x40251d);if(_0x48e1dd){const _0x1e8c70=await _0x4c1894[_0x40580e(0x12d)](isCachedSessionLive,_0xfacf0f,_0x48e1dd,{'sessionCheckPath':_0x446466?.['sessionCheckPath'],'setupHeaders':_0x2ff870},{'launchBrowser':launchRealBrowser});if(_0x1e8c70)return console[_0x40580e(0x128)](_0x40580e(0xd5)+_0x3df886['name']+'\x22,\x20cached\x20locally'),{'authPath':_0xfacf0f,'settings':_0x5dac30,'resolvedEnv':_0x446466};console['log'](_0x40580e(0xfe)+_0x3df886[_0x40580e(0xae)]+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x48e1dd,_0x446466);}else return{'authPath':_0xfacf0f,'settings':_0x5dac30,'resolvedEnv':_0x446466};}}if(_0x4a7524)return console[_0x40580e(0x128)](_0x40580e(0x9d)+_0x3df886[_0x40580e(0xae)]+_0x40580e(0xa2)),{'authPath':undefined,'settings':_0x5dac30,'resolvedEnv':_0x446466};console['log']('\x20\x20No\x20live\x20session\x20for\x20\x22'+_0x3df886[_0x40580e(0xae)]+'\x22,\x20attempting\x20login...');const _0x3c5ffa=Boolean(process['env'][_0x40580e(0xdf)])&&_0x4c1894['IhnUR'](Boolean,process['env']['RANGER_TEST_PASSWORD']),_0x5cfeb8=_0x4c1894[_0x40580e(0x11f)](Boolean,_0x3df886['username']);if(_0x4c1894['TXLbU'](_0x3c5ffa,_0x5cfeb8))try{const _0x20d374=_0x48e1dd?await serverSideLoginWithOptionalTunnel(_0x3df886[_0x40580e(0xae)],_0x48e1dd,{'force':_0x21c704,'telemetry':_0x26793e['telemetry']}):await _0x4c1894[_0x40580e(0x108)](serverSideLogin,_0x3df886[_0x40580e(0xae)],{'force':_0x21c704});if(_0x20d374[_0x40580e(0xb5)]===_0x40580e(0xed))console[_0x40580e(0x128)]('\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...');else{if(_0x20d374[_0x40580e(0xb5)]===_0x4c1894[_0x40580e(0x116)]&&_0x20d374[_0x40580e(0x127)]){console['log']('\x20\x20Login\x20successful.\x20Session\x20cached.');const _0x298855=await _0x4c1894[_0x40580e(0x122)](writeSessionToLocalCache,_0x3df886['name'],_0x3df886['organizationId'],_0x48e1dd,_0x2ff870,_0x20d374['session_state'],_0x3dfa73,_0x40251d);return _0x3c5ffa&&!_0x5cfeb8&&await _0x4c1894[_0x40580e(0x10e)](promptSaveCredentials,_0x3df886[_0x40580e(0xae)]),{'authPath':_0x298855,'settings':_0x5dac30,'resolvedEnv':_0x446466};}else _0x20d374[_0x40580e(0x7b)]&&(console[_0x40580e(0x128)](_0x40580e(0xc1)),console[_0x40580e(0x128)](_0x20d374['test_output'])),console[_0x40580e(0x128)](_0x4c1894['wkeal']);}}catch(_0x57b130){console['log'](_0x40580e(0xdd)+(_0x4c1894['ECIHZ'](_0x57b130,Error)?_0x57b130['message']:_0x4c1894[_0x40580e(0x11f)](String,_0x57b130))),console[_0x40580e(0x128)](_0x4c1894['wkeal']);}const _0x3c0a9c=_0x446466?{..._0x446466,'setupHeaders':_0x2ff870}:_0x48e1dd?{'key':_0x3df886[_0x40580e(0x9a)]??'','domains':[_0x48e1dd],'setupHeaders':_0x2ff870}:null,{sessionState:_0x5504f1}=await manualBrowserLogin(_0x3df886,_0x3c0a9c,{'persistSessionState':!_0x595e70}),_0x475cb3=await _0x4c1894['QZiwC'](writeSessionToLocalCache,_0x3df886[_0x40580e(0xae)],_0x3df886[_0x40580e(0xc8)],_0x48e1dd,_0x2ff870,_0x5504f1,_0x3dfa73,_0x40251d);return{'authPath':_0x475cb3,'settings':_0x5dac30,'resolvedEnv':_0x446466};}
@@ -1 +1 @@
1
- const _0x3f9a8a=_0x1e38;(function(_0x3a8592,_0x76b56b){const _0x2d5b8c=_0x1e38,_0x199994=_0x3a8592();while(!![]){try{const _0x4d8c1c=-parseInt(_0x2d5b8c(0x1d3))/0x1*(-parseInt(_0x2d5b8c(0x1e0))/0x2)+-parseInt(_0x2d5b8c(0x1d2))/0x3+parseInt(_0x2d5b8c(0x1ea))/0x4+-parseInt(_0x2d5b8c(0x1d6))/0x5*(-parseInt(_0x2d5b8c(0x1e3))/0x6)+-parseInt(_0x2d5b8c(0x1ce))/0x7+parseInt(_0x2d5b8c(0x1eb))/0x8+-parseInt(_0x2d5b8c(0x1ee))/0x9;if(_0x4d8c1c===_0x76b56b)break;else _0x199994['push'](_0x199994['shift']());}catch(_0x172250){_0x199994['push'](_0x199994['shift']());}}}(_0x30ad,0x26ccb));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x110bd7=process['env'],_0x13cf4e={'stdin':process[_0x3f9a8a(0x1e9)],'stdout':process['stdout']}){const _0x14875e=_0x3f9a8a,_0x384de2={'OiqFR':function(_0x3f4f51,_0x2f2748){return _0x3f4f51(_0x2f2748);}};if(_0x110bd7['CI'])return![];return _0x384de2['OiqFR'](Boolean,_0x13cf4e[_0x14875e(0x1e9)]['isTTY'])&&Boolean(_0x13cf4e['stdout']['isTTY']);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x2faad7){const _0x110ca1=_0x3f9a8a,_0x1fb528={'HuDqZ':_0x110ca1(0x1c4),'UhvKY':function(_0x7814b9,_0x15291a){return _0x7814b9(_0x15291a);},'XfEaA':_0x110ca1(0x1e1),'mnvrk':'sha256'},_0x4d43fe=new Set(_0x2faad7[_0x110ca1(0x1cf)]??DEFAULT_INVALIDATE_ON),_0x15c8ce={'orgId':_0x2faad7[_0x110ca1(0x1ed)],'profileName':_0x2faad7[_0x110ca1(0x1cb)]};return _0x4d43fe['has'](_0x110ca1(0x1c7))&&(_0x15c8ce[_0x110ca1(0x1d5)]=_0x2faad7[_0x110ca1(0x1d5)]),_0x4d43fe[_0x110ca1(0x1d8)](_0x1fb528[_0x110ca1(0x1d4)])&&(_0x15c8ce['setupHeaders']=_0x2faad7[_0x110ca1(0x1c4)]?_0x1fb528[_0x110ca1(0x1e8)](sortObjectKeys,_0x2faad7[_0x110ca1(0x1c4)]):_0x2faad7[_0x110ca1(0x1c4)]),_0x4d43fe['has'](_0x1fb528[_0x110ca1(0x1da)])&&(_0x15c8ce[_0x110ca1(0x1e1)]=extractPort(_0x2faad7[_0x110ca1(0x1d5)])),_0x4d43fe['has']('userAgent')&&_0x2faad7['userAgent']!==undefined&&(_0x15c8ce[_0x110ca1(0x1cc)]=_0x2faad7['userAgent']),_0x4d43fe['has'](_0x110ca1(0x1c3))&&_0x2faad7['clientIp']!==undefined&&(_0x15c8ce['clientIp']=_0x2faad7['clientIp']),createHash(_0x1fb528[_0x110ca1(0x1ec)])[_0x110ca1(0x1de)](JSON['stringify'](_0x15c8ce))[_0x110ca1(0x1c5)]('hex')[_0x110ca1(0x1cd)](0x0,0xc);}function _0x30ad(){const _0x5e9099=['orgId','2111544syKVXx','EFiMS','.localhost','clientIp','setupHeaders','digest','launchBrowser','baseUrl','auth','twTDA','sessionCheckPath','profileName','userAgent','slice','658266xWWqpA','invalidateOn','.storageState.json','close','652701VjYbBp','144139OieycI','HuDqZ','effectiveBaseUrl','709370HyQXvr','EhpMv','has','aZOTN','XfEaA','keys','sort','toString','update','test','4ABrLVL','port','domcontentloaded','6isNFwP','hostname','ycMuN','127.0.0.1','push','UhvKY','stdin','574920YhsHVy','1050096KONUph','mnvrk'];_0x30ad=function(){return _0x5e9099;};return _0x30ad();}function extractPort(_0x155bc1){try{return new URL(_0x155bc1)['port'];}catch{return'';}}function sortObjectKeys(_0x5a1e87){const _0xdbbcb5=_0x3f9a8a,_0x5eeb40={};for(const _0x14ee7e of Object[_0xdbbcb5(0x1db)](_0x5a1e87)[_0xdbbcb5(0x1dc)]()){_0x5eeb40[_0x14ee7e]=_0x5a1e87[_0x14ee7e];}return _0x5eeb40;}export function getSessionCachePath(_0x1afa11,_0x41ee27){const _0x1c50f3=_0x3f9a8a,_0x37852b={'IdtgX':_0x1c50f3(0x1c8)};return join(getRangerHomeDir(),_0x37852b['IdtgX'],_0x1afa11+'-'+_0x41ee27+'.json');}export function getStorageStatePath(_0x3c8ed9){const _0x5c1450=_0x3f9a8a;return _0x3c8ed9['replace'](/\.json$/,_0x5c1450(0x1d0));}export function needsTunnel(_0x32912c){const _0x4d8095=_0x3f9a8a,_0x350a41={'twTDA':function(_0x2da700,_0x3cbd7e){return _0x2da700===_0x3cbd7e;}};let _0x20cdcc;try{_0x20cdcc=new URL(_0x32912c)['hostname'];}catch{return![];}if(_0x20cdcc==='localhost'||_0x350a41[_0x4d8095(0x1c9)](_0x20cdcc,_0x4d8095(0x1e6)))return!![];if(_0x20cdcc['endsWith'](_0x4d8095(0x1c2)))return!![];if(_0x20cdcc['includes']('localhost.'))return!![];return![];}export function hostnameOf(_0x2e7b5a){const _0x4d5d0f=_0x3f9a8a;return new URL(_0x2e7b5a)[_0x4d5d0f(0x1e4)];}function _0x1e38(_0x37d49c,_0x4d2432){_0x37d49c=_0x37d49c-0x1c1;const _0x30ad83=_0x30ad();let _0x1e3869=_0x30ad83[_0x37d49c];return _0x1e3869;}export function duplicateCookiesForDomains(_0x420d0a,_0x55cee8){const _0x3adddd=_0x3f9a8a,_0x2ad899=[..._0x420d0a],_0x360379=new Set(_0x420d0a['map'](_0x1f8a45=>_0x1f8a45['domain']));for(const _0xadc54 of _0x55cee8){let _0x3c897a;try{_0x3c897a=hostnameOf(_0xadc54);}catch{continue;}if(!_0x3c897a)continue;const _0x3e42c3=_0x3c897a['startsWith']('.')?_0x3c897a:'.'+_0x3c897a;if(_0x360379['has'](_0x3c897a)||_0x360379['has'](_0x3e42c3))continue;for(const _0x7f1b4e of _0x420d0a){_0x2ad899[_0x3adddd(0x1e7)]({..._0x7f1b4e,'domain':_0x3e42c3});}_0x360379['add'](_0x3e42c3);}return _0x2ad899;}export function resolveAuthEnvironmentLocally(_0x4a3c54,_0x41d11f){const _0x5243b0={'UmdFG':function(_0x5d2a54,_0x4813c5){return _0x5d2a54===_0x4813c5;}},_0x2234fb=_0x4a3c54['environments'];if(_0x41d11f){const _0x252b97=_0x2234fb[_0x41d11f];if(!_0x252b97)return null;return{'key':_0x41d11f,..._0x252b97};}if(_0x4a3c54['defaultEnvironmentKey']){const _0x51b307=_0x2234fb[_0x4a3c54['defaultEnvironmentKey']];if(!_0x51b307)return null;return{'key':_0x4a3c54['defaultEnvironmentKey'],..._0x51b307};}const _0x57e91a=Object['keys'](_0x2234fb);if(_0x5243b0['UmdFG'](_0x57e91a['length'],0x1)){const _0x3e2a50=_0x57e91a[0x0];return{'key':_0x3e2a50,..._0x2234fb[_0x3e2a50]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x329dae,_0x5504e2){const _0x2c5570=_0x3f9a8a;try{if(_0x5504e2)return new URL(_0x5504e2,_0x329dae)[_0x2c5570(0x1dd)]();return new URL(_0x329dae)[_0x2c5570(0x1dd)]();}catch{return null;}}export function looksLikeLoginUrl(_0x58affa){const _0x5a8012=_0x3f9a8a;try{const _0x756c39=new URL(_0x58affa);return LOGIN_URL_PATTERN[_0x5a8012(0x1df)](_0x756c39['pathname']);}catch{return LOGIN_URL_PATTERN[_0x5a8012(0x1df)](_0x58affa);}}export async function isCachedSessionLive(_0x2d1725,_0x2cba16,_0x3a2f3d={},_0x3c6c3a={}){const _0x4061dc=_0x3f9a8a,_0x1c3d00={'EFiMS':function(_0x5e7372,_0x348ffc,_0x47e4ce){return _0x5e7372(_0x348ffc,_0x47e4ce);},'EhpMv':_0x4061dc(0x1e2),'aZOTN':function(_0x3c1c51,_0x26c228){return _0x3c1c51===_0x26c228;},'ycMuN':function(_0x3ab0d7,_0x422ba7){return _0x3ab0d7(_0x422ba7);}},_0x58a58f=_0x1c3d00[_0x4061dc(0x1c1)](buildSessionCheckUrl,_0x2cba16,_0x3a2f3d[_0x4061dc(0x1ca)]);if(!_0x58a58f)return!![];if(!_0x3c6c3a['launchBrowser'])return!![];let _0x4b31dc=null;try{_0x4b31dc=await _0x3c6c3a[_0x4061dc(0x1c6)]();const _0x57ca93=await _0x4b31dc['newContext']({'storageState':_0x2d1725,'ignoreHTTPSErrors':!![],..._0x3a2f3d['setupHeaders']?{'extraHTTPHeaders':_0x3a2f3d[_0x4061dc(0x1c4)]}:{}}),_0x58f33f=await _0x57ca93['newPage'](),_0x28bcf1=await _0x58f33f['goto'](_0x58a58f,{'waitUntil':_0x1c3d00[_0x4061dc(0x1d7)],'timeout':0x3a98}),_0x4bf99a=_0x28bcf1?.['status']();if(_0x1c3d00[_0x4061dc(0x1d9)](_0x4bf99a,0x191)||_0x1c3d00['aZOTN'](_0x4bf99a,0x193))return![];const _0x3936b2=_0x58f33f['url']();if(_0x1c3d00[_0x4061dc(0x1e5)](looksLikeLoginUrl,_0x3936b2))return![];return!![];}catch{return![];}finally{if(_0x4b31dc)await _0x4b31dc[_0x4061dc(0x1d1)]()['catch'](()=>{});}}
1
+ const _0x1ba78f=_0x3f96;function _0x2afd(){const _0x39ab2b=['baseUrl','toString','sort','980320OtkGHt','auth','908436DchRPP','231lSGWCS','29138PhzrdG','clientIp','5078528NxRWhQ','isTTY','stdin','map','hex','localhost.','ppygE','setupHeaders','ZkWOY','has','userAgent','15776784VkiHgg','cuwnb','status','3113646yxtpSp','295687PjXRdV','launchBrowser','sha256','add','push','5tlXhDb','RqVEb','includes','update','stringify','newContext','IloZe','defaultEnvironmentKey','test','port','effectiveBaseUrl','goto','hostname','environments','.json'];_0x2afd=function(){return _0x39ab2b;};return _0x2afd();}(function(_0x2012c0,_0x57afb8){const _0x1623e4=_0x3f96,_0x269b3e=_0x2012c0();while(!![]){try{const _0x2d08a1=parseInt(_0x1623e4(0x9c))/0x1+parseInt(_0x1623e4(0x9e))/0x2*(parseInt(_0x1623e4(0x9d))/0x3)+parseInt(_0x1623e4(0xa0))/0x4+-parseInt(_0x1623e4(0xb4))/0x5*(parseInt(_0x1623e4(0xae))/0x6)+parseInt(_0x1623e4(0xaf))/0x7+-parseInt(_0x1623e4(0x9a))/0x8+-parseInt(_0x1623e4(0xab))/0x9;if(_0x2d08a1===_0x57afb8)break;else _0x269b3e['push'](_0x269b3e['shift']());}catch(_0xc4112d){_0x269b3e['push'](_0x269b3e['shift']());}}}(_0x2afd,0xe75d1));import{createHash}from'crypto';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x11ef93=process['env'],_0x44c6f8={'stdin':process[_0x1ba78f(0xa2)],'stdout':process['stdout']}){const _0x4e1ff6=_0x1ba78f,_0x532819={'oKiGG':function(_0x1fc39e,_0x39c70c){return _0x1fc39e(_0x39c70c);}};if(_0x11ef93['CI'])return![];return Boolean(_0x44c6f8['stdin'][_0x4e1ff6(0xa1)])&&_0x532819['oKiGG'](Boolean,_0x44c6f8['stdout'][_0x4e1ff6(0xa1)]);}export const DEFAULT_INVALIDATE_ON=[];function _0x3f96(_0x2b3d8e,_0x40a5b1){_0x2b3d8e=_0x2b3d8e-0x90;const _0x2afde7=_0x2afd();let _0x3f96c2=_0x2afde7[_0x2b3d8e];return _0x3f96c2;}export function sessionCacheHash(_0x1cb04e){const _0x3e0471=_0x1ba78f,_0x5f151d={'ZkWOY':_0x3e0471(0x97),'PPmEW':function(_0x5d4bff,_0x5093fd){return _0x5d4bff(_0x5093fd);},'draSw':_0x3e0471(0xaa),'ppygE':function(_0x219ab8,_0x20486d){return _0x219ab8!==_0x20486d;}},_0x1c3655=new Set(_0x1cb04e['invalidateOn']??DEFAULT_INVALIDATE_ON);_0x1cb04e['effectiveBaseUrl']&&needsTunnel(_0x1cb04e['effectiveBaseUrl'])&&_0x1c3655[_0x3e0471(0xb2)](_0x5f151d['ZkWOY']);const _0x517ee8={'orgId':_0x1cb04e['orgId'],'profileName':_0x1cb04e['profileName']};return _0x1c3655['has'](_0x5f151d[_0x3e0471(0xa8)])&&(_0x517ee8['effectiveBaseUrl']=_0x1cb04e[_0x3e0471(0x92)]),_0x1c3655['has'](_0x3e0471(0xa7))&&(_0x517ee8[_0x3e0471(0xa7)]=_0x1cb04e['setupHeaders']?_0x5f151d['PPmEW'](sortObjectKeys,_0x1cb04e[_0x3e0471(0xa7)]):_0x1cb04e[_0x3e0471(0xa7)]),_0x1c3655['has'](_0x3e0471(0x91))&&(_0x517ee8['port']=extractPort(_0x1cb04e[_0x3e0471(0x92)])),_0x1c3655['has'](_0x5f151d['draSw'])&&_0x1cb04e[_0x3e0471(0xaa)]!==undefined&&(_0x517ee8[_0x3e0471(0xaa)]=_0x1cb04e['userAgent']),_0x1c3655['has']('clientIp')&&_0x5f151d[_0x3e0471(0xa6)](_0x1cb04e['clientIp'],undefined)&&(_0x517ee8['clientIp']=_0x1cb04e[_0x3e0471(0x9f)]),createHash(_0x3e0471(0xb1))[_0x3e0471(0xb7)](JSON[_0x3e0471(0xb8)](_0x517ee8))['digest'](_0x3e0471(0xa4))['slice'](0x0,0xc);}function extractPort(_0x18328e){try{return new URL(_0x18328e)['port'];}catch{return'';}}function sortObjectKeys(_0x20eaeb){const _0x1e7c39=_0x1ba78f,_0x38e382={};for(const _0x4fc8f2 of Object['keys'](_0x20eaeb)[_0x1e7c39(0x99)]()){_0x38e382[_0x4fc8f2]=_0x20eaeb[_0x4fc8f2];}return _0x38e382;}export function getSessionCachePath(_0x1bd122,_0x3c7c3c){const _0x44b0aa=_0x1ba78f;return join(getRangerHomeDir(),_0x44b0aa(0x9b),_0x1bd122+'-'+_0x3c7c3c+_0x44b0aa(0x96));}export function getStorageStatePath(_0x2d370f){return _0x2d370f['replace'](/\.json$/,'.storageState.json');}export function needsTunnel(_0x2ec48f){const _0x38b9ca=_0x1ba78f,_0x1822bc={'eBIPI':'localhost','RqVEb':function(_0x12bfa4,_0xf982fa){return _0x12bfa4===_0xf982fa;},'IloZe':_0x38b9ca(0xa5)};let _0x10e6fc;try{_0x10e6fc=new URL(_0x2ec48f)['hostname'];}catch{return![];}if(_0x10e6fc===_0x1822bc['eBIPI']||_0x1822bc[_0x38b9ca(0xb5)](_0x10e6fc,'127.0.0.1'))return!![];if(_0x10e6fc['endsWith']('.localhost'))return!![];if(_0x10e6fc[_0x38b9ca(0xb6)](_0x1822bc[_0x38b9ca(0xba)]))return!![];return![];}export function hostnameOf(_0x1846cd){const _0x5e258c=_0x1ba78f;return new URL(_0x1846cd)[_0x5e258c(0x94)];}export function duplicateCookiesForDomains(_0x253ec7,_0xe16298){const _0x311626=_0x1ba78f,_0x30ad36={'sMtZP':function(_0x519771,_0x3dd45a){return _0x519771(_0x3dd45a);}},_0x534476=[..._0x253ec7],_0x3d73fc=new Set(_0x253ec7[_0x311626(0xa3)](_0x3b6227=>_0x3b6227['domain']));for(const _0x131bfa of _0xe16298){let _0x1f9572;try{_0x1f9572=_0x30ad36['sMtZP'](hostnameOf,_0x131bfa);}catch{continue;}if(!_0x1f9572)continue;const _0x5b6343=_0x1f9572['startsWith']('.')?_0x1f9572:'.'+_0x1f9572;if(_0x3d73fc[_0x311626(0xa9)](_0x1f9572)||_0x3d73fc[_0x311626(0xa9)](_0x5b6343))continue;for(const _0x3baed2 of _0x253ec7){_0x534476[_0x311626(0xb3)]({..._0x3baed2,'domain':_0x5b6343});}_0x3d73fc['add'](_0x5b6343);}return _0x534476;}export function resolveAuthEnvironmentLocally(_0x4ff9cb,_0x3dbc59){const _0x2e28d8=_0x1ba78f,_0x187e40=_0x4ff9cb[_0x2e28d8(0x95)];if(_0x3dbc59){const _0xb78e10=_0x187e40[_0x3dbc59];if(!_0xb78e10)return null;return{'key':_0x3dbc59,..._0xb78e10};}if(_0x4ff9cb[_0x2e28d8(0xbb)]){const _0x52fdd0=_0x187e40[_0x4ff9cb['defaultEnvironmentKey']];if(!_0x52fdd0)return null;return{'key':_0x4ff9cb['defaultEnvironmentKey'],..._0x52fdd0};}const _0x3d8dd1=Object['keys'](_0x187e40);if(_0x3d8dd1['length']===0x1){const _0x268582=_0x3d8dd1[0x0];return{'key':_0x268582,..._0x187e40[_0x268582]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x5a5d94,_0x2d843b){const _0x105527=_0x1ba78f;try{if(_0x2d843b)return new URL(_0x2d843b,_0x5a5d94)[_0x105527(0x98)]();return new URL(_0x5a5d94)[_0x105527(0x98)]();}catch{return null;}}export function looksLikeLoginUrl(_0x31892d){const _0x27ef85=_0x1ba78f;try{const _0x390d92=new URL(_0x31892d);return LOGIN_URL_PATTERN['test'](_0x390d92['pathname']);}catch{return LOGIN_URL_PATTERN[_0x27ef85(0x90)](_0x31892d);}}export async function isCachedSessionLive(_0x5d7a5d,_0x39221e,_0x42736e={},_0x340402={}){const _0x277d5b=_0x1ba78f,_0x4d4319={'VRCMs':function(_0x107786,_0x3fa750,_0x1fd106){return _0x107786(_0x3fa750,_0x1fd106);},'cuwnb':function(_0x5c9698,_0x30e2b8){return _0x5c9698===_0x30e2b8;},'PHKfg':function(_0x11f502,_0x3647f9){return _0x11f502(_0x3647f9);}},_0x565127=_0x4d4319['VRCMs'](buildSessionCheckUrl,_0x39221e,_0x42736e['sessionCheckPath']);if(!_0x565127)return!![];if(!_0x340402[_0x277d5b(0xb0)])return!![];let _0x29c20e=null;try{_0x29c20e=await _0x340402['launchBrowser']();const _0x2d5eb3=await _0x29c20e[_0x277d5b(0xb9)]({'storageState':_0x5d7a5d,'ignoreHTTPSErrors':!![],..._0x42736e[_0x277d5b(0xa7)]?{'extraHTTPHeaders':_0x42736e[_0x277d5b(0xa7)]}:{}}),_0x16eb02=await _0x2d5eb3['newPage'](),_0x168fca=await _0x16eb02[_0x277d5b(0x93)](_0x565127,{'waitUntil':'domcontentloaded','timeout':0x3a98}),_0x5d49ac=_0x168fca?.[_0x277d5b(0xad)]();if(_0x5d49ac===0x191||_0x4d4319[_0x277d5b(0xac)](_0x5d49ac,0x193))return![];const _0x542d5d=_0x16eb02['url']();if(_0x4d4319['PHKfg'](looksLikeLoginUrl,_0x542d5d))return![];return!![];}catch{return![];}finally{if(_0x29c20e)await _0x29c20e['close']()['catch'](()=>{});}}
@@ -1 +1 @@
1
- const _0x7184fe=_0x4c0e;(function(_0x237877,_0x5c8242){const _0x3244e1=_0x4c0e,_0x2542a0=_0x237877();while(!![]){try{const _0x5259da=-parseInt(_0x3244e1(0x1da))/0x1+parseInt(_0x3244e1(0x1dc))/0x2*(-parseInt(_0x3244e1(0x1d4))/0x3)+parseInt(_0x3244e1(0x1d7))/0x4+-parseInt(_0x3244e1(0x1df))/0x5+parseInt(_0x3244e1(0x1d5))/0x6+parseInt(_0x3244e1(0x1d6))/0x7+parseInt(_0x3244e1(0x1d9))/0x8;if(_0x5259da===_0x5c8242)break;else _0x2542a0['push'](_0x2542a0['shift']());}catch(_0x41737d){_0x2542a0['push'](_0x2542a0['shift']());}}}(_0x3f11,0x81fab));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM=_0x7184fe(0x1e0),SALT=_0x7184fe(0x1d0),KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;function _0x4c0e(_0x3bcb12,_0x45d61e){_0x3bcb12=_0x3bcb12-0x1ce;const _0x3f1189=_0x3f11();let _0x4c0e71=_0x3f1189[_0x3bcb12];return _0x4c0e71;}export function deriveKey(_0x42e0dd){return pbkdf2Sync(_0x42e0dd,SALT,0x186a0,KEY_LENGTH,'sha256');}export function encrypt(_0x1778de,_0x4af644){const _0x47c0ab=_0x7184fe,_0x8e0223={'jyGEG':function(_0x28b13b,_0x490a18){return _0x28b13b(_0x490a18);},'qAWtZ':function(_0x201b20,_0x1891ce,_0x40b05e,_0xb94551){return _0x201b20(_0x1891ce,_0x40b05e,_0xb94551);}},_0x46d9ae=_0x8e0223['jyGEG'](deriveKey,_0x4af644),_0x5b0f84=_0x8e0223['jyGEG'](randomBytes,IV_LENGTH),_0x4a6108=_0x8e0223[_0x47c0ab(0x1dd)](createCipheriv,ALGORITHM,_0x46d9ae,_0x5b0f84),_0x6bc2ca=Buffer['concat']([_0x4a6108[_0x47c0ab(0x1cf)](_0x1778de,_0x47c0ab(0x1d2)),_0x4a6108[_0x47c0ab(0x1e1)]()]),_0x5cdf29=_0x4a6108[_0x47c0ab(0x1d1)]();return Buffer['concat']([_0x5b0f84,_0x5cdf29,_0x6bc2ca]);}export function decrypt(_0x1cef88,_0x5c481a){const _0x35d5d4=_0x7184fe,_0x2cfc4d={'RVxpT':function(_0x6f89af,_0x2d2919){return _0x6f89af(_0x2d2919);},'NQKoH':function(_0x298501,_0x2681d4){return _0x298501+_0x2681d4;},'aAtLH':function(_0x376382,_0x797734,_0x282dec,_0x3c0f5a){return _0x376382(_0x797734,_0x282dec,_0x3c0f5a);},'AfNNP':function(_0x12ad74,_0x5af3c2){return _0x12ad74+_0x5af3c2;}},_0x4f6ff6=_0x2cfc4d['RVxpT'](deriveKey,_0x5c481a),_0x55a1a4=_0x1cef88[_0x35d5d4(0x1d8)](0x0,IV_LENGTH),_0x59875e=_0x1cef88['subarray'](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x3dacc5=_0x1cef88[_0x35d5d4(0x1d8)](_0x2cfc4d[_0x35d5d4(0x1d3)](IV_LENGTH,TAG_LENGTH)),_0x497046=_0x2cfc4d[_0x35d5d4(0x1de)](createDecipheriv,ALGORITHM,_0x4f6ff6,_0x55a1a4);return _0x497046[_0x35d5d4(0x1db)](_0x59875e),_0x2cfc4d[_0x35d5d4(0x1ce)](_0x497046['update'](_0x3dacc5),_0x497046['final']('utf8'));}function _0x3f11(){const _0x232fb8=['update','ranger-auth-encryption','getAuthTag','utf8','NQKoH','38481ibCwNd','362658BwkUQN','1517922CpFqbW','2667844ckVjyc','subarray','14054152PBlSJE','994601ZrKdvo','setAuthTag','38cUfgNu','qAWtZ','aAtLH','4651550McLYVU','aes-256-gcm','final','AfNNP'];_0x3f11=function(){return _0x232fb8;};return _0x3f11();}
1
+ function _0x113b(){const _0xcb7a53=['ESvyX','Vikpc','5128720MxXtoE','2234wscwMQ','update','10159425rYzPrb','utf8','PIiCv','3934560gMkzBT','573XklJqc','concat','15OQeaAy','3717483zCDSNe','txxUP','3148950ONWzeW','HdTEa','3902346GipOBe'];_0x113b=function(){return _0xcb7a53;};return _0x113b();}(function(_0x3ef39b,_0x284054){const _0x1aa028=_0x5073,_0x3d106e=_0x3ef39b();while(!![]){try{const _0x405d54=-parseInt(_0x1aa028(0x106))/0x1*(-parseInt(_0x1aa028(0x111))/0x2)+-parseInt(_0x1aa028(0x10d))/0x3+-parseInt(_0x1aa028(0x105))/0x4+-parseInt(_0x1aa028(0x108))/0x5*(-parseInt(_0x1aa028(0x10b))/0x6)+parseInt(_0x1aa028(0x109))/0x7+-parseInt(_0x1aa028(0x110))/0x8+parseInt(_0x1aa028(0x113))/0x9;if(_0x405d54===_0x284054)break;else _0x3d106e['push'](_0x3d106e['shift']());}catch(_0x42349e){_0x3d106e['push'](_0x3d106e['shift']());}}}(_0x113b,0xe7aa2));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';const ALGORITHM='aes-256-gcm',SALT='ranger-auth-encryption',KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;export function deriveKey(_0x2e736a){const _0x1f75e0=_0x5073,_0x43e7db={'wGDtb':function(_0x3e9a71,_0x58737d,_0xa760f9,_0x2065a0,_0x3c1ad3,_0x1caba3){return _0x3e9a71(_0x58737d,_0xa760f9,_0x2065a0,_0x3c1ad3,_0x1caba3);},'PIiCv':'sha256'};return _0x43e7db['wGDtb'](pbkdf2Sync,_0x2e736a,SALT,0x186a0,KEY_LENGTH,_0x43e7db[_0x1f75e0(0x104)]);}export function encrypt(_0x48e2c9,_0x274711){const _0x59874a=_0x5073,_0x5d8380={'ESvyX':_0x59874a(0x103)},_0x46221e=deriveKey(_0x274711),_0x28cc86=randomBytes(IV_LENGTH),_0x346628=createCipheriv(ALGORITHM,_0x46221e,_0x28cc86),_0x32bfa3=Buffer['concat']([_0x346628[_0x59874a(0x112)](_0x48e2c9,_0x5d8380[_0x59874a(0x10e)]),_0x346628['final']()]),_0xfb313b=_0x346628['getAuthTag']();return Buffer[_0x59874a(0x107)]([_0x28cc86,_0xfb313b,_0x32bfa3]);}function _0x5073(_0x27c9db,_0x481d1f){_0x27c9db=_0x27c9db-0x103;const _0x113b79=_0x113b();let _0x5073e3=_0x113b79[_0x27c9db];return _0x5073e3;}export function decrypt(_0x17705f,_0x11e21b){const _0x4aa734=_0x5073,_0x1829c1={'txxUP':function(_0x27defd,_0x1c6051){return _0x27defd+_0x1c6051;},'DaCdy':function(_0x14c2f7,_0x40fcf6,_0x1695f3,_0x1abbee){return _0x14c2f7(_0x40fcf6,_0x1695f3,_0x1abbee);},'HdTEa':function(_0x206e51,_0xcd89ec){return _0x206e51+_0xcd89ec;},'Vikpc':_0x4aa734(0x103)},_0x5efb54=deriveKey(_0x11e21b),_0x4db737=_0x17705f['subarray'](0x0,IV_LENGTH),_0x12fa8f=_0x17705f['subarray'](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x3e2df1=_0x17705f['subarray'](_0x1829c1[_0x4aa734(0x10a)](IV_LENGTH,TAG_LENGTH)),_0x5dd0a7=_0x1829c1['DaCdy'](createDecipheriv,ALGORITHM,_0x5efb54,_0x4db737);return _0x5dd0a7['setAuthTag'](_0x12fa8f),_0x1829c1[_0x4aa734(0x10c)](_0x5dd0a7['update'](_0x3e2df1),_0x5dd0a7['final'](_0x1829c1[_0x4aa734(0x10f)]));}
@@ -1 +1 @@
1
- const _0x723662=_0x1790;(function(_0x3a290e,_0x541f78){const _0x252e04=_0x1790,_0x2fb0b9=_0x3a290e();while(!![]){try{const _0x3abf3a=-parseInt(_0x252e04(0x1c9))/0x1+parseInt(_0x252e04(0x1cb))/0x2*(parseInt(_0x252e04(0x1a6))/0x3)+-parseInt(_0x252e04(0x1c5))/0x4+parseInt(_0x252e04(0x1d6))/0x5+-parseInt(_0x252e04(0x1bc))/0x6*(parseInt(_0x252e04(0x1b9))/0x7)+-parseInt(_0x252e04(0x1ae))/0x8*(-parseInt(_0x252e04(0x1ce))/0x9)+-parseInt(_0x252e04(0x1c6))/0xa;if(_0x3abf3a===_0x541f78)break;else _0x2fb0b9['push'](_0x2fb0b9['shift']());}catch(_0x4b0b7e){_0x2fb0b9['push'](_0x2fb0b9['shift']());}}}(_0x4d54,0xe054a));function _0x4d54(){const _0x31c9ce=['env','770036zEEzFE','errorMessage','4AZXPmT','=[REDACTED]','error','126081GfypQJ','has_token','Unknown\x20command','slice','startsWith','Authorization','--authorization','Ovcsv','6802810mxLmWw','Not\x20enough\x20non-option\x20arguments','[desire-path]\x20Failed\x20to\x20send:\x20','syntax_error','--password','--secret','SorRS','2513937AroFRd','has','--token','runtime_error','--key','POST','zhQid','join','176DtUPPH','errorType','application/json','--pass','AQRrp','missing_option','catch','--apikey','missing_required_argument','includes','test','7ECwIhp','--credentials','isTTY','4753374nuAWGa','toLowerCase','rawCommand','sessionId','length','--api-key','indexOf','push','mWJxh','1846784PnmDgz','4018990ftIfct','[REDACTED]'];_0x4d54=function(){return _0x31c9ce;};return _0x4d54();}function _0x1790(_0xd771d9,_0x54c129){_0xd771d9=_0xd771d9-0x1a4;const _0x4d54a0=_0x4d54();let _0x17900c=_0x4d54a0[_0xd771d9];return _0x17900c;}import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';const SENSITIVE_FLAGS=new Set([_0x723662(0x1a8),'-t',_0x723662(0x1a4),_0x723662(0x1c1),_0x723662(0x1b5),_0x723662(0x1aa),_0x723662(0x1da),_0x723662(0x1b1),'--auth',_0x723662(0x1d4),'--header','--cookie',_0x723662(0x1ba)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x455334){const _0x47e260=_0x723662;return TOKEN_PATTERNS['some'](_0x11dc5e=>_0x11dc5e[_0x47e260(0x1b8)](_0x455334));}export function sanitizeArgs(_0x3374c6){const _0x2152f2=_0x723662,_0x4d81b0={'xXSxj':function(_0x4b5090,_0xae6e71){return _0x4b5090<_0xae6e71;},'SorRS':_0x2152f2(0x1c7),'ZGEfc':function(_0x206608,_0x153e37){return _0x206608!==_0x153e37;}},_0x53619f=[];let _0xa474eb=![];for(let _0x5b5d25=0x0;_0x4d81b0['xXSxj'](_0x5b5d25,_0x3374c6[_0x2152f2(0x1c0)]);_0x5b5d25++){const _0x2599f6=_0x3374c6[_0x5b5d25];if(_0xa474eb){_0x53619f[_0x2152f2(0x1c3)](_0x4d81b0[_0x2152f2(0x1a5)]),_0xa474eb=![];continue;}if(_0x2599f6['startsWith']('--')||_0x2599f6[_0x2152f2(0x1d2)]('-')){const _0x52dd80=_0x2599f6[_0x2152f2(0x1c2)]('=');if(_0x4d81b0['ZGEfc'](_0x52dd80,-0x1)){const _0x30ddcc=_0x2599f6[_0x2152f2(0x1d1)](0x0,_0x52dd80)['toLowerCase']();if(SENSITIVE_FLAGS['has'](_0x30ddcc)){_0x53619f['push'](_0x2599f6[_0x2152f2(0x1d1)](0x0,_0x52dd80)+_0x2152f2(0x1cc));continue;}}else{const _0x290c1b=_0x2599f6[_0x2152f2(0x1bd)]();SENSITIVE_FLAGS[_0x2152f2(0x1a7)](_0x290c1b)&&(_0xa474eb=!![]);}_0x53619f[_0x2152f2(0x1c3)](_0x2599f6);}else looksLikeToken(_0x2599f6)?_0x53619f['push']('[REDACTED]'):_0x53619f[_0x2152f2(0x1c3)](_0x2599f6);}return _0x53619f[_0x2152f2(0x1ad)]('\x20');}export async function logDesirePath(_0x307e9f){const _0x4e87b9=_0x723662,_0xfa07d6={'mWJxh':function(_0x225181){return _0x225181();},'JGkBC':'no_token','YSIEj':_0x4e87b9(0x1b0),'VRjdo':_0x4e87b9(0x1ab)};try{const _0x401133=await _0xfa07d6['mWJxh'](getToken)[_0x4e87b9(0x1b4)](()=>null),_0x445424=_0xfa07d6[_0x4e87b9(0x1c4)](getApiBaseUrl),_0x383cfa=getCurrentVersion(),_0x19dd26=_0x401133?_0x4e87b9(0x1cf):_0xfa07d6['JGkBC'],_0x2a97cb={..._0x307e9f['metadata'],'authStatus':_0x19dd26,'isTty':process['stdout'][_0x4e87b9(0x1bb)]??![]},_0x5a0f06={'Content-Type':_0xfa07d6['YSIEj']};_0x401133&&(_0x5a0f06[_0x4e87b9(0x1d3)]='Bearer\x20'+_0x401133);const _0x85b2e9={'rawCommand':_0x307e9f[_0x4e87b9(0x1be)],'errorMessage':_0x307e9f[_0x4e87b9(0x1ca)],'errorType':_0x307e9f[_0x4e87b9(0x1af)],'featureId':_0x307e9f['featureId'],'sessionId':_0x307e9f[_0x4e87b9(0x1bf)],'metadata':_0x2a97cb,'cliVersion':_0x383cfa};process['env']['DEBUG']&&(console[_0x4e87b9(0x1cd)]('[desire-path]\x20Sending\x20log\x20to\x20'+_0x445424+'/api/v1/mcp/desire-path-logs'),console[_0x4e87b9(0x1cd)]('[desire-path]\x20Payload:\x20'+JSON['stringify'](_0x85b2e9,null,0x2))),await fetch(_0x445424+'/api/v1/mcp/desire-path-logs',{'method':_0xfa07d6['VRjdo'],'headers':_0x5a0f06,'body':JSON['stringify'](_0x85b2e9)});}catch(_0x577b11){process[_0x4e87b9(0x1c8)]['DEBUG']&&console[_0x4e87b9(0x1cd)](_0x4e87b9(0x1d8)+_0x577b11);}}export function getErrorType(_0x51ebae,_0x47f23e){const _0x3ef533=_0x723662,_0xd2a65a={'Ovcsv':'unknown','nkVtZ':_0x3ef533(0x1d0),'vIWwk':'unknown_command','WTYoB':'Unknown\x20argument','zhQid':'unknown_argument','AQRrp':'invalid_option_value','MWCTn':'Missing\x20required\x20argument'};if(_0x47f23e)return _0x3ef533(0x1a9);if(!_0x51ebae)return _0xd2a65a[_0x3ef533(0x1d5)];if(_0x51ebae['includes'](_0xd2a65a['nkVtZ']))return _0xd2a65a['vIWwk'];if(_0x51ebae['includes'](_0xd2a65a['WTYoB']))return _0xd2a65a[_0x3ef533(0x1ac)];if(_0x51ebae[_0x3ef533(0x1b7)](_0x3ef533(0x1d7)))return _0x3ef533(0x1b6);if(_0x51ebae['includes']('Invalid\x20values'))return _0xd2a65a[_0x3ef533(0x1b2)];if(_0x51ebae[_0x3ef533(0x1b7)](_0xd2a65a['MWCTn']))return _0x3ef533(0x1b3);return _0x3ef533(0x1d9);}
1
+ function _0x3600(){const _0x6e4462=['--api-key','617798bVxhfU','--key','slice','startsWith','Authorization','=[REDACTED]','100NJIxhZ','Not\x20enough\x20non-option\x20arguments','3254872EjoKAi','--apikey','length','includes','--pass','toLowerCase','--credentials','--secret','Unknown\x20argument','env','no_token','--cookie','947295qocPcQ','has','some','6387821LQQPTf','198neXdGB','[desire-path]\x20Sending\x20log\x20to\x20','220445XyUWCo','catch','--token','errorType','2374395jgvoTo','stringify','rqBcW','push','join','UjwzD','--authorization','coGSR','5rzSXFl','--password','error','YVglO','2152oxqgAA','rawCommand','[REDACTED]','ggHdO','indexOf','/api/v1/mcp/desire-path-logs','41111QKpsjY','Bearer\x20','test','aSjfM','dsDHT','DEBUG','invalid_option_value'];_0x3600=function(){return _0x6e4462;};return _0x3600();}const _0x1f2469=_0x4f5f;(function(_0x1082f9,_0x53e2ac){const _0x1226c9=_0x4f5f,_0x144e28=_0x1082f9();while(!![]){try{const _0x525b93=-parseInt(_0x1226c9(0xbe))/0x1*(-parseInt(_0x1226c9(0xd0))/0x2)+parseInt(_0x1226c9(0xb6))/0x3+-parseInt(_0x1226c9(0xa0))/0x4+-parseInt(_0x1226c9(0xb2))/0x5*(-parseInt(_0x1226c9(0xb0))/0x6)+-parseInt(_0x1226c9(0xc8))/0x7*(parseInt(_0x1226c9(0xc2))/0x8)+-parseInt(_0x1226c9(0xac))/0x9*(parseInt(_0x1226c9(0x9e))/0xa)+parseInt(_0x1226c9(0xaf))/0xb;if(_0x525b93===_0x53e2ac)break;else _0x144e28['push'](_0x144e28['shift']());}catch(_0x4a83c0){_0x144e28['push'](_0x144e28['shift']());}}}(_0x3600,0xe1f3f));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';function _0x4f5f(_0x3bc33c,_0xe14d6e){_0x3bc33c=_0x3bc33c-0x9e;const _0x360052=_0x3600();let _0x4f5fd1=_0x360052[_0x3bc33c];return _0x4f5fd1;}const SENSITIVE_FLAGS=new Set([_0x1f2469(0xb4),'-t',_0x1f2469(0xa7),_0x1f2469(0xcf),_0x1f2469(0xa1),_0x1f2469(0xd1),_0x1f2469(0xbf),_0x1f2469(0xa4),'--auth',_0x1f2469(0xbc),'--header',_0x1f2469(0xab),_0x1f2469(0xa6)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x4afa40){const _0x123bfb=_0x1f2469;return TOKEN_PATTERNS[_0x123bfb(0xae)](_0x5a7d61=>_0x5a7d61[_0x123bfb(0xca)](_0x4afa40));}export function sanitizeArgs(_0x545641){const _0x362d3d=_0x1f2469,_0x3ed0d3={'UjwzD':_0x362d3d(0xc4),'YDYth':function(_0x550c43,_0x5acb63){return _0x550c43!==_0x5acb63;},'dsDHT':function(_0x556052,_0x354919){return _0x556052(_0x354919);}},_0x1453ec=[];let _0x5744dd=![];for(let _0x2b4ca7=0x0;_0x2b4ca7<_0x545641[_0x362d3d(0xa2)];_0x2b4ca7++){const _0xe72429=_0x545641[_0x2b4ca7];if(_0x5744dd){_0x1453ec['push'](_0x3ed0d3[_0x362d3d(0xbb)]),_0x5744dd=![];continue;}if(_0xe72429[_0x362d3d(0xd3)]('--')||_0xe72429[_0x362d3d(0xd3)]('-')){const _0x38eb8a=_0xe72429[_0x362d3d(0xc6)]('=');if(_0x3ed0d3['YDYth'](_0x38eb8a,-0x1)){const _0x279238=_0xe72429[_0x362d3d(0xd2)](0x0,_0x38eb8a)[_0x362d3d(0xa5)]();if(SENSITIVE_FLAGS[_0x362d3d(0xad)](_0x279238)){_0x1453ec['push'](_0xe72429['slice'](0x0,_0x38eb8a)+_0x362d3d(0xd5));continue;}}else{const _0xbe056a=_0xe72429[_0x362d3d(0xa5)]();SENSITIVE_FLAGS[_0x362d3d(0xad)](_0xbe056a)&&(_0x5744dd=!![]);}_0x1453ec['push'](_0xe72429);}else _0x3ed0d3[_0x362d3d(0xcc)](looksLikeToken,_0xe72429)?_0x1453ec['push'](_0x362d3d(0xc4)):_0x1453ec[_0x362d3d(0xb9)](_0xe72429);}return _0x1453ec[_0x362d3d(0xba)]('\x20');}export async function logDesirePath(_0x5e182d){const _0x5cb073=_0x1f2469,_0x1cbde6={'rqBcW':function(_0x104edb){return _0x104edb();},'ormuI':function(_0x175730){return _0x175730();},'ggHdO':'application/json','coGSR':function(_0x458c86,_0x4f800b,_0x3f9fcd){return _0x458c86(_0x4f800b,_0x3f9fcd);}};try{const _0x226b19=await _0x1cbde6[_0x5cb073(0xb8)](getToken)[_0x5cb073(0xb3)](()=>null),_0xe79070=_0x1cbde6['ormuI'](getApiBaseUrl),_0x3aa833=_0x1cbde6['rqBcW'](getCurrentVersion),_0x19758b=_0x226b19?'has_token':_0x5cb073(0xaa),_0xc796db={..._0x5e182d['metadata'],'authStatus':_0x19758b,'isTty':process['stdout']['isTTY']??![]},_0x230922={'Content-Type':_0x1cbde6[_0x5cb073(0xc5)]};_0x226b19&&(_0x230922[_0x5cb073(0xd4)]=_0x5cb073(0xc9)+_0x226b19);const _0x5d10c2={'rawCommand':_0x5e182d[_0x5cb073(0xc3)],'errorMessage':_0x5e182d['errorMessage'],'errorType':_0x5e182d[_0x5cb073(0xb5)],'featureId':_0x5e182d['featureId'],'sessionId':_0x5e182d['sessionId'],'metadata':_0xc796db,'cliVersion':_0x3aa833};process[_0x5cb073(0xa9)][_0x5cb073(0xcd)]&&(console[_0x5cb073(0xc0)](_0x5cb073(0xb1)+_0xe79070+_0x5cb073(0xc7)),console['error']('[desire-path]\x20Payload:\x20'+JSON[_0x5cb073(0xb7)](_0x5d10c2,null,0x2))),await _0x1cbde6[_0x5cb073(0xbd)](fetch,_0xe79070+'/api/v1/mcp/desire-path-logs',{'method':'POST','headers':_0x230922,'body':JSON[_0x5cb073(0xb7)](_0x5d10c2)});}catch(_0xb90d8b){process['env'][_0x5cb073(0xcd)]&&console['error']('[desire-path]\x20Failed\x20to\x20send:\x20'+_0xb90d8b);}}export function getErrorType(_0x355041,_0xf632ae){const _0x227cb8=_0x1f2469,_0x343c42={'aSjfM':'unknown','DJmKm':'Unknown\x20command','JTXod':'unknown_argument','YVglO':'missing_option','GlytW':'syntax_error'};if(_0xf632ae)return'runtime_error';if(!_0x355041)return _0x343c42[_0x227cb8(0xcb)];if(_0x355041[_0x227cb8(0xa3)](_0x343c42['DJmKm']))return'unknown_command';if(_0x355041['includes'](_0x227cb8(0xa8)))return _0x343c42['JTXod'];if(_0x355041['includes'](_0x227cb8(0x9f)))return'missing_required_argument';if(_0x355041['includes']('Invalid\x20values'))return _0x227cb8(0xce);if(_0x355041['includes']('Missing\x20required\x20argument'))return _0x343c42[_0x227cb8(0xc1)];return _0x343c42['GlytW'];}
@@ -1 +1 @@
1
- const _0x3e883b=_0x4d9b;(function(_0x2fcfcc,_0xef7f6f){const _0x343fdc=_0x4d9b,_0x31bc9a=_0x2fcfcc();while(!![]){try{const _0x35728b=parseInt(_0x343fdc(0x11e))/0x1*(-parseInt(_0x343fdc(0x117))/0x2)+parseInt(_0x343fdc(0x135))/0x3*(parseInt(_0x343fdc(0x14c))/0x4)+-parseInt(_0x343fdc(0x139))/0x5+parseInt(_0x343fdc(0x122))/0x6*(parseInt(_0x343fdc(0x128))/0x7)+-parseInt(_0x343fdc(0x161))/0x8*(-parseInt(_0x343fdc(0x147))/0x9)+-parseInt(_0x343fdc(0x158))/0xa*(-parseInt(_0x343fdc(0x151))/0xb)+parseInt(_0x343fdc(0x146))/0xc;if(_0x35728b===_0xef7f6f)break;else _0x31bc9a['push'](_0x31bc9a['shift']());}catch(_0x50e9de){_0x31bc9a['push'](_0x31bc9a['shift']());}}}(_0x54c7,0xa9718));function _0x54c7(){const _0x3c3303=['18uJsToJ','Failed\x20to\x20provision\x20API\x20key:\x20','Device\x20authorization\x20timed\x20out','status','4754650qpiGzI','write','FNjar','PdCYA','nEkoU','access_token','GxZyb','jPPAD','unref','stringify','Authentication\x20failed','stdout','split','8564592Xzdwpw','9VjMKTK','YryKR','text','https://api.workos.com/user_management/authenticate','POST','328056OEzele','apiKeys','token','length','xdg-open','8888374MKkeqg','/organization/me','Invalid\x20JWT\x20format','application/x-www-form-urlencoded','Using\x20organization:\x20','open','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','10YXNEwV','workosClientId','mcp:write','device_code','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','tEdbM','application/json','nfLJT','HbwqJ','1114032iGVSih','GET','org_id','Failed\x20to\x20fetch\x20memberships:\x20','log','Failed\x20to\x20provision\x20CLI\x20token:\x20','apiKey','aNCsO','WPrwg','json','Failed\x20to\x20create\x20organization:\x20','verification_uri_complete','utf-8','10TaEvfc','ieiES','from','now','authorization_pending','XKmYI','name','212945bSaFbT','zvHva','refresh_token','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','3339642jHlkuw','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20','Failed\x20to\x20request\x20device\x20code:\x20','gAMUj','/cli-auth/token','tgtgW','7srbQhi','NmylB','organizationId','XeKnv','map','/organization/self-serve-signup','Setting\x20up\x20your\x20organization...','startsWith','gZbWT','/api-keys','error','NQHcV','isTTY'];_0x54c7=function(){return _0x3c3303;};return _0x54c7();}import{spawn}from'child_process';import _0x1c0726 from'inquirer';function _0x4d9b(_0x508377,_0x1da5bb){_0x508377=_0x508377-0x111;const _0x54c7ee=_0x54c7();let _0x4d9bb6=_0x54c7ee[_0x508377];return _0x4d9bb6;}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=_0x3e883b(0x14a);export async function requestDeviceCode(_0x3d2b19){const _0x57877c=_0x3e883b,_0x597748={'SiQrU':function(_0x42c20f,_0x27f42e,_0x57588b){return _0x42c20f(_0x27f42e,_0x57588b);}},_0x4ef4bd=await _0x597748['SiQrU'](fetch,WORKOS_DEVICE_AUTH_URL,{'method':_0x57877c(0x14b),'headers':{'Content-Type':_0x57877c(0x154)},'body':new URLSearchParams({'client_id':_0x3d2b19})});if(!_0x4ef4bd['ok']){const _0x26d357=await _0x4ef4bd['text']();throw new Error(_0x57877c(0x124)+_0x4ef4bd['status']+'\x20'+_0x26d357);}return _0x4ef4bd[_0x57877c(0x113)]();}export async function pollForTokens(_0x5b3bdd,_0xeb639,_0x3e7eba,_0x2f55e3){const _0x34dc49=_0x3e883b,_0x1f52ff={'svUmA':function(_0x442efe,_0x442442){return _0x442efe+_0x442442;},'nEkoU':function(_0x4e3049,_0x365c35){return _0x4e3049*_0x365c35;},'NQHcV':function(_0x35daf9,_0x133ee9){return _0x35daf9<_0x133ee9;},'GxZyb':function(_0x32fd2d,_0x15dc98){return _0x32fd2d(_0x15dc98);},'mAuZZ':function(_0x5f2be4,_0x4a6639,_0x183101){return _0x5f2be4(_0x4a6639,_0x183101);},'tgtgW':_0x34dc49(0x154),'lKwGv':'slow_down','SMOYc':_0x34dc49(0x143)},_0x4fb564=_0x1f52ff['svUmA'](Date[_0x34dc49(0x11a)](),_0x1f52ff[_0x34dc49(0x13d)](_0x2f55e3,0x3e8));let _0x497d7b=_0x3e7eba*0x3e8;while(_0x1f52ff[_0x34dc49(0x133)](Date['now'](),_0x4fb564)){await _0x1f52ff[_0x34dc49(0x13f)](sleep,_0x497d7b);const _0x10b88d=await _0x1f52ff['mAuZZ'](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x1f52ff[_0x34dc49(0x127)]},'body':new URLSearchParams({'client_id':_0x5b3bdd,'device_code':_0xeb639,'grant_type':'urn:ietf:params:oauth:grant-type:device_code'})});if(_0x10b88d['ok'])return _0x10b88d[_0x34dc49(0x113)]();const _0x1907e9=await _0x10b88d[_0x34dc49(0x113)]();if(_0x1907e9[_0x34dc49(0x132)]===_0x34dc49(0x11b))continue;if(_0x1907e9[_0x34dc49(0x132)]===_0x1f52ff['lKwGv']){_0x497d7b+=0x3e8;continue;}throw new Error(_0x1907e9['error_description']||_0x1907e9['error']||_0x1f52ff['SMOYc']);}throw new Error(_0x34dc49(0x137));}async function fetchUserProfile(_0x44b4a5){const _0x29d198=_0x3e883b,_0x5e2459={'tEdbM':function(_0x51aec9,_0x2e0340,_0x59b91f){return _0x51aec9(_0x2e0340,_0x59b91f);}},_0x5776b6=getApiBaseUrl();try{const _0x12a660=await _0x5e2459[_0x29d198(0x15d)](fetch,_0x5776b6+_0x29d198(0x152),{'method':_0x29d198(0x162),'headers':{'workos-token':_0x44b4a5}});if(_0x12a660['ok'])return _0x12a660['json']();}catch{}return null;}function buildKeyName(_0x25140d,_0x43d39a){const _0x8e2481=_0x3e883b,_0x18f79d={'chdhi':function(_0x30252d,_0x48b092){return _0x30252d===_0x48b092;}},_0x4cfafb=_0x43d39a['filter'](_0x363a1d=>_0x363a1d['name']===_0x25140d||_0x363a1d['name'][_0x8e2481(0x12f)](_0x25140d+'\x20('));if(_0x18f79d['chdhi'](_0x4cfafb[_0x8e2481(0x14f)],0x0))return _0x25140d;return _0x25140d+'\x20('+(_0x4cfafb[_0x8e2481(0x14f)]+0x1)+')';}export async function provisionApiKey(_0x366b88){const _0x539f43=_0x3e883b,_0x4dea1e={'hhixi':function(_0x5bc940){return _0x5bc940();},'AWSbw':function(_0x151c0e,_0x1bb7aa,_0x4b2277){return _0x151c0e(_0x1bb7aa,_0x4b2277);},'aNCsO':_0x539f43(0x162),'wajYC':function(_0x5d3720,_0x59351e,_0x348936){return _0x5d3720(_0x59351e,_0x348936);},'QzLCc':_0x539f43(0x15a)},_0x2716ab=_0x4dea1e['hhixi'](getApiBaseUrl),_0x5bc099={'Content-Type':'application/json','workos-token':_0x366b88},_0x1fdf0a=await fetchUserProfile(_0x366b88),_0x4a8208=_0x1fdf0a?.['firstName']||_0x1fdf0a?.['email']?.['split']('@')[0x0],_0x4a6651=_0x4a8208?_0x4a8208+'\x27s\x20CLI\x20Key':'CLI\x20Key';let _0x3d8a70=[];try{const _0x4edc4f=await _0x4dea1e['AWSbw'](fetch,_0x2716ab+_0x539f43(0x131),{'method':_0x4dea1e[_0x539f43(0x111)],'headers':_0x5bc099});if(_0x4edc4f['ok']){const _0x455a54=await _0x4edc4f[_0x539f43(0x113)]();_0x3d8a70=_0x455a54[_0x539f43(0x14d)];}}catch{}const _0xd4d4b1=_0x4dea1e['wajYC'](buildKeyName,_0x4a6651,_0x3d8a70),_0x311a64=await fetch(_0x2716ab+'/api-keys',{'method':'POST','headers':_0x5bc099,'body':JSON[_0x539f43(0x142)]({'name':_0xd4d4b1,'scope':_0x4dea1e['QzLCc']})});if(!_0x311a64['ok']){const _0x22fd76=await _0x311a64[_0x539f43(0x149)]();throw new Error(_0x539f43(0x136)+_0x311a64[_0x539f43(0x138)]+'\x20'+_0x22fd76);}const _0x1e70b1=await _0x311a64['json']();return _0x1e70b1[_0x539f43(0x167)][_0x539f43(0x14e)];}export function openBrowser(_0x2f2b82){const _0x4582b7=_0x3e883b,_0x5caaba={'oAwDY':function(_0x2a1564,_0x11b7df){return _0x2a1564===_0x11b7df;},'nfLJT':function(_0x15ab8a,_0x503857,_0x588291,_0x46506b){return _0x15ab8a(_0x503857,_0x588291,_0x46506b);},'ZkKDt':_0x4582b7(0x156),'XhaVb':'ignore'};try{if(_0x5caaba['oAwDY'](process['platform'],'win32')){const _0x701100=_0x5caaba[_0x4582b7(0x15f)](spawn,'cmd',['/c','start','',_0x2f2b82],{'detached':!![],'stdio':'ignore','windowsHide':!![]});_0x701100[_0x4582b7(0x141)]();return;}const _0x46c5c2=process['platform']==='darwin'?_0x5caaba['ZkKDt']:_0x4582b7(0x150),_0x35ec31=spawn(_0x46c5c2,[_0x2f2b82],{'detached':!![],'stdio':_0x5caaba['XhaVb']});_0x35ec31['unref']();}catch{}}function decodeJwtPayload(_0x14a7e6){const _0x2a6261=_0x3e883b,_0x207d42={'FNjar':function(_0x2fd128,_0x1cc9c5){return _0x2fd128!==_0x1cc9c5;},'HnNku':_0x2a6261(0x153)},_0x5131f3=_0x14a7e6[_0x2a6261(0x145)]('.');if(_0x207d42[_0x2a6261(0x13b)](_0x5131f3[_0x2a6261(0x14f)],0x3))throw new Error(_0x207d42['HnNku']);const _0x4235ec=Buffer[_0x2a6261(0x119)](_0x5131f3[0x1],'base64url')['toString'](_0x2a6261(0x116));return JSON['parse'](_0x4235ec);}async function selfServeSignup(_0x4c6052){const _0x490c83=_0x3e883b,_0x48114b={'ieiES':_0x490c83(0x14b)},_0x5611b2=getApiBaseUrl(),_0x15de62=await fetch(_0x5611b2+_0x490c83(0x12d),{'method':_0x48114b[_0x490c83(0x118)],'headers':{'Content-Type':'application/json','workos-token':_0x4c6052}});if(!_0x15de62['ok']){const _0x28306b=await _0x15de62[_0x490c83(0x149)]();throw new Error(_0x490c83(0x114)+_0x15de62['status']+'\x20'+_0x28306b);}return _0x15de62[_0x490c83(0x113)]();}async function fetchMyMemberships(_0xaff331){const _0x142b0d=_0x3e883b,_0x3b927b={'YryKR':function(_0x4683bd){return _0x4683bd();}},_0x5156ed=_0x3b927b[_0x142b0d(0x148)](getApiBaseUrl),_0x4017fc=await fetch(_0x5156ed+'/organization/my-memberships',{'method':_0x142b0d(0x162),'headers':{'workos-token':_0xaff331}});if(!_0x4017fc['ok']){const _0x3b1f1f=await _0x4017fc['text']();throw new Error(_0x142b0d(0x164)+_0x4017fc[_0x142b0d(0x138)]+'\x20'+_0x3b1f1f);}const _0x43da63=await _0x4017fc[_0x142b0d(0x113)]();return _0x43da63['memberships'];}async function refreshTokenWithOrg(_0x55ee94,_0x3e8186,_0x2a9ae9){const _0x2d4d98=_0x3e883b,_0x3fa895={'MiPcD':function(_0x292fba,_0x3956d7,_0xff2c68){return _0x292fba(_0x3956d7,_0xff2c68);},'HbwqJ':_0x2d4d98(0x14b),'KeHvW':_0x2d4d98(0x120)},_0x154b63=await _0x3fa895['MiPcD'](fetch,WORKOS_TOKEN_URL,{'method':_0x3fa895[_0x2d4d98(0x160)],'headers':{'Content-Type':_0x2d4d98(0x154)},'body':new URLSearchParams({'client_id':_0x55ee94,'grant_type':_0x3fa895['KeHvW'],'refresh_token':_0x3e8186,'organization_id':_0x2a9ae9})});if(!_0x154b63['ok']){const _0x374eb7=await _0x154b63['text']();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x154b63['status']+'\x20'+_0x374eb7);}return _0x154b63['json']();}async function provisionCliToken(_0x1e0e8f){const _0x4b20b4=_0x3e883b,_0x24e1a0={'DocEc':function(_0x3071d0){return _0x3071d0();},'XeKnv':function(_0x15698a,_0x3b0889,_0x503237){return _0x15698a(_0x3b0889,_0x503237);},'NmylB':_0x4b20b4(0x14b)},_0x4ff185=_0x24e1a0['DocEc'](getApiBaseUrl),_0x5c5ea9=await _0x24e1a0[_0x4b20b4(0x12b)](fetch,_0x4ff185+_0x4b20b4(0x126),{'method':_0x24e1a0[_0x4b20b4(0x129)],'headers':{'Content-Type':_0x4b20b4(0x15e),'workos-token':_0x1e0e8f}});if(!_0x5c5ea9['ok']){const _0x216ff4=await _0x5c5ea9['text']();throw new Error(_0x4b20b4(0x166)+_0x5c5ea9[_0x4b20b4(0x138)]+'\x20'+_0x216ff4);}return _0x5c5ea9[_0x4b20b4(0x113)]();}export async function runDeviceAuthFlow(){const _0x162383=_0x3e883b,_0x1145cb={'WPrwg':_0x162383(0x121),'PdCYA':'Waiting\x20for\x20authentication...','IXPeO':function(_0x5db029,_0x261730,_0x494fdb,_0x4d61d1,_0x9205a5){return _0x5db029(_0x261730,_0x494fdb,_0x4d61d1,_0x9205a5);},'jPPAD':function(_0x435db5,_0x5ad776){return _0x435db5===_0x5ad776;},'gAMUj':_0x162383(0x12e),'foSnG':function(_0xe032d,_0x353756){return _0xe032d(_0x353756);},'wLasH':'list','gZbWT':'selected','jYEms':'Select\x20an\x20organization:','zvHva':'Provisioning\x20CLI\x20token...','XKmYI':function(_0x540b31,_0x2a4bb4){return _0x540b31(_0x2a4bb4);}},_0x481b6d=getCurrentEnvironment(),_0x1f1920=ENVIRONMENT_CONFIGS[_0x481b6d][_0x162383(0x159)],_0x52a5ec=await requestDeviceCode(_0x1f1920);console['log'](_0x162383(0x157)),console[_0x162383(0x165)](_0x1145cb[_0x162383(0x112)]),openBrowser(_0x52a5ec[_0x162383(0x115)]),console['log'](_0x162383(0x123)+_0x52a5ec['verification_uri_complete']),console[_0x162383(0x165)]('Code:\x20'+_0x52a5ec['user_code']+'\x0a'),process['stdout']['write'](_0x1145cb[_0x162383(0x13c)]);let _0x42a76e=await _0x1145cb['IXPeO'](pollForTokens,_0x1f1920,_0x52a5ec[_0x162383(0x15b)],_0x52a5ec['interval'],_0x52a5ec['expires_in']);console[_0x162383(0x165)]('\x20✓');const _0x5880e5=decodeJwtPayload(_0x42a76e[_0x162383(0x13e)]);if(!_0x5880e5[_0x162383(0x163)]){const _0x292803=await fetchMyMemberships(_0x42a76e['access_token']);let _0x32aeea;if(_0x1145cb['jPPAD'](_0x292803[_0x162383(0x14f)],0x0)){process['stdout'][_0x162383(0x13a)](_0x1145cb[_0x162383(0x125)]);const _0x1c3159=await _0x1145cb['foSnG'](selfServeSignup,_0x42a76e['access_token']);_0x32aeea=_0x1c3159[_0x162383(0x12a)],console['log']('\x20✓');}else{if(_0x1145cb[_0x162383(0x140)](_0x292803['length'],0x1))_0x32aeea=_0x292803[0x0]['organizationId'],console[_0x162383(0x165)](_0x162383(0x155)+_0x292803[0x0][_0x162383(0x11d)]);else{const _0x3f2117=process['stdin'][_0x162383(0x134)]&&process[_0x162383(0x144)][_0x162383(0x134)];if(!_0x3f2117)throw new Error(_0x162383(0x15c)+'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.');const {selected:_0x4e5cb5}=await _0x1c0726['prompt']([{'type':_0x1145cb['wLasH'],'name':_0x1145cb[_0x162383(0x130)],'message':_0x1145cb['jYEms'],'choices':_0x292803[_0x162383(0x12c)](_0x4c0f52=>({'name':_0x4c0f52['name'],'value':_0x4c0f52[_0x162383(0x12a)]}))}]);_0x32aeea=_0x4e5cb5;}}_0x42a76e=await refreshTokenWithOrg(_0x1f1920,_0x42a76e[_0x162383(0x120)],_0x32aeea);}process['stdout'][_0x162383(0x13a)](_0x1145cb[_0x162383(0x11f)]);const _0x27d1ec=await provisionCliToken(_0x42a76e['access_token']);return console[_0x162383(0x165)]('\x20✓'),await _0x1145cb[_0x162383(0x11c)](storeToken,_0x27d1ec[_0x162383(0x14e)]),_0x42a76e['refresh_token']&&await storeRefreshToken(_0x42a76e[_0x162383(0x120)]),_0x27d1ec[_0x162383(0x14e)];}function sleep(_0x4b6fbd){return new Promise(_0x12c038=>setTimeout(_0x12c038,_0x4b6fbd));}
1
+ const _0x521274=_0x32de;(function(_0x332042,_0x29e178){const _0x217d1f=_0x32de,_0x3c51a2=_0x332042();while(!![]){try{const _0x177deb=parseInt(_0x217d1f(0x10f))/0x1*(parseInt(_0x217d1f(0x12d))/0x2)+parseInt(_0x217d1f(0x153))/0x3+parseInt(_0x217d1f(0x123))/0x4*(-parseInt(_0x217d1f(0x154))/0x5)+-parseInt(_0x217d1f(0x134))/0x6*(parseInt(_0x217d1f(0x14a))/0x7)+-parseInt(_0x217d1f(0x117))/0x8+parseInt(_0x217d1f(0x125))/0x9*(parseInt(_0x217d1f(0x143))/0xa)+-parseInt(_0x217d1f(0x110))/0xb*(parseInt(_0x217d1f(0x132))/0xc);if(_0x177deb===_0x29e178)break;else _0x3c51a2['push'](_0x3c51a2['shift']());}catch(_0x21c05d){_0x3c51a2['push'](_0x3c51a2['shift']());}}}(_0xa06f,0x6c712));import{spawn}from'child_process';import _0x438c56 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';function _0xa06f(){const _0xfa0c4b=['1918080KiIgcz','202880CPJGDN','https://api.workos.com/user_management/authenticate','text','utf-8','POST','urn:ietf:params:oauth:grant-type:device_code','win32','now','Failed\x20to\x20request\x20device\x20code:\x20','stdout','selected','ensGk','fQPMf','Device\x20authorization\x20timed\x20out','verification_uri_complete','Waiting\x20for\x20authentication...','69XZfESA','7172duALLq','gZWVC','icFni','hwICf','/cli-auth/token','token','json','3458632EPUavM','filter','isTTY','split','write','lOshv','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','org_id','mcp:write','/organization/my-memberships','bYFxb','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','36MbsfUA','https://api.workos.com/user_management/authorize/device','25929OgheUK','length','GET','access_token','Failed\x20to\x20fetch\x20memberships:\x20','/organization/me','log','Authentication\x20failed','14846skKsml','wNoSb','Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','kbsWZ','firstName','2904shDMWx','application/x-www-form-urlencoded','2022MkhPFV','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','ignore','FiXYs','rsRdI','organizationId','xdg-open','name','/api-keys','from','wEvHg','error','tpAeT','tCtSm','refresh_token','2490THFGkr','Provisioning\x20CLI\x20token...','status','IOSgC','Invalid\x20JWT\x20format','workosClientId','xpxEN','9751qBGAiQ','ZGzwL','memberships','application/json','parse','Xfrkh','Code:\x20','slow_down','HaaYj'];_0xa06f=function(){return _0xfa0c4b;};return _0xa06f();}const WORKOS_DEVICE_AUTH_URL=_0x521274(0x124),WORKOS_TOKEN_URL=_0x521274(0x155);export async function requestDeviceCode(_0x1991da){const _0x44ddfe=_0x521274,_0x1cbe85={'ensGk':function(_0x4f5cbf,_0x3b75be,_0x148ec2){return _0x4f5cbf(_0x3b75be,_0x148ec2);}},_0x340859=await _0x1cbe85[_0x44ddfe(0x10a)](fetch,WORKOS_DEVICE_AUTH_URL,{'method':_0x44ddfe(0x103),'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x1991da})});if(!_0x340859['ok']){const _0x49e73b=await _0x340859['text']();throw new Error(_0x44ddfe(0x107)+_0x340859['status']+'\x20'+_0x49e73b);}return _0x340859[_0x44ddfe(0x116)]();}export async function pollForTokens(_0x51a34a,_0x5e0fae,_0x286f7b,_0x3f3110){const _0x13e889=_0x521274,_0x3d7418={'DGtAk':function(_0xa39d97,_0x1d372f){return _0xa39d97+_0x1d372f;},'fQPMf':function(_0x4da554,_0xf2cb4c){return _0x4da554*_0xf2cb4c;},'FiXYs':function(_0x3df23b,_0x26bf8b){return _0x3df23b*_0x26bf8b;},'arXVg':function(_0x3caac5,_0x99d558){return _0x3caac5<_0x99d558;},'kbsWZ':function(_0x10bd59,_0x443abf){return _0x10bd59(_0x443abf);},'hwICf':function(_0x581c29,_0x1a262f,_0x301eb1){return _0x581c29(_0x1a262f,_0x301eb1);},'hOvAe':'authorization_pending','BsEaH':_0x13e889(0x12c),'xpxEN':_0x13e889(0x10c)},_0x58b367=_0x3d7418['DGtAk'](Date['now'](),_0x3d7418[_0x13e889(0x10b)](_0x3f3110,0x3e8));let _0x43504f=_0x3d7418[_0x13e889(0x137)](_0x286f7b,0x3e8);while(_0x3d7418['arXVg'](Date[_0x13e889(0x106)](),_0x58b367)){await _0x3d7418[_0x13e889(0x130)](sleep,_0x43504f);const _0x4a5be5=await _0x3d7418[_0x13e889(0x113)](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':new URLSearchParams({'client_id':_0x51a34a,'device_code':_0x5e0fae,'grant_type':_0x13e889(0x104)})});if(_0x4a5be5['ok'])return _0x4a5be5[_0x13e889(0x116)]();const _0x4c33f1=await _0x4a5be5[_0x13e889(0x116)]();if(_0x4c33f1['error']===_0x3d7418['hOvAe'])continue;if(_0x4c33f1[_0x13e889(0x13f)]===_0x13e889(0x151)){_0x43504f+=0x3e8;continue;}throw new Error(_0x4c33f1['error_description']||_0x4c33f1[_0x13e889(0x13f)]||_0x3d7418['BsEaH']);}throw new Error(_0x3d7418[_0x13e889(0x149)]);}async function fetchUserProfile(_0xc8c8b6){const _0x55f439=_0x521274,_0xe09eaf={'bmnaq':_0x55f439(0x127)},_0x4ac5fa=getApiBaseUrl();try{const _0x43b48c=await fetch(_0x4ac5fa+_0x55f439(0x12a),{'method':_0xe09eaf['bmnaq'],'headers':{'workos-token':_0xc8c8b6}});if(_0x43b48c['ok'])return _0x43b48c['json']();}catch{}return null;}function buildKeyName(_0x2ce6cd,_0x4a0a44){const _0x142710=_0x521274,_0x2a8d96={'rZFTY':function(_0x6d7cdd,_0x3c7d0a){return _0x6d7cdd===_0x3c7d0a;}},_0xab7722=_0x4a0a44[_0x142710(0x118)](_0x48e181=>_0x48e181[_0x142710(0x13b)]===_0x2ce6cd||_0x48e181[_0x142710(0x13b)]['startsWith'](_0x2ce6cd+'\x20('));if(_0x2a8d96['rZFTY'](_0xab7722['length'],0x0))return _0x2ce6cd;return _0x2ce6cd+'\x20('+(_0xab7722['length']+0x1)+')';}export async function provisionApiKey(_0x2bf262){const _0xe8bf9=_0x521274,_0x4a710b={'pXNKN':function(_0x3f739b){return _0x3f739b();},'pdciR':function(_0x5702a3,_0x3d00f7,_0xdc7338){return _0x5702a3(_0x3d00f7,_0xdc7338);},'Xfrkh':_0xe8bf9(0x127)},_0x19d348=_0x4a710b['pXNKN'](getApiBaseUrl),_0x5cc869={'Content-Type':'application/json','workos-token':_0x2bf262},_0x37fe6b=await fetchUserProfile(_0x2bf262),_0x3f4baf=_0x37fe6b?.[_0xe8bf9(0x131)]||_0x37fe6b?.['email']?.[_0xe8bf9(0x11a)]('@')[0x0],_0x52887d=_0x3f4baf?_0x3f4baf+'\x27s\x20CLI\x20Key':'CLI\x20Key';let _0x71ce8f=[];try{const _0x873b34=await _0x4a710b['pdciR'](fetch,_0x19d348+'/api-keys',{'method':_0x4a710b[_0xe8bf9(0x14f)],'headers':_0x5cc869});if(_0x873b34['ok']){const _0x239c19=await _0x873b34[_0xe8bf9(0x116)]();_0x71ce8f=_0x239c19['apiKeys'];}}catch{}const _0x59221d=buildKeyName(_0x52887d,_0x71ce8f),_0x33f2be=await fetch(_0x19d348+_0xe8bf9(0x13c),{'method':'POST','headers':_0x5cc869,'body':JSON['stringify']({'name':_0x59221d,'scope':_0xe8bf9(0x11f)})});if(!_0x33f2be['ok']){const _0x429cce=await _0x33f2be[_0xe8bf9(0x101)]();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x33f2be['status']+'\x20'+_0x429cce);}const _0x2f86dd=await _0x33f2be[_0xe8bf9(0x116)]();return _0x2f86dd['apiKey']['token'];}export function openBrowser(_0x53d4ab){const _0xe54aa6=_0x521274,_0xc324ef={'HaaYj':function(_0x3d6810,_0x2c29c5){return _0x3d6810===_0x2c29c5;},'tpAeT':'start','gZWVC':'ignore','wEvHg':'open'};try{if(_0xc324ef[_0xe54aa6(0x152)](process['platform'],_0xe54aa6(0x105))){const _0x82e0c2=spawn('cmd',['/c',_0xc324ef[_0xe54aa6(0x140)],'',_0x53d4ab],{'detached':!![],'stdio':_0xc324ef[_0xe54aa6(0x111)],'windowsHide':!![]});_0x82e0c2['unref']();return;}const _0x42be23=process['platform']==='darwin'?_0xc324ef[_0xe54aa6(0x13e)]:_0xe54aa6(0x13a),_0x2756da=spawn(_0x42be23,[_0x53d4ab],{'detached':!![],'stdio':_0xe54aa6(0x136)});_0x2756da['unref']();}catch{}}function decodeJwtPayload(_0x5b8701){const _0x5eea45=_0x521274,_0xadccb8={'tCtSm':_0x5eea45(0x147),'lwcHY':'base64url'},_0x5988b5=_0x5b8701['split']('.');if(_0x5988b5[_0x5eea45(0x126)]!==0x3)throw new Error(_0xadccb8[_0x5eea45(0x141)]);const _0x48739e=Buffer[_0x5eea45(0x13d)](_0x5988b5[0x1],_0xadccb8['lwcHY'])['toString'](_0x5eea45(0x102));return JSON[_0x5eea45(0x14e)](_0x48739e);}async function selfServeSignup(_0x309cc1){const _0x40ebfb=_0x521274,_0x2571c2={'wNoSb':function(_0x270d60,_0x356b8f,_0xfb2e84){return _0x270d60(_0x356b8f,_0xfb2e84);},'IOSgC':'POST','icFni':_0x40ebfb(0x14d)},_0x57e46e=getApiBaseUrl(),_0x421aae=await _0x2571c2[_0x40ebfb(0x12e)](fetch,_0x57e46e+'/organization/self-serve-signup',{'method':_0x2571c2[_0x40ebfb(0x146)],'headers':{'Content-Type':_0x2571c2[_0x40ebfb(0x112)],'workos-token':_0x309cc1}});if(!_0x421aae['ok']){const _0x19c44c=await _0x421aae['text']();throw new Error('Failed\x20to\x20create\x20organization:\x20'+_0x421aae[_0x40ebfb(0x145)]+'\x20'+_0x19c44c);}return _0x421aae['json']();}async function fetchMyMemberships(_0x2a66bb){const _0x21f010=_0x521274,_0x12a131={'QZznD':function(_0x41aa85,_0x41e19c,_0x4fa674){return _0x41aa85(_0x41e19c,_0x4fa674);}},_0x26e5e1=getApiBaseUrl(),_0x58edd8=await _0x12a131['QZznD'](fetch,_0x26e5e1+_0x21f010(0x120),{'method':'GET','headers':{'workos-token':_0x2a66bb}});if(!_0x58edd8['ok']){const _0x46cecd=await _0x58edd8[_0x21f010(0x101)]();throw new Error(_0x21f010(0x129)+_0x58edd8[_0x21f010(0x145)]+'\x20'+_0x46cecd);}const _0x101431=await _0x58edd8[_0x21f010(0x116)]();return _0x101431[_0x21f010(0x14c)];}async function refreshTokenWithOrg(_0x3ccba4,_0x34ec6e,_0x5c8f79){const _0x152e91=_0x521274,_0x211b63={'rTuFz':function(_0x55d6bf,_0x3cfaeb,_0x4b4af9){return _0x55d6bf(_0x3cfaeb,_0x4b4af9);},'iPorE':_0x152e91(0x133),'hplpC':'refresh_token'},_0x22a93e=await _0x211b63['rTuFz'](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x211b63['iPorE']},'body':new URLSearchParams({'client_id':_0x3ccba4,'grant_type':_0x211b63['hplpC'],'refresh_token':_0x34ec6e,'organization_id':_0x5c8f79})});if(!_0x22a93e['ok']){const _0xc10671=await _0x22a93e['text']();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x22a93e[_0x152e91(0x145)]+'\x20'+_0xc10671);}return _0x22a93e['json']();}async function provisionCliToken(_0x2830af){const _0x59b58=_0x521274,_0x28013e={'ezmUe':function(_0x8b623f){return _0x8b623f();},'iEACv':'application/json'},_0x2083c5=_0x28013e['ezmUe'](getApiBaseUrl),_0x5dc83b=await fetch(_0x2083c5+_0x59b58(0x114),{'method':_0x59b58(0x103),'headers':{'Content-Type':_0x28013e['iEACv'],'workos-token':_0x2830af}});if(!_0x5dc83b['ok']){const _0x121b72=await _0x5dc83b[_0x59b58(0x101)]();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x5dc83b[_0x59b58(0x145)]+'\x20'+_0x121b72);}return _0x5dc83b['json']();}export async function runDeviceAuthFlow(){const _0xd167d9=_0x521274,_0x37b0e1={'ctmJo':_0xd167d9(0x135),'SOvGK':function(_0x2a9c8b,_0x37f70f){return _0x2a9c8b(_0x37f70f);},'ZGzwL':function(_0x549de0,_0x420382,_0x5827b2,_0x22f803,_0x1efae1){return _0x549de0(_0x420382,_0x5827b2,_0x22f803,_0x1efae1);},'bYFxb':function(_0x541380,_0x4bdfac){return _0x541380(_0x4bdfac);},'lOshv':function(_0x299fdb,_0x2431b4){return _0x299fdb===_0x2431b4;},'KGCbp':'Setting\x20up\x20your\x20organization...','NLbwx':function(_0x4674e1,_0x3830ed){return _0x4674e1(_0x3830ed);},'jjoEr':_0xd167d9(0x12f),'pjgdB':'Select\x20an\x20organization:','rsRdI':function(_0x16b27c,_0x26e925,_0x1ea85e,_0x3f2079){return _0x16b27c(_0x26e925,_0x1ea85e,_0x3f2079);},'zeQAi':_0xd167d9(0x144)},_0x385328=getCurrentEnvironment(),_0x24b30c=ENVIRONMENT_CONFIGS[_0x385328][_0xd167d9(0x148)],_0x560573=await requestDeviceCode(_0x24b30c);console[_0xd167d9(0x12b)](_0x37b0e1['ctmJo']),console['log'](_0xd167d9(0x122)),_0x37b0e1['SOvGK'](openBrowser,_0x560573[_0xd167d9(0x10d)]),console[_0xd167d9(0x12b)]('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x560573[_0xd167d9(0x10d)]),console[_0xd167d9(0x12b)](_0xd167d9(0x150)+_0x560573['user_code']+'\x0a'),process[_0xd167d9(0x108)][_0xd167d9(0x11b)](_0xd167d9(0x10e));let _0x8646de=await _0x37b0e1[_0xd167d9(0x14b)](pollForTokens,_0x24b30c,_0x560573['device_code'],_0x560573['interval'],_0x560573['expires_in']);console[_0xd167d9(0x12b)]('\x20✓');const _0x30219e=_0x37b0e1['bYFxb'](decodeJwtPayload,_0x8646de[_0xd167d9(0x128)]);if(!_0x30219e[_0xd167d9(0x11e)]){const _0x1b7f6d=await fetchMyMemberships(_0x8646de[_0xd167d9(0x128)]);let _0x1d9bb2;if(_0x37b0e1[_0xd167d9(0x11c)](_0x1b7f6d['length'],0x0)){process[_0xd167d9(0x108)]['write'](_0x37b0e1['KGCbp']);const _0x5d9d94=await _0x37b0e1['NLbwx'](selfServeSignup,_0x8646de['access_token']);_0x1d9bb2=_0x5d9d94['organizationId'],console[_0xd167d9(0x12b)]('\x20✓');}else{if(_0x1b7f6d[_0xd167d9(0x126)]===0x1)_0x1d9bb2=_0x1b7f6d[0x0][_0xd167d9(0x139)],console[_0xd167d9(0x12b)]('Using\x20organization:\x20'+_0x1b7f6d[0x0][_0xd167d9(0x13b)]);else{const _0x2370e3=process['stdin']['isTTY']&&process[_0xd167d9(0x108)][_0xd167d9(0x119)];if(!_0x2370e3)throw new Error(_0xd167d9(0x11d)+_0x37b0e1['jjoEr']);const {selected:_0x507435}=await _0x438c56['prompt']([{'type':'list','name':_0xd167d9(0x109),'message':_0x37b0e1['pjgdB'],'choices':_0x1b7f6d['map'](_0x29ea5=>({'name':_0x29ea5['name'],'value':_0x29ea5['organizationId']}))}]);_0x1d9bb2=_0x507435;}}_0x8646de=await _0x37b0e1[_0xd167d9(0x138)](refreshTokenWithOrg,_0x24b30c,_0x8646de['refresh_token'],_0x1d9bb2);}process['stdout'][_0xd167d9(0x11b)](_0x37b0e1['zeQAi']);const _0x3797a9=await _0x37b0e1['SOvGK'](provisionCliToken,_0x8646de[_0xd167d9(0x128)]);return console['log']('\x20✓'),await storeToken(_0x3797a9[_0xd167d9(0x115)]),_0x8646de['refresh_token']&&await _0x37b0e1[_0xd167d9(0x121)](storeRefreshToken,_0x8646de[_0xd167d9(0x142)]),_0x3797a9['token'];}function _0x32de(_0x1c067b,_0x3d23bd){_0x1c067b=_0x1c067b-0x101;const _0xa06f98=_0xa06f();let _0x32defb=_0xa06f98[_0x1c067b];return _0x32defb;}function sleep(_0x303c64){return new Promise(_0x1d1289=>setTimeout(_0x1d1289,_0x303c64));}
@@ -1 +1 @@
1
- const _0x48f2e4=_0x4125;(function(_0x3ec85a,_0xb9e1c4){const _0xe66679=_0x4125,_0x550840=_0x3ec85a();while(!![]){try{const _0x545539=-parseInt(_0xe66679(0x1a7))/0x1+parseInt(_0xe66679(0x1bb))/0x2+-parseInt(_0xe66679(0x1c8))/0x3+parseInt(_0xe66679(0x1b3))/0x4*(-parseInt(_0xe66679(0x1a8))/0x5)+-parseInt(_0xe66679(0x1af))/0x6*(parseInt(_0xe66679(0x1a3))/0x7)+-parseInt(_0xe66679(0x1bd))/0x8+parseInt(_0xe66679(0x1a5))/0x9*(parseInt(_0xe66679(0x1a4))/0xa);if(_0x545539===_0xb9e1c4)break;else _0x550840['push'](_0x550840['shift']());}catch(_0x2dc0d3){_0x550840['push'](_0x550840['shift']());}}}(_0x4030,0xe7fd1));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':_0x48f2e4(0x1b2),'aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':_0x48f2e4(0x1bc)},'staging':{'apiBaseUrl':_0x48f2e4(0x1b7),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':'https://ai-proxy-301751771437.us-central1.run.app','mcpAuthUrl':_0x48f2e4(0x1c7)},'local':{'apiBaseUrl':_0x48f2e4(0x1c2),'workosClientId':_0x48f2e4(0x1ba),'aiProxyUrl':'http://localhost:8090','mcpAuthUrl':_0x48f2e4(0x1c5)}};export const DEFAULT_ENVIRONMENT='prod';export function isValidEnvironment(_0x22809f){const _0x589a47=_0x48f2e4,_0x8c46c={'OdYke':function(_0x5a8c78,_0x5eb3bf){return _0x5a8c78===_0x5eb3bf;},'jgLeT':function(_0x4e5f2b,_0x1f868a){return _0x4e5f2b===_0x1f868a;},'aIkzE':_0x589a47(0x1a2)};return _0x8c46c[_0x589a47(0x1c1)](_0x22809f,_0x589a47(0x1c4))||_0x8c46c[_0x589a47(0x1be)](_0x22809f,_0x589a47(0x1a6))||_0x8c46c[_0x589a47(0x1be)](_0x22809f,_0x8c46c['aIkzE']);}export function getCurrentEnvironment(){const _0x2c2428=_0x48f2e4,_0x226515={'DOdif':function(_0x317f99,_0x5c7c1e){return _0x317f99(_0x5c7c1e);}},_0x5ba0b3=process[_0x2c2428(0x1b9)]['RANGER_CLI_ENV'];if(_0x5ba0b3&&_0x226515['DOdif'](isValidEnvironment,_0x5ba0b3))return _0x5ba0b3;return DEFAULT_ENVIRONMENT;}function _0x4030(){const _0x547dfe=['4819684idCylL','off','[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22','RANGER_USE_NOVA_ACT','https://api.staging.ranger.net','RANGER_HOOKS','env','client_01J9CBYM2DKWV9HM17D95Z540K','378696YccbvA','https://mcp-auth.ranger.net/mcp','7759120Ilpkxd','jgLeT','nova-act-cli','mcpAuthUrl','OdYke','http://localhost:8080','trim','prod','http://localhost:8080/mcp','PxFLW','https://mcp-auth.staging.ranger.net/mcp','1770726qwJHpG','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','local','546dtzrzp','10OfdnwK','43168932cVAeMr','staging','804568ZILUtS','5ESDiZO','PCEll','mcp','RANGER_BYOK','GufVO','\x22.\x20','auto','35850YLGnOe','RANGER_DISABLE_MCP','toLowerCase','client_01J9CBYM7M5ZETCF7G6614DXR2'];_0x4030=function(){return _0x547dfe;};return _0x4030();}export function getApiBaseUrl(){return ENVIRONMENT_CONFIGS[getCurrentEnvironment()]['apiBaseUrl'];}export function getAiProxyUrl(){const _0x1f312b={'ykxrM':function(_0x560d39){return _0x560d39();}};return ENVIRONMENT_CONFIGS[_0x1f312b['ykxrM'](getCurrentEnvironment)]['aiProxyUrl'];}export function getMcpAuthUrl(){const _0x1ea287=_0x48f2e4;return process[_0x1ea287(0x1b9)]['RANGER_MCP_AUTH_URL']??ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x1ea287(0x1c0)];}export function isByokEnabled(){const _0x6bee45=_0x48f2e4;return process['env'][_0x6bee45(0x1ab)]==='true';}function isVerificationTransport(_0x3c4a8d){const _0x291693=_0x48f2e4,_0x27b55c={'PCEll':_0x291693(0x1bf),'PxFLW':function(_0x3253de,_0x4fa373){return _0x3253de===_0x4fa373;},'GufVO':'rangerwright-cli'};return _0x3c4a8d==='mcp'||_0x3c4a8d==='playwright-cli'||_0x3c4a8d===_0x27b55c[_0x291693(0x1a9)]||_0x27b55c[_0x291693(0x1c6)](_0x3c4a8d,_0x27b55c[_0x291693(0x1ac)]);}function _0x4125(_0x1a830c,_0x26c0d7){_0x1a830c=_0x1a830c-0x1a2;const _0x403097=_0x4030();let _0x4125b2=_0x403097[_0x1a830c];return _0x4125b2;}const LEGACY_TRANSPORT_ENV_VARS=[_0x48f2e4(0x1b6),_0x48f2e4(0x1b0)];export function getVerificationTransport(){const _0x669f4e=_0x48f2e4,_0x403b02=process[_0x669f4e(0x1b9)]['RANGER_TRANSPORT']?.[_0x669f4e(0x1c3)]();if(_0x403b02){if(isVerificationTransport(_0x403b02))return _0x403b02;throw new Error('Invalid\x20RANGER_TRANSPORT=\x22'+_0x403b02+'\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.');}const _0x10faa2=LEGACY_TRANSPORT_ENV_VARS['find'](_0x133c91=>process[_0x669f4e(0x1b9)][_0x133c91]);if(_0x10faa2)throw new Error(_0x10faa2+_0x669f4e(0x1c9));return _0x669f4e(0x1aa);}export function resolveHookMode(_0x13601f=process[_0x48f2e4(0x1b9)]){const _0xf6e73b=_0x48f2e4,_0x28d67c={'MPZKd':_0xf6e73b(0x1ae),'ZbPhf':function(_0x411fcc,_0x1e7d7a){return _0x411fcc===_0x1e7d7a;},'sIJYj':function(_0x27e7d5,_0x162fde){return _0x27e7d5+_0x162fde;}},_0x4b37b8=_0x13601f['RANGER_HOOKS']?.[_0xf6e73b(0x1c3)]()[_0xf6e73b(0x1b1)]();if(!_0x4b37b8)return _0x28d67c['MPZKd'];if(_0x28d67c['ZbPhf'](_0x4b37b8,_0xf6e73b(0x1b4))||_0x28d67c['ZbPhf'](_0x4b37b8,'on')||_0x4b37b8===_0xf6e73b(0x1ae))return _0x4b37b8;return console['error'](_0x28d67c['sIJYj'](_0xf6e73b(0x1b5)+_0x13601f[_0xf6e73b(0x1b8)]+_0xf6e73b(0x1ad),'Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.')),_0x28d67c['MPZKd'];}
1
+ const _0x1aca06=_0x58d4;(function(_0x3e266f,_0x3e340c){const _0x4cef87=_0x58d4,_0x307242=_0x3e266f();while(!![]){try{const _0x337307=parseInt(_0x4cef87(0x1c1))/0x1+-parseInt(_0x4cef87(0x1b7))/0x2*(-parseInt(_0x4cef87(0x1cb))/0x3)+parseInt(_0x4cef87(0x1ae))/0x4*(parseInt(_0x4cef87(0x1c8))/0x5)+-parseInt(_0x4cef87(0x1b0))/0x6+-parseInt(_0x4cef87(0x1c6))/0x7*(parseInt(_0x4cef87(0x1bd))/0x8)+parseInt(_0x4cef87(0x1b9))/0x9*(parseInt(_0x4cef87(0x1c0))/0xa)+-parseInt(_0x4cef87(0x1ce))/0xb*(parseInt(_0x4cef87(0x1c2))/0xc);if(_0x337307===_0x3e340c)break;else _0x307242['push'](_0x307242['shift']());}catch(_0x52ad13){_0x307242['push'](_0x307242['shift']());}}}(_0x5413,0x88f7d));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':'client_01J9CBYM7M5ZETCF7G6614DXR2','aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':'https://mcp-auth.ranger.net/mcp'},'staging':{'apiBaseUrl':'https://api.staging.ranger.net','workosClientId':_0x1aca06(0x1cf),'aiProxyUrl':_0x1aca06(0x1d3),'mcpAuthUrl':_0x1aca06(0x1c9)},'local':{'apiBaseUrl':'http://localhost:8080','workosClientId':_0x1aca06(0x1cf),'aiProxyUrl':'http://localhost:8090','mcpAuthUrl':_0x1aca06(0x1d1)}};export const DEFAULT_ENVIRONMENT=_0x1aca06(0x1cc);export function isValidEnvironment(_0xf913e4){const _0x3f2b82=_0x1aca06,_0x2b9976={'sTBtk':_0x3f2b82(0x1b2)};return _0xf913e4===_0x3f2b82(0x1cc)||_0xf913e4===_0x3f2b82(0x1bc)||_0xf913e4===_0x2b9976['sTBtk'];}function _0x58d4(_0x43148a,_0x59e4bb){_0x43148a=_0x43148a-0x1ac;const _0x54131c=_0x5413();let _0x58d4a7=_0x54131c[_0x43148a];return _0x58d4a7;}export function getCurrentEnvironment(){const _0x3c08fd=_0x1aca06,_0x3e6be3=process[_0x3c08fd(0x1c3)][_0x3c08fd(0x1c7)];if(_0x3e6be3&&isValidEnvironment(_0x3e6be3))return _0x3e6be3;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x142c28={'bkKTe':function(_0x3dcbe5){return _0x3dcbe5();}};return ENVIRONMENT_CONFIGS[_0x142c28['bkKTe'](getCurrentEnvironment)]['apiBaseUrl'];}export function getAiProxyUrl(){return ENVIRONMENT_CONFIGS[getCurrentEnvironment()]['aiProxyUrl'];}export function getMcpAuthUrl(){const _0x2c275c=_0x1aca06;return process['env'][_0x2c275c(0x1c4)]??ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x2c275c(0x1ba)];}export function isByokEnabled(){const _0x4ca49c=_0x1aca06;return process['env']['RANGER_BYOK']===_0x4ca49c(0x1d5);}function isVerificationTransport(_0x629de0){const _0x44b2a7=_0x1aca06,_0x1b18ba={'PrOgq':_0x44b2a7(0x1b4),'ocYIg':function(_0x2f80ad,_0x401e0c){return _0x2f80ad===_0x401e0c;},'GRzoY':_0x44b2a7(0x1d4),'rvjVt':function(_0x2115de,_0x41f2e2){return _0x2115de===_0x41f2e2;}};return _0x629de0===_0x1b18ba['PrOgq']||_0x1b18ba['ocYIg'](_0x629de0,_0x1b18ba[_0x44b2a7(0x1b5)])||_0x1b18ba[_0x44b2a7(0x1cd)](_0x629de0,_0x44b2a7(0x1ac))||_0x629de0==='rangerwright-cli';}const LEGACY_TRANSPORT_ENV_VARS=[_0x1aca06(0x1b3),_0x1aca06(0x1af)];export function getVerificationTransport(){const _0x1f0e86=_0x1aca06,_0xda6a6f={'kMgiV':'mcp'},_0x2ec0ec=process[_0x1f0e86(0x1c3)]['RANGER_TRANSPORT']?.['trim']();if(_0x2ec0ec){if(isVerificationTransport(_0x2ec0ec))return _0x2ec0ec;throw new Error(_0x1f0e86(0x1d0)+_0x2ec0ec+_0x1f0e86(0x1bb));}const _0x354b75=LEGACY_TRANSPORT_ENV_VARS['find'](_0x94d5f8=>process['env'][_0x94d5f8]);if(_0x354b75)throw new Error(_0x354b75+_0x1f0e86(0x1b8));return _0xda6a6f[_0x1f0e86(0x1d2)];}function _0x5413(){const _0x183c8f=['RANGER_HOOKS','[ranger]\x20Ignoring\x20invalid\x20RANGER_HOOKS=\x22','60GEcEkp','934421LKNxid','3624CXpuKs','env','RANGER_MCP_AUTH_URL','QRZTT','483231VTnUoS','RANGER_CLI_ENV','290765sYJtsb','https://mcp-auth.staging.ranger.net/mcp','trim','138Nchcjk','prod','rvjVt','60313gwINSz','client_01J9CBYM2DKWV9HM17D95Z540K','Invalid\x20RANGER_TRANSPORT=\x22','http://localhost:8080/mcp','kMgiV','https://ai-proxy-301751771437.us-central1.run.app','playwright-cli','true','nova-act-cli','off','40QLkDVl','RANGER_DISABLE_MCP','2193912IFTmzd','OBsgx','local','RANGER_USE_NOVA_ACT','mcp','GRzoY','auto','23654shQlEP','\x20is\x20no\x20longer\x20supported.\x20Use\x20RANGER_TRANSPORT=mcp,\x20RANGER_TRANSPORT=playwright-cli,\x20RANGER_TRANSPORT=nova-act-cli,\x20or\x20RANGER_TRANSPORT=rangerwright-cli.','1198017CfUOxV','mcpAuthUrl','\x22.\x20Expected\x20one\x20of:\x20mcp,\x20playwright-cli,\x20nova-act-cli,\x20rangerwright-cli.','staging','32ctFdYe'];_0x5413=function(){return _0x183c8f;};return _0x5413();}export function resolveHookMode(_0x284d48=process['env']){const _0x2a4371=_0x1aca06,_0x267a07={'QRZTT':_0x2a4371(0x1b6),'ztwbn':_0x2a4371(0x1ad),'OBsgx':function(_0x5b47c7,_0x52337f){return _0x5b47c7===_0x52337f;}},_0x11d5d1=_0x284d48[_0x2a4371(0x1be)]?.[_0x2a4371(0x1ca)]()['toLowerCase']();if(!_0x11d5d1)return _0x267a07['QRZTT'];if(_0x11d5d1===_0x267a07['ztwbn']||_0x267a07[_0x2a4371(0x1b1)](_0x11d5d1,'on')||_0x267a07[_0x2a4371(0x1b1)](_0x11d5d1,'auto'))return _0x11d5d1;return console['error'](_0x2a4371(0x1bf)+_0x284d48[_0x2a4371(0x1be)]+'\x22.\x20'+'Expected\x20one\x20of:\x20off,\x20on,\x20auto.\x20Defaulting\x20to\x20auto.'),_0x267a07[_0x2a4371(0x1c5)];}
@@ -1 +1 @@
1
- (function(_0x9021c8,_0x1c3817){const _0x38d498=_0x1110,_0x3dd7ef=_0x9021c8();while(!![]){try{const _0x4f82cd=parseInt(_0x38d498(0xb0))/0x1*(-parseInt(_0x38d498(0xb5))/0x2)+-parseInt(_0x38d498(0xe1))/0x3+-parseInt(_0x38d498(0xf3))/0x4+parseInt(_0x38d498(0xd3))/0x5*(parseInt(_0x38d498(0xc0))/0x6)+-parseInt(_0x38d498(0xb8))/0x7*(parseInt(_0x38d498(0xb9))/0x8)+parseInt(_0x38d498(0xd7))/0x9*(-parseInt(_0x38d498(0xea))/0xa)+parseInt(_0x38d498(0xf6))/0xb;if(_0x4f82cd===_0x1c3817)break;else _0x3dd7ef['push'](_0x3dd7ef['shift']());}catch(_0x59efef){_0x3dd7ef['push'](_0x3dd7ef['shift']());}}}(_0x3854,0x4735c));import{getToken}from'./keychain.js';function _0x1110(_0x42ade3,_0x34261b){_0x42ade3=_0x42ade3-0xa7;const _0x3854c1=_0x3854();let _0x111073=_0x3854c1[_0x42ade3];return _0x111073;}import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x350663){const _0x32e73e=_0x1110,_0x148f84={'xfsig':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','sHEvg':function(_0x4d9f30){return _0x4d9f30();},'OCmVH':'POST','fLcWq':'application/json','omrbN':'https://dashboard.ranger.net/billing'},_0x4c9727=await getToken();if(!_0x4c9727)throw new Error(_0x148f84['xfsig']);const _0x4c999a=_0x148f84[_0x32e73e(0xee)](getApiBaseUrl),_0x44fc38=await fetch(_0x4c999a+_0x32e73e(0xac),{'method':_0x148f84[_0x32e73e(0xe7)],'headers':{'Authorization':_0x32e73e(0xb6)+_0x4c9727,'Content-Type':_0x148f84[_0x32e73e(0xe2)]},'body':JSON[_0x32e73e(0xc1)](_0x350663)});if(!_0x44fc38['ok']){if(_0x44fc38[_0x32e73e(0xcf)]===0x192){const _0x11ac4e=await _0x44fc38[_0x32e73e(0xd9)](),_0x507146=_0x11ac4e['billingUrl']||_0x148f84['omrbN'];throw new Error((_0x11ac4e[_0x32e73e(0xe5)]||'Feature\x20limit\x20exceeded')+_0x32e73e(0xf7)+_0x507146);}const _0x39932c=await _0x44fc38['text']();throw new Error(_0x32e73e(0xcc)+_0x39932c);}return _0x44fc38[_0x32e73e(0xd9)]();}function _0x3854(){const _0x42af13=['/checklist-items/','10903739kxKGeP','\x0a\x0aUpgrade\x20your\x20plan:\x20','toString','VOHpn','OVbwD','UxTVY','/checklist','beZfT','/api/v1/mcp/features','GZtEe','/report','includeDeleted','124175vEWULc','application/json','set','offset','Failed\x20to\x20create\x20scenario:\x20','6KNVbwA','Bearer\x20','EEyiZ','287EjWnFZ','36528MDElaD','text','YclRp','style','DVxEj','udVdP','IWHUV','6HnLNtV','stringify','/report/markdown','ZkfTu','PATCH','KnACK','itemIds','Failed\x20to\x20delete\x20feature\x20review:\x20','MdaER','/api/v1/mcp/features/','RsDpT','LMQIj','Failed\x20to\x20create\x20feature\x20review:\x20','fwOwp','Failed\x20to\x20update\x20scenario:\x20','status','GET','dAwYM','Failed\x20to\x20conclude\x20session:\x20','2596485MTShrR','Failed\x20to\x20start\x20session:\x20','sessionId','gitBranch','639vSnBWN','/restore','json','VYqNz','DELETE','/sessions','dMKzg','gitRepoUrl','POST','Failed\x20to\x20get\x20action\x20items:\x20','303027uqwnRI','fLcWq','JkrnH','YUuIl','message','wFgEb','OCmVH','xeUbl','pSEOF','13510HfwBps','/action-items','Failed\x20to\x20list\x20sessions:\x20','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','sHEvg','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','/checklist/','BGhIp','join','1848836kFyoTf','Failed\x20to\x20update\x20feature\x20review:\x20'];_0x3854=function(){return _0x42af13;};return _0x3854();}export async function listFeatures(_0x3754fa){const _0x2fdb6b=_0x1110,_0x327a59={'MYYUn':_0x2fdb6b(0xef),'rUvKC':_0x2fdb6b(0xd6),'YclRp':'offset','JkrnH':'true','iiBYc':'GET'},_0x416dd8=await getToken();if(!_0x416dd8)throw new Error(_0x327a59['MYYUn']);const _0x160c29=getApiBaseUrl(),_0x32a4a7=new URLSearchParams();if(_0x3754fa?.['gitRepoUrl'])_0x32a4a7[_0x2fdb6b(0xb2)]('gitRepoUrl',_0x3754fa[_0x2fdb6b(0xde)]);if(_0x3754fa?.['gitBranch'])_0x32a4a7[_0x2fdb6b(0xb2)](_0x327a59['rUvKC'],_0x3754fa['gitBranch']);if(_0x3754fa?.['limit'])_0x32a4a7[_0x2fdb6b(0xb2)]('limit',_0x3754fa['limit']['toString']());if(_0x3754fa?.[_0x2fdb6b(0xb3)])_0x32a4a7['set'](_0x327a59[_0x2fdb6b(0xbb)],_0x3754fa['offset'][_0x2fdb6b(0xf8)]());if(_0x3754fa?.[_0x2fdb6b(0xaf)])_0x32a4a7[_0x2fdb6b(0xb2)](_0x2fdb6b(0xaf),_0x327a59[_0x2fdb6b(0xe3)]);const _0x145535=_0x160c29+_0x2fdb6b(0xac)+(_0x32a4a7[_0x2fdb6b(0xf8)]()?'?'+_0x32a4a7['toString']():''),_0x5b1a1d=await fetch(_0x145535,{'method':_0x327a59['iiBYc'],'headers':{'Authorization':'Bearer\x20'+_0x416dd8}});if(!_0x5b1a1d['ok']){const _0x1a0360=await _0x5b1a1d[_0x2fdb6b(0xba)]();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x1a0360);}return _0x5b1a1d[_0x2fdb6b(0xd9)]();}export async function getFeature(_0x140f72){const _0x4e3c43=_0x1110,_0x5f4191={'pSEOF':function(_0x215d77){return _0x215d77();},'VOHpn':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','VYqNz':function(_0x59f192,_0x585ab9,_0x3be834){return _0x59f192(_0x585ab9,_0x3be834);}},_0xfa21d=await _0x5f4191[_0x4e3c43(0xe9)](getToken);if(!_0xfa21d)throw new Error(_0x5f4191[_0x4e3c43(0xa7)]);const _0x53d8ae=getApiBaseUrl(),_0x2600bb=await _0x5f4191[_0x4e3c43(0xda)](fetch,_0x53d8ae+'/api/v1/mcp/features/'+_0x140f72,{'method':'GET','headers':{'Authorization':_0x4e3c43(0xb6)+_0xfa21d}});if(!_0x2600bb['ok']){const _0x233099=await _0x2600bb['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x233099);}return _0x2600bb[_0x4e3c43(0xd9)]();}export async function updateFeature(_0xd3e8ba,_0x4bf37f){const _0x258061=_0x1110,_0x25fb0e={'wFgEb':function(_0x85b70c){return _0x85b70c();},'DVxEj':function(_0x20e334,_0x5d3b2f,_0x22f9cc){return _0x20e334(_0x5d3b2f,_0x22f9cc);},'KnACK':'PATCH','OVbwD':_0x258061(0xb1)},_0x473d3a=await _0x25fb0e[_0x258061(0xe6)](getToken);if(!_0x473d3a)throw new Error(_0x258061(0xef));const _0x15c888=_0x25fb0e[_0x258061(0xe6)](getApiBaseUrl),_0x2d3c95=await _0x25fb0e[_0x258061(0xbd)](fetch,_0x15c888+'/api/v1/mcp/features/'+_0xd3e8ba,{'method':_0x25fb0e[_0x258061(0xc5)],'headers':{'Authorization':'Bearer\x20'+_0x473d3a,'Content-Type':_0x25fb0e[_0x258061(0xa8)]},'body':JSON[_0x258061(0xc1)](_0x4bf37f)});if(!_0x2d3c95['ok']){const _0x1e6cbe=await _0x2d3c95['text']();throw new Error(_0x258061(0xf4)+_0x1e6cbe);}return _0x2d3c95[_0x258061(0xd9)]();}export async function createChecklistItem(_0x3a1d1e,_0xd8143,_0x442ea6){const _0x6f8288=_0x1110,_0x5b3ddb={'ScZjV':function(_0x149542,_0x344baf,_0x56c6e5){return _0x149542(_0x344baf,_0x56c6e5);},'beZfT':_0x6f8288(0xb1)},_0x111daf=await getToken();if(!_0x111daf)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x57e2c5=getApiBaseUrl(),_0x30681d=await _0x5b3ddb['ScZjV'](fetch,_0x57e2c5+_0x6f8288(0xc9)+_0x3a1d1e+_0x6f8288(0xaa),{'method':'POST','headers':{'Authorization':_0x6f8288(0xb6)+_0x111daf,'Content-Type':_0x5b3ddb[_0x6f8288(0xab)]},'body':JSON['stringify']({'description':_0xd8143,'position':_0x442ea6})});if(!_0x30681d['ok']){const _0x6540a8=await _0x30681d['text']();throw new Error(_0x6f8288(0xb4)+_0x6540a8);}return _0x30681d[_0x6f8288(0xd9)]();}export async function updateChecklistItem(_0x126742,_0x1f6219,_0x31a246){const _0x1a7626=_0x1110,_0x1f13cb={'MdaER':function(_0x1e4f1e){return _0x1e4f1e();},'UWuUj':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','ZkfTu':function(_0x440574,_0x4ecb8a,_0x10d104){return _0x440574(_0x4ecb8a,_0x10d104);},'IiwQu':_0x1a7626(0xc4),'UxTVY':_0x1a7626(0xb1),'ojQXF':'updateChecklistItem'};return withRetry(async()=>{const _0x12f321=_0x1a7626,_0x1a3a06=await _0x1f13cb[_0x12f321(0xc8)](getToken);if(!_0x1a3a06)throw new Error(_0x1f13cb['UWuUj']);const _0x170de9=getApiBaseUrl(),_0x52b798=await _0x1f13cb[_0x12f321(0xc3)](fetch,_0x170de9+'/api/v1/mcp/features/'+_0x126742+_0x12f321(0xf0)+_0x1f6219,{'method':_0x1f13cb['IiwQu'],'headers':{'Authorization':'Bearer\x20'+_0x1a3a06,'Content-Type':_0x1f13cb[_0x12f321(0xa9)]},'body':JSON[_0x12f321(0xc1)](_0x31a246)});if(!_0x52b798['ok']){const _0x2f31d0=await _0x52b798['text']();throw new Error(_0x12f321(0xce)+_0x2f31d0);}return _0x52b798['json']();},{'label':_0x1f13cb['ojQXF']});}export async function getFeatureReport(_0x256aa0){const _0x2de946=_0x1110,_0x4d3cc7={'caURX':function(_0x377f15){return _0x377f15();},'nRbxl':function(_0x8f7658,_0x2919f0,_0xeb3a92){return _0x8f7658(_0x2919f0,_0xeb3a92);},'ULNwV':'GET'},_0x3a6e06=await _0x4d3cc7['caURX'](getToken);if(!_0x3a6e06)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2df6f8=getApiBaseUrl(),_0x4e982f=await _0x4d3cc7['nRbxl'](fetch,_0x2df6f8+_0x2de946(0xc9)+_0x256aa0+_0x2de946(0xae),{'method':_0x4d3cc7['ULNwV'],'headers':{'Authorization':'Bearer\x20'+_0x3a6e06}});if(!_0x4e982f['ok']){const _0x5cfc3d=await _0x4e982f['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x5cfc3d);}return _0x4e982f[_0x2de946(0xd9)]();}export async function getFeatureReportMarkdown(_0x553a21,_0x5e1385){const _0x1c235c=_0x1110,_0x4d30ef={'YiLBW':_0x1c235c(0xef),'rVmPn':function(_0x7c3fd1){return _0x7c3fd1();},'BbgAx':'itemIds','uSaol':function(_0x5cdcf5,_0x1d1000){return _0x5cdcf5&&_0x1d1000;},'xeUbl':'style','dAwYM':function(_0x472116,_0x1d28fc,_0x5bc0b6){return _0x472116(_0x1d28fc,_0x5bc0b6);}},_0x160878=await getToken();if(!_0x160878)throw new Error(_0x4d30ef['YiLBW']);const _0x9a1bad=_0x4d30ef['rVmPn'](getApiBaseUrl),_0x2ec471=new URLSearchParams(),_0x18b587=(_0x5e1385?.['itemIds']?.['length']??0x0)>0x0,_0x46fb5e=Boolean(_0x5e1385?.['sessionId']);_0x18b587&&_0x5e1385?.[_0x1c235c(0xc6)]&&_0x2ec471['set'](_0x4d30ef['BbgAx'],_0x5e1385['itemIds'][_0x1c235c(0xf2)](','));_0x46fb5e&&_0x5e1385?.['sessionId']&&_0x2ec471['set'](_0x1c235c(0xd5),_0x5e1385[_0x1c235c(0xd5)]);_0x4d30ef['uSaol'](!_0x18b587,!_0x46fb5e)&&_0x5e1385?.['style']&&_0x2ec471[_0x1c235c(0xb2)](_0x4d30ef[_0x1c235c(0xe8)],_0x5e1385[_0x1c235c(0xbc)]);const _0x124090=_0x9a1bad+'/api/v1/mcp/features/'+_0x553a21+_0x1c235c(0xc2),_0xc9e7db=''+_0x124090+(_0x2ec471['toString']()?'?'+_0x2ec471[_0x1c235c(0xf8)]():''),_0x162efe=await _0x4d30ef[_0x1c235c(0xd1)](fetch,_0xc9e7db,{'method':'GET','headers':{'Authorization':_0x1c235c(0xb6)+_0x160878}});if(!_0x162efe['ok']){const _0x3f0ccf=await _0x162efe[_0x1c235c(0xba)]();throw new Error(_0x1c235c(0xed)+_0x3f0ccf);}return _0x162efe[_0x1c235c(0xba)]();}export async function listFeatureSessions(_0x5516b0){const _0x4bc728=_0x1110,_0x18195e={'ajKLc':function(_0x315288){return _0x315288();}},_0x5c6b00=await _0x18195e['ajKLc'](getToken);if(!_0x5c6b00)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x5eb87e=_0x18195e['ajKLc'](getApiBaseUrl),_0x1232b8=await fetch(_0x5eb87e+'/api/v1/mcp/features/'+_0x5516b0+_0x4bc728(0xdc),{'method':_0x4bc728(0xd0),'headers':{'Authorization':'Bearer\x20'+_0x5c6b00}});if(!_0x1232b8['ok']){const _0x1d83d9=await _0x1232b8[_0x4bc728(0xba)]();throw new Error(_0x4bc728(0xec)+_0x1d83d9);}return _0x1232b8['json']();}export async function startSession(_0x27149f,_0xfbd2e2){const _0x4e334d=_0x1110,_0x1e650f={'dMKzg':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','IWHUV':function(_0x1dd762,_0x42986b,_0x50b1f5){return _0x1dd762(_0x42986b,_0x50b1f5);}},_0x4f4bea=await getToken();if(!_0x4f4bea)throw new Error(_0x1e650f[_0x4e334d(0xdd)]);const _0x3dc9e4=getApiBaseUrl(),_0x2b0499=await _0x1e650f[_0x4e334d(0xbf)](fetch,_0x3dc9e4+_0x4e334d(0xc9)+_0x27149f+'/sessions/'+_0xfbd2e2+'/start',{'method':_0x4e334d(0xdf),'headers':{'Authorization':_0x4e334d(0xb6)+_0x4f4bea}});if(!_0x2b0499['ok']){const _0x4dc27d=await _0x2b0499[_0x4e334d(0xba)]();throw new Error(_0x4e334d(0xd4)+_0x4dc27d);}return _0x2b0499[_0x4e334d(0xd9)]();}export async function concludeSession(_0x40b9d9,_0x5a97f4){const _0x3ba3c2=_0x1110,_0x2cb911={'uqBEN':function(_0x55897f){return _0x55897f();},'RsDpT':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','EEyiZ':function(_0x1b5384,_0x332350,_0x18a96a){return _0x1b5384(_0x332350,_0x18a96a);},'Vvbtd':'POST'},_0x23381e=await _0x2cb911['uqBEN'](getToken);if(!_0x23381e)throw new Error(_0x2cb911[_0x3ba3c2(0xca)]);const _0x4a3b13=getApiBaseUrl(),_0x34e6d8=await _0x2cb911[_0x3ba3c2(0xb7)](fetch,_0x4a3b13+_0x3ba3c2(0xc9)+_0x40b9d9+'/sessions/'+_0x5a97f4+'/conclude',{'method':_0x2cb911['Vvbtd'],'headers':{'Authorization':_0x3ba3c2(0xb6)+_0x23381e}});if(!_0x34e6d8['ok']){const _0x30f9f5=await _0x34e6d8[_0x3ba3c2(0xba)]();throw new Error(_0x3ba3c2(0xd2)+_0x30f9f5);}return _0x34e6d8['json']();}export async function getActionItems(_0x20d39e){const _0x23570c=_0x1110,_0x578b8a={'YUuIl':function(_0xb4f1f9){return _0xb4f1f9();},'fwnEw':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','ZhFdc':function(_0x38af86,_0x1532a6,_0x5580be){return _0x38af86(_0x1532a6,_0x5580be);},'GZtEe':'GET'},_0x272b28=await _0x578b8a[_0x23570c(0xe4)](getToken);if(!_0x272b28)throw new Error(_0x578b8a['fwnEw']);const _0x240abb=getApiBaseUrl(),_0x1bef31=await _0x578b8a['ZhFdc'](fetch,_0x240abb+'/api/v1/mcp/features/'+_0x20d39e+_0x23570c(0xeb),{'method':_0x578b8a[_0x23570c(0xad)],'headers':{'Authorization':'Bearer\x20'+_0x272b28}});if(!_0x1bef31['ok']){const _0x31f548=await _0x1bef31['text']();throw new Error(_0x23570c(0xe0)+_0x31f548);}return _0x1bef31['json']();}export async function getItemFeedback(_0x20e73c,_0x3ddde0){const _0x38abfd=_0x1110,_0x83bac6={'Matry':function(_0x21dba2){return _0x21dba2();},'udVdP':function(_0x45b37f,_0x390c5f,_0x33630a){return _0x45b37f(_0x390c5f,_0x33630a);}},_0x499c29=await _0x83bac6['Matry'](getToken);if(!_0x499c29)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x285b76=_0x83bac6['Matry'](getApiBaseUrl),_0x304d73=await _0x83bac6[_0x38abfd(0xbe)](fetch,_0x285b76+'/api/v1/mcp/features/'+_0x20e73c+_0x38abfd(0xf5)+_0x3ddde0+'/feedback',{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x499c29}});if(!_0x304d73['ok']){const _0x4427ab=await _0x304d73['text']();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x4427ab);}return _0x304d73[_0x38abfd(0xd9)]();}export async function markCommentsAddressed(_0x16a9a9,_0x3245f6,_0x3b22a5){const _0x2b8baf=_0x1110,_0x56dccb={'BGhIp':function(_0x5742ff,_0x43a26a,_0x21a564){return _0x5742ff(_0x43a26a,_0x21a564);},'XLdDX':'application/json'},_0x2c9f7e=await getToken();if(!_0x2c9f7e)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x438562=getApiBaseUrl(),_0x16c118=await _0x56dccb[_0x2b8baf(0xf1)](fetch,_0x438562+'/api/v1/mcp/features/'+_0x16a9a9+'/comments/address',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x2c9f7e,'Content-Type':_0x56dccb['XLdDX']},'body':JSON['stringify']({'checklistItemId':_0x3245f6,'commentIds':_0x3b22a5})});if(!_0x16c118['ok']){const _0x2ea392=await _0x16c118['text']();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x2ea392);}}export async function softDeleteFeature(_0x26c49f){const _0x3f9fb6=_0x1110,_0x52b8a6={'OVOsf':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x4f6175=await getToken();if(!_0x4f6175)throw new Error(_0x52b8a6['OVOsf']);const _0x10b0b2=getApiBaseUrl(),_0x2a556b=await fetch(_0x10b0b2+'/api/v1/mcp/features/'+_0x26c49f,{'method':_0x3f9fb6(0xdb),'headers':{'Authorization':_0x3f9fb6(0xb6)+_0x4f6175}});if(!_0x2a556b['ok']){const _0x521175=await _0x2a556b[_0x3f9fb6(0xba)]();throw new Error(_0x3f9fb6(0xc7)+_0x521175);}}export async function restoreFeature(_0x55adb0){const _0x3e9c3e=_0x1110,_0x33416b={'fwOwp':function(_0x477b1a){return _0x477b1a();},'LMQIj':function(_0x147548){return _0x147548();},'CXuxF':'POST'},_0x491336=await _0x33416b[_0x3e9c3e(0xcd)](getToken);if(!_0x491336)throw new Error(_0x3e9c3e(0xef));const _0x5425c7=_0x33416b[_0x3e9c3e(0xcb)](getApiBaseUrl),_0x40e153=await fetch(_0x5425c7+_0x3e9c3e(0xc9)+_0x55adb0+_0x3e9c3e(0xd8),{'method':_0x33416b['CXuxF'],'headers':{'Authorization':'Bearer\x20'+_0x491336}});if(!_0x40e153['ok']){const _0x2824e1=await _0x40e153['text']();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0x2824e1);}}
1
+ (function(_0x25cd29,_0x1b6d88){const _0x2c32b1=_0x5158,_0x195c4d=_0x25cd29();while(!![]){try{const _0x4fac79=parseInt(_0x2c32b1(0xfb))/0x1*(parseInt(_0x2c32b1(0x11b))/0x2)+-parseInt(_0x2c32b1(0xf4))/0x3*(parseInt(_0x2c32b1(0x107))/0x4)+-parseInt(_0x2c32b1(0x10d))/0x5+parseInt(_0x2c32b1(0x10c))/0x6+parseInt(_0x2c32b1(0x109))/0x7+-parseInt(_0x2c32b1(0x104))/0x8+parseInt(_0x2c32b1(0x115))/0x9*(parseInt(_0x2c32b1(0xf0))/0xa);if(_0x4fac79===_0x1b6d88)break;else _0x195c4d['push'](_0x195c4d['shift']());}catch(_0x256dc3){_0x195c4d['push'](_0x195c4d['shift']());}}}(_0x3e7b,0x481f0));function _0x3e7b(){const _0x4006f7=['style','AcpYF','KysCN','SgbaK','EfPvC','aapxO','3889744fVXLUC','HjSPs','OMFWK','14684jzNEyz','DIhmq','630679tnEkpa','\x0a\x0aUpgrade\x20your\x20plan:\x20','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','3016350WNcwxl','1282805OMFifo','cfQmd','text','Failed\x20to\x20restore\x20feature\x20review:\x20','sessionId','https://dashboard.ranger.net/billing','stringify','POST','9qXLocN','NRvHq','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','ZnAhg','gitBranch','aFNNe','409918UTFkqe','Bearer\x20','HzDQa','/comments/address','status','Failed\x20to\x20create\x20scenario:\x20','join','itemIds','message','/report/markdown','xIxIo','DmGtA','/feedback','Failed\x20to\x20update\x20scenario:\x20','json','/checklist/','/conclude','Failed\x20to\x20get\x20feature\x20review:\x20','/api/v1/mcp/features','bNqHc','GET','RIlrX','/api/v1/mcp/features/','limit','toString','billingUrl','sEGXp','JpSvA','application/json','set','4129430fuugES','agiaq','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','DELETE','141oYfHNm','/checklist-items/','NOEvg','/report','PATCH','/action-items','Cuumc','1tVGHEn','/sessions/','gitRepoUrl'];_0x3e7b=function(){return _0x4006f7;};return _0x3e7b();}import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x2a1c4b){const _0x553bba=_0x5158,_0x57b978={'UcVhe':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','TIPJI':'POST','SgbaK':_0x553bba(0xee),'jWsBW':function(_0x4078aa,_0x24a3d9){return _0x4078aa===_0x24a3d9;},'DmGtA':_0x553bba(0x112),'XfbOc':'Feature\x20limit\x20exceeded'},_0x1eab62=await getToken();if(!_0x1eab62)throw new Error(_0x57b978['UcVhe']);const _0xae492d=getApiBaseUrl(),_0x1cae9b=await fetch(_0xae492d+_0x553bba(0x12d),{'method':_0x57b978['TIPJI'],'headers':{'Authorization':_0x553bba(0x11c)+_0x1eab62,'Content-Type':_0x57b978[_0x553bba(0x101)]},'body':JSON['stringify'](_0x2a1c4b)});if(!_0x1cae9b['ok']){if(_0x57b978['jWsBW'](_0x1cae9b[_0x553bba(0x11f)],0x192)){const _0xbf29c9=await _0x1cae9b['json'](),_0x4f5a8c=_0xbf29c9[_0x553bba(0xeb)]||_0x57b978[_0x553bba(0x126)];throw new Error((_0xbf29c9[_0x553bba(0x123)]||_0x57b978['XfbOc'])+_0x553bba(0x10a)+_0x4f5a8c);}const _0x3ecf11=await _0x1cae9b['text']();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x3ecf11);}return _0x1cae9b['json']();}export async function listFeatures(_0x2ef00d){const _0x3b6a67=_0x5158,_0x1a8e08={'NRvHq':_0x3b6a67(0x10b),'cfQmd':'gitBranch','gGZzF':'true','AtGwt':'GET'},_0x487f8d=await getToken();if(!_0x487f8d)throw new Error(_0x1a8e08[_0x3b6a67(0x116)]);const _0xdcadf7=getApiBaseUrl(),_0x2760f6=new URLSearchParams();if(_0x2ef00d?.[_0x3b6a67(0xfd)])_0x2760f6[_0x3b6a67(0xef)]('gitRepoUrl',_0x2ef00d['gitRepoUrl']);if(_0x2ef00d?.['gitBranch'])_0x2760f6[_0x3b6a67(0xef)](_0x1a8e08[_0x3b6a67(0x10e)],_0x2ef00d[_0x3b6a67(0x119)]);if(_0x2ef00d?.['limit'])_0x2760f6['set']('limit',_0x2ef00d[_0x3b6a67(0x132)][_0x3b6a67(0x133)]());if(_0x2ef00d?.['offset'])_0x2760f6['set']('offset',_0x2ef00d['offset']['toString']());if(_0x2ef00d?.['includeDeleted'])_0x2760f6[_0x3b6a67(0xef)]('includeDeleted',_0x1a8e08['gGZzF']);const _0x353b90=_0xdcadf7+'/api/v1/mcp/features'+(_0x2760f6[_0x3b6a67(0x133)]()?'?'+_0x2760f6['toString']():''),_0x17f235=await fetch(_0x353b90,{'method':_0x1a8e08['AtGwt'],'headers':{'Authorization':_0x3b6a67(0x11c)+_0x487f8d}});if(!_0x17f235['ok']){const _0x81ea80=await _0x17f235['text']();throw new Error('Failed\x20to\x20list\x20feature\x20reviews:\x20'+_0x81ea80);}return _0x17f235[_0x3b6a67(0x129)]();}export async function getFeature(_0x1f43e0){const _0x5f207f=_0x5158,_0x22313d={'dRoIa':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','sEGXp':function(_0x4a6f6a,_0x1d61b9,_0x3f06d4){return _0x4a6f6a(_0x1d61b9,_0x3f06d4);}},_0xaf74df=await getToken();if(!_0xaf74df)throw new Error(_0x22313d['dRoIa']);const _0x2df858=getApiBaseUrl(),_0x4188b6=await _0x22313d[_0x5f207f(0xec)](fetch,_0x2df858+'/api/v1/mcp/features/'+_0x1f43e0,{'method':_0x5f207f(0x12f),'headers':{'Authorization':'Bearer\x20'+_0xaf74df}});if(!_0x4188b6['ok']){const _0x1e92ff=await _0x4188b6[_0x5f207f(0x10f)]();throw new Error(_0x5f207f(0x12c)+_0x1e92ff);}return _0x4188b6['json']();}export async function updateFeature(_0xa084dc,_0x14534b){const _0x2a56cb=_0x5158,_0x58f042={'qqEcj':function(_0x224c3f,_0x154b50,_0x383042){return _0x224c3f(_0x154b50,_0x383042);},'AcpYF':_0x2a56cb(0xf8),'BWlVj':_0x2a56cb(0xee)},_0x24cacc=await getToken();if(!_0x24cacc)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x30b022=getApiBaseUrl(),_0x33d407=await _0x58f042['qqEcj'](fetch,_0x30b022+'/api/v1/mcp/features/'+_0xa084dc,{'method':_0x58f042[_0x2a56cb(0xff)],'headers':{'Authorization':_0x2a56cb(0x11c)+_0x24cacc,'Content-Type':_0x58f042['BWlVj']},'body':JSON[_0x2a56cb(0x113)](_0x14534b)});if(!_0x33d407['ok']){const _0x1c8fd5=await _0x33d407['text']();throw new Error('Failed\x20to\x20update\x20feature\x20review:\x20'+_0x1c8fd5);}return _0x33d407[_0x2a56cb(0x129)]();}export async function createChecklistItem(_0x1d50d9,_0x59cf14,_0x5c2678){const _0x4467a5=_0x5158,_0x5ac4aa={'bNqHc':function(_0x380781){return _0x380781();},'KysCN':'POST'},_0x1579ef=await _0x5ac4aa[_0x4467a5(0x12e)](getToken);if(!_0x1579ef)throw new Error(_0x4467a5(0x10b));const _0x306c55=getApiBaseUrl(),_0x468465=await fetch(_0x306c55+'/api/v1/mcp/features/'+_0x1d50d9+'/checklist',{'method':_0x5ac4aa[_0x4467a5(0x100)],'headers':{'Authorization':_0x4467a5(0x11c)+_0x1579ef,'Content-Type':'application/json'},'body':JSON['stringify']({'description':_0x59cf14,'position':_0x5c2678})});if(!_0x468465['ok']){const _0x42014e=await _0x468465['text']();throw new Error(_0x4467a5(0x120)+_0x42014e);}return _0x468465['json']();}export async function updateChecklistItem(_0x2bea41,_0x10f327,_0x7087ff){const _0x49712f={'QtpOn':function(_0x12871f){return _0x12871f();},'HjSPs':function(_0x52555e){return _0x52555e();},'WaiTU':'updateChecklistItem'};return withRetry(async()=>{const _0x39ad6c=_0x5158,_0x4474d9=await _0x49712f['QtpOn'](getToken);if(!_0x4474d9)throw new Error(_0x39ad6c(0x10b));const _0x15287d=_0x49712f[_0x39ad6c(0x105)](getApiBaseUrl),_0x528f0b=await fetch(_0x15287d+_0x39ad6c(0x131)+_0x2bea41+_0x39ad6c(0x12a)+_0x10f327,{'method':_0x39ad6c(0xf8),'headers':{'Authorization':_0x39ad6c(0x11c)+_0x4474d9,'Content-Type':_0x39ad6c(0xee)},'body':JSON['stringify'](_0x7087ff)});if(!_0x528f0b['ok']){const _0x54bb9d=await _0x528f0b[_0x39ad6c(0x10f)]();throw new Error(_0x39ad6c(0x128)+_0x54bb9d);}return _0x528f0b[_0x39ad6c(0x129)]();},{'label':_0x49712f['WaiTU']});}export async function getFeatureReport(_0x30ffd5){const _0xef6a9d=_0x5158,_0x2080ca={'HzDQa':function(_0x5a6e8d,_0x4811fb,_0x2b6f09){return _0x5a6e8d(_0x4811fb,_0x2b6f09);}},_0x3f4a35=await getToken();if(!_0x3f4a35)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x536f0c=getApiBaseUrl(),_0x4fd873=await _0x2080ca[_0xef6a9d(0x11d)](fetch,_0x536f0c+'/api/v1/mcp/features/'+_0x30ffd5+_0xef6a9d(0xf7),{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x3f4a35}});if(!_0x4fd873['ok']){const _0x30acf6=await _0x4fd873[_0xef6a9d(0x10f)]();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report:\x20'+_0x30acf6);}return _0x4fd873[_0xef6a9d(0x129)]();}export async function getFeatureReportMarkdown(_0x224d5d,_0x287f92){const _0x145ad2=_0x5158,_0x16f7ec={'OMFWK':function(_0x1bd5b8){return _0x1bd5b8();},'NOEvg':_0x145ad2(0x10b),'EfPvC':function(_0x5e63df,_0x24da4d){return _0x5e63df>_0x24da4d;},'KbGak':function(_0x3da565,_0x239c0c){return _0x3da565(_0x239c0c);},'Cuumc':'itemIds','VNPat':function(_0x2a2a4a,_0x3ee5a0){return _0x2a2a4a&&_0x3ee5a0;}},_0x2fe274=await _0x16f7ec[_0x145ad2(0x106)](getToken);if(!_0x2fe274)throw new Error(_0x16f7ec[_0x145ad2(0xf6)]);const _0x2d1a8b=_0x16f7ec[_0x145ad2(0x106)](getApiBaseUrl),_0x2fe3af=new URLSearchParams(),_0x5acd92=_0x16f7ec[_0x145ad2(0x102)](_0x287f92?.['itemIds']?.['length']??0x0,0x0),_0x4014fa=_0x16f7ec['KbGak'](Boolean,_0x287f92?.['sessionId']);_0x5acd92&&_0x287f92?.['itemIds']&&_0x2fe3af[_0x145ad2(0xef)](_0x16f7ec[_0x145ad2(0xfa)],_0x287f92[_0x145ad2(0x122)][_0x145ad2(0x121)](','));_0x4014fa&&_0x287f92?.[_0x145ad2(0x111)]&&_0x2fe3af['set']('sessionId',_0x287f92[_0x145ad2(0x111)]);_0x16f7ec['VNPat'](!_0x5acd92,!_0x4014fa)&&_0x287f92?.[_0x145ad2(0xfe)]&&_0x2fe3af[_0x145ad2(0xef)]('style',_0x287f92['style']);const _0x47493d=_0x2d1a8b+_0x145ad2(0x131)+_0x224d5d+_0x145ad2(0x124),_0x1e2129=''+_0x47493d+(_0x2fe3af[_0x145ad2(0x133)]()?'?'+_0x2fe3af[_0x145ad2(0x133)]():''),_0x2df1f7=await fetch(_0x1e2129,{'method':_0x145ad2(0x12f),'headers':{'Authorization':_0x145ad2(0x11c)+_0x2fe274}});if(!_0x2df1f7['ok']){const _0x48a413=await _0x2df1f7[_0x145ad2(0x10f)]();throw new Error(_0x145ad2(0x117)+_0x48a413);}return _0x2df1f7[_0x145ad2(0x10f)]();}export async function listFeatureSessions(_0x2fa566){const _0x27ad50=_0x5158,_0x2407cd={'UHHYW':_0x27ad50(0x10b),'UkVBC':function(_0x11209d,_0x196b90,_0x54a6b4){return _0x11209d(_0x196b90,_0x54a6b4);},'aapxO':'GET'},_0x2ba27b=await getToken();if(!_0x2ba27b)throw new Error(_0x2407cd['UHHYW']);const _0x97722=getApiBaseUrl(),_0x5ae5f0=await _0x2407cd['UkVBC'](fetch,_0x97722+_0x27ad50(0x131)+_0x2fa566+'/sessions',{'method':_0x2407cd[_0x27ad50(0x103)],'headers':{'Authorization':'Bearer\x20'+_0x2ba27b}});if(!_0x5ae5f0['ok']){const _0x24980c=await _0x5ae5f0[_0x27ad50(0x10f)]();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x24980c);}return _0x5ae5f0[_0x27ad50(0x129)]();}export async function startSession(_0x2f84b3,_0x3335c3){const _0x351795=_0x5158,_0x55e1a6={'xIxIo':function(_0x4d1350){return _0x4d1350();},'thXgy':_0x351795(0x114)},_0x25971d=await _0x55e1a6[_0x351795(0x125)](getToken);if(!_0x25971d)throw new Error(_0x351795(0x10b));const _0x3ca030=getApiBaseUrl(),_0x34b020=await fetch(_0x3ca030+_0x351795(0x131)+_0x2f84b3+'/sessions/'+_0x3335c3+'/start',{'method':_0x55e1a6['thXgy'],'headers':{'Authorization':_0x351795(0x11c)+_0x25971d}});if(!_0x34b020['ok']){const _0x25a472=await _0x34b020['text']();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x25a472);}return _0x34b020[_0x351795(0x129)]();}export async function concludeSession(_0x404233,_0x2f03bc){const _0x3b3b20=_0x5158,_0x51c203={'CLcyB':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x10e8db=await getToken();if(!_0x10e8db)throw new Error(_0x51c203['CLcyB']);const _0x5a2066=getApiBaseUrl(),_0x5ab550=await fetch(_0x5a2066+'/api/v1/mcp/features/'+_0x404233+_0x3b3b20(0xfc)+_0x2f03bc+_0x3b3b20(0x12b),{'method':_0x3b3b20(0x114),'headers':{'Authorization':'Bearer\x20'+_0x10e8db}});if(!_0x5ab550['ok']){const _0x689fe2=await _0x5ab550['text']();throw new Error('Failed\x20to\x20conclude\x20session:\x20'+_0x689fe2);}return _0x5ab550[_0x3b3b20(0x129)]();}export async function getActionItems(_0x5f0ee0){const _0x139827=_0x5158,_0x5b1e5d={'HfwUJ':function(_0x5a1e56){return _0x5a1e56();},'kdvgJ':function(_0x4d6059,_0x420b86,_0x492b4e){return _0x4d6059(_0x420b86,_0x492b4e);},'JpSvA':'GET'},_0x2ac7e5=await _0x5b1e5d['HfwUJ'](getToken);if(!_0x2ac7e5)throw new Error(_0x139827(0x10b));const _0x335399=_0x5b1e5d['HfwUJ'](getApiBaseUrl),_0x44b596=await _0x5b1e5d['kdvgJ'](fetch,_0x335399+_0x139827(0x131)+_0x5f0ee0+_0x139827(0xf9),{'method':_0x5b1e5d[_0x139827(0xed)],'headers':{'Authorization':'Bearer\x20'+_0x2ac7e5}});if(!_0x44b596['ok']){const _0x30caab=await _0x44b596['text']();throw new Error('Failed\x20to\x20get\x20action\x20items:\x20'+_0x30caab);}return _0x44b596[_0x139827(0x129)]();}export async function getItemFeedback(_0x38b885,_0x4c9428){const _0x31ae34=_0x5158,_0x1afd4b={'agiaq':function(_0x11e9cc){return _0x11e9cc();},'PorSa':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','DIhmq':function(_0x587032,_0x422fd8,_0x2aca7d){return _0x587032(_0x422fd8,_0x2aca7d);}},_0x1ad160=await _0x1afd4b[_0x31ae34(0xf1)](getToken);if(!_0x1ad160)throw new Error(_0x1afd4b['PorSa']);const _0x2883cf=getApiBaseUrl(),_0x2a1aae=await _0x1afd4b[_0x31ae34(0x108)](fetch,_0x2883cf+_0x31ae34(0x131)+_0x38b885+_0x31ae34(0xf5)+_0x4c9428+_0x31ae34(0x127),{'method':_0x31ae34(0x12f),'headers':{'Authorization':_0x31ae34(0x11c)+_0x1ad160}});if(!_0x2a1aae['ok']){const _0x2ef9c1=await _0x2a1aae[_0x31ae34(0x10f)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x2ef9c1);}return _0x2a1aae[_0x31ae34(0x129)]();}export async function markCommentsAddressed(_0x3d3329,_0x2042cb,_0x40aeb7){const _0x4e626f=_0x5158,_0x12b80f={'EdJBH':function(_0x124759){return _0x124759();},'aFNNe':function(_0x4af153,_0x22be60,_0x448ad1){return _0x4af153(_0x22be60,_0x448ad1);},'EzNax':'POST'},_0x222738=await getToken();if(!_0x222738)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x38d0c3=_0x12b80f['EdJBH'](getApiBaseUrl),_0xee4cba=await _0x12b80f[_0x4e626f(0x11a)](fetch,_0x38d0c3+'/api/v1/mcp/features/'+_0x3d3329+_0x4e626f(0x11e),{'method':_0x12b80f['EzNax'],'headers':{'Authorization':_0x4e626f(0x11c)+_0x222738,'Content-Type':'application/json'},'body':JSON['stringify']({'checklistItemId':_0x2042cb,'commentIds':_0x40aeb7})});if(!_0xee4cba['ok']){const _0x336965=await _0xee4cba['text']();throw new Error(_0x4e626f(0xf2)+_0x336965);}}export async function softDeleteFeature(_0xc10e62){const _0x308a4b=_0x5158,_0x21f2d9={'RIlrX':_0x308a4b(0x10b)},_0x33d987=await getToken();if(!_0x33d987)throw new Error(_0x21f2d9[_0x308a4b(0x130)]);const _0x562eca=getApiBaseUrl(),_0x2ac351=await fetch(_0x562eca+'/api/v1/mcp/features/'+_0xc10e62,{'method':_0x308a4b(0xf3),'headers':{'Authorization':_0x308a4b(0x11c)+_0x33d987}});if(!_0x2ac351['ok']){const _0x32e579=await _0x2ac351[_0x308a4b(0x10f)]();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x32e579);}}function _0x5158(_0xbdfbe2,_0x263d2f){_0xbdfbe2=_0xbdfbe2-0xeb;const _0x3e7b1b=_0x3e7b();let _0x51582f=_0x3e7b1b[_0xbdfbe2];return _0x51582f;}export async function restoreFeature(_0x40c51b){const _0x18a624=_0x5158,_0x1d3048={'ZnAhg':function(_0x58d3b0,_0x308d23,_0x4614a1){return _0x58d3b0(_0x308d23,_0x4614a1);}},_0x26aea4=await getToken();if(!_0x26aea4)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x11f377=getApiBaseUrl(),_0x3d1702=await _0x1d3048[_0x18a624(0x118)](fetch,_0x11f377+_0x18a624(0x131)+_0x40c51b+'/restore',{'method':_0x18a624(0x114),'headers':{'Authorization':'Bearer\x20'+_0x26aea4}});if(!_0x3d1702['ok']){const _0xf0d55b=await _0x3d1702[_0x18a624(0x10f)]();throw new Error(_0x18a624(0x110)+_0xf0d55b);}}