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/adapter/chroma_adapter.py
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from pathlib import Path
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
from .vector_base import VectorAdapter, VectorHit
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class ChromaAdapter(VectorAdapter):
|
|
10
|
-
"""Adapter for Chroma vector DB (local or HTTP)."""
|
|
11
|
-
|
|
12
|
-
def __init__(
|
|
13
|
-
self,
|
|
14
|
-
*,
|
|
15
|
-
collection: str = "flock_memories",
|
|
16
|
-
host: str | None = None,
|
|
17
|
-
port: int = 8000,
|
|
18
|
-
path: str | None = "./vector_store",
|
|
19
|
-
) -> None:
|
|
20
|
-
super().__init__()
|
|
21
|
-
try:
|
|
22
|
-
import chromadb
|
|
23
|
-
from chromadb.config import Settings
|
|
24
|
-
except ImportError as e:
|
|
25
|
-
raise RuntimeError("chromadb is required for ChromaAdapter") from e
|
|
26
|
-
|
|
27
|
-
if host:
|
|
28
|
-
client = chromadb.HttpClient(host=host, port=port)
|
|
29
|
-
else:
|
|
30
|
-
p = Path(path or "./vector_store")
|
|
31
|
-
p.mkdir(parents=True, exist_ok=True)
|
|
32
|
-
client = chromadb.PersistentClient(settings=Settings(path=str(p)))
|
|
33
|
-
|
|
34
|
-
self._collection = client.get_or_create_collection(collection)
|
|
35
|
-
|
|
36
|
-
# -------------------------------
|
|
37
|
-
# VectorAdapter implementation
|
|
38
|
-
# -------------------------------
|
|
39
|
-
def add(
|
|
40
|
-
self,
|
|
41
|
-
*,
|
|
42
|
-
id: str,
|
|
43
|
-
content: str,
|
|
44
|
-
embedding: list[float],
|
|
45
|
-
metadata: dict[str, Any] | None = None,
|
|
46
|
-
) -> None:
|
|
47
|
-
self._collection.add(
|
|
48
|
-
ids=[id],
|
|
49
|
-
documents=[content],
|
|
50
|
-
embeddings=[embedding],
|
|
51
|
-
metadatas=[metadata or {}],
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
def query(self, *, embedding: list[float], k: int) -> list[VectorHit]:
|
|
55
|
-
res = self._collection.query(
|
|
56
|
-
query_embeddings=[embedding],
|
|
57
|
-
n_results=k,
|
|
58
|
-
include=["documents", "metadatas", "distances", "ids"],
|
|
59
|
-
)
|
|
60
|
-
hits: list[VectorHit] = []
|
|
61
|
-
if res and res["ids"]:
|
|
62
|
-
for idx in range(len(res["ids"][0])):
|
|
63
|
-
dist = res["distances"][0][idx]
|
|
64
|
-
score = 1 - dist # Convert L2 → similarity
|
|
65
|
-
hits.append(
|
|
66
|
-
VectorHit(
|
|
67
|
-
id=res["ids"][0][idx],
|
|
68
|
-
content=res["documents"][0][idx],
|
|
69
|
-
metadata=res["metadatas"][0][idx],
|
|
70
|
-
score=score,
|
|
71
|
-
)
|
|
72
|
-
)
|
|
73
|
-
return hits
|
flock/adapter/faiss_adapter.py
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from pathlib import Path
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
import numpy as np
|
|
7
|
-
|
|
8
|
-
from .vector_base import VectorAdapter, VectorHit
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class FAISSAdapter(VectorAdapter):
|
|
12
|
-
"""Simple on-disk FAISS vector store.
|
|
13
|
-
|
|
14
|
-
Index is stored in `index_path` (flat L2). Metadata & content are kept in a
|
|
15
|
-
parallel JSONL file for quick prototyping; not optimised for massive scale.
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
def __init__(self, *, index_path: str = "./faiss.index") -> None:
|
|
19
|
-
super().__init__()
|
|
20
|
-
try:
|
|
21
|
-
import faiss # type: ignore
|
|
22
|
-
except ImportError as e:
|
|
23
|
-
raise RuntimeError("faiss library is required for FAISSAdapter") from e
|
|
24
|
-
|
|
25
|
-
self._faiss = __import__("faiss") # lazy alias
|
|
26
|
-
self._index_path = Path(index_path)
|
|
27
|
-
self._meta_path = self._index_path.with_suffix(".meta.jsonl")
|
|
28
|
-
self._metadata: dict[int, dict[str, Any]] = {}
|
|
29
|
-
|
|
30
|
-
if self._index_path.exists():
|
|
31
|
-
self._index = self._faiss.read_index(str(self._index_path))
|
|
32
|
-
# Load metadata
|
|
33
|
-
if self._meta_path.exists():
|
|
34
|
-
import json
|
|
35
|
-
|
|
36
|
-
with open(self._meta_path) as f:
|
|
37
|
-
for line_no, line in enumerate(f):
|
|
38
|
-
self._metadata[line_no] = json.loads(line)
|
|
39
|
-
else:
|
|
40
|
-
self._index = None # created on first add
|
|
41
|
-
|
|
42
|
-
# -----------------------------
|
|
43
|
-
def _ensure_index(self, dim: int):
|
|
44
|
-
if self._index is None:
|
|
45
|
-
self._index = self._faiss.IndexFlatL2(dim)
|
|
46
|
-
|
|
47
|
-
def add(
|
|
48
|
-
self,
|
|
49
|
-
*,
|
|
50
|
-
id: str,
|
|
51
|
-
content: str,
|
|
52
|
-
embedding: list[float],
|
|
53
|
-
metadata: dict[str, Any] | None = None,
|
|
54
|
-
) -> None:
|
|
55
|
-
import json
|
|
56
|
-
|
|
57
|
-
vec = np.array([embedding], dtype="float32")
|
|
58
|
-
self._ensure_index(vec.shape[1])
|
|
59
|
-
self._index.add(vec)
|
|
60
|
-
# Row id is current size - 1
|
|
61
|
-
row_id = self._index.ntotal - 1
|
|
62
|
-
self._metadata[row_id] = {
|
|
63
|
-
"id": id,
|
|
64
|
-
"content": content,
|
|
65
|
-
"metadata": metadata or {},
|
|
66
|
-
}
|
|
67
|
-
# Append metadata to file for persistence
|
|
68
|
-
self._meta_path.parent.mkdir(parents=True, exist_ok=True)
|
|
69
|
-
with open(self._meta_path, "a") as f:
|
|
70
|
-
f.write(json.dumps(self._metadata[row_id]) + "\n")
|
|
71
|
-
# Persist index lazily every 100 inserts
|
|
72
|
-
if row_id % 100 == 0:
|
|
73
|
-
self._faiss.write_index(self._index, str(self._index_path))
|
|
74
|
-
|
|
75
|
-
def query(self, *, embedding: list[float], k: int) -> list[VectorHit]:
|
|
76
|
-
if self._index is None or self._index.ntotal == 0:
|
|
77
|
-
return []
|
|
78
|
-
vec = np.array([embedding], dtype="float32")
|
|
79
|
-
distances, indices = self._index.search(vec, k)
|
|
80
|
-
hits: list[VectorHit] = []
|
|
81
|
-
for dist, idx in zip(distances[0], indices[0]):
|
|
82
|
-
if idx == -1:
|
|
83
|
-
continue
|
|
84
|
-
meta = self._metadata.get(idx, {})
|
|
85
|
-
hits.append(
|
|
86
|
-
VectorHit(
|
|
87
|
-
id=meta.get("id", str(idx)),
|
|
88
|
-
content=meta.get("content"),
|
|
89
|
-
metadata=meta.get("metadata", {}),
|
|
90
|
-
score=1 - float(dist), # approximate similarity
|
|
91
|
-
)
|
|
92
|
-
)
|
|
93
|
-
return hits
|
|
94
|
-
|
|
95
|
-
def close(self) -> None:
|
|
96
|
-
if self._index is not None:
|
|
97
|
-
self._faiss.write_index(self._index, str(self._index_path))
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Any
|
|
4
|
-
|
|
5
|
-
from .vector_base import VectorAdapter, VectorHit
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class PineconeAdapter(VectorAdapter):
|
|
9
|
-
"""Adapter for Pinecone vector DB."""
|
|
10
|
-
|
|
11
|
-
def __init__(
|
|
12
|
-
self,
|
|
13
|
-
*,
|
|
14
|
-
api_key: str,
|
|
15
|
-
environment: str,
|
|
16
|
-
index: str,
|
|
17
|
-
) -> None:
|
|
18
|
-
super().__init__()
|
|
19
|
-
try:
|
|
20
|
-
import pinecone
|
|
21
|
-
except ImportError as e:
|
|
22
|
-
raise RuntimeError("pinecone-client is required for PineconeAdapter") from e
|
|
23
|
-
|
|
24
|
-
pinecone.init(api_key=api_key, environment=environment)
|
|
25
|
-
self._index = pinecone.Index(index)
|
|
26
|
-
|
|
27
|
-
# -------------------------------
|
|
28
|
-
def add(
|
|
29
|
-
self,
|
|
30
|
-
*,
|
|
31
|
-
id: str,
|
|
32
|
-
content: str,
|
|
33
|
-
embedding: list[float],
|
|
34
|
-
metadata: dict[str, Any] | None = None,
|
|
35
|
-
) -> None:
|
|
36
|
-
meta = {"content": content, **(metadata or {})}
|
|
37
|
-
self._index.upsert(vectors=[(id, embedding, meta)])
|
|
38
|
-
|
|
39
|
-
def query(self, *, embedding: list[float], k: int) -> list[VectorHit]:
|
|
40
|
-
res = self._index.query(vector=embedding, top_k=k, include_values=False, include_metadata=True)
|
|
41
|
-
hits: list[VectorHit] = []
|
|
42
|
-
for match in res.matches or []:
|
|
43
|
-
hits.append(
|
|
44
|
-
VectorHit(
|
|
45
|
-
id=match.id,
|
|
46
|
-
content=match.metadata.get("content") if match.metadata else None,
|
|
47
|
-
metadata={k: v for k, v in (match.metadata or {}).items() if k != "content"},
|
|
48
|
-
score=match.score,
|
|
49
|
-
)
|
|
50
|
-
)
|
|
51
|
-
return hits
|
flock/adapter/vector_base.py
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from abc import ABC, abstractmethod
|
|
4
|
-
from dataclasses import dataclass
|
|
5
|
-
from typing import Any
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
@dataclass
|
|
9
|
-
class VectorHit:
|
|
10
|
-
"""Result object returned from vector search."""
|
|
11
|
-
|
|
12
|
-
id: str
|
|
13
|
-
content: str | None
|
|
14
|
-
metadata: dict[str, Any]
|
|
15
|
-
score: float # similarity score (higher = more similar)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class VectorAdapter(ABC):
|
|
19
|
-
"""Protocol for vector-store adapters."""
|
|
20
|
-
|
|
21
|
-
def __init__(self, **kwargs):
|
|
22
|
-
"""Store-specific kwargs are passed through subclass constructor."""
|
|
23
|
-
super().__init__()
|
|
24
|
-
|
|
25
|
-
# ----------------------
|
|
26
|
-
# CRUD operations
|
|
27
|
-
# ----------------------
|
|
28
|
-
@abstractmethod
|
|
29
|
-
def add(
|
|
30
|
-
self,
|
|
31
|
-
*,
|
|
32
|
-
id: str,
|
|
33
|
-
content: str,
|
|
34
|
-
embedding: list[float],
|
|
35
|
-
metadata: dict[str, Any] | None = None,
|
|
36
|
-
) -> None: # pragma: no cover – interface
|
|
37
|
-
"""Insert or upsert a single document."""
|
|
38
|
-
|
|
39
|
-
@abstractmethod
|
|
40
|
-
def query(
|
|
41
|
-
self, *, embedding: list[float], k: int
|
|
42
|
-
) -> list[VectorHit]: # pragma: no cover – interface
|
|
43
|
-
"""Return top-k most similar hits."""
|
|
44
|
-
|
|
45
|
-
def close(self) -> None: # Optional override
|
|
46
|
-
"""Free resources / flush buffers."""
|
|
47
|
-
return
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
# Flock v0.3 - Hummingbird
|
|
2
|
-
|
|
3
|
-
We're excited to announce Flock v0.3, codenamed **"Hummingbird"**! This release brings a fundamental redesign of Flock's core architecture, introducing **unprecedented modularity and flexibility** to AI agent development.
|
|
4
|
-
|
|
5
|
-
Modules and evaluators were the last missing pieces to fully modularize Flock.
|
|
6
|
-
|
|
7
|
-
Worried this might lead to hard-to-manage boilerplate? No problem! **FlockFactory** provides pre-configured agents, making interaction with modules and evaluators **purely optional**, so you can focus on **what** the agent does, not **how** it works.
|
|
8
|
-
|
|
9
|
-
But if you want **total control** over your agent, feel free to dive into these new additions. They unlock **crazy new possibilities** in Flock!
|
|
10
|
-
|
|
11
|
-
Like a hummingbird, modules are small and nimble code packages. Put enough of them inside a flock, and... well, even we don't know what happens next.
|
|
12
|
-
|
|
13
|
-
### Other notable additions:
|
|
14
|
-
- **CLI Interface** – Flock now has a command-line interface
|
|
15
|
-
- **REST API Server** – Expose your agents via HTTP endpoints
|
|
16
|
-
- **Color-coded logging** – Better debugging experience
|
|
17
|
-
- **New examples**
|
|
18
|
-
- ...and much more!
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Core Changes
|
|
23
|
-
|
|
24
|
-
### New Module System
|
|
25
|
-
- **Pluggable modules system á la FastAPI**
|
|
26
|
-
- **Easy-to-implement** module interface
|
|
27
|
-
- **Configuration system** for clean parameter management
|
|
28
|
-
|
|
29
|
-
### New Evaluator System
|
|
30
|
-
- **Pluggable evaluation system**
|
|
31
|
-
- Built-in support for multiple evaluation strategies:
|
|
32
|
-
- **Declarative Evaluator** – The default way Flock is designed
|
|
33
|
-
- **Natural Language Evaluator** – Use "classic" prompting
|
|
34
|
-
- **Zep Evaluator** – Add or query data
|
|
35
|
-
- **Easily extendable** with custom evaluation approaches
|
|
36
|
-
|
|
37
|
-
### New Router System
|
|
38
|
-
- **Pluggable router system** for dynamic agent chaining
|
|
39
|
-
- Built-in support for multiple routing strategies:
|
|
40
|
-
- **Default Router** – Uses the agent's hand_off property
|
|
41
|
-
- **LLM Router** – Uses an LLM to determine the next agent
|
|
42
|
-
- **Agent Router** – Uses a dedicated agent to make routing decisions
|
|
43
|
-
- **Easily extendable** with custom routing approaches
|
|
44
|
-
|
|
45
|
-
### REST API Server
|
|
46
|
-
- **FastAPI-based** HTTP server for exposing agents
|
|
47
|
-
- **Synchronous and asynchronous** execution modes
|
|
48
|
-
- **Run status tracking** with unique run IDs
|
|
49
|
-
- **Agent discovery** endpoint to list available agents
|
|
50
|
-
- **Simple integration** with existing Flock instances
|
|
51
|
-
|
|
52
|
-
### Auto-Handoff Feature
|
|
53
|
-
- **Dynamic agent chaining** without explicit handoff definitions
|
|
54
|
-
- **LLM-powered routing** to determine the best next agent
|
|
55
|
-
- **Emergent behavior** in multi-agent systems
|
|
56
|
-
- **Simple to use** with the "auto_handoff" string value
|
|
57
|
-
|
|
58
|
-
### New high end examples like the Repository Analyzer
|
|
59
|
-
- **Automatic documentation generation** for any codebase
|
|
60
|
-
- **Rule-based version** using custom evaluators
|
|
61
|
-
- **LLM-based version** for more flexible and powerful analysis
|
|
62
|
-
- **Comprehensive documentation** including overview, architecture, components, and more
|
|
63
|
-
|
|
64
|
-
### FlockFactory
|
|
65
|
-
- Provides **pre-configured agents**, so you don't have to manage modules and evaluators manually!
|
|
66
|
-
|
|
67
|
-
### Built-in Modules
|
|
68
|
-
- **Memory Module** – Persistent agent memory
|
|
69
|
-
- **Output Module** – Advanced output formatting and storage
|
|
70
|
-
- **Metrics Module** – Detailed performance tracking
|
|
71
|
-
- **Zep Module** – Uses Zep for Knowledge Graphs
|
|
72
|
-
- **Azure Search Tools** – Integration with Azure AI Search for vector search and document retrieval
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Breaking Changes
|
|
77
|
-
- **Removed callback handlers** from `FlockAgent` in favor of modules
|
|
78
|
-
- **Changed agent initialization** pattern to support evaluators
|
|
79
|
-
- **Simplified module lifecycle hooks** (removed redundant pre/post hooks)
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Small Changes & Fixes
|
|
84
|
-
|
|
85
|
-
### Theme Designer
|
|
86
|
-
|
|
87
|
-
### Color Coded Logging
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Code Rundown
|
|
92
|
-
|
|
93
|
-
### Old way:
|
|
94
|
-
```python
|
|
95
|
-
agent = FlockAgent(
|
|
96
|
-
name="bloggy",
|
|
97
|
-
input="blog_idea",
|
|
98
|
-
output="funny_blog_title, blog_headers",
|
|
99
|
-
)
|
|
100
|
-
flock.add_agent(bloggy)
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### New way:
|
|
104
|
-
```python
|
|
105
|
-
bloggy = FlockFactory.create_default_agent(
|
|
106
|
-
name="bloggy",
|
|
107
|
-
input="blog_idea",
|
|
108
|
-
output="funny_blog_title, blog_headers",
|
|
109
|
-
)
|
|
110
|
-
flock.add_agent(bloggy)
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
See? **Basically nothing changed!** Just more modular and flexible.
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## What's Next?
|
|
118
|
-
|
|
119
|
-
### Coming in v0.3 updates:
|
|
120
|
-
- **More modules** (built-in RAG coming soon!)
|
|
121
|
-
- **More evaluators**
|
|
122
|
-
- **CLI management tool improvements**
|
|
123
|
-
- **Finishing documentation**
|
|
124
|
-
|
|
125
|
-
### Looking ahead to v0.4 – *Magpie*:
|
|
126
|
-
- **Flock WebUI** – Real-time monitoring, no-code agent creation & management
|
|
127
|
-
- **Seamless deployment** – Kubernetes, Docker, and enterprise-ready solutions
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Installation
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
pip install flock-core>=0.3.0
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
**Full documentation**: [https://whiteducksoftware.github.io/flock](https://whiteducksoftware.github.io/flock)
|
|
140
|
-
**GitHub**: [https://github.com/whiteducksoftware/flock](https://github.com/whiteducksoftware/flock)
|
flock/cli/config.py
DELETED
flock/cli/constants.py
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"""Constants for the CLI module."""
|
|
2
|
-
|
|
3
|
-
CLI_CFG_FILE = ".env"
|
|
4
|
-
CLI_DEFAULT_ENV_VARS = {
|
|
5
|
-
"FLICK_API_KEY": "flock-api-key",
|
|
6
|
-
"FLICK_API_URL": "https://api.flock.com",
|
|
7
|
-
"FLICK_API_VERSION": "v1",
|
|
8
|
-
"FLICK_API_KEY": "flock-api-key",
|
|
9
|
-
"FLICK_API_URL": "https://api.flock.com",
|
|
10
|
-
"FLICK_API_VERSION": "v1",
|
|
11
|
-
}
|
|
12
|
-
CLI_DEFAULT_FOLDER = ".flock"
|
|
13
|
-
|
|
14
|
-
CLI_CREATE_AGENT = "Create an agent"
|
|
15
|
-
CLI_CREATE_FLOCK = "Create a new Flock"
|
|
16
|
-
CLI_LOAD_AGENT = "Load an agent"
|
|
17
|
-
CLI_LOAD_FLOCK = "Load a *.flock file"
|
|
18
|
-
CLI_THEME_BUILDER = "Theme builder"
|
|
19
|
-
CLI_LOAD_EXAMPLE = "Load a example"
|
|
20
|
-
CLI_SETTINGS = "Settings"
|
|
21
|
-
CLI_NOTES = "'Magpie' release notes"
|
|
22
|
-
CLI_START_WEB_SERVER = "Start web server"
|
|
23
|
-
CLI_REGISTRY_MANAGEMENT = "Registry management"
|
|
24
|
-
CLI_EXIT = "Exit"
|
|
25
|
-
CLI_CHOICES = [
|
|
26
|
-
CLI_CREATE_AGENT,
|
|
27
|
-
CLI_CREATE_FLOCK,
|
|
28
|
-
CLI_LOAD_AGENT,
|
|
29
|
-
CLI_LOAD_FLOCK,
|
|
30
|
-
CLI_LOAD_EXAMPLE,
|
|
31
|
-
CLI_THEME_BUILDER,
|
|
32
|
-
CLI_REGISTRY_MANAGEMENT,
|
|
33
|
-
CLI_SETTINGS,
|
|
34
|
-
CLI_START_WEB_SERVER,
|
|
35
|
-
CLI_EXIT,
|
|
36
|
-
]
|
flock/cli/create_agent.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# TODO
|