@ranger-testing/ranger-cli 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/build/cli.js +22 -6
  2. package/build/cli.js.map +1 -1
  3. package/build/commands/addEnv.js +1 -1
  4. package/build/commands/addEnv.js.map +1 -1
  5. package/build/commands/clean.js +1 -1
  6. package/build/commands/clean.js.map +1 -1
  7. package/build/commands/dataMcpServer.js +1 -1
  8. package/build/commands/index.js +1 -0
  9. package/build/commands/index.js.map +1 -1
  10. package/build/commands/login.js +29 -0
  11. package/build/commands/login.js.map +1 -0
  12. package/build/commands/skillup.js +6 -3
  13. package/build/commands/skillup.js.map +1 -1
  14. package/build/commands/start.js +1 -1
  15. package/build/commands/start.js.map +1 -1
  16. package/build/commands/updateEnv.js +1 -1
  17. package/build/commands/useEnv.js +1 -1
  18. package/build/commands/utils/browserSessionsApi.js +1 -1
  19. package/build/commands/utils/cliSecret.js +1 -1
  20. package/build/commands/utils/deviceAuth.js +184 -0
  21. package/build/commands/utils/deviceAuth.js.map +1 -0
  22. package/build/commands/utils/environment.js +3 -0
  23. package/build/commands/utils/environment.js.map +1 -1
  24. package/build/commands/utils/keychain.js +1 -1
  25. package/build/commands/utils/keychain.js.map +1 -1
  26. package/build/commands/utils/localAgentInstallationsApi.js +1 -1
  27. package/build/commands/utils/rangerRoot.js +8 -1
  28. package/build/commands/utils/rangerRoot.js.map +1 -1
  29. package/build/commands/utils/skills.js +1 -1
  30. package/build/commands/verifyFeature.js +3 -3
  31. package/build/commands/verifyFeature.js.map +1 -1
  32. package/build/commands/verifyInBrowser.js +1 -1
  33. package/build/commands/verifyInBrowser.js.map +1 -1
  34. package/package.json +1 -2
