@profoundlogic/coderflow-server 0.2.3 → 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.
Files changed (148) hide show
  1. package/README.md +24 -0
  2. package/dist/README.md +24 -0
  3. package/dist/base-image/agent-wrapper.sh +4 -2
  4. package/dist/coder-server.js +1 -1
  5. package/dist/config/skill-catalog.json +27 -0
  6. package/dist/config.js +1 -1
  7. package/dist/lib/agent-keepalive.js +1 -1
  8. package/dist/lib/api-keys.js +1 -1
  9. package/dist/lib/apiKeys.js +1 -1
  10. package/dist/lib/app-server-ports.js +1 -1
  11. package/dist/lib/auto-judge.js +1 -1
  12. package/dist/lib/basic-auth.js +1 -1
  13. package/dist/lib/build-history.js +1 -1
  14. package/dist/lib/build-output-service.js +1 -1
  15. package/dist/lib/build-scheduler.js +1 -1
  16. package/dist/lib/build-service.js +1 -1
  17. package/dist/lib/ca-certificates.js +1 -1
  18. package/dist/lib/claude-oauth-refresh.js +1 -1
  19. package/dist/lib/cli/build.js +1 -1
  20. package/dist/lib/cli/config-command.js +1 -1
  21. package/dist/lib/cli/config.js +1 -1
  22. package/dist/lib/cli/create-user.js +1 -1
  23. package/dist/lib/cli/init.js +1 -1
  24. package/dist/lib/cli/jira.js +1 -1
  25. package/dist/lib/cli/license.js +1 -1
  26. package/dist/lib/cli/server-manager.js +1 -1
  27. package/dist/lib/container-tokens.js +1 -1
  28. package/dist/lib/data-dir.js +1 -1
  29. package/dist/lib/deployment-history.js +1 -1
  30. package/dist/lib/deployment-service.js +1 -1
  31. package/dist/lib/docker-utils.js +1 -1
  32. package/dist/lib/email.js +1 -1
  33. package/dist/lib/emailTemplates.js +1 -1
  34. package/dist/lib/entitlement.js +1 -1
  35. package/dist/lib/fetch-utils.js +1 -1
  36. package/dist/lib/git-commit-details-route.js +1 -0
  37. package/dist/lib/git-history-diff-guardrails.js +1 -0
  38. package/dist/lib/git-provider-service.js +1 -1
  39. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  40. package/dist/lib/git-provider-setup/index.js +1 -1
  41. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  42. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  43. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  44. package/dist/lib/git-providers/github-app-provider.js +1 -1
  45. package/dist/lib/git-providers/index.js +1 -1
  46. package/dist/lib/git-providers/provider-factory.js +1 -1
  47. package/dist/lib/git-providers/provider-interface.js +1 -1
  48. package/dist/lib/github-urls.js +1 -1
  49. package/dist/lib/jira-client.js +1 -1
  50. package/dist/lib/logger.js +1 -1
  51. package/dist/lib/model-fetcher.js +1 -1
  52. package/dist/lib/notifications.js +1 -1
  53. package/dist/lib/oidc-auth.js +1 -1
  54. package/dist/lib/oidc-device-flow.js +1 -1
  55. package/dist/lib/passwordTokens.js +1 -1
  56. package/dist/lib/pin-cascade.js +1 -1
  57. package/dist/lib/provider-accounts.js +1 -1
  58. package/dist/lib/provider-oauth.js +1 -1
  59. package/dist/lib/provider-profile.js +1 -1
  60. package/dist/lib/provider-token-refresh.js +1 -1
  61. package/dist/lib/request-url.js +1 -1
  62. package/dist/lib/rewind.js +1 -1
  63. package/dist/lib/roles.js +1 -1
  64. package/dist/lib/secrets.js +1 -1
  65. package/dist/lib/setup-repo-git-auth.js +1 -0
  66. package/dist/lib/state-capture.js +1 -1
  67. package/dist/lib/static-files.js +1 -1
  68. package/dist/lib/task-name-generator.js +1 -1
  69. package/dist/lib/user-git-oauth.js +1 -1
  70. package/dist/lib/user-git-tokens.js +1 -1
  71. package/dist/lib/users.js +1 -1
  72. package/dist/middleware/requireAuth.js +1 -1
  73. package/dist/middleware/requireInit.js +1 -1
  74. package/dist/middleware/requirePermission.js +1 -1
  75. package/dist/package.json +1 -1
  76. package/dist/routes/apiKeys.js +1 -1
  77. package/dist/routes/auth-oidc.js +1 -1
  78. package/dist/routes/auth.js +1 -1
  79. package/dist/routes/build.js +1 -1
  80. package/dist/routes/containers.js +1 -1
  81. package/dist/routes/deploy-task.js +1 -1
  82. package/dist/routes/environment-management.js +1 -1
  83. package/dist/routes/environments.js +1 -1
  84. package/dist/routes/external-skills.js +1 -1
  85. package/dist/routes/git-credentials.js +1 -1
  86. package/dist/routes/git-oauth.js +1 -1
  87. package/dist/routes/git-provider-setup.js +1 -1
  88. package/dist/routes/health.js +1 -1
  89. package/dist/routes/jira.js +1 -1
  90. package/dist/routes/objective-management.js +1 -1
  91. package/dist/routes/password.js +1 -1
  92. package/dist/routes/prompt.js +1 -1
  93. package/dist/routes/provider-auth.js +1 -1
  94. package/dist/routes/qa.js +1 -1
  95. package/dist/routes/settings.js +1 -1
  96. package/dist/routes/skill-management.js +1 -1
  97. package/dist/routes/skills.js +1 -1
  98. package/dist/routes/tasks.js +1 -1
  99. package/dist/routes/templates.js +1 -1
  100. package/dist/routes/test-task.js +1 -1
  101. package/dist/routes/test.js +1 -1
  102. package/dist/routes/users.js +1 -1
  103. package/dist/routes/visualizations.js +1 -1
  104. package/dist/scripts/create-user.js +1 -1
  105. package/dist/start.js +1 -1
  106. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  107. package/dist/web-ui/public/activity-feed.js +1 -1
  108. package/dist/web-ui/public/activity-formatters.js +1 -1
  109. package/dist/web-ui/public/agent-event-parser.js +1 -1
  110. package/dist/web-ui/public/app.js +1 -1
  111. package/dist/web-ui/public/approve-dialog.js +1 -1
  112. package/dist/web-ui/public/comments-widget.js +1 -1
  113. package/dist/web-ui/public/diff-utils.js +1 -1
  114. package/dist/web-ui/public/docs/tasks/providing-feedback.md +1 -1
  115. package/dist/web-ui/public/environments.css +23 -0
  116. package/dist/web-ui/public/environments.html +3 -2
  117. package/dist/web-ui/public/environments.js +1 -1
  118. package/dist/web-ui/public/feedback-widget.js +1 -1
  119. package/dist/web-ui/public/git-history-lazy-utils.js +1 -0
  120. package/dist/web-ui/public/git-history.css +56 -0
  121. package/dist/web-ui/public/git-history.html +2 -2
  122. package/dist/web-ui/public/git-history.js +1 -1
  123. package/dist/web-ui/public/git-status.js +1 -1
  124. package/dist/web-ui/public/index.html +38 -2
  125. package/dist/web-ui/public/index.js +1 -1
  126. package/dist/web-ui/public/login.js +1 -1
  127. package/dist/web-ui/public/markdown-editor.js +1 -1
  128. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  129. package/dist/web-ui/public/modal-maximize.js +1 -1
  130. package/dist/web-ui/public/notifications.js +1 -1
  131. package/dist/web-ui/public/server-health.js +1 -1
  132. package/dist/web-ui/public/settings.css +92 -0
  133. package/dist/web-ui/public/settings.html +31 -2
  134. package/dist/web-ui/public/settings.js +1 -1
  135. package/dist/web-ui/public/setup-password.js +1 -1
  136. package/dist/web-ui/public/skills.css +23 -0
  137. package/dist/web-ui/public/skills.html +3 -2
  138. package/dist/web-ui/public/skills.js +1 -1
  139. package/dist/web-ui/public/sse-client.js +1 -1
  140. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  141. package/dist/web-ui/public/styles.css +373 -7
  142. package/dist/web-ui/public/task.html +102 -0
  143. package/dist/web-ui/public/task.js +1 -1
  144. package/dist/web-ui/public/terminal.js +1 -1
  145. package/dist/web-ui/public/theme.js +1 -1
  146. package/dist/web-ui/public/users.js +1 -1
  147. package/dist/web-ui/public/variant-grouping.js +1 -1
  148. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x5c306c=_0x3771;(function(_0x82c892,_0x51d3cb){const _0x33db62=_0x3771,_0x16d755=_0x82c892();while(!![]){try{const _0x380bd7=parseInt(_0x33db62(0x19b))/0x1*(parseInt(_0x33db62(0x1e4))/0x2)+parseInt(_0x33db62(0x190))/0x3*(-parseInt(_0x33db62(0x1c1))/0x4)+parseInt(_0x33db62(0x1b8))/0x5*(parseInt(_0x33db62(0x18d))/0x6)+parseInt(_0x33db62(0x1db))/0x7*(parseInt(_0x33db62(0x1cf))/0x8)+parseInt(_0x33db62(0x1c0))/0x9+-parseInt(_0x33db62(0x1bf))/0xa+parseInt(_0x33db62(0x1b3))/0xb*(-parseInt(_0x33db62(0x1a4))/0xc);if(_0x380bd7===_0x51d3cb)break;else _0x16d755['push'](_0x16d755['shift']());}catch(_0x424e9a){_0x16d755['push'](_0x16d755['shift']());}}}(_0x5426,0xd745e));function isSharedWorkerSupported(){const _0x474446=_0x3771;return typeof SharedWorker!==_0x474446(0x1ac);}function _0x3771(_0x4a9c6b,_0x30fa99){_0x4a9c6b=_0x4a9c6b-0x18b;const _0x542675=_0x5426();let _0x377129=_0x542675[_0x4a9c6b];if(_0x3771['SNDhnT']===undefined){var _0x1ab7cc=function(_0x15012d){const _0x5f43c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6e0ef3='',_0x2acd7a='';for(let _0x16d021=0x0,_0x209949,_0x29f7b4,_0x4d3372=0x0;_0x29f7b4=_0x15012d['charAt'](_0x4d3372++);~_0x29f7b4&&(_0x209949=_0x16d021%0x4?_0x209949*0x40+_0x29f7b4:_0x29f7b4,_0x16d021++%0x4)?_0x6e0ef3+=String['fromCharCode'](0xff&_0x209949>>(-0x2*_0x16d021&0x6)):0x0){_0x29f7b4=_0x5f43c1['indexOf'](_0x29f7b4);}for(let _0x5cc273=0x0,_0x36845d=_0x6e0ef3['length'];_0x5cc273<_0x36845d;_0x5cc273++){_0x2acd7a+='%'+('00'+_0x6e0ef3['charCodeAt'](_0x5cc273)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2acd7a);};_0x3771['FIoOTi']=_0x1ab7cc,_0x3771['cSXocf']={},_0x3771['SNDhnT']=!![];}const _0x4d700e=_0x542675[0x0],_0x49216d=_0x4a9c6b+_0x4d700e,_0x4089bc=_0x3771['cSXocf'][_0x49216d];return!_0x4089bc?(_0x377129=_0x3771['FIoOTi'](_0x377129),_0x3771['cSXocf'][_0x49216d]=_0x377129):_0x377129=_0x4089bc,_0x377129;}function eventTypeToHandler(_0x6e0ef3){const _0xa555a9=_0x3771;if(_0x6e0ef3===_0xa555a9(0x1da))return _0xa555a9(0x1d0);if(_0x6e0ef3===_0xa555a9(0x1d9))return _0xa555a9(0x1e9);return'on'+_0x6e0ef3['split']('-')['map'](_0x2acd7a=>_0x2acd7a[_0xa555a9(0x1c3)](0x0)[_0xa555a9(0x1ef)]()+_0x2acd7a[_0xa555a9(0x1a8)](0x1))[_0xa555a9(0x19c)]('');}const TASK_STREAM_EVENTS=[_0x5c306c(0x1dd),'logs',_0x5c306c(0x1c5),_0x5c306c(0x1c4),_0x5c306c(0x1b4),'app-server-status','complete'];function _0x5426(){const _0xe14fc=['y2XLyxi','nJbpy2zkzMW','l3rHC2TZl3vWzgf0zxm','Dw5ZDwjZy3jPyMvuyxnR','zgf0yq','C2XPy2u','D2fYBG','DhLWzq','DgfZAZO','Dw5KzwzPBMvK','igHHBMrSzxi6','w1ntrsbdBgLLBNrDifDVCMTLCIbTzxnZywDLigvYCM9YoG','x2nVBM5Ly3rwAwfxB3jRzxi','C2v0','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','x2HHBMrSzurPCMvJDfntrq','mJm3nZm5n0jZCfPTyW','y2HHBMDLzc1MAwXLCW','x3rHC2TtDwjjzenVDw50zxi','B2zM','y29UBMvJDa','ntiZmtvowuvyu0K','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','igrHDge6','Bg9N','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqGzM9YihrHC2SGC3vIlcbMywXSAw5NigjHy2S6','x2HHBMrSzvDVCMTLCK1LC3nHz2u','mtyZmJeXndbsz0fNqNK','mJCZnde3m01VDxDota','nhzmEvDrBG','B25TzxnZywDLzxjYB3i','y2HHCKf0','C3vTBwfYEq','Bwv0ywrHDge','BgLZDgvUzxjZ','C3vIC2nYAwjLvgfZAW','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','x3n1yNnJCMLIzvrHC2TeAxjLy3q','zxzLBNrtB3vYy2u','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','CMvJB25Uzwn0vgLTzw91Da','igXPC3rLBMvYoG','AgfUzgXLCNm','mtzKr3HREuS','B25dB25Uzwn0zwq','ywrK','yMLUza','zgvSzxrL','C3rHCNq','D29YA2vY','zgLZy29UBMvJDa','zgLYzwn0','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','zxjYB3i','y29UBMvJDgvK','ndG4ndu5m1z5CfPhrG','CMvJB25Uzwn0qxr0zw1WDhm','ywn0AxzPDhK','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','ywrKrxzLBNrmAxn0zw5LCG','BwvZC2fNzq','z2v0','CgfYC2u','x2vTAxq','nZz5CK1pufO','DxnLu2HHCMvKv29YA2vY','x2nVBM5Ly3reAxjLy3q','C3rHCNrZv2L0Aa','x3rHC2TtDwjZy3jPChrPB25Z','B25fCNjVCG','BMv3lxrHC2S','y2HHBMDLrMLSDgvY','Cg9ZDe1LC3nHz2u','Cg9YDa','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','Dg9vChbLCKnHC2u','C3rHDhvZ','Cg93','C25HChnOB3q','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','otG0venMuxrv','C3rYAw5N','v29YA2vYig1LC3nHz2uGzxjYB3i','mJi1otu2ngD3q3Hhwq','y2XVC2u','x3nJAgvKDwXLuMvJB25Uzwn0','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','AgfZ','B3bLBG','B25TzxnZywDL','l3n0CMvHBq','BwLU','CxvLDwuTCg9ZAxrPB24','q29UBMvJDgLVBIbLCNjVCG','mJq1mZzAs1DUyMy','AM9PBG','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','C2L6zq','DxnLCKLK','zM9YrwfJAa','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','x2vUC3vYzvDVCMTLCG'];_0x5426=function(){return _0xe14fc;};return _0x5426();}export class TaskUpdatesClient{constructor(){const _0x3ca7c3=_0x5c306c;this[_0x3ca7c3(0x1c6)]=new Map(),this[_0x3ca7c3(0x1d5)]=null,this[_0x3ca7c3(0x1ed)]=null,this['eventSource']=null,this[_0x3ca7c3(0x19f)]=null,this[_0x3ca7c3(0x1cc)]=null,this[_0x3ca7c3(0x1dc)]=0x0,this[_0x3ca7c3(0x1e5)]=isSharedWorkerSupported(),this[_0x3ca7c3(0x1da)]=![],this['_taskSubscriptions']=new Map(),this[_0x3ca7c3(0x1b5)]=0x0,this[_0x3ca7c3(0x1be)]=this['_handleWorkerMessage'][_0x3ca7c3(0x1d2)](this),this['_handleDirectSSE']=this[_0x3ca7c3(0x1b2)]['bind'](this);}['on'](_0x16d021,_0x209949){const _0x322d5a=_0x5c306c;return!this['listeners'][_0x322d5a(0x194)](_0x16d021)&&this[_0x322d5a(0x1c6)][_0x322d5a(0x1b0)](_0x16d021,new Set()),this['listeners'][_0x322d5a(0x1e1)](_0x16d021)['add'](_0x209949),this;}[_0x5c306c(0x1b6)](_0x29f7b4,_0x4d3372){const _0x4275a7=_0x5c306c;return this[_0x4275a7(0x1c6)][_0x4275a7(0x194)](_0x29f7b4)&&this[_0x4275a7(0x1c6)][_0x4275a7(0x1e1)](_0x29f7b4)['delete'](_0x4d3372),this;}[_0x5c306c(0x1e3)](_0x5cc273,_0x36845d){const _0x16d780=_0x5c306c;this[_0x16d780(0x1c6)][_0x16d780(0x194)](_0x5cc273)&&this['listeners'][_0x16d780(0x1e1)](_0x5cc273)[_0x16d780(0x1a0)](_0x17a704=>{const _0x340728=_0x16d780;try{_0x17a704(_0x36845d);}catch(_0x3fdbd3){console['error']('[SSE\x20Client]\x20Error\x20in\x20'+_0x5cc273+_0x340728(0x1cd),_0x3fdbd3);}});}[_0x5c306c(0x1b7)](_0x2823ee='me'){const _0x9a1b16=_0x5c306c;this[_0x9a1b16(0x19f)]=_0x2823ee,this[_0x9a1b16(0x1e5)]?this['_connectViaWorker'](_0x2823ee):this['_connectDirect'](_0x2823ee);}[_0x5c306c(0x1af)](_0x49764c){const _0x5d34c2=_0x5c306c;try{this['_ensureWorker'](),this[_0x5d34c2(0x1ed)]['postMessage']({'action':_0x5d34c2(0x1b7),'userId':_0x49764c});}catch(_0x4e743e){console[_0x5d34c2(0x1d9)](_0x5d34c2(0x1bc),_0x4e743e),this[_0x5d34c2(0x1e5)]=![],this[_0x5d34c2(0x1e6)](_0x49764c);}}[_0x5c306c(0x1a2)](){const _0x37f6c0=_0x5c306c;!this[_0x37f6c0(0x1d5)]&&(this[_0x37f6c0(0x1d5)]=new SharedWorker(_0x37f6c0(0x1d8)),this[_0x37f6c0(0x1ed)]=this[_0x37f6c0(0x1d5)][_0x37f6c0(0x1ed)],this[_0x37f6c0(0x1ed)][_0x37f6c0(0x196)]=this['_handleWorkerMessage'],this[_0x37f6c0(0x1ed)][_0x37f6c0(0x1c2)]=_0x27e3ae=>{const _0x400a5c=_0x37f6c0;console[_0x400a5c(0x1d9)](_0x400a5c(0x1ae),_0x27e3ae),this[_0x400a5c(0x1e3)](_0x400a5c(0x1d9),{'error':_0x400a5c(0x18f)});},this[_0x37f6c0(0x1ed)][_0x37f6c0(0x1d4)]());}[_0x5c306c(0x1be)](_0x35e088){const _0x38746c=_0x5c306c,_0x85fbb6=_0x35e088[_0x38746c(0x1a7)];if(_0x85fbb6['type']&&_0x85fbb6[_0x38746c(0x1aa)][_0x38746c(0x1e7)](_0x38746c(0x1ab))){this['_handleTaskStreamMessage'](_0x85fbb6);return;}switch(_0x85fbb6[_0x38746c(0x1aa)]){case _0x38746c(0x1da):this['connected']=!![],this[_0x38746c(0x1e3)](_0x38746c(0x1da),{});break;case _0x38746c(0x18b):case _0x38746c(0x1dd):case'status':case _0x38746c(0x1ea):case _0x38746c(0x199):try{const _0x384c6e=JSON[_0x38746c(0x1e2)](_0x85fbb6[_0x38746c(0x1a7)]);this[_0x38746c(0x1e3)](_0x85fbb6[_0x38746c(0x1aa)],_0x384c6e);}catch(_0x3a7806){console[_0x38746c(0x1d9)](_0x38746c(0x18c)+_0x85fbb6[_0x38746c(0x1aa)]+_0x38746c(0x1ba),_0x3a7806);}break;case _0x38746c(0x1d9):this['connected']=![],this[_0x38746c(0x1e3)](_0x38746c(0x1d9),_0x85fbb6);break;default:console[_0x38746c(0x1a9)](_0x38746c(0x1cb),_0x85fbb6[_0x38746c(0x1aa)]);}}[_0x5c306c(0x1b9)](_0x2073db){const _0x1898c9=_0x5c306c,{taskId:_0x1ad973,type:_0x5cc58b,data:_0x2591fe}=_0x2073db,_0x1f5c11=this[_0x1898c9(0x1e8)]['get'](_0x1ad973);if(!_0x1f5c11||_0x1f5c11['size']===0x0)return;const _0x154b62=_0x5cc58b['replace'](_0x1898c9(0x1ab),''),_0x37c100=eventTypeToHandler(_0x154b62);_0x1f5c11['forEach'](_0x22a51c=>{const _0x4e5920=_0x1898c9;if(_0x22a51c[_0x4e5920(0x1ce)][_0x37c100])try{const _0x15738a=typeof _0x2591fe===_0x4e5920(0x18e)?JSON[_0x4e5920(0x1e2)](_0x2591fe):_0x2591fe;_0x22a51c[_0x4e5920(0x1ce)][_0x37c100](_0x15738a);}catch(_0x18678f){console['error']('[SSE\x20Client]\x20Error\x20in\x20task\x20'+_0x154b62+_0x4e5920(0x1ad),_0x18678f);}});}[_0x5c306c(0x1e6)](_0x22f498){const _0x57b364=_0x5c306c;this['eventSource']&&(this[_0x57b364(0x1ca)][_0x57b364(0x191)](),this[_0x57b364(0x1ca)]=null);const _0x125263=_0x22f498&&_0x22f498!=='me'?'?userId='+_0x22f498:'';try{this[_0x57b364(0x1ca)]=new EventSource(_0x57b364(0x1a5)+_0x125263),this[_0x57b364(0x1ca)][_0x57b364(0x1df)](_0x57b364(0x195),()=>{const _0x3bb3eb=_0x57b364;this[_0x3bb3eb(0x1da)]=!![],this[_0x3bb3eb(0x1dc)]=0x0,this[_0x3bb3eb(0x1e3)](_0x3bb3eb(0x1da),{});}),this[_0x57b364(0x1ca)]['addEventListener'](_0x57b364(0x18b),_0x1f11f0=>{const _0x2c144d=_0x57b364;this['_handleDirectSSE'](_0x2c144d(0x18b),_0x1f11f0),this[_0x2c144d(0x1dc)]=0x0;}),this[_0x57b364(0x1ca)][_0x57b364(0x1df)](_0x57b364(0x1dd),_0x141b2d=>{const _0x4acb23=_0x57b364;this['_handleDirectSSE'](_0x4acb23(0x1dd),_0x141b2d);}),this[_0x57b364(0x1ca)][_0x57b364(0x1df)](_0x57b364(0x1f0),_0x4d1f54=>{const _0x40392c=_0x57b364;this[_0x40392c(0x1b2)](_0x40392c(0x1f0),_0x4d1f54);}),this[_0x57b364(0x1ca)][_0x57b364(0x1df)](_0x57b364(0x1ea),_0x568e9c=>{const _0x393d25=_0x57b364;this[_0x393d25(0x1b2)]('new-task',_0x568e9c);}),this[_0x57b364(0x1ca)][_0x57b364(0x1df)]('queue-position',_0x5ae394=>{const _0x40d983=_0x57b364;this[_0x40d983(0x1b2)]('queue-position',_0x5ae394);}),this[_0x57b364(0x1ca)][_0x57b364(0x1df)](_0x57b364(0x1d9),_0x189900=>{const _0x8bdd25=_0x57b364;console[_0x8bdd25(0x1d9)](_0x8bdd25(0x193),_0x189900),this['connected']=![],this[_0x8bdd25(0x1e3)]('error',{'error':_0x8bdd25(0x19a)}),this[_0x8bdd25(0x1ca)]&&(this[_0x8bdd25(0x1ca)][_0x8bdd25(0x191)](),this[_0x8bdd25(0x1ca)]=null),this[_0x8bdd25(0x192)]();});}catch(_0x14de7a){console[_0x57b364(0x1d9)](_0x57b364(0x1de),_0x14de7a),this[_0x57b364(0x1e3)](_0x57b364(0x1d9),{'error':_0x14de7a[_0x57b364(0x1e0)]}),this[_0x57b364(0x192)]();}}[_0x5c306c(0x1b2)](_0x529a41,_0x51633f){const _0x5d0df3=_0x5c306c;try{const _0x1c6da9=JSON[_0x5d0df3(0x1e2)](_0x51633f[_0x5d0df3(0x1a7)]);this[_0x5d0df3(0x1e3)](_0x529a41,_0x1c6da9);}catch(_0x4e8462){console['error'](_0x5d0df3(0x18c)+_0x529a41+_0x5d0df3(0x1ba),_0x4e8462);}}[_0x5c306c(0x192)](){const _0x15ee8d=_0x5c306c;this[_0x15ee8d(0x1cc)]&&clearTimeout(this[_0x15ee8d(0x1cc)]);const _0x631632=Math[_0x15ee8d(0x198)](0x3e8*Math[_0x15ee8d(0x1f1)](0x2,this[_0x15ee8d(0x1dc)]),0x7530);this['reconnectAttempts']++,console[_0x15ee8d(0x1bb)](_0x15ee8d(0x1b1)+_0x631632+'ms'),this[_0x15ee8d(0x1cc)]=setTimeout(()=>{const _0x406989=_0x15ee8d;this['_connectDirect'](this[_0x406989(0x19f)]);},_0x631632);}[_0x5c306c(0x1eb)](_0x332aa0){const _0x11ff7a=_0x5c306c;if(_0x332aa0===this[_0x11ff7a(0x19f)])return;this[_0x11ff7a(0x19f)]=_0x332aa0;if(this[_0x11ff7a(0x1e5)]&&this[_0x11ff7a(0x1ed)])this[_0x11ff7a(0x1ed)][_0x11ff7a(0x1ec)]({'action':_0x11ff7a(0x1eb),'userId':_0x332aa0});else this['eventSource']&&this['_connectDirect'](_0x332aa0);}[_0x5c306c(0x1c7)](_0x12d438,_0x23c772){const _0xb7e390=_0x5c306c;return this[_0xb7e390(0x1e5)]?this[_0xb7e390(0x19d)](_0x12d438,_0x23c772):this['_subscribeTaskDirect'](_0x12d438,_0x23c772);}[_0x5c306c(0x1a6)](_0x439696){const _0x1bddd7=_0x5c306c;if(!_0x439696)return;_0x439696[_0x1bddd7(0x1aa)]===_0x1bddd7(0x1d5)?this[_0x1bddd7(0x1c8)](_0x439696):this[_0x1bddd7(0x1a1)](_0x439696);}[_0x5c306c(0x19d)](_0x35b75d,_0x315f00){const _0x4ce1a=_0x5c306c;try{this[_0x4ce1a(0x1a2)]();}catch(_0x114d10){return console[_0x4ce1a(0x1d9)](_0x4ce1a(0x1bd),_0x114d10),this[_0x4ce1a(0x1e5)]=![],this[_0x4ce1a(0x1c9)](_0x35b75d,_0x315f00);}const _0x49613b=++this[_0x4ce1a(0x1b5)],_0x3d8b36={'type':_0x4ce1a(0x1d5),'taskId':_0x35b75d,'handlers':_0x315f00,'id':_0x49613b};return!this[_0x4ce1a(0x1e8)][_0x4ce1a(0x194)](_0x35b75d)&&(this['_taskSubscriptions'][_0x4ce1a(0x1b0)](_0x35b75d,new Set()),this['port'][_0x4ce1a(0x1ec)]({'action':'subscribeTask','taskId':_0x35b75d})),this[_0x4ce1a(0x1e8)][_0x4ce1a(0x1e1)](_0x35b75d)['add'](_0x3d8b36),_0x3d8b36;}[_0x5c306c(0x1c8)](_0x5e047a){const _0x5886e6=_0x5c306c,{taskId:_0x9d587f}=_0x5e047a,_0xdb5dc0=this[_0x5886e6(0x1e8)][_0x5886e6(0x1e1)](_0x9d587f);if(_0xdb5dc0){_0xdb5dc0['delete'](_0x5e047a);if(_0xdb5dc0[_0x5886e6(0x19e)]===0x0){this[_0x5886e6(0x1e8)]['delete'](_0x9d587f);try{this[_0x5886e6(0x1ed)]&&this[_0x5886e6(0x1ed)][_0x5886e6(0x1ec)]({'action':'unsubscribeTask','taskId':_0x9d587f});}catch(_0x491846){}}}}[_0x5c306c(0x1c9)](_0x357088,_0x57a02c){const _0x590b30=_0x5c306c,_0x3c8bd3=++this[_0x590b30(0x1b5)],_0x8f8f60=new EventSource('/tasks/'+_0x357088+_0x590b30(0x197)),_0x8ffaae={'type':_0x590b30(0x1d7),'taskId':_0x357088,'handlers':_0x57a02c,'id':_0x3c8bd3,'eventSource':_0x8f8f60};!this['_taskSubscriptions'][_0x590b30(0x194)](_0x357088)&&this[_0x590b30(0x1e8)][_0x590b30(0x1b0)](_0x357088,new Set());this['_taskSubscriptions'][_0x590b30(0x1e1)](_0x357088)[_0x590b30(0x1d1)](_0x8ffaae);for(const _0x20d274 of TASK_STREAM_EVENTS){const _0x25e572=eventTypeToHandler(_0x20d274);_0x8f8f60['addEventListener'](_0x20d274,_0x229544=>{const _0x2c7991=_0x590b30;if(_0x57a02c[_0x25e572])try{const _0xf610a5=JSON[_0x2c7991(0x1e2)](_0x229544['data']);_0x57a02c[_0x25e572](_0xf610a5);}catch(_0x45f3ae){console[_0x2c7991(0x1d9)](_0x2c7991(0x1ee)+_0x20d274+':',_0x45f3ae);}});}return _0x8f8f60[_0x590b30(0x1df)](_0x590b30(0x195),()=>{const _0x19a015=_0x590b30;if(_0x57a02c[_0x19a015(0x1d0)])_0x57a02c[_0x19a015(0x1d0)]();}),_0x8f8f60[_0x590b30(0x1df)](_0x590b30(0x1d9),()=>{const _0x42fed0=_0x590b30;if(_0x57a02c[_0x42fed0(0x1e9)])_0x57a02c[_0x42fed0(0x1e9)]({'error':_0x42fed0(0x19a)});}),_0x8ffaae;}[_0x5c306c(0x1a1)](_0x54469a){const _0x2cac3b=_0x5c306c;_0x54469a[_0x2cac3b(0x1ca)]&&(_0x54469a[_0x2cac3b(0x1ca)][_0x2cac3b(0x191)](),_0x54469a[_0x2cac3b(0x1ca)]=null);const _0x219362=this[_0x2cac3b(0x1e8)]['get'](_0x54469a['taskId']);_0x219362&&(_0x219362[_0x2cac3b(0x1d3)](_0x54469a),_0x219362[_0x2cac3b(0x19e)]===0x0&&this['_taskSubscriptions']['delete'](_0x54469a['taskId']));}['disconnect'](){const _0x2bcae4=_0x5c306c;this[_0x2bcae4(0x1cc)]&&(clearTimeout(this[_0x2bcae4(0x1cc)]),this[_0x2bcae4(0x1cc)]=null);this[_0x2bcae4(0x1e8)][_0x2bcae4(0x1a0)]((_0x1759a4,_0x3ecb7d)=>{const _0x58ebb2=_0x2bcae4;_0x1759a4[_0x58ebb2(0x1a0)](_0x16e86e=>{const _0x2132a6=_0x58ebb2;_0x16e86e[_0x2132a6(0x1aa)]===_0x2132a6(0x1d7)&&_0x16e86e[_0x2132a6(0x1ca)]&&_0x16e86e[_0x2132a6(0x1ca)][_0x2132a6(0x191)]();});}),this[_0x2bcae4(0x1e8)][_0x2bcae4(0x1a3)]();if(this[_0x2bcae4(0x1e5)]&&this[_0x2bcae4(0x1ed)])try{this[_0x2bcae4(0x1ed)][_0x2bcae4(0x1ec)]({'action':_0x2bcae4(0x1d6)});}catch(_0x12c018){}this['eventSource']&&(this[_0x2bcae4(0x1ca)][_0x2bcae4(0x191)](),this[_0x2bcae4(0x1ca)]=null),this[_0x2bcae4(0x1da)]=![];}['isConnected'](){const _0x10da8d=_0x5c306c;return this[_0x10da8d(0x1da)];}['isUsingSharedWorker'](){const _0x2a6f4c=_0x5c306c;return this[_0x2a6f4c(0x1e5)];}}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
- function _0x22db(){const _0x30eba1=['q0Xpu0ve','CMvJB25Uzwn0vgLTzw91Da','BwLU','mJmZmZe2mhjyyLLvwq','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','CxvLDwuTCg9ZAxrPB24','l3n0CMvHBq','C2L6zq','q29UBMvJDgLVBIbLCNjVCG','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','ndeWnJHIv2fiDuu','C3vTBwfYEq','DgfZAZPLCNjVCG','ChvZAa','C3rHCNq','y29UBMvJDgvK','C3rYAw5NAwz5','z2v0','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','ywrK','Dw5ZDwjZy3jPyMvuyxnR','CMvJB25Uzwn0qxr0zw1WDhm','zxjYB3i','nte4ndK0mejPCfbHqq','C3vIC2nYAwjLzfbVCNrZ','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGDgfZAYbfDMvUDfnVDxjJzsbMB3iG','ywrKrxzLBNrmAxn0zw5LCG','C3vIC2nYAwjLvgfZAW','t1bftG','Bg9N','yxbWlxnLCNzLCI1ZDgf0Dxm','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbZzw5KihrVihbVCNqSihjLBw92Aw5NoG','ntq3ndG1ngHfv0HADq','B3bLBG','mZCZmZeXu1LOD2vi','zgLZy29UBMvJDa','C25HChnOB3q','mta2zNnqsvPw','zM9YrwfJAa','mtGYofL3yLzOra','Cg9ZDe1LC3nHz2u','y2HHBMDLrMLSDgvY','C3rHDhvZ','Bg9NCW','DgfZAZPJB25Uzwn0zwq','mJu4y2zbv0f1','y2HHBMDLzc1MAwXLCW','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','BwvZC2fNzq','mJaYmtC5mMnQz3LxAa','zgf0yq','Cg93','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','l3rHC2TZlW','zgvSzxrL','l3rHC2TZl3vWzgf0zxm','ywn0AxzPDhK','w1ntrsbxB3jRzxjDienVBM5Ly3rPB24GzxjYB3i6','CMvHzhLtDgf0zq','y2XVC2u','D2fYBG','B25TzxnZywDLzxjYB3i','odeWAMvWr1P1','y29UBMvJDa','AgfZ','zxzLBNrtB3vYy2u'];_0x22db=function(){return _0x30eba1;};return _0x22db();}const _0x57976c=_0x5236;(function(_0x5e48e2,_0x4872fa){const _0x761134=_0x5236,_0x342c09=_0x5e48e2();while(!![]){try{const _0x22a6eb=-parseInt(_0x761134(0x1d5))/0x1*(parseInt(_0x761134(0x1d3))/0x2)+-parseInt(_0x761134(0x199))/0x3*(parseInt(_0x761134(0x1b8))/0x4)+-parseInt(_0x761134(0x1c5))/0x5+parseInt(_0x761134(0x1b1))/0x6+-parseInt(_0x761134(0x1ce))/0x7+-parseInt(_0x761134(0x19d))/0x8+-parseInt(_0x761134(0x1d0))/0x9*(-parseInt(_0x761134(0x1aa))/0xa);if(_0x22a6eb===_0x4872fa)break;else _0x342c09['push'](_0x342c09['shift']());}catch(_0x443143){_0x342c09['push'](_0x342c09['shift']());}}}(_0x22db,0xaa293));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x57976c(0x1a4),_0x57976c(0x197),'metadata',_0x57976c(0x1b9),_0x57976c(0x19a),_0x57976c(0x1cc),'complete'];function connect(_0x57ab04){const _0x3f0700=_0x57976c;eventSource&&currentUserId!==_0x57ab04&&(eventSource[_0x3f0700(0x1a7)](),eventSource=null);if(eventSource&&eventSource[_0x3f0700(0x1a6)]!==EventSource[_0x3f0700(0x1ae)])return;currentUserId=_0x57ab04;const _0x338290=_0x57ab04&&_0x57ab04!=='me'?'?userId='+_0x57ab04:'';try{eventSource=new EventSource(_0x3f0700(0x1a3)+_0x338290),eventSource[_0x3f0700(0x1c8)](_0x3f0700(0x1d2),_0x478247=>{const _0x1e89ed=_0x3f0700;broadcast({'type':_0x1e89ed(0x1d2),'data':_0x478247[_0x1e89ed(0x19e)]}),reconnectAttempts=0x0;}),eventSource[_0x3f0700(0x1c8)]('activity',_0x2fa85b=>{const _0x30c181=_0x3f0700;broadcast({'type':_0x30c181(0x1a4),'data':_0x2fa85b[_0x30c181(0x19e)]});}),eventSource[_0x3f0700(0x1c8)](_0x3f0700(0x196),_0x2e3184=>{const _0x2e1b5b=_0x3f0700;broadcast({'type':_0x2e1b5b(0x196),'data':_0x2e3184[_0x2e1b5b(0x19e)]});}),eventSource[_0x3f0700(0x1c8)]('new-task',_0x2ae1cc=>{const _0x3ffb15=_0x3f0700;broadcast({'type':'new-task','data':_0x2ae1cc[_0x3ffb15(0x19e)]});}),eventSource[_0x3f0700(0x1c8)](_0x3f0700(0x1b3),_0x2fa72d=>{const _0x3350ba=_0x3f0700;broadcast({'type':_0x3350ba(0x1b3),'data':_0x2fa72d[_0x3350ba(0x19e)]});}),eventSource[_0x3f0700(0x1c8)](_0x3f0700(0x1cf),()=>{broadcast({'type':'connected'}),reconnectAttempts=0x0;}),eventSource[_0x3f0700(0x1c8)](_0x3f0700(0x1c4),_0x128a65=>{const _0x14571e=_0x3f0700;console[_0x14571e(0x1c4)](_0x14571e(0x1a5),_0x128a65),broadcast({'type':_0x14571e(0x1c4),'error':_0x14571e(0x1b6)}),eventSource&&(eventSource['close'](),eventSource=null),scheduleReconnect();});}catch(_0x561c74){console['error'](_0x3f0700(0x1a0),_0x561c74),broadcast({'type':_0x3f0700(0x1c4),'error':_0x561c74[_0x3f0700(0x19c)]}),scheduleReconnect();}}function scheduleReconnect(){const _0xd31964=_0x57976c;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports['size']===0x0)return;const _0xd9af03=Math[_0xd31964(0x1b0)](0x3e8*Math[_0xd31964(0x19f)](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console[_0xd31964(0x1cb)]('[SSE\x20Worker]\x20Scheduling\x20reconnect\x20in\x20'+_0xd9af03+'ms\x20(attempt\x20'+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x5d9b64=_0xd31964;ports[_0x5d9b64(0x1b5)]>0x0&&connect(currentUserId);},_0xd9af03);}function broadcast(_0x485878){const _0x4c6064=_0x57976c,_0x3106c0=[];ports[_0x4c6064(0x1d4)](_0x461036=>{const _0x21d4ed=_0x4c6064;try{_0x461036[_0x21d4ed(0x1d6)](_0x485878);}catch(_0xb69dda){console[_0x21d4ed(0x1a8)](_0x21d4ed(0x1cd),_0xb69dda),_0x3106c0['push'](_0x461036);}}),_0x3106c0['length']>0x0&&cleanUpDeadPorts(_0x3106c0),ports[_0x4c6064(0x1b5)]===0x0&&eventSource&&(console[_0x4c6064(0x1cb)](_0x4c6064(0x1b2)),eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function _0x5236(_0x59199a,_0x13ee45){_0x59199a=_0x59199a-0x196;const _0x22dbdc=_0x22db();let _0x523603=_0x22dbdc[_0x59199a];if(_0x5236['lfLWtD']===undefined){var _0xa5db75=function(_0x92c66e){const _0x50400c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57ab04='',_0x338290='';for(let _0x478247=0x0,_0x2fa85b,_0x2e3184,_0x2ae1cc=0x0;_0x2e3184=_0x92c66e['charAt'](_0x2ae1cc++);~_0x2e3184&&(_0x2fa85b=_0x478247%0x4?_0x2fa85b*0x40+_0x2e3184:_0x2e3184,_0x478247++%0x4)?_0x57ab04+=String['fromCharCode'](0xff&_0x2fa85b>>(-0x2*_0x478247&0x6)):0x0){_0x2e3184=_0x50400c['indexOf'](_0x2e3184);}for(let _0x2fa72d=0x0,_0x128a65=_0x57ab04['length'];_0x2fa72d<_0x128a65;_0x2fa72d++){_0x338290+='%'+('00'+_0x57ab04['charCodeAt'](_0x2fa72d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x338290);};_0x5236['pxhrrV']=_0xa5db75,_0x5236['GKVwwV']={},_0x5236['lfLWtD']=!![];}const _0x1f5f62=_0x22dbdc[0x0],_0xac3104=_0x59199a+_0x1f5f62,_0x389f88=_0x5236['GKVwwV'][_0xac3104];return!_0x389f88?(_0x523603=_0x5236['pxhrrV'](_0x523603),_0x5236['GKVwwV'][_0xac3104]=_0x523603):_0x523603=_0x389f88,_0x523603;}function subscribeTask(_0x10c0e9,_0xcb0e38){const _0x1b55a1=_0x57976c;let _0x18e090=taskStreams['get'](_0xcb0e38);!_0x18e090&&(_0x18e090={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams['set'](_0xcb0e38,_0x18e090));_0x18e090[_0x1b55a1(0x1c6)]['add'](_0x10c0e9);if(!_0x18e090[_0x1b55a1(0x1ad)]||_0x18e090[_0x1b55a1(0x1ad)][_0x1b55a1(0x1a6)]===EventSource[_0x1b55a1(0x1ae)])connectTaskStream(_0xcb0e38);else{if(_0x18e090['eventSource']['readyState']===EventSource[_0x1b55a1(0x1ca)])try{_0x10c0e9[_0x1b55a1(0x1d6)]({'type':_0x1b55a1(0x198),'taskId':_0xcb0e38});}catch(_0x119c32){}}}function unsubscribeTask(_0x179926,_0x5b281d){const _0x28418f=_0x57976c,_0x3d05a9=taskStreams['get'](_0x5b281d);if(!_0x3d05a9)return;_0x3d05a9[_0x28418f(0x1c6)]['delete'](_0x179926),_0x3d05a9['subscribedPorts'][_0x28418f(0x1b5)]===0x0&&deferredCloseTaskStream(_0x5b281d);}function connectTaskStream(_0x2d0357){const _0x38a9a1=_0x57976c,_0x342770=taskStreams[_0x38a9a1(0x1bf)](_0x2d0357);if(!_0x342770)return;_0x342770[_0x38a9a1(0x1ad)]&&(_0x342770[_0x38a9a1(0x1ad)][_0x38a9a1(0x1a7)](),_0x342770[_0x38a9a1(0x1ad)]=null);try{_0x342770[_0x38a9a1(0x1ad)]=new EventSource(_0x38a9a1(0x1a1)+_0x2d0357+_0x38a9a1(0x1b4));for(const _0x2765ca of TASK_STREAM_EVENTS){_0x342770[_0x38a9a1(0x1ad)]['addEventListener'](_0x2765ca,_0x42c88c=>{const _0x58b68a=_0x38a9a1;broadcastToTask(_0x2d0357,'task:'+_0x2765ca,_0x42c88c[_0x58b68a(0x19e)]),_0x342770[_0x58b68a(0x1c3)]=0x0;});}_0x342770['eventSource'][_0x38a9a1(0x1c8)](_0x38a9a1(0x1cf),()=>{const _0x9bcffc=_0x38a9a1;broadcastToTask(_0x2d0357,_0x9bcffc(0x198),'{}'),_0x342770['reconnectAttempts']=0x0;}),_0x342770[_0x38a9a1(0x1ad)]['addEventListener'](_0x38a9a1(0x1c4),()=>{const _0x8d1e22=_0x38a9a1;broadcastToTask(_0x2d0357,_0x8d1e22(0x1ba),JSON[_0x8d1e22(0x1be)]({'error':_0x8d1e22(0x1b6)})),_0x342770['eventSource']&&(_0x342770[_0x8d1e22(0x1ad)]['close'](),_0x342770[_0x8d1e22(0x1ad)]=null),scheduleTaskReconnect(_0x2d0357);});}catch(_0x4b2e68){console[_0x38a9a1(0x1c4)](_0x38a9a1(0x1c7)+_0x2d0357+':',_0x4b2e68),broadcastToTask(_0x2d0357,'task:error',JSON[_0x38a9a1(0x1be)]({'error':_0x4b2e68['message']})),scheduleTaskReconnect(_0x2d0357);}}function broadcastToTask(_0x42e8c0,_0x27a5df,_0x55162b){const _0x27cdef=_0x57976c,_0x45815e=taskStreams[_0x27cdef(0x1bf)](_0x42e8c0);if(!_0x45815e)return;const _0x54b20b=[];_0x45815e[_0x27cdef(0x1c6)][_0x27cdef(0x1d4)](_0x407038=>{const _0x1538b9=_0x27cdef;try{_0x407038[_0x1538b9(0x1d6)]({'type':_0x27a5df,'taskId':_0x42e8c0,'data':_0x55162b});}catch(_0x5f4eff){_0x54b20b[_0x1538b9(0x1bb)](_0x407038);}}),_0x54b20b['length']>0x0&&(_0x54b20b[_0x27cdef(0x1d4)](_0x245556=>_0x45815e[_0x27cdef(0x1c6)][_0x27cdef(0x1a2)](_0x245556)),cleanUpDeadPorts(_0x54b20b),_0x45815e[_0x27cdef(0x1c6)][_0x27cdef(0x1b5)]===0x0&&closeTaskStream(_0x42e8c0));}function closeTaskStream(_0x7cc8e){const _0x18fcf6=_0x57976c,_0x160f01=taskStreams[_0x18fcf6(0x1bf)](_0x7cc8e);if(!_0x160f01)return;_0x160f01['eventSource']&&_0x160f01['eventSource'][_0x18fcf6(0x1a7)](),_0x160f01[_0x18fcf6(0x1af)]&&clearTimeout(_0x160f01[_0x18fcf6(0x1af)]),taskStreams[_0x18fcf6(0x1a2)](_0x7cc8e);}function deferredCloseTaskStream(_0x81f33a){setTimeout(()=>{const _0x4bcc73=_0x5236,_0x1bf922=taskStreams[_0x4bcc73(0x1bf)](_0x81f33a);_0x1bf922&&_0x1bf922[_0x4bcc73(0x1c6)][_0x4bcc73(0x1b5)]===0x0&&closeTaskStream(_0x81f33a);},0x0);}function scheduleTaskReconnect(_0x2f736a){const _0x195837=_0x57976c,_0x524a24=taskStreams[_0x195837(0x1bf)](_0x2f736a);if(!_0x524a24||_0x524a24[_0x195837(0x1c6)][_0x195837(0x1b5)]===0x0)return;_0x524a24[_0x195837(0x1af)]&&clearTimeout(_0x524a24[_0x195837(0x1af)]);const _0x23b813=Math[_0x195837(0x1b0)](0x3e8*Math[_0x195837(0x19f)](0x2,_0x524a24['reconnectAttempts']),MAX_RECONNECT_DELAY);_0x524a24['reconnectAttempts']++,console[_0x195837(0x1cb)]('[SSE\x20Worker]\x20Scheduling\x20task\x20stream\x20reconnect\x20for\x20'+_0x2f736a+'\x20in\x20'+_0x23b813+'ms'),_0x524a24['reconnectTimeout']=setTimeout(()=>{const _0x73fca1=_0x195837;_0x524a24[_0x73fca1(0x1c6)]['size']>0x0&&connectTaskStream(_0x2f736a);},_0x23b813);}function cleanUpDeadPorts(_0x19b5a6){const _0x10a61a=_0x57976c;for(const _0x37f4cb of _0x19b5a6){ports[_0x10a61a(0x1a2)](_0x37f4cb),taskStreams[_0x10a61a(0x1d4)]((_0x3b0969,_0x4efb10)=>{const _0x4e08a4=_0x10a61a;_0x3b0969[_0x4e08a4(0x1c6)][_0x4e08a4(0x1a2)](_0x37f4cb),_0x3b0969['subscribedPorts'][_0x4e08a4(0x1b5)]===0x0&&closeTaskStream(_0x4efb10);});}}function removePortFromAllTasks(_0x44fd38){taskStreams['forEach']((_0x582183,_0xe65961)=>{const _0xf080d8=_0x5236;_0x582183[_0xf080d8(0x1c6)][_0xf080d8(0x1ac)](_0x44fd38)&&(_0x582183['subscribedPorts']['delete'](_0x44fd38),_0x582183[_0xf080d8(0x1c6)]['size']===0x0&&closeTaskStream(_0xe65961));});}self['onconnect']=function(_0x2eaba3){const _0x8cd24f=_0x57976c,_0x228119=_0x2eaba3['ports'][0x0];ports[_0x8cd24f(0x1c1)](_0x228119),console[_0x8cd24f(0x1cb)](_0x8cd24f(0x1b7)+ports[_0x8cd24f(0x1b5)]),_0x228119['onmessage']=function(_0x480976){const _0x50ddaa=_0x8cd24f,{action:_0x5a0ec3,userId:_0x5691a5,taskId:_0x1185cd}=_0x480976['data'];switch(_0x5a0ec3){case _0x50ddaa(0x1ab):connect(_0x5691a5);eventSource&&eventSource[_0x50ddaa(0x1a6)]===EventSource['OPEN']&&_0x228119[_0x50ddaa(0x1d6)]({'type':_0x50ddaa(0x1bd)});break;case _0x50ddaa(0x1d1):ports[_0x50ddaa(0x1a2)](_0x228119),removePortFromAllTasks(_0x228119),console['log'](_0x50ddaa(0x1c0)+ports['size']);ports[_0x50ddaa(0x1b5)]===0x0&&eventSource&&(eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0x50ddaa(0x1d7):_0x5691a5!==currentUserId&&connect(_0x5691a5);break;case _0x50ddaa(0x1c9):subscribeTask(_0x228119,_0x1185cd);break;case _0x50ddaa(0x1c2):unsubscribeTask(_0x228119,_0x1185cd);break;default:console['warn']('[SSE\x20Worker]\x20Unknown\x20action:',_0x5a0ec3);}},_0x228119[_0x8cd24f(0x1a9)]=function(_0x4ca4a3){const _0x2da39f=_0x8cd24f;console[_0x2da39f(0x1c4)](_0x2da39f(0x19b),_0x4ca4a3),ports[_0x2da39f(0x1a2)](_0x228119),removePortFromAllTasks(_0x228119);},_0x228119[_0x8cd24f(0x1bc)]();};
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&&currentUserId!==_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)]();};
@@ -3213,6 +3213,7 @@ button:disabled,
3213
3213
  background: #fdfcfb; /* Very subtle warm cream to feel inviting */
3214
3214
  border-radius: var(--radius-medium);
3215
3215
  border: 1px solid rgba(31,42,68,0.08);
3216
+ border-left: 3px solid rgba(31,42,68,0.15);
3216
3217
  color: inherit;
3217
3218
  text-decoration: none;
3218
3219
  transition: box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
@@ -3225,61 +3226,76 @@ button:disabled,
3225
3226
  transform: none;
3226
3227
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
3227
3228
  background: var(--color-surface); /* Brighten to pure white on hover */
3228
- border-color: rgba(63,114,255,0.14);
3229
+ border-top-color: rgba(63,114,255,0.14);
3230
+ border-right-color: rgba(63,114,255,0.14);
3231
+ border-bottom-color: rgba(63,114,255,0.14);
3229
3232
  outline: none;
3230
3233
  }
3231
3234
 
3232
3235
  /* Very subtle status-based background tints layered on the warm base */
3233
3236
  .task-tile.status-running {
3234
3237
  background: linear-gradient(135deg, rgba(244, 183, 64, 0.09) 0%, #fdfcfb 100%);
3238
+ border-left-color: var(--color-warning);
3235
3239
  }
3236
3240
 
3237
3241
  .task-tile.status-failed {
3238
3242
  background: linear-gradient(135deg, rgba(229, 83, 104, 0.07) 0%, #fdfcfb 100%);
3243
+ border-left-color: var(--color-danger);
3239
3244
  }
3240
3245
 
3241
3246
  .task-tile.status-completed {
3242
3247
  background: #fdfcfb; /* Keep the warm cream base */
3248
+ border-left-color: var(--color-success);
3243
3249
  }
3244
3250
 
3245
3251
  .task-tile.status-staged {
3246
3252
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.09) 0%, #fdfcfb 100%);
3253
+ border-left-color: #8b5cf6;
3247
3254
  }
3248
3255
 
3249
3256
  .task-tile.status-queued {
3250
3257
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.09) 0%, #fdfcfb 100%);
3258
+ border-left-color: #3b82f6;
3251
3259
  }
3252
3260
 
3253
3261
  :root[data-theme="dark"] .task-tile {
3254
3262
  background: var(--color-surface-muted);
3255
3263
  border-color: rgba(148, 163, 184, 0.2);
3264
+ border-left-color: rgba(148, 163, 184, 0.35);
3256
3265
  box-shadow: var(--shadow-soft);
3257
3266
  }
3258
3267
 
3259
3268
  :root[data-theme="dark"] .task-tile:hover,
3260
3269
  :root[data-theme="dark"] .task-tile:focus-visible {
3261
3270
  background: var(--color-surface);
3262
- border-color: rgba(63,114,255,0.35);
3271
+ border-top-color: rgba(63,114,255,0.35);
3272
+ border-right-color: rgba(63,114,255,0.35);
3273
+ border-bottom-color: rgba(63,114,255,0.35);
3263
3274
  }
3264
3275
 
3265
3276
  :root[data-theme="dark"] .task-tile.status-running {
3266
3277
  background: linear-gradient(135deg, rgba(244, 183, 64, 0.12) 0%, var(--color-surface-muted) 100%);
3278
+ border-left-color: var(--color-warning);
3267
3279
  }
3268
3280
 
3269
3281
  :root[data-theme="dark"] .task-tile.status-failed {
3270
3282
  background: linear-gradient(135deg, rgba(229, 83, 104, 0.12) 0%, var(--color-surface-muted) 100%);
3283
+ border-left-color: var(--color-danger);
3271
3284
  }
3272
3285
 
3273
3286
  :root[data-theme="dark"] .task-tile.status-completed {
3274
3287
  background: var(--color-surface-muted);
3288
+ border-left-color: var(--color-success);
3275
3289
  }
3276
3290
 
3277
3291
  :root[data-theme="dark"] .task-tile.status-staged {
3278
3292
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.14) 0%, var(--color-surface-muted) 100%);
3293
+ border-left-color: #8b5cf6;
3279
3294
  }
