claude-flow-novice 2.0.3 → 2.0.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 (228) hide show
  1. package/dist/src/cli/commands/swarm.js +1 -1
  2. package/dist/src/cli/main.js +1 -1
  3. package/dist/src/coordination/byzantine-memory-channels.js +25 -1
  4. package/dist/src/index.js +384 -35
  5. package/dist/src/utils/error-handler.js +2 -36
  6. package/dist/src/web/api/apm-routes.js +353 -0
  7. package/dist/src/web/api/config/api-config.js +184 -0
  8. package/dist/src/web/api/middleware/auth.js +203 -0
  9. package/dist/src/web/api/middleware/cache.js +273 -0
  10. package/dist/src/web/api/middleware/error-handler.js +257 -0
  11. package/dist/src/web/api/middleware/request-logger.js +215 -0
  12. package/dist/src/web/api/middleware/validation.js +323 -0
  13. package/dist/src/web/api/routes/events.js +463 -0
  14. package/dist/src/web/api/routes/hierarchy.js +300 -0
  15. package/dist/src/web/api/routes/index.js +12 -0
  16. package/dist/src/web/api/routes/metrics.js +559 -0
  17. package/dist/src/web/api/routes/parallel-status.js +359 -0
  18. package/dist/src/web/api/routes/status.js +448 -0
  19. package/dist/src/web/api/server.js +462 -0
  20. package/dist/src/web/dashboard/hooks/useWebSocket.js +383 -0
  21. package/dist/src/web/dashboard/index.js +85 -0
  22. package/dist/src/web/dashboard/realtime/CustomSyncManager.js +439 -0
  23. package/dist/src/web/dashboard/realtime/NativeWebSocketManager.js +323 -0
  24. package/dist/src/web/dashboard/realtime/PerformanceBenchmark.js +527 -0
  25. package/dist/src/web/dashboard/realtime/RealtimeCommunicationManager.js +474 -0
  26. package/dist/src/web/dashboard/realtime/RealtimeServer.js +666 -0
  27. package/dist/src/web/dashboard/realtime/SSEManager.js +426 -0
  28. package/dist/src/web/dashboard/types.js +4 -0
  29. package/dist/src/web/messaging/agent-status-tracker.js +453 -0
  30. package/dist/src/web/messaging/human-intervention-system.js +305 -0
  31. package/dist/src/web/messaging/message-filter.js +302 -0
  32. package/dist/src/web/messaging/swarm-message-router.js +324 -0
  33. package/dist/src/web/messaging/transparency-logger.js +421 -0
  34. package/dist/src/web/portal-server.js +460 -0
  35. package/dist/src/web/server.js +322 -0
  36. package/dist/src/web/websocket/apm-websocket-handler.js +453 -0
  37. package/dist/src/web/websocket/websocket-manager.js +780 -0
  38. package/package.json +6 -4
  39. package/dist/src/cli/minimal-main.js +0 -22
  40. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/documentSymbols/browser/documentSymbols.js +0 -23
  41. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +0 -57
  42. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +0 -401
  43. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +0 -181
  44. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +0 -44
  45. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +0 -157
  46. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/dropOrPasteInto/browser/edit.js +0 -71
  47. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/editorState/browser/editorState.js +0 -112
  48. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findController.js +0 -990
  49. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findDecorations.js +0 -296
  50. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findModel.js +0 -488
  51. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findOptionsWidget.js +0 -138
  52. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findState.js +0 -243
  53. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/find/browser/findWidget.js +0 -1177
  54. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/folding.js +0 -1093
  55. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +0 -133
  56. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingModel.js +0 -538
  57. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/folding/browser/foldingRanges.js +0 -351
  58. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +0 -49
  59. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/format.js +0 -360
  60. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/formatActions.js +0 -263
  61. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/format/browser/formattingEdit.js +0 -54
  62. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +0 -149
  63. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/hover/browser/contentHover.js +0 -874
  64. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/inlineCompletions/browser/commandIds.js +0 -7
  65. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/inlineCompletions/browser/commands.js +0 -199
  66. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +0 -70
  67. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +0 -26
  68. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +0 -153
  69. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +0 -33
  70. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +0 -354
  71. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/smartSelect/browser/bracketSelections.js +0 -146
  72. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/suggest/browser/completionModel.js +0 -224
  73. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +0 -119
  74. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/edcore.main.js +0 -14
  75. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.all.js +0 -63
  76. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.api.js +0 -55
  77. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.main.js +0 -7
  78. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/editor.worker.js +0 -25
  79. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/editor/standalone/browser/colorizer.js +0 -118
  80. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/language/css/css.worker.js +0 -36869
  81. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/language/css/cssMode.js +0 -2035
  82. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/browser/accessibilityService.js +0 -88
  83. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/common/accessibility.js +0 -9
  84. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/action.js +0 -7
  85. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/actionCommonCategories.js +0 -13
  86. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionList.js +0 -276
  87. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionWidget.js +0 -248
  88. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/common/actionWidget.js +0 -5
  89. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actions/common/actions.js +0 -409
  90. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/audioCues/browser/audioCueService.js +0 -176
  91. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/browser/clipboardService.js +0 -141
  92. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/common/clipboardService.js +0 -6
  93. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/commands/common/commands.js +0 -80
  94. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configuration.js +0 -86
  95. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationModels.js +0 -554
  96. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationRegistry.js +0 -317
  97. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurations.js +0 -41
  98. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/browser/contextKeyService.js +0 -432
  99. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkey.js +0 -1547
  100. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkeys.js +0 -18
  101. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuHandler.js +0 -124
  102. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuService.js +0 -101
  103. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextView.js +0 -7
  104. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextViewService.js +0 -72
  105. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dialogs/common/dialogs.js +0 -2
  106. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dnd/browser/dnd.js +0 -36
  107. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/editor/common/editor.js +0 -17
  108. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/environment/common/environment.js +0 -2
  109. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/extensions/common/extensions.js +0 -47
  110. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/files/common/files.js +0 -9
  111. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +0 -105
  112. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/descriptors.js +0 -11
  113. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/extensions.js +0 -15
  114. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/abstractKeybindingService.js +0 -277
  115. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -53
  116. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -354
  117. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/browser/defaultStyles.js +0 -162
  118. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/common/colorRegistry.js +0 -482
  119. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/abap/abap.js +0 -10
  120. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/apex/apex.js +0 -10
  121. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/azcli/azcli.js +0 -10
  122. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bat/bat.js +0 -10
  123. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bicep/bicep.js +0 -11
  124. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cameligo/cameligo.js +0 -10
  125. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/clojure/clojure.js +0 -10
  126. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/coffee/coffee.js +0 -10
  127. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cpp/cpp.js +0 -10
  128. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/csharp/csharp.js +0 -10
  129. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/csp/csp.js +0 -10
  130. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/css/css.js +0 -12
  131. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/cypher/cypher.js +0 -10
  132. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/dart/dart.js +0 -10
  133. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/dockerfile/dockerfile.js +0 -10
  134. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/ecl/ecl.js +0 -10
  135. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/elixir/elixir.js +0 -10
  136. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/flow9/flow9.js +0 -10
  137. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.js +0 -745
  138. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.de.js +0 -31
  139. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.es.js +0 -31
  140. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.fr.js +0 -29
  141. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.it.js +0 -29
  142. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ja.js +0 -31
  143. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.js +0 -29
  144. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ko.js +0 -29
  145. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.ru.js +0 -31
  146. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.zh-cn.js +0 -31
  147. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/editor/editor.main.nls.zh-tw.js +0 -29
  148. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/language/css/cssMode.js +0 -13
  149. package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/language/css/cssWorker.js +0 -81
  150. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/cli.js +0 -64
  151. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/example.js +0 -36
  152. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/index.js +0 -205
  153. package/dist/src/web/frontend/node_modules/.multicast-dns-iKseM9bB/test.js +0 -260
  154. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.browser.js +0 -34
  155. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.js +0 -35
  156. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/async/index.native.js +0 -26
  157. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/index.browser.js +0 -34
  158. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/index.js +0 -45
  159. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/nanoid.js +0 -1
  160. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/non-secure/index.js +0 -21
  161. package/dist/src/web/frontend/node_modules/.nanoid-PAMEV9Hd/url-alphabet/index.js +0 -3
  162. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/bin/nodemon.js +0 -16
  163. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/cli/index.js +0 -49
  164. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/cli/parse.js +0 -230
  165. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/command.js +0 -43
  166. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/defaults.js +0 -34
  167. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/exec.js +0 -234
  168. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/index.js +0 -93
  169. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/config/load.js +0 -225
  170. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/help/index.js +0 -27
  171. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/index.js +0 -1
  172. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/index.js +0 -4
  173. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/match.js +0 -287
  174. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/run.js +0 -562
  175. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/signals.js +0 -34
  176. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/monitor/watch.js +0 -244
  177. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/nodemon.js +0 -317
  178. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/add.js +0 -89
  179. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/index.js +0 -53
  180. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/rules/parse.js +0 -43
  181. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/spawn.js +0 -74
  182. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/bus.js +0 -44
  183. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/clone.js +0 -40
  184. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/colour.js +0 -26
  185. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/index.js +0 -103
  186. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/log.js +0 -82
  187. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/utils/merge.js +0 -47
  188. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/lib/version.js +0 -100
  189. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/brace-expansion/index.js +0 -201
  190. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/has-flag/index.js +0 -8
  191. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/minimatch/minimatch.js +0 -947
  192. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/supports-color/browser.js +0 -5
  193. package/dist/src/web/frontend/node_modules/.nodemon-QcvNKhKT/node_modules/supports-color/index.js +0 -131
  194. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/bin/pidtree.js +0 -128
  195. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/index.js +0 -49
  196. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/bin.js +0 -61
  197. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/get.js +0 -45
  198. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/pidtree.js +0 -104
  199. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/ps.js +0 -47
  200. package/dist/src/web/frontend/node_modules/.pidtree-icfat3SQ/lib/wmic.js +0 -49
  201. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/doc.js +0 -1270
  202. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/acorn.js +0 -15
  203. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/angular.js +0 -2
  204. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/babel.js +0 -15
  205. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/estree.js +0 -36
  206. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/flow.js +0 -19
  207. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/glimmer.js +0 -29
  208. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/graphql.js +0 -29
  209. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/html.js +0 -22
  210. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/markdown.js +0 -63
  211. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/meriyah.js +0 -4
  212. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/postcss.js +0 -54
  213. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/typescript.js +0 -20
  214. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/plugins/yaml.js +0 -160
  215. package/dist/src/web/frontend/node_modules/.prettier-ApZm3b7s/standalone.js +0 -34
  216. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/bin/react-scripts.js +0 -58
  217. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/env.js +0 -112
  218. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/getHttpsConfig.js +0 -74
  219. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/babelTransform.js +0 -37
  220. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/cssTransform.js +0 -22
  221. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/jest/fileTransform.js +0 -40
  222. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/modules.js +0 -142
  223. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/paths.js +0 -153
  224. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  225. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpack.config.js +0 -796
  226. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/config/webpackDevServer.config.js +0 -135
  227. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/scripts/build.js +0 -225
  228. package/dist/src/web/frontend/node_modules/.react-scripts-OTANyoRb/scripts/eject.js +0 -340
