flock-core 0.3.16__tar.gz → 0.3.17__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of flock-core might be problematic. Click here for more details.
- {flock_core-0.3.16 → flock_core-0.3.17}/PKG-INFO +3 -1
- flock_core-0.3.17/docs/core-concepts/tools/azure-tools.md +221 -0
- flock_core-0.3.17/docs/core-concepts/tools/overview.md +96 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/getting-started/concepts.md +2 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/release-notes/release_notes.md +1 -0
- flock_core-0.3.17/examples/02_concepts/tools/azure_tools_example.py +221 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/2502.18600v1.pdf +0 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/README.md +154 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/examples/__init__.py +1 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/examples/arithmetic.py +57 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/examples/comparison.py +42 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/examples/symbolic.py +57 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/src/__init__.py +6 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/src/agents.py +207 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/src/chain_of_draft.py +113 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/src/evaluation.py +175 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/src/prompts.py +55 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/src/router.py +99 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/tests/__init__.py +1 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/tests/test_cod_basic.py +179 -0
- flock_core-0.3.17/examples/papers/chain-of-draft/tests/test_cod_vs_cot.py +146 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/mkdocs.yml +3 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/pyproject.toml +3 -1
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/assets/release_notes.md +1 -0
- flock_core-0.3.17/src/flock/core/tools/azure_tools.py +496 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/tools/basic_tools.py +96 -8
- flock_core-0.3.17/tests/conftest.py +52 -0
- flock_core-0.3.17/tests/examples/azure_search_example.py +164 -0
- flock_core-0.3.17/tests/integration/test_azure_tools_integration.py +282 -0
- flock_core-0.3.17/tests/unittests/test_azure_tools.py +277 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/uv.lock +52 -1
- {flock_core-0.3.16 → flock_core-0.3.17}/.devcontainer/devcontainer.json +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.env_template +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.github/workflows/.gitkeep +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.github/workflows/deploy-documentation.yml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.gitignore +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.vscode/launch.json +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.vscode/settings.json +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/.vscode/tasks.json +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/LICENSE +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/README.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/advanced/complex-workflows.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/advanced/custom-agents.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/advanced/performance.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/advanced/testing.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/api/flock-core.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/api/flockagent.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/api/types.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/api/utilities.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/architecture/components.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/architecture/design-decisions.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/architecture/overview.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/drawio/architecture.drawio +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/cli_outputs/out.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/components_chart.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/examples/01_01.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/examples/01_02.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/examples/01_03.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/examples/01_04.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/examples/01_05.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/examples/01_06.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/flock.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/flock_cli.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/flow_chart.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/getting-started/first_agent_00.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/hummingbird.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/icon.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/icon.png~ +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/logo.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/memory_concepts.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/memory_flow.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/assets/images/memory_flow_chart.png +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/contributing/code-style.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/contributing/development.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/contributing/documentation.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/contributing/testing.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/agents.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/declarative.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/error-handling.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/evaluators.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/memory.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/modules/memory.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/modules/metrics.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/modules/output.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/modules.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/routers/agent.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/routers/default.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/routers/llm.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/routers.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/type-system.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/core-concepts/workflows.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/create_doc_boilerplate.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/deployment/monitoring.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/deployment/production-setup.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/deployment/scalability.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/deployment/security.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/development/dev.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/development/replace-dspy/implementation_plan.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/development/topics.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/examples/chain-gang.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/examples/hello-flock.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/examples/pydantic.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/examples/type-system.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/features/agent-chaining.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/features/agent-definition.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/features/lifecycle-hooks.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/features/pydantic.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/features/type-safety.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/getting-started/configuration.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/getting-started/installation.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/getting-started/quickstart.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/index.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/integrations/dspy.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/integrations/litellm.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/integrations/rest-api.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/integrations/tavily.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/integrations/temporal.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/stylesheets/extra.css +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/tutorials/blog-generator.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/tutorials/custom-tools.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/tutorials/error-recovery.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/docs/tutorials/multi-agent.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/01_introduction/01_simple_example.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/01_introduction/02_typed_output.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/01_introduction/04_descriptions.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/01_introduction/05_typed_output2.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/01_introduction/06_simple_hand_off.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/02_concepts/api/api_client.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/02_concepts/api/api_server.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/02_concepts/context/context.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/02_concepts/evaluator/multi_hops_memory.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/02_concepts/evaluator/multi_hops_zep.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/02_concepts/modules/use_modules.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/02_concepts/router/router_example.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/03_apps/roguelike/game.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/04_comparison/rag_comparison/rag.ipynb +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/05_documentation/getting-started/first_agent_01.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/05_documentation/getting-started/first_agent_02.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/05_documentation/getting-started/first_agent_03.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/README.md +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/flock_without_llms.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/long_research_no_handoff.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/painting_by_numbers.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/project_manager.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer_llm.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_01.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_02.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_03.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_04.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/save_01.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/save_02.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/save_03.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/02_cook_book/self_improvement_with_memory.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/hier/her_vis.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/hier/hier_mem.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/misc/memory.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/misc/self_learner.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/misc/self_learner2.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/examples/playground/website/app.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/requirements.txt +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/constants.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/create_agent.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/create_flock.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/load_agent.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/load_examples.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/load_flock.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/load_release_notes.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/cli/settings.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/config.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/context/context.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/context/context_manager.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/context/context_vars.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/execution/local_executor.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/execution/temporal_executor.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/flock.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/flock_agent.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/flock_api.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/flock_evaluator.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/flock_factory.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/flock_module.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/flock_router.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/interpreter/python_interpreter.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/formatters/enum_builder.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/formatters/theme_builder.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/formatters/themes.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/logging.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/telemetry.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/logging/trace_and_logged.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/mixin/dspy_integration.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/mixin/prompt_parser.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/registry/agent_registry.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/serialization/secure_serializer.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/serialization/serializable.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/tools/dev_tools/github.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/tools/llm_tools.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/tools/markdown_tools.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/util/cli_helper.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/util/hydrator.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/core/util/input_resolver.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/evaluators/memory/azure_search_evaluator.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/azure-search/azure_search_module.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/callback/callback_module.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/memory/memory_module.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/memory/memory_parser.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/memory/memory_storage.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/output/output_module.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/performance/metrics_module.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/modules/zep/zep_module.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/platform/docker_tools.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/platform/jaeger_install.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/agent/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/agent/agent_router.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/agent/handoff_agent.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/default/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/default/default_router.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/llm/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/routers/llm/llm_router.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/3024-day.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/3024-night.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/aardvark-blue.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/abernathy.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/adventure.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/adventuretime.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/afterglow.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/alabaster.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/alienblood.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/andromeda.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/apple-classic.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/apple-system-colors.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/arcoiris.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/argonaut copy.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/argonaut.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/arthur.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ateliersulphurpool.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/atom.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/atom_test.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/atomonelight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/aurora.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ayu copy.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ayu-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ayu-mirage.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ayu.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/banana-blueberry.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/batman.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/belafonte-day.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/belafonte-night.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/birdsofparadise.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/blazer.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/blue-matrix.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/blueberrypie.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/bluedolphin.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/blulocodark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/blulocolight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/borland.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/breeze.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/bright-lights.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/broadcast.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/brogrammer.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/builtin-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/builtin-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/builtin-pastel-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/builtin-solarized-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/builtin-solarized-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/builtin-tango-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/builtin-tango-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/c64.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/calamity.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/catppuccin-frappe.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/catppuccin-latte.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/catppuccin-macchiato.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/catppuccin-mocha.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/cga.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/chalk.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/chalkboard.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/challengerdeep.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/chester.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ciapre.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/clrs.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/cobalt-neon.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/cobalt2.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/coffee-theme.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/crayonponyfish.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/cutiepro.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/cyberdyne.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/cyberpunk.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dark+.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dark-pastel.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/darkermatrix.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/darkmatrix.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/darkside.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dayfox.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/deep.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/desert.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dimidium.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dimmedmonokai.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/django.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/djangorebornagain.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/djangosmooth.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/doom-peacock.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/doomone.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dotgov.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dracula+.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/dracula.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/duckbones.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/duotone-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/earthsong.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/elemental.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/elementary.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/encom.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/espresso-libre.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/espresso.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/everblush.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/fahrenheit.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/fairyfloss.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/farmhouse-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/farmhouse-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/fideloper.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/firefly-traditional.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/firefoxdev.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/firewatch.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/fishtank.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/flat.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/flatland.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/flexoki-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/flexoki-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/floraverse.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/forestblue.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/framer.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/frontenddelight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/funforrest.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/galaxy.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/galizur.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/github-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/github.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/glacier.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/grape.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/grass.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/grey-green.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/gruber-darker.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/gruvboxdark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/gruvboxdarkhard.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/gruvboxlight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/guezwhoz.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hacktober.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hardcore.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/harper.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hax0r-blue.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hax0r-gr33n.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hax0r-r3d.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/highway.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hipster-green.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hivacruz.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/homebrew.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hopscotch.256.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hopscotch.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hurtado.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/hybrid.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ic-green-ppl.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ic-orange-ppl.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iceberg-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iceberg-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/idea.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/idletoes.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ir-black.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-dark-background.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-default.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-light-background.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-smoooooth.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-solarized-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-tango-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/iterm2-tango-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/jackie-brown.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/japanesque.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/jellybeans.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/jetbrains-darcula.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/jubi.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/kanagawabones.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/kibble.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/kolorit.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/konsolas.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/kurokula.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/lab-fox.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/laser.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/later-this-evening.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/lavandula.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/liquidcarbon.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/liquidcarbontransparent.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/lovelace.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/man-page.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/mariana.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/material.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/materialdark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/materialdarker.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/materialdesigncolors.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/materialocean.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/mathias.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/matrix.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/medallion.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/mellifluous.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/midnight-in-mojave.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/mirage.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/misterioso.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/molokai.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/monalisa.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/monokai-remastered.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/monokai-soda.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/monokai-vivid.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/n0tch2k.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/neobones-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/neobones-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/neon.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/neopolitan.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/neutron.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/night-owlish-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nightfox.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nightlion-v1.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nightlion-v2.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/niji.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nocturnal-winter.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nord-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nord.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/novel.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nvimdark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/nvimlight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/obsidian.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ocean.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/oceanic-next.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/oceanicmaterial.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ollie.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/onehalfdark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/onehalflight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/operator-mono-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/overnight-slumber.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/oxocarbon.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/palenighthc.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/pandora.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/paraiso-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/paulmillr.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/pencildark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/pencillight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/peppermint.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/piatto-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/pnevma.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/popping-and-locking.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/primary.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/pro-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/pro.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/purple-rain.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/purplepeter.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/rapture.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/raycast-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/raycast-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/rebecca.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/red-alert.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/red-planet.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/red-sands.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/relaxed.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/retro.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/rippedcasts.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/rose-pine-dawn.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/rose-pine-moon.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/rose-pine.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/rouge-2.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/royal.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ryuuko.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/sakura.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/scarlet-protocol.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/seafoam-pastel.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/seashells.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/seoulbones-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/seoulbones-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/seti.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/shades-of-purple.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/shaman.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/slate.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/sleepyhollow.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/smyck.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/snazzy.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/softserver.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/solarized-darcula.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/solarized-dark---patched.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/spacedust.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/spacegray-eighties.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/spacegray.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/spiderman.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/spring.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/square.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/sublette.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/subliminal.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/sugarplum.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/sundried.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/symfonic.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/synthwave-everything.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/synthwave.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/synthwavealpha.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tango-adapted.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tango-half-adapted.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/teerb.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/terafox.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/terminal-basic.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/thayer-bright.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/the-hulk.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tinacious-design-(dark).toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tinacious-design-(light).toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tokyonight-day.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tokyonight-storm.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tokyonight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-blue.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-bright.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-burns.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tomorrow-night.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/tomorrow.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/toychest.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/treehouse.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/twilight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ubuntu.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ultradark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/ultraviolent.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/underthesea.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/unikitty.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/urple.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/vaughn.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/vesper.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/vibrantink.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/vimbones.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/violet-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/violet-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/warmneon.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/wez.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/whimsy.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/wildcherry.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/wilmersdorf.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/wombat.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/wryan.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/xcodedark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/xcodedarkhc.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/xcodelight.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/xcodelighthc.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/xcodewwdc.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/zenbones-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/zenbones-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/zenbones.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/zenburn.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/zenburned.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/zenwritten-dark.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/themes/zenwritten-light.toml +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/workflow/__init__.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/workflow/activities.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/workflow/agent_activities.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/workflow/temporal_setup.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/src/flock/workflow/workflow.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/tests/integration/test_agent_integration.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/tests/unittests/test_agent_based_handoff.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/tests/unittests/test_agent_router_property.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/tests/unittests/test_flock.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/tests/unittests/test_flock_agent.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/tests/unittests/test_memory_operations.py +0 -0
- {flock_core-0.3.16 → flock_core-0.3.17}/tests/unittests/test_memory_store.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.17
|
|
4
4
|
Summary: Declarative LLM Orchestration at Scale
|
|
5
5
|
Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -8,6 +8,7 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
8
8
|
Classifier: Operating System :: OS Independent
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
|
+
Requires-Dist: azure-search-documents>=11.5.2
|
|
11
12
|
Requires-Dist: chromadb>=0.6.3
|
|
12
13
|
Requires-Dist: cloudpickle>=3.1.1
|
|
13
14
|
Requires-Dist: devtools>=0.12.2
|
|
@@ -29,6 +30,7 @@ Requires-Dist: prometheus-client>=0.21.1
|
|
|
29
30
|
Requires-Dist: pydantic>=2.10.5
|
|
30
31
|
Requires-Dist: python-box>=7.3.2
|
|
31
32
|
Requires-Dist: python-decouple>=3.8
|
|
33
|
+
Requires-Dist: python-dotenv>=1.0.1
|
|
32
34
|
Requires-Dist: questionary>=2.1.0
|
|
33
35
|
Requires-Dist: rich>=13.9.4
|
|
34
36
|
Requires-Dist: sentence-transformers>=3.4.1
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Azure Search Tools
|
|
2
|
+
|
|
3
|
+
Flock provides a set of tools for seamless integration with [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/), allowing you to leverage powerful vector search and document retrieval capabilities in your AI agents.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Azure AI Search (formerly Azure Cognitive Search) is a cloud search service that gives developers APIs and tools for building rich search experiences over private, heterogeneous content in web, mobile, and enterprise applications. In Flock, we've provided tools to easily interact with Azure AI Search, allowing your agents to store, search, and retrieve information using both text and vector embeddings.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- Create and manage search indexes
|
|
12
|
+
- Upload and manage documents
|
|
13
|
+
- Perform text-based and vector-based searches
|
|
14
|
+
- Retrieve detailed index statistics
|
|
15
|
+
- Delete documents and manage content
|
|
16
|
+
|
|
17
|
+
## Environment Configuration
|
|
18
|
+
|
|
19
|
+
The Azure Search tools rely on environment variables for configuration:
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
# Required environment variables
|
|
23
|
+
AZURE_SEARCH_ENDPOINT # The endpoint URL for your Azure AI Search service
|
|
24
|
+
AZURE_SEARCH_API_KEY # The API key for your Azure AI Search service
|
|
25
|
+
AZURE_SEARCH_INDEX_NAME # Optional: A default index name to use
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Available Tools
|
|
29
|
+
|
|
30
|
+
### Initialization
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
from flock.core.tools.azure_tools import azure_search_initialize_clients
|
|
34
|
+
|
|
35
|
+
# Initialize clients (uses environment variables by default)
|
|
36
|
+
clients = azure_search_initialize_clients()
|
|
37
|
+
|
|
38
|
+
# Or specify endpoints manually
|
|
39
|
+
clients = azure_search_initialize_clients(
|
|
40
|
+
endpoint="https://your-service.search.windows.net",
|
|
41
|
+
api_key="your-api-key",
|
|
42
|
+
index_name="your-index-name"
|
|
43
|
+
)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Index Management
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from flock.core.tools.azure_tools import (
|
|
50
|
+
azure_search_create_index,
|
|
51
|
+
azure_search_list_indexes,
|
|
52
|
+
azure_search_get_index_statistics
|
|
53
|
+
)
|
|
54
|
+
from azure.search.documents.indexes.models import (
|
|
55
|
+
SearchField,
|
|
56
|
+
SearchFieldDataType,
|
|
57
|
+
SimpleField,
|
|
58
|
+
SearchableField
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
# Create fields for the index
|
|
62
|
+
fields = [
|
|
63
|
+
SimpleField(name="id", type=SearchFieldDataType.String, key=True),
|
|
64
|
+
SearchableField(name="title", type=SearchFieldDataType.String),
|
|
65
|
+
SearchableField(name="content", type=SearchFieldDataType.String)
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
# Create index
|
|
69
|
+
result = azure_search_create_index(
|
|
70
|
+
index_name="my-index",
|
|
71
|
+
fields=fields
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
# List all indexes
|
|
75
|
+
indexes = azure_search_list_indexes()
|
|
76
|
+
|
|
77
|
+
# Get index statistics
|
|
78
|
+
stats = azure_search_get_index_statistics(index_name="my-index")
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Vector Search Index Creation
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
from flock.core.tools.azure_tools import azure_search_create_vector_index
|
|
85
|
+
|
|
86
|
+
# Create a vector index
|
|
87
|
+
fields = [
|
|
88
|
+
{"name": "id", "type": "string", "key": True},
|
|
89
|
+
{"name": "title", "type": "string", "searchable": True},
|
|
90
|
+
{"name": "content", "type": "string", "searchable": True},
|
|
91
|
+
{"name": "embedding", "type": "collection", "vector": True}
|
|
92
|
+
]
|
|
93
|
+
|
|
94
|
+
result = azure_search_create_vector_index(
|
|
95
|
+
fields=fields,
|
|
96
|
+
vector_dimensions=1536, # Dimensions for your vector embeddings
|
|
97
|
+
index_name="vector-index",
|
|
98
|
+
algorithm_kind="hnsw" # Using HNSW algorithm for vector search
|
|
99
|
+
)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Document Management
|
|
103
|
+
|
|
104
|
+
```python
|
|
105
|
+
from flock.core.tools.azure_tools import (
|
|
106
|
+
azure_search_upload_documents,
|
|
107
|
+
azure_search_get_document,
|
|
108
|
+
azure_search_delete_documents
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
# Upload documents
|
|
112
|
+
documents = [
|
|
113
|
+
{
|
|
114
|
+
"id": "doc1",
|
|
115
|
+
"title": "Sample Document",
|
|
116
|
+
"content": "This is a sample document for Azure Search."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"id": "doc2",
|
|
120
|
+
"title": "Another Document",
|
|
121
|
+
"content": "This is another sample document."
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
|
|
125
|
+
upload_result = azure_search_upload_documents(
|
|
126
|
+
documents=documents,
|
|
127
|
+
index_name="my-index"
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
# Get a specific document
|
|
131
|
+
document = azure_search_get_document(
|
|
132
|
+
key="doc1",
|
|
133
|
+
index_name="my-index"
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
# Delete documents
|
|
137
|
+
delete_result = azure_search_delete_documents(
|
|
138
|
+
keys=["doc1", "doc2"],
|
|
139
|
+
index_name="my-index"
|
|
140
|
+
)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Search and Query
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
from flock.core.tools.azure_tools import azure_search_query
|
|
147
|
+
|
|
148
|
+
# Text-based search
|
|
149
|
+
results = azure_search_query(
|
|
150
|
+
search_text="sample",
|
|
151
|
+
index_name="my-index"
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
# Filter-based search
|
|
155
|
+
filtered_results = azure_search_query(
|
|
156
|
+
filter="id eq 'doc1'",
|
|
157
|
+
index_name="my-index"
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
# Vector search (for vector indexes)
|
|
161
|
+
vector = [0.1, 0.2, 0.3, ...] # Your vector embedding
|
|
162
|
+
vector_results = azure_search_query(
|
|
163
|
+
vector=vector,
|
|
164
|
+
vector_field="embedding",
|
|
165
|
+
vector_k=10, # Return top 10 results
|
|
166
|
+
index_name="vector-index"
|
|
167
|
+
)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Integration with Agents
|
|
171
|
+
|
|
172
|
+
Azure Search tools can be easily integrated with your Flock agents to provide powerful retrieval capabilities:
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
from flock import Flock, FlockFactory
|
|
176
|
+
from flock.core.tools.azure_tools import (
|
|
177
|
+
azure_search_query,
|
|
178
|
+
azure_search_upload_documents
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
# Create an agent with access to Azure Search tools
|
|
182
|
+
agent = FlockFactory.create_default_agent(
|
|
183
|
+
name="search_agent",
|
|
184
|
+
input="search_query",
|
|
185
|
+
output="search_results",
|
|
186
|
+
tools=[azure_search_query]
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
# Create a document management agent
|
|
190
|
+
upload_agent = FlockFactory.create_default_agent(
|
|
191
|
+
name="upload_agent",
|
|
192
|
+
input="documents_to_upload",
|
|
193
|
+
output="upload_status",
|
|
194
|
+
tools=[azure_search_upload_documents]
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
# Add to Flock
|
|
198
|
+
flock = Flock()
|
|
199
|
+
flock.add_agent(agent)
|
|
200
|
+
flock.add_agent(upload_agent)
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Best Practices
|
|
204
|
+
|
|
205
|
+
1. **Environment Variables**: Use environment variables for sensitive information like API keys.
|
|
206
|
+
2. **Error Handling**: Implement proper error handling when using these tools, as network requests can sometimes fail.
|
|
207
|
+
3. **Batching**: When uploading large numbers of documents, consider batching them in groups of 100-1000.
|
|
208
|
+
4. **Indexing Delay**: Allow a small delay (1-2 seconds) after uploading documents before searching them to ensure indexing is complete.
|
|
209
|
+
5. **Vector Dimensions**: Ensure your vector dimensions match between your embeddings and the index configuration.
|
|
210
|
+
|
|
211
|
+
## Limitations
|
|
212
|
+
|
|
213
|
+
- The maximum number of documents that can be uploaded in a single request is 1000.
|
|
214
|
+
- Vector search requires the appropriate SKU tier in Azure AI Search.
|
|
215
|
+
- Certain operations may have rate limits depending on your Azure service tier.
|
|
216
|
+
|
|
217
|
+
## Further Resources
|
|
218
|
+
|
|
219
|
+
- [Azure AI Search Documentation](https://docs.microsoft.com/en-us/azure/search/)
|
|
220
|
+
- [Vector Search in Azure AI Search](https://learn.microsoft.com/en-us/azure/search/vector-search-overview)
|
|
221
|
+
- [Azure Python SDK Documentation](https://docs.microsoft.com/en-us/python/api/overview/azure/search-documents-readme?view=azure-python)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Tools Overview
|
|
2
|
+
|
|
3
|
+
Flock provides a variety of tools that agents can use to interact with external systems, access specialized capabilities, and extend their functionality beyond language processing.
|
|
4
|
+
|
|
5
|
+
## What Are Tools?
|
|
6
|
+
|
|
7
|
+
In Flock, tools are functions that agents can invoke to perform specific tasks. Unlike the agent's core language capabilities, tools allow agents to:
|
|
8
|
+
|
|
9
|
+
- Access external data sources and APIs
|
|
10
|
+
- Perform specialized calculations or operations
|
|
11
|
+
- Interact with services like databases, search engines, or vector stores
|
|
12
|
+
- Execute custom business logic
|
|
13
|
+
|
|
14
|
+
Tools are designed to be modular and composable, allowing you to give your agents exactly the capabilities they need for their specific tasks.
|
|
15
|
+
|
|
16
|
+
## Available Tool Categories
|
|
17
|
+
|
|
18
|
+
Flock includes several categories of built-in tools:
|
|
19
|
+
|
|
20
|
+
1. **Search and Retrieval Tools**
|
|
21
|
+
- Azure AI Search tools for document and vector search
|
|
22
|
+
- (More coming soon)
|
|
23
|
+
|
|
24
|
+
2. **Utility Tools**
|
|
25
|
+
- Math operations
|
|
26
|
+
- Data processing
|
|
27
|
+
- File operations
|
|
28
|
+
|
|
29
|
+
3. **Integration Tools**
|
|
30
|
+
- External API connectors
|
|
31
|
+
- Service integrations
|
|
32
|
+
|
|
33
|
+
## Using Tools with Agents
|
|
34
|
+
|
|
35
|
+
Tools can be assigned to agents during creation:
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
from flock import FlockFactory
|
|
39
|
+
from flock.core.tools.azure_tools import azure_search_query
|
|
40
|
+
|
|
41
|
+
# Create an agent with access to the Azure Search query tool
|
|
42
|
+
agent = FlockFactory.create_default_agent(
|
|
43
|
+
name="search_agent",
|
|
44
|
+
input="query",
|
|
45
|
+
output="results",
|
|
46
|
+
tools=[azure_search_query]
|
|
47
|
+
)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Agents can then use these tools during their execution cycle, calling them as needed to fulfill their tasks.
|
|
51
|
+
|
|
52
|
+
## Creating Custom Tools
|
|
53
|
+
|
|
54
|
+
You can easily create custom tools for your specific needs:
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from flock.core.logging.trace_and_logged import traced_and_logged
|
|
58
|
+
|
|
59
|
+
@traced_and_logged
|
|
60
|
+
def my_custom_tool(param1: str, param2: int = 0) -> dict:
|
|
61
|
+
"""
|
|
62
|
+
A custom tool that performs a specific task.
|
|
63
|
+
|
|
64
|
+
Args:
|
|
65
|
+
param1: The first parameter
|
|
66
|
+
param2: The second parameter with default value
|
|
67
|
+
|
|
68
|
+
Returns:
|
|
69
|
+
A dictionary with the results
|
|
70
|
+
"""
|
|
71
|
+
# Your tool implementation here
|
|
72
|
+
result = {"status": "success", "value": f"{param1} processed with {param2}"}
|
|
73
|
+
return result
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Key points for creating effective tools:
|
|
77
|
+
|
|
78
|
+
1. Use the `@traced_and_logged` decorator for proper tracing and logging
|
|
79
|
+
2. Provide clear type hints for parameters and return values
|
|
80
|
+
3. Write descriptive docstrings explaining what the tool does
|
|
81
|
+
4. Handle errors gracefully within the tool implementation
|
|
82
|
+
5. Return structured data that agents can easily process
|
|
83
|
+
|
|
84
|
+
## Tool Best Practices
|
|
85
|
+
|
|
86
|
+
1. **Error Handling**: Implement proper error handling within tools to prevent agent failures
|
|
87
|
+
2. **Tool Composition**: Design tools to be composable so they can be combined for complex workflows
|
|
88
|
+
3. **Parameter Validation**: Validate parameters within tools to prevent incorrect usage
|
|
89
|
+
4. **Documentation**: Clearly document what each tool does, its parameters, and return values
|
|
90
|
+
5. **Security**: Be mindful of security implications, especially for tools that access external systems
|
|
91
|
+
|
|
92
|
+
## Next Steps
|
|
93
|
+
|
|
94
|
+
- Explore specific tool implementations in detail in their respective documentation pages
|
|
95
|
+
- Learn how to create your own custom tools tailored to your specific use cases
|
|
96
|
+
- See examples of tools in action in the Tutorials section
|
|
@@ -83,6 +83,8 @@ web_agent = FlockFactory.create_default_agent(
|
|
|
83
83
|
)
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
+
For more advanced capabilities, Flock provides specialized tools like [Azure Search integration](../core-concepts/tools/azure-tools.md) for powerful vector search and document retrieval. Check out the [Tools Overview](../core-concepts/tools/overview.md) for a comprehensive list of available tools.
|
|
87
|
+
|
|
86
88
|
### Modules
|
|
87
89
|
|
|
88
90
|
Modules add capabilities to your agents through lifecycle hooks:
|
|
@@ -71,6 +71,7 @@ Like a hummingbird, modules are small and nimble code packages. Put enough of th
|
|
|
71
71
|
- **Output Module** – Advanced output formatting and storage
|
|
72
72
|
- **Metrics Module** – Detailed performance tracking
|
|
73
73
|
- **Zep Module** – Uses Zep for Knowledge Graphs
|
|
74
|
+
- **Azure Search Tools** – Integration with Azure AI Search for vector search and document retrieval
|
|
74
75
|
|
|
75
76
|
---
|
|
76
77
|
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Azure AI Search Tools Example with Flock Agent Framework
|
|
3
|
+
|
|
4
|
+
This example demonstrates how to use Azure AI Search tools within the Flock agent framework.
|
|
5
|
+
It creates agents that can:
|
|
6
|
+
1. Create a search index
|
|
7
|
+
2. Upload documents to the index
|
|
8
|
+
3. Query the index with both text and filter criteria
|
|
9
|
+
4. Process and summarize search results
|
|
10
|
+
|
|
11
|
+
Requirements:
|
|
12
|
+
- Set the following environment variables:
|
|
13
|
+
- AZURE_SEARCH_ENDPOINT: Your Azure AI Search service endpoint URL
|
|
14
|
+
- AZURE_SEARCH_API_KEY: Your Azure AI Search API key
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
import os
|
|
18
|
+
import time
|
|
19
|
+
import uuid
|
|
20
|
+
import json
|
|
21
|
+
from dotenv import load_dotenv
|
|
22
|
+
|
|
23
|
+
from flock.core import Flock, FlockFactory
|
|
24
|
+
from flock.core.logging.formatters.themes import OutputTheme
|
|
25
|
+
from flock.core.tools.azure_tools import (
|
|
26
|
+
azure_search_initialize_clients,
|
|
27
|
+
azure_search_create_index,
|
|
28
|
+
azure_search_upload_documents,
|
|
29
|
+
azure_search_query,
|
|
30
|
+
azure_search_get_document,
|
|
31
|
+
azure_search_delete_documents,
|
|
32
|
+
azure_search_list_indexes,
|
|
33
|
+
azure_search_get_index_statistics
|
|
34
|
+
)
|
|
35
|
+
from flock.core.tools import basic_tools
|
|
36
|
+
|
|
37
|
+
# Load environment variables from .env file
|
|
38
|
+
load_dotenv()
|
|
39
|
+
|
|
40
|
+
# Make sure Azure Search credentials are set
|
|
41
|
+
if not os.environ.get("AZURE_SEARCH_ENDPOINT") or not os.environ.get("AZURE_SEARCH_API_KEY"):
|
|
42
|
+
raise ValueError(
|
|
43
|
+
"Please set AZURE_SEARCH_ENDPOINT and AZURE_SEARCH_API_KEY environment variables"
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
# Create a unique index name for this example
|
|
47
|
+
timestamp = int(time.time())
|
|
48
|
+
random_id = str(uuid.uuid4())[:8]
|
|
49
|
+
INDEX_NAME = f"flock-example-{timestamp}-{random_id}"
|
|
50
|
+
os.environ["AZURE_SEARCH_INDEX_NAME"] = INDEX_NAME
|
|
51
|
+
|
|
52
|
+
# --------------------------------
|
|
53
|
+
# Create the flock
|
|
54
|
+
# --------------------------------
|
|
55
|
+
flock = Flock()
|
|
56
|
+
|
|
57
|
+
# --------------------------------
|
|
58
|
+
# Define our agents
|
|
59
|
+
# --------------------------------
|
|
60
|
+
|
|
61
|
+
# 1. Index Creator Agent
|
|
62
|
+
# This agent creates a search index with appropriate schema
|
|
63
|
+
index_creator = FlockFactory.create_default_agent(
|
|
64
|
+
name="index_creator",
|
|
65
|
+
input="index_requirements",
|
|
66
|
+
output="created_index_details",
|
|
67
|
+
tools=[
|
|
68
|
+
azure_search_create_index,
|
|
69
|
+
basic_tools.code_eval,
|
|
70
|
+
basic_tools.json_parse_safe
|
|
71
|
+
],
|
|
72
|
+
enable_rich_tables=True,
|
|
73
|
+
output_theme=OutputTheme.adventuretime,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
# 2. Document Uploader Agent
|
|
77
|
+
# This agent uploads sample documents to the search index
|
|
78
|
+
document_uploader = FlockFactory.create_default_agent(
|
|
79
|
+
name="document_uploader",
|
|
80
|
+
input="created_index_details, documents_to_upload",
|
|
81
|
+
output="upload_results",
|
|
82
|
+
tools=[
|
|
83
|
+
azure_search_upload_documents,
|
|
84
|
+
basic_tools.code_eval,
|
|
85
|
+
basic_tools.json_parse_safe
|
|
86
|
+
],
|
|
87
|
+
enable_rich_tables=True,
|
|
88
|
+
output_theme=OutputTheme.adventuretime,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
# 3. Search Agent
|
|
92
|
+
# This agent searches the index and processes results
|
|
93
|
+
search_agent = FlockFactory.create_default_agent(
|
|
94
|
+
name="search_agent",
|
|
95
|
+
input="upload_results, search_query, filter_criteria",
|
|
96
|
+
output="search_results: dict, relevant_documents: list, summary: str",
|
|
97
|
+
tools=[
|
|
98
|
+
azure_search_query,
|
|
99
|
+
azure_search_get_document,
|
|
100
|
+
basic_tools.code_eval,
|
|
101
|
+
basic_tools.json_parse_safe
|
|
102
|
+
],
|
|
103
|
+
enable_rich_tables=True,
|
|
104
|
+
output_theme=OutputTheme.adventuretime,
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
# 4. Cleanup Agent (optional)
|
|
108
|
+
# This agent gets statistics and can delete documents if needed
|
|
109
|
+
cleanup_agent = FlockFactory.create_default_agent(
|
|
110
|
+
name="cleanup_agent",
|
|
111
|
+
input="search_results",
|
|
112
|
+
output="index_statistics: dict, cleanup_recommendation: str",
|
|
113
|
+
tools=[
|
|
114
|
+
azure_search_get_index_statistics,
|
|
115
|
+
azure_search_list_indexes,
|
|
116
|
+
azure_search_delete_documents,
|
|
117
|
+
basic_tools.code_eval
|
|
118
|
+
],
|
|
119
|
+
enable_rich_tables=True,
|
|
120
|
+
output_theme=OutputTheme.adventuretime,
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
# --------------------------------
|
|
124
|
+
# Configure agent flow
|
|
125
|
+
# --------------------------------
|
|
126
|
+
# Set up the agent sequence:
|
|
127
|
+
# index_creator -> document_uploader -> search_agent -> cleanup_agent
|
|
128
|
+
from flock.routers.default.default_router import DefaultRouter, DefaultRouterConfig
|
|
129
|
+
|
|
130
|
+
index_creator.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=document_uploader.name))
|
|
131
|
+
document_uploader.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=search_agent.name))
|
|
132
|
+
search_agent.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=cleanup_agent.name))
|
|
133
|
+
|
|
134
|
+
# Add all agents to the flock
|
|
135
|
+
flock.add_agent(index_creator)
|
|
136
|
+
flock.add_agent(document_uploader)
|
|
137
|
+
flock.add_agent(search_agent)
|
|
138
|
+
flock.add_agent(cleanup_agent)
|
|
139
|
+
|
|
140
|
+
# --------------------------------
|
|
141
|
+
# Define sample data
|
|
142
|
+
# --------------------------------
|
|
143
|
+
# Define our sample documents
|
|
144
|
+
sample_documents = [
|
|
145
|
+
{
|
|
146
|
+
"id": "doc1",
|
|
147
|
+
"title": "Azure AI Search Overview",
|
|
148
|
+
"content": "Azure AI Search is a cloud search service with built-in AI capabilities.",
|
|
149
|
+
"category": "cloud",
|
|
150
|
+
"rating": 5
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"id": "doc2",
|
|
154
|
+
"title": "Python Development Best Practices",
|
|
155
|
+
"content": "Write clean, maintainable Python code by following established best practices.",
|
|
156
|
+
"category": "development",
|
|
157
|
+
"rating": 4
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": "doc3",
|
|
161
|
+
"title": "Azure and Python Integration",
|
|
162
|
+
"content": "Learn how to use Azure services with Python applications effectively.",
|
|
163
|
+
"category": "cloud",
|
|
164
|
+
"rating": 5
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": "doc4",
|
|
168
|
+
"title": "Search Engine Optimization",
|
|
169
|
+
"content": "Improve your website's visibility in search engine results pages.",
|
|
170
|
+
"category": "marketing",
|
|
171
|
+
"rating": 3
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"id": "doc5",
|
|
175
|
+
"title": "Machine Learning on Azure",
|
|
176
|
+
"content": "Train and deploy machine learning models using Azure ML.",
|
|
177
|
+
"category": "ai",
|
|
178
|
+
"rating": 5
|
|
179
|
+
}
|
|
180
|
+
]
|
|
181
|
+
|
|
182
|
+
# Define index requirements
|
|
183
|
+
index_requirements = """
|
|
184
|
+
Create a search index with the following fields:
|
|
185
|
+
- id: string, key field
|
|
186
|
+
- title: string, searchable, sortable
|
|
187
|
+
- content: string, searchable
|
|
188
|
+
- category: string, filterable
|
|
189
|
+
- rating: integer, filterable, sortable
|
|
190
|
+
|
|
191
|
+
The index name should be dynamically set from the AZURE_SEARCH_INDEX_NAME environment variable.
|
|
192
|
+
"""
|
|
193
|
+
|
|
194
|
+
# --------------------------------
|
|
195
|
+
# Run the flock
|
|
196
|
+
# --------------------------------
|
|
197
|
+
# Start the agent workflow
|
|
198
|
+
flock.run(
|
|
199
|
+
start_agent=index_creator,
|
|
200
|
+
input={
|
|
201
|
+
"index_requirements": index_requirements,
|
|
202
|
+
"documents_to_upload": json.dumps(sample_documents),
|
|
203
|
+
"search_query": "Azure cloud capabilities",
|
|
204
|
+
"filter_criteria": "rating eq 5"
|
|
205
|
+
}
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
# --------------------------------
|
|
209
|
+
# Cleanup
|
|
210
|
+
# --------------------------------
|
|
211
|
+
# Delete the test index after running the example
|
|
212
|
+
print(f"\nCleaning up: Deleting index '{INDEX_NAME}'...")
|
|
213
|
+
try:
|
|
214
|
+
clients = azure_search_initialize_clients()
|
|
215
|
+
index_client = clients["index_client"]
|
|
216
|
+
index_client.delete_index(INDEX_NAME)
|
|
217
|
+
print(f"Index '{INDEX_NAME}' deleted successfully.")
|
|
218
|
+
except Exception as e:
|
|
219
|
+
print(f"Warning: Failed to delete test index '{INDEX_NAME}': {e}")
|
|
220
|
+
|
|
221
|
+
print("\nExample completed!")
|
|
Binary file
|