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,305 @@
1
+ /**
2
+ * Human Intervention System - Allows humans to redirect agents without stopping them
3
+ * Supports swarm relaunching up to 10 times for iterative improvement
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
+ import { EventEmitter } from "events";
18
+ export class HumanInterventionSystem extends EventEmitter {
19
+ /**
20
+ * Send human intervention to agents with swarm relaunch capability
21
+ */ async sendIntervention(intervention) {
22
+ const interventionId = this.generateInterventionId();
23
+ const fullIntervention = {
24
+ ...intervention,
25
+ id: interventionId,
26
+ status: 'pending'
27
+ };
28
+ // Handle special case: swarm relaunch
29
+ if (intervention.action === 'relaunch-swarm') {
30
+ return await this.handleSwarmRelaunch(fullIntervention);
31
+ }
32
+ this.interventions.set(interventionId, fullIntervention);
33
+ // Add to swarm queue
34
+ if (!this.interventionQueue.has(intervention.swarmId)) {
35
+ this.interventionQueue.set(intervention.swarmId, []);
36
+ }
37
+ this.interventionQueue.get(intervention.swarmId).push(fullIntervention);
38
+ // Emit intervention event
39
+ this.emit('intervention', fullIntervention);
40
+ this.logger.info('Human intervention sent', {
41
+ interventionId,
42
+ swarmId: intervention.swarmId,
43
+ agentId: intervention.agentId,
44
+ action: intervention.action
45
+ });
46
+ return interventionId;
47
+ }
48
+ /**
49
+ * Handle swarm relaunch with learning from previous attempts
50
+ */ async handleSwarmRelaunch(intervention) {
51
+ const currentRelaunch = this.swarmRelaunches.get(intervention.swarmId);
52
+ const relaunchCount = currentRelaunch ? currentRelaunch.relaunchCount + 1 : 1;
53
+ if (relaunchCount > this.MAX_RELAUNCHES) {
54
+ this.logger.warn('Maximum relaunch attempts reached', {
55
+ swarmId: intervention.swarmId,
56
+ relaunchCount
57
+ });
58
+ intervention.status = 'rejected';
59
+ intervention.response = {
60
+ agentId: 'system',
61
+ message: `Cannot relaunch swarm: maximum ${this.MAX_RELAUNCHES} attempts reached`,
62
+ timestamp: new Date().toISOString(),
63
+ actionTaken: 'rejected'
64
+ };
65
+ this.interventions.set(intervention.id, intervention);
66
+ return intervention.id;
67
+ }
68
+ // Create relaunch configuration
69
+ const relaunchConfig = {
70
+ swarmId: intervention.swarmId,
71
+ reason: intervention.message,
72
+ modifications: {
73
+ agentTypes: this.determineOptimalAgentTypes(intervention),
74
+ objective: intervention.metadata?.newGoal,
75
+ constraints: intervention.metadata?.constraints,
76
+ priority: intervention.metadata?.newPriority
77
+ },
78
+ relaunchCount,
79
+ maxRelaunches: this.MAX_RELAUNCHES,
80
+ preserveContext: true,
81
+ learningsFromPrevious: this.extractLearningsFromPreviousAttempts(intervention.swarmId)
82
+ };
83
+ this.swarmRelaunches.set(intervention.swarmId, relaunchConfig);
84
+ intervention.metadata = {
85
+ ...intervention.metadata,
86
+ relaunchCount
87
+ };
88
+ this.interventions.set(intervention.id, intervention);
89
+ // Emit relaunch event
90
+ this.emit('swarm-relaunch-requested', {
91
+ intervention,
92
+ relaunchConfig
93
+ });
94
+ this.logger.info('Swarm relaunch initiated', {
95
+ swarmId: intervention.swarmId,
96
+ relaunchCount,
97
+ reason: intervention.message
98
+ });
99
+ return intervention.id;
100
+ }
101
+ /**
102
+ * Determine optimal agent composition based on previous attempts
103
+ */ determineOptimalAgentTypes(intervention) {
104
+ const relaunchHistory = this.swarmRelaunches.get(intervention.swarmId);
105
+ if (!relaunchHistory) {
106
+ // First attempt - balanced approach
107
+ return [
108
+ 'researcher',
109
+ 'coder',
110
+ 'reviewer'
111
+ ];
112
+ }
113
+ // Adjust based on what worked/didn't work
114
+ const objective = intervention.metadata?.newGoal || 'general';
115
+ if (objective.toLowerCase().includes('research') || objective.toLowerCase().includes('analyze')) {
116
+ return [
117
+ 'researcher',
118
+ 'researcher',
119
+ 'reviewer'
120
+ ]; // Research-heavy
121
+ }
122
+ if (objective.toLowerCase().includes('build') || objective.toLowerCase().includes('implement')) {
123
+ return [
124
+ 'researcher',
125
+ 'coder',
126
+ 'coder'
127
+ ]; // Implementation-heavy
128
+ }
129
+ if (objective.toLowerCase().includes('review') || objective.toLowerCase().includes('quality')) {
130
+ return [
131
+ 'researcher',
132
+ 'reviewer',
133
+ 'reviewer'
134
+ ]; // Quality-focused
135
+ }
136
+ // Default balanced approach
137
+ return [
138
+ 'researcher',
139
+ 'coder',
140
+ 'reviewer'
141
+ ];
142
+ }
143
+ /**
144
+ * Extract learnings from previous swarm attempts
145
+ */ extractLearningsFromPreviousAttempts(swarmId) {
146
+ const learnings = [];
147
+ const interventions = Array.from(this.interventions.values()).filter((i)=>i.swarmId === swarmId).sort((a, b)=>new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());
148
+ for (const intervention of interventions){
149
+ if (intervention.status === 'applied' && intervention.response) {
150
+ learnings.push(`${intervention.action}: ${intervention.response.actionTaken}`);
151
+ }
152
+ if (intervention.metadata?.reasoning) {
153
+ learnings.push(`Human insight: ${intervention.metadata.reasoning}`);
154
+ }
155
+ }
156
+ // Add default learnings for common patterns
157
+ const relaunchCount = this.swarmRelaunches.get(swarmId)?.relaunchCount || 0;
158
+ if (relaunchCount > 0) {
159
+ learnings.push(`This is attempt #${relaunchCount + 1} - apply lessons from previous attempts`);
160
+ }
161
+ if (relaunchCount > 2) {
162
+ learnings.push('Multiple attempts suggest complexity - break down into smaller tasks');
163
+ }
164
+ if (relaunchCount > 5) {
165
+ learnings.push('High relaunch count - consider fundamental approach change');
166
+ }
167
+ return learnings;
168
+ }
169
+ /**
170
+ * Agent acknowledges intervention
171
+ */ async acknowledgeIntervention(interventionId, agentId) {
172
+ const intervention = this.interventions.get(interventionId);
173
+ if (!intervention) {
174
+ throw new Error(`Intervention ${interventionId} not found`);
175
+ }
176
+ intervention.status = 'acknowledged';
177
+ intervention.response = {
178
+ agentId,
179
+ message: `Intervention acknowledged by agent ${agentId}`,
180
+ timestamp: new Date().toISOString(),
181
+ actionTaken: 'acknowledged'
182
+ };
183
+ this.emit('intervention-acknowledged', intervention);
184
+ this.logger.debug('Intervention acknowledged', {
185
+ interventionId,
186
+ agentId,
187
+ swarmId: intervention.swarmId
188
+ });
189
+ }
190
+ /**
191
+ * Agent applies intervention
192
+ */ async applyIntervention(interventionId, agentId, actionDetails) {
193
+ const intervention = this.interventions.get(interventionId);
194
+ if (!intervention) {
195
+ throw new Error(`Intervention ${interventionId} not found`);
196
+ }
197
+ intervention.status = 'applied';
198
+ intervention.response = {
199
+ agentId,
200
+ message: `Intervention applied: ${actionDetails}`,
201
+ timestamp: new Date().toISOString(),
202
+ actionTaken: actionDetails
203
+ };
204
+ this.emit('intervention-applied', intervention);
205
+ this.logger.info('Intervention applied', {
206
+ interventionId,
207
+ agentId,
208
+ swarmId: intervention.swarmId,
209
+ actionTaken: actionDetails
210
+ });
211
+ }
212
+ /**
213
+ * Get pending interventions for a swarm
214
+ */ getPendingInterventions(swarmId) {
215
+ const swarmQueue = this.interventionQueue.get(swarmId) || [];
216
+ return swarmQueue.filter((i)=>i.status === 'pending');
217
+ }
218
+ /**
219
+ * Get intervention history for a swarm
220
+ */ getInterventionHistory(swarmId) {
221
+ return Array.from(this.interventions.values()).filter((i)=>i.swarmId === swarmId).sort((a, b)=>new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
222
+ }
223
+ /**
224
+ * Get swarm relaunch information
225
+ */ getSwarmRelaunchInfo(swarmId) {
226
+ return this.swarmRelaunches.get(swarmId) || null;
227
+ }
228
+ /**
229
+ * Check if swarm can be relaunched
230
+ */ canRelaunchSwarm(swarmId) {
231
+ const relaunchConfig = this.swarmRelaunches.get(swarmId);
232
+ const currentCount = relaunchConfig?.relaunchCount || 0;
233
+ const remaining = this.MAX_RELAUNCHES - currentCount;
234
+ if (remaining <= 0) {
235
+ return {
236
+ canRelaunch: false,
237
+ remainingAttempts: 0,
238
+ reason: `Maximum ${this.MAX_RELAUNCHES} relaunches reached`
239
+ };
240
+ }
241
+ return {
242
+ canRelaunch: true,
243
+ remainingAttempts: remaining
244
+ };
245
+ }
246
+ /**
247
+ * Get intervention statistics
248
+ */ getInterventionStats(swarmId) {
249
+ let targetInterventions = Array.from(this.interventions.values());
250
+ if (swarmId) {
251
+ targetInterventions = targetInterventions.filter((i)=>i.swarmId === swarmId);
252
+ }
253
+ const stats = {
254
+ total: targetInterventions.length,
255
+ byStatus: {
256
+ pending: targetInterventions.filter((i)=>i.status === 'pending').length,
257
+ acknowledged: targetInterventions.filter((i)=>i.status === 'acknowledged').length,
258
+ applied: targetInterventions.filter((i)=>i.status === 'applied').length,
259
+ rejected: targetInterventions.filter((i)=>i.status === 'rejected').length
260
+ },
261
+ byAction: {},
262
+ swarmRelaunches: this.swarmRelaunches.size,
263
+ averageRelaunchCount: 0
264
+ };
265
+ // Count by action type
266
+ for (const intervention of targetInterventions){
267
+ stats.byAction[intervention.action] = (stats.byAction[intervention.action] || 0) + 1;
268
+ }
269
+ // Calculate average relaunch count
270
+ if (this.swarmRelaunches.size > 0) {
271
+ const totalRelaunches = Array.from(this.swarmRelaunches.values()).reduce((sum, config)=>sum + config.relaunchCount, 0);
272
+ stats.averageRelaunchCount = totalRelaunches / this.swarmRelaunches.size;
273
+ }
274
+ return stats;
275
+ }
276
+ generateInterventionId() {
277
+ return `intervention_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
278
+ }
279
+ getInterventionCount() {
280
+ return this.interventions.size;
281
+ }
282
+ /**
283
+ * Clean up old interventions
284
+ */ cleanupOldInterventions(maxAge = 7 * 24 * 60 * 60 * 1000) {
285
+ const cutoff = new Date(Date.now() - maxAge);
286
+ for (const [id, intervention] of this.interventions.entries()){
287
+ if (new Date(intervention.timestamp) < cutoff) {
288
+ this.interventions.delete(id);
289
+ // Clean up from queue
290
+ const swarmQueue = this.interventionQueue.get(intervention.swarmId);
291
+ if (swarmQueue) {
292
+ const index = swarmQueue.findIndex((i)=>i.id === id);
293
+ if (index > -1) {
294
+ swarmQueue.splice(index, 1);
295
+ }
296
+ }
297
+ }
298
+ }
299
+ }
300
+ constructor(logger){
301
+ super(), _define_property(this, "logger", void 0), _define_property(this, "interventions", void 0), _define_property(this, "swarmRelaunches", void 0), _define_property(this, "MAX_RELAUNCHES", void 0), _define_property(this, "interventionQueue", void 0 // swarmId -> interventions
302
+ ), this.logger = logger, this.interventions = new Map(), this.swarmRelaunches = new Map(), this.MAX_RELAUNCHES = 10, this.interventionQueue = new Map();
303
+ this.setMaxListeners(100);
304
+ }
305
+ }
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Message Filter - Advanced filtering and search for agent messages
3
+ */ function _define_property(obj, key, value) {
4
+ if (key in obj) {
5
+ Object.defineProperty(obj, key, {
6
+ value: value,
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true
10
+ });
11
+ } else {
12
+ obj[key] = value;
13
+ }
14
+ return obj;
15
+ }
16
+ export class MessageFilter {
17
+ /**
18
+ * Set filter configuration for a specific user/client
19
+ */ setUserFilter(userId, config) {
20
+ this.userFilters.set(userId, config);
21
+ }
22
+ /**
23
+ * Remove filter for a user/client
24
+ */ removeUserFilter(userId) {
25
+ this.userFilters.delete(userId);
26
+ }
27
+ /**
28
+ * Filter a message based on user preferences
29
+ */ filterMessage(message, userId) {
30
+ if (!userId) return message;
31
+ const filter = this.userFilters.get(userId);
32
+ if (!filter) return message;
33
+ if (!this.messagePassesFilter(message, filter)) {
34
+ return null; // Message filtered out
35
+ }
36
+ return message;
37
+ }
38
+ /**
39
+ * Filter an array of messages
40
+ */ filterMessages(messages, filter) {
41
+ return messages.filter((message)=>this.messagePassesFilter(message, filter));
42
+ }
43
+ /**
44
+ * Search messages with advanced criteria
45
+ */ searchMessages(messages, searchConfig) {
46
+ let results = [
47
+ ...messages
48
+ ];
49
+ // Apply text search
50
+ if (searchConfig.query) {
51
+ results = this.performTextSearch(results, searchConfig.query, searchConfig);
52
+ }
53
+ // Sort results
54
+ if (searchConfig.sortBy) {
55
+ results = this.sortMessages(results, searchConfig.sortBy, searchConfig.sortOrder || 'desc');
56
+ }
57
+ return results;
58
+ }
59
+ /**
60
+ * Get filter suggestions based on available data
61
+ */ getFilterSuggestions(messages) {
62
+ const messageTypes = [
63
+ ...new Set(messages.map((m)=>m.messageType))
64
+ ];
65
+ const agentTypes = [
66
+ ...new Set(messages.map((m)=>m.agentType))
67
+ ];
68
+ const agentIds = [
69
+ ...new Set(messages.map((m)=>m.agentId))
70
+ ];
71
+ const priorities = [
72
+ ...new Set(messages.map((m)=>m.priority))
73
+ ];
74
+ // Extract tags from metadata
75
+ const tags = [
76
+ ...new Set(messages.flatMap((m)=>m.metadata?.tags || []).filter(Boolean))
77
+ ];
78
+ // Get date range
79
+ const timestamps = messages.map((m)=>new Date(m.timestamp).getTime());
80
+ const dateRange = {
81
+ start: new Date(Math.min(...timestamps)).toISOString(),
82
+ end: new Date(Math.max(...timestamps)).toISOString()
83
+ };
84
+ return {
85
+ messageTypes,
86
+ agentTypes,
87
+ agentIds,
88
+ priorities,
89
+ tags,
90
+ dateRange
91
+ };
92
+ }
93
+ /**
94
+ * Create smart filters based on user behavior
95
+ */ createSmartFilter(userId, interactionHistory) {
96
+ const smartFilter = {};
97
+ // Analyze user's viewing patterns
98
+ const viewedMessageTypes = interactionHistory.filter((h)=>h.action === 'view').map((h)=>h.messageType);
99
+ if (viewedMessageTypes.length > 0) {
100
+ const mostViewedTypes = this.getMostFrequent(viewedMessageTypes, 3);
101
+ smartFilter.messageTypes = mostViewedTypes;
102
+ }
103
+ // Analyze searched keywords
104
+ const searchQueries = interactionHistory.filter((h)=>h.action === 'search').map((h)=>h.query);
105
+ if (searchQueries.length > 0) {
106
+ smartFilter.contentKeywords = this.extractKeywords(searchQueries);
107
+ }
108
+ // Analyze time preferences
109
+ const viewTimes = interactionHistory.filter((h)=>h.action === 'view').map((h)=>new Date(h.timestamp).getHours());
110
+ // If user typically views recent messages, prefer recent timeRange
111
+ const averageHour = viewTimes.reduce((sum, hour)=>sum + hour, 0) / viewTimes.length;
112
+ if (averageHour > 0) {
113
+ smartFilter.timeRange = {
114
+ start: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(),
115
+ end: new Date().toISOString()
116
+ };
117
+ }
118
+ return smartFilter;
119
+ }
120
+ messagePassesFilter(message, filter) {
121
+ // Message type filter
122
+ if (filter.messageTypes && !filter.messageTypes.includes(message.messageType)) {
123
+ return false;
124
+ }
125
+ // Agent type filter
126
+ if (filter.agentTypes && !filter.agentTypes.includes(message.agentType)) {
127
+ return false;
128
+ }
129
+ // Agent ID filter
130
+ if (filter.agentIds && !filter.agentIds.includes(message.agentId)) {
131
+ return false;
132
+ }
133
+ // Priority filter
134
+ if (filter.priorities && !filter.priorities.includes(message.priority)) {
135
+ return false;
136
+ }
137
+ // Time range filter
138
+ if (filter.timeRange) {
139
+ const messageTime = new Date(message.timestamp);
140
+ const start = new Date(filter.timeRange.start);
141
+ const end = new Date(filter.timeRange.end);
142
+ if (messageTime < start || messageTime > end) {
143
+ return false;
144
+ }
145
+ }
146
+ // Content keywords filter
147
+ if (filter.contentKeywords && filter.contentKeywords.length > 0) {
148
+ const content = message.content.toLowerCase();
149
+ const hasKeyword = filter.contentKeywords.some((keyword)=>content.includes(keyword.toLowerCase()));
150
+ if (!hasKeyword) return false;
151
+ }
152
+ // Reasoning filter
153
+ if (filter.hasReasoning !== undefined) {
154
+ const hasReasoning = !!message.metadata?.reasoning;
155
+ if (filter.hasReasoning !== hasReasoning) return false;
156
+ }
157
+ // Alternatives filter
158
+ if (filter.hasAlternatives !== undefined) {
159
+ const hasAlternatives = !!(message.metadata?.alternatives && message.metadata.alternatives.length > 0);
160
+ if (filter.hasAlternatives !== hasAlternatives) return false;
161
+ }
162
+ // Confidence range filter
163
+ if (filter.confidenceRange && message.metadata?.confidence !== undefined) {
164
+ const confidence = message.metadata.confidence;
165
+ if (confidence < filter.confidenceRange.min || confidence > filter.confidenceRange.max) {
166
+ return false;
167
+ }
168
+ }
169
+ // Thread ID filter
170
+ if (filter.threadIds && (!message.threadId || !filter.threadIds.includes(message.threadId))) {
171
+ return false;
172
+ }
173
+ // Tags filter
174
+ if (filter.tags && filter.tags.length > 0) {
175
+ const messageTags = message.metadata?.tags || [];
176
+ const hasTag = filter.tags.some((tag)=>messageTags.includes(tag));
177
+ if (!hasTag) return false;
178
+ }
179
+ return true;
180
+ }
181
+ performTextSearch(messages, query, config) {
182
+ const searchFields = config.fields || [
183
+ 'content',
184
+ 'metadata.reasoning'
185
+ ];
186
+ const fuzzy = config.fuzzy || false;
187
+ return messages.filter((message)=>{
188
+ for (const field of searchFields){
189
+ const value = this.getNestedProperty(message, field);
190
+ if (value && this.matchesQuery(value, query, fuzzy)) {
191
+ return true;
192
+ }
193
+ }
194
+ return false;
195
+ });
196
+ }
197
+ matchesQuery(text, query, fuzzy) {
198
+ const normalizedText = text.toLowerCase();
199
+ const normalizedQuery = query.toLowerCase();
200
+ if (!fuzzy) {
201
+ return normalizedText.includes(normalizedQuery);
202
+ }
203
+ // Simple fuzzy matching - check if most query words are present
204
+ const queryWords = normalizedQuery.split(' ');
205
+ const matchedWords = queryWords.filter((word)=>normalizedText.includes(word));
206
+ return matchedWords.length / queryWords.length >= 0.6; // 60% word match threshold
207
+ }
208
+ sortMessages(messages, sortBy, order) {
209
+ return messages.sort((a, b)=>{
210
+ let compareValue = 0;
211
+ switch(sortBy){
212
+ case 'timestamp':
213
+ compareValue = new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime();
214
+ break;
215
+ case 'priority':
216
+ const priorityOrder = {
217
+ low: 1,
218
+ medium: 2,
219
+ high: 3,
220
+ urgent: 4
221
+ };
222
+ compareValue = priorityOrder[a.priority] - priorityOrder[b.priority];
223
+ break;
224
+ case 'relevance':
225
+ // Simple relevance based on message metadata richness
226
+ const aScore = this.calculateRelevanceScore(a);
227
+ const bScore = this.calculateRelevanceScore(b);
228
+ compareValue = aScore - bScore;
229
+ break;
230
+ }
231
+ return order === 'asc' ? compareValue : -compareValue;
232
+ });
233
+ }
234
+ calculateRelevanceScore(message) {
235
+ let score = 0;
236
+ // Score based on metadata richness
237
+ if (message.metadata?.reasoning) score += 3;
238
+ if (message.metadata?.alternatives) score += 2;
239
+ if (message.metadata?.confidence) score += 1;
240
+ if (message.metadata?.dependencies) score += 1;
241
+ if (message.metadata?.tags) score += message.metadata.tags.length * 0.5;
242
+ // Score based on message type importance
243
+ const typeScores = {
244
+ decision: 5,
245
+ coordination: 4,
246
+ reasoning: 3,
247
+ 'progress-update': 2,
248
+ 'task-start': 2,
249
+ completion: 1,
250
+ error: 4
251
+ };
252
+ score += typeScores[message.messageType] || 1;
253
+ return score;
254
+ }
255
+ getNestedProperty(obj, path) {
256
+ return path.split('.').reduce((current, key)=>current && current[key], obj);
257
+ }
258
+ getMostFrequent(array, count) {
259
+ const frequency = new Map();
260
+ for (const item of array){
261
+ frequency.set(item, (frequency.get(item) || 0) + 1);
262
+ }
263
+ return Array.from(frequency.entries()).sort((a, b)=>b[1] - a[1]).slice(0, count).map((entry)=>entry[0]);
264
+ }
265
+ extractKeywords(queries) {
266
+ // Simple keyword extraction - split queries and find common terms
267
+ const words = queries.flatMap((query)=>query.toLowerCase().split(' ')).filter((word)=>word.length > 3); // Filter out short words
268
+ return this.getMostFrequent(words, 5);
269
+ }
270
+ /**
271
+ * Export filter configuration
272
+ */ exportFilter(userId) {
273
+ return this.userFilters.get(userId) || null;
274
+ }
275
+ /**
276
+ * Import filter configuration
277
+ */ importFilter(userId, config) {
278
+ this.userFilters.set(userId, config);
279
+ }
280
+ /**
281
+ * Get filter statistics
282
+ */ getFilterStats() {
283
+ const allFilters = Array.from(this.userFilters.values());
284
+ const filterTypes = {};
285
+ for (const filter of allFilters){
286
+ if (filter.messageTypes) filterTypes['messageTypes'] = (filterTypes['messageTypes'] || 0) + 1;
287
+ if (filter.agentTypes) filterTypes['agentTypes'] = (filterTypes['agentTypes'] || 0) + 1;
288
+ if (filter.priorities) filterTypes['priorities'] = (filterTypes['priorities'] || 0) + 1;
289
+ if (filter.timeRange) filterTypes['timeRange'] = (filterTypes['timeRange'] || 0) + 1;
290
+ if (filter.contentKeywords) filterTypes['contentKeywords'] = (filterTypes['contentKeywords'] || 0) + 1;
291
+ if (filter.hasReasoning !== undefined) filterTypes['hasReasoning'] = (filterTypes['hasReasoning'] || 0) + 1;
292
+ }
293
+ return {
294
+ totalUsers: this.userFilters.size,
295
+ mostUsedFilters: filterTypes,
296
+ averageFiltersPerUser: allFilters.length / this.userFilters.size || 0
297
+ };
298
+ }
299
+ constructor(){
300
+ _define_property(this, "userFilters", new Map());
301
+ }
302
+ }