flock-core 0.3.14__tar.gz → 0.3.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of flock-core might be problematic. Click here for more details.

Files changed (564) hide show
  1. {flock_core-0.3.14 → flock_core-0.3.16}/.env_template +1 -1
  2. {flock_core-0.3.14 → flock_core-0.3.16}/.gitignore +1 -0
  3. {flock_core-0.3.14 → flock_core-0.3.16}/PKG-INFO +1 -1
  4. {flock_core-0.3.14 → flock_core-0.3.16}/examples/01_introduction/06_simple_hand_off.py +1 -5
  5. flock_core-0.3.16/examples/02_concepts/context/context.py +57 -0
  6. {flock_core-0.3.14/examples/03_misc → flock_core-0.3.16/examples/02_concepts}/evaluator/multi_hops_memory.py +6 -5
  7. {flock_core-0.3.14/examples/03_misc → flock_core-0.3.16/examples/02_concepts}/modules/use_modules.py +4 -2
  8. {flock_core-0.3.14/examples/playground → flock_core-0.3.16/examples/03_apps}/roguelike/game.py +21 -3
  9. {flock_core-0.3.14/examples/notebooks_wip → flock_core-0.3.16/examples/04_comparison}/rag_comparison/rag.ipynb +13 -7
  10. flock_core-0.3.16/examples/README.md +27 -0
  11. {flock_core-0.3.14 → flock_core-0.3.16}/examples/playground/hier/her_vis.py +3 -1
  12. {flock_core-0.3.14 → flock_core-0.3.16}/examples/playground/hier/hier_mem.py +29 -19
  13. {flock_core-0.3.14 → flock_core-0.3.16}/pyproject.toml +1 -1
  14. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/context/context.py +21 -23
  15. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/flock_agent.py +20 -5
  16. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/flock_factory.py +4 -0
  17. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/flock_module.py +27 -5
  18. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/tools/basic_tools.py +24 -0
  19. flock_core-0.3.16/src/flock/modules/azure-search/azure_search_module.py +0 -0
  20. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/modules/callback/callback_module.py +21 -18
  21. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/modules/memory/memory_module.py +32 -35
  22. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/modules/output/output_module.py +12 -1
  23. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/modules/performance/metrics_module.py +24 -5
  24. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/modules/zep/zep_module.py +10 -2
  25. flock_core-0.3.16/src/flock/workflow/__init__.py +0 -0
  26. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/workflow/activities.py +2 -2
  27. {flock_core-0.3.14 → flock_core-0.3.16}/uv.lock +1 -1
  28. flock_core-0.3.14/examples/README.md +0 -24
  29. flock_core-0.3.14/examples/playground/hier/hier.py +0 -1022
  30. flock_core-0.3.14/examples/playground/hier/hier_module.py +0 -646
  31. {flock_core-0.3.14 → flock_core-0.3.16}/.devcontainer/devcontainer.json +0 -0
  32. {flock_core-0.3.14 → flock_core-0.3.16}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  33. {flock_core-0.3.14 → flock_core-0.3.16}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  34. {flock_core-0.3.14 → flock_core-0.3.16}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  35. {flock_core-0.3.14 → flock_core-0.3.16}/.github/workflows/.gitkeep +0 -0
  36. {flock_core-0.3.14 → flock_core-0.3.16}/.github/workflows/deploy-documentation.yml +0 -0
  37. {flock_core-0.3.14 → flock_core-0.3.16}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  38. {flock_core-0.3.14 → flock_core-0.3.16}/.vscode/launch.json +0 -0
  39. {flock_core-0.3.14 → flock_core-0.3.16}/.vscode/settings.json +0 -0
  40. {flock_core-0.3.14 → flock_core-0.3.16}/.vscode/tasks.json +0 -0
  41. {flock_core-0.3.14 → flock_core-0.3.16}/LICENSE +0 -0
  42. {flock_core-0.3.14 → flock_core-0.3.16}/README.md +0 -0
  43. {flock_core-0.3.14 → flock_core-0.3.16}/docs/advanced/complex-workflows.md +0 -0
  44. {flock_core-0.3.14 → flock_core-0.3.16}/docs/advanced/custom-agents.md +0 -0
  45. {flock_core-0.3.14 → flock_core-0.3.16}/docs/advanced/performance.md +0 -0
  46. {flock_core-0.3.14 → flock_core-0.3.16}/docs/advanced/testing.md +0 -0
  47. {flock_core-0.3.14 → flock_core-0.3.16}/docs/api/flock-core.md +0 -0
  48. {flock_core-0.3.14 → flock_core-0.3.16}/docs/api/flockagent.md +0 -0
  49. {flock_core-0.3.14 → flock_core-0.3.16}/docs/api/types.md +0 -0
  50. {flock_core-0.3.14 → flock_core-0.3.16}/docs/api/utilities.md +0 -0
  51. {flock_core-0.3.14 → flock_core-0.3.16}/docs/architecture/components.md +0 -0
  52. {flock_core-0.3.14 → flock_core-0.3.16}/docs/architecture/design-decisions.md +0 -0
  53. {flock_core-0.3.14 → flock_core-0.3.16}/docs/architecture/overview.md +0 -0
  54. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/drawio/architecture.drawio +0 -0
  55. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/cli_outputs/out.png +0 -0
  56. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/components_chart.png +0 -0
  57. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/examples/01_01.png +0 -0
  58. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/examples/01_02.png +0 -0
  59. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/examples/01_03.png +0 -0
  60. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/examples/01_04.png +0 -0
  61. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/examples/01_05.png +0 -0
  62. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/examples/01_06.png +0 -0
  63. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/flock.png +0 -0
  64. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/flock_cli.png +0 -0
  65. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/flow_chart.png +0 -0
  66. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  67. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/hummingbird.png +0 -0
  68. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/icon.png +0 -0
  69. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/icon.png~ +0 -0
  70. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/logo.png +0 -0
  71. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/memory_concepts.png +0 -0
  72. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/memory_flow.png +0 -0
  73. {flock_core-0.3.14 → flock_core-0.3.16}/docs/assets/images/memory_flow_chart.png +0 -0
  74. {flock_core-0.3.14 → flock_core-0.3.16}/docs/contributing/code-style.md +0 -0
  75. {flock_core-0.3.14 → flock_core-0.3.16}/docs/contributing/development.md +0 -0
  76. {flock_core-0.3.14 → flock_core-0.3.16}/docs/contributing/documentation.md +0 -0
  77. {flock_core-0.3.14 → flock_core-0.3.16}/docs/contributing/testing.md +0 -0
  78. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/agents.md +0 -0
  79. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/declarative.md +0 -0
  80. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/error-handling.md +0 -0
  81. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/evaluators.md +0 -0
  82. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/memory.md +0 -0
  83. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/modules/memory.md +0 -0
  84. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/modules/metrics.md +0 -0
  85. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/modules/output.md +0 -0
  86. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/modules.md +0 -0
  87. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/routers/agent.md +0 -0
  88. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/routers/default.md +0 -0
  89. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/routers/llm.md +0 -0
  90. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/routers.md +0 -0
  91. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/type-system.md +0 -0
  92. {flock_core-0.3.14 → flock_core-0.3.16}/docs/core-concepts/workflows.md +0 -0
  93. {flock_core-0.3.14 → flock_core-0.3.16}/docs/create_doc_boilerplate.py +0 -0
  94. {flock_core-0.3.14 → flock_core-0.3.16}/docs/deployment/monitoring.md +0 -0
  95. {flock_core-0.3.14 → flock_core-0.3.16}/docs/deployment/production-setup.md +0 -0
  96. {flock_core-0.3.14 → flock_core-0.3.16}/docs/deployment/scalability.md +0 -0
  97. {flock_core-0.3.14 → flock_core-0.3.16}/docs/deployment/security.md +0 -0
  98. {flock_core-0.3.14 → flock_core-0.3.16}/docs/development/dev.md +0 -0
  99. {flock_core-0.3.14 → flock_core-0.3.16}/docs/development/replace-dspy/implementation_plan.md +0 -0
  100. {flock_core-0.3.14 → flock_core-0.3.16}/docs/development/topics.md +0 -0
  101. {flock_core-0.3.14 → flock_core-0.3.16}/docs/examples/chain-gang.md +0 -0
  102. {flock_core-0.3.14 → flock_core-0.3.16}/docs/examples/hello-flock.md +0 -0
  103. {flock_core-0.3.14 → flock_core-0.3.16}/docs/examples/pydantic.md +0 -0
  104. {flock_core-0.3.14 → flock_core-0.3.16}/docs/examples/type-system.md +0 -0
  105. {flock_core-0.3.14 → flock_core-0.3.16}/docs/features/agent-chaining.md +0 -0
  106. {flock_core-0.3.14 → flock_core-0.3.16}/docs/features/agent-definition.md +0 -0
  107. {flock_core-0.3.14 → flock_core-0.3.16}/docs/features/lifecycle-hooks.md +0 -0
  108. {flock_core-0.3.14 → flock_core-0.3.16}/docs/features/pydantic.md +0 -0
  109. {flock_core-0.3.14 → flock_core-0.3.16}/docs/features/type-safety.md +0 -0
  110. {flock_core-0.3.14 → flock_core-0.3.16}/docs/getting-started/concepts.md +0 -0
  111. {flock_core-0.3.14 → flock_core-0.3.16}/docs/getting-started/configuration.md +0 -0
  112. {flock_core-0.3.14 → flock_core-0.3.16}/docs/getting-started/installation.md +0 -0
  113. {flock_core-0.3.14 → flock_core-0.3.16}/docs/getting-started/quickstart.md +0 -0
  114. {flock_core-0.3.14 → flock_core-0.3.16}/docs/index.md +0 -0
  115. {flock_core-0.3.14 → flock_core-0.3.16}/docs/integrations/dspy.md +0 -0
  116. {flock_core-0.3.14 → flock_core-0.3.16}/docs/integrations/litellm.md +0 -0
  117. {flock_core-0.3.14 → flock_core-0.3.16}/docs/integrations/rest-api.md +0 -0
  118. {flock_core-0.3.14 → flock_core-0.3.16}/docs/integrations/tavily.md +0 -0
  119. {flock_core-0.3.14 → flock_core-0.3.16}/docs/integrations/temporal.md +0 -0
  120. {flock_core-0.3.14 → flock_core-0.3.16}/docs/release-notes/release_notes.md +0 -0
  121. {flock_core-0.3.14 → flock_core-0.3.16}/docs/stylesheets/extra.css +0 -0
  122. {flock_core-0.3.14 → flock_core-0.3.16}/docs/tutorials/blog-generator.md +0 -0
  123. {flock_core-0.3.14 → flock_core-0.3.16}/docs/tutorials/custom-tools.md +0 -0
  124. {flock_core-0.3.14 → flock_core-0.3.16}/docs/tutorials/error-recovery.md +0 -0
  125. {flock_core-0.3.14 → flock_core-0.3.16}/docs/tutorials/multi-agent.md +0 -0
  126. {flock_core-0.3.14 → flock_core-0.3.16}/examples/01_introduction/01_simple_example.py +0 -0
  127. {flock_core-0.3.14 → flock_core-0.3.16}/examples/01_introduction/02_typed_output.py +0 -0
  128. {flock_core-0.3.14 → flock_core-0.3.16}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
  129. {flock_core-0.3.14 → flock_core-0.3.16}/examples/01_introduction/04_descriptions.py +0 -0
  130. {flock_core-0.3.14 → flock_core-0.3.16}/examples/01_introduction/05_typed_output2.py +0 -0
  131. {flock_core-0.3.14/examples/03_misc → flock_core-0.3.16/examples/02_concepts}/api/api_client.py +0 -0
  132. {flock_core-0.3.14/examples/03_misc → flock_core-0.3.16/examples/02_concepts}/api/api_server.py +0 -0
  133. {flock_core-0.3.14/examples/03_misc → flock_core-0.3.16/examples/02_concepts}/evaluator/multi_hops_zep.py +0 -0
  134. {flock_core-0.3.14/examples/03_misc → flock_core-0.3.16/examples/02_concepts}/router/router_example.py +0 -0
  135. {flock_core-0.3.14/examples/documentation → flock_core-0.3.16/examples/05_documentation}/getting-started/first_agent_01.py +0 -0
  136. {flock_core-0.3.14/examples/documentation → flock_core-0.3.16/examples/05_documentation}/getting-started/first_agent_02.py +0 -0
  137. {flock_core-0.3.14/examples/documentation → flock_core-0.3.16/examples/05_documentation}/getting-started/first_agent_03.py +0 -0
  138. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/flock_without_llms.py +0 -0
  139. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/long_research_no_handoff.py +0 -0
  140. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/painting_by_numbers.py +0 -0
  141. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/project_manager.py +0 -0
  142. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/repo_analyzer/repo_analyzer.py +0 -0
  143. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/repo_analyzer/repo_analyzer_llm.py +0 -0
  144. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/save_and_load/load_01.py +0 -0
  145. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/save_and_load/load_02.py +0 -0
  146. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/save_and_load/load_03.py +0 -0
  147. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/save_and_load/load_04.py +0 -0
  148. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/save_and_load/save_01.py +0 -0
  149. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/save_and_load/save_02.py +0 -0
  150. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/save_and_load/save_03.py +0 -0
  151. {flock_core-0.3.14/examples → flock_core-0.3.16/examples/playground}/02_cook_book/self_improvement_with_memory.py +0 -0
  152. {flock_core-0.3.14 → flock_core-0.3.16}/examples/playground/misc/memory.py +0 -0
  153. {flock_core-0.3.14 → flock_core-0.3.16}/examples/playground/misc/self_learner.py +0 -0
  154. {flock_core-0.3.14 → flock_core-0.3.16}/examples/playground/misc/self_learner2.py +0 -0
  155. {flock_core-0.3.14 → flock_core-0.3.16}/examples/playground/website/app.py +0 -0
  156. {flock_core-0.3.14 → flock_core-0.3.16}/mkdocs.yml +0 -0
  157. {flock_core-0.3.14 → flock_core-0.3.16}/requirements.txt +0 -0
  158. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/__init__.py +0 -0
  159. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/assets/release_notes.md +0 -0
  160. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/constants.py +0 -0
  161. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/create_agent.py +0 -0
  162. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/create_flock.py +0 -0
  163. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/load_agent.py +0 -0
  164. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/load_examples.py +0 -0
  165. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/load_flock.py +0 -0
  166. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/load_release_notes.py +0 -0
  167. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/cli/settings.py +0 -0
  168. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/config.py +0 -0
  169. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/__init__.py +0 -0
  170. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/context/context_manager.py +0 -0
  171. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/context/context_vars.py +0 -0
  172. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/execution/local_executor.py +0 -0
  173. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/execution/temporal_executor.py +0 -0
  174. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/flock.py +0 -0
  175. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/flock_api.py +0 -0
  176. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/flock_evaluator.py +0 -0
  177. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/flock_router.py +0 -0
  178. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/interpreter/python_interpreter.py +0 -0
  179. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/__init__.py +0 -0
  180. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  181. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  182. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  183. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/formatters/themes.py +0 -0
  184. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/logging.py +0 -0
  185. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  186. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/telemetry.py +0 -0
  187. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  188. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  189. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  190. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/logging/trace_and_logged.py +0 -0
  191. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/mixin/dspy_integration.py +0 -0
  192. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/mixin/prompt_parser.py +0 -0
  193. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/registry/agent_registry.py +0 -0
  194. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/serialization/secure_serializer.py +0 -0
  195. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/serialization/serializable.py +0 -0
  196. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/tools/dev_tools/github.py +0 -0
  197. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/tools/llm_tools.py +0 -0
  198. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/tools/markdown_tools.py +0 -0
  199. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/util/cli_helper.py +0 -0
  200. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/util/hydrator.py +0 -0
  201. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/core/util/input_resolver.py +0 -0
  202. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  203. /flock_core-0.3.14/src/flock/workflow/__init__.py → /flock_core-0.3.16/src/flock/evaluators/memory/azure_search_evaluator.py +0 -0
  204. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  205. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
  206. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  207. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/modules/memory/memory_parser.py +0 -0
  208. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/modules/memory/memory_storage.py +0 -0
  209. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/platform/docker_tools.py +0 -0
  210. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/platform/jaeger_install.py +0 -0
  211. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/__init__.py +0 -0
  212. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/agent/__init__.py +0 -0
  213. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/agent/agent_router.py +0 -0
  214. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/agent/handoff_agent.py +0 -0
  215. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/default/__init__.py +0 -0
  216. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/default/default_router.py +0 -0
  217. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/llm/__init__.py +0 -0
  218. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/routers/llm/llm_router.py +0 -0
  219. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/3024-day.toml +0 -0
  220. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/3024-night.toml +0 -0
  221. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/aardvark-blue.toml +0 -0
  222. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/abernathy.toml +0 -0
  223. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/adventure.toml +0 -0
  224. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/adventuretime.toml +0 -0
  225. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/afterglow.toml +0 -0
  226. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/alabaster.toml +0 -0
  227. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/alienblood.toml +0 -0
  228. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/andromeda.toml +0 -0
  229. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/apple-classic.toml +0 -0
  230. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/apple-system-colors.toml +0 -0
  231. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/arcoiris.toml +0 -0
  232. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/argonaut copy.toml +0 -0
  233. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/argonaut.toml +0 -0
  234. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/arthur.toml +0 -0
  235. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ateliersulphurpool.toml +0 -0
  236. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/atom.toml +0 -0
  237. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/atom_test.toml +0 -0
  238. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/atomonelight.toml +0 -0
  239. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/aurora.toml +0 -0
  240. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ayu copy.toml +0 -0
  241. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ayu-light.toml +0 -0
  242. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ayu-mirage.toml +0 -0
  243. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ayu.toml +0 -0
  244. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/banana-blueberry.toml +0 -0
  245. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/batman.toml +0 -0
  246. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/belafonte-day.toml +0 -0
  247. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/belafonte-night.toml +0 -0
  248. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/birdsofparadise.toml +0 -0
  249. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/blazer.toml +0 -0
  250. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/blue-matrix.toml +0 -0
  251. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/blueberrypie.toml +0 -0
  252. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/bluedolphin.toml +0 -0
  253. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/blulocodark.toml +0 -0
  254. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/blulocolight.toml +0 -0
  255. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/borland.toml +0 -0
  256. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/breeze.toml +0 -0
  257. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/bright-lights.toml +0 -0
  258. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/broadcast.toml +0 -0
  259. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/brogrammer.toml +0 -0
  260. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/builtin-dark.toml +0 -0
  261. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/builtin-light.toml +0 -0
  262. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  263. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  264. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/builtin-solarized-light.toml +0 -0
  265. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/builtin-tango-dark.toml +0 -0
  266. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/builtin-tango-light.toml +0 -0
  267. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/c64.toml +0 -0
  268. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/calamity.toml +0 -0
  269. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/catppuccin-frappe.toml +0 -0
  270. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/catppuccin-latte.toml +0 -0
  271. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  272. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/catppuccin-mocha.toml +0 -0
  273. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/cga.toml +0 -0
  274. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/chalk.toml +0 -0
  275. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/chalkboard.toml +0 -0
  276. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/challengerdeep.toml +0 -0
  277. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/chester.toml +0 -0
  278. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ciapre.toml +0 -0
  279. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/clrs.toml +0 -0
  280. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/cobalt-neon.toml +0 -0
  281. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/cobalt2.toml +0 -0
  282. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/coffee-theme.toml +0 -0
  283. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/crayonponyfish.toml +0 -0
  284. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/cutiepro.toml +0 -0
  285. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/cyberdyne.toml +0 -0
  286. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/cyberpunk.toml +0 -0
  287. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  288. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dark+.toml +0 -0
  289. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dark-pastel.toml +0 -0
  290. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/darkermatrix.toml +0 -0
  291. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/darkmatrix.toml +0 -0
  292. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/darkside.toml +0 -0
  293. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dayfox.toml +0 -0
  294. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/deep.toml +0 -0
  295. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/desert.toml +0 -0
  296. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dimidium.toml +0 -0
  297. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dimmedmonokai.toml +0 -0
  298. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/django.toml +0 -0
  299. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/djangorebornagain.toml +0 -0
  300. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/djangosmooth.toml +0 -0
  301. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/doom-peacock.toml +0 -0
  302. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/doomone.toml +0 -0
  303. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dotgov.toml +0 -0
  304. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dracula+.toml +0 -0
  305. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/dracula.toml +0 -0
  306. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/duckbones.toml +0 -0
  307. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/duotone-dark.toml +0 -0
  308. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/earthsong.toml +0 -0
  309. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/elemental.toml +0 -0
  310. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/elementary.toml +0 -0
  311. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/encom.toml +0 -0
  312. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/espresso-libre.toml +0 -0
  313. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/espresso.toml +0 -0
  314. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/everblush.toml +0 -0
  315. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/fahrenheit.toml +0 -0
  316. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/fairyfloss.toml +0 -0
  317. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/farmhouse-dark.toml +0 -0
  318. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/farmhouse-light.toml +0 -0
  319. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/fideloper.toml +0 -0
  320. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/firefly-traditional.toml +0 -0
  321. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/firefoxdev.toml +0 -0
  322. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/firewatch.toml +0 -0
  323. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/fishtank.toml +0 -0
  324. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/flat.toml +0 -0
  325. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/flatland.toml +0 -0
  326. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/flexoki-dark.toml +0 -0
  327. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/flexoki-light.toml +0 -0
  328. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/floraverse.toml +0 -0
  329. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/forestblue.toml +0 -0
  330. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/framer.toml +0 -0
  331. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/frontenddelight.toml +0 -0
  332. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/funforrest.toml +0 -0
  333. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/galaxy.toml +0 -0
  334. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/galizur.toml +0 -0
  335. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/github-dark.toml +0 -0
  336. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/github.toml +0 -0
  337. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/glacier.toml +0 -0
  338. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/grape.toml +0 -0
  339. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/grass.toml +0 -0
  340. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/grey-green.toml +0 -0
  341. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/gruber-darker.toml +0 -0
  342. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/gruvboxdark.toml +0 -0
  343. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  344. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/gruvboxlight.toml +0 -0
  345. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/guezwhoz.toml +0 -0
  346. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hacktober.toml +0 -0
  347. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hardcore.toml +0 -0
  348. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/harper.toml +0 -0
  349. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hax0r-blue.toml +0 -0
  350. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hax0r-gr33n.toml +0 -0
  351. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hax0r-r3d.toml +0 -0
  352. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/highway.toml +0 -0
  353. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hipster-green.toml +0 -0
  354. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hivacruz.toml +0 -0
  355. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/homebrew.toml +0 -0
  356. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hopscotch.256.toml +0 -0
  357. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hopscotch.toml +0 -0
  358. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hurtado.toml +0 -0
  359. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/hybrid.toml +0 -0
  360. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ic-green-ppl.toml +0 -0
  361. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ic-orange-ppl.toml +0 -0
  362. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iceberg-dark.toml +0 -0
  363. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iceberg-light.toml +0 -0
  364. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/idea.toml +0 -0
  365. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/idletoes.toml +0 -0
  366. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ir-black.toml +0 -0
  367. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-dark-background.toml +0 -0
  368. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-default.toml +0 -0
  369. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-light-background.toml +0 -0
  370. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  371. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  372. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  373. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  374. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  375. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/iterm2-tango-light.toml +0 -0
  376. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/jackie-brown.toml +0 -0
  377. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/japanesque.toml +0 -0
  378. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/jellybeans.toml +0 -0
  379. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/jetbrains-darcula.toml +0 -0
  380. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/jubi.toml +0 -0
  381. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/kanagawabones.toml +0 -0
  382. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/kibble.toml +0 -0
  383. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/kolorit.toml +0 -0
  384. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/konsolas.toml +0 -0
  385. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/kurokula.toml +0 -0
  386. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/lab-fox.toml +0 -0
  387. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/laser.toml +0 -0
  388. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/later-this-evening.toml +0 -0
  389. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/lavandula.toml +0 -0
  390. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/liquidcarbon.toml +0 -0
  391. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  392. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  393. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/lovelace.toml +0 -0
  394. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/man-page.toml +0 -0
  395. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/mariana.toml +0 -0
  396. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/material.toml +0 -0
  397. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/materialdark.toml +0 -0
  398. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/materialdarker.toml +0 -0
  399. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/materialdesigncolors.toml +0 -0
  400. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/materialocean.toml +0 -0
  401. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/mathias.toml +0 -0
  402. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/matrix.toml +0 -0
  403. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/medallion.toml +0 -0
  404. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/mellifluous.toml +0 -0
  405. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/midnight-in-mojave.toml +0 -0
  406. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/mirage.toml +0 -0
  407. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/misterioso.toml +0 -0
  408. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/molokai.toml +0 -0
  409. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/monalisa.toml +0 -0
  410. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/monokai-remastered.toml +0 -0
  411. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/monokai-soda.toml +0 -0
  412. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/monokai-vivid.toml +0 -0
  413. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/n0tch2k.toml +0 -0
  414. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/neobones-dark.toml +0 -0
  415. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/neobones-light.toml +0 -0
  416. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/neon.toml +0 -0
  417. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/neopolitan.toml +0 -0
  418. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/neutron.toml +0 -0
  419. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/night-owlish-light.toml +0 -0
  420. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nightfox.toml +0 -0
  421. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nightlion-v1.toml +0 -0
  422. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nightlion-v2.toml +0 -0
  423. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/niji.toml +0 -0
  424. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nocturnal-winter.toml +0 -0
  425. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nord-light.toml +0 -0
  426. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nord.toml +0 -0
  427. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/novel.toml +0 -0
  428. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nvimdark.toml +0 -0
  429. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/nvimlight.toml +0 -0
  430. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/obsidian.toml +0 -0
  431. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ocean.toml +0 -0
  432. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/oceanic-next.toml +0 -0
  433. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/oceanicmaterial.toml +0 -0
  434. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ollie.toml +0 -0
  435. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/onehalfdark.toml +0 -0
  436. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/onehalflight.toml +0 -0
  437. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/operator-mono-dark.toml +0 -0
  438. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/overnight-slumber.toml +0 -0
  439. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/oxocarbon.toml +0 -0
  440. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/palenighthc.toml +0 -0
  441. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/pandora.toml +0 -0
  442. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/paraiso-dark.toml +0 -0
  443. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/paulmillr.toml +0 -0
  444. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/pencildark.toml +0 -0
  445. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/pencillight.toml +0 -0
  446. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/peppermint.toml +0 -0
  447. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/piatto-light.toml +0 -0
  448. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/pnevma.toml +0 -0
  449. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/popping-and-locking.toml +0 -0
  450. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/primary.toml +0 -0
  451. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/pro-light.toml +0 -0
  452. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/pro.toml +0 -0
  453. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/purple-rain.toml +0 -0
  454. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/purplepeter.toml +0 -0
  455. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/rapture.toml +0 -0
  456. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/raycast-dark.toml +0 -0
  457. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/raycast-light.toml +0 -0
  458. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/rebecca.toml +0 -0
  459. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/red-alert.toml +0 -0
  460. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/red-planet.toml +0 -0
  461. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/red-sands.toml +0 -0
  462. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/relaxed.toml +0 -0
  463. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/retro.toml +0 -0
  464. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/rippedcasts.toml +0 -0
  465. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/rose-pine-dawn.toml +0 -0
  466. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/rose-pine-moon.toml +0 -0
  467. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/rose-pine.toml +0 -0
  468. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/rouge-2.toml +0 -0
  469. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/royal.toml +0 -0
  470. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ryuuko.toml +0 -0
  471. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/sakura.toml +0 -0
  472. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/scarlet-protocol.toml +0 -0
  473. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/seafoam-pastel.toml +0 -0
  474. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/seashells.toml +0 -0
  475. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/seoulbones-dark.toml +0 -0
  476. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/seoulbones-light.toml +0 -0
  477. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/seti.toml +0 -0
  478. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/shades-of-purple.toml +0 -0
  479. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/shaman.toml +0 -0
  480. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/slate.toml +0 -0
  481. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/sleepyhollow.toml +0 -0
  482. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/smyck.toml +0 -0
  483. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/snazzy.toml +0 -0
  484. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/softserver.toml +0 -0
  485. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/solarized-darcula.toml +0 -0
  486. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/solarized-dark---patched.toml +0 -0
  487. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  488. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/spacedust.toml +0 -0
  489. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  490. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/spacegray-eighties.toml +0 -0
  491. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/spacegray.toml +0 -0
  492. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/spiderman.toml +0 -0
  493. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/spring.toml +0 -0
  494. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/square.toml +0 -0
  495. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/sublette.toml +0 -0
  496. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/subliminal.toml +0 -0
  497. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/sugarplum.toml +0 -0
  498. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/sundried.toml +0 -0
  499. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/symfonic.toml +0 -0
  500. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/synthwave-everything.toml +0 -0
  501. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/synthwave.toml +0 -0
  502. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/synthwavealpha.toml +0 -0
  503. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tango-adapted.toml +0 -0
  504. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tango-half-adapted.toml +0 -0
  505. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/teerb.toml +0 -0
  506. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/terafox.toml +0 -0
  507. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/terminal-basic.toml +0 -0
  508. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/thayer-bright.toml +0 -0
  509. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/the-hulk.toml +0 -0
  510. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  511. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tinacious-design-(light).toml +0 -0
  512. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tokyonight-day.toml +0 -0
  513. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tokyonight-storm.toml +0 -0
  514. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tokyonight.toml +0 -0
  515. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  516. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  517. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  518. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  519. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tomorrow-night.toml +0 -0
  520. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/tomorrow.toml +0 -0
  521. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/toychest.toml +0 -0
  522. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/treehouse.toml +0 -0
  523. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/twilight.toml +0 -0
  524. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ubuntu.toml +0 -0
  525. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ultradark.toml +0 -0
  526. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/ultraviolent.toml +0 -0
  527. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/underthesea.toml +0 -0
  528. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/unikitty.toml +0 -0
  529. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/urple.toml +0 -0
  530. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/vaughn.toml +0 -0
  531. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/vesper.toml +0 -0
  532. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/vibrantink.toml +0 -0
  533. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/vimbones.toml +0 -0
  534. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/violet-dark.toml +0 -0
  535. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/violet-light.toml +0 -0
  536. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/warmneon.toml +0 -0
  537. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/wez.toml +0 -0
  538. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/whimsy.toml +0 -0
  539. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/wildcherry.toml +0 -0
  540. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/wilmersdorf.toml +0 -0
  541. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/wombat.toml +0 -0
  542. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/wryan.toml +0 -0
  543. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/xcodedark.toml +0 -0
  544. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/xcodedarkhc.toml +0 -0
  545. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/xcodelight.toml +0 -0
  546. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/xcodelighthc.toml +0 -0
  547. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/xcodewwdc.toml +0 -0
  548. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/zenbones-dark.toml +0 -0
  549. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/zenbones-light.toml +0 -0
  550. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/zenbones.toml +0 -0
  551. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/zenburn.toml +0 -0
  552. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/zenburned.toml +0 -0
  553. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/zenwritten-dark.toml +0 -0
  554. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/themes/zenwritten-light.toml +0 -0
  555. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/workflow/agent_activities.py +0 -0
  556. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/workflow/temporal_setup.py +0 -0
  557. {flock_core-0.3.14 → flock_core-0.3.16}/src/flock/workflow/workflow.py +0 -0
  558. {flock_core-0.3.14 → flock_core-0.3.16}/tests/integration/test_agent_integration.py +0 -0
  559. {flock_core-0.3.14 → flock_core-0.3.16}/tests/unittests/test_agent_based_handoff.py +0 -0
  560. {flock_core-0.3.14 → flock_core-0.3.16}/tests/unittests/test_agent_router_property.py +0 -0
  561. {flock_core-0.3.14 → flock_core-0.3.16}/tests/unittests/test_flock.py +0 -0
  562. {flock_core-0.3.14 → flock_core-0.3.16}/tests/unittests/test_flock_agent.py +0 -0
  563. {flock_core-0.3.14 → flock_core-0.3.16}/tests/unittests/test_memory_operations.py +0 -0
  564. {flock_core-0.3.14 → flock_core-0.3.16}/tests/unittests/test_memory_store.py +0 -0
