flock-core 0.4.0b22__tar.gz → 0.4.0b24__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.

Files changed (528) hide show
  1. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/PKG-INFO +2 -1
  2. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/pyproject.toml +2 -1
  3. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/flock.py +24 -7
  4. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/flock_agent.py +219 -75
  5. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/flock_factory.py +8 -6
  6. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/flock_registry.py +140 -60
  7. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/flock_router.py +19 -6
  8. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/serialization/serialization_utils.py +85 -19
  9. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/util/input_resolver.py +5 -0
  10. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/evaluators/declarative/declarative_evaluator.py +18 -10
  11. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/evaluators/memory/memory_evaluator.py +2 -0
  12. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/evaluators/test/test_case_evaluator.py +2 -0
  13. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/evaluators/zep/zep_evaluator.py +2 -0
  14. flock_core-0.4.0b24/src/flock/modules/assertion/assertion_module.py +286 -0
  15. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/modules/callback/callback_module.py +2 -0
  16. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/modules/memory/memory_module.py +2 -0
  17. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/modules/output/output_module.py +2 -0
  18. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/modules/performance/metrics_module.py +2 -0
  19. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/modules/zep/zep_module.py +2 -0
  20. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/agent/agent_router.py +7 -5
  21. flock_core-0.4.0b24/src/flock/routers/conditional/conditional_router.py +482 -0
  22. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/default/default_router.py +5 -1
  23. flock_core-0.4.0b24/src/flock/routers/feedback/feedback_router.py +114 -0
  24. flock_core-0.4.0b24/src/flock/routers/list_generator/list_generator_router.py +166 -0
  25. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/llm/llm_router.py +3 -1
  26. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/workflow/activities.py +20 -1
  27. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/uv.lock +258 -1
  28. flock_core-0.4.0b22/src/flock/evaluators/memory/azure_search_evaluator.py +0 -0
  29. flock_core-0.4.0b22/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -66
  30. flock_core-0.4.0b22/src/flock/modules/azure-search/azure_search_module.py +0 -0
  31. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.devcontainer/devcontainer.json +0 -0
  32. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.env_template +0 -0
  33. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  34. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  35. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  36. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.github/workflows/.gitkeep +0 -0
  37. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.github/workflows/deploy-documentation.yml +0 -0
  38. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  39. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.gitignore +0 -0
  40. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.vscode/launch.json +0 -0
  41. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.vscode/settings.json +0 -0
  42. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/.vscode/tasks.json +0 -0
  43. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/LICENSE +0 -0
  44. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/README.md +0 -0
  45. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/about/changelog.md +0 -0
  46. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/about/contributing.md +0 -0
  47. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/drawio/architecture.drawio +0 -0
  48. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/cli_outputs/out.png +0 -0
  49. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/components_chart.png +0 -0
  50. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/examples/01_01.png +0 -0
  51. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/examples/01_02.png +0 -0
  52. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/examples/01_03.png +0 -0
  53. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/examples/01_04.png +0 -0
  54. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/examples/01_05.png +0 -0
  55. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/examples/01_06.png +0 -0
  56. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/flock.png +0 -0
  57. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/flock_cli.png +0 -0
  58. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/flow_chart.png +0 -0
  59. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  60. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/hummingbird.png +0 -0
  61. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/icon.png +0 -0
  62. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/icon.png~ +0 -0
  63. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/logo.png +0 -0
  64. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/memory_concepts.png +0 -0
  65. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/memory_flow.png +0 -0
  66. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/assets/images/memory_flow_chart.png +0 -0
  67. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/components/evaluators.md +0 -0
  68. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/components/index.md +0 -0
  69. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/components/modules.md +0 -0
  70. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/components/tools.md +0 -0
  71. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/core-concepts/agents.md +0 -0
  72. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/core-concepts/declarative.md +0 -0
  73. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/core-concepts/index.md +0 -0
  74. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/core-concepts/workflows.md +0 -0
  75. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/create_doc_boilerplate.py +0 -0
  76. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/deployment/index.md +0 -0
  77. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/deployment/temporal.md +0 -0
  78. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/getting-started/configuration.md +0 -0
  79. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/getting-started/index.md +0 -0
  80. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/getting-started/installation.md +0 -0
  81. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/getting-started/quickstart.md +0 -0
  82. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/guides/chaining-agents.md +0 -0
  83. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/guides/index.md +0 -0
  84. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/index.md +0 -0
  85. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/interacting-with-flock/cli-tool.md +0 -0
  86. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/interacting-with-flock/index.md +0 -0
  87. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/interacting-with-flock/interactive-cli.md +0 -0
  88. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/interacting-with-flock/programmatic.md +0 -0
  89. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/interacting-with-flock/rest-api.md +0 -0
  90. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/interacting-with-flock/web-ui.md +0 -0
  91. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/reference/flock_agent.md +0 -0
  92. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/reference/index.md +0 -0
  93. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/release-notes/magpie.md +0 -0
  94. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/docs/stylesheets/extra.css +0 -0
  95. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/mkdocs.yml +0 -0
  96. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/requirements.txt +0 -0
  97. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/scripts/code_collector.py +0 -0
  98. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/scripts/create_docs.py +0 -0
  99. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/__init__.py +0 -0
  100. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/assets/release_notes.md +0 -0
  101. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/config.py +0 -0
  102. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/constants.py +0 -0
  103. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/create_agent.py +0 -0
  104. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/create_flock.py +0 -0
  105. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/execute_flock.py +0 -0
  106. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/load_agent.py +0 -0
  107. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/load_examples.py +0 -0
  108. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/load_flock.py +0 -0
  109. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/load_release_notes.py +0 -0
  110. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/loaded_flock_cli.py +0 -0
  111. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/manage_agents.py +0 -0
  112. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/registry_management.py +0 -0
  113. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/runner.py +0 -0
  114. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/settings.py +0 -0
  115. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/utils.py +0 -0
  116. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/view_results.py +0 -0
  117. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/cli/yaml_editor.py +0 -0
  118. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/config.py +0 -0
  119. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/__init__.py +0 -0
  120. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/__init__.py +0 -0
  121. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/endpoints.py +0 -0
  122. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/main.py +0 -0
  123. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/models.py +0 -0
  124. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/run_store.py +0 -0
  125. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/runner.py +0 -0
  126. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/ui/__init__.py +0 -0
  127. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/ui/routes.py +0 -0
  128. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/api/ui/utils.py +0 -0
  129. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/context/context.py +0 -0
  130. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/context/context_manager.py +0 -0
  131. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/context/context_vars.py +0 -0
  132. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/evaluation/utils.py +0 -0
  133. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/execution/batch_executor.py +0 -0
  134. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/execution/evaluation_executor.py +0 -0
  135. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/execution/local_executor.py +0 -0
  136. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/execution/temporal_executor.py +0 -0
  137. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/flock_evaluator.py +0 -0
  138. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/flock_module.py +0 -0
  139. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/interpreter/python_interpreter.py +0 -0
  140. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/__init__.py +0 -0
  141. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  142. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  143. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  144. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/formatters/themes.py +0 -0
  145. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/logging.py +0 -0
  146. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  147. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/telemetry.py +0 -0
  148. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  149. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  150. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  151. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/logging/trace_and_logged.py +0 -0
  152. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/mixin/dspy_integration.py +0 -0
  153. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/mixin/prompt_parser.py +0 -0
  154. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/serialization/__init__.py +0 -0
  155. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/serialization/callable_registry.py +0 -0
  156. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/serialization/flock_serializer.py +0 -0
  157. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/serialization/json_encoder.py +0 -0
  158. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/serialization/secure_serializer.py +0 -0
  159. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/serialization/serializable.py +0 -0
  160. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/tools/azure_tools.py +0 -0
  161. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/tools/basic_tools.py +0 -0
  162. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/tools/dev_tools/github.py +0 -0
  163. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/tools/llm_tools.py +0 -0
  164. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/tools/markdown_tools.py +0 -0
  165. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/tools/zendesk_tools.py +0 -0
  166. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/util/cli_helper.py +0 -0
  167. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/util/file_path_utils.py +0 -0
  168. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/util/hydrator.py +0 -0
  169. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/core/util/loader.py +0 -0
  170. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/modules/memory/memory_parser.py +0 -0
  171. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/modules/memory/memory_storage.py +0 -0
  172. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/platform/docker_tools.py +0 -0
  173. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/platform/jaeger_install.py +0 -0
  174. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/__init__.py +0 -0
  175. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/agent/__init__.py +0 -0
  176. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/agent/handoff_agent.py +0 -0
  177. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/default/__init__.py +0 -0
  178. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/routers/llm/__init__.py +0 -0
  179. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/3024-day.toml +0 -0
  180. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/3024-night.toml +0 -0
  181. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/aardvark-blue.toml +0 -0
  182. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/abernathy.toml +0 -0
  183. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/adventure.toml +0 -0
  184. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/adventuretime.toml +0 -0
  185. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/afterglow.toml +0 -0
  186. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/alabaster.toml +0 -0
  187. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/alienblood.toml +0 -0
  188. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/andromeda.toml +0 -0
  189. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/apple-classic.toml +0 -0
  190. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/apple-system-colors.toml +0 -0
  191. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/arcoiris.toml +0 -0
  192. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/argonaut copy.toml +0 -0
  193. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/argonaut.toml +0 -0
  194. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/arthur.toml +0 -0
  195. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ateliersulphurpool.toml +0 -0
  196. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/atom.toml +0 -0
  197. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/atom_test.toml +0 -0
  198. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/atomonelight.toml +0 -0
  199. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/aurora.toml +0 -0
  200. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ayu copy.toml +0 -0
  201. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ayu-light.toml +0 -0
  202. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ayu-mirage.toml +0 -0
  203. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ayu.toml +0 -0
  204. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/banana-blueberry.toml +0 -0
  205. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/batman.toml +0 -0
  206. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/belafonte-day.toml +0 -0
  207. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/belafonte-night.toml +0 -0
  208. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/birdsofparadise.toml +0 -0
  209. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/blazer.toml +0 -0
  210. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/blue-matrix.toml +0 -0
  211. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/blueberrypie.toml +0 -0
  212. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/bluedolphin.toml +0 -0
  213. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/blulocodark.toml +0 -0
  214. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/blulocolight.toml +0 -0
  215. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/borland.toml +0 -0
  216. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/breeze.toml +0 -0
  217. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/bright-lights.toml +0 -0
  218. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/broadcast.toml +0 -0
  219. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/brogrammer.toml +0 -0
  220. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/builtin-dark.toml +0 -0
  221. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/builtin-light.toml +0 -0
  222. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  223. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  224. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/builtin-solarized-light.toml +0 -0
  225. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/builtin-tango-dark.toml +0 -0
  226. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/builtin-tango-light.toml +0 -0
  227. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/c64.toml +0 -0
  228. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/calamity.toml +0 -0
  229. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/catppuccin-frappe.toml +0 -0
  230. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/catppuccin-latte.toml +0 -0
  231. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  232. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/catppuccin-mocha.toml +0 -0
  233. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/cga.toml +0 -0
  234. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/chalk.toml +0 -0
  235. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/chalkboard.toml +0 -0
  236. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/challengerdeep.toml +0 -0
  237. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/chester.toml +0 -0
  238. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ciapre.toml +0 -0
  239. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/clrs.toml +0 -0
  240. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/cobalt-neon.toml +0 -0
  241. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/cobalt2.toml +0 -0
  242. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/coffee-theme.toml +0 -0
  243. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/crayonponyfish.toml +0 -0
  244. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/cutiepro.toml +0 -0
  245. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/cyberdyne.toml +0 -0
  246. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/cyberpunk.toml +0 -0
  247. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  248. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dark+.toml +0 -0
  249. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dark-pastel.toml +0 -0
  250. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/darkermatrix.toml +0 -0
  251. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/darkmatrix.toml +0 -0
  252. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/darkside.toml +0 -0
  253. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dayfox.toml +0 -0
  254. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/deep.toml +0 -0
  255. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/desert.toml +0 -0
  256. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dimidium.toml +0 -0
  257. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dimmedmonokai.toml +0 -0
  258. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/django.toml +0 -0
  259. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/djangorebornagain.toml +0 -0
  260. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/djangosmooth.toml +0 -0
  261. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/doom-peacock.toml +0 -0
  262. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/doomone.toml +0 -0
  263. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dotgov.toml +0 -0
  264. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dracula+.toml +0 -0
  265. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/dracula.toml +0 -0
  266. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/duckbones.toml +0 -0
  267. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/duotone-dark.toml +0 -0
  268. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/earthsong.toml +0 -0
  269. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/elemental.toml +0 -0
  270. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/elementary.toml +0 -0
  271. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/encom.toml +0 -0
  272. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/espresso-libre.toml +0 -0
  273. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/espresso.toml +0 -0
  274. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/everblush.toml +0 -0
  275. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/fahrenheit.toml +0 -0
  276. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/fairyfloss.toml +0 -0
  277. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/farmhouse-dark.toml +0 -0
  278. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/farmhouse-light.toml +0 -0
  279. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/fideloper.toml +0 -0
  280. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/firefly-traditional.toml +0 -0
  281. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/firefoxdev.toml +0 -0
  282. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/firewatch.toml +0 -0
  283. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/fishtank.toml +0 -0
  284. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/flat.toml +0 -0
  285. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/flatland.toml +0 -0
  286. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/flexoki-dark.toml +0 -0
  287. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/flexoki-light.toml +0 -0
  288. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/floraverse.toml +0 -0
  289. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/forestblue.toml +0 -0
  290. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/framer.toml +0 -0
  291. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/frontenddelight.toml +0 -0
  292. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/funforrest.toml +0 -0
  293. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/galaxy.toml +0 -0
  294. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/galizur.toml +0 -0
  295. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/github-dark.toml +0 -0
  296. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/github.toml +0 -0
  297. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/glacier.toml +0 -0
  298. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/grape.toml +0 -0
  299. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/grass.toml +0 -0
  300. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/grey-green.toml +0 -0
  301. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/gruber-darker.toml +0 -0
  302. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/gruvboxdark.toml +0 -0
  303. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  304. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/gruvboxlight.toml +0 -0
  305. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/guezwhoz.toml +0 -0
  306. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hacktober.toml +0 -0
  307. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hardcore.toml +0 -0
  308. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/harper.toml +0 -0
  309. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hax0r-blue.toml +0 -0
  310. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hax0r-gr33n.toml +0 -0
  311. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hax0r-r3d.toml +0 -0
  312. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/highway.toml +0 -0
  313. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hipster-green.toml +0 -0
  314. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hivacruz.toml +0 -0
  315. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/homebrew.toml +0 -0
  316. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hopscotch.256.toml +0 -0
  317. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hopscotch.toml +0 -0
  318. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hurtado.toml +0 -0
  319. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/hybrid.toml +0 -0
  320. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ic-green-ppl.toml +0 -0
  321. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ic-orange-ppl.toml +0 -0
  322. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iceberg-dark.toml +0 -0
  323. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iceberg-light.toml +0 -0
  324. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/idea.toml +0 -0
  325. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/idletoes.toml +0 -0
  326. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ir-black.toml +0 -0
  327. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-dark-background.toml +0 -0
  328. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-default.toml +0 -0
  329. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-light-background.toml +0 -0
  330. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  331. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  332. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  333. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  334. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  335. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/iterm2-tango-light.toml +0 -0
  336. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/jackie-brown.toml +0 -0
  337. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/japanesque.toml +0 -0
  338. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/jellybeans.toml +0 -0
  339. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/jetbrains-darcula.toml +0 -0
  340. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/jubi.toml +0 -0
  341. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/kanagawabones.toml +0 -0
  342. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/kibble.toml +0 -0
  343. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/kolorit.toml +0 -0
  344. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/konsolas.toml +0 -0
  345. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/kurokula.toml +0 -0
  346. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/lab-fox.toml +0 -0
  347. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/laser.toml +0 -0
  348. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/later-this-evening.toml +0 -0
  349. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/lavandula.toml +0 -0
  350. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/liquidcarbon.toml +0 -0
  351. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  352. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  353. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/lovelace.toml +0 -0
  354. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/man-page.toml +0 -0
  355. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/mariana.toml +0 -0
  356. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/material.toml +0 -0
  357. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/materialdark.toml +0 -0
  358. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/materialdarker.toml +0 -0
  359. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/materialdesigncolors.toml +0 -0
  360. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/materialocean.toml +0 -0
  361. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/mathias.toml +0 -0
  362. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/matrix.toml +0 -0
  363. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/medallion.toml +0 -0
  364. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/mellifluous.toml +0 -0
  365. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/midnight-in-mojave.toml +0 -0
  366. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/mirage.toml +0 -0
  367. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/misterioso.toml +0 -0
  368. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/molokai.toml +0 -0
  369. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/monalisa.toml +0 -0
  370. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/monokai-remastered.toml +0 -0
  371. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/monokai-soda.toml +0 -0
  372. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/monokai-vivid.toml +0 -0
  373. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/n0tch2k.toml +0 -0
  374. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/neobones-dark.toml +0 -0
  375. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/neobones-light.toml +0 -0
  376. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/neon.toml +0 -0
  377. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/neopolitan.toml +0 -0
  378. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/neutron.toml +0 -0
  379. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/night-owlish-light.toml +0 -0
  380. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nightfox.toml +0 -0
  381. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nightlion-v1.toml +0 -0
  382. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nightlion-v2.toml +0 -0
  383. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/niji.toml +0 -0
  384. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nocturnal-winter.toml +0 -0
  385. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nord-light.toml +0 -0
  386. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nord.toml +0 -0
  387. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/novel.toml +0 -0
  388. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nvimdark.toml +0 -0
  389. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/nvimlight.toml +0 -0
  390. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/obsidian.toml +0 -0
  391. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ocean.toml +0 -0
  392. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/oceanic-next.toml +0 -0
  393. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/oceanicmaterial.toml +0 -0
  394. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ollie.toml +0 -0
  395. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/onehalfdark.toml +0 -0
  396. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/onehalflight.toml +0 -0
  397. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/operator-mono-dark.toml +0 -0
  398. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/overnight-slumber.toml +0 -0
  399. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/oxocarbon.toml +0 -0
  400. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/palenighthc.toml +0 -0
  401. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/pandora.toml +0 -0
  402. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/paraiso-dark.toml +0 -0
  403. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/paulmillr.toml +0 -0
  404. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/pencildark.toml +0 -0
  405. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/pencillight.toml +0 -0
  406. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/peppermint.toml +0 -0
  407. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/piatto-light.toml +0 -0
  408. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/pnevma.toml +0 -0
  409. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/popping-and-locking.toml +0 -0
  410. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/primary.toml +0 -0
  411. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/pro-light.toml +0 -0
  412. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/pro.toml +0 -0
  413. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/purple-rain.toml +0 -0
  414. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/purplepeter.toml +0 -0
  415. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/rapture.toml +0 -0
  416. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/raycast-dark.toml +0 -0
  417. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/raycast-light.toml +0 -0
  418. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/rebecca.toml +0 -0
  419. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/red-alert.toml +0 -0
  420. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/red-planet.toml +0 -0
  421. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/red-sands.toml +0 -0
  422. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/relaxed.toml +0 -0
  423. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/retro.toml +0 -0
  424. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/rippedcasts.toml +0 -0
  425. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/rose-pine-dawn.toml +0 -0
  426. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/rose-pine-moon.toml +0 -0
  427. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/rose-pine.toml +0 -0
  428. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/rouge-2.toml +0 -0
  429. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/royal.toml +0 -0
  430. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ryuuko.toml +0 -0
  431. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/sakura.toml +0 -0
  432. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/scarlet-protocol.toml +0 -0
  433. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/seafoam-pastel.toml +0 -0
  434. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/seashells.toml +0 -0
  435. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/seoulbones-dark.toml +0 -0
  436. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/seoulbones-light.toml +0 -0
  437. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/seti.toml +0 -0
  438. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/shades-of-purple.toml +0 -0
  439. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/shaman.toml +0 -0
  440. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/slate.toml +0 -0
  441. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/sleepyhollow.toml +0 -0
  442. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/smyck.toml +0 -0
  443. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/snazzy.toml +0 -0
  444. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/softserver.toml +0 -0
  445. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/solarized-darcula.toml +0 -0
  446. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/solarized-dark---patched.toml +0 -0
  447. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  448. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/spacedust.toml +0 -0
  449. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  450. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/spacegray-eighties.toml +0 -0
  451. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/spacegray.toml +0 -0
  452. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/spiderman.toml +0 -0
  453. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/spring.toml +0 -0
  454. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/square.toml +0 -0
  455. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/sublette.toml +0 -0
  456. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/subliminal.toml +0 -0
  457. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/sugarplum.toml +0 -0
  458. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/sundried.toml +0 -0
  459. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/symfonic.toml +0 -0
  460. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/synthwave-everything.toml +0 -0
  461. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/synthwave.toml +0 -0
  462. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/synthwavealpha.toml +0 -0
  463. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tango-adapted.toml +0 -0
  464. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tango-half-adapted.toml +0 -0
  465. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/teerb.toml +0 -0
  466. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/terafox.toml +0 -0
  467. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/terminal-basic.toml +0 -0
  468. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/thayer-bright.toml +0 -0
  469. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/the-hulk.toml +0 -0
  470. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  471. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tinacious-design-(light).toml +0 -0
  472. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tokyonight-day.toml +0 -0
  473. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tokyonight-storm.toml +0 -0
  474. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tokyonight.toml +0 -0
  475. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  476. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  477. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  478. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  479. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tomorrow-night.toml +0 -0
  480. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/tomorrow.toml +0 -0
  481. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/toychest.toml +0 -0
  482. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/treehouse.toml +0 -0
  483. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/twilight.toml +0 -0
  484. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ubuntu.toml +0 -0
  485. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ultradark.toml +0 -0
  486. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/ultraviolent.toml +0 -0
  487. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/underthesea.toml +0 -0
  488. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/unikitty.toml +0 -0
  489. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/urple.toml +0 -0
  490. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/vaughn.toml +0 -0
  491. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/vesper.toml +0 -0
  492. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/vibrantink.toml +0 -0
  493. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/vimbones.toml +0 -0
  494. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/violet-dark.toml +0 -0
  495. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/violet-light.toml +0 -0
  496. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/warmneon.toml +0 -0
  497. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/wez.toml +0 -0
  498. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/whimsy.toml +0 -0
  499. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/wildcherry.toml +0 -0
  500. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/wilmersdorf.toml +0 -0
  501. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/wombat.toml +0 -0
  502. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/wryan.toml +0 -0
  503. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/xcodedark.toml +0 -0
  504. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/xcodedarkhc.toml +0 -0
  505. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/xcodelight.toml +0 -0
  506. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/xcodelighthc.toml +0 -0
  507. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/xcodewwdc.toml +0 -0
  508. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/zenbones-dark.toml +0 -0
  509. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/zenbones-light.toml +0 -0
  510. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/zenbones.toml +0 -0
  511. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/zenburn.toml +0 -0
  512. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/zenburned.toml +0 -0
  513. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/zenwritten-dark.toml +0 -0
  514. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/themes/zenwritten-light.toml +0 -0
  515. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/workflow/__init__.py +0 -0
  516. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/workflow/agent_activities.py +0 -0
  517. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/workflow/temporal_setup.py +0 -0
  518. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/src/flock/workflow/workflow.py +0 -0
  519. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/__init__.py +0 -0
  520. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/core/test_flock_batch.py +0 -0
  521. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/core/test_flock_core.py +0 -0
  522. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/serialization/__init__.py +0 -0
  523. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/serialization/test_enhanced_serialization.py +0 -0
  524. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/serialization/test_file_path_serialization.py +0 -0
  525. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/serialization/test_flock_serializer.py +0 -0
  526. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/serialization/test_nested_serialization.py +0 -0
  527. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/serialization/test_yaml_serialization.py +0 -0
  528. {flock_core-0.4.0b22 → flock_core-0.4.0b24}/tests/tools/test_zendesk_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.4.0b22