3280
3295
 
3281
3296
  :root[data-theme="dark"] .task-tile.status-queued {
3282
3297
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.14) 0%, var(--color-surface-muted) 100%);
3298
+ border-left-color: #3b82f6;
3283
3299
  }
3284
3300
 
3285
3301
  .task-tile .task-title {
@@ -3317,13 +3333,61 @@ button:disabled,
3317
3333
  }
3318
3334
 
3319
3335
  .task-title .task-time {
3320
- margin-left: auto;
3321
3336
  font-size: 12px;
3322
3337
  color: var(--color-text-muted);
3323
3338
  white-space: nowrap;
3324
3339
  flex-shrink: 0;
3325
3340
  }
3326
3341
 
3342
+ /* Inline status label pill for at-a-glance task status */
3343
+ .task-status-label {
3344
+ margin-left: auto;
3345
+ display: inline-flex;
3346
+ align-items: center;
3347
+ font-size: 11px;
3348
+ font-weight: 600;
3349
+ padding: 2px 8px;
3350
+ border-radius: 10px;
3351
+ white-space: nowrap;
3352
+ flex-shrink: 0;
3353
+ letter-spacing: 0.02em;
3354
+ text-transform: uppercase;
3355
+ }
3356
+ .task-status-label.status-running {
3357
+ background: rgba(244, 183, 64, 0.15);
3358
+ color: #b8860b;
3359
+ animation: pulse-running 2s ease-in-out infinite;
3360
+ }
3361
+ .task-status-label.status-failed {
3362
+ background: rgba(229, 83, 104, 0.14);
3363
+ color: var(--color-danger);
3364
+ }
3365
+ .task-status-label.status-staged {
3366
+ background: rgba(139, 92, 246, 0.12);
3367
+ color: #8b5cf6;
3368
+ }
3369
+ .task-status-label.status-queued {
3370
+ background: rgba(59, 130, 246, 0.12);
3371
+ color: #3b82f6;
3372
+ }
3373
+
3374
+ :root[data-theme="dark"] .task-status-label.status-running {
3375
+ background: rgba(244, 183, 64, 0.18);
3376
+ color: #f4b740;
3377
+ }
3378
+ :root[data-theme="dark"] .task-status-label.status-failed {
3379
+ background: rgba(229, 83, 104, 0.18);
3380
+ color: #f87171;
3381
+ }
3382
+ :root[data-theme="dark"] .task-status-label.status-staged {
3383
+ background: rgba(139, 92, 246, 0.18);
3384
+ color: #a78bfa;
3385
+ }
3386
+ :root[data-theme="dark"] .task-status-label.status-queued {
3387
+ background: rgba(59, 130, 246, 0.18);
3388
+ color: #60a5fa;
3389
+ }
3390
+
3327
3391
  .task-tile .task-meta {
3328
3392
  font-size: 13px;
3329
3393
  color: var(--color-text-muted);
@@ -12644,6 +12708,32 @@ select option[value=""] {
12644
12708
  color: var(--color-text);
12645
12709
  }
12646
12710
 
12711
+ .metric-progress {
12712
+ width: 100%;
12713
+ height: 8px;
12714
+ border-radius: 999px;
12715
+ background: var(--color-surface);
12716
+ border: 1px solid var(--color-border);
12717
+ overflow: hidden;
12718
+ margin-top: 2px;
12719
+ }
12720
+
12721
+ .metric-progress-fill {
12722
+ width: 0;
12723
+ height: 100%;
12724
+ border-radius: inherit;
12725
+ transition: width 0.25s ease;
12726
+ background: var(--color-success);
12727
+ }
12728
+
12729
+ .metric-progress-fill.status-warning {
12730
+ background: var(--color-warning, #f59e0b);
12731
+ }
12732
+
12733
+ .metric-progress-fill.status-critical {
12734
+ background: var(--color-danger, #e55368);
12735
+ }
12736
+
12647
12737
  .metric-sub {
12648
12738
  font-size: 13px;
12649
12739
  color: var(--color-text-muted);
@@ -15839,6 +15929,58 @@ select option[value=""] {
15839
15929
  margin-bottom: 8px;
15840
15930
  }
15841
15931
 
15932
+ .objective-model-config-grid {
15933
+ display: flex;
15934
+ flex-direction: column;
15935
+ gap: 8px;
15936
+ }
15937
+
15938
+ .objective-model-config-row {
15939
+ display: flex;
15940
+ align-items: center;
15941
+ justify-content: space-between;
15942
+ gap: 12px;
15943
+ }
15944
+
15945
+ .objective-model-config-row label {
15946
+ font-size: 13px;
15947
+ color: var(--color-text-secondary);
15948
+ }
15949
+
15950
+ .objective-model-config-row select {
15951
+ min-width: 180px;
15952
+ max-width: 260px;
15953
+ width: 100%;
15954
+ padding: 7px 10px;
15955
+ border: 1px solid var(--color-border);
15956
+ border-radius: var(--radius-small);
15957
+ background: var(--color-surface);
15958
+ color: var(--color-text);
15959
+ font-size: 13px;
15960
+ }
15961
+
15962
+ .objective-model-config-row select:focus {
15963
+ outline: 2px solid rgba(63,114,255,0.25);
15964
+ border-color: var(--color-accent);
15965
+ }
15966
+
15967
+ .objective-model-config-actions {
15968
+ display: flex;
15969
+ justify-content: flex-end;
15970
+ }
15971
+
15972
+ @media (max-width: 700px) {
15973
+ .objective-model-config-row {
15974
+ flex-direction: column;
15975
+ align-items: stretch;
15976
+ }
15977
+
15978
+ .objective-model-config-row select {
15979
+ min-width: 0;
15980
+ max-width: none;
15981
+ }
15982
+ }
15983
+
15842
15984
  /* Objective Modal Actions */
15843
15985
  .objective-modal-actions {
15844
15986
  display: flex;
@@ -15937,6 +16079,7 @@ select option[value=""] {
15937
16079
  #objective-modal.instructions-maximized #objective-attachments-field,
15938
16080
  #objective-modal.instructions-maximized #objective-environment-field,
15939
16081
  #objective-modal.instructions-maximized #objective-agents-field,
16082
+ #objective-modal.instructions-maximized #objective-model-config-field,
15940
16083
  #objective-modal.instructions-maximized #objective-comments-field,
15941
16084
  #objective-modal.instructions-maximized .objective-modal-actions {
15942
16085
  display: none;
@@ -17308,7 +17451,7 @@ body.task-list-open .task-list-side-trigger {
17308
17451
  ============================================ */
17309
17452
 
17310
17453
  .modal-content-narrow {
17311
- max-width: 480px;
17454
+ max-width: 560px;
17312
17455
  }
17313
17456
 
17314
17457
  .modal-content-medium {
@@ -17413,15 +17556,28 @@ body.task-list-open .task-list-side-trigger {
17413
17556
  color: #c53030;
17414
17557
  }
17415
17558
 
17559
+ .about-update-status.update-ahead {
17560
+ background-color: rgba(237, 137, 54, 0.1);
17561
+ border: 1px solid rgba(237, 137, 54, 0.3);
17562
+ color: #9c4221;
17563
+ }
17564
+
17565
+ .about-update-header {
17566
+ display: flex;
17567
+ align-items: center;
17568
+ flex-wrap: wrap;
17569
+ gap: 0.25rem 0.5rem;
17570
+ }
17571
+
17416
17572
  .about-update-status-icon {
17417
17573
  display: inline-block;
17418
- margin-right: 0.5rem;
17419
17574
  font-weight: bold;
17420
17575
  }
17421
17576
 
17422
17577
  .about-update-link {
17423
- display: inline-block;
17424
- margin-left: 0.5rem;
17578
+ display: inline-flex;
17579
+ align-items: center;
17580
+ margin-left: auto;
17425
17581
  color: #3182ce;
17426
17582
  text-decoration: none;
17427
17583
  font-weight: 500;
@@ -17431,6 +17587,66 @@ body.task-list-open .task-list-side-trigger {
17431
17587
  text-decoration: underline;
17432
17588
  }
17433
17589
 
17590
+ .about-update-version-row {
17591
+ margin-top: 0.5rem;
17592
+ display: flex;
17593
+ align-items: center;
17594
+ flex-wrap: wrap;
17595
+ gap: 0.35rem;
17596
+ }
17597
+
17598
+ .about-update-version-arrow {
17599
+ opacity: 0.8;
17600
+ }
17601
+
17602
+ .about-update-command-row {
17603
+ margin-top: 0.6rem;
17604
+ display: flex;
17605
+ align-items: center;
17606
+ gap: 0.5rem;
17607
+ flex-wrap: nowrap;
17608
+ }
17609
+
17610
+ .about-update-command {
17611
+ white-space: nowrap;
17612
+ flex: 1;
17613
+ overflow: hidden;
17614
+ text-overflow: ellipsis;
17615
+ }
17616
+
17617
+ .about-copy-command-btn {
17618
+ display: inline-flex;
17619
+ align-items: center;
17620
+ justify-content: center;
17621
+ flex-shrink: 0;
17622
+ width: 28px;
17623
+ height: 28px;
17624
+ padding: 0;
17625
+ border: 1px solid var(--color-border);
17626
+ border-radius: var(--radius-small);
17627
+ background: var(--color-surface);
17628
+ color: var(--color-text-muted);
17629
+ cursor: pointer;
17630
+ transition: background-color 0.15s, color 0.15s;
17631
+ }
17632
+
17633
+ .about-copy-command-btn:hover {
17634
+ background: var(--color-surface-muted);
17635
+ color: var(--color-text);
17636
+ }
17637
+
17638
+ .about-copy-command-btn.copied {
17639
+ background-color: rgba(72, 187, 120, 0.2);
17640
+ border-color: rgba(72, 187, 120, 0.4);
17641
+ color: #2f855a;
17642
+ }
17643
+
17644
+ .about-update-help {
17645
+ margin-top: 0.6rem;
17646
+ display: block;
17647
+ opacity: 0.85;
17648
+ }
17649
+
17434
17650
  .about-update-status code {
17435
17651
  background-color: rgba(0, 0, 0, 0.1);
17436
17652
  padding: 0.125rem 0.25rem;
@@ -17438,6 +17654,12 @@ body.task-list-open .task-list-side-trigger {
17438
17654
  font-size: 0.85em;
17439
17655
  }
17440
17656
 
17657
+ @media (max-width: 640px) {
17658
+ .about-update-link {
17659
+ margin-left: 0;
17660
+ }
17661
+ }
17662
+
17441
17663
  .apikeys-list {
17442
17664
  display: flex;
17443
17665
  flex-direction: column;
@@ -18961,3 +19183,147 @@ body.task-list-open .task-list-side-trigger {
18961
19183
  border-color: var(--color-border);
18962
19184
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
18963
19185
  }
19186
+
19187
+ /* Task Progress Card Styles (New Design) */
19188
+ .task-progress-container {
19189
+ display: flex;
19190
+ flex-direction: column;
19191
+ gap: 24px;
19192
+ padding: 8px 4px 16px;
19193
+ }
19194
+
19195
+ .task-progress-header {
19196
+ display: flex;
19197
+ align-items: center;
19198
+ gap: 16px;
19199
+ }
19200
+
19201
+ .task-progress-track {
19202
+ flex: 1;
19203
+ height: 8px;
19204
+ background-color: #e2e8f0;
19205
+ border-radius: 4px;
19206
+ overflow: hidden;
19207
+ }
19208
+
19209
+ .task-progress-fill {
19210
+ height: 100%;
19211
+ background: linear-gradient(90deg, #10b981 0%, #3b82f6 100%);
19212
+ border-radius: 4px;
19213
+ transition: width 0.5s ease-out;
19214
+ }
19215
+
19216
+ .task-progress-text {
19217
+ font-size: 14px;
19218
+ font-weight: 600;
19219
+ color: var(--color-text-muted);
19220
+ min-width: 40px;
19221
+ text-align: right;
19222
+ }
19223
+
19224
+ .task-todo-list {
19225
+ display: flex;
19226
+ flex-direction: column;
19227
+ gap: 20px;
19228
+ position: relative;
19229
+ }
19230
+
19231
+ /* Vertical connector line */
19232
+ .task-todo-list::before {
19233
+ content: '';
19234
+ position: absolute;
19235
+ top: 14px;
19236
+ bottom: 14px;
19237
+ left: 14px;
19238
+ width: 2px;
19239
+ background-color: #e2e8f0;
19240
+ z-index: 0;
19241
+ }
19242
+
19243
+ .task-todo-item {
19244
+ display: flex;
19245
+ align-items: flex-start;
19246
+ gap: 16px;
19247
+ position: relative;
19248
+ z-index: 1;
19249
+ }
19250
+
19251
+ .task-todo-icon {
19252
+ width: 30px;
19253
+ height: 30px;
19254
+ border-radius: 50%;
19255
+ display: flex;
19256
+ align-items: center;
19257
+ justify-content: center;
19258
+ flex-shrink: 0;
19259
+ font-size: 13px;
19260
+ font-weight: 600;
19261
+ background-color: var(--color-surface); /* Mask the connector line */
19262
+ transition: all 0.2s ease;
19263
+ }
19264
+
19265
+ .task-todo-icon.icon-completed {
19266
+ background-color: #10b981;
19267
+ color: white;
19268
+ border: 2px solid #10b981;
19269
+ }
19270
+
19271
+ .task-todo-icon.icon-completed svg {
19272
+ width: 16px;
19273
+ height: 16px;
19274
+ }
19275
+
19276
+ .task-todo-icon.icon-in-progress {
19277
+ border: 2px solid #3b82f6;
19278
+ color: #3b82f6;
19279
+ background-color: var(--color-surface);
19280
+ }
19281
+
19282
+ .task-todo-icon.icon-in-progress svg {
19283
+ width: 16px;
19284
+ height: 16px;
19285
+ animation: task-spin 2s linear infinite;
19286
+ }
19287
+
19288
+ .task-todo-icon.icon-pending {
19289
+ border: 2px solid #e2e8f0;
19290
+ color: #94a3b8;
19291
+ background-color: var(--color-surface);
19292
+ }
19293
+
19294
+ .task-todo-content {
19295
+ font-size: 15px;
19296
+ line-height: 1.5;
19297
+ color: var(--color-text);
19298
+ padding-top: 3px;
19299
+ font-weight: 500;
19300
+ }
19301
+
19302
+ .task-todo-item.status-completed .task-todo-content {
19303
+ color: var(--color-text-muted);
19304
+ }
19305
+
19306
+ @keyframes task-spin {
19307
+ from { transform: rotate(0deg); }
19308
+ to { transform: rotate(360deg); }
19309
+ }
19310
+
19311
+ /* Dark mode adjustments */
19312
+ :root[data-theme="dark"] .task-progress-track {
19313
+ background-color: #1e293b;
19314
+ }
19315
+
19316
+ :root[data-theme="dark"] .task-todo-list::before {
19317
+ background-color: #1e293b;
19318
+ }
19319
+
19320
+ :root[data-theme="dark"] .task-todo-icon.icon-pending {
19321
+ border-color: #334155;
19322
+ color: #64748b;
19323
+ }
19324
+
19325
+ :root[data-theme="dark"] .task-todo-icon.icon-in-progress,
19326
+ :root[data-theme="dark"] .task-todo-icon.icon-pending {
19327
+ background-color: var(--color-surface);
19328
+ }
19329
+