@@ -25,4 +25,4 @@ GITHUB_REPO=
25
25
  GITHUB_USERNAME=
26
26
 
27
27
  TAVILY_API_KEY=tvly-...
28
- SERPER_API_KEY=
28
+ BING_SEARCH_V7_SUBSCRIPTION_KEY=
@@ -31,6 +31,7 @@ metrics/
31
31
  concept_memory/
32
32
  news/
33
33
  .chroma/
34
+ hierarchical_memory/
34
35
 
35
36
  # PyInstaller
36
37
  # Usually these files are written by a python script from a template
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.3.14
3
+ Version: 0.3.16
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -26,12 +26,8 @@ project_plan_agent = FlockFactory.create_default_agent(
26
26
  # Default router = handoff to specific agent
27
27
  #idea_agent.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=project_plan_agent.name))
28
28
 
29
- # Agent router = handoff to agent based on agent's output
30
- idea_agent.handoff_router = AgentRouter(config=AgentRouterConfig(with_output=True))
31
-
32
29
  # LLM router = handoff to agent based on LLM's decision
33
- #idea_agent.handoff_router = LLMRouter(config=LLMRouterConfig())
34
-
30
+ idea_agent.handoff_router = LLMRouter(config=LLMRouterConfig(with_output=True))
35
31
 
36
32
  flock.run(
37
33
  input={"query": "fun software project idea about ducks"},
@@ -0,0 +1,57 @@
1
+
2
+ from flock.core import Flock, FlockFactory
3
+ from flock.core.flock_module import FlockModule, FlockModuleConfig
4
+ from flock.routers.default.default_router import DefaultRouter, DefaultRouterConfig
5
+
6
+ class ContextModule(FlockModule):
7
+ def terminate(self, agent, inputs, result, context=None):
8
+ context.set_variable("flock_agent1.a_random_name", "John Doe")
9
+
10
+
11
+ flock = Flock()
12
+
13
+
14
+
15
+ # Flock has an advanced context system that allows you to store and retrieve data
16
+ # across agents. The context is a dictionary that can be accessed and modified by
17
+ # all agents in the flock via modules
18
+ # Agents will write their inputs and outputs to the context prefixed with "agentname."
19
+
20
+
21
+
22
+ flock_agent_1 = FlockFactory.create_default_agent(
23
+ name="flock_agent1",
24
+ input="",
25
+ output="a_random_name: str",
26
+ )
27
+
28
+
29
+ flock_agent_2 = FlockFactory.create_default_agent(
30
+ name="flock_agent2",
31
+ input="a_random_name",
32
+ output="name_in_caps: str",
33
+ )
34
+ flock_agent_2.add_module(ContextModule(name="context_module", config= FlockModuleConfig()))
35
+
36
+ # Agent3 will reverse John Doe to eoD nhoJ
37
+ flock_agent_3 = FlockFactory.create_default_agent(
38
+ name="flock_agent3",
39
+ input="flock_agent1.a_random_name",
40
+ output="name_reversed: str",
41
+ wait_for_input=True,
42
+ print_context=True,
43
+ )
44
+
45
+
46
+ flock_agent_1.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=flock_agent_2.name))
47
+ flock_agent_2.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=flock_agent_3.name))
48
+ flock_agent_3.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=flock_agent_1.name))
49
+ flock.add_agent(flock_agent_1)
50
+ flock.add_agent(flock_agent_2)
51
+ flock.add_agent(flock_agent_3)
52
+
53
+ flock.run(
54
+ input={},
55
+ start_agent=flock_agent_1,
56
+ agents=[flock_agent_1, flock_agent_2, flock_agent_3]
57
+ )
@@ -48,10 +48,11 @@ def read_from_kg():
48
48
  def read_from_kg_and_evaluate():