3
+ Version: 0.4.0b24
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -17,6 +17,7 @@ Requires-Dist: dspy==2.6.16
17
17
  Requires-Dist: duckduckgo-search>=7.3.2
18
18
  Requires-Dist: fastapi>=0.115.8
19
19
  Requires-Dist: httpx>=0.28.1
20
+ Requires-Dist: inspect-ai>=0.3.88
20
21
  Requires-Dist: litellm==1.63.7
21
22
  Requires-Dist: loguru>=0.7.3
22
23
  Requires-Dist: matplotlib>=3.10.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flock-core"
3
- version = "0.4.0b-22"
3
+ version = "0.4.0b-24"
4
4
  description = "Declarative LLM Orchestration at Scale"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -22,6 +22,7 @@ dependencies = [
22
22
  "duckduckgo-search>=7.3.2",
23
23
  "fastapi>=0.115.8",
24
24
  "httpx>=0.28.1",
25
+ "inspect-ai>=0.3.88",
25
26
  "litellm==1.63.7",
26
27
  "loguru>=0.7.3",
27
28
  "matplotlib>=3.10.0",
@@ -59,6 +59,10 @@ FlockRegistry = get_registry() # Get the registry instance
59
59
  # Define TypeVar for generic class methods like from_dict
60
60
  T = TypeVar("T", bound="Flock")
61
61
 
62
+ from rich.traceback import install
63
+
64
+ install(show_locals=True)
65
+
62
66
 
63
67
  class Flock(BaseModel, Serializable):
64
68
  """Orchestrator for managing and executing agent systems.
@@ -350,9 +354,13 @@ class Flock(BaseModel, Serializable):
350
354
  try:
351
355
  resolved_start_agent = self._agents.get(start_agent_name)
352
356
  if not resolved_start_agent:
353
- resolved_start_agent = FlockRegistry.get_agent(start_agent_name)
357
+ resolved_start_agent = FlockRegistry.get_agent(
358
+ start_agent_name
359
+ )
354
360
  if not resolved_start_agent:
355
- raise ValueError(f"Start agent '{start_agent_name}' not found.")
361
+ raise ValueError(
362
+ f"Start agent '{start_agent_name}' not found."
363
+ )
356
364
  self.add_agent(resolved_start_agent)
357
365
 
358
366
  run_context = context if context else FlockContext()
@@ -384,15 +392,20 @@ class Flock(BaseModel, Serializable):
384
392
 
385
393
  # Execute workflow
386
394
  if not self.enable_temporal:
387
- result = await run_local_workflow(run_context, box_result=False)
395
+ result = await run_local_workflow(
396
+ run_context, box_result=False
397
+ )
388
398
  else:
389
- result = await run_temporal_workflow(run_context, box_result=False)
399
+ result = await run_temporal_workflow(
400
+ run_context, box_result=False
401
+ )
390
402
 
391
403
  span.set_attribute("result.type", str(type(result)))
392
404
  result_str = str(result)
393
405
  span.set_attribute(
394
406
  "result.preview",
395
- result_str[:1000] + ("..." if len(result_str) > 1000 else ""),
407
+ result_str[:1000]
408
+ + ("..." if len(result_str) > 1000 else ""),
396
409
  )
397
410
 
398
411
  if box_result:
@@ -400,13 +413,17 @@ class Flock(BaseModel, Serializable):
400
413
  logger.debug("Boxing final result.")
401
414
  return Box(result)
402
415
  except ImportError:
403
- logger.warning("Box library not installed, returning raw dict.")
416
+ logger.warning(
417
+ "Box library not installed, returning raw dict."
418
+ )
404
419
  return result
405
420
  else:
406
421
  return result
407
422
 
408
423
  except Exception as e:
409
- logger.error(f"Flock run '{self.name}' failed: {e}", exc_info=True)
424
+ logger.error(
425
+ f"Flock run '{self.name}' failed: {e}", exc_info=True
426
+ )
410
427
  span.record_exception(e)
411
428
  span.set_status(trace.Status(trace.StatusCode.ERROR, str(e)))
412
429
  return {
@@ -23,9 +23,9 @@ from rich.console import Console
23
23
 
24
24
  # Core Flock components (ensure these are importable)
25
25
  from flock.core.context.context import FlockContext
26
- from flock.core.flock_evaluator import FlockEvaluator
27
- from flock.core.flock_module import FlockModule
28
- from flock.core.flock_router import FlockRouter
26
+ from flock.core.flock_evaluator import FlockEvaluator, FlockEvaluatorConfig
27
+ from flock.core.flock_module import FlockModule, FlockModuleConfig
28
+ from flock.core.flock_router import FlockRouter, FlockRouterConfig
29
29
  from flock.core.logging.logging import get_logger
30
30
 
31
31
  # Mixins and Serialization components
@@ -45,6 +45,15 @@ tracer = trace.get_tracer(__name__)
45
45
  T = TypeVar("T", bound="FlockAgent")
46
46
 
47
47
 
48
+ SignatureType = (
49
+ str
50
+ | Callable[..., str]
51
+ | type[BaseModel]
52
+ | Callable[..., type[BaseModel]]
53
+ | None
54
+ )
55
+
56
+
48
57
  # Make FlockAgent inherit from Serializable
49
58
  class FlockAgent(BaseModel, Serializable, DSPyIntegrationMixin, ABC):
50
59
  """Core, declarative base class for Flock agents, enabling serialization,
@@ -61,14 +70,14 @@ class FlockAgent(BaseModel, Serializable, DSPyIntegrationMixin, ABC):
61
70
  "",
62
71
  description="A human-readable description or a callable returning one.",
63
72
  )
