flock-core 0.3.6__tar.gz → 0.3.10__tar.gz
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_core-0.3.6 → flock_core-0.3.10}/.gitignore +1 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/PKG-INFO +6 -6
- flock_core-0.3.10/docs/architecture/components.md +477 -0
- flock_core-0.3.10/docs/architecture/overview.md +216 -0
- flock_core-0.3.10/docs/core-concepts/agents.md +386 -0
- flock_core-0.3.10/docs/core-concepts/declarative.md +248 -0
- flock_core-0.3.10/docs/core-concepts/error-handling.md +351 -0
- flock_core-0.3.10/docs/core-concepts/evaluators.md +263 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/core-concepts/memory.md +1 -1
- flock_core-0.3.10/docs/core-concepts/modules/memory.md +331 -0
- flock_core-0.3.10/docs/core-concepts/modules/metrics.md +325 -0
- flock_core-0.3.10/docs/core-concepts/modules/output.md +331 -0
- flock_core-0.3.10/docs/core-concepts/modules.md +368 -0
- flock_core-0.3.10/docs/core-concepts/routers/agent.md +197 -0
- flock_core-0.3.10/docs/core-concepts/routers/default.md +200 -0
- flock_core-0.3.10/docs/core-concepts/routers/llm.md +169 -0
- flock_core-0.3.10/docs/core-concepts/routers.md +227 -0
- flock_core-0.3.10/docs/core-concepts/type-system.md +273 -0
- flock_core-0.3.10/docs/core-concepts/workflows.md +300 -0
- flock_core-0.3.10/docs/deployment/monitoring.md +452 -0
- flock_core-0.3.10/docs/deployment/production-setup.md +471 -0
- flock_core-0.3.10/docs/examples/chain-gang.md +379 -0
- flock_core-0.3.10/docs/examples/hello-flock.md +270 -0
- flock_core-0.3.10/docs/getting-started/configuration.md +371 -0
- flock_core-0.3.10/docs/getting-started/installation.md +129 -0
- flock_core-0.3.10/docs/integrations/rest-api.md +296 -0
- flock_core-0.3.10/docs/integrations/temporal.md +240 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/release-notes/release_notes.md +31 -10
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/01_simple_example.py +4 -1
- flock_core-0.3.10/examples/01_introduction/06_simple_hand_off.py +42 -0
- flock_core-0.3.10/examples/02_cook_book/repo_analyzer/repo_analyzer.py +721 -0
- flock_core-0.3.10/examples/02_cook_book/repo_analyzer/repo_analyzer_llm.py +285 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/self_improvement_with_memory.py +3 -2
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/evaluator/multi_hops.py +1 -1
- flock_core-0.3.10/examples/03_misc/router/router_example.py +99 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/mkdocs.yml +18 -10
- {flock_core-0.3.6 → flock_core-0.3.10}/pyproject.toml +7 -5
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/assets/release_notes.md +37 -9
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/context/context_manager.py +3 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/context/context_vars.py +1 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock.py +2 -1
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_agent.py +10 -23
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_factory.py +9 -6
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_module.py +3 -1
- flock_core-0.3.10/src/flock/core/flock_router.py +70 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/util/cli_helper.py +1 -3
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/evaluators/zep/zep_evaluator.py +2 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/performance/metrics_module.py +185 -189
- flock_core-0.3.10/src/flock/routers/__init__.py +1 -0
- flock_core-0.3.10/src/flock/routers/agent/__init__.py +1 -0
- flock_core-0.3.10/src/flock/routers/agent/agent_router.py +234 -0
- flock_core-0.3.10/src/flock/routers/agent/handoff_agent.py +58 -0
- flock_core-0.3.10/src/flock/routers/default/__init__.py +1 -0
- flock_core-0.3.10/src/flock/routers/default/default_router.py +76 -0
- flock_core-0.3.10/src/flock/routers/llm/__init__.py +1 -0
- flock_core-0.3.10/src/flock/routers/llm/llm_router.py +363 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/activities.py +77 -34
- flock_core-0.3.10/tests/unittests/test_agent_based_handoff.py +499 -0
- flock_core-0.3.10/tests/unittests/test_agent_router_property.py +125 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/uv.lock +7 -386
- flock_core-0.3.6/docs/architecture/components.md +0 -3
- flock_core-0.3.6/docs/architecture/overview.md +0 -3
- flock_core-0.3.6/docs/core-concepts/agents.md +0 -3
- flock_core-0.3.6/docs/core-concepts/declarative.md +0 -3
- flock_core-0.3.6/docs/core-concepts/error-handling.md +0 -3
- flock_core-0.3.6/docs/core-concepts/evaluators.md +0 -1
- flock_core-0.3.6/docs/core-concepts/modules.md +0 -1
- flock_core-0.3.6/docs/core-concepts/workflows.md +0 -3
- flock_core-0.3.6/docs/deployment/monitoring.md +0 -3
- flock_core-0.3.6/docs/deployment/production-setup.md +0 -3
- flock_core-0.3.6/docs/examples/chain-gang.md +0 -3
- flock_core-0.3.6/docs/examples/hello-flock.md +0 -3
- flock_core-0.3.6/docs/examples/type-system.md +0 -3
- flock_core-0.3.6/docs/getting-started/configuration.md +0 -3
- flock_core-0.3.6/docs/getting-started/installation.md +0 -3
- flock_core-0.3.6/docs/integrations/temporal.md +0 -3
- flock_core-0.3.6/examples/01_introduction/06_simple_hand_off.py +0 -31
- {flock_core-0.3.6 → flock_core-0.3.10}/.devcontainer/devcontainer.json +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.env_template +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.github/workflows/.gitkeep +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.github/workflows/deploy-documentation.yml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.vscode/launch.json +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.vscode/settings.json +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/.vscode/tasks.json +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/LICENSE +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/README.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/complex-workflows.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/custom-agents.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/performance.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/testing.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/flock-core.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/flockagent.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/types.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/utilities.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/architecture/design-decisions.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/drawio/architecture.drawio +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/cli_outputs/out.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/components_chart.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_01.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_02.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_03.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_04.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_05.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_06.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/flock.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/flock_cli.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/flow_chart.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/getting-started/first_agent_00.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/hummingbird.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/icon.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/icon.png~ +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/logo.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/memory_concepts.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/memory_flow.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/memory_flow_chart.png +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/code-style.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/development.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/documentation.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/testing.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/create_doc_boilerplate.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/deployment/scalability.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/deployment/security.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/development/dev.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/development/replace-dspy/implementation_plan.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/development/topics.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/examples/pydantic.md +0 -0
- {flock_core-0.3.6/docs/core-concepts → flock_core-0.3.10/docs/examples}/type-system.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/agent-chaining.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/agent-definition.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/lifecycle-hooks.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/pydantic.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/type-safety.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/getting-started/concepts.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/getting-started/quickstart.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/index.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/integrations/dspy.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/integrations/litellm.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/integrations/tavily.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/stylesheets/extra.css +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/blog-generator.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/custom-tools.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/error-recovery.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/multi-agent.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/02_typed_output.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/04_descriptions.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/05_typed_output2.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/flock_without_llms.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/long_research_no_handoff.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/painting_by_numbers.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/project_manager.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_01.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_02.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_03.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_04.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/save_01.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/save_02.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/save_03.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/api/api_client.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/api/api_server.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/modules/use_modules.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/README.md +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/documentation/getting-started/first_agent_01.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/documentation/getting-started/first_agent_02.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/documentation/getting-started/first_agent_03.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/notebooks_wip/Untitled-1.ipynb +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/notebooks_wip/my_agent.json +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/playground/memory.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/playground/self_learner.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/examples/playground/self_learner2.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/requirements.txt +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/__init__.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/constants.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/create_agent.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/create_flock.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_agent.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_examples.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_flock.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_release_notes.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/settings.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/config.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/__init__.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/context/context.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/execution/local_executor.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/execution/temporal_executor.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_api.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_evaluator.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/interpreter/python_interpreter.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/__init__.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/enum_builder.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/theme_builder.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/themes.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/logging.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/trace_and_logged.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/mixin/dspy_integration.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/mixin/prompt_parser.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/registry/agent_registry.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/serialization/secure_serializer.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/serialization/serializable.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/tools/basic_tools.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/tools/dev_tools/github.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/util/hydrator.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/util/input_resolver.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/callback/callback_module.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/memory/memory_module.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/memory/memory_parser.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/memory/memory_storage.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/output/output_module.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/zep/zep_module.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/platform/docker_tools.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/platform/jaeger_install.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/3024-day.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/3024-night.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/aardvark-blue.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/abernathy.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/adventure.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/adventuretime.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/afterglow.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/alabaster.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/alienblood.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/andromeda.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/apple-classic.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/apple-system-colors.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/arcoiris.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/argonaut copy.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/argonaut.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/arthur.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ateliersulphurpool.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/atom.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/atom_test.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/atomonelight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/aurora.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu copy.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu-mirage.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/banana-blueberry.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/batman.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/belafonte-day.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/belafonte-night.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/birdsofparadise.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blazer.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blue-matrix.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blueberrypie.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/bluedolphin.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blulocodark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blulocolight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/borland.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/breeze.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/bright-lights.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/broadcast.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/brogrammer.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-pastel-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-solarized-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-solarized-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-tango-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-tango-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/c64.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/calamity.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-frappe.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-latte.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-macchiato.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-mocha.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cga.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/chalk.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/chalkboard.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/challengerdeep.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/chester.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ciapre.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/clrs.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cobalt-neon.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cobalt2.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/coffee-theme.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/crayonponyfish.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cutiepro.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cyberdyne.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cyberpunk.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dark+.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dark-pastel.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/darkermatrix.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/darkmatrix.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/darkside.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dayfox.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/deep.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/desert.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dimidium.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dimmedmonokai.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/django.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/djangorebornagain.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/djangosmooth.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/doom-peacock.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/doomone.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dotgov.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dracula+.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dracula.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/duckbones.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/duotone-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/earthsong.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/elemental.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/elementary.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/encom.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/espresso-libre.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/espresso.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/everblush.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fahrenheit.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fairyfloss.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/farmhouse-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/farmhouse-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fideloper.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/firefly-traditional.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/firefoxdev.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/firewatch.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fishtank.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flat.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flatland.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flexoki-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flexoki-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/floraverse.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/forestblue.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/framer.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/frontenddelight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/funforrest.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/galaxy.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/galizur.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/github-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/github.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/glacier.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/grape.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/grass.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/grey-green.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruber-darker.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruvboxdark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruvboxdarkhard.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruvboxlight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/guezwhoz.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hacktober.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hardcore.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/harper.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hax0r-blue.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hax0r-gr33n.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hax0r-r3d.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/highway.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hipster-green.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hivacruz.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/homebrew.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hopscotch.256.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hopscotch.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hurtado.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hybrid.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ic-green-ppl.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ic-orange-ppl.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iceberg-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iceberg-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/idea.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/idletoes.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ir-black.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-dark-background.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-default.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-light-background.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-smoooooth.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-solarized-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-tango-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-tango-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jackie-brown.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/japanesque.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jellybeans.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jetbrains-darcula.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jubi.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kanagawabones.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kibble.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kolorit.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/konsolas.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kurokula.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/lab-fox.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/laser.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/later-this-evening.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/lavandula.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/liquidcarbon.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/liquidcarbontransparent.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/lovelace.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/man-page.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mariana.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/material.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialdark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialdarker.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialdesigncolors.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialocean.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mathias.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/matrix.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/medallion.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mellifluous.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/midnight-in-mojave.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mirage.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/misterioso.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/molokai.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monalisa.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monokai-remastered.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monokai-soda.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monokai-vivid.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/n0tch2k.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neobones-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neobones-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neon.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neopolitan.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neutron.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/night-owlish-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nightfox.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nightlion-v1.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nightlion-v2.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/niji.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nocturnal-winter.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nord-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nord.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/novel.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nvimdark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nvimlight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/obsidian.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ocean.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/oceanic-next.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/oceanicmaterial.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ollie.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/onehalfdark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/onehalflight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/operator-mono-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/overnight-slumber.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/oxocarbon.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/palenighthc.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pandora.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/paraiso-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/paulmillr.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pencildark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pencillight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/peppermint.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/piatto-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pnevma.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/popping-and-locking.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/primary.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pro-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pro.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/purple-rain.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/purplepeter.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rapture.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/raycast-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/raycast-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rebecca.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/red-alert.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/red-planet.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/red-sands.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/relaxed.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/retro.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rippedcasts.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rose-pine-dawn.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rose-pine-moon.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rose-pine.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rouge-2.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/royal.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ryuuko.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sakura.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/scarlet-protocol.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seafoam-pastel.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seashells.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seoulbones-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seoulbones-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seti.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/shades-of-purple.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/shaman.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/slate.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sleepyhollow.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/smyck.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/snazzy.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/softserver.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/solarized-darcula.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/solarized-dark---patched.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacedust.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacegray-eighties.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacegray.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spiderman.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spring.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/square.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sublette.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/subliminal.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sugarplum.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sundried.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/symfonic.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/synthwave-everything.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/synthwave.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/synthwavealpha.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tango-adapted.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tango-half-adapted.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/teerb.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/terafox.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/terminal-basic.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/thayer-bright.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/the-hulk.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tinacious-design-(dark).toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tinacious-design-(light).toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tokyonight-day.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tokyonight-storm.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tokyonight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-blue.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-bright.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-burns.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/toychest.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/treehouse.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/twilight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ubuntu.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ultradark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ultraviolent.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/underthesea.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/unikitty.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/urple.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vaughn.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vesper.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vibrantink.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vimbones.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/violet-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/violet-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/warmneon.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wez.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/whimsy.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wildcherry.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wilmersdorf.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wombat.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wryan.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodedark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodedarkhc.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodelight.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodelighthc.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodewwdc.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenbones-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenbones-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenbones.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenburn.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenburned.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenwritten-dark.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenwritten-light.toml +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/__init__.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/agent_activities.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/temporal_setup.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/workflow.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/tests/integration/test_agent_integration.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_flock.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_flock_agent.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_memory_operations.py +0 -0
- {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_memory_store.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.10
|
|
4
4
|
Summary: Declarative LLM Orchestration at Scale
|
|
5
5
|
Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -30,17 +30,17 @@ Requires-Dist: python-box>=7.3.2
|
|
|
30
30
|
Requires-Dist: python-decouple>=3.8
|
|
31
31
|
Requires-Dist: questionary>=2.1.0
|
|
32
32
|
Requires-Dist: rich>=13.9.4
|
|
33
|
-
Requires-Dist: sentence-transformers>=3.4.1
|
|
34
33
|
Requires-Dist: temporalio>=1.9.0
|
|
35
34
|
Requires-Dist: tiktoken>=0.8.0
|
|
36
35
|
Requires-Dist: toml>=0.10.2
|
|
37
36
|
Requires-Dist: tqdm>=4.67.1
|
|
38
37
|
Requires-Dist: uvicorn>=0.34.0
|
|
39
38
|
Requires-Dist: zep-python>=2.0.2
|
|
40
|
-
Provides-Extra: all
|
|
41
|
-
Requires-Dist: docling>=2.18.0; extra == 'all
|
|
42
|
-
Requires-Dist: markdownify>=0.14.1; extra == 'all
|
|
43
|
-
Requires-Dist:
|
|
39
|
+
Provides-Extra: all
|
|
40
|
+
Requires-Dist: docling>=2.18.0; extra == 'all'
|
|
41
|
+
Requires-Dist: markdownify>=0.14.1; extra == 'all'
|
|
42
|
+
Requires-Dist: sentence-transformers>=3.4.1; extra == 'all'
|
|
43
|
+
Requires-Dist: tavily-python>=0.5.0; extra == 'all'
|
|
44
44
|
Provides-Extra: tools
|
|
45
45
|
Requires-Dist: markdownify>=0.14.1; extra == 'tools'
|
|
46
46
|
Requires-Dist: tavily-python>=0.5.0; extra == 'tools'
|
|
@@ -0,0 +1,477 @@
|
|
|
1
|
+
# Architecture Components
|
|
2
|
+
|
|
3
|
+
This document provides detailed information about the specific components of the Flock framework and how they interact with each other.
|
|
4
|
+
|
|
5
|
+
## Flock
|
|
6
|
+
|
|
7
|
+
The `Flock` class is the main orchestrator for creating and executing agents. It manages the registration of agents and tools, sets up the global context, and runs the agent workflows.
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
classDiagram
|
|
11
|
+
class Flock {
|
|
12
|
+
+model: str
|
|
13
|
+
+local_debug: bool
|
|
14
|
+
+enable_logging: bool
|
|
15
|
+
+enable_telemetry: bool
|
|
16
|
+
+temporal_executor_config: TemporalExecutorConfig
|
|
17
|
+
+telemetry_config: TelemetryConfig
|
|
18
|
+
+logger: Logger
|
|
19
|
+
+add_agent(agent: FlockAgent)
|
|
20
|
+
+add_tool(tool_name: str, tool: Callable)
|
|
21
|
+
+run(start_agent: FlockAgent, input: dict)
|
|
22
|
+
+run_async(start_agent: FlockAgent, input: dict)
|
|
23
|
+
+save_to_file(file_path: str)
|
|
24
|
+
+load_from_file(file_path: str)
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Key Features
|
|
29
|
+
|
|
30
|
+
- **Agent Management**: Add and manage multiple agents in a single system.
|
|
31
|
+
- **Tool Registration**: Register tools that agents can use during execution.
|
|
32
|
+
- **Context Management**: Set up and maintain the global execution context.
|
|
33
|
+
- **Workflow Execution**: Run agent workflows either locally or via Temporal.
|
|
34
|
+
- **Serialization**: Save and load Flock instances to/from files.
|
|
35
|
+
|
|
36
|
+
### Important Methods
|
|
37
|
+
|
|
38
|
+
- `add_agent(agent)`: Add a new agent to the Flock system.
|
|
39
|
+
- `add_tool(tool_name, tool)`: Register a tool with the Flock system.
|
|
40
|
+
- `run(start_agent, input, ...)`: Run an agent workflow synchronously.
|
|
41
|
+
- `run_async(start_agent, input, ...)`: Run an agent workflow asynchronously.
|
|
42
|
+
- `save_to_file(file_path)`: Save the Flock instance to a file.
|
|
43
|
+
- `load_from_file(file_path)`: Load a Flock instance from a file.
|
|
44
|
+
|
|
45
|
+
## FlockAgent
|
|
46
|
+
|
|
47
|
+
The `FlockAgent` class is the core, declarative base class for all agents in the Flock framework. It defines the agent's inputs, outputs, tools, and lifecycle hooks.
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
classDiagram
|
|
51
|
+
class FlockAgent {
|
|
52
|
+
+name: str
|
|
53
|
+
+model: str
|
|
54
|
+
+description: str
|
|
55
|
+
+input: str
|
|
56
|
+
+output: str
|
|
57
|
+
+tools: list
|
|
58
|
+
+hand_off: HandOff
|
|
59
|
+
+evaluator: FlockEvaluator
|
|
60
|
+
+modules: list
|
|
61
|
+
+initialize(inputs: dict)
|
|
62
|
+
+evaluate(inputs: dict)
|
|
63
|
+
+terminate(inputs: dict, result: dict)
|
|
64
|
+
+on_error(error: Exception, inputs: dict)
|
|
65
|
+
+run(inputs: dict)
|
|
66
|
+
+run_async(inputs: dict)
|
|
67
|
+
+add_module(module: FlockModule)
|
|
68
|
+
+save_to_file(file_path: str)
|
|
69
|
+
+load_from_file(file_path: str)
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Key Features
|
|
74
|
+
|
|
75
|
+
- **Declarative Definition**: Define agents by their inputs and outputs.
|
|
76
|
+
- **Type Hints**: Support for type hints and descriptions in input/output definitions.
|
|
77
|
+
- **Tool Integration**: Use tools to extend agent capabilities.
|
|
78
|
+
- **Lifecycle Hooks**: Hooks for initialization, termination, evaluation, and error handling.
|
|
79
|
+
- **Module Support**: Attach modules to extend agent functionality.
|
|
80
|
+
- **Serialization**: Save and load agent instances to/from files.
|
|
81
|
+
|
|
82
|
+
### Important Properties
|
|
83
|
+
|
|
84
|
+
- `name`: Unique identifier for the agent.
|
|
85
|
+
- `model`: The model to use (e.g., 'openai/gpt-4o').
|
|
86
|
+
- `description`: A human-readable description of the agent.
|
|
87
|
+
- `input`: A comma-separated list of input keys with optional type hints and descriptions.
|
|
88
|
+
- `output`: A comma-separated list of output keys with optional type hints and descriptions.
|
|
89
|
+
- `tools`: An optional list of callable tools that the agent can leverage during execution.
|
|
90
|
+
- `hand_off`: Specifies the next agent in the workflow or a callable that determines the handoff.
|
|
91
|
+
- `evaluator`: The evaluator to use for agent evaluation.
|
|
92
|
+
- `modules`: FlockModules attached to this agent.
|
|
93
|
+
|
|
94
|
+
### Lifecycle Hooks
|
|
95
|
+
|
|
96
|
+
- `initialize(inputs)`: Called when the agent starts running.
|
|
97
|
+
- `evaluate(inputs)`: Called to evaluate inputs and produce outputs.
|
|
98
|
+
- `terminate(inputs, result)`: Called when the agent finishes running.
|
|
99
|
+
- `on_error(error, inputs)`: Called when an error occurs during agent execution.
|
|
100
|
+
|
|
101
|
+
## FlockEvaluator
|
|
102
|
+
|
|
103
|
+
The `FlockEvaluator` class is the base class for all evaluators in Flock. An evaluator is responsible for taking inputs and producing outputs using some evaluation strategy.
|
|
104
|
+
|
|
105
|
+
```mermaid
|
|
106
|
+
classDiagram
|
|
107
|
+
class FlockEvaluator {
|
|
108
|
+
+name: str
|
|
109
|
+
+config: FlockEvaluatorConfig
|
|
110
|
+
+evaluate(agent: FlockAgent, inputs: dict, tools: list)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
class DeclarativeEvaluator {
|
|
114
|
+
+evaluate(agent: FlockAgent, inputs: dict, tools: list)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
class NaturalLanguageEvaluator {
|
|
118
|
+
+evaluate(agent: FlockAgent, inputs: dict, tools: list)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
FlockEvaluator <|-- DeclarativeEvaluator
|
|
122
|
+
FlockEvaluator <|-- NaturalLanguageEvaluator
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Key Features
|
|
126
|
+
|
|
127
|
+
- **Evaluation Strategy**: Define how inputs are evaluated to produce outputs.
|
|
128
|
+
- **Configuration**: Configure the evaluator's behavior.
|
|
129
|
+
- **Abstract Interface**: Provide a common interface for different evaluation strategies.
|
|
130
|
+
|
|
131
|
+
### Important Methods
|
|
132
|
+
|
|
133
|
+
- `evaluate(agent, inputs, tools)`: Evaluate inputs to produce outputs.
|
|
134
|
+
|
|
135
|
+
### Built-in Evaluators
|
|
136
|
+
|
|
137
|
+
- **DeclarativeEvaluator**: The default evaluator that uses a declarative approach to evaluation.
|
|
138
|
+
- **NaturalLanguageEvaluator**: An evaluator that uses natural language for evaluation.
|
|
139
|
+
|
|
140
|
+
## FlockModule
|
|
141
|
+
|
|
142
|
+
The `FlockModule` class is the base class for all Flock modules. Modules can hook into agent lifecycle events and modify or enhance agent behavior.
|
|
143
|
+
|
|
144
|
+
```mermaid
|
|
145
|
+
classDiagram
|
|
146
|
+
class FlockModule {
|
|
147
|
+
+name: str
|
|
148
|
+
+config: FlockModuleConfig
|
|
149
|
+
+initialize(agent: FlockAgent, inputs: dict)
|
|
150
|
+
+pre_evaluate(agent: FlockAgent, inputs: dict)
|
|
151
|
+
+post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
|
|
152
|
+
+terminate(agent: FlockAgent, inputs: dict, result: dict)
|
|
153
|
+
+on_error(agent: FlockAgent, error: Exception, inputs: dict)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
class MemoryModule {
|
|
157
|
+
+initialize(agent: FlockAgent, inputs: dict)
|
|
158
|
+
+pre_evaluate(agent: FlockAgent, inputs: dict)
|
|
159
|
+
+post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
class MetricsModule {
|
|
163
|
+
+initialize(agent: FlockAgent, inputs: dict)
|
|
164
|
+
+pre_evaluate(agent: FlockAgent, inputs: dict)
|
|
165
|
+
+post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
|
|
166
|
+
+terminate(agent: FlockAgent, inputs: dict, result: dict)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
class OutputModule {
|
|
170
|
+
+post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
FlockModule <|-- MemoryModule
|
|
174
|
+
FlockModule <|-- MetricsModule
|
|
175
|
+
FlockModule <|-- OutputModule
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Key Features
|
|
179
|
+
|
|
180
|
+
- **Lifecycle Hooks**: Hook into agent lifecycle events.
|
|
181
|
+
- **State Management**: Maintain state across agent executions.
|
|
182
|
+
- **Configuration**: Configure the module's behavior.
|
|
183
|
+
- **Pluggable**: Easily attach to and detach from agents.
|
|
184
|
+
|
|
185
|
+
### Lifecycle Hooks
|
|
186
|
+
|
|
187
|
+
- `initialize(agent, inputs)`: Called when the agent starts running.
|
|
188
|
+
- `pre_evaluate(agent, inputs)`: Called before agent evaluation, can modify inputs.
|
|
189
|
+
- `post_evaluate(agent, inputs, result)`: Called after agent evaluation, can modify results.
|
|
190
|
+
- `terminate(agent, inputs, result)`: Called when the agent finishes running.
|
|
191
|
+
- `on_error(agent, error, inputs)`: Called when an error occurs during agent execution.
|
|
192
|
+
|
|
193
|
+
### Built-in Modules
|
|
194
|
+
|
|
195
|
+
- **MemoryModule**: Provides persistent memory for agents.
|
|
196
|
+
- **MetricsModule**: Collects metrics about agent execution.
|
|
197
|
+
- **OutputModule**: Formats and stores agent outputs.
|
|
198
|
+
|
|
199
|
+
## HandOff
|
|
200
|
+
|
|
201
|
+
The `HandOff` class is used to specify the next agent in a workflow and the input data to pass to it.
|
|
202
|
+
|
|
203
|
+
```mermaid
|
|
204
|
+
classDiagram
|
|
205
|
+
class HandOff {
|
|
206
|
+
+next_agent: Union[str, FlockAgent, Callable]
|
|
207
|
+
+input: dict
|
|
208
|
+
+context: dict
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Key Properties
|
|
213
|
+
|
|
214
|
+
- `next_agent`: The next agent to invoke (either a string name, a FlockAgent instance, or a callable that returns an agent).
|
|
215
|
+
- `input`: Input data for the next agent.
|
|
216
|
+
- `context`: Override context parameters.
|
|
217
|
+
|
|
218
|
+
## Registry
|
|
219
|
+
|
|
220
|
+
The registry manages the registration of agents and tools.
|
|
221
|
+
|
|
222
|
+
```mermaid
|
|
223
|
+
classDiagram
|
|
224
|
+
class Registry {
|
|
225
|
+
+agents: dict
|
|
226
|
+
+tools: dict
|
|
227
|
+
+register_agent(agent: FlockAgent)
|
|
228
|
+
+register_tool(tool_name: str, tool: Callable)
|
|
229
|
+
+get_agent(agent_name: str)
|
|
230
|
+
+get_tool(tool_name: str)
|
|
231
|
+
+get_all_agents()
|
|
232
|
+
+get_all_tools()
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Key Features
|
|
237
|
+
|
|
238
|
+
- **Agent Registration**: Register agents with the registry.
|
|
239
|
+
- **Tool Registration**: Register tools with the registry.
|
|
240
|
+
- **Lookup**: Look up agents and tools by name.
|
|
241
|
+
|
|
242
|
+
### Important Methods
|
|
243
|
+
|
|
244
|
+
- `register_agent(agent)`: Register an agent with the registry.
|
|
245
|
+
- `register_tool(tool_name, tool)`: Register a tool with the registry.
|
|
246
|
+
- `get_agent(agent_name)`: Get an agent by name.
|
|
247
|
+
- `get_tool(tool_name)`: Get a tool by name.
|
|
248
|
+
- `get_all_agents()`: Get all registered agents.
|
|
249
|
+
- `get_all_tools()`: Get all registered tools.
|
|
250
|
+
|
|
251
|
+
## Context
|
|
252
|
+
|
|
253
|
+
The context maintains the global execution state.
|
|
254
|
+
|
|
255
|
+
```mermaid
|
|
256
|
+
classDiagram
|
|
257
|
+
class Context {
|
|
258
|
+
+variables: dict
|
|
259
|
+
+get(key: str, default=None)
|
|
260
|
+
+set(key: str, value)
|
|
261
|
+
+update(variables: dict)
|
|
262
|
+
+clear()
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Key Features
|
|
267
|
+
|
|
268
|
+
- **Variable Storage**: Store global variables that are accessible to all agents.
|
|
269
|
+
- **Variable Access**: Get and set context variables.
|
|
270
|
+
- **Variable Lifecycle**: Manage the lifecycle of context variables.
|
|
271
|
+
|
|
272
|
+
### Important Methods
|
|
273
|
+
|
|
274
|
+
- `get(key, default=None)`: Get a context variable.
|
|
275
|
+
- `set(key, value)`: Set a context variable.
|
|
276
|
+
- `update(variables)`: Update multiple context variables.
|
|
277
|
+
- `clear()`: Clear all context variables.
|
|
278
|
+
|
|
279
|
+
## Executor
|
|
280
|
+
|
|
281
|
+
The executor runs agent workflows. Flock supports two types of executors:
|
|
282
|
+
|
|
283
|
+
```mermaid
|
|
284
|
+
classDiagram
|
|
285
|
+
class Executor {
|
|
286
|
+
+execute(start_agent: FlockAgent, input: dict)
|
|
287
|
+
+execute_async(start_agent: FlockAgent, input: dict)
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
class LocalExecutor {
|
|
291
|
+
+execute(start_agent: FlockAgent, input: dict)
|
|
292
|
+
+execute_async(start_agent: FlockAgent, input: dict)
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
class TemporalExecutor {
|
|
296
|
+
+config: TemporalExecutorConfig
|
|
297
|
+
+execute(start_agent: FlockAgent, input: dict)
|
|
298
|
+
+execute_async(start_agent: FlockAgent, input: dict)
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
Executor <|-- LocalExecutor
|
|
302
|
+
Executor <|-- TemporalExecutor
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### Key Features
|
|
306
|
+
|
|
307
|
+
- **Workflow Execution**: Execute agent workflows.
|
|
308
|
+
- **Synchronous and Asynchronous Execution**: Support for both synchronous and asynchronous execution.
|
|
309
|
+
- **Error Handling**: Handle errors during workflow execution.
|
|
310
|
+
|
|
311
|
+
### Important Methods
|
|
312
|
+
|
|
313
|
+
- `execute(start_agent, input)`: Execute a workflow synchronously.
|
|
314
|
+
- `execute_async(start_agent, input)`: Execute a workflow asynchronously.
|
|
315
|
+
|
|
316
|
+
### Executor Types
|
|
317
|
+
|
|
318
|
+
- **LocalExecutor**: Runs workflows locally for development and testing.
|
|
319
|
+
- **TemporalExecutor**: Runs workflows via Temporal for production-grade execution.
|
|
320
|
+
|
|
321
|
+
## Router
|
|
322
|
+
|
|
323
|
+
The router determines the next agent in a workflow.
|
|
324
|
+
|
|
325
|
+
```mermaid
|
|
326
|
+
classDiagram
|
|
327
|
+
class FlockRouter {
|
|
328
|
+
+name: str
|
|
329
|
+
+config: FlockRouterConfig
|
|
330
|
+
+route(agent: FlockAgent, result: dict)
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
class DefaultRouter {
|
|
334
|
+
+route(agent: FlockAgent, result: dict)
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
class LLMRouter {
|
|
338
|
+
+route(agent: FlockAgent, result: dict)
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
class AgentRouter {
|
|
342
|
+
+route(agent: FlockAgent, result: dict)
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
FlockRouter <|-- DefaultRouter
|
|
346
|
+
FlockRouter <|-- LLMRouter
|
|
347
|
+
FlockRouter <|-- AgentRouter
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Key Features
|
|
351
|
+
|
|
352
|
+
- **Routing Strategy**: Define how to determine the next agent in a workflow.
|
|
353
|
+
- **Configuration**: Configure the router's behavior.
|
|
354
|
+
- **Abstract Interface**: Provide a common interface for different routing strategies.
|
|
355
|
+
|
|
356
|
+
### Important Methods
|
|
357
|
+
|
|
358
|
+
- `route(agent, result)`: Determine the next agent in the workflow.
|
|
359
|
+
|
|
360
|
+
### Router Types
|
|
361
|
+
|
|
362
|
+
- **DefaultRouter**: Uses the agent's `hand_off` property to determine the next agent.
|
|
363
|
+
- **LLMRouter**: Uses an LLM to determine the next agent.
|
|
364
|
+
- **AgentRouter**: Uses a dedicated agent to make routing decisions.
|
|
365
|
+
|
|
366
|
+
## Tools
|
|
367
|
+
|
|
368
|
+
Tools are functions that agents can use to perform specific tasks.
|
|
369
|
+
|
|
370
|
+
```mermaid
|
|
371
|
+
classDiagram
|
|
372
|
+
class Tool {
|
|
373
|
+
+name: str
|
|
374
|
+
+description: str
|
|
375
|
+
+function: Callable
|
|
376
|
+
+parameters: dict
|
|
377
|
+
+returns: dict
|
|
378
|
+
}
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Key Features
|
|
382
|
+
|
|
383
|
+
- **Function Wrapping**: Wrap Python functions as tools.
|
|
384
|
+
- **Documentation**: Provide documentation for tools.
|
|
385
|
+
- **Parameter Validation**: Validate tool parameters.
|
|
386
|
+
- **Result Formatting**: Format tool results.
|
|
387
|
+
|
|
388
|
+
### Built-in Tools
|
|
389
|
+
|
|
390
|
+
- **Web Search**: Search the web for information.
|
|
391
|
+
- **Code Evaluation**: Evaluate Python code.
|
|
392
|
+
- **Web Content Retrieval**: Get content from web pages.
|
|
393
|
+
- **Math Evaluation**: Evaluate mathematical expressions.
|
|
394
|
+
- **Utility Functions**: Various utility functions like getting the current time.
|
|
395
|
+
|
|
396
|
+
## API Server
|
|
397
|
+
|
|
398
|
+
The API server allows you to expose your agents via HTTP endpoints.
|
|
399
|
+
|
|
400
|
+
```mermaid
|
|
401
|
+
classDiagram
|
|
402
|
+
class FlockAPI {
|
|
403
|
+
+flock: Flock
|
|
404
|
+
+app: FastAPI
|
|
405
|
+
+start(host: str, port: int)
|
|
406
|
+
+run_agent(agent_name: str, inputs: dict, async_run: bool)
|
|
407
|
+
+run_flock(agent_name: str, inputs: dict, async_run: bool)
|
|
408
|
+
+get_run_status(run_id: str)
|
|
409
|
+
+list_agents()
|
|
410
|
+
}
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### Key Features
|
|
414
|
+
|
|
415
|
+
- **HTTP Endpoints**: Expose agents via HTTP endpoints.
|
|
416
|
+
- **Synchronous and Asynchronous Execution**: Support for both synchronous and asynchronous execution.
|
|
417
|
+
- **Run Status Tracking**: Track the status of runs.
|
|
418
|
+
- **Agent Discovery**: List available agents.
|
|
419
|
+
|
|
420
|
+
### Important Methods
|
|
421
|
+
|
|
422
|
+
- `start(host, port)`: Start the API server.
|
|
423
|
+
- `run_agent(agent_name, inputs, async_run)`: Run an agent.
|
|
424
|
+
- `run_flock(agent_name, inputs, async_run)`: Run a Flock workflow.
|
|
425
|
+
- `get_run_status(run_id)`: Get the status of a run.
|
|
426
|
+
- `list_agents()`: List available agents.
|
|
427
|
+
|
|
428
|
+
## Component Interactions
|
|
429
|
+
|
|
430
|
+
The following diagram shows how the components interact with each other during a typical workflow execution:
|
|
431
|
+
|
|
432
|
+
```mermaid
|
|
433
|
+
sequenceDiagram
|
|
434
|
+
participant User
|
|
435
|
+
participant Flock
|
|
436
|
+
participant Registry
|
|
437
|
+
participant Context
|
|
438
|
+
participant Executor
|
|
439
|
+
participant Router
|
|
440
|
+
participant Agent1
|
|
441
|
+
participant Evaluator1
|
|
442
|
+
participant Module1
|
|
443
|
+
participant Agent2
|
|
444
|
+
participant Evaluator2
|
|
445
|
+
participant Module2
|
|
446
|
+
|
|
447
|
+
User->>Flock: Create Flock instance
|
|
448
|
+
User->>Flock: Add agents
|
|
449
|
+
Flock->>Registry: Register agents
|
|
450
|
+
User->>Flock: Run workflow
|
|
451
|
+
Flock->>Context: Initialize context
|
|
452
|
+
Flock->>Executor: Execute workflow
|
|
453
|
+
Executor->>Agent1: Execute agent
|
|
454
|
+
Agent1->>Module1: Initialize
|
|
455
|
+
Agent1->>Evaluator1: Evaluate
|
|
456
|
+
Evaluator1->>Agent1: Return result
|
|
457
|
+
Agent1->>Module1: Post-evaluate
|
|
458
|
+
Agent1->>Router: Determine next agent
|
|
459
|
+
Router->>Agent1: Return next agent
|
|
460
|
+
Agent1->>Agent2: Hand off
|
|
461
|
+
Agent2->>Module2: Initialize
|
|
462
|
+
Agent2->>Evaluator2: Evaluate
|
|
463
|
+
Evaluator2->>Agent2: Return result
|
|
464
|
+
Agent2->>Module2: Post-evaluate
|
|
465
|
+
Agent2->>Executor: Return result
|
|
466
|
+
Executor->>Flock: Return result
|
|
467
|
+
Flock->>User: Return result
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
## Next Steps
|
|
471
|
+
|
|
472
|
+
Now that you understand the specific components of Flock, you might want to explore:
|
|
473
|
+
|
|
474
|
+
- [Overview](overview.md) - Get a high-level overview of the Flock architecture
|
|
475
|
+
- [Design Decisions](design-decisions.md) - Understand the design decisions behind Flock
|
|
476
|
+
- [Core Concepts](../core-concepts/agents.md) - Learn about the core concepts of Flock
|
|
477
|
+
- [Examples](../examples/hello-flock.md) - See examples of Flock in action
|