49
49
  read_from_kg_and_evaluate_agent = FlockFactory.create_default_agent(model="openai/gpt-4o",name="read_from_kg_and_evaluate_agent",
50
50
  input="query",
51
- output="short_answer",
52
- output_theme=OutputTheme.aardvark_blue)
51
+ output="answer",
52
+ output_theme=OutputTheme.aardvark_blue,
53
+ enable_rich_tables=True)
53
54
 
54
- read_from_kg_and_evaluate_agent.add_module(MemoryModule(name="mem_eval", config=MemoryModuleConfig(splitting_mode="characters")))
55
+ read_from_kg_and_evaluate_agent.add_module(MemoryModule(name="mem_eval", config=MemoryModuleConfig(splitting_mode="characters", enable_read_only_mode=True)))
55
56
 
56
57
 
57
58
 
@@ -69,8 +70,8 @@ def read_from_kg_and_evaluate():
69
70
 
70
71
 
71
72
  if __name__ == "__main__":
72
- write_to_kg()
73
- #read_from_kg()
73
+ #write_to_kg()
74
+ read_from_kg()
74
75
  #read_from_kg_and_evaluate()
75
76
  pass
76
77
 
@@ -52,10 +52,12 @@ agent = FlockFactory.create_default_agent(
52
52
  # Currently there are two graph based modules: Zep and Memory.
53
53
  # Memory is more lightweight and easier to use, but Zep offers more features and is more powerful.
54
54
 
55
- # zep = ZepModule(name="zep",config=ZepModuleConfig())
56
- zep = MemoryModule(name="mem_split",config=MemoryModuleConfig(splitting_mode="characters"))
55
+ zep = ZepModule(name="zep",config=ZepModuleConfig())
57
56
  agent.add_module(zep)
58
57
 
58
+ mem = MemoryModule(name="mem_split",config=MemoryModuleConfig(splitting_mode="characters", number_of_concepts_to_extract=5))
59
+ agent.add_module(mem)
60
+
59
61
 
60
62
  flock.add_agent(agent)
61
63
  result = flock.run(
@@ -13,6 +13,7 @@ from rich.console import Console, Group
13
13
  from rich.panel import Panel
14
14
  from rich.table import Table
15
15
  from rich.prompt import Prompt
16
+ from pydantic import BaseModel
16
17
 
17
18
  # Basic game constants
18
19
  MAP_WIDTH = 20
@@ -49,6 +50,16 @@ class Action(Enum):
49
50
  ATTACK = auto()
50
51
  TALK = auto()
51
52
  WAIT = auto()
53
+
54
+
55
+
56
+
57
+ class Map(BaseModel):
58
+ width: int
59
+ height: int
60
+ data: List[str]
61
+
62
+
52
63
 
53
64
  @dataclass
54
65
  class Entity:
@@ -72,6 +83,14 @@ def format_entity(entity: Entity) -> str:
72
83
  """Helper to wrap an entity's name in rich markup based on its color."""
73
84
  return f"[{entity.color}]{entity.name}[/{entity.color}]"
74
85
 
86
+ class Scene(BaseModel):
87
+ name: str
88
+ description: str
89
+ entities: List[Entity]
90
+ map_data: Map
91
+ turn: int
92
+ player_index: int
93
+
75
94
  @dataclass
76
95
  class GameState:
77
96
  map_data: List[str]
@@ -167,8 +186,7 @@ class RoguelikeGame:
167
186
  reasoning: str | Short explanation of why this action was chosen
168
187
  """,
169
188
  temperature=0.7,
170
- enable_rich_tables=True,
171
- output_theme=OutputTheme.dracula
189
+ no_output=True
172
190
  )
173
191
  self.flock.add_agent(agent)
174
192
  entity.agent_name = agent.name
@@ -319,7 +337,7 @@ class RoguelikeGame:
319
337
  target_name = result.get("target", "")
320
338
  message = result.get("message", "")
321
339
  reasoning = result.get("reasoning", "")
322
- self.state.add_to_log(f"{format_entity(entity)} thinks: {reasoning}")
340
+ #self.state.add_to_log(f"{format_entity(entity)} thinks: {reasoning}")
323
341
 
324
342
  target = None
325
343
  if target_name:
@@ -152,7 +152,7 @@
152
152
  "chroma_client = chromadb.PersistentClient(path=\".chroma\")\n",
153
153
  "collection = chroma_client.get_or_create_collection(name=\"my_cnn_news\") \n",
154
154
  "\n",
155
- "query = \"What recent actions have been taken by the Trump administration regarding the federal workforce, and how does this relate to the broader context of Trump's policies and proposals?\"\n",
155
+ "query=\"What is the vaccination rate goal set by HHS to help prevent outbreaks of measles?\"\n",
156
156
  "results = collection.query(query_texts=[query], n_results=3)\n",
157
157
  "debug(results)\n",
158
158
  "\n"
@@ -242,16 +242,22 @@
242
242
  "outputs": [],
243
243
  "source": [
244
244
  "\n",
245
+ "news_files = glob.glob(\"news/*.md\")\n",
246
+ "news_files = [open(file, \"r\", encoding=\"utf-8\") for file in news_files]\n",
247
+ "news_files = [(file.read(),file.name) for file in news_files]\n",
245
248
  "\n",
246
- "\n",
247
- "write_to_kg_agent = FlockFactory.create_default_agent(model=\"openai/gpt-4o\",name=\"write_to_kg_agent\", \n",
249
+ "write_to_kg_agent = FlockFactory.create_default_agent(model=\"openai/gpt-4o\",name=\"news_to_kg_agent\", \n",
248
250
  " input=\"data\", \n",
249
- " output_theme=OutputTheme.aardvark_blue)\n",
251
+ " output_theme=OutputTheme.aardvark_blue, shorten_long_lists=True)\n",
252
+ "\n",
250
253
  "\n",
254
+ "write_to_kg_agent.evaluator = MemoryEvaluator(name=\"news_to_kg_agent\", \n",
255
+ " config=MemoryEvaluatorConfig(splitting_mode=\"characters\", \n",
256
+ " number_of_concepts_to_extract=3))\n",
251
257
  "\n",
252
- "write_to_kg_agent.evaluator = MemoryEvaluator(name=\"mem_eval\", \n",
253
- " config=MemoryEvaluatorConfig(splitting_mode=\"none\", \n",
254
- " number_of_concepts_to_extract=5))\n",
258
+ "for file_content, file_name in news_files:\n",
259
+ " result = write_to_kg_agent.run(inputs={\"data\": file_content})\n",
260
+ " print(result)\n",
255
261
  "\n",
256
262
  "\n",
257
263
  "\n",
@@ -0,0 +1,27 @@
1
+ # Flock examples
2
+
3
+ This part of the repository tries to explain how to use Flock to.
4
+
5
+ ## 01 Introduction
6
+
7
+ Basic usage of flock
8
+
9
+ ## 02 Concepts
10
+
11
+ Recipes and samples to some of flock's concepts
12
+
13
+ ## 03 Apps
14
+
15
+ Full apps powered by flock
16
+
17
+ ## 04 Comparison
18
+
19
+ We are comparing flock to other frameworks
20
+
21
+ ## 05 Documentation
22
+
23
+ Code Snippets out of the documentation
24
+
25
+ ## playground
26
+
27
+ André's Playground - stay away!
@@ -6,7 +6,9 @@ import numpy as np
6
6
  from matplotlib.colors import LinearSegmentedColormap
7
7
  from typing import Dict, List, Set, Tuple
8
8
 
9
- from hierarchical_memory_implementation import ConceptRelationType, HierarchicalMemoryGraph
9
+ from flock.modules.hierarchical.memory import ConceptRelationType, HierarchicalMemoryGraph
10
+
11
+
10
12
 
11
13
 
12
14
  class MemoryVisualizer:
@@ -4,18 +4,27 @@ import asyncio
4
4
  from typing import Dict, Any
5
5
 
6
6
  from flock.core import FlockFactory
7
- from flock.core.output_themes import OutputTheme
7
+ from flock.core.logging.formatters.themes import OutputTheme
8
+ from flock.evaluators.memory.hierarchical_evaluator import HierarchicalMemoryEvaluator, HierarchicalMemoryEvaluatorConfig
9
+ from flock.modules.hierarchical.memory import ConceptRelationType, HierarchicalMemoryModuleConfig
10
+ from flock.modules.hierarchical.module import HierarchicalMemoryModule
8
11
 
9
- # Import the new hierarchical memory components
10
- from hierarchical_memory_implementation import ConceptRelationType, MemoryModuleConfig
11
- from hierarchical_memory_module import HierarchicalMemoryModule
12
12
 
13
13
 
14
14
  async def main():
15
15
  """Demonstrate the hierarchical memory capabilities."""
16
16
 
17
17
  # Create an agent with hierarchical memory
18
- memory_config = MemoryModuleConfig(
18
+ memory_config = HierarchicalMemoryEvaluatorConfig(
19
+ folder_path="hierarchical_memory/",
20
+ enable_hierarchical_concepts=True,
21
+ upward_propagation_factor=0.8,
22
+ downward_propagation_factor=0.6,
23
+ similarity_threshold=0.5,
24
+ splitting_mode="semantic",
25
+ save_after_update=True,
26
+ )
27
+ memory_module_config = HierarchicalMemoryModuleConfig(
19
28
  folder_path="hierarchical_memory/",
20
29
  enable_hierarchical_concepts=True,
21
30
  upward_propagation_factor=0.8,
@@ -23,9 +32,9 @@ async def main():
23
32
  similarity_threshold=0.5,
24
33
  splitting_mode="semantic"
25
34
  )
26
-
27
35
  # Create the memory module with the configuration
28
- memory_module = HierarchicalMemoryModule(name="hierarchical_memory", config=memory_config)
36
+ memory_eval = HierarchicalMemoryEvaluator(name="hierarchical_memory", config=memory_config)
37
+ memory_module = HierarchicalMemoryModule(name="hierarchical_memory", config=memory_module_config)
29
38
 
30
39
  # Create the agent with the memory module
31
40
  agent = FlockFactory.create_default_agent(
@@ -36,29 +45,30 @@ async def main():
36
45
  )
37
46
 
38
47
  # Replace the default evaluator with our hierarchical memory module
39
- agent.evaluator = memory_module
48
+ agent.evaluator = memory_eval
40
49
 
41
- # Initialize the agent
42
- await memory_module.initialize(agent, {})
50
+
43
51
 
44
52
  # Add some initial data with implicit hierarchies
45
53
  print("Adding initial information...")
46
- await agent.run(inputs={"data": "Andre is 38 years old and author of the agent framework 'flock'"})
47
- await agent.run(inputs={"data": "Andre works for White Duck"})
48
- await agent.run(inputs={"data": "Andre has two cats"})
49
- await agent.run(inputs={"data": "White Duck is a cloud consulting company"})
50
- await agent.run(inputs={"data": "Flock is an agent framework designed for scalable multi-agent systems"})
54
+ await agent.run_async(inputs={"data": "Andre is 38 years old and author of the agent framework 'flock'"})
55
+ await agent.run_async(inputs={"data": "Andre works for White Duck"})
56
+ await agent.run_async(inputs={"data": "Andre has two cats"})
57
+ await agent.run_async(inputs={"data": "White Duck is a cloud consulting company"})
58
+ await agent.run_async(inputs={"data": "Flock is an agent framework designed for scalable multi-agent systems"})
51
59
 
52
60
  # Add data about Andre's cats with names
53
- await agent.run(inputs={"data": "One of Andre's cats is named Luna"})
54
- await agent.run(inputs={"data": "The other cat is named Lucy"})
61
+ await agent.run_async(inputs={"data": "One of Andre's cats is named Luna"})
62
+ await agent.run_async(inputs={"data": "The other cat is named Lucy"})
55
63
 
56
64
  # Add location information
57
- await agent.run(inputs={"data": "Andre lives in Germany"})
58
- await agent.run(inputs={"data": "Germany is in Europe"})
65
+ await agent.run_async(inputs={"data": "Andre lives in Germany"})
66
+ await agent.run_async(inputs={"data": "Germany is in Europe"})
59
67
 
60
68
  # Add explicit hierarchical relationships
61
69
  print("\nAdding explicit hierarchical relationships...")
70
+
71
+
62
72
  await memory_module.add_hierarchical_relationship(
63
73
  agent=agent,
64
74
  child_concept="cat",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flock-core"
3
- version = "0.3.14"
3
+ version = "0.3.16"
4
4
  description = "Declarative LLM Orchestration at Scale"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -1,9 +1,10 @@
1
1
  import uuid
2
- from dataclasses import asdict, dataclass, field
2
+ from dataclasses import asdict
3
3
  from datetime import datetime
4
4
  from typing import Any, Literal
5
5
 
6
6
  from opentelemetry import trace
7
+ from pydantic import BaseModel, Field
7
8
 
8
9
  from flock.core.context.context_vars import FLOCK_LAST_AGENT, FLOCK_LAST_RESULT
9
10
  from flock.core.logging.logging import get_logger
@@ -13,34 +14,31 @@ logger = get_logger("context")
13
14
  tracer = trace.get_tracer(__name__)
14
15
 
15
16
 
16
- @dataclass
17
- class AgentRunRecord:
18
- id: str = field(default="")
19
- agent: str = field(default="")
20
- data: dict[str, Any] = field(default_factory=dict)
21
- timestamp: str = field(default="")
22
- hand_off: dict = field(default_factory=dict)
23
- called_from: str = field(default="")
17
+ class AgentRunRecord(BaseModel):
18
+ id: str = Field(default="")
19
+ agent: str = Field(default="")
20
+ data: dict[str, Any] = Field(default_factory=dict)
21
+ timestamp: str = Field(default="")
22
+ hand_off: dict | None = Field(default_factory=dict)
23
+ called_from: str = Field(default="")
24
24
 
25
25
 
26
- @dataclass
27
- class AgentDefinition:
28
- agent_type: str = field(default="")
29
- agent_name: str = field(default="")
30
- agent_data: dict = field(default_factory=dict)
31
- serializer: Literal["json", "cloudpickle", "msgpack"] = field(
26
+ class AgentDefinition(BaseModel):
27
+ agent_type: str = Field(default="")
28
+ agent_name: str = Field(default="")
29
+ agent_data: dict = Field(default_factory=dict)
30
+ serializer: Literal["json", "cloudpickle", "msgpack"] = Field(
32
31
  default="cloudpickle"
33
32
  )
34
33
 
35
34
 
36
- @dataclass
37
- class FlockContext(Serializable):
38
- state: dict[str, Any] = field(default_factory=dict)
39
- history: list[AgentRunRecord] = field(default_factory=list)
40
- agent_definitions: dict[str, AgentDefinition] = field(default_factory=dict)
41
- run_id: str = field(default="")
42
- workflow_id: str = field(default="")
43
- workflow_timestamp: str = field(default="")
35
+ class FlockContext(Serializable, BaseModel):
36
+ state: dict[str, Any] = Field(default_factory=dict)
37
+ history: list[AgentRunRecord] = Field(default_factory=list)
38
+ agent_definitions: dict[str, AgentDefinition] = Field(default_factory=dict)
39
+ run_id: str = Field(default="")
40
+ workflow_id: str = Field(default="")
41
+ workflow_timestamp: str = Field(default="")
44
42
 
45
43
  def record(
46
44
  self,
@@ -11,6 +11,7 @@ import cloudpickle
11
11
  from opentelemetry import trace
12
12
  from pydantic import BaseModel, Field
13
13
 
14
+ from flock.core.context.context import FlockContext
14
15
  from flock.core.flock_evaluator import FlockEvaluator
15
16
  from flock.core.flock_module import FlockModule
16
17
  from flock.core.flock_router import FlockRouter
@@ -73,6 +74,11 @@ class FlockAgent(BaseModel, ABC, DSPyIntegrationMixin):
73
74
  description="FlockModules attached to this agent",
74
75
  )
75
76
 
77
+ context: FlockContext | None = Field(
78
+ default=None,
79
+ description="Context associated with flock",
80
+ )
81
+
76
82
  def add_module(self, module: FlockModule) -> None:
77
83
  """Add a module to this agent."""
78
84
  self.modules[module.name] = module
@@ -95,6 +101,13 @@ class FlockAgent(BaseModel, ABC, DSPyIntegrationMixin):
95
101
  with tracer.start_as_current_span("agent.initialize") as span:
96
102
  span.set_attribute("agent.name", self.name)
97
103
  span.set_attribute("inputs", str(inputs))
104
+ if not self.context:
105
+ self.context = FlockContext()
106
+
107
+ if self.name not in self.context.agent_definitions:
108
+ self.context.add_agent_definition(
109
+ type(self), self.name, self.to_dict()
110
+ )
98
111
 
99
112
  try:
100
113
  for module in self.get_enabled_modules():
@@ -102,7 +115,7 @@ class FlockAgent(BaseModel, ABC, DSPyIntegrationMixin):
102
115
  f"agent.initialize - module {module.name}",
103
116
  agent=self.name,
104
117
  )
105
- await module.initialize(self, inputs)
118
+ await module.initialize(self, inputs, self.context)
106
119
  except Exception as module_error:
107
120
  logger.error(
108
121
  "Error during initialize",
@@ -124,7 +137,7 @@ class FlockAgent(BaseModel, ABC, DSPyIntegrationMixin):
124
137
  )
125
138
  try:
126
139
  for module in self.get_enabled_modules():
127
- await module.terminate(self, inputs, inputs)
140
+ await module.terminate(self, inputs, inputs, self.context)
128
141
  except Exception as module_error:
129
142
  logger.error(
130
143
  "Error during terminate",
@@ -139,7 +152,7 @@ class FlockAgent(BaseModel, ABC, DSPyIntegrationMixin):
139
152
  span.set_attribute("inputs", str(inputs))
140
153
  try:
141
154
  for module in self.get_enabled_modules():
142
- await module.on_error(self, error, inputs)
155
+ await module.on_error(self, error, inputs, self.context)
143
156
  except Exception as module_error:
144
157
  logger.error(
145
158
  "Error during on_error",
@@ -154,13 +167,15 @@ class FlockAgent(BaseModel, ABC, DSPyIntegrationMixin):
154
167
  span.set_attribute("inputs", str(inputs))
155
168
 
156
169
  for module in self.get_enabled_modules():
157
- inputs = await module.pre_evaluate(self, inputs)
170
+ inputs = await module.pre_evaluate(self, inputs, self.context)
158
171
 
159
172
  try:
160
173
  result = await self.evaluator.evaluate(self, inputs, self.tools)
161
174
 
162
175
  for module in self.get_enabled_modules():
163
- result = await module.post_evaluate(self, inputs, result)
176
+ result = await module.post_evaluate(
177
+ self, inputs, result, self.context
178
+ )
164
179
 
165
180
  span.set_attribute("result", str(result))
166
181
 
@@ -34,6 +34,8 @@ class FlockFactory:
34
34
  temperature: float = 0.0,
35
35
  max_tokens: int = 4096,
36
36
  alert_latency_threshold_ms: int = 30000,
37
+ no_output: bool = False,
38
+ print_context: bool = False,
37
39
  ) -> FlockAgent:
38
40
  """Creates a default FlockAgent.
39
41
 
@@ -63,6 +65,8 @@ class FlockFactory:
63
65
  render_table=enable_rich_tables,
64
66
  theme=output_theme,
65
67
  wait_for_input=wait_for_input,
68
+ no_output=no_output,
69
+ print_context=print_context,
66
70
  )
67
71
  output_module = OutputModule("output", config=output_config)
68
72
 
@@ -5,6 +5,8 @@ from typing import Any, TypeVar
5
5
 
6
6
  from pydantic import BaseModel, Field, create_model
7
7
 
8
+ from flock.core.context.context import FlockContext
9
+
8
10
  T = TypeVar("T", bound="FlockModuleConfig")
9
11
 
10
12
 
@@ -50,30 +52,50 @@ class FlockModule(BaseModel, ABC):
50
52
  default_factory=FlockModuleConfig, description="Module configuration"
51
53
  )
