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.
- flock/__init__.py +12 -217
- flock/agent.py +678 -0
- flock/api/themes.py +71 -0
- flock/artifacts.py +79 -0
- flock/cli.py +75 -0
- flock/components.py +173 -0
- flock/dashboard/__init__.py +28 -0
- flock/dashboard/collector.py +283 -0
- flock/dashboard/events.py +182 -0
- flock/dashboard/launcher.py +230 -0
- flock/dashboard/service.py +537 -0
- flock/dashboard/websocket.py +235 -0
- flock/engines/__init__.py +6 -0
- flock/engines/dspy_engine.py +856 -0
- flock/examples.py +128 -0
- flock/frontend/README.md +678 -0
- flock/frontend/docs/DESIGN_SYSTEM.md +1980 -0
- flock/frontend/index.html +12 -0
- flock/frontend/package-lock.json +4347 -0
- flock/frontend/package.json +48 -0
- flock/frontend/src/App.tsx +79 -0
- flock/frontend/src/__tests__/e2e/critical-scenarios.test.tsx +587 -0
- flock/frontend/src/__tests__/integration/filtering-e2e.test.tsx +387 -0
- flock/frontend/src/__tests__/integration/graph-rendering.test.tsx +640 -0
- flock/frontend/src/__tests__/integration/indexeddb-persistence.test.tsx +699 -0
- flock/frontend/src/components/common/BuildInfo.tsx +39 -0
- flock/frontend/src/components/common/EmptyState.module.css +115 -0
- flock/frontend/src/components/common/EmptyState.tsx +128 -0
- flock/frontend/src/components/common/ErrorBoundary.module.css +169 -0
- flock/frontend/src/components/common/ErrorBoundary.tsx +118 -0
- flock/frontend/src/components/common/KeyboardShortcutsDialog.css +251 -0
- flock/frontend/src/components/common/KeyboardShortcutsDialog.tsx +151 -0
- flock/frontend/src/components/common/LoadingSpinner.module.css +97 -0
- flock/frontend/src/components/common/LoadingSpinner.tsx +29 -0
- flock/frontend/src/components/controls/PublishControl.css +547 -0
- flock/frontend/src/components/controls/PublishControl.test.tsx +543 -0
- flock/frontend/src/components/controls/PublishControl.tsx +432 -0
- flock/frontend/src/components/details/DetailWindowContainer.tsx +62 -0
- flock/frontend/src/components/details/LiveOutputTab.test.tsx +792 -0
- flock/frontend/src/components/details/LiveOutputTab.tsx +220 -0
- flock/frontend/src/components/details/MessageHistoryTab.tsx +299 -0
- flock/frontend/src/components/details/NodeDetailWindow.test.tsx +501 -0
- flock/frontend/src/components/details/NodeDetailWindow.tsx +218 -0
- flock/frontend/src/components/details/RunStatusTab.tsx +307 -0
- flock/frontend/src/components/details/tabs.test.tsx +1015 -0
- flock/frontend/src/components/filters/CorrelationIDFilter.module.css +102 -0
- flock/frontend/src/components/filters/CorrelationIDFilter.test.tsx +197 -0
- flock/frontend/src/components/filters/CorrelationIDFilter.tsx +121 -0
- flock/frontend/src/components/filters/FilterBar.module.css +29 -0
- flock/frontend/src/components/filters/FilterBar.test.tsx +133 -0
- flock/frontend/src/components/filters/FilterBar.tsx +33 -0
- flock/frontend/src/components/filters/FilterPills.module.css +79 -0
- flock/frontend/src/components/filters/FilterPills.test.tsx +173 -0
- flock/frontend/src/components/filters/FilterPills.tsx +67 -0
- flock/frontend/src/components/filters/TimeRangeFilter.module.css +91 -0
- flock/frontend/src/components/filters/TimeRangeFilter.test.tsx +154 -0
- flock/frontend/src/components/filters/TimeRangeFilter.tsx +105 -0
- flock/frontend/src/components/graph/AgentNode.test.tsx +75 -0
- flock/frontend/src/components/graph/AgentNode.tsx +322 -0
- flock/frontend/src/components/graph/GraphCanvas.tsx +406 -0
- flock/frontend/src/components/graph/MessageFlowEdge.tsx +128 -0
- flock/frontend/src/components/graph/MessageNode.test.tsx +62 -0
- flock/frontend/src/components/graph/MessageNode.tsx +116 -0
- flock/frontend/src/components/graph/MiniMap.tsx +47 -0
- flock/frontend/src/components/graph/TransformEdge.tsx +123 -0
- flock/frontend/src/components/layout/DashboardLayout.css +407 -0
- flock/frontend/src/components/layout/DashboardLayout.tsx +300 -0
- flock/frontend/src/components/layout/Header.module.css +88 -0
- flock/frontend/src/components/layout/Header.tsx +52 -0
- flock/frontend/src/components/modules/EventLogModule.test.tsx +401 -0
- flock/frontend/src/components/modules/EventLogModule.tsx +396 -0
- flock/frontend/src/components/modules/EventLogModuleWrapper.tsx +17 -0
- flock/frontend/src/components/modules/ModuleRegistry.test.ts +333 -0
- flock/frontend/src/components/modules/ModuleRegistry.ts +85 -0
- flock/frontend/src/components/modules/ModuleWindow.tsx +155 -0
- flock/frontend/src/components/modules/registerModules.ts +20 -0
- flock/frontend/src/components/settings/AdvancedSettings.tsx +175 -0
- flock/frontend/src/components/settings/AppearanceSettings.tsx +185 -0
- flock/frontend/src/components/settings/GraphSettings.tsx +110 -0
- flock/frontend/src/components/settings/SettingsPanel.css +327 -0
- flock/frontend/src/components/settings/SettingsPanel.tsx +131 -0
- flock/frontend/src/components/settings/ThemeSelector.tsx +298 -0
- flock/frontend/src/hooks/useKeyboardShortcuts.ts +148 -0
- flock/frontend/src/hooks/useModulePersistence.test.ts +442 -0
- flock/frontend/src/hooks/useModulePersistence.ts +154 -0
- flock/frontend/src/hooks/useModules.ts +139 -0
- flock/frontend/src/hooks/usePersistence.ts +139 -0
- flock/frontend/src/main.tsx +13 -0
- flock/frontend/src/services/api.ts +213 -0
- flock/frontend/src/services/indexeddb.test.ts +793 -0
- flock/frontend/src/services/indexeddb.ts +794 -0
- flock/frontend/src/services/layout.test.ts +437 -0
- flock/frontend/src/services/layout.ts +146 -0
- flock/frontend/src/services/themeApplicator.ts +140 -0
- flock/frontend/src/services/themeService.ts +77 -0
- flock/frontend/src/services/websocket.test.ts +595 -0
- flock/frontend/src/services/websocket.ts +685 -0
- flock/frontend/src/store/filterStore.test.ts +242 -0
- flock/frontend/src/store/filterStore.ts +103 -0
- flock/frontend/src/store/graphStore.test.ts +186 -0
- flock/frontend/src/store/graphStore.ts +414 -0
- flock/frontend/src/store/moduleStore.test.ts +253 -0
- flock/frontend/src/store/moduleStore.ts +57 -0
- flock/frontend/src/store/settingsStore.ts +188 -0
- flock/frontend/src/store/streamStore.ts +68 -0
- flock/frontend/src/store/uiStore.test.ts +54 -0
- flock/frontend/src/store/uiStore.ts +110 -0
- flock/frontend/src/store/wsStore.ts +34 -0
- flock/frontend/src/styles/index.css +15 -0
- flock/frontend/src/styles/scrollbar.css +47 -0
- flock/frontend/src/styles/variables.css +488 -0
- flock/frontend/src/test/setup.ts +1 -0
- flock/frontend/src/types/filters.ts +14 -0
- flock/frontend/src/types/graph.ts +55 -0
- flock/frontend/src/types/modules.ts +7 -0
- flock/frontend/src/types/theme.ts +55 -0
- flock/frontend/src/utils/mockData.ts +85 -0
- flock/frontend/src/utils/performance.ts +16 -0
- flock/frontend/src/utils/transforms.test.ts +860 -0
- flock/frontend/src/utils/transforms.ts +323 -0
- flock/frontend/src/vite-env.d.ts +17 -0
- flock/frontend/tsconfig.json +27 -0
- flock/frontend/tsconfig.node.json +11 -0
- flock/frontend/vite.config.ts +25 -0
- flock/frontend/vitest.config.ts +11 -0
- flock/{core/util → helper}/cli_helper.py +4 -3
- flock/{core/logging → logging}/__init__.py +2 -3
- flock/{core/logging → logging}/formatters/enum_builder.py +3 -4
- flock/{core/logging → logging}/formatters/theme_builder.py +19 -44
- flock/{core/logging → logging}/formatters/themed_formatter.py +69 -115
- flock/{core/logging → logging}/logging.py +77 -61
- flock/{core/logging → logging}/telemetry.py +20 -26
- flock/{core/logging → logging}/telemetry_exporter/base_exporter.py +2 -2
- flock/{core/logging → logging}/telemetry_exporter/file_exporter.py +6 -9
- flock/{core/logging → logging}/telemetry_exporter/sqlite_exporter.py +2 -3
- flock/{core/logging → logging}/trace_and_logged.py +20 -24
- flock/mcp/__init__.py +91 -0
- flock/{core/mcp/mcp_client.py → mcp/client.py} +103 -154
- flock/{core/mcp/mcp_config.py → mcp/config.py} +62 -117
- flock/mcp/manager.py +255 -0
- flock/mcp/servers/sse/__init__.py +1 -1
- flock/mcp/servers/sse/flock_sse_server.py +11 -53
- flock/mcp/servers/stdio/__init__.py +1 -1
- flock/mcp/servers/stdio/flock_stdio_server.py +8 -48
- flock/mcp/servers/streamable_http/flock_streamable_http_server.py +17 -62
- flock/mcp/servers/websockets/flock_websocket_server.py +7 -40
- flock/{core/mcp/flock_mcp_tool.py → mcp/tool.py} +16 -26
- flock/mcp/types/__init__.py +42 -0
- flock/{core/mcp → mcp}/types/callbacks.py +9 -15
- flock/{core/mcp → mcp}/types/factories.py +7 -6
- flock/{core/mcp → mcp}/types/handlers.py +13 -18
- flock/{core/mcp → mcp}/types/types.py +70 -74
- flock/{core/mcp → mcp}/util/helpers.py +1 -1
- flock/orchestrator.py +645 -0
- flock/registry.py +148 -0
- flock/runtime.py +262 -0
- flock/service.py +140 -0
- flock/store.py +69 -0
- flock/subscription.py +111 -0
- flock/themes/andromeda.toml +1 -1
- flock/themes/apple-system-colors.toml +1 -1
- flock/themes/arcoiris.toml +1 -1
- flock/themes/atomonelight.toml +1 -1
- flock/themes/ayu copy.toml +1 -1
- flock/themes/ayu-light.toml +1 -1
- flock/themes/belafonte-day.toml +1 -1
- flock/themes/belafonte-night.toml +1 -1
- flock/themes/blulocodark.toml +1 -1
- flock/themes/breeze.toml +1 -1
- flock/themes/broadcast.toml +1 -1
- flock/themes/brogrammer.toml +1 -1
- flock/themes/builtin-dark.toml +1 -1
- flock/themes/builtin-pastel-dark.toml +1 -1
- flock/themes/catppuccin-latte.toml +1 -1
- flock/themes/catppuccin-macchiato.toml +1 -1
- flock/themes/catppuccin-mocha.toml +1 -1
- flock/themes/cga.toml +1 -1
- flock/themes/chalk.toml +1 -1
- flock/themes/ciapre.toml +1 -1
- flock/themes/coffee-theme.toml +1 -1
- flock/themes/cyberpunkscarletprotocol.toml +1 -1
- flock/themes/dark+.toml +1 -1
- flock/themes/darkermatrix.toml +1 -1
- flock/themes/darkside.toml +1 -1
- flock/themes/desert.toml +1 -1
- flock/themes/django.toml +1 -1
- flock/themes/djangosmooth.toml +1 -1
- flock/themes/doomone.toml +1 -1
- flock/themes/dotgov.toml +1 -1
- flock/themes/dracula+.toml +1 -1
- flock/themes/duckbones.toml +1 -1
- flock/themes/encom.toml +1 -1
- flock/themes/espresso.toml +1 -1
- flock/themes/everblush.toml +1 -1
- flock/themes/fairyfloss.toml +1 -1
- flock/themes/fideloper.toml +1 -1
- flock/themes/fishtank.toml +1 -1
- flock/themes/flexoki-light.toml +1 -1
- flock/themes/floraverse.toml +1 -1
- flock/themes/framer.toml +1 -1
- flock/themes/galizur.toml +1 -1
- flock/themes/github.toml +1 -1
- flock/themes/grass.toml +1 -1
- flock/themes/grey-green.toml +1 -1
- flock/themes/gruvboxlight.toml +1 -1
- flock/themes/guezwhoz.toml +1 -1
- flock/themes/harper.toml +1 -1
- flock/themes/hax0r-blue.toml +1 -1
- flock/themes/hopscotch.256.toml +1 -1
- flock/themes/ic-green-ppl.toml +1 -1
- flock/themes/iceberg-dark.toml +1 -1
- flock/themes/japanesque.toml +1 -1
- flock/themes/jubi.toml +1 -1
- flock/themes/kibble.toml +1 -1
- flock/themes/kolorit.toml +1 -1
- flock/themes/kurokula.toml +1 -1
- flock/themes/materialdesigncolors.toml +1 -1
- flock/themes/matrix.toml +1 -1
- flock/themes/mellifluous.toml +1 -1
- flock/themes/midnight-in-mojave.toml +1 -1
- flock/themes/monokai-remastered.toml +1 -1
- flock/themes/monokai-soda.toml +1 -1
- flock/themes/neon.toml +1 -1
- flock/themes/neopolitan.toml +1 -1
- flock/themes/nord-light.toml +1 -1
- flock/themes/ocean.toml +1 -1
- flock/themes/onehalfdark.toml +1 -1
- flock/themes/onehalflight.toml +1 -1
- flock/themes/palenighthc.toml +1 -1
- flock/themes/paulmillr.toml +1 -1
- flock/themes/pencildark.toml +1 -1
- flock/themes/pnevma.toml +1 -1
- flock/themes/purple-rain.toml +1 -1
- flock/themes/purplepeter.toml +1 -1
- flock/themes/raycast-dark.toml +1 -1
- flock/themes/red-sands.toml +1 -1
- flock/themes/relaxed.toml +1 -1
- flock/themes/retro.toml +1 -1
- flock/themes/rose-pine.toml +1 -1
- flock/themes/royal.toml +1 -1
- flock/themes/ryuuko.toml +1 -1
- flock/themes/sakura.toml +1 -1
- flock/themes/scarlet-protocol.toml +1 -1
- flock/themes/seoulbones-dark.toml +1 -1
- flock/themes/shades-of-purple.toml +1 -1
- flock/themes/smyck.toml +1 -1
- flock/themes/softserver.toml +1 -1
- flock/themes/solarized-darcula.toml +1 -1
- flock/themes/square.toml +1 -1
- flock/themes/sugarplum.toml +1 -1
- flock/themes/thayer-bright.toml +1 -1
- flock/themes/tokyonight.toml +1 -1
- flock/themes/tomorrow.toml +1 -1
- flock/themes/ubuntu.toml +1 -1
- flock/themes/ultradark.toml +1 -1
- flock/themes/ultraviolent.toml +1 -1
- flock/themes/unikitty.toml +1 -1
- flock/themes/urple.toml +1 -1
- flock/themes/vesper.toml +1 -1
- flock/themes/vimbones.toml +1 -1
- flock/themes/wildcherry.toml +1 -1
- flock/themes/wilmersdorf.toml +1 -1
- flock/themes/wryan.toml +1 -1
- flock/themes/xcodedarkhc.toml +1 -1
- flock/themes/xcodelight.toml +1 -1
- flock/themes/zenbones-light.toml +1 -1
- flock/themes/zenwritten-dark.toml +1 -1
- flock/utilities.py +301 -0
- flock/{components/utility → utility}/output_utility_component.py +68 -53
- flock/visibility.py +107 -0
- flock_core-0.5.0b51.dist-info/METADATA +747 -0
- flock_core-0.5.0b51.dist-info/RECORD +508 -0
- flock_core-0.5.0b51.dist-info/entry_points.txt +2 -0
- {flock_core-0.5.0b28.dist-info → flock_core-0.5.0b51.dist-info}/licenses/LICENSE +1 -1
- flock/adapter/__init__.py +0 -14
- flock/adapter/azure_adapter.py +0 -68
- flock/adapter/chroma_adapter.py +0 -73
- flock/adapter/faiss_adapter.py +0 -97
- flock/adapter/pinecone_adapter.py +0 -51
- flock/adapter/vector_base.py +0 -47
- flock/cli/assets/release_notes.md +0 -140
- flock/cli/config.py +0 -8
- flock/cli/constants.py +0 -36
- flock/cli/create_agent.py +0 -1
- flock/cli/create_flock.py +0 -280
- flock/cli/execute_flock.py +0 -620
- flock/cli/load_agent.py +0 -1
- flock/cli/load_examples.py +0 -1
- flock/cli/load_flock.py +0 -192
- flock/cli/load_release_notes.py +0 -20
- flock/cli/loaded_flock_cli.py +0 -254
- flock/cli/manage_agents.py +0 -459
- flock/cli/registry_management.py +0 -889
- flock/cli/runner.py +0 -41
- flock/cli/settings.py +0 -857
- flock/cli/utils.py +0 -135
- flock/cli/view_results.py +0 -29
- flock/cli/yaml_editor.py +0 -396
- flock/components/__init__.py +0 -30
- flock/components/evaluation/__init__.py +0 -9
- flock/components/evaluation/declarative_evaluation_component.py +0 -606
- flock/components/routing/__init__.py +0 -15
- flock/components/routing/conditional_routing_component.py +0 -494
- flock/components/routing/default_routing_component.py +0 -103
- flock/components/routing/llm_routing_component.py +0 -206
- flock/components/utility/__init__.py +0 -22
- flock/components/utility/example_utility_component.py +0 -250
- flock/components/utility/feedback_utility_component.py +0 -206
- flock/components/utility/memory_utility_component.py +0 -550
- flock/components/utility/metrics_utility_component.py +0 -700
- flock/config.py +0 -61
- flock/core/__init__.py +0 -110
- flock/core/agent/__init__.py +0 -16
- flock/core/agent/default_agent.py +0 -216
- flock/core/agent/flock_agent_components.py +0 -104
- flock/core/agent/flock_agent_execution.py +0 -101
- flock/core/agent/flock_agent_integration.py +0 -260
- flock/core/agent/flock_agent_lifecycle.py +0 -186
- flock/core/agent/flock_agent_serialization.py +0 -381
- flock/core/api/__init__.py +0 -10
- flock/core/api/custom_endpoint.py +0 -45
- flock/core/api/endpoints.py +0 -254
- flock/core/api/main.py +0 -162
- flock/core/api/models.py +0 -97
- flock/core/api/run_store.py +0 -224
- flock/core/api/runner.py +0 -44
- flock/core/api/service.py +0 -214
- flock/core/component/__init__.py +0 -15
- flock/core/component/agent_component_base.py +0 -309
- flock/core/component/evaluation_component.py +0 -62
- flock/core/component/routing_component.py +0 -74
- flock/core/component/utility_component.py +0 -69
- flock/core/config/flock_agent_config.py +0 -58
- flock/core/config/scheduled_agent_config.py +0 -40
- flock/core/context/context.py +0 -213
- flock/core/context/context_manager.py +0 -37
- flock/core/context/context_vars.py +0 -10
- flock/core/evaluation/utils.py +0 -396
- flock/core/execution/batch_executor.py +0 -369
- flock/core/execution/evaluation_executor.py +0 -438
- flock/core/execution/local_executor.py +0 -31
- flock/core/execution/opik_executor.py +0 -103
- flock/core/execution/temporal_executor.py +0 -164
- flock/core/flock.py +0 -634
- flock/core/flock_agent.py +0 -336
- flock/core/flock_factory.py +0 -613
- flock/core/flock_scheduler.py +0 -166
- flock/core/flock_server_manager.py +0 -136
- flock/core/interpreter/python_interpreter.py +0 -689
- flock/core/mcp/__init__.py +0 -1
- flock/core/mcp/flock_mcp_server.py +0 -680
- flock/core/mcp/mcp_client_manager.py +0 -201
- flock/core/mcp/types/__init__.py +0 -1
- flock/core/mixin/dspy_integration.py +0 -403
- flock/core/mixin/prompt_parser.py +0 -125
- flock/core/orchestration/__init__.py +0 -15
- flock/core/orchestration/flock_batch_processor.py +0 -94
- flock/core/orchestration/flock_evaluator.py +0 -113
- flock/core/orchestration/flock_execution.py +0 -295
- flock/core/orchestration/flock_initialization.py +0 -149
- flock/core/orchestration/flock_server_manager.py +0 -67
- flock/core/orchestration/flock_web_server.py +0 -117
- flock/core/registry/__init__.py +0 -45
- flock/core/registry/agent_registry.py +0 -69
- flock/core/registry/callable_registry.py +0 -139
- flock/core/registry/component_discovery.py +0 -142
- flock/core/registry/component_registry.py +0 -64
- flock/core/registry/config_mapping.py +0 -64
- flock/core/registry/decorators.py +0 -137
- flock/core/registry/registry_hub.py +0 -205
- flock/core/registry/server_registry.py +0 -57
- flock/core/registry/type_registry.py +0 -86
- flock/core/serialization/__init__.py +0 -13
- flock/core/serialization/callable_registry.py +0 -52
- flock/core/serialization/flock_serializer.py +0 -832
- flock/core/serialization/json_encoder.py +0 -41
- flock/core/serialization/secure_serializer.py +0 -175
- flock/core/serialization/serializable.py +0 -342
- flock/core/serialization/serialization_utils.py +0 -412
- flock/core/util/file_path_utils.py +0 -223
- flock/core/util/hydrator.py +0 -309
- flock/core/util/input_resolver.py +0 -164
- flock/core/util/loader.py +0 -59
- flock/core/util/splitter.py +0 -219
- flock/di.py +0 -27
- flock/platform/docker_tools.py +0 -49
- flock/platform/jaeger_install.py +0 -86
- flock/webapp/__init__.py +0 -1
- flock/webapp/app/__init__.py +0 -0
- flock/webapp/app/api/__init__.py +0 -0
- flock/webapp/app/api/agent_management.py +0 -241
- flock/webapp/app/api/execution.py +0 -709
- flock/webapp/app/api/flock_management.py +0 -129
- flock/webapp/app/api/registry_viewer.py +0 -30
- flock/webapp/app/chat.py +0 -665
- flock/webapp/app/config.py +0 -104
- flock/webapp/app/dependencies.py +0 -117
- flock/webapp/app/main.py +0 -1070
- flock/webapp/app/middleware.py +0 -113
- flock/webapp/app/models_ui.py +0 -7
- flock/webapp/app/services/__init__.py +0 -0
- flock/webapp/app/services/feedback_file_service.py +0 -363
- flock/webapp/app/services/flock_service.py +0 -337
- flock/webapp/app/services/sharing_models.py +0 -81
- flock/webapp/app/services/sharing_store.py +0 -762
- flock/webapp/app/templates/theme_mapper.html +0 -326
- flock/webapp/app/theme_mapper.py +0 -812
- flock/webapp/app/utils.py +0 -85
- flock/webapp/run.py +0 -215
- flock/webapp/static/css/chat.css +0 -301
- flock/webapp/static/css/components.css +0 -167
- flock/webapp/static/css/header.css +0 -39
- flock/webapp/static/css/layout.css +0 -46
- flock/webapp/static/css/sidebar.css +0 -127
- flock/webapp/static/css/two-pane.css +0 -48
- flock/webapp/templates/base.html +0 -200
- flock/webapp/templates/chat.html +0 -152
- flock/webapp/templates/chat_settings.html +0 -19
- flock/webapp/templates/flock_editor.html +0 -16
- flock/webapp/templates/index.html +0 -12
- flock/webapp/templates/partials/_agent_detail_form.html +0 -93
- flock/webapp/templates/partials/_agent_list.html +0 -18
- flock/webapp/templates/partials/_agent_manager_view.html +0 -51
- flock/webapp/templates/partials/_agent_tools_checklist.html +0 -14
- flock/webapp/templates/partials/_chat_container.html +0 -15
- flock/webapp/templates/partials/_chat_messages.html +0 -57
- flock/webapp/templates/partials/_chat_settings_form.html +0 -85
- flock/webapp/templates/partials/_create_flock_form.html +0 -50
- flock/webapp/templates/partials/_dashboard_flock_detail.html +0 -17
- flock/webapp/templates/partials/_dashboard_flock_file_list.html +0 -16
- flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +0 -28
- flock/webapp/templates/partials/_dashboard_upload_flock_form.html +0 -16
- flock/webapp/templates/partials/_dynamic_input_form_content.html +0 -22
- flock/webapp/templates/partials/_env_vars_table.html +0 -23
- flock/webapp/templates/partials/_execution_form.html +0 -118
- flock/webapp/templates/partials/_execution_view_container.html +0 -28
- flock/webapp/templates/partials/_flock_file_list.html +0 -23
- flock/webapp/templates/partials/_flock_properties_form.html +0 -52
- flock/webapp/templates/partials/_flock_upload_form.html +0 -16
- flock/webapp/templates/partials/_header_flock_status.html +0 -5
- flock/webapp/templates/partials/_load_manager_view.html +0 -49
- flock/webapp/templates/partials/_registry_table.html +0 -25
- flock/webapp/templates/partials/_registry_viewer_content.html +0 -70
- flock/webapp/templates/partials/_results_display.html +0 -78
- flock/webapp/templates/partials/_settings_env_content.html +0 -9
- flock/webapp/templates/partials/_settings_theme_content.html +0 -14
- flock/webapp/templates/partials/_settings_view.html +0 -36
- flock/webapp/templates/partials/_share_chat_link_snippet.html +0 -11
- flock/webapp/templates/partials/_share_link_snippet.html +0 -35
- flock/webapp/templates/partials/_sidebar.html +0 -74
- flock/webapp/templates/partials/_streaming_results_container.html +0 -195
- flock/webapp/templates/partials/_structured_data_view.html +0 -40
- flock/webapp/templates/partials/_theme_preview.html +0 -36
- flock/webapp/templates/registry_viewer.html +0 -84
- flock/webapp/templates/shared_run_page.html +0 -140
- flock/workflow/__init__.py +0 -0
- flock/workflow/activities.py +0 -196
- flock/workflow/agent_activities.py +0 -24
- flock/workflow/agent_execution_activity.py +0 -202
- flock/workflow/flock_workflow.py +0 -214
- flock/workflow/temporal_config.py +0 -96
- flock/workflow/temporal_setup.py +0 -68
- flock_core-0.5.0b28.dist-info/METADATA +0 -274
- flock_core-0.5.0b28.dist-info/RECORD +0 -561
- flock_core-0.5.0b28.dist-info/entry_points.txt +0 -2
- /flock/{core/logging → logging}/formatters/themes.py +0 -0
- /flock/{core/logging → logging}/span_middleware/baggage_span_processor.py +0 -0
- /flock/{core/mcp → mcp}/util/__init__.py +0 -0
- {flock_core-0.5.0b28.dist-info → flock_core-0.5.0b51.dist-info}/WHEEL +0 -0
flock/cli/create_flock.py
DELETED
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
"""Create a new Flock through a guided wizard.
|
|
2
|
-
|
|
3
|
-
This module provides a wizard-like interface for creating new Flock instances,
|
|
4
|
-
with options for basic configuration and initial agent creation.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from datetime import datetime
|
|
8
|
-
from pathlib import Path
|
|
9
|
-
|
|
10
|
-
import questionary
|
|
11
|
-
from rich.console import Console
|
|
12
|
-
from rich.panel import Panel
|
|
13
|
-
|
|
14
|
-
from flock.cli.constants import CLI_DEFAULT_FOLDER
|
|
15
|
-
from flock.cli.loaded_flock_cli import start_loaded_flock_cli
|
|
16
|
-
from flock.core.flock import Flock
|
|
17
|
-
from flock.core.flock_factory import FlockFactory
|
|
18
|
-
from flock.core.logging.logging import get_logger
|
|
19
|
-
from flock.core.util.cli_helper import init_console
|
|
20
|
-
|
|
21
|
-
# Create console instance
|
|
22
|
-
console = Console()
|
|
23
|
-
logger = get_logger("cli.create_flock")
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def create_flock():
|
|
27
|
-
"""Create a new Flock through a guided wizard."""
|
|
28
|
-
init_console()
|
|
29
|
-
console.print(Panel("[bold green]Create New Flock[/]"), justify="center")
|
|
30
|
-
console.line()
|
|
31
|
-
|
|
32
|
-
# Step 1: Basic Flock Configuration
|
|
33
|
-
console.print("[bold]Step 1: Basic Flock Configuration[/]")
|
|
34
|
-
console.line()
|
|
35
|
-
|
|
36
|
-
flock_name = questionary.text(
|
|
37
|
-
"Enter a name for this Flock:",
|
|
38
|
-
default="",
|
|
39
|
-
).ask()
|
|
40
|
-
|
|
41
|
-
# Get description
|
|
42
|
-
description = questionary.text(
|
|
43
|
-
"Enter a description for this Flock (optional):",
|
|
44
|
-
default="",
|
|
45
|
-
).ask()
|
|
46
|
-
|
|
47
|
-
# Default model selection
|
|
48
|
-
default_models = [
|
|
49
|
-
"openai/gpt-4o",
|
|
50
|
-
"openai/gpt-3.5-turbo",
|
|
51
|
-
"anthropic/claude-3-opus-20240229",
|
|
52
|
-
"anthropic/claude-3-sonnet-20240229",
|
|
53
|
-
"gemini/gemini-1.5-pro",
|
|
54
|
-
"Other (specify)",
|
|
55
|
-
]
|
|
56
|
-
|
|
57
|
-
model_choice = questionary.select(
|
|
58
|
-
"Select a default model:",
|
|
59
|
-
choices=default_models,
|
|
60
|
-
).ask()
|
|
61
|
-
|
|
62
|
-
if model_choice == "Other (specify)":
|
|
63
|
-
model = questionary.text(
|
|
64
|
-
"Enter the model identifier:",
|
|
65
|
-
default="openai/gpt-4o",
|
|
66
|
-
).ask()
|
|
67
|
-
else:
|
|
68
|
-
model = model_choice
|
|
69
|
-
|
|
70
|
-
# Execution options
|
|
71
|
-
# enable_temporal = questionary.confirm(
|
|
72
|
-
# "Enable Temporal for distributed execution?",
|
|
73
|
-
# default=False,
|
|
74
|
-
# ).ask()
|
|
75
|
-
enable_temporal = False
|
|
76
|
-
|
|
77
|
-
# Create the Flock instance
|
|
78
|
-
flock = Flock(
|
|
79
|
-
name=flock_name,
|
|
80
|
-
model=model,
|
|
81
|
-
description=description,
|
|
82
|
-
enable_temporal=enable_temporal,
|
|
83
|
-
)
|
|
84
|
-
|
|
85
|
-
console.print("\n[green]✓[/] Flock created successfully!")
|
|
86
|
-
console.line()
|
|
87
|
-
|
|
88
|
-
# Step 2: Create Initial Agent (optional)
|
|
89
|
-
create_agent = questionary.confirm(
|
|
90
|
-
"Would you like to create an initial agent?",
|
|
91
|
-
default=True,
|
|
92
|
-
).ask()
|
|
93
|
-
|
|
94
|
-
if create_agent:
|
|
95
|
-
_create_initial_agent(flock)
|
|
96
|
-
|
|
97
|
-
# Step 3: Save Options
|
|
98
|
-
console.print("\n[bold]Step 3: Save Options[/]")
|
|
99
|
-
console.line()
|
|
100
|
-
|
|
101
|
-
save_choice = questionary.select(
|
|
102
|
-
"What would you like to do with this Flock?",
|
|
103
|
-
choices=[
|
|
104
|
-
"Save to YAML file",
|
|
105
|
-
"Continue in CLI without saving",
|
|
106
|
-
"Execute immediately",
|
|
107
|
-
"Cancel and discard",
|
|
108
|
-
],
|
|
109
|
-
).ask()
|
|
110
|
-
|
|
111
|
-
if save_choice == "Save to YAML file":
|
|
112
|
-
_save_flock_to_yaml(flock)
|
|
113
|
-
|
|
114
|
-
# Ask if user wants to continue working with this Flock
|
|
115
|
-
continue_with_flock = questionary.confirm(
|
|
116
|
-
"Would you like to continue working with this Flock in the CLI?",
|
|
117
|
-
default=True,
|
|
118
|
-
).ask()
|
|
119
|
-
|
|
120
|
-
if continue_with_flock:
|
|
121
|
-
start_loaded_flock_cli(flock, server_name="New Flock")
|
|
122
|
-
|
|
123
|
-
elif save_choice == "Continue in CLI without saving":
|
|
124
|
-
start_loaded_flock_cli(flock, server_name="New Flock")
|
|
125
|
-
|
|
126
|
-
elif save_choice == "Execute immediately":
|
|
127
|
-
from flock.cli.execute_flock import execute_flock
|
|
128
|
-
|
|
129
|
-
try:
|
|
130
|
-
execute_flock(flock)
|
|
131
|
-
except ImportError:
|
|
132
|
-
console.print(
|
|
133
|
-
"[yellow]Execute functionality not yet implemented.[/]"
|
|
134
|
-
)
|
|
135
|
-
input("\nPress Enter to continue...")
|
|
136
|
-
start_loaded_flock_cli(flock, server_name="New Flock")
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
def _create_initial_agent(flock):
|
|
140
|
-
"""Create an initial agent for the Flock.
|
|
141
|
-
|
|
142
|
-
Args:
|
|
143
|
-
flock: The Flock instance to add the agent to
|
|
144
|
-
"""
|
|
145
|
-
console.print("\n[bold]Step 2: Create Initial Agent[/]")
|
|
146
|
-
console.line()
|
|
147
|
-
|
|
148
|
-
# Get agent name
|
|
149
|
-
name = questionary.text(
|
|
150
|
-
"Enter a name for the agent:",
|
|
151
|
-
default="my_agent",
|
|
152
|
-
).ask()
|
|
153
|
-
|
|
154
|
-
# Get agent description
|
|
155
|
-
description = questionary.text(
|
|
156
|
-
"Enter a description for the agent (optional):",
|
|
157
|
-
default="",
|
|
158
|
-
).ask()
|
|
159
|
-
|
|
160
|
-
# Get input specification
|
|
161
|
-
input_spec = questionary.text(
|
|
162
|
-
"Enter input specification (e.g., 'query: str | The search query'):",
|
|
163
|
-
default="query",
|
|
164
|
-
).ask()
|
|
165
|
-
|
|
166
|
-
# Get output specification
|
|
167
|
-
output_spec = questionary.text(
|
|
168
|
-
"Enter output specification (e.g., 'result: str | The generated result'):",
|
|
169
|
-
default="result",
|
|
170
|
-
).ask()
|
|
171
|
-
|
|
172
|
-
# Additional options
|
|
173
|
-
use_cache = questionary.confirm(
|
|
174
|
-
"Enable caching for this agent?",
|
|
175
|
-
default=True,
|
|
176
|
-
).ask()
|
|
177
|
-
|
|
178
|
-
enable_rich_tables = questionary.confirm(
|
|
179
|
-
"Enable rich table output for this agent?",
|
|
180
|
-
default=True,
|
|
181
|
-
).ask()
|
|
182
|
-
|
|
183
|
-
# Create the agent
|
|
184
|
-
agent = FlockFactory.create_default_agent(
|
|
185
|
-
name=name,
|
|
186
|
-
description=description,
|
|
187
|
-
input=input_spec,
|
|
188
|
-
output=output_spec,
|
|
189
|
-
use_cache=use_cache,
|
|
190
|
-
enable_rich_tables=enable_rich_tables,
|
|
191
|
-
)
|
|
192
|
-
|
|
193
|
-
# Add the agent to the Flock
|
|
194
|
-
flock.add_agent(agent)
|
|
195
|
-
console.print(f"\n[green]✓[/] Agent '{name}' created and added to Flock!")
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
def _save_flock_to_yaml(flock):
|
|
199
|
-
"""Save the Flock to a YAML file.
|
|
200
|
-
|
|
201
|
-
Args:
|
|
202
|
-
flock: The Flock instance to save
|
|
203
|
-
"""
|
|
204
|
-
# Get file path
|
|
205
|
-
# default = flock.name + current date in 04_04_2025 format
|
|
206
|
-
default_name = f"{flock.name}_{datetime.now().strftime('%m_%d_%Y')}"
|
|
207
|
-
file_path = questionary.text(
|
|
208
|
-
"Enter file path to save Flock:",
|
|
209
|
-
default=default_name,
|
|
210
|
-
).ask()
|
|
211
|
-
|
|
212
|
-
# Ensure the file has the correct extension
|
|
213
|
-
if not file_path.endswith((".yaml", ".yml")):
|
|
214
|
-
file_path += ".flock.yaml"
|
|
215
|
-
|
|
216
|
-
file_path = CLI_DEFAULT_FOLDER + "/" + file_path
|
|
217
|
-
|
|
218
|
-
# Create directory if it doesn't exist
|
|
219
|
-
save_path = Path(file_path)
|
|
220
|
-
save_path.parent.mkdir(parents=True, exist_ok=True)
|
|
221
|
-
|
|
222
|
-
# Ask about path_type
|
|
223
|
-
path_type_choice = questionary.select(
|
|
224
|
-
"How should file paths be formatted?",
|
|
225
|
-
choices=[
|
|
226
|
-
"absolute (full paths, best for local use)",
|
|
227
|
-
"relative (relative paths, better for sharing)",
|
|
228
|
-
],
|
|
229
|
-
default="absolute (full paths, best for local use)",
|
|
230
|
-
).ask()
|
|
231
|
-
|
|
232
|
-
# Extract just the first word
|
|
233
|
-
path_type = path_type_choice.split()[0]
|
|
234
|
-
|
|
235
|
-
console.print(
|
|
236
|
-
f"[bold]Path type selected: [green]{path_type}[/green][/bold]"
|
|
237
|
-
)
|
|
238
|
-
|
|
239
|
-
try:
|
|
240
|
-
# Check if the flock has tools to provide a helpful message
|
|
241
|
-
has_tools = False
|
|
242
|
-
for agent in flock.agents.values():
|
|
243
|
-
if agent.tools and len(agent.tools) > 0:
|
|
244
|
-
has_tools = True
|
|
245
|
-
break
|
|
246
|
-
|
|
247
|
-
# Save the Flock to YAML with proper tool serialization
|
|
248
|
-
logger.info(f"Saving Flock to {file_path}")
|
|
249
|
-
flock.to_yaml_file(file_path, path_type=path_type)
|
|
250
|
-
console.print(
|
|
251
|
-
f"\n[green]✓[/] Flock saved to {file_path} with {path_type} paths"
|
|
252
|
-
)
|
|
253
|
-
|
|
254
|
-
# Provide helpful information about tool serialization
|
|
255
|
-
if has_tools:
|
|
256
|
-
console.print("\n[bold blue]Tools Information:[/]")
|
|
257
|
-
console.print(
|
|
258
|
-
"This Flock contains tools that have been serialized as callable references."
|
|
259
|
-
)
|
|
260
|
-
console.print(
|
|
261
|
-
"When loading this Flock on another system, ensure that:"
|
|
262
|
-
)
|
|
263
|
-
console.print(
|
|
264
|
-
" - The tools/functions are registered in the Flock registry"
|
|
265
|
-
)
|
|
266
|
-
console.print(
|
|
267
|
-
" - The containing modules are available in the Python path"
|
|
268
|
-
)
|
|
269
|
-
except Exception as e:
|
|
270
|
-
logger.error(f"Error saving Flock: {e}", exc_info=True)
|
|
271
|
-
console.print(f"\n[bold red]Error saving Flock:[/] {e!s}")
|
|
272
|
-
|
|
273
|
-
# Provide guidance on potential issues with tool serialization
|
|
274
|
-
if "callable" in str(e).lower() or "registry" in str(e).lower():
|
|
275
|
-
console.print(
|
|
276
|
-
"\n[yellow]This error might be related to tool serialization.[/]"
|
|
277
|
-
)
|
|
278
|
-
console.print(
|
|
279
|
-
"[yellow]Check if all tools are properly registered in the Flock registry.[/]"
|
|
280
|
-
)
|