flock-core 0.4.0b38__tar.gz → 0.4.0b40__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 (599) hide show
  1. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/PKG-INFO +1 -1
  2. flock_core-0.4.0b40/docs/about/changelog.md +37 -0
  3. flock_core-0.4.0b40/docs/about/contributing.md +65 -0
  4. flock_core-0.4.0b40/docs/components/evaluators.md +82 -0
  5. flock_core-0.4.0b40/docs/components/index.md +43 -0
  6. flock_core-0.4.0b40/docs/components/modules.md +76 -0
  7. flock_core-0.4.0b40/docs/components/tools.md +66 -0
  8. flock_core-0.4.0b40/docs/core-concepts/agents.md +118 -0
  9. flock_core-0.4.0b40/docs/core-concepts/declarative.md +121 -0
  10. flock_core-0.4.0b40/docs/core-concepts/index.md +105 -0
  11. flock_core-0.4.0b40/docs/core-concepts/workflows.md +127 -0
  12. flock_core-0.4.0b40/docs/deployment/index.md +60 -0
  13. flock_core-0.4.0b40/docs/deployment/temporal.md +107 -0
  14. flock_core-0.4.0b40/docs/getting-started/concepts.md +28 -0
  15. flock_core-0.4.0b40/docs/guides/custom-endpoints.md +123 -0
  16. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/guides/index.md +1 -0
  17. flock_core-0.4.0b40/docs/reference/flock_agent.md +93 -0
  18. flock_core-0.4.0b40/docs/reference/index.md +14 -0
  19. flock_core-0.4.0b40/docs/release-notes/magpie.md +48 -0
  20. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/pyproject.toml +1 -1
  21. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/config.py +6 -1
  22. flock_core-0.4.0b40/src/flock/core/api/custom_endpoint.py +40 -0
  23. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/main.py +120 -6
  24. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/runner.py +9 -3
  25. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/execution/batch_executor.py +88 -55
  26. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/flock.py +6 -3
  27. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/flock_registry.py +18 -4
  28. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/telemetry.py +32 -0
  29. flock_core-0.4.0b40/tests/api/test_custom_endpoints.py +50 -0
  30. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/uv.lock +1 -1
  31. flock_core-0.4.0b38/docs/about/changelog.md +0 -8
  32. flock_core-0.4.0b38/docs/about/contributing.md +0 -8
  33. flock_core-0.4.0b38/docs/components/evaluators.md +0 -8
  34. flock_core-0.4.0b38/docs/components/index.md +0 -8
  35. flock_core-0.4.0b38/docs/components/modules.md +0 -8
  36. flock_core-0.4.0b38/docs/components/tools.md +0 -8
  37. flock_core-0.4.0b38/docs/core-concepts/agents.md +0 -8
  38. flock_core-0.4.0b38/docs/core-concepts/declarative.md +0 -8
  39. flock_core-0.4.0b38/docs/core-concepts/index.md +0 -8
  40. flock_core-0.4.0b38/docs/core-concepts/workflows.md +0 -8
  41. flock_core-0.4.0b38/docs/deployment/index.md +0 -8
  42. flock_core-0.4.0b38/docs/deployment/temporal.md +0 -8
  43. flock_core-0.4.0b38/docs/reference/flock_agent.md +0 -8
  44. flock_core-0.4.0b38/docs/reference/index.md +0 -8
  45. flock_core-0.4.0b38/docs/release-notes/magpie.md +0 -0
  46. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.devcontainer/devcontainer.json +0 -0
  47. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.env_template +0 -0
  48. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  49. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  50. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  51. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.github/workflows/.gitkeep +0 -0
  52. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.github/workflows/deploy-documentation.yml +0 -0
  53. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
  54. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.gitignore +0 -0
  55. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.gitmodules +0 -0
  56. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.vscode/launch.json +0 -0
  57. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.vscode/settings.json +0 -0
  58. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/.vscode/tasks.json +0 -0
  59. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/LICENSE +0 -0
  60. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/README.md +0 -0
  61. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/drawio/architecture.drawio +0 -0
  62. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/cli_outputs/out.png +0 -0
  63. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/components_chart.png +0 -0
  64. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/examples/01_01.png +0 -0
  65. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/examples/01_02.png +0 -0
  66. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/examples/01_03.png +0 -0
  67. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/examples/01_04.png +0 -0
  68. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/examples/01_05.png +0 -0
  69. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/examples/01_06.png +0 -0
  70. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/flock.png +0 -0
  71. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/flock_cli.png +0 -0
  72. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/flow_chart.png +0 -0
  73. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/getting-started/first_agent_00.png +0 -0
  74. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/hummingbird.png +0 -0
  75. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/icon.png +0 -0
  76. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/icon.png~ +0 -0
  77. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/logo.png +0 -0
  78. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/memory_concepts.png +0 -0
  79. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/memory_flow.png +0 -0
  80. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/assets/images/memory_flow_chart.png +0 -0
  81. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/create_doc_boilerplate.py +0 -0
  82. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/getting-started/configuration.md +0 -0
  83. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/getting-started/index.md +0 -0
  84. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/getting-started/installation.md +0 -0
  85. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/getting-started/quickstart.md +0 -0
  86. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/guides/chaining-agents.md +0 -0
  87. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/guides/temporal-configuration.md +0 -0
  88. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/index.md +0 -0
  89. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/interacting-with-flock/cli-tool.md +0 -0
  90. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/interacting-with-flock/index.md +0 -0
  91. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/interacting-with-flock/interactive-cli.md +0 -0
  92. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/interacting-with-flock/programmatic.md +0 -0
  93. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/interacting-with-flock/rest-api.md +0 -0
  94. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/interacting-with-flock/web-ui.md +0 -0
  95. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/docs/stylesheets/extra.css +0 -0
  96. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/mkdocs.yml +0 -0
  97. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/requirements.txt +0 -0
  98. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/scripts/code_collector.py +0 -0
  99. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/scripts/create_docs.py +0 -0
  100. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/scripts/ensure_uv.py +0 -0
  101. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/__init__.py +0 -0
  102. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/assets/release_notes.md +0 -0
  103. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/config.py +0 -0
  104. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/constants.py +0 -0
  105. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/create_agent.py +0 -0
  106. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/create_flock.py +0 -0
  107. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/execute_flock.py +0 -0
  108. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/load_agent.py +0 -0
  109. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/load_examples.py +0 -0
  110. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/load_flock.py +0 -0
  111. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/load_release_notes.py +0 -0
  112. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/loaded_flock_cli.py +0 -0
  113. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/manage_agents.py +0 -0
  114. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/registry_management.py +0 -0
  115. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/runner.py +0 -0
  116. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/settings.py +0 -0
  117. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/utils.py +0 -0
  118. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/view_results.py +0 -0
  119. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/cli/yaml_editor.py +0 -0
  120. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/__init__.py +0 -0
  121. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/__init__.py +0 -0
  122. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/endpoints.py +0 -0
  123. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/models.py +0 -0
  124. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/run_store.py +0 -0
  125. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/ui/__init__.py +0 -0
  126. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/ui/routes.py +0 -0
  127. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/api/ui/utils.py +0 -0
  128. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/context/context.py +0 -0
  129. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/context/context_manager.py +0 -0
  130. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/context/context_vars.py +0 -0
  131. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/evaluation/utils.py +0 -0
  132. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/execution/evaluation_executor.py +0 -0
  133. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/execution/local_executor.py +0 -0
  134. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/execution/temporal_executor.py +0 -0
  135. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/flock_agent.py +0 -0
  136. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/flock_evaluator.py +0 -0
  137. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/flock_factory.py +0 -0
  138. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/flock_module.py +0 -0
  139. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/flock_router.py +0 -0
  140. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/interpreter/python_interpreter.py +0 -0
  141. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/__init__.py +0 -0
  142. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/formatters/enum_builder.py +0 -0
  143. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/formatters/theme_builder.py +0 -0
  144. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/formatters/themed_formatter.py +0 -0
  145. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/formatters/themes.py +0 -0
  146. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/logging.py +0 -0
  147. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/span_middleware/baggage_span_processor.py +0 -0
  148. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/telemetry_exporter/base_exporter.py +0 -0
  149. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/telemetry_exporter/file_exporter.py +0 -0
  150. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/telemetry_exporter/sqlite_exporter.py +0 -0
  151. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/logging/trace_and_logged.py +0 -0
  152. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/mixin/dspy_integration.py +0 -0
  153. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/mixin/prompt_parser.py +0 -0
  154. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/serialization/__init__.py +0 -0
  155. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/serialization/callable_registry.py +0 -0
  156. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/serialization/flock_serializer.py +0 -0
  157. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/serialization/json_encoder.py +0 -0
  158. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/serialization/secure_serializer.py +0 -0
  159. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/serialization/serializable.py +0 -0
  160. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/serialization/serialization_utils.py +0 -0
  161. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/tools/azure_tools.py +0 -0
  162. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/tools/basic_tools.py +0 -0
  163. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/tools/dev_tools/github.py +0 -0
  164. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/tools/llm_tools.py +0 -0
  165. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/tools/markdown_tools.py +0 -0
  166. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/tools/zendesk_tools.py +0 -0
  167. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/util/cli_helper.py +0 -0
  168. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/util/file_path_utils.py +0 -0
  169. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/util/hydrator.py +0 -0
  170. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/util/input_resolver.py +0 -0
  171. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/util/loader.py +0 -0
  172. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/core/util/spliter.py +0 -0
  173. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/evaluators/declarative/declarative_evaluator.py +0 -0
  174. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/evaluators/memory/memory_evaluator.py +0 -0
  175. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/evaluators/test/test_case_evaluator.py +0 -0
  176. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/evaluators/zep/zep_evaluator.py +0 -0
  177. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/assertion/assertion_module.py +0 -0
  178. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/callback/callback_module.py +0 -0
  179. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/memory/memory_module.py +0 -0
  180. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/memory/memory_parser.py +0 -0
  181. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/memory/memory_storage.py +0 -0
  182. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/output/output_module.py +0 -0
  183. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/performance/metrics_module.py +0 -0
  184. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/modules/zep/zep_module.py +0 -0
  185. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/platform/docker_tools.py +0 -0
  186. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/platform/jaeger_install.py +0 -0
  187. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/__init__.py +0 -0
  188. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/agent/__init__.py +0 -0
  189. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/agent/agent_router.py +0 -0
  190. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/agent/handoff_agent.py +0 -0
  191. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/conditional/conditional_router.py +0 -0
  192. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/default/__init__.py +0 -0
  193. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/default/default_router.py +0 -0
  194. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/feedback/feedback_router.py +0 -0
  195. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/list_generator/list_generator_router.py +0 -0
  196. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/llm/__init__.py +0 -0
  197. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/routers/llm/llm_router.py +0 -0
  198. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/3024-day.toml +0 -0
  199. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/3024-night.toml +0 -0
  200. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/aardvark-blue.toml +0 -0
  201. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/abernathy.toml +0 -0
  202. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/adventure.toml +0 -0
  203. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/adventuretime.toml +0 -0
  204. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/afterglow.toml +0 -0
  205. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/alabaster.toml +0 -0
  206. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/alienblood.toml +0 -0
  207. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/andromeda.toml +0 -0
  208. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/apple-classic.toml +0 -0
  209. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/apple-system-colors.toml +0 -0
  210. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/arcoiris.toml +0 -0
  211. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/argonaut copy.toml +0 -0
  212. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/argonaut.toml +0 -0
  213. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/arthur.toml +0 -0
  214. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ateliersulphurpool.toml +0 -0
  215. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/atom.toml +0 -0
  216. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/atom_test.toml +0 -0
  217. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/atomonelight.toml +0 -0
  218. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/aurora.toml +0 -0
  219. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ayu copy.toml +0 -0
  220. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ayu-light.toml +0 -0
  221. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ayu-mirage.toml +0 -0
  222. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ayu.toml +0 -0
  223. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/banana-blueberry.toml +0 -0
  224. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/batman.toml +0 -0
  225. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/belafonte-day.toml +0 -0
  226. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/belafonte-night.toml +0 -0
  227. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/birdsofparadise.toml +0 -0
  228. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/blazer.toml +0 -0
  229. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/blue-matrix.toml +0 -0
  230. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/blueberrypie.toml +0 -0
  231. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/bluedolphin.toml +0 -0
  232. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/blulocodark.toml +0 -0
  233. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/blulocolight.toml +0 -0
  234. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/borland.toml +0 -0
  235. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/breeze.toml +0 -0
  236. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/bright-lights.toml +0 -0
  237. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/broadcast.toml +0 -0
  238. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/brogrammer.toml +0 -0
  239. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/builtin-dark.toml +0 -0
  240. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/builtin-light.toml +0 -0
  241. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/builtin-pastel-dark.toml +0 -0
  242. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/builtin-solarized-dark.toml +0 -0
  243. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/builtin-solarized-light.toml +0 -0
  244. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/builtin-tango-dark.toml +0 -0
  245. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/builtin-tango-light.toml +0 -0
  246. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/c64.toml +0 -0
  247. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/calamity.toml +0 -0
  248. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/catppuccin-frappe.toml +0 -0
  249. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/catppuccin-latte.toml +0 -0
  250. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/catppuccin-macchiato.toml +0 -0
  251. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/catppuccin-mocha.toml +0 -0
  252. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/cga.toml +0 -0
  253. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/chalk.toml +0 -0
  254. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/chalkboard.toml +0 -0
  255. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/challengerdeep.toml +0 -0
  256. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/chester.toml +0 -0
  257. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ciapre.toml +0 -0
  258. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/clrs.toml +0 -0
  259. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/cobalt-neon.toml +0 -0
  260. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/cobalt2.toml +0 -0
  261. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/coffee-theme.toml +0 -0
  262. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/crayonponyfish.toml +0 -0
  263. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/cutiepro.toml +0 -0
  264. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/cyberdyne.toml +0 -0
  265. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/cyberpunk.toml +0 -0
  266. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
  267. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dark+.toml +0 -0
  268. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dark-pastel.toml +0 -0
  269. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/darkermatrix.toml +0 -0
  270. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/darkmatrix.toml +0 -0
  271. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/darkside.toml +0 -0
  272. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dayfox.toml +0 -0
  273. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/deep.toml +0 -0
  274. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/desert.toml +0 -0
  275. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dimidium.toml +0 -0
  276. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dimmedmonokai.toml +0 -0
  277. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/django.toml +0 -0
  278. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/djangorebornagain.toml +0 -0
  279. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/djangosmooth.toml +0 -0
  280. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/doom-peacock.toml +0 -0
  281. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/doomone.toml +0 -0
  282. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dotgov.toml +0 -0
  283. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dracula+.toml +0 -0
  284. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/dracula.toml +0 -0
  285. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/duckbones.toml +0 -0
  286. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/duotone-dark.toml +0 -0
  287. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/earthsong.toml +0 -0
  288. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/elemental.toml +0 -0
  289. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/elementary.toml +0 -0
  290. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/encom.toml +0 -0
  291. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/espresso-libre.toml +0 -0
  292. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/espresso.toml +0 -0
  293. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/everblush.toml +0 -0
  294. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/fahrenheit.toml +0 -0
  295. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/fairyfloss.toml +0 -0
  296. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/farmhouse-dark.toml +0 -0
  297. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/farmhouse-light.toml +0 -0
  298. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/fideloper.toml +0 -0
  299. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/firefly-traditional.toml +0 -0
  300. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/firefoxdev.toml +0 -0
  301. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/firewatch.toml +0 -0
  302. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/fishtank.toml +0 -0
  303. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/flat.toml +0 -0
  304. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/flatland.toml +0 -0
  305. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/flexoki-dark.toml +0 -0
  306. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/flexoki-light.toml +0 -0
  307. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/floraverse.toml +0 -0
  308. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/forestblue.toml +0 -0
  309. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/framer.toml +0 -0
  310. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/frontenddelight.toml +0 -0
  311. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/funforrest.toml +0 -0
  312. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/galaxy.toml +0 -0
  313. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/galizur.toml +0 -0
  314. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/github-dark.toml +0 -0
  315. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/github.toml +0 -0
  316. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/glacier.toml +0 -0
  317. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/grape.toml +0 -0
  318. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/grass.toml +0 -0
  319. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/grey-green.toml +0 -0
  320. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/gruber-darker.toml +0 -0
  321. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/gruvboxdark.toml +0 -0
  322. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/gruvboxdarkhard.toml +0 -0
  323. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/gruvboxlight.toml +0 -0
  324. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/guezwhoz.toml +0 -0
  325. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hacktober.toml +0 -0
  326. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hardcore.toml +0 -0
  327. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/harper.toml +0 -0
  328. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hax0r-blue.toml +0 -0
  329. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hax0r-gr33n.toml +0 -0
  330. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hax0r-r3d.toml +0 -0
  331. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/highway.toml +0 -0
  332. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hipster-green.toml +0 -0
  333. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hivacruz.toml +0 -0
  334. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/homebrew.toml +0 -0
  335. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hopscotch.256.toml +0 -0
  336. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hopscotch.toml +0 -0
  337. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hurtado.toml +0 -0
  338. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/hybrid.toml +0 -0
  339. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ic-green-ppl.toml +0 -0
  340. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ic-orange-ppl.toml +0 -0
  341. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iceberg-dark.toml +0 -0
  342. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iceberg-light.toml +0 -0
  343. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/idea.toml +0 -0
  344. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/idletoes.toml +0 -0
  345. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ir-black.toml +0 -0
  346. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-dark-background.toml +0 -0
  347. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-default.toml +0 -0
  348. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-light-background.toml +0 -0
  349. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
  350. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-smoooooth.toml +0 -0
  351. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
  352. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-solarized-light.toml +0 -0
  353. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-tango-dark.toml +0 -0
  354. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/iterm2-tango-light.toml +0 -0
  355. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/jackie-brown.toml +0 -0
  356. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/japanesque.toml +0 -0
  357. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/jellybeans.toml +0 -0
  358. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/jetbrains-darcula.toml +0 -0
  359. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/jubi.toml +0 -0
  360. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/kanagawabones.toml +0 -0
  361. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/kibble.toml +0 -0
  362. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/kolorit.toml +0 -0
  363. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/konsolas.toml +0 -0
  364. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/kurokula.toml +0 -0
  365. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/lab-fox.toml +0 -0
  366. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/laser.toml +0 -0
  367. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/later-this-evening.toml +0 -0
  368. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/lavandula.toml +0 -0
  369. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/liquidcarbon.toml +0 -0
  370. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/liquidcarbontransparent.toml +0 -0
  371. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
  372. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/lovelace.toml +0 -0
  373. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/man-page.toml +0 -0
  374. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/mariana.toml +0 -0
  375. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/material.toml +0 -0
  376. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/materialdark.toml +0 -0
  377. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/materialdarker.toml +0 -0
  378. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/materialdesigncolors.toml +0 -0
  379. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/materialocean.toml +0 -0
  380. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/mathias.toml +0 -0
  381. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/matrix.toml +0 -0
  382. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/medallion.toml +0 -0
  383. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/mellifluous.toml +0 -0
  384. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/midnight-in-mojave.toml +0 -0
  385. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/mirage.toml +0 -0
  386. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/misterioso.toml +0 -0
  387. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/molokai.toml +0 -0
  388. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/monalisa.toml +0 -0
  389. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/monokai-remastered.toml +0 -0
  390. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/monokai-soda.toml +0 -0
  391. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/monokai-vivid.toml +0 -0
  392. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/n0tch2k.toml +0 -0
  393. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/neobones-dark.toml +0 -0
  394. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/neobones-light.toml +0 -0
  395. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/neon.toml +0 -0
  396. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/neopolitan.toml +0 -0
  397. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/neutron.toml +0 -0
  398. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/night-owlish-light.toml +0 -0
  399. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nightfox.toml +0 -0
  400. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nightlion-v1.toml +0 -0
  401. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nightlion-v2.toml +0 -0
  402. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/niji.toml +0 -0
  403. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nocturnal-winter.toml +0 -0
  404. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nord-light.toml +0 -0
  405. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nord.toml +0 -0
  406. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/novel.toml +0 -0
  407. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nvimdark.toml +0 -0
  408. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/nvimlight.toml +0 -0
  409. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/obsidian.toml +0 -0
  410. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ocean.toml +0 -0
  411. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/oceanic-next.toml +0 -0
  412. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/oceanicmaterial.toml +0 -0
  413. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ollie.toml +0 -0
  414. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/onehalfdark.toml +0 -0
  415. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/onehalflight.toml +0 -0
  416. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/operator-mono-dark.toml +0 -0
  417. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/overnight-slumber.toml +0 -0
  418. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/oxocarbon.toml +0 -0
  419. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/palenighthc.toml +0 -0
  420. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/pandora.toml +0 -0
  421. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/paraiso-dark.toml +0 -0
  422. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/paulmillr.toml +0 -0
  423. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/pencildark.toml +0 -0
  424. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/pencillight.toml +0 -0
  425. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/peppermint.toml +0 -0
  426. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/piatto-light.toml +0 -0
  427. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/pnevma.toml +0 -0
  428. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/popping-and-locking.toml +0 -0
  429. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/primary.toml +0 -0
  430. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/pro-light.toml +0 -0
  431. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/pro.toml +0 -0
  432. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/purple-rain.toml +0 -0
  433. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/purplepeter.toml +0 -0
  434. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/rapture.toml +0 -0
  435. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/raycast-dark.toml +0 -0
  436. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/raycast-light.toml +0 -0
  437. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/rebecca.toml +0 -0
  438. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/red-alert.toml +0 -0
  439. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/red-planet.toml +0 -0
  440. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/red-sands.toml +0 -0
  441. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/relaxed.toml +0 -0
  442. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/retro.toml +0 -0
  443. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/rippedcasts.toml +0 -0
  444. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/rose-pine-dawn.toml +0 -0
  445. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/rose-pine-moon.toml +0 -0
  446. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/rose-pine.toml +0 -0
  447. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/rouge-2.toml +0 -0
  448. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/royal.toml +0 -0
  449. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ryuuko.toml +0 -0
  450. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/sakura.toml +0 -0
  451. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/scarlet-protocol.toml +0 -0
  452. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/seafoam-pastel.toml +0 -0
  453. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/seashells.toml +0 -0
  454. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/seoulbones-dark.toml +0 -0
  455. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/seoulbones-light.toml +0 -0
  456. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/seti.toml +0 -0
  457. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/shades-of-purple.toml +0 -0
  458. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/shaman.toml +0 -0
  459. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/slate.toml +0 -0
  460. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/sleepyhollow.toml +0 -0
  461. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/smyck.toml +0 -0
  462. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/snazzy.toml +0 -0
  463. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/softserver.toml +0 -0
  464. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/solarized-darcula.toml +0 -0
  465. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/solarized-dark---patched.toml +0 -0
  466. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
  467. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/spacedust.toml +0 -0
  468. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
  469. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/spacegray-eighties.toml +0 -0
  470. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/spacegray.toml +0 -0
  471. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/spiderman.toml +0 -0
  472. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/spring.toml +0 -0
  473. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/square.toml +0 -0
  474. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/sublette.toml +0 -0
  475. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/subliminal.toml +0 -0
  476. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/sugarplum.toml +0 -0
  477. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/sundried.toml +0 -0
  478. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/symfonic.toml +0 -0
  479. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/synthwave-everything.toml +0 -0
  480. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/synthwave.toml +0 -0
  481. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/synthwavealpha.toml +0 -0
  482. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tango-adapted.toml +0 -0
  483. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tango-half-adapted.toml +0 -0
  484. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/teerb.toml +0 -0
  485. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/terafox.toml +0 -0
  486. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/terminal-basic.toml +0 -0
  487. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/thayer-bright.toml +0 -0
  488. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/the-hulk.toml +0 -0
  489. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tinacious-design-(dark).toml +0 -0
  490. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tinacious-design-(light).toml +0 -0
  491. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tokyonight-day.toml +0 -0
  492. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tokyonight-storm.toml +0 -0
  493. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tokyonight.toml +0 -0
  494. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tomorrow-night-blue.toml +0 -0
  495. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tomorrow-night-bright.toml +0 -0
  496. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tomorrow-night-burns.toml +0 -0
  497. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
  498. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tomorrow-night.toml +0 -0
  499. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/tomorrow.toml +0 -0
  500. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/toychest.toml +0 -0
  501. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/treehouse.toml +0 -0
  502. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/twilight.toml +0 -0
  503. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ubuntu.toml +0 -0
  504. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ultradark.toml +0 -0
  505. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/ultraviolent.toml +0 -0
  506. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/underthesea.toml +0 -0
  507. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/unikitty.toml +0 -0
  508. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/urple.toml +0 -0
  509. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/vaughn.toml +0 -0
  510. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/vesper.toml +0 -0
  511. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/vibrantink.toml +0 -0
  512. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/vimbones.toml +0 -0
  513. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/violet-dark.toml +0 -0
  514. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/violet-light.toml +0 -0
  515. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/warmneon.toml +0 -0
  516. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/wez.toml +0 -0
  517. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/whimsy.toml +0 -0
  518. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/wildcherry.toml +0 -0
  519. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/wilmersdorf.toml +0 -0
  520. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/wombat.toml +0 -0
  521. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/wryan.toml +0 -0
  522. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/xcodedark.toml +0 -0
  523. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/xcodedarkhc.toml +0 -0
  524. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/xcodelight.toml +0 -0
  525. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/xcodelighthc.toml +0 -0
  526. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/xcodewwdc.toml +0 -0
  527. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/zenbones-dark.toml +0 -0
  528. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/zenbones-light.toml +0 -0
  529. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/zenbones.toml +0 -0
  530. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/zenburn.toml +0 -0
  531. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/zenburned.toml +0 -0
  532. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/zenwritten-dark.toml +0 -0
  533. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/themes/zenwritten-light.toml +0 -0
  534. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/__init__.py +0 -0
  535. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/__init__.py +0 -0
  536. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/api/__init__.py +0 -0
  537. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/api/agent_management.py +0 -0
  538. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/api/execution.py +0 -0
  539. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/api/flock_management.py +0 -0
  540. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/api/registry_viewer.py +0 -0
  541. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/config.py +0 -0
  542. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/main.py +0 -0
  543. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/models_ui.py +0 -0
  544. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/services/__init__.py +0 -0
  545. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/services/flock_service.py +0 -0
  546. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/templates/theme_mapper.html +0 -0
  547. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/theme_mapper.py +0 -0
  548. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/app/utils.py +0 -0
  549. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/run.py +0 -0
  550. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/static/css/custom.css +0 -0
  551. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/base.html +0 -0
  552. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/flock_editor.html +0 -0
  553. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/index.html +0 -0
  554. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_agent_detail_form.html +0 -0
  555. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_agent_list.html +0 -0
  556. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_agent_manager_view.html +0 -0
  557. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_agent_manager_view_old.html +0 -0
  558. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_agent_tools_checklist.html +0 -0
  559. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_create_flock_form.html +0 -0
  560. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_dashboard_flock_detail.html +0 -0
  561. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_dashboard_flock_file_list.html +0 -0
  562. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_dashboard_flock_properties_preview.html +0 -0
  563. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_dashboard_upload_flock_form.html +0 -0
  564. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_dynamic_input_form_content.html +0 -0
  565. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_env_vars_table.html +0 -0
  566. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_execution_form.html +0 -0
  567. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_execution_view_container.html +0 -0
  568. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_flock_file_list.html +0 -0
  569. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_flock_properties_form.html +0 -0
  570. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_flock_upload_form.html +0 -0
  571. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_header_flock_status.html +0 -0
  572. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_load_manager_view.html +0 -0
  573. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_registry_table.html +0 -0
  574. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_registry_viewer_content.html +0 -0
  575. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_results_display.html +0 -0
  576. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_settings_env_content.html +0 -0
  577. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_settings_theme_content.html +0 -0
  578. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_settings_view.html +0 -0
  579. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_sidebar.html +0 -0
  580. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_structured_data_view.html +0 -0
  581. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/partials/_theme_preview.html +0 -0
  582. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/webapp/templates/registry_viewer.html +0 -0
  583. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/workflow/__init__.py +0 -0
  584. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/workflow/activities.py +0 -0
  585. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/workflow/agent_activities.py +0 -0
  586. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/workflow/agent_execution_activity.py +0 -0
  587. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/workflow/flock_workflow.py +0 -0
  588. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/workflow/temporal_config.py +0 -0
  589. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/src/flock/workflow/temporal_setup.py +0 -0
  590. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/__init__.py +0 -0
  591. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/core/test_flock_batch.py +0 -0
  592. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/core/test_flock_core.py +0 -0
  593. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/serialization/__init__.py +0 -0
  594. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/serialization/test_enhanced_serialization.py +0 -0
  595. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/serialization/test_file_path_serialization.py +0 -0
  596. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/serialization/test_flock_serializer.py +0 -0
  597. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/serialization/test_nested_serialization.py +0 -0
  598. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/tests/serialization/test_yaml_serialization.py +0 -0
  599. {flock_core-0.4.0b38 → flock_core-0.4.0b40}/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.0b38