52
54
 
53
- async def initialize(self, agent: Any, inputs: dict[str, Any]) -> None:
55
+ async def initialize(
56
+ self,
57
+ agent: Any,
58
+ inputs: dict[str, Any],
59
+ context: FlockContext | None = None,
60
+ ) -> None:
54
61
  """Called when the agent starts running."""
55
62
  pass
56
63
 
57
64
  async def pre_evaluate(
58
- self, agent: Any, inputs: dict[str, Any]
65
+ self,
66
+ agent: Any,
67
+ inputs: dict[str, Any],
68
+ context: FlockContext | None = None,
59
69
  ) -> dict[str, Any]:
60
70
  """Called before agent evaluation, can modify inputs."""
61
71
  return inputs
62
72
 
63
73
  async def post_evaluate(
64
- self, agent: Any, inputs: dict[str, Any], result: dict[str, Any]
74
+ self,
75
+ agent: Any,
76
+ inputs: dict[str, Any],
77
+ result: dict[str, Any],
78
+ context: FlockContext | None = None,
65
79
  ) -> dict[str, Any]:
66
80
  """Called after agent evaluation, can modify results."""
67
81
  return result
68
82
 
69
83
  async def terminate(
70
- self, agent: Any, inputs: dict[str, Any], result: dict[str, Any]
84
+ self,
85
+ agent: Any,
86
+ inputs: dict[str, Any],
87
+ result: dict[str, Any],
88
+ context: FlockContext | None = None,
71
89
  ) -> None:
