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,353 @@
1
+ /**
2
+ * APM API Routes
3
+ * REST API endpoints for APM integration, health checks, and metrics
4
+ */ import { Router } from "express";
5
+ import { createAPMIntegration } from "../../monitoring/apm/apm-integration.js";
6
+ const router = Router();
7
+ // Initialize APM integration with environment configuration
8
+ const apmIntegration = createAPMIntegration({
9
+ dataDog: {
10
+ enabled: process.env.DATADOG_ENABLED === 'true',
11
+ apiKey: process.env.DATADOG_API_KEY,
12
+ site: process.env.DATADOG_SITE || 'datadoghq.com',
13
+ serviceName: process.env.DATADOG_SERVICE_NAME || 'claude-flow-novice',
14
+ env: process.env.NODE_ENV || 'production',
15
+ version: process.env.npm_package_version || '1.6.2'
16
+ },
17
+ newRelic: {
18
+ enabled: process.env.NEWRELIC_ENABLED === 'true',
19
+ licenseKey: process.env.NEWRELIC_LICENSE_KEY,
20
+ appName: process.env.NEWRELIC_APP_NAME || 'Claude Flow Novice',
21
+ accountId: process.env.NEWRELIC_ACCOUNT_ID
22
+ },
23
+ distributedTracing: {
24
+ enabled: process.env.DISTRIBUTED_TRACING_ENABLED !== 'false',
25
+ samplingRate: parseFloat(process.env.TRACE_SAMPLING_RATE || '1.0')
26
+ },
27
+ performanceOptimization: {
28
+ enabled: process.env.PERFORMANCE_OPTIMIZATION_ENABLED !== 'false',
29
+ monitoringInterval: parseInt(process.env.PERFORMANCE_MONITORING_INTERVAL || '5000')
30
+ },
31
+ customMetrics: {
32
+ enabled: process.env.CUSTOM_METRICS_ENABLED !== 'false',
33
+ interval: parseInt(process.env.CUSTOM_METRICS_INTERVAL || '10000')
34
+ },
35
+ alerting: {
36
+ enabled: process.env.APM_ALERTING_ENABLED === 'true',
37
+ webhookUrl: process.env.APM_WEBHOOK_URL,
38
+ slackChannel: process.env.APM_SLACK_CHANNEL,
39
+ emailRecipients: process.env.APM_EMAIL_RECIPIENTS?.split(',').filter(Boolean)
40
+ }
41
+ });
42
+ // Health check endpoint
43
+ router.get('/health', async (req, res)=>{
44
+ try {
45
+ const health = await apmIntegration.getHealthStatus();
46
+ const statusCode = health.overall === 'healthy' ? 200 : health.overall === 'degraded' ? 200 : 503;
47
+ res.status(statusCode).json(health);
48
+ } catch (error) {
49
+ console.error('Health check failed:', error);
50
+ res.status(500).json({
51
+ error: 'Health check failed',
52
+ message: error.message
53
+ });
54
+ }
55
+ });
56
+ // Performance metrics endpoint
57
+ router.get('/metrics', async (req, res)=>{
58
+ try {
59
+ const timeRange = req.query.timeRange || '1h';
60
+ const analytics = apmIntegration.getPerformanceAnalytics();
61
+ res.json({
62
+ timeRange,
63
+ timestamp: new Date().toISOString(),
64
+ ...analytics
65
+ });
66
+ } catch (error) {
67
+ console.error('Failed to fetch metrics:', error);
68
+ res.status(500).json({
69
+ error: 'Failed to fetch metrics',
70
+ message: error.message
71
+ });
72
+ }
73
+ });
74
+ // Custom metrics recording endpoint
75
+ router.post('/metrics/custom', async (req, res)=>{
76
+ try {
77
+ const { metricName, value, tags, type } = req.body;
78
+ if (!metricName || value === undefined) {
79
+ return res.status(400).json({
80
+ error: 'Missing required fields: metricName, value'
81
+ });
82
+ }
83
+ apmIntegration.recordBusinessMetric(metricName, value, tags, type);
84
+ res.json({
85
+ success: true,
86
+ message: 'Custom metric recorded successfully',
87
+ metricName,
88
+ value,
89
+ tags,
90
+ type: type || 'gauge'
91
+ });
92
+ } catch (error) {
93
+ console.error('Failed to record custom metric:', error);
94
+ res.status(500).json({
95
+ error: 'Failed to record custom metric',
96
+ message: error.message
97
+ });
98
+ }
99
+ });
100
+ // Agent lifecycle tracing endpoint
101
+ router.post('/trace/agent', async (req, res)=>{
102
+ try {
103
+ const { agentType, lifecycleEvent, agentId, metadata } = req.body;
104
+ if (!agentType || !lifecycleEvent) {
105
+ return res.status(400).json({
106
+ error: 'Missing required fields: agentType, lifecycleEvent'
107
+ });
108
+ }
109
+ apmIntegration.traceAgentLifecycle(agentType, lifecycleEvent, agentId, metadata);
110
+ res.json({
111
+ success: true,
112
+ message: 'Agent lifecycle trace recorded successfully',
113
+ agentType,
114
+ lifecycleEvent,
115
+ agentId,
116
+ metadata
117
+ });
118
+ } catch (error) {
119
+ console.error('Failed to trace agent lifecycle:', error);
120
+ res.status(500).json({
121
+ error: 'Failed to trace agent lifecycle',
122
+ message: error.message
123
+ });
124
+ }
125
+ });
126
+ // Swarm activity tracing endpoint
127
+ router.post('/trace/swarm', async (req, res)=>{
128
+ try {
129
+ const { swarmId, activity, topology, agentCount, metadata } = req.body;
130
+ if (!swarmId || !activity || !topology) {
131
+ return res.status(400).json({
132
+ error: 'Missing required fields: swarmId, activity, topology'
133
+ });
134
+ }
135
+ apmIntegration.traceSwarmActivity(swarmId, activity, topology, agentCount, metadata);
136
+ res.json({
137
+ success: true,
138
+ message: 'Swarm activity trace recorded successfully',
139
+ swarmId,
140
+ activity,
141
+ topology,
142
+ agentCount,
143
+ metadata
144
+ });
145
+ } catch (error) {
146
+ console.error('Failed to trace swarm activity:', error);
147
+ res.status(500).json({
148
+ error: 'Failed to trace swarm activity',
149
+ message: error.message
150
+ });
151
+ }
152
+ });
153
+ // WebSocket performance endpoint
154
+ router.post('/trace/websocket', async (req, res)=>{
155
+ try {
156
+ const { operation, socketId, duration, success, metadata } = req.body;
157
+ if (!operation || !socketId) {
158
+ return res.status(400).json({
159
+ error: 'Missing required fields: operation, socketId'
160
+ });
161
+ }
162
+ apmIntegration.optimizeWebSocketPerformance(operation, socketId, duration, success, metadata);
163
+ res.json({
164
+ success: true,
165
+ message: 'WebSocket performance trace recorded successfully',
166
+ operation,
167
+ socketId,
168
+ duration,
169
+ success,
170
+ metadata
171
+ });
172
+ } catch (error) {
173
+ console.error('Failed to trace WebSocket performance:', error);
174
+ res.status(500).json({
175
+ error: 'Failed to trace WebSocket performance',
176
+ message: error.message
177
+ });
178
+ }
179
+ });
180
+ // Database performance monitoring endpoint
181
+ router.post('/trace/database', async (req, res)=>{
182
+ try {
183
+ const { operation, query, duration, success, metadata } = req.body;
184
+ if (!operation) {
185
+ return res.status(400).json({
186
+ error: 'Missing required field: operation'
187
+ });
188
+ }
189
+ apmIntegration.monitorDatabasePerformance(operation, query, duration, success, metadata);
190
+ res.json({
191
+ success: true,
192
+ message: 'Database performance trace recorded successfully',
193
+ operation,
194
+ query,
195
+ duration,
196
+ success,
197
+ metadata
198
+ });
199
+ } catch (error) {
200
+ console.error('Failed to monitor database performance:', error);
201
+ res.status(500).json({
202
+ error: 'Failed to monitor database performance',
203
+ message: error.message
204
+ });
205
+ }
206
+ });
207
+ // Integration test endpoint
208
+ router.post('/test/integration', async (req, res)=>{
209
+ try {
210
+ const results = await apmIntegration.runIntegrationTest();
211
+ res.json({
212
+ success: true,
213
+ results
214
+ });
215
+ } catch (error) {
216
+ console.error('Integration test failed:', error);
217
+ res.status(500).json({
218
+ error: 'Integration test failed',
219
+ message: error.message
220
+ });
221
+ }
222
+ });
223
+ // Disaster recovery test endpoint
224
+ router.post('/test/disaster-recovery', async (req, res)=>{
225
+ try {
226
+ const results = await apmIntegration.runDisasterRecoveryTest();
227
+ res.json({
228
+ success: true,
229
+ results
230
+ });
231
+ } catch (error) {
232
+ console.error('Disaster recovery test failed:', error);
233
+ res.status(500).json({
234
+ error: 'Disaster recovery test failed',
235
+ message: error.message
236
+ });
237
+ }
238
+ });
239
+ // Configuration endpoint
240
+ router.get('/config', (req, res)=>{
241
+ try {
242
+ const collectors = apmIntegration.getCollectors();
243
+ res.json({
244
+ dataDog: !!collectors.dataDog,
245
+ newRelic: !!collectors.newRelic,
246
+ distributedTracing: !!collectors.distributedTracer,
247
+ performanceOptimizer: !!collectors.performanceOptimizer,
248
+ timestamp: new Date().toISOString()
249
+ });
250
+ } catch (error) {
251
+ console.error('Failed to get APM config:', error);
252
+ res.status(500).json({
253
+ error: 'Failed to get APM configuration',
254
+ message: error.message
255
+ });
256
+ }
257
+ });
258
+ // Recommendations endpoint
259
+ router.get('/recommendations', (req, res)=>{
260
+ try {
261
+ const analytics = apmIntegration.getPerformanceAnalytics();
262
+ res.json({
263
+ recommendations: analytics.recommendations,
264
+ timestamp: new Date().toISOString()
265
+ });
266
+ } catch (error) {
267
+ console.error('Failed to get recommendations:', error);
268
+ res.status(500).json({
269
+ error: 'Failed to get recommendations',
270
+ message: error.message
271
+ });
272
+ }
273
+ });
274
+ // Slow queries endpoint
275
+ router.get('/slow-queries', (req, res)=>{
276
+ try {
277
+ const collectors = apmIntegration.getCollectors();
278
+ if (!collectors.performanceOptimizer) {
279
+ return res.status(503).json({
280
+ error: 'Performance optimizer not available'
281
+ });
282
+ }
283
+ const slowQueries = collectors.performanceOptimizer.getSlowQueries();
284
+ res.json({
285
+ slowQueries,
286
+ count: slowQueries.length,
287
+ timestamp: new Date().toISOString()
288
+ });
289
+ } catch (error) {
290
+ console.error('Failed to get slow queries:', error);
291
+ res.status(500).json({
292
+ error: 'Failed to get slow queries',
293
+ message: error.message
294
+ });
295
+ }
296
+ });
297
+ // Cache performance endpoint
298
+ router.get('/cache-performance', (req, res)=>{
299
+ try {
300
+ const collectors = apmIntegration.getCollectors();
301
+ if (!collectors.performanceOptimizer) {
302
+ return res.status(503).json({
303
+ error: 'Performance optimizer not available'
304
+ });
305
+ }
306
+ const cacheHitRates = collectors.performanceOptimizer.getCacheHitRates();
307
+ res.json({
308
+ cacheHitRates: Object.fromEntries(cacheHitRates),
309
+ timestamp: new Date().toISOString()
310
+ });
311
+ } catch (error) {
312
+ console.error('Failed to get cache performance:', error);
313
+ res.status(500).json({
314
+ error: 'Failed to get cache performance',
315
+ message: error.message
316
+ });
317
+ }
318
+ });
319
+ // Middleware to add APM tracing to all requests
320
+ router.use((req, res, next)=>{
321
+ const startTime = Date.now();
322
+ // Extract trace context from headers
323
+ const traceContext = {
324
+ traceId: req.headers['x-trace-id'],
325
+ spanId: req.headers['x-span-id'],
326
+ parentSpanId: req.headers['x-parent-span-id']
327
+ };
328
+ // Record the request
329
+ res.on('finish', ()=>{
330
+ const duration = Date.now() - startTime;
331
+ const success = res.statusCode < 400;
332
+ // Record API call metrics
333
+ if (traceContext.traceId) {
334
+ // This is part of an existing trace
335
+ apmIntegration.monitorDatabasePerformance('api_request', undefined, duration, success, {
336
+ method: req.method,
337
+ route: req.route?.path || req.path,
338
+ statusCode: res.statusCode.toString(),
339
+ userAgent: req.headers['user-agent']
340
+ });
341
+ } else {
342
+ // Create a new trace for this request
343
+ apmIntegration.traceAgentLifecycle('api-gateway', 'execute', undefined, {
344
+ method: req.method,
345
+ route: req.route?.path || req.path,
346
+ statusCode: res.statusCode.toString(),
347
+ duration: duration.toString()
348
+ });
349
+ }
350
+ });
351
+ next();
352
+ });
353
+ export default router;
@@ -0,0 +1,184 @@
1
+ /**
2
+ * API Server Configuration
3
+ *
4
+ * Configuration settings for the transparency API server
5
+ * including security, CORS, rate limiting, and other options.
6
+ *
7
+ * @module web/api/config/api-config
8
+ */ /**
9
+ * Create default API configuration
10
+ */ export function createApiConfig() {
11
+ const env = process.env.NODE_ENV || 'development';
12
+ return {
13
+ port: parseInt(process.env.API_PORT || '3001', 10),
14
+ host: process.env.API_HOST || 'localhost',
15
+ environment: env,
16
+ // CORS configuration
17
+ corsOrigins: env === 'production' ? process.env.CORS_ORIGINS?.split(',') || [
18
+ 'https://localhost:3000'
19
+ ] : [
20
+ 'http://localhost:3000',
21
+ 'http://localhost:3001',
22
+ 'http://127.0.0.1:3000'
23
+ ],
24
+ // Rate limiting
25
+ rateLimitWindowMs: parseInt(process.env.RATE_LIMIT_WINDOW_MS || '900000', 10),
26
+ rateLimitMax: parseInt(process.env.RATE_LIMIT_MAX || '100', 10),
27
+ // Security
28
+ sessionSecret: process.env.SESSION_SECRET || 'change-me-in-production',
29
+ jwtSecret: process.env.JWT_SECRET || 'change-me-in-production',
30
+ jwtExpiration: process.env.JWT_EXPIRATION || '24h',
31
+ apiKey: process.env.API_KEY || 'change-me-in-production',
32
+ // Logging
33
+ logLevel: process.env.LOG_LEVEL || 'info',
34
+ // Performance
35
+ cacheTtl: parseInt(process.env.CACHE_TTL || '5000', 10),
36
+ enableCompression: process.env.ENABLE_COMPRESSION !== 'false',
37
+ // HTTPS
38
+ enableHttps: process.env.ENABLE_HTTPS === 'true',
39
+ sslCertPath: process.env.SSL_CERT_PATH,
40
+ sslKeyPath: process.env.SSL_KEY_PATH,
41
+ // Metrics
42
+ enableMetrics: process.env.ENABLE_METRICS !== 'false',
43
+ metricsIntervalMs: parseInt(process.env.METRICS_INTERVAL_MS || '60000', 10),
44
+ // Request handling
45
+ maxRequestBodySize: process.env.MAX_REQUEST_BODY_SIZE || '10mb',
46
+ requestTimeoutMs: parseInt(process.env.REQUEST_TIMEOUT_MS || '30000', 10),
47
+ // WebSocket
48
+ websocketPingTimeoutMs: parseInt(process.env.WS_PING_TIMEOUT_MS || '60000', 10),
49
+ websocketPingIntervalMs: parseInt(process.env.WS_PING_INTERVAL_MS || '25000', 10),
50
+ maxWebSocketConnections: parseInt(process.env.MAX_WS_CONNECTIONS || '100', 10),
51
+ // Features
52
+ enableRequestLogging: process.env.ENABLE_REQUEST_LOGGING !== 'false',
53
+ enableDetailedErrors: env === 'development',
54
+ // API info
55
+ apiVersion: process.env.API_VERSION || '1.0.0',
56
+ serverName: process.env.SERVER_NAME || 'Transparency API Server'
57
+ };
58
+ }
59
+ /**
60
+ * Validate API configuration
61
+ */ export function validateApiConfig(config) {
62
+ const errors = [];
63
+ if (config.port < 1 || config.port > 65535) {
64
+ errors.push('Port must be between 1 and 65535');
65
+ }
66
+ if (config.rateLimitWindowMs < 1000) {
67
+ errors.push('Rate limit window must be at least 1000ms');
68
+ }
69
+ if (config.rateLimitMax < 1) {
70
+ errors.push('Rate limit max must be at least 1');
71
+ }
72
+ if (config.cacheTtl < 0) {
73
+ errors.push('Cache TTL cannot be negative');
74
+ }
75
+ if (config.requestTimeoutMs < 1000) {
76
+ errors.push('Request timeout must be at least 1000ms');
77
+ }
78
+ if (config.websocketPingTimeoutMs < 5000) {
79
+ errors.push('WebSocket ping timeout must be at least 5000ms');
80
+ }
81
+ if (config.websocketPingIntervalMs < 1000) {
82
+ errors.push('WebSocket ping interval must be at least 1000ms');
83
+ }
84
+ if (config.maxWebSocketConnections < 1) {
85
+ errors.push('Max WebSocket connections must be at least 1');
86
+ }
87
+ if (config.enableHttps && (!config.sslCertPath || !config.sslKeyPath)) {
88
+ errors.push('SSL certificate and key paths are required when HTTPS is enabled');
89
+ }
90
+ // In production, check for proper security settings
91
+ if (config.environment === 'production') {
92
+ const insecureDefaults = [
93
+ config.sessionSecret === 'change-me-in-production',
94
+ config.jwtSecret === 'change-me-in-production',
95
+ config.apiKey === 'change-me-in-production'
96
+ ];
97
+ if (insecureDefaults.some(Boolean)) {
98
+ errors.push('Production environment requires secure secrets and API keys');
99
+ }
100
+ if (config.corsOrigins.includes('*') || config.corsOrigins.includes('http://localhost:*')) {
101
+ errors.push('Production environment should not use wildcard or localhost CORS origins');
102
+ }
103
+ if (config.enableDetailedErrors) {
104
+ errors.push('Detailed errors should be disabled in production');
105
+ }
106
+ }
107
+ return errors;
108
+ }
109
+ /**
110
+ * Create CORS options from configuration
111
+ */ export function createCorsOptions(config) {
112
+ return {
113
+ origin: (origin, callback)=>{
114
+ // Allow requests with no origin (like mobile apps or curl requests)
115
+ if (!origin) return callback(null, true);
116
+ if (config.corsOrigins.includes('*') || config.corsOrigins.includes(origin) || config.corsOrigins.some((allowed)=>{
117
+ // Support wildcard patterns like http://localhost:*
118
+ if (allowed.includes('*')) {
119
+ const pattern = allowed.replace('*', '.*');
120
+ const regex = new RegExp(`^${pattern}$`);
121
+ return regex.test(origin);
122
+ }
123
+ return false;
124
+ })) {
125
+ callback(null, true);
126
+ } else {
127
+ callback(new Error('Not allowed by CORS'), false);
128
+ }
129
+ },
130
+ methods: [
131
+ 'GET',
132
+ 'POST',
133
+ 'PUT',
134
+ 'DELETE',
135
+ 'PATCH',
136
+ 'OPTIONS'
137
+ ],
138
+ allowedHeaders: [
139
+ 'Content-Type',
140
+ 'Authorization',
141
+ 'X-Requested-With',
142
+ 'X-API-Key'
143
+ ],
144
+ credentials: true,
145
+ preflightContinue: false,
146
+ optionsSuccessStatus: 204
147
+ };
148
+ }
149
+ /**
150
+ * Get environment-specific configuration overrides
151
+ */ export function getEnvironmentOverrides(env) {
152
+ switch(env){
153
+ case 'production':
154
+ return {
155
+ logLevel: 'warn',
156
+ enableDetailedErrors: false,
157
+ enableRequestLogging: false,
158
+ cacheTtl: 30000,
159
+ rateLimitMax: 1000,
160
+ requestTimeoutMs: 60000
161
+ };
162
+ case 'test':
163
+ return {
164
+ port: 0,
165
+ host: '127.0.0.1',
166
+ logLevel: 'error',
167
+ enableRequestLogging: false,
168
+ enableMetrics: false,
169
+ cacheTtl: 100,
170
+ rateLimitMax: 1000,
171
+ maxWebSocketConnections: 10
172
+ };
173
+ case 'development':
174
+ default:
175
+ return {
176
+ logLevel: 'debug',
177
+ enableDetailedErrors: true,
178
+ enableRequestLogging: true,
179
+ enableMetrics: true,
180
+ cacheTtl: 5000,
181
+ rateLimitMax: 1000
182
+ };
183
+ }
184
+ }