@profoundlogic/coderflow-server 0.2.4 → 0.2.5
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/README.md +24 -0
- package/dist/README.md +24 -0
- package/dist/coder-server.js +1 -1
- package/dist/config/skill-catalog.json +27 -0
- package/dist/config.js +1 -1
- package/dist/lib/agent-keepalive.js +1 -1
- package/dist/lib/api-keys.js +1 -1
- package/dist/lib/apiKeys.js +1 -1
- package/dist/lib/app-server-ports.js +1 -1
- package/dist/lib/auto-judge.js +1 -1
- package/dist/lib/basic-auth.js +1 -1
- package/dist/lib/build-history.js +1 -1
- package/dist/lib/build-output-service.js +1 -1
- package/dist/lib/build-scheduler.js +1 -1
- package/dist/lib/build-service.js +1 -1
- package/dist/lib/ca-certificates.js +1 -1
- package/dist/lib/claude-oauth-refresh.js +1 -1
- package/dist/lib/cli/build.js +1 -1
- package/dist/lib/cli/config-command.js +1 -1
- package/dist/lib/cli/config.js +1 -1
- package/dist/lib/cli/create-user.js +1 -1
- package/dist/lib/cli/init.js +1 -1
- package/dist/lib/cli/jira.js +1 -1
- package/dist/lib/cli/license.js +1 -1
- package/dist/lib/cli/server-manager.js +1 -1
- package/dist/lib/container-tokens.js +1 -1
- package/dist/lib/data-dir.js +1 -1
- package/dist/lib/deployment-history.js +1 -1
- package/dist/lib/deployment-service.js +1 -1
- package/dist/lib/docker-utils.js +1 -1
- package/dist/lib/email.js +1 -1
- package/dist/lib/emailTemplates.js +1 -1
- package/dist/lib/entitlement.js +1 -1
- package/dist/lib/fetch-utils.js +1 -1
- package/dist/lib/git-commit-details-route.js +1 -0
- package/dist/lib/git-history-diff-guardrails.js +1 -0
- package/dist/lib/git-provider-service.js +1 -1
- package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
- package/dist/lib/git-provider-setup/index.js +1 -1
- package/dist/lib/git-provider-setup/setup-factory.js +1 -1
- package/dist/lib/git-provider-setup/setup-interface.js +1 -1
- package/dist/lib/git-providers/azure-devops-provider.js +1 -1
- package/dist/lib/git-providers/github-app-provider.js +1 -1
- package/dist/lib/git-providers/index.js +1 -1
- package/dist/lib/git-providers/provider-factory.js +1 -1
- package/dist/lib/git-providers/provider-interface.js +1 -1
- package/dist/lib/github-urls.js +1 -1
- package/dist/lib/jira-client.js +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/model-fetcher.js +1 -1
- package/dist/lib/notifications.js +1 -1
- package/dist/lib/oidc-auth.js +1 -1
- package/dist/lib/oidc-device-flow.js +1 -1
- package/dist/lib/passwordTokens.js +1 -1
- package/dist/lib/pin-cascade.js +1 -1
- package/dist/lib/provider-accounts.js +1 -1
- package/dist/lib/provider-oauth.js +1 -1
- package/dist/lib/provider-profile.js +1 -1
- package/dist/lib/provider-token-refresh.js +1 -1
- package/dist/lib/request-url.js +1 -1
- package/dist/lib/rewind.js +1 -1
- package/dist/lib/roles.js +1 -1
- package/dist/lib/secrets.js +1 -1
- package/dist/lib/setup-repo-git-auth.js +1 -1
- package/dist/lib/state-capture.js +1 -1
- package/dist/lib/static-files.js +1 -1
- package/dist/lib/task-name-generator.js +1 -1
- package/dist/lib/user-git-oauth.js +1 -1
- package/dist/lib/user-git-tokens.js +1 -1
- package/dist/lib/users.js +1 -1
- package/dist/middleware/requireAuth.js +1 -1
- package/dist/middleware/requireInit.js +1 -1
- package/dist/middleware/requirePermission.js +1 -1
- package/dist/package.json +1 -1
- package/dist/routes/apiKeys.js +1 -1
- package/dist/routes/auth-oidc.js +1 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/build.js +1 -1
- package/dist/routes/containers.js +1 -1
- package/dist/routes/deploy-task.js +1 -1
- package/dist/routes/environment-management.js +1 -1
- package/dist/routes/environments.js +1 -1
- package/dist/routes/external-skills.js +1 -1
- package/dist/routes/git-credentials.js +1 -1
- package/dist/routes/git-oauth.js +1 -1
- package/dist/routes/git-provider-setup.js +1 -1
- package/dist/routes/health.js +1 -1
- package/dist/routes/jira.js +1 -1
- package/dist/routes/objective-management.js +1 -1
- package/dist/routes/password.js +1 -1
- package/dist/routes/prompt.js +1 -1
- package/dist/routes/provider-auth.js +1 -1
- package/dist/routes/qa.js +1 -1
- package/dist/routes/settings.js +1 -1
- package/dist/routes/skill-management.js +1 -1
- package/dist/routes/skills.js +1 -1
- package/dist/routes/tasks.js +1 -1
- package/dist/routes/templates.js +1 -1
- package/dist/routes/test-task.js +1 -1
- package/dist/routes/test.js +1 -1
- package/dist/routes/users.js +1 -1
- package/dist/routes/visualizations.js +1 -1
- package/dist/scripts/create-user.js +1 -1
- package/dist/start.js +1 -1
- package/dist/web-ui/public/activity-detail-modal.js +1 -1
- package/dist/web-ui/public/activity-feed.js +1 -1
- package/dist/web-ui/public/activity-formatters.js +1 -1
- package/dist/web-ui/public/agent-event-parser.js +1 -1
- package/dist/web-ui/public/app.js +1 -1
- package/dist/web-ui/public/approve-dialog.js +1 -1
- package/dist/web-ui/public/comments-widget.js +1 -1
- package/dist/web-ui/public/diff-utils.js +1 -1
- package/dist/web-ui/public/docs/tasks/providing-feedback.md +1 -1
- package/dist/web-ui/public/environments.js +1 -1
- package/dist/web-ui/public/feedback-widget.js +1 -1
- package/dist/web-ui/public/git-history-lazy-utils.js +1 -0
- package/dist/web-ui/public/git-history.css +56 -0
- package/dist/web-ui/public/git-history.html +2 -2
- package/dist/web-ui/public/git-history.js +1 -1
- package/dist/web-ui/public/git-status.js +1 -1
- package/dist/web-ui/public/index.js +1 -1
- package/dist/web-ui/public/login.js +1 -1
- package/dist/web-ui/public/markdown-editor.js +1 -1
- package/dist/web-ui/public/markdown-file-editor.js +1 -1
- package/dist/web-ui/public/modal-maximize.js +1 -1
- package/dist/web-ui/public/notifications.js +1 -1
- package/dist/web-ui/public/server-health.js +1 -1
- package/dist/web-ui/public/settings.js +1 -1
- package/dist/web-ui/public/setup-password.js +1 -1
- package/dist/web-ui/public/skills.js +1 -1
- package/dist/web-ui/public/sse-client.js +1 -1
- package/dist/web-ui/public/sse-shared-worker.js +1 -1
- package/dist/web-ui/public/task.html +102 -0
- package/dist/web-ui/public/task.js +1 -1
- package/dist/web-ui/public/terminal.js +1 -1
- package/dist/web-ui/public/theme.js +1 -1
- package/dist/web-ui/public/users.js +1 -1
- package/dist/web-ui/public/variant-grouping.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4f98dc=_0x4711;(function(_0x91e7ae,_0x117e7b){const _0x12ae2b=_0x4711,_0xec817=_0x91e7ae();while(!![]){try{const _0x36abe9=-parseInt(_0x12ae2b(0x93))/0x1+parseInt(_0x12ae2b(0x9c))/0x2*(parseInt(_0x12ae2b(0xb3))/0x3)+-parseInt(_0x12ae2b(0xa7))/0x4+parseInt(_0x12ae2b(0xc3))/0x5+-parseInt(_0x12ae2b(0xb9))/0x6*(parseInt(_0x12ae2b(0xbc))/0x7)+-parseInt(_0x12ae2b(0xc8))/0x8+parseInt(_0x12ae2b(0x82))/0x9;if(_0x36abe9===_0x117e7b)break;else _0xec817['push'](_0xec817['shift']());}catch(_0x4b7d71){_0xec817['push'](_0xec817['shift']());}}}(_0x349c,0x20564));function isSharedWorkerSupported(){const _0x5164d0=_0x4711;return typeof SharedWorker!==_0x5164d0(0x8e);}function eventTypeToHandler(_0x42a45b){const _0x4fc17d=_0x4711;if(_0x42a45b===_0x4fc17d(0x8b))return _0x4fc17d(0x85);if(_0x42a45b===_0x4fc17d(0xd4))return _0x4fc17d(0x95);return'on'+_0x42a45b['split']('-')['map'](_0x11568e=>_0x11568e[_0x4fc17d(0xd2)](0x0)['toUpperCase']()+_0x11568e['slice'](0x1))[_0x4fc17d(0xd8)]('');}function _0x349c(){const _0x549f19=['x2nVBM5Ly3reAxjLy3q','x2vTAxq','DgfZAZO','zgLZy29UBMvJDa','B3bLBG','x3n1yNnJCMLIzvrHC2TeAxjLy3q','nJu5oti1DfDZrwre','w1ntrsbdBgLLBNrDievYCM9YigLUia','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','B25dB25Uzwn0zwq','C3rHCNrZv2L0Aa','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','x3rHC2TtDwjjzenVDw50zxi','C3rYAw5N','zxzLBNrtB3vYy2u','y29UBMvJDgvK','zM9YrwfJAa','Cg9YDa','Dw5KzwzPBMvK','ywn0AxzPDhK','y29TCgXLDgu','C3rHDhvZ','z2v0','mtC2nJq5D1f0Cu5b','BgLZDgvUzxjZ','B25fCNjVCG','ywrK','BMv3lxrHC2S','zgf0yq','igXPC3rLBMvYoG','Bg9N','B25TzxnZywDL','mtbJq1zZBhC','y2HHBMDLrMLSDgvY','yxbWlxnLCNzLCI1ZDgf0Dxm','C3vTBwfYEq','CxvLDwuTCg9ZAxrPB24','x2HHBMrSzurPCMvJDfntrq','CMvJB25Uzwn0vgLTzw91Da','CgfYC2u','B25TzxnZywDLzxjYB3i','x3nJAgvKDwXLuMvJB25Uzwn0','zgLYzwn0','mJe1ndiWy2vAEvnk','C3vIC2nYAwjLvgfZAW','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','v29YA2vYig1LC3nHz2uGzxjYB3i','y2HHBMDLzc1MAwXLCW','C2v0','y29UBMvJDa','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqGzM9YihrHC2SGC3vIlcbMywXSAw5NigjHy2S6','yMLUza','DgfZA0LK','mtuZmdKZCwj1EePI','p3vZzxjjzd0','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','CMvWBgfJzq','D29YA2vY','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','mtj0rw5hCfK','Bg9NCW','y2XVC2u','oty1nJvlBwXqDhG','zgvSzxrL','DxnLCKLK','AxnvC2LUz1nOyxjLzfDVCMTLCG','BwLU','D2fYBG','q29UBMvJDgLVBIbLCNjVCG','mta1ntaZmfHTEe9yAW','AgfZ','x2HHBMrSzvDVCMTLCK1LC3nHz2u','ywrKrxzLBNrmAxn0zw5LCG','B2zM','mte5mtuYmez6y2jyza','y2XLyxi','DhLWzq','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','Cg93','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','C25HChnOB3q','Dw5ZDwjZy3jPyMvuyxnR','l3n0CMvHBq','Cg9ZDe1LC3nHz2u','y2HHCKf0','C2L6zq','zxjYB3i','x3rHC2TtDwjZy3jPChrPB25Z','DxnLu2HHCMvKv29YA2vY','x2vUC3vYzvDVCMTLCG','AM9PBG','CMvJB25Uzwn0qxr0zw1WDhm','igrHDge6'];_0x349c=function(){return _0x549f19;};return _0x349c();}const TASK_STREAM_EVENTS=['activity',_0x4f98dc(0xba),'metadata',_0x4f98dc(0x9f),_0x4f98dc(0xac),_0x4f98dc(0x9e),_0x4f98dc(0x90)];function _0x4711(_0x3599c5,_0x293cc7){_0x3599c5=_0x3599c5-0x7d;const _0x349c8f=_0x349c();let _0x47115e=_0x349c8f[_0x3599c5];if(_0x4711['YPQHmf']===undefined){var _0x491abd=function(_0x2d2392){const _0x5b6cc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x42a45b='',_0x11568e='';for(let _0x401732=0x0,_0x421510,_0x417562,_0x59dc67=0x0;_0x417562=_0x2d2392['charAt'](_0x59dc67++);~_0x417562&&(_0x421510=_0x401732%0x4?_0x421510*0x40+_0x417562:_0x417562,_0x401732++%0x4)?_0x42a45b+=String['fromCharCode'](0xff&_0x421510>>(-0x2*_0x401732&0x6)):0x0){_0x417562=_0x5b6cc7['indexOf'](_0x417562);}for(let _0x3b62b0=0x0,_0x46b4aa=_0x42a45b['length'];_0x3b62b0<_0x46b4aa;_0x3b62b0++){_0x11568e+='%'+('00'+_0x42a45b['charCodeAt'](_0x3b62b0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11568e);};_0x4711['zASwXA']=_0x491abd,_0x4711['kJVBYK']={},_0x4711['YPQHmf']=!![];}const _0xe45a7a=_0x349c8f[0x0],_0x93029b=_0x3599c5+_0xe45a7a,_0x3aa4c0=_0x4711['kJVBYK'][_0x93029b];return!_0x3aa4c0?(_0x47115e=_0x4711['zASwXA'](_0x47115e),_0x4711['kJVBYK'][_0x93029b]=_0x47115e):_0x47115e=_0x3aa4c0,_0x47115e;}export class TaskUpdatesClient{constructor(){const _0x5d668c=_0x4f98dc;this[_0x5d668c(0x94)]=new Map(),this[_0x5d668c(0xb7)]=null,this[_0x5d668c(0x8d)]=null,this['eventSource']=null,this['userId']=null,this[_0x5d668c(0xa2)]=null,this[_0x5d668c(0xd9)]=0x0,this[_0x5d668c(0xd6)]=isSharedWorkerSupported(),this[_0x5d668c(0x8b)]=![],this['_taskSubscriptions']=new Map(),this[_0x5d668c(0x88)]=0x0,this[_0x5d668c(0xc5)]=this[_0x5d668c(0xc5)]['bind'](this),this['_handleDirectSSE']=this[_0x5d668c(0xa1)][_0x5d668c(0xb1)](this);}['on'](_0x401732,_0x421510){const _0x31078b=_0x4f98dc;return!this[_0x31078b(0x94)][_0x31078b(0xc4)](_0x401732)&&this['listeners']['set'](_0x401732,new Set()),this[_0x31078b(0x94)][_0x31078b(0x92)](_0x401732)[_0x31078b(0x96)](_0x421510),this;}[_0x4f98dc(0xc7)](_0x417562,_0x59dc67){const _0x2ec0a3=_0x4f98dc;return this[_0x2ec0a3(0x94)][_0x2ec0a3(0xc4)](_0x417562)&&this[_0x2ec0a3(0x94)][_0x2ec0a3(0x92)](_0x417562)[_0x2ec0a3(0xbd)](_0x59dc67),this;}[_0x4f98dc(0x7d)](_0x3b62b0,_0x46b4aa){const _0x411ae9=_0x4f98dc;this[_0x411ae9(0x94)][_0x411ae9(0xc4)](_0x3b62b0)&&this[_0x411ae9(0x94)]['get'](_0x3b62b0)['forEach'](_0x13e4cd=>{const _0x4b5f0e=_0x411ae9;try{_0x13e4cd(_0x46b4aa);}catch(_0x1900c6){console[_0x4b5f0e(0xd4)](_0x4b5f0e(0x83)+_0x3b62b0+_0x4b5f0e(0x99),_0x1900c6);}});}[_0x4f98dc(0xae)](_0x2ed54d='me'){const _0x177ad2=_0x4f98dc;this['userId']=_0x2ed54d,this[_0x177ad2(0xd6)]?this['_connectViaWorker'](_0x2ed54d):this[_0x177ad2(0xdb)](_0x2ed54d);}['_connectViaWorker'](_0x168d52){const _0x369beb=_0x4f98dc;try{this[_0x369beb(0xd7)](),this['port'][_0x369beb(0xd1)]({'action':_0x369beb(0xae),'userId':_0x168d52});}catch(_0x4c2263){console[_0x369beb(0xd4)](_0x369beb(0x87),_0x4c2263),this[_0x369beb(0xd6)]=![],this[_0x369beb(0xdb)](_0x168d52);}}[_0x4f98dc(0xd7)](){const _0x4c5b40=_0x4f98dc;!this[_0x4c5b40(0xb7)]&&(this['worker']=new SharedWorker(_0x4c5b40(0xb5)),this[_0x4c5b40(0x8d)]=this[_0x4c5b40(0xb7)]['port'],this[_0x4c5b40(0x8d)][_0x4c5b40(0x9b)]=this['_handleWorkerMessage'],this[_0x4c5b40(0x8d)][_0x4c5b40(0xa4)]=_0x42c29=>{const _0x402fc8=_0x4c5b40;console['error']('[SSE\x20Client]\x20Worker\x20message\x20error:',_0x42c29),this['_emit'](_0x402fc8(0xd4),{'error':_0x402fc8(0xab)});},this[_0x4c5b40(0x8d)]['start']());}[_0x4f98dc(0xc5)](_0x4829a4){const _0x5bc0f9=_0x4f98dc,_0x124908=_0x4829a4[_0x5bc0f9(0x98)];if(_0x124908['type']&&_0x124908[_0x5bc0f9(0xca)][_0x5bc0f9(0x86)](_0x5bc0f9(0x7e))){this['_handleTaskStreamMessage'](_0x124908);return;}switch(_0x124908[_0x5bc0f9(0xca)]){case _0x5bc0f9(0x8b):this[_0x5bc0f9(0x8b)]=!![],this[_0x5bc0f9(0x7d)]('connected',{});break;case _0x5bc0f9(0xce):case'activity':case _0x5bc0f9(0x91):case _0x5bc0f9(0x97):case'queue-position':try{const _0x5648b6=JSON['parse'](_0x124908[_0x5bc0f9(0x98)]);this[_0x5bc0f9(0x7d)](_0x124908[_0x5bc0f9(0xca)],_0x5648b6);}catch(_0x3b6ba2){console[_0x5bc0f9(0xd4)](_0x5bc0f9(0xb8)+_0x124908[_0x5bc0f9(0xca)]+'\x20data:',_0x3b6ba2);}break;case _0x5bc0f9(0xd4):this['connected']=![],this[_0x5bc0f9(0x7d)]('error',_0x124908);break;default:console[_0x5bc0f9(0xc1)](_0x5bc0f9(0xa9),_0x124908[_0x5bc0f9(0xca)]);}}['_handleTaskStreamMessage'](_0x14e970){const _0x137f7a=_0x4f98dc,{taskId:_0x4daadd,type:_0x30f157,data:_0x23d7f}=_0x14e970,_0x4c57bd=this[_0x137f7a(0xd5)][_0x137f7a(0x92)](_0x4daadd);if(!_0x4c57bd||_0x4c57bd[_0x137f7a(0xd3)]===0x0)return;const _0x560311=_0x30f157[_0x137f7a(0xb6)]('task:',''),_0x477d5d=eventTypeToHandler(_0x560311);_0x4c57bd['forEach'](_0xe558a4=>{const _0xfa9ce4=_0x137f7a;if(_0xe558a4['handlers'][_0x477d5d])try{const _0x323f07=typeof _0x23d7f===_0xfa9ce4(0x89)?JSON[_0xfa9ce4(0xa3)](_0x23d7f):_0x23d7f;_0xe558a4['handlers'][_0x477d5d](_0x323f07);}catch(_0x13b655){console['error']('[SSE\x20Client]\x20Error\x20in\x20task\x20'+_0x560311+'\x20handler:',_0x13b655);}});}['_connectDirect'](_0x559df5){const _0x3ce9de=_0x4f98dc;this['eventSource']&&(this[_0x3ce9de(0x8a)]['close'](),this[_0x3ce9de(0x8a)]=null);const _0x13fdac=_0x559df5&&_0x559df5!=='me'?_0x3ce9de(0xb4)+_0x559df5:'';try{this['eventSource']=new EventSource('/tasks/updates'+_0x13fdac),this[_0x3ce9de(0x8a)]['addEventListener'](_0x3ce9de(0x80),()=>{const _0x3840ca=_0x3ce9de;this[_0x3840ca(0x8b)]=!![],this[_0x3840ca(0xd9)]=0x0,this[_0x3840ca(0x7d)]('connected',{});}),this[_0x3ce9de(0x8a)][_0x3ce9de(0xc6)](_0x3ce9de(0xce),_0x1b0f5e=>{const _0x6c63b8=_0x3ce9de;this[_0x6c63b8(0xa1)](_0x6c63b8(0xce),_0x1b0f5e),this[_0x6c63b8(0xd9)]=0x0;}),this[_0x3ce9de(0x8a)][_0x3ce9de(0xc6)](_0x3ce9de(0x8f),_0x48919c=>{const _0x2d921e=_0x3ce9de;this[_0x2d921e(0xa1)](_0x2d921e(0x8f),_0x48919c);}),this[_0x3ce9de(0x8a)][_0x3ce9de(0xc6)]('status',_0x5962f6=>{const _0x4a9083=_0x3ce9de;this[_0x4a9083(0xa1)](_0x4a9083(0x91),_0x5962f6);}),this['eventSource'][_0x3ce9de(0xc6)](_0x3ce9de(0x97),_0x4a0cdc=>{const _0x1c496a=_0x3ce9de;this[_0x1c496a(0xa1)]('new-task',_0x4a0cdc);}),this['eventSource'][_0x3ce9de(0xc6)]('queue-position',_0x541ddc=>{const _0x19bc3e=_0x3ce9de;this[_0x19bc3e(0xa1)](_0x19bc3e(0xa0),_0x541ddc);}),this[_0x3ce9de(0x8a)][_0x3ce9de(0xc6)]('error',_0x184627=>{const _0x2a6efe=_0x3ce9de;console[_0x2a6efe(0xd4)](_0x2a6efe(0xaf),_0x184627),this[_0x2a6efe(0x8b)]=![],this['_emit']('error',{'error':_0x2a6efe(0xc2)}),this[_0x2a6efe(0x8a)]&&(this[_0x2a6efe(0x8a)][_0x2a6efe(0xbb)](),this['eventSource']=null),this[_0x2a6efe(0xa5)]();});}catch(_0x271615){console['error']('[SSE\x20Client]\x20Failed\x20to\x20create\x20EventSource:',_0x271615),this[_0x3ce9de(0x7d)](_0x3ce9de(0xd4),{'error':_0x271615['message']}),this[_0x3ce9de(0xa5)]();}}[_0x4f98dc(0xa1)](_0x19b750,_0x5cb0ba){const _0x563d07=_0x4f98dc;try{const _0x44d643=JSON[_0x563d07(0xa3)](_0x5cb0ba[_0x563d07(0x98)]);this[_0x563d07(0x7d)](_0x19b750,_0x44d643);}catch(_0x3214f3){console['error']('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x19b750+_0x563d07(0xda),_0x3214f3);}}['_scheduleReconnect'](){const _0x312643=_0x4f98dc;this[_0x312643(0xa2)]&&clearTimeout(this[_0x312643(0xa2)]);const _0xd5fac2=Math[_0x312643(0xc0)](0x3e8*Math[_0x312643(0xcc)](0x2,this[_0x312643(0xd9)]),0x7530);this[_0x312643(0xd9)]++,console[_0x312643(0x9a)]('[SSE\x20Client]\x20Scheduling\x20reconnect\x20in\x20'+_0xd5fac2+'ms'),this[_0x312643(0xa2)]=setTimeout(()=>{const _0x17dd4e=_0x312643;this[_0x17dd4e(0xdb)](this[_0x17dd4e(0xbe)]);},_0xd5fac2);}[_0x4f98dc(0x9d)](_0x123acc){const _0x28c088=_0x4f98dc;if(_0x123acc===this[_0x28c088(0xbe)])return;this[_0x28c088(0xbe)]=_0x123acc;if(this[_0x28c088(0xd6)]&&this[_0x28c088(0x8d)])this[_0x28c088(0x8d)][_0x28c088(0xd1)]({'action':_0x28c088(0x9d),'userId':_0x123acc});else this[_0x28c088(0x8a)]&&this[_0x28c088(0xdb)](_0x123acc);}[_0x4f98dc(0xa8)](_0x2f6dcc,_0x212db2){const _0x1d92e6=_0x4f98dc;return this['useSharedWorker']?this['_subscribeTaskViaWorker'](_0x2f6dcc,_0x212db2):this[_0x1d92e6(0x81)](_0x2f6dcc,_0x212db2);}['unsubscribeTask'](_0x5bebdc){const _0x4eafce=_0x4f98dc;if(!_0x5bebdc)return;_0x5bebdc['type']==='worker'?this[_0x4eafce(0xaa)](_0x5bebdc):this['_unsubscribeTaskDirect'](_0x5bebdc);}[_0x4f98dc(0x84)](_0x2a8ee7,_0x45fd1c){const _0x1dda9e=_0x4f98dc;try{this[_0x1dda9e(0xd7)]();}catch(_0x17a907){return console[_0x1dda9e(0xd4)](_0x1dda9e(0xb0),_0x17a907),this['useSharedWorker']=![],this[_0x1dda9e(0x81)](_0x2a8ee7,_0x45fd1c);}const _0x6cbf7d=++this[_0x1dda9e(0x88)],_0x511be2={'type':_0x1dda9e(0xb7),'taskId':_0x2a8ee7,'handlers':_0x45fd1c,'id':_0x6cbf7d};return!this['_taskSubscriptions'][_0x1dda9e(0xc4)](_0x2a8ee7)&&(this[_0x1dda9e(0xd5)][_0x1dda9e(0xad)](_0x2a8ee7,new Set()),this[_0x1dda9e(0x8d)][_0x1dda9e(0xd1)]({'action':_0x1dda9e(0xa8),'taskId':_0x2a8ee7})),this['_taskSubscriptions']['get'](_0x2a8ee7)['add'](_0x511be2),_0x511be2;}[_0x4f98dc(0xaa)](_0x3a3ca3){const _0x1fedeb=_0x4f98dc,{taskId:_0x41870b}=_0x3a3ca3,_0x39b087=this[_0x1fedeb(0xd5)][_0x1fedeb(0x92)](_0x41870b);if(_0x39b087){_0x39b087['delete'](_0x3a3ca3);if(_0x39b087[_0x1fedeb(0xd3)]===0x0){this[_0x1fedeb(0xd5)][_0x1fedeb(0xbd)](_0x41870b);try{this[_0x1fedeb(0x8d)]&&this['port'][_0x1fedeb(0xd1)]({'action':_0x1fedeb(0xcf),'taskId':_0x41870b});}catch(_0x13ac9e){}}}}[_0x4f98dc(0x81)](_0x15e88d,_0x46b64b){const _0x2739d3=_0x4f98dc,_0x1798a2=++this[_0x2739d3(0x88)],_0x48dbe0=new EventSource('/tasks/'+_0x15e88d+_0x2739d3(0xd0)),_0x49b976={'type':_0x2739d3(0xa6),'taskId':_0x15e88d,'handlers':_0x46b64b,'id':_0x1798a2,'eventSource':_0x48dbe0};!this['_taskSubscriptions'][_0x2739d3(0xc4)](_0x15e88d)&&this[_0x2739d3(0xd5)][_0x2739d3(0xad)](_0x15e88d,new Set());this[_0x2739d3(0xd5)][_0x2739d3(0x92)](_0x15e88d)['add'](_0x49b976);for(const _0x27d5e2 of TASK_STREAM_EVENTS){const _0x5ea18e=eventTypeToHandler(_0x27d5e2);_0x48dbe0['addEventListener'](_0x27d5e2,_0x1a2f7d=>{const _0x1104a9=_0x2739d3;if(_0x46b64b[_0x5ea18e])try{const _0x48dced=JSON[_0x1104a9(0xa3)](_0x1a2f7d['data']);_0x46b64b[_0x5ea18e](_0x48dced);}catch(_0x344a04){console[_0x1104a9(0xd4)](_0x1104a9(0xcd)+_0x27d5e2+':',_0x344a04);}});}return _0x48dbe0[_0x2739d3(0xc6)](_0x2739d3(0x80),()=>{const _0x4b6ad6=_0x2739d3;if(_0x46b64b[_0x4b6ad6(0x85)])_0x46b64b[_0x4b6ad6(0x85)]();}),_0x48dbe0[_0x2739d3(0xc6)](_0x2739d3(0xd4),()=>{const _0x261567=_0x2739d3;if(_0x46b64b['onError'])_0x46b64b[_0x261567(0x95)]({'error':'Connection\x20error'});}),_0x49b976;}[_0x4f98dc(0xcb)](_0x38d738){const _0x737dd4=_0x4f98dc;_0x38d738[_0x737dd4(0x8a)]&&(_0x38d738['eventSource'][_0x737dd4(0xbb)](),_0x38d738['eventSource']=null);const _0x4321f=this[_0x737dd4(0xd5)]['get'](_0x38d738[_0x737dd4(0xb2)]);_0x4321f&&(_0x4321f['delete'](_0x38d738),_0x4321f['size']===0x0&&this[_0x737dd4(0xd5)][_0x737dd4(0xbd)](_0x38d738[_0x737dd4(0xb2)]));}[_0x4f98dc(0x7f)](){const _0x1607c7=_0x4f98dc;this['reconnectTimeout']&&(clearTimeout(this[_0x1607c7(0xa2)]),this[_0x1607c7(0xa2)]=null);this[_0x1607c7(0xd5)][_0x1607c7(0x8c)]((_0x2dfc36,_0x3f6287)=>{_0x2dfc36['forEach'](_0x1cc36a=>{const _0x3ecd7c=_0x4711;_0x1cc36a[_0x3ecd7c(0xca)]===_0x3ecd7c(0xa6)&&_0x1cc36a[_0x3ecd7c(0x8a)]&&_0x1cc36a[_0x3ecd7c(0x8a)][_0x3ecd7c(0xbb)]();});}),this[_0x1607c7(0xd5)][_0x1607c7(0xc9)]();if(this[_0x1607c7(0xd6)]&&this[_0x1607c7(0x8d)])try{this[_0x1607c7(0x8d)][_0x1607c7(0xd1)]({'action':_0x1607c7(0x7f)});}catch(_0x4957c5){}this[_0x1607c7(0x8a)]&&(this['eventSource'][_0x1607c7(0xbb)](),this[_0x1607c7(0x8a)]=null),this['connected']=![];}['isConnected'](){const _0x378422=_0x4f98dc;return this[_0x378422(0x8b)];}[_0x4f98dc(0xbf)](){const _0x4e98c2=_0x4f98dc;return this[_0x4e98c2(0xd6)];}}let globalClient=null;export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
|
|
1
|
+
function _0x2221(){const _0x5f124c=['y29UBMvJDa','y2XLyxi','BMv3lxrHC2S','nJqYodiWohvqvgLduq','ywrK','zgvSzxrL','BwfW','DhLWzq','x2vTAxq','nduWzwPKsgrc','x2HHBMrSzvDVCMTLCK1LC3nHz2u','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','C3rHCNq','C25HChnOB3q','BgLZDgvUzxjZ','Dw5KzwzPBMvK','zxzLBNrtB3vYy2u','mZC5mJy5mfzXtM1tvq','B25fCNjVCG','BwLU','q29UBMvJDgLVBIbLCNjVCG','CMvJB25Uzwn0vgLTzw91Da','C3bSAxq','AgfZ','x3n1yNnJCMLIzvrHC2TeAxjLy3q','mtm0ndrwBxPUBe0','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','y29UBMvJDgvK','B25TzxnZywDLzxjYB3i','ywrKrxzLBNrmAxn0zw5LCG','nJCWAfnREwfH','C3vIC2nYAwjLvgfZAW','Bg9N','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','AgfUzgXLCNm','mtyZota2u3DnuNbS','l3rHC2TZlW','w1ntrsbdBgLLBNrDievYCM9YigLUihrHC2SG','zgf0yq','C2L6zq','x2HHBMrSzurPCMvJDfntrq','x3rHC2TtDwjZy3jPChrPB25Z','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','x2nVBM5Ly3rwAwfxB3jRzxi','Dw5ZDwjZy3jPyMvuyxnR','x2nVBM5Ly3reAxjLy3q','CxvLDwuTCg9ZAxrPB24','zgLZy29UBMvJDa','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','igrHDge6','B2zM','y2HHBMDLzc1MAwXLCW','B3bLBG','yxbWlxnLCNzLCI1ZDgf0Dxm','B25TzxnZywDL','y2HHCKf0','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','p3vZzxjjzd0','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','DxnLu2HHCMvKv29YA2vY','Cg9YDa','DgfZAZO','ndq3mJa1tKTesLD6','zgLYzwn0','y2HHBMDLrMLSDgvY','Cg9ZDe1LC3nHz2u','B25dB25Uzwn0zwq','x2vUC3vYzvDVCMTLCG','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','y2XVC2u','C2XPy2u','y29TCgXLDgu','ywn0AxzPDhK','DxnLCKLK','mJy2mZeYovzPs0TJrG','nZeWmJCXv0zbse9o','AxnvC2LUz1nOyxjLzfDVCMTLCG','CMvWBgfJzq','C2v0','x3nJAgvKDwXLuMvJB25Uzwn0','zxjYB3i','z2v0','C3rYAw5N','BwvZC2fNzq','mwHOzgn1rq','CMvJB25Uzwn0qxr0zw1WDhm','zM9YrwfJAa','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqGzM9YihrHC2SGC3vIlcbMywXSAw5NigjHy2S6','l3n0CMvHBq','yMLUza','x3rHC2TtDwjjzenVDw50zxi','C3rHDhvZ','mtjfvvrvuLe','D29YA2vY','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','CgfYC2u','DgfZA0LK'];_0x2221=function(){return _0x5f124c;};return _0x2221();}const _0xf90327=_0x1814;(function(_0x2b1aee,_0x103038){const _0x345e54=_0x1814,_0x16237b=_0x2b1aee();while(!![]){try{const _0x73283c=parseInt(_0x345e54(0x128))/0x1*(parseInt(_0x345e54(0x159))/0x2)+parseInt(_0x345e54(0x11f))/0x3+parseInt(_0x345e54(0x14e))/0x4*(parseInt(_0x345e54(0x154))/0x5)+parseInt(_0x345e54(0x130))/0x6*(-parseInt(_0x345e54(0x11e))/0x7)+-parseInt(_0x345e54(0x138))/0x8+-parseInt(_0x345e54(0x146))/0x9+-parseInt(_0x345e54(0x13e))/0xa*(-parseInt(_0x345e54(0x174))/0xb);if(_0x73283c===_0x103038)break;else _0x16237b['push'](_0x16237b['shift']());}catch(_0x12db74){_0x16237b['push'](_0x16237b['shift']());}}}(_0x2221,0x95979));function _0x1814(_0x177e01,_0xad5637){_0x177e01=_0x177e01-0x119;const _0x222189=_0x2221();let _0x1814a6=_0x222189[_0x177e01];if(_0x1814['lxBETX']===undefined){var _0x3ca524=function(_0x564c30){const _0x576843='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40f838='',_0x374e7b='';for(let _0x30f5cd=0x0,_0x16480e,_0x28cc40,_0x1dea0a=0x0;_0x28cc40=_0x564c30['charAt'](_0x1dea0a++);~_0x28cc40&&(_0x16480e=_0x30f5cd%0x4?_0x16480e*0x40+_0x28cc40:_0x28cc40,_0x30f5cd++%0x4)?_0x40f838+=String['fromCharCode'](0xff&_0x16480e>>(-0x2*_0x30f5cd&0x6)):0x0){_0x28cc40=_0x576843['indexOf'](_0x28cc40);}for(let _0x363952=0x0,_0x2baf2e=_0x40f838['length'];_0x363952<_0x2baf2e;_0x363952++){_0x374e7b+='%'+('00'+_0x40f838['charCodeAt'](_0x363952)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x374e7b);};_0x1814['ZaAAEB']=_0x3ca524,_0x1814['KSqCJi']={},_0x1814['lxBETX']=!![];}const _0x5f2c10=_0x222189[0x0],_0x62f4fa=_0x177e01+_0x5f2c10,_0x111a79=_0x1814['KSqCJi'][_0x62f4fa];return!_0x111a79?(_0x1814a6=_0x1814['ZaAAEB'](_0x1814a6),_0x1814['KSqCJi'][_0x62f4fa]=_0x1814a6):_0x1814a6=_0x111a79,_0x1814a6;}function isSharedWorkerSupported(){const _0x1536d3=_0x1814;return typeof SharedWorker!==_0x1536d3(0x144);}function eventTypeToHandler(_0x40f838){const _0x2bd2fd=_0x1814;if(_0x40f838===_0x2bd2fd(0x151))return _0x2bd2fd(0x178);if(_0x40f838===_0x2bd2fd(0x124))return _0x2bd2fd(0x147);return'on'+_0x40f838[_0x2bd2fd(0x14b)]('-')[_0x2bd2fd(0x13b)](_0x374e7b=>_0x374e7b[_0x2bd2fd(0x16d)](0x0)['toUpperCase']()+_0x374e7b[_0x2bd2fd(0x11a)](0x1))['join']('');}const TASK_STREAM_EVENTS=['activity','logs','metadata','summary',_0xf90327(0x169),_0xf90327(0x16b),_0xf90327(0x11b)];export class TaskUpdatesClient{constructor(){const _0xdda31b=_0xf90327;this['listeners']=new Map(),this[_0xdda31b(0x131)]=null,this['port']=null,this['eventSource']=null,this[_0xdda31b(0x11d)]=null,this[_0xdda31b(0x14a)]=null,this['reconnectAttempts']=0x0,this['useSharedWorker']=isSharedWorkerSupported(),this[_0xdda31b(0x151)]=![],this[_0xdda31b(0x15f)]=new Map(),this[_0xdda31b(0x12e)]=0x0,this[_0xdda31b(0x13f)]=this[_0xdda31b(0x13f)][_0xdda31b(0x12d)](this),this[_0xdda31b(0x15e)]=this['_handleDirectSSE'][_0xdda31b(0x12d)](this);}['on'](_0x30f5cd,_0x16480e){const _0x5140c5=_0xf90327;return!this[_0x5140c5(0x143)][_0x5140c5(0x14c)](_0x30f5cd)&&this[_0x5140c5(0x143)]['set'](_0x30f5cd,new Set()),this[_0x5140c5(0x143)][_0x5140c5(0x125)](_0x30f5cd)[_0x5140c5(0x139)](_0x16480e),this;}[_0xf90327(0x168)](_0x28cc40,_0x1dea0a){const _0x25ebab=_0xf90327;return this[_0x25ebab(0x143)][_0x25ebab(0x14c)](_0x28cc40)&&this[_0x25ebab(0x143)][_0x25ebab(0x125)](_0x28cc40)[_0x25ebab(0x13a)](_0x1dea0a),this;}['_emit'](_0x363952,_0x2baf2e){const _0x2be7fc=_0xf90327;this[_0x2be7fc(0x143)][_0x2be7fc(0x14c)](_0x363952)&&this[_0x2be7fc(0x143)][_0x2be7fc(0x125)](_0x363952)[_0x2be7fc(0x12a)](_0x22a5aa=>{try{_0x22a5aa(_0x2baf2e);}catch(_0x5a5dc6){console['error']('[SSE\x20Client]\x20Error\x20in\x20'+_0x363952+'\x20listener:',_0x5a5dc6);}});}[_0xf90327(0x135)](_0x4b0c40='me'){const _0x290b64=_0xf90327;this[_0x290b64(0x11d)]=_0x4b0c40,this[_0x290b64(0x171)]?this[_0x290b64(0x161)](_0x4b0c40):this[_0x290b64(0x163)](_0x4b0c40);}[_0xf90327(0x161)](_0x380dbc){const _0x44c97e=_0xf90327;try{this[_0x44c97e(0x179)](),this[_0x44c97e(0x172)][_0x44c97e(0x177)]({'action':_0x44c97e(0x135),'userId':_0x380dbc});}catch(_0x29ccdb){console['error'](_0x44c97e(0x16e),_0x29ccdb),this[_0x44c97e(0x171)]=![],this['_connectDirect'](_0x380dbc);}}[_0xf90327(0x179)](){const _0x2f3274=_0xf90327;!this[_0x2f3274(0x131)]&&(this[_0x2f3274(0x131)]=new SharedWorker(_0x2f3274(0x160)),this[_0x2f3274(0x172)]=this[_0x2f3274(0x131)]['port'],this[_0x2f3274(0x172)][_0x2f3274(0x16c)]=this['_handleWorkerMessage'],this[_0x2f3274(0x172)][_0x2f3274(0x152)]=_0x28c2fe=>{const _0x2794e1=_0x2f3274;console[_0x2794e1(0x124)]('[SSE\x20Client]\x20Worker\x20message\x20error:',_0x28c2fe),this['_emit'](_0x2794e1(0x124),{'error':'Worker\x20message\x20error'});},this[_0x2f3274(0x172)][_0x2f3274(0x141)]());}[_0xf90327(0x13f)](_0x2eebc9){const _0x3ee468=_0xf90327,_0x1ebb31=_0x2eebc9[_0x3ee468(0x15c)];if(_0x1ebb31['type']&&_0x1ebb31['type']['startsWith']('task:')){this['_handleTaskStreamMessage'](_0x1ebb31);return;}switch(_0x1ebb31[_0x3ee468(0x13c)]){case _0x3ee468(0x151):this[_0x3ee468(0x151)]=!![],this[_0x3ee468(0x13d)]('connected',{});break;case _0x3ee468(0x142):case _0x3ee468(0x11c):case _0x3ee468(0x12f):case _0x3ee468(0x137):case _0x3ee468(0x164):try{const _0x2661b9=JSON[_0x3ee468(0x133)](_0x1ebb31[_0x3ee468(0x15c)]);this[_0x3ee468(0x13d)](_0x1ebb31[_0x3ee468(0x13c)],_0x2661b9);}catch(_0x5a9695){console['error'](_0x3ee468(0x17a)+_0x1ebb31[_0x3ee468(0x13c)]+_0x3ee468(0x167),_0x5a9695);}break;case _0x3ee468(0x124):this[_0x3ee468(0x151)]=![],this[_0x3ee468(0x13d)]('error',_0x1ebb31);break;default:console['warn'](_0x3ee468(0x170),_0x1ebb31['type']);}}[_0xf90327(0x166)](_0x25f42f){const _0x4f188b=_0xf90327,{taskId:_0x51211f,type:_0x2143ea,data:_0x2f73f6}=_0x25f42f,_0x408e92=this[_0x4f188b(0x15f)][_0x4f188b(0x125)](_0x51211f);if(!_0x408e92||_0x408e92['size']===0x0)return;const _0x1dd7b8=_0x2143ea[_0x4f188b(0x121)](_0x4f188b(0x173),''),_0x3c6b9a=eventTypeToHandler(_0x1dd7b8);_0x408e92[_0x4f188b(0x12a)](_0x4ff60f=>{const _0x4e2fd2=_0x4f188b;if(_0x4ff60f['handlers'][_0x3c6b9a])try{const _0x2898ed=typeof _0x2f73f6===_0x4e2fd2(0x126)?JSON['parse'](_0x2f73f6):_0x2f73f6;_0x4ff60f[_0x4e2fd2(0x158)][_0x3c6b9a](_0x2898ed);}catch(_0x3b1e00){console[_0x4e2fd2(0x124)](_0x4e2fd2(0x15b)+_0x1dd7b8+'\x20handler:',_0x3b1e00);}});}['_connectDirect'](_0x1a22a5){const _0xe4e315=_0xf90327;this[_0xe4e315(0x145)]&&(this[_0xe4e315(0x145)][_0xe4e315(0x119)](),this['eventSource']=null);const _0x3557d5=_0x1a22a5&&_0x1a22a5!=='me'?_0xe4e315(0x16f)+_0x1a22a5:'';try{this[_0xe4e315(0x145)]=new EventSource('/tasks/updates'+_0x3557d5),this[_0xe4e315(0x145)][_0xe4e315(0x153)](_0xe4e315(0x16a),()=>{const _0x2d50c2=_0xe4e315;this[_0x2d50c2(0x151)]=!![],this[_0x2d50c2(0x129)]=0x0,this[_0x2d50c2(0x13d)]('connected',{});}),this['eventSource'][_0xe4e315(0x153)](_0xe4e315(0x142),_0x5c6491=>{const _0x183d77=_0xe4e315;this['_handleDirectSSE'](_0x183d77(0x142),_0x5c6491),this[_0x183d77(0x129)]=0x0;}),this[_0xe4e315(0x145)][_0xe4e315(0x153)](_0xe4e315(0x11c),_0x5ecb5a=>{const _0x28b6ee=_0xe4e315;this[_0x28b6ee(0x15e)](_0x28b6ee(0x11c),_0x5ecb5a);}),this[_0xe4e315(0x145)]['addEventListener'](_0xe4e315(0x12f),_0x3fa57e=>{const _0x221de3=_0xe4e315;this[_0x221de3(0x15e)](_0x221de3(0x12f),_0x3fa57e);}),this['eventSource'][_0xe4e315(0x153)](_0xe4e315(0x137),_0x61ff7b=>{const _0x20d870=_0xe4e315;this['_handleDirectSSE'](_0x20d870(0x137),_0x61ff7b);}),this[_0xe4e315(0x145)][_0xe4e315(0x153)](_0xe4e315(0x164),_0x18a79b=>{const _0x273529=_0xe4e315;this[_0x273529(0x15e)](_0x273529(0x164),_0x18a79b);}),this['eventSource'][_0xe4e315(0x153)](_0xe4e315(0x124),_0x493a8e=>{const _0x213e55=_0xe4e315;console[_0x213e55(0x124)]('[SSE\x20Client]\x20Direct\x20SSE\x20error:',_0x493a8e),this[_0x213e55(0x151)]=![],this['_emit']('error',{'error':_0x213e55(0x149)}),this[_0x213e55(0x145)]&&(this[_0x213e55(0x145)][_0x213e55(0x119)](),this[_0x213e55(0x145)]=null),this['_scheduleReconnect']();});}catch(_0x56e258){console[_0xe4e315(0x124)](_0xe4e315(0x157),_0x56e258),this[_0xe4e315(0x13d)](_0xe4e315(0x124),{'error':_0x56e258[_0xe4e315(0x127)]}),this[_0xe4e315(0x123)]();}}[_0xf90327(0x15e)](_0xb846c7,_0x2407e1){const _0x582e6d=_0xf90327;try{const _0x593a40=JSON[_0x582e6d(0x133)](_0x2407e1['data']);this[_0x582e6d(0x13d)](_0xb846c7,_0x593a40);}catch(_0x568c24){console['error'](_0x582e6d(0x17a)+_0xb846c7+_0x582e6d(0x167),_0x568c24);}}[_0xf90327(0x123)](){const _0x306eda=_0xf90327;this[_0x306eda(0x14a)]&&clearTimeout(this[_0x306eda(0x14a)]);const _0x3b8990=Math[_0x306eda(0x148)](0x3e8*Math['pow'](0x2,this[_0x306eda(0x129)]),0x7530);this[_0x306eda(0x129)]++,console[_0x306eda(0x156)](_0x306eda(0x132)+_0x3b8990+'ms'),this[_0x306eda(0x14a)]=setTimeout(()=>{const _0x26f169=_0x306eda;this['_connectDirect'](this[_0x26f169(0x11d)]);},_0x3b8990);}[_0xf90327(0x176)](_0x4372f1){const _0x9dd70f=_0xf90327;if(_0x4372f1===this[_0x9dd70f(0x11d)])return;this[_0x9dd70f(0x11d)]=_0x4372f1;if(this[_0x9dd70f(0x171)]&&this[_0x9dd70f(0x172)])this[_0x9dd70f(0x172)]['postMessage']({'action':_0x9dd70f(0x176),'userId':_0x4372f1});else this[_0x9dd70f(0x145)]&&this[_0x9dd70f(0x163)](_0x4372f1);}[_0xf90327(0x155)](_0x507e6e,_0x555894){const _0x57bc92=_0xf90327;return this['useSharedWorker']?this[_0x57bc92(0x150)](_0x507e6e,_0x555894):this[_0x57bc92(0x14d)](_0x507e6e,_0x555894);}[_0xf90327(0x162)](_0x1786d8){if(!_0x1786d8)return;_0x1786d8['type']==='worker'?this['_unsubscribeTaskWorker'](_0x1786d8):this['_unsubscribeTaskDirect'](_0x1786d8);}[_0xf90327(0x150)](_0x9f71d9,_0x1ee132){const _0x1b0751=_0xf90327;try{this[_0x1b0751(0x179)]();}catch(_0x2d3c83){return console[_0x1b0751(0x124)](_0x1b0751(0x12b),_0x2d3c83),this[_0x1b0751(0x171)]=![],this[_0x1b0751(0x14d)](_0x9f71d9,_0x1ee132);}const _0x549a61=++this[_0x1b0751(0x12e)],_0x49684d={'type':_0x1b0751(0x131),'taskId':_0x9f71d9,'handlers':_0x1ee132,'id':_0x549a61};return!this[_0x1b0751(0x15f)][_0x1b0751(0x14c)](_0x9f71d9)&&(this[_0x1b0751(0x15f)][_0x1b0751(0x122)](_0x9f71d9,new Set()),this['port'][_0x1b0751(0x177)]({'action':_0x1b0751(0x155),'taskId':_0x9f71d9})),this['_taskSubscriptions'][_0x1b0751(0x125)](_0x9f71d9)['add'](_0x49684d),_0x49684d;}[_0xf90327(0x14f)](_0x269971){const _0xb51524=_0xf90327,{taskId:_0xb69af7}=_0x269971,_0x55406e=this['_taskSubscriptions'][_0xb51524(0x125)](_0xb69af7);if(_0x55406e){_0x55406e[_0xb51524(0x13a)](_0x269971);if(_0x55406e[_0xb51524(0x15d)]===0x0){this[_0xb51524(0x15f)][_0xb51524(0x13a)](_0xb69af7);try{this[_0xb51524(0x172)]&&this[_0xb51524(0x172)]['postMessage']({'action':_0xb51524(0x162),'taskId':_0xb69af7});}catch(_0x104a65){}}}}[_0xf90327(0x14d)](_0x930e67,_0x296063){const _0x54122e=_0xf90327,_0x4f2ffd=++this['_taskSubIdCounter'],_0xa0206=new EventSource(_0x54122e(0x15a)+_0x930e67+_0x54122e(0x12c)),_0x480f0e={'type':'direct','taskId':_0x930e67,'handlers':_0x296063,'id':_0x4f2ffd,'eventSource':_0xa0206};!this['_taskSubscriptions'][_0x54122e(0x14c)](_0x930e67)&&this[_0x54122e(0x15f)][_0x54122e(0x122)](_0x930e67,new Set());this['_taskSubscriptions'][_0x54122e(0x125)](_0x930e67)[_0x54122e(0x139)](_0x480f0e);for(const _0x2028df of TASK_STREAM_EVENTS){const _0x41ffc3=eventTypeToHandler(_0x2028df);_0xa0206['addEventListener'](_0x2028df,_0x364503=>{const _0x2311d3=_0x54122e;if(_0x296063[_0x41ffc3])try{const _0x17f0b5=JSON['parse'](_0x364503['data']);_0x296063[_0x41ffc3](_0x17f0b5);}catch(_0xb34a1e){console[_0x2311d3(0x124)](_0x2311d3(0x140)+_0x2028df+':',_0xb34a1e);}});}return _0xa0206[_0x54122e(0x153)](_0x54122e(0x16a),()=>{const _0x5bf068=_0x54122e;if(_0x296063[_0x5bf068(0x178)])_0x296063[_0x5bf068(0x178)]();}),_0xa0206[_0x54122e(0x153)]('error',()=>{const _0x4f7896=_0x54122e;if(_0x296063['onError'])_0x296063[_0x4f7896(0x147)]({'error':'Connection\x20error'});}),_0x480f0e;}['_unsubscribeTaskDirect'](_0x1606e3){const _0x39398d=_0xf90327;_0x1606e3[_0x39398d(0x145)]&&(_0x1606e3[_0x39398d(0x145)][_0x39398d(0x119)](),_0x1606e3[_0x39398d(0x145)]=null);const _0x29a802=this[_0x39398d(0x15f)][_0x39398d(0x125)](_0x1606e3['taskId']);_0x29a802&&(_0x29a802[_0x39398d(0x13a)](_0x1606e3),_0x29a802[_0x39398d(0x15d)]===0x0&&this[_0x39398d(0x15f)][_0x39398d(0x13a)](_0x1606e3[_0x39398d(0x134)]));}[_0xf90327(0x165)](){const _0xd3d24e=_0xf90327;this[_0xd3d24e(0x14a)]&&(clearTimeout(this[_0xd3d24e(0x14a)]),this[_0xd3d24e(0x14a)]=null);this[_0xd3d24e(0x15f)][_0xd3d24e(0x12a)]((_0x8be2c0,_0x15e5b3)=>{_0x8be2c0['forEach'](_0x1b6583=>{const _0x106dff=_0x1814;_0x1b6583[_0x106dff(0x13c)]===_0x106dff(0x175)&&_0x1b6583[_0x106dff(0x145)]&&_0x1b6583['eventSource']['close']();});}),this[_0xd3d24e(0x15f)][_0xd3d24e(0x136)]();if(this[_0xd3d24e(0x171)]&&this['port'])try{this[_0xd3d24e(0x172)][_0xd3d24e(0x177)]({'action':_0xd3d24e(0x165)});}catch(_0x3caf79){}this['eventSource']&&(this[_0xd3d24e(0x145)][_0xd3d24e(0x119)](),this[_0xd3d24e(0x145)]=null),this[_0xd3d24e(0x151)]=![];}['isConnected'](){const _0x2df0bf=_0xf90327;return this[_0x2df0bf(0x151)];}[_0xf90327(0x120)](){const _0x2f6188=_0xf90327;return this[_0x2f6188(0x171)];}}let globalClient=null;export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x19ecf2=_0x4425;(function(_0xa59a2,_0x38e1b1){const _0x4a78b4=_0x4425,_0x1e7d33=_0xa59a2();while(!![]){try{const _0x8ba016=parseInt(_0x4a78b4(0xc0))/0x1*(parseInt(_0x4a78b4(0xed))/0x2)+-parseInt(_0x4a78b4(0xad))/0x3+parseInt(_0x4a78b4(0xd9))/0x4*(parseInt(_0x4a78b4(0xd3))/0x5)+parseInt(_0x4a78b4(0xe6))/0x6+parseInt(_0x4a78b4(0xb2))/0x7*(parseInt(_0x4a78b4(0xe4))/0x8)+-parseInt(_0x4a78b4(0xb9))/0x9*(-parseInt(_0x4a78b4(0xb0))/0xa)+-parseInt(_0x4a78b4(0xde))/0xb*(parseInt(_0x4a78b4(0xbf))/0xc);if(_0x8ba016===_0x38e1b1)break;else _0x1e7d33['push'](_0x1e7d33['shift']());}catch(_0x40e274){_0x1e7d33['push'](_0x1e7d33['shift']());}}}(_0x3392,0x4a6ab));function _0x3392(){const _0x5d9d0b=['nfHbvLfeBq','CxvLDwuTCg9ZAxrPB24','Bg9N','C2L6zq','zM9YrwfJAa','mtyYodiZnZzRzLfJvw0','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','D2fYBG','zgvSzxrL','y29TCgXLDgu','Cg9YDhm','mtuYndq5nLzXAe9ryW','zxzLBNrtB3vYy2u','mJm2oduWB3Dqt3vN','DgfZAZO','Bwv0ywrHDge','zgLZy29UBMvJDa','zxjYB3i','BwLU','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','ndK4rMnft0Hm','C3rHCNq','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','C25HChnOB3q','l3rHC2TZl3vWzgf0zxm','Cg93','BxmGkgf0DgvTChqG','C3rYAw5NAwz5','t1bftG','CMvHzhLtDgf0zq','DgfZAZPJB25Uzwn0zwq','otK2ntmXv3LKu0L5','ywn0AxzPDhK','C3rHDhvZ','mJGXmfD5rKL0ta','CMvJB25Uzwn0qxr0zw1WDhm','mtrWugDNy0S','q0Xpu0ve','C2v0','yxbWlxnLCNzLCI1ZDgf0Dxm','y29UBMvJDgvK','BwvZC2fNzq','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','mtGWmJDbqNHXzwS','AgfZ','CMvJB25Uzwn0vgLTzw91Da','ywrKrxzLBNrmAxn0zw5LCG','Cg9ZDe1LC3nHz2u','DgfZAZPLCNjVCG','mtjhDK5iB1q','mJiWm3DICLrYra','l3rHC2TZlW','B25TzxnZywDLzxjYB3i','y2XVC2u','ChvZAa','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','C3vIC2nYAwjLvgfZAW','zgf0yq','z2v0','Bg9NCW','C3vIC2nYAwjLzfbVCNrZ','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','BMv3lxrHC2S','y2HHBMDLrMLSDgvY','y2HHBMDLzc1MAwXLCW','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','C3vTBwfYEq','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbZzw5KihrVihbVCNqSihjLBw92Aw5NoG','Dw5ZDwjZy3jPyMvuyxnR','mJKYnJa3nuPLs3veAG','q29UBMvJDgLVBIbLCNjVCG','B25TzxnZywDL','B3bLBG','ywrK','y29UBMvJDa'];_0x3392=function(){return _0x5d9d0b;};return _0x3392();}const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x19ecf2(0xae),_0x19ecf2(0xc9),_0x19ecf2(0xe8),_0x19ecf2(0xd0),_0x19ecf2(0xce),_0x19ecf2(0xb5),_0x19ecf2(0xe2)];function connect(_0x2c0641){const _0x3a457e=_0x19ecf2;eventSource&¤tUserId!==_0x2c0641&&(eventSource['close'](),eventSource=null);if(eventSource&&eventSource[_0x3a457e(0xf6)]!==EventSource[_0x3a457e(0xb3)])return;currentUserId=_0x2c0641;const _0x3db830=_0x2c0641&&_0x2c0641!=='me'?'?userId='+_0x2c0641:'';try{eventSource=new EventSource(_0x3a457e(0xf1)+_0x3db830),eventSource['addEventListener'](_0x3a457e(0xf0),_0x126e0e=>{const _0x141d7b=_0x3a457e;broadcast({'type':_0x141d7b(0xf0),'data':_0x126e0e[_0x141d7b(0xc7)]}),reconnectAttempts=0x0;}),eventSource[_0x3a457e(0xbc)](_0x3a457e(0xae),_0x50c613=>{const _0x461bad=_0x3a457e;broadcast({'type':_0x461bad(0xae),'data':_0x50c613[_0x461bad(0xc7)]});}),eventSource['addEventListener'](_0x3a457e(0xaf),_0x1cacc=>{const _0x17c4ea=_0x3a457e;broadcast({'type':_0x17c4ea(0xaf),'data':_0x1cacc[_0x17c4ea(0xc7)]});}),eventSource[_0x3a457e(0xbc)](_0x3a457e(0xcc),_0x56c456=>{const _0x146f42=_0x3a457e;broadcast({'type':_0x146f42(0xcc),'data':_0x56c456[_0x146f42(0xc7)]});}),eventSource['addEventListener'](_0x3a457e(0xda),_0x211723=>{const _0x320262=_0x3a457e;broadcast({'type':'queue-position','data':_0x211723[_0x320262(0xc7)]});}),eventSource['addEventListener'](_0x3a457e(0xd6),()=>{const _0x15a584=_0x3a457e;broadcast({'type':_0x15a584(0xb6)}),reconnectAttempts=0x0;}),eventSource['addEventListener'](_0x3a457e(0xea),_0x16801c=>{const _0x3e67cd=_0x3a457e;console[_0x3e67cd(0xea)]('[SSE\x20Worker]\x20Connection\x20error:',_0x16801c),broadcast({'type':'error','error':_0x3e67cd(0xd4)}),eventSource&&(eventSource['close'](),eventSource=null),scheduleReconnect();});}catch(_0x213137){console[_0x3a457e(0xea)](_0x3a457e(0xc5),_0x213137),broadcast({'type':'error','error':_0x213137[_0x3a457e(0xb7)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x178652=_0x19ecf2;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports[_0x178652(0xdc)]===0x0)return;const _0x51d6db=Math[_0x178652(0xeb)](0x3e8*Math['pow'](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console['log'](_0x178652(0xb8)+_0x51d6db+_0x178652(0xf3)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x47eea0=_0x178652;ports[_0x47eea0(0xdc)]>0x0&&connect(currentUserId);},_0x51d6db);}function broadcast(_0x3a6c87){const _0x25f7d0=_0x19ecf2,_0x1fa988=[];ports['forEach'](_0x2e6ddd=>{const _0x1f6036=_0x4425;try{_0x2e6ddd[_0x1f6036(0xbd)](_0x3a6c87);}catch(_0x2a2182){console['warn'](_0x1f6036(0xd1),_0x2a2182),_0x1fa988[_0x1f6036(0xc4)](_0x2e6ddd);}}),_0x1fa988['length']>0x0&&cleanUpDeadPorts(_0x1fa988),ports[_0x25f7d0(0xdc)]===0x0&&eventSource&&(console[_0x25f7d0(0xdb)](_0x25f7d0(0xef)),eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function subscribeTask(_0x212a0d,_0x482882){const _0x43eaa1=_0x19ecf2;let _0x528756=taskStreams[_0x43eaa1(0xc8)](_0x482882);!_0x528756&&(_0x528756={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams[_0x43eaa1(0xb4)](_0x482882,_0x528756));_0x528756['subscribedPorts'][_0x43eaa1(0xd7)](_0x212a0d);if(!_0x528756[_0x43eaa1(0xe5)]||_0x528756[_0x43eaa1(0xe5)][_0x43eaa1(0xf6)]===EventSource[_0x43eaa1(0xb3)])connectTaskStream(_0x482882);else{if(_0x528756[_0x43eaa1(0xe5)][_0x43eaa1(0xf6)]===EventSource[_0x43eaa1(0xf5)])try{_0x212a0d[_0x43eaa1(0xbd)]({'type':_0x43eaa1(0xf7),'taskId':_0x482882});}catch(_0x545563){}}}function _0x4425(_0x3216c9,_0xa4b6b){_0x3216c9=_0x3216c9-0xad;const _0x339278=_0x3392();let _0x442562=_0x339278[_0x3216c9];if(_0x4425['sgYAUH']===undefined){var _0x31ae87=function(_0x2c03a2){const _0x1e9cc6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c0641='',_0x3db830='';for(let _0x126e0e=0x0,_0x50c613,_0x1cacc,_0x56c456=0x0;_0x1cacc=_0x2c03a2['charAt'](_0x56c456++);~_0x1cacc&&(_0x50c613=_0x126e0e%0x4?_0x50c613*0x40+_0x1cacc:_0x1cacc,_0x126e0e++%0x4)?_0x2c0641+=String['fromCharCode'](0xff&_0x50c613>>(-0x2*_0x126e0e&0x6)):0x0){_0x1cacc=_0x1e9cc6['indexOf'](_0x1cacc);}for(let _0x211723=0x0,_0x16801c=_0x2c0641['length'];_0x211723<_0x16801c;_0x211723++){_0x3db830+='%'+('00'+_0x2c0641['charCodeAt'](_0x211723)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3db830);};_0x4425['FgxlCe']=_0x31ae87,_0x4425['kGLIMF']={},_0x4425['sgYAUH']=!![];}const _0x53dc60=_0x339278[0x0],_0x568e49=_0x3216c9+_0x53dc60,_0x480ebe=_0x4425['kGLIMF'][_0x568e49];return!_0x480ebe?(_0x442562=_0x4425['FgxlCe'](_0x442562),_0x4425['kGLIMF'][_0x568e49]=_0x442562):_0x442562=_0x480ebe,_0x442562;}function unsubscribeTask(_0x4a7fac,_0x2dd49d){const _0x5277f8=_0x19ecf2,_0x163446=taskStreams[_0x5277f8(0xc8)](_0x2dd49d);if(!_0x163446)return;_0x163446['subscribedPorts']['delete'](_0x4a7fac),_0x163446[_0x5277f8(0xca)]['size']===0x0&&deferredCloseTaskStream(_0x2dd49d);}function connectTaskStream(_0x3eaa73){const _0x3c47d0=_0x19ecf2,_0x4b0afc=taskStreams[_0x3c47d0(0xc8)](_0x3eaa73);if(!_0x4b0afc)return;_0x4b0afc['eventSource']&&(_0x4b0afc['eventSource'][_0x3c47d0(0xc3)](),_0x4b0afc[_0x3c47d0(0xe5)]=null);try{_0x4b0afc[_0x3c47d0(0xe5)]=new EventSource(_0x3c47d0(0xc1)+_0x3eaa73+'/stream');for(const _0x4a55d4 of TASK_STREAM_EVENTS){_0x4b0afc[_0x3c47d0(0xe5)][_0x3c47d0(0xbc)](_0x4a55d4,_0x4ce08e=>{const _0x3ea5ee=_0x3c47d0;broadcastToTask(_0x3eaa73,_0x3ea5ee(0xe7)+_0x4a55d4,_0x4ce08e[_0x3ea5ee(0xc7)]),_0x4b0afc[_0x3ea5ee(0xb1)]=0x0;});}_0x4b0afc['eventSource'][_0x3c47d0(0xbc)](_0x3c47d0(0xd6),()=>{const _0x37f68f=_0x3c47d0;broadcastToTask(_0x3eaa73,_0x37f68f(0xf7),'{}'),_0x4b0afc[_0x37f68f(0xb1)]=0x0;}),_0x4b0afc[_0x3c47d0(0xe5)][_0x3c47d0(0xbc)](_0x3c47d0(0xea),()=>{const _0x3079a7=_0x3c47d0;broadcastToTask(_0x3eaa73,_0x3079a7(0xbe),JSON[_0x3079a7(0xf4)]({'error':_0x3079a7(0xd4)})),_0x4b0afc[_0x3079a7(0xe5)]&&(_0x4b0afc[_0x3079a7(0xe5)]['close'](),_0x4b0afc[_0x3079a7(0xe5)]=null),scheduleTaskReconnect(_0x3eaa73);});}catch(_0x1897eb){console[_0x3c47d0(0xea)]('[SSE\x20Worker]\x20Failed\x20to\x20create\x20task\x20EventSource\x20for\x20'+_0x3eaa73+':',_0x1897eb),broadcastToTask(_0x3eaa73,'task:error',JSON['stringify']({'error':_0x1897eb[_0x3c47d0(0xb7)]})),scheduleTaskReconnect(_0x3eaa73);}}function broadcastToTask(_0x3b8ed1,_0xc72d09,_0x5f274b){const _0xa59e0=_0x19ecf2,_0x873d6f=taskStreams['get'](_0x3b8ed1);if(!_0x873d6f)return;const _0xc4f309=[];_0x873d6f[_0xa59e0(0xca)]['forEach'](_0x3be699=>{const _0x45e5e9=_0xa59e0;try{_0x3be699['postMessage']({'type':_0xc72d09,'taskId':_0x3b8ed1,'data':_0x5f274b});}catch(_0x130718){_0xc4f309[_0x45e5e9(0xc4)](_0x3be699);}}),_0xc4f309['length']>0x0&&(_0xc4f309[_0xa59e0(0xdd)](_0x4863d3=>_0x873d6f['subscribedPorts'][_0xa59e0(0xe1)](_0x4863d3)),cleanUpDeadPorts(_0xc4f309),_0x873d6f['subscribedPorts']['size']===0x0&&closeTaskStream(_0x3b8ed1));}function closeTaskStream(_0xc1d1ef){const _0x30b98d=_0x19ecf2,_0x4c2372=taskStreams[_0x30b98d(0xc8)](_0xc1d1ef);if(!_0x4c2372)return;_0x4c2372['eventSource']&&_0x4c2372[_0x30b98d(0xe5)][_0x30b98d(0xc3)](),_0x4c2372[_0x30b98d(0xbb)]&&clearTimeout(_0x4c2372[_0x30b98d(0xbb)]),taskStreams[_0x30b98d(0xe1)](_0xc1d1ef);}function deferredCloseTaskStream(_0x2ad2af){setTimeout(()=>{const _0x368d0f=_0x4425,_0x3521b3=taskStreams['get'](_0x2ad2af);_0x3521b3&&_0x3521b3['subscribedPorts'][_0x368d0f(0xdc)]===0x0&&closeTaskStream(_0x2ad2af);},0x0);}function scheduleTaskReconnect(_0x34337c){const _0xd8db69=_0x19ecf2,_0x40e882=taskStreams['get'](_0x34337c);if(!_0x40e882||_0x40e882['subscribedPorts']['size']===0x0)return;_0x40e882[_0xd8db69(0xbb)]&&clearTimeout(_0x40e882['reconnectTimeout']);const _0x5e4011=Math[_0xd8db69(0xeb)](0x3e8*Math[_0xd8db69(0xf2)](0x2,_0x40e882[_0xd8db69(0xb1)]),MAX_RECONNECT_DELAY);_0x40e882[_0xd8db69(0xb1)]++,console['log']('[SSE\x20Worker]\x20Scheduling\x20task\x20stream\x20reconnect\x20for\x20'+_0x34337c+'\x20in\x20'+_0x5e4011+'ms'),_0x40e882['reconnectTimeout']=setTimeout(()=>{const _0x47c453=_0xd8db69;_0x40e882[_0x47c453(0xca)]['size']>0x0&&connectTaskStream(_0x34337c);},_0x5e4011);}function cleanUpDeadPorts(_0x28d828){const _0x4324d5=_0x19ecf2;for(const _0x48c18a of _0x28d828){ports['delete'](_0x48c18a),taskStreams[_0x4324d5(0xdd)]((_0x49a216,_0xf5f421)=>{const _0xbd0423=_0x4324d5;_0x49a216[_0xbd0423(0xca)][_0xbd0423(0xe1)](_0x48c18a),_0x49a216[_0xbd0423(0xca)][_0xbd0423(0xdc)]===0x0&&closeTaskStream(_0xf5f421);});}}function removePortFromAllTasks(_0x43b674){const _0x556d2c=_0x19ecf2;taskStreams[_0x556d2c(0xdd)]((_0x3bc129,_0x1411ef)=>{const _0x2ed880=_0x556d2c;_0x3bc129['subscribedPorts'][_0x2ed880(0xba)](_0x43b674)&&(_0x3bc129[_0x2ed880(0xca)]['delete'](_0x43b674),_0x3bc129[_0x2ed880(0xca)][_0x2ed880(0xdc)]===0x0&&closeTaskStream(_0x1411ef));});}self['onconnect']=function(_0x4e62b3){const _0xd7f874=_0x19ecf2,_0x537c34=_0x4e62b3[_0xd7f874(0xe3)][0x0];ports['add'](_0x537c34),console[_0xd7f874(0xdb)](_0xd7f874(0xdf)+ports[_0xd7f874(0xdc)]),_0x537c34[_0xd7f874(0xd5)]=function(_0x2654eb){const _0x13e282=_0xd7f874,{action:_0x31f74a,userId:_0x22bd46,taskId:_0x4bc026}=_0x2654eb[_0x13e282(0xc7)];switch(_0x31f74a){case _0x13e282(0xd8):connect(_0x22bd46);eventSource&&eventSource['readyState']===EventSource[_0x13e282(0xf5)]&&_0x537c34[_0x13e282(0xbd)]({'type':_0x13e282(0xb6)});break;case _0x13e282(0xe9):ports[_0x13e282(0xe1)](_0x537c34),removePortFromAllTasks(_0x537c34),console['log'](_0x13e282(0xec)+ports[_0x13e282(0xdc)]);ports[_0x13e282(0xdc)]===0x0&&eventSource&&(eventSource[_0x13e282(0xc3)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0x13e282(0xcd):_0x22bd46!==currentUserId&&connect(_0x22bd46);break;case _0x13e282(0xc6):subscribeTask(_0x537c34,_0x4bc026);break;case _0x13e282(0xd2):unsubscribeTask(_0x537c34,_0x4bc026);break;default:console[_0x13e282(0xe0)](_0x13e282(0xcb),_0x31f74a);}},_0x537c34[_0xd7f874(0xc2)]=function(_0x10ce68){const _0x914788=_0xd7f874;console[_0x914788(0xea)](_0x914788(0xcf),_0x10ce68),ports[_0x914788(0xe1)](_0x537c34),removePortFromAllTasks(_0x537c34);},_0x537c34[_0xd7f874(0xee)]();};
|
|
1
|
+
const _0x4e7710=_0x3b5c;(function(_0x3904ab,_0x535cad){const _0x57c38=_0x3b5c,_0x103e33=_0x3904ab();while(!![]){try{const _0x136fe3=-parseInt(_0x57c38(0x198))/0x1*(-parseInt(_0x57c38(0x1a5))/0x2)+parseInt(_0x57c38(0x182))/0x3*(-parseInt(_0x57c38(0x191))/0x4)+-parseInt(_0x57c38(0x1b6))/0x5+-parseInt(_0x57c38(0x1a0))/0x6*(-parseInt(_0x57c38(0x18c))/0x7)+parseInt(_0x57c38(0x18f))/0x8+parseInt(_0x57c38(0x196))/0x9*(parseInt(_0x57c38(0x19d))/0xa)+-parseInt(_0x57c38(0x18d))/0xb;if(_0x136fe3===_0x535cad)break;else _0x103e33['push'](_0x103e33['shift']());}catch(_0x355b47){_0x103e33['push'](_0x103e33['shift']());}}}(_0x3999,0x759b9));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=['activity',_0x4e7710(0x183),'metadata',_0x4e7710(0x19f),_0x4e7710(0x193),_0x4e7710(0x18e),_0x4e7710(0x19e)];function connect(_0x15a152){const _0x8ce0f0=_0x4e7710;eventSource&¤tUserId!==_0x15a152&&(eventSource[_0x8ce0f0(0x199)](),eventSource=null);if(eventSource&&eventSource[_0x8ce0f0(0x1ac)]!==EventSource[_0x8ce0f0(0x1a8)])return;currentUserId=_0x15a152;const _0x160bfd=_0x15a152&&_0x15a152!=='me'?_0x8ce0f0(0x181)+_0x15a152:'';try{eventSource=new EventSource(_0x8ce0f0(0x1a7)+_0x160bfd),eventSource['addEventListener'](_0x8ce0f0(0x18b),_0x33336c=>{const _0x56b721=_0x8ce0f0;broadcast({'type':_0x56b721(0x18b),'data':_0x33336c['data']}),reconnectAttempts=0x0;}),eventSource['addEventListener'](_0x8ce0f0(0x1b2),_0x3059d5=>{broadcast({'type':'activity','data':_0x3059d5['data']});}),eventSource[_0x8ce0f0(0x1b0)](_0x8ce0f0(0x18a),_0x3c4cd1=>{const _0x369060=_0x8ce0f0;broadcast({'type':_0x369060(0x18a),'data':_0x3c4cd1[_0x369060(0x189)]});}),eventSource[_0x8ce0f0(0x1b0)](_0x8ce0f0(0x17d),_0x43ac8d=>{const _0x148be4=_0x8ce0f0;broadcast({'type':_0x148be4(0x17d),'data':_0x43ac8d[_0x148be4(0x189)]});}),eventSource[_0x8ce0f0(0x1b0)]('queue-position',_0x5a94f4=>{const _0x2d1b9e=_0x8ce0f0;broadcast({'type':_0x2d1b9e(0x17c),'data':_0x5a94f4[_0x2d1b9e(0x189)]});}),eventSource[_0x8ce0f0(0x1b0)]('open',()=>{broadcast({'type':'connected'}),reconnectAttempts=0x0;}),eventSource[_0x8ce0f0(0x1b0)](_0x8ce0f0(0x17b),_0x5c5229=>{const _0x60ff53=_0x8ce0f0;console[_0x60ff53(0x17b)]('[SSE\x20Worker]\x20Connection\x20error:',_0x5c5229),broadcast({'type':_0x60ff53(0x17b),'error':_0x60ff53(0x179)}),eventSource&&(eventSource['close'](),eventSource=null),scheduleReconnect();});}catch(_0x2b45e2){console[_0x8ce0f0(0x17b)]('[SSE\x20Worker]\x20Failed\x20to\x20create\x20EventSource:',_0x2b45e2),broadcast({'type':_0x8ce0f0(0x17b),'error':_0x2b45e2[_0x8ce0f0(0x194)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x143c45=_0x4e7710;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports['size']===0x0)return;const _0x12a776=Math[_0x143c45(0x185)](0x3e8*Math['pow'](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console[_0x143c45(0x176)](_0x143c45(0x17e)+_0x12a776+_0x143c45(0x1b7)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x288263=_0x143c45;ports[_0x288263(0x1af)]>0x0&&connect(currentUserId);},_0x12a776);}function broadcast(_0x195f2f){const _0x466ead=_0x4e7710,_0x30dc0d=[];ports[_0x466ead(0x1ab)](_0x1475fd=>{const _0x25cb40=_0x466ead;try{_0x1475fd[_0x25cb40(0x184)](_0x195f2f);}catch(_0x5ec786){console[_0x25cb40(0x190)](_0x25cb40(0x1ba),_0x5ec786),_0x30dc0d[_0x25cb40(0x1a9)](_0x1475fd);}}),_0x30dc0d[_0x466ead(0x1b5)]>0x0&&cleanUpDeadPorts(_0x30dc0d),ports[_0x466ead(0x1af)]===0x0&&eventSource&&(console[_0x466ead(0x176)](_0x466ead(0x1ad)),eventSource[_0x466ead(0x199)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function subscribeTask(_0x165aca,_0x5909b8){const _0x14482e=_0x4e7710;let _0x30c71d=taskStreams['get'](_0x5909b8);!_0x30c71d&&(_0x30c71d={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams[_0x14482e(0x1b9)](_0x5909b8,_0x30c71d));_0x30c71d['subscribedPorts'][_0x14482e(0x1a6)](_0x165aca);if(!_0x30c71d[_0x14482e(0x19a)]||_0x30c71d[_0x14482e(0x19a)][_0x14482e(0x1ac)]===EventSource['CLOSED'])connectTaskStream(_0x5909b8);else{if(_0x30c71d['eventSource'][_0x14482e(0x1ac)]===EventSource[_0x14482e(0x195)])try{_0x165aca[_0x14482e(0x184)]({'type':'task:connected','taskId':_0x5909b8});}catch(_0x1c6477){}}}function unsubscribeTask(_0x322678,_0x39a4ae){const _0x5138fa=_0x4e7710,_0x18db10=taskStreams[_0x5138fa(0x177)](_0x39a4ae);if(!_0x18db10)return;_0x18db10[_0x5138fa(0x187)]['delete'](_0x322678),_0x18db10[_0x5138fa(0x187)][_0x5138fa(0x1af)]===0x0&&deferredCloseTaskStream(_0x39a4ae);}function connectTaskStream(_0x28014e){const _0x42c7ac=_0x4e7710,_0x5a02f8=taskStreams['get'](_0x28014e);if(!_0x5a02f8)return;_0x5a02f8[_0x42c7ac(0x19a)]&&(_0x5a02f8['eventSource'][_0x42c7ac(0x199)](),_0x5a02f8['eventSource']=null);try{_0x5a02f8[_0x42c7ac(0x19a)]=new EventSource(_0x42c7ac(0x1b1)+_0x28014e+_0x42c7ac(0x1aa));for(const _0x48db10 of TASK_STREAM_EVENTS){_0x5a02f8[_0x42c7ac(0x19a)][_0x42c7ac(0x1b0)](_0x48db10,_0x45d1c8=>{const _0x324b64=_0x42c7ac;broadcastToTask(_0x28014e,'task:'+_0x48db10,_0x45d1c8[_0x324b64(0x189)]),_0x5a02f8[_0x324b64(0x1a4)]=0x0;});}_0x5a02f8[_0x42c7ac(0x19a)][_0x42c7ac(0x1b0)]('open',()=>{const _0x80f277=_0x42c7ac;broadcastToTask(_0x28014e,_0x80f277(0x192),'{}'),_0x5a02f8['reconnectAttempts']=0x0;}),_0x5a02f8['eventSource'][_0x42c7ac(0x1b0)]('error',()=>{const _0x8fb1c7=_0x42c7ac;broadcastToTask(_0x28014e,_0x8fb1c7(0x197),JSON[_0x8fb1c7(0x1ae)]({'error':_0x8fb1c7(0x179)})),_0x5a02f8[_0x8fb1c7(0x19a)]&&(_0x5a02f8[_0x8fb1c7(0x19a)][_0x8fb1c7(0x199)](),_0x5a02f8[_0x8fb1c7(0x19a)]=null),scheduleTaskReconnect(_0x28014e);});}catch(_0x42b556){console[_0x42c7ac(0x17b)]('[SSE\x20Worker]\x20Failed\x20to\x20create\x20task\x20EventSource\x20for\x20'+_0x28014e+':',_0x42b556),broadcastToTask(_0x28014e,_0x42c7ac(0x197),JSON[_0x42c7ac(0x1ae)]({'error':_0x42b556[_0x42c7ac(0x194)]})),scheduleTaskReconnect(_0x28014e);}}function _0x3999(){const _0x4543ec=['nJK5odi1y0rpAens','BxmGkgf0DgvTChqG','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','C2v0','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbZzw5KihrVihbVCNqSihjLBw92Aw5NoG','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','Bg9N','z2v0','igLUia','q29UBMvJDgLVBIbLCNjVCG','zgvSzxrL','zxjYB3i','CxvLDwuTCg9ZAxrPB24','BMv3lxrHC2S','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','B25JB25Uzwn0','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','p3vZzxjjzd0','mtm5ndDsCeDQrge','Bg9NCW','Cg9ZDe1LC3nHz2u','BwLU','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','C3vIC2nYAwjLzfbVCNrZ','B25TzxnZywDLzxjYB3i','zgf0yq','C3rHDhvZ','C25HChnOB3q','mtqXnhDNsLLHqW','mta5mtqZodDNv1rpwee','yxbWlxnLCNzLCI1ZDgf0Dxm','nJy3nJi0mgTjugrWqq','D2fYBG','ntK2EMHprhPw','DgfZAZPJB25Uzwn0zwq','y2HHBMDLzc1MAwXLCW','BwvZC2fNzq','t1bftG','mZm5mZK1neLhDe1Ltq','DgfZAZPLCNjVCG','nty5nMTJt2jbqG','y2XVC2u','zxzLBNrtB3vYy2u','C3vIC2nYAwjLvgfZAW','B25TzxnZywDL','mJbSBefUwxG','y29TCgXLDgu','C3vTBwfYEq','mtG2nNz4ze5Jwa','zgLZy29UBMvJDa','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGDgfZAYbZDhjLyw0GCMvJB25Uzwn0igzVCIa','C3rHCNq','CMvJB25Uzwn0qxr0zw1WDhm','mJmWuMPKCvPt','ywrK','l3rHC2TZl3vWzgf0zxm','q0Xpu0ve','ChvZAa','l3n0CMvHBq','zM9YrwfJAa','CMvHzhLtDgf0zq','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','C3rYAw5NAwz5','C2L6zq','ywrKrxzLBNrmAxn0zw5LCG','l3rHC2TZlW','ywn0AxzPDhK','CMvJB25Uzwn0vgLTzw91Da','Dw5ZDwjZy3jPyMvuyxnR','BgvUz3rO'];_0x3999=function(){return _0x4543ec;};return _0x3999();}function broadcastToTask(_0x4a22b8,_0x5d1efc,_0x2ffffc){const _0x249b10=_0x4e7710,_0x27016f=taskStreams['get'](_0x4a22b8);if(!_0x27016f)return;const _0x38d384=[];_0x27016f[_0x249b10(0x187)][_0x249b10(0x1ab)](_0x3a6856=>{const _0x49d2e0=_0x249b10;try{_0x3a6856['postMessage']({'type':_0x5d1efc,'taskId':_0x4a22b8,'data':_0x2ffffc});}catch(_0x2a6016){_0x38d384[_0x49d2e0(0x1a9)](_0x3a6856);}}),_0x38d384[_0x249b10(0x1b5)]>0x0&&(_0x38d384[_0x249b10(0x1ab)](_0x1ae0da=>_0x27016f['subscribedPorts']['delete'](_0x1ae0da)),cleanUpDeadPorts(_0x38d384),_0x27016f[_0x249b10(0x187)][_0x249b10(0x1af)]===0x0&&closeTaskStream(_0x4a22b8));}function closeTaskStream(_0x5b10ae){const _0x50e2df=_0x4e7710,_0x2a4d19=taskStreams[_0x50e2df(0x177)](_0x5b10ae);if(!_0x2a4d19)return;_0x2a4d19[_0x50e2df(0x19a)]&&_0x2a4d19[_0x50e2df(0x19a)]['close'](),_0x2a4d19[_0x50e2df(0x1b3)]&&clearTimeout(_0x2a4d19[_0x50e2df(0x1b3)]),taskStreams['delete'](_0x5b10ae);}function _0x3b5c(_0x5d3cb4,_0x5528f1){_0x5d3cb4=_0x5d3cb4-0x175;const _0x399975=_0x3999();let _0x3b5c1e=_0x399975[_0x5d3cb4];if(_0x3b5c['VdChEw']===undefined){var _0x4e1572=function(_0x303a43){const _0x3a551='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15a152='',_0x160bfd='';for(let _0x33336c=0x0,_0x3059d5,_0x3c4cd1,_0x43ac8d=0x0;_0x3c4cd1=_0x303a43['charAt'](_0x43ac8d++);~_0x3c4cd1&&(_0x3059d5=_0x33336c%0x4?_0x3059d5*0x40+_0x3c4cd1:_0x3c4cd1,_0x33336c++%0x4)?_0x15a152+=String['fromCharCode'](0xff&_0x3059d5>>(-0x2*_0x33336c&0x6)):0x0){_0x3c4cd1=_0x3a551['indexOf'](_0x3c4cd1);}for(let _0x5a94f4=0x0,_0x5c5229=_0x15a152['length'];_0x5a94f4<_0x5c5229;_0x5a94f4++){_0x160bfd+='%'+('00'+_0x15a152['charCodeAt'](_0x5a94f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x160bfd);};_0x3b5c['QMosmp']=_0x4e1572,_0x3b5c['hlsMYG']={},_0x3b5c['VdChEw']=!![];}const _0x474762=_0x399975[0x0],_0x297641=_0x5d3cb4+_0x474762,_0x1cef44=_0x3b5c['hlsMYG'][_0x297641];return!_0x1cef44?(_0x3b5c1e=_0x3b5c['QMosmp'](_0x3b5c1e),_0x3b5c['hlsMYG'][_0x297641]=_0x3b5c1e):_0x3b5c1e=_0x1cef44,_0x3b5c1e;}function deferredCloseTaskStream(_0x3deb21){setTimeout(()=>{const _0x4542ba=_0x3b5c,_0x112120=taskStreams[_0x4542ba(0x177)](_0x3deb21);_0x112120&&_0x112120[_0x4542ba(0x187)]['size']===0x0&&closeTaskStream(_0x3deb21);},0x0);}function scheduleTaskReconnect(_0x4044ac){const _0xc23b2b=_0x4e7710,_0x3f45a5=taskStreams[_0xc23b2b(0x177)](_0x4044ac);if(!_0x3f45a5||_0x3f45a5[_0xc23b2b(0x187)][_0xc23b2b(0x1af)]===0x0)return;_0x3f45a5[_0xc23b2b(0x1b3)]&&clearTimeout(_0x3f45a5['reconnectTimeout']);const _0x4177cb=Math[_0xc23b2b(0x185)](0x3e8*Math['pow'](0x2,_0x3f45a5[_0xc23b2b(0x1a4)]),MAX_RECONNECT_DELAY);_0x3f45a5[_0xc23b2b(0x1a4)]++,console[_0xc23b2b(0x176)](_0xc23b2b(0x1a2)+_0x4044ac+_0xc23b2b(0x178)+_0x4177cb+'ms'),_0x3f45a5['reconnectTimeout']=setTimeout(()=>{const _0x3dc195=_0xc23b2b;_0x3f45a5[_0x3dc195(0x187)][_0x3dc195(0x1af)]>0x0&&connectTaskStream(_0x4044ac);},_0x4177cb);}function cleanUpDeadPorts(_0x36a121){const _0x42c75f=_0x4e7710;for(const _0x53ed18 of _0x36a121){ports[_0x42c75f(0x17a)](_0x53ed18),taskStreams[_0x42c75f(0x1ab)]((_0x14914a,_0x53967b)=>{const _0x19fbf8=_0x42c75f;_0x14914a['subscribedPorts']['delete'](_0x53ed18),_0x14914a[_0x19fbf8(0x187)]['size']===0x0&&closeTaskStream(_0x53967b);});}}function removePortFromAllTasks(_0x27f926){const _0x4a3461=_0x4e7710;taskStreams[_0x4a3461(0x1ab)]((_0x259343,_0x3392e8)=>{const _0x20bba4=_0x4a3461;_0x259343[_0x20bba4(0x187)]['has'](_0x27f926)&&(_0x259343[_0x20bba4(0x187)][_0x20bba4(0x17a)](_0x27f926),_0x259343[_0x20bba4(0x187)]['size']===0x0&&closeTaskStream(_0x3392e8));});}self[_0x4e7710(0x17f)]=function(_0x381d0a){const _0x298882=_0x4e7710,_0x40b328=_0x381d0a['ports'][0x0];ports[_0x298882(0x1a6)](_0x40b328),console[_0x298882(0x176)](_0x298882(0x1b8)+ports[_0x298882(0x1af)]),_0x40b328[_0x298882(0x19c)]=function(_0x4690c1){const _0x46fd60=_0x298882,{action:_0x53ce34,userId:_0x2229d0,taskId:_0x14309f}=_0x4690c1[_0x46fd60(0x189)];switch(_0x53ce34){case'connect':connect(_0x2229d0);eventSource&&eventSource['readyState']===EventSource['OPEN']&&_0x40b328[_0x46fd60(0x184)]({'type':'connected'});break;case _0x46fd60(0x1a1):ports[_0x46fd60(0x17a)](_0x40b328),removePortFromAllTasks(_0x40b328),console[_0x46fd60(0x176)](_0x46fd60(0x180)+ports[_0x46fd60(0x1af)]);ports[_0x46fd60(0x1af)]===0x0&&eventSource&&(eventSource[_0x46fd60(0x199)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case'changeFilter':_0x2229d0!==currentUserId&&connect(_0x2229d0);break;case _0x46fd60(0x19b):subscribeTask(_0x40b328,_0x14309f);break;case _0x46fd60(0x1b4):unsubscribeTask(_0x40b328,_0x14309f);break;default:console[_0x46fd60(0x190)](_0x46fd60(0x186),_0x53ce34);}},_0x40b328[_0x298882(0x188)]=function(_0x200850){const _0x40bd51=_0x298882;console['error'](_0x40bd51(0x175),_0x200850),ports['delete'](_0x40b328),removePortFromAllTasks(_0x40b328);},_0x40b328[_0x298882(0x1a3)]();};
|
|
@@ -177,6 +177,13 @@
|
|
|
177
177
|
</svg>
|
|
178
178
|
<span class="option-text">Resubmit Task...</span>
|
|
179
179
|
</button>
|
|
180
|
+
<button class="dropdown-item" id="more-save-as-objective" data-action="save-as-objective">
|
|
181
|
+
<svg class="option-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
182
|
+
<circle cx="12" cy="12" r="10"></circle>
|
|
183
|
+
<circle cx="12" cy="12" r="3"></circle>
|
|
184
|
+
</svg>
|
|
185
|
+
<span class="option-text">Save as Objective...</span>
|
|
186
|
+
</button>
|
|
180
187
|
<button class="dropdown-item" id="more-pull-changes" data-action="pull-changes">
|
|
181
188
|
<svg class="option-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
182
189
|
<path d="M12 5v14"></path>
|
|
@@ -1128,6 +1135,101 @@
|
|
|
1128
1135
|
</div>
|
|
1129
1136
|
</div>
|
|
1130
1137
|
|
|
1138
|
+
<!-- Save as Objective Modal -->
|
|
1139
|
+
<div id="save-as-objective-modal" class="modal" hidden>
|
|
1140
|
+
<div class="modal-overlay"></div>
|
|
1141
|
+
<div class="modal-content">
|
|
1142
|
+
<div class="modal-header">
|
|
1143
|
+
<h2>Save as Objective</h2>
|
|
1144
|
+
<button class="modal-close" id="close-save-as-objective-modal">×</button>
|
|
1145
|
+
</div>
|
|
1146
|
+
<div class="modal-body">
|
|
1147
|
+
<div class="modal-section">
|
|
1148
|
+
<p class="field-hint">Create a reusable objective from this task's configuration.</p>
|
|
1149
|
+
</div>
|
|
1150
|
+
|
|
1151
|
+
<!-- Name Field -->
|
|
1152
|
+
<div class="modal-section">
|
|
1153
|
+
<label for="save-objective-name" class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Name</label>
|
|
1154
|
+
<input type="text" id="save-objective-name" class="text-input" placeholder="Objective name" style="width: 100%; padding: 8px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-small); background: var(--color-bg-secondary); color: var(--color-text); font-size: 14px;">
|
|
1155
|
+
</div>
|
|
1156
|
+
|
|
1157
|
+
<!-- Environment (read-only display) -->
|
|
1158
|
+
<div class="modal-section" id="save-objective-env-section">
|
|
1159
|
+
<label class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Environment</label>
|
|
1160
|
+
<div id="save-objective-environment" style="padding: 8px 12px; background: var(--color-bg-tertiary); border-radius: var(--radius-small); font-size: 14px; color: var(--color-text-secondary);"></div>
|
|
1161
|
+
</div>
|
|
1162
|
+
|
|
1163
|
+
<!-- Agent Selection -->
|
|
1164
|
+
<div class="modal-section">
|
|
1165
|
+
<label class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Agents</label>
|
|
1166
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
1167
|
+
<div class="agent-selector" role="group" aria-label="Agent selection" id="save-objective-agent-selector">
|
|
1168
|
+
<div class="agent-card" data-agent="claude" data-count="0">
|
|
1169
|
+
<button type="button" class="agent-btn-decrement" data-counter="down" aria-label="Decrease Claude count" title="Remove Claude">−</button>
|
|
1170
|
+
<div class="agent-icon" role="button" tabindex="0" aria-label="Claude" title="Claude (click to add, right-click to remove)">
|
|
1171
|
+
<svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
1172
|
+
<path d="m3.127 10.604 3.135-1.76.053-.153-.053-.085H6.11l-.525-.032-1.791-.048-1.554-.065-1.505-.08-.38-.081L0 7.832l.036-.234.32-.214.455.04 1.009.069 1.513.105 1.097.064 1.626.17h.259l.036-.105-.089-.065-.068-.064-1.566-1.062-1.695-1.121-.887-.646-.48-.327-.243-.306-.104-.67.435-.48.585.04.15.04.593.456 1.267.981 1.654 1.218.242.202.097-.068.012-.049-.109-.181-.9-1.626-.96-1.655-.428-.686-.113-.411a2 2 0 0 1-.068-.484l.496-.674L4.446 0l.662.089.279.242.411.94.666 1.48 1.033 2.014.302.597.162.553.06.17h.105v-.097l.085-1.134.157-1.392.154-1.792.052-.504.25-.605.497-.327.387.186.319.456-.045.294-.19 1.23-.37 1.93-.243 1.29h.142l.161-.16.654-.868 1.097-1.372.484-.545.565-.601.363-.287h.686l.505.751-.226.775-.707.895-.585.759-.839 1.13-.524.904.048.072.125-.012 1.897-.403 1.024-.186 1.223-.21.553.258.06.263-.218.536-1.307.323-1.533.307-2.284.54-.028.02.032.04 1.029.098.44.024h1.077l2.005.15.525.346.315.424-.053.323-.807.411-3.631-.863-.872-.218h-.12v.073l.726.71 1.331 1.202 1.667 1.55.084.383-.214.302-.226-.032-1.464-1.101-.565-.497-1.28-1.077h-.084v.113l.295.432 1.557 2.34.08.718-.112.234-.404.141-.444-.08-.911-1.28-.94-1.44-.759-1.291-.093.053-.448 4.821-.21.246-.484.186-.403-.307-.214-.496.214-.98.258-1.28.21-1.016.19-1.263.112-.42-.008-.028-.092.012-.953 1.307-1.448 1.957-1.146 1.227-.274.109-.477-.247.045-.44.266-.39 1.586-2.018.956-1.25.617-.723-.004-.105h-.036l-4.212 4.212z"/>
|
|
1173
|
+
</svg>
|
|
1174
|
+
</div>
|
|
1175
|
+
<button type="button" class="agent-btn-increment" data-counter="up" aria-label="Increase Claude count" title="Add Claude">+</button>
|
|
1176
|
+
<div class="agent-count-badge" id="save-objective-claude-count-display">0</div>
|
|
1177
|
+
<input type="number" min="0" max="5" step="1" id="save-objective-claude-count" value="0" hidden readonly aria-label="Number of Claude agents">
|
|
1178
|
+
</div>
|
|
1179
|
+
<div class="agent-card" data-agent="codex" data-count="0">
|
|
1180
|
+
<button type="button" class="agent-btn-decrement" data-counter="down" aria-label="Decrease Codex count" title="Remove Codex">−</button>
|
|
1181
|
+
<div class="agent-icon" role="button" tabindex="0" aria-label="Codex" title="Codex (click to add, right-click to remove)">
|
|
1182
|
+
<svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
|
|
1183
|
+
<path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/>
|
|
1184
|
+
</svg>
|
|
1185
|
+
</div>
|
|
1186
|
+
<button type="button" class="agent-btn-increment" data-counter="up" aria-label="Increase Codex count" title="Add Codex">+</button>
|
|
1187
|
+
<div class="agent-count-badge" id="save-objective-codex-count-display">0</div>
|
|
1188
|
+
<input type="number" min="0" max="5" step="1" id="save-objective-codex-count" value="0" hidden readonly aria-label="Number of Codex agents">
|
|
1189
|
+
</div>
|
|
1190
|
+
<div class="agent-card" data-agent="gemini" data-count="0">
|
|
1191
|
+
<button type="button" class="agent-btn-decrement" data-counter="down" aria-label="Decrease Gemini count" title="Remove Gemini">−</button>
|
|
1192
|
+
<div class="agent-icon" role="button" tabindex="0" aria-label="Gemini" title="Gemini (click to add, right-click to remove)">
|
|
1193
|
+
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
1194
|
+
<path d="M12 2L9.09 9.09 2 12l7.09 2.91L12 22l2.91-7.09L22 12l-7.09-2.91z"></path>
|
|
1195
|
+
</svg>
|
|
1196
|
+
</div>
|
|
1197
|
+
<button type="button" class="agent-btn-increment" data-counter="up" aria-label="Increase Gemini count" title="Add Gemini">+</button>
|
|
1198
|
+
<div class="agent-count-badge" id="save-objective-gemini-count-display">0</div>
|
|
1199
|
+
<input type="number" min="0" max="5" step="1" id="save-objective-gemini-count" value="0" hidden readonly aria-label="Number of Gemini agents">
|
|
1200
|
+
</div>
|
|
1201
|
+
</div>
|
|
1202
|
+
<div class="agent-hint" id="save-objective-agent-hint" data-visible="true">
|
|
1203
|
+
<span class="agent-hint-arrow">←</span>
|
|
1204
|
+
<span class="agent-hint-text">Select Agents</span>
|
|
1205
|
+
</div>
|
|
1206
|
+
</div>
|
|
1207
|
+
</div>
|
|
1208
|
+
|
|
1209
|
+
<!-- Instructions Section -->
|
|
1210
|
+
<div class="modal-section">
|
|
1211
|
+
<label for="save-objective-instructions" class="field-label" style="display: block; margin-bottom: 6px; font-size: 13px; color: var(--color-text-secondary);">Instructions</label>
|
|
1212
|
+
<div class="resubmit-markdown-editor-container">
|
|
1213
|
+
<textarea
|
|
1214
|
+
id="save-objective-instructions"
|
|
1215
|
+
class="resubmit-instructions-textarea"
|
|
1216
|
+
placeholder="Enter instructions for this objective..."
|
|
1217
|
+
rows="3"></textarea>
|
|
1218
|
+
</div>
|
|
1219
|
+
</div>
|
|
1220
|
+
|
|
1221
|
+
<!-- Error Message Container -->
|
|
1222
|
+
<div class="modal-section" id="save-objective-error-section" hidden>
|
|
1223
|
+
<div id="save-objective-error-message" style="color: var(--color-danger); font-size: 13px; padding: 8px 12px; background: rgba(229,83,104,0.08); border-radius: 4px; border-left: 3px solid var(--color-danger);"></div>
|
|
1224
|
+
</div>
|
|
1225
|
+
</div>
|
|
1226
|
+
<div class="modal-footer">
|
|
1227
|
+
<button class="btn-ghost" id="cancel-save-as-objective">Cancel</button>
|
|
1228
|
+
<button class="btn-primary" id="confirm-save-as-objective">Save Objective</button>
|
|
1229
|
+
</div>
|
|
1230
|
+
</div>
|
|
1231
|
+
</div>
|
|
1232
|
+
|
|
1131
1233
|
<!-- Follow-Up History Modal (Read-Only) -->
|
|
1132
1234
|
<div id="follow-up-history-modal" class="modal" hidden>
|
|
1133
1235
|
<div class="modal-overlay"></div>
|