64
- input: str | Callable[..., str] | None = Field(
73
+ input: SignatureType = Field(
65
74
  None,
66
75
  description=(
67
76
  "Signature for input keys. Supports type hints (:) and descriptions (|). "
68
77
  "E.g., 'query: str | Search query, context: dict | Conversation context'. Can be a callable."
69
78
  ),
70
79
  )
71
- output: str | Callable[..., str] | None = Field(
80
+ output: SignatureType = Field(
72
81
  None,
73
82
  description=(
74
83
  "Signature for output keys. Supports type hints (:) and descriptions (|). "
@@ -111,6 +120,43 @@ class FlockAgent(BaseModel, Serializable, DSPyIntegrationMixin, ABC):
111
120
  description="Runtime context associated with the flock execution.",
112
121
  )
113
122
 
123
+ def __init__(
124
+ self,
125
+ name: str,
126
+ model: str | None = None,
127
+ description: str | Callable[..., str] | None = "",
128
+ input: SignatureType = None,
129
+ output: SignatureType = None,
130
+ tools: list[Callable[..., Any]] | None = None,
131
+ evaluator: "FlockEvaluator | None" = None,
132
+ handoff_router: "FlockRouter | None" = None,
133
+ modules: dict[str, "FlockModule"] | None = None, # Use dict for modules
134
+ write_to_file: bool = False,
135
+ wait_for_input: bool = False,
136
+ **kwargs,
137
+ ):
138
+ super().__init__(
139
+ name=name,
140
+ model=model,
141
+ description=description,
142
+ input=input, # Store the raw input spec
143
+ output=output, # Store the raw output spec
144
+ tools=tools,
145
+ write_to_file=write_to_file,
146
+ wait_for_input=wait_for_input,
147
+ evaluator=evaluator,
148
+ handoff_router=handoff_router,
149
+ modules=modules
150
+ if modules is not None
151
+ else {}, # Ensure modules is a dict
152
+ **kwargs,
153
+ )
154
+
155
+ if isinstance(self.input, type) and issubclass(self.input, BaseModel):
156
+ self._input_model = self.input
157
+ if isinstance(self.output, type) and issubclass(self.output, BaseModel):
158
+ self._output_model = self.output
159
+
114
160
  # --- Existing Methods (add_module, remove_module, etc.) ---
115
161
  # (Keep these methods as they were, adding type hints where useful)
116
162
  def add_module(self, module: FlockModule) -> None:
@@ -359,6 +405,114 @@ class FlockAgent(BaseModel, Serializable, DSPyIntegrationMixin, ABC):
359
405
  span.record_exception(temporal_error)
360
406
  raise
361
407
 
408
+ def add_component(
409
+ self,
410
+ config_instance: FlockModuleConfig
411
+ | FlockRouterConfig
412
+ | FlockEvaluatorConfig,
413
+ component_name: str | None = None,
414
+ ) -> "FlockAgent":
415
+ """Adds or replaces a component (Evaluator, Router, Module) based on its configuration object.
416
+
417
+ Args:
418
+ config_instance: An instance of a config class inheriting from
419
+ FlockModuleConfig, FlockRouterConfig, or FlockEvaluatorConfig.
420
+ component_name: Explicit name for the component (required for Modules if not in config).
421
+
422
+ Returns:
423
+ self for potential chaining.
424
+ """
425
+ from flock.core.flock_registry import get_registry
426
+
427
+ config_type = type(config_instance)
428
+ registry = get_registry() # Get registry instance
429
+ logger.debug(
430
+ f"Attempting to add component via config: {config_type.__name__}"
431
+ )
432
+
433
+ # --- 1. Find Component Class using Registry Map ---
434
+ ComponentClass = registry.get_component_class_for_config(config_type)
435
+
436
+ if not ComponentClass:
437
+ logger.error(
438
+ f"No component class registered for config type {config_type.__name__}. Use @flock_component(config_class=...) on the component."
439
+ )
440
+ raise TypeError(
441
+ f"Cannot find component class for config {config_type.__name__}"
442
+ )
443
+
444
+ component_class_name = ComponentClass.__name__
445
+ logger.debug(
446
+ f"Found component class '{component_class_name}' mapped to config '{config_type.__name__}'"
447
+ )
448
+
449
+ # --- 2. Determine Assignment Target and Name (Same as before) ---
450
+ instance_name = component_name
451
+ attribute_name: str = ""
452
+
453
+ if issubclass(ComponentClass, FlockEvaluator):
454
+ attribute_name = "evaluator"
455
+ if not instance_name:
456
+ instance_name = getattr(
457
+ config_instance, "name", component_class_name.lower()
458
+ )
459
+
460
+ elif issubclass(ComponentClass, FlockRouter):
461
+ attribute_name = "handoff_router"
462
+ if not instance_name:
463
+ instance_name = getattr(
464
+ config_instance, "name", component_class_name.lower()
465
+ )
466
+
467
+ elif issubclass(ComponentClass, FlockModule):
468
+ attribute_name = "modules"
469
+ if not instance_name:
470
+ instance_name = getattr(
471
+ config_instance, "name", component_class_name.lower()
472
+ )
473
+ if not instance_name:
474
+ raise ValueError(
475
+ "Module name must be provided either in config or as component_name argument."
476
+ )
477
+ # Ensure config has name if module expects it
478
+ if hasattr(config_instance, "name") and not getattr(
479
+ config_instance, "name", None
480
+ ):
481
+ setattr(config_instance, "name", instance_name)
482
+
483
+ else: # Should be caught by registry map logic ideally
484
+ raise TypeError(
485
+ f"Class '{component_class_name}' mapped from config is not a valid Flock component."
486
+ )
487
+
488
+ # --- 3. Instantiate the Component (Same as before) ---
489
+ try:
490
+ init_args = {"config": config_instance, "name": instance_name}
491
+
492
+ component_instance = ComponentClass(**init_args)
493
+ except Exception as e:
494
+ logger.error(
495
+ f"Failed to instantiate {ComponentClass.__name__} with config {config_type.__name__}: {e}",
496
+ exc_info=True,
497
+ )
498
+ raise RuntimeError(f"Component instantiation failed: {e}") from e
499
+
500
+ # --- 4. Assign to the Agent (Same as before) ---
501
+ if attribute_name == "modules":
502
+ if not isinstance(self.modules, dict):
503
+ self.modules = {}
504
+ self.modules[instance_name] = component_instance
505
+ logger.info(
506
+ f"Added/Updated module '{instance_name}' (type: {ComponentClass.__name__}) to agent '{self.name}'"
507
+ )
508
+ else:
509
+ setattr(self, attribute_name, component_instance)
510
+ logger.info(
511
+ f"Set {attribute_name} to {ComponentClass.__name__} (instance name: '{instance_name}') for agent '{self.name}'"
512
+ )
513
+
514
+ return self
515
+
362
516
  # resolve_callables remains useful for dynamic definitions
363
517
  def resolve_callables(self, context: FlockContext | None = None) -> None:
364
518
  """Resolves callable fields (description, input, output) using context."""
@@ -428,81 +582,71 @@ class FlockAgent(BaseModel, Serializable, DSPyIntegrationMixin, ABC):
428
582
  exclude_none=True, # Exclude None values for cleaner output
429
583
  )
430
584
  logger.debug(f"Base agent data for '{self.name}': {list(data.keys())}")
585
+ serialized_modules = {}
586
+
587
+ def add_serialized_component(component: Any, field_name: str):
588
+ if component:
589
+ comp_type = type(component)
590
+ type_name = FlockRegistry.get_component_type_name(
591
+ comp_type
592
+ ) # Get registered name
593
+ if type_name:
594
+ try:
595
+ serialized_component_data = serialize_item(component)
596
+
597
+ if not isinstance(serialized_component_data, dict):
598
+ logger.error(
599
+ f"Serialization of component {type_name} for field '{field_name}' did not result in a dictionary. Got: {type(serialized_component_data)}"
600
+ )
601
+ serialized_modules[field_name] = {
602
+ "type": type_name,
603
+ "name": getattr(component, "name", "unknown"),
604
+ "error": "serialization_failed_non_dict",
605
+ }
606
+ else:
607
+ serialized_component_data["type"] = type_name
608
+ serialized_modules[field_name] = (
609
+ serialized_component_data
610
+ )
611
+ logger.debug(
612
+ f"Successfully serialized component for field '{field_name}' (type: {type_name})"
613
+ )
431
614
 
432
- # --- Serialize Components using Registry Type Names ---
433
- # Evaluator
434
- if self.evaluator:
435
- logger.debug(f"Serializing evaluator for agent '{self.name}'")
436
- evaluator_type_name = FlockRegistry.get_component_type_name(
437
- type(self.evaluator)
438
- )
439
- if evaluator_type_name:
440
- # Recursively serialize the evaluator's dict representation
441
- evaluator_dict = serialize_item(
442
- self.evaluator.model_dump(mode="json", exclude_none=True)
443
- )
444
- evaluator_dict["type"] = evaluator_type_name # Add type marker
445
- data["evaluator"] = evaluator_dict
446
- logger.debug(
447
- f"Added evaluator of type '{evaluator_type_name}' to agent '{self.name}'"
448
- )
449
- else:
450
- logger.warning(
451
- f"Could not get registered type name for evaluator {type(self.evaluator).__name__} in agent '{self.name}'. Skipping serialization."
452
- )
453
-
454
- # Router
455
- if self.handoff_router:
456
- logger.debug(f"Serializing router for agent '{self.name}'")
457
- router_type_name = FlockRegistry.get_component_type_name(
458
- type(self.handoff_router)
459
- )
460
- if router_type_name:
461
- router_dict = serialize_item(
462
- self.handoff_router.model_dump(
463
- mode="json", exclude_none=True
464
- )
465
- )
466
- router_dict["type"] = router_type_name
467
- data["handoff_router"] = router_dict
468
- logger.debug(
469
- f"Added router of type '{router_type_name}' to agent '{self.name}'"
470
- )
471
- else:
472
- logger.warning(
473
- f"Could not get registered type name for router {type(self.handoff_router).__name__} in agent '{self.name}'. Skipping serialization."
474
- )
475
-
476
- # Modules
477
- if self.modules:
478
- logger.debug(
479
- f"Serializing {len(self.modules)} modules for agent '{self.name}'"
480
- )
481
- serialized_modules = {}
482
- for name, module_instance in self.modules.items():
483
- module_type_name = FlockRegistry.get_component_type_name(
484
- type(module_instance)
485
- )
486
- if module_type_name:
487
- module_dict = serialize_item(
488
- module_instance.model_dump(
489
- mode="json", exclude_none=True
615
+ except Exception as e:
616
+ logger.error(
617
+ f"Failed to serialize component {type_name} for field '{field_name}': {e}",
618
+ exc_info=True,
490
619
  )
491
- )
492
- module_dict["type"] = module_type_name
493
- serialized_modules[name] = module_dict
494
- logger.debug(
495
- f"Added module '{name}' of type '{module_type_name}' to agent '{self.name}'"
496
- )
620
+ serialized_modules[field_name] = {
621
+ "type": type_name,
622
+ "name": getattr(component, "name", "unknown"),
623
+ "error": "serialization_failed",
624
+ }
497
625
  else:
498
626
  logger.warning(
499
- f"Could not get registered type name for module {type(module_instance).__name__} ('{name}') in agent '{self.name}'. Skipping."
627
+ f"Cannot serialize unregistered component {comp_type.__name__} for field '{field_name}'"
500
628
  )
501
- if serialized_modules:
502
- data["modules"] = serialized_modules
503
- logger.debug(
504
- f"Added {len(serialized_modules)} modules to agent '{self.name}'"
505
- )
629
+
630
+ add_serialized_component(self.evaluator, "evaluator")
631
+ if serialized_modules:
632
+ data["evaluator"] = serialized_modules["evaluator"]
633
+ logger.debug(f"Added evaluator to agent '{self.name}'")
634
+
635
+ serialized_modules = {}
636
+ add_serialized_component(self.handoff_router, "handoff_router")
637
+ if serialized_modules:
638
+ data["handoff_router"] = serialized_modules["handoff_router"]
639
+ logger.debug(f"Added handoff_router to agent '{self.name}'")
640
+
641
+ serialized_modules = {}
642
+ for module in self.modules.values():
643
+ add_serialized_component(module, module.name)
644
+
645
+ if serialized_modules:
646
+ data["modules"] = serialized_modules
647
+ logger.debug(
648
+ f"Added {len(serialized_modules)} modules to agent '{self.name}'"
649
+ )
506
650
 
507
651
  # --- Serialize Tools (Callables) ---
508
652
  if self.tools:
@@ -3,7 +3,7 @@
3
3
  from collections.abc import Callable
4
4
  from typing import Any
5
5
 
6
- from flock.core.flock_agent import FlockAgent
6
+ from flock.core.flock_agent import FlockAgent, SignatureType
7
7
  from flock.core.logging.formatters.themes import OutputTheme
8
8
  from flock.evaluators.declarative.declarative_evaluator import (
9
9
  DeclarativeEvaluator,
@@ -24,15 +24,15 @@ class FlockFactory:
24
24
  name: str,
25
25
  description: str | Callable[..., str] | None = None,
26
26
  model: str | Callable[..., str] | None = None,
27
- input: str | Callable[..., str] | None = None,
28
- output: str | Callable[..., str] | None = None,
27
+ input: SignatureType = None,
28
+ output: SignatureType = None,
29
29
  tools: list[Callable[..., Any] | Any] | None = None,
30
30
  use_cache: bool = True,
31
31
  enable_rich_tables: bool = False,
32
32
  output_theme: OutputTheme = OutputTheme.abernathy,
33
33
  wait_for_input: bool = False,
34
34
  temperature: float = 0.0,
35
- max_tokens: int = 4096,
35
+ max_tokens: int = 8192,
36
36
  alert_latency_threshold_ms: int = 30000,
37
37
  no_output: bool = False,
38
38
  print_context: bool = False,
@@ -42,10 +42,12 @@ class FlockFactory:
42
42
  ) -> FlockAgent:
43
43
  """Creates a default FlockAgent.
44
44
 
45
- The default agent includes a declarative evaluator with the following modules:
45
+ The default agent includes the following modules:
46
+ - DeclarativeEvaluator
46
47
  - OutputModule
48
+ - MetricsModule
47
49
 
48
- It also includes often needed configurations like cache usage, rich tables, and output theme.
50
+ It also includes direct acces to the most important configurations.
49
51
  """
50
52
  eval_config = DeclarativeEvaluatorConfig(
51
53
  model=model,