@@ -1 +1 @@
1
- (function(_0x285e67,_0x1feed3){const _0x4b23cc=_0x580d,_0x192d8b=_0x285e67();while(!![]){try{const _0x253948=parseInt(_0x4b23cc(0x1ad))/0x1*(parseInt(_0x4b23cc(0x1d5))/0x2)+-parseInt(_0x4b23cc(0x1c7))/0x3*(-parseInt(_0x4b23cc(0x1af))/0x4)+-parseInt(_0x4b23cc(0x1c6))/0x5+-parseInt(_0x4b23cc(0x1ca))/0x6+-parseInt(_0x4b23cc(0x1cd))/0x7+-parseInt(_0x4b23cc(0x1bf))/0x8*(-parseInt(_0x4b23cc(0x1cf))/0x9)+parseInt(_0x4b23cc(0x1a9))/0xa*(parseInt(_0x4b23cc(0x1cc))/0xb);if(_0x253948===_0x1feed3)break;else _0x192d8b['push'](_0x192d8b['shift']());}catch(_0xb9d398){_0x192d8b['push'](_0x192d8b['shift']());}}}(_0x42e4,0x92b80));function _0x580d(_0x3bc437,_0x321ca4){_0x3bc437=_0x3bc437-0x1a9;const _0x42e49c=_0x42e4();let _0x580df7=_0x42e49c[_0x3bc437];return _0x580df7;}import{writeFile,readFile,unlink}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getEnvDir,isEnvCi}from'./utils/settings.js';function _0x42e4(){const _0x10a899=['\x0aThe\x20\x22ranger\x20update-env\x22\x20command\x20requires\x20interactive\x20browser\x20authentication','contextOptions','exit','LGCZe','Saving\x20authentication\x20state...','utf-8','165160NUJSAC','and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).','error','\x0aConfig\x20not\x20found\x20at\x20','launch','settings.json','stringify','4588625DEQXMb','3615YwnUXk','isTTY','\x0a❌\x20Non-interactive\x20mode\x20detected.','947358deAoRX','browser','6183386dKMYFY','8343020asXzwX','\x0aEnvironment\x20\x22','72KyevLI','OwGJM','xQLgH','close','\x0a✅\x20Environment\x20\x22','✓\x20Updated\x20config:\x20','758JcxmRF','log','mxDmM','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','30lnmtMt','newContext','\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','1990ZGBOsU','\x22\x20not\x20found.','872XQlQQZ','GGbij','parse','auth.json','goto','\x20\x20Run\x20ranger\x20start\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','\x0aTo\x20update\x20environment\x20authentication:','HKBhp','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','\x20\x201.\x20Run\x20\x22ranger\x20update-env\x20<name>\x22\x20in\x20an\x20interactive\x20terminal'];_0x42e4=function(){return _0x10a899;};return _0x42e4();}export async function updateEnv(_0x4f05a3){const _0x121612=_0x580d,_0x1bae30={'LGCZe':_0x121612(0x1bd),'tSSbd':function(_0xdc090c){return _0xdc090c();},'aBmHa':_0x121612(0x1d2),'xQLgH':function(_0x45fed1,_0x16733a){return _0x45fed1(_0x16733a);},'GGbij':function(_0x50b1f6,_0x563247,_0x4001fb){return _0x50b1f6(_0x563247,_0x4001fb);},'yhShc':_0x121612(0x1b2),'SciHV':function(_0x3cbdf1,_0x7e1471){return _0x3cbdf1+_0x7e1471;},'HKBhp':'.enc','yKeTL':_0x121612(0x1b5),'OrSqp':function(_0x2387b8,_0x53ddb5){return _0x2387b8(_0x53ddb5);},'mxDmM':function(_0x3c235d){return _0x3c235d();},'uZXTN':function(_0x556539,_0x25ff68,_0x40c1a6){return _0x556539(_0x25ff68,_0x40c1a6);},'TLLDw':_0x121612(0x1b4),'cQmvx':function(_0x6a2b82,_0x2ee97d,_0xe67a1d){return _0x6a2b82(_0x2ee97d,_0xe67a1d);}},_0x4f4255=_0x1bae30[_0x121612(0x1d1)](getEnvDir,_0x4f05a3),_0x5b90cc=_0x1bae30[_0x121612(0x1b0)](join,_0x4f4255,_0x121612(0x1c4)),_0x3a7a56=join(_0x4f4255,_0x1bae30['yhShc']),_0x48495e=_0x1bae30['SciHV'](_0x3a7a56,_0x1bae30[_0x121612(0x1b6)]),_0x324071=process['stdin']['isTTY']&&process['stdout'][_0x121612(0x1c8)];!_0x324071&&(console[_0x121612(0x1c1)](_0x121612(0x1c9)),console['error'](_0x121612(0x1b9)),console['error'](_0x121612(0x1c0)),console[_0x121612(0x1c1)](_0x1bae30['yKeTL']),console[_0x121612(0x1c1)](_0x121612(0x1b8)),console[_0x121612(0x1c1)]('\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git'),process[_0x121612(0x1bb)](0x1));!existsSync(_0x4f4255)&&(console['error'](_0x121612(0x1ce)+_0x4f05a3+_0x121612(0x1ae)),console[_0x121612(0x1c1)]('\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20'+_0x4f05a3),process['exit'](0x1));!_0x1bae30['OrSqp'](existsSync,_0x5b90cc)&&(console['error'](_0x121612(0x1c2)+_0x5b90cc),console[_0x121612(0x1c1)](_0x121612(0x1d8)+_0x4f05a3),process[_0x121612(0x1bb)](0x1));const _0x6c0ec7=await readFile(_0x5b90cc,_0x121612(0x1be)),_0xbc2a6f=JSON[_0x121612(0x1b1)](_0x6c0ec7),_0x15a3ec=existsSync(_0x3a7a56),_0x3ac574=isEnvCi(_0x4f05a3);console['log']('\x0a📋\x20Authentication\x20Update'),console[_0x121612(0x1d6)](_0x121612(0x1ac)),console[_0x121612(0x1d6)](_0x121612(0x1ab)),console['log']('\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a');const _0x50d06b=await chromium[_0x121612(0x1c3)]({'headless':![]}),_0x27dd63=_0x15a3ec?{'storageState':_0x3a7a56}:{},_0x3933c2=await _0x50d06b[_0x121612(0x1aa)](_0x27dd63),_0x79a44a=await _0x3933c2['newPage']();await _0x79a44a[_0x121612(0x1b3)]('about:blank'),await new Promise(_0x6c0dc=>{const _0xdf6af5=_0x121612,_0x491040={'HTDGY':_0x1bae30[_0xdf6af5(0x1bc)],'OwGJM':function(_0x3aaa9d){return _0x1bae30['tSSbd'](_0x3aaa9d);}};_0x79a44a['on'](_0x1bae30['aBmHa'],async()=>{const _0x48a80e=_0xdf6af5;try{console[_0x48a80e(0x1d6)](_0x491040['HTDGY']),await _0x3933c2['storageState']({'path':_0x3a7a56}),_0x6c0dc();}catch{_0x491040[_0x48a80e(0x1d0)](_0x6c0dc);}});}),await _0x50d06b[_0x121612(0x1d2)]();if(_0x3ac574){const _0x58b1b2=await readFile(_0x3a7a56,_0x121612(0x1be)),_0x260f8b=await _0x1bae30[_0x121612(0x1d7)](getToken);if(!_0x260f8b)console[_0x121612(0x1c1)]('\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20start\x20<token>'),console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x3a7a56);else{const _0x5005e1=encrypt(_0x58b1b2,_0x260f8b);await _0x1bae30['uZXTN'](writeFile,_0x48495e,_0x5005e1),await unlink(_0x3a7a56),console['log']('✓\x20Encrypted\x20auth\x20saved\x20to:\x20'+_0x48495e),console['log'](_0x121612(0x1b7)),console[_0x121612(0x1d6)](_0x1bae30['TLLDw']);}}else console['log']('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x3a7a56);_0xbc2a6f[_0x121612(0x1cb)]=_0xbc2a6f[_0x121612(0x1cb)]||{},_0xbc2a6f[_0x121612(0x1cb)][_0x121612(0x1ba)]=_0xbc2a6f['browser'][_0x121612(0x1ba)]||{},_0xbc2a6f[_0x121612(0x1cb)][_0x121612(0x1ba)]['storageState']=_0x3a7a56,await _0x1bae30['cQmvx'](writeFile,_0x5b90cc,JSON[_0x121612(0x1c5)](_0xbc2a6f,null,0x2)),console[_0x121612(0x1d6)](_0x121612(0x1d4)+_0x5b90cc),console['log'](_0x121612(0x1d3)+_0x4f05a3+'\x22\x20authentication\x20updated');}
1
+ (function(_0x3c566e,_0x1ac0a8){const _0x14d65c=_0x30dd,_0x16a7af=_0x3c566e();while(!![]){try{const _0x4f6c15=parseInt(_0x14d65c(0xb3))/0x1*(-parseInt(_0x14d65c(0xc6))/0x2)+parseInt(_0x14d65c(0xb9))/0x3+-parseInt(_0x14d65c(0xdd))/0x4*(-parseInt(_0x14d65c(0xd8))/0x5)+parseInt(_0x14d65c(0xd0))/0x6*(-parseInt(_0x14d65c(0xbb))/0x7)+-parseInt(_0x14d65c(0xba))/0x8+-parseInt(_0x14d65c(0xbd))/0x9+-parseInt(_0x14d65c(0xc5))/0xa;if(_0x4f6c15===_0x1ac0a8)break;else _0x16a7af['push'](_0x16a7af['shift']());}catch(_0x15fb59){_0x16a7af['push'](_0x16a7af['shift']());}}}(_0x4f4d,0x7954a));import{writeFile,readFile,unlink}from'fs/promises';function _0x4f4d(){const _0x4ed8f0=['settings.json','130194HIPGuE','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','isTTY','PAjkX','hZRQE','storageState','Vqkur','\x20\x20Run\x20ranger\x20start\x20in\x20CI\x20to\x20decrypt\x20at\x20runtime.','592370dHWKgI','50MYFIii','0|2|4|6|3|5|1','stdin','\x0a✅\x20Environment\x20\x22','error','AFvPp','about:blank','TJOIg','✓\x20Encrypted\x20auth\x20saved\x20to:\x20','iZxUi','66lsSTvY','\x0a❌\x20Non-interactive\x20mode\x20detected.','✓\x20Updated\x20config:\x20','split','\x20\x20You\x20can\x20safely\x20commit\x20this\x20file\x20to\x20git.','log','\x0aEnvironment\x20\x22','close','1404555rLEDfJ','✓\x20Auth\x20state\x20saved\x20to:\x20','.enc','\x22\x20authentication\x20updated','JlzAk','12RZmqhb','utf-8','\x20\x20\x20When\x20you\x20are\x20done,\x20close\x20the\x20browser.\x0a','auth.json','\x20\x20\x20A\x20browser\x20will\x20open\x20with\x20your\x20existing\x20session\x20(if\x20any).','33829uUhVKT','newPage','contextOptions','browser','sfTCx','launch','2746350ZFwwXQ','400784vzmRuj','185619BJQBRe'];_0x4f4d=function(){return _0x4ed8f0;};return _0x4f4d();}import{join}from'path';import{existsSync}from'fs';import{chromium}from'playwright';function _0x30dd(_0x52ea67,_0x428698){_0x52ea67=_0x52ea67-0xb3;const _0x4f4d4d=_0x4f4d();let _0x30dd17=_0x4f4d4d[_0x52ea67];return _0x30dd17;}import{encrypt}from'./utils/crypto.js';import{getToken}from'./utils/keychain.js';import{getEnvDir,isEnvCi}from'./utils/settings.js';export async function updateEnv(_0x4f7fb9){const _0x36a7b9=_0x30dd,_0x346fe8={'xNufd':function(_0x31c15,_0x45b83c,_0x536e15){return _0x31c15(_0x45b83c,_0x536e15);},'heJuT':function(_0x1a7837,_0x45b4c9,_0x2e25cd){return _0x1a7837(_0x45b4c9,_0x2e25cd);},'sfTCx':_0x36a7b9(0xc7),'TJOIg':'\x20\x202.\x20Commit\x20the\x20updated\x20encrypted\x20auth\x20file\x20to\x20git','hsHNQ':'\x0aTo\x20update\x20environment\x20authentication:','Vqkur':_0x36a7b9(0xde),'zsuXh':function(_0x10d254,_0x227eeb){return _0x10d254(_0x227eeb);},'hpUJW':'\x0a📋\x20Authentication\x20Update','iZxUi':_0x36a7b9(0xe1),'PAjkX':'\x20\x20\x20Update\x20your\x20authentication\x20as\x20needed.','PYCOf':_0x36a7b9(0xdf),'AFvPp':_0x36a7b9(0xcc),'brexQ':'\x20\x20Could\x20not\x20encrypt:\x20No\x20API\x20token\x20found.\x20Run:\x20ranger\x20start\x20<token>','hZRQE':function(_0x1c0852,_0x407c4e,_0x442047){return _0x1c0852(_0x407c4e,_0x442047);},'JlzAk':_0x36a7b9(0xc4)},_0x227369=getEnvDir(_0x4f7fb9),_0x4badc1=_0x346fe8['xNufd'](join,_0x227369,_0x36a7b9(0xbc)),_0x30c165=_0x346fe8['heJuT'](join,_0x227369,_0x36a7b9(0xe0)),_0x28eca0=_0x30c165+_0x36a7b9(0xda),_0x4e24cf=process[_0x36a7b9(0xc8)]['isTTY']&&process['stdout'][_0x36a7b9(0xbf)];if(!_0x4e24cf){const _0x16b68f=_0x346fe8[_0x36a7b9(0xb7)][_0x36a7b9(0xd3)]('|');let _0x127604=0x0;while(!![]){switch(_0x16b68f[_0x127604++]){case'0':console[_0x36a7b9(0xca)](_0x36a7b9(0xd1));continue;case'1':process['exit'](0x1);continue;case'2':console[_0x36a7b9(0xca)]('\x0aThe\x20\x22ranger\x20update-env\x22\x20command\x20requires\x20interactive\x20browser\x20authentication');continue;case'3':console[_0x36a7b9(0xca)]('\x20\x201.\x20Run\x20\x22ranger\x20update-env\x20<name>\x22\x20in\x20an\x20interactive\x20terminal');continue;case'4':console[_0x36a7b9(0xca)]('and\x20cannot\x20be\x20run\x20in\x20non-TTY\x20environments\x20(CI,\x20scripts,\x20Claude\x20Code).');continue;case'5':console['error'](_0x346fe8[_0x36a7b9(0xcd)]);continue;case'6':console[_0x36a7b9(0xca)](_0x346fe8['hsHNQ']);continue;}break;}}!existsSync(_0x227369)&&(console['error'](_0x36a7b9(0xd6)+_0x4f7fb9+'\x22\x20not\x20found.'),console['error'](_0x36a7b9(0xbe)+_0x4f7fb9),process['exit'](0x1));!existsSync(_0x4badc1)&&(console['error']('\x0aConfig\x20not\x20found\x20at\x20'+_0x4badc1),console[_0x36a7b9(0xca)]('\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20'+_0x4f7fb9),process['exit'](0x1));const _0x504bbb=await readFile(_0x4badc1,_0x346fe8['Vqkur']),_0x2ec837=JSON['parse'](_0x504bbb),_0x2b5feb=existsSync(_0x30c165),_0x5e0d29=_0x346fe8['zsuXh'](isEnvCi,_0x4f7fb9);console[_0x36a7b9(0xd5)](_0x346fe8['hpUJW']),console[_0x36a7b9(0xd5)](_0x346fe8[_0x36a7b9(0xcf)]),console['log'](_0x346fe8[_0x36a7b9(0xc0)]),console['log'](_0x346fe8['PYCOf']);const _0x1bc9af=await chromium[_0x36a7b9(0xb8)]({'headless':![]}),_0x5a787e=_0x2b5feb?{'storageState':_0x30c165}:{},_0x2a7b6e=await _0x1bc9af['newContext'](_0x5a787e),_0x1ca79a=await _0x2a7b6e[_0x36a7b9(0xb4)]();await _0x1ca79a['goto'](_0x346fe8[_0x36a7b9(0xcb)]),await new Promise(_0x366933=>{_0x1ca79a['on']('close',async()=>{const _0x51714f=_0x30dd;try{console[_0x51714f(0xd5)]('Saving\x20authentication\x20state...'),await _0x2a7b6e[_0x51714f(0xc2)]({'path':_0x30c165}),_0x366933();}catch{_0x366933();}});}),await _0x1bc9af[_0x36a7b9(0xd7)]();if(_0x5e0d29){const _0xc79b09=await readFile(_0x30c165,_0x346fe8[_0x36a7b9(0xc3)]),_0x1fbd5a=await getToken();if(!_0x1fbd5a)console['error'](_0x346fe8['brexQ']),console[_0x36a7b9(0xd5)](_0x36a7b9(0xd9)+_0x30c165);else{const _0x8e4f31=_0x346fe8[_0x36a7b9(0xc1)](encrypt,_0xc79b09,_0x1fbd5a);await writeFile(_0x28eca0,_0x8e4f31),await unlink(_0x30c165),console['log'](_0x36a7b9(0xce)+_0x28eca0),console['log'](_0x36a7b9(0xd4)),console['log'](_0x346fe8[_0x36a7b9(0xdc)]);}}else console[_0x36a7b9(0xd5)]('✓\x20Auth\x20state\x20saved\x20to:\x20'+_0x30c165);_0x2ec837[_0x36a7b9(0xb6)]=_0x2ec837[_0x36a7b9(0xb6)]||{},_0x2ec837[_0x36a7b9(0xb6)][_0x36a7b9(0xb5)]=_0x2ec837[_0x36a7b9(0xb6)]['contextOptions']||{},_0x2ec837[_0x36a7b9(0xb6)]['contextOptions'][_0x36a7b9(0xc2)]=_0x30c165,await writeFile(_0x4badc1,JSON['stringify'](_0x2ec837,null,0x2)),console['log'](_0x36a7b9(0xd2)+_0x4badc1),console[_0x36a7b9(0xd5)](_0x36a7b9(0xc9)+_0x4f7fb9+_0x36a7b9(0xdb));}
@@ -1 +1 @@
1
- function _0x544b(){const _0x325667=['1360HkfViW','4247936IUVYHD','\x0a❌\x20Config\x20not\x20found\x20at\x20','176862XCpLZB','6jiTNkq','\x0a✓\x20Now\x20using\x20environment\x20\x22','3678456yXKpaI','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','209028EARlbf','3209886ZIPXCH','105094hsgelG','settings.json','error','304LrimYU','\x22\x20not\x20found.','145VmDNxD','67739goXMyk','\x0a❌\x20Environment\x20\x22','dPgaS','ZoHCh'];_0x544b=function(){return _0x325667;};return _0x544b();}(function(_0x2d4c9e,_0x2f2e02){const _0x35cb26=_0xe67e,_0xb1be36=_0x2d4c9e();while(!![]){try{const _0x166ed=parseInt(_0x35cb26(0x6e))/0x1*(parseInt(_0x35cb26(0x6d))/0x2)+-parseInt(_0x35cb26(0x70))/0x3+parseInt(_0x35cb26(0x6b))/0x4+-parseInt(_0x35cb26(0x65))/0x5*(parseInt(_0x35cb26(0x72))/0x6)+parseInt(_0x35cb26(0x66))/0x7*(-parseInt(_0x35cb26(0x77))/0x8)+parseInt(_0x35cb26(0x73))/0x9+-parseInt(_0x35cb26(0x6a))/0xa*(-parseInt(_0x35cb26(0x74))/0xb);if(_0x166ed===_0x2f2e02)break;else _0xb1be36['push'](_0xb1be36['shift']());}catch(_0x8dac26){_0xb1be36['push'](_0xb1be36['shift']());}}}(_0x544b,0x9d524));import{writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';function _0xe67e(_0x308fe8,_0x5d84af){_0x308fe8=_0x308fe8-0x65;const _0x544b2a=_0x544b();let _0xe67eab=_0x544b2a[_0x308fe8];return _0xe67eab;}export async function useEnv(_0x4984a6){const _0x2b12c1=_0xe67e,_0x5acfbf={'ENJUL':function(_0x3757e9,_0x4db041){return _0x3757e9(_0x4db041);},'dPgaS':function(_0x526e04,_0x59a4c6,_0x4f3191){return _0x526e04(_0x59a4c6,_0x4f3191);},'QWEHU':_0x2b12c1(0x75),'JkVMS':function(_0x46e168){return _0x46e168();},'PLwgD':'active-env.txt','ZoHCh':function(_0x15d6ba,_0x1b261a,_0x1fc9e1){return _0x15d6ba(_0x1b261a,_0x1fc9e1);}},_0x114848=_0x5acfbf['ENJUL'](getEnvDir,_0x4984a6),_0x5ee056=_0x5acfbf[_0x2b12c1(0x68)](join,_0x114848,_0x5acfbf['QWEHU']);!_0x5acfbf['ENJUL'](existsSync,_0x114848)&&(console[_0x2b12c1(0x76)](_0x2b12c1(0x67)+_0x4984a6+_0x2b12c1(0x78)),console['error'](_0x2b12c1(0x71)+_0x4984a6),process['exit'](0x1));!existsSync(_0x5ee056)&&(console['error'](_0x2b12c1(0x6c)+_0x5ee056),console[_0x2b12c1(0x76)]('\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20'+_0x4984a6),process['exit'](0x1));const _0x3cee92=_0x5acfbf['dPgaS'](join,_0x5acfbf['JkVMS'](getRangerDir),_0x5acfbf['PLwgD']);await _0x5acfbf[_0x2b12c1(0x69)](writeFile,_0x3cee92,_0x4984a6),console['log'](_0x2b12c1(0x6f)+_0x4984a6+'\x22');}
1
+ (function(_0x2683d9,_0x43f512){const _0x1cc0e4=_0x7cd4,_0x19d214=_0x2683d9();while(!![]){try{const _0xb6c207=-parseInt(_0x1cc0e4(0x105))/0x1+parseInt(_0x1cc0e4(0x107))/0x2*(parseInt(_0x1cc0e4(0x101))/0x3)+parseInt(_0x1cc0e4(0x104))/0x4*(parseInt(_0x1cc0e4(0xfe))/0x5)+-parseInt(_0x1cc0e4(0x109))/0x6+parseInt(_0x1cc0e4(0xfd))/0x7+-parseInt(_0x1cc0e4(0xfa))/0x8+parseInt(_0x1cc0e4(0x108))/0x9*(parseInt(_0x1cc0e4(0x106))/0xa);if(_0xb6c207===_0x43f512)break;else _0x19d214['push'](_0x19d214['shift']());}catch(_0x20fc59){_0x19d214['push'](_0x19d214['shift']());}}}(_0x2a93,0xa632a));function _0x7cd4(_0x500a8a,_0x2e281e){_0x500a8a=_0x500a8a-0xfa;const _0x2a93e6=_0x2a93();let _0x7cd44b=_0x2a93e6[_0x500a8a];return _0x7cd44b;}import{writeFile}from'fs/promises';import{join}from'path';import{existsSync}from'fs';import{getRangerDir}from'./utils/rangerRoot.js';import{getEnvDir}from'./utils/settings.js';function _0x2a93(){const _0x5d6f84=['3520812KHuAxh','9454416cDtNdb','iekss','\x22\x20not\x20found.','819161YvXsVd','5sHpjRY','mcDaJ','error','6rzMmXz','exit','\x20\x20\x20Run\x20first:\x20ranger\x20add\x20env\x20','4287284BKdwGk','1030653HWfzjX','1677010pKAcVg','446448wqPJuC','99SIvPqI'];_0x2a93=function(){return _0x5d6f84;};return _0x2a93();}export async function useEnv(_0x2c1346){const _0x531ac7=_0x7cd4,_0x30d1={'mcDaJ':function(_0x592299,_0x23deb3,_0x45e482){return _0x592299(_0x23deb3,_0x45e482);},'iekss':'settings.json','eJUPa':function(_0x353e39,_0x36a5df){return _0x353e39(_0x36a5df);},'YQXfb':function(_0x4ff5ea,_0x123066,_0x2a0f1f){return _0x4ff5ea(_0x123066,_0x2a0f1f);},'XUQgN':function(_0x293a51){return _0x293a51();}},_0x32dc88=getEnvDir(_0x2c1346),_0x355d24=_0x30d1[_0x531ac7(0xff)](join,_0x32dc88,_0x30d1[_0x531ac7(0xfb)]);!_0x30d1['eJUPa'](existsSync,_0x32dc88)&&(console[_0x531ac7(0x100)]('\x0a❌\x20Environment\x20\x22'+_0x2c1346+_0x531ac7(0xfc)),console[_0x531ac7(0x100)](_0x531ac7(0x103)+_0x2c1346),process['exit'](0x1));!existsSync(_0x355d24)&&(console[_0x531ac7(0x100)]('\x0a❌\x20Config\x20not\x20found\x20at\x20'+_0x355d24),console[_0x531ac7(0x100)](_0x531ac7(0x103)+_0x2c1346),process[_0x531ac7(0x102)](0x1));const _0x217681=_0x30d1['YQXfb'](join,_0x30d1['XUQgN'](getRangerDir),'active-env.txt');await _0x30d1['YQXfb'](writeFile,_0x217681,_0x2c1346),console['log']('\x0a✓\x20Now\x20using\x20environment\x20\x22'+_0x2c1346+'\x22');}
@@ -1 +1 @@
1
- (function(_0x425155,_0x4f41e6){const _0xa5bf2e=_0x14a4,_0x2a99bf=_0x425155();while(!![]){try{const _0x585465=parseInt(_0xa5bf2e(0x1bf))/0x1*(-parseInt(_0xa5bf2e(0x1f5))/0x2)+parseInt(_0xa5bf2e(0x1d5))/0x3+parseInt(_0xa5bf2e(0x1c1))/0x4*(-parseInt(_0xa5bf2e(0x1fb))/0x5)+-parseInt(_0xa5bf2e(0x20e))/0x6+parseInt(_0xa5bf2e(0x208))/0x7+-parseInt(_0xa5bf2e(0x1ef))/0x8+parseInt(_0xa5bf2e(0x1e7))/0x9;if(_0x585465===_0x4f41e6)break;else _0x2a99bf['push'](_0x2a99bf['shift']());}catch(_0x21a686){_0x2a99bf['push'](_0x2a99bf['shift']());}}}(_0x2258,0x6dc05));const _0x302586=(function(){const _0x2b5d74=_0x14a4,_0x5f4de8={'KVWEo':function(_0x366b0e,_0x450a8f){return _0x366b0e!==_0x450a8f;},'ffFXy':_0x2b5d74(0x204)};let _0x564c3e=!![];return function(_0x7a648e,_0x429ed9){const _0x10812b=_0x2b5d74,_0x104c75={'auLJD':function(_0x384334,_0x18d121){const _0x582727=_0x14a4;return _0x5f4de8[_0x582727(0x1de)](_0x384334,_0x18d121);},'LdrYR':_0x5f4de8[_0x10812b(0x201)],'nDTRT':'NGuwK'},_0x26496a=_0x564c3e?function(){const _0x4372dc=_0x10812b;if(_0x104c75[_0x4372dc(0x200)](_0x104c75[_0x4372dc(0x212)],_0x104c75[_0x4372dc(0x1f0)])){if(_0x429ed9){const _0x3fc58a=_0x429ed9[_0x4372dc(0x1be)](_0x7a648e,arguments);return _0x429ed9=null,_0x3fc58a;}}else return _0x2aaec6['toString']()[_0x4372dc(0x1d2)]('(((.+)+)+)+$')[_0x4372dc(0x1e2)]()[_0x4372dc(0x210)](_0x21262c)['search'](_0x4372dc(0x1bc));}:function(){};return _0x564c3e=![],_0x26496a;};}()),_0x346ba1=_0x302586(this,function(){const _0x30ea95=_0x14a4,_0x137fbd={'SjQks':'(((.+)+)+)+$'};return _0x346ba1[_0x30ea95(0x1e2)]()['search'](_0x137fbd[_0x30ea95(0x1bd)])[_0x30ea95(0x1e2)]()[_0x30ea95(0x210)](_0x346ba1)[_0x30ea95(0x1d2)](_0x137fbd['SjQks']);});_0x346ba1();import{getToken}from'./keychain.js';import{getSignedHeaders}from'./cliSecret.js';function _0x2258(){const _0x8f50d5=['ue9tva','yxbPs2v5','ENfht1O','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihn0yxj0idX0B2TLBJ4','Aw1Hz2uVCg5N','B25AC1y','s1zxrw8','s1LcAM4','y2HLy2TZDw0','C2v0DgLUz3m','Dg9tDhjPBMC','sMDiDKi','vufhzfa','u1DqtMq','rMfPBgvKihrVihvWBg9HzcbMAwXLoIa','mta5mtaYnxzzChLzza','t0zxqMW','q3Hcrve','Dfrxy1i','zgLNzxn0','C2L6zq','ufPjBhO','rwvez0G','otG4odu2wunysMrx','BKruuLq','rfHetLm','BgvUz3rO','zeTKB2y','Dgv4Da','mJjXzuzwr2m','qMvHCMvYia','B0HUyxO','rMfPBgvKihrVigDLDcbICM93C2vYihnLC3nPB246ia','y2jithG','rMfPBgvKihrVigDLDcbbBNrOCM9WAwmGqvbjigTLEtOG','nZC2nxPXCe9mvq','DuzRwKW','l2fWAs92ms9Ty3aVyNjVD3nLCI1ZzxnZAw9UCY8','DxbKyxrL','uuzcq2G','yxvmsKq','zMzgwhK','qwXVqvy','yxbWBgLJyxrPB24VANnVBG','CfjHqwe','Bwv0ywrHDge','B2n1s0y','qNP3wvC','ntK0odi1mg1nqw9SDG','ANnVBG','DgfZAW','AvrdCw0','rMfPBgvKihrVihvWzgf0zsbICM93C2vYihnLC3nPB246ia','l2fZC2v0CW','nteYmJGWthbHCKTh','l3n0zxbZlW','y29UC3rYDwn0B3i','Efbus04','tgrYwvi','q0LcC3u','uvbbBhO','sgroAKC','y2HLy2TSAxn0sxrLBuLK','kcGOlISPkYKRksSK','u2PrA3m','yxbWBhK','mtG4ntLnCff0q1u','rejKv0q','mtu1nMHNzxDRqW','tvDUwKW','yxbWBgLJyxrPB24VANnVBMW','A1DuwNm','Bwq1','yxbWBgLJyxrPB24VEMLW','z0vUB1u','yxzTuLy','s3LjzKe','yMfZzty0','l2fWAs92ms9Ty3aVyw50AhjVCgLJlwfWAs1RzxK','rMfPBgvKihrVignYzwf0zsbZDgvWigfZC2v0oIa','rMfPBgvKihrVignYzwf0zsbICM93C2vYihnLC3nPB246ia','wvjvq20','rwX1vKy','AKzSsfi','C3rYAw5NAwz5','C2vHCMnO','yw50AhjVCgLJlwfWAs1RzxK','BwndrwO','mtq5nZm1n3fAs29oyG','rvvJs2i','EvzAB1O'];_0x2258=function(){return _0x8f50d5;};return _0x2258();}import{getApiBaseUrl}from'./environment.js';import{createHash}from'crypto';export async function createBrowserSession(_0x4a8a94){const _0xad003d=_0x14a4,_0x5f0a8b={'ZxLHR':function(_0x16654a){return _0x16654a();},'mcCEj':_0xad003d(0x1db),'UImkw':function(_0x2fd2e2){return _0x2fd2e2();},'HdNjG':function(_0x29f255,_0xafba36,_0x4a3aa1){return _0x29f255(_0xafba36,_0x4a3aa1);},'oHnaz':'POST','tTWcR':_0xad003d(0x203)},_0x20edf5=await _0x5f0a8b['ZxLHR'](getToken);if(!_0x20edf5)throw new Error(_0x5f0a8b[_0xad003d(0x1d4)]);const _0x792af=_0x5f0a8b['UImkw'](getApiBaseUrl),_0x397f30=await _0x5f0a8b[_0xad003d(0x1ba)](fetch,_0x792af+'/api/v1/mcp/browser-sessions',{'method':_0x5f0a8b[_0xad003d(0x1f7)],'headers':{'Authorization':_0xad003d(0x1f6)+_0x20edf5,'Content-Type':_0x5f0a8b[_0xad003d(0x1ea)]},'body':JSON[_0xad003d(0x1d1)]({'environmentName':_0x4a8a94?.['environmentName'],'settings':_0x4a8a94?.[_0xad003d(0x1e1)],'task':_0x4a8a94?.[_0xad003d(0x20a)],'url':_0x4a8a94?.['url'],'featureId':_0x4a8a94?.['featureId'],'checklistItemId':_0x4a8a94?.[_0xad003d(0x1bb)]})});if(!_0x397f30['ok']){const _0x3c13e9=await _0x397f30[_0xad003d(0x1f4)]();throw new Error(_0xad003d(0x1cd)+_0x3c13e9);}return _0x397f30['json']();}export async function updateBrowserSession(_0x5068d8,_0x5a7509){const _0x593cc4=_0x14a4,_0x51df8d={'duqKd':_0x593cc4(0x1db),'ocuKF':function(_0x494483,_0x1173e6,_0x4ad72e){return _0x494483(_0x1173e6,_0x4ad72e);},'xPTKN':'PATCH','OpmLL':_0x593cc4(0x203)},_0xcf6b7c=await getToken();if(!_0xcf6b7c)throw new Error(_0x51df8d['duqKd']);const _0x285296=getApiBaseUrl(),_0x3b285f=await _0x51df8d[_0x593cc4(0x206)](fetch,_0x285296+_0x593cc4(0x1fd)+_0x5068d8,{'method':_0x51df8d[_0x593cc4(0x211)],'headers':{'Authorization':_0x593cc4(0x1f6)+_0xcf6b7c,'Content-Type':_0x51df8d['OpmLL']},'body':JSON[_0x593cc4(0x1d1)](_0x5a7509)});if(!_0x3b285f['ok']){const _0x16d8ba=await _0x3b285f[_0x593cc4(0x1f4)]();throw new Error(_0x593cc4(0x20c)+_0x16d8ba);}return _0x3b285f[_0x593cc4(0x209)]();}export async function getBrowserSession(_0x5da767){const _0x430b75=_0x14a4,_0x5d789b={'iTCqm':_0x430b75(0x1db),'uFkZL':function(_0xc74bc7,_0x32dace,_0x126e15){return _0xc74bc7(_0x32dace,_0x126e15);},'zqGOZ':'GET'},_0x209901=await getToken();if(!_0x209901)throw new Error(_0x5d789b[_0x430b75(0x20b)]);const _0x87598b=getApiBaseUrl(),_0x56ed70=await _0x5d789b[_0x430b75(0x1fc)](fetch,_0x87598b+_0x430b75(0x1fd)+_0x5da767,{'method':_0x5d789b[_0x430b75(0x1da)],'headers':{'Authorization':_0x430b75(0x1f6)+_0x209901}});if(!_0x56ed70['ok']){const _0x28c340=await _0x56ed70['text']();throw new Error(_0x430b75(0x1f8)+_0x28c340);}return _0x56ed70['json']();}export async function getUploadUrls(_0x4fa4ef,_0xb25a32,_0x5dd0ef,_0x4e4f4f){const _0x18615e=_0x14a4,_0x50d451={'MWnZL':function(_0x260472){return _0x260472();},'AnsZm':function(_0xda25c0,_0x56098e,_0x10a552){return _0xda25c0(_0x56098e,_0x10a552);},'cbHLx':function(_0x21c451,_0x5c72bb){return _0x21c451!==_0x5c72bb;},'yVZoZ':function(_0x594660,_0x4fd439){return _0x594660!==_0x4fd439;}},_0x40b9d9=await _0x50d451[_0x18615e(0x1c2)](getToken);if(!_0x40b9d9)throw new Error(_0x18615e(0x1db));const _0xde8200=getApiBaseUrl(),_0x3064d0=await _0x50d451['AnsZm'](fetch,_0xde8200+_0x18615e(0x1fd)+_0x4fa4ef+'/upload-urls',{'method':_0x18615e(0x1d8),'headers':{'Authorization':_0x18615e(0x1f6)+_0x40b9d9,'Content-Type':_0x18615e(0x203)},'body':JSON[_0x18615e(0x1d1)]({'filename':_0xb25a32,'filetype':_0x5dd0ef,..._0x50d451[_0x18615e(0x1f9)](_0x4e4f4f?.['size'],undefined)&&{'size':_0x4e4f4f[_0x18615e(0x1ec)]},..._0x50d451[_0x18615e(0x1f9)](_0x4e4f4f?.[_0x18615e(0x1e0)],undefined)&&{'checksum':_0x4e4f4f['checksum']},..._0x50d451[_0x18615e(0x1d7)](_0x4e4f4f?.[_0x18615e(0x205)],undefined)&&{'metadata':_0x4e4f4f['metadata']}})});if(!_0x3064d0['ok']){const _0x986a93=await _0x3064d0['text']();throw new Error('Failed\x20to\x20get\x20upload\x20URLs:\x20'+_0x986a93);}return _0x3064d0[_0x18615e(0x209)]();}export async function uploadFile(_0xee8a2d,_0x179173,_0x4ad811){const _0x10084c=_0x14a4,_0x3ec5ef={'onZsV':function(_0x3a453f,_0x3d1689,_0xdb6a1c){return _0x3a453f(_0x3d1689,_0xdb6a1c);},'OTIFj':'PUT'},_0x5a18ee=await _0x3ec5ef[_0x10084c(0x1dd)](fetch,_0xee8a2d,{'method':_0x3ec5ef['OTIFj'],'headers':{'Content-Type':_0x4ad811,'Content-Length':_0x179173[_0x10084c(0x1f2)][_0x10084c(0x1e2)]()},'body':_0x179173});if(!_0x5a18ee['ok']){const _0x467d9f=await _0x5a18ee['text']();throw new Error(_0x10084c(0x1e6)+_0x467d9f);}}export async function uploadTrace(_0x11652b,_0x4b3b73){const _0x4ae292=_0x14a4,_0x123d1e={'avmRV':function(_0x5dbb4e,_0x230f84,_0x12dc63,_0x247ef0){return _0x5dbb4e(_0x230f84,_0x12dc63,_0x247ef0);},'AloAV':_0x4ae292(0x1c6)};return _0x123d1e[_0x4ae292(0x1c8)](uploadFile,_0x11652b,_0x4b3b73,_0x123d1e[_0x4ae292(0x202)]);}export async function uploadConversation(_0x184e09,_0x3e2e1f){const _0x40684a=_0x14a4,_0x490456={'QPAlz':function(_0x519865,_0x2bdcca,_0x4849ba,_0x7de026){return _0x519865(_0x2bdcca,_0x4849ba,_0x7de026);},'QqYBe':_0x40684a(0x1c3)};return _0x490456[_0x40684a(0x1b9)](uploadFile,_0x184e09,_0x3e2e1f,_0x490456['QqYBe']);}export async function uploadScreenshot(_0x5c0b40,_0x3d28d6){const _0x4e53c2=_0x14a4,_0x3c830a={'dKdof':function(_0x173ae8,_0x349984,_0x3f1276,_0x2d9eb5){return _0x173ae8(_0x349984,_0x3f1276,_0x2d9eb5);},'Edivl':_0x4e53c2(0x1dc)};return _0x3c830a[_0x4e53c2(0x1f3)](uploadFile,_0x5c0b40,_0x3d28d6,_0x3c830a['Edivl']);}export async function uploadVideo(_0xc7c618,_0x50edf7){const _0x7a0a26=_0x14a4,_0x110e71={'JgHvB':function(_0x256f51,_0x2384d4,_0x3803f7,_0x396efd){return _0x256f51(_0x2384d4,_0x3803f7,_0x396efd);},'BzwYW':'video/webm'};return _0x110e71[_0x7a0a26(0x1e3)](uploadFile,_0xc7c618,_0x50edf7,_0x110e71[_0x7a0a26(0x207)]);}export function buildTraceViewerUrl(_0x19e6d7){const _0x5ea73b=encodeURIComponent(_0x19e6d7);return'https://trace.playwright.dev/?trace='+_0x5ea73b;}export async function getAnthropicApiKey(){const _0x11b0b2=_0x14a4,_0x5cd9e1={'qLiQr':function(_0x27b66b){return _0x27b66b();},'CIBsu':_0x11b0b2(0x1db),'OFWBl':function(_0x2988fe){return _0x2988fe();},'QFBCh':function(_0x1e9950,_0x44b057,_0x13d8bb){return _0x1e9950(_0x44b057,_0x13d8bb);},'EeDgH':'GET'},_0xf368b=await _0x5cd9e1['qLiQr'](getToken);if(!_0xf368b)throw new Error(_0x5cd9e1[_0x11b0b2(0x1b8)]);const _0xf20b56=_0x5cd9e1[_0x11b0b2(0x1e8)](getApiBaseUrl),_0x41d7d2=getSignedHeaders(_0x11b0b2(0x1d3)),_0x3cd89e=await _0x5cd9e1[_0x11b0b2(0x1ff)](fetch,_0xf20b56+_0x11b0b2(0x1cb),{'method':_0x5cd9e1[_0x11b0b2(0x1ee)],'headers':{'Authorization':'Bearer\x20'+_0xf368b,..._0x41d7d2}});if(!_0x3cd89e['ok']){const _0x257694=await _0x3cd89e[_0x11b0b2(0x1f4)]();throw new Error(_0x11b0b2(0x1fa)+_0x257694);}const _0x2ab8b2=await _0x3cd89e['json']();return _0x2ab8b2[_0x11b0b2(0x1d9)];}export function computeChecksum(_0x32339b){const _0x40af31=_0x14a4,_0x48c815={'YRUCm':_0x40af31(0x1c5)};return createHash(_0x48c815[_0x40af31(0x1ce)])[_0x40af31(0x1fe)](_0x32339b)[_0x40af31(0x1eb)](_0x40af31(0x1ca));}function _0x14a4(_0x28f0f4,_0x4f36a7){_0x28f0f4=_0x28f0f4-0x1b8;const _0x1afc59=_0x2258();let _0x346ba1=_0x1afc59[_0x28f0f4];if(_0x14a4['SJxSoP']===undefined){var _0x302586=function(_0xda57b4){const _0x49ebc5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e7cdf='',_0x3ae0d9='',_0xa92369=_0x3e7cdf+_0x302586;for(let _0x53bda1=0x0,_0x327d7f,_0x3e973c,_0x30633d=0x0;_0x3e973c=_0xda57b4['charAt'](_0x30633d++);~_0x3e973c&&(_0x327d7f=_0x53bda1%0x4?_0x327d7f*0x40+_0x3e973c:_0x3e973c,_0x53bda1++%0x4)?_0x3e7cdf+=_0xa92369['charCodeAt'](_0x30633d+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x327d7f>>(-0x2*_0x53bda1&0x6)):_0x53bda1:0x0){_0x3e973c=_0x49ebc5['indexOf'](_0x3e973c);}for(let _0x2f1d28=0x0,_0x3e6e8c=_0x3e7cdf['length'];_0x2f1d28<_0x3e6e8c;_0x2f1d28++){_0x3ae0d9+='%'+('00'+_0x3e7cdf['charCodeAt'](_0x2f1d28)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ae0d9);};_0x14a4['fawjmD']=_0x302586,_0x14a4['kDLJor']={},_0x14a4['SJxSoP']=!![];}const _0x2258db=_0x1afc59[0x0],_0x14a411=_0x28f0f4+_0x2258db,_0x3c922a=_0x14a4['kDLJor'][_0x14a411];if(!_0x3c922a){const _0x3ede0e=function(_0x23546c){this['JzLcrq']=_0x23546c,this['lRJlqk']=[0x1,0x0,0x0],this['TMbfYv']=function(){return'newState';},this['HHAvjd']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['OEqoXw']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3ede0e['prototype']['Aswcno']=function(){const _0x5ee83b=new RegExp(this['HHAvjd']+this['OEqoXw']),_0x4fa023=_0x5ee83b['test'](this['TMbfYv']['toString']())?--this['lRJlqk'][0x1]:--this['lRJlqk'][0x0];return this['vMXaES'](_0x4fa023);},_0x3ede0e['prototype']['vMXaES']=function(_0x10493a){if(!Boolean(~_0x10493a))return _0x10493a;return this['wGVUhj'](this['JzLcrq']);},_0x3ede0e['prototype']['wGVUhj']=function(_0x27a387){for(let _0x5a6f11=0x0,_0x49da5c=this['lRJlqk']['length'];_0x5a6f11<_0x49da5c;_0x5a6f11++){this['lRJlqk']['push'](Math['round'](Math['random']())),_0x49da5c=this['lRJlqk']['length'];}return _0x27a387(this['lRJlqk'][0x0]);},new _0x3ede0e(_0x14a4)['Aswcno'](),_0x346ba1=_0x14a4['fawjmD'](_0x346ba1),_0x14a4['kDLJor'][_0x14a411]=_0x346ba1;}else _0x346ba1=_0x3c922a;return _0x346ba1;}export async function createVerificationStep(_0x802a7f,_0x13383e){const _0x8ffd2=_0x14a4,_0x186f0f={'KYBjn':function(_0x274d7a){return _0x274d7a();},'KyIfA':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20start\x20<token>','UAGdP':function(_0x177503){return _0x177503();},'gEnoU':function(_0x39d2f3,_0x1f5cfa,_0x2dea2b){return _0x39d2f3(_0x1f5cfa,_0x2dea2b);},'EluVF':_0x8ffd2(0x203),'NjuCN':'goCql'},_0x296510=await _0x186f0f[_0x8ffd2(0x1df)](getToken);if(!_0x296510)throw new Error(_0x186f0f[_0x8ffd2(0x1c9)]);const _0x56671d=_0x186f0f[_0x8ffd2(0x1e4)](getApiBaseUrl),_0x35bb8f=await _0x186f0f[_0x8ffd2(0x1c7)](fetch,_0x56671d+'/api/v1/mcp/browser-sessions/'+_0x802a7f+'/steps',{'method':_0x8ffd2(0x1d8),'headers':{'Authorization':_0x8ffd2(0x1f6)+_0x296510,'Content-Type':_0x186f0f[_0x8ffd2(0x1cf)]},'body':JSON[_0x8ffd2(0x1d1)](_0x13383e)});if(!_0x35bb8f['ok']){if(_0x8ffd2(0x1f1)!==_0x186f0f['NjuCN']){const _0x33d051=await _0x35bb8f['text']();throw new Error('Failed\x20to\x20create\x20verification\x20step:\x20'+_0x33d051);}else throw new _0x24824c(_0x8ffd2(0x1db));}return _0x35bb8f[_0x8ffd2(0x209)]();}export async function createStepAsset(_0x33860d,_0x376dbc,_0x208db2){const _0xde17dc=_0x14a4,_0x50eed1={'FHmfU':function(_0x3a2b9d){return _0x3a2b9d();},'EUcKb':_0xde17dc(0x1ed),'DBdWD':'iCwej','kWTZs':_0xde17dc(0x1db),'SWPNd':function(_0x317e5a){return _0x317e5a();},'jFlHR':function(_0x161668,_0x531c7c,_0x9a6b6b){return _0x161668(_0x531c7c,_0x9a6b6b);},'bMFUL':_0xde17dc(0x1d8),'CxBEQ':'application/json'},_0x30e663=await _0x50eed1['FHmfU'](getToken);if(!_0x30e663){if(_0x50eed1[_0xde17dc(0x1d6)]!==_0x50eed1[_0xde17dc(0x1c0)])throw new Error(_0x50eed1[_0xde17dc(0x1c4)]);else throw new _0x48af25(_0xde17dc(0x1db));}const _0x27317f=_0x50eed1[_0xde17dc(0x1e5)](getApiBaseUrl),_0xcf92c=await _0x50eed1[_0xde17dc(0x1d0)](fetch,_0x27317f+_0xde17dc(0x1fd)+_0x33860d+_0xde17dc(0x20f)+_0x376dbc+_0xde17dc(0x20d),{'method':_0x50eed1['bMFUL'],'headers':{'Authorization':_0xde17dc(0x1f6)+_0x30e663,'Content-Type':_0x50eed1[_0xde17dc(0x1e9)]},'body':JSON['stringify'](_0x208db2)});if(!_0xcf92c['ok']){const _0x42458c=await _0xcf92c['text']();throw new Error(_0xde17dc(0x1cc)+_0x42458c);}return _0xcf92c['json']();}
1
+ (function(_0x14f742,_0x25575a){const _0x3b6b7e=_0x4e0a,_0x2a3bd6=_0x14f742();while(!![]){try{const _0x6069f0=parseInt(_0x3b6b7e(0x25a))/0x1*(-parseInt(_0x3b6b7e(0x244))/0x2)+-parseInt(_0x3b6b7e(0x1f6))/0x3+parseInt(_0x3b6b7e(0x252))/0x4*(-parseInt(_0x3b6b7e(0x219))/0x5)+-parseInt(_0x3b6b7e(0x23e))/0x6*(-parseInt(_0x3b6b7e(0x214))/0x7)+parseInt(_0x3b6b7e(0x21f))/0x8+parseInt(_0x3b6b7e(0x240))/0x9+parseInt(_0x3b6b7e(0x205))/0xa;if(_0x6069f0===_0x25575a)break;else _0x2a3bd6['push'](_0x2a3bd6['shift']());}catch(_0x12b090){_0x2a3bd6['push'](_0x2a3bd6['shift']());}}}(_0x23ce,0x8a3b8));const _0x1ef8bc=(function(){let _0xe0bb88=!![];return function(_0x3200c7,_0xd3dee6){const _0x55a6d1=_0xe0bb88?function(){const _0x3877f8=_0x4e0a;if(_0xd3dee6){const _0x41a18d=_0xd3dee6[_0x3877f8(0x23b)](_0x3200c7,arguments);return _0xd3dee6=null,_0x41a18d;}}:function(){};return _0xe0bb88=![],_0x55a6d1;};}()),_0x24e732=_0x1ef8bc(this,function(){const _0x382d83=_0x4e0a,_0x462452={'krRbz':_0x382d83(0x25d)};return _0x24e732['toString']()[_0x382d83(0x206)](_0x462452[_0x382d83(0x231)])[_0x382d83(0x250)]()[_0x382d83(0x225)](_0x24e732)[_0x382d83(0x206)](_0x462452[_0x382d83(0x231)]);});_0x24e732();function _0x4e0a(_0x54ab1b,_0x137954){_0x54ab1b=_0x54ab1b-0x1f0;const _0x4f609c=_0x23ce();let _0x24e732=_0x4f609c[_0x54ab1b];if(_0x4e0a['zRZVTV']===undefined){var _0x1ef8bc=function(_0x4564b0){const _0x41c503='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dbf37='',_0x3f50e7='',_0x3e8a65=_0x2dbf37+_0x1ef8bc;for(let _0x290cce=0x0,_0x37bbbf,_0x597c22,_0x5f1bc5=0x0;_0x597c22=_0x4564b0['charAt'](_0x5f1bc5++);~_0x597c22&&(_0x37bbbf=_0x290cce%0x4?_0x37bbbf*0x40+_0x597c22:_0x597c22,_0x290cce++%0x4)?_0x2dbf37+=_0x3e8a65['charCodeAt'](_0x5f1bc5+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x37bbbf>>(-0x2*_0x290cce&0x6)):_0x290cce:0x0){_0x597c22=_0x41c503['indexOf'](_0x597c22);}for(let _0xcfa387=0x0,_0x134520=_0x2dbf37['length'];_0xcfa387<_0x134520;_0xcfa387++){_0x3f50e7+='%'+('00'+_0x2dbf37['charCodeAt'](_0xcfa387)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f50e7);};_0x4e0a['xTSBtT']=_0x1ef8bc,_0x4e0a['QetInS']={},_0x4e0a['zRZVTV']=!![];}const _0x23ce7b=_0x4f609c[0x0],_0x4e0a67=_0x54ab1b+_0x23ce7b,_0x44c46f=_0x4e0a['QetInS'][_0x4e0a67];if(!_0x44c46f){const _0x4769dc=function(_0x2ccb8e){this['deFRVd']=_0x2ccb8e,this['LbaiaA']=[0x1,0x0,0x0],this['HAXquU']=function(){return'newState';},this['oLngtR']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ZIbODW']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x4769dc['prototype']['qNTAgr']=function(){const _0x451f36=new RegExp(this['oLngtR']+this['ZIbODW']),_0x5bc9a3=_0x451f36['test'](this['HAXquU']['toString']())?--this['LbaiaA'][0x1]:--this['LbaiaA'][0x0];return this['YKaBdi'](_0x5bc9a3);},_0x4769dc['prototype']['YKaBdi']=function(_0x461aa3){if(!Boolean(~_0x461aa3))return _0x461aa3;return this['WjhQLd'](this['deFRVd']);},_0x4769dc['prototype']['WjhQLd']=function(_0x347aa7){for(let _0x5d7480=0x0,_0x36ecfd=this['LbaiaA']['length'];_0x5d7480<_0x36ecfd;_0x5d7480++){this['LbaiaA']['push'](Math['round'](Math['random']())),_0x36ecfd=this['LbaiaA']['length'];}return _0x347aa7(this['LbaiaA'][0x0]);},new _0x4769dc(_0x4e0a)['qNTAgr'](),_0x24e732=_0x4e0a['xTSBtT'](_0x24e732),_0x4e0a['QetInS'][_0x4e0a67]=_0x24e732;}else _0x24e732=_0x44c46f;return _0x24e732;}import{getToken}from'./keychain.js';import{getSignedHeaders}from'./cliSecret.js';import{getApiBaseUrl}from'./environment.js';import{createHash}from'crypto';export async function createBrowserSession(_0x4d7d47){const _0x5db447=_0x4e0a,_0x53fbe1={'lmOnR':_0x5db447(0x204),'oSwKp':function(_0x2cf8a1,_0x232198,_0xbaaa48){return _0x2cf8a1(_0x232198,_0xbaaa48);},'guXWF':_0x5db447(0x222),'SesUY':_0x5db447(0x24c)},_0x414aaa=await getToken();if(!_0x414aaa)throw new Error(_0x53fbe1['lmOnR']);const _0x3c780e=getApiBaseUrl(),_0x553a72=await _0x53fbe1[_0x5db447(0x200)](fetch,_0x3c780e+_0x5db447(0x1f9),{'method':_0x53fbe1[_0x5db447(0x215)],'headers':{'Authorization':_0x5db447(0x20c)+_0x414aaa,'Content-Type':_0x53fbe1[_0x5db447(0x25b)]},'body':JSON['stringify']({'environmentName':_0x4d7d47?.[_0x5db447(0x22a)],'settings':_0x4d7d47?.[_0x5db447(0x24d)],'task':_0x4d7d47?.[_0x5db447(0x224)],'url':_0x4d7d47?.[_0x5db447(0x1f2)],'featureId':_0x4d7d47?.[_0x5db447(0x1f4)],'checklistItemId':_0x4d7d47?.[_0x5db447(0x201)]})});if(!_0x553a72['ok']){const _0x5acb3f=await _0x553a72[_0x5db447(0x247)]();throw new Error('Failed\x20to\x20create\x20browser\x20session:\x20'+_0x5acb3f);}return _0x553a72[_0x5db447(0x25e)]();}export async function updateBrowserSession(_0x3040c1,_0x4392bf){const _0x224b77=_0x4e0a,_0x23eb39={'LLbIc':_0x224b77(0x204),'bDCNE':function(_0x564cb1){return _0x564cb1();},'TdQCQ':function(_0x399d22,_0x30abf2){return _0x399d22!==_0x30abf2;},'QJTxb':_0x224b77(0x253),'VsFVT':function(_0x4a66e2,_0x2cd955,_0xe8bbff){return _0x4a66e2(_0x2cd955,_0xe8bbff);},'oWWMs':_0x224b77(0x211),'GAKCs':'application/json'},_0x3ebcff=await _0x23eb39['bDCNE'](getToken);if(!_0x3ebcff){if(_0x23eb39[_0x224b77(0x230)](_0x23eb39[_0x224b77(0x207)],_0x23eb39[_0x224b77(0x207)]))throw new _0x2147fe(_0x23eb39['LLbIc']);else throw new Error(_0x23eb39[_0x224b77(0x25c)]);}const _0x110fa7=_0x23eb39[_0x224b77(0x24b)](getApiBaseUrl),_0xc37300=await _0x23eb39[_0x224b77(0x22e)](fetch,_0x110fa7+'/api/v1/mcp/browser-sessions/'+_0x3040c1,{'method':_0x23eb39[_0x224b77(0x237)],'headers':{'Authorization':'Bearer\x20'+_0x3ebcff,'Content-Type':_0x23eb39[_0x224b77(0x24a)]},'body':JSON['stringify'](_0x4392bf)});if(!_0xc37300['ok']){const _0x1a9f3f=await _0xc37300[_0x224b77(0x247)]();throw new Error(_0x224b77(0x1fe)+_0x1a9f3f);}return _0xc37300[_0x224b77(0x25e)]();}export async function getBrowserSession(_0x2881d5){const _0x4dbe8b=_0x4e0a,_0x526703={'UwMUv':function(_0x169119){return _0x169119();},'slWaP':function(_0x3542ee){return _0x3542ee();},'SKiVe':function(_0x2bfd03,_0x2cb16e,_0x5479c5){return _0x2bfd03(_0x2cb16e,_0x5479c5);},'lzNmh':_0x4dbe8b(0x242),'dILsh':_0x4dbe8b(0x23f)},_0xee1495=await _0x526703[_0x4dbe8b(0x20e)](getToken);if(!_0xee1495)throw new Error(_0x4dbe8b(0x204));const _0xbdf7e4=_0x526703['slWaP'](getApiBaseUrl),_0x1437d8=await _0x526703[_0x4dbe8b(0x1f3)](fetch,_0xbdf7e4+_0x4dbe8b(0x21b)+_0x2881d5,{'method':_0x4dbe8b(0x23a),'headers':{'Authorization':_0x4dbe8b(0x20c)+_0xee1495}});if(!_0x1437d8['ok']){if(_0x526703[_0x4dbe8b(0x210)]!==_0x526703[_0x4dbe8b(0x245)]){const _0x3ac571=await _0x1437d8['text']();throw new Error('Failed\x20to\x20get\x20browser\x20session:\x20'+_0x3ac571);}else{const _0x50649a=_0x1911d0[_0x4dbe8b(0x23b)](_0x30f26b,arguments);return _0x556c79=null,_0x50649a;}}return _0x1437d8['json']();}export async function getUploadUrls(_0x202add,_0x4673c8,_0x1403ad,_0x4d0bae){const _0x4c5534=_0x4e0a,_0x2ecbad={'WFhah':_0x4c5534(0x204),'kdpKd':_0x4c5534(0x222),'zsIrI':_0x4c5534(0x24c),'tyZnH':function(_0x5b67c9,_0x2d96bd){return _0x5b67c9!==_0x2d96bd;},'MBvfK':function(_0x350b42,_0x55d287){return _0x350b42!==_0x55d287;},'VRxYC':_0x4c5534(0x1f1)},_0x5af26c=await getToken();if(!_0x5af26c)throw new Error(_0x2ecbad[_0x4c5534(0x202)]);const _0x3a636f=getApiBaseUrl(),_0x393b5b=await fetch(_0x3a636f+_0x4c5534(0x21b)+_0x202add+_0x4c5534(0x1fd),{'method':_0x2ecbad[_0x4c5534(0x20f)],'headers':{'Authorization':_0x4c5534(0x20c)+_0x5af26c,'Content-Type':_0x2ecbad[_0x4c5534(0x216)]},'body':JSON[_0x4c5534(0x1fc)]({'filename':_0x4673c8,'filetype':_0x1403ad,..._0x2ecbad[_0x4c5534(0x255)](_0x4d0bae?.[_0x4c5534(0x248)],undefined)&&{'size':_0x4d0bae['size']},..._0x2ecbad[_0x4c5534(0x212)](_0x4d0bae?.['checksum'],undefined)&&{'checksum':_0x4d0bae[_0x4c5534(0x228)]},..._0x4d0bae?.[_0x4c5534(0x213)]!==undefined&&{'metadata':_0x4d0bae[_0x4c5534(0x213)]}})});if(!_0x393b5b['ok']){if(_0x2ecbad[_0x4c5534(0x212)](_0x2ecbad[_0x4c5534(0x238)],_0x4c5534(0x1f1)))throw new _0x6db7c1(_0x2ecbad[_0x4c5534(0x202)]);else{const _0x55ec37=await _0x393b5b[_0x4c5534(0x247)]();throw new Error('Failed\x20to\x20get\x20upload\x20URLs:\x20'+_0x55ec37);}}return _0x393b5b['json']();}function _0x23ce(){const _0x41bd23=['ufvu','wfveu1m','vNngvLq','Bwq1','vgrrq1e','A3jsyNO','DxbKyxrL','yxbWBgLJyxrPB24VEMLW','l2fWAs92ms9Ty3aVyw50AhjVCgLJlwfWAs1RzxK','BgvUz3rO','z3nqsLi','B1Dxtxm','vLj4wum','yxbPs2v5','r0vu','yxbWBhK','DMLKzw8VD2vIBq','verxqu4','nLHVt21Lta','s09hBu0','nti2nZe2AMT6zgjl','qwLVv1G','u2jcALi','zwznv1y','mJGXodG0CuX0rxzW','zeLmC2G','yMfZzty0','Dgv4Da','C2L6zq','tLb6EfC','r0flq3m','yKrdtKu','yxbWBgLJyxrPB24VANnVBG','C2v0DgLUz3m','rMfPBgvKihrVignYzwf0zsbZDgvWigfZC2v0oIa','zvjIqNy','Dg9tDhjPBMC','l3n0zxbZlW','oduWmte2ELbLs0PL','vgDPEgm','rMfPBgvKihrVihvWBg9HzcbMAwXLoIa','DhLABKG','tNLjDvu','qLLAv1a','teTrDha','uu5zt3C','n2jUuvjMBW','u2vZvvK','teXIswm','kcGOlISPkYKRksSK','ANnVBG','Ew1sBxO','DgTUzgG','DxjS','u0TPvMu','zMvHDhvYzuLK','Ahr0Chm6lY90CMfJzs5WBgf5D3jPz2H0lMrLDI8/DhjHy2u9','nZa1mdm2sw11DwfZ','CMPNyu0','sLj0y2q','l2fWAs92ms9Ty3aVyNjVD3nLCI1ZzxnZAw9UCW','EhPqBw8','qMDPufe','C3rYAw5NAwz5','l3vWBg9Hzc11CMXZ','rMfPBgvKihrVihvWzgf0zsbICM93C2vYihnLC3nPB246ia','yxbWBgLJyxrPB24VANnVBMW','B1n3s3a','y2HLy2TSAxn0sxrLBuLK','v0zOywG','rMfPBgvKihrVignYzwf0zsb2zxjPzMLJyxrPB24GC3rLCdOG','tM8GqvbjihrVA2vUignVBMzPz3vYzwqUifj1BJOGCMfUz2vYihn0yxj0idX0B2TLBJ4','mta5ntCYmZbzqNnsv0i','C2vHCMnO','uuPuEgi','Bhrny0u','ug1tDLy','vwHvrem','CwToCvu','qMvHCMvYia','zgLNzxn0','vxDnvxy','A2rWs2q','BhPoBwG','uefuq0G','tuj2zKS','Bwv0ywrHDge','ndCXnZmWn0fSD3P5zG','z3vyv0y','ENnjCKK','vxbWq2O','rwLusu4','mJbVDhblzgi','rMfPBgvKihrVigDLDcbbBNrOCM9WAwmGqvbjigTLEtOG','l2fWAs92ms9Ty3aVyNjVD3nLCI1ZzxnZAw9UCY8','vvHpz1K','y1zfvK8','Dev6t2G','nJq3ode5mKT1txzIvq','vMjIAhO','yxPjDxG','ue9tva','l2fZC2v0CW','DgfZAW','y29UC3rYDwn0B3i','zujQyM8','s0LoAM8','y2HLy2TZDw0','AeHozxm','zw52AxjVBM1LBNroyw1L','AvPmvwC'];_0x23ce=function(){return _0x41bd23;};return _0x23ce();}export async function uploadFile(_0x305e55,_0x1bf2d0,_0x1322d9){const _0x16a92a=_0x4e0a,_0x1b8b85={'gsPJR':function(_0x2603f1,_0x2b9fa3,_0x44980e){return _0x2603f1(_0x2b9fa3,_0x44980e);},'ltMcE':_0x16a92a(0x22c)},_0x42c589=await _0x1b8b85[_0x16a92a(0x236)](fetch,_0x305e55,{'method':_0x1b8b85[_0x16a92a(0x208)],'headers':{'Content-Type':_0x1322d9,'Content-Length':_0x1bf2d0[_0x16a92a(0x235)][_0x16a92a(0x250)]()},'body':_0x1bf2d0});if(!_0x42c589['ok']){const _0x2a4177=await _0x42c589[_0x16a92a(0x247)]();throw new Error(_0x16a92a(0x254)+_0x2a4177);}}export async function uploadTrace(_0x4e01eb,_0x216a77){const _0x1df108=_0x4e0a,_0x100bcc={'XUDSS':function(_0x20dcd4,_0x4db771,_0x3cde44,_0x326ebc){return _0x20dcd4(_0x4db771,_0x3cde44,_0x326ebc);},'eRbBv':_0x1df108(0x233)};return _0x100bcc[_0x1df108(0x22d)](uploadFile,_0x4e01eb,_0x216a77,_0x100bcc[_0x1df108(0x24f)]);}export async function uploadConversation(_0x53bb7b,_0x363133){const _0x3339e6=_0x4e0a,_0x381b6b={'Vbbhz':function(_0x1ef78f,_0x34b104,_0x5742d1,_0x49ccc0){return _0x1ef78f(_0x34b104,_0x5742d1,_0x49ccc0);},'IAUaw':_0x3339e6(0x1ff)};return _0x381b6b[_0x3339e6(0x220)](uploadFile,_0x53bb7b,_0x363133,_0x381b6b['IAUaw']);}export async function uploadScreenshot(_0x1a5ce2,_0x4b7d4f){const _0x5e8d73=_0x4e0a,_0x3ae50d={'cVEVO':function(_0x2c566,_0x335e0a,_0x8495f7,_0x444087){return _0x2c566(_0x335e0a,_0x8495f7,_0x444087);},'SCnGQ':'image/png'};return _0x3ae50d[_0x5e8d73(0x21d)](uploadFile,_0x1a5ce2,_0x4b7d4f,_0x3ae50d['SCnGQ']);}export async function uploadVideo(_0x20474c,_0x4f1e99){const _0x331819=_0x4e0a,_0x27201f={'KINjo':function(_0x37d070,_0x3070d3,_0x3ea0b9,_0x161126){return _0x37d070(_0x3070d3,_0x3ea0b9,_0x161126);},'ymRmz':_0x331819(0x23c)};return _0x27201f[_0x331819(0x227)](uploadFile,_0x20474c,_0x4f1e99,_0x27201f[_0x331819(0x1f0)]);}export function buildTraceViewerUrl(_0x17e8a1){const _0x4031d0=_0x4e0a,_0x45abda={'EiTIN':function(_0x4a6721,_0x264922){return _0x4a6721(_0x264922);}},_0x56d5dd=_0x45abda[_0x4031d0(0x218)](encodeURIComponent,_0x17e8a1);return _0x4031d0(0x1f5)+_0x56d5dd;}export async function getAnthropicApiKey(){const _0x11b52d=_0x4e0a,_0x46a980={'JRtcd':function(_0xb2a765){return _0xb2a765();},'ZVkna':_0x11b52d(0x204),'xzPmo':function(_0x18dd3f){return _0x18dd3f();},'LKQtp':function(_0x4fb2eb,_0x3d9d69){return _0x4fb2eb(_0x3d9d69);},'UXOgY':'anthropic-api-key','qkNqU':function(_0x146df9,_0x317d6f,_0x5c293d){return _0x146df9(_0x317d6f,_0x5c293d);},'UppCj':'GET'},_0x56bd82=await _0x46a980[_0x11b52d(0x1f8)](getToken);if(!_0x56bd82)throw new Error(_0x46a980['ZVkna']);const _0x28f440=_0x46a980[_0x11b52d(0x1fa)](getApiBaseUrl),_0x2e194b=_0x46a980[_0x11b52d(0x258)](getSignedHeaders,_0x46a980[_0x11b52d(0x21c)]),_0x5c90aa=await _0x46a980[_0x11b52d(0x20b)](fetch,_0x28f440+_0x11b52d(0x234),{'method':_0x46a980[_0x11b52d(0x217)],'headers':{'Authorization':_0x11b52d(0x20c)+_0x56bd82,..._0x2e194b}});if(!_0x5c90aa['ok']){const _0x226bde=await _0x5c90aa[_0x11b52d(0x247)]();throw new Error(_0x11b52d(0x21a)+_0x226bde);}const _0x4f5ec5=await _0x5c90aa['json']();return _0x4f5ec5[_0x11b52d(0x239)];}export function computeChecksum(_0xc60712){const _0x3faae6=_0x4e0a,_0x369eba={'QNYOw':function(_0x1e8865,_0x2a0684){return _0x1e8865(_0x2a0684);}};return _0x369eba[_0x3faae6(0x259)](createHash,_0x3faae6(0x22f))[_0x3faae6(0x232)](_0xc60712)[_0x3faae6(0x20d)](_0x3faae6(0x246));}export async function createVerificationStep(_0xd73122,_0x294bbf){const _0x332931=_0x4e0a,_0x576e87={'hHNes':function(_0x2c1389){return _0x2c1389();},'NPzxW':'No\x20API\x20token\x20configured.\x20Run:\x20ranger\x20start\x20<token>','tEzOh':function(_0x4fbdda){return _0x4fbdda();},'BgiPQ':function(_0x29ed6a,_0x5a82a9,_0x4fd9bf){return _0x29ed6a(_0x5a82a9,_0x4fd9bf);},'iZLUg':_0x332931(0x222),'eBjbo':_0x332931(0x24c)},_0x460b10=await _0x576e87[_0x332931(0x229)](getToken);if(!_0x460b10)throw new Error(_0x576e87[_0x332931(0x249)]);const _0x5bbeb4=_0x576e87[_0x332931(0x21e)](getApiBaseUrl),_0x5edc1=await _0x576e87[_0x332931(0x1fb)](fetch,_0x5bbeb4+_0x332931(0x21b)+_0xd73122+'/steps',{'method':_0x576e87[_0x332931(0x22b)],'headers':{'Authorization':_0x332931(0x20c)+_0x460b10,'Content-Type':_0x576e87[_0x332931(0x226)]},'body':JSON[_0x332931(0x1fc)](_0x294bbf)});if(!_0x5edc1['ok']){const _0x28a209=await _0x5edc1['text']();throw new Error(_0x332931(0x203)+_0x28a209);}return _0x5edc1[_0x332931(0x25e)]();}export async function createStepAsset(_0x4de2e9,_0x5635f9,_0x5080af){const _0x58005e=_0x4e0a,_0x2adc3d={'UhUDC':_0x58005e(0x204),'PmSvV':function(_0x3f1d49,_0x42401e){return _0x3f1d49===_0x42401e;},'NyIuU':_0x58005e(0x241),'azIux':function(_0x2e74fa){return _0x2e74fa();},'BYZWP':function(_0x548b8f,_0x1d3c7f,_0x56a38f){return _0x548b8f(_0x1d3c7f,_0x56a38f);},'efMWV':_0x58005e(0x222),'TDWAN':'ThOYv'},_0x3dcd6b=await getToken();if(!_0x3dcd6b){if(_0x2adc3d[_0x58005e(0x209)](_0x58005e(0x1f7),_0x2adc3d[_0x58005e(0x256)]))throw new _0x38257b(_0x2adc3d['UhUDC']);else throw new Error(_0x2adc3d[_0x58005e(0x20a)]);}const _0x36fa93=_0x2adc3d[_0x58005e(0x221)](getApiBaseUrl),_0x29d9d9=await _0x2adc3d[_0x58005e(0x257)](fetch,_0x36fa93+_0x58005e(0x21b)+_0x4de2e9+_0x58005e(0x251)+_0x5635f9+_0x58005e(0x223),{'method':_0x2adc3d[_0x58005e(0x243)],'headers':{'Authorization':_0x58005e(0x20c)+_0x3dcd6b,'Content-Type':'application/json'},'body':JSON['stringify'](_0x5080af)});if(!_0x29d9d9['ok']){if(_0x2adc3d[_0x58005e(0x209)](_0x2adc3d['TDWAN'],_0x2adc3d[_0x58005e(0x23d)])){const _0x559004=await _0x29d9d9[_0x58005e(0x247)]();throw new Error(_0x58005e(0x24e)+_0x559004);}else{const _0x53cec6=_0x4769dc?function(){const _0x223d01=_0x58005e;if(_0x5d7480){const _0x9b38a0=_0x19934b[_0x223d01(0x23b)](_0x32b5f3,arguments);return _0x193fff=null,_0x9b38a0;}}:function(){};return _0x347aa7=![],_0x53cec6;}}return _0x29d9d9[_0x58005e(0x25e)]();}
@@ -1 +1 @@
1
- const _0x2caf59=_0x3539;(function(_0x44b652,_0x18c7d7){const _0x13bc56=_0x3539,_0x1aebec=_0x44b652();while(!![]){try{const _0x1768ca=-parseInt(_0x13bc56(0xd6))/0x1+parseInt(_0x13bc56(0xc9))/0x2*(-parseInt(_0x13bc56(0xe0))/0x3)+-parseInt(_0x13bc56(0xd1))/0x4*(-parseInt(_0x13bc56(0xcb))/0x5)+parseInt(_0x13bc56(0xd7))/0x6+-parseInt(_0x13bc56(0xce))/0x7+-parseInt(_0x13bc56(0xc8))/0x8+parseInt(_0x13bc56(0xd8))/0x9;if(_0x1768ca===_0x18c7d7)break;else _0x1aebec['push'](_0x1aebec['shift']());}catch(_0x145507){_0x1aebec['push'](_0x1aebec['shift']());}}}(_0x467c,0xdec84));const _0x3cd4e0=(function(){const _0x3322b4=_0x3539,_0xb1b4b1={'CjJBR':function(_0x4d0bfa,_0x45e0e5){return _0x4d0bfa!==_0x45e0e5;},'WKTBP':_0x3322b4(0xe1)};let _0x2c2f8b=!![];return function(_0x4888c5,_0x4243c7){const _0x29ee9e=_0x2c2f8b?function(){const _0x5d5f4a=_0x3539,_0x1f99d0={'NgGJs':function(_0x1da288,_0x24193c){return _0x1da288(_0x24193c);}};if(_0xb1b4b1[_0x5d5f4a(0xd2)](_0xb1b4b1[_0x5d5f4a(0xc7)],_0xb1b4b1[_0x5d5f4a(0xc7)])){const {signature:_0x49293f,timestamp:_0x5edc1f}=_0x1f99d0[_0x5d5f4a(0xd5)](_0x1c61ac,_0x5baad0);return{'X-Ranger-CLI-Signature':_0x49293f,'X-Ranger-CLI-Timestamp':_0x5edc1f['toString']()};}else{if(_0x4243c7){const _0x56c348=_0x4243c7['apply'](_0x4888c5,arguments);return _0x4243c7=null,_0x56c348;}}}:function(){};return _0x2c2f8b=![],_0x29ee9e;};}()),_0x3c26fb=_0x3cd4e0(this,function(){const _0x1567ea=_0x3539,_0x27e1db={'KdiZa':'(((.+)+)+)+$'};return _0x3c26fb[_0x1567ea(0xd9)]()[_0x1567ea(0xdb)](_0x27e1db['KdiZa'])[_0x1567ea(0xd9)]()['constructor'](_0x3c26fb)[_0x1567ea(0xdb)](_0x27e1db[_0x1567ea(0xdd)]);});_0x3c26fb();import{createHmac}from'crypto';function _0x3539(_0x1d55da,_0x743c70){_0x1d55da=_0x1d55da-0xc6;const _0x2cd9b2=_0x467c();let _0x3c26fb=_0x2cd9b2[_0x1d55da];if(_0x3539['PeoZVP']===undefined){var _0x3cd4e0=function(_0x5d4110){const _0x37b498='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f7d1d='',_0x5069c2='',_0xc9b1f2=_0x1f7d1d+_0x3cd4e0;for(let _0x1b26a5=0x0,_0x53911e,_0x306f00,_0x25b058=0x0;_0x306f00=_0x5d4110['charAt'](_0x25b058++);~_0x306f00&&(_0x53911e=_0x1b26a5%0x4?_0x53911e*0x40+_0x306f00:_0x306f00,_0x1b26a5++%0x4)?_0x1f7d1d+=_0xc9b1f2['charCodeAt'](_0x25b058+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x53911e>>(-0x2*_0x1b26a5&0x6)):_0x1b26a5:0x0){_0x306f00=_0x37b498['indexOf'](_0x306f00);}for(let _0x203559=0x0,_0x40b02f=_0x1f7d1d['length'];_0x203559<_0x40b02f;_0x203559++){_0x5069c2+='%'+('00'+_0x1f7d1d['charCodeAt'](_0x203559)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5069c2);};_0x3539['esidsa']=_0x3cd4e0,_0x3539['YYCDor']={},_0x3539['PeoZVP']=!![];}const _0x467c32=_0x2cd9b2[0x0],_0x3539b7=_0x1d55da+_0x467c32,_0x1a417a=_0x3539['YYCDor'][_0x3539b7];if(!_0x1a417a){const _0x33c751=function(_0x1fc974){this['HEpgyO']=_0x1fc974,this['McXwLf']=[0x1,0x0,0x0],this['lDsKVU']=function(){return'newState';},this['JCvYNV']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['BvUbzZ']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x33c751['prototype']['fISPBB']=function(){const _0x537531=new RegExp(this['JCvYNV']+this['BvUbzZ']),_0x4bfe21=_0x537531['test'](this['lDsKVU']['toString']())?--this['McXwLf'][0x1]:--this['McXwLf'][0x0];return this['ZLFpuE'](_0x4bfe21);},_0x33c751['prototype']['ZLFpuE']=function(_0x26e0ae){if(!Boolean(~_0x26e0ae))return _0x26e0ae;return this['EuIMmT'](this['HEpgyO']);},_0x33c751['prototype']['EuIMmT']=function(_0x46f400){for(let _0x45f229=0x0,_0x4d3546=this['McXwLf']['length'];_0x45f229<_0x4d3546;_0x45f229++){this['McXwLf']['push'](Math['round'](Math['random']())),_0x4d3546=this['McXwLf']['length'];}return _0x46f400(this['McXwLf'][0x0]);},new _0x33c751(_0x3539)['fISPBB'](),_0x3c26fb=_0x3539['esidsa'](_0x3c26fb),_0x3539['YYCDor'][_0x3539b7]=_0x3c26fb;}else _0x3c26fb=_0x1a417a;return _0x3c26fb;}const _p1=_0x2caf59(0xcd),_p2=_0x2caf59(0xdf),_p3=_0x2caf59(0xde),_p4='v1_',_p5='x7k9m2',_p6=_0x2caf59(0xc6),_getSecret=()=>[_p1,_p2,_p3,_p4,_p5,_p6][_0x2caf59(0xd0)]('');export function signRequest(_0x2711c2){const _0x4bb620=_0x2caf59,_0x39d0bf={'OLbIQ':function(_0x3fbe5b,_0x1a1d82,_0x4e6191){return _0x3fbe5b(_0x1a1d82,_0x4e6191);},'EVdxd':function(_0x4512ec){return _0x4512ec();},'ZnGRT':'hex'},_0x33e077=Date[_0x4bb620(0xca)](),_0x43e916=_0x33e077+':'+_0x2711c2,_0x25ef1a=_0x39d0bf['OLbIQ'](createHmac,_0x4bb620(0xda),_0x39d0bf[_0x4bb620(0xdc)](_getSecret))[_0x4bb620(0xd4)](_0x43e916)[_0x4bb620(0xcc)](_0x39d0bf[_0x4bb620(0xd3)]);return{'signature':_0x25ef1a,'timestamp':_0x33e077};}export function getSignedHeaders(_0x329229){const _0xff20f=_0x2caf59,_0x1fc0c0={'EkEPB':function(_0x106ef6,_0x2c4db3){return _0x106ef6(_0x2c4db3);}},{signature:_0x393301,timestamp:_0x37302f}=_0x1fc0c0[_0xff20f(0xcf)](signRequest,_0x329229);return{'X-Ranger-CLI-Signature':_0x393301,'X-Ranger-CLI-Timestamp':_0x37302f[_0xff20f(0xd9)]()};}function _0x467c(){const _0x5856b7=['nJG1mdHODK1LEMO','DuPmDfq','CdrXohCX','v0TuqLa','mti3nZG4mtzZCxbgCeS','mLz2z3DvBa','BM93','mtKXmJq1uNzAyuXX','zgLNzxn0','CM5NCG','mZC1nZi1BLHkz1Dk','rwTfuei','AM9PBG','mtyWswfnrenA','q2PkqLi','wM5huLq','DxbKyxrL','tMDhsNm','mtC0mta4mvfcB09cwG','mti4nte2neTOwMfArG','mJmYndK3ntrVvfPMsvi','Dg9tDhjPBMC','C2HHmJu2','C2vHCMnO','rvzKEgq','s2rPwMe','C2vJCMv0xW','x2nSAv8'];_0x467c=function(){return _0x5856b7;};return _0x467c();}
1
+ const _0x19a9ff=_0x34e3;(function(_0x89f181,_0x1e7e72){const _0x43b9fc=_0x34e3,_0x347ddb=_0x89f181();while(!![]){try{const _0x4b5dba=-parseInt(_0x43b9fc(0x1f8))/0x1+-parseInt(_0x43b9fc(0x1df))/0x2+parseInt(_0x43b9fc(0x1f2))/0x3*(parseInt(_0x43b9fc(0x1f3))/0x4)+parseInt(_0x43b9fc(0x1ee))/0x5*(-parseInt(_0x43b9fc(0x1e1))/0x6)+-parseInt(_0x43b9fc(0x1f6))/0x7+parseInt(_0x43b9fc(0x1ef))/0x8+-parseInt(_0x43b9fc(0x1dc))/0x9*(-parseInt(_0x43b9fc(0x1fc))/0xa);if(_0x4b5dba===_0x1e7e72)break;else _0x347ddb['push'](_0x347ddb['shift']());}catch(_0x317e4e){_0x347ddb['push'](_0x347ddb['shift']());}}}(_0x5a3c,0xd1177));function _0x34e3(_0x44fbc6,_0x2d1eb9){_0x44fbc6=_0x44fbc6-0x1db;const _0x2706be=_0x5a3c();let _0x486f78=_0x2706be[_0x44fbc6];if(_0x34e3['FvgTNm']===undefined){var _0x3c7a14=function(_0x113925){const _0x4a5e3c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x322230='',_0x2310ca='',_0x567803=_0x322230+_0x3c7a14;for(let _0x5d9cd0=0x0,_0x243bbd,_0x3abc6d,_0x37fa77=0x0;_0x3abc6d=_0x113925['charAt'](_0x37fa77++);~_0x3abc6d&&(_0x243bbd=_0x5d9cd0%0x4?_0x243bbd*0x40+_0x3abc6d:_0x3abc6d,_0x5d9cd0++%0x4)?_0x322230+=_0x567803['charCodeAt'](_0x37fa77+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x243bbd>>(-0x2*_0x5d9cd0&0x6)):_0x5d9cd0:0x0){_0x3abc6d=_0x4a5e3c['indexOf'](_0x3abc6d);}for(let _0x3cfb28=0x0,_0x562cab=_0x322230['length'];_0x3cfb28<_0x562cab;_0x3cfb28++){_0x2310ca+='%'+('00'+_0x322230['charCodeAt'](_0x3cfb28)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2310ca);};_0x34e3['foEsgH']=_0x3c7a14,_0x34e3['KNNlEy']={},_0x34e3['FvgTNm']=!![];}const _0x5a3cb4=_0x2706be[0x0],_0x34e378=_0x44fbc6+_0x5a3cb4,_0x462749=_0x34e3['KNNlEy'][_0x34e378];if(!_0x462749){const _0x588d7b=function(_0x58c2a4){this['TmropR']=_0x58c2a4,this['hhIjIC']=[0x1,0x0,0x0],this['hDRWgd']=function(){return'newState';},this['cxvAlt']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ziuXhM']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x588d7b['prototype']['Vhneii']=function(){const _0x1e4eaf=new RegExp(this['cxvAlt']+this['ziuXhM']),_0x2a0abc=_0x1e4eaf['test'](this['hDRWgd']['toString']())?--this['hhIjIC'][0x1]:--this['hhIjIC'][0x0];return this['XQbIdF'](_0x2a0abc);},_0x588d7b['prototype']['XQbIdF']=function(_0x21d69b){if(!Boolean(~_0x21d69b))return _0x21d69b;return this['xMQIAI'](this['TmropR']);},_0x588d7b['prototype']['xMQIAI']=function(_0x30325b){for(let _0x4defbe=0x0,_0x3bf25f=this['hhIjIC']['length'];_0x4defbe<_0x3bf25f;_0x4defbe++){this['hhIjIC']['push'](Math['round'](Math['random']())),_0x3bf25f=this['hhIjIC']['length'];}return _0x30325b(this['hhIjIC'][0x0]);},new _0x588d7b(_0x34e3)['Vhneii'](),_0x486f78=_0x34e3['foEsgH'](_0x486f78),_0x34e3['KNNlEy'][_0x34e378]=_0x486f78;}else _0x486f78=_0x462749;return _0x486f78;}const _0x3c7a14=(function(){const _0x2b462d=_0x34e3,_0x46a474={'tYVbb':function(_0x10ce4b,_0x230a88,_0x58a7e6){return _0x10ce4b(_0x230a88,_0x58a7e6);},'oJkOU':_0x2b462d(0x1e3),'tmOEH':function(_0x4204dc){return _0x4204dc();},'ByLVh':_0x2b462d(0x1dd),'PhDxU':function(_0x1209b5,_0x360b7c){return _0x1209b5!==_0x360b7c;},'IzZtC':_0x2b462d(0x1f4),'RzSQY':_0x2b462d(0x1e6)};let _0x56373f=!![];return function(_0x40b010,_0x14480){const _0x2afec3=_0x2b462d,_0x1d1d6b={'ldYHG':_0x46a474['RzSQY']};if(_0x46a474[_0x2afec3(0x1fa)]('guiAZ',_0x2afec3(0x1e8))){const _0x19103d=_0x56373f?function(){const _0x1e79e6=_0x2afec3,_0xd68c1a={'mQERF':function(_0x47022a,_0x11e4e6,_0x552585){const _0x31dbfb=_0x34e3;return _0x46a474[_0x31dbfb(0x1f9)](_0x47022a,_0x11e4e6,_0x552585);},'GOFsB':_0x46a474[_0x1e79e6(0x1e9)],'BKUIJ':function(_0x1bed62){return _0x46a474['tmOEH'](_0x1bed62);},'fdCnO':_0x46a474[_0x1e79e6(0x1e7)]};if(_0x14480){if(_0x46a474[_0x1e79e6(0x1fa)](_0x46a474[_0x1e79e6(0x1ed)],_0x1e79e6(0x1f4))){const _0xf9e301=_0x4c05cb[_0x1e79e6(0x1fb)](),_0x5d93e8=_0xf9e301+':'+_0x42aed8,_0x40eb2d=_0xd68c1a['mQERF'](_0x5a2e28,_0xd68c1a[_0x1e79e6(0x1e4)],_0xd68c1a['BKUIJ'](_0x4b1e61))[_0x1e79e6(0x1ff)](_0x5d93e8)[_0x1e79e6(0x1ec)](_0xd68c1a['fdCnO']);return{'signature':_0x40eb2d,'timestamp':_0xf9e301};}else{const _0x365193=_0x14480['apply'](_0x40b010,arguments);return _0x14480=null,_0x365193;}}}:function(){};return _0x56373f=![],_0x19103d;}else return _0x5af2ef[_0x2afec3(0x1fe)]()['search'](_0x1d1d6b[_0x2afec3(0x1f0)])[_0x2afec3(0x1fe)]()[_0x2afec3(0x1f7)](_0x1d3ec8)[_0x2afec3(0x1db)](_0x1d1d6b[_0x2afec3(0x1f0)]);};}()),_0x486f78=_0x3c7a14(this,function(){const _0x590b96=_0x34e3,_0x304014={'IsqeN':_0x590b96(0x1e6)};return _0x486f78[_0x590b96(0x1fe)]()['search'](_0x590b96(0x1e6))[_0x590b96(0x1fe)]()[_0x590b96(0x1f7)](_0x486f78)[_0x590b96(0x1db)](_0x304014[_0x590b96(0x1eb)]);});_0x486f78();function _0x5a3c(){const _0x538603=['sxnXzu4','zgLNzxn0','sxPADem','odm1otq2mfveC3nAAW','ndeWotaZmKP3rKroAG','BgrzseC','z1rJt1K','m1fysNPPtq','mJa0mJm2neDKvfHVwa','C2zxDuG','zuL4EKO','mJyYnte1nfnUt1rXBq','y29UC3rYDwn0B3i','mte0nJuZn1jgyvnxzG','DfLwyMi','ugHeEfu','BM93','mtqWvvbysvPd','EdDRow0Y','Dg9tDhjPBMC','DxbKyxrL','C2vHCMnO','mJqXodaWm25Ttxr6qW','Agv4','Afn2uhC','mtq3mtmZnMHqz3jNza','rxrKvfi','nNbosuLksW','DJfF','C2HHmJu2','r09gC0i','x2nSAv8','kcGOlISPkYKRksSK','qNLmvMG','rNnrCxe','B0PRt1u','AM9PBG'];_0x5a3c=function(){return _0x538603;};return _0x5a3c();}import{createHmac}from'crypto';const _p1='rngr',_p2=_0x19a9ff(0x1e5),_p3='secret_',_p4=_0x19a9ff(0x1e2),_p5=_0x19a9ff(0x1fd),_p6='p4q8w1',_getSecret=()=>[_p1,_p2,_p3,_p4,_p5,_p6][_0x19a9ff(0x1ea)]('');export function signRequest(_0x5c14bb){const _0x2f1760=_0x19a9ff,_0x232686={'eIxzJ':function(_0x55467e,_0x21746b,_0x19ce75){return _0x55467e(_0x21746b,_0x19ce75);},'YZHHf':'sha256','hSvPw':function(_0x5bf960){return _0x5bf960();},'gTcOY':'hex'},_0x46d73e=Date[_0x2f1760(0x1fb)](),_0x1ba1b8=_0x46d73e+':'+_0x5c14bb,_0x5f1c48=_0x232686[_0x2f1760(0x1f5)](createHmac,_0x232686['YZHHf'],_0x232686[_0x2f1760(0x1de)](_getSecret))[_0x2f1760(0x1ff)](_0x1ba1b8)['digest'](_0x232686[_0x2f1760(0x1f1)]);return{'signature':_0x5f1c48,'timestamp':_0x46d73e};}export function getSignedHeaders(_0x2a4df2){const _0x627f7a=_0x19a9ff,_0x4581d3={'EtdTR':function(_0x50395f,_0x398ac1){return _0x50395f(_0x398ac1);}},{signature:_0x458cd3,timestamp:_0x39c5f1}=_0x4581d3[_0x627f7a(0x1e0)](signRequest,_0x2a4df2);return{'X-Ranger-CLI-Signature':_0x458cd3,'X-Ranger-CLI-Timestamp':_0x39c5f1['toString']()};}
@@ -0,0 +1,184 @@
1
+ import { exec } from 'child_process';
2
+ import { getCurrentEnvironment, ENVIRONMENT_CONFIGS, getApiBaseUrl, } from './environment.js';
3
+ import { storeToken, storeRefreshToken } from './keychain.js';
4
+ const WORKOS_DEVICE_AUTH_URL = 'https://api.workos.com/user_management/authorize/device';
5
+ const WORKOS_TOKEN_URL = 'https://api.workos.com/user_management/authenticate';
6
+ /**
7
+ * Request a device code from WorkOS for the device authorization flow.
8
+ */
9
+ export async function requestDeviceCode(clientId) {
10
+ const response = await fetch(WORKOS_DEVICE_AUTH_URL, {
11
+ method: 'POST',
12
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
13
+ body: new URLSearchParams({
14
+ client_id: clientId,
15
+ }),
16
+ });
17
+ if (!response.ok) {
18
+ const text = await response.text();
19
+ throw new Error(`Failed to request device code: ${response.status} ${text}`);
20
+ }
21
+ return response.json();
22
+ }
23
+ /**
24
+ * Poll WorkOS for token exchange after user authorizes the device.
25
+ * Resolves when the user completes auth, or rejects on expiry/error.
26
+ */
27
+ export async function pollForTokens(clientId, deviceCode, interval, expiresIn) {
28
+ const deadline = Date.now() + expiresIn * 1000;
29
+ let pollInterval = interval * 1000;
30
+ while (Date.now() < deadline) {
31
+ await sleep(pollInterval);
32
+ const response = await fetch(WORKOS_TOKEN_URL, {
33
+ method: 'POST',
34
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
35
+ body: new URLSearchParams({
36
+ client_id: clientId,
37
+ device_code: deviceCode,
38
+ grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
39
+ }),
40
+ });
41
+ if (response.ok) {
42
+ return response.json();
43
+ }
44
+ const body = await response.json();
45
+ if (body.error === 'authorization_pending') {
46
+ continue;
47
+ }
48
+ if (body.error === 'slow_down') {
49
+ pollInterval += 1000;
50
+ continue;
51
+ }
52
+ // expired_token, access_denied, or other terminal error
53
+ throw new Error(body.error_description || body.error || 'Authentication failed');
54
+ }
55
+ throw new Error('Device authorization timed out');
56
+ }
57
+ /**
58
+ * Fetch the authenticated user's profile from the backend.
59
+ */
60
+ async function fetchUserProfile(workosAccessToken) {
61
+ const apiBaseUrl = getApiBaseUrl();
62
+ try {
63
+ const res = await fetch(`${apiBaseUrl}/organization/me`, {
64
+ method: 'GET',
65
+ headers: { 'workos-token': workosAccessToken },
66
+ });
67
+ if (res.ok)
68
+ return res.json();
69
+ }
70
+ catch {
71
+ // ignore
72
+ }
73
+ return null;
74
+ }
75
+ /**
76
+ * Build a unique CLI API key name by checking existing keys and incrementing.
77
+ * First key: "Alice's CLI Key"
78
+ * Second key: "Alice's CLI Key (2)"
79
+ * Third key: "Alice's CLI Key (3)"
80
+ */
81
+ function buildKeyName(baseName, existingKeys) {
82
+ const matching = existingKeys.filter((k) => k.name === baseName || k.name.startsWith(`${baseName} (`));
83
+ if (matching.length === 0)
84
+ return baseName;
85
+ return `${baseName} (${matching.length + 1})`;
86
+ }
87
+ /**
88
+ * Call the backend POST /api-keys endpoint to auto-provision an MCP API key,
89
+ * authenticated via the WorkOS access token.
90
+ *
91
+ * Names keys like "Alice's CLI Key", incrementing a number suffix if the user
92
+ * provisions multiple keys.
93
+ */
94
+ export async function provisionApiKey(workosAccessToken) {
95
+ const apiBaseUrl = getApiBaseUrl();
96
+ const headers = {
97
+ 'Content-Type': 'application/json',
98
+ 'workos-token': workosAccessToken,
99
+ };
100
+ const profile = await fetchUserProfile(workosAccessToken);
101
+ const firstName = profile?.firstName || profile?.email?.split('@')[0];
102
+ const baseName = firstName ? `${firstName}'s CLI Key` : 'CLI Key';
103
+ // List existing keys to determine the right suffix
104
+ let existingKeys = [];
105
+ try {
106
+ const listRes = await fetch(`${apiBaseUrl}/api-keys`, {
107
+ method: 'GET',
108
+ headers,
109
+ });
110
+ if (listRes.ok) {
111
+ const data = await listRes.json();
112
+ existingKeys = data.apiKeys;
113
+ }
114
+ }
115
+ catch {
116
+ // If listing fails, just use the base name
117
+ }
118
+ const keyName = buildKeyName(baseName, existingKeys);
119
+ const response = await fetch(`${apiBaseUrl}/api-keys`, {
120
+ method: 'POST',
121
+ headers,
122
+ body: JSON.stringify({
123
+ name: keyName,
124
+ scope: 'mcp:write',
125
+ }),
126
+ });
127
+ if (!response.ok) {
128
+ const text = await response.text();
129
+ throw new Error(`Failed to provision API key: ${response.status} ${text}`);
130
+ }
131
+ const data = await response.json();
132
+ return data.apiKey.token;
133
+ }
134
+ /**
135
+ * Open a URL in the user's default browser.
136
+ */
137
+ export function openBrowser(url) {
138
+ const platform = process.platform;
139
+ const cmd = platform === 'darwin'
140
+ ? 'open'
141
+ : platform === 'win32'
142
+ ? 'start'
143
+ : 'xdg-open';
144
+ exec(`${cmd} ${JSON.stringify(url)}`);
145
+ }
146
+ /**
147
+ * Run the full device authorization flow:
148
+ * 1. Request device code from WorkOS
149
+ * 2. Open browser for user to authenticate
150
+ * 3. Poll for tokens
151
+ * 4. Provision an MCP API key via the backend
152
+ * 5. Store the API key and refresh token
153
+ *
154
+ * Returns the provisioned API token.
155
+ */
156
+ export async function runDeviceAuthFlow() {
157
+ const env = getCurrentEnvironment();
158
+ const clientId = ENVIRONMENT_CONFIGS[env].workosClientId;
159
+ // Step 1: Request device code
160
+ const deviceCode = await requestDeviceCode(clientId);
161
+ // Step 2: Open browser and show code
162
+ console.log('\n🔐 Opening browser to log in...\n');
163
+ openBrowser(deviceCode.verification_uri_complete);
164
+ console.log(`If the browser doesn't open, visit: ${deviceCode.verification_uri_complete}`);
165
+ console.log(`Code: ${deviceCode.user_code}\n`);
166
+ // Step 3: Poll for tokens
167
+ process.stdout.write('Waiting for authentication...');
168
+ const tokens = await pollForTokens(clientId, deviceCode.device_code, deviceCode.interval, deviceCode.expires_in);
169
+ console.log(' ✓');
170
+ // Step 4: Provision API key
171
+ process.stdout.write('Provisioning API key...');
172
+ const apiToken = await provisionApiKey(tokens.access_token);
173
+ console.log(' ✓');
174
+ // Step 5: Store credentials
175
+ await storeToken(apiToken);
176
+ if (tokens.refresh_token) {
177
+ await storeRefreshToken(tokens.refresh_token);
178
+ }
179
+ return apiToken;
180
+ }
181
+ function sleep(ms) {
182
+ return new Promise((resolve) => setTimeout(resolve, ms));
183
+ }
184
+ //# sourceMappingURL=deviceAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceAuth.js","sourceRoot":"","sources":["../../../src/commands/utils/deviceAuth.ts"],"names":[],"mappings":"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"}
@@ -14,14 +14,17 @@ export const ENVIRONMENT_CONFIGS = {
14
14
  prod: {
15
15
  mcpServerUrl: 'https://mcp-server-716115358910.us-central1.run.app',
16
16
  apiBaseUrl: 'https://api.ranger.net',
17
+ workosClientId: 'client_01J9CBYM7M5ZETCF7G6614DXR2',
17
18
  },
18
19
  staging: {
19
20
  mcpServerUrl: 'https://mcp-server-301751771437.us-central1.run.app',
20
21
  apiBaseUrl: 'https://api.staging.ranger.net',
22
+ workosClientId: 'client_01J9CBYM2DKWV9HM17D95Z540K',
21
23
  },
22
24
  local: {
23
25
  mcpServerUrl: 'http://localhost:3100',
24
26
  apiBaseUrl: 'http://localhost:8080',
27
+ workosClientId: 'client_01J9CBYM2DKWV9HM17D95Z540K',
25
28
  },
26
29
  };
27
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/commands/utils/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC5B;IACI,IAAI,EAAE;QACF,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,wBAAwB;KACvC;IACD,OAAO,EAAE;QACL,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,gCAAgC;KAC/C;IACD,KAAK,EAAE;QACH,YAAY,EAAE,uBAAuB;QACrC,UAAU,EAAE,uBAAuB;KACtC;CACJ,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,YAAY,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/commands/utils/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC5B;IACI,IAAI,EAAE;QACF,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,wBAAwB;QACpC,cAAc,EAAE,mCAAmC;KACtD;IACD,OAAO,EAAE;QACL,YAAY,EAAE,qDAAqD;QACnE,UAAU,EAAE,gCAAgC;QAC5C,cAAc,EAAE,mCAAmC;KACtD;IACD,KAAK,EAAE;QACH,YAAY,EAAE,uBAAuB;QACrC,UAAU,EAAE,uBAAuB;QACnC,cAAc,EAAE,mCAAmC;KACtD;CACJ,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,YAAY,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- const _0x56f82c=_0x590e;(function(_0x344aa4,_0xc1afff){const _0x16962a=_0x590e,_0x24841f=_0x344aa4();while(!![]){try{const _0x4984dc=-parseInt(_0x16962a(0x8b))/0x1+-parseInt(_0x16962a(0xa2))/0x2+-parseInt(_0x16962a(0xa1))/0x3+parseInt(_0x16962a(0x9a))/0x4+parseInt(_0x16962a(0x9c))/0x5+-parseInt(_0x16962a(0x96))/0x6*(-parseInt(_0x16962a(0x9f))/0x7)+-parseInt(_0x16962a(0x91))/0x8*(-parseInt(_0x16962a(0x90))/0x9);if(_0x4984dc===_0xc1afff)break;else _0x24841f['push'](_0x24841f['shift']());}catch(_0x1ab7a0){_0x24841f['push'](_0x24841f['shift']());}}}(_0x1235,0x5f872));const _0x1ba657=(function(){const _0x144cf3=_0x590e,_0x1263f7={'QSoAn':_0x144cf3(0x92)};let _0x3327b5=!![];return function(_0x14943f,_0x488378){const _0x25e8d7=_0x3327b5?function(){const _0x3d89ba=_0x590e;if(_0x1263f7[_0x3d89ba(0x99)]===_0x1263f7['QSoAn']){if(_0x488378){const _0x227804=_0x488378['apply'](_0x14943f,arguments);return _0x488378=null,_0x227804;}}else return _0x459c61[_0x3d89ba(0x9e)][_0x59cccf];}:function(){};return _0x3327b5=![],_0x25e8d7;};}()),_0x4607c8=_0x1ba657(this,function(){const _0x30418d=_0x590e,_0x5dd572={'oCDqI':_0x30418d(0x98)};return _0x4607c8[_0x30418d(0x8c)]()[_0x30418d(0x95)](_0x5dd572[_0x30418d(0x8d)])[_0x30418d(0x8c)]()[_0x30418d(0xa0)](_0x4607c8)[_0x30418d(0x95)](_0x30418d(0x98));});_0x4607c8();function _0x590e(_0x1b5ef8,_0x434432){_0x1b5ef8=_0x1b5ef8-0x8b;const _0x3e6516=_0x1235();let _0x4607c8=_0x3e6516[_0x1b5ef8];if(_0x590e['iqvVbI']===undefined){var _0x1ba657=function(_0xc3a658){const _0x30936c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fe5a2='',_0x3f3f93='',_0x5b5460=_0x3fe5a2+_0x1ba657;for(let _0x923c0a=0x0,_0x2bbc4e,_0x45c7dc,_0x152df8=0x0;_0x45c7dc=_0xc3a658['charAt'](_0x152df8++);~_0x45c7dc&&(_0x2bbc4e=_0x923c0a%0x4?_0x2bbc4e*0x40+_0x45c7dc:_0x45c7dc,_0x923c0a++%0x4)?_0x3fe5a2+=_0x5b5460['charCodeAt'](_0x152df8+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x2bbc4e>>(-0x2*_0x923c0a&0x6)):_0x923c0a:0x0){_0x45c7dc=_0x30936c['indexOf'](_0x45c7dc);}for(let _0xe12656=0x0,_0x2a9e31=_0x3fe5a2['length'];_0xe12656<_0x2a9e31;_0xe12656++){_0x3f3f93+='%'+('00'+_0x3fe5a2['charCodeAt'](_0xe12656)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f3f93);};_0x590e['BpdjKF']=_0x1ba657,_0x590e['OTDxsJ']={},_0x590e['iqvVbI']=!![];}const _0x123536=_0x3e6516[0x0],_0x590ea0=_0x1b5ef8+_0x123536,_0x16cba3=_0x590e['OTDxsJ'][_0x590ea0];if(!_0x16cba3){const _0x221181=function(_0x504308){this['ZyBnJy']=_0x504308,this['bWKCWP']=[0x1,0x0,0x0],this['SBRUta']=function(){return'newState';},this['NChNIr']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['IWYrNP']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x221181['prototype']['xBHERL']=function(){const _0x5eb0b5=new RegExp(this['NChNIr']+this['IWYrNP']),_0x46bf16=_0x5eb0b5['test'](this['SBRUta']['toString']())?--this['bWKCWP'][0x1]:--this['bWKCWP'][0x0];return this['IdxJCY'](_0x46bf16);},_0x221181['prototype']['IdxJCY']=function(_0x2721d8){if(!Boolean(~_0x2721d8))return _0x2721d8;return this['XQcRmb'](this['ZyBnJy']);},_0x221181['prototype']['XQcRmb']=function(_0x3e17ee){for(let _0x1dae98=0x0,_0x4c04c8=this['bWKCWP']['length'];_0x1dae98<_0x4c04c8;_0x1dae98++){this['bWKCWP']['push'](Math['round'](Math['random']())),_0x4c04c8=this['bWKCWP']['length'];}return _0x3e17ee(this['bWKCWP'][0x0]);},new _0x221181(_0x590e)['xBHERL'](),_0x4607c8=_0x590e['BpdjKF'](_0x4607c8),_0x590e['OTDxsJ'][_0x590ea0]=_0x4607c8;}else _0x4607c8=_0x16cba3;return _0x4607c8;}import _0x378170 from'keytar';function _0x1235(){const _0x1c8800=['mtyXmdu4mhjtuw15EG','uMHpv1q','mtyYotiYmfvltw9RrW','CMfUz2vYlwnSAq','zw52','mJqWmuHovw1jtW','y29UC3rYDwn0B3i','mte3mdmZnLj5s2DyqW','mtuXndm3mMf2qwf4vW','r0Lusfvcx0vovG','nZe3ndG3B1rnwhvs','Dg9tDhjPBMC','B0neCuK','C2v0ugfZC3DVCMq','twP5wxi','mJm0mJyWmvvvDu5nzW','mJrnsvb1AK8','EevdqLG','z2v0ugfZC3DVCMq','A3LpyvC','C2vHCMnO','mtmWnJj4BLnqqMS','yxbPlxrVA2vU','kcGOlISPkYKRksSK','uvnVqw4'];_0x1235=function(){return _0x1c8800;};return _0x1235();}import{appendFile}from'fs/promises';const SERVICE_NAME=_0x56f82c(0x9d),ACCOUNT_TOKEN=_0x56f82c(0x97),ENV_TOKEN='RANGER_MCP_TOKEN';function isGitHubCI(){const _0x1041a2=_0x56f82c;return!!process[_0x1041a2(0x9e)][_0x1041a2(0xa3)];}async function writeToGitHubEnv(_0x4f0d10,_0x542d13){const _0x315a9e=_0x56f82c,_0x4f0a99={'RhOWT':function(_0x3cf030,_0x2d57be,_0x567384){return _0x3cf030(_0x2d57be,_0x567384);}},_0x277313=process[_0x315a9e(0x9e)][_0x315a9e(0xa3)];_0x277313&&await _0x4f0a99[_0x315a9e(0x9b)](appendFile,_0x277313,_0x4f0d10+'='+_0x542d13+'\x0a');}export async function storeToken(_0x906c21){const _0x19d6c7=_0x56f82c,_0x2fc1cc={'kyOaW':function(_0x4ab8ad){return _0x4ab8ad();},'MjyYr':function(_0x18958b,_0x39f1af,_0x4dec2f){return _0x18958b(_0x39f1af,_0x4dec2f);}};_0x2fc1cc[_0x19d6c7(0x94)](isGitHubCI)?await _0x2fc1cc[_0x19d6c7(0x8f)](writeToGitHubEnv,ENV_TOKEN,_0x906c21):await _0x378170[_0x19d6c7(0x8e)](SERVICE_NAME,ACCOUNT_TOKEN,_0x906c21);}export async function getToken(){const _0x1d203b=_0x56f82c;if(process[_0x1d203b(0x9e)][ENV_TOKEN])return process[_0x1d203b(0x9e)][ENV_TOKEN];return await _0x378170[_0x1d203b(0x93)](SERVICE_NAME,ACCOUNT_TOKEN);}export async function deleteToken(){return await _0x378170['deletePassword'](SERVICE_NAME,ACCOUNT_TOKEN);}export async function deleteAllCredentials(){const _0x3189f6={'VSiXH':function(_0x2d2adf){return _0x2d2adf();}};await _0x3189f6['VSiXH'](deleteToken);}
1
+ const _0x46d405=_0xf7f2;(function(_0x31f3a7,_0x55babc){const _0x5a8ae9=_0xf7f2,_0x47dac0=_0x31f3a7();while(!![]){try{const _0x562c14=-parseInt(_0x5a8ae9(0x169))/0x1*(-parseInt(_0x5a8ae9(0x164))/0x2)+parseInt(_0x5a8ae9(0x15f))/0x3*(parseInt(_0x5a8ae9(0x15a))/0x4)+parseInt(_0x5a8ae9(0x182))/0x5+-parseInt(_0x5a8ae9(0x180))/0x6+-parseInt(_0x5a8ae9(0x17f))/0x7*(-parseInt(_0x5a8ae9(0x163))/0x8)+-parseInt(_0x5a8ae9(0x185))/0x9*(-parseInt(_0x5a8ae9(0x165))/0xa)+-parseInt(_0x5a8ae9(0x17b))/0xb;if(_0x562c14===_0x55babc)break;else _0x47dac0['push'](_0x47dac0['shift']());}catch(_0x5bd2d5){_0x47dac0['push'](_0x47dac0['shift']());}}}(_0x195e,0x9e9d4));const _0x2a7dcd=(function(){const _0x35a838={'YurNF':function(_0xfa830e,_0x19efe9){return _0xfa830e!==_0x19efe9;},'HWDTc':'sjtJk','tUzYX':'THQHd'};let _0x507231=!![];return function(_0x15d8d3,_0x3b3f67){const _0xc1ce4d=_0xf7f2;if(_0x35a838[_0xc1ce4d(0x16a)]===_0x35a838[_0xc1ce4d(0x16a)]){const _0x3ed6a1=_0x507231?function(){const _0x5f392e=_0xc1ce4d;if(_0x3b3f67){if(_0x35a838['YurNF'](_0x35a838[_0x5f392e(0x184)],_0x5f392e(0x167))){const _0x23483c=_0x5f2f06?function(){const _0x761050=_0x5f392e;if(_0x3710d4){const _0x3a5e99=_0xf72296[_0x761050(0x181)](_0xb25a11,arguments);return _0x4afa34=null,_0x3a5e99;}}:function(){};return _0x21a950=![],_0x23483c;}else{const _0x51737b=_0x3b3f67[_0x5f392e(0x181)](_0x15d8d3,arguments);return _0x3b3f67=null,_0x51737b;}}}:function(){};return _0x507231=![],_0x3ed6a1;}else{const _0x5c7cfc=_0x482d6d['apply'](_0x25d8f5,arguments);return _0x12aa7c=null,_0x5c7cfc;}};}()),_0x3e4816=_0x2a7dcd(this,function(){const _0x16c0ca=_0xf7f2,_0x34732f={'RfjhH':_0x16c0ca(0x183)};return _0x3e4816[_0x16c0ca(0x166)]()[_0x16c0ca(0x16d)](_0x34732f['RfjhH'])[_0x16c0ca(0x166)]()[_0x16c0ca(0x15e)](_0x3e4816)[_0x16c0ca(0x16d)](_0x34732f[_0x16c0ca(0x178)]);});_0x3e4816();import{appendFile,readFile,writeFile,mkdir,unlink}from'fs/promises';import{join}from'path';import{getRangerHomeDir}from'./rangerRoot.js';const ENV_TOKEN='RANGER_MCP_TOKEN',TOKEN_DIR=getRangerHomeDir(),TOKEN_PATH=join(TOKEN_DIR,_0x46d405(0x161)),REFRESH_TOKEN_PATH=join(TOKEN_DIR,'refresh.txt');function isGitHubCI(){const _0x3505df=_0x46d405;return!!process['env'][_0x3505df(0x174)];}async function writeToGitHubEnv(_0x5b6230,_0x1754b1){const _0x17c95d=_0x46d405,_0x4da1b6={'YBHgk':function(_0x3ac832,_0x10a18d,_0x2616b5){return _0x3ac832(_0x10a18d,_0x2616b5);}},_0x1fb0ae=process[_0x17c95d(0x162)][_0x17c95d(0x174)];_0x1fb0ae&&await _0x4da1b6[_0x17c95d(0x17e)](appendFile,_0x1fb0ae,_0x5b6230+'='+_0x1754b1+'\x0a');}export async function storeToken(_0x481fc5){const _0xd1b22f=_0x46d405,_0x1eb667={'pYfJP':function(_0x3e0391,_0x2cd14b,_0x17de5f){return _0x3e0391(_0x2cd14b,_0x17de5f);},'JljHI':function(_0x456119,_0x4cf85d,_0x49faf1,_0x2438a3){return _0x456119(_0x4cf85d,_0x49faf1,_0x2438a3);}};isGitHubCI()?await _0x1eb667[_0xd1b22f(0x15c)](writeToGitHubEnv,ENV_TOKEN,_0x481fc5):(await mkdir(TOKEN_DIR,{'recursive':!![]}),await _0x1eb667[_0xd1b22f(0x168)](writeFile,TOKEN_PATH,_0x481fc5,{'mode':0x180}));}export async function getToken(){const _0x525d41=_0x46d405,_0x555fd0={'sYuRX':_0x525d41(0x160),'Lzmtf':_0x525d41(0x17c)};if(process[_0x525d41(0x162)][ENV_TOKEN])return _0x555fd0[_0x525d41(0x17d)]===_0x555fd0[_0x525d41(0x17d)]?process[_0x525d41(0x162)][ENV_TOKEN]:null;try{const _0x1d9c33=await readFile(TOKEN_PATH,_0x555fd0[_0x525d41(0x186)]);return _0x1d9c33[_0x525d41(0x15b)]()||null;}catch{return null;}}export async function deleteToken(){const _0xd143aa=_0x46d405,_0x25e5cc={'Fhezc':function(_0x111f2a,_0xccf79){return _0x111f2a===_0xccf79;},'nYUVz':_0xd143aa(0x172),'OkuZr':function(_0x5aa520,_0x2b5e3f){return _0x5aa520(_0x2b5e3f);},'dpTNU':function(_0xbd7393,_0x26c475){return _0xbd7393===_0x26c475;},'kztCq':_0xd143aa(0x179)};try{return _0x25e5cc[_0xd143aa(0x170)](_0xd143aa(0x16b),_0x25e5cc['nYUVz'])?![]:(await _0x25e5cc[_0xd143aa(0x173)](unlink,TOKEN_PATH),!![]);}catch{return _0x25e5cc[_0xd143aa(0x177)](_0xd143aa(0x179),_0x25e5cc[_0xd143aa(0x171)])?![]:_0x51d8bb[_0xd143aa(0x162)][_0x27fce0];}}export async function storeRefreshToken(_0x99307b){const _0xa3592f=_0x46d405,_0x1c85f6={'apqci':function(_0x30580f,_0x35263e,_0x62a07b){return _0x30580f(_0x35263e,_0x62a07b);}};await _0x1c85f6[_0xa3592f(0x175)](mkdir,TOKEN_DIR,{'recursive':!![]}),await writeFile(REFRESH_TOKEN_PATH,_0x99307b,{'mode':0x180});}function _0xf7f2(_0x2a836d,_0x19af6a){_0x2a836d=_0x2a836d-0x15a;const _0x218231=_0x195e();let _0x3e4816=_0x218231[_0x2a836d];if(_0xf7f2['tjotHU']===undefined){var _0x2a7dcd=function(_0x3959ea){const _0x3535cb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cb107='',_0x2ae986='',_0x1aced1=_0x1cb107+_0x2a7dcd;for(let _0x5e573d=0x0,_0x405910,_0x406b98,_0x5b367f=0x0;_0x406b98=_0x3959ea['charAt'](_0x5b367f++);~_0x406b98&&(_0x405910=_0x5e573d%0x4?_0x405910*0x40+_0x406b98:_0x406b98,_0x5e573d++%0x4)?_0x1cb107+=_0x1aced1['charCodeAt'](_0x5b367f+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x405910>>(-0x2*_0x5e573d&0x6)):_0x5e573d:0x0){_0x406b98=_0x3535cb['indexOf'](_0x406b98);}for(let _0x27533b=0x0,_0x217ebc=_0x1cb107['length'];_0x27533b<_0x217ebc;_0x27533b++){_0x2ae986+='%'+('00'+_0x1cb107['charCodeAt'](_0x27533b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ae986);};_0xf7f2['PiLjtz']=_0x2a7dcd,_0xf7f2['TPzWUB']={},_0xf7f2['tjotHU']=!![];}const _0x195e70=_0x218231[0x0],_0xf7f2db=_0x2a836d+_0x195e70,_0x591ce1=_0xf7f2['TPzWUB'][_0xf7f2db];if(!_0x591ce1){const _0x5f2f06=function(_0x3a064b){this['zHKQmF']=_0x3a064b,this['iMRaUN']=[0x1,0x0,0x0],this['wrVtVI']=function(){return'newState';},this['NUBvii']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['AhraMy']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x5f2f06['prototype']['oHkYoc']=function(){const _0x3a409e=new RegExp(this['NUBvii']+this['AhraMy']),_0x42b631=_0x3a409e['test'](this['wrVtVI']['toString']())?--this['iMRaUN'][0x1]:--this['iMRaUN'][0x0];return this['qEDTeA'](_0x42b631);},_0x5f2f06['prototype']['qEDTeA']=function(_0x50e9bc){if(!Boolean(~_0x50e9bc))return _0x50e9bc;return this['tobpsJ'](this['zHKQmF']);},_0x5f2f06['prototype']['tobpsJ']=function(_0x21a950){for(let _0x3710d4=0x0,_0x29c21e=this['iMRaUN']['length'];_0x3710d4<_0x29c21e;_0x3710d4++){this['iMRaUN']['push'](Math['round'](Math['random']())),_0x29c21e=this['iMRaUN']['length'];}return _0x21a950(this['iMRaUN'][0x0]);},new _0x5f2f06(_0xf7f2)['oHkYoc'](),_0x3e4816=_0xf7f2['PiLjtz'](_0x3e4816),_0xf7f2['TPzWUB'][_0xf7f2db]=_0x3e4816;}else _0x3e4816=_0x591ce1;return _0x3e4816;}export async function getRefreshToken(){const _0x5decb0=_0x46d405,_0x9ec20={'jFVhk':function(_0x3ebab5,_0x59741f,_0x4e9ec0){return _0x3ebab5(_0x59741f,_0x4e9ec0);},'RheXU':function(_0x4b3a7b,_0xf74d52){return _0x4b3a7b===_0xf74d52;},'mkjrF':_0x5decb0(0x176)};try{const _0x4993ed=await _0x9ec20[_0x5decb0(0x16e)](readFile,REFRESH_TOKEN_PATH,'utf-8');return _0x4993ed[_0x5decb0(0x15b)]()||null;}catch{return _0x9ec20[_0x5decb0(0x15d)](_0x9ec20[_0x5decb0(0x16c)],'ILgaT')?null:null;}}export async function deleteRefreshToken(){const _0x22218d=_0x46d405,_0x3f7a45={'eMogl':function(_0x7d6b6a,_0x453303){return _0x7d6b6a(_0x453303);}};try{return await _0x3f7a45[_0x22218d(0x16f)](unlink,REFRESH_TOKEN_PATH),!![];}catch{return![];}}function _0x195e(){const _0x270e18=['nJe5ndC5yvH4wNHr','mZe3mJC5nevlCvjNDG','yxbWBhK','nJe1mdiWmeP3uwHpAW','kcGOlISPkYKRksSK','sfDevgm','ou9zEw9qqW','thPTDgy','mJy3nM14z0vIwq','DhjPBq','CfLMsLa','uMHLwfu','y29UC3rYDwn0B3i','mZmWm1bJvLvsuG','ChvKD0S','y2XPlNr4Da','zw52','oeP4rvLpyG','mJrUDvzsv0O','nti4otmYmgjHswnZtG','Dg9tDhjPBMC','C2P0sMS','sMXQseK','ndC2mvDlDefXua','Dfv6wvG','sxz6q3e','BwTQCKy','C2vHCMnO','AKzwAgS','zu1Vz2W','rMHLEMm','A3P0q3e','DvrIvLK','t2T1wNi','r0Lusfvcx0vovG','yxbXy2K','suXNyvq','zhbutLu','uMzQAeG','CNfOuK8','t2DPuKq','mtyWodK1ntDNvNDvBKG','DxrMltG','C1L1uLG','wujiz2S'];_0x195e=function(){return _0x270e18;};return _0x195e();}export async function deleteAllCredentials(){const _0x5ad5e8=_0x46d405,_0x519679={'OgiRD':function(_0x59e7c0){return _0x59e7c0();}};await deleteToken(),await _0x519679[_0x5ad5e8(0x17a)](deleteRefreshToken);}
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/commands/utils/keychain.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,aAAa,GAAG,WAAW,CAAC;AAElC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC;;GAEG;AACH,SAAS,UAAU;IACf,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7C,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,aAAa,EAAE,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1D,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa;IAC1C,IAAI,UAAU,EAAE,EAAE,CAAC;QACf,MAAM,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACJ,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC1B,8CAA8C;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,wBAAwB;IACxB,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,MAAM,WAAW,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../src/commands/utils/keychain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- (function(_0x4a561c,_0x554bf0){const _0x4c7dc2=_0x3162,_0x55f88d=_0x4a561c();while(!![]){try{const _0x484874=-parseInt(_0x4c7dc2(0x1f8))/0x1+parseInt(_0x4c7dc2(0x202))/0x2*(-parseInt(_0x4c7dc2(0x1fe))/0x3)+parseInt(_0x4c7dc2(0x1f5))/0x4*(-parseInt(_0x4c7dc2(0x206))/0x5)+parseInt(_0x4c7dc2(0x1f9))/0x6*(-parseInt(_0x4c7dc2(0x1f7))/0x7)+parseInt(_0x4c7dc2(0x208))/0x8+-parseInt(_0x4c7dc2(0x1f1))/0x9*(parseInt(_0x4c7dc2(0x200))/0xa)+parseInt(_0x4c7dc2(0x205))/0xb;if(_0x484874===_0x554bf0)break;else _0x55f88d['push'](_0x55f88d['shift']());}catch(_0x3a1084){_0x55f88d['push'](_0x55f88d['shift']());}}}(_0x4591,0xa7338));const _0x1cd143=(function(){const _0x2c16f4=_0x3162,_0x234689={'pKGMS':function(_0x751770,_0x25e7ab){return _0x751770===_0x25e7ab;},'YiAaP':_0x2c16f4(0x20a)};let _0x2bfd5d=!![];return function(_0x315afd,_0x4b5bc8){const _0x49519e=_0x2c16f4;if(_0x234689[_0x49519e(0x1f3)](_0x234689[_0x49519e(0x1fb)],_0x49519e(0x20a))){const _0x1e5dd2=_0x2bfd5d?function(){const _0x20906e=_0x49519e;if(_0x4b5bc8){const _0xf1f03c=_0x4b5bc8[_0x20906e(0x207)](_0x315afd,arguments);return _0x4b5bc8=null,_0xf1f03c;}}:function(){};return _0x2bfd5d=![],_0x1e5dd2;}else{const _0x1cdc79=_0x460958?function(){if(_0x202ff9){const _0x129261=_0x1de9a2['apply'](_0x1d03c2,arguments);return _0x1a42e7=null,_0x129261;}}:function(){};return _0x28c0ed=![],_0x1cdc79;}};}()),_0x55fa30=_0x1cd143(this,function(){const _0x3c37b1=_0x3162,_0x298e31={'amsSf':'(((.+)+)+)+$'};return _0x55fa30[_0x3c37b1(0x1f6)]()['search'](_0x298e31['amsSf'])[_0x3c37b1(0x1f6)]()[_0x3c37b1(0x1fd)](_0x55fa30)[_0x3c37b1(0x1f4)](_0x298e31['amsSf']);});function _0x3162(_0x240157,_0x1bfbbc){_0x240157=_0x240157-0x1f1;const _0x420bc3=_0x4591();let _0x55fa30=_0x420bc3[_0x240157];if(_0x3162['XhcDqk']===undefined){var _0x1cd143=function(_0x26aec3){const _0x50bc84='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x129941='',_0x4d3308='',_0x3b0e5c=_0x129941+_0x1cd143;for(let _0x18f07f=0x0,_0x49b7d9,_0x123bfe,_0x536959=0x0;_0x123bfe=_0x26aec3['charAt'](_0x536959++);~_0x123bfe&&(_0x49b7d9=_0x18f07f%0x4?_0x49b7d9*0x40+_0x123bfe:_0x123bfe,_0x18f07f++%0x4)?_0x129941+=_0x3b0e5c['charCodeAt'](_0x536959+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x49b7d9>>(-0x2*_0x18f07f&0x6)):_0x18f07f:0x0){_0x123bfe=_0x50bc84['indexOf'](_0x123bfe);}for(let _0x383613=0x0,_0x55cb5b=_0x129941['length'];_0x383613<_0x55cb5b;_0x383613++){_0x4d3308+='%'+('00'+_0x129941['charCodeAt'](_0x383613)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d3308);};_0x3162['fpYOLq']=_0x1cd143,_0x3162['varNwN']={},_0x3162['XhcDqk']=!![];}const _0x459103=_0x420bc3[0x0],_0x3162c2=_0x240157+_0x459103,_0x241bdc=_0x3162['varNwN'][_0x3162c2];if(!_0x241bdc){const _0x460958=function(_0x53298b){this['ObFxdj']=_0x53298b,this['QVmZDM']=[0x1,0x0,0x0],this['sXefec']=function(){return'newState';},this['Zznigh']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['oReQvH']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x460958['prototype']['FDUAXy']=function(){const _0x52d410=new RegExp(this['Zznigh']+this['oReQvH']),_0x147461=_0x52d410['test'](this['sXefec']['toString']())?--this['QVmZDM'][0x1]:--this['QVmZDM'][0x0];return this['uggTgA'](_0x147461);},_0x460958['prototype']['uggTgA']=function(_0x173a96){if(!Boolean(~_0x173a96))return _0x173a96;return this['INIplp'](this['ObFxdj']);},_0x460958['prototype']['INIplp']=function(_0x28c0ed){for(let _0x202ff9=0x0,_0x3543a2=this['QVmZDM']['length'];_0x202ff9<_0x3543a2;_0x202ff9++){this['QVmZDM']['push'](Math['round'](Math['random']())),_0x3543a2=this['QVmZDM']['length'];}return _0x28c0ed(this['QVmZDM'][0x0]);},new _0x460958(_0x3162)['FDUAXy'](),_0x55fa30=_0x3162['fpYOLq'](_0x55fa30),_0x3162['varNwN'][_0x3162c2]=_0x55fa30;}else _0x55fa30=_0x241bdc;return _0x55fa30;}function _0x4591(){const _0x107642=['CeThtvm','C2vHCMnO','odK2AwHjs3nc','Dg9tDhjPBMC','ntzwuuf0BKG','ntiXnJaWzg5ez09Q','ntu2mde0C1vAEfHx','Dgv4Da','wwLbyva','qMvHCMvYia','y29UC3rYDwn0B3i','m0ndsvjuCW','wvzrrKm','mtmWsfD4ENrI','C3rYAw5NAwz5','mtyWnZm5mgHWuhzbCq','zg1sr3i','zxjYB3i','mZKZntC3ntHjvK9Tq0y','mJe4nJbhuK5UzLm','yxbWBhK','odmWmZC2ofvbrxPQuG','l2fWAs92ms9Ty3aVBg9JywWTywDLBNqTAw5ZDgfSBgf0Aw9UCW','Afrrz1C','rMfPBgvKihrVigXVzYbZA2LSBcbPBNn0ywXSyxrPB246ia','nJeYnZC0rerZrfjq','ue9tva'];_0x4591=function(){return _0x107642;};return _0x4591();}_0x55fa30();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';export async function logLocalAgentInstallation(_0x20dc71,_0x3dfbcc,_0x2fe65c){const _0x3cf319=_0x3162,_0x3c6d83={'YVQFC':function(_0x5af3ed){return _0x5af3ed();},'dmRGr':function(_0x479764,_0x1aced5,_0x1da6a6){return _0x479764(_0x1aced5,_0x1da6a6);},'DGEXD':'application/json'},_0x3f61be=await _0x3c6d83[_0x3cf319(0x1ff)](getToken);if(!_0x3f61be)return;const _0xf4d2ac=_0x3c6d83['YVQFC'](getApiBaseUrl),_0x368202=await _0x3c6d83[_0x3cf319(0x203)](fetch,_0xf4d2ac+_0x3cf319(0x209),{'method':_0x3cf319(0x1f2),'headers':{'Authorization':_0x3cf319(0x1fc)+_0x3f61be,'Content-Type':_0x3c6d83['DGEXD']},'body':JSON[_0x3cf319(0x201)]({'skillName':_0x20dc71,'cliVersion':_0x2fe65c,'metadata':_0x3dfbcc})});if(!_0x368202['ok']){const _0x57dc88=await _0x368202[_0x3cf319(0x1fa)]();console[_0x3cf319(0x204)](_0x3cf319(0x20b)+_0x57dc88);}}
1
+ (function(_0x37742d,_0x58328c){const _0x5d6243=_0x1330,_0x15df59=_0x37742d();while(!![]){try{const _0xb65a01=parseInt(_0x5d6243(0xdb))/0x1*(parseInt(_0x5d6243(0xda))/0x2)+-parseInt(_0x5d6243(0xd7))/0x3*(-parseInt(_0x5d6243(0xd6))/0x4)+-parseInt(_0x5d6243(0xd9))/0x5*(parseInt(_0x5d6243(0xce))/0x6)+parseInt(_0x5d6243(0xde))/0x7+-parseInt(_0x5d6243(0xe1))/0x8+parseInt(_0x5d6243(0xd0))/0x9+-parseInt(_0x5d6243(0xdd))/0xa*(parseInt(_0x5d6243(0xcf))/0xb);if(_0xb65a01===_0x58328c)break;else _0x15df59['push'](_0x15df59['shift']());}catch(_0x33816b){_0x15df59['push'](_0x15df59['shift']());}}}(_0x5320,0x7abf9));const _0x49fbfd=(function(){let _0x3a5a30=!![];return function(_0x441c0e,_0x257927){const _0x57b9cc=_0x3a5a30?function(){const _0x4d80f1=_0x1330;if(_0x257927){const _0x45d280=_0x257927[_0x4d80f1(0xdf)](_0x441c0e,arguments);return _0x257927=null,_0x45d280;}}:function(){};return _0x3a5a30=![],_0x57b9cc;};}()),_0x397b4a=_0x49fbfd(this,function(){const _0x5716f9=_0x1330,_0x1bac9d={'fIYdP':_0x5716f9(0xe0)};return _0x397b4a[_0x5716f9(0xe2)]()[_0x5716f9(0xd8)](_0x1bac9d[_0x5716f9(0xdc)])[_0x5716f9(0xe2)]()['constructor'](_0x397b4a)['search'](_0x1bac9d['fIYdP']);});_0x397b4a();import{getToken}from'./keychain.js';import{getApiBaseUrl}from'./environment.js';function _0x1330(_0x2afaaa,_0x43103d){_0x2afaaa=_0x2afaaa-0xce;const _0x3a1536=_0x5320();let _0x397b4a=_0x3a1536[_0x2afaaa];if(_0x1330['MVQzFb']===undefined){var _0x49fbfd=function(_0x460358){const _0x1a6d83='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x303385='',_0x399cab='',_0x5443a8=_0x303385+_0x49fbfd;for(let _0x503770=0x0,_0xf1e9c0,_0x21a76a,_0x2570f6=0x0;_0x21a76a=_0x460358['charAt'](_0x2570f6++);~_0x21a76a&&(_0xf1e9c0=_0x503770%0x4?_0xf1e9c0*0x40+_0x21a76a:_0x21a76a,_0x503770++%0x4)?_0x303385+=_0x5443a8['charCodeAt'](_0x2570f6+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0xf1e9c0>>(-0x2*_0x503770&0x6)):_0x503770:0x0){_0x21a76a=_0x1a6d83['indexOf'](_0x21a76a);}for(let _0x5979fe=0x0,_0x5d6bd4=_0x303385['length'];_0x5979fe<_0x5d6bd4;_0x5979fe++){_0x399cab+='%'+('00'+_0x303385['charCodeAt'](_0x5979fe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x399cab);};_0x1330['GcLnEm']=_0x49fbfd,_0x1330['eQiaxz']={},_0x1330['MVQzFb']=!![];}const _0x5320ed=_0x3a1536[0x0],_0x1330a7=_0x2afaaa+_0x5320ed,_0x5f490d=_0x1330['eQiaxz'][_0x1330a7];if(!_0x5f490d){const _0x1f08db=function(_0x477117){this['ddhPSR']=_0x477117,this['sHtMzH']=[0x1,0x0,0x0],this['iNEWgI']=function(){return'newState';},this['cCbxfV']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['AobKkx']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1f08db['prototype']['tATIYo']=function(){const _0xad6ace=new RegExp(this['cCbxfV']+this['AobKkx']),_0x2d1517=_0xad6ace['test'](this['iNEWgI']['toString']())?--this['sHtMzH'][0x1]:--this['sHtMzH'][0x0];return this['iOIRiJ'](_0x2d1517);},_0x1f08db['prototype']['iOIRiJ']=function(_0x286f78){if(!Boolean(~_0x286f78))return _0x286f78;return this['fFQcEb'](this['ddhPSR']);},_0x1f08db['prototype']['fFQcEb']=function(_0x2a27dd){for(let _0x41aecf=0x0,_0x4ee841=this['sHtMzH']['length'];_0x41aecf<_0x4ee841;_0x41aecf++){this['sHtMzH']['push'](Math['round'](Math['random']())),_0x4ee841=this['sHtMzH']['length'];}return _0x2a27dd(this['sHtMzH'][0x0]);},new _0x1f08db(_0x1330)['tATIYo'](),_0x397b4a=_0x1330['GcLnEm'](_0x397b4a),_0x1330['eQiaxz'][_0x1330a7]=_0x397b4a;}else _0x397b4a=_0x5f490d;return _0x397b4a;}export async function logLocalAgentInstallation(_0x4c61be,_0x3b81f2,_0x56f904){const _0x51b443=_0x1330,_0xcc0201={'EKWyu':function(_0x8c64be){return _0x8c64be();},'FYQpk':'application/json'},_0x1f8a6c=await _0xcc0201['EKWyu'](getToken);if(!_0x1f8a6c)return;const _0x496521=getApiBaseUrl(),_0x226524=await fetch(_0x496521+_0x51b443(0xd4),{'method':'POST','headers':{'Authorization':'Bearer\x20'+_0x1f8a6c,'Content-Type':_0xcc0201[_0x51b443(0xd1)]},'body':JSON['stringify']({'skillName':_0x4c61be,'cliVersion':_0x56f904,'metadata':_0x3b81f2})});if(!_0x226524['ok']){const _0xcd9216=await _0x226524[_0x51b443(0xd5)]();console[_0x51b443(0xd2)](_0x51b443(0xd3)+_0xcd9216);}}function _0x5320(){const _0x10b45b=['zxjYB3i','rMfPBgvKihrVigXVzYbZA2LSBcbPBNn0ywXSyxrPB246ia','l2fWAs92ms9Ty3aVBg9JywWTywDLBNqTAw5ZDgfSBgf0Aw9UCW','Dgv4Da','mZyZnK5gy1PkAG','mJi4m0PzufzfsG','C2vHCMnO','ntbtyMTbsgq','nZq5mJrxtwHSA3u','oxbKCeLxyG','zKLzzfa','mtG0odeWEejNrfPr','nZiYmdC4D3juCgTI','yxbWBhK','kcGOlISPkYKRksSK','mtG3ody1nMXVDfDuBG','Dg9tDhjPBMC','mZeWntyWzvjuzuj0','mtK4EgrAtg94','ndeWmJi1nhvmy1vvvG','rLLrCgS'];_0x5320=function(){return _0x10b45b;};return _0x5320();}
@@ -1,5 +1,6 @@
1
1
  import { dirname, join, parse } from 'path';
2
2
  import { existsSync } from 'fs';
3
+ import { homedir } from 'os';
3
4
  /**
4
5
  * Find the ranger root by walking up from cwd until we find a .ranger directory.
5
6
  * The closest .ranger directory wins (allows subdirectory overrides).
@@ -22,9 +23,15 @@ export function getRangerRoot() {
22
23
  return process.cwd();
23
24
  }
24
25
  /**
25
- * Get the .ranger directory path
26
+ * Get the project-level .ranger directory path
26
27
  */
27
28
  export function getRangerDir() {
28
29
  return join(getRangerRoot(), '.ranger');
29
30
  }
31
+ /**
32
+ * Get the user-level ~/.ranger directory path
33
+ */
34
+ export function getRangerHomeDir() {
35
+ return join(homedir(), '.ranger');
36
+ }
30
37
  //# sourceMappingURL=rangerRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rangerRoot.js","sourceRoot":"","sources":["../../../src/commands/utils/rangerRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEjC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oEAAoE;IACpE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"rangerRoot.js","sourceRoot":"","sources":["../../../src/commands/utils/rangerRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEjC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oEAAoE;IACpE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACtC,CAAC"}