@meego-harness/worker-sdk 0.0.1 → 0.0.2
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.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x5268ee=_0x26a2;(function(_0x680647,_0x1ff9c8){const _0x557950=_0x26a2,_0x43ad09=_0x680647();while(!![]){try{const _0x13afac=-parseInt(_0x557950(0x302))/0x1*(-parseInt(_0x557950(0x1da))/0x2)+-parseInt(_0x557950(0x244))/0x3*(parseInt(_0x557950(0x289))/0x4)+-parseInt(_0x557950(0x27a))/0x5*(parseInt(_0x557950(0x325))/0x6)+-parseInt(_0x557950(0x22a))/0x7+-parseInt(_0x557950(0x32f))/0x8+parseInt(_0x557950(0x200))/0x9+parseInt(_0x557950(0x2f6))/0xa;if(_0x13afac===_0x1ff9c8)break;else _0x43ad09['push'](_0x43ad09['shift']());}catch(_0x121830){_0x43ad09['push'](_0x43ad09['shift']());}}}(_0x1261,0xbf7c2));var __create=Object[_0x5268ee(0x2dd)],__defProp=Object[_0x5268ee(0x1ec)],__getOwnPropDesc=Object[_0x5268ee(0x33b)],__getOwnPropNames=Object[_0x5268ee(0x341)],__getProtoOf=Object[_0x5268ee(0x2c0)],__hasOwnProp=Object[_0x5268ee(0x268)][_0x5268ee(0x252)],__export=(_0x82373c,_0x381b26)=>{for(var _0x289ae7 in _0x381b26)__defProp(_0x82373c,_0x289ae7,{'get':_0x381b26[_0x289ae7],'enumerable':!![]});},__copyProps=(_0x33c70b,_0x5252f9,_0x36e33c,_0x110377)=>{const _0x374461=_0x5268ee;if(_0x5252f9&&typeof _0x5252f9===_0x374461(0x2f4)||typeof _0x5252f9==='function'){for(let _0x1c0bf5 of __getOwnPropNames(_0x5252f9))if(!__hasOwnProp[_0x374461(0x1fd)](_0x33c70b,_0x1c0bf5)&&_0x1c0bf5!==_0x36e33c)__defProp(_0x33c70b,_0x1c0bf5,{'get':()=>_0x5252f9[_0x1c0bf5],'enumerable':!(_0x110377=__getOwnPropDesc(_0x5252f9,_0x1c0bf5))||_0x110377[_0x374461(0x228)]});}return _0x33c70b;},__toESM=(_0x35693d,_0x608aa6,_0x1e15fe)=>(_0x1e15fe=_0x35693d!=null?__create(__getProtoOf(_0x35693d)):{},__copyProps(_0x608aa6||!_0x35693d||!_0x35693d[_0x5268ee(0x2fc)]?__defProp(_0x1e15fe,'default',{'value':_0x35693d,'enumerable':!![]}):_0x1e15fe,_0x35693d)),__toCommonJS=_0x367d48=>__copyProps(__defProp({},'__esModule',{'value':!![]}),_0x367d48),index_exports={};__export(index_exports,{'WorkerClientSDK':()=>WorkerClientSDK,'WorkerServerSDK':()=>WorkerServerSDK,'isTerminalTaskState':()=>isTerminalTaskState,'issueLoginToken':()=>issueLoginToken,'resolveDefaultWorkerCredentialFile':()=>resolveDefaultWorkerCredentialFile,'splitWorkerKey':()=>splitWorkerKey,'verifyLoginToken':()=>verifyLoginToken}),module[_0x5268ee(0x30d)]=__toCommonJS(index_exports);var import_node_crypto=require('crypto'),import_promises=require(_0x5268ee(0x335)),import_node_os=require('os'),import_node_path=require(_0x5268ee(0x1f5)),import_node_process=__toESM(require(_0x5268ee(0x2ae)),0x1);function resolveDefaultWorkerCredentialFile(_0x241e5f,_0xb8915,_0x16c474,_0x38e808=(0x0,import_node_os[_0x5268ee(0x225)])()){const _0x224a60=_0x5268ee,_0x849ece=(0x0,import_node_crypto[_0x224a60(0x27d)])(_0x224a60(0x27e))[_0x224a60(0x1d1)](_0x241e5f+'::'+_0xb8915+'::'+_0x16c474)['digest'](_0x224a60(0x1cc));return(0x0,import_node_path[_0x224a60(0x2d4)])(_0x38e808,'.meego-harness',_0x224a60(0x317),_0x849ece+_0x224a60(0x2ba));}async function readWorkerCredential(_0x1d1731){const _0xebbf43=_0x5268ee;try{const _0x8dd627=await(0x0,import_promises['readFile'])(_0x1d1731,'utf8'),_0x394846=JSON[_0xebbf43(0x24e)](_0x8dd627);if(typeof _0x394846[_0xebbf43(0x1f4)]!==_0xebbf43(0x220)||_0x394846[_0xebbf43(0x1f4)][_0xebbf43(0x210)]===0x0)return void 0x0;return _0x394846;}catch(_0x1c34c0){if(_0x1c34c0?.[_0xebbf43(0x301)]===_0xebbf43(0x2ef))return void 0x0;throw _0x1c34c0;}}async function writeWorkerCredential(_0x484919,_0xa13387){const _0x503e10=_0x5268ee;await(0x0,import_promises[_0x503e10(0x2cc)])((0x0,import_node_path[_0x503e10(0x262)])(_0x484919),{'recursive':!![]});const _0x29d205=_0x484919+'.'+import_node_process[_0x503e10(0x290)][_0x503e10(0x20c)]+'.'+Date['now']()+_0x503e10(0x30b),_0x34f1a1=JSON[_0x503e10(0x257)]({..._0xa13387,'updatedAt':Date[_0x503e10(0x24d)]()});await(0x0,import_promises['writeFile'])(_0x29d205,_0x34f1a1,{'encoding':_0x503e10(0x24b),'mode':0x180}),await(0x0,import_promises[_0x503e10(0x2b4)])(_0x29d205,_0x484919),await(0x0,import_promises[_0x503e10(0x272)])(_0x484919,0x180);}async function deleteWorkerCredential(_0x3ab639){const _0x2865ae=_0x5268ee;try{await(0x0,import_promises['rm'])(_0x3ab639,{'force':!![]});}catch(_0x19439a){if(_0x19439a?.[_0x2865ae(0x301)]===_0x2865ae(0x2ef))return;throw _0x19439a;}}function parseClientMessage(_0x13933c){const _0x52f414=_0x5268ee;try{const _0xba8784=JSON['parse'](_0x13933c);if(!_0xba8784||typeof _0xba8784!==_0x52f414(0x2f4)||typeof _0xba8784[_0x52f414(0x270)]!==_0x52f414(0x220))return null;switch(_0xba8784[_0x52f414(0x270)]){case _0x52f414(0x320):case _0x52f414(0x1f8):case _0x52f414(0x1f6):case _0x52f414(0x33d):case'heartbeat-ack':case _0x52f414(0x221):case _0x52f414(0x250):case _0x52f414(0x296):case _0x52f414(0x23b):case _0x52f414(0x27b):return _0xba8784;default:return null;}}catch{return null;}}function stringifyServerMessage(_0x4c4798){const _0xd358ca=_0x5268ee;return JSON[_0xd358ca(0x257)](_0x4c4798);}function stringifyClientMessage(_0x22dc03){const _0x1ba68e=_0x5268ee;return JSON[_0x1ba68e(0x257)](_0x22dc03);}var DEFAULT_CONFIG={'reconnect':!![],'reconnectBaseDelayMs':0xc8,'reconnectMaxDelayMs':0x1388,'credentialStore':{}},WorkerClientSDK=class{['config'];[_0x5268ee(0x339)]=new Set();[_0x5268ee(0x211)]=new Set();[_0x5268ee(0x2ac)]=null;['connectPromise']=null;[_0x5268ee(0x22c)]=new Map();[_0x5268ee(0x249)];[_0x5268ee(0x2c1)];['shouldStayConnected']=![];[_0x5268ee(0x1c8)]=![];[_0x5268ee(0x1d2)]=![];['isLoggedIn']=![];[_0x5268ee(0x1cb)];[_0x5268ee(0x322)];[_0x5268ee(0x235)];constructor(_0x218a0f){const _0x13f832=_0x5268ee;this[_0x13f832(0x2b7)]={...DEFAULT_CONFIG,..._0x218a0f,'WebSocketCtor':_0x218a0f[_0x13f832(0x246)]??WebSocket},this[_0x13f832(0x2c1)]=this[_0x13f832(0x2b7)]['reconnectBaseDelayMs'];}async[_0x5268ee(0x2fd)](){const _0x4261b5=_0x5268ee;this[_0x4261b5(0x33e)]=!![];if(this[_0x4261b5(0x2ac)]&&this[_0x4261b5(0x2ac)][_0x4261b5(0x32c)]===WebSocket[_0x4261b5(0x2d5)])return this;if(this[_0x4261b5(0x240)])return this[_0x4261b5(0x240)];return this['manualClose']=![],this[_0x4261b5(0x240)]=new Promise((_0x4993dd,_0x2aa978)=>{const _0x25f79a=_0x4261b5,_0x166a32=new this['config'][(_0x25f79a(0x246))](this['config']['serverUrl']);this[_0x25f79a(0x2ac)]=_0x166a32,_0x166a32[_0x25f79a(0x2c6)](_0x25f79a(0x239),()=>{const _0x2301c2=_0x25f79a;this[_0x2301c2(0x2c1)]=this['config'][_0x2301c2(0x1ce)],this[_0x2301c2(0x240)]=null,void this['restoreSessionIfNeeded'](),_0x4993dd(this);}),_0x166a32[_0x25f79a(0x2c6)](_0x25f79a(0x293),()=>{const _0x8aa080=_0x25f79a;_0x166a32[_0x8aa080(0x32c)]!==WebSocket[_0x8aa080(0x2d5)]&&(this['connectPromise']=null,_0x2aa978(new Error(_0x8aa080(0x1cf))));}),_0x166a32[_0x25f79a(0x2c6)](_0x25f79a(0x279),_0x46e9af=>{const _0x2e73ff=_0x25f79a;void this[_0x2e73ff(0x306)](String(_0x46e9af[_0x2e73ff(0x32a)]));}),_0x166a32['addEventListener'](_0x25f79a(0x23c),()=>{const _0x1f8a08=_0x25f79a;this[_0x1f8a08(0x243)]();});}),this[_0x4261b5(0x240)];}async[_0x5268ee(0x26c)](){const _0x17575d=_0x5268ee;this['shouldStayConnected']=![],this[_0x17575d(0x1c8)]=!![],this['reconnectTimer']&&(clearTimeout(this[_0x17575d(0x249)]),this[_0x17575d(0x249)]=void 0x0),this[_0x17575d(0x1ef)]&&await this['logout'](),this['socket']&&this[_0x17575d(0x2ac)][_0x17575d(0x32c)]<WebSocket[_0x17575d(0x27f)]&&this['socket'][_0x17575d(0x23c)](),this[_0x17575d(0x2ac)]=null,this[_0x17575d(0x23a)](new Error(_0x17575d(0x1d0)));}async[_0x5268ee(0x320)](_0x3bd595){const _0x425e6c=_0x5268ee,_0x57847c=await this[_0x425e6c(0x2c2)](_0x3bd595);let _0x448a75;try{_0x448a75=await this[_0x425e6c(0x214)]({'type':_0x425e6c(0x320),'payload':_0x57847c},{'kind':'login','onPending':async _0x1b9bc5=>{const _0x4e8c22=_0x425e6c;_0x1b9bc5[_0x4e8c22(0x2b3)]===_0x4e8c22(0x263)&&await this[_0x4e8c22(0x2b8)](_0x3bd595);}});}catch(_0x3d28c2){await this[_0x425e6c(0x2b8)](_0x3bd595);throw _0x3d28c2;}_0x448a75['loginToken']&&(this[_0x425e6c(0x235)]=_0x448a75[_0x425e6c(0x1f4)],await this[_0x425e6c(0x2e9)](_0x3bd595,_0x448a75[_0x425e6c(0x1f4)])),this[_0x425e6c(0x1cb)]={..._0x3bd595,'loginToken':void 0x0},this[_0x425e6c(0x1ef)]=!![],this[_0x425e6c(0x1d2)]=![],this[_0x425e6c(0x322)]=void 0x0;}async['logout'](){const _0x8886f5=_0x5268ee;await this[_0x8886f5(0x214)]({'type':_0x8886f5(0x1f8)},{'kind':_0x8886f5(0x290)}),this[_0x8886f5(0x1ef)]=![],this[_0x8886f5(0x1cb)]=void 0x0,this[_0x8886f5(0x322)]=void 0x0,this[_0x8886f5(0x1d2)]=![];}async[_0x5268ee(0x321)](_0x3af1d6){const _0x33e16e=_0x5268ee;await this[_0x33e16e(0x214)]({'type':_0x33e16e(0x1f6),'availability':_0x3af1d6},{'kind':_0x33e16e(0x290)}),this['explicitState']={'type':'availability','availability':_0x3af1d6};}async[_0x5268ee(0x331)](_0x542330){const _0x3e9ab7=_0x5268ee;if(_0x542330['trim']()[_0x3e9ab7(0x210)]===0x0)throw new Error(_0x3e9ab7(0x1e1));await this['sendRequest']({'type':_0x3e9ab7(0x33d),'reason':_0x542330},{'kind':_0x3e9ab7(0x290)}),this['explicitState']={'type':_0x3e9ab7(0x25f),'reason':_0x542330};}['onMessage'](_0x13fbeb){const _0x389519=_0x5268ee;return this[_0x389519(0x339)]['add'](_0x13fbeb),this;}['onCancel'](_0x31766e){const _0x2b02ba=_0x5268ee;return this[_0x2b02ba(0x211)][_0x2b02ba(0x2fe)](_0x31766e),this;}[_0x5268ee(0x1e8)](_0x496b75){const _0x2d69ee=_0x5268ee;return this[_0x2d69ee(0x211)][_0x2d69ee(0x1ee)](_0x496b75),this;}async[_0x5268ee(0x306)](_0x205073){const _0x3f8d8e=_0x5268ee,_0x383d57=JSON[_0x3f8d8e(0x24e)](_0x205073);switch(_0x383d57[_0x3f8d8e(0x270)]){case _0x3f8d8e(0x1f7):{const _0x13f243=this[_0x3f8d8e(0x22c)][_0x3f8d8e(0x24f)](_0x383d57['requestId']);if(!_0x13f243)return;this[_0x3f8d8e(0x22c)][_0x3f8d8e(0x1ee)](_0x383d57[_0x3f8d8e(0x241)]),_0x13f243[_0x3f8d8e(0x2d9)]();return;}case _0x3f8d8e(0x2db):{const _0x464c02=this[_0x3f8d8e(0x22c)][_0x3f8d8e(0x24f)](_0x383d57['requestId']);if(!_0x464c02)return;await _0x464c02['onPending']?.(_0x383d57);return;}case _0x3f8d8e(0x238):{const _0x2393bd=this[_0x3f8d8e(0x22c)]['get'](_0x383d57['requestId']);if(!_0x2393bd)return;this[_0x3f8d8e(0x22c)][_0x3f8d8e(0x1ee)](_0x383d57[_0x3f8d8e(0x241)]),_0x2393bd[_0x3f8d8e(0x2d9)](_0x383d57);return;}case'login-rejected':{const _0x14b31a=this['pendingRequests'][_0x3f8d8e(0x24f)](_0x383d57['requestId']);if(!_0x14b31a)return;this[_0x3f8d8e(0x22c)]['delete'](_0x383d57['requestId']),_0x14b31a['reject'](new Error(_0x383d57[_0x3f8d8e(0x279)]));return;}case _0x3f8d8e(0x293):{const _0x2df779=_0x383d57[_0x3f8d8e(0x241)]?this[_0x3f8d8e(0x22c)][_0x3f8d8e(0x24f)](_0x383d57['requestId']):void 0x0;if(_0x2df779&&_0x383d57[_0x3f8d8e(0x241)]){this[_0x3f8d8e(0x22c)][_0x3f8d8e(0x1ee)](_0x383d57[_0x3f8d8e(0x241)]),_0x2df779[_0x3f8d8e(0x311)](new Error(_0x383d57[_0x3f8d8e(0x279)]));return;}throw new Error(_0x383d57[_0x3f8d8e(0x279)]);}case _0x3f8d8e(0x264):{await this[_0x3f8d8e(0x31e)](_0x383d57);return;}case'SendMessage':{await this[_0x3f8d8e(0x1eb)](_0x383d57);return;}case _0x3f8d8e(0x21f):{await this[_0x3f8d8e(0x237)](_0x383d57);}}}async[_0x5268ee(0x31e)](_0x43ba7d){const _0xd35b67=_0x5268ee;this[_0xd35b67(0x313)](),this[_0xd35b67(0x2ac)]['send'](stringifyClientMessage({'type':_0xd35b67(0x300)}));}['handleSocketClose'](){const _0x1bea77=_0x5268ee,_0x7ca4b2=this[_0x1bea77(0x33e)]&&!this['manualClose']&&this['config']['reconnect'];this[_0x1bea77(0x240)]=null,this[_0x1bea77(0x2ac)]=null,this[_0x1bea77(0x23a)](new Error(_0x1bea77(0x1d0)));this[_0x1bea77(0x1ef)]&&(this[_0x1bea77(0x1d2)]=!![]);this['isLoggedIn']=![];if(!_0x7ca4b2)return;this[_0x1bea77(0x342)]();}[_0x5268ee(0x342)](){const _0x276b4b=_0x5268ee;if(this[_0x276b4b(0x249)])return;const _0x42e8f8=this[_0x276b4b(0x2c1)];this['reconnectDelayMs']=Math[_0x276b4b(0x334)](this[_0x276b4b(0x2c1)]*0x2,this[_0x276b4b(0x2b7)][_0x276b4b(0x1d5)]),this[_0x276b4b(0x249)]=setTimeout(()=>{const _0xd9905=_0x276b4b;this[_0xd9905(0x249)]=void 0x0,void this[_0xd9905(0x2fd)]()['catch'](()=>{const _0x57d34f=_0xd9905;this[_0x57d34f(0x33e)]&&this[_0x57d34f(0x2b7)][_0x57d34f(0x1d8)]&&this[_0x57d34f(0x342)]();});},_0x42e8f8);}async[_0x5268ee(0x2ce)](){const _0x158bca=_0x5268ee;if(!this['needsRestoreOnOpen']||!this[_0x158bca(0x1cb)])return;try{const _0xda0894=await this['buildLoginPayload'](this[_0x158bca(0x1cb)]),_0x1b3c90=await this['sendRequest']({'type':_0x158bca(0x320),'payload':_0xda0894},{'kind':'login','onPending':async _0x56dffb=>{const _0x37de17=_0x158bca;_0x56dffb[_0x37de17(0x2b3)]===_0x37de17(0x263)&&await this[_0x37de17(0x2b8)](this[_0x37de17(0x1cb)]);}});this[_0x158bca(0x1ef)]=!![];_0x1b3c90[_0x158bca(0x1f4)]&&(this['latestLoginToken']=_0x1b3c90[_0x158bca(0x1f4)],await this[_0x158bca(0x2e9)](this[_0x158bca(0x1cb)],_0x1b3c90['loginToken']));if(!this[_0x158bca(0x322)]){this[_0x158bca(0x1d2)]=![];return;}if(this[_0x158bca(0x322)][_0x158bca(0x270)]===_0x158bca(0x1dc)&&this['explicitState'][_0x158bca(0x1dc)]===(this['lastLoginPayload']['initialAvailability']??'available')){this[_0x158bca(0x1d2)]=![];return;}this[_0x158bca(0x322)][_0x158bca(0x270)]==='availability'?await this[_0x158bca(0x214)]({'type':'update-availability','availability':this[_0x158bca(0x322)][_0x158bca(0x1dc)]},{'kind':_0x158bca(0x290)}):await this[_0x158bca(0x214)]({'type':_0x158bca(0x33d),'reason':this[_0x158bca(0x322)][_0x158bca(0x2b3)]},{'kind':'default'}),this['needsRestoreOnOpen']=![];}catch{this['socket']&&this[_0x158bca(0x2ac)][_0x158bca(0x32c)]<WebSocket[_0x158bca(0x27f)]&&this[_0x158bca(0x2ac)][_0x158bca(0x23c)]();}}async[_0x5268ee(0x1eb)](_0xf93049){const _0x28d784=_0x5268ee,_0x2f9a18={'task':structuredClone(_0xf93049['task']),'message':structuredClone(_0xf93049[_0x28d784(0x279)]),'controller':this[_0x28d784(0x30e)](_0xf93049['task'])};for(const _0x31f9c5 of this[_0x28d784(0x339)]){await _0x31f9c5(_0x2f9a18);}}async[_0x5268ee(0x237)](_0x593e60){const _0x5b3c46=_0x5268ee,_0x3ef5d4={'taskId':_0x593e60['taskId']};for(const _0x470b4e of this[_0x5b3c46(0x211)]){await _0x470b4e(_0x3ef5d4);}}[_0x5268ee(0x30e)](_0xccb5ee){return{'working':async _0x357511=>{const _0x400312=_0x26a2;await this['sendTaskStatusUpdate'](_0xccb5ee,_0x400312(0x316),_0x357511);},'inputRequired':async _0x3a4071=>{const _0x31fec6=_0x26a2;await this[_0x31fec6(0x202)](_0xccb5ee,'input-required',_0x3a4071);},'addArtifact':async _0x6c2f86=>{const _0x40e80a=_0x26a2,_0x2e9ff=this[_0x40e80a(0x213)](_0x6c2f86);return await this[_0x40e80a(0x214)]({'type':_0x40e80a(0x27b),'taskId':_0xccb5ee['id'],'artifact':_0x2e9ff},{'kind':_0x40e80a(0x290)}),_0x2e9ff;},'complete':async _0x191ef1=>{const _0x24dc69=_0x26a2;await this[_0x24dc69(0x202)](_0xccb5ee,'completed',_0x191ef1);},'fail':async _0x39824b=>{const _0x2c1739=_0x26a2;await this[_0x2c1739(0x202)](_0xccb5ee,_0x2c1739(0x2a3),_0x39824b);},'reject':async _0x338117=>{const _0x56ac4c=_0x26a2;await this['sendTaskStatusUpdate'](_0xccb5ee,_0x56ac4c(0x21d),_0x338117);}};}async[_0x5268ee(0x202)](_0x5778f0,_0xeaf244,_0x4294ab){const _0x153048=_0x5268ee,_0x4cf391=_0x4294ab?this[_0x153048(0x2f3)](_0x5778f0,_0x4294ab):void 0x0;await this[_0x153048(0x214)]({'type':_0x153048(0x23b),'taskId':_0x5778f0['id'],'status':{'state':_0xeaf244,'timestamp':Date[_0x153048(0x24d)](),'message':toStatusMessage(_0x4294ab)},'message':_0x4cf391},{'kind':'default'});}[_0x5268ee(0x2f3)](_0x26c46a,_0x24a6a5){const _0x177249=_0x5268ee;return{'messageId':crypto[_0x177249(0x1db)](),'contextId':_0x26c46a[_0x177249(0x256)],'taskId':_0x26c46a['id'],'role':_0x177249(0x2bf),'parts':structuredClone(_0x24a6a5[_0x177249(0x2ff)]),'metadata':_0x24a6a5[_0x177249(0x212)]?structuredClone(_0x24a6a5[_0x177249(0x212)]):void 0x0};}['buildArtifact'](_0x2be57e){const _0x44ad6a=_0x5268ee;return{'artifactId':_0x2be57e[_0x44ad6a(0x287)]??crypto[_0x44ad6a(0x1db)](),'name':_0x2be57e[_0x44ad6a(0x2f2)],'description':_0x2be57e[_0x44ad6a(0x216)],'parts':structuredClone(_0x2be57e[_0x44ad6a(0x2ff)]),'metadata':_0x2be57e[_0x44ad6a(0x212)]?structuredClone(_0x2be57e[_0x44ad6a(0x212)]):void 0x0};}async[_0x5268ee(0x2c2)](_0x354829){const _0x47b008=_0x5268ee;if(_0x354829[_0x47b008(0x1f4)])return{..._0x354829};const _0x56c09b=this[_0x47b008(0x235)]??await this[_0x47b008(0x1fe)](_0x354829);return _0x56c09b?{..._0x354829,'loginToken':_0x56c09b}:{..._0x354829};}async[_0x5268ee(0x2e9)](_0x2d2c8d,_0x5872eb){const _0x2914d3=_0x5268ee;if(this[_0x2914d3(0x2b7)][_0x2914d3(0x2b5)]===![])return;await writeWorkerCredential(this['resolveCredentialFile'](_0x2d2c8d),{'serverUrl':this[_0x2914d3(0x2b7)][_0x2914d3(0x333)],'workerId':_0x2d2c8d[_0x2914d3(0x25d)],'email':_0x2d2c8d[_0x2914d3(0x20d)],'loginToken':_0x5872eb});}async['readStoredLoginToken'](_0x14861a){const _0x1d8f73=_0x5268ee;if(this[_0x1d8f73(0x2b7)]['credentialStore']===![])return void 0x0;const _0x6ad393=await readWorkerCredential(this['resolveCredentialFile'](_0x14861a));return _0x6ad393?.['loginToken'];}async[_0x5268ee(0x2b8)](_0x10ace6){const _0x4b07c0=_0x5268ee;this['latestLoginToken']=void 0x0;if(this['config'][_0x4b07c0(0x2b5)]===![])return;await deleteWorkerCredential(this['resolveCredentialFile'](_0x10ace6));}[_0x5268ee(0x21b)](_0x2adba3){const _0x2b0358=_0x5268ee;if(this[_0x2b0358(0x2b7)][_0x2b0358(0x2b5)]!==![]&&this[_0x2b0358(0x2b7)][_0x2b0358(0x2b5)]['file'])return this[_0x2b0358(0x2b7)][_0x2b0358(0x2b5)][_0x2b0358(0x2af)];return resolveDefaultWorkerCredentialFile(this[_0x2b0358(0x2b7)][_0x2b0358(0x333)],_0x2adba3[_0x2b0358(0x25d)],_0x2adba3['email']);}async[_0x5268ee(0x214)](_0x2fb10e,_0x2c1048){const _0x43bcf6=_0x5268ee;this['ensureSocketOpen']();const _0x4f748e=crypto['randomUUID'](),_0x1d3bf1=new Promise((_0x572c3b,_0x1371cb)=>{const _0x4ec1f6=_0x26a2;this[_0x4ec1f6(0x22c)][_0x4ec1f6(0x2c3)](_0x4f748e,{'kind':_0x2c1048[_0x4ec1f6(0x2eb)],'onPending':_0x2c1048[_0x4ec1f6(0x291)],'resolve':_0x572c3b,'reject':_0x1371cb});}),_0x5b8d2e={..._0x2fb10e,'requestId':_0x4f748e};return this[_0x43bcf6(0x2ac)]['send'](stringifyClientMessage(_0x5b8d2e)),await _0x1d3bf1;}[_0x5268ee(0x313)](){const _0x1f06b3=_0x5268ee;if(!this[_0x1f06b3(0x2ac)]||this['socket']['readyState']!==WebSocket['OPEN'])throw new Error(_0x1f06b3(0x2df));}['rejectPendingRequests'](_0x121b63){const _0x529498=_0x5268ee;for(const _0x49b6be of this[_0x529498(0x22c)][_0x529498(0x28e)]()){_0x49b6be[_0x529498(0x311)](_0x121b63);}this['pendingRequests'][_0x529498(0x204)]();}};function toStatusMessage(_0x4debfe){const _0xff4a32=_0x5268ee,_0x507da3=_0x4debfe?.[_0xff4a32(0x2ff)][0x0];if(!_0x507da3)return void 0x0;if(_0x507da3[_0xff4a32(0x270)]===_0xff4a32(0x2ed))return _0x507da3[_0xff4a32(0x2ed)];if(_0x507da3[_0xff4a32(0x270)]==='file-ref')return _0x507da3['name']??_0x507da3[_0xff4a32(0x2e6)];return _0x507da3[_0xff4a32(0x20a)]??_0xff4a32(0x2e8);}var import_node_buffer=require(_0x5268ee(0x310)),import_node_crypto2=require(_0x5268ee(0x22d));function issueLoginToken(_0x261d24,_0x8b1cfd){const _0x61fe44=_0x5268ee,_0x2c2637=import_node_buffer[_0x61fe44(0x2ca)][_0x61fe44(0x33c)](JSON[_0x61fe44(0x257)](_0x261d24))['toString'](_0x61fe44(0x2d8)),_0x258bcd=signPayload(_0x2c2637,_0x8b1cfd);return _0x2c2637+'.'+_0x258bcd;}function verifyLoginToken(_0x209dd9,_0x22f6f0){const _0x64a2a6=_0x5268ee,_0x27cd2a=_0x209dd9['split']('.');if(_0x27cd2a[_0x64a2a6(0x210)]!==0x2)return null;const [_0x2d76bd,_0x48fb7d]=_0x27cd2a;if(!_0x2d76bd||!_0x48fb7d||signPayload(_0x2d76bd,_0x22f6f0)!==_0x48fb7d)return null;try{const _0x473033=JSON[_0x64a2a6(0x24e)](import_node_buffer[_0x64a2a6(0x2ca)]['from'](_0x2d76bd,_0x64a2a6(0x2d8))[_0x64a2a6(0x1f0)](_0x64a2a6(0x24b)));if(typeof _0x473033[_0x64a2a6(0x25d)]!=='string'||typeof _0x473033[_0x64a2a6(0x20d)]!==_0x64a2a6(0x220)||_0x473033['role']!==_0x64a2a6(0x2d6)&&_0x473033['role']!=='coder'&&_0x473033[_0x64a2a6(0x1fb)]!==_0x64a2a6(0x2ab)&&_0x473033['role']!==_0x64a2a6(0x2da)||typeof _0x473033[_0x64a2a6(0x1ed)]!==_0x64a2a6(0x231)||!Number[_0x64a2a6(0x281)](_0x473033['issuedAt']))return null;return _0x473033;}catch{return null;}}function signPayload(_0x297581,_0xe20065){const _0x3a58ad=_0x5268ee;return(0x0,import_node_crypto2['createHmac'])(_0x3a58ad(0x27e),_0xe20065)[_0x3a58ad(0x1d1)](_0x297581)[_0x3a58ad(0x299)](_0x3a58ad(0x2d8));}var import_node_http=require(_0x5268ee(0x2de)),import_node_process2=__toESM(require(_0x5268ee(0x2ae)),0x1),DISCONNECT_REASON_MAP={'socket-closed':_0x5268ee(0x30a),'heartbeat-timeout':_0x5268ee(0x344),'session-replaced':'session\x20replaced\x20by\x20a\x20new\x20login'};function createWorkerIdentityKey(_0x1237cf,_0x269267){return _0x1237cf+'::'+_0x269267;}var WorkerSessionRegistry=class{[_0x5268ee(0x1e5)]=new Map();['seedSnapshots'](_0x40c234){const _0x429f28=_0x5268ee;this[_0x429f28(0x1e5)]['clear']();for(const _0x1f1190 of _0x40c234){const _0x219b1f=createWorkerIdentityKey(_0x1f1190[_0x429f28(0x25d)],_0x1f1190[_0x429f28(0x20d)]);this[_0x429f28(0x1e5)][_0x429f28(0x2c3)](_0x219b1f,{'identityKey':_0x219b1f,'sessionId':_0x429f28(0x294)+_0x219b1f,'snapshot':cloneSnapshot(_0x1f1190)});}}['registerLogin'](_0x26607c,_0x56190d,_0x160f19){const _0x1d73f4=_0x5268ee,_0x592ef4=createWorkerIdentityKey(_0x56190d['workerId'],_0x56190d[_0x1d73f4(0x20d)]),_0x2fbd00={'workerId':_0x56190d['workerId'],'email':_0x56190d[_0x1d73f4(0x20d)],'role':_0x56190d['role'],'capabilitySummary':_0x56190d[_0x1d73f4(0x232)],'availability':_0x56190d[_0x1d73f4(0x23e)]??'available','activityState':'idle','activeTaskCount':0x0,'connectionState':'connected','connectedAt':_0x160f19,'lastSeenAt':_0x160f19,'lastAvailabilityUpdatedAt':_0x160f19};let _0x54c763;_0x2fbd00[_0x1d73f4(0x1dc)]===_0x1d73f4(0x2a2)&&(_0x2fbd00[_0x1d73f4(0x2be)]=_0x1d73f4(0x245),_0x2fbd00['abnormalReason']=_0x1d73f4(0x2e1),_0x54c763={'type':_0x1d73f4(0x25f),'reason':_0x1d73f4(0x2e1)});const _0x3dbde7={'identityKey':_0x592ef4,'sessionId':_0x26607c,'snapshot':_0x2fbd00,'explicitState':_0x54c763};return this[_0x1d73f4(0x1e5)]['set'](_0x592ef4,_0x3dbde7),this[_0x1d73f4(0x29a)](_0x3dbde7);}[_0x5268ee(0x24f)](_0x27ff61){const _0x152da9=_0x5268ee,_0x42c9ac=this[_0x152da9(0x1e5)]['get'](_0x27ff61);return _0x42c9ac?this[_0x152da9(0x29a)](_0x42c9ac):void 0x0;}[_0x5268ee(0x219)](_0x9e0bc){const _0x135ea6=_0x5268ee;for(const _0x3d6b4b of this[_0x135ea6(0x1e5)][_0x135ea6(0x28e)]()){if(_0x3d6b4b[_0x135ea6(0x298)]===_0x9e0bc)return this[_0x135ea6(0x29a)](_0x3d6b4b);}return void 0x0;}[_0x5268ee(0x2fb)](_0x2e7f12,_0x415eaa){const _0x2399d4=_0x5268ee,_0xe7bdeb=this[_0x2399d4(0x1e5)]['get'](_0x2e7f12);if(!_0xe7bdeb)return void 0x0;return _0xe7bdeb[_0x2399d4(0x2dc)]['lastSeenAt']=_0x415eaa,this['cloneRecord'](_0xe7bdeb);}[_0x5268ee(0x321)](_0x4455e5,_0x53f494,_0x1d5e63){const _0x43f2a4=_0x5268ee,_0xe525f7=this[_0x43f2a4(0x1e5)][_0x43f2a4(0x24f)](_0x4455e5);if(!_0xe525f7)return void 0x0;return _0xe525f7[_0x43f2a4(0x2dc)][_0x43f2a4(0x1dc)]=_0x53f494,_0xe525f7[_0x43f2a4(0x2dc)][_0x43f2a4(0x308)]=_0x1d5e63,_0xe525f7[_0x43f2a4(0x2dc)][_0x43f2a4(0x2f1)]=_0x1d5e63,delete _0xe525f7[_0x43f2a4(0x2dc)][_0x43f2a4(0x2be)],delete _0xe525f7[_0x43f2a4(0x2dc)]['abnormalReason'],_0xe525f7['explicitState']={'type':_0x43f2a4(0x1dc),'availability':_0x53f494},this[_0x43f2a4(0x29a)](_0xe525f7);}[_0x5268ee(0x331)](_0x45c64b,_0x12ea4f,_0x484a1d){const _0x42085b=_0x5268ee,_0x10a20f=this[_0x42085b(0x1e5)][_0x42085b(0x24f)](_0x45c64b);if(!_0x10a20f)return void 0x0;return _0x10a20f[_0x42085b(0x2dc)][_0x42085b(0x1dc)]=_0x42085b(0x2a2),_0x10a20f[_0x42085b(0x2dc)][_0x42085b(0x2be)]=_0x42085b(0x245),_0x10a20f[_0x42085b(0x2dc)]['abnormalReason']=_0x12ea4f,_0x10a20f[_0x42085b(0x2dc)]['lastAvailabilityUpdatedAt']=_0x484a1d,_0x10a20f['snapshot'][_0x42085b(0x2f1)]=_0x484a1d,_0x10a20f[_0x42085b(0x322)]={'type':_0x42085b(0x25f),'reason':_0x12ea4f},this[_0x42085b(0x29a)](_0x10a20f);}['markDisconnected'](_0x2a9ac9,_0x2e753d,_0x522911){const _0x53814e=_0x5268ee,_0x58ab8b=this[_0x53814e(0x1e5)][_0x53814e(0x24f)](_0x2a9ac9);if(!_0x58ab8b)return void 0x0;return _0x58ab8b['snapshot'][_0x53814e(0x1dc)]=_0x53814e(0x2a2),_0x58ab8b['snapshot']['connectionState']=_0x53814e(0x312),_0x58ab8b[_0x53814e(0x2dc)][_0x53814e(0x2be)]=_0x53814e(0x26c),_0x58ab8b[_0x53814e(0x2dc)][_0x53814e(0x223)]=DISCONNECT_REASON_MAP[_0x2e753d],_0x58ab8b[_0x53814e(0x2dc)][_0x53814e(0x2f1)]=_0x522911,_0x58ab8b['snapshot'][_0x53814e(0x308)]=_0x522911,this[_0x53814e(0x29a)](_0x58ab8b);}[_0x5268ee(0x267)](_0x4b2338){const _0x3505a3=_0x5268ee,_0x489ebb=this['records'][_0x3505a3(0x24f)](_0x4b2338);if(!_0x489ebb)return void 0x0;return this['records'][_0x3505a3(0x1ee)](_0x4b2338),this[_0x3505a3(0x29a)](_0x489ebb);}[_0x5268ee(0x2a1)](_0x384672={}){const _0x9bfbea=_0x5268ee;return Array[_0x9bfbea(0x33c)](this['records'][_0x9bfbea(0x28e)]())[_0x9bfbea(0x2f9)](_0x10fd9d=>matchesFilters(_0x10fd9d[_0x9bfbea(0x2dc)],_0x384672))['map'](_0x1b5195=>cloneSnapshot(_0x1b5195[_0x9bfbea(0x2dc)]));}['listAbnormal'](_0x2def9b={}){const _0x1a4be5=_0x5268ee;return this[_0x1a4be5(0x2a1)]({..._0x2def9b,'availability':_0x1a4be5(0x2a2)});}['allRecords'](){const _0x393107=_0x5268ee;return Array[_0x393107(0x33c)](this[_0x393107(0x1e5)][_0x393107(0x28e)]())[_0x393107(0x29c)](_0xd6c66b=>this[_0x393107(0x29a)](_0xd6c66b));}['cloneRecord'](_0x453f42){const _0x3263f2=_0x5268ee;return{'identityKey':_0x453f42[_0x3263f2(0x319)],'sessionId':_0x453f42[_0x3263f2(0x298)],'snapshot':cloneSnapshot(_0x453f42[_0x3263f2(0x2dc)]),'explicitState':_0x453f42[_0x3263f2(0x322)]?{..._0x453f42[_0x3263f2(0x322)]}:void 0x0};}};function matchesFilters(_0x128549,_0x4fef60){const _0x4b96af=_0x5268ee;if(_0x4fef60[_0x4b96af(0x25d)]&&_0x128549[_0x4b96af(0x25d)]!==_0x4fef60[_0x4b96af(0x25d)])return![];if(_0x4fef60['email']&&_0x128549[_0x4b96af(0x20d)]!==_0x4fef60[_0x4b96af(0x20d)])return![];if(_0x4fef60['role']&&_0x128549['role']!==_0x4fef60['role'])return![];if(_0x4fef60[_0x4b96af(0x1dc)]&&_0x128549[_0x4b96af(0x1dc)]!==_0x4fef60['availability'])return![];if(_0x4fef60[_0x4b96af(0x2a6)]&&_0x128549[_0x4b96af(0x2a6)]!==_0x4fef60[_0x4b96af(0x2a6)])return![];if(_0x4fef60[_0x4b96af(0x326)]&&_0x128549['connectionState']!==_0x4fef60['connectionState'])return![];if(_0x4fef60[_0x4b96af(0x2be)]&&_0x128549['abnormalSource']!==_0x4fef60[_0x4b96af(0x2be)])return![];return!![];}function cloneSnapshot(_0x1135b3){return{..._0x1135b3};}var TERMINAL_TASK_STATES=new Set([_0x5268ee(0x283),'failed','canceled','rejected']),TaskStore=class{['tasks']=new Map();[_0x5268ee(0x251)](_0x39da48){const _0x52a9c8=_0x5268ee;this['tasks'][_0x52a9c8(0x204)]();for(const _0x5387fb of _0x39da48){this[_0x52a9c8(0x2fa)]['set'](_0x5387fb['id'],clone(_0x5387fb));}}[_0x5268ee(0x254)](_0x190151){const _0x5e3944=_0x5268ee,_0x51326b=createWorkerIdentityKey(_0x190151['workerId'],_0x190151[_0x5e3944(0x20d)]),_0x16fdd7=this[_0x5e3944(0x2fa)][_0x5e3944(0x24f)](_0x190151[_0x5e3944(0x279)]['taskId']);if(!_0x16fdd7){const _0x5ccfa3={'id':_0x190151['message']['taskId'],'contextId':_0x190151[_0x5e3944(0x279)]['contextId'],'status':{'state':_0x5e3944(0x278),'timestamp':_0x190151['now']},'artifacts':[],'history':[clone(_0x190151[_0x5e3944(0x279)])],'metadata':_0x190151[_0x5e3944(0x212)]?clone(_0x190151[_0x5e3944(0x212)]):void 0x0,'assigneeWorkerKey':_0x51326b};return this[_0x5e3944(0x2fa)][_0x5e3944(0x2c3)](_0x5ccfa3['id'],_0x5ccfa3),clone(_0x5ccfa3);}if(_0x16fdd7[_0x5e3944(0x276)]!==_0x51326b)throw new Error(_0x5e3944(0x1f1));if(isTerminalTaskState(_0x16fdd7[_0x5e3944(0x226)][_0x5e3944(0x314)]))throw new Error(_0x5e3944(0x224));return _0x16fdd7[_0x5e3944(0x2cb)][_0x5e3944(0x247)](clone(_0x190151[_0x5e3944(0x279)])),_0x16fdd7[_0x5e3944(0x226)]={'state':_0x5e3944(0x278),'timestamp':_0x190151[_0x5e3944(0x24d)]},_0x190151[_0x5e3944(0x212)]&&(_0x16fdd7[_0x5e3944(0x212)]=clone(_0x190151[_0x5e3944(0x212)])),clone(_0x16fdd7);}[_0x5268ee(0x321)](_0x28df3d,_0xe1afa3,_0x457a98){const _0x1aa18a=_0x5268ee,_0xbd08ff=this[_0x1aa18a(0x2fa)]['get'](_0x28df3d);if(!_0xbd08ff)throw new Error(_0x1aa18a(0x1dd));if(isTerminalTaskState(_0xbd08ff[_0x1aa18a(0x226)][_0x1aa18a(0x314)]))throw new Error(_0x1aa18a(0x2e5));return _0xbd08ff[_0x1aa18a(0x226)]=clone(_0xe1afa3),_0x457a98&&_0xbd08ff[_0x1aa18a(0x2cb)]['push'](clone(_0x457a98)),clone(_0xbd08ff);}[_0x5268ee(0x1df)](_0x250d06,_0x1c48e3){const _0x52dfed=_0x5268ee,_0x48e9cf=this[_0x52dfed(0x2fa)][_0x52dfed(0x24f)](_0x250d06);if(!_0x48e9cf)throw new Error('task\x20not\x20found');if(isTerminalTaskState(_0x48e9cf[_0x52dfed(0x226)]['state']))throw new Error(_0x52dfed(0x2e5));return _0x48e9cf[_0x52dfed(0x229)][_0x52dfed(0x247)](clone(_0x1c48e3)),clone(_0x48e9cf);}[_0x5268ee(0x25b)](_0x56350e,_0x51c209){const _0x3d2150=_0x5268ee,_0x491778=this[_0x3d2150(0x2fa)]['get'](_0x56350e);if(!_0x491778)throw new Error(_0x3d2150(0x1dd));if(isTerminalTaskState(_0x491778['status'][_0x3d2150(0x314)]))return clone(_0x491778);return _0x491778['status']={'state':_0x3d2150(0x327),'timestamp':_0x51c209},clone(_0x491778);}[_0x5268ee(0x24f)](_0x525842,_0x2b03fb={}){const _0x33763f=_0x5268ee,_0x768c76=this['tasks'][_0x33763f(0x24f)](_0x525842);if(!_0x768c76)return void 0x0;if(!_0x2b03fb[_0x33763f(0x1e6)]||_0x768c76[_0x33763f(0x2cb)][_0x33763f(0x210)]<=_0x2b03fb['historyLength'])return clone(_0x768c76);const _0x575fb5=clone(_0x768c76);return _0x575fb5[_0x33763f(0x2cb)]=_0x575fb5[_0x33763f(0x2cb)]['slice'](-_0x2b03fb[_0x33763f(0x1e6)]),_0x575fb5;}[_0x5268ee(0x25e)](_0x57d141={}){const _0x4809d5=_0x5268ee;return Array[_0x4809d5(0x33c)](this[_0x4809d5(0x2fa)][_0x4809d5(0x28e)]())['filter'](_0x5e4b19=>this[_0x4809d5(0x277)](_0x5e4b19,_0x57d141))[_0x4809d5(0x29c)](_0x4e9408=>clone(_0x4e9408));}[_0x5268ee(0x259)](_0x4fbca4){const _0x14484b=_0x5268ee;return Array[_0x14484b(0x33c)](this[_0x14484b(0x2fa)][_0x14484b(0x28e)]())[_0x14484b(0x2f9)](_0x2f84b0=>_0x2f84b0[_0x14484b(0x276)]===_0x4fbca4&&!isTerminalTaskState(_0x2f84b0[_0x14484b(0x226)][_0x14484b(0x314)]))[_0x14484b(0x29c)](_0x1044a0=>clone(_0x1044a0));}[_0x5268ee(0x2a5)](_0x41a9f2){const _0x1af7d9=_0x5268ee;return Array['from'](this[_0x1af7d9(0x2fa)][_0x1af7d9(0x28e)]())[_0x1af7d9(0x2f9)](_0x2d2743=>_0x2d2743[_0x1af7d9(0x276)]===_0x41a9f2&&_0x2d2743[_0x1af7d9(0x226)][_0x1af7d9(0x314)]===_0x1af7d9(0x278))['map'](_0x3ee330=>clone(_0x3ee330));}[_0x5268ee(0x2d7)](_0x3eb946){const _0x23ed38=_0x5268ee,_0x1082a3=this['tasks'][_0x23ed38(0x24f)](_0x3eb946);if(!_0x1082a3)return void 0x0;for(let _0x4ebc1c=_0x1082a3[_0x23ed38(0x2cb)][_0x23ed38(0x210)]-0x1;_0x4ebc1c>=0x0;_0x4ebc1c-=0x1){const _0x41395c=_0x1082a3[_0x23ed38(0x2cb)][_0x4ebc1c];if(_0x41395c[_0x23ed38(0x1fb)]===_0x23ed38(0x1f9))return clone(_0x41395c);}return void 0x0;}[_0x5268ee(0x277)](_0x16828e,_0x89c130){const _0x2d0b5c=_0x5268ee;if(_0x89c130[_0x2d0b5c(0x256)]&&_0x16828e[_0x2d0b5c(0x256)]!==_0x89c130[_0x2d0b5c(0x256)])return![];if(_0x89c130[_0x2d0b5c(0x314)]&&_0x16828e[_0x2d0b5c(0x226)][_0x2d0b5c(0x314)]!==_0x89c130[_0x2d0b5c(0x314)])return![];if(_0x89c130[_0x2d0b5c(0x25d)]||_0x89c130['email']){const [_0x3b0b1f,_0x23549b]=splitWorkerKey(_0x16828e['assigneeWorkerKey']);if(_0x89c130['workerId']&&_0x3b0b1f!==_0x89c130[_0x2d0b5c(0x25d)])return![];if(_0x89c130[_0x2d0b5c(0x20d)]&&_0x23549b!==_0x89c130[_0x2d0b5c(0x20d)])return![];}return!![];}};function isTerminalTaskState(_0x444e6b){return TERMINAL_TASK_STATES['has'](_0x444e6b);}function _0x26a2(_0xac5c04,_0x48c85c){_0xac5c04=_0xac5c04-0x1c6;const _0x126137=_0x1261();let _0x26a296=_0x126137[_0xac5c04];return _0x26a296;}function splitWorkerKey(_0x52af1f){const _0x2e8c93=_0x5268ee,[_0xeb2575,_0x289db5]=_0x52af1f[_0x2e8c93(0x2a8)]('::');return[_0xeb2575,_0x289db5];}function _0x1261(){const _0x4bc693=['3176334vRalFi','offLoginAuthorization','sendTaskStatusUpdate','invalid\x20message','clear','managerToken','offWorkerEvent','queryWorkers','worker\x20is\x20not\x20logged\x20in','exception\x20reason\x20is\x20required','mimeType','has','pid','email','required','manager\x20commands\x20require\x20manager\x20role','length','cancelHandlers','metadata','buildArtifact','sendRequest','forceDisconnect','description','env','login-rejected','getBySessionId','server\x20stopping','resolveCredentialFile','task\x20artifact\x20update\x20failed','rejected','eventHandlers','CancelTask','string','manager-command','onLoginAuthorization','abnormalReason','cannot\x20continue\x20a\x20terminal\x20task','homedir','status','peer','enumerable','artifacts','8453753zSSgRF','emitLoginAuthorizationEvent','pendingRequests','crypto','availability-change','includes','registerManagerControlPlane','number','capabilitySummary','handleManagerSubscribeMessage','listen','latestLoginToken','nodeServer','handleTaskCancel','login-approved','open','rejectPendingRequests','TaskStatusUpdate','close','worker\x20session\x20not\x20found','initialAvailability','login\x20authorization\x20not\x20found','connectPromise','requestId','http://localhost','handleSocketClose','3ZWpplV','self-reported','WebSocketCtor','push','isArray','reconnectTimer','args','utf8','active','now','parse','get','manager-subscribe','seedTasks','hasOwnProperty','managerSubscriptions','createOrContinue','pathname','contextId','stringify','completeLogin','listActiveByWorker','url','cancel','socket-closed','workerId','list','exception','deriveWorkerSnapshot','nodeAdapter','dirname','invalid-token','heartbeat','validateManagerLogin','worker','remove','prototype','task-status-update','handleManagerCommandMessage','loginAuthorization','disconnect','peerId','seedSnapshots','manager\x20control\x20plane\x20is\x20not\x20configured','type','sendAck','chmod','upgrade','workerId\x20is\x20required','markDisconnected','assigneeWorkerKey','matchesFilters','submitted','message','5QnjwCP','TaskArtifactUpdate','session-replaced','createHash','sha256','CLOSING','onTaskUpdate','isFinite','onWorkerEvent','completed','role\x20is\x20invalid','server-stopping','session\x20replaced','artifactId','task-artifact-update','2949412wyEuqk','listTasks','heartbeatTimer','worker.email\x20is\x20required','handleSocketOpen','values','messageId','default','onPending','loginAuthorizationHandlers','error','seed:','emitWorkerEvent','manager-unsubscribe','worker.workerId\x20is\x20required','sessionId','digest','cloneRecord','loginAuthorization.signingSecret\x20is\x20required','map','createHooks','executeCommand','text\x20part\x20must\x20not\x20be\x20empty','parts\x20must\x20contain\x20at\x20least\x20one\x20entry','query','abnormal','failed','requireManagerContext','listReplayableByWorker','activityState','terminate','split','cancelPendingAuthorization','email\x20is\x20required','verifier','socket','eventName','process','file','replayActiveTasks','taskId','initialAvailability\x20is\x20invalid','reason','rename','credentialStore','startHeartbeatLoop','config','clearLoginToken','manager\x20is\x20already\x20connected','.json','handleLogoutMessage','available','authorization','abnormalSource','agent','getPrototypeOf','reconnectDelayMs','buildLoginPayload','set','loginTimer','managerControlPlane','addEventListener','taskUpdateHandlers','login\x20payload\x20is\x20required','trim','Buffer','history','mkdir','task\x20status\x20state\x20is\x20invalid','restoreSessionIfNeeded','artifact','crossws/adapters/node','handleReportExceptionMessage','manager\x20token\x20is\x20not\x20configured','manager\x20subscriptions\x20are\x20not\x20configured','join','OPEN','environment-operator','getLatestActionableMessage','base64url','resolve','manager','login-pending','snapshot','create','http','WebSocket\x20is\x20not\x20connected','cause','reported\x20as\x20abnormal\x20during\x20login','subscribe','end','startsWith','task\x20is\x20already\x20terminal','uri','function','structured\x20payload','persistLoginToken','cancelTask','kind','pendingAuthorizations','text','emitTaskUpdate','ENOENT','authorizationId','lastSeenAt','name','buildAgentMessage','object','listenWithNode','35728580yWHXzu','send','identityToPeerId','filter','tasks','touch','__esModule','connect','add','parts','heartbeat-ack','code','148898zhBmHI','createPendingAuthorization','payload','idle','handleIncomingMessage','taskStore','lastAvailabilityUpdatedAt','SendMessage','socket\x20closed\x20unexpectedly','.tmp','manager-command-result','exports','createTaskController','missing-token','buffer','reject','disconnected','ensureSocketOpen','state','heartbeatIntervalMs','working','worker-client-credentials','statusCode','identityKey','initialWorkers','connections','some','handleLoginMessage','sendHeartbeatAck','handleSocketMessage','login','updateAvailability','explicitState','coder','Not\x20Found','4810422MrylBP','connectionState','canceled','listAbnormalWorkers','entries','data','matchesPath','readyState','initialTasks','disposeManagerSubscription','6731096qzQRNF','sendLoginApproved','reportException','stop','serverUrl','min','fs/promises','signingSecret','clearPendingAuthorization','input-required','messageHandlers','handleTaskStatusUpdateMessage','getOwnPropertyDescriptor','from','report-exception','shouldStayConnected','task','rejectLoginAuthorization','getOwnPropertyNames','scheduleReconnect','handleManagerUnsubscribeMessage','heartbeat\x20timed\x20out','manager\x20token\x20is\x20invalid','once','artifact\x20name\x20is\x20required','manualClose','task\x20status\x20update\x20failed','heartbeatTimeoutMs','lastLoginPayload','hex','approveLoginAuthorization','reconnectBaseDelayMs','WebSocket\x20connection\x20failed','connection\x20closed','update','needsRestoreOnOpen','handleUpdateAvailabilityMessage','registry','reconnectMaxDelayMs','sendLoginPending','runHeartbeatSweep','reconnect','pendingAuthorizationId','6wjmgIs','randomUUID','availability','task\x20not\x20found','manager\x20command\x20failed','addArtifact','registerLogin','reason\x20is\x20required','dispatchTaskCancel','clearManagerSubscriptions','busy','records','historyLength','sendError','offCancel','sendManagerEvent','closeAll','dispatchTaskMessage','defineProperty','issuedAt','delete','isLoggedIn','toString','task\x20assignee\x20does\x20not\x20match\x20worker','destroy','sendLoginRejected','loginToken','path','update-availability','ack','logout','user','unknown\x20connection','role','file-ref\x20part\x20uri\x20is\x20required','call','readStoredLoginToken','sendManagerCommandResult'];_0x1261=function(){return _0x4bc693;};return _0x1261();}function clone(_0x242084){return structuredClone(_0x242084);}var DEFAULT_CONFIG2={'path':'/workers','heartbeatIntervalMs':0x3a98,'heartbeatTimeoutMs':0xafc8,'loginTimeoutMs':0x2710},WorkerServerSDK=class{['config'];[_0x5268ee(0x1d4)]=new WorkerSessionRegistry();[_0x5268ee(0x307)]=new TaskStore();[_0x5268ee(0x21e)]=new Set();[_0x5268ee(0x292)]=new Set();[_0x5268ee(0x2c7)]=new Set();[_0x5268ee(0x31b)]=new Map();['identityToPeerId']=new Map();['pendingAuthorizations']=new Map();['managerControlPlane']=null;[_0x5268ee(0x28b)];[_0x5268ee(0x236)];[_0x5268ee(0x261)];constructor(_0x29089a={}){const _0x3468c0=_0x5268ee;this[_0x3468c0(0x2b7)]={...DEFAULT_CONFIG2,..._0x29089a,'managerToken':_0x29089a['managerToken']??import_node_process2[_0x3468c0(0x290)][_0x3468c0(0x217)]['MEEGO_HARNESS_WORKER_MANAGER_TOKEN'],'loginAuthorization':resolveLoginAuthorizationConfig(_0x29089a[_0x3468c0(0x26b)])},this[_0x3468c0(0x1d4)][_0x3468c0(0x26e)](_0x29089a[_0x3468c0(0x31a)]??[]),this[_0x3468c0(0x307)][_0x3468c0(0x251)](_0x29089a[_0x3468c0(0x32d)]??[]);}[_0x5268ee(0x230)](_0x2fdcb9){const _0x161768=_0x5268ee;return this[_0x161768(0x2c5)]=_0x2fdcb9,this;}async['listen'](_0x384073,_0x1de71e='127.0.0.1'){const _0x156824=_0x5268ee;if(this[_0x156824(0x236)])throw new Error('WorkerServerSDK\x20is\x20already\x20listening');return await this[_0x156824(0x2f5)](_0x384073,_0x1de71e),this[_0x156824(0x2b6)](),this;}async[_0x5268ee(0x332)](){const _0x129dc7=_0x5268ee;this[_0x129dc7(0x28b)]&&(clearInterval(this[_0x129dc7(0x28b)]),this[_0x129dc7(0x28b)]=void 0x0);for(const _0x19c217 of this[_0x129dc7(0x31b)]['values']()){_0x19c217[_0x129dc7(0x2c4)]&&clearTimeout(_0x19c217['loginTimer']);await this[_0x129dc7(0x1e3)](_0x19c217),await this[_0x129dc7(0x2a9)](_0x19c217,_0x129dc7(0x285));if(_0x19c217[_0x129dc7(0x319)]){const _0xad9eac=this[_0x129dc7(0x1d4)][_0x129dc7(0x275)](_0x19c217[_0x129dc7(0x319)],_0x129dc7(0x25c),Date[_0x129dc7(0x24d)]());this[_0x129dc7(0x2f8)][_0x129dc7(0x1ee)](_0x19c217['identityKey']),_0xad9eac&&await this[_0x129dc7(0x295)]({'type':_0x129dc7(0x26c),'worker':_0xad9eac[_0x129dc7(0x2dc)],'cause':_0x129dc7(0x25c)});}try{_0x19c217[_0x129dc7(0x227)]['close'](0x3f4,'server\x20stopping');}catch{_0x19c217[_0x129dc7(0x227)][_0x129dc7(0x2a7)]();}}this['connections'][_0x129dc7(0x204)](),this['identityToPeerId']['clear'](),this['pendingAuthorizations'][_0x129dc7(0x204)](),this[_0x129dc7(0x261)]&&(this[_0x129dc7(0x261)][_0x129dc7(0x1ea)](0x3f4,_0x129dc7(0x21a),!![]),this[_0x129dc7(0x261)]=void 0x0),this[_0x129dc7(0x236)]&&(await new Promise((_0x14965d,_0x5093b8)=>this[_0x129dc7(0x236)][_0x129dc7(0x23c)](_0x5a60b9=>_0x5a60b9?_0x5093b8(_0x5a60b9):_0x14965d())),this[_0x129dc7(0x236)]=void 0x0);}[_0x5268ee(0x282)](_0x5de44b){const _0x2f65cc=_0x5268ee;return this[_0x2f65cc(0x21e)][_0x2f65cc(0x2fe)](_0x5de44b),this;}[_0x5268ee(0x206)](_0x40ac6a){const _0x3b96cd=_0x5268ee;return this[_0x3b96cd(0x21e)][_0x3b96cd(0x1ee)](_0x40ac6a),this;}[_0x5268ee(0x222)](_0x15b5e0){const _0x5e8141=_0x5268ee;return this[_0x5e8141(0x292)][_0x5e8141(0x2fe)](_0x15b5e0),this;}[_0x5268ee(0x201)](_0x1336ef){const _0x4d7792=_0x5268ee;return this['loginAuthorizationHandlers'][_0x4d7792(0x1ee)](_0x1336ef),this;}[_0x5268ee(0x207)](_0x512342={}){const _0x45dbb3=_0x5268ee,{activityState:_0xe19021,..._0x368f1b}=_0x512342;return this[_0x45dbb3(0x1d4)][_0x45dbb3(0x2a1)](_0x368f1b)[_0x45dbb3(0x29c)](_0x19c455=>this[_0x45dbb3(0x260)](_0x19c455))[_0x45dbb3(0x2f9)](_0xfc8bf6=>_0xe19021?_0xfc8bf6[_0x45dbb3(0x2a6)]===_0xe19021:!![]);}[_0x5268ee(0x328)](_0x26428e={}){const _0x108636=_0x5268ee;return this[_0x108636(0x207)]({..._0x26428e,'availability':_0x108636(0x2a2)});}async[_0x5268ee(0x1cd)](_0x2b52a5,_0x3bb59b){const _0x5d9865=_0x5268ee,_0x563be8=this['pendingAuthorizations'][_0x5d9865(0x24f)](_0x2b52a5);if(!_0x563be8)throw new Error(_0x5d9865(0x23f));const _0x2fe859=this[_0x5d9865(0x31b)]['get'](_0x563be8[_0x5d9865(0x26d)]);if(!_0x2fe859||_0x2fe859[_0x5d9865(0x1d9)]!==_0x2b52a5){this[_0x5d9865(0x2ec)][_0x5d9865(0x1ee)](_0x2b52a5);throw new Error(_0x5d9865(0x23f));}this[_0x5d9865(0x337)](_0x2fe859);const _0x4251f3=this[_0x5d9865(0x2b7)][_0x5d9865(0x26b)]?issueLoginToken({'workerId':_0x563be8[_0x5d9865(0x304)][_0x5d9865(0x25d)],'email':_0x563be8[_0x5d9865(0x304)][_0x5d9865(0x20d)],'role':_0x563be8['payload'][_0x5d9865(0x1fb)],'issuedAt':Date['now']()},this['config']['loginAuthorization']['signingSecret']):void 0x0;await this['completeLogin'](_0x2fe859,_0x563be8['requestId'],_0x563be8[_0x5d9865(0x304)],_0x4251f3);}async[_0x5268ee(0x340)](_0x397fab,_0x367141,_0x1e12b2){const _0x4b2fed=_0x5268ee;if(_0x367141[_0x4b2fed(0x2c9)]()[_0x4b2fed(0x210)]===0x0)throw new Error('login\x20rejection\x20reason\x20is\x20required');const _0x4993df=this[_0x4b2fed(0x2ec)][_0x4b2fed(0x24f)](_0x397fab);if(!_0x4993df)throw new Error(_0x4b2fed(0x23f));const _0xc05977=this[_0x4b2fed(0x31b)][_0x4b2fed(0x24f)](_0x4993df[_0x4b2fed(0x26d)]);this['pendingAuthorizations'][_0x4b2fed(0x1ee)](_0x397fab),_0xc05977?.[_0x4b2fed(0x1d9)]===_0x397fab&&(_0xc05977['pendingAuthorizationId']=void 0x0),_0xc05977&&this[_0x4b2fed(0x1f3)](_0xc05977[_0x4b2fed(0x227)],_0x4993df[_0x4b2fed(0x241)],_0x367141);}[_0x5268ee(0x280)](_0x516846){const _0x107972=_0x5268ee;return this[_0x107972(0x2c7)][_0x107972(0x2fe)](_0x516846),this;}async['sendMessage'](_0x14b8a7){const _0xbde849=_0x5268ee;validateSendMessageParams(_0x14b8a7);const _0x3088b9=Date['now'](),_0x1e26ce=_0x14b8a7['taskId']?this[_0xbde849(0x307)]['get'](_0x14b8a7['taskId']):void 0x0;if(_0x14b8a7[_0xbde849(0x2b1)]&&!_0x1e26ce)throw new Error(_0xbde849(0x1dd));const _0x44e06f=_0x14b8a7[_0xbde849(0x2b1)]??crypto[_0xbde849(0x1db)](),_0x5f487a=_0x1e26ce?.[_0xbde849(0x256)]??_0x14b8a7[_0xbde849(0x256)]??crypto[_0xbde849(0x1db)](),_0x41aaf7={'messageId':_0x14b8a7[_0xbde849(0x28f)]??crypto['randomUUID'](),'contextId':_0x5f487a,'taskId':_0x44e06f,'role':_0xbde849(0x1f9),'parts':clone(_0x14b8a7[_0xbde849(0x2ff)]),'metadata':_0x14b8a7[_0xbde849(0x212)]?clone(_0x14b8a7[_0xbde849(0x212)]):void 0x0},_0x4dc853=this[_0xbde849(0x307)][_0xbde849(0x254)]({'workerId':_0x14b8a7['worker']['workerId'],'email':_0x14b8a7['worker']['email'],'message':_0x41aaf7,'metadata':_0x14b8a7[_0xbde849(0x212)],'now':_0x3088b9});return await this[_0xbde849(0x2ee)]({'type':_0xbde849(0x269),'task':_0x4dc853,'status':_0x4dc853[_0xbde849(0x226)],'message':_0x41aaf7}),this[_0xbde849(0x1eb)](_0x4dc853[_0xbde849(0x276)],_0x4dc853,_0x41aaf7),_0x4dc853;}['getTask'](_0x160ecd,_0x5c3fab={}){const _0x8de0fc=_0x5268ee;return this[_0x8de0fc(0x307)]['get'](_0x160ecd,_0x5c3fab);}[_0x5268ee(0x28a)](_0x14a395={}){const _0x119400=_0x5268ee;return this[_0x119400(0x307)]['list'](_0x14a395);}async[_0x5268ee(0x2ea)](_0x511e1a){const _0x143310=_0x5268ee,_0xc35fbe=this[_0x143310(0x307)][_0x143310(0x25b)](_0x511e1a,Date['now']());return await this['emitTaskUpdate']({'type':'task-status-update','task':_0xc35fbe,'status':_0xc35fbe[_0x143310(0x226)]}),this[_0x143310(0x1e2)](_0xc35fbe[_0x143310(0x276)],_0xc35fbe['id']),_0xc35fbe;}async[_0x5268ee(0x2f5)](_0x446ecd,_0x34d2a9){const _0xe0c219=_0x5268ee,_0x27c9ed=await import(_0xe0c219(0x2d0)),_0x5124a1=_0x27c9ed[_0xe0c219(0x290)]({'hooks':this['createHooks']()});this[_0xe0c219(0x261)]=_0x5124a1,this[_0xe0c219(0x236)]=(0x0,import_node_http['createServer'])((_0xfbb034,_0x53c48e)=>{const _0x56cdb6=_0xe0c219;_0x53c48e[_0x56cdb6(0x318)]=0x194,_0x53c48e[_0x56cdb6(0x2e3)](_0x56cdb6(0x324));}),this['nodeServer']['on'](_0xe0c219(0x273),(_0x5d337f,_0x3cb3b1,_0x525205)=>{const _0x48e073=_0xe0c219;if(!this[_0x48e073(0x32b)](_0x5d337f[_0x48e073(0x25a)]??'/')){_0x3cb3b1[_0x48e073(0x1f2)]();return;}void this[_0x48e073(0x261)]['handleUpgrade'](_0x5d337f,_0x3cb3b1,_0x525205)['catch'](()=>{const _0x46986d=_0x48e073;_0x3cb3b1[_0x46986d(0x1f2)]();});}),await new Promise((_0x4caaaa,_0x516db8)=>{const _0xc892e8=_0xe0c219;this[_0xc892e8(0x236)][_0xc892e8(0x1c6)](_0xc892e8(0x293),_0x516db8),this['nodeServer'][_0xc892e8(0x234)](_0x446ecd,_0x34d2a9,()=>_0x4caaaa());});}[_0x5268ee(0x29d)](){return{'open':async _0x28d96d=>{const _0xd7b9d6=_0x26a2;this[_0xd7b9d6(0x28d)](_0x28d96d);},'message':async(_0x40af0e,_0x48c2b0)=>{await this['handleSocketMessage'](_0x40af0e,_0x48c2b0['text']());},'close':async _0x213b40=>{const _0x3a0b95=_0x26a2;await this[_0x3a0b95(0x243)](_0x213b40,_0x3a0b95(0x25c));},'error':async()=>{}};}[_0x5268ee(0x28d)](_0x507be7){const _0x3483bb=_0x5268ee,_0x3ce482={'peer':_0x507be7,'sessionId':crypto['randomUUID'](),'managerSubscriptions':new Map(),'loginTimer':setTimeout(()=>{const _0xf33817=_0x26a2,_0x48d122=this['connections'][_0xf33817(0x24f)](_0x507be7['id']);!_0x48d122?.['identityKey']&&(_0x507be7[_0xf33817(0x23c)](0xfa1,'login\x20required'),this[_0xf33817(0x31b)][_0xf33817(0x1ee)](_0x507be7['id']));},this[_0x3483bb(0x2b7)]['loginTimeoutMs'])};this['connections']['set'](_0x507be7['id'],_0x3ce482);}async[_0x5268ee(0x31f)](_0x214df5,_0xb00065){const _0x2813c3=_0x5268ee,_0x1f4ac6=parseClientMessage(_0xb00065);if(!_0x1f4ac6){this[_0x2813c3(0x1e7)](_0x214df5,_0x2813c3(0x203));return;}const _0x45dfcb=this[_0x2813c3(0x31b)][_0x2813c3(0x24f)](_0x214df5['id']);if(!_0x45dfcb){this[_0x2813c3(0x1e7)](_0x214df5,_0x2813c3(0x1fa));return;}_0x1f4ac6['type']!==_0x2813c3(0x300)&&_0x45dfcb[_0x2813c3(0x319)]&&this[_0x2813c3(0x1d4)][_0x2813c3(0x2fb)](_0x45dfcb[_0x2813c3(0x319)],Date[_0x2813c3(0x24d)]());if(_0x45dfcb[_0x2813c3(0x1d9)]&&_0x1f4ac6['type']!=='login'&&_0x1f4ac6[_0x2813c3(0x270)]!=='heartbeat-ack'){this['sendError'](_0x214df5,_0x2813c3(0x208),'requestId'in _0x1f4ac6?_0x1f4ac6['requestId']:void 0x0);return;}switch(_0x1f4ac6['type']){case _0x2813c3(0x320):await this[_0x2813c3(0x31d)](_0x45dfcb,_0x1f4ac6);return;case _0x2813c3(0x1f8):await this[_0x2813c3(0x2bb)](_0x45dfcb,_0x1f4ac6[_0x2813c3(0x241)]);return;case'update-availability':await this['handleUpdateAvailabilityMessage'](_0x45dfcb,_0x1f4ac6);return;case'report-exception':await this[_0x2813c3(0x2d1)](_0x45dfcb,_0x1f4ac6);return;case'manager-command':await this[_0x2813c3(0x26a)](_0x45dfcb,_0x1f4ac6);return;case _0x2813c3(0x250):await this[_0x2813c3(0x233)](_0x45dfcb,_0x1f4ac6);return;case'manager-unsubscribe':await this['handleManagerUnsubscribeMessage'](_0x45dfcb,_0x1f4ac6);return;case _0x2813c3(0x23b):await this[_0x2813c3(0x33a)](_0x45dfcb,_0x1f4ac6);return;case _0x2813c3(0x27b):await this['handleTaskArtifactUpdateMessage'](_0x45dfcb,_0x1f4ac6);return;case _0x2813c3(0x300):_0x45dfcb['identityKey']&&this[_0x2813c3(0x1d4)]['touch'](_0x45dfcb[_0x2813c3(0x319)],Date['now']());}}async[_0x5268ee(0x31d)](_0x9dd7ad,_0x6f5eb7){const _0x41b83a=_0x5268ee,_0x5c15f5=validateLoginPayload(_0x6f5eb7['payload']);if(_0x5c15f5){this[_0x41b83a(0x1e7)](_0x9dd7ad[_0x41b83a(0x227)],_0x5c15f5,_0x6f5eb7[_0x41b83a(0x241)]);return;}_0x9dd7ad[_0x41b83a(0x2c4)]&&(clearTimeout(_0x9dd7ad['loginTimer']),_0x9dd7ad[_0x41b83a(0x2c4)]=void 0x0);await this[_0x41b83a(0x2a9)](_0x9dd7ad,'login-retried');const _0x1d7054=createWorkerIdentityKey(_0x6f5eb7[_0x41b83a(0x304)][_0x41b83a(0x25d)],_0x6f5eb7['payload'][_0x41b83a(0x20d)]),_0x2eb6b0=this[_0x41b83a(0x265)](_0x6f5eb7[_0x41b83a(0x304)],_0x1d7054);if(_0x2eb6b0){this['sendLoginRejected'](_0x9dd7ad[_0x41b83a(0x227)],_0x6f5eb7[_0x41b83a(0x241)],_0x2eb6b0);return;}if(_0x6f5eb7[_0x41b83a(0x304)][_0x41b83a(0x1fb)]===_0x41b83a(0x2da)){await this[_0x41b83a(0x258)](_0x9dd7ad,_0x6f5eb7[_0x41b83a(0x241)],_0x6f5eb7[_0x41b83a(0x304)]);return;}if(!this[_0x41b83a(0x2b7)][_0x41b83a(0x26b)]){await this[_0x41b83a(0x258)](_0x9dd7ad,_0x6f5eb7[_0x41b83a(0x241)],_0x6f5eb7['payload']);return;}const _0x50ef91=_0x6f5eb7[_0x41b83a(0x304)][_0x41b83a(0x1f4)]?verifyLoginToken(_0x6f5eb7['payload'][_0x41b83a(0x1f4)],this[_0x41b83a(0x2b7)][_0x41b83a(0x26b)][_0x41b83a(0x336)]):null,_0x564352=_0x50ef91&&_0x50ef91[_0x41b83a(0x25d)]===_0x6f5eb7[_0x41b83a(0x304)][_0x41b83a(0x25d)]&&_0x50ef91[_0x41b83a(0x20d)]===_0x6f5eb7['payload'][_0x41b83a(0x20d)]&&_0x50ef91[_0x41b83a(0x1fb)]===_0x6f5eb7['payload'][_0x41b83a(0x1fb)];if(_0x564352){const _0x30c536=issueLoginToken({'workerId':_0x6f5eb7[_0x41b83a(0x304)][_0x41b83a(0x25d)],'email':_0x6f5eb7[_0x41b83a(0x304)][_0x41b83a(0x20d)],'role':_0x6f5eb7[_0x41b83a(0x304)]['role'],'issuedAt':Date[_0x41b83a(0x24d)]()},this[_0x41b83a(0x2b7)][_0x41b83a(0x26b)][_0x41b83a(0x336)]);await this[_0x41b83a(0x258)](_0x9dd7ad,_0x6f5eb7['requestId'],_0x6f5eb7[_0x41b83a(0x304)],_0x30c536);return;}await this[_0x41b83a(0x303)](_0x9dd7ad,_0x6f5eb7,_0x6f5eb7['payload'][_0x41b83a(0x1f4)]?_0x41b83a(0x263):_0x41b83a(0x30f));}[_0x5268ee(0x265)](_0x19731e,_0x5dc8ef){const _0x267b9f=_0x5268ee;if(_0x19731e[_0x267b9f(0x1fb)]!==_0x267b9f(0x2da))return null;if(!this[_0x267b9f(0x2b7)][_0x267b9f(0x205)]||this[_0x267b9f(0x2b7)][_0x267b9f(0x205)][_0x267b9f(0x2c9)]()[_0x267b9f(0x210)]===0x0)return _0x267b9f(0x2d2);if(_0x19731e[_0x267b9f(0x205)]!==this[_0x267b9f(0x2b7)][_0x267b9f(0x205)])return _0x267b9f(0x345);const _0x5ae31b=this[_0x267b9f(0x1d4)][_0x267b9f(0x2a1)]({'role':'manager','connectionState':'connected'});if(_0x5ae31b[_0x267b9f(0x31c)](_0x5646f3=>createWorkerIdentityKey(_0x5646f3['workerId'],_0x5646f3[_0x267b9f(0x20d)])!==_0x5dc8ef))return'manager\x20is\x20already\x20connected';if(_0x5ae31b[_0x267b9f(0x210)]>0x0)return _0x267b9f(0x2b9);return null;}async[_0x5268ee(0x303)](_0x4b65db,_0xae13b5,_0xd886e5){const _0x1e5d17=_0x5268ee,_0x58870e={'authorizationId':crypto['randomUUID'](),'workerId':_0xae13b5[_0x1e5d17(0x304)][_0x1e5d17(0x25d)],'email':_0xae13b5[_0x1e5d17(0x304)][_0x1e5d17(0x20d)],'role':_0xae13b5[_0x1e5d17(0x304)][_0x1e5d17(0x1fb)],'capabilitySummary':_0xae13b5[_0x1e5d17(0x304)][_0x1e5d17(0x232)],'initialAvailability':_0xae13b5[_0x1e5d17(0x304)][_0x1e5d17(0x23e)]??_0x1e5d17(0x2bc),'requestedAt':Date['now'](),'reason':_0xd886e5};_0x4b65db[_0x1e5d17(0x1d9)]=_0x58870e[_0x1e5d17(0x2f0)],this[_0x1e5d17(0x2ec)]['set'](_0x58870e[_0x1e5d17(0x2f0)],{'authorization':_0x58870e,'peerId':_0x4b65db[_0x1e5d17(0x227)]['id'],'requestId':_0xae13b5[_0x1e5d17(0x241)],'payload':clone(_0xae13b5[_0x1e5d17(0x304)])}),await this[_0x1e5d17(0x22b)]({'type':'required','authorization':clonePendingAuthorization(_0x58870e)}),this['sendLoginPending'](_0x4b65db[_0x1e5d17(0x227)],_0xae13b5['requestId'],_0x58870e['authorizationId'],_0xd886e5);}async[_0x5268ee(0x258)](_0x3b5242,_0x4e953a,_0x1facd0,_0x55407b){const _0x33fd29=_0x5268ee,_0x141385=Date[_0x33fd29(0x24d)](),_0x2c9596=createWorkerIdentityKey(_0x1facd0[_0x33fd29(0x25d)],_0x1facd0[_0x33fd29(0x20d)]),_0x3e5d8e=this[_0x33fd29(0x2f8)][_0x33fd29(0x24f)](_0x2c9596),_0x1be370=_0x3e5d8e&&_0x3e5d8e!==_0x3b5242[_0x33fd29(0x227)]['id']?this[_0x33fd29(0x31b)]['get'](_0x3e5d8e):void 0x0;_0x1be370?.[_0x33fd29(0x319)]===_0x2c9596&&await this[_0x33fd29(0x215)](_0x1be370,_0x33fd29(0x27c));_0x3b5242[_0x33fd29(0x2c4)]&&(clearTimeout(_0x3b5242['loginTimer']),_0x3b5242[_0x33fd29(0x2c4)]=void 0x0);this['clearPendingAuthorization'](_0x3b5242),_0x3b5242[_0x33fd29(0x319)]=_0x2c9596,this[_0x33fd29(0x2f8)]['set'](_0x2c9596,_0x3b5242[_0x33fd29(0x227)]['id']);const _0x2e50a8=this[_0x33fd29(0x1d4)][_0x33fd29(0x1e0)](_0x3b5242[_0x33fd29(0x298)],_0x1facd0,_0x141385);await this[_0x33fd29(0x295)]({'type':_0x33fd29(0x320),'worker':this[_0x33fd29(0x260)](_0x2e50a8[_0x33fd29(0x2dc)])}),this[_0x33fd29(0x2b0)](_0x2c9596),this[_0x33fd29(0x330)](_0x3b5242['peer'],_0x4e953a,_0x55407b);}[_0x5268ee(0x337)](_0x28a728){const _0x4a06b5=_0x5268ee;if(!_0x28a728[_0x4a06b5(0x1d9)])return;this['pendingAuthorizations'][_0x4a06b5(0x1ee)](_0x28a728['pendingAuthorizationId']),_0x28a728[_0x4a06b5(0x1d9)]=void 0x0;}async['cancelPendingAuthorization'](_0x31f74d,_0x43ebc6){const _0x1f080f=_0x5268ee;if(!_0x31f74d[_0x1f080f(0x1d9)])return;const _0x32f23f=_0x31f74d['pendingAuthorizationId'],_0x4a5a79=this['pendingAuthorizations'][_0x1f080f(0x24f)](_0x32f23f);this['pendingAuthorizations'][_0x1f080f(0x1ee)](_0x32f23f),_0x31f74d[_0x1f080f(0x1d9)]=void 0x0;if(!_0x4a5a79)return;await this[_0x1f080f(0x22b)]({'type':_0x1f080f(0x327),'authorization':clonePendingAuthorization(_0x4a5a79[_0x1f080f(0x2bd)]),'cause':_0x43ebc6});}async[_0x5268ee(0x2bb)](_0x33c217,_0x2a474f){const _0x32b1e8=_0x5268ee;if(!_0x33c217[_0x32b1e8(0x319)]){this[_0x32b1e8(0x1e7)](_0x33c217[_0x32b1e8(0x227)],_0x32b1e8(0x208),_0x2a474f);return;}await this['clearManagerSubscriptions'](_0x33c217);const _0x4d91a8=this['registry'][_0x32b1e8(0x267)](_0x33c217['identityKey']);this[_0x32b1e8(0x2f8)][_0x32b1e8(0x1ee)](_0x33c217[_0x32b1e8(0x319)]),_0x33c217[_0x32b1e8(0x319)]=void 0x0,_0x4d91a8&&await this[_0x32b1e8(0x295)]({'type':'logout','worker':this[_0x32b1e8(0x260)](_0x4d91a8[_0x32b1e8(0x2dc)])}),this['sendAck'](_0x33c217[_0x32b1e8(0x227)],_0x2a474f);}async[_0x5268ee(0x1d3)](_0x509ded,_0x5784eb){const _0x3d448f=_0x5268ee;if(!_0x509ded[_0x3d448f(0x319)]){this['sendError'](_0x509ded[_0x3d448f(0x227)],_0x3d448f(0x208),_0x5784eb[_0x3d448f(0x241)]);return;}const _0x6c751d=this['registry'][_0x3d448f(0x24f)](_0x509ded[_0x3d448f(0x319)]);if(!_0x6c751d){this[_0x3d448f(0x1e7)](_0x509ded[_0x3d448f(0x227)],_0x3d448f(0x23d),_0x5784eb[_0x3d448f(0x241)]);return;}const _0x234bcd=this[_0x3d448f(0x1d4)]['updateAvailability'](_0x509ded[_0x3d448f(0x319)],_0x5784eb[_0x3d448f(0x1dc)],Date['now']());if(!_0x234bcd){this[_0x3d448f(0x1e7)](_0x509ded[_0x3d448f(0x227)],_0x3d448f(0x23d),_0x5784eb[_0x3d448f(0x241)]);return;}await this[_0x3d448f(0x295)]({'type':_0x3d448f(0x22e),'worker':this[_0x3d448f(0x260)](_0x234bcd[_0x3d448f(0x2dc)]),'previousAvailability':_0x6c751d[_0x3d448f(0x2dc)][_0x3d448f(0x1dc)],'previousAbnormalSource':_0x6c751d['snapshot'][_0x3d448f(0x2be)],'previousAbnormalReason':_0x6c751d[_0x3d448f(0x2dc)][_0x3d448f(0x223)]}),this[_0x3d448f(0x271)](_0x509ded['peer'],_0x5784eb[_0x3d448f(0x241)]);}async[_0x5268ee(0x2d1)](_0x775ed3,_0x19dd68){const _0x306d74=_0x5268ee;if(!_0x775ed3[_0x306d74(0x319)]){this['sendError'](_0x775ed3['peer'],_0x306d74(0x208),_0x19dd68[_0x306d74(0x241)]);return;}if(_0x19dd68[_0x306d74(0x2b3)][_0x306d74(0x2c9)]()[_0x306d74(0x210)]===0x0){this[_0x306d74(0x1e7)](_0x775ed3['peer'],_0x306d74(0x209),_0x19dd68[_0x306d74(0x241)]);return;}const _0x4b5159=this['registry'][_0x306d74(0x24f)](_0x775ed3[_0x306d74(0x319)]);if(!_0x4b5159){this['sendError'](_0x775ed3[_0x306d74(0x227)],_0x306d74(0x23d),_0x19dd68[_0x306d74(0x241)]);return;}const _0x900b8a=this[_0x306d74(0x1d4)]['reportException'](_0x775ed3[_0x306d74(0x319)],_0x19dd68[_0x306d74(0x2b3)],Date[_0x306d74(0x24d)]());if(!_0x900b8a){this['sendError'](_0x775ed3['peer'],_0x306d74(0x23d),_0x19dd68[_0x306d74(0x241)]);return;}await this['emitWorkerEvent']({'type':'availability-change','worker':this[_0x306d74(0x260)](_0x900b8a[_0x306d74(0x2dc)]),'previousAvailability':_0x4b5159[_0x306d74(0x2dc)][_0x306d74(0x1dc)],'previousAbnormalSource':_0x4b5159[_0x306d74(0x2dc)][_0x306d74(0x2be)],'previousAbnormalReason':_0x4b5159[_0x306d74(0x2dc)][_0x306d74(0x223)]}),this['sendAck'](_0x775ed3[_0x306d74(0x227)],_0x19dd68[_0x306d74(0x241)]);}async[_0x5268ee(0x33a)](_0x3fbcde,_0x46938e){const _0x2891cb=_0x5268ee;if(!_0x3fbcde[_0x2891cb(0x319)]){this[_0x2891cb(0x1e7)](_0x3fbcde[_0x2891cb(0x227)],_0x2891cb(0x208),_0x46938e[_0x2891cb(0x241)]);return;}const _0x23d624=this[_0x2891cb(0x307)][_0x2891cb(0x24f)](_0x46938e[_0x2891cb(0x2b1)]);if(!_0x23d624){this[_0x2891cb(0x1e7)](_0x3fbcde[_0x2891cb(0x227)],_0x2891cb(0x1dd),_0x46938e['requestId']);return;}if(_0x23d624[_0x2891cb(0x276)]!==_0x3fbcde[_0x2891cb(0x319)]){this['sendError'](_0x3fbcde['peer'],_0x2891cb(0x1f1),_0x46938e['requestId']);return;}try{validateTaskStatusUpdate(_0x46938e[_0x2891cb(0x226)],_0x23d624[_0x2891cb(0x226)]);const _0x2837e9=this['taskStore'][_0x2891cb(0x321)](_0x46938e[_0x2891cb(0x2b1)],clone(_0x46938e[_0x2891cb(0x226)]),_0x46938e['message']?clone(_0x46938e[_0x2891cb(0x279)]):void 0x0);await this[_0x2891cb(0x2ee)]({'type':_0x2891cb(0x269),'task':_0x2837e9,'status':_0x2837e9[_0x2891cb(0x226)],'message':_0x46938e['message']?clone(_0x46938e[_0x2891cb(0x279)]):void 0x0}),this[_0x2891cb(0x271)](_0x3fbcde[_0x2891cb(0x227)],_0x46938e[_0x2891cb(0x241)]);}catch(_0x26121f){this[_0x2891cb(0x1e7)](_0x3fbcde[_0x2891cb(0x227)],_0x26121f instanceof Error?_0x26121f['message']:_0x2891cb(0x1c9),_0x46938e[_0x2891cb(0x241)]);}}async['handleTaskArtifactUpdateMessage'](_0x5a5984,_0x1447a6){const _0x354f69=_0x5268ee;if(!_0x5a5984[_0x354f69(0x319)]){this[_0x354f69(0x1e7)](_0x5a5984[_0x354f69(0x227)],_0x354f69(0x208),_0x1447a6[_0x354f69(0x241)]);return;}const _0x28cf45=this[_0x354f69(0x307)][_0x354f69(0x24f)](_0x1447a6[_0x354f69(0x2b1)]);if(!_0x28cf45){this[_0x354f69(0x1e7)](_0x5a5984[_0x354f69(0x227)],_0x354f69(0x1dd),_0x1447a6[_0x354f69(0x241)]);return;}if(_0x28cf45[_0x354f69(0x276)]!==_0x5a5984['identityKey']){this[_0x354f69(0x1e7)](_0x5a5984['peer'],'task\x20assignee\x20does\x20not\x20match\x20worker',_0x1447a6['requestId']);return;}try{validateArtifact(_0x1447a6[_0x354f69(0x2cf)]);const _0x9e481f=this[_0x354f69(0x307)][_0x354f69(0x1df)](_0x1447a6[_0x354f69(0x2b1)],_0x1447a6[_0x354f69(0x2cf)]);await this[_0x354f69(0x2ee)]({'type':_0x354f69(0x288),'task':_0x9e481f,'artifact':clone(_0x1447a6[_0x354f69(0x2cf)])}),this[_0x354f69(0x271)](_0x5a5984[_0x354f69(0x227)],_0x1447a6['requestId']);}catch(_0xc46b79){this[_0x354f69(0x1e7)](_0x5a5984[_0x354f69(0x227)],_0xc46b79 instanceof Error?_0xc46b79[_0x354f69(0x279)]:_0x354f69(0x21c),_0x1447a6[_0x354f69(0x241)]);}}async[_0x5268ee(0x26a)](_0x2b8ef2,_0x2321bb){const _0x1be124=_0x5268ee,_0x59aa11=this[_0x1be124(0x2a4)](_0x2b8ef2,_0x2321bb[_0x1be124(0x241)]);if(!_0x59aa11)return;if(!this[_0x1be124(0x2c5)]){this[_0x1be124(0x1e7)](_0x2b8ef2[_0x1be124(0x227)],_0x1be124(0x26f),_0x2321bb['requestId']);return;}try{const _0x102484=await this[_0x1be124(0x2c5)][_0x1be124(0x29e)]({'name':_0x2321bb[_0x1be124(0x2f2)],'args':cloneIfDefined(_0x2321bb[_0x1be124(0x24a)])},_0x59aa11);this[_0x1be124(0x1ff)](_0x2b8ef2['peer'],_0x2321bb[_0x1be124(0x241)],cloneIfDefined(_0x102484));}catch(_0x121ba4){this[_0x1be124(0x1e7)](_0x2b8ef2[_0x1be124(0x227)],_0x121ba4 instanceof Error?_0x121ba4[_0x1be124(0x279)]:_0x1be124(0x1de),_0x2321bb['requestId']);}}async[_0x5268ee(0x233)](_0x585446,_0x5be387){const _0x19baa5=_0x5268ee,_0x531756=this['requireManagerContext'](_0x585446,_0x5be387[_0x19baa5(0x241)]);if(!_0x531756)return;if(!this[_0x19baa5(0x2c5)]?.[_0x19baa5(0x2e2)]){this[_0x19baa5(0x1e7)](_0x585446[_0x19baa5(0x227)],_0x19baa5(0x2d3),_0x5be387[_0x19baa5(0x241)]);return;}await this[_0x19baa5(0x32e)](_0x585446,_0x5be387[_0x19baa5(0x2ad)]);const _0x13c7b3=await this[_0x19baa5(0x2c5)][_0x19baa5(0x2e2)](_0x5be387[_0x19baa5(0x2ad)],async _0x32e22e=>{const _0x1ad9db=_0x19baa5;if(!this[_0x1ad9db(0x31b)][_0x1ad9db(0x20b)](_0x585446[_0x1ad9db(0x227)]['id'])||!_0x585446['identityKey'])return;this[_0x1ad9db(0x1e9)](_0x585446[_0x1ad9db(0x227)],{'eventName':_0x32e22e[_0x1ad9db(0x2ad)],'payload':cloneIfDefined(_0x32e22e[_0x1ad9db(0x304)])});},_0x531756);_0x585446[_0x19baa5(0x253)][_0x19baa5(0x2c3)](_0x5be387[_0x19baa5(0x2ad)],_0x13c7b3),this[_0x19baa5(0x271)](_0x585446[_0x19baa5(0x227)],_0x5be387['requestId']);}async[_0x5268ee(0x343)](_0x450c1e,_0x46570a){const _0x556b89=_0x5268ee,_0x2849f7=this[_0x556b89(0x2a4)](_0x450c1e,_0x46570a['requestId']);if(!_0x2849f7)return;await this[_0x556b89(0x32e)](_0x450c1e,_0x46570a[_0x556b89(0x2ad)]),this['sendAck'](_0x450c1e[_0x556b89(0x227)],_0x46570a[_0x556b89(0x241)]);}async[_0x5268ee(0x243)](_0x38402f,_0x5f5247){const _0x440f84=_0x5268ee,_0x23e1b4=this[_0x440f84(0x31b)][_0x440f84(0x24f)](_0x38402f['id']);if(!_0x23e1b4)return;_0x23e1b4[_0x440f84(0x2c4)]&&clearTimeout(_0x23e1b4['loginTimer']);await this[_0x440f84(0x1e3)](_0x23e1b4),this[_0x440f84(0x31b)]['delete'](_0x38402f['id']),await this[_0x440f84(0x2a9)](_0x23e1b4,_0x5f5247);if(!_0x23e1b4[_0x440f84(0x319)])return;if(this[_0x440f84(0x2f8)][_0x440f84(0x24f)](_0x23e1b4[_0x440f84(0x319)])!==_0x38402f['id'])return;const _0x58bf99=this[_0x440f84(0x1d4)][_0x440f84(0x275)](_0x23e1b4[_0x440f84(0x319)],_0x5f5247,Date[_0x440f84(0x24d)]());this[_0x440f84(0x2f8)]['delete'](_0x23e1b4['identityKey']),_0x58bf99&&await this[_0x440f84(0x295)]({'type':'disconnect','worker':this['deriveWorkerSnapshot'](_0x58bf99[_0x440f84(0x2dc)]),'cause':_0x5f5247});}async[_0x5268ee(0x215)](_0x5bc490,_0x1e0110){const _0x5f4ec3=_0x5268ee;this['connections'][_0x5f4ec3(0x1ee)](_0x5bc490[_0x5f4ec3(0x227)]['id']);_0x5bc490[_0x5f4ec3(0x2c4)]&&clearTimeout(_0x5bc490[_0x5f4ec3(0x2c4)]);await this[_0x5f4ec3(0x1e3)](_0x5bc490),await this['cancelPendingAuthorization'](_0x5bc490,_0x1e0110);if(_0x5bc490[_0x5f4ec3(0x319)]){const _0x4205cf=this[_0x5f4ec3(0x1d4)][_0x5f4ec3(0x275)](_0x5bc490[_0x5f4ec3(0x319)],_0x1e0110,Date['now']());this['identityToPeerId']['delete'](_0x5bc490['identityKey']),_0x5bc490['identityKey']=void 0x0,_0x4205cf&&await this['emitWorkerEvent']({'type':_0x5f4ec3(0x26c),'worker':this['deriveWorkerSnapshot'](_0x4205cf[_0x5f4ec3(0x2dc)]),'cause':_0x1e0110});}try{_0x5bc490[_0x5f4ec3(0x227)][_0x5f4ec3(0x23c)](0xfa2,_0x5f4ec3(0x286));}catch{_0x5bc490[_0x5f4ec3(0x227)]['terminate']();}}['startHeartbeatLoop'](){const _0x175641=_0x5268ee;this['heartbeatTimer']=setInterval(()=>{const _0x2fdd4a=_0x26a2,_0x55fc8a=Date[_0x2fdd4a(0x24d)]();void this[_0x2fdd4a(0x1d7)](_0x55fc8a);},this[_0x175641(0x2b7)][_0x175641(0x315)]);}async[_0x5268ee(0x1d7)](_0xde73bc){const _0x1ff862=_0x5268ee;for(const _0x3376c6 of this[_0x1ff862(0x31b)]['values']()){if(!_0x3376c6[_0x1ff862(0x319)])continue;const _0x11cf5d=this['registry'][_0x1ff862(0x24f)](_0x3376c6['identityKey']);if(!_0x11cf5d)continue;if(_0xde73bc-_0x11cf5d[_0x1ff862(0x2dc)][_0x1ff862(0x2f1)]>this[_0x1ff862(0x2b7)][_0x1ff862(0x1ca)]){await this[_0x1ff862(0x215)](_0x3376c6,'heartbeat-timeout');continue;}_0x3376c6[_0x1ff862(0x227)][_0x1ff862(0x2f7)](stringifyServerMessage({'type':'heartbeat','sentAt':_0xde73bc}));}}[_0x5268ee(0x32b)](_0x1ddbb2){const _0x2a06fe=_0x5268ee,_0x656b83=_0x1ddbb2[_0x2a06fe(0x2e4)](_0x2a06fe(0x2de))?new URL(_0x1ddbb2)['pathname']:new URL(_0x1ddbb2,_0x2a06fe(0x242))[_0x2a06fe(0x255)];return _0x656b83===this[_0x2a06fe(0x2b7)]['path'];}['sendAck'](_0x5409bb,_0x292f72){const _0x2093e9=_0x5268ee,_0x353e40={'type':_0x2093e9(0x1f7),'requestId':_0x292f72};_0x5409bb[_0x2093e9(0x2f7)](stringifyServerMessage(_0x353e40));}[_0x5268ee(0x1d6)](_0x5e4d65,_0x35f688,_0x88937b,_0x4d7db0){const _0x314d43={'type':'login-pending','requestId':_0x35f688,'authorizationId':_0x88937b,'reason':_0x4d7db0};_0x5e4d65['send'](stringifyServerMessage(_0x314d43));}[_0x5268ee(0x330)](_0x11fabc,_0x362fbc,_0x186435){const _0x49f714=_0x5268ee,_0xb938c3={'type':_0x49f714(0x238),'requestId':_0x362fbc,'loginToken':_0x186435};_0x11fabc['send'](stringifyServerMessage(_0xb938c3));}[_0x5268ee(0x1f3)](_0x2db2cd,_0x5c64ed,_0x3a6072){const _0x408934=_0x5268ee,_0xf820ad={'type':_0x408934(0x218),'requestId':_0x5c64ed,'message':_0x3a6072};_0x2db2cd[_0x408934(0x2f7)](stringifyServerMessage(_0xf820ad));}['sendError'](_0x265799,_0x3f7d27,_0x21eaee){const _0x13dddf=_0x5268ee,_0x28dfef={'type':_0x13dddf(0x293),'message':_0x3f7d27,'requestId':_0x21eaee};_0x265799[_0x13dddf(0x2f7)](stringifyServerMessage(_0x28dfef));}['dispatchTaskMessage'](_0x2f5348,_0x109fee,_0x36f472){const _0x2e236c=_0x5268ee,_0x3f6707=this[_0x2e236c(0x2f8)][_0x2e236c(0x24f)](_0x2f5348);if(!_0x3f6707)return;const _0x41b3b4=this[_0x2e236c(0x31b)][_0x2e236c(0x24f)](_0x3f6707);if(!_0x41b3b4)return;const _0x90f44b={'type':_0x2e236c(0x309),'task':clone(_0x109fee),'message':clone(_0x36f472)};_0x41b3b4[_0x2e236c(0x227)][_0x2e236c(0x2f7)](stringifyServerMessage(_0x90f44b));}[_0x5268ee(0x1e2)](_0x45259d,_0x5a6fda){const _0x36b17a=_0x5268ee,_0x3a2e62=this[_0x36b17a(0x2f8)][_0x36b17a(0x24f)](_0x45259d);if(!_0x3a2e62)return;const _0x56a4a9=this[_0x36b17a(0x31b)][_0x36b17a(0x24f)](_0x3a2e62);if(!_0x56a4a9)return;_0x56a4a9[_0x36b17a(0x227)][_0x36b17a(0x2f7)](stringifyServerMessage({'type':'CancelTask','taskId':_0x5a6fda}));}[_0x5268ee(0x2b0)](_0xe2d197){const _0x3565f1=_0x5268ee,_0x47b3f1=this[_0x3565f1(0x307)][_0x3565f1(0x2a5)](_0xe2d197);for(const _0x3b4c4e of _0x47b3f1){const _0x4a47f8=this['taskStore']['getLatestActionableMessage'](_0x3b4c4e['id']);if(!_0x4a47f8)continue;this[_0x3565f1(0x1eb)](_0xe2d197,_0x3b4c4e,_0x4a47f8);}}[_0x5268ee(0x2a4)](_0x3170e9,_0x5039a2){const _0x4fb9d7=_0x5268ee;if(!_0x3170e9[_0x4fb9d7(0x319)])return this['sendError'](_0x3170e9['peer'],_0x4fb9d7(0x208),_0x5039a2),null;const _0x49f261=this[_0x4fb9d7(0x1d4)][_0x4fb9d7(0x24f)](_0x3170e9[_0x4fb9d7(0x319)])?.[_0x4fb9d7(0x2dc)];if(!_0x49f261)return this[_0x4fb9d7(0x1e7)](_0x3170e9[_0x4fb9d7(0x227)],_0x4fb9d7(0x23d),_0x5039a2),null;const _0x19336b=this['deriveWorkerSnapshot'](_0x49f261);if(_0x19336b['role']!==_0x4fb9d7(0x2da))return this['sendError'](_0x3170e9[_0x4fb9d7(0x227)],_0x4fb9d7(0x20f),_0x5039a2),null;return{'worker':_0x19336b};}async[_0x5268ee(0x1e3)](_0x29dfc2){const _0x2e37d4=_0x5268ee,_0x30a4a7=[..._0x29dfc2[_0x2e37d4(0x253)][_0x2e37d4(0x329)]()];_0x29dfc2[_0x2e37d4(0x253)]['clear']();for(const [,_0x235de2]of _0x30a4a7){typeof _0x235de2===_0x2e37d4(0x2e7)&&await _0x235de2();}}async[_0x5268ee(0x32e)](_0x4eed06,_0x4fc1cb){const _0x1767bf=_0x5268ee,_0x83820d=_0x4eed06[_0x1767bf(0x253)][_0x1767bf(0x24f)](_0x4fc1cb);_0x4eed06[_0x1767bf(0x253)][_0x1767bf(0x1ee)](_0x4fc1cb),typeof _0x83820d===_0x1767bf(0x2e7)&&await _0x83820d();}['sendManagerCommandResult'](_0x20c320,_0x229853,_0x3122fd){const _0x121b8e=_0x5268ee,_0x23fa33={'type':_0x121b8e(0x30c),'requestId':_0x229853,'result':_0x3122fd};_0x20c320['send'](stringifyServerMessage(_0x23fa33));}[_0x5268ee(0x1e9)](_0x3b78a3,_0x49f496){const _0x1897ed=_0x5268ee,_0x51df8f={'type':'manager-event','eventName':_0x49f496[_0x1897ed(0x2ad)],'payload':_0x49f496[_0x1897ed(0x304)]};_0x3b78a3[_0x1897ed(0x2f7)](stringifyServerMessage(_0x51df8f));}[_0x5268ee(0x260)](_0x5e55ed){const _0x4f0777=_0x5268ee,_0x38fb58=createWorkerIdentityKey(_0x5e55ed[_0x4f0777(0x25d)],_0x5e55ed[_0x4f0777(0x20d)]),_0x39a5de=this[_0x4f0777(0x307)][_0x4f0777(0x259)](_0x38fb58)[_0x4f0777(0x210)],_0x43c8c0=_0x39a5de>0x0?_0x4f0777(0x24c):_0x4f0777(0x305);return{..._0x5e55ed,'activityState':_0x43c8c0,'activeTaskCount':_0x39a5de};}async[_0x5268ee(0x295)](_0x5bc5e6){for(const _0x125d62 of this['eventHandlers']){try{await _0x125d62({..._0x5bc5e6,'worker':cloneWorkerSnapshot(_0x5bc5e6['worker'])});}catch{}}}async[_0x5268ee(0x22b)](_0x5d6521){const _0x66fc32=_0x5268ee;for(const _0x3899af of this[_0x66fc32(0x292)]){try{_0x5d6521[_0x66fc32(0x270)]===_0x66fc32(0x20e)?await _0x3899af({'type':'required','authorization':clonePendingAuthorization(_0x5d6521[_0x66fc32(0x2bd)])}):await _0x3899af({'type':_0x66fc32(0x327),'authorization':clonePendingAuthorization(_0x5d6521[_0x66fc32(0x2bd)]),'cause':_0x5d6521[_0x66fc32(0x2e0)]});}catch{}}}async[_0x5268ee(0x2ee)](_0x331145){const _0x1d8c5f=_0x5268ee;for(const _0x2db074 of this['taskUpdateHandlers']){try{_0x331145['type']===_0x1d8c5f(0x269)?await _0x2db074({'type':_0x1d8c5f(0x269),'task':clone(_0x331145[_0x1d8c5f(0x33f)]),'status':clone(_0x331145[_0x1d8c5f(0x226)]),'message':_0x331145[_0x1d8c5f(0x279)]?clone(_0x331145[_0x1d8c5f(0x279)]):void 0x0}):await _0x2db074({'type':_0x1d8c5f(0x288),'task':clone(_0x331145['task']),'artifact':clone(_0x331145['artifact'])});}catch{}}}};function cloneWorkerSnapshot(_0x122cfd){return{..._0x122cfd};}function clonePendingAuthorization(_0x30b8ad){return{..._0x30b8ad};}function cloneIfDefined(_0x4cfcb8){return _0x4cfcb8===void 0x0?_0x4cfcb8:clone(_0x4cfcb8);}function resolveLoginAuthorizationConfig(_0x231db8){const _0x5d9b44=_0x5268ee;if(_0x231db8===![])return![];if(!_0x231db8||typeof _0x231db8['signingSecret']!==_0x5d9b44(0x220)||_0x231db8[_0x5d9b44(0x336)][_0x5d9b44(0x2c9)]()['length']===0x0)throw new Error(_0x5d9b44(0x29b));return{'mode':'manual','signingSecret':_0x231db8[_0x5d9b44(0x336)][_0x5d9b44(0x2c9)]()};}function validateLoginPayload(_0x4e7c19){const _0x3273a5=_0x5268ee;if(!_0x4e7c19||typeof _0x4e7c19!==_0x3273a5(0x2f4))return _0x3273a5(0x2c8);if(typeof _0x4e7c19[_0x3273a5(0x25d)]!==_0x3273a5(0x220)||_0x4e7c19[_0x3273a5(0x25d)]['trim']()[_0x3273a5(0x210)]===0x0)return _0x3273a5(0x274);if(typeof _0x4e7c19[_0x3273a5(0x20d)]!==_0x3273a5(0x220)||_0x4e7c19[_0x3273a5(0x20d)]['trim']()['length']===0x0)return _0x3273a5(0x2aa);if(_0x4e7c19[_0x3273a5(0x1fb)]!==_0x3273a5(0x2d6)&&_0x4e7c19['role']!==_0x3273a5(0x323)&&_0x4e7c19['role']!==_0x3273a5(0x2ab)&&_0x4e7c19['role']!==_0x3273a5(0x2da))return _0x3273a5(0x284);if(_0x4e7c19['initialAvailability']!==void 0x0&&_0x4e7c19[_0x3273a5(0x23e)]!==_0x3273a5(0x2bc)&&_0x4e7c19[_0x3273a5(0x23e)]!==_0x3273a5(0x1e4)&&_0x4e7c19[_0x3273a5(0x23e)]!==_0x3273a5(0x2a2))return _0x3273a5(0x2b2);if(typeof _0x4e7c19[_0x3273a5(0x232)]!==_0x3273a5(0x220)||_0x4e7c19['capabilitySummary'][_0x3273a5(0x2c9)]()[_0x3273a5(0x210)]===0x0)return'capabilitySummary\x20is\x20required';return null;}function validateSendMessageParams(_0x590901){const _0xaffecd=_0x5268ee;if(!_0x590901[_0xaffecd(0x266)][_0xaffecd(0x25d)]['trim']())throw new Error(_0xaffecd(0x297));if(!_0x590901[_0xaffecd(0x266)]['email']['trim']())throw new Error(_0xaffecd(0x28c));validateParts(_0x590901[_0xaffecd(0x2ff)]);}function validateTaskStatusUpdate(_0x5526e7,_0x284591){const _0x4aed7e=_0x5268ee,_0x44f421=['submitted',_0x4aed7e(0x316),_0x4aed7e(0x338),'completed','failed',_0x4aed7e(0x327),_0x4aed7e(0x21d)];if(!_0x44f421[_0x4aed7e(0x22f)](_0x5526e7['state']))throw new Error(_0x4aed7e(0x2cd));if(isTerminalTaskState(_0x284591[_0x4aed7e(0x314)]))throw new Error(_0x4aed7e(0x2e5));}function validateArtifact(_0x328f23){const _0x4ac163=_0x5268ee;if(!_0x328f23['name'][_0x4ac163(0x2c9)]())throw new Error(_0x4ac163(0x1c7));validateParts(_0x328f23['parts']);}function validateParts(_0x2a782b){const _0x4b3403=_0x5268ee;if(!Array[_0x4b3403(0x248)](_0x2a782b)||_0x2a782b[_0x4b3403(0x210)]===0x0)throw new Error(_0x4b3403(0x2a0));for(const _0x5e04de of _0x2a782b){if(_0x5e04de[_0x4b3403(0x270)]===_0x4b3403(0x2ed)&&_0x5e04de[_0x4b3403(0x2ed)][_0x4b3403(0x2c9)]()[_0x4b3403(0x210)]===0x0)throw new Error(_0x4b3403(0x29f));if(_0x5e04de[_0x4b3403(0x270)]==='file-ref'&&_0x5e04de[_0x4b3403(0x2e6)][_0x4b3403(0x2c9)]()[_0x4b3403(0x210)]===0x0)throw new Error(_0x4b3403(0x1fc));}}0x0&&(module[_0x5268ee(0x30d)]={'WorkerClientSDK':WorkerClientSDK,'WorkerServerSDK':WorkerServerSDK,'isTerminalTaskState':isTerminalTaskState,'issueLoginToken':issueLoginToken,'resolveDefaultWorkerCredentialFile':resolveDefaultWorkerCredentialFile,'splitWorkerKey':splitWorkerKey,'verifyLoginToken':verifyLoginToken});
|
|
1
|
+
'use strict';const _0xb8e3f9=_0x25c7;(function(_0x3e24a7,_0x4d1a53){const _0x651c57=_0x25c7,_0x5b4152=_0x3e24a7();while(!![]){try{const _0xdb36f9=-parseInt(_0x651c57(0x2f3))/0x1+parseInt(_0x651c57(0x1a3))/0x2*(parseInt(_0x651c57(0x230))/0x3)+parseInt(_0x651c57(0x2fe))/0x4+parseInt(_0x651c57(0x238))/0x5*(-parseInt(_0x651c57(0x255))/0x6)+parseInt(_0x651c57(0x1f4))/0x7*(-parseInt(_0x651c57(0x280))/0x8)+-parseInt(_0x651c57(0x2dd))/0x9+parseInt(_0x651c57(0x2c0))/0xa;if(_0xdb36f9===_0x4d1a53)break;else _0x5b4152['push'](_0x5b4152['shift']());}catch(_0x344728){_0x5b4152['push'](_0x5b4152['shift']());}}}(_0x290e,0xa333f));var __create=Object[_0xb8e3f9(0x2e0)],__defProp=Object[_0xb8e3f9(0x23e)],__getOwnPropDesc=Object['getOwnPropertyDescriptor'],__getOwnPropNames=Object[_0xb8e3f9(0x284)],__getProtoOf=Object['getPrototypeOf'],__hasOwnProp=Object[_0xb8e3f9(0x2c2)]['hasOwnProperty'],__export=(_0x348298,_0x26c0f7)=>{for(var _0x18c931 in _0x26c0f7)__defProp(_0x348298,_0x18c931,{'get':_0x26c0f7[_0x18c931],'enumerable':!![]});},__copyProps=(_0x39188d,_0x866f1b,_0x5071ce,_0x3103f0)=>{const _0x3f39ea=_0xb8e3f9;if(_0x866f1b&&typeof _0x866f1b===_0x3f39ea(0x2d4)||typeof _0x866f1b==='function'){for(let _0x476000 of __getOwnPropNames(_0x866f1b))if(!__hasOwnProp[_0x3f39ea(0x1e8)](_0x39188d,_0x476000)&&_0x476000!==_0x5071ce)__defProp(_0x39188d,_0x476000,{'get':()=>_0x866f1b[_0x476000],'enumerable':!(_0x3103f0=__getOwnPropDesc(_0x866f1b,_0x476000))||_0x3103f0[_0x3f39ea(0x289)]});}return _0x39188d;},__toESM=(_0x2c92b4,_0x430292,_0x23c6aa)=>(_0x23c6aa=_0x2c92b4!=null?__create(__getProtoOf(_0x2c92b4)):{},__copyProps(_0x430292||!_0x2c92b4||!_0x2c92b4['__esModule']?__defProp(_0x23c6aa,_0xb8e3f9(0x2da),{'value':_0x2c92b4,'enumerable':!![]}):_0x23c6aa,_0x2c92b4)),__toCommonJS=_0xbf96cc=>__copyProps(__defProp({},_0xb8e3f9(0x21b),{'value':!![]}),_0xbf96cc),index_exports={};__export(index_exports,{'WorkerClientSDK':()=>WorkerClientSDK,'WorkerServerSDK':()=>WorkerServerSDK,'isTerminalTaskState':()=>isTerminalTaskState,'issueLoginToken':()=>issueLoginToken,'resolveDefaultWorkerCredentialFile':()=>resolveDefaultWorkerCredentialFile,'splitWorkerKey':()=>splitWorkerKey,'verifyLoginToken':()=>verifyLoginToken}),module[_0xb8e3f9(0x2aa)]=__toCommonJS(index_exports);var import_node_crypto=require(_0xb8e3f9(0x28b)),import_promises=require(_0xb8e3f9(0x242)),import_node_os=require('os'),import_node_path=require('path'),import_node_process=__toESM(require(_0xb8e3f9(0x1e1)),0x1);function resolveDefaultWorkerCredentialFile(_0x51aeab,_0x30132c,_0xa4e1f,_0x3dd002=(0x0,import_node_os[_0xb8e3f9(0x2bd)])()){const _0x5f59c4=_0xb8e3f9,_0x5d1efe=(0x0,import_node_crypto['createHash'])('sha256')[_0x5f59c4(0x237)](_0x51aeab+'::'+_0x30132c+'::'+_0xa4e1f)['digest']('hex');return(0x0,import_node_path[_0x5f59c4(0x246)])(_0x3dd002,_0x5f59c4(0x1cc),'worker-client-credentials',_0x5d1efe+_0x5f59c4(0x1a8));}async function readWorkerCredential(_0x369c24){const _0x21b847=_0xb8e3f9;try{const _0x328d86=await(0x0,import_promises['readFile'])(_0x369c24,_0x21b847(0x21d)),_0x3b09eb=JSON['parse'](_0x328d86);if(typeof _0x3b09eb[_0x21b847(0x268)]!==_0x21b847(0x293)||_0x3b09eb[_0x21b847(0x268)][_0x21b847(0x21f)]===0x0)return void 0x0;return _0x3b09eb;}catch(_0x18e2f3){if(_0x18e2f3?.['code']===_0x21b847(0x23b))return void 0x0;throw _0x18e2f3;}}async function writeWorkerCredential(_0x2b438b,_0x490101){const _0x5d2374=_0xb8e3f9;await(0x0,import_promises['mkdir'])((0x0,import_node_path[_0x5d2374(0x227)])(_0x2b438b),{'recursive':!![]});const _0x3bfbdf=_0x2b438b+'.'+import_node_process[_0x5d2374(0x2da)][_0x5d2374(0x25e)]+'.'+Date['now']()+_0x5d2374(0x276),_0x4880f3=JSON['stringify']({..._0x490101,'updatedAt':Date[_0x5d2374(0x1a1)]()});await(0x0,import_promises[_0x5d2374(0x2a9)])(_0x3bfbdf,_0x4880f3,{'encoding':_0x5d2374(0x21d),'mode':0x180}),await(0x0,import_promises['rename'])(_0x3bfbdf,_0x2b438b),await(0x0,import_promises[_0x5d2374(0x2b8)])(_0x2b438b,0x180);}async function deleteWorkerCredential(_0x3d2754){const _0x46b3e7=_0xb8e3f9;try{await(0x0,import_promises['rm'])(_0x3d2754,{'force':!![]});}catch(_0x3a3133){if(_0x3a3133?.[_0x46b3e7(0x218)]===_0x46b3e7(0x23b))return;throw _0x3a3133;}}function parseClientMessage(_0xb59e20){const _0x212602=_0xb8e3f9;try{const _0x475622=JSON[_0x212602(0x305)](_0xb59e20);if(!_0x475622||typeof _0x475622!==_0x212602(0x2d4)||typeof _0x475622[_0x212602(0x210)]!==_0x212602(0x293))return null;switch(_0x475622['type']){case _0x212602(0x25d):case'logout':case _0x212602(0x2e4):case _0x212602(0x2c4):case _0x212602(0x20e):case _0x212602(0x1d0):case _0x212602(0x1ca):case _0x212602(0x2d3):case _0x212602(0x307):case _0x212602(0x263):return _0x475622;default:return null;}}catch{return null;}}function _0x290e(){const _0xd69bb=['environment-operator','destroy','cannot\x20continue\x20a\x20terminal\x20task','default','taskId','artifactId','11391228JhsxoS','snapshot','Buffer','create','WebSocket\x20connection\x20failed','onMessage','query','update-availability','add','executeCommand','login-approved','task\x20status\x20state\x20is\x20invalid','reported\x20as\x20abnormal\x20during\x20login','worker\x20session\x20not\x20found','set','connections','worker.email\x20is\x20required','resolveCredentialFile','stringify','serverUrl','buildArtifact','managerToken','91667BWJqfq','latestLoginToken','reason','required','busy','handleManagerUnsubscribeMessage','sendLoginPending','seedTasks','email','nodeAdapter','availability','4915280YmTAgo','listAbnormalWorkers','heartbeatTimeoutMs','reportException','reject','login-pending','task\x20not\x20found','parse','handleSocketClose','TaskStatusUpdate','some','workerId\x20is\x20required','createHooks','connect','taskUpdateHandlers','disposeManagerSubscription','now','cancelTask','2hVJWks','handleLogoutMessage','handleTaskStatusUpdateMessage','server-stopping','submitted','.json','approveLoginAuthorization','session\x20replaced\x20by\x20a\x20new\x20login','validateManagerLogin','handleManagerCommandMessage','disconnected','list','manager\x20is\x20already\x20connected','abnormalSource','assigneeWorkerKey','socket','disconnect','loginAuthorization','catch','path','sendRequest','manager\x20control\x20plane\x20is\x20not\x20configured','reconnectTimer','SendMessage','sendManagerCommandResult','handleTaskCancel','createOrContinue','clearLoginToken','crossws/adapters/node','onPending','base64url','heartbeatTimer','handleReportExceptionMessage','listActiveByWorker','env','tasks','CancelTask','contextId','state','manager-subscribe','message','.meego-harness','nodeServer','manager\x20token\x20is\x20not\x20configured','deriveWorkerSnapshot','manager-command','artifact\x20name\x20is\x20required','handleSocketOpen','shouldStayConnected','close','registerManagerControlPlane','handleManagerSubscribeMessage','exception','email\x20is\x20required','completed','missing-token','sessionId','self-reported','working','createServer','queryWorkers','signingSecret','process','explicitState','readyState','CLOSING','parts','worker','heartbeat\x20timed\x20out','call','credentialStore','worker.workerId\x20is\x20required','error','artifact','handleSocketMessage','getLatestActionableMessage','manualClose','reason\x20is\x20required','onWorkerEvent','logout','issuedAt','7oZLzUI','OPEN','onLoginAuthorization','127.0.0.1','identityKey','handleTaskArtifactUpdateMessage','dispatchTaskMessage','task\x20status\x20update\x20failed','handleUpdateAvailabilityMessage','rejected','managerSubscriptions','task-artifact-update','history','isLoggedIn','offLoginAuthorization','eventHandlers','lastAvailabilityUpdatedAt','taskStore','abnormal','manager\x20subscriptions\x20are\x20not\x20configured','task','server\x20stopping','manager','buffer','createTaskController','open','heartbeat-ack','clearManagerSubscriptions','type','from','scheduleReconnect','lastSeenAt','trim','sendLoginRejected','MEEGO_HARNESS_WORKER_MANAGER_TOKEN','/workers','code','eventName','loginTimer','__esModule','args','utf8','remove','length','uri','manager\x20token\x20is\x20invalid','peer','ack','status','metadata','sendTaskStatusUpdate','dirname','available','handleLoginMessage','worker\x20is\x20already\x20connected','initialWorkers','mimeType','reconnectDelayMs','Not\x20Found','addArtifact','3234024evntol','peerId','task\x20artifact\x20update\x20failed','emitWorkerEvent','includes','loginAuthorizationHandlers','identityToPeerId','update','2506375vOdEtI','socket-closed','clearPendingAuthorization','ENOENT','readStoredLoginToken','session\x20replaced','defineProperty','ensureSocketOpen','isArray','connection\x20closed','fs/promises','restoreSessionIfNeeded','pendingRequests','number','join','canceled','text','toString','data','statusCode','listenWithNode','onTaskUpdate','values','sendAck','sha256','abnormalReason','cancelHandlers','connectPromise','send','6FfOaen','heartbeat','randomUUID','workerId','digest','file','login\x20payload\x20is\x20required','completeLogin','login','pid','pendingAuthorizationId','managerControlPlane','connected','authorization','TaskArtifactUpdate','historyLength','needsRestoreOnOpen','requestId','name','loginToken','verifier','getTask','pendingAuthorizations','runHeartbeatSweep','failed','cancel','payload','capabilitySummary','updateAvailability','startsWith','getBySessionId','manual','listReplayableByWorker','.tmp','text\x20part\x20must\x20not\x20be\x20empty','file-ref\x20part\x20uri\x20is\x20required','task-status-update','registerLogin','rejectPendingRequests','handleUpgrade','active','cancelPendingAuthorization','config','8969904AWbPlh','addEventListener','createHmac','messageId','getOwnPropertyNames','registry','lastLoginPayload','role','filter','enumerable','user','crypto','worker\x20is\x20not\x20logged\x20in','reconnect','createPendingAuthorization','onCancel','emitLoginAuthorizationEvent','file-ref','coder','string','description','manager-command-result','activityState','login\x20authorization\x20not\x20found','invalid-token','pathname','buildAgentMessage','sendLoginApproved','handleIncomingMessage','sendManagerEvent','listen','input-required','listTasks','persistLoginToken','authorizationId','push','sendMessage','sendError','idle','clear','forceDisconnect','writeFile','exports','has','parts\x20must\x20contain\x20at\x20least\x20one\x20entry','emitTaskUpdate','socket\x20closed\x20unexpectedly','cloneRecord','markDisconnected','dispatchTaskCancel','messageHandlers','offCancel','reconnectBaseDelayMs','loginAuthorization.signingSecret\x20is\x20required','startHeartbeatLoop','function','chmod','isFinite','replayActiveTasks','resolve','agent','homedir','allRecords','heartbeat-timeout','13415230OadjDw','connectionState','prototype','matchesPath','report-exception','get','once','task\x20is\x20already\x20terminal','requireManagerContext','touch','map','artifacts','login-retried','availability-change','rejectLoginAuthorization','initialAvailability','task\x20assignee\x20does\x20not\x20match\x20worker','buildLoginPayload','delete','manager-unsubscribe','object','records','sendHeartbeatAck'];_0x290e=function(){return _0xd69bb;};return _0x290e();}function stringifyServerMessage(_0x478ec9){const _0x200d74=_0xb8e3f9;return JSON[_0x200d74(0x2ef)](_0x478ec9);}function stringifyClientMessage(_0x371482){const _0x584e2a=_0xb8e3f9;return JSON[_0x584e2a(0x2ef)](_0x371482);}var DEFAULT_CONFIG={'reconnect':!![],'reconnectBaseDelayMs':0xc8,'reconnectMaxDelayMs':0x1388,'credentialStore':{}},WorkerClientSDK=class{['config'];[_0xb8e3f9(0x2b2)]=new Set();['cancelHandlers']=new Set();[_0xb8e3f9(0x1b2)]=null;[_0xb8e3f9(0x253)]=null;['pendingRequests']=new Map();[_0xb8e3f9(0x1b9)];[_0xb8e3f9(0x22d)];[_0xb8e3f9(0x1d3)]=![];[_0xb8e3f9(0x1ef)]=![];['needsRestoreOnOpen']=![];[_0xb8e3f9(0x201)]=![];[_0xb8e3f9(0x286)];[_0xb8e3f9(0x1e2)];[_0xb8e3f9(0x2f4)];constructor(_0x53705d){const _0x2b8d80=_0xb8e3f9;this[_0x2b8d80(0x27f)]={...DEFAULT_CONFIG,..._0x53705d,'WebSocketCtor':_0x53705d['WebSocketCtor']??WebSocket},this[_0x2b8d80(0x22d)]=this[_0x2b8d80(0x27f)][_0x2b8d80(0x2b4)];}async['connect'](){const _0x11c05d=_0xb8e3f9;this[_0x11c05d(0x1d3)]=!![];if(this[_0x11c05d(0x1b2)]&&this[_0x11c05d(0x1b2)]['readyState']===WebSocket[_0x11c05d(0x1f5)])return this;if(this[_0x11c05d(0x253)])return this[_0x11c05d(0x253)];return this[_0x11c05d(0x1ef)]=![],this['connectPromise']=new Promise((_0x45fd7f,_0x33a5b5)=>{const _0x14277b=_0x11c05d,_0x21e9dc=new this[(_0x14277b(0x27f))]['WebSocketCtor'](this[_0x14277b(0x27f)][_0x14277b(0x2f0)]);this[_0x14277b(0x1b2)]=_0x21e9dc,_0x21e9dc[_0x14277b(0x281)](_0x14277b(0x20d),()=>{const _0x3cf689=_0x14277b;this[_0x3cf689(0x22d)]=this[_0x3cf689(0x27f)][_0x3cf689(0x2b4)],this[_0x3cf689(0x253)]=null,void this[_0x3cf689(0x243)](),_0x45fd7f(this);}),_0x21e9dc[_0x14277b(0x281)](_0x14277b(0x1eb),()=>{const _0x81b767=_0x14277b;_0x21e9dc[_0x81b767(0x1e3)]!==WebSocket[_0x81b767(0x1f5)]&&(this['connectPromise']=null,_0x33a5b5(new Error(_0x81b767(0x2e1))));}),_0x21e9dc['addEventListener'](_0x14277b(0x1cb),_0x4c3a7b=>{const _0x212407=_0x14277b;void this[_0x212407(0x29c)](String(_0x4c3a7b[_0x212407(0x24a)]));}),_0x21e9dc[_0x14277b(0x281)](_0x14277b(0x1d4),()=>{const _0x5d9fb2=_0x14277b;this[_0x5d9fb2(0x306)]();});}),this[_0x11c05d(0x253)];}async[_0xb8e3f9(0x1b3)](){const _0xba5696=_0xb8e3f9;this[_0xba5696(0x1d3)]=![],this['manualClose']=!![],this[_0xba5696(0x1b9)]&&(clearTimeout(this[_0xba5696(0x1b9)]),this[_0xba5696(0x1b9)]=void 0x0),this['isLoggedIn']&&await this[_0xba5696(0x1f2)](),this[_0xba5696(0x1b2)]&&this[_0xba5696(0x1b2)][_0xba5696(0x1e3)]<WebSocket['CLOSING']&&this['socket'][_0xba5696(0x1d4)](),this[_0xba5696(0x1b2)]=null,this['rejectPendingRequests'](new Error(_0xba5696(0x241)));}async['login'](_0x595727){const _0x3d21fc=_0xb8e3f9,_0x12e712=await this[_0x3d21fc(0x2d1)](_0x595727);let _0xb9ecbe;try{_0xb9ecbe=await this[_0x3d21fc(0x1b7)]({'type':'login','payload':_0x12e712},{'kind':_0x3d21fc(0x25d),'onPending':async _0x43668f=>{const _0x270b98=_0x3d21fc;_0x43668f['reason']===_0x270b98(0x298)&&await this[_0x270b98(0x1be)](_0x595727);}});}catch(_0x5c9de4){await this[_0x3d21fc(0x1be)](_0x595727);throw _0x5c9de4;}_0xb9ecbe[_0x3d21fc(0x268)]&&(this[_0x3d21fc(0x2f4)]=_0xb9ecbe[_0x3d21fc(0x268)],await this[_0x3d21fc(0x2a1)](_0x595727,_0xb9ecbe['loginToken'])),this['lastLoginPayload']={..._0x595727,'loginToken':void 0x0},this[_0x3d21fc(0x201)]=!![],this['needsRestoreOnOpen']=![],this['explicitState']=void 0x0;}async[_0xb8e3f9(0x1f2)](){const _0x2273b7=_0xb8e3f9;await this[_0x2273b7(0x1b7)]({'type':'logout'},{'kind':_0x2273b7(0x2da)}),this[_0x2273b7(0x201)]=![],this[_0x2273b7(0x286)]=void 0x0,this['explicitState']=void 0x0,this[_0x2273b7(0x265)]=![];}async[_0xb8e3f9(0x271)](_0x447877){const _0x477477=_0xb8e3f9;await this[_0x477477(0x1b7)]({'type':_0x477477(0x2e4),'availability':_0x447877},{'kind':'default'}),this[_0x477477(0x1e2)]={'type':_0x477477(0x2fd),'availability':_0x447877};}async['reportException'](_0x4c2a86){const _0x15c5d5=_0xb8e3f9;if(_0x4c2a86[_0x15c5d5(0x214)]()[_0x15c5d5(0x21f)]===0x0)throw new Error(_0x15c5d5(0x1f0));await this['sendRequest']({'type':_0x15c5d5(0x2c4),'reason':_0x4c2a86},{'kind':'default'}),this[_0x15c5d5(0x1e2)]={'type':_0x15c5d5(0x1d7),'reason':_0x4c2a86};}[_0xb8e3f9(0x2e2)](_0x44f4ee){const _0x1842ce=_0xb8e3f9;return this[_0x1842ce(0x2b2)]['add'](_0x44f4ee),this;}[_0xb8e3f9(0x28f)](_0x348e3c){const _0xea1d9e=_0xb8e3f9;return this[_0xea1d9e(0x252)][_0xea1d9e(0x2e5)](_0x348e3c),this;}[_0xb8e3f9(0x2b3)](_0x1b6315){const _0x224e01=_0xb8e3f9;return this['cancelHandlers'][_0x224e01(0x2d2)](_0x1b6315),this;}async[_0xb8e3f9(0x29c)](_0x504cad){const _0x477d2e=_0xb8e3f9,_0x3589b6=JSON[_0x477d2e(0x305)](_0x504cad);switch(_0x3589b6[_0x477d2e(0x210)]){case'ack':{const _0x7108f0=this['pendingRequests']['get'](_0x3589b6[_0x477d2e(0x266)]);if(!_0x7108f0)return;this[_0x477d2e(0x244)][_0x477d2e(0x2d2)](_0x3589b6['requestId']),_0x7108f0[_0x477d2e(0x2bb)]();return;}case _0x477d2e(0x303):{const _0x49b53d=this[_0x477d2e(0x244)][_0x477d2e(0x2c5)](_0x3589b6[_0x477d2e(0x266)]);if(!_0x49b53d)return;await _0x49b53d['onPending']?.(_0x3589b6);return;}case _0x477d2e(0x2e7):{const _0x38dde6=this['pendingRequests'][_0x477d2e(0x2c5)](_0x3589b6[_0x477d2e(0x266)]);if(!_0x38dde6)return;this[_0x477d2e(0x244)][_0x477d2e(0x2d2)](_0x3589b6['requestId']),_0x38dde6['resolve'](_0x3589b6);return;}case'login-rejected':{const _0x548e6d=this[_0x477d2e(0x244)][_0x477d2e(0x2c5)](_0x3589b6['requestId']);if(!_0x548e6d)return;this['pendingRequests'][_0x477d2e(0x2d2)](_0x3589b6['requestId']),_0x548e6d[_0x477d2e(0x302)](new Error(_0x3589b6['message']));return;}case _0x477d2e(0x1eb):{const _0xd3c93f=_0x3589b6['requestId']?this['pendingRequests'][_0x477d2e(0x2c5)](_0x3589b6['requestId']):void 0x0;if(_0xd3c93f&&_0x3589b6[_0x477d2e(0x266)]){this[_0x477d2e(0x244)][_0x477d2e(0x2d2)](_0x3589b6['requestId']),_0xd3c93f[_0x477d2e(0x302)](new Error(_0x3589b6['message']));return;}throw new Error(_0x3589b6[_0x477d2e(0x1cb)]);}case _0x477d2e(0x256):{await this[_0x477d2e(0x2d6)](_0x3589b6);return;}case _0x477d2e(0x1ba):{await this[_0x477d2e(0x1fa)](_0x3589b6);return;}case _0x477d2e(0x1c7):{await this['handleTaskCancel'](_0x3589b6);}}}async[_0xb8e3f9(0x2d6)](_0x2dfa25){const _0x1a3f00=_0xb8e3f9;this['ensureSocketOpen'](),this[_0x1a3f00(0x1b2)][_0x1a3f00(0x254)](stringifyClientMessage({'type':_0x1a3f00(0x20e)}));}[_0xb8e3f9(0x306)](){const _0x3bbdc1=_0xb8e3f9,_0x145ada=this[_0x3bbdc1(0x1d3)]&&!this[_0x3bbdc1(0x1ef)]&&this[_0x3bbdc1(0x27f)][_0x3bbdc1(0x28d)];this[_0x3bbdc1(0x253)]=null,this['socket']=null,this[_0x3bbdc1(0x27b)](new Error(_0x3bbdc1(0x241)));this[_0x3bbdc1(0x201)]&&(this['needsRestoreOnOpen']=!![]);this[_0x3bbdc1(0x201)]=![];if(!_0x145ada)return;this[_0x3bbdc1(0x212)]();}[_0xb8e3f9(0x212)](){const _0x3a5a39=_0xb8e3f9;if(this[_0x3a5a39(0x1b9)])return;const _0x4dda86=this[_0x3a5a39(0x22d)];this[_0x3a5a39(0x22d)]=Math['min'](this['reconnectDelayMs']*0x2,this[_0x3a5a39(0x27f)]['reconnectMaxDelayMs']),this['reconnectTimer']=setTimeout(()=>{const _0xe83ee9=_0x3a5a39;this['reconnectTimer']=void 0x0,void this[_0xe83ee9(0x19e)]()[_0xe83ee9(0x1b5)](()=>{const _0x4c4399=_0xe83ee9;this['shouldStayConnected']&&this['config'][_0x4c4399(0x28d)]&&this[_0x4c4399(0x212)]();});},_0x4dda86);}async[_0xb8e3f9(0x243)](){const _0x370b6=_0xb8e3f9;if(!this[_0x370b6(0x265)]||!this[_0x370b6(0x286)])return;try{const _0x19ec45=await this[_0x370b6(0x2d1)](this[_0x370b6(0x286)]),_0x30d10e=await this['sendRequest']({'type':'login','payload':_0x19ec45},{'kind':'login','onPending':async _0x513f4d=>{const _0x3817b1=_0x370b6;_0x513f4d[_0x3817b1(0x2f5)]==='invalid-token'&&await this['clearLoginToken'](this['lastLoginPayload']);}});this[_0x370b6(0x201)]=!![];_0x30d10e[_0x370b6(0x268)]&&(this[_0x370b6(0x2f4)]=_0x30d10e[_0x370b6(0x268)],await this[_0x370b6(0x2a1)](this['lastLoginPayload'],_0x30d10e[_0x370b6(0x268)]));if(!this[_0x370b6(0x1e2)]){this[_0x370b6(0x265)]=![];return;}if(this[_0x370b6(0x1e2)][_0x370b6(0x210)]===_0x370b6(0x2fd)&&this[_0x370b6(0x1e2)][_0x370b6(0x2fd)]===(this[_0x370b6(0x286)][_0x370b6(0x2cf)]??_0x370b6(0x228))){this['needsRestoreOnOpen']=![];return;}this[_0x370b6(0x1e2)][_0x370b6(0x210)]===_0x370b6(0x2fd)?await this['sendRequest']({'type':_0x370b6(0x2e4),'availability':this[_0x370b6(0x1e2)][_0x370b6(0x2fd)]},{'kind':'default'}):await this[_0x370b6(0x1b7)]({'type':_0x370b6(0x2c4),'reason':this['explicitState'][_0x370b6(0x2f5)]},{'kind':_0x370b6(0x2da)}),this['needsRestoreOnOpen']=![];}catch{this[_0x370b6(0x1b2)]&&this['socket']['readyState']<WebSocket[_0x370b6(0x1e4)]&&this[_0x370b6(0x1b2)]['close']();}}async[_0xb8e3f9(0x1fa)](_0x33ff72){const _0x4d10c5=_0xb8e3f9,_0x5c2b3a={'task':structuredClone(_0x33ff72['task']),'message':structuredClone(_0x33ff72['message']),'controller':this[_0x4d10c5(0x20c)](_0x33ff72['task'])};for(const _0xa692f9 of this[_0x4d10c5(0x2b2)]){await _0xa692f9(_0x5c2b3a);}}async[_0xb8e3f9(0x1bc)](_0x3b2b34){const _0x36330b=_0xb8e3f9,_0x42abb1={'taskId':_0x3b2b34['taskId']};for(const _0x29e376 of this[_0x36330b(0x252)]){await _0x29e376(_0x42abb1);}}[_0xb8e3f9(0x20c)](_0x4bac11){return{'working':async _0x3619e0=>{const _0x2f263f=_0x25c7;await this[_0x2f263f(0x226)](_0x4bac11,_0x2f263f(0x1dd),_0x3619e0);},'inputRequired':async _0x4321fd=>{const _0x1d1755=_0x25c7;await this['sendTaskStatusUpdate'](_0x4bac11,_0x1d1755(0x29f),_0x4321fd);},'addArtifact':async _0x5ef60e=>{const _0x5876a8=_0x25c7,_0x31addb=this[_0x5876a8(0x2f1)](_0x5ef60e);return await this['sendRequest']({'type':_0x5876a8(0x263),'taskId':_0x4bac11['id'],'artifact':_0x31addb},{'kind':_0x5876a8(0x2da)}),_0x31addb;},'complete':async _0x274cdb=>{const _0x1bd461=_0x25c7;await this[_0x1bd461(0x226)](_0x4bac11,_0x1bd461(0x1d9),_0x274cdb);},'fail':async _0x76de9c=>{const _0x5620a6=_0x25c7;await this[_0x5620a6(0x226)](_0x4bac11,_0x5620a6(0x26d),_0x76de9c);},'reject':async _0x3b3b80=>{const _0x536f29=_0x25c7;await this['sendTaskStatusUpdate'](_0x4bac11,_0x536f29(0x1fd),_0x3b3b80);}};}async[_0xb8e3f9(0x226)](_0x38008d,_0x94dfce,_0xdd8fca){const _0x60be0=_0xb8e3f9,_0x1a0cd8=_0xdd8fca?this[_0x60be0(0x29a)](_0x38008d,_0xdd8fca):void 0x0;await this['sendRequest']({'type':_0x60be0(0x307),'taskId':_0x38008d['id'],'status':{'state':_0x94dfce,'timestamp':Date[_0x60be0(0x1a1)](),'message':toStatusMessage(_0xdd8fca)},'message':_0x1a0cd8},{'kind':_0x60be0(0x2da)});}['buildAgentMessage'](_0x519266,_0x2ae7a0){const _0x49f237=_0xb8e3f9;return{'messageId':crypto[_0x49f237(0x257)](),'contextId':_0x519266[_0x49f237(0x1c8)],'taskId':_0x519266['id'],'role':_0x49f237(0x2bc),'parts':structuredClone(_0x2ae7a0[_0x49f237(0x1e5)]),'metadata':_0x2ae7a0['metadata']?structuredClone(_0x2ae7a0[_0x49f237(0x225)]):void 0x0};}[_0xb8e3f9(0x2f1)](_0x36e62b){const _0x58d20d=_0xb8e3f9;return{'artifactId':_0x36e62b[_0x58d20d(0x2dc)]??crypto[_0x58d20d(0x257)](),'name':_0x36e62b[_0x58d20d(0x267)],'description':_0x36e62b[_0x58d20d(0x294)],'parts':structuredClone(_0x36e62b[_0x58d20d(0x1e5)]),'metadata':_0x36e62b[_0x58d20d(0x225)]?structuredClone(_0x36e62b[_0x58d20d(0x225)]):void 0x0};}async[_0xb8e3f9(0x2d1)](_0x4c9164){const _0x392f90=_0xb8e3f9;if(_0x4c9164[_0x392f90(0x268)])return{..._0x4c9164};const _0x4149ae=this[_0x392f90(0x2f4)]??await this[_0x392f90(0x23c)](_0x4c9164);return _0x4149ae?{..._0x4c9164,'loginToken':_0x4149ae}:{..._0x4c9164};}async['persistLoginToken'](_0xf9c849,_0x12f91c){const _0x5849ee=_0xb8e3f9;if(this[_0x5849ee(0x27f)][_0x5849ee(0x1e9)]===![])return;await writeWorkerCredential(this[_0x5849ee(0x2ee)](_0xf9c849),{'serverUrl':this[_0x5849ee(0x27f)]['serverUrl'],'workerId':_0xf9c849['workerId'],'email':_0xf9c849['email'],'loginToken':_0x12f91c});}async[_0xb8e3f9(0x23c)](_0x544780){const _0x4c0854=_0xb8e3f9;if(this[_0x4c0854(0x27f)]['credentialStore']===![])return void 0x0;const _0x5a3675=await readWorkerCredential(this[_0x4c0854(0x2ee)](_0x544780));return _0x5a3675?.[_0x4c0854(0x268)];}async[_0xb8e3f9(0x1be)](_0x5df8bc){const _0x306871=_0xb8e3f9;this['latestLoginToken']=void 0x0;if(this[_0x306871(0x27f)][_0x306871(0x1e9)]===![])return;await deleteWorkerCredential(this[_0x306871(0x2ee)](_0x5df8bc));}[_0xb8e3f9(0x2ee)](_0x4cacd8){const _0x5ac900=_0xb8e3f9;if(this[_0x5ac900(0x27f)][_0x5ac900(0x1e9)]!==![]&&this[_0x5ac900(0x27f)]['credentialStore'][_0x5ac900(0x25a)])return this[_0x5ac900(0x27f)][_0x5ac900(0x1e9)][_0x5ac900(0x25a)];return resolveDefaultWorkerCredentialFile(this[_0x5ac900(0x27f)][_0x5ac900(0x2f0)],_0x4cacd8[_0x5ac900(0x258)],_0x4cacd8[_0x5ac900(0x2fb)]);}async[_0xb8e3f9(0x1b7)](_0x5c3c23,_0x9c13e9){const _0x598537=_0xb8e3f9;this['ensureSocketOpen']();const _0x5d6393=crypto['randomUUID'](),_0x2ef26d=new Promise((_0x3e3cb5,_0x58f796)=>{const _0x5e94ad=_0x25c7;this['pendingRequests'][_0x5e94ad(0x2eb)](_0x5d6393,{'kind':_0x9c13e9['kind'],'onPending':_0x9c13e9[_0x5e94ad(0x1c0)],'resolve':_0x3e3cb5,'reject':_0x58f796});}),_0x12500b={..._0x5c3c23,'requestId':_0x5d6393};return this[_0x598537(0x1b2)]['send'](stringifyClientMessage(_0x12500b)),await _0x2ef26d;}[_0xb8e3f9(0x23f)](){const _0x408aaf=_0xb8e3f9;if(!this['socket']||this[_0x408aaf(0x1b2)]['readyState']!==WebSocket[_0x408aaf(0x1f5)])throw new Error('WebSocket\x20is\x20not\x20connected');}['rejectPendingRequests'](_0x82483c){const _0x6c1faf=_0xb8e3f9;for(const _0x102e99 of this[_0x6c1faf(0x244)][_0x6c1faf(0x24e)]()){_0x102e99[_0x6c1faf(0x302)](_0x82483c);}this[_0x6c1faf(0x244)][_0x6c1faf(0x2a7)]();}};function toStatusMessage(_0x415984){const _0x296a3a=_0xb8e3f9,_0x405198=_0x415984?.[_0x296a3a(0x1e5)][0x0];if(!_0x405198)return void 0x0;if(_0x405198['type']==='text')return _0x405198[_0x296a3a(0x248)];if(_0x405198[_0x296a3a(0x210)]===_0x296a3a(0x291))return _0x405198['name']??_0x405198[_0x296a3a(0x220)];return _0x405198[_0x296a3a(0x22c)]??'structured\x20payload';}var import_node_buffer=require(_0xb8e3f9(0x20b)),import_node_crypto2=require(_0xb8e3f9(0x28b));function issueLoginToken(_0x2dd6fc,_0x26fd6f){const _0x24a3ad=_0xb8e3f9,_0x369584=import_node_buffer[_0x24a3ad(0x2df)][_0x24a3ad(0x211)](JSON[_0x24a3ad(0x2ef)](_0x2dd6fc))[_0x24a3ad(0x249)](_0x24a3ad(0x1c1)),_0x3ec284=signPayload(_0x369584,_0x26fd6f);return _0x369584+'.'+_0x3ec284;}function verifyLoginToken(_0x2bab90,_0xa435cf){const _0x58df0d=_0xb8e3f9,_0x3d8e62=_0x2bab90['split']('.');if(_0x3d8e62[_0x58df0d(0x21f)]!==0x2)return null;const [_0x4e53bc,_0x4e5634]=_0x3d8e62;if(!_0x4e53bc||!_0x4e5634||signPayload(_0x4e53bc,_0xa435cf)!==_0x4e5634)return null;try{const _0x23a2bc=JSON['parse'](import_node_buffer['Buffer'][_0x58df0d(0x211)](_0x4e53bc,_0x58df0d(0x1c1))['toString'](_0x58df0d(0x21d)));if(typeof _0x23a2bc[_0x58df0d(0x258)]!==_0x58df0d(0x293)||typeof _0x23a2bc[_0x58df0d(0x2fb)]!==_0x58df0d(0x293)||_0x23a2bc[_0x58df0d(0x287)]!==_0x58df0d(0x2d7)&&_0x23a2bc[_0x58df0d(0x287)]!==_0x58df0d(0x292)&&_0x23a2bc[_0x58df0d(0x287)]!==_0x58df0d(0x269)&&_0x23a2bc[_0x58df0d(0x287)]!=='manager'||typeof _0x23a2bc['issuedAt']!==_0x58df0d(0x245)||!Number[_0x58df0d(0x2b9)](_0x23a2bc[_0x58df0d(0x1f3)]))return null;return _0x23a2bc;}catch{return null;}}function signPayload(_0x5da6d9,_0x392037){const _0x2050a8=_0xb8e3f9;return(0x0,import_node_crypto2[_0x2050a8(0x282)])(_0x2050a8(0x250),_0x392037)[_0x2050a8(0x237)](_0x5da6d9)[_0x2050a8(0x259)]('base64url');}var import_node_http=require('http'),import_node_process2=__toESM(require(_0xb8e3f9(0x1e1)),0x1),DISCONNECT_REASON_MAP={'socket-closed':_0xb8e3f9(0x2ae),'heartbeat-timeout':_0xb8e3f9(0x1e7),'session-replaced':_0xb8e3f9(0x1aa)};function createWorkerIdentityKey(_0x2d4f89,_0x1aa042){return _0x2d4f89+'::'+_0x1aa042;}var WorkerSessionRegistry=class{[_0xb8e3f9(0x2d5)]=new Map();['seedSnapshots'](_0x4653c3){const _0x28e30b=_0xb8e3f9;this[_0x28e30b(0x2d5)][_0x28e30b(0x2a7)]();for(const _0x2e79ff of _0x4653c3){const _0x3131c8=createWorkerIdentityKey(_0x2e79ff[_0x28e30b(0x258)],_0x2e79ff[_0x28e30b(0x2fb)]);this[_0x28e30b(0x2d5)]['set'](_0x3131c8,{'identityKey':_0x3131c8,'sessionId':'seed:'+_0x3131c8,'snapshot':cloneSnapshot(_0x2e79ff)});}}[_0xb8e3f9(0x27a)](_0x22ecc9,_0x5b7453,_0x4c03e5){const _0x26241b=_0xb8e3f9,_0x5dbab2=createWorkerIdentityKey(_0x5b7453[_0x26241b(0x258)],_0x5b7453[_0x26241b(0x2fb)]),_0x317806={'workerId':_0x5b7453['workerId'],'email':_0x5b7453[_0x26241b(0x2fb)],'role':_0x5b7453['role'],'capabilitySummary':_0x5b7453[_0x26241b(0x270)],'availability':_0x5b7453[_0x26241b(0x2cf)]??'available','activityState':_0x26241b(0x2a6),'activeTaskCount':0x0,'connectionState':_0x26241b(0x261),'connectedAt':_0x4c03e5,'lastSeenAt':_0x4c03e5,'lastAvailabilityUpdatedAt':_0x4c03e5};let _0x282cf5;_0x317806[_0x26241b(0x2fd)]==='abnormal'&&(_0x317806['abnormalSource']=_0x26241b(0x1dc),_0x317806[_0x26241b(0x251)]=_0x26241b(0x2e9),_0x282cf5={'type':_0x26241b(0x1d7),'reason':'reported\x20as\x20abnormal\x20during\x20login'});const _0x5b13d9={'identityKey':_0x5dbab2,'sessionId':_0x22ecc9,'snapshot':_0x317806,'explicitState':_0x282cf5};return this[_0x26241b(0x2d5)][_0x26241b(0x2eb)](_0x5dbab2,_0x5b13d9),this[_0x26241b(0x2af)](_0x5b13d9);}[_0xb8e3f9(0x2c5)](_0xbe4724){const _0x3fff29=_0xb8e3f9,_0x27e5f6=this['records']['get'](_0xbe4724);return _0x27e5f6?this[_0x3fff29(0x2af)](_0x27e5f6):void 0x0;}[_0xb8e3f9(0x273)](_0x36c936){const _0x203cf2=_0xb8e3f9;for(const _0x2df3e5 of this[_0x203cf2(0x2d5)]['values']()){if(_0x2df3e5['sessionId']===_0x36c936)return this['cloneRecord'](_0x2df3e5);}return void 0x0;}[_0xb8e3f9(0x2c9)](_0x5d0520,_0x49cd23){const _0x424f75=_0xb8e3f9,_0x5c1541=this[_0x424f75(0x2d5)][_0x424f75(0x2c5)](_0x5d0520);if(!_0x5c1541)return void 0x0;return _0x5c1541['snapshot']['lastSeenAt']=_0x49cd23,this[_0x424f75(0x2af)](_0x5c1541);}['updateAvailability'](_0x399fb5,_0x4e787b,_0x45496e){const _0x5087b3=_0xb8e3f9,_0x4c13cc=this['records'][_0x5087b3(0x2c5)](_0x399fb5);if(!_0x4c13cc)return void 0x0;return _0x4c13cc[_0x5087b3(0x2de)]['availability']=_0x4e787b,_0x4c13cc[_0x5087b3(0x2de)][_0x5087b3(0x204)]=_0x45496e,_0x4c13cc['snapshot'][_0x5087b3(0x213)]=_0x45496e,delete _0x4c13cc['snapshot']['abnormalSource'],delete _0x4c13cc['snapshot']['abnormalReason'],_0x4c13cc['explicitState']={'type':_0x5087b3(0x2fd),'availability':_0x4e787b},this[_0x5087b3(0x2af)](_0x4c13cc);}[_0xb8e3f9(0x301)](_0x48d013,_0x1102ea,_0x40d179){const _0x589203=_0xb8e3f9,_0x4ac5f9=this[_0x589203(0x2d5)][_0x589203(0x2c5)](_0x48d013);if(!_0x4ac5f9)return void 0x0;return _0x4ac5f9[_0x589203(0x2de)][_0x589203(0x2fd)]='abnormal',_0x4ac5f9['snapshot'][_0x589203(0x1b0)]=_0x589203(0x1dc),_0x4ac5f9[_0x589203(0x2de)][_0x589203(0x251)]=_0x1102ea,_0x4ac5f9['snapshot'][_0x589203(0x204)]=_0x40d179,_0x4ac5f9['snapshot'][_0x589203(0x213)]=_0x40d179,_0x4ac5f9['explicitState']={'type':_0x589203(0x1d7),'reason':_0x1102ea},this[_0x589203(0x2af)](_0x4ac5f9);}['markDisconnected'](_0x580ac9,_0x362f72,_0x10740e){const _0x41c279=_0xb8e3f9,_0x7508bf=this[_0x41c279(0x2d5)][_0x41c279(0x2c5)](_0x580ac9);if(!_0x7508bf)return void 0x0;return _0x7508bf[_0x41c279(0x2de)][_0x41c279(0x2fd)]=_0x41c279(0x206),_0x7508bf[_0x41c279(0x2de)][_0x41c279(0x2c1)]=_0x41c279(0x1ad),_0x7508bf[_0x41c279(0x2de)][_0x41c279(0x1b0)]=_0x41c279(0x1b3),_0x7508bf['snapshot'][_0x41c279(0x251)]=DISCONNECT_REASON_MAP[_0x362f72],_0x7508bf[_0x41c279(0x2de)][_0x41c279(0x213)]=_0x10740e,_0x7508bf[_0x41c279(0x2de)][_0x41c279(0x204)]=_0x10740e,this['cloneRecord'](_0x7508bf);}[_0xb8e3f9(0x21e)](_0x63bb4e){const _0x1a9bd7=_0xb8e3f9,_0x4544ab=this[_0x1a9bd7(0x2d5)]['get'](_0x63bb4e);if(!_0x4544ab)return void 0x0;return this[_0x1a9bd7(0x2d5)][_0x1a9bd7(0x2d2)](_0x63bb4e),this[_0x1a9bd7(0x2af)](_0x4544ab);}['query'](_0x1b93ce={}){const _0x1a7c2d=_0xb8e3f9;return Array[_0x1a7c2d(0x211)](this['records'][_0x1a7c2d(0x24e)]())[_0x1a7c2d(0x288)](_0x55ee7f=>matchesFilters(_0x55ee7f[_0x1a7c2d(0x2de)],_0x1b93ce))['map'](_0xc62e09=>cloneSnapshot(_0xc62e09[_0x1a7c2d(0x2de)]));}['listAbnormal'](_0x4bc8ca={}){const _0x4d9751=_0xb8e3f9;return this[_0x4d9751(0x2e3)]({..._0x4bc8ca,'availability':_0x4d9751(0x206)});}[_0xb8e3f9(0x2be)](){const _0x4f13f7=_0xb8e3f9;return Array[_0x4f13f7(0x211)](this[_0x4f13f7(0x2d5)][_0x4f13f7(0x24e)]())[_0x4f13f7(0x2ca)](_0x3cf6c9=>this[_0x4f13f7(0x2af)](_0x3cf6c9));}['cloneRecord'](_0x4bfbbe){const _0x4eff92=_0xb8e3f9;return{'identityKey':_0x4bfbbe[_0x4eff92(0x1f8)],'sessionId':_0x4bfbbe[_0x4eff92(0x1db)],'snapshot':cloneSnapshot(_0x4bfbbe[_0x4eff92(0x2de)]),'explicitState':_0x4bfbbe[_0x4eff92(0x1e2)]?{..._0x4bfbbe['explicitState']}:void 0x0};}};function matchesFilters(_0x40063d,_0x33f2a1){const _0x37136d=_0xb8e3f9;if(_0x33f2a1[_0x37136d(0x258)]&&_0x40063d['workerId']!==_0x33f2a1[_0x37136d(0x258)])return![];if(_0x33f2a1[_0x37136d(0x2fb)]&&_0x40063d['email']!==_0x33f2a1[_0x37136d(0x2fb)])return![];if(_0x33f2a1[_0x37136d(0x287)]&&_0x40063d[_0x37136d(0x287)]!==_0x33f2a1['role'])return![];if(_0x33f2a1[_0x37136d(0x2fd)]&&_0x40063d['availability']!==_0x33f2a1[_0x37136d(0x2fd)])return![];if(_0x33f2a1[_0x37136d(0x296)]&&_0x40063d['activityState']!==_0x33f2a1[_0x37136d(0x296)])return![];if(_0x33f2a1[_0x37136d(0x2c1)]&&_0x40063d[_0x37136d(0x2c1)]!==_0x33f2a1['connectionState'])return![];if(_0x33f2a1[_0x37136d(0x1b0)]&&_0x40063d[_0x37136d(0x1b0)]!==_0x33f2a1[_0x37136d(0x1b0)])return![];return!![];}function cloneSnapshot(_0x57574b){return{..._0x57574b};}var TERMINAL_TASK_STATES=new Set(['completed',_0xb8e3f9(0x26d),_0xb8e3f9(0x247),'rejected']),TaskStore=class{['tasks']=new Map();[_0xb8e3f9(0x2fa)](_0x1eefdf){const _0x4f6650=_0xb8e3f9;this['tasks']['clear']();for(const _0x2c068b of _0x1eefdf){this[_0x4f6650(0x1c6)][_0x4f6650(0x2eb)](_0x2c068b['id'],clone(_0x2c068b));}}[_0xb8e3f9(0x1bd)](_0x57f63c){const _0x106b0c=_0xb8e3f9,_0x171f2c=createWorkerIdentityKey(_0x57f63c[_0x106b0c(0x258)],_0x57f63c[_0x106b0c(0x2fb)]),_0x165266=this['tasks']['get'](_0x57f63c[_0x106b0c(0x1cb)][_0x106b0c(0x2db)]);if(!_0x165266){const _0x1e7fdd={'id':_0x57f63c[_0x106b0c(0x1cb)]['taskId'],'contextId':_0x57f63c[_0x106b0c(0x1cb)][_0x106b0c(0x1c8)],'status':{'state':_0x106b0c(0x1a7),'timestamp':_0x57f63c[_0x106b0c(0x1a1)]},'artifacts':[],'history':[clone(_0x57f63c[_0x106b0c(0x1cb)])],'metadata':_0x57f63c[_0x106b0c(0x225)]?clone(_0x57f63c[_0x106b0c(0x225)]):void 0x0,'assigneeWorkerKey':_0x171f2c};return this[_0x106b0c(0x1c6)][_0x106b0c(0x2eb)](_0x1e7fdd['id'],_0x1e7fdd),clone(_0x1e7fdd);}if(_0x165266['assigneeWorkerKey']!==_0x171f2c)throw new Error(_0x106b0c(0x2d0));if(isTerminalTaskState(_0x165266['status'][_0x106b0c(0x1c9)]))throw new Error(_0x106b0c(0x2d9));return _0x165266[_0x106b0c(0x200)]['push'](clone(_0x57f63c[_0x106b0c(0x1cb)])),_0x165266[_0x106b0c(0x224)]={'state':_0x106b0c(0x1a7),'timestamp':_0x57f63c[_0x106b0c(0x1a1)]},_0x57f63c[_0x106b0c(0x225)]&&(_0x165266[_0x106b0c(0x225)]=clone(_0x57f63c[_0x106b0c(0x225)])),clone(_0x165266);}['updateAvailability'](_0x5efa4a,_0x19c0c6,_0xdbcd37){const _0x47737d=_0xb8e3f9,_0x1ca587=this[_0x47737d(0x1c6)][_0x47737d(0x2c5)](_0x5efa4a);if(!_0x1ca587)throw new Error(_0x47737d(0x304));if(isTerminalTaskState(_0x1ca587[_0x47737d(0x224)][_0x47737d(0x1c9)]))throw new Error(_0x47737d(0x2c7));return _0x1ca587['status']=clone(_0x19c0c6),_0xdbcd37&&_0x1ca587[_0x47737d(0x200)][_0x47737d(0x2a3)](clone(_0xdbcd37)),clone(_0x1ca587);}['addArtifact'](_0x3ebcc7,_0x589979){const _0x39be82=_0xb8e3f9,_0x32208d=this[_0x39be82(0x1c6)]['get'](_0x3ebcc7);if(!_0x32208d)throw new Error(_0x39be82(0x304));if(isTerminalTaskState(_0x32208d['status'][_0x39be82(0x1c9)]))throw new Error(_0x39be82(0x2c7));return _0x32208d[_0x39be82(0x2cb)][_0x39be82(0x2a3)](clone(_0x589979)),clone(_0x32208d);}[_0xb8e3f9(0x26e)](_0x70c84f,_0x54aeab){const _0x1c78ee=_0xb8e3f9,_0x11bcef=this[_0x1c78ee(0x1c6)]['get'](_0x70c84f);if(!_0x11bcef)throw new Error(_0x1c78ee(0x304));if(isTerminalTaskState(_0x11bcef['status'][_0x1c78ee(0x1c9)]))return clone(_0x11bcef);return _0x11bcef[_0x1c78ee(0x224)]={'state':_0x1c78ee(0x247),'timestamp':_0x54aeab},clone(_0x11bcef);}[_0xb8e3f9(0x2c5)](_0x335499,_0x1e0113={}){const _0x265ebb=_0xb8e3f9,_0x368e58=this[_0x265ebb(0x1c6)][_0x265ebb(0x2c5)](_0x335499);if(!_0x368e58)return void 0x0;if(!_0x1e0113[_0x265ebb(0x264)]||_0x368e58['history'][_0x265ebb(0x21f)]<=_0x1e0113[_0x265ebb(0x264)])return clone(_0x368e58);const _0x1d325c=clone(_0x368e58);return _0x1d325c[_0x265ebb(0x200)]=_0x1d325c[_0x265ebb(0x200)]['slice'](-_0x1e0113[_0x265ebb(0x264)]),_0x1d325c;}[_0xb8e3f9(0x1ae)](_0x754160={}){const _0x7d5230=_0xb8e3f9;return Array['from'](this['tasks'][_0x7d5230(0x24e)]())['filter'](_0x3c4cf4=>this['matchesFilters'](_0x3c4cf4,_0x754160))[_0x7d5230(0x2ca)](_0x28f052=>clone(_0x28f052));}[_0xb8e3f9(0x1c4)](_0x5240c8){const _0xd692d2=_0xb8e3f9;return Array[_0xd692d2(0x211)](this[_0xd692d2(0x1c6)]['values']())[_0xd692d2(0x288)](_0x223410=>_0x223410[_0xd692d2(0x1b1)]===_0x5240c8&&!isTerminalTaskState(_0x223410[_0xd692d2(0x224)][_0xd692d2(0x1c9)]))['map'](_0x508d05=>clone(_0x508d05));}[_0xb8e3f9(0x275)](_0x544e47){const _0x26da18=_0xb8e3f9;return Array[_0x26da18(0x211)](this[_0x26da18(0x1c6)]['values']())[_0x26da18(0x288)](_0x1dc8be=>_0x1dc8be[_0x26da18(0x1b1)]===_0x544e47&&_0x1dc8be[_0x26da18(0x224)]['state']===_0x26da18(0x1a7))[_0x26da18(0x2ca)](_0x5b16c6=>clone(_0x5b16c6));}[_0xb8e3f9(0x1ee)](_0x1f4fa4){const _0x315227=_0xb8e3f9,_0x4e439f=this[_0x315227(0x1c6)][_0x315227(0x2c5)](_0x1f4fa4);if(!_0x4e439f)return void 0x0;for(let _0x1a1121=_0x4e439f['history'][_0x315227(0x21f)]-0x1;_0x1a1121>=0x0;_0x1a1121-=0x1){const _0x44e2e9=_0x4e439f[_0x315227(0x200)][_0x1a1121];if(_0x44e2e9[_0x315227(0x287)]===_0x315227(0x28a))return clone(_0x44e2e9);}return void 0x0;}['matchesFilters'](_0x2f6255,_0x7687f3){const _0x4d5ec2=_0xb8e3f9;if(_0x7687f3[_0x4d5ec2(0x1c8)]&&_0x2f6255[_0x4d5ec2(0x1c8)]!==_0x7687f3[_0x4d5ec2(0x1c8)])return![];if(_0x7687f3['state']&&_0x2f6255['status']['state']!==_0x7687f3[_0x4d5ec2(0x1c9)])return![];if(_0x7687f3[_0x4d5ec2(0x258)]||_0x7687f3['email']){const [_0x5d7d0b,_0xb1b156]=splitWorkerKey(_0x2f6255[_0x4d5ec2(0x1b1)]);if(_0x7687f3['workerId']&&_0x5d7d0b!==_0x7687f3['workerId'])return![];if(_0x7687f3['email']&&_0xb1b156!==_0x7687f3[_0x4d5ec2(0x2fb)])return![];}return!![];}};function isTerminalTaskState(_0x56e7d2){return TERMINAL_TASK_STATES['has'](_0x56e7d2);}function splitWorkerKey(_0x358b74){const [_0x2e9ebb,_0x4b61f5]=_0x358b74['split']('::');return[_0x2e9ebb,_0x4b61f5];}function clone(_0x517646){return structuredClone(_0x517646);}var DEFAULT_CONFIG2={'path':_0xb8e3f9(0x217),'heartbeatIntervalMs':0x3a98,'heartbeatTimeoutMs':0xafc8,'loginTimeoutMs':0x2710},WorkerServerSDK=class{['config'];[_0xb8e3f9(0x285)]=new WorkerSessionRegistry();[_0xb8e3f9(0x205)]=new TaskStore();[_0xb8e3f9(0x203)]=new Set();[_0xb8e3f9(0x235)]=new Set();[_0xb8e3f9(0x19f)]=new Set();[_0xb8e3f9(0x2ec)]=new Map();[_0xb8e3f9(0x236)]=new Map();[_0xb8e3f9(0x26b)]=new Map();[_0xb8e3f9(0x260)]=null;[_0xb8e3f9(0x1c2)];[_0xb8e3f9(0x1cd)];[_0xb8e3f9(0x2fc)];constructor(_0x24680a={}){const _0xaed4cd=_0xb8e3f9;this['config']={...DEFAULT_CONFIG2,..._0x24680a,'managerToken':_0x24680a[_0xaed4cd(0x2f2)]??import_node_process2[_0xaed4cd(0x2da)][_0xaed4cd(0x1c5)][_0xaed4cd(0x216)],'loginAuthorization':resolveLoginAuthorizationConfig(_0x24680a[_0xaed4cd(0x1b4)])},this[_0xaed4cd(0x285)]['seedSnapshots'](_0x24680a[_0xaed4cd(0x22b)]??[]),this[_0xaed4cd(0x205)]['seedTasks'](_0x24680a['initialTasks']??[]);}[_0xb8e3f9(0x1d5)](_0x450003){const _0x3446f9=_0xb8e3f9;return this[_0x3446f9(0x260)]=_0x450003,this;}async[_0xb8e3f9(0x29e)](_0x5c6526,_0x2c2130=_0xb8e3f9(0x1f7)){const _0x4ff9cb=_0xb8e3f9;if(this[_0x4ff9cb(0x1cd)])throw new Error('WorkerServerSDK\x20is\x20already\x20listening');return await this[_0x4ff9cb(0x24c)](_0x5c6526,_0x2c2130),this['startHeartbeatLoop'](),this;}async['stop'](){const _0x473ef1=_0xb8e3f9;this[_0x473ef1(0x1c2)]&&(clearInterval(this[_0x473ef1(0x1c2)]),this[_0x473ef1(0x1c2)]=void 0x0);for(const _0x5a5b6d of this[_0x473ef1(0x2ec)]['values']()){_0x5a5b6d[_0x473ef1(0x21a)]&&clearTimeout(_0x5a5b6d[_0x473ef1(0x21a)]);await this[_0x473ef1(0x20f)](_0x5a5b6d),await this[_0x473ef1(0x27e)](_0x5a5b6d,_0x473ef1(0x1a6));if(_0x5a5b6d[_0x473ef1(0x1f8)]){const _0x2c10d9=this[_0x473ef1(0x285)]['markDisconnected'](_0x5a5b6d['identityKey'],_0x473ef1(0x239),Date[_0x473ef1(0x1a1)]());this[_0x473ef1(0x236)]['delete'](_0x5a5b6d[_0x473ef1(0x1f8)]),_0x2c10d9&&await this[_0x473ef1(0x233)]({'type':'disconnect','worker':_0x2c10d9['snapshot'],'cause':_0x473ef1(0x239)});}try{_0x5a5b6d['peer'][_0x473ef1(0x1d4)](0x3f4,'server\x20stopping');}catch{_0x5a5b6d['peer']['terminate']();}}this['connections'][_0x473ef1(0x2a7)](),this[_0x473ef1(0x236)][_0x473ef1(0x2a7)](),this['pendingAuthorizations'][_0x473ef1(0x2a7)](),this[_0x473ef1(0x2fc)]&&(this[_0x473ef1(0x2fc)]['closeAll'](0x3f4,_0x473ef1(0x209),!![]),this['nodeAdapter']=void 0x0),this[_0x473ef1(0x1cd)]&&(await new Promise((_0x16397f,_0x5d7179)=>this['nodeServer'][_0x473ef1(0x1d4)](_0x7374d6=>_0x7374d6?_0x5d7179(_0x7374d6):_0x16397f())),this[_0x473ef1(0x1cd)]=void 0x0);}[_0xb8e3f9(0x1f1)](_0x42f68a){const _0x2e5934=_0xb8e3f9;return this['eventHandlers'][_0x2e5934(0x2e5)](_0x42f68a),this;}['offWorkerEvent'](_0xcbd7ad){const _0x242cdb=_0xb8e3f9;return this[_0x242cdb(0x203)][_0x242cdb(0x2d2)](_0xcbd7ad),this;}[_0xb8e3f9(0x1f6)](_0x4a340c){const _0x2f29d1=_0xb8e3f9;return this[_0x2f29d1(0x235)]['add'](_0x4a340c),this;}[_0xb8e3f9(0x202)](_0x40f07b){const _0x47c5d4=_0xb8e3f9;return this[_0x47c5d4(0x235)][_0x47c5d4(0x2d2)](_0x40f07b),this;}[_0xb8e3f9(0x1df)](_0x49fc0e={}){const _0xb6d962=_0xb8e3f9,{activityState:_0x4eb2ce,..._0x22f73b}=_0x49fc0e;return this['registry'][_0xb6d962(0x2e3)](_0x22f73b)[_0xb6d962(0x2ca)](_0x78211d=>this['deriveWorkerSnapshot'](_0x78211d))[_0xb6d962(0x288)](_0x47044f=>_0x4eb2ce?_0x47044f[_0xb6d962(0x296)]===_0x4eb2ce:!![]);}[_0xb8e3f9(0x2ff)](_0x2c3731={}){const _0x2beaf0=_0xb8e3f9;return this['queryWorkers']({..._0x2c3731,'availability':_0x2beaf0(0x206)});}async[_0xb8e3f9(0x1a9)](_0x343f7b,_0x253a67){const _0x54e2d0=_0xb8e3f9,_0x361cc3=this[_0x54e2d0(0x26b)]['get'](_0x343f7b);if(!_0x361cc3)throw new Error(_0x54e2d0(0x297));const _0x3019c5=this['connections'][_0x54e2d0(0x2c5)](_0x361cc3[_0x54e2d0(0x231)]);if(!_0x3019c5||_0x3019c5[_0x54e2d0(0x25f)]!==_0x343f7b){this['pendingAuthorizations'][_0x54e2d0(0x2d2)](_0x343f7b);throw new Error('login\x20authorization\x20not\x20found');}this[_0x54e2d0(0x23a)](_0x3019c5);const _0x868e26=this[_0x54e2d0(0x27f)]['loginAuthorization']?issueLoginToken({'workerId':_0x361cc3[_0x54e2d0(0x26f)]['workerId'],'email':_0x361cc3['payload']['email'],'role':_0x361cc3[_0x54e2d0(0x26f)][_0x54e2d0(0x287)],'issuedAt':Date['now']()},this[_0x54e2d0(0x27f)][_0x54e2d0(0x1b4)]['signingSecret']):void 0x0;await this['completeLogin'](_0x3019c5,_0x361cc3[_0x54e2d0(0x266)],_0x361cc3[_0x54e2d0(0x26f)],_0x868e26);}async[_0xb8e3f9(0x2ce)](_0x51db65,_0x4a5f6b,_0x2dc82a){const _0x3c3d1e=_0xb8e3f9;if(_0x4a5f6b[_0x3c3d1e(0x214)]()[_0x3c3d1e(0x21f)]===0x0)throw new Error('login\x20rejection\x20reason\x20is\x20required');const _0x35bcc2=this[_0x3c3d1e(0x26b)]['get'](_0x51db65);if(!_0x35bcc2)throw new Error('login\x20authorization\x20not\x20found');const _0x11a2d9=this[_0x3c3d1e(0x2ec)]['get'](_0x35bcc2[_0x3c3d1e(0x231)]);this[_0x3c3d1e(0x26b)][_0x3c3d1e(0x2d2)](_0x51db65),_0x11a2d9?.[_0x3c3d1e(0x25f)]===_0x51db65&&(_0x11a2d9[_0x3c3d1e(0x25f)]=void 0x0),_0x11a2d9&&this[_0x3c3d1e(0x215)](_0x11a2d9[_0x3c3d1e(0x222)],_0x35bcc2[_0x3c3d1e(0x266)],_0x4a5f6b);}[_0xb8e3f9(0x24d)](_0x283904){const _0x5969bf=_0xb8e3f9;return this[_0x5969bf(0x19f)][_0x5969bf(0x2e5)](_0x283904),this;}async[_0xb8e3f9(0x2a4)](_0x13bbe8){const _0x23e5d0=_0xb8e3f9;validateSendMessageParams(_0x13bbe8);const _0x1eab57=Date[_0x23e5d0(0x1a1)](),_0x23b20e=_0x13bbe8[_0x23e5d0(0x2db)]?this[_0x23e5d0(0x205)][_0x23e5d0(0x2c5)](_0x13bbe8[_0x23e5d0(0x2db)]):void 0x0;if(_0x13bbe8[_0x23e5d0(0x2db)]&&!_0x23b20e)throw new Error(_0x23e5d0(0x304));const _0x4aaf1b=_0x13bbe8[_0x23e5d0(0x2db)]??crypto['randomUUID'](),_0x56a963=_0x23b20e?.[_0x23e5d0(0x1c8)]??_0x13bbe8[_0x23e5d0(0x1c8)]??crypto[_0x23e5d0(0x257)](),_0x31e8d5={'messageId':_0x13bbe8[_0x23e5d0(0x283)]??crypto[_0x23e5d0(0x257)](),'contextId':_0x56a963,'taskId':_0x4aaf1b,'role':_0x23e5d0(0x28a),'parts':clone(_0x13bbe8[_0x23e5d0(0x1e5)]),'metadata':_0x13bbe8['metadata']?clone(_0x13bbe8[_0x23e5d0(0x225)]):void 0x0},_0x4733a2=this[_0x23e5d0(0x205)][_0x23e5d0(0x1bd)]({'workerId':_0x13bbe8[_0x23e5d0(0x1e6)][_0x23e5d0(0x258)],'email':_0x13bbe8[_0x23e5d0(0x1e6)][_0x23e5d0(0x2fb)],'message':_0x31e8d5,'metadata':_0x13bbe8[_0x23e5d0(0x225)],'now':_0x1eab57});return await this[_0x23e5d0(0x2ad)]({'type':_0x23e5d0(0x279),'task':_0x4733a2,'status':_0x4733a2[_0x23e5d0(0x224)],'message':_0x31e8d5}),this['dispatchTaskMessage'](_0x4733a2[_0x23e5d0(0x1b1)],_0x4733a2,_0x31e8d5),_0x4733a2;}[_0xb8e3f9(0x26a)](_0x102ec6,_0x1da5e0={}){const _0x2d9506=_0xb8e3f9;return this[_0x2d9506(0x205)][_0x2d9506(0x2c5)](_0x102ec6,_0x1da5e0);}[_0xb8e3f9(0x2a0)](_0x24b81e={}){const _0x1f9c21=_0xb8e3f9;return this[_0x1f9c21(0x205)][_0x1f9c21(0x1ae)](_0x24b81e);}async[_0xb8e3f9(0x1a2)](_0x3c4dea){const _0x447f25=_0xb8e3f9,_0x4399ec=this[_0x447f25(0x205)][_0x447f25(0x26e)](_0x3c4dea,Date[_0x447f25(0x1a1)]());return await this[_0x447f25(0x2ad)]({'type':_0x447f25(0x279),'task':_0x4399ec,'status':_0x4399ec[_0x447f25(0x224)]}),this[_0x447f25(0x2b1)](_0x4399ec['assigneeWorkerKey'],_0x4399ec['id']),_0x4399ec;}async[_0xb8e3f9(0x24c)](_0x255e08,_0x5d81a0){const _0x23cdd6=_0xb8e3f9,_0x2193e8=await import(_0x23cdd6(0x1bf)),_0x2649f1=_0x2193e8[_0x23cdd6(0x2da)]({'hooks':this[_0x23cdd6(0x19d)]()});this[_0x23cdd6(0x2fc)]=_0x2649f1,this[_0x23cdd6(0x1cd)]=(0x0,import_node_http[_0x23cdd6(0x1de)])((_0x50130c,_0x2dc8cd)=>{const _0x471ddd=_0x23cdd6;_0x2dc8cd[_0x471ddd(0x24b)]=0x194,_0x2dc8cd['end'](_0x471ddd(0x22e));}),this[_0x23cdd6(0x1cd)]['on']('upgrade',(_0x405627,_0x203df9,_0x243faf)=>{const _0x413f71=_0x23cdd6;if(!this[_0x413f71(0x2c3)](_0x405627['url']??'/')){_0x203df9[_0x413f71(0x2d8)]();return;}void this['nodeAdapter'][_0x413f71(0x27c)](_0x405627,_0x203df9,_0x243faf)[_0x413f71(0x1b5)](()=>{const _0xdf7bd4=_0x413f71;_0x203df9[_0xdf7bd4(0x2d8)]();});}),await new Promise((_0xf19e0,_0x10f5e9)=>{const _0xf33346=_0x23cdd6;this['nodeServer'][_0xf33346(0x2c6)](_0xf33346(0x1eb),_0x10f5e9),this['nodeServer'][_0xf33346(0x29e)](_0x255e08,_0x5d81a0,()=>_0xf19e0());});}[_0xb8e3f9(0x19d)](){return{'open':async _0x1a2077=>{const _0x2b2f61=_0x25c7;this[_0x2b2f61(0x1d2)](_0x1a2077);},'message':async(_0x25119f,_0x25dc7f)=>{const _0x34b21b=_0x25c7;await this[_0x34b21b(0x1ed)](_0x25119f,_0x25dc7f['text']());},'close':async _0x4c32f1=>{const _0x53a077=_0x25c7;await this[_0x53a077(0x306)](_0x4c32f1,_0x53a077(0x239));},'error':async()=>{}};}[_0xb8e3f9(0x1d2)](_0x5b91a7){const _0x3653c6=_0xb8e3f9,_0x2ceeb8={'peer':_0x5b91a7,'sessionId':crypto[_0x3653c6(0x257)](),'managerSubscriptions':new Map(),'loginTimer':setTimeout(()=>{const _0x85b1f=_0x3653c6,_0x1cfba0=this[_0x85b1f(0x2ec)][_0x85b1f(0x2c5)](_0x5b91a7['id']);!_0x1cfba0?.['identityKey']&&(_0x5b91a7[_0x85b1f(0x1d4)](0xfa1,'login\x20required'),this[_0x85b1f(0x2ec)][_0x85b1f(0x2d2)](_0x5b91a7['id']));},this['config']['loginTimeoutMs'])};this[_0x3653c6(0x2ec)][_0x3653c6(0x2eb)](_0x5b91a7['id'],_0x2ceeb8);}async[_0xb8e3f9(0x1ed)](_0x50e788,_0x250608){const _0x3731cf=_0xb8e3f9,_0x5f43ee=parseClientMessage(_0x250608);if(!_0x5f43ee){this[_0x3731cf(0x2a5)](_0x50e788,'invalid\x20message');return;}const _0x4f5ec5=this[_0x3731cf(0x2ec)][_0x3731cf(0x2c5)](_0x50e788['id']);if(!_0x4f5ec5){this[_0x3731cf(0x2a5)](_0x50e788,'unknown\x20connection');return;}_0x5f43ee[_0x3731cf(0x210)]!=='heartbeat-ack'&&_0x4f5ec5[_0x3731cf(0x1f8)]&&this[_0x3731cf(0x285)][_0x3731cf(0x2c9)](_0x4f5ec5[_0x3731cf(0x1f8)],Date[_0x3731cf(0x1a1)]());if(_0x4f5ec5[_0x3731cf(0x25f)]&&_0x5f43ee[_0x3731cf(0x210)]!==_0x3731cf(0x25d)&&_0x5f43ee[_0x3731cf(0x210)]!==_0x3731cf(0x20e)){this[_0x3731cf(0x2a5)](_0x50e788,'worker\x20is\x20not\x20logged\x20in',_0x3731cf(0x266)in _0x5f43ee?_0x5f43ee['requestId']:void 0x0);return;}switch(_0x5f43ee[_0x3731cf(0x210)]){case _0x3731cf(0x25d):await this[_0x3731cf(0x229)](_0x4f5ec5,_0x5f43ee);return;case _0x3731cf(0x1f2):await this[_0x3731cf(0x1a4)](_0x4f5ec5,_0x5f43ee[_0x3731cf(0x266)]);return;case _0x3731cf(0x2e4):await this[_0x3731cf(0x1fc)](_0x4f5ec5,_0x5f43ee);return;case _0x3731cf(0x2c4):await this[_0x3731cf(0x1c3)](_0x4f5ec5,_0x5f43ee);return;case _0x3731cf(0x1d0):await this[_0x3731cf(0x1ac)](_0x4f5ec5,_0x5f43ee);return;case _0x3731cf(0x1ca):await this[_0x3731cf(0x1d6)](_0x4f5ec5,_0x5f43ee);return;case _0x3731cf(0x2d3):await this[_0x3731cf(0x2f8)](_0x4f5ec5,_0x5f43ee);return;case _0x3731cf(0x307):await this[_0x3731cf(0x1a5)](_0x4f5ec5,_0x5f43ee);return;case _0x3731cf(0x263):await this[_0x3731cf(0x1f9)](_0x4f5ec5,_0x5f43ee);return;case'heartbeat-ack':_0x4f5ec5[_0x3731cf(0x1f8)]&&this[_0x3731cf(0x285)][_0x3731cf(0x2c9)](_0x4f5ec5[_0x3731cf(0x1f8)],Date[_0x3731cf(0x1a1)]());}}async[_0xb8e3f9(0x229)](_0x5ed56a,_0x35f21e){const _0xe63c4e=_0xb8e3f9,_0x154c76=validateLoginPayload(_0x35f21e[_0xe63c4e(0x26f)]);if(_0x154c76){this[_0xe63c4e(0x2a5)](_0x5ed56a[_0xe63c4e(0x222)],_0x154c76,_0x35f21e[_0xe63c4e(0x266)]);return;}_0x5ed56a[_0xe63c4e(0x21a)]&&(clearTimeout(_0x5ed56a[_0xe63c4e(0x21a)]),_0x5ed56a[_0xe63c4e(0x21a)]=void 0x0);await this[_0xe63c4e(0x27e)](_0x5ed56a,_0xe63c4e(0x2cc));const _0x17db4b=createWorkerIdentityKey(_0x35f21e['payload'][_0xe63c4e(0x258)],_0x35f21e[_0xe63c4e(0x26f)][_0xe63c4e(0x2fb)]),_0x425c63=this[_0xe63c4e(0x1ab)](_0x35f21e['payload'],_0x17db4b);if(_0x425c63){this[_0xe63c4e(0x215)](_0x5ed56a[_0xe63c4e(0x222)],_0x35f21e[_0xe63c4e(0x266)],_0x425c63);return;}if(_0x35f21e['payload']['role']===_0xe63c4e(0x20a)){await this[_0xe63c4e(0x25c)](_0x5ed56a,_0x35f21e[_0xe63c4e(0x266)],_0x35f21e[_0xe63c4e(0x26f)]);return;}if(!this[_0xe63c4e(0x27f)][_0xe63c4e(0x1b4)]){await this[_0xe63c4e(0x25c)](_0x5ed56a,_0x35f21e['requestId'],_0x35f21e[_0xe63c4e(0x26f)]);return;}const _0x50536c=_0x35f21e[_0xe63c4e(0x26f)][_0xe63c4e(0x268)]?verifyLoginToken(_0x35f21e[_0xe63c4e(0x26f)][_0xe63c4e(0x268)],this[_0xe63c4e(0x27f)][_0xe63c4e(0x1b4)][_0xe63c4e(0x1e0)]):null,_0x37abb5=_0x50536c&&_0x50536c['workerId']===_0x35f21e['payload'][_0xe63c4e(0x258)]&&_0x50536c[_0xe63c4e(0x2fb)]===_0x35f21e[_0xe63c4e(0x26f)][_0xe63c4e(0x2fb)]&&_0x50536c[_0xe63c4e(0x287)]===_0x35f21e[_0xe63c4e(0x26f)][_0xe63c4e(0x287)];if(_0x37abb5){const _0x169199=issueLoginToken({'workerId':_0x35f21e[_0xe63c4e(0x26f)]['workerId'],'email':_0x35f21e[_0xe63c4e(0x26f)][_0xe63c4e(0x2fb)],'role':_0x35f21e[_0xe63c4e(0x26f)][_0xe63c4e(0x287)],'issuedAt':Date[_0xe63c4e(0x1a1)]()},this[_0xe63c4e(0x27f)]['loginAuthorization'][_0xe63c4e(0x1e0)]);await this[_0xe63c4e(0x25c)](_0x5ed56a,_0x35f21e[_0xe63c4e(0x266)],_0x35f21e[_0xe63c4e(0x26f)],_0x169199);return;}await this[_0xe63c4e(0x28e)](_0x5ed56a,_0x35f21e,_0x35f21e['payload']['loginToken']?_0xe63c4e(0x298):_0xe63c4e(0x1da));}[_0xb8e3f9(0x1ab)](_0x3ab927,_0x261b9c){const _0x321728=_0xb8e3f9;if(_0x3ab927[_0x321728(0x287)]!==_0x321728(0x20a))return null;if(!this[_0x321728(0x27f)][_0x321728(0x2f2)]||this['config'][_0x321728(0x2f2)][_0x321728(0x214)]()[_0x321728(0x21f)]===0x0)return _0x321728(0x1ce);if(_0x3ab927['managerToken']!==this['config'][_0x321728(0x2f2)])return _0x321728(0x221);const _0x2a9f86=this[_0x321728(0x285)][_0x321728(0x2e3)]({'role':_0x321728(0x20a),'connectionState':'connected'});if(_0x2a9f86[_0x321728(0x19b)](_0x51d054=>createWorkerIdentityKey(_0x51d054[_0x321728(0x258)],_0x51d054[_0x321728(0x2fb)])!==_0x261b9c))return _0x321728(0x1af);if(_0x2a9f86['length']>0x0)return _0x321728(0x1af);return null;}async['createPendingAuthorization'](_0x45b7b9,_0x47851f,_0x3d3533){const _0x404da7=_0xb8e3f9,_0x42d477={'authorizationId':crypto[_0x404da7(0x257)](),'workerId':_0x47851f[_0x404da7(0x26f)][_0x404da7(0x258)],'email':_0x47851f[_0x404da7(0x26f)]['email'],'role':_0x47851f['payload'][_0x404da7(0x287)],'capabilitySummary':_0x47851f['payload'][_0x404da7(0x270)],'initialAvailability':_0x47851f[_0x404da7(0x26f)]['initialAvailability']??'available','requestedAt':Date['now'](),'reason':_0x3d3533};_0x45b7b9[_0x404da7(0x25f)]=_0x42d477[_0x404da7(0x2a2)],this[_0x404da7(0x26b)][_0x404da7(0x2eb)](_0x42d477[_0x404da7(0x2a2)],{'authorization':_0x42d477,'peerId':_0x45b7b9[_0x404da7(0x222)]['id'],'requestId':_0x47851f[_0x404da7(0x266)],'payload':clone(_0x47851f['payload'])}),await this['emitLoginAuthorizationEvent']({'type':_0x404da7(0x2f6),'authorization':clonePendingAuthorization(_0x42d477)}),this[_0x404da7(0x2f9)](_0x45b7b9[_0x404da7(0x222)],_0x47851f[_0x404da7(0x266)],_0x42d477[_0x404da7(0x2a2)],_0x3d3533);}async['completeLogin'](_0x57a142,_0x26e68b,_0x38a555,_0x493aed){const _0x46b446=_0xb8e3f9,_0x566ccc=Date['now'](),_0x513b22=createWorkerIdentityKey(_0x38a555[_0x46b446(0x258)],_0x38a555[_0x46b446(0x2fb)]),_0x1838b0=this[_0x46b446(0x236)]['get'](_0x513b22),_0x348bd5=_0x1838b0&&_0x1838b0!==_0x57a142[_0x46b446(0x222)]['id']?this[_0x46b446(0x2ec)][_0x46b446(0x2c5)](_0x1838b0):void 0x0;if(_0x348bd5?.[_0x46b446(0x1f8)]===_0x513b22){this[_0x46b446(0x215)](_0x57a142[_0x46b446(0x222)],_0x26e68b,_0x46b446(0x22a));return;}_0x57a142[_0x46b446(0x21a)]&&(clearTimeout(_0x57a142[_0x46b446(0x21a)]),_0x57a142['loginTimer']=void 0x0);this[_0x46b446(0x23a)](_0x57a142),_0x57a142[_0x46b446(0x1f8)]=_0x513b22,this['identityToPeerId'][_0x46b446(0x2eb)](_0x513b22,_0x57a142['peer']['id']);const _0x404434=this['registry'][_0x46b446(0x27a)](_0x57a142['sessionId'],_0x38a555,_0x566ccc);await this[_0x46b446(0x233)]({'type':'login','worker':this[_0x46b446(0x1cf)](_0x404434[_0x46b446(0x2de)])}),this[_0x46b446(0x2ba)](_0x513b22),this[_0x46b446(0x29b)](_0x57a142[_0x46b446(0x222)],_0x26e68b,_0x493aed);}[_0xb8e3f9(0x23a)](_0x2117a1){const _0x325eff=_0xb8e3f9;if(!_0x2117a1[_0x325eff(0x25f)])return;this['pendingAuthorizations'][_0x325eff(0x2d2)](_0x2117a1[_0x325eff(0x25f)]),_0x2117a1[_0x325eff(0x25f)]=void 0x0;}async['cancelPendingAuthorization'](_0x3c1020,_0x155ed5){const _0x56cf09=_0xb8e3f9;if(!_0x3c1020[_0x56cf09(0x25f)])return;const _0x41adb0=_0x3c1020[_0x56cf09(0x25f)],_0x12235b=this[_0x56cf09(0x26b)][_0x56cf09(0x2c5)](_0x41adb0);this['pendingAuthorizations'][_0x56cf09(0x2d2)](_0x41adb0),_0x3c1020[_0x56cf09(0x25f)]=void 0x0;if(!_0x12235b)return;await this[_0x56cf09(0x290)]({'type':'canceled','authorization':clonePendingAuthorization(_0x12235b[_0x56cf09(0x262)]),'cause':_0x155ed5});}async['handleLogoutMessage'](_0x288903,_0x2e1190){const _0x2970d6=_0xb8e3f9;if(!_0x288903['identityKey']){this[_0x2970d6(0x2a5)](_0x288903['peer'],_0x2970d6(0x28c),_0x2e1190);return;}await this[_0x2970d6(0x20f)](_0x288903);const _0x2e9789=this[_0x2970d6(0x285)]['remove'](_0x288903[_0x2970d6(0x1f8)]);this[_0x2970d6(0x236)][_0x2970d6(0x2d2)](_0x288903[_0x2970d6(0x1f8)]),_0x288903['identityKey']=void 0x0,_0x2e9789&&await this['emitWorkerEvent']({'type':_0x2970d6(0x1f2),'worker':this[_0x2970d6(0x1cf)](_0x2e9789[_0x2970d6(0x2de)])}),this[_0x2970d6(0x24f)](_0x288903['peer'],_0x2e1190);}async['handleUpdateAvailabilityMessage'](_0x3a9bfa,_0xfd152b){const _0x198e3b=_0xb8e3f9;if(!_0x3a9bfa[_0x198e3b(0x1f8)]){this[_0x198e3b(0x2a5)](_0x3a9bfa[_0x198e3b(0x222)],_0x198e3b(0x28c),_0xfd152b['requestId']);return;}const _0x1294e7=this[_0x198e3b(0x285)][_0x198e3b(0x2c5)](_0x3a9bfa[_0x198e3b(0x1f8)]);if(!_0x1294e7){this['sendError'](_0x3a9bfa[_0x198e3b(0x222)],_0x198e3b(0x2ea),_0xfd152b[_0x198e3b(0x266)]);return;}const _0x2aac69=this[_0x198e3b(0x285)][_0x198e3b(0x271)](_0x3a9bfa[_0x198e3b(0x1f8)],_0xfd152b[_0x198e3b(0x2fd)],Date[_0x198e3b(0x1a1)]());if(!_0x2aac69){this[_0x198e3b(0x2a5)](_0x3a9bfa['peer'],_0x198e3b(0x2ea),_0xfd152b[_0x198e3b(0x266)]);return;}await this[_0x198e3b(0x233)]({'type':_0x198e3b(0x2cd),'worker':this[_0x198e3b(0x1cf)](_0x2aac69[_0x198e3b(0x2de)]),'previousAvailability':_0x1294e7[_0x198e3b(0x2de)]['availability'],'previousAbnormalSource':_0x1294e7['snapshot'][_0x198e3b(0x1b0)],'previousAbnormalReason':_0x1294e7[_0x198e3b(0x2de)][_0x198e3b(0x251)]}),this[_0x198e3b(0x24f)](_0x3a9bfa[_0x198e3b(0x222)],_0xfd152b['requestId']);}async[_0xb8e3f9(0x1c3)](_0x297081,_0x2ae1c4){const _0x52eb9d=_0xb8e3f9;if(!_0x297081[_0x52eb9d(0x1f8)]){this[_0x52eb9d(0x2a5)](_0x297081['peer'],_0x52eb9d(0x28c),_0x2ae1c4[_0x52eb9d(0x266)]);return;}if(_0x2ae1c4['reason']['trim']()[_0x52eb9d(0x21f)]===0x0){this[_0x52eb9d(0x2a5)](_0x297081[_0x52eb9d(0x222)],'exception\x20reason\x20is\x20required',_0x2ae1c4[_0x52eb9d(0x266)]);return;}const _0x5d5c5b=this['registry'][_0x52eb9d(0x2c5)](_0x297081[_0x52eb9d(0x1f8)]);if(!_0x5d5c5b){this['sendError'](_0x297081[_0x52eb9d(0x222)],_0x52eb9d(0x2ea),_0x2ae1c4[_0x52eb9d(0x266)]);return;}const _0x422d4e=this[_0x52eb9d(0x285)]['reportException'](_0x297081[_0x52eb9d(0x1f8)],_0x2ae1c4[_0x52eb9d(0x2f5)],Date[_0x52eb9d(0x1a1)]());if(!_0x422d4e){this[_0x52eb9d(0x2a5)](_0x297081[_0x52eb9d(0x222)],_0x52eb9d(0x2ea),_0x2ae1c4[_0x52eb9d(0x266)]);return;}await this['emitWorkerEvent']({'type':_0x52eb9d(0x2cd),'worker':this[_0x52eb9d(0x1cf)](_0x422d4e[_0x52eb9d(0x2de)]),'previousAvailability':_0x5d5c5b['snapshot'][_0x52eb9d(0x2fd)],'previousAbnormalSource':_0x5d5c5b[_0x52eb9d(0x2de)][_0x52eb9d(0x1b0)],'previousAbnormalReason':_0x5d5c5b[_0x52eb9d(0x2de)][_0x52eb9d(0x251)]}),this[_0x52eb9d(0x24f)](_0x297081[_0x52eb9d(0x222)],_0x2ae1c4[_0x52eb9d(0x266)]);}async['handleTaskStatusUpdateMessage'](_0x4fbfd3,_0x14d24f){const _0x939136=_0xb8e3f9;if(!_0x4fbfd3[_0x939136(0x1f8)]){this[_0x939136(0x2a5)](_0x4fbfd3[_0x939136(0x222)],_0x939136(0x28c),_0x14d24f[_0x939136(0x266)]);return;}const _0x466cd7=this[_0x939136(0x205)][_0x939136(0x2c5)](_0x14d24f[_0x939136(0x2db)]);if(!_0x466cd7){this[_0x939136(0x2a5)](_0x4fbfd3['peer'],'task\x20not\x20found',_0x14d24f[_0x939136(0x266)]);return;}if(_0x466cd7[_0x939136(0x1b1)]!==_0x4fbfd3[_0x939136(0x1f8)]){this[_0x939136(0x2a5)](_0x4fbfd3[_0x939136(0x222)],_0x939136(0x2d0),_0x14d24f[_0x939136(0x266)]);return;}try{validateTaskStatusUpdate(_0x14d24f[_0x939136(0x224)],_0x466cd7['status']);const _0x376f4b=this[_0x939136(0x205)]['updateAvailability'](_0x14d24f[_0x939136(0x2db)],clone(_0x14d24f['status']),_0x14d24f['message']?clone(_0x14d24f[_0x939136(0x1cb)]):void 0x0);await this['emitTaskUpdate']({'type':_0x939136(0x279),'task':_0x376f4b,'status':_0x376f4b['status'],'message':_0x14d24f[_0x939136(0x1cb)]?clone(_0x14d24f['message']):void 0x0}),this[_0x939136(0x24f)](_0x4fbfd3[_0x939136(0x222)],_0x14d24f[_0x939136(0x266)]);}catch(_0x296b27){this[_0x939136(0x2a5)](_0x4fbfd3[_0x939136(0x222)],_0x296b27 instanceof Error?_0x296b27[_0x939136(0x1cb)]:_0x939136(0x1fb),_0x14d24f['requestId']);}}async[_0xb8e3f9(0x1f9)](_0x342a98,_0x4963ae){const _0x22a36c=_0xb8e3f9;if(!_0x342a98[_0x22a36c(0x1f8)]){this[_0x22a36c(0x2a5)](_0x342a98[_0x22a36c(0x222)],_0x22a36c(0x28c),_0x4963ae[_0x22a36c(0x266)]);return;}const _0x456334=this['taskStore'][_0x22a36c(0x2c5)](_0x4963ae[_0x22a36c(0x2db)]);if(!_0x456334){this[_0x22a36c(0x2a5)](_0x342a98[_0x22a36c(0x222)],'task\x20not\x20found',_0x4963ae[_0x22a36c(0x266)]);return;}if(_0x456334['assigneeWorkerKey']!==_0x342a98[_0x22a36c(0x1f8)]){this[_0x22a36c(0x2a5)](_0x342a98[_0x22a36c(0x222)],_0x22a36c(0x2d0),_0x4963ae['requestId']);return;}try{validateArtifact(_0x4963ae[_0x22a36c(0x1ec)]);const _0x1ec94e=this[_0x22a36c(0x205)][_0x22a36c(0x22f)](_0x4963ae['taskId'],_0x4963ae[_0x22a36c(0x1ec)]);await this['emitTaskUpdate']({'type':_0x22a36c(0x1ff),'task':_0x1ec94e,'artifact':clone(_0x4963ae[_0x22a36c(0x1ec)])}),this[_0x22a36c(0x24f)](_0x342a98[_0x22a36c(0x222)],_0x4963ae[_0x22a36c(0x266)]);}catch(_0x3c2c14){this[_0x22a36c(0x2a5)](_0x342a98['peer'],_0x3c2c14 instanceof Error?_0x3c2c14['message']:_0x22a36c(0x232),_0x4963ae['requestId']);}}async[_0xb8e3f9(0x1ac)](_0x4ead71,_0x2cf2c7){const _0x24cf8b=_0xb8e3f9,_0x5e07d4=this['requireManagerContext'](_0x4ead71,_0x2cf2c7[_0x24cf8b(0x266)]);if(!_0x5e07d4)return;if(!this[_0x24cf8b(0x260)]){this['sendError'](_0x4ead71[_0x24cf8b(0x222)],_0x24cf8b(0x1b8),_0x2cf2c7['requestId']);return;}try{const _0x6831c3=await this['managerControlPlane'][_0x24cf8b(0x2e6)]({'name':_0x2cf2c7[_0x24cf8b(0x267)],'args':cloneIfDefined(_0x2cf2c7[_0x24cf8b(0x21c)])},_0x5e07d4);this[_0x24cf8b(0x1bb)](_0x4ead71['peer'],_0x2cf2c7['requestId'],cloneIfDefined(_0x6831c3));}catch(_0x519728){this['sendError'](_0x4ead71[_0x24cf8b(0x222)],_0x519728 instanceof Error?_0x519728[_0x24cf8b(0x1cb)]:'manager\x20command\x20failed',_0x2cf2c7[_0x24cf8b(0x266)]);}}async['handleManagerSubscribeMessage'](_0x35425b,_0x4207b7){const _0x574cf0=_0xb8e3f9,_0x4e20e8=this[_0x574cf0(0x2c8)](_0x35425b,_0x4207b7['requestId']);if(!_0x4e20e8)return;if(!this[_0x574cf0(0x260)]?.['subscribe']){this[_0x574cf0(0x2a5)](_0x35425b[_0x574cf0(0x222)],_0x574cf0(0x207),_0x4207b7['requestId']);return;}await this[_0x574cf0(0x1a0)](_0x35425b,_0x4207b7[_0x574cf0(0x219)]);const _0x2f439e=await this[_0x574cf0(0x260)]['subscribe'](_0x4207b7['eventName'],async _0x2c77be=>{const _0x2cc804=_0x574cf0;if(!this[_0x2cc804(0x2ec)][_0x2cc804(0x2ab)](_0x35425b['peer']['id'])||!_0x35425b['identityKey'])return;this[_0x2cc804(0x29d)](_0x35425b[_0x2cc804(0x222)],{'eventName':_0x2c77be['eventName'],'payload':cloneIfDefined(_0x2c77be[_0x2cc804(0x26f)])});},_0x4e20e8);_0x35425b[_0x574cf0(0x1fe)][_0x574cf0(0x2eb)](_0x4207b7[_0x574cf0(0x219)],_0x2f439e),this[_0x574cf0(0x24f)](_0x35425b[_0x574cf0(0x222)],_0x4207b7[_0x574cf0(0x266)]);}async[_0xb8e3f9(0x2f8)](_0x530824,_0x10d679){const _0x34a43b=_0xb8e3f9,_0x20c5be=this[_0x34a43b(0x2c8)](_0x530824,_0x10d679[_0x34a43b(0x266)]);if(!_0x20c5be)return;await this[_0x34a43b(0x1a0)](_0x530824,_0x10d679['eventName']),this[_0x34a43b(0x24f)](_0x530824['peer'],_0x10d679[_0x34a43b(0x266)]);}async[_0xb8e3f9(0x306)](_0x2f133a,_0x36374b){const _0x4aac40=_0xb8e3f9,_0x269a1a=this[_0x4aac40(0x2ec)][_0x4aac40(0x2c5)](_0x2f133a['id']);if(!_0x269a1a)return;_0x269a1a[_0x4aac40(0x21a)]&&clearTimeout(_0x269a1a['loginTimer']);await this[_0x4aac40(0x20f)](_0x269a1a),this[_0x4aac40(0x2ec)][_0x4aac40(0x2d2)](_0x2f133a['id']),await this[_0x4aac40(0x27e)](_0x269a1a,_0x36374b);if(!_0x269a1a[_0x4aac40(0x1f8)])return;if(this['identityToPeerId']['get'](_0x269a1a[_0x4aac40(0x1f8)])!==_0x2f133a['id'])return;const _0x26eaf3=this[_0x4aac40(0x285)]['markDisconnected'](_0x269a1a['identityKey'],_0x36374b,Date[_0x4aac40(0x1a1)]());this[_0x4aac40(0x236)][_0x4aac40(0x2d2)](_0x269a1a[_0x4aac40(0x1f8)]),_0x26eaf3&&await this[_0x4aac40(0x233)]({'type':'disconnect','worker':this[_0x4aac40(0x1cf)](_0x26eaf3[_0x4aac40(0x2de)]),'cause':_0x36374b});}async[_0xb8e3f9(0x2a8)](_0x18dddb,_0x2466d7){const _0x5d9e42=_0xb8e3f9;this[_0x5d9e42(0x2ec)][_0x5d9e42(0x2d2)](_0x18dddb[_0x5d9e42(0x222)]['id']);_0x18dddb[_0x5d9e42(0x21a)]&&clearTimeout(_0x18dddb[_0x5d9e42(0x21a)]);await this[_0x5d9e42(0x20f)](_0x18dddb),await this[_0x5d9e42(0x27e)](_0x18dddb,_0x2466d7);if(_0x18dddb[_0x5d9e42(0x1f8)]){const _0x442b8c=this[_0x5d9e42(0x285)][_0x5d9e42(0x2b0)](_0x18dddb[_0x5d9e42(0x1f8)],_0x2466d7,Date[_0x5d9e42(0x1a1)]());this['identityToPeerId'][_0x5d9e42(0x2d2)](_0x18dddb['identityKey']),_0x18dddb[_0x5d9e42(0x1f8)]=void 0x0,_0x442b8c&&await this[_0x5d9e42(0x233)]({'type':_0x5d9e42(0x1b3),'worker':this[_0x5d9e42(0x1cf)](_0x442b8c[_0x5d9e42(0x2de)]),'cause':_0x2466d7});}try{_0x18dddb[_0x5d9e42(0x222)][_0x5d9e42(0x1d4)](0xfa2,_0x5d9e42(0x23d));}catch{_0x18dddb['peer']['terminate']();}}[_0xb8e3f9(0x2b6)](){const _0x23807a=_0xb8e3f9;this[_0x23807a(0x1c2)]=setInterval(()=>{const _0x4be33a=_0x23807a,_0x57f22e=Date[_0x4be33a(0x1a1)]();void this[_0x4be33a(0x26c)](_0x57f22e);},this['config']['heartbeatIntervalMs']);}async['runHeartbeatSweep'](_0x53bb8f){const _0x5f56c6=_0xb8e3f9;for(const _0x5e68f8 of this[_0x5f56c6(0x2ec)][_0x5f56c6(0x24e)]()){if(!_0x5e68f8[_0x5f56c6(0x1f8)])continue;const _0x3adb8f=this[_0x5f56c6(0x285)]['get'](_0x5e68f8[_0x5f56c6(0x1f8)]);if(!_0x3adb8f)continue;if(_0x53bb8f-_0x3adb8f[_0x5f56c6(0x2de)][_0x5f56c6(0x213)]>this['config'][_0x5f56c6(0x300)]){await this[_0x5f56c6(0x2a8)](_0x5e68f8,_0x5f56c6(0x2bf));continue;}_0x5e68f8[_0x5f56c6(0x222)][_0x5f56c6(0x254)](stringifyServerMessage({'type':_0x5f56c6(0x256),'sentAt':_0x53bb8f}));}}[_0xb8e3f9(0x2c3)](_0x54b087){const _0x154a2d=_0xb8e3f9,_0x24fe7d=_0x54b087[_0x154a2d(0x272)]('http')?new URL(_0x54b087)[_0x154a2d(0x299)]:new URL(_0x54b087,'http://localhost')['pathname'];return _0x24fe7d===this['config'][_0x154a2d(0x1b6)];}[_0xb8e3f9(0x24f)](_0x48b432,_0x3ff50b){const _0x80f6a2=_0xb8e3f9,_0x1586c6={'type':_0x80f6a2(0x223),'requestId':_0x3ff50b};_0x48b432[_0x80f6a2(0x254)](stringifyServerMessage(_0x1586c6));}[_0xb8e3f9(0x2f9)](_0x528dd7,_0xd0ce18,_0x232550,_0x3267c1){const _0x1b3c7a=_0xb8e3f9,_0x420008={'type':'login-pending','requestId':_0xd0ce18,'authorizationId':_0x232550,'reason':_0x3267c1};_0x528dd7[_0x1b3c7a(0x254)](stringifyServerMessage(_0x420008));}[_0xb8e3f9(0x29b)](_0x50d6a9,_0x71bc4a,_0x225163){const _0x54a522=_0xb8e3f9,_0x5af76e={'type':'login-approved','requestId':_0x71bc4a,'loginToken':_0x225163};_0x50d6a9[_0x54a522(0x254)](stringifyServerMessage(_0x5af76e));}[_0xb8e3f9(0x215)](_0xc2e43,_0x4f631c,_0x5b093c){const _0x198fb6=_0xb8e3f9,_0x1f37ab={'type':'login-rejected','requestId':_0x4f631c,'message':_0x5b093c};_0xc2e43[_0x198fb6(0x254)](stringifyServerMessage(_0x1f37ab));}['sendError'](_0x9c77e7,_0x37f858,_0x30c23f){const _0x2e0e07=_0xb8e3f9,_0x163b65={'type':_0x2e0e07(0x1eb),'message':_0x37f858,'requestId':_0x30c23f};_0x9c77e7[_0x2e0e07(0x254)](stringifyServerMessage(_0x163b65));}[_0xb8e3f9(0x1fa)](_0xaea754,_0x4184a0,_0x53159b){const _0x25b922=_0xb8e3f9,_0x5ef7cc=this[_0x25b922(0x236)]['get'](_0xaea754);if(!_0x5ef7cc)return;const _0x247bb0=this[_0x25b922(0x2ec)][_0x25b922(0x2c5)](_0x5ef7cc);if(!_0x247bb0)return;const _0xb52d2a={'type':'SendMessage','task':clone(_0x4184a0),'message':clone(_0x53159b)};_0x247bb0[_0x25b922(0x222)][_0x25b922(0x254)](stringifyServerMessage(_0xb52d2a));}[_0xb8e3f9(0x2b1)](_0xb51322,_0x5a55f3){const _0x36684e=_0xb8e3f9,_0x1bc004=this['identityToPeerId'][_0x36684e(0x2c5)](_0xb51322);if(!_0x1bc004)return;const _0xf9c096=this['connections']['get'](_0x1bc004);if(!_0xf9c096)return;_0xf9c096[_0x36684e(0x222)]['send'](stringifyServerMessage({'type':_0x36684e(0x1c7),'taskId':_0x5a55f3}));}['replayActiveTasks'](_0xc2e662){const _0x1d383e=_0xb8e3f9,_0x20dd11=this[_0x1d383e(0x205)][_0x1d383e(0x275)](_0xc2e662);for(const _0xdaa053 of _0x20dd11){const _0x142d2b=this['taskStore'][_0x1d383e(0x1ee)](_0xdaa053['id']);if(!_0x142d2b)continue;this[_0x1d383e(0x1fa)](_0xc2e662,_0xdaa053,_0x142d2b);}}[_0xb8e3f9(0x2c8)](_0x2731f3,_0x4c7b5b){const _0x1cb6e0=_0xb8e3f9;if(!_0x2731f3[_0x1cb6e0(0x1f8)])return this['sendError'](_0x2731f3[_0x1cb6e0(0x222)],_0x1cb6e0(0x28c),_0x4c7b5b),null;const _0x2a5972=this[_0x1cb6e0(0x285)][_0x1cb6e0(0x2c5)](_0x2731f3['identityKey'])?.[_0x1cb6e0(0x2de)];if(!_0x2a5972)return this['sendError'](_0x2731f3[_0x1cb6e0(0x222)],_0x1cb6e0(0x2ea),_0x4c7b5b),null;const _0x5d8516=this['deriveWorkerSnapshot'](_0x2a5972);if(_0x5d8516[_0x1cb6e0(0x287)]!=='manager')return this[_0x1cb6e0(0x2a5)](_0x2731f3[_0x1cb6e0(0x222)],'manager\x20commands\x20require\x20manager\x20role',_0x4c7b5b),null;return{'worker':_0x5d8516};}async[_0xb8e3f9(0x20f)](_0x5b1d92){const _0x72dd57=_0xb8e3f9,_0x6341e1=[..._0x5b1d92['managerSubscriptions']['entries']()];_0x5b1d92[_0x72dd57(0x1fe)][_0x72dd57(0x2a7)]();for(const [,_0x9bc715]of _0x6341e1){typeof _0x9bc715==='function'&&await _0x9bc715();}}async[_0xb8e3f9(0x1a0)](_0x2d33ab,_0x3a54cc){const _0x5b8e14=_0xb8e3f9,_0x22f361=_0x2d33ab['managerSubscriptions'][_0x5b8e14(0x2c5)](_0x3a54cc);_0x2d33ab[_0x5b8e14(0x1fe)]['delete'](_0x3a54cc),typeof _0x22f361===_0x5b8e14(0x2b7)&&await _0x22f361();}[_0xb8e3f9(0x1bb)](_0x2be23f,_0x4dd0aa,_0x46c649){const _0x126e03=_0xb8e3f9,_0x2ee69c={'type':_0x126e03(0x295),'requestId':_0x4dd0aa,'result':_0x46c649};_0x2be23f[_0x126e03(0x254)](stringifyServerMessage(_0x2ee69c));}[_0xb8e3f9(0x29d)](_0x54131f,_0x5d0a0d){const _0x4bf8d0=_0xb8e3f9,_0xca37fd={'type':'manager-event','eventName':_0x5d0a0d[_0x4bf8d0(0x219)],'payload':_0x5d0a0d[_0x4bf8d0(0x26f)]};_0x54131f[_0x4bf8d0(0x254)](stringifyServerMessage(_0xca37fd));}[_0xb8e3f9(0x1cf)](_0x4fba2b){const _0x19215c=_0xb8e3f9,_0x1f4549=createWorkerIdentityKey(_0x4fba2b[_0x19215c(0x258)],_0x4fba2b[_0x19215c(0x2fb)]),_0x1d7705=this['taskStore'][_0x19215c(0x1c4)](_0x1f4549)[_0x19215c(0x21f)],_0x558bda=_0x1d7705>0x0?_0x19215c(0x27d):_0x19215c(0x2a6);return{..._0x4fba2b,'activityState':_0x558bda,'activeTaskCount':_0x1d7705};}async[_0xb8e3f9(0x233)](_0x4c1ff6){const _0x399aeb=_0xb8e3f9;for(const _0x5087e2 of this[_0x399aeb(0x203)]){try{await _0x5087e2({..._0x4c1ff6,'worker':cloneWorkerSnapshot(_0x4c1ff6[_0x399aeb(0x1e6)])});}catch{}}}async[_0xb8e3f9(0x290)](_0x2edd83){const _0x4eff2c=_0xb8e3f9;for(const _0x2a4b63 of this[_0x4eff2c(0x235)]){try{_0x2edd83[_0x4eff2c(0x210)]===_0x4eff2c(0x2f6)?await _0x2a4b63({'type':'required','authorization':clonePendingAuthorization(_0x2edd83[_0x4eff2c(0x262)])}):await _0x2a4b63({'type':_0x4eff2c(0x247),'authorization':clonePendingAuthorization(_0x2edd83[_0x4eff2c(0x262)]),'cause':_0x2edd83['cause']});}catch{}}}async[_0xb8e3f9(0x2ad)](_0x4c020d){const _0x3c0ccf=_0xb8e3f9;for(const _0x54f28 of this[_0x3c0ccf(0x19f)]){try{_0x4c020d[_0x3c0ccf(0x210)]===_0x3c0ccf(0x279)?await _0x54f28({'type':_0x3c0ccf(0x279),'task':clone(_0x4c020d['task']),'status':clone(_0x4c020d[_0x3c0ccf(0x224)]),'message':_0x4c020d[_0x3c0ccf(0x1cb)]?clone(_0x4c020d[_0x3c0ccf(0x1cb)]):void 0x0}):await _0x54f28({'type':'task-artifact-update','task':clone(_0x4c020d[_0x3c0ccf(0x208)]),'artifact':clone(_0x4c020d['artifact'])});}catch{}}}};function cloneWorkerSnapshot(_0x2d60f){return{..._0x2d60f};}function clonePendingAuthorization(_0x1e958e){return{..._0x1e958e};}function cloneIfDefined(_0x3ea56c){return _0x3ea56c===void 0x0?_0x3ea56c:clone(_0x3ea56c);}function resolveLoginAuthorizationConfig(_0x332e28){const _0x45f670=_0xb8e3f9;if(_0x332e28===![])return![];if(!_0x332e28||typeof _0x332e28[_0x45f670(0x1e0)]!==_0x45f670(0x293)||_0x332e28[_0x45f670(0x1e0)][_0x45f670(0x214)]()[_0x45f670(0x21f)]===0x0)throw new Error(_0x45f670(0x2b5));return{'mode':_0x45f670(0x274),'signingSecret':_0x332e28[_0x45f670(0x1e0)][_0x45f670(0x214)]()};}function validateLoginPayload(_0x5ab79e){const _0x39b573=_0xb8e3f9;if(!_0x5ab79e||typeof _0x5ab79e!==_0x39b573(0x2d4))return _0x39b573(0x25b);if(typeof _0x5ab79e[_0x39b573(0x258)]!=='string'||_0x5ab79e[_0x39b573(0x258)]['trim']()[_0x39b573(0x21f)]===0x0)return _0x39b573(0x19c);if(typeof _0x5ab79e[_0x39b573(0x2fb)]!==_0x39b573(0x293)||_0x5ab79e['email']['trim']()['length']===0x0)return _0x39b573(0x1d8);if(_0x5ab79e[_0x39b573(0x287)]!==_0x39b573(0x2d7)&&_0x5ab79e['role']!=='coder'&&_0x5ab79e[_0x39b573(0x287)]!==_0x39b573(0x269)&&_0x5ab79e[_0x39b573(0x287)]!==_0x39b573(0x20a))return'role\x20is\x20invalid';if(_0x5ab79e[_0x39b573(0x2cf)]!==void 0x0&&_0x5ab79e[_0x39b573(0x2cf)]!==_0x39b573(0x228)&&_0x5ab79e[_0x39b573(0x2cf)]!==_0x39b573(0x2f7)&&_0x5ab79e[_0x39b573(0x2cf)]!==_0x39b573(0x206))return'initialAvailability\x20is\x20invalid';if(typeof _0x5ab79e['capabilitySummary']!==_0x39b573(0x293)||_0x5ab79e[_0x39b573(0x270)]['trim']()[_0x39b573(0x21f)]===0x0)return'capabilitySummary\x20is\x20required';return null;}function _0x25c7(_0xfd1b97,_0x373335){_0xfd1b97=_0xfd1b97-0x19b;const _0x290e46=_0x290e();let _0x25c7e7=_0x290e46[_0xfd1b97];return _0x25c7e7;}function validateSendMessageParams(_0x3f76db){const _0xa2255b=_0xb8e3f9;if(!_0x3f76db[_0xa2255b(0x1e6)][_0xa2255b(0x258)][_0xa2255b(0x214)]())throw new Error(_0xa2255b(0x1ea));if(!_0x3f76db[_0xa2255b(0x1e6)][_0xa2255b(0x2fb)]['trim']())throw new Error(_0xa2255b(0x2ed));validateParts(_0x3f76db['parts']);}function validateTaskStatusUpdate(_0x1575f3,_0x27113c){const _0x49fd59=_0xb8e3f9,_0x335200=[_0x49fd59(0x1a7),_0x49fd59(0x1dd),_0x49fd59(0x29f),_0x49fd59(0x1d9),_0x49fd59(0x26d),_0x49fd59(0x247),_0x49fd59(0x1fd)];if(!_0x335200[_0x49fd59(0x234)](_0x1575f3['state']))throw new Error(_0x49fd59(0x2e8));if(isTerminalTaskState(_0x27113c[_0x49fd59(0x1c9)]))throw new Error(_0x49fd59(0x2c7));}function validateArtifact(_0x270de7){const _0x1258f1=_0xb8e3f9;if(!_0x270de7[_0x1258f1(0x267)][_0x1258f1(0x214)]())throw new Error(_0x1258f1(0x1d1));validateParts(_0x270de7['parts']);}function validateParts(_0x2ace55){const _0x5c33fc=_0xb8e3f9;if(!Array[_0x5c33fc(0x240)](_0x2ace55)||_0x2ace55[_0x5c33fc(0x21f)]===0x0)throw new Error(_0x5c33fc(0x2ac));for(const _0x295df2 of _0x2ace55){if(_0x295df2['type']===_0x5c33fc(0x248)&&_0x295df2['text']['trim']()[_0x5c33fc(0x21f)]===0x0)throw new Error(_0x5c33fc(0x277));if(_0x295df2['type']===_0x5c33fc(0x291)&&_0x295df2[_0x5c33fc(0x220)][_0x5c33fc(0x214)]()[_0x5c33fc(0x21f)]===0x0)throw new Error(_0x5c33fc(0x278));}}0x0&&(module[_0xb8e3f9(0x2aa)]={'WorkerClientSDK':WorkerClientSDK,'WorkerServerSDK':WorkerServerSDK,'isTerminalTaskState':isTerminalTaskState,'issueLoginToken':issueLoginToken,'resolveDefaultWorkerCredentialFile':resolveDefaultWorkerCredentialFile,'splitWorkerKey':splitWorkerKey,'verifyLoginToken':verifyLoginToken});
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x98b479=_0x4d6b;(function(_0x18dc43,_0x43e1ca){const _0x48a85e=_0x4d6b,_0x439788=_0x18dc43();while(!![]){try{const _0x53ab1e=parseInt(_0x48a85e(0x23f))/0x1*(parseInt(_0x48a85e(0x2ee))/0x2)+-parseInt(_0x48a85e(0x31b))/0x3*(parseInt(_0x48a85e(0x21f))/0x4)+parseInt(_0x48a85e(0x287))/0x5+-parseInt(_0x48a85e(0x1df))/0x6*(-parseInt(_0x48a85e(0x1d3))/0x7)+parseInt(_0x48a85e(0x25d))/0x8+-parseInt(_0x48a85e(0x2fe))/0x9*(parseInt(_0x48a85e(0x314))/0xa)+-parseInt(_0x48a85e(0x2d6))/0xb*(parseInt(_0x48a85e(0x1d8))/0xc);if(_0x53ab1e===_0x43e1ca)break;else _0x439788['push'](_0x439788['shift']());}catch(_0x1b0735){_0x439788['push'](_0x439788['shift']());}}}(_0x532d,0x5b246));import{createHash}from'crypto';import{chmod,mkdir,readFile,rename,rm,writeFile}from'fs/promises';import{homedir}from'os';import{dirname,join}from'path';function _0x4d6b(_0x564012,_0x25e3ef){_0x564012=_0x564012-0x1bb;const _0x532d85=_0x532d();let _0x4d6b5e=_0x532d85[_0x564012];return _0x4d6b5e;}import _0x25b6f6 from'process';function resolveDefaultWorkerCredentialFile(_0x1bece7,_0x456708,_0x2115ae,_0x1ed9ad=homedir()){const _0x2ff9a3=_0x4d6b,_0x355064=createHash(_0x2ff9a3(0x2fd))['update'](_0x1bece7+'::'+_0x456708+'::'+_0x2115ae)[_0x2ff9a3(0x2ca)](_0x2ff9a3(0x281));return join(_0x1ed9ad,_0x2ff9a3(0x298),_0x2ff9a3(0x2e8),_0x355064+_0x2ff9a3(0x316));}async function readWorkerCredential(_0xc69e89){const _0x5810f2=_0x4d6b;try{const _0x5e9692=await readFile(_0xc69e89,_0x5810f2(0x25f)),_0x188d4f=JSON[_0x5810f2(0x248)](_0x5e9692);if(typeof _0x188d4f[_0x5810f2(0x225)]!=='string'||_0x188d4f['loginToken'][_0x5810f2(0x2fa)]===0x0)return void 0x0;return _0x188d4f;}catch(_0x51b92e){if(_0x51b92e?.[_0x5810f2(0x205)]==='ENOENT')return void 0x0;throw _0x51b92e;}}async function writeWorkerCredential(_0x8a2862,_0x37c948){const _0x561c79=_0x4d6b;await mkdir(dirname(_0x8a2862),{'recursive':!![]});const _0x19fa5c=_0x8a2862+'.'+_0x25b6f6[_0x561c79(0x2aa)]+'.'+Date[_0x561c79(0x29a)]()+_0x561c79(0x1de),_0x4a0a00=JSON[_0x561c79(0x300)]({..._0x37c948,'updatedAt':Date[_0x561c79(0x29a)]()});await writeFile(_0x19fa5c,_0x4a0a00,{'encoding':_0x561c79(0x25f),'mode':0x180}),await rename(_0x19fa5c,_0x8a2862),await chmod(_0x8a2862,0x180);}async function deleteWorkerCredential(_0x863208){const _0x1ae9ec=_0x4d6b;try{await rm(_0x863208,{'force':!![]});}catch(_0x4cddae){if(_0x4cddae?.[_0x1ae9ec(0x205)]===_0x1ae9ec(0x237))return;throw _0x4cddae;}}function parseClientMessage(_0x5e73ae){const _0x40fe51=_0x4d6b;try{const _0x23b349=JSON[_0x40fe51(0x248)](_0x5e73ae);if(!_0x23b349||typeof _0x23b349!=='object'||typeof _0x23b349['type']!=='string')return null;switch(_0x23b349['type']){case _0x40fe51(0x2f6):case _0x40fe51(0x2e3):case _0x40fe51(0x27c):case _0x40fe51(0x249):case'heartbeat-ack':case _0x40fe51(0x29f):case _0x40fe51(0x310):case'manager-unsubscribe':case _0x40fe51(0x255):case _0x40fe51(0x20b):return _0x23b349;default:return null;}}catch{return null;}}function stringifyServerMessage(_0x5b2ab0){const _0x4561b7=_0x4d6b;return JSON[_0x4561b7(0x300)](_0x5b2ab0);}function stringifyClientMessage(_0x4734b6){const _0x547d73=_0x4d6b;return JSON[_0x547d73(0x300)](_0x4734b6);}function _0x532d(){const _0x53d81e=['cancelTask','issuedAt','onMessage','emitLoginAuthorizationEvent','kind','history','isArray','offWorkerEvent','reconnect','handleManagerUnsubscribeMessage','reportException','persistLoginToken','filter','text\x20part\x20must\x20not\x20be\x20empty','get','reason\x20is\x20required','code','peerId','crossws/adapters/node','task\x20artifact\x20update\x20failed','map','lastLoginPayload','TaskArtifactUpdate','manager\x20token\x20is\x20invalid','heartbeat-timeout','sendManagerCommandResult','email\x20is\x20required','task-status-update','peer','failed','heartbeatTimer','connectPromise','role\x20is\x20invalid','credentialStore','seedTasks','listTasks','manager\x20commands\x20require\x20manager\x20role','handleTaskCancel','stop','/workers','login\x20rejection\x20reason\x20is\x20required','type','1112932CIhEan','sendManagerEvent','base64url','lastAvailabilityUpdatedAt','manager\x20token\x20is\x20not\x20configured','coder','loginToken','worker.workerId\x20is\x20required','handleLoginMessage','cause','status','contextId','deriveWorkerSnapshot','push','createOrContinue','snapshot','manager\x20control\x20plane\x20is\x20not\x20configured','nodeServer','email','file-ref\x20part\x20uri\x20is\x20required','clearPendingAuthorization','destroy','active','invalid\x20message','ENOENT','open','manager-command-result','handleManagerSubscribeMessage','pathname','session\x20replaced\x20by\x20a\x20new\x20login','manager\x20command\x20failed','connection\x20closed','53458HIXBxU','heartbeatIntervalMs','closeAll','requestId','records','needsRestoreOnOpen','user','randomUUID','uri','parse','report-exception','toString','name','self-reported','listenWithNode','catch','managerToken','manualClose','function','seed:','initialTasks','signingSecret','TaskStatusUpdate','login-pending','scheduleReconnect','registerLogin','getTask','identityToPeerId','historyLength','startHeartbeatLoop','3917480GLRkRx','handleUpdateAvailabilityMessage','utf8','string','ensureSocketOpen','loginTimer','eventName','upgrade','http','onCancel','available','terminate','workerId','restoreSessionIfNeeded','OPEN','file','getLatestActionableMessage','required','manager-event','verifier','list','sendRequest','listAbnormal','assigneeWorkerKey','exception','working','cancelHandlers','artifactId','env','values','error','update-availability','clearManagerSubscriptions','set','createPendingAuthorization','seedSnapshots','hex','description','availability-change','listActiveByWorker','managerControlPlane','sendError','2905545ZaJgvJ','session\x20replaced','task-artifact-update','pendingAuthorizationId','registry','state','abnormalReason','environment-operator','requireManagerContext','connectionState','ack','shouldStayConnected','MEEGO_HARNESS_WORKER_MANAGER_TOKEN','some','completed','WorkerServerSDK\x20is\x20already\x20listening','forceDisconnect','.meego-harness','emitWorkerEvent','now','agent','buildArtifact','manager','includes','manager-command','reconnectDelayMs','completeLogin','heartbeat-ack','idle','authorizationId','login\x20authorization\x20not\x20found','taskUpdateHandlers','eventHandlers','object','reconnectMaxDelayMs','pid','listReplayableByWorker','task\x20is\x20already\x20terminal','runHeartbeatSweep','getBySessionId','socket-closed','rejectPendingRequests','dispatchTaskMessage','reject','disposeManagerSubscription','pendingRequests','parts','manager\x20is\x20already\x20connected','data','sessionId','abnormal','authorization','createHooks','text','matchesPath','message','sendTaskStatusUpdate','connected','disconnect','loginTimeoutMs','add','cancelPendingAuthorization','file-ref','queryWorkers','clearLoginToken','task\x20not\x20found','login\x20payload\x20is\x20required','digest','WebSocket\x20connection\x20failed','has','replayActiveTasks','sendHeartbeatAck','loginAuthorization','invalid-token','default','once','canceled','metadata','loginAuthorizationHandlers','322047fuvpoY','cloneRecord','isFinite','reconnectTimer','createTaskController','initialAvailability\x20is\x20invalid','sendLoginPending','handleUpgrade','managerSubscriptions','server-stopping','SendMessage','messageId','reported\x20as\x20abnormal\x20during\x20login','logout','artifact','handleSocketClose','session-replaced','heartbeatTimeoutMs','worker-client-credentials','readStoredLoginToken','server\x20stopping','trim','sendAck','readyState','26afxUaT','rejectLoginAuthorization','pendingAuthorizations','task','number','delete','remove','worker','login','sendLoginRejected','connections','messageHandlers','length','payload','activityState','sha256','10629iaDeyI','missing-token','stringify','workerId\x20is\x20required','touch','role','task\x20assignee\x20does\x20not\x20match\x20worker','task\x20status\x20update\x20failed','login\x20required','initialAvailability','nodeAdapter','handleSocketOpen','connect','handleTaskArtifactUpdateMessage','abnormalSource','updateAvailability','reason','resolveCredentialFile','manager-subscribe','latestLoginToken','args','manager\x20subscriptions\x20are\x20not\x20configured','2540BUBMEo','lastSeenAt','.json','clear','markDisconnected','CLOSING','resolve','6MIbPvC','worker\x20is\x20not\x20logged\x20in','handleSocketMessage','socket','slice','heartbeat','serverUrl','reconnectBaseDelayMs','worker\x20session\x20not\x20found','buildAgentMessage','taskStore','path','addEventListener','task\x20status\x20state\x20is\x20invalid','update','onPending','rejected','busy','send','CancelTask','subscribe','query','artifacts','http://localhost','worker.email\x20is\x20required','7xfVzwb','sendLoginApproved','onLoginAuthorization','end','handleManagerCommandMessage','372MtknNg','capabilitySummary','handleIncomingMessage','mimeType','disconnected','config','.tmp','2229582FUKChk','capabilitySummary\x20is\x20required','buildLoginPayload','handleReportExceptionMessage','identityKey','availability','listen','from','127.0.0.1','parts\x20must\x20contain\x20at\x20least\x20one\x20entry','tasks','input-required','taskId','isLoggedIn','submitted','emitTaskUpdate','validateManagerLogin','cancel','handleLogoutMessage','executeCommand','explicitState','close'];_0x532d=function(){return _0x53d81e;};return _0x532d();}var DEFAULT_CONFIG={'reconnect':!![],'reconnectBaseDelayMs':0xc8,'reconnectMaxDelayMs':0x1388,'credentialStore':{}},WorkerClientSDK=class{[_0x98b479(0x1dd)];['messageHandlers']=new Set();[_0x98b479(0x277)]=new Set();[_0x98b479(0x1bd)]=null;[_0x98b479(0x214)]=null;['pendingRequests']=new Map();[_0x98b479(0x2d9)];[_0x98b479(0x2a0)];[_0x98b479(0x292)]=![];[_0x98b479(0x250)]=![];[_0x98b479(0x244)]=![];[_0x98b479(0x1ec)]=![];[_0x98b479(0x20a)];[_0x98b479(0x1f3)];['latestLoginToken'];constructor(_0x26725f){const _0x58344b=_0x98b479;this[_0x58344b(0x1dd)]={...DEFAULT_CONFIG,..._0x26725f,'WebSocketCtor':_0x26725f['WebSocketCtor']??WebSocket},this[_0x58344b(0x2a0)]=this[_0x58344b(0x1dd)][_0x58344b(0x1c1)];}async['connect'](){const _0x466ee9=_0x98b479;this[_0x466ee9(0x292)]=!![];if(this['socket']&&this[_0x466ee9(0x1bd)][_0x466ee9(0x2ed)]===WebSocket[_0x466ee9(0x26b)])return this;if(this[_0x466ee9(0x214)])return this[_0x466ee9(0x214)];return this[_0x466ee9(0x250)]=![],this[_0x466ee9(0x214)]=new Promise((_0xebd912,_0x5b8188)=>{const _0x524796=_0x466ee9,_0x503b4e=new this['config']['WebSocketCtor'](this[_0x524796(0x1dd)]['serverUrl']);this[_0x524796(0x1bd)]=_0x503b4e,_0x503b4e['addEventListener'](_0x524796(0x238),()=>{const _0x37c16f=_0x524796;this[_0x37c16f(0x2a0)]=this[_0x37c16f(0x1dd)]['reconnectBaseDelayMs'],this[_0x37c16f(0x214)]=null,void this[_0x37c16f(0x26a)](),_0xebd912(this);}),_0x503b4e[_0x524796(0x1c6)](_0x524796(0x27b),()=>{const _0x491b34=_0x524796;_0x503b4e[_0x491b34(0x2ed)]!==WebSocket[_0x491b34(0x26b)]&&(this[_0x491b34(0x214)]=null,_0x5b8188(new Error(_0x491b34(0x2cb))));}),_0x503b4e[_0x524796(0x1c6)]('message',_0x345eea=>{const _0x4c5a72=_0x524796;void this[_0x4c5a72(0x1da)](String(_0x345eea[_0x4c5a72(0x2b7)]));}),_0x503b4e[_0x524796(0x1c6)](_0x524796(0x1f4),()=>{const _0x1756d1=_0x524796;this[_0x1756d1(0x2e5)]();});}),this['connectPromise'];}async[_0x98b479(0x2c1)](){const _0x3a8cbd=_0x98b479;this[_0x3a8cbd(0x292)]=![],this['manualClose']=!![],this['reconnectTimer']&&(clearTimeout(this['reconnectTimer']),this[_0x3a8cbd(0x2d9)]=void 0x0),this[_0x3a8cbd(0x1ec)]&&await this[_0x3a8cbd(0x2e3)](),this[_0x3a8cbd(0x1bd)]&&this[_0x3a8cbd(0x1bd)]['readyState']<WebSocket['CLOSING']&&this[_0x3a8cbd(0x1bd)][_0x3a8cbd(0x1f4)](),this['socket']=null,this[_0x3a8cbd(0x2b0)](new Error('connection\x20closed'));}async['login'](_0x37c22e){const _0x5d040f=_0x98b479,_0x554b7e=await this[_0x5d040f(0x1e1)](_0x37c22e);let _0x557467;try{_0x557467=await this['sendRequest']({'type':'login','payload':_0x554b7e},{'kind':_0x5d040f(0x2f6),'onPending':async _0x17958d=>{const _0x2afc5c=_0x5d040f;_0x17958d[_0x2afc5c(0x30e)]===_0x2afc5c(0x2d0)&&await this[_0x2afc5c(0x2c7)](_0x37c22e);}});}catch(_0x27a2af){await this[_0x5d040f(0x2c7)](_0x37c22e);throw _0x27a2af;}_0x557467['loginToken']&&(this[_0x5d040f(0x311)]=_0x557467[_0x5d040f(0x225)],await this[_0x5d040f(0x200)](_0x37c22e,_0x557467['loginToken'])),this[_0x5d040f(0x20a)]={..._0x37c22e,'loginToken':void 0x0},this[_0x5d040f(0x1ec)]=!![],this[_0x5d040f(0x244)]=![],this['explicitState']=void 0x0;}async['logout'](){const _0x1ace16=_0x98b479;await this[_0x1ace16(0x272)]({'type':_0x1ace16(0x2e3)},{'kind':_0x1ace16(0x2d1)}),this[_0x1ace16(0x1ec)]=![],this[_0x1ace16(0x20a)]=void 0x0,this[_0x1ace16(0x1f3)]=void 0x0,this[_0x1ace16(0x244)]=![];}async[_0x98b479(0x30d)](_0x24c830){const _0x19a834=_0x98b479;await this[_0x19a834(0x272)]({'type':_0x19a834(0x27c),'availability':_0x24c830},{'kind':'default'}),this['explicitState']={'type':_0x19a834(0x1e4),'availability':_0x24c830};}async['reportException'](_0x1c9117){const _0x3d5afd=_0x98b479;if(_0x1c9117[_0x3d5afd(0x2eb)]()[_0x3d5afd(0x2fa)]===0x0)throw new Error(_0x3d5afd(0x204));await this[_0x3d5afd(0x272)]({'type':_0x3d5afd(0x249),'reason':_0x1c9117},{'kind':_0x3d5afd(0x2d1)}),this['explicitState']={'type':_0x3d5afd(0x275),'reason':_0x1c9117};}[_0x98b479(0x1f7)](_0x22e5fb){const _0x390c09=_0x98b479;return this[_0x390c09(0x2f9)][_0x390c09(0x2c3)](_0x22e5fb),this;}[_0x98b479(0x266)](_0x487a49){const _0x28ab44=_0x98b479;return this[_0x28ab44(0x277)][_0x28ab44(0x2c3)](_0x487a49),this;}['offCancel'](_0x502fed){const _0x37c017=_0x98b479;return this[_0x37c017(0x277)][_0x37c017(0x2f3)](_0x502fed),this;}async[_0x98b479(0x1da)](_0x2cca0c){const _0x207bbe=_0x98b479,_0xca4d18=JSON[_0x207bbe(0x248)](_0x2cca0c);switch(_0xca4d18['type']){case _0x207bbe(0x291):{const _0x5e7467=this['pendingRequests'][_0x207bbe(0x203)](_0xca4d18['requestId']);if(!_0x5e7467)return;this['pendingRequests'][_0x207bbe(0x2f3)](_0xca4d18[_0x207bbe(0x242)]),_0x5e7467[_0x207bbe(0x31a)]();return;}case _0x207bbe(0x256):{const _0x33aad4=this['pendingRequests']['get'](_0xca4d18[_0x207bbe(0x242)]);if(!_0x33aad4)return;await _0x33aad4['onPending']?.(_0xca4d18);return;}case'login-approved':{const _0x454972=this[_0x207bbe(0x2b4)][_0x207bbe(0x203)](_0xca4d18[_0x207bbe(0x242)]);if(!_0x454972)return;this['pendingRequests'][_0x207bbe(0x2f3)](_0xca4d18[_0x207bbe(0x242)]),_0x454972[_0x207bbe(0x31a)](_0xca4d18);return;}case'login-rejected':{const _0x424ef3=this[_0x207bbe(0x2b4)][_0x207bbe(0x203)](_0xca4d18[_0x207bbe(0x242)]);if(!_0x424ef3)return;this[_0x207bbe(0x2b4)][_0x207bbe(0x2f3)](_0xca4d18['requestId']),_0x424ef3[_0x207bbe(0x2b2)](new Error(_0xca4d18[_0x207bbe(0x2be)]));return;}case'error':{const _0x2a0eaa=_0xca4d18[_0x207bbe(0x242)]?this[_0x207bbe(0x2b4)][_0x207bbe(0x203)](_0xca4d18[_0x207bbe(0x242)]):void 0x0;if(_0x2a0eaa&&_0xca4d18[_0x207bbe(0x242)]){this['pendingRequests']['delete'](_0xca4d18[_0x207bbe(0x242)]),_0x2a0eaa[_0x207bbe(0x2b2)](new Error(_0xca4d18['message']));return;}throw new Error(_0xca4d18[_0x207bbe(0x2be)]);}case _0x207bbe(0x1bf):{await this[_0x207bbe(0x2ce)](_0xca4d18);return;}case _0x207bbe(0x2e0):{await this[_0x207bbe(0x2b1)](_0xca4d18);return;}case _0x207bbe(0x1cd):{await this[_0x207bbe(0x21a)](_0xca4d18);}}}async[_0x98b479(0x2ce)](_0x2f624d){const _0x2bbde4=_0x98b479;this[_0x2bbde4(0x261)](),this['socket'][_0x2bbde4(0x1cc)](stringifyClientMessage({'type':'heartbeat-ack'}));}['handleSocketClose'](){const _0x404afa=_0x98b479,_0x2658ad=this[_0x404afa(0x292)]&&!this[_0x404afa(0x250)]&&this[_0x404afa(0x1dd)][_0x404afa(0x1fd)];this['connectPromise']=null,this[_0x404afa(0x1bd)]=null,this[_0x404afa(0x2b0)](new Error(_0x404afa(0x23e)));this[_0x404afa(0x1ec)]&&(this['needsRestoreOnOpen']=!![]);this[_0x404afa(0x1ec)]=![];if(!_0x2658ad)return;this[_0x404afa(0x257)]();}[_0x98b479(0x257)](){const _0xe0ce60=_0x98b479;if(this[_0xe0ce60(0x2d9)])return;const _0x5dbbdc=this['reconnectDelayMs'];this[_0xe0ce60(0x2a0)]=Math['min'](this[_0xe0ce60(0x2a0)]*0x2,this[_0xe0ce60(0x1dd)][_0xe0ce60(0x2a9)]),this[_0xe0ce60(0x2d9)]=setTimeout(()=>{const _0xdbd847=_0xe0ce60;this[_0xdbd847(0x2d9)]=void 0x0,void this[_0xdbd847(0x30a)]()['catch'](()=>{const _0x3eebf9=_0xdbd847;this[_0x3eebf9(0x292)]&&this[_0x3eebf9(0x1dd)][_0x3eebf9(0x1fd)]&&this[_0x3eebf9(0x257)]();});},_0x5dbbdc);}async[_0x98b479(0x26a)](){const _0x2272e3=_0x98b479;if(!this[_0x2272e3(0x244)]||!this[_0x2272e3(0x20a)])return;try{const _0x46e949=await this[_0x2272e3(0x1e1)](this[_0x2272e3(0x20a)]),_0x16b52d=await this[_0x2272e3(0x272)]({'type':'login','payload':_0x46e949},{'kind':_0x2272e3(0x2f6),'onPending':async _0x4fd43a=>{const _0x2a01d6=_0x2272e3;_0x4fd43a[_0x2a01d6(0x30e)]==='invalid-token'&&await this['clearLoginToken'](this['lastLoginPayload']);}});this[_0x2272e3(0x1ec)]=!![];_0x16b52d[_0x2272e3(0x225)]&&(this['latestLoginToken']=_0x16b52d[_0x2272e3(0x225)],await this[_0x2272e3(0x200)](this['lastLoginPayload'],_0x16b52d[_0x2272e3(0x225)]));if(!this['explicitState']){this[_0x2272e3(0x244)]=![];return;}if(this[_0x2272e3(0x1f3)][_0x2272e3(0x21e)]===_0x2272e3(0x1e4)&&this['explicitState'][_0x2272e3(0x1e4)]===(this[_0x2272e3(0x20a)][_0x2272e3(0x307)]??_0x2272e3(0x267))){this['needsRestoreOnOpen']=![];return;}this[_0x2272e3(0x1f3)]['type']===_0x2272e3(0x1e4)?await this['sendRequest']({'type':_0x2272e3(0x27c),'availability':this[_0x2272e3(0x1f3)]['availability']},{'kind':'default'}):await this[_0x2272e3(0x272)]({'type':_0x2272e3(0x249),'reason':this[_0x2272e3(0x1f3)]['reason']},{'kind':_0x2272e3(0x2d1)}),this[_0x2272e3(0x244)]=![];}catch{this['socket']&&this[_0x2272e3(0x1bd)][_0x2272e3(0x2ed)]<WebSocket[_0x2272e3(0x319)]&&this[_0x2272e3(0x1bd)]['close']();}}async[_0x98b479(0x2b1)](_0x3bfd73){const _0x18185f=_0x98b479,_0x493485={'task':structuredClone(_0x3bfd73['task']),'message':structuredClone(_0x3bfd73[_0x18185f(0x2be)]),'controller':this[_0x18185f(0x2da)](_0x3bfd73[_0x18185f(0x2f1)])};for(const _0x4c30fc of this[_0x18185f(0x2f9)]){await _0x4c30fc(_0x493485);}}async[_0x98b479(0x21a)](_0x282471){const _0xa64739=_0x98b479,_0x503ca3={'taskId':_0x282471['taskId']};for(const _0x139d8f of this[_0xa64739(0x277)]){await _0x139d8f(_0x503ca3);}}['createTaskController'](_0x2e8edb){return{'working':async _0x5a1f90=>{const _0x9c81fb=_0x4d6b;await this[_0x9c81fb(0x2bf)](_0x2e8edb,_0x9c81fb(0x276),_0x5a1f90);},'inputRequired':async _0x21c5d8=>{const _0x4aae5c=_0x4d6b;await this[_0x4aae5c(0x2bf)](_0x2e8edb,_0x4aae5c(0x1ea),_0x21c5d8);},'addArtifact':async _0x5ee429=>{const _0x2eae98=_0x4d6b,_0x2e94c9=this[_0x2eae98(0x29c)](_0x5ee429);return await this[_0x2eae98(0x272)]({'type':'TaskArtifactUpdate','taskId':_0x2e8edb['id'],'artifact':_0x2e94c9},{'kind':_0x2eae98(0x2d1)}),_0x2e94c9;},'complete':async _0x534bdb=>{const _0x200daa=_0x4d6b;await this[_0x200daa(0x2bf)](_0x2e8edb,'completed',_0x534bdb);},'fail':async _0x5527ca=>{const _0x37fa71=_0x4d6b;await this[_0x37fa71(0x2bf)](_0x2e8edb,_0x37fa71(0x212),_0x5527ca);},'reject':async _0x397f75=>{const _0x36a57d=_0x4d6b;await this['sendTaskStatusUpdate'](_0x2e8edb,_0x36a57d(0x1ca),_0x397f75);}};}async['sendTaskStatusUpdate'](_0x2820e8,_0x4390a3,_0x292e7a){const _0x182bd1=_0x98b479,_0x241739=_0x292e7a?this['buildAgentMessage'](_0x2820e8,_0x292e7a):void 0x0;await this[_0x182bd1(0x272)]({'type':_0x182bd1(0x255),'taskId':_0x2820e8['id'],'status':{'state':_0x4390a3,'timestamp':Date['now'](),'message':toStatusMessage(_0x292e7a)},'message':_0x241739},{'kind':_0x182bd1(0x2d1)});}[_0x98b479(0x1c3)](_0x4da4ba,_0x4fa7d1){const _0x282301=_0x98b479;return{'messageId':crypto[_0x282301(0x246)](),'contextId':_0x4da4ba[_0x282301(0x22a)],'taskId':_0x4da4ba['id'],'role':_0x282301(0x29b),'parts':structuredClone(_0x4fa7d1['parts']),'metadata':_0x4fa7d1[_0x282301(0x2d4)]?structuredClone(_0x4fa7d1[_0x282301(0x2d4)]):void 0x0};}[_0x98b479(0x29c)](_0x208258){const _0x4d6102=_0x98b479;return{'artifactId':_0x208258[_0x4d6102(0x278)]??crypto[_0x4d6102(0x246)](),'name':_0x208258[_0x4d6102(0x24b)],'description':_0x208258[_0x4d6102(0x282)],'parts':structuredClone(_0x208258[_0x4d6102(0x2b5)]),'metadata':_0x208258[_0x4d6102(0x2d4)]?structuredClone(_0x208258[_0x4d6102(0x2d4)]):void 0x0};}async[_0x98b479(0x1e1)](_0x528687){const _0x3a0d71=_0x98b479;if(_0x528687[_0x3a0d71(0x225)])return{..._0x528687};const _0x4e346e=this['latestLoginToken']??await this[_0x3a0d71(0x2e9)](_0x528687);return _0x4e346e?{..._0x528687,'loginToken':_0x4e346e}:{..._0x528687};}async['persistLoginToken'](_0x23d8d0,_0x2819f5){const _0x1575a9=_0x98b479;if(this[_0x1575a9(0x1dd)][_0x1575a9(0x216)]===![])return;await writeWorkerCredential(this['resolveCredentialFile'](_0x23d8d0),{'serverUrl':this[_0x1575a9(0x1dd)]['serverUrl'],'workerId':_0x23d8d0[_0x1575a9(0x269)],'email':_0x23d8d0[_0x1575a9(0x231)],'loginToken':_0x2819f5});}async[_0x98b479(0x2e9)](_0x1a6b57){const _0x56bba5=_0x98b479;if(this[_0x56bba5(0x1dd)][_0x56bba5(0x216)]===![])return void 0x0;const _0x1bac78=await readWorkerCredential(this[_0x56bba5(0x30f)](_0x1a6b57));return _0x1bac78?.[_0x56bba5(0x225)];}async[_0x98b479(0x2c7)](_0x1f6bf6){const _0x308be3=_0x98b479;this[_0x308be3(0x311)]=void 0x0;if(this[_0x308be3(0x1dd)][_0x308be3(0x216)]===![])return;await deleteWorkerCredential(this[_0x308be3(0x30f)](_0x1f6bf6));}[_0x98b479(0x30f)](_0x5eef57){const _0x55662f=_0x98b479;if(this[_0x55662f(0x1dd)]['credentialStore']!==![]&&this[_0x55662f(0x1dd)][_0x55662f(0x216)]['file'])return this[_0x55662f(0x1dd)]['credentialStore'][_0x55662f(0x26c)];return resolveDefaultWorkerCredentialFile(this[_0x55662f(0x1dd)][_0x55662f(0x1c0)],_0x5eef57['workerId'],_0x5eef57[_0x55662f(0x231)]);}async[_0x98b479(0x272)](_0x2149e3,_0x135665){const _0x50fc00=_0x98b479;this[_0x50fc00(0x261)]();const _0x357695=crypto[_0x50fc00(0x246)](),_0x11ae82=new Promise((_0x1c2c1d,_0x511d92)=>{const _0x6be0e2=_0x50fc00;this[_0x6be0e2(0x2b4)][_0x6be0e2(0x27e)](_0x357695,{'kind':_0x135665[_0x6be0e2(0x1f9)],'onPending':_0x135665[_0x6be0e2(0x1c9)],'resolve':_0x1c2c1d,'reject':_0x511d92});}),_0x13a149={..._0x2149e3,'requestId':_0x357695};return this[_0x50fc00(0x1bd)][_0x50fc00(0x1cc)](stringifyClientMessage(_0x13a149)),await _0x11ae82;}[_0x98b479(0x261)](){const _0x13bf49=_0x98b479;if(!this[_0x13bf49(0x1bd)]||this[_0x13bf49(0x1bd)][_0x13bf49(0x2ed)]!==WebSocket[_0x13bf49(0x26b)])throw new Error('WebSocket\x20is\x20not\x20connected');}[_0x98b479(0x2b0)](_0x54008a){const _0x19587b=_0x98b479;for(const _0x5a78c8 of this[_0x19587b(0x2b4)][_0x19587b(0x27a)]()){_0x5a78c8[_0x19587b(0x2b2)](_0x54008a);}this[_0x19587b(0x2b4)][_0x19587b(0x317)]();}};function toStatusMessage(_0x3f173d){const _0x41c29b=_0x98b479,_0x22c9d8=_0x3f173d?.[_0x41c29b(0x2b5)][0x0];if(!_0x22c9d8)return void 0x0;if(_0x22c9d8[_0x41c29b(0x21e)]===_0x41c29b(0x2bc))return _0x22c9d8[_0x41c29b(0x2bc)];if(_0x22c9d8['type']==='file-ref')return _0x22c9d8[_0x41c29b(0x24b)]??_0x22c9d8[_0x41c29b(0x247)];return _0x22c9d8[_0x41c29b(0x1db)]??'structured\x20payload';}import{Buffer}from'buffer';import{createHmac}from'crypto';function issueLoginToken(_0x25e2b8,_0x8694da){const _0x16d8f5=_0x98b479,_0x29b52c=Buffer[_0x16d8f5(0x1e6)](JSON[_0x16d8f5(0x300)](_0x25e2b8))[_0x16d8f5(0x24a)](_0x16d8f5(0x221)),_0x45fde4=signPayload(_0x29b52c,_0x8694da);return _0x29b52c+'.'+_0x45fde4;}function verifyLoginToken(_0x5d83b7,_0x56c64a){const _0x28d1cf=_0x98b479,_0x79a60=_0x5d83b7['split']('.');if(_0x79a60[_0x28d1cf(0x2fa)]!==0x2)return null;const [_0x2b85ed,_0x167d5a]=_0x79a60;if(!_0x2b85ed||!_0x167d5a||signPayload(_0x2b85ed,_0x56c64a)!==_0x167d5a)return null;try{const _0x33f283=JSON[_0x28d1cf(0x248)](Buffer[_0x28d1cf(0x1e6)](_0x2b85ed,_0x28d1cf(0x221))[_0x28d1cf(0x24a)]('utf8'));if(typeof _0x33f283[_0x28d1cf(0x269)]!==_0x28d1cf(0x260)||typeof _0x33f283['email']!=='string'||_0x33f283[_0x28d1cf(0x303)]!==_0x28d1cf(0x28e)&&_0x33f283[_0x28d1cf(0x303)]!==_0x28d1cf(0x224)&&_0x33f283[_0x28d1cf(0x303)]!==_0x28d1cf(0x270)&&_0x33f283[_0x28d1cf(0x303)]!=='manager'||typeof _0x33f283[_0x28d1cf(0x1f6)]!==_0x28d1cf(0x2f2)||!Number[_0x28d1cf(0x2d8)](_0x33f283['issuedAt']))return null;return _0x33f283;}catch{return null;}}function signPayload(_0x258e32,_0x272c0e){const _0x4120c8=_0x98b479;return createHmac(_0x4120c8(0x2fd),_0x272c0e)[_0x4120c8(0x1c8)](_0x258e32)[_0x4120c8(0x2ca)](_0x4120c8(0x221));}import{createServer}from'http';import _0x1eef0d from'process';var DISCONNECT_REASON_MAP={'socket-closed':'socket\x20closed\x20unexpectedly','heartbeat-timeout':'heartbeat\x20timed\x20out','session-replaced':_0x98b479(0x23c)};function createWorkerIdentityKey(_0x126372,_0x420a04){return _0x126372+'::'+_0x420a04;}var WorkerSessionRegistry=class{['records']=new Map();['seedSnapshots'](_0x35abec){const _0x2a7cab=_0x98b479;this[_0x2a7cab(0x243)][_0x2a7cab(0x317)]();for(const _0x228e85 of _0x35abec){const _0x1617f9=createWorkerIdentityKey(_0x228e85[_0x2a7cab(0x269)],_0x228e85[_0x2a7cab(0x231)]);this[_0x2a7cab(0x243)][_0x2a7cab(0x27e)](_0x1617f9,{'identityKey':_0x1617f9,'sessionId':_0x2a7cab(0x252)+_0x1617f9,'snapshot':cloneSnapshot(_0x228e85)});}}[_0x98b479(0x258)](_0xf21ea0,_0x279aef,_0x44fa09){const _0x328db8=_0x98b479,_0x5b73ec=createWorkerIdentityKey(_0x279aef[_0x328db8(0x269)],_0x279aef[_0x328db8(0x231)]),_0x3c501e={'workerId':_0x279aef[_0x328db8(0x269)],'email':_0x279aef[_0x328db8(0x231)],'role':_0x279aef['role'],'capabilitySummary':_0x279aef[_0x328db8(0x1d9)],'availability':_0x279aef[_0x328db8(0x307)]??'available','activityState':_0x328db8(0x2a3),'activeTaskCount':0x0,'connectionState':_0x328db8(0x2c0),'connectedAt':_0x44fa09,'lastSeenAt':_0x44fa09,'lastAvailabilityUpdatedAt':_0x44fa09};let _0x3f93d0;_0x3c501e['availability']===_0x328db8(0x2b9)&&(_0x3c501e[_0x328db8(0x30c)]=_0x328db8(0x24c),_0x3c501e['abnormalReason']=_0x328db8(0x2e2),_0x3f93d0={'type':_0x328db8(0x275),'reason':'reported\x20as\x20abnormal\x20during\x20login'});const _0x50a974={'identityKey':_0x5b73ec,'sessionId':_0xf21ea0,'snapshot':_0x3c501e,'explicitState':_0x3f93d0};return this[_0x328db8(0x243)][_0x328db8(0x27e)](_0x5b73ec,_0x50a974),this[_0x328db8(0x2d7)](_0x50a974);}['get'](_0x5de9ee){const _0x2115c3=_0x98b479,_0x19f79b=this[_0x2115c3(0x243)][_0x2115c3(0x203)](_0x5de9ee);return _0x19f79b?this[_0x2115c3(0x2d7)](_0x19f79b):void 0x0;}[_0x98b479(0x2ae)](_0x37b213){const _0x504fc6=_0x98b479;for(const _0x49a510 of this[_0x504fc6(0x243)][_0x504fc6(0x27a)]()){if(_0x49a510[_0x504fc6(0x2b8)]===_0x37b213)return this[_0x504fc6(0x2d7)](_0x49a510);}return void 0x0;}['touch'](_0x5093f1,_0x452c04){const _0x2dc91b=_0x98b479,_0x2162a8=this[_0x2dc91b(0x243)]['get'](_0x5093f1);if(!_0x2162a8)return void 0x0;return _0x2162a8['snapshot'][_0x2dc91b(0x315)]=_0x452c04,this[_0x2dc91b(0x2d7)](_0x2162a8);}[_0x98b479(0x30d)](_0xcb4cdf,_0x298b78,_0x3715a0){const _0x58b0aa=_0x98b479,_0x5981cc=this[_0x58b0aa(0x243)][_0x58b0aa(0x203)](_0xcb4cdf);if(!_0x5981cc)return void 0x0;return _0x5981cc[_0x58b0aa(0x22e)][_0x58b0aa(0x1e4)]=_0x298b78,_0x5981cc[_0x58b0aa(0x22e)][_0x58b0aa(0x222)]=_0x3715a0,_0x5981cc[_0x58b0aa(0x22e)][_0x58b0aa(0x315)]=_0x3715a0,delete _0x5981cc[_0x58b0aa(0x22e)]['abnormalSource'],delete _0x5981cc['snapshot'][_0x58b0aa(0x28d)],_0x5981cc['explicitState']={'type':'availability','availability':_0x298b78},this['cloneRecord'](_0x5981cc);}['reportException'](_0x12634c,_0x4e2818,_0x454831){const _0x55544f=_0x98b479,_0x41c4e6=this[_0x55544f(0x243)][_0x55544f(0x203)](_0x12634c);if(!_0x41c4e6)return void 0x0;return _0x41c4e6[_0x55544f(0x22e)]['availability']=_0x55544f(0x2b9),_0x41c4e6[_0x55544f(0x22e)][_0x55544f(0x30c)]=_0x55544f(0x24c),_0x41c4e6['snapshot'][_0x55544f(0x28d)]=_0x4e2818,_0x41c4e6['snapshot'][_0x55544f(0x222)]=_0x454831,_0x41c4e6[_0x55544f(0x22e)][_0x55544f(0x315)]=_0x454831,_0x41c4e6['explicitState']={'type':'exception','reason':_0x4e2818},this[_0x55544f(0x2d7)](_0x41c4e6);}[_0x98b479(0x318)](_0x127d4b,_0x1a3daa,_0x416c68){const _0x5dd5a3=_0x98b479,_0xa93bc8=this[_0x5dd5a3(0x243)][_0x5dd5a3(0x203)](_0x127d4b);if(!_0xa93bc8)return void 0x0;return _0xa93bc8[_0x5dd5a3(0x22e)]['availability']='abnormal',_0xa93bc8[_0x5dd5a3(0x22e)][_0x5dd5a3(0x290)]=_0x5dd5a3(0x1dc),_0xa93bc8[_0x5dd5a3(0x22e)][_0x5dd5a3(0x30c)]=_0x5dd5a3(0x2c1),_0xa93bc8[_0x5dd5a3(0x22e)][_0x5dd5a3(0x28d)]=DISCONNECT_REASON_MAP[_0x1a3daa],_0xa93bc8[_0x5dd5a3(0x22e)][_0x5dd5a3(0x315)]=_0x416c68,_0xa93bc8['snapshot'][_0x5dd5a3(0x222)]=_0x416c68,this[_0x5dd5a3(0x2d7)](_0xa93bc8);}['remove'](_0x250efd){const _0x457c29=_0x98b479,_0x22f778=this[_0x457c29(0x243)][_0x457c29(0x203)](_0x250efd);if(!_0x22f778)return void 0x0;return this[_0x457c29(0x243)][_0x457c29(0x2f3)](_0x250efd),this[_0x457c29(0x2d7)](_0x22f778);}[_0x98b479(0x1cf)](_0x40e756={}){const _0x330bd4=_0x98b479;return Array['from'](this['records'][_0x330bd4(0x27a)]())[_0x330bd4(0x201)](_0x17cd5e=>matchesFilters(_0x17cd5e[_0x330bd4(0x22e)],_0x40e756))[_0x330bd4(0x209)](_0x1a6624=>cloneSnapshot(_0x1a6624['snapshot']));}[_0x98b479(0x273)](_0x3120cd={}){return this['query']({..._0x3120cd,'availability':'abnormal'});}['allRecords'](){const _0x23ca35=_0x98b479;return Array['from'](this[_0x23ca35(0x243)]['values']())['map'](_0x4f841b=>this[_0x23ca35(0x2d7)](_0x4f841b));}[_0x98b479(0x2d7)](_0x1f520e){const _0x2bd10b=_0x98b479;return{'identityKey':_0x1f520e['identityKey'],'sessionId':_0x1f520e[_0x2bd10b(0x2b8)],'snapshot':cloneSnapshot(_0x1f520e['snapshot']),'explicitState':_0x1f520e['explicitState']?{..._0x1f520e[_0x2bd10b(0x1f3)]}:void 0x0};}};function matchesFilters(_0x415245,_0x4201e1){const _0xb39fed=_0x98b479;if(_0x4201e1[_0xb39fed(0x269)]&&_0x415245[_0xb39fed(0x269)]!==_0x4201e1[_0xb39fed(0x269)])return![];if(_0x4201e1[_0xb39fed(0x231)]&&_0x415245['email']!==_0x4201e1[_0xb39fed(0x231)])return![];if(_0x4201e1[_0xb39fed(0x303)]&&_0x415245[_0xb39fed(0x303)]!==_0x4201e1['role'])return![];if(_0x4201e1[_0xb39fed(0x1e4)]&&_0x415245[_0xb39fed(0x1e4)]!==_0x4201e1[_0xb39fed(0x1e4)])return![];if(_0x4201e1[_0xb39fed(0x2fc)]&&_0x415245[_0xb39fed(0x2fc)]!==_0x4201e1['activityState'])return![];if(_0x4201e1['connectionState']&&_0x415245[_0xb39fed(0x290)]!==_0x4201e1[_0xb39fed(0x290)])return![];if(_0x4201e1[_0xb39fed(0x30c)]&&_0x415245[_0xb39fed(0x30c)]!==_0x4201e1[_0xb39fed(0x30c)])return![];return!![];}function cloneSnapshot(_0x2baeaa){return{..._0x2baeaa};}var TERMINAL_TASK_STATES=new Set([_0x98b479(0x295),_0x98b479(0x212),'canceled',_0x98b479(0x1ca)]),TaskStore=class{[_0x98b479(0x1e9)]=new Map();[_0x98b479(0x217)](_0x49b007){const _0x4d1033=_0x98b479;this['tasks'][_0x4d1033(0x317)]();for(const _0x265f81 of _0x49b007){this[_0x4d1033(0x1e9)][_0x4d1033(0x27e)](_0x265f81['id'],clone(_0x265f81));}}[_0x98b479(0x22d)](_0x5f39f9){const _0x4c96ec=_0x98b479,_0xa03702=createWorkerIdentityKey(_0x5f39f9[_0x4c96ec(0x269)],_0x5f39f9[_0x4c96ec(0x231)]),_0x1a5281=this[_0x4c96ec(0x1e9)][_0x4c96ec(0x203)](_0x5f39f9[_0x4c96ec(0x2be)]['taskId']);if(!_0x1a5281){const _0x5abf9c={'id':_0x5f39f9['message'][_0x4c96ec(0x1eb)],'contextId':_0x5f39f9['message']['contextId'],'status':{'state':'submitted','timestamp':_0x5f39f9[_0x4c96ec(0x29a)]},'artifacts':[],'history':[clone(_0x5f39f9[_0x4c96ec(0x2be)])],'metadata':_0x5f39f9[_0x4c96ec(0x2d4)]?clone(_0x5f39f9[_0x4c96ec(0x2d4)]):void 0x0,'assigneeWorkerKey':_0xa03702};return this[_0x4c96ec(0x1e9)][_0x4c96ec(0x27e)](_0x5abf9c['id'],_0x5abf9c),clone(_0x5abf9c);}if(_0x1a5281['assigneeWorkerKey']!==_0xa03702)throw new Error(_0x4c96ec(0x304));if(isTerminalTaskState(_0x1a5281[_0x4c96ec(0x229)][_0x4c96ec(0x28c)]))throw new Error('cannot\x20continue\x20a\x20terminal\x20task');return _0x1a5281[_0x4c96ec(0x1fa)][_0x4c96ec(0x22c)](clone(_0x5f39f9[_0x4c96ec(0x2be)])),_0x1a5281['status']={'state':_0x4c96ec(0x1ed),'timestamp':_0x5f39f9['now']},_0x5f39f9[_0x4c96ec(0x2d4)]&&(_0x1a5281[_0x4c96ec(0x2d4)]=clone(_0x5f39f9[_0x4c96ec(0x2d4)])),clone(_0x1a5281);}[_0x98b479(0x30d)](_0xc447b9,_0x1226a7,_0x1dfd82){const _0x5bce1c=_0x98b479,_0x530fbf=this[_0x5bce1c(0x1e9)][_0x5bce1c(0x203)](_0xc447b9);if(!_0x530fbf)throw new Error(_0x5bce1c(0x2c8));if(isTerminalTaskState(_0x530fbf[_0x5bce1c(0x229)]['state']))throw new Error('task\x20is\x20already\x20terminal');return _0x530fbf[_0x5bce1c(0x229)]=clone(_0x1226a7),_0x1dfd82&&_0x530fbf[_0x5bce1c(0x1fa)]['push'](clone(_0x1dfd82)),clone(_0x530fbf);}['addArtifact'](_0x76a21e,_0x428699){const _0x5bca3a=_0x98b479,_0x33b54f=this[_0x5bca3a(0x1e9)][_0x5bca3a(0x203)](_0x76a21e);if(!_0x33b54f)throw new Error(_0x5bca3a(0x2c8));if(isTerminalTaskState(_0x33b54f[_0x5bca3a(0x229)][_0x5bca3a(0x28c)]))throw new Error('task\x20is\x20already\x20terminal');return _0x33b54f[_0x5bca3a(0x1d0)][_0x5bca3a(0x22c)](clone(_0x428699)),clone(_0x33b54f);}[_0x98b479(0x1f0)](_0x12c62b,_0x227c87){const _0x13ce40=_0x98b479,_0x47c51e=this['tasks'][_0x13ce40(0x203)](_0x12c62b);if(!_0x47c51e)throw new Error(_0x13ce40(0x2c8));if(isTerminalTaskState(_0x47c51e[_0x13ce40(0x229)]['state']))return clone(_0x47c51e);return _0x47c51e[_0x13ce40(0x229)]={'state':_0x13ce40(0x2d3),'timestamp':_0x227c87},clone(_0x47c51e);}['get'](_0x5b8fdd,_0x5bb1cb={}){const _0x47146f=_0x98b479,_0x1f5ad1=this['tasks']['get'](_0x5b8fdd);if(!_0x1f5ad1)return void 0x0;if(!_0x5bb1cb['historyLength']||_0x1f5ad1['history']['length']<=_0x5bb1cb[_0x47146f(0x25b)])return clone(_0x1f5ad1);const _0x51b2f9=clone(_0x1f5ad1);return _0x51b2f9[_0x47146f(0x1fa)]=_0x51b2f9[_0x47146f(0x1fa)][_0x47146f(0x1be)](-_0x5bb1cb[_0x47146f(0x25b)]),_0x51b2f9;}['list'](_0xb7d4cc={}){const _0xa2401c=_0x98b479;return Array[_0xa2401c(0x1e6)](this[_0xa2401c(0x1e9)][_0xa2401c(0x27a)]())[_0xa2401c(0x201)](_0x121917=>this['matchesFilters'](_0x121917,_0xb7d4cc))[_0xa2401c(0x209)](_0x3b5f3a=>clone(_0x3b5f3a));}[_0x98b479(0x284)](_0x1697cc){const _0x3afca8=_0x98b479;return Array[_0x3afca8(0x1e6)](this[_0x3afca8(0x1e9)][_0x3afca8(0x27a)]())[_0x3afca8(0x201)](_0x1ecaa9=>_0x1ecaa9['assigneeWorkerKey']===_0x1697cc&&!isTerminalTaskState(_0x1ecaa9[_0x3afca8(0x229)]['state']))[_0x3afca8(0x209)](_0x3ce980=>clone(_0x3ce980));}[_0x98b479(0x2ab)](_0x191800){const _0x3607c3=_0x98b479;return Array[_0x3607c3(0x1e6)](this['tasks'][_0x3607c3(0x27a)]())[_0x3607c3(0x201)](_0x1a5a85=>_0x1a5a85[_0x3607c3(0x274)]===_0x191800&&_0x1a5a85[_0x3607c3(0x229)][_0x3607c3(0x28c)]===_0x3607c3(0x1ed))[_0x3607c3(0x209)](_0x53090a=>clone(_0x53090a));}[_0x98b479(0x26d)](_0x13911f){const _0x28947a=_0x98b479,_0x351969=this[_0x28947a(0x1e9)][_0x28947a(0x203)](_0x13911f);if(!_0x351969)return void 0x0;for(let _0x2d64ea=_0x351969[_0x28947a(0x1fa)]['length']-0x1;_0x2d64ea>=0x0;_0x2d64ea-=0x1){const _0x3f2dba=_0x351969['history'][_0x2d64ea];if(_0x3f2dba[_0x28947a(0x303)]===_0x28947a(0x245))return clone(_0x3f2dba);}return void 0x0;}['matchesFilters'](_0x363d53,_0xaf88a){const _0x5e5272=_0x98b479;if(_0xaf88a[_0x5e5272(0x22a)]&&_0x363d53[_0x5e5272(0x22a)]!==_0xaf88a[_0x5e5272(0x22a)])return![];if(_0xaf88a['state']&&_0x363d53[_0x5e5272(0x229)][_0x5e5272(0x28c)]!==_0xaf88a[_0x5e5272(0x28c)])return![];if(_0xaf88a[_0x5e5272(0x269)]||_0xaf88a['email']){const [_0x2d2675,_0x4bbcaf]=splitWorkerKey(_0x363d53[_0x5e5272(0x274)]);if(_0xaf88a[_0x5e5272(0x269)]&&_0x2d2675!==_0xaf88a[_0x5e5272(0x269)])return![];if(_0xaf88a[_0x5e5272(0x231)]&&_0x4bbcaf!==_0xaf88a[_0x5e5272(0x231)])return![];}return!![];}};function isTerminalTaskState(_0x473e69){const _0x510adf=_0x98b479;return TERMINAL_TASK_STATES[_0x510adf(0x2cc)](_0x473e69);}function splitWorkerKey(_0x3f2784){const [_0x50bb89,_0x350296]=_0x3f2784['split']('::');return[_0x50bb89,_0x350296];}function clone(_0x4d2f0e){return structuredClone(_0x4d2f0e);}var DEFAULT_CONFIG2={'path':_0x98b479(0x21c),'heartbeatIntervalMs':0x3a98,'heartbeatTimeoutMs':0xafc8,'loginTimeoutMs':0x2710},WorkerServerSDK=class{['config'];['registry']=new WorkerSessionRegistry();[_0x98b479(0x1c4)]=new TaskStore();['eventHandlers']=new Set();[_0x98b479(0x2d5)]=new Set();[_0x98b479(0x2a6)]=new Set();['connections']=new Map();[_0x98b479(0x25a)]=new Map();[_0x98b479(0x2f0)]=new Map();[_0x98b479(0x285)]=null;[_0x98b479(0x213)];[_0x98b479(0x230)];[_0x98b479(0x308)];constructor(_0x237146={}){const _0x45d0ee=_0x98b479;this[_0x45d0ee(0x1dd)]={...DEFAULT_CONFIG2,..._0x237146,'managerToken':_0x237146[_0x45d0ee(0x24f)]??_0x1eef0d[_0x45d0ee(0x279)][_0x45d0ee(0x293)],'loginAuthorization':resolveLoginAuthorizationConfig(_0x237146[_0x45d0ee(0x2cf)])},this[_0x45d0ee(0x28b)][_0x45d0ee(0x280)](_0x237146['initialWorkers']??[]),this[_0x45d0ee(0x1c4)][_0x45d0ee(0x217)](_0x237146[_0x45d0ee(0x253)]??[]);}['registerManagerControlPlane'](_0x37fa40){const _0x2dd0b9=_0x98b479;return this[_0x2dd0b9(0x285)]=_0x37fa40,this;}async['listen'](_0x27a7c4,_0x5ad989=_0x98b479(0x1e7)){const _0xaf34e0=_0x98b479;if(this[_0xaf34e0(0x230)])throw new Error(_0xaf34e0(0x296));return await this[_0xaf34e0(0x24d)](_0x27a7c4,_0x5ad989),this[_0xaf34e0(0x25c)](),this;}async[_0x98b479(0x21b)](){const _0x4d320a=_0x98b479;this[_0x4d320a(0x213)]&&(clearInterval(this['heartbeatTimer']),this[_0x4d320a(0x213)]=void 0x0);for(const _0x55e603 of this['connections']['values']()){_0x55e603[_0x4d320a(0x262)]&&clearTimeout(_0x55e603[_0x4d320a(0x262)]);await this[_0x4d320a(0x27d)](_0x55e603),await this[_0x4d320a(0x2c4)](_0x55e603,_0x4d320a(0x2df));if(_0x55e603['identityKey']){const _0x55e592=this[_0x4d320a(0x28b)][_0x4d320a(0x318)](_0x55e603[_0x4d320a(0x1e3)],_0x4d320a(0x2af),Date['now']());this['identityToPeerId']['delete'](_0x55e603[_0x4d320a(0x1e3)]),_0x55e592&&await this[_0x4d320a(0x299)]({'type':'disconnect','worker':_0x55e592[_0x4d320a(0x22e)],'cause':_0x4d320a(0x2af)});}try{_0x55e603[_0x4d320a(0x211)]['close'](0x3f4,_0x4d320a(0x2ea));}catch{_0x55e603['peer'][_0x4d320a(0x268)]();}}this['connections'][_0x4d320a(0x317)](),this[_0x4d320a(0x25a)][_0x4d320a(0x317)](),this[_0x4d320a(0x2f0)][_0x4d320a(0x317)](),this[_0x4d320a(0x308)]&&(this[_0x4d320a(0x308)][_0x4d320a(0x241)](0x3f4,'server\x20stopping',!![]),this[_0x4d320a(0x308)]=void 0x0),this[_0x4d320a(0x230)]&&(await new Promise((_0xe4d50d,_0x1ecd8a)=>this[_0x4d320a(0x230)][_0x4d320a(0x1f4)](_0xa23731=>_0xa23731?_0x1ecd8a(_0xa23731):_0xe4d50d())),this[_0x4d320a(0x230)]=void 0x0);}['onWorkerEvent'](_0x292587){const _0x4cc71a=_0x98b479;return this['eventHandlers'][_0x4cc71a(0x2c3)](_0x292587),this;}[_0x98b479(0x1fc)](_0x279603){return this['eventHandlers']['delete'](_0x279603),this;}[_0x98b479(0x1d5)](_0x20072e){const _0xbcc38f=_0x98b479;return this[_0xbcc38f(0x2d5)][_0xbcc38f(0x2c3)](_0x20072e),this;}['offLoginAuthorization'](_0x1c9872){const _0x1822e5=_0x98b479;return this[_0x1822e5(0x2d5)][_0x1822e5(0x2f3)](_0x1c9872),this;}[_0x98b479(0x2c6)](_0x18f7b4={}){const _0x54f0c0=_0x98b479,{activityState:_0x1944a4,..._0x164503}=_0x18f7b4;return this[_0x54f0c0(0x28b)]['query'](_0x164503)[_0x54f0c0(0x209)](_0x173dcb=>this[_0x54f0c0(0x22b)](_0x173dcb))['filter'](_0x439d03=>_0x1944a4?_0x439d03[_0x54f0c0(0x2fc)]===_0x1944a4:!![]);}['listAbnormalWorkers'](_0x260b07={}){const _0x419d9d=_0x98b479;return this[_0x419d9d(0x2c6)]({..._0x260b07,'availability':_0x419d9d(0x2b9)});}async['approveLoginAuthorization'](_0x19dd03,_0x37cf7c){const _0x145041=_0x98b479,_0x39a310=this['pendingAuthorizations'][_0x145041(0x203)](_0x19dd03);if(!_0x39a310)throw new Error('login\x20authorization\x20not\x20found');const _0x53e357=this[_0x145041(0x2f8)]['get'](_0x39a310['peerId']);if(!_0x53e357||_0x53e357['pendingAuthorizationId']!==_0x19dd03){this[_0x145041(0x2f0)][_0x145041(0x2f3)](_0x19dd03);throw new Error(_0x145041(0x2a5));}this[_0x145041(0x233)](_0x53e357);const _0x4bca73=this[_0x145041(0x1dd)][_0x145041(0x2cf)]?issueLoginToken({'workerId':_0x39a310[_0x145041(0x2fb)][_0x145041(0x269)],'email':_0x39a310[_0x145041(0x2fb)]['email'],'role':_0x39a310[_0x145041(0x2fb)][_0x145041(0x303)],'issuedAt':Date['now']()},this[_0x145041(0x1dd)]['loginAuthorization']['signingSecret']):void 0x0;await this[_0x145041(0x2a1)](_0x53e357,_0x39a310['requestId'],_0x39a310[_0x145041(0x2fb)],_0x4bca73);}async[_0x98b479(0x2ef)](_0x1c57bf,_0x487369,_0x1ab0bb){const _0x17976a=_0x98b479;if(_0x487369[_0x17976a(0x2eb)]()[_0x17976a(0x2fa)]===0x0)throw new Error(_0x17976a(0x21d));const _0x185d0e=this[_0x17976a(0x2f0)][_0x17976a(0x203)](_0x1c57bf);if(!_0x185d0e)throw new Error('login\x20authorization\x20not\x20found');const _0x82aac2=this[_0x17976a(0x2f8)][_0x17976a(0x203)](_0x185d0e[_0x17976a(0x206)]);this[_0x17976a(0x2f0)][_0x17976a(0x2f3)](_0x1c57bf),_0x82aac2?.[_0x17976a(0x28a)]===_0x1c57bf&&(_0x82aac2['pendingAuthorizationId']=void 0x0),_0x82aac2&&this[_0x17976a(0x2f7)](_0x82aac2['peer'],_0x185d0e['requestId'],_0x487369);}['onTaskUpdate'](_0x4d7d88){const _0x3c0a7d=_0x98b479;return this[_0x3c0a7d(0x2a6)][_0x3c0a7d(0x2c3)](_0x4d7d88),this;}async['sendMessage'](_0x5088c3){const _0x62c585=_0x98b479;validateSendMessageParams(_0x5088c3);const _0x3d6ea1=Date[_0x62c585(0x29a)](),_0x3ab39f=_0x5088c3[_0x62c585(0x1eb)]?this[_0x62c585(0x1c4)][_0x62c585(0x203)](_0x5088c3[_0x62c585(0x1eb)]):void 0x0;if(_0x5088c3[_0x62c585(0x1eb)]&&!_0x3ab39f)throw new Error(_0x62c585(0x2c8));const _0x113e6b=_0x5088c3['taskId']??crypto['randomUUID'](),_0x49ad74=_0x3ab39f?.['contextId']??_0x5088c3[_0x62c585(0x22a)]??crypto[_0x62c585(0x246)](),_0x472c1d={'messageId':_0x5088c3[_0x62c585(0x2e1)]??crypto[_0x62c585(0x246)](),'contextId':_0x49ad74,'taskId':_0x113e6b,'role':'user','parts':clone(_0x5088c3[_0x62c585(0x2b5)]),'metadata':_0x5088c3['metadata']?clone(_0x5088c3[_0x62c585(0x2d4)]):void 0x0},_0x4e16d8=this[_0x62c585(0x1c4)][_0x62c585(0x22d)]({'workerId':_0x5088c3['worker'][_0x62c585(0x269)],'email':_0x5088c3[_0x62c585(0x2f5)]['email'],'message':_0x472c1d,'metadata':_0x5088c3[_0x62c585(0x2d4)],'now':_0x3d6ea1});return await this[_0x62c585(0x1ee)]({'type':_0x62c585(0x210),'task':_0x4e16d8,'status':_0x4e16d8[_0x62c585(0x229)],'message':_0x472c1d}),this[_0x62c585(0x2b1)](_0x4e16d8[_0x62c585(0x274)],_0x4e16d8,_0x472c1d),_0x4e16d8;}[_0x98b479(0x259)](_0xff1808,_0x44142f={}){const _0xd1f73=_0x98b479;return this[_0xd1f73(0x1c4)]['get'](_0xff1808,_0x44142f);}[_0x98b479(0x218)](_0x69a594={}){const _0x3167b1=_0x98b479;return this[_0x3167b1(0x1c4)][_0x3167b1(0x271)](_0x69a594);}async[_0x98b479(0x1f5)](_0x1a96f){const _0x2cdd30=_0x98b479,_0x1a2a42=this['taskStore']['cancel'](_0x1a96f,Date['now']());return await this['emitTaskUpdate']({'type':_0x2cdd30(0x210),'task':_0x1a2a42,'status':_0x1a2a42[_0x2cdd30(0x229)]}),this['dispatchTaskCancel'](_0x1a2a42[_0x2cdd30(0x274)],_0x1a2a42['id']),_0x1a2a42;}async['listenWithNode'](_0x56d8d8,_0x3b28c1){const _0x37dbc4=_0x98b479,_0x3b161d=await import(_0x37dbc4(0x207)),_0xefeb71=_0x3b161d[_0x37dbc4(0x2d1)]({'hooks':this[_0x37dbc4(0x2bb)]()});this['nodeAdapter']=_0xefeb71,this[_0x37dbc4(0x230)]=createServer((_0x178bb9,_0x4fc9a3)=>{const _0x1a07a9=_0x37dbc4;_0x4fc9a3['statusCode']=0x194,_0x4fc9a3[_0x1a07a9(0x1d6)]('Not\x20Found');}),this[_0x37dbc4(0x230)]['on'](_0x37dbc4(0x264),(_0x363fab,_0x379be6,_0x2413b1)=>{const _0x4fb05a=_0x37dbc4;if(!this['matchesPath'](_0x363fab['url']??'/')){_0x379be6[_0x4fb05a(0x234)]();return;}void this[_0x4fb05a(0x308)][_0x4fb05a(0x2dd)](_0x363fab,_0x379be6,_0x2413b1)[_0x4fb05a(0x24e)](()=>{const _0x3d11eb=_0x4fb05a;_0x379be6[_0x3d11eb(0x234)]();});}),await new Promise((_0x281e2c,_0x23917d)=>{const _0x1f6801=_0x37dbc4;this[_0x1f6801(0x230)][_0x1f6801(0x2d2)](_0x1f6801(0x27b),_0x23917d),this[_0x1f6801(0x230)][_0x1f6801(0x1e5)](_0x56d8d8,_0x3b28c1,()=>_0x281e2c());});}[_0x98b479(0x2bb)](){return{'open':async _0x150237=>{this['handleSocketOpen'](_0x150237);},'message':async(_0x5ac784,_0x22d8a7)=>{const _0xaa06b2=_0x4d6b;await this[_0xaa06b2(0x1bc)](_0x5ac784,_0x22d8a7[_0xaa06b2(0x2bc)]());},'close':async _0x312c5e=>{const _0x177ded=_0x4d6b;await this[_0x177ded(0x2e5)](_0x312c5e,_0x177ded(0x2af));},'error':async()=>{}};}[_0x98b479(0x309)](_0x2fd92c){const _0x135348=_0x98b479,_0x3476a0={'peer':_0x2fd92c,'sessionId':crypto['randomUUID'](),'managerSubscriptions':new Map(),'loginTimer':setTimeout(()=>{const _0x32df73=_0x4d6b,_0x586652=this['connections'][_0x32df73(0x203)](_0x2fd92c['id']);!_0x586652?.[_0x32df73(0x1e3)]&&(_0x2fd92c[_0x32df73(0x1f4)](0xfa1,_0x32df73(0x306)),this['connections']['delete'](_0x2fd92c['id']));},this[_0x135348(0x1dd)][_0x135348(0x2c2)])};this['connections']['set'](_0x2fd92c['id'],_0x3476a0);}async['handleSocketMessage'](_0xd15ca,_0x5db0ff){const _0x2543d8=_0x98b479,_0x12ee45=parseClientMessage(_0x5db0ff);if(!_0x12ee45){this[_0x2543d8(0x286)](_0xd15ca,_0x2543d8(0x236));return;}const _0xadb62d=this[_0x2543d8(0x2f8)]['get'](_0xd15ca['id']);if(!_0xadb62d){this[_0x2543d8(0x286)](_0xd15ca,'unknown\x20connection');return;}_0x12ee45[_0x2543d8(0x21e)]!==_0x2543d8(0x2a2)&&_0xadb62d[_0x2543d8(0x1e3)]&&this[_0x2543d8(0x28b)][_0x2543d8(0x302)](_0xadb62d['identityKey'],Date[_0x2543d8(0x29a)]());if(_0xadb62d[_0x2543d8(0x28a)]&&_0x12ee45[_0x2543d8(0x21e)]!==_0x2543d8(0x2f6)&&_0x12ee45['type']!==_0x2543d8(0x2a2)){this[_0x2543d8(0x286)](_0xd15ca,_0x2543d8(0x1bb),_0x2543d8(0x242)in _0x12ee45?_0x12ee45['requestId']:void 0x0);return;}switch(_0x12ee45[_0x2543d8(0x21e)]){case _0x2543d8(0x2f6):await this['handleLoginMessage'](_0xadb62d,_0x12ee45);return;case _0x2543d8(0x2e3):await this[_0x2543d8(0x1f1)](_0xadb62d,_0x12ee45[_0x2543d8(0x242)]);return;case _0x2543d8(0x27c):await this[_0x2543d8(0x25e)](_0xadb62d,_0x12ee45);return;case _0x2543d8(0x249):await this[_0x2543d8(0x1e2)](_0xadb62d,_0x12ee45);return;case _0x2543d8(0x29f):await this['handleManagerCommandMessage'](_0xadb62d,_0x12ee45);return;case _0x2543d8(0x310):await this['handleManagerSubscribeMessage'](_0xadb62d,_0x12ee45);return;case'manager-unsubscribe':await this[_0x2543d8(0x1fe)](_0xadb62d,_0x12ee45);return;case _0x2543d8(0x255):await this['handleTaskStatusUpdateMessage'](_0xadb62d,_0x12ee45);return;case'TaskArtifactUpdate':await this['handleTaskArtifactUpdateMessage'](_0xadb62d,_0x12ee45);return;case _0x2543d8(0x2a2):_0xadb62d[_0x2543d8(0x1e3)]&&this['registry'][_0x2543d8(0x302)](_0xadb62d[_0x2543d8(0x1e3)],Date['now']());}}async[_0x98b479(0x227)](_0x18eb24,_0x194a32){const _0x287e4a=_0x98b479,_0x22dfaa=validateLoginPayload(_0x194a32[_0x287e4a(0x2fb)]);if(_0x22dfaa){this[_0x287e4a(0x286)](_0x18eb24[_0x287e4a(0x211)],_0x22dfaa,_0x194a32[_0x287e4a(0x242)]);return;}_0x18eb24[_0x287e4a(0x262)]&&(clearTimeout(_0x18eb24[_0x287e4a(0x262)]),_0x18eb24[_0x287e4a(0x262)]=void 0x0);await this[_0x287e4a(0x2c4)](_0x18eb24,'login-retried');const _0x307b99=createWorkerIdentityKey(_0x194a32['payload']['workerId'],_0x194a32['payload'][_0x287e4a(0x231)]),_0x30a89c=this[_0x287e4a(0x1ef)](_0x194a32[_0x287e4a(0x2fb)],_0x307b99);if(_0x30a89c){this[_0x287e4a(0x2f7)](_0x18eb24[_0x287e4a(0x211)],_0x194a32[_0x287e4a(0x242)],_0x30a89c);return;}if(_0x194a32[_0x287e4a(0x2fb)]['role']===_0x287e4a(0x29d)){await this['completeLogin'](_0x18eb24,_0x194a32[_0x287e4a(0x242)],_0x194a32[_0x287e4a(0x2fb)]);return;}if(!this['config'][_0x287e4a(0x2cf)]){await this[_0x287e4a(0x2a1)](_0x18eb24,_0x194a32['requestId'],_0x194a32[_0x287e4a(0x2fb)]);return;}const _0x34cfca=_0x194a32['payload']['loginToken']?verifyLoginToken(_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x225)],this[_0x287e4a(0x1dd)]['loginAuthorization'][_0x287e4a(0x254)]):null,_0x20f2dd=_0x34cfca&&_0x34cfca['workerId']===_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x269)]&&_0x34cfca[_0x287e4a(0x231)]===_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x231)]&&_0x34cfca[_0x287e4a(0x303)]===_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x303)];if(_0x20f2dd){const _0x44ae57=issueLoginToken({'workerId':_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x269)],'email':_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x231)],'role':_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x303)],'issuedAt':Date[_0x287e4a(0x29a)]()},this['config'][_0x287e4a(0x2cf)][_0x287e4a(0x254)]);await this['completeLogin'](_0x18eb24,_0x194a32[_0x287e4a(0x242)],_0x194a32[_0x287e4a(0x2fb)],_0x44ae57);return;}await this[_0x287e4a(0x27f)](_0x18eb24,_0x194a32,_0x194a32[_0x287e4a(0x2fb)][_0x287e4a(0x225)]?_0x287e4a(0x2d0):_0x287e4a(0x2ff));}[_0x98b479(0x1ef)](_0x50339f,_0x2634b9){const _0xae9549=_0x98b479;if(_0x50339f[_0xae9549(0x303)]!=='manager')return null;if(!this[_0xae9549(0x1dd)]['managerToken']||this[_0xae9549(0x1dd)][_0xae9549(0x24f)][_0xae9549(0x2eb)]()[_0xae9549(0x2fa)]===0x0)return _0xae9549(0x223);if(_0x50339f[_0xae9549(0x24f)]!==this[_0xae9549(0x1dd)][_0xae9549(0x24f)])return _0xae9549(0x20c);const _0x3ef907=this['registry'][_0xae9549(0x1cf)]({'role':_0xae9549(0x29d),'connectionState':'connected'});if(_0x3ef907[_0xae9549(0x294)](_0x3b54f7=>createWorkerIdentityKey(_0x3b54f7[_0xae9549(0x269)],_0x3b54f7[_0xae9549(0x231)])!==_0x2634b9))return _0xae9549(0x2b6);if(_0x3ef907[_0xae9549(0x2fa)]>0x0)return _0xae9549(0x2b6);return null;}async[_0x98b479(0x27f)](_0xca0fbf,_0x42610d,_0x218c48){const _0x31fe84=_0x98b479,_0x2e3e37={'authorizationId':crypto[_0x31fe84(0x246)](),'workerId':_0x42610d[_0x31fe84(0x2fb)]['workerId'],'email':_0x42610d[_0x31fe84(0x2fb)][_0x31fe84(0x231)],'role':_0x42610d['payload'][_0x31fe84(0x303)],'capabilitySummary':_0x42610d[_0x31fe84(0x2fb)][_0x31fe84(0x1d9)],'initialAvailability':_0x42610d[_0x31fe84(0x2fb)][_0x31fe84(0x307)]??_0x31fe84(0x267),'requestedAt':Date[_0x31fe84(0x29a)](),'reason':_0x218c48};_0xca0fbf[_0x31fe84(0x28a)]=_0x2e3e37[_0x31fe84(0x2a4)],this[_0x31fe84(0x2f0)][_0x31fe84(0x27e)](_0x2e3e37[_0x31fe84(0x2a4)],{'authorization':_0x2e3e37,'peerId':_0xca0fbf[_0x31fe84(0x211)]['id'],'requestId':_0x42610d[_0x31fe84(0x242)],'payload':clone(_0x42610d['payload'])}),await this[_0x31fe84(0x1f8)]({'type':_0x31fe84(0x26e),'authorization':clonePendingAuthorization(_0x2e3e37)}),this[_0x31fe84(0x2dc)](_0xca0fbf[_0x31fe84(0x211)],_0x42610d[_0x31fe84(0x242)],_0x2e3e37[_0x31fe84(0x2a4)],_0x218c48);}async['completeLogin'](_0x2868e1,_0x3cdfc1,_0xf67d23,_0x13d012){const _0x156d83=_0x98b479,_0x3b9698=Date[_0x156d83(0x29a)](),_0x3f9276=createWorkerIdentityKey(_0xf67d23[_0x156d83(0x269)],_0xf67d23[_0x156d83(0x231)]),_0x2e6971=this[_0x156d83(0x25a)][_0x156d83(0x203)](_0x3f9276),_0x51a426=_0x2e6971&&_0x2e6971!==_0x2868e1[_0x156d83(0x211)]['id']?this[_0x156d83(0x2f8)][_0x156d83(0x203)](_0x2e6971):void 0x0;_0x51a426?.['identityKey']===_0x3f9276&&await this[_0x156d83(0x297)](_0x51a426,_0x156d83(0x2e6));_0x2868e1[_0x156d83(0x262)]&&(clearTimeout(_0x2868e1[_0x156d83(0x262)]),_0x2868e1[_0x156d83(0x262)]=void 0x0);this['clearPendingAuthorization'](_0x2868e1),_0x2868e1[_0x156d83(0x1e3)]=_0x3f9276,this[_0x156d83(0x25a)][_0x156d83(0x27e)](_0x3f9276,_0x2868e1['peer']['id']);const _0x2f4ceb=this['registry'][_0x156d83(0x258)](_0x2868e1[_0x156d83(0x2b8)],_0xf67d23,_0x3b9698);await this['emitWorkerEvent']({'type':_0x156d83(0x2f6),'worker':this[_0x156d83(0x22b)](_0x2f4ceb[_0x156d83(0x22e)])}),this[_0x156d83(0x2cd)](_0x3f9276),this[_0x156d83(0x1d4)](_0x2868e1['peer'],_0x3cdfc1,_0x13d012);}[_0x98b479(0x233)](_0x158c6f){const _0x83dd5=_0x98b479;if(!_0x158c6f[_0x83dd5(0x28a)])return;this[_0x83dd5(0x2f0)]['delete'](_0x158c6f[_0x83dd5(0x28a)]),_0x158c6f[_0x83dd5(0x28a)]=void 0x0;}async['cancelPendingAuthorization'](_0x2a35ee,_0x1498b7){const _0xc43f04=_0x98b479;if(!_0x2a35ee[_0xc43f04(0x28a)])return;const _0x2bfdfc=_0x2a35ee[_0xc43f04(0x28a)],_0x5c5b7b=this[_0xc43f04(0x2f0)][_0xc43f04(0x203)](_0x2bfdfc);this[_0xc43f04(0x2f0)][_0xc43f04(0x2f3)](_0x2bfdfc),_0x2a35ee[_0xc43f04(0x28a)]=void 0x0;if(!_0x5c5b7b)return;await this['emitLoginAuthorizationEvent']({'type':_0xc43f04(0x2d3),'authorization':clonePendingAuthorization(_0x5c5b7b[_0xc43f04(0x2ba)]),'cause':_0x1498b7});}async['handleLogoutMessage'](_0x5e0ea5,_0x5b3e6c){const _0xd21344=_0x98b479;if(!_0x5e0ea5['identityKey']){this[_0xd21344(0x286)](_0x5e0ea5[_0xd21344(0x211)],'worker\x20is\x20not\x20logged\x20in',_0x5b3e6c);return;}await this[_0xd21344(0x27d)](_0x5e0ea5);const _0x15616b=this[_0xd21344(0x28b)][_0xd21344(0x2f4)](_0x5e0ea5[_0xd21344(0x1e3)]);this[_0xd21344(0x25a)][_0xd21344(0x2f3)](_0x5e0ea5[_0xd21344(0x1e3)]),_0x5e0ea5[_0xd21344(0x1e3)]=void 0x0,_0x15616b&&await this[_0xd21344(0x299)]({'type':'logout','worker':this[_0xd21344(0x22b)](_0x15616b['snapshot'])}),this['sendAck'](_0x5e0ea5[_0xd21344(0x211)],_0x5b3e6c);}async[_0x98b479(0x25e)](_0x14dc5c,_0x4b36df){const _0x188a2e=_0x98b479;if(!_0x14dc5c[_0x188a2e(0x1e3)]){this[_0x188a2e(0x286)](_0x14dc5c[_0x188a2e(0x211)],_0x188a2e(0x1bb),_0x4b36df['requestId']);return;}const _0x343882=this[_0x188a2e(0x28b)][_0x188a2e(0x203)](_0x14dc5c['identityKey']);if(!_0x343882){this[_0x188a2e(0x286)](_0x14dc5c[_0x188a2e(0x211)],_0x188a2e(0x1c2),_0x4b36df[_0x188a2e(0x242)]);return;}const _0x2a7549=this[_0x188a2e(0x28b)][_0x188a2e(0x30d)](_0x14dc5c['identityKey'],_0x4b36df[_0x188a2e(0x1e4)],Date[_0x188a2e(0x29a)]());if(!_0x2a7549){this[_0x188a2e(0x286)](_0x14dc5c[_0x188a2e(0x211)],_0x188a2e(0x1c2),_0x4b36df[_0x188a2e(0x242)]);return;}await this[_0x188a2e(0x299)]({'type':'availability-change','worker':this[_0x188a2e(0x22b)](_0x2a7549['snapshot']),'previousAvailability':_0x343882[_0x188a2e(0x22e)][_0x188a2e(0x1e4)],'previousAbnormalSource':_0x343882['snapshot'][_0x188a2e(0x30c)],'previousAbnormalReason':_0x343882[_0x188a2e(0x22e)][_0x188a2e(0x28d)]}),this[_0x188a2e(0x2ec)](_0x14dc5c[_0x188a2e(0x211)],_0x4b36df[_0x188a2e(0x242)]);}async['handleReportExceptionMessage'](_0x30eb22,_0x13d54d){const _0x2d4eff=_0x98b479;if(!_0x30eb22[_0x2d4eff(0x1e3)]){this[_0x2d4eff(0x286)](_0x30eb22[_0x2d4eff(0x211)],_0x2d4eff(0x1bb),_0x13d54d[_0x2d4eff(0x242)]);return;}if(_0x13d54d['reason'][_0x2d4eff(0x2eb)]()[_0x2d4eff(0x2fa)]===0x0){this[_0x2d4eff(0x286)](_0x30eb22[_0x2d4eff(0x211)],'exception\x20reason\x20is\x20required',_0x13d54d[_0x2d4eff(0x242)]);return;}const _0x561128=this[_0x2d4eff(0x28b)][_0x2d4eff(0x203)](_0x30eb22[_0x2d4eff(0x1e3)]);if(!_0x561128){this[_0x2d4eff(0x286)](_0x30eb22[_0x2d4eff(0x211)],_0x2d4eff(0x1c2),_0x13d54d[_0x2d4eff(0x242)]);return;}const _0x170be0=this['registry'][_0x2d4eff(0x1ff)](_0x30eb22[_0x2d4eff(0x1e3)],_0x13d54d['reason'],Date['now']());if(!_0x170be0){this[_0x2d4eff(0x286)](_0x30eb22[_0x2d4eff(0x211)],_0x2d4eff(0x1c2),_0x13d54d['requestId']);return;}await this['emitWorkerEvent']({'type':_0x2d4eff(0x283),'worker':this[_0x2d4eff(0x22b)](_0x170be0[_0x2d4eff(0x22e)]),'previousAvailability':_0x561128[_0x2d4eff(0x22e)][_0x2d4eff(0x1e4)],'previousAbnormalSource':_0x561128[_0x2d4eff(0x22e)][_0x2d4eff(0x30c)],'previousAbnormalReason':_0x561128[_0x2d4eff(0x22e)][_0x2d4eff(0x28d)]}),this['sendAck'](_0x30eb22[_0x2d4eff(0x211)],_0x13d54d['requestId']);}async['handleTaskStatusUpdateMessage'](_0x598d95,_0x3ee692){const _0x44d6e7=_0x98b479;if(!_0x598d95['identityKey']){this[_0x44d6e7(0x286)](_0x598d95[_0x44d6e7(0x211)],_0x44d6e7(0x1bb),_0x3ee692[_0x44d6e7(0x242)]);return;}const _0x1d26dc=this[_0x44d6e7(0x1c4)][_0x44d6e7(0x203)](_0x3ee692[_0x44d6e7(0x1eb)]);if(!_0x1d26dc){this[_0x44d6e7(0x286)](_0x598d95[_0x44d6e7(0x211)],_0x44d6e7(0x2c8),_0x3ee692[_0x44d6e7(0x242)]);return;}if(_0x1d26dc[_0x44d6e7(0x274)]!==_0x598d95[_0x44d6e7(0x1e3)]){this[_0x44d6e7(0x286)](_0x598d95[_0x44d6e7(0x211)],_0x44d6e7(0x304),_0x3ee692['requestId']);return;}try{validateTaskStatusUpdate(_0x3ee692[_0x44d6e7(0x229)],_0x1d26dc[_0x44d6e7(0x229)]);const _0x401122=this[_0x44d6e7(0x1c4)]['updateAvailability'](_0x3ee692[_0x44d6e7(0x1eb)],clone(_0x3ee692['status']),_0x3ee692[_0x44d6e7(0x2be)]?clone(_0x3ee692[_0x44d6e7(0x2be)]):void 0x0);await this[_0x44d6e7(0x1ee)]({'type':_0x44d6e7(0x210),'task':_0x401122,'status':_0x401122['status'],'message':_0x3ee692[_0x44d6e7(0x2be)]?clone(_0x3ee692['message']):void 0x0}),this[_0x44d6e7(0x2ec)](_0x598d95[_0x44d6e7(0x211)],_0x3ee692['requestId']);}catch(_0x42919d){this[_0x44d6e7(0x286)](_0x598d95[_0x44d6e7(0x211)],_0x42919d instanceof Error?_0x42919d['message']:_0x44d6e7(0x305),_0x3ee692[_0x44d6e7(0x242)]);}}async[_0x98b479(0x30b)](_0x4aa19a,_0x2984b5){const _0x583f6d=_0x98b479;if(!_0x4aa19a[_0x583f6d(0x1e3)]){this[_0x583f6d(0x286)](_0x4aa19a[_0x583f6d(0x211)],_0x583f6d(0x1bb),_0x2984b5[_0x583f6d(0x242)]);return;}const _0x88faf3=this[_0x583f6d(0x1c4)]['get'](_0x2984b5[_0x583f6d(0x1eb)]);if(!_0x88faf3){this['sendError'](_0x4aa19a[_0x583f6d(0x211)],'task\x20not\x20found',_0x2984b5[_0x583f6d(0x242)]);return;}if(_0x88faf3[_0x583f6d(0x274)]!==_0x4aa19a['identityKey']){this['sendError'](_0x4aa19a[_0x583f6d(0x211)],_0x583f6d(0x304),_0x2984b5['requestId']);return;}try{validateArtifact(_0x2984b5[_0x583f6d(0x2e4)]);const _0xcf6560=this[_0x583f6d(0x1c4)]['addArtifact'](_0x2984b5['taskId'],_0x2984b5[_0x583f6d(0x2e4)]);await this[_0x583f6d(0x1ee)]({'type':_0x583f6d(0x289),'task':_0xcf6560,'artifact':clone(_0x2984b5['artifact'])}),this[_0x583f6d(0x2ec)](_0x4aa19a['peer'],_0x2984b5['requestId']);}catch(_0x510e85){this['sendError'](_0x4aa19a['peer'],_0x510e85 instanceof Error?_0x510e85[_0x583f6d(0x2be)]:_0x583f6d(0x208),_0x2984b5[_0x583f6d(0x242)]);}}async[_0x98b479(0x1d7)](_0x3224c9,_0x5180a2){const _0x372c62=_0x98b479,_0x1c3b65=this[_0x372c62(0x28f)](_0x3224c9,_0x5180a2[_0x372c62(0x242)]);if(!_0x1c3b65)return;if(!this[_0x372c62(0x285)]){this['sendError'](_0x3224c9[_0x372c62(0x211)],_0x372c62(0x22f),_0x5180a2[_0x372c62(0x242)]);return;}try{const _0x3370dc=await this[_0x372c62(0x285)][_0x372c62(0x1f2)]({'name':_0x5180a2['name'],'args':cloneIfDefined(_0x5180a2[_0x372c62(0x312)])},_0x1c3b65);this[_0x372c62(0x20e)](_0x3224c9[_0x372c62(0x211)],_0x5180a2[_0x372c62(0x242)],cloneIfDefined(_0x3370dc));}catch(_0x569239){this[_0x372c62(0x286)](_0x3224c9[_0x372c62(0x211)],_0x569239 instanceof Error?_0x569239[_0x372c62(0x2be)]:_0x372c62(0x23d),_0x5180a2[_0x372c62(0x242)]);}}async[_0x98b479(0x23a)](_0x5130f7,_0x526bfa){const _0x395585=_0x98b479,_0x33a9e9=this[_0x395585(0x28f)](_0x5130f7,_0x526bfa[_0x395585(0x242)]);if(!_0x33a9e9)return;if(!this[_0x395585(0x285)]?.[_0x395585(0x1ce)]){this[_0x395585(0x286)](_0x5130f7[_0x395585(0x211)],_0x395585(0x313),_0x526bfa['requestId']);return;}await this[_0x395585(0x2b3)](_0x5130f7,_0x526bfa[_0x395585(0x263)]);const _0x43d2b9=await this['managerControlPlane']['subscribe'](_0x526bfa[_0x395585(0x263)],async _0xcbce52=>{const _0x226346=_0x395585;if(!this[_0x226346(0x2f8)][_0x226346(0x2cc)](_0x5130f7[_0x226346(0x211)]['id'])||!_0x5130f7[_0x226346(0x1e3)])return;this[_0x226346(0x220)](_0x5130f7[_0x226346(0x211)],{'eventName':_0xcbce52[_0x226346(0x263)],'payload':cloneIfDefined(_0xcbce52[_0x226346(0x2fb)])});},_0x33a9e9);_0x5130f7[_0x395585(0x2de)]['set'](_0x526bfa[_0x395585(0x263)],_0x43d2b9),this[_0x395585(0x2ec)](_0x5130f7['peer'],_0x526bfa[_0x395585(0x242)]);}async[_0x98b479(0x1fe)](_0x38b021,_0xe199da){const _0x3f5c82=_0x98b479,_0x2cddef=this[_0x3f5c82(0x28f)](_0x38b021,_0xe199da[_0x3f5c82(0x242)]);if(!_0x2cddef)return;await this['disposeManagerSubscription'](_0x38b021,_0xe199da[_0x3f5c82(0x263)]),this[_0x3f5c82(0x2ec)](_0x38b021[_0x3f5c82(0x211)],_0xe199da[_0x3f5c82(0x242)]);}async[_0x98b479(0x2e5)](_0x3f9ae9,_0x49270c){const _0x3401f4=_0x98b479,_0x5d2805=this[_0x3401f4(0x2f8)][_0x3401f4(0x203)](_0x3f9ae9['id']);if(!_0x5d2805)return;_0x5d2805[_0x3401f4(0x262)]&&clearTimeout(_0x5d2805[_0x3401f4(0x262)]);await this[_0x3401f4(0x27d)](_0x5d2805),this[_0x3401f4(0x2f8)]['delete'](_0x3f9ae9['id']),await this['cancelPendingAuthorization'](_0x5d2805,_0x49270c);if(!_0x5d2805[_0x3401f4(0x1e3)])return;if(this[_0x3401f4(0x25a)]['get'](_0x5d2805['identityKey'])!==_0x3f9ae9['id'])return;const _0x575365=this[_0x3401f4(0x28b)]['markDisconnected'](_0x5d2805[_0x3401f4(0x1e3)],_0x49270c,Date[_0x3401f4(0x29a)]());this['identityToPeerId'][_0x3401f4(0x2f3)](_0x5d2805[_0x3401f4(0x1e3)]),_0x575365&&await this['emitWorkerEvent']({'type':_0x3401f4(0x2c1),'worker':this[_0x3401f4(0x22b)](_0x575365[_0x3401f4(0x22e)]),'cause':_0x49270c});}async['forceDisconnect'](_0x24db4f,_0x11c838){const _0x588b19=_0x98b479;this[_0x588b19(0x2f8)][_0x588b19(0x2f3)](_0x24db4f[_0x588b19(0x211)]['id']);_0x24db4f['loginTimer']&&clearTimeout(_0x24db4f[_0x588b19(0x262)]);await this[_0x588b19(0x27d)](_0x24db4f),await this['cancelPendingAuthorization'](_0x24db4f,_0x11c838);if(_0x24db4f['identityKey']){const _0x59f886=this[_0x588b19(0x28b)][_0x588b19(0x318)](_0x24db4f[_0x588b19(0x1e3)],_0x11c838,Date['now']());this[_0x588b19(0x25a)][_0x588b19(0x2f3)](_0x24db4f['identityKey']),_0x24db4f[_0x588b19(0x1e3)]=void 0x0,_0x59f886&&await this[_0x588b19(0x299)]({'type':_0x588b19(0x2c1),'worker':this['deriveWorkerSnapshot'](_0x59f886[_0x588b19(0x22e)]),'cause':_0x11c838});}try{_0x24db4f[_0x588b19(0x211)]['close'](0xfa2,_0x588b19(0x288));}catch{_0x24db4f[_0x588b19(0x211)][_0x588b19(0x268)]();}}[_0x98b479(0x25c)](){const _0x1d4ab0=_0x98b479;this[_0x1d4ab0(0x213)]=setInterval(()=>{const _0x199c0e=_0x1d4ab0,_0x2fea4f=Date[_0x199c0e(0x29a)]();void this[_0x199c0e(0x2ad)](_0x2fea4f);},this['config'][_0x1d4ab0(0x240)]);}async['runHeartbeatSweep'](_0x440f24){const _0x509d40=_0x98b479;for(const _0x5834b9 of this['connections'][_0x509d40(0x27a)]()){if(!_0x5834b9[_0x509d40(0x1e3)])continue;const _0x3341b3=this[_0x509d40(0x28b)]['get'](_0x5834b9[_0x509d40(0x1e3)]);if(!_0x3341b3)continue;if(_0x440f24-_0x3341b3[_0x509d40(0x22e)][_0x509d40(0x315)]>this[_0x509d40(0x1dd)][_0x509d40(0x2e7)]){await this['forceDisconnect'](_0x5834b9,_0x509d40(0x20d));continue;}_0x5834b9['peer']['send'](stringifyServerMessage({'type':_0x509d40(0x1bf),'sentAt':_0x440f24}));}}[_0x98b479(0x2bd)](_0x277e5f){const _0x4649de=_0x98b479,_0x168c9c=_0x277e5f['startsWith'](_0x4649de(0x265))?new URL(_0x277e5f)[_0x4649de(0x23b)]:new URL(_0x277e5f,_0x4649de(0x1d1))['pathname'];return _0x168c9c===this[_0x4649de(0x1dd)][_0x4649de(0x1c5)];}[_0x98b479(0x2ec)](_0x18897a,_0x155c0b){const _0x228c05=_0x98b479,_0x4fd383={'type':'ack','requestId':_0x155c0b};_0x18897a[_0x228c05(0x1cc)](stringifyServerMessage(_0x4fd383));}[_0x98b479(0x2dc)](_0x1b93b0,_0x33bf2f,_0x2ab6a4,_0x458c19){const _0x299132=_0x98b479,_0x136ddf={'type':_0x299132(0x256),'requestId':_0x33bf2f,'authorizationId':_0x2ab6a4,'reason':_0x458c19};_0x1b93b0['send'](stringifyServerMessage(_0x136ddf));}[_0x98b479(0x1d4)](_0x5e2b87,_0x7ade2d,_0x3258cc){const _0x34a519=_0x98b479,_0x499631={'type':'login-approved','requestId':_0x7ade2d,'loginToken':_0x3258cc};_0x5e2b87[_0x34a519(0x1cc)](stringifyServerMessage(_0x499631));}[_0x98b479(0x2f7)](_0x369db8,_0x881ae2,_0x47b6f6){const _0x338ba1=_0x98b479,_0x3a3645={'type':'login-rejected','requestId':_0x881ae2,'message':_0x47b6f6};_0x369db8[_0x338ba1(0x1cc)](stringifyServerMessage(_0x3a3645));}['sendError'](_0x10be5d,_0x3741fb,_0x5ec5bf){const _0x475363=_0x98b479,_0x4b6f2c={'type':_0x475363(0x27b),'message':_0x3741fb,'requestId':_0x5ec5bf};_0x10be5d['send'](stringifyServerMessage(_0x4b6f2c));}[_0x98b479(0x2b1)](_0x46f7c4,_0x5f1420,_0x5ba383){const _0x28bc12=_0x98b479,_0x1bcff3=this[_0x28bc12(0x25a)][_0x28bc12(0x203)](_0x46f7c4);if(!_0x1bcff3)return;const _0x3d7a73=this[_0x28bc12(0x2f8)][_0x28bc12(0x203)](_0x1bcff3);if(!_0x3d7a73)return;const _0x238ae9={'type':'SendMessage','task':clone(_0x5f1420),'message':clone(_0x5ba383)};_0x3d7a73[_0x28bc12(0x211)][_0x28bc12(0x1cc)](stringifyServerMessage(_0x238ae9));}['dispatchTaskCancel'](_0x577916,_0x165767){const _0x3a004b=_0x98b479,_0x1109eb=this[_0x3a004b(0x25a)]['get'](_0x577916);if(!_0x1109eb)return;const _0x316f5f=this[_0x3a004b(0x2f8)][_0x3a004b(0x203)](_0x1109eb);if(!_0x316f5f)return;_0x316f5f[_0x3a004b(0x211)][_0x3a004b(0x1cc)](stringifyServerMessage({'type':_0x3a004b(0x1cd),'taskId':_0x165767}));}[_0x98b479(0x2cd)](_0x3c1ab7){const _0x5d94c7=_0x98b479,_0x3122e5=this[_0x5d94c7(0x1c4)][_0x5d94c7(0x2ab)](_0x3c1ab7);for(const _0x4c3957 of _0x3122e5){const _0x56e688=this[_0x5d94c7(0x1c4)][_0x5d94c7(0x26d)](_0x4c3957['id']);if(!_0x56e688)continue;this[_0x5d94c7(0x2b1)](_0x3c1ab7,_0x4c3957,_0x56e688);}}[_0x98b479(0x28f)](_0x694d66,_0x2b17ef){const _0x4bc0a4=_0x98b479;if(!_0x694d66['identityKey'])return this[_0x4bc0a4(0x286)](_0x694d66[_0x4bc0a4(0x211)],_0x4bc0a4(0x1bb),_0x2b17ef),null;const _0x32c7e0=this[_0x4bc0a4(0x28b)][_0x4bc0a4(0x203)](_0x694d66[_0x4bc0a4(0x1e3)])?.['snapshot'];if(!_0x32c7e0)return this[_0x4bc0a4(0x286)](_0x694d66[_0x4bc0a4(0x211)],_0x4bc0a4(0x1c2),_0x2b17ef),null;const _0x3f2f5d=this[_0x4bc0a4(0x22b)](_0x32c7e0);if(_0x3f2f5d[_0x4bc0a4(0x303)]!==_0x4bc0a4(0x29d))return this[_0x4bc0a4(0x286)](_0x694d66[_0x4bc0a4(0x211)],_0x4bc0a4(0x219),_0x2b17ef),null;return{'worker':_0x3f2f5d};}async[_0x98b479(0x27d)](_0x4c1ab8){const _0x3900c3=_0x98b479,_0x4fbf37=[..._0x4c1ab8['managerSubscriptions']['entries']()];_0x4c1ab8[_0x3900c3(0x2de)][_0x3900c3(0x317)]();for(const [,_0xe57945]of _0x4fbf37){typeof _0xe57945===_0x3900c3(0x251)&&await _0xe57945();}}async[_0x98b479(0x2b3)](_0x1be0f5,_0x3e279f){const _0x320c5c=_0x98b479,_0x2c408b=_0x1be0f5[_0x320c5c(0x2de)][_0x320c5c(0x203)](_0x3e279f);_0x1be0f5[_0x320c5c(0x2de)]['delete'](_0x3e279f),typeof _0x2c408b==='function'&&await _0x2c408b();}[_0x98b479(0x20e)](_0x4509d2,_0xdd3966,_0x2f96d3){const _0x556957=_0x98b479,_0x29cecc={'type':_0x556957(0x239),'requestId':_0xdd3966,'result':_0x2f96d3};_0x4509d2['send'](stringifyServerMessage(_0x29cecc));}[_0x98b479(0x220)](_0x10fef5,_0xfc91d2){const _0x1a102d=_0x98b479,_0x5c78c2={'type':_0x1a102d(0x26f),'eventName':_0xfc91d2[_0x1a102d(0x263)],'payload':_0xfc91d2[_0x1a102d(0x2fb)]};_0x10fef5[_0x1a102d(0x1cc)](stringifyServerMessage(_0x5c78c2));}[_0x98b479(0x22b)](_0x29296f){const _0x8f271b=_0x98b479,_0x27f126=createWorkerIdentityKey(_0x29296f['workerId'],_0x29296f[_0x8f271b(0x231)]),_0x16e701=this[_0x8f271b(0x1c4)][_0x8f271b(0x284)](_0x27f126)['length'],_0x33143b=_0x16e701>0x0?_0x8f271b(0x235):_0x8f271b(0x2a3);return{..._0x29296f,'activityState':_0x33143b,'activeTaskCount':_0x16e701};}async[_0x98b479(0x299)](_0x41bf05){const _0x583316=_0x98b479;for(const _0x152f53 of this[_0x583316(0x2a7)]){try{await _0x152f53({..._0x41bf05,'worker':cloneWorkerSnapshot(_0x41bf05['worker'])});}catch{}}}async[_0x98b479(0x1f8)](_0x354229){const _0x16cde1=_0x98b479;for(const _0x5b6c81 of this[_0x16cde1(0x2d5)]){try{_0x354229[_0x16cde1(0x21e)]===_0x16cde1(0x26e)?await _0x5b6c81({'type':'required','authorization':clonePendingAuthorization(_0x354229[_0x16cde1(0x2ba)])}):await _0x5b6c81({'type':_0x16cde1(0x2d3),'authorization':clonePendingAuthorization(_0x354229[_0x16cde1(0x2ba)]),'cause':_0x354229[_0x16cde1(0x228)]});}catch{}}}async[_0x98b479(0x1ee)](_0x31eeea){const _0x4737ff=_0x98b479;for(const _0x37042e of this[_0x4737ff(0x2a6)]){try{_0x31eeea[_0x4737ff(0x21e)]===_0x4737ff(0x210)?await _0x37042e({'type':_0x4737ff(0x210),'task':clone(_0x31eeea[_0x4737ff(0x2f1)]),'status':clone(_0x31eeea[_0x4737ff(0x229)]),'message':_0x31eeea[_0x4737ff(0x2be)]?clone(_0x31eeea[_0x4737ff(0x2be)]):void 0x0}):await _0x37042e({'type':_0x4737ff(0x289),'task':clone(_0x31eeea[_0x4737ff(0x2f1)]),'artifact':clone(_0x31eeea[_0x4737ff(0x2e4)])});}catch{}}}};function cloneWorkerSnapshot(_0x283bee){return{..._0x283bee};}function clonePendingAuthorization(_0x1a1f57){return{..._0x1a1f57};}function cloneIfDefined(_0x53bd0d){return _0x53bd0d===void 0x0?_0x53bd0d:clone(_0x53bd0d);}function resolveLoginAuthorizationConfig(_0x5a9021){const _0x16e26b=_0x98b479;if(_0x5a9021===![])return![];if(!_0x5a9021||typeof _0x5a9021[_0x16e26b(0x254)]!==_0x16e26b(0x260)||_0x5a9021[_0x16e26b(0x254)][_0x16e26b(0x2eb)]()[_0x16e26b(0x2fa)]===0x0)throw new Error('loginAuthorization.signingSecret\x20is\x20required');return{'mode':'manual','signingSecret':_0x5a9021[_0x16e26b(0x254)][_0x16e26b(0x2eb)]()};}function validateLoginPayload(_0x3fc4d8){const _0x4852f9=_0x98b479;if(!_0x3fc4d8||typeof _0x3fc4d8!==_0x4852f9(0x2a8))return _0x4852f9(0x2c9);if(typeof _0x3fc4d8[_0x4852f9(0x269)]!==_0x4852f9(0x260)||_0x3fc4d8[_0x4852f9(0x269)][_0x4852f9(0x2eb)]()[_0x4852f9(0x2fa)]===0x0)return _0x4852f9(0x301);if(typeof _0x3fc4d8[_0x4852f9(0x231)]!==_0x4852f9(0x260)||_0x3fc4d8[_0x4852f9(0x231)][_0x4852f9(0x2eb)]()[_0x4852f9(0x2fa)]===0x0)return _0x4852f9(0x20f);if(_0x3fc4d8[_0x4852f9(0x303)]!=='environment-operator'&&_0x3fc4d8['role']!==_0x4852f9(0x224)&&_0x3fc4d8['role']!=='verifier'&&_0x3fc4d8[_0x4852f9(0x303)]!==_0x4852f9(0x29d))return _0x4852f9(0x215);if(_0x3fc4d8[_0x4852f9(0x307)]!==void 0x0&&_0x3fc4d8[_0x4852f9(0x307)]!==_0x4852f9(0x267)&&_0x3fc4d8['initialAvailability']!==_0x4852f9(0x1cb)&&_0x3fc4d8[_0x4852f9(0x307)]!==_0x4852f9(0x2b9))return _0x4852f9(0x2db);if(typeof _0x3fc4d8['capabilitySummary']!==_0x4852f9(0x260)||_0x3fc4d8[_0x4852f9(0x1d9)][_0x4852f9(0x2eb)]()['length']===0x0)return _0x4852f9(0x1e0);return null;}function validateSendMessageParams(_0x12cf28){const _0x14d4a7=_0x98b479;if(!_0x12cf28[_0x14d4a7(0x2f5)][_0x14d4a7(0x269)][_0x14d4a7(0x2eb)]())throw new Error(_0x14d4a7(0x226));if(!_0x12cf28[_0x14d4a7(0x2f5)][_0x14d4a7(0x231)]['trim']())throw new Error(_0x14d4a7(0x1d2));validateParts(_0x12cf28[_0x14d4a7(0x2b5)]);}function validateTaskStatusUpdate(_0x5c303d,_0x1fa1c4){const _0x3532c5=_0x98b479,_0x170e1a=['submitted',_0x3532c5(0x276),_0x3532c5(0x1ea),_0x3532c5(0x295),'failed',_0x3532c5(0x2d3),_0x3532c5(0x1ca)];if(!_0x170e1a[_0x3532c5(0x29e)](_0x5c303d[_0x3532c5(0x28c)]))throw new Error(_0x3532c5(0x1c7));if(isTerminalTaskState(_0x1fa1c4[_0x3532c5(0x28c)]))throw new Error(_0x3532c5(0x2ac));}function validateArtifact(_0x4eaff7){const _0x50bfdc=_0x98b479;if(!_0x4eaff7['name'][_0x50bfdc(0x2eb)]())throw new Error('artifact\x20name\x20is\x20required');validateParts(_0x4eaff7[_0x50bfdc(0x2b5)]);}function validateParts(_0x950140){const _0x31a754=_0x98b479;if(!Array[_0x31a754(0x1fb)](_0x950140)||_0x950140[_0x31a754(0x2fa)]===0x0)throw new Error(_0x31a754(0x1e8));for(const _0x482707 of _0x950140){if(_0x482707[_0x31a754(0x21e)]===_0x31a754(0x2bc)&&_0x482707[_0x31a754(0x2bc)][_0x31a754(0x2eb)]()['length']===0x0)throw new Error(_0x31a754(0x202));if(_0x482707['type']===_0x31a754(0x2c5)&&_0x482707[_0x31a754(0x247)][_0x31a754(0x2eb)]()[_0x31a754(0x2fa)]===0x0)throw new Error(_0x31a754(0x232));}}export{WorkerClientSDK,WorkerServerSDK,isTerminalTaskState,issueLoginToken,resolveDefaultWorkerCredentialFile,splitWorkerKey,verifyLoginToken};
|
|
1
|
+
const _0x29733f=_0x5de4;function _0x2652(){const _0x278d09=['handleManagerUnsubscribeMessage','add','text','handleUpdateAvailabilityMessage','close','disconnected','clearManagerSubscriptions','worker-client-credentials','args','subscribe','MEEGO_HARNESS_WORKER_MANAGER_TOKEN','query','CancelTask','1111eBfvYE','listAbnormal','http://localhost','name','historyLength','handleTaskCancel','pendingAuthorizations','emitWorkerEvent','reason','persistLoginToken','registerManagerControlPlane','createTaskController','worker','matchesPath','metadata','missing-token','availability','manager-unsubscribe','sendHeartbeatAck','manager\x20is\x20already\x20connected','coder','send','clearLoginToken','updateAvailability','shouldStayConnected','registry','listReplayableByWorker','min','createOrContinue','identityToPeerId','parts','dispatchTaskMessage','CLOSING','isFinite','1704848FALCUp','sendAck','sendManagerCommandResult','manager\x20control\x20plane\x20is\x20not\x20configured','capabilitySummary\x20is\x20required','task\x20not\x20found','ENOENT','buildAgentMessage','emitLoginAuthorizationEvent','manualClose','sha256','clear','121OhymAx','markDisconnected','abnormalReason','agent','cancel','needsRestoreOnOpen','WebSocket\x20is\x20not\x20connected','startsWith','error','workerId','catch','offLoginAuthorization','nodeServer','heartbeatTimer','length','utf8','update-availability','loginAuthorization.signingSecret\x20is\x20required','WorkerServerSDK\x20is\x20already\x20listening','payload','trim','sendTaskStatusUpdate','manager-subscribe','kind','resolveCredentialFile','handleLoginMessage','sendRequest','terminate','snapshot','number','description','idle','addEventListener','cancelPendingAuthorization','assigneeWorkerKey','handleManagerSubscribeMessage','pendingRequests','end','push','completeLogin','entries','isArray','env','stop','abnormalSource','authorizationId','scheduleReconnect','login\x20payload\x20is\x20required','buildLoginPayload','slice','latestLoginToken','list','remove','task\x20is\x20already\x20terminal','handleReportExceptionMessage','reconnectMaxDelayMs','queryWorkers','14rAgcNM','failed','capabilitySummary','connected','manager\x20token\x20is\x20invalid','restoreSessionIfNeeded','url','initialAvailability','createHooks','offWorkerEvent','values','email\x20is\x20required','seedTasks','delete','artifact','reconnectDelayMs','path','listAbnormalWorkers','127.0.0.1','reject','loginAuthorization','handleTaskArtifactUpdateMessage','input-required','invalid-token','sendLoginRejected','tasks','active','listenWithNode','matchesFilters','destroy','working','socket','email','type','initialTasks','manager\x20command\x20failed','user','serverUrl','function','isLoggedIn','onTaskUpdate','manual','reason\x20is\x20required','now','connect','split','reconnect','10475688ABIhFX','activityState','loginTimer','lastSeenAt','touch','has','startHeartbeatLoop','server-stopping','session\x20replaced','rejected','abnormal','base64url','randomUUID','filter','get','uri','managerControlPlane','handleLogoutMessage','login-rejected','update','once','TaskStatusUpdate','history','cancelHandlers','message','hex','task','cause','socket\x20closed\x20unexpectedly','submitted','sendLoginPending','manager-command','string','WebSocket\x20connection\x20failed','listTasks','loginAuthorizationHandlers','records','readStoredLoginToken','explicitState','availability-change','busy','report-exception','worker\x20is\x20not\x20logged\x20in','3sAEhOB','listen','peer','peerId','reported\x20as\x20abnormal\x20during\x20login','validateManagerLogin','taskUpdateHandlers','login\x20authorization\x20not\x20found','available','reconnectTimer','clearPendingAuthorization','includes','connections','required','self-reported','task\x20status\x20update\x20failed','disposeManagerSubscription','verifier','sendManagerEvent','sendError','file-ref','object','map','WebSocketCtor','nodeAdapter','task\x20assignee\x20does\x20not\x20match\x20worker','cancelTask','requestId','manager','socket-closed','sendLoginApproved','/workers','getBySessionId','TaskArtifactUpdate','contextId','readyState','completed','handleManagerCommandMessage','sessionId','allRecords','handleUpgrade','login\x20required','exception\x20reason\x20is\x20required','manager\x20token\x20is\x20not\x20configured','lastLoginPayload','rejectPendingRequests','worker.workerId\x20is\x20required','task-status-update','deriveWorkerSnapshot','signingSecret','set','handleTaskStatusUpdateMessage','login\x20rejection\x20reason\x20is\x20required','.meego-harness','eventName','buildArtifact','reconnectBaseDelayMs','role\x20is\x20invalid','text\x20part\x20must\x20not\x20be\x20empty','handleSocketOpen','createPendingAuthorization','heartbeat-timeout','taskId','158760kimnhT','parse','file','open','server\x20stopping','state','canceled','7066rFftxN','manager-event','managerToken','ensureSocketOpen','heartbeat-ack','getTask','connection\x20closed','requireManagerContext','status','artifactId','pid','onWorkerEvent','offCancel','task-artifact-update','handleIncomingMessage','7687098UhsoDY','parts\x20must\x20contain\x20at\x20least\x20one\x20entry','from','default','config','cloneRecord','connectionState','6iwkDVU','onLoginAuthorization','some','3739135hskowC','data','runHeartbeatSweep','51530XmvOas','logout','messageId','cannot\x20continue\x20a\x20terminal\x20task','http','code','toString','environment-operator','login-pending','digest','credentialStore','stringify','listActiveByWorker','connectPromise','lastAvailabilityUpdatedAt','loginTimeoutMs','getLatestActionableMessage','manager\x20commands\x20require\x20manager\x20role','disconnect','loginToken','replayActiveTasks','pathname','onCancel','identityKey','ack','dispatchTaskCancel','handleSocketClose','login','worker\x20session\x20not\x20found','messageHandlers','authorization','.json','unknown\x20connection','onPending','taskStore','eventHandlers','exception','pendingAuthorizationId','initialWorkers','Not\x20Found','registerLogin','role','SendMessage','OPEN','addArtifact','managerSubscriptions','emitTaskUpdate','seedSnapshots','forceDisconnect','reportException','heartbeatIntervalMs','login-approved'];_0x2652=function(){return _0x278d09;};return _0x2652();}(function(_0x26d1bf,_0x4b66b4){const _0x33cd70=_0x5de4,_0x11ed66=_0x26d1bf();while(!![]){try{const _0x2e667e=parseInt(_0x33cd70(0x1b7))/0x1*(-parseInt(_0x33cd70(0x12c))/0x2)+parseInt(_0x33cd70(0xe6))/0x3*(parseInt(_0x33cd70(0x125))/0x4)+-parseInt(_0x33cd70(0x145))/0x5*(-parseInt(_0x33cd70(0x142))/0x6)+-parseInt(_0x33cd70(0x1f0))/0x7*(parseInt(_0x33cd70(0x1ab))/0x8)+parseInt(_0x33cd70(0x13b))/0x9+-parseInt(_0x33cd70(0x148))/0xa*(-parseInt(_0x33cd70(0x189))/0xb)+-parseInt(_0x33cd70(0xbb))/0xc;if(_0x2e667e===_0x4b66b4)break;else _0x11ed66['push'](_0x11ed66['shift']());}catch(_0x5f02d3){_0x11ed66['push'](_0x11ed66['shift']());}}}(_0x2652,0x6a4d5));import{createHash}from'crypto';import{chmod,mkdir,readFile,rename,rm,writeFile}from'fs/promises';import{homedir}from'os';import{dirname,join}from'path';import _0x186bf6 from'process';function resolveDefaultWorkerCredentialFile(_0x4cff17,_0x460f3c,_0x5a4e57,_0x46bb5a=homedir()){const _0x3c3b58=_0x5de4,_0x65f394=createHash(_0x3c3b58(0x1b5))[_0x3c3b58(0xce)](_0x4cff17+'::'+_0x460f3c+'::'+_0x5a4e57)[_0x3c3b58(0x151)](_0x3c3b58(0xd4));return join(_0x46bb5a,_0x3c3b58(0x11b),_0x3c3b58(0x183),_0x65f394+_0x3c3b58(0x167));}async function readWorkerCredential(_0x30aba1){const _0x2a882f=_0x5de4;try{const _0x4c5baa=await readFile(_0x30aba1,_0x2a882f(0x1c6)),_0x353404=JSON[_0x2a882f(0x126)](_0x4c5baa);if(typeof _0x353404[_0x2a882f(0x15b)]!==_0x2a882f(0xdb)||_0x353404[_0x2a882f(0x15b)][_0x2a882f(0x1c5)]===0x0)return void 0x0;return _0x353404;}catch(_0x3bcc2b){if(_0x3bcc2b?.['code']===_0x2a882f(0x1b1))return void 0x0;throw _0x3bcc2b;}}async function writeWorkerCredential(_0x20d972,_0x42713e){const _0x5df042=_0x5de4;await mkdir(dirname(_0x20d972),{'recursive':!![]});const _0x556c05=_0x20d972+'.'+_0x186bf6[_0x5df042(0x136)]+'.'+Date['now']()+'.tmp',_0x3c1116=JSON[_0x5df042(0x153)]({..._0x42713e,'updatedAt':Date['now']()});await writeFile(_0x556c05,_0x3c1116,{'encoding':_0x5df042(0x1c6),'mode':0x180}),await rename(_0x556c05,_0x20d972),await chmod(_0x20d972,0x180);}async function deleteWorkerCredential(_0x150ff5){const _0x262066=_0x5de4;try{await rm(_0x150ff5,{'force':!![]});}catch(_0x5f088f){if(_0x5f088f?.[_0x262066(0x14d)]===_0x262066(0x1b1))return;throw _0x5f088f;}}function parseClientMessage(_0x4e0f81){const _0x3a515c=_0x5de4;try{const _0x4e8e85=JSON[_0x3a515c(0x126)](_0x4e0f81);if(!_0x4e8e85||typeof _0x4e8e85!==_0x3a515c(0xfb)||typeof _0x4e8e85[_0x3a515c(0x211)]!==_0x3a515c(0xdb))return null;switch(_0x4e8e85[_0x3a515c(0x211)]){case'login':case'logout':case _0x3a515c(0x1c7):case _0x3a515c(0xe4):case _0x3a515c(0x130):case _0x3a515c(0xda):case _0x3a515c(0x1cd):case _0x3a515c(0x19a):case _0x3a515c(0xd0):case'TaskArtifactUpdate':return _0x4e8e85;default:return null;}}catch{return null;}}function stringifyServerMessage(_0x5ad612){return JSON['stringify'](_0x5ad612);}function stringifyClientMessage(_0x37e2a9){const _0x2ce540=_0x5de4;return JSON[_0x2ce540(0x153)](_0x37e2a9);}var DEFAULT_CONFIG={'reconnect':!![],'reconnectBaseDelayMs':0xc8,'reconnectMaxDelayMs':0x1388,'credentialStore':{}},WorkerClientSDK=class{[_0x29733f(0x13f)];['messageHandlers']=new Set();[_0x29733f(0xd2)]=new Set();[_0x29733f(0x20f)]=null;['connectPromise']=null;[_0x29733f(0x1db)]=new Map();[_0x29733f(0xef)];['reconnectDelayMs'];[_0x29733f(0x1a1)]=![];[_0x29733f(0x1b4)]=![];[_0x29733f(0x1bc)]=![];['isLoggedIn']=![];[_0x29733f(0x112)];[_0x29733f(0xe1)];[_0x29733f(0x1e9)];constructor(_0x2776cf){const _0x13e79c=_0x29733f;this[_0x13e79c(0x13f)]={...DEFAULT_CONFIG,..._0x2776cf,'WebSocketCtor':_0x2776cf[_0x13e79c(0xfd)]??WebSocket},this[_0x13e79c(0x1ff)]=this[_0x13e79c(0x13f)][_0x13e79c(0x11e)];}async[_0x29733f(0xb8)](){const _0x5daf6e=_0x29733f;this[_0x5daf6e(0x1a1)]=!![];if(this[_0x5daf6e(0x20f)]&&this[_0x5daf6e(0x20f)][_0x5daf6e(0x109)]===WebSocket[_0x5daf6e(0x173)])return this;if(this[_0x5daf6e(0x155)])return this[_0x5daf6e(0x155)];return this[_0x5daf6e(0x1b4)]=![],this[_0x5daf6e(0x155)]=new Promise((_0x957377,_0x222349)=>{const _0x486df3=_0x5daf6e,_0x1ee9b7=new this[(_0x486df3(0x13f))][(_0x486df3(0xfd))](this[_0x486df3(0x13f)]['serverUrl']);this[_0x486df3(0x20f)]=_0x1ee9b7,_0x1ee9b7[_0x486df3(0x1d7)](_0x486df3(0x128),()=>{const _0x524c1c=_0x486df3;this[_0x524c1c(0x1ff)]=this['config'][_0x524c1c(0x11e)],this[_0x524c1c(0x155)]=null,void this['restoreSessionIfNeeded'](),_0x957377(this);}),_0x1ee9b7[_0x486df3(0x1d7)]('error',()=>{const _0x50808d=_0x486df3;_0x1ee9b7[_0x50808d(0x109)]!==WebSocket['OPEN']&&(this['connectPromise']=null,_0x222349(new Error(_0x50808d(0xdc))));}),_0x1ee9b7['addEventListener']('message',_0xcff94c=>{const _0x32dfa5=_0x486df3;void this[_0x32dfa5(0x13a)](String(_0xcff94c[_0x32dfa5(0x146)]));}),_0x1ee9b7[_0x486df3(0x1d7)]('close',()=>{this['handleSocketClose']();});}),this[_0x5daf6e(0x155)];}async['disconnect'](){const _0x557ffb=_0x29733f;this[_0x557ffb(0x1a1)]=![],this[_0x557ffb(0x1b4)]=!![],this['reconnectTimer']&&(clearTimeout(this[_0x557ffb(0xef)]),this[_0x557ffb(0xef)]=void 0x0),this[_0x557ffb(0xb3)]&&await this['logout'](),this[_0x557ffb(0x20f)]&&this[_0x557ffb(0x20f)]['readyState']<WebSocket[_0x557ffb(0x1a9)]&&this[_0x557ffb(0x20f)][_0x557ffb(0x180)](),this['socket']=null,this['rejectPendingRequests'](new Error(_0x557ffb(0x132)));}async[_0x29733f(0x163)](_0xa16732){const _0x85e7d1=_0x29733f,_0x1cfcfc=await this[_0x85e7d1(0x1e7)](_0xa16732);let _0x27a5e6;try{_0x27a5e6=await this['sendRequest']({'type':_0x85e7d1(0x163),'payload':_0x1cfcfc},{'kind':_0x85e7d1(0x163),'onPending':async _0x1fcdb2=>{const _0x4b4cbf=_0x85e7d1;_0x1fcdb2[_0x4b4cbf(0x191)]==='invalid-token'&&await this[_0x4b4cbf(0x19f)](_0xa16732);}});}catch(_0x223ae0){await this['clearLoginToken'](_0xa16732);throw _0x223ae0;}_0x27a5e6[_0x85e7d1(0x15b)]&&(this[_0x85e7d1(0x1e9)]=_0x27a5e6[_0x85e7d1(0x15b)],await this[_0x85e7d1(0x192)](_0xa16732,_0x27a5e6[_0x85e7d1(0x15b)])),this['lastLoginPayload']={..._0xa16732,'loginToken':void 0x0},this[_0x85e7d1(0xb3)]=!![],this[_0x85e7d1(0x1bc)]=![],this['explicitState']=void 0x0;}async[_0x29733f(0x149)](){const _0x25134c=_0x29733f;await this[_0x25134c(0x1d1)]({'type':_0x25134c(0x149)},{'kind':_0x25134c(0x13e)}),this[_0x25134c(0xb3)]=![],this[_0x25134c(0x112)]=void 0x0,this['explicitState']=void 0x0,this['needsRestoreOnOpen']=![];}async[_0x29733f(0x1a0)](_0x63a3f0){const _0x556215=_0x29733f;await this[_0x556215(0x1d1)]({'type':_0x556215(0x1c7),'availability':_0x63a3f0},{'kind':_0x556215(0x13e)}),this[_0x556215(0xe1)]={'type':'availability','availability':_0x63a3f0};}async[_0x29733f(0x179)](_0x36d5d8){const _0x3f76ed=_0x29733f;if(_0x36d5d8[_0x3f76ed(0x1cb)]()['length']===0x0)throw new Error(_0x3f76ed(0xb6));await this['sendRequest']({'type':_0x3f76ed(0xe4),'reason':_0x36d5d8},{'kind':_0x3f76ed(0x13e)}),this[_0x3f76ed(0xe1)]={'type':'exception','reason':_0x36d5d8};}['onMessage'](_0x35c3a1){const _0x3ff32b=_0x29733f;return this['messageHandlers'][_0x3ff32b(0x17d)](_0x35c3a1),this;}[_0x29733f(0x15e)](_0x5077a4){const _0x4de8a5=_0x29733f;return this['cancelHandlers'][_0x4de8a5(0x17d)](_0x5077a4),this;}[_0x29733f(0x138)](_0x936399){const _0x16a70c=_0x29733f;return this[_0x16a70c(0xd2)][_0x16a70c(0x1fd)](_0x936399),this;}async[_0x29733f(0x13a)](_0x4a2024){const _0x3fa0d1=_0x29733f,_0x2d6496=JSON[_0x3fa0d1(0x126)](_0x4a2024);switch(_0x2d6496[_0x3fa0d1(0x211)]){case _0x3fa0d1(0x160):{const _0x12ac1a=this[_0x3fa0d1(0x1db)]['get'](_0x2d6496[_0x3fa0d1(0x101)]);if(!_0x12ac1a)return;this['pendingRequests'][_0x3fa0d1(0x1fd)](_0x2d6496['requestId']),_0x12ac1a['resolve']();return;}case _0x3fa0d1(0x150):{const _0xbb083e=this[_0x3fa0d1(0x1db)][_0x3fa0d1(0xc9)](_0x2d6496[_0x3fa0d1(0x101)]);if(!_0xbb083e)return;await _0xbb083e[_0x3fa0d1(0x169)]?.(_0x2d6496);return;}case _0x3fa0d1(0x17b):{const _0x2368ea=this['pendingRequests']['get'](_0x2d6496[_0x3fa0d1(0x101)]);if(!_0x2368ea)return;this[_0x3fa0d1(0x1db)][_0x3fa0d1(0x1fd)](_0x2d6496[_0x3fa0d1(0x101)]),_0x2368ea['resolve'](_0x2d6496);return;}case _0x3fa0d1(0xcd):{const _0x3d1039=this['pendingRequests'][_0x3fa0d1(0xc9)](_0x2d6496[_0x3fa0d1(0x101)]);if(!_0x3d1039)return;this[_0x3fa0d1(0x1db)][_0x3fa0d1(0x1fd)](_0x2d6496[_0x3fa0d1(0x101)]),_0x3d1039[_0x3fa0d1(0x203)](new Error(_0x2d6496['message']));return;}case'error':{const _0x17bd28=_0x2d6496[_0x3fa0d1(0x101)]?this[_0x3fa0d1(0x1db)][_0x3fa0d1(0xc9)](_0x2d6496[_0x3fa0d1(0x101)]):void 0x0;if(_0x17bd28&&_0x2d6496[_0x3fa0d1(0x101)]){this['pendingRequests'][_0x3fa0d1(0x1fd)](_0x2d6496[_0x3fa0d1(0x101)]),_0x17bd28[_0x3fa0d1(0x203)](new Error(_0x2d6496[_0x3fa0d1(0xd3)]));return;}throw new Error(_0x2d6496[_0x3fa0d1(0xd3)]);}case'heartbeat':{await this[_0x3fa0d1(0x19b)](_0x2d6496);return;}case _0x3fa0d1(0x172):{await this['dispatchTaskMessage'](_0x2d6496);return;}case'CancelTask':{await this[_0x3fa0d1(0x18e)](_0x2d6496);}}}async[_0x29733f(0x19b)](_0x537a5f){const _0x1dd47c=_0x29733f;this[_0x1dd47c(0x12f)](),this['socket'][_0x1dd47c(0x19e)](stringifyClientMessage({'type':'heartbeat-ack'}));}[_0x29733f(0x162)](){const _0x355fea=_0x29733f,_0x19e4b8=this['shouldStayConnected']&&!this[_0x355fea(0x1b4)]&&this[_0x355fea(0x13f)]['reconnect'];this[_0x355fea(0x155)]=null,this['socket']=null,this[_0x355fea(0x113)](new Error(_0x355fea(0x132)));this['isLoggedIn']&&(this['needsRestoreOnOpen']=!![]);this[_0x355fea(0xb3)]=![];if(!_0x19e4b8)return;this[_0x355fea(0x1e5)]();}['scheduleReconnect'](){const _0x4c7441=_0x29733f;if(this[_0x4c7441(0xef)])return;const _0x2a86c6=this['reconnectDelayMs'];this[_0x4c7441(0x1ff)]=Math[_0x4c7441(0x1a4)](this[_0x4c7441(0x1ff)]*0x2,this[_0x4c7441(0x13f)][_0x4c7441(0x1ee)]),this[_0x4c7441(0xef)]=setTimeout(()=>{const _0x5525f3=_0x4c7441;this['reconnectTimer']=void 0x0,void this[_0x5525f3(0xb8)]()[_0x5525f3(0x1c1)](()=>{const _0x2d272b=_0x5525f3;this[_0x2d272b(0x1a1)]&&this[_0x2d272b(0x13f)][_0x2d272b(0xba)]&&this[_0x2d272b(0x1e5)]();});},_0x2a86c6);}async[_0x29733f(0x1f5)](){const _0x44513e=_0x29733f;if(!this[_0x44513e(0x1bc)]||!this['lastLoginPayload'])return;try{const _0x483882=await this[_0x44513e(0x1e7)](this[_0x44513e(0x112)]),_0x159340=await this[_0x44513e(0x1d1)]({'type':_0x44513e(0x163),'payload':_0x483882},{'kind':_0x44513e(0x163),'onPending':async _0x10c17f=>{const _0x2e0f7f=_0x44513e;_0x10c17f[_0x2e0f7f(0x191)]===_0x2e0f7f(0x207)&&await this[_0x2e0f7f(0x19f)](this['lastLoginPayload']);}});this['isLoggedIn']=!![];_0x159340['loginToken']&&(this[_0x44513e(0x1e9)]=_0x159340[_0x44513e(0x15b)],await this[_0x44513e(0x192)](this[_0x44513e(0x112)],_0x159340[_0x44513e(0x15b)]));if(!this['explicitState']){this['needsRestoreOnOpen']=![];return;}if(this[_0x44513e(0xe1)][_0x44513e(0x211)]===_0x44513e(0x199)&&this['explicitState']['availability']===(this[_0x44513e(0x112)][_0x44513e(0x1f7)]??_0x44513e(0xee))){this[_0x44513e(0x1bc)]=![];return;}this[_0x44513e(0xe1)]['type']==='availability'?await this[_0x44513e(0x1d1)]({'type':_0x44513e(0x1c7),'availability':this[_0x44513e(0xe1)][_0x44513e(0x199)]},{'kind':_0x44513e(0x13e)}):await this[_0x44513e(0x1d1)]({'type':_0x44513e(0xe4),'reason':this[_0x44513e(0xe1)][_0x44513e(0x191)]},{'kind':_0x44513e(0x13e)}),this[_0x44513e(0x1bc)]=![];}catch{this[_0x44513e(0x20f)]&&this[_0x44513e(0x20f)][_0x44513e(0x109)]<WebSocket[_0x44513e(0x1a9)]&&this[_0x44513e(0x20f)][_0x44513e(0x180)]();}}async[_0x29733f(0x1a8)](_0x592f04){const _0x2dd3c2=_0x29733f,_0x117bf7={'task':structuredClone(_0x592f04[_0x2dd3c2(0xd5)]),'message':structuredClone(_0x592f04[_0x2dd3c2(0xd3)]),'controller':this['createTaskController'](_0x592f04[_0x2dd3c2(0xd5)])};for(const _0x23715a of this[_0x2dd3c2(0x165)]){await _0x23715a(_0x117bf7);}}async[_0x29733f(0x18e)](_0x281a28){const _0x47686c=_0x29733f,_0x5f233f={'taskId':_0x281a28[_0x47686c(0x124)]};for(const _0xf11c4c of this[_0x47686c(0xd2)]){await _0xf11c4c(_0x5f233f);}}[_0x29733f(0x194)](_0x3b6d5b){return{'working':async _0x1b7c98=>{const _0x2ff075=_0x5de4;await this[_0x2ff075(0x1cc)](_0x3b6d5b,_0x2ff075(0x20e),_0x1b7c98);},'inputRequired':async _0x2f0732=>{const _0x1c0b46=_0x5de4;await this[_0x1c0b46(0x1cc)](_0x3b6d5b,'input-required',_0x2f0732);},'addArtifact':async _0x4fa6e0=>{const _0x2bbc8b=_0x5de4,_0x55e511=this['buildArtifact'](_0x4fa6e0);return await this['sendRequest']({'type':_0x2bbc8b(0x107),'taskId':_0x3b6d5b['id'],'artifact':_0x55e511},{'kind':_0x2bbc8b(0x13e)}),_0x55e511;},'complete':async _0x1a22f7=>{const _0x34e226=_0x5de4;await this[_0x34e226(0x1cc)](_0x3b6d5b,_0x34e226(0x10a),_0x1a22f7);},'fail':async _0x27cb1b=>{const _0x27ea8f=_0x5de4;await this[_0x27ea8f(0x1cc)](_0x3b6d5b,_0x27ea8f(0x1f1),_0x27cb1b);},'reject':async _0x275d63=>{const _0x550554=_0x5de4;await this[_0x550554(0x1cc)](_0x3b6d5b,_0x550554(0xc4),_0x275d63);}};}async[_0x29733f(0x1cc)](_0x14a161,_0x56eee4,_0x211098){const _0x2cd965=_0x29733f,_0x46e31a=_0x211098?this[_0x2cd965(0x1b2)](_0x14a161,_0x211098):void 0x0;await this['sendRequest']({'type':_0x2cd965(0xd0),'taskId':_0x14a161['id'],'status':{'state':_0x56eee4,'timestamp':Date[_0x2cd965(0xb7)](),'message':toStatusMessage(_0x211098)},'message':_0x46e31a},{'kind':_0x2cd965(0x13e)});}[_0x29733f(0x1b2)](_0x338d66,_0x3f9fde){const _0x318083=_0x29733f;return{'messageId':crypto[_0x318083(0xc7)](),'contextId':_0x338d66[_0x318083(0x108)],'taskId':_0x338d66['id'],'role':_0x318083(0x1ba),'parts':structuredClone(_0x3f9fde[_0x318083(0x1a7)]),'metadata':_0x3f9fde[_0x318083(0x197)]?structuredClone(_0x3f9fde[_0x318083(0x197)]):void 0x0};}[_0x29733f(0x11d)](_0x5eb06a){const _0x1b7d92=_0x29733f;return{'artifactId':_0x5eb06a[_0x1b7d92(0x135)]??crypto['randomUUID'](),'name':_0x5eb06a[_0x1b7d92(0x18c)],'description':_0x5eb06a[_0x1b7d92(0x1d5)],'parts':structuredClone(_0x5eb06a['parts']),'metadata':_0x5eb06a['metadata']?structuredClone(_0x5eb06a['metadata']):void 0x0};}async[_0x29733f(0x1e7)](_0xf9e2d5){const _0x2aca9e=_0x29733f;if(_0xf9e2d5[_0x2aca9e(0x15b)])return{..._0xf9e2d5};const _0x423286=this[_0x2aca9e(0x1e9)]??await this[_0x2aca9e(0xe0)](_0xf9e2d5);return _0x423286?{..._0xf9e2d5,'loginToken':_0x423286}:{..._0xf9e2d5};}async[_0x29733f(0x192)](_0xeee6d4,_0x1a73e0){const _0x185924=_0x29733f;if(this[_0x185924(0x13f)][_0x185924(0x152)]===![])return;await writeWorkerCredential(this[_0x185924(0x1cf)](_0xeee6d4),{'serverUrl':this[_0x185924(0x13f)][_0x185924(0xb1)],'workerId':_0xeee6d4['workerId'],'email':_0xeee6d4[_0x185924(0x210)],'loginToken':_0x1a73e0});}async[_0x29733f(0xe0)](_0xeed78e){const _0x423fe3=_0x29733f;if(this[_0x423fe3(0x13f)][_0x423fe3(0x152)]===![])return void 0x0;const _0x3c305d=await readWorkerCredential(this[_0x423fe3(0x1cf)](_0xeed78e));return _0x3c305d?.[_0x423fe3(0x15b)];}async[_0x29733f(0x19f)](_0x4ee8e1){const _0x369fef=_0x29733f;this[_0x369fef(0x1e9)]=void 0x0;if(this[_0x369fef(0x13f)]['credentialStore']===![])return;await deleteWorkerCredential(this[_0x369fef(0x1cf)](_0x4ee8e1));}['resolveCredentialFile'](_0x3e1771){const _0x36ee8e=_0x29733f;if(this[_0x36ee8e(0x13f)][_0x36ee8e(0x152)]!==![]&&this[_0x36ee8e(0x13f)][_0x36ee8e(0x152)][_0x36ee8e(0x127)])return this[_0x36ee8e(0x13f)]['credentialStore'][_0x36ee8e(0x127)];return resolveDefaultWorkerCredentialFile(this[_0x36ee8e(0x13f)][_0x36ee8e(0xb1)],_0x3e1771[_0x36ee8e(0x1c0)],_0x3e1771[_0x36ee8e(0x210)]);}async['sendRequest'](_0x89f2fc,_0x544672){const _0xc3642b=_0x29733f;this[_0xc3642b(0x12f)]();const _0x5ccba9=crypto[_0xc3642b(0xc7)](),_0x4badac=new Promise((_0x4cd7b9,_0x5529ff)=>{const _0x2d4e68=_0xc3642b;this[_0x2d4e68(0x1db)][_0x2d4e68(0x118)](_0x5ccba9,{'kind':_0x544672[_0x2d4e68(0x1ce)],'onPending':_0x544672[_0x2d4e68(0x169)],'resolve':_0x4cd7b9,'reject':_0x5529ff});}),_0xb2b50e={..._0x89f2fc,'requestId':_0x5ccba9};return this[_0xc3642b(0x20f)][_0xc3642b(0x19e)](stringifyClientMessage(_0xb2b50e)),await _0x4badac;}['ensureSocketOpen'](){const _0x51e707=_0x29733f;if(!this['socket']||this[_0x51e707(0x20f)][_0x51e707(0x109)]!==WebSocket[_0x51e707(0x173)])throw new Error(_0x51e707(0x1bd));}[_0x29733f(0x113)](_0x2ecdee){const _0x3c15fb=_0x29733f;for(const _0xdef65c of this[_0x3c15fb(0x1db)]['values']()){_0xdef65c[_0x3c15fb(0x203)](_0x2ecdee);}this[_0x3c15fb(0x1db)]['clear']();}};function toStatusMessage(_0x36135d){const _0x4167bc=_0x29733f,_0x19d3c5=_0x36135d?.[_0x4167bc(0x1a7)][0x0];if(!_0x19d3c5)return void 0x0;if(_0x19d3c5['type']===_0x4167bc(0x17e))return _0x19d3c5[_0x4167bc(0x17e)];if(_0x19d3c5[_0x4167bc(0x211)]===_0x4167bc(0xfa))return _0x19d3c5[_0x4167bc(0x18c)]??_0x19d3c5[_0x4167bc(0xca)];return _0x19d3c5['mimeType']??'structured\x20payload';}import{Buffer}from'buffer';import{createHmac}from'crypto';function issueLoginToken(_0x2acad6,_0x53fb40){const _0x49b2cc=_0x29733f,_0x251ea1=Buffer[_0x49b2cc(0x13d)](JSON[_0x49b2cc(0x153)](_0x2acad6))[_0x49b2cc(0x14e)]('base64url'),_0x3ee4a4=signPayload(_0x251ea1,_0x53fb40);return _0x251ea1+'.'+_0x3ee4a4;}function verifyLoginToken(_0x382582,_0xd07855){const _0x23ee71=_0x29733f,_0x2b04a3=_0x382582[_0x23ee71(0xb9)]('.');if(_0x2b04a3['length']!==0x2)return null;const [_0x792dc0,_0x4ce20d]=_0x2b04a3;if(!_0x792dc0||!_0x4ce20d||signPayload(_0x792dc0,_0xd07855)!==_0x4ce20d)return null;try{const _0x4ad0d7=JSON[_0x23ee71(0x126)](Buffer[_0x23ee71(0x13d)](_0x792dc0,_0x23ee71(0xc6))['toString'](_0x23ee71(0x1c6)));if(typeof _0x4ad0d7[_0x23ee71(0x1c0)]!==_0x23ee71(0xdb)||typeof _0x4ad0d7['email']!=='string'||_0x4ad0d7['role']!=='environment-operator'&&_0x4ad0d7['role']!==_0x23ee71(0x19d)&&_0x4ad0d7[_0x23ee71(0x171)]!==_0x23ee71(0xf7)&&_0x4ad0d7[_0x23ee71(0x171)]!==_0x23ee71(0x102)||typeof _0x4ad0d7['issuedAt']!==_0x23ee71(0x1d4)||!Number[_0x23ee71(0x1aa)](_0x4ad0d7['issuedAt']))return null;return _0x4ad0d7;}catch{return null;}}function signPayload(_0xaa4b84,_0xaabab5){const _0x8445fb=_0x29733f;return createHmac(_0x8445fb(0x1b5),_0xaabab5)[_0x8445fb(0xce)](_0xaa4b84)[_0x8445fb(0x151)](_0x8445fb(0xc6));}import{createServer}from'http';import _0x447dfc from'process';var DISCONNECT_REASON_MAP={'socket-closed':_0x29733f(0xd7),'heartbeat-timeout':'heartbeat\x20timed\x20out','session-replaced':'session\x20replaced\x20by\x20a\x20new\x20login'};function createWorkerIdentityKey(_0x352ee0,_0x9ef8f2){return _0x352ee0+'::'+_0x9ef8f2;}function _0x5de4(_0x183cdf,_0x5d163e){_0x183cdf=_0x183cdf-0xae;const _0x265251=_0x2652();let _0x5de485=_0x265251[_0x183cdf];return _0x5de485;}var WorkerSessionRegistry=class{['records']=new Map();[_0x29733f(0x177)](_0x3b5b6b){const _0x388e6e=_0x29733f;this['records'][_0x388e6e(0x1b6)]();for(const _0x43e1d2 of _0x3b5b6b){const _0xd322d7=createWorkerIdentityKey(_0x43e1d2[_0x388e6e(0x1c0)],_0x43e1d2[_0x388e6e(0x210)]);this['records'][_0x388e6e(0x118)](_0xd322d7,{'identityKey':_0xd322d7,'sessionId':'seed:'+_0xd322d7,'snapshot':cloneSnapshot(_0x43e1d2)});}}['registerLogin'](_0x231c28,_0xd5369,_0x538c74){const _0x48c40c=_0x29733f,_0xabd64e=createWorkerIdentityKey(_0xd5369[_0x48c40c(0x1c0)],_0xd5369['email']),_0x9906f3={'workerId':_0xd5369[_0x48c40c(0x1c0)],'email':_0xd5369[_0x48c40c(0x210)],'role':_0xd5369['role'],'capabilitySummary':_0xd5369[_0x48c40c(0x1f2)],'availability':_0xd5369[_0x48c40c(0x1f7)]??_0x48c40c(0xee),'activityState':_0x48c40c(0x1d6),'activeTaskCount':0x0,'connectionState':'connected','connectedAt':_0x538c74,'lastSeenAt':_0x538c74,'lastAvailabilityUpdatedAt':_0x538c74};let _0x35464f;_0x9906f3[_0x48c40c(0x199)]===_0x48c40c(0xc5)&&(_0x9906f3[_0x48c40c(0x1e3)]='self-reported',_0x9906f3[_0x48c40c(0x1b9)]=_0x48c40c(0xea),_0x35464f={'type':_0x48c40c(0x16c),'reason':_0x48c40c(0xea)});const _0x4479d6={'identityKey':_0xabd64e,'sessionId':_0x231c28,'snapshot':_0x9906f3,'explicitState':_0x35464f};return this[_0x48c40c(0xdf)][_0x48c40c(0x118)](_0xabd64e,_0x4479d6),this['cloneRecord'](_0x4479d6);}['get'](_0x84b3e9){const _0x2e7f8b=_0x29733f,_0xc4bf99=this[_0x2e7f8b(0xdf)][_0x2e7f8b(0xc9)](_0x84b3e9);return _0xc4bf99?this['cloneRecord'](_0xc4bf99):void 0x0;}[_0x29733f(0x106)](_0x1579c0){const _0x3f3474=_0x29733f;for(const _0x258307 of this['records'][_0x3f3474(0x1fa)]()){if(_0x258307[_0x3f3474(0x10c)]===_0x1579c0)return this[_0x3f3474(0x140)](_0x258307);}return void 0x0;}[_0x29733f(0xbf)](_0x2254b3,_0x48376a){const _0x3d1115=_0x29733f,_0x50dd1e=this[_0x3d1115(0xdf)][_0x3d1115(0xc9)](_0x2254b3);if(!_0x50dd1e)return void 0x0;return _0x50dd1e['snapshot'][_0x3d1115(0xbe)]=_0x48376a,this[_0x3d1115(0x140)](_0x50dd1e);}[_0x29733f(0x1a0)](_0x37c9ae,_0x86e6ee,_0x523df3){const _0x365b8f=_0x29733f,_0x1995e5=this[_0x365b8f(0xdf)][_0x365b8f(0xc9)](_0x37c9ae);if(!_0x1995e5)return void 0x0;return _0x1995e5[_0x365b8f(0x1d3)][_0x365b8f(0x199)]=_0x86e6ee,_0x1995e5[_0x365b8f(0x1d3)][_0x365b8f(0x156)]=_0x523df3,_0x1995e5[_0x365b8f(0x1d3)][_0x365b8f(0xbe)]=_0x523df3,delete _0x1995e5['snapshot']['abnormalSource'],delete _0x1995e5[_0x365b8f(0x1d3)][_0x365b8f(0x1b9)],_0x1995e5['explicitState']={'type':_0x365b8f(0x199),'availability':_0x86e6ee},this[_0x365b8f(0x140)](_0x1995e5);}['reportException'](_0x3d35c2,_0x3dc9af,_0x50b73c){const _0x570a28=_0x29733f,_0x51a8ab=this[_0x570a28(0xdf)]['get'](_0x3d35c2);if(!_0x51a8ab)return void 0x0;return _0x51a8ab[_0x570a28(0x1d3)][_0x570a28(0x199)]=_0x570a28(0xc5),_0x51a8ab[_0x570a28(0x1d3)][_0x570a28(0x1e3)]=_0x570a28(0xf4),_0x51a8ab[_0x570a28(0x1d3)][_0x570a28(0x1b9)]=_0x3dc9af,_0x51a8ab[_0x570a28(0x1d3)][_0x570a28(0x156)]=_0x50b73c,_0x51a8ab[_0x570a28(0x1d3)][_0x570a28(0xbe)]=_0x50b73c,_0x51a8ab[_0x570a28(0xe1)]={'type':_0x570a28(0x16c),'reason':_0x3dc9af},this[_0x570a28(0x140)](_0x51a8ab);}['markDisconnected'](_0x4d55ef,_0x173925,_0x271e11){const _0x253a79=_0x29733f,_0x3438a6=this[_0x253a79(0xdf)][_0x253a79(0xc9)](_0x4d55ef);if(!_0x3438a6)return void 0x0;return _0x3438a6['snapshot'][_0x253a79(0x199)]='abnormal',_0x3438a6['snapshot'][_0x253a79(0x141)]=_0x253a79(0x181),_0x3438a6['snapshot'][_0x253a79(0x1e3)]=_0x253a79(0x15a),_0x3438a6['snapshot'][_0x253a79(0x1b9)]=DISCONNECT_REASON_MAP[_0x173925],_0x3438a6[_0x253a79(0x1d3)][_0x253a79(0xbe)]=_0x271e11,_0x3438a6[_0x253a79(0x1d3)]['lastAvailabilityUpdatedAt']=_0x271e11,this[_0x253a79(0x140)](_0x3438a6);}[_0x29733f(0x1eb)](_0x575602){const _0x268fa9=_0x29733f,_0x28fe18=this[_0x268fa9(0xdf)]['get'](_0x575602);if(!_0x28fe18)return void 0x0;return this[_0x268fa9(0xdf)]['delete'](_0x575602),this['cloneRecord'](_0x28fe18);}[_0x29733f(0x187)](_0x447154={}){const _0x222a4d=_0x29733f;return Array[_0x222a4d(0x13d)](this[_0x222a4d(0xdf)][_0x222a4d(0x1fa)]())[_0x222a4d(0xc8)](_0x56d614=>matchesFilters(_0x56d614[_0x222a4d(0x1d3)],_0x447154))[_0x222a4d(0xfc)](_0x42399=>cloneSnapshot(_0x42399['snapshot']));}[_0x29733f(0x18a)](_0x3b5e40={}){const _0x5eafb9=_0x29733f;return this['query']({..._0x3b5e40,'availability':_0x5eafb9(0xc5)});}[_0x29733f(0x10d)](){const _0x4be15c=_0x29733f;return Array[_0x4be15c(0x13d)](this[_0x4be15c(0xdf)]['values']())[_0x4be15c(0xfc)](_0x1f1403=>this[_0x4be15c(0x140)](_0x1f1403));}[_0x29733f(0x140)](_0x10bee2){const _0x1fc336=_0x29733f;return{'identityKey':_0x10bee2[_0x1fc336(0x15f)],'sessionId':_0x10bee2['sessionId'],'snapshot':cloneSnapshot(_0x10bee2[_0x1fc336(0x1d3)]),'explicitState':_0x10bee2[_0x1fc336(0xe1)]?{..._0x10bee2[_0x1fc336(0xe1)]}:void 0x0};}};function matchesFilters(_0x2c6530,_0x206675){const _0x13f963=_0x29733f;if(_0x206675[_0x13f963(0x1c0)]&&_0x2c6530[_0x13f963(0x1c0)]!==_0x206675['workerId'])return![];if(_0x206675[_0x13f963(0x210)]&&_0x2c6530['email']!==_0x206675[_0x13f963(0x210)])return![];if(_0x206675[_0x13f963(0x171)]&&_0x2c6530[_0x13f963(0x171)]!==_0x206675[_0x13f963(0x171)])return![];if(_0x206675[_0x13f963(0x199)]&&_0x2c6530[_0x13f963(0x199)]!==_0x206675['availability'])return![];if(_0x206675[_0x13f963(0xbc)]&&_0x2c6530['activityState']!==_0x206675[_0x13f963(0xbc)])return![];if(_0x206675['connectionState']&&_0x2c6530[_0x13f963(0x141)]!==_0x206675['connectionState'])return![];if(_0x206675[_0x13f963(0x1e3)]&&_0x2c6530[_0x13f963(0x1e3)]!==_0x206675['abnormalSource'])return![];return!![];}function cloneSnapshot(_0x1e0a5f){return{..._0x1e0a5f};}var TERMINAL_TASK_STATES=new Set(['completed',_0x29733f(0x1f1),'canceled',_0x29733f(0xc4)]),TaskStore=class{[_0x29733f(0x209)]=new Map();[_0x29733f(0x1fc)](_0x4d6a0f){const _0x160735=_0x29733f;this[_0x160735(0x209)][_0x160735(0x1b6)]();for(const _0x364ac1 of _0x4d6a0f){this[_0x160735(0x209)][_0x160735(0x118)](_0x364ac1['id'],clone(_0x364ac1));}}[_0x29733f(0x1a5)](_0x2a6412){const _0x2376ff=_0x29733f,_0x1df63a=createWorkerIdentityKey(_0x2a6412['workerId'],_0x2a6412[_0x2376ff(0x210)]),_0x2b4263=this[_0x2376ff(0x209)]['get'](_0x2a6412[_0x2376ff(0xd3)]['taskId']);if(!_0x2b4263){const _0x49e889={'id':_0x2a6412[_0x2376ff(0xd3)][_0x2376ff(0x124)],'contextId':_0x2a6412[_0x2376ff(0xd3)][_0x2376ff(0x108)],'status':{'state':'submitted','timestamp':_0x2a6412[_0x2376ff(0xb7)]},'artifacts':[],'history':[clone(_0x2a6412['message'])],'metadata':_0x2a6412[_0x2376ff(0x197)]?clone(_0x2a6412['metadata']):void 0x0,'assigneeWorkerKey':_0x1df63a};return this[_0x2376ff(0x209)]['set'](_0x49e889['id'],_0x49e889),clone(_0x49e889);}if(_0x2b4263[_0x2376ff(0x1d9)]!==_0x1df63a)throw new Error(_0x2376ff(0xff));if(isTerminalTaskState(_0x2b4263[_0x2376ff(0x134)][_0x2376ff(0x12a)]))throw new Error(_0x2376ff(0x14b));return _0x2b4263[_0x2376ff(0xd1)][_0x2376ff(0x1dd)](clone(_0x2a6412[_0x2376ff(0xd3)])),_0x2b4263[_0x2376ff(0x134)]={'state':'submitted','timestamp':_0x2a6412[_0x2376ff(0xb7)]},_0x2a6412[_0x2376ff(0x197)]&&(_0x2b4263[_0x2376ff(0x197)]=clone(_0x2a6412[_0x2376ff(0x197)])),clone(_0x2b4263);}[_0x29733f(0x1a0)](_0x5a3a7e,_0x20bcb6,_0x525b12){const _0x4cecde=_0x29733f,_0x218912=this[_0x4cecde(0x209)][_0x4cecde(0xc9)](_0x5a3a7e);if(!_0x218912)throw new Error(_0x4cecde(0x1b0));if(isTerminalTaskState(_0x218912[_0x4cecde(0x134)][_0x4cecde(0x12a)]))throw new Error(_0x4cecde(0x1ec));return _0x218912[_0x4cecde(0x134)]=clone(_0x20bcb6),_0x525b12&&_0x218912['history']['push'](clone(_0x525b12)),clone(_0x218912);}[_0x29733f(0x174)](_0x3072cf,_0x57337a){const _0x21738d=_0x29733f,_0x485953=this['tasks'][_0x21738d(0xc9)](_0x3072cf);if(!_0x485953)throw new Error(_0x21738d(0x1b0));if(isTerminalTaskState(_0x485953[_0x21738d(0x134)][_0x21738d(0x12a)]))throw new Error(_0x21738d(0x1ec));return _0x485953['artifacts']['push'](clone(_0x57337a)),clone(_0x485953);}[_0x29733f(0x1bb)](_0x54f43e,_0x4ba20c){const _0x5898d9=_0x29733f,_0x25eac7=this[_0x5898d9(0x209)]['get'](_0x54f43e);if(!_0x25eac7)throw new Error(_0x5898d9(0x1b0));if(isTerminalTaskState(_0x25eac7[_0x5898d9(0x134)][_0x5898d9(0x12a)]))return clone(_0x25eac7);return _0x25eac7[_0x5898d9(0x134)]={'state':_0x5898d9(0x12b),'timestamp':_0x4ba20c},clone(_0x25eac7);}[_0x29733f(0xc9)](_0x1264da,_0x53b98f={}){const _0x24e553=_0x29733f,_0x6bcd0e=this['tasks']['get'](_0x1264da);if(!_0x6bcd0e)return void 0x0;if(!_0x53b98f[_0x24e553(0x18d)]||_0x6bcd0e[_0x24e553(0xd1)][_0x24e553(0x1c5)]<=_0x53b98f[_0x24e553(0x18d)])return clone(_0x6bcd0e);const _0xdecc69=clone(_0x6bcd0e);return _0xdecc69[_0x24e553(0xd1)]=_0xdecc69[_0x24e553(0xd1)][_0x24e553(0x1e8)](-_0x53b98f[_0x24e553(0x18d)]),_0xdecc69;}['list'](_0x2fb359={}){const _0xf4f60e=_0x29733f;return Array[_0xf4f60e(0x13d)](this[_0xf4f60e(0x209)]['values']())['filter'](_0x1ca68f=>this[_0xf4f60e(0x20c)](_0x1ca68f,_0x2fb359))[_0xf4f60e(0xfc)](_0x25dbea=>clone(_0x25dbea));}['listActiveByWorker'](_0x59dcee){const _0x4839de=_0x29733f;return Array[_0x4839de(0x13d)](this[_0x4839de(0x209)][_0x4839de(0x1fa)]())['filter'](_0x5c5ecb=>_0x5c5ecb[_0x4839de(0x1d9)]===_0x59dcee&&!isTerminalTaskState(_0x5c5ecb[_0x4839de(0x134)]['state']))['map'](_0x2b6bd9=>clone(_0x2b6bd9));}['listReplayableByWorker'](_0x32ac3d){const _0x3e34ba=_0x29733f;return Array['from'](this['tasks'][_0x3e34ba(0x1fa)]())['filter'](_0x5549e1=>_0x5549e1[_0x3e34ba(0x1d9)]===_0x32ac3d&&_0x5549e1[_0x3e34ba(0x134)][_0x3e34ba(0x12a)]===_0x3e34ba(0xd8))[_0x3e34ba(0xfc)](_0x1aadd0=>clone(_0x1aadd0));}[_0x29733f(0x158)](_0x54c221){const _0x4a7a28=_0x29733f,_0x396d74=this['tasks'][_0x4a7a28(0xc9)](_0x54c221);if(!_0x396d74)return void 0x0;for(let _0x37d261=_0x396d74['history'][_0x4a7a28(0x1c5)]-0x1;_0x37d261>=0x0;_0x37d261-=0x1){const _0x4a6eb8=_0x396d74[_0x4a7a28(0xd1)][_0x37d261];if(_0x4a6eb8['role']===_0x4a7a28(0xb0))return clone(_0x4a6eb8);}return void 0x0;}[_0x29733f(0x20c)](_0xa3185,_0x193d58){const _0xc57ac2=_0x29733f;if(_0x193d58[_0xc57ac2(0x108)]&&_0xa3185[_0xc57ac2(0x108)]!==_0x193d58[_0xc57ac2(0x108)])return![];if(_0x193d58[_0xc57ac2(0x12a)]&&_0xa3185[_0xc57ac2(0x134)]['state']!==_0x193d58[_0xc57ac2(0x12a)])return![];if(_0x193d58[_0xc57ac2(0x1c0)]||_0x193d58['email']){const [_0x52ccbb,_0x16ac6d]=splitWorkerKey(_0xa3185[_0xc57ac2(0x1d9)]);if(_0x193d58['workerId']&&_0x52ccbb!==_0x193d58['workerId'])return![];if(_0x193d58[_0xc57ac2(0x210)]&&_0x16ac6d!==_0x193d58['email'])return![];}return!![];}};function isTerminalTaskState(_0x5a0e5e){const _0x379885=_0x29733f;return TERMINAL_TASK_STATES[_0x379885(0xc0)](_0x5a0e5e);}function splitWorkerKey(_0x3a5207){const [_0x2fea46,_0x3a4e18]=_0x3a5207['split']('::');return[_0x2fea46,_0x3a4e18];}function clone(_0x2befe2){return structuredClone(_0x2befe2);}var DEFAULT_CONFIG2={'path':_0x29733f(0x105),'heartbeatIntervalMs':0x3a98,'heartbeatTimeoutMs':0xafc8,'loginTimeoutMs':0x2710},WorkerServerSDK=class{[_0x29733f(0x13f)];[_0x29733f(0x1a2)]=new WorkerSessionRegistry();[_0x29733f(0x16a)]=new TaskStore();[_0x29733f(0x16b)]=new Set();[_0x29733f(0xde)]=new Set();[_0x29733f(0xec)]=new Set();[_0x29733f(0xf2)]=new Map();[_0x29733f(0x1a6)]=new Map();['pendingAuthorizations']=new Map();[_0x29733f(0xcb)]=null;[_0x29733f(0x1c4)];[_0x29733f(0x1c3)];[_0x29733f(0xfe)];constructor(_0x4e0515={}){const _0x26bc25=_0x29733f;this[_0x26bc25(0x13f)]={...DEFAULT_CONFIG2,..._0x4e0515,'managerToken':_0x4e0515[_0x26bc25(0x12e)]??_0x447dfc[_0x26bc25(0x1e1)][_0x26bc25(0x186)],'loginAuthorization':resolveLoginAuthorizationConfig(_0x4e0515['loginAuthorization'])},this[_0x26bc25(0x1a2)]['seedSnapshots'](_0x4e0515[_0x26bc25(0x16e)]??[]),this[_0x26bc25(0x16a)][_0x26bc25(0x1fc)](_0x4e0515[_0x26bc25(0xae)]??[]);}[_0x29733f(0x193)](_0x38bc40){const _0x4582a4=_0x29733f;return this[_0x4582a4(0xcb)]=_0x38bc40,this;}async[_0x29733f(0xe7)](_0x58e10c,_0x1cb4b2=_0x29733f(0x202)){const _0x4fd4c2=_0x29733f;if(this[_0x4fd4c2(0x1c3)])throw new Error(_0x4fd4c2(0x1c9));return await this['listenWithNode'](_0x58e10c,_0x1cb4b2),this['startHeartbeatLoop'](),this;}async[_0x29733f(0x1e2)](){const _0x216997=_0x29733f;this['heartbeatTimer']&&(clearInterval(this[_0x216997(0x1c4)]),this[_0x216997(0x1c4)]=void 0x0);for(const _0x18b756 of this['connections'][_0x216997(0x1fa)]()){_0x18b756[_0x216997(0xbd)]&&clearTimeout(_0x18b756['loginTimer']);await this[_0x216997(0x182)](_0x18b756),await this[_0x216997(0x1d8)](_0x18b756,_0x216997(0xc2));if(_0x18b756[_0x216997(0x15f)]){const _0x317b45=this[_0x216997(0x1a2)][_0x216997(0x1b8)](_0x18b756[_0x216997(0x15f)],'socket-closed',Date[_0x216997(0xb7)]());this[_0x216997(0x1a6)][_0x216997(0x1fd)](_0x18b756['identityKey']),_0x317b45&&await this[_0x216997(0x190)]({'type':_0x216997(0x15a),'worker':_0x317b45['snapshot'],'cause':_0x216997(0x103)});}try{_0x18b756[_0x216997(0xe8)][_0x216997(0x180)](0x3f4,_0x216997(0x129));}catch{_0x18b756[_0x216997(0xe8)][_0x216997(0x1d2)]();}}this['connections'][_0x216997(0x1b6)](),this[_0x216997(0x1a6)]['clear'](),this['pendingAuthorizations'][_0x216997(0x1b6)](),this[_0x216997(0xfe)]&&(this[_0x216997(0xfe)]['closeAll'](0x3f4,_0x216997(0x129),!![]),this[_0x216997(0xfe)]=void 0x0),this[_0x216997(0x1c3)]&&(await new Promise((_0xcda2be,_0x6161cb)=>this['nodeServer'][_0x216997(0x180)](_0x3b2963=>_0x3b2963?_0x6161cb(_0x3b2963):_0xcda2be())),this[_0x216997(0x1c3)]=void 0x0);}[_0x29733f(0x137)](_0x5a651c){const _0x3a8c6f=_0x29733f;return this['eventHandlers'][_0x3a8c6f(0x17d)](_0x5a651c),this;}[_0x29733f(0x1f9)](_0x1cf087){const _0x465e3c=_0x29733f;return this[_0x465e3c(0x16b)][_0x465e3c(0x1fd)](_0x1cf087),this;}[_0x29733f(0x143)](_0x484ae5){const _0xe6e43c=_0x29733f;return this[_0xe6e43c(0xde)][_0xe6e43c(0x17d)](_0x484ae5),this;}[_0x29733f(0x1c2)](_0xf66511){const _0x58c23=_0x29733f;return this[_0x58c23(0xde)][_0x58c23(0x1fd)](_0xf66511),this;}[_0x29733f(0x1ef)](_0x56ba53={}){const _0x3186d9=_0x29733f,{activityState:_0x1e3206,..._0x18b4ff}=_0x56ba53;return this['registry'][_0x3186d9(0x187)](_0x18b4ff)[_0x3186d9(0xfc)](_0x2d368b=>this[_0x3186d9(0x116)](_0x2d368b))[_0x3186d9(0xc8)](_0x11a779=>_0x1e3206?_0x11a779[_0x3186d9(0xbc)]===_0x1e3206:!![]);}[_0x29733f(0x201)](_0x407015={}){const _0x2c3fc9=_0x29733f;return this['queryWorkers']({..._0x407015,'availability':_0x2c3fc9(0xc5)});}async['approveLoginAuthorization'](_0x5666f4,_0x145a49){const _0x1db231=_0x29733f,_0x2e7c33=this['pendingAuthorizations'][_0x1db231(0xc9)](_0x5666f4);if(!_0x2e7c33)throw new Error(_0x1db231(0xed));const _0x397f30=this[_0x1db231(0xf2)][_0x1db231(0xc9)](_0x2e7c33[_0x1db231(0xe9)]);if(!_0x397f30||_0x397f30[_0x1db231(0x16d)]!==_0x5666f4){this[_0x1db231(0x18f)][_0x1db231(0x1fd)](_0x5666f4);throw new Error(_0x1db231(0xed));}this['clearPendingAuthorization'](_0x397f30);const _0x9aaa39=this[_0x1db231(0x13f)][_0x1db231(0x204)]?issueLoginToken({'workerId':_0x2e7c33[_0x1db231(0x1ca)][_0x1db231(0x1c0)],'email':_0x2e7c33['payload'][_0x1db231(0x210)],'role':_0x2e7c33[_0x1db231(0x1ca)][_0x1db231(0x171)],'issuedAt':Date[_0x1db231(0xb7)]()},this[_0x1db231(0x13f)][_0x1db231(0x204)]['signingSecret']):void 0x0;await this[_0x1db231(0x1de)](_0x397f30,_0x2e7c33[_0x1db231(0x101)],_0x2e7c33[_0x1db231(0x1ca)],_0x9aaa39);}async['rejectLoginAuthorization'](_0x16b7cc,_0x41d96e,_0x490ee4){const _0x29ff9f=_0x29733f;if(_0x41d96e[_0x29ff9f(0x1cb)]()[_0x29ff9f(0x1c5)]===0x0)throw new Error(_0x29ff9f(0x11a));const _0x967369=this[_0x29ff9f(0x18f)][_0x29ff9f(0xc9)](_0x16b7cc);if(!_0x967369)throw new Error(_0x29ff9f(0xed));const _0x3f4df6=this[_0x29ff9f(0xf2)][_0x29ff9f(0xc9)](_0x967369[_0x29ff9f(0xe9)]);this[_0x29ff9f(0x18f)][_0x29ff9f(0x1fd)](_0x16b7cc),_0x3f4df6?.[_0x29ff9f(0x16d)]===_0x16b7cc&&(_0x3f4df6[_0x29ff9f(0x16d)]=void 0x0),_0x3f4df6&&this['sendLoginRejected'](_0x3f4df6[_0x29ff9f(0xe8)],_0x967369[_0x29ff9f(0x101)],_0x41d96e);}[_0x29733f(0xb4)](_0xf46ed7){const _0x28b453=_0x29733f;return this[_0x28b453(0xec)]['add'](_0xf46ed7),this;}async['sendMessage'](_0x58ba91){const _0xe86aeb=_0x29733f;validateSendMessageParams(_0x58ba91);const _0x4485da=Date[_0xe86aeb(0xb7)](),_0x33d1bb=_0x58ba91[_0xe86aeb(0x124)]?this[_0xe86aeb(0x16a)][_0xe86aeb(0xc9)](_0x58ba91[_0xe86aeb(0x124)]):void 0x0;if(_0x58ba91[_0xe86aeb(0x124)]&&!_0x33d1bb)throw new Error('task\x20not\x20found');const _0x478182=_0x58ba91[_0xe86aeb(0x124)]??crypto[_0xe86aeb(0xc7)](),_0x15b892=_0x33d1bb?.[_0xe86aeb(0x108)]??_0x58ba91['contextId']??crypto[_0xe86aeb(0xc7)](),_0x1a8d99={'messageId':_0x58ba91[_0xe86aeb(0x14a)]??crypto[_0xe86aeb(0xc7)](),'contextId':_0x15b892,'taskId':_0x478182,'role':_0xe86aeb(0xb0),'parts':clone(_0x58ba91['parts']),'metadata':_0x58ba91[_0xe86aeb(0x197)]?clone(_0x58ba91[_0xe86aeb(0x197)]):void 0x0},_0x5614ab=this[_0xe86aeb(0x16a)]['createOrContinue']({'workerId':_0x58ba91[_0xe86aeb(0x195)][_0xe86aeb(0x1c0)],'email':_0x58ba91[_0xe86aeb(0x195)]['email'],'message':_0x1a8d99,'metadata':_0x58ba91['metadata'],'now':_0x4485da});return await this[_0xe86aeb(0x176)]({'type':_0xe86aeb(0x115),'task':_0x5614ab,'status':_0x5614ab[_0xe86aeb(0x134)],'message':_0x1a8d99}),this[_0xe86aeb(0x1a8)](_0x5614ab[_0xe86aeb(0x1d9)],_0x5614ab,_0x1a8d99),_0x5614ab;}[_0x29733f(0x131)](_0x3d43a1,_0x14ebba={}){const _0x7d8197=_0x29733f;return this['taskStore'][_0x7d8197(0xc9)](_0x3d43a1,_0x14ebba);}[_0x29733f(0xdd)](_0x1c58d4={}){const _0x485ba8=_0x29733f;return this[_0x485ba8(0x16a)][_0x485ba8(0x1ea)](_0x1c58d4);}async[_0x29733f(0x100)](_0x1b8191){const _0x547c1b=_0x29733f,_0x2cb4cf=this[_0x547c1b(0x16a)][_0x547c1b(0x1bb)](_0x1b8191,Date[_0x547c1b(0xb7)]());return await this[_0x547c1b(0x176)]({'type':_0x547c1b(0x115),'task':_0x2cb4cf,'status':_0x2cb4cf[_0x547c1b(0x134)]}),this[_0x547c1b(0x161)](_0x2cb4cf['assigneeWorkerKey'],_0x2cb4cf['id']),_0x2cb4cf;}async[_0x29733f(0x20b)](_0x3be1cd,_0x3ce364){const _0x3c70eb=_0x29733f,_0x55f7e0=await import('crossws/adapters/node'),_0x2cffd0=_0x55f7e0[_0x3c70eb(0x13e)]({'hooks':this['createHooks']()});this[_0x3c70eb(0xfe)]=_0x2cffd0,this[_0x3c70eb(0x1c3)]=createServer((_0x45f2bf,_0x1dc3bd)=>{const _0x3d4e1c=_0x3c70eb;_0x1dc3bd['statusCode']=0x194,_0x1dc3bd[_0x3d4e1c(0x1dc)](_0x3d4e1c(0x16f));}),this['nodeServer']['on']('upgrade',(_0x26ef1c,_0x55bed2,_0x10905b)=>{const _0xf49bf1=_0x3c70eb;if(!this[_0xf49bf1(0x196)](_0x26ef1c[_0xf49bf1(0x1f6)]??'/')){_0x55bed2['destroy']();return;}void this[_0xf49bf1(0xfe)][_0xf49bf1(0x10e)](_0x26ef1c,_0x55bed2,_0x10905b)[_0xf49bf1(0x1c1)](()=>{const _0x4673df=_0xf49bf1;_0x55bed2[_0x4673df(0x20d)]();});}),await new Promise((_0x3cfedd,_0xc96e3e)=>{const _0x347ab2=_0x3c70eb;this[_0x347ab2(0x1c3)][_0x347ab2(0xcf)]('error',_0xc96e3e),this[_0x347ab2(0x1c3)][_0x347ab2(0xe7)](_0x3be1cd,_0x3ce364,()=>_0x3cfedd());});}[_0x29733f(0x1f8)](){return{'open':async _0x3a5444=>{const _0x11fe90=_0x5de4;this[_0x11fe90(0x121)](_0x3a5444);},'message':async(_0x3a1084,_0x1dfb6d)=>{const _0x3922d1=_0x5de4;await this['handleSocketMessage'](_0x3a1084,_0x1dfb6d[_0x3922d1(0x17e)]());},'close':async _0x226c58=>{const _0xd51aff=_0x5de4;await this[_0xd51aff(0x162)](_0x226c58,_0xd51aff(0x103));},'error':async()=>{}};}['handleSocketOpen'](_0x52cb51){const _0x3dbf6e=_0x29733f,_0x1541e4={'peer':_0x52cb51,'sessionId':crypto['randomUUID'](),'managerSubscriptions':new Map(),'loginTimer':setTimeout(()=>{const _0x54204c=_0x5de4,_0x418d85=this['connections'][_0x54204c(0xc9)](_0x52cb51['id']);!_0x418d85?.[_0x54204c(0x15f)]&&(_0x52cb51[_0x54204c(0x180)](0xfa1,_0x54204c(0x10f)),this['connections'][_0x54204c(0x1fd)](_0x52cb51['id']));},this[_0x3dbf6e(0x13f)][_0x3dbf6e(0x157)])};this['connections'][_0x3dbf6e(0x118)](_0x52cb51['id'],_0x1541e4);}async['handleSocketMessage'](_0x161d5d,_0x42db73){const _0x5a67ca=_0x29733f,_0xc0ae7=parseClientMessage(_0x42db73);if(!_0xc0ae7){this[_0x5a67ca(0xf9)](_0x161d5d,'invalid\x20message');return;}const _0x53ffa6=this[_0x5a67ca(0xf2)][_0x5a67ca(0xc9)](_0x161d5d['id']);if(!_0x53ffa6){this[_0x5a67ca(0xf9)](_0x161d5d,_0x5a67ca(0x168));return;}_0xc0ae7[_0x5a67ca(0x211)]!=='heartbeat-ack'&&_0x53ffa6['identityKey']&&this[_0x5a67ca(0x1a2)][_0x5a67ca(0xbf)](_0x53ffa6[_0x5a67ca(0x15f)],Date[_0x5a67ca(0xb7)]());if(_0x53ffa6[_0x5a67ca(0x16d)]&&_0xc0ae7[_0x5a67ca(0x211)]!=='login'&&_0xc0ae7[_0x5a67ca(0x211)]!==_0x5a67ca(0x130)){this['sendError'](_0x161d5d,_0x5a67ca(0xe5),_0x5a67ca(0x101)in _0xc0ae7?_0xc0ae7[_0x5a67ca(0x101)]:void 0x0);return;}switch(_0xc0ae7['type']){case _0x5a67ca(0x163):await this['handleLoginMessage'](_0x53ffa6,_0xc0ae7);return;case _0x5a67ca(0x149):await this[_0x5a67ca(0xcc)](_0x53ffa6,_0xc0ae7['requestId']);return;case _0x5a67ca(0x1c7):await this[_0x5a67ca(0x17f)](_0x53ffa6,_0xc0ae7);return;case'report-exception':await this[_0x5a67ca(0x1ed)](_0x53ffa6,_0xc0ae7);return;case _0x5a67ca(0xda):await this[_0x5a67ca(0x10b)](_0x53ffa6,_0xc0ae7);return;case _0x5a67ca(0x1cd):await this['handleManagerSubscribeMessage'](_0x53ffa6,_0xc0ae7);return;case _0x5a67ca(0x19a):await this[_0x5a67ca(0x17c)](_0x53ffa6,_0xc0ae7);return;case _0x5a67ca(0xd0):await this[_0x5a67ca(0x119)](_0x53ffa6,_0xc0ae7);return;case'TaskArtifactUpdate':await this[_0x5a67ca(0x205)](_0x53ffa6,_0xc0ae7);return;case _0x5a67ca(0x130):_0x53ffa6[_0x5a67ca(0x15f)]&&this[_0x5a67ca(0x1a2)][_0x5a67ca(0xbf)](_0x53ffa6[_0x5a67ca(0x15f)],Date[_0x5a67ca(0xb7)]());}}async[_0x29733f(0x1d0)](_0x3adf65,_0x8938){const _0x54296d=_0x29733f,_0xffca1d=validateLoginPayload(_0x8938['payload']);if(_0xffca1d){this['sendError'](_0x3adf65['peer'],_0xffca1d,_0x8938[_0x54296d(0x101)]);return;}_0x3adf65[_0x54296d(0xbd)]&&(clearTimeout(_0x3adf65[_0x54296d(0xbd)]),_0x3adf65[_0x54296d(0xbd)]=void 0x0);await this['cancelPendingAuthorization'](_0x3adf65,'login-retried');const _0x2b09b2=createWorkerIdentityKey(_0x8938[_0x54296d(0x1ca)][_0x54296d(0x1c0)],_0x8938['payload']['email']),_0xb1937e=this[_0x54296d(0xeb)](_0x8938['payload'],_0x2b09b2);if(_0xb1937e){this[_0x54296d(0x208)](_0x3adf65[_0x54296d(0xe8)],_0x8938[_0x54296d(0x101)],_0xb1937e);return;}if(_0x8938[_0x54296d(0x1ca)]['role']===_0x54296d(0x102)){await this[_0x54296d(0x1de)](_0x3adf65,_0x8938[_0x54296d(0x101)],_0x8938[_0x54296d(0x1ca)]);return;}if(!this['config'][_0x54296d(0x204)]){await this[_0x54296d(0x1de)](_0x3adf65,_0x8938[_0x54296d(0x101)],_0x8938[_0x54296d(0x1ca)]);return;}const _0x50071f=_0x8938[_0x54296d(0x1ca)][_0x54296d(0x15b)]?verifyLoginToken(_0x8938[_0x54296d(0x1ca)][_0x54296d(0x15b)],this[_0x54296d(0x13f)][_0x54296d(0x204)][_0x54296d(0x117)]):null,_0x5a8427=_0x50071f&&_0x50071f[_0x54296d(0x1c0)]===_0x8938[_0x54296d(0x1ca)][_0x54296d(0x1c0)]&&_0x50071f['email']===_0x8938['payload'][_0x54296d(0x210)]&&_0x50071f[_0x54296d(0x171)]===_0x8938[_0x54296d(0x1ca)][_0x54296d(0x171)];if(_0x5a8427){const _0xa10766=issueLoginToken({'workerId':_0x8938[_0x54296d(0x1ca)][_0x54296d(0x1c0)],'email':_0x8938['payload']['email'],'role':_0x8938['payload']['role'],'issuedAt':Date[_0x54296d(0xb7)]()},this['config'][_0x54296d(0x204)][_0x54296d(0x117)]);await this[_0x54296d(0x1de)](_0x3adf65,_0x8938[_0x54296d(0x101)],_0x8938[_0x54296d(0x1ca)],_0xa10766);return;}await this[_0x54296d(0x122)](_0x3adf65,_0x8938,_0x8938[_0x54296d(0x1ca)][_0x54296d(0x15b)]?_0x54296d(0x207):_0x54296d(0x198));}[_0x29733f(0xeb)](_0x4766c2,_0x25e66f){const _0x6cea1f=_0x29733f;if(_0x4766c2[_0x6cea1f(0x171)]!==_0x6cea1f(0x102))return null;if(!this['config'][_0x6cea1f(0x12e)]||this[_0x6cea1f(0x13f)][_0x6cea1f(0x12e)][_0x6cea1f(0x1cb)]()[_0x6cea1f(0x1c5)]===0x0)return _0x6cea1f(0x111);if(_0x4766c2['managerToken']!==this[_0x6cea1f(0x13f)][_0x6cea1f(0x12e)])return _0x6cea1f(0x1f4);const _0x4ae449=this['registry']['query']({'role':_0x6cea1f(0x102),'connectionState':_0x6cea1f(0x1f3)});if(_0x4ae449[_0x6cea1f(0x144)](_0x16cc7e=>createWorkerIdentityKey(_0x16cc7e[_0x6cea1f(0x1c0)],_0x16cc7e['email'])!==_0x25e66f))return _0x6cea1f(0x19c);if(_0x4ae449['length']>0x0)return _0x6cea1f(0x19c);return null;}async['createPendingAuthorization'](_0x2f89fe,_0x38dde7,_0x45af5a){const _0x5009e8=_0x29733f,_0x1ca3cb={'authorizationId':crypto['randomUUID'](),'workerId':_0x38dde7['payload'][_0x5009e8(0x1c0)],'email':_0x38dde7['payload'][_0x5009e8(0x210)],'role':_0x38dde7[_0x5009e8(0x1ca)][_0x5009e8(0x171)],'capabilitySummary':_0x38dde7['payload'][_0x5009e8(0x1f2)],'initialAvailability':_0x38dde7[_0x5009e8(0x1ca)]['initialAvailability']??_0x5009e8(0xee),'requestedAt':Date[_0x5009e8(0xb7)](),'reason':_0x45af5a};_0x2f89fe['pendingAuthorizationId']=_0x1ca3cb[_0x5009e8(0x1e4)],this[_0x5009e8(0x18f)]['set'](_0x1ca3cb['authorizationId'],{'authorization':_0x1ca3cb,'peerId':_0x2f89fe[_0x5009e8(0xe8)]['id'],'requestId':_0x38dde7[_0x5009e8(0x101)],'payload':clone(_0x38dde7[_0x5009e8(0x1ca)])}),await this['emitLoginAuthorizationEvent']({'type':'required','authorization':clonePendingAuthorization(_0x1ca3cb)}),this[_0x5009e8(0xd9)](_0x2f89fe[_0x5009e8(0xe8)],_0x38dde7[_0x5009e8(0x101)],_0x1ca3cb[_0x5009e8(0x1e4)],_0x45af5a);}async[_0x29733f(0x1de)](_0x5072a4,_0x40d62a,_0x207f40,_0x92d47b){const _0x3730aa=_0x29733f,_0x1fd7e2=Date[_0x3730aa(0xb7)](),_0x596f61=createWorkerIdentityKey(_0x207f40[_0x3730aa(0x1c0)],_0x207f40[_0x3730aa(0x210)]),_0x5a9053=this['identityToPeerId'][_0x3730aa(0xc9)](_0x596f61),_0x3b9025=_0x5a9053&&_0x5a9053!==_0x5072a4[_0x3730aa(0xe8)]['id']?this['connections'][_0x3730aa(0xc9)](_0x5a9053):void 0x0;if(_0x3b9025?.[_0x3730aa(0x15f)]===_0x596f61){this[_0x3730aa(0x208)](_0x5072a4[_0x3730aa(0xe8)],_0x40d62a,'worker\x20is\x20already\x20connected');return;}_0x5072a4[_0x3730aa(0xbd)]&&(clearTimeout(_0x5072a4[_0x3730aa(0xbd)]),_0x5072a4[_0x3730aa(0xbd)]=void 0x0);this[_0x3730aa(0xf0)](_0x5072a4),_0x5072a4[_0x3730aa(0x15f)]=_0x596f61,this[_0x3730aa(0x1a6)][_0x3730aa(0x118)](_0x596f61,_0x5072a4[_0x3730aa(0xe8)]['id']);const _0x1ae8ba=this['registry'][_0x3730aa(0x170)](_0x5072a4[_0x3730aa(0x10c)],_0x207f40,_0x1fd7e2);await this[_0x3730aa(0x190)]({'type':_0x3730aa(0x163),'worker':this[_0x3730aa(0x116)](_0x1ae8ba['snapshot'])}),this['replayActiveTasks'](_0x596f61),this[_0x3730aa(0x104)](_0x5072a4[_0x3730aa(0xe8)],_0x40d62a,_0x92d47b);}[_0x29733f(0xf0)](_0xb5dd84){const _0x2a890c=_0x29733f;if(!_0xb5dd84['pendingAuthorizationId'])return;this[_0x2a890c(0x18f)]['delete'](_0xb5dd84[_0x2a890c(0x16d)]),_0xb5dd84['pendingAuthorizationId']=void 0x0;}async[_0x29733f(0x1d8)](_0x20079c,_0x16c94e){const _0x1ff900=_0x29733f;if(!_0x20079c[_0x1ff900(0x16d)])return;const _0x3a57d2=_0x20079c[_0x1ff900(0x16d)],_0x4566cb=this[_0x1ff900(0x18f)][_0x1ff900(0xc9)](_0x3a57d2);this['pendingAuthorizations']['delete'](_0x3a57d2),_0x20079c['pendingAuthorizationId']=void 0x0;if(!_0x4566cb)return;await this[_0x1ff900(0x1b3)]({'type':_0x1ff900(0x12b),'authorization':clonePendingAuthorization(_0x4566cb[_0x1ff900(0x166)]),'cause':_0x16c94e});}async[_0x29733f(0xcc)](_0x33db61,_0x29ceef){const _0x5c9ddd=_0x29733f;if(!_0x33db61[_0x5c9ddd(0x15f)]){this[_0x5c9ddd(0xf9)](_0x33db61[_0x5c9ddd(0xe8)],_0x5c9ddd(0xe5),_0x29ceef);return;}await this['clearManagerSubscriptions'](_0x33db61);const _0x46d77c=this[_0x5c9ddd(0x1a2)][_0x5c9ddd(0x1eb)](_0x33db61[_0x5c9ddd(0x15f)]);this[_0x5c9ddd(0x1a6)][_0x5c9ddd(0x1fd)](_0x33db61[_0x5c9ddd(0x15f)]),_0x33db61[_0x5c9ddd(0x15f)]=void 0x0,_0x46d77c&&await this[_0x5c9ddd(0x190)]({'type':_0x5c9ddd(0x149),'worker':this[_0x5c9ddd(0x116)](_0x46d77c['snapshot'])}),this[_0x5c9ddd(0x1ac)](_0x33db61[_0x5c9ddd(0xe8)],_0x29ceef);}async['handleUpdateAvailabilityMessage'](_0x5aa342,_0x42fb1a){const _0x30909c=_0x29733f;if(!_0x5aa342['identityKey']){this['sendError'](_0x5aa342['peer'],_0x30909c(0xe5),_0x42fb1a[_0x30909c(0x101)]);return;}const _0x11dd64=this[_0x30909c(0x1a2)][_0x30909c(0xc9)](_0x5aa342[_0x30909c(0x15f)]);if(!_0x11dd64){this['sendError'](_0x5aa342[_0x30909c(0xe8)],_0x30909c(0x164),_0x42fb1a['requestId']);return;}const _0x21a26b=this[_0x30909c(0x1a2)][_0x30909c(0x1a0)](_0x5aa342[_0x30909c(0x15f)],_0x42fb1a['availability'],Date[_0x30909c(0xb7)]());if(!_0x21a26b){this[_0x30909c(0xf9)](_0x5aa342[_0x30909c(0xe8)],'worker\x20session\x20not\x20found',_0x42fb1a[_0x30909c(0x101)]);return;}await this[_0x30909c(0x190)]({'type':_0x30909c(0xe2),'worker':this[_0x30909c(0x116)](_0x21a26b['snapshot']),'previousAvailability':_0x11dd64[_0x30909c(0x1d3)]['availability'],'previousAbnormalSource':_0x11dd64[_0x30909c(0x1d3)][_0x30909c(0x1e3)],'previousAbnormalReason':_0x11dd64[_0x30909c(0x1d3)]['abnormalReason']}),this['sendAck'](_0x5aa342['peer'],_0x42fb1a[_0x30909c(0x101)]);}async[_0x29733f(0x1ed)](_0x4039d0,_0x41946c){const _0x3e7ec9=_0x29733f;if(!_0x4039d0[_0x3e7ec9(0x15f)]){this['sendError'](_0x4039d0[_0x3e7ec9(0xe8)],_0x3e7ec9(0xe5),_0x41946c['requestId']);return;}if(_0x41946c['reason'][_0x3e7ec9(0x1cb)]()[_0x3e7ec9(0x1c5)]===0x0){this[_0x3e7ec9(0xf9)](_0x4039d0[_0x3e7ec9(0xe8)],_0x3e7ec9(0x110),_0x41946c[_0x3e7ec9(0x101)]);return;}const _0x150389=this[_0x3e7ec9(0x1a2)]['get'](_0x4039d0[_0x3e7ec9(0x15f)]);if(!_0x150389){this[_0x3e7ec9(0xf9)](_0x4039d0['peer'],_0x3e7ec9(0x164),_0x41946c['requestId']);return;}const _0x41f8d4=this[_0x3e7ec9(0x1a2)][_0x3e7ec9(0x179)](_0x4039d0[_0x3e7ec9(0x15f)],_0x41946c[_0x3e7ec9(0x191)],Date[_0x3e7ec9(0xb7)]());if(!_0x41f8d4){this[_0x3e7ec9(0xf9)](_0x4039d0[_0x3e7ec9(0xe8)],'worker\x20session\x20not\x20found',_0x41946c[_0x3e7ec9(0x101)]);return;}await this[_0x3e7ec9(0x190)]({'type':'availability-change','worker':this[_0x3e7ec9(0x116)](_0x41f8d4[_0x3e7ec9(0x1d3)]),'previousAvailability':_0x150389[_0x3e7ec9(0x1d3)]['availability'],'previousAbnormalSource':_0x150389[_0x3e7ec9(0x1d3)]['abnormalSource'],'previousAbnormalReason':_0x150389[_0x3e7ec9(0x1d3)][_0x3e7ec9(0x1b9)]}),this[_0x3e7ec9(0x1ac)](_0x4039d0['peer'],_0x41946c['requestId']);}async[_0x29733f(0x119)](_0x3152ad,_0x5da7d4){const _0x525273=_0x29733f;if(!_0x3152ad[_0x525273(0x15f)]){this[_0x525273(0xf9)](_0x3152ad[_0x525273(0xe8)],'worker\x20is\x20not\x20logged\x20in',_0x5da7d4[_0x525273(0x101)]);return;}const _0x194d4a=this['taskStore']['get'](_0x5da7d4[_0x525273(0x124)]);if(!_0x194d4a){this[_0x525273(0xf9)](_0x3152ad[_0x525273(0xe8)],_0x525273(0x1b0),_0x5da7d4['requestId']);return;}if(_0x194d4a[_0x525273(0x1d9)]!==_0x3152ad[_0x525273(0x15f)]){this[_0x525273(0xf9)](_0x3152ad['peer'],'task\x20assignee\x20does\x20not\x20match\x20worker',_0x5da7d4[_0x525273(0x101)]);return;}try{validateTaskStatusUpdate(_0x5da7d4[_0x525273(0x134)],_0x194d4a[_0x525273(0x134)]);const _0x4cd638=this['taskStore']['updateAvailability'](_0x5da7d4[_0x525273(0x124)],clone(_0x5da7d4[_0x525273(0x134)]),_0x5da7d4[_0x525273(0xd3)]?clone(_0x5da7d4['message']):void 0x0);await this[_0x525273(0x176)]({'type':_0x525273(0x115),'task':_0x4cd638,'status':_0x4cd638[_0x525273(0x134)],'message':_0x5da7d4[_0x525273(0xd3)]?clone(_0x5da7d4[_0x525273(0xd3)]):void 0x0}),this[_0x525273(0x1ac)](_0x3152ad[_0x525273(0xe8)],_0x5da7d4[_0x525273(0x101)]);}catch(_0x2badca){this[_0x525273(0xf9)](_0x3152ad[_0x525273(0xe8)],_0x2badca instanceof Error?_0x2badca['message']:_0x525273(0xf5),_0x5da7d4[_0x525273(0x101)]);}}async['handleTaskArtifactUpdateMessage'](_0x29bb72,_0xf7025a){const _0x319418=_0x29733f;if(!_0x29bb72[_0x319418(0x15f)]){this[_0x319418(0xf9)](_0x29bb72[_0x319418(0xe8)],_0x319418(0xe5),_0xf7025a['requestId']);return;}const _0x42d899=this[_0x319418(0x16a)]['get'](_0xf7025a['taskId']);if(!_0x42d899){this[_0x319418(0xf9)](_0x29bb72[_0x319418(0xe8)],'task\x20not\x20found',_0xf7025a[_0x319418(0x101)]);return;}if(_0x42d899['assigneeWorkerKey']!==_0x29bb72[_0x319418(0x15f)]){this[_0x319418(0xf9)](_0x29bb72[_0x319418(0xe8)],'task\x20assignee\x20does\x20not\x20match\x20worker',_0xf7025a['requestId']);return;}try{validateArtifact(_0xf7025a[_0x319418(0x1fe)]);const _0x136e92=this[_0x319418(0x16a)]['addArtifact'](_0xf7025a[_0x319418(0x124)],_0xf7025a[_0x319418(0x1fe)]);await this[_0x319418(0x176)]({'type':_0x319418(0x139),'task':_0x136e92,'artifact':clone(_0xf7025a[_0x319418(0x1fe)])}),this[_0x319418(0x1ac)](_0x29bb72[_0x319418(0xe8)],_0xf7025a[_0x319418(0x101)]);}catch(_0x2b0a26){this[_0x319418(0xf9)](_0x29bb72[_0x319418(0xe8)],_0x2b0a26 instanceof Error?_0x2b0a26['message']:'task\x20artifact\x20update\x20failed',_0xf7025a['requestId']);}}async[_0x29733f(0x10b)](_0x496f58,_0x1282b4){const _0x2acae8=_0x29733f,_0x3fd3e3=this[_0x2acae8(0x133)](_0x496f58,_0x1282b4[_0x2acae8(0x101)]);if(!_0x3fd3e3)return;if(!this[_0x2acae8(0xcb)]){this[_0x2acae8(0xf9)](_0x496f58[_0x2acae8(0xe8)],_0x2acae8(0x1ae),_0x1282b4[_0x2acae8(0x101)]);return;}try{const _0x44dfee=await this[_0x2acae8(0xcb)]['executeCommand']({'name':_0x1282b4[_0x2acae8(0x18c)],'args':cloneIfDefined(_0x1282b4[_0x2acae8(0x184)])},_0x3fd3e3);this[_0x2acae8(0x1ad)](_0x496f58[_0x2acae8(0xe8)],_0x1282b4['requestId'],cloneIfDefined(_0x44dfee));}catch(_0x1a4c50){this['sendError'](_0x496f58[_0x2acae8(0xe8)],_0x1a4c50 instanceof Error?_0x1a4c50[_0x2acae8(0xd3)]:_0x2acae8(0xaf),_0x1282b4[_0x2acae8(0x101)]);}}async[_0x29733f(0x1da)](_0x32b377,_0x538e2b){const _0x51c0fb=_0x29733f,_0x2efe57=this['requireManagerContext'](_0x32b377,_0x538e2b[_0x51c0fb(0x101)]);if(!_0x2efe57)return;if(!this[_0x51c0fb(0xcb)]?.[_0x51c0fb(0x185)]){this[_0x51c0fb(0xf9)](_0x32b377[_0x51c0fb(0xe8)],'manager\x20subscriptions\x20are\x20not\x20configured',_0x538e2b[_0x51c0fb(0x101)]);return;}await this[_0x51c0fb(0xf6)](_0x32b377,_0x538e2b[_0x51c0fb(0x11c)]);const _0x1855e5=await this[_0x51c0fb(0xcb)][_0x51c0fb(0x185)](_0x538e2b[_0x51c0fb(0x11c)],async _0x10cea2=>{const _0x37e322=_0x51c0fb;if(!this[_0x37e322(0xf2)][_0x37e322(0xc0)](_0x32b377[_0x37e322(0xe8)]['id'])||!_0x32b377[_0x37e322(0x15f)])return;this[_0x37e322(0xf8)](_0x32b377[_0x37e322(0xe8)],{'eventName':_0x10cea2['eventName'],'payload':cloneIfDefined(_0x10cea2[_0x37e322(0x1ca)])});},_0x2efe57);_0x32b377[_0x51c0fb(0x175)][_0x51c0fb(0x118)](_0x538e2b[_0x51c0fb(0x11c)],_0x1855e5),this[_0x51c0fb(0x1ac)](_0x32b377['peer'],_0x538e2b[_0x51c0fb(0x101)]);}async[_0x29733f(0x17c)](_0x2b6624,_0x54bf61){const _0x12c014=_0x29733f,_0x3fe42d=this[_0x12c014(0x133)](_0x2b6624,_0x54bf61[_0x12c014(0x101)]);if(!_0x3fe42d)return;await this[_0x12c014(0xf6)](_0x2b6624,_0x54bf61[_0x12c014(0x11c)]),this['sendAck'](_0x2b6624[_0x12c014(0xe8)],_0x54bf61[_0x12c014(0x101)]);}async[_0x29733f(0x162)](_0x22b36d,_0x34e4fc){const _0x2d5bdb=_0x29733f,_0x2b65c9=this[_0x2d5bdb(0xf2)][_0x2d5bdb(0xc9)](_0x22b36d['id']);if(!_0x2b65c9)return;_0x2b65c9[_0x2d5bdb(0xbd)]&&clearTimeout(_0x2b65c9[_0x2d5bdb(0xbd)]);await this[_0x2d5bdb(0x182)](_0x2b65c9),this[_0x2d5bdb(0xf2)][_0x2d5bdb(0x1fd)](_0x22b36d['id']),await this[_0x2d5bdb(0x1d8)](_0x2b65c9,_0x34e4fc);if(!_0x2b65c9[_0x2d5bdb(0x15f)])return;if(this[_0x2d5bdb(0x1a6)][_0x2d5bdb(0xc9)](_0x2b65c9[_0x2d5bdb(0x15f)])!==_0x22b36d['id'])return;const _0x40d1eb=this[_0x2d5bdb(0x1a2)][_0x2d5bdb(0x1b8)](_0x2b65c9[_0x2d5bdb(0x15f)],_0x34e4fc,Date['now']());this['identityToPeerId'][_0x2d5bdb(0x1fd)](_0x2b65c9['identityKey']),_0x40d1eb&&await this[_0x2d5bdb(0x190)]({'type':_0x2d5bdb(0x15a),'worker':this[_0x2d5bdb(0x116)](_0x40d1eb['snapshot']),'cause':_0x34e4fc});}async[_0x29733f(0x178)](_0x3db822,_0x355cac){const _0x3929dd=_0x29733f;this[_0x3929dd(0xf2)]['delete'](_0x3db822['peer']['id']);_0x3db822[_0x3929dd(0xbd)]&&clearTimeout(_0x3db822[_0x3929dd(0xbd)]);await this[_0x3929dd(0x182)](_0x3db822),await this[_0x3929dd(0x1d8)](_0x3db822,_0x355cac);if(_0x3db822['identityKey']){const _0x26dbba=this['registry'][_0x3929dd(0x1b8)](_0x3db822[_0x3929dd(0x15f)],_0x355cac,Date[_0x3929dd(0xb7)]());this[_0x3929dd(0x1a6)][_0x3929dd(0x1fd)](_0x3db822[_0x3929dd(0x15f)]),_0x3db822['identityKey']=void 0x0,_0x26dbba&&await this['emitWorkerEvent']({'type':_0x3929dd(0x15a),'worker':this[_0x3929dd(0x116)](_0x26dbba[_0x3929dd(0x1d3)]),'cause':_0x355cac});}try{_0x3db822[_0x3929dd(0xe8)][_0x3929dd(0x180)](0xfa2,_0x3929dd(0xc3));}catch{_0x3db822[_0x3929dd(0xe8)][_0x3929dd(0x1d2)]();}}[_0x29733f(0xc1)](){const _0x390eec=_0x29733f;this['heartbeatTimer']=setInterval(()=>{const _0x12b6bd=_0x5de4,_0x33ec78=Date[_0x12b6bd(0xb7)]();void this[_0x12b6bd(0x147)](_0x33ec78);},this[_0x390eec(0x13f)][_0x390eec(0x17a)]);}async[_0x29733f(0x147)](_0x1184e){const _0x459fa4=_0x29733f;for(const _0x24ec00 of this[_0x459fa4(0xf2)][_0x459fa4(0x1fa)]()){if(!_0x24ec00[_0x459fa4(0x15f)])continue;const _0x4aa4fd=this[_0x459fa4(0x1a2)][_0x459fa4(0xc9)](_0x24ec00['identityKey']);if(!_0x4aa4fd)continue;if(_0x1184e-_0x4aa4fd[_0x459fa4(0x1d3)]['lastSeenAt']>this['config']['heartbeatTimeoutMs']){await this[_0x459fa4(0x178)](_0x24ec00,_0x459fa4(0x123));continue;}_0x24ec00['peer'][_0x459fa4(0x19e)](stringifyServerMessage({'type':'heartbeat','sentAt':_0x1184e}));}}[_0x29733f(0x196)](_0x1ff100){const _0x386e18=_0x29733f,_0x4f4345=_0x1ff100[_0x386e18(0x1be)](_0x386e18(0x14c))?new URL(_0x1ff100)[_0x386e18(0x15d)]:new URL(_0x1ff100,_0x386e18(0x18b))[_0x386e18(0x15d)];return _0x4f4345===this[_0x386e18(0x13f)][_0x386e18(0x200)];}[_0x29733f(0x1ac)](_0x4dc423,_0x31138a){const _0x1d4991=_0x29733f,_0x37053b={'type':'ack','requestId':_0x31138a};_0x4dc423[_0x1d4991(0x19e)](stringifyServerMessage(_0x37053b));}[_0x29733f(0xd9)](_0x4e1684,_0x2b1137,_0x418312,_0x37cc93){const _0x4dcb1f=_0x29733f,_0x2d7fcf={'type':_0x4dcb1f(0x150),'requestId':_0x2b1137,'authorizationId':_0x418312,'reason':_0x37cc93};_0x4e1684[_0x4dcb1f(0x19e)](stringifyServerMessage(_0x2d7fcf));}[_0x29733f(0x104)](_0x452bae,_0x2f4d47,_0x5b40cc){const _0x29caf6=_0x29733f,_0x476733={'type':'login-approved','requestId':_0x2f4d47,'loginToken':_0x5b40cc};_0x452bae[_0x29caf6(0x19e)](stringifyServerMessage(_0x476733));}[_0x29733f(0x208)](_0x438edd,_0x25104d,_0x2eaee5){const _0x48927a=_0x29733f,_0x4031df={'type':_0x48927a(0xcd),'requestId':_0x25104d,'message':_0x2eaee5};_0x438edd[_0x48927a(0x19e)](stringifyServerMessage(_0x4031df));}[_0x29733f(0xf9)](_0x466e9f,_0x1098c6,_0x28dd5a){const _0x1e73e0=_0x29733f,_0x2a280d={'type':_0x1e73e0(0x1bf),'message':_0x1098c6,'requestId':_0x28dd5a};_0x466e9f[_0x1e73e0(0x19e)](stringifyServerMessage(_0x2a280d));}['dispatchTaskMessage'](_0x19c3b6,_0x30fde3,_0x3a2d67){const _0x1e7623=_0x29733f,_0x581ebe=this[_0x1e7623(0x1a6)][_0x1e7623(0xc9)](_0x19c3b6);if(!_0x581ebe)return;const _0x4492e1=this[_0x1e7623(0xf2)]['get'](_0x581ebe);if(!_0x4492e1)return;const _0x3dcf64={'type':_0x1e7623(0x172),'task':clone(_0x30fde3),'message':clone(_0x3a2d67)};_0x4492e1[_0x1e7623(0xe8)][_0x1e7623(0x19e)](stringifyServerMessage(_0x3dcf64));}[_0x29733f(0x161)](_0x1c1f5d,_0x323da0){const _0x37dd57=_0x29733f,_0x142838=this[_0x37dd57(0x1a6)][_0x37dd57(0xc9)](_0x1c1f5d);if(!_0x142838)return;const _0x4076a8=this[_0x37dd57(0xf2)]['get'](_0x142838);if(!_0x4076a8)return;_0x4076a8[_0x37dd57(0xe8)][_0x37dd57(0x19e)](stringifyServerMessage({'type':_0x37dd57(0x188),'taskId':_0x323da0}));}[_0x29733f(0x15c)](_0x4b8530){const _0x37b6b4=_0x29733f,_0x5779a8=this[_0x37b6b4(0x16a)][_0x37b6b4(0x1a3)](_0x4b8530);for(const _0xe14480 of _0x5779a8){const _0x42f1ec=this['taskStore'][_0x37b6b4(0x158)](_0xe14480['id']);if(!_0x42f1ec)continue;this[_0x37b6b4(0x1a8)](_0x4b8530,_0xe14480,_0x42f1ec);}}[_0x29733f(0x133)](_0x5836c9,_0x178af7){const _0x53e706=_0x29733f;if(!_0x5836c9[_0x53e706(0x15f)])return this[_0x53e706(0xf9)](_0x5836c9[_0x53e706(0xe8)],'worker\x20is\x20not\x20logged\x20in',_0x178af7),null;const _0x39f36a=this['registry'][_0x53e706(0xc9)](_0x5836c9['identityKey'])?.['snapshot'];if(!_0x39f36a)return this['sendError'](_0x5836c9[_0x53e706(0xe8)],'worker\x20session\x20not\x20found',_0x178af7),null;const _0x3f1041=this[_0x53e706(0x116)](_0x39f36a);if(_0x3f1041[_0x53e706(0x171)]!=='manager')return this[_0x53e706(0xf9)](_0x5836c9[_0x53e706(0xe8)],_0x53e706(0x159),_0x178af7),null;return{'worker':_0x3f1041};}async[_0x29733f(0x182)](_0x3cb9e2){const _0x4b2819=_0x29733f,_0x5e5970=[..._0x3cb9e2[_0x4b2819(0x175)][_0x4b2819(0x1df)]()];_0x3cb9e2[_0x4b2819(0x175)][_0x4b2819(0x1b6)]();for(const [,_0x4665a9]of _0x5e5970){typeof _0x4665a9===_0x4b2819(0xb2)&&await _0x4665a9();}}async[_0x29733f(0xf6)](_0x3edd73,_0x319b9e){const _0x124c4e=_0x29733f,_0x18225b=_0x3edd73[_0x124c4e(0x175)][_0x124c4e(0xc9)](_0x319b9e);_0x3edd73[_0x124c4e(0x175)]['delete'](_0x319b9e),typeof _0x18225b===_0x124c4e(0xb2)&&await _0x18225b();}[_0x29733f(0x1ad)](_0x5aede3,_0x42862b,_0x5a8477){const _0x31bb04=_0x29733f,_0x54a701={'type':'manager-command-result','requestId':_0x42862b,'result':_0x5a8477};_0x5aede3[_0x31bb04(0x19e)](stringifyServerMessage(_0x54a701));}[_0x29733f(0xf8)](_0x2123d5,_0x378b42){const _0x481273=_0x29733f,_0x96746d={'type':_0x481273(0x12d),'eventName':_0x378b42[_0x481273(0x11c)],'payload':_0x378b42['payload']};_0x2123d5[_0x481273(0x19e)](stringifyServerMessage(_0x96746d));}['deriveWorkerSnapshot'](_0xdc0d18){const _0x10882c=_0x29733f,_0x4503b3=createWorkerIdentityKey(_0xdc0d18[_0x10882c(0x1c0)],_0xdc0d18['email']),_0x5109bb=this[_0x10882c(0x16a)][_0x10882c(0x154)](_0x4503b3)[_0x10882c(0x1c5)],_0x1784fb=_0x5109bb>0x0?_0x10882c(0x20a):'idle';return{..._0xdc0d18,'activityState':_0x1784fb,'activeTaskCount':_0x5109bb};}async['emitWorkerEvent'](_0x836594){for(const _0x59a44c of this['eventHandlers']){try{await _0x59a44c({..._0x836594,'worker':cloneWorkerSnapshot(_0x836594['worker'])});}catch{}}}async[_0x29733f(0x1b3)](_0x5d47f0){const _0x3c13d2=_0x29733f;for(const _0x5a2eac of this[_0x3c13d2(0xde)]){try{_0x5d47f0['type']===_0x3c13d2(0xf3)?await _0x5a2eac({'type':_0x3c13d2(0xf3),'authorization':clonePendingAuthorization(_0x5d47f0[_0x3c13d2(0x166)])}):await _0x5a2eac({'type':'canceled','authorization':clonePendingAuthorization(_0x5d47f0[_0x3c13d2(0x166)]),'cause':_0x5d47f0[_0x3c13d2(0xd6)]});}catch{}}}async['emitTaskUpdate'](_0x4a7671){const _0x301a93=_0x29733f;for(const _0x4027c9 of this['taskUpdateHandlers']){try{_0x4a7671[_0x301a93(0x211)]===_0x301a93(0x115)?await _0x4027c9({'type':_0x301a93(0x115),'task':clone(_0x4a7671[_0x301a93(0xd5)]),'status':clone(_0x4a7671[_0x301a93(0x134)]),'message':_0x4a7671[_0x301a93(0xd3)]?clone(_0x4a7671[_0x301a93(0xd3)]):void 0x0}):await _0x4027c9({'type':_0x301a93(0x139),'task':clone(_0x4a7671[_0x301a93(0xd5)]),'artifact':clone(_0x4a7671[_0x301a93(0x1fe)])});}catch{}}}};function cloneWorkerSnapshot(_0x28ad59){return{..._0x28ad59};}function clonePendingAuthorization(_0x502fd7){return{..._0x502fd7};}function cloneIfDefined(_0x31a248){return _0x31a248===void 0x0?_0x31a248:clone(_0x31a248);}function resolveLoginAuthorizationConfig(_0x49c4a2){const _0x2421a1=_0x29733f;if(_0x49c4a2===![])return![];if(!_0x49c4a2||typeof _0x49c4a2[_0x2421a1(0x117)]!==_0x2421a1(0xdb)||_0x49c4a2[_0x2421a1(0x117)]['trim']()[_0x2421a1(0x1c5)]===0x0)throw new Error(_0x2421a1(0x1c8));return{'mode':_0x2421a1(0xb5),'signingSecret':_0x49c4a2['signingSecret'][_0x2421a1(0x1cb)]()};}function validateLoginPayload(_0x2736a9){const _0x3dd9c0=_0x29733f;if(!_0x2736a9||typeof _0x2736a9!=='object')return _0x3dd9c0(0x1e6);if(typeof _0x2736a9[_0x3dd9c0(0x1c0)]!==_0x3dd9c0(0xdb)||_0x2736a9[_0x3dd9c0(0x1c0)][_0x3dd9c0(0x1cb)]()[_0x3dd9c0(0x1c5)]===0x0)return'workerId\x20is\x20required';if(typeof _0x2736a9[_0x3dd9c0(0x210)]!=='string'||_0x2736a9[_0x3dd9c0(0x210)]['trim']()[_0x3dd9c0(0x1c5)]===0x0)return _0x3dd9c0(0x1fb);if(_0x2736a9[_0x3dd9c0(0x171)]!==_0x3dd9c0(0x14f)&&_0x2736a9[_0x3dd9c0(0x171)]!==_0x3dd9c0(0x19d)&&_0x2736a9[_0x3dd9c0(0x171)]!==_0x3dd9c0(0xf7)&&_0x2736a9[_0x3dd9c0(0x171)]!==_0x3dd9c0(0x102))return _0x3dd9c0(0x11f);if(_0x2736a9[_0x3dd9c0(0x1f7)]!==void 0x0&&_0x2736a9['initialAvailability']!=='available'&&_0x2736a9[_0x3dd9c0(0x1f7)]!==_0x3dd9c0(0xe3)&&_0x2736a9[_0x3dd9c0(0x1f7)]!==_0x3dd9c0(0xc5))return'initialAvailability\x20is\x20invalid';if(typeof _0x2736a9[_0x3dd9c0(0x1f2)]!=='string'||_0x2736a9[_0x3dd9c0(0x1f2)]['trim']()[_0x3dd9c0(0x1c5)]===0x0)return _0x3dd9c0(0x1af);return null;}function validateSendMessageParams(_0x458f66){const _0xbb0a29=_0x29733f;if(!_0x458f66[_0xbb0a29(0x195)][_0xbb0a29(0x1c0)][_0xbb0a29(0x1cb)]())throw new Error(_0xbb0a29(0x114));if(!_0x458f66['worker']['email'][_0xbb0a29(0x1cb)]())throw new Error('worker.email\x20is\x20required');validateParts(_0x458f66['parts']);}function validateTaskStatusUpdate(_0x2ab7cf,_0x106bd4){const _0x327f18=_0x29733f,_0x274306=['submitted',_0x327f18(0x20e),_0x327f18(0x206),_0x327f18(0x10a),'failed','canceled',_0x327f18(0xc4)];if(!_0x274306[_0x327f18(0xf1)](_0x2ab7cf[_0x327f18(0x12a)]))throw new Error('task\x20status\x20state\x20is\x20invalid');if(isTerminalTaskState(_0x106bd4[_0x327f18(0x12a)]))throw new Error('task\x20is\x20already\x20terminal');}function validateArtifact(_0x1c5f4e){const _0x16683d=_0x29733f;if(!_0x1c5f4e[_0x16683d(0x18c)][_0x16683d(0x1cb)]())throw new Error('artifact\x20name\x20is\x20required');validateParts(_0x1c5f4e[_0x16683d(0x1a7)]);}function validateParts(_0x223aae){const _0x56c2fd=_0x29733f;if(!Array[_0x56c2fd(0x1e0)](_0x223aae)||_0x223aae[_0x56c2fd(0x1c5)]===0x0)throw new Error(_0x56c2fd(0x13c));for(const _0x4adc7f of _0x223aae){if(_0x4adc7f[_0x56c2fd(0x211)]===_0x56c2fd(0x17e)&&_0x4adc7f[_0x56c2fd(0x17e)]['trim']()[_0x56c2fd(0x1c5)]===0x0)throw new Error(_0x56c2fd(0x120));if(_0x4adc7f[_0x56c2fd(0x211)]===_0x56c2fd(0xfa)&&_0x4adc7f['uri'][_0x56c2fd(0x1cb)]()['length']===0x0)throw new Error('file-ref\x20part\x20uri\x20is\x20required');}}export{WorkerClientSDK,WorkerServerSDK,isTerminalTaskState,issueLoginToken,resolveDefaultWorkerCredentialFile,splitWorkerKey,verifyLoginToken};
|