flock-core 0.4.0b49__tar.gz → 0.4.1__tar.gz

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

Potentially problematic release.


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

Files changed (645) hide show
  1. flock_core-0.4.1/.github/ISSUE_TEMPLATE/bug_report.yaml +27 -0
  2. flock_core-0.4.1/.github/ISSUE_TEMPLATE/documentation_improvement.yaml +17 -0
  3. flock_core-0.4.1/.github/ISSUE_TEMPLATE/feature_request.yaml +29 -0
  4. flock_core-0.4.1/.github/ISSUE_TEMPLATE/question_support_request.yaml +17 -0
  5. flock_core-0.4.1/.github/ISSUE_TEMPLATE/vulnerability_report.md +35 -0
  6. flock_core-0.4.1/.github/PULL_REQUEST_TEMPLATE.md +30 -0
  7. {flock_core-0.4.0b49 → flock_core-0.4.1}/.vscode/launch.json +2 -0
  8. {flock_core-0.4.0b49 → flock_core-0.4.1}/PKG-INFO +6 -4
  9. {flock_core-0.4.0b49 → flock_core-0.4.1}/README.md +2 -2
  10. flock_core-0.4.1/docs/core-concepts/di.md +153 -0
  11. flock_core-0.4.1/docs/wd-di.md +108 -0
  12. {flock_core-0.4.0b49 → flock_core-0.4.1}/pyproject.toml +4 -2
  13. flock_core-0.4.1/src/flock/adapter/__init__.py +14 -0
  14. flock_core-0.4.1/src/flock/adapter/azure_adapter.py +68 -0
  15. flock_core-0.4.1/src/flock/adapter/chroma_adapter.py +73 -0
  16. flock_core-0.4.1/src/flock/adapter/faiss_adapter.py +97 -0
  17. flock_core-0.4.1/src/flock/adapter/pinecone_adapter.py +51 -0
  18. flock_core-0.4.1/src/flock/adapter/vector_base.py +47 -0
  19. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/config.py +1 -1
  20. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/context/context.py +20 -0
  21. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/flock.py +71 -91
  22. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/flock_agent.py +58 -3
  23. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/flock_module.py +5 -0
  24. flock_core-0.4.1/src/flock/di.py +41 -0
  25. flock_core-0.4.1/src/flock/modules/enterprise_memory/README.md +99 -0
  26. flock_core-0.4.1/src/flock/modules/enterprise_memory/enterprise_memory_module.py +526 -0
  27. flock_core-0.4.1/src/flock/modules/mem0/mem0_module.py +126 -0
  28. flock_core-0.4.1/src/flock/modules/mem0_async/async_mem0_module.py +126 -0
  29. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/memory/memory_module.py +28 -8
  30. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/performance/metrics_module.py +24 -1
  31. flock_core-0.4.1/src/flock/modules/zep/__init__.py +1 -0
  32. flock_core-0.4.1/src/flock/modules/zep/zep_module.py +192 -0
  33. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/api/execution.py +108 -73
  34. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/chat.py +96 -12
  35. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/config.py +1 -1
  36. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/main.py +14 -12
  37. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/services/sharing_models.py +38 -0
  38. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/services/sharing_store.py +60 -1
  39. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/static/css/chat.css +2 -0
  40. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/base.html +91 -1
  41. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/chat.html +64 -1
  42. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_agent_detail_form.html +3 -3
  43. flock_core-0.4.1/src/flock/webapp/templates/partials/_chat_messages.html +59 -0
  44. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_flock_properties_form.html +2 -2
  45. flock_core-0.4.1/src/flock/webapp/templates/partials/_results_display.html +78 -0
  46. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_structured_data_view.html +2 -2
  47. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/shared_run_page.html +27 -0
  48. flock_core-0.4.1/tests/modules/test_enterprise_memory_store.py +48 -0
  49. flock_core-0.4.1/tests/modules/test_vector_adapters.py +40 -0
  50. {flock_core-0.4.0b49 → flock_core-0.4.1}/uv.lock +32 -5
  51. flock_core-0.4.0b49/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -27
  52. flock_core-0.4.0b49/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -29
  53. flock_core-0.4.0b49/.github/ISSUE_TEMPLATE/vulnerability_report.md +0 -85
  54. flock_core-0.4.0b49/.github/PULL_REQUEST_TEMPLATE.yaml +0 -45
  55. flock_core-0.4.0b49/main.md +0 -54
  56. flock_core-0.4.0b49/src/flock/modules/mem0/mem0_module.py +0 -63
  57. flock_core-0.4.0b49/src/flock/modules/mem0graph/mem0_graph_module.py +0 -63
  58. flock_core-0.4.0b49/src/flock/webapp/templates/partials/_chat_messages.html +0 -13
  59. flock_core-0.4.0b49/src/flock/webapp/templates/partials/_results_display.html +0 -35
  60. {flock_core-0.4.0b49 → flock_core-0.4.1}/.devcontainer/devcontainer.json +0 -0
  61. {flock_core-0.4.0b49 → flock_core-0.4.1}/.env_template +0 -0
  62. {flock_core-0.4.0b49 → flock_core-0.4.1}/.github/workflows/.gitkeep +0 -0
  63. {flock_core-0.4.0b49 → flock_core-0.4.1}/.github/workflows/deploy-documentation.yml +0 -0
  64. {flock_core-0.4.0b49 → flock_core-0.4.1}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  65. {flock_core-0.4.0b49 → flock_core-0.4.1}/.gitignore +0 -0
  66. {flock_core-0.4.0b49 → flock_core-0.4.1}/.gitmodules +0 -0
  67. {flock_core-0.4.0b49 → flock_core-0.4.1}/.vscode/settings.json +0 -0
  68. {flock_core-0.4.0b49 → flock_core-0.4.1}/.vscode/tasks.json +0 -0
  69. {flock_core-0.4.0b49 → flock_core-0.4.1}/CODE_OF_CONDUCT.md +0 -0
  70. {flock_core-0.4.0b49 → flock_core-0.4.1}/CONTRIBUTING.md +0 -0
  71. {flock_core-0.4.0b49 → flock_core-0.4.1}/LICENSE +0 -0
  72. {flock_core-0.4.0b49 → flock_core-0.4.1}/SECURITY.md +0 -0
  73. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/about/changelog.md +0 -0
  74. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/about/contributing.md +0 -0
  75. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/drawio/architecture.drawio +0 -0
  76. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/cli_outputs/out.png +0 -0
  77. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/components_chart.png +0 -0
  78. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/examples/01_01.png +0 -0
  79. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/examples/01_02.png +0 -0
  80. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/examples/01_03.png +0 -0
  81. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/examples/01_04.png +0 -0
  82. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/examples/01_05.png +0 -0
  83. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/examples/01_06.png +0 -0
  84. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/flock.png +0 -0
  85. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/flock_cli.png +0 -0
  86. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/flow_chart.png +0 -0
  87. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  88. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/hummingbird.png +0 -0
  89. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/icon.png +0 -0
  90. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/icon.png~ +0 -0
  91. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/logo.png +0 -0
  92. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/memory_concepts.png +0 -0
  93. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/memory_flow.png +0 -0
  94. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/assets/images/memory_flow_chart.png +0 -0
  95. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/components/evaluators.md +0 -0
  96. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/components/index.md +0 -0
  97. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/components/modules.md +0 -0
  98. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/components/tools.md +0 -0
  99. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/core-concepts/agents.md +0 -0
  100. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/core-concepts/declarative.md +0 -0
  101. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/core-concepts/index.md +0 -0
  102. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/core-concepts/workflows.md +0 -0
  103. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/create_doc_boilerplate.py +0 -0
  104. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/deployment/index.md +0 -0
  105. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/deployment/temporal.md +0 -0
  106. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/getting-started/concepts.md +0 -0
  107. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/getting-started/configuration.md +0 -0
  108. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/getting-started/index.md +0 -0
  109. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/getting-started/installation.md +0 -0
  110. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/getting-started/quickstart.md +0 -0
  111. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/guides/chaining-agents.md +0 -0
  112. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/guides/custom-endpoints.md +0 -0
  113. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/guides/index.md +0 -0
  114. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/guides/temporal-configuration.md +0 -0
  115. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/index.md +0 -0
  116. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/interacting-with-flock/cli-tool.md +0 -0
  117. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/interacting-with-flock/index.md +0 -0
  118. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/interacting-with-flock/interactive-cli.md +0 -0
  119. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/interacting-with-flock/programmatic.md +0 -0
  120. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/interacting-with-flock/rest-api.md +0 -0
  121. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/interacting-with-flock/web-ui.md +0 -0
  122. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/reference/flock_agent.md +0 -0
  123. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/reference/index.md +0 -0
  124. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/release-notes/magpie.md +0 -0
  125. {flock_core-0.4.0b49 → flock_core-0.4.1}/docs/stylesheets/extra.css +0 -0
  126. {flock_core-0.4.0b49 → flock_core-0.4.1}/mkdocs.yml +0 -0
  127. {flock_core-0.4.0b49 → flock_core-0.4.1}/requirements.txt +0 -0
  128. {flock_core-0.4.0b49 → flock_core-0.4.1}/scripts/code_collector.py +0 -0
  129. {flock_core-0.4.0b49 → flock_core-0.4.1}/scripts/create_docs.py +0 -0
  130. {flock_core-0.4.0b49 → flock_core-0.4.1}/scripts/ensure_uv.py +0 -0
  131. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/__init__.py +0 -0
  132. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/assets/release_notes.md +0 -0
  133. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/config.py +0 -0
  134. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/constants.py +0 -0
  135. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/create_agent.py +0 -0
  136. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/create_flock.py +0 -0
  137. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/execute_flock.py +0 -0
  138. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/load_agent.py +0 -0
  139. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/load_examples.py +0 -0
  140. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/load_flock.py +0 -0
  141. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/load_release_notes.py +0 -0
  142. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/loaded_flock_cli.py +0 -0
  143. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/manage_agents.py +0 -0
  144. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/registry_management.py +0 -0
  145. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/runner.py +0 -0
  146. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/settings.py +0 -0
  147. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/utils.py +0 -0
  148. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/view_results.py +0 -0
  149. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/cli/yaml_editor.py +0 -0
  150. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/__init__.py +0 -0
  151. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/__init__.py +0 -0
  152. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/custom_endpoint.py +0 -0
  153. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/endpoints.py +0 -0
  154. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/main.py +0 -0
  155. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/models.py +0 -0
  156. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/run_store.py +0 -0
  157. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/runner.py +0 -0
  158. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/service.py +0 -0
  159. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/ui/__init__.py +0 -0
  160. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/ui/routes.py +0 -0
  161. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/api/ui/utils.py +0 -0
  162. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/context/context_manager.py +0 -0
  163. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/context/context_vars.py +0 -0
  164. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/evaluation/utils.py +0 -0
  165. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/execution/batch_executor.py +0 -0
  166. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/execution/evaluation_executor.py +0 -0
  167. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/execution/local_executor.py +0 -0
  168. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/execution/temporal_executor.py +0 -0
  169. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/flock_evaluator.py +0 -0
  170. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/flock_factory.py +0 -0
  171. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/flock_registry.py +0 -0
  172. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/flock_router.py +0 -0
  173. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/interpreter/python_interpreter.py +0 -0
  174. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/__init__.py +0 -0
  175. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  176. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  177. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  178. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/formatters/themes.py +0 -0
  179. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/logging.py +0 -0
  180. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  181. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/telemetry.py +0 -0
  182. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  183. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  184. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  185. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/logging/trace_and_logged.py +0 -0
  186. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/mixin/dspy_integration.py +0 -0
  187. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/mixin/prompt_parser.py +0 -0
  188. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/serialization/__init__.py +0 -0
  189. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/serialization/callable_registry.py +0 -0
  190. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/serialization/flock_serializer.py +0 -0
  191. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/serialization/json_encoder.py +0 -0
  192. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/serialization/secure_serializer.py +0 -0
  193. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/serialization/serializable.py +0 -0
  194. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/serialization/serialization_utils.py +0 -0
  195. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/util/cli_helper.py +0 -0
  196. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/util/file_path_utils.py +0 -0
  197. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/util/hydrator.py +0 -0
  198. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/util/input_resolver.py +0 -0
  199. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/util/loader.py +0 -0
  200. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/core/util/spliter.py +0 -0
  201. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/evaluators/__init__.py +0 -0
  202. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/evaluators/declarative/__init__.py +0 -0
  203. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  204. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  205. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/evaluators/test/test_case_evaluator.py +0 -0
  206. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  207. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/__init__.py +0 -0
  208. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/assertion/__init__.py +0 -0
  209. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/assertion/assertion_module.py +0 -0
  210. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/callback/__init__.py +0 -0
  211. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/callback/callback_module.py +0 -0
  212. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/mem0/__init__.py +0 -0
  213. {flock_core-0.4.0b49/src/flock/modules/mem0graph → flock_core-0.4.1/src/flock/modules/mem0_async}/__init__.py +0 -0
  214. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/memory/__init__.py +0 -0
  215. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/memory/memory_parser.py +0 -0
  216. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/memory/memory_storage.py +0 -0
  217. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/output/__init__.py +0 -0
  218. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/output/output_module.py +0 -0
  219. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/modules/performance/__init__.py +0 -0
  220. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/platform/docker_tools.py +0 -0
  221. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/platform/jaeger_install.py +0 -0
  222. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/__init__.py +0 -0
  223. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/agent/__init__.py +0 -0
  224. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/agent/agent_router.py +0 -0
  225. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/agent/handoff_agent.py +0 -0
  226. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/conditional/conditional_router.py +0 -0
  227. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/default/__init__.py +0 -0
  228. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/default/default_router.py +0 -0
  229. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/feedback/feedback_router.py +0 -0
  230. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/list_generator/list_generator_router.py +0 -0
  231. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/llm/__init__.py +0 -0
  232. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/routers/llm/llm_router.py +0 -0
  233. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/3024-day.toml +0 -0
  234. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/3024-night.toml +0 -0
  235. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/aardvark-blue.toml +0 -0
  236. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/abernathy.toml +0 -0
  237. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/adventure.toml +0 -0
  238. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/adventuretime.toml +0 -0
  239. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/afterglow.toml +0 -0
  240. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/alabaster.toml +0 -0
  241. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/alienblood.toml +0 -0
  242. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/andromeda.toml +0 -0
  243. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/apple-classic.toml +0 -0
  244. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/apple-system-colors.toml +0 -0
  245. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/arcoiris.toml +0 -0
  246. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/argonaut copy.toml +0 -0
  247. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/argonaut.toml +0 -0
  248. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/arthur.toml +0 -0
  249. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ateliersulphurpool.toml +0 -0
  250. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/atom.toml +0 -0
  251. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/atom_test.toml +0 -0
  252. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/atomonelight.toml +0 -0
  253. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/aurora.toml +0 -0
  254. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ayu copy.toml +0 -0
  255. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ayu-light.toml +0 -0
  256. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ayu-mirage.toml +0 -0
  257. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ayu.toml +0 -0
  258. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/banana-blueberry.toml +0 -0
  259. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/batman.toml +0 -0
  260. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/belafonte-day.toml +0 -0
  261. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/belafonte-night.toml +0 -0
  262. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/birdsofparadise.toml +0 -0
  263. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/blazer.toml +0 -0
  264. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/blue-matrix.toml +0 -0
  265. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/blueberrypie.toml +0 -0
  266. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/bluedolphin.toml +0 -0
  267. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/blulocodark.toml +0 -0
  268. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/blulocolight.toml +0 -0
  269. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/borland.toml +0 -0
  270. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/breeze.toml +0 -0
  271. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/bright-lights.toml +0 -0
  272. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/broadcast.toml +0 -0
  273. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/brogrammer.toml +0 -0
  274. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/builtin-dark.toml +0 -0
  275. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/builtin-light.toml +0 -0
  276. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  277. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  278. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/builtin-solarized-light.toml +0 -0
  279. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/builtin-tango-dark.toml +0 -0
  280. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/builtin-tango-light.toml +0 -0
  281. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/c64.toml +0 -0
  282. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/calamity.toml +0 -0
  283. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/catppuccin-frappe.toml +0 -0
  284. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/catppuccin-latte.toml +0 -0
  285. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  286. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/catppuccin-mocha.toml +0 -0
  287. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/cga.toml +0 -0
  288. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/chalk.toml +0 -0
  289. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/chalkboard.toml +0 -0
  290. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/challengerdeep.toml +0 -0
  291. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/chester.toml +0 -0
  292. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ciapre.toml +0 -0
  293. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/clrs.toml +0 -0
  294. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/cobalt-neon.toml +0 -0
  295. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/cobalt2.toml +0 -0
  296. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/coffee-theme.toml +0 -0
  297. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/crayonponyfish.toml +0 -0
  298. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/cutiepro.toml +0 -0
  299. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/cyberdyne.toml +0 -0
  300. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/cyberpunk.toml +0 -0
  301. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  302. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dark+.toml +0 -0
  303. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dark-pastel.toml +0 -0
  304. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/darkermatrix.toml +0 -0
  305. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/darkmatrix.toml +0 -0
  306. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/darkside.toml +0 -0
  307. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dayfox.toml +0 -0
  308. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/deep.toml +0 -0
  309. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/desert.toml +0 -0
  310. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dimidium.toml +0 -0
  311. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dimmedmonokai.toml +0 -0
  312. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/django.toml +0 -0
  313. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/djangorebornagain.toml +0 -0
  314. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/djangosmooth.toml +0 -0
  315. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/doom-peacock.toml +0 -0
  316. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/doomone.toml +0 -0
  317. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dotgov.toml +0 -0
  318. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dracula+.toml +0 -0
  319. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/dracula.toml +0 -0
  320. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/duckbones.toml +0 -0
  321. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/duotone-dark.toml +0 -0
  322. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/earthsong.toml +0 -0
  323. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/elemental.toml +0 -0
  324. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/elementary.toml +0 -0
  325. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/encom.toml +0 -0
  326. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/espresso-libre.toml +0 -0
  327. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/espresso.toml +0 -0
  328. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/everblush.toml +0 -0
  329. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/fahrenheit.toml +0 -0
  330. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/fairyfloss.toml +0 -0
  331. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/farmhouse-dark.toml +0 -0
  332. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/farmhouse-light.toml +0 -0
  333. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/fideloper.toml +0 -0
  334. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/firefly-traditional.toml +0 -0
  335. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/firefoxdev.toml +0 -0
  336. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/firewatch.toml +0 -0
  337. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/fishtank.toml +0 -0
  338. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/flat.toml +0 -0
  339. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/flatland.toml +0 -0
  340. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/flexoki-dark.toml +0 -0
  341. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/flexoki-light.toml +0 -0
  342. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/floraverse.toml +0 -0
  343. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/forestblue.toml +0 -0
  344. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/framer.toml +0 -0
  345. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/frontenddelight.toml +0 -0
  346. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/funforrest.toml +0 -0
  347. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/galaxy.toml +0 -0
  348. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/galizur.toml +0 -0
  349. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/github-dark.toml +0 -0
  350. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/github.toml +0 -0
  351. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/glacier.toml +0 -0
  352. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/grape.toml +0 -0
  353. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/grass.toml +0 -0
  354. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/grey-green.toml +0 -0
  355. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/gruber-darker.toml +0 -0
  356. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/gruvboxdark.toml +0 -0
  357. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  358. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/gruvboxlight.toml +0 -0
  359. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/guezwhoz.toml +0 -0
  360. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hacktober.toml +0 -0
  361. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hardcore.toml +0 -0
  362. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/harper.toml +0 -0
  363. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hax0r-blue.toml +0 -0
  364. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hax0r-gr33n.toml +0 -0
  365. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hax0r-r3d.toml +0 -0
  366. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/highway.toml +0 -0
  367. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hipster-green.toml +0 -0
  368. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hivacruz.toml +0 -0
  369. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/homebrew.toml +0 -0
  370. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hopscotch.256.toml +0 -0
  371. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hopscotch.toml +0 -0
  372. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hurtado.toml +0 -0
  373. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/hybrid.toml +0 -0
  374. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ic-green-ppl.toml +0 -0
  375. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ic-orange-ppl.toml +0 -0
  376. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iceberg-dark.toml +0 -0
  377. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iceberg-light.toml +0 -0
  378. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/idea.toml +0 -0
  379. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/idletoes.toml +0 -0
  380. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ir-black.toml +0 -0
  381. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-dark-background.toml +0 -0
  382. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-default.toml +0 -0
  383. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-light-background.toml +0 -0
  384. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  385. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  386. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  387. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  388. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  389. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/iterm2-tango-light.toml +0 -0
  390. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/jackie-brown.toml +0 -0
  391. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/japanesque.toml +0 -0
  392. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/jellybeans.toml +0 -0
  393. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/jetbrains-darcula.toml +0 -0
  394. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/jubi.toml +0 -0
  395. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/kanagawabones.toml +0 -0
  396. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/kibble.toml +0 -0
  397. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/kolorit.toml +0 -0
  398. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/konsolas.toml +0 -0
  399. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/kurokula.toml +0 -0
  400. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/lab-fox.toml +0 -0
  401. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/laser.toml +0 -0
  402. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/later-this-evening.toml +0 -0
  403. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/lavandula.toml +0 -0
  404. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/liquidcarbon.toml +0 -0
  405. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  406. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  407. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/lovelace.toml +0 -0
  408. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/man-page.toml +0 -0
  409. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/mariana.toml +0 -0
  410. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/material.toml +0 -0
  411. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/materialdark.toml +0 -0
  412. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/materialdarker.toml +0 -0
  413. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/materialdesigncolors.toml +0 -0
  414. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/materialocean.toml +0 -0
  415. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/mathias.toml +0 -0
  416. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/matrix.toml +0 -0
  417. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/medallion.toml +0 -0
  418. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/mellifluous.toml +0 -0
  419. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/midnight-in-mojave.toml +0 -0
  420. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/mirage.toml +0 -0
  421. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/misterioso.toml +0 -0
  422. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/molokai.toml +0 -0
  423. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/monalisa.toml +0 -0
  424. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/monokai-remastered.toml +0 -0
  425. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/monokai-soda.toml +0 -0
  426. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/monokai-vivid.toml +0 -0
  427. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/n0tch2k.toml +0 -0
  428. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/neobones-dark.toml +0 -0
  429. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/neobones-light.toml +0 -0
  430. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/neon.toml +0 -0
  431. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/neopolitan.toml +0 -0
  432. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/neutron.toml +0 -0
  433. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/night-owlish-light.toml +0 -0
  434. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nightfox.toml +0 -0
  435. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nightlion-v1.toml +0 -0
  436. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nightlion-v2.toml +0 -0
  437. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/niji.toml +0 -0
  438. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nocturnal-winter.toml +0 -0
  439. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nord-light.toml +0 -0
  440. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nord.toml +0 -0
  441. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/novel.toml +0 -0
  442. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nvimdark.toml +0 -0
  443. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/nvimlight.toml +0 -0
  444. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/obsidian.toml +0 -0
  445. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ocean.toml +0 -0
  446. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/oceanic-next.toml +0 -0
  447. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/oceanicmaterial.toml +0 -0
  448. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ollie.toml +0 -0
  449. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/onehalfdark.toml +0 -0
  450. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/onehalflight.toml +0 -0
  451. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/operator-mono-dark.toml +0 -0
  452. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/overnight-slumber.toml +0 -0
  453. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/oxocarbon.toml +0 -0
  454. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/palenighthc.toml +0 -0
  455. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/pandora.toml +0 -0
  456. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/paraiso-dark.toml +0 -0
  457. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/paulmillr.toml +0 -0
  458. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/pencildark.toml +0 -0
  459. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/pencillight.toml +0 -0
  460. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/peppermint.toml +0 -0
  461. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/piatto-light.toml +0 -0
  462. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/pnevma.toml +0 -0
  463. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/popping-and-locking.toml +0 -0
  464. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/primary.toml +0 -0
  465. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/pro-light.toml +0 -0
  466. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/pro.toml +0 -0
  467. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/purple-rain.toml +0 -0
  468. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/purplepeter.toml +0 -0
  469. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/rapture.toml +0 -0
  470. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/raycast-dark.toml +0 -0
  471. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/raycast-light.toml +0 -0
  472. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/rebecca.toml +0 -0
  473. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/red-alert.toml +0 -0
  474. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/red-planet.toml +0 -0
  475. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/red-sands.toml +0 -0
  476. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/relaxed.toml +0 -0
  477. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/retro.toml +0 -0
  478. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/rippedcasts.toml +0 -0
  479. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/rose-pine-dawn.toml +0 -0
  480. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/rose-pine-moon.toml +0 -0
  481. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/rose-pine.toml +0 -0
  482. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/rouge-2.toml +0 -0
  483. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/royal.toml +0 -0
  484. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ryuuko.toml +0 -0
  485. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/sakura.toml +0 -0
  486. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/scarlet-protocol.toml +0 -0
  487. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/seafoam-pastel.toml +0 -0
  488. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/seashells.toml +0 -0
  489. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/seoulbones-dark.toml +0 -0
  490. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/seoulbones-light.toml +0 -0
  491. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/seti.toml +0 -0
  492. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/shades-of-purple.toml +0 -0
  493. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/shaman.toml +0 -0
  494. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/slate.toml +0 -0
  495. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/sleepyhollow.toml +0 -0
  496. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/smyck.toml +0 -0
  497. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/snazzy.toml +0 -0
  498. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/softserver.toml +0 -0
  499. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/solarized-darcula.toml +0 -0
  500. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/solarized-dark---patched.toml +0 -0
  501. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  502. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/spacedust.toml +0 -0
  503. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  504. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/spacegray-eighties.toml +0 -0
  505. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/spacegray.toml +0 -0
  506. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/spiderman.toml +0 -0
  507. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/spring.toml +0 -0
  508. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/square.toml +0 -0
  509. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/sublette.toml +0 -0
  510. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/subliminal.toml +0 -0
  511. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/sugarplum.toml +0 -0
  512. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/sundried.toml +0 -0
  513. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/symfonic.toml +0 -0
  514. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/synthwave-everything.toml +0 -0
  515. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/synthwave.toml +0 -0
  516. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/synthwavealpha.toml +0 -0
  517. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tango-adapted.toml +0 -0
  518. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tango-half-adapted.toml +0 -0
  519. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/teerb.toml +0 -0
  520. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/terafox.toml +0 -0
  521. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/terminal-basic.toml +0 -0
  522. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/thayer-bright.toml +0 -0
  523. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/the-hulk.toml +0 -0
  524. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  525. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tinacious-design-(light).toml +0 -0
  526. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tokyonight-day.toml +0 -0
  527. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tokyonight-storm.toml +0 -0
  528. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tokyonight.toml +0 -0
  529. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  530. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  531. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  532. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  533. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tomorrow-night.toml +0 -0
  534. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/tomorrow.toml +0 -0
  535. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/toychest.toml +0 -0
  536. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/treehouse.toml +0 -0
  537. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/twilight.toml +0 -0
  538. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ubuntu.toml +0 -0
  539. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ultradark.toml +0 -0
  540. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/ultraviolent.toml +0 -0
  541. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/underthesea.toml +0 -0
  542. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/unikitty.toml +0 -0
  543. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/urple.toml +0 -0
  544. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/vaughn.toml +0 -0
  545. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/vesper.toml +0 -0
  546. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/vibrantink.toml +0 -0
  547. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/vimbones.toml +0 -0
  548. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/violet-dark.toml +0 -0
  549. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/violet-light.toml +0 -0
  550. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/warmneon.toml +0 -0
  551. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/wez.toml +0 -0
  552. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/whimsy.toml +0 -0
  553. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/wildcherry.toml +0 -0
  554. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/wilmersdorf.toml +0 -0
  555. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/wombat.toml +0 -0
  556. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/wryan.toml +0 -0
  557. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/xcodedark.toml +0 -0
  558. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/xcodedarkhc.toml +0 -0
  559. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/xcodelight.toml +0 -0
  560. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/xcodelighthc.toml +0 -0
  561. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/xcodewwdc.toml +0 -0
  562. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/zenbones-dark.toml +0 -0
  563. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/zenbones-light.toml +0 -0
  564. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/zenbones.toml +0 -0
  565. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/zenburn.toml +0 -0
  566. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/zenburned.toml +0 -0
  567. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/zenwritten-dark.toml +0 -0
  568. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/themes/zenwritten-light.toml +0 -0
  569. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/__init__.py +0 -0
  570. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/azure_tools.py +0 -0
  571. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/code_tools.py +0 -0
  572. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/file_tools.py +0 -0
  573. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/github_tools.py +0 -0
  574. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/markdown_tools.py +0 -0
  575. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/system_tools.py +0 -0
  576. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/text_tools.py +0 -0
  577. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/web_tools.py +0 -0
  578. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/tools/zendesk_tools.py +0 -0
  579. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/__init__.py +0 -0
  580. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/__init__.py +0 -0
  581. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/api/__init__.py +0 -0
  582. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/api/agent_management.py +0 -0
  583. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/api/flock_management.py +0 -0
  584. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/api/registry_viewer.py +0 -0
  585. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/dependencies.py +0 -0
  586. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/models_ui.py +0 -0
  587. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/services/__init__.py +0 -0
  588. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/services/flock_service.py +0 -0
  589. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/templates/theme_mapper.html +0 -0
  590. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/theme_mapper.py +0 -0
  591. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/app/utils.py +0 -0
  592. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/run.py +0 -0
  593. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/static/css/components.css +0 -0
  594. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/static/css/header.css +0 -0
  595. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/static/css/layout.css +0 -0
  596. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/static/css/sidebar.css +0 -0
  597. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/chat_settings.html +0 -0
  598. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/flock_editor.html +0 -0
  599. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/index.html +0 -0
  600. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_agent_list.html +0 -0
  601. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_agent_manager_view.html +0 -0
  602. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_agent_tools_checklist.html +0 -0
  603. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_chat_container.html +0 -0
  604. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_chat_settings_form.html +0 -0
  605. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_create_flock_form.html +0 -0
  606. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_dashboard_flock_detail.html +0 -0
  607. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_dashboard_flock_file_list.html +0 -0
  608. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +0 -0
  609. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_dashboard_upload_flock_form.html +0 -0
  610. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_dynamic_input_form_content.html +0 -0
  611. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_env_vars_table.html +0 -0
  612. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_execution_form.html +0 -0
  613. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_execution_view_container.html +0 -0
  614. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_flock_file_list.html +0 -0
  615. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_flock_upload_form.html +0 -0
  616. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_header_flock_status.html +0 -0
  617. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_load_manager_view.html +0 -0
  618. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_registry_table.html +0 -0
  619. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_registry_viewer_content.html +0 -0
  620. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_settings_env_content.html +0 -0
  621. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_settings_theme_content.html +0 -0
  622. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_settings_view.html +0 -0
  623. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_share_chat_link_snippet.html +0 -0
  624. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_share_link_snippet.html +0 -0
  625. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_sidebar.html +0 -0
  626. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/partials/_theme_preview.html +0 -0
  627. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/webapp/templates/registry_viewer.html +0 -0
  628. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/workflow/__init__.py +0 -0
  629. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/workflow/activities.py +0 -0
  630. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/workflow/agent_activities.py +0 -0
  631. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/workflow/agent_execution_activity.py +0 -0
  632. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/workflow/flock_workflow.py +0 -0
  633. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/workflow/temporal_config.py +0 -0
  634. {flock_core-0.4.0b49 → flock_core-0.4.1}/src/flock/workflow/temporal_setup.py +0 -0
  635. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/__init__.py +0 -0
  636. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/api/test_custom_endpoints.py +0 -0
  637. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/core/test_flock_batch.py +0 -0
  638. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/core/test_flock_core.py +0 -0
  639. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/serialization/__init__.py +0 -0
  640. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/serialization/test_enhanced_serialization.py +0 -0
  641. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/serialization/test_file_path_serialization.py +0 -0
  642. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/serialization/test_flock_serializer.py +0 -0
  643. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/serialization/test_nested_serialization.py +0 -0
  644. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/serialization/test_yaml_serialization.py +0 -0
  645. {flock_core-0.4.0b49 → flock_core-0.4.1}/tests/tools/test_zendesk_tools.py +0 -0
