@profoundlogic/coderflow-server 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/coder-server.js +1 -1
  2. package/dist/config.js +1 -1
  3. package/dist/lib/agent-keepalive.js +1 -1
  4. package/dist/lib/agent-models.js +1 -1
  5. package/dist/lib/api-keys.js +1 -1
  6. package/dist/lib/apiKeys.js +1 -1
  7. package/dist/lib/app-server-ports.js +1 -1
  8. package/dist/lib/auto-judge.js +1 -1
  9. package/dist/lib/automation-service.js +1 -1
  10. package/dist/lib/basic-auth.js +1 -1
  11. package/dist/lib/bindings.js +1 -1
  12. package/dist/lib/build-history.js +1 -1
  13. package/dist/lib/build-output-service.js +1 -1
  14. package/dist/lib/build-scheduler.js +1 -1
  15. package/dist/lib/build-service.js +1 -1
  16. package/dist/lib/ca-certificates.js +1 -1
  17. package/dist/lib/claude-oauth-refresh.js +1 -1
  18. package/dist/lib/cli/build.js +1 -1
  19. package/dist/lib/cli/cleanup-users.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/grant-admin.js +1 -1
  24. package/dist/lib/cli/init.js +1 -1
  25. package/dist/lib/cli/jira.js +1 -1
  26. package/dist/lib/cli/license.js +1 -1
  27. package/dist/lib/cli/list-roles.js +1 -1
  28. package/dist/lib/cli/list-users.js +1 -1
  29. package/dist/lib/cli/server-manager.js +1 -1
  30. package/dist/lib/cli/set-password.js +1 -1
  31. package/dist/lib/config-migration.js +1 -1
  32. package/dist/lib/container-credential-sync.js +1 -1
  33. package/dist/lib/container-tokens.js +1 -1
  34. package/dist/lib/data-dir.js +1 -1
  35. package/dist/lib/deployment-history.js +1 -1
  36. package/dist/lib/deployment-service.js +1 -1
  37. package/dist/lib/docker-utils.js +1 -1
  38. package/dist/lib/email.js +1 -1
  39. package/dist/lib/emailTemplates.js +1 -1
  40. package/dist/lib/entitlement.js +1 -1
  41. package/dist/lib/external-connections.js +1 -1
  42. package/dist/lib/fetch-utils.js +1 -1
  43. package/dist/lib/git-commit-details-route.js +1 -1
  44. package/dist/lib/git-history-diff-guardrails.js +1 -1
  45. package/dist/lib/git-provider-service.js +1 -1
  46. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -1
  47. package/dist/lib/git-provider-setup/index.js +1 -1
  48. package/dist/lib/git-provider-setup/setup-factory.js +1 -1
  49. package/dist/lib/git-provider-setup/setup-interface.js +1 -1
  50. package/dist/lib/git-providers/azure-devops-provider.js +1 -1
  51. package/dist/lib/git-providers/github-app-provider.js +1 -1
  52. package/dist/lib/git-providers/index.js +1 -1
  53. package/dist/lib/git-providers/provider-factory.js +1 -1
  54. package/dist/lib/git-providers/provider-interface.js +1 -1
  55. package/dist/lib/github-urls.js +1 -1
  56. package/dist/lib/group-objective-linking.js +1 -1
  57. package/dist/lib/ibmi-sync.js +1 -1
  58. package/dist/lib/jira-client.js +1 -1
  59. package/dist/lib/judge-blinding.js +1 -1
  60. package/dist/lib/logger.js +1 -1
  61. package/dist/lib/migration-to-scoped-rbac.js +1 -1
  62. package/dist/lib/model-fetcher.js +1 -1
  63. package/dist/lib/notifications.js +1 -1
  64. package/dist/lib/objective-context.js +1 -1
  65. package/dist/lib/oidc-auth.js +1 -1
  66. package/dist/lib/oidc-device-flow.js +1 -1
  67. package/dist/lib/passwordTokens.js +1 -1
  68. package/dist/lib/permission-resolver.js +1 -1
  69. package/dist/lib/pin-cascade.js +1 -1
  70. package/dist/lib/provider-accounts.js +1 -1
  71. package/dist/lib/provider-oauth.js +1 -1
  72. package/dist/lib/provider-profile.js +1 -1
  73. package/dist/lib/provider-token-refresh.js +1 -1
  74. package/dist/lib/rbac-user-state.js +1 -1
  75. package/dist/lib/request-url.js +1 -1
  76. package/dist/lib/rewind.js +1 -1
  77. package/dist/lib/role-definitions.js +1 -1
  78. package/dist/lib/roles.js +1 -1
  79. package/dist/lib/secrets.js +1 -1
  80. package/dist/lib/setup-repo-git-auth.js +1 -1
  81. package/dist/lib/state-capture.js +1 -1
  82. package/dist/lib/static-files.js +1 -1
  83. package/dist/lib/task-name-format.js +1 -1
  84. package/dist/lib/task-name-generator.js +1 -1
  85. package/dist/lib/task-source-metadata.js +1 -1
  86. package/dist/lib/teams.js +1 -1
  87. package/dist/lib/user-git-oauth.js +1 -1
  88. package/dist/lib/user-git-tokens.js +1 -1
  89. package/dist/lib/users.js +1 -1
  90. package/dist/middleware/requireAuth.js +1 -1
  91. package/dist/middleware/requireInit.js +1 -1
  92. package/dist/middleware/requirePermission.js +1 -1
  93. package/dist/package.json +1 -1
  94. package/dist/playwright.config.js +1 -1
  95. package/dist/routes/apiKeys.js +1 -1
  96. package/dist/routes/auth-oidc.js +1 -1
  97. package/dist/routes/auth.js +1 -1
  98. package/dist/routes/automations.js +1 -1
  99. package/dist/routes/bindings.js +1 -1
  100. package/dist/routes/build.js +1 -1
  101. package/dist/routes/containers.js +1 -1
  102. package/dist/routes/deploy-task.js +1 -1
  103. package/dist/routes/environment-management.js +1 -1
  104. package/dist/routes/environments.js +1 -1
  105. package/dist/routes/external-skills.js +1 -1
  106. package/dist/routes/git-credentials.js +1 -1
  107. package/dist/routes/git-oauth.js +1 -1
  108. package/dist/routes/git-provider-setup.js +1 -1
  109. package/dist/routes/health.js +1 -1
  110. package/dist/routes/jira.js +1 -1
  111. package/dist/routes/objective-management.js +1 -1
  112. package/dist/routes/password.js +1 -1
  113. package/dist/routes/prompt.js +1 -1
  114. package/dist/routes/provider-auth.js +1 -1
  115. package/dist/routes/qa.js +1 -1
  116. package/dist/routes/roles.js +1 -1
  117. package/dist/routes/settings.js +1 -1
  118. package/dist/routes/skill-management.js +1 -1
  119. package/dist/routes/skills.js +1 -1
  120. package/dist/routes/tasks.js +1 -1
  121. package/dist/routes/teams.js +1 -1
  122. package/dist/routes/templates.js +1 -1
  123. package/dist/routes/test-task.js +1 -1
  124. package/dist/routes/test.js +1 -1
  125. package/dist/routes/users.js +1 -1
  126. package/dist/routes/visualizations.js +1 -1
  127. package/dist/scripts/create-user.js +1 -1
  128. package/dist/scripts/migrate-config-to-data-dir.js +1 -1
  129. package/dist/start.js +1 -1
  130. package/dist/web-ui/public/activity-detail-modal.js +1 -1
  131. package/dist/web-ui/public/activity-feed.js +1 -1
  132. package/dist/web-ui/public/activity-formatters.js +1 -1
  133. package/dist/web-ui/public/agent-event-parser.js +1 -1
  134. package/dist/web-ui/public/app.js +1 -1
  135. package/dist/web-ui/public/approve-dialog.js +1 -1
  136. package/dist/web-ui/public/automation-links.js +1 -1
  137. package/dist/web-ui/public/automation-schedule.js +1 -1
  138. package/dist/web-ui/public/comments-widget.js +1 -1
  139. package/dist/web-ui/public/diff-utils.js +1 -1
  140. package/dist/web-ui/public/environments.js +1 -1
  141. package/dist/web-ui/public/feedback-widget.js +1 -1
  142. package/dist/web-ui/public/git-history-lazy-utils.js +1 -1
  143. package/dist/web-ui/public/git-history.js +1 -1
  144. package/dist/web-ui/public/git-status.js +1 -1
  145. package/dist/web-ui/public/index.js +1 -1
  146. package/dist/web-ui/public/login.js +1 -1
  147. package/dist/web-ui/public/markdown-editor.js +1 -1
  148. package/dist/web-ui/public/markdown-file-editor.js +1 -1
  149. package/dist/web-ui/public/modal-maximize.js +1 -1
  150. package/dist/web-ui/public/notifications.js +1 -1
  151. package/dist/web-ui/public/pr-dialog.js +1 -1
  152. package/dist/web-ui/public/roles.js +1 -1
  153. package/dist/web-ui/public/server-health.js +1 -1
  154. package/dist/web-ui/public/settings.js +1 -1
  155. package/dist/web-ui/public/setup-password.js +1 -1
  156. package/dist/web-ui/public/skills.js +1 -1
  157. package/dist/web-ui/public/sse-client.js +1 -1
  158. package/dist/web-ui/public/sse-shared-worker.js +1 -1
  159. package/dist/web-ui/public/task.js +1 -1
  160. package/dist/web-ui/public/teams.js +1 -1
  161. package/dist/web-ui/public/terminal.js +1 -1
  162. package/dist/web-ui/public/theme.js +1 -1
  163. package/dist/web-ui/public/users.js +1 -1
  164. package/dist/web-ui/public/variant-grouping.js +1 -1
  165. package/package.json +1 -1
