flock-core 0.3.15__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 (561) hide show
  1. {flock_core-0.3.15 → flock_core-0.3.16}/PKG-INFO +1 -1
  2. flock_core-0.3.16/examples/02_concepts/context/context.py +57 -0
  3. {flock_core-0.3.15 → flock_core-0.3.16}/pyproject.toml +1 -1
  4. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/context/context.py +21 -23
  5. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/flock_agent.py +20 -5
  6. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/flock_factory.py +2 -0
  7. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/flock_module.py +27 -5
  8. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/callback/callback_module.py +21 -4
  9. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/memory/memory_module.py +19 -4
  10. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/output/output_module.py +12 -1
  11. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/performance/metrics_module.py +24 -5
  12. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/zep/zep_module.py +10 -2
  13. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/workflow/activities.py +2 -2
  14. {flock_core-0.3.15 → flock_core-0.3.16}/uv.lock +1 -1
  15. {flock_core-0.3.15 → flock_core-0.3.16}/.devcontainer/devcontainer.json +0 -0
  16. {flock_core-0.3.15 → flock_core-0.3.16}/.env_template +0 -0
  17. {flock_core-0.3.15 → flock_core-0.3.16}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {flock_core-0.3.15 → flock_core-0.3.16}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  19. {flock_core-0.3.15 → flock_core-0.3.16}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  20. {flock_core-0.3.15 → flock_core-0.3.16}/.github/workflows/.gitkeep +0 -0
  21. {flock_core-0.3.15 → flock_core-0.3.16}/.github/workflows/deploy-documentation.yml +0 -0
  22. {flock_core-0.3.15 → flock_core-0.3.16}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  23. {flock_core-0.3.15 → flock_core-0.3.16}/.gitignore +0 -0
  24. {flock_core-0.3.15 → flock_core-0.3.16}/.vscode/launch.json +0 -0
  25. {flock_core-0.3.15 → flock_core-0.3.16}/.vscode/settings.json +0 -0
  26. {flock_core-0.3.15 → flock_core-0.3.16}/.vscode/tasks.json +0 -0
  27. {flock_core-0.3.15 → flock_core-0.3.16}/LICENSE +0 -0
  28. {flock_core-0.3.15 → flock_core-0.3.16}/README.md +0 -0
  29. {flock_core-0.3.15 → flock_core-0.3.16}/docs/advanced/complex-workflows.md +0 -0
  30. {flock_core-0.3.15 → flock_core-0.3.16}/docs/advanced/custom-agents.md +0 -0
  31. {flock_core-0.3.15 → flock_core-0.3.16}/docs/advanced/performance.md +0 -0
  32. {flock_core-0.3.15 → flock_core-0.3.16}/docs/advanced/testing.md +0 -0
  33. {flock_core-0.3.15 → flock_core-0.3.16}/docs/api/flock-core.md +0 -0
  34. {flock_core-0.3.15 → flock_core-0.3.16}/docs/api/flockagent.md +0 -0
  35. {flock_core-0.3.15 → flock_core-0.3.16}/docs/api/types.md +0 -0
  36. {flock_core-0.3.15 → flock_core-0.3.16}/docs/api/utilities.md +0 -0
  37. {flock_core-0.3.15 → flock_core-0.3.16}/docs/architecture/components.md +0 -0
  38. {flock_core-0.3.15 → flock_core-0.3.16}/docs/architecture/design-decisions.md +0 -0
  39. {flock_core-0.3.15 → flock_core-0.3.16}/docs/architecture/overview.md +0 -0
  40. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/drawio/architecture.drawio +0 -0
  41. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/cli_outputs/out.png +0 -0
  42. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/components_chart.png +0 -0
  43. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/examples/01_01.png +0 -0
  44. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/examples/01_02.png +0 -0
  45. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/examples/01_03.png +0 -0
  46. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/examples/01_04.png +0 -0
  47. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/examples/01_05.png +0 -0
  48. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/examples/01_06.png +0 -0
  49. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/flock.png +0 -0
  50. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/flock_cli.png +0 -0
  51. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/flow_chart.png +0 -0
  52. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  53. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/hummingbird.png +0 -0
  54. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/icon.png +0 -0
  55. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/icon.png~ +0 -0
  56. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/logo.png +0 -0
  57. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/memory_concepts.png +0 -0
  58. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/memory_flow.png +0 -0
  59. {flock_core-0.3.15 → flock_core-0.3.16}/docs/assets/images/memory_flow_chart.png +0 -0
  60. {flock_core-0.3.15 → flock_core-0.3.16}/docs/contributing/code-style.md +0 -0
  61. {flock_core-0.3.15 → flock_core-0.3.16}/docs/contributing/development.md +0 -0
  62. {flock_core-0.3.15 → flock_core-0.3.16}/docs/contributing/documentation.md +0 -0
  63. {flock_core-0.3.15 → flock_core-0.3.16}/docs/contributing/testing.md +0 -0
  64. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/agents.md +0 -0
  65. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/declarative.md +0 -0
  66. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/error-handling.md +0 -0
  67. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/evaluators.md +0 -0
  68. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/memory.md +0 -0
  69. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/modules/memory.md +0 -0
  70. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/modules/metrics.md +0 -0
  71. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/modules/output.md +0 -0
  72. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/modules.md +0 -0
  73. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/routers/agent.md +0 -0
  74. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/routers/default.md +0 -0
  75. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/routers/llm.md +0 -0
  76. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/routers.md +0 -0
  77. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/type-system.md +0 -0
  78. {flock_core-0.3.15 → flock_core-0.3.16}/docs/core-concepts/workflows.md +0 -0
  79. {flock_core-0.3.15 → flock_core-0.3.16}/docs/create_doc_boilerplate.py +0 -0
  80. {flock_core-0.3.15 → flock_core-0.3.16}/docs/deployment/monitoring.md +0 -0
  81. {flock_core-0.3.15 → flock_core-0.3.16}/docs/deployment/production-setup.md +0 -0
  82. {flock_core-0.3.15 → flock_core-0.3.16}/docs/deployment/scalability.md +0 -0
  83. {flock_core-0.3.15 → flock_core-0.3.16}/docs/deployment/security.md +0 -0
  84. {flock_core-0.3.15 → flock_core-0.3.16}/docs/development/dev.md +0 -0
  85. {flock_core-0.3.15 → flock_core-0.3.16}/docs/development/replace-dspy/implementation_plan.md +0 -0
  86. {flock_core-0.3.15 → flock_core-0.3.16}/docs/development/topics.md +0 -0
  87. {flock_core-0.3.15 → flock_core-0.3.16}/docs/examples/chain-gang.md +0 -0
  88. {flock_core-0.3.15 → flock_core-0.3.16}/docs/examples/hello-flock.md +0 -0
  89. {flock_core-0.3.15 → flock_core-0.3.16}/docs/examples/pydantic.md +0 -0
  90. {flock_core-0.3.15 → flock_core-0.3.16}/docs/examples/type-system.md +0 -0
  91. {flock_core-0.3.15 → flock_core-0.3.16}/docs/features/agent-chaining.md +0 -0
  92. {flock_core-0.3.15 → flock_core-0.3.16}/docs/features/agent-definition.md +0 -0
  93. {flock_core-0.3.15 → flock_core-0.3.16}/docs/features/lifecycle-hooks.md +0 -0
  94. {flock_core-0.3.15 → flock_core-0.3.16}/docs/features/pydantic.md +0 -0
  95. {flock_core-0.3.15 → flock_core-0.3.16}/docs/features/type-safety.md +0 -0
  96. {flock_core-0.3.15 → flock_core-0.3.16}/docs/getting-started/concepts.md +0 -0
  97. {flock_core-0.3.15 → flock_core-0.3.16}/docs/getting-started/configuration.md +0 -0
  98. {flock_core-0.3.15 → flock_core-0.3.16}/docs/getting-started/installation.md +0 -0
  99. {flock_core-0.3.15 → flock_core-0.3.16}/docs/getting-started/quickstart.md +0 -0
  100. {flock_core-0.3.15 → flock_core-0.3.16}/docs/index.md +0 -0
  101. {flock_core-0.3.15 → flock_core-0.3.16}/docs/integrations/dspy.md +0 -0
  102. {flock_core-0.3.15 → flock_core-0.3.16}/docs/integrations/litellm.md +0 -0
  103. {flock_core-0.3.15 → flock_core-0.3.16}/docs/integrations/rest-api.md +0 -0
  104. {flock_core-0.3.15 → flock_core-0.3.16}/docs/integrations/tavily.md +0 -0
  105. {flock_core-0.3.15 → flock_core-0.3.16}/docs/integrations/temporal.md +0 -0
  106. {flock_core-0.3.15 → flock_core-0.3.16}/docs/release-notes/release_notes.md +0 -0
  107. {flock_core-0.3.15 → flock_core-0.3.16}/docs/stylesheets/extra.css +0 -0
  108. {flock_core-0.3.15 → flock_core-0.3.16}/docs/tutorials/blog-generator.md +0 -0
  109. {flock_core-0.3.15 → flock_core-0.3.16}/docs/tutorials/custom-tools.md +0 -0
  110. {flock_core-0.3.15 → flock_core-0.3.16}/docs/tutorials/error-recovery.md +0 -0
  111. {flock_core-0.3.15 → flock_core-0.3.16}/docs/tutorials/multi-agent.md +0 -0
  112. {flock_core-0.3.15 → flock_core-0.3.16}/examples/01_introduction/01_simple_example.py +0 -0
  113. {flock_core-0.3.15 → flock_core-0.3.16}/examples/01_introduction/02_typed_output.py +0 -0
  114. {flock_core-0.3.15 → flock_core-0.3.16}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
  115. {flock_core-0.3.15 → flock_core-0.3.16}/examples/01_introduction/04_descriptions.py +0 -0
  116. {flock_core-0.3.15 → flock_core-0.3.16}/examples/01_introduction/05_typed_output2.py +0 -0
  117. {flock_core-0.3.15 → flock_core-0.3.16}/examples/01_introduction/06_simple_hand_off.py +0 -0
  118. {flock_core-0.3.15 → flock_core-0.3.16}/examples/02_concepts/api/api_client.py +0 -0
  119. {flock_core-0.3.15 → flock_core-0.3.16}/examples/02_concepts/api/api_server.py +0 -0
  120. {flock_core-0.3.15 → flock_core-0.3.16}/examples/02_concepts/evaluator/multi_hops_memory.py +0 -0
  121. {flock_core-0.3.15 → flock_core-0.3.16}/examples/02_concepts/evaluator/multi_hops_zep.py +0 -0
  122. {flock_core-0.3.15 → flock_core-0.3.16}/examples/02_concepts/modules/use_modules.py +0 -0
  123. {flock_core-0.3.15 → flock_core-0.3.16}/examples/02_concepts/router/router_example.py +0 -0
  124. {flock_core-0.3.15 → flock_core-0.3.16}/examples/03_apps/roguelike/game.py +0 -0
  125. {flock_core-0.3.15 → flock_core-0.3.16}/examples/04_comparison/rag_comparison/rag.ipynb +0 -0
  126. {flock_core-0.3.15 → flock_core-0.3.16}/examples/05_documentation/getting-started/first_agent_01.py +0 -0
  127. {flock_core-0.3.15 → flock_core-0.3.16}/examples/05_documentation/getting-started/first_agent_02.py +0 -0
  128. {flock_core-0.3.15 → flock_core-0.3.16}/examples/05_documentation/getting-started/first_agent_03.py +0 -0
  129. {flock_core-0.3.15 → flock_core-0.3.16}/examples/README.md +0 -0
  130. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/flock_without_llms.py +0 -0
  131. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/long_research_no_handoff.py +0 -0
  132. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/painting_by_numbers.py +0 -0
  133. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/project_manager.py +0 -0
  134. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer.py +0 -0
  135. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer_llm.py +0 -0
  136. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/save_and_load/load_01.py +0 -0
  137. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/save_and_load/load_02.py +0 -0
  138. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/save_and_load/load_03.py +0 -0
  139. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/save_and_load/load_04.py +0 -0
  140. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/save_and_load/save_01.py +0 -0
  141. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/save_and_load/save_02.py +0 -0
  142. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/save_and_load/save_03.py +0 -0
  143. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/02_cook_book/self_improvement_with_memory.py +0 -0
  144. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/hier/her_vis.py +0 -0
  145. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/hier/hier_mem.py +0 -0
  146. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/misc/memory.py +0 -0
  147. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/misc/self_learner.py +0 -0
  148. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/misc/self_learner2.py +0 -0
  149. {flock_core-0.3.15 → flock_core-0.3.16}/examples/playground/website/app.py +0 -0
  150. {flock_core-0.3.15 → flock_core-0.3.16}/mkdocs.yml +0 -0
  151. {flock_core-0.3.15 → flock_core-0.3.16}/requirements.txt +0 -0
  152. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/__init__.py +0 -0
  153. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/assets/release_notes.md +0 -0
  154. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/constants.py +0 -0
  155. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/create_agent.py +0 -0
  156. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/create_flock.py +0 -0
  157. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/load_agent.py +0 -0
  158. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/load_examples.py +0 -0
  159. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/load_flock.py +0 -0
  160. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/load_release_notes.py +0 -0
  161. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/cli/settings.py +0 -0
  162. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/config.py +0 -0
  163. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/__init__.py +0 -0
  164. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/context/context_manager.py +0 -0
  165. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/context/context_vars.py +0 -0
  166. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/execution/local_executor.py +0 -0
  167. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/execution/temporal_executor.py +0 -0
  168. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/flock.py +0 -0
  169. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/flock_api.py +0 -0
  170. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/flock_evaluator.py +0 -0
  171. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/flock_router.py +0 -0
  172. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/interpreter/python_interpreter.py +0 -0
  173. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/__init__.py +0 -0
  174. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  175. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  176. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  177. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/formatters/themes.py +0 -0
  178. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/logging.py +0 -0
  179. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  180. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/telemetry.py +0 -0
  181. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  182. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  183. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  184. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/logging/trace_and_logged.py +0 -0
  185. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/mixin/dspy_integration.py +0 -0
  186. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/mixin/prompt_parser.py +0 -0
  187. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/registry/agent_registry.py +0 -0
  188. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/serialization/secure_serializer.py +0 -0
  189. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/serialization/serializable.py +0 -0
  190. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/tools/basic_tools.py +0 -0
  191. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/tools/dev_tools/github.py +0 -0
  192. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/tools/llm_tools.py +0 -0
  193. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/tools/markdown_tools.py +0 -0
  194. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/util/cli_helper.py +0 -0
  195. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/util/hydrator.py +0 -0
  196. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/core/util/input_resolver.py +0 -0
  197. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  198. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/evaluators/memory/azure_search_evaluator.py +0 -0
  199. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  200. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
  201. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  202. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/azure-search/azure_search_module.py +0 -0
  203. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/memory/memory_parser.py +0 -0
  204. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/modules/memory/memory_storage.py +0 -0
  205. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/platform/docker_tools.py +0 -0
  206. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/platform/jaeger_install.py +0 -0
  207. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/__init__.py +0 -0
  208. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/agent/__init__.py +0 -0
  209. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/agent/agent_router.py +0 -0
  210. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/agent/handoff_agent.py +0 -0
  211. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/default/__init__.py +0 -0
  212. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/default/default_router.py +0 -0
  213. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/llm/__init__.py +0 -0
  214. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/routers/llm/llm_router.py +0 -0
  215. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/3024-day.toml +0 -0
  216. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/3024-night.toml +0 -0
  217. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/aardvark-blue.toml +0 -0
  218. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/abernathy.toml +0 -0
  219. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/adventure.toml +0 -0
  220. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/adventuretime.toml +0 -0
  221. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/afterglow.toml +0 -0
  222. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/alabaster.toml +0 -0
  223. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/alienblood.toml +0 -0
  224. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/andromeda.toml +0 -0
  225. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/apple-classic.toml +0 -0
  226. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/apple-system-colors.toml +0 -0
  227. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/arcoiris.toml +0 -0
  228. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/argonaut copy.toml +0 -0
  229. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/argonaut.toml +0 -0
  230. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/arthur.toml +0 -0
  231. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ateliersulphurpool.toml +0 -0
  232. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/atom.toml +0 -0
  233. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/atom_test.toml +0 -0
  234. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/atomonelight.toml +0 -0
  235. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/aurora.toml +0 -0
  236. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ayu copy.toml +0 -0
  237. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ayu-light.toml +0 -0
  238. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ayu-mirage.toml +0 -0
  239. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ayu.toml +0 -0
  240. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/banana-blueberry.toml +0 -0
  241. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/batman.toml +0 -0
  242. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/belafonte-day.toml +0 -0
  243. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/belafonte-night.toml +0 -0
  244. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/birdsofparadise.toml +0 -0
  245. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/blazer.toml +0 -0
  246. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/blue-matrix.toml +0 -0
  247. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/blueberrypie.toml +0 -0
  248. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/bluedolphin.toml +0 -0
  249. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/blulocodark.toml +0 -0
  250. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/blulocolight.toml +0 -0
  251. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/borland.toml +0 -0
  252. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/breeze.toml +0 -0
  253. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/bright-lights.toml +0 -0
  254. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/broadcast.toml +0 -0
  255. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/brogrammer.toml +0 -0
  256. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/builtin-dark.toml +0 -0
  257. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/builtin-light.toml +0 -0
  258. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  259. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  260. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/builtin-solarized-light.toml +0 -0
  261. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/builtin-tango-dark.toml +0 -0
  262. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/builtin-tango-light.toml +0 -0
  263. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/c64.toml +0 -0
  264. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/calamity.toml +0 -0
  265. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/catppuccin-frappe.toml +0 -0
  266. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/catppuccin-latte.toml +0 -0
  267. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  268. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/catppuccin-mocha.toml +0 -0
  269. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/cga.toml +0 -0
  270. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/chalk.toml +0 -0
  271. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/chalkboard.toml +0 -0
  272. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/challengerdeep.toml +0 -0
  273. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/chester.toml +0 -0
  274. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ciapre.toml +0 -0
  275. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/clrs.toml +0 -0
  276. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/cobalt-neon.toml +0 -0
  277. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/cobalt2.toml +0 -0
  278. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/coffee-theme.toml +0 -0
  279. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/crayonponyfish.toml +0 -0
  280. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/cutiepro.toml +0 -0
  281. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/cyberdyne.toml +0 -0
  282. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/cyberpunk.toml +0 -0
  283. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  284. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dark+.toml +0 -0
  285. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dark-pastel.toml +0 -0
  286. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/darkermatrix.toml +0 -0
  287. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/darkmatrix.toml +0 -0
  288. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/darkside.toml +0 -0
  289. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dayfox.toml +0 -0
  290. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/deep.toml +0 -0
  291. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/desert.toml +0 -0
  292. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dimidium.toml +0 -0
  293. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dimmedmonokai.toml +0 -0
  294. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/django.toml +0 -0
  295. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/djangorebornagain.toml +0 -0
  296. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/djangosmooth.toml +0 -0
  297. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/doom-peacock.toml +0 -0
  298. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/doomone.toml +0 -0
  299. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dotgov.toml +0 -0
  300. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dracula+.toml +0 -0
  301. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/dracula.toml +0 -0
  302. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/duckbones.toml +0 -0
  303. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/duotone-dark.toml +0 -0
  304. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/earthsong.toml +0 -0
  305. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/elemental.toml +0 -0
  306. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/elementary.toml +0 -0
  307. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/encom.toml +0 -0
  308. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/espresso-libre.toml +0 -0
  309. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/espresso.toml +0 -0
  310. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/everblush.toml +0 -0
  311. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/fahrenheit.toml +0 -0
  312. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/fairyfloss.toml +0 -0
  313. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/farmhouse-dark.toml +0 -0
  314. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/farmhouse-light.toml +0 -0
  315. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/fideloper.toml +0 -0
  316. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/firefly-traditional.toml +0 -0
  317. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/firefoxdev.toml +0 -0
  318. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/firewatch.toml +0 -0
  319. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/fishtank.toml +0 -0
  320. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/flat.toml +0 -0
  321. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/flatland.toml +0 -0
  322. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/flexoki-dark.toml +0 -0
  323. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/flexoki-light.toml +0 -0
  324. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/floraverse.toml +0 -0
  325. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/forestblue.toml +0 -0
  326. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/framer.toml +0 -0
  327. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/frontenddelight.toml +0 -0
  328. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/funforrest.toml +0 -0
  329. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/galaxy.toml +0 -0
  330. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/galizur.toml +0 -0
  331. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/github-dark.toml +0 -0
  332. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/github.toml +0 -0
  333. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/glacier.toml +0 -0
  334. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/grape.toml +0 -0
  335. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/grass.toml +0 -0
  336. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/grey-green.toml +0 -0
  337. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/gruber-darker.toml +0 -0
  338. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/gruvboxdark.toml +0 -0
  339. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  340. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/gruvboxlight.toml +0 -0
  341. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/guezwhoz.toml +0 -0
  342. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hacktober.toml +0 -0
  343. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hardcore.toml +0 -0
  344. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/harper.toml +0 -0
  345. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hax0r-blue.toml +0 -0
  346. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hax0r-gr33n.toml +0 -0
  347. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hax0r-r3d.toml +0 -0
  348. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/highway.toml +0 -0
  349. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hipster-green.toml +0 -0
  350. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hivacruz.toml +0 -0
  351. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/homebrew.toml +0 -0
  352. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hopscotch.256.toml +0 -0
  353. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hopscotch.toml +0 -0
  354. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hurtado.toml +0 -0
  355. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/hybrid.toml +0 -0
  356. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ic-green-ppl.toml +0 -0
  357. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ic-orange-ppl.toml +0 -0
  358. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iceberg-dark.toml +0 -0
  359. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iceberg-light.toml +0 -0
  360. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/idea.toml +0 -0
  361. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/idletoes.toml +0 -0
  362. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ir-black.toml +0 -0
  363. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-dark-background.toml +0 -0
  364. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-default.toml +0 -0
  365. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-light-background.toml +0 -0
  366. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  367. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  368. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  369. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  370. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  371. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/iterm2-tango-light.toml +0 -0
  372. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/jackie-brown.toml +0 -0
  373. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/japanesque.toml +0 -0
  374. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/jellybeans.toml +0 -0
  375. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/jetbrains-darcula.toml +0 -0
  376. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/jubi.toml +0 -0
  377. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/kanagawabones.toml +0 -0
  378. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/kibble.toml +0 -0
  379. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/kolorit.toml +0 -0
  380. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/konsolas.toml +0 -0
  381. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/kurokula.toml +0 -0
  382. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/lab-fox.toml +0 -0
  383. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/laser.toml +0 -0
  384. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/later-this-evening.toml +0 -0
  385. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/lavandula.toml +0 -0
  386. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/liquidcarbon.toml +0 -0
  387. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  388. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  389. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/lovelace.toml +0 -0
  390. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/man-page.toml +0 -0
  391. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/mariana.toml +0 -0
  392. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/material.toml +0 -0
  393. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/materialdark.toml +0 -0
  394. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/materialdarker.toml +0 -0
  395. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/materialdesigncolors.toml +0 -0
  396. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/materialocean.toml +0 -0
  397. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/mathias.toml +0 -0
  398. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/matrix.toml +0 -0
  399. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/medallion.toml +0 -0
  400. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/mellifluous.toml +0 -0
  401. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/midnight-in-mojave.toml +0 -0
  402. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/mirage.toml +0 -0
  403. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/misterioso.toml +0 -0
  404. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/molokai.toml +0 -0
  405. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/monalisa.toml +0 -0
  406. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/monokai-remastered.toml +0 -0
  407. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/monokai-soda.toml +0 -0
  408. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/monokai-vivid.toml +0 -0
  409. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/n0tch2k.toml +0 -0
  410. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/neobones-dark.toml +0 -0
  411. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/neobones-light.toml +0 -0
  412. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/neon.toml +0 -0
  413. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/neopolitan.toml +0 -0
  414. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/neutron.toml +0 -0
  415. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/night-owlish-light.toml +0 -0
  416. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nightfox.toml +0 -0
  417. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nightlion-v1.toml +0 -0
  418. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nightlion-v2.toml +0 -0
  419. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/niji.toml +0 -0
  420. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nocturnal-winter.toml +0 -0
  421. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nord-light.toml +0 -0
  422. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nord.toml +0 -0
  423. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/novel.toml +0 -0
  424. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nvimdark.toml +0 -0
  425. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/nvimlight.toml +0 -0
  426. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/obsidian.toml +0 -0
  427. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ocean.toml +0 -0
  428. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/oceanic-next.toml +0 -0
  429. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/oceanicmaterial.toml +0 -0
  430. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ollie.toml +0 -0
  431. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/onehalfdark.toml +0 -0
  432. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/onehalflight.toml +0 -0
  433. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/operator-mono-dark.toml +0 -0
  434. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/overnight-slumber.toml +0 -0
  435. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/oxocarbon.toml +0 -0
  436. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/palenighthc.toml +0 -0
  437. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/pandora.toml +0 -0
  438. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/paraiso-dark.toml +0 -0
  439. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/paulmillr.toml +0 -0
  440. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/pencildark.toml +0 -0
  441. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/pencillight.toml +0 -0
  442. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/peppermint.toml +0 -0
  443. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/piatto-light.toml +0 -0
  444. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/pnevma.toml +0 -0
  445. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/popping-and-locking.toml +0 -0
  446. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/primary.toml +0 -0
  447. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/pro-light.toml +0 -0
  448. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/pro.toml +0 -0
  449. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/purple-rain.toml +0 -0
  450. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/purplepeter.toml +0 -0
  451. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/rapture.toml +0 -0
  452. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/raycast-dark.toml +0 -0
  453. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/raycast-light.toml +0 -0
  454. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/rebecca.toml +0 -0
  455. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/red-alert.toml +0 -0
  456. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/red-planet.toml +0 -0
  457. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/red-sands.toml +0 -0
  458. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/relaxed.toml +0 -0
  459. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/retro.toml +0 -0
  460. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/rippedcasts.toml +0 -0
  461. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/rose-pine-dawn.toml +0 -0
  462. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/rose-pine-moon.toml +0 -0
  463. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/rose-pine.toml +0 -0
  464. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/rouge-2.toml +0 -0
  465. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/royal.toml +0 -0
  466. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ryuuko.toml +0 -0
  467. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/sakura.toml +0 -0
  468. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/scarlet-protocol.toml +0 -0
  469. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/seafoam-pastel.toml +0 -0
  470. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/seashells.toml +0 -0
  471. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/seoulbones-dark.toml +0 -0
  472. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/seoulbones-light.toml +0 -0
  473. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/seti.toml +0 -0
  474. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/shades-of-purple.toml +0 -0
  475. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/shaman.toml +0 -0
  476. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/slate.toml +0 -0
  477. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/sleepyhollow.toml +0 -0
  478. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/smyck.toml +0 -0
  479. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/snazzy.toml +0 -0
  480. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/softserver.toml +0 -0
  481. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/solarized-darcula.toml +0 -0
  482. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/solarized-dark---patched.toml +0 -0
  483. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  484. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/spacedust.toml +0 -0
  485. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  486. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/spacegray-eighties.toml +0 -0
  487. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/spacegray.toml +0 -0
  488. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/spiderman.toml +0 -0
  489. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/spring.toml +0 -0
  490. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/square.toml +0 -0
  491. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/sublette.toml +0 -0
  492. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/subliminal.toml +0 -0
  493. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/sugarplum.toml +0 -0
  494. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/sundried.toml +0 -0
  495. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/symfonic.toml +0 -0
  496. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/synthwave-everything.toml +0 -0
  497. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/synthwave.toml +0 -0
  498. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/synthwavealpha.toml +0 -0
  499. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tango-adapted.toml +0 -0
  500. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tango-half-adapted.toml +0 -0
  501. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/teerb.toml +0 -0
  502. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/terafox.toml +0 -0
  503. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/terminal-basic.toml +0 -0
  504. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/thayer-bright.toml +0 -0
  505. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/the-hulk.toml +0 -0
  506. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  507. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tinacious-design-(light).toml +0 -0
  508. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tokyonight-day.toml +0 -0
  509. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tokyonight-storm.toml +0 -0
  510. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tokyonight.toml +0 -0
  511. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  512. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  513. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  514. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  515. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tomorrow-night.toml +0 -0
  516. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/tomorrow.toml +0 -0
  517. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/toychest.toml +0 -0
  518. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/treehouse.toml +0 -0
  519. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/twilight.toml +0 -0
  520. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ubuntu.toml +0 -0
  521. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ultradark.toml +0 -0
  522. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/ultraviolent.toml +0 -0
  523. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/underthesea.toml +0 -0
  524. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/unikitty.toml +0 -0
  525. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/urple.toml +0 -0
  526. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/vaughn.toml +0 -0
  527. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/vesper.toml +0 -0
  528. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/vibrantink.toml +0 -0
  529. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/vimbones.toml +0 -0
  530. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/violet-dark.toml +0 -0
  531. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/violet-light.toml +0 -0
  532. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/warmneon.toml +0 -0
  533. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/wez.toml +0 -0
  534. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/whimsy.toml +0 -0
  535. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/wildcherry.toml +0 -0
  536. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/wilmersdorf.toml +0 -0
  537. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/wombat.toml +0 -0
  538. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/wryan.toml +0 -0
  539. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/xcodedark.toml +0 -0
  540. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/xcodedarkhc.toml +0 -0
  541. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/xcodelight.toml +0 -0
  542. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/xcodelighthc.toml +0 -0
  543. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/xcodewwdc.toml +0 -0
  544. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/zenbones-dark.toml +0 -0
  545. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/zenbones-light.toml +0 -0
  546. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/zenbones.toml +0 -0
  547. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/zenburn.toml +0 -0
  548. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/zenburned.toml +0 -0
  549. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/zenwritten-dark.toml +0 -0
  550. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/themes/zenwritten-light.toml +0 -0
  551. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/workflow/__init__.py +0 -0
  552. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/workflow/agent_activities.py +0 -0
  553. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/workflow/temporal_setup.py +0 -0
  554. {flock_core-0.3.15 → flock_core-0.3.16}/src/flock/workflow/workflow.py +0 -0
  555. {flock_core-0.3.15 → flock_core-0.3.16}/tests/integration/test_agent_integration.py +0 -0
  556. {flock_core-0.3.15 → flock_core-0.3.16}/tests/unittests/test_agent_based_handoff.py +0 -0
  557. {flock_core-0.3.15 → flock_core-0.3.16}/tests/unittests/test_agent_router_property.py +0 -0
  558. {flock_core-0.3.15 → flock_core-0.3.16}/tests/unittests/test_flock.py +0 -0
  559. {flock_core-0.3.15 → flock_core-0.3.16}/tests/unittests/test_flock_agent.py +0 -0
  560. {flock_core-0.3.15 → flock_core-0.3.16}/tests/unittests/test_memory_operations.py +0 -0
  561. {flock_core-0.3.15 → flock_core-0.3.16}/tests/unittests/test_memory_store.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.3.15
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
@@ -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
+ )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flock-core"
3
- version = "0.3.15"
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
 
