flock-core 0.3.15__tar.gz → 0.3.17__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 (584) hide show
  1. {flock_core-0.3.15 → flock_core-0.3.17}/PKG-INFO +3 -1
  2. flock_core-0.3.17/docs/core-concepts/tools/azure-tools.md +221 -0
  3. flock_core-0.3.17/docs/core-concepts/tools/overview.md +96 -0
  4. {flock_core-0.3.15 → flock_core-0.3.17}/docs/getting-started/concepts.md +2 -0
  5. {flock_core-0.3.15 → flock_core-0.3.17}/docs/release-notes/release_notes.md +1 -0
  6. flock_core-0.3.17/examples/02_concepts/context/context.py +57 -0
  7. flock_core-0.3.17/examples/02_concepts/tools/azure_tools_example.py +221 -0
  8. flock_core-0.3.17/examples/papers/chain-of-draft/2502.18600v1.pdf +0 -0
  9. flock_core-0.3.17/examples/papers/chain-of-draft/README.md +154 -0
  10. flock_core-0.3.17/examples/papers/chain-of-draft/examples/__init__.py +1 -0
  11. flock_core-0.3.17/examples/papers/chain-of-draft/examples/arithmetic.py +57 -0
  12. flock_core-0.3.17/examples/papers/chain-of-draft/examples/comparison.py +42 -0
  13. flock_core-0.3.17/examples/papers/chain-of-draft/examples/symbolic.py +57 -0
  14. flock_core-0.3.17/examples/papers/chain-of-draft/src/__init__.py +6 -0
  15. flock_core-0.3.17/examples/papers/chain-of-draft/src/agents.py +207 -0
  16. flock_core-0.3.17/examples/papers/chain-of-draft/src/chain_of_draft.py +113 -0
  17. flock_core-0.3.17/examples/papers/chain-of-draft/src/evaluation.py +175 -0
  18. flock_core-0.3.17/examples/papers/chain-of-draft/src/prompts.py +55 -0
  19. flock_core-0.3.17/examples/papers/chain-of-draft/src/router.py +99 -0
  20. flock_core-0.3.17/examples/papers/chain-of-draft/tests/__init__.py +1 -0
  21. flock_core-0.3.17/examples/papers/chain-of-draft/tests/test_cod_basic.py +179 -0
  22. flock_core-0.3.17/examples/papers/chain-of-draft/tests/test_cod_vs_cot.py +146 -0
  23. {flock_core-0.3.15 → flock_core-0.3.17}/mkdocs.yml +3 -0
  24. {flock_core-0.3.15 → flock_core-0.3.17}/pyproject.toml +3 -1
  25. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/assets/release_notes.md +1 -0
  26. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/context/context.py +21 -23
  27. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/flock_agent.py +20 -5
  28. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/flock_factory.py +2 -0
  29. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/flock_module.py +27 -5
  30. flock_core-0.3.17/src/flock/core/tools/azure_tools.py +496 -0
  31. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/tools/basic_tools.py +96 -8
  32. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/callback/callback_module.py +21 -4
  33. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/memory/memory_module.py +19 -4
  34. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/output/output_module.py +12 -1
  35. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/performance/metrics_module.py +24 -5
  36. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/zep/zep_module.py +10 -2
  37. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/workflow/activities.py +2 -2
  38. flock_core-0.3.17/tests/conftest.py +52 -0
  39. flock_core-0.3.17/tests/examples/azure_search_example.py +164 -0
  40. flock_core-0.3.17/tests/integration/test_azure_tools_integration.py +282 -0
  41. flock_core-0.3.17/tests/unittests/test_azure_tools.py +277 -0
  42. {flock_core-0.3.15 → flock_core-0.3.17}/uv.lock +52 -1
  43. {flock_core-0.3.15 → flock_core-0.3.17}/.devcontainer/devcontainer.json +0 -0
  44. {flock_core-0.3.15 → flock_core-0.3.17}/.env_template +0 -0
  45. {flock_core-0.3.15 → flock_core-0.3.17}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  46. {flock_core-0.3.15 → flock_core-0.3.17}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  47. {flock_core-0.3.15 → flock_core-0.3.17}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  48. {flock_core-0.3.15 → flock_core-0.3.17}/.github/workflows/.gitkeep +0 -0
  49. {flock_core-0.3.15 → flock_core-0.3.17}/.github/workflows/deploy-documentation.yml +0 -0
  50. {flock_core-0.3.15 → flock_core-0.3.17}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  51. {flock_core-0.3.15 → flock_core-0.3.17}/.gitignore +0 -0
  52. {flock_core-0.3.15 → flock_core-0.3.17}/.vscode/launch.json +0 -0
  53. {flock_core-0.3.15 → flock_core-0.3.17}/.vscode/settings.json +0 -0
  54. {flock_core-0.3.15 → flock_core-0.3.17}/.vscode/tasks.json +0 -0
  55. {flock_core-0.3.15 → flock_core-0.3.17}/LICENSE +0 -0
  56. {flock_core-0.3.15 → flock_core-0.3.17}/README.md +0 -0
  57. {flock_core-0.3.15 → flock_core-0.3.17}/docs/advanced/complex-workflows.md +0 -0
  58. {flock_core-0.3.15 → flock_core-0.3.17}/docs/advanced/custom-agents.md +0 -0
  59. {flock_core-0.3.15 → flock_core-0.3.17}/docs/advanced/performance.md +0 -0
  60. {flock_core-0.3.15 → flock_core-0.3.17}/docs/advanced/testing.md +0 -0
  61. {flock_core-0.3.15 → flock_core-0.3.17}/docs/api/flock-core.md +0 -0
  62. {flock_core-0.3.15 → flock_core-0.3.17}/docs/api/flockagent.md +0 -0
  63. {flock_core-0.3.15 → flock_core-0.3.17}/docs/api/types.md +0 -0
  64. {flock_core-0.3.15 → flock_core-0.3.17}/docs/api/utilities.md +0 -0
  65. {flock_core-0.3.15 → flock_core-0.3.17}/docs/architecture/components.md +0 -0
  66. {flock_core-0.3.15 → flock_core-0.3.17}/docs/architecture/design-decisions.md +0 -0
  67. {flock_core-0.3.15 → flock_core-0.3.17}/docs/architecture/overview.md +0 -0
  68. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/drawio/architecture.drawio +0 -0
  69. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/cli_outputs/out.png +0 -0
  70. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/components_chart.png +0 -0
  71. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/examples/01_01.png +0 -0
  72. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/examples/01_02.png +0 -0
  73. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/examples/01_03.png +0 -0
  74. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/examples/01_04.png +0 -0
  75. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/examples/01_05.png +0 -0
  76. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/examples/01_06.png +0 -0
  77. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/flock.png +0 -0
  78. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/flock_cli.png +0 -0
  79. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/flow_chart.png +0 -0
  80. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  81. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/hummingbird.png +0 -0
  82. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/icon.png +0 -0
  83. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/icon.png~ +0 -0
  84. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/logo.png +0 -0
  85. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/memory_concepts.png +0 -0
  86. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/memory_flow.png +0 -0
  87. {flock_core-0.3.15 → flock_core-0.3.17}/docs/assets/images/memory_flow_chart.png +0 -0
  88. {flock_core-0.3.15 → flock_core-0.3.17}/docs/contributing/code-style.md +0 -0
  89. {flock_core-0.3.15 → flock_core-0.3.17}/docs/contributing/development.md +0 -0
  90. {flock_core-0.3.15 → flock_core-0.3.17}/docs/contributing/documentation.md +0 -0
  91. {flock_core-0.3.15 → flock_core-0.3.17}/docs/contributing/testing.md +0 -0
  92. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/agents.md +0 -0
  93. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/declarative.md +0 -0
  94. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/error-handling.md +0 -0
  95. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/evaluators.md +0 -0
  96. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/memory.md +0 -0
  97. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/modules/memory.md +0 -0
  98. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/modules/metrics.md +0 -0
  99. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/modules/output.md +0 -0
  100. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/modules.md +0 -0
  101. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/routers/agent.md +0 -0
  102. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/routers/default.md +0 -0
  103. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/routers/llm.md +0 -0
  104. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/routers.md +0 -0
  105. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/type-system.md +0 -0
  106. {flock_core-0.3.15 → flock_core-0.3.17}/docs/core-concepts/workflows.md +0 -0
  107. {flock_core-0.3.15 → flock_core-0.3.17}/docs/create_doc_boilerplate.py +0 -0
  108. {flock_core-0.3.15 → flock_core-0.3.17}/docs/deployment/monitoring.md +0 -0
  109. {flock_core-0.3.15 → flock_core-0.3.17}/docs/deployment/production-setup.md +0 -0
  110. {flock_core-0.3.15 → flock_core-0.3.17}/docs/deployment/scalability.md +0 -0
  111. {flock_core-0.3.15 → flock_core-0.3.17}/docs/deployment/security.md +0 -0
  112. {flock_core-0.3.15 → flock_core-0.3.17}/docs/development/dev.md +0 -0
  113. {flock_core-0.3.15 → flock_core-0.3.17}/docs/development/replace-dspy/implementation_plan.md +0 -0
  114. {flock_core-0.3.15 → flock_core-0.3.17}/docs/development/topics.md +0 -0
  115. {flock_core-0.3.15 → flock_core-0.3.17}/docs/examples/chain-gang.md +0 -0
  116. {flock_core-0.3.15 → flock_core-0.3.17}/docs/examples/hello-flock.md +0 -0
  117. {flock_core-0.3.15 → flock_core-0.3.17}/docs/examples/pydantic.md +0 -0
  118. {flock_core-0.3.15 → flock_core-0.3.17}/docs/examples/type-system.md +0 -0
  119. {flock_core-0.3.15 → flock_core-0.3.17}/docs/features/agent-chaining.md +0 -0
  120. {flock_core-0.3.15 → flock_core-0.3.17}/docs/features/agent-definition.md +0 -0
  121. {flock_core-0.3.15 → flock_core-0.3.17}/docs/features/lifecycle-hooks.md +0 -0
  122. {flock_core-0.3.15 → flock_core-0.3.17}/docs/features/pydantic.md +0 -0
  123. {flock_core-0.3.15 → flock_core-0.3.17}/docs/features/type-safety.md +0 -0
  124. {flock_core-0.3.15 → flock_core-0.3.17}/docs/getting-started/configuration.md +0 -0
  125. {flock_core-0.3.15 → flock_core-0.3.17}/docs/getting-started/installation.md +0 -0
  126. {flock_core-0.3.15 → flock_core-0.3.17}/docs/getting-started/quickstart.md +0 -0
  127. {flock_core-0.3.15 → flock_core-0.3.17}/docs/index.md +0 -0
  128. {flock_core-0.3.15 → flock_core-0.3.17}/docs/integrations/dspy.md +0 -0
  129. {flock_core-0.3.15 → flock_core-0.3.17}/docs/integrations/litellm.md +0 -0
  130. {flock_core-0.3.15 → flock_core-0.3.17}/docs/integrations/rest-api.md +0 -0
  131. {flock_core-0.3.15 → flock_core-0.3.17}/docs/integrations/tavily.md +0 -0
  132. {flock_core-0.3.15 → flock_core-0.3.17}/docs/integrations/temporal.md +0 -0
  133. {flock_core-0.3.15 → flock_core-0.3.17}/docs/stylesheets/extra.css +0 -0
  134. {flock_core-0.3.15 → flock_core-0.3.17}/docs/tutorials/blog-generator.md +0 -0
  135. {flock_core-0.3.15 → flock_core-0.3.17}/docs/tutorials/custom-tools.md +0 -0
  136. {flock_core-0.3.15 → flock_core-0.3.17}/docs/tutorials/error-recovery.md +0 -0
  137. {flock_core-0.3.15 → flock_core-0.3.17}/docs/tutorials/multi-agent.md +0 -0
  138. {flock_core-0.3.15 → flock_core-0.3.17}/examples/01_introduction/01_simple_example.py +0 -0
  139. {flock_core-0.3.15 → flock_core-0.3.17}/examples/01_introduction/02_typed_output.py +0 -0
  140. {flock_core-0.3.15 → flock_core-0.3.17}/examples/01_introduction/03_tool_and_code_agent.py +0 -0
  141. {flock_core-0.3.15 → flock_core-0.3.17}/examples/01_introduction/04_descriptions.py +0 -0
  142. {flock_core-0.3.15 → flock_core-0.3.17}/examples/01_introduction/05_typed_output2.py +0 -0
  143. {flock_core-0.3.15 → flock_core-0.3.17}/examples/01_introduction/06_simple_hand_off.py +0 -0
  144. {flock_core-0.3.15 → flock_core-0.3.17}/examples/02_concepts/api/api_client.py +0 -0
  145. {flock_core-0.3.15 → flock_core-0.3.17}/examples/02_concepts/api/api_server.py +0 -0
  146. {flock_core-0.3.15 → flock_core-0.3.17}/examples/02_concepts/evaluator/multi_hops_memory.py +0 -0
  147. {flock_core-0.3.15 → flock_core-0.3.17}/examples/02_concepts/evaluator/multi_hops_zep.py +0 -0
  148. {flock_core-0.3.15 → flock_core-0.3.17}/examples/02_concepts/modules/use_modules.py +0 -0
  149. {flock_core-0.3.15 → flock_core-0.3.17}/examples/02_concepts/router/router_example.py +0 -0
  150. {flock_core-0.3.15 → flock_core-0.3.17}/examples/03_apps/roguelike/game.py +0 -0
  151. {flock_core-0.3.15 → flock_core-0.3.17}/examples/04_comparison/rag_comparison/rag.ipynb +0 -0
  152. {flock_core-0.3.15 → flock_core-0.3.17}/examples/05_documentation/getting-started/first_agent_01.py +0 -0
  153. {flock_core-0.3.15 → flock_core-0.3.17}/examples/05_documentation/getting-started/first_agent_02.py +0 -0
  154. {flock_core-0.3.15 → flock_core-0.3.17}/examples/05_documentation/getting-started/first_agent_03.py +0 -0
  155. {flock_core-0.3.15 → flock_core-0.3.17}/examples/README.md +0 -0
  156. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/flock_without_llms.py +0 -0
  157. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/long_research_no_handoff.py +0 -0
  158. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/painting_by_numbers.py +0 -0
  159. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/project_manager.py +0 -0
  160. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer.py +0 -0
  161. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/repo_analyzer/repo_analyzer_llm.py +0 -0
  162. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_01.py +0 -0
  163. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_02.py +0 -0
  164. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_03.py +0 -0
  165. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/load_04.py +0 -0
  166. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/save_01.py +0 -0
  167. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/save_02.py +0 -0
  168. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/save_and_load/save_03.py +0 -0
  169. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/02_cook_book/self_improvement_with_memory.py +0 -0
  170. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/hier/her_vis.py +0 -0
  171. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/hier/hier_mem.py +0 -0
  172. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/misc/memory.py +0 -0
  173. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/misc/self_learner.py +0 -0
  174. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/misc/self_learner2.py +0 -0
  175. {flock_core-0.3.15 → flock_core-0.3.17}/examples/playground/website/app.py +0 -0
  176. {flock_core-0.3.15 → flock_core-0.3.17}/requirements.txt +0 -0
  177. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/__init__.py +0 -0
  178. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/constants.py +0 -0
  179. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/create_agent.py +0 -0
  180. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/create_flock.py +0 -0
  181. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/load_agent.py +0 -0
  182. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/load_examples.py +0 -0
  183. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/load_flock.py +0 -0
  184. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/load_release_notes.py +0 -0
  185. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/cli/settings.py +0 -0
  186. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/config.py +0 -0
  187. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/__init__.py +0 -0
  188. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/context/context_manager.py +0 -0
  189. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/context/context_vars.py +0 -0
  190. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/execution/local_executor.py +0 -0
  191. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/execution/temporal_executor.py +0 -0
  192. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/flock.py +0 -0
  193. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/flock_api.py +0 -0
  194. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/flock_evaluator.py +0 -0
  195. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/flock_router.py +0 -0
  196. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/interpreter/python_interpreter.py +0 -0
  197. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/__init__.py +0 -0
  198. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  199. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  200. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  201. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/formatters/themes.py +0 -0
  202. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/logging.py +0 -0
  203. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  204. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/telemetry.py +0 -0
  205. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  206. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  207. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  208. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/logging/trace_and_logged.py +0 -0
  209. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/mixin/dspy_integration.py +0 -0
  210. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/mixin/prompt_parser.py +0 -0
  211. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/registry/agent_registry.py +0 -0
  212. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/serialization/secure_serializer.py +0 -0
  213. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/serialization/serializable.py +0 -0
  214. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/tools/dev_tools/github.py +0 -0
  215. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/tools/llm_tools.py +0 -0
  216. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/tools/markdown_tools.py +0 -0
  217. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/util/cli_helper.py +0 -0
  218. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/util/hydrator.py +0 -0
  219. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/core/util/input_resolver.py +0 -0
  220. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  221. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/evaluators/memory/azure_search_evaluator.py +0 -0
  222. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  223. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/evaluators/natural_language/natural_language_evaluator.py +0 -0
  224. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  225. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/azure-search/azure_search_module.py +0 -0
  226. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/memory/memory_parser.py +0 -0
  227. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/modules/memory/memory_storage.py +0 -0
  228. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/platform/docker_tools.py +0 -0
  229. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/platform/jaeger_install.py +0 -0
  230. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/__init__.py +0 -0
  231. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/agent/__init__.py +0 -0
  232. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/agent/agent_router.py +0 -0
  233. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/agent/handoff_agent.py +0 -0
  234. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/default/__init__.py +0 -0
  235. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/default/default_router.py +0 -0
  236. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/llm/__init__.py +0 -0
  237. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/routers/llm/llm_router.py +0 -0
  238. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/3024-day.toml +0 -0
  239. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/3024-night.toml +0 -0
  240. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/aardvark-blue.toml +0 -0
  241. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/abernathy.toml +0 -0
  242. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/adventure.toml +0 -0
  243. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/adventuretime.toml +0 -0
  244. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/afterglow.toml +0 -0
  245. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/alabaster.toml +0 -0
  246. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/alienblood.toml +0 -0
  247. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/andromeda.toml +0 -0
  248. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/apple-classic.toml +0 -0
  249. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/apple-system-colors.toml +0 -0
  250. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/arcoiris.toml +0 -0
  251. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/argonaut copy.toml +0 -0
  252. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/argonaut.toml +0 -0
  253. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/arthur.toml +0 -0
  254. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ateliersulphurpool.toml +0 -0
  255. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/atom.toml +0 -0
  256. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/atom_test.toml +0 -0
  257. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/atomonelight.toml +0 -0
  258. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/aurora.toml +0 -0
  259. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ayu copy.toml +0 -0
  260. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ayu-light.toml +0 -0
  261. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ayu-mirage.toml +0 -0
  262. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ayu.toml +0 -0
  263. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/banana-blueberry.toml +0 -0
  264. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/batman.toml +0 -0
  265. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/belafonte-day.toml +0 -0
  266. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/belafonte-night.toml +0 -0
  267. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/birdsofparadise.toml +0 -0
  268. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/blazer.toml +0 -0
  269. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/blue-matrix.toml +0 -0
  270. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/blueberrypie.toml +0 -0
  271. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/bluedolphin.toml +0 -0
  272. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/blulocodark.toml +0 -0
  273. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/blulocolight.toml +0 -0
  274. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/borland.toml +0 -0
  275. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/breeze.toml +0 -0
  276. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/bright-lights.toml +0 -0
  277. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/broadcast.toml +0 -0
  278. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/brogrammer.toml +0 -0
  279. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/builtin-dark.toml +0 -0
  280. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/builtin-light.toml +0 -0
  281. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  282. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  283. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/builtin-solarized-light.toml +0 -0
  284. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/builtin-tango-dark.toml +0 -0
  285. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/builtin-tango-light.toml +0 -0
  286. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/c64.toml +0 -0
  287. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/calamity.toml +0 -0
  288. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/catppuccin-frappe.toml +0 -0
  289. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/catppuccin-latte.toml +0 -0
  290. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  291. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/catppuccin-mocha.toml +0 -0
  292. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/cga.toml +0 -0
  293. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/chalk.toml +0 -0
  294. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/chalkboard.toml +0 -0
  295. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/challengerdeep.toml +0 -0
  296. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/chester.toml +0 -0
  297. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ciapre.toml +0 -0
  298. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/clrs.toml +0 -0
  299. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/cobalt-neon.toml +0 -0
  300. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/cobalt2.toml +0 -0
  301. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/coffee-theme.toml +0 -0
  302. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/crayonponyfish.toml +0 -0
  303. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/cutiepro.toml +0 -0
  304. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/cyberdyne.toml +0 -0
  305. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/cyberpunk.toml +0 -0
  306. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  307. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dark+.toml +0 -0
  308. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dark-pastel.toml +0 -0
  309. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/darkermatrix.toml +0 -0
  310. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/darkmatrix.toml +0 -0
  311. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/darkside.toml +0 -0
  312. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dayfox.toml +0 -0
  313. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/deep.toml +0 -0
  314. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/desert.toml +0 -0
  315. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dimidium.toml +0 -0
  316. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dimmedmonokai.toml +0 -0
  317. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/django.toml +0 -0
  318. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/djangorebornagain.toml +0 -0
  319. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/djangosmooth.toml +0 -0
  320. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/doom-peacock.toml +0 -0
  321. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/doomone.toml +0 -0
  322. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dotgov.toml +0 -0
  323. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dracula+.toml +0 -0
  324. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/dracula.toml +0 -0
  325. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/duckbones.toml +0 -0
  326. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/duotone-dark.toml +0 -0
  327. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/earthsong.toml +0 -0
  328. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/elemental.toml +0 -0
  329. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/elementary.toml +0 -0
  330. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/encom.toml +0 -0
  331. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/espresso-libre.toml +0 -0
  332. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/espresso.toml +0 -0
  333. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/everblush.toml +0 -0
  334. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/fahrenheit.toml +0 -0
  335. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/fairyfloss.toml +0 -0
  336. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/farmhouse-dark.toml +0 -0
  337. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/farmhouse-light.toml +0 -0
  338. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/fideloper.toml +0 -0
  339. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/firefly-traditional.toml +0 -0
  340. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/firefoxdev.toml +0 -0
  341. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/firewatch.toml +0 -0
  342. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/fishtank.toml +0 -0
  343. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/flat.toml +0 -0
  344. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/flatland.toml +0 -0
  345. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/flexoki-dark.toml +0 -0
  346. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/flexoki-light.toml +0 -0
  347. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/floraverse.toml +0 -0
  348. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/forestblue.toml +0 -0
  349. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/framer.toml +0 -0
  350. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/frontenddelight.toml +0 -0
  351. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/funforrest.toml +0 -0
  352. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/galaxy.toml +0 -0
  353. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/galizur.toml +0 -0
  354. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/github-dark.toml +0 -0
  355. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/github.toml +0 -0
  356. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/glacier.toml +0 -0
  357. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/grape.toml +0 -0
  358. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/grass.toml +0 -0
  359. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/grey-green.toml +0 -0
  360. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/gruber-darker.toml +0 -0
  361. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/gruvboxdark.toml +0 -0
  362. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  363. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/gruvboxlight.toml +0 -0
  364. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/guezwhoz.toml +0 -0
  365. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hacktober.toml +0 -0
  366. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hardcore.toml +0 -0
  367. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/harper.toml +0 -0
  368. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hax0r-blue.toml +0 -0
  369. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hax0r-gr33n.toml +0 -0
  370. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hax0r-r3d.toml +0 -0
  371. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/highway.toml +0 -0
  372. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hipster-green.toml +0 -0
  373. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hivacruz.toml +0 -0
  374. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/homebrew.toml +0 -0
  375. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hopscotch.256.toml +0 -0
  376. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hopscotch.toml +0 -0
  377. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hurtado.toml +0 -0
  378. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/hybrid.toml +0 -0
  379. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ic-green-ppl.toml +0 -0
  380. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ic-orange-ppl.toml +0 -0
  381. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iceberg-dark.toml +0 -0
  382. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iceberg-light.toml +0 -0
  383. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/idea.toml +0 -0
  384. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/idletoes.toml +0 -0
  385. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ir-black.toml +0 -0
  386. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-dark-background.toml +0 -0
  387. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-default.toml +0 -0
  388. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-light-background.toml +0 -0
  389. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  390. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  391. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  392. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  393. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  394. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/iterm2-tango-light.toml +0 -0
  395. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/jackie-brown.toml +0 -0
  396. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/japanesque.toml +0 -0
  397. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/jellybeans.toml +0 -0
  398. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/jetbrains-darcula.toml +0 -0
  399. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/jubi.toml +0 -0
  400. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/kanagawabones.toml +0 -0
  401. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/kibble.toml +0 -0
  402. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/kolorit.toml +0 -0
  403. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/konsolas.toml +0 -0
  404. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/kurokula.toml +0 -0
  405. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/lab-fox.toml +0 -0
  406. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/laser.toml +0 -0
  407. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/later-this-evening.toml +0 -0
  408. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/lavandula.toml +0 -0
  409. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/liquidcarbon.toml +0 -0
  410. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  411. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  412. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/lovelace.toml +0 -0
  413. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/man-page.toml +0 -0
  414. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/mariana.toml +0 -0
  415. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/material.toml +0 -0
  416. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/materialdark.toml +0 -0
  417. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/materialdarker.toml +0 -0
  418. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/materialdesigncolors.toml +0 -0
  419. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/materialocean.toml +0 -0
  420. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/mathias.toml +0 -0
  421. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/matrix.toml +0 -0
  422. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/medallion.toml +0 -0
  423. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/mellifluous.toml +0 -0
  424. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/midnight-in-mojave.toml +0 -0
  425. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/mirage.toml +0 -0
  426. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/misterioso.toml +0 -0
  427. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/molokai.toml +0 -0
  428. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/monalisa.toml +0 -0
  429. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/monokai-remastered.toml +0 -0
  430. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/monokai-soda.toml +0 -0
  431. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/monokai-vivid.toml +0 -0
  432. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/n0tch2k.toml +0 -0
  433. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/neobones-dark.toml +0 -0
  434. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/neobones-light.toml +0 -0
  435. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/neon.toml +0 -0
  436. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/neopolitan.toml +0 -0
  437. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/neutron.toml +0 -0
  438. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/night-owlish-light.toml +0 -0
  439. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nightfox.toml +0 -0
  440. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nightlion-v1.toml +0 -0
  441. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nightlion-v2.toml +0 -0
  442. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/niji.toml +0 -0
  443. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nocturnal-winter.toml +0 -0
  444. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nord-light.toml +0 -0
  445. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nord.toml +0 -0
  446. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/novel.toml +0 -0
  447. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nvimdark.toml +0 -0
  448. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/nvimlight.toml +0 -0
  449. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/obsidian.toml +0 -0
  450. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ocean.toml +0 -0
  451. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/oceanic-next.toml +0 -0
  452. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/oceanicmaterial.toml +0 -0
  453. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ollie.toml +0 -0
  454. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/onehalfdark.toml +0 -0
  455. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/onehalflight.toml +0 -0
  456. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/operator-mono-dark.toml +0 -0
  457. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/overnight-slumber.toml +0 -0
  458. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/oxocarbon.toml +0 -0
  459. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/palenighthc.toml +0 -0
  460. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/pandora.toml +0 -0
  461. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/paraiso-dark.toml +0 -0
  462. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/paulmillr.toml +0 -0
  463. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/pencildark.toml +0 -0
  464. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/pencillight.toml +0 -0
  465. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/peppermint.toml +0 -0
  466. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/piatto-light.toml +0 -0
  467. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/pnevma.toml +0 -0
  468. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/popping-and-locking.toml +0 -0
  469. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/primary.toml +0 -0
  470. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/pro-light.toml +0 -0
  471. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/pro.toml +0 -0
  472. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/purple-rain.toml +0 -0
  473. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/purplepeter.toml +0 -0
  474. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/rapture.toml +0 -0
  475. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/raycast-dark.toml +0 -0
  476. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/raycast-light.toml +0 -0
  477. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/rebecca.toml +0 -0
  478. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/red-alert.toml +0 -0
  479. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/red-planet.toml +0 -0
  480. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/red-sands.toml +0 -0
  481. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/relaxed.toml +0 -0
  482. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/retro.toml +0 -0
  483. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/rippedcasts.toml +0 -0
  484. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/rose-pine-dawn.toml +0 -0
  485. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/rose-pine-moon.toml +0 -0
  486. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/rose-pine.toml +0 -0
  487. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/rouge-2.toml +0 -0
  488. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/royal.toml +0 -0
  489. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ryuuko.toml +0 -0
  490. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/sakura.toml +0 -0
  491. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/scarlet-protocol.toml +0 -0
  492. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/seafoam-pastel.toml +0 -0
  493. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/seashells.toml +0 -0
  494. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/seoulbones-dark.toml +0 -0
  495. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/seoulbones-light.toml +0 -0
  496. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/seti.toml +0 -0
  497. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/shades-of-purple.toml +0 -0
  498. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/shaman.toml +0 -0
  499. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/slate.toml +0 -0
  500. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/sleepyhollow.toml +0 -0
  501. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/smyck.toml +0 -0
  502. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/snazzy.toml +0 -0
  503. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/softserver.toml +0 -0
  504. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/solarized-darcula.toml +0 -0
  505. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/solarized-dark---patched.toml +0 -0
  506. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  507. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/spacedust.toml +0 -0
  508. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  509. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/spacegray-eighties.toml +0 -0
  510. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/spacegray.toml +0 -0
  511. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/spiderman.toml +0 -0
  512. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/spring.toml +0 -0
  513. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/square.toml +0 -0
  514. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/sublette.toml +0 -0
  515. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/subliminal.toml +0 -0
  516. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/sugarplum.toml +0 -0
  517. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/sundried.toml +0 -0
  518. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/symfonic.toml +0 -0
  519. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/synthwave-everything.toml +0 -0
  520. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/synthwave.toml +0 -0
  521. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/synthwavealpha.toml +0 -0
  522. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tango-adapted.toml +0 -0
  523. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tango-half-adapted.toml +0 -0
  524. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/teerb.toml +0 -0
  525. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/terafox.toml +0 -0
  526. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/terminal-basic.toml +0 -0
  527. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/thayer-bright.toml +0 -0
  528. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/the-hulk.toml +0 -0
  529. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  530. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tinacious-design-(light).toml +0 -0
  531. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tokyonight-day.toml +0 -0
  532. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tokyonight-storm.toml +0 -0
  533. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tokyonight.toml +0 -0
  534. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  535. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  536. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  537. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  538. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tomorrow-night.toml +0 -0
  539. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/tomorrow.toml +0 -0
  540. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/toychest.toml +0 -0
  541. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/treehouse.toml +0 -0
  542. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/twilight.toml +0 -0
  543. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ubuntu.toml +0 -0
  544. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ultradark.toml +0 -0
  545. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/ultraviolent.toml +0 -0
  546. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/underthesea.toml +0 -0
  547. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/unikitty.toml +0 -0
  548. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/urple.toml +0 -0
  549. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/vaughn.toml +0 -0
  550. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/vesper.toml +0 -0
  551. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/vibrantink.toml +0 -0
  552. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/vimbones.toml +0 -0
  553. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/violet-dark.toml +0 -0
  554. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/violet-light.toml +0 -0
  555. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/warmneon.toml +0 -0
  556. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/wez.toml +0 -0
  557. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/whimsy.toml +0 -0
  558. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/wildcherry.toml +0 -0
  559. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/wilmersdorf.toml +0 -0
  560. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/wombat.toml +0 -0
  561. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/wryan.toml +0 -0
  562. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/xcodedark.toml +0 -0
  563. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/xcodedarkhc.toml +0 -0
  564. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/xcodelight.toml +0 -0
  565. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/xcodelighthc.toml +0 -0
  566. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/xcodewwdc.toml +0 -0
  567. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/zenbones-dark.toml +0 -0
  568. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/zenbones-light.toml +0 -0
  569. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/zenbones.toml +0 -0
  570. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/zenburn.toml +0 -0
  571. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/zenburned.toml +0 -0
  572. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/zenwritten-dark.toml +0 -0
  573. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/themes/zenwritten-light.toml +0 -0
  574. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/workflow/__init__.py +0 -0
  575. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/workflow/agent_activities.py +0 -0
  576. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/workflow/temporal_setup.py +0 -0
  577. {flock_core-0.3.15 → flock_core-0.3.17}/src/flock/workflow/workflow.py +0 -0
  578. {flock_core-0.3.15 → flock_core-0.3.17}/tests/integration/test_agent_integration.py +0 -0
  579. {flock_core-0.3.15 → flock_core-0.3.17}/tests/unittests/test_agent_based_handoff.py +0 -0
  580. {flock_core-0.3.15 → flock_core-0.3.17}/tests/unittests/test_agent_router_property.py +0 -0
  581. {flock_core-0.3.15 → flock_core-0.3.17}/tests/unittests/test_flock.py +0 -0
  582. {flock_core-0.3.15 → flock_core-0.3.17}/tests/unittests/test_flock_agent.py +0 -0
  583. {flock_core-0.3.15 → flock_core-0.3.17}/tests/unittests/test_memory_operations.py +0 -0
  584. {flock_core-0.3.15 → flock_core-0.3.17}/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.17
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -8,6 +8,7 @@ Classifier: License :: OSI Approved :: MIT License
8
8
  Classifier: Operating System :: OS Independent
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Requires-Python: >=3.10
11
+ Requires-Dist: azure-search-documents>=11.5.2
11
12
  Requires-Dist: chromadb>=0.6.3
