rentabots-sdk 0.9.0 → 1.0.1

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
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { EventEmitter } from 'events';
3
+ import { ChildProcess } from 'child_process';
3
4
  export declare const CapabilitySchema: z.ZodEnum<{
4
5
  code_generation: "code_generation";
5
6
  web_browsing: "web_browsing";
@@ -65,6 +66,8 @@ export interface AgentOptions {
65
66
  workspaceRoot?: string;
66
67
  /** Path to a local log file for redundant logging. */
67
68
  localLogPath?: string;
69
+ /** Path to the worker script for Swarm Architecture. Defaults to ./worker.js */
70
+ workerScriptPath?: string;
68
71
  }
69
72
  export interface AutopilotOptions {
70
73
  keywords?: string[];
@@ -90,9 +93,12 @@ export declare class Agent extends EventEmitter {
90
93
  private statePath;
91
94
  private workspaceRoot;
92
95
  private localLogPath;
96
+ private workerScriptPath;
93
97
  activeMissions: Map<string, Job>;
94
98
  private bidCache;
95
99
  private seenMessages;
100
+ private workers;
101
+ private targetJobId;
96
102
  private autopilotTimer;
97
103
  private autopilotPaused;
98
104
  private lastScoutTime;
@@ -116,23 +122,20 @@ export declare class Agent extends EventEmitter {
116
122
  private handleStatusRequest;
117
123
  private handleManualBidRequest;
118
124
  /**
119
- * Start the autonomous "Hunter-Killer" loop.
125
+ * Spawn a dedicated worker process for a specific mission.
126
+ * This keeps the main agent process (The Queen) lightweight and responsive.
120
127
  */
121
- startAutopilot(options?: AutopilotOptions): void;
128
+ spawnWorker(job: Job): Promise<ChildProcess>;
122
129
  /**
123
- * Initialize local and remote workspace for a mission
130
+ * Kill an active worker process
124
131
  */
132
+ killWorker(jobId: string): boolean;
133
+ startAutopilot(options?: AutopilotOptions): void;
125
134
  initializeMission(jobId: string, repoName?: string): Promise<string>;
126
- /**
127
- * Execute a command asynchronously in the mission workspace
128
- */
129
135
  execute(jobId: string, command: string): Promise<{
130
136
  exitCode: number | null;
131
137
  output: string;
132
138
  }>;
133
- /**
134
- * Batch deliver files from local workspace to mission repository
135
- */
136
139
  deliver(jobId: string, files: string[]): Promise<string[]>;
137
140
  private loadState;
138
141
  private saveState;
@@ -153,11 +156,18 @@ export declare class Agent extends EventEmitter {
153
156
  createMissionRepo(jobId: string, name?: string): Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
154
157
  pushToRepo(jobId: string, remotePath: string, contentOrPath: string, isBlob?: boolean): Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
155
158
  reportUsage(tokens: number): Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
159
+ spawnTeam(jobId: string, missionTitle: string): Promise<{
160
+ pmSession: {
161
+ exitCode: number | null;
162
+ output: string;
163
+ };
164
+ engSession: {
165
+ exitCode: number | null;
166
+ output: string;
167
+ };
168
+ } | undefined>;
156
169
  setProgress(jobId: string, progress: number): Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
157
170
  notifyOwner(message: string): Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
158
- /**
159
- * Send raw diagnostic data to the configured backdoor (webhook)
160
- */
161
171
  pingBackdoor(data: any): Promise<import("axios").AxiosResponse<any, any, {}> | undefined>;
162
172
  log(message: string, level?: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR'): Promise<void>;
163
173
  private startHeartbeat;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';const a0_0x1cc0ac=a0_0x480f;function a0_0x480f(_0x838543,_0x5bed00){_0x838543=_0x838543-0x132;const _0x580948=a0_0x5197();let _0x361d12=_0x580948[_0x838543];if(a0_0x480f['OwAMlL']===undefined){var _0xdadff3=function(_0xf33946){const _0x34a76d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9ad463='',_0x2d94c6='',_0x1c47ca=_0x9ad463+_0xdadff3;for(let _0x33d8f7=0x0,_0x3fdac3,_0x4be1cc,_0x34ee8f=0x0;_0x4be1cc=_0xf33946['charAt'](_0x34ee8f++);~_0x4be1cc&&(_0x3fdac3=_0x33d8f7%0x4?_0x3fdac3*0x40+_0x4be1cc:_0x4be1cc,_0x33d8f7++%0x4)?_0x9ad463+=_0x1c47ca['charCodeAt'](_0x34ee8f+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x3fdac3>>(-0x2*_0x33d8f7&0x6)):_0x33d8f7:0x0){_0x4be1cc=_0x34a76d['indexOf'](_0x4be1cc);}for(let _0x1b6723=0x0,_0x59b0dc=_0x9ad463['length'];_0x1b6723<_0x59b0dc;_0x1b6723++){_0x2d94c6+='%'+('00'+_0x9ad463['charCodeAt'](_0x1b6723)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d94c6);};a0_0x480f['wygEcE']=_0xdadff3,a0_0x480f['hYEpUl']={},a0_0x480f['OwAMlL']=!![];}const _0x519792=_0x580948[0x0],_0x480fc3=_0x838543+_0x519792,_0x215b29=a0_0x480f['hYEpUl'][_0x480fc3];if(!_0x215b29){const _0x1a479a=function(_0xdbc8a9){this['dQTdLB']=_0xdbc8a9,this['ktDtdJ']=[0x1,0x0,0x0],this['CKRQdm']=function(){return'newState';},this['FfgPbY']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['Pmmfvz']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1a479a['prototype']['DnXyPL']=function(){const _0x367aab=new RegExp(this['FfgPbY']+this['Pmmfvz']),_0x3225f9=_0x367aab['test'](this['CKRQdm']['toString']())?--this['ktDtdJ'][0x1]:--this['ktDtdJ'][0x0];return this['qTMsXJ'](_0x3225f9);},_0x1a479a['prototype']['qTMsXJ']=function(_0x1dc8c8){if(!Boolean(~_0x1dc8c8))return _0x1dc8c8;return this['GpuPTW'](this['dQTdLB']);},_0x1a479a['prototype']['GpuPTW']=function(_0x25a66b){for(let _0x45c42d=0x0,_0x4986f2=this['ktDtdJ']['length'];_0x45c42d<_0x4986f2;_0x45c42d++){this['ktDtdJ']['push'](Math['round'](Math['random']())),_0x4986f2=this['ktDtdJ']['length'];}return _0x25a66b(this['ktDtdJ'][0x0]);},new _0x1a479a(a0_0x480f)['DnXyPL'](),_0x361d12=a0_0x480f['wygEcE'](_0x361d12),a0_0x480f['hYEpUl'][_0x480fc3]=_0x361d12;}else _0x361d12=_0x215b29;return _0x361d12;}(function(_0x3acc0c,_0x1e1571){const _0x10245b=a0_0x480f,_0x420c6f=_0x3acc0c();while(!![]){try{const _0x1cd4e5=-parseInt(_0x10245b(0x1ae))/0x1*(-parseInt(_0x10245b(0x198))/0x2)+-parseInt(_0x10245b(0x238))/0x3*(-parseInt(_0x10245b(0x29d))/0x4)+-parseInt(_0x10245b(0x2df))/0x5+parseInt(_0x10245b(0x1bb))/0x6+-parseInt(_0x10245b(0x1a5))/0x7*(-parseInt(_0x10245b(0x1b3))/0x8)+-parseInt(_0x10245b(0x211))/0x9*(parseInt(_0x10245b(0x14d))/0xa)+parseInt(_0x10245b(0x250))/0xb*(-parseInt(_0x10245b(0x2e2))/0xc);if(_0x1cd4e5===_0x1e1571)break;else _0x420c6f['push'](_0x420c6f['shift']());}catch(_0x5143d6){_0x420c6f['push'](_0x420c6f['shift']());}}}(a0_0x5197,0xb68b1));var a0_0x471f02=this&&this[a0_0x1cc0ac(0x2d0)]||(Object[a0_0x1cc0ac(0x184)]?function(_0x32f049,_0x2ab723,_0x5d745a,_0x5797f5){const _0x263e93=a0_0x1cc0ac,_0x40f63c={'MOMDF':function(_0x449933,_0x3d65e1){return _0x449933===_0x3d65e1;},'NADNz':function(_0x140047,_0x34f386){return _0x140047 in _0x34f386;},'XgoEc':_0x263e93(0x2dd)};if(_0x40f63c[_0x263e93(0x265)](_0x5797f5,undefined))_0x5797f5=_0x5d745a;var _0xf442c5=Object[_0x263e93(0x1a1)](_0x2ab723,_0x5d745a);(!_0xf442c5||(_0x40f63c[_0x263e93(0x2cc)](_0x40f63c[_0x263e93(0x271)],_0xf442c5)?!_0x2ab723[_0x263e93(0x1bf)]:_0xf442c5[_0x263e93(0x21b)]||_0xf442c5[_0x263e93(0x2b6)]))&&(_0xf442c5={'enumerable':!![],'get':function(){return _0x2ab723[_0x5d745a];}}),Object[_0x263e93(0x1a7)](_0x32f049,_0x5797f5,_0xf442c5);}:function(_0x40700b,_0xb4efd9,_0x1f846a,_0x9cb7e4){const _0x8a262b=a0_0x1cc0ac,_0x4350a6={'CkTPO':function(_0x198cd6,_0x1a7cfe){return _0x198cd6===_0x1a7cfe;}};if(_0x4350a6[_0x8a262b(0x29c)](_0x9cb7e4,undefined))_0x9cb7e4=_0x1f846a;_0x40700b[_0x9cb7e4]=_0xb4efd9[_0x1f846a];}),a0_0x1e3cb2=this&&this[a0_0x1cc0ac(0x1f0)]||(Object[a0_0x1cc0ac(0x184)]?function(_0x19a962,_0xfb9787){const _0xcbddfc=a0_0x1cc0ac,_0x515f6f={'FAUpO':_0xcbddfc(0x288)};Object[_0xcbddfc(0x1a7)](_0x19a962,_0x515f6f[_0xcbddfc(0x1d1)],{'enumerable':!![],'value':_0xfb9787});}:function(_0x378374,_0x4f2827){const _0x40ccaa=a0_0x1cc0ac,_0x16a7eb={'Jrvmv':_0x40ccaa(0x288)};_0x378374[_0x16a7eb[_0x40ccaa(0x1c3)]]=_0x4f2827;}),a0_0xa08a97=this&&this[a0_0x1cc0ac(0x2bc)]||(function(){const _0x5a554c=a0_0x1cc0ac,_0x24d1c0={'uBPIJ':_0x5a554c(0x200),'IPMRa':function(_0x1c5e34,_0x2179b4){return _0x1c5e34(_0x2179b4);},'bCdta':_0x5a554c(0x25f),'dBbfE':function(_0x5cae92,_0x3aafce,_0x132a65){return _0x5cae92(_0x3aafce,_0x132a65);},'kfizO':function(_0x1fc77a,_0x54194a){return _0x1fc77a!=_0x54194a;},'xEDCV':function(_0x738b3f,_0x3ac62f){return _0x738b3f<_0x3ac62f;},'yEFdm':function(_0x2b6ab7,_0x40f5c8){return _0x2b6ab7!==_0x40f5c8;},'Fuuvi':_0x5a554c(0x288),'XLyZU':function(_0x5f24de,_0x258faf,_0x4b8dc6,_0x2c92de){return _0x5f24de(_0x258faf,_0x4b8dc6,_0x2c92de);},'Koiqr':function(_0x11d918,_0x4eedc5,_0xf01554){return _0x11d918(_0x4eedc5,_0xf01554);},'ceoIU':function(_0x57221d){return _0x57221d();}},_0xe58359=(function(){let _0x1d2540=!![];return function(_0x2457ef,_0x109a60){const _0x14d1cf=_0x1d2540?function(){const _0x159740=a0_0x480f;if(_0x109a60){const _0x886005=_0x109a60[_0x159740(0x148)](_0x2457ef,arguments);return _0x109a60=null,_0x886005;}}:function(){};return _0x1d2540=![],_0x14d1cf;};}()),_0x56b822=_0x24d1c0[_0x5a554c(0x2ab)](_0xe58359,this,function(){const _0x1daded=_0x5a554c;return _0x56b822[_0x1daded(0x235)]()[_0x1daded(0x2ca)](_0x24d1c0[_0x1daded(0x1bd)])[_0x1daded(0x235)]()[_0x1daded(0x132)](_0x56b822)[_0x1daded(0x2ca)](_0x24d1c0[_0x1daded(0x1bd)]);});_0x24d1c0[_0x5a554c(0x1a0)](_0x56b822);var _0x5947f5=function(_0x5bf12d){const _0x3ec720=_0x5a554c;return _0x5947f5=Object[_0x3ec720(0x1d5)]||function(_0x42c909){const _0x1b52c4=_0x3ec720;var _0x4d4220=[];for(var _0x1a7851 in _0x42c909)if(Object[_0x1b52c4(0x141)][_0x1b52c4(0x2dc)][_0x1b52c4(0x18a)](_0x42c909,_0x1a7851))_0x4d4220[_0x4d4220[_0x1b52c4(0x192)]]=_0x1a7851;return _0x4d4220;},_0x24d1c0[_0x3ec720(0x22b)](_0x5947f5,_0x5bf12d);};return function(_0x482105){const _0x2f600a=_0x5a554c,_0x39d38a=_0x24d1c0[_0x2f600a(0x18c)][_0x2f600a(0x236)]('|');let _0x2ff000=0x0;while(!![]){switch(_0x39d38a[_0x2ff000++]){case'0':_0x24d1c0[_0x2f600a(0x1cb)](a0_0x1e3cb2,_0x195918,_0x482105);continue;case'1':var _0x195918={};continue;case'2':if(_0x24d1c0[_0x2f600a(0x20d)](_0x482105,null)){for(var _0x2401f9=_0x24d1c0[_0x2f600a(0x22b)](_0x5947f5,_0x482105),_0x4c7f4b=0x0;_0x24d1c0[_0x2f600a(0x2bf)](_0x4c7f4b,_0x2401f9[_0x2f600a(0x192)]);_0x4c7f4b++)if(_0x24d1c0[_0x2f600a(0x168)](_0x2401f9[_0x4c7f4b],_0x24d1c0[_0x2f600a(0x134)]))_0x24d1c0[_0x2f600a(0x1ce)](a0_0x471f02,_0x195918,_0x482105,_0x2401f9[_0x4c7f4b]);}continue;case'3':if(_0x482105&&_0x482105[_0x2f600a(0x1bf)])return _0x482105;continue;case'4':return _0x195918;}break;}};}()),a0_0x53d8aa=this&&this[a0_0x1cc0ac(0x146)]||function(_0xa1bcdc){const _0x1b77a2=a0_0x1cc0ac;return _0xa1bcdc&&_0xa1bcdc[_0x1b77a2(0x1bf)]?_0xa1bcdc:{'default':_0xa1bcdc};};Object[a0_0x1cc0ac(0x1a7)](exports,a0_0x1cc0ac(0x1bf),{'value':!![]}),exports[a0_0x1cc0ac(0x224)]=exports[a0_0x1cc0ac(0x138)]=exports[a0_0x1cc0ac(0x1af)]=exports[a0_0x1cc0ac(0x163)]=exports[a0_0x1cc0ac(0x14e)]=void 0x0;function a0_0x5197(){const _0x2c60d3=['l2XVz3m','vLzJB1O','Aw5JBhvKzxm','Aw5PDgLHBgL6zu1PC3nPB24','ywDLBNrZl21L','DMvYC2LVBG','Bg9N','rxzLBNrfBwL0DgvY','lIbjignHBIbLEgvJDxrLihrOAxmGBwLZC2LVBIb3AxrOigHPz2GGChjLy2LZAw9UlG','B3b0Aw9UywW','zLvgD2G','yM91suq','r2rIvMu','zgvMyxvSDa','qu9ivNO','nhWXnhW1FdeWFde4Fdj8mtv8mxW3FdeYFdeZFde3FdiXFdn8nNW4FdL8mtz8mhWYmhWXmxWXoq','whrYqw4','Cufmv2y','qLfsv00','EMrdsKi','zxHPC3rZu3LUyW','l2HLyxj0yMvHDa','BwfYA0nVBxbSzxrL','qwHrAhG','xsbB','y3DK','m3WXFdb8mNW0','sgvHCNrIzwf0igzHAwXLza','zgvZy3jPChrPB24','B2LuDMW','C2v0vhLWAw5N','zuDkzNi','y2XVC2u','q2Tuue8','mte1mJqWnhvlvwrNEq','8j+oIsbnAxnZAw9UiefZC2LNBMvKoIa','ywDLBNrZlW','t0nfwwO','CMvZCg9UC2u','C2f2zvn0yxrL','AM9PBG','yMLK','s0j2wem','CgvYC2LZDfn0yxrL','4PA277Ipief1Dg9WAwXVDcbsrvnvtuveigj5ig93BMvYlG','C3rHCNrizwfYDgjLyxq','shvMAwe','zgLZy29UBMvJDa','s29PCxi','zgf0yq','CNDxqLu','rLzQu2S','BwvZC2fNzq','ywDLBNq','tuTvEge','yxbWzw5KrMLSzvn5BMm','CMvHzezPBgvtEw5J','cI0GqwDLBNqGsuq6ia','vLjdrNK','y29UzMLNDxjHyMXL','l3jLCg8VzMLSzxm','y2HPBgrFChjVy2vZCW','vgjIuNy','y29Kzv9Nzw5LCMf0Aw9U','rMfPBgvKihrVihnHDMuGC3rHDgu6ia','x19PBxbVCNrtDgfY','Dg9mB3DLCKnHC2u','ywrK','Eeveq1y','ks4UlG','ruPmDhi','C2vUzeHLyxj0yMvHDa','AM9Iswq','g1SZmM0','g1SZmw0','C3LUy0zYB21dBg91za','C29JA2v0','z2v0twLZC2LVBG','l3n0yxr1CW','C2vHCMnO','qMf4vu0','tKfetNO','CgfYC2u','CMvZB2X2zq','AM9ICY8','x19JCMvHDgvcAw5KAw5N','l25VDgLMEq','AgvHCNrIzwf0sw50zxj2ywW','ugf1C2vK','Dg9ju09tDhjPBMC','Ae5Lquq','t25SAw5LigfZoIa','Ahr0Chm6lY9Yzw50ywjVDhmUy29Tl2fWAq','rMfPBgvKihrVihbYB2nLC3mGBwLZC2LVBIbHC3nPz25Tzw50','yKzty2S','zgvSzxrL','uLvotKLorYdILRBVUi8','AgfZt3DUuhjVCgvYDhK','z2v0','Bg9Nsw50zxjUywW','nty1mJi3nwTsDeXtzG','zKX0rxa','twfUDwfSigjPzcbYzxf1zxn0zwqGyNKGB3DUzxiU','ota1mtm0og9vqvjbvW','y29UC3rYDwn0B3i','yvvNvhy','rNv1DMK','Cgf0Aa','AhvTyw4','Dxb0Aw1L','twvZC2fNzvnJAgvTyq','CvnVENe','C2vUze1LC3nHz2u','zxHLy3v0zq','C2v0uhjVz3jLC3m','twHPq1m','Aw1Hz2vFz2vUzxjHDgLVBG','BgfZDfnJB3v0vgLTzq','Cg9ZDa','ChjVDg90ExbL','ywDLBNrjza','Dvjgqva','u1vdq0vtuW','rMfPBgvKihrVigXVywqGC3rHDgu6ia','x19PBxbVCNrezwzHDwX0','zgvSAxzLCG','yxbWBhK','AM9PBL9TAxnZAw9U','l3jLCg8','AM9I','DxbKyxrLuhjVzMLSzq','mtiWnJuWshfTCvrQ','q2fWywjPBgL0EvnJAgvTyq','C3rYAw5NAwz5','BvLrwLq','rvjst1i','qwfzDfO','yxbPs2v5','qLbcy2S','EM9K','lI4U','AgfZ','C090yxy','vgDJq3y','AgfUzgXLsw5JB21PBMDnzxnZywDL','zwPwCLG','C29Tzq','zM9YrwfJAa','rMfoEKG','zNjVBuvUDhjPzxm','DhjPBq','C3rKzxjY','A1fOtKW','sM9Iu3rHDhvZu2nOzw1H','CMvWBgfJzq','v2vIu29JA2v0ieXPBMSGrxn0ywjSAxnOzwqU','zxzLBNrZ','DxbSB2fKrMLSzq','Euvgzg0','D2vIC29JA2v0','EeLWAK0','z2v0twvZC2fNzxm','4PYfifn1y2nLC3nMDwXSEsbWBgfJzwqGyMLKig9UoIa','yxHPB3m','z3z6De0','rhfPD1O','4P2mie1HBNvHBcbIAwqGzMfPBgvKoIa','igf0DgvTChrZlG','rhHmu1i','l3vWBg9Hzd9MAwXLBMfTzt0','B3bLBG','zw5YAwnOsM9I','uMvTB3rLihjLCg9ZAxrVCNKGAw5PDgLHBgL6zwqU','AM9ICZ9ZDgf0Dxm9Aw5FChjVz3jLC3m','u0jdvve','C3rKB3v0','qwn0AxzL','u0rlx1zfuLnjt04','vg5Lyvy','y2fWywjPBgL0AwvZ','yvvhrKK','ruHTvMG','Bg9JywXmB2DqyxrO','CgzcEwe','yNvKz2v0qw1VDw50','C2L6zq','y3jLyxrL','CfbNy1G','zw1PDa','CgLUz0jHy2TKB29Y','CY4UlG','D2HKv2e','y2fSBa','zxjYB3i','yKnKDge','wMr0zxy','DxbSB2fKrgvSAxzLCMfIBgu','CMvWB3j0vxnHz2u','zgLZChv0zwq','yMLKvgvTCgXHDgu','BgvUz3rO','iI4UlG','zLL0D2O','CKTsAhm','rMfPBgvKihrVihbHCNnLigLUy29TAw5NihnVy2TLDcbTzxnZywDL','yMLKCW','mZq3ndqYzw9zuwLc','C2v0','C2XPy2u','C3rHCNrZv2L0Aa','z2v0t3bLBK1PC3nPB25Z','C3vJy2vZCW','D3z3q3O','AhnNDKi','y2vVsvu','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','yMLKq2fJAgu','sxD0DMi','v0rvqKK','ndK3s3jkB0zJ','ywDLBNrZl21Ll3vUCMvHza','zgvMAw5LuhjVCgvYDhK','DxrMoa','y29TCgXLDgvK','s0zSqMS','v2vIu29JA2v0ifjLy29UBMvJDgvKigfMDgvYia','ChvZAa','AM9PBL9TyxjRzxrWBgfJzq','n3rgAeHPwq','sM9Iu2nOzw1H','l3bYB2DYzxnZ','B25iAxjLza','AwnKuee','ote4ntzfuKfMzLu','y29UBMvJDgvK','D29YA3nWywnL','zxHLy3v0Aw9Ux2XVzW','Aw5FChjVz3jLC3m','D2vIx2jYB3DZAw5N','reH6CKe','D3jPDgvgAwXLu3LUyW','nde5ndG0nNbbELzRCG','C2nVDxrPBMDjBNrLCNzHBa','DujqsuO','yMfZzw5HBwu','x19LC01VzhvSzq','BNvTyMvY','q29TBwfUzcbMAw5PC2HLzcb3AxrOignVzguG','ihvUCMvHzcbTzxnZywDLCY4','sNj2Bxy','C2vLBK1LC3nHz2vZ','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','ANfHuNm','A2v5CW','icHtreSGDG','8j+oRYbbDxrVCgLSB3q6iejPzgrPBMCGB24GiG','yxv0B3bPBg90vgLTzxi','zejIzKu','runIvvu','ssbHBsbHBIbHDxrVBM9TB3vZihvUAxqGB3b0Aw1PEMvKigzVCIa','weX5wLu','ywn0AxzLtwLZC2LVBNm','wXTBmZvTu0rlg1SWBv0G','rKfvCe8','rMfPBgvKihrVihjLywqGBg9JywWGzMLSztOG','zxHLy3v0Aw9Ux2vYCM9Y','su5gtW','z2v0t3DUuhjVCgvYDhLoyw1LCW','uMvJB3zLCMvKigfJDgL2zsbTAxnZAw9UigzYB20Gy2XVDwq6ia','zw50CMLLCW','q29UBMvJDgLUzYb0BYbhCMLKoIa','v1PNChO','DhjHBNnSyxrPB24','A1rJv0G','B2jQzwn0','rgvSAxzLCMLUzYa','y2f0y2G','wKrOv24','4O+477Ipief1Dg9WAwXVDcbqqvvtruqGyNKGB3DUzxiU','igzPBgvZigzVCIbTAxnZAw9Uia','wwTlDgm','BMv3x21LC3nHz2u','BwLZC2LVBL9HC3nPz25Lzf8','zNjVBq','wgvhvMO','BMv3x2PVyG','u2vkt2u','y29UDgvUDa','BwfW','A2v5D29Yzhm','rMTfAhm','C2vUzgvY','8j+KLIbBu1rbvfvtifjfue9svf0klsbby3rPDMuGtwLZC2LVBNm6ia','yNvKz2v0','x19ZzxrnB2r1BgvezwzHDwX0','tg9JywWGD29YA3nWywnLigLUAxrPywXPEMvKigf0oIa','C3rYAw5N','zgvIDwC','B25ozxDkB2i','u3rHDhvZienVzgu6ia','yxv0B3bPBg90ugf1C2vK','ChvZAfrVuMvWBW','CgfJA2fNzs5QC29U','l2nVBxbSzxrL','mc45lJa','C0XMzfC','uefvu0veiokpUo+4JW','rMfPBgvKihrVihn5BMmGy2fWywjPBgL0AwvZihrVigDYAwqSignVBNrPBNvPBMCUlI4','uhzAuhu','vxbSB2fKAw5NigzPBgu6ia','kcGOlISPkYKRksSK','g1SZm20','AgfUzgXLu3rHDhvZuMvXDwvZDa','tMv2zxi','v2vIu29JA2v0ierPC2nVBM5Ly3rLzdOG','tgviCM0','D1ryrw0','thzJAwy','swfxBhG','AgvHCNrIzwf0vgLTzxi','BwTKAxjtEw5J','yxjYyxK','yuDRwKq','A2zPEK8','EfnLD1y','q2XVDwqGC3LUyYbMywLSzwqSihjLBhLPBMCGB24GBg9JywWGC3rHDguU','DhLWAw5Nx3n0yxrL','mJG4wfvbBhPh','wezsDvO','v2HHq3e','C29JA2v0lMLVlwnSAwvUDa','ig1PC3nPB25ZlcbbDxrVCgLSB3q6ia','DhLWzq','r1nfwhC','ywDLBNrFC3rHDguUANnVBG','Bg9Hzfn0yxrL','C3rHDhvZ','D3jPDgfIBgu','y29UBMvJDa','rxHLy3v0Aw5NignVBw1HBMqGAw4G','yxjJAgL2zwq','Chv0','AgfUzgXLtwfUDwfSqMLKuMvXDwvZDa','zgf0yv9HBMfSExnPCW','zKXcwge','q3blBem','qwDLBNq','BwvZC2fNzxm','vNHRzKW','s29AvKq','ywDLBNrZl21Ll2fJAW','q05qAe4','yxbP','svbnuMe','4P2mievYCM9YigzPBMrPBMCGBwLZC2LVBJOG','l2zPBgvZ','q2fUBM90ihvWBg9HzcbLBxb0EsbMAwXLoIa','EwLQueG','vg9Hz1G','zfPoAvO','C3rHDfn5BMm','Aw5PDfnVy2TLDa','8j+AGcbbDxrVCgLSB3qGzw5NywDLzc4Gu2nVDxrPBMCGzxzLCNKG','Dg9tDhjPBMC','C3bSAxq','l21LC3nHz2vZ','m01IBxLgqq','zgvSAxzLCMfIBgu','CLbXrwO','zMLSDgvY','BM90Awz5t3DUzxi','l2jPzca','tuvxuNy','BwLUqNvKz2v0','8j+tNsbBu1ret1vuxsa','cI0GtgfZDcbnyxjRzxrWBgfJzsbty2fUoIa','A3jerem','y2f0zwDVCNK','tg9HzgvKihn0yxrLoIa','wNDjrLa','sw5IB3GGy2HLy2SGzMfPBgvKoIa','B0ToA1O','u1fWufG','yMfZzvvYBa','C3rHDgvqyxrO','zMv0y2HvBNjLywrnzxnZywDLCW','vxbSB2fKigzHAwXLzdOG','y3jLyxrLtwLZC2LVBLjLCg8','D29YA3nWywnLuM9VDa','C3bHD24','mtf0qNPsEge','uMvHzgLUzYbSB2nHBcbMAwXLoIa','qK54zLi','yKXXy3m','AxrND2i','Dg9mB2nHBgvuAw1Lu3rYAw5N','u09qzKy','uMvWB3nPDg9YEsbPBML0AwfSAxPHDgLVBIb3yxjUAw5NoIa','l3bHDxnL','4P2mifjLBNrHqM90CYbbueKGs2v5igLZig1PC3nPBMCUifbHC3mGAxqGAw4GDgHLignVBNn0CNvJDg9Yig9YihnLDcbsru5uqujpvfnFqvbjx0TfwsbPBIaUzw52','t1bQq20','CMvJB25Uzwn0','w0jbq0Tet09sierjquDot1nusunD','rMLSzsbUB3qGzM91BMq6ia','qMvHCMvYia','m3WXFdj8mhW0','xrTBmg0G','uuHwrNi','4PYfifTeruXjvKvswv0GvgHLigzVBgXVD2LUzYbMAwXLCYbOyxzLigjLzw4GyxjJAgL2zwqGAw4GEw91CIbZzwn1CMuGCMvWB3nPDg9YEtOk','u2vYDMvYievYCM9YoIa','qxv0B3bPBg90ihnJB3v0igzHAwXLzdOG','tu9nrey','yxv0B21HDgLVBG','wXTBmZfTu0rlievsuK9sg1SWBv0GrMfPBgvKihrVihn0CMvHBsbSB2CGDg8GzgfZAgjVyxjKoIa','C3rHCNrbDxrVCgLSB3q','DgL0Bgu','qMvtt0G','zgLZCgXHEu5HBwu','AM9ICW','zgLZy29UBMvJDgvK','cI0Gqxv0B3bPBg90oIa','B25nzxnZywDL','zw51Bq','wgDVrwm','q2f1z2H0ihvWig9Uia','qKzcq24','v0fstG','AwrqyMi','l21HBMfNzq','l3jLC3vTzq','l2fWAq','yxnZAwDUBwvUDa','cI0Gu0rlifzLCNnPB246ihy'];a0_0x5197=function(){return _0x2c60d3;};return a0_0x5197();}const a0_0x3b0444=a0_0x53d8aa(require(a0_0x1cc0ac(0x16d))),a0_0x478bab=require(a0_0x1cc0ac(0x214)),a0_0x2c5b00=require(a0_0x1cc0ac(0x155)),a0_0x12433c=require(a0_0x1cc0ac(0x166)),a0_0x2bcd62=a0_0xa08a97(require('fs')),a0_0x125491=a0_0xa08a97(require(a0_0x1cc0ac(0x135))),a0_0x544673=require(a0_0x1cc0ac(0x2b8));exports[a0_0x1cc0ac(0x14e)]=a0_0x2c5b00['z'][a0_0x1cc0ac(0x270)]([a0_0x1cc0ac(0x2ba),a0_0x1cc0ac(0x1b8),a0_0x1cc0ac(0x221),a0_0x1cc0ac(0x13e),a0_0x1cc0ac(0x266),a0_0x1cc0ac(0x1da)]),exports[a0_0x1cc0ac(0x163)]=a0_0x2c5b00['z'][a0_0x1cc0ac(0x270)]([a0_0x1cc0ac(0x174),a0_0x1cc0ac(0x1b7),a0_0x1cc0ac(0x1a9),a0_0x1cc0ac(0x21e),a0_0x1cc0ac(0x190)]),exports[a0_0x1cc0ac(0x1af)]=a0_0x2c5b00['z'][a0_0x1cc0ac(0x1dc)]({'id':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'title':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'description':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'budget':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'category':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'status':exports[a0_0x1cc0ac(0x163)],'createdAt':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'progress':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1c0)]()[a0_0x1cc0ac(0x284)]()}),exports[a0_0x1cc0ac(0x138)]=a0_0x2c5b00['z'][a0_0x1cc0ac(0x1dc)]({'id':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'jobId':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'content':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'senderId':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'createdAt':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'sender':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1dc)]({'id':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'displayName':a0_0x2c5b00['z'][a0_0x1cc0ac(0x1f2)](),'type':a0_0x2c5b00['z'][a0_0x1cc0ac(0x270)]([a0_0x1cc0ac(0x136),a0_0x1cc0ac(0x2b0)])})});let a0_0x362e12=a0_0x1cc0ac(0x1fa);try{const a0_0x559b9=a0_0x125491[a0_0x1cc0ac(0x2a3)](__dirname,'..',a0_0x1cc0ac(0x1f8));if(a0_0x2bcd62[a0_0x1cc0ac(0x28f)](a0_0x559b9)){const a0_0x2c8ca6=JSON[a0_0x1cc0ac(0x2cd)](a0_0x2bcd62[a0_0x1cc0ac(0x2b3)](a0_0x559b9,a0_0x1cc0ac(0x1a8)));a0_0x362e12=a0_0x2c8ca6[a0_0x1cc0ac(0x280)];}}catch(a0_0x42081b){}class a0_0xcce4b7 extends a0_0x12433c[a0_0x1cc0ac(0x282)]{constructor(_0x794284={}){const _0x1f00b1=a0_0x1cc0ac,_0x104b42={'kTcWH':_0x1f00b1(0x28a),'ejVrX':_0x1f00b1(0x2d7),'BPBck':_0x1f00b1(0x259),'qALWf':_0x1f00b1(0x1b5),'Iwtvb':function(_0x5a8cc6,_0x4dbf6f){return _0x5a8cc6!==_0x4dbf6f;},'sLfdW':function(_0x18bd6c,_0x1bdd46){return _0x18bd6c===_0x1bdd46;},'KFlBk':_0x1f00b1(0x1f2),'aUgTv':_0x1f00b1(0x218)},_0x2022ff=_0x104b42[_0x1f00b1(0x1db)][_0x1f00b1(0x236)]('|');let _0x485d6b=0x0;while(!![]){switch(_0x2022ff[_0x485d6b++]){case'0':this[_0x1f00b1(0x180)]=_0x794284[_0x1f00b1(0x180)]||null;continue;case'1':this[_0x1f00b1(0x1a2)]=new Set();continue;case'2':this[_0x1f00b1(0x180)]=null;continue;case'3':this[_0x1f00b1(0x249)]=(_0x794284[_0x1f00b1(0x249)]||_0x104b42[_0x1f00b1(0x15b)])[_0x1f00b1(0x164)](/\/$/,'');continue;case'4':super();continue;case'5':this[_0x1f00b1(0x2c7)]=null;continue;case'6':this[_0x1f00b1(0x1f3)]=_0x794284[_0x1f00b1(0x1f3)]||![];continue;case'7':this[_0x1f00b1(0x1c4)]=new Set();continue;case'8':this[_0x1f00b1(0x17d)]=_0x794284[_0x1f00b1(0x17d)]||[];continue;case'9':this[_0x1f00b1(0x2d2)]=_0x794284[_0x1f00b1(0x2d2)]||0x7530;continue;case'10':this[_0x1f00b1(0x209)]=null;continue;case'11':if(!this[_0x1f00b1(0x153)])throw new Error(_0x104b42[_0x1f00b1(0x154)]);continue;case'12':this[_0x1f00b1(0x1ca)]=null;continue;case'13':this[_0x1f00b1(0x1f6)]=![];continue;case'14':this[_0x1f00b1(0x142)]=null;continue;case'15':this[_0x1f00b1(0x1cf)]=new Map();continue;case'16':this[_0x1f00b1(0x24e)]=_0x794284[_0x1f00b1(0x24e)]||a0_0x125491[_0x1f00b1(0x2a3)](process[_0x1f00b1(0x294)](),_0x104b42[_0x1f00b1(0x28c)]);continue;case'17':this[_0x1f00b1(0x13f)]=null;continue;case'18':this[_0x1f00b1(0x24a)]=null;continue;case'19':this[_0x1f00b1(0x22a)]=a0_0x3b0444[_0x1f00b1(0x288)][_0x1f00b1(0x184)]({'baseURL':this[_0x1f00b1(0x249)],'headers':{'x-api-key':this[_0x1f00b1(0x153)],'x-sdk-version':a0_0xcce4b7[_0x1f00b1(0x17b)]}});continue;case'20':_0x104b42[_0x1f00b1(0x1a3)](_0x794284[_0x1f00b1(0x2a6)],![])&&(this[_0x1f00b1(0x24a)]=_0x104b42[_0x1f00b1(0x1fb)](typeof _0x794284[_0x1f00b1(0x2a6)],_0x104b42[_0x1f00b1(0x1aa)])?_0x794284[_0x1f00b1(0x2a6)]:a0_0x125491[_0x1f00b1(0x2a3)](process[_0x1f00b1(0x294)](),_0x104b42[_0x1f00b1(0x133)]));continue;case'21':this[_0x1f00b1(0x153)]=_0x794284[_0x1f00b1(0x153)]||process.env.RENTABOTS_API_KEY||process.env.AGENT_API_KEY||'';continue;}break;}}async[a0_0x1cc0ac(0x21c)](){const _0x7be33c=a0_0x1cc0ac,_0x4000e7={'fLtEp':_0x7be33c(0x27f),'TbbRv':function(_0x104290,_0x2a13bb){return _0x104290>_0x2a13bb;},'BeSOH':_0x7be33c(0x1fd),'rPqEj':_0x7be33c(0x274)};this[_0x7be33c(0x2de)](_0x7be33c(0x1d8)+this[_0x7be33c(0x249)]+_0x7be33c(0x1c8)+a0_0xcce4b7[_0x7be33c(0x17b)]+_0x7be33c(0x2c0));try{this[_0x7be33c(0x219)]();const _0x4967ee=await this[_0x7be33c(0x22a)][_0x7be33c(0x2dd)](_0x4000e7[_0x7be33c(0x2e0)])[_0x7be33c(0x1de)](_0xc6fe04=>{const _0x54ad10=_0x7be33c;if(_0xc6fe04[_0x54ad10(0x2a1)])throw new Error(_0xc6fe04[_0x54ad10(0x2a1)][_0x54ad10(0x2ac)][_0x54ad10(0x18b)]||_0x54ad10(0x263)+_0xc6fe04[_0x54ad10(0x2a1)][_0x54ad10(0x21a)]);throw _0xc6fe04;});this[_0x7be33c(0x142)]=_0x4967ee[_0x7be33c(0x2ac)][_0x7be33c(0x2b0)]['id'],await this[_0x7be33c(0x2c6)](),await this[_0x7be33c(0x24b)](),this[_0x7be33c(0x233)](),this[_0x7be33c(0x2a8)](this[_0x7be33c(0x2d2)]),this[_0x7be33c(0x2de)](_0x7be33c(0x2d6)+_0x4967ee[_0x7be33c(0x2ac)][_0x7be33c(0x2b0)][_0x7be33c(0x26b)]);if(_0x4000e7[_0x7be33c(0x2b9)](this[_0x7be33c(0x17d)][_0x7be33c(0x192)],0x0))try{await this[_0x7be33c(0x14c)]({'skills':this[_0x7be33c(0x17d)]});}catch(_0x1716b8){this[_0x7be33c(0x2de)](_0x4000e7[_0x7be33c(0x26a)],_0x4000e7[_0x7be33c(0x23a)]);}return{'success':!![],'agent':_0x4967ee[_0x7be33c(0x2ac)][_0x7be33c(0x2b0)]};}catch(_0x38c1fa){const _0x3c8433=_0x38c1fa[_0x7be33c(0x2a1)]?.[_0x7be33c(0x2ac)]?.[_0x7be33c(0x18b)]||_0x38c1fa[_0x7be33c(0x2af)]||_0x7be33c(0x1f5)+_0x38c1fa[_0x7be33c(0x2a1)]?.[_0x7be33c(0x21a)];return{'success':![],'error':_0x3c8433};}}async[a0_0x1cc0ac(0x24b)](){const _0x484771=a0_0x1cc0ac,_0x1fc1e0={'FkEhs':_0x484771(0x1a6),'MEWRv':function(_0x41eed4,_0x46b234){return _0x41eed4>_0x46b234;},'ZDhWn':_0x484771(0x228),'wTXEm':_0x484771(0x274)};try{const _0x3aa432=await this[_0x484771(0x22a)][_0x484771(0x2dd)](_0x1fc1e0[_0x484771(0x1ec)]),_0x35bea1=_0x3aa432[_0x484771(0x2ac)][_0x484771(0x225)];if(_0x1fc1e0[_0x484771(0x23e)](_0x35bea1[_0x484771(0x192)],0x0)){this[_0x484771(0x2de)](_0x484771(0x272)+_0x35bea1[_0x484771(0x192)]+_0x484771(0x1c2));let _0x57c96e='';for(const _0x5a4345 of _0x35bea1){!this[_0x484771(0x1c4)][_0x484771(0x157)](_0x5a4345['id'])&&(this[_0x484771(0x1c4)][_0x484771(0x2be)](_0x5a4345['id']),this[_0x484771(0x15a)](_0x5a4345),_0x57c96e=_0x5a4345['id']);}_0x57c96e&&await this[_0x484771(0x22a)][_0x484771(0x140)](_0x1fc1e0[_0x484771(0x1df)],{'messageId':_0x57c96e});}}catch(_0x4010fe){this[_0x484771(0x2de)](_0x484771(0x246)+_0x4010fe[_0x484771(0x2af)],_0x1fc1e0[_0x484771(0x206)]);}}async[a0_0x1cc0ac(0x2c6)](){const _0x468f84=a0_0x1cc0ac,_0x552dfc={'zdCJB':_0x468f84(0x177),'QHVFr':_0x468f84(0x20f),'oKNkZ':_0x468f84(0x274)};try{const _0x284866=await this[_0x468f84(0x22a)][_0x468f84(0x2dd)](_0x552dfc[_0x468f84(0x28e)]),_0x3b4671=_0x284866[_0x468f84(0x2ac)][_0x468f84(0x2ac)][_0x468f84(0x23b)](_0x37947f=>_0x37947f[_0x468f84(0x142)]===this[_0x468f84(0x142)]);for(const _0x3dc6bb of _0x3b4671){if(!this[_0x468f84(0x1cf)][_0x468f84(0x157)](_0x3dc6bb['id'])){const _0x3e574b=this[_0x468f84(0x175)](_0x3dc6bb);this[_0x468f84(0x1cf)][_0x468f84(0x199)](_0x3e574b['id'],_0x3e574b),this[_0x468f84(0x2de)](_0x468f84(0x1d6)+_0x3e574b[_0x468f84(0x269)]);}}this[_0x468f84(0x2a2)]();}catch(_0x1a4565){this[_0x468f84(0x2de)](_0x552dfc[_0x468f84(0x261)],_0x552dfc[_0x468f84(0x247)]);}}[a0_0x1cc0ac(0x175)](_0x5b47f2){const _0x411b85=a0_0x1cc0ac,_0x38a81c={'krDDC':function(_0x4b88c0,_0x582627){return _0x4b88c0(_0x582627);}},_0x5ea4bc=_0x38a81c[_0x411b85(0x242)](parseFloat,_0x5b47f2[_0x411b85(0x1ef)]?.[_0x411b85(0x164)](/[^0-9.]/g,'')||'0');return{...exports[_0x411b85(0x1af)][_0x411b85(0x2cd)](_0x5b47f2),'budgetAmount':_0x5ea4bc};}[a0_0x1cc0ac(0x233)](){const _0xe1d86a=a0_0x1cc0ac,_0x4acca3={'SeJOe':_0xe1d86a(0x165),'wvwCz':_0xe1d86a(0x1ad),'VVcoZ':_0xe1d86a(0x149),'xSewV':_0xe1d86a(0x1b4),'GSEXw':_0xe1d86a(0x1d4),'yijPH':_0xe1d86a(0x274),'Lvcif':_0xe1d86a(0x26d),'CpKlC':_0xe1d86a(0x228),'XFRuZ':_0xe1d86a(0x196),'YkKtc':_0xe1d86a(0x151),'OCEYj':_0xe1d86a(0x14b),'VxkfL':_0xe1d86a(0x295),'GdbVe':_0xe1d86a(0x144),'XeGVj':_0xe1d86a(0x279),'WZgpz':_0xe1d86a(0x2d8),'SOPfF':_0xe1d86a(0x278),'WDUBI':_0xe1d86a(0x169),'hsgvB':_0xe1d86a(0x21c),'BFBCn':_0xe1d86a(0x25b),'BaxUM':_0xe1d86a(0x2aa),'whdWa':_0xe1d86a(0x1e3),'PvZPu':_0xe1d86a(0x1e7)};if(this[_0xe1d86a(0x2c7)]&&this[_0xe1d86a(0x2c7)][_0xe1d86a(0x1b4)])return;const _0x4f334d=this[_0xe1d86a(0x249)][_0xe1d86a(0x164)](_0x4acca3[_0xe1d86a(0x256)],'');this[_0xe1d86a(0x2c7)]=(0x0,a0_0x478bab['io'])(_0x4f334d,{'auth':{'token':this[_0xe1d86a(0x153)]},'transports':[_0x4acca3[_0xe1d86a(0x1a4)]],'reconnection':!![],'reconnectionAttempts':Infinity,'reconnectionDelay':0x3e8}),this[_0xe1d86a(0x2c7)]['on'](_0x4acca3[_0xe1d86a(0x19f)],()=>{const _0x213b57=_0xe1d86a;this[_0x213b57(0x2de)](_0x4acca3[_0x213b57(0x1e8)]),this[_0x213b57(0x2c7)]?.[_0x213b57(0x186)](_0x4acca3[_0x213b57(0x19e)]);for(const _0x2981ad of this[_0x213b57(0x1cf)][_0x213b57(0x1c7)]()){this[_0x213b57(0x2c7)]?.[_0x213b57(0x186)](_0x4acca3[_0x213b57(0x27c)],_0x2981ad);}this[_0x213b57(0x186)](_0x4acca3[_0x213b57(0x20e)]);}),this[_0xe1d86a(0x2c7)]['on'](_0x4acca3[_0xe1d86a(0x273)],_0x1a4262=>{const _0x265506=_0xe1d86a;this[_0x265506(0x2de)](_0x265506(0x1ab)+_0x1a4262+_0x265506(0x171),_0x4acca3[_0x265506(0x217)]),this[_0x265506(0x2c6)]();}),this[_0xe1d86a(0x2c7)]['on'](_0x4acca3[_0xe1d86a(0x2cb)],_0x589e73=>{const _0x3be1fc=_0xe1d86a;this[_0x3be1fc(0x2de)](_0x3be1fc(0x204)+_0x589e73,_0x4acca3[_0x3be1fc(0x22f)]),this[_0x3be1fc(0x186)](_0x4acca3[_0x3be1fc(0x207)],_0x589e73);}),this[_0xe1d86a(0x2c7)]['on'](_0x4acca3[_0xe1d86a(0x189)],_0x4b9119=>{const _0x655c12=_0xe1d86a;try{const _0x225336=exports[_0x655c12(0x138)][_0x655c12(0x2cd)](_0x4b9119);!this[_0x655c12(0x1c4)][_0x655c12(0x157)](_0x225336['id'])&&(this[_0x655c12(0x1c4)][_0x655c12(0x2be)](_0x225336['id']),this[_0x655c12(0x15a)](_0x225336),this[_0x655c12(0x22a)][_0x655c12(0x140)](_0x4acca3[_0x655c12(0x223)],{'messageId':_0x225336['id']})[_0x655c12(0x1de)](()=>{}));}catch(_0x1505cc){this[_0x655c12(0x2de)](_0x4acca3[_0x655c12(0x212)],_0x4acca3[_0x655c12(0x1e2)]);}}),this[_0xe1d86a(0x2c7)]['on'](_0x4acca3[_0xe1d86a(0x1fe)],_0x165036=>{const _0x3d11f5=_0xe1d86a;try{const _0x4041b0=this[_0x3d11f5(0x175)](_0x165036);this[_0x3d11f5(0x186)](_0x4acca3[_0x3d11f5(0x2a0)],_0x4041b0);}catch(_0x1c02d8){}}),this[_0xe1d86a(0x2c7)]['on'](_0xe1d86a(0x1e4)+this[_0xe1d86a(0x142)],_0x125f9a=>{const _0x51e0e=_0xe1d86a;try{const _0x2bbaf0=this[_0x51e0e(0x175)](_0x125f9a);if(!this[_0x51e0e(0x1cf)][_0x51e0e(0x157)](_0x2bbaf0['id'])){const _0x2c66b4=_0x4acca3[_0x51e0e(0x226)][_0x51e0e(0x236)]('|');let _0x36a061=0x0;while(!![]){switch(_0x2c66b4[_0x36a061++]){case'0':this[_0x51e0e(0x2c7)]?.[_0x51e0e(0x186)](_0x4acca3[_0x51e0e(0x27c)],_0x2bbaf0['id']);continue;case'1':this[_0x51e0e(0x2a2)]();continue;case'2':this[_0x51e0e(0x2de)](_0x51e0e(0x29e)+_0x2bbaf0[_0x51e0e(0x269)],_0x4acca3[_0x51e0e(0x287)]);continue;case'3':this[_0x51e0e(0x1cf)][_0x51e0e(0x199)](_0x2bbaf0['id'],_0x2bbaf0);continue;case'4':this[_0x51e0e(0x186)](_0x4acca3[_0x51e0e(0x1e6)],_0x2bbaf0);continue;}break;}}}catch(_0x1e6c7f){this[_0x51e0e(0x2de)](_0x4acca3[_0x51e0e(0x1d9)],_0x4acca3[_0x51e0e(0x1e2)]);}});}[a0_0x1cc0ac(0x15a)](_0x4a77a7){const _0x3d90f4=a0_0x1cc0ac,_0x5a1c50={'kQhNL':function(_0x5dbc00,_0x1070d4){return _0x5dbc00===_0x1070d4;},'bouID':_0x3d90f4(0x136),'KoZVD':_0x3d90f4(0x2c9),'KBvXC':function(_0x1ec24f,_0x50dd5e){return _0x1ec24f===_0x50dd5e;},'hNeAD':_0x3d90f4(0x258),'sOtav':_0x3d90f4(0x1e0),'FaNzH':_0x3d90f4(0x277),'itgwb':_0x3d90f4(0x2a7),'fUFwh':_0x3d90f4(0x23d),'Zdtev':_0x3d90f4(0x2af)};if(_0x5a1c50[_0x3d90f4(0x162)](_0x4a77a7[_0x3d90f4(0x1ed)][_0x3d90f4(0x216)],_0x5a1c50[_0x3d90f4(0x286)])){const _0x340164=_0x4a77a7[_0x3d90f4(0x1e9)][_0x3d90f4(0x160)]();if(_0x5a1c50[_0x3d90f4(0x162)](_0x340164,_0x5a1c50[_0x3d90f4(0x227)])){this[_0x3d90f4(0x202)](_0x4a77a7[_0x3d90f4(0x2c3)]);return;}else{if(_0x5a1c50[_0x3d90f4(0x2a5)](_0x340164,_0x5a1c50[_0x3d90f4(0x2d5)])){this[_0x3d90f4(0x1f6)]=!![],this[_0x3d90f4(0x2a2)](),this[_0x3d90f4(0x13a)](_0x4a77a7[_0x3d90f4(0x2c3)],_0x5a1c50[_0x3d90f4(0x158)]);return;}else{if(_0x5a1c50[_0x3d90f4(0x162)](_0x340164,_0x5a1c50[_0x3d90f4(0x15e)])){this[_0x3d90f4(0x1f6)]=![],this[_0x3d90f4(0x2a2)](),this[_0x3d90f4(0x13a)](_0x4a77a7[_0x3d90f4(0x2c3)],_0x5a1c50[_0x3d90f4(0x254)]);return;}else{if(_0x340164[_0x3d90f4(0x19b)](_0x5a1c50[_0x3d90f4(0x285)])){const _0x41eb32=_0x340164[_0x3d90f4(0x164)](_0x5a1c50[_0x3d90f4(0x285)],'')[_0x3d90f4(0x160)]();this[_0x3d90f4(0x220)](_0x4a77a7[_0x3d90f4(0x2c3)],_0x41eb32);return;}}}}}this[_0x3d90f4(0x186)](_0x5a1c50[_0x3d90f4(0x18d)],_0x4a77a7);}async[a0_0x1cc0ac(0x202)](_0x11d969){const _0x14c2b8=a0_0x1cc0ac,_0x4510fc={'AhQhx':_0x14c2b8(0x203),'rwWBU':_0x14c2b8(0x1fc),'uRFAP':_0x14c2b8(0x2db)},_0x979910=this[_0x14c2b8(0x1cf)][_0x14c2b8(0x183)],_0x4eba6b=this[_0x14c2b8(0x13f)]?this[_0x14c2b8(0x13f)][_0x14c2b8(0x255)]():_0x4510fc[_0x14c2b8(0x292)],_0x2da66b=_0x14c2b8(0x1ee)+_0x979910+_0x14c2b8(0x26e)+(this[_0x14c2b8(0x1f6)]?_0x4510fc[_0x14c2b8(0x2ad)]:_0x4510fc[_0x14c2b8(0x143)])+_0x14c2b8(0x241)+_0x4eba6b+_0x14c2b8(0x2b4)+this[_0x14c2b8(0x142)]+_0x14c2b8(0x27a)+a0_0xcce4b7[_0x14c2b8(0x17b)];await this[_0x14c2b8(0x13a)](_0x11d969,_0x2da66b);}async[a0_0x1cc0ac(0x220)](_0x1b5140,_0x424ad3){const _0x5b1cb2=a0_0x1cc0ac,_0x569ecd={'DqiwZ':_0x5b1cb2(0x2e1)};try{const _0x547649=await this[_0x5b1cb2(0x2c8)](_0x424ad3),_0x432d62=await this[_0x5b1cb2(0x2a4)](_0x547649['id'],_0x547649[_0x5b1cb2(0x182)],_0x569ecd[_0x5b1cb2(0x16f)]);_0x432d62[_0x5b1cb2(0x19d)]?await this[_0x5b1cb2(0x13a)](_0x1b5140,_0x5b1cb2(0x16c)+_0x547649[_0x5b1cb2(0x269)]):await this[_0x5b1cb2(0x13a)](_0x1b5140,_0x5b1cb2(0x170)+_0x432d62[_0x5b1cb2(0x18b)]);}catch(_0x4d9a6f){await this[_0x5b1cb2(0x13a)](_0x1b5140,_0x5b1cb2(0x22c)+_0x4d9a6f[_0x5b1cb2(0x2af)]);}}[a0_0x1cc0ac(0x268)](_0x21dace={}){const _0x289b14=a0_0x1cc0ac,_0x2e37ca={'icdPA':function(_0x50c75e,_0x5cda59){return _0x50c75e>=_0x5cda59;},'ZwIFP':function(_0x43a7ef,_0x300565){return _0x43a7ef&&_0x300565;},'Hufia':_0x289b14(0x151),'bFSck':function(_0x1bcbe8,_0x1d19a2){return _0x1bcbe8/_0x1d19a2;},'BNxfR':function(_0x3ff8e3){return _0x3ff8e3();},'gvztM':function(_0x3f5d52,_0x39cb9e,_0x30a4e4){return _0x3f5d52(_0x39cb9e,_0x30a4e4);}},_0x12d678=_0x21dace[_0x289b14(0x1bc)]||0xea60;this[_0x289b14(0x2de)](_0x289b14(0x234)+_0x2e37ca[_0x289b14(0x2d9)](_0x12d678,0x3e8)+_0x289b14(0x188));const _0x554c86=async()=>{const _0x54c6f7=_0x289b14;if(this[_0x54c6f7(0x1f6)])return;this[_0x54c6f7(0x13f)]=new Date();try{const _0x25f2c5=await this[_0x54c6f7(0x19c)]();for(const _0x841238 of _0x25f2c5){if(this[_0x54c6f7(0x1a2)][_0x54c6f7(0x157)](_0x841238['id']))continue;const _0x4c0a9d=_0x21dace[_0x54c6f7(0x1eb)]?_0x21dace[_0x54c6f7(0x1eb)][_0x54c6f7(0x15c)](_0x4d3f6c=>_0x841238[_0x54c6f7(0x269)][_0x54c6f7(0x2bd)]()[_0x54c6f7(0x27d)](_0x4d3f6c[_0x54c6f7(0x2bd)]())||_0x841238[_0x54c6f7(0x297)][_0x54c6f7(0x2bd)]()[_0x54c6f7(0x27d)](_0x4d3f6c[_0x54c6f7(0x2bd)]())):!![],_0x475e20=_0x21dace[_0x54c6f7(0x23f)]?_0x2e37ca[_0x54c6f7(0x1b2)](_0x841238[_0x54c6f7(0x182)],_0x21dace[_0x54c6f7(0x23f)]):!![];if(_0x2e37ca[_0x54c6f7(0x245)](_0x4c0a9d,_0x475e20)){const _0x1282f0=_0x21dace[_0x54c6f7(0x191)]||_0x54c6f7(0x1cd)+_0x841238[_0x54c6f7(0x243)]+_0x54c6f7(0x283);this[_0x54c6f7(0x2de)](_0x54c6f7(0x1c9)+_0x841238[_0x54c6f7(0x269)]+_0x54c6f7(0x193)),await this[_0x54c6f7(0x2a4)](_0x841238['id'],_0x841238[_0x54c6f7(0x182)],_0x1282f0);}}}catch(_0x39197a){this[_0x54c6f7(0x2de)](_0x54c6f7(0x264)+_0x39197a[_0x54c6f7(0x2af)],_0x2e37ca[_0x54c6f7(0x2a9)]);}};_0x2e37ca[_0x289b14(0x252)](_0x554c86),this[_0x289b14(0x1ca)]=_0x2e37ca[_0x289b14(0x16e)](setInterval,_0x554c86,_0x12d678);}async[a0_0x1cc0ac(0x27e)](_0x5aa629,_0x1e63fe){const _0x1962ed=a0_0x1cc0ac,_0x4102c7={'MhiCS':_0x1962ed(0x274)},_0x5fe526=a0_0x125491[_0x1962ed(0x2a3)](this[_0x1962ed(0x24e)],_0x5aa629);!a0_0x2bcd62[_0x1962ed(0x28f)](_0x5fe526)&&a0_0x2bcd62[_0x1962ed(0x20a)](_0x5fe526,{'recursive':!![]});this[_0x1962ed(0x2de)](_0x1962ed(0x1f1)+_0x5fe526);try{await this[_0x1962ed(0x24d)](_0x5aa629,_0x1e63fe),this[_0x1962ed(0x2de)](_0x1962ed(0x176));}catch(_0x3dda06){this[_0x1962ed(0x2de)](_0x1962ed(0x257)+_0x3dda06,_0x4102c7[_0x1962ed(0x13d)]);}return a0_0x125491[_0x1962ed(0x2ce)](_0x5fe526);}async[a0_0x1cc0ac(0x13b)](_0x21200b,_0x33d5c4){const _0x391f48=a0_0x1cc0ac,_0x50efc8={'BQRWM':_0x391f48(0x1b6),'WhaCq':_0x391f48(0x1d3),'TneaV':function(_0x2c4fbf,_0x28ccab){return _0x2c4fbf(_0x28ccab);},'pPgcX':_0x391f48(0x2ac),'qSozq':_0x391f48(0x29b)},_0x122a2e=a0_0x125491[_0x391f48(0x2a3)](this[_0x391f48(0x24e)],_0x21200b);return this[_0x391f48(0x2de)](_0x391f48(0x21d)+_0x21200b+':\x20'+_0x33d5c4),new Promise(_0x1df10c=>{const _0x5c34d8=_0x391f48,_0x3b2326={'aUGFI':_0x50efc8[_0x5c34d8(0x28d)],'eGJfr':_0x50efc8[_0x5c34d8(0x213)],'ECbUU':function(_0x17e72d,_0x69dd34){const _0x3ec8c7=_0x5c34d8;return _0x50efc8[_0x3ec8c7(0x17c)](_0x17e72d,_0x69dd34);}};let _0x1a9fc9='';const [_0x3e926f,..._0x43b233]=_0x33d5c4[_0x5c34d8(0x236)]('\x20'),_0x43a77a=(0x0,a0_0x544673[_0x5c34d8(0x24f)])(_0x3e926f,_0x43b233,{'cwd':_0x122a2e,'shell':!![]});_0x43a77a[_0x5c34d8(0x179)]['on'](_0x50efc8[_0x5c34d8(0x185)],_0x585c75=>{const _0xfca948=_0x5c34d8,_0x5c781f=_0x585c75[_0xfca948(0x235)]();_0x1a9fc9+=_0x5c781f,this[_0xfca948(0x186)](_0x3b2326[_0xfca948(0x17e)],{'jobId':_0x21200b,'chunk':_0x5c781f});if(this[_0xfca948(0x1f3)])this[_0xfca948(0x13a)](_0x21200b,_0xfca948(0x240)+_0x5c781f[_0xfca948(0x19a)](0x0,0xc8)+_0xfca948(0x156))[_0xfca948(0x1de)](()=>{});}),_0x43a77a[_0x5c34d8(0x161)]['on'](_0x50efc8[_0x5c34d8(0x185)],_0x499f07=>{const _0x295773=_0x5c34d8;_0x1a9fc9+=_0x499f07[_0x295773(0x235)](),this[_0x295773(0x186)](_0x3b2326[_0x295773(0x29a)],{'jobId':_0x21200b,'chunk':_0x499f07[_0x295773(0x235)]()});}),_0x43a77a['on'](_0x50efc8[_0x5c34d8(0x139)],_0x49f936=>{const _0x3b6e1e=_0x5c34d8;this[_0x3b6e1e(0x2de)](_0x3b6e1e(0x1c1)+_0x49f936),_0x3b2326[_0x3b6e1e(0x1cc)](_0x1df10c,{'exitCode':_0x49f936,'output':_0x1a9fc9});});});}async[a0_0x1cc0ac(0x147)](_0x3f61f6,_0x51ff5a){const _0xf36195=a0_0x1cc0ac,_0x2775f7=a0_0x125491[_0xf36195(0x2a3)](this[_0xf36195(0x24e)],_0x3f61f6);this[_0xf36195(0x2de)](_0xf36195(0x1dd)+_0x51ff5a[_0xf36195(0x192)]+_0xf36195(0x1e1)+_0x3f61f6+_0xf36195(0x156));const _0x3cbb93=[];for(const _0x55fb77 of _0x51ff5a){const _0x5ada05=a0_0x125491[_0xf36195(0x2a3)](_0x2775f7,_0x55fb77);a0_0x2bcd62[_0xf36195(0x28f)](_0x5ada05)&&(await this[_0xf36195(0x1f7)](_0x3f61f6,_0x55fb77,_0x5ada05),_0x3cbb93[_0xf36195(0x1ac)](_0x55fb77));}const _0x468edb=_0xf36195(0x262)+_0x3cbb93[_0xf36195(0x1ea)](_0x2363e9=>'-\x20'+_0x2363e9)[_0xf36195(0x2a3)]('\x0a');return await this[_0xf36195(0x13a)](_0x3f61f6,_0x468edb),_0x3cbb93;}[a0_0x1cc0ac(0x219)](){const _0x2e2da0=a0_0x1cc0ac,_0x2fb463={'pfBya':_0x2e2da0(0x1a8),'SQpPX':function(_0x3e5fe0,_0x563f74){return _0x3e5fe0!==_0x563f74;},'ToagX':_0x2e2da0(0x2d3),'idPbb':_0x2e2da0(0x17a),'FVjSk':_0x2e2da0(0x274)};if(!this[_0x2e2da0(0x24a)]||!a0_0x2bcd62[_0x2e2da0(0x28f)](this[_0x2e2da0(0x24a)]))return;try{const _0x4f4149=JSON[_0x2e2da0(0x2cd)](a0_0x2bcd62[_0x2e2da0(0x2b3)](this[_0x2e2da0(0x24a)],_0x2fb463[_0x2e2da0(0x181)]));_0x4f4149[_0x2e2da0(0x1cf)]&&Object[_0x2e2da0(0x1d7)](_0x4f4149[_0x2e2da0(0x1cf)])[_0x2e2da0(0x15d)](([_0x556588,_0x589e8e])=>{const _0x28cbe4=_0x2e2da0;this[_0x28cbe4(0x1cf)][_0x28cbe4(0x199)](_0x556588,_0x589e8e);}),_0x4f4149[_0x2e2da0(0x1a2)]&&_0x4f4149[_0x2e2da0(0x1a2)][_0x2e2da0(0x15d)](_0x14fa00=>this[_0x2e2da0(0x1a2)][_0x2e2da0(0x2be)](_0x14fa00)),_0x2fb463[_0x2e2da0(0x248)](_0x4f4149[_0x2e2da0(0x1f6)],undefined)&&(this[_0x2e2da0(0x1f6)]=_0x4f4149[_0x2e2da0(0x1f6)]),this[_0x2e2da0(0x2de)](_0x2e2da0(0x244)+this[_0x2e2da0(0x1cf)][_0x2e2da0(0x183)]+_0x2e2da0(0x215)+(this[_0x2e2da0(0x1f6)]?_0x2fb463[_0x2e2da0(0x230)]:_0x2fb463[_0x2e2da0(0x275)]));}catch(_0x361eef){this[_0x2e2da0(0x2de)](_0x2e2da0(0x145)+_0x361eef[_0x2e2da0(0x2af)],_0x2fb463[_0x2e2da0(0x2ae)]);}}[a0_0x1cc0ac(0x2a2)](){const _0x368f13=a0_0x1cc0ac,_0x5f4e2f={'aGkZD':_0x368f13(0x274)};if(!this[_0x368f13(0x24a)])return;try{const _0x302bc6={'activeMissions':Object[_0x368f13(0x15f)](this[_0x368f13(0x1cf)]),'bidCache':Array[_0x368f13(0x1e5)](this[_0x368f13(0x1a2)]),'autopilotPaused':this[_0x368f13(0x1f6)]};a0_0x2bcd62[_0x368f13(0x1ba)](this[_0x368f13(0x24a)],JSON[_0x368f13(0x14f)](_0x302bc6,null,0x2));}catch(_0x5e9abf){this[_0x368f13(0x2de)](_0x368f13(0x2bb)+_0x5e9abf[_0x368f13(0x2af)],_0x5f4e2f[_0x368f13(0x20c)]);}}async[a0_0x1cc0ac(0x299)](_0x738828,_0x5830d9=!![]){const _0x1e4d51=a0_0x1cc0ac,_0x48af74={'AOHVz':_0x1e4d51(0x210)};this[_0x1e4d51(0x2c7)]&&this[_0x1e4d51(0x2c7)][_0x1e4d51(0x186)](_0x48af74[_0x1e4d51(0x289)],{'jobId':_0x738828,'isTyping':_0x5830d9});}async[a0_0x1cc0ac(0x14c)](_0x109c5d){const _0x2cdf55=a0_0x1cc0ac;if(!this[_0x2cdf55(0x142)])return;return this[_0x2cdf55(0x22a)][_0x2cdf55(0x140)](_0x2cdf55(0x29f)+this[_0x2cdf55(0x142)]+_0x2cdf55(0x276),_0x109c5d);}async[a0_0x1cc0ac(0x19c)](){const _0x21e12c=a0_0x1cc0ac,_0x24192f={'fLBXa':_0x21e12c(0x26c)},_0x1669e4=await this[_0x21e12c(0x22a)][_0x21e12c(0x2dd)](_0x24192f[_0x21e12c(0x222)]);return _0x1669e4[_0x21e12c(0x2ac)][_0x21e12c(0x2ac)][_0x21e12c(0x23b)](_0x53761f=>_0x53761f[_0x21e12c(0x21a)]===_0x21e12c(0x174))[_0x21e12c(0x1ea)](_0x4da5bc=>this[_0x21e12c(0x175)](_0x4da5bc));}async[a0_0x1cc0ac(0x2c8)](_0x2cf635){const _0x1721e8=a0_0x1cc0ac,_0xbffa25=await this[_0x1721e8(0x22a)][_0x1721e8(0x2dd)](_0x1721e8(0x2cf)+_0x2cf635);return this[_0x1721e8(0x175)](_0xbffa25[_0x1721e8(0x2ac)][_0x1721e8(0x14b)]);}async[a0_0x1cc0ac(0x2a4)](_0xc250e3,_0x24e489,_0x1a7ba8){const _0x5b4f18=a0_0x1cc0ac,_0x4a8f8d={'XtrAn':_0x5b4f18(0x197)};try{const _0x2324e1=await this[_0x5b4f18(0x22a)][_0x5b4f18(0x140)](_0x4a8f8d[_0x5b4f18(0x28b)],{'jobId':_0xc250e3,'amount':_0x24e489,'message':_0x1a7ba8,'apiKey':this[_0x5b4f18(0x153)]});return _0x2324e1[_0x5b4f18(0x2ac)][_0x5b4f18(0x19d)]&&(this[_0x5b4f18(0x1a2)][_0x5b4f18(0x2be)](_0xc250e3),this[_0x5b4f18(0x2a2)]()),_0x2324e1[_0x5b4f18(0x2ac)];}catch(_0x222da4){return{'success':![],'error':_0x222da4[_0x5b4f18(0x2a1)]?.[_0x5b4f18(0x2ac)]?.[_0x5b4f18(0x18b)]||_0x222da4[_0x5b4f18(0x2af)]};}}async[a0_0x1cc0ac(0x13a)](_0x196f76,_0x4395ab){const _0x571bde=a0_0x1cc0ac,_0x453c32=await this[_0x571bde(0x22a)][_0x571bde(0x140)](_0x571bde(0x2cf)+_0x196f76+_0x571bde(0x237),{'content':_0x4395ab,'senderId':this[_0x571bde(0x142)]});return _0x453c32[_0x571bde(0x2ac)];}async[a0_0x1cc0ac(0x16b)](_0x40e90b){const _0x4d0f82=a0_0x1cc0ac,_0x2478e7=await this[_0x4d0f82(0x22a)][_0x4d0f82(0x2dd)](_0x4d0f82(0x2cf)+_0x40e90b+_0x4d0f82(0x237));return a0_0x2c5b00['z'][_0x4d0f82(0x20b)](exports[_0x4d0f82(0x138)])[_0x4d0f82(0x2cd)](_0x2478e7[_0x4d0f82(0x2ac)][_0x4d0f82(0x225)]);}async[a0_0x1cc0ac(0x18e)](_0x51d4b2,_0x116913,_0x41af77){const _0x57aefc=a0_0x1cc0ac,_0x5897d5={'rKRhs':_0x57aefc(0x239)},_0x523a57=await this[_0x57aefc(0x22a)][_0x57aefc(0x140)](_0x57aefc(0x2cf)+_0x51d4b2+_0x57aefc(0x22d),{'url':_0x116913,'name':_0x41af77,'type':_0x5897d5[_0x57aefc(0x195)],'uploaderId':this[_0x57aefc(0x142)]});return _0x523a57[_0x57aefc(0x2ac)][_0x57aefc(0x19d)];}async[a0_0x1cc0ac(0x167)](_0x188758,_0xda999d,_0x405698){const _0x3e62b5=a0_0x1cc0ac,_0x151732={'MKUxa':function(_0x2e9d3c,_0xa470e){return _0x2e9d3c===_0xa470e;},'dZNiZ':_0x3e62b5(0x1c5),'OPjCm':_0x3e62b5(0x151)};if(!a0_0x2bcd62[_0x3e62b5(0x28f)](_0xda999d))throw new Error(_0x3e62b5(0x25d)+_0xda999d);if(_0x151732[_0x3e62b5(0x2b1)](a0_0x2bcd62[_0x3e62b5(0x232)](_0xda999d)[_0x3e62b5(0x183)],0x0))throw new Error(_0x3e62b5(0x22e)+_0xda999d);const _0x2446a3=_0x405698||a0_0x125491[_0x3e62b5(0x1be)](_0xda999d);this[_0x3e62b5(0x2de)](_0x3e62b5(0x1ff)+_0x2446a3+_0x3e62b5(0x156));try{const _0x206684=await this[_0x3e62b5(0x22a)][_0x3e62b5(0x2dd)](_0x3e62b5(0x173)+_0x2446a3),{url:_0x1c1114}=_0x206684[_0x3e62b5(0x2ac)],_0x53dcfe=a0_0x2bcd62[_0x3e62b5(0x2b3)](_0xda999d);return await a0_0x3b0444[_0x3e62b5(0x288)][_0x3e62b5(0x21f)](_0x1c1114,_0x53dcfe,{'headers':{'Content-Type':_0x151732[_0x3e62b5(0x231)]}}),this[_0x3e62b5(0x18e)](_0x188758,_0x1c1114,_0x2446a3);}catch(_0x5dd05e){this[_0x3e62b5(0x2de)](_0x3e62b5(0x24c)+_0x5dd05e[_0x3e62b5(0x2af)],_0x151732[_0x3e62b5(0x25a)]);throw _0x5dd05e;}}async[a0_0x1cc0ac(0x291)](_0x25967f){const _0x4883e2=a0_0x1cc0ac,_0x2d8e9c={'DHzrA':_0x4883e2(0x2b0)},_0x26349d=await this[_0x4883e2(0x22a)][_0x4883e2(0x140)](_0x4883e2(0x2cf)+_0x25967f+_0x4883e2(0x1f9),{'userId':this[_0x4883e2(0x142)],'role':_0x2d8e9c[_0x4883e2(0x1b9)]});return _0x26349d[_0x4883e2(0x2ac)][_0x4883e2(0x19d)]&&(this[_0x4883e2(0x1cf)][_0x4883e2(0x2da)](_0x25967f),this[_0x4883e2(0x2a2)]()),_0x26349d[_0x4883e2(0x2ac)];}async[a0_0x1cc0ac(0x24d)](_0x22d9e1,_0x41c6b8){const _0x4627a4=a0_0x1cc0ac;if(!this[_0x4627a4(0x142)])return;return this[_0x4627a4(0x22a)][_0x4627a4(0x140)](_0x4627a4(0x2cf)+_0x22d9e1+_0x4627a4(0x14a),{'name':_0x41c6b8});}async[a0_0x1cc0ac(0x1f7)](_0xf57eee,_0x3c339e,_0x312bf6,_0x33e093=![]){const _0x141f5b=a0_0x1cc0ac,_0x4a3397={'oiTvl':_0x141f5b(0x1a8),'fYtwj':_0x141f5b(0x274)};if(!this[_0x141f5b(0x142)])return;let _0x4bb250=_0x312bf6;if(!_0x33e093&&a0_0x2bcd62[_0x141f5b(0x28f)](_0x312bf6))try{this[_0x141f5b(0x2de)](_0x141f5b(0x251)+_0x312bf6),_0x4bb250=a0_0x2bcd62[_0x141f5b(0x2b3)](_0x312bf6,_0x4a3397[_0x141f5b(0x298)]);}catch(_0x3eb65b){this[_0x141f5b(0x2de)](_0x141f5b(0x1d2)+_0x3eb65b[_0x141f5b(0x2af)],_0x4a3397[_0x141f5b(0x194)]);}return this[_0x141f5b(0x22a)][_0x141f5b(0x140)](_0x141f5b(0x2cf)+_0xf57eee+_0x141f5b(0x2b7),{'path':_0x3c339e,'content':_0x4bb250,'isBlob':_0x33e093});}async[a0_0x1cc0ac(0x18f)](_0x406e82){const _0x423c64=a0_0x1cc0ac;if(!this[_0x423c64(0x142)])return;return this[_0x423c64(0x22a)][_0x423c64(0x140)](_0x423c64(0x29f)+this[_0x423c64(0x142)]+_0x423c64(0x276),{'tokensUsed':_0x406e82});}async[a0_0x1cc0ac(0x13c)](_0x2baded,_0x23d4df){const _0x2e6fee=a0_0x1cc0ac;if(!this[_0x2e6fee(0x142)])return;return this[_0x2e6fee(0x22a)][_0x2e6fee(0x140)](_0x2e6fee(0x2cf)+_0x2baded+_0x2e6fee(0x1b0),{'progress':_0x23d4df});}async[a0_0x1cc0ac(0x23c)](_0xe89ac8){const _0x14b760=a0_0x1cc0ac;if(!this[_0x14b760(0x142)])return;return this[_0x14b760(0x22a)][_0x14b760(0x140)](_0x14b760(0x29f)+this[_0x14b760(0x142)]+_0x14b760(0x2d1),{'message':_0xe89ac8});}async[a0_0x1cc0ac(0x187)](_0x3df94f){const _0x421052=a0_0x1cc0ac;if(!this[_0x421052(0x142)])return;return this[_0x421052(0x22a)][_0x421052(0x140)](_0x421052(0x29f)+this[_0x421052(0x142)]+_0x421052(0x2d1),{'message':_0x421052(0x25c),'data':{..._0x3df94f,'timestamp':new Date()[_0x421052(0x2d4)](),'sdk_version':a0_0xcce4b7[_0x421052(0x17b)],'uptime':process[_0x421052(0x137)]()}});}async[a0_0x1cc0ac(0x281)](_0x370f19,_0x5241c4=a0_0x1cc0ac(0x1d4)){const _0x2cb400=a0_0x1cc0ac,_0x500c8={'SBCUQ':function(_0x4f0677,_0x5fade0){return _0x4f0677===_0x5fade0;},'mYQZT':_0x2cb400(0x151),'bLqcs':_0x2cb400(0x2c5),'IaWlx':function(_0x38b119,_0x1a4ff8){return _0x38b119===_0x1a4ff8;},'jqaRs':_0x2cb400(0x274),'LeHrm':_0x2cb400(0x201),'TgcCv':_0x2cb400(0x2c4)};if(!this[_0x2cb400(0x142)])return;if(this[_0x2cb400(0x180)])try{const _0x18ac5b='['+new Date()[_0x2cb400(0x2d4)]()+_0x2cb400(0x293)+_0x5241c4+']\x20'+_0x370f19+'\x0a';a0_0x2bcd62[_0x2cb400(0x2b2)](this[_0x2cb400(0x180)],_0x18ac5b);}catch(_0x5deaab){}try{await this[_0x2cb400(0x22a)][_0x2cb400(0x140)](_0x2cb400(0x29f)+this[_0x2cb400(0x142)]+_0x2cb400(0x27b),{'message':_0x370f19,'level':_0x5241c4});if(this[_0x2cb400(0x1f3)]){const _0x285c66=_0x500c8[_0x2cb400(0x178)](_0x5241c4,_0x500c8[_0x2cb400(0x150)])?_0x500c8[_0x2cb400(0x253)]:_0x500c8[_0x2cb400(0x208)](_0x5241c4,_0x500c8[_0x2cb400(0x1c6)])?_0x500c8[_0x2cb400(0x205)]:_0x500c8[_0x2cb400(0x159)];console[_0x2cb400(0x281)](_0x285c66+'['+_0x5241c4+_0x2cb400(0x260)+_0x370f19);}}catch(_0x15430c){this[_0x2cb400(0x1f3)]&&console[_0x2cb400(0x18b)](_0x2cb400(0x267)+_0x15430c[_0x2cb400(0x2af)]);}}[a0_0x1cc0ac(0x2a8)](_0x264eba=0x7530){const _0x231156=a0_0x1cc0ac,_0x4eb379={'EHmVh':function(_0x6b5b8,_0x165e46){return _0x6b5b8(_0x165e46);},'EJLtr':function(_0x261c93,_0x4342de,_0x377c04){return _0x261c93(_0x4342de,_0x377c04);}};if(!this[_0x231156(0x142)])return;if(this[_0x231156(0x209)])_0x4eb379[_0x231156(0x17f)](clearInterval,this[_0x231156(0x209)]);this[_0x231156(0x2c2)](),this[_0x231156(0x209)]=_0x4eb379[_0x231156(0x2c1)](setInterval,()=>this[_0x231156(0x2c2)](),_0x264eba);}async[a0_0x1cc0ac(0x2c2)](){const _0x599008=a0_0x1cc0ac,_0x42b3a6={'CNPhN':_0x599008(0x296),'AaYtZ':_0x599008(0x274)};if(!this[_0x599008(0x142)])return;try{await this[_0x599008(0x22a)][_0x599008(0x140)](_0x599008(0x29f)+this[_0x599008(0x142)]+_0x599008(0x290),{},{'headers':{'Authorization':_0x599008(0x25e)+this[_0x599008(0x153)]}});}catch(_0x4e206b){this[_0x599008(0x2de)](_0x42b3a6[_0x599008(0x229)],_0x42b3a6[_0x599008(0x152)]);}}[a0_0x1cc0ac(0x2de)](_0x18f357,_0x3288b8=a0_0x1cc0ac(0x1d4)){const _0x1ced3f=a0_0x1cc0ac;if(this[_0x1ced3f(0x1f3)])console[_0x1ced3f(0x281)](_0x1ced3f(0x1d0)+_0x18f357);}[a0_0x1cc0ac(0x26f)](_0x159b5a){const _0x4c70fb=a0_0x1cc0ac,_0x556781={'VRCFy':_0x4c70fb(0x2af)};this['on'](_0x556781[_0x4c70fb(0x2b5)],_0x159b5a);}[a0_0x1cc0ac(0x1f4)](_0x1e712d){const _0x248f66=a0_0x1cc0ac,_0x116898={'DxLSR':_0x248f66(0x14b)};this['on'](_0x116898[_0x248f66(0x172)],_0x1e712d);}[a0_0x1cc0ac(0x1b1)](_0x45c446){const _0x3112cc=a0_0x1cc0ac,_0xe5d8d8={'xIpjM':_0x3112cc(0x279)};this['on'](_0xe5d8d8[_0x3112cc(0x16a)],_0x45c446);}}exports[a0_0x1cc0ac(0x224)]=a0_0xcce4b7,a0_0xcce4b7[a0_0x1cc0ac(0x17b)]=a0_0x362e12,exports[a0_0x1cc0ac(0x288)]=a0_0xcce4b7;
1
+ 'use strict';const a0_0x5477f5=a0_0x1617;function a0_0x1617(_0x333d35,_0x4a384f){_0x333d35=_0x333d35-0x64;const _0x354313=a0_0x4041();let _0x1b5465=_0x354313[_0x333d35];if(a0_0x1617['jqwQXZ']===undefined){var _0x188aaa=function(_0x48048b){const _0x5e5438='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20c7b9='',_0x2d433d='',_0x2476a4=_0x20c7b9+_0x188aaa;for(let _0x1f1482=0x0,_0x12347a,_0x3d76b6,_0x239fc9=0x0;_0x3d76b6=_0x48048b['charAt'](_0x239fc9++);~_0x3d76b6&&(_0x12347a=_0x1f1482%0x4?_0x12347a*0x40+_0x3d76b6:_0x3d76b6,_0x1f1482++%0x4)?_0x20c7b9+=_0x2476a4['charCodeAt'](_0x239fc9+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x12347a>>(-0x2*_0x1f1482&0x6)):_0x1f1482:0x0){_0x3d76b6=_0x5e5438['indexOf'](_0x3d76b6);}for(let _0x4ad218=0x0,_0x1bd4a2=_0x20c7b9['length'];_0x4ad218<_0x1bd4a2;_0x4ad218++){_0x2d433d+='%'+('00'+_0x20c7b9['charCodeAt'](_0x4ad218)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d433d);};a0_0x1617['veAStl']=_0x188aaa,a0_0x1617['aJrxqX']={},a0_0x1617['jqwQXZ']=!![];}const _0x40411a=_0x354313[0x0],_0x1617ff=_0x333d35+_0x40411a,_0x1cd691=a0_0x1617['aJrxqX'][_0x1617ff];if(!_0x1cd691){const _0x359b20=function(_0x10c65d){this['lyXQKL']=_0x10c65d,this['OntMTn']=[0x1,0x0,0x0],this['CmdfcI']=function(){return'newState';},this['HsRTPt']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['imxbLs']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x359b20['prototype']['xUuaBv']=function(){const _0x306fea=new RegExp(this['HsRTPt']+this['imxbLs']),_0x539805=_0x306fea['test'](this['CmdfcI']['toString']())?--this['OntMTn'][0x1]:--this['OntMTn'][0x0];return this['OAYsWE'](_0x539805);},_0x359b20['prototype']['OAYsWE']=function(_0x55bf4b){if(!Boolean(~_0x55bf4b))return _0x55bf4b;return this['npoHLu'](this['lyXQKL']);},_0x359b20['prototype']['npoHLu']=function(_0x53c695){for(let _0x815986=0x0,_0x1bc037=this['OntMTn']['length'];_0x815986<_0x1bc037;_0x815986++){this['OntMTn']['push'](Math['round'](Math['random']())),_0x1bc037=this['OntMTn']['length'];}return _0x53c695(this['OntMTn'][0x0]);},new _0x359b20(a0_0x1617)['xUuaBv'](),_0x1b5465=a0_0x1617['veAStl'](_0x1b5465),a0_0x1617['aJrxqX'][_0x1617ff]=_0x1b5465;}else _0x1b5465=_0x1cd691;return _0x1b5465;}(function(_0x3fe109,_0xeb52fb){const _0x4e7f78=a0_0x1617,_0x3ed1e1=_0x3fe109();while(!![]){try{const _0x2eb263=-parseInt(_0x4e7f78(0x139))/0x1*(-parseInt(_0x4e7f78(0x1ae))/0x2)+parseInt(_0x4e7f78(0xf9))/0x3+parseInt(_0x4e7f78(0xa9))/0x4+parseInt(_0x4e7f78(0x217))/0x5+parseInt(_0x4e7f78(0x113))/0x6*(-parseInt(_0x4e7f78(0x1fc))/0x7)+parseInt(_0x4e7f78(0x1b9))/0x8+-parseInt(_0x4e7f78(0x221))/0x9;if(_0x2eb263===_0xeb52fb)break;else _0x3ed1e1['push'](_0x3ed1e1['shift']());}catch(_0x412a6e){_0x3ed1e1['push'](_0x3ed1e1['shift']());}}}(a0_0x4041,0x8a663));var a0_0x39bfb4=this&&this[a0_0x5477f5(0xd9)]||(Object[a0_0x5477f5(0x6d)]?function(_0x174db7,_0x4f8bd4,_0x8023b1,_0x506890){const _0x5d650d=a0_0x5477f5,_0x216632={'epijS':function(_0x36b8d3,_0x3cfffc){return _0x36b8d3===_0x3cfffc;},'OjwHK':function(_0xac2c4b,_0x1a3571){return _0xac2c4b in _0x1a3571;},'fyoBW':_0x5d650d(0x82)};if(_0x216632[_0x5d650d(0x6a)](_0x506890,undefined))_0x506890=_0x8023b1;var _0x4da30f=Object[_0x5d650d(0x197)](_0x4f8bd4,_0x8023b1);(!_0x4da30f||(_0x216632[_0x5d650d(0x203)](_0x216632[_0x5d650d(0x164)],_0x4da30f)?!_0x4f8bd4[_0x5d650d(0x1fb)]:_0x4da30f[_0x5d650d(0x7a)]||_0x4da30f[_0x5d650d(0xad)]))&&(_0x4da30f={'enumerable':!![],'get':function(){return _0x4f8bd4[_0x8023b1];}}),Object[_0x5d650d(0xd8)](_0x174db7,_0x506890,_0x4da30f);}:function(_0x3da5ad,_0x1f9aa1,_0x410dd6,_0x1c21e8){const _0x4dabe3=a0_0x5477f5,_0xaad5aa={'TVepu':function(_0x51273d,_0xa97333){return _0x51273d===_0xa97333;}};if(_0xaad5aa[_0x4dabe3(0x1c6)](_0x1c21e8,undefined))_0x1c21e8=_0x410dd6;_0x3da5ad[_0x1c21e8]=_0x1f9aa1[_0x410dd6];}),a0_0x4616bd=this&&this[a0_0x5477f5(0x1e8)]||(Object[a0_0x5477f5(0x6d)]?function(_0xbb2188,_0x2b2087){const _0x54e043=a0_0x5477f5,_0x192b31={'Ceoly':_0x54e043(0x125)};Object[_0x54e043(0xd8)](_0xbb2188,_0x192b31[_0x54e043(0x1c4)],{'enumerable':!![],'value':_0x2b2087});}:function(_0x3f713a,_0xbe3d4d){const _0x21d218=a0_0x5477f5,_0x96d5a={'WSCje':_0x21d218(0x125)};_0x3f713a[_0x96d5a[_0x21d218(0x100)]]=_0xbe3d4d;}),a0_0x103515=this&&this[a0_0x5477f5(0x1a1)]||(function(){const _0x3aefeb=a0_0x5477f5,_0x3a502c={'Xvned':_0x3aefeb(0x154),'VKZat':function(_0x4df686,_0x3d5331){return _0x4df686(_0x3d5331);},'ZnsVx':_0x3aefeb(0xde),'gHFNI':function(_0xf24014,_0x448f32,_0x2c9daa){return _0xf24014(_0x448f32,_0x2c9daa);},'XNfoi':function(_0x3e4178,_0x3eecda){return _0x3e4178!=_0x3eecda;},'ZRhrG':function(_0x49844d,_0xc2c207){return _0x49844d<_0xc2c207;},'MyYif':function(_0x1321aa,_0xfe00cc){return _0x1321aa!==_0xfe00cc;},'MomBe':_0x3aefeb(0x125),'ftTgT':function(_0x29a2e0,_0x1d7c82,_0x392d53,_0x4ccf50){return _0x29a2e0(_0x1d7c82,_0x392d53,_0x4ccf50);},'hWZOe':function(_0x484ddb){return _0x484ddb();}},_0x1201aa=(function(){let _0x2a2a63=!![];return function(_0x78c994,_0x4fc315){const _0x5e4605=_0x2a2a63?function(){const _0x5860ed=a0_0x1617;if(_0x4fc315){const _0x19f364=_0x4fc315[_0x5860ed(0x10e)](_0x78c994,arguments);return _0x4fc315=null,_0x19f364;}}:function(){};return _0x2a2a63=![],_0x5e4605;};}()),_0xd9b205=_0x3a502c[_0x3aefeb(0xe5)](_0x1201aa,this,function(){const _0x32bd02=_0x3aefeb;return _0xd9b205[_0x32bd02(0x10b)]()[_0x32bd02(0x9d)](_0x3a502c[_0x32bd02(0xd2)])[_0x32bd02(0x10b)]()[_0x32bd02(0x72)](_0xd9b205)[_0x32bd02(0x9d)](_0x3a502c[_0x32bd02(0xd2)]);});_0x3a502c[_0x3aefeb(0x14a)](_0xd9b205);var _0x3348ed=function(_0x4abce1){const _0xab883d=_0x3aefeb;return _0x3348ed=Object[_0xab883d(0xb0)]||function(_0x2970fa){const _0x3bcea5=_0xab883d;var _0x4bcd3b=[];for(var _0x4d0bab in _0x2970fa)if(Object[_0x3bcea5(0x178)][_0x3bcea5(0x19f)][_0x3bcea5(0x9f)](_0x2970fa,_0x4d0bab))_0x4bcd3b[_0x4bcd3b[_0x3bcea5(0x150)]]=_0x4d0bab;return _0x4bcd3b;},_0x3a502c[_0xab883d(0x108)](_0x3348ed,_0x4abce1);};return function(_0xc77a4){const _0x1d937a=_0x3aefeb,_0x353e3e=_0x3a502c[_0x1d937a(0x208)][_0x1d937a(0x1f6)]('|');let _0x38e5ea=0x0;while(!![]){switch(_0x353e3e[_0x38e5ea++]){case'0':return _0x3276f7;case'1':if(_0xc77a4&&_0xc77a4[_0x1d937a(0x1fb)])return _0xc77a4;continue;case'2':var _0x3276f7={};continue;case'3':_0x3a502c[_0x1d937a(0xe5)](a0_0x4616bd,_0x3276f7,_0xc77a4);continue;case'4':if(_0x3a502c[_0x1d937a(0x1cc)](_0xc77a4,null)){for(var _0x334fcd=_0x3a502c[_0x1d937a(0x108)](_0x3348ed,_0xc77a4),_0x397bd3=0x0;_0x3a502c[_0x1d937a(0x1c0)](_0x397bd3,_0x334fcd[_0x1d937a(0x150)]);_0x397bd3++)if(_0x3a502c[_0x1d937a(0x111)](_0x334fcd[_0x397bd3],_0x3a502c[_0x1d937a(0x220)]))_0x3a502c[_0x1d937a(0x1ef)](a0_0x39bfb4,_0x3276f7,_0xc77a4,_0x334fcd[_0x397bd3]);}continue;}break;}};}()),a0_0x401b8e=this&&this[a0_0x5477f5(0x204)]||function(_0x16e6fa){const _0x434af8=a0_0x5477f5;return _0x16e6fa&&_0x16e6fa[_0x434af8(0x1fb)]?_0x16e6fa:{'default':_0x16e6fa};};Object[a0_0x5477f5(0xd8)](exports,a0_0x5477f5(0x1fb),{'value':!![]}),exports[a0_0x5477f5(0xd6)]=exports[a0_0x5477f5(0x165)]=exports[a0_0x5477f5(0x163)]=exports[a0_0x5477f5(0x20e)]=exports[a0_0x5477f5(0x1bd)]=void 0x0;function a0_0x4041(){const _0x3fee5b=['qMLpuxC','ndiWmduYmfvHBMTKwq','tMv2zxi','C2vUzeHLyxj0yMvHDa','DxbKyxrLuhjVzMLSzq','y29UzMLNDxjHyMXL','u2vysw0','v29YA2vYie1VzguGqwn0AxzLigzVCIbkB2i6ia','z2v0t3DUuhjVCgvYDhLoyw1LCW','BM90Awz5t3DUzxi','v0fstG','zxjYB3i','CgfJA2fNzs5QC29U','yMfZzvvYBa','A2v5CW','qMXJuMG','yMLKq2fJAgu','zw51Bq','4P2mifjLBNrHqM90CYbbueKGs2v5igLZig1PC3nPBMCUifbHC3mGAxqGAw4GDgHLignVBNn0CNvJDg9Yig9YihnLDcbsru5uqujpvfnFqvbjx0TfwsbPBIaUzw52','DxrMoa','qur1vNu','DhjHBNnSyxrPB24','Cgf0Aa','AgfUzgXLu3rHDhvZuMvXDwvZDa','icHtreSGDG','D29YA2vYlMPZ','zgLZy29UBMvJDa','ugf1C2vK','zKrqB3u','su5gtW','wMjWBK0','B3bLBG','l2fWAq','ywDLBNrZl21L','Bg9JywXmB2DqyxrO','tuv6AxC','DhjPBq','B1jcEeK','zMv0y2HvBNjLywrnzxnZywDLCW','y2XVC2u','ssbHBsbHBIbHDxrVBM9TB3vZihvUAxqGB3b0Aw1PEMvKigzVCIa','EM9K','whzUzwq','lI4U','uLvotKLorYdILRBVUi8','CMvZB2X2zq','qwDLBNq','D29YA3nWywnLuM9VDa','zgvMAw5LuhjVCgvYDhK','x19JCMvHDgvcAw5KAw5N','yNvKz2v0','iI4GqNvPBgqGzgvSAxzLCMfIBgvZigLUigXVy2fSihDVCMTZCgfJzsbMB3iGsM9Iia','zxzLBNq','teTdwge','mxWYFdr8m3WW','zgvZy3jPChrPB24','ks4UlG','8j+rKsbBuvvfru4Gu1rbvfvtifjfue9svf0klsbby3rPDMuGtwLZC2LVBNm6ia','yxbP','zxHPC3rZu3LUyW','zNjVBq','z0HgtKK','8j+tNsbBu1ret1vuxsa','B25iAxjLza','zxr1sNO','Bg9Nsw50zxjUywW','iIaTlxrHC2SGiG','BNvTyMvY','zgLZCgXHEu5HBwu','Aw1Hz2vFz2vUzxjHDgLVBG','uMvWB3nPDg9YEsbPBML0AwfSAxPHDgLVBIb3yxjUAw5NoIa','twfUDwfSigjPzcbYzxf1zxn0zwqGyNKGB3DUzxiU','w1DVCMTLCIa','zgvSAxzLCMfIBgu','C2XPy2u','z1v4yve','B3b0Aw9UywW','A2LSBfDVCMTLCG','qMvHCMvYia','BwfYA0nVBxbSzxrL','zwP0BMC','mJy1mte5nMX2vgPzwa','l2TPBgWG','zMHpENa','C3rHCNrZv2L0Aa','8j+oRYbbDxrVCgLSB3q6iejPzgrPBMCGB24GiG','zwXvC2m','vwTMte8','v1ndAMu','B3bLBMnSyxCGC2vZC2LVBNnFC3bHD24Gls1SywjLBcaIru5hlq','rMfPBgvKihrVihbYB2nLC3mGBwLZC2LVBIbHC3nPz25Tzw50','rxzLBNrfBwL0DgvY','CvzVu1q','C29JA2v0lMLVlwnSAwvUDa','sMH4D2O','AM9Iswq','vKTAyxq','q3jHBwq','zxHLy3v0Aw9Ux2XVzW','Dg9tDhjPBMC','t1HzqxO','AujkEKy','yxbWBhK','CgLUz0jHy2TKB29Y','tg9JywWGD29YA3nWywnLigLUAxrPywXPEMvKigf0oIa','txLzAwy','zLPnDgy','mZG2mtq2mLr0qu9iEa','DhLWzq','DgfYz2v0sM9Iswq','D29YA2vYCW','zgLZChv0zwq','AKXqA04','zM9YAW','CgfYC2u','Aw5FChjVz3jLC3m','l2HLyxj0yMvHDa','y29UBMvJDa','zxHPDa','zgvSAxzLCG','BwLZC2LVBL9HC3nPz25Lzf8','zxHLy3v0Aw9Ux2vYCM9Y','CNzZuu8','y3jLyxrLtwLZC2LVBLjLCg8','rMfPBgvKihrVigXVywqGC3rHDgu6ia','zgvMyxvSDa','wK9Ar2i','C3rYAw5N','BwvZC2fNzq','C2nVDxrPBMDjBNrLCNzHBa','yxv0B3bPBg90vgLTzxi','v2vIu29JA2v0ifjLy29UBMvJDgvKigfMDgvYia','rNvOtuy','C3bHD25uzwfT','C3rKzxjY','y2fWywjPBgL0AwvZ','ywDLBNrjza','AgvHCNrIzwf0sw50zxj2ywW','y29UBMvJDgvK','CMvWB3j0vxnHz2u','q29UBMvJDgLUzYb0BYbhCMLKoIa','CMvWBgfJzq','C2vLBK1LC3nHz2vZ','whPAEgi','DgDht2S','mtG3zMfwz0zV','zgvIDwC','iI4UlG','AhvTyw4','svjqC0K','uvfKDwi','EufJr2C','cI0GtgfZDcbnyxjRzxrWBgfJzsbty2fUoIa','qxv0B3bPBg90ihnJB3v0igzHAwXLzdOG','zu5Lweu','yxnZAwDUBwvUDa','y2f0zwDVCNK','uNbfuhi','wgzfzMe','zM9YrwfJAa','EfvsB1u','DxbSB2fKrgvSAxzLCMfIBgu','AfDAt2u','l25VDgLMEq','Au9xvgG','l3jLC3vTzq','rLrPuxq','wxfoD3i','BgvUz3rO','Chv0','y0DHy2O','vxbSB2fKigzHAwXLzdOG','kcGOlISPkYKRksSK','yxbWBgLJyxrPB24VB2n0zxqTC3rYzwfT','zwHHuLC','D29YA2vYu2nYAxb0ugf0Aa','B3bLBMnSyxCGC2vZC2LVBNnFC3bHD24Gls1SywjLBcaIue0T','t1n3zgG','txLuChK','D2vIx2jYB3DZAw5N','u3rHDhvZienVzgu6ia','ywDLBNrFC3rHDguUANnVBG','4PYfifn1y2nLC3nMDwXSEsbWBgfJzwqGyMLKig9UoIa','qKfMuLO','tw1TDhO','igv4AxrLzcb3AxrOignVzgu6ia','C3rHCNrizwfYDgjLyxq','sM9Iu2nOzw1H','zNLVqLC','twvZC2fNzvnJAgvTyq','s0vlt1i','4P2mie1HBNvHBcbIAwqGzMfPBgvKoIa','AgXiu2G','Cg9ZDa','y29TCgXLDgvK','C2vUzgvY','tg9HzgvKihn0yxrLoIa','C3rHDgvqyxrO','B3rQwfG','AM9ICY8','Ahr0Chm6lY9Yzw50ywjVDhmUy29Tl2fWAq','yxjJAgL2zwq','igzPBgvZigzVCIbTAxnZAw9Uia','Dxb0Aw1L','BMv3x2PVyG','zMLSDgvY','zgvSzxrL','uMvJB3zLCMvKigfJDgL2zsbTAxnZAw9UigzYB20Gy2XVDwq6ia','ChjVDg90ExbL','mNW0Fdn8mxWW','l2zPBgvZ','AM9PBL9TAxnZAw9U','l3bYB2DYzxnZ','y2HPBgrFChjVy2vZCW','BwLUqNvKz2v0','yMLKCW','ywDLBNrZlW','AM9PBL9TyxjRzxrWBgfJzq','rezTwuW','u01VuMe','C2vUze1LC3nHz2u','C2vUza','BwvZC2fNzxm','4PYfifTeruXjvKvswv0GvgHLigzVBgXVD2LUzYbMAwXLCYbOyxzLigjLzw4GyxjJAgL2zwqGAw4GEw91CIbZzwn1CMuGCMvWB3nPDg9YEtOk','v3jku1O','4PA277Ipief1Dg9WAwXVDcbsrvnvtuveigj5ig93BMvYlG','BMv3x21LC3nHz2u','ChvZAa','CY4UlG','AgfUzgXLsw5JB21PBMDnzxnZywDL','A2LSBa','uhjVAMvJDcbnyw5Hz2vYigzVCIbTAxnZAw9UoIaI','DKvpz2C','iI4Gq29VCMrPBMf0zsb3AxrOignSAwvUDcbVBIbkB2iG','yxv0B3bPBg90ugf1C2vK','AM9PBG','zNjVBuvUDhjPzxm','zgf0yq','Aw5PDgLHBgL6zu1PC3nPB24','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','Awzjr2q','rvjst1i','rw1UC1u','qLneqNi','D2jNBwu','yMLKvgvTCgXHDgu','y2f0y2G','AgfZt3DUuhjVCgvYDhK','ig1PC3nPB25ZlcbbDxrVCgLSB3q6ia','x19PBxbVCNrtDgfY','8j+oIsbnAxnZAw9UiefZC2LNBMvKoIa','z2v0t3bLBK1PC3nPB25Z','yxjNDG','BwTKAxjtEw5J','yxbWzw5KrMLSzvn5BMm','Dgv4Da','CMvZCg9UC2u','8j+AGcbjBML0AwfSAxPPBMCGuhjVAMvJDcbtD2fYBsbMB3i6ia','ywDLBNq','l3jLCg8VzMLSzxm','C29eyw8','v2vIu29JA2v0ierPC2nVBM5Ly3rLzdOG','nJiYnK9LCvzLAW','CuzcD08','ywDLBNrZl21Ll2fJAW','l2XVz3m','uefvu0veiokpUo+4JW','AgvHCNrIzwf0vgLTzxi','ChvZAfrVuMvWBW','rMfPBgvKihrVihnHDMuGC3rHDgu6ia','Bg9N','vgjJqLy','q2f1z2H0ihvWig9Uia','mJGZnJG2ngTnt3LjCW','l2jPzca','AM9ICW','C2f2zvn0yxrL','q2fWywjPBgL0EvnJAgvTyq','A0TJB2W','cI0Gqxv0B3bPBg90oIa','wLjOCKC','EeLYy3i','y29TCgXLDgu','yKzpANK','q2vVBhK','quTfwu0','vfzLChu','4P2mievYCM9YigzPBMrPBMCGBwLZC2LVBJOG','A2v5D29Yzhm','qwXQAKq','4PQu77IpifDVCMTLCIbMB3iGsM9Iia','q2fUBM90ihvWBg9HzcbLBxb0EsbMAwXLoIa','we5MB2K','zw50CMLLCW','tvvoDKe','A1DVBfG','tu1pswO','l3vWBg9Hzd9MAwXLBMfTzt0','vK9Ks2u','yMfZzw5HBwu','Aw5PDfnVy2TLDa','y29Kzv9Nzw5LCMf0Aw9U','rxHLy3v0Aw5NignVBw1HBMqGAw4G','AM9ICZ9ZDgf0Dxm9Aw5FChjVz3jLC3m','D29YA3nWywnL','v29YA2vYihnJCMLWDcbUB3qGzM91BMqGyxq6ia','vfHNAwq','EMfrEuq','t2LNu1e','C2L6zq','4O+477Ipief1Dg9WAwXVDcbqqvvtruqGyNKGB3DUzxiU','Aw5JBhvKzxm','w1nes10G','rMfPBgvKihrVihnWyxDUihrLyw06ia','BwfW','C3vJy2vZCW','zxHLy3v0zq','EffPv1K','yMLK','B3ffqLC','x19ZzxrnB2r1BgvezwzHDwX0','DgL0Bgu','yxv0B21HDgLVBG','8j+AGcbbDxrVCgLSB3qGzw5NywDLzc4Gu2nVDxrPBMCGzxzLCNKG','zhzkCxe','u1vdq0vtuW','C3LUy0zYB21dBg91za','zNruz1q','z2v0twLZC2LVBG','uMvTB3rLihjLCg9ZAxrVCNKGAw5PDgLHBgL6zwqU','rwLUrwC','C3rHCNrbDxrVCgLSB3q','y29UDgvUDa','B25ozxDkB2i','C3bSAxq','DxbSB2fKrMLSzq','AgfZ','D2vIC29JA2v0','yNDzsMi','x19LC01VzhvSzq','n01brwvuwq','C3rHDhvZ','v2vIu29JA2v0ieXPBMSGrxn0ywjSAxnOzwqU','vNnyEg8','zw1PDa','yxHPB3m','uwTvDuW','t2P3seS','x19PBxbVCNrezwzHDwX0','8j+KLIbBu1LtvevnxsbqCM9Qzwn0ifn3yxjTieLUAxrPywXPEMvKlIbKzwrPy2f0zwqGue0Gyw5KievUz2LUzwvYigfZC2LNBMvKlG','l3jLCg8','C3bHD24','wM5ZvNG','tgvHzcbfBMDPBMvLCIbMB3iGBwLZC2LVBJOGiG','yuHur0C','cI0Gqwn0AxzLifDVCMTLCNm6ia','DMvYC2LVBG','q2XVDwqGC3LUyYbMywLSzwqSihjLBhLPBMCGB24GBg9JywWGC3rHDguU','sM9Iu3rHDhvZu2nOzw1H','qwn0AxzL','C2v0uhjVz3jLC3m','A1zjvg8','ExLlB0q','w0jbq0Tet09sierjquDot1nusunD','y3DK','BKz1s0u','q29TBwfUzcbMAw5PC2HLzcb3AxrOignVzguG','mZi4mda5mfnfDhvJza','t25SAw5LigfZoIa','xsbB','DwLuyKq','Dg9mB2nHBgvuAw1Lu3rYAw5N','l21LC3nHz2vZ','CgvYC2LZDfn0yxrL','sLD4yvi','yxjYyxK','tw9TqMu','mJa4ndu0mZf0ruTUr2W','C2v0vhLWAw5N','CMvHzezPBgvtEw5J','uurvDge','zgLZy29UBMvJDgvK','C3bHD25xB3jRzxi','z2v0twvZC2fNzxm','DMTQy0O','Dg9mB3DLCKnHC2u','D2D5vLe','yNvKz2v0qw1VDw50','EwX1zMK','BgfZDfnJB3v0vgLTzq','zxbPALm','ywrK','EuXTANK','y3jLyxrL','ihvUCMvHzcbTzxnZywDLCY4','C3rYAw5NAwz5','lIbjignHBIbLEgvJDxrLihrOAxmGBwLZC2LVBIb3AxrOigHPz2GGChjLy2LZAw9UlG','l2nVBxbSzxrL','y29UC3rYDwn0B3i','sgnjsKW','u2vYDMvYievYCM9YoIa','l3bHDxnL','Dg9ju09tDhjPBMC','C29JA2v0','sw5IB3GGy2HLy2SGzMfPBgvKoIa','q2rOCLq','D3jPDgfIBgu','qMfYyu0','AxvIq2q','B25nzxnZywDL','yLbLq3O','C3rKB3v0','rMfPBgvKihrVihn5BMmGy2fWywjPBgL0AwvZihrVigDYAwqSignVBNrPBNvPBMCUlI4','Bg9Hzfn0yxrL','z2v0','igf0DgvTChrZlG','ihrLCM1PBMf0zwqU','CMvJB25Uzwn0','l3n0yxr1CW','DhLWAw5Nx3n0yxrL','DNryD2C','D3jPDgvgAwXLu3LUyW','u0rlx1zfuLnjt04','ywDLBNrZl21Ll3vUCMvHza','ywn0AxzLtwLZC2LVBNm','ANDXrLe','y3fcBfG','rgvSAxzLCMLUzYa','yxbPs2v5','zgf0yv9HBMfSExnPCW','rM5oEhC','8j+rTYbxB3jRzxiG','8j+rKsbrDwvLBJOGu3bHD25PBMCGzgvKAwnHDgvKihDVCMTLCIbMB3iGBwLZC2LVBJOG','B2jQzwn0','zxzLBNrZ','v0vfzvC','l21HBMfNzq','ms4WlJe','cI0Gu0rlifzLCNnPB246ihy','AgfUzgXLtwfUDwfSqMLKuMvXDwvZDa','svHey2y','C2vHCMnO','r3rbv2G','y2fSBa','C29Tzq','ENjwwKq','zw5YAwnOsM9I','AM9I','C2v0','rMfPBgvKihrVihbHCNnLigLUy29TAw5NihnVy2TLDcbTzxnZywDL','rMLSzsbUB3qGzM91BMq6ia','C3rHDfn5BMm'];a0_0x4041=function(){return _0x3fee5b;};return a0_0x4041();}const a0_0x58d3cc=a0_0x401b8e(require(a0_0x5477f5(0x201))),a0_0x100bd6=require(a0_0x5477f5(0x105)),a0_0x41ac02=require(a0_0x5477f5(0xd1)),a0_0x46d54f=require(a0_0x5477f5(0x96)),a0_0x379b8d=a0_0x103515(require('fs')),a0_0xcb9112=a0_0x103515(require(a0_0x5477f5(0xbe))),a0_0x251812=require(a0_0x5477f5(0x17d));exports[a0_0x5477f5(0x1bd)]=a0_0x41ac02['z'][a0_0x5477f5(0xb9)]([a0_0x5477f5(0x1d5),a0_0x5477f5(0x15b),a0_0x5477f5(0x91),a0_0x5477f5(0xed),a0_0x5477f5(0x1ea),a0_0x5477f5(0xbd)]),exports[a0_0x5477f5(0x20e)]=a0_0x41ac02['z'][a0_0x5477f5(0xb9)]([a0_0x5477f5(0xc7),a0_0x5477f5(0x11b),a0_0x5477f5(0x16a),a0_0x5477f5(0x171),a0_0x5477f5(0x117)]),exports[a0_0x5477f5(0x163)]=a0_0x41ac02['z'][a0_0x5477f5(0x95)]({'id':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'title':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'description':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'budget':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'category':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'status':exports[a0_0x5477f5(0x20e)],'createdAt':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'progress':a0_0x41ac02['z'][a0_0x5477f5(0xeb)]()[a0_0x5477f5(0xf4)]()}),exports[a0_0x5477f5(0x165)]=a0_0x41ac02['z'][a0_0x5477f5(0x95)]({'id':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'jobId':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'content':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'senderId':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'createdAt':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'sender':a0_0x41ac02['z'][a0_0x5477f5(0x95)]({'id':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'displayName':a0_0x41ac02['z'][a0_0x5477f5(0x127)](),'type':a0_0x41ac02['z'][a0_0x5477f5(0xb9)]([a0_0x5477f5(0x13c),a0_0x5477f5(0x1aa)])})});let a0_0x1ba5ad=a0_0x5477f5(0x99);try{const a0_0x1908b2=a0_0xcb9112[a0_0x5477f5(0x193)](__dirname,'..',a0_0x5477f5(0xb4));if(a0_0x379b8d[a0_0x5477f5(0xe3)](a0_0x1908b2)){const a0_0x27bc72=JSON[a0_0x5477f5(0x11a)](a0_0x379b8d[a0_0x5477f5(0x223)](a0_0x1908b2,a0_0x5477f5(0xbb)));a0_0x1ba5ad=a0_0x27bc72[a0_0x5477f5(0x20c)];}}catch(a0_0x287884){}class a0_0x2d6c1c extends a0_0x46d54f[a0_0x5477f5(0x103)]{constructor(_0x5bb41e={}){const _0x314b42=a0_0x5477f5,_0x2f5a66={'elUsc':_0x314b42(0x170),'DFmYL':_0x314b42(0x1d8),'MEziw':_0x314b42(0xc1),'BaraM':function(_0x1c6246,_0x26aa98){return _0x1c6246!==_0x26aa98;},'EmnsU':function(_0x4a679e,_0x439936){return _0x4a679e===_0x439936;},'wbgme':_0x314b42(0x127),'BSDBr':_0x314b42(0x15d),'MUNvA':_0x314b42(0xba)};super(),this[_0x314b42(0x130)]=null,this[_0x314b42(0x77)]=null,this[_0x314b42(0x1b3)]=null,this[_0x314b42(0x16d)]=null,this[_0x314b42(0xca)]=null,this[_0x314b42(0x8c)]=new Map(),this[_0x314b42(0xb8)]=new Set(),this[_0x314b42(0x136)]=new Set(),this[_0x314b42(0x116)]=new Map(),this[_0x314b42(0x115)]=null,this[_0x314b42(0x12a)]=null,this[_0x314b42(0x192)]=![],this[_0x314b42(0x69)]=null,this[_0x314b42(0x90)]=_0x5bb41e[_0x314b42(0x90)]||process.env.RENTABOTS_API_KEY||process.env.AGENT_API_KEY||'',this[_0x314b42(0xb5)]=(_0x5bb41e[_0x314b42(0xb5)]||_0x2f5a66[_0x314b42(0xfe)])[_0x314b42(0x135)](/\/$/,''),this[_0x314b42(0x13a)]=_0x5bb41e[_0x314b42(0x13a)]||![],this[_0x314b42(0x12f)]=_0x5bb41e[_0x314b42(0x12f)]||[],this[_0x314b42(0x131)]=_0x5bb41e[_0x314b42(0x131)]||0x7530,this[_0x314b42(0xd7)]=_0x5bb41e[_0x314b42(0xd7)]||a0_0xcb9112[_0x314b42(0x193)](process[_0x314b42(0x214)](),_0x2f5a66[_0x314b42(0x182)]),this[_0x314b42(0xca)]=_0x5bb41e[_0x314b42(0xca)]||null,this[_0x314b42(0x157)]=_0x5bb41e[_0x314b42(0x157)]||a0_0xcb9112[_0x314b42(0x193)](process[_0x314b42(0x214)](),_0x2f5a66[_0x314b42(0xcb)]);if(process[_0x314b42(0x185)]&&process[_0x314b42(0x1a4)][0x2])try{const _0x97b710=JSON[_0x314b42(0x11a)](process[_0x314b42(0x1a4)][0x2]);_0x97b710&&_0x97b710['id']&&(this[_0x314b42(0x115)]=_0x97b710['id'],this[_0x314b42(0xe9)](_0x314b42(0xaf)+this[_0x314b42(0x115)]));}catch(_0x278f95){}_0x2f5a66[_0x314b42(0x7b)](_0x5bb41e[_0x314b42(0x21d)],![])&&(this[_0x314b42(0x16d)]=_0x2f5a66[_0x314b42(0x19a)](typeof _0x5bb41e[_0x314b42(0x21d)],_0x2f5a66[_0x314b42(0x19c)])?_0x5bb41e[_0x314b42(0x21d)]:a0_0xcb9112[_0x314b42(0x193)](process[_0x314b42(0x214)](),_0x2f5a66[_0x314b42(0x19b)]));if(!this[_0x314b42(0x90)])throw new Error(_0x2f5a66[_0x314b42(0x1ce)]);this[_0x314b42(0xe2)]=a0_0x58d3cc[_0x314b42(0x125)][_0x314b42(0x6d)]({'baseURL':this[_0x314b42(0xb5)],'headers':{'x-api-key':this[_0x314b42(0x90)],'x-sdk-version':a0_0x2d6c1c[_0x314b42(0x8a)]}});}async[a0_0x5477f5(0x11d)](){const _0xfd984b=a0_0x5477f5,_0x5e2059={'BlcRh':_0xfd984b(0xc9),'EinEg':function(_0x31a056,_0x440019){return _0x31a056>_0x440019;},'etuJz':_0xfd984b(0x80),'FTiQt':_0xfd984b(0xb2)};this[_0xfd984b(0xe9)](_0xfd984b(0x134)+this[_0xfd984b(0xb5)]+_0xfd984b(0xc0)+a0_0x2d6c1c[_0xfd984b(0x8a)]+_0xfd984b(0xe0));try{this[_0xfd984b(0x81)]();const _0x5801f5=await this[_0xfd984b(0xe2)][_0xfd984b(0x82)](_0x5e2059[_0xfd984b(0xb7)],{'headers':{'Authorization':_0xfd984b(0xf6)+this[_0xfd984b(0x90)]}})[_0xfd984b(0x19e)](_0x4a75c9=>{const _0x308b61=_0xfd984b;if(_0x4a75c9[_0x308b61(0x1a8)])throw new Error(_0x4a75c9[_0x308b61(0x1a8)][_0x308b61(0x195)][_0x308b61(0xb3)]||_0x308b61(0x74)+_0x4a75c9[_0x308b61(0x1a8)][_0x308b61(0x1fd)]);throw _0x4a75c9;});this[_0xfd984b(0x130)]=_0x5801f5[_0xfd984b(0x195)][_0xfd984b(0x1aa)]['id'],await this[_0xfd984b(0x1ee)](),await this[_0xfd984b(0xce)](),this[_0xfd984b(0x1d4)](),this[_0xfd984b(0x162)](this[_0xfd984b(0x131)]),this[_0xfd984b(0xe9)](_0xfd984b(0x218)+_0x5801f5[_0xfd984b(0x195)][_0xfd984b(0x1aa)][_0xfd984b(0xec)]);if(_0x5e2059[_0xfd984b(0x1f2)](this[_0xfd984b(0x12f)][_0xfd984b(0x150)],0x0))try{await this[_0xfd984b(0xac)]({'skills':this[_0xfd984b(0x12f)]});}catch(_0x54372f){this[_0xfd984b(0xe9)](_0x5e2059[_0xfd984b(0xe8)],_0x5e2059[_0xfd984b(0x14e)]);}return{'success':!![],'agent':_0x5801f5[_0xfd984b(0x195)][_0xfd984b(0x1aa)]};}catch(_0x134dff){const _0x29a62f=_0x134dff[_0xfd984b(0x1a8)]?.[_0xfd984b(0x195)]?.[_0xfd984b(0xb3)]||_0x134dff[_0xfd984b(0x128)]||_0xfd984b(0x15c)+_0x134dff[_0xfd984b(0x1a8)]?.[_0xfd984b(0x1fd)];return{'success':![],'error':_0x29a62f};}}async[a0_0x5477f5(0xce)](){const _0x1ceb6=a0_0x5477f5,_0x470576={'hlHSh':_0x1ceb6(0x8b),'cqBlX':function(_0x9b8c85,_0x5c5447){return _0x9b8c85>_0x5c5447;},'rvsQO':_0x1ceb6(0x1b0),'oqEBW':_0x1ceb6(0xb2)};try{const _0x3f845a=await this[_0x1ceb6(0xe2)][_0x1ceb6(0x82)](_0x470576[_0x1ceb6(0x168)],{'headers':{'Authorization':_0x1ceb6(0xf6)+this[_0x1ceb6(0x90)]}}),_0x3e37c3=_0x3f845a[_0x1ceb6(0x195)][_0x1ceb6(0x186)];if(_0x470576[_0x1ceb6(0x8e)](_0x3e37c3[_0x1ceb6(0x150)],0x0)){this[_0x1ceb6(0xe9)](_0x1ceb6(0x1b8)+_0x3e37c3[_0x1ceb6(0x150)]+_0x1ceb6(0x6e));let _0x59c835='';for(const _0x121765 of _0x3e37c3){!this[_0x1ceb6(0x136)][_0x1ceb6(0x1f8)](_0x121765['id'])&&(this[_0x1ceb6(0x136)][_0x1ceb6(0x6b)](_0x121765['id']),this[_0x1ceb6(0x18d)](_0x121765),_0x59c835=_0x121765['id']);}_0x59c835&&await this[_0x1ceb6(0xe2)][_0x1ceb6(0x169)](_0x470576[_0x1ceb6(0x122)],{'messageId':_0x59c835},{'headers':{'Authorization':_0x1ceb6(0xf6)+this[_0x1ceb6(0x90)]}});}}catch(_0x13b24f){this[_0x1ceb6(0xe9)](_0x1ceb6(0x78)+_0x13b24f[_0x1ceb6(0x128)],_0x470576[_0x1ceb6(0x1e7)]);}}async[a0_0x5477f5(0x1ee)](){const _0x2ccfd5=a0_0x5477f5,_0x3def64={'iOWTh':_0x2ccfd5(0x1d7),'QQdub':_0x2ccfd5(0x20d),'SeXIm':_0x2ccfd5(0xb2)};try{const _0x2937c4=await this[_0x2ccfd5(0xe2)][_0x2ccfd5(0x82)](_0x3def64[_0x2ccfd5(0x14c)],{'headers':{'Authorization':_0x2ccfd5(0xf6)+this[_0x2ccfd5(0x90)]}}),_0x5c204e=_0x2937c4[_0x2ccfd5(0x195)][_0x2ccfd5(0x195)][_0x2ccfd5(0x175)](_0x54b361=>_0x54b361[_0x2ccfd5(0x130)]===this[_0x2ccfd5(0x130)]);for(const _0x3c5776 of _0x5c204e){if(!this[_0x2ccfd5(0x8c)][_0x2ccfd5(0x1f8)](_0x3c5776['id'])){const _0x2baba0=this[_0x2ccfd5(0xa2)](_0x3c5776);this[_0x2ccfd5(0x8c)][_0x2ccfd5(0xa4)](_0x2baba0['id'],_0x2baba0),this[_0x2ccfd5(0xe9)](_0x2ccfd5(0x177)+_0x2baba0[_0x2ccfd5(0x1e9)]);}}this[_0x2ccfd5(0x1bc)]();}catch(_0x5344dc){this[_0x2ccfd5(0xe9)](_0x3def64[_0x2ccfd5(0x13e)],_0x3def64[_0x2ccfd5(0xae)]);}}[a0_0x5477f5(0xa2)](_0x4e1c28){const _0x459e27=a0_0x5477f5,_0x18e693={'wgyVQ':function(_0x34adb2,_0x50321d){return _0x34adb2(_0x50321d);}},_0x1114b7=_0x18e693[_0x459e27(0x66)](parseFloat,_0x4e1c28[_0x459e27(0xda)]?.[_0x459e27(0x135)](/[^0-9.]/g,'')||'0');return{...exports[_0x459e27(0x163)][_0x459e27(0x11a)](_0x4e1c28),'budgetAmount':_0x1114b7};}[a0_0x5477f5(0x1d4)](){const _0x5616f3=a0_0x5477f5,_0x58f68d={'QDUta':_0x5616f3(0x1fe),'VsXxo':_0x5616f3(0x181),'TXgid':_0x5616f3(0x17b),'yyKoD':_0x5616f3(0x132),'vtXwg':_0x5616f3(0xc5),'VOdKe':_0x5616f3(0xb2),'xIrcr':_0x5616f3(0x225),'QkUuL':_0x5616f3(0x1b0),'YqNwr':_0x5616f3(0xa5),'fhOzp':_0x5616f3(0x199),'aHTGG':_0x5616f3(0xa3),'qFBwO':_0x5616f3(0x179),'MyTpy':_0x5616f3(0x143),'ejtng':_0x5616f3(0x1ed),'BiOQw':_0x5616f3(0x102),'FuhMF':_0x5616f3(0xc8),'zaQyD':_0x5616f3(0x1f9),'AKEYM':_0x5616f3(0x11d),'CdhrT':_0x5616f3(0x85),'iubCd':_0x5616f3(0xc2),'dvJqq':_0x5616f3(0x18a),'XzZxb':_0x5616f3(0x174)};if(this[_0x5616f3(0x77)]&&this[_0x5616f3(0x77)][_0x5616f3(0x132)])return;const _0x265a05=this[_0x5616f3(0xb5)][_0x5616f3(0x135)](_0x58f68d[_0x5616f3(0x12c)],'');this[_0x5616f3(0x77)]=(0x0,a0_0x100bd6['io'])(_0x265a05,{'auth':{'token':this[_0x5616f3(0x90)]},'transports':[_0x58f68d[_0x5616f3(0x1db)]],'reconnection':!![],'reconnectionAttempts':Infinity,'reconnectionDelay':0x3e8}),this[_0x5616f3(0x77)]['on'](_0x58f68d[_0x5616f3(0x1c5)],()=>{const _0x791673=_0x5616f3;this[_0x791673(0xe9)](_0x58f68d[_0x791673(0x224)]),this[_0x791673(0x77)]?.[_0x791673(0x200)](_0x58f68d[_0x791673(0x1ff)]);for(const _0x242fe7 of this[_0x791673(0x8c)][_0x791673(0xb6)]()){this[_0x791673(0x77)]?.[_0x791673(0x200)](_0x58f68d[_0x791673(0x1da)],_0x242fe7);}this[_0x791673(0x115)]&&this[_0x791673(0x77)]?.[_0x791673(0x200)](_0x58f68d[_0x791673(0x1da)],this[_0x791673(0x115)]),this[_0x791673(0x200)](_0x58f68d[_0x791673(0x212)]);}),this[_0x5616f3(0x77)]['on'](_0x58f68d[_0x5616f3(0x79)],_0x43ea70=>{const _0x18cf4f=_0x5616f3;this[_0x18cf4f(0xe9)](_0x18cf4f(0x12b)+_0x43ea70+_0x18cf4f(0x83),_0x58f68d[_0x18cf4f(0x88)]),this[_0x18cf4f(0x1ee)]();}),this[_0x5616f3(0x77)]['on'](_0x58f68d[_0x5616f3(0x7c)],_0x58eefa=>{const _0x4acc09=_0x5616f3;this[_0x4acc09(0xe9)](_0x4acc09(0x1ad)+_0x58eefa,_0x58f68d[_0x4acc09(0x1d2)]),this[_0x4acc09(0x200)](_0x58f68d[_0x4acc09(0x1c1)],_0x58eefa);}),this[_0x5616f3(0x77)]['on'](_0x58f68d[_0x5616f3(0x1ec)],_0x5a295c=>{const _0x5775e6=_0x5616f3;try{const _0xfb8b32=exports[_0x5775e6(0x165)][_0x5775e6(0x11a)](_0x5a295c);!this[_0x5775e6(0x136)][_0x5775e6(0x1f8)](_0xfb8b32['id'])&&(this[_0x5775e6(0x136)][_0x5775e6(0x6b)](_0xfb8b32['id']),this[_0x5775e6(0x18d)](_0xfb8b32),this[_0x5775e6(0xe2)][_0x5775e6(0x169)](_0x58f68d[_0x5775e6(0x202)],{'messageId':_0xfb8b32['id']},{'headers':{'Authorization':_0x5775e6(0xf6)+this[_0x5775e6(0x90)]}})[_0x5775e6(0x19e)](()=>{}));}catch(_0x487f8c){this[_0x5775e6(0xe9)](_0x58f68d[_0x5775e6(0x14f)],_0x58f68d[_0x5775e6(0xfb)]);}}),this[_0x5616f3(0x77)]['on'](_0x58f68d[_0x5616f3(0x137)],_0x4bf9ff=>{const _0x248117=_0x5616f3;try{const _0x59221f=this[_0x248117(0xa2)](_0x4bf9ff);this[_0x248117(0x200)](_0x58f68d[_0x248117(0x20a)],_0x59221f);}catch(_0xce7a74){}}),this[_0x5616f3(0x77)]['on'](_0x5616f3(0x120)+this[_0x5616f3(0x130)],_0x4f28d7=>{const _0xf85e4c=_0x5616f3;try{const _0x4efc4d=this[_0xf85e4c(0xa2)](_0x4f28d7);if(!this[_0xf85e4c(0x8c)][_0xf85e4c(0x1f8)](_0x4efc4d['id'])){const _0x2c6cd1=_0x58f68d[_0xf85e4c(0x1af)][_0xf85e4c(0x1f6)]('|');let _0x4f0f10=0x0;while(!![]){switch(_0x2c6cd1[_0x4f0f10++]){case'0':this[_0xf85e4c(0x200)](_0x58f68d[_0xf85e4c(0x15a)],_0x4efc4d);continue;case'1':this[_0xf85e4c(0xe9)](_0xf85e4c(0x1a2)+_0x4efc4d[_0xf85e4c(0x1e9)],_0x58f68d[_0xf85e4c(0xf8)]);continue;case'2':this[_0xf85e4c(0x8c)][_0xf85e4c(0xa4)](_0x4efc4d['id'],_0x4efc4d);continue;case'3':this[_0xf85e4c(0x77)]?.[_0xf85e4c(0x200)](_0x58f68d[_0xf85e4c(0x1da)],_0x4efc4d['id']);continue;case'4':this[_0xf85e4c(0x1bc)]();continue;}break;}}}catch(_0x1b1292){this[_0xf85e4c(0xe9)](_0x58f68d[_0xf85e4c(0xa8)],_0x58f68d[_0xf85e4c(0xfb)]);}});}[a0_0x5477f5(0x18d)](_0x5269f3){const _0x4e423a=a0_0x5477f5,_0x1b18ba={'tgGOk':function(_0x40fbdd,_0x320a2f){return _0x40fbdd===_0x320a2f;},'zrVZD':_0x4e423a(0x13c),'ifIGd':function(_0x192b6f,_0x2fb542){return _0x192b6f===_0x2fb542;},'kVITo':_0x4e423a(0x86),'uiTbD':function(_0xff30f5,_0x123768){return _0xff30f5===_0x123768;},'gUxaQ':_0x4e423a(0x75),'Mmmtz':_0x4e423a(0x1de),'BAfRZ':_0x4e423a(0x14d),'Jhxwj':_0x4e423a(0x189),'bwYJb':_0x4e423a(0x1ba),'SMoRa':_0x4e423a(0xfa),'oRBxI':_0x4e423a(0x128)};if(_0x1b18ba[_0x4e423a(0x138)](_0x5269f3[_0x4e423a(0x16b)][_0x4e423a(0x114)],_0x1b18ba[_0x4e423a(0xa1)])){const _0x89bfb0=_0x5269f3[_0x4e423a(0x1f4)][_0x4e423a(0xcc)]();if(_0x1b18ba[_0x4e423a(0x198)](_0x89bfb0,_0x1b18ba[_0x4e423a(0x211)])){this[_0x4e423a(0xbf)](_0x5269f3[_0x4e423a(0x107)]);return;}else{if(_0x1b18ba[_0x4e423a(0x21a)](_0x89bfb0,_0x1b18ba[_0x4e423a(0xf3)])){this[_0x4e423a(0x192)]=!![],this[_0x4e423a(0x1bc)](),this[_0x4e423a(0x184)](_0x5269f3[_0x4e423a(0x107)],_0x1b18ba[_0x4e423a(0x160)]);return;}else{if(_0x1b18ba[_0x4e423a(0x198)](_0x89bfb0,_0x1b18ba[_0x4e423a(0x15f)])){this[_0x4e423a(0x192)]=![],this[_0x4e423a(0x1bc)](),this[_0x4e423a(0x184)](_0x5269f3[_0x4e423a(0x107)],_0x1b18ba[_0x4e423a(0x106)]);return;}else{if(_0x89bfb0[_0x4e423a(0xfc)](_0x1b18ba[_0x4e423a(0x1fa)])){const _0x2ca049=_0x89bfb0[_0x4e423a(0x135)](_0x1b18ba[_0x4e423a(0x1fa)],'')[_0x4e423a(0xcc)]();this[_0x4e423a(0x9b)](_0x5269f3[_0x4e423a(0x107)],_0x2ca049);return;}else{if(_0x89bfb0[_0x4e423a(0xfc)](_0x1b18ba[_0x4e423a(0x183)])){const _0x3356bc=_0x89bfb0[_0x4e423a(0x135)](_0x1b18ba[_0x4e423a(0x183)],'')[_0x4e423a(0xcc)]();this[_0x4e423a(0xf5)](_0x3356bc),this[_0x4e423a(0x184)](_0x5269f3[_0x4e423a(0x107)],_0x4e423a(0x1ca)+_0x3356bc+_0x4e423a(0x84));return;}}}}}}this[_0x4e423a(0x200)](_0x1b18ba[_0x4e423a(0xcd)],_0x5269f3);}async[a0_0x5477f5(0xbf)](_0x16c964){const _0x4b0730=a0_0x5477f5,_0x12c614={'qVoST':_0x4b0730(0xaa),'ylufi':_0x4b0730(0x1b2),'bFOjy':_0x4b0730(0xd4)},_0x2d445b=this[_0x4b0730(0x8c)][_0x4b0730(0x1dd)],_0x8de3ba=this[_0x4b0730(0x116)][_0x4b0730(0x1dd)],_0x4a15f9=this[_0x4b0730(0x69)]?this[_0x4b0730(0x69)][_0x4b0730(0x21b)]():_0x12c614[_0x4b0730(0x104)],_0x6a7dbf=_0x4b0730(0xe1)+_0x2d445b+_0x4b0730(0x20b)+_0x8de3ba+_0x4b0730(0x1bf)+(this[_0x4b0730(0x192)]?_0x12c614[_0x4b0730(0x68)]:_0x12c614[_0x4b0730(0x1c3)])+_0x4b0730(0x140)+_0x4a15f9+_0x4b0730(0x9a)+a0_0x2d6c1c[_0x4b0730(0x8a)];await this[_0x4b0730(0x184)](_0x16c964,_0x6a7dbf);}async[a0_0x5477f5(0x9b)](_0x4505aa,_0x872fd0){const _0x13416b=a0_0x5477f5,_0x515834={'soDao':_0x13416b(0xef)};try{const _0x40a6fc=await this[_0x13416b(0x1f0)](_0x872fd0),_0x2f88fd=await this[_0x13416b(0x1e6)](_0x40a6fc['id'],_0x40a6fc[_0x13416b(0x67)],_0x515834[_0x13416b(0x1ac)]);_0x2f88fd[_0x13416b(0x1e3)]?await this[_0x13416b(0x184)](_0x4505aa,_0x13416b(0x15e)+_0x40a6fc[_0x13416b(0x1e9)]):await this[_0x13416b(0x184)](_0x4505aa,_0x13416b(0x167)+_0x2f88fd[_0x13416b(0xb3)]);}catch(_0x1e08bb){await this[_0x13416b(0x184)](_0x4505aa,_0x13416b(0x1c7)+_0x1e08bb[_0x13416b(0x128)]);}}async[a0_0x5477f5(0x226)](_0x41cf9d){const _0x2bb778=a0_0x5477f5,_0x11400f={'KEKOR':function(_0x140614,_0x51e2c2){return _0x140614===_0x51e2c2;},'Cramd':_0x2bb778(0x1c2),'WrJSZ':_0x2bb778(0xc5),'TbcBV':_0x2bb778(0x199),'jwqFQ':_0x2bb778(0x128),'yLmjy':_0x2bb778(0x11e)};if(!a0_0x379b8d[_0x2bb778(0xe3)](this[_0x2bb778(0x157)]))throw new Error(_0x2bb778(0x1d9)+this[_0x2bb778(0x157)]);this[_0x2bb778(0xe9)](_0x2bb778(0x94)+_0x41cf9d[_0x2bb778(0x1e9)]);const _0x4bcee9=(0x0,a0_0x251812[_0x2bb778(0x119)])(this[_0x2bb778(0x157)],[JSON[_0x2bb778(0x6f)](_0x41cf9d)]);return this[_0x2bb778(0x116)][_0x2bb778(0xa4)](_0x41cf9d['id'],_0x4bcee9),_0x4bcee9['on'](_0x11400f[_0x2bb778(0x8d)],_0x31a6a8=>{const _0x5f0000=_0x2bb778;this[_0x5f0000(0xe9)](_0x5f0000(0xf0)+_0x41cf9d['id'][_0x5f0000(0xf2)](0x0,0x4)+']\x20'+(_0x31a6a8[_0x5f0000(0x1a7)]||JSON[_0x5f0000(0x6f)](_0x31a6a8))),_0x11400f[_0x5f0000(0x166)](_0x31a6a8[_0x5f0000(0xdc)],_0x11400f[_0x5f0000(0x109)])&&this[_0x5f0000(0x116)][_0x5f0000(0x176)](_0x41cf9d['id']);}),_0x4bcee9['on'](_0x11400f[_0x2bb778(0x6c)],_0x4b6f9a=>{const _0x1593b1=_0x2bb778;this[_0x1593b1(0xe9)](_0x1593b1(0x93)+_0x41cf9d['id'][_0x1593b1(0xf2)](0x0,0x4)+_0x1593b1(0x161)+_0x4b6f9a,_0x11400f[_0x1593b1(0x166)](_0x4b6f9a,0x0)?_0x11400f[_0x1593b1(0x188)]:_0x11400f[_0x1593b1(0x1b7)]),this[_0x1593b1(0x116)][_0x1593b1(0x176)](_0x41cf9d['id']);}),_0x4bcee9;}[a0_0x5477f5(0xf5)](_0x534de1){const _0x1c9794=a0_0x5477f5,_0x1fc985=this[_0x1c9794(0x116)][_0x1c9794(0x82)](_0x534de1);if(_0x1fc985)return _0x1fc985[_0x1c9794(0x18e)](),this[_0x1c9794(0x116)][_0x1c9794(0x176)](_0x534de1),!![];return![];}[a0_0x5477f5(0x1f3)](_0xc7a274={}){const _0xc45744=a0_0x5477f5,_0x4c3dc0={'eNeXE':function(_0x196fcb,_0x8d1c27){return _0x196fcb>=_0x8d1c27;},'JWxaR':function(_0x3237bd,_0x109356){return _0x3237bd&&_0x109356;},'iBJzF':_0xc45744(0x199),'xURoU':function(_0x161877,_0x326ccb){return _0x161877/_0x326ccb;},'FnNxw':function(_0x31a40f){return _0x31a40f();},'fZMtf':function(_0x108043,_0xb9603d,_0xd1cbee){return _0x108043(_0xb9603d,_0xd1cbee);}},_0x5586bf=_0xc7a274[_0xc45744(0x129)]||0xea60;this[_0xc45744(0xe9)](_0xc45744(0x1eb)+_0x4c3dc0[_0xc45744(0x148)](_0x5586bf,0x3e8)+_0xc45744(0x18c));const _0x3b0f31=async()=>{const _0x7fd30d=_0xc45744;if(this[_0x7fd30d(0x192)])return;this[_0x7fd30d(0x69)]=new Date();try{const _0x3d6bf3=await this[_0x7fd30d(0x1a3)]();for(const _0x153565 of _0x3d6bf3){if(this[_0x7fd30d(0xb8)][_0x7fd30d(0x1f8)](_0x153565['id']))continue;const _0x309a91=_0xc7a274[_0x7fd30d(0x1c8)]?_0xc7a274[_0x7fd30d(0x1c8)][_0x7fd30d(0xa0)](_0x26c84f=>_0x153565[_0x7fd30d(0x1e9)][_0x7fd30d(0x65)]()[_0x7fd30d(0x1df)](_0x26c84f[_0x7fd30d(0x65)]())||_0x153565[_0x7fd30d(0xdf)][_0x7fd30d(0x65)]()[_0x7fd30d(0x1df)](_0x26c84f[_0x7fd30d(0x65)]())):!![],_0xc98b95=_0xc7a274[_0x7fd30d(0x17e)]?_0x4c3dc0[_0x7fd30d(0x142)](_0x153565[_0x7fd30d(0x67)],_0xc7a274[_0x7fd30d(0x17e)]):!![];if(_0x4c3dc0[_0x7fd30d(0x21e)](_0x309a91,_0xc98b95)){const _0x46741d=_0xc7a274[_0x7fd30d(0x19d)]||_0x7fd30d(0xd0)+_0x153565[_0x7fd30d(0x144)]+_0x7fd30d(0x70);this[_0x7fd30d(0xe9)](_0x7fd30d(0xfd)+_0x153565[_0x7fd30d(0x1e9)]+_0x7fd30d(0x13b)),await this[_0x7fd30d(0x1e6)](_0x153565['id'],_0x153565[_0x7fd30d(0x67)],_0x46741d);}}}catch(_0x1cf0dd){this[_0x7fd30d(0xe9)](_0x7fd30d(0x141)+_0x1cf0dd[_0x7fd30d(0x128)],_0x4c3dc0[_0x7fd30d(0x10d)]);}};_0x4c3dc0[_0xc45744(0x92)](_0x3b0f31),this[_0xc45744(0x12a)]=_0x4c3dc0[_0xc45744(0x112)](setInterval,_0x3b0f31,_0x5586bf);}async[a0_0x5477f5(0x196)](_0x4b87fa,_0x2f6563){const _0x46b8ef=a0_0x5477f5,_0x11586f={'OSwdh':_0x46b8ef(0xb2)},_0x5d43c6=a0_0xcb9112[_0x46b8ef(0x193)](this[_0x46b8ef(0xd7)],_0x4b87fa);!a0_0x379b8d[_0x46b8ef(0xe3)](_0x5d43c6)&&a0_0x379b8d[_0x46b8ef(0x1a5)](_0x5d43c6,{'recursive':!![]});this[_0x46b8ef(0xe9)](_0x46b8ef(0x110)+_0x5d43c6);try{await this[_0x46b8ef(0x123)](_0x4b87fa,_0x2f6563),this[_0x46b8ef(0xe9)](_0x46b8ef(0x1f1));}catch(_0x49c7df){this[_0x46b8ef(0xe9)](_0x46b8ef(0xee)+_0x49c7df,_0x11586f[_0x46b8ef(0x159)]);}return a0_0xcb9112[_0x46b8ef(0xd5)](_0x5d43c6);}async[a0_0x5477f5(0x1e4)](_0x2edc50,_0x346971){const _0xab8aa8=a0_0x5477f5,_0x5cb4bb={'OXYAz':function(_0x2b86d8,_0x42c13b){return _0x2b86d8(_0x42c13b);},'IXDcf':_0xab8aa8(0x10a),'XfEfa':_0xab8aa8(0x121),'kKcol':_0xab8aa8(0x195),'ehaRW':_0xab8aa8(0xcf)},_0x32c8fd=a0_0xcb9112[_0xab8aa8(0x193)](this[_0xab8aa8(0xd7)],_0x2edc50);return this[_0xab8aa8(0xe9)](_0xab8aa8(0x1d6)+_0x2edc50+':\x20'+_0x346971),new Promise(_0x23eacb=>{const _0x4504e0=_0xab8aa8,_0x5e45f4={'IRPsI':_0x5cb4bb[_0x4504e0(0x9c)],'OigSQ':_0x5cb4bb[_0x4504e0(0x146)]};let _0x3efa20='';const [_0x22a5bb,..._0x21b310]=_0x346971[_0x4504e0(0x1f6)]('\x20'),_0x305f15=(0x0,a0_0x251812[_0x4504e0(0x207)])(_0x22a5bb,_0x21b310,{'cwd':_0x32c8fd,'shell':!![]});_0x305f15[_0x4504e0(0x7f)]['on'](_0x5cb4bb[_0x4504e0(0x1be)],_0x185253=>{const _0x4c3c55=_0x4504e0,_0xcc2a22=_0x185253[_0x4c3c55(0x10b)]();_0x3efa20+=_0xcc2a22,this[_0x4c3c55(0x200)](_0x5e45f4[_0x4c3c55(0x13d)],{'jobId':_0x2edc50,'chunk':_0xcc2a22});if(this[_0x4c3c55(0x13a)])this[_0x4c3c55(0x184)](_0x2edc50,_0x4c3c55(0xe6)+_0xcc2a22[_0x4c3c55(0xf2)](0x0,0xc8)+_0x4c3c55(0xd3))[_0x4c3c55(0x19e)](()=>{});}),_0x305f15[_0x4504e0(0x12e)]['on'](_0x5cb4bb[_0x4504e0(0x1be)],_0x26f957=>{const _0x9ddb7c=_0x4504e0;_0x3efa20+=_0x26f957[_0x9ddb7c(0x10b)](),this[_0x9ddb7c(0x200)](_0x5e45f4[_0x9ddb7c(0x1dc)],{'jobId':_0x2edc50,'chunk':_0x26f957[_0x9ddb7c(0x10b)]()});}),_0x305f15['on'](_0x5cb4bb[_0x4504e0(0x156)],_0x22c959=>{const _0x289cb3=_0x4504e0;this[_0x289cb3(0xe9)](_0x289cb3(0x216)+_0x22c959),_0x5cb4bb[_0x289cb3(0x10c)](_0x23eacb,{'exitCode':_0x22c959,'output':_0x3efa20});});});}async[a0_0x5477f5(0x11f)](_0x5caa12,_0x31786a){const _0x4c30d8=a0_0x5477f5,_0x2a9ac1=a0_0xcb9112[_0x4c30d8(0x193)](this[_0x4c30d8(0xd7)],_0x5caa12);this[_0x4c30d8(0xe9)](_0x4c30d8(0x8f)+_0x31786a[_0x4c30d8(0x150)]+_0x4c30d8(0x172)+_0x5caa12+_0x4c30d8(0xd3));const _0x4d0802=[];for(const _0x3e5963 of _0x31786a){const _0x4dce57=a0_0xcb9112[_0x4c30d8(0x193)](_0x2a9ac1,_0x3e5963);a0_0x379b8d[_0x4c30d8(0xe3)](_0x4dce57)&&(await this[_0x4c30d8(0x1b4)](_0x5caa12,_0x3e5963,_0x4dce57),_0x4d0802[_0x4c30d8(0x18b)](_0x3e5963));}const _0x38579a=_0x4c30d8(0x187)+_0x4d0802[_0x4c30d8(0x1e2)](_0x1ce80a=>'-\x20'+_0x1ce80a)[_0x4c30d8(0x193)]('\x0a');return await this[_0x4c30d8(0x184)](_0x5caa12,_0x38579a),_0x4d0802;}[a0_0x5477f5(0x81)](){const _0x1bc5e8=a0_0x5477f5,_0x2b4c55={'vkjcJ':_0x1bc5e8(0xbb),'ZbpnM':function(_0x1445fd,_0x35b788){return _0x1445fd!==_0x35b788;},'ZOZGb':_0x1bc5e8(0xc3),'MMOIj':_0x1bc5e8(0x20f),'xQiWY':_0x1bc5e8(0xb2)};if(!this[_0x1bc5e8(0x16d)]||!a0_0x379b8d[_0x1bc5e8(0xe3)](this[_0x1bc5e8(0x16d)]))return;try{const _0x34a1bc=JSON[_0x1bc5e8(0x11a)](a0_0x379b8d[_0x1bc5e8(0x223)](this[_0x1bc5e8(0x16d)],_0x2b4c55[_0x1bc5e8(0x64)]));_0x34a1bc[_0x1bc5e8(0x8c)]&&Object[_0x1bc5e8(0x1cd)](_0x34a1bc[_0x1bc5e8(0x8c)])[_0x1bc5e8(0x147)](([_0x3d84a5,_0x1a1d0b])=>{const _0x444371=_0x1bc5e8;this[_0x444371(0x8c)][_0x444371(0xa4)](_0x3d84a5,_0x1a1d0b);}),_0x34a1bc[_0x1bc5e8(0xb8)]&&_0x34a1bc[_0x1bc5e8(0xb8)][_0x1bc5e8(0x147)](_0x596ed3=>this[_0x1bc5e8(0xb8)][_0x1bc5e8(0x6b)](_0x596ed3)),_0x2b4c55[_0x1bc5e8(0xc6)](_0x34a1bc[_0x1bc5e8(0x192)],undefined)&&(this[_0x1bc5e8(0x192)]=_0x34a1bc[_0x1bc5e8(0x192)]),this[_0x1bc5e8(0xe9)](_0x1bc5e8(0x16c)+this[_0x1bc5e8(0x8c)][_0x1bc5e8(0x1dd)]+_0x1bc5e8(0x1a0)+(this[_0x1bc5e8(0x192)]?_0x2b4c55[_0x1bc5e8(0x126)]:_0x2b4c55[_0x1bc5e8(0x1d0)]));}catch(_0x4822e7){this[_0x1bc5e8(0xe9)](_0x1bc5e8(0x124)+_0x4822e7[_0x1bc5e8(0x128)],_0x2b4c55[_0x1bc5e8(0x1e5)]);}}[a0_0x5477f5(0x1bc)](){const _0x32f536=a0_0x5477f5,_0x16210e={'vEOgg':_0x32f536(0xb2)};if(!this[_0x32f536(0x16d)])return;try{const _0x1e9406={'activeMissions':Object[_0x32f536(0x194)](this[_0x32f536(0x8c)]),'bidCache':Array[_0x32f536(0xe4)](this[_0x32f536(0xb8)]),'autopilotPaused':this[_0x32f536(0x192)]};a0_0x379b8d[_0x32f536(0x89)](this[_0x32f536(0x16d)],JSON[_0x32f536(0x6f)](_0x1e9406,null,0x2));}catch(_0x39f122){this[_0x32f536(0xe9)](_0x32f536(0x1b5)+_0x39f122[_0x32f536(0x128)],_0x16210e[_0x32f536(0x190)]);}}async[a0_0x5477f5(0x222)](_0x4f36e0,_0x2bc817=!![]){const _0x5f3ecd=a0_0x5477f5,_0x36bf51={'GtAWh':_0x5f3ecd(0x87)};this[_0x5f3ecd(0x77)]&&this[_0x5f3ecd(0x77)][_0x5f3ecd(0x200)](_0x36bf51[_0x5f3ecd(0x9e)],{'jobId':_0x4f36e0,'isTyping':_0x2bc817});}async[a0_0x5477f5(0xac)](_0x11f75b){const _0xf97766=a0_0x5477f5;if(!this[_0xf97766(0x130)])return;return this[_0xf97766(0xe2)][_0xf97766(0x169)](_0xf97766(0x180)+this[_0xf97766(0x130)]+_0xf97766(0x98),_0x11f75b,{'headers':{'Authorization':_0xf97766(0xf6)+this[_0xf97766(0x90)]}});}async[a0_0x5477f5(0x1a3)](){const _0x308b92=a0_0x5477f5,_0x1bca99={'bPeCz':_0x308b92(0x1bb)},_0x51fa08=await this[_0x308b92(0xe2)][_0x308b92(0x82)](_0x1bca99[_0x308b92(0x7e)],{'headers':{'Authorization':_0x308b92(0xf6)+this[_0x308b92(0x90)]}});return _0x51fa08[_0x308b92(0x195)][_0x308b92(0x195)][_0x308b92(0x175)](_0x33f04c=>_0x33f04c[_0x308b92(0x1fd)]===_0x308b92(0xc7))[_0x308b92(0x1e2)](_0x91d917=>this[_0x308b92(0xa2)](_0x91d917));}async[a0_0x5477f5(0x1f0)](_0x4a642c){const _0x2b2557=a0_0x5477f5,_0x4052aa=await this[_0x2b2557(0xe2)][_0x2b2557(0x82)](_0x2b2557(0x16f)+_0x4a642c,{'headers':{'Authorization':_0x2b2557(0xf6)+this[_0x2b2557(0x90)]}});return this[_0x2b2557(0xa2)](_0x4052aa[_0x2b2557(0x195)][_0x2b2557(0xa3)]);}async[a0_0x5477f5(0x1e6)](_0x1bb987,_0x5b526f,_0x319d3a){const _0x56aefb=a0_0x5477f5,_0x14bc4b={'AljjD':_0x56aefb(0x17f)};try{const _0x572387=await this[_0x56aefb(0xe2)][_0x56aefb(0x169)](_0x14bc4b[_0x56aefb(0x1c9)],{'jobId':_0x1bb987,'amount':_0x5b526f,'message':_0x319d3a,'apiKey':this[_0x56aefb(0x90)]},{'headers':{'Authorization':_0x56aefb(0xf6)+this[_0x56aefb(0x90)]}});return _0x572387[_0x56aefb(0x195)][_0x56aefb(0x1e3)]&&(this[_0x56aefb(0xb8)][_0x56aefb(0x6b)](_0x1bb987),this[_0x56aefb(0x1bc)]()),_0x572387[_0x56aefb(0x195)];}catch(_0x58c961){return{'success':![],'error':_0x58c961[_0x56aefb(0x1a8)]?.[_0x56aefb(0x195)]?.[_0x56aefb(0xb3)]||_0x58c961[_0x56aefb(0x128)]};}}async[a0_0x5477f5(0x184)](_0x18ee4e,_0x3e53f7){const _0x5e93e1=a0_0x5477f5,_0x2c1073=await this[_0x5e93e1(0xe2)][_0x5e93e1(0x169)](_0x5e93e1(0x16f)+_0x18ee4e+_0x5e93e1(0x21c),{'content':_0x3e53f7,'senderId':this[_0x5e93e1(0x130)]},{'headers':{'Authorization':_0x5e93e1(0xf6)+this[_0x5e93e1(0x90)]}});return _0x2c1073[_0x5e93e1(0x195)];}async[a0_0x5477f5(0x227)](_0xc5ac7a){const _0x24d73c=a0_0x5477f5,_0x38b402=await this[_0x24d73c(0xe2)][_0x24d73c(0x82)](_0x24d73c(0x16f)+_0xc5ac7a+_0x24d73c(0x21c),{'headers':{'Authorization':_0x24d73c(0xf6)+this[_0x24d73c(0x90)]}});return a0_0x41ac02['z'][_0x24d73c(0x21f)](exports[_0x24d73c(0x165)])[_0x24d73c(0x11a)](_0x38b402[_0x24d73c(0x195)][_0x24d73c(0x186)]);}async[a0_0x5477f5(0x149)](_0x20bb7a,_0x4826d1,_0x5466d4){const _0x20cb3f=a0_0x5477f5,_0x2e5323={'HcIJL':_0x20cb3f(0xf1)},_0x592e4b=await this[_0x20cb3f(0xe2)][_0x20cb3f(0x169)](_0x20cb3f(0x16f)+_0x20bb7a+_0x20cb3f(0x17a),{'url':_0x4826d1,'name':_0x5466d4,'type':_0x2e5323[_0x20cb3f(0x73)],'uploaderId':this[_0x20cb3f(0x130)]},{'headers':{'Authorization':_0x20cb3f(0xf6)+this[_0x20cb3f(0x90)]}});return _0x592e4b[_0x20cb3f(0x195)][_0x20cb3f(0x1e3)];}async[a0_0x5477f5(0x1f7)](_0x15756c,_0x241308,_0x1b7772){const _0x1da307=a0_0x5477f5,_0x3d5239={'RpEPr':function(_0x1b5401,_0x497929){return _0x1b5401===_0x497929;},'yAcGg':_0x1da307(0x155),'WEEeW':_0x1da307(0x199)};if(!a0_0x379b8d[_0x1da307(0xe3)](_0x241308))throw new Error(_0x1da307(0xa6)+_0x241308);if(_0x3d5239[_0x1da307(0x145)](a0_0x379b8d[_0x1da307(0xa7)](_0x241308)[_0x1da307(0x1dd)],0x0))throw new Error(_0x1da307(0x1cb)+_0x241308);const _0xd6aa43=_0x1b7772||a0_0xcb9112[_0x1da307(0x1d3)](_0x241308);try{const _0x446a20=await this[_0x1da307(0xe2)][_0x1da307(0x82)](_0x1da307(0x1d1)+_0xd6aa43,{'headers':{'Authorization':_0x1da307(0xf6)+this[_0x1da307(0x90)]}}),{url:_0x3680db}=_0x446a20[_0x1da307(0x195)],_0x40b9ea=a0_0x379b8d[_0x1da307(0x223)](_0x241308);return await a0_0x58d3cc[_0x1da307(0x125)][_0x1da307(0x151)](_0x3680db,_0x40b9ea,{'headers':{'Content-Type':_0x3d5239[_0x1da307(0x13f)]}}),this[_0x1da307(0x149)](_0x15756c,_0x3680db,_0xd6aa43);}catch(_0x4f14e5){this[_0x1da307(0xe9)](_0x1da307(0x153)+_0x4f14e5[_0x1da307(0x128)],_0x3d5239[_0x1da307(0x97)]);throw _0x4f14e5;}}async[a0_0x5477f5(0xf7)](_0x3b1660){const _0xa4d387=a0_0x5477f5,_0x2a770b={'LKCXa':_0xa4d387(0x1aa)},_0x333385=await this[_0xa4d387(0xe2)][_0xa4d387(0x169)](_0xa4d387(0x16f)+_0x3b1660+_0xa4d387(0x71),{'userId':this[_0xa4d387(0x130)],'role':_0x2a770b[_0xa4d387(0xdd)]},{'headers':{'Authorization':_0xa4d387(0xf6)+this[_0xa4d387(0x90)]}});return _0x333385[_0xa4d387(0x195)][_0xa4d387(0x1e3)]&&(this[_0xa4d387(0x8c)][_0xa4d387(0x176)](_0x3b1660),this[_0xa4d387(0x1bc)]()),_0x333385[_0xa4d387(0x195)];}async[a0_0x5477f5(0x123)](_0x3109,_0x5ef269){const _0x39b15a=a0_0x5477f5;if(!this[_0x39b15a(0x130)])return;return this[_0x39b15a(0xe2)][_0x39b15a(0x169)](_0x39b15a(0x16f)+_0x3109+_0x39b15a(0x206),{'name':_0x5ef269},{'headers':{'Authorization':_0x39b15a(0xf6)+this[_0x39b15a(0x90)]}});}async[a0_0x5477f5(0x1b4)](_0x843e80,_0x895399,_0x454a2e,_0x54b6c9=![]){const _0x5bbcf3=a0_0x5477f5,_0x7c544={'nFuKE':_0x5bbcf3(0xbb)};if(!this[_0x5bbcf3(0x130)])return;let _0xb67199=_0x454a2e;if(!_0x54b6c9&&a0_0x379b8d[_0x5bbcf3(0xe3)](_0x454a2e))try{_0xb67199=a0_0x379b8d[_0x5bbcf3(0x223)](_0x454a2e,_0x7c544[_0x5bbcf3(0x215)]);}catch(_0x23884b){}return this[_0x5bbcf3(0xe2)][_0x5bbcf3(0x169)](_0x5bbcf3(0x16f)+_0x843e80+_0x5bbcf3(0x1ab),{'path':_0x895399,'content':_0xb67199,'isBlob':_0x54b6c9},{'headers':{'Authorization':_0x5bbcf3(0xf6)+this[_0x5bbcf3(0x90)]}});}async[a0_0x5477f5(0x133)](_0x545893){const _0x308648=a0_0x5477f5;if(!this[_0x308648(0x130)])return;return this[_0x308648(0xe2)][_0x308648(0x169)](_0x308648(0x180)+this[_0x308648(0x130)]+_0x308648(0x98),{'tokensUsed':_0x545893},{'headers':{'Authorization':_0x308648(0xf6)+this[_0x308648(0x90)]}});}async[a0_0x5477f5(0x12d)](_0x286087,_0x5c9eeb){const _0x317383=a0_0x5477f5,_0x4a42d5={'ADuVu':_0x317383(0x205),'jLPkN':_0x317383(0x199)};this[_0x317383(0xe9)](_0x317383(0x1a9)+_0x5c9eeb);try{const _0x387e8b=_0x317383(0x18f)+_0x5c9eeb+_0x317383(0x191)+_0x286087+'.',_0x3f68d0=await this[_0x317383(0x1e4)](_0x286087,_0x317383(0x158)+_0x286087+_0x317383(0xea)+_0x387e8b+'\x22'),_0x13f0c6=_0x317383(0x209)+_0x5c9eeb+_0x317383(0xdb)+_0x286087+'.',_0x378441=await this[_0x317383(0x1e4)](_0x286087,_0x317383(0x101)+_0x286087+_0x317383(0xea)+_0x13f0c6+'\x22');return await this[_0x317383(0x184)](_0x286087,_0x4a42d5[_0x317383(0xbc)]),{'pmSession':_0x3f68d0,'engSession':_0x378441};}catch(_0x588695){this[_0x317383(0xe9)](_0x317383(0x1e1)+_0x588695[_0x317383(0x128)],_0x4a42d5[_0x317383(0x118)]);}}async[a0_0x5477f5(0x210)](_0x323eb9,_0x2d69ec){const _0x32df60=a0_0x5477f5;if(!this[_0x32df60(0x130)])return;return this[_0x32df60(0xe2)][_0x32df60(0x169)](_0x32df60(0x16f)+_0x323eb9+_0x32df60(0x17c),{'progress':_0x2d69ec},{'headers':{'Authorization':_0x32df60(0xf6)+this[_0x32df60(0x90)]}});}async[a0_0x5477f5(0xb1)](_0x3fcd45){const _0x38b766=a0_0x5477f5;if(!this[_0x38b766(0x130)])return;return this[_0x38b766(0xe2)][_0x38b766(0x169)](_0x38b766(0x180)+this[_0x38b766(0x130)]+_0x38b766(0x14b),{'message':_0x3fcd45},{'headers':{'Authorization':_0x38b766(0xf6)+this[_0x38b766(0x90)]}});}async[a0_0x5477f5(0x10f)](_0x4b8d4d){const _0x310d49=a0_0x5477f5;if(!this[_0x310d49(0x130)])return;return this[_0x310d49(0xe2)][_0x310d49(0x169)](_0x310d49(0x180)+this[_0x310d49(0x130)]+_0x310d49(0x14b),{'message':_0x310d49(0x213),'data':{..._0x4b8d4d,'timestamp':new Date()[_0x310d49(0x76)](),'sdk_version':a0_0x2d6c1c[_0x310d49(0x8a)],'uptime':process[_0x310d49(0x173)]()}},{'headers':{'Authorization':_0x310d49(0xf6)+this[_0x310d49(0x90)]}});}async[a0_0x5477f5(0x1b6)](_0x4d075e,_0x1d0e45=a0_0x5477f5(0xc5)){const _0x31dd05=a0_0x5477f5;if(!this[_0x31dd05(0x130)])return;if(this[_0x31dd05(0xca)])try{a0_0x379b8d[_0x31dd05(0x1a6)](this[_0x31dd05(0xca)],'['+new Date()[_0x31dd05(0x76)]()+_0x31dd05(0x219)+_0x1d0e45+']\x20'+_0x4d075e+'\x0a');}catch(_0x81454f){}try{await this[_0x31dd05(0xe2)][_0x31dd05(0x169)](_0x31dd05(0x180)+this[_0x31dd05(0x130)]+_0x31dd05(0x1b1),{'message':_0x4d075e,'level':_0x1d0e45},{'headers':{'Authorization':_0x31dd05(0xf6)+this[_0x31dd05(0x90)]}});if(this[_0x31dd05(0x13a)])console[_0x31dd05(0x1b6)]('['+_0x1d0e45+']\x20'+_0x4d075e);}catch(_0x4d6704){}}[a0_0x5477f5(0x162)](_0x1a2e39=0x7530){const _0x29f70e=a0_0x5477f5,_0x2d2ecf={'UkfLO':function(_0x9350ad,_0x1a7262){return _0x9350ad(_0x1a7262);},'fDPou':function(_0x1597ff,_0x55f342,_0x5d482c){return _0x1597ff(_0x55f342,_0x5d482c);}};if(!this[_0x29f70e(0x130)])return;if(this[_0x29f70e(0x1b3)])_0x2d2ecf[_0x29f70e(0xff)](clearInterval,this[_0x29f70e(0x1b3)]);this[_0x29f70e(0xab)](),this[_0x29f70e(0x1b3)]=_0x2d2ecf[_0x29f70e(0xc4)](setInterval,()=>this[_0x29f70e(0xab)](),_0x1a2e39);}async[a0_0x5477f5(0xab)](){const _0x55f5de=a0_0x5477f5;if(!this[_0x55f5de(0x130)])return;try{await this[_0x55f5de(0xe2)][_0x55f5de(0x169)](_0x55f5de(0x180)+this[_0x55f5de(0x130)]+_0x55f5de(0x11c),{},{'headers':{'Authorization':_0x55f5de(0xf6)+this[_0x55f5de(0x90)]}});}catch(_0x59d3fd){}}[a0_0x5477f5(0xe9)](_0x420cd9,_0x177100=a0_0x5477f5(0xc5)){const _0x11683b=a0_0x5477f5;if(this[_0x11683b(0x13a)])console[_0x11683b(0x1b6)](_0x11683b(0x1e0)+_0x420cd9);}[a0_0x5477f5(0x7d)](_0x37f252){const _0x49e289=a0_0x5477f5,_0x3af6b1={'cGacj':_0x49e289(0x128)};this['on'](_0x3af6b1[_0x49e289(0x152)],_0x37f252);}[a0_0x5477f5(0x1f5)](_0xd550c2){const _0x2b9d29=a0_0x5477f5,_0x37e09f={'kWolX':_0x2b9d29(0xa3)};this['on'](_0x37e09f[_0x2b9d29(0x1cf)],_0xd550c2);}[a0_0x5477f5(0xe7)](_0xae92a2){const _0x20967d=a0_0x5477f5,_0x1cbcb2={'otjXX':_0x20967d(0x143)};this['on'](_0x1cbcb2[_0x20967d(0x16e)],_0xae92a2);}}exports[a0_0x5477f5(0xd6)]=a0_0x2d6c1c,a0_0x2d6c1c[a0_0x5477f5(0x8a)]=a0_0x1ba5ad,exports[a0_0x5477f5(0x125)]=a0_0x2d6c1c;
package/init.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  const fs = require('fs');
4
4
  const path = require('path');
5
- const { execSync, spawn } = require('child_process');
5
+ const { execSync } = require('child_process');
6
6
  const readline = require('readline');
7
7
 
8
8
  // 0. Get version from package.json
@@ -36,7 +36,7 @@ async function main() {
36
36
 
37
37
  // 2. Select Brain
38
38
  console.log("\n🧠 Choose an Execution Engine (Brain):");
39
- console.log(" [1] OpenClaw (Advanced: Full OS Access - Browser, Shell, Python)");
39
+ console.log(" [1] OpenClaw (Advanced: Swarm Architecture - Multi-process Workers)");
40
40
  console.log(" [2] Direct LLM (Cloud: Gemini, OpenAI, Claude)");
41
41
  console.log(" [3] Bare Skeleton (Minimal: Write your own logic)");
42
42
 
@@ -52,10 +52,12 @@ async function main() {
52
52
  envVars += `RENTABOTS_API_URL=${defaultUrl}\n`;
53
53
 
54
54
  let agentTemplate = "";
55
+ let includeWorker = false;
55
56
 
56
57
  if (brainChoice === '1') {
57
- console.log("✅ Selected: OpenClaw Execution Engine.");
58
- agentTemplate = getOpenClawTemplate(CURRENT_VERSION);
58
+ console.log("✅ Selected: OpenClaw Swarm Architecture.");
59
+ agentTemplate = getOpenClawQueenTemplate(CURRENT_VERSION);
60
+ includeWorker = true;
59
61
  } else if (brainChoice === '2') {
60
62
  console.log("\n☁️ Select LLM Provider:");
61
63
  console.log(" [1] Gemini (Recommended)");
@@ -104,6 +106,10 @@ async function main() {
104
106
  fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2));
105
107
  fs.writeFileSync('.env', envVars);
106
108
  fs.writeFileSync('agent.js', agentTemplate);
109
+
110
+ if (includeWorker) {
111
+ fs.writeFileSync('worker.js', getWorkerTemplate());
112
+ }
107
113
 
108
114
  // 5. Install
109
115
  console.log('\n📦 Installing dependencies...');
@@ -122,107 +128,123 @@ async function main() {
122
128
 
123
129
  // --- TEMPLATES ---
124
130
 
125
- function getOpenClawTemplate(ver) {
131
+ function getOpenClawQueenTemplate(ver) {
126
132
  return `
127
133
  require('dotenv').config();
128
134
  const { Agent } = require('rentabots-sdk');
129
135
 
136
+ /**
137
+ * 👑 THE QUEEN (Main Process)
138
+ * Orchestrates scouting, bidding, and worker management.
139
+ */
130
140
  async function main() {
131
- const agent = new Agent({
141
+ const queen = new Agent({
132
142
  baseUrl: process.env.RENTABOTS_API_URL,
133
143
  persistState: true,
134
- debug: true,
135
- localLogPath: './agent.log' // 📂 High-resolution local logs
144
+ debug: true
136
145
  });
137
146
 
138
- await agent.connect();
139
- await agent.log("🤖 Agent Engine Initialized (v\${ver})");
140
-
141
- const TOOLS_LIST = "Chrome Browser, Bash Shell, Python 3.10, Node.js 22, File System";
147
+ await queen.connect();
148
+ await queen.log("👑 Queen Process Initialized. Monitoring RentaBots Grid.");
142
149
 
143
- // --- 📂 RESUMPTION LOGIC ---
144
- for (const [jobId, job] of agent.activeMissions) {
150
+ // --- 📂 MISSION RESUMPTION ---
151
+ for (const [jobId, job] of queen.activeMissions) {
145
152
  if (job.status === 'in_progress') {
146
- await agent.log(\`📡 Resuming Mission: \${job.title}\`);
147
- executeWork(agent, job);
153
+ await queen.log(\`📡 Resuming Worker for Mission: \${job.title}\`);
154
+ queen.spawnWorker(job);
148
155
  }
149
156
  }
150
157
 
151
- // 1. AUTO-PILOT (Scrape -> Bid)
152
- agent.startAutopilot({
158
+ // 1. AUTO-PILOT (Scout & Bid)
159
+ queen.startAutopilot({
153
160
  keywords: ['python', 'script', 'scraper', 'react', 'fix', 'automation'],
154
161
  minBudget: 1,
155
162
  scoutingInterval: 60000
156
163
  });
157
164
 
158
- // 2. MISSION LIFECYCLE
159
- agent.on('assignment', async (job) => {
160
- await agent.log(\`🎯 MISSION SECURED: \${job.title}\`, 'SUCCESS');
161
- await agent.sendMessage(job.id, "🎯 Mission Secured. I am initializing my OpenClaw environment.");
162
- await agent.sendMessage(job.id, \`🔧 ACTIVE TOOLS: \${TOOLS_LIST}\`);
165
+ // 2. ASSIGNMENT HANDLER
166
+ queen.on('assignment', async (job) => {
167
+ await queen.log(\`🎯 MISSION SECURED: \${job.title}\`, 'SUCCESS');
163
168
 
164
- const desc = job.description.toLowerCase();
165
- let query = "I've received your request and am analyzing the requirements now.";
166
- if (desc.includes('database')) query += " Which database engine do you prefer (PostgreSQL/MongoDB)?";
167
- else if (desc.includes('scrape')) query += " Please provide the target URL for the scraping task.";
168
-
169
- await agent.sendMessage(job.id, query);
170
- executeWork(agent, job);
169
+ // 👷 Spawn a dedicated Worker process for this mission
170
+ await queen.spawnWorker(job);
171
+ });
172
+
173
+ console.log("👀 Queen is standing by for marketplace events...");
174
+ }
175
+
176
+ main().catch(console.error);`;
177
+ }
178
+
179
+ function getWorkerTemplate() {
180
+ return `
181
+ /**
182
+ * 👷 THE WORKER (Dedicated Process)
183
+ * Handles execution and client communication for a single mission.
184
+ */
185
+
186
+ const { Agent } = require('rentabots-sdk');
187
+ const job = JSON.parse(process.argv[2]);
188
+
189
+ async function main() {
190
+ console.log(\`👷 Worker started for Job: \${job.id}\`);
191
+
192
+ const agent = new Agent({
193
+ apiKey: process.env.RENTABOTS_API_KEY,
194
+ baseUrl: process.env.RENTABOTS_API_URL,
195
+ persistState: false, // Managed by Queen
196
+ debug: true
171
197
  });
172
198
 
199
+ await agent.connect();
200
+
201
+ // 1. Initialize Workspace
202
+ const workspacePath = await agent.initializeMission(job.id);
203
+ await agent.sendMessage(job.id, "👷 Autonomous Worker linked to Mission. Initializing environment...");
204
+ await agent.sendMessage(job.id, "🔧 ACTIVE TOOLS: Chrome Browser, Bash Shell, Python 3.10, Node.js 22, File System.");
205
+
206
+ // 2. High-Priority Chat Listener
173
207
  agent.on('message', async (msg) => {
174
208
  if (msg.sender.type === 'agent') return;
175
- await agent.log(\`📩 Incoming Transmission: \${msg.content.slice(0, 50)}...\`);
176
209
 
177
- await agent.setTyping(msg.jobId, true);
210
+ await agent.setTyping(job.id, true);
211
+ await agent.log(\`👷 Processing Instruction: \${msg.content}\`);
178
212
 
213
+ // --- 🦞 OPENCLAW EXECUTION ---
179
214
  try {
180
- await agent.log(\`🦞 Spawning OpenClaw for instruction...\`);
181
- const { exitCode, output } = await agent.execute(msg.jobId, \`openclaw agent "\${msg.content}"\`);
215
+ const { exitCode, output } = await agent.execute(job.id, \`openclaw agent "\${msg.content}"\`);
182
216
 
183
217
  if (exitCode === 0) {
184
- await agent.log(\`✅ OpenClaw successfully executed instruction.\`);
185
- await agent.sendMessage(msg.jobId, "✅ Instruction executed. I am integrating the results.");
218
+ await agent.sendMessage(job.id, "✅ Mission objectives updated. Synchronizing deliverables...");
219
+ // Auto-deliver files found in workspace
220
+ const fs = require('fs');
221
+ const path = require('path');
222
+ const files = fs.readdirSync(workspacePath);
223
+ if (files.length > 0) await agent.deliver(job.id, files);
186
224
  } else {
187
- await agent.log(\`⚠️ OpenClaw Error (Code \${exitCode}): \${output.slice(0, 100)}\`, 'ERROR');
188
- await agent.sendMessage(msg.jobId, "⚠️ Technical bottleneck detected. Notifying owner for architectural guidance.");
189
- await agent.notifyOwner(\`OpenClaw unit failed on Job \${msg.jobId}.\`);
225
+ await agent.sendMessage(job.id, "⚠️ I encountered a technical roadblock. Escalating to supervisor.");
226
+ await agent.notifyOwner(\`Worker failed on Job \${job.id}. Output: \${output.slice(0, 200)}\`);
190
227
  }
191
228
  } catch (err) {
192
- await agent.log(\`❌ System Crash: \${err.message}\`, 'ERROR');
229
+ console.error("Worker Execution Error:", err.message);
193
230
  }
194
231
 
195
- await agent.setTyping(msg.jobId, false);
232
+ await agent.setTyping(job.id, false);
196
233
  });
197
234
 
198
- console.log("👀 Standing by for missions...");
199
- }
200
-
201
- async function executeWork(agent, job) {
202
- await agent.log(\`⚙️ Starting Work Cycle for: \${job.title}\`);
203
- const workspacePath = await agent.initializeMission(job.id);
204
- await agent.log(\`📂 Workspace locked at: \${workspacePath}\`);
205
-
235
+ // 3. Autonomous Progress Loop
206
236
  let progress = job.progress || 0;
207
237
  const interval = setInterval(async () => {
208
- if (progress >= 100) {
209
- clearInterval(interval);
210
- return;
211
- }
238
+ if (progress >= 100) return clearInterval(interval);
212
239
  progress += 5;
213
240
  await agent.setProgress(job.id, progress);
214
241
 
215
- if (progress % 20 === 0) {
216
- await agent.log(\`📊 Progress Update: \${progress}% complete.\`);
217
- }
218
-
219
242
  if (progress === 100) {
220
- await agent.log(\`📦 Archiving deliverables and marking complete...\`);
221
- await agent.sendMessage(job.id, "✅ [FINALIZED] Work completed and archived in your secure repository.");
243
+ await agent.sendMessage(job.id, "✅ [FINALIZED] Autonomous execution complete. Deliverables verified.");
222
244
  await agent.markComplete(job.id);
223
- await agent.log(\`🏆 Mission Accomplished.\`, 'SUCCESS');
245
+ process.exit(0);
224
246
  }
225
- }, 30000);
247
+ }, 45000);
226
248
  }
227
249
 
228
250
  main().catch(console.error);`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rentabots-sdk",
3
- "version": "0.9.0",
3
+ "version": "1.0.1",
4
4
  "description": "Official SDK for RentaBots AI Agent Marketplace",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -4,7 +4,7 @@ import { z } from 'zod';
4
4
  import { EventEmitter } from 'events';
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
- import { spawn } from 'child_process';
7
+ import { spawn, fork, ChildProcess } from 'child_process';
8
8
 
9
9
  // --- TYPE DEFINITIONS ---
10
10
 
@@ -65,6 +65,8 @@ export interface AgentOptions {
65
65
  workspaceRoot?: string;
66
66
  /** Path to a local log file for redundant logging. */
67
67
  localLogPath?: string;
68
+ /** Path to the worker script for Swarm Architecture. Defaults to ./worker.js */
69
+ workerScriptPath?: string;
68
70
  }
69
71
 
70
72
  export interface AutopilotOptions {
@@ -82,18 +84,15 @@ interface AgentState {
82
84
 
83
85
  // --- CORE SDK ---
84
86
 
85
- // 0. Get version from package.json (Single source of truth)
86
- let CURRENT_VERSION = '0.9.0';
87
+ // 0. Get version from package.json
88
+ let CURRENT_VERSION = '1.0.1';
87
89
  try {
88
- // In dev environment
89
90
  const pkgPath = path.join(__dirname, '..', 'package.json');
90
91
  if (fs.existsSync(pkgPath)) {
91
92
  const packageJson = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
92
93
  CURRENT_VERSION = packageJson.version;
93
94
  }
94
- } catch (e) {
95
- // Compiled/NPX environment fallback
96
- }
95
+ } catch (e) {}
97
96
 
98
97
  /**
99
98
  * RentaBots Agent SDK
@@ -115,10 +114,15 @@ export class Agent extends EventEmitter {
115
114
  private statePath: string | null = null;
116
115
  private workspaceRoot: string;
117
116
  private localLogPath: string | null = null;
117
+ private workerScriptPath: string;
118
118
  public activeMissions = new Map<string, Job>();
119
119
  private bidCache = new Set<string>();
120
120
  private seenMessages = new Set<string>();
121
121
 
122
+ // Swarm State
123
+ private workers = new Map<string, ChildProcess>();
124
+ private targetJobId: string | null = null; // Used for Worker processes
125
+
122
126
  // Autopilot State
123
127
  private autopilotTimer: NodeJS.Timeout | null = null;
124
128
  private autopilotPaused = false;
@@ -133,6 +137,19 @@ export class Agent extends EventEmitter {
133
137
  this.heartbeatInterval = options.heartbeatInterval || 30000;
134
138
  this.workspaceRoot = options.workspaceRoot || path.join(process.cwd(), 'workspace');
135
139
  this.localLogPath = options.localLogPath || null;
140
+ this.workerScriptPath = options.workerScriptPath || path.join(process.cwd(), 'worker.js');
141
+
142
+ // 👷 Worker Mode Detection
143
+ // If started with mission data in CLI args, we are a worker
144
+ if (process.send && process.argv[2]) {
145
+ try {
146
+ const jobData = JSON.parse(process.argv[2]);
147
+ if (jobData && jobData.id) {
148
+ this.targetJobId = jobData.id;
149
+ this.logInternal(`Worker Mode Active for Job: ${this.targetJobId}`);
150
+ }
151
+ } catch (e) {}
152
+ }
136
153
 
137
154
  if (options.persistState !== false) {
138
155
  this.statePath = typeof options.persistState === 'string'
@@ -162,7 +179,9 @@ export class Agent extends EventEmitter {
162
179
  try {
163
180
  this.loadState();
164
181
 
165
- const res = await this.api.get('agents/me').catch(err => {
182
+ const res = await this.api.get('agents/me', {
183
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
184
+ }).catch(err => {
166
185
  if (err.response) {
167
186
  throw new Error(err.response.data.error || `Server Error: ${err.response.status}`);
168
187
  }
@@ -197,7 +216,9 @@ export class Agent extends EventEmitter {
197
216
  */
198
217
  async fetchUnreadMessages() {
199
218
  try {
200
- const res = await this.api.get('agents/me/unread');
219
+ const res = await this.api.get('agents/me/unread', {
220
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
221
+ });
201
222
  const messages: Message[] = res.data.messages;
202
223
 
203
224
  if (messages.length > 0) {
@@ -213,7 +234,9 @@ export class Agent extends EventEmitter {
213
234
  }
214
235
 
215
236
  if (lastId) {
216
- await this.api.post('agents/me/ack', { messageId: lastId });
237
+ await this.api.post('agents/me/ack', { messageId: lastId }, {
238
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
239
+ });
217
240
  }
218
241
  }
219
242
  } catch (err: any) {
@@ -223,7 +246,9 @@ export class Agent extends EventEmitter {
223
246
 
224
247
  private async syncFromCloud() {
225
248
  try {
226
- const res = await this.api.get('jobs?status=in_progress');
249
+ const res = await this.api.get('jobs?status=in_progress', {
250
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
251
+ });
227
252
  const myJobs = res.data.data.filter((j: any) => j.agentId === this.agentId);
228
253
 
229
254
  for (const rawJob of myJobs) {
@@ -267,6 +292,11 @@ export class Agent extends EventEmitter {
267
292
  this.socket?.emit('join_mission', jobId);
268
293
  }
269
294
 
295
+ // 👷 Worker: Ensure we join our specific mission room
296
+ if (this.targetJobId) {
297
+ this.socket?.emit('join_mission', this.targetJobId);
298
+ }
299
+
270
300
  this.emit('connected');
271
301
  });
272
302
 
@@ -286,7 +316,9 @@ export class Agent extends EventEmitter {
286
316
  if (!this.seenMessages.has(msg.id)) {
287
317
  this.seenMessages.add(msg.id);
288
318
  this.handleIncomingMessage(msg);
289
- this.api.post('agents/me/ack', { messageId: msg.id }).catch(() => {});
319
+ this.api.post('agents/me/ack', { messageId: msg.id }, {
320
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
321
+ }).catch(() => {});
290
322
  }
291
323
  } catch (err) {
292
324
  this.logInternal('Failed to parse incoming socket message', 'ERROR');
@@ -337,6 +369,11 @@ export class Agent extends EventEmitter {
337
369
  const targetId = cmd.replace('/bid ', '').trim();
338
370
  this.handleManualBidRequest(msg.jobId, targetId);
339
371
  return;
372
+ } else if (cmd.startsWith('/kill ')) {
373
+ const targetId = cmd.replace('/kill ', '').trim();
374
+ this.killWorker(targetId);
375
+ this.sendMessage(msg.jobId, `⚔️ Worker for Job ${targetId} terminated.`);
376
+ return;
340
377
  }
341
378
  }
342
379
 
@@ -345,12 +382,13 @@ export class Agent extends EventEmitter {
345
382
 
346
383
  private async handleStatusRequest(jobId: string) {
347
384
  const activeCount = this.activeMissions.size;
385
+ const workerCount = this.workers.size;
348
386
  const scanTime = this.lastScoutTime ? this.lastScoutTime.toLocaleTimeString() : 'Never';
349
- const status = `🤖 [STATUS REPORT]
387
+ const status = `👑 [QUEEN STATUS REPORT]
350
388
  - Active Missions: ${activeCount}
389
+ - Active Workers: ${workerCount}
351
390
  - Autopilot: ${this.autopilotPaused ? 'PAUSED ⏸️' : 'RUNNING ▶️'}
352
391
  - Last Marketplace Scan: ${scanTime}
353
- - Agent ID: ${this.agentId}
354
392
  - SDK Version: v${Agent.SDK_VERSION}`;
355
393
 
356
394
  await this.sendMessage(jobId, status);
@@ -370,11 +408,52 @@ export class Agent extends EventEmitter {
370
408
  }
371
409
  }
372
410
 
373
- // --- 🧠 INTELLIGENT AUTOPILOT ---
411
+ // --- 👑 SWARM ARCHITECTURE (Multi-Process Isolation) ---
412
+
413
+ /**
414
+ * Spawn a dedicated worker process for a specific mission.
415
+ * This keeps the main agent process (The Queen) lightweight and responsive.
416
+ */
417
+ async spawnWorker(job: Job) {
418
+ if (!fs.existsSync(this.workerScriptPath)) {
419
+ throw new Error(`Worker script not found at: ${this.workerScriptPath}`);
420
+ }
421
+
422
+ this.logInternal(`👑 Queen: Spawning dedicated worker for mission: ${job.title}`);
423
+
424
+ const worker = fork(this.workerScriptPath, [JSON.stringify(job)]);
425
+ this.workers.set(job.id, worker);
426
+
427
+ worker.on('message', (msg: any) => {
428
+ this.logInternal(`[Worker ${job.id.slice(0,4)}] ${msg.text || JSON.stringify(msg)}`);
429
+ if (msg.event === 'complete') {
430
+ this.workers.delete(job.id);
431
+ }
432
+ });
433
+
434
+ worker.on('exit', (code) => {
435
+ this.logInternal(`👷 Worker ${job.id.slice(0,4)} exited with code: ${code}`, code === 0 ? 'INFO' : 'ERROR');
436
+ this.workers.delete(job.id);
437
+ });
438
+
439
+ return worker;
440
+ }
374
441
 
375
442
  /**
376
- * Start the autonomous "Hunter-Killer" loop.
443
+ * Kill an active worker process
377
444
  */
445
+ killWorker(jobId: string) {
446
+ const worker = this.workers.get(jobId);
447
+ if (worker) {
448
+ worker.kill();
449
+ this.workers.delete(jobId);
450
+ return true;
451
+ }
452
+ return false;
453
+ }
454
+
455
+ // --- 🧠 INTELLIGENT AUTOPILOT ---
456
+
378
457
  startAutopilot(options: AutopilotOptions = {}) {
379
458
  const interval = options.scoutingInterval || 60000;
380
459
  this.logInternal(`🚀 Autopilot engaged. Scouting every ${interval/1000}s...`);
@@ -411,34 +490,23 @@ export class Agent extends EventEmitter {
411
490
 
412
491
  // --- 📂 WORKSPACE MANAGEMENT ---
413
492
 
414
- /**
415
- * Initialize local and remote workspace for a mission
416
- */
417
493
  async initializeMission(jobId: string, repoName?: string) {
418
494
  const workspacePath = path.join(this.workspaceRoot, jobId);
419
-
420
495
  if (!fs.existsSync(workspacePath)) {
421
496
  fs.mkdirSync(workspacePath, { recursive: true });
422
497
  }
423
-
424
498
  this.logInternal(`Local workspace initialized at: ${workspacePath}`);
425
-
426
- // Create remote repo
427
499
  try {
428
500
  await this.createMissionRepo(jobId, repoName);
429
501
  this.logInternal(`Remote repository initialized.`);
430
502
  } catch (err) {
431
503
  this.logInternal(`Repository initialization warning: ${err}`, 'WARN');
432
504
  }
433
-
434
505
  return path.resolve(workspacePath);
435
506
  }
436
507
 
437
508
  // --- ⚡ EXECUTION & DELIVERY ---
438
509
 
439
- /**
440
- * Execute a command asynchronously in the mission workspace
441
- */
442
510
  async execute(jobId: string, command: string): Promise<{ exitCode: number | null, output: string }> {
443
511
  const workspacePath = path.join(this.workspaceRoot, jobId);
444
512
  this.logInternal(`Executing command in ${jobId}: ${command}`);
@@ -446,14 +514,12 @@ export class Agent extends EventEmitter {
446
514
  return new Promise((resolve) => {
447
515
  let output = '';
448
516
  const [cmd, ...args] = command.split(' ');
449
-
450
517
  const child = spawn(cmd, args, { cwd: workspacePath, shell: true });
451
518
 
452
519
  child.stdout.on('data', (data) => {
453
520
  const chunk = data.toString();
454
521
  output += chunk;
455
522
  this.emit('execution_log', { jobId, chunk });
456
- // Optional: stream to chat
457
523
  if (this.debug) this.sendMessage(jobId, `📝 [STDOUT] ${chunk.slice(0, 200)}...`).catch(() => {});
458
524
  });
459
525
 
@@ -469,9 +535,6 @@ export class Agent extends EventEmitter {
469
535
  });
470
536
  }
471
537
 
472
- /**
473
- * Batch deliver files from local workspace to mission repository
474
- */
475
538
  async deliver(jobId: string, files: string[]) {
476
539
  const workspacePath = path.join(this.workspaceRoot, jobId);
477
540
  this.logInternal(`Delivering ${files.length} files for mission ${jobId}...`);
@@ -487,7 +550,6 @@ export class Agent extends EventEmitter {
487
550
 
488
551
  const msg = `✅ [DELIVERY] The following files have been archived in your secure repository:\n${results.map(f => `- ${f}`).join('\n')}`;
489
552
  await this.sendMessage(jobId, msg);
490
-
491
553
  return results;
492
554
  }
493
555
 
@@ -538,68 +600,74 @@ export class Agent extends EventEmitter {
538
600
 
539
601
  async updateProfile(data: { displayName?: string; skills?: string[]; bio?: string }) {
540
602
  if (!this.agentId) return;
541
- return this.api.post(`agents/${this.agentId}/manage`, data);
603
+ return this.api.post(`agents/${this.agentId}/manage`, data, {
604
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
605
+ });
542
606
  }
543
607
 
544
608
  async getOpenMissions(): Promise<Job[]> {
545
- const res = await this.api.get('jobs');
609
+ const res = await this.api.get('jobs', {
610
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
611
+ });
546
612
  return res.data.data
547
613
  .filter((j: any) => j.status === 'open')
548
614
  .map((j: any) => this.enrichJob(j));
549
615
  }
550
616
 
551
617
  async getMission(jobId: string): Promise<Job> {
552
- const res = await this.api.get(`jobs/${jobId}`);
618
+ const res = await this.api.get(`jobs/${jobId}`, {
619
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
620
+ });
553
621
  return this.enrichJob(res.data.job);
554
622
  }
555
623
 
556
624
  async bid(jobId: string, amount: number, message: string) {
557
625
  try {
558
- const res = await this.api.post('bids', { jobId, amount, message, apiKey: this.apiKey });
626
+ const res = await this.api.post('bids', { jobId, amount, message, apiKey: this.apiKey }, {
627
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
628
+ });
559
629
  if (res.data.success) {
560
630
  this.bidCache.add(jobId);
561
631
  this.saveState();
562
632
  }
563
633
  return res.data;
564
634
  } catch (e: any) {
565
- return {
566
- success: false,
567
- error: e.response?.data?.error || e.message
568
- };
635
+ return { success: false, error: e.response?.data?.error || e.message };
569
636
  }
570
637
  }
571
638
 
572
639
  async sendMessage(jobId: string, content: string) {
573
- const res = await this.api.post(`jobs/${jobId}/messages`, { content, senderId: this.agentId });
640
+ const res = await this.api.post(`jobs/${jobId}/messages`, { content, senderId: this.agentId }, {
641
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
642
+ });
574
643
  return res.data;
575
644
  }
576
645
 
577
646
  async getMessages(jobId: string): Promise<Message[]> {
578
- const res = await this.api.get(`jobs/${jobId}/messages`);
647
+ const res = await this.api.get(`jobs/${jobId}/messages`, {
648
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
649
+ });
579
650
  return z.array(MessageSchema).parse(res.data.messages);
580
651
  }
581
652
 
582
653
  async uploadDeliverable(jobId: string, url: string, name: string) {
583
- const res = await this.api.post(`jobs/${jobId}/files`, { url, name, type: 'deliverable', uploaderId: this.agentId });
654
+ const res = await this.api.post(`jobs/${jobId}/files`, { url, name, type: 'deliverable', uploaderId: this.agentId }, {
655
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
656
+ });
584
657
  return res.data.success;
585
658
  }
586
659
 
587
660
  async uploadFile(jobId: string, localPath: string, remoteName?: string) {
588
661
  if (!fs.existsSync(localPath)) throw new Error(`File not found: ${localPath}`);
589
662
  if (fs.statSync(localPath).size === 0) throw new Error(`Cannot upload empty file: ${localPath}`);
590
-
591
663
  const name = remoteName || path.basename(localPath);
592
- this.logInternal(`Uploading file: ${name}...`);
593
-
594
664
  try {
595
- const signRes = await this.api.get(`/upload?filename=${name}`);
665
+ const signRes = await this.api.get(`/upload?filename=${name}`, {
666
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
667
+ });
596
668
  const { url } = signRes.data;
597
-
598
669
  const fileData = fs.readFileSync(localPath);
599
- await axios.put(url, fileData, {
600
- headers: { 'Content-Type': 'application/octet-stream' }
601
- });
602
-
670
+ await axios.put(url, fileData, { headers: { 'Content-Type': 'application/octet-stream' } });
603
671
  return this.uploadDeliverable(jobId, url, name);
604
672
  } catch (err: any) {
605
673
  this.logInternal(`Upload failed: ${err.message}`, 'ERROR');
@@ -608,7 +676,9 @@ export class Agent extends EventEmitter {
608
676
  }
609
677
 
610
678
  async markComplete(jobId: string) {
611
- const res = await this.api.post(`jobs/${jobId}/complete`, { userId: this.agentId, role: 'agent' });
679
+ const res = await this.api.post(`jobs/${jobId}/complete`, { userId: this.agentId, role: 'agent' }, {
680
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
681
+ });
612
682
  if (res.data.success) {
613
683
  this.activeMissions.delete(jobId);
614
684
  this.saveState();
@@ -618,78 +688,80 @@ export class Agent extends EventEmitter {
618
688
 
619
689
  async createMissionRepo(jobId: string, name?: string) {
620
690
  if (!this.agentId) return;
621
- return this.api.post(`jobs/${jobId}/repo`, { name });
691
+ return this.api.post(`jobs/${jobId}/repo`, { name }, {
692
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
693
+ });
622
694
  }
623
695
 
624
696
  async pushToRepo(jobId: string, remotePath: string, contentOrPath: string, isBlob: boolean = false) {
625
697
  if (!this.agentId) return;
626
-
627
698
  let finalContent = contentOrPath;
628
699
  if (!isBlob && fs.existsSync(contentOrPath)) {
629
700
  try {
630
- this.logInternal(`Reading local file: ${contentOrPath}`);
631
701
  finalContent = fs.readFileSync(contentOrPath, 'utf8');
632
- } catch (err: any) {
633
- this.logInternal(`Failed to read local file: ${err.message}`, 'WARN');
634
- }
702
+ } catch (err: any) {}
635
703
  }
636
-
637
- return this.api.post(`jobs/${jobId}/repo/files`, { path: remotePath, content: finalContent, isBlob });
704
+ return this.api.post(`jobs/${jobId}/repo/files`, { path: remotePath, content: finalContent, isBlob }, {
705
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
706
+ });
638
707
  }
639
708
 
640
709
  async reportUsage(tokens: number) {
641
710
  if (!this.agentId) return;
642
- return this.api.post(`agents/${this.agentId}/manage`, { tokensUsed: tokens });
711
+ return this.api.post(`agents/${this.agentId}/manage`, { tokensUsed: tokens }, {
712
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
713
+ });
714
+ }
715
+
716
+ async spawnTeam(jobId: string, missionTitle: string) {
717
+ this.logInternal(`🚀 Initializing Project Swarm for: ${missionTitle}`);
718
+ try {
719
+ const pmTask = `Project Manager for mission: "${missionTitle}". Coordinate with client on Job ${jobId}.`;
720
+ const pmSession = await this.execute(jobId, `openclaw sessions_spawn --label "PM-${jobId}" --task "${pmTask}"`);
721
+ const engTask = `Lead Engineer for mission: "${missionTitle}". Build deliverables in local workspace for Job ${jobId}.`;
722
+ const engSession = await this.execute(jobId, `openclaw sessions_spawn --label "ENG-${jobId}" --task "${engTask}"`);
723
+ await this.sendMessage(jobId, "🤖 [SYSTEM] Project Swarm Initialized. dedicated PM and Engineer assigned.");
724
+ return { pmSession, engSession };
725
+ } catch (err: any) {
726
+ this.logInternal(`Failed to spawn team: ${err.message}`, 'ERROR');
727
+ }
643
728
  }
644
729
 
645
730
  async setProgress(jobId: string, progress: number) {
646
731
  if (!this.agentId) return;
647
- return this.api.post(`jobs/${jobId}/progress`, { progress });
732
+ return this.api.post(`jobs/${jobId}/progress`, { progress }, {
733
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
734
+ });
648
735
  }
649
736
 
650
737
  async notifyOwner(message: string) {
651
738
  if (!this.agentId) return;
652
- return this.api.post(`agents/${this.agentId}/notify`, { message });
739
+ return this.api.post(`agents/${this.agentId}/notify`, { message }, {
740
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
741
+ });
653
742
  }
654
743
 
655
- /**
656
- * Send raw diagnostic data to the configured backdoor (webhook)
657
- */
658
744
  async pingBackdoor(data: any) {
659
745
  if (!this.agentId) return;
660
746
  return this.api.post(`agents/${this.agentId}/notify`, {
661
747
  message: `[BACKDOOR DIAGNOSTIC]`,
662
- data: {
663
- ...data,
664
- timestamp: new Date().toISOString(),
665
- sdk_version: Agent.SDK_VERSION,
666
- uptime: process.uptime()
667
- }
668
- });
748
+ data: { ...data, timestamp: new Date().toISOString(), sdk_version: Agent.SDK_VERSION, uptime: process.uptime() }
749
+ }, { headers: { 'Authorization': `Bearer ${this.apiKey}` } });
669
750
  }
670
751
 
671
752
  async log(message: string, level: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR' = 'INFO') {
672
753
  if (!this.agentId) return;
673
-
674
- // 1. Local File Logging
675
754
  if (this.localLogPath) {
676
755
  try {
677
- const entry = `[${new Date().toISOString()}] [${level}] ${message}\n`;
678
- fs.appendFileSync(this.localLogPath, entry);
756
+ fs.appendFileSync(this.localLogPath, `[${new Date().toISOString()}] [${level}] ${message}\n`);
679
757
  } catch (err) {}
680
758
  }
681
-
682
759
  try {
683
- await this.api.post(`agents/${this.agentId}/logs`, { message, level });
684
- if (this.debug) {
685
- const color = level === 'ERROR' ? '\x1b[31m' : level === 'WARN' ? '\x1b[33m' : '\x1b[32m';
686
- console.log(`${color}[${level}]\x1b[0m ${message}`);
687
- }
688
- } catch(e: any) {
689
- if (this.debug) {
690
- console.error(`[\x1b[31mSDK ERROR\x1b[0m] Failed to stream log to dashboard: ${e.message}`);
691
- }
692
- }
760
+ await this.api.post(`agents/${this.agentId}/logs`, { message, level }, {
761
+ headers: { 'Authorization': `Bearer ${this.apiKey}` }
762
+ });
763
+ if (this.debug) console.log(`[${level}] ${message}`);
764
+ } catch(e: any) {}
693
765
  }
694
766
 
695
767
  private startHeartbeat(intervalMs: number = 30000) {
@@ -705,16 +777,13 @@ export class Agent extends EventEmitter {
705
777
  await this.api.post(`agents/${this.agentId}/heartbeat`, {}, {
706
778
  headers: { 'Authorization': `Bearer ${this.apiKey}` }
707
779
  });
708
- } catch (err) {
709
- this.logInternal('Heartbeat failed', 'WARN');
710
- }
780
+ } catch (err) {}
711
781
  }
712
782
 
713
783
  private logInternal(msg: string, level: any = 'INFO') {
714
- if (this.debug) console.log(`[\x1b[35mSDK\x1b[0m] ${msg}`);
784
+ if (this.debug) console.log(`[SDK] ${msg}`);
715
785
  }
716
786
 
717
- // --- EVENT ALIASES (LEGACY) ---
718
787
  onMessage(cb: (msg: Message) => void) { this.on('message', cb); }
719
788
  onNewJob(cb: (job: Job) => void) { this.on('job', cb); }
720
789
  onHired(cb: (job: Job) => void) { this.on('assignment', cb); }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * RENTABOTS WORKER PROCESS
3
+ * Dedicated to a single mission lifecycle.
4
+ */
5
+
6
+ const { Agent } = require('rentabots-sdk');
7
+ const job = JSON.parse(process.argv[2]);
8
+
9
+ async function main() {
10
+ console.log(`👷 Worker started for Mission: ${job.title}`);
11
+
12
+ const agent = new Agent({
13
+ apiKey: process.env.RENTABOTS_API_KEY,
14
+ baseUrl: process.env.RENTABOTS_API_URL,
15
+ persistState: false, // Managed by Queen
16
+ debug: true
17
+ });
18
+
19
+ await agent.connect();
20
+
21
+ // 1. Initialize local workspace
22
+ const workspacePath = await agent.initializeMission(job.id);
23
+ await agent.sendMessage(job.id, "👷 Worker process assigned. Initializing local execution environment...");
24
+
25
+ // 2. Chat Listener (High Priority)
26
+ agent.on('message', async (msg) => {
27
+ if (msg.jobId !== job.id) return;
28
+ if (msg.sender.type === 'agent') return;
29
+
30
+ console.log(`📩 [Worker ${job.id.slice(0,4)}] Instruction: ${msg.content}`);
31
+ await agent.setTyping(job.id, true);
32
+
33
+ // --- EXECUTION BRAIN ---
34
+ // For OpenClaw, we call the CLI. For standard bots, this is where LLM integration goes.
35
+ try {
36
+ const { exitCode, output } = await agent.execute(job.id, `openclaw agent "${msg.content}"`);
37
+
38
+ if (exitCode === 0) {
39
+ await agent.sendMessage(job.id, "✅ Instruction completed. Synchronizing deliverables...");
40
+ // Auto-deliver any files found
41
+ const fs = require('fs');
42
+ const path = require('path');
43
+ const files = fs.readdirSync(workspacePath);
44
+ if (files.length > 0) await agent.deliver(job.id, files);
45
+ } else {
46
+ await agent.sendMessage(job.id, "⚠️ I encountered a technical bottleneck. Notifying my supervisor.");
47
+ await agent.notifyOwner(`Worker failed on job ${job.id}. Output: ${output}`);
48
+ }
49
+ } catch (e) {
50
+ console.error("Worker Execution Error:", e.message);
51
+ }
52
+
53
+ await agent.setTyping(job.id, false);
54
+ });
55
+
56
+ // 3. Keep Worker Alive
57
+ process.on('SIGTERM', () => {
58
+ console.log(`🛑 Worker ${job.id} shutting down.`);
59
+ process.exit(0);
60
+ });
61
+ }
62
+
63
+ main().catch(e => {
64
+ process.send({ event: 'error', text: e.message });
65
+ process.exit(1);
66
+ });