flock-core 0.5.0b28__py3-none-any.whl → 0.5.0b51__py3-none-any.whl

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.

Potentially problematic release.


This version of flock-core might be problematic. Click here for more details.

Files changed (469) hide show
  1. flock/__init__.py +12 -217
  2. flock/agent.py +678 -0
  3. flock/api/themes.py +71 -0
  4. flock/artifacts.py +79 -0
  5. flock/cli.py +75 -0
  6. flock/components.py +173 -0
  7. flock/dashboard/__init__.py +28 -0
  8. flock/dashboard/collector.py +283 -0
  9. flock/dashboard/events.py +182 -0
  10. flock/dashboard/launcher.py +230 -0
  11. flock/dashboard/service.py +537 -0
  12. flock/dashboard/websocket.py +235 -0
  13. flock/engines/__init__.py +6 -0
  14. flock/engines/dspy_engine.py +856 -0
  15. flock/examples.py +128 -0
  16. flock/frontend/README.md +678 -0
  17. flock/frontend/docs/DESIGN_SYSTEM.md +1980 -0
  18. flock/frontend/index.html +12 -0
  19. flock/frontend/package-lock.json +4347 -0
  20. flock/frontend/package.json +48 -0
  21. flock/frontend/src/App.tsx +79 -0
  22. flock/frontend/src/__tests__/e2e/critical-scenarios.test.tsx +587 -0
  23. flock/frontend/src/__tests__/integration/filtering-e2e.test.tsx +387 -0
  24. flock/frontend/src/__tests__/integration/graph-rendering.test.tsx +640 -0
  25. flock/frontend/src/__tests__/integration/indexeddb-persistence.test.tsx +699 -0
  26. flock/frontend/src/components/common/BuildInfo.tsx +39 -0
  27. flock/frontend/src/components/common/EmptyState.module.css +115 -0
  28. flock/frontend/src/components/common/EmptyState.tsx +128 -0
  29. flock/frontend/src/components/common/ErrorBoundary.module.css +169 -0
  30. flock/frontend/src/components/common/ErrorBoundary.tsx +118 -0
  31. flock/frontend/src/components/common/KeyboardShortcutsDialog.css +251 -0
  32. flock/frontend/src/components/common/KeyboardShortcutsDialog.tsx +151 -0
  33. flock/frontend/src/components/common/LoadingSpinner.module.css +97 -0
  34. flock/frontend/src/components/common/LoadingSpinner.tsx +29 -0
  35. flock/frontend/src/components/controls/PublishControl.css +547 -0
  36. flock/frontend/src/components/controls/PublishControl.test.tsx +543 -0
  37. flock/frontend/src/components/controls/PublishControl.tsx +432 -0
  38. flock/frontend/src/components/details/DetailWindowContainer.tsx +62 -0
  39. flock/frontend/src/components/details/LiveOutputTab.test.tsx +792 -0
  40. flock/frontend/src/components/details/LiveOutputTab.tsx +220 -0
  41. flock/frontend/src/components/details/MessageHistoryTab.tsx +299 -0
  42. flock/frontend/src/components/details/NodeDetailWindow.test.tsx +501 -0
  43. flock/frontend/src/components/details/NodeDetailWindow.tsx +218 -0
  44. flock/frontend/src/components/details/RunStatusTab.tsx +307 -0
  45. flock/frontend/src/components/details/tabs.test.tsx +1015 -0
  46. flock/frontend/src/components/filters/CorrelationIDFilter.module.css +102 -0
  47. flock/frontend/src/components/filters/CorrelationIDFilter.test.tsx +197 -0
  48. flock/frontend/src/components/filters/CorrelationIDFilter.tsx +121 -0
  49. flock/frontend/src/components/filters/FilterBar.module.css +29 -0
  50. flock/frontend/src/components/filters/FilterBar.test.tsx +133 -0
  51. flock/frontend/src/components/filters/FilterBar.tsx +33 -0
  52. flock/frontend/src/components/filters/FilterPills.module.css +79 -0
  53. flock/frontend/src/components/filters/FilterPills.test.tsx +173 -0
  54. flock/frontend/src/components/filters/FilterPills.tsx +67 -0
  55. flock/frontend/src/components/filters/TimeRangeFilter.module.css +91 -0
  56. flock/frontend/src/components/filters/TimeRangeFilter.test.tsx +154 -0
  57. flock/frontend/src/components/filters/TimeRangeFilter.tsx +105 -0
  58. flock/frontend/src/components/graph/AgentNode.test.tsx +75 -0
  59. flock/frontend/src/components/graph/AgentNode.tsx +322 -0
  60. flock/frontend/src/components/graph/GraphCanvas.tsx +406 -0
  61. flock/frontend/src/components/graph/MessageFlowEdge.tsx +128 -0
  62. flock/frontend/src/components/graph/MessageNode.test.tsx +62 -0
  63. flock/frontend/src/components/graph/MessageNode.tsx +116 -0
  64. flock/frontend/src/components/graph/MiniMap.tsx +47 -0
  65. flock/frontend/src/components/graph/TransformEdge.tsx +123 -0
  66. flock/frontend/src/components/layout/DashboardLayout.css +407 -0
  67. flock/frontend/src/components/layout/DashboardLayout.tsx +300 -0
  68. flock/frontend/src/components/layout/Header.module.css +88 -0
  69. flock/frontend/src/components/layout/Header.tsx +52 -0
  70. flock/frontend/src/components/modules/EventLogModule.test.tsx +401 -0
  71. flock/frontend/src/components/modules/EventLogModule.tsx +396 -0
  72. flock/frontend/src/components/modules/EventLogModuleWrapper.tsx +17 -0
  73. flock/frontend/src/components/modules/ModuleRegistry.test.ts +333 -0
  74. flock/frontend/src/components/modules/ModuleRegistry.ts +85 -0
  75. flock/frontend/src/components/modules/ModuleWindow.tsx +155 -0
  76. flock/frontend/src/components/modules/registerModules.ts +20 -0
  77. flock/frontend/src/components/settings/AdvancedSettings.tsx +175 -0
  78. flock/frontend/src/components/settings/AppearanceSettings.tsx +185 -0
  79. flock/frontend/src/components/settings/GraphSettings.tsx +110 -0
  80. flock/frontend/src/components/settings/SettingsPanel.css +327 -0
  81. flock/frontend/src/components/settings/SettingsPanel.tsx +131 -0
  82. flock/frontend/src/components/settings/ThemeSelector.tsx +298 -0
  83. flock/frontend/src/hooks/useKeyboardShortcuts.ts +148 -0
  84. flock/frontend/src/hooks/useModulePersistence.test.ts +442 -0
  85. flock/frontend/src/hooks/useModulePersistence.ts +154 -0
  86. flock/frontend/src/hooks/useModules.ts +139 -0
  87. flock/frontend/src/hooks/usePersistence.ts +139 -0
  88. flock/frontend/src/main.tsx +13 -0
  89. flock/frontend/src/services/api.ts +213 -0
  90. flock/frontend/src/services/indexeddb.test.ts +793 -0
  91. flock/frontend/src/services/indexeddb.ts +794 -0
  92. flock/frontend/src/services/layout.test.ts +437 -0
  93. flock/frontend/src/services/layout.ts +146 -0
  94. flock/frontend/src/services/themeApplicator.ts +140 -0
  95. flock/frontend/src/services/themeService.ts +77 -0
  96. flock/frontend/src/services/websocket.test.ts +595 -0
  97. flock/frontend/src/services/websocket.ts +685 -0
  98. flock/frontend/src/store/filterStore.test.ts +242 -0
  99. flock/frontend/src/store/filterStore.ts +103 -0
  100. flock/frontend/src/store/graphStore.test.ts +186 -0
  101. flock/frontend/src/store/graphStore.ts +414 -0
  102. flock/frontend/src/store/moduleStore.test.ts +253 -0
  103. flock/frontend/src/store/moduleStore.ts +57 -0
  104. flock/frontend/src/store/settingsStore.ts +188 -0
  105. flock/frontend/src/store/streamStore.ts +68 -0
  106. flock/frontend/src/store/uiStore.test.ts +54 -0
  107. flock/frontend/src/store/uiStore.ts +110 -0
  108. flock/frontend/src/store/wsStore.ts +34 -0
  109. flock/frontend/src/styles/index.css +15 -0
  110. flock/frontend/src/styles/scrollbar.css +47 -0
  111. flock/frontend/src/styles/variables.css +488 -0
  112. flock/frontend/src/test/setup.ts +1 -0
  113. flock/frontend/src/types/filters.ts +14 -0
  114. flock/frontend/src/types/graph.ts +55 -0
  115. flock/frontend/src/types/modules.ts +7 -0
  116. flock/frontend/src/types/theme.ts +55 -0
  117. flock/frontend/src/utils/mockData.ts +85 -0
  118. flock/frontend/src/utils/performance.ts +16 -0
  119. flock/frontend/src/utils/transforms.test.ts +860 -0
  120. flock/frontend/src/utils/transforms.ts +323 -0
  121. flock/frontend/src/vite-env.d.ts +17 -0
  122. flock/frontend/tsconfig.json +27 -0
  123. flock/frontend/tsconfig.node.json +11 -0
  124. flock/frontend/vite.config.ts +25 -0
  125. flock/frontend/vitest.config.ts +11 -0
  126. flock/{core/util → helper}/cli_helper.py +4 -3
  127. flock/{core/logging → logging}/__init__.py +2 -3
  128. flock/{core/logging → logging}/formatters/enum_builder.py +3 -4
  129. flock/{core/logging → logging}/formatters/theme_builder.py +19 -44
  130. flock/{core/logging → logging}/formatters/themed_formatter.py +69 -115
  131. flock/{core/logging → logging}/logging.py +77 -61
  132. flock/{core/logging → logging}/telemetry.py +20 -26
  133. flock/{core/logging → logging}/telemetry_exporter/base_exporter.py +2 -2
  134. flock/{core/logging → logging}/telemetry_exporter/file_exporter.py +6 -9
  135. flock/{core/logging → logging}/telemetry_exporter/sqlite_exporter.py +2 -3
  136. flock/{core/logging → logging}/trace_and_logged.py +20 -24
  137. flock/mcp/__init__.py +91 -0
  138. flock/{core/mcp/mcp_client.py → mcp/client.py} +103 -154
  139. flock/{core/mcp/mcp_config.py → mcp/config.py} +62 -117
  140. flock/mcp/manager.py +255 -0
  141. flock/mcp/servers/sse/__init__.py +1 -1
  142. flock/mcp/servers/sse/flock_sse_server.py +11 -53
  143. flock/mcp/servers/stdio/__init__.py +1 -1
  144. flock/mcp/servers/stdio/flock_stdio_server.py +8 -48
  145. flock/mcp/servers/streamable_http/flock_streamable_http_server.py +17 -62
  146. flock/mcp/servers/websockets/flock_websocket_server.py +7 -40
  147. flock/{core/mcp/flock_mcp_tool.py → mcp/tool.py} +16 -26
  148. flock/mcp/types/__init__.py +42 -0
  149. flock/{core/mcp → mcp}/types/callbacks.py +9 -15
  150. flock/{core/mcp → mcp}/types/factories.py +7 -6
  151. flock/{core/mcp → mcp}/types/handlers.py +13 -18
  152. flock/{core/mcp → mcp}/types/types.py +70 -74
  153. flock/{core/mcp → mcp}/util/helpers.py +1 -1
  154. flock/orchestrator.py +645 -0
  155. flock/registry.py +148 -0
  156. flock/runtime.py +262 -0
  157. flock/service.py +140 -0
  158. flock/store.py +69 -0
  159. flock/subscription.py +111 -0
  160. flock/themes/andromeda.toml +1 -1
  161. flock/themes/apple-system-colors.toml +1 -1
  162. flock/themes/arcoiris.toml +1 -1
  163. flock/themes/atomonelight.toml +1 -1
  164. flock/themes/ayu copy.toml +1 -1
  165. flock/themes/ayu-light.toml +1 -1
  166. flock/themes/belafonte-day.toml +1 -1
  167. flock/themes/belafonte-night.toml +1 -1
  168. flock/themes/blulocodark.toml +1 -1
  169. flock/themes/breeze.toml +1 -1
  170. flock/themes/broadcast.toml +1 -1
  171. flock/themes/brogrammer.toml +1 -1
  172. flock/themes/builtin-dark.toml +1 -1
  173. flock/themes/builtin-pastel-dark.toml +1 -1
  174. flock/themes/catppuccin-latte.toml +1 -1
  175. flock/themes/catppuccin-macchiato.toml +1 -1
  176. flock/themes/catppuccin-mocha.toml +1 -1
  177. flock/themes/cga.toml +1 -1
  178. flock/themes/chalk.toml +1 -1
  179. flock/themes/ciapre.toml +1 -1
  180. flock/themes/coffee-theme.toml +1 -1
  181. flock/themes/cyberpunkscarletprotocol.toml +1 -1
  182. flock/themes/dark+.toml +1 -1
  183. flock/themes/darkermatrix.toml +1 -1
  184. flock/themes/darkside.toml +1 -1
  185. flock/themes/desert.toml +1 -1
  186. flock/themes/django.toml +1 -1
  187. flock/themes/djangosmooth.toml +1 -1
  188. flock/themes/doomone.toml +1 -1
  189. flock/themes/dotgov.toml +1 -1
  190. flock/themes/dracula+.toml +1 -1
  191. flock/themes/duckbones.toml +1 -1
  192. flock/themes/encom.toml +1 -1
  193. flock/themes/espresso.toml +1 -1
  194. flock/themes/everblush.toml +1 -1
  195. flock/themes/fairyfloss.toml +1 -1
  196. flock/themes/fideloper.toml +1 -1
  197. flock/themes/fishtank.toml +1 -1
  198. flock/themes/flexoki-light.toml +1 -1
  199. flock/themes/floraverse.toml +1 -1
  200. flock/themes/framer.toml +1 -1
  201. flock/themes/galizur.toml +1 -1
  202. flock/themes/github.toml +1 -1
  203. flock/themes/grass.toml +1 -1
  204. flock/themes/grey-green.toml +1 -1
  205. flock/themes/gruvboxlight.toml +1 -1
  206. flock/themes/guezwhoz.toml +1 -1
  207. flock/themes/harper.toml +1 -1
  208. flock/themes/hax0r-blue.toml +1 -1
  209. flock/themes/hopscotch.256.toml +1 -1
  210. flock/themes/ic-green-ppl.toml +1 -1
  211. flock/themes/iceberg-dark.toml +1 -1
  212. flock/themes/japanesque.toml +1 -1
  213. flock/themes/jubi.toml +1 -1
  214. flock/themes/kibble.toml +1 -1
  215. flock/themes/kolorit.toml +1 -1
  216. flock/themes/kurokula.toml +1 -1
  217. flock/themes/materialdesigncolors.toml +1 -1
  218. flock/themes/matrix.toml +1 -1
  219. flock/themes/mellifluous.toml +1 -1
  220. flock/themes/midnight-in-mojave.toml +1 -1
  221. flock/themes/monokai-remastered.toml +1 -1
  222. flock/themes/monokai-soda.toml +1 -1
  223. flock/themes/neon.toml +1 -1
  224. flock/themes/neopolitan.toml +1 -1
  225. flock/themes/nord-light.toml +1 -1
  226. flock/themes/ocean.toml +1 -1
  227. flock/themes/onehalfdark.toml +1 -1
  228. flock/themes/onehalflight.toml +1 -1
  229. flock/themes/palenighthc.toml +1 -1
  230. flock/themes/paulmillr.toml +1 -1
  231. flock/themes/pencildark.toml +1 -1
  232. flock/themes/pnevma.toml +1 -1
  233. flock/themes/purple-rain.toml +1 -1
  234. flock/themes/purplepeter.toml +1 -1
  235. flock/themes/raycast-dark.toml +1 -1
  236. flock/themes/red-sands.toml +1 -1
  237. flock/themes/relaxed.toml +1 -1
  238. flock/themes/retro.toml +1 -1
  239. flock/themes/rose-pine.toml +1 -1
  240. flock/themes/royal.toml +1 -1
  241. flock/themes/ryuuko.toml +1 -1
  242. flock/themes/sakura.toml +1 -1
  243. flock/themes/scarlet-protocol.toml +1 -1
  244. flock/themes/seoulbones-dark.toml +1 -1
  245. flock/themes/shades-of-purple.toml +1 -1
  246. flock/themes/smyck.toml +1 -1
  247. flock/themes/softserver.toml +1 -1
  248. flock/themes/solarized-darcula.toml +1 -1
  249. flock/themes/square.toml +1 -1
  250. flock/themes/sugarplum.toml +1 -1
  251. flock/themes/thayer-bright.toml +1 -1
  252. flock/themes/tokyonight.toml +1 -1
  253. flock/themes/tomorrow.toml +1 -1
  254. flock/themes/ubuntu.toml +1 -1
  255. flock/themes/ultradark.toml +1 -1
  256. flock/themes/ultraviolent.toml +1 -1
  257. flock/themes/unikitty.toml +1 -1
  258. flock/themes/urple.toml +1 -1
  259. flock/themes/vesper.toml +1 -1
  260. flock/themes/vimbones.toml +1 -1
  261. flock/themes/wildcherry.toml +1 -1
  262. flock/themes/wilmersdorf.toml +1 -1
  263. flock/themes/wryan.toml +1 -1
  264. flock/themes/xcodedarkhc.toml +1 -1
  265. flock/themes/xcodelight.toml +1 -1
  266. flock/themes/zenbones-light.toml +1 -1
  267. flock/themes/zenwritten-dark.toml +1 -1
  268. flock/utilities.py +301 -0
  269. flock/{components/utility → utility}/output_utility_component.py +68 -53
  270. flock/visibility.py +107 -0
  271. flock_core-0.5.0b51.dist-info/METADATA +747 -0
  272. flock_core-0.5.0b51.dist-info/RECORD +508 -0
  273. flock_core-0.5.0b51.dist-info/entry_points.txt +2 -0
  274. {flock_core-0.5.0b28.dist-info → flock_core-0.5.0b51.dist-info}/licenses/LICENSE +1 -1
  275. flock/adapter/__init__.py +0 -14
  276. flock/adapter/azure_adapter.py +0 -68
  277. flock/adapter/chroma_adapter.py +0 -73
  278. flock/adapter/faiss_adapter.py +0 -97
  279. flock/adapter/pinecone_adapter.py +0 -51
  280. flock/adapter/vector_base.py +0 -47
  281. flock/cli/assets/release_notes.md +0 -140
  282. flock/cli/config.py +0 -8
  283. flock/cli/constants.py +0 -36
  284. flock/cli/create_agent.py +0 -1
  285. flock/cli/create_flock.py +0 -280
  286. flock/cli/execute_flock.py +0 -620
  287. flock/cli/load_agent.py +0 -1
  288. flock/cli/load_examples.py +0 -1
  289. flock/cli/load_flock.py +0 -192
  290. flock/cli/load_release_notes.py +0 -20
  291. flock/cli/loaded_flock_cli.py +0 -254
  292. flock/cli/manage_agents.py +0 -459
  293. flock/cli/registry_management.py +0 -889
  294. flock/cli/runner.py +0 -41
  295. flock/cli/settings.py +0 -857
  296. flock/cli/utils.py +0 -135
  297. flock/cli/view_results.py +0 -29
  298. flock/cli/yaml_editor.py +0 -396
  299. flock/components/__init__.py +0 -30
  300. flock/components/evaluation/__init__.py +0 -9
  301. flock/components/evaluation/declarative_evaluation_component.py +0 -606
  302. flock/components/routing/__init__.py +0 -15
  303. flock/components/routing/conditional_routing_component.py +0 -494
  304. flock/components/routing/default_routing_component.py +0 -103
  305. flock/components/routing/llm_routing_component.py +0 -206
  306. flock/components/utility/__init__.py +0 -22
  307. flock/components/utility/example_utility_component.py +0 -250
  308. flock/components/utility/feedback_utility_component.py +0 -206
  309. flock/components/utility/memory_utility_component.py +0 -550
  310. flock/components/utility/metrics_utility_component.py +0 -700
  311. flock/config.py +0 -61
  312. flock/core/__init__.py +0 -110
  313. flock/core/agent/__init__.py +0 -16
  314. flock/core/agent/default_agent.py +0 -216
  315. flock/core/agent/flock_agent_components.py +0 -104
  316. flock/core/agent/flock_agent_execution.py +0 -101
  317. flock/core/agent/flock_agent_integration.py +0 -260
  318. flock/core/agent/flock_agent_lifecycle.py +0 -186
  319. flock/core/agent/flock_agent_serialization.py +0 -381
  320. flock/core/api/__init__.py +0 -10
  321. flock/core/api/custom_endpoint.py +0 -45
  322. flock/core/api/endpoints.py +0 -254
  323. flock/core/api/main.py +0 -162
  324. flock/core/api/models.py +0 -97
  325. flock/core/api/run_store.py +0 -224
  326. flock/core/api/runner.py +0 -44
  327. flock/core/api/service.py +0 -214
  328. flock/core/component/__init__.py +0 -15
  329. flock/core/component/agent_component_base.py +0 -309
  330. flock/core/component/evaluation_component.py +0 -62
  331. flock/core/component/routing_component.py +0 -74
  332. flock/core/component/utility_component.py +0 -69
  333. flock/core/config/flock_agent_config.py +0 -58
  334. flock/core/config/scheduled_agent_config.py +0 -40
  335. flock/core/context/context.py +0 -213
  336. flock/core/context/context_manager.py +0 -37
  337. flock/core/context/context_vars.py +0 -10
  338. flock/core/evaluation/utils.py +0 -396
  339. flock/core/execution/batch_executor.py +0 -369
  340. flock/core/execution/evaluation_executor.py +0 -438
  341. flock/core/execution/local_executor.py +0 -31
  342. flock/core/execution/opik_executor.py +0 -103
  343. flock/core/execution/temporal_executor.py +0 -164
  344. flock/core/flock.py +0 -634
  345. flock/core/flock_agent.py +0 -336
  346. flock/core/flock_factory.py +0 -613
  347. flock/core/flock_scheduler.py +0 -166
  348. flock/core/flock_server_manager.py +0 -136
  349. flock/core/interpreter/python_interpreter.py +0 -689
  350. flock/core/mcp/__init__.py +0 -1
  351. flock/core/mcp/flock_mcp_server.py +0 -680
  352. flock/core/mcp/mcp_client_manager.py +0 -201
  353. flock/core/mcp/types/__init__.py +0 -1
  354. flock/core/mixin/dspy_integration.py +0 -403
  355. flock/core/mixin/prompt_parser.py +0 -125
  356. flock/core/orchestration/__init__.py +0 -15
  357. flock/core/orchestration/flock_batch_processor.py +0 -94
  358. flock/core/orchestration/flock_evaluator.py +0 -113
  359. flock/core/orchestration/flock_execution.py +0 -295
  360. flock/core/orchestration/flock_initialization.py +0 -149
  361. flock/core/orchestration/flock_server_manager.py +0 -67
  362. flock/core/orchestration/flock_web_server.py +0 -117
  363. flock/core/registry/__init__.py +0 -45
  364. flock/core/registry/agent_registry.py +0 -69
  365. flock/core/registry/callable_registry.py +0 -139
  366. flock/core/registry/component_discovery.py +0 -142
  367. flock/core/registry/component_registry.py +0 -64
  368. flock/core/registry/config_mapping.py +0 -64
  369. flock/core/registry/decorators.py +0 -137
  370. flock/core/registry/registry_hub.py +0 -205
  371. flock/core/registry/server_registry.py +0 -57
  372. flock/core/registry/type_registry.py +0 -86
  373. flock/core/serialization/__init__.py +0 -13
  374. flock/core/serialization/callable_registry.py +0 -52
  375. flock/core/serialization/flock_serializer.py +0 -832
  376. flock/core/serialization/json_encoder.py +0 -41
  377. flock/core/serialization/secure_serializer.py +0 -175
  378. flock/core/serialization/serializable.py +0 -342
  379. flock/core/serialization/serialization_utils.py +0 -412
  380. flock/core/util/file_path_utils.py +0 -223
  381. flock/core/util/hydrator.py +0 -309
  382. flock/core/util/input_resolver.py +0 -164
  383. flock/core/util/loader.py +0 -59
  384. flock/core/util/splitter.py +0 -219
  385. flock/di.py +0 -27
  386. flock/platform/docker_tools.py +0 -49
  387. flock/platform/jaeger_install.py +0 -86
  388. flock/webapp/__init__.py +0 -1
  389. flock/webapp/app/__init__.py +0 -0
  390. flock/webapp/app/api/__init__.py +0 -0
  391. flock/webapp/app/api/agent_management.py +0 -241
  392. flock/webapp/app/api/execution.py +0 -709
  393. flock/webapp/app/api/flock_management.py +0 -129
  394. flock/webapp/app/api/registry_viewer.py +0 -30
  395. flock/webapp/app/chat.py +0 -665
  396. flock/webapp/app/config.py +0 -104
  397. flock/webapp/app/dependencies.py +0 -117
  398. flock/webapp/app/main.py +0 -1070
  399. flock/webapp/app/middleware.py +0 -113
  400. flock/webapp/app/models_ui.py +0 -7
  401. flock/webapp/app/services/__init__.py +0 -0
  402. flock/webapp/app/services/feedback_file_service.py +0 -363
  403. flock/webapp/app/services/flock_service.py +0 -337
  404. flock/webapp/app/services/sharing_models.py +0 -81
  405. flock/webapp/app/services/sharing_store.py +0 -762
  406. flock/webapp/app/templates/theme_mapper.html +0 -326
  407. flock/webapp/app/theme_mapper.py +0 -812
  408. flock/webapp/app/utils.py +0 -85
  409. flock/webapp/run.py +0 -215
  410. flock/webapp/static/css/chat.css +0 -301
  411. flock/webapp/static/css/components.css +0 -167
  412. flock/webapp/static/css/header.css +0 -39
  413. flock/webapp/static/css/layout.css +0 -46
  414. flock/webapp/static/css/sidebar.css +0 -127
  415. flock/webapp/static/css/two-pane.css +0 -48
  416. flock/webapp/templates/base.html +0 -200
  417. flock/webapp/templates/chat.html +0 -152
  418. flock/webapp/templates/chat_settings.html +0 -19
  419. flock/webapp/templates/flock_editor.html +0 -16
  420. flock/webapp/templates/index.html +0 -12
  421. flock/webapp/templates/partials/_agent_detail_form.html +0 -93
  422. flock/webapp/templates/partials/_agent_list.html +0 -18
  423. flock/webapp/templates/partials/_agent_manager_view.html +0 -51
  424. flock/webapp/templates/partials/_agent_tools_checklist.html +0 -14
  425. flock/webapp/templates/partials/_chat_container.html +0 -15
  426. flock/webapp/templates/partials/_chat_messages.html +0 -57
  427. flock/webapp/templates/partials/_chat_settings_form.html +0 -85
  428. flock/webapp/templates/partials/_create_flock_form.html +0 -50
  429. flock/webapp/templates/partials/_dashboard_flock_detail.html +0 -17
  430. flock/webapp/templates/partials/_dashboard_flock_file_list.html +0 -16
  431. flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +0 -28
  432. flock/webapp/templates/partials/_dashboard_upload_flock_form.html +0 -16
  433. flock/webapp/templates/partials/_dynamic_input_form_content.html +0 -22
  434. flock/webapp/templates/partials/_env_vars_table.html +0 -23
  435. flock/webapp/templates/partials/_execution_form.html +0 -118
  436. flock/webapp/templates/partials/_execution_view_container.html +0 -28
  437. flock/webapp/templates/partials/_flock_file_list.html +0 -23
  438. flock/webapp/templates/partials/_flock_properties_form.html +0 -52
  439. flock/webapp/templates/partials/_flock_upload_form.html +0 -16
  440. flock/webapp/templates/partials/_header_flock_status.html +0 -5
  441. flock/webapp/templates/partials/_load_manager_view.html +0 -49
  442. flock/webapp/templates/partials/_registry_table.html +0 -25
  443. flock/webapp/templates/partials/_registry_viewer_content.html +0 -70
  444. flock/webapp/templates/partials/_results_display.html +0 -78
  445. flock/webapp/templates/partials/_settings_env_content.html +0 -9
  446. flock/webapp/templates/partials/_settings_theme_content.html +0 -14
  447. flock/webapp/templates/partials/_settings_view.html +0 -36
  448. flock/webapp/templates/partials/_share_chat_link_snippet.html +0 -11
  449. flock/webapp/templates/partials/_share_link_snippet.html +0 -35
  450. flock/webapp/templates/partials/_sidebar.html +0 -74
  451. flock/webapp/templates/partials/_streaming_results_container.html +0 -195
  452. flock/webapp/templates/partials/_structured_data_view.html +0 -40
  453. flock/webapp/templates/partials/_theme_preview.html +0 -36
  454. flock/webapp/templates/registry_viewer.html +0 -84
  455. flock/webapp/templates/shared_run_page.html +0 -140
  456. flock/workflow/__init__.py +0 -0
  457. flock/workflow/activities.py +0 -196
  458. flock/workflow/agent_activities.py +0 -24
  459. flock/workflow/agent_execution_activity.py +0 -202
  460. flock/workflow/flock_workflow.py +0 -214
  461. flock/workflow/temporal_config.py +0 -96
  462. flock/workflow/temporal_setup.py +0 -68
  463. flock_core-0.5.0b28.dist-info/METADATA +0 -274
  464. flock_core-0.5.0b28.dist-info/RECORD +0 -561
  465. flock_core-0.5.0b28.dist-info/entry_points.txt +0 -2
  466. /flock/{core/logging → logging}/formatters/themes.py +0 -0
  467. /flock/{core/logging → logging}/span_middleware/baggage_span_processor.py +0 -0
  468. /flock/{core/mcp → mcp}/util/__init__.py +0 -0
  469. {flock_core-0.5.0b28.dist-info → flock_core-0.5.0b51.dist-info}/WHEEL +0 -0
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Advanced Settings Tab
3
+ *
4
+ * Power-user settings:
5
+ * - Layout direction (top-bottom vs left-right) for manual layout
6
+ * - Node and rank spacing for manual layout algorithm
7
+ * - Debug mode (show node IDs, verbose logging)
8
+ * - Performance mode (disable animations/effects)
9
+ */
10
+
11
+ import React, { useEffect, useState } from 'react';
12
+ import { useSettingsStore } from '../../store/settingsStore';
13
+
14
+ const AdvancedSettings: React.FC = () => {
15
+ const layoutDirection = useSettingsStore((state) => state.advanced.layoutDirection);
16
+ const nodeSpacing = useSettingsStore((state) => state.advanced.nodeSpacing);
17
+ const rankSpacing = useSettingsStore((state) => state.advanced.rankSpacing);
18
+ const debugMode = useSettingsStore((state) => state.advanced.debugMode);
19
+ const performanceMode = useSettingsStore((state) => state.advanced.performanceMode);
20
+
21
+ const setLayoutDirection = useSettingsStore((state) => state.setLayoutDirection);
22
+ const setNodeSpacing = useSettingsStore((state) => state.setNodeSpacing);
23
+ const setRankSpacing = useSettingsStore((state) => state.setRankSpacing);
24
+ const setDebugMode = useSettingsStore((state) => state.setDebugMode);
25
+ const setPerformanceMode = useSettingsStore((state) => state.setPerformanceMode);
26
+
27
+ // Version information state
28
+ const [backendVersion, setBackendVersion] = useState<string>('Loading...');
29
+ const dashboardVersion = '0.1.1'; // From package.json
30
+
31
+ // Fetch version information from backend
32
+ useEffect(() => {
33
+ const fetchVersion = async () => {
34
+ try {
35
+ const response = await fetch('/api/version');
36
+ if (response.ok) {
37
+ const data = await response.json();
38
+ setBackendVersion(data.backend_version || 'Unknown');
39
+ } else {
40
+ setBackendVersion('Error fetching version');
41
+ }
42
+ } catch (error) {
43
+ console.error('Failed to fetch version:', error);
44
+ setBackendVersion('Error fetching version');
45
+ }
46
+ };
47
+
48
+ fetchVersion();
49
+ }, []);
50
+
51
+ return (
52
+ <div>
53
+ <div className="settings-section">
54
+ <h3 className="settings-section-title">Graph Layout</h3>
55
+
56
+ <div className="settings-field">
57
+ <label htmlFor="layout-direction" className="settings-label">
58
+ Layout Direction
59
+ </label>
60
+ <p className="settings-description">
61
+ Direction for manual layout algorithm (right-click → Auto Layout)
62
+ </p>
63
+ <select
64
+ id="layout-direction"
65
+ value={layoutDirection}
66
+ onChange={(e) => setLayoutDirection(e.target.value as typeof layoutDirection)}
67
+ className="settings-select"
68
+ >
69
+ <option value="LR">Left to Right (Default)</option>
70
+ <option value="TB">Top to Bottom</option>
71
+ </select>
72
+ </div>
73
+
74
+ <div className="settings-field">
75
+ <label htmlFor="node-spacing" className="settings-label">
76
+ Node Spacing: {nodeSpacing}px
77
+ </label>
78
+ <p className="settings-description">
79
+ Horizontal space between nodes when using manual layout (affects edge label visibility)
80
+ </p>
81
+ <input
82
+ id="node-spacing"
83
+ type="range"
84
+ min="25"
85
+ max="150"
86
+ step="5"
87
+ value={nodeSpacing}
88
+ onChange={(e) => setNodeSpacing(parseFloat(e.target.value))}
89
+ className="settings-input"
90
+ />
91
+ </div>
92
+
93
+ <div className="settings-field">
94
+ <label htmlFor="rank-spacing" className="settings-label">
95
+ Rank Spacing: {rankSpacing}px
96
+ </label>
97
+ <p className="settings-description">
98
+ Vertical space between graph layers when using manual layout
99
+ </p>
100
+ <input
101
+ id="rank-spacing"
102
+ type="range"
103
+ min="50"
104
+ max="300"
105
+ step="10"
106
+ value={rankSpacing}
107
+ onChange={(e) => setRankSpacing(parseFloat(e.target.value))}
108
+ className="settings-input"
109
+ />
110
+ </div>
111
+ </div>
112
+
113
+ <div className="settings-section">
114
+ <h3 className="settings-section-title">Developer Options</h3>
115
+
116
+ <div className="settings-field">
117
+ <div className="settings-checkbox-wrapper">
118
+ <input
119
+ id="debug-mode"
120
+ type="checkbox"
121
+ checked={debugMode}
122
+ onChange={(e) => setDebugMode(e.target.checked)}
123
+ className="settings-checkbox"
124
+ />
125
+ <label htmlFor="debug-mode" className="settings-checkbox-label">
126
+ Debug mode
127
+ </label>
128
+ </div>
129
+ <p className="settings-description">
130
+ Show node IDs, detailed message counts, and verbose console logging
131
+ </p>
132
+ </div>
133
+
134
+ <div className="settings-field">
135
+ <div className="settings-checkbox-wrapper">
136
+ <input
137
+ id="performance-mode"
138
+ type="checkbox"
139
+ checked={performanceMode}
140
+ onChange={(e) => setPerformanceMode(e.target.checked)}
141
+ className="settings-checkbox"
142
+ />
143
+ <label htmlFor="performance-mode" className="settings-checkbox-label">
144
+ Performance mode
145
+ </label>
146
+ </div>
147
+ <p className="settings-description">
148
+ Disable animations, shadows, and blur effects for better performance
149
+ </p>
150
+ </div>
151
+ </div>
152
+
153
+ <div className="settings-section">
154
+ <h3 className="settings-section-title">Information</h3>
155
+
156
+ <div className="settings-field">
157
+ <p className="settings-description" style={{ marginBottom: 'var(--spacing-2)' }}>
158
+ <strong>Dashboard Version:</strong> {dashboardVersion}
159
+ </p>
160
+ <p className="settings-description" style={{ marginBottom: 'var(--spacing-2)' }}>
161
+ <strong>Backend Version:</strong> {backendVersion}
162
+ </p>
163
+ <p className="settings-description" style={{ marginBottom: 'var(--spacing-2)' }}>
164
+ <strong>React Flow Version:</strong> 12.8.6
165
+ </p>
166
+ <p className="settings-description">
167
+ <strong>Local Storage Used:</strong> {localStorage.length} keys
168
+ </p>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ );
173
+ };
174
+
175
+ export default AdvancedSettings;
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Appearance Settings Tab
3
+ *
4
+ * Visual customization options:
5
+ * - Theme selection (300+ terminal themes)
6
+ * - Agent node colors (idle, active, error)
7
+ * - Node shadow intensity
8
+ * - Status pulse animation
9
+ * - Compact view mode
10
+ */
11
+
12
+ import React from 'react';
13
+ import { useSettingsStore } from '../../store/settingsStore';
14
+ import ThemeSelector from './ThemeSelector';
15
+
16
+ const AppearanceSettings: React.FC = () => {
17
+ const agentIdleColor = useSettingsStore((state) => state.appearance.agentIdleColor);
18
+ const agentActiveColor = useSettingsStore((state) => state.appearance.agentActiveColor);
19
+ const agentErrorColor = useSettingsStore((state) => state.appearance.agentErrorColor);
20
+ const nodeShadow = useSettingsStore((state) => state.appearance.nodeShadow);
21
+ const showStatusPulse = useSettingsStore((state) => state.appearance.showStatusPulse);
22
+ const compactNodeView = useSettingsStore((state) => state.appearance.compactNodeView);
23
+
24
+ const setAgentIdleColor = useSettingsStore((state) => state.setAgentIdleColor);
25
+ const setAgentActiveColor = useSettingsStore((state) => state.setAgentActiveColor);
26
+ const setAgentErrorColor = useSettingsStore((state) => state.setAgentErrorColor);
27
+ const setNodeShadow = useSettingsStore((state) => state.setNodeShadow);
28
+ const setShowStatusPulse = useSettingsStore((state) => state.setShowStatusPulse);
29
+ const setCompactNodeView = useSettingsStore((state) => state.setCompactNodeView);
30
+
31
+ return (
32
+ <div>
33
+ <div className="settings-section">
34
+ <h3 className="settings-section-title">Theme</h3>
35
+
36
+ <p className="settings-description" style={{ marginBottom: 'var(--space-component-md)' }}>
37
+ Choose from 300+ terminal color themes. Themes are loaded from the backend and applied in real-time.
38
+ </p>
39
+
40
+ <ThemeSelector />
41
+ </div>
42
+
43
+ <div className="settings-section">
44
+ <h3 className="settings-section-title">Agent Colors</h3>
45
+
46
+ <div className="settings-field">
47
+ <label htmlFor="idle-color" className="settings-label">
48
+ Idle Agent Color
49
+ </label>
50
+ <p className="settings-description">
51
+ Border and indicator color for idle agents
52
+ </p>
53
+ <div style={{ display: 'flex', gap: 'var(--gap-sm)', alignItems: 'center' }}>
54
+ <input
55
+ id="idle-color"
56
+ type="color"
57
+ value={agentIdleColor}
58
+ onChange={(e) => setAgentIdleColor(e.target.value)}
59
+ style={{ width: '60px', height: '36px', cursor: 'pointer' }}
60
+ />
61
+ <input
62
+ type="text"
63
+ value={agentIdleColor}
64
+ onChange={(e) => setAgentIdleColor(e.target.value)}
65
+ className="settings-input"
66
+ placeholder="#60a5fa"
67
+ />
68
+ </div>
69
+ </div>
70
+
71
+ <div className="settings-field">
72
+ <label htmlFor="active-color" className="settings-label">
73
+ Active Agent Color
74
+ </label>
75
+ <p className="settings-description">
76
+ Border and indicator color for running agents (thick border)
77
+ </p>
78
+ <div style={{ display: 'flex', gap: 'var(--gap-sm)', alignItems: 'center' }}>
79
+ <input
80
+ id="active-color"
81
+ type="color"
82
+ value={agentActiveColor}
83
+ onChange={(e) => setAgentActiveColor(e.target.value)}
84
+ style={{ width: '60px', height: '36px', cursor: 'pointer' }}
85
+ />
86
+ <input
87
+ type="text"
88
+ value={agentActiveColor}
89
+ onChange={(e) => setAgentActiveColor(e.target.value)}
90
+ className="settings-input"
91
+ placeholder="#10b981"
92
+ />
93
+ </div>
94
+ </div>
95
+
96
+ <div className="settings-field">
97
+ <label htmlFor="error-color" className="settings-label">
98
+ Error Agent Color
99
+ </label>
100
+ <p className="settings-description">
101
+ Border and indicator color for agents in error state
102
+ </p>
103
+ <div style={{ display: 'flex', gap: 'var(--gap-sm)', alignItems: 'center' }}>
104
+ <input
105
+ id="error-color"
106
+ type="color"
107
+ value={agentErrorColor}
108
+ onChange={(e) => setAgentErrorColor(e.target.value)}
109
+ style={{ width: '60px', height: '36px', cursor: 'pointer' }}
110
+ />
111
+ <input
112
+ type="text"
113
+ value={agentErrorColor}
114
+ onChange={(e) => setAgentErrorColor(e.target.value)}
115
+ className="settings-input"
116
+ placeholder="#ef4444"
117
+ />
118
+ </div>
119
+ </div>
120
+ </div>
121
+
122
+ <div className="settings-section">
123
+ <h3 className="settings-section-title">Node Appearance</h3>
124
+
125
+ <div className="settings-field">
126
+ <label htmlFor="node-shadow" className="settings-label">
127
+ Node Shadow
128
+ </label>
129
+ <p className="settings-description">
130
+ Shadow intensity for node elevation effect
131
+ </p>
132
+ <select
133
+ id="node-shadow"
134
+ value={nodeShadow}
135
+ onChange={(e) => setNodeShadow(e.target.value as typeof nodeShadow)}
136
+ className="settings-select"
137
+ >
138
+ <option value="none">None</option>
139
+ <option value="small">Small</option>
140
+ <option value="medium">Medium (Default)</option>
141
+ <option value="large">Large</option>
142
+ </select>
143
+ </div>
144
+
145
+ <div className="settings-field">
146
+ <div className="settings-checkbox-wrapper">
147
+ <input
148
+ id="status-pulse"
149
+ type="checkbox"
150
+ checked={showStatusPulse}
151
+ onChange={(e) => setShowStatusPulse(e.target.checked)}
152
+ className="settings-checkbox"
153
+ />
154
+ <label htmlFor="status-pulse" className="settings-checkbox-label">
155
+ Show status pulse animation
156
+ </label>
157
+ </div>
158
+ <p className="settings-description">
159
+ Animate status indicator for running agents
160
+ </p>
161
+ </div>
162
+
163
+ <div className="settings-field">
164
+ <div className="settings-checkbox-wrapper">
165
+ <input
166
+ id="compact-view"
167
+ type="checkbox"
168
+ checked={compactNodeView}
169
+ onChange={(e) => setCompactNodeView(e.target.checked)}
170
+ className="settings-checkbox"
171
+ />
172
+ <label htmlFor="compact-view" className="settings-checkbox-label">
173
+ Compact node view
174
+ </label>
175
+ </div>
176
+ <p className="settings-description">
177
+ Reduce node size and spacing (useful for large graphs)
178
+ </p>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ );
183
+ };
184
+
185
+ export default AppearanceSettings;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Graph Settings Tab
3
+ *
4
+ * Customization options for graph visualization:
5
+ * - Edge type (bezier, straight, smoothstep)
6
+ * - Edge stroke width
7
+ * - Edge animation
8
+ * - Edge labels visibility
9
+ */
10
+
11
+ import React from 'react';
12
+ import { useSettingsStore } from '../../store/settingsStore';
13
+
14
+ const GraphSettings: React.FC = () => {
15
+ const edgeType = useSettingsStore((state) => state.graph.edgeType);
16
+ const edgeStrokeWidth = useSettingsStore((state) => state.graph.edgeStrokeWidth);
17
+ const edgeAnimation = useSettingsStore((state) => state.graph.edgeAnimation);
18
+ const showEdgeLabels = useSettingsStore((state) => state.graph.showEdgeLabels);
19
+
20
+ const setEdgeType = useSettingsStore((state) => state.setEdgeType);
21
+ const setEdgeStrokeWidth = useSettingsStore((state) => state.setEdgeStrokeWidth);
22
+ const setEdgeAnimation = useSettingsStore((state) => state.setEdgeAnimation);
23
+ const setShowEdgeLabels = useSettingsStore((state) => state.setShowEdgeLabels);
24
+
25
+ return (
26
+ <div>
27
+ <div className="settings-section">
28
+ <h3 className="settings-section-title">Edge Appearance</h3>
29
+
30
+ <div className="settings-field">
31
+ <label htmlFor="edge-type" className="settings-label">
32
+ Edge Type
33
+ </label>
34
+ <p className="settings-description">
35
+ Choose how connections between nodes are drawn
36
+ </p>
37
+ <select
38
+ id="edge-type"
39
+ value={edgeType}
40
+ onChange={(e) => setEdgeType(e.target.value as typeof edgeType)}
41
+ className="settings-select"
42
+ >
43
+ <option value="bezier">Bezier (Curved) - Default</option>
44
+ <option value="smoothstep">Smooth Step</option>
45
+ <option value="straight">Straight (90° Angles)</option>
46
+ <option value="simplebezier">Simple Bezier</option>
47
+ </select>
48
+ </div>
49
+
50
+ <div className="settings-field">
51
+ <label htmlFor="edge-width" className="settings-label">
52
+ Edge Stroke Width: {edgeStrokeWidth}px
53
+ </label>
54
+ <input
55
+ id="edge-width"
56
+ type="range"
57
+ min="1"
58
+ max="5"
59
+ step="0.5"
60
+ value={edgeStrokeWidth}
61
+ onChange={(e) => setEdgeStrokeWidth(parseFloat(e.target.value))}
62
+ className="settings-input"
63
+ />
64
+ </div>
65
+ </div>
66
+
67
+ <div className="settings-section">
68
+ <h3 className="settings-section-title">Edge Behavior</h3>
69
+
70
+ <div className="settings-field">
71
+ <div className="settings-checkbox-wrapper">
72
+ <input
73
+ id="edge-animation"
74
+ type="checkbox"
75
+ checked={edgeAnimation}
76
+ onChange={(e) => setEdgeAnimation(e.target.checked)}
77
+ className="settings-checkbox"
78
+ />
79
+ <label htmlFor="edge-animation" className="settings-checkbox-label">
80
+ Enable edge animation
81
+ </label>
82
+ </div>
83
+ <p className="settings-description">
84
+ Animate message flow along edges (may impact performance)
85
+ </p>
86
+ </div>
87
+
88
+ <div className="settings-field">
89
+ <div className="settings-checkbox-wrapper">
90
+ <input
91
+ id="edge-labels"
92
+ type="checkbox"
93
+ checked={showEdgeLabels}
94
+ onChange={(e) => setShowEdgeLabels(e.target.checked)}
95
+ className="settings-checkbox"
96
+ />
97
+ <label htmlFor="edge-labels" className="settings-checkbox-label">
98
+ Show edge labels
99
+ </label>
100
+ </div>
101
+ <p className="settings-description">
102
+ Display correlation IDs and other metadata on edges
103
+ </p>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ );
108
+ };
109
+
110
+ export default GraphSettings;