@ranger-testing/ranger-cli 2.5.4-alpha.a70fc60-4 → 2.5.4-alpha.b28d3b1-14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.js +1 -1
- package/build/commands/addEnv.js +1 -1
- package/build/commands/authEncrypt.js +1 -1
- package/build/commands/clean.js +1 -1
- package/build/commands/config.js +1 -1
- package/build/commands/env.js +1 -1
- package/build/commands/feature.js +1 -1
- package/build/commands/hook.js +1 -1
- package/build/commands/hooks/autoPrompt.js +1 -1
- package/build/commands/hooks/disable.js +1 -1
- package/build/commands/hooks/enable.js +1 -1
- package/build/commands/hooks/exitPlanMode.js +1 -1
- package/build/commands/hooks/index.js +1 -1
- package/build/commands/hooks/output.js +1 -1
- package/build/commands/hooks/planReminder.js +1 -1
- package/build/commands/hooks/planStart.js +1 -1
- package/build/commands/hooks/postEdit.js +1 -1
- package/build/commands/hooks/preCompact.js +1 -1
- package/build/commands/hooks/sessionEnd.js +1 -1
- package/build/commands/hooks/sessionStart.js +1 -1
- package/build/commands/hooks/stopHook.js +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/login.js +1 -1
- package/build/commands/mcpBootstrap.js +1 -1
- package/build/commands/migrateProfile.js +1 -1
- package/build/commands/setup/claude.js +1 -1
- package/build/commands/setup/opencode.js +1 -1
- package/build/commands/setupCi.js +1 -1
- package/build/commands/skillup.js +1 -1
- package/build/commands/start.js +1 -1
- package/build/commands/status.js +1 -1
- package/build/commands/update.js +1 -1
- package/build/commands/updateEnv.js +1 -1
- package/build/commands/useEnv.js +1 -1
- package/build/commands/utils/activeProfile.js +1 -1
- package/build/commands/utils/agentEnv.js +1 -1
- package/build/commands/utils/browserSessionsApi.js +1 -1
- package/build/commands/utils/claudeConfig.js +1 -1
- package/build/commands/utils/claudeOverrideSettings.js +1 -1
- package/build/commands/utils/claudePlugin.js +1 -1
- package/build/commands/utils/cloudProfile.js +1 -1
- package/build/commands/utils/cloudProfileSession.js +1 -1
- package/build/commands/utils/crypto.js +1 -1
- package/build/commands/utils/desirePathLog.js +1 -1
- package/build/commands/utils/deviceAuth.js +1 -1
- package/build/commands/utils/environment.js +1 -1
- package/build/commands/utils/featureApi.js +1 -1
- package/build/commands/utils/fixWebmDuration.js +1 -1
- package/build/commands/utils/gitTracked.js +1 -1
- package/build/commands/utils/keychain.js +1 -1
- package/build/commands/utils/legacyWarning.js +1 -0
- package/build/commands/utils/localAgentInstallationsApi.js +1 -1
- package/build/commands/utils/matchAuthEnvironment.js +1 -1
- package/build/commands/utils/mcpImageBase64.js +1 -1
- package/build/commands/utils/model.js +1 -1
- package/build/commands/utils/opencodeConfig.js +1 -1
- package/build/commands/utils/playwrightCli.js +1 -1
- package/build/commands/utils/profileMessages.js +1 -1
- package/build/commands/utils/profileSetupBanner.js +1 -1
- package/build/commands/utils/projectsConfig.js +1 -1
- package/build/commands/utils/rangerConfig.js +1 -1
- package/build/commands/utils/rangerRoot.js +1 -1
- package/build/commands/utils/resolveProfileContext.js +1 -1
- package/build/commands/utils/resolveProfileUrl.js +1 -1
- package/build/commands/utils/retry.js +1 -1
- package/build/commands/utils/sessionCache.js +1 -1
- package/build/commands/utils/settings.js +1 -1
- package/build/commands/utils/skillContent.js +1 -1
- package/build/commands/utils/skills.js +1 -1
- package/build/commands/utils/stitchWebmFiles.js +1 -1
- package/build/commands/utils/telemetry.js +1 -1
- package/build/commands/utils/tokenRefresh.js +1 -1
- package/build/commands/utils/traceSnapshotMapper.js +1 -1
- package/build/commands/utils/userApi.js +1 -1
- package/build/commands/utils/version.js +1 -1
- package/build/commands/verifyFeature.js +1 -1
- package/build/commands/verifyFeatureCli.js +1 -1
- package/build/skills/ranger/SKILL.md +25 -5
- package/build/skills/ranger/create.md +19 -0
- package/build/skills/ranger/verify.md +34 -7
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x3651(){const _0x311a5c=['102805XBXEpk','185255HQxaYY','40BSpExm','218793FCjbVa','cJvIu','lFtor','cwd','10359624ZRSaau','parse','2087016GvVKCB','skills','.git','30OJjmxV','zgNLD','1eZMiTZ','1269464aTgZFk','5846750gAFftP','utf-8','Wrmdl','9LaynWU','jEXeK','bJrtb','Wtaue','rgJlX'];_0x3651=function(){return _0x311a5c;};return _0x3651();}(function(_0x97b446,_0x351c96){const _0x1364f0=_0x4157,_0x18fca2=_0x97b446();while(!![]){try{const _0x1a8632=-parseInt(_0x1364f0(0x198))/0x1*(-parseInt(_0x1364f0(0x199))/0x2)+-parseInt(_0x1364f0(0x1a5))/0x3+-parseInt(_0x1364f0(0x1a4))/0x4*(parseInt(_0x1364f0(0x1a2))/0x5)+-parseInt(_0x1364f0(0x196))/0x6*(-parseInt(_0x1364f0(0x1a3))/0x7)+parseInt(_0x1364f0(0x193))/0x8*(parseInt(_0x1364f0(0x19d))/0x9)+parseInt(_0x1364f0(0x19a))/0xa+-parseInt(_0x1364f0(0x191))/0xb;if(_0x1a8632===_0x351c96)break;else _0x18fca2['push'](_0x18fca2['shift']());}catch(_0x55f487){_0x18fca2['push'](_0x18fca2['shift']());}}}(_0x3651,0x5fc5c));import{homedir}from'os';import{join,dirname,parse}from'path';import{existsSync}from'fs';function _0x4157(_0x29d750,_0xc8b05e){_0x29d750=_0x29d750-0x191;const _0x365159=_0x3651();let _0x415708=_0x365159[_0x29d750];return _0x415708;}import{readFile,writeFile,mkdir}from'fs/promises';export function getClaudeConfigDir(){const _0x343826=_0x4157,_0x5be7f9={'Wtaue':function(_0x524ed6){return _0x524ed6();}};return process['env']['CLAUDE_CONFIG_DIR']||join(_0x5be7f9[_0x343826(0x1a0)](homedir),'.claude');}export function getUserSkillsDir(){const _0x17a7d1=_0x4157,_0x39552c={'chCWO':function(_0x3b3ea5){return _0x3b3ea5();},'RCcmC':_0x17a7d1(0x194)};return join(_0x39552c['chCWO'](getClaudeConfigDir),_0x39552c['RCcmC']);}export function getProjectRoot(){const _0x44941d=_0x4157,_0x2c9bfd={'bJrtb':function(_0x596072,_0x56ebe7){return _0x596072(_0x56ebe7);},'rgJlX':function(_0x4172fa,_0x348795){return _0x4172fa!==_0x348795;},'jEXeK':'.claude','lFtor':_0x44941d(0x195)};let _0x2c89a2=process[_0x44941d(0x1a8)]();const _0x3616e9=_0x2c9bfd[_0x44941d(0x19f)](parse,_0x2c89a2)['root'];while(_0x2c9bfd[_0x44941d(0x1a1)](_0x2c89a2,_0x3616e9)){if(_0x2c9bfd[_0x44941d(0x19f)](existsSync,join(_0x2c89a2,_0x2c9bfd[_0x44941d(0x19e)])))return _0x2c89a2;if(existsSync(join(_0x2c89a2,_0x2c9bfd[_0x44941d(0x1a7)])))return _0x2c89a2;_0x2c89a2=_0x2c9bfd[_0x44941d(0x19f)](dirname,_0x2c89a2);}return process['cwd']();}export function getProjectSkillsDir(){const _0x5daf1b={'DTrXv':'.claude','daoSM':'skills'};return join(getProjectRoot(),_0x5daf1b['DTrXv'],_0x5daf1b['daoSM']);}export function getSkillsDir(_0x3036a5){return _0x3036a5==='user'?getUserSkillsDir():getProjectSkillsDir();}export function getSettingsPath(){const _0x379461={'aBkZo':function(_0x4d63e6){return _0x4d63e6();}};return join(_0x379461['aBkZo'](getClaudeConfigDir),'settings.json');}export async function loadClaudeSettings(){const _0x2bd2c5=_0x4157,_0x225ae9={'Wrmdl':function(_0xed4ab6){return _0xed4ab6();},'svOBb':function(_0x1d01be,_0x25fe0c,_0x13a761){return _0x1d01be(_0x25fe0c,_0x13a761);},'zgNLD':'utf-8'},_0x26f16c=_0x225ae9[_0x2bd2c5(0x19c)](getSettingsPath);if(!existsSync(_0x26f16c))return{};try{const _0x18d976=await _0x225ae9['svOBb'](readFile,_0x26f16c,_0x225ae9[_0x2bd2c5(0x197)]);return JSON[_0x2bd2c5(0x192)](_0x18d976);}catch{return{};}}export async function saveClaudeSettings(_0x25153d){const _0x436199=_0x4157,_0xd2c74d={'UuEtb':function(_0x312e88){return _0x312e88();},'YhCHv':function(_0x20a23c,_0x1835c8,_0x51e933,_0x37bd1d){return _0x20a23c(_0x1835c8,_0x51e933,_0x37bd1d);},'cJvIu':_0x436199(0x19b)},_0x20a139=getSettingsPath(),_0x2dfa57=_0xd2c74d['UuEtb'](getClaudeConfigDir);!existsSync(_0x2dfa57)&&await mkdir(_0x2dfa57,{'recursive':!![]}),await _0xd2c74d['YhCHv'](writeFile,_0x20a139,JSON['stringify'](_0x25153d,null,0x2)+'\x0a',_0xd2c74d[_0x436199(0x1a6)]);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x54727a,_0x309251){const _0x19da98=_0x31bf,_0x542d4c=_0x54727a();while(!![]){try{const _0x369d26=parseInt(_0x19da98(0x11b))/0x1+-parseInt(_0x19da98(0x119))/0x2*(parseInt(_0x19da98(0x11f))/0x3)+-parseInt(_0x19da98(0x11a))/0x4*(-parseInt(_0x19da98(0x123))/0x5)+-parseInt(_0x19da98(0x120))/0x6*(parseInt(_0x19da98(0x125))/0x7)+-parseInt(_0x19da98(0x121))/0x8*(-parseInt(_0x19da98(0x124))/0x9)+-parseInt(_0x19da98(0x11d))/0xa*(parseInt(_0x19da98(0x126))/0xb)+-parseInt(_0x19da98(0x11c))/0xc*(-parseInt(_0x19da98(0x11e))/0xd);if(_0x369d26===_0x309251)break;else _0x542d4c['push'](_0x542d4c['shift']());}catch(_0x3bb84c){_0x542d4c['push'](_0x542d4c['shift']());}}}(_0x2854,0xebc1c));import{isByokEnabled}from'./environment.js';function _0x31bf(_0x9fce8a,_0x416d72){_0x9fce8a=_0x9fce8a-0x119;const _0x285481=_0x2854();let _0x31bffa=_0x285481[_0x9fce8a];return _0x31bffa;}function _0x2854(){const _0x140d17=['552XCxGXc','stringify','1370jtMOEU','42093RDKHWK','369481FcahDr','11zcbLtW','2qJJfro','3788qezIEC','1646488dzQQvN','30894252DqoXEA','8415980MbblgU','13rQRGmh','5662497wCKpUj','126GHbELK'];_0x2854=function(){return _0x140d17;};return _0x2854();}const RANGER_CLAUDE_OVERRIDE_SETTINGS={'env':{'CLAUDE_CODE_USE_BEDROCK':'0'}};export function buildClaudeOverrideExtraArgs(){const _0x9894f3=_0x31bf,_0x3630c0={'qDLYt':function(_0x58178a){return _0x58178a();}};if(_0x3630c0['qDLYt'](isByokEnabled))return{};return{'settings':JSON[_0x9894f3(0x122)](RANGER_CLAUDE_OVERRIDE_SETTINGS)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1fbd(){const _0x2e5243=['133776GgzWfy','NKNdM','3DkNOdE','length','842948DcZjvp','user','match','Command\x20exited\x20with\x20code\x20','enabled','2455587McPfph','bJNWJ','scope','enNWP','BDwNq','inherit','message','JXmJN','GsyiI','installed_plugins.json','plugin','toLowerCase','oHLLv','EoJPE','output','captureOutput','qAKEW','9361192uetBYz','toString','NmEFI','close','pipe','mxQdV','projectPath','[\x5cs\x5cS]*?Scope:\x5cs*(user|project|local)','marketplace','juqWD','pnRfh','2242550lbciCz','cNomn','16VovVjL','error','306FTkYWa','sort','list','includes','wWFkV','125013TvWLkz','XuTfg','4329590udRqxN','stdout'];_0x1fbd=function(){return _0x2e5243;};return _0x1fbd();}function _0x1fa4(_0x3a50b2,_0x5964c2){_0x3a50b2=_0x3a50b2-0xff;const _0x1fbd15=_0x1fbd();let _0x1fa440=_0x1fbd15[_0x3a50b2];return _0x1fa440;}(function(_0x361e53,_0x42947b){const _0x382935=_0x1fa4,_0x358dd9=_0x361e53();while(!![]){try{const _0x127b4b=parseInt(_0x382935(0x117))/0x1*(parseInt(_0x382935(0x122))/0x2)+parseInt(_0x382935(0x124))/0x3*(parseInt(_0x382935(0x126))/0x4)+-parseInt(_0x382935(0x120))/0x5+-parseInt(_0x382935(0x119))/0x6*(parseInt(_0x382935(0x11e))/0x7)+parseInt(_0x382935(0x10a))/0x8+parseInt(_0x382935(0x12b))/0x9+-parseInt(_0x382935(0x115))/0xa;if(_0x127b4b===_0x42947b)break;else _0x358dd9['push'](_0x358dd9['shift']());}catch(_0x339b1d){_0x358dd9['push'](_0x358dd9['shift']());}}}(_0x1fbd,0xb080b));import{spawn}from'child_process';import{existsSync}from'fs';import{readFile}from'fs/promises';import{join,resolve}from'path';import{getClaudeConfigDir,getProjectRoot}from'./claudeConfig.js';export function runClaudeCommand(_0x31d7d6,_0x51d7a7){const _0x1a3891=_0x1fa4,_0x978074={'iqozC':function(_0x2b7129,_0xb93854){return _0x2b7129===_0xb93854;},'CoWKJ':function(_0x273d12,_0x4d6083){return _0x273d12(_0x4d6083);},'enNWP':'ignore','laERg':_0x1a3891(0x10e),'bJNWJ':_0x1a3891(0x130),'juqWD':'claude','NheFS':'data','NmEFI':_0x1a3891(0x10d)};return new Promise(_0x56ba0a=>{const _0x343151=_0x1a3891,_0x5ba1b9={'wWFkV':function(_0xd59b6f,_0x24bce0){return _0x978074['iqozC'](_0xd59b6f,_0x24bce0);},'XuTfg':function(_0x239ca9,_0x4fa317){return _0x978074['CoWKJ'](_0x239ca9,_0x4fa317);}},_0x2350f2=_0x51d7a7?.['captureOutput']?[_0x978074[_0x343151(0x12e)],_0x978074['laERg'],_0x343151(0x10e)]:[_0x978074['enNWP'],_0x978074[_0x343151(0x12c)],_0x978074[_0x343151(0x12c)]],_0x56691f=spawn(_0x978074[_0x343151(0x113)],_0x31d7d6,{'stdio':_0x2350f2,'cwd':_0x51d7a7?.['cwd']});let _0x1d7882='';_0x51d7a7?.[_0x343151(0x108)]&&_0x56691f[_0x343151(0x121)]&&_0x56691f['stdout']['on'](_0x978074['NheFS'],_0x28cb56=>{const _0x173e4e=_0x343151;_0x1d7882+=_0x28cb56[_0x173e4e(0x10b)]();}),_0x51d7a7?.[_0x343151(0x108)]&&_0x56691f['stderr']&&_0x56691f['stderr']['on'](_0x978074['NheFS'],_0x2b5c35=>{_0x1d7882+=_0x2b5c35['toString']();}),_0x56691f['on'](_0x978074[_0x343151(0x10c)],_0x3b1fb9=>{const _0x444d5d=_0x343151;_0x5ba1b9[_0x444d5d(0x11d)](_0x3b1fb9,0x0)?_0x56ba0a({'success':!![],'output':_0x1d7882}):_0x56ba0a({'success':![],'error':_0x444d5d(0x129)+_0x3b1fb9,'output':_0x1d7882});}),_0x56691f['on'](_0x343151(0x118),_0xc4d22f=>{const _0x26d170=_0x343151;_0x5ba1b9[_0x26d170(0x11f)](_0x56ba0a,{'success':![],'error':_0xc4d22f[_0x26d170(0xff)]});});});}export async function isMarketplaceAdded(_0x3991e4){const _0x22fb64=_0x1fa4,_0x139012={'JXmJN':function(_0x27c3bf,_0x3aaf6a,_0x4e9b99){return _0x27c3bf(_0x3aaf6a,_0x4e9b99);},'qAKEW':_0x22fb64(0x103)},_0x363d50=await _0x139012[_0x22fb64(0x100)](runClaudeCommand,[_0x139012[_0x22fb64(0x109)],_0x22fb64(0x112),_0x22fb64(0x11b)],{'captureOutput':!![]});if(!_0x363d50['success']||!_0x363d50[_0x22fb64(0x107)])return![];return _0x363d50[_0x22fb64(0x107)][_0x22fb64(0x11c)](_0x3991e4);}export async function isPluginInstalled(_0x3046d4){const _0x2849ff=_0x1fa4,_0x204adf={'NNKqg':function(_0x42ad23,_0x9e9bc4){return _0x42ad23(_0x9e9bc4);},'fMRGN':function(_0x326376,_0x18639c){return _0x326376>_0x18639c;},'BDwNq':_0x2849ff(0x103)},_0x18ed4d=await _0x204adf['NNKqg'](getInstalledPluginInfoFromRegistry,_0x3046d4);if(_0x204adf['fMRGN'](_0x18ed4d['length'],0x0))return!![];const _0x1c2abd=await runClaudeCommand([_0x204adf[_0x2849ff(0x12f)],_0x2849ff(0x11b)],{'captureOutput':!![]});if(!_0x1c2abd['success']||!_0x1c2abd[_0x2849ff(0x107)])return![];return _0x1c2abd[_0x2849ff(0x107)][_0x2849ff(0x11c)](_0x3046d4);}function getInstalledPluginsPath(){const _0x580c1=_0x1fa4,_0x51b620={'RvRYb':'plugins','cEPbJ':_0x580c1(0x102)};return join(getClaudeConfigDir(),_0x51b620['RvRYb'],_0x51b620['cEPbJ']);}function sortPluginInfo(_0x1fa9a0,_0x3ae4f4){const _0x490df9=_0x1fa4,_0x2dfba3={'project':0x0,'local':0x1,'user':0x2};return _0x2dfba3[_0x1fa9a0['scope']??'user']-_0x2dfba3[_0x3ae4f4['scope']??_0x490df9(0x127)];}export function parseInstalledPluginInfo(_0x465a49,_0x2dad82,_0x1f139e){const _0x478d93=_0x1fa4,_0x500491={'MvSTk':'local','aNinC':function(_0x3c7d1c,_0x8c5e52){return _0x3c7d1c===_0x8c5e52;}},_0x1794e9=JSON['parse'](_0x465a49),_0x33ab7a=resolve(_0x1f139e),_0x536b0b=_0x1794e9['plugins']?.[_0x2dad82]??[];return _0x536b0b['filter'](_0x375a91=>{const _0x4b02fd=_0x1fa4;if(_0x375a91[_0x4b02fd(0x12d)]!=='project'&&_0x375a91['scope']!==_0x500491['MvSTk'])return!![];if(!_0x375a91['projectPath'])return!![];return _0x500491['aNinC'](resolve(_0x375a91[_0x4b02fd(0x110)]),_0x33ab7a);})['map'](_0x34ec2b=>({'name':_0x2dad82,'scope':_0x34ec2b[_0x478d93(0x12d)],'version':_0x34ec2b['version']}))[_0x478d93(0x11a)](sortPluginInfo);}async function getInstalledPluginInfoFromRegistry(_0x5cabeb){const _0x415112=_0x1fa4,_0x46cb42={'mxQdV':function(_0xbd34ea){return _0xbd34ea();},'YSVAf':function(_0xc6af1e,_0x21cca5){return _0xc6af1e(_0x21cca5);},'cNomn':function(_0xce1dd8,_0x27fc89,_0x10e73c){return _0xce1dd8(_0x27fc89,_0x10e73c);},'GsyiI':'utf-8','vHsSf':function(_0x3ed1a8,_0x3c99ad,_0x5ee80c,_0x5c2a3f){return _0x3ed1a8(_0x3c99ad,_0x5ee80c,_0x5c2a3f);}},_0x5df9c9=_0x46cb42[_0x415112(0x10f)](getInstalledPluginsPath);if(!_0x46cb42['YSVAf'](existsSync,_0x5df9c9))return[];try{const _0x2245dc=await _0x46cb42[_0x415112(0x116)](readFile,_0x5df9c9,_0x46cb42[_0x415112(0x101)]);return _0x46cb42['vHsSf'](parseInstalledPluginInfo,_0x2245dc,_0x5cabeb,getProjectRoot());}catch{return[];}}export async function getPluginInfo(_0x46c757){const _0x123991=_0x1fa4,_0x287081={'pnRfh':function(_0xca12e1,_0x1903f9){return _0xca12e1(_0x1903f9);},'NKNdM':function(_0x422cbd,_0x1d7ada,_0x5d0392){return _0x422cbd(_0x1d7ada,_0x5d0392);},'EoJPE':function(_0x1d6da9,_0x1e4851){return _0x1d6da9===_0x1e4851;},'oHLLv':_0x123991(0x12a)},_0x5dd9f0=await _0x287081[_0x123991(0x114)](getInstalledPluginInfoFromRegistry,_0x46c757);if(_0x5dd9f0[_0x123991(0x125)]>0x0)return _0x5dd9f0[0x0];const _0x244375=await _0x287081[_0x123991(0x123)](runClaudeCommand,['plugin','list'],{'captureOutput':!![]});if(!_0x244375['success']||!_0x244375[_0x123991(0x107)])return null;if(!_0x244375['output'][_0x123991(0x11c)](_0x46c757))return null;const _0x3dbf97={'name':_0x46c757},_0x98c251=_0x244375[_0x123991(0x107)][_0x123991(0x128)](new RegExp(_0x46c757+_0x123991(0x111),'i'));_0x98c251&&(_0x3dbf97[_0x123991(0x12d)]=_0x98c251[0x1]['toLowerCase']());const _0x42ec7c=_0x244375['output']['match'](new RegExp(_0x46c757+'[\x5cs\x5cS]*?Version:\x5cs*([\x5cd.]+)','i'));_0x42ec7c&&(_0x3dbf97['version']=_0x42ec7c[0x1]);const _0x446841=_0x244375[_0x123991(0x107)]['match'](new RegExp(_0x46c757+'[\x5cs\x5cS]*?(enabled|disabled)','i'));return _0x446841&&(_0x3dbf97[_0x123991(0x12a)]=_0x287081[_0x123991(0x106)](_0x446841[0x1][_0x123991(0x104)](),_0x287081[_0x123991(0x105)])),_0x3dbf97;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2e4b1c=_0x484d;(function(_0x1fe1ae,_0xae4569){const _0x1d4276=_0x484d,_0x44837f=_0x1fe1ae();while(!![]){try{const _0x410082=parseInt(_0x1d4276(0x1b7))/0x1+parseInt(_0x1d4276(0x175))/0x2+-parseInt(_0x1d4276(0x176))/0x3+-parseInt(_0x1d4276(0x198))/0x4+parseInt(_0x1d4276(0x17b))/0x5+parseInt(_0x1d4276(0x1b0))/0x6+parseInt(_0x1d4276(0x1a2))/0x7*(-parseInt(_0x1d4276(0x193))/0x8);if(_0x410082===_0xae4569)break;else _0x44837f['push'](_0x44837f['shift']());}catch(_0x309df3){_0x44837f['push'](_0x44837f['shift']());}}}(_0x3248,0x26fbb));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import _0x2befbc from'inquirer';import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';function _0x3248(){const _0x377b67=['250192MOfBmo','845409krKBob','force','wuTcq','sessionCheckPath','\x20failed\x20(','1485770GnlWwc','prompt','status','keys','launch','stringify','EsoyB','confirm','GGGre','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','YaFVK','Bearer\x20','cookies','DAxRv','DCTjG','/api/v1/profiles/','parse','TTioG','txyqA','setupHeaders','organizationId','/login','Browser\x20login\x20timed\x20out\x20after\x20','265736NVjTTS','xqgiH','environment_key','length','message','463792mwLDYN','baseUrl','\x20\x20No\x20live\x20session\x20for\x20\x22','POST','WZEva','):\x20','newPage','wDwoV','ZnjsE','\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22','28QNoVlu','settings','profiles','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','/api/v1/profiles','gIoAs','not_configured','gCIgc','code','detail','NuRex','error','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','name','98688vOGotw','yhQBa','asAGo','aokLg','toISOString','IjGAv','SBAGh','251596tMJcrk','env','iEuLR','/api/v1/profiles/auth-config','\x22,\x20cached\x20locally','\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...','JEatJ','LvWqH','OZbKm','gVPEd','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','sessionState','AXiJQ','ywcgM','\x20\x20Cached\x20session\x20for\x20\x22','Browser\x20login\x20timed\x20out\x20before\x20completion.','log','catch','\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'];_0x3248=function(){return _0x377b67;};return _0x3248();}import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x1f850f=_0x484d,_0x5bf2c9={'LieDu':function(_0x26a4b3){return _0x26a4b3();},'ZnjsE':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x2c67fe=await _0x5bf2c9['LieDu'](getToken);if(!_0x2c67fe)throw new Error(_0x5bf2c9[_0x1f850f(0x1a0)]);return _0x2c67fe;}async function apiRequest(_0x33e494,_0x180b9d={}){const _0xdc3fbb=_0x484d,_0x2eabd8={'Dntcl':function(_0x31575b){return _0x31575b();},'asAGo':'application/json','yhQBa':'string'},_0x27bf33=await _0x2eabd8['Dntcl'](requireToken),_0x25c4a9=getApiBaseUrl(),_0x14a0db=await fetch(''+_0x25c4a9+_0x33e494,{..._0x180b9d,'headers':{'Authorization':_0xdc3fbb(0x187)+_0x27bf33,'Content-Type':_0x2eabd8[_0xdc3fbb(0x1b2)],..._0x180b9d['headers']??{}}});if(!_0x14a0db['ok']){let _0x5aa68c='',_0x3089db;try{const _0xb553fd=await _0x14a0db['json']();_0x5aa68c=(typeof _0xb553fd['error']==='string'?_0xb553fd[_0xdc3fbb(0x1ad)]:undefined)??JSON['stringify'](_0xb553fd);if(typeof _0xb553fd['code']===_0x2eabd8[_0xdc3fbb(0x1b1)])_0x3089db=_0xb553fd['code'];}catch{_0x5aa68c=_0x14a0db['statusText'];}throw new ApiError('API\x20request\x20'+_0x33e494+_0xdc3fbb(0x17a)+_0x14a0db['status']+_0xdc3fbb(0x19d)+_0x5aa68c,_0x14a0db['status'],_0x5aa68c,_0x3089db);}return _0x14a0db['json']();}export class ApiError extends Error{[_0x2e4b1c(0x17d)];['detail'];[_0x2e4b1c(0x1aa)];constructor(_0x57f826,_0x14e563,_0x396336,_0x129e3c){const _0x2f9a2f=_0x2e4b1c,_0x5c25b6={'OZbKm':'ApiError'};super(_0x57f826),this['status']=_0x14e563,this[_0x2f9a2f(0x1ab)]=_0x396336,this[_0x2f9a2f(0x1aa)]=_0x129e3c,this['name']=_0x5c25b6[_0x2f9a2f(0x16a)];}}export async function fetchCloudProfile(_0x390aa9){const _0x522794=_0x2e4b1c,_0x1477e1={'XqRmp':function(_0x129c90,_0x1d5aad){return _0x129c90(_0x1d5aad);},'WZEva':function(_0x310b8f,_0x9a83a){return _0x310b8f instanceof _0x9a83a;},'TTioG':function(_0x582435,_0x5cac8b){return _0x582435===_0x5cac8b;}};try{return await apiRequest(_0x522794(0x18b)+_0x1477e1['XqRmp'](encodeURIComponent,_0x390aa9));}catch(_0x9fc754){if(_0x1477e1[_0x522794(0x19c)](_0x9fc754,ApiError)&&_0x1477e1[_0x522794(0x18d)](_0x9fc754[_0x522794(0x17d)],0x194))return null;throw _0x9fc754;}}export async function listCloudProfiles(){const _0x57290c=_0x2e4b1c,_0x186ba2=await apiRequest(_0x57290c(0x1a6));return _0x186ba2[_0x57290c(0x1a4)];}export async function createCloudProfile(_0x2b5b6a,_0xd1d365,_0x24e7bf){const _0x51d54f=_0x2e4b1c,_0x47738a={'HuRFE':function(_0xffe666,_0x5ad5a8){return _0xffe666>_0x5ad5a8;},'gCIgc':_0x51d54f(0x19b)},_0x49f43d={'name':_0x2b5b6a};if(_0xd1d365)_0x49f43d[_0x51d54f(0x195)]=_0xd1d365;if(_0x24e7bf&&_0x47738a['HuRFE'](Object[_0x51d54f(0x17e)](_0x24e7bf)[_0x51d54f(0x196)],0x0))_0x49f43d[_0x51d54f(0x1a3)]=_0x24e7bf;return await apiRequest(_0x51d54f(0x1a6),{'method':_0x47738a[_0x51d54f(0x1a9)],'body':JSON[_0x51d54f(0x180)](_0x49f43d)});}export async function uploadCloudProfileSession(_0x5b5950,_0x3f6ded){const _0x2d04d2=_0x2e4b1c;return await apiRequest('/api/v1/profiles/'+encodeURIComponent(_0x5b5950)+'/session',{'method':'POST','body':JSON[_0x2d04d2(0x180)]({'session_state':_0x3f6ded})});}function _0x484d(_0x2063ee,_0x15a05d){_0x2063ee=_0x2063ee-0x164;const _0x32489f=_0x3248();let _0x484dbe=_0x32489f[_0x2063ee];return _0x484dbe;}export async function saveCloudProfileCredentials(_0x241d5e,_0x17c814,_0x13cd96){const _0xf32534=_0x2e4b1c,_0x8138e={'YaFVK':function(_0x2f162a,_0xdba975,_0x279eb6){return _0x2f162a(_0xdba975,_0x279eb6);}};await _0x8138e[_0xf32534(0x186)](apiRequest,_0xf32534(0x18b)+encodeURIComponent(_0x241d5e),{'method':'PUT','body':JSON['stringify']({'username':_0x17c814,'password':_0x13cd96})});}export async function fetchAuthConfig(){const _0xbfcfe6=_0x2e4b1c,_0x3136fa={'AXiJQ':_0xbfcfe6(0x165)};try{const _0xa0d1dd=await apiRequest(_0x3136fa[_0xbfcfe6(0x16e)]);return _0xa0d1dd['auth_config'];}catch{return null;}}export async function writeSessionToLocalCache(_0x2045df,_0x3328ea,_0x213188,_0x3a87c5,_0x498999,_0x1fa9f8){const _0x2fe7a3=_0x2e4b1c,_0x3f794d={'EsoyB':function(_0x15fad8,_0x2f8832){return _0x15fad8(_0x2f8832);},'eYXGd':function(_0x125380,_0x56f796,_0x562442){return _0x125380(_0x56f796,_0x562442);},'DAxRv':'auth','NuRex':function(_0x5985fd,_0x1c3b89,_0x2839e0){return _0x5985fd(_0x1c3b89,_0x2839e0);}},_0x4d6b18=_0x3f794d[_0x2fe7a3(0x181)](sessionCacheHash,{'orgId':_0x3328ea,'profileName':_0x2045df,'effectiveBaseUrl':_0x213188,'setupHeaders':_0x3a87c5}),_0x2a63c5=getSessionCachePath(_0x4d6b18,_0x2045df),_0x94a35f=_0x3f794d['eYXGd'](join,getRangerHomeDir(),_0x3f794d[_0x2fe7a3(0x189)]);!existsSync(_0x94a35f)&&await mkdir(_0x94a35f,{'recursive':!![]});const _0x2121c3={..._0x498999};_0x1fa9f8&&_0x1fa9f8['length']>0x0&&Array['isArray'](_0x2121c3[_0x2fe7a3(0x188)])&&(_0x2121c3[_0x2fe7a3(0x188)]=duplicateCookiesForDomains(_0x2121c3['cookies'],_0x1fa9f8));const _0x4d55c7={'cached_at':new Date()[_0x2fe7a3(0x1b4)](),'session_state':_0x2121c3};await _0x3f794d[_0x2fe7a3(0x1ac)](writeFile,_0x2a63c5,JSON['stringify'](_0x4d55c7,null,0x2));const _0x366e50=getStorageStatePath(_0x2a63c5);return await _0x3f794d['NuRex'](writeFile,_0x366e50,JSON['stringify'](_0x2121c3,null,0x2)),_0x366e50;}export async function checkLocalCache(_0x5a4340,_0x3d5be9,_0x59d86f,_0x41ebf7){const _0x342071=_0x2e4b1c,_0x2a15f4={'jeHzi':function(_0x14d288,_0x24e144){return _0x14d288(_0x24e144);},'JIwQB':function(_0x3552d4,_0x49789d,_0x41b63f){return _0x3552d4(_0x49789d,_0x41b63f);},'SEfIU':'utf-8'},_0x555bf9=_0x2a15f4['jeHzi'](sessionCacheHash,{'orgId':_0x3d5be9,'profileName':_0x5a4340,'effectiveBaseUrl':_0x59d86f,'setupHeaders':_0x41ebf7}),_0x2db954=_0x2a15f4['JIwQB'](getSessionCachePath,_0x555bf9,_0x5a4340),_0x3ea18b=_0x2a15f4['jeHzi'](getStorageStatePath,_0x2db954);if(!existsSync(_0x2db954)||!existsSync(_0x3ea18b))return null;try{const _0x3f813b=await readFile(_0x2db954,_0x2a15f4['SEfIU']);return JSON[_0x342071(0x18c)](_0x3f813b),{'storageStatePath':_0x3ea18b};}catch{return null;}}function launchRealBrowser(){const _0x486aeb=_0x2e4b1c;return chromium[_0x486aeb(0x17f)]({'headless':!![]});}export async function serverSideLogin(_0x568ae7,_0x2b75cf){const _0x5561b8=_0x2e4b1c,_0x513e75={'JEatJ':_0x5561b8(0x19b),'IjGAv':_0x5561b8(0x1a8)},_0x5f363a=process['env']['RANGER_TEST_USERNAME'],_0x3ed651=process[_0x5561b8(0x1b8)]['RANGER_TEST_PASSWORD'],_0x5dc0bf={};if(_0x5f363a)_0x5dc0bf['username']=_0x5f363a;if(_0x3ed651)_0x5dc0bf['password']=_0x3ed651;if(_0x2b75cf?.[_0x5561b8(0x177)])_0x5dc0bf['force']=!![];try{return await apiRequest(_0x5561b8(0x18b)+encodeURIComponent(_0x568ae7)+_0x5561b8(0x191),{'method':_0x513e75[_0x5561b8(0x168)],'body':JSON['stringify'](_0x5dc0bf)});}catch(_0x27daab){if(_0x27daab instanceof ApiError&&_0x27daab['status']===0x190&&_0x27daab[_0x5561b8(0x1aa)]===_0x5561b8(0x1a8))return{'status':_0x513e75[_0x5561b8(0x1b5)],'error':_0x27daab['detail']};throw _0x27daab;}}export async function manualBrowserLogin(_0x50df6a,_0x362ffe){const _0x3f541b=_0x2e4b1c,_0x29a6cf={'DCTjG':function(_0x572824,_0x49c20f){return _0x572824+_0x49c20f;},'vdbmo':'\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD,\x20configure\x20','gWBCN':'loginInstructions\x20on\x20the\x20auth\x20environment,\x20or\x20run\x20with\x20a\x20TTY.','wYIxb':function(_0x9931f1,_0x477978){return _0x9931f1>_0x477978;},'LvWqH':function(_0x466a8d,_0x176be5){return _0x466a8d(_0x176be5);},'dbjfJ':function(_0x2b5052,_0x372395){return _0x2b5052&&_0x372395;},'aokLg':'Browser\x20closed\x20before\x20authentication\x20was\x20saved.','xqgiH':function(_0x179a1d,_0x52bb3b,_0x16ea89){return _0x179a1d(_0x52bb3b,_0x16ea89);},'iEuLR':'cli:manual-login'};if(!isInteractive())throw new Error(_0x29a6cf[_0x3f541b(0x18a)]('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x50df6a[_0x3f541b(0x1af)]+'\x22.\x0a',_0x29a6cf['vdbmo'])+_0x29a6cf['gWBCN']);const _0xae36c1=_0x362ffe&&_0x29a6cf['wYIxb'](_0x362ffe['domains'][_0x3f541b(0x196)],0x0)?_0x362ffe['domains'][0x0]:'about:blank';console['log']('\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.'),console[_0x3f541b(0x172)](_0x3f541b(0x16c)),await new Promise(_0x9f9a2d=>setTimeout(_0x9f9a2d,0x7d0));const _0x1c860d=await chromium['launch']({'headless':![]});let _0x4a0000=null;try{const _0x5758a5={'ignoreHTTPSErrors':!![]};_0x362ffe?.['setupHeaders']&&(_0x5758a5['extraHTTPHeaders']=_0x362ffe[_0x3f541b(0x18f)]);const _0x483732=await _0x1c860d['newContext'](_0x5758a5);await _0x29a6cf[_0x3f541b(0x169)](addProfileSetupBanner,_0x483732);const _0xd41794=await _0x483732[_0x3f541b(0x19e)]();await _0xd41794['goto'](_0xae36c1);let _0x5d2989=![];await new Promise(_0x4e72b7=>{const _0x2adc5f=setTimeout(()=>{const _0x2a7209=_0x484d;_0x5d2989=!![],console['error'](_0x2a7209(0x192)+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0x2a7209(0x184)),_0x4e72b7();},MANUAL_LOGIN_TIMEOUT_MS);_0xd41794['on']('close',async()=>{clearTimeout(_0x2adc5f);try{const _0x2cf90f=await _0x483732['storageState']();_0x4a0000=_0x2cf90f;}catch{}_0x4e72b7();});});if(_0x29a6cf['dbjfJ'](_0x5d2989,!_0x4a0000))throw new Error(_0x3f541b(0x171));}finally{await _0x1c860d['close']()[_0x3f541b(0x173)](()=>{});}if(!_0x4a0000)throw new Error(_0x29a6cf[_0x3f541b(0x1b3)]);return await _0x29a6cf[_0x3f541b(0x194)](apiRequest,_0x3f541b(0x18b)+encodeURIComponent(_0x50df6a['name'])+'/session',{'method':_0x3f541b(0x19b),'body':JSON['stringify']({'session_state':_0x4a0000,'updated_by':_0x29a6cf[_0x3f541b(0x164)]})}),{'sessionState':_0x4a0000};}export async function promptSaveCredentials(_0x5503df){const _0x44e01b=_0x2e4b1c,_0x5985dc={'KvSjQ':function(_0x46e212){return _0x46e212();},'wqktx':_0x44e01b(0x182),'KsPOT':'save','mHNFP':'PUT','txyqA':'\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.'},_0x19c01a=process['env']['RANGER_TEST_USERNAME'],_0x5b4942=process[_0x44e01b(0x1b8)]['RANGER_TEST_PASSWORD'];if(!_0x19c01a||!_0x5b4942)return;if(!_0x5985dc['KvSjQ'](isInteractive))return;const {save:_0x31fe38}=await _0x2befbc[_0x44e01b(0x17c)]([{'type':_0x5985dc['wqktx'],'name':_0x5985dc['KsPOT'],'message':_0x44e01b(0x1ae),'default':![]}]);if(!_0x31fe38)return;await apiRequest(_0x44e01b(0x18b)+encodeURIComponent(_0x5503df),{'method':_0x5985dc['mHNFP'],'body':JSON[_0x44e01b(0x180)]({'username':_0x19c01a,'password':_0x5b4942})}),console[_0x44e01b(0x172)](_0x5985dc[_0x44e01b(0x18e)]);}export async function resolveCloudProfileSession(_0xd557b1,_0xf1f83={}){const _0x2c8eb8=_0x2e4b1c,_0x3a4077={'RCiQY':function(_0x3e15ae){return _0x3e15ae();},'gVPEd':function(_0x15fa0a,_0x40a8c6,_0x1f94b1,_0xfc1abe,_0x99c2c9){return _0x15fa0a(_0x40a8c6,_0x1f94b1,_0xfc1abe,_0x99c2c9);},'wDwoV':function(_0x1e7855,_0x116772,_0x22faa3,_0x2b52ec,_0x32a744,_0x3930bf,_0x1013fc){return _0x1e7855(_0x116772,_0x22faa3,_0x2b52ec,_0x32a744,_0x3930bf,_0x1013fc);},'ywcgM':function(_0xd53af6,_0x5d955d){return _0xd53af6(_0x5d955d);},'gIoAs':'not_configured','OCnIC':_0x2c8eb8(0x167),'GGGre':'success','xafzR':function(_0x34cd97,_0x3ec70f){return _0x34cd97&&_0x3ec70f;},'FaFBQ':'\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','SBAGh':_0x2c8eb8(0x185),'uwljk':function(_0xcd4d66,_0x2e0402){return _0xcd4d66 instanceof _0x2e0402;},'wuTcq':function(_0x51eed9,_0x470c24,_0x344ff5){return _0x51eed9(_0x470c24,_0x344ff5);}},_0x39bd55=_0xd557b1[_0x2c8eb8(0x1a3)]??{},_0x469c71=await _0x3a4077['RCiQY'](fetchAuthConfig),_0x5bcf73=_0x469c71?resolveAuthEnvironmentLocally(_0x469c71,_0xd557b1['environmentKey']):null,_0x51d390=_0x5bcf73?.['domains'],_0xc95616=_0x39bd55['setupHeaders'],_0x2ab059=_0xc95616??_0x5bcf73?.[_0x2c8eb8(0x18f)],_0x119863=_0xf1f83['effectiveBaseUrl']??_0x39bd55[_0x2c8eb8(0x199)]??(_0x51d390&&_0x51d390['length']>0x0?_0x51d390[0x0]:''),_0x1fd49e=await _0x3a4077[_0x2c8eb8(0x16b)](checkLocalCache,_0xd557b1[_0x2c8eb8(0x1af)],_0xd557b1['organizationId'],_0x119863,_0x2ab059);if(_0x1fd49e){if(_0x119863){const _0x145efb=await isCachedSessionLive(_0x1fd49e['storageStatePath'],_0x119863,{'sessionCheckPath':_0x5bcf73?.[_0x2c8eb8(0x179)],'setupHeaders':_0x2ab059},{'launchBrowser':launchRealBrowser});if(_0x145efb)return console['log'](_0x2c8eb8(0x1a5)+_0xd557b1['name']+'\x22'),{'authPath':_0x1fd49e['storageStatePath'],'settings':_0x39bd55,'resolvedEnv':_0x5bcf73};console['log'](_0x2c8eb8(0x170)+_0xd557b1[_0x2c8eb8(0x1af)]+'\x22\x20failed\x20validation\x20—\x20refreshing...');}else return{'authPath':_0x1fd49e['storageStatePath'],'settings':_0x39bd55,'resolvedEnv':_0x5bcf73};}if(_0xd557b1['sessionState']){const _0x1e64de=await _0x3a4077[_0x2c8eb8(0x19f)](writeSessionToLocalCache,_0xd557b1['name'],_0xd557b1[_0x2c8eb8(0x190)],_0x119863,_0x2ab059,_0xd557b1[_0x2c8eb8(0x16d)],_0x51d390);if(_0x119863){const _0x15c897=await isCachedSessionLive(_0x1e64de,_0x119863,{'sessionCheckPath':_0x5bcf73?.[_0x2c8eb8(0x179)],'setupHeaders':_0x2ab059},{'launchBrowser':launchRealBrowser});if(_0x15c897)return console['log'](_0x2c8eb8(0x1a1)+_0xd557b1[_0x2c8eb8(0x1af)]+_0x2c8eb8(0x166)),{'authPath':_0x1e64de,'settings':_0x39bd55,'resolvedEnv':_0x5bcf73};console[_0x2c8eb8(0x172)]('\x20\x20Cloud\x20session\x20for\x20\x22'+_0xd557b1[_0x2c8eb8(0x1af)]+_0x2c8eb8(0x174));}else return{'authPath':_0x1e64de,'settings':_0x39bd55,'resolvedEnv':_0x5bcf73};}console[_0x2c8eb8(0x172)](_0x2c8eb8(0x19a)+_0xd557b1['name']+'\x22,\x20attempting\x20login...');const _0x3d5fb4=Boolean(process['env']['RANGER_TEST_USERNAME'])&&Boolean(process['env']['RANGER_TEST_PASSWORD']),_0x583a69=_0x3a4077['ywcgM'](Boolean,_0xd557b1['username']);if(_0x3d5fb4||_0x583a69)try{const _0x191001=await _0x3a4077[_0x2c8eb8(0x16f)](serverSideLogin,_0xd557b1['name']);if(_0x191001['status']===_0x3a4077[_0x2c8eb8(0x1a7)])console[_0x2c8eb8(0x172)](_0x3a4077['OCnIC']);else{if(_0x191001['status']===_0x3a4077[_0x2c8eb8(0x183)]&&_0x191001['session_state']){console[_0x2c8eb8(0x172)]('\x20\x20Login\x20successful.\x20Session\x20cached.');const _0x14717d=await writeSessionToLocalCache(_0xd557b1[_0x2c8eb8(0x1af)],_0xd557b1['organizationId'],_0x119863,_0x2ab059,_0x191001['session_state'],_0x51d390);return _0x3a4077['xafzR'](_0x3d5fb4,!_0x583a69)&&await _0x3a4077[_0x2c8eb8(0x16f)](promptSaveCredentials,_0xd557b1['name']),{'authPath':_0x14717d,'settings':_0x39bd55,'resolvedEnv':_0x5bcf73};}else _0x191001['test_output']&&(console['log'](_0x3a4077['FaFBQ']),console[_0x2c8eb8(0x172)](_0x191001['test_output'])),console[_0x2c8eb8(0x172)](_0x3a4077[_0x2c8eb8(0x1b6)]);}}catch(_0x1b7da2){console[_0x2c8eb8(0x172)]('\x20\x20Server-side\x20login\x20error:\x20'+(_0x3a4077['uwljk'](_0x1b7da2,Error)?_0x1b7da2[_0x2c8eb8(0x197)]:String(_0x1b7da2))),console['log']('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}const {sessionState:_0x3f11bf}=await _0x3a4077[_0x2c8eb8(0x178)](manualBrowserLogin,_0xd557b1,_0x5bcf73),_0x40427f=await _0x3a4077['wDwoV'](writeSessionToLocalCache,_0xd557b1['name'],_0xd557b1[_0x2c8eb8(0x190)],_0x119863,_0x2ab059,_0x3f11bf,_0x51d390);return{'authPath':_0x40427f,'settings':_0x39bd55,'resolvedEnv':_0x5bcf73};}
|
|
1
|
+
const _0x46e1d6=_0x4720;(function(_0xc15dbf,_0x5bff4f){const _0x3c211b=_0x4720,_0x5251c5=_0xc15dbf();while(!![]){try{const _0x47232c=-parseInt(_0x3c211b(0x13d))/0x1*(parseInt(_0x3c211b(0x111))/0x2)+parseInt(_0x3c211b(0x12c))/0x3*(parseInt(_0x3c211b(0x115))/0x4)+-parseInt(_0x3c211b(0x179))/0x5*(-parseInt(_0x3c211b(0x14c))/0x6)+parseInt(_0x3c211b(0x112))/0x7*(-parseInt(_0x3c211b(0x15d))/0x8)+parseInt(_0x3c211b(0x17f))/0x9+parseInt(_0x3c211b(0x107))/0xa+parseInt(_0x3c211b(0x114))/0xb*(-parseInt(_0x3c211b(0x117))/0xc);if(_0x47232c===_0x5bff4f)break;else _0x5251c5['push'](_0x5251c5['shift']());}catch(_0x1dde41){_0x5251c5['push'](_0x5251c5['shift']());}}}(_0x2987,0x44645));import{readFile,writeFile,mkdir}from'fs/promises';import{join}from'path';function _0x2987(){const _0x22606a=['NWCFr','fauYY','hostname','ApiError','sZoOP','test_output','ElVde','\x20\x20(hint)\x20Cached\x20session\x20was\x20captured\x20against\x20one\x20of\x20','XwgRs','RANGER_TEST_USERNAME','isArray','not_configured','\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...','811686WYmTdH','\x0a\x20\x20A\x20browser\x20will\x20open.\x20Please\x20log\x20in\x20manually.','stringify','/session','log','gJsJh','password','json','close','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','TjfnN','cKEZB','save','userAgent','catch','Save\x20credentials\x20to\x20profile\x20for\x20automatic\x20session\x20refresh?','\x20\x20Cloud\x20session\x20for\x20\x22','1432HqmTnV','organizationId','some','name','DesSv','\x20\x20Using\x20cached\x20session\x20for\x20cloud\x20profile\x20\x22','nMJsQ','profiles','cookies','clientIp','toISOString','confirm',').\x20','\x22\x20failed\x20validation\x20—\x20refreshing...','Pass\x20--env\x20<key>\x20or\x20set\x20\x27defaultEnvironmentKey\x27\x20on\x20the\x20auth\x20config.','Bearer\x20','environment_key','\x20\x20No\x20live\x20session\x20for\x20\x22','wsgME','PUT','Hrimo','RANGER_TEST_PASSWORD','\x22.\x0a','defaultEnvironmentKey','statusText','port','Rprot','\x20\x20Credentials\x20saved\x20to\x20cloud\x20profile.','5JhwsDQ','code','headers','invalidateOn','sessionCheckPath','string','2670660LOomcM','loginInstructions\x20on\x20the\x20auth\x20environment,\x20or\x20run\x20with\x20a\x20TTY.','storageStatePath','length','uUxve','POST','4430350PlOGYE','settings','setupHeaders','VwFDT','env','error','domains','launch','extraHTTPHeaders','pVLXI','19582CMchYk','12509YWOjEh','/api/v1/profiles/','2024737FHrZdE','28108oEpMbz','about:blank','24LyTXhC','CnKwx','raw','\x20\x20Set\x20RANGER_TEST_USERNAME/RANGER_TEST_PASSWORD,\x20configure\x20','auth','Your\x20org\x27s\x20auth-config\x20env\x20may\x20need\x20`invalidateOn:\x20[\x27port\x27]`\x20so\x20sessions\x20captured\x20on\x20one\x20port\x20aren\x27t\x20reused\x20on\x20another.','GAPyB','newPage','\x0a\x20\x20Server-side\x20login\x20failed.\x20Test\x20output:','origin','FjsjV','wwqYv','url','\x20\x20When\x20done,\x20close\x20the\x20browser\x20to\x20save\x20the\x20session.\x0a','\x20minutes\x20—\x20close\x20the\x20browser\x20to\x20retry.','ahxdG','Browser\x20login\x20timed\x20out\x20before\x20completion.','prompt','detail','username','If\x20logins\x20keep\x20failing,\x20declare\x20`invalidateOn:\x20[\x27baseUrl\x27]`\x20on\x20your\x20org\x27s\x20auth-config\x20env\x20so\x20port/domain\x20changes\x20force\x20a\x20fresh\x20login.','69oYNHgZ','OrLlp','KFxgf','protocol','\x22\x20for\x20','session_state','vWOBY','force','\x22,\x20which\x20doesn\x27t\x20match\x20any\x20of\x20them.\x20','status','map','QFNUz','GTRJb','uTRTA','push','zAeeP','SXaGC','7spfThw','message'];_0x2987=function(){return _0x22606a;};return _0x2987();}import{existsSync}from'fs';import _0x4aaa9f from'inquirer';function _0x4720(_0x45771b,_0x2c0506){_0x45771b=_0x45771b-0x105;const _0x2987fb=_0x2987();let _0x472038=_0x2987fb[_0x45771b];return _0x472038;}import{chromium}from'playwright';import{getApiBaseUrl}from'./environment.js';import{getToken}from'./keychain.js';import{getRangerHomeDir}from'./rangerRoot.js';import{addProfileSetupBanner}from'./profileSetupBanner.js';import{duplicateCookiesForDomains,getSessionCachePath,getStorageStatePath,isCachedSessionLive,isInteractive,resolveAuthEnvironmentLocally,sessionCacheHash}from'./cloudProfileSession.js';const MANUAL_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;async function requireToken(){const _0x56b08e=_0x4720,_0x16f0fe={'yeUpd':function(_0x23ce3f){return _0x23ce3f();},'ZOYTQ':_0x56b08e(0x155)},_0xba3ce3=await _0x16f0fe['yeUpd'](getToken);if(!_0xba3ce3)throw new Error(_0x16f0fe['ZOYTQ']);return _0xba3ce3;}async function apiRequest(_0x4ce5c4,_0x2ee256={}){const _0x1c2f99=_0x4720,_0x2e45d5={'QFNUz':function(_0x51ccd8,_0x396168,_0xb06e31){return _0x51ccd8(_0x396168,_0xb06e31);},'hffPD':'application/json','zAeeP':function(_0x12236f,_0xd347d6){return _0x12236f===_0xd347d6;}},_0x3eb6e0=await requireToken(),_0x5caeb2=getApiBaseUrl(),_0x3089d9=await _0x2e45d5[_0x1c2f99(0x137)](fetch,''+_0x5caeb2+_0x4ce5c4,{..._0x2ee256,'headers':{'Authorization':_0x1c2f99(0x16c)+_0x3eb6e0,'Content-Type':_0x2e45d5['hffPD'],..._0x2ee256[_0x1c2f99(0x17b)]??{}}});if(!_0x3089d9['ok']){let _0xe8ef8f='',_0x4f13be;try{const _0x2cacc5=await _0x3089d9[_0x1c2f99(0x153)]();_0xe8ef8f=(_0x2e45d5['zAeeP'](typeof _0x2cacc5[_0x1c2f99(0x10c)],_0x1c2f99(0x17e))?_0x2cacc5['error']:undefined)??JSON[_0x1c2f99(0x14e)](_0x2cacc5);if(_0x2e45d5[_0x1c2f99(0x13b)](typeof _0x2cacc5[_0x1c2f99(0x17a)],_0x1c2f99(0x17e)))_0x4f13be=_0x2cacc5[_0x1c2f99(0x17a)];}catch{_0xe8ef8f=_0x3089d9[_0x1c2f99(0x175)];}throw new ApiError('API\x20request\x20'+_0x4ce5c4+'\x20failed\x20('+_0x3089d9['status']+'):\x20'+_0xe8ef8f,_0x3089d9['status'],_0xe8ef8f,_0x4f13be);}return _0x3089d9[_0x1c2f99(0x153)]();}export class ApiError extends Error{[_0x46e1d6(0x135)];['detail'];['code'];constructor(_0x2aba2c,_0xbd6516,_0x2c447e,_0x21c5e9){const _0x4ce169=_0x46e1d6;super(_0x2aba2c),this['status']=_0xbd6516,this[_0x4ce169(0x129)]=_0x2c447e,this[_0x4ce169(0x17a)]=_0x21c5e9,this['name']=_0x4ce169(0x142);}}export async function fetchCloudProfile(_0x51eed7){const _0x4adfe8=_0x46e1d6,_0x2f2ace={'VwFDT':function(_0x4f4827,_0x44808a){return _0x4f4827(_0x44808a);},'FjsjV':function(_0x71c172,_0x467e12){return _0x71c172(_0x467e12);},'sBOKT':function(_0x4498f3,_0x47ed56){return _0x4498f3 instanceof _0x47ed56;},'qKHlb':function(_0x4237c5,_0x522de6){return _0x4237c5===_0x522de6;}};try{return await _0x2f2ace[_0x4adfe8(0x10a)](apiRequest,'/api/v1/profiles/'+_0x2f2ace[_0x4adfe8(0x121)](encodeURIComponent,_0x51eed7));}catch(_0x3e6fc7){if(_0x2f2ace['sBOKT'](_0x3e6fc7,ApiError)&&_0x2f2ace['qKHlb'](_0x3e6fc7[_0x4adfe8(0x135)],0x194))return null;throw _0x3e6fc7;}}export async function listCloudProfiles(){const _0x5a947c=_0x46e1d6,_0x5297ac=await apiRequest('/api/v1/profiles');return _0x5297ac[_0x5a947c(0x164)];}export async function createCloudProfile(_0x33cb05,_0x43a07a,_0x2e687b={}){const _0x571c19=_0x46e1d6,_0x3b2e9d={'DesSv':function(_0x39c1a3,_0x45d3de){return _0x39c1a3>_0x45d3de;},'GAPyB':function(_0x866a76,_0x9b9d7,_0x58201b){return _0x866a76(_0x9b9d7,_0x58201b);}},_0x259e08={'name':_0x33cb05};if(_0x43a07a)_0x259e08[_0x571c19(0x16d)]=_0x43a07a;_0x2e687b['settings']&&_0x3b2e9d[_0x571c19(0x161)](Object['keys'](_0x2e687b[_0x571c19(0x108)])['length'],0x0)&&(_0x259e08[_0x571c19(0x108)]=_0x2e687b[_0x571c19(0x108)]);if(_0x2e687b[_0x571c19(0x12a)])_0x259e08[_0x571c19(0x12a)]=_0x2e687b['username'];if(_0x2e687b[_0x571c19(0x152)])_0x259e08['password']=_0x2e687b[_0x571c19(0x152)];return await _0x3b2e9d[_0x571c19(0x11d)](apiRequest,'/api/v1/profiles',{'method':'POST','body':JSON['stringify'](_0x259e08)});}export async function uploadCloudProfileSession(_0x343e11,_0x5d5cf8){const _0xd72c4e=_0x46e1d6;return await apiRequest(_0xd72c4e(0x113)+encodeURIComponent(_0x343e11)+_0xd72c4e(0x14f),{'method':_0xd72c4e(0x106),'body':JSON[_0xd72c4e(0x14e)]({'session_state':_0x5d5cf8})});}export async function saveCloudProfileCredentials(_0x2341d7,_0x291365,_0x42ad9b){const _0x2a6514=_0x46e1d6,_0x2f2285={'SXaGC':function(_0x4e91b0,_0x2f82af,_0x135757){return _0x4e91b0(_0x2f82af,_0x135757);}};await _0x2f2285[_0x2a6514(0x13c)](apiRequest,_0x2a6514(0x113)+encodeURIComponent(_0x2341d7),{'method':'PUT','body':JSON['stringify']({'username':_0x291365,'password':_0x42ad9b})});}export async function fetchAuthConfig(){const _0x5d52e1={'grDmr':'/api/v1/profiles/auth-config'};try{const _0x4a8239=await apiRequest(_0x5d52e1['grDmr']);return _0x4a8239['auth_config'];}catch{return null;}}export function pickAdHocEnvKey(_0xb23423){const _0x38152c=_0x46e1d6,_0x603f40={'vWOBY':function(_0x337310,_0x52bb7c){return _0x337310===_0x52bb7c;},'DTnGw':function(_0x5632ff,_0x122e96){return _0x5632ff+_0x122e96;}};if(!_0xb23423)return null;if(_0xb23423[_0x38152c(0x174)])return _0xb23423[_0x38152c(0x174)];const _0x20038b=Object['keys'](_0xb23423['environments']??{});if(_0x603f40[_0x38152c(0x132)](_0x20038b[_0x38152c(0x182)],0x1))return _0x20038b[0x0];if(_0x20038b['length']===0x0)return null;throw new Error(_0x603f40['DTnGw']('Multiple\x20envs\x20in\x20this\x20org\x27s\x20auth\x20config\x20('+_0x20038b['join'](',\x20')+_0x38152c(0x169),_0x38152c(0x16b)));}export async function resolveAdHocProfile(_0x2f7764=process['env']){const _0x3af17b=_0x46e1d6,_0x14c899={'zqVaM':function(_0x57b0bb,_0x294b4d){return _0x57b0bb(_0x294b4d);},'CnKwx':function(_0x207350){return _0x207350();},'uVzAI':function(_0x46eb79,_0x204263){return _0x46eb79??_0x204263;}},_0x283e2c=_0x2f7764[_0x3af17b(0x148)];if(!_0x283e2c)return null;const _0x4e813b=await _0x14c899['zqVaM'](fetchCloudProfile,_0x283e2c);if(_0x4e813b)return{'name':_0x4e813b['name'],'profile':_0x4e813b};const _0x45506f=await _0x14c899[_0x3af17b(0x118)](fetchAuthConfig),_0xa4460=pickAdHocEnvKey(_0x45506f),_0x457fae=_0x2f7764['RANGER_TEST_PASSWORD'],_0x4f6f40=await createCloudProfile(_0x283e2c,_0x14c899['uVzAI'](_0xa4460,undefined),{'username':_0x283e2c,'password':_0x457fae});return console['log']('\x20\x20Created\x20cloud\x20profile\x20\x22'+_0x4f6f40[_0x3af17b(0x160)]+_0x3af17b(0x130)+_0x283e2c),{'name':_0x4f6f40['name'],'profile':_0x4f6f40};}export async function writeSessionToLocalCache(_0x495d77,_0x498c04,_0x59946f,_0x2df284,_0x1db29a,_0x496de0,_0x302f35){const _0xb5bd13=_0x46e1d6,_0x2633bf={'ahxdG':_0xb5bd13(0x11b),'rCNUF':function(_0x150d7a,_0x1bf12f){return _0x150d7a>_0x1bf12f;},'TXLSN':function(_0x427a98,_0xb177fe,_0x32a5ea){return _0x427a98(_0xb177fe,_0x32a5ea);},'uTRTA':function(_0x382134,_0x46a11f){return _0x382134(_0x46a11f);}},_0x41dcb8=sessionCacheHash({'orgId':_0x498c04,'profileName':_0x495d77,'effectiveBaseUrl':_0x59946f,'setupHeaders':_0x2df284,'invalidateOn':_0x302f35?.[_0xb5bd13(0x17c)],'userAgent':_0x302f35?.[_0xb5bd13(0x159)],'clientIp':_0x302f35?.[_0xb5bd13(0x166)]}),_0x4e3393=getSessionCachePath(_0x41dcb8,_0x495d77),_0x4d01a9=join(getRangerHomeDir(),_0x2633bf[_0xb5bd13(0x126)]);!existsSync(_0x4d01a9)&&await mkdir(_0x4d01a9,{'recursive':!![]});const _0x24dbed={..._0x1db29a};_0x496de0&&_0x2633bf['rCNUF'](_0x496de0['length'],0x0)&&Array[_0xb5bd13(0x149)](_0x24dbed['cookies'])&&(_0x24dbed[_0xb5bd13(0x165)]=duplicateCookiesForDomains(_0x24dbed[_0xb5bd13(0x165)],_0x496de0));const _0x3d6ea0={'cached_at':new Date()[_0xb5bd13(0x167)](),'session_state':_0x24dbed};await _0x2633bf['TXLSN'](writeFile,_0x4e3393,JSON['stringify'](_0x3d6ea0,null,0x2));const _0x22d612=_0x2633bf[_0xb5bd13(0x139)](getStorageStatePath,_0x4e3393);return await writeFile(_0x22d612,JSON['stringify'](_0x24dbed,null,0x2)),_0x22d612;}export async function checkLocalCache(_0x3b965e,_0x1dcf45,_0x47903f,_0x4d6969,_0x51ec0a){const _0x51080a=_0x46e1d6,_0x249767={'XwgRs':function(_0x23d324,_0x25072a,_0x48edbe){return _0x23d324(_0x25072a,_0x48edbe);},'Hrimo':'utf-8'},_0x3486bb=sessionCacheHash({'orgId':_0x1dcf45,'profileName':_0x3b965e,'effectiveBaseUrl':_0x47903f,'setupHeaders':_0x4d6969,'invalidateOn':_0x51ec0a?.[_0x51080a(0x17c)],'userAgent':_0x51ec0a?.[_0x51080a(0x159)],'clientIp':_0x51ec0a?.['clientIp']}),_0x5dae22=getSessionCachePath(_0x3486bb,_0x3b965e),_0x7bf180=getStorageStatePath(_0x5dae22);if(!existsSync(_0x5dae22)||!existsSync(_0x7bf180))return null;try{const _0x59ef40=await _0x249767[_0x51080a(0x147)](readFile,_0x5dae22,_0x249767[_0x51080a(0x171)]);return JSON['parse'](_0x59ef40),{'storageStatePath':_0x7bf180};}catch{return null;}}function launchRealBrowser(){return chromium['launch']({'headless':!![]});}function emitSessionValidationHint(_0x2e6496,_0x4eb7a2){const _0x133947=_0x46e1d6,_0x4513f8={'YruqN':_0x133947(0x11c)};if(!_0x4eb7a2||!_0x4eb7a2[_0x133947(0x10d)]?.[_0x133947(0x182)])return;let _0x42711b;try{_0x42711b=new URL(_0x2e6496);}catch{return;}const _0x167b94=[];for(const _0x12afa3 of _0x4eb7a2['domains']){try{_0x167b94[_0x133947(0x13a)]({'raw':_0x12afa3,'url':new URL(_0x12afa3)});}catch{}}if(_0x167b94[_0x133947(0x182)]===0x0)return;if(_0x167b94['some'](_0x5acb54=>_0x5acb54[_0x133947(0x123)][_0x133947(0x120)]===_0x42711b['origin']))return;const _0x1d01ff=_0x167b94[_0x133947(0x15f)](_0x88450e=>_0x42711b[_0x133947(0x141)]===_0x88450e[_0x133947(0x123)][_0x133947(0x141)]&&_0x42711b[_0x133947(0x12f)]===_0x88450e['url'][_0x133947(0x12f)]&&_0x42711b[_0x133947(0x176)]!==_0x88450e['url'][_0x133947(0x176)]),_0xf0982c=_0x1d01ff?_0x4513f8['YruqN']:_0x133947(0x12b),_0xb34a60=_0x167b94[_0x133947(0x136)](_0x10549f=>'\x22'+_0x10549f[_0x133947(0x119)]+'\x22')['join'](',\x20');console[_0x133947(0x150)](_0x133947(0x146)+_0xb34a60+';\x20'+('you\x27re\x20now\x20at\x20\x22'+_0x2e6496+_0x133947(0x134)+_0xf0982c));}export async function serverSideLogin(_0x5751b9,_0x309740){const _0xc7587=_0x46e1d6,_0x3f17ce={'cKCdk':function(_0x42edef,_0x131a11,_0x4b80e4){return _0x42edef(_0x131a11,_0x4b80e4);},'zfpkk':function(_0x459e65,_0xf02bb9){return _0x459e65(_0xf02bb9);},'cKEZB':_0xc7587(0x106),'TjfnN':function(_0x573b92,_0x29a6eb){return _0x573b92===_0x29a6eb;},'sZoOP':'not_configured'},_0x25c73e=process[_0xc7587(0x10b)]['RANGER_TEST_USERNAME'],_0x19231b=process['env']['RANGER_TEST_PASSWORD'],_0x27d1a6={};if(_0x25c73e)_0x27d1a6['username']=_0x25c73e;if(_0x19231b)_0x27d1a6[_0xc7587(0x152)]=_0x19231b;if(_0x309740?.['force'])_0x27d1a6[_0xc7587(0x133)]=!![];try{return await _0x3f17ce['cKCdk'](apiRequest,_0xc7587(0x113)+_0x3f17ce['zfpkk'](encodeURIComponent,_0x5751b9)+'/login',{'method':_0x3f17ce[_0xc7587(0x157)],'body':JSON[_0xc7587(0x14e)](_0x27d1a6)});}catch(_0x12254d){if(_0x12254d instanceof ApiError&&_0x3f17ce[_0xc7587(0x156)](_0x12254d['status'],0x190)&&_0x12254d['code']===_0x3f17ce[_0xc7587(0x143)])return{'status':_0x3f17ce['sZoOP'],'error':_0x12254d['detail']};throw _0x12254d;}}export async function manualBrowserLogin(_0x2bfd1d,_0x14cb96){const _0x409c6e=_0x46e1d6,_0x2267ee={'nMJsQ':function(_0x580257){return _0x580257();},'pwoBn':function(_0x45dd1a){return _0x45dd1a();},'GTRJb':_0x409c6e(0x11a),'euDOA':_0x409c6e(0x116),'jAZxV':function(_0x1a063d,_0x56c3fe){return _0x1a063d(_0x56c3fe);},'NWCFr':function(_0x546cac,_0x315d89){return _0x546cac&&_0x315d89;},'wwqYv':_0x409c6e(0x127),'wsgME':function(_0x2143d6,_0x82eee4,_0x20612b){return _0x2143d6(_0x82eee4,_0x20612b);},'czpof':function(_0x5e19f9,_0x2b6840){return _0x5e19f9(_0x2b6840);},'TsVnz':'POST'};if(!_0x2267ee['pwoBn'](isInteractive))throw new Error('No\x20automatic\x20login\x20available\x20for\x20profile\x20\x22'+_0x2bfd1d['name']+_0x409c6e(0x173)+_0x2267ee[_0x409c6e(0x138)]+_0x409c6e(0x180));const _0x31869e=_0x14cb96&&_0x14cb96['domains']['length']>0x0?_0x14cb96['domains'][0x0]:_0x2267ee['euDOA'];console[_0x409c6e(0x150)](_0x409c6e(0x14d)),console['log'](_0x409c6e(0x124)),await new Promise(_0x17bf6d=>setTimeout(_0x17bf6d,0x7d0));const _0x879a3c=await chromium[_0x409c6e(0x10e)]({'headless':![]});let _0x310249=null;try{const _0x52724a={'ignoreHTTPSErrors':!![]};_0x14cb96?.['setupHeaders']&&(_0x52724a[_0x409c6e(0x10f)]=_0x14cb96[_0x409c6e(0x109)]);const _0x28241b=await _0x879a3c['newContext'](_0x52724a);await _0x2267ee['jAZxV'](addProfileSetupBanner,_0x28241b);const _0x57d040=await _0x28241b[_0x409c6e(0x11e)]();await _0x57d040['goto'](_0x31869e);let _0x269d7c=![];await new Promise(_0x2faa80=>{const _0x451a27=_0x409c6e,_0xb37147={'KFxgf':function(_0xbe031){return _0x2267ee['pwoBn'](_0xbe031);}},_0x1ca004=setTimeout(()=>{const _0x64b988=_0x4720;_0x269d7c=!![],console['error']('Browser\x20login\x20timed\x20out\x20after\x20'+MANUAL_LOGIN_TIMEOUT_MS/0xea60+_0x64b988(0x125)),_0x2267ee[_0x64b988(0x163)](_0x2faa80);},MANUAL_LOGIN_TIMEOUT_MS);_0x57d040['on'](_0x451a27(0x154),async()=>{const _0xdb7d36=_0x451a27;clearTimeout(_0x1ca004);try{const _0x432b15=await _0x28241b['storageState']();_0x310249=_0x432b15;}catch{}_0xb37147[_0xdb7d36(0x12e)](_0x2faa80);});});if(_0x2267ee[_0x409c6e(0x13f)](_0x269d7c,!_0x310249))throw new Error(_0x2267ee[_0x409c6e(0x122)]);}finally{await _0x879a3c[_0x409c6e(0x154)]()[_0x409c6e(0x15a)](()=>{});}if(!_0x310249)throw new Error('Browser\x20closed\x20before\x20authentication\x20was\x20saved.');return await _0x2267ee[_0x409c6e(0x16f)](apiRequest,_0x409c6e(0x113)+_0x2267ee['czpof'](encodeURIComponent,_0x2bfd1d[_0x409c6e(0x160)])+'/session',{'method':_0x2267ee['TsVnz'],'body':JSON[_0x409c6e(0x14e)]({'session_state':_0x310249,'updated_by':'cli:manual-login'})}),{'sessionState':_0x310249};}export async function promptSaveCredentials(_0x454351){const _0x5ca620=_0x46e1d6,_0x1bb7b7={'Cpext':function(_0x3fe92e,_0x1109ca){return _0x3fe92e||_0x1109ca;},'ZBqOu':_0x5ca620(0x158),'FHRny':function(_0x1cee96,_0x36ed38,_0x256501){return _0x1cee96(_0x36ed38,_0x256501);},'uUxve':function(_0x5e45a8,_0x5e55b4){return _0x5e45a8(_0x5e55b4);},'wedBO':_0x5ca620(0x170),'pVLXI':_0x5ca620(0x178)},_0x2a90d0=process['env']['RANGER_TEST_USERNAME'],_0x2024e8=process['env'][_0x5ca620(0x172)];if(_0x1bb7b7['Cpext'](!_0x2a90d0,!_0x2024e8))return;if(!isInteractive())return;const {save:_0x5bdcb8}=await _0x4aaa9f[_0x5ca620(0x128)]([{'type':_0x5ca620(0x168),'name':_0x1bb7b7['ZBqOu'],'message':_0x5ca620(0x15b),'default':![]}]);if(!_0x5bdcb8)return;await _0x1bb7b7['FHRny'](apiRequest,_0x5ca620(0x113)+_0x1bb7b7[_0x5ca620(0x105)](encodeURIComponent,_0x454351),{'method':_0x1bb7b7['wedBO'],'body':JSON['stringify']({'username':_0x2a90d0,'password':_0x2024e8})}),console['log'](_0x1bb7b7[_0x5ca620(0x110)]);}export async function resolveCloudProfileSession(_0xc2b472,_0xb38b2e={}){const _0x1ceab3=_0x46e1d6,_0x202545={'OrLlp':function(_0x17d811){return _0x17d811();},'fauYY':function(_0x30c089,_0x442e02,_0xaccb0c){return _0x30c089(_0x442e02,_0xaccb0c);},'TZDiV':function(_0x3268fa,_0x51f55e,_0x353e54,_0x410949,_0x5750aa,_0x555e83){return _0x3268fa(_0x51f55e,_0x353e54,_0x410949,_0x5750aa,_0x555e83);},'GLnYG':function(_0x4c7a12,_0x490b06){return _0x4c7a12(_0x490b06);},'AXOWI':function(_0x2f9ed5,_0x2483f8){return _0x2f9ed5(_0x2483f8);},'tnMzJ':function(_0x9262d2,_0x1b379b){return _0x9262d2||_0x1b379b;},'qtmnM':function(_0x3160b6,_0x429e6d){return _0x3160b6(_0x429e6d);},'gJsJh':function(_0x39ccda,_0x1dbf7d){return _0x39ccda===_0x1dbf7d;},'cjFwQ':'success','fsYtw':function(_0x518875,_0xd27923,_0x433b41,_0xe2040e,_0x190891,_0x40c147,_0x37b743,_0x46cc04){return _0x518875(_0xd27923,_0x433b41,_0xe2040e,_0x190891,_0x40c147,_0x37b743,_0x46cc04);},'Rprot':_0x1ceab3(0x11f),'oixog':function(_0x16ab4f,_0x5b5ffe){return _0x16ab4f instanceof _0x5b5ffe;},'ElVde':function(_0x1672aa,_0x35a142,_0x3ecbfd){return _0x1672aa(_0x35a142,_0x3ecbfd);}},_0x27580b=_0xc2b472[_0x1ceab3(0x108)]??{},_0x45eb44=await _0x202545[_0x1ceab3(0x12d)](fetchAuthConfig),_0x59f649=_0x45eb44?_0x202545['fauYY'](resolveAuthEnvironmentLocally,_0x45eb44,_0xc2b472['environmentKey']):null,_0x90ba96=_0x59f649?.[_0x1ceab3(0x10d)],_0x5e9b41=_0x27580b[_0x1ceab3(0x109)],_0x4f2c01=_0x5e9b41??_0x59f649?.[_0x1ceab3(0x109)],_0x3eb909=_0xb38b2e['effectiveBaseUrl']??_0x27580b['baseUrl']??(_0x90ba96&&_0x90ba96['length']>0x0?_0x90ba96[0x0]:''),_0x3128c7={'invalidateOn':_0x59f649?.[_0x1ceab3(0x17c)],'userAgent':_0x59f649?.['browserOptions']?.['userAgent']??_0x27580b['userAgent']},_0x55c075=await _0x202545['TZDiV'](checkLocalCache,_0xc2b472['name'],_0xc2b472['organizationId'],_0x3eb909,_0x4f2c01,_0x3128c7);if(_0x55c075){if(_0x3eb909){const _0x153918=await isCachedSessionLive(_0x55c075[_0x1ceab3(0x181)],_0x3eb909,{'sessionCheckPath':_0x59f649?.[_0x1ceab3(0x17d)],'setupHeaders':_0x4f2c01},{'launchBrowser':launchRealBrowser});if(_0x153918)return console['log'](_0x1ceab3(0x162)+_0xc2b472['name']+'\x22'),{'authPath':_0x55c075[_0x1ceab3(0x181)],'settings':_0x27580b,'resolvedEnv':_0x59f649};console[_0x1ceab3(0x150)]('\x20\x20Cached\x20session\x20for\x20\x22'+_0xc2b472[_0x1ceab3(0x160)]+_0x1ceab3(0x16a)),_0x202545[_0x1ceab3(0x140)](emitSessionValidationHint,_0x3eb909,_0x59f649);}else return{'authPath':_0x55c075[_0x1ceab3(0x181)],'settings':_0x27580b,'resolvedEnv':_0x59f649};}if(_0xc2b472['sessionState']){const _0x2126a2=await writeSessionToLocalCache(_0xc2b472['name'],_0xc2b472[_0x1ceab3(0x15e)],_0x3eb909,_0x4f2c01,_0xc2b472['sessionState'],_0x90ba96,_0x3128c7);if(_0x3eb909){const _0xf04064=await isCachedSessionLive(_0x2126a2,_0x3eb909,{'sessionCheckPath':_0x59f649?.[_0x1ceab3(0x17d)],'setupHeaders':_0x4f2c01},{'launchBrowser':launchRealBrowser});if(_0xf04064)return console[_0x1ceab3(0x150)]('\x20\x20Cloud\x20session\x20is\x20live\x20for\x20\x22'+_0xc2b472['name']+'\x22,\x20cached\x20locally'),{'authPath':_0x2126a2,'settings':_0x27580b,'resolvedEnv':_0x59f649};console[_0x1ceab3(0x150)](_0x1ceab3(0x15c)+_0xc2b472['name']+'\x22\x20failed\x20validation\x20—\x20re-login\x20needed...'),emitSessionValidationHint(_0x3eb909,_0x59f649);}else return{'authPath':_0x2126a2,'settings':_0x27580b,'resolvedEnv':_0x59f649};}console[_0x1ceab3(0x150)](_0x1ceab3(0x16e)+_0xc2b472['name']+'\x22,\x20attempting\x20login...');const _0x20fae2=_0x202545['GLnYG'](Boolean,process['env']['RANGER_TEST_USERNAME'])&&_0x202545['AXOWI'](Boolean,process['env'][_0x1ceab3(0x172)]),_0x58eb47=Boolean(_0xc2b472[_0x1ceab3(0x12a)]);if(_0x202545['tnMzJ'](_0x20fae2,_0x58eb47))try{const _0x48cedd=await _0x202545['qtmnM'](serverSideLogin,_0xc2b472['name']);if(_0x202545[_0x1ceab3(0x151)](_0x48cedd['status'],_0x1ceab3(0x14a)))console['log']('\x20\x20Server-side\x20login\x20not\x20configured\x20for\x20this\x20org.\x20Falling\x20back\x20to\x20manual\x20login...');else{if(_0x48cedd[_0x1ceab3(0x135)]===_0x202545['cjFwQ']&&_0x48cedd['session_state']){console[_0x1ceab3(0x150)]('\x20\x20Login\x20successful.\x20Session\x20cached.');const _0x4580c2=await _0x202545['fsYtw'](writeSessionToLocalCache,_0xc2b472['name'],_0xc2b472[_0x1ceab3(0x15e)],_0x3eb909,_0x4f2c01,_0x48cedd[_0x1ceab3(0x131)],_0x90ba96,_0x3128c7);return _0x20fae2&&!_0x58eb47&&await promptSaveCredentials(_0xc2b472['name']),{'authPath':_0x4580c2,'settings':_0x27580b,'resolvedEnv':_0x59f649};}else _0x48cedd[_0x1ceab3(0x144)]&&(console[_0x1ceab3(0x150)](_0x202545[_0x1ceab3(0x177)]),console['log'](_0x48cedd['test_output'])),console['log']('\x20\x20Falling\x20back\x20to\x20manual\x20browser\x20login...');}}catch(_0x3ed50e){console[_0x1ceab3(0x150)]('\x20\x20Server-side\x20login\x20error:\x20'+(_0x202545['oixog'](_0x3ed50e,Error)?_0x3ed50e[_0x1ceab3(0x13e)]:String(_0x3ed50e))),console[_0x1ceab3(0x150)](_0x1ceab3(0x14b));}const {sessionState:_0x1c0211}=await _0x202545[_0x1ceab3(0x145)](manualBrowserLogin,_0xc2b472,_0x59f649),_0x132634=await _0x202545['fsYtw'](writeSessionToLocalCache,_0xc2b472[_0x1ceab3(0x160)],_0xc2b472[_0x1ceab3(0x15e)],_0x3eb909,_0x4f2c01,_0x1c0211,_0x90ba96,_0x3128c7);return{'authPath':_0x132634,'settings':_0x27580b,'resolvedEnv':_0x59f649};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x158c53=_0x1a4a;(function(_0x9a3500,_0x548041){const _0x826f78=_0x1a4a,_0x220b1c=_0x9a3500();while(!![]){try{const _0x7d1053=parseInt(_0x826f78(0xa1))/0x1*(-parseInt(_0x826f78(0x97))/0x2)+-parseInt(_0x826f78(0xac))/0x3*(-parseInt(_0x826f78(0x8b))/0x4)+parseInt(_0x826f78(0x9d))/0x5+-parseInt(_0x826f78(0x96))/0x6+parseInt(_0x826f78(0x93))/0x7+parseInt(_0x826f78(0xb0))/0x8*(-parseInt(_0x826f78(0xaa))/0x9)+parseInt(_0x826f78(0xa9))/0xa*(parseInt(_0x826f78(0x91))/0xb);if(_0x7d1053===_0x548041)break;else _0x220b1c['push'](_0x220b1c['shift']());}catch(_0x4b1c01){_0x220b1c['push'](_0x220b1c['shift']());}}}(_0x3a7a,0x5cc02));import{createHash}from'crypto';import{join}from'path';function _0x3a7a(){const _0x172a57=['ddgUc','newPage','8aZXLNk','invalidateOn','add','port','domcontentloaded','url','keys','digest','has','env','pathname','10828GExoEj','userAgent','127.0.0.1','localhost','length','eAwlw','44902CGNVcj','setupHeaders','709940PfNCaN','environments','slice','4511892DAPogE','2KySgpF','sort','orgId','map','nemhQ','isTTY','2065780JTQhHh','RtNwd','test','stdout','129431gQiElX','newContext','ggRId','toString','push','clientIp','hostname','launchBrowser','1130kptxVp','451719XiWaGi','stdin','372HRkiND','UFNcI'];_0x3a7a=function(){return _0x172a57;};return _0x3a7a();}import{getRangerHomeDir}from'./rangerRoot.js';export function isInteractive(_0x38e096=process[_0x158c53(0x89)],_0x4fdd60={'stdin':process['stdin'],'stdout':process[_0x158c53(0xa0)]}){const _0x5669a4=_0x158c53,_0x4e9184={'wnxQp':function(_0x5a222f,_0x11fb23){return _0x5a222f(_0x11fb23);}};if(_0x38e096['CI'])return![];return _0x4e9184['wnxQp'](Boolean,_0x4fdd60[_0x5669a4(0xab)]['isTTY'])&&_0x4e9184['wnxQp'](Boolean,_0x4fdd60[_0x5669a4(0xa0)][_0x5669a4(0x9c)]);}export const DEFAULT_INVALIDATE_ON=[];export function sessionCacheHash(_0x2bf7c6){const _0x51a379=_0x158c53,_0x6d5c48={'WoeOz':'clientIp','GRjRt':'sha256','Bjbys':'hex'},_0x5778b6=new Set(_0x2bf7c6[_0x51a379(0xb1)]??DEFAULT_INVALIDATE_ON),_0x410720={'orgId':_0x2bf7c6[_0x51a379(0x99)],'profileName':_0x2bf7c6['profileName']};return _0x5778b6[_0x51a379(0x88)]('baseUrl')&&(_0x410720['effectiveBaseUrl']=_0x2bf7c6['effectiveBaseUrl']),_0x5778b6['has']('setupHeaders')&&(_0x410720[_0x51a379(0x92)]=_0x2bf7c6[_0x51a379(0x92)]?sortObjectKeys(_0x2bf7c6['setupHeaders']):_0x2bf7c6[_0x51a379(0x92)]),_0x5778b6['has']('port')&&(_0x410720[_0x51a379(0xb3)]=extractPort(_0x2bf7c6['effectiveBaseUrl'])),_0x5778b6['has'](_0x51a379(0x8c))&&_0x2bf7c6[_0x51a379(0x8c)]!==undefined&&(_0x410720['userAgent']=_0x2bf7c6[_0x51a379(0x8c)]),_0x5778b6['has'](_0x6d5c48['WoeOz'])&&_0x2bf7c6[_0x51a379(0xa6)]!==undefined&&(_0x410720['clientIp']=_0x2bf7c6['clientIp']),createHash(_0x6d5c48['GRjRt'])['update'](JSON['stringify'](_0x410720))[_0x51a379(0x87)](_0x6d5c48['Bjbys'])[_0x51a379(0x95)](0x0,0xc);}function extractPort(_0x25e790){try{return new URL(_0x25e790)['port'];}catch{return'';}}function _0x1a4a(_0x262c05,_0x20fe34){_0x262c05=_0x262c05-0x84;const _0x3a7ab3=_0x3a7a();let _0x1a4ae9=_0x3a7ab3[_0x262c05];return _0x1a4ae9;}function sortObjectKeys(_0x246df1){const _0x255569=_0x158c53,_0x4e3bc4={};for(const _0x2b5ea2 of Object[_0x255569(0x86)](_0x246df1)[_0x255569(0x98)]()){_0x4e3bc4[_0x2b5ea2]=_0x246df1[_0x2b5ea2];}return _0x4e3bc4;}export function getSessionCachePath(_0x3cbf42,_0x231b1f){const _0x585278=_0x158c53,_0x401449={'eAwlw':function(_0x50f08d){return _0x50f08d();},'ggRId':'auth'};return join(_0x401449[_0x585278(0x90)](getRangerHomeDir),_0x401449[_0x585278(0xa3)],_0x3cbf42+'-'+_0x231b1f+'.json');}export function getStorageStatePath(_0x31c58b){const _0x2173e7=_0x158c53,_0x2ac904={'ddgUc':'.storageState.json'};return _0x31c58b['replace'](/\.json$/,_0x2ac904[_0x2173e7(0xae)]);}export function needsTunnel(_0x546668){const _0x30d28f=_0x158c53,_0x470478={'RtNwd':_0x30d28f(0x8e),'RHZUD':'.localhost','UFNcI':'localhost.'};let _0x19122d;try{_0x19122d=new URL(_0x546668)[_0x30d28f(0xa7)];}catch{return![];}if(_0x19122d===_0x470478[_0x30d28f(0x9e)]||_0x19122d===_0x30d28f(0x8d))return!![];if(_0x19122d['endsWith'](_0x470478['RHZUD']))return!![];if(_0x19122d['includes'](_0x470478[_0x30d28f(0xad)]))return!![];return![];}export function hostnameOf(_0x52a11e){return new URL(_0x52a11e)['hostname'];}export function duplicateCookiesForDomains(_0x32ce79,_0xdd78d5){const _0x32d50b=_0x158c53,_0x5a38ba=[..._0x32ce79],_0x5afe83=new Set(_0x32ce79[_0x32d50b(0x9a)](_0x4a26f7=>_0x4a26f7['domain']));for(const _0x44183f of _0xdd78d5){let _0x21924d;try{_0x21924d=hostnameOf(_0x44183f);}catch{continue;}if(!_0x21924d)continue;const _0x23be74=_0x21924d['startsWith']('.')?_0x21924d:'.'+_0x21924d;if(_0x5afe83[_0x32d50b(0x88)](_0x21924d)||_0x5afe83['has'](_0x23be74))continue;for(const _0x5b99f5 of _0x32ce79){_0x5a38ba[_0x32d50b(0xa5)]({..._0x5b99f5,'domain':_0x23be74});}_0x5afe83[_0x32d50b(0xb2)](_0x23be74);}return _0x5a38ba;}export function resolveAuthEnvironmentLocally(_0x200159,_0x18a658){const _0x52b15a=_0x158c53,_0xefcaef=_0x200159[_0x52b15a(0x94)];if(_0x18a658){const _0x498af1=_0xefcaef[_0x18a658];if(!_0x498af1)return null;return{'key':_0x18a658,..._0x498af1};}if(_0x200159['defaultEnvironmentKey']){const _0x53e6e1=_0xefcaef[_0x200159['defaultEnvironmentKey']];if(!_0x53e6e1)return null;return{'key':_0x200159['defaultEnvironmentKey'],..._0x53e6e1};}const _0x1e1ce6=Object['keys'](_0xefcaef);if(_0x1e1ce6[_0x52b15a(0x8f)]===0x1){const _0x211dec=_0x1e1ce6[0x0];return{'key':_0x211dec,..._0xefcaef[_0x211dec]};}return null;}const LOGIN_URL_PATTERN=/(?:^|\/)(login|signin|sign-in|sso|auth\/login)(?:[/?#]|$)/i;export function buildSessionCheckUrl(_0x5baff6,_0x419fc4){const _0x38b78b=_0x158c53;try{if(_0x419fc4)return new URL(_0x419fc4,_0x5baff6)[_0x38b78b(0xa4)]();return new URL(_0x5baff6)[_0x38b78b(0xa4)]();}catch{return null;}}export function looksLikeLoginUrl(_0x5929dc){const _0x4daa3f=_0x158c53;try{const _0x20c760=new URL(_0x5929dc);return LOGIN_URL_PATTERN['test'](_0x20c760[_0x4daa3f(0x8a)]);}catch{return LOGIN_URL_PATTERN[_0x4daa3f(0x9f)](_0x5929dc);}}export async function isCachedSessionLive(_0x211925,_0x18034f,_0x367f66={},_0x58ac18={}){const _0x11771c=_0x158c53,_0x328c42={'CaLHy':function(_0x415b1f,_0x128f73,_0x2db906){return _0x415b1f(_0x128f73,_0x2db906);},'nemhQ':_0x11771c(0x84)},_0x25e2f6=_0x328c42['CaLHy'](buildSessionCheckUrl,_0x18034f,_0x367f66['sessionCheckPath']);if(!_0x25e2f6)return!![];if(!_0x58ac18['launchBrowser'])return!![];let _0xcfd29a=null;try{_0xcfd29a=await _0x58ac18[_0x11771c(0xa8)]();const _0x37114d=await _0xcfd29a[_0x11771c(0xa2)]({'storageState':_0x211925,'ignoreHTTPSErrors':!![],..._0x367f66[_0x11771c(0x92)]?{'extraHTTPHeaders':_0x367f66[_0x11771c(0x92)]}:{}}),_0x18a520=await _0x37114d[_0x11771c(0xaf)](),_0x9cb3fe=await _0x18a520['goto'](_0x25e2f6,{'waitUntil':_0x328c42[_0x11771c(0x9b)],'timeout':0x3a98}),_0x40f7b7=_0x9cb3fe?.['status']();if(_0x40f7b7===0x191||_0x40f7b7===0x193)return![];const _0x2f5133=_0x18a520[_0x11771c(0x85)]();if(looksLikeLoginUrl(_0x2f5133))return![];return!![];}catch{return![];}finally{if(_0xcfd29a)await _0xcfd29a['close']()['catch'](()=>{});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x2c21e4=_0x2cf3;(function(_0x485849,_0x4f2d67){const _0x1e8526=_0x2cf3,_0x57d5cc=_0x485849();while(!![]){try{const _0x36e825=parseInt(_0x1e8526(0xed))/0x1+-parseInt(_0x1e8526(0xee))/0x2+parseInt(_0x1e8526(0xef))/0x3+parseInt(_0x1e8526(0xea))/0x4+-parseInt(_0x1e8526(0xec))/0x5+-parseInt(_0x1e8526(0xe9))/0x6+parseInt(_0x1e8526(0xe3))/0x7*(parseInt(_0x1e8526(0xeb))/0x8);if(_0x36e825===_0x4f2d67)break;else _0x57d5cc['push'](_0x57d5cc['shift']());}catch(_0x4e7384){_0x57d5cc['push'](_0x57d5cc['shift']());}}}(_0x21e3,0x81d8d));import{createCipheriv,createDecipheriv,randomBytes,pbkdf2Sync}from'crypto';function _0x2cf3(_0x39662c,_0x1b5b76){_0x39662c=_0x39662c-0xe1;const _0x21e383=_0x21e3();let _0x2cf301=_0x21e383[_0x39662c];return _0x2cf301;}const ALGORITHM=_0x2c21e4(0xe2),SALT='ranger-auth-encryption',KEY_LENGTH=0x20,IV_LENGTH=0x10,TAG_LENGTH=0x10;function _0x21e3(){const _0x8c5958=['935762MxTLTJ','1764129PmoaIV','getAuthTag','aes-256-gcm','1053815MJcUfV','xQuvy','update','FQlnJ','subarray','concat','4391130wSpOeZ','1518320nDQCfz','56vqoZsX','2079425CYsmRk','126036zgwXhh'];_0x21e3=function(){return _0x8c5958;};return _0x21e3();}export function deriveKey(_0x244edb){return pbkdf2Sync(_0x244edb,SALT,0x186a0,KEY_LENGTH,'sha256');}export function encrypt(_0x54097f,_0x115706){const _0x11c547=_0x2c21e4,_0x502718={'uBytu':function(_0x55094c,_0x565b05,_0x362b6e,_0x3229ad){return _0x55094c(_0x565b05,_0x362b6e,_0x3229ad);}},_0x1b4fb4=deriveKey(_0x115706),_0x32ae22=randomBytes(IV_LENGTH),_0x1ec476=_0x502718['uBytu'](createCipheriv,ALGORITHM,_0x1b4fb4,_0x32ae22),_0x1fda81=Buffer['concat']([_0x1ec476[_0x11c547(0xe5)](_0x54097f,'utf8'),_0x1ec476['final']()]),_0x54eda2=_0x1ec476[_0x11c547(0xe1)]();return Buffer[_0x11c547(0xe8)]([_0x32ae22,_0x54eda2,_0x1fda81]);}export function decrypt(_0x2ad758,_0x24154e){const _0x1892e9=_0x2c21e4,_0x2c8f01={'FQlnJ':function(_0x11693c,_0x431580){return _0x11693c(_0x431580);},'xQuvy':function(_0x9d307b,_0x4a44de){return _0x9d307b+_0x4a44de;},'bnrTZ':function(_0x36d745,_0x28580d,_0x3a7449,_0x588a1e){return _0x36d745(_0x28580d,_0x3a7449,_0x588a1e);}},_0xf3a1ae=_0x2c8f01[_0x1892e9(0xe6)](deriveKey,_0x24154e),_0x343fdf=_0x2ad758[_0x1892e9(0xe7)](0x0,IV_LENGTH),_0x86db25=_0x2ad758['subarray'](IV_LENGTH,IV_LENGTH+TAG_LENGTH),_0x36079e=_0x2ad758[_0x1892e9(0xe7)](_0x2c8f01['xQuvy'](IV_LENGTH,TAG_LENGTH)),_0x503a8f=_0x2c8f01['bnrTZ'](createDecipheriv,ALGORITHM,_0xf3a1ae,_0x343fdf);return _0x503a8f['setAuthTag'](_0x86db25),_0x2c8f01[_0x1892e9(0xe4)](_0x503a8f['update'](_0x36079e),_0x503a8f['final']('utf8'));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x20e164=_0x340e;(function(_0x30fd85,_0x3acf73){const _0x26c554=_0x340e,_0x44dfa5=_0x30fd85();while(!![]){try{const _0x40d384=-parseInt(_0x26c554(0x187))/0x1*(-parseInt(_0x26c554(0x1a2))/0x2)+-parseInt(_0x26c554(0x18d))/0x3*(-parseInt(_0x26c554(0x194))/0x4)+-parseInt(_0x26c554(0x1a4))/0x5*(-parseInt(_0x26c554(0x1a0))/0x6)+parseInt(_0x26c554(0x197))/0x7*(parseInt(_0x26c554(0x182))/0x8)+-parseInt(_0x26c554(0x188))/0x9+parseInt(_0x26c554(0x1b0))/0xa*(parseInt(_0x26c554(0x198))/0xb)+-parseInt(_0x26c554(0x18a))/0xc*(parseInt(_0x26c554(0x18c))/0xd);if(_0x40d384===_0x3acf73)break;else _0x44dfa5['push'](_0x44dfa5['shift']());}catch(_0x4d830e){_0x44dfa5['push'](_0x44dfa5['shift']());}}}(_0x7864,0x1fde6));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{getCurrentVersion}from'./version.js';function _0x340e(_0x1417aa,_0x685f05){_0x1417aa=_0x1417aa-0x180;const _0x78648a=_0x7864();let _0x340e86=_0x78648a[_0x1417aa];return _0x340e86;}function _0x7864(){const _0x170935=['unknown_argument','141875GxeDUQ','metadata','rawCommand','tCKuX','glNaj','Ihown','push','[desire-path]\x20Failed\x20to\x20send:\x20','unknown','error','test','[desire-path]\x20Payload:\x20','110reASgH','Afglf','slice','--credentials','has','YxVpj','--apikey','errorType','RnJvX','Not\x20enough\x20non-option\x20arguments','14624Acdtmp','includes','Unknown\x20argument','has_token','startsWith','1axRQtb','565398ivUuLz','isTTY','24xWSxpE','GlMZh','3807817thIbqA','446535caItTb','--key','3|1|0|2|6|5|7|4','Missing\x20required\x20argument','--secret','POST','stringify','4IBrxmA','--cookie','/api/v1/mcp/desire-path-logs','581pniIjQ','58531ZOyyLP','GQSGX','toLowerCase','unknown_command','--token','runtime_error','env','join','42tOffgY','Bearer\x20','442898ZkKzrH'];_0x7864=function(){return _0x170935;};return _0x7864();}const SENSITIVE_FLAGS=new Set([_0x20e164(0x19c),'-t',_0x20e164(0x191),'--api-key',_0x20e164(0x1b6),_0x20e164(0x18e),'--password','--pass','--auth','--authorization','--header',_0x20e164(0x195),_0x20e164(0x1b3)]),TOKEN_PATTERNS=[/^(ranger_|rngr_|sk-|pk-|api[_-]?)/i,/^[a-zA-Z0-9_-]{32,}$/,/^eyJ[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+/];function looksLikeToken(_0x2868e7){const _0x3c098a=_0x20e164;return TOKEN_PATTERNS['some'](_0x47cce9=>_0x47cce9[_0x3c098a(0x1ae)](_0x2868e7));}export function sanitizeArgs(_0x10ec28){const _0x4eb026=_0x20e164,_0x3fa378={'Afglf':'[REDACTED]','glNaj':function(_0xf4d90e,_0x46dfb2){return _0xf4d90e!==_0x46dfb2;},'aSbti':function(_0x3025c1,_0x5dbaff){return _0x3025c1(_0x5dbaff);}},_0x156c03=[];let _0x110d78=![];for(let _0x29e973=0x0;_0x29e973<_0x10ec28['length'];_0x29e973++){const _0x531dd3=_0x10ec28[_0x29e973];if(_0x110d78){_0x156c03['push'](_0x3fa378['Afglf']),_0x110d78=![];continue;}if(_0x531dd3['startsWith']('--')||_0x531dd3[_0x4eb026(0x186)]('-')){const _0x2a33c0=_0x531dd3['indexOf']('=');if(_0x3fa378[_0x4eb026(0x1a8)](_0x2a33c0,-0x1)){const _0xa8c6=_0x531dd3['slice'](0x0,_0x2a33c0)['toLowerCase']();if(SENSITIVE_FLAGS['has'](_0xa8c6)){_0x156c03[_0x4eb026(0x1aa)](_0x531dd3[_0x4eb026(0x1b2)](0x0,_0x2a33c0)+'=[REDACTED]');continue;}}else{const _0x2e19a3=_0x531dd3[_0x4eb026(0x19a)]();SENSITIVE_FLAGS[_0x4eb026(0x1b4)](_0x2e19a3)&&(_0x110d78=!![]);}_0x156c03[_0x4eb026(0x1aa)](_0x531dd3);}else _0x3fa378['aSbti'](looksLikeToken,_0x531dd3)?_0x156c03[_0x4eb026(0x1aa)](_0x3fa378[_0x4eb026(0x1b1)]):_0x156c03['push'](_0x531dd3);}return _0x156c03[_0x4eb026(0x19f)]('\x20');}export async function logDesirePath(_0x5cfb58){const _0x4f5848=_0x20e164,_0x3a2eef={'lpdBs':function(_0x2dd1a0){return _0x2dd1a0();},'Ihown':function(_0x3f991e){return _0x3f991e();},'LPhKe':'no_token','UKOpF':function(_0x568347,_0x54f45c,_0x3928b4){return _0x568347(_0x54f45c,_0x3928b4);}};try{const _0x3c7b5b=await _0x3a2eef['lpdBs'](getToken)['catch'](()=>null),_0x2cc8ac=_0x3a2eef[_0x4f5848(0x1a9)](getApiBaseUrl),_0x3d8541=getCurrentVersion(),_0x18932b=_0x3c7b5b?_0x4f5848(0x185):_0x3a2eef['LPhKe'],_0x28de0c={..._0x5cfb58[_0x4f5848(0x1a5)],'authStatus':_0x18932b,'isTty':process['stdout'][_0x4f5848(0x189)]??![]},_0x3104c5={'Content-Type':'application/json'};_0x3c7b5b&&(_0x3104c5['Authorization']=_0x4f5848(0x1a1)+_0x3c7b5b);const _0x1bd7f4={'rawCommand':_0x5cfb58[_0x4f5848(0x1a6)],'errorMessage':_0x5cfb58['errorMessage'],'errorType':_0x5cfb58[_0x4f5848(0x1b7)],'featureId':_0x5cfb58['featureId'],'sessionId':_0x5cfb58['sessionId'],'metadata':_0x28de0c,'cliVersion':_0x3d8541};process['env']['DEBUG']&&(console['error']('[desire-path]\x20Sending\x20log\x20to\x20'+_0x2cc8ac+'/api/v1/mcp/desire-path-logs'),console[_0x4f5848(0x1ad)](_0x4f5848(0x1af)+JSON['stringify'](_0x1bd7f4,null,0x2))),await _0x3a2eef['UKOpF'](fetch,_0x2cc8ac+_0x4f5848(0x196),{'method':_0x4f5848(0x192),'headers':_0x3104c5,'body':JSON[_0x4f5848(0x193)](_0x1bd7f4)});}catch(_0x323a23){process[_0x4f5848(0x19e)]['DEBUG']&&console['error'](_0x4f5848(0x1ab)+_0x323a23);}}export function getErrorType(_0x406720,_0x3c0531){const _0x4566ac=_0x20e164,_0x4d8b8d={'RnJvX':_0x4566ac(0x18f),'tCKuX':_0x4566ac(0x19b),'GQSGX':_0x4566ac(0x1ac),'XzLDx':_0x4566ac(0x184),'EPuBG':_0x4566ac(0x1a3),'YxVpj':'Invalid\x20values','GlMZh':'missing_required_argument'},_0x202965=_0x4d8b8d[_0x4566ac(0x180)]['split']('|');let _0x23c353=0x0;while(!![]){switch(_0x202965[_0x23c353++]){case'0':if(_0x406720['includes']('Unknown\x20command'))return _0x4d8b8d[_0x4566ac(0x1a7)];continue;case'1':if(!_0x406720)return _0x4d8b8d[_0x4566ac(0x199)];continue;case'2':if(_0x406720[_0x4566ac(0x183)](_0x4d8b8d['XzLDx']))return _0x4d8b8d['EPuBG'];continue;case'3':if(_0x3c0531)return _0x4566ac(0x19d);continue;case'4':return'syntax_error';case'5':if(_0x406720[_0x4566ac(0x183)](_0x4d8b8d[_0x4566ac(0x1b5)]))return'invalid_option_value';continue;case'6':if(_0x406720['includes'](_0x4566ac(0x181)))return _0x4d8b8d[_0x4566ac(0x18b)];continue;case'7':if(_0x406720['includes'](_0x4566ac(0x190)))return'missing_option';continue;}break;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _0x1652(){const _0x126f54=['7142712OSTOoy','SEeoZ','/organization/my-memberships','UcSFU','toString','user_code','Provisioning\x20CLI\x20token...','split','write','BHSxl','kNtxo','platform','https://api.workos.com/user_management/authenticate','device_code','EiGnf','memberships','length','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','POST','unref','\x27s\x20CLI\x20Key','/organization/self-serve-signup','from','GET','name','org_id','Device\x20authorization\x20timed\x20out','open','EIgHN','selected','Failed\x20to\x20request\x20device\x20code:\x20','status','8097705PbexZc','verification_uri_complete','1904682ITmQey','vMHQN','qvDEo','yRned','Failed\x20to\x20create\x20organization:\x20','DuYhI','/api-keys','18BLLNZG','isTTY','Code:\x20','4kBteCl','text','json','3741376MjLcDL','prompt','If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20','now','win32','8121830mrhwKM','parse','AHhpg','EiXPt','377665AkVxCL','organizationId','HQBwO','application/x-www-form-urlencoded','workosClientId','utf-8','email','ojAmL','access_token','ceXgj','6613208JfaVqv','token','mcp:write','refresh_token','nkvox','https://api.workos.com/user_management/authorize/device','iqwOu','Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a','/organization/me','ignore','application/json','stdout','log'];_0x1652=function(){return _0x126f54;};return _0x1652();}const _0x561a7b=_0x2308;(function(_0x5032cf,_0x24106d){const _0x59fbbd=_0x2308,_0xac07d=_0x5032cf();while(!![]){try{const _0x339ea0=-parseInt(_0x59fbbd(0x13b))/0x1*(parseInt(_0x59fbbd(0x12f))/0x2)+parseInt(_0x59fbbd(0x125))/0x3+parseInt(_0x59fbbd(0x132))/0x4+-parseInt(_0x59fbbd(0x137))/0x5+parseInt(_0x59fbbd(0x103))/0x6+-parseInt(_0x59fbbd(0x123))/0x7+-parseInt(_0x59fbbd(0x145))/0x8*(-parseInt(_0x59fbbd(0x12c))/0x9);if(_0x339ea0===_0x24106d)break;else _0xac07d['push'](_0xac07d['shift']());}catch(_0x44348d){_0xac07d['push'](_0xac07d['shift']());}}}(_0x1652,0xd63a9));import{spawn}from'child_process';import _0x28b495 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';const WORKOS_DEVICE_AUTH_URL=_0x561a7b(0x14a),WORKOS_TOKEN_URL=_0x561a7b(0x10f);export async function requestDeviceCode(_0x3a59fe){const _0x283d76=_0x561a7b,_0x546c05={'wLJgo':_0x283d76(0x115),'NdyZx':'application/x-www-form-urlencoded'},_0x2e0417=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':_0x546c05['wLJgo'],'headers':{'Content-Type':_0x546c05['NdyZx']},'body':new URLSearchParams({'client_id':_0x3a59fe})});if(!_0x2e0417['ok']){const _0x3abddc=await _0x2e0417['text']();throw new Error(_0x283d76(0x121)+_0x2e0417[_0x283d76(0x122)]+'\x20'+_0x3abddc);}return _0x2e0417['json']();}export async function pollForTokens(_0x508a38,_0x5bbb36,_0x33343c,_0x3531d9){const _0x41c1b7=_0x561a7b,_0x313262={'TMOqy':function(_0x1c72a9,_0x3e2d3a){return _0x1c72a9*_0x3e2d3a;},'qvDEo':function(_0xe212d5,_0x108145){return _0xe212d5(_0x108145);},'qOBqf':function(_0x4159c5,_0x32ad55,_0x10d5a3){return _0x4159c5(_0x32ad55,_0x10d5a3);},'fdfMA':'POST','ZPzwL':'application/x-www-form-urlencoded','bMrov':'urn:ietf:params:oauth:grant-type:device_code','SGfGg':'authorization_pending','nkvox':function(_0x2a3495,_0x1cf892){return _0x2a3495===_0x1cf892;},'EiXPt':'Authentication\x20failed'},_0x50ba14=Date[_0x41c1b7(0x135)]()+_0x3531d9*0x3e8;let _0x2559da=_0x313262['TMOqy'](_0x33343c,0x3e8);while(Date[_0x41c1b7(0x135)]()<_0x50ba14){await _0x313262[_0x41c1b7(0x127)](sleep,_0x2559da);const _0x29b0bf=await _0x313262['qOBqf'](fetch,WORKOS_TOKEN_URL,{'method':_0x313262['fdfMA'],'headers':{'Content-Type':_0x313262['ZPzwL']},'body':new URLSearchParams({'client_id':_0x508a38,'device_code':_0x5bbb36,'grant_type':_0x313262['bMrov']})});if(_0x29b0bf['ok'])return _0x29b0bf[_0x41c1b7(0x131)]();const _0x3803fa=await _0x29b0bf[_0x41c1b7(0x131)]();if(_0x3803fa['error']===_0x313262['SGfGg'])continue;if(_0x313262[_0x41c1b7(0x149)](_0x3803fa['error'],'slow_down')){_0x2559da+=0x3e8;continue;}throw new Error(_0x3803fa['error_description']||_0x3803fa['error']||_0x313262[_0x41c1b7(0x13a)]);}throw new Error(_0x41c1b7(0x11d));}async function fetchUserProfile(_0x24a033){const _0x3aa86d=_0x561a7b,_0x3353ce=getApiBaseUrl();try{const _0xe7a20a=await fetch(_0x3353ce+_0x3aa86d(0x14d),{'method':'GET','headers':{'workos-token':_0x24a033}});if(_0xe7a20a['ok'])return _0xe7a20a['json']();}catch{}return null;}function buildKeyName(_0x101fad,_0xf85a0d){const _0x4ee7dc=_0x561a7b,_0x47d37f=_0xf85a0d['filter'](_0x3c7183=>_0x3c7183['name']===_0x101fad||_0x3c7183['name']['startsWith'](_0x101fad+'\x20('));if(_0x47d37f['length']===0x0)return _0x101fad;return _0x101fad+'\x20('+(_0x47d37f[_0x4ee7dc(0x113)]+0x1)+')';}export async function provisionApiKey(_0x706d5c){const _0x14982a=_0x561a7b,_0x5ebba9={'DCPKo':function(_0x64c9d8){return _0x64c9d8();},'ZQjpM':'application/json','fucac':function(_0x252d46,_0x327bcb){return _0x252d46(_0x327bcb);},'qreGy':'CLI\x20Key','AHhpg':_0x14982a(0x11a),'HQBwO':function(_0x363505,_0x354d1d,_0x499356){return _0x363505(_0x354d1d,_0x499356);},'kNtxo':_0x14982a(0x147)},_0x11fa0e=_0x5ebba9['DCPKo'](getApiBaseUrl),_0x3a5747={'Content-Type':_0x5ebba9['ZQjpM'],'workos-token':_0x706d5c},_0x45ed15=await _0x5ebba9['fucac'](fetchUserProfile,_0x706d5c),_0x2ec252=_0x45ed15?.['firstName']||_0x45ed15?.[_0x14982a(0x141)]?.['split']('@')[0x0],_0x184ae5=_0x2ec252?_0x2ec252+_0x14982a(0x117):_0x5ebba9['qreGy'];let _0x1ac137=[];try{const _0x1e5c33=await fetch(_0x11fa0e+_0x14982a(0x12b),{'method':_0x5ebba9[_0x14982a(0x139)],'headers':_0x3a5747});if(_0x1e5c33['ok']){const _0x11e83c=await _0x1e5c33['json']();_0x1ac137=_0x11e83c['apiKeys'];}}catch{}const _0x133955=_0x5ebba9[_0x14982a(0x13d)](buildKeyName,_0x184ae5,_0x1ac137),_0x11253=await _0x5ebba9['HQBwO'](fetch,_0x11fa0e+_0x14982a(0x12b),{'method':'POST','headers':_0x3a5747,'body':JSON['stringify']({'name':_0x133955,'scope':_0x5ebba9[_0x14982a(0x10d)]})});if(!_0x11253['ok']){const _0x17d372=await _0x11253['text']();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x11253['status']+'\x20'+_0x17d372);}const _0xedf26a=await _0x11253['json']();return _0xedf26a['apiKey'][_0x14982a(0x146)];}export function openBrowser(_0x19a26f){const _0x340d18=_0x561a7b,_0x26b5d7={'iqwOu':function(_0x40f733,_0x3daad5,_0x2fd6db,_0x624d88){return _0x40f733(_0x3daad5,_0x2fd6db,_0x624d88);},'EiGnf':_0x340d18(0x14e),'eOBlo':function(_0x40e49,_0x8bf3c8){return _0x40e49===_0x8bf3c8;},'MrYkT':'xdg-open'};try{if(process['platform']===_0x340d18(0x136)){const _0x3c2ebb=_0x26b5d7[_0x340d18(0x14b)](spawn,'cmd',['/c','start','',_0x19a26f],{'detached':!![],'stdio':_0x26b5d7[_0x340d18(0x111)],'windowsHide':!![]});_0x3c2ebb[_0x340d18(0x116)]();return;}const _0x4da56c=_0x26b5d7['eOBlo'](process[_0x340d18(0x10e)],'darwin')?_0x340d18(0x11e):_0x26b5d7['MrYkT'],_0x579e2b=spawn(_0x4da56c,[_0x19a26f],{'detached':!![],'stdio':'ignore'});_0x579e2b[_0x340d18(0x116)]();}catch{}}function decodeJwtPayload(_0x37745e){const _0x22cc97=_0x561a7b,_0x4fd5bc={'coTeF':function(_0x3b1afa,_0x5bd8e3){return _0x3b1afa!==_0x5bd8e3;},'EIgHN':'Invalid\x20JWT\x20format','NQuSy':'base64url'},_0x29a953=_0x37745e[_0x22cc97(0x10a)]('.');if(_0x4fd5bc['coTeF'](_0x29a953[_0x22cc97(0x113)],0x3))throw new Error(_0x4fd5bc[_0x22cc97(0x11f)]);const _0x50bf52=Buffer[_0x22cc97(0x119)](_0x29a953[0x1],_0x4fd5bc['NQuSy'])[_0x22cc97(0x107)](_0x22cc97(0x140));return JSON[_0x22cc97(0x138)](_0x50bf52);}async function selfServeSignup(_0x3f7a02){const _0x3ffc55=_0x561a7b,_0x3545a0=getApiBaseUrl(),_0x56724e=await fetch(_0x3545a0+_0x3ffc55(0x118),{'method':'POST','headers':{'Content-Type':'application/json','workos-token':_0x3f7a02}});if(!_0x56724e['ok']){const _0x7ad562=await _0x56724e['text']();throw new Error(_0x3ffc55(0x129)+_0x56724e['status']+'\x20'+_0x7ad562);}return _0x56724e[_0x3ffc55(0x131)]();}async function fetchMyMemberships(_0x3cf8ac){const _0x5918ce=_0x561a7b,_0x38ab99={'BHSxl':function(_0x34ae3b){return _0x34ae3b();},'sLTjQ':'GET'},_0x5d643c=_0x38ab99[_0x5918ce(0x10c)](getApiBaseUrl),_0x3bce73=await fetch(_0x5d643c+_0x5918ce(0x105),{'method':_0x38ab99['sLTjQ'],'headers':{'workos-token':_0x3cf8ac}});if(!_0x3bce73['ok']){const _0x55fbd0=await _0x3bce73['text']();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x3bce73[_0x5918ce(0x122)]+'\x20'+_0x55fbd0);}const _0x4c68a3=await _0x3bce73[_0x5918ce(0x131)]();return _0x4c68a3[_0x5918ce(0x112)];}async function refreshTokenWithOrg(_0x3b506f,_0x335e80,_0x29ba98){const _0x5812df=_0x561a7b,_0x5245dc={'uLGkG':_0x5812df(0x13e)},_0x2fe694=await fetch(WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x5245dc['uLGkG']},'body':new URLSearchParams({'client_id':_0x3b506f,'grant_type':_0x5812df(0x148),'refresh_token':_0x335e80,'organization_id':_0x29ba98})});if(!_0x2fe694['ok']){const _0x11ba09=await _0x2fe694[_0x5812df(0x130)]();throw new Error('Failed\x20to\x20refresh\x20token\x20with\x20org:\x20'+_0x2fe694['status']+'\x20'+_0x11ba09);}return _0x2fe694[_0x5812df(0x131)]();}function _0x2308(_0xcd9f27,_0x26f542){_0xcd9f27=_0xcd9f27-0x103;const _0x1652a6=_0x1652();let _0x2308fa=_0x1652a6[_0xcd9f27];return _0x2308fa;}async function provisionCliToken(_0x538934){const _0x36b9ed=_0x561a7b,_0x3de618={'exsOI':function(_0x76fad3){return _0x76fad3();},'ceXgj':function(_0x2b395b,_0x30ed70,_0x418829){return _0x2b395b(_0x30ed70,_0x418829);},'DuYhI':_0x36b9ed(0x115)},_0x135aa3=_0x3de618['exsOI'](getApiBaseUrl),_0x600c65=await _0x3de618[_0x36b9ed(0x144)](fetch,_0x135aa3+'/cli-auth/token',{'method':_0x3de618[_0x36b9ed(0x12a)],'headers':{'Content-Type':_0x36b9ed(0x14f),'workos-token':_0x538934}});if(!_0x600c65['ok']){const _0xe0295b=await _0x600c65[_0x36b9ed(0x130)]();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x600c65[_0x36b9ed(0x122)]+'\x20'+_0xe0295b);}return _0x600c65['json']();}export async function runDeviceAuthFlow(){const _0x3c0bf8=_0x561a7b,_0x50af26={'ojAmL':'\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','GmBSL':function(_0x2a8e68,_0x2c6f6e){return _0x2a8e68===_0x2c6f6e;},'CmleJ':'Setting\x20up\x20your\x20organization...','yRned':function(_0x49d0de,_0x36dfc9){return _0x49d0de+_0x36dfc9;},'AgZxa':'Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','vMHQN':_0x3c0bf8(0x120),'UcSFU':'Select\x20an\x20organization:','SEeoZ':_0x3c0bf8(0x109)},_0x4ebe69=getCurrentEnvironment(),_0x28cae1=ENVIRONMENT_CONFIGS[_0x4ebe69][_0x3c0bf8(0x13f)],_0x145821=await requestDeviceCode(_0x28cae1);console[_0x3c0bf8(0x151)](_0x3c0bf8(0x114)),console[_0x3c0bf8(0x151)](_0x50af26[_0x3c0bf8(0x142)]),openBrowser(_0x145821[_0x3c0bf8(0x124)]),console['log'](_0x3c0bf8(0x134)+_0x145821[_0x3c0bf8(0x124)]),console[_0x3c0bf8(0x151)](_0x3c0bf8(0x12e)+_0x145821[_0x3c0bf8(0x108)]+'\x0a'),process['stdout'][_0x3c0bf8(0x10b)]('Waiting\x20for\x20authentication...');let _0x401ac8=await pollForTokens(_0x28cae1,_0x145821[_0x3c0bf8(0x110)],_0x145821['interval'],_0x145821['expires_in']);console[_0x3c0bf8(0x151)]('\x20✓');const _0x5c7a0a=decodeJwtPayload(_0x401ac8[_0x3c0bf8(0x143)]);if(!_0x5c7a0a[_0x3c0bf8(0x11c)]){const _0x342a5a=await fetchMyMemberships(_0x401ac8[_0x3c0bf8(0x143)]);let _0x36cc69;if(_0x50af26['GmBSL'](_0x342a5a[_0x3c0bf8(0x113)],0x0)){process['stdout'][_0x3c0bf8(0x10b)](_0x50af26['CmleJ']);const _0x293df1=await selfServeSignup(_0x401ac8['access_token']);_0x36cc69=_0x293df1[_0x3c0bf8(0x13c)],console['log']('\x20✓');}else{if(_0x50af26['GmBSL'](_0x342a5a['length'],0x1))_0x36cc69=_0x342a5a[0x0][_0x3c0bf8(0x13c)],console['log']('Using\x20organization:\x20'+_0x342a5a[0x0]['name']);else{const _0x479e46=process['stdin'][_0x3c0bf8(0x12d)]&&process[_0x3c0bf8(0x150)]['isTTY'];if(!_0x479e46)throw new Error(_0x50af26[_0x3c0bf8(0x128)](_0x3c0bf8(0x14c),_0x50af26['AgZxa']));const {selected:_0x435f4b}=await _0x28b495[_0x3c0bf8(0x133)]([{'type':'list','name':_0x50af26[_0x3c0bf8(0x126)],'message':_0x50af26[_0x3c0bf8(0x106)],'choices':_0x342a5a['map'](_0x7fe6a=>({'name':_0x7fe6a[_0x3c0bf8(0x11b)],'value':_0x7fe6a['organizationId']}))}]);_0x36cc69=_0x435f4b;}}_0x401ac8=await refreshTokenWithOrg(_0x28cae1,_0x401ac8[_0x3c0bf8(0x148)],_0x36cc69);}process[_0x3c0bf8(0x150)][_0x3c0bf8(0x10b)](_0x50af26[_0x3c0bf8(0x104)]);const _0xb879fd=await provisionCliToken(_0x401ac8[_0x3c0bf8(0x143)]);return console[_0x3c0bf8(0x151)]('\x20✓'),await storeToken(_0xb879fd[_0x3c0bf8(0x146)]),_0x401ac8[_0x3c0bf8(0x148)]&&await storeRefreshToken(_0x401ac8['refresh_token']),_0xb879fd[_0x3c0bf8(0x146)];}function sleep(_0x1d09d1){return new Promise(_0x43289a=>setTimeout(_0x43289a,_0x1d09d1));}
|
|
1
|
+
const _0x53f6c3=_0x351d;(function(_0x59727a,_0x32d5e0){const _0x2fce26=_0x351d,_0x3ad4a6=_0x59727a();while(!![]){try{const _0x484dad=-parseInt(_0x2fce26(0xc3))/0x1*(parseInt(_0x2fce26(0xeb))/0x2)+parseInt(_0x2fce26(0xf1))/0x3+-parseInt(_0x2fce26(0xe8))/0x4+parseInt(_0x2fce26(0xde))/0x5*(parseInt(_0x2fce26(0xbe))/0x6)+parseInt(_0x2fce26(0xed))/0x7+parseInt(_0x2fce26(0xdb))/0x8+-parseInt(_0x2fce26(0xbf))/0x9;if(_0x484dad===_0x32d5e0)break;else _0x3ad4a6['push'](_0x3ad4a6['shift']());}catch(_0x192a5e){_0x3ad4a6['push'](_0x3ad4a6['shift']());}}}(_0x4e72,0x68fad));import{spawn}from'child_process';import _0x1e81e2 from'inquirer';import{getCurrentEnvironment,ENVIRONMENT_CONFIGS,getApiBaseUrl}from'./environment.js';import{storeToken,storeRefreshToken}from'./keychain.js';function _0x351d(_0x7be6f0,_0x46eb79){_0x7be6f0=_0x7be6f0-0xa5;const _0x4e72f7=_0x4e72();let _0x351d45=_0x4e72f7[_0x7be6f0];return _0x351d45;}const WORKOS_DEVICE_AUTH_URL='https://api.workos.com/user_management/authorize/device',WORKOS_TOKEN_URL=_0x53f6c3(0xae);export async function requestDeviceCode(_0x430131){const _0x859b6d=_0x53f6c3,_0x10f60d={'watDZ':_0x859b6d(0xb7)},_0x271806=await fetch(WORKOS_DEVICE_AUTH_URL,{'method':'POST','headers':{'Content-Type':_0x10f60d[_0x859b6d(0xce)]},'body':new URLSearchParams({'client_id':_0x430131})});if(!_0x271806['ok']){const _0x34abc4=await _0x271806['text']();throw new Error('Failed\x20to\x20request\x20device\x20code:\x20'+_0x271806[_0x859b6d(0xb9)]+'\x20'+_0x34abc4);}return _0x271806[_0x859b6d(0xb8)]();}export async function pollForTokens(_0x51d72c,_0x3b0ed2,_0x568342,_0x313791){const _0x32de9f=_0x53f6c3,_0x563b9b={'OBzdq':function(_0xd420b,_0x11bcc0){return _0xd420b*_0x11bcc0;},'AxPrk':function(_0x2e21f6,_0x165c6b){return _0x2e21f6<_0x165c6b;},'EGroc':function(_0x26c424,_0x7b9835,_0x50e727){return _0x26c424(_0x7b9835,_0x50e727);},'dTrMB':_0x32de9f(0xb7),'kTjUi':function(_0x3a7670,_0x553794){return _0x3a7670===_0x553794;},'nRfCd':'authorization_pending','ebkDR':function(_0x1a45ce,_0x54a608){return _0x1a45ce===_0x54a608;},'rhnRq':'Authentication\x20failed'},_0x3fe012=Date['now']()+_0x313791*0x3e8;let _0x2cc4e7=_0x563b9b[_0x32de9f(0xf0)](_0x568342,0x3e8);while(_0x563b9b[_0x32de9f(0xac)](Date['now'](),_0x3fe012)){await sleep(_0x2cc4e7);const _0x408cda=await _0x563b9b[_0x32de9f(0xca)](fetch,WORKOS_TOKEN_URL,{'method':'POST','headers':{'Content-Type':_0x563b9b['dTrMB']},'body':new URLSearchParams({'client_id':_0x51d72c,'device_code':_0x3b0ed2,'grant_type':_0x32de9f(0xc5)})});if(_0x408cda['ok'])return _0x408cda[_0x32de9f(0xb8)]();const _0x386d39=await _0x408cda['json']();if(_0x563b9b[_0x32de9f(0xc9)](_0x386d39['error'],_0x563b9b[_0x32de9f(0xe1)]))continue;if(_0x563b9b[_0x32de9f(0xdc)](_0x386d39['error'],'slow_down')){_0x2cc4e7+=0x3e8;continue;}throw new Error(_0x386d39[_0x32de9f(0xb1)]||_0x386d39[_0x32de9f(0xa7)]||_0x563b9b['rhnRq']);}throw new Error('Device\x20authorization\x20timed\x20out');}async function fetchUserProfile(_0x206870){const _0x15275e=_0x53f6c3,_0x471ed0={'uEhzo':function(_0x5e4523){return _0x5e4523();},'LBwaJ':'GET'},_0x305eb8=_0x471ed0['uEhzo'](getApiBaseUrl);try{const _0x1f27f2=await fetch(_0x305eb8+_0x15275e(0xd2),{'method':_0x471ed0[_0x15275e(0xcf)],'headers':{'workos-token':_0x206870}});if(_0x1f27f2['ok'])return _0x1f27f2['json']();}catch{}return null;}function buildKeyName(_0x671ae5,_0x11af7f){const _0x4579c9=_0x53f6c3,_0x1e3536={'MNfdS':function(_0x410d7c,_0x437228){return _0x410d7c===_0x437228;}},_0x17ae7f=_0x11af7f['filter'](_0x282293=>_0x282293[_0x4579c9(0xd8)]===_0x671ae5||_0x282293['name'][_0x4579c9(0xe3)](_0x671ae5+'\x20('));if(_0x1e3536['MNfdS'](_0x17ae7f['length'],0x0))return _0x671ae5;return _0x671ae5+'\x20('+(_0x17ae7f[_0x4579c9(0xaa)]+0x1)+')';}export async function provisionApiKey(_0x16c535){const _0x29bf1c=_0x53f6c3,_0x100ac1={'CJGvl':'application/json','JwSul':function(_0xdd067d,_0x554d5b){return _0xdd067d(_0x554d5b);},'VTBET':'CLI\x20Key','tzzFe':function(_0x59f3cd,_0x1856cf,_0x3898b7){return _0x59f3cd(_0x1856cf,_0x3898b7);},'QXKDZ':'mcp:write'},_0x2cd7c5=getApiBaseUrl(),_0x4392b9={'Content-Type':_0x100ac1[_0x29bf1c(0xe6)],'workos-token':_0x16c535},_0x34144c=await _0x100ac1[_0x29bf1c(0xd0)](fetchUserProfile,_0x16c535),_0x34eb95=_0x34144c?.[_0x29bf1c(0xa6)]||_0x34144c?.['email']?.['split']('@')[0x0],_0x48b8ba=_0x34eb95?_0x34eb95+_0x29bf1c(0xcd):_0x100ac1[_0x29bf1c(0xea)];let _0x20970a=[];try{const _0x3a40b2=await fetch(_0x2cd7c5+_0x29bf1c(0xd4),{'method':_0x29bf1c(0xe2),'headers':_0x4392b9});if(_0x3a40b2['ok']){const _0x274f96=await _0x3a40b2[_0x29bf1c(0xb8)]();_0x20970a=_0x274f96[_0x29bf1c(0xbb)];}}catch{}const _0x44bd87=_0x100ac1['tzzFe'](buildKeyName,_0x48b8ba,_0x20970a),_0x346da9=await _0x100ac1['tzzFe'](fetch,_0x2cd7c5+_0x29bf1c(0xd4),{'method':'POST','headers':_0x4392b9,'body':JSON['stringify']({'name':_0x44bd87,'scope':_0x100ac1['QXKDZ']})});if(!_0x346da9['ok']){const _0xf055b4=await _0x346da9['text']();throw new Error('Failed\x20to\x20provision\x20API\x20key:\x20'+_0x346da9[_0x29bf1c(0xb9)]+'\x20'+_0xf055b4);}const _0x1286cf=await _0x346da9['json']();return _0x1286cf[_0x29bf1c(0xc8)][_0x29bf1c(0xe9)];}function _0x4e72(){const _0xd7a040=['Select\x20an\x20organization:','WFRai','QexfN','name','/organization/self-serve-signup','flBiL','1288632gpHpTC','ebkDR','Failed\x20to\x20refresh\x20token\x20with\x20org:\x20','4710lZKOiI','Invalid\x20JWT\x20format','FCXst','nRfCd','GET','startsWith','device_code','stdout','CJGvl','organizationId','2559524OwrgtH','token','VTBET','9586aoWMDT','log','5767811kxIRqA','base64url','RKjQZ','OBzdq','2305200VoUvFX','darwin','Use:\x20ranger\x20setup\x20[token]\x20or\x20set\x20RANGER_CLI_TOKEN.','firstName','error','refresh_token','ignore','length','Failed\x20to\x20create\x20organization:\x20','AxPrk','write','https://api.workos.com/user_management/authenticate','start','\x20\x20\x20A\x20human\x20needs\x20to\x20complete\x20authentication\x20in\x20the\x20browser.\x0a','error_description','vgZyk','list','text','\x0a🔐\x20Opening\x20browser\x20to\x20log\x20in...','unref','application/x-www-form-urlencoded','json','status','expires_in','apiKeys','access_token','IYhEU','2568BmiOjY','9521928cuwiTi','AMdEm','from','win32','6jydWzG','map','urn:ietf:params:oauth:grant-type:device_code','Waiting\x20for\x20authentication...','cePIU','apiKey','kTjUi','EGroc','isTTY','POST','\x27s\x20CLI\x20Key','watDZ','LBwaJ','JwSul','application/json','/organization/me','org_id','/api-keys'];_0x4e72=function(){return _0xd7a040;};return _0x4e72();}export function openBrowser(_0x4c2087){const _0x507d66=_0x53f6c3,_0x2b903c={'JspvV':'cmd','IRhYz':_0x507d66(0xaf),'IYhEU':'ignore'};try{if(process['platform']===_0x507d66(0xc2)){const _0x19e336=spawn(_0x2b903c['JspvV'],['/c',_0x2b903c['IRhYz'],'',_0x4c2087],{'detached':!![],'stdio':_0x507d66(0xa9),'windowsHide':!![]});_0x19e336[_0x507d66(0xb6)]();return;}const _0x3c6a4b=process['platform']===_0x507d66(0xf2)?'open':'xdg-open',_0x3ae215=spawn(_0x3c6a4b,[_0x4c2087],{'detached':!![],'stdio':_0x2b903c[_0x507d66(0xbd)]});_0x3ae215[_0x507d66(0xb6)]();}catch{}}function decodeJwtPayload(_0x1e742d){const _0x5062d2=_0x53f6c3,_0x1e8bca={'oaocr':function(_0x5da03e,_0x3dd276){return _0x5da03e!==_0x3dd276;},'saJrq':_0x5062d2(0xee)},_0x329d2e=_0x1e742d['split']('.');if(_0x1e8bca['oaocr'](_0x329d2e[_0x5062d2(0xaa)],0x3))throw new Error(_0x5062d2(0xdf));const _0x2ef333=Buffer[_0x5062d2(0xc1)](_0x329d2e[0x1],_0x1e8bca['saJrq'])['toString']('utf-8');return JSON['parse'](_0x2ef333);}async function selfServeSignup(_0x1d9e1a){const _0x151c2f=_0x53f6c3,_0x768c7={'vtNva':function(_0x193097){return _0x193097();},'uIepB':function(_0xa2b8b8,_0x2611f0,_0x555df3){return _0xa2b8b8(_0x2611f0,_0x555df3);},'zBzIA':_0x151c2f(0xcc),'pWbeJ':'application/json'},_0x1a7691=_0x768c7['vtNva'](getApiBaseUrl),_0x2bb0d6=await _0x768c7['uIepB'](fetch,_0x1a7691+_0x151c2f(0xd9),{'method':_0x768c7['zBzIA'],'headers':{'Content-Type':_0x768c7['pWbeJ'],'workos-token':_0x1d9e1a}});if(!_0x2bb0d6['ok']){const _0x34463b=await _0x2bb0d6['text']();throw new Error(_0x151c2f(0xab)+_0x2bb0d6['status']+'\x20'+_0x34463b);}return _0x2bb0d6['json']();}async function fetchMyMemberships(_0x3cf4c5){const _0xd69722=_0x53f6c3,_0x2c2088={'vgZyk':function(_0x4dcbc5){return _0x4dcbc5();},'QexfN':function(_0x393c3a,_0x6c491f,_0x135c86){return _0x393c3a(_0x6c491f,_0x135c86);}},_0x13e358=_0x2c2088[_0xd69722(0xb2)](getApiBaseUrl),_0x260703=await _0x2c2088[_0xd69722(0xd7)](fetch,_0x13e358+'/organization/my-memberships',{'method':'GET','headers':{'workos-token':_0x3cf4c5}});if(!_0x260703['ok']){const _0x235f38=await _0x260703[_0xd69722(0xb4)]();throw new Error('Failed\x20to\x20fetch\x20memberships:\x20'+_0x260703['status']+'\x20'+_0x235f38);}const _0x517326=await _0x260703[_0xd69722(0xb8)]();return _0x517326['memberships'];}async function refreshTokenWithOrg(_0x25e409,_0x459c01,_0x1f1f21){const _0x2ed5ed=_0x53f6c3,_0x527b11={'WFRai':function(_0x470f9c,_0x464963,_0x274709){return _0x470f9c(_0x464963,_0x274709);},'cePIU':'POST','vhjvM':_0x2ed5ed(0xb7)},_0x58df54=await _0x527b11[_0x2ed5ed(0xd6)](fetch,WORKOS_TOKEN_URL,{'method':_0x527b11[_0x2ed5ed(0xc7)],'headers':{'Content-Type':_0x527b11['vhjvM']},'body':new URLSearchParams({'client_id':_0x25e409,'grant_type':'refresh_token','refresh_token':_0x459c01,'organization_id':_0x1f1f21})});if(!_0x58df54['ok']){const _0x30dbc5=await _0x58df54[_0x2ed5ed(0xb4)]();throw new Error(_0x2ed5ed(0xdd)+_0x58df54[_0x2ed5ed(0xb9)]+'\x20'+_0x30dbc5);}return _0x58df54['json']();}async function provisionCliToken(_0x5c4912){const _0x3c7793=_0x53f6c3,_0x1e419a={'flBiL':function(_0x18df43){return _0x18df43();},'Etxfl':function(_0x41c79d,_0x43a1bb,_0x43c4de){return _0x41c79d(_0x43a1bb,_0x43c4de);},'bruyN':_0x3c7793(0xcc)},_0x257969=_0x1e419a[_0x3c7793(0xda)](getApiBaseUrl),_0x2dd7ed=await _0x1e419a['Etxfl'](fetch,_0x257969+'/cli-auth/token',{'method':_0x1e419a['bruyN'],'headers':{'Content-Type':_0x3c7793(0xd1),'workos-token':_0x5c4912}});if(!_0x2dd7ed['ok']){const _0x5bbc11=await _0x2dd7ed['text']();throw new Error('Failed\x20to\x20provision\x20CLI\x20token:\x20'+_0x2dd7ed[_0x3c7793(0xb9)]+'\x20'+_0x5bbc11);}return _0x2dd7ed['json']();}export async function runDeviceAuthFlow(){const _0x1447b1=_0x53f6c3,_0x2a0cc1={'wyyDm':function(_0xc2ded0){return _0xc2ded0();},'AMdEm':function(_0x5d0d51,_0x3e9e5f){return _0x5d0d51(_0x3e9e5f);},'nJbSS':_0x1447b1(0xb0),'dwBCR':function(_0x12a068,_0x426a7b){return _0x12a068===_0x426a7b;},'sDZRX':function(_0x13a41a,_0x1cac55){return _0x13a41a(_0x1cac55);},'gnrAF':'selected','FCXst':function(_0x58e19b,_0x1970bc,_0x5e937e,_0x39fd6d){return _0x58e19b(_0x1970bc,_0x5e937e,_0x39fd6d);},'qYADK':'Provisioning\x20CLI\x20token...','RKjQZ':function(_0x4783bb,_0x484eee){return _0x4783bb(_0x484eee);},'xSmke':function(_0x213763,_0x5a2a19){return _0x213763(_0x5a2a19);}},_0x1ae8db=_0x2a0cc1['wyyDm'](getCurrentEnvironment),_0x4be735=ENVIRONMENT_CONFIGS[_0x1ae8db]['workosClientId'],_0x1ddaf7=await _0x2a0cc1[_0x1447b1(0xc0)](requestDeviceCode,_0x4be735);console['log'](_0x1447b1(0xb5)),console[_0x1447b1(0xec)](_0x2a0cc1['nJbSS']),openBrowser(_0x1ddaf7['verification_uri_complete']),console['log']('If\x20the\x20browser\x20doesn\x27t\x20open,\x20visit:\x20'+_0x1ddaf7['verification_uri_complete']),console[_0x1447b1(0xec)]('Code:\x20'+_0x1ddaf7['user_code']+'\x0a'),process['stdout'][_0x1447b1(0xad)](_0x1447b1(0xc6));let _0x224cbd=await pollForTokens(_0x4be735,_0x1ddaf7[_0x1447b1(0xe4)],_0x1ddaf7['interval'],_0x1ddaf7[_0x1447b1(0xba)]);console['log']('\x20✓');const _0x31b641=decodeJwtPayload(_0x224cbd['access_token']);if(!_0x31b641[_0x1447b1(0xd3)]){const _0x54724d=await fetchMyMemberships(_0x224cbd[_0x1447b1(0xbc)]);let _0x15eabc;if(_0x2a0cc1['dwBCR'](_0x54724d['length'],0x0)){process[_0x1447b1(0xe5)]['write']('Setting\x20up\x20your\x20organization...');const _0x260a76=await _0x2a0cc1['sDZRX'](selfServeSignup,_0x224cbd[_0x1447b1(0xbc)]);_0x15eabc=_0x260a76[_0x1447b1(0xe7)],console[_0x1447b1(0xec)]('\x20✓');}else{if(_0x54724d['length']===0x1)_0x15eabc=_0x54724d[0x0]['organizationId'],console[_0x1447b1(0xec)]('Using\x20organization:\x20'+_0x54724d[0x0]['name']);else{const _0x48918c=process['stdin']['isTTY']&&process['stdout'][_0x1447b1(0xcb)];if(!_0x48918c)throw new Error('Multiple\x20organizations\x20available\x20but\x20cannot\x20prompt\x20for\x20selection\x20in\x20non-interactive\x20mode.\x0a'+_0x1447b1(0xa5));const {selected:_0xe5ef4c}=await _0x1e81e2['prompt']([{'type':_0x1447b1(0xb3),'name':_0x2a0cc1['gnrAF'],'message':_0x1447b1(0xd5),'choices':_0x54724d[_0x1447b1(0xc4)](_0x45d8a7=>({'name':_0x45d8a7[_0x1447b1(0xd8)],'value':_0x45d8a7[_0x1447b1(0xe7)]}))}]);_0x15eabc=_0xe5ef4c;}}_0x224cbd=await _0x2a0cc1[_0x1447b1(0xe0)](refreshTokenWithOrg,_0x4be735,_0x224cbd['refresh_token'],_0x15eabc);}process[_0x1447b1(0xe5)][_0x1447b1(0xad)](_0x2a0cc1['qYADK']);const _0x3096fd=await _0x2a0cc1['sDZRX'](provisionCliToken,_0x224cbd[_0x1447b1(0xbc)]);return console['log']('\x20✓'),await _0x2a0cc1[_0x1447b1(0xef)](storeToken,_0x3096fd['token']),_0x224cbd['refresh_token']&&await _0x2a0cc1['xSmke'](storeRefreshToken,_0x224cbd[_0x1447b1(0xa8)]),_0x3096fd[_0x1447b1(0xe9)];}function sleep(_0x3372bb){return new Promise(_0x3b3cdc=>setTimeout(_0x3b3cdc,_0x3372bb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x14a834=_0x23d4;function _0x23d4(_0x36d3a1,_0x5961a0){_0x36d3a1=_0x36d3a1-0x1a3;const _0x130a9b=_0x130a();let _0x23d4b0=_0x130a9b[_0x36d3a1];return _0x23d4b0;}(function(_0x58d3fe,_0xf3f01){const _0x3e7236=_0x23d4,_0x168f36=_0x58d3fe();while(!![]){try{const _0x2a307d=parseInt(_0x3e7236(0x1c2))/0x1*(parseInt(_0x3e7236(0x1ad))/0x2)+-parseInt(_0x3e7236(0x1bb))/0x3*(-parseInt(_0x3e7236(0x1c5))/0x4)+parseInt(_0x3e7236(0x1bf))/0x5*(-parseInt(_0x3e7236(0x1b9))/0x6)+parseInt(_0x3e7236(0x1c4))/0x7+parseInt(_0x3e7236(0x1c0))/0x8*(parseInt(_0x3e7236(0x1c3))/0x9)+-parseInt(_0x3e7236(0x1ab))/0xa*(parseInt(_0x3e7236(0x1b5))/0xb)+parseInt(_0x3e7236(0x1b4))/0xc*(-parseInt(_0x3e7236(0x1a6))/0xd);if(_0x2a307d===_0xf3f01)break;else _0x168f36['push'](_0x168f36['shift']());}catch(_0x146edb){_0x168f36['push'](_0x168f36['shift']());}}}(_0x130a,0x21e20));export const ENVIRONMENT_CONFIGS={'prod':{'apiBaseUrl':'https://api.ranger.net','workosClientId':_0x14a834(0x1a9),'aiProxyUrl':'https://ai-proxy-716115358910.us-central1.run.app','mcpAuthUrl':_0x14a834(0x1ba)},'staging':{'apiBaseUrl':_0x14a834(0x1a7),'workosClientId':_0x14a834(0x1b1),'aiProxyUrl':_0x14a834(0x1a8),'mcpAuthUrl':_0x14a834(0x1ac)},'local':{'apiBaseUrl':_0x14a834(0x1b8),'workosClientId':'client_01J9CBYM2DKWV9HM17D95Z540K','aiProxyUrl':_0x14a834(0x1b2),'mcpAuthUrl':'http://localhost:8080/mcp'}};export const DEFAULT_ENVIRONMENT=_0x14a834(0x1a3);export function isValidEnvironment(_0x1c6346){const _0x4f96b5=_0x14a834,_0x39a558={'nanPK':'prod','CVPgs':_0x4f96b5(0x1b3)};return _0x1c6346===_0x39a558[_0x4f96b5(0x1ae)]||_0x1c6346===_0x39a558['CVPgs']||_0x1c6346===_0x4f96b5(0x1af);}export function getCurrentEnvironment(){const _0x19a482=_0x14a834,_0x4de62c={'RDwul':function(_0x1b79aa,_0x54be22){return _0x1b79aa(_0x54be22);}},_0x23968f=process[_0x19a482(0x1bc)]['RANGER_CLI_ENV'];if(_0x23968f&&_0x4de62c['RDwul'](isValidEnvironment,_0x23968f))return _0x23968f;return DEFAULT_ENVIRONMENT;}export function getApiBaseUrl(){const _0x5e42b5=_0x14a834,_0x2b68d3={'cgkWf':function(_0x3d7c4d){return _0x3d7c4d();}};return ENVIRONMENT_CONFIGS[_0x2b68d3['cgkWf'](getCurrentEnvironment)][_0x5e42b5(0x1a4)];}export function getAiProxyUrl(){const _0x2c6b1b=_0x14a834,_0x243f83={'YzcFZ':function(_0x4b1d09){return _0x4b1d09();}};return ENVIRONMENT_CONFIGS[_0x243f83[_0x2c6b1b(0x1b6)](getCurrentEnvironment)]['aiProxyUrl'];}export function getMcpAuthUrl(){const _0x3f9723=_0x14a834;return process[_0x3f9723(0x1bc)]['RANGER_MCP_AUTH_URL']??ENVIRONMENT_CONFIGS[getCurrentEnvironment()][_0x3f9723(0x1a5)];}export function isByokEnabled(){const _0x2f2131=_0x14a834,_0xa36529={'TBAvp':'true'};return process[_0x2f2131(0x1bc)][_0x2f2131(0x1b0)]===_0xa36529[_0x2f2131(0x1b7)];}export function isMcpDisabled(){const _0xb5b6cd=_0x14a834;return process[_0xb5b6cd(0x1bc)][_0xb5b6cd(0x1aa)]===_0xb5b6cd(0x1c1);}export function getVerificationTransport(){const _0x5824c6=_0x14a834,_0x3c41c8={'oGvZr':function(_0xdab284){return _0xdab284();},'rDPKO':'playwright-cli','ILiHF':_0x5824c6(0x1bd)};return _0x3c41c8['oGvZr'](isMcpDisabled)?_0x3c41c8['rDPKO']:_0x3c41c8[_0x5824c6(0x1be)];}function _0x130a(){const _0x4a8af4=['ILiHF','5RfiIdd','227864IlXAby','true','6869gpgEpy','81eztnoS','1804558iuuDIG','4IJuDMl','prod','apiBaseUrl','mcpAuthUrl','175123EdhwEs','https://api.staging.ranger.net','https://ai-proxy-301751771437.us-central1.run.app','client_01J9CBYM7M5ZETCF7G6614DXR2','RANGER_DISABLE_MCP','10IBcJhZ','https://mcp-auth.staging.ranger.net/mcp','10kWxoWf','nanPK','local','RANGER_BYOK','client_01J9CBYM2DKWV9HM17D95Z540K','http://localhost:8090','staging','228AQkktW','2746161mMkZhg','YzcFZ','TBAvp','http://localhost:8080','383046Rkpkct','https://mcp-auth.ranger.net/mcp','479217Yisrkh','env','mcp'];_0x130a=function(){return _0x4a8af4;};return _0x130a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x4fc85f,_0x31da40){const _0x35bff2=_0x369a,_0x24a0b1=_0x4fc85f();while(!![]){try{const _0x18958c=parseInt(_0x35bff2(0xb8))/0x1+-parseInt(_0x35bff2(0xd5))/0x2*(-parseInt(_0x35bff2(0xba))/0x3)+parseInt(_0x35bff2(0xf4))/0x4*(parseInt(_0x35bff2(0xef))/0x5)+parseInt(_0x35bff2(0xd2))/0x6+-parseInt(_0x35bff2(0xeb))/0x7*(parseInt(_0x35bff2(0xd8))/0x8)+parseInt(_0x35bff2(0xbd))/0x9+-parseInt(_0x35bff2(0xc1))/0xa;if(_0x18958c===_0x31da40)break;else _0x24a0b1['push'](_0x24a0b1['shift']());}catch(_0x1fabb7){_0x24a0b1['push'](_0x24a0b1['shift']());}}}(_0x8aa9,0x3bf49));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x518e25){const _0xf739be=_0x369a,_0x1f7ab6={'CUwyH':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','jAPDK':function(_0x422f07){return _0x422f07();},'oYLda':function(_0x5ba93f,_0x4a9087,_0x594a28){return _0x5ba93f(_0x4a9087,_0x594a28);},'MKmkY':'application/json','JOtmU':function(_0x520d83,_0x4df333){return _0x520d83===_0x4df333;},'UMzNP':'https://dashboard.ranger.net/billing','UTygo':_0xf739be(0xe4)},_0x5183da=await getToken();if(!_0x5183da)throw new Error(_0x1f7ab6['CUwyH']);const _0x4af579=_0x1f7ab6['jAPDK'](getApiBaseUrl),_0x1c4b51=await _0x1f7ab6['oYLda'](fetch,_0x4af579+'/api/v1/mcp/features',{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x5183da,'Content-Type':_0x1f7ab6['MKmkY']},'body':JSON[_0xf739be(0xdf)](_0x518e25)});if(!_0x1c4b51['ok']){if(_0x1f7ab6['JOtmU'](_0x1c4b51['status'],0x192)){const _0x5262bf=await _0x1c4b51[_0xf739be(0xbe)](),_0x386839=_0x5262bf['billingUrl']||_0x1f7ab6['UMzNP'];throw new Error((_0x5262bf['message']||_0x1f7ab6['UTygo'])+_0xf739be(0xe7)+_0x386839);}const _0x1e2cf5=await _0x1c4b51['text']();throw new Error(_0xf739be(0xd3)+_0x1e2cf5);}return _0x1c4b51[_0xf739be(0xbe)]();}export async function listFeatures(_0x593029){const _0x2a7f56=_0x369a,_0x2d4b84={'bqmqQ':function(_0x275c1c){return _0x275c1c();},'lkKvm':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','gGDbB':_0x2a7f56(0xb5),'apaTs':_0x2a7f56(0xb6),'IAPUH':_0x2a7f56(0xe6),'SIKiR':_0x2a7f56(0xe0),'DFvnV':function(_0x259dc1,_0x299524,_0x4fab9b){return _0x259dc1(_0x299524,_0x4fab9b);}},_0x3760e6=await _0x2d4b84[_0x2a7f56(0xc0)](getToken);if(!_0x3760e6)throw new Error(_0x2d4b84[_0x2a7f56(0xec)]);const _0x3ed50c=getApiBaseUrl(),_0x2c6962=new URLSearchParams();if(_0x593029?.[_0x2a7f56(0xd7)])_0x2c6962['set']('gitRepoUrl',_0x593029[_0x2a7f56(0xd7)]);if(_0x593029?.['gitBranch'])_0x2c6962['set'](_0x2d4b84['gGDbB'],_0x593029['gitBranch']);if(_0x593029?.[_0x2a7f56(0xb9)])_0x2c6962[_0x2a7f56(0xcb)](_0x2a7f56(0xb9),_0x593029['limit'][_0x2a7f56(0xb7)]());if(_0x593029?.['offset'])_0x2c6962[_0x2a7f56(0xcb)](_0x2d4b84[_0x2a7f56(0xe1)],_0x593029[_0x2a7f56(0xb6)][_0x2a7f56(0xb7)]());if(_0x593029?.[_0x2a7f56(0xe6)])_0x2c6962['set'](_0x2d4b84[_0x2a7f56(0xde)],_0x2d4b84['SIKiR']);const _0x3ec18d=_0x3ed50c+'/api/v1/mcp/features'+(_0x2c6962['toString']()?'?'+_0x2c6962['toString']():''),_0x4812a7=await _0x2d4b84[_0x2a7f56(0xea)](fetch,_0x3ec18d,{'method':_0x2a7f56(0xe8),'headers':{'Authorization':_0x2a7f56(0xd1)+_0x3760e6}});if(!_0x4812a7['ok']){const _0x4ddc96=await _0x4812a7[_0x2a7f56(0xc2)]();throw new Error(_0x2a7f56(0xf6)+_0x4ddc96);}return _0x4812a7['json']();}export async function getFeature(_0x14156d){const _0x4c208f=_0x369a,_0x20234e={'dywmV':function(_0x60b673){return _0x60b673();},'rdLwr':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x24cf7d=await _0x20234e[_0x4c208f(0xdc)](getToken);if(!_0x24cf7d)throw new Error(_0x20234e['rdLwr']);const _0x1ba3d6=_0x20234e[_0x4c208f(0xdc)](getApiBaseUrl),_0x2b4ca9=await fetch(_0x1ba3d6+_0x4c208f(0xcf)+_0x14156d,{'method':_0x4c208f(0xe8),'headers':{'Authorization':'Bearer\x20'+_0x24cf7d}});if(!_0x2b4ca9['ok']){const _0x1935b2=await _0x2b4ca9['text']();throw new Error('Failed\x20to\x20get\x20feature\x20review:\x20'+_0x1935b2);}return _0x2b4ca9[_0x4c208f(0xbe)]();}export async function updateFeature(_0x1c39d9,_0x13f26b){const _0x514cec=_0x369a,_0x2a8b8e={'XmSIC':function(_0x4f9f17){return _0x4f9f17();},'PEFJE':function(_0x188abb){return _0x188abb();}},_0x281d03=await _0x2a8b8e['XmSIC'](getToken);if(!_0x281d03)throw new Error(_0x514cec(0xd6));const _0x1ef68a=_0x2a8b8e[_0x514cec(0xc9)](getApiBaseUrl),_0x432e88=await fetch(_0x1ef68a+_0x514cec(0xcf)+_0x1c39d9,{'method':'PATCH','headers':{'Authorization':'Bearer\x20'+_0x281d03,'Content-Type':'application/json'},'body':JSON[_0x514cec(0xdf)](_0x13f26b)});if(!_0x432e88['ok']){const _0x507adb=await _0x432e88['text']();throw new Error(_0x514cec(0xc5)+_0x507adb);}return _0x432e88[_0x514cec(0xbe)]();}export async function createChecklistItem(_0x17a872,_0x146423,_0x41bcc7){const _0x11af49=_0x369a,_0x5c7c8f={'nrxFv':function(_0x4c3c09){return _0x4c3c09();},'XtGHG':'application/json'},_0x56de78=await getToken();if(!_0x56de78)throw new Error(_0x11af49(0xd6));const _0x2f4666=_0x5c7c8f[_0x11af49(0xd0)](getApiBaseUrl),_0x2c8825=await fetch(_0x2f4666+_0x11af49(0xcf)+_0x17a872+_0x11af49(0xe9),{'method':_0x11af49(0xf8),'headers':{'Authorization':_0x11af49(0xd1)+_0x56de78,'Content-Type':_0x5c7c8f['XtGHG']},'body':JSON[_0x11af49(0xdf)]({'description':_0x146423,'position':_0x41bcc7})});if(!_0x2c8825['ok']){const _0x310b0b=await _0x2c8825['text']();throw new Error(_0x11af49(0xed)+_0x310b0b);}return _0x2c8825['json']();}export async function updateChecklistItem(_0x3e02f8,_0x2d9377,_0x4c9f34){const _0x5ac179={'xfoAH':function(_0x3363be,_0xa6808a,_0x52d020){return _0x3363be(_0xa6808a,_0x52d020);},'WOKdB':'PATCH'};return withRetry(async()=>{const _0x4316c4=_0x369a,_0x5c6398=await getToken();if(!_0x5c6398)throw new Error(_0x4316c4(0xd6));const _0x211a81=getApiBaseUrl(),_0x43a4be=await _0x5ac179[_0x4316c4(0xce)](fetch,_0x211a81+'/api/v1/mcp/features/'+_0x3e02f8+'/checklist/'+_0x2d9377,{'method':_0x5ac179['WOKdB'],'headers':{'Authorization':'Bearer\x20'+_0x5c6398,'Content-Type':_0x4316c4(0xee)},'body':JSON['stringify'](_0x4c9f34)});if(!_0x43a4be['ok']){const _0x3917c4=await _0x43a4be[_0x4316c4(0xc2)]();throw new Error('Failed\x20to\x20update\x20scenario:\x20'+_0x3917c4);}return _0x43a4be[_0x4316c4(0xbe)]();},{'label':'updateChecklistItem'});}function _0x369a(_0x4d7183,_0x567ca7){_0x4d7183=_0x4d7183-0xb4;const _0x8aa99d=_0x8aa9();let _0x369ab4=_0x8aa99d[_0x4d7183];return _0x369ab4;}export async function getFeatureReport(_0x3963ae){const _0x3f0e60=_0x369a,_0x26eb19=await getToken();if(!_0x26eb19)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x39b6a6=getApiBaseUrl(),_0x4bbdf2=await fetch(_0x39b6a6+'/api/v1/mcp/features/'+_0x3963ae+_0x3f0e60(0xf5),{'method':'GET','headers':{'Authorization':_0x3f0e60(0xd1)+_0x26eb19}});if(!_0x4bbdf2['ok']){const _0xc1a49a=await _0x4bbdf2['text']();throw new Error(_0x3f0e60(0xdd)+_0xc1a49a);}return _0x4bbdf2['json']();}export async function getFeatureReportMarkdown(_0x15fab5,_0xdbd9a6){const _0x561dd2=_0x369a,_0x547650={'EmeiZ':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','ejBxG':function(_0x1e1d0f){return _0x1e1d0f();},'DzzCN':function(_0x41338c,_0xc6e172){return _0x41338c>_0xc6e172;},'AAIEo':_0x561dd2(0xda),'LYNvs':_0x561dd2(0xd9),'shrvj':function(_0x2bd172,_0x563775){return _0x2bd172&&_0x563775;},'xyvVS':_0x561dd2(0xe8)},_0x26f4cd=await getToken();if(!_0x26f4cd)throw new Error(_0x547650['EmeiZ']);const _0xcbe631=_0x547650['ejBxG'](getApiBaseUrl),_0x7724ee=new URLSearchParams(),_0x9d1e9b=_0x547650[_0x561dd2(0xe5)](_0xdbd9a6?.['itemIds']?.['length']??0x0,0x0),_0x5ab3da=Boolean(_0xdbd9a6?.[_0x561dd2(0xd9)]);_0x9d1e9b&&_0xdbd9a6?.['itemIds']&&_0x7724ee['set'](_0x547650['AAIEo'],_0xdbd9a6['itemIds'][_0x561dd2(0xb4)](','));_0x5ab3da&&_0xdbd9a6?.[_0x561dd2(0xd9)]&&_0x7724ee['set'](_0x547650['LYNvs'],_0xdbd9a6['sessionId']);_0x547650[_0x561dd2(0xc4)](!_0x9d1e9b,!_0x5ab3da)&&_0xdbd9a6?.['style']&&_0x7724ee['set'](_0x561dd2(0xdb),_0xdbd9a6['style']);const _0xd1911b=_0xcbe631+_0x561dd2(0xcf)+_0x15fab5+'/report/markdown',_0x5548c0=''+_0xd1911b+(_0x7724ee['toString']()?'?'+_0x7724ee['toString']():''),_0x48a807=await fetch(_0x5548c0,{'method':_0x547650['xyvVS'],'headers':{'Authorization':'Bearer\x20'+_0x26f4cd}});if(!_0x48a807['ok']){const _0x1fd367=await _0x48a807[_0x561dd2(0xc2)]();throw new Error(_0x561dd2(0xcd)+_0x1fd367);}return _0x48a807[_0x561dd2(0xc2)]();}export async function listFeatureSessions(_0x424306){const _0x58d1a9=_0x369a,_0x40e10c={'bhFOW':function(_0x23be6e){return _0x23be6e();},'eoZcX':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]'},_0x42cb30=await _0x40e10c['bhFOW'](getToken);if(!_0x42cb30)throw new Error(_0x40e10c[_0x58d1a9(0xf0)]);const _0x402836=getApiBaseUrl(),_0x453a66=await fetch(_0x402836+_0x58d1a9(0xcf)+_0x424306+_0x58d1a9(0xe2),{'method':'GET','headers':{'Authorization':_0x58d1a9(0xd1)+_0x42cb30}});if(!_0x453a66['ok']){const _0x47030e=await _0x453a66['text']();throw new Error('Failed\x20to\x20list\x20sessions:\x20'+_0x47030e);}return _0x453a66['json']();}export async function startSession(_0x47dc56,_0x3f9bd1){const _0xc1f96d=_0x369a,_0x142bb2={'VSXPe':_0xc1f96d(0xd6)},_0x4af65b=await getToken();if(!_0x4af65b)throw new Error(_0x142bb2[_0xc1f96d(0xca)]);const _0x1afb77=getApiBaseUrl(),_0x2a3081=await fetch(_0x1afb77+'/api/v1/mcp/features/'+_0x47dc56+'/sessions/'+_0x3f9bd1+'/start',{'method':'POST','headers':{'Authorization':_0xc1f96d(0xd1)+_0x4af65b}});if(!_0x2a3081['ok']){const _0x2f4e59=await _0x2a3081['text']();throw new Error('Failed\x20to\x20start\x20session:\x20'+_0x2f4e59);}return _0x2a3081['json']();}export async function concludeSession(_0x41643c,_0x20e632){const _0xf1f7de=_0x369a,_0x3711b5={'xSFVe':function(_0x2e90fd){return _0x2e90fd();},'RVKCn':_0xf1f7de(0xd6),'ZlEIh':function(_0x385e0e,_0x2f09fc,_0x1ca193){return _0x385e0e(_0x2f09fc,_0x1ca193);},'XYdWX':'POST'},_0x4d8c6b=await _0x3711b5['xSFVe'](getToken);if(!_0x4d8c6b)throw new Error(_0x3711b5[_0xf1f7de(0xbb)]);const _0x10e559=_0x3711b5[_0xf1f7de(0xc6)](getApiBaseUrl),_0x54c33c=await _0x3711b5['ZlEIh'](fetch,_0x10e559+'/api/v1/mcp/features/'+_0x41643c+_0xf1f7de(0xe3)+_0x20e632+'/conclude',{'method':_0x3711b5[_0xf1f7de(0xbc)],'headers':{'Authorization':'Bearer\x20'+_0x4d8c6b}});if(!_0x54c33c['ok']){const _0x4084f0=await _0x54c33c[_0xf1f7de(0xc2)]();throw new Error(_0xf1f7de(0xc3)+_0x4084f0);}return _0x54c33c[_0xf1f7de(0xbe)]();}export async function getActionItems(_0x113757){const _0x53c01f=_0x369a,_0xa8bed2={'AfVBg':function(_0x33299a){return _0x33299a();},'FiajW':function(_0x5baef2,_0x12f6a3,_0x306807){return _0x5baef2(_0x12f6a3,_0x306807);}},_0xa5d668=await _0xa8bed2['AfVBg'](getToken);if(!_0xa5d668)throw new Error(_0x53c01f(0xd6));const _0x345450=getApiBaseUrl(),_0x20cc83=await _0xa8bed2[_0x53c01f(0xf3)](fetch,_0x345450+'/api/v1/mcp/features/'+_0x113757+'/action-items',{'method':_0x53c01f(0xe8),'headers':{'Authorization':_0x53c01f(0xd1)+_0xa5d668}});if(!_0x20cc83['ok']){const _0x44abe1=await _0x20cc83['text']();throw new Error(_0x53c01f(0xc7)+_0x44abe1);}return _0x20cc83['json']();}export async function getItemFeedback(_0x332fb4,_0x4f4bcd){const _0x5114a4=_0x369a,_0x23c737={'bWlcM':function(_0x336c44){return _0x336c44();},'oKOZU':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','JiYok':function(_0x279e74,_0x43267e,_0x3aad88){return _0x279e74(_0x43267e,_0x3aad88);}},_0x9b5b31=await _0x23c737['bWlcM'](getToken);if(!_0x9b5b31)throw new Error(_0x23c737[_0x5114a4(0xc8)]);const _0x31f3f5=getApiBaseUrl(),_0x10fda7=await _0x23c737[_0x5114a4(0xf7)](fetch,_0x31f3f5+_0x5114a4(0xcf)+_0x332fb4+'/checklist-items/'+_0x4f4bcd+'/feedback',{'method':_0x5114a4(0xe8),'headers':{'Authorization':_0x5114a4(0xd1)+_0x9b5b31}});if(!_0x10fda7['ok']){const _0x5bf6f2=await _0x10fda7[_0x5114a4(0xc2)]();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x5bf6f2);}return _0x10fda7[_0x5114a4(0xbe)]();}export async function markCommentsAddressed(_0x208ea2,_0x5f2c98,_0x555b15){const _0x14f8aa=_0x369a,_0x572ea8={'pUavn':function(_0x165d29){return _0x165d29();},'sqLTq':function(_0x2dce09){return _0x2dce09();},'uwMlx':function(_0x1d346e,_0x3f8ba2,_0x475314){return _0x1d346e(_0x3f8ba2,_0x475314);},'WJvnV':_0x14f8aa(0xf8)},_0x34e4b6=await _0x572ea8['pUavn'](getToken);if(!_0x34e4b6)throw new Error(_0x14f8aa(0xd6));const _0x29f886=_0x572ea8[_0x14f8aa(0xf2)](getApiBaseUrl),_0x2ebeea=await _0x572ea8[_0x14f8aa(0xbf)](fetch,_0x29f886+_0x14f8aa(0xcf)+_0x208ea2+_0x14f8aa(0xd4),{'method':_0x572ea8['WJvnV'],'headers':{'Authorization':_0x14f8aa(0xd1)+_0x34e4b6,'Content-Type':_0x14f8aa(0xee)},'body':JSON['stringify']({'checklistItemId':_0x5f2c98,'commentIds':_0x555b15})});if(!_0x2ebeea['ok']){const _0x57422=await _0x2ebeea[_0x14f8aa(0xc2)]();throw new Error('Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20'+_0x57422);}}function _0x8aa9(){const _0x72b668=['application/json','15jVaNpT','eoZcX','Failed\x20to\x20delete\x20feature\x20review:\x20','sqLTq','FiajW','379244lStphC','/report','Failed\x20to\x20list\x20feature\x20reviews:\x20','JiYok','POST','join','gitBranch','offset','toString','99107PGCzhf','limit','9606LVFEQw','RVKCn','XYdWX','990216cWVacY','json','uwMlx','bqmqQ','7536290tPRiLM','text','Failed\x20to\x20conclude\x20session:\x20','shrvj','Failed\x20to\x20update\x20feature\x20review:\x20','xSFVe','Failed\x20to\x20get\x20action\x20items:\x20','oKOZU','PEFJE','VSXPe','set','Failed\x20to\x20restore\x20feature\x20review:\x20','Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20','xfoAH','/api/v1/mcp/features/','nrxFv','Bearer\x20','1815360xQYinq','Failed\x20to\x20create\x20feature\x20review:\x20','/comments/address','178XxByjC','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','gitRepoUrl','327584cnBKtP','sessionId','itemIds','style','dywmV','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','IAPUH','stringify','true','apaTs','/sessions','/sessions/','Feature\x20limit\x20exceeded','DzzCN','includeDeleted','\x0a\x0aUpgrade\x20your\x20plan:\x20','GET','/checklist','DFvnV','14Hrkzps','lkKvm','Failed\x20to\x20create\x20scenario:\x20'];_0x8aa9=function(){return _0x72b668;};return _0x8aa9();}export async function softDeleteFeature(_0x527ed3){const _0x158f90=_0x369a,_0x3b477f={'YyoHF':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','QjZQd':function(_0x34fede,_0x239fa7,_0x144090){return _0x34fede(_0x239fa7,_0x144090);}},_0x4f8223=await getToken();if(!_0x4f8223)throw new Error(_0x3b477f['YyoHF']);const _0x38d018=getApiBaseUrl(),_0x50a59e=await _0x3b477f['QjZQd'](fetch,_0x38d018+'/api/v1/mcp/features/'+_0x527ed3,{'method':'DELETE','headers':{'Authorization':_0x158f90(0xd1)+_0x4f8223}});if(!_0x50a59e['ok']){const _0x48c3e6=await _0x50a59e[_0x158f90(0xc2)]();throw new Error(_0x158f90(0xf1)+_0x48c3e6);}}export async function restoreFeature(_0x1c6c38){const _0x1e62fe=_0x369a,_0x2dbbf7={'GmSob':function(_0x4df20a){return _0x4df20a();},'jSZQX':_0x1e62fe(0xd6),'IdqFq':_0x1e62fe(0xf8)},_0x3c5a21=await _0x2dbbf7['GmSob'](getToken);if(!_0x3c5a21)throw new Error(_0x2dbbf7['jSZQX']);const _0x137239=getApiBaseUrl(),_0x54491a=await fetch(_0x137239+_0x1e62fe(0xcf)+_0x1c6c38+'/restore',{'method':_0x2dbbf7['IdqFq'],'headers':{'Authorization':'Bearer\x20'+_0x3c5a21}});if(!_0x54491a['ok']){const _0xe2f0a9=await _0x54491a[_0x1e62fe(0xc2)]();throw new Error(_0x1e62fe(0xcc)+_0xe2f0a9);}}
|
|
1
|
+
(function(_0x5af0a0,_0x5b1720){const _0x264b48=_0x58d2,_0x269939=_0x5af0a0();while(!![]){try{const _0xb9f631=-parseInt(_0x264b48(0x127))/0x1*(-parseInt(_0x264b48(0xf3))/0x2)+-parseInt(_0x264b48(0x116))/0x3+parseInt(_0x264b48(0x105))/0x4*(-parseInt(_0x264b48(0x119))/0x5)+parseInt(_0x264b48(0x12a))/0x6+-parseInt(_0x264b48(0x118))/0x7+-parseInt(_0x264b48(0x132))/0x8+-parseInt(_0x264b48(0x121))/0x9*(-parseInt(_0x264b48(0x106))/0xa);if(_0xb9f631===_0x5b1720)break;else _0x269939['push'](_0x269939['shift']());}catch(_0x663a74){_0x269939['push'](_0x269939['shift']());}}}(_0x53cc,0xedf75));import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';import{withRetry}from'./retry.js';export async function createFeature(_0x3c1238){const _0x422807=_0x58d2,_0xca0edb={'LcJYe':_0x422807(0xf8),'cOrMX':'Feature\x20limit\x20exceeded'},_0x59280c=await getToken();if(!_0x59280c)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0xc3d6e0=getApiBaseUrl(),_0xdc2e3b=await fetch(_0xc3d6e0+_0x422807(0xff),{'method':_0x422807(0x101),'headers':{'Authorization':_0x422807(0x133)+_0x59280c,'Content-Type':_0x422807(0x108)},'body':JSON[_0x422807(0x117)](_0x3c1238)});if(!_0xdc2e3b['ok']){if(_0xdc2e3b[_0x422807(0x11d)]===0x192){const _0x1f3644=await _0xdc2e3b['json'](),_0x2af343=_0x1f3644[_0x422807(0x130)]||_0xca0edb[_0x422807(0x12e)];throw new Error((_0x1f3644['message']||_0xca0edb['cOrMX'])+'\x0a\x0aUpgrade\x20your\x20plan:\x20'+_0x2af343);}const _0x243597=await _0xdc2e3b[_0x422807(0x10c)]();throw new Error('Failed\x20to\x20create\x20feature\x20review:\x20'+_0x243597);}return _0xdc2e3b[_0x422807(0x110)]();}export async function listFeatures(_0x2c86e7){const _0x2a1231=_0x58d2,_0x2364b4={'fRiPI':_0x2a1231(0xf4),'YgCUh':_0x2a1231(0xf1),'kaAai':'true'},_0x11abf0=await getToken();if(!_0x11abf0)throw new Error(_0x2364b4['fRiPI']);const _0xd4f110=getApiBaseUrl(),_0x2ee25e=new URLSearchParams();if(_0x2c86e7?.['gitRepoUrl'])_0x2ee25e['set']('gitRepoUrl',_0x2c86e7['gitRepoUrl']);if(_0x2c86e7?.['gitBranch'])_0x2ee25e['set']('gitBranch',_0x2c86e7['gitBranch']);if(_0x2c86e7?.['limit'])_0x2ee25e['set'](_0x2364b4['YgCUh'],_0x2c86e7['limit']['toString']());if(_0x2c86e7?.[_0x2a1231(0x135)])_0x2ee25e[_0x2a1231(0x11a)](_0x2a1231(0x135),_0x2c86e7[_0x2a1231(0x135)]['toString']());if(_0x2c86e7?.[_0x2a1231(0x103)])_0x2ee25e['set'](_0x2a1231(0x103),_0x2364b4['kaAai']);const _0x39b3fc=_0xd4f110+'/api/v1/mcp/features'+(_0x2ee25e['toString']()?'?'+_0x2ee25e['toString']():''),_0x98c959=await fetch(_0x39b3fc,{'method':'GET','headers':{'Authorization':_0x2a1231(0x133)+_0x11abf0}});if(!_0x98c959['ok']){const _0x56e15f=await _0x98c959['text']();throw new Error(_0x2a1231(0x11b)+_0x56e15f);}return _0x98c959['json']();}export async function getFeature(_0x29a3eb){const _0x49fa11=_0x58d2,_0x5d2d62={'MKysO':function(_0xf0fb3e){return _0xf0fb3e();},'toFRb':function(_0xd1ee85,_0x51c229,_0x3e8839){return _0xd1ee85(_0x51c229,_0x3e8839);},'prFfK':'GET'},_0xb5398b=await _0x5d2d62['MKysO'](getToken);if(!_0xb5398b)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x2b609f=_0x5d2d62['MKysO'](getApiBaseUrl),_0x1bd491=await _0x5d2d62[_0x49fa11(0x113)](fetch,_0x2b609f+'/api/v1/mcp/features/'+_0x29a3eb,{'method':_0x5d2d62[_0x49fa11(0x10f)],'headers':{'Authorization':_0x49fa11(0x133)+_0xb5398b}});if(!_0x1bd491['ok']){const _0x35f937=await _0x1bd491['text']();throw new Error(_0x49fa11(0xf6)+_0x35f937);}return _0x1bd491[_0x49fa11(0x110)]();}export async function updateFeature(_0x1c1119,_0x9ded7c){const _0x2af835=_0x58d2,_0x1b3c86={'ImzBT':_0x2af835(0xf4),'yfQQt':_0x2af835(0xfc)},_0x4d4606=await getToken();if(!_0x4d4606)throw new Error(_0x1b3c86[_0x2af835(0x12f)]);const _0x4083dc=getApiBaseUrl(),_0xc88470=await fetch(_0x4083dc+_0x2af835(0x126)+_0x1c1119,{'method':_0x1b3c86[_0x2af835(0x104)],'headers':{'Authorization':'Bearer\x20'+_0x4d4606,'Content-Type':'application/json'},'body':JSON['stringify'](_0x9ded7c)});if(!_0xc88470['ok']){const _0x3e9801=await _0xc88470['text']();throw new Error(_0x2af835(0xf0)+_0x3e9801);}return _0xc88470[_0x2af835(0x110)]();}export async function createChecklistItem(_0x3b8925,_0x3884b6,_0x5523b5){const _0x41cc18=_0x58d2,_0x17ac6e={'hmvsM':function(_0x27f6d2){return _0x27f6d2();},'rIjhZ':function(_0x3b98d9,_0x12bec1,_0x4611c3){return _0x3b98d9(_0x12bec1,_0x4611c3);}},_0x44977d=await _0x17ac6e['hmvsM'](getToken);if(!_0x44977d)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x50b034=getApiBaseUrl(),_0x58b707=await _0x17ac6e[_0x41cc18(0x125)](fetch,_0x50b034+'/api/v1/mcp/features/'+_0x3b8925+'/checklist',{'method':_0x41cc18(0x101),'headers':{'Authorization':'Bearer\x20'+_0x44977d,'Content-Type':'application/json'},'body':JSON[_0x41cc18(0x117)]({'description':_0x3884b6,'position':_0x5523b5})});if(!_0x58b707['ok']){const _0x4d758d=await _0x58b707[_0x41cc18(0x10c)]();throw new Error(_0x41cc18(0x11f)+_0x4d758d);}return _0x58b707['json']();}export async function updateChecklistItem(_0xff2bc5,_0x4636d8,_0x2a0e9c){const _0x3cceab=_0x58d2,_0x144fdd={'vQZXr':function(_0x47347b){return _0x47347b();},'uEdlU':_0x3cceab(0x108),'hjUcf':function(_0x9f9059,_0x7bea90,_0xf9c258){return _0x9f9059(_0x7bea90,_0xf9c258);}};return _0x144fdd['hjUcf'](withRetry,async()=>{const _0x277b30=_0x3cceab,_0xd4b288=await getToken();if(!_0xd4b288)throw new Error(_0x277b30(0xf4));const _0xf79626=_0x144fdd['vQZXr'](getApiBaseUrl),_0x122fc8=await fetch(_0xf79626+_0x277b30(0x126)+_0xff2bc5+'/checklist/'+_0x4636d8,{'method':'PATCH','headers':{'Authorization':_0x277b30(0x133)+_0xd4b288,'Content-Type':_0x144fdd['uEdlU']},'body':JSON[_0x277b30(0x117)](_0x2a0e9c)});if(!_0x122fc8['ok']){const _0x5563bd=await _0x122fc8[_0x277b30(0x10c)]();throw new Error(_0x277b30(0x10e)+_0x5563bd);}return _0x122fc8[_0x277b30(0x110)]();},{'label':'updateChecklistItem'});}export async function getFeatureReport(_0x23eb91){const _0x31ed4e=_0x58d2,_0x54a707={'VWiwF':function(_0x5ecfb6,_0x2ee7ea,_0x486927){return _0x5ecfb6(_0x2ee7ea,_0x486927);}},_0x10924f=await getToken();if(!_0x10924f)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x28efde=getApiBaseUrl(),_0x4f49f9=await _0x54a707[_0x31ed4e(0x114)](fetch,_0x28efde+'/api/v1/mcp/features/'+_0x23eb91+_0x31ed4e(0x109),{'method':'GET','headers':{'Authorization':_0x31ed4e(0x133)+_0x10924f}});if(!_0x4f49f9['ok']){const _0x5e2d42=await _0x4f49f9[_0x31ed4e(0x10c)]();throw new Error(_0x31ed4e(0x12b)+_0x5e2d42);}return _0x4f49f9['json']();}export async function getFeatureReportMarkdown(_0x36dd23,_0x48dd01){const _0x1a617a=_0x58d2,_0x484c86={'wRvUc':function(_0x495a38,_0xd00314){return _0x495a38(_0xd00314);},'jODDT':'itemIds','pUXhb':function(_0x177642,_0x4b338e,_0x9acc56){return _0x177642(_0x4b338e,_0x9acc56);},'GxaJb':'GET'},_0xd756db=await getToken();if(!_0xd756db)throw new Error(_0x1a617a(0xf4));const _0x3fe4a6=getApiBaseUrl(),_0x3bf5e4=new URLSearchParams(),_0x16adea=(_0x48dd01?.['itemIds']?.['length']??0x0)>0x0,_0x3f5bbb=_0x484c86['wRvUc'](Boolean,_0x48dd01?.['sessionId']);_0x16adea&&_0x48dd01?.[_0x1a617a(0x136)]&&_0x3bf5e4['set'](_0x484c86['jODDT'],_0x48dd01['itemIds']['join'](','));_0x3f5bbb&&_0x48dd01?.['sessionId']&&_0x3bf5e4['set'](_0x1a617a(0x128),_0x48dd01['sessionId']);!_0x16adea&&!_0x3f5bbb&&_0x48dd01?.['style']&&_0x3bf5e4['set'](_0x1a617a(0x123),_0x48dd01[_0x1a617a(0x123)]);const _0x4fbdc3=_0x3fe4a6+_0x1a617a(0x126)+_0x36dd23+_0x1a617a(0x10d),_0x116072=''+_0x4fbdc3+(_0x3bf5e4[_0x1a617a(0xfa)]()?'?'+_0x3bf5e4['toString']():''),_0x56c224=await _0x484c86['pUXhb'](fetch,_0x116072,{'method':_0x484c86[_0x1a617a(0x12d)],'headers':{'Authorization':_0x1a617a(0x133)+_0xd756db}});if(!_0x56c224['ok']){const _0x27c954=await _0x56c224[_0x1a617a(0x10c)]();throw new Error('Failed\x20to\x20get\x20feature\x20review\x20report\x20markdown:\x20'+_0x27c954);}return _0x56c224['text']();}function _0x53cc(){const _0x5107ce=['PATCH','DELETE','/conclude','/api/v1/mcp/features','jofAs','POST','Failed\x20to\x20conclude\x20session:\x20','includeDeleted','yfQQt','5624HSxFtv','2620TQPrIR','/feedback','application/json','/report','/sessions','xTXrx','text','/report/markdown','Failed\x20to\x20update\x20scenario:\x20','prFfK','json','Failed\x20to\x20list\x20sessions:\x20','GET','toFRb','VWiwF','jAmwo','5474313UbQKju','stringify','12878271wMnYGW','1455KznZRS','set','Failed\x20to\x20list\x20feature\x20reviews:\x20','/sessions/','status','FYrpt','Failed\x20to\x20create\x20scenario:\x20','ReGQj','196929IgxBzK','/comments/address','style','Failed\x20to\x20mark\x20comments\x20as\x20addressed:\x20','rIjhZ','/api/v1/mcp/features/','214ADtMVg','sessionId','sypwE','58272TPFixk','Failed\x20to\x20get\x20feature\x20review\x20report:\x20','nOXZG','GxaJb','LcJYe','ImzBT','billingUrl','Failed\x20to\x20get\x20action\x20items:\x20','15190088yWtEtd','Bearer\x20','/checklist-items/','offset','itemIds','Failed\x20to\x20update\x20feature\x20review:\x20','limit','hcgqv','11258cwjKft','No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','Failed\x20to\x20start\x20session:\x20','Failed\x20to\x20get\x20feature\x20review:\x20','VkNtI','https://dashboard.ranger.net/billing','cJByp','toString','hLXPX'];_0x53cc=function(){return _0x5107ce;};return _0x53cc();}export async function listFeatureSessions(_0x5dd16f){const _0x32d779=_0x58d2,_0x5e9a2b={'VkNtI':function(_0x2211b2,_0x501cd5,_0x381a01){return _0x2211b2(_0x501cd5,_0x381a01);},'isDkK':_0x32d779(0x112)},_0x36bd78=await getToken();if(!_0x36bd78)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x471b21=getApiBaseUrl(),_0x525b54=await _0x5e9a2b[_0x32d779(0xf7)](fetch,_0x471b21+_0x32d779(0x126)+_0x5dd16f+_0x32d779(0x10a),{'method':_0x5e9a2b['isDkK'],'headers':{'Authorization':_0x32d779(0x133)+_0x36bd78}});if(!_0x525b54['ok']){const _0x26d230=await _0x525b54[_0x32d779(0x10c)]();throw new Error(_0x32d779(0x111)+_0x26d230);}return _0x525b54['json']();}export async function startSession(_0x5e8494,_0x5c06a5){const _0x4e78da=_0x58d2,_0x5df1de={'hcgqv':function(_0x391e5e){return _0x391e5e();},'jofAs':_0x4e78da(0xf4),'hLXPX':'POST'},_0x15dd96=await _0x5df1de[_0x4e78da(0xf2)](getToken);if(!_0x15dd96)throw new Error(_0x5df1de[_0x4e78da(0x100)]);const _0x10d170=getApiBaseUrl(),_0x2aea6a=await fetch(_0x10d170+'/api/v1/mcp/features/'+_0x5e8494+_0x4e78da(0x11c)+_0x5c06a5+'/start',{'method':_0x5df1de[_0x4e78da(0xfb)],'headers':{'Authorization':_0x4e78da(0x133)+_0x15dd96}});if(!_0x2aea6a['ok']){const _0xfca7a=await _0x2aea6a[_0x4e78da(0x10c)]();throw new Error(_0x4e78da(0xf5)+_0xfca7a);}return _0x2aea6a['json']();}export async function concludeSession(_0x545b89,_0x365c4a){const _0x38eb89=_0x58d2,_0x3e4883={'xTXrx':function(_0x124247,_0x1efc5f,_0x4d6857){return _0x124247(_0x1efc5f,_0x4d6857);}},_0x16d3e3=await getToken();if(!_0x16d3e3)throw new Error(_0x38eb89(0xf4));const _0x13c2ac=getApiBaseUrl(),_0x206ea9=await _0x3e4883[_0x38eb89(0x10b)](fetch,_0x13c2ac+_0x38eb89(0x126)+_0x545b89+'/sessions/'+_0x365c4a+_0x38eb89(0xfe),{'method':_0x38eb89(0x101),'headers':{'Authorization':'Bearer\x20'+_0x16d3e3}});if(!_0x206ea9['ok']){const _0x2d3980=await _0x206ea9['text']();throw new Error(_0x38eb89(0x102)+_0x2d3980);}return _0x206ea9['json']();}export async function getActionItems(_0x3ebf95){const _0x550bef=_0x58d2,_0x316dc0={'uWIHM':function(_0x369ab6){return _0x369ab6();},'ReGQj':function(_0x2c1a02,_0x2cc01b,_0x2f5ff1){return _0x2c1a02(_0x2cc01b,_0x2f5ff1);}},_0x256c74=await getToken();if(!_0x256c74)throw new Error(_0x550bef(0xf4));const _0x2bdaad=_0x316dc0['uWIHM'](getApiBaseUrl),_0x3947a7=await _0x316dc0[_0x550bef(0x120)](fetch,_0x2bdaad+'/api/v1/mcp/features/'+_0x3ebf95+'/action-items',{'method':'GET','headers':{'Authorization':'Bearer\x20'+_0x256c74}});if(!_0x3947a7['ok']){const _0x1491d4=await _0x3947a7[_0x550bef(0x10c)]();throw new Error(_0x550bef(0x131)+_0x1491d4);}return _0x3947a7[_0x550bef(0x110)]();}function _0x58d2(_0x185f17,_0x15cac9){_0x185f17=_0x185f17-0xf0;const _0x53ccbf=_0x53cc();let _0x58d22f=_0x53ccbf[_0x185f17];return _0x58d22f;}export async function getItemFeedback(_0x108344,_0x5b04ea){const _0x2d5a25=_0x58d2,_0x3c2826={'cJByp':function(_0x28956d){return _0x28956d();},'OYbdL':_0x2d5a25(0xf4),'bGYgN':function(_0x298f6e,_0x54ea0e,_0x3d8703){return _0x298f6e(_0x54ea0e,_0x3d8703);},'nOXZG':_0x2d5a25(0x112)},_0x5804eb=await _0x3c2826[_0x2d5a25(0xf9)](getToken);if(!_0x5804eb)throw new Error(_0x3c2826['OYbdL']);const _0x6ba4b2=getApiBaseUrl(),_0x3972e3=await _0x3c2826['bGYgN'](fetch,_0x6ba4b2+'/api/v1/mcp/features/'+_0x108344+_0x2d5a25(0x134)+_0x5b04ea+_0x2d5a25(0x107),{'method':_0x3c2826[_0x2d5a25(0x12c)],'headers':{'Authorization':'Bearer\x20'+_0x5804eb}});if(!_0x3972e3['ok']){const _0x17ae40=await _0x3972e3['text']();throw new Error('Failed\x20to\x20get\x20item\x20feedback:\x20'+_0x17ae40);}return _0x3972e3['json']();}export async function markCommentsAddressed(_0x31d5fe,_0x725bc3,_0x4c86e6){const _0x47bb80=_0x58d2,_0x45c1cb={'xsHNE':function(_0x39c244,_0x52e61b,_0x3ec40f){return _0x39c244(_0x52e61b,_0x3ec40f);}},_0x3fa31c=await getToken();if(!_0x3fa31c)throw new Error('No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]');const _0x12ef3c=getApiBaseUrl(),_0x1560a7=await _0x45c1cb['xsHNE'](fetch,_0x12ef3c+_0x47bb80(0x126)+_0x31d5fe+_0x47bb80(0x122),{'method':'POST','headers':{'Authorization':_0x47bb80(0x133)+_0x3fa31c,'Content-Type':_0x47bb80(0x108)},'body':JSON['stringify']({'checklistItemId':_0x725bc3,'commentIds':_0x4c86e6})});if(!_0x1560a7['ok']){const _0x29a0ac=await _0x1560a7[_0x47bb80(0x10c)]();throw new Error(_0x47bb80(0x124)+_0x29a0ac);}}export async function softDeleteFeature(_0x3cc781){const _0x2b068f=_0x58d2,_0x5e27c8={'jAmwo':_0x2b068f(0xf4)},_0x1ddeac=await getToken();if(!_0x1ddeac)throw new Error(_0x5e27c8[_0x2b068f(0x115)]);const _0x3629d6=getApiBaseUrl(),_0x31cd1e=await fetch(_0x3629d6+_0x2b068f(0x126)+_0x3cc781,{'method':_0x2b068f(0xfd),'headers':{'Authorization':_0x2b068f(0x133)+_0x1ddeac}});if(!_0x31cd1e['ok']){const _0x4b2a87=await _0x31cd1e['text']();throw new Error('Failed\x20to\x20delete\x20feature\x20review:\x20'+_0x4b2a87);}}export async function restoreFeature(_0x33d861){const _0x14c736=_0x58d2,_0x16bf64={'SFNKH':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20setup\x20[token]','FYrpt':function(_0x336f14){return _0x336f14();},'sypwE':'POST'},_0x370d10=await getToken();if(!_0x370d10)throw new Error(_0x16bf64['SFNKH']);const _0x3120cc=_0x16bf64[_0x14c736(0x11e)](getApiBaseUrl),_0x213611=await fetch(_0x3120cc+_0x14c736(0x126)+_0x33d861+'/restore',{'method':_0x16bf64[_0x14c736(0x129)],'headers':{'Authorization':_0x14c736(0x133)+_0x370d10}});if(!_0x213611['ok']){const _0xb93169=await _0x213611[_0x14c736(0x10c)]();throw new Error('Failed\x20to\x20restore\x20feature\x20review:\x20'+_0xb93169);}}
|