72
90
  """Called when the agent finishes running."""
73
91
  pass
74
92
 
75
93
  async def on_error(
76
- self, agent: Any, error: Exception, inputs: dict[str, Any]
94
+ self,
95
+ agent: Any,
96
+ error: Exception,
97
+ inputs: dict[str, Any],
98
+ context: FlockContext | None = None,
77
99
  ) -> None:
78
100
  """Called when an error occurs during agent execution."""
79
101
  pass
@@ -43,6 +43,30 @@ def web_search_duckduckgo(
43
43
  raise
44
44
 
45
45
 
46
+ @traced_and_logged
47
+ def web_search_bing(keywords: str):
48
+ try:
49
+ import httpx
50
+
51
+ subscription_key = os.environ["BING_SEARCH_V7_SUBSCRIPTION_KEY"]
52
+ endpoint = "https://api.bing.microsoft.com/v7.0/search"
53
+
54
+ # Query term(s) to search for.
55
+ query = keywords
56
+
57
+ # Construct a request
58
+ mkt = "en-US"
59
+ params = {"q": query, "mkt": mkt}
60
+ headers = {"Ocp-Apim-Subscription-Key": subscription_key}
61
+
62
+ response = httpx.get(endpoint, headers=headers, params=params)
63
+ response.raise_for_status()
64
+ search_results = response.json()
65
+ return search_results["webPages"]
66
+ except Exception:
67
+ raise
68
+
69
+
46
70
  def extract_links_from_markdown(markdown: str, url: str) -> list:
47
71
  # Regular expression to find all markdown links
48
72
  link_pattern = re.compile(r"\[([^\]]+)\]\(([^)]+)\)")