flock-core 0.5.0b16__tar.gz → 0.5.0b17__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.5.0b16 → flock_core-0.5.0b17}/.github/workflows/ci.yml +2 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.gitignore +2 -0
- flock_core-0.5.0b16/AGENT.md → flock_core-0.5.0b17/AGENTS.md +78 -5
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/CONTRIBUTING.md +7 -3
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/PKG-INFO +7 -7
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/README.md +3 -3
- flock_core-0.5.0b17/docs/components/evaluators.md +52 -0
- flock_core-0.5.0b17/docs/components/index.md +46 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/components/tools.md +3 -1
- flock_core-0.5.0b17/docs/components/utility.md +44 -0
- flock_core-0.5.0b17/docs/core-concepts/agents.md +159 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/core-concepts/workflows.md +5 -5
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/getting-started/configuration.md +2 -2
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/getting-started/index.md +2 -2
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/getting-started/quickstart.md +5 -6
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/guides/chaining-agents.md +4 -4
- flock_core-0.5.0b17/docs/guides/custom-components.md +59 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/guides/custom-endpoints.md +3 -3
- flock_core-0.5.0b17/docs/guides/hydrator.md +22 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/guides/index.md +2 -0
- flock_core-0.5.0b17/docs/guides/mcp.md +214 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/guides/temporal-configuration.md +8 -8
- flock_core-0.5.0b17/docs/guides/tool-whitelist.md +429 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/index.md +25 -32
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/interacting-with-flock/interactive-cli.md +3 -4
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/interacting-with-flock/programmatic.md +6 -7
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/interacting-with-flock/rest-api.md +2 -3
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/interacting-with-flock/web-ui.md +2 -2
- flock_core-0.5.0b17/docs/internal/codex_designs_an_amazing_agent_framework.md +115 -0
- flock_core-0.5.0b17/docs/internal/dspy_flock_updates.md +209 -0
- flock_core-0.5.0b17/docs/internal/engine_evaluation.md +168 -0
- flock_core-0.5.0b17/docs/internal/flock_1.0_pitch.md +332 -0
- flock_core-0.5.0b17/docs/internal/flock_1.0_review.md +263 -0
- flock_core-0.5.0b17/docs/internal/flock_code_design_improvements.md +271 -0
- flock_core-0.5.0b17/docs/internal/flock_vs_codex.md +96 -0
- flock_core-0.5.0b16/docs/getting-started/concepts.md → flock_core-0.5.0b17/docs/internal/getting-started-concepts.md +2 -2
- flock_core-0.5.0b17/docs/internal/legacy-modules.md +73 -0
- flock_core-0.5.0b17/docs/internal/must_have_for_0.5.0b.md +300 -0
- flock_core-0.5.0b17/docs/internal/restate_flock_improvements.md +143 -0
- flock_core-0.5.0b17/docs/internal/temporal_vs_restate.md +98 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17/docs/internal}/testing_todo.md +2 -1
- flock_core-0.5.0b17/docs/reference/flock.md +22 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/reference/flock_agent.md +3 -3
- flock_core-0.5.0b17/docs/reference/index.md +14 -0
- flock_core-0.5.0b17/docs/reference/registry.md +19 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17/docs}/testing_guide.md +1 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17/docs}/testing_strategy.md +4 -46
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/mkdocs.yml +37 -23
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/pyproject.toml +4 -4
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/evaluation/declarative_evaluation_component.py +99 -40
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/utility/memory_utility_component.py +5 -3
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/__init__.py +5 -0
- flock_core-0.5.0b17/src/flock/core/agent/default_agent.py +170 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/agent/flock_agent_integration.py +54 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/agent/flock_agent_lifecycle.py +9 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/context/context.py +2 -3
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/execution/local_executor.py +1 -1
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/execution/temporal_executor.py +4 -6
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/flock_agent.py +15 -2
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/flock_factory.py +92 -80
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/telemetry.py +7 -2
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/flock_mcp_server.py +19 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/flock_mcp_tool.py +9 -53
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/mcp_config.py +22 -4
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mixin/dspy_integration.py +107 -149
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/orchestration/flock_execution.py +7 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/orchestration/flock_initialization.py +24 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/serialization/serialization_utils.py +20 -20
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/workflow/agent_execution_activity.py +57 -83
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/workflow/flock_workflow.py +39 -50
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/workflow/temporal_setup.py +11 -3
- flock_core-0.5.0b17/tests/p0/test_pydantic_io_support.py +73 -0
- flock_core-0.5.0b17/tests/temporal/test_temporal_smoke.py +76 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/uv.lock +1605 -1754
- flock_core-0.5.0b16/docs/components/evaluators.md +0 -82
- flock_core-0.5.0b16/docs/components/index.md +0 -43
- flock_core-0.5.0b16/docs/components/modules.md +0 -76
- flock_core-0.5.0b16/docs/core-concepts/agents.md +0 -118
- flock_core-0.5.0b16/docs/reference/index.md +0 -14
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.devcontainer/devcontainer.json +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.env_template +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/ISSUE_TEMPLATE/documentation_improvement.yaml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/ISSUE_TEMPLATE/question_support_request.yaml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/ISSUE_TEMPLATE/vulnerability_report.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/workflows/.gitkeep +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/workflows/deploy-documentation.yml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.python-version +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.vscode/launch.json +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.vscode/settings.json +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/.vscode/tasks.json +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/CODE_OF_CONDUCT.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/LICENSE +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/PR_BODY.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/SECURITY.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/about/changelog.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/about/contributing.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/architecture_report.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/class_diagram.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/drawio/architecture.drawio +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/cli_outputs/out.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/components_chart.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/examples/01_01.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/examples/01_02.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/examples/01_03.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/examples/01_04.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/examples/01_05.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/examples/01_06.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/flock.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/flock_cli.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/flow_chart.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/getting-started/first_agent_00.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/hummingbird.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/icon.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/icon.png~ +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/logo.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/magpie.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/memory_concepts.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/memory_flow.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/memory_flow_chart.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/assets/images/readme_output.png +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/core-concepts/declarative.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/core-concepts/index.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/create_doc_boilerplate.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/deployment/index.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/deployment/temporal.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/getting-started/installation.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/interacting-with-flock/cli-tool.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/interacting-with-flock/index.md +0 -0
- {flock_core-0.5.0b16/docs/core-concepts → flock_core-0.5.0b17/docs/internal}/di.md +0 -0
- {flock_core-0.5.0b16/docs → flock_core-0.5.0b17/docs/internal}/refactor_plan_flock.md +0 -0
- {flock_core-0.5.0b16/docs → flock_core-0.5.0b17/docs/internal}/refactor_plan_flock_registry.md +0 -0
- {flock_core-0.5.0b16/docs → flock_core-0.5.0b17/docs/internal}/wd-di.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/release-notes/magpie.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/docs/stylesheets/extra.css +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/evaluators/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/evaluators/declarative/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/evaluators/declarative/declarative_evaluator.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/evaluators/memory/memory_evaluator.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/evaluators/test/test_case_evaluator.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/evaluators/zep/zep_evaluator.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/flock_agent_original.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/flock_agent_refactored_backup.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/flock_agent_unified.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/flock_evaluator.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/flock_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/flock_registry.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/flock_router.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/assertion/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/assertion/assertion_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/callback/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/callback/callback_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/enterprise_memory/README.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/enterprise_memory/enterprise_memory_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/mem0/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/mem0/mem0_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/mem0_async/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/mem0_async/async_mem0_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/memory/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/memory/memory_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/memory/memory_parser.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/memory/memory_storage.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/output/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/output/output_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/performance/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/performance/metrics_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/zep/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/modules/zep/zep_module.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/agent/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/agent/agent_router.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/agent/handoff_agent.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/conditional/conditional_router.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/default/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/default/default_router.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/feedback/feedback_router.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/list_generator/list_generator_router.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/llm/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/legacy/routers/llm/llm_router.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/requirements.txt +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/scripts/code_collector.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/scripts/create_docs.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/scripts/ensure_uv.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/adapter/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/adapter/azure_adapter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/adapter/chroma_adapter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/adapter/faiss_adapter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/adapter/pinecone_adapter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/adapter/vector_base.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/assets/release_notes.md +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/config.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/constants.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/create_agent.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/create_flock.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/execute_flock.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/load_agent.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/load_examples.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/load_flock.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/load_release_notes.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/loaded_flock_cli.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/manage_agents.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/registry_management.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/runner.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/settings.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/utils.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/view_results.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/cli/yaml_editor.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/evaluation/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/routing/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/routing/conditional_routing_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/routing/default_routing_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/routing/llm_routing_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/utility/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/utility/metrics_utility_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/components/utility/output_utility_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/config.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/agent/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/agent/flock_agent_components.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/agent/flock_agent_execution.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/agent/flock_agent_serialization.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/custom_endpoint.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/endpoints.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/main.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/models.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/run_store.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/runner.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/api/service.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/component/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/component/agent_component_base.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/component/evaluation_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/component/routing_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/component/utility_component.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/config/flock_agent_config.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/config/scheduled_agent_config.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/context/context_manager.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/context/context_vars.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/evaluation/utils.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/execution/batch_executor.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/execution/evaluation_executor.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/execution/opik_executor.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/flock.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/flock_scheduler.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/flock_server_manager.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/interpreter/python_interpreter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/formatters/enum_builder.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/formatters/theme_builder.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/formatters/themes.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/logging.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/logging/trace_and_logged.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/mcp_client.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/mcp_client_manager.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/types/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/types/callbacks.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/types/factories.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/types/handlers.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/types/types.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/util/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mcp/util/helpers.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/mixin/prompt_parser.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/orchestration/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/orchestration/flock_batch_processor.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/orchestration/flock_evaluator.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/orchestration/flock_server_manager.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/orchestration/flock_web_server.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/agent_registry.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/callable_registry.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/component_discovery.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/component_registry.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/config_mapping.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/decorators.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/registry_hub.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/server_registry.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/registry/type_registry.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/serialization/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/serialization/callable_registry.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/serialization/flock_serializer.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/serialization/json_encoder.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/serialization/secure_serializer.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/serialization/serializable.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/util/cli_helper.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/util/file_path_utils.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/util/hydrator.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/util/input_resolver.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/util/loader.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/core/util/splitter.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/di.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/sse/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/sse/flock_sse_server.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/stdio/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/stdio/flock_stdio_server.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/streamable_http/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/streamable_http/flock_streamable_http_server.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/websockets/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/mcp/servers/websockets/flock_websocket_server.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/platform/docker_tools.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/platform/jaeger_install.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/3024-day.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/3024-night.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/aardvark-blue.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/abernathy.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/adventure.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/adventuretime.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/afterglow.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/alabaster.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/alienblood.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/andromeda.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/apple-classic.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/apple-system-colors.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/arcoiris.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/argonaut copy.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/argonaut.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/arthur.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ateliersulphurpool.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/atom.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/atom_test.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/atomonelight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/aurora.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ayu copy.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ayu-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ayu-mirage.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ayu.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/banana-blueberry.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/batman.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/belafonte-day.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/belafonte-night.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/birdsofparadise.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/blazer.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/blue-matrix.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/blueberrypie.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/bluedolphin.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/blulocodark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/blulocolight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/borland.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/breeze.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/bright-lights.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/broadcast.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/brogrammer.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/builtin-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/builtin-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/builtin-pastel-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/builtin-solarized-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/builtin-solarized-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/builtin-tango-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/builtin-tango-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/c64.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/calamity.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/catppuccin-frappe.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/catppuccin-latte.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/catppuccin-macchiato.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/catppuccin-mocha.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/cga.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/chalk.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/chalkboard.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/challengerdeep.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/chester.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ciapre.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/clrs.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/cobalt-neon.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/cobalt2.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/coffee-theme.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/crayonponyfish.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/cutiepro.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/cyberdyne.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/cyberpunk.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dark+.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dark-pastel.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/darkermatrix.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/darkmatrix.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/darkside.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dayfox.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/deep.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/desert.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dimidium.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dimmedmonokai.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/django.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/djangorebornagain.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/djangosmooth.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/doom-peacock.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/doomone.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dotgov.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dracula+.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/dracula.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/duckbones.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/duotone-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/earthsong.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/elemental.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/elementary.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/encom.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/espresso-libre.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/espresso.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/everblush.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/fahrenheit.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/fairyfloss.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/farmhouse-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/farmhouse-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/fideloper.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/firefly-traditional.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/firefoxdev.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/firewatch.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/fishtank.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/flat.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/flatland.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/flexoki-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/flexoki-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/floraverse.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/forestblue.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/framer.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/frontenddelight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/funforrest.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/galaxy.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/galizur.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/github-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/github.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/glacier.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/grape.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/grass.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/grey-green.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/gruber-darker.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/gruvboxdark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/gruvboxdarkhard.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/gruvboxlight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/guezwhoz.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hacktober.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hardcore.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/harper.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hax0r-blue.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hax0r-gr33n.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hax0r-r3d.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/highway.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hipster-green.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hivacruz.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/homebrew.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hopscotch.256.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hopscotch.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hurtado.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/hybrid.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ic-green-ppl.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ic-orange-ppl.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iceberg-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iceberg-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/idea.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/idletoes.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ir-black.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-dark-background.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-default.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-light-background.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-smoooooth.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-solarized-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-tango-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/iterm2-tango-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/jackie-brown.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/japanesque.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/jellybeans.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/jetbrains-darcula.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/jubi.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/kanagawabones.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/kibble.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/kolorit.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/konsolas.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/kurokula.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/lab-fox.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/laser.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/later-this-evening.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/lavandula.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/liquidcarbon.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/liquidcarbontransparent.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/lovelace.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/man-page.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/mariana.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/material.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/materialdark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/materialdarker.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/materialdesigncolors.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/materialocean.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/mathias.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/matrix.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/medallion.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/mellifluous.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/midnight-in-mojave.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/mirage.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/misterioso.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/molokai.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/monalisa.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/monokai-remastered.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/monokai-soda.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/monokai-vivid.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/n0tch2k.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/neobones-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/neobones-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/neon.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/neopolitan.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/neutron.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/night-owlish-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nightfox.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nightlion-v1.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nightlion-v2.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/niji.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nocturnal-winter.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nord-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nord.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/novel.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nvimdark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/nvimlight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/obsidian.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ocean.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/oceanic-next.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/oceanicmaterial.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ollie.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/onehalfdark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/onehalflight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/operator-mono-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/overnight-slumber.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/oxocarbon.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/palenighthc.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/pandora.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/paraiso-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/paulmillr.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/pencildark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/pencillight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/peppermint.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/piatto-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/pnevma.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/popping-and-locking.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/primary.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/pro-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/pro.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/purple-rain.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/purplepeter.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/rapture.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/raycast-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/raycast-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/rebecca.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/red-alert.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/red-planet.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/red-sands.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/relaxed.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/retro.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/rippedcasts.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/rose-pine-dawn.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/rose-pine-moon.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/rose-pine.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/rouge-2.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/royal.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ryuuko.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/sakura.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/scarlet-protocol.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/seafoam-pastel.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/seashells.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/seoulbones-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/seoulbones-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/seti.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/shades-of-purple.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/shaman.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/slate.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/sleepyhollow.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/smyck.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/snazzy.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/softserver.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/solarized-darcula.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/solarized-dark---patched.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/spacedust.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/spacegray-eighties.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/spacegray.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/spiderman.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/spring.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/square.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/sublette.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/subliminal.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/sugarplum.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/sundried.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/symfonic.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/synthwave-everything.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/synthwave.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/synthwavealpha.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tango-adapted.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tango-half-adapted.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/teerb.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/terafox.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/terminal-basic.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/thayer-bright.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/the-hulk.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tinacious-design-(dark).toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tinacious-design-(light).toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tokyonight-day.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tokyonight-storm.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tokyonight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tomorrow-night-blue.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tomorrow-night-bright.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tomorrow-night-burns.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tomorrow-night.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/tomorrow.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/toychest.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/treehouse.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/twilight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ubuntu.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ultradark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/ultraviolent.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/underthesea.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/unikitty.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/urple.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/vaughn.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/vesper.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/vibrantink.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/vimbones.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/violet-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/violet-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/warmneon.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/wez.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/whimsy.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/wildcherry.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/wilmersdorf.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/wombat.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/wryan.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/xcodedark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/xcodedarkhc.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/xcodelight.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/xcodelighthc.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/xcodewwdc.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/zenbones-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/zenbones-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/zenbones.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/zenburn.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/zenburned.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/zenwritten-dark.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/themes/zenwritten-light.toml +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/api/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/api/agent_management.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/api/execution.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/api/flock_management.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/api/registry_viewer.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/chat.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/config.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/dependencies.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/main.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/middleware.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/models_ui.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/services/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/services/feedback_file_service.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/services/flock_service.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/services/sharing_models.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/services/sharing_store.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/templates/theme_mapper.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/theme_mapper.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/app/utils.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/run.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/static/css/chat.css +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/static/css/components.css +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/static/css/header.css +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/static/css/layout.css +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/static/css/sidebar.css +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/static/css/two-pane.css +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/base.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/chat.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/chat_settings.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/flock_editor.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/index.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_agent_detail_form.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_agent_list.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_agent_manager_view.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_agent_tools_checklist.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_chat_container.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_chat_messages.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_chat_settings_form.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_create_flock_form.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_dashboard_flock_detail.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_dashboard_flock_file_list.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_dashboard_upload_flock_form.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_dynamic_input_form_content.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_env_vars_table.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_execution_form.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_execution_view_container.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_flock_file_list.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_flock_properties_form.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_flock_upload_form.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_header_flock_status.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_load_manager_view.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_registry_table.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_registry_viewer_content.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_results_display.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_settings_env_content.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_settings_theme_content.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_settings_view.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_share_chat_link_snippet.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_share_link_snippet.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_sidebar.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_structured_data_view.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/partials/_theme_preview.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/registry_viewer.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/webapp/templates/shared_run_page.html +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/workflow/__init__.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/workflow/activities.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/workflow/agent_activities.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/src/flock/workflow/temporal_config.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/_helpers/fakes.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/conftest.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/integration/test_discovery_nested.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/integration/test_discovery_smoke.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/integration/test_local_context_and_history.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/integration/test_local_routing.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/integration/test_webapi_post.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/integration/test_webapi_smoke.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_agent_integration_adapt.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_agent_lifecycle.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_agent_model_propagation.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_agent_serialization_callables.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_agent_serialization_callables_roundtrip.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_callable_registry_dynamic.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_context_next_input_extended.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_context_serialization.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_contract_parsing.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_decorators_errors.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_errors_core.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_flock_execution_errors.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_flock_multi_agent_snapshot.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_flock_result_formatting.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_flock_run_variants.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_flock_serialization_snapshot.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_flock_smoke.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_registry_core.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_registry_decorators.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_registry_extended.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_serialization_core.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_serialization_snapshots.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_serialization_utils.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_telemetry_core.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/p0/test_yaml_output.py +0 -0
- {flock_core-0.5.0b16 → flock_core-0.5.0b17}/tests/perf/test_perf_smoke.py +0 -0
|
@@ -112,7 +112,7 @@ Implement these to finalize the test framework for 0.5.0:
|
|
|
112
112
|
- Tests for skip private modules and robust behavior on import errors (no crash; log warning).
|
|
113
113
|
|
|
114
114
|
6. Docs
|
|
115
|
-
|
|
115
|
+
- Keep `docs/testing_strategy.md`, `docs/testing_guide.md`, `docs/internal/testing_todo.md` up to date and linked in CONTRIBUTING/README.
|
|
116
116
|
|
|
117
117
|
### Strongly Recommended
|
|
118
118
|
|
|
@@ -179,6 +179,47 @@ These patterns have been validated in the current suite and should keep tests de
|
|
|
179
179
|
- `agent.next_agent`: Next agent in workflow (string, callable, or None)
|
|
180
180
|
- `agent._components`: Component management helper (lazy-loaded)
|
|
181
181
|
|
|
182
|
+
### Pydantic I/O Contracts (New)
|
|
183
|
+
|
|
184
|
+
In addition to string-based contracts, agents can define input/output using Pydantic models. The framework converts Pydantic schemas into the canonical flock signature used for DSPy and validation, and it accepts `BaseModel` instances as inputs at runtime.
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
from typing import Literal
|
|
188
|
+
from pydantic import BaseModel, Field
|
|
189
|
+
from flock.core.registry import flock_type
|
|
190
|
+
from flock.core import Flock, DefaultAgent
|
|
191
|
+
|
|
192
|
+
@flock_type # recommended: registers the model with the TypeRegistry
|
|
193
|
+
class MovieIdea(BaseModel):
|
|
194
|
+
topic: str
|
|
195
|
+
genre: Literal["comedy", "drama", "horror", "action", "adventure"]
|
|
196
|
+
|
|
197
|
+
@flock_type
|
|
198
|
+
class Movie(BaseModel):
|
|
199
|
+
fun_title: str
|
|
200
|
+
runtime: int
|
|
201
|
+
synopsis: str
|
|
202
|
+
characters: list[dict[str, str]]
|
|
203
|
+
|
|
204
|
+
flock = Flock(name="example", model="openai/gpt-5")
|
|
205
|
+
agent = DefaultAgent(
|
|
206
|
+
name="movie_agent",
|
|
207
|
+
description="Create a fun movie",
|
|
208
|
+
input=MovieIdea, # Pydantic class
|
|
209
|
+
output=Movie, # Pydantic class
|
|
210
|
+
)
|
|
211
|
+
flock.add_agent(agent)
|
|
212
|
+
|
|
213
|
+
# You can pass a BaseModel instance directly; it will be normalized to dict
|
|
214
|
+
result = flock.run(agent=agent, input=MovieIdea(topic="AI agents", genre="comedy"))
|
|
215
|
+
print(result.fun_title)
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Notes:
|
|
219
|
+
- The framework will auto-register encountered Pydantic models (including nested ones) in the `TypeRegistry` during signature building. Using `@flock_type` is still recommended for clarity and early registration.
|
|
220
|
+
- Internally, these models are translated to a string contract like `"field: type | description"`, so existing components (e.g., DSPy integration) work seamlessly.
|
|
221
|
+
- String-based I/O remains fully supported and unchanged.
|
|
222
|
+
|
|
182
223
|
### Execution Flow
|
|
183
224
|
|
|
184
225
|
```
|
|
@@ -241,10 +282,10 @@ class MyComponent(EvaluationComponentBase):
|
|
|
241
282
|
|
|
242
283
|
### Agent Creation
|
|
243
284
|
```python
|
|
244
|
-
from flock.core import Flock,
|
|
285
|
+
from flock.core import Flock, DefaultAgent
|
|
245
286
|
|
|
246
287
|
flock = Flock(model="openai/gpt-4o")
|
|
247
|
-
agent =
|
|
288
|
+
agent = DefaultAgent(
|
|
248
289
|
name="my_agent",
|
|
249
290
|
input="query: str",
|
|
250
291
|
output="result: str"
|
|
@@ -326,6 +367,24 @@ agent.router # Same as helper.get_primary_router()
|
|
|
326
367
|
- Support JSON, YAML, and Python dict formats
|
|
327
368
|
- Use `to_dict()` / `from_dict()` for persistence
|
|
328
369
|
|
|
370
|
+
### Hydrator (Pydantic)
|
|
371
|
+
You can “hydrate” Pydantic models (fill missing/None fields) using the `@flockclass` decorator, which spins up a temporary agent based on the model’s schema.
|
|
372
|
+
|
|
373
|
+
```python
|
|
374
|
+
from pydantic import BaseModel, Field
|
|
375
|
+
from flock.core.util.hydrator import flockclass
|
|
376
|
+
|
|
377
|
+
@flockclass(model="openai/gpt-5")
|
|
378
|
+
class RandomPerson(BaseModel):
|
|
379
|
+
name: str | None = None
|
|
380
|
+
age: int | None = None
|
|
381
|
+
bio: str | None = Field(default=None, description="A short biography")
|
|
382
|
+
|
|
383
|
+
person = RandomPerson()
|
|
384
|
+
person = person.hydrate() # fills in missing fields via a dynamic agent
|
|
385
|
+
```
|
|
386
|
+
See `07-hydrator.py` for a full example.
|
|
387
|
+
|
|
329
388
|
## Development Guidelines
|
|
330
389
|
|
|
331
390
|
### When Making Changes
|
|
@@ -351,7 +410,7 @@ agent.router # Same as helper.get_primary_router()
|
|
|
351
410
|
1. **Understand the flow**: `Flock` → `FlockAgent` → `Utility/Evaluator/Router` → Result
|
|
352
411
|
2. **Start with examples**: Check `examples/01-getting-started/`
|
|
353
412
|
3. **Read tests**: `tests/core/test_flock_core.py` shows usage patterns
|
|
354
|
-
4. **Use
|
|
413
|
+
4. **Use DefaultAgent**: prefer `DefaultAgent(...)` for explicit setup; `FlockFactory` is deprecated
|
|
355
414
|
5. **Focus on contracts**: Input/output signatures are key
|
|
356
415
|
|
|
357
416
|
## Workflow Management
|
|
@@ -430,7 +489,7 @@ Based on the review, focus on:
|
|
|
430
489
|
The unified architecture completely replaces the legacy system:
|
|
431
490
|
- Legacy evaluators, modules, and routers have been removed
|
|
432
491
|
- All legacy dependencies cleaned up from codebase
|
|
433
|
-
-
|
|
492
|
+
- DefaultAgent wires unified components under the hood
|
|
434
493
|
- Workflow execution uses `agent.next_agent` for routing
|
|
435
494
|
- HandOffRequest system replaced with direct property assignment
|
|
436
495
|
|
|
@@ -447,3 +506,17 @@ The unified architecture completely replaces the legacy system:
|
|
|
447
506
|
- Zero code duplication in registry operations
|
|
448
507
|
|
|
449
508
|
This should give you a solid foundation to understand and contribute to the Flock framework efficiently!
|
|
509
|
+
|
|
510
|
+
## Branching & Pre‑Release Policy
|
|
511
|
+
|
|
512
|
+
- Pre‑release main branch for 0.5.0: `0.5.0b`.
|
|
513
|
+
- All PRs targeting the 0.5.0 pre‑release must be opened against `0.5.0b`, not `main`.
|
|
514
|
+
- We use a `[Phase0]` prefix in GitHub issue titles for the 0.5.0 peak‑condition tasks.
|
|
515
|
+
- Once 0.5.0 ships, `main` will receive a fast‑forward or merge from `0.5.0b` according to release policy.
|
|
516
|
+
|
|
517
|
+
## Contributor Tips (0.5.0 → 1.0)
|
|
518
|
+
|
|
519
|
+
- Prefer explicit Agent classes over factory helpers. Factory APIs remain during 0.5.0 but will be deprecated in favor of real agent classes (e.g., `DefaultAgent`).
|
|
520
|
+
- Contracts first: for complex schemas, pass Pydantic models for `input`/`output` and pass `BaseModel` instances as `flock.run(..., input=...)` — they are normalized under the hood.
|
|
521
|
+
- Unified components only: Evaluation/Routing/Utility; legacy “modules” are considered internal/legacy and will be removed in 1.0.
|
|
522
|
+
- Reactive path: future 1.0 work will add a `SubscriptionComponent` and `agent.subscribe_to(...)` sugar; no need to author graphs or decorators.
|
|
@@ -130,8 +130,9 @@ We follow the [Contributor Covenant](https://www.contributor-covenant.org/) code
|
|
|
130
130
|
Flock aims to provide an easy and reliable way to implement agentic applications. Therefore, well tested code is crucial.
|
|
131
131
|
|
|
132
132
|
Start here:
|
|
133
|
-
- Strategy: see `testing_strategy.md` for priorities and coverage goals.
|
|
134
|
-
- How-to: see `testing_guide.md` for setup, patterns, and examples.
|
|
133
|
+
- Strategy: see `docs/testing_strategy.md` for priorities and coverage goals.
|
|
134
|
+
- How-to: see `docs/testing_guide.md` for setup, patterns, and examples.
|
|
135
|
+
- TODOs (internal): see `docs/internal/testing_todo.md`.
|
|
135
136
|
|
|
136
137
|
Run tests with uv (recommended):
|
|
137
138
|
- Quick suite (CI-equivalent): `uv run poe test`
|
|
@@ -144,6 +145,10 @@ Guidelines:
|
|
|
144
145
|
- Place tests under `tests/` by concern (see strategy structure).
|
|
145
146
|
- Use [`pytest`](https://docs.pytest.org/en/stable/) fixtures instead of duplicating setup code.
|
|
146
147
|
|
|
148
|
+
### Pydantic I/O and Hydrator
|
|
149
|
+
- Agents may define input/output contracts using Pydantic models as an alternative to string contracts. See `AGENT.md#pydantic-io-contracts-new` for examples and guidelines.
|
|
150
|
+
- To generate structured data with an LLM into a model instance, use the hydrator decorator. See `AGENT.md#hydrator-pydantic`.
|
|
151
|
+
|
|
147
152
|
|
|
148
153
|
<!-- TOC --><a name="release-process"></a>
|
|
149
154
|
## Release Process:
|
|
@@ -154,4 +159,3 @@ Guidelines:
|
|
|
154
159
|
5. GitHub Action publishes to PyPI.
|
|
155
160
|
|
|
156
161
|
Thank you for contributing to Flock, the declarative Agent-Framework. 🦆💓
|
|
157
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.0b17
|
|
4
4
|
Summary: Declarative LLM Orchestration at Scale
|
|
5
5
|
Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -16,10 +16,10 @@ Requires-Dist: cloudpickle>=3.1.1
|
|
|
16
16
|
Requires-Dist: croniter>=6.0.0
|
|
17
17
|
Requires-Dist: datasets>=3.2.0
|
|
18
18
|
Requires-Dist: devtools>=0.12.2
|
|
19
|
-
Requires-Dist: dspy
|
|
19
|
+
Requires-Dist: dspy>=3.0.0
|
|
20
20
|
Requires-Dist: fastapi>=0.115.8
|
|
21
21
|
Requires-Dist: httpx>=0.28.1
|
|
22
|
-
Requires-Dist: litellm
|
|
22
|
+
Requires-Dist: litellm>=1.75.3
|
|
23
23
|
Requires-Dist: loguru>=0.7.3
|
|
24
24
|
Requires-Dist: markdown2>=2.5.3
|
|
25
25
|
Requires-Dist: mcp>=1.7.1
|
|
@@ -38,7 +38,7 @@ Requires-Dist: pillow>=10.4.0
|
|
|
38
38
|
Requires-Dist: prometheus-client>=0.21.1
|
|
39
39
|
Requires-Dist: psutil>=6.1.1
|
|
40
40
|
Requires-Dist: pydantic-settings>=2.7.1
|
|
41
|
-
Requires-Dist: pydantic
|
|
41
|
+
Requires-Dist: pydantic>=2.10.5
|
|
42
42
|
Requires-Dist: python-box>=7.3.2
|
|
43
43
|
Requires-Dist: python-decouple>=3.8
|
|
44
44
|
Requires-Dist: python-dotenv>=1.0.1
|
|
@@ -118,16 +118,16 @@ No brittle prompts. No guesswork. Just reliable, testable AI agents.
|
|
|
118
118
|
## ⚡ Quick Start
|
|
119
119
|
|
|
120
120
|
```python
|
|
121
|
-
from flock.core import Flock,
|
|
121
|
+
from flock.core import Flock, DefaultAgent
|
|
122
122
|
|
|
123
123
|
# 1. Create the main orchestrator
|
|
124
124
|
my_flock = Flock(model="openai/gpt-4.1")
|
|
125
125
|
|
|
126
126
|
# 2. Declaratively define an agent
|
|
127
|
-
brainstorm_agent =
|
|
127
|
+
brainstorm_agent = DefaultAgent(
|
|
128
128
|
name="idea_generator",
|
|
129
129
|
input="topic",
|
|
130
|
-
output="catchy_title, key_points"
|
|
130
|
+
output="catchy_title, key_points",
|
|
131
131
|
)
|
|
132
132
|
|
|
133
133
|
# 3. Add the agent to the Flock
|
|
@@ -53,16 +53,16 @@ No brittle prompts. No guesswork. Just reliable, testable AI agents.
|
|
|
53
53
|
## ⚡ Quick Start
|
|
54
54
|
|
|
55
55
|
```python
|
|
56
|
-
from flock.core import Flock,
|
|
56
|
+
from flock.core import Flock, DefaultAgent
|
|
57
57
|
|
|
58
58
|
# 1. Create the main orchestrator
|
|
59
59
|
my_flock = Flock(model="openai/gpt-4.1")
|
|
60
60
|
|
|
61
61
|
# 2. Declaratively define an agent
|
|
62
|
-
brainstorm_agent =
|
|
62
|
+
brainstorm_agent = DefaultAgent(
|
|
63
63
|
name="idea_generator",
|
|
64
64
|
input="topic",
|
|
65
|
-
output="catchy_title, key_points"
|
|
65
|
+
output="catchy_title, key_points",
|
|
66
66
|
)
|
|
67
67
|
|
|
68
68
|
# 3. Add the agent to the Flock
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide: # Optional: Hide table of contents on simple pages
|
|
3
|
+
- toc
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Evaluation Components 🧠
|
|
7
|
+
|
|
8
|
+
Evaluation components implement the agent’s core logic. The default option uses DSPy for structured prompting and tool use.
|
|
9
|
+
|
|
10
|
+
## DeclarativeEvaluationComponent (default)
|
|
11
|
+
|
|
12
|
+
Created when you construct a `DefaultAgent`, it converts your contracts into a DSPy signature and runs a suitable program (`Predict`, `ReAct`, or `ChainOfThought`).
|
|
13
|
+
|
|
14
|
+
### Highlights
|
|
15
|
+
- Honors `description`, `input`, and `output` (string or Pydantic) contracts
|
|
16
|
+
- Supports streaming output and optional reasoning/trajectory fields
|
|
17
|
+
- Integrates native Python tools and MCP tools
|
|
18
|
+
|
|
19
|
+
### Example
|
|
20
|
+
```python
|
|
21
|
+
from flock.core import DefaultAgent
|
|
22
|
+
|
|
23
|
+
agent = DefaultAgent(
|
|
24
|
+
name="summarizer",
|
|
25
|
+
description="Summarize the provided text",
|
|
26
|
+
input="text: str",
|
|
27
|
+
output="summary: str | A concise abstract"
|
|
28
|
+
)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Custom Evaluation Components
|
|
32
|
+
|
|
33
|
+
Subclass `EvaluationComponent` and implement `evaluate_core`.
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from flock.core.component.evaluation_component import EvaluationComponent
|
|
37
|
+
from flock.core.registry import flock_component
|
|
38
|
+
|
|
39
|
+
@flock_component
|
|
40
|
+
class MyEvaluator(EvaluationComponent):
|
|
41
|
+
async def evaluate_core(self, agent, inputs, context=None, tools=None, mcp_tools=None):
|
|
42
|
+
return {"result": inputs.get("text", "").upper()}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Register via `@flock_component` for discovery and serialization.
|
|
46
|
+
|
|
47
|
+
## Best Practices
|
|
48
|
+
|
|
49
|
+
- Respect the agent’s `model` unless you have a strong reason to override.
|
|
50
|
+
- Validate inputs early; raise errors to trigger `on_error` hooks.
|
|
51
|
+
- Make network calls async.
|
|
52
|
+
- Return only declared output fields; keep responses compact and structured.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide: # Optional: Hide table of contents on simple pages
|
|
3
|
+
- toc
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Components Overview 🧩
|
|
7
|
+
|
|
8
|
+
Flock uses a unified component system: every agent has a single list `agent.components` that may include any of the following:
|
|
9
|
+
|
|
10
|
+
| Component Type | Purpose | Base Class |
|
|
11
|
+
| -------------- | ------- | ---------- |
|
|
12
|
+
| **Evaluation** | Implements an agent’s core logic (LLM/DSPy or custom code). | `EvaluationComponent` |
|
|
13
|
+
| **Routing** | Chooses the next agent in a workflow (static, conditional, LLM-based). | `RoutingComponent` |
|
|
14
|
+
| **Utility** | Cross-cutting concerns: output formatting, metrics, memory, etc. | `AgentComponent` |
|
|
15
|
+
|
|
16
|
+
Tools are simple callables (or MCP tools) that evaluators may invoke; register them via `@flock_tool`.
|
|
17
|
+
|
|
18
|
+
Learn more:
|
|
19
|
+
|
|
20
|
+
* [Evaluation Components](evaluators.md)
|
|
21
|
+
* [Utility Components](utility.md)
|
|
22
|
+
* [Tools](tools.md)
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Version Compatibility
|
|
27
|
+
|
|
28
|
+
All core component base classes follow **Semantic Versioning**. Adding new optional hook methods counts as a *minor* version bump, so custom components will keep working.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Lifecycle Hooks
|
|
33
|
+
|
|
34
|
+
All components inherit from `AgentComponent` and can implement lifecycle hooks:
|
|
35
|
+
|
|
36
|
+
- `on_initialize(agent, inputs, context)`
|
|
37
|
+
- `on_pre_evaluate(agent, inputs, context)`
|
|
38
|
+
- `on_post_evaluate(agent, inputs, context, result)`
|
|
39
|
+
- `terminate(agent, inputs, result, context)`
|
|
40
|
+
- `on_error(agent, inputs, context, error)`
|
|
41
|
+
|
|
42
|
+
Evaluation components also implement `evaluate_core(...)`.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
Continue reading the dedicated pages for implementation details.
|
|
@@ -29,7 +29,9 @@ Decorating with `@flock_tool` registers the function in the **global registry**
|
|
|
29
29
|
## 2. Using Tools in Agents
|
|
30
30
|
|
|
31
31
|
```python
|
|
32
|
-
|
|
32
|
+
from flock.core import DefaultAgent
|
|
33
|
+
|
|
34
|
+
agent = DefaultAgent(
|
|
33
35
|
name="page_analyser",
|
|
34
36
|
input="url: str",
|
|
35
37
|
output="title: str, headings: list[str]",
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Utility Components 🧰
|
|
2
|
+
|
|
3
|
+
Utility components provide cross‑cutting behavior for agents without changing their core logic. Common examples include:
|
|
4
|
+
|
|
5
|
+
- Output formatting (pretty printing, theming, streaming)
|
|
6
|
+
- Metrics/latency tracking and alerts
|
|
7
|
+
- Memory or context injection
|
|
8
|
+
|
|
9
|
+
These components inherit from `AgentComponent` and typically implement lifecycle hooks.
|
|
10
|
+
|
|
11
|
+
## Built‑in Examples
|
|
12
|
+
|
|
13
|
+
- `OutputUtilityComponent`
|
|
14
|
+
- Formats and prints results; can render tables and control verbosity.
|
|
15
|
+
- `MetricsUtilityComponent`
|
|
16
|
+
- Tracks latency/cost thresholds and emits warnings.
|
|
17
|
+
|
|
18
|
+
## Adding a Utility Component
|
|
19
|
+
|
|
20
|
+
```python
|
|
21
|
+
from pydantic import BaseModel, Field
|
|
22
|
+
from flock.core.registry import flock_component
|
|
23
|
+
from flock.core.component.agent_component_base import AgentComponent, AgentComponentConfig
|
|
24
|
+
|
|
25
|
+
class MyOutputConfig(AgentComponentConfig):
|
|
26
|
+
shout: bool = Field(default=False)
|
|
27
|
+
|
|
28
|
+
@flock_component(name="my_output", config_class=MyOutputConfig)
|
|
29
|
+
class MyOutput(AgentComponent):
|
|
30
|
+
config: MyOutputConfig
|
|
31
|
+
|
|
32
|
+
async def on_post_evaluate(self, agent, inputs, context, result):
|
|
33
|
+
if self.config.shout and isinstance(result, dict) and "text" in result:
|
|
34
|
+
result["text"] = result["text"].upper()
|
|
35
|
+
return result
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Registering with `@flock_component` makes the component discoverable via the registry and serializable.
|
|
39
|
+
|
|
40
|
+
## When To Use Utility Components
|
|
41
|
+
|
|
42
|
+
- You want consistent output across many agents.
|
|
43
|
+
- You need metrics/telemetry without coupling it to evaluation logic.
|
|
44
|
+
- You need to adjust inputs/outputs around evaluation in a reusable way.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide: # Optional: Hide table of contents on simple pages
|
|
3
|
+
- toc
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Flock Agents 🐦
|
|
7
|
+
|
|
8
|
+
A **FlockAgent** is the fundamental unit of work. Each agent is declarative — you specify what goes in and what should come out. Components provide the “how”.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1. Anatomy of an Agent (Unified)
|
|
13
|
+
|
|
14
|
+
```python
|
|
15
|
+
from flock.core import DefaultAgent
|
|
16
|
+
|
|
17
|
+
agent = DefaultAgent(
|
|
18
|
+
name="movie_pitcher",
|
|
19
|
+
description="Create a fun movie idea",
|
|
20
|
+
input="topic: str | Central subject",
|
|
21
|
+
output="title: str, runtime: int, synopsis: str",
|
|
22
|
+
)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Key Fields
|
|
26
|
+
|
|
27
|
+
| Field | Type | Intent |
|
|
28
|
+
| ----- | ---- | ------ |
|
|
29
|
+
| `name` | `str` | Unique identifier; becomes the registry key. |
|
|
30
|
+
| `model` | `str | None` | Override the default model for this agent. |
|
|
31
|
+
| `description` | `str \| Callable \| BaseModel` | High-level instruction (string or callable). |
|
|
32
|
+
| `input` | `str | BaseModel` | Contract for accepted data. |
|
|
33
|
+
| `output` | `str | BaseModel` | Contract for produced data. |
|
|
34
|
+
| `tools` | `list[Callable]` | Extra callables the evaluator may invoke. |
|
|
35
|
+
| `tool_whitelist` | `list[str] \| None` | Filter tools by name for security (recommended). |
|
|
36
|
+
| `servers` | `list[str \| FlockMCPServer]` | MCP servers providing additional tools. |
|
|
37
|
+
| `components` | `list[AgentComponent]` | Unified list: evaluation, routing, utility. |
|
|
38
|
+
| `evaluator` | `EvaluationComponent | None` | Convenience property: primary evaluator. |
|
|
39
|
+
| `router` | `RoutingComponent | None` | Convenience property: primary router. |
|
|
40
|
+
|
|
41
|
+
All these fields are **Pydantic-validated** and fully serialisable via `Serializable`.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 2. Contracts: Input & Output
|
|
46
|
+
|
|
47
|
+
Signatures are written in a compact mini-DSL:
|
|
48
|
+
|
|
49
|
+
* `field` – just a name (type & description inferred by the LLM).
|
|
50
|
+
* `field: type` – adds a type hint.
|
|
51
|
+
* `field: type | description` – adds a natural-language description.
|
|
52
|
+
* Multiple fields are comma-separated.
|
|
53
|
+
* Lists/dicts follow normal Python typing: `list[dict[str, str]]`.
|
|
54
|
+
|
|
55
|
+
Alternatively, pass **Pydantic models** (recommended for complex schemas):
|
|
56
|
+
|
|
57
|
+
```python
|
|
58
|
+
from pydantic import BaseModel
|
|
59
|
+
|
|
60
|
+
class SearchIn(BaseModel):
|
|
61
|
+
query: str
|
|
62
|
+
top_k: int = 5
|
|
63
|
+
|
|
64
|
+
class SearchOut(BaseModel):
|
|
65
|
+
documents: list[str]
|
|
66
|
+
|
|
67
|
+
search_agent = DefaultAgent(
|
|
68
|
+
name="searcher",
|
|
69
|
+
input=SearchIn,
|
|
70
|
+
output=SearchOut,
|
|
71
|
+
)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 3. Tools & Security
|
|
77
|
+
|
|
78
|
+
Agents can use both native Python functions and tools from MCP (Model Context Protocol) servers:
|
|
79
|
+
|
|
80
|
+
```python
|
|
81
|
+
agent = DefaultAgent(
|
|
82
|
+
name="research_agent",
|
|
83
|
+
tools=[my_python_function], # Native Python tools
|
|
84
|
+
servers=["web-search-server"], # MCP servers
|
|
85
|
+
tool_whitelist=["search_web", "summarize"], # Security filtering
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Tool Whitelisting
|
|
90
|
+
|
|
91
|
+
For security and control, agents support tool filtering via `tool_whitelist`:
|
|
92
|
+
|
|
93
|
+
* **`tool_whitelist: list[str] | None`** – If provided, only tools with names in this list are accessible
|
|
94
|
+
* Applies to both native Python tools (by `__name__`) and MCP tools (by `name` attribute)
|
|
95
|
+
* If `None`, all tools from servers and the tools list are available
|
|
96
|
+
|
|
97
|
+
**Example:**
|
|
98
|
+
```python
|
|
99
|
+
# Only allow specific tools
|
|
100
|
+
secure_agent = DefaultAgent(
|
|
101
|
+
name="secure_agent",
|
|
102
|
+
servers=["general-tools"],
|
|
103
|
+
tool_whitelist=["safe_search", "validate_input"], # Restricted access
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
# Allow all tools (default)
|
|
107
|
+
open_agent = DefaultAgent(
|
|
108
|
+
name="open_agent",
|
|
109
|
+
servers=["general-tools"],
|
|
110
|
+
# No tool_whitelist = all server tools available
|
|
111
|
+
)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Best Practice:** Use agent-level filtering for granular control. Different agents can access different tool subsets from the same server.
|
|
115
|
+
|
|
116
|
+
See the **[Tool Whitelisting & Security Guide](../guides/tool-whitelist.md)** for comprehensive security patterns and implementation details.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 4. Lifecycle
|
|
121
|
+
|
|
122
|
+
```mermaid
|
|
123
|
+
flowchart LR
|
|
124
|
+
A[initialize] --> B[evaluate]
|
|
125
|
+
B --> C[terminate]
|
|
126
|
+
B -. error .-> D[on_error]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
1. **initialize** – prepare resources (DB connection, load embeddings, etc.).
|
|
130
|
+
2. **evaluate** – main logic executed by the evaluator.
|
|
131
|
+
3. **terminate** – clean-up, persist metrics.
|
|
132
|
+
4. **on_error** – triggered if any previous stage raises.
|
|
133
|
+
|
|
134
|
+
Components (utility) can hook into each stage to extend behavior.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 4. Adding Components
|
|
139
|
+
|
|
140
|
+
```python
|
|
141
|
+
from flock.components.utility.output_utility_component import OutputUtilityComponent, OutputUtilityConfig
|
|
142
|
+
from flock.components.routing.default_routing_component import DefaultRoutingComponent, DefaultRoutingConfig
|
|
143
|
+
|
|
144
|
+
agent.add_component(OutputUtilityComponent(name="output", config=OutputUtilityConfig(render_table=True)))
|
|
145
|
+
agent.add_component(DefaultRoutingComponent(name="router", config=DefaultRoutingConfig()))
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 5. Best Practices
|
|
151
|
+
|
|
152
|
+
* Keep `description` concise; use the signature for fine-grained control.
|
|
153
|
+
* Prefer Pydantic models for complex schemas – you get validation for free.
|
|
154
|
+
* Separate concerns: evaluator handles logic, utility components handle cross‑cutting tasks.
|
|
155
|
+
* Register reusable tools with `@flock_tool` so any agent can adopt them.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
**Next:** Learn *why* this declarative approach works in [Declarative Programming](declarative.md).
|
|
@@ -12,18 +12,18 @@ A **workflow** in Flock is *simply* a sequence of agent evaluations managed by a
|
|
|
12
12
|
## 1. Creating a Workflow
|
|
13
13
|
|
|
14
14
|
```python
|
|
15
|
-
from flock.core import Flock,
|
|
15
|
+
from flock.core import Flock, DefaultAgent
|
|
16
16
|
from flock.routers.agent import AgentRouter
|
|
17
17
|
|
|
18
18
|
flock = Flock(name="demo")
|
|
19
19
|
|
|
20
|
-
search_agent =
|
|
20
|
+
search_agent = DefaultAgent(
|
|
21
21
|
name="searcher",
|
|
22
22
|
input="query: str",
|
|
23
23
|
output="documents: list[str]",
|
|
24
24
|
)
|
|
25
25
|
|
|
26
|
-
summariser =
|
|
26
|
+
summariser = DefaultAgent(
|
|
27
27
|
name="summariser",
|
|
28
28
|
input="docs: list[str]",
|
|
29
29
|
output="summary: str",
|
|
@@ -42,7 +42,7 @@ search_agent.handoff_router = AgentRouter(
|
|
|
42
42
|
You can start the workflow by **name** or by passing the agent instance:
|
|
43
43
|
|
|
44
44
|
```python
|
|
45
|
-
result = flock.run(
|
|
45
|
+
result = flock.run(agent="searcher", input={"query": "LLM frameworks"})
|
|
46
46
|
print(result.summary)
|
|
47
47
|
```
|
|
48
48
|
|
|
@@ -78,7 +78,7 @@ Agents and modules can read/write to the context at will, enabling memory and co
|
|
|
78
78
|
```python
|
|
79
79
|
# Run multiple inputs concurrently
|
|
80
80
|
results = await flock.run_batch_async(
|
|
81
|
-
|
|
81
|
+
agent="searcher",
|
|
82
82
|
input_list=[{"query": q} for q in queries],
|
|
83
83
|
)
|
|
84
84
|
```
|
|
@@ -79,7 +79,7 @@ You can also override or set configurations directly when creating Flock or Floc
|
|
|
79
79
|
|
|
80
80
|
### Configure Flock instance
|
|
81
81
|
```python
|
|
82
|
-
from flock.core import Flock, FlockAgent,
|
|
82
|
+
from flock.core import Flock, FlockAgent, DefaultAgent
|
|
83
83
|
from flock.core.logging.logging import configure_logging
|
|
84
84
|
|
|
85
85
|
# Only show error logs
|
|
@@ -94,7 +94,7 @@ my_flock = Flock(
|
|
|
94
94
|
|
|
95
95
|
### Configure Agent instance
|
|
96
96
|
```python
|
|
97
|
-
specific_agent =
|
|
97
|
+
specific_agent = DefaultAgent(
|
|
98
98
|
name="SpecificAgent",
|
|
99
99
|
model="openai/gpt-3.5-turbo", # Use a different model for this agent
|
|
100
100
|
use_cache=False, # Disable caching for this agent
|
|
@@ -15,7 +15,7 @@ This section covers the essentials to get you up and running:
|
|
|
15
15
|
|
|
16
16
|
* **[Quick Start](quickstart.md):** Jump right in and build your very first Flock agent in minutes. See how simple the declarative approach can be.
|
|
17
17
|
* **[Installation](installation.md):** Get Flock set up on your machine, along with any necessary dependencies.
|
|
18
|
-
* **[
|
|
18
|
+
* **[Core Concepts](../core-concepts/index.md):** Understand the fundamental ideas behind Flock – Agents, the declarative approach, and the component system.
|
|
19
19
|
* **[Configuration](configuration.md):** Learn how to configure Flock for your specific needs, including setting up LLM providers.
|
|
20
20
|
|
|
21
21
|
## Prerequisites
|
|
@@ -47,4 +47,4 @@ Based on these information all you need to do for flock using any anthropic mode
|
|
|
47
47
|
|
|
48
48
|
We recommend starting with the **[Quick Start](quickstart.md)** guide for a hands-on introduction. If you prefer to set up everything first, head over to the **[Installation](installation.md)** page.
|
|
49
49
|
|
|
50
|
-
Let's get your first agent airborne! 🐦⬛💨
|
|
50
|
+
Let's get your first agent airborne! 🐦⬛💨
|
|
@@ -17,7 +17,7 @@ Create a new Python file (e.g., `hello_flock.py`) and paste the following code:
|
|
|
17
17
|
|
|
18
18
|
```python
|
|
19
19
|
# hello_flock.py
|
|
20
|
-
from flock.core import Flock,
|
|
20
|
+
from flock.core import Flock, DefaultAgent
|
|
21
21
|
|
|
22
22
|
# --------------------------------
|
|
23
23
|
# 1. Choose Your LLM
|
|
@@ -41,8 +41,7 @@ flock = Flock(
|
|
|
41
41
|
# 3. Define Your Agent Declaratively
|
|
42
42
|
# --------------------------------
|
|
43
43
|
# No complex prompts needed! Just declare what goes in and what comes out.
|
|
44
|
-
|
|
45
|
-
presentation_agent = FlockFactory.create_default_agent(
|
|
44
|
+
presentation_agent = DefaultAgent(
|
|
46
45
|
name="my_presentation_agent",
|
|
47
46
|
description="Creates a fun presentation outline about a given topic",
|
|
48
47
|
input="topic: str", # The agent expects a string named 'topic'
|
|
@@ -60,8 +59,8 @@ flock.add_agent(presentation_agent)
|
|
|
60
59
|
# Tell the Flock which agent to start with and provide the input.
|
|
61
60
|
print(f"Running agent '{presentation_agent.name}'...")
|
|
62
61
|
result = flock.run(
|
|
63
|
-
|
|
64
|
-
input={"topic": "Why Llamas Make Great Urban Pets"}
|
|
62
|
+
agent=presentation_agent, # Or use the name: "my_presentation_agent"
|
|
63
|
+
input={"topic": "Why Llamas Make Great Urban Pets"}
|
|
65
64
|
)
|
|
66
65
|
|
|
67
66
|
# --------------------------------
|
|
@@ -100,7 +99,7 @@ Let's break down the magic:
|
|
|
100
99
|
|
|
101
100
|
**Create Your Flock**: The Flock object acts as the container and orchestrator for your agents.
|
|
102
101
|
|
|
103
|
-
**Define Your Agent Declaratively**: This is the core of Flock! Instead of writing a long prompt, you
|
|
102
|
+
**Define Your Agent Declaratively**: This is the core of Flock! Instead of writing a long prompt, you constructed a `DefaultAgent` and simply declared:
|
|
104
103
|
|
|
105
104
|
`input="topic: str"`: The agent needs one input called topic, which should be a string.
|
|
106
105
|
|