@@ -0,0 +1,27 @@
1
+ name: 🐞 Bug Report
2
+ description: File a Bug Report to help us improve
3
+ title: "🐞 [BUG] <title>"
4
+ labels: ["bug"]
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: Describe the bug
9
+ description: A clear and concise description of what the bug is.
10
+ validations:
11
+ required: true
12
+ - type: textarea
13
+ attributes:
14
+ label: To Reproduce
15
+ description: Describe how to reproduce the bug.
16
+ validations:
17
+ required: true
18
+ - type: textarea
19
+ attributes:
20
+ label: Expected behavior
21
+ description: A clear and concise description of what you expected to happen.
22
+ validations:
23
+ required: true
24
+ - type: textarea
25
+ attributes:
26
+ label: Screenshots/Logs
27
+ description: If applicable, add screenshots and console output to help explain your problem. (You can drag and drop files here).
@@ -0,0 +1,17 @@
1
+ name: 📚 Documentation Improvement
2
+ description: Suggest improvements or report issues in the documentation
3
+ title: "📚 [DOCS] <title>"
4
+ labels: ["documentation"]
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: What is unclear or incorrect?
9
+ description: Describe the issue or suggestion for improvement.
10
+ validations:
11
+ required: true
12
+ - type: textarea
13
+ attributes:
14
+ label: Suggested improvement
15
+ description: How could the documentation be improved?
16
+ validations:
17
+ required: false
@@ -0,0 +1,29 @@
1
+ name: 🆕 Feature Request
2
+ description: Suggest an idea for this project
3
+ title: "🆕 [FEATURE] <title>"
4
+ labels: ["enhancement"]
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: Is your feature request related to a problem?
9
+ description: Please describe. A clear and concise description of what the problem is.
10
+ validations:
11
+ required: false
12
+ - type: textarea
13
+ attributes:
14
+ label: Describe the solution you want to see
15
+ description: A clear and concise description of what you want to happen.
16
+ validations:
17
+ required: false
18
+ - type: textarea
19
+ attributes:
20
+ label: Describe alternatives you have considered
21
+ description: A clear and concise description of any alternative solutions or features you have considered.
22
+ validations:
23
+ required: false
24
+ - type: textarea
25
+ attributes:
26
+ label: Additional context
27
+ description: Add any other context or code snippets about the feature request here.
28
+ validations:
29
+ required: false
@@ -0,0 +1,17 @@
1
+ name: ❓ Question
2
+ description: Ask a question or request support
3
+ title: "❓ [QUESTION] <title>"
4
+ labels: ["question"]
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: Your question
9
+ description: Please describe your question as clearly as possible.
10
+ validations:
11
+ required: true
12
+ - type: textarea
13
+ attributes:
14
+ label: Context
15
+ description: Add any relevant context, code examples, or screenshots.
16
+ validations:
17
+ required: false
@@ -0,0 +1,35 @@
1
+ name: 🚨 Security Vulnerability
2
+ description: Report a security vulnerability
3
+ title: "🚨 [SECURITY] <title>"
4
+ labels: ["security"]
5
+ body:
6
+ - type: textarea
7
+ attributes:
8
+ label: Vulnerability description
9
+ description: Please describe the vulnerability in detail.
10
+ validations:
11
+ required: true
12
+ - type: textarea
13
+ attributes:
14
+ label: Steps to reproduce
15
+ description: How can we reproduce the vulnerability?
16
+ validations:
17
+ required: true
18
+ - type: textarea
19
+ attributes:
20
+ label: Impact
21
+ description: What is the potential impact of this vulnerability?
22
+ validations:
23
+ required: false
24
+ - type: textarea
25
+ attributes:
26
+ label: Suggested mitigation
27
+ description: Do you have any suggestions for how to fix this?
28
+ validations:
29
+ required: false
30
+ - type: textarea
31
+ attributes:
32
+ label: Additional context
33
+ description: Any other information you want to share?
34
+ validations:
35
+ required: false
@@ -0,0 +1,30 @@
1
+ ## 🔄 Pull Request
2
+
3
+ ### Describe your Pull Request
4
+ A clear and concise description of what the Pull Request is about.
5
+
6
+ ---
7
+
8
+ ### Is there an existing issue for this?
9
+ - [ ] Existing Issue
10
+
11
+ If yes, please specify:
12
+
13
+ **Label/Name of the existing issue (if applicable):**
14
+ <!-- Write here -->
15
+
16
+ ---
17
+
18
+ ### Please select relevant options:
19
+ - [ ] Bug fix (non-breaking change which fixes an issue)
20
+ - [ ] New feature (non-breaking change which adds functionality)
21
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
22
+ - [ ] Documentation Improvement
23
+
24
+ ---
25
+
26
+ ### Checklist
27
+ - [ ] My code follows the style guidelines of this project
28
+ - [ ] I have made corresponding changes to the documentation
29
+ - [ ] I have added tests that prove my fix is effective or that my feature works
30
+ - [ ] I have checked my code and corrected any misspellings
@@ -6,12 +6,14 @@
6
6
  "type": "debugpy",
