flock-core 0.2.17__tar.gz → 0.3.1__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 (548) hide show
  1. flock_core-0.3.1/.github/workflows/deploy-documentation.yml +17 -0
  2. {flock_core-0.2.17 → flock_core-0.3.1}/.github/workflows/deploy-whiteduck-pypi.yml +2 -0
  3. {flock_core-0.2.17 → flock_core-0.3.1}/.gitignore +1 -0
  4. {flock_core-0.2.17 → flock_core-0.3.1}/PKG-INFO +112 -4
  5. {flock_core-0.2.17 → flock_core-0.3.1}/README.md +105 -3
  6. flock_core-0.3.1/docs/advanced/complex-workflows.md +3 -0
  7. flock_core-0.3.1/docs/advanced/custom-agents.md +3 -0
  8. flock_core-0.3.1/docs/advanced/performance.md +3 -0
  9. flock_core-0.3.1/docs/advanced/testing.md +3 -0
  10. flock_core-0.3.1/docs/api/flock-core.md +3 -0
  11. flock_core-0.3.1/docs/api/flockagent.md +3 -0
  12. flock_core-0.3.1/docs/api/types.md +3 -0
  13. flock_core-0.3.1/docs/api/utilities.md +3 -0
  14. flock_core-0.3.1/docs/architecture/components.md +3 -0
  15. flock_core-0.3.1/docs/architecture/design-decisions.md +3 -0
  16. flock_core-0.3.1/docs/architecture/overview.md +3 -0
  17. flock_core-0.3.1/docs/assets/drawio/architecture.drawio +44 -0
  18. flock_core-0.3.1/docs/assets/images/getting-started/first_agent_00.png +0 -0
  19. flock_core-0.3.1/docs/assets/images/hummingbird.png +0 -0
  20. flock_core-0.3.1/docs/assets/images/icon.png +0 -0
  21. flock_core-0.3.1/docs/assets/images/icon.png~ +0 -0
  22. flock_core-0.3.1/docs/assets/images/logo.png +0 -0
  23. flock_core-0.3.1/docs/assets/images/memory_concepts.png +0 -0
  24. flock_core-0.3.1/docs/assets/images/memory_flow.png +0 -0
  25. flock_core-0.3.1/docs/assets/images/memory_flow_chart.png +0 -0
  26. flock_core-0.3.1/docs/contributing/code-style.md +3 -0
  27. flock_core-0.3.1/docs/contributing/development.md +3 -0
  28. flock_core-0.3.1/docs/contributing/documentation.md +3 -0
  29. flock_core-0.3.1/docs/contributing/testing.md +3 -0
  30. flock_core-0.3.1/docs/core-concepts/agents.md +3 -0
  31. flock_core-0.3.1/docs/core-concepts/declarative.md +3 -0
  32. flock_core-0.3.1/docs/core-concepts/error-handling.md +3 -0
  33. flock_core-0.3.1/docs/core-concepts/memory.md +355 -0
  34. flock_core-0.3.1/docs/core-concepts/type-system.md +3 -0
  35. flock_core-0.3.1/docs/core-concepts/workflows.md +3 -0
  36. flock_core-0.3.1/docs/create_doc_boilerplate.py +131 -0
  37. flock_core-0.3.1/docs/deployment/monitoring.md +3 -0
  38. flock_core-0.3.1/docs/deployment/production-setup.md +3 -0
  39. flock_core-0.3.1/docs/deployment/scalability.md +3 -0
  40. flock_core-0.3.1/docs/deployment/security.md +3 -0
  41. flock_core-0.3.1/docs/examples/chain-gang.md +3 -0
  42. flock_core-0.3.1/docs/examples/hello-flock.md +3 -0
  43. flock_core-0.3.1/docs/examples/pydantic.md +3 -0
  44. flock_core-0.3.1/docs/examples/type-system.md +3 -0
  45. flock_core-0.3.1/docs/features/agent-chaining.md +3 -0
  46. flock_core-0.3.1/docs/features/agent-definition.md +3 -0
  47. flock_core-0.3.1/docs/features/lifecycle-hooks.md +3 -0
  48. flock_core-0.3.1/docs/features/pydantic.md +3 -0
  49. flock_core-0.3.1/docs/features/type-safety.md +3 -0
  50. flock_core-0.3.1/docs/getting-started/concepts.md +3 -0
  51. flock_core-0.3.1/docs/getting-started/configuration.md +3 -0
  52. flock_core-0.3.1/docs/getting-started/installation.md +3 -0
  53. flock_core-0.3.1/docs/getting-started/quickstart.md +207 -0
  54. flock_core-0.3.1/docs/index.md +96 -0
  55. flock_core-0.3.1/docs/integrations/dspy.md +3 -0
  56. flock_core-0.3.1/docs/integrations/litellm.md +3 -0
  57. flock_core-0.3.1/docs/integrations/tavily.md +3 -0
  58. flock_core-0.3.1/docs/integrations/temporal.md +3 -0
  59. flock_core-0.3.1/docs/release-notes/release_notes.md +119 -0
  60. flock_core-0.3.1/docs/stylesheets/extra.css +23 -0
  61. flock_core-0.3.1/docs/tutorials/blog-generator.md +3 -0
  62. flock_core-0.3.1/docs/tutorials/custom-tools.md +3 -0
  63. flock_core-0.3.1/docs/tutorials/error-recovery.md +3 -0
  64. flock_core-0.3.1/docs/tutorials/multi-agent.md +3 -0
  65. flock_core-0.3.1/examples/01_introduction/01_simple_example.py +63 -0
  66. flock_core-0.3.1/examples/01_introduction/02_typed_output.py +78 -0
  67. flock_core-0.3.1/examples/01_introduction/03_tool_and_code_agent.py +60 -0
  68. flock_core-0.3.1/examples/01_introduction/04_descriptions.py +39 -0
  69. flock_core-0.3.1/examples/01_introduction/05_typed_output2.py +75 -0
  70. {flock_core-0.2.17 → flock_core-0.3.1}/examples/01_introduction/06_simple_hand_off.py +33 -38
  71. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/flock_without_llms.py +1 -1
  72. flock_core-0.3.1/examples/02_cook_book/painting_by_numbers.py +86 -0
  73. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/self_improvement_with_memory.py +13 -32
  74. flock_core-0.3.1/examples/03_misc_wip/memory.py +261 -0
  75. flock_core-0.3.1/examples/README.md +24 -0
  76. flock_core-0.3.1/examples/documentation/getting-started/first_agent_01.py +26 -0
  77. flock_core-0.3.1/examples/documentation/getting-started/first_agent_02.py +32 -0
  78. flock_core-0.3.1/examples/documentation/getting-started/first_agent_03.py +31 -0
  79. flock_core-0.3.1/examples/notebooks_wip/Untitled-1.ipynb +223 -0
  80. flock_core-0.3.1/mkdocs.yml +137 -0
  81. {flock_core-0.2.17 → flock_core-0.3.1}/pyproject.toml +7 -2
  82. flock_core-0.3.1/src/flock/__init__.py +67 -0
  83. flock_core-0.3.1/src/flock/cli/assets/release_notes.md +111 -0
  84. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/cli/constants.py +1 -0
  85. flock_core-0.3.1/src/flock/cli/load_release_notes.py +23 -0
  86. flock_core-0.3.1/src/flock/core/__init__.py +17 -0
  87. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/context/context.py +10 -5
  88. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/flock.py +61 -21
  89. flock_core-0.3.1/src/flock/core/flock_agent.py +330 -0
  90. flock_core-0.3.1/src/flock/core/flock_evaluator.py +49 -0
  91. flock_core-0.3.1/src/flock/core/flock_factory.py +73 -0
  92. flock_core-0.3.1/src/flock/core/flock_module.py +77 -0
  93. {flock_core-0.2.17/src/flock → flock_core-0.3.1/src/flock/core}/interpreter/python_interpreter.py +9 -1
  94. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/formatters/themes.py +1 -1
  95. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/logging.py +119 -15
  96. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/mixin/dspy_integration.py +11 -8
  97. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/registry/agent_registry.py +4 -2
  98. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/tools/basic_tools.py +1 -1
  99. flock_core-0.3.1/src/flock/core/util/cli_helper.py +87 -0
  100. flock_core-0.3.1/src/flock/evaluators/declarative/declarative_evaluator.py +52 -0
  101. flock_core-0.3.1/src/flock/evaluators/natural_language/natural_language_evaluator.py +66 -0
  102. flock_core-0.3.1/src/flock/modules/callback/callback_module.py +86 -0
  103. flock_core-0.3.1/src/flock/modules/memory/memory_module.py +235 -0
  104. flock_core-0.3.1/src/flock/modules/memory/memory_parser.py +125 -0
  105. flock_core-0.3.1/src/flock/modules/memory/memory_storage.py +736 -0
  106. flock_core-0.3.1/src/flock/modules/output/output_module.py +194 -0
  107. flock_core-0.3.1/src/flock/modules/performance/metrics_module.py +477 -0
  108. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/aardvark-blue.toml +1 -1
  109. {flock_core-0.2.17 → flock_core-0.3.1}/tests/unittests/test_flock.py +0 -2
  110. flock_core-0.3.1/tests/unittests/test_memory_operations.py +297 -0
  111. flock_core-0.3.1/tests/unittests/test_memory_store.py +137 -0
  112. {flock_core-0.2.17 → flock_core-0.3.1}/uv.lock +349 -29
  113. flock_core-0.2.17/docs/agent_mechanics.md +0 -48
  114. flock_core-0.2.17/docs/api/flock.md +0 -3
  115. flock_core-0.2.17/docs/api/flock_agents.md +0 -3
  116. flock_core-0.2.17/docs/api.md +0 -3
  117. flock_core-0.2.17/docs/architecture.drawio +0 -24
  118. flock_core-0.2.17/docs/examples/01_introduction/01_simple_example.md +0 -83
  119. flock_core-0.2.17/docs/examples/01_introduction/02_typed_output.md +0 -97
  120. flock_core-0.2.17/docs/examples/01_introduction/03_tool_and_code_agent.md +0 -75
  121. flock_core-0.2.17/docs/examples/01_introduction/04_descriptions.md +0 -58
  122. flock_core-0.2.17/docs/examples/01_introduction/05_typed_output2.md +0 -93
  123. flock_core-0.2.17/docs/examples/01_introduction/06_simple_hand_off.md +0 -91
  124. flock_core-0.2.17/docs/examples/02_cook_book_wip/flock_without_llms.md +0 -119
  125. flock_core-0.2.17/docs/examples/02_cook_book_wip/project_manager.md +0 -93
  126. flock_core-0.2.17/docs/examples.md +0 -0
  127. flock_core-0.2.17/docs/generate_examples_docs.py +0 -166
  128. flock_core-0.2.17/docs/generate_nav.py +0 -122
  129. flock_core-0.2.17/docs/index.md +0 -159
  130. flock_core-0.2.17/docs/installation.md +0 -51
  131. flock_core-0.2.17/docs/overrides/extra.css +0 -30
  132. flock_core-0.2.17/docs/overrides/extra.js +0 -86
  133. flock_core-0.2.17/examples/01_introduction/01_simple_example.py +0 -70
  134. flock_core-0.2.17/examples/01_introduction/02_typed_output.py +0 -82
  135. flock_core-0.2.17/examples/01_introduction/03_tool_and_code_agent.py +0 -71
  136. flock_core-0.2.17/examples/01_introduction/04_descriptions.py +0 -47
  137. flock_core-0.2.17/examples/01_introduction/05_typed_output2.py +0 -79
  138. flock_core-0.2.17/examples/README.md +0 -23
  139. flock_core-0.2.17/examples/notebooks_wip/Untitled-1.ipynb +0 -151
  140. flock_core-0.2.17/mkdocs.yml +0 -76
  141. flock_core-0.2.17/src/flock/__init__.py +0 -57
  142. flock_core-0.2.17/src/flock/core/__init__.py +0 -6
  143. flock_core-0.2.17/src/flock/core/flock_agent.py +0 -660
  144. flock_core-0.2.17/src/flock/core/util/cli_helper.py +0 -30
  145. {flock_core-0.2.17 → flock_core-0.3.1}/.devcontainer/devcontainer.json +0 -0
  146. {flock_core-0.2.17 → flock_core-0.3.1}/.env_template +0 -0
  147. {flock_core-0.2.17 → flock_core-0.3.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  148. {flock_core-0.2.17 → flock_core-0.3.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  149. {flock_core-0.2.17 → flock_core-0.3.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  150. {flock_core-0.2.17 → flock_core-0.3.1}/.github/workflows/.gitkeep +0 -0
  151. {flock_core-0.2.17 → flock_core-0.3.1}/.vscode/launch.json +0 -0
  152. {flock_core-0.2.17 → flock_core-0.3.1}/.vscode/settings.json +0 -0
  153. {flock_core-0.2.17 → flock_core-0.3.1}/.vscode/tasks.json +0 -0
  154. {flock_core-0.2.17 → flock_core-0.3.1}/LICENSE +0 -0
  155. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/cli_outputs/out.png +0 -0
  156. /flock_core-0.2.17/docs/img/component_diagramm.png → /flock_core-0.3.1/docs/assets/images/components_chart.png +0 -0
  157. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/examples/01_01.png +0 -0
  158. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/examples/01_02.png +0 -0
  159. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/examples/01_03.png +0 -0
  160. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/examples/01_04.png +0 -0
  161. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/examples/01_05.png +0 -0
  162. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/examples/01_06.png +0 -0
  163. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/flock.png +0 -0
  164. {flock_core-0.2.17/docs/img → flock_core-0.3.1/docs/assets/images}/flock_cli.png +0 -0
  165. /flock_core-0.2.17/docs/img/flow_diagramm.png → /flock_core-0.3.1/docs/assets/images/flow_chart.png +0 -0
  166. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/long_research_no_handoff.py +0 -0
  167. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/project_manager.py +0 -0
  168. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/save_and_load/load_01.py +0 -0
  169. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/save_and_load/load_02.py +0 -0
  170. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/save_and_load/load_03.py +0 -0
  171. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/save_and_load/load_04.py +0 -0
  172. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/save_and_load/save_01.py +0 -0
  173. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/save_and_load/save_02.py +0 -0
  174. {flock_core-0.2.17 → flock_core-0.3.1}/examples/02_cook_book/save_and_load/save_03.py +0 -0
  175. {flock_core-0.2.17 → flock_core-0.3.1}/examples/03_misc_wip/self_learner.py +0 -0
  176. {flock_core-0.2.17 → flock_core-0.3.1}/examples/03_misc_wip/self_learner2.py +0 -0
  177. {flock_core-0.2.17 → flock_core-0.3.1}/examples/notebooks_wip/my_agent.json +0 -0
  178. {flock_core-0.2.17 → flock_core-0.3.1}/requirements.txt +0 -0
  179. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/cli/create_agent.py +0 -0
  180. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/cli/create_flock.py +0 -0
  181. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/cli/load_agent.py +0 -0
  182. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/cli/load_examples.py +0 -0
  183. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/cli/load_flock.py +0 -0
  184. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/cli/settings.py +0 -0
  185. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/config.py +0 -0
  186. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/context/context_manager.py +0 -0
  187. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/context/context_vars.py +0 -0
  188. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/execution/local_executor.py +0 -0
  189. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/execution/temporal_executor.py +0 -0
  190. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/__init__.py +0 -0
  191. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  192. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  193. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  194. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  195. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/telemetry.py +0 -0
  196. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  197. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  198. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  199. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/logging/trace_and_logged.py +0 -0
  200. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/mixin/prompt_parser.py +0 -0
  201. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/tools/dev_tools/github.py +0 -0
  202. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/util/hydrator.py +0 -0
  203. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/util/input_resolver.py +0 -0
  204. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/core/util/serializable.py +0 -0
  205. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/platform/docker_tools.py +0 -0
  206. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/platform/jaeger_install.py +0 -0
  207. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/3024-day.toml +0 -0
  208. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/3024-night.toml +0 -0
  209. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/abernathy.toml +0 -0
  210. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/adventure.toml +0 -0
  211. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/adventuretime.toml +0 -0
  212. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/afterglow.toml +0 -0
  213. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/alabaster.toml +0 -0
  214. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/alienblood.toml +0 -0
  215. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/andromeda.toml +0 -0
  216. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/apple-classic.toml +0 -0
  217. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/apple-system-colors.toml +0 -0
  218. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/arcoiris.toml +0 -0
  219. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/argonaut copy.toml +0 -0
  220. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/argonaut.toml +0 -0
  221. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/arthur.toml +0 -0
  222. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ateliersulphurpool.toml +0 -0
  223. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/atom.toml +0 -0
  224. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/atom_test.toml +0 -0
  225. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/atomonelight.toml +0 -0
  226. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/aurora.toml +0 -0
  227. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ayu copy.toml +0 -0
  228. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ayu-light.toml +0 -0
  229. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ayu-mirage.toml +0 -0
  230. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ayu.toml +0 -0
  231. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/banana-blueberry.toml +0 -0
  232. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/batman.toml +0 -0
  233. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/belafonte-day.toml +0 -0
  234. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/belafonte-night.toml +0 -0
  235. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/birdsofparadise.toml +0 -0
  236. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/blazer.toml +0 -0
  237. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/blue-matrix.toml +0 -0
  238. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/blueberrypie.toml +0 -0
  239. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/bluedolphin.toml +0 -0
  240. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/blulocodark.toml +0 -0
  241. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/blulocolight.toml +0 -0
  242. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/borland.toml +0 -0
  243. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/breeze.toml +0 -0
  244. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/bright-lights.toml +0 -0
  245. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/broadcast.toml +0 -0
  246. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/brogrammer.toml +0 -0
  247. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/builtin-dark.toml +0 -0
  248. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/builtin-light.toml +0 -0
  249. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  250. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  251. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/builtin-solarized-light.toml +0 -0
  252. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/builtin-tango-dark.toml +0 -0
  253. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/builtin-tango-light.toml +0 -0
  254. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/c64.toml +0 -0
  255. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/calamity.toml +0 -0
  256. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/catppuccin-frappe.toml +0 -0
  257. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/catppuccin-latte.toml +0 -0
  258. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  259. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/catppuccin-mocha.toml +0 -0
  260. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/cga.toml +0 -0
  261. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/chalk.toml +0 -0
  262. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/chalkboard.toml +0 -0
  263. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/challengerdeep.toml +0 -0
  264. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/chester.toml +0 -0
  265. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ciapre.toml +0 -0
  266. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/clrs.toml +0 -0
  267. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/cobalt-neon.toml +0 -0
  268. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/cobalt2.toml +0 -0
  269. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/coffee-theme.toml +0 -0
  270. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/crayonponyfish.toml +0 -0
  271. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/cutiepro.toml +0 -0
  272. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/cyberdyne.toml +0 -0
  273. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/cyberpunk.toml +0 -0
  274. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  275. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dark+.toml +0 -0
  276. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dark-pastel.toml +0 -0
  277. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/darkermatrix.toml +0 -0
  278. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/darkmatrix.toml +0 -0
  279. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/darkside.toml +0 -0
  280. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dayfox.toml +0 -0
  281. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/deep.toml +0 -0
  282. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/desert.toml +0 -0
  283. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dimidium.toml +0 -0
  284. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dimmedmonokai.toml +0 -0
  285. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/django.toml +0 -0
  286. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/djangorebornagain.toml +0 -0
  287. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/djangosmooth.toml +0 -0
  288. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/doom-peacock.toml +0 -0
  289. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/doomone.toml +0 -0
  290. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dotgov.toml +0 -0
  291. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dracula+.toml +0 -0
  292. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/dracula.toml +0 -0
  293. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/duckbones.toml +0 -0
  294. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/duotone-dark.toml +0 -0
  295. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/earthsong.toml +0 -0
  296. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/elemental.toml +0 -0
  297. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/elementary.toml +0 -0
  298. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/encom.toml +0 -0
  299. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/espresso-libre.toml +0 -0
  300. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/espresso.toml +0 -0
  301. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/everblush.toml +0 -0
  302. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/fahrenheit.toml +0 -0
  303. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/fairyfloss.toml +0 -0
  304. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/farmhouse-dark.toml +0 -0
  305. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/farmhouse-light.toml +0 -0
  306. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/fideloper.toml +0 -0
  307. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/firefly-traditional.toml +0 -0
  308. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/firefoxdev.toml +0 -0
  309. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/firewatch.toml +0 -0
  310. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/fishtank.toml +0 -0
  311. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/flat.toml +0 -0
  312. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/flatland.toml +0 -0
  313. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/flexoki-dark.toml +0 -0
  314. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/flexoki-light.toml +0 -0
  315. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/floraverse.toml +0 -0
  316. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/forestblue.toml +0 -0
  317. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/framer.toml +0 -0
  318. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/frontenddelight.toml +0 -0
  319. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/funforrest.toml +0 -0
  320. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/galaxy.toml +0 -0
  321. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/galizur.toml +0 -0
  322. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/github-dark.toml +0 -0
  323. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/github.toml +0 -0
  324. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/glacier.toml +0 -0
  325. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/grape.toml +0 -0
  326. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/grass.toml +0 -0
  327. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/grey-green.toml +0 -0
  328. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/gruber-darker.toml +0 -0
  329. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/gruvboxdark.toml +0 -0
  330. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  331. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/gruvboxlight.toml +0 -0
  332. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/guezwhoz.toml +0 -0
  333. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hacktober.toml +0 -0
  334. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hardcore.toml +0 -0
  335. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/harper.toml +0 -0
  336. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hax0r-blue.toml +0 -0
  337. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hax0r-gr33n.toml +0 -0
  338. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hax0r-r3d.toml +0 -0
  339. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/highway.toml +0 -0
  340. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hipster-green.toml +0 -0
  341. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hivacruz.toml +0 -0
  342. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/homebrew.toml +0 -0
  343. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hopscotch.256.toml +0 -0
  344. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hopscotch.toml +0 -0
  345. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hurtado.toml +0 -0
  346. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/hybrid.toml +0 -0
  347. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ic-green-ppl.toml +0 -0
  348. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ic-orange-ppl.toml +0 -0
  349. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iceberg-dark.toml +0 -0
  350. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iceberg-light.toml +0 -0
  351. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/idea.toml +0 -0
  352. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/idletoes.toml +0 -0
  353. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ir-black.toml +0 -0
  354. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-dark-background.toml +0 -0
  355. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-default.toml +0 -0
  356. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-light-background.toml +0 -0
  357. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  358. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  359. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  360. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  361. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  362. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/iterm2-tango-light.toml +0 -0
  363. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/jackie-brown.toml +0 -0
  364. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/japanesque.toml +0 -0
  365. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/jellybeans.toml +0 -0
  366. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/jetbrains-darcula.toml +0 -0
  367. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/jubi.toml +0 -0
  368. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/kanagawabones.toml +0 -0
  369. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/kibble.toml +0 -0
  370. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/kolorit.toml +0 -0
  371. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/konsolas.toml +0 -0
  372. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/kurokula.toml +0 -0
  373. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/lab-fox.toml +0 -0
  374. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/laser.toml +0 -0
  375. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/later-this-evening.toml +0 -0
  376. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/lavandula.toml +0 -0
  377. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/liquidcarbon.toml +0 -0
  378. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  379. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  380. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/lovelace.toml +0 -0
  381. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/man-page.toml +0 -0
  382. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/mariana.toml +0 -0
  383. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/material.toml +0 -0
  384. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/materialdark.toml +0 -0
  385. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/materialdarker.toml +0 -0
  386. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/materialdesigncolors.toml +0 -0
  387. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/materialocean.toml +0 -0
  388. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/mathias.toml +0 -0
  389. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/matrix.toml +0 -0
  390. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/medallion.toml +0 -0
  391. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/mellifluous.toml +0 -0
  392. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/midnight-in-mojave.toml +0 -0
  393. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/mirage.toml +0 -0
  394. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/misterioso.toml +0 -0
  395. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/molokai.toml +0 -0
  396. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/monalisa.toml +0 -0
  397. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/monokai-remastered.toml +0 -0
  398. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/monokai-soda.toml +0 -0
  399. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/monokai-vivid.toml +0 -0
  400. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/n0tch2k.toml +0 -0
  401. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/neobones-dark.toml +0 -0
  402. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/neobones-light.toml +0 -0
  403. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/neon.toml +0 -0
  404. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/neopolitan.toml +0 -0
  405. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/neutron.toml +0 -0
  406. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/night-owlish-light.toml +0 -0
  407. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nightfox.toml +0 -0
  408. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nightlion-v1.toml +0 -0
  409. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nightlion-v2.toml +0 -0
  410. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/niji.toml +0 -0
  411. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nocturnal-winter.toml +0 -0
  412. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nord-light.toml +0 -0
  413. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nord.toml +0 -0
  414. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/novel.toml +0 -0
  415. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nvimdark.toml +0 -0
  416. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/nvimlight.toml +0 -0
  417. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/obsidian.toml +0 -0
  418. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ocean.toml +0 -0
  419. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/oceanic-next.toml +0 -0
  420. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/oceanicmaterial.toml +0 -0
  421. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ollie.toml +0 -0
  422. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/onehalfdark.toml +0 -0
  423. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/onehalflight.toml +0 -0
  424. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/operator-mono-dark.toml +0 -0
  425. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/overnight-slumber.toml +0 -0
  426. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/oxocarbon.toml +0 -0
  427. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/palenighthc.toml +0 -0
  428. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/pandora.toml +0 -0
  429. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/paraiso-dark.toml +0 -0
  430. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/paulmillr.toml +0 -0
  431. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/pencildark.toml +0 -0
  432. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/pencillight.toml +0 -0
  433. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/peppermint.toml +0 -0
  434. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/piatto-light.toml +0 -0
  435. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/pnevma.toml +0 -0
  436. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/popping-and-locking.toml +0 -0
  437. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/primary.toml +0 -0
  438. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/pro-light.toml +0 -0
  439. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/pro.toml +0 -0
  440. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/purple-rain.toml +0 -0
  441. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/purplepeter.toml +0 -0
  442. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/rapture.toml +0 -0
  443. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/raycast-dark.toml +0 -0
  444. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/raycast-light.toml +0 -0
  445. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/rebecca.toml +0 -0
  446. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/red-alert.toml +0 -0
  447. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/red-planet.toml +0 -0
  448. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/red-sands.toml +0 -0
  449. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/relaxed.toml +0 -0
  450. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/retro.toml +0 -0
  451. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/rippedcasts.toml +0 -0
  452. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/rose-pine-dawn.toml +0 -0
  453. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/rose-pine-moon.toml +0 -0
  454. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/rose-pine.toml +0 -0
  455. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/rouge-2.toml +0 -0
  456. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/royal.toml +0 -0
  457. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ryuuko.toml +0 -0
  458. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/sakura.toml +0 -0
  459. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/scarlet-protocol.toml +0 -0
  460. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/seafoam-pastel.toml +0 -0
  461. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/seashells.toml +0 -0
  462. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/seoulbones-dark.toml +0 -0
  463. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/seoulbones-light.toml +0 -0
  464. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/seti.toml +0 -0
  465. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/shades-of-purple.toml +0 -0
  466. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/shaman.toml +0 -0
  467. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/slate.toml +0 -0
  468. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/sleepyhollow.toml +0 -0
  469. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/smyck.toml +0 -0
  470. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/snazzy.toml +0 -0
  471. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/softserver.toml +0 -0
  472. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/solarized-darcula.toml +0 -0
  473. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/solarized-dark---patched.toml +0 -0
  474. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  475. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/spacedust.toml +0 -0
  476. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  477. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/spacegray-eighties.toml +0 -0
  478. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/spacegray.toml +0 -0
  479. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/spiderman.toml +0 -0
  480. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/spring.toml +0 -0
  481. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/square.toml +0 -0
  482. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/sublette.toml +0 -0
  483. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/subliminal.toml +0 -0
  484. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/sugarplum.toml +0 -0
  485. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/sundried.toml +0 -0
  486. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/symfonic.toml +0 -0
  487. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/synthwave-everything.toml +0 -0
  488. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/synthwave.toml +0 -0
  489. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/synthwavealpha.toml +0 -0
  490. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tango-adapted.toml +0 -0
  491. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tango-half-adapted.toml +0 -0
  492. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/teerb.toml +0 -0
  493. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/terafox.toml +0 -0
  494. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/terminal-basic.toml +0 -0
  495. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/thayer-bright.toml +0 -0
  496. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/the-hulk.toml +0 -0
  497. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  498. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tinacious-design-(light).toml +0 -0
  499. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tokyonight-day.toml +0 -0
  500. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tokyonight-storm.toml +0 -0
  501. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tokyonight.toml +0 -0
  502. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  503. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  504. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  505. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  506. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tomorrow-night.toml +0 -0
  507. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/tomorrow.toml +0 -0
  508. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/toychest.toml +0 -0
  509. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/treehouse.toml +0 -0
  510. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/twilight.toml +0 -0
  511. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ubuntu.toml +0 -0
  512. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ultradark.toml +0 -0
  513. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/ultraviolent.toml +0 -0
  514. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/underthesea.toml +0 -0
  515. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/unikitty.toml +0 -0
  516. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/urple.toml +0 -0
  517. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/vaughn.toml +0 -0
  518. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/vesper.toml +0 -0
  519. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/vibrantink.toml +0 -0
  520. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/vimbones.toml +0 -0
  521. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/violet-dark.toml +0 -0
  522. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/violet-light.toml +0 -0
  523. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/warmneon.toml +0 -0
  524. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/wez.toml +0 -0
  525. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/whimsy.toml +0 -0
  526. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/wildcherry.toml +0 -0
  527. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/wilmersdorf.toml +0 -0
  528. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/wombat.toml +0 -0
  529. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/wryan.toml +0 -0
  530. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/xcodedark.toml +0 -0
  531. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/xcodedarkhc.toml +0 -0
  532. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/xcodelight.toml +0 -0
  533. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/xcodelighthc.toml +0 -0
  534. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/xcodewwdc.toml +0 -0
  535. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/zenbones-dark.toml +0 -0
  536. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/zenbones-light.toml +0 -0
  537. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/zenbones.toml +0 -0
  538. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/zenburn.toml +0 -0
  539. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/zenburned.toml +0 -0
  540. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/zenwritten-dark.toml +0 -0
  541. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/themes/zenwritten-light.toml +0 -0
  542. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/workflow/__init__.py +0 -0
  543. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/workflow/activities.py +0 -0
  544. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/workflow/agent_activities.py +0 -0
  545. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/workflow/temporal_setup.py +0 -0
  546. {flock_core-0.2.17 → flock_core-0.3.1}/src/flock/workflow/workflow.py +0 -0
  547. {flock_core-0.2.17 → flock_core-0.3.1}/tests/integration/test_agent_integration.py +0 -0
  548. {flock_core-0.2.17 → flock_core-0.3.1}/tests/unittests/test_flock_agent.py +0 -0
@@ -0,0 +1,17 @@
1
+ name: Deploy MkDocs
2
+ on:
3
+ push:
4
+ branches:
5
+ - master # or master
6
+ - docs/* # or docs/*
7
+
8
+ jobs:
9
+ deploy:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-python@v5
14
+ with:
15
+ python-version: '3.x'
16
+ - run: pip install mkdocs-material mkdocs mkdocstrings[python]
17
+ - run: mkdocs gh-deploy --force
@@ -6,6 +6,8 @@ on:
6
6
  push:
7
7
  branches:
8
8
  - master # Replace with your default branch
9
+ paths:
10
+ - 'pyproject.toml' # Only trigger on changes to pyproject.toml (version number)
9
11
 
10
12
  jobs:
11
13
  build-and-publish:
@@ -26,6 +26,7 @@ share/python-wheels/
26
26
  *.egg
27
27
  MANIFEST
28
28
  logs/
29
+ metrics/
29
30
 
30
31
 
31
32
  # PyInstaller
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.2.17
3
+ Version: 0.3.1
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -14,6 +14,7 @@ Requires-Dist: dspy==2.5.42
14
14
  Requires-Dist: duckduckgo-search>=7.3.2
15
15
  Requires-Dist: httpx>=0.28.1
16
16
  Requires-Dist: loguru>=0.7.3
17
+ Requires-Dist: matplotlib>=3.10.0
17
18
  Requires-Dist: msgpack>=1.1.0
18
19
  Requires-Dist: opentelemetry-api>=1.30.0
19
20
  Requires-Dist: opentelemetry-exporter-jaeger-proto-grpc>=1.21.0
@@ -21,13 +22,18 @@ Requires-Dist: opentelemetry-exporter-jaeger>=1.21.0
21
22
  Requires-Dist: opentelemetry-exporter-otlp>=1.30.0
22
23
  Requires-Dist: opentelemetry-instrumentation-logging>=0.51b0
23
24
  Requires-Dist: opentelemetry-sdk>=1.30.0
25
+ Requires-Dist: pillow>=10.4.0
26
+ Requires-Dist: prometheus-client>=0.21.1
24
27
  Requires-Dist: pydantic>=2.10.5
25
28
  Requires-Dist: python-box>=7.3.2
26
29
  Requires-Dist: python-decouple>=3.8
27
30
  Requires-Dist: questionary>=2.1.0
28
31
  Requires-Dist: rich>=13.9.4
32
+ Requires-Dist: sentence-transformers>=3.4.1
29
33
  Requires-Dist: temporalio>=1.9.0
34
+ Requires-Dist: tiktoken>=0.8.0
30
35
  Requires-Dist: toml>=0.10.2
36
+ Requires-Dist: tqdm>=4.67.1
31
37
  Provides-Extra: all-tools
32
38
  Requires-Dist: docling>=2.18.0; extra == 'all-tools'
33
39
  Requires-Dist: markdownify>=0.14.1; extra == 'all-tools'
@@ -38,7 +44,7 @@ Requires-Dist: tavily-python>=0.5.0; extra == 'tools'
38
44
  Description-Content-Type: text/markdown
39
45
 
40
46
  <p align="center">
41
- <img src="docs/img/flock.png" width="600"><br>
47
+ <img src="docs/assets/images/flock.png" width="600"><br>
42
48
  <img alt="Dynamic TOML Badge" src="https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwhiteducksoftware%2Fflock%2Frefs%2Fheads%2Fmaster%2Fpyproject.toml&query=%24.project.version&style=for-the-badge&logo=pypi&label=pip%20version">
43
49
  <a href="https://www.linkedin.com/company/whiteduck" target="_blank"><img alt="LinkedIn" src="https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white&label=whiteduck"></a>
44
50
  <a href="https://bsky.app/profile/whiteduck-gmbh.bsky.social" target="_blank"><img alt="Bluesky" src="https://img.shields.io/badge/bluesky-Follow-blue?style=for-the-badge&logo=bluesky&logoColor=%23fff&color=%23333&labelColor=%230285FF&label=whiteduck-gmbh"></a>
@@ -69,7 +75,15 @@ Flock is a framework for orchestrating LLM-powered agents. It leverages a **decl
69
75
 
70
76
  https://github.com/user-attachments/assets/bdab4786-d532-459f-806a-024727164dcc
71
77
 
78
+ ## Table of Contents
72
79
 
80
+ - [Key Innovations](#key-innovations)
81
+ - [Examples](#examples)
82
+ - [Hello Flock!](#hello-flock)
83
+ - [It's not my type](#its-not-my-type)
84
+ - [Being pydantic](#being-pydantic)
85
+ - [Building a chain gang!](#building-a-chain-gang)
86
+ - [Installation](#installation)
73
87
 
74
88
 
75
89
  ## Key Innovations
@@ -96,7 +110,7 @@ https://github.com/user-attachments/assets/bdab4786-d532-459f-806a-024727164dcc
96
110
 
97
111
 
98
112
  <p align="center">
99
- <img src="docs/img/flock_cli.png" width="200"><br>
113
+ <img src="docs/assets/images//flock_cli.png" width="200"><br>
100
114
 
101
115
  ## Examples
102
116
 
@@ -294,6 +308,98 @@ And BAM! Your finished data model filled up to the brim with data! 🎊
294
308
  }
295
309
  ```
296
310
 
311
+ ### Building a chain gang
312
+
313
+ Our `bloggy` is great, but what if we want to turn those amazing headers into full blog posts? Time to bring in a friend! 🤝
314
+ Let's see how easy it is to make agents work together 🔗
315
+
316
+ ```python
317
+ from flock.core import Flock, FlockAgent
318
+
319
+ flock = Flock(model="openai/gpt-4o")
320
+
321
+ # First agent: Our trusty bloggy generates titles and headers! 📝
322
+ bloggy = FlockAgent(
323
+ name="bloggy",
324
+ input="blog_idea: str|The topic to blog about",
325
+ output=(
326
+ "funny_blog_title: str|A catchy title for the blog, "
327
+ "blog_headers: list[str]|List of section headers for the blog"
328
+ )
329
+ )
330
+
331
+ # Second agent: The content wizard that brings headers to life! ✨
332
+ content_writer = FlockAgent(
333
+ name="content_writer",
334
+ input=(
335
+ "funny_blog_title: str|The blog title to work with, "
336
+ "blog_headers: list[str]|The headers to expand into content"
337
+ ),
338
+ output="blog_sections: list[BlogSection]|The fully written blog sections"
339
+ )
340
+
341
+ # Make them besties! 🤝
342
+ bloggy.hand_off = content_writer
343
+
344
+ # Add your dynamic duo to the flock
345
+ flock.add_agent(bloggy)
346
+ flock.add_agent(content_writer)
347
+
348
+ # Let them create some magic! 🎨
349
+ result = flock.run(
350
+ input={"blog_idea": "A blog about cats"},
351
+ start_agent=bloggy
352
+ )
353
+ ```
354
+
355
+ Super simple rules to remember:
356
+ 1. Point the first agent to the next one using `hand_off`
357
+ 2. Make sure their inputs and outputs match up
358
+
359
+ ### Tools of the trade
360
+
361
+ Of couse no agent framework is complete without using tools.
362
+ Flock enables agents to use any python function you pass as tool or to use one of the plenty default tools
363
+
364
+ ```python
365
+ bloggy = FlockAgent(
366
+ name="bloggy",
367
+ input="blog_idea: str|The topic to blog about",
368
+ output=(
369
+ "funny_blog_title: str|A catchy title for the blog, "
370
+ "blog_headers: list[str]|List of section headers for the blog"
371
+ "analysis_results: dict[str,Any] | Result of calculated analysis if necessary"
372
+ )
373
+ tools=[basic_tools.web_search_duckduckgo, basic_tools.code_eval],
374
+ )
375
+
376
+ result = flock.run(
377
+ input={"blog_idea": "A blog about cats, with an analysis how old the oldest cat became in days"},
378
+ start_agent=bloggy
379
+ )
380
+ ```
381
+
382
+ These tools are available out of the box (needs `flock-core[tools]`):
383
+
384
+ - web_search_tavily
385
+ - web_search_duckduckgo
386
+ - get_web_content_as_markdown
387
+ - get_anything_as_markdown (uses docling and needs `flock-core[all-tools]`)
388
+ - evaluate_math
389
+ - code_eval
390
+ - get_current_time
391
+ - count_words
392
+ - extract_urls
393
+ - extract_numbers
394
+ - json_parse_safe
395
+ - save_to_file
396
+ - read_from_file
397
+
398
+
399
+ That's all there is to it! `bloggy` comes up with amazing headers, and `content_writer` turns them into full blog sections. No more writer's block! 🎉
400
+
401
+ And this is just the beginning - you can chain as many agents as you want. Maybe add a proofreader? Or add memory? Or an SEO optimizer? But let's not get ahead of ourselves! 😉
402
+
297
403
  So far we've barely scratched the surface of what flock has to offer, and we're currently hard at work building up the documentation for all the other super cool features Flock has up its sleeve! Stay tuned! 🚀
298
404
 
299
405
  ## Temporal Workflow Integration
@@ -308,7 +414,9 @@ Documentation in progress!
308
414
 
309
415
  ## Architecture
310
416
 
311
- Documentation in progress!
417
+ <img src="docs/assets/images/components_chart.png" width="800"><br>
418
+
419
+ <img src="docs/assets/images/flow_chart.png" width="800"><br>
312
420
 
313
421
 
314
422
  ## Requirements
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="docs/img/flock.png" width="600"><br>
2
+ <img src="docs/assets/images/flock.png" width="600"><br>
3
3
  <img alt="Dynamic TOML Badge" src="https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fwhiteducksoftware%2Fflock%2Frefs%2Fheads%2Fmaster%2Fpyproject.toml&query=%24.project.version&style=for-the-badge&logo=pypi&label=pip%20version">
4
4
  <a href="https://www.linkedin.com/company/whiteduck" target="_blank"><img alt="LinkedIn" src="https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white&label=whiteduck"></a>
5
5
  <a href="https://bsky.app/profile/whiteduck-gmbh.bsky.social" target="_blank"><img alt="Bluesky" src="https://img.shields.io/badge/bluesky-Follow-blue?style=for-the-badge&logo=bluesky&logoColor=%23fff&color=%23333&labelColor=%230285FF&label=whiteduck-gmbh"></a>
@@ -30,7 +30,15 @@ Flock is a framework for orchestrating LLM-powered agents. It leverages a **decl
30
30
 
31
31
  https://github.com/user-attachments/assets/bdab4786-d532-459f-806a-024727164dcc
32
32
 
33
+ ## Table of Contents
33
34
 
35
+ - [Key Innovations](#key-innovations)
36
+ - [Examples](#examples)
37
+ - [Hello Flock!](#hello-flock)
38
+ - [It's not my type](#its-not-my-type)
39
+ - [Being pydantic](#being-pydantic)
40
+ - [Building a chain gang!](#building-a-chain-gang)
41
+ - [Installation](#installation)
34
42
 
35
43
 
36
44
  ## Key Innovations
@@ -57,7 +65,7 @@ https://github.com/user-attachments/assets/bdab4786-d532-459f-806a-024727164dcc
57
65
 
58
66
 
59
67
  <p align="center">
60
- <img src="docs/img/flock_cli.png" width="200"><br>
68
+ <img src="docs/assets/images//flock_cli.png" width="200"><br>
61
69
 
62
70
  ## Examples
63
71
 
@@ -255,6 +263,98 @@ And BAM! Your finished data model filled up to the brim with data! 🎊
255
263
  }
256
264
  ```
257
265
 
266
+ ### Building a chain gang
267
+
268
+ Our `bloggy` is great, but what if we want to turn those amazing headers into full blog posts? Time to bring in a friend! 🤝
269
+ Let's see how easy it is to make agents work together 🔗
270
+
271
+ ```python
272
+ from flock.core import Flock, FlockAgent
273
+
274
+ flock = Flock(model="openai/gpt-4o")
275
+
276
+ # First agent: Our trusty bloggy generates titles and headers! 📝
277
+ bloggy = FlockAgent(
278
+ name="bloggy",
279
+ input="blog_idea: str|The topic to blog about",
280
+ output=(
281
+ "funny_blog_title: str|A catchy title for the blog, "
282
+ "blog_headers: list[str]|List of section headers for the blog"
283
+ )
284
+ )
285
+
286
+ # Second agent: The content wizard that brings headers to life! ✨
287
+ content_writer = FlockAgent(
288
+ name="content_writer",
289
+ input=(
290
+ "funny_blog_title: str|The blog title to work with, "
291
+ "blog_headers: list[str]|The headers to expand into content"
292
+ ),
293
+ output="blog_sections: list[BlogSection]|The fully written blog sections"
294
+ )
295
+
296
+ # Make them besties! 🤝
297
+ bloggy.hand_off = content_writer
298
+
299
+ # Add your dynamic duo to the flock
300
+ flock.add_agent(bloggy)
301
+ flock.add_agent(content_writer)
302
+
303
+ # Let them create some magic! 🎨
304
+ result = flock.run(
305
+ input={"blog_idea": "A blog about cats"},
306
+ start_agent=bloggy
307
+ )
308
+ ```
309
+
310
+ Super simple rules to remember:
311
+ 1. Point the first agent to the next one using `hand_off`
312
+ 2. Make sure their inputs and outputs match up
313
+
314
+ ### Tools of the trade
315
+
316
+ Of couse no agent framework is complete without using tools.
317
+ Flock enables agents to use any python function you pass as tool or to use one of the plenty default tools
318
+
319
+ ```python
320
+ bloggy = FlockAgent(
321
+ name="bloggy",
322
+ input="blog_idea: str|The topic to blog about",
323
+ output=(
324
+ "funny_blog_title: str|A catchy title for the blog, "
325
+ "blog_headers: list[str]|List of section headers for the blog"
326
+ "analysis_results: dict[str,Any] | Result of calculated analysis if necessary"
327
+ )
328
+ tools=[basic_tools.web_search_duckduckgo, basic_tools.code_eval],
329
+ )
330
+
331
+ result = flock.run(
332
+ input={"blog_idea": "A blog about cats, with an analysis how old the oldest cat became in days"},
333
+ start_agent=bloggy
334
+ )
335
+ ```
336
+
337
+ These tools are available out of the box (needs `flock-core[tools]`):
338
+
339
+ - web_search_tavily
340
+ - web_search_duckduckgo
341
+ - get_web_content_as_markdown
342
+ - get_anything_as_markdown (uses docling and needs `flock-core[all-tools]`)
343
+ - evaluate_math
344
+ - code_eval
345
+ - get_current_time
346
+ - count_words
347
+ - extract_urls
348
+ - extract_numbers
349
+ - json_parse_safe
350
+ - save_to_file
351
+ - read_from_file
352
+
353
+
354
+ That's all there is to it! `bloggy` comes up with amazing headers, and `content_writer` turns them into full blog sections. No more writer's block! 🎉
355
+
356
+ And this is just the beginning - you can chain as many agents as you want. Maybe add a proofreader? Or add memory? Or an SEO optimizer? But let's not get ahead of ourselves! 😉
357
+
258
358
  So far we've barely scratched the surface of what flock has to offer, and we're currently hard at work building up the documentation for all the other super cool features Flock has up its sleeve! Stay tuned! 🚀
259
359
 
260
360
  ## Temporal Workflow Integration
@@ -269,7 +369,9 @@ Documentation in progress!
269
369
 
270
370
  ## Architecture
271
371
 
272
- Documentation in progress!
372
+ <img src="docs/assets/images/components_chart.png" width="800"><br>
373
+
374
+ <img src="docs/assets/images/flow_chart.png" width="800"><br>
273
375
 
274
376
 
275
377
  ## Requirements
@@ -0,0 +1,3 @@
1
+ # Complex Workflows
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Custom Agents
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Performance
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Testing
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Flock Core
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Flockagent
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Types
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Utilities
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Components
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Design Decisions
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Overview
2
+
3
+ Documentation in progress...
@@ -0,0 +1,44 @@
1
+ <mxfile host="65bd71144e">
2
+ <diagram id="iQ7YuHOuaVDECIdskFDT" name="Page-1">
3
+ <mxGraphModel dx="88" dy="620" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="light-dark(#FFFFFF, #d8cfb1)" math="0" shadow="1">
4
+ <root>
5
+ <mxCell id="0"/>
6
+ <mxCell id="1" parent="0"/>
7
+ <mxCell id="2" value="sequenceDiagram&#xa; participant Client&#xa; participant Flock&#xa; participant FlockAgent&#xa; participant Registry&#xa; participant Context&#xa; participant LLM&#xa; &#xa; Client-&gt;&gt;Flock: run_async(agent, input)&#xa; Flock-&gt;&gt;Registry: get_agent(name)&#xa; Registry--&gt;&gt;Flock: agent instance&#xa; &#xa; Flock-&gt;&gt;Context: initialize_context(agent, input)&#xa; &#xa; Flock-&gt;&gt;FlockAgent: run(inputs)&#xa; activate FlockAgent&#xa; &#xa; FlockAgent-&gt;&gt;FlockAgent: initialize(inputs)&#xa; FlockAgent-&gt;&gt;FlockAgent: _evaluate(inputs)&#xa; &#xa; FlockAgent-&gt;&gt;LLM: process with tools/prompts&#xa; LLM--&gt;&gt;FlockAgent: response&#xa; &#xa; FlockAgent-&gt;&gt;FlockAgent: terminate(inputs, result)&#xa; FlockAgent--&gt;&gt;Flock: result&#xa; deactivate FlockAgent&#xa; &#xa; Flock--&gt;&gt;Client: final result" style="shadow=0;dashed=0;align=left;strokeWidth=1;shape=mxgraph.mermaid.abstract.mermaid;labelBackgroundColor=#ffffff;noLabel=1;theme=default;" parent="1" vertex="1">
8
+ <mxGeometry x="271" y="360" width="300" height="300" as="geometry"/>
9
+ </mxCell>
10
+ </root>
11
+ </mxGraphModel>
12
+ </diagram>
13
+ <diagram id="mQwFuZfSuTjpqv4SXbYC" name="Page-2">
14
+ <mxGraphModel dx="354" dy="259" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="light-dark(#FFFFFF, #ffffde)" math="0" shadow="1">
15
+ <root>
16
+ <mxCell id="0"/>
17
+ <mxCell id="1" parent="0"/>
18
+ <mxCell id="gh-ZxXSGDDD0mwRwWCxR-1" value="graph TD&#xa; subgraph Client Application&#xa; client[Client Code]&#xa; end&#xa;&#xa; subgraph Flock Framework&#xa; orchestrator[Flock Orchestrator]&#xa; registry[Agent Registry]&#xa; context[Context Manager]&#xa; &#xa; subgraph Agents&#xa; base[FlockAgent Base]&#xa;&#xa; end&#xa; &#xa; subgraph Execution&#xa; local[Local Executor]&#xa; temporal[Temporal Executor]&#xa; end&#xa; &#xa; subgraph Core Services&#xa; logging[Logging System]&#xa; tools[Tool Registry]&#xa; formatter[Output Formatters]&#xa; end&#xa; end&#xa;&#xa; subgraph External Services&#xa; llm[Language Models]&#xa; temporal_server[Temporal Server]&#xa; end&#xa;&#xa; %% Client interactions&#xa; client --&gt; orchestrator&#xa; &#xa; %% Orchestrator relations&#xa; orchestrator --&gt; registry&#xa; orchestrator --&gt; context&#xa; orchestrator --&gt; local&#xa; orchestrator --&gt; temporal&#xa; &#xa; %% Agent relations&#xa; base --&gt; tools&#xa; base --&gt; logging&#xa; base --&gt; formatter&#xa;&#xa; &#xa; %% Execution relations&#xa; local --&gt; llm&#xa; temporal --&gt; temporal_server&#xa; temporal_server --&gt; llm&#xa; &#xa; %% Registry relations&#xa; registry --&gt; base&#xa; registry --&gt; tools&#xa;&#xa; %% Style&#xa; classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px;&#xa; classDef external fill:#e1f5fe,stroke:#0288d1,stroke-width:2px;&#xa; classDef core fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;&#xa; &#xa; class llm,temporal_server external;&#xa; class orchestrator,registry,context,base,local,temporal core;" style="shadow=0;dashed=0;align=left;strokeWidth=1;shape=mxgraph.mermaid.abstract.mermaid;labelBackgroundColor=#ffffff;noLabel=1;theme=default;" vertex="1" parent="1">
19
+ <mxGeometry x="274" y="325" width="300" height="300" as="geometry"/>
20
+ </mxCell>
21
+ </root>
22
+ </mxGraphModel>
23
+ </diagram>
24
+ <diagram id="sh9ImpPZNdK_Mo0HMCRx" name="Page-3">
25
+ <mxGraphModel dx="1237" dy="800" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" background="light-dark(#FFFFFF,#E8E8E8)" math="0" shadow="0">
26
+ <root>
27
+ <mxCell id="0"/>
28
+ <mxCell id="1" parent="0"/>
29
+ <mxCell id="84CqISvRR4rrSDVKXhkM-1" value="graph TD&#xa; subgraph Memory Storage&#xa; A[New Input/Output] --&gt; B[Create Embedding]&#xa; B --&gt; C[Extract Concepts]&#xa; C --&gt; D[Create Memory Entry]&#xa; D --&gt; E{Store Memory}&#xa; E --&gt;|Recent| F[Short Term Memory]&#xa; E --&gt;|Frequent Use| G[Long Term Memory]&#xa; D --&gt; H[Update Concept Graph]&#xa; end&#xa;&#xa;classDef process fill:#73B7E7,stroke:#333,stroke-width:2px;&#xa;classDef storage fill:#90EE90,stroke:#333,stroke-width:2px;&#xa;class A,B,C,D process;&#xa;class F,G,H storage;" style="shadow=0;dashed=0;align=left;strokeWidth=1;shape=mxgraph.mermaid.abstract.mermaid;labelBackgroundColor=#ffffff;noLabel=1;theme=default;" parent="1" vertex="1">
30
+ <mxGeometry x="-20" y="10" width="300" height="300" as="geometry"/>
31
+ </mxCell>
32
+ <mxCell id="84CqISvRR4rrSDVKXhkM-2" value="graph TD&#xa; subgraph Memory Retrieval&#xa; A1[Query] --&gt; B1[Create Query Embedding]&#xa; A1 --&gt; C1[Extract Query Concepts]&#xa; B1 --&gt; D1{Similarity Search}&#xa; C1 --&gt; E1{Concept Spreading}&#xa; D1 --&gt; F1[Find Similar Memories]&#xa; E1 --&gt; G1[Find Related Concepts]&#xa; F1 --&gt; H1[Score &amp; Rank Results]&#xa; G1 --&gt; H1&#xa; H1 --&gt; I1[Return Best Matches]&#xa; end&#xa;&#xa;classDef query fill:#FFB6C1,stroke:#333,stroke-width:2px;&#xa;classDef process fill:#73B7E7,stroke:#333,stroke-width:2px;&#xa;classDef result fill:#90EE90,stroke:#333,stroke-width:2px;&#xa;class A1,B1,C1 query;&#xa;class D1,E1,F1,G1 process;&#xa;class H1,I1 result;&#xa;" style="shadow=0;dashed=0;align=left;strokeWidth=1;shape=mxgraph.mermaid.abstract.mermaid;labelBackgroundColor=#ffffff;noLabel=1;theme=default;" parent="1" vertex="1">
33
+ <mxGeometry x="240" y="10" width="300" height="300" as="geometry"/>
34
+ </mxCell>
35
+ <mxCell id="84CqISvRR4rrSDVKXhkM-3" value="graph LR&#xa; subgraph Concept Graph&#xa; A2[Space] --&gt; B2[Rockets]&#xa; B2 --&gt; C2[Physics]&#xa; C2 --&gt; D2[Energy]&#xa; B2 --&gt; E2[Engineering]&#xa; A2 --&gt; F2[Astronomy]&#xa; F2 --&gt; G2[Planets]&#xa; end&#xa;&#xa;classDef concept fill:#FFE4B5,stroke:#333,stroke-width:2px;&#xa;class A2,B2,C2,D2,E2,F2,G2 concept;" style="shadow=0;dashed=0;align=left;strokeWidth=1;shape=mxgraph.mermaid.abstract.mermaid;labelBackgroundColor=#ffffff;noLabel=1;theme=default;" parent="1" vertex="1">
36
+ <mxGeometry x="520" y="-60" width="300" height="300" as="geometry"/>
37
+ </mxCell>
38
+ <mxCell id="84CqISvRR4rrSDVKXhkM-4" value="sequenceDiagram&#xa; participant Q as Query&#xa; participant M as Memory System&#xa; participant ST as Short Term&#xa; participant LT as Long Term&#xa; participant CG as Concept Graph&#xa;&#xa; Q-&gt;&gt;M: Search Request&#xa; activate M&#xa; M-&gt;&gt;ST: Check Recent Memories&#xa; M-&gt;&gt;LT: Check Important Memories&#xa; M-&gt;&gt;CG: Spread Activation&#xa; CG--&gt;&gt;M: Related Concepts&#xa; ST--&gt;&gt;M: Similar Recent Memories&#xa; LT--&gt;&gt;M: Similar Important Memories&#xa; M-&gt;&gt;M: Score &amp; Rank Results&#xa; M--&gt;&gt;Q: Return Best Matches&#xa; deactivate M" style="shadow=0;dashed=0;align=left;strokeWidth=1;shape=mxgraph.mermaid.abstract.mermaid;labelBackgroundColor=#ffffff;noLabel=1;theme=default;" parent="1" vertex="1">
39
+ <mxGeometry y="290" width="820" height="650" as="geometry"/>
40
+ </mxCell>
41
+ </root>
42
+ </mxGraphModel>
43
+ </diagram>
44
+ </mxfile>
@@ -0,0 +1,3 @@
1
+ # Code Style
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Development
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Documentation
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Testing
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Agents
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Declarative
2
+
3
+ Documentation in progress...
@@ -0,0 +1,3 @@
1
+ # Error Handling
2
+
3
+ Documentation in progress...