flock-core 0.2.14__tar.gz → 0.2.16__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.2.14 → flock_core-0.2.16}/PKG-INFO +1 -1
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/01_simple_example.py +3 -1
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/02_typed_output.py +9 -8
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/03_tool_and_code_agent.py +7 -7
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/05_typed_output2.py +0 -2
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/06_simple_hand_off.py +7 -8
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/long_research_no_handoff.py +2 -2
- {flock_core-0.2.14 → flock_core-0.2.16}/pyproject.toml +1 -1
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/__init__.py +6 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/constants.py +1 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/config.py +0 -1
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/execution/local_executor.py +7 -3
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/execution/temporal_executor.py +1 -8
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/flock.py +4 -16
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/flock_agent.py +43 -2
- flock_core-0.2.16/src/flock/core/logging/formatters/enum_builder.py +38 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/formatters/theme_builder.py +2 -6
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/formatters/themed_formatter.py +127 -19
- flock_core-0.2.16/src/flock/core/logging/formatters/themes.py +340 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry.py +1 -1
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/activities.py +1 -18
- {flock_core-0.2.14 → flock_core-0.2.16}/uv.lock +1 -1
- flock_core-0.2.14/examples/data/bloggy.json +0 -1
- flock_core-0.2.14/examples/data/chatty.json +0 -1
- flock_core-0.2.14/examples/data/custom_bloggy.json +0 -1
- flock_core-0.2.14/examples/data/flock.json +0 -1
- flock_core-0.2.14/examples/data/inherited_bloggy.json +0 -1
- flock_core-0.2.14/src/flock/cli/examples/chatty.flock +0 -1
- flock_core-0.2.14/src/flock/cli/examples/chatty.json +0 -1
- flock_core-0.2.14/src/flock/core/logging/formatters/base_formatter.py +0 -36
- flock_core-0.2.14/src/flock/core/logging/formatters/formatter_factory.py +0 -38
- flock_core-0.2.14/src/flock/core/logging/formatters/pprint_formatter.py +0 -31
- flock_core-0.2.14/src/flock/core/logging/formatters/rich_formatters.py +0 -132
- {flock_core-0.2.14 → flock_core-0.2.16}/.devcontainer/devcontainer.json +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.env_template +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.github/workflows/.gitkeep +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.gitignore +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.vscode/launch.json +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.vscode/settings.json +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/.vscode/tasks.json +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/LICENSE +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/README.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/agent_mechanics.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/api/flock.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/api/flock_agents.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/api.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/architecture.drawio +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/01_simple_example.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/02_typed_output.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/03_tool_and_code_agent.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/04_descriptions.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/05_typed_output2.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/01_introduction/06_simple_hand_off.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/02_cook_book_wip/flock_without_llms.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples/02_cook_book_wip/project_manager.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/examples.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/generate_examples_docs.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/generate_nav.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/cli_outputs/out.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/component_diagramm.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_01.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_02.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_03.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_04.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_05.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/examples/01_06.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/flock.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/flock_cli.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/img/flow_diagramm.png +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/index.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/installation.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/overrides/extra.css +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/docs/overrides/extra.js +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/01_introduction/04_descriptions.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/flock_without_llms.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/project_manager.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_01.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_02.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_03.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/load_04.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/save_01.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/save_02.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/save_and_load/save_03.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/02_cook_book/self_improvement.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/formatting/01_pretty_print.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/formatting/02_r/303/255ch_table.py" +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/formatting/03_themed_table.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/logging_examples/01_basic_logging.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/03_misc_wip/logging_examples/02_temporal_logging.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/README.md +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/notebooks_wip/Untitled-1.ipynb +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/examples/notebooks_wip/my_agent.json +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/mkdocs.yml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/requirements.txt +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/create_agent.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/create_flock.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/load_agent.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/load_examples.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/load_flock.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/cli/settings.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/__init__.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/context/context.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/context/context_manager.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/context/context_vars.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/__init__.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/logging.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/logging/trace_and_logged.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/mixin/dspy_integration.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/mixin/prompt_parser.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/registry/agent_registry.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/tools/basic_tools.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/tools/dev_tools/github.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/util/cli_helper.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/util/input_resolver.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/core/util/serializable.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/interpreter/python_interpreter.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/platform/docker_tools.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/platform/jaeger_install.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/3024-day.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/3024-night.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/aardvark-blue.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/abernathy.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/adventure.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/adventuretime.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/afterglow.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/alabaster.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/alienblood.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/andromeda.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/apple-classic.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/apple-system-colors.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/arcoiris.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/argonaut copy.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/argonaut.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/arthur.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ateliersulphurpool.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/atom.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/atom_test.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/atomonelight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/aurora.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu copy.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu-mirage.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ayu.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/banana-blueberry.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/batman.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/belafonte-day.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/belafonte-night.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/birdsofparadise.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blazer.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blue-matrix.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blueberrypie.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/bluedolphin.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blulocodark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/blulocolight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/borland.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/breeze.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/bright-lights.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/broadcast.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/brogrammer.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-pastel-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-solarized-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-solarized-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-tango-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/builtin-tango-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/c64.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/calamity.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-frappe.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-latte.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-macchiato.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/catppuccin-mocha.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cga.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/chalk.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/chalkboard.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/challengerdeep.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/chester.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ciapre.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/clrs.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cobalt-neon.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cobalt2.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/coffee-theme.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/crayonponyfish.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cutiepro.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cyberdyne.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cyberpunk.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dark+.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dark-pastel.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/darkermatrix.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/darkmatrix.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/darkside.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dayfox.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/deep.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/desert.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dimidium.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dimmedmonokai.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/django.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/djangorebornagain.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/djangosmooth.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/doom-peacock.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/doomone.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dotgov.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dracula+.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/dracula.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/duckbones.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/duotone-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/earthsong.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/elemental.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/elementary.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/encom.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/espresso-libre.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/espresso.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/everblush.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fahrenheit.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fairyfloss.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/farmhouse-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/farmhouse-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fideloper.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/firefly-traditional.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/firefoxdev.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/firewatch.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/fishtank.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flat.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flatland.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flexoki-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/flexoki-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/floraverse.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/forestblue.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/framer.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/frontenddelight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/funforrest.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/galaxy.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/galizur.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/github-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/github.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/glacier.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/grape.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/grass.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/grey-green.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruber-darker.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruvboxdark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruvboxdarkhard.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/gruvboxlight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/guezwhoz.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hacktober.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hardcore.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/harper.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hax0r-blue.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hax0r-gr33n.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hax0r-r3d.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/highway.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hipster-green.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hivacruz.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/homebrew.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hopscotch.256.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hopscotch.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hurtado.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/hybrid.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ic-green-ppl.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ic-orange-ppl.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iceberg-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iceberg-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/idea.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/idletoes.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ir-black.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-dark-background.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-default.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-light-background.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-smoooooth.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-solarized-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-tango-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/iterm2-tango-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jackie-brown.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/japanesque.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jellybeans.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jetbrains-darcula.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/jubi.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kanagawabones.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kibble.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kolorit.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/konsolas.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/kurokula.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/lab-fox.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/laser.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/later-this-evening.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/lavandula.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/liquidcarbon.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/liquidcarbontransparent.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/lovelace.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/man-page.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mariana.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/material.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialdark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialdarker.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialdesigncolors.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/materialocean.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mathias.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/matrix.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/medallion.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mellifluous.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/midnight-in-mojave.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/mirage.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/misterioso.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/molokai.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monalisa.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monokai-remastered.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monokai-soda.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/monokai-vivid.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/n0tch2k.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neobones-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neobones-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neon.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neopolitan.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/neutron.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/night-owlish-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nightfox.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nightlion-v1.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nightlion-v2.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/niji.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nocturnal-winter.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nord-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nord.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/novel.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nvimdark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/nvimlight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/obsidian.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ocean.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/oceanic-next.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/oceanicmaterial.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ollie.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/onehalfdark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/onehalflight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/operator-mono-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/overnight-slumber.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/oxocarbon.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/palenighthc.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pandora.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/paraiso-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/paulmillr.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pencildark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pencillight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/peppermint.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/piatto-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pnevma.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/popping-and-locking.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/primary.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pro-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/pro.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/purple-rain.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/purplepeter.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rapture.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/raycast-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/raycast-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rebecca.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/red-alert.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/red-planet.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/red-sands.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/relaxed.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/retro.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rippedcasts.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rose-pine-dawn.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rose-pine-moon.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rose-pine.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/rouge-2.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/royal.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ryuuko.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sakura.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/scarlet-protocol.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seafoam-pastel.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seashells.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seoulbones-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seoulbones-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/seti.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/shades-of-purple.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/shaman.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/slate.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sleepyhollow.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/smyck.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/snazzy.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/softserver.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/solarized-darcula.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/solarized-dark---patched.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacedust.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacegray-eighties.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spacegray.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spiderman.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/spring.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/square.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sublette.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/subliminal.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sugarplum.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/sundried.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/symfonic.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/synthwave-everything.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/synthwave.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/synthwavealpha.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tango-adapted.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tango-half-adapted.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/teerb.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/terafox.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/terminal-basic.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/thayer-bright.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/the-hulk.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tinacious-design-(dark).toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tinacious-design-(light).toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tokyonight-day.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tokyonight-storm.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tokyonight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-blue.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-bright.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-burns.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow-night.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/tomorrow.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/toychest.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/treehouse.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/twilight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ubuntu.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ultradark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/ultraviolent.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/underthesea.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/unikitty.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/urple.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vaughn.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vesper.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vibrantink.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/vimbones.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/violet-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/violet-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/warmneon.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wez.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/whimsy.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wildcherry.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wilmersdorf.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wombat.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/wryan.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodedark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodedarkhc.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodelight.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodelighthc.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/xcodewwdc.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenbones-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenbones-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenbones.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenburn.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenburned.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenwritten-dark.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/themes/zenwritten-light.toml +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/__init__.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/agent_activities.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/temporal_setup.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/src/flock/workflow/workflow.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/tests/integration/test_agent_integration.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/tests/unittests/test_flock.py +0 -0
- {flock_core-0.2.14 → flock_core-0.2.16}/tests/unittests/test_flock_agent.py +0 -0
|
@@ -21,7 +21,9 @@ Let's get started!
|
|
|
21
21
|
import asyncio
|
|
22
22
|
|
|
23
23
|
from flock.core.flock import Flock
|
|
24
|
-
from flock.core.flock_agent import FlockAgent
|
|
24
|
+
from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
|
|
25
|
+
from flock.core.logging.formatters.themes import OutputTheme
|
|
26
|
+
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
# --------------------------------
|
|
@@ -23,20 +23,15 @@ import asyncio
|
|
|
23
23
|
from pprint import pprint
|
|
24
24
|
|
|
25
25
|
from flock.core.flock import Flock
|
|
26
|
-
from flock.core.flock_agent import FlockAgent
|
|
27
|
-
from flock.core.logging.formatters.
|
|
28
|
-
from flock.core.logging.formatters.rich_formatters import RichTables
|
|
29
|
-
from flock.core.logging.formatters.themed_formatter import ThemedAgentResultFormatter
|
|
26
|
+
from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
|
|
27
|
+
from flock.core.logging.formatters.themes import OutputTheme
|
|
30
28
|
from flock.core.tools import basic_tools
|
|
31
29
|
|
|
32
30
|
async def main():
|
|
33
31
|
# --------------------------------
|
|
34
32
|
# Create the flock
|
|
35
33
|
# --------------------------------
|
|
36
|
-
|
|
37
|
-
# See the formatting examples
|
|
38
|
-
format_options = FormatterOptions(RichTables)
|
|
39
|
-
flock = Flock(local_debug=True, output_formatter=format_options)
|
|
34
|
+
flock = Flock(local_debug=True)
|
|
40
35
|
|
|
41
36
|
|
|
42
37
|
# --------------------------------
|
|
@@ -48,12 +43,18 @@ async def main():
|
|
|
48
43
|
# - you can define if the agent should use the cache
|
|
49
44
|
# results will get cached and if true and if the input is the same as before, the agent will return the cached result
|
|
50
45
|
# this is useful for expensive operations like web scraping and for debugging
|
|
46
|
+
# Some people need some swag in their output
|
|
47
|
+
# Flock supports rendering the output as a table and you can choose a theme
|
|
51
48
|
agent = FlockAgent(
|
|
52
49
|
name="my_agent",
|
|
53
50
|
input="url",
|
|
54
51
|
output="title, headings: list[str], entities_and_metadata: list[dict[str, str]], type:Literal['news', 'blog', 'opinion piece', 'tweet']",
|
|
55
52
|
tools=[basic_tools.get_web_content_as_markdown],
|
|
56
53
|
use_cache=True,
|
|
54
|
+
output_config=FlockAgentOutputConfig(
|
|
55
|
+
render_table=True,
|
|
56
|
+
theme=OutputTheme.abernathy
|
|
57
|
+
)
|
|
57
58
|
)
|
|
58
59
|
flock.add_agent(agent)
|
|
59
60
|
|
|
@@ -23,10 +23,9 @@ from devtools import debug
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
from flock.core.flock import Flock
|
|
26
|
-
from flock.core.flock_agent import FlockAgent
|
|
27
|
-
from flock.core.logging.formatters.base_formatter import FormatterOptions
|
|
28
|
-
from flock.core.logging.formatters.rich_formatters import RichTables
|
|
26
|
+
from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
|
|
29
27
|
from flock.core.logging.formatters.themed_formatter import ThemedAgentResultFormatter
|
|
28
|
+
from flock.core.logging.formatters.themes import OutputTheme
|
|
30
29
|
from flock.core.tools import basic_tools
|
|
31
30
|
|
|
32
31
|
MODEL = "openai/gpt-4o"
|
|
@@ -35,10 +34,7 @@ async def main():
|
|
|
35
34
|
# --------------------------------
|
|
36
35
|
# Create the flock
|
|
37
36
|
# --------------------------------
|
|
38
|
-
|
|
39
|
-
# The author had over 300 cli themes lying around....
|
|
40
|
-
format_options = FormatterOptions(ThemedAgentResultFormatter, wait_for_input=False, settings={"theme": "adventuretime"})
|
|
41
|
-
flock = Flock(local_debug=True, output_formatter=format_options)
|
|
37
|
+
flock = Flock(local_debug=True)
|
|
42
38
|
|
|
43
39
|
|
|
44
40
|
# --------------------------------
|
|
@@ -53,6 +49,10 @@ async def main():
|
|
|
53
49
|
input="a_person",
|
|
54
50
|
output="persons_age_in_days",
|
|
55
51
|
tools=[basic_tools.web_search_duckduckgo, basic_tools.code_eval],
|
|
52
|
+
output_config=FlockAgentOutputConfig(
|
|
53
|
+
render_table=True,
|
|
54
|
+
theme=OutputTheme.adventuretime
|
|
55
|
+
),
|
|
56
56
|
use_cache=True,
|
|
57
57
|
)
|
|
58
58
|
flock.add_agent(agent)
|
|
@@ -22,8 +22,6 @@ from typing import Literal
|
|
|
22
22
|
|
|
23
23
|
from flock.core.flock import Flock
|
|
24
24
|
from flock.core.flock_agent import FlockAgent
|
|
25
|
-
from flock.core.logging.formatters.base_formatter import FormatterOptions
|
|
26
|
-
from flock.core.logging.formatters.rich_formatters import RichTables
|
|
27
25
|
from flock.core.logging.formatters.themed_formatter import ThemedAgentResultFormatter
|
|
28
26
|
from flock.core.tools import basic_tools
|
|
29
27
|
|
|
@@ -28,23 +28,20 @@ In later examples, we will explore more advanced hand-off scenarios and fall bac
|
|
|
28
28
|
import asyncio
|
|
29
29
|
|
|
30
30
|
from flock.core.flock import Flock
|
|
31
|
-
from flock.core.flock_agent import FlockAgent
|
|
32
|
-
from flock.core.logging.formatters.
|
|
33
|
-
from flock.core.logging.formatters.rich_formatters import RichTables
|
|
31
|
+
from flock.core.flock_agent import FlockAgent, FlockAgentOutputConfig
|
|
32
|
+
from flock.core.logging.formatters.themes import OutputTheme
|
|
34
33
|
|
|
35
34
|
|
|
36
35
|
async def main():
|
|
37
36
|
|
|
38
|
-
flock = Flock(local_debug=True,
|
|
39
|
-
FormatterOptions(formatter=RichTables,
|
|
40
|
-
wait_for_input=True,
|
|
41
|
-
settings={}),
|
|
42
|
-
enable_logging=True)
|
|
37
|
+
flock = Flock(local_debug=True,enable_logging=True)
|
|
43
38
|
|
|
44
39
|
idea_agent = FlockAgent(
|
|
45
40
|
name="idea_agent",
|
|
46
41
|
input="query",
|
|
47
42
|
output="a_fun_software_project_idea",
|
|
43
|
+
output_config=FlockAgentOutputConfig(render_table=True,
|
|
44
|
+
wait_for_input=True), # wait for input to continue
|
|
48
45
|
use_cache=True,
|
|
49
46
|
)
|
|
50
47
|
|
|
@@ -52,6 +49,8 @@ async def main():
|
|
|
52
49
|
name="project_plan_agent",
|
|
53
50
|
input="a_fun_software_project_idea",
|
|
54
51
|
output="catchy_project_name, project_pitch, techstack, project_implementation_plan",
|
|
52
|
+
output_config=FlockAgentOutputConfig(render_table=True,
|
|
53
|
+
wait_for_input=True), # wait for input to continue
|
|
55
54
|
use_cache=True,
|
|
56
55
|
)
|
|
57
56
|
|
|
@@ -29,7 +29,7 @@ async def main():
|
|
|
29
29
|
description="Outline a thorough overview of a topic.",
|
|
30
30
|
input="topic",
|
|
31
31
|
output="title,sections: list[str],section_subheadings: dict[str, list[str]]|mapping from section headings to subheadings",
|
|
32
|
-
tools=[basic_tools.web_search_tavily],
|
|
32
|
+
tools=[basic_tools.web_search_tavily, basic_tools.get_web_content_as_markdown],
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
|
|
@@ -37,7 +37,7 @@ async def main():
|
|
|
37
37
|
name="draft_agent",
|
|
38
38
|
input="flock.topic,flock.section_heading,flock.section_subheadings: list[str]",
|
|
39
39
|
output="content|markdown-formatted section",
|
|
40
|
-
tools=[basic_tools.web_search_tavily],
|
|
40
|
+
tools=[basic_tools.web_search_tavily, basic_tools.get_web_content_as_markdown],
|
|
41
41
|
)
|
|
42
42
|
|
|
43
43
|
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"""Flock package initialization."""
|
|
2
2
|
|
|
3
|
+
from flock.cli.constants import CLI_THEME_BUILDER
|
|
4
|
+
from flock.core.logging.formatters.theme_builder import theme_builder
|
|
5
|
+
|
|
3
6
|
|
|
4
7
|
def main():
|
|
5
8
|
"""Main function."""
|
|
@@ -35,6 +38,7 @@ def main():
|
|
|
35
38
|
CLI_LOAD_FLOCK,
|
|
36
39
|
# CLI_LOAD_EXAMPLE,
|
|
37
40
|
questionary.Separator(),
|
|
41
|
+
CLI_THEME_BUILDER,
|
|
38
42
|
CLI_SETTINGS,
|
|
39
43
|
questionary.Separator(),
|
|
40
44
|
CLI_START_ADVANCED_MODE,
|
|
@@ -45,6 +49,8 @@ def main():
|
|
|
45
49
|
|
|
46
50
|
if result == CLI_LOAD_FLOCK:
|
|
47
51
|
load_flock()
|
|
52
|
+
if result == CLI_THEME_BUILDER:
|
|
53
|
+
theme_builder()
|
|
48
54
|
|
|
49
55
|
|
|
50
56
|
if __name__ == "__main__":
|
|
@@ -4,6 +4,7 @@ CLI_CREATE_AGENT = "Create an agent"
|
|
|
4
4
|
CLI_CREATE_FLOCK = "Create a flock"
|
|
5
5
|
CLI_LOAD_AGENT = "Load an agent"
|
|
6
6
|
CLI_LOAD_FLOCK = "Load a *.flock file"
|
|
7
|
+
CLI_THEME_BUILDER = "Theme builder"
|
|
7
8
|
CLI_LOAD_EXAMPLE = "Load a example"
|
|
8
9
|
CLI_SETTINGS = "Settings"
|
|
9
10
|
CLI_START_ADVANCED_MODE = "Start advanced mode (coming soon)"
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
# src/your_package/core/execution/local_executor.py
|
|
2
2
|
from flock.core.context.context import FlockContext
|
|
3
3
|
from flock.core.logging.logging import get_logger
|
|
4
|
-
from flock.workflow.activities import
|
|
4
|
+
from flock.workflow.activities import (
|
|
5
|
+
run_agent, # This should be the local activity function
|
|
6
|
+
)
|
|
5
7
|
|
|
6
8
|
logger = get_logger("flock")
|
|
7
9
|
|
|
8
10
|
|
|
9
|
-
async def run_local_workflow(
|
|
11
|
+
async def run_local_workflow(
|
|
12
|
+
context: FlockContext, box_result: bool = True
|
|
13
|
+
) -> dict:
|
|
10
14
|
"""Execute the agent workflow locally (for debugging).
|
|
11
15
|
|
|
12
16
|
Args:
|
|
@@ -18,7 +22,7 @@ async def run_local_workflow(context: FlockContext, output_formatter, box_result
|
|
|
18
22
|
A dictionary containing the workflow result.
|
|
19
23
|
"""
|
|
20
24
|
logger.info("Running local debug workflow")
|
|
21
|
-
result = await run_agent(context
|
|
25
|
+
result = await run_agent(context)
|
|
22
26
|
if box_result:
|
|
23
27
|
from box import Box
|
|
24
28
|
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# src/your_package/core/execution/temporal_executor.py
|
|
2
|
-
from devtools import pprint
|
|
3
2
|
|
|
4
3
|
from flock.core.context.context import FlockContext
|
|
5
4
|
from flock.core.context.context_vars import FLOCK_RUN_ID
|
|
6
|
-
from flock.core.logging.formatters.formatter_factory import FormatterFactory
|
|
7
5
|
from flock.core.logging.logging import get_logger
|
|
8
6
|
from flock.workflow.activities import (
|
|
9
7
|
run_agent, # Activity function used in Temporal
|
|
@@ -16,7 +14,6 @@ logger = get_logger("flock")
|
|
|
16
14
|
|
|
17
15
|
async def run_temporal_workflow(
|
|
18
16
|
context: FlockContext,
|
|
19
|
-
output_formatter,
|
|
20
17
|
box_result: bool = True,
|
|
21
18
|
) -> dict:
|
|
22
19
|
"""Execute the agent workflow via Temporal for robust, distributed processing.
|
|
@@ -43,11 +40,7 @@ async def run_temporal_workflow(
|
|
|
43
40
|
|
|
44
41
|
agent_name = context.get_variable("FLOCK_CURRENT_AGENT")
|
|
45
42
|
logger.debug("Formatting Temporal result", agent=agent_name)
|
|
46
|
-
|
|
47
|
-
formatter = FormatterFactory.create_formatter(output_formatter)
|
|
48
|
-
formatter.display(result, agent_name, output_formatter.wait_for_input)
|
|
49
|
-
else:
|
|
50
|
-
pprint(result)
|
|
43
|
+
|
|
51
44
|
if box_result:
|
|
52
45
|
from box import Box
|
|
53
46
|
|
|
@@ -10,13 +10,12 @@ import cloudpickle
|
|
|
10
10
|
from opentelemetry import trace
|
|
11
11
|
from opentelemetry.baggage import get_baggage, set_baggage
|
|
12
12
|
|
|
13
|
+
from flock.config import TELEMETRY
|
|
13
14
|
from flock.core.context.context import FlockContext
|
|
14
15
|
from flock.core.context.context_manager import initialize_context
|
|
15
16
|
from flock.core.execution.local_executor import run_local_workflow
|
|
16
17
|
from flock.core.execution.temporal_executor import run_temporal_workflow
|
|
17
18
|
from flock.core.flock_agent import FlockAgent
|
|
18
|
-
from flock.core.logging.formatters.base_formatter import FormatterOptions
|
|
19
|
-
from flock.core.logging.formatters.pprint_formatter import PrettyPrintFormatter
|
|
20
19
|
from flock.core.logging.logging import get_logger
|
|
21
20
|
from flock.core.registry.agent_registry import Registry
|
|
22
21
|
from flock.core.util.cli_helper import display_banner
|
|
@@ -24,7 +23,7 @@ from flock.core.util.input_resolver import top_level_to_keys
|
|
|
24
23
|
|
|
25
24
|
T = TypeVar("T", bound=FlockAgent)
|
|
26
25
|
logger = get_logger("flock")
|
|
27
|
-
|
|
26
|
+
TELEMETRY.setup_tracing()
|
|
28
27
|
tracer = trace.get_tracer(__name__)
|
|
29
28
|
|
|
30
29
|
|
|
@@ -40,9 +39,6 @@ class Flock:
|
|
|
40
39
|
model: str = "openai/gpt-4o",
|
|
41
40
|
local_debug: bool = False,
|
|
42
41
|
enable_logging: bool = False,
|
|
43
|
-
output_formatter: FormatterOptions = FormatterOptions(
|
|
44
|
-
PrettyPrintFormatter
|
|
45
|
-
),
|
|
46
42
|
show_cli_banner: bool = True,
|
|
47
43
|
):
|
|
48
44
|
"""Initialize the Flock orchestrator.
|
|
@@ -57,9 +53,6 @@ class Flock:
|
|
|
57
53
|
span.set_attribute("model", model)
|
|
58
54
|
span.set_attribute("local_debug", local_debug)
|
|
59
55
|
span.set_attribute("enable_logging", enable_logging)
|
|
60
|
-
span.set_attribute(
|
|
61
|
-
"output_formatter", output_formatter.formatter.__name__
|
|
62
|
-
)
|
|
63
56
|
logger.info(
|
|
64
57
|
"Initializing Flock",
|
|
65
58
|
model=model,
|
|
@@ -80,7 +73,6 @@ class Flock:
|
|
|
80
73
|
self.context = FlockContext()
|
|
81
74
|
self.model = model
|
|
82
75
|
self.local_debug = local_debug
|
|
83
|
-
self.output_formatter = output_formatter
|
|
84
76
|
self.start_agent: FlockAgent | str | None = None
|
|
85
77
|
self.input: dict = {}
|
|
86
78
|
|
|
@@ -410,13 +402,9 @@ class Flock:
|
|
|
410
402
|
)
|
|
411
403
|
|
|
412
404
|
if self.local_debug:
|
|
413
|
-
return await run_local_workflow(
|
|
414
|
-
self.context, self.output_formatter, box_result
|
|
415
|
-
)
|
|
405
|
+
return await run_local_workflow(self.context, box_result)
|
|
416
406
|
else:
|
|
417
|
-
return await run_temporal_workflow(
|
|
418
|
-
self.context, self.output_formatter, box_result
|
|
419
|
-
)
|
|
407
|
+
return await run_temporal_workflow(self.context, box_result)
|
|
420
408
|
except Exception as e:
|
|
421
409
|
logger.exception("Execution failed", error=str(e))
|
|
422
410
|
raise
|
|
@@ -12,6 +12,10 @@ import cloudpickle
|
|
|
12
12
|
from pydantic import BaseModel, Field
|
|
13
13
|
|
|
14
14
|
from flock.core.context.context import FlockContext
|
|
15
|
+
from flock.core.logging.formatters.themed_formatter import (
|
|
16
|
+
ThemedAgentResultFormatter,
|
|
17
|
+
)
|
|
18
|
+
from flock.core.logging.formatters.themes import OutputTheme
|
|
15
19
|
from flock.core.logging.logging import get_logger
|
|
16
20
|
from flock.core.mixin.dspy_integration import AgentType, DSPyIntegrationMixin
|
|
17
21
|
from flock.core.mixin.prompt_parser import PromptParserMixin
|
|
@@ -48,6 +52,25 @@ class FlockAgentConfig:
|
|
|
48
52
|
)
|
|
49
53
|
|
|
50
54
|
|
|
55
|
+
@dataclass
|
|
56
|
+
class FlockAgentOutputConfig:
|
|
57
|
+
"""Configuration options for a FlockAgent."""
|
|
58
|
+
|
|
59
|
+
render_table: bool = field(
|
|
60
|
+
default=False, metadata={"description": "Renders a table."}
|
|
61
|
+
)
|
|
62
|
+
theme: OutputTheme = field( # type: ignore
|
|
63
|
+
default=OutputTheme.afterglow,
|
|
64
|
+
metadata={"description": "Disables the agent's output."},
|
|
65
|
+
)
|
|
66
|
+
max_length: int = field(
|
|
67
|
+
default=1000, metadata={"description": "Disables the agent's output."}
|
|
68
|
+
)
|
|
69
|
+
wait_for_input: bool = field(
|
|
70
|
+
default=False, metadata={"description": "Wait for input."}
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
|
|
51
74
|
@dataclass
|
|
52
75
|
class HandOff:
|
|
53
76
|
"""Base class for handoff returns."""
|
|
@@ -136,8 +159,8 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
|
|
|
136
159
|
"""
|
|
137
160
|
|
|
138
161
|
name: str = Field(..., description="Unique identifier for the agent.")
|
|
139
|
-
model: str = Field(
|
|
140
|
-
|
|
162
|
+
model: str | None = Field(
|
|
163
|
+
None, description="The model to use (e.g., 'openai/gpt-4o')."
|
|
141
164
|
)
|
|
142
165
|
description: str | Callable[..., str] = Field(
|
|
143
166
|
"", description="A human-readable description of the agent."
|
|
@@ -186,6 +209,11 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
|
|
|
186
209
|
description="Configuration options for the agent, such as serialization settings.",
|
|
187
210
|
)
|
|
188
211
|
|
|
212
|
+
output_config: FlockAgentOutputConfig = Field(
|
|
213
|
+
default_factory=FlockAgentOutputConfig,
|
|
214
|
+
description="Configuration options for the agent's output.",
|
|
215
|
+
)
|
|
216
|
+
|
|
189
217
|
# Lifecycle callback fields: if provided, these callbacks are used instead of overriding the methods.
|
|
190
218
|
initialize_callback: Callable[[dict[str, Any]], Awaitable[None]] | None = (
|
|
191
219
|
Field(
|
|
@@ -414,6 +442,7 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
|
|
|
414
442
|
try:
|
|
415
443
|
await self.initialize(inputs)
|
|
416
444
|
result = await self.evaluate(inputs)
|
|
445
|
+
self.display_output(result)
|
|
417
446
|
await self.terminate(inputs, result)
|
|
418
447
|
span.set_attribute("result", str(result))
|
|
419
448
|
logger.info("Agent run completed", agent=self.name)
|
|
@@ -426,6 +455,18 @@ class FlockAgent(BaseModel, ABC, PromptParserMixin, DSPyIntegrationMixin):
|
|
|
426
455
|
span.record_exception(run_error)
|
|
427
456
|
raise
|
|
428
457
|
|
|
458
|
+
def display_info(self) -> None:
|
|
459
|
+
pass
|
|
460
|
+
|
|
461
|
+
def display_output(self, result: dict[str, Any]) -> None:
|
|
462
|
+
"""Display the agent's output using the configured output formatter."""
|
|
463
|
+
ThemedAgentResultFormatter(
|
|
464
|
+
self.output_config.theme,
|
|
465
|
+
self.output_config.max_length,
|
|
466
|
+
self.output_config.render_table,
|
|
467
|
+
self.output_config.wait_for_input,
|
|
468
|
+
).display_result(result, self.name)
|
|
469
|
+
|
|
429
470
|
async def run_temporal(self, inputs: dict[str, Any]) -> dict[str, Any]:
|
|
430
471
|
"""Execute this agent via a Temporal workflow for enhanced fault tolerance and asynchronous processing.
|
|
431
472
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"""Enum Builder."""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
import pathlib
|
|
5
|
+
import re
|
|
6
|
+
|
|
7
|
+
theme_folder = pathlib.Path(__file__).parent.parent.parent.parent / "themes"
|
|
8
|
+
|
|
9
|
+
if not theme_folder.exists():
|
|
10
|
+
raise FileNotFoundError(f"Theme folder not found: {theme_folder}")
|
|
11
|
+
|
|
12
|
+
theme_files = [
|
|
13
|
+
pathlib.Path(f.path).stem for f in os.scandir(theme_folder) if f.is_file()
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
theme_enum_entries = {}
|
|
17
|
+
for theme in theme_files:
|
|
18
|
+
safe_name = (
|
|
19
|
+
theme.replace("-", "_")
|
|
20
|
+
.replace(" ", "_")
|
|
21
|
+
.replace("(", "_")
|
|
22
|
+
.replace(")", "_")
|
|
23
|
+
.replace("+", "_")
|
|
24
|
+
.replace(".", "_")
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
if re.match(r"^\d", safe_name):
|
|
28
|
+
safe_name = f"_{safe_name}"
|
|
29
|
+
|
|
30
|
+
theme_enum_entries[safe_name] = theme
|
|
31
|
+
|
|
32
|
+
with open("theme_enum.py", "w") as f:
|
|
33
|
+
f.write("from enum import Enum\n\n")
|
|
34
|
+
f.write("class OutputOptionsTheme(Enum):\n")
|
|
35
|
+
for safe_name, original_name in theme_enum_entries.items():
|
|
36
|
+
f.write(f' {safe_name} = "{original_name}"\n')
|
|
37
|
+
|
|
38
|
+
print("Generated theme_enum.py ✅")
|
|
@@ -371,7 +371,7 @@ def save_theme(theme: dict, filename: pathlib.Path) -> None:
|
|
|
371
371
|
# --- Main Interactive Loop --- #
|
|
372
372
|
|
|
373
373
|
|
|
374
|
-
def
|
|
374
|
+
def theme_builder():
|
|
375
375
|
console = Console(force_terminal=True, color_system="truecolor")
|
|
376
376
|
themes_dir = pathlib.Path(__file__).parent.parent.parent.parent / "themes"
|
|
377
377
|
theme_files = load_theme_files(themes_dir)
|
|
@@ -458,7 +458,7 @@ def main():
|
|
|
458
458
|
)
|
|
459
459
|
if sel2.lower() == "r":
|
|
460
460
|
console.print("Regenerating samples...")
|
|
461
|
-
|
|
461
|
+
theme_builder() # restart the builder
|
|
462
462
|
return
|
|
463
463
|
try:
|
|
464
464
|
sel2 = int(sel2)
|
|
@@ -474,7 +474,3 @@ def main():
|
|
|
474
474
|
save_path = themes_dir / filename
|
|
475
475
|
save_theme(chosen_sample_theme, save_path)
|
|
476
476
|
console.print(f"\n[green]Theme saved as {save_path}.[/green]")
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
if __name__ == "__main__":
|
|
480
|
-
main()
|