@@ -35,6 +35,7 @@ class FlockFactory:
35
35
  max_tokens: int = 4096,
36
36
  alert_latency_threshold_ms: int = 30000,
37
37
  no_output: bool = False,
38
+ print_context: bool = False,
38
39
  ) -> FlockAgent:
39
40
  """Creates a default FlockAgent.
40
41
 
@@ -65,6 +66,7 @@ class FlockFactory:
65
66
  theme=output_theme,
66
67
  wait_for_input=wait_for_input,
67
68
  no_output=no_output,
69
+ print_context=print_context,
68
70
  )
69
71
  output_module = OutputModule("output", config=output_config)
70
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
@@ -6,6 +6,7 @@ from typing import Any
6
6
  from pydantic import Field
7
7
 
8
8
  from flock.core import FlockModule, FlockModuleConfig
9
+ from flock.core.context.context import FlockContext
9
10
 
10
11
 
11
12
  class CallbackModuleConfig(FlockModuleConfig):
@@ -44,13 +45,21 @@ class CallbackModule(FlockModule):
44
45
  description="Callback module configuration",
45
46
  )
46
47
 
47
- async def pre_initialize(self, agent: Any, inputs: dict[str, Any]) -> None:
48
+ async def pre_initialize(
49
+ self,
50
+ agent: Any,
51
+ inputs: dict[str, Any],
52
+ context: FlockContext | None = None,
53
+ ) -> None:
48
54
  """Run initialize callback if configured."""
49
55
  if self.config.initialize_callback:
50
56
  await self.config.initialize_callback(agent, inputs)
51
57
 
52
58
  async def pre_evaluate(
53
- self, agent: Any, inputs: dict[str, Any]
59
+ self,
60
+ agent: Any,
61
+ inputs: dict[str, Any],
62
+ context: FlockContext | None = None,
54
63
  ) -> dict[str, Any]:
55
64
  """Run evaluate callback if configured."""
56
65
  if self.config.evaluate_callback:
@@ -58,14 +67,22 @@ class CallbackModule(FlockModule):
58
67
  return inputs
59
68
 
60
69
  async def pre_terminate(
61
- self, agent: Any, inputs: dict[str, Any], result: dict[str, Any]
70
+ self,
71
+ agent: Any,
72
+ inputs: dict[str, Any],
73
+ result: dict[str, Any],
74
+ context: FlockContext | None = None,
62
75
  ) -> None:
63
76
  """Run terminate callback if configured."""
64
77
  if self.config.terminate_callback:
65
78
  await self.config.terminate_callback(agent, inputs, result)
66
79
 
67
80
  async def on_error(
68
- self, agent: Any, error: Exception, inputs: dict[str, Any]
81
+ self,
82
+ agent: Any,
83
+ error: Exception,
84
+ inputs: dict[str, Any],
85
+ context: FlockContext | None = None,
69
86
  ) -> None:
70
87
  """Run error callback if configured."""
71
88
  if self.config.on_error_callback:
@@ -7,6 +7,7 @@ from pydantic import Field
7
7
  from tqdm import tqdm
8
8
 
9
9
  from flock.core import FlockAgent, FlockModule, FlockModuleConfig
10
+ from flock.core.context.context import FlockContext
10
11
  from flock.core.logging.logging import get_logger
11
12
  from flock.modules.memory.memory_parser import MemoryMappingParser
12
13
  from flock.modules.memory.memory_storage import FlockMemoryStore, MemoryEntry
@@ -77,7 +78,10 @@ class MemoryModule(FlockModule):
77
78
  )
78
79
 
79
80
  async def initialize(
80
- self, agent: FlockAgent, inputs: dict[str, Any]
81
+ self,
82
+ agent: FlockAgent,
83
+ inputs: dict[str, Any],
84
+ context: FlockContext | None = None,
81
85
  ) -> None:
82
86
  """Initialize memory store if needed."""
83
87
  if not self.memory_store:
@@ -92,7 +96,10 @@ class MemoryModule(FlockModule):
92
96
  logger.debug(f"Initialized memory module for agent {agent.name}")
93
97
 
94
98
  async def pre_evaluate(
95
- self, agent: FlockAgent, inputs: dict[str, Any]
99
+ self,
100
+ agent: FlockAgent,
101
+ inputs: dict[str, Any],
102
+ context: FlockContext | None = None,
96
103
  ) -> dict[str, Any]:
97
104
  """Check memory before evaluation."""
98
105
  if not self.memory_store:
@@ -214,7 +221,11 @@ class MemoryModule(FlockModule):
214
221
  logger.warning(f"Memory storage failed: {e}", agent=agent.name)
215
222
 
216
223
  async def post_evaluate(
217
- self, agent: FlockAgent, inputs: dict[str, Any], result: dict[str, Any]
224
+ self,
225
+ agent: FlockAgent,
226
+ inputs: dict[str, Any],
227
+ result: dict[str, Any],
228
+ context: FlockContext | None = None,
218
229
  ) -> dict[str, Any]:
219
230
  """Store results in memory after evaluation."""
220
231
  if not self.memory_store:
@@ -229,7 +240,11 @@ class MemoryModule(FlockModule):
229
240
  return result
230
241
 
231
242
  async def terminate(
232
- self, agent: Any, inputs: dict[str, Any], result: dict[str, Any]
243
+ self,
244
+ agent: Any,
245
+ inputs: dict[str, Any],
246
+ result: dict[str, Any],
247
+ context: FlockContext | None = None,
233
248
  ) -> None:
234
249
  """Save memory store if configured."""
235
250
  if self.config.save_after_update and self.memory_store:
@@ -8,6 +8,7 @@ from typing import Any
8
8
  from pydantic import Field
9
9
 
10
10
  from flock.core import FlockAgent
11
+ from flock.core.context.context import FlockContext
11
12
  from flock.core.flock_module import FlockModule, FlockModuleConfig
12
13
  from flock.core.logging.formatters.themed_formatter import (
13
14
  ThemedAgentResultFormatter,
@@ -58,6 +59,10 @@ class OutputModuleConfig(FlockModuleConfig):
58
59
  default=False,
59
60
  description="Whether to suppress output",
60
61
  )
62
+ print_context: bool = Field(
63
+ default=False,
64
+ description="Whether to print the context",
65
+ )
61
66
 
62
67
 
63
68
  class OutputModule(FlockModule):
@@ -159,12 +164,18 @@ class OutputModule(FlockModule):
159
164
  json.dump(output_data, f, indent=2)
160
165
 
161
166
  async def post_evaluate(
162
- self, agent: FlockAgent, inputs: dict[str, Any], result: dict[str, Any]
167
+ self,
168
+ agent: FlockAgent,
169
+ inputs: dict[str, Any],
170
+ result: dict[str, Any],
171
+ context: FlockContext | None = None,
163
172
  ) -> dict[str, Any]:
164
173
  """Format and display the output."""
165
174
  logger.debug("Formatting and displaying output")
166
175
  if self.config.no_output:
167
176
  return result
177
+ if self.config.print_context:
178
+ result["context"] = context
168
179
  # Display the result using the formatter
169
180
  self._formatter.display_result(result, agent.name)
170
181
 
@@ -11,6 +11,7 @@ import numpy as np
11
11
  import psutil
12
12
  from pydantic import BaseModel, Field, validator
13
13
 
14
+ from flock.core.context.context import FlockContext
14
15
  from flock.core.flock_agent import FlockAgent
15
16
  from flock.core.flock_module import FlockModule, FlockModuleConfig
16
17
 
@@ -222,7 +223,11 @@ class MetricsModule(FlockModule):
222
223
  return stats
223
224
 
224
225
  async def terminate(
225
- self, agent: FlockAgent, inputs: dict[str, Any], result: dict[str, Any]
226
+ self,
227
+ agent: FlockAgent,
228
+ inputs: dict[str, Any],
229
+ result: dict[str, Any],
230
+ context: FlockContext | None = None,
226
231
  ) -> None:
227
232
  """Clean up and final metric recording."""
228
233
  if self.config.storage_type == "json":
@@ -331,7 +336,10 @@ class MetricsModule(FlockModule):
331
336
  return False
332
337
 
333
338
  async def initialize(
334
- self, agent: FlockAgent, inputs: dict[str, Any]
339
+ self,
340
+ agent: FlockAgent,
341
+ inputs: dict[str, Any],
342
+ context: FlockContext | None = None,
335
343
  ) -> None:
336
344
  """Initialize metrics collection."""
337
345
  self._start_time = time.time()
@@ -370,7 +378,10 @@ class MetricsModule(FlockModule):
370
378
  return token_count, total_cost
371
379
 
372
380
  async def pre_evaluate(
373
- self, agent: FlockAgent, inputs: dict[str, Any]
381
+ self,
382
+ agent: FlockAgent,
383
+ inputs: dict[str, Any],
384
+ context: FlockContext | None = None,
374
385
  ) -> dict[str, Any]:
375
386
  """Record pre-evaluation metrics."""
376
387
  if self.config.collect_token_usage:
@@ -408,7 +419,11 @@ class MetricsModule(FlockModule):
408
419
  return inputs
409
420
 
410
421
  async def post_evaluate(
411
- self, agent: FlockAgent, inputs: dict[str, Any], result: dict[str, Any]
422
+ self,
423
+ agent: FlockAgent,
424
+ inputs: dict[str, Any],
425
+ result: dict[str, Any],
426
+ context: FlockContext | None = None,
412
427
  ) -> dict[str, Any]:
413
428
  """Record post-evaluation metrics."""
414
429
  if self.config.collect_timing and self._start_time:
@@ -463,7 +478,11 @@ class MetricsModule(FlockModule):
463
478
  return result
464
479
 
465
480
  async def on_error(
466
- self, agent: FlockAgent, error: Exception, inputs: dict[str, Any]
481
+ self,
482
+ agent: FlockAgent,
483
+ error: Exception,
484
+ inputs: dict[str, Any],
485
+ context: FlockContext | None = None,
467
486
  ) -> None:
468
487
  """Record error metrics."""
469
488
  self._record_metric(
@@ -5,6 +5,7 @@ from pydantic import Field
5
5
  from zep_python.client import Zep
6
6
  from zep_python.types import Message as ZepMessage, SessionSearchResult
7
7
 
8
+ from flock.core.context.context import FlockContext
8
9
  from flock.core.flock_agent import FlockAgent
9
10
  from flock.core.flock_module import FlockModule, FlockModuleConfig
10
11
  from flock.core.logging.logging import get_logger
@@ -139,7 +140,11 @@ class ZepModule(FlockModule):
139
140
  return response.results
140
141
 
141
142
  async def post_evaluate(
142
- self, agent: FlockAgent, inputs: dict[str, Any], result: dict[str, Any]
143
+ self,
144
+ agent: FlockAgent,
145
+ inputs: dict[str, Any],
146
+ result: dict[str, Any],
147
+ context: FlockContext | None = None,
143
148
  ) -> dict[str, Any]:
144
149
  """Format and display the output."""
145
150
  if not self.config.enable_write:
@@ -152,7 +157,10 @@ class ZepModule(FlockModule):
152
157
  return result
153
158
 
154
159
  async def pre_evaluate(
155
- self, agent: FlockAgent, inputs: dict[str, Any]
160
+ self,
161
+ agent: FlockAgent,
162
+ inputs: dict[str, Any],
163
+ context: FlockContext | None = None,
156
164
  ) -> dict[str, Any]:
157
165
  """Format and display the output."""
158
166
  if not self.config.enable_read:
@@ -50,7 +50,7 @@ async def run_agent(context: FlockContext) -> dict:
50
50
  # Create a nested span for this iteration.
51
51
  with tracer.start_as_current_span("agent_iteration") as iter_span:
52
52
  iter_span.set_attribute("agent.name", agent.name)
53
-
53
+ agent.context = context
54
54
  # Resolve inputs for the agent.
55
55
  agent_inputs = resolve_inputs(
56
56
  agent.input, context, previous_agent_name
@@ -160,7 +160,7 @@ async def run_agent(context: FlockContext) -> dict:
160
160
  agent.name,
161
161
  result,
162
162
  timestamp=datetime.now().isoformat(),
163
- hand_off=handoff_data,
163
+ hand_off=handoff_data.model_dump(),
164
164
  called_from=previous_agent_name,
165
165
  )
166
166
  previous_agent_name = agent.name
@@ -1119,7 +1119,7 @@ wheels = [
1119
1119
 
1120
1120
  [[package]]
1121
1121
  name = "flock-core"
1122
- version = "0.3.15"
1122
+ version = "0.3.16"
1123
1123
  source = { editable = "." }
1124
1124
  dependencies = [
1125
1125
  { name = "chromadb" },
File without changes
File without changes
File without changes
File without changes