flock-core 0.4.513__tar.gz → 0.4.514__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 (666) hide show
  1. {flock_core-0.4.513 → flock_core-0.4.514}/PKG-INFO +4 -1
  2. {flock_core-0.4.513 → flock_core-0.4.514}/pyproject.toml +4 -1
  3. flock_core-0.4.514/src/flock/core/execution/opik_executor.py +103 -0
  4. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/interpreter/python_interpreter.py +87 -81
  5. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mixin/dspy_integration.py +1 -1
  6. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/util/input_resolver.py +1 -1
  7. flock_core-0.4.514/src/flock/tools/code_tools.py +167 -0
  8. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/api/execution.py +1 -1
  9. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/main.py +1 -1
  10. {flock_core-0.4.513 → flock_core-0.4.514}/uv.lock +22 -2
  11. flock_core-0.4.513/src/flock/tools/code_tools.py +0 -56
  12. {flock_core-0.4.513 → flock_core-0.4.514}/.devcontainer/devcontainer.json +0 -0
  13. {flock_core-0.4.513 → flock_core-0.4.514}/.env_template +0 -0
  14. {flock_core-0.4.513 → flock_core-0.4.514}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  15. {flock_core-0.4.513 → flock_core-0.4.514}/.github/ISSUE_TEMPLATE/documentation_improvement.yaml +0 -0
  16. {flock_core-0.4.513 → flock_core-0.4.514}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  17. {flock_core-0.4.513 → flock_core-0.4.514}/.github/ISSUE_TEMPLATE/question_support_request.yaml +0 -0
  18. {flock_core-0.4.513 → flock_core-0.4.514}/.github/ISSUE_TEMPLATE/vulnerability_report.md +0 -0
  19. {flock_core-0.4.513 → flock_core-0.4.514}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  20. {flock_core-0.4.513 → flock_core-0.4.514}/.github/workflows/.gitkeep +0 -0
  21. {flock_core-0.4.513 → flock_core-0.4.514}/.github/workflows/deploy-documentation.yml +0 -0
  22. {flock_core-0.4.513 → flock_core-0.4.514}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  23. {flock_core-0.4.513 → flock_core-0.4.514}/.gitignore +0 -0
  24. {flock_core-0.4.513 → flock_core-0.4.514}/.gitmodules +0 -0
  25. {flock_core-0.4.513 → flock_core-0.4.514}/.vscode/launch.json +0 -0
  26. {flock_core-0.4.513 → flock_core-0.4.514}/.vscode/settings.json +0 -0
  27. {flock_core-0.4.513 → flock_core-0.4.514}/.vscode/tasks.json +0 -0
  28. {flock_core-0.4.513 → flock_core-0.4.514}/CODE_OF_CONDUCT.md +0 -0
  29. {flock_core-0.4.513 → flock_core-0.4.514}/CONTRIBUTING.md +0 -0
  30. {flock_core-0.4.513 → flock_core-0.4.514}/LICENSE +0 -0
  31. {flock_core-0.4.513 → flock_core-0.4.514}/README.md +0 -0
  32. {flock_core-0.4.513 → flock_core-0.4.514}/SECURITY.md +0 -0
  33. {flock_core-0.4.513 → flock_core-0.4.514}/docs/about/changelog.md +0 -0
  34. {flock_core-0.4.513 → flock_core-0.4.514}/docs/about/contributing.md +0 -0
  35. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/drawio/architecture.drawio +0 -0
  36. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/cli_outputs/out.png +0 -0
  37. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/components_chart.png +0 -0
  38. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/examples/01_01.png +0 -0
  39. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/examples/01_02.png +0 -0
  40. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/examples/01_03.png +0 -0
  41. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/examples/01_04.png +0 -0
  42. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/examples/01_05.png +0 -0
  43. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/examples/01_06.png +0 -0
  44. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/flock.png +0 -0
  45. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/flock_cli.png +0 -0
  46. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/flow_chart.png +0 -0
  47. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  48. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/hummingbird.png +0 -0
  49. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/icon.png +0 -0
  50. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/icon.png~ +0 -0
  51. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/logo.png +0 -0
  52. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/magpie.png +0 -0
  53. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/memory_concepts.png +0 -0
  54. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/memory_flow.png +0 -0
  55. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/memory_flow_chart.png +0 -0
  56. {flock_core-0.4.513 → flock_core-0.4.514}/docs/assets/images/readme_output.png +0 -0
  57. {flock_core-0.4.513 → flock_core-0.4.514}/docs/components/evaluators.md +0 -0
  58. {flock_core-0.4.513 → flock_core-0.4.514}/docs/components/index.md +0 -0
  59. {flock_core-0.4.513 → flock_core-0.4.514}/docs/components/modules.md +0 -0
  60. {flock_core-0.4.513 → flock_core-0.4.514}/docs/components/tools.md +0 -0
  61. {flock_core-0.4.513 → flock_core-0.4.514}/docs/core-concepts/agents.md +0 -0
  62. {flock_core-0.4.513 → flock_core-0.4.514}/docs/core-concepts/declarative.md +0 -0
  63. {flock_core-0.4.513 → flock_core-0.4.514}/docs/core-concepts/di.md +0 -0
  64. {flock_core-0.4.513 → flock_core-0.4.514}/docs/core-concepts/index.md +0 -0
  65. {flock_core-0.4.513 → flock_core-0.4.514}/docs/core-concepts/workflows.md +0 -0
  66. {flock_core-0.4.513 → flock_core-0.4.514}/docs/create_doc_boilerplate.py +0 -0
  67. {flock_core-0.4.513 → flock_core-0.4.514}/docs/deployment/index.md +0 -0
  68. {flock_core-0.4.513 → flock_core-0.4.514}/docs/deployment/temporal.md +0 -0
  69. {flock_core-0.4.513 → flock_core-0.4.514}/docs/getting-started/concepts.md +0 -0
  70. {flock_core-0.4.513 → flock_core-0.4.514}/docs/getting-started/configuration.md +0 -0
  71. {flock_core-0.4.513 → flock_core-0.4.514}/docs/getting-started/index.md +0 -0
  72. {flock_core-0.4.513 → flock_core-0.4.514}/docs/getting-started/installation.md +0 -0
  73. {flock_core-0.4.513 → flock_core-0.4.514}/docs/getting-started/quickstart.md +0 -0
  74. {flock_core-0.4.513 → flock_core-0.4.514}/docs/guides/chaining-agents.md +0 -0
  75. {flock_core-0.4.513 → flock_core-0.4.514}/docs/guides/custom-endpoints.md +0 -0
  76. {flock_core-0.4.513 → flock_core-0.4.514}/docs/guides/index.md +0 -0
  77. {flock_core-0.4.513 → flock_core-0.4.514}/docs/guides/temporal-configuration.md +0 -0
  78. {flock_core-0.4.513 → flock_core-0.4.514}/docs/index.md +0 -0
  79. {flock_core-0.4.513 → flock_core-0.4.514}/docs/interacting-with-flock/cli-tool.md +0 -0
  80. {flock_core-0.4.513 → flock_core-0.4.514}/docs/interacting-with-flock/index.md +0 -0
  81. {flock_core-0.4.513 → flock_core-0.4.514}/docs/interacting-with-flock/interactive-cli.md +0 -0
  82. {flock_core-0.4.513 → flock_core-0.4.514}/docs/interacting-with-flock/programmatic.md +0 -0
  83. {flock_core-0.4.513 → flock_core-0.4.514}/docs/interacting-with-flock/rest-api.md +0 -0
  84. {flock_core-0.4.513 → flock_core-0.4.514}/docs/interacting-with-flock/web-ui.md +0 -0
  85. {flock_core-0.4.513 → flock_core-0.4.514}/docs/reference/flock_agent.md +0 -0
  86. {flock_core-0.4.513 → flock_core-0.4.514}/docs/reference/index.md +0 -0
  87. {flock_core-0.4.513 → flock_core-0.4.514}/docs/release-notes/magpie.md +0 -0
  88. {flock_core-0.4.513 → flock_core-0.4.514}/docs/stylesheets/extra.css +0 -0
  89. {flock_core-0.4.513 → flock_core-0.4.514}/docs/wd-di.md +0 -0
  90. {flock_core-0.4.513 → flock_core-0.4.514}/mkdocs.yml +0 -0
  91. {flock_core-0.4.513 → flock_core-0.4.514}/requirements.txt +0 -0
  92. {flock_core-0.4.513 → flock_core-0.4.514}/scripts/code_collector.py +0 -0
  93. {flock_core-0.4.513 → flock_core-0.4.514}/scripts/create_docs.py +0 -0
  94. {flock_core-0.4.513 → flock_core-0.4.514}/scripts/ensure_uv.py +0 -0
  95. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/__init__.py +0 -0
  96. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/adapter/__init__.py +0 -0
  97. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/adapter/azure_adapter.py +0 -0
  98. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/adapter/chroma_adapter.py +0 -0
  99. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/adapter/faiss_adapter.py +0 -0
  100. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/adapter/pinecone_adapter.py +0 -0
  101. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/adapter/vector_base.py +0 -0
  102. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/assets/release_notes.md +0 -0
  103. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/config.py +0 -0
  104. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/constants.py +0 -0
  105. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/create_agent.py +0 -0
  106. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/create_flock.py +0 -0
  107. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/execute_flock.py +0 -0
  108. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/load_agent.py +0 -0
  109. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/load_examples.py +0 -0
  110. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/load_flock.py +0 -0
  111. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/load_release_notes.py +0 -0
  112. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/loaded_flock_cli.py +0 -0
  113. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/manage_agents.py +0 -0
  114. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/registry_management.py +0 -0
  115. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/runner.py +0 -0
  116. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/settings.py +0 -0
  117. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/utils.py +0 -0
  118. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/view_results.py +0 -0
  119. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/cli/yaml_editor.py +0 -0
  120. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/config.py +0 -0
  121. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/__init__.py +0 -0
  122. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/__init__.py +0 -0
  123. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/custom_endpoint.py +0 -0
  124. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/endpoints.py +0 -0
  125. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/main.py +0 -0
  126. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/models.py +0 -0
  127. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/run_store.py +0 -0
  128. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/runner.py +0 -0
  129. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/api/service.py +0 -0
  130. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/config/flock_agent_config.py +0 -0
  131. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/config/scheduled_agent_config.py +0 -0
  132. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/context/context.py +0 -0
  133. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/context/context_manager.py +0 -0
  134. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/context/context_vars.py +0 -0
  135. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/evaluation/utils.py +0 -0
  136. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/execution/batch_executor.py +0 -0
  137. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/execution/evaluation_executor.py +0 -0
  138. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/execution/local_executor.py +0 -0
  139. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/execution/temporal_executor.py +0 -0
  140. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock.py +0 -0
  141. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_agent.py +0 -0
  142. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_evaluator.py +0 -0
  143. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_factory.py +0 -0
  144. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_module.py +0 -0
  145. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_registry.py +0 -0
  146. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_router.py +0 -0
  147. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_scheduler.py +0 -0
  148. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/flock_server_manager.py +0 -0
  149. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/__init__.py +0 -0
  150. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  151. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  152. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  153. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/formatters/themes.py +0 -0
  154. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/logging.py +0 -0
  155. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  156. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/telemetry.py +0 -0
  157. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  158. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  159. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  160. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/logging/trace_and_logged.py +0 -0
  161. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/__init__.py +0 -0
  162. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/flock_mcp_server.py +0 -0
  163. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/flock_mcp_tool_base.py +0 -0
  164. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/mcp_client.py +0 -0
  165. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/mcp_client_manager.py +0 -0
  166. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/mcp_config.py +0 -0
  167. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/types/__init__.py +0 -0
  168. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/types/callbacks.py +0 -0
  169. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/types/factories.py +0 -0
  170. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/types/handlers.py +0 -0
  171. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/types/types.py +0 -0
  172. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/util/__init__.py +0 -0
  173. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mcp/util/helpers.py +0 -0
  174. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/mixin/prompt_parser.py +0 -0
  175. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/serialization/__init__.py +0 -0
  176. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/serialization/callable_registry.py +0 -0
  177. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/serialization/flock_serializer.py +0 -0
  178. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/serialization/json_encoder.py +0 -0
  179. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/serialization/secure_serializer.py +0 -0
  180. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/serialization/serializable.py +0 -0
  181. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/serialization/serialization_utils.py +0 -0
  182. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/util/cli_helper.py +0 -0
  183. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/util/file_path_utils.py +0 -0
  184. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/util/hydrator.py +0 -0
  185. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/core/util/loader.py +0 -0
  186. /flock_core-0.4.513/src/flock/core/util/spliter.py → /flock_core-0.4.514/src/flock/core/util/splitter.py +0 -0
  187. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/di.py +0 -0
  188. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/evaluators/__init__.py +0 -0
  189. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/evaluators/declarative/__init__.py +0 -0
  190. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  191. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  192. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/evaluators/test/test_case_evaluator.py +0 -0
  193. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  194. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/sse/__init__.py +0 -0
  195. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/sse/flock_sse_server.py +0 -0
  196. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/stdio/__init__.py +0 -0
  197. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/stdio/flock_stdio_server.py +0 -0
  198. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/streamable_http/__init__.py +0 -0
  199. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/streamable_http/flock_streamable_http_server.py +0 -0
  200. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/websockets/__init__.py +0 -0
  201. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/mcp/servers/websockets/flock_websocket_server.py +0 -0
  202. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/__init__.py +0 -0
  203. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/assertion/__init__.py +0 -0
  204. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/assertion/assertion_module.py +0 -0
  205. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/callback/__init__.py +0 -0
  206. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/callback/callback_module.py +0 -0
  207. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/enterprise_memory/README.md +0 -0
  208. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/enterprise_memory/enterprise_memory_module.py +0 -0
  209. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/mem0/__init__.py +0 -0
  210. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/mem0/mem0_module.py +0 -0
  211. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/mem0_async/__init__.py +0 -0
  212. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/mem0_async/async_mem0_module.py +0 -0
  213. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/memory/__init__.py +0 -0
  214. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/memory/memory_module.py +0 -0
  215. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/memory/memory_parser.py +0 -0
  216. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/memory/memory_storage.py +0 -0
  217. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/output/__init__.py +0 -0
  218. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/output/output_module.py +0 -0
  219. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/performance/__init__.py +0 -0
  220. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/performance/metrics_module.py +0 -0
  221. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/zep/__init__.py +0 -0
  222. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/modules/zep/zep_module.py +0 -0
  223. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/platform/docker_tools.py +0 -0
  224. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/platform/jaeger_install.py +0 -0
  225. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/__init__.py +0 -0
  226. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/agent/__init__.py +0 -0
  227. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/agent/agent_router.py +0 -0
  228. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/agent/handoff_agent.py +0 -0
  229. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/conditional/conditional_router.py +0 -0
  230. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/default/__init__.py +0 -0
  231. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/default/default_router.py +0 -0
  232. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/feedback/feedback_router.py +0 -0
  233. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/list_generator/list_generator_router.py +0 -0
  234. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/llm/__init__.py +0 -0
  235. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/routers/llm/llm_router.py +0 -0
  236. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/3024-day.toml +0 -0
  237. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/3024-night.toml +0 -0
  238. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/aardvark-blue.toml +0 -0
  239. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/abernathy.toml +0 -0
  240. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/adventure.toml +0 -0
  241. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/adventuretime.toml +0 -0
  242. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/afterglow.toml +0 -0
  243. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/alabaster.toml +0 -0
  244. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/alienblood.toml +0 -0
  245. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/andromeda.toml +0 -0
  246. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/apple-classic.toml +0 -0
  247. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/apple-system-colors.toml +0 -0
  248. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/arcoiris.toml +0 -0
  249. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/argonaut copy.toml +0 -0
  250. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/argonaut.toml +0 -0
  251. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/arthur.toml +0 -0
  252. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ateliersulphurpool.toml +0 -0
  253. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/atom.toml +0 -0
  254. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/atom_test.toml +0 -0
  255. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/atomonelight.toml +0 -0
  256. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/aurora.toml +0 -0
  257. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ayu copy.toml +0 -0
  258. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ayu-light.toml +0 -0
  259. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ayu-mirage.toml +0 -0
  260. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ayu.toml +0 -0
  261. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/banana-blueberry.toml +0 -0
  262. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/batman.toml +0 -0
  263. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/belafonte-day.toml +0 -0
  264. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/belafonte-night.toml +0 -0
  265. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/birdsofparadise.toml +0 -0
  266. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/blazer.toml +0 -0
  267. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/blue-matrix.toml +0 -0
  268. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/blueberrypie.toml +0 -0
  269. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/bluedolphin.toml +0 -0
  270. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/blulocodark.toml +0 -0
  271. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/blulocolight.toml +0 -0
  272. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/borland.toml +0 -0
  273. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/breeze.toml +0 -0
  274. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/bright-lights.toml +0 -0
  275. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/broadcast.toml +0 -0
  276. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/brogrammer.toml +0 -0
  277. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/builtin-dark.toml +0 -0
  278. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/builtin-light.toml +0 -0
  279. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  280. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  281. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/builtin-solarized-light.toml +0 -0
  282. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/builtin-tango-dark.toml +0 -0
  283. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/builtin-tango-light.toml +0 -0
  284. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/c64.toml +0 -0
  285. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/calamity.toml +0 -0
  286. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/catppuccin-frappe.toml +0 -0
  287. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/catppuccin-latte.toml +0 -0
  288. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  289. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/catppuccin-mocha.toml +0 -0
  290. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/cga.toml +0 -0
  291. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/chalk.toml +0 -0
  292. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/chalkboard.toml +0 -0
  293. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/challengerdeep.toml +0 -0
  294. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/chester.toml +0 -0
  295. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ciapre.toml +0 -0
  296. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/clrs.toml +0 -0
  297. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/cobalt-neon.toml +0 -0
  298. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/cobalt2.toml +0 -0
  299. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/coffee-theme.toml +0 -0
  300. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/crayonponyfish.toml +0 -0
  301. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/cutiepro.toml +0 -0
  302. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/cyberdyne.toml +0 -0
  303. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/cyberpunk.toml +0 -0
  304. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  305. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dark+.toml +0 -0
  306. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dark-pastel.toml +0 -0
  307. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/darkermatrix.toml +0 -0
  308. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/darkmatrix.toml +0 -0
  309. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/darkside.toml +0 -0
  310. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dayfox.toml +0 -0
  311. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/deep.toml +0 -0
  312. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/desert.toml +0 -0
  313. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dimidium.toml +0 -0
  314. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dimmedmonokai.toml +0 -0
  315. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/django.toml +0 -0
  316. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/djangorebornagain.toml +0 -0
  317. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/djangosmooth.toml +0 -0
  318. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/doom-peacock.toml +0 -0
  319. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/doomone.toml +0 -0
  320. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dotgov.toml +0 -0
  321. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dracula+.toml +0 -0
  322. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/dracula.toml +0 -0
  323. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/duckbones.toml +0 -0
  324. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/duotone-dark.toml +0 -0
  325. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/earthsong.toml +0 -0
  326. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/elemental.toml +0 -0
  327. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/elementary.toml +0 -0
  328. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/encom.toml +0 -0
  329. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/espresso-libre.toml +0 -0
  330. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/espresso.toml +0 -0
  331. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/everblush.toml +0 -0
  332. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/fahrenheit.toml +0 -0
  333. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/fairyfloss.toml +0 -0
  334. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/farmhouse-dark.toml +0 -0
  335. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/farmhouse-light.toml +0 -0
  336. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/fideloper.toml +0 -0
  337. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/firefly-traditional.toml +0 -0
  338. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/firefoxdev.toml +0 -0
  339. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/firewatch.toml +0 -0
  340. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/fishtank.toml +0 -0
  341. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/flat.toml +0 -0
  342. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/flatland.toml +0 -0
  343. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/flexoki-dark.toml +0 -0
  344. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/flexoki-light.toml +0 -0
  345. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/floraverse.toml +0 -0
  346. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/forestblue.toml +0 -0
  347. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/framer.toml +0 -0
  348. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/frontenddelight.toml +0 -0
  349. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/funforrest.toml +0 -0
  350. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/galaxy.toml +0 -0
  351. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/galizur.toml +0 -0
  352. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/github-dark.toml +0 -0
  353. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/github.toml +0 -0
  354. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/glacier.toml +0 -0
  355. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/grape.toml +0 -0
  356. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/grass.toml +0 -0
  357. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/grey-green.toml +0 -0
  358. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/gruber-darker.toml +0 -0
  359. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/gruvboxdark.toml +0 -0
  360. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  361. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/gruvboxlight.toml +0 -0
  362. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/guezwhoz.toml +0 -0
  363. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hacktober.toml +0 -0
  364. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hardcore.toml +0 -0
  365. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/harper.toml +0 -0
  366. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hax0r-blue.toml +0 -0
  367. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hax0r-gr33n.toml +0 -0
  368. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hax0r-r3d.toml +0 -0
  369. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/highway.toml +0 -0
  370. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hipster-green.toml +0 -0
  371. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hivacruz.toml +0 -0
  372. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/homebrew.toml +0 -0
  373. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hopscotch.256.toml +0 -0
  374. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hopscotch.toml +0 -0
  375. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hurtado.toml +0 -0
  376. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/hybrid.toml +0 -0
  377. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ic-green-ppl.toml +0 -0
  378. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ic-orange-ppl.toml +0 -0
  379. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iceberg-dark.toml +0 -0
  380. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iceberg-light.toml +0 -0
  381. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/idea.toml +0 -0
  382. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/idletoes.toml +0 -0
  383. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ir-black.toml +0 -0
  384. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-dark-background.toml +0 -0
  385. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-default.toml +0 -0
  386. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-light-background.toml +0 -0
  387. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  388. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  389. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  390. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  391. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  392. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/iterm2-tango-light.toml +0 -0
  393. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/jackie-brown.toml +0 -0
  394. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/japanesque.toml +0 -0
  395. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/jellybeans.toml +0 -0
  396. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/jetbrains-darcula.toml +0 -0
  397. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/jubi.toml +0 -0
  398. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/kanagawabones.toml +0 -0
  399. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/kibble.toml +0 -0
  400. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/kolorit.toml +0 -0
  401. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/konsolas.toml +0 -0
  402. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/kurokula.toml +0 -0
  403. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/lab-fox.toml +0 -0
  404. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/laser.toml +0 -0
  405. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/later-this-evening.toml +0 -0
  406. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/lavandula.toml +0 -0
  407. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/liquidcarbon.toml +0 -0
  408. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  409. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  410. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/lovelace.toml +0 -0
  411. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/man-page.toml +0 -0
  412. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/mariana.toml +0 -0
  413. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/material.toml +0 -0
  414. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/materialdark.toml +0 -0
  415. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/materialdarker.toml +0 -0
  416. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/materialdesigncolors.toml +0 -0
  417. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/materialocean.toml +0 -0
  418. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/mathias.toml +0 -0
  419. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/matrix.toml +0 -0
  420. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/medallion.toml +0 -0
  421. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/mellifluous.toml +0 -0
  422. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/midnight-in-mojave.toml +0 -0
  423. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/mirage.toml +0 -0
  424. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/misterioso.toml +0 -0
  425. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/molokai.toml +0 -0
  426. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/monalisa.toml +0 -0
  427. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/monokai-remastered.toml +0 -0
  428. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/monokai-soda.toml +0 -0
  429. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/monokai-vivid.toml +0 -0
  430. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/n0tch2k.toml +0 -0
  431. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/neobones-dark.toml +0 -0
  432. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/neobones-light.toml +0 -0
  433. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/neon.toml +0 -0
  434. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/neopolitan.toml +0 -0
  435. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/neutron.toml +0 -0
  436. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/night-owlish-light.toml +0 -0
  437. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nightfox.toml +0 -0
  438. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nightlion-v1.toml +0 -0
  439. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nightlion-v2.toml +0 -0
  440. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/niji.toml +0 -0
  441. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nocturnal-winter.toml +0 -0
  442. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nord-light.toml +0 -0
  443. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nord.toml +0 -0
  444. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/novel.toml +0 -0
  445. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nvimdark.toml +0 -0
  446. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/nvimlight.toml +0 -0
  447. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/obsidian.toml +0 -0
  448. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ocean.toml +0 -0
  449. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/oceanic-next.toml +0 -0
  450. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/oceanicmaterial.toml +0 -0
  451. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ollie.toml +0 -0
  452. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/onehalfdark.toml +0 -0
  453. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/onehalflight.toml +0 -0
  454. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/operator-mono-dark.toml +0 -0
  455. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/overnight-slumber.toml +0 -0
  456. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/oxocarbon.toml +0 -0
  457. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/palenighthc.toml +0 -0
  458. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/pandora.toml +0 -0
  459. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/paraiso-dark.toml +0 -0
  460. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/paulmillr.toml +0 -0
  461. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/pencildark.toml +0 -0
  462. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/pencillight.toml +0 -0
  463. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/peppermint.toml +0 -0
  464. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/piatto-light.toml +0 -0
  465. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/pnevma.toml +0 -0
  466. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/popping-and-locking.toml +0 -0
  467. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/primary.toml +0 -0
  468. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/pro-light.toml +0 -0
  469. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/pro.toml +0 -0
  470. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/purple-rain.toml +0 -0
  471. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/purplepeter.toml +0 -0
  472. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/rapture.toml +0 -0
  473. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/raycast-dark.toml +0 -0
  474. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/raycast-light.toml +0 -0
  475. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/rebecca.toml +0 -0
  476. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/red-alert.toml +0 -0
  477. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/red-planet.toml +0 -0
  478. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/red-sands.toml +0 -0
  479. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/relaxed.toml +0 -0
  480. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/retro.toml +0 -0
  481. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/rippedcasts.toml +0 -0
  482. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/rose-pine-dawn.toml +0 -0
  483. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/rose-pine-moon.toml +0 -0
  484. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/rose-pine.toml +0 -0
  485. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/rouge-2.toml +0 -0
  486. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/royal.toml +0 -0
  487. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ryuuko.toml +0 -0
  488. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/sakura.toml +0 -0
  489. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/scarlet-protocol.toml +0 -0
  490. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/seafoam-pastel.toml +0 -0
  491. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/seashells.toml +0 -0
  492. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/seoulbones-dark.toml +0 -0
  493. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/seoulbones-light.toml +0 -0
  494. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/seti.toml +0 -0
  495. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/shades-of-purple.toml +0 -0
  496. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/shaman.toml +0 -0
  497. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/slate.toml +0 -0
  498. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/sleepyhollow.toml +0 -0
  499. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/smyck.toml +0 -0
  500. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/snazzy.toml +0 -0
  501. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/softserver.toml +0 -0
  502. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/solarized-darcula.toml +0 -0
  503. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/solarized-dark---patched.toml +0 -0
  504. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  505. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/spacedust.toml +0 -0
  506. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  507. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/spacegray-eighties.toml +0 -0
  508. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/spacegray.toml +0 -0
  509. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/spiderman.toml +0 -0
  510. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/spring.toml +0 -0
  511. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/square.toml +0 -0
  512. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/sublette.toml +0 -0
  513. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/subliminal.toml +0 -0
  514. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/sugarplum.toml +0 -0
  515. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/sundried.toml +0 -0
  516. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/symfonic.toml +0 -0
  517. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/synthwave-everything.toml +0 -0
  518. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/synthwave.toml +0 -0
  519. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/synthwavealpha.toml +0 -0
  520. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tango-adapted.toml +0 -0
  521. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tango-half-adapted.toml +0 -0
  522. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/teerb.toml +0 -0
  523. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/terafox.toml +0 -0
  524. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/terminal-basic.toml +0 -0
  525. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/thayer-bright.toml +0 -0
  526. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/the-hulk.toml +0 -0
  527. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  528. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tinacious-design-(light).toml +0 -0
  529. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tokyonight-day.toml +0 -0
  530. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tokyonight-storm.toml +0 -0
  531. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tokyonight.toml +0 -0
  532. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  533. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  534. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  535. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  536. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tomorrow-night.toml +0 -0
  537. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/tomorrow.toml +0 -0
  538. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/toychest.toml +0 -0
  539. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/treehouse.toml +0 -0
  540. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/twilight.toml +0 -0
  541. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ubuntu.toml +0 -0
  542. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ultradark.toml +0 -0
  543. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/ultraviolent.toml +0 -0
  544. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/underthesea.toml +0 -0
  545. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/unikitty.toml +0 -0
  546. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/urple.toml +0 -0
  547. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/vaughn.toml +0 -0
  548. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/vesper.toml +0 -0
  549. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/vibrantink.toml +0 -0
  550. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/vimbones.toml +0 -0
  551. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/violet-dark.toml +0 -0
  552. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/violet-light.toml +0 -0
  553. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/warmneon.toml +0 -0
  554. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/wez.toml +0 -0
  555. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/whimsy.toml +0 -0
  556. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/wildcherry.toml +0 -0
  557. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/wilmersdorf.toml +0 -0
  558. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/wombat.toml +0 -0
  559. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/wryan.toml +0 -0
  560. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/xcodedark.toml +0 -0
  561. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/xcodedarkhc.toml +0 -0
  562. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/xcodelight.toml +0 -0
  563. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/xcodelighthc.toml +0 -0
  564. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/xcodewwdc.toml +0 -0
  565. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/zenbones-dark.toml +0 -0
  566. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/zenbones-light.toml +0 -0
  567. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/zenbones.toml +0 -0
  568. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/zenburn.toml +0 -0
  569. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/zenburned.toml +0 -0
  570. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/zenwritten-dark.toml +0 -0
  571. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/themes/zenwritten-light.toml +0 -0
  572. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/__init__.py +0 -0
  573. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/azure_tools.py +0 -0
  574. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/file_tools.py +0 -0
  575. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/github_tools.py +0 -0
  576. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/markdown_tools.py +0 -0
  577. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/system_tools.py +0 -0
  578. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/text_tools.py +0 -0
  579. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/web_tools.py +0 -0
  580. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/tools/zendesk_tools.py +0 -0
  581. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/__init__.py +0 -0
  582. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/__init__.py +0 -0
  583. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/api/__init__.py +0 -0
  584. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/api/agent_management.py +0 -0
  585. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/api/flock_management.py +0 -0
  586. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/api/registry_viewer.py +0 -0
  587. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/chat.py +0 -0
  588. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/config.py +0 -0
  589. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/dependencies.py +0 -0
  590. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/models_ui.py +0 -0
  591. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/services/__init__.py +0 -0
  592. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/services/flock_service.py +0 -0
  593. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/services/sharing_models.py +0 -0
  594. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/services/sharing_store.py +0 -0
  595. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/templates/theme_mapper.html +0 -0
  596. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/theme_mapper.py +0 -0
  597. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/app/utils.py +0 -0
  598. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/run.py +0 -0
  599. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/static/css/chat.css +0 -0
  600. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/static/css/components.css +0 -0
  601. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/static/css/header.css +0 -0
  602. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/static/css/layout.css +0 -0
  603. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/static/css/sidebar.css +0 -0
  604. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/static/css/two-pane.css +0 -0
  605. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/base.html +0 -0
  606. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/chat.html +0 -0
  607. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/chat_settings.html +0 -0
  608. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/flock_editor.html +0 -0
  609. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/index.html +0 -0
  610. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_agent_detail_form.html +0 -0
  611. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_agent_list.html +0 -0
  612. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_agent_manager_view.html +0 -0
  613. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_agent_tools_checklist.html +0 -0
  614. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_chat_container.html +0 -0
  615. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_chat_messages.html +0 -0
  616. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_chat_settings_form.html +0 -0
  617. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_create_flock_form.html +0 -0
  618. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_dashboard_flock_detail.html +0 -0
  619. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_dashboard_flock_file_list.html +0 -0
  620. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +0 -0
  621. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_dashboard_upload_flock_form.html +0 -0
  622. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_dynamic_input_form_content.html +0 -0
  623. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_env_vars_table.html +0 -0
  624. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_execution_form.html +0 -0
  625. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_execution_view_container.html +0 -0
  626. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_flock_file_list.html +0 -0
  627. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_flock_properties_form.html +0 -0
  628. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_flock_upload_form.html +0 -0
  629. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_header_flock_status.html +0 -0
  630. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_load_manager_view.html +0 -0
  631. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_registry_table.html +0 -0
  632. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_registry_viewer_content.html +0 -0
  633. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_results_display.html +0 -0
  634. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_settings_env_content.html +0 -0
  635. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_settings_theme_content.html +0 -0
  636. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_settings_view.html +0 -0
  637. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_share_chat_link_snippet.html +0 -0
  638. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_share_link_snippet.html +0 -0
  639. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_sidebar.html +0 -0
  640. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_structured_data_view.html +0 -0
  641. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/partials/_theme_preview.html +0 -0
  642. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/registry_viewer.html +0 -0
  643. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/webapp/templates/shared_run_page.html +0 -0
  644. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/workflow/__init__.py +0 -0
  645. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/workflow/activities.py +0 -0
  646. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/workflow/agent_activities.py +0 -0
  647. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/workflow/agent_execution_activity.py +0 -0
  648. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/workflow/flock_workflow.py +0 -0
  649. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/workflow/temporal_config.py +0 -0
  650. {flock_core-0.4.513 → flock_core-0.4.514}/src/flock/workflow/temporal_setup.py +0 -0
  651. {flock_core-0.4.513 → flock_core-0.4.514}/test_store_integration.py +0 -0
  652. {flock_core-0.4.513 → flock_core-0.4.514}/tests/__init__.py +0 -0
  653. {flock_core-0.4.513 → flock_core-0.4.514}/tests/api/test_custom_endpoints.py +0 -0
  654. {flock_core-0.4.513 → flock_core-0.4.514}/tests/core/test_flock_batch.py +0 -0
  655. {flock_core-0.4.513 → flock_core-0.4.514}/tests/core/test_flock_core.py +0 -0
  656. {flock_core-0.4.513 → flock_core-0.4.514}/tests/integration/__init__.py +0 -0
  657. {flock_core-0.4.513 → flock_core-0.4.514}/tests/integration/test_shared_link_store.py +0 -0
  658. {flock_core-0.4.513 → flock_core-0.4.514}/tests/modules/test_enterprise_memory_store.py +0 -0
  659. {flock_core-0.4.513 → flock_core-0.4.514}/tests/modules/test_vector_adapters.py +0 -0
  660. {flock_core-0.4.513 → flock_core-0.4.514}/tests/serialization/__init__.py +0 -0
  661. {flock_core-0.4.513 → flock_core-0.4.514}/tests/serialization/test_enhanced_serialization.py +0 -0
  662. {flock_core-0.4.513 → flock_core-0.4.514}/tests/serialization/test_file_path_serialization.py +0 -0
  663. {flock_core-0.4.513 → flock_core-0.4.514}/tests/serialization/test_flock_serializer.py +0 -0
  664. {flock_core-0.4.513 → flock_core-0.4.514}/tests/serialization/test_nested_serialization.py +0 -0
  665. {flock_core-0.4.513 → flock_core-0.4.514}/tests/serialization/test_yaml_serialization.py +0 -0
  666. {flock_core-0.4.513 → flock_core-0.4.514}/tests/tools/test_zendesk_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.4.513
