flock-core 0.3.17__tar.gz → 0.3.18__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 (593) hide show
  1. flock_core-0.3.18/.cursor/specs/01_core_architecture.md +135 -0
  2. flock_core-0.3.18/.cursor/specs/02_agent_factory.md +78 -0
  3. flock_core-0.3.18/.cursor/specs/03_module_system.md +106 -0
  4. flock_core-0.3.18/.cursor/specs/04_evaluator_system.md +100 -0
  5. flock_core-0.3.18/.cursor/specs/05_router_system.md +104 -0
  6. flock_core-0.3.18/.cursor/specs/06_tool_system.md +88 -0
  7. flock_core-0.3.18/.cursor/specs/07_execution_system.md +110 -0
  8. flock_core-0.3.18/.cursor/specs/08_context_system.md +119 -0
  9. {flock_core-0.3.17 → flock_core-0.3.18}/PKG-INFO +1 -1
  10. flock_core-0.3.18/SPECS.md +78 -0
  11. {flock_core-0.3.17 → flock_core-0.3.18}/pyproject.toml +1 -1
  12. {flock_core-0.3.17 → flock_core-0.3.18}/uv.lock +1 -1
  13. {flock_core-0.3.17 → flock_core-0.3.18}/.devcontainer/devcontainer.json +0 -0
  14. {flock_core-0.3.17 → flock_core-0.3.18}/.env_template +0 -0
  15. {flock_core-0.3.17 → flock_core-0.3.18}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  16. {flock_core-0.3.17 → flock_core-0.3.18}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  17. {flock_core-0.3.17 → flock_core-0.3.18}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  18. {flock_core-0.3.17 → flock_core-0.3.18}/.github/workflows/.gitkeep +0 -0
  19. {flock_core-0.3.17 → flock_core-0.3.18}/.github/workflows/deploy-documentation.yml +0 -0
  20. {flock_core-0.3.17 → flock_core-0.3.18}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  21. {flock_core-0.3.17 → flock_core-0.3.18}/.gitignore +0 -0
  22. {flock_core-0.3.17 → flock_core-0.3.18}/.vscode/launch.json +0 -0
  23. {flock_core-0.3.17 → flock_core-0.3.18}/.vscode/settings.json +0 -0
  24. {flock_core-0.3.17 → flock_core-0.3.18}/.vscode/tasks.json +0 -0
  25. {flock_core-0.3.17 → flock_core-0.3.18}/LICENSE +0 -0
  26. {flock_core-0.3.17 → flock_core-0.3.18}/README.md +0 -0
  27. {flock_core-0.3.17 → flock_core-0.3.18}/docs/advanced/complex-workflows.md +0 -0
  28. {flock_core-0.3.17 → flock_core-0.3.18}/docs/advanced/custom-agents.md +0 -0
  29. {flock_core-0.3.17 → flock_core-0.3.18}/docs/advanced/performance.md +0 -0
  30. {flock_core-0.3.17 → flock_core-0.3.18}/docs/advanced/testing.md +0 -0
  31. {flock_core-0.3.17 → flock_core-0.3.18}/docs/api/flock-core.md +0 -0
  32. {flock_core-0.3.17 → flock_core-0.3.18}/docs/api/flockagent.md +0 -0
  33. {flock_core-0.3.17 → flock_core-0.3.18}/docs/api/types.md +0 -0
  34. {flock_core-0.3.17 → flock_core-0.3.18}/docs/api/utilities.md +0 -0
  35. {flock_core-0.3.17 → flock_core-0.3.18}/docs/architecture/components.md +0 -0
  36. {flock_core-0.3.17 → flock_core-0.3.18}/docs/architecture/design-decisions.md +0 -0
  37. {flock_core-0.3.17 → flock_core-0.3.18}/docs/architecture/overview.md +0 -0
  38. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/drawio/architecture.drawio +0 -0
  39. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/cli_outputs/out.png +0 -0
  40. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/components_chart.png +0 -0
  41. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/examples/01_01.png +0 -0
  42. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/examples/01_02.png +0 -0
  43. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/examples/01_03.png +0 -0
  44. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/examples/01_04.png +0 -0
  45. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/examples/01_05.png +0 -0
  46. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/examples/01_06.png +0 -0
  47. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/flock.png +0 -0
  48. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/flock_cli.png +0 -0
  49. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/flow_chart.png +0 -0
  50. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  51. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/hummingbird.png +0 -0
  52. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/icon.png +0 -0
  53. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/icon.png~ +0 -0
  54. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/logo.png +0 -0
  55. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/memory_concepts.png +0 -0
  56. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/memory_flow.png +0 -0
  57. {flock_core-0.3.17 → flock_core-0.3.18}/docs/assets/images/memory_flow_chart.png +0 -0
  58. {flock_core-0.3.17 → flock_core-0.3.18}/docs/contributing/code-style.md +0 -0
  59. {flock_core-0.3.17 → flock_core-0.3.18}/docs/contributing/development.md +0 -0
  60. {flock_core-0.3.17 → flock_core-0.3.18}/docs/contributing/documentation.md +0 -0
  61. {flock_core-0.3.17 → flock_core-0.3.18}/docs/contributing/testing.md +0 -0
  62. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/agents.md +0 -0
  63. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/declarative.md +0 -0
  64. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/error-handling.md +0 -0
  65. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/evaluators.md +0 -0
  66. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/memory.md +0 -0
  67. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/modules/memory.md +0 -0
  68. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/modules/metrics.md +0 -0
  69. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/modules/output.md +0 -0
  70. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/modules.md +0 -0
  71. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/routers/agent.md +0 -0
  72. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/routers/default.md +0 -0
  73. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/routers/llm.md +0 -0
  74. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/routers.md +0 -0
  75. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/tools/azure-tools.md +0 -0
  76. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/tools/overview.md +0 -0
  77. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/type-system.md +0 -0
  78. {flock_core-0.3.17 → flock_core-0.3.18}/docs/core-concepts/workflows.md +0 -0
  79. {flock_core-0.3.17 → flock_core-0.3.18}/docs/create_doc_boilerplate.py +0 -0
  80. {flock_core-0.3.17 → flock_core-0.3.18}/docs/deployment/monitoring.md +0 -0
  81. {flock_core-0.3.17 → flock_core-0.3.18}/docs/deployment/production-setup.md +0 -0
  82. {flock_core-0.3.17 → flock_core-0.3.18}/docs/deployment/scalability.md +0 -0
  83. {flock_core-0.3.17 → flock_core-0.3.18}/docs/deployment/security.md +0 -0
  84. {flock_core-0.3.17 → flock_core-0.3.18}/docs/development/dev.md +0 -0
  85. {flock_core-0.3.17 → flock_core-0.3.18}/docs/development/replace-dspy/implementation_plan.md +0 -0
  86. {flock_core-0.3.17 → flock_core-0.3.18}/docs/development/topics.md +0 -0
  87. {flock_core-0.3.17 → flock_core-0.3.18}/docs/examples/chain-gang.md +0 -0
  88. {flock_core-0.3.17 → flock_core-0.3.18}/docs/examples/hello-flock.md +0 -0
  89. {flock_core-0.3.17 → flock_core-0.3.18}/docs/examples/pydantic.md +0 -0
  90. {flock_core-0.3.17 → flock_core-0.3.18}/docs/examples/type-system.md +0 -0
  91. {flock_core-0.3.17 → flock_core-0.3.18}/docs/features/agent-chaining.md +0 -0
  92. {flock_core-0.3.17 → flock_core-0.3.18}/docs/features/agent-definition.md +0 -0
  93. {flock_core-0.3.17 → flock_core-0.3.18}/docs/features/lifecycle-hooks.md +0 -0
  94. {flock_core-0.3.17 → flock_core-0.3.18}/docs/features/pydantic.md +0 -0
  95. {flock_core-0.3.17 → flock_core-0.3.18}/docs/features/type-safety.md +0 -0
  96. {flock_core-0.3.17 → flock_core-0.3.18}/docs/getting-started/concepts.md +0 -0
  97. {flock_core-0.3.17 → flock_core-0.3.18}/docs/getting-started/configuration.md +0 -0
  98. {flock_core-0.3.17 → flock_core-0.3.18}/docs/getting-started/installation.md +0 -0
  99. {flock_core-0.3.17 → flock_core-0.3.18}/docs/getting-started/quickstart.md +0 -0
  100. {flock_core-0.3.17 → flock_core-0.3.18}/docs/index.md +0 -0
  101. {flock_core-0.3.17 → flock_core-0.3.18}/docs/integrations/dspy.md +0 -0
  102. {flock_core-0.3.17 → flock_core-0.3.18}/docs/integrations/litellm.md +0 -0
  103. {flock_core-0.3.17 → flock_core-0.3.18}/docs/integrations/rest-api.md +0 -0
  104. {flock_core-0.3.17 → flock_core-0.3.18}/docs/integrations/tavily.md +0 -0
  105. {flock_core-0.3.17 → flock_core-0.3.18}/docs/integrations/temporal.md +0 -0
  106. {flock_core-0.3.17 → flock_core-0.3.18}/docs/release-notes/release_notes.md +0 -0
  107. {flock_core-0.3.17 → flock_core-0.3.18}/docs/stylesheets/extra.css +0 -0
  108. {flock_core-0.3.17 → flock_core-0.3.18}/docs/tutorials/blog-generator.md +0 -0
  109. {flock_core-0.3.17 → flock_core-0.3.18}/docs/tutorials/custom-tools.md +0 -0
  110. {flock_core-0.3.17 → flock_core-0.3.18}/docs/tutorials/error-recovery.md +0 -0
  111. {flock_core-0.3.17 → flock_core-0.3.18}/docs/tutorials/multi-agent.md +0 -0
  112. {flock_core-0.3.17 → flock_core-0.3.18}/examples/01_introduction/01_simple_example.py +0 -0
  113. {flock_core-0.3.17 → flock_core-0.3.18}/examples/01_introduction/02_typed_output.py +0 -0
  114. {flock_core-0.3.17 → flock_core-0.3.18}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
  115. {flock_core-0.3.17 → flock_core-0.3.18}/examples/01_introduction/04_descriptions.py +0 -0
  116. {flock_core-0.3.17 → flock_core-0.3.18}/examples/01_introduction/05_typed_output2.py +0 -0
  117. {flock_core-0.3.17 → flock_core-0.3.18}/examples/01_introduction/06_simple_hand_off.py +0 -0
  118. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/api/api_client.py +0 -0
  119. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/api/api_server.py +0 -0
  120. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/context/context.py +0 -0
  121. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/evaluator/multi_hops_memory.py +0 -0
  122. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/evaluator/multi_hops_zep.py +0 -0
  123. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/modules/use_modules.py +0 -0
  124. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/router/router_example.py +0 -0
  125. {flock_core-0.3.17 → flock_core-0.3.18}/examples/02_concepts/tools/azure_tools_example.py +0 -0
  126. {flock_core-0.3.17 → flock_core-0.3.18}/examples/03_apps/roguelike/game.py +0 -0
  127. {flock_core-0.3.17 → flock_core-0.3.18}/examples/04_comparison/rag_comparison/rag.ipynb +0 -0
  128. {flock_core-0.3.17 → flock_core-0.3.18}/examples/05_documentation/getting-started/first_agent_01.py +0 -0
  129. {flock_core-0.3.17 → flock_core-0.3.18}/examples/05_documentation/getting-started/first_agent_02.py +0 -0
  130. {flock_core-0.3.17 → flock_core-0.3.18}/examples/05_documentation/getting-started/first_agent_03.py +0 -0
  131. {flock_core-0.3.17 → flock_core-0.3.18}/examples/README.md +0 -0
  132. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/2502.18600v1.pdf +0 -0
  133. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/README.md +0 -0
  134. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/examples/__init__.py +0 -0
  135. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/examples/arithmetic.py +0 -0
  136. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/examples/comparison.py +0 -0
  137. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/examples/symbolic.py +0 -0
  138. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/src/__init__.py +0 -0
  139. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/src/agents.py +0 -0
  140. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/src/chain_of_draft.py +0 -0
  141. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/src/evaluation.py +0 -0
  142. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/src/prompts.py +0 -0
  143. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/src/router.py +0 -0
  144. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/tests/__init__.py +0 -0
  145. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/tests/test_cod_basic.py +0 -0
  146. {flock_core-0.3.17 → flock_core-0.3.18}/examples/papers/chain-of-draft/tests/test_cod_vs_cot.py +0 -0
  147. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/flock_without_llms.py +0 -0
  148. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/long_research_no_handoff.py +0 -0
  149. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/painting_by_numbers.py +0 -0
  150. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/project_manager.py +0 -0
  151. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer.py +0 -0
  152. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer_llm.py +0 -0
  153. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/save_and_load/load_01.py +0 -0
  154. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/save_and_load/load_02.py +0 -0
  155. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/save_and_load/load_03.py +0 -0
  156. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/save_and_load/load_04.py +0 -0
  157. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/save_and_load/save_01.py +0 -0
  158. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/save_and_load/save_02.py +0 -0
  159. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/save_and_load/save_03.py +0 -0
  160. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/02_cook_book/self_improvement_with_memory.py +0 -0
  161. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/hier/her_vis.py +0 -0
  162. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/hier/hier_mem.py +0 -0
  163. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/misc/memory.py +0 -0
  164. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/misc/self_learner.py +0 -0
  165. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/misc/self_learner2.py +0 -0
  166. {flock_core-0.3.17 → flock_core-0.3.18}/examples/playground/website/app.py +0 -0
  167. {flock_core-0.3.17 → flock_core-0.3.18}/mkdocs.yml +0 -0
  168. {flock_core-0.3.17 → flock_core-0.3.18}/requirements.txt +0 -0
  169. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/__init__.py +0 -0
  170. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/assets/release_notes.md +0 -0
  171. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/constants.py +0 -0
  172. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/create_agent.py +0 -0
  173. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/create_flock.py +0 -0
  174. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/load_agent.py +0 -0
  175. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/load_examples.py +0 -0
  176. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/load_flock.py +0 -0
  177. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/load_release_notes.py +0 -0
  178. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/cli/settings.py +0 -0
  179. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/config.py +0 -0
  180. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/__init__.py +0 -0
  181. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/context/context.py +0 -0
  182. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/context/context_manager.py +0 -0
  183. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/context/context_vars.py +0 -0
  184. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/execution/local_executor.py +0 -0
  185. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/execution/temporal_executor.py +0 -0
  186. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/flock.py +0 -0
  187. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/flock_agent.py +0 -0
  188. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/flock_api.py +0 -0
  189. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/flock_evaluator.py +0 -0
  190. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/flock_factory.py +0 -0
  191. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/flock_module.py +0 -0
  192. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/flock_router.py +0 -0
  193. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/interpreter/python_interpreter.py +0 -0
  194. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/__init__.py +0 -0
  195. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  196. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  197. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  198. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/formatters/themes.py +0 -0
  199. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/logging.py +0 -0
  200. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  201. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/telemetry.py +0 -0
  202. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  203. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  204. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  205. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/logging/trace_and_logged.py +0 -0
  206. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/mixin/dspy_integration.py +0 -0
  207. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/mixin/prompt_parser.py +0 -0
  208. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/registry/agent_registry.py +0 -0
  209. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/serialization/secure_serializer.py +0 -0
  210. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/serialization/serializable.py +0 -0
  211. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/tools/azure_tools.py +0 -0
  212. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/tools/basic_tools.py +0 -0
  213. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/tools/dev_tools/github.py +0 -0
  214. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/tools/llm_tools.py +0 -0
  215. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/tools/markdown_tools.py +0 -0
  216. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/util/cli_helper.py +0 -0
  217. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/util/hydrator.py +0 -0
  218. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/core/util/input_resolver.py +0 -0
  219. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  220. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/evaluators/memory/azure_search_evaluator.py +0 -0
  221. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  222. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
  223. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  224. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/azure-search/azure_search_module.py +0 -0
  225. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/callback/callback_module.py +0 -0
  226. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/memory/memory_module.py +0 -0
  227. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/memory/memory_parser.py +0 -0
  228. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/memory/memory_storage.py +0 -0
  229. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/output/output_module.py +0 -0
  230. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/performance/metrics_module.py +0 -0
  231. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/modules/zep/zep_module.py +0 -0
  232. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/platform/docker_tools.py +0 -0
  233. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/platform/jaeger_install.py +0 -0
  234. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/__init__.py +0 -0
  235. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/agent/__init__.py +0 -0
  236. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/agent/agent_router.py +0 -0
  237. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/agent/handoff_agent.py +0 -0
  238. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/default/__init__.py +0 -0
  239. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/default/default_router.py +0 -0
  240. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/llm/__init__.py +0 -0
  241. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/routers/llm/llm_router.py +0 -0
  242. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/3024-day.toml +0 -0
  243. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/3024-night.toml +0 -0
  244. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/aardvark-blue.toml +0 -0
  245. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/abernathy.toml +0 -0
  246. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/adventure.toml +0 -0
  247. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/adventuretime.toml +0 -0
  248. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/afterglow.toml +0 -0
  249. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/alabaster.toml +0 -0
  250. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/alienblood.toml +0 -0
  251. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/andromeda.toml +0 -0
  252. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/apple-classic.toml +0 -0
  253. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/apple-system-colors.toml +0 -0
  254. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/arcoiris.toml +0 -0
  255. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/argonaut copy.toml +0 -0
  256. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/argonaut.toml +0 -0
  257. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/arthur.toml +0 -0
  258. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ateliersulphurpool.toml +0 -0
  259. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/atom.toml +0 -0
  260. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/atom_test.toml +0 -0
  261. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/atomonelight.toml +0 -0
  262. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/aurora.toml +0 -0
  263. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ayu copy.toml +0 -0
  264. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ayu-light.toml +0 -0
  265. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ayu-mirage.toml +0 -0
  266. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ayu.toml +0 -0
  267. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/banana-blueberry.toml +0 -0
  268. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/batman.toml +0 -0
  269. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/belafonte-day.toml +0 -0
  270. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/belafonte-night.toml +0 -0
  271. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/birdsofparadise.toml +0 -0
  272. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/blazer.toml +0 -0
  273. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/blue-matrix.toml +0 -0
  274. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/blueberrypie.toml +0 -0
  275. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/bluedolphin.toml +0 -0
  276. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/blulocodark.toml +0 -0
  277. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/blulocolight.toml +0 -0
  278. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/borland.toml +0 -0
  279. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/breeze.toml +0 -0
  280. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/bright-lights.toml +0 -0
  281. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/broadcast.toml +0 -0
  282. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/brogrammer.toml +0 -0
  283. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/builtin-dark.toml +0 -0
  284. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/builtin-light.toml +0 -0
  285. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  286. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  287. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/builtin-solarized-light.toml +0 -0
  288. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/builtin-tango-dark.toml +0 -0
  289. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/builtin-tango-light.toml +0 -0
  290. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/c64.toml +0 -0
  291. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/calamity.toml +0 -0
  292. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/catppuccin-frappe.toml +0 -0
  293. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/catppuccin-latte.toml +0 -0
  294. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  295. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/catppuccin-mocha.toml +0 -0
  296. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/cga.toml +0 -0
  297. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/chalk.toml +0 -0
  298. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/chalkboard.toml +0 -0
  299. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/challengerdeep.toml +0 -0
  300. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/chester.toml +0 -0
  301. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ciapre.toml +0 -0
  302. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/clrs.toml +0 -0
  303. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/cobalt-neon.toml +0 -0
  304. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/cobalt2.toml +0 -0
  305. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/coffee-theme.toml +0 -0
  306. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/crayonponyfish.toml +0 -0
  307. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/cutiepro.toml +0 -0
  308. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/cyberdyne.toml +0 -0
  309. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/cyberpunk.toml +0 -0
  310. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  311. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dark+.toml +0 -0
  312. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dark-pastel.toml +0 -0
  313. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/darkermatrix.toml +0 -0
  314. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/darkmatrix.toml +0 -0
  315. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/darkside.toml +0 -0
  316. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dayfox.toml +0 -0
  317. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/deep.toml +0 -0
  318. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/desert.toml +0 -0
  319. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dimidium.toml +0 -0
  320. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dimmedmonokai.toml +0 -0
  321. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/django.toml +0 -0
  322. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/djangorebornagain.toml +0 -0
  323. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/djangosmooth.toml +0 -0
  324. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/doom-peacock.toml +0 -0
  325. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/doomone.toml +0 -0
  326. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dotgov.toml +0 -0
  327. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dracula+.toml +0 -0
  328. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/dracula.toml +0 -0
  329. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/duckbones.toml +0 -0
  330. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/duotone-dark.toml +0 -0
  331. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/earthsong.toml +0 -0
  332. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/elemental.toml +0 -0
  333. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/elementary.toml +0 -0
  334. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/encom.toml +0 -0
  335. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/espresso-libre.toml +0 -0
  336. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/espresso.toml +0 -0
  337. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/everblush.toml +0 -0
  338. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/fahrenheit.toml +0 -0
  339. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/fairyfloss.toml +0 -0
  340. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/farmhouse-dark.toml +0 -0
  341. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/farmhouse-light.toml +0 -0
  342. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/fideloper.toml +0 -0
  343. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/firefly-traditional.toml +0 -0
  344. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/firefoxdev.toml +0 -0
  345. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/firewatch.toml +0 -0
  346. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/fishtank.toml +0 -0
  347. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/flat.toml +0 -0
  348. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/flatland.toml +0 -0
  349. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/flexoki-dark.toml +0 -0
  350. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/flexoki-light.toml +0 -0
  351. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/floraverse.toml +0 -0
  352. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/forestblue.toml +0 -0
  353. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/framer.toml +0 -0
  354. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/frontenddelight.toml +0 -0
  355. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/funforrest.toml +0 -0
  356. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/galaxy.toml +0 -0
  357. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/galizur.toml +0 -0
  358. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/github-dark.toml +0 -0
  359. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/github.toml +0 -0
  360. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/glacier.toml +0 -0
  361. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/grape.toml +0 -0
  362. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/grass.toml +0 -0
  363. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/grey-green.toml +0 -0
  364. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/gruber-darker.toml +0 -0
  365. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/gruvboxdark.toml +0 -0
  366. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  367. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/gruvboxlight.toml +0 -0
  368. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/guezwhoz.toml +0 -0
  369. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hacktober.toml +0 -0
  370. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hardcore.toml +0 -0
  371. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/harper.toml +0 -0
  372. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hax0r-blue.toml +0 -0
  373. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hax0r-gr33n.toml +0 -0
  374. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hax0r-r3d.toml +0 -0
  375. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/highway.toml +0 -0
  376. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hipster-green.toml +0 -0
  377. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hivacruz.toml +0 -0
  378. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/homebrew.toml +0 -0
  379. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hopscotch.256.toml +0 -0
  380. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hopscotch.toml +0 -0
  381. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hurtado.toml +0 -0
  382. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/hybrid.toml +0 -0
  383. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ic-green-ppl.toml +0 -0
  384. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ic-orange-ppl.toml +0 -0
  385. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iceberg-dark.toml +0 -0
  386. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iceberg-light.toml +0 -0
  387. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/idea.toml +0 -0
  388. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/idletoes.toml +0 -0
  389. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ir-black.toml +0 -0
  390. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-dark-background.toml +0 -0
  391. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-default.toml +0 -0
  392. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-light-background.toml +0 -0
  393. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  394. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  395. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  396. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  397. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  398. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/iterm2-tango-light.toml +0 -0
  399. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/jackie-brown.toml +0 -0
  400. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/japanesque.toml +0 -0
  401. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/jellybeans.toml +0 -0
  402. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/jetbrains-darcula.toml +0 -0
  403. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/jubi.toml +0 -0
  404. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/kanagawabones.toml +0 -0
  405. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/kibble.toml +0 -0
  406. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/kolorit.toml +0 -0
  407. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/konsolas.toml +0 -0
  408. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/kurokula.toml +0 -0
  409. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/lab-fox.toml +0 -0
  410. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/laser.toml +0 -0
  411. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/later-this-evening.toml +0 -0
  412. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/lavandula.toml +0 -0
  413. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/liquidcarbon.toml +0 -0
  414. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  415. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  416. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/lovelace.toml +0 -0
  417. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/man-page.toml +0 -0
  418. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/mariana.toml +0 -0
  419. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/material.toml +0 -0
  420. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/materialdark.toml +0 -0
  421. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/materialdarker.toml +0 -0
  422. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/materialdesigncolors.toml +0 -0
  423. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/materialocean.toml +0 -0
  424. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/mathias.toml +0 -0
  425. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/matrix.toml +0 -0
  426. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/medallion.toml +0 -0
  427. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/mellifluous.toml +0 -0
  428. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/midnight-in-mojave.toml +0 -0
  429. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/mirage.toml +0 -0
  430. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/misterioso.toml +0 -0
  431. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/molokai.toml +0 -0
  432. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/monalisa.toml +0 -0
  433. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/monokai-remastered.toml +0 -0
  434. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/monokai-soda.toml +0 -0
  435. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/monokai-vivid.toml +0 -0
  436. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/n0tch2k.toml +0 -0
  437. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/neobones-dark.toml +0 -0
  438. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/neobones-light.toml +0 -0
  439. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/neon.toml +0 -0
  440. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/neopolitan.toml +0 -0
  441. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/neutron.toml +0 -0
  442. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/night-owlish-light.toml +0 -0
  443. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nightfox.toml +0 -0
  444. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nightlion-v1.toml +0 -0
  445. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nightlion-v2.toml +0 -0
  446. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/niji.toml +0 -0
  447. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nocturnal-winter.toml +0 -0
  448. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nord-light.toml +0 -0
  449. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nord.toml +0 -0
  450. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/novel.toml +0 -0
  451. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nvimdark.toml +0 -0
  452. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/nvimlight.toml +0 -0
  453. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/obsidian.toml +0 -0
  454. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ocean.toml +0 -0
  455. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/oceanic-next.toml +0 -0
  456. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/oceanicmaterial.toml +0 -0
  457. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ollie.toml +0 -0
  458. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/onehalfdark.toml +0 -0
  459. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/onehalflight.toml +0 -0
  460. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/operator-mono-dark.toml +0 -0
  461. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/overnight-slumber.toml +0 -0
  462. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/oxocarbon.toml +0 -0
  463. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/palenighthc.toml +0 -0
  464. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/pandora.toml +0 -0
  465. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/paraiso-dark.toml +0 -0
  466. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/paulmillr.toml +0 -0
  467. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/pencildark.toml +0 -0
  468. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/pencillight.toml +0 -0
  469. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/peppermint.toml +0 -0
  470. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/piatto-light.toml +0 -0
  471. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/pnevma.toml +0 -0
  472. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/popping-and-locking.toml +0 -0
  473. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/primary.toml +0 -0
  474. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/pro-light.toml +0 -0
  475. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/pro.toml +0 -0
  476. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/purple-rain.toml +0 -0
  477. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/purplepeter.toml +0 -0
  478. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/rapture.toml +0 -0
  479. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/raycast-dark.toml +0 -0
  480. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/raycast-light.toml +0 -0
  481. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/rebecca.toml +0 -0
  482. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/red-alert.toml +0 -0
  483. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/red-planet.toml +0 -0
  484. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/red-sands.toml +0 -0
  485. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/relaxed.toml +0 -0
  486. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/retro.toml +0 -0
  487. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/rippedcasts.toml +0 -0
  488. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/rose-pine-dawn.toml +0 -0
  489. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/rose-pine-moon.toml +0 -0
  490. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/rose-pine.toml +0 -0
  491. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/rouge-2.toml +0 -0
  492. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/royal.toml +0 -0
  493. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ryuuko.toml +0 -0
  494. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/sakura.toml +0 -0
  495. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/scarlet-protocol.toml +0 -0
  496. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/seafoam-pastel.toml +0 -0
  497. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/seashells.toml +0 -0
  498. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/seoulbones-dark.toml +0 -0
  499. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/seoulbones-light.toml +0 -0
  500. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/seti.toml +0 -0
  501. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/shades-of-purple.toml +0 -0
  502. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/shaman.toml +0 -0
  503. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/slate.toml +0 -0
  504. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/sleepyhollow.toml +0 -0
  505. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/smyck.toml +0 -0
  506. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/snazzy.toml +0 -0
  507. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/softserver.toml +0 -0
  508. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/solarized-darcula.toml +0 -0
  509. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/solarized-dark---patched.toml +0 -0
  510. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  511. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/spacedust.toml +0 -0
  512. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  513. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/spacegray-eighties.toml +0 -0
  514. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/spacegray.toml +0 -0
  515. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/spiderman.toml +0 -0
  516. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/spring.toml +0 -0
  517. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/square.toml +0 -0
  518. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/sublette.toml +0 -0
  519. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/subliminal.toml +0 -0
  520. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/sugarplum.toml +0 -0
  521. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/sundried.toml +0 -0
  522. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/symfonic.toml +0 -0
  523. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/synthwave-everything.toml +0 -0
  524. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/synthwave.toml +0 -0
  525. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/synthwavealpha.toml +0 -0
  526. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tango-adapted.toml +0 -0
  527. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tango-half-adapted.toml +0 -0
  528. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/teerb.toml +0 -0
  529. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/terafox.toml +0 -0
  530. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/terminal-basic.toml +0 -0
  531. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/thayer-bright.toml +0 -0
  532. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/the-hulk.toml +0 -0
  533. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  534. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tinacious-design-(light).toml +0 -0
  535. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tokyonight-day.toml +0 -0
  536. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tokyonight-storm.toml +0 -0
  537. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tokyonight.toml +0 -0
  538. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  539. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  540. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  541. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  542. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tomorrow-night.toml +0 -0
  543. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/tomorrow.toml +0 -0
  544. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/toychest.toml +0 -0
  545. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/treehouse.toml +0 -0
  546. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/twilight.toml +0 -0
  547. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ubuntu.toml +0 -0
  548. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ultradark.toml +0 -0
  549. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/ultraviolent.toml +0 -0
  550. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/underthesea.toml +0 -0
  551. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/unikitty.toml +0 -0
  552. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/urple.toml +0 -0
  553. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/vaughn.toml +0 -0
  554. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/vesper.toml +0 -0
  555. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/vibrantink.toml +0 -0
  556. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/vimbones.toml +0 -0
  557. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/violet-dark.toml +0 -0
  558. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/violet-light.toml +0 -0
  559. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/warmneon.toml +0 -0
  560. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/wez.toml +0 -0
  561. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/whimsy.toml +0 -0
  562. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/wildcherry.toml +0 -0
  563. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/wilmersdorf.toml +0 -0
  564. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/wombat.toml +0 -0
  565. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/wryan.toml +0 -0
  566. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/xcodedark.toml +0 -0
  567. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/xcodedarkhc.toml +0 -0
  568. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/xcodelight.toml +0 -0
  569. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/xcodelighthc.toml +0 -0
  570. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/xcodewwdc.toml +0 -0
  571. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/zenbones-dark.toml +0 -0
  572. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/zenbones-light.toml +0 -0
  573. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/zenbones.toml +0 -0
  574. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/zenburn.toml +0 -0
  575. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/zenburned.toml +0 -0
  576. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/zenwritten-dark.toml +0 -0
  577. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/themes/zenwritten-light.toml +0 -0
  578. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/workflow/__init__.py +0 -0
  579. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/workflow/activities.py +0 -0
  580. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/workflow/agent_activities.py +0 -0
  581. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/workflow/temporal_setup.py +0 -0
  582. {flock_core-0.3.17 → flock_core-0.3.18}/src/flock/workflow/workflow.py +0 -0
  583. {flock_core-0.3.17 → flock_core-0.3.18}/tests/conftest.py +0 -0
  584. {flock_core-0.3.17 → flock_core-0.3.18}/tests/examples/azure_search_example.py +0 -0
  585. {flock_core-0.3.17 → flock_core-0.3.18}/tests/integration/test_agent_integration.py +0 -0
  586. {flock_core-0.3.17 → flock_core-0.3.18}/tests/integration/test_azure_tools_integration.py +0 -0
  587. {flock_core-0.3.17 → flock_core-0.3.18}/tests/unittests/test_agent_based_handoff.py +0 -0
  588. {flock_core-0.3.17 → flock_core-0.3.18}/tests/unittests/test_agent_router_property.py +0 -0
  589. {flock_core-0.3.17 → flock_core-0.3.18}/tests/unittests/test_azure_tools.py +0 -0
  590. {flock_core-0.3.17 → flock_core-0.3.18}/tests/unittests/test_flock.py +0 -0
  591. {flock_core-0.3.17 → flock_core-0.3.18}/tests/unittests/test_flock_agent.py +0 -0
  592. {flock_core-0.3.17 → flock_core-0.3.18}/tests/unittests/test_memory_operations.py +0 -0
  593. {flock_core-0.3.17 → flock_core-0.3.18}/tests/unittests/test_memory_store.py +0 -0