@@ -0,0 +1,527 @@
1
+ /**
2
+ * Performance Benchmarking System for Real-time Communication Methods
3
+ * Tests and compares WebSocket, SSE, and Custom Sync implementations
4
+ */ function _define_property(obj, key, value) {
5
+ if (key in obj) {
6
+ Object.defineProperty(obj, key, {
7
+ value: value,
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true
11
+ });
12
+ } else {
13
+ obj[key] = value;
14
+ }
15
+ return obj;
16
+ }
17
+ export class PerformanceBenchmark {
18
+ /**
19
+ * Run comprehensive benchmark suite
20
+ */ async runBenchmarkSuite() {
21
+ console.log('šŸš€ Starting comprehensive performance benchmark suite...');
22
+ this.isRunning = true;
23
+ this.startTime = Date.now();
24
+ this.results.clear();
25
+ this.latencyMeasurements.clear();
26
+ const protocols = [
27
+ 'websocket',
28
+ 'sse',
29
+ 'custom-sync'
30
+ ];
31
+ const allResults = [];
32
+ for (const protocol of protocols){
33
+ console.log(`\nšŸ“Š Testing ${protocol.toUpperCase()} protocol...`);
34
+ for (const scenario of this.config.testScenarios){
35
+ const metrics = await this.runSingleBenchmark(protocol, scenario);
36
+ allResults.push(metrics);
37
+ this.storeResult(protocol, metrics);
38
+ }
39
+ }
40
+ const summary = this.generateSummary(allResults);
41
+ const result = {
42
+ timestamp: new Date(),
43
+ config: this.config,
44
+ results: allResults,
45
+ summary
46
+ };
47
+ this.isRunning = false;
48
+ console.log('\nāœ… Benchmark suite completed!');
49
+ this.printSummary(summary);
50
+ return result;
51
+ }
52
+ /**
53
+ * Run a single benchmark test
54
+ */ async runSingleBenchmark(protocol, scenario) {
55
+ console.log(` šŸ”„ Running ${scenario} test for ${protocol}...`);
56
+ const startTime = Date.now();
57
+ let connection = null;
58
+ let messageCount = 0;
59
+ let successCount = 0;
60
+ let errorCount = 0;
61
+ let totalLatency = 0;
62
+ let minLatency = Infinity;
63
+ let maxLatency = 0;
64
+ let bandwidthUsed = 0;
65
+ let reconnectionTime = 0;
66
+ let connectionTime = 0;
67
+ try {
68
+ // Initialize connection
69
+ const connectionStart = Date.now();
70
+ connection = await this.createConnection(protocol);
71
+ connectionTime = Date.now() - connectionStart;
72
+ // Setup message handlers
73
+ const measurements1 = [];
74
+ if (this.config.enableLatencyMeasurement) {
75
+ this.setupLatencyMeasurement(connection, protocol, measurements1);
76
+ }
77
+ // Run scenario-specific test
78
+ switch(scenario){
79
+ case 'latency':
80
+ ({ messageCount, successCount, errorCount } = await this.runLatencyTest(connection, protocol));
81
+ break;
82
+ case 'throughput':
83
+ ({ messageCount, successCount, errorCount } = await this.runThroughputTest(connection, protocol));
84
+ break;
85
+ case 'reliability':
86
+ ({ messageCount, successCount, errorCount } = await this.runReliabilityTest(connection, protocol));
87
+ break;
88
+ case 'reconnection':
89
+ reconnectionTime = await this.runReconnectionTest(connection, protocol);
90
+ ({ messageCount, successCount, errorCount } = {
91
+ messageCount: 0,
92
+ successCount: 0,
93
+ errorCount: 0
94
+ });
95
+ break;
96
+ case 'stress':
97
+ ({ messageCount, successCount, errorCount } = await this.runStressTest(connection, protocol));
98
+ break;
99
+ default:
100
+ throw new Error(`Unknown test scenario: ${scenario}`);
101
+ }
102
+ // Calculate latency metrics
103
+ if (measurements1.length > 0) {
104
+ const latencies = measurements1.map((m)=>m.latency);
105
+ totalLatency = latencies.reduce((sum, l)=>sum + l, 0);
106
+ minLatency = Math.min(...latencies);
107
+ maxLatency = Math.max(...latencies);
108
+ }
109
+ // Calculate bandwidth
110
+ bandwidthUsed = messageCount * this.config.messageSize;
111
+ // Get system metrics
112
+ const systemMetrics = await this.getSystemMetrics();
113
+ } catch (error) {
114
+ console.error(` āŒ ${scenario} test failed for ${protocol}:`, error);
115
+ errorCount++;
116
+ } finally{
117
+ if (connection) {
118
+ await this.closeConnection(connection, protocol);
119
+ }
120
+ }
121
+ const duration = Date.now() - startTime;
122
+ const averageLatency = measurements.length > 0 ? totalLatency / measurements.length : 0;
123
+ const throughput = messageCount / (duration / 1000);
124
+ const errorRate = messageCount > 0 ? errorCount / messageCount * 100 : 0;
125
+ const reliability = messageCount > 0 ? successCount / messageCount * 100 : 0;
126
+ return {
127
+ protocol,
128
+ scenario,
129
+ duration,
130
+ totalMessages: messageCount,
131
+ successfulMessages: successCount,
132
+ failedMessages: errorCount,
133
+ averageLatency,
134
+ minLatency: minLatency === Infinity ? 0 : minLatency,
135
+ maxLatency,
136
+ p95Latency: this.calculatePercentile(measurements, 95),
137
+ p99Latency: this.calculatePercentile(measurements, 99),
138
+ throughput,
139
+ bandwidthUsage: bandwidthUsed / (duration / 1000),
140
+ errorRate,
141
+ reconnectionTime,
142
+ cpuUsage: 0,
143
+ memoryUsage: 0,
144
+ connectionTime,
145
+ reliability
146
+ };
147
+ }
148
+ /**
149
+ * Create connection for specific protocol
150
+ */ async createConnection(protocol) {
151
+ const { NativeWebSocketManager } = await import("./NativeWebSocketManager.js");
152
+ const { SSEManager } = await import("./SSEManager.js");
153
+ const { CustomSyncManager } = await import("./CustomSyncManager.js");
154
+ switch(protocol){
155
+ case 'websocket':
156
+ return new NativeWebSocketManager({
157
+ url: `ws://${window.location.host}/ws-benchmark`,
158
+ autoConnect: true
159
+ });
160
+ case 'sse':
161
+ return new SSEManager({
162
+ url: `${window.location.origin}/api/events-benchmark`,
163
+ autoConnect: true
164
+ });
165
+ case 'custom-sync':
166
+ return new CustomSyncManager({
167
+ url: `${window.location.origin}/api/sync-benchmark`,
168
+ syncInterval: 1000
169
+ });
170
+ default:
171
+ throw new Error(`Unknown protocol: ${protocol}`);
172
+ }
173
+ }
174
+ /**
175
+ * Setup latency measurement for connection
176
+ */ setupLatencyMeasurement(connection, protocol, measurements1) {
177
+ const handleMessage = (data)=>{
178
+ if (data.type === 'pong' || data.type === 'latency_response') {
179
+ const now = Date.now();
180
+ const sentTime = data.timestamp || data.sentTime;
181
+ const latency = now - sentTime;
182
+ measurements1.push({
183
+ messageId: data.messageId || `msg_${Date.now()}`,
184
+ sentTime,
185
+ receivedTime: now,
186
+ latency
187
+ });
188
+ }
189
+ };
190
+ // Subscribe based on protocol
191
+ if (protocol === 'websocket') {
192
+ connection.subscribe('pong', handleMessage);
193
+ } else if (protocol === 'sse') {
194
+ connection.subscribe('pong', handleMessage);
195
+ } else if (protocol === 'custom-sync') {
196
+ connection.subscribe('latency_response', handleMessage);
197
+ }
198
+ }
199
+ /**
200
+ * Run latency test
201
+ */ async runLatencyTest(connection, protocol) {
202
+ const messageCount = Math.floor(this.config.duration / 1000); // 1 message per second
203
+ let successCount = 0;
204
+ let errorCount = 0;
205
+ for(let i = 0; i < messageCount; i++){
206
+ try {
207
+ const message = {
208
+ type: 'ping',
209
+ timestamp: Date.now(),
210
+ messageId: `latency_${protocol}_${i}`
211
+ };
212
+ if (protocol === 'websocket') {
213
+ connection.sendMessage('ping', message, message.messageId);
214
+ } else if (protocol === 'sse') {
215
+ // SSE is unidirectional, so we can't send pings
216
+ successCount++;
217
+ } else if (protocol === 'custom-sync') {
218
+ connection.sendMessage('ping', message);
219
+ }
220
+ await this.sleep(1000); // Wait 1 second between messages
221
+ successCount++;
222
+ } catch (error) {
223
+ console.error(`Latency test error for ${protocol}:`, error);
224
+ errorCount++;
225
+ }
226
+ }
227
+ return {
228
+ messageCount,
229
+ successCount,
230
+ errorCount
231
+ };
232
+ }
233
+ /**
234
+ * Run throughput test
235
+ */ async runThroughputTest(connection, protocol) {
236
+ const messageCount = Math.floor(this.config.duration * this.config.messageFrequency / 1000);
237
+ let successCount = 0;
238
+ let errorCount = 0;
239
+ const interval = 1000 / this.config.messageFrequency;
240
+ for(let i = 0; i < messageCount; i++){
241
+ try {
242
+ const message = {
243
+ type: 'benchmark',
244
+ data: this.generateTestData(this.config.messageSize),
245
+ sequence: i
246
+ };
247
+ if (protocol === 'websocket') {
248
+ connection.sendMessage('benchmark', message);
249
+ } else if (protocol === 'sse') {
250
+ // SSE is server-sent only
251
+ successCount++;
252
+ } else if (protocol === 'custom-sync') {
253
+ connection.sendMessage('benchmark', message);
254
+ }
255
+ successCount++;
256
+ await this.sleep(interval);
257
+ } catch (error) {
258
+ console.error(`Throughput test error for ${protocol}:`, error);
259
+ errorCount++;
260
+ }
261
+ }
262
+ return {
263
+ messageCount,
264
+ successCount,
265
+ errorCount
266
+ };
267
+ }
268
+ /**
269
+ * Run reliability test
270
+ */ async runReliabilityTest(connection, protocol) {
271
+ const messageCount = 100;
272
+ let successCount = 0;
273
+ let errorCount = 0;
274
+ for(let i = 0; i < messageCount; i++){
275
+ try {
276
+ const message = {
277
+ type: 'reliability_test',
278
+ data: {
279
+ testId: i,
280
+ timestamp: Date.now()
281
+ }
282
+ };
283
+ if (protocol === 'websocket') {
284
+ connection.sendMessage('reliability_test', message);
285
+ } else if (protocol === 'custom-sync') {
286
+ connection.sendMessage('reliability_test', message);
287
+ }
288
+ // Wait for acknowledgment
289
+ await this.sleep(100);
290
+ successCount++;
291
+ } catch (error) {
292
+ console.error(`Reliability test error for ${protocol}:`, error);
293
+ errorCount++;
294
+ }
295
+ }
296
+ return {
297
+ messageCount,
298
+ successCount,
299
+ errorCount
300
+ };
301
+ }
302
+ /**
303
+ * Run reconnection test
304
+ */ async runReconnectionTest(connection, protocol) {
305
+ console.log(` šŸ”„ Testing reconnection for ${protocol}...`);
306
+ const disconnectStart = Date.now();
307
+ try {
308
+ // Disconnect
309
+ connection.disconnect();
310
+ await this.sleep(2000); // Wait 2 seconds
311
+ // Reconnect
312
+ await connection.connect();
313
+ const reconnectionTime = Date.now() - disconnectStart;
314
+ console.log(` āœ… ${protocol} reconnection time: ${reconnectionTime}ms`);
315
+ return reconnectionTime;
316
+ } catch (error) {
317
+ console.error(` āŒ ${protocol} reconnection failed:`, error);
318
+ return -1;
319
+ }
320
+ }
321
+ /**
322
+ * Run stress test
323
+ */ async runStressTest(connection, protocol) {
324
+ const messageCount = 1000; // High frequency
325
+ let successCount = 0;
326
+ let errorCount = 0;
327
+ for(let i = 0; i < messageCount; i++){
328
+ try {
329
+ const message = {
330
+ type: 'stress_test',
331
+ data: this.generateTestData(2048),
332
+ sequence: i,
333
+ burst: true
334
+ };
335
+ if (protocol === 'websocket') {
336
+ connection.sendMessage('stress_test', message);
337
+ } else if (protocol === 'custom-sync') {
338
+ connection.sendMessage('stress_test', message);
339
+ }
340
+ successCount++;
341
+ // No sleep for stress test - send as fast as possible
342
+ } catch (error) {
343
+ console.error(`Stress test error for ${protocol}:`, error);
344
+ errorCount++;
345
+ }
346
+ }
347
+ return {
348
+ messageCount,
349
+ successCount,
350
+ errorCount
351
+ };
352
+ }
353
+ /**
354
+ * Generate test data of specified size
355
+ */ generateTestData(size) {
356
+ const data = 'x'.repeat(size);
357
+ return data;
358
+ }
359
+ /**
360
+ * Calculate percentile from measurements
361
+ */ calculatePercentile(measurements1, percentile) {
362
+ if (measurements1.length === 0) return 0;
363
+ const latencies = measurements1.map((m)=>m.latency).sort((a, b)=>a - b);
364
+ const index = Math.ceil(percentile / 100 * latencies.length) - 1;
365
+ return latencies[Math.max(0, index)];
366
+ }
367
+ /**
368
+ * Get system metrics (placeholder implementation)
369
+ */ async getSystemMetrics() {
370
+ // In a real implementation, this would use performance APIs
371
+ return {
372
+ cpuUsage: Math.random() * 20,
373
+ memoryUsage: Math.random() * 100 // Mock memory usage in MB
374
+ };
375
+ }
376
+ /**
377
+ * Close connection for specific protocol
378
+ */ async closeConnection(connection, protocol) {
379
+ try {
380
+ if (connection.disconnect) {
381
+ connection.disconnect();
382
+ } else if (connection.close) {
383
+ connection.close();
384
+ }
385
+ } catch (error) {
386
+ console.error(`Error closing ${protocol} connection:`, error);
387
+ }
388
+ }
389
+ /**
390
+ * Store benchmark result
391
+ */ storeResult(protocol, metrics) {
392
+ if (!this.results.has(protocol)) {
393
+ this.results.set(protocol, []);
394
+ }
395
+ this.results.get(protocol).push(metrics);
396
+ }
397
+ /**
398
+ * Generate summary of results
399
+ */ generateSummary(allResults) {
400
+ // Group by protocol
401
+ const protocolResults = new Map();
402
+ for (const result of allResults){
403
+ if (!protocolResults.has(result.protocol)) {
404
+ protocolResults.set(result.protocol, []);
405
+ }
406
+ protocolResults.get(result.protocol).push(result);
407
+ }
408
+ // Find best performers
409
+ let bestLatency = '';
410
+ let bestThroughput = '';
411
+ let bestReliability = '';
412
+ let mostEfficient = '';
413
+ let minAvgLatency = Infinity;
414
+ let maxThroughput = 0;
415
+ let maxReliability = 0;
416
+ let minBandwidthUsage = Infinity;
417
+ for (const [protocol, results] of protocolResults){
418
+ const avgLatency = results.reduce((sum, r)=>sum + r.averageLatency, 0) / results.length;
419
+ const avgThroughput = results.reduce((sum, r)=>sum + r.throughput, 0) / results.length;
420
+ const avgReliability = results.reduce((sum, r)=>sum + r.reliability, 0) / results.length;
421
+ const avgBandwidth = results.reduce((sum, r)=>sum + r.bandwidthUsage, 0) / results.length;
422
+ if (avgLatency < minAvgLatency) {
423
+ minAvgLatency = avgLatency;
424
+ bestLatency = protocol;
425
+ }
426
+ if (avgThroughput > maxThroughput) {
427
+ maxThroughput = avgThroughput;
428
+ bestThroughput = protocol;
429
+ }
430
+ if (avgReliability > maxReliability) {
431
+ maxReliability = avgReliability;
432
+ bestReliability = protocol;
433
+ }
434
+ if (avgBandwidth < minBandwidthUsage) {
435
+ minBandwidthUsage = avgBandwidth;
436
+ mostEfficient = protocol;
437
+ }
438
+ }
439
+ // Generate recommendation
440
+ const recommendation = this.generateRecommendation(bestLatency, bestThroughput, bestReliability, mostEfficient);
441
+ return {
442
+ bestLatency,
443
+ bestThroughput,
444
+ bestReliability,
445
+ mostEfficient,
446
+ recommendation
447
+ };
448
+ }
449
+ /**
450
+ * Generate recommendation based on results
451
+ */ generateRecommendation(bestLatency, bestThroughput, bestReliability, mostEfficient) {
452
+ if (bestLatency === bestThroughput && bestThroughput === bestReliability) {
453
+ return `Use ${bestLatency} - it performs best across all metrics`;
454
+ }
455
+ if (bestLatency === 'websocket' && bestReliability === 'websocket') {
456
+ return 'Use WebSocket for real-time applications requiring low latency and high reliability';
457
+ }
458
+ if (mostEfficient === 'sse') {
459
+ return 'Use Server-Sent Events for simple data streaming with minimal overhead';
460
+ }
461
+ if (bestReliability === 'custom-sync') {
462
+ return 'Use Custom Sync for environments with restrictive network policies';
463
+ }
464
+ return 'Choose protocol based on specific requirements: WebSocket for real-time, SSE for simplicity, Custom Sync for compatibility';
465
+ }
466
+ /**
467
+ * Print summary to console
468
+ */ printSummary(summary) {
469
+ console.log('\nšŸ“Š BENCHMARK SUMMARY');
470
+ console.log('==================');
471
+ console.log(`šŸš€ Best Latency: ${summary.bestLatency.toUpperCase()}`);
472
+ console.log(`⚔ Best Throughput: ${summary.bestThroughput.toUpperCase()}`);
473
+ console.log(`šŸ”’ Most Reliable: ${summary.bestReliability.toUpperCase()}`);
474
+ console.log(`šŸ’” Most Efficient: ${summary.mostEfficient.toUpperCase()}`);
475
+ console.log(`\nšŸŽÆ RECOMMENDATION:`);
476
+ console.log(summary.recommendation);
477
+ }
478
+ /**
479
+ * Export results to JSON
480
+ */ exportResults(result) {
481
+ return JSON.stringify(result, null, 2);
482
+ }
483
+ /**
484
+ * Sleep utility
485
+ */ sleep(ms) {
486
+ return new Promise((resolve)=>setTimeout(resolve, ms));
487
+ }
488
+ /**
489
+ * Check if benchmark is running
490
+ */ isBenchmarkRunning() {
491
+ return this.isRunning;
492
+ }
493
+ /**
494
+ * Get current progress
495
+ */ getProgress() {
496
+ if (!this.isRunning) return 0;
497
+ const elapsed = Date.now() - this.startTime;
498
+ return Math.min(elapsed / this.config.duration * 100, 100);
499
+ }
500
+ constructor(config = {}){
501
+ _define_property(this, "config", void 0);
502
+ _define_property(this, "results", new Map());
503
+ _define_property(this, "latencyMeasurements", new Map());
504
+ _define_property(this, "activeConnections", new Map());
505
+ _define_property(this, "isRunning", false);
506
+ _define_property(this, "startTime", 0);
507
+ this.config = {
508
+ duration: 60000,
509
+ messageFrequency: 100,
510
+ messageSize: 1024,
511
+ concurrentConnections: 10,
512
+ testScenarios: [
513
+ 'latency',
514
+ 'throughput',
515
+ 'reliability',
516
+ 'reconnection',
517
+ 'stress'
518
+ ],
519
+ enableLatencyMeasurement: true,
520
+ enableThroughputMeasurement: true,
521
+ enableReliabilityTesting: true,
522
+ enableReconnectionTesting: true,
523
+ ...config
524
+ };
525
+ }
526
+ }
527
+ export default PerformanceBenchmark;