7
7
  "request": "launch",
8
8
  "justMyCode": false,
9
+ "subProcess": true,
9
10
  "program": "${file}",
10
11
  "console": "integratedTerminal"
11
12
  },
12
13
  {
13
14
  "name": "Attach to debugpy",
14
15
  "type": "python",
16
+ "subProcess": true,
15
17
  "request": "attach",
16
18
  "connect": {
17
19
  "host": "localhost",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.4.0b49
3
+ Version: 0.4.1
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -21,7 +21,7 @@ Requires-Dist: litellm==1.69.3
21
21
  Requires-Dist: loguru>=0.7.3
22
22
  Requires-Dist: markdown2>=2.5.3
23
23
  Requires-Dist: matplotlib>=3.10.0
24
- Requires-Dist: mem0ai[graph]>=0.1.100
24
+ Requires-Dist: mem0ai[graph]>=0.1.101
25
25
  Requires-Dist: msgpack>=1.1.0
26
26
  Requires-Dist: notion-client>=2.3.0
27
27
  Requires-Dist: openai==1.75.0
@@ -50,6 +50,8 @@ Requires-Dist: tiktoken>=0.8.0
50
50
  Requires-Dist: toml>=0.10.2
51
51
  Requires-Dist: tqdm>=4.67.1
52
52
  Requires-Dist: uvicorn>=0.34.0
53
+ Requires-Dist: wd-di>=0.2.14
54
+ Requires-Dist: zep-python>=2.0.2
53
55
  Provides-Extra: all-tools
54
56
  Requires-Dist: azure-identity>=1.23.0; extra == 'all-tools'
55
57
  Requires-Dist: azure-search-documents>=11.5.2; extra == 'all-tools'
@@ -91,7 +93,7 @@ Description-Content-Type: text/markdown
91
93
 
92
94
  🐤 `pip install flock-core` will install the latest non-beta version 🐤
93
95
 
94
- 🐤 Expected Release for 0.4.0 `Magpie`: End of April 2025 🐤
96
+ 🐤 The 0.4.0 Magpie release is in the works! 🐤
95
97
 
96
98
  ---
97
99
 
@@ -296,7 +298,7 @@ Flock makes this easy with:
296
298
  * **Declarative Configuration:** Define Temporal timeouts, retry policies, and task queues directly within your `Flock` and `FlockAgent` configurations (YAML or Python).
297
299
  * **Correct Patterns:** Uses Temporal's recommended granular activity execution for better control and visibility.
298
300
  * **Clear Worker Separation:** Provides guidance and flags for running dedicated Temporal workers, separating development convenience from production best practices.
299
-
301
+
300
302
  Visit the [Temporal Documentation](https://learn.temporal.io/python/workflows/) for more information on how to use Temporal.
301
303
 
302
304
  Or check out the [Flock Showcase](https://github.com/whiteducksoftware/flock-showcase) for a complete example of a Flock that uses Temporal or our [docs](https://whiteducksoftware.github.io/flock/guides/temporal-configuration/) for more information.
@@ -17,7 +17,7 @@
17
17
 
18
18
  🐤 `pip install flock-core` will install the latest non-beta version 🐤
19
19
 
20
- 🐤 Expected Release for 0.4.0 `Magpie`: End of April 2025 🐤
20
+ 🐤 The 0.4.0 Magpie release is in the works! 🐤
21
21
 
22
22
  ---
23
23
 
@@ -222,7 +222,7 @@ Flock makes this easy with:
222
222
  * **Declarative Configuration:** Define Temporal timeouts, retry policies, and task queues directly within your `Flock` and `FlockAgent` configurations (YAML or Python).
223
223
  * **Correct Patterns:** Uses Temporal's recommended granular activity execution for better control and visibility.
224
224
  * **Clear Worker Separation:** Provides guidance and flags for running dedicated Temporal workers, separating development convenience from production best practices.
225
-
225
+
226
226
  Visit the [Temporal Documentation](https://learn.temporal.io/python/workflows/) for more information on how to use Temporal.
227
227
 
228
228
  Or check out the [Flock Showcase](https://github.com/whiteducksoftware/flock-showcase) for a complete example of a Flock that uses Temporal or our [docs](https://whiteducksoftware.github.io/flock/guides/temporal-configuration/) for more information.
@@ -0,0 +1,153 @@
1
+ # Dependency Injection in Flock
2
+
3
+ > *New in 0.6* — Flock ships with a first-class integration for the [`wd.di`](https://pypi.org/project/wd.di/) service-container.
4
+ >
5
+ > The feature is **completely optional**: existing projects continue to run if you ignore it. But once you taste constructor injection, you will never want to go back to hand-rolled singletons.
6
+
7
+ ---
8
+
9
+ ## 1 Why DI?
10
+
11
+ 1. **Reuse expensive resources**
12
+ Most agents and modules need an embedding model, a vector store, a logger, …
13
+ The container guarantees a *single* instance per run (or per request) without global variables.
14
+ 2. **Constructor injection**
15
+ Dependencies are spelled out in the `__init__()` signature – no more `from … import SOME_GLOBAL`.
16
+ 3. **Testability**
17
+ Replace real services with fakes in one line:
18
+ ```python
19
+ sc.add_singleton(S3Client, FakeS3Client())
20
+ ```
21
+ 4. **Middleware**
22
+ Cross-cutting concerns such as tracing, error handling or retries are just pipeline components.
23
+
24
+ ---
25
+
26
+ ## 2 Bootstrapping a container
27
+
28
+ Create and fill a `ServiceCollection` *once* at the beginning of a run — usually in your CLI entry-point or notebook.
29
+
30
+ ```python
31
+ from wd.di import ServiceCollection
32
+ from flock.modules.performance.metrics_module import MetricsModule
33
+ from flock.core.logging.logging import get_logger
34
+
35
+ sc = ServiceCollection()
36
+
37
+ # 1. Register concrete instances
38
+ sc.add_singleton(MetricsModule())
39
+ sc.add_singleton(get_logger("run"))
40
+
41
+ # 2. Register types – the container will build them on demand
42
+ from sentence_transformers import SentenceTransformer
43
+ sc.add_singleton(SentenceTransformer) # 👈 singleton lifetime
44
+
45
+ # 3. Build the provider (immutable after this call)
46
+ container = sc.build()
47
+ ```
48
+
49
+ Attach the container to the **runtime context** so that every component can reach it:
50
+
51
+ ```python
52
+ from flock.core.context.context import FlockContext
53
+ ctx = FlockContext()
54
+ ctx.set_variable("di.container", container)
55
+ ```
56
+
57
+ If you do not have the context at bootstrap time (e.g. inside `agent.run()`), store the container in a global and copy it into the context later. The key name `di.container` is conventional.
58
+
59
+ ---
60
+
61
+ ## 3 Resolving services
62
+
63
+ ### 3.1 Inside modules / agents
64
+
65
+ Call the convenience helper that was added to `FlockContext`:
66
+
67
+ ```python
68
+ logger = context.resolve(Logger)
69
+ ```
70
+
71
+ It returns `None` if no container is attached or the type is not registered, making the call safe in older projects.
72
+
73
+ ### 3.2 Anywhere else
74
+
75
+ Import the tiny wrapper shipped in `flock.di`:
76
+
77
+ ```python
78
+ from flock.di import get_current_container
79
+
80
+ container = get_current_container(context)
81
+ embedding_model = container.get_service(SentenceTransformer)
82
+ ```
83
+
84
+ ---
85
+
86
+ ## 4 Using middleware
87
+
88
+ The `wd.di` package comes with a lightweight **`MiddlewarePipeline`**. When you register one as a singleton, Flock will automatically wrap evaluator execution:
89
+
90
+ ```python
91
+ from wd.di.middleware_di import create_application_builder
92
+ from wd.di.middleware import LoggingMiddleware, ExceptionHandlerMiddleware
93
+
94
+ builder = create_application_builder(sc) # sc is your ServiceCollection
95
+ builder.configure_middleware(
96
+ lambda m: (
97
+ m.use_middleware(ExceptionHandlerMiddleware)
98
+ .use_middleware(LoggingMiddleware) # <- your own too!
99
+ )
100
+ )
101
+
102
+ container = builder.build() # replaces sc.build()
103
+ ```
104
+
105
+ Each middleware receives `(context, next)` where *context* is the **current FlockContext**. You can therefore obtain scoped services, record traces, short-circuit execution, etc.
106
+
107
+ ---
108
+
109
+ ## 5 Gradual refactoring pattern
110
+
111
+ 1. **Accept an optional container** in your module constructor:
112
+ ```python
113
+ def __init__(self, name: str, config: MyConfig, *, container=None):
114
+ super().__init__(name=name, config=config)
115
+ self._metrics = (container or Default()).get_service(MetricsModule)
116
+ ```
117
+ 2. **Resolve shared services** instead of calling module globals.
118
+ 3. **Fallback** to the current "global" singletons to stay backward compatible.
119
+ 4. Migrate call-sites one by one.
120
+
121
+ ---
122
+
123
+ ## 6 Testing with DI
124
+
125
+ Creating an isolated container inside your pytest fixtures is easy:
126
+
127
+ ```python
128
+ import pytest
129
+ from wd.di import ServiceCollection
130
+ from flock.modules.performance.metrics_module import MetricsModule
131
+
132
+ @pytest.fixture()
133
+ def di_container():
134
+ sc = ServiceCollection()
135
+ sc.add_singleton(MetricsModule, FakeMetricsModule())
136
+ return sc.build()
137
+ ```
138
+
139
+ Pass the fixture to your SUT and you never have to monkey-patch again.
140
+
141
+ ---
142
+
143
+ ## 7 FAQ
144
+
145
+ **Does it work without `wd.di` installed?** Yes. Flock guards every optional import so your code still runs.
146
+
147
+ **Can I have per-request lifetimes?** Absolutely. Just call `container.create_scope()` before the request, store the scoped provider under the `di.container` key for the duration and dispose it afterwards.
148
+
149
+ **Will the registry go away?** No. The registry continues to handle *serialization* and *lookup by name*. DI is about *instantiation* and *lifetimes*.
150
+
151
+ ---
152
+
153
+ Happy wiring! 🚀
@@ -0,0 +1,108 @@
1
+ # Proposal: Integrating `wd.di` Into Flock
2
+
3
+ ## 1 Background
4
+ The current `FlockRegistry` solves *discovery* and *serialization*:
5
+ * maps names ↔️ Agent / Module / Router / Evaluator classes
6
+ * keeps a cache of callables & types for JSON / YAML (de)serialization
7
+
8
+ What it **does not** try to solve:
9
+ * lifetime-controlled instantiation of shared services (e.g. embedding model)
10
+ * constructor / property injection
11
+ * request-scoped objects
12
+ * middleware cross-cutting concerns.
13
+
14
+ The in-house package located at `.flock/wd-di/src/wd/di` already implements a
15
+ robust DI container inspired by ASP.NET:
16
+ * `ServiceCollection` ➜ registration DSL
17
+ * `Container` ➜ resolver with Singleton / Scoped / Transient lifetimes
18
+ * Middleware pipeline with scoped injection
19
+ * YAML-backed config binder (optional)
20
+
21
+ Pairing that with Flock yields cleaner construction and resource reuse while
22
+ leaving backward compatibility intact.
23
+
24
+ ---
25
+ ## 2 Why keep the Registry?
26
+ `FlockRegistry` is tightly coupled to serialization. Replacing it would break
27
+ existing save-/load flows, YAML configs, and inter-component look-ups by name.
28
+ Therefore **both systems should coexist**:
29
+
30
+ ```
31
+ ┌─────────────┐ ┌──────────────┐
32
+ Agent ⇆──▶│ Registry │ │ DI Container│
33
+ └─────────────┘◀────────┴──────────────┘
34
+ ▲ names ▲ types
35
+ └───────────────────────────┘
36
+ ```
37
+
38
+ ---
39
+ ## 3 Migration sketch
40
+
41
+ 1. **Bootstrap a container per run**
42
+ In `flock.core.context.initialize_context` (or new helper):
43
+
44
+ ```python
45
+ from wd.di import ServiceCollection
46
+
47
+ sc = ServiceCollection()
48
+ sc.add_singleton(MetricsModule()) # attach a metrics collector
49
+ sc.add_singleton(lambda: get_logger("run"))
50
+ sc.add_singleton(trace.get_tracer("flock"))
51
+
52
+ # Share embedding model across modules if desired
53
+ for module in agent.get_enabled_modules():
54
+ sc.add_singleton(type(module), module)
55
+
56
+ container = sc.build()
57
+ run_context.set_variable("di.container", container)
58
+ ```
59
+
60
+ 2. **Helper for resolution**
61
+ Add to `FlockContext`:
62
+
63
+ ```python
64
+ def resolve(self, svc_type):
65
+ container = self.get_variable("di.container")
66
+ return container.resolve(svc_type) if container else None
67
+ ```
68
+
69
+ 3. **Gradual module refactor**
70
+ *Example* (EnterpriseMemoryModule constructor):
71
+ ```python
72
+ def __init__(self, name: str, config: Config, container=None):
73
+ super().__init__(name=name, config=config)
74
+ self.metrics = (container or Default()).resolve(MetricsModule) # fallback
75
+ ```
76
+
77
+ 4. **Middleware pipeline (optional)**
78
+ Build an onion around evaluator execution:
79
+ ```python
80
+ async def evaluator_middleware(next, ctx):
81
+ tracer = ctx.resolve(Tracer)
82
+ with tracer.start_as_current_span("evaluator"):
83
+ return await next()
84
+ ```
85
+
86
+ 5. **Testing**
87
+ Tests create a lightweight `ServiceCollection` and inject fakes, reducing
88
+ patching/monkey-patching need.
89
+
90
+ ---
91
+ ## 4 Immediate tasks
92
+ 1. Add `wd.di` to `pyproject.toml` as optional extra.
93
+ 2. Create `flock.di` thin wrapper exposing `get_current_container()` helper.
94
+ 3. Update EnterpriseMemoryModule to accept an optional container and resolve
95
+ MetricsModule instead of static call (maintain the static fallback).
96
+ 4. Document the pattern in `docs/components/di.md`.
97
+
98
+ ---
99
+ ## 5 Long-term improvements
100
+ * Replace ad-hoc singletons (embedding cache, adapters) with DI singletons.
101
+ * Use scoped lifetimes for per-run data (OpenAI usage counters, run metadata).
102
+ * Enable declarative middleware in YAML/JSON Flock configs.
103
+
104
+ ---
105
+ ## 6 Verdict
106
+ Integrating `wd.di` **adds value** without disrupting existing workflows. It
107
+ should be adopted as an *internal service container* while the Registry
108
+ continues to serve serialization/discovery needs.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flock-core"
3
- version = "0.4.0b-49"
3
+ version = "0.4.1"
4
4
  description = "Declarative LLM Orchestration at Scale"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -52,9 +52,11 @@ dependencies = [
52
52
  "toml>=0.10.2",
53
53
  "tqdm>=4.67.1",
54
54
  "uvicorn>=0.34.0",
55
- "mem0ai[graph]>=0.1.100",
55
+ "mem0ai[graph]>=0.1.101",
56
56
  "aiosqlite>=0.21.0",
57
57
  "markdown2>=2.5.3",
58
+ "wd-di>=0.2.14",
59
+ "zep-python>=2.0.2",
58
60
  ]
59
61
 
60
62
  [project.optional-dependencies]
@@ -0,0 +1,14 @@
1
+ from __future__ import annotations
2
+
3
+ """Adapter package for pluggable vector-store back-ends.
4
+
5
+ Importing the package will NOT import heavy third-party clients by default –
6
+ individual adapters are only loaded when referenced explicitly.
7
+ """
8
+
9
+ from .vector_base import VectorAdapter, VectorHit
10
+
11
+ __all__ = [
12
+ "VectorAdapter",
13
+ "VectorHit",
14
+ ]
@@ -0,0 +1,68 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any
4
+
5
+ from .vector_base import VectorAdapter, VectorHit
6
+
7
+
8
+ class AzureSearchAdapter(VectorAdapter):
9
+ """Adapter for Azure Cognitive Search vector capabilities."""
10
+
11
+ def __init__(
12
+ self,
13
+ *,
14
+ endpoint: str,
15
+ key: str,
16
+ index_name: str,
17
+ embedding_field: str = "embedding",
18
+ ) -> None:
19
+ super().__init__()
20
+ try:
21
+ from azure.core.credentials import AzureKeyCredential
22
+ from azure.search.documents import SearchClient
23
+ except ImportError as e:
24
+ raise RuntimeError("azure-search-documents package is required for AzureSearchAdapter") from e
25
+
26
+ self._client = SearchClient(
27
+ endpoint=endpoint,
28
+ index_name=index_name,
29
+ credential=AzureKeyCredential(key),
30
+ )
31
+ self._embedding_field = embedding_field
32
+
33
+ # -----------------------------
34
+ def add(
35
+ self,
36
+ *,
37
+ id: str,
38
+ content: str,
39
+ embedding: list[float],
40
+ metadata: dict[str, Any] | None = None,
41
+ ) -> None:
42
+ document = {
43
+ "id": id,
44
+ "content": content,
45
+ self._embedding_field: embedding,
46
+ **(metadata or {}),
47
+ }
48
+ # Upload is sync but returns iterator; consume to check errors
49
+ list(self._client.upload_documents(documents=[document]))
50
+
51
+ def query(self, *, embedding: list[float], k: int) -> list[VectorHit]:
52
+ results = self._client.search(
53
+ search_text=None,
54
+ vector=embedding,
55
+ k=k,
56
+ vector_fields=self._embedding_field,
57
+ )
58
+ hits: list[VectorHit] = []
59
+ for doc in results:
60
+ hits.append(
61
+ VectorHit(
62
+ id=doc["id"],
63
+ content=doc.get("content"),
64
+ metadata={k: v for k, v in doc.items() if k not in ("id", "content", self._embedding_field, "@search.score")},
65
+ score=doc["@search.score"],
66
+ )
67
+ )
68
+ return hits
@@ -0,0 +1,73 @@
1
+ from __future__ import annotations
2
+
3
+ from pathlib import Path
4
+ from typing import Any
5
+
6
+ from .vector_base import VectorAdapter, VectorHit
7
+
8
+
9
+ class ChromaAdapter(VectorAdapter):
10
+ """Adapter for Chroma vector DB (local or HTTP)."""
11
+
12
+ def __init__(
13
+ self,
14
+ *,
15
+ collection: str = "flock_memories",
16
+ host: str | None = None,
17
+ port: int = 8000,
18
+ path: str | None = "./vector_store",
19
+ ) -> None:
20
+ super().__init__()
21
+ try:
22
+ import chromadb
23
+ from chromadb.config import Settings
24
+ except ImportError as e:
25
+ raise RuntimeError("chromadb is required for ChromaAdapter") from e
26
+
27
+ if host:
28
+ client = chromadb.HttpClient(host=host, port=port)
29
+ else:
30
+ p = Path(path or "./vector_store")
31
+ p.mkdir(parents=True, exist_ok=True)
32
+ client = chromadb.PersistentClient(settings=Settings(path=str(p)))
33
+
34
+ self._collection = client.get_or_create_collection(collection)
35
+
36
+ # -------------------------------
37
+ # VectorAdapter implementation
38
+ # -------------------------------
39
+ def add(
40
+ self,
41
+ *,
42
+ id: str,
43
+ content: str,
44
+ embedding: list[float],
45
+ metadata: dict[str, Any] | None = None,
46
+ ) -> None:
47
+ self._collection.add(
48
+ ids=[id],
49
+ documents=[content],
50
+ embeddings=[embedding],
51
+ metadatas=[metadata or {}],
52
+ )
53
+
54
+ def query(self, *, embedding: list[float], k: int) -> list[VectorHit]:
55
+ res = self._collection.query(
56
+ query_embeddings=[embedding],
57
+ n_results=k,
58
+ include=["documents", "metadatas", "distances", "ids"],
59
+ )
60
+ hits: list[VectorHit] = []
61
+ if res and res["ids"]:
62
+ for idx in range(len(res["ids"][0])):
63
+ dist = res["distances"][0][idx]
64
+ score = 1 - dist # Convert L2 → similarity
65
+ hits.append(
66
+ VectorHit(
67
+ id=res["ids"][0][idx],
68
+ content=res["documents"][0][idx],
69
+ metadata=res["metadatas"][0][idx],
70
+ score=score,
71
+ )
72
+ )
73
+ return hits