3
+ Version: 0.4.514
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -69,6 +69,7 @@ Provides-Extra: all-tools
69
69
  Requires-Dist: azure-identity>=1.23.0; extra == 'all-tools'
70
70
  Requires-Dist: azure-search-documents>=11.5.2; extra == 'all-tools'
71
71
  Requires-Dist: azure-storage-blob>=12.25.1; extra == 'all-tools'
72
+ Requires-Dist: docker>=7.1.0; extra == 'all-tools'
72
73
  Requires-Dist: docling>=2.18.0; extra == 'all-tools'
73
74
  Requires-Dist: duckduckgo-search>=7.3.2; extra == 'all-tools'
74
75
  Requires-Dist: markdownify>=0.14.1; extra == 'all-tools'
@@ -83,6 +84,8 @@ Requires-Dist: docling>=2.18.0; extra == 'basic-tools'
83
84
  Requires-Dist: duckduckgo-search>=7.3.2; extra == 'basic-tools'
84
85
  Requires-Dist: markdownify>=0.14.1; extra == 'basic-tools'
85
86
  Requires-Dist: tavily-python>=0.5.0; extra == 'basic-tools'
87
+ Provides-Extra: code-tools
88
+ Requires-Dist: docker>=7.1.0; extra == 'code-tools'
86
89
  Provides-Extra: evaluation