@@ -1 +1 @@
1
- const _0x4e6bd4=_0x3871;function _0x441c(){const _0x4f953d=['zgLYzwn0','ywn0AxzPDhK','C3vIC2nYAwjLvgfZAW','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbWyxjZzsa','B25TzxnZywDL','x2HHBMrSzvrHC2TtDhjLyw1nzxnZywDL','w1ntrsbdBgLLBNrDierPCMvJDcbtu0uGzxjYB3i6','BwLU','BwvZC2fNzq','CxvLDwuTCg9ZAxrPB24','B3bLBG','nZK5mteZBLrAqxnn','B2zM','DgfZA0LK','w1ntrsbdBgLLBNrDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','zxjYB3i','igrHDge6','igXPC3rLBMvYoG','zgLZy29UBMvJDa','CgfYC2u','C25HChnOB3q','x3rHC2TtDwjZy3jPChrPB25Z','C3rHCNq','yMLUza','DxnLCKLK','x2nVBM5Ly3rwAwfxB3jRzxi','x2HHBMrSzvDVCMTLCK1LC3nHz2u','l3rHC2TZl3vWzgf0zxm','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbKAxjLy3qGu1nfoG','w1ntrsbdBgLLBNrDievYCM9YigLUihrHC2SG','w1ntrsbdBgLLBNrDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','Cg93','Cg9ZDe1LC3nHz2u','C2v0','ywrKrxzLBNrmAxn0zw5LCG','w1ntrsbdBgLLBNrDifvUA25VD24GBwvZC2fNzsb0ExbLoG','mZq2ndq0vLDJu0Lh','B25TzxnZywDLzxjYB3i','y29UBMvJDa','B25fCNjVCG','DxnLu2HHCMvKv29YA2vY','CMvJB25Uzwn0vgLTzw91Da','w1ntrsbdBgLLBNrDievYCM9YihbHCNnPBMCGDgfZAYa','mtu2otq3r3LYB1rk','DgfZAZO','BwfW','mZu4nZi0mezIANvMCW','yxbWlxnLCNzLCI1ZDgf0Dxm','D29YA2vY','Bwv0ywrHDge','y2XVC2u','B25dB25Uzwn0zwq','y2HHBMDLrMLSDgvY','y2HHCKf0','Dw5ZDwjZy3jPyMvuyxnR','C2L6zq','mJbnA2D1ufO','x3nJAgvKDwXLuMvJB25Uzwn0','zxzLBNrtB3vYy2u','DhLWzq','BMv3lxrHC2S','CMvJB25Uzwn0qxr0zw1WDhm','w1ntrsbdBgLLBNrDifnOyxjLzfDVCMTLCIbMywLSzwqGzM9YihrHC2SGC3vIlcbMywXSAw5NigjHy2S6','Dw5KzwzPBMvK','C3rYAw5N','mtG5m1f1CMjoBW','nZrjDMXyruu','z2v0','q29UBMvJDgLVBIbLCNjVCG','x3n1yNnJCMLIzvrHC2TeAxjLy3q','zgf0yq','x3vUC3vIC2nYAwjLvgfZA0rPCMvJDa','mtm1nJbev0P3tfi','ywrK','ndm4mJuXme5vCvrnrq','l3nZzs1ZAgfYzwqTD29YA2vYlMPZ','x2nVBM5Ly3reAxjLy3q','AxndB25Uzwn0zwq','x2vUC3vYzvDVCMTLCG','zM9YrwfJAa','AgfUzgXLCNm','l3rHC2TZlW','mZG3uMrwDMnJ','x3n1yNnJCMLIzvrHC2TwAwfxB3jRzxi','Bg9NCW','AgfZ','x3rHC2TtDwjjzenVDw50zxi','zgvSzxrL','CMvWBgfJzq','D2fYBG','x2vTAxq','v29YA2vYig1LC3nHz2uGzxjYB3i','p3vZzxjjzd0','y2XLyxi','w1ntrsbdBgLLBNrDievYCM9YigLUia','AM9PBG','C3rHDhvZ','Cg9YDa','BgLZDgvUzxjZ','x2HHBMrSzurPCMvJDfntrq','x3vUC3vIC2nYAwjLvgfZA1DVCMTLCG','ndjpvxPot2G','y29UBMvJDgvK'];_0x441c=function(){return _0x4f953d;};return _0x441c();}(function(_0x25966b,_0x7cccf8){const _0x3b8907=_0x3871,_0x119e33=_0x25966b();while(!![]){try{const _0x555ef9=parseInt(_0x3b8907(0x11c))/0x1*(parseInt(_0x3b8907(0x11d))/0x2)+-parseInt(_0x3b8907(0x14d))/0x3+-parseInt(_0x3b8907(0x166))/0x4*(-parseInt(_0x3b8907(0x113))/0x5)+parseInt(_0x3b8907(0x140))/0x6*(parseInt(_0x3b8907(0x16d))/0x7)+-parseInt(_0x3b8907(0x123))/0x8*(parseInt(_0x3b8907(0x12d))/0x9)+-parseInt(_0x3b8907(0x170))/0xa+parseInt(_0x3b8907(0x125))/0xb;if(_0x555ef9===_0x7cccf8)break;else _0x119e33['push'](_0x119e33['shift']());}catch(_0x4311ed){_0x119e33['push'](_0x119e33['shift']());}}}(_0x441c,0x42dc6));function _0x3871(_0x303d76,_0x297eec){_0x303d76=_0x303d76-0x10e;const _0x441cf0=_0x441c();let _0x3871f1=_0x441cf0[_0x303d76];if(_0x3871['KkHYSP']===undefined){var _0x3d8d5f=function(_0x21822c){const _0x47698b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa38cc0='',_0x5e1f54='';for(let _0x542e72=0x0,_0x190020,_0x154ae6,_0x2765c5=0x0;_0x154ae6=_0x21822c['charAt'](_0x2765c5++);~_0x154ae6&&(_0x190020=_0x542e72%0x4?_0x190020*0x40+_0x154ae6:_0x154ae6,_0x542e72++%0x4)?_0xa38cc0+=String['fromCharCode'](0xff&_0x190020>>(-0x2*_0x542e72&0x6)):0x0){_0x154ae6=_0x47698b['indexOf'](_0x154ae6);}for(let _0xba5c1e=0x0,_0x441699=_0xa38cc0['length'];_0xba5c1e<_0x441699;_0xba5c1e++){_0x5e1f54+='%'+('00'+_0xa38cc0['charCodeAt'](_0xba5c1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e1f54);};_0x3871['QPeSmi']=_0x3d8d5f,_0x3871['GgDUKH']={},_0x3871['KkHYSP']=!![];}const _0x4d4c6c=_0x441cf0[0x0],_0x15c97a=_0x303d76+_0x4d4c6c,_0x46a427=_0x3871['GgDUKH'][_0x15c97a];return!_0x46a427?(_0x3871f1=_0x3871['QPeSmi'](_0x3871f1),_0x3871['GgDUKH'][_0x15c97a]=_0x3871f1):_0x3871f1=_0x46a427,_0x3871f1;}function isSharedWorkerSupported(){const _0x62d9f=_0x3871;return typeof SharedWorker!==_0x62d9f(0x11a);}function eventTypeToHandler(_0xa38cc0){const _0x360dd7=_0x3871;if(_0xa38cc0===_0x360dd7(0x141))return'onConnected';if(_0xa38cc0===_0x360dd7(0x151))return'onError';return'on'+_0xa38cc0['split']('-')[_0x360dd7(0x16f)](_0x5e1f54=>_0x5e1f54[_0x360dd7(0x110)](0x0)['toUpperCase']()+_0x5e1f54['slice'](0x1))[_0x360dd7(0x13a)]('');}const TASK_STREAM_EVENTS=['activity',_0x4e6bd4(0x12f),_0x4e6bd4(0x173),'summary','changed-files',_0x4e6bd4(0x171),'complete'];export class TaskUpdatesClient{constructor(){const _0x3a2b07=_0x4e6bd4;this[_0x3a2b07(0x13d)]=new Map(),this[_0x3a2b07(0x172)]=null,this[_0x3a2b07(0x13c)]=null,this['eventSource']=null,this[_0x3a2b07(0x15a)]=null,this[_0x3a2b07(0x16b)]=null,this[_0x3a2b07(0x118)]=0x0,this[_0x3a2b07(0x16a)]=isSharedWorkerSupported(),this[_0x3a2b07(0x141)]=![],this['_taskSubscriptions']=new Map(),this[_0x3a2b07(0x131)]=0x0,this[_0x3a2b07(0x15c)]=this[_0x3a2b07(0x15c)][_0x3a2b07(0x159)](this),this[_0x3a2b07(0x13e)]=this['_handleDirectSSE'][_0x3a2b07(0x159)](this);}['on'](_0x542e72,_0x190020){const _0x4abe96=_0x4e6bd4;return!this[_0x4abe96(0x13d)][_0x4abe96(0x130)](_0x542e72)&&this[_0x4abe96(0x13d)][_0x4abe96(0x163)](_0x542e72,new Set()),this[_0x4abe96(0x13d)]['get'](_0x542e72)[_0x4abe96(0x124)](_0x190020),this;}[_0x4e6bd4(0x14e)](_0x154ae6,_0x2765c5){const _0x3b106e=_0x4e6bd4;return this[_0x3b106e(0x13d)][_0x3b106e(0x130)](_0x154ae6)&&this[_0x3b106e(0x13d)]['get'](_0x154ae6)[_0x3b106e(0x132)](_0x2765c5),this;}['_emit'](_0xba5c1e,_0x441699){const _0x1089df=_0x4e6bd4;this[_0x1089df(0x13d)]['has'](_0xba5c1e)&&this[_0x1089df(0x13d)]['get'](_0xba5c1e)[_0x1089df(0x12a)](_0x49fee0=>{const _0x5ad4d8=_0x1089df;try{_0x49fee0(_0x441699);}catch(_0x5e96f5){console['error'](_0x5ad4d8(0x139)+_0xba5c1e+_0x5ad4d8(0x153),_0x5e96f5);}});}[_0x4e6bd4(0x168)](_0x96c859='me'){const _0x542c60=_0x4e6bd4;this[_0x542c60(0x15a)]=_0x96c859,this['useSharedWorker']?this[_0x542c60(0x15b)](_0x96c859):this[_0x542c60(0x127)](_0x96c859);}['_connectViaWorker'](_0x3da40d){const _0x369c11=_0x4e6bd4;try{this[_0x369c11(0x129)](),this[_0x369c11(0x13c)][_0x369c11(0x162)]({'action':_0x369c11(0x168),'userId':_0x3da40d});}catch(_0x3fc8c8){console[_0x369c11(0x151)](_0x369c11(0x15e),_0x3fc8c8),this[_0x369c11(0x16a)]=![],this[_0x369c11(0x127)](_0x3da40d);}}[_0x4e6bd4(0x129)](){const _0x18e570=_0x4e6bd4;!this[_0x18e570(0x172)]&&(this[_0x18e570(0x172)]=new SharedWorker(_0x18e570(0x126)),this[_0x18e570(0x13c)]=this[_0x18e570(0x172)][_0x18e570(0x13c)],this[_0x18e570(0x13c)][_0x18e570(0x146)]=this[_0x18e570(0x15c)],this['port'][_0x18e570(0x167)]=_0x35e42a=>{const _0x4ae8b4=_0x18e570;console[_0x4ae8b4(0x151)]('[SSE\x20Client]\x20Worker\x20message\x20error:',_0x35e42a),this['_emit']('error',{'error':_0x4ae8b4(0x136)});},this['port'][_0x18e570(0x158)]());}[_0x4e6bd4(0x15c)](_0x4bf0ca){const _0x1dc4df=_0x4e6bd4,_0x5f1a14=_0x4bf0ca[_0x1dc4df(0x121)];if(_0x5f1a14[_0x1dc4df(0x116)]&&_0x5f1a14[_0x1dc4df(0x116)]['startsWith'](_0x1dc4df(0x16e))){this['_handleTaskStreamMessage'](_0x5f1a14);return;}switch(_0x5f1a14[_0x1dc4df(0x116)]){case _0x1dc4df(0x141):this[_0x1dc4df(0x141)]=!![],this['_emit'](_0x1dc4df(0x141),{});break;case'snapshot':case _0x1dc4df(0x143):case'status':case _0x1dc4df(0x117):case _0x1dc4df(0x14b):try{const _0x861d33=JSON[_0x1dc4df(0x155)](_0x5f1a14['data']);this[_0x1dc4df(0x135)](_0x5f1a14[_0x1dc4df(0x116)],_0x861d33);}catch(_0x5cb5a3){console[_0x1dc4df(0x151)](_0x1dc4df(0x145)+_0x5f1a14[_0x1dc4df(0x116)]+_0x1dc4df(0x152),_0x5cb5a3);}break;case'error':this['connected']=![],this[_0x1dc4df(0x135)](_0x1dc4df(0x151),_0x5f1a14);break;default:console[_0x1dc4df(0x134)](_0x1dc4df(0x165),_0x5f1a14[_0x1dc4df(0x116)]);}}[_0x4e6bd4(0x147)](_0x269d24){const _0x5aa013=_0x4e6bd4,{taskId:_0x4ca826,type:_0x4617f8,data:_0x321010}=_0x269d24,_0x38b934=this['_taskSubscriptions'][_0x5aa013(0x11e)](_0x4ca826);if(!_0x38b934||_0x38b934[_0x5aa013(0x112)]===0x0)return;const _0x4377ae=_0x4617f8[_0x5aa013(0x133)](_0x5aa013(0x16e),''),_0x38c603=eventTypeToHandler(_0x4377ae);_0x38b934[_0x5aa013(0x12a)](_0x2fecce=>{const _0x329f37=_0x5aa013;if(_0x2fecce[_0x329f37(0x12b)][_0x38c603])try{const _0x22f7c5=typeof _0x321010===_0x329f37(0x11b)?JSON['parse'](_0x321010):_0x321010;_0x2fecce['handlers'][_0x38c603](_0x22f7c5);}catch(_0x37afbe){console[_0x329f37(0x151)](_0x329f37(0x15f)+_0x4377ae+'\x20handler:',_0x37afbe);}});}['_connectDirect'](_0x43e107){const _0x4d14ce=_0x4e6bd4;this[_0x4d14ce(0x115)]&&(this[_0x4d14ce(0x115)][_0x4d14ce(0x174)](),this[_0x4d14ce(0x115)]=null);const _0x3bde5f=_0x43e107&&_0x43e107!=='me'?_0x4d14ce(0x137)+_0x43e107:'';try{this[_0x4d14ce(0x115)]=new EventSource(_0x4d14ce(0x15d)+_0x3bde5f),this[_0x4d14ce(0x115)][_0x4d14ce(0x164)](_0x4d14ce(0x14c),()=>{const _0x3fa167=_0x4d14ce;this[_0x3fa167(0x141)]=!![],this[_0x3fa167(0x118)]=0x0,this['_emit']('connected',{});}),this[_0x4d14ce(0x115)][_0x4d14ce(0x164)](_0x4d14ce(0x156),_0x56b54c=>{const _0x2c6fa4=_0x4d14ce;this[_0x2c6fa4(0x13e)](_0x2c6fa4(0x156),_0x56b54c),this['reconnectAttempts']=0x0;}),this[_0x4d14ce(0x115)][_0x4d14ce(0x164)](_0x4d14ce(0x143),_0x67d01f=>{const _0x5a411b=_0x4d14ce;this[_0x5a411b(0x13e)](_0x5a411b(0x143),_0x67d01f);}),this[_0x4d14ce(0x115)][_0x4d14ce(0x164)]('status',_0x4a3b79=>{const _0x1c4a0d=_0x4d14ce;this[_0x1c4a0d(0x13e)](_0x1c4a0d(0x13b),_0x4a3b79);}),this[_0x4d14ce(0x115)][_0x4d14ce(0x164)](_0x4d14ce(0x117),_0x1798d5=>{const _0x48c91d=_0x4d14ce;this[_0x48c91d(0x13e)](_0x48c91d(0x117),_0x1798d5);}),this[_0x4d14ce(0x115)][_0x4d14ce(0x164)]('queue-position',_0x46ac6c=>{this['_handleDirectSSE']('queue-position',_0x46ac6c);}),this[_0x4d14ce(0x115)][_0x4d14ce(0x164)]('error',_0x5a8a3a=>{const _0x4cd50d=_0x4d14ce;console[_0x4cd50d(0x151)](_0x4cd50d(0x148),_0x5a8a3a),this[_0x4cd50d(0x141)]=![],this['_emit'](_0x4cd50d(0x151),{'error':_0x4cd50d(0x11f)}),this['eventSource']&&(this[_0x4cd50d(0x115)][_0x4cd50d(0x174)](),this[_0x4cd50d(0x115)]=null),this[_0x4cd50d(0x114)]();});}catch(_0x1e0af6){console[_0x4d14ce(0x151)](_0x4d14ce(0x150),_0x1e0af6),this[_0x4d14ce(0x135)](_0x4d14ce(0x151),{'error':_0x1e0af6[_0x4d14ce(0x14a)]}),this[_0x4d14ce(0x114)]();}}[_0x4e6bd4(0x13e)](_0x4dad44,_0x2a4fe6){const _0x51b0e6=_0x4e6bd4;try{const _0x73996a=JSON[_0x51b0e6(0x155)](_0x2a4fe6['data']);this['_emit'](_0x4dad44,_0x73996a);}catch(_0x3409e9){console[_0x51b0e6(0x151)]('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x4dad44+'\x20data:',_0x3409e9);}}['_scheduleReconnect'](){const _0x4c5cbb=_0x4e6bd4;this[_0x4c5cbb(0x16b)]&&clearTimeout(this[_0x4c5cbb(0x16b)]);const _0x220b3a=Math[_0x4c5cbb(0x149)](0x3e8*Math[_0x4c5cbb(0x161)](0x2,this['reconnectAttempts']),0x7530);this[_0x4c5cbb(0x118)]++,console['log'](_0x4c5cbb(0x160)+_0x220b3a+'ms'),this[_0x4c5cbb(0x16b)]=setTimeout(()=>{const _0x656d50=_0x4c5cbb;this['_connectDirect'](this[_0x656d50(0x15a)]);},_0x220b3a);}[_0x4e6bd4(0x10f)](_0x3c2cb7){const _0x158bd2=_0x4e6bd4;if(_0x3c2cb7===this[_0x158bd2(0x15a)])return;this[_0x158bd2(0x15a)]=_0x3c2cb7;if(this[_0x158bd2(0x16a)]&&this[_0x158bd2(0x13c)])this[_0x158bd2(0x13c)][_0x158bd2(0x162)]({'action':_0x158bd2(0x10f),'userId':_0x3c2cb7});else this[_0x158bd2(0x115)]&&this[_0x158bd2(0x127)](_0x3c2cb7);}['subscribeTask'](_0x47e560,_0x3fe50e){const _0x2b6bf8=_0x4e6bd4;return this[_0x2b6bf8(0x16a)]?this[_0x2b6bf8(0x12e)](_0x47e560,_0x3fe50e):this[_0x2b6bf8(0x120)](_0x47e560,_0x3fe50e);}[_0x4e6bd4(0x111)](_0x251027){const _0x37edc5=_0x4e6bd4;if(!_0x251027)return;_0x251027['type']===_0x37edc5(0x172)?this[_0x37edc5(0x13f)](_0x251027):this[_0x37edc5(0x122)](_0x251027);}['_subscribeTaskViaWorker'](_0x1773cd,_0x22c126){const _0x35b085=_0x4e6bd4;try{this['_ensureWorker']();}catch(_0x26671e){return console[_0x35b085(0x151)](_0x35b085(0x119),_0x26671e),this[_0x35b085(0x16a)]=![],this[_0x35b085(0x120)](_0x1773cd,_0x22c126);}const _0x29a06f=++this['_taskSubIdCounter'],_0x22efe4={'type':'worker','taskId':_0x1773cd,'handlers':_0x22c126,'id':_0x29a06f};return!this[_0x35b085(0x157)][_0x35b085(0x130)](_0x1773cd)&&(this[_0x35b085(0x157)][_0x35b085(0x163)](_0x1773cd,new Set()),this[_0x35b085(0x13c)][_0x35b085(0x162)]({'action':_0x35b085(0x144),'taskId':_0x1773cd})),this[_0x35b085(0x157)]['get'](_0x1773cd)['add'](_0x22efe4),_0x22efe4;}[_0x4e6bd4(0x13f)](_0x113693){const _0x4a9b1d=_0x4e6bd4,{taskId:_0x40c4fe}=_0x113693,_0x156c9e=this[_0x4a9b1d(0x157)][_0x4a9b1d(0x11e)](_0x40c4fe);if(_0x156c9e){_0x156c9e[_0x4a9b1d(0x132)](_0x113693);if(_0x156c9e[_0x4a9b1d(0x112)]===0x0){this['_taskSubscriptions'][_0x4a9b1d(0x132)](_0x40c4fe);try{this[_0x4a9b1d(0x13c)]&&this[_0x4a9b1d(0x13c)]['postMessage']({'action':_0x4a9b1d(0x111),'taskId':_0x40c4fe});}catch(_0x573d5c){}}}}[_0x4e6bd4(0x120)](_0x51f18e,_0x3f43c6){const _0x4ea400=_0x4e6bd4,_0x1afc92=++this[_0x4ea400(0x131)],_0x3f3148=new EventSource(_0x4ea400(0x12c)+_0x51f18e+'/stream'),_0x5b2a85={'type':_0x4ea400(0x142),'taskId':_0x51f18e,'handlers':_0x3f43c6,'id':_0x1afc92,'eventSource':_0x3f3148};!this['_taskSubscriptions'][_0x4ea400(0x130)](_0x51f18e)&&this[_0x4ea400(0x157)][_0x4ea400(0x163)](_0x51f18e,new Set());this['_taskSubscriptions']['get'](_0x51f18e)[_0x4ea400(0x124)](_0x5b2a85);for(const _0xab35e5 of TASK_STREAM_EVENTS){const _0x36fd51=eventTypeToHandler(_0xab35e5);_0x3f3148[_0x4ea400(0x164)](_0xab35e5,_0x3bda2b=>{const _0x30f1f3=_0x4ea400;if(_0x3f43c6[_0x36fd51])try{const _0xda702e=JSON[_0x30f1f3(0x155)](_0x3bda2b[_0x30f1f3(0x121)]);_0x3f43c6[_0x36fd51](_0xda702e);}catch(_0x3bab18){console['error'](_0x30f1f3(0x16c)+_0xab35e5+':',_0x3bab18);}});}return _0x3f3148[_0x4ea400(0x164)](_0x4ea400(0x14c),()=>{const _0x3b82fc=_0x4ea400;if(_0x3f43c6[_0x3b82fc(0x10e)])_0x3f43c6['onConnected']();}),_0x3f3148[_0x4ea400(0x164)](_0x4ea400(0x151),()=>{const _0x5e9cc6=_0x4ea400;if(_0x3f43c6[_0x5e9cc6(0x169)])_0x3f43c6[_0x5e9cc6(0x169)]({'error':_0x5e9cc6(0x11f)});}),_0x5b2a85;}['_unsubscribeTaskDirect'](_0x1bef54){const _0x43fd99=_0x4e6bd4;_0x1bef54[_0x43fd99(0x115)]&&(_0x1bef54[_0x43fd99(0x115)][_0x43fd99(0x174)](),_0x1bef54[_0x43fd99(0x115)]=null);const _0x31822b=this[_0x43fd99(0x157)][_0x43fd99(0x11e)](_0x1bef54[_0x43fd99(0x14f)]);_0x31822b&&(_0x31822b['delete'](_0x1bef54),_0x31822b[_0x43fd99(0x112)]===0x0&&this['_taskSubscriptions'][_0x43fd99(0x132)](_0x1bef54[_0x43fd99(0x14f)]));}[_0x4e6bd4(0x154)](){const _0x47d5fc=_0x4e6bd4;this['reconnectTimeout']&&(clearTimeout(this['reconnectTimeout']),this[_0x47d5fc(0x16b)]=null);this[_0x47d5fc(0x157)][_0x47d5fc(0x12a)]((_0x42088a,_0x5ad8a2)=>{const _0x5db5fb=_0x47d5fc;_0x42088a[_0x5db5fb(0x12a)](_0x200e2d=>{const _0x1192e4=_0x5db5fb;_0x200e2d['type']===_0x1192e4(0x142)&&_0x200e2d[_0x1192e4(0x115)]&&_0x200e2d[_0x1192e4(0x115)][_0x1192e4(0x174)]();});}),this[_0x47d5fc(0x157)][_0x47d5fc(0x138)]();if(this[_0x47d5fc(0x16a)]&&this[_0x47d5fc(0x13c)])try{this[_0x47d5fc(0x13c)][_0x47d5fc(0x162)]({'action':_0x47d5fc(0x154)});}catch(_0x2334cc){}this[_0x47d5fc(0x115)]&&(this['eventSource'][_0x47d5fc(0x174)](),this['eventSource']=null),this['connected']=![];}[_0x4e6bd4(0x128)](){return this['connected'];}['isUsingSharedWorker'](){const _0xaf770c=_0x4e6bd4;return this[_0xaf770c(0x16a)];}}let globalClient=null;export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
1
+ function isSharedWorkerSupported(){return typeof SharedWorker!=='undefined';}function eventTypeToHandler(_0x1f13e1){if(_0x1f13e1==='connected')return'onConnected';if(_0x1f13e1==='error')return'onError';return'on'+_0x1f13e1['split']('-')['map'](_0x3ef852=>_0x3ef852['charAt'](0x0)['toUpperCase']()+_0x3ef852['slice'](0x1))['join']('');}const TASK_STREAM_EVENTS=['activity','logs','metadata','summary','changed-files','app-server-status','complete'];export class TaskUpdatesClient{constructor(){this['listeners']=new Map(),this['worker']=null,this['port']=null,this['eventSource']=null,this['userId']=null,this['reconnectTimeout']=null,this['reconnectAttempts']=0x0,this['useSharedWorker']=isSharedWorkerSupported(),this['connected']=![],this['_taskSubscriptions']=new Map(),this['_taskSubIdCounter']=0x0,this['_handleWorkerMessage']=this['_handleWorkerMessage']['bind'](this),this['_handleDirectSSE']=this['_handleDirectSSE']['bind'](this);}['on'](_0x490f42,_0x2f80b1){return!this['listeners']['has'](_0x490f42)&&this['listeners']['set'](_0x490f42,new Set()),this['listeners']['get'](_0x490f42)['add'](_0x2f80b1),this;}['off'](_0x316541,_0x3f01c9){return this['listeners']['has'](_0x316541)&&this['listeners']['get'](_0x316541)['delete'](_0x3f01c9),this;}['_emit'](_0x27ad80,_0xbdaaaa){this['listeners']['has'](_0x27ad80)&&this['listeners']['get'](_0x27ad80)['forEach'](_0x497a01=>{try{_0x497a01(_0xbdaaaa);}catch(_0x568019){console['error']('[SSE\x20Client]\x20Error\x20in\x20'+_0x27ad80+'\x20listener:',_0x568019);}});}['connect'](_0x15027c='me'){this['userId']=_0x15027c,this['useSharedWorker']?this['_connectViaWorker'](_0x15027c):this['_connectDirect'](_0x15027c);}['_connectViaWorker'](_0x125c6e){try{this['_ensureWorker'](),this['port']['postMessage']({'action':'connect','userId':_0x125c6e});}catch(_0xc6ff28){console['error']('[SSE\x20Client]\x20SharedWorker\x20failed,\x20falling\x20back\x20to\x20direct\x20SSE:',_0xc6ff28),this['useSharedWorker']=![],this['_connectDirect'](_0x125c6e);}}['_ensureWorker'](){!this['worker']&&(this['worker']=new SharedWorker('/sse-shared-worker.js'),this['port']=this['worker']['port'],this['port']['onmessage']=this['_handleWorkerMessage'],this['port']['onmessageerror']=_0x4b05e5=>{console['error']('[SSE\x20Client]\x20Worker\x20message\x20error:',_0x4b05e5),this['_emit']('error',{'error':'Worker\x20message\x20error'});},this['port']['start']());}['_handleWorkerMessage'](_0x126e6d){const _0x3b5bf4=_0x126e6d['data'];if(_0x3b5bf4['type']&&_0x3b5bf4['type']['startsWith']('task:')){this['_handleTaskStreamMessage'](_0x3b5bf4);return;}switch(_0x3b5bf4['type']){case'connected':this['connected']=!![],this['_emit']('connected',{});break;case'snapshot':case'activity':case'status':case'new-task':case'queue-position':try{const _0x50b666=JSON['parse'](_0x3b5bf4['data']);this['_emit'](_0x3b5bf4['type'],_0x50b666);}catch(_0x307925){console['error']('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x3b5bf4['type']+'\x20data:',_0x307925);}break;case'error':this['connected']=![],this['_emit']('error',_0x3b5bf4);break;default:console['warn']('[SSE\x20Client]\x20Unknown\x20message\x20type:',_0x3b5bf4['type']);}}['_handleTaskStreamMessage'](_0x580558){const {taskId:_0x2b3ebf,type:_0x54e256,data:_0x472447}=_0x580558,_0x4d3746=this['_taskSubscriptions']['get'](_0x2b3ebf);if(!_0x4d3746||_0x4d3746['size']===0x0)return;const _0x1b06ef=_0x54e256['replace']('task:',''),_0x507e70=eventTypeToHandler(_0x1b06ef);_0x4d3746['forEach'](_0x2a13ea=>{if(_0x2a13ea['handlers'][_0x507e70])try{const _0x32cd74=typeof _0x472447==='string'?JSON['parse'](_0x472447):_0x472447;_0x2a13ea['handlers'][_0x507e70](_0x32cd74);}catch(_0xf8bbc2){console['error']('[SSE\x20Client]\x20Error\x20in\x20task\x20'+_0x1b06ef+'\x20handler:',_0xf8bbc2);}});}['_connectDirect'](_0x49000e){this['eventSource']&&(this['eventSource']['close'](),this['eventSource']=null);const _0x3704c8=_0x49000e&&_0x49000e!=='me'?'?userId='+_0x49000e:'';try{this['eventSource']=new EventSource('/tasks/updates'+_0x3704c8),this['eventSource']['addEventListener']('open',()=>{this['connected']=!![],this['reconnectAttempts']=0x0,this['_emit']('connected',{});}),this['eventSource']['addEventListener']('snapshot',_0x4df21e=>{this['_handleDirectSSE']('snapshot',_0x4df21e),this['reconnectAttempts']=0x0;}),this['eventSource']['addEventListener']('activity',_0x46ee75=>{this['_handleDirectSSE']('activity',_0x46ee75);}),this['eventSource']['addEventListener']('status',_0xff008f=>{this['_handleDirectSSE']('status',_0xff008f);}),this['eventSource']['addEventListener']('new-task',_0x232868=>{this['_handleDirectSSE']('new-task',_0x232868);}),this['eventSource']['addEventListener']('queue-position',_0x330006=>{this['_handleDirectSSE']('queue-position',_0x330006);}),this['eventSource']['addEventListener']('error',_0x4c3359=>{console['error']('[SSE\x20Client]\x20Direct\x20SSE\x20error:',_0x4c3359),this['connected']=![],this['_emit']('error',{'error':'Connection\x20error'}),this['eventSource']&&(this['eventSource']['close'](),this['eventSource']=null),this['_scheduleReconnect']();});}catch(_0x40793e){console['error']('[SSE\x20Client]\x20Failed\x20to\x20create\x20EventSource:',_0x40793e),this['_emit']('error',{'error':_0x40793e['message']}),this['_scheduleReconnect']();}}['_handleDirectSSE'](_0x35d446,_0x13a2db){try{const _0x5865e1=JSON['parse'](_0x13a2db['data']);this['_emit'](_0x35d446,_0x5865e1);}catch(_0x116eda){console['error']('[SSE\x20Client]\x20Failed\x20to\x20parse\x20'+_0x35d446+'\x20data:',_0x116eda);}}['_scheduleReconnect'](){this['reconnectTimeout']&&clearTimeout(this['reconnectTimeout']);const _0x25b92d=Math['min'](0x3e8*Math['pow'](0x2,this['reconnectAttempts']),0x7530);this['reconnectAttempts']++,console['log']('[SSE\x20Client]\x20Scheduling\x20reconnect\x20in\x20'+_0x25b92d+'ms'),this['reconnectTimeout']=setTimeout(()=>{this['_connectDirect'](this['userId']);},_0x25b92d);}['changeFilter'](_0x498aa1){if(_0x498aa1===this['userId'])return;this['userId']=_0x498aa1;if(this['useSharedWorker']&&this['port'])this['port']['postMessage']({'action':'changeFilter','userId':_0x498aa1});else this['eventSource']&&this['_connectDirect'](_0x498aa1);}['subscribeTask'](_0x120b3c,_0x54f593){return this['useSharedWorker']?this['_subscribeTaskViaWorker'](_0x120b3c,_0x54f593):this['_subscribeTaskDirect'](_0x120b3c,_0x54f593);}['unsubscribeTask'](_0x16ee88){if(!_0x16ee88)return;_0x16ee88['type']==='worker'?this['_unsubscribeTaskWorker'](_0x16ee88):this['_unsubscribeTaskDirect'](_0x16ee88);}['_subscribeTaskViaWorker'](_0x3ee842,_0x26fa46){try{this['_ensureWorker']();}catch(_0x3e880c){return console['error']('[SSE\x20Client]\x20SharedWorker\x20failed\x20for\x20task\x20sub,\x20falling\x20back:',_0x3e880c),this['useSharedWorker']=![],this['_subscribeTaskDirect'](_0x3ee842,_0x26fa46);}const _0x52c200=++this['_taskSubIdCounter'],_0x56c8a5={'type':'worker','taskId':_0x3ee842,'handlers':_0x26fa46,'id':_0x52c200};return!this['_taskSubscriptions']['has'](_0x3ee842)&&(this['_taskSubscriptions']['set'](_0x3ee842,new Set()),this['port']['postMessage']({'action':'subscribeTask','taskId':_0x3ee842})),this['_taskSubscriptions']['get'](_0x3ee842)['add'](_0x56c8a5),_0x56c8a5;}['_unsubscribeTaskWorker'](_0x5f0e01){const {taskId:_0x333fda}=_0x5f0e01,_0x4d72fa=this['_taskSubscriptions']['get'](_0x333fda);if(_0x4d72fa){_0x4d72fa['delete'](_0x5f0e01);if(_0x4d72fa['size']===0x0){this['_taskSubscriptions']['delete'](_0x333fda);try{this['port']&&this['port']['postMessage']({'action':'unsubscribeTask','taskId':_0x333fda});}catch(_0x3ccb4d){}}}}['_subscribeTaskDirect'](_0x20d4bf,_0x213108){const _0x2f2ed8=++this['_taskSubIdCounter'],_0x39f702=new EventSource('/tasks/'+_0x20d4bf+'/stream'),_0x5d6c92={'type':'direct','taskId':_0x20d4bf,'handlers':_0x213108,'id':_0x2f2ed8,'eventSource':_0x39f702};!this['_taskSubscriptions']['has'](_0x20d4bf)&&this['_taskSubscriptions']['set'](_0x20d4bf,new Set());this['_taskSubscriptions']['get'](_0x20d4bf)['add'](_0x5d6c92);for(const _0x4e29a9 of TASK_STREAM_EVENTS){const _0x150997=eventTypeToHandler(_0x4e29a9);_0x39f702['addEventListener'](_0x4e29a9,_0x21aaeb=>{if(_0x213108[_0x150997])try{const _0x5a3a41=JSON['parse'](_0x21aaeb['data']);_0x213108[_0x150997](_0x5a3a41);}catch(_0x4db8ab){console['error']('[SSE\x20Client]\x20Error\x20parsing\x20task\x20'+_0x4e29a9+':',_0x4db8ab);}});}return _0x39f702['addEventListener']('open',()=>{if(_0x213108['onConnected'])_0x213108['onConnected']();}),_0x39f702['addEventListener']('error',()=>{if(_0x213108['onError'])_0x213108['onError']({'error':'Connection\x20error'});}),_0x5d6c92;}['_unsubscribeTaskDirect'](_0x2a1511){_0x2a1511['eventSource']&&(_0x2a1511['eventSource']['close'](),_0x2a1511['eventSource']=null);const _0x22f3f7=this['_taskSubscriptions']['get'](_0x2a1511['taskId']);_0x22f3f7&&(_0x22f3f7['delete'](_0x2a1511),_0x22f3f7['size']===0x0&&this['_taskSubscriptions']['delete'](_0x2a1511['taskId']));}['disconnect'](){this['reconnectTimeout']&&(clearTimeout(this['reconnectTimeout']),this['reconnectTimeout']=null);this['_taskSubscriptions']['forEach']((_0x54cfad,_0x1f5d74)=>{_0x54cfad['forEach'](_0x3be74c=>{_0x3be74c['type']==='direct'&&_0x3be74c['eventSource']&&_0x3be74c['eventSource']['close']();});}),this['_taskSubscriptions']['clear']();if(this['useSharedWorker']&&this['port'])try{this['port']['postMessage']({'action':'disconnect'});}catch(_0x1e4f12){}this['eventSource']&&(this['eventSource']['close'](),this['eventSource']=null),this['connected']=![];}['isConnected'](){return this['connected'];}['isUsingSharedWorker'](){return this['useSharedWorker'];}}let globalClient=null;export function getTaskUpdatesClient(){return!globalClient&&(globalClient=new TaskUpdatesClient()),globalClient;}
@@ -1 +1 @@
1
- function _0x579f(_0x147c5c,_0x3d2fc9){_0x147c5c=_0x147c5c-0x1ae;const _0x3cdca7=_0x3cdc();let _0x579f0a=_0x3cdca7[_0x147c5c];if(_0x579f['XfEGBa']===undefined){var _0x48d41e=function(_0x327d7f){const _0x542f6f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e97c2='',_0x5890ce='';for(let _0x2a9dc2=0x0,_0x5826f7,_0x1a77b0,_0x2d0584=0x0;_0x1a77b0=_0x327d7f['charAt'](_0x2d0584++);~_0x1a77b0&&(_0x5826f7=_0x2a9dc2%0x4?_0x5826f7*0x40+_0x1a77b0:_0x1a77b0,_0x2a9dc2++%0x4)?_0x3e97c2+=String['fromCharCode'](0xff&_0x5826f7>>(-0x2*_0x2a9dc2&0x6)):0x0){_0x1a77b0=_0x542f6f['indexOf'](_0x1a77b0);}for(let _0x2b9a6b=0x0,_0x374b74=_0x3e97c2['length'];_0x2b9a6b<_0x374b74;_0x2b9a6b++){_0x5890ce+='%'+('00'+_0x3e97c2['charCodeAt'](_0x2b9a6b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5890ce);};_0x579f['nUbVdj']=_0x48d41e,_0x579f['copsHw']={},_0x579f['XfEGBa']=!![];}const _0x7d42eb=_0x3cdca7[0x0],_0x1298db=_0x147c5c+_0x7d42eb,_0x107c87=_0x579f['copsHw'][_0x1298db];return!_0x107c87?(_0x579f0a=_0x579f['nUbVdj'](_0x579f0a),_0x579f['copsHw'][_0x1298db]=_0x579f0a):_0x579f0a=_0x107c87,_0x579f0a;}const _0x287770=_0x579f;(function(_0x11409d,_0x5e2370){const _0x52f33e=_0x579f,_0x2abe4d=_0x11409d();while(!![]){try{const _0x1d161c=parseInt(_0x52f33e(0x1f4))/0x1*(parseInt(_0x52f33e(0x1b2))/0x2)+-parseInt(_0x52f33e(0x1c5))/0x3*(parseInt(_0x52f33e(0x1f0))/0x4)+parseInt(_0x52f33e(0x1b6))/0x5*(-parseInt(_0x52f33e(0x1b3))/0x6)+-parseInt(_0x52f33e(0x1f3))/0x7*(-parseInt(_0x52f33e(0x1bd))/0x8)+parseInt(_0x52f33e(0x1ec))/0x9*(parseInt(_0x52f33e(0x1d0))/0xa)+-parseInt(_0x52f33e(0x1c6))/0xb+parseInt(_0x52f33e(0x1af))/0xc;if(_0x1d161c===_0x5e2370)break;else _0x2abe4d['push'](_0x2abe4d['shift']());}catch(_0x49397d){_0x2abe4d['push'](_0x2abe4d['shift']());}}}(_0x3cdc,0x93c17));const ports=new Set();let eventSource=null,currentUserId=null,reconnectTimeout=null,reconnectAttempts=0x0;const MAX_RECONNECT_DELAY=0x7530,taskStreams=new Map(),TASK_STREAM_EVENTS=[_0x287770(0x1ed),_0x287770(0x1be),_0x287770(0x1ea),'summary',_0x287770(0x1ae),_0x287770(0x1d8),_0x287770(0x1c1)];function connect(_0x3e97c2){const _0x55d518=_0x287770;eventSource&&currentUserId!==_0x3e97c2&&(eventSource[_0x55d518(0x1db)](),eventSource=null);if(eventSource&&eventSource['readyState']!==EventSource['CLOSED'])return;currentUserId=_0x3e97c2;const _0x5890ce=_0x3e97c2&&_0x3e97c2!=='me'?_0x55d518(0x1ca)+_0x3e97c2:'';try{eventSource=new EventSource(_0x55d518(0x1b0)+_0x5890ce),eventSource['addEventListener'](_0x55d518(0x1dc),_0x2a9dc2=>{broadcast({'type':'snapshot','data':_0x2a9dc2['data']}),reconnectAttempts=0x0;}),eventSource['addEventListener'](_0x55d518(0x1ed),_0x5826f7=>{const _0x35b720=_0x55d518;broadcast({'type':_0x35b720(0x1ed),'data':_0x5826f7['data']});}),eventSource[_0x55d518(0x1b4)]('status',_0x1a77b0=>{broadcast({'type':'status','data':_0x1a77b0['data']});}),eventSource[_0x55d518(0x1b4)]('new-task',_0x2d0584=>{const _0x23d2a4=_0x55d518;broadcast({'type':'new-task','data':_0x2d0584[_0x23d2a4(0x1f8)]});}),eventSource[_0x55d518(0x1b4)](_0x55d518(0x1c9),_0x2b9a6b=>{broadcast({'type':'queue-position','data':_0x2b9a6b['data']});}),eventSource[_0x55d518(0x1b4)](_0x55d518(0x1e4),()=>{const _0xfa7719=_0x55d518;broadcast({'type':_0xfa7719(0x1e0)}),reconnectAttempts=0x0;}),eventSource[_0x55d518(0x1b4)]('error',_0x374b74=>{const _0x1ae140=_0x55d518;console[_0x1ae140(0x1bb)](_0x1ae140(0x1e8),_0x374b74),broadcast({'type':'error','error':'Connection\x20error'}),eventSource&&(eventSource[_0x1ae140(0x1db)](),eventSource=null),scheduleReconnect();});}catch(_0x179933){console[_0x55d518(0x1bb)](_0x55d518(0x1cb),_0x179933),broadcast({'type':_0x55d518(0x1bb),'error':_0x179933[_0x55d518(0x1dd)]}),scheduleReconnect();}}function scheduleReconnect(){const _0x48202b=_0x287770;reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports['size']===0x0)return;const _0x151951=Math[_0x48202b(0x1c8)](0x3e8*Math[_0x48202b(0x1f7)](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console[_0x48202b(0x1eb)](_0x48202b(0x1b9)+_0x151951+_0x48202b(0x1e1)+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{const _0x267308=_0x48202b;ports[_0x267308(0x1e5)]>0x0&&connect(currentUserId);},_0x151951);}function broadcast(_0x408fc4){const _0x3e5015=_0x287770,_0x5d3bf4=[];ports[_0x3e5015(0x1b7)](_0x18abd2=>{const _0x1005ce=_0x3e5015;try{_0x18abd2[_0x1005ce(0x1bf)](_0x408fc4);}catch(_0x1734ba){console[_0x1005ce(0x1d9)](_0x1005ce(0x1d7),_0x1734ba),_0x5d3bf4[_0x1005ce(0x1f5)](_0x18abd2);}}),_0x5d3bf4[_0x3e5015(0x1d1)]>0x0&&cleanUpDeadPorts(_0x5d3bf4),ports[_0x3e5015(0x1e5)]===0x0&&eventSource&&(console['log'](_0x3e5015(0x1e9)),eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function subscribeTask(_0x223402,_0x3f64d6){const _0xa7eb93=_0x287770;let _0x3acb41=taskStreams['get'](_0x3f64d6);!_0x3acb41&&(_0x3acb41={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams['set'](_0x3f64d6,_0x3acb41));_0x3acb41['subscribedPorts'][_0xa7eb93(0x1cf)](_0x223402);if(!_0x3acb41['eventSource']||_0x3acb41[_0xa7eb93(0x1c7)][_0xa7eb93(0x1d3)]===EventSource[_0xa7eb93(0x1ee)])connectTaskStream(_0x3f64d6);else{if(_0x3acb41['eventSource']['readyState']===EventSource[_0xa7eb93(0x1ce)])try{_0x223402[_0xa7eb93(0x1bf)]({'type':_0xa7eb93(0x1f6),'taskId':_0x3f64d6});}catch(_0x4a93ab){}}}function unsubscribeTask(_0xa4432b,_0x430ced){const _0xf6e044=_0x287770,_0x2ac4ba=taskStreams[_0xf6e044(0x1ef)](_0x430ced);if(!_0x2ac4ba)return;_0x2ac4ba[_0xf6e044(0x1d6)]['delete'](_0xa4432b),_0x2ac4ba[_0xf6e044(0x1d6)]['size']===0x0&&deferredCloseTaskStream(_0x430ced);}function connectTaskStream(_0x52397d){const _0x3f441b=_0x287770,_0x23c83e=taskStreams[_0x3f441b(0x1ef)](_0x52397d);if(!_0x23c83e)return;_0x23c83e[_0x3f441b(0x1c7)]&&(_0x23c83e[_0x3f441b(0x1c7)]['close'](),_0x23c83e[_0x3f441b(0x1c7)]=null);try{_0x23c83e[_0x3f441b(0x1c7)]=new EventSource(_0x3f441b(0x1c3)+_0x52397d+'/stream');for(const _0xa9f348 of TASK_STREAM_EVENTS){_0x23c83e[_0x3f441b(0x1c7)][_0x3f441b(0x1b4)](_0xa9f348,_0x99a7dc=>{const _0x4c1d6b=_0x3f441b;broadcastToTask(_0x52397d,_0x4c1d6b(0x1c0)+_0xa9f348,_0x99a7dc[_0x4c1d6b(0x1f8)]),_0x23c83e[_0x4c1d6b(0x1b8)]=0x0;});}_0x23c83e[_0x3f441b(0x1c7)][_0x3f441b(0x1b4)](_0x3f441b(0x1e4),()=>{const _0x361583=_0x3f441b;broadcastToTask(_0x52397d,'task:connected','{}'),_0x23c83e[_0x361583(0x1b8)]=0x0;}),_0x23c83e[_0x3f441b(0x1c7)][_0x3f441b(0x1b4)](_0x3f441b(0x1bb),()=>{const _0x185f29=_0x3f441b;broadcastToTask(_0x52397d,'task:error',JSON[_0x185f29(0x1df)]({'error':_0x185f29(0x1b5)})),_0x23c83e[_0x185f29(0x1c7)]&&(_0x23c83e[_0x185f29(0x1c7)][_0x185f29(0x1db)](),_0x23c83e[_0x185f29(0x1c7)]=null),scheduleTaskReconnect(_0x52397d);});}catch(_0xf1543e){console[_0x3f441b(0x1bb)](_0x3f441b(0x1d5)+_0x52397d+':',_0xf1543e),broadcastToTask(_0x52397d,'task:error',JSON[_0x3f441b(0x1df)]({'error':_0xf1543e[_0x3f441b(0x1dd)]})),scheduleTaskReconnect(_0x52397d);}}function broadcastToTask(_0xfcb100,_0x136428,_0x2a056b){const _0x4b41b6=_0x287770,_0x4595eb=taskStreams[_0x4b41b6(0x1ef)](_0xfcb100);if(!_0x4595eb)return;const _0x38fb31=[];_0x4595eb['subscribedPorts'][_0x4b41b6(0x1b7)](_0x1b86ab=>{const _0x293c38=_0x4b41b6;try{_0x1b86ab[_0x293c38(0x1bf)]({'type':_0x136428,'taskId':_0xfcb100,'data':_0x2a056b});}catch(_0x2feb27){_0x38fb31['push'](_0x1b86ab);}}),_0x38fb31[_0x4b41b6(0x1d1)]>0x0&&(_0x38fb31[_0x4b41b6(0x1b7)](_0x3ba918=>_0x4595eb[_0x4b41b6(0x1d6)][_0x4b41b6(0x1bc)](_0x3ba918)),cleanUpDeadPorts(_0x38fb31),_0x4595eb[_0x4b41b6(0x1d6)][_0x4b41b6(0x1e5)]===0x0&&closeTaskStream(_0xfcb100));}function closeTaskStream(_0x4d4ef){const _0x490cf9=_0x287770,_0x2bc5f9=taskStreams[_0x490cf9(0x1ef)](_0x4d4ef);if(!_0x2bc5f9)return;_0x2bc5f9[_0x490cf9(0x1c7)]&&_0x2bc5f9[_0x490cf9(0x1c7)]['close'](),_0x2bc5f9[_0x490cf9(0x1f2)]&&clearTimeout(_0x2bc5f9[_0x490cf9(0x1f2)]),taskStreams[_0x490cf9(0x1bc)](_0x4d4ef);}function deferredCloseTaskStream(_0x5b8239){setTimeout(()=>{const _0x54c656=_0x579f,_0xf8d01a=taskStreams[_0x54c656(0x1ef)](_0x5b8239);_0xf8d01a&&_0xf8d01a[_0x54c656(0x1d6)][_0x54c656(0x1e5)]===0x0&&closeTaskStream(_0x5b8239);},0x0);}function _0x3cdc(){const _0x5eada7=['Cg9ZDe1LC3nHz2u','DgfZAZO','y29TCgXLDgu','y2HHBMDLrMLSDgvY','l3rHC2TZlW','zgLZy29UBMvJDa','m3zRDun5Aa','mteZodu4mZz6wwn1s1C','zxzLBNrtB3vYy2u','BwLU','CxvLDwuTCg9ZAxrPB24','p3vZzxjjzd0','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGrxzLBNrtB3vYy2u6','w1ntrsbxB3jRzxjDifbVCNqGBwvZC2fNzsbLCNjVCJO','igLUia','t1bftG','ywrK','nJy2mty3me9UALr1ra','BgvUz3rO','C3rHCNq','CMvHzhLtDgf0zq','w1ntrsbxB3jRzxjDie5LDYbWB3j0ignVBM5Ly3rLzc4Gvg90ywWGCg9YDhm6ia','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbJCMvHDguGDgfZAYbfDMvUDfnVDxjJzsbMB3iG','C3vIC2nYAwjLzfbVCNrZ','w1ntrsbxB3jRzxjDiezHAwXLzcb0BYbZzw5KihrVihbVCNqSihjLBw92Aw5NoG','yxbWlxnLCNzLCI1ZDgf0Dxm','D2fYBG','y29UBMvJDa','y2XVC2u','C25HChnOB3q','BwvZC2fNzq','Cg9YDhm','C3rYAw5NAwz5','y29UBMvJDgvK','BxmGkgf0DgvTChqG','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGDgfZAYbZDhjLyw0GCMvJB25Uzwn0igzVCIa','B25TzxnZywDL','B3bLBG','C2L6zq','w1ntrsbxB3jRzxjDifbVCNqGzgLZy29UBMvJDgvKlIbuB3rHBcbWB3j0CZOG','C3vIC2nYAwjLvgfZAW','w1ntrsbxB3jRzxjDienVBM5Ly3rPB24GzxjYB3i6','w1ntrsbxB3jRzxjDie5Vig1VCMuGy29UBMvJDgvKihbVCNrZlcbJBg9ZAw5Nifntrq','Bwv0ywrHDge','Bg9N','oxH4DwP2wG','ywn0AxzPDhK','q0Xpu0ve','z2v0','mti5mJu0mfDOEg5TEq','B25TzxnZywDLzxjYB3i','CMvJB25Uzwn0vgLTzw91Da','n3PsrvPHyq','mvHjyuziwG','ChvZAa','DgfZAZPJB25Uzwn0zwq','Cg93','zgf0yq','y2HHBMDLzc1MAwXLCW','mti2nJG5nZzAywngBMq','l3rHC2TZl3vWzgf0zxm','AgfZ','mteYntmWoezRExLlsa','mJm2mJGXoefqq2nKuG','ywrKrxzLBNrmAxn0zw5LCG','q29UBMvJDgLVBIbLCNjVCG','mtb4u0LnCvK','zM9YrwfJAa','CMvJB25Uzwn0qxr0zw1WDhm','w1ntrsbxB3jRzxjDifnJAgvKDwXPBMCGCMvJB25Uzwn0igLUia','w1ntrsbxB3jRzxjDifvUA25VD24Gywn0Aw9UoG','zxjYB3i','zgvSzxrL','mZCZmty0mfL2B3v3uG','Bg9NCW'];_0x3cdc=function(){return _0x5eada7;};return _0x3cdc();}function scheduleTaskReconnect(_0x632d6a){const _0x1109be=_0x287770,_0x3cad17=taskStreams[_0x1109be(0x1ef)](_0x632d6a);if(!_0x3cad17||_0x3cad17[_0x1109be(0x1d6)][_0x1109be(0x1e5)]===0x0)return;_0x3cad17[_0x1109be(0x1f2)]&&clearTimeout(_0x3cad17[_0x1109be(0x1f2)]);const _0x3cdd65=Math[_0x1109be(0x1c8)](0x3e8*Math[_0x1109be(0x1f7)](0x2,_0x3cad17[_0x1109be(0x1b8)]),MAX_RECONNECT_DELAY);_0x3cad17[_0x1109be(0x1b8)]++,console[_0x1109be(0x1eb)](_0x1109be(0x1e2)+_0x632d6a+_0x1109be(0x1cd)+_0x3cdd65+'ms'),_0x3cad17[_0x1109be(0x1f2)]=setTimeout(()=>{const _0x33ce2e=_0x1109be;_0x3cad17['subscribedPorts'][_0x33ce2e(0x1e5)]>0x0&&connectTaskStream(_0x632d6a);},_0x3cdd65);}function cleanUpDeadPorts(_0x34f349){const _0x230c89=_0x287770;for(const _0x16753d of _0x34f349){ports[_0x230c89(0x1bc)](_0x16753d),taskStreams[_0x230c89(0x1b7)]((_0x22749d,_0x21bd1a)=>{const _0x28ae62=_0x230c89;_0x22749d[_0x28ae62(0x1d6)][_0x28ae62(0x1bc)](_0x16753d),_0x22749d[_0x28ae62(0x1d6)][_0x28ae62(0x1e5)]===0x0&&closeTaskStream(_0x21bd1a);});}}function removePortFromAllTasks(_0x6d93e7){const _0x1ef026=_0x287770;taskStreams[_0x1ef026(0x1b7)]((_0x43600d,_0x3c9661)=>{const _0xecdc2b=_0x1ef026;_0x43600d[_0xecdc2b(0x1d6)][_0xecdc2b(0x1b1)](_0x6d93e7)&&(_0x43600d[_0xecdc2b(0x1d6)][_0xecdc2b(0x1bc)](_0x6d93e7),_0x43600d[_0xecdc2b(0x1d6)]['size']===0x0&&closeTaskStream(_0x3c9661));});}self['onconnect']=function(_0x2b221e){const _0x4c0b70=_0x287770,_0x15cd51=_0x2b221e[_0x4c0b70(0x1de)][0x0];ports['add'](_0x15cd51),console[_0x4c0b70(0x1eb)](_0x4c0b70(0x1d4)+ports[_0x4c0b70(0x1e5)]),_0x15cd51[_0x4c0b70(0x1e3)]=function(_0x29f35e){const _0x149d17=_0x4c0b70,{action:_0x3b917f,userId:_0x16cdfc,taskId:_0x3a776c}=_0x29f35e[_0x149d17(0x1f8)];switch(_0x3b917f){case _0x149d17(0x1da):connect(_0x16cdfc);eventSource&&eventSource['readyState']===EventSource[_0x149d17(0x1ce)]&&_0x15cd51[_0x149d17(0x1bf)]({'type':'connected'});break;case _0x149d17(0x1c4):ports['delete'](_0x15cd51),removePortFromAllTasks(_0x15cd51),console['log'](_0x149d17(0x1e6)+ports[_0x149d17(0x1e5)]);ports[_0x149d17(0x1e5)]===0x0&&eventSource&&(eventSource[_0x149d17(0x1db)](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case _0x149d17(0x1c2):_0x16cdfc!==currentUserId&&connect(_0x16cdfc);break;case _0x149d17(0x1e7):subscribeTask(_0x15cd51,_0x3a776c);break;case'unsubscribeTask':unsubscribeTask(_0x15cd51,_0x3a776c);break;default:console[_0x149d17(0x1d9)](_0x149d17(0x1ba),_0x3b917f);}},_0x15cd51[_0x4c0b70(0x1f1)]=function(_0x413c38){const _0x56d8e5=_0x4c0b70;console[_0x56d8e5(0x1bb)](_0x56d8e5(0x1cc),_0x413c38),ports[_0x56d8e5(0x1bc)](_0x15cd51),removePortFromAllTasks(_0x15cd51);},_0x15cd51[_0x4c0b70(0x1d2)]();};
1
+ 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','logs','metadata','summary','changed-files','app-server-status','complete'];function connect(_0x1b334a){eventSource&&currentUserId!==_0x1b334a&&(eventSource['close'](),eventSource=null);if(eventSource&&eventSource['readyState']!==EventSource['CLOSED'])return;currentUserId=_0x1b334a;const _0x2101a2=_0x1b334a&&_0x1b334a!=='me'?'?userId='+_0x1b334a:'';try{eventSource=new EventSource('/tasks/updates'+_0x2101a2),eventSource['addEventListener']('snapshot',_0x5626a6=>{broadcast({'type':'snapshot','data':_0x5626a6['data']}),reconnectAttempts=0x0;}),eventSource['addEventListener']('activity',_0x46f5c9=>{broadcast({'type':'activity','data':_0x46f5c9['data']});}),eventSource['addEventListener']('status',_0x311d1a=>{broadcast({'type':'status','data':_0x311d1a['data']});}),eventSource['addEventListener']('new-task',_0x51f36b=>{broadcast({'type':'new-task','data':_0x51f36b['data']});}),eventSource['addEventListener']('queue-position',_0x1e20ed=>{broadcast({'type':'queue-position','data':_0x1e20ed['data']});}),eventSource['addEventListener']('open',()=>{broadcast({'type':'connected'}),reconnectAttempts=0x0;}),eventSource['addEventListener']('error',_0x2c9c34=>{console['error']('[SSE\x20Worker]\x20Connection\x20error:',_0x2c9c34),broadcast({'type':'error','error':'Connection\x20error'}),eventSource&&(eventSource['close'](),eventSource=null),scheduleReconnect();});}catch(_0x4ac998){console['error']('[SSE\x20Worker]\x20Failed\x20to\x20create\x20EventSource:',_0x4ac998),broadcast({'type':'error','error':_0x4ac998['message']}),scheduleReconnect();}}function scheduleReconnect(){reconnectTimeout&&clearTimeout(reconnectTimeout);if(ports['size']===0x0)return;const _0x51a1d0=Math['min'](0x3e8*Math['pow'](0x2,reconnectAttempts),MAX_RECONNECT_DELAY);reconnectAttempts++,console['log']('[SSE\x20Worker]\x20Scheduling\x20reconnect\x20in\x20'+_0x51a1d0+'ms\x20(attempt\x20'+reconnectAttempts+')'),reconnectTimeout=setTimeout(()=>{ports['size']>0x0&&connect(currentUserId);},_0x51a1d0);}function broadcast(_0x54bf6e){const _0x49af10=[];ports['forEach'](_0x57c096=>{try{_0x57c096['postMessage'](_0x54bf6e);}catch(_0x40102c){console['warn']('[SSE\x20Worker]\x20Failed\x20to\x20send\x20to\x20port,\x20removing:',_0x40102c),_0x49af10['push'](_0x57c096);}}),_0x49af10['length']>0x0&&cleanUpDeadPorts(_0x49af10),ports['size']===0x0&&eventSource&&(console['log']('[SSE\x20Worker]\x20No\x20more\x20connected\x20ports,\x20closing\x20SSE'),eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));}function subscribeTask(_0x12657f,_0xf167c5){let _0x4ca334=taskStreams['get'](_0xf167c5);!_0x4ca334&&(_0x4ca334={'eventSource':null,'reconnectTimeout':null,'reconnectAttempts':0x0,'subscribedPorts':new Set()},taskStreams['set'](_0xf167c5,_0x4ca334));_0x4ca334['subscribedPorts']['add'](_0x12657f);if(!_0x4ca334['eventSource']||_0x4ca334['eventSource']['readyState']===EventSource['CLOSED'])connectTaskStream(_0xf167c5);else{if(_0x4ca334['eventSource']['readyState']===EventSource['OPEN'])try{_0x12657f['postMessage']({'type':'task:connected','taskId':_0xf167c5});}catch(_0x488347){}}}function unsubscribeTask(_0xd4e6e6,_0x8e6292){const _0x2744f9=taskStreams['get'](_0x8e6292);if(!_0x2744f9)return;_0x2744f9['subscribedPorts']['delete'](_0xd4e6e6),_0x2744f9['subscribedPorts']['size']===0x0&&deferredCloseTaskStream(_0x8e6292);}function connectTaskStream(_0x47f2fd){const _0x3476ac=taskStreams['get'](_0x47f2fd);if(!_0x3476ac)return;_0x3476ac['eventSource']&&(_0x3476ac['eventSource']['close'](),_0x3476ac['eventSource']=null);try{_0x3476ac['eventSource']=new EventSource('/tasks/'+_0x47f2fd+'/stream');for(const _0x598ddb of TASK_STREAM_EVENTS){_0x3476ac['eventSource']['addEventListener'](_0x598ddb,_0x2fc395=>{broadcastToTask(_0x47f2fd,'task:'+_0x598ddb,_0x2fc395['data']),_0x3476ac['reconnectAttempts']=0x0;});}_0x3476ac['eventSource']['addEventListener']('open',()=>{broadcastToTask(_0x47f2fd,'task:connected','{}'),_0x3476ac['reconnectAttempts']=0x0;}),_0x3476ac['eventSource']['addEventListener']('error',()=>{broadcastToTask(_0x47f2fd,'task:error',JSON['stringify']({'error':'Connection\x20error'})),_0x3476ac['eventSource']&&(_0x3476ac['eventSource']['close'](),_0x3476ac['eventSource']=null),scheduleTaskReconnect(_0x47f2fd);});}catch(_0x42ffbc){console['error']('[SSE\x20Worker]\x20Failed\x20to\x20create\x20task\x20EventSource\x20for\x20'+_0x47f2fd+':',_0x42ffbc),broadcastToTask(_0x47f2fd,'task:error',JSON['stringify']({'error':_0x42ffbc['message']})),scheduleTaskReconnect(_0x47f2fd);}}function broadcastToTask(_0x2ef8b2,_0x34973e,_0x2a9063){const _0x5e0e64=taskStreams['get'](_0x2ef8b2);if(!_0x5e0e64)return;const _0x571539=[];_0x5e0e64['subscribedPorts']['forEach'](_0x5072e7=>{try{_0x5072e7['postMessage']({'type':_0x34973e,'taskId':_0x2ef8b2,'data':_0x2a9063});}catch(_0x235e7b){_0x571539['push'](_0x5072e7);}}),_0x571539['length']>0x0&&(_0x571539['forEach'](_0x690bbb=>_0x5e0e64['subscribedPorts']['delete'](_0x690bbb)),cleanUpDeadPorts(_0x571539),_0x5e0e64['subscribedPorts']['size']===0x0&&closeTaskStream(_0x2ef8b2));}function closeTaskStream(_0x21c9d2){const _0x4b6241=taskStreams['get'](_0x21c9d2);if(!_0x4b6241)return;_0x4b6241['eventSource']&&_0x4b6241['eventSource']['close'](),_0x4b6241['reconnectTimeout']&&clearTimeout(_0x4b6241['reconnectTimeout']),taskStreams['delete'](_0x21c9d2);}function deferredCloseTaskStream(_0x182f86){setTimeout(()=>{const _0x3087bb=taskStreams['get'](_0x182f86);_0x3087bb&&_0x3087bb['subscribedPorts']['size']===0x0&&closeTaskStream(_0x182f86);},0x0);}function scheduleTaskReconnect(_0x1034d6){const _0x1e63a1=taskStreams['get'](_0x1034d6);if(!_0x1e63a1||_0x1e63a1['subscribedPorts']['size']===0x0)return;_0x1e63a1['reconnectTimeout']&&clearTimeout(_0x1e63a1['reconnectTimeout']);const _0xa123c7=Math['min'](0x3e8*Math['pow'](0x2,_0x1e63a1['reconnectAttempts']),MAX_RECONNECT_DELAY);_0x1e63a1['reconnectAttempts']++,console['log']('[SSE\x20Worker]\x20Scheduling\x20task\x20stream\x20reconnect\x20for\x20'+_0x1034d6+'\x20in\x20'+_0xa123c7+'ms'),_0x1e63a1['reconnectTimeout']=setTimeout(()=>{_0x1e63a1['subscribedPorts']['size']>0x0&&connectTaskStream(_0x1034d6);},_0xa123c7);}function cleanUpDeadPorts(_0x45cbb0){for(const _0x2df3b7 of _0x45cbb0){ports['delete'](_0x2df3b7),taskStreams['forEach']((_0x36ef2d,_0xd6408f)=>{_0x36ef2d['subscribedPorts']['delete'](_0x2df3b7),_0x36ef2d['subscribedPorts']['size']===0x0&&closeTaskStream(_0xd6408f);});}}function removePortFromAllTasks(_0x456373){taskStreams['forEach']((_0x4ee93a,_0x22e7c0)=>{_0x4ee93a['subscribedPorts']['has'](_0x456373)&&(_0x4ee93a['subscribedPorts']['delete'](_0x456373),_0x4ee93a['subscribedPorts']['size']===0x0&&closeTaskStream(_0x22e7c0));});}self['onconnect']=function(_0x45b6dc){const _0x818a78=_0x45b6dc['ports'][0x0];ports['add'](_0x818a78),console['log']('[SSE\x20Worker]\x20New\x20port\x20connected.\x20Total\x20ports:\x20'+ports['size']),_0x818a78['onmessage']=function(_0x32e0e7){const {action:_0x31fd9a,userId:_0xe814ba,taskId:_0x5e836b}=_0x32e0e7['data'];switch(_0x31fd9a){case'connect':connect(_0xe814ba);eventSource&&eventSource['readyState']===EventSource['OPEN']&&_0x818a78['postMessage']({'type':'connected'});break;case'disconnect':ports['delete'](_0x818a78),removePortFromAllTasks(_0x818a78),console['log']('[SSE\x20Worker]\x20Port\x20disconnected.\x20Total\x20ports:\x20'+ports['size']);ports['size']===0x0&&eventSource&&(eventSource['close'](),eventSource=null,reconnectTimeout&&(clearTimeout(reconnectTimeout),reconnectTimeout=null));break;case'changeFilter':_0xe814ba!==currentUserId&&connect(_0xe814ba);break;case'subscribeTask':subscribeTask(_0x818a78,_0x5e836b);break;case'unsubscribeTask':unsubscribeTask(_0x818a78,_0x5e836b);break;default:console['warn']('[SSE\x20Worker]\x20Unknown\x20action:',_0x31fd9a);}},_0x818a78['onmessageerror']=function(_0x59792f){console['error']('[SSE\x20Worker]\x20Port\x20message\x20error:',_0x59792f),ports['delete'](_0x818a78),removePortFromAllTasks(_0x818a78);},_0x818a78['start']();};