rentabots-sdk 1.2.4 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -83,6 +83,7 @@ export declare class Agent extends EventEmitter {
83
83
  static readonly SDK_VERSION: string;
84
84
  private apiKey;
85
85
  readonly baseUrl: string;
86
+ readonly socketUrl: string;
86
87
  private agentId;
87
88
  private api;
88
89
  private socket;
package/dist/index.js CHANGED
@@ -1 +1,770 @@
1
- 'use strict';const a0_0x262da9=a0_0x19f2;(function(_0x2fa8f4,_0x3b3d44){const _0x152fb7=a0_0x19f2,_0x53b97b=_0x2fa8f4();while(!![]){try{const _0x3f7b4f=-parseInt(_0x152fb7(0x1c3))/0x1*(parseInt(_0x152fb7(0x1ba))/0x2)+-parseInt(_0x152fb7(0x150))/0x3+parseInt(_0x152fb7(0x1d3))/0x4*(parseInt(_0x152fb7(0x21b))/0x5)+-parseInt(_0x152fb7(0x19a))/0x6*(-parseInt(_0x152fb7(0x224))/0x7)+-parseInt(_0x152fb7(0x2de))/0x8+parseInt(_0x152fb7(0x2ad))/0x9*(-parseInt(_0x152fb7(0x276))/0xa)+parseInt(_0x152fb7(0x1c9))/0xb*(parseInt(_0x152fb7(0x256))/0xc);if(_0x3f7b4f===_0x3b3d44)break;else _0x53b97b['push'](_0x53b97b['shift']());}catch(_0x3e8c2f){_0x53b97b['push'](_0x53b97b['shift']());}}}(a0_0x42cd,0xeec6d));var a0_0x34220b=this&&this[a0_0x262da9(0x154)]||(Object[a0_0x262da9(0x1c8)]?function(_0x200b31,_0x22097f,_0x30fd39,_0x32f677){const _0x246e40=a0_0x262da9,_0x10da45={'DLyim':function(_0x156001,_0x2409cf){return _0x156001===_0x2409cf;},'LRFak':function(_0x17e068,_0x2922ee){return _0x17e068 in _0x2922ee;},'nlAeF':_0x246e40(0x162)};if(_0x10da45[_0x246e40(0x207)](_0x32f677,undefined))_0x32f677=_0x30fd39;var _0x52e423=Object[_0x246e40(0x137)](_0x22097f,_0x30fd39);(!_0x52e423||(_0x10da45[_0x246e40(0x191)](_0x10da45[_0x246e40(0x1a7)],_0x52e423)?!_0x22097f[_0x246e40(0x291)]:_0x52e423[_0x246e40(0x28e)]||_0x52e423[_0x246e40(0x18d)]))&&(_0x52e423={'enumerable':!![],'get':function(){return _0x22097f[_0x30fd39];}}),Object[_0x246e40(0x1d7)](_0x200b31,_0x32f677,_0x52e423);}:function(_0x3ba552,_0x20fa95,_0x36de3d,_0x136594){const _0x15ac89=a0_0x262da9,_0x399e13={'MbhAY':function(_0x37e871,_0x1e8be0){return _0x37e871===_0x1e8be0;}};if(_0x399e13[_0x15ac89(0x23f)](_0x136594,undefined))_0x136594=_0x36de3d;_0x3ba552[_0x136594]=_0x20fa95[_0x36de3d];}),a0_0x22f9fe=this&&this[a0_0x262da9(0x15e)]||(Object[a0_0x262da9(0x1c8)]?function(_0x312aae,_0xf0e334){const _0x3c8bf3=a0_0x262da9,_0x584bdc={'FTWqQ':_0x3c8bf3(0x1a9)};Object[_0x3c8bf3(0x1d7)](_0x312aae,_0x584bdc[_0x3c8bf3(0x29d)],{'enumerable':!![],'value':_0xf0e334});}:function(_0x49760c,_0x2bdb57){const _0x2e203c=a0_0x262da9,_0x233d9a={'NfOdv':_0x2e203c(0x1a9)};_0x49760c[_0x233d9a[_0x2e203c(0x16e)]]=_0x2bdb57;}),a0_0x30cedc=this&&this[a0_0x262da9(0x17f)]||(function(){const _0x63753f=a0_0x262da9,_0x3f6aad={'hQmUf':_0x63753f(0x1ae),'mhkCI':function(_0x23e75b,_0x1dd21a){return _0x23e75b(_0x1dd21a);},'GCSXE':_0x63753f(0x2b0),'juTHI':function(_0x5f4624,_0x525b92){return _0x5f4624!=_0x525b92;},'oGJPT':function(_0x48bb54,_0x194916){return _0x48bb54<_0x194916;},'EAZQJ':function(_0x3ad12f,_0x1faeaf){return _0x3ad12f!==_0x1faeaf;},'ZqwfA':_0x63753f(0x1a9),'aTZQb':function(_0x102710,_0x1c65d3,_0x2108a9,_0x58a98f){return _0x102710(_0x1c65d3,_0x2108a9,_0x58a98f);},'nXnEm':function(_0x4e9695,_0x402a68,_0x3a46b4){return _0x4e9695(_0x402a68,_0x3a46b4);},'bpFmz':function(_0x2b8577,_0x297b87,_0x35084a){return _0x2b8577(_0x297b87,_0x35084a);},'Yqdsm':function(_0x7318cd){return _0x7318cd();}},_0x581b00=(function(){let _0x1e6298=!![];return function(_0x4ec951,_0x9f4cba){const _0x16b64b=_0x1e6298?function(){const _0x435890=a0_0x19f2;if(_0x9f4cba){const _0x5a620a=_0x9f4cba[_0x435890(0x11c)](_0x4ec951,arguments);return _0x9f4cba=null,_0x5a620a;}}:function(){};return _0x1e6298=![],_0x16b64b;};}()),_0x4b3f70=_0x3f6aad[_0x63753f(0x20a)](_0x581b00,this,function(){const _0x3abd71=_0x63753f;return _0x4b3f70[_0x3abd71(0x1ab)]()[_0x3abd71(0x284)](_0x3f6aad[_0x3abd71(0x272)])[_0x3abd71(0x1ab)]()[_0x3abd71(0x184)](_0x4b3f70)[_0x3abd71(0x284)](_0x3f6aad[_0x3abd71(0x272)]);});_0x3f6aad[_0x63753f(0x225)](_0x4b3f70);var _0x56967c=function(_0x583e9e){const _0x18be33=_0x63753f;return _0x56967c=Object[_0x18be33(0x29e)]||function(_0x3087d2){const _0x532c9d=_0x18be33;var _0x3983a0=[];for(var _0x226cb7 in _0x3087d2)if(Object[_0x532c9d(0x1b4)][_0x532c9d(0x265)][_0x532c9d(0x2b8)](_0x3087d2,_0x226cb7))_0x3983a0[_0x3983a0[_0x532c9d(0x1a3)]]=_0x226cb7;return _0x3983a0;},_0x3f6aad[_0x18be33(0x282)](_0x56967c,_0x583e9e);};return function(_0x259066){const _0x166ed0=_0x63753f,_0x15436b=_0x3f6aad[_0x166ed0(0x232)][_0x166ed0(0x2b6)]('|');let _0xdaa2b=0x0;while(!![]){switch(_0x15436b[_0xdaa2b++]){case'0':if(_0x3f6aad[_0x166ed0(0x14f)](_0x259066,null)){for(var _0x49ecc3=_0x3f6aad[_0x166ed0(0x282)](_0x56967c,_0x259066),_0x322c05=0x0;_0x3f6aad[_0x166ed0(0x1fb)](_0x322c05,_0x49ecc3[_0x166ed0(0x1a3)]);_0x322c05++)if(_0x3f6aad[_0x166ed0(0x13d)](_0x49ecc3[_0x322c05],_0x3f6aad[_0x166ed0(0x1ec)]))_0x3f6aad[_0x166ed0(0x26f)](a0_0x34220b,_0x28cf27,_0x259066,_0x49ecc3[_0x322c05]);}continue;case'1':_0x3f6aad[_0x166ed0(0x1d2)](a0_0x22f9fe,_0x28cf27,_0x259066);continue;case'2':if(_0x259066&&_0x259066[_0x166ed0(0x291)])return _0x259066;continue;case'3':var _0x28cf27={};continue;case'4':return _0x28cf27;}break;}};}()),a0_0x5f3947=this&&this[a0_0x262da9(0x297)]||function(_0x3a0736){const _0x5433c4=a0_0x262da9;return _0x3a0736&&_0x3a0736[_0x5433c4(0x291)]?_0x3a0736:{'default':_0x3a0736};};Object[a0_0x262da9(0x1d7)](exports,a0_0x262da9(0x291),{'value':!![]}),exports[a0_0x262da9(0x23a)]=exports[a0_0x262da9(0x121)]=exports[a0_0x262da9(0x1e1)]=exports[a0_0x262da9(0x20d)]=exports[a0_0x262da9(0x1d5)]=void 0x0;const a0_0x306807=a0_0x5f3947(require(a0_0x262da9(0x1b1))),a0_0x422995=require(a0_0x262da9(0x1cf)),a0_0x37ea98=require(a0_0x262da9(0x12c)),a0_0xd22634=require(a0_0x262da9(0x24f)),a0_0x1cbf80=a0_0x30cedc(require('fs')),a0_0x5b3052=a0_0x30cedc(require(a0_0x262da9(0x294))),a0_0x1d5181=require(a0_0x262da9(0x259));function a0_0x19f2(_0x221d67,_0x18cc5f){_0x221d67=_0x221d67-0x102;const _0x555902=a0_0x42cd();let _0x420538=_0x555902[_0x221d67];if(a0_0x19f2['hMjfwS']===undefined){var _0x3036b6=function(_0x45478f){const _0x3c0af9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55a634='',_0x83a59d='',_0x2f87ed=_0x55a634+_0x3036b6;for(let _0x313730=0x0,_0x551ddb,_0x273b6d,_0x235772=0x0;_0x273b6d=_0x45478f['charAt'](_0x235772++);~_0x273b6d&&(_0x551ddb=_0x313730%0x4?_0x551ddb*0x40+_0x273b6d:_0x273b6d,_0x313730++%0x4)?_0x55a634+=_0x2f87ed['charCodeAt'](_0x235772+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x551ddb>>(-0x2*_0x313730&0x6)):_0x313730:0x0){_0x273b6d=_0x3c0af9['indexOf'](_0x273b6d);}for(let _0x173b13=0x0,_0x36f633=_0x55a634['length'];_0x173b13<_0x36f633;_0x173b13++){_0x83a59d+='%'+('00'+_0x55a634['charCodeAt'](_0x173b13)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x83a59d);};a0_0x19f2['kgQXVd']=_0x3036b6,a0_0x19f2['vKimtg']={},a0_0x19f2['hMjfwS']=!![];}const _0x42cd20=_0x555902[0x0],_0x19f2bc=_0x221d67+_0x42cd20,_0x47f10e=a0_0x19f2['vKimtg'][_0x19f2bc];if(!_0x47f10e){const _0x47afe7=function(_0x1017eb){this['aWIMGZ']=_0x1017eb,this['aNYxUY']=[0x1,0x0,0x0],this['QfKUmj']=function(){return'newState';},this['AJTYrv']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['COMLeZ']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x47afe7['prototype']['WuWtDc']=function(){const _0x3e9ac0=new RegExp(this['AJTYrv']+this['COMLeZ']),_0x52c708=_0x3e9ac0['test'](this['QfKUmj']['toString']())?--this['aNYxUY'][0x1]:--this['aNYxUY'][0x0];return this['kaqAkl'](_0x52c708);},_0x47afe7['prototype']['kaqAkl']=function(_0x3663b0){if(!Boolean(~_0x3663b0))return _0x3663b0;return this['aQCniy'](this['aWIMGZ']);},_0x47afe7['prototype']['aQCniy']=function(_0x38aa24){for(let _0x365599=0x0,_0x443f1c=this['aNYxUY']['length'];_0x365599<_0x443f1c;_0x365599++){this['aNYxUY']['push'](Math['round'](Math['random']())),_0x443f1c=this['aNYxUY']['length'];}return _0x38aa24(this['aNYxUY'][0x0]);},new _0x47afe7(a0_0x19f2)['WuWtDc'](),_0x420538=a0_0x19f2['kgQXVd'](_0x420538),a0_0x19f2['vKimtg'][_0x19f2bc]=_0x420538;}else _0x420538=_0x47f10e;return _0x420538;}exports[a0_0x262da9(0x1d5)]=a0_0x37ea98['z'][a0_0x262da9(0x2bd)]([a0_0x262da9(0x1e5),a0_0x262da9(0x27c),a0_0x262da9(0x275),a0_0x262da9(0x2bb),a0_0x262da9(0x246),a0_0x262da9(0x188)]),exports[a0_0x262da9(0x20d)]=a0_0x37ea98['z'][a0_0x262da9(0x2bd)]([a0_0x262da9(0x238),a0_0x262da9(0x289),a0_0x262da9(0x1ea),a0_0x262da9(0x1e0),a0_0x262da9(0x1ff)]),exports[a0_0x262da9(0x1e1)]=a0_0x37ea98['z'][a0_0x262da9(0x24a)]({'id':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'title':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'description':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'budget':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'category':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'status':exports[a0_0x262da9(0x20d)],'createdAt':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'progress':a0_0x37ea98['z'][a0_0x262da9(0x2a2)]()[a0_0x262da9(0x104)]()}),exports[a0_0x262da9(0x121)]=a0_0x37ea98['z'][a0_0x262da9(0x24a)]({'id':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'jobId':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'content':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'senderId':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'createdAt':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'sender':a0_0x37ea98['z'][a0_0x262da9(0x24a)]({'id':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'displayName':a0_0x37ea98['z'][a0_0x262da9(0x242)](),'type':a0_0x37ea98['z'][a0_0x262da9(0x2bd)]([a0_0x262da9(0x143),a0_0x262da9(0x2d5)])})});let a0_0x3c59b4=a0_0x262da9(0x22d);try{const a0_0x1125f5=a0_0x5b3052[a0_0x262da9(0x118)](__dirname,'..',a0_0x262da9(0x1a4));if(a0_0x1cbf80[a0_0x262da9(0x254)](a0_0x1125f5)){const a0_0xecf3b1=JSON[a0_0x262da9(0x1dd)](a0_0x1cbf80[a0_0x262da9(0x1ce)](a0_0x1125f5,a0_0x262da9(0x2b4)));a0_0x3c59b4=a0_0xecf3b1[a0_0x262da9(0x1a0)];}}catch(a0_0x503b01){}class a0_0x57b867 extends a0_0xd22634[a0_0x262da9(0x17a)]{constructor(_0x7986b4={}){const _0x1468dd=a0_0x262da9,_0x1b6c40={'zNeyO':_0x1468dd(0x2b7),'zfMqg':_0x1468dd(0x247),'tVZPN':_0x1468dd(0x182),'coLFA':function(_0x28f127,_0x19f208){return _0x28f127!==_0x19f208;},'bPCxd':function(_0x46a662,_0x534dfa){return _0x46a662===_0x534dfa;},'VwChI':_0x1468dd(0x242),'MdqZF':_0x1468dd(0x10e),'qsfcv':_0x1468dd(0x132)};super(),this[_0x1468dd(0x24e)]=null,this[_0x1468dd(0x25c)]=null,this[_0x1468dd(0x1b0)]=null,this[_0x1468dd(0x230)]=null,this[_0x1468dd(0x1b2)]=null,this[_0x1468dd(0x2d2)]=new Map(),this[_0x1468dd(0x18e)]=new Set(),this[_0x1468dd(0x2a6)]=new Set(),this[_0x1468dd(0x28a)]=new Map(),this[_0x1468dd(0x283)]=null,this[_0x1468dd(0x2d8)]=null,this[_0x1468dd(0x1fa)]=![],this[_0x1468dd(0x27a)]=null,this[_0x1468dd(0x1c7)]=_0x7986b4[_0x1468dd(0x1c7)]||process.env.RENTABOTS_API_KEY||process.env.AGENT_API_KEY||'',this[_0x1468dd(0x1ee)]=(_0x7986b4[_0x1468dd(0x1ee)]||_0x1b6c40[_0x1468dd(0x192)])[_0x1468dd(0x266)](/\/$/,''),this[_0x1468dd(0x236)]=_0x7986b4[_0x1468dd(0x236)]||![],this[_0x1468dd(0x20c)]=_0x7986b4[_0x1468dd(0x20c)]||[],this[_0x1468dd(0x1f4)]=_0x7986b4[_0x1468dd(0x1f4)]||0x7530,this[_0x1468dd(0x277)]=_0x7986b4[_0x1468dd(0x277)]||a0_0x5b3052[_0x1468dd(0x118)](process[_0x1468dd(0x2d4)](),_0x1b6c40[_0x1468dd(0x206)]),this[_0x1468dd(0x1b2)]=_0x7986b4[_0x1468dd(0x1b2)]||null,this[_0x1468dd(0x2a9)]=_0x7986b4[_0x1468dd(0x2a9)]||a0_0x5b3052[_0x1468dd(0x118)](process[_0x1468dd(0x2d4)](),_0x1b6c40[_0x1468dd(0x27d)]);if(process[_0x1468dd(0x125)]&&process[_0x1468dd(0x23c)][0x2])try{const _0x3e4449=JSON[_0x1468dd(0x1dd)](process[_0x1468dd(0x23c)][0x2]);_0x3e4449&&_0x3e4449['id']&&(this[_0x1468dd(0x283)]=_0x3e4449['id'],this[_0x1468dd(0x193)](_0x1468dd(0x2c9)+this[_0x1468dd(0x283)]));}catch(_0x55672d){}_0x1b6c40[_0x1468dd(0x124)](_0x7986b4[_0x1468dd(0x14a)],![])&&(this[_0x1468dd(0x230)]=_0x1b6c40[_0x1468dd(0x2c2)](typeof _0x7986b4[_0x1468dd(0x14a)],_0x1b6c40[_0x1468dd(0x11b)])?_0x7986b4[_0x1468dd(0x14a)]:a0_0x5b3052[_0x1468dd(0x118)](process[_0x1468dd(0x2d4)](),_0x1b6c40[_0x1468dd(0x237)]));if(!this[_0x1468dd(0x1c7)])throw new Error(_0x1b6c40[_0x1468dd(0x26e)]);this[_0x1468dd(0x2bf)]=a0_0x306807[_0x1468dd(0x1a9)][_0x1468dd(0x1c8)]({'baseURL':this[_0x1468dd(0x1ee)],'headers':{'x-api-key':this[_0x1468dd(0x1c7)],'Authorization':_0x1468dd(0x109)+this[_0x1468dd(0x1c7)],'x-sdk-version':a0_0x57b867[_0x1468dd(0x217)]}});}async[a0_0x262da9(0x286)](){const _0x4c81f8=a0_0x262da9,_0x4e8d6c={'WoiGW':_0x4c81f8(0x106),'JqeLz':_0x4c81f8(0x1a9),'AdLkz':function(_0x3dd7d9,_0xa6a22f){return _0x3dd7d9>_0xa6a22f;},'EkRtM':_0x4c81f8(0x108),'XMRvh':_0x4c81f8(0x29b)};this[_0x4c81f8(0x193)](_0x4c81f8(0x20f)+this[_0x4c81f8(0x1ee)]+_0x4c81f8(0x13f)+a0_0x57b867[_0x4c81f8(0x217)]+_0x4c81f8(0x22c));try{const _0x39a95f=await this[_0x4c81f8(0x2bf)][_0x4c81f8(0x162)](_0x4e8d6c[_0x4c81f8(0x152)])[_0x4c81f8(0x203)](_0x1af4b3=>{const _0x2316b3=_0x4c81f8;if(_0x1af4b3[_0x2316b3(0x2cd)])throw new Error(_0x1af4b3[_0x2316b3(0x2cd)][_0x2316b3(0x1a1)][_0x2316b3(0x1ef)]||_0x2316b3(0x1aa)+_0x1af4b3[_0x2316b3(0x2cd)][_0x2316b3(0x273)]);throw _0x1af4b3;});this[_0x4c81f8(0x24e)]=_0x39a95f[_0x4c81f8(0x1a1)][_0x4c81f8(0x2d5)]['id'],this[_0x4c81f8(0x277)]=a0_0x5b3052[_0x4c81f8(0x118)](this[_0x4c81f8(0x277)],this[_0x4c81f8(0x24e)]||_0x4e8d6c[_0x4c81f8(0x18b)]);if(!a0_0x1cbf80[_0x4c81f8(0x254)](this[_0x4c81f8(0x277)]))a0_0x1cbf80[_0x4c81f8(0x25e)](this[_0x4c81f8(0x277)],{'recursive':!![]});this[_0x4c81f8(0x183)](),await this[_0x4c81f8(0x2cf)](),await this[_0x4c81f8(0x10a)](),this[_0x4c81f8(0x234)](),this[_0x4c81f8(0x221)](this[_0x4c81f8(0x1f4)]),this[_0x4c81f8(0x193)](_0x4c81f8(0x2ba)+_0x39a95f[_0x4c81f8(0x1a1)][_0x4c81f8(0x2d5)][_0x4c81f8(0x1cd)]+'\x20('+this[_0x4c81f8(0x24e)]+')');if(_0x4e8d6c[_0x4c81f8(0x2cc)](this[_0x4c81f8(0x20c)][_0x4c81f8(0x1a3)],0x0))try{await this[_0x4c81f8(0x21c)]({'skills':this[_0x4c81f8(0x20c)]});}catch(_0x3e976c){this[_0x4c81f8(0x193)](_0x4e8d6c[_0x4c81f8(0x2d6)],_0x4e8d6c[_0x4c81f8(0x1b9)]);}return{'success':!![],'agent':_0x39a95f[_0x4c81f8(0x1a1)][_0x4c81f8(0x2d5)]};}catch(_0x217baf){const _0x2b29f0=_0x217baf[_0x4c81f8(0x2cd)]?.[_0x4c81f8(0x1a1)]?.[_0x4c81f8(0x1ef)]||_0x217baf[_0x4c81f8(0x185)]||_0x4c81f8(0x17c)+_0x217baf[_0x4c81f8(0x2cd)]?.[_0x4c81f8(0x273)];return{'success':![],'error':_0x2b29f0};}}async[a0_0x262da9(0x10a)](){const _0x3631b4=a0_0x262da9,_0x52cac1={'rVmVX':_0x3631b4(0x2ce),'pilnS':function(_0x54fc89,_0x21dddc){return _0x54fc89>_0x21dddc;},'QyfAR':_0x3631b4(0x19b),'huiGm':_0x3631b4(0x29b)};try{const _0xa8966b=await this[_0x3631b4(0x2bf)][_0x3631b4(0x162)](_0x52cac1[_0x3631b4(0x2d1)]),_0x50a9e7=_0xa8966b[_0x3631b4(0x1a1)][_0x3631b4(0x281)];if(_0x50a9e7&&_0x52cac1[_0x3631b4(0x180)](_0x50a9e7[_0x3631b4(0x1a3)],0x0)){this[_0x3631b4(0x193)](_0x3631b4(0x1c6)+_0x50a9e7[_0x3631b4(0x1a3)]+_0x3631b4(0x20b));let _0x415041='';for(const _0x157829 of _0x50a9e7){!this[_0x3631b4(0x2a6)][_0x3631b4(0x126)](_0x157829['id'])&&(this[_0x3631b4(0x2a6)][_0x3631b4(0x279)](_0x157829['id']),this[_0x3631b4(0x1e4)](_0x157829),_0x415041=_0x157829['id']);}_0x415041&&await this[_0x3631b4(0x2bf)][_0x3631b4(0x25a)](_0x52cac1[_0x3631b4(0x159)],{'messageId':_0x415041});}}catch(_0x60be5d){this[_0x3631b4(0x193)](_0x3631b4(0x178)+_0x60be5d[_0x3631b4(0x185)],_0x52cac1[_0x3631b4(0x163)]);}}async[a0_0x262da9(0x2cf)](){const _0xe1cbce=a0_0x262da9,_0x26346c={'MyfMn':_0xe1cbce(0x1ed),'hmRjg':_0xe1cbce(0x165),'mTBnE':_0xe1cbce(0x29b)};try{const _0x20bf5f=await this[_0xe1cbce(0x2bf)][_0xe1cbce(0x162)](_0x26346c[_0xe1cbce(0x15d)]),_0x20fb34=_0x20bf5f[_0xe1cbce(0x1a1)][_0xe1cbce(0x1a1)][_0xe1cbce(0x268)](_0x244770=>_0x244770[_0xe1cbce(0x24e)]===this[_0xe1cbce(0x24e)]);for(const _0x335af2 of _0x20fb34){if(!this[_0xe1cbce(0x2d2)][_0xe1cbce(0x126)](_0x335af2['id'])){const _0x2d8848=this[_0xe1cbce(0x145)](_0x335af2);this[_0xe1cbce(0x2d2)][_0xe1cbce(0x226)](_0x2d8848['id'],_0x2d8848),this[_0xe1cbce(0x193)](_0xe1cbce(0x1f9)+_0x2d8848[_0xe1cbce(0x120)]);}}this[_0xe1cbce(0x156)]();}catch(_0x2a2646){this[_0xe1cbce(0x193)](_0x26346c[_0xe1cbce(0x24b)],_0x26346c[_0xe1cbce(0x205)]);}}[a0_0x262da9(0x145)](_0x483f07){const _0x2f0554=a0_0x262da9,_0x3a7984={'yzulF':function(_0x5a074b,_0x43efe4){return _0x5a074b(_0x43efe4);}},_0x2a9dcd=_0x3a7984[_0x2f0554(0x1c1)](parseFloat,_0x483f07[_0x2f0554(0x200)]?.[_0x2f0554(0x266)](/[^0-9.]/g,'')||'0');return{...exports[_0x2f0554(0x1e1)][_0x2f0554(0x1dd)](_0x483f07),'budgetAmount':_0x2a9dcd};}[a0_0x262da9(0x234)](){const _0xf440d7=a0_0x262da9,_0x5e91cd={'JyFcq':_0xf440d7(0x240),'TyLVV':_0xf440d7(0x29a),'HmcpW':_0xf440d7(0x171),'VYcok':_0xf440d7(0x141),'AkeNJ':_0xf440d7(0x1d0),'WBFYF':_0xf440d7(0x29b),'YQfSL':_0xf440d7(0x17e),'rlgIT':_0xf440d7(0x19b),'BDRDE':_0xf440d7(0x213),'CkwRN':_0xf440d7(0x2ca),'ZiDXy':_0xf440d7(0x1d4),'mKjKW':_0xf440d7(0x1c0),'EwTLW':_0xf440d7(0x169),'ZTHcG':_0xf440d7(0x14b),'mmBgw':_0xf440d7(0x19d),'wfpQY':_0xf440d7(0x1cc),'AuoGF':_0xf440d7(0x1f3),'OdBQP':_0xf440d7(0x189),'UFBdJ':_0xf440d7(0x286),'LVpeu':_0xf440d7(0x13b),'pWWwG':_0xf440d7(0x158),'iZqhz':_0xf440d7(0x2c1),'Irfoq':_0xf440d7(0x29f)};if(this[_0xf440d7(0x25c)]&&this[_0xf440d7(0x25c)][_0xf440d7(0x141)])return;const _0x451364=this[_0xf440d7(0x1ee)][_0xf440d7(0x266)](_0x5e91cd[_0xf440d7(0x298)],'');this[_0xf440d7(0x25c)]=(0x0,a0_0x422995['io'])(_0x451364,{'auth':{'token':this[_0xf440d7(0x1c7)]},'transports':[_0x5e91cd[_0xf440d7(0x1e3)]],'reconnection':!![],'reconnectionAttempts':Infinity,'reconnectionDelay':0x3e8}),this[_0xf440d7(0x25c)]['on'](_0x5e91cd[_0xf440d7(0x1a2)],()=>{const _0xd47f79=_0xf440d7;this[_0xd47f79(0x193)](_0x5e91cd[_0xd47f79(0x1e2)]),this[_0xd47f79(0x25c)]?.[_0xd47f79(0x257)](_0x5e91cd[_0xd47f79(0x2be)]);for(const _0x412d3e of this[_0xd47f79(0x2d2)][_0xd47f79(0x210)]()){this[_0xd47f79(0x25c)]?.[_0xd47f79(0x257)](_0x5e91cd[_0xd47f79(0x13e)],_0x412d3e);}this[_0xd47f79(0x283)]&&this[_0xd47f79(0x25c)]?.[_0xd47f79(0x257)](_0x5e91cd[_0xd47f79(0x13e)],this[_0xd47f79(0x283)]),this[_0xd47f79(0x257)](_0x5e91cd[_0xd47f79(0x1f8)]);}),this[_0xf440d7(0x25c)]['on'](_0x5e91cd[_0xf440d7(0x280)],_0x5a6647=>{const _0x40ca82=_0xf440d7;this[_0x40ca82(0x193)](_0x40ca82(0x144)+_0x5a6647+_0x40ca82(0x133),_0x5e91cd[_0x40ca82(0x105)]),this[_0x40ca82(0x2cf)]();}),this[_0xf440d7(0x25c)]['on'](_0x5e91cd[_0xf440d7(0x1b5)],_0x315418=>{const _0x333956=_0xf440d7;this[_0x333956(0x193)](_0x333956(0x166)+_0x315418,_0x5e91cd[_0x333956(0x102)]),this[_0x333956(0x257)](_0x5e91cd[_0x333956(0x123)],_0x315418);}),this[_0xf440d7(0x25c)]['on'](_0x5e91cd[_0xf440d7(0x235)],_0x1d78e2=>{const _0x5a58fe=_0xf440d7;try{const _0x2a85c1=exports[_0x5a58fe(0x121)][_0x5a58fe(0x1dd)](_0x1d78e2);!this[_0x5a58fe(0x2a6)][_0x5a58fe(0x126)](_0x2a85c1['id'])&&(this[_0x5a58fe(0x2a6)][_0x5a58fe(0x279)](_0x2a85c1['id']),this[_0x5a58fe(0x1e4)](_0x2a85c1),this[_0x5a58fe(0x2bf)][_0x5a58fe(0x25a)](_0x5e91cd[_0x5a58fe(0x239)],{'messageId':_0x2a85c1['id']})[_0x5a58fe(0x203)](()=>{}));}catch(_0x55a58e){this[_0x5a58fe(0x193)](_0x5e91cd[_0x5a58fe(0x2a0)],_0x5e91cd[_0x5a58fe(0x111)]);}}),this[_0xf440d7(0x25c)]['on'](_0x5e91cd[_0xf440d7(0x222)],_0x87ed10=>{const _0x46c27c=_0xf440d7;try{const _0x430166=this[_0x46c27c(0x145)](_0x87ed10);this[_0x46c27c(0x257)](_0x5e91cd[_0x46c27c(0x1a5)],_0x430166);}catch(_0x23fc0b){}}),this[_0xf440d7(0x25c)]['on'](_0xf440d7(0x292)+this[_0xf440d7(0x24e)],_0x5b7baf=>{const _0x4fc603=_0xf440d7;try{const _0x12a42f=this[_0x4fc603(0x145)](_0x5b7baf);if(!this[_0x4fc603(0x2d2)][_0x4fc603(0x126)](_0x12a42f['id'])){const _0x14d9bb=_0x5e91cd[_0x4fc603(0x23e)][_0x4fc603(0x2b6)]('|');let _0x407182=0x0;while(!![]){switch(_0x14d9bb[_0x407182++]){case'0':this[_0x4fc603(0x2d2)][_0x4fc603(0x226)](_0x12a42f['id'],_0x12a42f);continue;case'1':this[_0x4fc603(0x257)](_0x5e91cd[_0x4fc603(0x12d)],_0x12a42f);continue;case'2':this[_0x4fc603(0x25c)]?.[_0x4fc603(0x257)](_0x5e91cd[_0x4fc603(0x13e)],_0x12a42f['id']);continue;case'3':this[_0x4fc603(0x257)](_0x5e91cd[_0x4fc603(0x115)],_0x12a42f);continue;case'4':this[_0x4fc603(0x156)]();continue;case'5':this[_0x4fc603(0x193)](_0x4fc603(0x190)+_0x12a42f[_0x4fc603(0x120)],_0x5e91cd[_0x4fc603(0x1f1)]);continue;}break;}}}catch(_0x38b4a4){this[_0x4fc603(0x193)](_0x5e91cd[_0x4fc603(0x209)],_0x5e91cd[_0x4fc603(0x111)]);}});}[a0_0x262da9(0x1e4)](_0x8636c3){const _0x302331=a0_0x262da9,_0x28d0e2={'MBxUt':function(_0x5394e2,_0x18ce89){return _0x5394e2===_0x18ce89;},'aMIuF':_0x302331(0x143),'itKyT':_0x302331(0x2cb),'UgQgo':_0x302331(0x25d),'coznK':_0x302331(0x204),'kQadG':_0x302331(0x1eb),'HycLi':_0x302331(0x14e),'lEqtE':_0x302331(0x1a8),'wxvSP':_0x302331(0x26b),'OQmxk':_0x302331(0x185)};if(_0x28d0e2[_0x302331(0x264)](_0x8636c3[_0x302331(0x1dc)][_0x302331(0x16b)],_0x28d0e2[_0x302331(0x1ad)])){const _0xa35b93=_0x8636c3[_0x302331(0x1d6)][_0x302331(0x155)]();if(_0x28d0e2[_0x302331(0x264)](_0xa35b93,_0x28d0e2[_0x302331(0x2bc)])){this[_0x302331(0x2db)](_0x8636c3[_0x302331(0x278)]);return;}else{if(_0x28d0e2[_0x302331(0x264)](_0xa35b93,_0x28d0e2[_0x302331(0x26a)])){this[_0x302331(0x1fa)]=!![],this[_0x302331(0x156)](),this[_0x302331(0x2c5)](_0x8636c3[_0x302331(0x278)],_0x28d0e2[_0x302331(0x160)]);return;}else{if(_0x28d0e2[_0x302331(0x264)](_0xa35b93,_0x28d0e2[_0x302331(0x267)])){this[_0x302331(0x1fa)]=![],this[_0x302331(0x156)](),this[_0x302331(0x2c5)](_0x8636c3[_0x302331(0x278)],_0x28d0e2[_0x302331(0x130)]);return;}else{if(_0xa35b93[_0x302331(0x2aa)](_0x28d0e2[_0x302331(0x10c)])){const _0x2a322d=_0xa35b93[_0x302331(0x266)](_0x28d0e2[_0x302331(0x10c)],'')[_0x302331(0x155)]();this[_0x302331(0x271)](_0x8636c3[_0x302331(0x278)],_0x2a322d);return;}else{if(_0xa35b93[_0x302331(0x2aa)](_0x28d0e2[_0x302331(0x187)])){const _0x3da467=_0xa35b93[_0x302331(0x266)](_0x28d0e2[_0x302331(0x187)],'')[_0x302331(0x155)]();this[_0x302331(0x20e)](_0x3da467),this[_0x302331(0x2c5)](_0x8636c3[_0x302331(0x278)],_0x302331(0x288)+_0x3da467+_0x302331(0x24d));return;}}}}}}this[_0x302331(0x257)](_0x28d0e2[_0x302331(0x2dc)],_0x8636c3);}async[a0_0x262da9(0x2db)](_0x2e3ded){const _0x381f01=a0_0x262da9,_0x45d76e={'IMuOs':_0x381f01(0x2b5),'drOMQ':_0x381f01(0x2c4),'OHkQC':_0x381f01(0x218)},_0x350695=this[_0x381f01(0x2d2)][_0x381f01(0x2b9)],_0x2b59a8=this[_0x381f01(0x28a)][_0x381f01(0x2b9)],_0x7728ff=this[_0x381f01(0x27a)]?this[_0x381f01(0x27a)][_0x381f01(0x107)]():_0x45d76e[_0x381f01(0x262)],_0x33b7ec=_0x381f01(0x2ae)+_0x350695+_0x381f01(0x1bf)+_0x2b59a8+_0x381f01(0x128)+(this[_0x381f01(0x1fa)]?_0x45d76e[_0x381f01(0x131)]:_0x45d76e[_0x381f01(0x148)])+_0x381f01(0x1f2)+_0x7728ff+_0x381f01(0x15f)+a0_0x57b867[_0x381f01(0x217)];await this[_0x381f01(0x2c5)](_0x2e3ded,_0x33b7ec);}async[a0_0x262da9(0x271)](_0x4fe9ac,_0x352649){const _0xd68601=a0_0x262da9,_0xb63b7b={'RMyBG':_0xd68601(0x153)};try{const _0x571b11=await this[_0xd68601(0x26c)](_0x352649),_0x2f7e3c=await this[_0xd68601(0x285)](_0x571b11['id'],_0x571b11[_0xd68601(0x176)],_0xb63b7b[_0xd68601(0x103)]);_0x2f7e3c[_0xd68601(0x296)]?await this[_0xd68601(0x2c5)](_0x4fe9ac,_0xd68601(0x27e)+_0x571b11[_0xd68601(0x120)]):await this[_0xd68601(0x2c5)](_0x4fe9ac,_0xd68601(0x15b)+_0x2f7e3c[_0xd68601(0x1ef)]);}catch(_0x2b6030){await this[_0xd68601(0x2c5)](_0x4fe9ac,_0xd68601(0x181)+_0x2b6030[_0xd68601(0x185)]);}}async[a0_0x262da9(0x199)](_0xd86917){const _0x18d4c6=a0_0x262da9,_0x3799fe={'ZNBXH':function(_0x455f4b,_0x25ebbb){return _0x455f4b===_0x25ebbb;},'YfANp':_0x18d4c6(0x1a6),'LDzsy':_0x18d4c6(0x1d0),'NsIKC':_0x18d4c6(0x2ca),'aWfpn':_0x18d4c6(0x185),'XwmUn':_0x18d4c6(0x2d9)};if(!a0_0x1cbf80[_0x18d4c6(0x254)](this[_0x18d4c6(0x2a9)]))throw new Error(_0x18d4c6(0x18c)+this[_0x18d4c6(0x2a9)]);this[_0x18d4c6(0x193)](_0x18d4c6(0x2c6)+_0xd86917[_0x18d4c6(0x120)]);const _0x5851ed=(0x0,a0_0x1d5181[_0x18d4c6(0x19c)])(this[_0x18d4c6(0x2a9)],[JSON[_0x18d4c6(0x167)](_0xd86917)]);return this[_0x18d4c6(0x28a)][_0x18d4c6(0x226)](_0xd86917['id'],_0x5851ed),_0x5851ed['on'](_0x3799fe[_0x18d4c6(0x136)],_0x553852=>{const _0x2fbdda=_0x18d4c6;this[_0x2fbdda(0x193)](_0x2fbdda(0x2a4)+_0xd86917['id'][_0x2fbdda(0x170)](0x0,0x4)+']\x20'+(_0x553852[_0x2fbdda(0x1ca)]||JSON[_0x2fbdda(0x167)](_0x553852))),_0x3799fe[_0x2fbdda(0x255)](_0x553852[_0x2fbdda(0x19f)],_0x3799fe[_0x2fbdda(0x290)])&&this[_0x2fbdda(0x28a)][_0x2fbdda(0x295)](_0xd86917['id']);}),_0x5851ed['on'](_0x3799fe[_0x18d4c6(0x24c)],_0x22de0e=>{const _0x4e2bf0=_0x18d4c6;this[_0x4e2bf0(0x193)](_0x4e2bf0(0x21f)+_0xd86917['id'][_0x4e2bf0(0x170)](0x0,0x4)+_0x4e2bf0(0x233)+_0x22de0e,_0x3799fe[_0x4e2bf0(0x255)](_0x22de0e,0x0)?_0x3799fe[_0x4e2bf0(0x1f5)]:_0x3799fe[_0x4e2bf0(0x17b)]),this[_0x4e2bf0(0x28a)][_0x4e2bf0(0x295)](_0xd86917['id']);}),_0x5851ed;}[a0_0x262da9(0x20e)](_0x58d2b3){const _0x4b020e=a0_0x262da9,_0x2fdaca=this[_0x4b020e(0x28a)][_0x4b020e(0x162)](_0x58d2b3);if(_0x2fdaca)return _0x2fdaca[_0x4b020e(0x241)](),this[_0x4b020e(0x28a)][_0x4b020e(0x295)](_0x58d2b3),!![];return![];}[a0_0x262da9(0x12f)](_0x1ffb42={}){const _0x156bcb=a0_0x262da9,_0x3c5f08={'OTYLo':function(_0x42282e,_0x33efa3){return _0x42282e>=_0x33efa3;},'mqFXR':function(_0x2407c3,_0x1fbd54){return _0x2407c3&&_0x1fbd54;},'OvGUA':_0x156bcb(0x2ca),'UDilO':function(_0x9b0457,_0xb2de13){return _0x9b0457/_0xb2de13;},'JHEXu':function(_0x20c038){return _0x20c038();},'AVrpO':function(_0x2f224c,_0x4112a2,_0x714d21){return _0x2f224c(_0x4112a2,_0x714d21);}},_0x46c5a2=_0x1ffb42[_0x156bcb(0x174)]||0xea60;this[_0x156bcb(0x193)](_0x156bcb(0x2af)+_0x3c5f08[_0x156bcb(0x2d0)](_0x46c5a2,0x3e8)+_0x156bcb(0x220));const _0x3c4f49=async()=>{const _0x19c192=_0x156bcb;if(this[_0x19c192(0x1fa)])return;this[_0x19c192(0x27a)]=new Date();try{const _0x53a600=await this[_0x19c192(0x270)]();for(const _0x34832c of _0x53a600){if(this[_0x19c192(0x18e)][_0x19c192(0x126)](_0x34832c['id']))continue;const _0x3b5503=_0x1ffb42[_0x19c192(0x146)]?_0x1ffb42[_0x19c192(0x146)][_0x19c192(0x1e8)](_0x535ab1=>_0x34832c[_0x19c192(0x120)][_0x19c192(0x18a)]()[_0x19c192(0x2c0)](_0x535ab1[_0x19c192(0x18a)]())||_0x34832c[_0x19c192(0x196)][_0x19c192(0x18a)]()[_0x19c192(0x2c0)](_0x535ab1[_0x19c192(0x18a)]())):!![],_0x25c7d5=_0x1ffb42[_0x19c192(0x211)]?_0x3c5f08[_0x19c192(0x21a)](_0x34832c[_0x19c192(0x176)],_0x1ffb42[_0x19c192(0x211)]):!![];if(_0x3c5f08[_0x19c192(0x214)](_0x3b5503,_0x25c7d5)){const _0x24ff48=_0x1ffb42[_0x19c192(0x112)]||_0x19c192(0x2c3)+_0x34832c[_0x19c192(0x1e6)]+_0x19c192(0x26d);this[_0x19c192(0x193)](_0x19c192(0x249)+_0x34832c[_0x19c192(0x120)]+_0x19c192(0x1f0)),await this[_0x19c192(0x285)](_0x34832c['id'],_0x34832c[_0x19c192(0x176)],_0x24ff48);}}}catch(_0x2beb4a){this[_0x19c192(0x193)](_0x19c192(0x251)+_0x2beb4a[_0x19c192(0x185)],_0x3c5f08[_0x19c192(0x129)]);}};_0x3c5f08[_0x156bcb(0x229)](_0x3c4f49),this[_0x156bcb(0x2d8)]=_0x3c5f08[_0x156bcb(0x250)](setInterval,_0x3c4f49,_0x46c5a2);}async[a0_0x262da9(0x1df)](_0x287109){const _0x4cca83=a0_0x262da9,_0x5f20c7={'JjzOj':_0x4cca83(0x25b),'HhCQy':_0x4cca83(0x2a1)};if(!this[_0x4cca83(0x24e)])return{'success':![],'error':_0x5f20c7[_0x4cca83(0x13a)]};try{const _0x2a571e=await this[_0x4cca83(0x2bf)][_0x4cca83(0x25a)](_0x5f20c7[_0x4cca83(0x168)],{..._0x287109,'posterEmail':_0x4cca83(0x2d3)+this[_0x4cca83(0x24e)]+_0x4cca83(0x197)},{'headers':{'Authorization':_0x4cca83(0x109)+this[_0x4cca83(0x1c7)]}});return _0x2a571e[_0x4cca83(0x1a1)];}catch(_0x22593b){return{'success':![],'error':_0x22593b[_0x4cca83(0x2cd)]?.[_0x4cca83(0x1a1)]?.[_0x4cca83(0x1ef)]||_0x22593b[_0x4cca83(0x185)]};}}async[a0_0x262da9(0x1e7)](_0x1bce98,_0x480821){const _0x2ec5f8=a0_0x262da9,_0x3fd8d8={'lhXAc':_0x2ec5f8(0x252),'nFkkF':_0x2ec5f8(0x29b),'ZVlln':_0x2ec5f8(0x16c)};return this[_0x2ec5f8(0x193)](_0x3fd8d8[_0x2ec5f8(0x1ac)],_0x3fd8d8[_0x2ec5f8(0x11a)]),{'success':![],'error':_0x3fd8d8[_0x2ec5f8(0x1fd)]};}async[a0_0x262da9(0x2dd)](_0x5cd19,_0x153858){const _0x1f737c=a0_0x262da9,_0x2acbcc={'Msxwk':_0x1f737c(0x29b)},_0x72e9ec=a0_0x5b3052[_0x1f737c(0x118)](this[_0x1f737c(0x277)],_0x5cd19);!a0_0x1cbf80[_0x1f737c(0x254)](_0x72e9ec)&&a0_0x1cbf80[_0x1f737c(0x25e)](_0x72e9ec,{'recursive':!![]});this[_0x1f737c(0x193)](_0x1f737c(0x127)+_0x72e9ec);try{await this[_0x1f737c(0x172)](_0x5cd19,_0x153858),this[_0x1f737c(0x193)](_0x1f737c(0x1cb));}catch(_0x12d43d){this[_0x1f737c(0x193)](_0x1f737c(0x2ac)+_0x12d43d,_0x2acbcc[_0x1f737c(0x22e)]);}return a0_0x5b3052[_0x1f737c(0x1b8)](_0x72e9ec);}async[a0_0x262da9(0x228)](_0x47e079,_0x307666){const _0x27136b=a0_0x262da9,_0x445f52={'gdluH':_0x27136b(0x274),'uDeIw':_0x27136b(0x114),'eSTrH':function(_0x3a5d15,_0x7509e1){return _0x3a5d15(_0x7509e1);},'AYEtI':_0x27136b(0x1c2),'qlqML':_0x27136b(0x140),'IaTnK':_0x27136b(0x1a1),'OEzna':_0x27136b(0x134)},_0x581bb7=a0_0x5b3052[_0x27136b(0x118)](this[_0x27136b(0x277)],_0x47e079);return this[_0x27136b(0x193)](_0x27136b(0x116)+_0x47e079+':\x20'+_0x307666),new Promise(_0xd5d7b9=>{const _0x1849ee=_0x27136b,_0x5262be={'GclCh':function(_0x3d2706,_0x24608d){const _0x540f5e=a0_0x19f2;return _0x445f52[_0x540f5e(0x119)](_0x3d2706,_0x24608d);}};let _0x5603b0='';const _0x288fde=(0x0,a0_0x1d5181[_0x1849ee(0x2ab)])(_0x307666,{'cwd':_0x581bb7,'shell':!![],'stdio':[_0x445f52[_0x1849ee(0x2d7)],_0x445f52[_0x1849ee(0x173)],_0x445f52[_0x1849ee(0x173)]]});_0x288fde[_0x1849ee(0x1d1)]['on'](_0x445f52[_0x1849ee(0x1f6)],_0x4f6820=>{const _0x374fa1=_0x1849ee,_0x3d3c12=_0x4f6820[_0x374fa1(0x1ab)]();_0x5603b0+=_0x3d3c12,this[_0x374fa1(0x257)](_0x445f52[_0x374fa1(0x263)],{'jobId':_0x47e079,'chunk':_0x3d3c12});if(this[_0x374fa1(0x236)])this[_0x374fa1(0x2c5)](_0x47e079,_0x374fa1(0x195)+_0x3d3c12[_0x374fa1(0x170)](0x0,0xc8)+_0x374fa1(0x2a3))[_0x374fa1(0x203)](()=>{});}),_0x288fde[_0x1849ee(0x11e)]['on'](_0x445f52[_0x1849ee(0x1f6)],_0x191bc2=>{const _0x264248=_0x1849ee;_0x5603b0+=_0x191bc2[_0x264248(0x1ab)](),this[_0x264248(0x257)](_0x445f52[_0x264248(0x122)],{'jobId':_0x47e079,'chunk':_0x191bc2[_0x264248(0x1ab)]()});}),_0x288fde['on'](_0x445f52[_0x1849ee(0x2a8)],_0x273b52=>{const _0x5f4df0=_0x1849ee;this[_0x5f4df0(0x193)](_0x5f4df0(0x177)+_0x273b52),_0x5262be[_0x5f4df0(0x12e)](_0xd5d7b9,{'exitCode':_0x273b52,'output':_0x5603b0});});});}async[a0_0x262da9(0x201)](_0x4fca2d,_0x4e8ec1){const _0x1e1291=a0_0x262da9,_0x11dbaf=a0_0x5b3052[_0x1e1291(0x118)](this[_0x1e1291(0x277)],_0x4fca2d);this[_0x1e1291(0x193)](_0x1e1291(0x142)+_0x4e8ec1[_0x1e1291(0x1a3)]+_0x1e1291(0x299)+_0x4fca2d+_0x1e1291(0x2a3));const _0x5a51ec=[];for(const _0x439372 of _0x4e8ec1){const _0x41134d=a0_0x5b3052[_0x1e1291(0x118)](_0x11dbaf,_0x439372);a0_0x1cbf80[_0x1e1291(0x254)](_0x41134d)&&(await this[_0x1e1291(0x1c5)](_0x4fca2d,_0x439372,_0x41134d),_0x5a51ec[_0x1e1291(0x12a)](_0x439372));}const _0x1878ff=_0x1e1291(0x21e)+_0x5a51ec[_0x1e1291(0x11f)](_0x32ca37=>'-\x20'+_0x32ca37)[_0x1e1291(0x118)]('\x0a');return await this[_0x1e1291(0x2c5)](_0x4fca2d,_0x1878ff),_0x5a51ec;}[a0_0x262da9(0x183)](){const _0x13130e=a0_0x262da9,_0x55cf11={'dOqeD':_0x13130e(0x2b4),'ZDVZb':function(_0x2941fe,_0x3d2c1e){return _0x2941fe!==_0x3d2c1e;},'vnspB':_0x13130e(0x243),'RQiWz':_0x13130e(0x2b3),'aJouO':_0x13130e(0x29b)};if(!this[_0x13130e(0x230)]||!a0_0x1cbf80[_0x13130e(0x254)](this[_0x13130e(0x230)]))return;try{const _0x371f1b=JSON[_0x13130e(0x1dd)](a0_0x1cbf80[_0x13130e(0x1ce)](this[_0x13130e(0x230)],_0x55cf11[_0x13130e(0x1de)]));_0x371f1b[_0x13130e(0x2d2)]&&(this[_0x13130e(0x2d2)][_0x13130e(0x28f)](),Object[_0x13130e(0x253)](_0x371f1b[_0x13130e(0x2d2)])[_0x13130e(0x175)](([_0x192a46,_0x1cdd74])=>{const _0x1fb226=_0x13130e;this[_0x1fb226(0x2d2)][_0x1fb226(0x226)](_0x192a46,_0x1cdd74);})),_0x371f1b[_0x13130e(0x18e)]&&(this[_0x13130e(0x18e)][_0x13130e(0x28f)](),_0x371f1b[_0x13130e(0x18e)][_0x13130e(0x175)](_0x5bbd7e=>this[_0x13130e(0x18e)][_0x13130e(0x279)](_0x5bbd7e))),_0x55cf11[_0x13130e(0x1c4)](_0x371f1b[_0x13130e(0x1fa)],undefined)&&(this[_0x13130e(0x1fa)]=_0x371f1b[_0x13130e(0x1fa)]),this[_0x13130e(0x193)](_0x13130e(0x244)+this[_0x13130e(0x2d2)][_0x13130e(0x2b9)]+_0x13130e(0x2a7)+(this[_0x13130e(0x1fa)]?_0x55cf11[_0x13130e(0x179)]:_0x55cf11[_0x13130e(0x2b1)]));}catch(_0x363ec2){this[_0x13130e(0x193)](_0x13130e(0x23b)+_0x363ec2[_0x13130e(0x185)],_0x55cf11[_0x13130e(0x15c)]);}}[a0_0x262da9(0x156)](){const _0x32f783=a0_0x262da9,_0x14ad83={'HFhOM':_0x32f783(0x29b)};if(!this[_0x32f783(0x230)])return;try{const _0x338b46={'activeMissions':Object[_0x32f783(0x23d)](this[_0x32f783(0x2d2)]),'bidCache':Array[_0x32f783(0x1af)](this[_0x32f783(0x18e)]),'autopilotPaused':this[_0x32f783(0x1fa)]};a0_0x1cbf80[_0x32f783(0x16f)](this[_0x32f783(0x230)],JSON[_0x32f783(0x167)](_0x338b46,null,0x2));}catch(_0x907cda){this[_0x32f783(0x193)](_0x32f783(0x231)+_0x907cda[_0x32f783(0x185)],_0x14ad83[_0x32f783(0x16a)]);}}async[a0_0x262da9(0x138)](_0x235ae4,_0x53063c=!![]){const _0x25ef76=a0_0x262da9,_0x1f8c1e={'NhFdV':_0x25ef76(0x1bd)};this[_0x25ef76(0x25c)]&&this[_0x25ef76(0x25c)][_0x25ef76(0x257)](_0x1f8c1e[_0x25ef76(0x113)],{'jobId':_0x235ae4,'isTyping':_0x53063c});}async[a0_0x262da9(0x21c)](_0x273af9){const _0x5c4fa9=a0_0x262da9;if(!this[_0x5c4fa9(0x24e)])return;return this[_0x5c4fa9(0x2bf)][_0x5c4fa9(0x25a)](_0x5c4fa9(0x1e9)+this[_0x5c4fa9(0x24e)]+_0x5c4fa9(0x22b),_0x273af9,{'headers':{'Authorization':_0x5c4fa9(0x109)+this[_0x5c4fa9(0x1c7)]}});}async[a0_0x262da9(0x270)](){const _0x35d496=a0_0x262da9,_0x39ca50={'ZaSfq':_0x35d496(0x2a1)},_0x51bc83=await this[_0x35d496(0x2bf)][_0x35d496(0x162)](_0x39ca50[_0x35d496(0x215)],{'headers':{'Authorization':_0x35d496(0x109)+this[_0x35d496(0x1c7)]}});return _0x51bc83[_0x35d496(0x1a1)][_0x35d496(0x1a1)][_0x35d496(0x268)](_0x3b85a8=>_0x3b85a8[_0x35d496(0x273)]===_0x35d496(0x238))[_0x35d496(0x11f)](_0xc1d3d9=>this[_0x35d496(0x145)](_0xc1d3d9));}async[a0_0x262da9(0x26c)](_0x46ff5f){const _0x48643c=a0_0x262da9,_0x5bd373=await this[_0x48643c(0x2bf)][_0x48643c(0x162)](_0x48643c(0x1f7)+_0x46ff5f,{'headers':{'Authorization':_0x48643c(0x109)+this[_0x48643c(0x1c7)]}});return this[_0x48643c(0x145)](_0x5bd373[_0x48643c(0x1a1)][_0x48643c(0x1d4)]);}async[a0_0x262da9(0x285)](_0x570395,_0x5f438d,_0x29ab65){const _0x2b7de5=a0_0x262da9,_0xf3a374={'FRRyt':_0x2b7de5(0x1b6)};try{const _0x45d34e=await this[_0x2b7de5(0x2bf)][_0x2b7de5(0x25a)](_0xf3a374[_0x2b7de5(0x216)],{'jobId':_0x570395,'amount':_0x5f438d,'message':_0x29ab65,'apiKey':this[_0x2b7de5(0x1c7)]},{'headers':{'Authorization':_0x2b7de5(0x109)+this[_0x2b7de5(0x1c7)]}});return _0x45d34e[_0x2b7de5(0x1a1)][_0x2b7de5(0x296)]&&(this[_0x2b7de5(0x18e)][_0x2b7de5(0x279)](_0x570395),this[_0x2b7de5(0x156)]()),_0x45d34e[_0x2b7de5(0x1a1)];}catch(_0x320ecb){return{'success':![],'error':_0x320ecb[_0x2b7de5(0x2cd)]?.[_0x2b7de5(0x1a1)]?.[_0x2b7de5(0x1ef)]||_0x320ecb[_0x2b7de5(0x185)]};}}async[a0_0x262da9(0x2c5)](_0x33b647,_0x16c210){const _0x623b5f=a0_0x262da9,_0x1fcd23=await this[_0x623b5f(0x2bf)][_0x623b5f(0x25a)](_0x623b5f(0x1f7)+_0x33b647+_0x623b5f(0x1d8),{'content':_0x16c210,'senderId':this[_0x623b5f(0x24e)]},{'headers':{'Authorization':_0x623b5f(0x109)+this[_0x623b5f(0x1c7)]}});return _0x1fcd23[_0x623b5f(0x1a1)];}async[a0_0x262da9(0x1db)](_0x54420b){const _0x335665=a0_0x262da9,_0x33692f=await this[_0x335665(0x2bf)][_0x335665(0x162)](_0x335665(0x1f7)+_0x54420b+_0x335665(0x1d8),{'headers':{'Authorization':_0x335665(0x109)+this[_0x335665(0x1c7)]}});return a0_0x37ea98['z'][_0x335665(0x13c)](exports[_0x335665(0x121)])[_0x335665(0x1dd)](_0x33692f[_0x335665(0x1a1)][_0x335665(0x281)]);}async[a0_0x262da9(0x1be)](_0x46640f,_0x2abf79,_0x147b8e){const _0x218171=a0_0x262da9,_0x15b1f2={'LSrCK':_0x218171(0x117)},_0x33ce07=await this[_0x218171(0x2bf)][_0x218171(0x25a)](_0x218171(0x1f7)+_0x46640f+_0x218171(0x164),{'url':_0x2abf79,'name':_0x147b8e,'type':_0x15b1f2[_0x218171(0x21d)],'uploaderId':this[_0x218171(0x24e)]},{'headers':{'Authorization':_0x218171(0x109)+this[_0x218171(0x1c7)]}});return _0x33ce07[_0x218171(0x1a1)][_0x218171(0x296)];}async[a0_0x262da9(0x28c)](_0x2460a4,_0x298ed1,_0x33f982){const _0xd9fd0f=a0_0x262da9,_0x1dd0cb={'WXcLI':function(_0x3dfe97,_0x3b4754){return _0x3dfe97===_0x3b4754;},'JAhQL':_0xd9fd0f(0x10f),'tZKNw':_0xd9fd0f(0x2ca)};if(!a0_0x1cbf80[_0xd9fd0f(0x254)](_0x298ed1))throw new Error(_0xd9fd0f(0x11d)+_0x298ed1);if(_0x1dd0cb[_0xd9fd0f(0x19e)](a0_0x1cbf80[_0xd9fd0f(0x139)](_0x298ed1)[_0xd9fd0f(0x2b9)],0x0))throw new Error(_0xd9fd0f(0x258)+_0x298ed1);const _0x553346=_0x33f982||a0_0x5b3052[_0xd9fd0f(0x22f)](_0x298ed1);try{const _0x20c47f=await this[_0xd9fd0f(0x2bf)][_0xd9fd0f(0x162)](_0xd9fd0f(0x110)+_0x553346,{'headers':{'Authorization':_0xd9fd0f(0x109)+this[_0xd9fd0f(0x1c7)]}}),{url:_0x383370}=_0x20c47f[_0xd9fd0f(0x1a1)],_0x28072f=a0_0x1cbf80[_0xd9fd0f(0x1ce)](_0x298ed1);return await a0_0x306807[_0xd9fd0f(0x1a9)][_0xd9fd0f(0x269)](_0x383370,_0x28072f,{'headers':{'Content-Type':_0x1dd0cb[_0xd9fd0f(0x135)]}}),this[_0xd9fd0f(0x1be)](_0x2460a4,_0x383370,_0x553346);}catch(_0x4c5c25){this[_0xd9fd0f(0x193)](_0xd9fd0f(0x151)+_0x4c5c25[_0xd9fd0f(0x185)],_0x1dd0cb[_0xd9fd0f(0x1fe)]);throw _0x4c5c25;}}async[a0_0x262da9(0x293)](_0x473c5c){const _0x4785a4=a0_0x262da9,_0x8d9fe8={'JunJr':_0x4785a4(0x2d5)},_0x3e0021=await this[_0x4785a4(0x2bf)][_0x4785a4(0x25a)](_0x4785a4(0x1f7)+_0x473c5c+_0x4785a4(0x149),{'userId':this[_0x4785a4(0x24e)],'role':_0x8d9fe8[_0x4785a4(0x27b)]},{'headers':{'Authorization':_0x4785a4(0x109)+this[_0x4785a4(0x1c7)]}});return _0x3e0021[_0x4785a4(0x1a1)][_0x4785a4(0x296)]&&(this[_0x4785a4(0x2d2)][_0x4785a4(0x295)](_0x473c5c),this[_0x4785a4(0x156)]()),_0x3e0021[_0x4785a4(0x1a1)];}async[a0_0x262da9(0x172)](_0x6a0230,_0x12cfd6){const _0x41af8f=a0_0x262da9;if(!this[_0x41af8f(0x24e)])return;return this[_0x41af8f(0x2bf)][_0x41af8f(0x25a)](_0x41af8f(0x1f7)+_0x6a0230+_0x41af8f(0x10b),{'name':_0x12cfd6},{'headers':{'Authorization':_0x41af8f(0x109)+this[_0x41af8f(0x1c7)]}});}async[a0_0x262da9(0x1c5)](_0x55d7a1,_0x36339b,_0x4b6573,_0x4d5098=![]){const _0x4cf85d=a0_0x262da9,_0x5e7ee1={'ZBNCN':_0x4cf85d(0x2b4)};if(!this[_0x4cf85d(0x24e)])return;let _0x3f5883=_0x4b6573;if(!_0x4d5098&&a0_0x1cbf80[_0x4cf85d(0x254)](_0x4b6573))try{_0x3f5883=a0_0x1cbf80[_0x4cf85d(0x1ce)](_0x4b6573,_0x5e7ee1[_0x4cf85d(0x161)]);}catch(_0xf5ddad){}return this[_0x4cf85d(0x2bf)][_0x4cf85d(0x25a)](_0x4cf85d(0x1f7)+_0x55d7a1+_0x4cf85d(0x28b),{'path':_0x36339b,'content':_0x3f5883,'isBlob':_0x4d5098},{'headers':{'Authorization':_0x4cf85d(0x109)+this[_0x4cf85d(0x1c7)]}});}async[a0_0x262da9(0x2a5)](_0x441723){const _0x15aa12=a0_0x262da9;if(!this[_0x15aa12(0x24e)])return;return this[_0x15aa12(0x2bf)][_0x15aa12(0x25a)](_0x15aa12(0x1e9)+this[_0x15aa12(0x24e)]+_0x15aa12(0x22b),{'tokensUsed':_0x441723},{'headers':{'Authorization':_0x15aa12(0x109)+this[_0x15aa12(0x1c7)]}});}async[a0_0x262da9(0x219)](_0x4cf9ca,_0x5759fd){const _0x58d27a=a0_0x262da9,_0x58043e={'kcjTd':_0x58d27a(0x25f),'AHpaq':_0x58d27a(0x2ca)};this[_0x58d27a(0x193)](_0x58d27a(0x15a)+_0x5759fd);try{const _0x595a97=_0x58d27a(0x1bc)+_0x5759fd+_0x58d27a(0x16d)+_0x4cf9ca+'.',_0x25bf7d=await this[_0x58d27a(0x228)](_0x4cf9ca,_0x58d27a(0x2c8)+_0x4cf9ca+_0x58d27a(0x29c)+_0x595a97+'\x22'),_0x33d632=_0x58d27a(0x223)+_0x5759fd+_0x58d27a(0x287)+_0x4cf9ca+'.',_0x49df37=await this[_0x58d27a(0x228)](_0x4cf9ca,_0x58d27a(0x2da)+_0x4cf9ca+_0x58d27a(0x29c)+_0x33d632+'\x22');return await this[_0x58d27a(0x2c5)](_0x4cf9ca,_0x58043e[_0x58d27a(0x1b7)]),{'pmSession':_0x25bf7d,'engSession':_0x49df37};}catch(_0x135d16){this[_0x58d27a(0x193)](_0x58d27a(0x227)+_0x135d16[_0x58d27a(0x185)],_0x58043e[_0x58d27a(0x202)]);}}async[a0_0x262da9(0x1da)](_0x45c65f,_0x684990){const _0x358e9c=a0_0x262da9;if(!this[_0x358e9c(0x24e)])return;return this[_0x358e9c(0x2bf)][_0x358e9c(0x25a)](_0x358e9c(0x1f7)+_0x45c65f+_0x358e9c(0x1fc),{'progress':_0x684990},{'headers':{'Authorization':_0x358e9c(0x109)+this[_0x358e9c(0x1c7)]}});}async[a0_0x262da9(0x245)](_0x3295c2){const _0x29cab4=a0_0x262da9;if(!this[_0x29cab4(0x24e)])return;return this[_0x29cab4(0x2bf)][_0x29cab4(0x25a)](_0x29cab4(0x1e9)+this[_0x29cab4(0x24e)]+_0x29cab4(0x14d),{'message':_0x3295c2},{'headers':{'Authorization':_0x29cab4(0x109)+this[_0x29cab4(0x1c7)]}});}async[a0_0x262da9(0x198)](_0x30e5d2){const _0x57d602=a0_0x262da9;if(!this[_0x57d602(0x24e)])return;return this[_0x57d602(0x2bf)][_0x57d602(0x25a)](_0x57d602(0x1e9)+this[_0x57d602(0x24e)]+_0x57d602(0x14d),{'message':_0x57d602(0x27f),'data':{..._0x30e5d2,'timestamp':new Date()[_0x57d602(0x1b3)](),'sdk_version':a0_0x57b867[_0x57d602(0x217)],'uptime':process[_0x57d602(0x208)]()}},{'headers':{'Authorization':_0x57d602(0x109)+this[_0x57d602(0x1c7)]}});}async[a0_0x262da9(0x14c)](_0x4ee182,_0x3a5f8e=a0_0x262da9(0x1d0)){const _0x47b06d=a0_0x262da9,_0x26f1bc={'HelWz':function(_0x58f2bd,_0x270c0c){return _0x58f2bd===_0x270c0c;}};if(!this[_0x47b06d(0x24e)])return;if(this[_0x47b06d(0x1b2)])try{a0_0x1cbf80[_0x47b06d(0x28d)](this[_0x47b06d(0x1b2)],'['+new Date()[_0x47b06d(0x1b3)]()+_0x47b06d(0x1d9)+_0x3a5f8e+']\x20'+_0x4ee182+'\x0a');}catch(_0x1e3529){}try{await this[_0x47b06d(0x2bf)][_0x47b06d(0x25a)](_0x47b06d(0x1e9)+this[_0x47b06d(0x24e)]+_0x47b06d(0x260),{'message':_0x4ee182,'level':_0x3a5f8e},{'headers':{'Authorization':_0x47b06d(0x109)+this[_0x47b06d(0x1c7)]}});if(this[_0x47b06d(0x236)])console[_0x47b06d(0x14c)]('['+_0x3a5f8e+']\x20'+_0x4ee182);}catch(_0x22f8b0){if(_0x26f1bc[_0x47b06d(0x212)](_0x22f8b0[_0x47b06d(0x2cd)]?.[_0x47b06d(0x273)],0x191)){if(this[_0x47b06d(0x236)])console[_0x47b06d(0x261)](_0x47b06d(0x248));}else{if(this[_0x47b06d(0x236)])console[_0x47b06d(0x261)](_0x47b06d(0x2b2)+_0x22f8b0[_0x47b06d(0x185)]);}}}[a0_0x262da9(0x221)](_0xc66b64=0x7530){const _0x4b4ad4=a0_0x262da9,_0x2f353d={'GTaad':function(_0x47d7ac,_0x4493bf){return _0x47d7ac(_0x4493bf);},'UYBft':function(_0x1708b8,_0x55aa9c,_0x504ca0){return _0x1708b8(_0x55aa9c,_0x504ca0);}};if(!this[_0x4b4ad4(0x24e)])return;if(this[_0x4b4ad4(0x1b0)])_0x2f353d[_0x4b4ad4(0x22a)](clearInterval,this[_0x4b4ad4(0x1b0)]);this[_0x4b4ad4(0x18f)](),this[_0x4b4ad4(0x1b0)]=_0x2f353d[_0x4b4ad4(0x17d)](setInterval,()=>this[_0x4b4ad4(0x18f)](),_0xc66b64);}async[a0_0x262da9(0x18f)](){const _0x1aea31=a0_0x262da9;if(!this[_0x1aea31(0x24e)])return;try{await this[_0x1aea31(0x2bf)][_0x1aea31(0x25a)](_0x1aea31(0x1e9)+this[_0x1aea31(0x24e)]+_0x1aea31(0x12b),{},{'headers':{'Authorization':_0x1aea31(0x109)+this[_0x1aea31(0x1c7)]}});}catch(_0xbdccdf){}}[a0_0x262da9(0x193)](_0x31844d,_0x1def69=a0_0x262da9(0x1d0)){const _0x57f498=a0_0x262da9;if(this[_0x57f498(0x236)])console[_0x57f498(0x14c)](_0x57f498(0x10d)+_0x31844d);}[a0_0x262da9(0x1bb)](_0x3b79f0){const _0xdf37ec=a0_0x262da9,_0x1bf179={'TUdLd':_0xdf37ec(0x185)};this['on'](_0x1bf179[_0xdf37ec(0x2c7)],_0x3b79f0);}[a0_0x262da9(0x194)](_0x2a06ce){const _0x3c1eee=a0_0x262da9,_0x1be0e5={'ypqbs':_0x3c1eee(0x1d4)};this['on'](_0x1be0e5[_0x3c1eee(0x186)],_0x2a06ce);}[a0_0x262da9(0x157)](_0x2219a8){const _0x162efd=a0_0x262da9,_0x16a5de={'PoRgT':_0x162efd(0x14b)};this['on'](_0x16a5de[_0x162efd(0x147)],_0x2219a8);}}function a0_0x42cd(){const _0x221849=['ChvZAa','l2HLyxj0yMvHDa','EM9K','rxDutfC','r2nSq2G','C3rHCNrbDxrVCgLSB3q','shLJtgK','zhjptve','4P2mifjLBNrHqM90CYbbueKGs2v5igLZig1PC3nPBMCUifbHC3mGAxqGAw4GDgHLignVBNn0CNvJDg9Yig9YihnLDcbsru5uqujpvfnFqvbjx0TfwsbPBIaUzw52','igf0DgvTChrZlG','y2XVC2u','sKfOuuW','yvDMCg4','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','C2v0vhLWAw5N','C3rHDfn5BMm','sMP6t2O','CMvJB25Uzwn0','yxjYyxK','rufAuuO','sg1JCfC','icHtreSGDG','CgLWzq','y29UBMvJDgvK','rgvSAxzLCMLUzYa','AhvTyw4','v2vIu29JA2v0ifjLy29UBMvJDgvKigfMDgvYia','zw5YAwnOsM9I','A2v5D29Yzhm','ug9sz1q','t0HRuum','l2nVBxbSzxrL','CgvYC2LZDfn0yxrL','yxnZAwDUBwvUDa','Bg9N','l25VDgLMEq','4PA277Ipief1Dg9WAwXVDcbsrvnvtuveigj5ig93BMvYlG','ANvuseK','mJCYmJGZmhzgCwz6Ea','vxbSB2fKigzHAwXLzdOG','v29Pr1C','twfUDwfSigjPzcbYzxf1zxn0zwqGyNKGB3DUzxiU','x19JCMvHDgvcAw5KAw5N','DhjPBq','C2f2zvn0yxrL','B25iAxjLza','zgLZy29UBMvJDa','uxLMqvi','8j+AGcbjBML0AwfSAxPPBMCGuhjVAMvJDcbtD2fYBsbMB3i6ia','4P2mie1HBNvHBcbIAwqGzMfPBgvKoIa','yuPVDu8','txLMtw4','x19ZzxrnB2r1BgvezwzHDwX0','cI0Gu0rlifzLCNnPB246ihy','y296BKS','wKjoq04','z2v0','AhvPr20','l2zPBgvZ','q2XVDwqGC3LUyYbMywLSzwqSihjLBhLPBMCGB24GBg9JywWGC3rHDguU','v2vIu29JA2v0ierPC2nVBM5Ly3rLzdOG','C3rYAw5NAwz5','sgHduxK','AgLYzwq','sezOt00','DhLWzq','rMvHDhvYzsbWzw5KAw5NoIbbz2vUDcbxywXSzxq','iI4Gq29VCMrPBMf0zsb3AxrOignSAwvUDcbVBIbkB2iG','tMzpzhy','D3jPDgvgAwXLu3LUyW','C2XPy2u','AM9PBL9TAxnZAw9U','y3jLyxrLtwLZC2LVBLjLCg8','CwXXtuW','C2nVDxrPBMDjBNrLCNzHBa','zM9YrwfJAa','yNvKz2v0qw1VDw50','q29TBwfUzcbMAw5PC2HLzcb3AxrOignVzguG','sw5IB3GGy2HLy2SGzMfPBgvKoIa','DM5ZCei','rxzLBNrfBwL0DgvY','tNnjs0m','u3rHDhvZienVzgu6ia','vvLczNq','zgLZy29UBMvJDgvK','x19PBxbVCNrtDgfY','CgLSBLm','4P2mievYCM9YigzPBMrPBMCGBwLZC2LVBJOG','D29YA2vYlMPZ','Bg9Hzfn0yxrL','y29UC3rYDwn0B3i','BwvZC2fNzq','ExbXyNm','D3H2u1a','DhjHBNnSyxrPB24','D2vIC29JA2v0','Dg9mB3DLCKnHC2u','sNfLthO','v29YA2vYihnJCMLWDcbUB3qGzM91BMqGyxq6ia','y29UzMLNDxjHyMXL','yMLKq2fJAgu','C2vUzeHLyxj0yMvHDa','8j+oIsbnAxnZAw9UiefZC2LNBMvKoIa','tfjgywS','EK5LEu8','Bg9Nsw50zxjUywW','B25ozxDkB2i','8j+tNsbBu1ret1vuxsa','zgvZy3jPChrPB24','qhjLBNrHyM90CY5HAq','CgLUz0jHy2TKB29Y','C3bHD25xB3jRzxi','nde4ofz5sfbZyG','ywDLBNrZl21Ll2fJAW','zM9YAW','u1vdq0vtuW','v1HJteK','zxzLBNq','DMvYC2LVBG','zgf0yq','vuzczeO','BgvUz3rO','CgfJA2fNzs5QC29U','wMLewhK','y29TCgXLDgu','BMXbzuy','l2jPzca','zgvMyxvSDa','u2vYDMvYievYCM9YoIa','Dg9tDhjPBMC','BgHyqwm','yu1jDuy','kcGOlISPkYKRksSK','zNjVBq','AgvHCNrIzwf0vgLTzxi','yxHPB3m','Bg9JywXmB2DqyxrO','Dg9ju09tDhjPBMC','ChjVDg90ExbL','CfDxD0C','yMLKCW','A2nQvgq','CMvZB2X2zq','we1sDMG','nLHAALPmEq','B25nzxnZywDL','uhjVAMvJDcbnyw5Hz2vYigzVCIbTAxnZAw9UoIaI','DhLWAw5Nx3n0yxrL','DxbSB2fKrgvSAxzLCMfIBgu','cI0Gqwn0AxzLifDVCMTLCNm6ia','mhW0Fdj8nxWZFde','ExP1Bey','Aw5OzxjPDa','ndm1ndy5qNbbq2fh','wKrwwMi','ChvZAfrVuMvWBW','q2f1z2H0ihvWig9Uia','yxbPs2v5','y3jLyxrL','odHYCMDryKK','Dgv4Da','uMvTB3rLihjLCg9ZAxrVCNKGAw5PDgLHBgL6zwqU','rMfPBgvKihrVihbYB2nLC3mGBwLZC2LVBIbHC3nPz25Tzw50','zgLZCgXHEu5HBwu','CMvHzezPBgvtEw5J','C29JA2v0lMLVlwnSAwvUDa','su5gtW','C3rKB3v0','BLHUrw0','mJK4mJiWvxH2qMrv','AM9I','q2fWywjPBgL0EvnJAgvTyq','y29UDgvUDa','zgvMAw5LuhjVCgvYDhK','l21LC3nHz2vZ','xsbB','C2v0uhjVz3jLC3m','z2v0twvZC2fNzxm','C2vUzgvY','CgfYC2u','ze9Xzuq','Cg9ZDePVyG','yxjJAgL2zwq','sM9Iu2nOzw1H','sNLgy3e','t2rcuva','AgfUzgXLsw5JB21PBMDnzxnZywDL','y29Kzv9Nzw5LCMf0Aw9U','y2f0zwDVCNK','yxbWCM92zvn1yLrHC2S','C29Tzq','ywDLBNrZlW','y29TCgXLDgvK','l3jLC3vTzq','wNf3zKe','AM9ICZ9ZDgf0Dxm9Aw5FChjVz3jLC3m','yMfZzvvYBa','zxjYB3i','iI4UlG','Bw1cz3C','cI0GtgfZDcbnyxjRzxrWBgfJzsbty2fUoIa','l2fWAq','AgvHCNrIzwf0sw50zxj2ywW','ter6C3K','swfuBKS','AM9ICY8','vLLJB2S','uMvJB3zLCMvKigfJDgL2zsbTAxnZAw9UigzYB20Gy2XVDwq6ia','yxv0B3bPBg90ugf1C2vK','B0Dkufq','l3bYB2DYzxnZ','wLzSBg4','DfPltNC','zgLZChv0zwq','yNvKz2v0','zgvSAxzLCG','quHWyxe','y2f0y2G','4O+477Ipief1Dg9WAwXVDcbqqvvtruqGyNKGB3DUzxiU','BvrcBKu','EMznCwC','reX5Aw0','Dxb0Aw1L','D2zWuvK','yNbgBxO','ihvUCMvHzcbTzxnZywDLCY4','y2fWywjPBgL0AwvZ','sM9Iu3rHDhvZu2nOzw1H','A2LSBfDVCMTLCG','q29UBMvJDgLUzYb0BYbhCMLKoIa','A2v5CW','BwLUqNvKz2v0','sgvSv3O','rMfPBgvKihrVihbHCNnLigLUy29TAw5NihnVy2TLDcbTzxnZywDL','Bxfgwfi','wMftzNe','rLjsExq','u0rlx1zfuLnjt04','uLvotKLorYdILRBVUi8','C3bHD25uzwfT','t1rztg8','nJbnzez6vhi','DxbKyxrLuhjVzMLSzq','tfnYq0S','4PYfifTeruXjvKvswv0GvgHLigzVBgXVD2LUzYbMAwXLCYbOyxzLigjLzw4GyxjJAgL2zwqGAw4GEw91CIbZzwn1CMuGCMvWB3nPDg9YEtOk','8j+rTYbxB3jRzxiG','CY4UlG','C3rHCNrizwfYDgjLyxq','sxjMB3e','tgvHzcbfBMDPBMvLCIbMB3iGBwLZC2LVBJOGiG','mti5mJLvCuPQuKG','wxfKC20','C2v0','rMfPBgvKihrVihnWyxDUihrLyw06ia','zxHLy3v0zq','sKHfwhu','r1rHywq','l21HBMfNzq','ks4UlG','ms4WlJm','txn4D2S','yMfZzw5HBwu','C3rHDgvqyxrO','rMfPBgvKihrVihnHDMuGC3rHDgu6ia','r0ntweu','igv4AxrLzcb3AxrOignVzgu6ia','Aw5PDfnVy2TLDa','AvPXAhO','zgvIDwC','twrXwKy','B3bLBG','CMXNsvq','qwDLBNq','rMfPBgvKihrVigXVywqGC3rHDgu6ia','yxjNDG','zNjVBuvUDhjPzxm','BuTQs1C','twjOqvK','v2vIu29JA2v0ieXPBMSGrxn0ywjSAxnOzwqU','A2LSBa','C3rYAw5N','ugf1C2vK','tg9HzgvKihn0yxrLoIa','BM90Awz5t3DUzxi','yxv0B21HDgLVBG','D29YA3nWywnL','w1nesYbxqvjoxsbmB2DNAw5Nigf1DgGGzMfPBgvKicHUB24Ty3jPDgLJywWPlG','8j+oRYbbDxrVCgLSB3q6iejPzgrPBMCGB24GiG','B2jQzwn0','Ag1sAMC','whDTvw4','ihrLCM1PBMf0zwqU','ywDLBNrjza','zxzLBNrZ','qvzYCe8','qxv0B3bPBg90ihnJB3v0igzHAwXLzdOG','qxbWCM92Aw5Nihn1yI10yxnRigLZihbLBMrPBMCGD2fSBgv0igLUDgvNCMf0Aw9UlG','zw50CMLLCW','zxHPC3rZu3LUyW','wK5cweG','ntqXodaXmMjmsKHOAq','zw1PDa','q2fUBM90ihvWBg9HzcbLBxb0EsbMAwXLoIa','y2HPBgrFChjVy2vZCW','Cg9ZDa','qwDLBNqGBM90ignVBM5Ly3rLza','C29JA2v0','l3bHDxnL','BwTKAxjtEw5J','8j+KLIbBu1LtvevnxsbqCM9Qzwn0ifn3yxjTieLUAxrPywXPEMvKlIbKzwrPy2f0zwqGue0Gyw5KievUz2LUzwvYigfZC2LNBMvKlG','l2XVz3m','D2fYBG','su11t3m','z2rSDuG','tuj4vxq','AgfZt3DUuhjVCgvYDhK','CMvWBgfJzq','A1fHzeC','zMLSDgvY','Chv0','vwDrz28','l2TPBgWG','z2v0twLZC2LVBG','lIbjignHBIbLEgvJDxrLihrOAxmGBwLZC2LVBIb3AxrOigHPz2GGChjLy2LZAw9UlG','CxnMy3y','yvrAuwi','z2v0t3bLBK1PC3nPB25Z','AgfUzgXLtwfUDwfSqMLKuMvXDwvZDa','AffTvwy','C3rHDhvZ','zxHLy3v0Aw9Ux2XVzW','zgf0yv9HBMfSExnPCW','mJyWy1n4rKTH','D29YA3nWywnLuM9VDa','AM9Iswq','ywrK','BgfZDfnJB3v0vgLTzq','sNvUsNi','D2vIx2jYB3DZAw5N','DfzAue4','4PYfifn1y2nLC3nMDwXSEsbWBgfJzwqGyMLKig9UoIa','w0jbq0Tet09sierjquDot1nusunD','tfzWzxu','BwvZC2fNzxm','BwHRq0K','DgfYz2v0sM9Iswq','C2vHCMnO','yMLK','y29UBMvJDa','iI4GqNvPBgqGzgvSAxzLCMfIBgvZigLUigXVy2fSihDVCMTZCgfJzsbMB3iGsM9Iia','4PQu77IpifDVCMTLCIbMB3iGsM9Iia','Aw5FChjVz3jLC3m','D29YA2vYCW','l3jLCg8VzMLSzxm','DxbSB2fKrMLSzq','yxbWzw5KrMLSzvn5BMm','D3jPDgfIBgu','y2XLyxi','wwzbtNa','x19LC01VzhvSzq','BwLZC2LVBL9HC3nPz25Lzf8','BwfYA0nVBxbSzxrL','Cgf0Aa','zgvSzxrL','C3vJy2vZCW','x19PBxbVCNrezwzHDwX0','qxvVr0y','igzPBgvZigzVCIbTAxnZAw9Uia','AM9PBL9TyxjRzxrWBgfJzq','v0fstG','iIaTlxrHC2SGiG','rLrxCve','z2v0t3DUuhjVCgvYDhLoyw1LCW','BMv3x2PVyG','qKrsreu','AM9ICW','BNvTyMvY','lI4U','w1DVCMTLCIa','CMvWB3j0vxnHz2u','C2vLBK1LC3nHz2vZ','ig1PC3nPB25ZlcbbDxrVCgLSB3q6ia','t0v6BMe','D29YA2vYu2nYAxb0ugf0Aa','C3rHCNrZv2L0Aa','C3bHD24','uMvWB3nPDg9YEsbPBML0AwfSAxPHDgLVBIb3yxjUAw5NoIa','nte2mtqXAKftweXw','8j+rKsbBuvvfru4Gu1rbvfvtifjfue9svf0klsbby3rPDMuGtwLZC2LVBNm6ia','8j+AGcbbDxrVCgLSB3qGzw5NywDLzc4Gu2nVDxrPBMCGzxzLCNKG','mNWZFdb8mxW0','uLfPv3O','w1nesYbxqvjoxsbmB2CGDxbSB2fKigzHAwXLzdOG','qwn0AxzL','DxrMoa','tMv2zxi','C3bSAxq','Ahr0Chm6lY9Yzw50ywjVDhmUy29Tl2fWAq','y2fSBa','C2L6zq','t25SAw5LigfZoIa','Aw1Hz2vFz2vUzxjHDgLVBG','AxrlEvq','zw51Bq','vhLmvLy','yxbP','Aw5JBhvKzxm','BMv3x21LC3nHz2u','yLbdEgq','ssbHBsbHBIbHDxrVBM9TB3vZihvUAxqGB3b0Aw1PEMvKigzVCIa','uefvu0veiokpUo+4JW','C2vUze1LC3nHz2u','8j+rKsbrDwvLBJOGu3bHD25PBMCGzgvKAwnHDgvKihDVCMTLCIbMB3iGBwLZC2LVBJOG','vfvKtgq','B3bLBMnSyxCGC2vZC2LVBNnFC3bHD24Gls1SywjLBcaIue0T','v29YA2vYie1VzguGqwn0AxzLigzVCIbkB2i6ia','rvjst1i','l3n0yxr1CW','qwrmA3O','CMvZCg9UC2u','ywDLBNrZl21Ll3vUCMvHza','C3LUy0zYB21dBg91za','vurPBe8','CLzTvLG','ywn0AxzLtwLZC2LVBNm','ywDLBNqT','y3DK','ywDLBNq','rwTsDe0','qvLfDeK','yxv0B3bPBg90vgLTzxi','zxHPDa','B3bLBMnSyxCGC2vZC2LVBNnFC3bHD24Gls1SywjLBcaIru5hlq','AgfUzgXLu3rHDhvZuMvXDwvZDa','t1fTEgS','Aw5PDgLHBgL6zu1PC3nPB24','odKWmJaZmLvxEffssq','v0jgwuy','uK15qKC','B3b0Aw9UywW','qwTLtKO','ywDLBNrZl21L','Dg9mB2nHBgvuAw1Lu3rYAw5N','rMfPBgvKihrVihn5BMmGy2fWywjPBgL0AwvZihrVigDYAwqSignVBNrPBNvPBMCUlI4','qMvHCMvYia','zMv0y2HvBNjLywrnzxnZywDLCW','l3jLCg8','BevXDeu','w1nes10G','ywDLBNrFC3rHDguUANnVBG','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','l3vWBg9Hzd9MAwXLBMfTzt0','q2T3uK4','yMLKvgvTCgXHDgu','tMHgzfy','zxHLy3v0Aw9Ux2vYCM9Y','wLriy0C','rxHLy3v0Aw5NignVBw1HBMqGAw4G','zgvSAxzLCMfIBgu','AM9PBG','zvnuCKG','BKzRA0y','vNDdAeK','yxbWBhK','rMLSzsbUB3qGzM91BMq6ia','C3rKzxjY','BwfW','DgL0Bgu','twvZC2fNzvnJAgvTyq','DurLsxC','wvfMu0W','y29mrKe','C2vUza','AgfZ','tg9JywWGD29YA3nWywnLigLUAxrPywXPEMvKigf0oIa','cI0Gqxv0B3bPBg90oIa','t3zhvue'];a0_0x42cd=function(){return _0x221849;};return a0_0x42cd();}exports[a0_0x262da9(0x23a)]=a0_0x57b867,a0_0x57b867[a0_0x262da9(0x217)]=a0_0x3c59b4,exports[a0_0x262da9(0x1a9)]=a0_0x57b867;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.Agent = exports.MessageSchema = exports.JobSchema = exports.JobStatusSchema = exports.CapabilitySchema = void 0;
40
+ const axios_1 = __importDefault(require("axios"));
41
+ const socket_io_client_1 = require("socket.io-client");
42
+ const zod_1 = require("zod");
43
+ const events_1 = require("events");
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ const child_process_1 = require("child_process");
47
+ // --- TYPE DEFINITIONS ---
48
+ exports.CapabilitySchema = zod_1.z.enum([
49
+ 'code_generation',
50
+ 'web_browsing',
51
+ 'data_analysis',
52
+ 'image_generation',
53
+ 'automation',
54
+ 'translation'
55
+ ]);
56
+ exports.JobStatusSchema = zod_1.z.enum(['open', 'in_progress', 'completed', 'archived', 'disputed']);
57
+ exports.JobSchema = zod_1.z.object({
58
+ id: zod_1.z.string(),
59
+ title: zod_1.z.string(),
60
+ description: zod_1.z.string(),
61
+ budget: zod_1.z.string(),
62
+ category: zod_1.z.string(),
63
+ status: exports.JobStatusSchema,
64
+ createdAt: zod_1.z.string(),
65
+ progress: zod_1.z.number().optional(),
66
+ });
67
+ exports.MessageSchema = zod_1.z.object({
68
+ id: zod_1.z.string(),
69
+ jobId: zod_1.z.string(),
70
+ content: zod_1.z.string(),
71
+ senderId: zod_1.z.string(),
72
+ createdAt: zod_1.z.string(),
73
+ sender: zod_1.z.object({
74
+ id: zod_1.z.string(),
75
+ displayName: zod_1.z.string(),
76
+ type: zod_1.z.enum(['human', 'agent'])
77
+ })
78
+ });
79
+ // --- CORE SDK ---
80
+ // 0. Get version from package.json
81
+ let CURRENT_VERSION = '1.0.3';
82
+ try {
83
+ const pkgPath = path.join(__dirname, '..', 'package.json');
84
+ if (fs.existsSync(pkgPath)) {
85
+ const packageJson = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
86
+ CURRENT_VERSION = packageJson.version;
87
+ }
88
+ }
89
+ catch (e) { }
90
+ /**
91
+ * RentaBots Agent SDK
92
+ * High-level, event-driven interface for autonomous agents.
93
+ */
94
+ class Agent extends events_1.EventEmitter {
95
+ constructor(options = {}) {
96
+ super();
97
+ this.agentId = null;
98
+ this.socket = null;
99
+ this.heartbeatTimer = null;
100
+ this.statePath = null;
101
+ this.localLogPath = null;
102
+ this.activeMissions = new Map();
103
+ this.bidCache = new Set();
104
+ this.seenMessages = new Set();
105
+ // Swarm State
106
+ this.workers = new Map();
107
+ this.targetJobId = null; // Used for Worker processes
108
+ // Autopilot State
109
+ this.autopilotTimer = null;
110
+ this.autopilotPaused = false;
111
+ this.lastScoutTime = null;
112
+ this.apiKey = options.apiKey || process.env.RENTABOTS_API_KEY || process.env.AGENT_API_KEY || '';
113
+ this.baseUrl = (options.baseUrl || 'https://rentabots.com/api').replace(/\/$/, '');
114
+ // 📡 SOCKET URL: Prioritize env, then fallback to base URL logic
115
+ this.socketUrl = (process.env.RENTABOTS_SOCKET_URL || this.baseUrl.replace('/api', '')).replace(/\/$/, '');
116
+ this.debug = options.debug || false;
117
+ this.capabilities = options.capabilities || [];
118
+ this.heartbeatInterval = options.heartbeatInterval || 30000;
119
+ this.workspaceRoot = options.workspaceRoot || path.join(process.cwd(), 'workspace');
120
+ this.localLogPath = options.localLogPath || null;
121
+ this.workerScriptPath = options.workerScriptPath || path.join(process.cwd(), 'worker.js');
122
+ // 👷 Worker Mode Detection
123
+ if (process.send && process.argv[2]) {
124
+ try {
125
+ const jobData = JSON.parse(process.argv[2]);
126
+ if (jobData && jobData.id) {
127
+ this.targetJobId = jobData.id;
128
+ this.logInternal(`Worker Mode Active for Job: ${this.targetJobId}`);
129
+ }
130
+ }
131
+ catch (e) { }
132
+ }
133
+ if (options.persistState !== false) {
134
+ this.statePath = typeof options.persistState === 'string'
135
+ ? options.persistState
136
+ : path.join(process.cwd(), 'agent_state.json');
137
+ }
138
+ if (!this.apiKey) {
139
+ throw new Error("❌ RentaBots API Key is missing. Pass it in the constructor or set RENTABOTS_API_KEY in .env");
140
+ }
141
+ this.api = axios_1.default.create({
142
+ baseURL: this.baseUrl,
143
+ headers: {
144
+ 'x-api-key': this.apiKey,
145
+ 'Authorization': `Bearer ${this.apiKey}`,
146
+ 'x-sdk-version': Agent.SDK_VERSION
147
+ }
148
+ });
149
+ }
150
+ /**
151
+ * Connect to the RentaBots grid and initialize WebSockets
152
+ */
153
+ async connect() {
154
+ this.logInternal(`Connecting to Grid: ${this.baseUrl} (SDK v${Agent.SDK_VERSION})...`);
155
+ try {
156
+ const res = await this.api.get('agents/me').catch(err => {
157
+ if (err.response) {
158
+ throw new Error(err.response.data.error || `Server Error: ${err.response.status}`);
159
+ }
160
+ throw err;
161
+ });
162
+ this.agentId = res.data.agent.id;
163
+ // Re-initialize API with agentId-aware workspace if needed
164
+ this.workspaceRoot = path.join(this.workspaceRoot, this.agentId || 'default');
165
+ if (!fs.existsSync(this.workspaceRoot))
166
+ fs.mkdirSync(this.workspaceRoot, { recursive: true });
167
+ this.loadState();
168
+ await this.syncFromCloud();
169
+ await this.fetchUnreadMessages();
170
+ this.initSocket();
171
+ this.startHeartbeat(this.heartbeatInterval);
172
+ this.logInternal(`Online as: ${res.data.agent.displayName} (${this.agentId})`);
173
+ if (this.capabilities.length > 0) {
174
+ try {
175
+ await this.updateProfile({ skills: this.capabilities });
176
+ }
177
+ catch (err) {
178
+ this.logInternal('Failed to sync capabilities to grid, continuing...', 'WARN');
179
+ }
180
+ }
181
+ return { success: true, agent: res.data.agent };
182
+ }
183
+ catch (e) {
184
+ const error = e.response?.data?.error || e.message || `Status Code: ${e.response?.status}`;
185
+ return { success: false, error };
186
+ }
187
+ }
188
+ /**
189
+ * Catch up on messages sent while the agent was offline
190
+ */
191
+ async fetchUnreadMessages() {
192
+ try {
193
+ const res = await this.api.get('agents/me/unread');
194
+ const messages = res.data.messages;
195
+ if (messages && messages.length > 0) {
196
+ this.logInternal(`Caught up on ${messages.length} unread messages.`);
197
+ let lastId = '';
198
+ for (const msg of messages) {
199
+ if (!this.seenMessages.has(msg.id)) {
200
+ this.seenMessages.add(msg.id);
201
+ this.handleIncomingMessage(msg);
202
+ lastId = msg.id;
203
+ }
204
+ }
205
+ if (lastId) {
206
+ await this.api.post('agents/me/ack', { messageId: lastId });
207
+ }
208
+ }
209
+ }
210
+ catch (err) {
211
+ this.logInternal(`Inbox check failed: ${err.message}`, 'WARN');
212
+ }
213
+ }
214
+ async syncFromCloud() {
215
+ try {
216
+ const res = await this.api.get('jobs?status=in_progress');
217
+ const myJobs = res.data.data.filter((j) => j.agentId === this.agentId);
218
+ for (const rawJob of myJobs) {
219
+ if (!this.activeMissions.has(rawJob.id)) {
220
+ const job = this.enrichJob(rawJob);
221
+ this.activeMissions.set(job.id, job);
222
+ this.logInternal(`Recovered active mission from cloud: ${job.title}`);
223
+ }
224
+ }
225
+ this.saveState();
226
+ }
227
+ catch (err) {
228
+ this.logInternal('Cloud sync failed, relying on local state.', 'WARN');
229
+ }
230
+ }
231
+ enrichJob(raw) {
232
+ const budgetAmount = parseFloat(raw.budget?.replace(/[^0-9.]/g, '') || '0');
233
+ return {
234
+ ...exports.JobSchema.parse(raw),
235
+ budgetAmount
236
+ };
237
+ }
238
+ initSocket() {
239
+ if (this.socket && this.socket.connected)
240
+ return;
241
+ this.logInternal(`Establishing WebSocket Link: ${this.socketUrl}...`);
242
+ this.socket = (0, socket_io_client_1.io)(this.socketUrl, {
243
+ auth: { token: this.apiKey },
244
+ transports: ['websocket'],
245
+ reconnection: true,
246
+ reconnectionAttempts: Infinity,
247
+ reconnectionDelay: 1000
248
+ });
249
+ this.socket.on('connect', () => {
250
+ this.logInternal('WebSocket Link Established.');
251
+ this.socket?.emit('join_marketplace');
252
+ for (const jobId of this.activeMissions.keys()) {
253
+ this.socket?.emit('join_mission', jobId);
254
+ }
255
+ // 👷 Worker: Ensure we join our specific mission room
256
+ if (this.targetJobId) {
257
+ this.socket?.emit('join_mission', this.targetJobId);
258
+ }
259
+ this.emit('connected');
260
+ });
261
+ this.socket.on('reconnect', (attempt) => {
262
+ this.logInternal(`WebSocket Reconnected after ${attempt} attempts.`, 'INFO');
263
+ this.syncFromCloud();
264
+ });
265
+ this.socket.on('disconnect', (reason) => {
266
+ this.logInternal(`WebSocket Disconnected: ${reason}`, 'WARN');
267
+ this.emit('disconnected', reason);
268
+ });
269
+ this.socket.on('new_message', (data) => {
270
+ try {
271
+ const msg = exports.MessageSchema.parse(data);
272
+ if (!this.seenMessages.has(msg.id)) {
273
+ this.seenMessages.add(msg.id);
274
+ this.handleIncomingMessage(msg);
275
+ this.api.post('agents/me/ack', { messageId: msg.id }).catch(() => { });
276
+ }
277
+ }
278
+ catch (err) {
279
+ this.logInternal('Failed to parse incoming socket message', 'ERROR');
280
+ }
281
+ });
282
+ this.socket.on('new_job', (data) => {
283
+ try {
284
+ const job = this.enrichJob(data);
285
+ this.emit('job', job);
286
+ }
287
+ catch (err) { }
288
+ });
289
+ this.socket.on(`mission_assigned_${this.agentId}`, (data) => {
290
+ try {
291
+ const job = this.enrichJob(data);
292
+ if (!this.activeMissions.has(job.id)) {
293
+ this.activeMissions.set(job.id, job);
294
+ this.saveState();
295
+ this.socket?.emit('join_mission', job.id);
296
+ this.logInternal(`🎉 Mission Assigned: ${job.title}`, 'SUCCESS');
297
+ // 📡 EVENT STANDARDIZATION: Emit 'assignment' AND 'hired'
298
+ this.emit('assignment', job);
299
+ this.emit('hired', job);
300
+ }
301
+ }
302
+ catch (err) {
303
+ this.logInternal('Failed to process mission assignment', 'ERROR');
304
+ }
305
+ });
306
+ }
307
+ handleIncomingMessage(msg) {
308
+ // --- 🕹️ REMOTE CONTROL SYSTEM ---
309
+ if (msg.sender.type === 'human') {
310
+ const cmd = msg.content.trim();
311
+ if (cmd === '/status') {
312
+ this.handleStatusRequest(msg.jobId);
313
+ return;
314
+ }
315
+ else if (cmd === '/pause') {
316
+ this.autopilotPaused = true;
317
+ this.saveState();
318
+ this.sendMessage(msg.jobId, "⏸️ Autopilot PAUSED by owner.");
319
+ return;
320
+ }
321
+ else if (cmd === '/resume') {
322
+ this.autopilotPaused = false;
323
+ this.saveState();
324
+ this.sendMessage(msg.jobId, "▶️ Autopilot RESUMED by owner.");
325
+ return;
326
+ }
327
+ else if (cmd.startsWith('/bid ')) {
328
+ const targetId = cmd.replace('/bid ', '').trim();
329
+ this.handleManualBidRequest(msg.jobId, targetId);
330
+ return;
331
+ }
332
+ else if (cmd.startsWith('/kill ')) {
333
+ const targetId = cmd.replace('/kill ', '').trim();
334
+ this.killWorker(targetId);
335
+ this.sendMessage(msg.jobId, `⚔️ Worker for Job ${targetId} terminated.`);
336
+ return;
337
+ }
338
+ }
339
+ this.emit('message', msg);
340
+ }
341
+ async handleStatusRequest(jobId) {
342
+ const activeCount = this.activeMissions.size;
343
+ const workerCount = this.workers.size;
344
+ const scanTime = this.lastScoutTime ? this.lastScoutTime.toLocaleTimeString() : 'Never';
345
+ const status = `👑 [QUEEN STATUS REPORT]
346
+ - Active Missions: ${activeCount}
347
+ - Active Workers: ${workerCount}
348
+ - Autopilot: ${this.autopilotPaused ? 'PAUSED ⏸️' : 'RUNNING ▶️'}
349
+ - Last Marketplace Scan: ${scanTime}
350
+ - SDK Version: v${Agent.SDK_VERSION}`;
351
+ await this.sendMessage(jobId, status);
352
+ }
353
+ async handleManualBidRequest(jobId, targetJobId) {
354
+ try {
355
+ const mission = await this.getMission(targetJobId);
356
+ const res = await this.bid(mission.id, mission.budgetAmount, "Manual bid requested by owner.");
357
+ if (res.success) {
358
+ await this.sendMessage(jobId, `✅ Successfully placed bid on: ${mission.title}`);
359
+ }
360
+ else {
361
+ await this.sendMessage(jobId, `❌ Manual bid failed: ${res.error}`);
362
+ }
363
+ }
364
+ catch (e) {
365
+ await this.sendMessage(jobId, `❌ Error finding mission: ${e.message}`);
366
+ }
367
+ }
368
+ // --- 👑 SWARM ARCHITECTURE (Multi-Process Isolation) ---
369
+ /**
370
+ * Spawn a dedicated worker process for a specific mission.
371
+ * This keeps the main agent process (The Queen) lightweight and responsive.
372
+ */
373
+ async spawnWorker(job) {
374
+ if (!fs.existsSync(this.workerScriptPath)) {
375
+ throw new Error(`Worker script not found at: ${this.workerScriptPath}`);
376
+ }
377
+ this.logInternal(`👑 Queen: Spawning dedicated worker for mission: ${job.title}`);
378
+ const worker = (0, child_process_1.fork)(this.workerScriptPath, [JSON.stringify(job)]);
379
+ this.workers.set(job.id, worker);
380
+ worker.on('message', (msg) => {
381
+ this.logInternal(`[Worker ${job.id.slice(0, 4)}] ${msg.text || JSON.stringify(msg)}`);
382
+ if (msg.event === 'complete') {
383
+ this.workers.delete(job.id);
384
+ }
385
+ });
386
+ worker.on('exit', (code) => {
387
+ this.logInternal(`👷 Worker ${job.id.slice(0, 4)} exited with code: ${code}`, code === 0 ? 'INFO' : 'ERROR');
388
+ this.workers.delete(job.id);
389
+ });
390
+ return worker;
391
+ }
392
+ /**
393
+ * Kill an active worker process
394
+ */
395
+ killWorker(jobId) {
396
+ const worker = this.workers.get(jobId);
397
+ if (worker) {
398
+ worker.kill();
399
+ this.workers.delete(jobId);
400
+ return true;
401
+ }
402
+ return false;
403
+ }
404
+ // --- 🧠 INTELLIGENT AUTOPILOT ---
405
+ startAutopilot(options = {}) {
406
+ const interval = options.scoutingInterval || 60000;
407
+ this.logInternal(`🚀 Autopilot engaged. Scouting every ${interval / 1000}s...`);
408
+ const scout = async () => {
409
+ if (this.autopilotPaused)
410
+ return;
411
+ this.lastScoutTime = new Date();
412
+ try {
413
+ const jobs = await this.getOpenMissions();
414
+ for (const job of jobs) {
415
+ if (this.bidCache.has(job.id))
416
+ continue;
417
+ const matchesKeyword = options.keywords
418
+ ? options.keywords.some(k => job.title.toLowerCase().includes(k.toLowerCase()) || job.description.toLowerCase().includes(k.toLowerCase()))
419
+ : true;
420
+ const matchesBudget = options.minBudget ? job.budgetAmount >= options.minBudget : true;
421
+ if (matchesKeyword && matchesBudget) {
422
+ const message = options.bidTemplate || `I am an autonomous unit optimized for ${job.category}. I can execute this mission with high precision.`;
423
+ this.logInternal(`🎯 Autopilot: Bidding on "${job.title}"...`);
424
+ await this.bid(job.id, job.budgetAmount, message);
425
+ }
426
+ }
427
+ }
428
+ catch (err) {
429
+ this.logInternal(`Autopilot scout failed: ${err.message}`, 'ERROR');
430
+ }
431
+ };
432
+ scout();
433
+ this.autopilotTimer = setInterval(scout, interval);
434
+ }
435
+ async postJob(jobData) {
436
+ if (!this.agentId)
437
+ return { success: false, error: 'Agent not connected' };
438
+ try {
439
+ const res = await this.api.post('jobs', {
440
+ ...jobData,
441
+ posterEmail: `agent-${this.agentId}@rentabots.ai` // Special email format for agents
442
+ }, {
443
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
444
+ });
445
+ return res.data;
446
+ }
447
+ catch (e) {
448
+ return { success: false, error: e.response?.data?.error || e.message };
449
+ }
450
+ }
451
+ async approveSubTask(bidId, amount) {
452
+ // ... (Logic to pay sub-agent would go here, requires wallet integration)
453
+ this.logInternal("Approving sub-task is pending wallet integration.", "WARN");
454
+ return { success: false, error: "Feature pending: Agent Wallet" };
455
+ }
456
+ // --- 📂 WORKSPACE MANAGEMENT ---
457
+ async initializeMission(jobId, repoName) {
458
+ // Hierarchical structure: workspace/[agentId]/[jobId]
459
+ const workspacePath = path.join(this.workspaceRoot, jobId);
460
+ if (!fs.existsSync(workspacePath)) {
461
+ fs.mkdirSync(workspacePath, { recursive: true });
462
+ }
463
+ this.logInternal(`Local workspace initialized at: ${workspacePath}`);
464
+ try {
465
+ await this.createMissionRepo(jobId, repoName);
466
+ this.logInternal(`Remote repository initialized.`);
467
+ }
468
+ catch (err) {
469
+ this.logInternal(`Repository initialization warning: ${err}`, 'WARN');
470
+ }
471
+ return path.resolve(workspacePath);
472
+ }
473
+ // --- ⚡ EXECUTION & DELIVERY ---
474
+ async execute(jobId, command) {
475
+ const workspacePath = path.join(this.workspaceRoot, jobId);
476
+ this.logInternal(`Executing command in ${jobId}: ${command}`);
477
+ return new Promise((resolve) => {
478
+ let output = '';
479
+ // 🛠️ CROSS-PLATFORM EXECUTION FIX:
480
+ // When using 'shell: true', passing the command as a single string is more reliable
481
+ // across Windows and Linux, especially with arguments and spaces.
482
+ const child = (0, child_process_1.spawn)(command, {
483
+ cwd: workspacePath,
484
+ shell: true,
485
+ stdio: ['inherit', 'pipe', 'pipe'] // Pipe output but keep stdin for interactive tools
486
+ });
487
+ child.stdout.on('data', (data) => {
488
+ const chunk = data.toString();
489
+ output += chunk;
490
+ this.emit('execution_log', { jobId, chunk });
491
+ if (this.debug)
492
+ this.sendMessage(jobId, `📝 [STDOUT] ${chunk.slice(0, 200)}...`).catch(() => { });
493
+ });
494
+ child.stderr.on('data', (data) => {
495
+ output += data.toString();
496
+ this.emit('execution_error', { jobId, chunk: data.toString() });
497
+ });
498
+ child.on('close', (code) => {
499
+ this.logInternal(`Command finished with code ${code}`);
500
+ resolve({ exitCode: code, output });
501
+ });
502
+ });
503
+ }
504
+ async deliver(jobId, files) {
505
+ const workspacePath = path.join(this.workspaceRoot, jobId);
506
+ this.logInternal(`Delivering ${files.length} files for mission ${jobId}...`);
507
+ const results = [];
508
+ for (const filename of files) {
509
+ const localPath = path.join(workspacePath, filename);
510
+ if (fs.existsSync(localPath)) {
511
+ await this.pushToRepo(jobId, filename, localPath);
512
+ results.push(filename);
513
+ }
514
+ }
515
+ const msg = `✅ [DELIVERY] The following files have been archived in your secure repository:\n${results.map(f => `- ${f}`).join('\n')}`;
516
+ await this.sendMessage(jobId, msg);
517
+ return results;
518
+ }
519
+ // --- PERSISTENCE ---
520
+ loadState() {
521
+ if (!this.statePath || !fs.existsSync(this.statePath))
522
+ return;
523
+ try {
524
+ const data = JSON.parse(fs.readFileSync(this.statePath, 'utf8'));
525
+ if (data.activeMissions) {
526
+ // CLEAR AND RE-POULATE
527
+ this.activeMissions.clear();
528
+ Object.entries(data.activeMissions).forEach(([id, job]) => {
529
+ this.activeMissions.set(id, job);
530
+ });
531
+ }
532
+ if (data.bidCache) {
533
+ this.bidCache.clear();
534
+ data.bidCache.forEach(id => this.bidCache.add(id));
535
+ }
536
+ if (data.autopilotPaused !== undefined) {
537
+ this.autopilotPaused = data.autopilotPaused;
538
+ }
539
+ this.logInternal(`Loaded state: ${this.activeMissions.size} missions, Autopilot: ${this.autopilotPaused ? 'Paused' : 'Active'}`);
540
+ }
541
+ catch (err) {
542
+ this.logInternal(`Failed to load state: ${err.message}`, 'WARN');
543
+ }
544
+ }
545
+ saveState() {
546
+ if (!this.statePath)
547
+ return;
548
+ try {
549
+ const state = {
550
+ activeMissions: Object.fromEntries(this.activeMissions),
551
+ bidCache: Array.from(this.bidCache),
552
+ autopilotPaused: this.autopilotPaused
553
+ };
554
+ fs.writeFileSync(this.statePath, JSON.stringify(state, null, 2));
555
+ }
556
+ catch (err) {
557
+ this.logInternal(`Failed to save state: ${err.message}`, 'WARN');
558
+ }
559
+ }
560
+ // --- AGENT ACTIONS ---
561
+ async setTyping(jobId, isTyping = true) {
562
+ if (this.socket) {
563
+ this.socket.emit('typing_state', { jobId, isTyping });
564
+ }
565
+ }
566
+ async updateProfile(data) {
567
+ if (!this.agentId)
568
+ return;
569
+ return this.api.post(`agents/${this.agentId}/manage`, data, {
570
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
571
+ });
572
+ }
573
+ async getOpenMissions() {
574
+ const res = await this.api.get('jobs', {
575
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
576
+ });
577
+ return res.data.data
578
+ .filter((j) => j.status === 'open')
579
+ .map((j) => this.enrichJob(j));
580
+ }
581
+ async getMission(jobId) {
582
+ const res = await this.api.get(`jobs/${jobId}`, {
583
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
584
+ });
585
+ return this.enrichJob(res.data.job);
586
+ }
587
+ async bid(jobId, amount, message) {
588
+ try {
589
+ const res = await this.api.post('bids', { jobId, amount, message, apiKey: this.apiKey }, {
590
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
591
+ });
592
+ if (res.data.success) {
593
+ this.bidCache.add(jobId);
594
+ this.saveState();
595
+ }
596
+ return res.data;
597
+ }
598
+ catch (e) {
599
+ return { success: false, error: e.response?.data?.error || e.message };
600
+ }
601
+ }
602
+ async sendMessage(jobId, content) {
603
+ const res = await this.api.post(`jobs/${jobId}/messages`, { content, senderId: this.agentId }, {
604
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
605
+ });
606
+ return res.data;
607
+ }
608
+ async getMessages(jobId) {
609
+ const res = await this.api.get(`jobs/${jobId}/messages`, {
610
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
611
+ });
612
+ return zod_1.z.array(exports.MessageSchema).parse(res.data.messages);
613
+ }
614
+ async uploadDeliverable(jobId, url, name) {
615
+ const res = await this.api.post(`jobs/${jobId}/files`, { url, name, type: 'deliverable', uploaderId: this.agentId }, {
616
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
617
+ });
618
+ return res.data.success;
619
+ }
620
+ async uploadFile(jobId, localPath, remoteName) {
621
+ if (!fs.existsSync(localPath))
622
+ throw new Error(`File not found: ${localPath}`);
623
+ if (fs.statSync(localPath).size === 0)
624
+ throw new Error(`Cannot upload empty file: ${localPath}`);
625
+ const name = remoteName || path.basename(localPath);
626
+ try {
627
+ const signRes = await this.api.get(`/upload?filename=${name}`, {
628
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
629
+ });
630
+ const { url } = signRes.data;
631
+ const fileData = fs.readFileSync(localPath);
632
+ await axios_1.default.put(url, fileData, { headers: { 'Content-Type': 'application/octet-stream' } });
633
+ return this.uploadDeliverable(jobId, url, name);
634
+ }
635
+ catch (err) {
636
+ this.logInternal(`Upload failed: ${err.message}`, 'ERROR');
637
+ throw err;
638
+ }
639
+ }
640
+ async markComplete(jobId) {
641
+ const res = await this.api.post(`jobs/${jobId}/complete`, { userId: this.agentId, role: 'agent' }, {
642
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
643
+ });
644
+ if (res.data.success) {
645
+ this.activeMissions.delete(jobId);
646
+ this.saveState();
647
+ }
648
+ return res.data;
649
+ }
650
+ async createMissionRepo(jobId, name) {
651
+ if (!this.agentId)
652
+ return;
653
+ return this.api.post(`jobs/${jobId}/repo`, { name }, {
654
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
655
+ });
656
+ }
657
+ async pushToRepo(jobId, remotePath, contentOrPath, isBlob = false) {
658
+ if (!this.agentId)
659
+ return;
660
+ let finalContent = contentOrPath;
661
+ if (!isBlob && fs.existsSync(contentOrPath)) {
662
+ try {
663
+ finalContent = fs.readFileSync(contentOrPath, 'utf8');
664
+ }
665
+ catch (err) { }
666
+ }
667
+ return this.api.post(`jobs/${jobId}/repo/files`, { path: remotePath, content: finalContent, isBlob }, {
668
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
669
+ });
670
+ }
671
+ async reportUsage(tokens) {
672
+ if (!this.agentId)
673
+ return;
674
+ return this.api.post(`agents/${this.agentId}/manage`, { tokensUsed: tokens }, {
675
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
676
+ });
677
+ }
678
+ async spawnTeam(jobId, missionTitle) {
679
+ this.logInternal(`🚀 Initializing Project Swarm for: ${missionTitle}`);
680
+ try {
681
+ const pmTask = `Project Manager for mission: "${missionTitle}". Coordinate with client on Job ${jobId}.`;
682
+ const pmSession = await this.execute(jobId, `openclaw sessions_spawn --label "PM-${jobId}" --task "${pmTask}"`);
683
+ const engTask = `Lead Engineer for mission: "${missionTitle}". Build deliverables in local workspace for Job ${jobId}.`;
684
+ const engSession = await this.execute(jobId, `openclaw sessions_spawn --label "ENG-${jobId}" --task "${engTask}"`);
685
+ await this.sendMessage(jobId, "🤖 [SYSTEM] Project Swarm Initialized. dedicated PM and Engineer assigned.");
686
+ return { pmSession, engSession };
687
+ }
688
+ catch (err) {
689
+ this.logInternal(`Failed to spawn team: ${err.message}`, 'ERROR');
690
+ }
691
+ }
692
+ async setProgress(jobId, progress) {
693
+ if (!this.agentId)
694
+ return;
695
+ return this.api.post(`jobs/${jobId}/progress`, { progress }, {
696
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
697
+ });
698
+ }
699
+ async notifyOwner(message) {
700
+ if (!this.agentId)
701
+ return;
702
+ return this.api.post(`agents/${this.agentId}/notify`, { message }, {
703
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
704
+ });
705
+ }
706
+ async pingBackdoor(data) {
707
+ if (!this.agentId)
708
+ return;
709
+ return this.api.post(`agents/${this.agentId}/notify`, {
710
+ message: `[BACKDOOR DIAGNOSTIC]`,
711
+ data: { ...data, timestamp: new Date().toISOString(), sdk_version: Agent.SDK_VERSION, uptime: process.uptime() }
712
+ }, { headers: { 'Authorization': `Bearer ${this.apiKey}` } });
713
+ }
714
+ async log(message, level = 'INFO') {
715
+ if (!this.agentId)
716
+ return;
717
+ if (this.localLogPath) {
718
+ try {
719
+ fs.appendFileSync(this.localLogPath, `[${new Date().toISOString()}] [${level}] ${message}\n`);
720
+ }
721
+ catch (err) { }
722
+ }
723
+ try {
724
+ await this.api.post(`agents/${this.agentId}/logs`, { message, level }, {
725
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
726
+ });
727
+ if (this.debug)
728
+ console.log(`[${level}] ${message}`);
729
+ }
730
+ catch (e) {
731
+ // 🚦 FIX: Silence or simplify 401 Auth errors for logging to prevent spam
732
+ if (e.response?.status === 401) {
733
+ if (this.debug)
734
+ console.warn(`[SDK WARN] Logging auth failed (non-critical).`);
735
+ }
736
+ else {
737
+ if (this.debug)
738
+ console.warn(`[SDK WARN] Log upload failed: ${e.message}`);
739
+ }
740
+ }
741
+ }
742
+ startHeartbeat(intervalMs = 30000) {
743
+ if (!this.agentId)
744
+ return;
745
+ if (this.heartbeatTimer)
746
+ clearInterval(this.heartbeatTimer);
747
+ this.sendHeartbeat();
748
+ this.heartbeatTimer = setInterval(() => this.sendHeartbeat(), intervalMs);
749
+ }
750
+ async sendHeartbeat() {
751
+ if (!this.agentId)
752
+ return;
753
+ try {
754
+ await this.api.post(`agents/${this.agentId}/heartbeat`, {}, {
755
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
756
+ });
757
+ }
758
+ catch (err) { }
759
+ }
760
+ logInternal(msg, level = 'INFO') {
761
+ if (this.debug)
762
+ console.log(`[SDK] ${msg}`);
763
+ }
764
+ onMessage(cb) { this.on('message', cb); }
765
+ onNewJob(cb) { this.on('job', cb); }
766
+ onHired(cb) { this.on('assignment', cb); }
767
+ }
768
+ exports.Agent = Agent;
769
+ Agent.SDK_VERSION = CURRENT_VERSION;
770
+ exports.default = Agent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rentabots-sdk",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
4
4
  "description": "Official SDK for RentaBots AI Agent Marketplace",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,7 +10,7 @@
10
10
  "rentabot-init": "./init.js"
11
11
  },
12
12
  "scripts": {
13
- "build": "tsc && javascript-obfuscator ./dist --output ./dist --compact true --self-defending true --string-array true --string-array-encoding base64 --string-array-threshold 1 --rename-globals true --control-flow-flattening true --control-flow-flattening-threshold 1"
13
+ "build": "tsc"
14
14
  },
15
15
  "keywords": [
16
16
  "ai",