87
90
  Requires-Dist: datasets>=3.2.0; extra == 'evaluation'
88
91
  Requires-Dist: rouge-score>=0.1.2; extra == 'evaluation'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flock-core"
3
- version = "0.4.513"
3
+ version = "0.4.514"
4
4
  description = "Declarative LLM Orchestration at Scale"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -54,6 +54,7 @@ dependencies = [
54
54
  "opik>=1.7.26",
55
55
  "azure-data-tables>=12.7.0",
56
56
  "croniter>=6.0.0",
57
+
57
58
  ]
58
59
 
59
60
  [project.optional-dependencies]
@@ -69,6 +70,7 @@ azure-tools = [
69
70
  "azure-search-documents>=11.5.2",
70
71
  ]
71
72
  llm-tools = ["nltk>=3.9.1"]
73
+ code-tools = [ "docker>=7.1.0"]
72
74
  memory = [
73
75
  "zep-python>=2.0.2",
74
76
  "mem0ai[graph]>=0.1.101",
@@ -89,6 +91,7 @@ all-tools = [
89
91
  "azure-storage-blob>=12.25.1",
90
92
  "azure-search-documents>=11.5.2",
91
93
  "nltk>=3.9.1",
94
+ "docker>=7.1.0",
92
95
  ]
93
96
  all = [
94
97
  "docling>=2.18.0",
@@ -0,0 +1,103 @@
1
+ # src/flock/core/execution/evaluation_processor.py
2
+ """Contains the EvaluationProcessor class responsible for evaluating Flock agents
3
+ against datasets using various metrics.
4
+ """
5
+
6
+ from pathlib import Path
7
+ from typing import (
8
+ TYPE_CHECKING,
9
+ Any,
10
+ Union,
11
+ )
12
+
13
+ from opik import Opik
14
+ from pandas import DataFrame
15
+
16
+ # Conditional pandas import
17
+ try:
18
+ import pandas as pd
19
+
20
+ PANDAS_AVAILABLE = True
21
+ except ImportError:
22
+ pd = None # type: ignore
23
+ PANDAS_AVAILABLE = False
24
+
25
+ # Box for results
26
+ from datasets import Dataset as HFDataset
27
+
28
+ from flock.core.evaluation.utils import (
29
+ normalize_dataset,
30
+ # Import metric calculation/aggregation helpers
31
+ )
32
+
33
+ # Flock core imports
34
+ from flock.core.logging.logging import get_logger
35
+
36
+ if TYPE_CHECKING:
37
+ from flock.core.flock import Flock
38
+ from flock.core.flock_agent import FlockAgent
39
+ # Conditional types
40
+
41
+
42
+ logger = get_logger("execution.opik")
43
+
44
+
45
+ class OpikExecutor:
46
+ """Handles the evaluation of Flock agents against datasets."""
47
+
48
+ def __init__(self, flock_instance: "Flock"):
49
+ """Initializes the EvaluationProcessor.
50
+
51
+ Args:
52
+ flock_instance: The Flock instance this processor will use.
53
+ """
54
+ self.flock = flock_instance
55
+
56
+ async def evaluate_with_opik(
57
+ self,
58
+ dataset: str | Path | list[dict[str, Any]] | DataFrame | HFDataset,
59
+ start_agent: Union["FlockAgent", str],
60
+ input_mapping: dict[str, str],
61
+ answer_mapping: dict[str, str],) -> DataFrame | list[dict[str, Any]]:
62
+ """Evaluates the Flock's performance against a dataset asynchronously."""
63
+ logger.info(f"Evaluating Flock's performance against dataset: {dataset}")
64
+
65
+ # Evaluation task
66
+ def evaluation_task(dataset_item):
67
+ flock_result = self.flock.run(start_agent=start_agent, input=dataset_item, box_result=False)
68
+
69
+ result = {
70
+ "input": dataset_item.get("test"),
71
+ "output": flock_result.get("answer"),
72
+ "context": ["placeholder string"]
73
+ }
74
+
75
+ return result
76
+
77
+ start_agent_name = (
78
+ start_agent.name if hasattr(start_agent, "name") else start_agent
79
+ )
80
+ dataset_name = str(dataset)
81
+
82
+ # --- 1. Normalize Dataset ---
83
+ try:
84
+ df = normalize_dataset(dataset) # Uses helper
85
+ if df is None or df.empty:
86
+ raise ValueError(
87
+ "Provided dataset is empty or could not be normalized."
88
+ )
89
+ logger.info(f"Normalized dataset with {len(df)} items.")
90
+ except Exception as e:
91
+ logger.error(
92
+ f"Failed to load or normalize dataset: {e}", exc_info=True
93
+ )
94
+ raise ValueError(f"Dataset processing failed: {e}") from e
95
+
96
+ logger.info(f"type(df): {type(df)}") # ➜ <class 'pandas.core.frame.DataFrame'>
97
+ logger.info(f"df.shape: {df.shape}") # e.g. (123456, N_COLUMNS+2)
98
+ logger.info(f"df['split'].value_counts(): {df['split'].value_counts()}")
99
+ logger.info(f"df['config'].unique(): {df['config'].unique()}")
100
+ client = Opik()
101
+ dataset = client.get_or_create_dataset(name=dataset_name)
102
+ dataset.insert_from_pandas(dataframe=df, ignore_keys=["source"])
103
+ logger.info(f"Imported dataset to Opik")
@@ -37,6 +37,14 @@ class InterpreterError(ValueError):
37
37
 
38
38
  pass
39
39
 
40
+ class BreakException(Exception):
41
+ """Signal a 'break' from the simulated loop."""
42
+ pass
43
+
44
+ class ContinueException(Exception):
45
+ """Signal a 'continue' in the simulated loop."""
46
+ pass
47
+
40
48
 
41
49
  class PythonInterpreter:
42
50
  r"""A customized python interpreter to control the execution of
@@ -44,8 +52,6 @@ class PythonInterpreter:
44
52
  functions given in action space and import white list. It also supports
45
53
  fuzzy variable matching to receive uncertain input variable name.
46
54
 
47
- [Documentation omitted for brevity]
48
-
49
55
  Args:
50
56
  action_space (Dict[str, Any]): A dictionary mapping action names to
51
57
  their corresponding functions or objects.
@@ -76,6 +82,9 @@ class PythonInterpreter:
76
82
  "enum",
77
83
  "json",
78
84
  "ast",
85
+ "numpy",
86
+ "sympy",
87
+ "pandas",
79
88
  ] # default imports
80
89
  self.verbose = verbose
81
90
 
@@ -95,50 +104,57 @@ class PythonInterpreter:
95
104
 
96
105
  [Documentation omitted for brevity]
97
106
  """
98
- if state is not None:
99
- self.state.update(state)
100
- if fuzz_state is not None:
101
- self.fuzz_state.update(fuzz_state)
102
-
103
107
  try:
104
- expression = ast.parse(code)
105
- except SyntaxError as e:
106
- error_line = code.splitlines()[e.lineno - 1]
107
- raise InterpreterError(
108
- f"Syntax error in code at line {e.lineno}: {error_line}\nError: {e}"
109
- )
108
+ if state is not None:
109
+ self.state.update(state)
110
+ if fuzz_state is not None:
111
+ self.fuzz_state.update(fuzz_state)
110
112
 
111
- result = None
112
- if self.verbose:
113
- self.log("[Interpreter] Starting code execution...")
113
+ try:
114
+ expression = ast.parse(code)
115
+ except SyntaxError as e:
116
+ error_line = code.splitlines()[e.lineno - 1]
117
+ self.log(
118
+ f"[Interpreter] Syntax error in code at line {e.lineno}: {error_line}\nError: {e}")
119
+ return(
120
+ f"Syntax error in code at line {e.lineno}: {error_line}\nError: {e}"
121
+ )
114
122
 
115
- for idx, node in enumerate(expression.body):
116
- # Log the AST node being executed (using unparse if available)
123
+ result = None
117
124
  if self.verbose:
118
- try:
119
- node_repr = ast.unparse(node)
120
- except Exception:
121
- node_repr = ast.dump(node)
122
- self.log(f"[Interpreter] Executing node {idx}: {node_repr}")
125
+ self.log("[Interpreter] Starting code execution...")
123
126
 
124
- try:
125
- line_result = self._execute_ast(node)
126
- except InterpreterError as e:
127
- if not keep_state:
128
- self.clear_state()
129
- msg = f"Evaluation of the code stopped at node {idx}. See:\n{e}"
130
- raise InterpreterError(msg)
131
- if line_result is not None:
132
- result = line_result
127
+ for idx, node in enumerate(expression.body):
128
+ # Log the AST node being executed (using unparse if available)
133
129
  if self.verbose:
134
- self.log(f"[Interpreter] Node {idx} result: {result}")
130
+ try:
131
+ node_repr = ast.unparse(node)
132
+ except Exception:
133
+ node_repr = ast.dump(node)
134
+ self.log(f"[Interpreter] Executing node {idx}: {node_repr}")
135
135
 
136
- if self.verbose:
137
- self.log("[Interpreter] Finished code execution.")
138
- if not keep_state:
139
- self.clear_state()
136
+ try:
137
+ line_result = self._execute_ast(node)
138
+ except InterpreterError as e:
139
+ if not keep_state:
140
+ self.clear_state()
141
+ msg = f"Evaluation of the code stopped at node {idx}. See:\n{e}"
142
+ return msg
143
+ if line_result is not None:
144
+ result = line_result
145
+ if self.verbose:
146
+ self.log(f"[Interpreter] Node {idx} result: {result}")
140
147
 
141
- return result
148
+ if self.verbose:
149
+ self.log("[Interpreter] Finished code execution.")
150
+ if not keep_state:
151
+ self.clear_state()
152
+
153
+ return result
154
+ except Exception as e:
155
+ self.log(
156
+ f"[Interpreter] Error during code execution: {e}")
157
+ return f"[Interpreter] Error during code execution: {e}"
142
158
 
143
159
  def clear_state(self) -> None:
144
160
  r"""Initialize :obj:`state` and :obj:`fuzz_state`"""
@@ -236,7 +252,7 @@ class PythonInterpreter:
236
252
  elif isinstance(expression, ast.Assert):
237
253
  return self._execute_assert(expression)
238
254
  else:
239
- raise InterpreterError(
255
+ return(
240
256
  f"{expression.__class__.__name__} is not supported."
241
257
  )
242
258
 
@@ -253,17 +269,17 @@ class PythonInterpreter:
253
269
  self.state[target.id] = value
254
270
  elif isinstance(target, ast.Tuple):
255
271
  if not isinstance(value, tuple):
256
- raise InterpreterError(
272
+ return(
257
273
  f"Expected type tuple, but got {value.__class__.__name__} instead."
258
274
  )
259
275
  if len(target.elts) != len(value):
260
- raise InterpreterError(
276
+ return(
261
277
  f"Expected {len(target.elts)} values but got {len(value)}."
262
278
  )
263
279
  for t, v in zip(target.elts, value):
264
280
  self.state[self._execute_ast(t)] = v
265
281
  else:
266
- raise InterpreterError(
282
+ return(
267
283
  f"Unsupported variable type. Expected ast.Name or ast.Tuple, got {target.__class__.__name__} instead."
268
284
  )
269
285
 
@@ -297,7 +313,7 @@ class PythonInterpreter:
297
313
  isinstance(current_value, (int, float))
298
314
  and isinstance(increment_value, (int, float))
299
315
  ):
300
- raise InterpreterError(
316
+ return(
301
317
  f"Invalid types for augmented assignment: {type(current_value)}, {type(increment_value)}"
302
318
  )
303
319
  if isinstance(augassign.op, ast.Add):
@@ -309,7 +325,7 @@ class PythonInterpreter:
309
325
  elif isinstance(augassign.op, ast.Div):
310
326
  new_value = current_value / increment_value
311
327
  else:
312
- raise InterpreterError(
328
+ return(
313
329
  f"Augmented assignment operator {augassign.op} is not supported"
314
330
  )
315
331
  self._assign(augassign.target, new_value)
@@ -319,7 +335,7 @@ class PythonInterpreter:
319
335
  index = self._execute_ast(subscript.slice)
320
336
  value = self._execute_ast(subscript.value)
321
337
  if not isinstance(subscript.ctx, ast.Load):
322
- raise InterpreterError(
338
+ return(
323
339
  f"{subscript.ctx.__class__.__name__} is not supported for subscript."
324
340
  )
325
341
  if isinstance(value, (list, tuple)):
@@ -330,7 +346,7 @@ class PythonInterpreter:
330
346
  close_matches = difflib.get_close_matches(index, list(value.keys()))
331
347
  if len(close_matches) > 0:
332
348
  return value[close_matches[0]]
333
- raise InterpreterError(f"Could not index {value} with '{index}'.")
349
+ return(f"Could not index {value} with '{index}'.")
334
350
 
335
351
  def _execute_name(self, name: ast.Name):
336
352
  if name.id in dir(builtins):
@@ -340,7 +356,7 @@ class PythonInterpreter:
340
356
  elif isinstance(name.ctx, ast.Load):
341
357
  return self._get_value_from_state(name.id)
342
358
  else:
343
- raise InterpreterError(f"{name.ctx} is not supported.")
359
+ return(f"{name.ctx} is not supported.")
344
360
 
345
361
  def _execute_condition(self, condition):
346
362
  if isinstance(condition, ast.BoolOp):
@@ -355,12 +371,12 @@ class PythonInterpreter:
355
371
  ]
356
372
  return any(results)
357
373
  else:
358
- raise InterpreterError(
374
+ return(
359
375
  f"Boolean operator {condition.op} is not supported"
360
376
  )
361
377
  elif isinstance(condition, ast.Compare):
362
378
  if len(condition.ops) > 1:
363
- raise InterpreterError(
379
+ return(
364
380
  "Cannot evaluate conditions with multiple operators"
365
381
  )
366
382
  left = self._execute_ast(condition.left)
@@ -387,7 +403,7 @@ class PythonInterpreter:
387
403
  elif isinstance(comparator, ast.NotIn):
388
404
  return left not in right
389
405
  else:
390
- raise InterpreterError("Unsupported comparison operator")
406
+ return("Unsupported comparison operator")
391
407
  elif isinstance(condition, ast.UnaryOp):
392
408
  return self._execute_unaryop(condition)
393
409
  elif isinstance(condition, ast.Name) or isinstance(condition, ast.Call):
@@ -395,7 +411,7 @@ class PythonInterpreter:
395
411
  elif isinstance(condition, ast.Constant):
396
412
  return bool(condition.value)
397
413
  else:
398
- raise InterpreterError(
414
+ return(
399
415
  f"Unsupported condition type: {type(condition).__name__}"
400
416
  )
401
417
 
@@ -428,7 +444,7 @@ class PythonInterpreter:
428
444
 
429
445
  def _execute_import_from(self, import_from: ast.ImportFrom):
430
446
  if import_from.module is None:
431
- raise InterpreterError('"from . import" is not supported.')
447
+ return('"from . import" is not supported.')
432
448
  for import_name in import_from.names:
433
449
  full_name = import_from.module + f".{import_name.name}"
434
450
  self._validate_import(full_name)
@@ -440,12 +456,6 @@ class PythonInterpreter:
440
456
  # We keep both as provided, but you may wish to consolidate these in your code.
441
457
 
442
458
  def _execute_for(self, for_statement: ast.For):
443
- class BreakException(Exception):
444
- pass
445
-
446
- class ContinueException(Exception):
447
- pass
448
-
449
459
  result = None
450
460
  try:
451
461
  for value in self._execute_ast(for_statement.iter):
@@ -462,12 +472,6 @@ class PythonInterpreter:
462
472
  return result
463
473
 
464
474
  def _execute_while(self, while_statement: ast.While):
465
- class BreakException(Exception):
466
- pass
467
-
468
- class ContinueException(Exception):
469
- pass
470
-
471
475
  result = None
472
476
  try:
473
477
  while self._execute_condition(while_statement.test):
@@ -540,7 +544,7 @@ class PythonInterpreter:
540
544
  found_name = True
541
545
  return
542
546
  if not found_name:
543
- raise InterpreterError(
547
+ return(
544
548
  f"It is not permitted to import modules "
545
549
  f"than module white list (try to import {full_name})."
546
550
  )
@@ -577,7 +581,7 @@ class PythonInterpreter:
577
581
  elif isinstance(operator, ast.MatMult):
578
582
  return left @ right
579
583
  else:
580
- raise InterpreterError(f"Operator not supported: {operator}")
584
+ return(f"Operator not supported: {operator}")
581
585
 
582
586
  def _execute_unaryop(self, unaryop: ast.UnaryOp):
583
587
  operand = self._execute_ast(unaryop.operand)
@@ -592,31 +596,33 @@ class PythonInterpreter:
592
596
  elif isinstance(operator, ast.Invert):
593
597
  return ~operand
594
598
  else:
595
- raise InterpreterError(f"Operator not supported: {operator}")
599
+ return(f"Operator not supported: {operator}")
596
600
 
597
601
  def _execute_listcomp(self, comp: ast.ListComp):
598
- return [self._execute_comp(comp.elt, comp.generators)]
599
-
600
- def _execute_dictcomp(self, comp: ast.DictComp):
601
- return {
602
- self._execute_comp(comp.key, comp.generators): self._execute_comp(
603
- comp.value, comp.generators
604
- )
605
- }
602
+ return self._execute_comp(comp.elt, comp.generators)
606
603
 
607
604
  def _execute_setcomp(self, comp: ast.SetComp):
608
- return {self._execute_comp(comp.elt, comp.generators)}
605
+ return set(self._execute_comp(comp.elt, comp.generators))
606
+
607
+ def _execute_dictcomp(self, comp: ast.DictComp):
608
+ keys = self._execute_comp(comp.key, comp.generators)
609
+ values = self._execute_comp(comp.value, comp.generators)
610
+ return dict(zip(keys, values))
609
611
 
610
612
  def _execute_comp(self, elt, generators):
613
+ # Base-case: wrap the single element in a list so that
614
+ # callers can safely .extend() it.
611
615
  if not generators:
612
- return self._execute_ast(elt)
616
+ return [self._execute_ast(elt)]
617
+
613
618
  gen = generators[0]
614
- result = []
619
+ acc: list[Any] = []
615
620
  for value in self._execute_ast(gen.iter):
616
621
  self._assign(gen.target, value)
617
622
  if all(self._execute_condition(if_cond) for if_cond in gen.ifs):
618
- result.extend(self._execute_comp(elt, generators[1:]))
619
- return result
623
+ acc.extend(self._execute_comp(elt, generators[1:]))
624
+ return acc
625
+
620
626
 
621
627
  def _execute_generatorexp(self, genexp: ast.GeneratorExp):
622
628
  def generator():
@@ -631,7 +637,7 @@ class PythonInterpreter:
631
637
  elif key in self.fuzz_state:
632
638
  return self.fuzz_state[key]
633
639
  else:
634
- raise InterpreterError(f"The variable `{key}` is not defined.")
640
+ return(f"The variable `{key}` is not defined.")
635
641
 
636
642
 
637
643
  class TextPrompt(str):
@@ -9,7 +9,7 @@ from typing import Any, Literal
9
9
  from dspy import Tool
10
10
 
11
11
  from flock.core.logging.logging import get_logger
12
- from flock.core.util.spliter import split_top_level
12
+ from flock.core.util.splitter import split_top_level
13
13
 
14
14
  # Import split_top_level (assuming it's moved or copied appropriately)
15
15
  # Option 1: If moved to a shared util
@@ -1,7 +1,7 @@
1
1
  """Utility functions for resolving input keys to their corresponding values."""
2
2
 
3
3
  from flock.core.context.context import FlockContext
4
- from flock.core.util.spliter import split_top_level
4
+ from flock.core.util.splitter import split_top_level
5
5
 
6
6
 
7
7
  def get_callable_members(obj):
@@ -0,0 +1,167 @@
1
+ from flock.core.interpreter.python_interpreter import PythonInterpreter
2
+ from flock.core.logging.trace_and_logged import traced_and_logged
3
+
4
+
5
+ @traced_and_logged
6
+ def code_evaluate_math(expression: str) -> float:
7
+ try:
8
+ result = PythonInterpreter(
9
+ {},
10
+ [
11
+ "os",
12
+ "math",
13
+ "random",
14
+ "datetime",
15
+ "time",
16
+ "string",
17
+ "collections",
18
+ "itertools",
19
+ "functools",
20
+ "typing",
21
+ "enum",
22
+ "json",
23
+ "ast",
24
+ ],
25
+ verbose=True,
26
+ ).execute(expression)
27
+ return result
28
+ except Exception:
29
+ raise
30
+
31
+
32
+ @traced_and_logged
33
+ def code_code_eval(python_code: str) -> str:
34
+ """A Python code evaluation tool that executes Python code and returns the result.
35
+
36
+ The code may not be markdown-escaped with triple backticks.
37
+ It is expected to be a valid Python code snippet that can be executed directly.
38
+ The code is executed in a controlled environment with a limited set of libraries.
39
+ It allows the use of the following libraries:
40
+ "os",
41
+ "math",
42
+ "random",
43
+ "datetime",
44
+ "time",
45
+ "string",
46
+ "collections",
47
+ "itertools",
48
+ "functools",
49
+ "typing",
50
+ "enum",
51
+ "json",
52
+ "ast",
53
+ "numpy",
54
+ "sympy",
55
+ "pandas",
56
+ "httpx",
57
+ """
58
+ try:
59
+ result = PythonInterpreter(
60
+ {},
61
+ [
62
+ "os",
63
+ "math",
64
+ "random",
65
+ "datetime",
66
+ "time",
67
+ "string",
68
+ "collections",
69
+ "itertools",
70
+ "functools",
71
+ "typing",
72
+ "enum",
73
+ "json",
74
+ "ast",
75
+ "numpy",
76
+ "sympy",
77
+ "pandas",
78
+ ],
79
+ verbose=True,
80
+ ).execute(python_code)
81
+ return result
82
+ except Exception:
83
+ raise
84
+
85
+
86
+ @traced_and_logged
87
+ def docker_code_execute(python_code: str) -> str:
88
+ """Execute Python code in a sandboxed Docker container."""
89
+ import ast
90
+ import os
91
+ import pathlib
92
+ import platform
93
+ import shutil
94
+ import textwrap
95
+ import uuid
96
+
97
+ import docker
98
+ def _auto_print_last_expr(code: str) -> str:
99
+ """If the last top-level statement is a bare expression,
100
+ append a print() so script mode surfaces its value.
101
+ """
102
+ tree = ast.parse(code, mode="exec")
103
+ if tree.body and isinstance(tree.body[-1], ast.Expr):
104
+ # Re-extract the exact source of that expression
105
+ expr_src = textwrap.dedent(
106
+ code.splitlines()[tree.body[-1].lineno - 1]
107
+ )
108
+ code += f"\nprint({expr_src})"
109
+ return code
110
+ # --- 1. Figure out a base directory that exists on this OS ----------
111
+ if platform.system() == "Windows":
112
+ base_dir = pathlib.Path(os.getenv("SANDBOX_BASE_DIR", r"C:\sandboxes"))
113
+ else: # Linux, macOS, WSL2
114
+ base_dir = pathlib.Path(os.getenv("SANDBOX_BASE_DIR", "/var/sandboxes"))
115
+
116
+ base_dir.mkdir(parents=True, exist_ok=True)
117
+
118
+ sandbox_id = f"sbox-{uuid.uuid4()}"
119
+ workdir = base_dir / sandbox_id
120
+ workdir.mkdir(parents=True, exist_ok=False)
121
+
122
+ # Docker’s HTTP API always wants POSIX‐style paths (“/”, drive letter allowed).
123
+ host_path = workdir.resolve().as_posix() # e.g. "C:/sandboxes/…"
124
+
125
+ client = docker.from_env()
126
+ image = "python:3.12-slim"
127
+
128
+ # --- 2. Decide whether we can / should request the gVisor runtime ---
129
+ runtime_args = {}
130
+ if platform.system() != "Windows" and shutil.which("runsc"):
131
+ runtime_args["runtime"] = "runsc" # gVisor on Linux & macOS
132
+
133
+ container = client.containers.run(
134
+ image,
135
+ name=sandbox_id,
136
+ command=["sleep", "infinity"],
137
+ user="65534:65534", # nobody
138
+ network_mode="none",
139
+ volumes={host_path: {"bind": "/workspace", "mode": "rw"}},
140
+ mem_limit="4g",
141
+ cpu_period=100_000,
142
+ cpu_quota=200_000, # 2 vCPU
143
+ security_opt=["no-new-privileges"],
144
+ detach=True,
145
+ **runtime_args,
146
+ )
147
+
148
+ try:
149
+ def exec_code(cmd: list[str], timeout: int = 30) -> str:
150
+ exec_id = client.api.exec_create(
151
+ container.id, cmd, workdir="/workspace"
152
+ )["Id"]
153
+ return client.api.exec_start(
154
+ exec_id, stream=False, demux=False, tty=False,
155
+ ).decode()
156
+
157
+ # --- 3. Copy code in and execute --------------------------------
158
+ (workdir / "main.py").write_text(_auto_print_last_expr(python_code), encoding="utf-8")
159
+ stdout = exec_code(["python", "main.py"], timeout=30)
160
+ return stdout.strip()
161
+
162
+ finally:
163
+ # --- 4. Tear everything down ------------------------------------
164
+ container.remove(force=True)
165
+ shutil.rmtree(workdir, ignore_errors=True)
166
+
167
+