@@ -0,0 +1,135 @@
1
+ # Flock Core Architecture Specification
2
+
3
+ ## Overview
4
+ Flock is a framework for building, orchestrating, and running AI agent systems. It provides a declarative approach to agent design, focusing on inputs and outputs rather than prompts. This specification defines the core architecture components of the Flock framework.
5
+
6
+ ## Components
7
+
8
+ ### 1. Flock
9
+
10
+ The central orchestrator that manages agents, tools, and execution flow.
11
+
12
+ **Responsibilities:**
13
+ - Managing agent registration and retrieval
14
+ - Orchestrating workflow execution
15
+ - Providing execution context
16
+ - Supporting local and distributed execution modes (Temporal)
17
+ - Initializing and managing logging
18
+
19
+ **Key Attributes:**
20
+ - `agents`: Collection of registered agents
21
+ - `registry`: Central registry for agents and tools
22
+ - `context`: Global execution context
23
+ - `model`: Default LLM model identifier
24
+ - `enable_temporal`: Flag for distributed execution
25
+
26
+ ### 2. FlockAgent
27
+
28
+ The core agent class that defines a single AI agent's capabilities.
29
+
30
+ **Responsibilities:**
31
+ - Defining agent inputs and outputs
32
+ - Managing agent lifecycle
33
+ - Providing access to tools
34
+ - Supporting serialization and deserialization
35
+ - Integrating with modules for extensibility
36
+
37
+ **Key Attributes:**
38
+ - `name`: Unique identifier
39
+ - `description`: Human-readable agent description
40
+ - `model`: LLM model identifier
41
+ - `input`: Input field definitions
42
+ - `output`: Output field definitions
43
+ - `tools`: Available tools for the agent
44
+ - `evaluator`: Strategy for evaluation
45
+ - `modules`: Attached modules for extensibility
46
+ - `handoff_router`: Optional router for multi-agent workflows
47
+
48
+ ### 3. FlockModule
49
+
50
+ Extension system for agents to modify behavior through lifecycle hooks.
51
+
52
+ **Responsibilities:**
53
+ - Hooking into agent lifecycle events
54
+ - Modifying inputs or outputs
55
+ - Adding capabilities to agents
56
+ - Maintaining module-specific state
57
+
58
+ **Lifecycle Hooks:**
59
+ - `initialize`: Called when agent starts
60
+ - `pre_evaluate`: Called before evaluation
61
+ - `post_evaluate`: Called after evaluation
62
+ - `terminate`: Called when agent finishes
63
+ - `on_error`: Called when errors occur
64
+
65
+ ### 4. FlockEvaluator
66
+
67
+ Strategy for evaluating agent requests and generating outputs.
68
+
69
+ **Responsibilities:**
70
+ - Processing agent inputs
71
+ - Formulating appropriate prompts
72
+ - Managing model interactions
73
+ - Processing model outputs
74
+ - Handling tool usage
75
+
76
+ ### 5. FlockRouter
77
+
78
+ Mechanism for directing workflow between agents.
79
+
80
+ **Responsibilities:**
81
+ - Determining the next agent in a workflow
82
+ - Managing input/output mapping between agents
83
+ - Supporting workflow branching logic
84
+
85
+ **Key Concepts:**
86
+ - `HandOffRequest`: Definition of the next agent and input mapping
87
+
88
+ ### 6. FlockContext
89
+
90
+ Shared execution context for agents and modules.
91
+
92
+ **Responsibilities:**
93
+ - Storing global state across agents
94
+ - Providing access to agent definitions
95
+ - Supporting serialization for distributed execution
96
+
97
+ ## Design Principles
98
+
99
+ 1. **Declarative over Imperative**:
100
+ - Focus on what agents do, not how they do it
101
+ - Define inputs and outputs clearly
102
+ - Minimize prompt engineering
103
+
104
+ 2. **Modular Extension**:
105
+ - Module system for adding functionality
106
+ - Clear lifecycle hooks
107
+ - Separation of concerns
108
+
109
+ 3. **Resilient Execution**:
110
+ - Support for local and distributed execution
111
+ - Error handling at each level
112
+ - Observability through logging and tracing
113
+
114
+ 4. **Serialization Support**:
115
+ - All components can be serialized
116
+ - Support for saving and loading agent definitions
117
+ - State preservation across execution environments
118
+
119
+ 5. **Tool Integration**:
120
+ - First-class support for tool usage
121
+ - Flexible tool registration
122
+ - Dynamic tool discovery
123
+
124
+ ## Execution Flow
125
+
126
+ 1. User creates a Flock instance
127
+ 2. User adds agents to the Flock
128
+ 3. User registers tools if needed
129
+ 4. User calls `run()` with a starting agent and input
130
+ 5. Flock initializes context and resolves the starting agent
131
+ 6. Agent initializes and resolves modules
132
+ 7. Agent evaluates input using its evaluator
133
+ 8. If a router is defined, Flock determines the next agent
134
+ 9. Process repeats until no next agent is specified
135
+ 10. Final result is returned
@@ -0,0 +1,78 @@
1
+ # Flock Agent Factory Specification
2
+
3
+ ## Overview
4
+ The Factory design pattern is implemented in Flock to simplify agent creation with sensible defaults. This specification defines the requirements and behavior of the agent factory system.
5
+
6
+ ## FlockFactory
7
+
8
+ ### Purpose
9
+ Provide a simplified interface for creating pre-configured agents without requiring manual setup of all components.
10
+
11
+ ### Responsibilities
12
+ - Create agents with sensible defaults
13
+ - Configure common modules automatically
14
+ - Set up evaluators with appropriate configuration
15
+ - Simplify the agent creation process
16
+
17
+ ## Default Agent Creation
18
+
19
+ ### Method: `create_default_agent`
20
+
21
+ **Parameters:**
22
+ - `name`: Required unique agent identifier
23
+ - `description`: Optional human-readable description
24
+ - `model`: Optional LLM model identifier (defaults to configured default)
25
+ - `input`: Required input field definitions
26
+ - `output`: Required output field definitions
27
+ - `tools`: Optional list of callable tools
28
+ - `use_cache`: Whether to cache evaluation results (default: True)
29
+ - `enable_rich_tables`: Whether to render rich tables in output (default: False)
30
+ - `output_theme`: Visual theme for rendered output
31
+ - `wait_for_input`: Whether to pause after execution (default: False)
32
+ - `temperature`: Model temperature setting (default: 0.0)
33
+ - `max_tokens`: Maximum generated tokens (default: 4096)
34
+ - `alert_latency_threshold_ms`: Threshold for latency alerts (default: 30000)
35
+ - `no_output`: Whether to suppress output (default: False)
36
+ - `print_context`: Whether to print context (default: False)
37
+
38
+ **Return Value:**
39
+ - A fully configured `FlockAgent` instance
40
+
41
+ **Default Configuration:**
42
+ 1. Creates a `DeclarativeEvaluator` with:
43
+ - Specified model or default
44
+ - Configured cache settings
45
+ - Specified max tokens and temperature
46
+
47
+ 2. Creates an `OutputModule` with:
48
+ - Table rendering settings
49
+ - Theme configuration
50
+ - Wait-for-input behavior
51
+
52
+ 3. Creates a `MetricsModule` with:
53
+ - Latency threshold alerts
54
+
55
+ ## Design Principles
56
+
57
+ 1. **Convention over Configuration**:
58
+ - Reasonable defaults for most parameters
59
+ - Only essential parameters required
60
+
61
+ 2. **Complete Configuration**:
62
+ - Agents created are fully functional
63
+ - All required components initialized
64
+
65
+ 3. **Flexibility**:
66
+ - All defaults can be overridden
67
+ - Additional configuration possible after creation
68
+
69
+ 4. **Extension**:
70
+ - Factory pattern allows future specialized factory methods
71
+ - Custom agent templates possible
72
+
73
+ ## Implementation Notes
74
+
75
+ 1. The factory uses the standard `FlockAgent` class
76
+ 2. Modules are attached via the agent's `add_module` method
77
+ 3. The agent is ready to use immediately after creation
78
+ 4. The agent is not automatically added to a Flock instance
@@ -0,0 +1,106 @@
1
+ # Flock Module System Specification
2
+
3
+ ## Overview
4
+ The module system provides a way to extend agent functionality through lifecycle hooks. Modules can modify agent behavior, add new capabilities, or provide cross-cutting concerns like logging or metrics without changing the core agent implementation.
5
+
6
+ ## Core Module Components
7
+
8
+ ### 1. FlockModuleConfig
9
+
10
+ **Purpose:**
11
+ Base configuration class for all module configurations.
12
+
13
+ **Requirements:**
14
+ - Must extend Pydantic's BaseModel
15
+ - Must include an `enabled` flag to toggle module functionality
16
+ - Must support extension through subclassing or the `with_fields` factory method
17
+
18
+ **API:**
19
+ - `with_fields(**field_definitions)`: Factory method to create derived config classes with additional fields
20
+
21
+ ### 2. FlockModule
22
+
23
+ **Purpose:**
24
+ Base abstract class for all modules that can be attached to agents.
25
+
26
+ **Requirements:**
27
+ - Must extend Pydantic's BaseModel and be abstract (ABC)
28
+ - Must include a unique name identifier
29
+ - Must include a configuration instance
30
+ - Must implement all lifecycle hook methods
31
+
32
+ **Lifecycle Hooks:**
33
+ - `initialize(agent, inputs, context)`: Called when agent starts execution
34
+ - `pre_evaluate(agent, inputs, context)`: Called before agent evaluation, can modify inputs
35
+ - `post_evaluate(agent, inputs, result, context)`: Called after agent evaluation, can modify results
36
+ - `terminate(agent, inputs, result, context)`: Called when agent completes execution
37
+ - `on_error(agent, error, inputs, context)`: Called when an error occurs during execution
38
+
39
+ ## Module Integration
40
+
41
+ ### Agent Module Management
42
+ The FlockAgent must provide methods to:
43
+ - Add modules via `add_module(module)`
44
+ - Remove modules via `remove_module(module_name)`
45
+ - Retrieve modules via `get_module(module_name)`
46
+ - Get all enabled modules via `get_enabled_modules()`
47
+
48
+ ### Module Execution
49
+ During agent execution, the agent must:
50
+ 1. Call `initialize()` on all enabled modules during agent initialization
51
+ 2. Call `pre_evaluate()` on all enabled modules before evaluation
52
+ 3. Call `post_evaluate()` on all enabled modules after evaluation
53
+ 4. Call `terminate()` on all enabled modules during agent termination
54
+ 5. Call `on_error()` on all enabled modules when errors occur
55
+
56
+ ## Standard Modules
57
+
58
+ ### 1. OutputModule
59
+
60
+ **Purpose:**
61
+ Handle formatting and displaying agent outputs.
62
+
63
+ **Configuration:**
64
+ - `render_table`: Whether to render outputs as rich tables
65
+ - `theme`: Visual theme for rendered outputs
66
+ - `wait_for_input`: Whether to pause for user input after output
67
+ - `no_output`: Whether to suppress output entirely
68
+ - `print_context`: Whether to print context along with output
69
+
70
+ ### 2. MetricsModule
71
+
72
+ **Purpose:**
73
+ Track and report agent performance metrics.
74
+
75
+ **Configuration:**
76
+ - `latency_threshold_ms`: Threshold for latency alerts
77
+
78
+ ## Design Principles
79
+
80
+ 1. **Separation of Concerns**:
81
+ - Modules handle cross-cutting concerns
82
+ - Core agent logic remains focused
83
+ - Modules can be added/removed without modifying agent code
84
+
85
+ 2. **Composability**:
86
+ - Multiple modules can be attached to an agent
87
+ - Modules can interact through shared context
88
+ - Order-independent execution where possible
89
+
90
+ 3. **Configurability**:
91
+ - All modules have configuration classes
92
+ - Configuration can be modified at runtime
93
+ - Modules can be enabled/disabled through configuration
94
+
95
+ 4. **Extension Points**:
96
+ - Clear lifecycle hooks for integration
97
+ - Standardized interfaces for all modules
98
+ - Predictable execution ordering
99
+
100
+ ## Implementation Requirements
101
+
102
+ 1. Modules must be serializable along with agents
103
+ 2. Modules should have minimal dependencies on each other
104
+ 3. Modules should gracefully handle missing context or configuration
105
+ 4. Module hooks should be implemented as async methods
106
+ 5. Module hooks should not raise exceptions (handle internally)
@@ -0,0 +1,100 @@
1
+ # Flock Evaluator System Specification
2
+
3
+ ## Overview
4
+ The evaluator system provides the core evaluation mechanism for agents, defining how inputs are processed and outputs are generated. It abstracts the interaction with language models and provides a standardized interface for agent evaluation.
5
+
6
+ ## Core Evaluator Components
7
+
8
+ ### 1. FlockEvaluatorConfig
9
+
10
+ **Purpose:**
11
+ Base configuration class for all evaluator configurations.
12
+
13
+ **Requirements:**
14
+ - Must extend Pydantic's BaseModel
15
+ - Must include common configuration options for model interaction
16
+
17
+ **Standard Fields:**
18
+ - Model identifier
19
+ - Caching preferences
20
+ - Temperature settings
21
+ - Token limits
22
+
23
+ ### 2. FlockEvaluator
24
+
25
+ **Purpose:**
26
+ Base abstract class for all evaluators.
27
+
28
+ **Requirements:**
29
+ - Must implement an `evaluate` method that processes agent inputs
30
+ - Must handle tool execution when applicable
31
+ - Must properly format inputs based on agent definitions
32
+ - Must process and structure outputs according to agent output definitions
33
+
34
+ **API:**
35
+ - `evaluate(agent, inputs, tools)`: Asynchronous method to evaluate inputs and produce structured outputs
36
+
37
+ ## Standard Evaluators
38
+
39
+ ### 1. DeclarativeEvaluator
40
+
41
+ **Purpose:**
42
+ Default evaluator that uses a declarative approach, focusing on input/output mapping.
43
+
44
+ **Functionality:**
45
+ - Creates DSPy signatures from agent definitions
46
+ - Configures language models appropriately
47
+ - Selects appropriate agent tasks based on tool requirements
48
+ - Processes model results into structured outputs
49
+
50
+ **Configuration:**
51
+ - `agent_type_override`: Optional override for agent type
52
+ - `model`: Model identifier (default: 'openai/gpt-4o')
53
+ - `use_cache`: Whether to cache results (default: True)
54
+ - `temperature`: Model temperature (default: 0.0)
55
+ - `max_tokens`: Maximum token generation (default: 4096)
56
+
57
+ ## Integration Points
58
+
59
+ ### DSPy Integration
60
+
61
+ **Requirements:**
62
+ - Must support DSPy for language model interactions
63
+ - Must properly convert agent definitions to DSPy signatures
64
+ - Must support DSPy caching when enabled
65
+
66
+ ### Tool Execution
67
+
68
+ **Requirements:**
69
+ - Must properly format tools for model access
70
+ - Must handle tool execution when requested by the model
71
+ - Must support synchronous and asynchronous tools
72
+ - Must properly format tool results for the model
73
+
74
+ ## Design Principles
75
+
76
+ 1. **Modularity**:
77
+ - Evaluators should be interchangeable
78
+ - Different evaluation strategies possible with same agent definition
79
+
80
+ 2. **Abstraction**:
81
+ - Hide complexity of model interactions
82
+ - Provide a consistent interface regardless of underlying model
83
+
84
+ 3. **Flexibility**:
85
+ - Support different model providers
86
+ - Support different evaluation strategies
87
+ - Allow configuration of evaluation parameters
88
+
89
+ 4. **Performance**:
90
+ - Support caching of results
91
+ - Optimize token usage
92
+ - Handle rate limiting appropriately
93
+
94
+ ## Implementation Requirements
95
+
96
+ 1. Evaluators must be serializable
97
+ 2. Evaluators must handle exceptions gracefully
98
+ 3. Evaluators should provide appropriate debugging information
99
+ 4. Evaluators should support observability through tracing
100
+ 5. Evaluators should maintain compatibility with multiple model providers
@@ -0,0 +1,104 @@
1
+ # Flock Router System Specification
2
+
3
+ ## Overview
4
+ The router system enables multi-agent workflows by determining which agent should execute next based on the current agent's outputs. It provides a mechanism for building complex agent pipelines and workflows.
5
+
6
+ ## Core Router Components
7
+
8
+ ### 1. HandOffRequest
9
+
10
+ **Purpose:**
11
+ Define the next agent to execute and how inputs should be handled.
12
+
13
+ **Requirements:**
14
+ - Must extend Pydantic's BaseModel
15
+ - Must identify the next agent to execute
16
+ - Must define how inputs are mapped between agents
17
+
18
+ **Fields:**
19
+ - `next_agent`: Name of the next agent to invoke
20
+ - `hand_off_mode`: Strategy for mapping outputs to inputs ('match' or 'add')
21
+ - `override_next_agent`: Optional direct reference to next agent
22
+ - `override_context`: Optional context override
23
+
24
+ ### 2. FlockRouterConfig
25
+
26
+ **Purpose:**
27
+ Configuration for router behavior.
28
+
29
+ **Requirements:**
30
+ - Must extend Pydantic's BaseModel
31
+ - Must include an enabled flag
32
+ - Must support a list of possible agent destinations
33
+
34
+ **Fields:**
35
+ - `enabled`: Whether the router is active
36
+ - `agents`: Optional list of potential target agents
37
+
38
+ ### 3. FlockRouter
39
+
40
+ **Purpose:**
41
+ Base abstract class for all routers.
42
+
43
+ **Requirements:**
44
+ - Must extend Pydantic's BaseModel and be abstract (ABC)
45
+ - Must include a unique name
46
+ - Must include a configuration
47
+ - Must implement a `route` method
48
+
49
+ **API:**
50
+ - `route(current_agent, result, context)`: Async method to determine the next agent
51
+
52
+ ## Router Integration
53
+
54
+ ### Agent Integration
55
+ FlockAgent includes an optional `handoff_router` field:
56
+ - When present, enables multi-agent workflows
57
+ - When absent, execution stops after the agent completes
58
+
59
+ ### Workflow Execution
60
+ During Flock execution:
61
+ 1. After agent evaluation, check if agent has a router
62
+ 2. If router exists and is enabled, call its `route` method
63
+ 3. Process the HandOffRequest to determine the next agent
64
+ 4. Map outputs to inputs according to hand_off_mode
65
+ 5. Execute the next agent
66
+ 6. Repeat until no next agent is specified
67
+
68
+ ## Standard Routers
69
+
70
+ ### 1. SimpleFlockRouter
71
+ A basic router that selects from a fixed list of next agents.
72
+
73
+ ### 2. LLMFlockRouter
74
+ A router that uses LLM to determine the next agent based on result content.
75
+
76
+ ## Design Principles
77
+
78
+ 1. **Flexibility**:
79
+ - Support different routing strategies
80
+ - Allow both static and dynamic routing
81
+ - Enable complex workflow patterns
82
+
83
+ 2. **Clear Handoff Definition**:
84
+ - Explicit next agent specification
85
+ - Well-defined input mapping strategies
86
+ - Support for context modification
87
+
88
+ 3. **Extensibility**:
89
+ - Easy to implement custom routers
90
+ - Support for different routing criteria
91
+ - Integration with external systems
92
+
93
+ 4. **Predictability**:
94
+ - Clear execution paths
95
+ - Debuggable routing decisions
96
+ - Avoidance of circular references
97
+
98
+ ## Implementation Requirements
99
+
100
+ 1. Routers must be serializable
101
+ 2. Routers must support both string-based and direct agent references
102
+ 3. Routers must handle missing or invalid next agent gracefully
103
+ 4. Router implementations should avoid side effects
104
+ 5. Routers should support tracing of routing decisions
@@ -0,0 +1,88 @@
1
+ # Flock Tool System Specification
2
+
3
+ ## Overview
4
+ The tool system provides agents with capabilities to perform actions beyond generating text. Tools can retrieve information, perform calculations, interact with external systems, or execute code. This specification defines how tools are integrated and used within the Flock framework.
5
+
6
+ ## Tool Definition
7
+
8
+ ### Requirements
9
+ - Tools must be callable functions or methods
10
+ - Tools must accept standard Python types as inputs
11
+ - Tools must return JSON-serializable outputs
12
+ - Tools should include proper docstrings for agent instruction
13
+ - Tools should handle errors gracefully
14
+
15
+ ### Tool Registration
16
+ Tools can be registered in two ways:
17
+ 1. Through agent definition: `tools=[tool1, tool2]`
18
+ 2. Through Flock registration: `flock.add_tool("tool_name", tool_function)`
19
+
20
+ ## Tool Integration
21
+
22
+ ### Agent Integration
23
+ Tools attached to an agent are:
24
+ 1. Registered in the global registry
25
+ 2. Made available to the agent during evaluation
26
+ 3. Formatted appropriately for the model to understand their capabilities
27
+
28
+ ### Evaluator Integration
29
+ The evaluator is responsible for:
30
+ 1. Formatting tools for model consumption
31
+ 2. Detecting tool invocation in model outputs
32
+ 3. Executing tools with appropriate parameters
33
+ 4. Formatting tool results for continued model interaction
34
+
35
+ ## Standard Tool Categories
36
+
37
+ ### 1. Basic Tools
38
+ - Web search tools
39
+ - Code evaluation tools
40
+ - System information tools
41
+ - File manipulation tools
42
+
43
+ ### 2. Specialized Tools
44
+ - Data analysis tools
45
+ - API interaction tools
46
+ - Database tools
47
+ - Visualization tools
48
+
49
+ ## Tool Execution Flow
50
+
51
+ 1. Agent provides tools list during initialization
52
+ 2. Evaluator formats tools as function descriptions for the model
53
+ 3. Model generates output that may include tool invocation
54
+ 4. Evaluator parses the tool invocation and parameters
55
+ 5. Evaluator executes the tool with parsed parameters
56
+ 6. Tool result is formatted and provided back to the model
57
+ 7. Model continues generation with tool results available
58
+ 8. Final model output is returned as agent result
59
+
60
+ ## Design Principles
61
+
62
+ 1. **Flexibility**:
63
+ - Support for any callable function
64
+ - No special base classes required
65
+ - Dynamic addition of tools possible
66
+
67
+ 2. **Safety**:
68
+ - Tools should have clear boundaries
69
+ - Error handling to prevent failures
70
+ - Input validation for security
71
+
72
+ 3. **Discoverability**:
73
+ - Clear documentation for agent understanding
74
+ - Consistent interface patterns
75
+ - Self-describing capabilities
76
+
77
+ 4. **Performance**:
78
+ - Efficient execution
79
+ - Proper handling of async tools
80
+ - Support for caching tool results
81
+
82
+ ## Implementation Requirements
83
+
84
+ 1. Tools must work with different model providers
85
+ 2. Tools must handle both synchronous and asynchronous execution
86
+ 3. Tools should provide clear error messages
87
+ 4. Tools should be testable in isolation
88
+ 5. Complex tools should be composable from simpler tools