12
13
  Requires-Dist: cloudpickle>=3.1.1
13
14
  Requires-Dist: devtools>=0.12.2
@@ -29,6 +30,7 @@ Requires-Dist: prometheus-client>=0.21.1
29
30
  Requires-Dist: pydantic>=2.10.5
30
31
  Requires-Dist: python-box>=7.3.2
31
32
  Requires-Dist: python-decouple>=3.8
33
+ Requires-Dist: python-dotenv>=1.0.1
32
34
  Requires-Dist: questionary>=2.1.0
33
35
  Requires-Dist: rich>=13.9.4
34
36
  Requires-Dist: sentence-transformers>=3.4.1
@@ -0,0 +1,221 @@
1
+ # Azure Search Tools
2
+
3
+ Flock provides a set of tools for seamless integration with [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/), allowing you to leverage powerful vector search and document retrieval capabilities in your AI agents.
4
+
5
+ ## Overview
6
+
7
+ Azure AI Search (formerly Azure Cognitive Search) is a cloud search service that gives developers APIs and tools for building rich search experiences over private, heterogeneous content in web, mobile, and enterprise applications. In Flock, we've provided tools to easily interact with Azure AI Search, allowing your agents to store, search, and retrieve information using both text and vector embeddings.
8
+
9
+ ## Features
10
+
11
+ - Create and manage search indexes
12
+ - Upload and manage documents
13
+ - Perform text-based and vector-based searches
14
+ - Retrieve detailed index statistics
15
+ - Delete documents and manage content
16
+
17
+ ## Environment Configuration
18
+
19
+ The Azure Search tools rely on environment variables for configuration:
20
+
21
+ ```python
22
+ # Required environment variables
23
+ AZURE_SEARCH_ENDPOINT # The endpoint URL for your Azure AI Search service
24
+ AZURE_SEARCH_API_KEY # The API key for your Azure AI Search service
25
+ AZURE_SEARCH_INDEX_NAME # Optional: A default index name to use
26
+ ```
27
+
28
+ ## Available Tools
29
+
30
+ ### Initialization
31
+
32
+ ```python
33
+ from flock.core.tools.azure_tools import azure_search_initialize_clients
34
+
35
+ # Initialize clients (uses environment variables by default)
36
+ clients = azure_search_initialize_clients()
37
+
38
+ # Or specify endpoints manually
39
+ clients = azure_search_initialize_clients(
40
+ endpoint="https://your-service.search.windows.net",
41
+ api_key="your-api-key",
42
+ index_name="your-index-name"
43
+ )
44
+ ```
45
+
46
+ ### Index Management
47
+
48
+ ```python
49
+ from flock.core.tools.azure_tools import (
50
+ azure_search_create_index,
51
+ azure_search_list_indexes,
52
+ azure_search_get_index_statistics
53
+ )
54
+ from azure.search.documents.indexes.models import (
55
+ SearchField,
56
+ SearchFieldDataType,
57
+ SimpleField,
58
+ SearchableField
59
+ )
60
+
61
+ # Create fields for the index
62
+ fields = [
63
+ SimpleField(name="id", type=SearchFieldDataType.String, key=True),
64
+ SearchableField(name="title", type=SearchFieldDataType.String),
65
+ SearchableField(name="content", type=SearchFieldDataType.String)
66
+ ]
67
+
68
+ # Create index
69
+ result = azure_search_create_index(
70
+ index_name="my-index",
71
+ fields=fields
72
+ )
73
+
74
+ # List all indexes
75
+ indexes = azure_search_list_indexes()
76
+
77
+ # Get index statistics
78
+ stats = azure_search_get_index_statistics(index_name="my-index")
79
+ ```
80
+
81
+ ### Vector Search Index Creation
82
+
83
+ ```python
84
+ from flock.core.tools.azure_tools import azure_search_create_vector_index
85
+
86
+ # Create a vector index
87
+ fields = [
88
+ {"name": "id", "type": "string", "key": True},
89
+ {"name": "title", "type": "string", "searchable": True},
90
+ {"name": "content", "type": "string", "searchable": True},
91
+ {"name": "embedding", "type": "collection", "vector": True}
92
+ ]
93
+
94
+ result = azure_search_create_vector_index(
95
+ fields=fields,
96
+ vector_dimensions=1536, # Dimensions for your vector embeddings
97
+ index_name="vector-index",
98
+ algorithm_kind="hnsw" # Using HNSW algorithm for vector search
99
+ )
100
+ ```
101
+
102
+ ### Document Management
103
+
104
+ ```python
105
+ from flock.core.tools.azure_tools import (
106
+ azure_search_upload_documents,
107
+ azure_search_get_document,
108
+ azure_search_delete_documents
109
+ )
110
+
111
+ # Upload documents
112
+ documents = [
113
+ {
114
+ "id": "doc1",
115
+ "title": "Sample Document",
116
+ "content": "This is a sample document for Azure Search."
117
+ },
118
+ {
119
+ "id": "doc2",
120
+ "title": "Another Document",
121
+ "content": "This is another sample document."
122
+ }
123
+ ]
124
+
125
+ upload_result = azure_search_upload_documents(
126
+ documents=documents,
127
+ index_name="my-index"
128
+ )
129
+
130
+ # Get a specific document
131
+ document = azure_search_get_document(
132
+ key="doc1",
133
+ index_name="my-index"
134
+ )
135
+
136
+ # Delete documents
137
+ delete_result = azure_search_delete_documents(
138
+ keys=["doc1", "doc2"],
139
+ index_name="my-index"
140
+ )
141
+ ```
142
+
143
+ ### Search and Query
144
+
145
+ ```python
146
+ from flock.core.tools.azure_tools import azure_search_query
147
+
148
+ # Text-based search
149
+ results = azure_search_query(
150
+ search_text="sample",
151
+ index_name="my-index"
152
+ )
153
+
154
+ # Filter-based search
155
+ filtered_results = azure_search_query(
156
+ filter="id eq 'doc1'",
157
+ index_name="my-index"
158
+ )
159
+
160
+ # Vector search (for vector indexes)
161
+ vector = [0.1, 0.2, 0.3, ...] # Your vector embedding
162
+ vector_results = azure_search_query(
163
+ vector=vector,
164
+ vector_field="embedding",
165
+ vector_k=10, # Return top 10 results
166
+ index_name="vector-index"
167
+ )
168
+ ```
169
+
170
+ ## Integration with Agents
171
+
172
+ Azure Search tools can be easily integrated with your Flock agents to provide powerful retrieval capabilities:
173
+
174
+ ```python
175
+ from flock import Flock, FlockFactory
176
+ from flock.core.tools.azure_tools import (
177
+ azure_search_query,
178
+ azure_search_upload_documents
179
+ )
180
+
181
+ # Create an agent with access to Azure Search tools
182
+ agent = FlockFactory.create_default_agent(
183
+ name="search_agent",
184
+ input="search_query",
185
+ output="search_results",
186
+ tools=[azure_search_query]
187
+ )
188
+
189
+ # Create a document management agent
190
+ upload_agent = FlockFactory.create_default_agent(
191
+ name="upload_agent",
192
+ input="documents_to_upload",
193
+ output="upload_status",
194
+ tools=[azure_search_upload_documents]
195
+ )
196
+
197
+ # Add to Flock
198
+ flock = Flock()
199
+ flock.add_agent(agent)
200
+ flock.add_agent(upload_agent)
201
+ ```
202
+
203
+ ## Best Practices
204
+
205
+ 1. **Environment Variables**: Use environment variables for sensitive information like API keys.
206
+ 2. **Error Handling**: Implement proper error handling when using these tools, as network requests can sometimes fail.
207
+ 3. **Batching**: When uploading large numbers of documents, consider batching them in groups of 100-1000.
208
+ 4. **Indexing Delay**: Allow a small delay (1-2 seconds) after uploading documents before searching them to ensure indexing is complete.
209
+ 5. **Vector Dimensions**: Ensure your vector dimensions match between your embeddings and the index configuration.
210
+
211
+ ## Limitations
212
+
213
+ - The maximum number of documents that can be uploaded in a single request is 1000.
214
+ - Vector search requires the appropriate SKU tier in Azure AI Search.
215
+ - Certain operations may have rate limits depending on your Azure service tier.
216
+
217
+ ## Further Resources
218
+
219
+ - [Azure AI Search Documentation](https://docs.microsoft.com/en-us/azure/search/)
220
+ - [Vector Search in Azure AI Search](https://learn.microsoft.com/en-us/azure/search/vector-search-overview)
221
+ - [Azure Python SDK Documentation](https://docs.microsoft.com/en-us/python/api/overview/azure/search-documents-readme?view=azure-python)
@@ -0,0 +1,96 @@
1
+ # Tools Overview
2
+
3
+ Flock provides a variety of tools that agents can use to interact with external systems, access specialized capabilities, and extend their functionality beyond language processing.
4
+
5
+ ## What Are Tools?
6
+
7
+ In Flock, tools are functions that agents can invoke to perform specific tasks. Unlike the agent's core language capabilities, tools allow agents to:
8
+
9
+ - Access external data sources and APIs
10
+ - Perform specialized calculations or operations
11
+ - Interact with services like databases, search engines, or vector stores
12
+ - Execute custom business logic
13
+
14
+ Tools are designed to be modular and composable, allowing you to give your agents exactly the capabilities they need for their specific tasks.
15
+
16
+ ## Available Tool Categories
17
+
18
+ Flock includes several categories of built-in tools:
19
+
20
+ 1. **Search and Retrieval Tools**
21
+ - Azure AI Search tools for document and vector search
22
+ - (More coming soon)
23
+
24
+ 2. **Utility Tools**
25
+ - Math operations
26
+ - Data processing
27
+ - File operations
28
+
29
+ 3. **Integration Tools**
30
+ - External API connectors
31
+ - Service integrations
32
+
33
+ ## Using Tools with Agents
34
+
35
+ Tools can be assigned to agents during creation:
36
+
37
+ ```python
38
+ from flock import FlockFactory
39
+ from flock.core.tools.azure_tools import azure_search_query
40
+
41
+ # Create an agent with access to the Azure Search query tool
42
+ agent = FlockFactory.create_default_agent(
43
+ name="search_agent",
44
+ input="query",
45
+ output="results",
46
+ tools=[azure_search_query]
47
+ )
48
+ ```
49
+
50
+ Agents can then use these tools during their execution cycle, calling them as needed to fulfill their tasks.
51
+
52
+ ## Creating Custom Tools
53
+
54
+ You can easily create custom tools for your specific needs:
55
+
56
+ ```python
57
+ from flock.core.logging.trace_and_logged import traced_and_logged
58
+
59
+ @traced_and_logged
60
+ def my_custom_tool(param1: str, param2: int = 0) -> dict:
61
+ """
62
+ A custom tool that performs a specific task.
63
+
64
+ Args:
65
+ param1: The first parameter
66
+ param2: The second parameter with default value
67
+
68
+ Returns:
69
+ A dictionary with the results
70
+ """
71
+ # Your tool implementation here
72
+ result = {"status": "success", "value": f"{param1} processed with {param2}"}
73
+ return result
74
+ ```
75
+
76
+ Key points for creating effective tools:
77
+
78
+ 1. Use the `@traced_and_logged` decorator for proper tracing and logging
79
+ 2. Provide clear type hints for parameters and return values
80
+ 3. Write descriptive docstrings explaining what the tool does
81
+ 4. Handle errors gracefully within the tool implementation
82
+ 5. Return structured data that agents can easily process
83
+
84
+ ## Tool Best Practices
85
+
86
+ 1. **Error Handling**: Implement proper error handling within tools to prevent agent failures
87
+ 2. **Tool Composition**: Design tools to be composable so they can be combined for complex workflows
88
+ 3. **Parameter Validation**: Validate parameters within tools to prevent incorrect usage
89
+ 4. **Documentation**: Clearly document what each tool does, its parameters, and return values
90
+ 5. **Security**: Be mindful of security implications, especially for tools that access external systems
91
+
92
+ ## Next Steps
93
+
94
+ - Explore specific tool implementations in detail in their respective documentation pages
95
+ - Learn how to create your own custom tools tailored to your specific use cases
96
+ - See examples of tools in action in the Tutorials section
@@ -83,6 +83,8 @@ web_agent = FlockFactory.create_default_agent(
83
83
  )
84
84
  ```
85
85
 
86
+ For more advanced capabilities, Flock provides specialized tools like [Azure Search integration](../core-concepts/tools/azure-tools.md) for powerful vector search and document retrieval. Check out the [Tools Overview](../core-concepts/tools/overview.md) for a comprehensive list of available tools.
87
+
86
88
  ### Modules
87
89
 
88
90
  Modules add capabilities to your agents through lifecycle hooks:
@@ -71,6 +71,7 @@ Like a hummingbird, modules are small and nimble code packages. Put enough of th
71
71
  - **Output Module** – Advanced output formatting and storage
72
72
  - **Metrics Module** – Detailed performance tracking
73
73
  - **Zep Module** – Uses Zep for Knowledge Graphs
74
+ - **Azure Search Tools** – Integration with Azure AI Search for vector search and document retrieval
74
75
 
75
76
  ---
76
77
 
@@ -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
+ )
@@ -0,0 +1,221 @@
1
+ """
2
+ Azure AI Search Tools Example with Flock Agent Framework
3
+
4
+ This example demonstrates how to use Azure AI Search tools within the Flock agent framework.
5
+ It creates agents that can:
6
+ 1. Create a search index
7
+ 2. Upload documents to the index
8
+ 3. Query the index with both text and filter criteria
9
+ 4. Process and summarize search results
10
+
11
+ Requirements:
12
+ - Set the following environment variables:
13
+ - AZURE_SEARCH_ENDPOINT: Your Azure AI Search service endpoint URL
14
+ - AZURE_SEARCH_API_KEY: Your Azure AI Search API key
15
+ """
16
+
17
+ import os
18
+ import time
19
+ import uuid
20
+ import json
21
+ from dotenv import load_dotenv
22
+
23
+ from flock.core import Flock, FlockFactory
24
+ from flock.core.logging.formatters.themes import OutputTheme
25
+ from flock.core.tools.azure_tools import (
26
+ azure_search_initialize_clients,
27
+ azure_search_create_index,
28
+ azure_search_upload_documents,
29
+ azure_search_query,
30
+ azure_search_get_document,
31
+ azure_search_delete_documents,
32
+ azure_search_list_indexes,
33
+ azure_search_get_index_statistics
34
+ )
35
+ from flock.core.tools import basic_tools
36
+
37
+ # Load environment variables from .env file
38
+ load_dotenv()
39
+
40
+ # Make sure Azure Search credentials are set
41
+ if not os.environ.get("AZURE_SEARCH_ENDPOINT") or not os.environ.get("AZURE_SEARCH_API_KEY"):
42
+ raise ValueError(
43
+ "Please set AZURE_SEARCH_ENDPOINT and AZURE_SEARCH_API_KEY environment variables"
44
+ )
45
+
46
+ # Create a unique index name for this example
47
+ timestamp = int(time.time())
48
+ random_id = str(uuid.uuid4())[:8]
49
+ INDEX_NAME = f"flock-example-{timestamp}-{random_id}"
50
+ os.environ["AZURE_SEARCH_INDEX_NAME"] = INDEX_NAME
51
+
52
+ # --------------------------------
53
+ # Create the flock
54
+ # --------------------------------
55
+ flock = Flock()
56
+
57
+ # --------------------------------
58
+ # Define our agents
59
+ # --------------------------------
60
+
61
+ # 1. Index Creator Agent
62
+ # This agent creates a search index with appropriate schema
63
+ index_creator = FlockFactory.create_default_agent(
64
+ name="index_creator",
65
+ input="index_requirements",
66
+ output="created_index_details",
67
+ tools=[
68
+ azure_search_create_index,
69
+ basic_tools.code_eval,
70
+ basic_tools.json_parse_safe
71
+ ],
72
+ enable_rich_tables=True,
73
+ output_theme=OutputTheme.adventuretime,
74
+ )
75
+
76
+ # 2. Document Uploader Agent
77
+ # This agent uploads sample documents to the search index
78
+ document_uploader = FlockFactory.create_default_agent(
79
+ name="document_uploader",
80
+ input="created_index_details, documents_to_upload",
81
+ output="upload_results",
82
+ tools=[
83
+ azure_search_upload_documents,
84
+ basic_tools.code_eval,
85
+ basic_tools.json_parse_safe
86
+ ],
87
+ enable_rich_tables=True,
88
+ output_theme=OutputTheme.adventuretime,
89
+ )
90
+
91
+ # 3. Search Agent
92
+ # This agent searches the index and processes results
93
+ search_agent = FlockFactory.create_default_agent(
94
+ name="search_agent",
95
+ input="upload_results, search_query, filter_criteria",
96
+ output="search_results: dict, relevant_documents: list, summary: str",
97
+ tools=[
98
+ azure_search_query,
99
+ azure_search_get_document,
100
+ basic_tools.code_eval,
101
+ basic_tools.json_parse_safe
102
+ ],
103
+ enable_rich_tables=True,
104
+ output_theme=OutputTheme.adventuretime,
105
+ )
106
+
107
+ # 4. Cleanup Agent (optional)
108
+ # This agent gets statistics and can delete documents if needed
109
+ cleanup_agent = FlockFactory.create_default_agent(
110
+ name="cleanup_agent",
111
+ input="search_results",
112
+ output="index_statistics: dict, cleanup_recommendation: str",
113
+ tools=[
114
+ azure_search_get_index_statistics,
115
+ azure_search_list_indexes,
116
+ azure_search_delete_documents,
117
+ basic_tools.code_eval
118
+ ],
119
+ enable_rich_tables=True,
120
+ output_theme=OutputTheme.adventuretime,
121
+ )
122
+
123
+ # --------------------------------
124
+ # Configure agent flow
125
+ # --------------------------------
126
+ # Set up the agent sequence:
127
+ # index_creator -> document_uploader -> search_agent -> cleanup_agent
128
+ from flock.routers.default.default_router import DefaultRouter, DefaultRouterConfig
129
+
130
+ index_creator.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=document_uploader.name))
131
+ document_uploader.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=search_agent.name))
132
+ search_agent.handoff_router = DefaultRouter(config=DefaultRouterConfig(hand_off=cleanup_agent.name))
133
+
134
+ # Add all agents to the flock
135
+ flock.add_agent(index_creator)
136
+ flock.add_agent(document_uploader)
137
+ flock.add_agent(search_agent)
138
+ flock.add_agent(cleanup_agent)
139
+
140
+ # --------------------------------
141
+ # Define sample data
142
+ # --------------------------------
143
+ # Define our sample documents
144
+ sample_documents = [
145
+ {
146
+ "id": "doc1",
147
+ "title": "Azure AI Search Overview",
148
+ "content": "Azure AI Search is a cloud search service with built-in AI capabilities.",
149
+ "category": "cloud",
150
+ "rating": 5
151
+ },
152
+ {
153
+ "id": "doc2",
154
+ "title": "Python Development Best Practices",
155
+ "content": "Write clean, maintainable Python code by following established best practices.",
156
+ "category": "development",
157
+ "rating": 4
158
+ },
159
+ {
160
+ "id": "doc3",
161
+ "title": "Azure and Python Integration",
162
+ "content": "Learn how to use Azure services with Python applications effectively.",
163
+ "category": "cloud",
164
+ "rating": 5
165
+ },
166
+ {
167
+ "id": "doc4",
168
+ "title": "Search Engine Optimization",
169
+ "content": "Improve your website's visibility in search engine results pages.",
170
+ "category": "marketing",
171
+ "rating": 3
172
+ },
173
+ {
174
+ "id": "doc5",
175
+ "title": "Machine Learning on Azure",
176
+ "content": "Train and deploy machine learning models using Azure ML.",
177
+ "category": "ai",
178
+ "rating": 5
179
+ }
180
+ ]
181
+
182
+ # Define index requirements
183
+ index_requirements = """
184
+ Create a search index with the following fields:
185
+ - id: string, key field
186
+ - title: string, searchable, sortable
187
+ - content: string, searchable
188
+ - category: string, filterable
189
+ - rating: integer, filterable, sortable
190
+
191
+ The index name should be dynamically set from the AZURE_SEARCH_INDEX_NAME environment variable.
192
+ """
193
+
194
+ # --------------------------------
195
+ # Run the flock
196
+ # --------------------------------
197
+ # Start the agent workflow
198
+ flock.run(
199
+ start_agent=index_creator,
200
+ input={
201
+ "index_requirements": index_requirements,
202
+ "documents_to_upload": json.dumps(sample_documents),
203
+ "search_query": "Azure cloud capabilities",
204
+ "filter_criteria": "rating eq 5"
205
+ }
206
+ )
207
+
208
+ # --------------------------------
209
+ # Cleanup
210
+ # --------------------------------
211
+ # Delete the test index after running the example
212
+ print(f"\nCleaning up: Deleting index '{INDEX_NAME}'...")
213
+ try:
214
+ clients = azure_search_initialize_clients()
215
+ index_client = clients["index_client"]
216
+ index_client.delete_index(INDEX_NAME)
217
+ print(f"Index '{INDEX_NAME}' deleted successfully.")
218
+ except Exception as e:
219
+ print(f"Warning: Failed to delete test index '{INDEX_NAME}': {e}")
220
+
221
+ print("\nExample completed!")