flock-core 0.3.6__tar.gz → 0.3.10__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 (568) hide show
  1. {flock_core-0.3.6 → flock_core-0.3.10}/.gitignore +1 -0
  2. {flock_core-0.3.6 → flock_core-0.3.10}/PKG-INFO +6 -6
  3. flock_core-0.3.10/docs/architecture/components.md +477 -0
  4. flock_core-0.3.10/docs/architecture/overview.md +216 -0
  5. flock_core-0.3.10/docs/core-concepts/agents.md +386 -0
  6. flock_core-0.3.10/docs/core-concepts/declarative.md +248 -0
  7. flock_core-0.3.10/docs/core-concepts/error-handling.md +351 -0
  8. flock_core-0.3.10/docs/core-concepts/evaluators.md +263 -0
  9. {flock_core-0.3.6 → flock_core-0.3.10}/docs/core-concepts/memory.md +1 -1
  10. flock_core-0.3.10/docs/core-concepts/modules/memory.md +331 -0
  11. flock_core-0.3.10/docs/core-concepts/modules/metrics.md +325 -0
  12. flock_core-0.3.10/docs/core-concepts/modules/output.md +331 -0
  13. flock_core-0.3.10/docs/core-concepts/modules.md +368 -0
  14. flock_core-0.3.10/docs/core-concepts/routers/agent.md +197 -0
  15. flock_core-0.3.10/docs/core-concepts/routers/default.md +200 -0
  16. flock_core-0.3.10/docs/core-concepts/routers/llm.md +169 -0
  17. flock_core-0.3.10/docs/core-concepts/routers.md +227 -0
  18. flock_core-0.3.10/docs/core-concepts/type-system.md +273 -0
  19. flock_core-0.3.10/docs/core-concepts/workflows.md +300 -0
  20. flock_core-0.3.10/docs/deployment/monitoring.md +452 -0
  21. flock_core-0.3.10/docs/deployment/production-setup.md +471 -0
  22. flock_core-0.3.10/docs/examples/chain-gang.md +379 -0
  23. flock_core-0.3.10/docs/examples/hello-flock.md +270 -0
  24. flock_core-0.3.10/docs/getting-started/configuration.md +371 -0
  25. flock_core-0.3.10/docs/getting-started/installation.md +129 -0
  26. flock_core-0.3.10/docs/integrations/rest-api.md +296 -0
  27. flock_core-0.3.10/docs/integrations/temporal.md +240 -0
  28. {flock_core-0.3.6 → flock_core-0.3.10}/docs/release-notes/release_notes.md +31 -10
  29. {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/01_simple_example.py +4 -1
  30. flock_core-0.3.10/examples/01_introduction/06_simple_hand_off.py +42 -0
  31. flock_core-0.3.10/examples/02_cook_book/repo_analyzer/repo_analyzer.py +721 -0
  32. flock_core-0.3.10/examples/02_cook_book/repo_analyzer/repo_analyzer_llm.py +285 -0
  33. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/self_improvement_with_memory.py +3 -2
  34. {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/evaluator/multi_hops.py +1 -1
  35. flock_core-0.3.10/examples/03_misc/router/router_example.py +99 -0
  36. {flock_core-0.3.6 → flock_core-0.3.10}/mkdocs.yml +18 -10
  37. {flock_core-0.3.6 → flock_core-0.3.10}/pyproject.toml +7 -5
  38. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/assets/release_notes.md +37 -9
  39. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/context/context_manager.py +3 -0
  40. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/context/context_vars.py +1 -0
  41. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock.py +2 -1
  42. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_agent.py +10 -23
  43. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_factory.py +9 -6
  44. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_module.py +3 -1
  45. flock_core-0.3.10/src/flock/core/flock_router.py +70 -0
  46. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/util/cli_helper.py +1 -3
  47. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/evaluators/zep/zep_evaluator.py +2 -0
  48. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/performance/metrics_module.py +185 -189
  49. flock_core-0.3.10/src/flock/routers/__init__.py +1 -0
  50. flock_core-0.3.10/src/flock/routers/agent/__init__.py +1 -0
  51. flock_core-0.3.10/src/flock/routers/agent/agent_router.py +234 -0
  52. flock_core-0.3.10/src/flock/routers/agent/handoff_agent.py +58 -0
  53. flock_core-0.3.10/src/flock/routers/default/__init__.py +1 -0
  54. flock_core-0.3.10/src/flock/routers/default/default_router.py +76 -0
  55. flock_core-0.3.10/src/flock/routers/llm/__init__.py +1 -0
  56. flock_core-0.3.10/src/flock/routers/llm/llm_router.py +363 -0
  57. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/activities.py +77 -34
  58. flock_core-0.3.10/tests/unittests/test_agent_based_handoff.py +499 -0
  59. flock_core-0.3.10/tests/unittests/test_agent_router_property.py +125 -0
  60. {flock_core-0.3.6 → flock_core-0.3.10}/uv.lock +7 -386
  61. flock_core-0.3.6/docs/architecture/components.md +0 -3
  62. flock_core-0.3.6/docs/architecture/overview.md +0 -3
  63. flock_core-0.3.6/docs/core-concepts/agents.md +0 -3
  64. flock_core-0.3.6/docs/core-concepts/declarative.md +0 -3
  65. flock_core-0.3.6/docs/core-concepts/error-handling.md +0 -3
  66. flock_core-0.3.6/docs/core-concepts/evaluators.md +0 -1
  67. flock_core-0.3.6/docs/core-concepts/modules.md +0 -1
  68. flock_core-0.3.6/docs/core-concepts/workflows.md +0 -3
  69. flock_core-0.3.6/docs/deployment/monitoring.md +0 -3
  70. flock_core-0.3.6/docs/deployment/production-setup.md +0 -3
  71. flock_core-0.3.6/docs/examples/chain-gang.md +0 -3
  72. flock_core-0.3.6/docs/examples/hello-flock.md +0 -3
  73. flock_core-0.3.6/docs/examples/type-system.md +0 -3
  74. flock_core-0.3.6/docs/getting-started/configuration.md +0 -3
  75. flock_core-0.3.6/docs/getting-started/installation.md +0 -3
  76. flock_core-0.3.6/docs/integrations/temporal.md +0 -3
  77. flock_core-0.3.6/examples/01_introduction/06_simple_hand_off.py +0 -31
  78. {flock_core-0.3.6 → flock_core-0.3.10}/.devcontainer/devcontainer.json +0 -0
  79. {flock_core-0.3.6 → flock_core-0.3.10}/.env_template +0 -0
  80. {flock_core-0.3.6 → flock_core-0.3.10}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  81. {flock_core-0.3.6 → flock_core-0.3.10}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  82. {flock_core-0.3.6 → flock_core-0.3.10}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  83. {flock_core-0.3.6 → flock_core-0.3.10}/.github/workflows/.gitkeep +0 -0
  84. {flock_core-0.3.6 → flock_core-0.3.10}/.github/workflows/deploy-documentation.yml +0 -0
  85. {flock_core-0.3.6 → flock_core-0.3.10}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  86. {flock_core-0.3.6 → flock_core-0.3.10}/.vscode/launch.json +0 -0
  87. {flock_core-0.3.6 → flock_core-0.3.10}/.vscode/settings.json +0 -0
  88. {flock_core-0.3.6 → flock_core-0.3.10}/.vscode/tasks.json +0 -0
  89. {flock_core-0.3.6 → flock_core-0.3.10}/LICENSE +0 -0
  90. {flock_core-0.3.6 → flock_core-0.3.10}/README.md +0 -0
  91. {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/complex-workflows.md +0 -0
  92. {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/custom-agents.md +0 -0
  93. {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/performance.md +0 -0
  94. {flock_core-0.3.6 → flock_core-0.3.10}/docs/advanced/testing.md +0 -0
  95. {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/flock-core.md +0 -0
  96. {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/flockagent.md +0 -0
  97. {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/types.md +0 -0
  98. {flock_core-0.3.6 → flock_core-0.3.10}/docs/api/utilities.md +0 -0
  99. {flock_core-0.3.6 → flock_core-0.3.10}/docs/architecture/design-decisions.md +0 -0
  100. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/drawio/architecture.drawio +0 -0
  101. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/cli_outputs/out.png +0 -0
  102. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/components_chart.png +0 -0
  103. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_01.png +0 -0
  104. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_02.png +0 -0
  105. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_03.png +0 -0
  106. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_04.png +0 -0
  107. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_05.png +0 -0
  108. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/examples/01_06.png +0 -0
  109. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/flock.png +0 -0
  110. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/flock_cli.png +0 -0
  111. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/flow_chart.png +0 -0
  112. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  113. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/hummingbird.png +0 -0
  114. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/icon.png +0 -0
  115. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/icon.png~ +0 -0
  116. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/logo.png +0 -0
  117. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/memory_concepts.png +0 -0
  118. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/memory_flow.png +0 -0
  119. {flock_core-0.3.6 → flock_core-0.3.10}/docs/assets/images/memory_flow_chart.png +0 -0
  120. {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/code-style.md +0 -0
  121. {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/development.md +0 -0
  122. {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/documentation.md +0 -0
  123. {flock_core-0.3.6 → flock_core-0.3.10}/docs/contributing/testing.md +0 -0
  124. {flock_core-0.3.6 → flock_core-0.3.10}/docs/create_doc_boilerplate.py +0 -0
  125. {flock_core-0.3.6 → flock_core-0.3.10}/docs/deployment/scalability.md +0 -0
  126. {flock_core-0.3.6 → flock_core-0.3.10}/docs/deployment/security.md +0 -0
  127. {flock_core-0.3.6 → flock_core-0.3.10}/docs/development/dev.md +0 -0
  128. {flock_core-0.3.6 → flock_core-0.3.10}/docs/development/replace-dspy/implementation_plan.md +0 -0
  129. {flock_core-0.3.6 → flock_core-0.3.10}/docs/development/topics.md +0 -0
  130. {flock_core-0.3.6 → flock_core-0.3.10}/docs/examples/pydantic.md +0 -0
  131. {flock_core-0.3.6/docs/core-concepts → flock_core-0.3.10/docs/examples}/type-system.md +0 -0
  132. {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/agent-chaining.md +0 -0
  133. {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/agent-definition.md +0 -0
  134. {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/lifecycle-hooks.md +0 -0
  135. {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/pydantic.md +0 -0
  136. {flock_core-0.3.6 → flock_core-0.3.10}/docs/features/type-safety.md +0 -0
  137. {flock_core-0.3.6 → flock_core-0.3.10}/docs/getting-started/concepts.md +0 -0
  138. {flock_core-0.3.6 → flock_core-0.3.10}/docs/getting-started/quickstart.md +0 -0
  139. {flock_core-0.3.6 → flock_core-0.3.10}/docs/index.md +0 -0
  140. {flock_core-0.3.6 → flock_core-0.3.10}/docs/integrations/dspy.md +0 -0
  141. {flock_core-0.3.6 → flock_core-0.3.10}/docs/integrations/litellm.md +0 -0
  142. {flock_core-0.3.6 → flock_core-0.3.10}/docs/integrations/tavily.md +0 -0
  143. {flock_core-0.3.6 → flock_core-0.3.10}/docs/stylesheets/extra.css +0 -0
  144. {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/blog-generator.md +0 -0
  145. {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/custom-tools.md +0 -0
  146. {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/error-recovery.md +0 -0
  147. {flock_core-0.3.6 → flock_core-0.3.10}/docs/tutorials/multi-agent.md +0 -0
  148. {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/02_typed_output.py +0 -0
  149. {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
  150. {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/04_descriptions.py +0 -0
  151. {flock_core-0.3.6 → flock_core-0.3.10}/examples/01_introduction/05_typed_output2.py +0 -0
  152. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/flock_without_llms.py +0 -0
  153. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/long_research_no_handoff.py +0 -0
  154. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/painting_by_numbers.py +0 -0
  155. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/project_manager.py +0 -0
  156. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_01.py +0 -0
  157. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_02.py +0 -0
  158. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_03.py +0 -0
  159. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/load_04.py +0 -0
  160. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/save_01.py +0 -0
  161. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/save_02.py +0 -0
  162. {flock_core-0.3.6 → flock_core-0.3.10}/examples/02_cook_book/save_and_load/save_03.py +0 -0
  163. {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/api/api_client.py +0 -0
  164. {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/api/api_server.py +0 -0
  165. {flock_core-0.3.6 → flock_core-0.3.10}/examples/03_misc/modules/use_modules.py +0 -0
  166. {flock_core-0.3.6 → flock_core-0.3.10}/examples/README.md +0 -0
  167. {flock_core-0.3.6 → flock_core-0.3.10}/examples/documentation/getting-started/first_agent_01.py +0 -0
  168. {flock_core-0.3.6 → flock_core-0.3.10}/examples/documentation/getting-started/first_agent_02.py +0 -0
  169. {flock_core-0.3.6 → flock_core-0.3.10}/examples/documentation/getting-started/first_agent_03.py +0 -0
  170. {flock_core-0.3.6 → flock_core-0.3.10}/examples/notebooks_wip/Untitled-1.ipynb +0 -0
  171. {flock_core-0.3.6 → flock_core-0.3.10}/examples/notebooks_wip/my_agent.json +0 -0
  172. {flock_core-0.3.6 → flock_core-0.3.10}/examples/playground/memory.py +0 -0
  173. {flock_core-0.3.6 → flock_core-0.3.10}/examples/playground/self_learner.py +0 -0
  174. {flock_core-0.3.6 → flock_core-0.3.10}/examples/playground/self_learner2.py +0 -0
  175. {flock_core-0.3.6 → flock_core-0.3.10}/requirements.txt +0 -0
  176. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/__init__.py +0 -0
  177. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/constants.py +0 -0
  178. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/create_agent.py +0 -0
  179. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/create_flock.py +0 -0
  180. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_agent.py +0 -0
  181. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_examples.py +0 -0
  182. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_flock.py +0 -0
  183. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/load_release_notes.py +0 -0
  184. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/cli/settings.py +0 -0
  185. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/config.py +0 -0
  186. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/__init__.py +0 -0
  187. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/context/context.py +0 -0
  188. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/execution/local_executor.py +0 -0
  189. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/execution/temporal_executor.py +0 -0
  190. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_api.py +0 -0
  191. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/flock_evaluator.py +0 -0
  192. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/interpreter/python_interpreter.py +0 -0
  193. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/__init__.py +0 -0
  194. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  195. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  196. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  197. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/formatters/themes.py +0 -0
  198. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/logging.py +0 -0
  199. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  200. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry.py +0 -0
  201. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  202. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  203. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  204. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/logging/trace_and_logged.py +0 -0
  205. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/mixin/dspy_integration.py +0 -0
  206. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/mixin/prompt_parser.py +0 -0
  207. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/registry/agent_registry.py +0 -0
  208. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/serialization/secure_serializer.py +0 -0
  209. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/serialization/serializable.py +0 -0
  210. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/tools/basic_tools.py +0 -0
  211. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/tools/dev_tools/github.py +0 -0
  212. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/util/hydrator.py +0 -0
  213. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/core/util/input_resolver.py +0 -0
  214. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  215. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
  216. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/callback/callback_module.py +0 -0
  217. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/memory/memory_module.py +0 -0
  218. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/memory/memory_parser.py +0 -0
  219. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/memory/memory_storage.py +0 -0
  220. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/output/output_module.py +0 -0
  221. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/modules/zep/zep_module.py +0 -0
  222. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/platform/docker_tools.py +0 -0
  223. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/platform/jaeger_install.py +0 -0
  224. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/3024-day.toml +0 -0
  225. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/3024-night.toml +0 -0
  226. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/aardvark-blue.toml +0 -0
  227. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/abernathy.toml +0 -0
  228. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/adventure.toml +0 -0
  229. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/adventuretime.toml +0 -0
  230. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/afterglow.toml +0 -0
  231. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/alabaster.toml +0 -0
  232. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/alienblood.toml +0 -0
  233. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/andromeda.toml +0 -0
  234. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/apple-classic.toml +0 -0
  235. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/apple-system-colors.toml +0 -0
  236. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/arcoiris.toml +0 -0
  237. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/argonaut copy.toml +0 -0
  238. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/argonaut.toml +0 -0
  239. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/arthur.toml +0 -0
  240. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ateliersulphurpool.toml +0 -0
  241. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/atom.toml +0 -0
  242. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/atom_test.toml +0 -0
  243. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/atomonelight.toml +0 -0
  244. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/aurora.toml +0 -0
  245. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu copy.toml +0 -0
  246. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu-light.toml +0 -0
  247. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu-mirage.toml +0 -0
  248. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ayu.toml +0 -0
  249. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/banana-blueberry.toml +0 -0
  250. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/batman.toml +0 -0
  251. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/belafonte-day.toml +0 -0
  252. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/belafonte-night.toml +0 -0
  253. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/birdsofparadise.toml +0 -0
  254. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blazer.toml +0 -0
  255. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blue-matrix.toml +0 -0
  256. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blueberrypie.toml +0 -0
  257. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/bluedolphin.toml +0 -0
  258. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blulocodark.toml +0 -0
  259. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/blulocolight.toml +0 -0
  260. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/borland.toml +0 -0
  261. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/breeze.toml +0 -0
  262. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/bright-lights.toml +0 -0
  263. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/broadcast.toml +0 -0
  264. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/brogrammer.toml +0 -0
  265. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-dark.toml +0 -0
  266. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-light.toml +0 -0
  267. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  268. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  269. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-solarized-light.toml +0 -0
  270. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-tango-dark.toml +0 -0
  271. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/builtin-tango-light.toml +0 -0
  272. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/c64.toml +0 -0
  273. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/calamity.toml +0 -0
  274. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-frappe.toml +0 -0
  275. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-latte.toml +0 -0
  276. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  277. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/catppuccin-mocha.toml +0 -0
  278. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cga.toml +0 -0
  279. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/chalk.toml +0 -0
  280. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/chalkboard.toml +0 -0
  281. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/challengerdeep.toml +0 -0
  282. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/chester.toml +0 -0
  283. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ciapre.toml +0 -0
  284. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/clrs.toml +0 -0
  285. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cobalt-neon.toml +0 -0
  286. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cobalt2.toml +0 -0
  287. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/coffee-theme.toml +0 -0
  288. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/crayonponyfish.toml +0 -0
  289. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cutiepro.toml +0 -0
  290. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cyberdyne.toml +0 -0
  291. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cyberpunk.toml +0 -0
  292. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  293. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dark+.toml +0 -0
  294. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dark-pastel.toml +0 -0
  295. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/darkermatrix.toml +0 -0
  296. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/darkmatrix.toml +0 -0
  297. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/darkside.toml +0 -0
  298. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dayfox.toml +0 -0
  299. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/deep.toml +0 -0
  300. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/desert.toml +0 -0
  301. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dimidium.toml +0 -0
  302. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dimmedmonokai.toml +0 -0
  303. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/django.toml +0 -0
  304. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/djangorebornagain.toml +0 -0
  305. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/djangosmooth.toml +0 -0
  306. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/doom-peacock.toml +0 -0
  307. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/doomone.toml +0 -0
  308. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dotgov.toml +0 -0
  309. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dracula+.toml +0 -0
  310. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/dracula.toml +0 -0
  311. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/duckbones.toml +0 -0
  312. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/duotone-dark.toml +0 -0
  313. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/earthsong.toml +0 -0
  314. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/elemental.toml +0 -0
  315. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/elementary.toml +0 -0
  316. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/encom.toml +0 -0
  317. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/espresso-libre.toml +0 -0
  318. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/espresso.toml +0 -0
  319. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/everblush.toml +0 -0
  320. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fahrenheit.toml +0 -0
  321. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fairyfloss.toml +0 -0
  322. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/farmhouse-dark.toml +0 -0
  323. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/farmhouse-light.toml +0 -0
  324. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fideloper.toml +0 -0
  325. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/firefly-traditional.toml +0 -0
  326. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/firefoxdev.toml +0 -0
  327. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/firewatch.toml +0 -0
  328. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/fishtank.toml +0 -0
  329. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flat.toml +0 -0
  330. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flatland.toml +0 -0
  331. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flexoki-dark.toml +0 -0
  332. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/flexoki-light.toml +0 -0
  333. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/floraverse.toml +0 -0
  334. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/forestblue.toml +0 -0
  335. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/framer.toml +0 -0
  336. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/frontenddelight.toml +0 -0
  337. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/funforrest.toml +0 -0
  338. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/galaxy.toml +0 -0
  339. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/galizur.toml +0 -0
  340. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/github-dark.toml +0 -0
  341. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/github.toml +0 -0
  342. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/glacier.toml +0 -0
  343. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/grape.toml +0 -0
  344. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/grass.toml +0 -0
  345. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/grey-green.toml +0 -0
  346. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruber-darker.toml +0 -0
  347. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruvboxdark.toml +0 -0
  348. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  349. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/gruvboxlight.toml +0 -0
  350. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/guezwhoz.toml +0 -0
  351. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hacktober.toml +0 -0
  352. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hardcore.toml +0 -0
  353. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/harper.toml +0 -0
  354. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hax0r-blue.toml +0 -0
  355. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hax0r-gr33n.toml +0 -0
  356. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hax0r-r3d.toml +0 -0
  357. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/highway.toml +0 -0
  358. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hipster-green.toml +0 -0
  359. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hivacruz.toml +0 -0
  360. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/homebrew.toml +0 -0
  361. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hopscotch.256.toml +0 -0
  362. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hopscotch.toml +0 -0
  363. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hurtado.toml +0 -0
  364. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/hybrid.toml +0 -0
  365. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ic-green-ppl.toml +0 -0
  366. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ic-orange-ppl.toml +0 -0
  367. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iceberg-dark.toml +0 -0
  368. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iceberg-light.toml +0 -0
  369. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/idea.toml +0 -0
  370. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/idletoes.toml +0 -0
  371. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ir-black.toml +0 -0
  372. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-dark-background.toml +0 -0
  373. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-default.toml +0 -0
  374. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-light-background.toml +0 -0
  375. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  376. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  377. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  378. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  379. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  380. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/iterm2-tango-light.toml +0 -0
  381. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jackie-brown.toml +0 -0
  382. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/japanesque.toml +0 -0
  383. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jellybeans.toml +0 -0
  384. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jetbrains-darcula.toml +0 -0
  385. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/jubi.toml +0 -0
  386. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kanagawabones.toml +0 -0
  387. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kibble.toml +0 -0
  388. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kolorit.toml +0 -0
  389. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/konsolas.toml +0 -0
  390. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/kurokula.toml +0 -0
  391. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/lab-fox.toml +0 -0
  392. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/laser.toml +0 -0
  393. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/later-this-evening.toml +0 -0
  394. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/lavandula.toml +0 -0
  395. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/liquidcarbon.toml +0 -0
  396. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  397. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  398. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/lovelace.toml +0 -0
  399. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/man-page.toml +0 -0
  400. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mariana.toml +0 -0
  401. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/material.toml +0 -0
  402. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialdark.toml +0 -0
  403. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialdarker.toml +0 -0
  404. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialdesigncolors.toml +0 -0
  405. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/materialocean.toml +0 -0
  406. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mathias.toml +0 -0
  407. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/matrix.toml +0 -0
  408. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/medallion.toml +0 -0
  409. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mellifluous.toml +0 -0
  410. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/midnight-in-mojave.toml +0 -0
  411. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/mirage.toml +0 -0
  412. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/misterioso.toml +0 -0
  413. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/molokai.toml +0 -0
  414. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monalisa.toml +0 -0
  415. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monokai-remastered.toml +0 -0
  416. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monokai-soda.toml +0 -0
  417. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/monokai-vivid.toml +0 -0
  418. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/n0tch2k.toml +0 -0
  419. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neobones-dark.toml +0 -0
  420. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neobones-light.toml +0 -0
  421. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neon.toml +0 -0
  422. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neopolitan.toml +0 -0
  423. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/neutron.toml +0 -0
  424. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/night-owlish-light.toml +0 -0
  425. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nightfox.toml +0 -0
  426. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nightlion-v1.toml +0 -0
  427. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nightlion-v2.toml +0 -0
  428. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/niji.toml +0 -0
  429. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nocturnal-winter.toml +0 -0
  430. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nord-light.toml +0 -0
  431. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nord.toml +0 -0
  432. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/novel.toml +0 -0
  433. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nvimdark.toml +0 -0
  434. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/nvimlight.toml +0 -0
  435. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/obsidian.toml +0 -0
  436. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ocean.toml +0 -0
  437. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/oceanic-next.toml +0 -0
  438. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/oceanicmaterial.toml +0 -0
  439. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ollie.toml +0 -0
  440. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/onehalfdark.toml +0 -0
  441. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/onehalflight.toml +0 -0
  442. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/operator-mono-dark.toml +0 -0
  443. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/overnight-slumber.toml +0 -0
  444. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/oxocarbon.toml +0 -0
  445. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/palenighthc.toml +0 -0
  446. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pandora.toml +0 -0
  447. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/paraiso-dark.toml +0 -0
  448. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/paulmillr.toml +0 -0
  449. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pencildark.toml +0 -0
  450. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pencillight.toml +0 -0
  451. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/peppermint.toml +0 -0
  452. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/piatto-light.toml +0 -0
  453. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pnevma.toml +0 -0
  454. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/popping-and-locking.toml +0 -0
  455. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/primary.toml +0 -0
  456. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pro-light.toml +0 -0
  457. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/pro.toml +0 -0
  458. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/purple-rain.toml +0 -0
  459. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/purplepeter.toml +0 -0
  460. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rapture.toml +0 -0
  461. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/raycast-dark.toml +0 -0
  462. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/raycast-light.toml +0 -0
  463. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rebecca.toml +0 -0
  464. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/red-alert.toml +0 -0
  465. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/red-planet.toml +0 -0
  466. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/red-sands.toml +0 -0
  467. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/relaxed.toml +0 -0
  468. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/retro.toml +0 -0
  469. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rippedcasts.toml +0 -0
  470. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rose-pine-dawn.toml +0 -0
  471. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rose-pine-moon.toml +0 -0
  472. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rose-pine.toml +0 -0
  473. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/rouge-2.toml +0 -0
  474. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/royal.toml +0 -0
  475. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ryuuko.toml +0 -0
  476. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sakura.toml +0 -0
  477. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/scarlet-protocol.toml +0 -0
  478. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seafoam-pastel.toml +0 -0
  479. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seashells.toml +0 -0
  480. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seoulbones-dark.toml +0 -0
  481. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seoulbones-light.toml +0 -0
  482. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/seti.toml +0 -0
  483. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/shades-of-purple.toml +0 -0
  484. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/shaman.toml +0 -0
  485. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/slate.toml +0 -0
  486. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sleepyhollow.toml +0 -0
  487. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/smyck.toml +0 -0
  488. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/snazzy.toml +0 -0
  489. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/softserver.toml +0 -0
  490. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/solarized-darcula.toml +0 -0
  491. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/solarized-dark---patched.toml +0 -0
  492. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  493. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacedust.toml +0 -0
  494. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  495. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacegray-eighties.toml +0 -0
  496. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spacegray.toml +0 -0
  497. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spiderman.toml +0 -0
  498. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/spring.toml +0 -0
  499. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/square.toml +0 -0
  500. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sublette.toml +0 -0
  501. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/subliminal.toml +0 -0
  502. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sugarplum.toml +0 -0
  503. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/sundried.toml +0 -0
  504. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/symfonic.toml +0 -0
  505. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/synthwave-everything.toml +0 -0
  506. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/synthwave.toml +0 -0
  507. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/synthwavealpha.toml +0 -0
  508. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tango-adapted.toml +0 -0
  509. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tango-half-adapted.toml +0 -0
  510. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/teerb.toml +0 -0
  511. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/terafox.toml +0 -0
  512. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/terminal-basic.toml +0 -0
  513. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/thayer-bright.toml +0 -0
  514. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/the-hulk.toml +0 -0
  515. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  516. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tinacious-design-(light).toml +0 -0
  517. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tokyonight-day.toml +0 -0
  518. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tokyonight-storm.toml +0 -0
  519. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tokyonight.toml +0 -0
  520. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  521. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  522. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  523. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  524. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow-night.toml +0 -0
  525. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/tomorrow.toml +0 -0
  526. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/toychest.toml +0 -0
  527. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/treehouse.toml +0 -0
  528. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/twilight.toml +0 -0
  529. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ubuntu.toml +0 -0
  530. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ultradark.toml +0 -0
  531. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/ultraviolent.toml +0 -0
  532. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/underthesea.toml +0 -0
  533. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/unikitty.toml +0 -0
  534. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/urple.toml +0 -0
  535. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vaughn.toml +0 -0
  536. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vesper.toml +0 -0
  537. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vibrantink.toml +0 -0
  538. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/vimbones.toml +0 -0
  539. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/violet-dark.toml +0 -0
  540. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/violet-light.toml +0 -0
  541. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/warmneon.toml +0 -0
  542. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wez.toml +0 -0
  543. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/whimsy.toml +0 -0
  544. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wildcherry.toml +0 -0
  545. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wilmersdorf.toml +0 -0
  546. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wombat.toml +0 -0
  547. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/wryan.toml +0 -0
  548. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodedark.toml +0 -0
  549. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodedarkhc.toml +0 -0
  550. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodelight.toml +0 -0
  551. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodelighthc.toml +0 -0
  552. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/xcodewwdc.toml +0 -0
  553. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenbones-dark.toml +0 -0
  554. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenbones-light.toml +0 -0
  555. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenbones.toml +0 -0
  556. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenburn.toml +0 -0
  557. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenburned.toml +0 -0
  558. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenwritten-dark.toml +0 -0
  559. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/themes/zenwritten-light.toml +0 -0
  560. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/__init__.py +0 -0
  561. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/agent_activities.py +0 -0
  562. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/temporal_setup.py +0 -0
  563. {flock_core-0.3.6 → flock_core-0.3.10}/src/flock/workflow/workflow.py +0 -0
  564. {flock_core-0.3.6 → flock_core-0.3.10}/tests/integration/test_agent_integration.py +0 -0
  565. {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_flock.py +0 -0
  566. {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_flock_agent.py +0 -0
  567. {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_memory_operations.py +0 -0
  568. {flock_core-0.3.6 → flock_core-0.3.10}/tests/unittests/test_memory_store.py +0 -0
@@ -27,6 +27,7 @@ share/python-wheels/
27
27
  MANIFEST
28
28
  logs/
29
29
  metrics/
30
+ .claude/
30
31
 
31
32
 
32
33
  # PyInstaller
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.3.6
3
+ Version: 0.3.10
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -30,17 +30,17 @@ Requires-Dist: python-box>=7.3.2
30
30
  Requires-Dist: python-decouple>=3.8
31
31
  Requires-Dist: questionary>=2.1.0
32
32
  Requires-Dist: rich>=13.9.4
33
- Requires-Dist: sentence-transformers>=3.4.1
34
33
  Requires-Dist: temporalio>=1.9.0
35
34
  Requires-Dist: tiktoken>=0.8.0
36
35
  Requires-Dist: toml>=0.10.2
37
36
  Requires-Dist: tqdm>=4.67.1
38
37
  Requires-Dist: uvicorn>=0.34.0
39
38
  Requires-Dist: zep-python>=2.0.2
40
- Provides-Extra: all-tools
41
- Requires-Dist: docling>=2.18.0; extra == 'all-tools'
42
- Requires-Dist: markdownify>=0.14.1; extra == 'all-tools'
43
- Requires-Dist: tavily-python>=0.5.0; extra == 'all-tools'
39
+ Provides-Extra: all
40
+ Requires-Dist: docling>=2.18.0; extra == 'all'
41
+ Requires-Dist: markdownify>=0.14.1; extra == 'all'
42
+ Requires-Dist: sentence-transformers>=3.4.1; extra == 'all'
43
+ Requires-Dist: tavily-python>=0.5.0; extra == 'all'
44
44
  Provides-Extra: tools
45
45
  Requires-Dist: markdownify>=0.14.1; extra == 'tools'
46
46
  Requires-Dist: tavily-python>=0.5.0; extra == 'tools'
@@ -0,0 +1,477 @@
1
+ # Architecture Components
2
+
3
+ This document provides detailed information about the specific components of the Flock framework and how they interact with each other.
4
+
5
+ ## Flock
6
+
7
+ The `Flock` class is the main orchestrator for creating and executing agents. It manages the registration of agents and tools, sets up the global context, and runs the agent workflows.
8
+
9
+ ```mermaid
10
+ classDiagram
11
+ class Flock {
12
+ +model: str
13
+ +local_debug: bool
14
+ +enable_logging: bool
15
+ +enable_telemetry: bool
16
+ +temporal_executor_config: TemporalExecutorConfig
17
+ +telemetry_config: TelemetryConfig
18
+ +logger: Logger
19
+ +add_agent(agent: FlockAgent)
20
+ +add_tool(tool_name: str, tool: Callable)
21
+ +run(start_agent: FlockAgent, input: dict)
22
+ +run_async(start_agent: FlockAgent, input: dict)
23
+ +save_to_file(file_path: str)
24
+ +load_from_file(file_path: str)
25
+ }
26
+ ```
27
+
28
+ ### Key Features
29
+
30
+ - **Agent Management**: Add and manage multiple agents in a single system.
31
+ - **Tool Registration**: Register tools that agents can use during execution.
32
+ - **Context Management**: Set up and maintain the global execution context.
33
+ - **Workflow Execution**: Run agent workflows either locally or via Temporal.
34
+ - **Serialization**: Save and load Flock instances to/from files.
35
+
36
+ ### Important Methods
37
+
38
+ - `add_agent(agent)`: Add a new agent to the Flock system.
39
+ - `add_tool(tool_name, tool)`: Register a tool with the Flock system.
40
+ - `run(start_agent, input, ...)`: Run an agent workflow synchronously.
41
+ - `run_async(start_agent, input, ...)`: Run an agent workflow asynchronously.
42
+ - `save_to_file(file_path)`: Save the Flock instance to a file.
43
+ - `load_from_file(file_path)`: Load a Flock instance from a file.
44
+
45
+ ## FlockAgent
46
+
47
+ The `FlockAgent` class is the core, declarative base class for all agents in the Flock framework. It defines the agent's inputs, outputs, tools, and lifecycle hooks.
48
+
49
+ ```mermaid
50
+ classDiagram
51
+ class FlockAgent {
52
+ +name: str
53
+ +model: str
54
+ +description: str
55
+ +input: str
56
+ +output: str
57
+ +tools: list
58
+ +hand_off: HandOff
59
+ +evaluator: FlockEvaluator
60
+ +modules: list
61
+ +initialize(inputs: dict)
62
+ +evaluate(inputs: dict)
63
+ +terminate(inputs: dict, result: dict)
64
+ +on_error(error: Exception, inputs: dict)
65
+ +run(inputs: dict)
66
+ +run_async(inputs: dict)
67
+ +add_module(module: FlockModule)
68
+ +save_to_file(file_path: str)
69
+ +load_from_file(file_path: str)
70
+ }
71
+ ```
72
+
73
+ ### Key Features
74
+
75
+ - **Declarative Definition**: Define agents by their inputs and outputs.
76
+ - **Type Hints**: Support for type hints and descriptions in input/output definitions.
77
+ - **Tool Integration**: Use tools to extend agent capabilities.
78
+ - **Lifecycle Hooks**: Hooks for initialization, termination, evaluation, and error handling.
79
+ - **Module Support**: Attach modules to extend agent functionality.
80
+ - **Serialization**: Save and load agent instances to/from files.
81
+
82
+ ### Important Properties
83
+
84
+ - `name`: Unique identifier for the agent.
85
+ - `model`: The model to use (e.g., 'openai/gpt-4o').
86
+ - `description`: A human-readable description of the agent.
87
+ - `input`: A comma-separated list of input keys with optional type hints and descriptions.
88
+ - `output`: A comma-separated list of output keys with optional type hints and descriptions.
89
+ - `tools`: An optional list of callable tools that the agent can leverage during execution.
90
+ - `hand_off`: Specifies the next agent in the workflow or a callable that determines the handoff.
91
+ - `evaluator`: The evaluator to use for agent evaluation.
92
+ - `modules`: FlockModules attached to this agent.
93
+
94
+ ### Lifecycle Hooks
95
+
96
+ - `initialize(inputs)`: Called when the agent starts running.
97
+ - `evaluate(inputs)`: Called to evaluate inputs and produce outputs.
98
+ - `terminate(inputs, result)`: Called when the agent finishes running.
99
+ - `on_error(error, inputs)`: Called when an error occurs during agent execution.
100
+
101
+ ## FlockEvaluator
102
+
103
+ The `FlockEvaluator` class is the base class for all evaluators in Flock. An evaluator is responsible for taking inputs and producing outputs using some evaluation strategy.
104
+
105
+ ```mermaid
106
+ classDiagram
107
+ class FlockEvaluator {
108
+ +name: str
109
+ +config: FlockEvaluatorConfig
110
+ +evaluate(agent: FlockAgent, inputs: dict, tools: list)
111
+ }
112
+
113
+ class DeclarativeEvaluator {
114
+ +evaluate(agent: FlockAgent, inputs: dict, tools: list)
115
+ }
116
+
117
+ class NaturalLanguageEvaluator {
118
+ +evaluate(agent: FlockAgent, inputs: dict, tools: list)
119
+ }
120
+
121
+ FlockEvaluator <|-- DeclarativeEvaluator
122
+ FlockEvaluator <|-- NaturalLanguageEvaluator
123
+ ```
124
+
125
+ ### Key Features
126
+
127
+ - **Evaluation Strategy**: Define how inputs are evaluated to produce outputs.
128
+ - **Configuration**: Configure the evaluator's behavior.
129
+ - **Abstract Interface**: Provide a common interface for different evaluation strategies.
130
+
131
+ ### Important Methods
132
+
133
+ - `evaluate(agent, inputs, tools)`: Evaluate inputs to produce outputs.
134
+
135
+ ### Built-in Evaluators
136
+
137
+ - **DeclarativeEvaluator**: The default evaluator that uses a declarative approach to evaluation.
138
+ - **NaturalLanguageEvaluator**: An evaluator that uses natural language for evaluation.
139
+
140
+ ## FlockModule
141
+
142
+ The `FlockModule` class is the base class for all Flock modules. Modules can hook into agent lifecycle events and modify or enhance agent behavior.
143
+
144
+ ```mermaid
145
+ classDiagram
146
+ class FlockModule {
147
+ +name: str
148
+ +config: FlockModuleConfig
149
+ +initialize(agent: FlockAgent, inputs: dict)
150
+ +pre_evaluate(agent: FlockAgent, inputs: dict)
151
+ +post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
152
+ +terminate(agent: FlockAgent, inputs: dict, result: dict)
153
+ +on_error(agent: FlockAgent, error: Exception, inputs: dict)
154
+ }
155
+
156
+ class MemoryModule {
157
+ +initialize(agent: FlockAgent, inputs: dict)
158
+ +pre_evaluate(agent: FlockAgent, inputs: dict)
159
+ +post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
160
+ }
161
+
162
+ class MetricsModule {
163
+ +initialize(agent: FlockAgent, inputs: dict)
164
+ +pre_evaluate(agent: FlockAgent, inputs: dict)
165
+ +post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
166
+ +terminate(agent: FlockAgent, inputs: dict, result: dict)
167
+ }
168
+
169
+ class OutputModule {
170
+ +post_evaluate(agent: FlockAgent, inputs: dict, result: dict)
171
+ }
172
+
173
+ FlockModule <|-- MemoryModule
174
+ FlockModule <|-- MetricsModule
175
+ FlockModule <|-- OutputModule
176
+ ```
177
+
178
+ ### Key Features
179
+
180
+ - **Lifecycle Hooks**: Hook into agent lifecycle events.
181
+ - **State Management**: Maintain state across agent executions.
182
+ - **Configuration**: Configure the module's behavior.
183
+ - **Pluggable**: Easily attach to and detach from agents.
184
+
185
+ ### Lifecycle Hooks
186
+
187
+ - `initialize(agent, inputs)`: Called when the agent starts running.
188
+ - `pre_evaluate(agent, inputs)`: Called before agent evaluation, can modify inputs.
189
+ - `post_evaluate(agent, inputs, result)`: Called after agent evaluation, can modify results.
190
+ - `terminate(agent, inputs, result)`: Called when the agent finishes running.
191
+ - `on_error(agent, error, inputs)`: Called when an error occurs during agent execution.
192
+
193
+ ### Built-in Modules
194
+
195
+ - **MemoryModule**: Provides persistent memory for agents.
196
+ - **MetricsModule**: Collects metrics about agent execution.
197
+ - **OutputModule**: Formats and stores agent outputs.
198
+
199
+ ## HandOff
200
+
201
+ The `HandOff` class is used to specify the next agent in a workflow and the input data to pass to it.
202
+
203
+ ```mermaid
204
+ classDiagram
205
+ class HandOff {
206
+ +next_agent: Union[str, FlockAgent, Callable]
207
+ +input: dict
208
+ +context: dict
209
+ }
210
+ ```
211
+
212
+ ### Key Properties
213
+
214
+ - `next_agent`: The next agent to invoke (either a string name, a FlockAgent instance, or a callable that returns an agent).
215
+ - `input`: Input data for the next agent.
216
+ - `context`: Override context parameters.
217
+
218
+ ## Registry
219
+
220
+ The registry manages the registration of agents and tools.
221
+
222
+ ```mermaid
223
+ classDiagram
224
+ class Registry {
225
+ +agents: dict
226
+ +tools: dict
227
+ +register_agent(agent: FlockAgent)
228
+ +register_tool(tool_name: str, tool: Callable)
229
+ +get_agent(agent_name: str)
230
+ +get_tool(tool_name: str)
231
+ +get_all_agents()
232
+ +get_all_tools()
233
+ }
234
+ ```
235
+
236
+ ### Key Features
237
+
238
+ - **Agent Registration**: Register agents with the registry.
239
+ - **Tool Registration**: Register tools with the registry.
240
+ - **Lookup**: Look up agents and tools by name.
241
+
242
+ ### Important Methods
243
+
244
+ - `register_agent(agent)`: Register an agent with the registry.
245
+ - `register_tool(tool_name, tool)`: Register a tool with the registry.
246
+ - `get_agent(agent_name)`: Get an agent by name.
247
+ - `get_tool(tool_name)`: Get a tool by name.
248
+ - `get_all_agents()`: Get all registered agents.
249
+ - `get_all_tools()`: Get all registered tools.
250
+
251
+ ## Context
252
+
253
+ The context maintains the global execution state.
254
+
255
+ ```mermaid
256
+ classDiagram
257
+ class Context {
258
+ +variables: dict
259
+ +get(key: str, default=None)
260
+ +set(key: str, value)
261
+ +update(variables: dict)
262
+ +clear()
263
+ }
264
+ ```
265
+
266
+ ### Key Features
267
+
268
+ - **Variable Storage**: Store global variables that are accessible to all agents.
269
+ - **Variable Access**: Get and set context variables.
270
+ - **Variable Lifecycle**: Manage the lifecycle of context variables.
271
+
272
+ ### Important Methods
273
+
274
+ - `get(key, default=None)`: Get a context variable.
275
+ - `set(key, value)`: Set a context variable.
276
+ - `update(variables)`: Update multiple context variables.
277
+ - `clear()`: Clear all context variables.
278
+
279
+ ## Executor
280
+
281
+ The executor runs agent workflows. Flock supports two types of executors:
282
+
283
+ ```mermaid
284
+ classDiagram
285
+ class Executor {
286
+ +execute(start_agent: FlockAgent, input: dict)
287
+ +execute_async(start_agent: FlockAgent, input: dict)
288
+ }
289
+
290
+ class LocalExecutor {
291
+ +execute(start_agent: FlockAgent, input: dict)
292
+ +execute_async(start_agent: FlockAgent, input: dict)
293
+ }
294
+
295
+ class TemporalExecutor {
296
+ +config: TemporalExecutorConfig
297
+ +execute(start_agent: FlockAgent, input: dict)
298
+ +execute_async(start_agent: FlockAgent, input: dict)
299
+ }
300
+
301
+ Executor <|-- LocalExecutor
302
+ Executor <|-- TemporalExecutor
303
+ ```
304
+
305
+ ### Key Features
306
+
307
+ - **Workflow Execution**: Execute agent workflows.
308
+ - **Synchronous and Asynchronous Execution**: Support for both synchronous and asynchronous execution.
309
+ - **Error Handling**: Handle errors during workflow execution.
310
+
311
+ ### Important Methods
312
+
313
+ - `execute(start_agent, input)`: Execute a workflow synchronously.
314
+ - `execute_async(start_agent, input)`: Execute a workflow asynchronously.
315
+
316
+ ### Executor Types
317
+
318
+ - **LocalExecutor**: Runs workflows locally for development and testing.
319
+ - **TemporalExecutor**: Runs workflows via Temporal for production-grade execution.
320
+
321
+ ## Router
322
+
323
+ The router determines the next agent in a workflow.
324
+
325
+ ```mermaid
326
+ classDiagram
327
+ class FlockRouter {
328
+ +name: str
329
+ +config: FlockRouterConfig
330
+ +route(agent: FlockAgent, result: dict)
331
+ }
332
+
333
+ class DefaultRouter {
334
+ +route(agent: FlockAgent, result: dict)
335
+ }
336
+
337
+ class LLMRouter {
338
+ +route(agent: FlockAgent, result: dict)
339
+ }
340
+
341
+ class AgentRouter {
342
+ +route(agent: FlockAgent, result: dict)
343
+ }
344
+
345
+ FlockRouter <|-- DefaultRouter
346
+ FlockRouter <|-- LLMRouter
347
+ FlockRouter <|-- AgentRouter
348
+ ```
349
+
350
+ ### Key Features
351
+
352
+ - **Routing Strategy**: Define how to determine the next agent in a workflow.
353
+ - **Configuration**: Configure the router's behavior.
354
+ - **Abstract Interface**: Provide a common interface for different routing strategies.
355
+
356
+ ### Important Methods
357
+
358
+ - `route(agent, result)`: Determine the next agent in the workflow.
359
+
360
+ ### Router Types
361
+
362
+ - **DefaultRouter**: Uses the agent's `hand_off` property to determine the next agent.
363
+ - **LLMRouter**: Uses an LLM to determine the next agent.
364
+ - **AgentRouter**: Uses a dedicated agent to make routing decisions.
365
+
366
+ ## Tools
367
+
368
+ Tools are functions that agents can use to perform specific tasks.
369
+
370
+ ```mermaid
371
+ classDiagram
372
+ class Tool {
373
+ +name: str
374
+ +description: str
375
+ +function: Callable
376
+ +parameters: dict
377
+ +returns: dict
378
+ }
379
+ ```
380
+
381
+ ### Key Features
382
+
383
+ - **Function Wrapping**: Wrap Python functions as tools.
384
+ - **Documentation**: Provide documentation for tools.
385
+ - **Parameter Validation**: Validate tool parameters.
386
+ - **Result Formatting**: Format tool results.
387
+
388
+ ### Built-in Tools
389
+
390
+ - **Web Search**: Search the web for information.
391
+ - **Code Evaluation**: Evaluate Python code.
392
+ - **Web Content Retrieval**: Get content from web pages.
393
+ - **Math Evaluation**: Evaluate mathematical expressions.
394
+ - **Utility Functions**: Various utility functions like getting the current time.
395
+
396
+ ## API Server
397
+
398
+ The API server allows you to expose your agents via HTTP endpoints.
399
+
400
+ ```mermaid
401
+ classDiagram
402
+ class FlockAPI {
403
+ +flock: Flock
404
+ +app: FastAPI
405
+ +start(host: str, port: int)
406
+ +run_agent(agent_name: str, inputs: dict, async_run: bool)
407
+ +run_flock(agent_name: str, inputs: dict, async_run: bool)
408
+ +get_run_status(run_id: str)
409
+ +list_agents()
410
+ }
411
+ ```
412
+
413
+ ### Key Features
414
+
415
+ - **HTTP Endpoints**: Expose agents via HTTP endpoints.
416
+ - **Synchronous and Asynchronous Execution**: Support for both synchronous and asynchronous execution.
417
+ - **Run Status Tracking**: Track the status of runs.
418
+ - **Agent Discovery**: List available agents.
419
+
420
+ ### Important Methods
421
+
422
+ - `start(host, port)`: Start the API server.
423
+ - `run_agent(agent_name, inputs, async_run)`: Run an agent.
424
+ - `run_flock(agent_name, inputs, async_run)`: Run a Flock workflow.
425
+ - `get_run_status(run_id)`: Get the status of a run.
426
+ - `list_agents()`: List available agents.
427
+
428
+ ## Component Interactions
429
+
430
+ The following diagram shows how the components interact with each other during a typical workflow execution:
431
+
432
+ ```mermaid
433
+ sequenceDiagram
434
+ participant User
435
+ participant Flock
436
+ participant Registry
437
+ participant Context
438
+ participant Executor
439
+ participant Router
440
+ participant Agent1
441
+ participant Evaluator1
442
+ participant Module1
443
+ participant Agent2
444
+ participant Evaluator2
445
+ participant Module2
446
+
447
+ User->>Flock: Create Flock instance
448
+ User->>Flock: Add agents
449
+ Flock->>Registry: Register agents
450
+ User->>Flock: Run workflow
451
+ Flock->>Context: Initialize context
452
+ Flock->>Executor: Execute workflow
453
+ Executor->>Agent1: Execute agent
454
+ Agent1->>Module1: Initialize
455
+ Agent1->>Evaluator1: Evaluate
456
+ Evaluator1->>Agent1: Return result
457
+ Agent1->>Module1: Post-evaluate
458
+ Agent1->>Router: Determine next agent
459
+ Router->>Agent1: Return next agent
460
+ Agent1->>Agent2: Hand off
461
+ Agent2->>Module2: Initialize
462
+ Agent2->>Evaluator2: Evaluate
463
+ Evaluator2->>Agent2: Return result
464
+ Agent2->>Module2: Post-evaluate
465
+ Agent2->>Executor: Return result
466
+ Executor->>Flock: Return result
467
+ Flock->>User: Return result
468
+ ```
469
+
470
+ ## Next Steps
471
+
472
+ Now that you understand the specific components of Flock, you might want to explore:
473
+
474
+ - [Overview](overview.md) - Get a high-level overview of the Flock architecture
475
+ - [Design Decisions](design-decisions.md) - Understand the design decisions behind Flock
476
+ - [Core Concepts](../core-concepts/agents.md) - Learn about the core concepts of Flock
477
+ - [Examples](../examples/hello-flock.md) - See examples of Flock in action