flock-core 0.4.0b46__tar.gz → 0.4.0b49__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.4.0b49/.github/ISSUE_TEMPLATE/bug_report.yaml +27 -0
- flock_core-0.4.0b49/.github/ISSUE_TEMPLATE/feature_request.yaml +29 -0
- flock_core-0.4.0b49/.github/PULL_REQUEST_TEMPLATE.yaml +45 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/PKG-INFO +27 -14
- flock_core-0.4.0b49/SECURITY.md +42 -0
- flock_core-0.4.0b49/main.md +54 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/pyproject.toml +31 -10
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/__init__.py +45 -3
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/flock.py +105 -61
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/flock_registry.py +45 -38
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/util/spliter.py +4 -0
- flock_core-0.4.0b49/src/flock/evaluators/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/evaluators/declarative/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/assertion/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/callback/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/mem0/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/mem0/mem0_module.py +63 -0
- flock_core-0.4.0b49/src/flock/modules/mem0graph/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/mem0graph/mem0_graph_module.py +63 -0
- flock_core-0.4.0b49/src/flock/modules/memory/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/output/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/modules/performance/__init__.py +1 -0
- flock_core-0.4.0b49/src/flock/tools/__init__.py +188 -0
- {flock_core-0.4.0b46/src/flock/core → flock_core-0.4.0b49/src/flock}/tools/azure_tools.py +284 -0
- flock_core-0.4.0b49/src/flock/tools/code_tools.py +56 -0
- flock_core-0.4.0b49/src/flock/tools/file_tools.py +140 -0
- flock_core-0.4.0b46/src/flock/core/tools/dev_tools/github.py → flock_core-0.4.0b49/src/flock/tools/github_tools.py +3 -3
- {flock_core-0.4.0b46/src/flock/core → flock_core-0.4.0b49/src/flock}/tools/markdown_tools.py +14 -4
- flock_core-0.4.0b49/src/flock/tools/system_tools.py +9 -0
- flock_core-0.4.0b46/src/flock/core/tools/llm_tools.py → flock_core-0.4.0b49/src/flock/tools/text_tools.py +47 -25
- flock_core-0.4.0b49/src/flock/tools/web_tools.py +90 -0
- {flock_core-0.4.0b46/src/flock/core → flock_core-0.4.0b49/src/flock}/tools/zendesk_tools.py +6 -6
- flock_core-0.4.0b49/src/flock/webapp/app/api/execution.py +264 -0
- flock_core-0.4.0b49/src/flock/webapp/app/chat.py +520 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/config.py +15 -1
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/dependencies.py +22 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/main.py +509 -18
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/services/flock_service.py +38 -13
- flock_core-0.4.0b49/src/flock/webapp/app/services/sharing_models.py +43 -0
- flock_core-0.4.0b49/src/flock/webapp/app/services/sharing_store.py +156 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/static/css/chat.css +57 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/chat.html +29 -4
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_chat_messages.html +1 -1
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_chat_settings_form.html +22 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_execution_form.html +28 -1
- flock_core-0.4.0b49/src/flock/webapp/templates/partials/_share_chat_link_snippet.html +11 -0
- flock_core-0.4.0b49/src/flock/webapp/templates/partials/_share_link_snippet.html +35 -0
- flock_core-0.4.0b49/src/flock/webapp/templates/shared_run_page.html +116 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/workflow/activities.py +1 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/tools/test_zendesk_tools.py +4 -4
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/uv.lock +703 -60
- flock_core-0.4.0b46/.github/ISSUE_TEMPLATE/bug_report.md +0 -24
- flock_core-0.4.0b46/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
- flock_core-0.4.0b46/.github/PULL_REQUEST_TEMPLATE.md +0 -17
- flock_core-0.4.0b46/src/flock/core/tools/basic_tools.py +0 -317
- flock_core-0.4.0b46/src/flock/modules/zep/zep_module.py +0 -187
- flock_core-0.4.0b46/src/flock/webapp/app/api/execution.py +0 -164
- flock_core-0.4.0b46/src/flock/webapp/app/chat.py +0 -233
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.devcontainer/devcontainer.json +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.env_template +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.github/ISSUE_TEMPLATE/vulnerability_report.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.github/workflows/.gitkeep +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.github/workflows/deploy-documentation.yml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.gitignore +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.gitmodules +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.vscode/launch.json +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.vscode/settings.json +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/.vscode/tasks.json +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/CODE_OF_CONDUCT.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/CONTRIBUTING.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/LICENSE +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/README.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/about/changelog.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/about/contributing.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/drawio/architecture.drawio +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/cli_outputs/out.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/components_chart.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/examples/01_01.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/examples/01_02.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/examples/01_03.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/examples/01_04.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/examples/01_05.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/examples/01_06.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/flock.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/flock_cli.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/flow_chart.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/getting-started/first_agent_00.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/hummingbird.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/icon.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/icon.png~ +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/logo.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/memory_concepts.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/memory_flow.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/assets/images/memory_flow_chart.png +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/components/evaluators.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/components/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/components/modules.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/components/tools.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/core-concepts/agents.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/core-concepts/declarative.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/core-concepts/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/core-concepts/workflows.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/create_doc_boilerplate.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/deployment/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/deployment/temporal.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/getting-started/concepts.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/getting-started/configuration.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/getting-started/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/getting-started/installation.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/getting-started/quickstart.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/guides/chaining-agents.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/guides/custom-endpoints.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/guides/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/guides/temporal-configuration.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/interacting-with-flock/cli-tool.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/interacting-with-flock/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/interacting-with-flock/interactive-cli.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/interacting-with-flock/programmatic.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/interacting-with-flock/rest-api.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/interacting-with-flock/web-ui.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/reference/flock_agent.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/reference/index.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/release-notes/magpie.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/docs/stylesheets/extra.css +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/mkdocs.yml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/requirements.txt +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/scripts/code_collector.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/scripts/create_docs.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/scripts/ensure_uv.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/assets/release_notes.md +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/config.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/constants.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/create_agent.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/create_flock.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/execute_flock.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/load_agent.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/load_examples.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/load_flock.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/load_release_notes.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/loaded_flock_cli.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/manage_agents.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/registry_management.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/runner.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/settings.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/utils.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/view_results.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/cli/yaml_editor.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/config.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/custom_endpoint.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/endpoints.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/main.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/models.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/run_store.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/runner.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/service.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/ui/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/ui/routes.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/api/ui/utils.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/context/context.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/context/context_manager.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/context/context_vars.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/evaluation/utils.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/execution/batch_executor.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/execution/evaluation_executor.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/execution/local_executor.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/execution/temporal_executor.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/flock_agent.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/flock_evaluator.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/flock_factory.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/flock_module.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/flock_router.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/interpreter/python_interpreter.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/formatters/enum_builder.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/formatters/theme_builder.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/formatters/themes.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/logging.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/telemetry.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/logging/trace_and_logged.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/mixin/dspy_integration.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/mixin/prompt_parser.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/serialization/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/serialization/callable_registry.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/serialization/flock_serializer.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/serialization/json_encoder.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/serialization/secure_serializer.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/serialization/serializable.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/serialization/serialization_utils.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/util/cli_helper.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/util/file_path_utils.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/util/hydrator.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/util/input_resolver.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/core/util/loader.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/evaluators/test/test_case_evaluator.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/modules/assertion/assertion_module.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/modules/callback/callback_module.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/modules/memory/memory_module.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/modules/memory/memory_parser.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/modules/memory/memory_storage.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/modules/output/output_module.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/modules/performance/metrics_module.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/platform/docker_tools.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/platform/jaeger_install.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/agent/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/agent/agent_router.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/agent/handoff_agent.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/conditional/conditional_router.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/default/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/default/default_router.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/feedback/feedback_router.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/list_generator/list_generator_router.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/llm/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/routers/llm/llm_router.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/3024-day.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/3024-night.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/aardvark-blue.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/abernathy.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/adventure.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/adventuretime.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/afterglow.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/alabaster.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/alienblood.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/andromeda.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/apple-classic.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/apple-system-colors.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/arcoiris.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/argonaut copy.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/argonaut.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/arthur.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ateliersulphurpool.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/atom.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/atom_test.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/atomonelight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/aurora.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ayu copy.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ayu-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ayu-mirage.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ayu.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/banana-blueberry.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/batman.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/belafonte-day.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/belafonte-night.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/birdsofparadise.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/blazer.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/blue-matrix.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/blueberrypie.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/bluedolphin.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/blulocodark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/blulocolight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/borland.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/breeze.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/bright-lights.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/broadcast.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/brogrammer.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/builtin-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/builtin-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/builtin-pastel-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/builtin-solarized-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/builtin-solarized-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/builtin-tango-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/builtin-tango-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/c64.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/calamity.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/catppuccin-frappe.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/catppuccin-latte.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/catppuccin-macchiato.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/catppuccin-mocha.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/cga.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/chalk.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/chalkboard.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/challengerdeep.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/chester.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ciapre.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/clrs.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/cobalt-neon.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/cobalt2.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/coffee-theme.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/crayonponyfish.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/cutiepro.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/cyberdyne.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/cyberpunk.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dark+.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dark-pastel.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/darkermatrix.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/darkmatrix.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/darkside.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dayfox.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/deep.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/desert.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dimidium.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dimmedmonokai.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/django.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/djangorebornagain.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/djangosmooth.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/doom-peacock.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/doomone.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dotgov.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dracula+.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/dracula.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/duckbones.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/duotone-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/earthsong.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/elemental.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/elementary.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/encom.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/espresso-libre.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/espresso.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/everblush.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/fahrenheit.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/fairyfloss.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/farmhouse-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/farmhouse-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/fideloper.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/firefly-traditional.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/firefoxdev.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/firewatch.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/fishtank.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/flat.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/flatland.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/flexoki-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/flexoki-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/floraverse.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/forestblue.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/framer.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/frontenddelight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/funforrest.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/galaxy.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/galizur.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/github-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/github.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/glacier.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/grape.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/grass.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/grey-green.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/gruber-darker.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/gruvboxdark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/gruvboxdarkhard.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/gruvboxlight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/guezwhoz.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hacktober.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hardcore.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/harper.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hax0r-blue.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hax0r-gr33n.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hax0r-r3d.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/highway.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hipster-green.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hivacruz.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/homebrew.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hopscotch.256.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hopscotch.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hurtado.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/hybrid.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ic-green-ppl.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ic-orange-ppl.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iceberg-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iceberg-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/idea.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/idletoes.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ir-black.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-dark-background.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-default.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-light-background.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-smoooooth.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-solarized-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-tango-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/iterm2-tango-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/jackie-brown.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/japanesque.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/jellybeans.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/jetbrains-darcula.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/jubi.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/kanagawabones.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/kibble.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/kolorit.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/konsolas.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/kurokula.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/lab-fox.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/laser.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/later-this-evening.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/lavandula.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/liquidcarbon.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/liquidcarbontransparent.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/lovelace.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/man-page.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/mariana.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/material.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/materialdark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/materialdarker.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/materialdesigncolors.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/materialocean.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/mathias.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/matrix.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/medallion.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/mellifluous.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/midnight-in-mojave.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/mirage.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/misterioso.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/molokai.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/monalisa.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/monokai-remastered.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/monokai-soda.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/monokai-vivid.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/n0tch2k.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/neobones-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/neobones-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/neon.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/neopolitan.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/neutron.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/night-owlish-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nightfox.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nightlion-v1.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nightlion-v2.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/niji.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nocturnal-winter.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nord-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nord.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/novel.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nvimdark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/nvimlight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/obsidian.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ocean.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/oceanic-next.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/oceanicmaterial.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ollie.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/onehalfdark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/onehalflight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/operator-mono-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/overnight-slumber.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/oxocarbon.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/palenighthc.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/pandora.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/paraiso-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/paulmillr.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/pencildark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/pencillight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/peppermint.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/piatto-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/pnevma.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/popping-and-locking.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/primary.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/pro-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/pro.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/purple-rain.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/purplepeter.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/rapture.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/raycast-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/raycast-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/rebecca.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/red-alert.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/red-planet.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/red-sands.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/relaxed.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/retro.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/rippedcasts.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/rose-pine-dawn.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/rose-pine-moon.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/rose-pine.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/rouge-2.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/royal.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ryuuko.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/sakura.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/scarlet-protocol.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/seafoam-pastel.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/seashells.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/seoulbones-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/seoulbones-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/seti.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/shades-of-purple.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/shaman.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/slate.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/sleepyhollow.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/smyck.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/snazzy.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/softserver.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/solarized-darcula.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/solarized-dark---patched.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/spacedust.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/spacegray-eighties.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/spacegray.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/spiderman.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/spring.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/square.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/sublette.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/subliminal.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/sugarplum.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/sundried.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/symfonic.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/synthwave-everything.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/synthwave.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/synthwavealpha.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tango-adapted.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tango-half-adapted.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/teerb.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/terafox.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/terminal-basic.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/thayer-bright.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/the-hulk.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tinacious-design-(dark).toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tinacious-design-(light).toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tokyonight-day.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tokyonight-storm.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tokyonight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tomorrow-night-blue.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tomorrow-night-bright.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tomorrow-night-burns.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tomorrow-night.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/tomorrow.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/toychest.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/treehouse.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/twilight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ubuntu.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ultradark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/ultraviolent.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/underthesea.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/unikitty.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/urple.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/vaughn.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/vesper.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/vibrantink.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/vimbones.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/violet-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/violet-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/warmneon.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/wez.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/whimsy.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/wildcherry.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/wilmersdorf.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/wombat.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/wryan.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/xcodedark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/xcodedarkhc.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/xcodelight.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/xcodelighthc.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/xcodewwdc.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/zenbones-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/zenbones-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/zenbones.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/zenburn.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/zenburned.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/zenwritten-dark.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/themes/zenwritten-light.toml +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/api/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/api/agent_management.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/api/flock_management.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/api/registry_viewer.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/models_ui.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/services/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/templates/theme_mapper.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/theme_mapper.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/app/utils.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/run.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/static/css/components.css +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/static/css/header.css +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/static/css/layout.css +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/static/css/sidebar.css +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/base.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/chat_settings.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/flock_editor.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/index.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_agent_detail_form.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_agent_list.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_agent_manager_view.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_agent_tools_checklist.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_chat_container.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_create_flock_form.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_dashboard_flock_detail.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_dashboard_flock_file_list.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_dashboard_upload_flock_form.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_dynamic_input_form_content.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_env_vars_table.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_execution_view_container.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_flock_file_list.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_flock_properties_form.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_flock_upload_form.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_header_flock_status.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_load_manager_view.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_registry_table.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_registry_viewer_content.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_results_display.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_settings_env_content.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_settings_theme_content.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_settings_view.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_sidebar.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_structured_data_view.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/partials/_theme_preview.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/webapp/templates/registry_viewer.html +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/workflow/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/workflow/agent_activities.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/workflow/agent_execution_activity.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/workflow/flock_workflow.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/workflow/temporal_config.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/src/flock/workflow/temporal_setup.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/api/test_custom_endpoints.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/core/test_flock_batch.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/core/test_flock_core.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/serialization/__init__.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/serialization/test_enhanced_serialization.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/serialization/test_file_path_serialization.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/serialization/test_flock_serializer.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/serialization/test_nested_serialization.py +0 -0
- {flock_core-0.4.0b46 → flock_core-0.4.0b49}/tests/serialization/test_yaml_serialization.py +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: 🪲 Bug Report
|
|
2
|
+
description: File a Bug Report to help us improve
|
|
3
|
+
title: "🪲 [BUG] <title>"
|
|
4
|
+
labels: ["bug"]
|
|
5
|
+
body:
|
|
6
|
+
- type: textarea
|
|
7
|
+
attributes:
|
|
8
|
+
label: Describe the bug
|
|
9
|
+
description: A clear and concise description of what the bug is.
|
|
10
|
+
validations:
|
|
11
|
+
required: true
|
|
12
|
+
- type: textarea
|
|
13
|
+
attributes:
|
|
14
|
+
label: To Reproduce
|
|
15
|
+
description: Describe how to reproduce the bug.
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
- type: textarea
|
|
19
|
+
attributes:
|
|
20
|
+
label: Expected behavior
|
|
21
|
+
description: A clear and concise description of what you expected to happen.
|
|
22
|
+
validations:
|
|
23
|
+
required: true
|
|
24
|
+
- type: textarea
|
|
25
|
+
attributes:
|
|
26
|
+
label: Screenshots/Logs
|
|
27
|
+
description: If applicable, add screenshots and console output to help explain your problem. (You can drag and drop files here).
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: 🆕 Feature Request
|
|
2
|
+
description: Suggest an idea for this project
|
|
3
|
+
title: "🆕 [FEATURE] <title>"
|
|
4
|
+
labels: ["enhancement"]
|
|
5
|
+
body:
|
|
6
|
+
- tpye: textarea
|
|
7
|
+
attributes:
|
|
8
|
+
label: Is your feature request related to a problem?
|
|
9
|
+
description: Please describe. A clear and concise description of what the problem is.
|
|
10
|
+
validations:
|
|
11
|
+
required: false
|
|
12
|
+
- type: textarea
|
|
13
|
+
attributes:
|
|
14
|
+
label: Describe the solution you want to see
|
|
15
|
+
description: A clear and concise description of what you want to happen.
|
|
16
|
+
validations:
|
|
17
|
+
required: false
|
|
18
|
+
- type: textarea
|
|
19
|
+
attributes:
|
|
20
|
+
label: Describe alternatives you have considered
|
|
21
|
+
description: A clear and concise description of any alternative solutions or features you have considered.
|
|
22
|
+
validations:
|
|
23
|
+
required: false
|
|
24
|
+
- type: textarea
|
|
25
|
+
attributes:
|
|
26
|
+
label: Additional context
|
|
27
|
+
description: Add any other context or code snipptes about the feature request here.
|
|
28
|
+
validations:
|
|
29
|
+
required: false
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: 🔄 Pull Request
|
|
2
|
+
description: Create a Pull Request
|
|
3
|
+
title: "🔄 [PR] <title>"
|
|
4
|
+
labels: [""]
|
|
5
|
+
body:
|
|
6
|
+
- type: textarea
|
|
7
|
+
attributes:
|
|
8
|
+
label: Describe your Pull Request
|
|
9
|
+
description: A clear and concise description of what the Pull Request is about.
|
|
10
|
+
validations:
|
|
11
|
+
required: true
|
|
12
|
+
- type: checkboxes
|
|
13
|
+
attributes:
|
|
14
|
+
label: is there an existing issue for this?
|
|
15
|
+
description: Check to see if there is an issue for this PR (optional)
|
|
16
|
+
options:
|
|
17
|
+
- label: Existing Issue
|
|
18
|
+
required: false
|
|
19
|
+
validations:
|
|
20
|
+
required: false
|
|
21
|
+
- type: textarea
|
|
22
|
+
attributes:
|
|
23
|
+
label: Label of the exisiting Issue (if applicable)
|
|
24
|
+
description: Label/Name of the existing issue, if applicable
|
|
25
|
+
validations:
|
|
26
|
+
required: false
|
|
27
|
+
- type: checkboxes
|
|
28
|
+
attributes:
|
|
29
|
+
label: Please select relevant options:
|
|
30
|
+
description: Please select the options, which best describe this pull request.
|
|
31
|
+
options:
|
|
32
|
+
- label: Bug fix (non-breaking change which fixes an issue)
|
|
33
|
+
- label: New feature (non-breaking change which adds functionality)
|
|
34
|
+
- label: Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
35
|
+
validations:
|
|
36
|
+
required: true
|
|
37
|
+
- type: checkboxes
|
|
38
|
+
attributes:
|
|
39
|
+
label: Checklist
|
|
40
|
+
description: Please make sure you have followed these steps
|
|
41
|
+
options:
|
|
42
|
+
- label: My code follows the style guidelines of this project
|
|
43
|
+
- label: I have made corresponding changes to the documentation
|
|
44
|
+
- label: I have added tests that prove my fix is effective or that my feature works
|
|
45
|
+
- label: I have checked my code and corrected any misspellings
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.0b49
|
|
4
4
|
Summary: Declarative LLM Orchestration at Scale
|
|
5
5
|
Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -8,22 +8,23 @@ 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:
|
|
11
|
+
Requires-Dist: aiosqlite>=0.21.0
|
|
12
12
|
Requires-Dist: chromadb>=0.6.3
|
|
13
13
|
Requires-Dist: cloudpickle>=3.1.1
|
|
14
14
|
Requires-Dist: datasets>=3.2.0
|
|
15
15
|
Requires-Dist: devtools>=0.12.2
|
|
16
|
-
Requires-Dist: dspy==2.6.
|
|
17
|
-
Requires-Dist: duckduckgo-search>=7.3.2
|
|
16
|
+
Requires-Dist: dspy==2.6.23
|
|
18
17
|
Requires-Dist: fastapi>=0.115.8
|
|
19
18
|
Requires-Dist: httpx>=0.28.1
|
|
20
19
|
Requires-Dist: inspect-ai>=0.3.88
|
|
21
|
-
Requires-Dist: litellm==1.
|
|
20
|
+
Requires-Dist: litellm==1.69.3
|
|
22
21
|
Requires-Dist: loguru>=0.7.3
|
|
22
|
+
Requires-Dist: markdown2>=2.5.3
|
|
23
23
|
Requires-Dist: matplotlib>=3.10.0
|
|
24
|
+
Requires-Dist: mem0ai[graph]>=0.1.100
|
|
24
25
|
Requires-Dist: msgpack>=1.1.0
|
|
25
|
-
Requires-Dist: nltk>=3.9.1
|
|
26
26
|
Requires-Dist: notion-client>=2.3.0
|
|
27
|
+
Requires-Dist: openai==1.75.0
|
|
27
28
|
Requires-Dist: opentelemetry-api>=1.30.0
|
|
28
29
|
Requires-Dist: opentelemetry-exporter-jaeger-proto-grpc>=1.21.0
|
|
29
30
|
Requires-Dist: opentelemetry-exporter-jaeger>=1.21.0
|
|
@@ -49,14 +50,26 @@ Requires-Dist: tiktoken>=0.8.0
|
|
|
49
50
|
Requires-Dist: toml>=0.10.2
|
|
50
51
|
Requires-Dist: tqdm>=4.67.1
|
|
51
52
|
Requires-Dist: uvicorn>=0.34.0
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist:
|
|
57
|
-
|
|
58
|
-
Requires-Dist: markdownify>=0.14.1; extra == 'tools'
|
|
59
|
-
Requires-Dist:
|
|
53
|
+
Provides-Extra: all-tools
|
|
54
|
+
Requires-Dist: azure-identity>=1.23.0; extra == 'all-tools'
|
|
55
|
+
Requires-Dist: azure-search-documents>=11.5.2; extra == 'all-tools'
|
|
56
|
+
Requires-Dist: azure-storage-blob>=12.25.1; extra == 'all-tools'
|
|
57
|
+
Requires-Dist: docling>=2.18.0; extra == 'all-tools'
|
|
58
|
+
Requires-Dist: duckduckgo-search>=7.3.2; extra == 'all-tools'
|
|
59
|
+
Requires-Dist: markdownify>=0.14.1; extra == 'all-tools'
|
|
60
|
+
Requires-Dist: nltk>=3.9.1; extra == 'all-tools'
|
|
61
|
+
Requires-Dist: tavily-python>=0.5.0; extra == 'all-tools'
|
|
62
|
+
Provides-Extra: azure-tools
|
|
63
|
+
Requires-Dist: azure-identity>=1.23.0; extra == 'azure-tools'
|
|
64
|
+
Requires-Dist: azure-search-documents>=11.5.2; extra == 'azure-tools'
|
|
65
|
+
Requires-Dist: azure-storage-blob>=12.25.1; extra == 'azure-tools'
|
|
66
|
+
Provides-Extra: basic-tools
|
|
67
|
+
Requires-Dist: docling>=2.18.0; extra == 'basic-tools'
|
|
68
|
+
Requires-Dist: duckduckgo-search>=7.3.2; extra == 'basic-tools'
|
|
69
|
+
Requires-Dist: markdownify>=0.14.1; extra == 'basic-tools'
|
|
70
|
+
Requires-Dist: tavily-python>=0.5.0; extra == 'basic-tools'
|
|
71
|
+
Provides-Extra: llm-tools
|
|
72
|
+
Requires-Dist: nltk>=3.9.1; extra == 'llm-tools'
|
|
60
73
|
Description-Content-Type: text/markdown
|
|
61
74
|
|
|
62
75
|
<p align="center">
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported Versions
|
|
4
|
+
|
|
5
|
+
The following versions of flock are currently actively receiving security updates:
|
|
6
|
+
|
|
7
|
+
| Version | Supported |
|
|
8
|
+
| ------- | ------------------ |
|
|
9
|
+
| 0.4.x | :white_check_mark: |
|
|
10
|
+
|
|
11
|
+
## Reporting a Vulnerability
|
|
12
|
+
|
|
13
|
+
We take every report of a vulnerability very seriously,
|
|
14
|
+
and actively encourage our community-members to report
|
|
15
|
+
any issues with the Flock framework as soon as possible
|
|
16
|
+
in order to mitigate any potential risks.
|
|
17
|
+
|
|
18
|
+
To report a vulnerability, you have serveral options available:
|
|
19
|
+
|
|
20
|
+
### 1. Creating a Vulnerability Report (preferred):
|
|
21
|
+
|
|
22
|
+
We prefer to keep our community informed about potential risks,
|
|
23
|
+
and therefore would prefer you open a new [Vulnerability Report](https://github.com/whiteducksoftware/flock/issues/new/choose)
|
|
24
|
+
on our Project Board.
|
|
25
|
+
|
|
26
|
+
This helps keep our community informed about existing risks and allows us to react quickly to a potential
|
|
27
|
+
vulnerability in the Flock framework.
|
|
28
|
+
|
|
29
|
+
### 2. Contacting the Maintainers:
|
|
30
|
+
|
|
31
|
+
If you prefer to report a vulnerability in private, feel free to contact
|
|
32
|
+
any one of the core maintainers of Flock:
|
|
33
|
+
|
|
34
|
+
- @tilman-sattler
|
|
35
|
+
- @AndreRatzenberger
|
|
36
|
+
- @swolg
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### 3. Official email: (slow)
|
|
40
|
+
|
|
41
|
+
Alternatively, you can report any vulnerability you encounter to info@whiteduck.de.
|
|
42
|
+
Keep in mind however, that this might be slower than Options 1 and 2.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
\
|
|
2
|
+
```python
|
|
3
|
+
# Add these imports to the appropriate sections of src/flock/webapp/app/main.py
|
|
4
|
+
|
|
5
|
+
# Standard library imports (if not already present)
|
|
6
|
+
import uuid
|
|
7
|
+
|
|
8
|
+
# Pydantic and FastAPI imports (ensure these are grouped with similar imports)
|
|
9
|
+
from pydantic import BaseModel
|
|
10
|
+
from fastapi import Depends, HTTPException
|
|
11
|
+
|
|
12
|
+
# Imports from your project for the sharing feature
|
|
13
|
+
from flock.webapp.app.services.sharing_models import SharedLinkConfig
|
|
14
|
+
from flock.webapp.app.services.sharing_store import SharedLinkStoreInterface
|
|
15
|
+
from flock.webapp.app.dependencies import get_shared_link_store
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
```python
|
|
19
|
+
# Add this code block in src/flock/webapp/app/main.py
|
|
20
|
+
# A good place is after the app.include_router(...) lines
|
|
21
|
+
# and before other utility function definitions or page route definitions.
|
|
22
|
+
|
|
23
|
+
# --- Share Link API Models and Endpoint ---
|
|
24
|
+
class CreateShareLinkRequest(BaseModel):
|
|
25
|
+
agent_name: str
|
|
26
|
+
|
|
27
|
+
class CreateShareLinkResponse(BaseModel):
|
|
28
|
+
share_url: str
|
|
29
|
+
|
|
30
|
+
@app.post("/api/v1/share/link", response_model=CreateShareLinkResponse, tags=["UI Sharing"])
|
|
31
|
+
async def create_share_link(
|
|
32
|
+
request_data: CreateShareLinkRequest,
|
|
33
|
+
store: SharedLinkStoreInterface = Depends(get_shared_link_store)
|
|
34
|
+
):
|
|
35
|
+
\"\"\"Creates a new shareable link for an agent.\"\"\"
|
|
36
|
+
share_id = uuid.uuid4().hex
|
|
37
|
+
agent_name = request_data.agent_name
|
|
38
|
+
|
|
39
|
+
if not agent_name: # Basic validation
|
|
40
|
+
raise HTTPException(status_code=400, detail="Agent name cannot be empty.")
|
|
41
|
+
|
|
42
|
+
config = SharedLinkConfig(share_id=share_id, agent_name=agent_name)
|
|
43
|
+
try:
|
|
44
|
+
await store.save_config(config)
|
|
45
|
+
share_url = f"/ui/shared-run/{share_id}\" # Relative URL
|
|
46
|
+
# Ensure 'logger' is available in this scope, e.g., defined globally in main.py
|
|
47
|
+
logger.info(f"Created share link for agent \'{agent_name}\' with ID \'{share_id}\'. URL: {share_url}")
|
|
48
|
+
return CreateShareLinkResponse(share_url=share_url)
|
|
49
|
+
except Exception as e:
|
|
50
|
+
logger.error(f"Failed to create share link for agent \'{agent_name}\': {e}", exc_info=True)
|
|
51
|
+
# The f-string formatting for the exception detail was corrected here.
|
|
52
|
+
raise HTTPException(status_code=500, detail=f"Failed to create share link: {str(e)}")
|
|
53
|
+
|
|
54
|
+
# --- End Share Link API ---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "flock-core"
|
|
3
|
-
version = "0.4.0b-
|
|
3
|
+
version = "0.4.0b-49"
|
|
4
4
|
description = "Declarative LLM Orchestration at Scale"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -13,21 +13,18 @@ classifiers = [
|
|
|
13
13
|
]
|
|
14
14
|
requires-python = ">=3.10"
|
|
15
15
|
dependencies = [
|
|
16
|
-
"azure-search-documents>=11.5.2",
|
|
17
16
|
"chromadb>=0.6.3",
|
|
18
17
|
"cloudpickle>=3.1.1",
|
|
19
18
|
"datasets>=3.2.0",
|
|
20
19
|
"devtools>=0.12.2",
|
|
21
|
-
"dspy==2.6.
|
|
22
|
-
"duckduckgo-search>=7.3.2",
|
|
20
|
+
"dspy==2.6.23",
|
|
23
21
|
"fastapi>=0.115.8",
|
|
24
22
|
"httpx>=0.28.1",
|
|
25
23
|
"inspect-ai>=0.3.88",
|
|
26
|
-
"litellm==1.
|
|
24
|
+
"litellm==1.69.3",
|
|
27
25
|
"loguru>=0.7.3",
|
|
28
26
|
"matplotlib>=3.10.0",
|
|
29
27
|
"msgpack>=1.1.0",
|
|
30
|
-
"nltk>=3.9.1",
|
|
31
28
|
"notion-client>=2.3.0",
|
|
32
29
|
"opentelemetry-api>=1.30.0",
|
|
33
30
|
"opentelemetry-exporter-jaeger>=1.21.0",
|
|
@@ -35,6 +32,7 @@ dependencies = [
|
|
|
35
32
|
"opentelemetry-exporter-otlp>=1.30.0",
|
|
36
33
|
"opentelemetry-instrumentation-logging>=0.51b0",
|
|
37
34
|
"opentelemetry-sdk>=1.30.0",
|
|
35
|
+
"openai==1.75.0",
|
|
38
36
|
"pandas>=2.2.3",
|
|
39
37
|
"pillow>=10.4.0",
|
|
40
38
|
"prometheus-client>=0.21.1",
|
|
@@ -54,13 +52,36 @@ dependencies = [
|
|
|
54
52
|
"toml>=0.10.2",
|
|
55
53
|
"tqdm>=4.67.1",
|
|
56
54
|
"uvicorn>=0.34.0",
|
|
57
|
-
"
|
|
55
|
+
"mem0ai[graph]>=0.1.100",
|
|
56
|
+
"aiosqlite>=0.21.0",
|
|
57
|
+
"markdown2>=2.5.3",
|
|
58
58
|
]
|
|
59
59
|
|
|
60
60
|
[project.optional-dependencies]
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
basic-tools = [
|
|
62
|
+
"docling>=2.18.0",
|
|
63
|
+
"tavily-python>=0.5.0",
|
|
64
|
+
"markdownify>=0.14.1",
|
|
65
|
+
"duckduckgo-search>=7.3.2",
|
|
66
|
+
]
|
|
67
|
+
azure-tools = [
|
|
68
|
+
"azure-identity>=1.23.0",
|
|
69
|
+
"azure-storage-blob>=12.25.1",
|
|
70
|
+
"azure-search-documents>=11.5.2",
|
|
71
|
+
]
|
|
72
|
+
llm-tools = [
|
|
73
|
+
"nltk>=3.9.1",
|
|
74
|
+
]
|
|
75
|
+
all-tools = [
|
|
76
|
+
"docling>=2.18.0",
|
|
77
|
+
"tavily-python>=0.5.0",
|
|
78
|
+
"markdownify>=0.14.1",
|
|
79
|
+
"duckduckgo-search>=7.3.2",
|
|
80
|
+
"azure-identity>=1.23.0",
|
|
81
|
+
"azure-storage-blob>=12.25.1",
|
|
82
|
+
"azure-search-documents>=11.5.2",
|
|
83
|
+
"nltk>=3.9.1",
|
|
84
|
+
]
|
|
64
85
|
|
|
65
86
|
[dependency-groups]
|
|
66
87
|
dev = [
|
|
@@ -16,6 +16,11 @@ def main():
|
|
|
16
16
|
action="store_true",
|
|
17
17
|
help="Start the web interface instead of the CLI",
|
|
18
18
|
)
|
|
19
|
+
parser.add_argument(
|
|
20
|
+
"--chat",
|
|
21
|
+
action="store_true",
|
|
22
|
+
help="Start a chat interface. If --web is also used, enables chat within the web app; otherwise, starts standalone chat.",
|
|
23
|
+
)
|
|
19
24
|
parser.add_argument(
|
|
20
25
|
"--theme",
|
|
21
26
|
type=str,
|
|
@@ -30,7 +35,7 @@ def main():
|
|
|
30
35
|
# Set environment variable for theme if provided
|
|
31
36
|
if args.theme:
|
|
32
37
|
print(
|
|
33
|
-
f"Setting FLOCK_WEB_THEME environment variable to: {args.theme}"
|
|
38
|
+
f"INFO: Setting FLOCK_WEB_THEME environment variable to: {args.theme}"
|
|
34
39
|
)
|
|
35
40
|
os.environ["FLOCK_WEB_THEME"] = args.theme
|
|
36
41
|
else:
|
|
@@ -38,10 +43,20 @@ def main():
|
|
|
38
43
|
if "FLOCK_WEB_THEME" in os.environ:
|
|
39
44
|
del os.environ["FLOCK_WEB_THEME"]
|
|
40
45
|
|
|
46
|
+
if args.chat: # --web --chat
|
|
47
|
+
print("INFO: Starting web application with chat feature enabled.")
|
|
48
|
+
os.environ["FLOCK_CHAT_ENABLED"] = "true"
|
|
49
|
+
else: # Just --web
|
|
50
|
+
print("INFO: Starting web application.")
|
|
51
|
+
if "FLOCK_CHAT_ENABLED" in os.environ:
|
|
52
|
+
del os.environ["FLOCK_CHAT_ENABLED"]
|
|
53
|
+
|
|
54
|
+
# Ensure standalone chat mode is not active
|
|
55
|
+
if "FLOCK_START_MODE" in os.environ:
|
|
56
|
+
del os.environ["FLOCK_START_MODE"]
|
|
57
|
+
|
|
41
58
|
# Import and run the standalone webapp main function
|
|
42
|
-
# It will now read the theme from the environment variable
|
|
43
59
|
from flock.webapp.run import main as run_webapp_main
|
|
44
|
-
|
|
45
60
|
run_webapp_main()
|
|
46
61
|
|
|
47
62
|
except ImportError:
|
|
@@ -55,6 +70,33 @@ def main():
|
|
|
55
70
|
sys.exit(1)
|
|
56
71
|
return
|
|
57
72
|
|
|
73
|
+
elif args.chat: # Standalone chat mode (args.web is false)
|
|
74
|
+
try:
|
|
75
|
+
print("INFO: Starting standalone chat application.")
|
|
76
|
+
os.environ["FLOCK_START_MODE"] = "chat"
|
|
77
|
+
|
|
78
|
+
# Clear web-specific env vars that might conflict or not apply
|
|
79
|
+
if "FLOCK_WEB_THEME" in os.environ:
|
|
80
|
+
del os.environ["FLOCK_WEB_THEME"]
|
|
81
|
+
if "FLOCK_CHAT_ENABLED" in os.environ:
|
|
82
|
+
del os.environ["FLOCK_CHAT_ENABLED"]
|
|
83
|
+
|
|
84
|
+
# Handle --theme if passed with --chat only
|
|
85
|
+
if args.theme:
|
|
86
|
+
print(f"INFO: Standalone chat mode started with --theme '{args.theme}'. FLOCK_WEB_THEME will be set.")
|
|
87
|
+
os.environ["FLOCK_WEB_THEME"] = args.theme
|
|
88
|
+
|
|
89
|
+
from flock.webapp.run import main as run_webapp_main
|
|
90
|
+
run_webapp_main() # The webapp main needs to interpret FLOCK_START_MODE="chat"
|
|
91
|
+
|
|
92
|
+
except ImportError:
|
|
93
|
+
print("Error: Could not import webapp components for chat. Ensure web dependencies are installed.", file=sys.stderr)
|
|
94
|
+
sys.exit(1)
|
|
95
|
+
except Exception as e:
|
|
96
|
+
print(f"Error starting standalone chat application: {e}", file=sys.stderr)
|
|
97
|
+
sys.exit(1)
|
|
98
|
+
return
|
|
99
|
+
|
|
58
100
|
# Otherwise, run the CLI interface
|
|
59
101
|
import questionary
|
|
60
102
|
from rich.console import Console
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
from __future__ import annotations # Ensure forward references work
|
|
5
5
|
|
|
6
6
|
import asyncio
|
|
7
|
+
import concurrent.futures # Added import
|
|
7
8
|
import os
|
|
8
9
|
import uuid
|
|
9
10
|
from collections.abc import Callable, Sequence
|
|
@@ -115,6 +116,19 @@ class Flock(BaseModel, Serializable):
|
|
|
115
116
|
default=True,
|
|
116
117
|
description="If True (default) and enable_temporal=True, start a temporary in-process worker for development/testing convenience. Set to False when using dedicated workers.",
|
|
117
118
|
)
|
|
119
|
+
|
|
120
|
+
benchmark_agent_name: str | None = Field(
|
|
121
|
+
default=None,
|
|
122
|
+
description="The name of the agent to use for the benchmark.",
|
|
123
|
+
)
|
|
124
|
+
benchmark_eval_field: str | None = Field(
|
|
125
|
+
default=None,
|
|
126
|
+
description="The output field to use for the benchmark.",
|
|
127
|
+
)
|
|
128
|
+
benchmark_input_field: str | None = Field(
|
|
129
|
+
default=None,
|
|
130
|
+
description="The input field to use for the benchmark.",
|
|
131
|
+
)
|
|
118
132
|
# Internal agent storage - not part of the Pydantic model for direct serialization
|
|
119
133
|
# Marked with underscore to indicate it's managed internally and accessed via property
|
|
120
134
|
_agents: dict[str, FlockAgent]
|
|
@@ -190,6 +204,8 @@ class Flock(BaseModel, Serializable):
|
|
|
190
204
|
# Ensure session ID exists in baggage
|
|
191
205
|
self._ensure_session_id()
|
|
192
206
|
|
|
207
|
+
FlockRegistry.discover_and_register_components()
|
|
208
|
+
|
|
193
209
|
logger.info(
|
|
194
210
|
"Flock instance initialized",
|
|
195
211
|
name=self.name,
|
|
@@ -197,6 +213,46 @@ class Flock(BaseModel, Serializable):
|
|
|
197
213
|
enable_temporal=self.enable_temporal,
|
|
198
214
|
)
|
|
199
215
|
|
|
216
|
+
def prepare_benchmark(self, agent: FlockAgent | str | None = None, input_field: str | None = None, eval_field: str | None = None):
|
|
217
|
+
"""Prepare a benchmark for the Flock instance."""
|
|
218
|
+
from flock.core.flock_agent import FlockAgent as ConcreteFlockAgent
|
|
219
|
+
|
|
220
|
+
logger.info(f"Preparing benchmark for Flock instance '{self.name}' with agent '{agent}'.")
|
|
221
|
+
|
|
222
|
+
name = agent.name if isinstance(agent, ConcreteFlockAgent) else agent
|
|
223
|
+
|
|
224
|
+
if self._agents.get(name) is None:
|
|
225
|
+
raise ValueError(f"Agent '{name}' not found in Flock instance '{self.name}'.")
|
|
226
|
+
|
|
227
|
+
self.benchmark_agent_name = name
|
|
228
|
+
self.benchmark_eval_field = eval_field
|
|
229
|
+
self.benchmark_input_field = input_field
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
def inspect(self):
|
|
234
|
+
"""Inspect the Flock instance."""
|
|
235
|
+
logger.info(f"Inspecting Flock instance '{self.name}' with start agent '{self.benchmark_agent_name}' and input '{input}'.")
|
|
236
|
+
|
|
237
|
+
async def run(input: dict[str, Any])-> dict[str, Any]:
|
|
238
|
+
"""Inspect the Flock instance."""
|
|
239
|
+
logger.info(f"Inspecting Flock instance '{self.name}' with start agent '{self.benchmark_agent_name}' and input '{input}'.")
|
|
240
|
+
msg_content = input.get("messages")[0].get("content")
|
|
241
|
+
|
|
242
|
+
agent_input = {
|
|
243
|
+
self.benchmark_input_field: msg_content
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
result = await self.run_async(start_agent=self.benchmark_agent_name, input=agent_input, box_result=False)
|
|
247
|
+
|
|
248
|
+
agent_output = result.get(self.benchmark_eval_field, "No answer found")
|
|
249
|
+
|
|
250
|
+
return {
|
|
251
|
+
"output": agent_output,
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
return run
|
|
255
|
+
|
|
200
256
|
def _configure_logging(self, enable_logging_config: bool | list[str]):
|
|
201
257
|
"""Configure logging levels based on the enable_logging flag."""
|
|
202
258
|
is_enabled_globally = False
|
|
@@ -302,45 +358,37 @@ class Flock(BaseModel, Serializable):
|
|
|
302
358
|
agents: list[FlockAgent] | None = None,
|
|
303
359
|
) -> Box | dict:
|
|
304
360
|
"""Entry point for running an agent system synchronously."""
|
|
361
|
+
# Prepare the coroutine that needs to be run
|
|
362
|
+
coro = self.run_async(
|
|
363
|
+
start_agent=start_agent,
|
|
364
|
+
input=input,
|
|
365
|
+
context=context,
|
|
366
|
+
run_id=run_id,
|
|
367
|
+
box_result=box_result, # run_async handles boxing
|
|
368
|
+
agents=agents,
|
|
369
|
+
)
|
|
370
|
+
|
|
305
371
|
try:
|
|
372
|
+
# Check if an event loop is already running in the current thread
|
|
306
373
|
loop = asyncio.get_running_loop()
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
asyncio.
|
|
312
|
-
|
|
313
|
-
# Ensure the loop runs the task and handles closure if we created it
|
|
314
|
-
if asyncio.get_event_loop() is loop and not loop.is_running():
|
|
315
|
-
result = loop.run_until_complete(
|
|
316
|
-
self.run_async(
|
|
317
|
-
start_agent=start_agent,
|
|
318
|
-
input=input,
|
|
319
|
-
context=context,
|
|
320
|
-
run_id=run_id,
|
|
321
|
-
box_result=box_result,
|
|
322
|
-
agents=agents,
|
|
323
|
-
)
|
|
324
|
-
)
|
|
325
|
-
return result
|
|
374
|
+
except RuntimeError:
|
|
375
|
+
# No event loop is running in the current thread.
|
|
376
|
+
# We can safely use asyncio.run() to create a new loop,
|
|
377
|
+
# run the coroutine, and close the loop.
|
|
378
|
+
return asyncio.run(coro)
|
|
326
379
|
else:
|
|
327
|
-
#
|
|
328
|
-
#
|
|
329
|
-
#
|
|
330
|
-
#
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
self.run_async(
|
|
335
|
-
start_agent=start_agent,
|
|
336
|
-
input=input,
|
|
337
|
-
context=context,
|
|
338
|
-
run_id=run_id,
|
|
339
|
-
box_result=box_result,
|
|
340
|
-
agents=agents,
|
|
341
|
-
)
|
|
380
|
+
# An event loop is already running in the current thread.
|
|
381
|
+
# Calling loop.run_until_complete() or asyncio.run() here would raise an error.
|
|
382
|
+
# To run the async code and wait for its result synchronously,
|
|
383
|
+
# we execute it in a separate thread with its own event loop.
|
|
384
|
+
logger.debug(
|
|
385
|
+
"Flock.run called in a context with an existing event loop. "
|
|
386
|
+
"Running async task in a separate thread to avoid event loop conflict."
|
|
342
387
|
)
|
|
343
|
-
|
|
388
|
+
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
|
389
|
+
future = executor.submit(asyncio.run, coro)
|
|
390
|
+
# Block and wait for the result from the other thread
|
|
391
|
+
return future.result()
|
|
344
392
|
|
|
345
393
|
|
|
346
394
|
async def run_async(
|
|
@@ -555,14 +603,6 @@ class Flock(BaseModel, Serializable):
|
|
|
555
603
|
delimiter: str = ",",
|
|
556
604
|
) -> list[Box | dict | None | Exception]:
|
|
557
605
|
"""Synchronous wrapper for run_batch_async."""
|
|
558
|
-
try:
|
|
559
|
-
loop = asyncio.get_running_loop()
|
|
560
|
-
if loop.is_closed():
|
|
561
|
-
raise RuntimeError("Event loop is closed")
|
|
562
|
-
except RuntimeError: # No running loop
|
|
563
|
-
loop = asyncio.new_event_loop()
|
|
564
|
-
asyncio.set_event_loop(loop)
|
|
565
|
-
|
|
566
606
|
coro = self.run_batch_async(
|
|
567
607
|
start_agent=start_agent,
|
|
568
608
|
batch_inputs=batch_inputs,
|
|
@@ -579,12 +619,18 @@ class Flock(BaseModel, Serializable):
|
|
|
579
619
|
delimiter=delimiter,
|
|
580
620
|
)
|
|
581
621
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
622
|
+
try:
|
|
623
|
+
loop = asyncio.get_running_loop()
|
|
624
|
+
except RuntimeError:
|
|
625
|
+
return asyncio.run(coro)
|
|
585
626
|
else:
|
|
586
|
-
|
|
587
|
-
|
|
627
|
+
logger.debug(
|
|
628
|
+
"Flock.run_batch called in a context with an existing event loop. "
|
|
629
|
+
"Running async task in a separate thread."
|
|
630
|
+
)
|
|
631
|
+
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
|
632
|
+
future = executor.submit(asyncio.run, coro)
|
|
633
|
+
return future.result()
|
|
588
634
|
|
|
589
635
|
# --- Evaluation (Delegation) ---
|
|
590
636
|
async def evaluate_async(
|
|
@@ -659,14 +705,6 @@ class Flock(BaseModel, Serializable):
|
|
|
659
705
|
metadata_columns: list[str] | None = None,
|
|
660
706
|
) -> DataFrame | list[dict[str, Any]]: # type: ignore
|
|
661
707
|
"""Synchronous wrapper for evaluate_async."""
|
|
662
|
-
try:
|
|
663
|
-
loop = asyncio.get_running_loop()
|
|
664
|
-
if loop.is_closed():
|
|
665
|
-
raise RuntimeError("Event loop is closed")
|
|
666
|
-
except RuntimeError: # No running loop
|
|
667
|
-
loop = asyncio.new_event_loop()
|
|
668
|
-
asyncio.set_event_loop(loop)
|
|
669
|
-
|
|
670
708
|
coro = self.evaluate_async(
|
|
671
709
|
dataset=dataset,
|
|
672
710
|
start_agent=start_agent,
|
|
@@ -685,12 +723,18 @@ class Flock(BaseModel, Serializable):
|
|
|
685
723
|
metadata_columns=metadata_columns,
|
|
686
724
|
)
|
|
687
725
|
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
726
|
+
try:
|
|
727
|
+
loop = asyncio.get_running_loop()
|
|
728
|
+
except RuntimeError:
|
|
729
|
+
return asyncio.run(coro)
|
|
691
730
|
else:
|
|
692
|
-
|
|
693
|
-
|
|
731
|
+
logger.debug(
|
|
732
|
+
"Flock.evaluate called in a context with an existing event loop. "
|
|
733
|
+
"Running async task in a separate thread."
|
|
734
|
+
)
|
|
735
|
+
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
|
736
|
+
future = executor.submit(asyncio.run, coro)
|
|
737
|
+
return future.result()
|
|
694
738
|
|
|
695
739
|
# --- Server & CLI Starters (Delegation) ---
|
|
696
740
|
def start_api(
|