3
+ Version: 0.4.0b40
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -0,0 +1,37 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Changelog 📝
7
+
8
+ All notable changes to **Flock** will be documented in this file.
9
+
10
+ The format loosely follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and adheres to [Semantic Versioning](https://semver.org/).
11
+
12
+ ## [Unreleased]
13
+
14
+ ### Added
15
+ - Core concepts & component documentation (this PR).
16
+ - Placeholder replacement across docs.
17
+
18
+ ---
19
+
20
+ ## [0.1.0] – 2025-05-07 "Magpie"
21
+
22
+ ### Added
23
+ - Initial public release to PyPI.
24
+ - Declarative agent framework with evaluators, modules, routers.
25
+ - Temporal execution path.
26
+ - CLI & REST API wrappers.
27
+ - Built-in tools: `get_web_content_as_markdown`, Azure Blob helper, markdown utils.
28
+
29
+ ### Changed
30
+ - N/A
31
+
32
+ ### Fixed
33
+ - N/A
34
+
35
+ ---
36
+
37
+ *Older history prior to open-source release is maintained internally.*
@@ -0,0 +1,65 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Contributing Guide 🙌
7
+
8
+ First off, thanks for taking the time to contribute! Flock is still early but we value outside input. We follow the [Contributor Covenant](https://www.contributor-covenant.org/) code of conduct.
9
+
10
+ ---
11
+
12
+ ## 1. Getting Started
13
+
14
+ 1. **Fork** the repo & create your feature branch (`git checkout -b feat/my-awesome-thing`).
15
+ 2. **Install** dev dependencies: `uv pip install -r requirements.txt && uv pip install -r requirements-dev.txt`.
16
+ 3. **Run tests**: `pytest -q` (they should pass before and after your change).
17
+ 4. **Make changes** – keep them atomic and well-documented.
18
+ 5. **Lint & type-check**: `ruff .` and `mypy src/`.
19
+ 6. **Commit** following *Conventional Commits* (`feat:`, `fix:`, `docs:` etc.).
20
+ 7. **Open a PR** against `main`. Include a description, screenshots, and linked issues.
21
+
22
+ ---
23
+
24
+ ## 2. Docs Contributions
25
+
26
+ Docs live under `docs/` and are built with **MkDocs Material**.
27
+
28
+ ```bash
29
+ mkdocs serve # live-reload at http://localhost:8000
30
+ ```
31
+
32
+ * Use American English.
33
+ * Keep sentences short; favour lists & tables.
34
+ * Add code blocks with triple-backticks and language.
35
+
36
+ ---
37
+
38
+ ## 3. Coding Standards
39
+
40
+ * Python `3.10+`. Use type hints everywhere.
41
+ * Follow `ruff` default rules + `black` formatting.
42
+ * Keep imports sorted (`ruff format`).
43
+ * Write **async-friendly** code (non-blocking I/O).
44
+
45
+ ---
46
+
47
+ ## 4. Tests
48
+
49
+ * Place new tests in `tests/` mirroring the package path.
50
+ * Use `pytest` fixtures instead of duplicating setup code.
51
+ * For Temporal code, rely on the *Temporal Test Server* fixture.
52
+
53
+ ---
54
+
55
+ ## 5. Release Process
56
+
57
+ 1. Maintainer bumps version in `pyproject.toml` following *SemVer*.
58
+ 2. Changelog entry added in `docs/about/changelog.md`.
59
+ 3. `uv pip install -e .[all] && pytest`.
60
+ 4. `git tag vX.Y.Z && git push --tags`.
61
+ 5. GitHub Action publishes to PyPI.
62
+
63
+ ---
64
+
65
+ Happy hacking! 🐦
@@ -0,0 +1,82 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Evaluators 🧑‍⚖️
7
+
8
+ Evaluators are responsible for **turning an agent's declarative specification into actual work**. They live inside the agent instance (`agent.evaluator`) and must implement the async method:
9
+
10
+ ```python
11
+ async def evaluate(self, agent: FlockAgent, inputs: dict, tools: list[Callable]) -> dict: ...
12
+ ```
13
+
14
+ The returned dict is validated against the agent's `output` signature.
15
+
16
+ ---
17
+
18
+ ## 1. Built-in Evaluators
19
+
20
+ | Class | Location | Description |
21
+ | ----- | -------- | ----------- |
22
+ | `DeclarativeEvaluator` | `flock.evaluators.declarative` | Default. Generates a prompt from the agent's signatures and calls `litellm`.
23
+ | `DSPyEvaluator` | `flock.evaluators.dspy` | Integrates with [DSPy](https://github.com/stanfordnlp/dspy) for structured prompting & optimisation.
24
+ | `RuleEvaluator` | `flock.evaluators.rule` | Pure-Python rules engine (no LLM). Useful for testing. |
25
+
26
+ ---
27
+
28
+ ## 2. Configuring Evaluators
29
+
30
+ All evaluators accept a `*Config` dataclass (Pydantic model) with relevant fields. Example for Declarative:
31
+
32
+ ```python
33
+ from flock.evaluators.declarative import DeclarativeEvaluator, DeclarativeEvaluatorConfig
34
+
35
+ config = DeclarativeEvaluatorConfig(
36
+ model="anthropic/claude-3-opus",
37
+ temperature=0.2,
38
+ max_tokens=2048,
39
+ stream=True,
40
+ include_thought_process=False,
41
+ use_cache=True,
42
+ )
43
+
44
+ evaluator = DeclarativeEvaluator(name="default", config=config)
45
+ ```
46
+
47
+ You can then inject the evaluator when you instantiate the agent or replace it later:
48
+
49
+ ```python
50
+ agent.evaluator = evaluator # hot-swap!
51
+ ```
52
+
53
+ ---
54
+
55
+ ## 3. Writing a Custom Evaluator
56
+
57
+ 1. Subclass `FlockEvaluator` and optionally declare a `FlockEvaluatorConfig`.
58
+ 2. Implement `async evaluate(self, agent, inputs, tools)`.
59
+ 3. Register with the registry (optional) for serialization:
60
+
61
+ ```python
62
+ from flock.core import flock_component
63
+
64
+ @flock_component
65
+ class MyCoolEvaluator(FlockEvaluator):
66
+ async def evaluate(self, agent, inputs, tools):
67
+ # do stuff…
68
+ return {"answer": "42"}
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 4. Best Practices
74
+
75
+ * Respect the `model` selected on the agent unless your evaluator has a reason to override.
76
+ * Validate inputs early; raise `ValueError` to trigger `on_error` hooks.
77
+ * Make expensive network calls **async** to keep the event loop responsive.
78
+ * Return only the fields declared in the output signature (extra fields are dropped).
79
+
80
+ ---
81
+
82
+ ➡️ Continue to [Modules](modules.md) to see how to augment agent behaviour.
@@ -0,0 +1,43 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Components Overview 🧩
7
+
8
+ Components are the **plug-in** architecture that powers extensibility in Flock. They allow you to add behaviour without rewriting agent code.
9
+
10
+ | Component Type | Purpose | Base Class |
11
+ | -------------- | ------- | ---------- |
12
+ | **Evaluator** | Implements an agent's core logic. Often calls an LLM but could be pure Python. | `FlockEvaluator` |
13
+ | **Module** | Hooks into the agent lifecycle for cross-cutting concerns (metrics, output formatting, memory, etc.). | `FlockModule` |
14
+ | **Tool** | A single callable that an evaluator may invoke to access external functionality (web search, DB query, script execution…). | Registered via `@flock_tool` |
15
+
16
+ Each component type is described in its own page:
17
+
18
+ * [Evaluators](evaluators.md)
19
+ * [Modules](modules.md)
20
+ * [Tools](tools.md)
21
+
22
+ ---
23
+
24
+ ## Version Compatibility
25
+
26
+ All core component base classes follow **Semantic Versioning**. Adding new optional hook methods counts as a *minor* version bump, so custom components will keep working.
27
+
28
+ ---
29
+
30
+ ## Lifecycle Hook Matrix
31
+
32
+ | Stage | Evaluator | Module |
33
+ | ----- | --------- | ------ |
34
+ | `initialize` | ❌ (Evaluator created beforehand) | ✅ |
35
+ | `evaluate` | ✅ | ✅ (wrap/observe) |
36
+ | `terminate` | ❌ | ✅ |
37
+ | `on_error` | ❌ | ✅ |
38
+
39
+ Tools do not participate in hooks; they are invoked directly by the evaluator.
40
+
41
+ ---
42
+
43
+ Continue reading the dedicated pages for implementation details.
@@ -0,0 +1,76 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Modules 🧩
7
+
8
+ Modules let you **augment** agents with additional behaviour without touching their core logic. They follow the classic *aspect-oriented* approach: hook into lifecycle stages and run code *around* the evaluator.
9
+
10
+ ---
11
+
12
+ ## 1. Anatomy
13
+
14
+ ```python
15
+ class MyModule(FlockModule):
16
+ async def initialize(self, agent, inputs, context):
17
+ ... # called before evaluate
18
+
19
+ async def after_evaluate(self, agent, result, context):
20
+ ... # inspect/transform result
21
+
22
+ async def terminate(self, agent, context):
23
+ ... # cleanup
24
+
25
+ async def on_error(self, agent, error, context):
26
+ ... # exception handling
27
+ ```
28
+
29
+ The base class also exposes a `.config` dataclass so users can set parameters declaratively.
30
+
31
+ ---
32
+
33
+ ## 2. Built-in Modules
34
+
35
+ | Module | Purpose |
36
+ | ------ | ------- |
37
+ | `OutputModule` | Pretty-prints results to the console via *Rich*. |
38
+ | `MetricsModule` | Records latency & token metrics, raises alerts. |
39
+ | `MemoryModule` *(WIP)* | Persistent, vectorised memory per agent. |
40
+ | `TracingModule` | Adds extra OpenTelemetry spans/tags. |
41
+
42
+ You attach modules either during construction:
43
+
44
+ ```python
45
+ agent = FlockFactory.create_default_agent(...)
46
+ agent.add_module(OutputModule("output", OutputModuleConfig(render_table=True)))
47
+ ```
48
+
49
+ Or pass them into `FlockAgent(modules={...})` directly.
50
+
51
+ ---
52
+
53
+ ## 3. Ordering
54
+
55
+ Modules run in the order they were added. Use this to your advantage (e.g. log metrics *after* output is printed).
56
+
57
+ ---
58
+
59
+ ## 4. Writing Your Own
60
+
61
+ 1. Subclass `FlockModule`.
62
+ 2. Implement any subset of the lifecycle hooks.
63
+ 3. Optionally create a `FlockModuleConfig` Pydantic model.
64
+ 4. Register via `@flock_component` so it serialises nicely.
65
+
66
+ ---
67
+
68
+ ## 5. Best Practices
69
+
70
+ * Keep modules **stateless** or store state in the provided `context`.
71
+ * Perform long-running or blocking work in the async hooks.
72
+ * Use configurability (`*Config`) to avoid hard-coding behaviour.
73
+
74
+ ---
75
+
76
+ Next up: [Tools](tools.md).
@@ -0,0 +1,66 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Tools 🔧
7
+
8
+ Tools are **single functions** that an evaluator can call to perform tasks the LLM cannot (or should not) handle by itself – e.g. web scraping, database queries, or calling another API.
9
+
10
+ ---
11
+
12
+ ## 1. Defining a Tool
13
+
14
+ ```python
15
+ from flock.core import flock_tool
16
+
17
+ @flock_tool
18
+ def get_web_content_as_markdown(url: str) -> str:
19
+ """Fetch a web page and convert it to Markdown."""
20
+ import requests, markdownify # lightweight example
21
+ html = requests.get(url, timeout=10).text
22
+ return markdownify.markdownify(html)
23
+ ```
24
+
25
+ Decorating with `@flock_tool` registers the function in the **global registry** so any agent can reference it by symbol.
26
+
27
+ ---
28
+
29
+ ## 2. Using Tools in Agents
30
+
31
+ ```python
32
+ agent = FlockFactory.create_default_agent(
33
+ name="page_analyser",
34
+ input="url: str",
35
+ output="title: str, headings: list[str]",
36
+ tools=[get_web_content_as_markdown],
37
+ )
38
+ ```
39
+
40
+ Inside your evaluator you simply call the function:
41
+
42
+ ```python
43
+ content = await tools.get_web_content_as_markdown(inputs["url"])
44
+ ```
45
+
46
+ The DeclarativeEvaluator automatically injects **function docs** into the prompt so the LLM knows when/how to call them.
47
+
48
+ ---
49
+
50
+ ## 3. Tool Signature Rules
51
+
52
+ * Use **type hints** – they become part of the prompt + allow runtime validation.
53
+ * Keep I/O **JSON-serialisable**; complex objects should be reduced to primitives.
54
+ * Raise normal Python exceptions; they propagate to `on_error`.
55
+
56
+ ---
57
+
58
+ ## 4. Security Considerations
59
+
60
+ * Be cautious when exposing file-system or shell operations.
61
+ * Prefer *allow-lists* over *deny-lists* when building wrappers.
62
+ * Use the `enable_temporal` sandbox if you need strict isolation.
63
+
64
+ ---
65
+
66
+ That wraps up the components trilogy! Head over to [Deployment](../deployment/index.md) to see how to ship your flock.
@@ -0,0 +1,118 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Flock Agents 🐦
7
+
8
+ A **FlockAgent** is the fundamental unit of work in the framework. Each agent is *declarative* – you specify **what** goes in, **what** should come out, and (optionally) some high-level behavioural hints. Flock takes care of turning that declaration into concrete logic at runtime.
9
+
10
+ ---
11
+
12
+ ## 1. Anatomy of an Agent
13
+
14
+ ```python
15
+ from flock.core import FlockAgent, FlockFactory
16
+
17
+ agent = FlockFactory.create_default_agent(
18
+ name="movie_pitcher",
19
+ description="Creates a fun movie idea for a given topic",
20
+ input="topic: str | The central subject of the movie",
21
+ output=(
22
+ "title: str | CAPSLOCK title, "
23
+ "runtime: int | Minutes, "
24
+ "synopsis: str | Over-the-top summary"
25
+ ),
26
+ )
27
+ ```
28
+
29
+ ### Key Fields
30
+
31
+ | Field | Type | Intent |
32
+ | ----- | ---- | ------ |
33
+ | `name` | `str` | Unique identifier; becomes the registry key. |
34
+ | `model` | `str | None` | Override the default model for this agent. |
35
+ | `description` | `str \| Callable` | High-level instructions; merged into the system prompt. |
36
+ | `input` | `SignatureType` | Contract for accepted data. |
37
+ | `output` | `SignatureType` | Contract for produced data. |
38
+ | `tools` | `list[Callable]` | Extra callables the evaluator may invoke. |
39
+ | `evaluator` | `FlockEvaluator` | Implementation of the agent's logic (defaults to DeclarativeEvaluator in `FlockFactory`). |
40
+ | `handoff_router` | `FlockRouter` | Optional router that chooses the next agent. |
41
+ | `modules` | `dict[str, FlockModule]` | Plug-in behaviours (metrics, memory, etc.). |
42
+
43
+ All these fields are **Pydantic-validated** and fully serialisable via `Serializable`.
44
+
45
+ ---
46
+
47
+ ## 2. Signatures: Input & Output
48
+
49
+ Signatures are written in a compact mini-DSL:
50
+
51
+ * `field` – just a name (type & description inferred by the LLM).
52
+ * `field: type` – adds a type hint.
53
+ * `field: type | description` – adds a natural-language description.
54
+ * Multiple fields are comma-separated.
55
+ * Lists/dicts follow normal Python typing: `list[dict[str, str]]`.
56
+
57
+ Alternatively, pass a **Pydantic model** for static typing:
58
+
59
+ ```python
60
+ from pydantic import BaseModel
61
+
62
+ class SearchIn(BaseModel):
63
+ query: str
64
+ top_k: int = 5
65
+
66
+ class SearchOut(BaseModel):
67
+ documents: list[str]
68
+
69
+ search_agent = FlockAgent(
70
+ name="searcher",
71
+ input=SearchIn,
72
+ output=SearchOut,
73
+ evaluator=CustomSearchEvaluator(...),
74
+ )
75
+ ```
76
+
77
+ ---
78
+
79
+ ## 3. Lifecycle
80
+
81
+ ```mermaid
82
+ flowchart LR
83
+ A[initialize] --> B[evaluate]
84
+ B --> C[terminate]
85
+ B -. error .-> D[on_error]
86
+ ```
87
+
88
+ 1. **initialize** – prepare resources (DB connection, load embeddings, etc.).
89
+ 2. **evaluate** – main logic executed by the evaluator.
90
+ 3. **terminate** – clean-up, persist metrics.
91
+ 4. **on_error** – triggered if any previous stage raises.
92
+
93
+ Modules can hook into each stage to extend behaviour.
94
+
95
+ ---
96
+
97
+ ## 4. Attaching Modules & Routers
98
+
99
+ ```python
100
+ from flock.modules.output import OutputModule, OutputModuleConfig
101
+ from flock.routers.agent import AgentRouter, AgentRouterConfig
102
+
103
+ agent.add_module(OutputModule("output", OutputModuleConfig(render_table=True)))
104
+ agent.handoff_router = AgentRouter("router", AgentRouterConfig())
105
+ ```
106
+
107
+ ---
108
+
109
+ ## 5. Best Practices
110
+
111
+ * Keep `description` concise; use the signature for fine-grained control.
112
+ * Prefer Pydantic models for complex schemas – you get validation for free.
113
+ * Separate concerns: evaluator handles *logic*, modules handle *cross-cutting* tasks.
114
+ * Register reusable tools with `@flock_tool` so any agent can adopt them.
115
+
116
+ ---
117
+
118
+ **Next:** Learn *why* this declarative approach works in [Declarative Programming](declarative.md).
@@ -0,0 +1,121 @@
1
+ ---
2
+ hide: # Optional: Hide table of contents on simple pages
3
+ - toc
4
+ ---
5
+
6
+ # Declarative Programming in Flock ✨
7
+
8
+ Most frameworks ask you to write long, brittle *prompts* or imperative code that walks the model through every step. **Flock** flips this on its head: you describe the *contract*, not the procedure. The evaluator turns that contract into the right LLM calls at run-time.
9
+
10
+ ---
11
+
12
+ ## 1. Why Declarative?
13
+
14
+ 1. **Clarity** – A two-line signature communicates intent faster than a 200-line prompt.
15
+ 2. **Reusability** – When you change models (say GPT-4 → Claude) you rarely touch the agent spec.
16
+ 3. **Validation** – Flock can automatically type-check inputs/outputs, catch errors early, and generate OpenAPI docs.
17
+ 4. **Optimisation** – The framework can inject extra instructions (few-shot examples, chain-of-thought, etc.) without polluting user code.
18
+
19
+ ---
20
+
21
+ ## 2. The Mini-DSL
22
+
23
+ Signatures are plain strings with optional type hints & descriptions:
24
+
25
+ ```text
26
+ "query: str | The search query, top_k: int | # documents to retrieve"
27
+ ```
28
+
29
+ Behind the scenes Flock parses this into a structured schema and merges it into a **system prompt** similar to:
30
+
31
+ ```text
32
+ You are `search_agent`.
33
+ You must respond with a JSON object matching the following schema:
34
+ {
35
+ "documents": list[str]
36
+ }
37
+
38
+ Guidelines:
39
+ - The `documents` field must contain exactly `top_k` results.
40
+ - ...additional instructions from modules/evaluator...
41
+ ```
42
+
43
+ The spec is also turned into **Pydantic** models at runtime so the response is validated before it reaches your code.
44
+
45
+ ---
46
+
47
+ ## 3. Dynamic Signatures
48
+
49
+ Sometimes the shape depends on runtime settings. Provide a **callable** that returns a signature string or model:
50
+
51
+ ```python
52
+ from datetime import date
53
+
54
+ def invoice_out():
55
+ year = date.today().year
56
+ return (
57
+ f"number: str | Invoice number {year}-****, "
58
+ "amount: float, "
59
+ "currency: str, "
60
+ "items: list[str]"
61
+ )
62
+
63
+ agent = FlockAgent(
64
+ name="invoicer",
65
+ input="order_id: str",
66
+ output=invoice_out,
67
+ evaluator=InvoiceEvaluator(...),
68
+ )
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 4. Going Fully-Typed with Pydantic
74
+
75
+ If you prefer proper Python types (IDE autocompletion, mypy, etc.), define models:
76
+
77
+ ```python
78
+ class OrderIn(BaseModel):
79
+ order_id: str
80
+ include_discount: bool = False
81
+
82
+ class InvoiceOut(BaseModel):
83
+ number: str
84
+ amount: float
85
+ currency: str
86
+ items: list[str]
87
+
88
+ agent = FlockAgent(
89
+ name="invoicer",
90
+ input=OrderIn,
91
+ output=InvoiceOut,
92
+ evaluator=InvoiceEvaluator(...),
93
+ )
94
+ ```
95
+
96
+ Flock will **not** expose these classes to the LLM (that would leak Python internals). Instead it converts them to an equivalent JSON schema.
97
+
98
+ ---
99
+
100
+ ## 5. Prompt Composition Pipeline
101
+
102
+ 1. **Base system prompt** – set by evaluator (`DeclarativeEvaluator` by default).
103
+ 2. **Agent description** – `agent.description` text.
104
+ 3. **Input / output schema** – rendered as JSON spec + additional guidance.
105
+ 4. **Module injections** – e.g. `OutputModule` may request thought-process streaming.
106
+ 5. **Tool docs** – For each tool, a short description and parameter list is appended.
107
+
108
+ The final prompt is cached (unless `use_cache=False`) for efficiency.
109
+
110
+ ---
111
+
112
+ ## 6. Limits & Tips
113
+
114
+ * Keep field names **snake_case** – easier to parse.
115
+ * Large nested objects are fine but remember token costs.
116
+ * Use `include_thought_process=True` in `DeclarativeEvaluatorConfig` if you need chain-of-thought output.
117
+ * The more explicit the types/descriptions, the more reliable the model's output.
118
+
119
+ ---
120
+
121
+ **Next:** See how agents chain together in [Workflows](workflows.md).